Skip to content
Snippets Groups Projects
Commit ca122505 authored by Tue Herlau's avatar Tue Herlau
Browse files

Options

parent a9bc2f95
No related branches found
No related tags found
No related merge requests found
Showing
with 515 additions and 7 deletions
File added
File added
File added
File added
No preview for this file type
No preview for this file type
File added
File added
File added
...@@ -31,10 +31,10 @@ class LinearRegressionQuestion(QuestionGroup): ...@@ -31,10 +31,10 @@ class LinearRegressionQuestion(QuestionGroup):
def process_output(self, res, txt, numbers): def process_output(self, res, txt, numbers):
return numbers[-1] return numbers[-1]
class Report0(Report): class Report1(Report):
title = "CS 101 Report 1" title = "CS 101 Report 1"
questions = [(ListReversalQuestion, 5), (LinearRegressionQuestion, 13)] questions = [(ListReversalQuestion, 5), (LinearRegressionQuestion, 13)]
pack_imports = [homework1] # Include this file in .token file pack_imports = [homework1] # Include this file in .token file
if __name__ == "__main__": if __name__ == "__main__":
evaluate_report_student(Report0()) evaluate_report_student(Report1())
from unitgrade.unitgrade import QuestionGroup, Report, QPrintItem, Hidden
class ListReversalQuestion(QuestionGroup):
title = "Reversal of list"
class ListReversalItem(QPrintItem):
l = [1, 3, 5, 1, 610]
def compute_answer_print(self):
from cs101courseware.homework1 import reverse_list
print(reverse_list(self.l))
class ListReversalWordsItem(ListReversalItem):
l = ["hello", "world", "summer", "dog"]
class ListReversalWordsItemHidden(ListReversalItem, Hidden):
l = ["hello", "world", "summer", "dog"]
# class LinearRegressionQuestion(QuestionGroup):
# title = "Linear regression and Boston dataset"
# class CoefficientsItem(QPrintItem):
# testfun = QPrintItem.assertL2
# tol = 0.03
#
# def compute_answer_print(self):
# from cs101courseware_example.homework1 import boston_linear
# boston_linear()
#
# def process_output(self, res, txt, numbers):
# return numbers[:-1]
#
# class RMSEItem(CoefficientsItem):
# def process_output(self, res, txt, numbers):
# return numbers[-1]
class Report2(Report):
title = "CS 101 Report 2"
questions = [(ListReversalQuestion, 5), ]
pack_imports = [] # Include this file in .token file
if __name__ == "__main__":
# from unitgrade_private.hidden_create_files import setup_answers, setup_grade_file_report
from unitgrade.unitgrade_helpers import evaluate_report_student
# setup_grade_file_report(Report2, minify=True, bzip=True, obfuscate=True)
# evaluate_report_student(Report2())
evaluate_report_student(Report2())
This diff is collapsed.
import inspect, os import inspect, os
import shutil import shutil
import unitgrade as ug import unitgrade as ug
from cs101courseware.cs101report1 import Report0 from cs101courseware.cs101report1 import Report1
from unitgrade_private.hidden_create_files import setup_answers, setup_grade_file_report from unitgrade_private.hidden_create_files import setup_answers, setup_grade_file_report
from unitgrade.unitgrade_helpers import evaluate_report_student from unitgrade.unitgrade_helpers import evaluate_report_student
if __name__ == "__main__": if __name__ == "__main__":
report = Report0() setup_answers(Report1()) # hidden for students; re-computes the answers file.
setup_answers(Report0()) # hidden for students; re-computes the answers file. setup_grade_file_report(Report1, minify=True, bzip=True, obfuscate=True)
setup_grade_file_report(Report0, minify=True, bzip=True, obfuscate=True) evaluate_report_student(Report1())
evaluate_report_student(Report0())
# now copy scripts to public directory # now copy scripts to public directory
dest = os.path.join( os.path.dirname(inspect.getfile(ug)), "../cs101courseware_example") dest = os.path.join( os.path.dirname(inspect.getfile(ug)), "../cs101courseware_example")
...@@ -18,3 +17,12 @@ if __name__ == "__main__": ...@@ -18,3 +17,12 @@ if __name__ == "__main__":
if f == "__pycache__" or f.endswith(".token") or "deploy" in f: if f == "__pycache__" or f.endswith(".token") or "deploy" in f:
continue continue
shutil.copy(f, dest) shutil.copy(f, dest)
## Report 2
from cs101courseware.cs101report2 import Report2
# from unitgrade_private.hidden_create_files import setup_answers, setup_grade_file_report
# from unitgrade.unitgrade_helpers import evaluate_report_student
setup_grade_file_report(Report2, minify=True, bzip=True, obfuscate=True)
# evaluate_report_student(Report2())
import inspect, os
import shutil
import unitgrade as ug
from cs101courseware.cs101report1 import Report1
from unitgrade_private.hidden_create_files import setup_answers, setup_grade_file_report
from unitgrade.unitgrade_helpers import evaluate_report_student
if __name__ == "__main__":
# setup_answers(Report1()) # hidden for students; re-computes the answers file.
# setup_grade_file_report(Report1, minify=True, bzip=True, obfuscate=True)
# evaluate_report_student(Report1())
#
# # now copy scripts to public directory
# dest = os.path.join( os.path.dirname(inspect.getfile(ug)), "../cs101courseware_example")
# source = os.path.dirname(__file__)
# for f in os.listdir(source):
# if f == "__pycache__" or f.endswith(".token") or "deploy" in f:
# continue
# shutil.copy(f, dest)
## Report 2
from cs101courseware.cs101report2 import Report2
# from unitgrade_private.hidden_create_files import setup_answers, setup_grade_file_report
# from unitgrade.unitgrade_helpers import evaluate_report_student
setup_grade_file_report(Report2, minify=False, bzip=False, obfuscate=False)
# evaluate_report_student(Report2())
File added
__pyarmor__(__name__, __file__, b'\x50\x59\x41\x52\x4d\x4f\x52\x00\x00\x03\x06\x00\x33\x0d\x0d\x0a\x04\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x40\x00\x00\x00\xad\x00\x00\x00\x00\x00\x00\x10\x78\x6a\x3a\xbd\xc0\x4b\x66\xe8\xda\xc8\xfc\x5a\x8e\x28\xf6\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x65\x84\xea\x32\x96\xe5\xe1\x61\xe0\xed\xcc\x1f\x68\xe0\xa6\x19\xb5\x50\x43\x0d\x9b\x78\x18\x7a\x3d\xa1\x95\xec\xca\x3a\x9f\x55\xf2\x4d\x27\xc3\x91\xec\x37\x2c\xaf\x59\xa6\x5f\xec\xcc\x3f\x4e\x7a\x88\xa4\x0c\x08\xd0\x38\x85\x82\xe2\x96\x0e\xb2\xd7\x33\x78\xe3\x88\x20\x5a\xb5\x58\x58\x1b\x19\x89\xe7\xc4\xfd\xa9\x21\xf5\x3e\x6f\x67\xb8\x65\xed\x51\xa9\xb4\x6d\xf4\x27\x89\x03\x7a\xfc\x9c\xa6\xcb\x3d\x6c\xb6\x3c\x57\x7b\xb5\x17\x16\x3f\x36\x55\xb7\x74\xc1\xe4\xe1\xc2\x32\xf6\x6a\x43\x39\x28\xbe\x4d\x11\xd8\x65\x69\xdf\x73\x18\x7b\xe7\xbd\xd2\x9b\x90\x98\x1a\xb2\x57\x00\x54\x9a\x31\xed\x70\xb6\x77\x20\xef\xa4\x97\x8e\x36\x16\x21\x59\x23\xb3\x93\x15\x69\x16\x49\xf1\xb3\x1c\xa3\x5c\x00\x02', 2)
\ No newline at end of file
__pyarmor__(__name__, __file__, b'\x50\x59\x41\x52\x4d\x4f\x52\x00\x00\x03\x06\x00\x33\x0d\x0d\x0a\x04\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x40\x00\x00\x00\x1e\x0e\x00\x00\x00\x00\x00\x10\x77\x89\xb4\xc8\x07\xe3\xcc\xe2\xbb\xeb\xff\x91\x82\x41\xd1\xab\x00\x00\x00\x00\x00\x00\x00\x00\x57\xb9\x70\xe7\xdb\x7a\xc9\xf6\x5f\x71\x69\xed\xe2\xb5\x54\xf3\x40\x56\x41\xd8\x8f\x44\xbb\x6d\xc8\x85\xcc\x3b\x17\x1b\x0e\xbb\xc3\xc5\xc4\x52\x61\xd7\x4d\x60\xb3\x24\xf7\xee\xeb\xee\x4e\x0a\x94\x53\xba\xf7\x9b\x4e\x02\xee\x81\xe3\xc6\xa6\x92\x12\x11\x92\x3e\x43\xf0\x39\xd6\x91\x05\xbd\x00\xb7\xae\x6f\x53\xce\xdf\x0e\xe8\xe0\x36\xcc\x31\xb1\xfb\xc0\xab\x71\x5f\x74\x2e\x92\xf3\x6d\xb0\x66\xdd\xfa\x6b\x6b\xf8\xd5\x16\xeb\xae\x30\x39\xcb\x26\xaa\xb8\x1a\xea\x8f\x9e\xac\x16\x72\x51\xd3\x22\x80\xdd\xda\xcc\x55\xfe\xfc\x3d\xbd\x5c\x27\x8e\xb5\xc9\x77\xb5\x40\x18\xec\x2e\xfa\xd2\x19\x49\xdd\x47\x83\xe6\x1a\x05\x80\x59\x64\x79\x5b\x07\xdf\x73\x0e\x63\xdf\x38\x3c\x97\xc8\x7b\xd6\xae\x96\xf3\x05\x0a\xf5\x7e\xe2\x65\xfe\x61\x73\x0c\xa7\x3a\x28\xa4\xc2\xbe\x23\x2d\xdf\x75\x05\x71\xe5\x54\x21\x13\xf7\x87\x79\x62\xcc\xda\x1d\xd8\xc5\x6f\x45\x8f\x99\xeb\x3a\x05\x37\x1a\x4b\x87\x76\xa0\x4a\xf9\x0e\x55\xe7\x8e\xe5\x1c\x20\xbe\xbb\xcb\xd4\x6f\xd4\x0a\x72\x8f\xfc\x0a\xc4\x92\x89\xd2\xfd\x67\x85\xe8\x4e\x6f\x56\xe4\x63\xb6\x43\x28\x52\x9f\x05\x16\x7f\x35\xad\xcb\x6e\xee\x6e\x49\x4c\x44\xdf\xc0\x65\xc0\x38\xab\x46\xa6\x0a\x15\x79\xf0\x72\x02\xd7\xa2\x16\x43\xee\xa5\x72\x6f\x84\x0d\xfd\xe9\xfd\x85\xdc\x0d\x4c\xa2\x1f\x6c\xdc\x58\xc7\x6b\xd2\x6f\xdd\x33\xdf\x47\x76\x24\x08\xc7\xb2\x4f\x8b\x55\x15\xd4\x6d\xc8\xcd\xc7\x39\xff\x0a\x38\xd9\x8d\x23\xfa\x5e\x3a\xda\xd7\xea\xc1\x49\x3f\x54\x56\x20\x7b\x3d\x06\x79\xb0\x7f\x5e\xfe\x22\x14\x57\x81\x79\xea\xfb\xd7\x15\x1f\x05\x67\x8c\x7d\xf5\x30\x8b\x0c\x94\x51\x7d\x44\xb2\x36\x5c\x5e\xd1\x7e\x4f\xf5\x97\x13\x7d\xe3\x63\xd0\x06\x57\xcd\x43\x3c\xd0\xbe\x12\x12\x9f\x24\xf0\x4f\x00\x50\xc8\x17\x6f\x80\x7b\xc6\x75\x8f\x96\xd8\xa9\x23\x73\xe9\xc8\xe3\xae\xa3\x4f\x0e\xb0\x1e\x29\x0d\x06\x82\x32\x78\xf3\xbc\x6d\x50\x84\xe4\xe3\xff\xfe\xa5\xbf\xad\x5a\x08\xe7\xae\x84\x91\xac\x88\x0d\xad\xda\xb6\xc3\x59\x4d\xc2\x69\x03\xfe\x4d\xd5\xed\x59\xd9\xca\x89\x59\x2a\x50\xf5\x0f\x22\x81\xf9\x32\x90\x3d\xd8\x0d\x46\xce\x5d\x6f\xe4\x04\xf7\x5d\x76\x15\x5b\xb7\xa9\x1b\xea\xc4\x1a\xcf\x5c\x10\x23\xe0\xa2\x85\xa1\xbe\x06\x62\xeb\xf7\x36\x3f\xd4\xc8\x19\x4e\xa5\xc9\x01\x1c\xf5\x8e\xa3\x60\xef\xb9\xf5\x32\xdc\xd8\xb9\x21\x83\x34\x29\x1b\xbd\x2a\x4f\xac\xe5\x4b\xb1\xf7\xf0\xae\x02\xa2\x2e\xc9\xd9\x19\x91\x0b\x86\x99\x75\xf9\xef\x0c\xe4\x0a\x25\xd8\xde\x2e\x42\x7f\x8e\x6f\x35\xde\x72\x15\x87\xac\x1e\x96\x20\x4c\x94\x7a\x75\x87\xc2\x3b\x5d\x43\x0e\xa5\x5a\x1f\xdd\x2a\xf1\xf4\x27\xe5\x01\xea\xec\x4a\x17\xc3\x7c\xbf\xc4\xc5\xb8\x64\x5f\xbb\x11\x7d\x31\x2e\xdd\x66\x4d\x91\x7f\x4a\x0e\xf0\x56\x43\x4f\x70\xfb\x97\xcc\x11\x73\x8a\xf4\x71\xc4\xfc\xc7\x45\x10\x2b\xb0\x3f\xb5\x69\x6d\x41\x19\x83\x15\x5a\x31\x39\x68\xf4\x9a\xa1\x89\x62\x56\x91\xa7\xcd\x42\x12\x0b\xba\x1c\xc0\x30\xb8\xc4\xc2\xf2\x98\x17\x33\x59\x03\x21\x84\x1b\xf2\xf3\x7d\xac\xfb\x0f\x3b\x81\xeb\x05\xe7\xba\x8a\x59\xed\xdb\x2b\x27\x39\x5f\xd6\x0e\x4a\x36\x91\xe5\x34\x63\x7a\x27\xf6\x61\x13\xba\x06\x31\xef\x4e\x37\x15\xcb\x3c\x44\xd2\xd1\xa6\x66\xa2\x42\xa7\xdf\xc5\xe8\xf5\x64\xfc\x07\x44\x70\x3f\xac\x0e\x4a\x4c\x13\xea\x34\xb9\xec\x0a\xb3\x0e\x51\xc0\x2c\xe1\xc7\x43\xb3\x5f\x01\x69\xef\xef\x56\x80\xf9\x7a\x93\xdc\xfa\x48\x8e\x1d\x51\x3a\x29\xb6\x27\xe0\x5f\x9f\x8b\x14\xac\xb9\xa3\xaa\xb7\xdd\x64\x6d\x99\x75\xb0\xeb\x63\x98\x09\x8e\x27\x69\x65\x2a\x5c\x9b\xbf\xe6\x3b\x6f\xac\x28\x22\xb9\x6b\xb2\xd5\x1a\x1a\xe3\x3e\x08\xb4\xdc\xce\x7f\xcb\x26\xcf\x24\x59\xe9\x56\x4d\x65\xd8\x3b\x58\xca\xec\x21\x44\x5e\x65\xdd\x29\xe2\xc9\xe1\x88\x49\xdb\x90\x1b\x75\x2d\x63\x2f\xe0\x3a\xce\x1c\x3f\x5b\x2c\xba\x23\x9b\xc4\xf7\xb8\xf3\x25\x81\x47\x51\xad\xed\xa4\xae\xeb\x50\xc9\x2e\x87\x2b\xed\xf0\x40\xfc\x64\xae\x71\x03\xd8\x6a\x77\xe8\x59\xbb\x7d\x16\xb2\x95\xce\xaf\x4f\x1c\xe9\x97\x19\xe9\xf9\x3a\xe5\xc7\x8d\xb3\x60\xb2\x88\xff\xaa\x6c\x55\xa8\xe7\xb8\x1a\xf7\x4f\xc2\xf9\x83\xc0\x55\xc9\x2c\xed\x42\x5f\x67\x28\x1a\xf8\x82\x5c\x57\x58\x96\x96\xb8\xec\x34\xac\x0b\xc8\x0d\x86\x74\xe7\x0c\x3b\x8e\x1a\x26\x85\x8e\xd2\xaf\x49\x50\x66\x6e\xbe\x8b\x07\xea\x5d\x7f\xc3\x14\xb3\x12\x8e\x27\x3f\xc8\x57\x09\xd6\xe4\x21\x74\x48\x4b\x0c\x21\x5d\xde\x9c\x94\x7c\x53\x67\x09\x9f\xf6\x69\x83\x78\x8b\xbb\xc7\x79\x40\xef\xbd\x42\x96\xa3\x5f\x3f\xc4\xff\x67\x23\x20\x13\x3a\x5f\x8e\xe4\x3d\x29\xc3\xdd\xa9\x39\x44\x28\x0b\x6a\x89\x37\x4a\x1b\x78\x04\x98\x27\xfb\x1a\x88\x58\xa7\xae\xac\x35\x69\xbd\x42\x52\x76\x65\x1a\x97\xe4\x49\xcc\xb2\x7f\x9f\x2b\xd6\x3f\xdd\xba\xfd\x03\xea\x5f\x05\xaf\x03\x81\x52\xc1\x49\x6f\x6e\x25\x56\xcb\x86\x8d\x47\xa5\xb5\x67\x26\x62\xc7\x93\xd3\xc1\x55\xe5\x8d\x4c\xfa\xd2\xe4\xbd\xc8\x1b\xb0\x45\xfe\x9e\xa7\x91\x2f\x9e\xcf\x4f\x28\x53\xb9\xc8\x52\x06\xf9\x8a\x64\x1d\x23\xb4\x9f\xaa\x7c\x0e\xee\x4f\xb7\x70\x45\x2c\xaf\x40\xc0\xc8\xf6\x1e\xd9\x0d\xd8\xdf\x1e\x0b\x7b\x89\xb1\xeb\x4e\x5c\x0c\x08\xb2\xbe\x57\x60\x12\x4a\x9a\x37\xcb\xf0\xea\xe3\x81\x06\x0f\xc3\xb3\xc8\xb0\xc7\xa8\xa5\xbb\x36\xc0\x23\xfa\x07\xd8\x27\x63\xde\xa4\x6f\xb2\xc6\xe0\x96\xf8\x05\xa0\xca\x8d\x0f\x17\x57\x8c\xbc\x24\xd0\x39\x41\x6d\xa2\x64\x15\xf8\x1b\x2c\x86\x71\xe9\x6c\xb9\x6b\x13\xd8\x01\xc7\x48\x26\x3f\x2a\xde\xc9\xba\x00\x7a\x85\x3a\xdd\x43\x95\xe0\x2e\x12\x9e\x2c\xe4\x69\xab\x2e\x41\x76\xd7\xe4\x93\x6b\x96\xdf\xcc\xca\xb0\xd5\x66\xc5\x79\x21\x27\x51\x43\x0a\x76\xbd\x7f\x2d\xd4\x3d\xcf\xf7\x3a\x6c\x5d\xc0\xb8\x54\x56\x51\xd3\x84\xa4\xb7\xa7\xa6\xee\x4c\xf6\x69\x8a\xf9\x4f\x20\x86\x5c\x7c\x47\x1e\x89\xae\x56\x67\x2b\x44\xb7\xc7\xac\x06\xe2\x58\x2d\xe9\xe5\x55\xc5\xa8\x05\x63\x63\x2e\xd6\x45\x9f\xf0\xe0\xdb\x16\x9e\x4d\x13\xd3\x0a\x08\x5e\x8a\xb7\xae\x98\x74\x06\x3b\xee\x5b\x3c\x9d\xe1\xbb\xd5\x52\xe4\x31\xca\x9a\xf9\xcf\x6c\x75\xe0\x5e\x65\x18\xae\x3e\xf2\xcd\x7c\x40\x03\x27\x53\xc2\x1e\x60\x8b\x21\xf2\x00\x27\x0f\x0e\xe8\x9e\xdf\x40\xf7\xff\x20\xff\x33\x48\xdc\xa1\x80\xed\xa7\x1a\xc3\xe4\xf7\xcc\xf4\xd7\x41\x97\xbb\xde\xdc\x2c\xf0\x6e\x74\x3b\x34\x34\x94\x29\x5e\x07\x68\x76\xd0\xd3\x19\xdc\xfd\x05\x19\x18\x72\x82\x5a\x5d\xb0\xa1\xaa\x67\x58\x74\xcf\xa2\x2b\x3e\xdb\xd7\x3a\x19\x96\x75\xbb\x73\x90\xc5\x5f\x8b\xde\x06\xe5\x50\x8b\x70\x95\xa9\x24\x79\x14\xff\xef\x9a\x6b\x71\x51\xc6\xc3\xaf\x5c\xff\x4d\xe4\x95\x6f\x66\x05\xe1\x9e\x31\x0a\x45\x05\xa4\x3e\x72\x71\x81\x9d\x42\x5f\x6a\xf5\xad\xb0\xfe\x7c\x3b\xe0\xc5\x8f\xf3\xae\xfb\x0e\x5d\x0b\xe3\x2f\xa1\xb8\x53\xc0\x68\x7d\xe9\x8f\x5f\xe2\xd9\xe7\xe1\xb3\x18\xd9\xa9\x98\x6b\x16\x51\x5e\x51\xad\xce\xca\xdc\x71\x09\x54\xc2\xb0\x69\x58\x96\x04\x77\xb3\x63\x96\x82\x95\x7d\x6b\xf2\x3c\xac\xb3\x38\xbb\x09\xf7\xfe\x71\x71\xac\x90\x5c\x59\x0e\x00\x28\x8b\xd4\x6c\x0f\x80\xf4\xbe\x0a\x27\x1b\x26\x74\x6a\xc2\xa8\xa5\xc4\x3b\x80\x59\xc1\x40\xc7\xea\xdf\x7d\xad\x9d\xbb\x89\xed\x6c\xea\x5d\x50\x23\x21\x36\xc1\x54\x90\xba\x18\xff\x09\xd0\x31\xea\xbc\x37\x05\x20\x31\x20\xf6\x22\xe0\xf5\x72\x52\x1a\x91\x3f\x84\x41\x57\x6d\x47\x2d\x27\x88\x38\x3d\x96\xdc\x8e\xf3\xc6\x0c\xb5\xd4\x33\x86\xb3\xce\xdf\x9d\xe7\x8c\x2c\x4f\x72\x73\x7c\x73\xfe\x63\xfb\x98\x79\xd3\x81\xc9\xdc\x3a\x24\x63\x69\xa0\x37\x5b\x1a\x03\x38\x6d\x42\x83\xb6\x1c\x31\xf2\xea\xc7\x70\xb9\x3f\xe5\xb2\x23\x34\xdd\xc3\x9b\x0a\x15\xf5\xb8\x81\xc2\x5b\x27\x1f\xc0\xdc\xec\xf9\x2a\x92\x27\x34\x51\xa7\x2e\x43\xb1\x0e\xb5\xd4\xe7\x4e\xb0\xed\xd9\x5e\xac\x4e\x64\xde\x19\x74\x33\xcb\x7f\x0a\xb4\x72\x6f\x74\x1e\x35\x29\x71\x1a\xd0\xa0\x1d\x5b\xa8\x79\x0b\x34\xcc\x46\x8f\x91\x58\x91\x32\x2f\xed\xf0\x91\xc3\x3f\x7f\x26\x40\xa2\x4c\x50\x77\x9b\x11\x8f\x72\x25\x4c\xa8\x0f\x2b\x2f\x44\x36\xd4\x8b\x79\x73\x97\xea\x55\xb4\xff\xc0\x2f\xcd\x54\xc4\x90\xaa\x19\xc1\xce\x54\x98\xc7\xa6\x48\x48\xfc\xac\xf5\x4e\x48\xe1\x59\x98\x84\x51\xd3\x80\x51\x74\xb7\x58\xe7\x88\x0b\xd2\x48\x82\x58\xd4\xb6\x27\xeb\x60\xc5\xed\xc0\x2a\xe5\x06\xbc\xcd\xac\x65\xd4\x70\xd0\x86\x3c\x89\x90\xb6\x2f\x39\xd9\xad\x89\xca\xcb\x84\xe2\x11\x53\x03\x85\x98\x4b\x5c\xc4\x11\x40\x91\xe2\xef\x28\x78\xe1\x5e\x73\x48\x9b\xb4\x45\x4d\x87\xce\x63\x91\x62\x35\x0f\x45\x8a\x6f\xdb\xfd\x4a\xd1\x62\x54\x7d\x68\xf4\x71\x82\x58\x02\x84\x64\x24\x8a\xbb\x35\xe1\x42\x04\xa4\x65\x12\xca\xe0\x6e\x64\x25\xf0\x73\x96\x41\xbd\x3d\xa0\xea\x00\xc7\x98\xda\xbd\xc8\x4f\x0a\x4e\xa0\x3f\x69\xe9\xcd\x47\x54\xfb\x06\xc4\x62\x24\x58\x54\x9a\xfb\xb6\x8f\xe2\x2c\xa6\x7d\x6c\xa6\xf5\x43\x7d\x31\x5c\x9a\x96\x6d\xa4\xc3\x14\x06\x00\x54\x85\x27\x7f\x8f\x6b\xef\xe9\x98\x28\x93\xa1\x8f\xc2\x53\x4d\x11\x85\x97\xff\xee\x55\x6c\x3c\x57\x7a\x52\xc5\x1b\x58\xc6\xbd\x4c\xf5\xb6\x21\x89\x68\x80\xd4\x13\x6e\xee\xaf\xe4\xfa\x37\x48\x52\xde\x4a\x84\x4e\x53\x3b\x7a\x7c\x44\x5b\x9e\xab\xda\xd0\x4a\x2c\xf9\xf7\x69\xfd\xde\x0b\xb5\x9b\x97\xc6\x8f\xe1\xe0\xb7\x27\x37\xb7\xa6\xdc\xd1\x94\xe1\xee\xd1\xd3\x64\x49\x6a\xdf\x16\x5c\xca\x31\x37\x19\x64\x3d\x73\x51\xb5\xfc\xe4\x55\x61\xfc\xfb\x1b\xfe\x4a\x73\x69\xae\x9c\xd4\x39\xa9\x8a\xde\xbd\x11\xe5\xf5\x29\x74\xe2\xe5\x84\xa8\x5f\xc1\x2e\x81\xbc\x36\x08\x6d\x4d\x8e\x40\x6d\x76\x01\x70\xd5\x87\xd0\xcc\x3c\xc6\x45\xdb\x30\x08\x8a\x5e\xf7\x0a\xf6\x67\xa8\xfc\xed\x08\xe6\x37\x4f\x47\x8f\xd6\xed\x71\xce\xbd\x08\x8c\x13\x3d\x9c\xda\x6f\x83\x18\x7c\x11\x2c\x15\x0c\xfd\x95\xf5\x4a\x22\x72\xeb\xb5\xb6\xfd\x51\xc6\x69\x1b\xef\xa5\x2c\x59\x0d\xf2\xe6\x32\x5f\x5d\xb2\x47\xf4\x55\x52\xe7\x34\x39\x41\x10\x10\x72\xed\xf5\xa6\xb9\x11\x45\x28\xdb\x9d\x65\x19\x5b\x24\x5a\x68\x7e\xd1\xec\x62\x99\x4c\xa6\xb8\x34\xf6\x31\xab\x71\xbc\x6c\x1f\x9b\x02\xd0\x11\x98\xa3\x8f\x04\x95\x80\xd9\xdc\xcb\x7c\x7a\x6f\x38\x50\xd9\xd8\x87\xc5\x33\xa7\xc0\xcd\x8f\xf9\xdb\x56\x4b\x76\x96\x79\x77\x54\x0c\xdd\xf6\x75\x27\xf9\xce\x4a\x27\x1f\x48\x7d\xbb\x95\x89\xe3\x60\xc7\x4a\x70\x2a\x37\x6f\xe2\x65\x7f\x31\xd9\xc3\x71\x4b\x1a\x77\xdb\x06\x77\x6b\x14\xa6\x41\x56\x4f\x76\x64\x07\x04\x50\xe6\x1f\x5d\xa0\x5d\x94\x93\xd1\xf2\x2b\xf1\x7a\x3e\xdb\x1e\xd2\x0d\xd4\x48\x93\x55\x5f\xb0\xe1\xc4\xf7\xe3\x7d\xd0\xe9\x7c\x41\xd1\x94\x2a\x36\x78\x67\x9f\xa7\xbc\x7f\x11\xbf\x02\x3d\x84\xcb\x4d\xa0\x16\xcd\x2f\xc1\xda\x59\x44\x13\x3f\x83\xd9\x47\x21\x9b\x9b\xb2\xbb\x24\x7f\x0e\x76\x80\xff\x9e\xa5\x02\x41\xa3\xf2\x69\x2b\x0b\xb1\x69\xc3\x8b\xad\x3e\xa3\xc5\x25\xd3\xb3\x20\x8e\xd3\x65\x09\xf8\xf8\x6f\x44\x2e\xec\xc2\x17\xb3\xd9\xd3\x89\xce\xac\x3f\x36\xbe\x9f\x00\x6b\x5d\x7c\x66\xfd\xea\xb7\xdd\x1d\xf1\xf9\xc1\xa7\x59\x2a\x4b\x68\xe2\x97\xca\x30\x41\x94\x1b\x32\x5c\x19\x28\xa5\xee\x28\x6c\x27\xf1\x46\x20\x77\x44\x6c\x97\x30\x73\x01\xa6\xbb\x93\x0e\xad\xae\x7a\x83\x49\xc7\xd3\x28\x06\xcc\x13\x79\x12\xba\x42\xd6\xfd\x36\x8c\x3f\xb7\x82\x19\xbd\x0b\xa7\x43\xa1\x14\x70\x18\x02\x8d\xff\xc1\xec\x6d\x63\xe7\x6e\xbf\x5f\x61\x2e\x72\x6e\xb2\x78\xe9\x92\xb8\xca\xaa\x26\xd5\x84\x9e\xbd\xcf\x5a\x3d\x70\x03\xdb\xba\x67\xfe\x7d\x6e\x31\xdc\xa4\x2a\x0d\x59\x07\xdb\xad\x1d\xce\x28\x8d\x87\x3e\x7a\x01\x2d\x88\x9e\xc3\x87\x2b\x4c\xec\xeb\xac\x5e\x72\xc9\x0e\x2e\xbd\x42\x97\x71\x8f\x30\x41\x47\x42\x99\x5e\x63\xe1\x0a\x8e\xcc\x68\x1e\xc0\x0b\xef\x72\x90\x9e\xe7\x06\xba\x41\x3f\xb2\xbf\x99\x02\x1b\xc4\x73\xae\x40\xcb\x50\x68\x49\xfd\x90\x26\xc1\xda\x14\xa2\x9d\x59\x7b\x24\x3d\x3e\x95\xe9\x7a\x6c\xbb\x04\xff\x2e\x44\x68\xbe\xd1\x24\x4e\xf5\xfc\xee\x0a\x43\x2a\x4c\xfc\x35\xae\xb8\x33\xd4\x69\xf9\x4b\x2a\x71\x2e\x7d\x63\xb8\x09\xb9\xb9\x00\x95\x9f\x09\x35\xc1\x64\x9c\x6a\x2a\x05\x36\x81\x38\x02\x69\xdc\xf7\xc1\xd3\xde\xb6\x36\x3f\x26\x71\x84\xe3\xa6\x07\x8a\x49\xd8\x22\xe9\x40\x11\x44\x44\x3e\x91\x49\x60\xf2\xda\x11\xfe\xc0\x1b\xfc\xc2\x26\x0e\xa1\xee\x9e\x46\x6c\x59\x67\x23\x28\x89\x7f\x65\x0c\x94\x34\x06\x9d\x79\x7e\x02\x9c\x88\x18\x3b\x16\x8c\x5e\x8d\x60\x30\x5d\x9d\xbc\x6c\x06\x9c\x95\xc7\x9d\x48\xe9\x60\x1d\x38\xc1\x95\xbb\x1d\xa1\x94\x07\x4a\xf9\xb8\x62\xe7\x77\xfd\x66\xdc\x2e\xd6\xa8\xc1\xa0\x85\x11\xff\x18\xee\x59\xc4\xfe\x0a\x72\x61\xa1\x63\x92\xe0\x0d\x02\xbc\x78\x45\x68\xfa\x0a\x7b\x1c\xcc\xa8\x49\x72\xbd\xc9\x2c\xde\xac\xe1\x62\x92\xc4\xc7\x93\x72\x6e\x83\xe9\x9f\x41\x0a\x09\xff\xa0\x3a\xf3\x74\xa0\x29\xe3\x3c\xf0\xad\x77\xb4\xaa\x93\xf5\xb5\xd8\x0d\xe3\x9d\x2e\x93\x42\x60\x5d\xba\x3b\x2b\x59\x50\x30\x15\x47\xf2\x90\x5a\xfd\x2d\xcc\x04\x90\x9e\x11\x6c\x4b\xb2\x87\xf2\xd3\x02\x4d\x88\xc5\xba\x46\xbe\xc2\x32\x0c\x52\x67\xdf\x0c\x13\xbc\x87\xc7\x0f\x22\x36\xa3\xc1\x8f\x71\x6a\xa2\xec\x53\x36\xd1\x2a\xf1\xeb\x9b\xad\xc5\x95\xc9\xfa\x5e\x72\x96\x6a\x7d\x5c\x65\xf9\xd0\x54\xf4\xd8\x4f\x45\x00\xee\x96\xa5\x91\x9c\x16\xe9\x60\xd0\x72\x99\xdb\x61\x99\x8d\xc9\xaf\xb9\xc0\x2b\x2b\x35\xf7\x43\x40\xf6\x0a\xff\x8b\x40\x81\xde\xe1\xf5\xc9\x24\x32\x0f\x18\xb8\xd4\x22\xe7\x09\x52\x37\x66\x05\x2e\x24\xa2\x86\x72\x42\xf7\x81\x9f\xe5\xec\x23\x4e\x32\x9f\xd2\x30\x11\xd4\x74\x6e\x30\x0a\xe7\x04\x7a\x9b\xdb\xb2\xa2\x0f\x50\x2a\x44\xdc\x4e\xde\x9f\x34\x36\xf7\x8b\x92\x36\x39\x06\x8a\x24\xa5\xdd\x04\xfb\xe5\x74\xbd\x8a\xe1\xd7\x16\x4e\xae\x70\xd8\xb6\x80\x17\xd7\xa4\x4e\x4a\xae\xa4\x0f\x8a\x44\xe7\xa5\xee\x74\x21\x7b\x8f\xd7\xf7\x3e\xaa\xd2\x5d\xa5\xff\xae\x79\x6b\x69\xbd\x63\xac\x33\x50\xd5\x7b\x5f\xed\x58\xe1\xf9\xc8\x6b\xa0\x8f\x03\x29\x6c\x57\xad\xfd\x8d\x3b\x38\x76\x3f\x26\x2f\x41\x53\x54\xa0\x09\xb5\xa9\x35\x14\xcb\xe5\xa4\x9c\x1d\xf3\x77\x86\x67\x61\x70\xd2\xc6\x7e\xe5\x73\x1d\xcc\x05\xf6\xda\x72\x79\xd1\x84\xdf\x96\x15\x11\x1d\x49\x07\x2a\x53\x88\x1f\x1e\xf4\x49\xe8\xa0\x32\x29\x68\x5c\x6f\x3d\x64\x4d\x95\x67\x3e\xc9\x4c\x63\xfd\x58\xbb\x8a\x52\x87\x0c\xb2\x20\xd6\xf8\xa4\x70\x75\xe1\x2f\x4c\x9c\x82\xe6\xe9\x4d\x78\x14\x4e\xf0\xd8\xe8\xfc\x95\x78\xc1\x91\xfb\x24\x78\xd2\x99\x94\xeb\xb9\x4d\xdd\x3f\x40\xa6\x26\x6a\xcf\xc3\x8a\x62\x78\x10\x00\x28\x77\x1d\x63\xa5\xe7\xc3\x0c\x92\xc7\xda\xdc\xb0\xfc\x64\x7e\x26\xfd\x58\xfe\xe0\x6a\x60\x41\x63\x54\xbd\xff\x88\xa9\xa6\x90\xa6\xb3\xdd\x7f\xc1\x62\x59\x94\x0a\x99\x55\x77\xd3\xbc\xdc\xa6\x2f\xb8\xc6\x79\xf6\xcb\x8a\xf0\x99\x4f\xb1\x1b\xc9\x83\xb3\xf5\xf0\x25\x60\x57\xc8\x8c\x39\xb4\x72\xad\xaf\xa1\xde\x6e\x45\xdc\xdb\x1d\x5d\xcb\xf9\x6e\xc9\xa5\xb6\x62\x62\xc1\x91\xac\x23\xc0\xf3\x9a\x1c\x80\x33\xf4\x5b\x6d\xf9\x5a\x86\x37\xb6\x3d\xd7\x93\xe8\x08\xd6\x6c\x29\x95\x44\x1a\x47\xf7\xbc\xfb\xe9\x59\xeb\xec\xb6\x80\x34\x8f\xab\x81\x4a\x9d\x39\xe9\x07\x47\xa6\x22\x8a\x5f\xf5\x97\x3a\x39\xb9\xd1\xfd\x1d\xdf\xab\x5e\x69\xc8\x4a\x6b\x50\x4d\x90\xbf\x5c\x53\x47\x63\x82\x94\x85\x0d\xfe\xe4\xc2\xd3\xa7\x69\xb2\x4a\x11\x44\x7c\xed\x56\x90\x4a\x98\xba\x55\xdf\x68\xa7\xf1\x85\xdc\xcc\x99\x19\x89\x6b\x3d\x36\xa1\x79\x79\xcb\x16\x23\x4f\x5a\xa1\x0e\xca\x7b\x02\x9c\x3b\x64\x57\xe9\x7c\x2f\xd0\x61\xe4\x94\x42\x02\xd3\xd4\x6b\xc6\x51\x4b\x9d\x4b\x75\xbd\xf0\xad\x14\xa0\xac\xfc\xaf\xe0\xe3\x84\xe5\x70\x29\x65\x18\x25\xc0\xb6\x06\x5d\x74\x6a\x1d\x30\x4a\x29\x6b\x89\xcb\xec\x0f\xa4\xe4\x66\xc2\xc5\xe2\xb5\x2a\x11\x3c\x3a\xe5\xd5\x7a\x3b\x48\xeb\x8c\x69\xa4\x5b\x7c\x61\x82\xc3\xb0\x08\xa2\x39\xff\xc2\x89\xbe\xe3\x2b\xd9\x66\xda\xb3\x1f\xc5\x6f\xa2\x11\x11\xf8\xc6\xb5\x36\xbd\x44\xfb\xfe\x01\x58\x7a\x4c\x5c\x4f\x5d\x47', 2)
\ No newline at end of file
__pyarmor__(__name__, __file__, b'\x50\x59\x41\x52\x4d\x4f\x52\x00\x00\x03\x06\x00\x33\x0d\x0d\x0a\x04\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x40\x00\x00\x00\x8c\x0a\x00\x00\x00\x00\x00\x10\x8e\x9b\x14\xed\xf6\x8b\xed\xa0\x07\xe4\xca\xe9\x03\xce\x6f\xbf\x00\x00\x00\x00\x00\x00\x00\x00\x0b\x12\xdb\x9a\xf0\x9f\xfc\x5d\x10\x62\x42\x1c\x0e\x28\x15\xd7\x34\x95\x7f\x0c\x8b\xc3\x63\x53\x00\x3a\xbf\x40\x6f\x60\x06\xe5\x7a\xdf\x36\x75\x38\xd7\xa8\x25\xb2\xa8\xd2\x2c\x86\xee\x6e\xb2\xf2\xdf\x52\x5e\x79\x58\x3c\xfb\x3d\x56\x1a\x7e\x59\x9a\x4a\x1b\xdb\xe8\xaa\x3b\xbf\x2a\x22\xe0\xcf\x69\xe1\x03\x35\x8b\xa2\xf3\x28\x7b\x9a\xb2\x13\x28\x53\x81\x75\xda\xdc\x68\x8a\x2c\xf3\x64\xad\x88\x12\x5b\x09\xe1\xb3\x92\x28\xc7\x85\xd6\x11\x1b\x9c\xfc\xb6\x8a\x54\x45\x7b\x55\x65\x2f\x87\x56\xef\xfc\xd8\x0e\x38\x47\x12\xf1\x34\x29\x93\x2b\x5b\x1e\x85\x37\x8e\x33\xf7\x3d\x9b\x4f\xf6\x37\x55\x33\xb8\x28\xec\x87\x73\x15\xcb\xde\x5f\x85\x21\xca\xee\x0a\xa7\x4a\x2d\xa3\xf9\xce\xe1\xf1\xa4\x6a\x5c\x7b\x84\xb2\xee\x09\xf5\xde\x22\x69\xb1\x24\x9e\x65\x2f\x3d\x62\xfe\xb5\x44\xb7\x3b\x6b\x20\x36\x9b\x54\xe2\x4a\xb9\xfd\x43\x49\xf5\x64\xeb\x3e\x32\x5d\x36\xa5\xad\xef\x1d\xb3\xa2\xad\x29\x94\x7b\x35\xd3\xdf\x75\x83\x9f\x56\x86\x81\x97\xf9\xa7\x22\xff\x8d\x55\x26\x82\xdb\x82\xc8\x7b\x9f\xab\x3f\x22\x7f\xcc\x23\x41\x4d\x2e\xc2\x90\xd6\x0d\x86\xa0\x06\x8a\x9f\xa1\x02\xdd\xe5\xc6\xa9\x84\xe5\x0b\xec\x0a\xa3\xac\xe6\x86\x58\xc7\x2a\x0d\x5c\x1d\xd5\x10\x8a\xbd\x1a\x79\x5c\x87\x61\x06\x41\xd7\xe0\x0d\x79\x1b\x36\xd9\xf7\x27\x8d\x5b\xab\x7e\xc1\x33\x52\x7f\x00\xd5\xe4\xec\xe0\x28\xb7\x62\x53\x6f\xee\x4e\x5b\x5d\x25\x30\x46\xd8\x60\xf6\xe8\x5a\xa3\xb9\x44\xe4\xe4\x0f\x05\xd8\x86\xbf\xf7\x3e\x17\x0e\x1c\xae\x71\x88\xdf\x41\x0a\x23\xe2\x87\xa3\x5a\xa6\xc8\x8f\x89\x55\xd9\x57\x2d\x37\xf6\xfe\x4e\x9f\xc5\x0e\x1a\xd7\x82\xdb\x4c\x86\xae\x58\x6b\xb1\x80\x71\x92\x95\x47\x47\x61\x1e\x42\xb9\x22\x7a\xb1\xcc\xc0\xf4\x75\xf5\x16\x77\xd2\xab\x9a\x7e\xb0\x2d\x66\x91\x49\x37\xcf\xb3\xf9\xd2\x87\x1c\xea\xb0\x05\x23\x12\xf7\xb7\x5b\x6d\x76\xb8\x31\x0c\x77\xa7\x2f\xa9\xbe\x53\xb9\x65\x6f\x4a\x51\xaa\x9d\x85\x9e\x69\x14\x37\xca\x79\xdc\xe1\x41\x4e\x33\xc0\x54\xaf\xd9\x67\x1d\x7e\x15\x0d\x00\x72\xea\x68\x6c\x87\x1a\x91\xae\xdc\xa7\xff\x7d\x40\x16\x83\x1b\xc0\x8c\xbc\x69\xc8\x98\xed\x76\xb1\x4d\x69\x14\x83\x1e\x2e\xc9\xb3\xb6\x6f\x0f\x67\xaa\x4a\x2c\x33\x7f\xa7\x71\xc5\x1b\xed\xc2\x2c\x1d\x15\xdb\x0a\xb1\xa2\xed\x65\x33\x39\xc2\xf7\x80\xfe\x99\x9b\x66\x47\x19\x43\x41\xb6\xaf\xe8\xb2\x1d\xba\x1e\xb9\x48\xdb\x73\x5b\x83\x0f\x28\xce\x5a\x0c\xe3\x48\x9c\xdd\xb2\x61\x39\xb0\x04\x25\x26\x2c\xf6\x6a\x5c\x62\x70\xd6\x27\x21\x08\x6b\xd6\x7a\x4e\x7f\xfb\x8b\xd9\xcc\x80\x6e\xa3\xcf\xf3\x3d\xd0\xd4\xed\x30\x63\xce\xaf\x35\x1b\x69\xed\x27\x30\x8d\x95\x61\xef\x79\xd6\xe5\xdd\x72\x4e\x61\x4c\xbc\xc7\xa2\x05\x3b\xff\x96\x1c\x19\x32\xfe\x00\xa5\xf0\x92\xad\xc0\x70\x87\x24\xd8\xcf\xd6\x0f\x3e\x35\x24\x5b\x8c\xb2\x4a\xe1\x1d\xb7\xc7\x4b\xef\x8d\xe1\x33\x8f\x3d\x1e\x44\x46\x3e\xf6\x1c\x0f\x19\x8f\x61\x22\x1a\x46\x23\x5e\x13\x0a\xc3\xd3\xb0\xcd\x84\x35\xec\x2d\x0b\xd5\x08\x42\x9a\x38\xbb\x1a\x5b\x35\x91\xae\x62\x19\x49\xfd\xa5\x1c\xd1\xba\x35\x73\x7d\x95\x07\x8c\x47\xd4\x25\xce\xcf\x4b\xcf\x2b\x50\x60\xeb\x04\x54\x69\x5b\x9a\xd9\xce\x73\x07\xc6\x10\x47\x72\x09\xa2\xff\xd0\xdd\x2f\xc7\x37\x0d\x25\xef\xf3\xb9\x1b\xe5\x73\x4b\x1f\x89\xc2\xce\x97\x0c\xba\x51\xc5\x3a\x6e\xd3\x97\xa5\xbf\x4d\x54\x0d\x5a\x7f\x6a\xed\x0f\x4e\x99\x32\x9b\xcc\x47\xb3\x92\x93\x9e\x61\x42\x6a\x4c\x24\x29\xfa\x39\xaf\x91\xde\xb0\xea\xc3\x02\xfa\x73\x7c\x6b\xe1\x11\x60\x22\x5d\xaf\x91\xda\xf5\x33\x71\xa6\xc7\x93\xe5\xc3\x23\xb4\x4b\xa2\xff\xbc\xeb\xbe\xfe\xc1\x67\x55\x3c\xa2\x59\x9c\x21\x55\xc7\x81\xe7\x87\xbb\x0d\x6c\x8c\xb3\xf3\x97\xa4\x88\xca\x13\x87\xb3\xff\xb6\xab\xca\x03\xb4\x91\x92\xbc\xd6\x4c\x7c\xe8\x00\x41\x85\xe8\x43\xf4\x76\x3d\xe5\xf2\xf9\x2a\x38\x4a\x65\xf3\x5a\x4e\x1e\x04\x11\x76\x4d\x86\x07\x67\x28\x4f\x95\x59\xa5\x47\xce\x0a\xa6\x17\x55\xdd\xbe\x92\x4d\xc7\xeb\x27\xb5\x12\x93\x2e\xd9\x37\x53\xcc\x35\x86\x21\xaf\x3b\x9c\x3b\x1d\x50\x36\x43\x09\xb1\x51\x7e\xc8\x1c\xf8\x49\x30\x6d\xc2\x31\x91\x83\xfd\x28\x7c\x50\xcf\x77\x05\x5b\x64\x2a\x54\x44\xab\xc6\x34\x7d\xdd\x41\x8f\xaf\x20\x1f\x7f\xa8\xaf\x00\x79\x0b\x73\xb5\x08\xb8\xb3\x78\xa7\xc4\xb5\xcd\xb0\x44\xb5\x51\xbd\x9b\xdb\x3f\xb8\xb0\x3a\xac\xf4\x03\xb3\x06\x2a\xf3\xdf\x02\x01\xcd\xcd\x1c\xbb\x0d\xa9\x93\xf0\xde\xfe\x19\x39\xb4\xf6\x44\xb9\x68\x04\xb7\xc4\x07\xda\x01\x19\x2c\x98\x41\xe5\xdb\x62\xa0\x52\xdb\x6c\x02\x04\xcf\xbb\x23\xf1\x98\x3c\x09\x11\xe8\x89\x63\xa4\xed\x21\x1e\xb6\x48\x57\x32\xba\x53\xdd\x92\x40\xa6\x32\xec\xd4\xb8\x0f\xf0\x1f\xb6\xa0\xfb\xce\x24\x21\xe3\xfa\x35\xd4\xea\x1d\xe6\x4b\x27\x54\x16\xc9\x88\xdd\x9b\x92\x13\x0d\xbc\x66\x33\x7c\x32\x4a\x71\xa4\xaf\x4c\xb1\x4d\x21\xfd\xc7\xd5\xb5\xd9\x46\x61\xa3\x21\x02\x4c\xfe\x38\xbf\xcf\x63\x6b\x25\x28\xed\xf6\x6e\x87\x62\x09\x96\x2b\x82\xd5\x03\x2e\x85\x8b\x8c\x1a\x5d\x81\x0a\x40\xf9\x97\x59\xfd\x05\x73\xbb\x7d\xd6\x02\x59\xf5\x48\x9e\x3b\x72\x87\x30\x18\x0d\x02\xf4\x71\xd8\x41\xbe\x94\x43\xad\x0b\x10\x1a\xe0\x53\x1c\x9d\x2e\x2a\x1f\xf0\x45\x81\x39\x45\xec\xaa\xef\x57\x48\x22\xb7\xbe\x9a\x23\x51\x5d\x94\x40\xe2\xde\x52\xf0\xc3\x8c\x68\xa8\x7f\xdb\xd9\x5e\xe6\xcc\x06\x92\x42\x3e\x8c\xd4\x45\x89\xe7\xec\xd6\x6c\x18\xfe\x68\x0f\x61\x19\xc4\xc5\xb2\xf5\x7c\xd4\x58\x61\x9a\x6d\xe0\xc7\x9f\x07\xcf\x1b\xe3\xb0\xa9\xcd\x21\x99\x88\x07\xdc\x1e\x5b\x18\xdf\x9e\xee\x22\x53\x3e\x5d\x94\x6c\x2a\x28\x98\x1c\xf4\x7c\x44\x55\xfc\xa7\x0a\x46\x9c\xa4\xd2\x9b\x36\x94\x6f\x16\x85\x77\x1b\x5b\x97\xc5\xdd\x34\xc7\xf8\xac\x9d\x86\x1d\x26\xf6\x24\x8f\xda\x39\x2d\xeb\x72\xfa\xd3\xaa\xef\x08\x85\x9a\x0b\xf9\x20\x52\x0d\x38\x1d\x40\x0c\x4c\x99\xd8\x07\xe7\x35\xc5\x35\xda\xa7\x41\xc3\x6a\x3d\x98\x9d\xa9\xd4\xa1\xeb\xc3\x52\xfe\xcd\x6f\x04\x91\xcc\x4a\x7b\x66\xbf\x77\x96\x59\x0b\x02\xb7\xb0\x07\xf3\xb7\x3a\x2a\xcd\x17\x0e\x4e\x0a\xfb\x7d\xbc\xb4\x76\x00\xf5\x7c\x66\x83\xab\x49\x82\x75\x75\xc9\x67\xe2\xdf\xf6\x3c\x8a\xa4\x4f\x9e\xc5\x88\xf8\xb8\x21\xd2\x0f\x7b\x00\x8d\x11\xa9\x9a\x5c\xdd\xcb\x24\xd0\xde\x4f\xff\x08\x0f\xf5\xfe\x7c\xbe\x7a\x82\xdd\x31\xa0\xa1\x55\x0b\xf1\x97\x0c\x61\x6f\x38\x5f\xe2\x47\x05\x65\x30\x5a\x0b\x9b\xa6\xb2\x6f\xc3\xd2\xb5\x09\x16\x2f\x44\xd2\xc8\xd3\x80\x2e\x3b\xcf\x8d\xdf\x9e\x57\x5a\x31\x2b\xa0\x64\xd7\x76\x2f\x58\x33\x68\x02\x3b\x1c\x81\xf4\x96\xbe\x2d\x97\x15\xee\x31\xa8\xba\x86\x55\xb9\x26\xf0\xdb\xfe\x74\x8f\x74\x7d\x21\x79\xb6\xe2\xd9\xc4\xe4\x43\xd2\x9b\x26\xa6\x1d\x06\xc3\xa5\x71\x12\xd8\xc5\x52\x29\xfc\x84\xbb\x16\xcc\xe9\xb0\xbd\x5d\x95\x81\xa5\x4f\x48\x6e\xb3\xef\xdb\xb1\xdb\x0a\xcd\xc9\xc5\x09\xce\x4a\xd9\x06\x5c\x87\x3c\x9d\x42\xa4\x7d\x53\xba\x88\xa1\x4f\x35\x87\x14\x63\xa1\x81\xb4\xda\x0f\x6c\xec\xfb\xe2\xfd\xb8\x13\xb5\xeb\x79\x38\x3f\x06\xe6\x75\xb0\x6c\x4d\x7d\x36\x2b\x01\xa1\xa8\x79\xf3\x54\xa6\xc2\x5c\x5c\x62\x7a\x16\x85\x83\x1b\x1c\x9d\x68\x93\x10\xd0\x7a\xfc\xad\xf5\xab\x5a\xc3\xb4\x27\x92\x35\x10\x92\xee\x45\x04\x31\xd4\xa7\xb5\x28\xbe\x0c\x16\x82\x8f\xe9\x0d\xb5\xc7\xa2\x97\x7d\x14\xaa\x8e\x9e\x51\x3d\x06\x72\xe9\xd7\x70\x31\x26\x7b\xab\xa6\x86\x96\xf0\x1e\xb8\xee\xfb\xf8\xa2\x17\x60\x8b\x79\xe2\x3f\x8d\x5d\x93\x73\x2f\xb0\x00\x0a\x07\xd9\x20\x50\x60\x6e\xd1\x1d\xbc\xce\x0b\xb5\x3e\xc1\x22\x12\x66\x64\x41\xc0\xbe\x4e\x89\x89\xc9\xce\xe3\x40\x8e\xfd\x3f\x0e\xa4\x36\x6d\x42\xca\xac\x80\x9b\xde\x8a\xc7\x17\xa1\x91\x64\x23\xa0\x64\x4a\x0c\x28\xd5\x9b\x5b\xcf\xb8\x22\xc0\x3e\xac\xbc\x22\xfc\x0e\x18\x41\x11\xb3\xc7\xfb\x63\x9c\x43\x6d\xa8\x92\xae\x0d\xd8\x39\xa0\xe9\x33\xe1\xba\x95\x7f\xc4\x15\xdb\xd8\x0d\x5a\x3e\x3e\x23\xc4\xc8\xa5\x7e\x64\x0a\xc8\x97\xbb\xe5\xa2\xe2\x96\xcc\x55\x99\x18\x9b\x20\x26\x4e\xdd\x8e\x56\x33\xce\x62\x01\x62\x2d\x6a\xde\xd6\x50\xf4\xa6\x8d\xaa\x4b\x4d\xed\x56\x4a\xfb\xf6\xbb\x45\xda\x68\xd7\x40\x11\x1c\x2d\x90\xf6\x20\x9f\x1b\xb9\xa1\x4f\x42\x75\xda\xa4\x8d\xa9\x9f\xea\xe4\xb9\xb2\xa9\xfe\x35\x97\x0f\xbb\xa1\x51\x3e\x54\x08\xfb\xf2\xfc\x8b\x73\xca\x8a\x85\x01\x75\x98\x56\x7d\xfa\x6c\x08\x11\x05\xe5\x93\x7d\x43\x66\x22\x75\x0b\xb6\x8d\xa4\x09\x4b\xa7\x13\x45\x2b\x80\xc1\xb7\x66\xbe\x62\xce\xef\xf1\xa1\x57\xea\x39\x65\xf3\x05\x9d\x7f\xac\x17\x43\xf5\x20\x6b\xe8\x90\x08\xc1\x25\x08\x76\x6c\xbf\xbe\xea\x7c\xe7\xfb\x1e\x42\x63\xd8\x4c\x50\x4a\xb0\x5e\xbe\x2e\xd9\xeb\xef\x0e\x49\x22\x3e\x09\x4a\xd9\xa3\x15\xf9\x5a\x7d\xad\x0a\x51\x4f\x7c\x30\x3d\x6d\x3a\x91\x12\x0a\xc9\x66\x08\x06\x94\xad\xff\x7a\x6d\xfb\x70\x45\x22\x91\xe3\x15\x2f\x07\x45\x6b\xb8\x24\x38\x80\xb6\xdf\xe2\x05\x3b\x4b\xc1\x6b\x57\x11\x2d\xd3\x9d\x90\x9e\x4b\x4c\x7f\x2e\x44\x40\x8c\x50\x79\x0f\x97\x2d\x5d\xf0\xfd\xf6\xdb\x8a\x0e\x4e\x7a\xd3\xc8\x81\xe5\xa2\x0b\xbc\xce\xc9\xf0\xf6\x38\x87\x18\x08\x7d\x83\xfd\x6d\x70\x69\xac\x31\xc6\xdf\x56\x0f\xcd\xa0\xac\xb4\x0b\xeb\x8a\xdd\xbd\xbc\x39\x4e\x71\x3b\xf3\x56\x36\xb4\xd8\x60\x1f\xa5\xc6\xb3\xa1\x9e\xb5\xba\x92\x8a\xe2\x81\x5b\xa9\x09\x15\x46\x24\x84\x6a\xdf\x6f\xf7\x34\x60\xd4\xe2\xda\x92\x92\x64\x11\xa4\xfd\x84\xd6\xb7\xe5\x7a\xca\x2f\xdf\xa4\x47\xcb\xe1\x84\x6b\x0e\xe8\x2b\xda\xe3\xfc\x1a\x82\xaa\x46\x39\x7c\x85\x93\x35\xe3\xd4\x90\x4f\x8f\x2d\x51\x51\xf0\xcc\x1e\xd3\xfa\x5b\x97\x2c\x18\x1e\xcc\xd0\x7d\x29\x92\x33\x8a\x19\xc5\x70\x6d\xc3\xb6\xac\xda\x2e\xda\x28\x99\xb0\x76\x8e\x25\x86\x0d\x8e\x7c\xa5\x53\xa3\x44\x87\x7f\x4f\xbd\x79\x30\x29\xdc\x63\xca\xeb\x96\x29\x9f\x39\x3d\xc2\x75\x1f\x0b\x32\x69\x28\x41\x24\x99\x6b\x08\x4c\x46\xf3\xd5\xa1\x77\x33\x07\x3b\x43\x47\xd6\x75\xb2\x2d\xa5\x8b\xa5\xdc\x94\x71\x78\x40\x28\xc9\x8f\xca\x56\x23\xc3\x21\x58\x07\x4c\x25\x3f\xd3\xc9\x10\x47\xde\x2b\xf1\x23\x3f\x15\x70\xda\x2d\x0c\xb2\xd7\xa0\x13\xee\x6b\xd5\x0e\x45\x87\x19\x78\x17\x69\xb0\x59\xe7\x47\x09\x8c\xee\xf7\xd9\x3f\xd8\xb7\x4c\x52\x0f\x5e\x99\xe6\xdf\xb3\x1a\xd1\x6f\xbc\xe3\x73\x46\xbc\x81\xd6\xc8\x21\x87\x8e\xb3\xce\xec\x8b\x45\xea\x74\x0a\x1b\x24\x15\xa8\x7e\x24\x0a\x0f\x78\xe9\x39\x5b\x6b\x5f\x6b\xb2\x84\x1f\x3a\x00\x93\x61\x67\x51\xa0\x0d\xb7\x97\xdd\x8c\x42\x25\xfb\xce\x05\x58\x76\x1b\x87\xb1\x86\x17\x6e\xe6\x6b\x7d\x18\x93\x87\xf9\xe4\x20\xa8\x52\xc6\x40\xff\xfa\x8f\x60\x81\x69\xf4\x5d\xfe\x7c\x99\x07\x8a\x3d\x61\x65\x60\x4b\x37\x18\x15\x0c\xf0\x7f\x44\x4b\x32\x90\x03\xf4\xc0\x29\x0b\xfb\x26\xc4\xfa\x08\x01\x32\x68\x9b\xef\xc0\xcd\x58\x99\x84\x68\xb2\xf2\x0f\x22\xd8\xc6\x0f\xaa\xdc\x6e\x29\xe7\x84\x73\xe1\x2c\x58\x2c\xdd\x08\xd3\x3b\x89\xe3\x94\xa4\xe5\xaa\xe3\x8a\xde\xfb\x4d\x72\x74\xa6\x4b\xe2\xe8\x06\x72\xef\x69\xc9\x71\xa5\x8d\x35\xe7\x8e\x28\x12\x8a\x01\xff\x0d\x58\xe1\xb1\xaf\xd9\x99\xfc\x8a\x09\x87\x60\x73\xe7\x50\xfe\x8a\x7a\x1b\x2b\x14\x3d\xdf\x1f\x6f\xe4\x02\x4a\xfd\x64\x5a\x81\x8f\xcd\x13\x6c\x2a\xab\xbf\x3f\x15\x37\x95\x8d\xc9\x18\x67\x27\x09\x31\x34\x39\xda\x6d\x4b\x98\xca\xa4\xa0\x50\x88\x32\xe5\x8b\x22\x7c\x14\xdb\x8d\x60\x10\x29\x18\xd3\x1f\x37\x9f\x17\x7d\x34\x07\x5b\x84\x94\x14\x23\x85\x47\xde\x6d\x93\xda\xfc\xd1\x08\x85\x12\xe0\x66\xf5\x09\x04\x12\xe7\x83\x74\x72\xf4\x32\xa0\x66\x1a\xc5\x12\x40\x98\xa8\x90\xa1\x4f\x39\x16\xe2\xb6\x61\x52\x7f\x38\x19\xa6\xc2\xfb\xf0\x08\x0b\x5d\x40\x12\x8b\x1b\xb5\x48\x22\x04\x77\x7f\xf7\x42\xcd\xbe\x9e\xe8\x54\x4e\xb8\x99\xeb\x91\x0c\x93\xa0\x6c\x08\x5e\x98\x74\x5b\xce\x99\xbf\x01\x0f\xad\xc0\x49\xcd\x4c\x3b\x1f\x07\xc8\x54\x7d\xef\xf1\x4b\x29\x8f\xe9\xba\xef\xce', 2)
\ No newline at end of file
__pyarmor__(__name__, __file__, b'\x50\x59\x41\x52\x4d\x4f\x52\x00\x00\x03\x06\x00\x33\x0d\x0d\x0a\x04\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x40\x00\x00\x00\x51\x09\x00\x00\x00\x00\x00\x10\xb2\x65\x2f\xdc\x18\xb6\x5f\xe6\xb1\x27\xb4\xd3\x2d\xd1\x68\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x30\x24\xbd\xb2\xb5\xb4\x43\x59\x7e\xa5\x88\xe6\x16\x47\x79\x7c\x72\xa8\x07\x8b\x95\x11\x07\xf7\x06\x22\x25\xfe\x10\x66\xd2\x0d\x6e\xe8\xff\x0b\x06\xc1\xb5\xa1\x58\xd1\xbe\x31\x79\x9d\xf3\x6c\x56\x85\x4c\x31\x8e\x5f\xe5\x36\x99\x70\x3c\xa8\xd8\xb1\xe5\x6f\xd4\xb9\x51\xfa\xa7\x94\xd5\x6d\xc2\x4b\xe2\x4f\x21\x6e\xfa\x3b\x65\xb7\x39\x7d\x8f\xe6\x6d\xd1\xaf\x03\xaa\xa8\x85\x57\xaf\x1c\xc5\x03\xfd\x67\x14\x53\x13\x95\x93\x20\x82\x22\x15\xc2\xbd\x1a\xe2\xe0\xdf\x8e\xb8\x28\xb7\xdd\x96\x6b\x81\xb4\x83\x19\x91\x9d\x96\x1d\xa7\x62\x94\x58\x96\x81\x18\x29\xea\x22\xd0\x73\xc7\x78\xcf\x03\x2e\x52\x6d\x0c\xdf\x09\x36\xdb\xfc\xfc\x22\x39\xcc\xac\x83\x3d\xa2\xd8\xf6\x2f\xf1\x3b\x9f\xf6\x6d\xb2\x49\x0c\x35\xf8\x23\x07\xc8\xad\xc3\x69\x95\xc4\x71\xf1\x26\x4b\xd8\x70\x05\x29\x4b\xe8\x64\xf4\xb0\xd7\xc9\x4a\x60\xea\xb4\xc2\xb4\x65\x8c\xcc\x28\x6d\x45\x62\x35\xa8\xd8\x03\xb1\x87\x89\x52\xd6\xcd\x39\x35\x73\xc7\x44\x8c\x8e\x69\xf1\xda\xe8\xda\xe1\x13\xf8\xe3\x83\xc2\xdd\xb9\x00\xf6\xfc\xf9\x6e\x9b\x10\x2c\xab\x74\xa5\xe8\x53\x3c\x64\x61\xf1\xd7\xed\x8a\x27\x2a\x1a\x22\x26\xc9\xce\xb4\x6e\x04\x27\xca\x89\xd5\x20\x18\x76\xa2\xa0\x81\x44\xd2\xac\x9f\x2d\xf1\x7b\x6e\x0d\xc4\xa3\x02\xcc\xa5\x0f\xb6\x19\x1b\x0d\x1a\x56\xa0\x50\x05\x54\xd7\xb7\xef\x7a\x75\xd0\x11\x3d\xaa\x4b\x07\x94\x0c\x4a\x11\xa4\xfb\xd0\x77\xd5\x0f\x6d\xd9\x5e\xd0\x08\xb1\xef\x15\xa4\xee\x53\x19\x33\x79\x8e\x1d\xa8\x35\xec\xd1\x69\x2a\xd6\x63\xd2\xd5\x09\x7f\x40\x19\x57\x52\xae\xc7\x93\x40\x01\x62\x17\xc9\x89\x75\x64\x02\xa0\xf9\xf3\x3a\xc1\x9e\x8d\x98\x44\x84\x6c\x95\x25\xf9\x61\x8d\xb9\x1c\x3d\x25\x7c\x7f\xa3\xa9\x33\x84\xee\xde\xaa\x3a\xd7\xfa\x3a\x47\xe9\xe8\xa2\x2a\xcf\x73\x84\x8f\xcf\x44\xb2\x29\x8e\x6a\x05\x43\x24\x66\xf3\x51\xd0\x0b\x69\xc8\xf6\xef\x59\x19\x9d\xc2\x48\xb8\x12\x14\xf3\xaf\x72\x44\x21\x48\x81\x78\x93\xa7\x08\x69\x02\xc7\x99\x1d\x6b\x44\xa1\xb0\x8c\xaa\x62\xd2\x2e\xd2\x2f\x00\xf1\x45\x5e\xb1\x56\x83\x0e\x2a\xb0\x86\x03\x8d\x83\x29\x30\x99\xa9\x03\xe6\x1c\x2e\x8d\xac\x95\x69\x8e\x1e\xcf\xb4\x0b\x40\xb7\x59\x7e\xec\xd3\x9a\x68\xf6\xd0\xa1\x73\x06\x72\xec\x1d\xe1\xde\xe9\x8a\xbd\x3a\xe6\xeb\x3b\x99\xc7\x2d\x6a\x3d\x92\xd9\x52\x45\xf7\x0c\x2c\x67\x63\xe5\xb1\xb4\x89\xeb\x9f\x33\x73\x12\x0a\xfb\x67\xc2\xe4\x61\x34\x7d\x44\xd6\x1b\xd0\x52\x3a\x9e\xa9\xb3\x3f\x5d\x4d\x02\x2e\xab\xab\x65\x5f\xce\xea\x25\x24\x20\xed\xbe\x21\xfa\x76\x3f\x47\x43\xb1\x62\x31\x0b\x91\x4e\x54\x82\x93\xcd\xe0\xc6\xb2\xf5\x86\x7e\xb1\x8c\x8a\xa6\x6d\x81\xa5\x2f\xc8\xec\x13\x53\xce\xdd\x76\xef\xab\x7c\x88\xeb\x84\xf6\x8e\x59\x7c\x0f\x9b\xab\x17\x8d\x9b\x91\x5b\x1f\x47\x88\x56\x8a\xba\xcb\x04\xa0\xe7\xf3\xa0\x2a\x63\xfb\x57\x9d\x17\xfb\xfe\x87\x34\x68\x48\x84\x71\x65\x77\x80\x13\x65\xb4\x2d\xb3\x74\x17\x93\x5a\x3b\x1b\x05\xe0\x85\xc6\xf2\xb1\xe1\x59\x76\x95\x19\x0b\x21\xfe\xa6\x2d\x39\x00\x6e\x19\xe7\xe2\xe3\x81\xde\xbb\x90\x3f\x90\x24\x9f\x19\x0c\xc9\x9e\xa5\x1c\x2a\x98\xb0\x86\x73\x17\x89\x7b\x4e\x55\x16\xe5\x75\x6b\x45\x15\xf3\x26\x33\xb0\x9a\x95\x9c\x47\x15\x71\x87\x04\xa3\xe0\xa3\xa0\x84\x84\x74\x3e\xf9\x8f\xcf\x2b\x38\x5b\xb6\x21\x80\xf4\x24\xb0\xb6\x41\x3d\x81\xeb\x1b\x41\x06\xb2\xb7\x99\xfc\x5d\xa3\xd4\x9f\xf2\x5b\x60\x72\xf5\x50\x09\x3f\xff\x06\xfc\x46\xbd\xa9\x96\x45\xa2\x37\xa6\xfc\xc9\x48\x52\x0b\x35\x73\xc3\xc0\x9d\xd6\xd6\xe0\x2f\x24\x47\x97\xb0\x56\xbe\x5b\xc6\x31\x90\x98\xd7\x6f\xc1\x03\x49\xfe\x76\x1e\xf8\x45\x6e\xfb\xae\xa0\xc0\xff\xcb\x70\x63\xd6\xe9\x2c\xe0\x5e\x8f\x0f\x58\xc2\x63\xa9\x67\xcb\xe8\x7e\xd6\xff\x89\x35\x35\xaa\x98\x96\x4e\xf9\x3b\xba\x03\xf7\xa4\xff\xdd\xd4\xe6\x7d\x7b\x52\x3a\x2b\xa1\x18\x91\x90\xc8\x05\xa1\x73\xd2\x06\x42\x7c\x32\xf5\x7c\x74\x39\xab\xa7\x2f\x27\x08\x98\x44\xfe\xfa\x1b\x2d\xf3\xf3\x89\xd7\x98\x27\x09\xb3\xaa\x2f\x20\x2e\xd5\xc8\xc0\x15\xeb\x92\x04\x5a\x09\x7f\x2e\x6b\xd7\xbb\x93\xe7\x02\x01\xe5\x12\x9d\xe0\x2b\x71\x7b\x19\x8d\xae\x9f\x21\x8c\xf5\xe7\x2e\xa0\x26\xc1\x4f\x26\x13\x66\xa3\x84\x8c\x6a\xa7\x7b\xd3\xd1\xda\xd5\x5b\x6c\xbb\xa4\xb6\x28\x2e\x6f\x33\x5e\x42\xd6\x76\xfa\x80\xd7\xd2\xf3\xcb\x8b\x6d\x48\x20\x7a\x21\xeb\x03\x73\x64\x2e\x7f\x5e\xae\x29\x41\x80\xbb\xcf\xd6\x18\x20\x94\x32\x05\x06\x3c\xba\x92\xcb\x28\xd0\x02\x00\x9c\x5b\xbd\x33\x47\x53\xd4\x01\xad\x69\xa7\xfd\x41\xce\x3f\xc3\x48\xf6\xd4\x82\x93\x97\x23\x99\xd4\x6f\x31\xb4\x8c\x63\xb8\xe2\x0b\x23\xed\x48\xf8\x18\x57\x89\x15\x8f\xc5\x1d\xd0\x04\x2b\x67\x96\xd1\x70\x79\xbe\x27\x79\xc0\xc4\x69\x86\xe6\x72\x6f\x32\x38\xc9\x37\x19\xa1\xc0\x0c\x43\x89\x17\xd3\xe0\x02\x98\x9a\x9d\x8f\xad\x1d\x96\x7b\x62\x8a\x4b\x74\xe8\xf1\xf3\xa7\x63\xbc\x7d\xea\x55\x77\x11\x92\xa8\x3a\x49\x9f\xc0\xbb\xea\x39\x7d\xdf\x3c\x72\x08\x18\x55\x83\xc5\x6d\x73\x3d\xcf\x1d\x9e\xe0\x24\x0e\xa1\xb9\xf6\x6d\x32\x11\xfc\xd4\x36\x59\x89\x11\x5d\xad\x1b\x5a\x44\x02\x17\x37\xcb\xde\x2c\xb2\x02\x1b\x57\x1f\xa3\x18\x36\xa8\xd0\x5f\x96\x5c\x5f\xcb\xe2\x55\x9c\x74\x67\xf5\x63\x6d\x07\xed\xdc\xaf\xca\x28\xa8\x76\x2a\xcf\xa8\x1f\xef\x9e\xbf\xad\xc1\x72\x66\x17\x51\xfe\x32\x1e\xbc\x0f\x38\x66\x05\x36\x7e\x29\x2f\x1e\x88\xdc\xec\x92\x16\x13\x3e\xde\xa5\x5e\x21\x3e\x6c\xd3\xdf\xa9\xeb\xbb\xb0\xc9\x33\x38\x92\xae\x1f\x72\x87\x63\x13\x6c\xde\xa5\x24\xbb\xf6\xb2\x65\x4f\xf1\x13\xc7\xb7\xf7\xbb\x15\x0a\xfd\x03\x19\xb1\x38\x2a\x91\xe0\x2c\x08\x39\xc7\x28\x00\x64\xc1\x17\xab\x6c\x0b\x92\xb7\x52\xbe\x25\x3b\x08\x87\x70\xa5\x2e\xb3\xfa\x33\xf1\x8d\x68\x04\x92\x43\xb8\xc4\x99\x1a\x56\xf1\xc7\x43\x21\x04\xfd\xaa\x42\xe9\x0d\x35\x94\x71\xd9\xf7\x1c\x46\x30\x95\xb1\xe7\xb9\x63\x8b\x32\x0d\x0e\x17\x3c\x67\xae\x83\xc7\x2d\x75\xfc\xf5\x9a\x43\x70\xfb\x38\x8b\x84\xd5\xd0\xd5\x05\x0d\x8b\x4d\xd3\x65\x03\x34\x42\xee\xde\x3c\xba\x07\xda\x7d\x49\xec\x62\x2c\x1f\x7b\xda\x96\xb3\x54\x2a\x9c\x15\xdd\xb6\x1a\x51\x86\x9d\xe4\xe5\x9c\x58\xcd\x26\x63\x1e\xe8\x6f\x22\x6e\x91\x9d\xb9\xfc\x55\xd8\xa4\x96\xb2\x35\x7b\x40\x49\x40\x89\xd9\x99\x13\x59\x83\x54\xe6\x68\xcf\xc2\x89\x77\x85\x11\xaa\xd9\xf5\x94\x34\x18\x60\xcb\x42\xb4\xcb\xdb\x5b\x69\xbf\x3b\x20\xd9\x6a\x8b\x61\x49\x9a\x1e\xad\xa2\xd4\x68\x5b\xa6\xdd\x81\x75\xd0\xbb\x5c\x77\xc2\xe8\xd6\x55\x97\x3a\xc7\x62\x00\x90\xf0\xd8\x7c\xd7\xfb\x3b\x4d\xdd\xbb\x6c\xdc\xb3\x76\x1b\x44\x3f\xa4\xec\xf6\xc2\x1f\x2d\xd3\x25\x85\xa5\x75\xe6\x29\xbf\xb1\xcf\x35\x22\x68\x2d\xf5\x3b\x98\xd5\xe2\x28\x16\x08\x79\x0f\xa5\x45\xd6\x88\xb2\xe4\x2c\xf6\xe9\x34\x9c\xd9\xfb\xdc\xb6\xdb\x14\xad\x74\xbc\xbb\x6a\x53\xa5\x65\x08\x11\x03\xc9\x83\x97\x5e\xbf\x98\xce\xba\x0e\x7d\xef\x40\x99\xe3\xc6\x67\x8a\xa0\xf1\x55\x95\x19\x5a\x41\x06\x1b\xfc\xe5\x73\x85\x68\x82\x15\xe2\xa8\x5d\xa2\x6b\x96\xcf\xea\x74\xff\x3f\x06\x1b\x35\x3b\x6d\xae\x4b\x15\x3a\x05\x02\x49\x34\x67\x46\xf1\x9a\xce\x2c\x9b\x73\xb5\x9d\xa9\xb9\x4c\xb4\x98\x57\xc8\xa0\x39\x6f\x16\xc3\xec\x98\x57\x92\x1f\x48\xdb\xe0\x13\x8d\x6e\x0e\x80\x69\x89\x36\x56\x9c\xab\xa7\x92\x12\x79\x64\xd0\xf7\x61\xb8\x29\xf9\x46\x8d\x02\x3d\x7d\x47\xc8\x4f\xe9\xb6\x0b\x42\xf1\xd3\x03\x68\xd4\x2d\x13\xe3\xc3\x8e\x59\x97\x61\xa8\x9d\x94\x90\x80\xd0\xea\x15\xfa\x4c\x74\xc3\x5e\x5e\x19\xc4\x4c\xc2\x10\x23\xc7\x0b\x92\x43\xe2\x0e\x97\x49\x5d\x01\xae\xad\xe6\x49\xa5\x3d\x04\xa9\xc6\x50\x7c\x8e\x09\x9d\x3c\x33\x49\x6b\x53\x76\x3f\x89\x12\x5b\xf5\xf2\xab\xda\x6b\x95\x6a\xd9\x63\xc1\x13\x30\x00\x92\xa2\x8c\x7e\x18\x45\xbc\xb8\xd5\x52\xf1\x48\x61\x44\x86\xac\x3e\xec\x1b\xc2\xa3\x91\x02\xc6\x8f\x3c\x28\xaa\xf2\x1c\x05\x9f\xa4\xeb\x32\x90\x68\x2f\xbf\x1f\xcb\x32\x71\xae\xbc\x4a\x83\x4e\x22\x8f\xdb\xdd\xd0\xbe\xcb\xe8\xf6\x71\x64\x4d\x09\xc6\xc2\xc8\xe1\x3e\xa6\x25\xa1\x87\xb4\x46\x43\x40\x50\x8a\x34\xf6\xef\x4c\xac\x55\x68\xe3\xee\x49\x3f\xea\xb3\x50\xa0\x1b\xb0\x7b\x7e\x0a\x22\xad\xcf\x83\x1b\x54\x28\x1f\xfd\x38\xa7\xf4\xe0\x77\x9a\xb5\x45\xac\x32\xb4\x6e\xd0\xfe\x5d\x86\xaa\xdf\x8e\xd9\x07\x73\x45\x4b\xc0\xcb\x54\x44\xe1\xf6\x7d\x4d\xe4\x1c\xc7\xfa\x50\xd3\xd5\x2f\x04\x12\x46\x7f\xf2\x46\x73\x86\x5e\xa4\x37\x63\x5a\xc0\xcd\x85\xff\x96\x40\xda\x35\xb4\x1f\xf9\x3b\x43\x4a\x37\x3d\xcf\x05\x05\x8d\xd1\x42\xad\xb0\x1a\xa9\x19\xb3\xfb\x16\xb5\x25\x4b\x21\x9b\x4b\xb6\x59\xf1\x7b\xed\xe8\x45\xf3\x62\x4b\x7b\xa9\x8d\x0b\xc1\x0a\xd8\x35\x09\xb5\x22\x7e\xc4\xac\x63\x22\x7c\xaf\x42\x91\x78\x1f\x25\x61\xeb\xf3\x64\xb1\xaa\xd3\x24\x78\xfc\x6b\xc1\x12\x91\x86\xce\x4e\xb7\x8f\xd7\x2b\xeb\xab\xc9\xa7\x33\xb1\x52\x35\xed\x19\x90\x26\xfd\x14\x3b\x9e\xfa\x92\x21\x64\xce\x96\x5b\x59\x56\xb4\xfb\xc3\x70\xcd\xbd\xd4\x7a\x80\x01\xba\x5e\x38\x8d\xf3\x07\x73\xfb\x26\x27\xba\xe9\x11\xb8\xda\x91\xb8\xc9\x4c\x84\x41\xa3\xae\xf4\x77\x72\xcf\x7d\xff\x24\xbf\xd0\x80\x5b\xbf\x23\x3e\x43\x2e\xd2\x8b\x05\x8e\xfc\x05\x04\xdb\x04\x41\xff\x2f\xea\xf9\xa7\x78\xa7\xee\xf8\x03\x3d\x9c\x7b\xe0\x5f\x9b\x8d\x3d\xfd\xf3\xf3\x54\x95\xf8\xd0\x9e\x9f\x71\x87\xc4\xb8\x91\xfe\xb0\xf4\xcd\x06\xa4\x9f\x06\x78\xbd\x28\xa6\xc9\x9f\x1e\xc5\xcf\x7b\x58\x52\xbb\x06\x7d\xbc\x7b\x14\xba\x69\xa9\x26\x3e\x88\xbc\xfb\x0e\x2a\x17\x46\x00\x5b\x0e\x56\xfe\x8d\x58\xca\x82\x82\x6f\x28\xc6\x0d\x32\x59\x95\x15\x73\x1c\xd8\x4d\x62\x48\x8f\x9b\x4e\xe1\x38\xb2\x3d\x28\xdf\x47\x5d\x17\x89\x9e\x73\x69\x30\xc6\x75\x11\xb3\xa5\x50\x90\xd0\xf6\x36\xe6\xf2\xf8\x54\x5f\xc2\x71\x59\xb8\xc0\x7d\x7f\x0c\x88\xb2\x9e\xa7\x46\xad\x22\x0e\x0f\xf6\xfb\xdf\x45\xb5\x2b\xff\xbc\x4b\xcd\x49\x7c\x1b\x72\x37\x6e\xec\xdd\x0f\xda\xf3\x92\xbe\x99\x3f\xa3\x87\x7d\x94\x6f\x86\x44\xf9\x3c\xd0\xab\x2a\x9e\xa6\xc3\x39\x24\xa7\xfe\x83\x04\xef\xf7\xb1\x95\x11\x6c\xd5\x96\x48\x54\x6b\x27\xdf\x3d\x34\xc9\x97\x8e\x21\xcc\x94\x39\xac\x99\x36\xdf\xe0\x9b\xac\xc4\x24\xe4\x21\xdf\x9d\xb5\x51\x80\x47\x36\x49\x0e\x84\x2b\x77\x3a\x36\x62\x36\xe4\x3d\x78\x62\x65\x43\xa7\x6c\x1c\xec\xf6\xec\x48\x31\xbe\x8b\x9c\xdc\x6b\xb4\x04\x48\x07\xd8\x94\x24\xe2\xd9\xeb\x1f\x9e\xea\x82\xc3\xd8\xb5\x4a\x49\x3b\x0a\x2d\x20\xd6\x95\xa8\x62\xaf\xd8\x14\x6e\xab\x55', 2)
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment