| Línea 82... | Línea 82... | 
          
            | 82 |         '\batchmode', '\read', '\write', 'csname', '\newhelp', '\uppercase',
 | 82 |         '\batchmode', '\read', '\write', 'csname', '\newhelp', '\uppercase',
 | 
          
            | 83 |         '\lowercase', '\relax', '\aftergroup',
 | 83 |         '\lowercase', '\relax', '\aftergroup',
 | 
          
            | 84 |         '\afterassignment', '\expandafter', '\noexpand', '\special',
 | 84 |         '\afterassignment', '\expandafter', '\noexpand', '\special',
 | 
          
            | 85 |         '\let', '\futurelet', '\else', '\fi', '\chardef', '\makeatletter', '\afterground',
 | 85 |         '\let', '\futurelet', '\else', '\fi', '\chardef', '\makeatletter', '\afterground',
 | 
          
            | 86 |         '\noexpand', '\line', '\mathcode', '\item', '\section', '\mbox', '\declarerobustcommand',
 | 86 |         '\noexpand', '\line', '\mathcode', '\item', '\section', '\mbox', '\declarerobustcommand',
 | 
          
            | 87 |         '\ExplSyntaxOn', '\pdffiledump',
 | 87 |         '\ExplSyntaxOn', '\pdffiledump', '\mathtex',
 | 
          
            | 88 |     ];
 | 88 |     ];
 | 
          
            | Línea 89... | Línea 89... | 
          
            | 89 |  
 | 89 |  
 | 
          
            | Línea -... | Línea 90... | 
          
            | - |   | 90 |     $allowlist = ['inputenc'];
 | 
          
            | - |   | 91 |  
 | 
          
            | - |   | 92 |     // Add encoded backslash (\) versions of backslashed items to deny list.
 | 
          
            | - |   | 93 |     $encodedslashdenylist = array_map(function($value) {
 | 
          
            | - |   | 94 |         $encoded = str_replace('\\', '\', $value);
 | 
          
            | - |   | 95 |         // Return an encoded slash version if a slash is found, otherwise null so we can filter it off.
 | 
          
            | - |   | 96 |         return $encoded != $value ? $encoded : null;
 | 
          
            | - |   | 97 |     }, $denylist);
 | 
          
            | - |   | 98 |     $encodedslashdenylist = array_filter($encodedslashdenylist);
 | 
          
            | 90 |     $allowlist = ['inputenc'];
 | 99 |     $denylist = array_merge($denylist, $encodedslashdenylist);
 | 
          
            | 91 |  
 | 100 |  
 | 
          
            | 92 |     // Prepare the denylist for regular expression.
 | 101 |     // Prepare the denylist for regular expression.
 | 
          
            | 93 |     $denylist = array_map(function($value){
 | 102 |     $denylist = array_map(function($value){
 | 
          
            | Línea 100... | Línea 109... | 
          
            | 100 |     }, $allowlist);
 | 109 |     }, $allowlist);
 | 
          
            | Línea 101... | Línea 110... | 
          
            | 101 |  
 | 110 |  
 | 
          
            | 102 |     // First, mangle all denied words.
 | 111 |     // First, mangle all denied words.
 | 
          
            | 103 |     $texexp = preg_replace_callback($denylist,
 | 112 |     $texexp = preg_replace_callback($denylist,
 | 
          
            | - |   | 113 |         function($matches) {
 | 
          
            | - |   | 114 |             // Remove backslashes to make commands impotent.
 | 
          
            | 104 |         function($matches) {
 | 115 |             $noslashes = str_replace('\\', '', $matches[0]);
 | 
          
            | 105 |             return 'forbiddenkeyword_' . $matches[0];
 | 116 |             return 'forbiddenkeyword_' . $noslashes;
 | 
          
            | 106 |         },
 | 117 |         },
 | 
          
            | 107 |         $texexp
 | 118 |         $texexp
 | 
          
            | Línea 108... | Línea 119... | 
          
            | 108 |     );
 | 119 |     );
 |