bpo-37213: Handle negative line deltas correctly in the peephole optimizer (GH-13969)
The peephole optimizer was not optimizing correctly bytecode after negative deltas were introduced. This is due to the fact that some special values (255) were being searched for in both instruction pointer delta and line number deltas.
This commit is contained in:
parent
95492032c4
commit
3498c642f4
|
@ -1,5 +1,7 @@
|
||||||
import dis
|
import dis
|
||||||
import unittest
|
import unittest
|
||||||
|
import types
|
||||||
|
import textwrap
|
||||||
|
|
||||||
from test.bytecode_helper import BytecodeTestCase
|
from test.bytecode_helper import BytecodeTestCase
|
||||||
|
|
||||||
|
@ -18,6 +20,27 @@ def count_instr_recursively(f, opname):
|
||||||
|
|
||||||
class TestTranforms(BytecodeTestCase):
|
class TestTranforms(BytecodeTestCase):
|
||||||
|
|
||||||
|
def check_jump_targets(self, code):
|
||||||
|
instructions = list(dis.get_instructions(code))
|
||||||
|
targets = {instr.offset: instr for instr in instructions}
|
||||||
|
for instr in instructions:
|
||||||
|
if 'JUMP_' not in instr.opname:
|
||||||
|
continue
|
||||||
|
tgt = targets[instr.argval]
|
||||||
|
# jump to unconditional jump
|
||||||
|
if tgt.opname in ('JUMP_ABSOLUTE', 'JUMP_FORWARD'):
|
||||||
|
self.fail(f'{instr.opname} at {instr.offset} '
|
||||||
|
f'jumps to {tgt.opname} at {tgt.offset}')
|
||||||
|
# unconditional jump to RETURN_VALUE
|
||||||
|
if (instr.opname in ('JUMP_ABSOLUTE', 'JUMP_FORWARD') and
|
||||||
|
tgt.opname == 'RETURN_VALUE'):
|
||||||
|
self.fail(f'{instr.opname} at {instr.offset} '
|
||||||
|
f'jumps to {tgt.opname} at {tgt.offset}')
|
||||||
|
# JUMP_IF_*_OR_POP jump to conditional jump
|
||||||
|
if '_OR_POP' in instr.opname and 'JUMP_IF_' in tgt.opname:
|
||||||
|
self.fail(f'{instr.opname} at {instr.offset} '
|
||||||
|
f'jumps to {tgt.opname} at {tgt.offset}')
|
||||||
|
|
||||||
def test_unot(self):
|
def test_unot(self):
|
||||||
# UNARY_NOT POP_JUMP_IF_FALSE --> POP_JUMP_IF_TRUE'
|
# UNARY_NOT POP_JUMP_IF_FALSE --> POP_JUMP_IF_TRUE'
|
||||||
def unot(x):
|
def unot(x):
|
||||||
|
@ -259,13 +282,69 @@ class TestTranforms(BytecodeTestCase):
|
||||||
def test_elim_jump_to_return(self):
|
def test_elim_jump_to_return(self):
|
||||||
# JUMP_FORWARD to RETURN --> RETURN
|
# JUMP_FORWARD to RETURN --> RETURN
|
||||||
def f(cond, true_value, false_value):
|
def f(cond, true_value, false_value):
|
||||||
return true_value if cond else false_value
|
# Intentionally use two-line expression to test issue37213.
|
||||||
|
return (true_value if cond
|
||||||
|
else false_value)
|
||||||
|
self.check_jump_targets(f)
|
||||||
self.assertNotInBytecode(f, 'JUMP_FORWARD')
|
self.assertNotInBytecode(f, 'JUMP_FORWARD')
|
||||||
self.assertNotInBytecode(f, 'JUMP_ABSOLUTE')
|
self.assertNotInBytecode(f, 'JUMP_ABSOLUTE')
|
||||||
returns = [instr for instr in dis.get_instructions(f)
|
returns = [instr for instr in dis.get_instructions(f)
|
||||||
if instr.opname == 'RETURN_VALUE']
|
if instr.opname == 'RETURN_VALUE']
|
||||||
self.assertEqual(len(returns), 2)
|
self.assertEqual(len(returns), 2)
|
||||||
|
|
||||||
|
def test_elim_jump_to_uncond_jump(self):
|
||||||
|
# POP_JUMP_IF_FALSE to JUMP_FORWARD --> POP_JUMP_IF_FALSE to non-jump
|
||||||
|
def f():
|
||||||
|
if a:
|
||||||
|
# Intentionally use two-line expression to test issue37213.
|
||||||
|
if (c
|
||||||
|
or d):
|
||||||
|
foo()
|
||||||
|
else:
|
||||||
|
baz()
|
||||||
|
self.check_jump_targets(f)
|
||||||
|
|
||||||
|
def test_elim_jump_to_uncond_jump2(self):
|
||||||
|
# POP_JUMP_IF_FALSE to JUMP_ABSOLUTE --> POP_JUMP_IF_FALSE to non-jump
|
||||||
|
def f():
|
||||||
|
while a:
|
||||||
|
# Intentionally use two-line expression to test issue37213.
|
||||||
|
if (c
|
||||||
|
or d):
|
||||||
|
a = foo()
|
||||||
|
self.check_jump_targets(f)
|
||||||
|
|
||||||
|
def test_elim_jump_to_uncond_jump3(self):
|
||||||
|
# Intentionally use two-line expressions to test issue37213.
|
||||||
|
# JUMP_IF_FALSE_OR_POP to JUMP_IF_FALSE_OR_POP --> JUMP_IF_FALSE_OR_POP to non-jump
|
||||||
|
def f(a, b, c):
|
||||||
|
return ((a and b)
|
||||||
|
and c)
|
||||||
|
self.check_jump_targets(f)
|
||||||
|
self.assertEqual(count_instr_recursively(f, 'JUMP_IF_FALSE_OR_POP'), 2)
|
||||||
|
# JUMP_IF_TRUE_OR_POP to JUMP_IF_TRUE_OR_POP --> JUMP_IF_TRUE_OR_POP to non-jump
|
||||||
|
def f(a, b, c):
|
||||||
|
return ((a or b)
|
||||||
|
or c)
|
||||||
|
self.check_jump_targets(f)
|
||||||
|
self.assertEqual(count_instr_recursively(f, 'JUMP_IF_TRUE_OR_POP'), 2)
|
||||||
|
# JUMP_IF_FALSE_OR_POP to JUMP_IF_TRUE_OR_POP --> POP_JUMP_IF_FALSE to non-jump
|
||||||
|
def f(a, b, c):
|
||||||
|
return ((a and b)
|
||||||
|
or c)
|
||||||
|
self.check_jump_targets(f)
|
||||||
|
self.assertNotInBytecode(f, 'JUMP_IF_FALSE_OR_POP')
|
||||||
|
self.assertInBytecode(f, 'JUMP_IF_TRUE_OR_POP')
|
||||||
|
self.assertInBytecode(f, 'POP_JUMP_IF_FALSE')
|
||||||
|
# JUMP_IF_TRUE_OR_POP to JUMP_IF_FALSE_OR_POP --> POP_JUMP_IF_TRUE to non-jump
|
||||||
|
def f(a, b, c):
|
||||||
|
return ((a or b)
|
||||||
|
and c)
|
||||||
|
self.check_jump_targets(f)
|
||||||
|
self.assertNotInBytecode(f, 'JUMP_IF_TRUE_OR_POP')
|
||||||
|
self.assertInBytecode(f, 'JUMP_IF_FALSE_OR_POP')
|
||||||
|
self.assertInBytecode(f, 'POP_JUMP_IF_TRUE')
|
||||||
|
|
||||||
def test_elim_jump_after_return1(self):
|
def test_elim_jump_after_return1(self):
|
||||||
# Eliminate dead code: jumps immediately after returns can't be reached
|
# Eliminate dead code: jumps immediately after returns can't be reached
|
||||||
def f(cond1, cond2):
|
def f(cond1, cond2):
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
Handle correctly negative line offsets in the peephole optimizer. Patch by
|
||||||
|
Pablo Galindo.
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -783,301 +783,301 @@ const unsigned char _Py_M__zipimport[] = {
|
||||||
0,0,0,218,9,95,101,113,95,109,116,105,109,101,65,2,
|
0,0,0,218,9,95,101,113,95,109,116,105,109,101,65,2,
|
||||||
0,0,115,2,0,0,0,0,2,114,147,0,0,0,99,5,
|
0,0,115,2,0,0,0,0,2,114,147,0,0,0,99,5,
|
||||||
0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,8,
|
0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,8,
|
||||||
0,0,0,67,0,0,0,115,68,1,0,0,124,3,124,2,
|
0,0,0,67,0,0,0,115,60,1,0,0,124,3,124,2,
|
||||||
100,1,156,2,125,5,122,18,116,0,160,1,124,4,124,3,
|
100,1,156,2,125,5,122,18,116,0,160,1,124,4,124,3,
|
||||||
124,5,161,3,125,6,87,0,110,26,4,0,116,2,107,10,
|
124,5,161,3,125,6,87,0,110,22,4,0,116,2,107,10,
|
||||||
114,54,1,0,1,0,1,0,89,0,100,0,83,0,89,0,
|
114,50,1,0,1,0,1,0,89,0,100,0,83,0,88,0,
|
||||||
110,2,88,0,124,6,100,2,64,0,100,3,107,3,125,7,
|
124,6,100,2,64,0,100,3,107,3,125,7,124,7,114,182,
|
||||||
124,7,114,190,124,6,100,4,64,0,100,3,107,3,125,8,
|
124,6,100,4,64,0,100,3,107,3,125,8,116,3,106,4,
|
||||||
116,3,106,4,100,5,107,3,114,188,124,8,115,108,116,3,
|
100,5,107,3,114,180,124,8,115,104,116,3,106,4,100,6,
|
||||||
106,4,100,6,107,2,114,188,116,5,124,0,124,2,131,2,
|
107,2,114,180,116,5,124,0,124,2,131,2,125,9,124,9,
|
||||||
125,9,124,9,100,0,107,9,114,188,116,3,160,6,116,0,
|
100,0,107,9,114,180,116,3,160,6,116,0,106,7,124,9,
|
||||||
106,7,124,9,161,2,125,10,122,20,116,8,160,9,124,4,
|
161,2,125,10,122,20,116,8,160,9,124,4,124,10,124,3,
|
||||||
124,10,124,3,124,5,161,4,1,0,87,0,110,26,4,0,
|
124,5,161,4,1,0,87,0,110,22,4,0,116,2,107,10,
|
||||||
116,2,107,10,114,186,1,0,1,0,1,0,89,0,100,0,
|
114,178,1,0,1,0,1,0,89,0,100,0,83,0,88,0,
|
||||||
83,0,89,0,110,2,88,0,110,84,116,10,124,0,124,2,
|
110,84,116,10,124,0,124,2,131,2,92,2,125,11,125,12,
|
||||||
131,2,92,2,125,11,125,12,124,11,144,1,114,18,116,11,
|
124,11,144,1,114,10,116,11,116,12,124,4,100,7,100,8,
|
||||||
116,12,124,4,100,7,100,8,133,2,25,0,131,1,124,11,
|
133,2,25,0,131,1,124,11,131,2,114,246,116,12,124,4,
|
||||||
131,2,114,254,116,12,124,4,100,8,100,9,133,2,25,0,
|
100,8,100,9,133,2,25,0,131,1,124,12,107,3,144,1,
|
||||||
131,1,124,12,107,3,144,1,114,18,116,13,160,14,100,10,
|
114,10,116,13,160,14,100,10,124,3,155,2,157,2,161,1,
|
||||||
124,3,155,2,157,2,161,1,1,0,100,0,83,0,116,15,
|
1,0,100,0,83,0,116,15,160,16,124,4,100,9,100,0,
|
||||||
160,16,124,4,100,9,100,0,133,2,25,0,161,1,125,13,
|
133,2,25,0,161,1,125,13,116,17,124,13,116,18,131,2,
|
||||||
116,17,124,13,116,18,131,2,144,1,115,64,116,19,100,11,
|
144,1,115,56,116,19,100,11,124,1,155,2,100,12,157,3,
|
||||||
124,1,155,2,100,12,157,3,131,1,130,1,124,13,83,0,
|
131,1,130,1,124,13,83,0,41,13,78,41,2,114,59,0,
|
||||||
41,13,78,41,2,114,59,0,0,0,114,13,0,0,0,114,
|
0,0,114,13,0,0,0,114,5,0,0,0,114,0,0,0,
|
||||||
5,0,0,0,114,0,0,0,0,114,86,0,0,0,90,5,
|
0,114,86,0,0,0,90,5,110,101,118,101,114,90,6,97,
|
||||||
110,101,118,101,114,90,6,97,108,119,97,121,115,114,99,0,
|
108,119,97,121,115,114,99,0,0,0,114,94,0,0,0,114,
|
||||||
0,0,114,94,0,0,0,114,95,0,0,0,122,22,98,121,
|
95,0,0,0,122,22,98,121,116,101,99,111,100,101,32,105,
|
||||||
116,101,99,111,100,101,32,105,115,32,115,116,97,108,101,32,
|
115,32,115,116,97,108,101,32,102,111,114,32,122,16,99,111,
|
||||||
102,111,114,32,122,16,99,111,109,112,105,108,101,100,32,109,
|
109,112,105,108,101,100,32,109,111,100,117,108,101,32,122,21,
|
||||||
111,100,117,108,101,32,122,21,32,105,115,32,110,111,116,32,
|
32,105,115,32,110,111,116,32,97,32,99,111,100,101,32,111,
|
||||||
97,32,99,111,100,101,32,111,98,106,101,99,116,41,20,114,
|
98,106,101,99,116,41,20,114,21,0,0,0,90,13,95,99,
|
||||||
21,0,0,0,90,13,95,99,108,97,115,115,105,102,121,95,
|
108,97,115,115,105,102,121,95,112,121,99,114,75,0,0,0,
|
||||||
112,121,99,114,75,0,0,0,218,4,95,105,109,112,90,21,
|
218,4,95,105,109,112,90,21,99,104,101,99,107,95,104,97,
|
||||||
99,104,101,99,107,95,104,97,115,104,95,98,97,115,101,100,
|
115,104,95,98,97,115,101,100,95,112,121,99,115,218,15,95,
|
||||||
95,112,121,99,115,218,15,95,103,101,116,95,112,121,99,95,
|
103,101,116,95,112,121,99,95,115,111,117,114,99,101,218,11,
|
||||||
115,111,117,114,99,101,218,11,115,111,117,114,99,101,95,104,
|
115,111,117,114,99,101,95,104,97,115,104,90,17,95,82,65,
|
||||||
97,115,104,90,17,95,82,65,87,95,77,65,71,73,67,95,
|
87,95,77,65,71,73,67,95,78,85,77,66,69,82,90,18,
|
||||||
78,85,77,66,69,82,90,18,95,98,111,111,115,116,114,97,
|
95,98,111,111,115,116,114,97,112,95,101,120,116,101,114,110,
|
||||||
112,95,101,120,116,101,114,110,97,108,90,18,95,118,97,108,
|
97,108,90,18,95,118,97,108,105,100,97,116,101,95,104,97,
|
||||||
105,100,97,116,101,95,104,97,115,104,95,112,121,99,218,29,
|
115,104,95,112,121,99,218,29,95,103,101,116,95,109,116,105,
|
||||||
95,103,101,116,95,109,116,105,109,101,95,97,110,100,95,115,
|
109,101,95,97,110,100,95,115,105,122,101,95,111,102,95,115,
|
||||||
105,122,101,95,111,102,95,115,111,117,114,99,101,114,147,0,
|
111,117,114,99,101,114,147,0,0,0,114,2,0,0,0,114,
|
||||||
0,0,114,2,0,0,0,114,76,0,0,0,114,77,0,0,
|
76,0,0,0,114,77,0,0,0,218,7,109,97,114,115,104,
|
||||||
0,218,7,109,97,114,115,104,97,108,90,5,108,111,97,100,
|
97,108,90,5,108,111,97,100,115,114,15,0,0,0,218,10,
|
||||||
115,114,15,0,0,0,218,10,95,99,111,100,101,95,116,121,
|
95,99,111,100,101,95,116,121,112,101,218,9,84,121,112,101,
|
||||||
112,101,218,9,84,121,112,101,69,114,114,111,114,41,14,114,
|
69,114,114,111,114,41,14,114,32,0,0,0,114,53,0,0,
|
||||||
32,0,0,0,114,53,0,0,0,114,63,0,0,0,114,38,
|
0,114,63,0,0,0,114,38,0,0,0,114,126,0,0,0,
|
||||||
0,0,0,114,126,0,0,0,90,11,101,120,99,95,100,101,
|
90,11,101,120,99,95,100,101,116,97,105,108,115,114,129,0,
|
||||||
116,97,105,108,115,114,129,0,0,0,90,10,104,97,115,104,
|
0,0,90,10,104,97,115,104,95,98,97,115,101,100,90,12,
|
||||||
95,98,97,115,101,100,90,12,99,104,101,99,107,95,115,111,
|
99,104,101,99,107,95,115,111,117,114,99,101,90,12,115,111,
|
||||||
117,114,99,101,90,12,115,111,117,114,99,101,95,98,121,116,
|
117,114,99,101,95,98,121,116,101,115,114,150,0,0,0,90,
|
||||||
101,115,114,150,0,0,0,90,12,115,111,117,114,99,101,95,
|
12,115,111,117,114,99,101,95,109,116,105,109,101,90,11,115,
|
||||||
109,116,105,109,101,90,11,115,111,117,114,99,101,95,115,105,
|
111,117,114,99,101,95,115,105,122,101,114,46,0,0,0,114,
|
||||||
122,101,114,46,0,0,0,114,9,0,0,0,114,9,0,0,
|
9,0,0,0,114,9,0,0,0,114,10,0,0,0,218,15,
|
||||||
0,114,10,0,0,0,218,15,95,117,110,109,97,114,115,104,
|
95,117,110,109,97,114,115,104,97,108,95,99,111,100,101,75,
|
||||||
97,108,95,99,111,100,101,75,2,0,0,115,88,0,0,0,
|
2,0,0,115,88,0,0,0,0,2,2,1,2,254,6,5,
|
||||||
0,2,2,1,2,254,6,5,2,1,18,1,14,1,12,2,
|
2,1,18,1,14,1,8,2,12,1,4,1,12,1,10,1,
|
||||||
12,1,4,1,12,1,10,1,2,255,2,1,8,255,2,2,
|
2,255,2,1,8,255,2,2,10,1,8,1,4,1,4,1,
|
||||||
10,1,8,1,4,1,4,1,2,254,4,5,2,1,4,1,
|
2,254,4,5,2,1,4,1,2,0,2,0,2,0,2,255,
|
||||||
2,0,2,0,2,0,2,255,8,2,14,1,14,3,8,255,
|
8,2,14,1,10,3,8,255,6,3,6,3,22,1,18,255,
|
||||||
6,3,6,3,22,1,18,255,4,2,4,1,8,255,4,2,
|
4,2,4,1,8,255,4,2,4,2,18,1,12,1,16,1,
|
||||||
4,2,18,1,12,1,16,1,114,155,0,0,0,99,1,0,
|
114,155,0,0,0,99,1,0,0,0,0,0,0,0,0,0,
|
||||||
0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,
|
0,0,1,0,0,0,4,0,0,0,67,0,0,0,115,28,
|
||||||
0,0,67,0,0,0,115,28,0,0,0,124,0,160,0,100,
|
0,0,0,124,0,160,0,100,1,100,2,161,2,125,0,124,
|
||||||
1,100,2,161,2,125,0,124,0,160,0,100,3,100,2,161,
|
0,160,0,100,3,100,2,161,2,125,0,124,0,83,0,41,
|
||||||
2,125,0,124,0,83,0,41,4,78,115,2,0,0,0,13,
|
4,78,115,2,0,0,0,13,10,243,1,0,0,0,10,243,
|
||||||
10,243,1,0,0,0,10,243,1,0,0,0,13,41,1,114,
|
1,0,0,0,13,41,1,114,19,0,0,0,41,1,218,6,
|
||||||
19,0,0,0,41,1,218,6,115,111,117,114,99,101,114,9,
|
115,111,117,114,99,101,114,9,0,0,0,114,9,0,0,0,
|
||||||
0,0,0,114,9,0,0,0,114,10,0,0,0,218,23,95,
|
114,10,0,0,0,218,23,95,110,111,114,109,97,108,105,122,
|
||||||
110,111,114,109,97,108,105,122,101,95,108,105,110,101,95,101,
|
101,95,108,105,110,101,95,101,110,100,105,110,103,115,126,2,
|
||||||
110,100,105,110,103,115,126,2,0,0,115,6,0,0,0,0,
|
0,0,115,6,0,0,0,0,1,12,1,12,1,114,159,0,
|
||||||
1,12,1,12,1,114,159,0,0,0,99,2,0,0,0,0,
|
0,0,99,2,0,0,0,0,0,0,0,0,0,0,0,2,
|
||||||
0,0,0,0,0,0,0,2,0,0,0,6,0,0,0,67,
|
0,0,0,6,0,0,0,67,0,0,0,115,24,0,0,0,
|
||||||
0,0,0,115,24,0,0,0,116,0,124,1,131,1,125,1,
|
116,0,124,1,131,1,125,1,116,1,124,1,124,0,100,1,
|
||||||
116,1,124,1,124,0,100,1,100,2,100,3,141,4,83,0,
|
100,2,100,3,141,4,83,0,41,4,78,114,74,0,0,0,
|
||||||
41,4,78,114,74,0,0,0,84,41,1,90,12,100,111,110,
|
84,41,1,90,12,100,111,110,116,95,105,110,104,101,114,105,
|
||||||
116,95,105,110,104,101,114,105,116,41,2,114,159,0,0,0,
|
116,41,2,114,159,0,0,0,218,7,99,111,109,112,105,108,
|
||||||
218,7,99,111,109,112,105,108,101,41,2,114,53,0,0,0,
|
101,41,2,114,53,0,0,0,114,158,0,0,0,114,9,0,
|
||||||
114,158,0,0,0,114,9,0,0,0,114,9,0,0,0,114,
|
0,0,114,9,0,0,0,114,10,0,0,0,218,15,95,99,
|
||||||
10,0,0,0,218,15,95,99,111,109,112,105,108,101,95,115,
|
111,109,112,105,108,101,95,115,111,117,114,99,101,133,2,0,
|
||||||
111,117,114,99,101,133,2,0,0,115,4,0,0,0,0,1,
|
0,115,4,0,0,0,0,1,8,1,114,161,0,0,0,99,
|
||||||
8,1,114,161,0,0,0,99,2,0,0,0,0,0,0,0,
|
2,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,
|
||||||
0,0,0,0,2,0,0,0,11,0,0,0,67,0,0,0,
|
11,0,0,0,67,0,0,0,115,68,0,0,0,116,0,160,
|
||||||
115,68,0,0,0,116,0,160,1,124,0,100,1,63,0,100,
|
1,124,0,100,1,63,0,100,2,23,0,124,0,100,3,63,
|
||||||
2,23,0,124,0,100,3,63,0,100,4,64,0,124,0,100,
|
0,100,4,64,0,124,0,100,5,64,0,124,1,100,6,63,
|
||||||
5,64,0,124,1,100,6,63,0,124,1,100,3,63,0,100,
|
0,124,1,100,3,63,0,100,7,64,0,124,1,100,5,64,
|
||||||
7,64,0,124,1,100,5,64,0,100,8,20,0,100,9,100,
|
0,100,8,20,0,100,9,100,9,100,9,102,9,161,1,83,
|
||||||
9,100,9,102,9,161,1,83,0,41,10,78,233,9,0,0,
|
0,41,10,78,233,9,0,0,0,105,188,7,0,0,233,5,
|
||||||
0,105,188,7,0,0,233,5,0,0,0,233,15,0,0,0,
|
0,0,0,233,15,0,0,0,233,31,0,0,0,233,11,0,
|
||||||
233,31,0,0,0,233,11,0,0,0,233,63,0,0,0,114,
|
0,0,233,63,0,0,0,114,86,0,0,0,114,14,0,0,
|
||||||
86,0,0,0,114,14,0,0,0,41,2,114,131,0,0,0,
|
0,41,2,114,131,0,0,0,90,6,109,107,116,105,109,101,
|
||||||
90,6,109,107,116,105,109,101,41,2,218,1,100,114,138,0,
|
41,2,218,1,100,114,138,0,0,0,114,9,0,0,0,114,
|
||||||
0,0,114,9,0,0,0,114,9,0,0,0,114,10,0,0,
|
9,0,0,0,114,10,0,0,0,218,14,95,112,97,114,115,
|
||||||
0,218,14,95,112,97,114,115,101,95,100,111,115,116,105,109,
|
101,95,100,111,115,116,105,109,101,139,2,0,0,115,22,0,
|
||||||
101,139,2,0,0,115,22,0,0,0,0,1,4,1,10,1,
|
0,0,0,1,4,1,10,1,10,1,6,1,6,1,10,1,
|
||||||
10,1,6,1,6,1,10,1,10,1,2,0,2,0,2,249,
|
10,1,2,0,2,0,2,249,114,169,0,0,0,99,2,0,
|
||||||
114,169,0,0,0,99,2,0,0,0,0,0,0,0,0,0,
|
0,0,0,0,0,0,0,0,0,0,6,0,0,0,10,0,
|
||||||
0,0,6,0,0,0,10,0,0,0,67,0,0,0,115,116,
|
0,0,67,0,0,0,115,116,0,0,0,122,82,124,1,100,
|
||||||
0,0,0,122,82,124,1,100,1,100,0,133,2,25,0,100,
|
1,100,0,133,2,25,0,100,2,107,6,115,22,116,0,130,
|
||||||
2,107,6,115,22,116,0,130,1,124,1,100,0,100,1,133,
|
1,124,1,100,0,100,1,133,2,25,0,125,1,124,0,106,
|
||||||
2,25,0,125,1,124,0,106,1,124,1,25,0,125,2,124,
|
1,124,1,25,0,125,2,124,2,100,3,25,0,125,3,124,
|
||||||
2,100,3,25,0,125,3,124,2,100,4,25,0,125,4,124,
|
2,100,4,25,0,125,4,124,2,100,5,25,0,125,5,116,
|
||||||
2,100,5,25,0,125,5,116,2,124,4,124,3,131,2,124,
|
2,124,4,124,3,131,2,124,5,102,2,87,0,83,0,4,
|
||||||
5,102,2,87,0,83,0,4,0,116,3,116,4,116,5,102,
|
0,116,3,116,4,116,5,102,3,107,10,114,110,1,0,1,
|
||||||
3,107,10,114,110,1,0,1,0,1,0,89,0,100,6,83,
|
0,1,0,89,0,100,6,83,0,88,0,100,0,83,0,41,
|
||||||
0,88,0,100,0,83,0,41,7,78,114,14,0,0,0,169,
|
7,78,114,14,0,0,0,169,2,218,1,99,218,1,111,114,
|
||||||
2,218,1,99,218,1,111,114,163,0,0,0,233,6,0,0,
|
163,0,0,0,233,6,0,0,0,233,3,0,0,0,41,2,
|
||||||
0,233,3,0,0,0,41,2,114,0,0,0,0,114,0,0,
|
114,0,0,0,0,114,0,0,0,0,41,6,218,14,65,115,
|
||||||
0,0,41,6,218,14,65,115,115,101,114,116,105,111,110,69,
|
115,101,114,116,105,111,110,69,114,114,111,114,114,28,0,0,
|
||||||
114,114,111,114,114,28,0,0,0,114,169,0,0,0,114,26,
|
0,114,169,0,0,0,114,26,0,0,0,218,10,73,110,100,
|
||||||
0,0,0,218,10,73,110,100,101,120,69,114,114,111,114,114,
|
101,120,69,114,114,111,114,114,154,0,0,0,41,6,114,32,
|
||||||
154,0,0,0,41,6,114,32,0,0,0,114,13,0,0,0,
|
0,0,0,114,13,0,0,0,114,54,0,0,0,114,131,0,
|
||||||
114,54,0,0,0,114,131,0,0,0,114,132,0,0,0,90,
|
0,0,114,132,0,0,0,90,17,117,110,99,111,109,112,114,
|
||||||
17,117,110,99,111,109,112,114,101,115,115,101,100,95,115,105,
|
101,115,115,101,100,95,115,105,122,101,114,9,0,0,0,114,
|
||||||
122,101,114,9,0,0,0,114,9,0,0,0,114,10,0,0,
|
9,0,0,0,114,10,0,0,0,114,151,0,0,0,152,2,
|
||||||
0,114,151,0,0,0,152,2,0,0,115,20,0,0,0,0,
|
0,0,115,20,0,0,0,0,1,2,2,20,1,12,1,10,
|
||||||
1,2,2,20,1,12,1,10,3,8,1,8,1,8,1,16,
|
3,8,1,8,1,8,1,16,1,20,1,114,151,0,0,0,
|
||||||
1,20,1,114,151,0,0,0,99,2,0,0,0,0,0,0,
|
99,2,0,0,0,0,0,0,0,0,0,0,0,3,0,0,
|
||||||
0,0,0,0,0,3,0,0,0,8,0,0,0,67,0,0,
|
0,8,0,0,0,67,0,0,0,115,86,0,0,0,124,1,
|
||||||
0,115,86,0,0,0,124,1,100,1,100,0,133,2,25,0,
|
100,1,100,0,133,2,25,0,100,2,107,6,115,20,116,0,
|
||||||
100,2,107,6,115,20,116,0,130,1,124,1,100,0,100,1,
|
130,1,124,1,100,0,100,1,133,2,25,0,125,1,122,14,
|
||||||
133,2,25,0,125,1,122,14,124,0,106,1,124,1,25,0,
|
124,0,106,1,124,1,25,0,125,2,87,0,110,22,4,0,
|
||||||
125,2,87,0,110,22,4,0,116,2,107,10,114,68,1,0,
|
116,2,107,10,114,68,1,0,1,0,1,0,89,0,100,0,
|
||||||
1,0,1,0,89,0,100,0,83,0,88,0,116,3,124,0,
|
83,0,88,0,116,3,124,0,106,4,124,2,131,2,83,0,
|
||||||
106,4,124,2,131,2,83,0,100,0,83,0,41,3,78,114,
|
100,0,83,0,41,3,78,114,14,0,0,0,114,170,0,0,
|
||||||
14,0,0,0,114,170,0,0,0,41,5,114,175,0,0,0,
|
0,41,5,114,175,0,0,0,114,28,0,0,0,114,26,0,
|
||||||
114,28,0,0,0,114,26,0,0,0,114,52,0,0,0,114,
|
0,0,114,52,0,0,0,114,29,0,0,0,41,3,114,32,
|
||||||
29,0,0,0,41,3,114,32,0,0,0,114,13,0,0,0,
|
0,0,0,114,13,0,0,0,114,54,0,0,0,114,9,0,
|
||||||
114,54,0,0,0,114,9,0,0,0,114,9,0,0,0,114,
|
0,0,114,9,0,0,0,114,10,0,0,0,114,149,0,0,
|
||||||
10,0,0,0,114,149,0,0,0,171,2,0,0,115,14,0,
|
0,171,2,0,0,115,14,0,0,0,0,2,20,1,12,2,
|
||||||
0,0,0,2,20,1,12,2,2,1,14,1,14,1,8,2,
|
2,1,14,1,14,1,8,2,114,149,0,0,0,99,2,0,
|
||||||
114,149,0,0,0,99,2,0,0,0,0,0,0,0,0,0,
|
0,0,0,0,0,0,0,0,0,0,11,0,0,0,9,0,
|
||||||
0,0,11,0,0,0,9,0,0,0,67,0,0,0,115,198,
|
0,0,67,0,0,0,115,198,0,0,0,116,0,124,0,124,
|
||||||
0,0,0,116,0,124,0,124,1,131,2,125,2,116,1,68,
|
1,131,2,125,2,116,1,68,0,93,160,92,3,125,3,125,
|
||||||
0,93,160,92,3,125,3,125,4,125,5,124,2,124,3,23,
|
4,125,5,124,2,124,3,23,0,125,6,116,2,106,3,100,
|
||||||
0,125,6,116,2,106,3,100,1,124,0,106,4,116,5,124,
|
1,124,0,106,4,116,5,124,6,100,2,100,3,141,5,1,
|
||||||
6,100,2,100,3,141,5,1,0,122,14,124,0,106,6,124,
|
0,122,14,124,0,106,6,124,6,25,0,125,7,87,0,110,
|
||||||
6,25,0,125,7,87,0,110,20,4,0,116,7,107,10,114,
|
20,4,0,116,7,107,10,114,88,1,0,1,0,1,0,89,
|
||||||
88,1,0,1,0,1,0,89,0,113,14,88,0,124,7,100,
|
0,113,14,88,0,124,7,100,4,25,0,125,8,116,8,124,
|
||||||
4,25,0,125,8,116,8,124,0,106,4,124,7,131,2,125,
|
0,106,4,124,7,131,2,125,9,124,4,114,132,116,9,124,
|
||||||
9,124,4,114,132,116,9,124,0,124,8,124,6,124,1,124,
|
0,124,8,124,6,124,1,124,9,131,5,125,10,110,10,116,
|
||||||
9,131,5,125,10,110,10,116,10,124,8,124,9,131,2,125,
|
10,124,8,124,9,131,2,125,10,124,10,100,0,107,8,114,
|
||||||
10,124,10,100,0,107,8,114,152,113,14,124,7,100,4,25,
|
152,113,14,124,7,100,4,25,0,125,8,124,10,124,5,124,
|
||||||
0,125,8,124,10,124,5,124,8,102,3,2,0,1,0,83,
|
8,102,3,2,0,1,0,83,0,113,14,116,11,100,5,124,
|
||||||
0,113,14,116,11,100,5,124,1,155,2,157,2,124,1,100,
|
1,155,2,157,2,124,1,100,6,141,2,130,1,100,0,83,
|
||||||
6,141,2,130,1,100,0,83,0,41,7,78,122,13,116,114,
|
0,41,7,78,122,13,116,114,121,105,110,103,32,123,125,123,
|
||||||
121,105,110,103,32,123,125,123,125,123,125,114,86,0,0,0,
|
125,123,125,114,86,0,0,0,41,1,90,9,118,101,114,98,
|
||||||
41,1,90,9,118,101,114,98,111,115,105,116,121,114,0,0,
|
111,115,105,116,121,114,0,0,0,0,114,57,0,0,0,114,
|
||||||
0,0,114,57,0,0,0,114,58,0,0,0,41,12,114,36,
|
58,0,0,0,41,12,114,36,0,0,0,114,89,0,0,0,
|
||||||
0,0,0,114,89,0,0,0,114,76,0,0,0,114,77,0,
|
114,76,0,0,0,114,77,0,0,0,114,29,0,0,0,114,
|
||||||
0,0,114,29,0,0,0,114,20,0,0,0,114,28,0,0,
|
20,0,0,0,114,28,0,0,0,114,26,0,0,0,114,52,
|
||||||
0,114,26,0,0,0,114,52,0,0,0,114,155,0,0,0,
|
0,0,0,114,155,0,0,0,114,161,0,0,0,114,3,0,
|
||||||
114,161,0,0,0,114,3,0,0,0,41,11,114,32,0,0,
|
0,0,41,11,114,32,0,0,0,114,38,0,0,0,114,13,
|
||||||
0,114,38,0,0,0,114,13,0,0,0,114,90,0,0,0,
|
0,0,0,114,90,0,0,0,114,91,0,0,0,114,47,0,
|
||||||
114,91,0,0,0,114,47,0,0,0,114,63,0,0,0,114,
|
0,0,114,63,0,0,0,114,54,0,0,0,114,40,0,0,
|
||||||
54,0,0,0,114,40,0,0,0,114,126,0,0,0,114,46,
|
0,114,126,0,0,0,114,46,0,0,0,114,9,0,0,0,
|
||||||
0,0,0,114,9,0,0,0,114,9,0,0,0,114,10,0,
|
114,9,0,0,0,114,10,0,0,0,114,44,0,0,0,186,
|
||||||
0,0,114,44,0,0,0,186,2,0,0,115,36,0,0,0,
|
2,0,0,115,36,0,0,0,0,1,10,1,14,1,8,1,
|
||||||
0,1,10,1,14,1,8,1,22,1,2,1,14,1,14,1,
|
22,1,2,1,14,1,14,1,6,2,8,1,12,1,4,1,
|
||||||
6,2,8,1,12,1,4,1,18,2,10,1,8,3,2,1,
|
18,2,10,1,8,3,2,1,8,1,16,2,114,44,0,0,
|
||||||
8,1,16,2,114,44,0,0,0,99,0,0,0,0,0,0,
|
0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,
|
0,0,2,0,0,0,64,0,0,0,115,60,0,0,0,101,
|
||||||
0,0,115,60,0,0,0,101,0,90,1,100,0,90,2,100,
|
0,90,1,100,0,90,2,100,1,90,3,100,2,90,4,100,
|
||||||
1,90,3,100,2,90,4,100,3,100,4,132,0,90,5,100,
|
3,100,4,132,0,90,5,100,5,100,6,132,0,90,6,100,
|
||||||
5,100,6,132,0,90,6,100,7,100,8,132,0,90,7,100,
|
7,100,8,132,0,90,7,100,9,100,10,132,0,90,8,100,
|
||||||
9,100,10,132,0,90,8,100,11,100,12,132,0,90,9,100,
|
11,100,12,132,0,90,9,100,13,83,0,41,14,114,80,0,
|
||||||
13,83,0,41,14,114,80,0,0,0,122,165,80,114,105,118,
|
0,0,122,165,80,114,105,118,97,116,101,32,99,108,97,115,
|
||||||
97,116,101,32,99,108,97,115,115,32,117,115,101,100,32,116,
|
115,32,117,115,101,100,32,116,111,32,115,117,112,112,111,114,
|
||||||
111,32,115,117,112,112,111,114,116,32,90,105,112,73,109,112,
|
116,32,90,105,112,73,109,112,111,114,116,46,103,101,116,95,
|
||||||
111,114,116,46,103,101,116,95,114,101,115,111,117,114,99,101,
|
114,101,115,111,117,114,99,101,95,114,101,97,100,101,114,40,
|
||||||
95,114,101,97,100,101,114,40,41,46,10,10,32,32,32,32,
|
41,46,10,10,32,32,32,32,84,104,105,115,32,99,108,97,
|
||||||
84,104,105,115,32,99,108,97,115,115,32,105,115,32,97,108,
|
115,115,32,105,115,32,97,108,108,111,119,101,100,32,116,111,
|
||||||
108,111,119,101,100,32,116,111,32,114,101,102,101,114,101,110,
|
32,114,101,102,101,114,101,110,99,101,32,97,108,108,32,116,
|
||||||
99,101,32,97,108,108,32,116,104,101,32,105,110,110,97,114,
|
104,101,32,105,110,110,97,114,100,115,32,97,110,100,32,112,
|
||||||
100,115,32,97,110,100,32,112,114,105,118,97,116,101,32,112,
|
114,105,118,97,116,101,32,112,97,114,116,115,32,111,102,10,
|
||||||
97,114,116,115,32,111,102,10,32,32,32,32,116,104,101,32,
|
32,32,32,32,116,104,101,32,122,105,112,105,109,112,111,114,
|
||||||
122,105,112,105,109,112,111,114,116,101,114,46,10,32,32,32,
|
116,101,114,46,10,32,32,32,32,70,99,3,0,0,0,0,
|
||||||
32,70,99,3,0,0,0,0,0,0,0,0,0,0,0,3,
|
0,0,0,0,0,0,0,3,0,0,0,2,0,0,0,67,
|
||||||
0,0,0,2,0,0,0,67,0,0,0,115,16,0,0,0,
|
0,0,0,115,16,0,0,0,124,1,124,0,95,0,124,2,
|
||||||
124,1,124,0,95,0,124,2,124,0,95,1,100,0,83,0,
|
124,0,95,1,100,0,83,0,114,88,0,0,0,41,2,114,
|
||||||
114,88,0,0,0,41,2,114,4,0,0,0,114,38,0,0,
|
4,0,0,0,114,38,0,0,0,41,3,114,32,0,0,0,
|
||||||
0,41,3,114,32,0,0,0,114,4,0,0,0,114,38,0,
|
114,4,0,0,0,114,38,0,0,0,114,9,0,0,0,114,
|
||||||
0,0,114,9,0,0,0,114,9,0,0,0,114,10,0,0,
|
9,0,0,0,114,10,0,0,0,114,34,0,0,0,220,2,
|
||||||
0,114,34,0,0,0,220,2,0,0,115,4,0,0,0,0,
|
0,0,115,4,0,0,0,0,1,6,1,122,33,95,90,105,
|
||||||
1,6,1,122,33,95,90,105,112,73,109,112,111,114,116,82,
|
112,73,109,112,111,114,116,82,101,115,111,117,114,99,101,82,
|
||||||
101,115,111,117,114,99,101,82,101,97,100,101,114,46,95,95,
|
101,97,100,101,114,46,95,95,105,110,105,116,95,95,99,2,
|
||||||
105,110,105,116,95,95,99,2,0,0,0,0,0,0,0,0,
|
0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,8,
|
||||||
0,0,0,5,0,0,0,8,0,0,0,67,0,0,0,115,
|
0,0,0,67,0,0,0,115,92,0,0,0,124,0,106,0,
|
||||||
92,0,0,0,124,0,106,0,160,1,100,1,100,2,161,2,
|
160,1,100,1,100,2,161,2,125,2,124,2,155,0,100,2,
|
||||||
125,2,124,2,155,0,100,2,124,1,155,0,157,3,125,3,
|
124,1,155,0,157,3,125,3,100,3,100,4,108,2,109,3,
|
||||||
100,3,100,4,108,2,109,3,125,4,1,0,122,18,124,4,
|
125,4,1,0,122,18,124,4,124,0,106,4,160,5,124,3,
|
||||||
124,0,106,4,160,5,124,3,161,1,131,1,87,0,83,0,
|
161,1,131,1,87,0,83,0,4,0,116,6,107,10,114,86,
|
||||||
4,0,116,6,107,10,114,86,1,0,1,0,1,0,116,7,
|
1,0,1,0,1,0,116,7,124,3,131,1,130,1,89,0,
|
||||||
124,3,131,1,130,1,89,0,110,2,88,0,100,0,83,0,
|
110,2,88,0,100,0,83,0,41,5,78,114,85,0,0,0,
|
||||||
41,5,78,114,85,0,0,0,114,109,0,0,0,114,0,0,
|
114,109,0,0,0,114,0,0,0,0,41,1,218,7,66,121,
|
||||||
0,0,41,1,218,7,66,121,116,101,115,73,79,41,8,114,
|
116,101,115,73,79,41,8,114,38,0,0,0,114,19,0,0,
|
||||||
38,0,0,0,114,19,0,0,0,90,2,105,111,114,177,0,
|
0,90,2,105,111,114,177,0,0,0,114,4,0,0,0,114,
|
||||||
0,0,114,4,0,0,0,114,55,0,0,0,114,22,0,0,
|
55,0,0,0,114,22,0,0,0,218,17,70,105,108,101,78,
|
||||||
0,218,17,70,105,108,101,78,111,116,70,111,117,110,100,69,
|
111,116,70,111,117,110,100,69,114,114,111,114,41,5,114,32,
|
||||||
114,114,111,114,41,5,114,32,0,0,0,218,8,114,101,115,
|
0,0,0,218,8,114,101,115,111,117,114,99,101,218,16,102,
|
||||||
111,117,114,99,101,218,16,102,117,108,108,110,97,109,101,95,
|
117,108,108,110,97,109,101,95,97,115,95,112,97,116,104,114,
|
||||||
97,115,95,112,97,116,104,114,13,0,0,0,114,177,0,0,
|
13,0,0,0,114,177,0,0,0,114,9,0,0,0,114,9,
|
||||||
0,114,9,0,0,0,114,9,0,0,0,114,10,0,0,0,
|
0,0,0,114,10,0,0,0,218,13,111,112,101,110,95,114,
|
||||||
218,13,111,112,101,110,95,114,101,115,111,117,114,99,101,224,
|
101,115,111,117,114,99,101,224,2,0,0,115,14,0,0,0,
|
||||||
2,0,0,115,14,0,0,0,0,1,14,1,14,1,12,1,
|
0,1,14,1,14,1,12,1,2,1,18,1,14,1,122,38,
|
||||||
2,1,18,1,14,1,122,38,95,90,105,112,73,109,112,111,
|
95,90,105,112,73,109,112,111,114,116,82,101,115,111,117,114,
|
||||||
114,116,82,101,115,111,117,114,99,101,82,101,97,100,101,114,
|
99,101,82,101,97,100,101,114,46,111,112,101,110,95,114,101,
|
||||||
46,111,112,101,110,95,114,101,115,111,117,114,99,101,99,2,
|
115,111,117,114,99,101,99,2,0,0,0,0,0,0,0,0,
|
||||||
0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,
|
0,0,0,2,0,0,0,1,0,0,0,67,0,0,0,115,
|
||||||
0,0,0,67,0,0,0,115,8,0,0,0,116,0,130,1,
|
8,0,0,0,116,0,130,1,100,0,83,0,114,88,0,0,
|
||||||
100,0,83,0,114,88,0,0,0,41,1,114,178,0,0,0,
|
0,41,1,114,178,0,0,0,41,2,114,32,0,0,0,114,
|
||||||
41,2,114,32,0,0,0,114,179,0,0,0,114,9,0,0,
|
179,0,0,0,114,9,0,0,0,114,9,0,0,0,114,10,
|
||||||
0,114,9,0,0,0,114,10,0,0,0,218,13,114,101,115,
|
0,0,0,218,13,114,101,115,111,117,114,99,101,95,112,97,
|
||||||
111,117,114,99,101,95,112,97,116,104,233,2,0,0,115,2,
|
116,104,233,2,0,0,115,2,0,0,0,0,4,122,38,95,
|
||||||
0,0,0,0,4,122,38,95,90,105,112,73,109,112,111,114,
|
90,105,112,73,109,112,111,114,116,82,101,115,111,117,114,99,
|
||||||
116,82,101,115,111,117,114,99,101,82,101,97,100,101,114,46,
|
101,82,101,97,100,101,114,46,114,101,115,111,117,114,99,101,
|
||||||
114,101,115,111,117,114,99,101,95,112,97,116,104,99,2,0,
|
95,112,97,116,104,99,2,0,0,0,0,0,0,0,0,0,
|
||||||
0,0,0,0,0,0,0,0,0,0,4,0,0,0,8,0,
|
0,0,4,0,0,0,8,0,0,0,67,0,0,0,115,72,
|
||||||
0,0,67,0,0,0,115,72,0,0,0,124,0,106,0,160,
|
0,0,0,124,0,106,0,160,1,100,1,100,2,161,2,125,
|
||||||
1,100,1,100,2,161,2,125,2,124,2,155,0,100,2,124,
|
2,124,2,155,0,100,2,124,1,155,0,157,3,125,3,122,
|
||||||
1,155,0,157,3,125,3,122,16,124,0,106,2,160,3,124,
|
16,124,0,106,2,160,3,124,3,161,1,1,0,87,0,110,
|
||||||
3,161,1,1,0,87,0,110,22,4,0,116,4,107,10,114,
|
22,4,0,116,4,107,10,114,66,1,0,1,0,1,0,89,
|
||||||
66,1,0,1,0,1,0,89,0,100,3,83,0,88,0,100,
|
0,100,3,83,0,88,0,100,4,83,0,41,5,78,114,85,
|
||||||
4,83,0,41,5,78,114,85,0,0,0,114,109,0,0,0,
|
0,0,0,114,109,0,0,0,70,84,41,5,114,38,0,0,
|
||||||
70,84,41,5,114,38,0,0,0,114,19,0,0,0,114,4,
|
0,114,19,0,0,0,114,4,0,0,0,114,55,0,0,0,
|
||||||
0,0,0,114,55,0,0,0,114,22,0,0,0,41,4,114,
|
114,22,0,0,0,41,4,114,32,0,0,0,114,59,0,0,
|
||||||
32,0,0,0,114,59,0,0,0,114,180,0,0,0,114,13,
|
0,114,180,0,0,0,114,13,0,0,0,114,9,0,0,0,
|
||||||
0,0,0,114,9,0,0,0,114,9,0,0,0,114,10,0,
|
114,9,0,0,0,114,10,0,0,0,218,11,105,115,95,114,
|
||||||
0,0,218,11,105,115,95,114,101,115,111,117,114,99,101,239,
|
101,115,111,117,114,99,101,239,2,0,0,115,14,0,0,0,
|
||||||
2,0,0,115,14,0,0,0,0,3,14,1,14,1,2,1,
|
0,3,14,1,14,1,2,1,16,1,14,1,8,1,122,36,
|
||||||
16,1,14,1,8,1,122,36,95,90,105,112,73,109,112,111,
|
95,90,105,112,73,109,112,111,114,116,82,101,115,111,117,114,
|
||||||
114,116,82,101,115,111,117,114,99,101,82,101,97,100,101,114,
|
99,101,82,101,97,100,101,114,46,105,115,95,114,101,115,111,
|
||||||
46,105,115,95,114,101,115,111,117,114,99,101,99,1,0,0,
|
117,114,99,101,99,1,0,0,0,0,0,0,0,0,0,0,
|
||||||
0,0,0,0,0,0,0,0,0,9,0,0,0,9,0,0,
|
0,9,0,0,0,9,0,0,0,99,0,0,0,115,186,0,
|
||||||
0,99,0,0,0,115,186,0,0,0,100,1,100,2,108,0,
|
0,0,100,1,100,2,108,0,109,1,125,1,1,0,124,1,
|
||||||
109,1,125,1,1,0,124,1,124,0,106,2,160,3,124,0,
|
124,0,106,2,160,3,124,0,106,4,161,1,131,1,125,2,
|
||||||
106,4,161,1,131,1,125,2,124,2,160,5,124,0,106,2,
|
124,2,160,5,124,0,106,2,106,6,161,1,125,3,124,3,
|
||||||
106,6,161,1,125,3,124,3,106,7,100,3,107,2,115,58,
|
106,7,100,3,107,2,115,58,116,8,130,1,124,3,106,9,
|
||||||
116,8,130,1,124,3,106,9,125,4,116,10,131,0,125,5,
|
125,4,116,10,131,0,125,5,124,0,106,2,106,11,68,0,
|
||||||
124,0,106,2,106,11,68,0,93,102,125,6,122,18,124,1,
|
93,102,125,6,122,18,124,1,124,6,131,1,160,5,124,4,
|
||||||
124,6,131,1,160,5,124,4,161,1,125,7,87,0,110,24,
|
161,1,125,7,87,0,110,24,4,0,116,12,107,10,114,124,
|
||||||
4,0,116,12,107,10,114,124,1,0,1,0,1,0,89,0,
|
1,0,1,0,1,0,89,0,113,78,89,0,110,2,88,0,
|
||||||
113,78,89,0,110,2,88,0,124,7,106,9,106,7,125,8,
|
124,7,106,9,106,7,125,8,116,13,124,8,131,1,100,1,
|
||||||
116,13,124,8,131,1,100,1,107,2,114,156,124,7,106,7,
|
107,2,114,156,124,7,106,7,86,0,1,0,113,78,124,8,
|
||||||
86,0,1,0,113,78,124,8,124,5,107,7,114,78,124,5,
|
124,5,107,7,114,78,124,5,160,14,124,8,161,1,1,0,
|
||||||
160,14,124,8,161,1,1,0,124,8,86,0,1,0,113,78,
|
124,8,86,0,1,0,113,78,100,0,83,0,41,4,78,114,
|
||||||
100,0,83,0,41,4,78,114,0,0,0,0,41,1,218,4,
|
0,0,0,0,41,1,218,4,80,97,116,104,114,60,0,0,
|
||||||
80,97,116,104,114,60,0,0,0,41,15,90,7,112,97,116,
|
0,41,15,90,7,112,97,116,104,108,105,98,114,184,0,0,
|
||||||
104,108,105,98,114,184,0,0,0,114,4,0,0,0,114,56,
|
0,114,4,0,0,0,114,56,0,0,0,114,38,0,0,0,
|
||||||
0,0,0,114,38,0,0,0,90,11,114,101,108,97,116,105,
|
90,11,114,101,108,97,116,105,118,101,95,116,111,114,29,0,
|
||||||
118,101,95,116,111,114,29,0,0,0,114,59,0,0,0,114,
|
0,0,114,59,0,0,0,114,175,0,0,0,90,6,112,97,
|
||||||
175,0,0,0,90,6,112,97,114,101,110,116,218,3,115,101,
|
114,101,110,116,218,3,115,101,116,114,28,0,0,0,114,23,
|
||||||
116,114,28,0,0,0,114,23,0,0,0,114,51,0,0,0,
|
0,0,0,114,51,0,0,0,218,3,97,100,100,41,9,114,
|
||||||
218,3,97,100,100,41,9,114,32,0,0,0,114,184,0,0,
|
32,0,0,0,114,184,0,0,0,90,13,102,117,108,108,110,
|
||||||
0,90,13,102,117,108,108,110,97,109,101,95,112,97,116,104,
|
97,109,101,95,112,97,116,104,90,13,114,101,108,97,116,105,
|
||||||
90,13,114,101,108,97,116,105,118,101,95,112,97,116,104,90,
|
118,101,95,112,97,116,104,90,12,112,97,99,107,97,103,101,
|
||||||
12,112,97,99,107,97,103,101,95,112,97,116,104,90,12,115,
|
95,112,97,116,104,90,12,115,117,98,100,105,114,115,95,115,
|
||||||
117,98,100,105,114,115,95,115,101,101,110,218,8,102,105,108,
|
101,101,110,218,8,102,105,108,101,110,97,109,101,90,8,114,
|
||||||
101,110,97,109,101,90,8,114,101,108,97,116,105,118,101,90,
|
101,108,97,116,105,118,101,90,11,112,97,114,101,110,116,95,
|
||||||
11,112,97,114,101,110,116,95,110,97,109,101,114,9,0,0,
|
110,97,109,101,114,9,0,0,0,114,9,0,0,0,114,10,
|
||||||
0,114,9,0,0,0,114,10,0,0,0,218,8,99,111,110,
|
0,0,0,218,8,99,111,110,116,101,110,116,115,250,2,0,
|
||||||
116,101,110,116,115,250,2,0,0,115,34,0,0,0,0,8,
|
0,115,34,0,0,0,0,8,12,1,18,1,14,3,14,1,
|
||||||
12,1,18,1,14,3,14,1,6,1,6,1,12,1,2,1,
|
6,1,6,1,12,1,2,1,18,1,14,1,10,5,8,1,
|
||||||
18,1,14,1,10,5,8,1,12,1,10,1,8,1,10,1,
|
12,1,10,1,8,1,10,1,122,33,95,90,105,112,73,109,
|
||||||
122,33,95,90,105,112,73,109,112,111,114,116,82,101,115,111,
|
112,111,114,116,82,101,115,111,117,114,99,101,82,101,97,100,
|
||||||
117,114,99,101,82,101,97,100,101,114,46,99,111,110,116,101,
|
101,114,46,99,111,110,116,101,110,116,115,78,41,10,114,6,
|
||||||
110,116,115,78,41,10,114,6,0,0,0,114,7,0,0,0,
|
0,0,0,114,7,0,0,0,114,8,0,0,0,114,84,0,
|
||||||
114,8,0,0,0,114,84,0,0,0,114,81,0,0,0,114,
|
0,0,114,81,0,0,0,114,34,0,0,0,114,181,0,0,
|
||||||
34,0,0,0,114,181,0,0,0,114,182,0,0,0,114,183,
|
0,114,182,0,0,0,114,183,0,0,0,114,188,0,0,0,
|
||||||
0,0,0,114,188,0,0,0,114,9,0,0,0,114,9,0,
|
114,9,0,0,0,114,9,0,0,0,114,9,0,0,0,114,
|
||||||
0,0,114,9,0,0,0,114,10,0,0,0,114,80,0,0,
|
10,0,0,0,114,80,0,0,0,212,2,0,0,115,14,0,
|
||||||
0,212,2,0,0,115,14,0,0,0,8,1,4,5,4,2,
|
0,0,8,1,4,5,4,2,8,4,8,9,8,6,8,11,
|
||||||
8,4,8,9,8,6,8,11,114,80,0,0,0,41,45,114,
|
114,80,0,0,0,41,45,114,84,0,0,0,90,26,95,102,
|
||||||
84,0,0,0,90,26,95,102,114,111,122,101,110,95,105,109,
|
114,111,122,101,110,95,105,109,112,111,114,116,108,105,98,95,
|
||||||
112,111,114,116,108,105,98,95,101,120,116,101,114,110,97,108,
|
101,120,116,101,114,110,97,108,114,21,0,0,0,114,1,0,
|
||||||
114,21,0,0,0,114,1,0,0,0,114,2,0,0,0,90,
|
0,0,114,2,0,0,0,90,17,95,102,114,111,122,101,110,
|
||||||
17,95,102,114,111,122,101,110,95,105,109,112,111,114,116,108,
|
95,105,109,112,111,114,116,108,105,98,114,76,0,0,0,114,
|
||||||
105,98,114,76,0,0,0,114,148,0,0,0,114,110,0,0,
|
148,0,0,0,114,110,0,0,0,114,152,0,0,0,114,67,
|
||||||
0,114,152,0,0,0,114,67,0,0,0,114,131,0,0,0,
|
0,0,0,114,131,0,0,0,90,7,95,95,97,108,108,95,
|
||||||
90,7,95,95,97,108,108,95,95,114,20,0,0,0,90,15,
|
95,114,20,0,0,0,90,15,112,97,116,104,95,115,101,112,
|
||||||
112,97,116,104,95,115,101,112,97,114,97,116,111,114,115,114,
|
97,114,97,116,111,114,115,114,18,0,0,0,114,75,0,0,
|
||||||
18,0,0,0,114,75,0,0,0,114,3,0,0,0,114,25,
|
0,114,3,0,0,0,114,25,0,0,0,218,4,116,121,112,
|
||||||
0,0,0,218,4,116,121,112,101,114,70,0,0,0,114,113,
|
101,114,70,0,0,0,114,113,0,0,0,114,115,0,0,0,
|
||||||
0,0,0,114,115,0,0,0,114,117,0,0,0,114,4,0,
|
114,117,0,0,0,114,4,0,0,0,114,89,0,0,0,114,
|
||||||
0,0,114,89,0,0,0,114,36,0,0,0,114,37,0,0,
|
36,0,0,0,114,37,0,0,0,114,35,0,0,0,114,27,
|
||||||
0,114,35,0,0,0,114,27,0,0,0,114,122,0,0,0,
|
0,0,0,114,122,0,0,0,114,142,0,0,0,114,144,0,
|
||||||
114,142,0,0,0,114,144,0,0,0,114,52,0,0,0,114,
|
0,0,114,52,0,0,0,114,147,0,0,0,114,155,0,0,
|
||||||
147,0,0,0,114,155,0,0,0,218,8,95,95,99,111,100,
|
0,218,8,95,95,99,111,100,101,95,95,114,153,0,0,0,
|
||||||
101,95,95,114,153,0,0,0,114,159,0,0,0,114,161,0,
|
114,159,0,0,0,114,161,0,0,0,114,169,0,0,0,114,
|
||||||
0,0,114,169,0,0,0,114,151,0,0,0,114,149,0,0,
|
151,0,0,0,114,149,0,0,0,114,44,0,0,0,114,80,
|
||||||
0,114,44,0,0,0,114,80,0,0,0,114,9,0,0,0,
|
0,0,0,114,9,0,0,0,114,9,0,0,0,114,9,0,
|
||||||
114,9,0,0,0,114,9,0,0,0,114,10,0,0,0,218,
|
0,0,114,10,0,0,0,218,8,60,109,111,100,117,108,101,
|
||||||
8,60,109,111,100,117,108,101,62,1,0,0,0,115,88,0,
|
62,1,0,0,0,115,88,0,0,0,4,16,8,1,16,1,
|
||||||
0,0,4,16,8,1,16,1,8,1,8,1,8,1,8,1,
|
8,1,8,1,8,1,8,1,8,1,8,2,8,3,6,1,
|
||||||
8,1,8,2,8,3,6,1,14,3,16,4,4,2,8,2,
|
14,3,16,4,4,2,8,2,4,1,4,1,4,2,14,127,
|
||||||
4,1,4,1,4,2,14,127,0,127,0,1,12,1,12,1,
|
0,127,0,1,12,1,12,1,2,1,2,252,4,9,8,4,
|
||||||
2,1,2,252,4,9,8,4,8,9,8,31,8,126,2,254,
|
8,9,8,31,8,126,2,254,2,29,4,5,8,21,8,46,
|
||||||
2,29,4,5,8,21,8,46,8,10,8,46,10,5,8,7,
|
8,10,8,46,10,5,8,7,8,6,8,13,8,19,8,15,
|
||||||
8,6,8,13,8,19,8,15,8,26,
|
8,26,
|
||||||
};
|
};
|
||||||
|
|
|
@ -250,12 +250,16 @@ PyCode_Optimize(PyObject *code, PyObject* consts, PyObject *names,
|
||||||
lnotab = (unsigned char*)PyBytes_AS_STRING(lnotab_obj);
|
lnotab = (unsigned char*)PyBytes_AS_STRING(lnotab_obj);
|
||||||
tabsiz = PyBytes_GET_SIZE(lnotab_obj);
|
tabsiz = PyBytes_GET_SIZE(lnotab_obj);
|
||||||
assert(tabsiz == 0 || Py_REFCNT(lnotab_obj) == 1);
|
assert(tabsiz == 0 || Py_REFCNT(lnotab_obj) == 1);
|
||||||
if (memchr(lnotab, 255, tabsiz) != NULL) {
|
|
||||||
/* 255 value are used for multibyte bytecode instructions */
|
/* Don't optimize if lnotab contains instruction pointer delta larger
|
||||||
goto exitUnchanged;
|
than +255 (encoded as multiple bytes), just to keep the peephole optimizer
|
||||||
|
simple. The optimizer leaves line number deltas unchanged. */
|
||||||
|
|
||||||
|
for (j = 0; j < tabsiz; j += 2) {
|
||||||
|
if (lnotab[j] == 255) {
|
||||||
|
goto exitUnchanged;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
/* Note: -128 and 127 special values for line number delta are ok,
|
|
||||||
the peephole optimizer doesn't modify line numbers. */
|
|
||||||
|
|
||||||
assert(PyBytes_Check(code));
|
assert(PyBytes_Check(code));
|
||||||
Py_ssize_t codesize = PyBytes_GET_SIZE(code);
|
Py_ssize_t codesize = PyBytes_GET_SIZE(code);
|
||||||
|
|
Loading…
Reference in New Issue