summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorXtreak <tir.karthi@gmail.com>2019-12-15 23:34:12 (GMT)
committerNick Coghlan <ncoghlan@gmail.com>2019-12-15 23:34:12 (GMT)
commit79f02fee1a542c440fd906fd54154c73fc0f8235 (patch)
tree33368ca08ce4e6560eccfcf0fa173a2ad19344e1
parentd587272fe3b0fcad2f23a490e76f9f82ca7d64ef (diff)
downloadcpython-79f02fee1a542c440fd906fd54154c73fc0f8235.zip
cpython-79f02fee1a542c440fd906fd54154c73fc0f8235.tar.gz
cpython-79f02fee1a542c440fd906fd54154c73fc0f8235.tar.bz2
bpo-39033: Fix NameError in zipimport during hash validation (GH-17588)
Patch by Karthikeyan Singaravelan.
-rw-r--r--Lib/test/test_zipimport.py16
-rw-r--r--Lib/zipimport.py2
-rw-r--r--Misc/ACKS1
-rw-r--r--Misc/NEWS.d/next/Library/2019-12-13-18-54-49.bpo-39033.cepuyD.rst1
-rw-r--r--Python/importlib_zipimport.h535
5 files changed, 286 insertions, 269 deletions
diff --git a/Lib/test/test_zipimport.py b/Lib/test/test_zipimport.py
index d4f619e..2af8689 100644
--- a/Lib/test/test_zipimport.py
+++ b/Lib/test/test_zipimport.py
@@ -6,6 +6,7 @@ import importlib.util
import struct
import time
import unittest
+import unittest.mock
from test import support
@@ -204,6 +205,21 @@ class UncompressedZipImportTestCase(ImportHooksBaseTestCase):
self.assertEqual(mod.state, 'old')
self.doTest(None, files, TESTMOD, call=check)
+ @unittest.mock.patch('_imp.check_hash_based_pycs', 'always')
+ def test_checked_hash_based_change_pyc(self):
+ source = b"state = 'old'"
+ source_hash = importlib.util.source_hash(source)
+ bytecode = importlib._bootstrap_external._code_to_hash_pyc(
+ compile(source, "???", "exec"),
+ source_hash,
+ False,
+ )
+ files = {TESTMOD + ".py": (NOW, "state = 'new'"),
+ TESTMOD + ".pyc": (NOW - 20, bytecode)}
+ def check(mod):
+ self.assertEqual(mod.state, 'new')
+ self.doTest(None, files, TESTMOD, call=check)
+
def testEmptyPy(self):
files = {TESTMOD + ".py": (NOW, "")}
self.doTest(None, files, TESTMOD)
diff --git a/Lib/zipimport.py b/Lib/zipimport.py
index fd917c1..5ef0a17 100644
--- a/Lib/zipimport.py
+++ b/Lib/zipimport.py
@@ -608,7 +608,7 @@ def _unmarshal_code(self, pathname, fullpath, fullname, data):
)
try:
- _boostrap_external._validate_hash_pyc(
+ _bootstrap_external._validate_hash_pyc(
data, source_hash, fullname, exc_details)
except ImportError:
return None
diff --git a/Misc/ACKS b/Misc/ACKS
index 253e2f6..5f42760 100644
--- a/Misc/ACKS
+++ b/Misc/ACKS
@@ -1901,3 +1901,4 @@ Tim Hopper
Dan Lidral-Porter
Ngalim Siregar
Tim Gates
+Karthikeyan Singaravelan \ No newline at end of file
diff --git a/Misc/NEWS.d/next/Library/2019-12-13-18-54-49.bpo-39033.cepuyD.rst b/Misc/NEWS.d/next/Library/2019-12-13-18-54-49.bpo-39033.cepuyD.rst
new file mode 100644
index 0000000..3dee3c0
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/2019-12-13-18-54-49.bpo-39033.cepuyD.rst
@@ -0,0 +1 @@
+Fix :exc:`NameError` in :mod:`zipimport`. Patch by Karthikeyan Singaravelan.
diff --git a/Python/importlib_zipimport.h b/Python/importlib_zipimport.h
index 21633ac..a05a7a3 100644
--- a/Python/importlib_zipimport.h
+++ b/Python/importlib_zipimport.h
@@ -795,17 +795,17 @@ const unsigned char _Py_M__zipimport[] = {
106,4,100,5,107,3,114,180,124,8,115,104,116,3,106,4,
100,6,107,2,114,180,116,5,124,0,124,2,131,2,125,9,
124,9,100,0,107,9,114,180,116,3,160,6,116,0,106,7,
- 124,9,161,2,125,10,122,20,116,8,160,9,124,4,124,10,
+ 124,9,161,2,125,10,122,20,116,0,160,8,124,4,124,10,
124,3,124,5,161,4,1,0,87,0,110,22,4,0,116,2,
107,10,114,178,1,0,1,0,1,0,89,0,100,0,83,0,
- 48,0,110,84,116,10,124,0,124,2,131,2,92,2,125,11,
- 125,12,124,11,144,1,114,10,116,11,116,12,124,4,100,7,
- 100,8,133,2,25,0,131,1,124,11,131,2,114,246,116,12,
+ 48,0,110,84,116,9,124,0,124,2,131,2,92,2,125,11,
+ 125,12,124,11,144,1,114,10,116,10,116,11,124,4,100,7,
+ 100,8,133,2,25,0,131,1,124,11,131,2,114,246,116,11,
124,4,100,8,100,9,133,2,25,0,131,1,124,12,107,3,
- 144,1,114,10,116,13,160,14,100,10,124,3,155,2,157,2,
- 161,1,1,0,100,0,83,0,116,15,160,16,124,4,100,9,
- 100,0,133,2,25,0,161,1,125,13,116,17,124,13,116,18,
- 131,2,144,1,115,56,116,19,100,11,124,1,155,2,100,12,
+ 144,1,114,10,116,12,160,13,100,10,124,3,155,2,157,2,
+ 161,1,1,0,100,0,83,0,116,14,160,15,124,4,100,9,
+ 100,0,133,2,25,0,161,1,125,13,116,16,124,13,116,17,
+ 131,2,144,1,115,56,116,18,100,11,124,1,155,2,100,12,
157,3,131,1,130,1,124,13,83,0,41,13,78,41,2,114,
59,0,0,0,114,13,0,0,0,114,5,0,0,0,114,0,
0,0,0,114,86,0,0,0,90,5,110,101,118,101,114,90,
@@ -814,271 +814,270 @@ const unsigned char _Py_M__zipimport[] = {
32,105,115,32,115,116,97,108,101,32,102,111,114,32,122,16,
99,111,109,112,105,108,101,100,32,109,111,100,117,108,101,32,
122,21,32,105,115,32,110,111,116,32,97,32,99,111,100,101,
- 32,111,98,106,101,99,116,41,20,114,21,0,0,0,90,13,
+ 32,111,98,106,101,99,116,41,19,114,21,0,0,0,90,13,
95,99,108,97,115,115,105,102,121,95,112,121,99,114,75,0,
0,0,218,4,95,105,109,112,90,21,99,104,101,99,107,95,
104,97,115,104,95,98,97,115,101,100,95,112,121,99,115,218,
15,95,103,101,116,95,112,121,99,95,115,111,117,114,99,101,
218,11,115,111,117,114,99,101,95,104,97,115,104,90,17,95,
82,65,87,95,77,65,71,73,67,95,78,85,77,66,69,82,
- 90,18,95,98,111,111,115,116,114,97,112,95,101,120,116,101,
- 114,110,97,108,90,18,95,118,97,108,105,100,97,116,101,95,
- 104,97,115,104,95,112,121,99,218,29,95,103,101,116,95,109,
- 116,105,109,101,95,97,110,100,95,115,105,122,101,95,111,102,
- 95,115,111,117,114,99,101,114,147,0,0,0,114,2,0,0,
- 0,114,76,0,0,0,114,77,0,0,0,218,7,109,97,114,
- 115,104,97,108,90,5,108,111,97,100,115,114,15,0,0,0,
- 218,10,95,99,111,100,101,95,116,121,112,101,218,9,84,121,
- 112,101,69,114,114,111,114,41,14,114,32,0,0,0,114,53,
- 0,0,0,114,63,0,0,0,114,38,0,0,0,114,126,0,
- 0,0,90,11,101,120,99,95,100,101,116,97,105,108,115,114,
- 129,0,0,0,90,10,104,97,115,104,95,98,97,115,101,100,
- 90,12,99,104,101,99,107,95,115,111,117,114,99,101,90,12,
- 115,111,117,114,99,101,95,98,121,116,101,115,114,150,0,0,
- 0,90,12,115,111,117,114,99,101,95,109,116,105,109,101,90,
- 11,115,111,117,114,99,101,95,115,105,122,101,114,46,0,0,
- 0,114,9,0,0,0,114,9,0,0,0,114,10,0,0,0,
- 218,15,95,117,110,109,97,114,115,104,97,108,95,99,111,100,
- 101,75,2,0,0,115,88,0,0,0,0,2,2,1,2,254,
- 6,5,2,1,18,1,14,1,8,2,12,1,4,1,12,1,
- 10,1,2,255,2,1,8,255,2,2,10,1,8,1,4,1,
- 4,1,2,254,4,5,2,1,4,1,2,0,2,0,2,0,
- 2,255,8,2,14,1,10,3,8,255,6,3,6,3,22,1,
- 18,255,4,2,4,1,8,255,4,2,4,2,18,1,12,1,
- 16,1,114,155,0,0,0,99,1,0,0,0,0,0,0,0,
- 0,0,0,0,1,0,0,0,4,0,0,0,67,0,0,0,
- 115,28,0,0,0,124,0,160,0,100,1,100,2,161,2,125,
- 0,124,0,160,0,100,3,100,2,161,2,125,0,124,0,83,
- 0,41,4,78,115,2,0,0,0,13,10,243,1,0,0,0,
- 10,243,1,0,0,0,13,41,1,114,19,0,0,0,41,1,
- 218,6,115,111,117,114,99,101,114,9,0,0,0,114,9,0,
- 0,0,114,10,0,0,0,218,23,95,110,111,114,109,97,108,
- 105,122,101,95,108,105,110,101,95,101,110,100,105,110,103,115,
- 126,2,0,0,115,6,0,0,0,0,1,12,1,12,1,114,
- 159,0,0,0,99,2,0,0,0,0,0,0,0,0,0,0,
- 0,2,0,0,0,6,0,0,0,67,0,0,0,115,24,0,
- 0,0,116,0,124,1,131,1,125,1,116,1,124,1,124,0,
- 100,1,100,2,100,3,141,4,83,0,41,4,78,114,74,0,
- 0,0,84,41,1,90,12,100,111,110,116,95,105,110,104,101,
- 114,105,116,41,2,114,159,0,0,0,218,7,99,111,109,112,
- 105,108,101,41,2,114,53,0,0,0,114,158,0,0,0,114,
- 9,0,0,0,114,9,0,0,0,114,10,0,0,0,218,15,
- 95,99,111,109,112,105,108,101,95,115,111,117,114,99,101,133,
- 2,0,0,115,4,0,0,0,0,1,8,1,114,161,0,0,
- 0,99,2,0,0,0,0,0,0,0,0,0,0,0,2,0,
- 0,0,11,0,0,0,67,0,0,0,115,68,0,0,0,116,
- 0,160,1,124,0,100,1,63,0,100,2,23,0,124,0,100,
- 3,63,0,100,4,64,0,124,0,100,5,64,0,124,1,100,
- 6,63,0,124,1,100,3,63,0,100,7,64,0,124,1,100,
- 5,64,0,100,8,20,0,100,9,100,9,100,9,102,9,161,
- 1,83,0,41,10,78,233,9,0,0,0,105,188,7,0,0,
- 233,5,0,0,0,233,15,0,0,0,233,31,0,0,0,233,
- 11,0,0,0,233,63,0,0,0,114,86,0,0,0,114,14,
- 0,0,0,41,2,114,131,0,0,0,90,6,109,107,116,105,
- 109,101,41,2,218,1,100,114,138,0,0,0,114,9,0,0,
- 0,114,9,0,0,0,114,10,0,0,0,218,14,95,112,97,
- 114,115,101,95,100,111,115,116,105,109,101,139,2,0,0,115,
- 22,0,0,0,0,1,4,1,10,1,10,1,6,1,6,1,
- 10,1,10,1,2,0,2,0,2,249,114,169,0,0,0,99,
- 2,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,
- 10,0,0,0,67,0,0,0,115,116,0,0,0,122,82,124,
- 1,100,1,100,0,133,2,25,0,100,2,107,6,115,22,74,
- 0,130,1,124,1,100,0,100,1,133,2,25,0,125,1,124,
- 0,106,0,124,1,25,0,125,2,124,2,100,3,25,0,125,
- 3,124,2,100,4,25,0,125,4,124,2,100,5,25,0,125,
- 5,116,1,124,4,124,3,131,2,124,5,102,2,87,0,83,
- 0,4,0,116,2,116,3,116,4,102,3,107,10,114,110,1,
- 0,1,0,1,0,89,0,100,6,83,0,48,0,100,0,83,
- 0,41,7,78,114,14,0,0,0,169,2,218,1,99,218,1,
- 111,114,163,0,0,0,233,6,0,0,0,233,3,0,0,0,
- 41,2,114,0,0,0,0,114,0,0,0,0,41,5,114,28,
- 0,0,0,114,169,0,0,0,114,26,0,0,0,218,10,73,
- 110,100,101,120,69,114,114,111,114,114,154,0,0,0,41,6,
- 114,32,0,0,0,114,13,0,0,0,114,54,0,0,0,114,
- 131,0,0,0,114,132,0,0,0,90,17,117,110,99,111,109,
- 112,114,101,115,115,101,100,95,115,105,122,101,114,9,0,0,
- 0,114,9,0,0,0,114,10,0,0,0,114,151,0,0,0,
- 152,2,0,0,115,20,0,0,0,0,1,2,2,20,1,12,
- 1,10,3,8,1,8,1,8,1,16,1,20,1,114,151,0,
- 0,0,99,2,0,0,0,0,0,0,0,0,0,0,0,3,
- 0,0,0,8,0,0,0,67,0,0,0,115,86,0,0,0,
- 124,1,100,1,100,0,133,2,25,0,100,2,107,6,115,20,
- 74,0,130,1,124,1,100,0,100,1,133,2,25,0,125,1,
- 122,14,124,0,106,0,124,1,25,0,125,2,87,0,110,22,
- 4,0,116,1,107,10,114,68,1,0,1,0,1,0,89,0,
- 100,0,83,0,48,0,116,2,124,0,106,3,124,2,131,2,
- 83,0,100,0,83,0,41,3,78,114,14,0,0,0,114,170,
- 0,0,0,41,4,114,28,0,0,0,114,26,0,0,0,114,
- 52,0,0,0,114,29,0,0,0,41,3,114,32,0,0,0,
- 114,13,0,0,0,114,54,0,0,0,114,9,0,0,0,114,
- 9,0,0,0,114,10,0,0,0,114,149,0,0,0,171,2,
- 0,0,115,14,0,0,0,0,2,20,1,12,2,2,1,14,
- 1,14,1,8,2,114,149,0,0,0,99,2,0,0,0,0,
- 0,0,0,0,0,0,0,11,0,0,0,9,0,0,0,67,
- 0,0,0,115,198,0,0,0,116,0,124,0,124,1,131,2,
- 125,2,116,1,68,0,93,160,92,3,125,3,125,4,125,5,
- 124,2,124,3,23,0,125,6,116,2,106,3,100,1,124,0,
- 106,4,116,5,124,6,100,2,100,3,141,5,1,0,122,14,
- 124,0,106,6,124,6,25,0,125,7,87,0,110,20,4,0,
- 116,7,107,10,114,88,1,0,1,0,1,0,89,0,113,14,
- 48,0,124,7,100,4,25,0,125,8,116,8,124,0,106,4,
- 124,7,131,2,125,9,124,4,114,132,116,9,124,0,124,8,
- 124,6,124,1,124,9,131,5,125,10,110,10,116,10,124,8,
- 124,9,131,2,125,10,124,10,100,0,107,8,114,152,113,14,
- 124,7,100,4,25,0,125,8,124,10,124,5,124,8,102,3,
- 2,0,1,0,83,0,113,14,116,11,100,5,124,1,155,2,
- 157,2,124,1,100,6,141,2,130,1,100,0,83,0,41,7,
- 78,122,13,116,114,121,105,110,103,32,123,125,123,125,123,125,
- 114,86,0,0,0,41,1,90,9,118,101,114,98,111,115,105,
- 116,121,114,0,0,0,0,114,57,0,0,0,114,58,0,0,
- 0,41,12,114,36,0,0,0,114,89,0,0,0,114,76,0,
- 0,0,114,77,0,0,0,114,29,0,0,0,114,20,0,0,
- 0,114,28,0,0,0,114,26,0,0,0,114,52,0,0,0,
- 114,155,0,0,0,114,161,0,0,0,114,3,0,0,0,41,
- 11,114,32,0,0,0,114,38,0,0,0,114,13,0,0,0,
- 114,90,0,0,0,114,91,0,0,0,114,47,0,0,0,114,
- 63,0,0,0,114,54,0,0,0,114,40,0,0,0,114,126,
- 0,0,0,114,46,0,0,0,114,9,0,0,0,114,9,0,
- 0,0,114,10,0,0,0,114,44,0,0,0,186,2,0,0,
- 115,36,0,0,0,0,1,10,1,14,1,8,1,22,1,2,
- 1,14,1,14,1,6,2,8,1,12,1,4,1,18,2,10,
- 1,8,3,2,1,8,1,16,2,114,44,0,0,0,99,0,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,
- 0,0,0,64,0,0,0,115,60,0,0,0,101,0,90,1,
- 100,0,90,2,100,1,90,3,100,2,90,4,100,3,100,4,
- 132,0,90,5,100,5,100,6,132,0,90,6,100,7,100,8,
- 132,0,90,7,100,9,100,10,132,0,90,8,100,11,100,12,
- 132,0,90,9,100,13,83,0,41,14,114,80,0,0,0,122,
- 165,80,114,105,118,97,116,101,32,99,108,97,115,115,32,117,
- 115,101,100,32,116,111,32,115,117,112,112,111,114,116,32,90,
- 105,112,73,109,112,111,114,116,46,103,101,116,95,114,101,115,
- 111,117,114,99,101,95,114,101,97,100,101,114,40,41,46,10,
- 10,32,32,32,32,84,104,105,115,32,99,108,97,115,115,32,
- 105,115,32,97,108,108,111,119,101,100,32,116,111,32,114,101,
- 102,101,114,101,110,99,101,32,97,108,108,32,116,104,101,32,
- 105,110,110,97,114,100,115,32,97,110,100,32,112,114,105,118,
- 97,116,101,32,112,97,114,116,115,32,111,102,10,32,32,32,
- 32,116,104,101,32,122,105,112,105,109,112,111,114,116,101,114,
- 46,10,32,32,32,32,70,99,3,0,0,0,0,0,0,0,
- 0,0,0,0,3,0,0,0,2,0,0,0,67,0,0,0,
- 115,16,0,0,0,124,1,124,0,95,0,124,2,124,0,95,
- 1,100,0,83,0,114,88,0,0,0,41,2,114,4,0,0,
- 0,114,38,0,0,0,41,3,114,32,0,0,0,114,4,0,
- 0,0,114,38,0,0,0,114,9,0,0,0,114,9,0,0,
- 0,114,10,0,0,0,114,34,0,0,0,220,2,0,0,115,
- 4,0,0,0,0,1,6,1,122,33,95,90,105,112,73,109,
- 112,111,114,116,82,101,115,111,117,114,99,101,82,101,97,100,
- 101,114,46,95,95,105,110,105,116,95,95,99,2,0,0,0,
- 0,0,0,0,0,0,0,0,5,0,0,0,8,0,0,0,
- 67,0,0,0,115,92,0,0,0,124,0,106,0,160,1,100,
- 1,100,2,161,2,125,2,124,2,155,0,100,2,124,1,155,
- 0,157,3,125,3,100,3,100,4,108,2,109,3,125,4,1,
- 0,122,18,124,4,124,0,106,4,160,5,124,3,161,1,131,
- 1,87,0,83,0,4,0,116,6,107,10,114,86,1,0,1,
- 0,1,0,116,7,124,3,131,1,130,1,89,0,110,2,48,
- 0,100,0,83,0,41,5,78,114,85,0,0,0,114,109,0,
- 0,0,114,0,0,0,0,41,1,218,7,66,121,116,101,115,
- 73,79,41,8,114,38,0,0,0,114,19,0,0,0,90,2,
- 105,111,114,176,0,0,0,114,4,0,0,0,114,55,0,0,
- 0,114,22,0,0,0,218,17,70,105,108,101,78,111,116,70,
- 111,117,110,100,69,114,114,111,114,41,5,114,32,0,0,0,
- 218,8,114,101,115,111,117,114,99,101,218,16,102,117,108,108,
- 110,97,109,101,95,97,115,95,112,97,116,104,114,13,0,0,
- 0,114,176,0,0,0,114,9,0,0,0,114,9,0,0,0,
- 114,10,0,0,0,218,13,111,112,101,110,95,114,101,115,111,
- 117,114,99,101,224,2,0,0,115,14,0,0,0,0,1,14,
- 1,14,1,12,1,2,1,18,1,14,1,122,38,95,90,105,
- 112,73,109,112,111,114,116,82,101,115,111,117,114,99,101,82,
- 101,97,100,101,114,46,111,112,101,110,95,114,101,115,111,117,
- 114,99,101,99,2,0,0,0,0,0,0,0,0,0,0,0,
- 2,0,0,0,1,0,0,0,67,0,0,0,115,8,0,0,
- 0,116,0,130,1,100,0,83,0,114,88,0,0,0,41,1,
- 114,177,0,0,0,41,2,114,32,0,0,0,114,178,0,0,
- 0,114,9,0,0,0,114,9,0,0,0,114,10,0,0,0,
- 218,13,114,101,115,111,117,114,99,101,95,112,97,116,104,233,
- 2,0,0,115,2,0,0,0,0,4,122,38,95,90,105,112,
- 73,109,112,111,114,116,82,101,115,111,117,114,99,101,82,101,
- 97,100,101,114,46,114,101,115,111,117,114,99,101,95,112,97,
- 116,104,99,2,0,0,0,0,0,0,0,0,0,0,0,4,
- 0,0,0,8,0,0,0,67,0,0,0,115,72,0,0,0,
- 124,0,106,0,160,1,100,1,100,2,161,2,125,2,124,2,
- 155,0,100,2,124,1,155,0,157,3,125,3,122,16,124,0,
- 106,2,160,3,124,3,161,1,1,0,87,0,110,22,4,0,
- 116,4,107,10,114,66,1,0,1,0,1,0,89,0,100,3,
- 83,0,48,0,100,4,83,0,41,5,78,114,85,0,0,0,
- 114,109,0,0,0,70,84,41,5,114,38,0,0,0,114,19,
+ 90,18,95,118,97,108,105,100,97,116,101,95,104,97,115,104,
+ 95,112,121,99,218,29,95,103,101,116,95,109,116,105,109,101,
+ 95,97,110,100,95,115,105,122,101,95,111,102,95,115,111,117,
+ 114,99,101,114,147,0,0,0,114,2,0,0,0,114,76,0,
+ 0,0,114,77,0,0,0,218,7,109,97,114,115,104,97,108,
+ 90,5,108,111,97,100,115,114,15,0,0,0,218,10,95,99,
+ 111,100,101,95,116,121,112,101,218,9,84,121,112,101,69,114,
+ 114,111,114,41,14,114,32,0,0,0,114,53,0,0,0,114,
+ 63,0,0,0,114,38,0,0,0,114,126,0,0,0,90,11,
+ 101,120,99,95,100,101,116,97,105,108,115,114,129,0,0,0,
+ 90,10,104,97,115,104,95,98,97,115,101,100,90,12,99,104,
+ 101,99,107,95,115,111,117,114,99,101,90,12,115,111,117,114,
+ 99,101,95,98,121,116,101,115,114,150,0,0,0,90,12,115,
+ 111,117,114,99,101,95,109,116,105,109,101,90,11,115,111,117,
+ 114,99,101,95,115,105,122,101,114,46,0,0,0,114,9,0,
+ 0,0,114,9,0,0,0,114,10,0,0,0,218,15,95,117,
+ 110,109,97,114,115,104,97,108,95,99,111,100,101,75,2,0,
+ 0,115,88,0,0,0,0,2,2,1,2,254,6,5,2,1,
+ 18,1,14,1,8,2,12,1,4,1,12,1,10,1,2,255,
+ 2,1,8,255,2,2,10,1,8,1,4,1,4,1,2,254,
+ 4,5,2,1,4,1,2,0,2,0,2,0,2,255,8,2,
+ 14,1,10,3,8,255,6,3,6,3,22,1,18,255,4,2,
+ 4,1,8,255,4,2,4,2,18,1,12,1,16,1,114,155,
+ 0,0,0,99,1,0,0,0,0,0,0,0,0,0,0,0,
+ 1,0,0,0,4,0,0,0,67,0,0,0,115,28,0,0,
+ 0,124,0,160,0,100,1,100,2,161,2,125,0,124,0,160,
+ 0,100,3,100,2,161,2,125,0,124,0,83,0,41,4,78,
+ 115,2,0,0,0,13,10,243,1,0,0,0,10,243,1,0,
+ 0,0,13,41,1,114,19,0,0,0,41,1,218,6,115,111,
+ 117,114,99,101,114,9,0,0,0,114,9,0,0,0,114,10,
+ 0,0,0,218,23,95,110,111,114,109,97,108,105,122,101,95,
+ 108,105,110,101,95,101,110,100,105,110,103,115,126,2,0,0,
+ 115,6,0,0,0,0,1,12,1,12,1,114,159,0,0,0,
+ 99,2,0,0,0,0,0,0,0,0,0,0,0,2,0,0,
+ 0,6,0,0,0,67,0,0,0,115,24,0,0,0,116,0,
+ 124,1,131,1,125,1,116,1,124,1,124,0,100,1,100,2,
+ 100,3,141,4,83,0,41,4,78,114,74,0,0,0,84,41,
+ 1,90,12,100,111,110,116,95,105,110,104,101,114,105,116,41,
+ 2,114,159,0,0,0,218,7,99,111,109,112,105,108,101,41,
+ 2,114,53,0,0,0,114,158,0,0,0,114,9,0,0,0,
+ 114,9,0,0,0,114,10,0,0,0,218,15,95,99,111,109,
+ 112,105,108,101,95,115,111,117,114,99,101,133,2,0,0,115,
+ 4,0,0,0,0,1,8,1,114,161,0,0,0,99,2,0,
+ 0,0,0,0,0,0,0,0,0,0,2,0,0,0,11,0,
+ 0,0,67,0,0,0,115,68,0,0,0,116,0,160,1,124,
+ 0,100,1,63,0,100,2,23,0,124,0,100,3,63,0,100,
+ 4,64,0,124,0,100,5,64,0,124,1,100,6,63,0,124,
+ 1,100,3,63,0,100,7,64,0,124,1,100,5,64,0,100,
+ 8,20,0,100,9,100,9,100,9,102,9,161,1,83,0,41,
+ 10,78,233,9,0,0,0,105,188,7,0,0,233,5,0,0,
+ 0,233,15,0,0,0,233,31,0,0,0,233,11,0,0,0,
+ 233,63,0,0,0,114,86,0,0,0,114,14,0,0,0,41,
+ 2,114,131,0,0,0,90,6,109,107,116,105,109,101,41,2,
+ 218,1,100,114,138,0,0,0,114,9,0,0,0,114,9,0,
+ 0,0,114,10,0,0,0,218,14,95,112,97,114,115,101,95,
+ 100,111,115,116,105,109,101,139,2,0,0,115,22,0,0,0,
+ 0,1,4,1,10,1,10,1,6,1,6,1,10,1,10,1,
+ 2,0,2,0,2,249,114,169,0,0,0,99,2,0,0,0,
+ 0,0,0,0,0,0,0,0,6,0,0,0,10,0,0,0,
+ 67,0,0,0,115,116,0,0,0,122,82,124,1,100,1,100,
+ 0,133,2,25,0,100,2,107,6,115,22,74,0,130,1,124,
+ 1,100,0,100,1,133,2,25,0,125,1,124,0,106,0,124,
+ 1,25,0,125,2,124,2,100,3,25,0,125,3,124,2,100,
+ 4,25,0,125,4,124,2,100,5,25,0,125,5,116,1,124,
+ 4,124,3,131,2,124,5,102,2,87,0,83,0,4,0,116,
+ 2,116,3,116,4,102,3,107,10,114,110,1,0,1,0,1,
+ 0,89,0,100,6,83,0,48,0,100,0,83,0,41,7,78,
+ 114,14,0,0,0,169,2,218,1,99,218,1,111,114,163,0,
+ 0,0,233,6,0,0,0,233,3,0,0,0,41,2,114,0,
+ 0,0,0,114,0,0,0,0,41,5,114,28,0,0,0,114,
+ 169,0,0,0,114,26,0,0,0,218,10,73,110,100,101,120,
+ 69,114,114,111,114,114,154,0,0,0,41,6,114,32,0,0,
+ 0,114,13,0,0,0,114,54,0,0,0,114,131,0,0,0,
+ 114,132,0,0,0,90,17,117,110,99,111,109,112,114,101,115,
+ 115,101,100,95,115,105,122,101,114,9,0,0,0,114,9,0,
+ 0,0,114,10,0,0,0,114,151,0,0,0,152,2,0,0,
+ 115,20,0,0,0,0,1,2,2,20,1,12,1,10,3,8,
+ 1,8,1,8,1,16,1,20,1,114,151,0,0,0,99,2,
+ 0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,8,
+ 0,0,0,67,0,0,0,115,86,0,0,0,124,1,100,1,
+ 100,0,133,2,25,0,100,2,107,6,115,20,74,0,130,1,
+ 124,1,100,0,100,1,133,2,25,0,125,1,122,14,124,0,
+ 106,0,124,1,25,0,125,2,87,0,110,22,4,0,116,1,
+ 107,10,114,68,1,0,1,0,1,0,89,0,100,0,83,0,
+ 48,0,116,2,124,0,106,3,124,2,131,2,83,0,100,0,
+ 83,0,41,3,78,114,14,0,0,0,114,170,0,0,0,41,
+ 4,114,28,0,0,0,114,26,0,0,0,114,52,0,0,0,
+ 114,29,0,0,0,41,3,114,32,0,0,0,114,13,0,0,
+ 0,114,54,0,0,0,114,9,0,0,0,114,9,0,0,0,
+ 114,10,0,0,0,114,149,0,0,0,171,2,0,0,115,14,
+ 0,0,0,0,2,20,1,12,2,2,1,14,1,14,1,8,
+ 2,114,149,0,0,0,99,2,0,0,0,0,0,0,0,0,
+ 0,0,0,11,0,0,0,9,0,0,0,67,0,0,0,115,
+ 198,0,0,0,116,0,124,0,124,1,131,2,125,2,116,1,
+ 68,0,93,160,92,3,125,3,125,4,125,5,124,2,124,3,
+ 23,0,125,6,116,2,106,3,100,1,124,0,106,4,116,5,
+ 124,6,100,2,100,3,141,5,1,0,122,14,124,0,106,6,
+ 124,6,25,0,125,7,87,0,110,20,4,0,116,7,107,10,
+ 114,88,1,0,1,0,1,0,89,0,113,14,48,0,124,7,
+ 100,4,25,0,125,8,116,8,124,0,106,4,124,7,131,2,
+ 125,9,124,4,114,132,116,9,124,0,124,8,124,6,124,1,
+ 124,9,131,5,125,10,110,10,116,10,124,8,124,9,131,2,
+ 125,10,124,10,100,0,107,8,114,152,113,14,124,7,100,4,
+ 25,0,125,8,124,10,124,5,124,8,102,3,2,0,1,0,
+ 83,0,113,14,116,11,100,5,124,1,155,2,157,2,124,1,
+ 100,6,141,2,130,1,100,0,83,0,41,7,78,122,13,116,
+ 114,121,105,110,103,32,123,125,123,125,123,125,114,86,0,0,
+ 0,41,1,90,9,118,101,114,98,111,115,105,116,121,114,0,
+ 0,0,0,114,57,0,0,0,114,58,0,0,0,41,12,114,
+ 36,0,0,0,114,89,0,0,0,114,76,0,0,0,114,77,
+ 0,0,0,114,29,0,0,0,114,20,0,0,0,114,28,0,
+ 0,0,114,26,0,0,0,114,52,0,0,0,114,155,0,0,
+ 0,114,161,0,0,0,114,3,0,0,0,41,11,114,32,0,
+ 0,0,114,38,0,0,0,114,13,0,0,0,114,90,0,0,
+ 0,114,91,0,0,0,114,47,0,0,0,114,63,0,0,0,
+ 114,54,0,0,0,114,40,0,0,0,114,126,0,0,0,114,
+ 46,0,0,0,114,9,0,0,0,114,9,0,0,0,114,10,
+ 0,0,0,114,44,0,0,0,186,2,0,0,115,36,0,0,
+ 0,0,1,10,1,14,1,8,1,22,1,2,1,14,1,14,
+ 1,6,2,8,1,12,1,4,1,18,2,10,1,8,3,2,
+ 1,8,1,16,2,114,44,0,0,0,99,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,
+ 0,0,0,115,60,0,0,0,101,0,90,1,100,0,90,2,
+ 100,1,90,3,100,2,90,4,100,3,100,4,132,0,90,5,
+ 100,5,100,6,132,0,90,6,100,7,100,8,132,0,90,7,
+ 100,9,100,10,132,0,90,8,100,11,100,12,132,0,90,9,
+ 100,13,83,0,41,14,114,80,0,0,0,122,165,80,114,105,
+ 118,97,116,101,32,99,108,97,115,115,32,117,115,101,100,32,
+ 116,111,32,115,117,112,112,111,114,116,32,90,105,112,73,109,
+ 112,111,114,116,46,103,101,116,95,114,101,115,111,117,114,99,
+ 101,95,114,101,97,100,101,114,40,41,46,10,10,32,32,32,
+ 32,84,104,105,115,32,99,108,97,115,115,32,105,115,32,97,
+ 108,108,111,119,101,100,32,116,111,32,114,101,102,101,114,101,
+ 110,99,101,32,97,108,108,32,116,104,101,32,105,110,110,97,
+ 114,100,115,32,97,110,100,32,112,114,105,118,97,116,101,32,
+ 112,97,114,116,115,32,111,102,10,32,32,32,32,116,104,101,
+ 32,122,105,112,105,109,112,111,114,116,101,114,46,10,32,32,
+ 32,32,70,99,3,0,0,0,0,0,0,0,0,0,0,0,
+ 3,0,0,0,2,0,0,0,67,0,0,0,115,16,0,0,
+ 0,124,1,124,0,95,0,124,2,124,0,95,1,100,0,83,
+ 0,114,88,0,0,0,41,2,114,4,0,0,0,114,38,0,
+ 0,0,41,3,114,32,0,0,0,114,4,0,0,0,114,38,
+ 0,0,0,114,9,0,0,0,114,9,0,0,0,114,10,0,
+ 0,0,114,34,0,0,0,220,2,0,0,115,4,0,0,0,
+ 0,1,6,1,122,33,95,90,105,112,73,109,112,111,114,116,
+ 82,101,115,111,117,114,99,101,82,101,97,100,101,114,46,95,
+ 95,105,110,105,116,95,95,99,2,0,0,0,0,0,0,0,
+ 0,0,0,0,5,0,0,0,8,0,0,0,67,0,0,0,
+ 115,92,0,0,0,124,0,106,0,160,1,100,1,100,2,161,
+ 2,125,2,124,2,155,0,100,2,124,1,155,0,157,3,125,
+ 3,100,3,100,4,108,2,109,3,125,4,1,0,122,18,124,
+ 4,124,0,106,4,160,5,124,3,161,1,131,1,87,0,83,
+ 0,4,0,116,6,107,10,114,86,1,0,1,0,1,0,116,
+ 7,124,3,131,1,130,1,89,0,110,2,48,0,100,0,83,
+ 0,41,5,78,114,85,0,0,0,114,109,0,0,0,114,0,
+ 0,0,0,41,1,218,7,66,121,116,101,115,73,79,41,8,
+ 114,38,0,0,0,114,19,0,0,0,90,2,105,111,114,176,
0,0,0,114,4,0,0,0,114,55,0,0,0,114,22,0,
- 0,0,41,4,114,32,0,0,0,114,59,0,0,0,114,179,
- 0,0,0,114,13,0,0,0,114,9,0,0,0,114,9,0,
- 0,0,114,10,0,0,0,218,11,105,115,95,114,101,115,111,
- 117,114,99,101,239,2,0,0,115,14,0,0,0,0,3,14,
- 1,14,1,2,1,16,1,14,1,8,1,122,36,95,90,105,
- 112,73,109,112,111,114,116,82,101,115,111,117,114,99,101,82,
- 101,97,100,101,114,46,105,115,95,114,101,115,111,117,114,99,
- 101,99,1,0,0,0,0,0,0,0,0,0,0,0,9,0,
- 0,0,9,0,0,0,99,0,0,0,115,186,0,0,0,100,
- 1,100,2,108,0,109,1,125,1,1,0,124,1,124,0,106,
- 2,160,3,124,0,106,4,161,1,131,1,125,2,124,2,160,
- 5,124,0,106,2,106,6,161,1,125,3,124,3,106,7,100,
- 3,107,2,115,58,74,0,130,1,124,3,106,8,125,4,116,
- 9,131,0,125,5,124,0,106,2,106,10,68,0,93,102,125,
- 6,122,18,124,1,124,6,131,1,160,5,124,4,161,1,125,
- 7,87,0,110,24,4,0,116,11,107,10,114,124,1,0,1,
- 0,1,0,89,0,113,78,89,0,110,2,48,0,124,7,106,
- 8,106,7,125,8,116,12,124,8,131,1,100,1,107,2,114,
- 156,124,7,106,7,86,0,1,0,113,78,124,8,124,5,107,
- 7,114,78,124,5,160,13,124,8,161,1,1,0,124,8,86,
- 0,1,0,113,78,100,0,83,0,41,4,78,114,0,0,0,
- 0,41,1,218,4,80,97,116,104,114,60,0,0,0,41,14,
- 90,7,112,97,116,104,108,105,98,114,183,0,0,0,114,4,
- 0,0,0,114,56,0,0,0,114,38,0,0,0,90,11,114,
- 101,108,97,116,105,118,101,95,116,111,114,29,0,0,0,114,
- 59,0,0,0,90,6,112,97,114,101,110,116,218,3,115,101,
- 116,114,28,0,0,0,114,23,0,0,0,114,51,0,0,0,
- 218,3,97,100,100,41,9,114,32,0,0,0,114,183,0,0,
- 0,90,13,102,117,108,108,110,97,109,101,95,112,97,116,104,
- 90,13,114,101,108,97,116,105,118,101,95,112,97,116,104,90,
- 12,112,97,99,107,97,103,101,95,112,97,116,104,90,12,115,
- 117,98,100,105,114,115,95,115,101,101,110,218,8,102,105,108,
- 101,110,97,109,101,90,8,114,101,108,97,116,105,118,101,90,
- 11,112,97,114,101,110,116,95,110,97,109,101,114,9,0,0,
- 0,114,9,0,0,0,114,10,0,0,0,218,8,99,111,110,
- 116,101,110,116,115,250,2,0,0,115,34,0,0,0,0,8,
- 12,1,18,1,14,3,14,1,6,1,6,1,12,1,2,1,
- 18,1,14,1,10,5,8,1,12,1,10,1,8,1,10,1,
- 122,33,95,90,105,112,73,109,112,111,114,116,82,101,115,111,
- 117,114,99,101,82,101,97,100,101,114,46,99,111,110,116,101,
- 110,116,115,78,41,10,114,6,0,0,0,114,7,0,0,0,
- 114,8,0,0,0,114,84,0,0,0,114,81,0,0,0,114,
- 34,0,0,0,114,180,0,0,0,114,181,0,0,0,114,182,
- 0,0,0,114,187,0,0,0,114,9,0,0,0,114,9,0,
- 0,0,114,9,0,0,0,114,10,0,0,0,114,80,0,0,
- 0,212,2,0,0,115,14,0,0,0,8,1,4,5,4,2,
- 8,4,8,9,8,6,8,11,114,80,0,0,0,41,45,114,
- 84,0,0,0,90,26,95,102,114,111,122,101,110,95,105,109,
- 112,111,114,116,108,105,98,95,101,120,116,101,114,110,97,108,
- 114,21,0,0,0,114,1,0,0,0,114,2,0,0,0,90,
- 17,95,102,114,111,122,101,110,95,105,109,112,111,114,116,108,
- 105,98,114,76,0,0,0,114,148,0,0,0,114,110,0,0,
- 0,114,152,0,0,0,114,67,0,0,0,114,131,0,0,0,
- 90,7,95,95,97,108,108,95,95,114,20,0,0,0,90,15,
- 112,97,116,104,95,115,101,112,97,114,97,116,111,114,115,114,
- 18,0,0,0,114,75,0,0,0,114,3,0,0,0,114,25,
- 0,0,0,218,4,116,121,112,101,114,70,0,0,0,114,113,
- 0,0,0,114,115,0,0,0,114,117,0,0,0,114,4,0,
- 0,0,114,89,0,0,0,114,36,0,0,0,114,37,0,0,
- 0,114,35,0,0,0,114,27,0,0,0,114,122,0,0,0,
- 114,142,0,0,0,114,144,0,0,0,114,52,0,0,0,114,
- 147,0,0,0,114,155,0,0,0,218,8,95,95,99,111,100,
- 101,95,95,114,153,0,0,0,114,159,0,0,0,114,161,0,
- 0,0,114,169,0,0,0,114,151,0,0,0,114,149,0,0,
- 0,114,44,0,0,0,114,80,0,0,0,114,9,0,0,0,
- 114,9,0,0,0,114,9,0,0,0,114,10,0,0,0,218,
- 8,60,109,111,100,117,108,101,62,1,0,0,0,115,88,0,
- 0,0,4,16,8,1,16,1,8,1,8,1,8,1,8,1,
- 8,1,8,2,8,3,6,1,14,3,16,4,4,2,8,2,
- 4,1,4,1,4,2,14,127,0,127,0,1,12,1,12,1,
- 2,1,2,252,4,9,8,4,8,9,8,31,8,126,2,254,
- 2,29,4,5,8,21,8,46,8,10,8,46,10,5,8,7,
- 8,6,8,13,8,19,8,15,8,26,
+ 0,0,218,17,70,105,108,101,78,111,116,70,111,117,110,100,
+ 69,114,114,111,114,41,5,114,32,0,0,0,218,8,114,101,
+ 115,111,117,114,99,101,218,16,102,117,108,108,110,97,109,101,
+ 95,97,115,95,112,97,116,104,114,13,0,0,0,114,176,0,
+ 0,0,114,9,0,0,0,114,9,0,0,0,114,10,0,0,
+ 0,218,13,111,112,101,110,95,114,101,115,111,117,114,99,101,
+ 224,2,0,0,115,14,0,0,0,0,1,14,1,14,1,12,
+ 1,2,1,18,1,14,1,122,38,95,90,105,112,73,109,112,
+ 111,114,116,82,101,115,111,117,114,99,101,82,101,97,100,101,
+ 114,46,111,112,101,110,95,114,101,115,111,117,114,99,101,99,
+ 2,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,
+ 1,0,0,0,67,0,0,0,115,8,0,0,0,116,0,130,
+ 1,100,0,83,0,114,88,0,0,0,41,1,114,177,0,0,
+ 0,41,2,114,32,0,0,0,114,178,0,0,0,114,9,0,
+ 0,0,114,9,0,0,0,114,10,0,0,0,218,13,114,101,
+ 115,111,117,114,99,101,95,112,97,116,104,233,2,0,0,115,
+ 2,0,0,0,0,4,122,38,95,90,105,112,73,109,112,111,
+ 114,116,82,101,115,111,117,114,99,101,82,101,97,100,101,114,
+ 46,114,101,115,111,117,114,99,101,95,112,97,116,104,99,2,
+ 0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,8,
+ 0,0,0,67,0,0,0,115,72,0,0,0,124,0,106,0,
+ 160,1,100,1,100,2,161,2,125,2,124,2,155,0,100,2,
+ 124,1,155,0,157,3,125,3,122,16,124,0,106,2,160,3,
+ 124,3,161,1,1,0,87,0,110,22,4,0,116,4,107,10,
+ 114,66,1,0,1,0,1,0,89,0,100,3,83,0,48,0,
+ 100,4,83,0,41,5,78,114,85,0,0,0,114,109,0,0,
+ 0,70,84,41,5,114,38,0,0,0,114,19,0,0,0,114,
+ 4,0,0,0,114,55,0,0,0,114,22,0,0,0,41,4,
+ 114,32,0,0,0,114,59,0,0,0,114,179,0,0,0,114,
+ 13,0,0,0,114,9,0,0,0,114,9,0,0,0,114,10,
+ 0,0,0,218,11,105,115,95,114,101,115,111,117,114,99,101,
+ 239,2,0,0,115,14,0,0,0,0,3,14,1,14,1,2,
+ 1,16,1,14,1,8,1,122,36,95,90,105,112,73,109,112,
+ 111,114,116,82,101,115,111,117,114,99,101,82,101,97,100,101,
+ 114,46,105,115,95,114,101,115,111,117,114,99,101,99,1,0,
+ 0,0,0,0,0,0,0,0,0,0,9,0,0,0,9,0,
+ 0,0,99,0,0,0,115,186,0,0,0,100,1,100,2,108,
+ 0,109,1,125,1,1,0,124,1,124,0,106,2,160,3,124,
+ 0,106,4,161,1,131,1,125,2,124,2,160,5,124,0,106,
+ 2,106,6,161,1,125,3,124,3,106,7,100,3,107,2,115,
+ 58,74,0,130,1,124,3,106,8,125,4,116,9,131,0,125,
+ 5,124,0,106,2,106,10,68,0,93,102,125,6,122,18,124,
+ 1,124,6,131,1,160,5,124,4,161,1,125,7,87,0,110,
+ 24,4,0,116,11,107,10,114,124,1,0,1,0,1,0,89,
+ 0,113,78,89,0,110,2,48,0,124,7,106,8,106,7,125,
+ 8,116,12,124,8,131,1,100,1,107,2,114,156,124,7,106,
+ 7,86,0,1,0,113,78,124,8,124,5,107,7,114,78,124,
+ 5,160,13,124,8,161,1,1,0,124,8,86,0,1,0,113,
+ 78,100,0,83,0,41,4,78,114,0,0,0,0,41,1,218,
+ 4,80,97,116,104,114,60,0,0,0,41,14,90,7,112,97,
+ 116,104,108,105,98,114,183,0,0,0,114,4,0,0,0,114,
+ 56,0,0,0,114,38,0,0,0,90,11,114,101,108,97,116,
+ 105,118,101,95,116,111,114,29,0,0,0,114,59,0,0,0,
+ 90,6,112,97,114,101,110,116,218,3,115,101,116,114,28,0,
+ 0,0,114,23,0,0,0,114,51,0,0,0,218,3,97,100,
+ 100,41,9,114,32,0,0,0,114,183,0,0,0,90,13,102,
+ 117,108,108,110,97,109,101,95,112,97,116,104,90,13,114,101,
+ 108,97,116,105,118,101,95,112,97,116,104,90,12,112,97,99,
+ 107,97,103,101,95,112,97,116,104,90,12,115,117,98,100,105,
+ 114,115,95,115,101,101,110,218,8,102,105,108,101,110,97,109,
+ 101,90,8,114,101,108,97,116,105,118,101,90,11,112,97,114,
+ 101,110,116,95,110,97,109,101,114,9,0,0,0,114,9,0,
+ 0,0,114,10,0,0,0,218,8,99,111,110,116,101,110,116,
+ 115,250,2,0,0,115,34,0,0,0,0,8,12,1,18,1,
+ 14,3,14,1,6,1,6,1,12,1,2,1,18,1,14,1,
+ 10,5,8,1,12,1,10,1,8,1,10,1,122,33,95,90,
+ 105,112,73,109,112,111,114,116,82,101,115,111,117,114,99,101,
+ 82,101,97,100,101,114,46,99,111,110,116,101,110,116,115,78,
+ 41,10,114,6,0,0,0,114,7,0,0,0,114,8,0,0,
+ 0,114,84,0,0,0,114,81,0,0,0,114,34,0,0,0,
+ 114,180,0,0,0,114,181,0,0,0,114,182,0,0,0,114,
+ 187,0,0,0,114,9,0,0,0,114,9,0,0,0,114,9,
+ 0,0,0,114,10,0,0,0,114,80,0,0,0,212,2,0,
+ 0,115,14,0,0,0,8,1,4,5,4,2,8,4,8,9,
+ 8,6,8,11,114,80,0,0,0,41,45,114,84,0,0,0,
+ 90,26,95,102,114,111,122,101,110,95,105,109,112,111,114,116,
+ 108,105,98,95,101,120,116,101,114,110,97,108,114,21,0,0,
+ 0,114,1,0,0,0,114,2,0,0,0,90,17,95,102,114,
+ 111,122,101,110,95,105,109,112,111,114,116,108,105,98,114,76,
+ 0,0,0,114,148,0,0,0,114,110,0,0,0,114,152,0,
+ 0,0,114,67,0,0,0,114,131,0,0,0,90,7,95,95,
+ 97,108,108,95,95,114,20,0,0,0,90,15,112,97,116,104,
+ 95,115,101,112,97,114,97,116,111,114,115,114,18,0,0,0,
+ 114,75,0,0,0,114,3,0,0,0,114,25,0,0,0,218,
+ 4,116,121,112,101,114,70,0,0,0,114,113,0,0,0,114,
+ 115,0,0,0,114,117,0,0,0,114,4,0,0,0,114,89,
+ 0,0,0,114,36,0,0,0,114,37,0,0,0,114,35,0,
+ 0,0,114,27,0,0,0,114,122,0,0,0,114,142,0,0,
+ 0,114,144,0,0,0,114,52,0,0,0,114,147,0,0,0,
+ 114,155,0,0,0,218,8,95,95,99,111,100,101,95,95,114,
+ 153,0,0,0,114,159,0,0,0,114,161,0,0,0,114,169,
+ 0,0,0,114,151,0,0,0,114,149,0,0,0,114,44,0,
+ 0,0,114,80,0,0,0,114,9,0,0,0,114,9,0,0,
+ 0,114,9,0,0,0,114,10,0,0,0,218,8,60,109,111,
+ 100,117,108,101,62,1,0,0,0,115,88,0,0,0,4,16,
+ 8,1,16,1,8,1,8,1,8,1,8,1,8,1,8,2,
+ 8,3,6,1,14,3,16,4,4,2,8,2,4,1,4,1,
+ 4,2,14,127,0,127,0,1,12,1,12,1,2,1,2,252,
+ 4,9,8,4,8,9,8,31,8,126,2,254,2,29,4,5,
+ 8,21,8,46,8,10,8,46,10,5,8,7,8,6,8,13,
+ 8,19,8,15,8,26,
};