From 151ba3f2d628e0a127e06a56a8af95a5f2e8ceb5 Mon Sep 17 00:00:00 2001 From: Irony <892768447@qq.com> Date: Wed, 26 Dec 2018 23:04:56 +0800 Subject: [PATCH] update --- Donate/README.md | 3 - .../菜单多选不关闭.py => QMenu/MultiSelect.py | 2 +- {菜单 => QMenu}/README.md | 15 +- .../ScreenShot/MultiSelect.gif | Bin .../ClickJumpSlider.py | 21 +- QSlider/README.md | 36 + .../ScreenShot/ClickJumpSlider.gif | Bin QTableView/{CopyContent => }/CopyContent.py | 0 QTableView/CopyContent/__main__.py | 30 - QTableView/README.md | 5 +- QTableWidget/{SqlQuery => Data}/data.sqlite3 | Bin QTableWidget/{SqlQuery => Data}/mainui.ui | 0 QTableWidget/README.md | 5 +- QTableWidget/{SqlQuery => }/SqlQuery.py | 4 +- QTableWidget/SqlQuery/__main__.py | 29 - QTableWidget/SqlQuery/mainui.py | 111 - .../HighlightText.py | 30 +- QTextEdit/README.md | 8 + .../ScreenShot/HighlightText.gif | Bin .../获取Cookie.py => QWebEngineView/GetCookie.py | 10 +- QWebEngineView/README.en.md | 0 QWebEngineView/README.md | 8 + .../ScreenShot/GetCookie.png | Bin .../QWebView/梦幻树 => QWebView/Data}/data.qrc | 0 .../QWebView/梦幻树 => QWebView/Data}/jquery.js | 0 .../QWebView/梦幻树 => QWebView/Data}/tree.html | 0 .../梦幻树/梦幻树.py => QWebView/DreamTree.py | 9 +- .../获取Cookie.py => QWebView/GetCookie.py | 16 +- QWebView/README.md | 15 + .../梦幻树.png => QWebView/ScreenShot/DreamTree.png | Bin .../ScreenShot/GetCookie.png | Bin README.md | 241 +- README.old.md | 149 - 浏览器/QWebView/梦幻树/data_rc.py | 6225 ----------------- 浏览器/README.md | 21 - 滑动条/README.md | 37 - 滚动条/README.md | 1 - 级联/README.md | 1 - 表格/QTableView/README.md | 10 - 表格/QTableView/ScreenShot/表格内容复制1.png | Bin 25294 -> 0 bytes 表格/QTableView/ScreenShot/表格内容复制2.png | Bin 14085 -> 0 bytes 表格/QTableView/表格内容复制.py | 107 - 表格/QTableWidget/README.md | 7 - .../ScreenShot/数据库查询显示表格.png | Bin 31815 -> 0 bytes .../数据库查询显示表格/data.sqlite3 | Bin 4096 -> 0 bytes 表格/QTableWidget/数据库查询显示表格/main.py | 149 - .../QTableWidget/数据库查询显示表格/mainui.py | 111 - .../QTableWidget/数据库查询显示表格/mainui.ui | 122 - 表格/README.md | 1 - 输入框/README.md | 8 - 进度条/README.md | 1 - 51 files changed, 183 insertions(+), 7365 deletions(-) delete mode 100644 Donate/README.md rename 菜单/菜单多选不关闭.py => QMenu/MultiSelect.py (98%) rename {菜单 => QMenu}/README.md (79%) rename 菜单/ScreenShot/菜单多选不关闭.gif => QMenu/ScreenShot/MultiSelect.gif (100%) rename 滑动条/滑动条点击定位.py => QSlider/ClickJumpSlider.py (84%) rename 滑动条/ScreenShot/滑动条点击定位.gif => QSlider/ScreenShot/ClickJumpSlider.gif (100%) rename QTableView/{CopyContent => }/CopyContent.py (100%) delete mode 100644 QTableView/CopyContent/__main__.py rename QTableWidget/{SqlQuery => Data}/data.sqlite3 (100%) rename QTableWidget/{SqlQuery => Data}/mainui.ui (100%) rename QTableWidget/{SqlQuery => }/SqlQuery.py (97%) delete mode 100644 QTableWidget/SqlQuery/__main__.py delete mode 100644 QTableWidget/SqlQuery/mainui.py rename 输入框/QTextEdit/简单查找文字并高亮.py => QTextEdit/HighlightText.py (73%) rename 输入框/QTextEdit/ScreenShot/简单查找文字并高亮.gif => QTextEdit/ScreenShot/HighlightText.gif (100%) rename 浏览器/QWebEngineView/获取Cookie/获取Cookie.py => QWebEngineView/GetCookie.py (91%) create mode 100644 QWebEngineView/README.en.md create mode 100644 QWebEngineView/README.md rename 浏览器/QWebEngineView/获取Cookie/ScreenShot/获取Cookie.png => QWebEngineView/ScreenShot/GetCookie.png (100%) rename {浏览器/QWebView/梦幻树 => QWebView/Data}/data.qrc (100%) rename {浏览器/QWebView/梦幻树 => QWebView/Data}/jquery.js (100%) rename {浏览器/QWebView/梦幻树 => QWebView/Data}/tree.html (100%) rename 浏览器/QWebView/梦幻树/梦幻树.py => QWebView/DreamTree.py (90%) rename 浏览器/QWebView/获取Cookie/获取Cookie.py => QWebView/GetCookie.py (76%) rename 浏览器/QWebView/梦幻树/ScreenShot/梦幻树.png => QWebView/ScreenShot/DreamTree.png (100%) rename 浏览器/QWebView/获取Cookie/ScreenShot/获取Cookie.png => QWebView/ScreenShot/GetCookie.png (100%) delete mode 100644 README.old.md delete mode 100644 浏览器/QWebView/梦幻树/data_rc.py delete mode 100644 浏览器/README.md delete mode 100644 滑动条/README.md delete mode 100644 滚动条/README.md delete mode 100644 级联/README.md delete mode 100644 表格/QTableView/README.md delete mode 100644 表格/QTableView/ScreenShot/表格内容复制1.png delete mode 100644 表格/QTableView/ScreenShot/表格内容复制2.png delete mode 100644 表格/QTableView/表格内容复制.py delete mode 100644 表格/QTableWidget/README.md delete mode 100644 表格/QTableWidget/数据库查询显示表格/ScreenShot/数据库查询显示表格.png delete mode 100644 表格/QTableWidget/数据库查询显示表格/data.sqlite3 delete mode 100644 表格/QTableWidget/数据库查询显示表格/main.py delete mode 100644 表格/QTableWidget/数据库查询显示表格/mainui.py delete mode 100644 表格/QTableWidget/数据库查询显示表格/mainui.ui delete mode 100644 表格/README.md delete mode 100644 输入框/README.md delete mode 100644 进度条/README.md diff --git a/Donate/README.md b/Donate/README.md deleted file mode 100644 index 31b6fb8..0000000 --- a/Donate/README.md +++ /dev/null @@ -1,3 +0,0 @@ -          微信                    支付宝 -
-or \ No newline at end of file diff --git a/菜单/菜单多选不关闭.py b/QMenu/MultiSelect.py similarity index 98% rename from 菜单/菜单多选不关闭.py rename to QMenu/MultiSelect.py index aea660b..17bf9bd 100644 --- a/菜单/菜单多选不关闭.py +++ b/QMenu/MultiSelect.py @@ -6,7 +6,7 @@ Created on 2018年10月24日 @author: Irony @site: https://github.com/892768447 @email: 892768447@qq.com -@file: 菜单多选不关闭 +@file: MultiSelect @description: """ from PyQt5.QtWidgets import QWidget, QVBoxLayout, QLabel, QPushButton, QMenu,\ diff --git a/菜单/README.md b/QMenu/README.md similarity index 79% rename from 菜单/README.md rename to QMenu/README.md index 06eb299..7895d4e 100644 --- a/菜单/README.md +++ b/QMenu/README.md @@ -1,6 +1,7 @@ -# 菜单 QMenu +# QMenu -## [1、菜单设置多选并且不关闭](菜单多选不关闭.py) +## 1、菜单设置多选并且不关闭 +[运行 MultiSelect.py](MultiSelect.py) 有时候会遇到这种需求:在界面某个位置弹出一个菜单,其中里面的菜单项可以多选(类似配置选项), 此时用QMenu会遇到点击一个菜单项就会自动关闭,当然可以通过其他方式实现该功能, @@ -13,9 +14,9 @@ 原理: 1. 设置菜单项可勾选:通过`QAction.setCheckable(True)`方法实现 -1. 设置菜单不可关闭:通过覆盖`QMenu`的鼠标释放`mouseReleaseEvent`方法(可直接替换或者通过`installEventFilter`安装事件过滤器实现) -1. 在菜单的鼠标释放事件中,当点击菜单项后是通过点击点坐标来查找是否有`QAction`,然后触发对应的`QAction` -1. 故在没有`QAction`的地方则直接交还给`QMenu`自行处理逻辑,在有`QAction`的地方可以根据自己的需求进行处理(如上所提) +2. 设置菜单不可关闭:通过覆盖`QMenu`的鼠标释放`mouseReleaseEvent`方法(可直接替换或者通过`installEventFilter`安装事件过滤器实现) +3. 在菜单的鼠标释放事件中,当点击菜单项后是通过点击点坐标来查找是否有`QAction`,然后触发对应的`QAction` +4. 故在没有`QAction`的地方则直接交还给`QMenu`自行处理逻辑,在有`QAction`的地方可以根据自己的需求进行处理(如上所提) 核心代码: @@ -31,6 +32,4 @@ def _menu_mouseReleaseEvent(self, event): action.activate(action.Trigger) ``` -效果图: - -![截图](ScreenShot/菜单多选不关闭.gif) \ No newline at end of file +![MultiSelect](ScreenShot/MultiSelect.gif) \ No newline at end of file diff --git a/菜单/ScreenShot/菜单多选不关闭.gif b/QMenu/ScreenShot/MultiSelect.gif similarity index 100% rename from 菜单/ScreenShot/菜单多选不关闭.gif rename to QMenu/ScreenShot/MultiSelect.gif diff --git a/滑动条/滑动条点击定位.py b/QSlider/ClickJumpSlider.py similarity index 84% rename from 滑动条/滑动条点击定位.py rename to QSlider/ClickJumpSlider.py index 0f25971..1184df8 100644 --- a/滑动条/滑动条点击定位.py +++ b/QSlider/ClickJumpSlider.py @@ -6,7 +6,7 @@ Created on 2018年11月5日 @author: Irony @site: https://pyqt5.com https://github.com/892768447 @email: 892768447@qq.com -@file: Widgets.JumpSlider +@file: ClickJumpSlider @description: """ from PyQt5.QtCore import Qt @@ -21,7 +21,7 @@ __Copyright__ = "Copyright (c) 2018 Irony" __Version__ = "Version 1.0" -class JumpSlider(QSlider): +class ClickJumpSlider(QSlider): def mousePressEvent(self, event): # 获取上面的拉动块位置 @@ -31,7 +31,7 @@ class JumpSlider(QSlider): QStyle.CC_Slider, option, QStyle.SC_SliderHandle, self) if rect.contains(event.pos()): # 如果鼠标点击的位置在滑块上则交给Qt自行处理 - super(JumpSlider, self).mousePressEvent(event) + super(ClickJumpSlider, self).mousePressEvent(event) return if self.orientation() == Qt.Horizontal: # 横向,要考虑invertedAppearance是否反向显示的问题 @@ -47,29 +47,30 @@ class JumpSlider(QSlider): ) else event.y(), self.height())) -class TestWindow(QWidget): +class DemoWindow(QWidget): def __init__(self, *args, **kwargs): - super(TestWindow, self).__init__(*args, **kwargs) + super(DemoWindow, self).__init__(*args, **kwargs) + self.resize(600, 600) layout = QFormLayout(self) self.label1 = QLabel('0', self) - layout.addRow(self.label1, JumpSlider( + layout.addRow(self.label1, ClickJumpSlider( Qt.Horizontal, valueChanged=lambda v: self.label1.setText(str(v)))) # 横向-反向显示 self.label2 = QLabel('0', self) - layout.addRow(self.label2, JumpSlider( + layout.addRow(self.label2, ClickJumpSlider( Qt.Horizontal, invertedAppearance=True, valueChanged=lambda v: self.label2.setText(str(v)))) self.label3 = QLabel('0', self) - layout.addRow(self.label3, JumpSlider( + layout.addRow(self.label3, ClickJumpSlider( Qt.Vertical, minimumHeight=200, valueChanged=lambda v: self.label3.setText(str(v)))) # 纵向反向显示 self.label4 = QLabel('0', self) - layout.addRow(self.label4, JumpSlider( + layout.addRow(self.label4, ClickJumpSlider( Qt.Vertical, invertedAppearance=True, minimumHeight=200, valueChanged=lambda v: self.label4.setText(str(v)))) @@ -80,6 +81,6 @@ if __name__ == '__main__': sys.excepthook = cgitb.enable(1, None, 5, '') from PyQt5.QtWidgets import QApplication app = QApplication(sys.argv) - w = TestWindow() + w = DemoWindow() w.show() sys.exit(app.exec_()) diff --git a/QSlider/README.md b/QSlider/README.md index e69de29..33445c2 100644 --- a/QSlider/README.md +++ b/QSlider/README.md @@ -0,0 +1,36 @@ +# QSlider + +## 1、滑动条点击定位 +[运行 ClickJumpSlider.py](ClickJumpSlider.py) + +1. `QSlider`对鼠标点击然后跳转到该位置的支持不是很好,通过重写鼠标点击事件`mousePressEvent`来达到效果 +2. 通过`style`的`subControlRect`方法计算得到滑块的区域,当鼠标点击区域在此次时则交给系统自己处理(比如按住不放拖动) +3. 通过`orientation`判断滑动条的方向(横竖) +4. 通过`invertedAppearance`判断滑动条是否反向(左右、上下) + +```python +def mousePressEvent(self, event): + # 获取上面的拉动块位置 + option = QStyleOptionSlider() + self.initStyleOption(option) + rect = self.style().subControlRect( + QStyle.CC_Slider, option, QStyle.SC_SliderHandle, self) + if rect.contains(event.pos()): + # 如果鼠标点击的位置在滑块上则交给Qt自行处理 + super(JumpSlider, self).mousePressEvent(event) + return + if self.orientation() == Qt.Horizontal: + # 横向,要考虑invertedAppearance是否反向显示的问题 + self.setValue(self.style().sliderValueFromPosition( + self.minimum(), self.maximum(), + event.x() if not self.invertedAppearance() else (self.width( + ) - event.x()), self.width())) + else: + # 纵向 + self.setValue(self.style().sliderValueFromPosition( + self.minimum(), self.maximum(), + (self.height() - event.y()) if not self.invertedAppearance( + ) else event.y(), self.height())) +``` + +![ClickJumpSlider](ScreenShot/ClickJumpSlider.gif) \ No newline at end of file diff --git a/滑动条/ScreenShot/滑动条点击定位.gif b/QSlider/ScreenShot/ClickJumpSlider.gif similarity index 100% rename from 滑动条/ScreenShot/滑动条点击定位.gif rename to QSlider/ScreenShot/ClickJumpSlider.gif diff --git a/QTableView/CopyContent/CopyContent.py b/QTableView/CopyContent.py similarity index 100% rename from QTableView/CopyContent/CopyContent.py rename to QTableView/CopyContent.py diff --git a/QTableView/CopyContent/__main__.py b/QTableView/CopyContent/__main__.py deleted file mode 100644 index afe68fc..0000000 --- a/QTableView/CopyContent/__main__.py +++ /dev/null @@ -1,30 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -""" -Created on 2018年12月6日 -@author: Irony -@site: https://pyqt5.com, https://github.com/892768447 -@email: 892768447@qq.com -@file: -@description: -""" - -__Author__ = """By: Irony -QQ: 892768447 -Email: 892768447@qq.com""" -__Copyright__ = 'Copyright (c) 2018 Irony' -__Version__ = 1.0 - -import sys - -from PyQt5.QtWidgets import QApplication - -from CopyContent import TableView - - -app = QApplication(sys.argv) -app.setApplicationName("TableView") -w = TableView() -w.show() -sys.exit(app.exec_()) \ No newline at end of file diff --git a/QTableView/README.md b/QTableView/README.md index 61b5bcf..171ad4a 100644 --- a/QTableView/README.md +++ b/QTableView/README.md @@ -1,10 +1,11 @@ # QTableView -## [1、表格内容复制](CopyContent) +## 1、表格内容复制 +[运行 CopyContent.py](CopyContent.py) 1. 通过构造一个和选中区域一样的空数组,然后对数组进行填充形成表格 1. 最后循环数组用`\t`进行拼接`join`,换行用`\r\n` 1. 把字符串复制到剪切板中 -![截图](ScreenShot/CopyContent1.png)![截图](ScreenShot/CopyContent2.png) +![CopyContent1](ScreenShot/CopyContent1.png) ![CopyContent2](ScreenShot/CopyContent2.png) diff --git a/QTableWidget/SqlQuery/data.sqlite3 b/QTableWidget/Data/data.sqlite3 similarity index 100% rename from QTableWidget/SqlQuery/data.sqlite3 rename to QTableWidget/Data/data.sqlite3 diff --git a/QTableWidget/SqlQuery/mainui.ui b/QTableWidget/Data/mainui.ui similarity index 100% rename from QTableWidget/SqlQuery/mainui.ui rename to QTableWidget/Data/mainui.ui diff --git a/QTableWidget/README.md b/QTableWidget/README.md index 9c382ee..a8bcbb9 100644 --- a/QTableWidget/README.md +++ b/QTableWidget/README.md @@ -1,7 +1,8 @@ # QTableWidget -## [1、Sqlalchemy动态拼接字段查询显示表格](SqlQuery) +## 1、Sqlalchemy动态拼接字段查询显示表格 +[运行 SqlQuery.py](SqlQuery.py) 通过判断界面中选择的条件对`Sqlalchemy`的`model`进行字段拼接从而实现按条件查询 -![截图](ScreenShot/SqlQuery.png) \ No newline at end of file +![SqlQuery](ScreenShot/SqlQuery.png) \ No newline at end of file diff --git a/QTableWidget/SqlQuery/SqlQuery.py b/QTableWidget/SqlQuery.py similarity index 97% rename from QTableWidget/SqlQuery/SqlQuery.py rename to QTableWidget/SqlQuery.py index 6586953..256dda9 100644 --- a/QTableWidget/SqlQuery/SqlQuery.py +++ b/QTableWidget/SqlQuery.py @@ -17,7 +17,7 @@ from sqlalchemy.orm.session import sessionmaker from sqlalchemy.sql.expression import and_ from sqlalchemy.sql.schema import Column from sqlalchemy.sql.sqltypes import Integer, Text -from mainui import Ui_Form +from Lib.mainui import Ui_Form __Author__ = """By: Irony QQ: 892768447 @@ -26,7 +26,7 @@ __Copyright__ = "Copyright (c) 2018 Irony" __Version__ = "Version 1.0" # engine = create_engine('mysql+mysqldb://root@localhost:3306/tourist?charset=utf8') -engine = create_engine('sqlite:///data.sqlite3', echo=True) # echo 表示开启命令显示 +engine = create_engine('sqlite:///Data/data.sqlite3', echo=True) # echo 表示开启命令显示 Base = declarative_base() diff --git a/QTableWidget/SqlQuery/__main__.py b/QTableWidget/SqlQuery/__main__.py deleted file mode 100644 index e3439cb..0000000 --- a/QTableWidget/SqlQuery/__main__.py +++ /dev/null @@ -1,29 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -""" -Created on 2018年12月6日 -@author: Irony -@site: https://pyqt5.com, https://github.com/892768447 -@email: 892768447@qq.com -@file: -@description: -""" - -__Author__ = """By: Irony -QQ: 892768447 -Email: 892768447@qq.com""" -__Copyright__ = 'Copyright (c) 2018 Irony' -__Version__ = 1.0 - -import sys - -from PyQt5.QtWidgets import QApplication - -from SqlQuery import Window - - -app = QApplication(sys.argv) -w = Window() -w.show() -sys.exit(app.exec_()) \ No newline at end of file diff --git a/QTableWidget/SqlQuery/mainui.py b/QTableWidget/SqlQuery/mainui.py deleted file mode 100644 index d5f7041..0000000 --- a/QTableWidget/SqlQuery/mainui.py +++ /dev/null @@ -1,111 +0,0 @@ -# -*- coding: utf-8 -*- - -# Form implementation generated from reading ui file 'mainui.ui' -# -# Created by: PyQt5 UI code generator 5.5.1 -# -# WARNING! All changes made in this file will be lost! - -from PyQt5 import QtCore, QtGui, QtWidgets - -class Ui_Form(object): - def setupUi(self, Form): - Form.setObjectName("Form") - Form.resize(400, 362) - self.gridLayout = QtWidgets.QGridLayout(Form) - self.gridLayout.setObjectName("gridLayout") - self.checkBoxName = QtWidgets.QCheckBox(Form) - self.checkBoxName.setObjectName("checkBoxName") - self.gridLayout.addWidget(self.checkBoxName, 0, 0, 1, 1) - self.checkBoxSeat = QtWidgets.QCheckBox(Form) - self.checkBoxSeat.setObjectName("checkBoxSeat") - self.gridLayout.addWidget(self.checkBoxSeat, 0, 2, 1, 1) - self.lineEditName = QtWidgets.QLineEdit(Form) - self.lineEditName.setObjectName("lineEditName") - self.gridLayout.addWidget(self.lineEditName, 0, 1, 1, 1) - self.tableWidget = QtWidgets.QTableWidget(Form) - self.tableWidget.setObjectName("tableWidget") - self.tableWidget.setColumnCount(10) - self.tableWidget.setRowCount(0) - item = QtWidgets.QTableWidgetItem() - self.tableWidget.setHorizontalHeaderItem(0, item) - item = QtWidgets.QTableWidgetItem() - self.tableWidget.setHorizontalHeaderItem(1, item) - item = QtWidgets.QTableWidgetItem() - self.tableWidget.setHorizontalHeaderItem(2, item) - item = QtWidgets.QTableWidgetItem() - self.tableWidget.setHorizontalHeaderItem(3, item) - item = QtWidgets.QTableWidgetItem() - self.tableWidget.setHorizontalHeaderItem(4, item) - item = QtWidgets.QTableWidgetItem() - self.tableWidget.setHorizontalHeaderItem(5, item) - item = QtWidgets.QTableWidgetItem() - self.tableWidget.setHorizontalHeaderItem(6, item) - item = QtWidgets.QTableWidgetItem() - self.tableWidget.setHorizontalHeaderItem(7, item) - item = QtWidgets.QTableWidgetItem() - self.tableWidget.setHorizontalHeaderItem(8, item) - item = QtWidgets.QTableWidgetItem() - self.tableWidget.setHorizontalHeaderItem(9, item) - self.gridLayout.addWidget(self.tableWidget, 3, 0, 1, 4) - self.lineEditSeat = QtWidgets.QLineEdit(Form) - self.lineEditSeat.setObjectName("lineEditSeat") - self.gridLayout.addWidget(self.lineEditSeat, 0, 3, 1, 1) - self.lineEditPort = QtWidgets.QLineEdit(Form) - self.lineEditPort.setObjectName("lineEditPort") - self.gridLayout.addWidget(self.lineEditPort, 1, 3, 1, 1) - self.checkBoxPort = QtWidgets.QCheckBox(Form) - self.checkBoxPort.setObjectName("checkBoxPort") - self.gridLayout.addWidget(self.checkBoxPort, 1, 2, 1, 1) - self.checkBoxLicense = QtWidgets.QCheckBox(Form) - self.checkBoxLicense.setObjectName("checkBoxLicense") - self.gridLayout.addWidget(self.checkBoxLicense, 1, 0, 1, 1) - self.lineEditLicense = QtWidgets.QLineEdit(Form) - self.lineEditLicense.setObjectName("lineEditLicense") - self.gridLayout.addWidget(self.lineEditLicense, 1, 1, 1, 1) - self.pushButtonQuery = QtWidgets.QPushButton(Form) - self.pushButtonQuery.setObjectName("pushButtonQuery") - self.gridLayout.addWidget(self.pushButtonQuery, 2, 0, 1, 4) - - self.retranslateUi(Form) - QtCore.QMetaObject.connectSlotsByName(Form) - - def retranslateUi(self, Form): - _translate = QtCore.QCoreApplication.translate - Form.setWindowTitle(_translate("Form", "Form")) - self.checkBoxName.setText(_translate("Form", "姓名")) - self.checkBoxSeat.setText(_translate("Form", "座位号")) - item = self.tableWidget.horizontalHeaderItem(0) - item.setText(_translate("Form", "编号")) - item = self.tableWidget.horizontalHeaderItem(1) - item.setText(_translate("Form", "姓名")) - item = self.tableWidget.horizontalHeaderItem(2) - item.setText(_translate("Form", "证件号")) - item = self.tableWidget.horizontalHeaderItem(3) - item.setText(_translate("Form", "航班号")) - item = self.tableWidget.horizontalHeaderItem(4) - item.setText(_translate("Form", "航班日期")) - item = self.tableWidget.horizontalHeaderItem(5) - item.setText(_translate("Form", "座位号")) - item = self.tableWidget.horizontalHeaderItem(6) - item.setText(_translate("Form", "登机口")) - item = self.tableWidget.horizontalHeaderItem(7) - item.setText(_translate("Form", "序号")) - item = self.tableWidget.horizontalHeaderItem(8) - item.setText(_translate("Form", "出发地")) - item = self.tableWidget.horizontalHeaderItem(9) - item.setText(_translate("Form", "目的地")) - self.checkBoxPort.setText(_translate("Form", "登机口")) - self.checkBoxLicense.setText(_translate("Form", "证件号")) - self.pushButtonQuery.setText(_translate("Form", "查询")) - - -if __name__ == "__main__": - import sys - app = QtWidgets.QApplication(sys.argv) - Form = QtWidgets.QWidget() - ui = Ui_Form() - ui.setupUi(Form) - Form.show() - sys.exit(app.exec_()) - diff --git a/输入框/QTextEdit/简单查找文字并高亮.py b/QTextEdit/HighlightText.py similarity index 73% rename from 输入框/QTextEdit/简单查找文字并高亮.py rename to QTextEdit/HighlightText.py index 75d1bc9..d1c8c48 100644 --- a/输入框/QTextEdit/简单查找文字并高亮.py +++ b/QTextEdit/HighlightText.py @@ -1,39 +1,40 @@ import sys -from PyQt5.QtGui import QTextCharFormat,QTextDocument, QTextCursor +from PyQt5.QtGui import QTextCharFormat, QTextDocument, QTextCursor from PyQt5.QtWidgets import (QApplication, QMainWindow, QTextEdit, - QToolBar, QLineEdit, QPushButton, QColorDialog, QHBoxLayout, QWidget) + QToolBar, QLineEdit, QPushButton, QColorDialog, QHBoxLayout, QWidget) + class TextEdit(QMainWindow): def __init__(self, parent=None): super(TextEdit, self).__init__(parent) self.textEdit = QTextEdit(self) self.setCentralWidget(self.textEdit) - + widget = QWidget(self) vb = QHBoxLayout(widget) vb.setContentsMargins(0, 0, 0, 0) self.findText = QLineEdit(self) self.findText.setText('self') - findBtn = QPushButton('高亮',self) + findBtn = QPushButton('高亮', self) findBtn.clicked.connect(self.highlight) vb.addWidget(self.findText) vb.addWidget(findBtn) - + tb = QToolBar(self) tb.addWidget(widget) - - def setText(self,text): + + def setText(self, text): self.textEdit.setPlainText(text) - + def mergeFormatOnWordOrSelection(self, format): cursor = self.textEdit.textCursor() if not cursor.hasSelection(): cursor.select(QTextCursor.WordUnderCursor) cursor.mergeCharFormat(format) self.textEdit.mergeCurrentCharFormat(format) - + def highlight(self): - text = self.findText.text()#输入框中的文字 + text = self.findText.text() # 输入框中的文字 if not text: return col = QColorDialog.getColor(self.textEdit.textColor(), self) @@ -41,17 +42,18 @@ class TextEdit(QMainWindow): return fmt = QTextCharFormat() fmt.setForeground(col) - #先把光标移动到开头 + # 先把光标移动到开头 self.textEdit.moveCursor(QTextCursor.Start) - while self.textEdit.find(text,QTextDocument.FindWholeWords):#查找所有文字 + while self.textEdit.find(text, QTextDocument.FindWholeWords): # 查找所有文字 self.mergeFormatOnWordOrSelection(fmt) + if __name__ == '__main__': app = QApplication(sys.argv) textEdit = TextEdit() textEdit.resize(800, 600) textEdit.show() - textEdit.setText(open(sys.argv[0],'rb').read().decode()) + textEdit.setText(open(sys.argv[0], 'rb').read().decode()) - sys.exit(app.exec_()) \ No newline at end of file + sys.exit(app.exec_()) diff --git a/QTextEdit/README.md b/QTextEdit/README.md index e69de29..68780a4 100644 --- a/QTextEdit/README.md +++ b/QTextEdit/README.md @@ -0,0 +1,8 @@ +# QTextEdit + +## 1、文本查找高亮 +[运行 HighlightText.py](HighlightText.py) + +主要用到`mergeCurrentCharFormat`函数 + +![HighlightText](ScreenShot/HighlightText.gif) \ No newline at end of file diff --git a/输入框/QTextEdit/ScreenShot/简单查找文字并高亮.gif b/QTextEdit/ScreenShot/HighlightText.gif similarity index 100% rename from 输入框/QTextEdit/ScreenShot/简单查找文字并高亮.gif rename to QTextEdit/ScreenShot/HighlightText.gif diff --git a/浏览器/QWebEngineView/获取Cookie/获取Cookie.py b/QWebEngineView/GetCookie.py similarity index 91% rename from 浏览器/QWebEngineView/获取Cookie/获取Cookie.py rename to QWebEngineView/GetCookie.py index 4e21ed2..92b3cac 100644 --- a/浏览器/QWebEngineView/获取Cookie/获取Cookie.py +++ b/QWebEngineView/GetCookie.py @@ -6,7 +6,7 @@ Created on 2017年12月10日 @author: Irony."[讽刺] @site: http://alyl.vip, http://orzorz.vip, https://coding.net/u/892768447, https://github.com/892768447 @email: 892768447@qq.com -@file: WebEngineView +@file: GetCookie @description: ''' import sys @@ -36,9 +36,9 @@ class WebEngineView(QWebEngineView): def onLoadFinished(self): print("*****AllDomainCookies:", self.getAllDomainCookies()) print("*****AllPathCookies:", self.getAllPathCookies()) - print("*****alyl.vip cookie:", self.getDomainCookies(".alyl.vip")) - print("*****alyl.vip / path cookie:", - self.getPathCookies(".alyl.vip/")) + print("*****pyqt5.com cookie:", self.getDomainCookies(".pyqt5.com")) + print("*****pyqt5.com / path cookie:", + self.getPathCookies(".pyqt5.com/")) def getAllDomainCookies(self): return self.DomainCookies @@ -79,5 +79,5 @@ if __name__ == "__main__": app = QApplication(sys.argv) w = WebEngineView() w.show() - w.load(QUrl("http://alyl.vip")) + w.load(QUrl("https://pyqt5.com")) sys.exit(app.exec_()) diff --git a/QWebEngineView/README.en.md b/QWebEngineView/README.en.md new file mode 100644 index 0000000..e69de29 diff --git a/QWebEngineView/README.md b/QWebEngineView/README.md new file mode 100644 index 0000000..5650216 --- /dev/null +++ b/QWebEngineView/README.md @@ -0,0 +1,8 @@ +# QWebEngineView + +## 1、QWebEngineView +[运行 GetCookie.py](GetCookie.py) + +通过`QWebEngineProfile`中得到的`cookieStore`并绑定它的`cookieAdded`信号来得到Cookie + +![GetCookie](ScreenShot/GetCookie.png) \ No newline at end of file diff --git a/浏览器/QWebEngineView/获取Cookie/ScreenShot/获取Cookie.png b/QWebEngineView/ScreenShot/GetCookie.png similarity index 100% rename from 浏览器/QWebEngineView/获取Cookie/ScreenShot/获取Cookie.png rename to QWebEngineView/ScreenShot/GetCookie.png diff --git a/浏览器/QWebView/梦幻树/data.qrc b/QWebView/Data/data.qrc similarity index 100% rename from 浏览器/QWebView/梦幻树/data.qrc rename to QWebView/Data/data.qrc diff --git a/浏览器/QWebView/梦幻树/jquery.js b/QWebView/Data/jquery.js similarity index 100% rename from 浏览器/QWebView/梦幻树/jquery.js rename to QWebView/Data/jquery.js diff --git a/浏览器/QWebView/梦幻树/tree.html b/QWebView/Data/tree.html similarity index 100% rename from 浏览器/QWebView/梦幻树/tree.html rename to QWebView/Data/tree.html diff --git a/浏览器/QWebView/梦幻树/梦幻树.py b/QWebView/DreamTree.py similarity index 90% rename from 浏览器/QWebView/梦幻树/梦幻树.py rename to QWebView/DreamTree.py index 9b663d0..1babe9e 100644 --- a/浏览器/QWebView/梦幻树/梦幻树.py +++ b/QWebView/DreamTree.py @@ -17,14 +17,14 @@ from PyQt5.QtGui import QPalette from PyQt5.QtWebKitWidgets import QWebView from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout -import data_rc # @UnusedImport @UnresolvedImport - +from Lib import data_rc # @UnusedImport @UnresolvedImport # from PyQt5.QtWebKit import QWebSettings __Author__ = "By: Irony.\"[讽刺]\nQQ: 892768447\nEmail: 892768447@qq.com" __Copyright__ = "Copyright (c) 2017 Irony.\"[讽刺]" __Version__ = "Version 1.0" + # 要实现透明的webview,需要先用一个QWidget作为父控件 @@ -42,8 +42,8 @@ class Window(QWidget): layout = QVBoxLayout(self) layout.setContentsMargins(0, 0, 0, 0) -# QWebSettings.globalSettings().setAttribute( -# QWebSettings.DeveloperExtrasEnabled, True)# web开发者工具 + # QWebSettings.globalSettings().setAttribute( + # QWebSettings.DeveloperExtrasEnabled, True)# web开发者工具 self.webView = QWebView(self) # 网页控件 layout.addWidget(self.webView) @@ -62,6 +62,7 @@ class Window(QWidget): def load(self): self.webView.load(QUrl('qrc:/tree.html')) # 加载网页 + if __name__ == '__main__': app = QApplication(sys.argv) w = Window() diff --git a/浏览器/QWebView/获取Cookie/获取Cookie.py b/QWebView/GetCookie.py similarity index 76% rename from 浏览器/QWebView/获取Cookie/获取Cookie.py rename to QWebView/GetCookie.py index 7bf24d4..596b1c7 100644 --- a/浏览器/QWebView/获取Cookie/获取Cookie.py +++ b/QWebView/GetCookie.py @@ -6,7 +6,7 @@ Created on 2017年12月10日 @author: Irony."[讽刺] @site: http://alyl.vip, http://orzorz.vip, https://coding.net/u/892768447, https://github.com/892768447 @email: 892768447@qq.com -@file: WebView +@file: GetCookie @description: ''' import sys @@ -31,17 +31,17 @@ class WebView(QWebView): allCookies = self.page().networkAccessManager().cookieJar().allCookies() print("allCookies:", allCookies) for cookie in allCookies: - if cookie.domain() == ".alyl.vip": - print("domain:", cookie.domain()) - print("path:", cookie.path()) - print("name:", cookie.name()) - print("value:", cookie.value()) - print() + # if cookie.domain() == ".pyqt5.com": + print("domain:", cookie.domain()) + print("path:", cookie.path()) + print("name:", cookie.name()) + print("value:", cookie.value()) + print() if __name__ == "__main__": app = QApplication(sys.argv) w = WebView() w.show() - w.load(QUrl("http://alyl.vip")) + w.load(QUrl("https://pyqt5.com")) sys.exit(app.exec_()) diff --git a/QWebView/README.md b/QWebView/README.md index e69de29..182c10e 100644 --- a/QWebView/README.md +++ b/QWebView/README.md @@ -0,0 +1,15 @@ +# QWebView + +## 1、梦幻树 +[运行 DreamTree.py](DreamTree.py) +在桌面上显示透明html效果,使用`QWebkit`加载html实现,采用窗口背景透明和穿透方式 + +![DreamTree](ScreenShot/DreamTree.png) + +## 2、获取Cookie +[运行 GetCookie.py](GetCookie.py) + +从`page()`中得到`QNetworkAccessManager`,在从中得到`QNetworkCookieJar`, +最后得到cookie,当然也可以设置自己的`QNetworkCookieJar` + +![GetCookie](ScreenShot/GetCookie.png) \ No newline at end of file diff --git a/浏览器/QWebView/梦幻树/ScreenShot/梦幻树.png b/QWebView/ScreenShot/DreamTree.png similarity index 100% rename from 浏览器/QWebView/梦幻树/ScreenShot/梦幻树.png rename to QWebView/ScreenShot/DreamTree.png diff --git a/浏览器/QWebView/获取Cookie/ScreenShot/获取Cookie.png b/QWebView/ScreenShot/GetCookie.png similarity index 100% rename from 浏览器/QWebView/获取Cookie/ScreenShot/获取Cookie.png rename to QWebView/ScreenShot/GetCookie.png diff --git a/README.md b/README.md index 48aa39f..03b1bdd 100644 --- a/README.md +++ b/README.md @@ -1,197 +1,66 @@ # 各种各样的PyQt测试和例子 [![Blog](https://img.shields.io/badge/blog-pyqt5-green.svg)](https://pyqt5.com) -[![Gitter version](https://img.shields.io/gitter/room/gitterHQ/gitter.svg)](https://gitter.im/PyQt-5/Lobby) https://pyqt5.com 社区是专门针对PyQt5学习和提升开设的博客网站,分享大家平时学习中记录的笔记和例子,以及对遇到的问题进行收集整理。 -## [ActiveX](ActiveX) +## 目录 -1. [显示Word、Excel、Pdf文件](ActiveX/显示word_excel_pdf.py) +| | | +|:-------|:-------| +| ActiveX | [QAxWidget](QAxWidget) +| 日历 | [QCalendarWidget](QCalendarWidget) +| 复选框 | [QCheckBox](QCheckBox) +| 列视图 | [QColumnView](QColumnView) +| 组合框 | [QComboBox](QComboBox) +| 日期时间 | [QDateTime](QDateTime) +| 日期时间编辑 | [QDateTimeEdit](QDateTimeEdit) +| 刻度盘 | [QDial](QDial) +| 停靠窗口 | [QDockWidget](QDockWidget) +| 双精度编辑 | [QDoubleSpinBox](QDoubleSpinBox) +| 流布局 | [QFlowLayout](QFlowLayout) +| 字体选择 | [QFontComboBox](QFontComboBox) +| 表单布局 | [QFormLayout](QFormLayout) +| 边框容器 | [QFrame](QFrame) +| 图形视图 | [QGraphicsView](QGraphicsView) +| 网格布局 | [QGridLayout](QGridLayout) +| 分组容器 | [QGroupBox](QGroupBox) +| 横向布局 | [QHBoxLayout](QHBoxLayout) +| 文本图片 | [QLabel](QLabel) +| 类液晶屏显示 | [QLCDNumber](QLCDNumber) +| 行输入框 | [QLineEdit](QLineEdit) +| 列表视图 | [QListView](QListView) +| 列表控件 | [QListWidget](QListWidget) +| 子区域 | [QMdiArea](QMdiArea) +| 菜单 | [QMenu](QMenu) +| OpenGL | [QOpenGLWidget](QOpenGLWidget) +| 纯文本 | [QPlainTextEdit](QPlainTextEdit) +| 进度条 | [QProgressBar](QProgressBar) +| 按钮 | [QPushButton](QPushButton) +| 单选框 | [QRadioButton](QRadioButton) +| 滚动区 | [QScrollArea](QScrollArea) +| 滑动条 | [QScrollBar](QScrollBar) +| 拉动条 | [QSlider](QSlider) +| 拉伸条 | [QSpacerItem](QSpacerItem) +| 单精度编辑 | [QSpinBox](QSpinBox) +| 堆叠布局 | [QStackedLayout](QStackedLayout) +| 堆叠控件 | [QStackedWidget](QStackedWidget) +| 表格视图 | [QTableView](QTableView) +| 表格控件 | [QTableWidget](QTableWidget) +| 多标签 | [QTabWidget](QTabWidget) +| 富文本 | [QTextBrowser](QTextBrowser) +| 多行富文本 | [QTextEdit](QTextEdit) +| 时间编辑 | [QTimeEdit](QTimeEdit) +| 工具箱 | [QToolBox](QToolBox) +| 工具按钮 | [QToolButton](QToolButton) +| 树形视图 | [QTreeView](QTreeView) +| 树形控件 | [QTreeWidget](QTreeWidget) +| 纵向布局 | [QVBoxLayout](QVBoxLayout) +| WebEngine | [QWebEngineView](QWebEngineView) +| WebView | [QWebView](QWebView) +| QWidget | [QWidget](QWidget) +| 美化样式 | [StyleSheets](StyleSheets) -## [按钮](按钮) - -## [输入框](输入框) - -1. [QTextEdit](输入框/QTextEdit) - 1. [文本高亮](输入框/QTextEdit/简单查找文字并高亮.py) - -## [菜单](菜单) - -1. [菜单多选不关闭](菜单/菜单多选不关闭.py) - -## [列表](列表) - -1. [QListWidget](列表/QListWidget) - 1. [自定义可拖拽Item](列表/QListWidget/自定义可拖拽Item.py) - 1. [腾讯视频热播列表](列表/QListWidget/腾讯视频热播列表) - 1. [删除自定义Item](列表/QListWidget/删除自定义Item.py) - -1. [QListView](列表/QListView) - 1. [自定义Widget](列表/QListView/显示自定义Widget.py) - 1. [自定义Widget并排序](列表/QListView/显示自定义Widget并排序.py) - -## [树结构](树结构) - -1. [QTreeWidget](树结构/QTreeWidget) - 1. [Json生成QTreeWidget](树结构/QTreeWidget/Json生成QTreeWidget) - -1. [QTreeView](树结构/QTreeView) - -## [表格](表格) - -1. [QTableWidget](表格/QTableWidget) - 1. [数据库查询显示表格](表格/QTableWidget/数据库查询显示表格) - -1. [QTreeView](表格/QTableView) - 1. [表格内容复制](表格/QTableView/表格内容复制.py) - -## [级联](级联) - -## [日期](日期) - -## [图片](图片) - -1. [图片加载、动态图](图片/图片加载) -1. [显示.9.png格式图片](图片/显示.9格式图片) -1. [仿网页图片错位特效](图片/仿网页图片错位特效.py) -1. [图片旋转](图片/图片旋转.py) - -## [下拉框](下拉框) - -1. [下拉选择联动](下拉框/下拉选择联动) - -## [滚动条](滚动条) - -## [滑动条](滑动条) - -1. [滑动条点击定位](滑动条/滑动条点击定位.py) - -## [进度条](进度条) - -## [窗口](窗口) - -1. [窗口重启](窗口/窗口重启.py) -1. [分割窗口的分割条重写](窗口/分割窗口的分割条重写.py) -1. [简单的窗口贴边隐藏](窗口/简单的窗口贴边隐藏.py) -1. [简单探测窗口和放大截图](窗口/简单探测窗口和放大截图.py) -1. [嵌入外部窗口](窗口/嵌入外部窗口.py) -1. [外部窗口跟随](窗口/外部窗口跟随.py) -1. [无边框自定义标题栏窗口](窗口/无边框自定义标题栏窗口) -1. [消息对话框倒计时关闭](窗口/消息对话框倒计时关闭.py) - -## [多页面](多页面) - -1. [QScrollArea](QScrollArea/) - 1. [仿QQ设置面板](多页面/QScrollArea/仿QQ设置面板) - -1. [QStackedWidget](QStackedWidget/) - 1. [左侧选项卡](多页面/QStackedWidget/左侧选项卡) - 2. [多页面切换动画](动画/多页面切换动画) - -## [多线程](多线程) - -1. [线程挂起恢复](多线程/线程挂起恢复.py) -1. [线程休眠唤醒](多线程/线程休眠唤醒.py) -1. [继承QThread](多线程/继承QThread.py) -1. [moveToThread](多线程/moveToThread.py) - -## [美化](美化) - -1. [Effect-特效](美化/Effect) - 1. [图片按钮输入框阴影](美化/Effect/图片按钮输入框阴影.py) - -1. [QCalendarWidget-日历](美化/QCalendarWidget) - -1. [QFileSystemModel-模型](美化/QFileSystemModel) - -1. [QLabel-文字图片](美化/QLabel) - 1. [圆形图片](美化/QLabel/圆形图片.py) - -1. [QMessageBox-消息对话框](美化/QMessageBox) - 1. [方案一](美化/QMessageBox/方案一) - 1. [方案二](美化/QMessageBox/方案二) - -1. [QProgressBar-进度条](美化/QProgressBar) - 1. [水波纹进度条](美化/QProgressBar/水波纹进度条) - 1. [Metro进度条](美化/QProgressBar/Metro进度条.py) - 1. [百分比进度条](美化/QProgressBar/百分比进度条.py) - 1. [简单样式表美化](美化/QProgressBar/简单样式表美化.py) - 1. [圆圈进度条](美化/QProgressBar/圆圈进度条.py) - -1. [QPushButton-按钮](美化/QPushButton) - 1. [按钮进度动画](美化/QPushButton/按钮进度动画) - 1. [按钮常见样式](美化/QPushButton/按钮常见样式.py) - -1. [QScrollBar-滚动条](美化/QScrollBar) - -1. [QSlider-拉动条](美化/QSlider) - 1. [自绘拉动条PaintQSlider](美化/QSlider/PaintQSlider.py) - 1. [QSS拉动条QssQSlider](美化/QSlider/QssQSlider.py) - -1. [QWidget-窗口](美化/QWidget) - 1. [自定义QWidget样式测试](美化/QWidget/QWidget样式测试.py) - -## [动画](动画) - -1. [淡入淡出](动画/淡入淡出.py) -1. [右键菜单动画](动画/右键菜单动画.py) -1. [按钮放大缩小动画](动画/按钮放大缩小动画.py) -1. [仿网页点阵特效](动画/点阵特效) -1. [图片轮播动画](动画/多页面切换动画/图片轮播动画.py) - -## [图表](图表) - -1. [仿echarts折线图](图表/PyQtChart/charts/line/LineStack.py) -1. [仿echarts柱状图](图表/PyQtChart/charts/line/BarStack.py) -1. [折线图](图表/PyQtChart/demo/LineChart.py) -1. [折线图自定义xy轴](图表/PyQtChart/demo/LineChart自定义xy轴.py) -1. [ToolTip提示](图表/PyQtChart/demo/ToolTip.py) - -## [网络](网络) - -1. [窗口配合异步Http](网络/窗口配合异步Http) -1. [控制小车](网络/控制小车) - -## [浏览器](浏览器) - -1. [QWebView](浏览器/QWebView) - 1. [梦幻树](浏览器/QWebView/梦幻树) - 1. [获取Cookie](浏览器/QWebView/获取Cookie) - -1. [QWebEngineView](浏览器/QWebEngineView) - 1. [获取Cookie](浏览器/QWebEngineView/获取Cookie) - 1. [下载文件](partner_625781186/6.QWebEngineView下载文件) - -## [QML](QML) - -## [图形视图](图形视图) - -1. [世界地图](图形视图/世界地图) -1. [添加QWidget](图形视图/添加QWidget.py) -1. [显示图片及缩放](图形视图/显示图片及缩放.py) - -## [其它](其它) - -1. [C和C++扩展](其它/C和C++扩展) - 1. [直接生成pyd](其它/C和C++扩展/pydext) - 2. [使用pyx和c++](其它/C和C++扩展/pyx和c++) - 3. [python转pyd](其它/C和C++扩展/py转pyd) - -1. [QRC资源文件使用](其它/QRC资源文件使用) -1. [程序重启](其它/程序重启) -1. [单实例应用](其它/单实例应用) -1. [调用截图dll(只能用32位)](其它/调用截图dll(只能用32位)) -1. [全局热键](其它/全局热键) -1. [人脸描点检测](其它/人脸描点检测) -1. [自定义import](其它/自定义import) -1. [自动更新](其它/自动更新) -1. [自定义属性测试](其它/自定义属性测试) -1. [验证码控件](其它/验证码控件) -1. [右下角弹出框](其它/右下角弹出框) -1. [消息提示](其它/消息提示) -1. [字体测试](其它/字体测试) -1. [串口调试小助手](其它/串口调试小助手) # QQ群 diff --git a/README.old.md b/README.old.md deleted file mode 100644 index abe9e43..0000000 --- a/README.old.md +++ /dev/null @@ -1,149 +0,0 @@ -# 各种各样的PyQt测试和例子 - -## [PyQt5 社区](https://pyqt5.com) -本社区是专门针对PyQt5学习和提升开设的博客网站,分析大家平时学习中记录的笔记和例子,以及对遇到的问题进行收集整理。 - -### I、 项目型 -[Qt皮肤生成器 - 持续更新中](https://github.com/892768447/QtSkin) - -[客户端动画界面](https://github.com/892768447/PyQtClient) - -[桌面悬浮异形窗体](https://github.com/892768447/Lolita) - -[必应壁纸](https://github.com/892768447/BingWallpaper) - -[腾讯视频热播列表](腾讯视频热播列表/) - -[ QWebView 与 python 通过js交互 特效 - QWebEngine需要改代码](https://github.com/892768447/PhotoEffects) - -### II、功能型 - -#### 2.1 常用例子 - -1. - [ 自定义属性测试](自定义属性测试/) -1. - [ 自动更新](自动更新/) -1. - [ 自定义import](自定义import/) -1. - [ 全局热键](全局热键/) -1. - [ 单实例应用 - 只允许运行一个程序](单实例应用/) -1. - [ 程序重启](程序重启/) -1. - [ 窗口重启](窗口重启/) -1. - [ 菜单](菜单/) - - [1. 菜单多选](菜单/菜单多选不关闭.py) -1. - [ 外部窗口跟随](外部窗口跟随/) -1. - python 的exec( ) 动态生成控件 - - [1. 动态控件基础例子 - 动态生成按钮](partner_625781186/1.exec动态生成控件/dynamic_button) - - [2. 动态控件基础例子 - 动态生成菜单](partner_625781186/1.exec动态生成控件/dynamic_Menu) - - [3. 配合setting记录模型类型](partner_625781186/13.combo_listwidget) - -- 小部件 - - 1. - [ ☆! QSplitter 分割条重写 来添加按钮](分割窗口的分割条重写/) - 1. - [ QLabel 图片加载 gif动画](图片加载/) - 1. - [ 一个图片显示小特效](图片加载/) - 1. - [ ComboBox 下拉选择级联--省、市、县 json 数据 ](下拉选择联动/) - 1. - [ ComboBox 自定义下拉 listitem ](partner_625781186/13.combo_listwidget/) - 1. - [ 仿QQ设置面板](仿QQ设置面板/) - 1. - [ 右下角弹出框](右下角弹出框/) - 1. - [ 消息对话框倒计时关闭](消息对话框倒计时关闭/) - 1. - [ QTextEdit 文本高亮](文本高亮/) - 1. - [ QActiveX窗口 加载本地word/pdf](ActiveX窗口/) - - - win 32 - - 1. - [ 线程的挂起与恢复](多线程使用/) - 1. - [ 嵌入外部窗口](嵌入外部窗口/) - 1. - [ 截图dll (只能用32位python)](调用截图dll(只能用32位)/) - 1. - [ 探测窗口 和 放大镜](探测窗口和放大截图/) - - - Model & View - - 1. - [ QListView 加按钮和 排序](QListView/) - 1. - [ QListWidget 自定义Item并拖拽](QListWidget自定义Item并拖拽/) - - 1. - [ Json生成QTreeWidget](Json生成QTreeWidget/) - 1. - [ treeWidget 节点可拖拽](https://github.com/AshotS/glowing-disco) - 1. - [ treeWidget 支持拖拽 并改变图标样式](partner_625781186/12.1拖拽显示为图片/) - - 1. - [ QTabWidget 左侧标签 正字方法](左侧选项卡/) - 1. - [ QTabWidget 表格复制 与 黏贴](表格复制/) - 1. - [ QSqlTableModel + QTableView 数据库查询显示表格](数据库查询显示表格/) - - - 浏览器QWebEngine模块例子 - - 1. - [ 浏览器获取Cookie](浏览器获取Cookie/) - 1. - [ 浏览器下载功能](partner_625781186/6.QWebEngineView下载文件) - 1. - [ 浏览器开启调试工具](partner_625781186/14.多进程爬虫) - - 1. - [ 梦幻树 QWebView - QWebEngine需要改代码](梦幻树/) - 1. - [ QWebView 与 python 通过js交互 特效 - QWebEngine需要改代码](https://github.com/892768447/PhotoEffects) - - -#### 2.2 框架 -1. - [ 无边框自定义标题栏窗口](无边框自定义标题栏窗口/) -1. - [ 简单的窗口贴边隐藏](简单的窗口贴边隐藏/) -1. - [ 验证码控件](验证码控件/) -1. - [ 消息提示](消息提示/) -1. - 悬浮下拉菜单 - - [ tableWidget形式](partner_625781186/5.hoverMenu) - -#### 2.3 其他案例 -- [ 人脸描点检测](人脸描点检测/) -- [ 网络操作](网络操作/) -- [ 窗口和异步asyncio http](窗口配合异步Http/) -- [ QRC资源文件使用](QRC资源文件使用/) -- [ C和C++扩展](C和C++扩展/) - - [.1 pyx和c++](C和C++扩展/pyx和c++/) - - [.2 py转pyd](C和C++扩展/py转pyd/) - - [.3 pydext](C和C++扩展/pydext/) - -### III、 界面型 - -#### 3.1 [美化类](界面美化/) -1. - [ 字体测试](字体测试/) -1. - [ 自定义QWidget的QSS样式](自定义QWidget的QSS样式/) -1. - [ QSS美化例子](界面美化/QSS美化例子) -1. - [ Flat Style](https://github.com/892768447/QFlat) -1. - [ QMessageBox样式](界面美化/QMessageBox样式) -1. - [ QScrollBar滚动条样式](界面美化/QScrollBar滚动条样式) -1. - [ QLabel圆形头像](界面美化/QLabel圆形头像) -1. - [ QFileSystemModel图标](界面美化/QFileSystemModel图标) -1. - [ QPushButton进度动画](界面美化/QPushButton进度动画) -1. - [ QSlider美化](界面美化/QSlider美化) -1. - [ 各类进度条](界面美化/各类进度条) -1. - [ 动态边框阴影动画](界面美化/边框动画阴影) - -#### 3.2 [动画类](动画特效/) -1. - [ 气泡提示 上升渐隐](消息提示/) -1. - [ 折叠动画效果](partner_625781186/2.折叠控件/) -1. - [ 淡入淡出](动画特效/) -1. - [ 右键菜单动画](动画特效/) -1. - [ 水波纹进度条](界面美化/水波纹进度条) - -### IV、图表型 -#### 4.1 [ QGraphicsView练习](QGraphicsView练习/) - - [ 世界地图](QGraphicsView练习/世界地图) - - [ 添加QWidget](QGraphicsView练习/添加QWidget.py) - - [ QChartToolTipTest](QGraphicsView练习/QChartToolTipTest.py) - -#### 4.2 [ PyQtChart练习](PyQtChart练习/) - - [ charts](PyQtChart练习/charts) - - [ test](PyQtChart练习/test) - - -### V、[QML](partner_625781186/QML_QtQuick_PY) -- [python_QML调用基础](partner_625781186/QML_QtQuick_PY/python_QML调用基础) -- QWidget窗体中嵌入qml界面 - - [QDialog中嵌入qml窗体并缩放](partner_625781186/QML_QtQuick_PY/QDialog中嵌入qml窗体并缩放) - - [QQmlApplicationEngine之qml嵌入qtwidget_qt以上](partner_625781186/QML_QtQuick_PY/QQmlApplicationEngine之qml嵌入qtwidget_qt以上) - - -# QQ群 - - [PyQt & PySide](https://jq.qq.com/?_wv=1027&k=50LWvn9) - - [PyQt学习互助](https://jq.qq.com/?_wv=1027&k=5QVVEdF) - - [PyQt5小组](https://jq.qq.com/?_wv=1027&k=5cI3oRz) - - -# [Donate-打赏](Donate/) - -# Wiki - - [一些Qt写的三方APP](https://github.com/892768447/PyQt/wiki/3rd-party-applications) diff --git a/浏览器/QWebView/梦幻树/data_rc.py b/浏览器/QWebView/梦幻树/data_rc.py deleted file mode 100644 index 59b9117..0000000 --- a/浏览器/QWebView/梦幻树/data_rc.py +++ /dev/null @@ -1,6225 +0,0 @@ -# -*- coding: utf-8 -*- - -# Resource object code -# -# Created by: The Resource Compiler for PyQt5 (Qt v5.5.1) -# -# WARNING! All changes made in this file will be lost! - -from PyQt5 import QtCore - -qt_resource_data = b"\ -\x00\x01\x78\x7c\ -\x2f\ -\x2a\x21\x20\x6a\x51\x75\x65\x72\x79\x20\x76\x31\x2e\x31\x31\x2e\ -\x30\x20\x7c\x20\x28\x63\x29\x20\x32\x30\x30\x35\x2c\x20\x32\x30\ -\x31\x34\x20\x6a\x51\x75\x65\x72\x79\x20\x46\x6f\x75\x6e\x64\x61\ -\x74\x69\x6f\x6e\x2c\x20\x49\x6e\x63\x2e\x20\x7c\x20\x6a\x71\x75\ -\x65\x72\x79\x2e\x6f\x72\x67\x2f\x6c\x69\x63\x65\x6e\x73\x65\x20\ -\x2a\x2f\x0a\x21\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\ -\x29\x7b\x22\x6f\x62\x6a\x65\x63\x74\x22\x3d\x3d\x74\x79\x70\x65\ -\x6f\x66\x20\x6d\x6f\x64\x75\x6c\x65\x26\x26\x22\x6f\x62\x6a\x65\ -\x63\x74\x22\x3d\x3d\x74\x79\x70\x65\x6f\x66\x20\x6d\x6f\x64\x75\ -\x6c\x65\x2e\x65\x78\x70\x6f\x72\x74\x73\x3f\x6d\x6f\x64\x75\x6c\ -\x65\x2e\x65\x78\x70\x6f\x72\x74\x73\x3d\x61\x2e\x64\x6f\x63\x75\ -\x6d\x65\x6e\x74\x3f\x62\x28\x61\x2c\x21\x30\x29\x3a\x66\x75\x6e\ -\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x69\x66\x28\x21\x61\x2e\x64\ -\x6f\x63\x75\x6d\x65\x6e\x74\x29\x74\x68\x72\x6f\x77\x20\x6e\x65\ -\x77\x20\x45\x72\x72\x6f\x72\x28\x22\x6a\x51\x75\x65\x72\x79\x20\ -\x72\x65\x71\x75\x69\x72\x65\x73\x20\x61\x20\x77\x69\x6e\x64\x6f\ -\x77\x20\x77\x69\x74\x68\x20\x61\x20\x64\x6f\x63\x75\x6d\x65\x6e\ -\x74\x22\x29\x3b\x72\x65\x74\x75\x72\x6e\x20\x62\x28\x61\x29\x7d\ -\x3a\x62\x28\x61\x29\x7d\x28\x22\x75\x6e\x64\x65\x66\x69\x6e\x65\ -\x64\x22\x21\x3d\x74\x79\x70\x65\x6f\x66\x20\x77\x69\x6e\x64\x6f\ -\x77\x3f\x77\x69\x6e\x64\x6f\x77\x3a\x74\x68\x69\x73\x2c\x66\x75\ -\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x29\x7b\x76\x61\x72\x20\ -\x63\x3d\x5b\x5d\x2c\x64\x3d\x63\x2e\x73\x6c\x69\x63\x65\x2c\x65\ -\x3d\x63\x2e\x63\x6f\x6e\x63\x61\x74\x2c\x66\x3d\x63\x2e\x70\x75\ -\x73\x68\x2c\x67\x3d\x63\x2e\x69\x6e\x64\x65\x78\x4f\x66\x2c\x68\ -\x3d\x7b\x7d\x2c\x69\x3d\x68\x2e\x74\x6f\x53\x74\x72\x69\x6e\x67\ -\x2c\x6a\x3d\x68\x2e\x68\x61\x73\x4f\x77\x6e\x50\x72\x6f\x70\x65\ -\x72\x74\x79\x2c\x6b\x3d\x22\x22\x2e\x74\x72\x69\x6d\x2c\x6c\x3d\ -\x7b\x7d\x2c\x6d\x3d\x22\x31\x2e\x31\x31\x2e\x30\x22\x2c\x6e\x3d\ -\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x29\x7b\x72\x65\ -\x74\x75\x72\x6e\x20\x6e\x65\x77\x20\x6e\x2e\x66\x6e\x2e\x69\x6e\ -\x69\x74\x28\x61\x2c\x62\x29\x7d\x2c\x6f\x3d\x2f\x5e\x5b\x5c\x73\ -\x5c\x75\x46\x45\x46\x46\x5c\x78\x41\x30\x5d\x2b\x7c\x5b\x5c\x73\ -\x5c\x75\x46\x45\x46\x46\x5c\x78\x41\x30\x5d\x2b\x24\x2f\x67\x2c\ -\x70\x3d\x2f\x5e\x2d\x6d\x73\x2d\x2f\x2c\x71\x3d\x2f\x2d\x28\x5b\ -\x5c\x64\x61\x2d\x7a\x5d\x29\x2f\x67\x69\x2c\x72\x3d\x66\x75\x6e\ -\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x29\x7b\x72\x65\x74\x75\x72\ -\x6e\x20\x62\x2e\x74\x6f\x55\x70\x70\x65\x72\x43\x61\x73\x65\x28\ -\x29\x7d\x3b\x6e\x2e\x66\x6e\x3d\x6e\x2e\x70\x72\x6f\x74\x6f\x74\ -\x79\x70\x65\x3d\x7b\x6a\x71\x75\x65\x72\x79\x3a\x6d\x2c\x63\x6f\ -\x6e\x73\x74\x72\x75\x63\x74\x6f\x72\x3a\x6e\x2c\x73\x65\x6c\x65\ -\x63\x74\x6f\x72\x3a\x22\x22\x2c\x6c\x65\x6e\x67\x74\x68\x3a\x30\ -\x2c\x74\x6f\x41\x72\x72\x61\x79\x3a\x66\x75\x6e\x63\x74\x69\x6f\ -\x6e\x28\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x64\x2e\x63\x61\x6c\ -\x6c\x28\x74\x68\x69\x73\x29\x7d\x2c\x67\x65\x74\x3a\x66\x75\x6e\ -\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\ -\x6e\x75\x6c\x6c\x21\x3d\x61\x3f\x30\x3e\x61\x3f\x74\x68\x69\x73\ -\x5b\x61\x2b\x74\x68\x69\x73\x2e\x6c\x65\x6e\x67\x74\x68\x5d\x3a\ -\x74\x68\x69\x73\x5b\x61\x5d\x3a\x64\x2e\x63\x61\x6c\x6c\x28\x74\ -\x68\x69\x73\x29\x7d\x2c\x70\x75\x73\x68\x53\x74\x61\x63\x6b\x3a\ -\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x76\x61\x72\x20\ -\x62\x3d\x6e\x2e\x6d\x65\x72\x67\x65\x28\x74\x68\x69\x73\x2e\x63\ -\x6f\x6e\x73\x74\x72\x75\x63\x74\x6f\x72\x28\x29\x2c\x61\x29\x3b\ -\x72\x65\x74\x75\x72\x6e\x20\x62\x2e\x70\x72\x65\x76\x4f\x62\x6a\ -\x65\x63\x74\x3d\x74\x68\x69\x73\x2c\x62\x2e\x63\x6f\x6e\x74\x65\ -\x78\x74\x3d\x74\x68\x69\x73\x2e\x63\x6f\x6e\x74\x65\x78\x74\x2c\ -\x62\x7d\x2c\x65\x61\x63\x68\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\ -\x28\x61\x2c\x62\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x6e\x2e\x65\ -\x61\x63\x68\x28\x74\x68\x69\x73\x2c\x61\x2c\x62\x29\x7d\x2c\x6d\ -\x61\x70\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x72\ -\x65\x74\x75\x72\x6e\x20\x74\x68\x69\x73\x2e\x70\x75\x73\x68\x53\ -\x74\x61\x63\x6b\x28\x6e\x2e\x6d\x61\x70\x28\x74\x68\x69\x73\x2c\ -\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x62\x2c\x63\x29\x7b\x72\x65\ -\x74\x75\x72\x6e\x20\x61\x2e\x63\x61\x6c\x6c\x28\x62\x2c\x63\x2c\ -\x62\x29\x7d\x29\x29\x7d\x2c\x73\x6c\x69\x63\x65\x3a\x66\x75\x6e\ -\x63\x74\x69\x6f\x6e\x28\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x74\ -\x68\x69\x73\x2e\x70\x75\x73\x68\x53\x74\x61\x63\x6b\x28\x64\x2e\ -\x61\x70\x70\x6c\x79\x28\x74\x68\x69\x73\x2c\x61\x72\x67\x75\x6d\ -\x65\x6e\x74\x73\x29\x29\x7d\x2c\x66\x69\x72\x73\x74\x3a\x66\x75\ -\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\ -\x74\x68\x69\x73\x2e\x65\x71\x28\x30\x29\x7d\x2c\x6c\x61\x73\x74\ -\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x72\x65\x74\x75\ -\x72\x6e\x20\x74\x68\x69\x73\x2e\x65\x71\x28\x2d\x31\x29\x7d\x2c\ -\x65\x71\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x76\ -\x61\x72\x20\x62\x3d\x74\x68\x69\x73\x2e\x6c\x65\x6e\x67\x74\x68\ -\x2c\x63\x3d\x2b\x61\x2b\x28\x30\x3e\x61\x3f\x62\x3a\x30\x29\x3b\ -\x72\x65\x74\x75\x72\x6e\x20\x74\x68\x69\x73\x2e\x70\x75\x73\x68\ -\x53\x74\x61\x63\x6b\x28\x63\x3e\x3d\x30\x26\x26\x62\x3e\x63\x3f\ -\x5b\x74\x68\x69\x73\x5b\x63\x5d\x5d\x3a\x5b\x5d\x29\x7d\x2c\x65\ -\x6e\x64\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x72\x65\ -\x74\x75\x72\x6e\x20\x74\x68\x69\x73\x2e\x70\x72\x65\x76\x4f\x62\ -\x6a\x65\x63\x74\x7c\x7c\x74\x68\x69\x73\x2e\x63\x6f\x6e\x73\x74\ -\x72\x75\x63\x74\x6f\x72\x28\x6e\x75\x6c\x6c\x29\x7d\x2c\x70\x75\ -\x73\x68\x3a\x66\x2c\x73\x6f\x72\x74\x3a\x63\x2e\x73\x6f\x72\x74\ -\x2c\x73\x70\x6c\x69\x63\x65\x3a\x63\x2e\x73\x70\x6c\x69\x63\x65\ -\x7d\x2c\x6e\x2e\x65\x78\x74\x65\x6e\x64\x3d\x6e\x2e\x66\x6e\x2e\ -\x65\x78\x74\x65\x6e\x64\x3d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\ -\x29\x7b\x76\x61\x72\x20\x61\x2c\x62\x2c\x63\x2c\x64\x2c\x65\x2c\ -\x66\x2c\x67\x3d\x61\x72\x67\x75\x6d\x65\x6e\x74\x73\x5b\x30\x5d\ -\x7c\x7c\x7b\x7d\x2c\x68\x3d\x31\x2c\x69\x3d\x61\x72\x67\x75\x6d\ -\x65\x6e\x74\x73\x2e\x6c\x65\x6e\x67\x74\x68\x2c\x6a\x3d\x21\x31\ -\x3b\x66\x6f\x72\x28\x22\x62\x6f\x6f\x6c\x65\x61\x6e\x22\x3d\x3d\ -\x74\x79\x70\x65\x6f\x66\x20\x67\x26\x26\x28\x6a\x3d\x67\x2c\x67\ -\x3d\x61\x72\x67\x75\x6d\x65\x6e\x74\x73\x5b\x68\x5d\x7c\x7c\x7b\ -\x7d\x2c\x68\x2b\x2b\x29\x2c\x22\x6f\x62\x6a\x65\x63\x74\x22\x3d\ -\x3d\x74\x79\x70\x65\x6f\x66\x20\x67\x7c\x7c\x6e\x2e\x69\x73\x46\ -\x75\x6e\x63\x74\x69\x6f\x6e\x28\x67\x29\x7c\x7c\x28\x67\x3d\x7b\ -\x7d\x29\x2c\x68\x3d\x3d\x3d\x69\x26\x26\x28\x67\x3d\x74\x68\x69\ -\x73\x2c\x68\x2d\x2d\x29\x3b\x69\x3e\x68\x3b\x68\x2b\x2b\x29\x69\ -\x66\x28\x6e\x75\x6c\x6c\x21\x3d\x28\x65\x3d\x61\x72\x67\x75\x6d\ -\x65\x6e\x74\x73\x5b\x68\x5d\x29\x29\x66\x6f\x72\x28\x64\x20\x69\ -\x6e\x20\x65\x29\x61\x3d\x67\x5b\x64\x5d\x2c\x63\x3d\x65\x5b\x64\ -\x5d\x2c\x67\x21\x3d\x3d\x63\x26\x26\x28\x6a\x26\x26\x63\x26\x26\ -\x28\x6e\x2e\x69\x73\x50\x6c\x61\x69\x6e\x4f\x62\x6a\x65\x63\x74\ -\x28\x63\x29\x7c\x7c\x28\x62\x3d\x6e\x2e\x69\x73\x41\x72\x72\x61\ -\x79\x28\x63\x29\x29\x29\x3f\x28\x62\x3f\x28\x62\x3d\x21\x31\x2c\ -\x66\x3d\x61\x26\x26\x6e\x2e\x69\x73\x41\x72\x72\x61\x79\x28\x61\ -\x29\x3f\x61\x3a\x5b\x5d\x29\x3a\x66\x3d\x61\x26\x26\x6e\x2e\x69\ -\x73\x50\x6c\x61\x69\x6e\x4f\x62\x6a\x65\x63\x74\x28\x61\x29\x3f\ -\x61\x3a\x7b\x7d\x2c\x67\x5b\x64\x5d\x3d\x6e\x2e\x65\x78\x74\x65\ -\x6e\x64\x28\x6a\x2c\x66\x2c\x63\x29\x29\x3a\x76\x6f\x69\x64\x20\ -\x30\x21\x3d\x3d\x63\x26\x26\x28\x67\x5b\x64\x5d\x3d\x63\x29\x29\ -\x3b\x72\x65\x74\x75\x72\x6e\x20\x67\x7d\x2c\x6e\x2e\x65\x78\x74\ -\x65\x6e\x64\x28\x7b\x65\x78\x70\x61\x6e\x64\x6f\x3a\x22\x6a\x51\ -\x75\x65\x72\x79\x22\x2b\x28\x6d\x2b\x4d\x61\x74\x68\x2e\x72\x61\ -\x6e\x64\x6f\x6d\x28\x29\x29\x2e\x72\x65\x70\x6c\x61\x63\x65\x28\ -\x2f\x5c\x44\x2f\x67\x2c\x22\x22\x29\x2c\x69\x73\x52\x65\x61\x64\ -\x79\x3a\x21\x30\x2c\x65\x72\x72\x6f\x72\x3a\x66\x75\x6e\x63\x74\ -\x69\x6f\x6e\x28\x61\x29\x7b\x74\x68\x72\x6f\x77\x20\x6e\x65\x77\ -\x20\x45\x72\x72\x6f\x72\x28\x61\x29\x7d\x2c\x6e\x6f\x6f\x70\x3a\ -\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x7d\x2c\x69\x73\x46\ -\x75\x6e\x63\x74\x69\x6f\x6e\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\ -\x28\x61\x29\x7b\x72\x65\x74\x75\x72\x6e\x22\x66\x75\x6e\x63\x74\ -\x69\x6f\x6e\x22\x3d\x3d\x3d\x6e\x2e\x74\x79\x70\x65\x28\x61\x29\ -\x7d\x2c\x69\x73\x41\x72\x72\x61\x79\x3a\x41\x72\x72\x61\x79\x2e\ -\x69\x73\x41\x72\x72\x61\x79\x7c\x7c\x66\x75\x6e\x63\x74\x69\x6f\ -\x6e\x28\x61\x29\x7b\x72\x65\x74\x75\x72\x6e\x22\x61\x72\x72\x61\ -\x79\x22\x3d\x3d\x3d\x6e\x2e\x74\x79\x70\x65\x28\x61\x29\x7d\x2c\ -\x69\x73\x57\x69\x6e\x64\x6f\x77\x3a\x66\x75\x6e\x63\x74\x69\x6f\ -\x6e\x28\x61\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x6e\x75\x6c\x6c\ -\x21\x3d\x61\x26\x26\x61\x3d\x3d\x61\x2e\x77\x69\x6e\x64\x6f\x77\ -\x7d\x2c\x69\x73\x4e\x75\x6d\x65\x72\x69\x63\x3a\x66\x75\x6e\x63\ -\x74\x69\x6f\x6e\x28\x61\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x61\ -\x2d\x70\x61\x72\x73\x65\x46\x6c\x6f\x61\x74\x28\x61\x29\x3e\x3d\ -\x30\x7d\x2c\x69\x73\x45\x6d\x70\x74\x79\x4f\x62\x6a\x65\x63\x74\ -\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x76\x61\x72\ -\x20\x62\x3b\x66\x6f\x72\x28\x62\x20\x69\x6e\x20\x61\x29\x72\x65\ -\x74\x75\x72\x6e\x21\x31\x3b\x72\x65\x74\x75\x72\x6e\x21\x30\x7d\ -\x2c\x69\x73\x50\x6c\x61\x69\x6e\x4f\x62\x6a\x65\x63\x74\x3a\x66\ -\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x76\x61\x72\x20\x62\ -\x3b\x69\x66\x28\x21\x61\x7c\x7c\x22\x6f\x62\x6a\x65\x63\x74\x22\ -\x21\x3d\x3d\x6e\x2e\x74\x79\x70\x65\x28\x61\x29\x7c\x7c\x61\x2e\ -\x6e\x6f\x64\x65\x54\x79\x70\x65\x7c\x7c\x6e\x2e\x69\x73\x57\x69\ -\x6e\x64\x6f\x77\x28\x61\x29\x29\x72\x65\x74\x75\x72\x6e\x21\x31\ -\x3b\x74\x72\x79\x7b\x69\x66\x28\x61\x2e\x63\x6f\x6e\x73\x74\x72\ -\x75\x63\x74\x6f\x72\x26\x26\x21\x6a\x2e\x63\x61\x6c\x6c\x28\x61\ -\x2c\x22\x63\x6f\x6e\x73\x74\x72\x75\x63\x74\x6f\x72\x22\x29\x26\ -\x26\x21\x6a\x2e\x63\x61\x6c\x6c\x28\x61\x2e\x63\x6f\x6e\x73\x74\ -\x72\x75\x63\x74\x6f\x72\x2e\x70\x72\x6f\x74\x6f\x74\x79\x70\x65\ -\x2c\x22\x69\x73\x50\x72\x6f\x74\x6f\x74\x79\x70\x65\x4f\x66\x22\ -\x29\x29\x72\x65\x74\x75\x72\x6e\x21\x31\x7d\x63\x61\x74\x63\x68\ -\x28\x63\x29\x7b\x72\x65\x74\x75\x72\x6e\x21\x31\x7d\x69\x66\x28\ -\x6c\x2e\x6f\x77\x6e\x4c\x61\x73\x74\x29\x66\x6f\x72\x28\x62\x20\ -\x69\x6e\x20\x61\x29\x72\x65\x74\x75\x72\x6e\x20\x6a\x2e\x63\x61\ -\x6c\x6c\x28\x61\x2c\x62\x29\x3b\x66\x6f\x72\x28\x62\x20\x69\x6e\ -\x20\x61\x29\x3b\x72\x65\x74\x75\x72\x6e\x20\x76\x6f\x69\x64\x20\ -\x30\x3d\x3d\x3d\x62\x7c\x7c\x6a\x2e\x63\x61\x6c\x6c\x28\x61\x2c\ -\x62\x29\x7d\x2c\x74\x79\x70\x65\x3a\x66\x75\x6e\x63\x74\x69\x6f\ -\x6e\x28\x61\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x6e\x75\x6c\x6c\ -\x3d\x3d\x61\x3f\x61\x2b\x22\x22\x3a\x22\x6f\x62\x6a\x65\x63\x74\ -\x22\x3d\x3d\x74\x79\x70\x65\x6f\x66\x20\x61\x7c\x7c\x22\x66\x75\ -\x6e\x63\x74\x69\x6f\x6e\x22\x3d\x3d\x74\x79\x70\x65\x6f\x66\x20\ -\x61\x3f\x68\x5b\x69\x2e\x63\x61\x6c\x6c\x28\x61\x29\x5d\x7c\x7c\ -\x22\x6f\x62\x6a\x65\x63\x74\x22\x3a\x74\x79\x70\x65\x6f\x66\x20\ -\x61\x7d\x2c\x67\x6c\x6f\x62\x61\x6c\x45\x76\x61\x6c\x3a\x66\x75\ -\x6e\x63\x74\x69\x6f\x6e\x28\x62\x29\x7b\x62\x26\x26\x6e\x2e\x74\ -\x72\x69\x6d\x28\x62\x29\x26\x26\x28\x61\x2e\x65\x78\x65\x63\x53\ -\x63\x72\x69\x70\x74\x7c\x7c\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\ -\x62\x29\x7b\x61\x2e\x65\x76\x61\x6c\x2e\x63\x61\x6c\x6c\x28\x61\ -\x2c\x62\x29\x7d\x29\x28\x62\x29\x7d\x2c\x63\x61\x6d\x65\x6c\x43\ -\x61\x73\x65\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\ -\x72\x65\x74\x75\x72\x6e\x20\x61\x2e\x72\x65\x70\x6c\x61\x63\x65\ -\x28\x70\x2c\x22\x6d\x73\x2d\x22\x29\x2e\x72\x65\x70\x6c\x61\x63\ -\x65\x28\x71\x2c\x72\x29\x7d\x2c\x6e\x6f\x64\x65\x4e\x61\x6d\x65\ -\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x29\x7b\x72\ -\x65\x74\x75\x72\x6e\x20\x61\x2e\x6e\x6f\x64\x65\x4e\x61\x6d\x65\ -\x26\x26\x61\x2e\x6e\x6f\x64\x65\x4e\x61\x6d\x65\x2e\x74\x6f\x4c\ -\x6f\x77\x65\x72\x43\x61\x73\x65\x28\x29\x3d\x3d\x3d\x62\x2e\x74\ -\x6f\x4c\x6f\x77\x65\x72\x43\x61\x73\x65\x28\x29\x7d\x2c\x65\x61\ -\x63\x68\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x2c\ -\x63\x29\x7b\x76\x61\x72\x20\x64\x2c\x65\x3d\x30\x2c\x66\x3d\x61\ -\x2e\x6c\x65\x6e\x67\x74\x68\x2c\x67\x3d\x73\x28\x61\x29\x3b\x69\ -\x66\x28\x63\x29\x7b\x69\x66\x28\x67\x29\x7b\x66\x6f\x72\x28\x3b\ -\x66\x3e\x65\x3b\x65\x2b\x2b\x29\x69\x66\x28\x64\x3d\x62\x2e\x61\ -\x70\x70\x6c\x79\x28\x61\x5b\x65\x5d\x2c\x63\x29\x2c\x64\x3d\x3d\ -\x3d\x21\x31\x29\x62\x72\x65\x61\x6b\x7d\x65\x6c\x73\x65\x20\x66\ -\x6f\x72\x28\x65\x20\x69\x6e\x20\x61\x29\x69\x66\x28\x64\x3d\x62\ -\x2e\x61\x70\x70\x6c\x79\x28\x61\x5b\x65\x5d\x2c\x63\x29\x2c\x64\ -\x3d\x3d\x3d\x21\x31\x29\x62\x72\x65\x61\x6b\x7d\x65\x6c\x73\x65\ -\x20\x69\x66\x28\x67\x29\x7b\x66\x6f\x72\x28\x3b\x66\x3e\x65\x3b\ -\x65\x2b\x2b\x29\x69\x66\x28\x64\x3d\x62\x2e\x63\x61\x6c\x6c\x28\ -\x61\x5b\x65\x5d\x2c\x65\x2c\x61\x5b\x65\x5d\x29\x2c\x64\x3d\x3d\ -\x3d\x21\x31\x29\x62\x72\x65\x61\x6b\x7d\x65\x6c\x73\x65\x20\x66\ -\x6f\x72\x28\x65\x20\x69\x6e\x20\x61\x29\x69\x66\x28\x64\x3d\x62\ -\x2e\x63\x61\x6c\x6c\x28\x61\x5b\x65\x5d\x2c\x65\x2c\x61\x5b\x65\ -\x5d\x29\x2c\x64\x3d\x3d\x3d\x21\x31\x29\x62\x72\x65\x61\x6b\x3b\ -\x72\x65\x74\x75\x72\x6e\x20\x61\x7d\x2c\x74\x72\x69\x6d\x3a\x6b\ -\x26\x26\x21\x6b\x2e\x63\x61\x6c\x6c\x28\x22\x5c\x75\x66\x65\x66\ -\x66\x5c\x78\x61\x30\x22\x29\x3f\x66\x75\x6e\x63\x74\x69\x6f\x6e\ -\x28\x61\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x6e\x75\x6c\x6c\x3d\ -\x3d\x61\x3f\x22\x22\x3a\x6b\x2e\x63\x61\x6c\x6c\x28\x61\x29\x7d\ -\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x72\x65\x74\ -\x75\x72\x6e\x20\x6e\x75\x6c\x6c\x3d\x3d\x61\x3f\x22\x22\x3a\x28\ -\x61\x2b\x22\x22\x29\x2e\x72\x65\x70\x6c\x61\x63\x65\x28\x6f\x2c\ -\x22\x22\x29\x7d\x2c\x6d\x61\x6b\x65\x41\x72\x72\x61\x79\x3a\x66\ -\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x29\x7b\x76\x61\x72\ -\x20\x63\x3d\x62\x7c\x7c\x5b\x5d\x3b\x72\x65\x74\x75\x72\x6e\x20\ -\x6e\x75\x6c\x6c\x21\x3d\x61\x26\x26\x28\x73\x28\x4f\x62\x6a\x65\ -\x63\x74\x28\x61\x29\x29\x3f\x6e\x2e\x6d\x65\x72\x67\x65\x28\x63\ -\x2c\x22\x73\x74\x72\x69\x6e\x67\x22\x3d\x3d\x74\x79\x70\x65\x6f\ -\x66\x20\x61\x3f\x5b\x61\x5d\x3a\x61\x29\x3a\x66\x2e\x63\x61\x6c\ -\x6c\x28\x63\x2c\x61\x29\x29\x2c\x63\x7d\x2c\x69\x6e\x41\x72\x72\ -\x61\x79\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x2c\ -\x63\x29\x7b\x76\x61\x72\x20\x64\x3b\x69\x66\x28\x62\x29\x7b\x69\ -\x66\x28\x67\x29\x72\x65\x74\x75\x72\x6e\x20\x67\x2e\x63\x61\x6c\ -\x6c\x28\x62\x2c\x61\x2c\x63\x29\x3b\x66\x6f\x72\x28\x64\x3d\x62\ -\x2e\x6c\x65\x6e\x67\x74\x68\x2c\x63\x3d\x63\x3f\x30\x3e\x63\x3f\ -\x4d\x61\x74\x68\x2e\x6d\x61\x78\x28\x30\x2c\x64\x2b\x63\x29\x3a\ -\x63\x3a\x30\x3b\x64\x3e\x63\x3b\x63\x2b\x2b\x29\x69\x66\x28\x63\ -\x20\x69\x6e\x20\x62\x26\x26\x62\x5b\x63\x5d\x3d\x3d\x3d\x61\x29\ -\x72\x65\x74\x75\x72\x6e\x20\x63\x7d\x72\x65\x74\x75\x72\x6e\x2d\ -\x31\x7d\x2c\x6d\x65\x72\x67\x65\x3a\x66\x75\x6e\x63\x74\x69\x6f\ -\x6e\x28\x61\x2c\x62\x29\x7b\x76\x61\x72\x20\x63\x3d\x2b\x62\x2e\ -\x6c\x65\x6e\x67\x74\x68\x2c\x64\x3d\x30\x2c\x65\x3d\x61\x2e\x6c\ -\x65\x6e\x67\x74\x68\x3b\x77\x68\x69\x6c\x65\x28\x63\x3e\x64\x29\ -\x61\x5b\x65\x2b\x2b\x5d\x3d\x62\x5b\x64\x2b\x2b\x5d\x3b\x69\x66\ -\x28\x63\x21\x3d\x3d\x63\x29\x77\x68\x69\x6c\x65\x28\x76\x6f\x69\ -\x64\x20\x30\x21\x3d\x3d\x62\x5b\x64\x5d\x29\x61\x5b\x65\x2b\x2b\ -\x5d\x3d\x62\x5b\x64\x2b\x2b\x5d\x3b\x72\x65\x74\x75\x72\x6e\x20\ -\x61\x2e\x6c\x65\x6e\x67\x74\x68\x3d\x65\x2c\x61\x7d\x2c\x67\x72\ -\x65\x70\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x2c\ -\x63\x29\x7b\x66\x6f\x72\x28\x76\x61\x72\x20\x64\x2c\x65\x3d\x5b\ -\x5d\x2c\x66\x3d\x30\x2c\x67\x3d\x61\x2e\x6c\x65\x6e\x67\x74\x68\ -\x2c\x68\x3d\x21\x63\x3b\x67\x3e\x66\x3b\x66\x2b\x2b\x29\x64\x3d\ -\x21\x62\x28\x61\x5b\x66\x5d\x2c\x66\x29\x2c\x64\x21\x3d\x3d\x68\ -\x26\x26\x65\x2e\x70\x75\x73\x68\x28\x61\x5b\x66\x5d\x29\x3b\x72\ -\x65\x74\x75\x72\x6e\x20\x65\x7d\x2c\x6d\x61\x70\x3a\x66\x75\x6e\ -\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x2c\x63\x29\x7b\x76\x61\x72\ -\x20\x64\x2c\x66\x3d\x30\x2c\x67\x3d\x61\x2e\x6c\x65\x6e\x67\x74\ -\x68\x2c\x68\x3d\x73\x28\x61\x29\x2c\x69\x3d\x5b\x5d\x3b\x69\x66\ -\x28\x68\x29\x66\x6f\x72\x28\x3b\x67\x3e\x66\x3b\x66\x2b\x2b\x29\ -\x64\x3d\x62\x28\x61\x5b\x66\x5d\x2c\x66\x2c\x63\x29\x2c\x6e\x75\ -\x6c\x6c\x21\x3d\x64\x26\x26\x69\x2e\x70\x75\x73\x68\x28\x64\x29\ -\x3b\x65\x6c\x73\x65\x20\x66\x6f\x72\x28\x66\x20\x69\x6e\x20\x61\ -\x29\x64\x3d\x62\x28\x61\x5b\x66\x5d\x2c\x66\x2c\x63\x29\x2c\x6e\ -\x75\x6c\x6c\x21\x3d\x64\x26\x26\x69\x2e\x70\x75\x73\x68\x28\x64\ -\x29\x3b\x72\x65\x74\x75\x72\x6e\x20\x65\x2e\x61\x70\x70\x6c\x79\ -\x28\x5b\x5d\x2c\x69\x29\x7d\x2c\x67\x75\x69\x64\x3a\x31\x2c\x70\ -\x72\x6f\x78\x79\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\ -\x62\x29\x7b\x76\x61\x72\x20\x63\x2c\x65\x2c\x66\x3b\x72\x65\x74\ -\x75\x72\x6e\x22\x73\x74\x72\x69\x6e\x67\x22\x3d\x3d\x74\x79\x70\ -\x65\x6f\x66\x20\x62\x26\x26\x28\x66\x3d\x61\x5b\x62\x5d\x2c\x62\ -\x3d\x61\x2c\x61\x3d\x66\x29\x2c\x6e\x2e\x69\x73\x46\x75\x6e\x63\ -\x74\x69\x6f\x6e\x28\x61\x29\x3f\x28\x63\x3d\x64\x2e\x63\x61\x6c\ -\x6c\x28\x61\x72\x67\x75\x6d\x65\x6e\x74\x73\x2c\x32\x29\x2c\x65\ -\x3d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x72\x65\x74\x75\ -\x72\x6e\x20\x61\x2e\x61\x70\x70\x6c\x79\x28\x62\x7c\x7c\x74\x68\ -\x69\x73\x2c\x63\x2e\x63\x6f\x6e\x63\x61\x74\x28\x64\x2e\x63\x61\ -\x6c\x6c\x28\x61\x72\x67\x75\x6d\x65\x6e\x74\x73\x29\x29\x29\x7d\ -\x2c\x65\x2e\x67\x75\x69\x64\x3d\x61\x2e\x67\x75\x69\x64\x3d\x61\ -\x2e\x67\x75\x69\x64\x7c\x7c\x6e\x2e\x67\x75\x69\x64\x2b\x2b\x2c\ -\x65\x29\x3a\x76\x6f\x69\x64\x20\x30\x7d\x2c\x6e\x6f\x77\x3a\x66\ -\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x72\x65\x74\x75\x72\x6e\ -\x2b\x6e\x65\x77\x20\x44\x61\x74\x65\x7d\x2c\x73\x75\x70\x70\x6f\ -\x72\x74\x3a\x6c\x7d\x29\x2c\x6e\x2e\x65\x61\x63\x68\x28\x22\x42\ -\x6f\x6f\x6c\x65\x61\x6e\x20\x4e\x75\x6d\x62\x65\x72\x20\x53\x74\ -\x72\x69\x6e\x67\x20\x46\x75\x6e\x63\x74\x69\x6f\x6e\x20\x41\x72\ -\x72\x61\x79\x20\x44\x61\x74\x65\x20\x52\x65\x67\x45\x78\x70\x20\ -\x4f\x62\x6a\x65\x63\x74\x20\x45\x72\x72\x6f\x72\x22\x2e\x73\x70\ -\x6c\x69\x74\x28\x22\x20\x22\x29\x2c\x66\x75\x6e\x63\x74\x69\x6f\ -\x6e\x28\x61\x2c\x62\x29\x7b\x68\x5b\x22\x5b\x6f\x62\x6a\x65\x63\ -\x74\x20\x22\x2b\x62\x2b\x22\x5d\x22\x5d\x3d\x62\x2e\x74\x6f\x4c\ -\x6f\x77\x65\x72\x43\x61\x73\x65\x28\x29\x7d\x29\x3b\x66\x75\x6e\ -\x63\x74\x69\x6f\x6e\x20\x73\x28\x61\x29\x7b\x76\x61\x72\x20\x62\ -\x3d\x61\x2e\x6c\x65\x6e\x67\x74\x68\x2c\x63\x3d\x6e\x2e\x74\x79\ -\x70\x65\x28\x61\x29\x3b\x72\x65\x74\x75\x72\x6e\x22\x66\x75\x6e\ -\x63\x74\x69\x6f\x6e\x22\x3d\x3d\x3d\x63\x7c\x7c\x6e\x2e\x69\x73\ -\x57\x69\x6e\x64\x6f\x77\x28\x61\x29\x3f\x21\x31\x3a\x31\x3d\x3d\ -\x3d\x61\x2e\x6e\x6f\x64\x65\x54\x79\x70\x65\x26\x26\x62\x3f\x21\ -\x30\x3a\x22\x61\x72\x72\x61\x79\x22\x3d\x3d\x3d\x63\x7c\x7c\x30\ -\x3d\x3d\x3d\x62\x7c\x7c\x22\x6e\x75\x6d\x62\x65\x72\x22\x3d\x3d\ -\x74\x79\x70\x65\x6f\x66\x20\x62\x26\x26\x62\x3e\x30\x26\x26\x62\ -\x2d\x31\x20\x69\x6e\x20\x61\x7d\x76\x61\x72\x20\x74\x3d\x66\x75\ -\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x76\x61\x72\x20\x62\x2c\ -\x63\x2c\x64\x2c\x65\x2c\x66\x2c\x67\x2c\x68\x2c\x69\x2c\x6a\x2c\ -\x6b\x2c\x6c\x2c\x6d\x2c\x6e\x2c\x6f\x2c\x70\x2c\x71\x2c\x72\x2c\ -\x73\x3d\x22\x73\x69\x7a\x7a\x6c\x65\x22\x2b\x2d\x6e\x65\x77\x20\ -\x44\x61\x74\x65\x2c\x74\x3d\x61\x2e\x64\x6f\x63\x75\x6d\x65\x6e\ -\x74\x2c\x75\x3d\x30\x2c\x76\x3d\x30\x2c\x77\x3d\x65\x62\x28\x29\ -\x2c\x78\x3d\x65\x62\x28\x29\x2c\x79\x3d\x65\x62\x28\x29\x2c\x7a\ -\x3d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x29\x7b\x72\ -\x65\x74\x75\x72\x6e\x20\x61\x3d\x3d\x3d\x62\x26\x26\x28\x6a\x3d\ -\x21\x30\x29\x2c\x30\x7d\x2c\x41\x3d\x22\x75\x6e\x64\x65\x66\x69\ -\x6e\x65\x64\x22\x2c\x42\x3d\x31\x3c\x3c\x33\x31\x2c\x43\x3d\x7b\ -\x7d\x2e\x68\x61\x73\x4f\x77\x6e\x50\x72\x6f\x70\x65\x72\x74\x79\ -\x2c\x44\x3d\x5b\x5d\x2c\x45\x3d\x44\x2e\x70\x6f\x70\x2c\x46\x3d\ -\x44\x2e\x70\x75\x73\x68\x2c\x47\x3d\x44\x2e\x70\x75\x73\x68\x2c\ -\x48\x3d\x44\x2e\x73\x6c\x69\x63\x65\x2c\x49\x3d\x44\x2e\x69\x6e\ -\x64\x65\x78\x4f\x66\x7c\x7c\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\ -\x61\x29\x7b\x66\x6f\x72\x28\x76\x61\x72\x20\x62\x3d\x30\x2c\x63\ -\x3d\x74\x68\x69\x73\x2e\x6c\x65\x6e\x67\x74\x68\x3b\x63\x3e\x62\ -\x3b\x62\x2b\x2b\x29\x69\x66\x28\x74\x68\x69\x73\x5b\x62\x5d\x3d\ -\x3d\x3d\x61\x29\x72\x65\x74\x75\x72\x6e\x20\x62\x3b\x72\x65\x74\ -\x75\x72\x6e\x2d\x31\x7d\x2c\x4a\x3d\x22\x63\x68\x65\x63\x6b\x65\ -\x64\x7c\x73\x65\x6c\x65\x63\x74\x65\x64\x7c\x61\x73\x79\x6e\x63\ -\x7c\x61\x75\x74\x6f\x66\x6f\x63\x75\x73\x7c\x61\x75\x74\x6f\x70\ -\x6c\x61\x79\x7c\x63\x6f\x6e\x74\x72\x6f\x6c\x73\x7c\x64\x65\x66\ -\x65\x72\x7c\x64\x69\x73\x61\x62\x6c\x65\x64\x7c\x68\x69\x64\x64\ -\x65\x6e\x7c\x69\x73\x6d\x61\x70\x7c\x6c\x6f\x6f\x70\x7c\x6d\x75\ -\x6c\x74\x69\x70\x6c\x65\x7c\x6f\x70\x65\x6e\x7c\x72\x65\x61\x64\ -\x6f\x6e\x6c\x79\x7c\x72\x65\x71\x75\x69\x72\x65\x64\x7c\x73\x63\ -\x6f\x70\x65\x64\x22\x2c\x4b\x3d\x22\x5b\x5c\x5c\x78\x32\x30\x5c\ -\x5c\x74\x5c\x5c\x72\x5c\x5c\x6e\x5c\x5c\x66\x5d\x22\x2c\x4c\x3d\ -\x22\x28\x3f\x3a\x5c\x5c\x5c\x5c\x2e\x7c\x5b\x5c\x5c\x77\x2d\x5d\ -\x7c\x5b\x5e\x5c\x5c\x78\x30\x30\x2d\x5c\x5c\x78\x61\x30\x5d\x29\ -\x2b\x22\x2c\x4d\x3d\x4c\x2e\x72\x65\x70\x6c\x61\x63\x65\x28\x22\ -\x77\x22\x2c\x22\x77\x23\x22\x29\x2c\x4e\x3d\x22\x5c\x5c\x5b\x22\ -\x2b\x4b\x2b\x22\x2a\x28\x22\x2b\x4c\x2b\x22\x29\x22\x2b\x4b\x2b\ -\x22\x2a\x28\x3f\x3a\x28\x5b\x2a\x5e\x24\x7c\x21\x7e\x5d\x3f\x3d\ -\x29\x22\x2b\x4b\x2b\x22\x2a\x28\x3f\x3a\x28\x5b\x27\x5c\x22\x5d\ -\x29\x28\x28\x3f\x3a\x5c\x5c\x5c\x5c\x2e\x7c\x5b\x5e\x5c\x5c\x5c\ -\x5c\x5d\x29\x2a\x3f\x29\x5c\x5c\x33\x7c\x28\x22\x2b\x4d\x2b\x22\ -\x29\x7c\x29\x7c\x29\x22\x2b\x4b\x2b\x22\x2a\x5c\x5c\x5d\x22\x2c\ -\x4f\x3d\x22\x3a\x28\x22\x2b\x4c\x2b\x22\x29\x28\x3f\x3a\x5c\x5c\ -\x28\x28\x28\x5b\x27\x5c\x22\x5d\x29\x28\x28\x3f\x3a\x5c\x5c\x5c\ -\x5c\x2e\x7c\x5b\x5e\x5c\x5c\x5c\x5c\x5d\x29\x2a\x3f\x29\x5c\x5c\ -\x33\x7c\x28\x28\x3f\x3a\x5c\x5c\x5c\x5c\x2e\x7c\x5b\x5e\x5c\x5c\ -\x5c\x5c\x28\x29\x5b\x5c\x5c\x5d\x5d\x7c\x22\x2b\x4e\x2e\x72\x65\ -\x70\x6c\x61\x63\x65\x28\x33\x2c\x38\x29\x2b\x22\x29\x2a\x29\x7c\ -\x2e\x2a\x29\x5c\x5c\x29\x7c\x29\x22\x2c\x50\x3d\x6e\x65\x77\x20\ -\x52\x65\x67\x45\x78\x70\x28\x22\x5e\x22\x2b\x4b\x2b\x22\x2b\x7c\ -\x28\x28\x3f\x3a\x5e\x7c\x5b\x5e\x5c\x5c\x5c\x5c\x5d\x29\x28\x3f\ -\x3a\x5c\x5c\x5c\x5c\x2e\x29\x2a\x29\x22\x2b\x4b\x2b\x22\x2b\x24\ -\x22\x2c\x22\x67\x22\x29\x2c\x51\x3d\x6e\x65\x77\x20\x52\x65\x67\ -\x45\x78\x70\x28\x22\x5e\x22\x2b\x4b\x2b\x22\x2a\x2c\x22\x2b\x4b\ -\x2b\x22\x2a\x22\x29\x2c\x52\x3d\x6e\x65\x77\x20\x52\x65\x67\x45\ -\x78\x70\x28\x22\x5e\x22\x2b\x4b\x2b\x22\x2a\x28\x5b\x3e\x2b\x7e\ -\x5d\x7c\x22\x2b\x4b\x2b\x22\x29\x22\x2b\x4b\x2b\x22\x2a\x22\x29\ -\x2c\x53\x3d\x6e\x65\x77\x20\x52\x65\x67\x45\x78\x70\x28\x22\x3d\ -\x22\x2b\x4b\x2b\x22\x2a\x28\x5b\x5e\x5c\x5c\x5d\x27\x5c\x22\x5d\ -\x2a\x3f\x29\x22\x2b\x4b\x2b\x22\x2a\x5c\x5c\x5d\x22\x2c\x22\x67\ -\x22\x29\x2c\x54\x3d\x6e\x65\x77\x20\x52\x65\x67\x45\x78\x70\x28\ -\x4f\x29\x2c\x55\x3d\x6e\x65\x77\x20\x52\x65\x67\x45\x78\x70\x28\ -\x22\x5e\x22\x2b\x4d\x2b\x22\x24\x22\x29\x2c\x56\x3d\x7b\x49\x44\ -\x3a\x6e\x65\x77\x20\x52\x65\x67\x45\x78\x70\x28\x22\x5e\x23\x28\ -\x22\x2b\x4c\x2b\x22\x29\x22\x29\x2c\x43\x4c\x41\x53\x53\x3a\x6e\ -\x65\x77\x20\x52\x65\x67\x45\x78\x70\x28\x22\x5e\x5c\x5c\x2e\x28\ -\x22\x2b\x4c\x2b\x22\x29\x22\x29\x2c\x54\x41\x47\x3a\x6e\x65\x77\ -\x20\x52\x65\x67\x45\x78\x70\x28\x22\x5e\x28\x22\x2b\x4c\x2e\x72\ -\x65\x70\x6c\x61\x63\x65\x28\x22\x77\x22\x2c\x22\x77\x2a\x22\x29\ -\x2b\x22\x29\x22\x29\x2c\x41\x54\x54\x52\x3a\x6e\x65\x77\x20\x52\ -\x65\x67\x45\x78\x70\x28\x22\x5e\x22\x2b\x4e\x29\x2c\x50\x53\x45\ -\x55\x44\x4f\x3a\x6e\x65\x77\x20\x52\x65\x67\x45\x78\x70\x28\x22\ -\x5e\x22\x2b\x4f\x29\x2c\x43\x48\x49\x4c\x44\x3a\x6e\x65\x77\x20\ -\x52\x65\x67\x45\x78\x70\x28\x22\x5e\x3a\x28\x6f\x6e\x6c\x79\x7c\ -\x66\x69\x72\x73\x74\x7c\x6c\x61\x73\x74\x7c\x6e\x74\x68\x7c\x6e\ -\x74\x68\x2d\x6c\x61\x73\x74\x29\x2d\x28\x63\x68\x69\x6c\x64\x7c\ -\x6f\x66\x2d\x74\x79\x70\x65\x29\x28\x3f\x3a\x5c\x5c\x28\x22\x2b\ -\x4b\x2b\x22\x2a\x28\x65\x76\x65\x6e\x7c\x6f\x64\x64\x7c\x28\x28\ -\x5b\x2b\x2d\x5d\x7c\x29\x28\x5c\x5c\x64\x2a\x29\x6e\x7c\x29\x22\ -\x2b\x4b\x2b\x22\x2a\x28\x3f\x3a\x28\x5b\x2b\x2d\x5d\x7c\x29\x22\ -\x2b\x4b\x2b\x22\x2a\x28\x5c\x5c\x64\x2b\x29\x7c\x29\x29\x22\x2b\ -\x4b\x2b\x22\x2a\x5c\x5c\x29\x7c\x29\x22\x2c\x22\x69\x22\x29\x2c\ -\x62\x6f\x6f\x6c\x3a\x6e\x65\x77\x20\x52\x65\x67\x45\x78\x70\x28\ -\x22\x5e\x28\x3f\x3a\x22\x2b\x4a\x2b\x22\x29\x24\x22\x2c\x22\x69\ -\x22\x29\x2c\x6e\x65\x65\x64\x73\x43\x6f\x6e\x74\x65\x78\x74\x3a\ -\x6e\x65\x77\x20\x52\x65\x67\x45\x78\x70\x28\x22\x5e\x22\x2b\x4b\ -\x2b\x22\x2a\x5b\x3e\x2b\x7e\x5d\x7c\x3a\x28\x65\x76\x65\x6e\x7c\ -\x6f\x64\x64\x7c\x65\x71\x7c\x67\x74\x7c\x6c\x74\x7c\x6e\x74\x68\ -\x7c\x66\x69\x72\x73\x74\x7c\x6c\x61\x73\x74\x29\x28\x3f\x3a\x5c\ -\x5c\x28\x22\x2b\x4b\x2b\x22\x2a\x28\x28\x3f\x3a\x2d\x5c\x5c\x64\ -\x29\x3f\x5c\x5c\x64\x2a\x29\x22\x2b\x4b\x2b\x22\x2a\x5c\x5c\x29\ -\x7c\x29\x28\x3f\x3d\x5b\x5e\x2d\x5d\x7c\x24\x29\x22\x2c\x22\x69\ -\x22\x29\x7d\x2c\x57\x3d\x2f\x5e\x28\x3f\x3a\x69\x6e\x70\x75\x74\ -\x7c\x73\x65\x6c\x65\x63\x74\x7c\x74\x65\x78\x74\x61\x72\x65\x61\ -\x7c\x62\x75\x74\x74\x6f\x6e\x29\x24\x2f\x69\x2c\x58\x3d\x2f\x5e\ -\x68\x5c\x64\x24\x2f\x69\x2c\x59\x3d\x2f\x5e\x5b\x5e\x7b\x5d\x2b\ -\x5c\x7b\x5c\x73\x2a\x5c\x5b\x6e\x61\x74\x69\x76\x65\x20\x5c\x77\ -\x2f\x2c\x5a\x3d\x2f\x5e\x28\x3f\x3a\x23\x28\x5b\x5c\x77\x2d\x5d\ -\x2b\x29\x7c\x28\x5c\x77\x2b\x29\x7c\x5c\x2e\x28\x5b\x5c\x77\x2d\ -\x5d\x2b\x29\x29\x24\x2f\x2c\x24\x3d\x2f\x5b\x2b\x7e\x5d\x2f\x2c\ -\x5f\x3d\x2f\x27\x7c\x5c\x5c\x2f\x67\x2c\x61\x62\x3d\x6e\x65\x77\ -\x20\x52\x65\x67\x45\x78\x70\x28\x22\x5c\x5c\x5c\x5c\x28\x5b\x5c\ -\x5c\x64\x61\x2d\x66\x5d\x7b\x31\x2c\x36\x7d\x22\x2b\x4b\x2b\x22\ -\x3f\x7c\x28\x22\x2b\x4b\x2b\x22\x29\x7c\x2e\x29\x22\x2c\x22\x69\ -\x67\x22\x29\x2c\x62\x62\x3d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\ -\x61\x2c\x62\x2c\x63\x29\x7b\x76\x61\x72\x20\x64\x3d\x22\x30\x78\ -\x22\x2b\x62\x2d\x36\x35\x35\x33\x36\x3b\x72\x65\x74\x75\x72\x6e\ -\x20\x64\x21\x3d\x3d\x64\x7c\x7c\x63\x3f\x62\x3a\x30\x3e\x64\x3f\ -\x53\x74\x72\x69\x6e\x67\x2e\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\ -\x6f\x64\x65\x28\x64\x2b\x36\x35\x35\x33\x36\x29\x3a\x53\x74\x72\ -\x69\x6e\x67\x2e\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65\ -\x28\x64\x3e\x3e\x31\x30\x7c\x35\x35\x32\x39\x36\x2c\x31\x30\x32\ -\x33\x26\x64\x7c\x35\x36\x33\x32\x30\x29\x7d\x3b\x74\x72\x79\x7b\ -\x47\x2e\x61\x70\x70\x6c\x79\x28\x44\x3d\x48\x2e\x63\x61\x6c\x6c\ -\x28\x74\x2e\x63\x68\x69\x6c\x64\x4e\x6f\x64\x65\x73\x29\x2c\x74\ -\x2e\x63\x68\x69\x6c\x64\x4e\x6f\x64\x65\x73\x29\x2c\x44\x5b\x74\ -\x2e\x63\x68\x69\x6c\x64\x4e\x6f\x64\x65\x73\x2e\x6c\x65\x6e\x67\ -\x74\x68\x5d\x2e\x6e\x6f\x64\x65\x54\x79\x70\x65\x7d\x63\x61\x74\ -\x63\x68\x28\x63\x62\x29\x7b\x47\x3d\x7b\x61\x70\x70\x6c\x79\x3a\ -\x44\x2e\x6c\x65\x6e\x67\x74\x68\x3f\x66\x75\x6e\x63\x74\x69\x6f\ -\x6e\x28\x61\x2c\x62\x29\x7b\x46\x2e\x61\x70\x70\x6c\x79\x28\x61\ -\x2c\x48\x2e\x63\x61\x6c\x6c\x28\x62\x29\x29\x7d\x3a\x66\x75\x6e\ -\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x29\x7b\x76\x61\x72\x20\x63\ -\x3d\x61\x2e\x6c\x65\x6e\x67\x74\x68\x2c\x64\x3d\x30\x3b\x77\x68\ -\x69\x6c\x65\x28\x61\x5b\x63\x2b\x2b\x5d\x3d\x62\x5b\x64\x2b\x2b\ -\x5d\x29\x3b\x61\x2e\x6c\x65\x6e\x67\x74\x68\x3d\x63\x2d\x31\x7d\ -\x7d\x7d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x64\x62\x28\x61\x2c\ -\x62\x2c\x64\x2c\x65\x29\x7b\x76\x61\x72\x20\x66\x2c\x67\x2c\x68\ -\x2c\x69\x2c\x6a\x2c\x6d\x2c\x70\x2c\x71\x2c\x75\x2c\x76\x3b\x69\ -\x66\x28\x28\x62\x3f\x62\x2e\x6f\x77\x6e\x65\x72\x44\x6f\x63\x75\ -\x6d\x65\x6e\x74\x7c\x7c\x62\x3a\x74\x29\x21\x3d\x3d\x6c\x26\x26\ -\x6b\x28\x62\x29\x2c\x62\x3d\x62\x7c\x7c\x6c\x2c\x64\x3d\x64\x7c\ -\x7c\x5b\x5d\x2c\x21\x61\x7c\x7c\x22\x73\x74\x72\x69\x6e\x67\x22\ -\x21\x3d\x74\x79\x70\x65\x6f\x66\x20\x61\x29\x72\x65\x74\x75\x72\ -\x6e\x20\x64\x3b\x69\x66\x28\x31\x21\x3d\x3d\x28\x69\x3d\x62\x2e\ -\x6e\x6f\x64\x65\x54\x79\x70\x65\x29\x26\x26\x39\x21\x3d\x3d\x69\ -\x29\x72\x65\x74\x75\x72\x6e\x5b\x5d\x3b\x69\x66\x28\x6e\x26\x26\ -\x21\x65\x29\x7b\x69\x66\x28\x66\x3d\x5a\x2e\x65\x78\x65\x63\x28\ -\x61\x29\x29\x69\x66\x28\x68\x3d\x66\x5b\x31\x5d\x29\x7b\x69\x66\ -\x28\x39\x3d\x3d\x3d\x69\x29\x7b\x69\x66\x28\x67\x3d\x62\x2e\x67\ -\x65\x74\x45\x6c\x65\x6d\x65\x6e\x74\x42\x79\x49\x64\x28\x68\x29\ -\x2c\x21\x67\x7c\x7c\x21\x67\x2e\x70\x61\x72\x65\x6e\x74\x4e\x6f\ -\x64\x65\x29\x72\x65\x74\x75\x72\x6e\x20\x64\x3b\x69\x66\x28\x67\ -\x2e\x69\x64\x3d\x3d\x3d\x68\x29\x72\x65\x74\x75\x72\x6e\x20\x64\ -\x2e\x70\x75\x73\x68\x28\x67\x29\x2c\x64\x7d\x65\x6c\x73\x65\x20\ -\x69\x66\x28\x62\x2e\x6f\x77\x6e\x65\x72\x44\x6f\x63\x75\x6d\x65\ -\x6e\x74\x26\x26\x28\x67\x3d\x62\x2e\x6f\x77\x6e\x65\x72\x44\x6f\ -\x63\x75\x6d\x65\x6e\x74\x2e\x67\x65\x74\x45\x6c\x65\x6d\x65\x6e\ -\x74\x42\x79\x49\x64\x28\x68\x29\x29\x26\x26\x72\x28\x62\x2c\x67\ -\x29\x26\x26\x67\x2e\x69\x64\x3d\x3d\x3d\x68\x29\x72\x65\x74\x75\ -\x72\x6e\x20\x64\x2e\x70\x75\x73\x68\x28\x67\x29\x2c\x64\x7d\x65\ -\x6c\x73\x65\x7b\x69\x66\x28\x66\x5b\x32\x5d\x29\x72\x65\x74\x75\ -\x72\x6e\x20\x47\x2e\x61\x70\x70\x6c\x79\x28\x64\x2c\x62\x2e\x67\ -\x65\x74\x45\x6c\x65\x6d\x65\x6e\x74\x73\x42\x79\x54\x61\x67\x4e\ -\x61\x6d\x65\x28\x61\x29\x29\x2c\x64\x3b\x69\x66\x28\x28\x68\x3d\ -\x66\x5b\x33\x5d\x29\x26\x26\x63\x2e\x67\x65\x74\x45\x6c\x65\x6d\ -\x65\x6e\x74\x73\x42\x79\x43\x6c\x61\x73\x73\x4e\x61\x6d\x65\x26\ -\x26\x62\x2e\x67\x65\x74\x45\x6c\x65\x6d\x65\x6e\x74\x73\x42\x79\ -\x43\x6c\x61\x73\x73\x4e\x61\x6d\x65\x29\x72\x65\x74\x75\x72\x6e\ -\x20\x47\x2e\x61\x70\x70\x6c\x79\x28\x64\x2c\x62\x2e\x67\x65\x74\ -\x45\x6c\x65\x6d\x65\x6e\x74\x73\x42\x79\x43\x6c\x61\x73\x73\x4e\ -\x61\x6d\x65\x28\x68\x29\x29\x2c\x64\x7d\x69\x66\x28\x63\x2e\x71\ -\x73\x61\x26\x26\x28\x21\x6f\x7c\x7c\x21\x6f\x2e\x74\x65\x73\x74\ -\x28\x61\x29\x29\x29\x7b\x69\x66\x28\x71\x3d\x70\x3d\x73\x2c\x75\ -\x3d\x62\x2c\x76\x3d\x39\x3d\x3d\x3d\x69\x26\x26\x61\x2c\x31\x3d\ -\x3d\x3d\x69\x26\x26\x22\x6f\x62\x6a\x65\x63\x74\x22\x21\x3d\x3d\ -\x62\x2e\x6e\x6f\x64\x65\x4e\x61\x6d\x65\x2e\x74\x6f\x4c\x6f\x77\ -\x65\x72\x43\x61\x73\x65\x28\x29\x29\x7b\x6d\x3d\x6f\x62\x28\x61\ -\x29\x2c\x28\x70\x3d\x62\x2e\x67\x65\x74\x41\x74\x74\x72\x69\x62\ -\x75\x74\x65\x28\x22\x69\x64\x22\x29\x29\x3f\x71\x3d\x70\x2e\x72\ -\x65\x70\x6c\x61\x63\x65\x28\x5f\x2c\x22\x5c\x5c\x24\x26\x22\x29\ -\x3a\x62\x2e\x73\x65\x74\x41\x74\x74\x72\x69\x62\x75\x74\x65\x28\ -\x22\x69\x64\x22\x2c\x71\x29\x2c\x71\x3d\x22\x5b\x69\x64\x3d\x27\ -\x22\x2b\x71\x2b\x22\x27\x5d\x20\x22\x2c\x6a\x3d\x6d\x2e\x6c\x65\ -\x6e\x67\x74\x68\x3b\x77\x68\x69\x6c\x65\x28\x6a\x2d\x2d\x29\x6d\ -\x5b\x6a\x5d\x3d\x71\x2b\x70\x62\x28\x6d\x5b\x6a\x5d\x29\x3b\x75\ -\x3d\x24\x2e\x74\x65\x73\x74\x28\x61\x29\x26\x26\x6d\x62\x28\x62\ -\x2e\x70\x61\x72\x65\x6e\x74\x4e\x6f\x64\x65\x29\x7c\x7c\x62\x2c\ -\x76\x3d\x6d\x2e\x6a\x6f\x69\x6e\x28\x22\x2c\x22\x29\x7d\x69\x66\ -\x28\x76\x29\x74\x72\x79\x7b\x72\x65\x74\x75\x72\x6e\x20\x47\x2e\ -\x61\x70\x70\x6c\x79\x28\x64\x2c\x75\x2e\x71\x75\x65\x72\x79\x53\ -\x65\x6c\x65\x63\x74\x6f\x72\x41\x6c\x6c\x28\x76\x29\x29\x2c\x64\ -\x7d\x63\x61\x74\x63\x68\x28\x77\x29\x7b\x7d\x66\x69\x6e\x61\x6c\ -\x6c\x79\x7b\x70\x7c\x7c\x62\x2e\x72\x65\x6d\x6f\x76\x65\x41\x74\ -\x74\x72\x69\x62\x75\x74\x65\x28\x22\x69\x64\x22\x29\x7d\x7d\x7d\ -\x72\x65\x74\x75\x72\x6e\x20\x78\x62\x28\x61\x2e\x72\x65\x70\x6c\ -\x61\x63\x65\x28\x50\x2c\x22\x24\x31\x22\x29\x2c\x62\x2c\x64\x2c\ -\x65\x29\x7d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x65\x62\x28\x29\ -\x7b\x76\x61\x72\x20\x61\x3d\x5b\x5d\x3b\x66\x75\x6e\x63\x74\x69\ -\x6f\x6e\x20\x62\x28\x63\x2c\x65\x29\x7b\x72\x65\x74\x75\x72\x6e\ -\x20\x61\x2e\x70\x75\x73\x68\x28\x63\x2b\x22\x20\x22\x29\x3e\x64\ -\x2e\x63\x61\x63\x68\x65\x4c\x65\x6e\x67\x74\x68\x26\x26\x64\x65\ -\x6c\x65\x74\x65\x20\x62\x5b\x61\x2e\x73\x68\x69\x66\x74\x28\x29\ -\x5d\x2c\x62\x5b\x63\x2b\x22\x20\x22\x5d\x3d\x65\x7d\x72\x65\x74\ -\x75\x72\x6e\x20\x62\x7d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x66\ -\x62\x28\x61\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x61\x5b\x73\x5d\ -\x3d\x21\x30\x2c\x61\x7d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x67\ -\x62\x28\x61\x29\x7b\x76\x61\x72\x20\x62\x3d\x6c\x2e\x63\x72\x65\ -\x61\x74\x65\x45\x6c\x65\x6d\x65\x6e\x74\x28\x22\x64\x69\x76\x22\ -\x29\x3b\x74\x72\x79\x7b\x72\x65\x74\x75\x72\x6e\x21\x21\x61\x28\ -\x62\x29\x7d\x63\x61\x74\x63\x68\x28\x63\x29\x7b\x72\x65\x74\x75\ -\x72\x6e\x21\x31\x7d\x66\x69\x6e\x61\x6c\x6c\x79\x7b\x62\x2e\x70\ -\x61\x72\x65\x6e\x74\x4e\x6f\x64\x65\x26\x26\x62\x2e\x70\x61\x72\ -\x65\x6e\x74\x4e\x6f\x64\x65\x2e\x72\x65\x6d\x6f\x76\x65\x43\x68\ -\x69\x6c\x64\x28\x62\x29\x2c\x62\x3d\x6e\x75\x6c\x6c\x7d\x7d\x66\ -\x75\x6e\x63\x74\x69\x6f\x6e\x20\x68\x62\x28\x61\x2c\x62\x29\x7b\ -\x76\x61\x72\x20\x63\x3d\x61\x2e\x73\x70\x6c\x69\x74\x28\x22\x7c\ -\x22\x29\x2c\x65\x3d\x61\x2e\x6c\x65\x6e\x67\x74\x68\x3b\x77\x68\ -\x69\x6c\x65\x28\x65\x2d\x2d\x29\x64\x2e\x61\x74\x74\x72\x48\x61\ -\x6e\x64\x6c\x65\x5b\x63\x5b\x65\x5d\x5d\x3d\x62\x7d\x66\x75\x6e\ -\x63\x74\x69\x6f\x6e\x20\x69\x62\x28\x61\x2c\x62\x29\x7b\x76\x61\ -\x72\x20\x63\x3d\x62\x26\x26\x61\x2c\x64\x3d\x63\x26\x26\x31\x3d\ -\x3d\x3d\x61\x2e\x6e\x6f\x64\x65\x54\x79\x70\x65\x26\x26\x31\x3d\ -\x3d\x3d\x62\x2e\x6e\x6f\x64\x65\x54\x79\x70\x65\x26\x26\x28\x7e\ -\x62\x2e\x73\x6f\x75\x72\x63\x65\x49\x6e\x64\x65\x78\x7c\x7c\x42\ -\x29\x2d\x28\x7e\x61\x2e\x73\x6f\x75\x72\x63\x65\x49\x6e\x64\x65\ -\x78\x7c\x7c\x42\x29\x3b\x69\x66\x28\x64\x29\x72\x65\x74\x75\x72\ -\x6e\x20\x64\x3b\x69\x66\x28\x63\x29\x77\x68\x69\x6c\x65\x28\x63\ -\x3d\x63\x2e\x6e\x65\x78\x74\x53\x69\x62\x6c\x69\x6e\x67\x29\x69\ -\x66\x28\x63\x3d\x3d\x3d\x62\x29\x72\x65\x74\x75\x72\x6e\x2d\x31\ -\x3b\x72\x65\x74\x75\x72\x6e\x20\x61\x3f\x31\x3a\x2d\x31\x7d\x66\ -\x75\x6e\x63\x74\x69\x6f\x6e\x20\x6a\x62\x28\x61\x29\x7b\x72\x65\ -\x74\x75\x72\x6e\x20\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x62\x29\ -\x7b\x76\x61\x72\x20\x63\x3d\x62\x2e\x6e\x6f\x64\x65\x4e\x61\x6d\ -\x65\x2e\x74\x6f\x4c\x6f\x77\x65\x72\x43\x61\x73\x65\x28\x29\x3b\ -\x72\x65\x74\x75\x72\x6e\x22\x69\x6e\x70\x75\x74\x22\x3d\x3d\x3d\ -\x63\x26\x26\x62\x2e\x74\x79\x70\x65\x3d\x3d\x3d\x61\x7d\x7d\x66\ -\x75\x6e\x63\x74\x69\x6f\x6e\x20\x6b\x62\x28\x61\x29\x7b\x72\x65\ -\x74\x75\x72\x6e\x20\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x62\x29\ -\x7b\x76\x61\x72\x20\x63\x3d\x62\x2e\x6e\x6f\x64\x65\x4e\x61\x6d\ -\x65\x2e\x74\x6f\x4c\x6f\x77\x65\x72\x43\x61\x73\x65\x28\x29\x3b\ -\x72\x65\x74\x75\x72\x6e\x28\x22\x69\x6e\x70\x75\x74\x22\x3d\x3d\ -\x3d\x63\x7c\x7c\x22\x62\x75\x74\x74\x6f\x6e\x22\x3d\x3d\x3d\x63\ -\x29\x26\x26\x62\x2e\x74\x79\x70\x65\x3d\x3d\x3d\x61\x7d\x7d\x66\ -\x75\x6e\x63\x74\x69\x6f\x6e\x20\x6c\x62\x28\x61\x29\x7b\x72\x65\ -\x74\x75\x72\x6e\x20\x66\x62\x28\x66\x75\x6e\x63\x74\x69\x6f\x6e\ -\x28\x62\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x62\x3d\x2b\x62\x2c\ -\x66\x62\x28\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x63\x2c\x64\x29\ -\x7b\x76\x61\x72\x20\x65\x2c\x66\x3d\x61\x28\x5b\x5d\x2c\x63\x2e\ -\x6c\x65\x6e\x67\x74\x68\x2c\x62\x29\x2c\x67\x3d\x66\x2e\x6c\x65\ -\x6e\x67\x74\x68\x3b\x77\x68\x69\x6c\x65\x28\x67\x2d\x2d\x29\x63\ -\x5b\x65\x3d\x66\x5b\x67\x5d\x5d\x26\x26\x28\x63\x5b\x65\x5d\x3d\ -\x21\x28\x64\x5b\x65\x5d\x3d\x63\x5b\x65\x5d\x29\x29\x7d\x29\x7d\ -\x29\x7d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x6d\x62\x28\x61\x29\ -\x7b\x72\x65\x74\x75\x72\x6e\x20\x61\x26\x26\x74\x79\x70\x65\x6f\ -\x66\x20\x61\x2e\x67\x65\x74\x45\x6c\x65\x6d\x65\x6e\x74\x73\x42\ -\x79\x54\x61\x67\x4e\x61\x6d\x65\x21\x3d\x3d\x41\x26\x26\x61\x7d\ -\x63\x3d\x64\x62\x2e\x73\x75\x70\x70\x6f\x72\x74\x3d\x7b\x7d\x2c\ -\x66\x3d\x64\x62\x2e\x69\x73\x58\x4d\x4c\x3d\x66\x75\x6e\x63\x74\ -\x69\x6f\x6e\x28\x61\x29\x7b\x76\x61\x72\x20\x62\x3d\x61\x26\x26\ -\x28\x61\x2e\x6f\x77\x6e\x65\x72\x44\x6f\x63\x75\x6d\x65\x6e\x74\ -\x7c\x7c\x61\x29\x2e\x64\x6f\x63\x75\x6d\x65\x6e\x74\x45\x6c\x65\ -\x6d\x65\x6e\x74\x3b\x72\x65\x74\x75\x72\x6e\x20\x62\x3f\x22\x48\ -\x54\x4d\x4c\x22\x21\x3d\x3d\x62\x2e\x6e\x6f\x64\x65\x4e\x61\x6d\ -\x65\x3a\x21\x31\x7d\x2c\x6b\x3d\x64\x62\x2e\x73\x65\x74\x44\x6f\ -\x63\x75\x6d\x65\x6e\x74\x3d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\ -\x61\x29\x7b\x76\x61\x72\x20\x62\x2c\x65\x3d\x61\x3f\x61\x2e\x6f\ -\x77\x6e\x65\x72\x44\x6f\x63\x75\x6d\x65\x6e\x74\x7c\x7c\x61\x3a\ -\x74\x2c\x67\x3d\x65\x2e\x64\x65\x66\x61\x75\x6c\x74\x56\x69\x65\ -\x77\x3b\x72\x65\x74\x75\x72\x6e\x20\x65\x21\x3d\x3d\x6c\x26\x26\ -\x39\x3d\x3d\x3d\x65\x2e\x6e\x6f\x64\x65\x54\x79\x70\x65\x26\x26\ -\x65\x2e\x64\x6f\x63\x75\x6d\x65\x6e\x74\x45\x6c\x65\x6d\x65\x6e\ -\x74\x3f\x28\x6c\x3d\x65\x2c\x6d\x3d\x65\x2e\x64\x6f\x63\x75\x6d\ -\x65\x6e\x74\x45\x6c\x65\x6d\x65\x6e\x74\x2c\x6e\x3d\x21\x66\x28\ -\x65\x29\x2c\x67\x26\x26\x67\x21\x3d\x3d\x67\x2e\x74\x6f\x70\x26\ -\x26\x28\x67\x2e\x61\x64\x64\x45\x76\x65\x6e\x74\x4c\x69\x73\x74\ -\x65\x6e\x65\x72\x3f\x67\x2e\x61\x64\x64\x45\x76\x65\x6e\x74\x4c\ -\x69\x73\x74\x65\x6e\x65\x72\x28\x22\x75\x6e\x6c\x6f\x61\x64\x22\ -\x2c\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x6b\x28\x29\x7d\ -\x2c\x21\x31\x29\x3a\x67\x2e\x61\x74\x74\x61\x63\x68\x45\x76\x65\ -\x6e\x74\x26\x26\x67\x2e\x61\x74\x74\x61\x63\x68\x45\x76\x65\x6e\ -\x74\x28\x22\x6f\x6e\x75\x6e\x6c\x6f\x61\x64\x22\x2c\x66\x75\x6e\ -\x63\x74\x69\x6f\x6e\x28\x29\x7b\x6b\x28\x29\x7d\x29\x29\x2c\x63\ -\x2e\x61\x74\x74\x72\x69\x62\x75\x74\x65\x73\x3d\x67\x62\x28\x66\ -\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x72\x65\x74\x75\x72\ -\x6e\x20\x61\x2e\x63\x6c\x61\x73\x73\x4e\x61\x6d\x65\x3d\x22\x69\ -\x22\x2c\x21\x61\x2e\x67\x65\x74\x41\x74\x74\x72\x69\x62\x75\x74\ -\x65\x28\x22\x63\x6c\x61\x73\x73\x4e\x61\x6d\x65\x22\x29\x7d\x29\ -\x2c\x63\x2e\x67\x65\x74\x45\x6c\x65\x6d\x65\x6e\x74\x73\x42\x79\ -\x54\x61\x67\x4e\x61\x6d\x65\x3d\x67\x62\x28\x66\x75\x6e\x63\x74\ -\x69\x6f\x6e\x28\x61\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x61\x2e\ -\x61\x70\x70\x65\x6e\x64\x43\x68\x69\x6c\x64\x28\x65\x2e\x63\x72\ -\x65\x61\x74\x65\x43\x6f\x6d\x6d\x65\x6e\x74\x28\x22\x22\x29\x29\ -\x2c\x21\x61\x2e\x67\x65\x74\x45\x6c\x65\x6d\x65\x6e\x74\x73\x42\ -\x79\x54\x61\x67\x4e\x61\x6d\x65\x28\x22\x2a\x22\x29\x2e\x6c\x65\ -\x6e\x67\x74\x68\x7d\x29\x2c\x63\x2e\x67\x65\x74\x45\x6c\x65\x6d\ -\x65\x6e\x74\x73\x42\x79\x43\x6c\x61\x73\x73\x4e\x61\x6d\x65\x3d\ -\x59\x2e\x74\x65\x73\x74\x28\x65\x2e\x67\x65\x74\x45\x6c\x65\x6d\ -\x65\x6e\x74\x73\x42\x79\x43\x6c\x61\x73\x73\x4e\x61\x6d\x65\x29\ -\x26\x26\x67\x62\x28\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\ -\x7b\x72\x65\x74\x75\x72\x6e\x20\x61\x2e\x69\x6e\x6e\x65\x72\x48\ -\x54\x4d\x4c\x3d\x22\x3c\x64\x69\x76\x20\x63\x6c\x61\x73\x73\x3d\ -\x27\x61\x27\x3e\x3c\x2f\x64\x69\x76\x3e\x3c\x64\x69\x76\x20\x63\ -\x6c\x61\x73\x73\x3d\x27\x61\x20\x69\x27\x3e\x3c\x2f\x64\x69\x76\ -\x3e\x22\x2c\x61\x2e\x66\x69\x72\x73\x74\x43\x68\x69\x6c\x64\x2e\ -\x63\x6c\x61\x73\x73\x4e\x61\x6d\x65\x3d\x22\x69\x22\x2c\x32\x3d\ -\x3d\x3d\x61\x2e\x67\x65\x74\x45\x6c\x65\x6d\x65\x6e\x74\x73\x42\ -\x79\x43\x6c\x61\x73\x73\x4e\x61\x6d\x65\x28\x22\x69\x22\x29\x2e\ -\x6c\x65\x6e\x67\x74\x68\x7d\x29\x2c\x63\x2e\x67\x65\x74\x42\x79\ -\x49\x64\x3d\x67\x62\x28\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\ -\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x6d\x2e\x61\x70\x70\x65\x6e\ -\x64\x43\x68\x69\x6c\x64\x28\x61\x29\x2e\x69\x64\x3d\x73\x2c\x21\ -\x65\x2e\x67\x65\x74\x45\x6c\x65\x6d\x65\x6e\x74\x73\x42\x79\x4e\ -\x61\x6d\x65\x7c\x7c\x21\x65\x2e\x67\x65\x74\x45\x6c\x65\x6d\x65\ -\x6e\x74\x73\x42\x79\x4e\x61\x6d\x65\x28\x73\x29\x2e\x6c\x65\x6e\ -\x67\x74\x68\x7d\x29\x2c\x63\x2e\x67\x65\x74\x42\x79\x49\x64\x3f\ -\x28\x64\x2e\x66\x69\x6e\x64\x2e\x49\x44\x3d\x66\x75\x6e\x63\x74\ -\x69\x6f\x6e\x28\x61\x2c\x62\x29\x7b\x69\x66\x28\x74\x79\x70\x65\ -\x6f\x66\x20\x62\x2e\x67\x65\x74\x45\x6c\x65\x6d\x65\x6e\x74\x42\ -\x79\x49\x64\x21\x3d\x3d\x41\x26\x26\x6e\x29\x7b\x76\x61\x72\x20\ -\x63\x3d\x62\x2e\x67\x65\x74\x45\x6c\x65\x6d\x65\x6e\x74\x42\x79\ -\x49\x64\x28\x61\x29\x3b\x72\x65\x74\x75\x72\x6e\x20\x63\x26\x26\ -\x63\x2e\x70\x61\x72\x65\x6e\x74\x4e\x6f\x64\x65\x3f\x5b\x63\x5d\ -\x3a\x5b\x5d\x7d\x7d\x2c\x64\x2e\x66\x69\x6c\x74\x65\x72\x2e\x49\ -\x44\x3d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x76\x61\ -\x72\x20\x62\x3d\x61\x2e\x72\x65\x70\x6c\x61\x63\x65\x28\x61\x62\ -\x2c\x62\x62\x29\x3b\x72\x65\x74\x75\x72\x6e\x20\x66\x75\x6e\x63\ -\x74\x69\x6f\x6e\x28\x61\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x61\ -\x2e\x67\x65\x74\x41\x74\x74\x72\x69\x62\x75\x74\x65\x28\x22\x69\ -\x64\x22\x29\x3d\x3d\x3d\x62\x7d\x7d\x29\x3a\x28\x64\x65\x6c\x65\ -\x74\x65\x20\x64\x2e\x66\x69\x6e\x64\x2e\x49\x44\x2c\x64\x2e\x66\ -\x69\x6c\x74\x65\x72\x2e\x49\x44\x3d\x66\x75\x6e\x63\x74\x69\x6f\ -\x6e\x28\x61\x29\x7b\x76\x61\x72\x20\x62\x3d\x61\x2e\x72\x65\x70\ -\x6c\x61\x63\x65\x28\x61\x62\x2c\x62\x62\x29\x3b\x72\x65\x74\x75\ -\x72\x6e\x20\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x76\ -\x61\x72\x20\x63\x3d\x74\x79\x70\x65\x6f\x66\x20\x61\x2e\x67\x65\ -\x74\x41\x74\x74\x72\x69\x62\x75\x74\x65\x4e\x6f\x64\x65\x21\x3d\ -\x3d\x41\x26\x26\x61\x2e\x67\x65\x74\x41\x74\x74\x72\x69\x62\x75\ -\x74\x65\x4e\x6f\x64\x65\x28\x22\x69\x64\x22\x29\x3b\x72\x65\x74\ -\x75\x72\x6e\x20\x63\x26\x26\x63\x2e\x76\x61\x6c\x75\x65\x3d\x3d\ -\x3d\x62\x7d\x7d\x29\x2c\x64\x2e\x66\x69\x6e\x64\x2e\x54\x41\x47\ -\x3d\x63\x2e\x67\x65\x74\x45\x6c\x65\x6d\x65\x6e\x74\x73\x42\x79\ -\x54\x61\x67\x4e\x61\x6d\x65\x3f\x66\x75\x6e\x63\x74\x69\x6f\x6e\ -\x28\x61\x2c\x62\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x74\x79\x70\ -\x65\x6f\x66\x20\x62\x2e\x67\x65\x74\x45\x6c\x65\x6d\x65\x6e\x74\ -\x73\x42\x79\x54\x61\x67\x4e\x61\x6d\x65\x21\x3d\x3d\x41\x3f\x62\ -\x2e\x67\x65\x74\x45\x6c\x65\x6d\x65\x6e\x74\x73\x42\x79\x54\x61\ -\x67\x4e\x61\x6d\x65\x28\x61\x29\x3a\x76\x6f\x69\x64\x20\x30\x7d\ -\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x29\x7b\x76\ -\x61\x72\x20\x63\x2c\x64\x3d\x5b\x5d\x2c\x65\x3d\x30\x2c\x66\x3d\ -\x62\x2e\x67\x65\x74\x45\x6c\x65\x6d\x65\x6e\x74\x73\x42\x79\x54\ -\x61\x67\x4e\x61\x6d\x65\x28\x61\x29\x3b\x69\x66\x28\x22\x2a\x22\ -\x3d\x3d\x3d\x61\x29\x7b\x77\x68\x69\x6c\x65\x28\x63\x3d\x66\x5b\ -\x65\x2b\x2b\x5d\x29\x31\x3d\x3d\x3d\x63\x2e\x6e\x6f\x64\x65\x54\ -\x79\x70\x65\x26\x26\x64\x2e\x70\x75\x73\x68\x28\x63\x29\x3b\x72\ -\x65\x74\x75\x72\x6e\x20\x64\x7d\x72\x65\x74\x75\x72\x6e\x20\x66\ -\x7d\x2c\x64\x2e\x66\x69\x6e\x64\x2e\x43\x4c\x41\x53\x53\x3d\x63\ -\x2e\x67\x65\x74\x45\x6c\x65\x6d\x65\x6e\x74\x73\x42\x79\x43\x6c\ -\x61\x73\x73\x4e\x61\x6d\x65\x26\x26\x66\x75\x6e\x63\x74\x69\x6f\ -\x6e\x28\x61\x2c\x62\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x74\x79\ -\x70\x65\x6f\x66\x20\x62\x2e\x67\x65\x74\x45\x6c\x65\x6d\x65\x6e\ -\x74\x73\x42\x79\x43\x6c\x61\x73\x73\x4e\x61\x6d\x65\x21\x3d\x3d\ -\x41\x26\x26\x6e\x3f\x62\x2e\x67\x65\x74\x45\x6c\x65\x6d\x65\x6e\ -\x74\x73\x42\x79\x43\x6c\x61\x73\x73\x4e\x61\x6d\x65\x28\x61\x29\ -\x3a\x76\x6f\x69\x64\x20\x30\x7d\x2c\x70\x3d\x5b\x5d\x2c\x6f\x3d\ -\x5b\x5d\x2c\x28\x63\x2e\x71\x73\x61\x3d\x59\x2e\x74\x65\x73\x74\ -\x28\x65\x2e\x71\x75\x65\x72\x79\x53\x65\x6c\x65\x63\x74\x6f\x72\ -\x41\x6c\x6c\x29\x29\x26\x26\x28\x67\x62\x28\x66\x75\x6e\x63\x74\ -\x69\x6f\x6e\x28\x61\x29\x7b\x61\x2e\x69\x6e\x6e\x65\x72\x48\x54\ -\x4d\x4c\x3d\x22\x3c\x73\x65\x6c\x65\x63\x74\x20\x74\x3d\x27\x27\ -\x3e\x3c\x6f\x70\x74\x69\x6f\x6e\x20\x73\x65\x6c\x65\x63\x74\x65\ -\x64\x3d\x27\x27\x3e\x3c\x2f\x6f\x70\x74\x69\x6f\x6e\x3e\x3c\x2f\ -\x73\x65\x6c\x65\x63\x74\x3e\x22\x2c\x61\x2e\x71\x75\x65\x72\x79\ -\x53\x65\x6c\x65\x63\x74\x6f\x72\x41\x6c\x6c\x28\x22\x5b\x74\x5e\ -\x3d\x27\x27\x5d\x22\x29\x2e\x6c\x65\x6e\x67\x74\x68\x26\x26\x6f\ -\x2e\x70\x75\x73\x68\x28\x22\x5b\x2a\x5e\x24\x5d\x3d\x22\x2b\x4b\ -\x2b\x22\x2a\x28\x3f\x3a\x27\x27\x7c\x5c\x22\x5c\x22\x29\x22\x29\ -\x2c\x61\x2e\x71\x75\x65\x72\x79\x53\x65\x6c\x65\x63\x74\x6f\x72\ -\x41\x6c\x6c\x28\x22\x5b\x73\x65\x6c\x65\x63\x74\x65\x64\x5d\x22\ -\x29\x2e\x6c\x65\x6e\x67\x74\x68\x7c\x7c\x6f\x2e\x70\x75\x73\x68\ -\x28\x22\x5c\x5c\x5b\x22\x2b\x4b\x2b\x22\x2a\x28\x3f\x3a\x76\x61\ -\x6c\x75\x65\x7c\x22\x2b\x4a\x2b\x22\x29\x22\x29\x2c\x61\x2e\x71\ -\x75\x65\x72\x79\x53\x65\x6c\x65\x63\x74\x6f\x72\x41\x6c\x6c\x28\ -\x22\x3a\x63\x68\x65\x63\x6b\x65\x64\x22\x29\x2e\x6c\x65\x6e\x67\ -\x74\x68\x7c\x7c\x6f\x2e\x70\x75\x73\x68\x28\x22\x3a\x63\x68\x65\ -\x63\x6b\x65\x64\x22\x29\x7d\x29\x2c\x67\x62\x28\x66\x75\x6e\x63\ -\x74\x69\x6f\x6e\x28\x61\x29\x7b\x76\x61\x72\x20\x62\x3d\x65\x2e\ -\x63\x72\x65\x61\x74\x65\x45\x6c\x65\x6d\x65\x6e\x74\x28\x22\x69\ -\x6e\x70\x75\x74\x22\x29\x3b\x62\x2e\x73\x65\x74\x41\x74\x74\x72\ -\x69\x62\x75\x74\x65\x28\x22\x74\x79\x70\x65\x22\x2c\x22\x68\x69\ -\x64\x64\x65\x6e\x22\x29\x2c\x61\x2e\x61\x70\x70\x65\x6e\x64\x43\ -\x68\x69\x6c\x64\x28\x62\x29\x2e\x73\x65\x74\x41\x74\x74\x72\x69\ -\x62\x75\x74\x65\x28\x22\x6e\x61\x6d\x65\x22\x2c\x22\x44\x22\x29\ -\x2c\x61\x2e\x71\x75\x65\x72\x79\x53\x65\x6c\x65\x63\x74\x6f\x72\ -\x41\x6c\x6c\x28\x22\x5b\x6e\x61\x6d\x65\x3d\x64\x5d\x22\x29\x2e\ -\x6c\x65\x6e\x67\x74\x68\x26\x26\x6f\x2e\x70\x75\x73\x68\x28\x22\ -\x6e\x61\x6d\x65\x22\x2b\x4b\x2b\x22\x2a\x5b\x2a\x5e\x24\x7c\x21\ -\x7e\x5d\x3f\x3d\x22\x29\x2c\x61\x2e\x71\x75\x65\x72\x79\x53\x65\ -\x6c\x65\x63\x74\x6f\x72\x41\x6c\x6c\x28\x22\x3a\x65\x6e\x61\x62\ -\x6c\x65\x64\x22\x29\x2e\x6c\x65\x6e\x67\x74\x68\x7c\x7c\x6f\x2e\ -\x70\x75\x73\x68\x28\x22\x3a\x65\x6e\x61\x62\x6c\x65\x64\x22\x2c\ -\x22\x3a\x64\x69\x73\x61\x62\x6c\x65\x64\x22\x29\x2c\x61\x2e\x71\ -\x75\x65\x72\x79\x53\x65\x6c\x65\x63\x74\x6f\x72\x41\x6c\x6c\x28\ -\x22\x2a\x2c\x3a\x78\x22\x29\x2c\x6f\x2e\x70\x75\x73\x68\x28\x22\ -\x2c\x2e\x2a\x3a\x22\x29\x7d\x29\x29\x2c\x28\x63\x2e\x6d\x61\x74\ -\x63\x68\x65\x73\x53\x65\x6c\x65\x63\x74\x6f\x72\x3d\x59\x2e\x74\ -\x65\x73\x74\x28\x71\x3d\x6d\x2e\x77\x65\x62\x6b\x69\x74\x4d\x61\ -\x74\x63\x68\x65\x73\x53\x65\x6c\x65\x63\x74\x6f\x72\x7c\x7c\x6d\ -\x2e\x6d\x6f\x7a\x4d\x61\x74\x63\x68\x65\x73\x53\x65\x6c\x65\x63\ -\x74\x6f\x72\x7c\x7c\x6d\x2e\x6f\x4d\x61\x74\x63\x68\x65\x73\x53\ -\x65\x6c\x65\x63\x74\x6f\x72\x7c\x7c\x6d\x2e\x6d\x73\x4d\x61\x74\ -\x63\x68\x65\x73\x53\x65\x6c\x65\x63\x74\x6f\x72\x29\x29\x26\x26\ -\x67\x62\x28\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x63\ -\x2e\x64\x69\x73\x63\x6f\x6e\x6e\x65\x63\x74\x65\x64\x4d\x61\x74\ -\x63\x68\x3d\x71\x2e\x63\x61\x6c\x6c\x28\x61\x2c\x22\x64\x69\x76\ -\x22\x29\x2c\x71\x2e\x63\x61\x6c\x6c\x28\x61\x2c\x22\x5b\x73\x21\ -\x3d\x27\x27\x5d\x3a\x78\x22\x29\x2c\x70\x2e\x70\x75\x73\x68\x28\ -\x22\x21\x3d\x22\x2c\x4f\x29\x7d\x29\x2c\x6f\x3d\x6f\x2e\x6c\x65\ -\x6e\x67\x74\x68\x26\x26\x6e\x65\x77\x20\x52\x65\x67\x45\x78\x70\ -\x28\x6f\x2e\x6a\x6f\x69\x6e\x28\x22\x7c\x22\x29\x29\x2c\x70\x3d\ -\x70\x2e\x6c\x65\x6e\x67\x74\x68\x26\x26\x6e\x65\x77\x20\x52\x65\ -\x67\x45\x78\x70\x28\x70\x2e\x6a\x6f\x69\x6e\x28\x22\x7c\x22\x29\ -\x29\x2c\x62\x3d\x59\x2e\x74\x65\x73\x74\x28\x6d\x2e\x63\x6f\x6d\ -\x70\x61\x72\x65\x44\x6f\x63\x75\x6d\x65\x6e\x74\x50\x6f\x73\x69\ -\x74\x69\x6f\x6e\x29\x2c\x72\x3d\x62\x7c\x7c\x59\x2e\x74\x65\x73\ -\x74\x28\x6d\x2e\x63\x6f\x6e\x74\x61\x69\x6e\x73\x29\x3f\x66\x75\ -\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x29\x7b\x76\x61\x72\x20\ -\x63\x3d\x39\x3d\x3d\x3d\x61\x2e\x6e\x6f\x64\x65\x54\x79\x70\x65\ -\x3f\x61\x2e\x64\x6f\x63\x75\x6d\x65\x6e\x74\x45\x6c\x65\x6d\x65\ -\x6e\x74\x3a\x61\x2c\x64\x3d\x62\x26\x26\x62\x2e\x70\x61\x72\x65\ -\x6e\x74\x4e\x6f\x64\x65\x3b\x72\x65\x74\x75\x72\x6e\x20\x61\x3d\ -\x3d\x3d\x64\x7c\x7c\x21\x28\x21\x64\x7c\x7c\x31\x21\x3d\x3d\x64\ -\x2e\x6e\x6f\x64\x65\x54\x79\x70\x65\x7c\x7c\x21\x28\x63\x2e\x63\ -\x6f\x6e\x74\x61\x69\x6e\x73\x3f\x63\x2e\x63\x6f\x6e\x74\x61\x69\ -\x6e\x73\x28\x64\x29\x3a\x61\x2e\x63\x6f\x6d\x70\x61\x72\x65\x44\ -\x6f\x63\x75\x6d\x65\x6e\x74\x50\x6f\x73\x69\x74\x69\x6f\x6e\x26\ -\x26\x31\x36\x26\x61\x2e\x63\x6f\x6d\x70\x61\x72\x65\x44\x6f\x63\ -\x75\x6d\x65\x6e\x74\x50\x6f\x73\x69\x74\x69\x6f\x6e\x28\x64\x29\ -\x29\x29\x7d\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\ -\x29\x7b\x69\x66\x28\x62\x29\x77\x68\x69\x6c\x65\x28\x62\x3d\x62\ -\x2e\x70\x61\x72\x65\x6e\x74\x4e\x6f\x64\x65\x29\x69\x66\x28\x62\ -\x3d\x3d\x3d\x61\x29\x72\x65\x74\x75\x72\x6e\x21\x30\x3b\x72\x65\ -\x74\x75\x72\x6e\x21\x31\x7d\x2c\x7a\x3d\x62\x3f\x66\x75\x6e\x63\ -\x74\x69\x6f\x6e\x28\x61\x2c\x62\x29\x7b\x69\x66\x28\x61\x3d\x3d\ -\x3d\x62\x29\x72\x65\x74\x75\x72\x6e\x20\x6a\x3d\x21\x30\x2c\x30\ -\x3b\x76\x61\x72\x20\x64\x3d\x21\x61\x2e\x63\x6f\x6d\x70\x61\x72\ -\x65\x44\x6f\x63\x75\x6d\x65\x6e\x74\x50\x6f\x73\x69\x74\x69\x6f\ -\x6e\x2d\x21\x62\x2e\x63\x6f\x6d\x70\x61\x72\x65\x44\x6f\x63\x75\ -\x6d\x65\x6e\x74\x50\x6f\x73\x69\x74\x69\x6f\x6e\x3b\x72\x65\x74\ -\x75\x72\x6e\x20\x64\x3f\x64\x3a\x28\x64\x3d\x28\x61\x2e\x6f\x77\ -\x6e\x65\x72\x44\x6f\x63\x75\x6d\x65\x6e\x74\x7c\x7c\x61\x29\x3d\ -\x3d\x3d\x28\x62\x2e\x6f\x77\x6e\x65\x72\x44\x6f\x63\x75\x6d\x65\ -\x6e\x74\x7c\x7c\x62\x29\x3f\x61\x2e\x63\x6f\x6d\x70\x61\x72\x65\ -\x44\x6f\x63\x75\x6d\x65\x6e\x74\x50\x6f\x73\x69\x74\x69\x6f\x6e\ -\x28\x62\x29\x3a\x31\x2c\x31\x26\x64\x7c\x7c\x21\x63\x2e\x73\x6f\ -\x72\x74\x44\x65\x74\x61\x63\x68\x65\x64\x26\x26\x62\x2e\x63\x6f\ -\x6d\x70\x61\x72\x65\x44\x6f\x63\x75\x6d\x65\x6e\x74\x50\x6f\x73\ -\x69\x74\x69\x6f\x6e\x28\x61\x29\x3d\x3d\x3d\x64\x3f\x61\x3d\x3d\ -\x3d\x65\x7c\x7c\x61\x2e\x6f\x77\x6e\x65\x72\x44\x6f\x63\x75\x6d\ -\x65\x6e\x74\x3d\x3d\x3d\x74\x26\x26\x72\x28\x74\x2c\x61\x29\x3f\ -\x2d\x31\x3a\x62\x3d\x3d\x3d\x65\x7c\x7c\x62\x2e\x6f\x77\x6e\x65\ -\x72\x44\x6f\x63\x75\x6d\x65\x6e\x74\x3d\x3d\x3d\x74\x26\x26\x72\ -\x28\x74\x2c\x62\x29\x3f\x31\x3a\x69\x3f\x49\x2e\x63\x61\x6c\x6c\ -\x28\x69\x2c\x61\x29\x2d\x49\x2e\x63\x61\x6c\x6c\x28\x69\x2c\x62\ -\x29\x3a\x30\x3a\x34\x26\x64\x3f\x2d\x31\x3a\x31\x29\x7d\x3a\x66\ -\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x29\x7b\x69\x66\x28\ -\x61\x3d\x3d\x3d\x62\x29\x72\x65\x74\x75\x72\x6e\x20\x6a\x3d\x21\ -\x30\x2c\x30\x3b\x76\x61\x72\x20\x63\x2c\x64\x3d\x30\x2c\x66\x3d\ -\x61\x2e\x70\x61\x72\x65\x6e\x74\x4e\x6f\x64\x65\x2c\x67\x3d\x62\ -\x2e\x70\x61\x72\x65\x6e\x74\x4e\x6f\x64\x65\x2c\x68\x3d\x5b\x61\ -\x5d\x2c\x6b\x3d\x5b\x62\x5d\x3b\x69\x66\x28\x21\x66\x7c\x7c\x21\ -\x67\x29\x72\x65\x74\x75\x72\x6e\x20\x61\x3d\x3d\x3d\x65\x3f\x2d\ -\x31\x3a\x62\x3d\x3d\x3d\x65\x3f\x31\x3a\x66\x3f\x2d\x31\x3a\x67\ -\x3f\x31\x3a\x69\x3f\x49\x2e\x63\x61\x6c\x6c\x28\x69\x2c\x61\x29\ -\x2d\x49\x2e\x63\x61\x6c\x6c\x28\x69\x2c\x62\x29\x3a\x30\x3b\x69\ -\x66\x28\x66\x3d\x3d\x3d\x67\x29\x72\x65\x74\x75\x72\x6e\x20\x69\ -\x62\x28\x61\x2c\x62\x29\x3b\x63\x3d\x61\x3b\x77\x68\x69\x6c\x65\ -\x28\x63\x3d\x63\x2e\x70\x61\x72\x65\x6e\x74\x4e\x6f\x64\x65\x29\ -\x68\x2e\x75\x6e\x73\x68\x69\x66\x74\x28\x63\x29\x3b\x63\x3d\x62\ -\x3b\x77\x68\x69\x6c\x65\x28\x63\x3d\x63\x2e\x70\x61\x72\x65\x6e\ -\x74\x4e\x6f\x64\x65\x29\x6b\x2e\x75\x6e\x73\x68\x69\x66\x74\x28\ -\x63\x29\x3b\x77\x68\x69\x6c\x65\x28\x68\x5b\x64\x5d\x3d\x3d\x3d\ -\x6b\x5b\x64\x5d\x29\x64\x2b\x2b\x3b\x72\x65\x74\x75\x72\x6e\x20\ -\x64\x3f\x69\x62\x28\x68\x5b\x64\x5d\x2c\x6b\x5b\x64\x5d\x29\x3a\ -\x68\x5b\x64\x5d\x3d\x3d\x3d\x74\x3f\x2d\x31\x3a\x6b\x5b\x64\x5d\ -\x3d\x3d\x3d\x74\x3f\x31\x3a\x30\x7d\x2c\x65\x29\x3a\x6c\x7d\x2c\ -\x64\x62\x2e\x6d\x61\x74\x63\x68\x65\x73\x3d\x66\x75\x6e\x63\x74\ -\x69\x6f\x6e\x28\x61\x2c\x62\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\ -\x64\x62\x28\x61\x2c\x6e\x75\x6c\x6c\x2c\x6e\x75\x6c\x6c\x2c\x62\ -\x29\x7d\x2c\x64\x62\x2e\x6d\x61\x74\x63\x68\x65\x73\x53\x65\x6c\ -\x65\x63\x74\x6f\x72\x3d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\ -\x2c\x62\x29\x7b\x69\x66\x28\x28\x61\x2e\x6f\x77\x6e\x65\x72\x44\ -\x6f\x63\x75\x6d\x65\x6e\x74\x7c\x7c\x61\x29\x21\x3d\x3d\x6c\x26\ -\x26\x6b\x28\x61\x29\x2c\x62\x3d\x62\x2e\x72\x65\x70\x6c\x61\x63\ -\x65\x28\x53\x2c\x22\x3d\x27\x24\x31\x27\x5d\x22\x29\x2c\x21\x28\ -\x21\x63\x2e\x6d\x61\x74\x63\x68\x65\x73\x53\x65\x6c\x65\x63\x74\ -\x6f\x72\x7c\x7c\x21\x6e\x7c\x7c\x70\x26\x26\x70\x2e\x74\x65\x73\ -\x74\x28\x62\x29\x7c\x7c\x6f\x26\x26\x6f\x2e\x74\x65\x73\x74\x28\ -\x62\x29\x29\x29\x74\x72\x79\x7b\x76\x61\x72\x20\x64\x3d\x71\x2e\ -\x63\x61\x6c\x6c\x28\x61\x2c\x62\x29\x3b\x69\x66\x28\x64\x7c\x7c\ -\x63\x2e\x64\x69\x73\x63\x6f\x6e\x6e\x65\x63\x74\x65\x64\x4d\x61\ -\x74\x63\x68\x7c\x7c\x61\x2e\x64\x6f\x63\x75\x6d\x65\x6e\x74\x26\ -\x26\x31\x31\x21\x3d\x3d\x61\x2e\x64\x6f\x63\x75\x6d\x65\x6e\x74\ -\x2e\x6e\x6f\x64\x65\x54\x79\x70\x65\x29\x72\x65\x74\x75\x72\x6e\ -\x20\x64\x7d\x63\x61\x74\x63\x68\x28\x65\x29\x7b\x7d\x72\x65\x74\ -\x75\x72\x6e\x20\x64\x62\x28\x62\x2c\x6c\x2c\x6e\x75\x6c\x6c\x2c\ -\x5b\x61\x5d\x29\x2e\x6c\x65\x6e\x67\x74\x68\x3e\x30\x7d\x2c\x64\ -\x62\x2e\x63\x6f\x6e\x74\x61\x69\x6e\x73\x3d\x66\x75\x6e\x63\x74\ -\x69\x6f\x6e\x28\x61\x2c\x62\x29\x7b\x72\x65\x74\x75\x72\x6e\x28\ -\x61\x2e\x6f\x77\x6e\x65\x72\x44\x6f\x63\x75\x6d\x65\x6e\x74\x7c\ -\x7c\x61\x29\x21\x3d\x3d\x6c\x26\x26\x6b\x28\x61\x29\x2c\x72\x28\ -\x61\x2c\x62\x29\x7d\x2c\x64\x62\x2e\x61\x74\x74\x72\x3d\x66\x75\ -\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x29\x7b\x28\x61\x2e\x6f\ -\x77\x6e\x65\x72\x44\x6f\x63\x75\x6d\x65\x6e\x74\x7c\x7c\x61\x29\ -\x21\x3d\x3d\x6c\x26\x26\x6b\x28\x61\x29\x3b\x76\x61\x72\x20\x65\ -\x3d\x64\x2e\x61\x74\x74\x72\x48\x61\x6e\x64\x6c\x65\x5b\x62\x2e\ -\x74\x6f\x4c\x6f\x77\x65\x72\x43\x61\x73\x65\x28\x29\x5d\x2c\x66\ -\x3d\x65\x26\x26\x43\x2e\x63\x61\x6c\x6c\x28\x64\x2e\x61\x74\x74\ -\x72\x48\x61\x6e\x64\x6c\x65\x2c\x62\x2e\x74\x6f\x4c\x6f\x77\x65\ -\x72\x43\x61\x73\x65\x28\x29\x29\x3f\x65\x28\x61\x2c\x62\x2c\x21\ -\x6e\x29\x3a\x76\x6f\x69\x64\x20\x30\x3b\x72\x65\x74\x75\x72\x6e\ -\x20\x76\x6f\x69\x64\x20\x30\x21\x3d\x3d\x66\x3f\x66\x3a\x63\x2e\ -\x61\x74\x74\x72\x69\x62\x75\x74\x65\x73\x7c\x7c\x21\x6e\x3f\x61\ -\x2e\x67\x65\x74\x41\x74\x74\x72\x69\x62\x75\x74\x65\x28\x62\x29\ -\x3a\x28\x66\x3d\x61\x2e\x67\x65\x74\x41\x74\x74\x72\x69\x62\x75\ -\x74\x65\x4e\x6f\x64\x65\x28\x62\x29\x29\x26\x26\x66\x2e\x73\x70\ -\x65\x63\x69\x66\x69\x65\x64\x3f\x66\x2e\x76\x61\x6c\x75\x65\x3a\ -\x6e\x75\x6c\x6c\x7d\x2c\x64\x62\x2e\x65\x72\x72\x6f\x72\x3d\x66\ -\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x74\x68\x72\x6f\x77\ -\x20\x6e\x65\x77\x20\x45\x72\x72\x6f\x72\x28\x22\x53\x79\x6e\x74\ -\x61\x78\x20\x65\x72\x72\x6f\x72\x2c\x20\x75\x6e\x72\x65\x63\x6f\ -\x67\x6e\x69\x7a\x65\x64\x20\x65\x78\x70\x72\x65\x73\x73\x69\x6f\ -\x6e\x3a\x20\x22\x2b\x61\x29\x7d\x2c\x64\x62\x2e\x75\x6e\x69\x71\ -\x75\x65\x53\x6f\x72\x74\x3d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\ -\x61\x29\x7b\x76\x61\x72\x20\x62\x2c\x64\x3d\x5b\x5d\x2c\x65\x3d\ -\x30\x2c\x66\x3d\x30\x3b\x69\x66\x28\x6a\x3d\x21\x63\x2e\x64\x65\ -\x74\x65\x63\x74\x44\x75\x70\x6c\x69\x63\x61\x74\x65\x73\x2c\x69\ -\x3d\x21\x63\x2e\x73\x6f\x72\x74\x53\x74\x61\x62\x6c\x65\x26\x26\ -\x61\x2e\x73\x6c\x69\x63\x65\x28\x30\x29\x2c\x61\x2e\x73\x6f\x72\ -\x74\x28\x7a\x29\x2c\x6a\x29\x7b\x77\x68\x69\x6c\x65\x28\x62\x3d\ -\x61\x5b\x66\x2b\x2b\x5d\x29\x62\x3d\x3d\x3d\x61\x5b\x66\x5d\x26\ -\x26\x28\x65\x3d\x64\x2e\x70\x75\x73\x68\x28\x66\x29\x29\x3b\x77\ -\x68\x69\x6c\x65\x28\x65\x2d\x2d\x29\x61\x2e\x73\x70\x6c\x69\x63\ -\x65\x28\x64\x5b\x65\x5d\x2c\x31\x29\x7d\x72\x65\x74\x75\x72\x6e\ -\x20\x69\x3d\x6e\x75\x6c\x6c\x2c\x61\x7d\x2c\x65\x3d\x64\x62\x2e\ -\x67\x65\x74\x54\x65\x78\x74\x3d\x66\x75\x6e\x63\x74\x69\x6f\x6e\ -\x28\x61\x29\x7b\x76\x61\x72\x20\x62\x2c\x63\x3d\x22\x22\x2c\x64\ -\x3d\x30\x2c\x66\x3d\x61\x2e\x6e\x6f\x64\x65\x54\x79\x70\x65\x3b\ -\x69\x66\x28\x66\x29\x7b\x69\x66\x28\x31\x3d\x3d\x3d\x66\x7c\x7c\ -\x39\x3d\x3d\x3d\x66\x7c\x7c\x31\x31\x3d\x3d\x3d\x66\x29\x7b\x69\ -\x66\x28\x22\x73\x74\x72\x69\x6e\x67\x22\x3d\x3d\x74\x79\x70\x65\ -\x6f\x66\x20\x61\x2e\x74\x65\x78\x74\x43\x6f\x6e\x74\x65\x6e\x74\ -\x29\x72\x65\x74\x75\x72\x6e\x20\x61\x2e\x74\x65\x78\x74\x43\x6f\ -\x6e\x74\x65\x6e\x74\x3b\x66\x6f\x72\x28\x61\x3d\x61\x2e\x66\x69\ -\x72\x73\x74\x43\x68\x69\x6c\x64\x3b\x61\x3b\x61\x3d\x61\x2e\x6e\ -\x65\x78\x74\x53\x69\x62\x6c\x69\x6e\x67\x29\x63\x2b\x3d\x65\x28\ -\x61\x29\x7d\x65\x6c\x73\x65\x20\x69\x66\x28\x33\x3d\x3d\x3d\x66\ -\x7c\x7c\x34\x3d\x3d\x3d\x66\x29\x72\x65\x74\x75\x72\x6e\x20\x61\ -\x2e\x6e\x6f\x64\x65\x56\x61\x6c\x75\x65\x7d\x65\x6c\x73\x65\x20\ -\x77\x68\x69\x6c\x65\x28\x62\x3d\x61\x5b\x64\x2b\x2b\x5d\x29\x63\ -\x2b\x3d\x65\x28\x62\x29\x3b\x72\x65\x74\x75\x72\x6e\x20\x63\x7d\ -\x2c\x64\x3d\x64\x62\x2e\x73\x65\x6c\x65\x63\x74\x6f\x72\x73\x3d\ -\x7b\x63\x61\x63\x68\x65\x4c\x65\x6e\x67\x74\x68\x3a\x35\x30\x2c\ -\x63\x72\x65\x61\x74\x65\x50\x73\x65\x75\x64\x6f\x3a\x66\x62\x2c\ -\x6d\x61\x74\x63\x68\x3a\x56\x2c\x61\x74\x74\x72\x48\x61\x6e\x64\ -\x6c\x65\x3a\x7b\x7d\x2c\x66\x69\x6e\x64\x3a\x7b\x7d\x2c\x72\x65\ -\x6c\x61\x74\x69\x76\x65\x3a\x7b\x22\x3e\x22\x3a\x7b\x64\x69\x72\ -\x3a\x22\x70\x61\x72\x65\x6e\x74\x4e\x6f\x64\x65\x22\x2c\x66\x69\ -\x72\x73\x74\x3a\x21\x30\x7d\x2c\x22\x20\x22\x3a\x7b\x64\x69\x72\ -\x3a\x22\x70\x61\x72\x65\x6e\x74\x4e\x6f\x64\x65\x22\x7d\x2c\x22\ -\x2b\x22\x3a\x7b\x64\x69\x72\x3a\x22\x70\x72\x65\x76\x69\x6f\x75\ -\x73\x53\x69\x62\x6c\x69\x6e\x67\x22\x2c\x66\x69\x72\x73\x74\x3a\ -\x21\x30\x7d\x2c\x22\x7e\x22\x3a\x7b\x64\x69\x72\x3a\x22\x70\x72\ -\x65\x76\x69\x6f\x75\x73\x53\x69\x62\x6c\x69\x6e\x67\x22\x7d\x7d\ -\x2c\x70\x72\x65\x46\x69\x6c\x74\x65\x72\x3a\x7b\x41\x54\x54\x52\ -\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x72\x65\x74\ -\x75\x72\x6e\x20\x61\x5b\x31\x5d\x3d\x61\x5b\x31\x5d\x2e\x72\x65\ -\x70\x6c\x61\x63\x65\x28\x61\x62\x2c\x62\x62\x29\x2c\x61\x5b\x33\ -\x5d\x3d\x28\x61\x5b\x34\x5d\x7c\x7c\x61\x5b\x35\x5d\x7c\x7c\x22\ -\x22\x29\x2e\x72\x65\x70\x6c\x61\x63\x65\x28\x61\x62\x2c\x62\x62\ -\x29\x2c\x22\x7e\x3d\x22\x3d\x3d\x3d\x61\x5b\x32\x5d\x26\x26\x28\ -\x61\x5b\x33\x5d\x3d\x22\x20\x22\x2b\x61\x5b\x33\x5d\x2b\x22\x20\ -\x22\x29\x2c\x61\x2e\x73\x6c\x69\x63\x65\x28\x30\x2c\x34\x29\x7d\ -\x2c\x43\x48\x49\x4c\x44\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\ -\x61\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x61\x5b\x31\x5d\x3d\x61\ -\x5b\x31\x5d\x2e\x74\x6f\x4c\x6f\x77\x65\x72\x43\x61\x73\x65\x28\ -\x29\x2c\x22\x6e\x74\x68\x22\x3d\x3d\x3d\x61\x5b\x31\x5d\x2e\x73\ -\x6c\x69\x63\x65\x28\x30\x2c\x33\x29\x3f\x28\x61\x5b\x33\x5d\x7c\ -\x7c\x64\x62\x2e\x65\x72\x72\x6f\x72\x28\x61\x5b\x30\x5d\x29\x2c\ -\x61\x5b\x34\x5d\x3d\x2b\x28\x61\x5b\x34\x5d\x3f\x61\x5b\x35\x5d\ -\x2b\x28\x61\x5b\x36\x5d\x7c\x7c\x31\x29\x3a\x32\x2a\x28\x22\x65\ -\x76\x65\x6e\x22\x3d\x3d\x3d\x61\x5b\x33\x5d\x7c\x7c\x22\x6f\x64\ -\x64\x22\x3d\x3d\x3d\x61\x5b\x33\x5d\x29\x29\x2c\x61\x5b\x35\x5d\ -\x3d\x2b\x28\x61\x5b\x37\x5d\x2b\x61\x5b\x38\x5d\x7c\x7c\x22\x6f\ -\x64\x64\x22\x3d\x3d\x3d\x61\x5b\x33\x5d\x29\x29\x3a\x61\x5b\x33\ -\x5d\x26\x26\x64\x62\x2e\x65\x72\x72\x6f\x72\x28\x61\x5b\x30\x5d\ -\x29\x2c\x61\x7d\x2c\x50\x53\x45\x55\x44\x4f\x3a\x66\x75\x6e\x63\ -\x74\x69\x6f\x6e\x28\x61\x29\x7b\x76\x61\x72\x20\x62\x2c\x63\x3d\ -\x21\x61\x5b\x35\x5d\x26\x26\x61\x5b\x32\x5d\x3b\x72\x65\x74\x75\ -\x72\x6e\x20\x56\x2e\x43\x48\x49\x4c\x44\x2e\x74\x65\x73\x74\x28\ -\x61\x5b\x30\x5d\x29\x3f\x6e\x75\x6c\x6c\x3a\x28\x61\x5b\x33\x5d\ -\x26\x26\x76\x6f\x69\x64\x20\x30\x21\x3d\x3d\x61\x5b\x34\x5d\x3f\ -\x61\x5b\x32\x5d\x3d\x61\x5b\x34\x5d\x3a\x63\x26\x26\x54\x2e\x74\ -\x65\x73\x74\x28\x63\x29\x26\x26\x28\x62\x3d\x6f\x62\x28\x63\x2c\ -\x21\x30\x29\x29\x26\x26\x28\x62\x3d\x63\x2e\x69\x6e\x64\x65\x78\ -\x4f\x66\x28\x22\x29\x22\x2c\x63\x2e\x6c\x65\x6e\x67\x74\x68\x2d\ -\x62\x29\x2d\x63\x2e\x6c\x65\x6e\x67\x74\x68\x29\x26\x26\x28\x61\ -\x5b\x30\x5d\x3d\x61\x5b\x30\x5d\x2e\x73\x6c\x69\x63\x65\x28\x30\ -\x2c\x62\x29\x2c\x61\x5b\x32\x5d\x3d\x63\x2e\x73\x6c\x69\x63\x65\ -\x28\x30\x2c\x62\x29\x29\x2c\x61\x2e\x73\x6c\x69\x63\x65\x28\x30\ -\x2c\x33\x29\x29\x7d\x7d\x2c\x66\x69\x6c\x74\x65\x72\x3a\x7b\x54\ -\x41\x47\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x76\ -\x61\x72\x20\x62\x3d\x61\x2e\x72\x65\x70\x6c\x61\x63\x65\x28\x61\ -\x62\x2c\x62\x62\x29\x2e\x74\x6f\x4c\x6f\x77\x65\x72\x43\x61\x73\ -\x65\x28\x29\x3b\x72\x65\x74\x75\x72\x6e\x22\x2a\x22\x3d\x3d\x3d\ -\x61\x3f\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x72\x65\x74\ -\x75\x72\x6e\x21\x30\x7d\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\ -\x61\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x61\x2e\x6e\x6f\x64\x65\ -\x4e\x61\x6d\x65\x26\x26\x61\x2e\x6e\x6f\x64\x65\x4e\x61\x6d\x65\ -\x2e\x74\x6f\x4c\x6f\x77\x65\x72\x43\x61\x73\x65\x28\x29\x3d\x3d\ -\x3d\x62\x7d\x7d\x2c\x43\x4c\x41\x53\x53\x3a\x66\x75\x6e\x63\x74\ -\x69\x6f\x6e\x28\x61\x29\x7b\x76\x61\x72\x20\x62\x3d\x77\x5b\x61\ -\x2b\x22\x20\x22\x5d\x3b\x72\x65\x74\x75\x72\x6e\x20\x62\x7c\x7c\ -\x28\x62\x3d\x6e\x65\x77\x20\x52\x65\x67\x45\x78\x70\x28\x22\x28\ -\x5e\x7c\x22\x2b\x4b\x2b\x22\x29\x22\x2b\x61\x2b\x22\x28\x22\x2b\ -\x4b\x2b\x22\x7c\x24\x29\x22\x29\x29\x26\x26\x77\x28\x61\x2c\x66\ -\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x72\x65\x74\x75\x72\ -\x6e\x20\x62\x2e\x74\x65\x73\x74\x28\x22\x73\x74\x72\x69\x6e\x67\ -\x22\x3d\x3d\x74\x79\x70\x65\x6f\x66\x20\x61\x2e\x63\x6c\x61\x73\ -\x73\x4e\x61\x6d\x65\x26\x26\x61\x2e\x63\x6c\x61\x73\x73\x4e\x61\ -\x6d\x65\x7c\x7c\x74\x79\x70\x65\x6f\x66\x20\x61\x2e\x67\x65\x74\ -\x41\x74\x74\x72\x69\x62\x75\x74\x65\x21\x3d\x3d\x41\x26\x26\x61\ -\x2e\x67\x65\x74\x41\x74\x74\x72\x69\x62\x75\x74\x65\x28\x22\x63\ -\x6c\x61\x73\x73\x22\x29\x7c\x7c\x22\x22\x29\x7d\x29\x7d\x2c\x41\ -\x54\x54\x52\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\ -\x2c\x63\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x66\x75\x6e\x63\x74\ -\x69\x6f\x6e\x28\x64\x29\x7b\x76\x61\x72\x20\x65\x3d\x64\x62\x2e\ -\x61\x74\x74\x72\x28\x64\x2c\x61\x29\x3b\x72\x65\x74\x75\x72\x6e\ -\x20\x6e\x75\x6c\x6c\x3d\x3d\x65\x3f\x22\x21\x3d\x22\x3d\x3d\x3d\ -\x62\x3a\x62\x3f\x28\x65\x2b\x3d\x22\x22\x2c\x22\x3d\x22\x3d\x3d\ -\x3d\x62\x3f\x65\x3d\x3d\x3d\x63\x3a\x22\x21\x3d\x22\x3d\x3d\x3d\ -\x62\x3f\x65\x21\x3d\x3d\x63\x3a\x22\x5e\x3d\x22\x3d\x3d\x3d\x62\ -\x3f\x63\x26\x26\x30\x3d\x3d\x3d\x65\x2e\x69\x6e\x64\x65\x78\x4f\ -\x66\x28\x63\x29\x3a\x22\x2a\x3d\x22\x3d\x3d\x3d\x62\x3f\x63\x26\ -\x26\x65\x2e\x69\x6e\x64\x65\x78\x4f\x66\x28\x63\x29\x3e\x2d\x31\ -\x3a\x22\x24\x3d\x22\x3d\x3d\x3d\x62\x3f\x63\x26\x26\x65\x2e\x73\ -\x6c\x69\x63\x65\x28\x2d\x63\x2e\x6c\x65\x6e\x67\x74\x68\x29\x3d\ -\x3d\x3d\x63\x3a\x22\x7e\x3d\x22\x3d\x3d\x3d\x62\x3f\x28\x22\x20\ -\x22\x2b\x65\x2b\x22\x20\x22\x29\x2e\x69\x6e\x64\x65\x78\x4f\x66\ -\x28\x63\x29\x3e\x2d\x31\x3a\x22\x7c\x3d\x22\x3d\x3d\x3d\x62\x3f\ -\x65\x3d\x3d\x3d\x63\x7c\x7c\x65\x2e\x73\x6c\x69\x63\x65\x28\x30\ -\x2c\x63\x2e\x6c\x65\x6e\x67\x74\x68\x2b\x31\x29\x3d\x3d\x3d\x63\ -\x2b\x22\x2d\x22\x3a\x21\x31\x29\x3a\x21\x30\x7d\x7d\x2c\x43\x48\ -\x49\x4c\x44\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\ -\x2c\x63\x2c\x64\x2c\x65\x29\x7b\x76\x61\x72\x20\x66\x3d\x22\x6e\ -\x74\x68\x22\x21\x3d\x3d\x61\x2e\x73\x6c\x69\x63\x65\x28\x30\x2c\ -\x33\x29\x2c\x67\x3d\x22\x6c\x61\x73\x74\x22\x21\x3d\x3d\x61\x2e\ -\x73\x6c\x69\x63\x65\x28\x2d\x34\x29\x2c\x68\x3d\x22\x6f\x66\x2d\ -\x74\x79\x70\x65\x22\x3d\x3d\x3d\x62\x3b\x72\x65\x74\x75\x72\x6e\ -\x20\x31\x3d\x3d\x3d\x64\x26\x26\x30\x3d\x3d\x3d\x65\x3f\x66\x75\ -\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x72\x65\x74\x75\x72\x6e\ -\x21\x21\x61\x2e\x70\x61\x72\x65\x6e\x74\x4e\x6f\x64\x65\x7d\x3a\ -\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x62\x2c\x63\x2c\x69\x29\x7b\ -\x76\x61\x72\x20\x6a\x2c\x6b\x2c\x6c\x2c\x6d\x2c\x6e\x2c\x6f\x2c\ -\x70\x3d\x66\x21\x3d\x3d\x67\x3f\x22\x6e\x65\x78\x74\x53\x69\x62\ -\x6c\x69\x6e\x67\x22\x3a\x22\x70\x72\x65\x76\x69\x6f\x75\x73\x53\ -\x69\x62\x6c\x69\x6e\x67\x22\x2c\x71\x3d\x62\x2e\x70\x61\x72\x65\ -\x6e\x74\x4e\x6f\x64\x65\x2c\x72\x3d\x68\x26\x26\x62\x2e\x6e\x6f\ -\x64\x65\x4e\x61\x6d\x65\x2e\x74\x6f\x4c\x6f\x77\x65\x72\x43\x61\ -\x73\x65\x28\x29\x2c\x74\x3d\x21\x69\x26\x26\x21\x68\x3b\x69\x66\ -\x28\x71\x29\x7b\x69\x66\x28\x66\x29\x7b\x77\x68\x69\x6c\x65\x28\ -\x70\x29\x7b\x6c\x3d\x62\x3b\x77\x68\x69\x6c\x65\x28\x6c\x3d\x6c\ -\x5b\x70\x5d\x29\x69\x66\x28\x68\x3f\x6c\x2e\x6e\x6f\x64\x65\x4e\ -\x61\x6d\x65\x2e\x74\x6f\x4c\x6f\x77\x65\x72\x43\x61\x73\x65\x28\ -\x29\x3d\x3d\x3d\x72\x3a\x31\x3d\x3d\x3d\x6c\x2e\x6e\x6f\x64\x65\ -\x54\x79\x70\x65\x29\x72\x65\x74\x75\x72\x6e\x21\x31\x3b\x6f\x3d\ -\x70\x3d\x22\x6f\x6e\x6c\x79\x22\x3d\x3d\x3d\x61\x26\x26\x21\x6f\ -\x26\x26\x22\x6e\x65\x78\x74\x53\x69\x62\x6c\x69\x6e\x67\x22\x7d\ -\x72\x65\x74\x75\x72\x6e\x21\x30\x7d\x69\x66\x28\x6f\x3d\x5b\x67\ -\x3f\x71\x2e\x66\x69\x72\x73\x74\x43\x68\x69\x6c\x64\x3a\x71\x2e\ -\x6c\x61\x73\x74\x43\x68\x69\x6c\x64\x5d\x2c\x67\x26\x26\x74\x29\ -\x7b\x6b\x3d\x71\x5b\x73\x5d\x7c\x7c\x28\x71\x5b\x73\x5d\x3d\x7b\ -\x7d\x29\x2c\x6a\x3d\x6b\x5b\x61\x5d\x7c\x7c\x5b\x5d\x2c\x6e\x3d\ -\x6a\x5b\x30\x5d\x3d\x3d\x3d\x75\x26\x26\x6a\x5b\x31\x5d\x2c\x6d\ -\x3d\x6a\x5b\x30\x5d\x3d\x3d\x3d\x75\x26\x26\x6a\x5b\x32\x5d\x2c\ -\x6c\x3d\x6e\x26\x26\x71\x2e\x63\x68\x69\x6c\x64\x4e\x6f\x64\x65\ -\x73\x5b\x6e\x5d\x3b\x77\x68\x69\x6c\x65\x28\x6c\x3d\x2b\x2b\x6e\ -\x26\x26\x6c\x26\x26\x6c\x5b\x70\x5d\x7c\x7c\x28\x6d\x3d\x6e\x3d\ -\x30\x29\x7c\x7c\x6f\x2e\x70\x6f\x70\x28\x29\x29\x69\x66\x28\x31\ -\x3d\x3d\x3d\x6c\x2e\x6e\x6f\x64\x65\x54\x79\x70\x65\x26\x26\x2b\ -\x2b\x6d\x26\x26\x6c\x3d\x3d\x3d\x62\x29\x7b\x6b\x5b\x61\x5d\x3d\ -\x5b\x75\x2c\x6e\x2c\x6d\x5d\x3b\x62\x72\x65\x61\x6b\x7d\x7d\x65\ -\x6c\x73\x65\x20\x69\x66\x28\x74\x26\x26\x28\x6a\x3d\x28\x62\x5b\ -\x73\x5d\x7c\x7c\x28\x62\x5b\x73\x5d\x3d\x7b\x7d\x29\x29\x5b\x61\ -\x5d\x29\x26\x26\x6a\x5b\x30\x5d\x3d\x3d\x3d\x75\x29\x6d\x3d\x6a\ -\x5b\x31\x5d\x3b\x65\x6c\x73\x65\x20\x77\x68\x69\x6c\x65\x28\x6c\ -\x3d\x2b\x2b\x6e\x26\x26\x6c\x26\x26\x6c\x5b\x70\x5d\x7c\x7c\x28\ -\x6d\x3d\x6e\x3d\x30\x29\x7c\x7c\x6f\x2e\x70\x6f\x70\x28\x29\x29\ -\x69\x66\x28\x28\x68\x3f\x6c\x2e\x6e\x6f\x64\x65\x4e\x61\x6d\x65\ -\x2e\x74\x6f\x4c\x6f\x77\x65\x72\x43\x61\x73\x65\x28\x29\x3d\x3d\ -\x3d\x72\x3a\x31\x3d\x3d\x3d\x6c\x2e\x6e\x6f\x64\x65\x54\x79\x70\ -\x65\x29\x26\x26\x2b\x2b\x6d\x26\x26\x28\x74\x26\x26\x28\x28\x6c\ -\x5b\x73\x5d\x7c\x7c\x28\x6c\x5b\x73\x5d\x3d\x7b\x7d\x29\x29\x5b\ -\x61\x5d\x3d\x5b\x75\x2c\x6d\x5d\x29\x2c\x6c\x3d\x3d\x3d\x62\x29\ -\x29\x62\x72\x65\x61\x6b\x3b\x72\x65\x74\x75\x72\x6e\x20\x6d\x2d\ -\x3d\x65\x2c\x6d\x3d\x3d\x3d\x64\x7c\x7c\x6d\x25\x64\x3d\x3d\x3d\ -\x30\x26\x26\x6d\x2f\x64\x3e\x3d\x30\x7d\x7d\x7d\x2c\x50\x53\x45\ -\x55\x44\x4f\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\ -\x29\x7b\x76\x61\x72\x20\x63\x2c\x65\x3d\x64\x2e\x70\x73\x65\x75\ -\x64\x6f\x73\x5b\x61\x5d\x7c\x7c\x64\x2e\x73\x65\x74\x46\x69\x6c\ -\x74\x65\x72\x73\x5b\x61\x2e\x74\x6f\x4c\x6f\x77\x65\x72\x43\x61\ -\x73\x65\x28\x29\x5d\x7c\x7c\x64\x62\x2e\x65\x72\x72\x6f\x72\x28\ -\x22\x75\x6e\x73\x75\x70\x70\x6f\x72\x74\x65\x64\x20\x70\x73\x65\ -\x75\x64\x6f\x3a\x20\x22\x2b\x61\x29\x3b\x72\x65\x74\x75\x72\x6e\ -\x20\x65\x5b\x73\x5d\x3f\x65\x28\x62\x29\x3a\x65\x2e\x6c\x65\x6e\ -\x67\x74\x68\x3e\x31\x3f\x28\x63\x3d\x5b\x61\x2c\x61\x2c\x22\x22\ -\x2c\x62\x5d\x2c\x64\x2e\x73\x65\x74\x46\x69\x6c\x74\x65\x72\x73\ -\x2e\x68\x61\x73\x4f\x77\x6e\x50\x72\x6f\x70\x65\x72\x74\x79\x28\ -\x61\x2e\x74\x6f\x4c\x6f\x77\x65\x72\x43\x61\x73\x65\x28\x29\x29\ -\x3f\x66\x62\x28\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x63\ -\x29\x7b\x76\x61\x72\x20\x64\x2c\x66\x3d\x65\x28\x61\x2c\x62\x29\ -\x2c\x67\x3d\x66\x2e\x6c\x65\x6e\x67\x74\x68\x3b\x77\x68\x69\x6c\ -\x65\x28\x67\x2d\x2d\x29\x64\x3d\x49\x2e\x63\x61\x6c\x6c\x28\x61\ -\x2c\x66\x5b\x67\x5d\x29\x2c\x61\x5b\x64\x5d\x3d\x21\x28\x63\x5b\ -\x64\x5d\x3d\x66\x5b\x67\x5d\x29\x7d\x29\x3a\x66\x75\x6e\x63\x74\ -\x69\x6f\x6e\x28\x61\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x65\x28\ -\x61\x2c\x30\x2c\x63\x29\x7d\x29\x3a\x65\x7d\x7d\x2c\x70\x73\x65\ -\x75\x64\x6f\x73\x3a\x7b\x6e\x6f\x74\x3a\x66\x62\x28\x66\x75\x6e\ -\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x76\x61\x72\x20\x62\x3d\x5b\ -\x5d\x2c\x63\x3d\x5b\x5d\x2c\x64\x3d\x67\x28\x61\x2e\x72\x65\x70\ -\x6c\x61\x63\x65\x28\x50\x2c\x22\x24\x31\x22\x29\x29\x3b\x72\x65\ -\x74\x75\x72\x6e\x20\x64\x5b\x73\x5d\x3f\x66\x62\x28\x66\x75\x6e\ -\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x2c\x63\x2c\x65\x29\x7b\x76\ -\x61\x72\x20\x66\x2c\x67\x3d\x64\x28\x61\x2c\x6e\x75\x6c\x6c\x2c\ -\x65\x2c\x5b\x5d\x29\x2c\x68\x3d\x61\x2e\x6c\x65\x6e\x67\x74\x68\ -\x3b\x77\x68\x69\x6c\x65\x28\x68\x2d\x2d\x29\x28\x66\x3d\x67\x5b\ -\x68\x5d\x29\x26\x26\x28\x61\x5b\x68\x5d\x3d\x21\x28\x62\x5b\x68\ -\x5d\x3d\x66\x29\x29\x7d\x29\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\ -\x28\x61\x2c\x65\x2c\x66\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x62\ -\x5b\x30\x5d\x3d\x61\x2c\x64\x28\x62\x2c\x6e\x75\x6c\x6c\x2c\x66\ -\x2c\x63\x29\x2c\x21\x63\x2e\x70\x6f\x70\x28\x29\x7d\x7d\x29\x2c\ -\x68\x61\x73\x3a\x66\x62\x28\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\ -\x61\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x66\x75\x6e\x63\x74\x69\ -\x6f\x6e\x28\x62\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x64\x62\x28\ -\x61\x2c\x62\x29\x2e\x6c\x65\x6e\x67\x74\x68\x3e\x30\x7d\x7d\x29\ -\x2c\x63\x6f\x6e\x74\x61\x69\x6e\x73\x3a\x66\x62\x28\x66\x75\x6e\ -\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\ -\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x62\x29\x7b\x72\x65\x74\x75\ -\x72\x6e\x28\x62\x2e\x74\x65\x78\x74\x43\x6f\x6e\x74\x65\x6e\x74\ -\x7c\x7c\x62\x2e\x69\x6e\x6e\x65\x72\x54\x65\x78\x74\x7c\x7c\x65\ -\x28\x62\x29\x29\x2e\x69\x6e\x64\x65\x78\x4f\x66\x28\x61\x29\x3e\ -\x2d\x31\x7d\x7d\x29\x2c\x6c\x61\x6e\x67\x3a\x66\x62\x28\x66\x75\ -\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x72\x65\x74\x75\x72\x6e\ -\x20\x55\x2e\x74\x65\x73\x74\x28\x61\x7c\x7c\x22\x22\x29\x7c\x7c\ -\x64\x62\x2e\x65\x72\x72\x6f\x72\x28\x22\x75\x6e\x73\x75\x70\x70\ -\x6f\x72\x74\x65\x64\x20\x6c\x61\x6e\x67\x3a\x20\x22\x2b\x61\x29\ -\x2c\x61\x3d\x61\x2e\x72\x65\x70\x6c\x61\x63\x65\x28\x61\x62\x2c\ -\x62\x62\x29\x2e\x74\x6f\x4c\x6f\x77\x65\x72\x43\x61\x73\x65\x28\ -\x29\x2c\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x62\x29\x7b\x76\x61\ -\x72\x20\x63\x3b\x64\x6f\x20\x69\x66\x28\x63\x3d\x6e\x3f\x62\x2e\ -\x6c\x61\x6e\x67\x3a\x62\x2e\x67\x65\x74\x41\x74\x74\x72\x69\x62\ -\x75\x74\x65\x28\x22\x78\x6d\x6c\x3a\x6c\x61\x6e\x67\x22\x29\x7c\ -\x7c\x62\x2e\x67\x65\x74\x41\x74\x74\x72\x69\x62\x75\x74\x65\x28\ -\x22\x6c\x61\x6e\x67\x22\x29\x29\x72\x65\x74\x75\x72\x6e\x20\x63\ -\x3d\x63\x2e\x74\x6f\x4c\x6f\x77\x65\x72\x43\x61\x73\x65\x28\x29\ -\x2c\x63\x3d\x3d\x3d\x61\x7c\x7c\x30\x3d\x3d\x3d\x63\x2e\x69\x6e\ -\x64\x65\x78\x4f\x66\x28\x61\x2b\x22\x2d\x22\x29\x3b\x77\x68\x69\ -\x6c\x65\x28\x28\x62\x3d\x62\x2e\x70\x61\x72\x65\x6e\x74\x4e\x6f\ -\x64\x65\x29\x26\x26\x31\x3d\x3d\x3d\x62\x2e\x6e\x6f\x64\x65\x54\ -\x79\x70\x65\x29\x3b\x72\x65\x74\x75\x72\x6e\x21\x31\x7d\x7d\x29\ -\x2c\x74\x61\x72\x67\x65\x74\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\ -\x28\x62\x29\x7b\x76\x61\x72\x20\x63\x3d\x61\x2e\x6c\x6f\x63\x61\ -\x74\x69\x6f\x6e\x26\x26\x61\x2e\x6c\x6f\x63\x61\x74\x69\x6f\x6e\ -\x2e\x68\x61\x73\x68\x3b\x72\x65\x74\x75\x72\x6e\x20\x63\x26\x26\ -\x63\x2e\x73\x6c\x69\x63\x65\x28\x31\x29\x3d\x3d\x3d\x62\x2e\x69\ -\x64\x7d\x2c\x72\x6f\x6f\x74\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\ -\x28\x61\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x61\x3d\x3d\x3d\x6d\ -\x7d\x2c\x66\x6f\x63\x75\x73\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\ -\x28\x61\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x61\x3d\x3d\x3d\x6c\ -\x2e\x61\x63\x74\x69\x76\x65\x45\x6c\x65\x6d\x65\x6e\x74\x26\x26\ -\x28\x21\x6c\x2e\x68\x61\x73\x46\x6f\x63\x75\x73\x7c\x7c\x6c\x2e\ -\x68\x61\x73\x46\x6f\x63\x75\x73\x28\x29\x29\x26\x26\x21\x21\x28\ -\x61\x2e\x74\x79\x70\x65\x7c\x7c\x61\x2e\x68\x72\x65\x66\x7c\x7c\ -\x7e\x61\x2e\x74\x61\x62\x49\x6e\x64\x65\x78\x29\x7d\x2c\x65\x6e\ -\x61\x62\x6c\x65\x64\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\ -\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x61\x2e\x64\x69\x73\x61\x62\ -\x6c\x65\x64\x3d\x3d\x3d\x21\x31\x7d\x2c\x64\x69\x73\x61\x62\x6c\ -\x65\x64\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x72\ -\x65\x74\x75\x72\x6e\x20\x61\x2e\x64\x69\x73\x61\x62\x6c\x65\x64\ -\x3d\x3d\x3d\x21\x30\x7d\x2c\x63\x68\x65\x63\x6b\x65\x64\x3a\x66\ -\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x76\x61\x72\x20\x62\ -\x3d\x61\x2e\x6e\x6f\x64\x65\x4e\x61\x6d\x65\x2e\x74\x6f\x4c\x6f\ -\x77\x65\x72\x43\x61\x73\x65\x28\x29\x3b\x72\x65\x74\x75\x72\x6e\ -\x22\x69\x6e\x70\x75\x74\x22\x3d\x3d\x3d\x62\x26\x26\x21\x21\x61\ -\x2e\x63\x68\x65\x63\x6b\x65\x64\x7c\x7c\x22\x6f\x70\x74\x69\x6f\ -\x6e\x22\x3d\x3d\x3d\x62\x26\x26\x21\x21\x61\x2e\x73\x65\x6c\x65\ -\x63\x74\x65\x64\x7d\x2c\x73\x65\x6c\x65\x63\x74\x65\x64\x3a\x66\ -\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x72\x65\x74\x75\x72\ -\x6e\x20\x61\x2e\x70\x61\x72\x65\x6e\x74\x4e\x6f\x64\x65\x26\x26\ -\x61\x2e\x70\x61\x72\x65\x6e\x74\x4e\x6f\x64\x65\x2e\x73\x65\x6c\ -\x65\x63\x74\x65\x64\x49\x6e\x64\x65\x78\x2c\x61\x2e\x73\x65\x6c\ -\x65\x63\x74\x65\x64\x3d\x3d\x3d\x21\x30\x7d\x2c\x65\x6d\x70\x74\ -\x79\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x66\x6f\ -\x72\x28\x61\x3d\x61\x2e\x66\x69\x72\x73\x74\x43\x68\x69\x6c\x64\ -\x3b\x61\x3b\x61\x3d\x61\x2e\x6e\x65\x78\x74\x53\x69\x62\x6c\x69\ -\x6e\x67\x29\x69\x66\x28\x61\x2e\x6e\x6f\x64\x65\x54\x79\x70\x65\ -\x3c\x36\x29\x72\x65\x74\x75\x72\x6e\x21\x31\x3b\x72\x65\x74\x75\ -\x72\x6e\x21\x30\x7d\x2c\x70\x61\x72\x65\x6e\x74\x3a\x66\x75\x6e\ -\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x72\x65\x74\x75\x72\x6e\x21\ -\x64\x2e\x70\x73\x65\x75\x64\x6f\x73\x2e\x65\x6d\x70\x74\x79\x28\ -\x61\x29\x7d\x2c\x68\x65\x61\x64\x65\x72\x3a\x66\x75\x6e\x63\x74\ -\x69\x6f\x6e\x28\x61\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x58\x2e\ -\x74\x65\x73\x74\x28\x61\x2e\x6e\x6f\x64\x65\x4e\x61\x6d\x65\x29\ -\x7d\x2c\x69\x6e\x70\x75\x74\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\ -\x28\x61\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x57\x2e\x74\x65\x73\ -\x74\x28\x61\x2e\x6e\x6f\x64\x65\x4e\x61\x6d\x65\x29\x7d\x2c\x62\ -\x75\x74\x74\x6f\x6e\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\ -\x29\x7b\x76\x61\x72\x20\x62\x3d\x61\x2e\x6e\x6f\x64\x65\x4e\x61\ -\x6d\x65\x2e\x74\x6f\x4c\x6f\x77\x65\x72\x43\x61\x73\x65\x28\x29\ -\x3b\x72\x65\x74\x75\x72\x6e\x22\x69\x6e\x70\x75\x74\x22\x3d\x3d\ -\x3d\x62\x26\x26\x22\x62\x75\x74\x74\x6f\x6e\x22\x3d\x3d\x3d\x61\ -\x2e\x74\x79\x70\x65\x7c\x7c\x22\x62\x75\x74\x74\x6f\x6e\x22\x3d\ -\x3d\x3d\x62\x7d\x2c\x74\x65\x78\x74\x3a\x66\x75\x6e\x63\x74\x69\ -\x6f\x6e\x28\x61\x29\x7b\x76\x61\x72\x20\x62\x3b\x72\x65\x74\x75\ -\x72\x6e\x22\x69\x6e\x70\x75\x74\x22\x3d\x3d\x3d\x61\x2e\x6e\x6f\ -\x64\x65\x4e\x61\x6d\x65\x2e\x74\x6f\x4c\x6f\x77\x65\x72\x43\x61\ -\x73\x65\x28\x29\x26\x26\x22\x74\x65\x78\x74\x22\x3d\x3d\x3d\x61\ -\x2e\x74\x79\x70\x65\x26\x26\x28\x6e\x75\x6c\x6c\x3d\x3d\x28\x62\ -\x3d\x61\x2e\x67\x65\x74\x41\x74\x74\x72\x69\x62\x75\x74\x65\x28\ -\x22\x74\x79\x70\x65\x22\x29\x29\x7c\x7c\x22\x74\x65\x78\x74\x22\ -\x3d\x3d\x3d\x62\x2e\x74\x6f\x4c\x6f\x77\x65\x72\x43\x61\x73\x65\ -\x28\x29\x29\x7d\x2c\x66\x69\x72\x73\x74\x3a\x6c\x62\x28\x66\x75\ -\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x72\x65\x74\x75\x72\x6e\x5b\ -\x30\x5d\x7d\x29\x2c\x6c\x61\x73\x74\x3a\x6c\x62\x28\x66\x75\x6e\ -\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x29\x7b\x72\x65\x74\x75\x72\ -\x6e\x5b\x62\x2d\x31\x5d\x7d\x29\x2c\x65\x71\x3a\x6c\x62\x28\x66\ -\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x2c\x63\x29\x7b\x72\ -\x65\x74\x75\x72\x6e\x5b\x30\x3e\x63\x3f\x63\x2b\x62\x3a\x63\x5d\ -\x7d\x29\x2c\x65\x76\x65\x6e\x3a\x6c\x62\x28\x66\x75\x6e\x63\x74\ -\x69\x6f\x6e\x28\x61\x2c\x62\x29\x7b\x66\x6f\x72\x28\x76\x61\x72\ -\x20\x63\x3d\x30\x3b\x62\x3e\x63\x3b\x63\x2b\x3d\x32\x29\x61\x2e\ -\x70\x75\x73\x68\x28\x63\x29\x3b\x72\x65\x74\x75\x72\x6e\x20\x61\ -\x7d\x29\x2c\x6f\x64\x64\x3a\x6c\x62\x28\x66\x75\x6e\x63\x74\x69\ -\x6f\x6e\x28\x61\x2c\x62\x29\x7b\x66\x6f\x72\x28\x76\x61\x72\x20\ -\x63\x3d\x31\x3b\x62\x3e\x63\x3b\x63\x2b\x3d\x32\x29\x61\x2e\x70\ -\x75\x73\x68\x28\x63\x29\x3b\x72\x65\x74\x75\x72\x6e\x20\x61\x7d\ -\x29\x2c\x6c\x74\x3a\x6c\x62\x28\x66\x75\x6e\x63\x74\x69\x6f\x6e\ -\x28\x61\x2c\x62\x2c\x63\x29\x7b\x66\x6f\x72\x28\x76\x61\x72\x20\ -\x64\x3d\x30\x3e\x63\x3f\x63\x2b\x62\x3a\x63\x3b\x2d\x2d\x64\x3e\ -\x3d\x30\x3b\x29\x61\x2e\x70\x75\x73\x68\x28\x64\x29\x3b\x72\x65\ -\x74\x75\x72\x6e\x20\x61\x7d\x29\x2c\x67\x74\x3a\x6c\x62\x28\x66\ -\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x2c\x63\x29\x7b\x66\ -\x6f\x72\x28\x76\x61\x72\x20\x64\x3d\x30\x3e\x63\x3f\x63\x2b\x62\ -\x3a\x63\x3b\x2b\x2b\x64\x3c\x62\x3b\x29\x61\x2e\x70\x75\x73\x68\ -\x28\x64\x29\x3b\x72\x65\x74\x75\x72\x6e\x20\x61\x7d\x29\x7d\x7d\ -\x2c\x64\x2e\x70\x73\x65\x75\x64\x6f\x73\x2e\x6e\x74\x68\x3d\x64\ -\x2e\x70\x73\x65\x75\x64\x6f\x73\x2e\x65\x71\x3b\x66\x6f\x72\x28\ -\x62\x20\x69\x6e\x7b\x72\x61\x64\x69\x6f\x3a\x21\x30\x2c\x63\x68\ -\x65\x63\x6b\x62\x6f\x78\x3a\x21\x30\x2c\x66\x69\x6c\x65\x3a\x21\ -\x30\x2c\x70\x61\x73\x73\x77\x6f\x72\x64\x3a\x21\x30\x2c\x69\x6d\ -\x61\x67\x65\x3a\x21\x30\x7d\x29\x64\x2e\x70\x73\x65\x75\x64\x6f\ -\x73\x5b\x62\x5d\x3d\x6a\x62\x28\x62\x29\x3b\x66\x6f\x72\x28\x62\ -\x20\x69\x6e\x7b\x73\x75\x62\x6d\x69\x74\x3a\x21\x30\x2c\x72\x65\ -\x73\x65\x74\x3a\x21\x30\x7d\x29\x64\x2e\x70\x73\x65\x75\x64\x6f\ -\x73\x5b\x62\x5d\x3d\x6b\x62\x28\x62\x29\x3b\x66\x75\x6e\x63\x74\ -\x69\x6f\x6e\x20\x6e\x62\x28\x29\x7b\x7d\x6e\x62\x2e\x70\x72\x6f\ -\x74\x6f\x74\x79\x70\x65\x3d\x64\x2e\x66\x69\x6c\x74\x65\x72\x73\ -\x3d\x64\x2e\x70\x73\x65\x75\x64\x6f\x73\x2c\x64\x2e\x73\x65\x74\ -\x46\x69\x6c\x74\x65\x72\x73\x3d\x6e\x65\x77\x20\x6e\x62\x3b\x66\ -\x75\x6e\x63\x74\x69\x6f\x6e\x20\x6f\x62\x28\x61\x2c\x62\x29\x7b\ -\x76\x61\x72\x20\x63\x2c\x65\x2c\x66\x2c\x67\x2c\x68\x2c\x69\x2c\ -\x6a\x2c\x6b\x3d\x78\x5b\x61\x2b\x22\x20\x22\x5d\x3b\x69\x66\x28\ -\x6b\x29\x72\x65\x74\x75\x72\x6e\x20\x62\x3f\x30\x3a\x6b\x2e\x73\ -\x6c\x69\x63\x65\x28\x30\x29\x3b\x68\x3d\x61\x2c\x69\x3d\x5b\x5d\ -\x2c\x6a\x3d\x64\x2e\x70\x72\x65\x46\x69\x6c\x74\x65\x72\x3b\x77\ -\x68\x69\x6c\x65\x28\x68\x29\x7b\x28\x21\x63\x7c\x7c\x28\x65\x3d\ -\x51\x2e\x65\x78\x65\x63\x28\x68\x29\x29\x29\x26\x26\x28\x65\x26\ -\x26\x28\x68\x3d\x68\x2e\x73\x6c\x69\x63\x65\x28\x65\x5b\x30\x5d\ -\x2e\x6c\x65\x6e\x67\x74\x68\x29\x7c\x7c\x68\x29\x2c\x69\x2e\x70\ -\x75\x73\x68\x28\x66\x3d\x5b\x5d\x29\x29\x2c\x63\x3d\x21\x31\x2c\ -\x28\x65\x3d\x52\x2e\x65\x78\x65\x63\x28\x68\x29\x29\x26\x26\x28\ -\x63\x3d\x65\x2e\x73\x68\x69\x66\x74\x28\x29\x2c\x66\x2e\x70\x75\ -\x73\x68\x28\x7b\x76\x61\x6c\x75\x65\x3a\x63\x2c\x74\x79\x70\x65\ -\x3a\x65\x5b\x30\x5d\x2e\x72\x65\x70\x6c\x61\x63\x65\x28\x50\x2c\ -\x22\x20\x22\x29\x7d\x29\x2c\x68\x3d\x68\x2e\x73\x6c\x69\x63\x65\ -\x28\x63\x2e\x6c\x65\x6e\x67\x74\x68\x29\x29\x3b\x66\x6f\x72\x28\ -\x67\x20\x69\x6e\x20\x64\x2e\x66\x69\x6c\x74\x65\x72\x29\x21\x28\ -\x65\x3d\x56\x5b\x67\x5d\x2e\x65\x78\x65\x63\x28\x68\x29\x29\x7c\ -\x7c\x6a\x5b\x67\x5d\x26\x26\x21\x28\x65\x3d\x6a\x5b\x67\x5d\x28\ -\x65\x29\x29\x7c\x7c\x28\x63\x3d\x65\x2e\x73\x68\x69\x66\x74\x28\ -\x29\x2c\x66\x2e\x70\x75\x73\x68\x28\x7b\x76\x61\x6c\x75\x65\x3a\ -\x63\x2c\x74\x79\x70\x65\x3a\x67\x2c\x6d\x61\x74\x63\x68\x65\x73\ -\x3a\x65\x7d\x29\x2c\x68\x3d\x68\x2e\x73\x6c\x69\x63\x65\x28\x63\ -\x2e\x6c\x65\x6e\x67\x74\x68\x29\x29\x3b\x69\x66\x28\x21\x63\x29\ -\x62\x72\x65\x61\x6b\x7d\x72\x65\x74\x75\x72\x6e\x20\x62\x3f\x68\ -\x2e\x6c\x65\x6e\x67\x74\x68\x3a\x68\x3f\x64\x62\x2e\x65\x72\x72\ -\x6f\x72\x28\x61\x29\x3a\x78\x28\x61\x2c\x69\x29\x2e\x73\x6c\x69\ -\x63\x65\x28\x30\x29\x7d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x70\ -\x62\x28\x61\x29\x7b\x66\x6f\x72\x28\x76\x61\x72\x20\x62\x3d\x30\ -\x2c\x63\x3d\x61\x2e\x6c\x65\x6e\x67\x74\x68\x2c\x64\x3d\x22\x22\ -\x3b\x63\x3e\x62\x3b\x62\x2b\x2b\x29\x64\x2b\x3d\x61\x5b\x62\x5d\ -\x2e\x76\x61\x6c\x75\x65\x3b\x72\x65\x74\x75\x72\x6e\x20\x64\x7d\ -\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x71\x62\x28\x61\x2c\x62\x2c\ -\x63\x29\x7b\x76\x61\x72\x20\x64\x3d\x62\x2e\x64\x69\x72\x2c\x65\ -\x3d\x63\x26\x26\x22\x70\x61\x72\x65\x6e\x74\x4e\x6f\x64\x65\x22\ -\x3d\x3d\x3d\x64\x2c\x66\x3d\x76\x2b\x2b\x3b\x72\x65\x74\x75\x72\ -\x6e\x20\x62\x2e\x66\x69\x72\x73\x74\x3f\x66\x75\x6e\x63\x74\x69\ -\x6f\x6e\x28\x62\x2c\x63\x2c\x66\x29\x7b\x77\x68\x69\x6c\x65\x28\ -\x62\x3d\x62\x5b\x64\x5d\x29\x69\x66\x28\x31\x3d\x3d\x3d\x62\x2e\ -\x6e\x6f\x64\x65\x54\x79\x70\x65\x7c\x7c\x65\x29\x72\x65\x74\x75\ -\x72\x6e\x20\x61\x28\x62\x2c\x63\x2c\x66\x29\x7d\x3a\x66\x75\x6e\ -\x63\x74\x69\x6f\x6e\x28\x62\x2c\x63\x2c\x67\x29\x7b\x76\x61\x72\ -\x20\x68\x2c\x69\x2c\x6a\x3d\x5b\x75\x2c\x66\x5d\x3b\x69\x66\x28\ -\x67\x29\x7b\x77\x68\x69\x6c\x65\x28\x62\x3d\x62\x5b\x64\x5d\x29\ -\x69\x66\x28\x28\x31\x3d\x3d\x3d\x62\x2e\x6e\x6f\x64\x65\x54\x79\ -\x70\x65\x7c\x7c\x65\x29\x26\x26\x61\x28\x62\x2c\x63\x2c\x67\x29\ -\x29\x72\x65\x74\x75\x72\x6e\x21\x30\x7d\x65\x6c\x73\x65\x20\x77\ -\x68\x69\x6c\x65\x28\x62\x3d\x62\x5b\x64\x5d\x29\x69\x66\x28\x31\ -\x3d\x3d\x3d\x62\x2e\x6e\x6f\x64\x65\x54\x79\x70\x65\x7c\x7c\x65\ -\x29\x7b\x69\x66\x28\x69\x3d\x62\x5b\x73\x5d\x7c\x7c\x28\x62\x5b\ -\x73\x5d\x3d\x7b\x7d\x29\x2c\x28\x68\x3d\x69\x5b\x64\x5d\x29\x26\ -\x26\x68\x5b\x30\x5d\x3d\x3d\x3d\x75\x26\x26\x68\x5b\x31\x5d\x3d\ -\x3d\x3d\x66\x29\x72\x65\x74\x75\x72\x6e\x20\x6a\x5b\x32\x5d\x3d\ -\x68\x5b\x32\x5d\x3b\x69\x66\x28\x69\x5b\x64\x5d\x3d\x6a\x2c\x6a\ -\x5b\x32\x5d\x3d\x61\x28\x62\x2c\x63\x2c\x67\x29\x29\x72\x65\x74\ -\x75\x72\x6e\x21\x30\x7d\x7d\x7d\x66\x75\x6e\x63\x74\x69\x6f\x6e\ -\x20\x72\x62\x28\x61\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x61\x2e\ -\x6c\x65\x6e\x67\x74\x68\x3e\x31\x3f\x66\x75\x6e\x63\x74\x69\x6f\ -\x6e\x28\x62\x2c\x63\x2c\x64\x29\x7b\x76\x61\x72\x20\x65\x3d\x61\ -\x2e\x6c\x65\x6e\x67\x74\x68\x3b\x77\x68\x69\x6c\x65\x28\x65\x2d\ -\x2d\x29\x69\x66\x28\x21\x61\x5b\x65\x5d\x28\x62\x2c\x63\x2c\x64\ -\x29\x29\x72\x65\x74\x75\x72\x6e\x21\x31\x3b\x72\x65\x74\x75\x72\ -\x6e\x21\x30\x7d\x3a\x61\x5b\x30\x5d\x7d\x66\x75\x6e\x63\x74\x69\ -\x6f\x6e\x20\x73\x62\x28\x61\x2c\x62\x2c\x63\x2c\x64\x2c\x65\x29\ -\x7b\x66\x6f\x72\x28\x76\x61\x72\x20\x66\x2c\x67\x3d\x5b\x5d\x2c\ -\x68\x3d\x30\x2c\x69\x3d\x61\x2e\x6c\x65\x6e\x67\x74\x68\x2c\x6a\ -\x3d\x6e\x75\x6c\x6c\x21\x3d\x62\x3b\x69\x3e\x68\x3b\x68\x2b\x2b\ -\x29\x28\x66\x3d\x61\x5b\x68\x5d\x29\x26\x26\x28\x21\x63\x7c\x7c\ -\x63\x28\x66\x2c\x64\x2c\x65\x29\x29\x26\x26\x28\x67\x2e\x70\x75\ -\x73\x68\x28\x66\x29\x2c\x6a\x26\x26\x62\x2e\x70\x75\x73\x68\x28\ -\x68\x29\x29\x3b\x72\x65\x74\x75\x72\x6e\x20\x67\x7d\x66\x75\x6e\ -\x63\x74\x69\x6f\x6e\x20\x74\x62\x28\x61\x2c\x62\x2c\x63\x2c\x64\ -\x2c\x65\x2c\x66\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x64\x26\x26\ -\x21\x64\x5b\x73\x5d\x26\x26\x28\x64\x3d\x74\x62\x28\x64\x29\x29\ -\x2c\x65\x26\x26\x21\x65\x5b\x73\x5d\x26\x26\x28\x65\x3d\x74\x62\ -\x28\x65\x2c\x66\x29\x29\x2c\x66\x62\x28\x66\x75\x6e\x63\x74\x69\ -\x6f\x6e\x28\x66\x2c\x67\x2c\x68\x2c\x69\x29\x7b\x76\x61\x72\x20\ -\x6a\x2c\x6b\x2c\x6c\x2c\x6d\x3d\x5b\x5d\x2c\x6e\x3d\x5b\x5d\x2c\ -\x6f\x3d\x67\x2e\x6c\x65\x6e\x67\x74\x68\x2c\x70\x3d\x66\x7c\x7c\ -\x77\x62\x28\x62\x7c\x7c\x22\x2a\x22\x2c\x68\x2e\x6e\x6f\x64\x65\ -\x54\x79\x70\x65\x3f\x5b\x68\x5d\x3a\x68\x2c\x5b\x5d\x29\x2c\x71\ -\x3d\x21\x61\x7c\x7c\x21\x66\x26\x26\x62\x3f\x70\x3a\x73\x62\x28\ -\x70\x2c\x6d\x2c\x61\x2c\x68\x2c\x69\x29\x2c\x72\x3d\x63\x3f\x65\ -\x7c\x7c\x28\x66\x3f\x61\x3a\x6f\x7c\x7c\x64\x29\x3f\x5b\x5d\x3a\ -\x67\x3a\x71\x3b\x69\x66\x28\x63\x26\x26\x63\x28\x71\x2c\x72\x2c\ -\x68\x2c\x69\x29\x2c\x64\x29\x7b\x6a\x3d\x73\x62\x28\x72\x2c\x6e\ -\x29\x2c\x64\x28\x6a\x2c\x5b\x5d\x2c\x68\x2c\x69\x29\x2c\x6b\x3d\ -\x6a\x2e\x6c\x65\x6e\x67\x74\x68\x3b\x77\x68\x69\x6c\x65\x28\x6b\ -\x2d\x2d\x29\x28\x6c\x3d\x6a\x5b\x6b\x5d\x29\x26\x26\x28\x72\x5b\ -\x6e\x5b\x6b\x5d\x5d\x3d\x21\x28\x71\x5b\x6e\x5b\x6b\x5d\x5d\x3d\ -\x6c\x29\x29\x7d\x69\x66\x28\x66\x29\x7b\x69\x66\x28\x65\x7c\x7c\ -\x61\x29\x7b\x69\x66\x28\x65\x29\x7b\x6a\x3d\x5b\x5d\x2c\x6b\x3d\ -\x72\x2e\x6c\x65\x6e\x67\x74\x68\x3b\x77\x68\x69\x6c\x65\x28\x6b\ -\x2d\x2d\x29\x28\x6c\x3d\x72\x5b\x6b\x5d\x29\x26\x26\x6a\x2e\x70\ -\x75\x73\x68\x28\x71\x5b\x6b\x5d\x3d\x6c\x29\x3b\x65\x28\x6e\x75\ -\x6c\x6c\x2c\x72\x3d\x5b\x5d\x2c\x6a\x2c\x69\x29\x7d\x6b\x3d\x72\ -\x2e\x6c\x65\x6e\x67\x74\x68\x3b\x77\x68\x69\x6c\x65\x28\x6b\x2d\ -\x2d\x29\x28\x6c\x3d\x72\x5b\x6b\x5d\x29\x26\x26\x28\x6a\x3d\x65\ -\x3f\x49\x2e\x63\x61\x6c\x6c\x28\x66\x2c\x6c\x29\x3a\x6d\x5b\x6b\ -\x5d\x29\x3e\x2d\x31\x26\x26\x28\x66\x5b\x6a\x5d\x3d\x21\x28\x67\ -\x5b\x6a\x5d\x3d\x6c\x29\x29\x7d\x7d\x65\x6c\x73\x65\x20\x72\x3d\ -\x73\x62\x28\x72\x3d\x3d\x3d\x67\x3f\x72\x2e\x73\x70\x6c\x69\x63\ -\x65\x28\x6f\x2c\x72\x2e\x6c\x65\x6e\x67\x74\x68\x29\x3a\x72\x29\ -\x2c\x65\x3f\x65\x28\x6e\x75\x6c\x6c\x2c\x67\x2c\x72\x2c\x69\x29\ -\x3a\x47\x2e\x61\x70\x70\x6c\x79\x28\x67\x2c\x72\x29\x7d\x29\x7d\ -\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x75\x62\x28\x61\x29\x7b\x66\ -\x6f\x72\x28\x76\x61\x72\x20\x62\x2c\x63\x2c\x65\x2c\x66\x3d\x61\ -\x2e\x6c\x65\x6e\x67\x74\x68\x2c\x67\x3d\x64\x2e\x72\x65\x6c\x61\ -\x74\x69\x76\x65\x5b\x61\x5b\x30\x5d\x2e\x74\x79\x70\x65\x5d\x2c\ -\x69\x3d\x67\x7c\x7c\x64\x2e\x72\x65\x6c\x61\x74\x69\x76\x65\x5b\ -\x22\x20\x22\x5d\x2c\x6a\x3d\x67\x3f\x31\x3a\x30\x2c\x6b\x3d\x71\ -\x62\x28\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x72\x65\ -\x74\x75\x72\x6e\x20\x61\x3d\x3d\x3d\x62\x7d\x2c\x69\x2c\x21\x30\ -\x29\x2c\x6c\x3d\x71\x62\x28\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\ -\x61\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x49\x2e\x63\x61\x6c\x6c\ -\x28\x62\x2c\x61\x29\x3e\x2d\x31\x7d\x2c\x69\x2c\x21\x30\x29\x2c\ -\x6d\x3d\x5b\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x63\x2c\ -\x64\x29\x7b\x72\x65\x74\x75\x72\x6e\x21\x67\x26\x26\x28\x64\x7c\ -\x7c\x63\x21\x3d\x3d\x68\x29\x7c\x7c\x28\x28\x62\x3d\x63\x29\x2e\ -\x6e\x6f\x64\x65\x54\x79\x70\x65\x3f\x6b\x28\x61\x2c\x63\x2c\x64\ -\x29\x3a\x6c\x28\x61\x2c\x63\x2c\x64\x29\x29\x7d\x5d\x3b\x66\x3e\ -\x6a\x3b\x6a\x2b\x2b\x29\x69\x66\x28\x63\x3d\x64\x2e\x72\x65\x6c\ -\x61\x74\x69\x76\x65\x5b\x61\x5b\x6a\x5d\x2e\x74\x79\x70\x65\x5d\ -\x29\x6d\x3d\x5b\x71\x62\x28\x72\x62\x28\x6d\x29\x2c\x63\x29\x5d\ -\x3b\x65\x6c\x73\x65\x7b\x69\x66\x28\x63\x3d\x64\x2e\x66\x69\x6c\ -\x74\x65\x72\x5b\x61\x5b\x6a\x5d\x2e\x74\x79\x70\x65\x5d\x2e\x61\ -\x70\x70\x6c\x79\x28\x6e\x75\x6c\x6c\x2c\x61\x5b\x6a\x5d\x2e\x6d\ -\x61\x74\x63\x68\x65\x73\x29\x2c\x63\x5b\x73\x5d\x29\x7b\x66\x6f\ -\x72\x28\x65\x3d\x2b\x2b\x6a\x3b\x66\x3e\x65\x3b\x65\x2b\x2b\x29\ -\x69\x66\x28\x64\x2e\x72\x65\x6c\x61\x74\x69\x76\x65\x5b\x61\x5b\ -\x65\x5d\x2e\x74\x79\x70\x65\x5d\x29\x62\x72\x65\x61\x6b\x3b\x72\ -\x65\x74\x75\x72\x6e\x20\x74\x62\x28\x6a\x3e\x31\x26\x26\x72\x62\ -\x28\x6d\x29\x2c\x6a\x3e\x31\x26\x26\x70\x62\x28\x61\x2e\x73\x6c\ -\x69\x63\x65\x28\x30\x2c\x6a\x2d\x31\x29\x2e\x63\x6f\x6e\x63\x61\ -\x74\x28\x7b\x76\x61\x6c\x75\x65\x3a\x22\x20\x22\x3d\x3d\x3d\x61\ -\x5b\x6a\x2d\x32\x5d\x2e\x74\x79\x70\x65\x3f\x22\x2a\x22\x3a\x22\ -\x22\x7d\x29\x29\x2e\x72\x65\x70\x6c\x61\x63\x65\x28\x50\x2c\x22\ -\x24\x31\x22\x29\x2c\x63\x2c\x65\x3e\x6a\x26\x26\x75\x62\x28\x61\ -\x2e\x73\x6c\x69\x63\x65\x28\x6a\x2c\x65\x29\x29\x2c\x66\x3e\x65\ -\x26\x26\x75\x62\x28\x61\x3d\x61\x2e\x73\x6c\x69\x63\x65\x28\x65\ -\x29\x29\x2c\x66\x3e\x65\x26\x26\x70\x62\x28\x61\x29\x29\x7d\x6d\ -\x2e\x70\x75\x73\x68\x28\x63\x29\x7d\x72\x65\x74\x75\x72\x6e\x20\ -\x72\x62\x28\x6d\x29\x7d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x76\ -\x62\x28\x61\x2c\x62\x29\x7b\x76\x61\x72\x20\x63\x3d\x62\x2e\x6c\ -\x65\x6e\x67\x74\x68\x3e\x30\x2c\x65\x3d\x61\x2e\x6c\x65\x6e\x67\ -\x74\x68\x3e\x30\x2c\x66\x3d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\ -\x66\x2c\x67\x2c\x69\x2c\x6a\x2c\x6b\x29\x7b\x76\x61\x72\x20\x6d\ -\x2c\x6e\x2c\x6f\x2c\x70\x3d\x30\x2c\x71\x3d\x22\x30\x22\x2c\x72\ -\x3d\x66\x26\x26\x5b\x5d\x2c\x73\x3d\x5b\x5d\x2c\x74\x3d\x68\x2c\ -\x76\x3d\x66\x7c\x7c\x65\x26\x26\x64\x2e\x66\x69\x6e\x64\x2e\x54\ -\x41\x47\x28\x22\x2a\x22\x2c\x6b\x29\x2c\x77\x3d\x75\x2b\x3d\x6e\ -\x75\x6c\x6c\x3d\x3d\x74\x3f\x31\x3a\x4d\x61\x74\x68\x2e\x72\x61\ -\x6e\x64\x6f\x6d\x28\x29\x7c\x7c\x2e\x31\x2c\x78\x3d\x76\x2e\x6c\ -\x65\x6e\x67\x74\x68\x3b\x66\x6f\x72\x28\x6b\x26\x26\x28\x68\x3d\ -\x67\x21\x3d\x3d\x6c\x26\x26\x67\x29\x3b\x71\x21\x3d\x3d\x78\x26\ -\x26\x6e\x75\x6c\x6c\x21\x3d\x28\x6d\x3d\x76\x5b\x71\x5d\x29\x3b\ -\x71\x2b\x2b\x29\x7b\x69\x66\x28\x65\x26\x26\x6d\x29\x7b\x6e\x3d\ -\x30\x3b\x77\x68\x69\x6c\x65\x28\x6f\x3d\x61\x5b\x6e\x2b\x2b\x5d\ -\x29\x69\x66\x28\x6f\x28\x6d\x2c\x67\x2c\x69\x29\x29\x7b\x6a\x2e\ -\x70\x75\x73\x68\x28\x6d\x29\x3b\x62\x72\x65\x61\x6b\x7d\x6b\x26\ -\x26\x28\x75\x3d\x77\x29\x7d\x63\x26\x26\x28\x28\x6d\x3d\x21\x6f\ -\x26\x26\x6d\x29\x26\x26\x70\x2d\x2d\x2c\x66\x26\x26\x72\x2e\x70\ -\x75\x73\x68\x28\x6d\x29\x29\x7d\x69\x66\x28\x70\x2b\x3d\x71\x2c\ -\x63\x26\x26\x71\x21\x3d\x3d\x70\x29\x7b\x6e\x3d\x30\x3b\x77\x68\ -\x69\x6c\x65\x28\x6f\x3d\x62\x5b\x6e\x2b\x2b\x5d\x29\x6f\x28\x72\ -\x2c\x73\x2c\x67\x2c\x69\x29\x3b\x69\x66\x28\x66\x29\x7b\x69\x66\ -\x28\x70\x3e\x30\x29\x77\x68\x69\x6c\x65\x28\x71\x2d\x2d\x29\x72\ -\x5b\x71\x5d\x7c\x7c\x73\x5b\x71\x5d\x7c\x7c\x28\x73\x5b\x71\x5d\ -\x3d\x45\x2e\x63\x61\x6c\x6c\x28\x6a\x29\x29\x3b\x73\x3d\x73\x62\ -\x28\x73\x29\x7d\x47\x2e\x61\x70\x70\x6c\x79\x28\x6a\x2c\x73\x29\ -\x2c\x6b\x26\x26\x21\x66\x26\x26\x73\x2e\x6c\x65\x6e\x67\x74\x68\ -\x3e\x30\x26\x26\x70\x2b\x62\x2e\x6c\x65\x6e\x67\x74\x68\x3e\x31\ -\x26\x26\x64\x62\x2e\x75\x6e\x69\x71\x75\x65\x53\x6f\x72\x74\x28\ -\x6a\x29\x7d\x72\x65\x74\x75\x72\x6e\x20\x6b\x26\x26\x28\x75\x3d\ -\x77\x2c\x68\x3d\x74\x29\x2c\x72\x7d\x3b\x72\x65\x74\x75\x72\x6e\ -\x20\x63\x3f\x66\x62\x28\x66\x29\x3a\x66\x7d\x67\x3d\x64\x62\x2e\ -\x63\x6f\x6d\x70\x69\x6c\x65\x3d\x66\x75\x6e\x63\x74\x69\x6f\x6e\ -\x28\x61\x2c\x62\x29\x7b\x76\x61\x72\x20\x63\x2c\x64\x3d\x5b\x5d\ -\x2c\x65\x3d\x5b\x5d\x2c\x66\x3d\x79\x5b\x61\x2b\x22\x20\x22\x5d\ -\x3b\x69\x66\x28\x21\x66\x29\x7b\x62\x7c\x7c\x28\x62\x3d\x6f\x62\ -\x28\x61\x29\x29\x2c\x63\x3d\x62\x2e\x6c\x65\x6e\x67\x74\x68\x3b\ -\x77\x68\x69\x6c\x65\x28\x63\x2d\x2d\x29\x66\x3d\x75\x62\x28\x62\ -\x5b\x63\x5d\x29\x2c\x66\x5b\x73\x5d\x3f\x64\x2e\x70\x75\x73\x68\ -\x28\x66\x29\x3a\x65\x2e\x70\x75\x73\x68\x28\x66\x29\x3b\x66\x3d\ -\x79\x28\x61\x2c\x76\x62\x28\x65\x2c\x64\x29\x29\x7d\x72\x65\x74\ -\x75\x72\x6e\x20\x66\x7d\x3b\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\ -\x77\x62\x28\x61\x2c\x62\x2c\x63\x29\x7b\x66\x6f\x72\x28\x76\x61\ -\x72\x20\x64\x3d\x30\x2c\x65\x3d\x62\x2e\x6c\x65\x6e\x67\x74\x68\ -\x3b\x65\x3e\x64\x3b\x64\x2b\x2b\x29\x64\x62\x28\x61\x2c\x62\x5b\ -\x64\x5d\x2c\x63\x29\x3b\x72\x65\x74\x75\x72\x6e\x20\x63\x7d\x66\ -\x75\x6e\x63\x74\x69\x6f\x6e\x20\x78\x62\x28\x61\x2c\x62\x2c\x65\ -\x2c\x66\x29\x7b\x76\x61\x72\x20\x68\x2c\x69\x2c\x6a\x2c\x6b\x2c\ -\x6c\x2c\x6d\x3d\x6f\x62\x28\x61\x29\x3b\x69\x66\x28\x21\x66\x26\ -\x26\x31\x3d\x3d\x3d\x6d\x2e\x6c\x65\x6e\x67\x74\x68\x29\x7b\x69\ -\x66\x28\x69\x3d\x6d\x5b\x30\x5d\x3d\x6d\x5b\x30\x5d\x2e\x73\x6c\ -\x69\x63\x65\x28\x30\x29\x2c\x69\x2e\x6c\x65\x6e\x67\x74\x68\x3e\ -\x32\x26\x26\x22\x49\x44\x22\x3d\x3d\x3d\x28\x6a\x3d\x69\x5b\x30\ -\x5d\x29\x2e\x74\x79\x70\x65\x26\x26\x63\x2e\x67\x65\x74\x42\x79\ -\x49\x64\x26\x26\x39\x3d\x3d\x3d\x62\x2e\x6e\x6f\x64\x65\x54\x79\ -\x70\x65\x26\x26\x6e\x26\x26\x64\x2e\x72\x65\x6c\x61\x74\x69\x76\ -\x65\x5b\x69\x5b\x31\x5d\x2e\x74\x79\x70\x65\x5d\x29\x7b\x69\x66\ -\x28\x62\x3d\x28\x64\x2e\x66\x69\x6e\x64\x2e\x49\x44\x28\x6a\x2e\ -\x6d\x61\x74\x63\x68\x65\x73\x5b\x30\x5d\x2e\x72\x65\x70\x6c\x61\ -\x63\x65\x28\x61\x62\x2c\x62\x62\x29\x2c\x62\x29\x7c\x7c\x5b\x5d\ -\x29\x5b\x30\x5d\x2c\x21\x62\x29\x72\x65\x74\x75\x72\x6e\x20\x65\ -\x3b\x61\x3d\x61\x2e\x73\x6c\x69\x63\x65\x28\x69\x2e\x73\x68\x69\ -\x66\x74\x28\x29\x2e\x76\x61\x6c\x75\x65\x2e\x6c\x65\x6e\x67\x74\ -\x68\x29\x7d\x68\x3d\x56\x2e\x6e\x65\x65\x64\x73\x43\x6f\x6e\x74\ -\x65\x78\x74\x2e\x74\x65\x73\x74\x28\x61\x29\x3f\x30\x3a\x69\x2e\ -\x6c\x65\x6e\x67\x74\x68\x3b\x77\x68\x69\x6c\x65\x28\x68\x2d\x2d\ -\x29\x7b\x69\x66\x28\x6a\x3d\x69\x5b\x68\x5d\x2c\x64\x2e\x72\x65\ -\x6c\x61\x74\x69\x76\x65\x5b\x6b\x3d\x6a\x2e\x74\x79\x70\x65\x5d\ -\x29\x62\x72\x65\x61\x6b\x3b\x69\x66\x28\x28\x6c\x3d\x64\x2e\x66\ -\x69\x6e\x64\x5b\x6b\x5d\x29\x26\x26\x28\x66\x3d\x6c\x28\x6a\x2e\ -\x6d\x61\x74\x63\x68\x65\x73\x5b\x30\x5d\x2e\x72\x65\x70\x6c\x61\ -\x63\x65\x28\x61\x62\x2c\x62\x62\x29\x2c\x24\x2e\x74\x65\x73\x74\ -\x28\x69\x5b\x30\x5d\x2e\x74\x79\x70\x65\x29\x26\x26\x6d\x62\x28\ -\x62\x2e\x70\x61\x72\x65\x6e\x74\x4e\x6f\x64\x65\x29\x7c\x7c\x62\ -\x29\x29\x29\x7b\x69\x66\x28\x69\x2e\x73\x70\x6c\x69\x63\x65\x28\ -\x68\x2c\x31\x29\x2c\x61\x3d\x66\x2e\x6c\x65\x6e\x67\x74\x68\x26\ -\x26\x70\x62\x28\x69\x29\x2c\x21\x61\x29\x72\x65\x74\x75\x72\x6e\ -\x20\x47\x2e\x61\x70\x70\x6c\x79\x28\x65\x2c\x66\x29\x2c\x65\x3b\ -\x62\x72\x65\x61\x6b\x7d\x7d\x7d\x72\x65\x74\x75\x72\x6e\x20\x67\ -\x28\x61\x2c\x6d\x29\x28\x66\x2c\x62\x2c\x21\x6e\x2c\x65\x2c\x24\ -\x2e\x74\x65\x73\x74\x28\x61\x29\x26\x26\x6d\x62\x28\x62\x2e\x70\ -\x61\x72\x65\x6e\x74\x4e\x6f\x64\x65\x29\x7c\x7c\x62\x29\x2c\x65\ -\x7d\x72\x65\x74\x75\x72\x6e\x20\x63\x2e\x73\x6f\x72\x74\x53\x74\ -\x61\x62\x6c\x65\x3d\x73\x2e\x73\x70\x6c\x69\x74\x28\x22\x22\x29\ -\x2e\x73\x6f\x72\x74\x28\x7a\x29\x2e\x6a\x6f\x69\x6e\x28\x22\x22\ -\x29\x3d\x3d\x3d\x73\x2c\x63\x2e\x64\x65\x74\x65\x63\x74\x44\x75\ -\x70\x6c\x69\x63\x61\x74\x65\x73\x3d\x21\x21\x6a\x2c\x6b\x28\x29\ -\x2c\x63\x2e\x73\x6f\x72\x74\x44\x65\x74\x61\x63\x68\x65\x64\x3d\ -\x67\x62\x28\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x72\ -\x65\x74\x75\x72\x6e\x20\x31\x26\x61\x2e\x63\x6f\x6d\x70\x61\x72\ -\x65\x44\x6f\x63\x75\x6d\x65\x6e\x74\x50\x6f\x73\x69\x74\x69\x6f\ -\x6e\x28\x6c\x2e\x63\x72\x65\x61\x74\x65\x45\x6c\x65\x6d\x65\x6e\ -\x74\x28\x22\x64\x69\x76\x22\x29\x29\x7d\x29\x2c\x67\x62\x28\x66\ -\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x72\x65\x74\x75\x72\ -\x6e\x20\x61\x2e\x69\x6e\x6e\x65\x72\x48\x54\x4d\x4c\x3d\x22\x3c\ -\x61\x20\x68\x72\x65\x66\x3d\x27\x23\x27\x3e\x3c\x2f\x61\x3e\x22\ -\x2c\x22\x23\x22\x3d\x3d\x3d\x61\x2e\x66\x69\x72\x73\x74\x43\x68\ -\x69\x6c\x64\x2e\x67\x65\x74\x41\x74\x74\x72\x69\x62\x75\x74\x65\ -\x28\x22\x68\x72\x65\x66\x22\x29\x7d\x29\x7c\x7c\x68\x62\x28\x22\ -\x74\x79\x70\x65\x7c\x68\x72\x65\x66\x7c\x68\x65\x69\x67\x68\x74\ -\x7c\x77\x69\x64\x74\x68\x22\x2c\x66\x75\x6e\x63\x74\x69\x6f\x6e\ -\x28\x61\x2c\x62\x2c\x63\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x63\ -\x3f\x76\x6f\x69\x64\x20\x30\x3a\x61\x2e\x67\x65\x74\x41\x74\x74\ -\x72\x69\x62\x75\x74\x65\x28\x62\x2c\x22\x74\x79\x70\x65\x22\x3d\ -\x3d\x3d\x62\x2e\x74\x6f\x4c\x6f\x77\x65\x72\x43\x61\x73\x65\x28\ -\x29\x3f\x31\x3a\x32\x29\x7d\x29\x2c\x63\x2e\x61\x74\x74\x72\x69\ -\x62\x75\x74\x65\x73\x26\x26\x67\x62\x28\x66\x75\x6e\x63\x74\x69\ -\x6f\x6e\x28\x61\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x61\x2e\x69\ -\x6e\x6e\x65\x72\x48\x54\x4d\x4c\x3d\x22\x3c\x69\x6e\x70\x75\x74\ -\x2f\x3e\x22\x2c\x61\x2e\x66\x69\x72\x73\x74\x43\x68\x69\x6c\x64\ -\x2e\x73\x65\x74\x41\x74\x74\x72\x69\x62\x75\x74\x65\x28\x22\x76\ -\x61\x6c\x75\x65\x22\x2c\x22\x22\x29\x2c\x22\x22\x3d\x3d\x3d\x61\ -\x2e\x66\x69\x72\x73\x74\x43\x68\x69\x6c\x64\x2e\x67\x65\x74\x41\ -\x74\x74\x72\x69\x62\x75\x74\x65\x28\x22\x76\x61\x6c\x75\x65\x22\ -\x29\x7d\x29\x7c\x7c\x68\x62\x28\x22\x76\x61\x6c\x75\x65\x22\x2c\ -\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x2c\x63\x29\x7b\ -\x72\x65\x74\x75\x72\x6e\x20\x63\x7c\x7c\x22\x69\x6e\x70\x75\x74\ -\x22\x21\x3d\x3d\x61\x2e\x6e\x6f\x64\x65\x4e\x61\x6d\x65\x2e\x74\ -\x6f\x4c\x6f\x77\x65\x72\x43\x61\x73\x65\x28\x29\x3f\x76\x6f\x69\ -\x64\x20\x30\x3a\x61\x2e\x64\x65\x66\x61\x75\x6c\x74\x56\x61\x6c\ -\x75\x65\x7d\x29\x2c\x67\x62\x28\x66\x75\x6e\x63\x74\x69\x6f\x6e\ -\x28\x61\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x6e\x75\x6c\x6c\x3d\ -\x3d\x61\x2e\x67\x65\x74\x41\x74\x74\x72\x69\x62\x75\x74\x65\x28\ -\x22\x64\x69\x73\x61\x62\x6c\x65\x64\x22\x29\x7d\x29\x7c\x7c\x68\ -\x62\x28\x4a\x2c\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\ -\x2c\x63\x29\x7b\x76\x61\x72\x20\x64\x3b\x72\x65\x74\x75\x72\x6e\ -\x20\x63\x3f\x76\x6f\x69\x64\x20\x30\x3a\x61\x5b\x62\x5d\x3d\x3d\ -\x3d\x21\x30\x3f\x62\x2e\x74\x6f\x4c\x6f\x77\x65\x72\x43\x61\x73\ -\x65\x28\x29\x3a\x28\x64\x3d\x61\x2e\x67\x65\x74\x41\x74\x74\x72\ -\x69\x62\x75\x74\x65\x4e\x6f\x64\x65\x28\x62\x29\x29\x26\x26\x64\ -\x2e\x73\x70\x65\x63\x69\x66\x69\x65\x64\x3f\x64\x2e\x76\x61\x6c\ -\x75\x65\x3a\x6e\x75\x6c\x6c\x7d\x29\x2c\x64\x62\x7d\x28\x61\x29\ -\x3b\x6e\x2e\x66\x69\x6e\x64\x3d\x74\x2c\x6e\x2e\x65\x78\x70\x72\ -\x3d\x74\x2e\x73\x65\x6c\x65\x63\x74\x6f\x72\x73\x2c\x6e\x2e\x65\ -\x78\x70\x72\x5b\x22\x3a\x22\x5d\x3d\x6e\x2e\x65\x78\x70\x72\x2e\ -\x70\x73\x65\x75\x64\x6f\x73\x2c\x6e\x2e\x75\x6e\x69\x71\x75\x65\ -\x3d\x74\x2e\x75\x6e\x69\x71\x75\x65\x53\x6f\x72\x74\x2c\x6e\x2e\ -\x74\x65\x78\x74\x3d\x74\x2e\x67\x65\x74\x54\x65\x78\x74\x2c\x6e\ -\x2e\x69\x73\x58\x4d\x4c\x44\x6f\x63\x3d\x74\x2e\x69\x73\x58\x4d\ -\x4c\x2c\x6e\x2e\x63\x6f\x6e\x74\x61\x69\x6e\x73\x3d\x74\x2e\x63\ -\x6f\x6e\x74\x61\x69\x6e\x73\x3b\x76\x61\x72\x20\x75\x3d\x6e\x2e\ -\x65\x78\x70\x72\x2e\x6d\x61\x74\x63\x68\x2e\x6e\x65\x65\x64\x73\ -\x43\x6f\x6e\x74\x65\x78\x74\x2c\x76\x3d\x2f\x5e\x3c\x28\x5c\x77\ -\x2b\x29\x5c\x73\x2a\x5c\x2f\x3f\x3e\x28\x3f\x3a\x3c\x5c\x2f\x5c\ -\x31\x3e\x7c\x29\x24\x2f\x2c\x77\x3d\x2f\x5e\x2e\x5b\x5e\x3a\x23\ -\x5c\x5b\x5c\x2e\x2c\x5d\x2a\x24\x2f\x3b\x66\x75\x6e\x63\x74\x69\ -\x6f\x6e\x20\x78\x28\x61\x2c\x62\x2c\x63\x29\x7b\x69\x66\x28\x6e\ -\x2e\x69\x73\x46\x75\x6e\x63\x74\x69\x6f\x6e\x28\x62\x29\x29\x72\ -\x65\x74\x75\x72\x6e\x20\x6e\x2e\x67\x72\x65\x70\x28\x61\x2c\x66\ -\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x64\x29\x7b\x72\x65\x74\ -\x75\x72\x6e\x21\x21\x62\x2e\x63\x61\x6c\x6c\x28\x61\x2c\x64\x2c\ -\x61\x29\x21\x3d\x3d\x63\x7d\x29\x3b\x69\x66\x28\x62\x2e\x6e\x6f\ -\x64\x65\x54\x79\x70\x65\x29\x72\x65\x74\x75\x72\x6e\x20\x6e\x2e\ -\x67\x72\x65\x70\x28\x61\x2c\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\ -\x61\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x61\x3d\x3d\x3d\x62\x21\ -\x3d\x3d\x63\x7d\x29\x3b\x69\x66\x28\x22\x73\x74\x72\x69\x6e\x67\ -\x22\x3d\x3d\x74\x79\x70\x65\x6f\x66\x20\x62\x29\x7b\x69\x66\x28\ -\x77\x2e\x74\x65\x73\x74\x28\x62\x29\x29\x72\x65\x74\x75\x72\x6e\ -\x20\x6e\x2e\x66\x69\x6c\x74\x65\x72\x28\x62\x2c\x61\x2c\x63\x29\ -\x3b\x62\x3d\x6e\x2e\x66\x69\x6c\x74\x65\x72\x28\x62\x2c\x61\x29\ -\x7d\x72\x65\x74\x75\x72\x6e\x20\x6e\x2e\x67\x72\x65\x70\x28\x61\ -\x2c\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x72\x65\x74\ -\x75\x72\x6e\x20\x6e\x2e\x69\x6e\x41\x72\x72\x61\x79\x28\x61\x2c\ -\x62\x29\x3e\x3d\x30\x21\x3d\x3d\x63\x7d\x29\x7d\x6e\x2e\x66\x69\ -\x6c\x74\x65\x72\x3d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\ -\x62\x2c\x63\x29\x7b\x76\x61\x72\x20\x64\x3d\x62\x5b\x30\x5d\x3b\ -\x72\x65\x74\x75\x72\x6e\x20\x63\x26\x26\x28\x61\x3d\x22\x3a\x6e\ -\x6f\x74\x28\x22\x2b\x61\x2b\x22\x29\x22\x29\x2c\x31\x3d\x3d\x3d\ -\x62\x2e\x6c\x65\x6e\x67\x74\x68\x26\x26\x31\x3d\x3d\x3d\x64\x2e\ -\x6e\x6f\x64\x65\x54\x79\x70\x65\x3f\x6e\x2e\x66\x69\x6e\x64\x2e\ -\x6d\x61\x74\x63\x68\x65\x73\x53\x65\x6c\x65\x63\x74\x6f\x72\x28\ -\x64\x2c\x61\x29\x3f\x5b\x64\x5d\x3a\x5b\x5d\x3a\x6e\x2e\x66\x69\ -\x6e\x64\x2e\x6d\x61\x74\x63\x68\x65\x73\x28\x61\x2c\x6e\x2e\x67\ -\x72\x65\x70\x28\x62\x2c\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\ -\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x31\x3d\x3d\x3d\x61\x2e\x6e\ -\x6f\x64\x65\x54\x79\x70\x65\x7d\x29\x29\x7d\x2c\x6e\x2e\x66\x6e\ -\x2e\x65\x78\x74\x65\x6e\x64\x28\x7b\x66\x69\x6e\x64\x3a\x66\x75\ -\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x76\x61\x72\x20\x62\x2c\ -\x63\x3d\x5b\x5d\x2c\x64\x3d\x74\x68\x69\x73\x2c\x65\x3d\x64\x2e\ -\x6c\x65\x6e\x67\x74\x68\x3b\x69\x66\x28\x22\x73\x74\x72\x69\x6e\ -\x67\x22\x21\x3d\x74\x79\x70\x65\x6f\x66\x20\x61\x29\x72\x65\x74\ -\x75\x72\x6e\x20\x74\x68\x69\x73\x2e\x70\x75\x73\x68\x53\x74\x61\ -\x63\x6b\x28\x6e\x28\x61\x29\x2e\x66\x69\x6c\x74\x65\x72\x28\x66\ -\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x66\x6f\x72\x28\x62\x3d\ -\x30\x3b\x65\x3e\x62\x3b\x62\x2b\x2b\x29\x69\x66\x28\x6e\x2e\x63\ -\x6f\x6e\x74\x61\x69\x6e\x73\x28\x64\x5b\x62\x5d\x2c\x74\x68\x69\ -\x73\x29\x29\x72\x65\x74\x75\x72\x6e\x21\x30\x7d\x29\x29\x3b\x66\ -\x6f\x72\x28\x62\x3d\x30\x3b\x65\x3e\x62\x3b\x62\x2b\x2b\x29\x6e\ -\x2e\x66\x69\x6e\x64\x28\x61\x2c\x64\x5b\x62\x5d\x2c\x63\x29\x3b\ -\x72\x65\x74\x75\x72\x6e\x20\x63\x3d\x74\x68\x69\x73\x2e\x70\x75\ -\x73\x68\x53\x74\x61\x63\x6b\x28\x65\x3e\x31\x3f\x6e\x2e\x75\x6e\ -\x69\x71\x75\x65\x28\x63\x29\x3a\x63\x29\x2c\x63\x2e\x73\x65\x6c\ -\x65\x63\x74\x6f\x72\x3d\x74\x68\x69\x73\x2e\x73\x65\x6c\x65\x63\ -\x74\x6f\x72\x3f\x74\x68\x69\x73\x2e\x73\x65\x6c\x65\x63\x74\x6f\ -\x72\x2b\x22\x20\x22\x2b\x61\x3a\x61\x2c\x63\x7d\x2c\x66\x69\x6c\ -\x74\x65\x72\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\ -\x72\x65\x74\x75\x72\x6e\x20\x74\x68\x69\x73\x2e\x70\x75\x73\x68\ -\x53\x74\x61\x63\x6b\x28\x78\x28\x74\x68\x69\x73\x2c\x61\x7c\x7c\ -\x5b\x5d\x2c\x21\x31\x29\x29\x7d\x2c\x6e\x6f\x74\x3a\x66\x75\x6e\ -\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\ -\x74\x68\x69\x73\x2e\x70\x75\x73\x68\x53\x74\x61\x63\x6b\x28\x78\ -\x28\x74\x68\x69\x73\x2c\x61\x7c\x7c\x5b\x5d\x2c\x21\x30\x29\x29\ -\x7d\x2c\x69\x73\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\ -\x7b\x72\x65\x74\x75\x72\x6e\x21\x21\x78\x28\x74\x68\x69\x73\x2c\ -\x22\x73\x74\x72\x69\x6e\x67\x22\x3d\x3d\x74\x79\x70\x65\x6f\x66\ -\x20\x61\x26\x26\x75\x2e\x74\x65\x73\x74\x28\x61\x29\x3f\x6e\x28\ -\x61\x29\x3a\x61\x7c\x7c\x5b\x5d\x2c\x21\x31\x29\x2e\x6c\x65\x6e\ -\x67\x74\x68\x7d\x7d\x29\x3b\x76\x61\x72\x20\x79\x2c\x7a\x3d\x61\ -\x2e\x64\x6f\x63\x75\x6d\x65\x6e\x74\x2c\x41\x3d\x2f\x5e\x28\x3f\ -\x3a\x5c\x73\x2a\x28\x3c\x5b\x5c\x77\x5c\x57\x5d\x2b\x3e\x29\x5b\ -\x5e\x3e\x5d\x2a\x7c\x23\x28\x5b\x5c\x77\x2d\x5d\x2a\x29\x29\x24\ -\x2f\x2c\x42\x3d\x6e\x2e\x66\x6e\x2e\x69\x6e\x69\x74\x3d\x66\x75\ -\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x29\x7b\x76\x61\x72\x20\ -\x63\x2c\x64\x3b\x69\x66\x28\x21\x61\x29\x72\x65\x74\x75\x72\x6e\ -\x20\x74\x68\x69\x73\x3b\x69\x66\x28\x22\x73\x74\x72\x69\x6e\x67\ -\x22\x3d\x3d\x74\x79\x70\x65\x6f\x66\x20\x61\x29\x7b\x69\x66\x28\ -\x63\x3d\x22\x3c\x22\x3d\x3d\x3d\x61\x2e\x63\x68\x61\x72\x41\x74\ -\x28\x30\x29\x26\x26\x22\x3e\x22\x3d\x3d\x3d\x61\x2e\x63\x68\x61\ -\x72\x41\x74\x28\x61\x2e\x6c\x65\x6e\x67\x74\x68\x2d\x31\x29\x26\ -\x26\x61\x2e\x6c\x65\x6e\x67\x74\x68\x3e\x3d\x33\x3f\x5b\x6e\x75\ -\x6c\x6c\x2c\x61\x2c\x6e\x75\x6c\x6c\x5d\x3a\x41\x2e\x65\x78\x65\ -\x63\x28\x61\x29\x2c\x21\x63\x7c\x7c\x21\x63\x5b\x31\x5d\x26\x26\ -\x62\x29\x72\x65\x74\x75\x72\x6e\x21\x62\x7c\x7c\x62\x2e\x6a\x71\ -\x75\x65\x72\x79\x3f\x28\x62\x7c\x7c\x79\x29\x2e\x66\x69\x6e\x64\ -\x28\x61\x29\x3a\x74\x68\x69\x73\x2e\x63\x6f\x6e\x73\x74\x72\x75\ -\x63\x74\x6f\x72\x28\x62\x29\x2e\x66\x69\x6e\x64\x28\x61\x29\x3b\ -\x69\x66\x28\x63\x5b\x31\x5d\x29\x7b\x69\x66\x28\x62\x3d\x62\x20\ -\x69\x6e\x73\x74\x61\x6e\x63\x65\x6f\x66\x20\x6e\x3f\x62\x5b\x30\ -\x5d\x3a\x62\x2c\x6e\x2e\x6d\x65\x72\x67\x65\x28\x74\x68\x69\x73\ -\x2c\x6e\x2e\x70\x61\x72\x73\x65\x48\x54\x4d\x4c\x28\x63\x5b\x31\ -\x5d\x2c\x62\x26\x26\x62\x2e\x6e\x6f\x64\x65\x54\x79\x70\x65\x3f\ -\x62\x2e\x6f\x77\x6e\x65\x72\x44\x6f\x63\x75\x6d\x65\x6e\x74\x7c\ -\x7c\x62\x3a\x7a\x2c\x21\x30\x29\x29\x2c\x76\x2e\x74\x65\x73\x74\ -\x28\x63\x5b\x31\x5d\x29\x26\x26\x6e\x2e\x69\x73\x50\x6c\x61\x69\ -\x6e\x4f\x62\x6a\x65\x63\x74\x28\x62\x29\x29\x66\x6f\x72\x28\x63\ -\x20\x69\x6e\x20\x62\x29\x6e\x2e\x69\x73\x46\x75\x6e\x63\x74\x69\ -\x6f\x6e\x28\x74\x68\x69\x73\x5b\x63\x5d\x29\x3f\x74\x68\x69\x73\ -\x5b\x63\x5d\x28\x62\x5b\x63\x5d\x29\x3a\x74\x68\x69\x73\x2e\x61\ -\x74\x74\x72\x28\x63\x2c\x62\x5b\x63\x5d\x29\x3b\x72\x65\x74\x75\ -\x72\x6e\x20\x74\x68\x69\x73\x7d\x69\x66\x28\x64\x3d\x7a\x2e\x67\ -\x65\x74\x45\x6c\x65\x6d\x65\x6e\x74\x42\x79\x49\x64\x28\x63\x5b\ -\x32\x5d\x29\x2c\x64\x26\x26\x64\x2e\x70\x61\x72\x65\x6e\x74\x4e\ -\x6f\x64\x65\x29\x7b\x69\x66\x28\x64\x2e\x69\x64\x21\x3d\x3d\x63\ -\x5b\x32\x5d\x29\x72\x65\x74\x75\x72\x6e\x20\x79\x2e\x66\x69\x6e\ -\x64\x28\x61\x29\x3b\x74\x68\x69\x73\x2e\x6c\x65\x6e\x67\x74\x68\ -\x3d\x31\x2c\x74\x68\x69\x73\x5b\x30\x5d\x3d\x64\x7d\x72\x65\x74\ -\x75\x72\x6e\x20\x74\x68\x69\x73\x2e\x63\x6f\x6e\x74\x65\x78\x74\ -\x3d\x7a\x2c\x74\x68\x69\x73\x2e\x73\x65\x6c\x65\x63\x74\x6f\x72\ -\x3d\x61\x2c\x74\x68\x69\x73\x7d\x72\x65\x74\x75\x72\x6e\x20\x61\ -\x2e\x6e\x6f\x64\x65\x54\x79\x70\x65\x3f\x28\x74\x68\x69\x73\x2e\ -\x63\x6f\x6e\x74\x65\x78\x74\x3d\x74\x68\x69\x73\x5b\x30\x5d\x3d\ -\x61\x2c\x74\x68\x69\x73\x2e\x6c\x65\x6e\x67\x74\x68\x3d\x31\x2c\ -\x74\x68\x69\x73\x29\x3a\x6e\x2e\x69\x73\x46\x75\x6e\x63\x74\x69\ -\x6f\x6e\x28\x61\x29\x3f\x22\x75\x6e\x64\x65\x66\x69\x6e\x65\x64\ -\x22\x21\x3d\x74\x79\x70\x65\x6f\x66\x20\x79\x2e\x72\x65\x61\x64\ -\x79\x3f\x79\x2e\x72\x65\x61\x64\x79\x28\x61\x29\x3a\x61\x28\x6e\ -\x29\x3a\x28\x76\x6f\x69\x64\x20\x30\x21\x3d\x3d\x61\x2e\x73\x65\ -\x6c\x65\x63\x74\x6f\x72\x26\x26\x28\x74\x68\x69\x73\x2e\x73\x65\ -\x6c\x65\x63\x74\x6f\x72\x3d\x61\x2e\x73\x65\x6c\x65\x63\x74\x6f\ -\x72\x2c\x74\x68\x69\x73\x2e\x63\x6f\x6e\x74\x65\x78\x74\x3d\x61\ -\x2e\x63\x6f\x6e\x74\x65\x78\x74\x29\x2c\x6e\x2e\x6d\x61\x6b\x65\ -\x41\x72\x72\x61\x79\x28\x61\x2c\x74\x68\x69\x73\x29\x29\x7d\x3b\ -\x42\x2e\x70\x72\x6f\x74\x6f\x74\x79\x70\x65\x3d\x6e\x2e\x66\x6e\ -\x2c\x79\x3d\x6e\x28\x7a\x29\x3b\x76\x61\x72\x20\x43\x3d\x2f\x5e\ -\x28\x3f\x3a\x70\x61\x72\x65\x6e\x74\x73\x7c\x70\x72\x65\x76\x28\ -\x3f\x3a\x55\x6e\x74\x69\x6c\x7c\x41\x6c\x6c\x29\x29\x2f\x2c\x44\ -\x3d\x7b\x63\x68\x69\x6c\x64\x72\x65\x6e\x3a\x21\x30\x2c\x63\x6f\ -\x6e\x74\x65\x6e\x74\x73\x3a\x21\x30\x2c\x6e\x65\x78\x74\x3a\x21\ -\x30\x2c\x70\x72\x65\x76\x3a\x21\x30\x7d\x3b\x6e\x2e\x65\x78\x74\ -\x65\x6e\x64\x28\x7b\x64\x69\x72\x3a\x66\x75\x6e\x63\x74\x69\x6f\ -\x6e\x28\x61\x2c\x62\x2c\x63\x29\x7b\x76\x61\x72\x20\x64\x3d\x5b\ -\x5d\x2c\x65\x3d\x61\x5b\x62\x5d\x3b\x77\x68\x69\x6c\x65\x28\x65\ -\x26\x26\x39\x21\x3d\x3d\x65\x2e\x6e\x6f\x64\x65\x54\x79\x70\x65\ -\x26\x26\x28\x76\x6f\x69\x64\x20\x30\x3d\x3d\x3d\x63\x7c\x7c\x31\ -\x21\x3d\x3d\x65\x2e\x6e\x6f\x64\x65\x54\x79\x70\x65\x7c\x7c\x21\ -\x6e\x28\x65\x29\x2e\x69\x73\x28\x63\x29\x29\x29\x31\x3d\x3d\x3d\ -\x65\x2e\x6e\x6f\x64\x65\x54\x79\x70\x65\x26\x26\x64\x2e\x70\x75\ -\x73\x68\x28\x65\x29\x2c\x65\x3d\x65\x5b\x62\x5d\x3b\x72\x65\x74\ -\x75\x72\x6e\x20\x64\x7d\x2c\x73\x69\x62\x6c\x69\x6e\x67\x3a\x66\ -\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x29\x7b\x66\x6f\x72\ -\x28\x76\x61\x72\x20\x63\x3d\x5b\x5d\x3b\x61\x3b\x61\x3d\x61\x2e\ -\x6e\x65\x78\x74\x53\x69\x62\x6c\x69\x6e\x67\x29\x31\x3d\x3d\x3d\ -\x61\x2e\x6e\x6f\x64\x65\x54\x79\x70\x65\x26\x26\x61\x21\x3d\x3d\ -\x62\x26\x26\x63\x2e\x70\x75\x73\x68\x28\x61\x29\x3b\x72\x65\x74\ -\x75\x72\x6e\x20\x63\x7d\x7d\x29\x2c\x6e\x2e\x66\x6e\x2e\x65\x78\ -\x74\x65\x6e\x64\x28\x7b\x68\x61\x73\x3a\x66\x75\x6e\x63\x74\x69\ -\x6f\x6e\x28\x61\x29\x7b\x76\x61\x72\x20\x62\x2c\x63\x3d\x6e\x28\ -\x61\x2c\x74\x68\x69\x73\x29\x2c\x64\x3d\x63\x2e\x6c\x65\x6e\x67\ -\x74\x68\x3b\x72\x65\x74\x75\x72\x6e\x20\x74\x68\x69\x73\x2e\x66\ -\x69\x6c\x74\x65\x72\x28\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\ -\x7b\x66\x6f\x72\x28\x62\x3d\x30\x3b\x64\x3e\x62\x3b\x62\x2b\x2b\ -\x29\x69\x66\x28\x6e\x2e\x63\x6f\x6e\x74\x61\x69\x6e\x73\x28\x74\ -\x68\x69\x73\x2c\x63\x5b\x62\x5d\x29\x29\x72\x65\x74\x75\x72\x6e\ -\x21\x30\x7d\x29\x7d\x2c\x63\x6c\x6f\x73\x65\x73\x74\x3a\x66\x75\ -\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x29\x7b\x66\x6f\x72\x28\ -\x76\x61\x72\x20\x63\x2c\x64\x3d\x30\x2c\x65\x3d\x74\x68\x69\x73\ -\x2e\x6c\x65\x6e\x67\x74\x68\x2c\x66\x3d\x5b\x5d\x2c\x67\x3d\x75\ -\x2e\x74\x65\x73\x74\x28\x61\x29\x7c\x7c\x22\x73\x74\x72\x69\x6e\ -\x67\x22\x21\x3d\x74\x79\x70\x65\x6f\x66\x20\x61\x3f\x6e\x28\x61\ -\x2c\x62\x7c\x7c\x74\x68\x69\x73\x2e\x63\x6f\x6e\x74\x65\x78\x74\ -\x29\x3a\x30\x3b\x65\x3e\x64\x3b\x64\x2b\x2b\x29\x66\x6f\x72\x28\ -\x63\x3d\x74\x68\x69\x73\x5b\x64\x5d\x3b\x63\x26\x26\x63\x21\x3d\ -\x3d\x62\x3b\x63\x3d\x63\x2e\x70\x61\x72\x65\x6e\x74\x4e\x6f\x64\ -\x65\x29\x69\x66\x28\x63\x2e\x6e\x6f\x64\x65\x54\x79\x70\x65\x3c\ -\x31\x31\x26\x26\x28\x67\x3f\x67\x2e\x69\x6e\x64\x65\x78\x28\x63\ -\x29\x3e\x2d\x31\x3a\x31\x3d\x3d\x3d\x63\x2e\x6e\x6f\x64\x65\x54\ -\x79\x70\x65\x26\x26\x6e\x2e\x66\x69\x6e\x64\x2e\x6d\x61\x74\x63\ -\x68\x65\x73\x53\x65\x6c\x65\x63\x74\x6f\x72\x28\x63\x2c\x61\x29\ -\x29\x29\x7b\x66\x2e\x70\x75\x73\x68\x28\x63\x29\x3b\x62\x72\x65\ -\x61\x6b\x7d\x72\x65\x74\x75\x72\x6e\x20\x74\x68\x69\x73\x2e\x70\ -\x75\x73\x68\x53\x74\x61\x63\x6b\x28\x66\x2e\x6c\x65\x6e\x67\x74\ -\x68\x3e\x31\x3f\x6e\x2e\x75\x6e\x69\x71\x75\x65\x28\x66\x29\x3a\ -\x66\x29\x7d\x2c\x69\x6e\x64\x65\x78\x3a\x66\x75\x6e\x63\x74\x69\ -\x6f\x6e\x28\x61\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x61\x3f\x22\ -\x73\x74\x72\x69\x6e\x67\x22\x3d\x3d\x74\x79\x70\x65\x6f\x66\x20\ -\x61\x3f\x6e\x2e\x69\x6e\x41\x72\x72\x61\x79\x28\x74\x68\x69\x73\ -\x5b\x30\x5d\x2c\x6e\x28\x61\x29\x29\x3a\x6e\x2e\x69\x6e\x41\x72\ -\x72\x61\x79\x28\x61\x2e\x6a\x71\x75\x65\x72\x79\x3f\x61\x5b\x30\ -\x5d\x3a\x61\x2c\x74\x68\x69\x73\x29\x3a\x74\x68\x69\x73\x5b\x30\ -\x5d\x26\x26\x74\x68\x69\x73\x5b\x30\x5d\x2e\x70\x61\x72\x65\x6e\ -\x74\x4e\x6f\x64\x65\x3f\x74\x68\x69\x73\x2e\x66\x69\x72\x73\x74\ -\x28\x29\x2e\x70\x72\x65\x76\x41\x6c\x6c\x28\x29\x2e\x6c\x65\x6e\ -\x67\x74\x68\x3a\x2d\x31\x7d\x2c\x61\x64\x64\x3a\x66\x75\x6e\x63\ -\x74\x69\x6f\x6e\x28\x61\x2c\x62\x29\x7b\x72\x65\x74\x75\x72\x6e\ -\x20\x74\x68\x69\x73\x2e\x70\x75\x73\x68\x53\x74\x61\x63\x6b\x28\ -\x6e\x2e\x75\x6e\x69\x71\x75\x65\x28\x6e\x2e\x6d\x65\x72\x67\x65\ -\x28\x74\x68\x69\x73\x2e\x67\x65\x74\x28\x29\x2c\x6e\x28\x61\x2c\ -\x62\x29\x29\x29\x29\x7d\x2c\x61\x64\x64\x42\x61\x63\x6b\x3a\x66\ -\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x72\x65\x74\x75\x72\ -\x6e\x20\x74\x68\x69\x73\x2e\x61\x64\x64\x28\x6e\x75\x6c\x6c\x3d\ -\x3d\x61\x3f\x74\x68\x69\x73\x2e\x70\x72\x65\x76\x4f\x62\x6a\x65\ -\x63\x74\x3a\x74\x68\x69\x73\x2e\x70\x72\x65\x76\x4f\x62\x6a\x65\ -\x63\x74\x2e\x66\x69\x6c\x74\x65\x72\x28\x61\x29\x29\x7d\x7d\x29\ -\x3b\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x45\x28\x61\x2c\x62\x29\ -\x7b\x64\x6f\x20\x61\x3d\x61\x5b\x62\x5d\x3b\x77\x68\x69\x6c\x65\ -\x28\x61\x26\x26\x31\x21\x3d\x3d\x61\x2e\x6e\x6f\x64\x65\x54\x79\ -\x70\x65\x29\x3b\x72\x65\x74\x75\x72\x6e\x20\x61\x7d\x6e\x2e\x65\ -\x61\x63\x68\x28\x7b\x70\x61\x72\x65\x6e\x74\x3a\x66\x75\x6e\x63\ -\x74\x69\x6f\x6e\x28\x61\x29\x7b\x76\x61\x72\x20\x62\x3d\x61\x2e\ -\x70\x61\x72\x65\x6e\x74\x4e\x6f\x64\x65\x3b\x72\x65\x74\x75\x72\ -\x6e\x20\x62\x26\x26\x31\x31\x21\x3d\x3d\x62\x2e\x6e\x6f\x64\x65\ -\x54\x79\x70\x65\x3f\x62\x3a\x6e\x75\x6c\x6c\x7d\x2c\x70\x61\x72\ -\x65\x6e\x74\x73\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\ -\x7b\x72\x65\x74\x75\x72\x6e\x20\x6e\x2e\x64\x69\x72\x28\x61\x2c\ -\x22\x70\x61\x72\x65\x6e\x74\x4e\x6f\x64\x65\x22\x29\x7d\x2c\x70\ -\x61\x72\x65\x6e\x74\x73\x55\x6e\x74\x69\x6c\x3a\x66\x75\x6e\x63\ -\x74\x69\x6f\x6e\x28\x61\x2c\x62\x2c\x63\x29\x7b\x72\x65\x74\x75\ -\x72\x6e\x20\x6e\x2e\x64\x69\x72\x28\x61\x2c\x22\x70\x61\x72\x65\ -\x6e\x74\x4e\x6f\x64\x65\x22\x2c\x63\x29\x7d\x2c\x6e\x65\x78\x74\ -\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x72\x65\x74\ -\x75\x72\x6e\x20\x45\x28\x61\x2c\x22\x6e\x65\x78\x74\x53\x69\x62\ -\x6c\x69\x6e\x67\x22\x29\x7d\x2c\x70\x72\x65\x76\x3a\x66\x75\x6e\ -\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\ -\x45\x28\x61\x2c\x22\x70\x72\x65\x76\x69\x6f\x75\x73\x53\x69\x62\ -\x6c\x69\x6e\x67\x22\x29\x7d\x2c\x6e\x65\x78\x74\x41\x6c\x6c\x3a\ -\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x72\x65\x74\x75\ -\x72\x6e\x20\x6e\x2e\x64\x69\x72\x28\x61\x2c\x22\x6e\x65\x78\x74\ -\x53\x69\x62\x6c\x69\x6e\x67\x22\x29\x7d\x2c\x70\x72\x65\x76\x41\ -\x6c\x6c\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x72\ -\x65\x74\x75\x72\x6e\x20\x6e\x2e\x64\x69\x72\x28\x61\x2c\x22\x70\ -\x72\x65\x76\x69\x6f\x75\x73\x53\x69\x62\x6c\x69\x6e\x67\x22\x29\ -\x7d\x2c\x6e\x65\x78\x74\x55\x6e\x74\x69\x6c\x3a\x66\x75\x6e\x63\ -\x74\x69\x6f\x6e\x28\x61\x2c\x62\x2c\x63\x29\x7b\x72\x65\x74\x75\ -\x72\x6e\x20\x6e\x2e\x64\x69\x72\x28\x61\x2c\x22\x6e\x65\x78\x74\ -\x53\x69\x62\x6c\x69\x6e\x67\x22\x2c\x63\x29\x7d\x2c\x70\x72\x65\ -\x76\x55\x6e\x74\x69\x6c\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\ -\x61\x2c\x62\x2c\x63\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x6e\x2e\ -\x64\x69\x72\x28\x61\x2c\x22\x70\x72\x65\x76\x69\x6f\x75\x73\x53\ -\x69\x62\x6c\x69\x6e\x67\x22\x2c\x63\x29\x7d\x2c\x73\x69\x62\x6c\ -\x69\x6e\x67\x73\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\ -\x7b\x72\x65\x74\x75\x72\x6e\x20\x6e\x2e\x73\x69\x62\x6c\x69\x6e\ -\x67\x28\x28\x61\x2e\x70\x61\x72\x65\x6e\x74\x4e\x6f\x64\x65\x7c\ -\x7c\x7b\x7d\x29\x2e\x66\x69\x72\x73\x74\x43\x68\x69\x6c\x64\x2c\ -\x61\x29\x7d\x2c\x63\x68\x69\x6c\x64\x72\x65\x6e\x3a\x66\x75\x6e\ -\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\ -\x6e\x2e\x73\x69\x62\x6c\x69\x6e\x67\x28\x61\x2e\x66\x69\x72\x73\ -\x74\x43\x68\x69\x6c\x64\x29\x7d\x2c\x63\x6f\x6e\x74\x65\x6e\x74\ -\x73\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x72\x65\ -\x74\x75\x72\x6e\x20\x6e\x2e\x6e\x6f\x64\x65\x4e\x61\x6d\x65\x28\ -\x61\x2c\x22\x69\x66\x72\x61\x6d\x65\x22\x29\x3f\x61\x2e\x63\x6f\ -\x6e\x74\x65\x6e\x74\x44\x6f\x63\x75\x6d\x65\x6e\x74\x7c\x7c\x61\ -\x2e\x63\x6f\x6e\x74\x65\x6e\x74\x57\x69\x6e\x64\x6f\x77\x2e\x64\ -\x6f\x63\x75\x6d\x65\x6e\x74\x3a\x6e\x2e\x6d\x65\x72\x67\x65\x28\ -\x5b\x5d\x2c\x61\x2e\x63\x68\x69\x6c\x64\x4e\x6f\x64\x65\x73\x29\ -\x7d\x7d\x2c\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x29\ -\x7b\x6e\x2e\x66\x6e\x5b\x61\x5d\x3d\x66\x75\x6e\x63\x74\x69\x6f\ -\x6e\x28\x63\x2c\x64\x29\x7b\x76\x61\x72\x20\x65\x3d\x6e\x2e\x6d\ -\x61\x70\x28\x74\x68\x69\x73\x2c\x62\x2c\x63\x29\x3b\x72\x65\x74\ -\x75\x72\x6e\x22\x55\x6e\x74\x69\x6c\x22\x21\x3d\x3d\x61\x2e\x73\ -\x6c\x69\x63\x65\x28\x2d\x35\x29\x26\x26\x28\x64\x3d\x63\x29\x2c\ -\x64\x26\x26\x22\x73\x74\x72\x69\x6e\x67\x22\x3d\x3d\x74\x79\x70\ -\x65\x6f\x66\x20\x64\x26\x26\x28\x65\x3d\x6e\x2e\x66\x69\x6c\x74\ -\x65\x72\x28\x64\x2c\x65\x29\x29\x2c\x74\x68\x69\x73\x2e\x6c\x65\ -\x6e\x67\x74\x68\x3e\x31\x26\x26\x28\x44\x5b\x61\x5d\x7c\x7c\x28\ -\x65\x3d\x6e\x2e\x75\x6e\x69\x71\x75\x65\x28\x65\x29\x29\x2c\x43\ -\x2e\x74\x65\x73\x74\x28\x61\x29\x26\x26\x28\x65\x3d\x65\x2e\x72\ -\x65\x76\x65\x72\x73\x65\x28\x29\x29\x29\x2c\x74\x68\x69\x73\x2e\ -\x70\x75\x73\x68\x53\x74\x61\x63\x6b\x28\x65\x29\x7d\x7d\x29\x3b\ -\x76\x61\x72\x20\x46\x3d\x2f\x5c\x53\x2b\x2f\x67\x2c\x47\x3d\x7b\ -\x7d\x3b\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x48\x28\x61\x29\x7b\ -\x76\x61\x72\x20\x62\x3d\x47\x5b\x61\x5d\x3d\x7b\x7d\x3b\x72\x65\ -\x74\x75\x72\x6e\x20\x6e\x2e\x65\x61\x63\x68\x28\x61\x2e\x6d\x61\ -\x74\x63\x68\x28\x46\x29\x7c\x7c\x5b\x5d\x2c\x66\x75\x6e\x63\x74\ -\x69\x6f\x6e\x28\x61\x2c\x63\x29\x7b\x62\x5b\x63\x5d\x3d\x21\x30\ -\x7d\x29\x2c\x62\x7d\x6e\x2e\x43\x61\x6c\x6c\x62\x61\x63\x6b\x73\ -\x3d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x61\x3d\x22\ -\x73\x74\x72\x69\x6e\x67\x22\x3d\x3d\x74\x79\x70\x65\x6f\x66\x20\ -\x61\x3f\x47\x5b\x61\x5d\x7c\x7c\x48\x28\x61\x29\x3a\x6e\x2e\x65\ -\x78\x74\x65\x6e\x64\x28\x7b\x7d\x2c\x61\x29\x3b\x76\x61\x72\x20\ -\x62\x2c\x63\x2c\x64\x2c\x65\x2c\x66\x2c\x67\x2c\x68\x3d\x5b\x5d\ -\x2c\x69\x3d\x21\x61\x2e\x6f\x6e\x63\x65\x26\x26\x5b\x5d\x2c\x6a\ -\x3d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x6c\x29\x7b\x66\x6f\x72\ -\x28\x63\x3d\x61\x2e\x6d\x65\x6d\x6f\x72\x79\x26\x26\x6c\x2c\x64\ -\x3d\x21\x30\x2c\x66\x3d\x67\x7c\x7c\x30\x2c\x67\x3d\x30\x2c\x65\ -\x3d\x68\x2e\x6c\x65\x6e\x67\x74\x68\x2c\x62\x3d\x21\x30\x3b\x68\ -\x26\x26\x65\x3e\x66\x3b\x66\x2b\x2b\x29\x69\x66\x28\x68\x5b\x66\ -\x5d\x2e\x61\x70\x70\x6c\x79\x28\x6c\x5b\x30\x5d\x2c\x6c\x5b\x31\ -\x5d\x29\x3d\x3d\x3d\x21\x31\x26\x26\x61\x2e\x73\x74\x6f\x70\x4f\ -\x6e\x46\x61\x6c\x73\x65\x29\x7b\x63\x3d\x21\x31\x3b\x62\x72\x65\ -\x61\x6b\x7d\x62\x3d\x21\x31\x2c\x68\x26\x26\x28\x69\x3f\x69\x2e\ -\x6c\x65\x6e\x67\x74\x68\x26\x26\x6a\x28\x69\x2e\x73\x68\x69\x66\ -\x74\x28\x29\x29\x3a\x63\x3f\x68\x3d\x5b\x5d\x3a\x6b\x2e\x64\x69\ -\x73\x61\x62\x6c\x65\x28\x29\x29\x7d\x2c\x6b\x3d\x7b\x61\x64\x64\ -\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x69\x66\x28\x68\ -\x29\x7b\x76\x61\x72\x20\x64\x3d\x68\x2e\x6c\x65\x6e\x67\x74\x68\ -\x3b\x21\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x66\x28\x62\x29\x7b\ -\x6e\x2e\x65\x61\x63\x68\x28\x62\x2c\x66\x75\x6e\x63\x74\x69\x6f\ -\x6e\x28\x62\x2c\x63\x29\x7b\x76\x61\x72\x20\x64\x3d\x6e\x2e\x74\ -\x79\x70\x65\x28\x63\x29\x3b\x22\x66\x75\x6e\x63\x74\x69\x6f\x6e\ -\x22\x3d\x3d\x3d\x64\x3f\x61\x2e\x75\x6e\x69\x71\x75\x65\x26\x26\ -\x6b\x2e\x68\x61\x73\x28\x63\x29\x7c\x7c\x68\x2e\x70\x75\x73\x68\ -\x28\x63\x29\x3a\x63\x26\x26\x63\x2e\x6c\x65\x6e\x67\x74\x68\x26\ -\x26\x22\x73\x74\x72\x69\x6e\x67\x22\x21\x3d\x3d\x64\x26\x26\x66\ -\x28\x63\x29\x7d\x29\x7d\x28\x61\x72\x67\x75\x6d\x65\x6e\x74\x73\ -\x29\x2c\x62\x3f\x65\x3d\x68\x2e\x6c\x65\x6e\x67\x74\x68\x3a\x63\ -\x26\x26\x28\x67\x3d\x64\x2c\x6a\x28\x63\x29\x29\x7d\x72\x65\x74\ -\x75\x72\x6e\x20\x74\x68\x69\x73\x7d\x2c\x72\x65\x6d\x6f\x76\x65\ -\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x72\x65\x74\x75\ -\x72\x6e\x20\x68\x26\x26\x6e\x2e\x65\x61\x63\x68\x28\x61\x72\x67\ -\x75\x6d\x65\x6e\x74\x73\x2c\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\ -\x61\x2c\x63\x29\x7b\x76\x61\x72\x20\x64\x3b\x77\x68\x69\x6c\x65\ -\x28\x28\x64\x3d\x6e\x2e\x69\x6e\x41\x72\x72\x61\x79\x28\x63\x2c\ -\x68\x2c\x64\x29\x29\x3e\x2d\x31\x29\x68\x2e\x73\x70\x6c\x69\x63\ -\x65\x28\x64\x2c\x31\x29\x2c\x62\x26\x26\x28\x65\x3e\x3d\x64\x26\ -\x26\x65\x2d\x2d\x2c\x66\x3e\x3d\x64\x26\x26\x66\x2d\x2d\x29\x7d\ -\x29\x2c\x74\x68\x69\x73\x7d\x2c\x68\x61\x73\x3a\x66\x75\x6e\x63\ -\x74\x69\x6f\x6e\x28\x61\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x61\ -\x3f\x6e\x2e\x69\x6e\x41\x72\x72\x61\x79\x28\x61\x2c\x68\x29\x3e\ -\x2d\x31\x3a\x21\x28\x21\x68\x7c\x7c\x21\x68\x2e\x6c\x65\x6e\x67\ -\x74\x68\x29\x7d\x2c\x65\x6d\x70\x74\x79\x3a\x66\x75\x6e\x63\x74\ -\x69\x6f\x6e\x28\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x68\x3d\x5b\ -\x5d\x2c\x65\x3d\x30\x2c\x74\x68\x69\x73\x7d\x2c\x64\x69\x73\x61\ -\x62\x6c\x65\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x72\ -\x65\x74\x75\x72\x6e\x20\x68\x3d\x69\x3d\x63\x3d\x76\x6f\x69\x64\ -\x20\x30\x2c\x74\x68\x69\x73\x7d\x2c\x64\x69\x73\x61\x62\x6c\x65\ -\x64\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x72\x65\x74\ -\x75\x72\x6e\x21\x68\x7d\x2c\x6c\x6f\x63\x6b\x3a\x66\x75\x6e\x63\ -\x74\x69\x6f\x6e\x28\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x69\x3d\ -\x76\x6f\x69\x64\x20\x30\x2c\x63\x7c\x7c\x6b\x2e\x64\x69\x73\x61\ -\x62\x6c\x65\x28\x29\x2c\x74\x68\x69\x73\x7d\x2c\x6c\x6f\x63\x6b\ -\x65\x64\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x72\x65\ -\x74\x75\x72\x6e\x21\x69\x7d\x2c\x66\x69\x72\x65\x57\x69\x74\x68\ -\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x63\x29\x7b\x72\ -\x65\x74\x75\x72\x6e\x21\x68\x7c\x7c\x64\x26\x26\x21\x69\x7c\x7c\ -\x28\x63\x3d\x63\x7c\x7c\x5b\x5d\x2c\x63\x3d\x5b\x61\x2c\x63\x2e\ -\x73\x6c\x69\x63\x65\x3f\x63\x2e\x73\x6c\x69\x63\x65\x28\x29\x3a\ -\x63\x5d\x2c\x62\x3f\x69\x2e\x70\x75\x73\x68\x28\x63\x29\x3a\x6a\ -\x28\x63\x29\x29\x2c\x74\x68\x69\x73\x7d\x2c\x66\x69\x72\x65\x3a\ -\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x72\x65\x74\x75\x72\ -\x6e\x20\x6b\x2e\x66\x69\x72\x65\x57\x69\x74\x68\x28\x74\x68\x69\ -\x73\x2c\x61\x72\x67\x75\x6d\x65\x6e\x74\x73\x29\x2c\x74\x68\x69\ -\x73\x7d\x2c\x66\x69\x72\x65\x64\x3a\x66\x75\x6e\x63\x74\x69\x6f\ -\x6e\x28\x29\x7b\x72\x65\x74\x75\x72\x6e\x21\x21\x64\x7d\x7d\x3b\ -\x72\x65\x74\x75\x72\x6e\x20\x6b\x7d\x2c\x6e\x2e\x65\x78\x74\x65\ -\x6e\x64\x28\x7b\x44\x65\x66\x65\x72\x72\x65\x64\x3a\x66\x75\x6e\ -\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x76\x61\x72\x20\x62\x3d\x5b\ -\x5b\x22\x72\x65\x73\x6f\x6c\x76\x65\x22\x2c\x22\x64\x6f\x6e\x65\ -\x22\x2c\x6e\x2e\x43\x61\x6c\x6c\x62\x61\x63\x6b\x73\x28\x22\x6f\ -\x6e\x63\x65\x20\x6d\x65\x6d\x6f\x72\x79\x22\x29\x2c\x22\x72\x65\ -\x73\x6f\x6c\x76\x65\x64\x22\x5d\x2c\x5b\x22\x72\x65\x6a\x65\x63\ -\x74\x22\x2c\x22\x66\x61\x69\x6c\x22\x2c\x6e\x2e\x43\x61\x6c\x6c\ -\x62\x61\x63\x6b\x73\x28\x22\x6f\x6e\x63\x65\x20\x6d\x65\x6d\x6f\ -\x72\x79\x22\x29\x2c\x22\x72\x65\x6a\x65\x63\x74\x65\x64\x22\x5d\ -\x2c\x5b\x22\x6e\x6f\x74\x69\x66\x79\x22\x2c\x22\x70\x72\x6f\x67\ -\x72\x65\x73\x73\x22\x2c\x6e\x2e\x43\x61\x6c\x6c\x62\x61\x63\x6b\ -\x73\x28\x22\x6d\x65\x6d\x6f\x72\x79\x22\x29\x5d\x5d\x2c\x63\x3d\ -\x22\x70\x65\x6e\x64\x69\x6e\x67\x22\x2c\x64\x3d\x7b\x73\x74\x61\ -\x74\x65\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x72\x65\ -\x74\x75\x72\x6e\x20\x63\x7d\x2c\x61\x6c\x77\x61\x79\x73\x3a\x66\ -\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x72\x65\x74\x75\x72\x6e\ -\x20\x65\x2e\x64\x6f\x6e\x65\x28\x61\x72\x67\x75\x6d\x65\x6e\x74\ -\x73\x29\x2e\x66\x61\x69\x6c\x28\x61\x72\x67\x75\x6d\x65\x6e\x74\ -\x73\x29\x2c\x74\x68\x69\x73\x7d\x2c\x74\x68\x65\x6e\x3a\x66\x75\ -\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x76\x61\x72\x20\x61\x3d\x61\ -\x72\x67\x75\x6d\x65\x6e\x74\x73\x3b\x72\x65\x74\x75\x72\x6e\x20\ -\x6e\x2e\x44\x65\x66\x65\x72\x72\x65\x64\x28\x66\x75\x6e\x63\x74\ -\x69\x6f\x6e\x28\x63\x29\x7b\x6e\x2e\x65\x61\x63\x68\x28\x62\x2c\ -\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x62\x2c\x66\x29\x7b\x76\x61\ -\x72\x20\x67\x3d\x6e\x2e\x69\x73\x46\x75\x6e\x63\x74\x69\x6f\x6e\ -\x28\x61\x5b\x62\x5d\x29\x26\x26\x61\x5b\x62\x5d\x3b\x65\x5b\x66\ -\x5b\x31\x5d\x5d\x28\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\ -\x76\x61\x72\x20\x61\x3d\x67\x26\x26\x67\x2e\x61\x70\x70\x6c\x79\ -\x28\x74\x68\x69\x73\x2c\x61\x72\x67\x75\x6d\x65\x6e\x74\x73\x29\ -\x3b\x61\x26\x26\x6e\x2e\x69\x73\x46\x75\x6e\x63\x74\x69\x6f\x6e\ -\x28\x61\x2e\x70\x72\x6f\x6d\x69\x73\x65\x29\x3f\x61\x2e\x70\x72\ -\x6f\x6d\x69\x73\x65\x28\x29\x2e\x64\x6f\x6e\x65\x28\x63\x2e\x72\ -\x65\x73\x6f\x6c\x76\x65\x29\x2e\x66\x61\x69\x6c\x28\x63\x2e\x72\ -\x65\x6a\x65\x63\x74\x29\x2e\x70\x72\x6f\x67\x72\x65\x73\x73\x28\ -\x63\x2e\x6e\x6f\x74\x69\x66\x79\x29\x3a\x63\x5b\x66\x5b\x30\x5d\ -\x2b\x22\x57\x69\x74\x68\x22\x5d\x28\x74\x68\x69\x73\x3d\x3d\x3d\ -\x64\x3f\x63\x2e\x70\x72\x6f\x6d\x69\x73\x65\x28\x29\x3a\x74\x68\ -\x69\x73\x2c\x67\x3f\x5b\x61\x5d\x3a\x61\x72\x67\x75\x6d\x65\x6e\ -\x74\x73\x29\x7d\x29\x7d\x29\x2c\x61\x3d\x6e\x75\x6c\x6c\x7d\x29\ -\x2e\x70\x72\x6f\x6d\x69\x73\x65\x28\x29\x7d\x2c\x70\x72\x6f\x6d\ -\x69\x73\x65\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\ -\x72\x65\x74\x75\x72\x6e\x20\x6e\x75\x6c\x6c\x21\x3d\x61\x3f\x6e\ -\x2e\x65\x78\x74\x65\x6e\x64\x28\x61\x2c\x64\x29\x3a\x64\x7d\x7d\ -\x2c\x65\x3d\x7b\x7d\x3b\x72\x65\x74\x75\x72\x6e\x20\x64\x2e\x70\ -\x69\x70\x65\x3d\x64\x2e\x74\x68\x65\x6e\x2c\x6e\x2e\x65\x61\x63\ -\x68\x28\x62\x2c\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x66\ -\x29\x7b\x76\x61\x72\x20\x67\x3d\x66\x5b\x32\x5d\x2c\x68\x3d\x66\ -\x5b\x33\x5d\x3b\x64\x5b\x66\x5b\x31\x5d\x5d\x3d\x67\x2e\x61\x64\ -\x64\x2c\x68\x26\x26\x67\x2e\x61\x64\x64\x28\x66\x75\x6e\x63\x74\ -\x69\x6f\x6e\x28\x29\x7b\x63\x3d\x68\x7d\x2c\x62\x5b\x31\x5e\x61\ -\x5d\x5b\x32\x5d\x2e\x64\x69\x73\x61\x62\x6c\x65\x2c\x62\x5b\x32\ -\x5d\x5b\x32\x5d\x2e\x6c\x6f\x63\x6b\x29\x2c\x65\x5b\x66\x5b\x30\ -\x5d\x5d\x3d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x72\x65\ -\x74\x75\x72\x6e\x20\x65\x5b\x66\x5b\x30\x5d\x2b\x22\x57\x69\x74\ -\x68\x22\x5d\x28\x74\x68\x69\x73\x3d\x3d\x3d\x65\x3f\x64\x3a\x74\ -\x68\x69\x73\x2c\x61\x72\x67\x75\x6d\x65\x6e\x74\x73\x29\x2c\x74\ -\x68\x69\x73\x7d\x2c\x65\x5b\x66\x5b\x30\x5d\x2b\x22\x57\x69\x74\ -\x68\x22\x5d\x3d\x67\x2e\x66\x69\x72\x65\x57\x69\x74\x68\x7d\x29\ -\x2c\x64\x2e\x70\x72\x6f\x6d\x69\x73\x65\x28\x65\x29\x2c\x61\x26\ -\x26\x61\x2e\x63\x61\x6c\x6c\x28\x65\x2c\x65\x29\x2c\x65\x7d\x2c\ -\x77\x68\x65\x6e\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\ -\x7b\x76\x61\x72\x20\x62\x3d\x30\x2c\x63\x3d\x64\x2e\x63\x61\x6c\ -\x6c\x28\x61\x72\x67\x75\x6d\x65\x6e\x74\x73\x29\x2c\x65\x3d\x63\ -\x2e\x6c\x65\x6e\x67\x74\x68\x2c\x66\x3d\x31\x21\x3d\x3d\x65\x7c\ -\x7c\x61\x26\x26\x6e\x2e\x69\x73\x46\x75\x6e\x63\x74\x69\x6f\x6e\ -\x28\x61\x2e\x70\x72\x6f\x6d\x69\x73\x65\x29\x3f\x65\x3a\x30\x2c\ -\x67\x3d\x31\x3d\x3d\x3d\x66\x3f\x61\x3a\x6e\x2e\x44\x65\x66\x65\ -\x72\x72\x65\x64\x28\x29\x2c\x68\x3d\x66\x75\x6e\x63\x74\x69\x6f\ -\x6e\x28\x61\x2c\x62\x2c\x63\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\ -\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x65\x29\x7b\x62\x5b\x61\x5d\ -\x3d\x74\x68\x69\x73\x2c\x63\x5b\x61\x5d\x3d\x61\x72\x67\x75\x6d\ -\x65\x6e\x74\x73\x2e\x6c\x65\x6e\x67\x74\x68\x3e\x31\x3f\x64\x2e\ -\x63\x61\x6c\x6c\x28\x61\x72\x67\x75\x6d\x65\x6e\x74\x73\x29\x3a\ -\x65\x2c\x63\x3d\x3d\x3d\x69\x3f\x67\x2e\x6e\x6f\x74\x69\x66\x79\ -\x57\x69\x74\x68\x28\x62\x2c\x63\x29\x3a\x2d\x2d\x66\x7c\x7c\x67\ -\x2e\x72\x65\x73\x6f\x6c\x76\x65\x57\x69\x74\x68\x28\x62\x2c\x63\ -\x29\x7d\x7d\x2c\x69\x2c\x6a\x2c\x6b\x3b\x69\x66\x28\x65\x3e\x31\ -\x29\x66\x6f\x72\x28\x69\x3d\x6e\x65\x77\x20\x41\x72\x72\x61\x79\ -\x28\x65\x29\x2c\x6a\x3d\x6e\x65\x77\x20\x41\x72\x72\x61\x79\x28\ -\x65\x29\x2c\x6b\x3d\x6e\x65\x77\x20\x41\x72\x72\x61\x79\x28\x65\ -\x29\x3b\x65\x3e\x62\x3b\x62\x2b\x2b\x29\x63\x5b\x62\x5d\x26\x26\ -\x6e\x2e\x69\x73\x46\x75\x6e\x63\x74\x69\x6f\x6e\x28\x63\x5b\x62\ -\x5d\x2e\x70\x72\x6f\x6d\x69\x73\x65\x29\x3f\x63\x5b\x62\x5d\x2e\ -\x70\x72\x6f\x6d\x69\x73\x65\x28\x29\x2e\x64\x6f\x6e\x65\x28\x68\ -\x28\x62\x2c\x6b\x2c\x63\x29\x29\x2e\x66\x61\x69\x6c\x28\x67\x2e\ -\x72\x65\x6a\x65\x63\x74\x29\x2e\x70\x72\x6f\x67\x72\x65\x73\x73\ -\x28\x68\x28\x62\x2c\x6a\x2c\x69\x29\x29\x3a\x2d\x2d\x66\x3b\x72\ -\x65\x74\x75\x72\x6e\x20\x66\x7c\x7c\x67\x2e\x72\x65\x73\x6f\x6c\ -\x76\x65\x57\x69\x74\x68\x28\x6b\x2c\x63\x29\x2c\x67\x2e\x70\x72\ -\x6f\x6d\x69\x73\x65\x28\x29\x7d\x7d\x29\x3b\x76\x61\x72\x20\x49\ -\x3b\x6e\x2e\x66\x6e\x2e\x72\x65\x61\x64\x79\x3d\x66\x75\x6e\x63\ -\x74\x69\x6f\x6e\x28\x61\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x6e\ -\x2e\x72\x65\x61\x64\x79\x2e\x70\x72\x6f\x6d\x69\x73\x65\x28\x29\ -\x2e\x64\x6f\x6e\x65\x28\x61\x29\x2c\x74\x68\x69\x73\x7d\x2c\x6e\ -\x2e\x65\x78\x74\x65\x6e\x64\x28\x7b\x69\x73\x52\x65\x61\x64\x79\ -\x3a\x21\x31\x2c\x72\x65\x61\x64\x79\x57\x61\x69\x74\x3a\x31\x2c\ -\x68\x6f\x6c\x64\x52\x65\x61\x64\x79\x3a\x66\x75\x6e\x63\x74\x69\ -\x6f\x6e\x28\x61\x29\x7b\x61\x3f\x6e\x2e\x72\x65\x61\x64\x79\x57\ -\x61\x69\x74\x2b\x2b\x3a\x6e\x2e\x72\x65\x61\x64\x79\x28\x21\x30\ -\x29\x7d\x2c\x72\x65\x61\x64\x79\x3a\x66\x75\x6e\x63\x74\x69\x6f\ -\x6e\x28\x61\x29\x7b\x69\x66\x28\x61\x3d\x3d\x3d\x21\x30\x3f\x21\ -\x2d\x2d\x6e\x2e\x72\x65\x61\x64\x79\x57\x61\x69\x74\x3a\x21\x6e\ -\x2e\x69\x73\x52\x65\x61\x64\x79\x29\x7b\x69\x66\x28\x21\x7a\x2e\ -\x62\x6f\x64\x79\x29\x72\x65\x74\x75\x72\x6e\x20\x73\x65\x74\x54\ -\x69\x6d\x65\x6f\x75\x74\x28\x6e\x2e\x72\x65\x61\x64\x79\x29\x3b\ -\x6e\x2e\x69\x73\x52\x65\x61\x64\x79\x3d\x21\x30\x2c\x61\x21\x3d\ -\x3d\x21\x30\x26\x26\x2d\x2d\x6e\x2e\x72\x65\x61\x64\x79\x57\x61\ -\x69\x74\x3e\x30\x7c\x7c\x28\x49\x2e\x72\x65\x73\x6f\x6c\x76\x65\ -\x57\x69\x74\x68\x28\x7a\x2c\x5b\x6e\x5d\x29\x2c\x6e\x2e\x66\x6e\ -\x2e\x74\x72\x69\x67\x67\x65\x72\x26\x26\x6e\x28\x7a\x29\x2e\x74\ -\x72\x69\x67\x67\x65\x72\x28\x22\x72\x65\x61\x64\x79\x22\x29\x2e\ -\x6f\x66\x66\x28\x22\x72\x65\x61\x64\x79\x22\x29\x29\x7d\x7d\x7d\ -\x29\x3b\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x4a\x28\x29\x7b\x7a\ -\x2e\x61\x64\x64\x45\x76\x65\x6e\x74\x4c\x69\x73\x74\x65\x6e\x65\ -\x72\x3f\x28\x7a\x2e\x72\x65\x6d\x6f\x76\x65\x45\x76\x65\x6e\x74\ -\x4c\x69\x73\x74\x65\x6e\x65\x72\x28\x22\x44\x4f\x4d\x43\x6f\x6e\ -\x74\x65\x6e\x74\x4c\x6f\x61\x64\x65\x64\x22\x2c\x4b\x2c\x21\x31\ -\x29\x2c\x61\x2e\x72\x65\x6d\x6f\x76\x65\x45\x76\x65\x6e\x74\x4c\ -\x69\x73\x74\x65\x6e\x65\x72\x28\x22\x6c\x6f\x61\x64\x22\x2c\x4b\ -\x2c\x21\x31\x29\x29\x3a\x28\x7a\x2e\x64\x65\x74\x61\x63\x68\x45\ -\x76\x65\x6e\x74\x28\x22\x6f\x6e\x72\x65\x61\x64\x79\x73\x74\x61\ -\x74\x65\x63\x68\x61\x6e\x67\x65\x22\x2c\x4b\x29\x2c\x61\x2e\x64\ -\x65\x74\x61\x63\x68\x45\x76\x65\x6e\x74\x28\x22\x6f\x6e\x6c\x6f\ -\x61\x64\x22\x2c\x4b\x29\x29\x7d\x66\x75\x6e\x63\x74\x69\x6f\x6e\ -\x20\x4b\x28\x29\x7b\x28\x7a\x2e\x61\x64\x64\x45\x76\x65\x6e\x74\ -\x4c\x69\x73\x74\x65\x6e\x65\x72\x7c\x7c\x22\x6c\x6f\x61\x64\x22\ -\x3d\x3d\x3d\x65\x76\x65\x6e\x74\x2e\x74\x79\x70\x65\x7c\x7c\x22\ -\x63\x6f\x6d\x70\x6c\x65\x74\x65\x22\x3d\x3d\x3d\x7a\x2e\x72\x65\ -\x61\x64\x79\x53\x74\x61\x74\x65\x29\x26\x26\x28\x4a\x28\x29\x2c\ -\x6e\x2e\x72\x65\x61\x64\x79\x28\x29\x29\x7d\x6e\x2e\x72\x65\x61\ -\x64\x79\x2e\x70\x72\x6f\x6d\x69\x73\x65\x3d\x66\x75\x6e\x63\x74\ -\x69\x6f\x6e\x28\x62\x29\x7b\x69\x66\x28\x21\x49\x29\x69\x66\x28\ -\x49\x3d\x6e\x2e\x44\x65\x66\x65\x72\x72\x65\x64\x28\x29\x2c\x22\ -\x63\x6f\x6d\x70\x6c\x65\x74\x65\x22\x3d\x3d\x3d\x7a\x2e\x72\x65\ -\x61\x64\x79\x53\x74\x61\x74\x65\x29\x73\x65\x74\x54\x69\x6d\x65\ -\x6f\x75\x74\x28\x6e\x2e\x72\x65\x61\x64\x79\x29\x3b\x65\x6c\x73\ -\x65\x20\x69\x66\x28\x7a\x2e\x61\x64\x64\x45\x76\x65\x6e\x74\x4c\ -\x69\x73\x74\x65\x6e\x65\x72\x29\x7a\x2e\x61\x64\x64\x45\x76\x65\ -\x6e\x74\x4c\x69\x73\x74\x65\x6e\x65\x72\x28\x22\x44\x4f\x4d\x43\ -\x6f\x6e\x74\x65\x6e\x74\x4c\x6f\x61\x64\x65\x64\x22\x2c\x4b\x2c\ -\x21\x31\x29\x2c\x61\x2e\x61\x64\x64\x45\x76\x65\x6e\x74\x4c\x69\ -\x73\x74\x65\x6e\x65\x72\x28\x22\x6c\x6f\x61\x64\x22\x2c\x4b\x2c\ -\x21\x31\x29\x3b\x65\x6c\x73\x65\x7b\x7a\x2e\x61\x74\x74\x61\x63\ -\x68\x45\x76\x65\x6e\x74\x28\x22\x6f\x6e\x72\x65\x61\x64\x79\x73\ -\x74\x61\x74\x65\x63\x68\x61\x6e\x67\x65\x22\x2c\x4b\x29\x2c\x61\ -\x2e\x61\x74\x74\x61\x63\x68\x45\x76\x65\x6e\x74\x28\x22\x6f\x6e\ -\x6c\x6f\x61\x64\x22\x2c\x4b\x29\x3b\x76\x61\x72\x20\x63\x3d\x21\ -\x31\x3b\x74\x72\x79\x7b\x63\x3d\x6e\x75\x6c\x6c\x3d\x3d\x61\x2e\ -\x66\x72\x61\x6d\x65\x45\x6c\x65\x6d\x65\x6e\x74\x26\x26\x7a\x2e\ -\x64\x6f\x63\x75\x6d\x65\x6e\x74\x45\x6c\x65\x6d\x65\x6e\x74\x7d\ -\x63\x61\x74\x63\x68\x28\x64\x29\x7b\x7d\x63\x26\x26\x63\x2e\x64\ -\x6f\x53\x63\x72\x6f\x6c\x6c\x26\x26\x21\x66\x75\x6e\x63\x74\x69\ -\x6f\x6e\x20\x65\x28\x29\x7b\x69\x66\x28\x21\x6e\x2e\x69\x73\x52\ -\x65\x61\x64\x79\x29\x7b\x74\x72\x79\x7b\x63\x2e\x64\x6f\x53\x63\ -\x72\x6f\x6c\x6c\x28\x22\x6c\x65\x66\x74\x22\x29\x7d\x63\x61\x74\ -\x63\x68\x28\x61\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x73\x65\x74\ -\x54\x69\x6d\x65\x6f\x75\x74\x28\x65\x2c\x35\x30\x29\x7d\x4a\x28\ -\x29\x2c\x6e\x2e\x72\x65\x61\x64\x79\x28\x29\x7d\x7d\x28\x29\x7d\ -\x72\x65\x74\x75\x72\x6e\x20\x49\x2e\x70\x72\x6f\x6d\x69\x73\x65\ -\x28\x62\x29\x7d\x3b\x76\x61\x72\x20\x4c\x3d\x22\x75\x6e\x64\x65\ -\x66\x69\x6e\x65\x64\x22\x2c\x4d\x3b\x66\x6f\x72\x28\x4d\x20\x69\ -\x6e\x20\x6e\x28\x6c\x29\x29\x62\x72\x65\x61\x6b\x3b\x6c\x2e\x6f\ -\x77\x6e\x4c\x61\x73\x74\x3d\x22\x30\x22\x21\x3d\x3d\x4d\x2c\x6c\ -\x2e\x69\x6e\x6c\x69\x6e\x65\x42\x6c\x6f\x63\x6b\x4e\x65\x65\x64\ -\x73\x4c\x61\x79\x6f\x75\x74\x3d\x21\x31\x2c\x6e\x28\x66\x75\x6e\ -\x63\x74\x69\x6f\x6e\x28\x29\x7b\x76\x61\x72\x20\x61\x2c\x62\x2c\ -\x63\x3d\x7a\x2e\x67\x65\x74\x45\x6c\x65\x6d\x65\x6e\x74\x73\x42\ -\x79\x54\x61\x67\x4e\x61\x6d\x65\x28\x22\x62\x6f\x64\x79\x22\x29\ -\x5b\x30\x5d\x3b\x63\x26\x26\x28\x61\x3d\x7a\x2e\x63\x72\x65\x61\ -\x74\x65\x45\x6c\x65\x6d\x65\x6e\x74\x28\x22\x64\x69\x76\x22\x29\ -\x2c\x61\x2e\x73\x74\x79\x6c\x65\x2e\x63\x73\x73\x54\x65\x78\x74\ -\x3d\x22\x62\x6f\x72\x64\x65\x72\x3a\x30\x3b\x77\x69\x64\x74\x68\ -\x3a\x30\x3b\x68\x65\x69\x67\x68\x74\x3a\x30\x3b\x70\x6f\x73\x69\ -\x74\x69\x6f\x6e\x3a\x61\x62\x73\x6f\x6c\x75\x74\x65\x3b\x74\x6f\ -\x70\x3a\x30\x3b\x6c\x65\x66\x74\x3a\x2d\x39\x39\x39\x39\x70\x78\ -\x3b\x6d\x61\x72\x67\x69\x6e\x2d\x74\x6f\x70\x3a\x31\x70\x78\x22\ -\x2c\x62\x3d\x7a\x2e\x63\x72\x65\x61\x74\x65\x45\x6c\x65\x6d\x65\ -\x6e\x74\x28\x22\x64\x69\x76\x22\x29\x2c\x63\x2e\x61\x70\x70\x65\ -\x6e\x64\x43\x68\x69\x6c\x64\x28\x61\x29\x2e\x61\x70\x70\x65\x6e\ -\x64\x43\x68\x69\x6c\x64\x28\x62\x29\x2c\x74\x79\x70\x65\x6f\x66\ -\x20\x62\x2e\x73\x74\x79\x6c\x65\x2e\x7a\x6f\x6f\x6d\x21\x3d\x3d\ -\x4c\x26\x26\x28\x62\x2e\x73\x74\x79\x6c\x65\x2e\x63\x73\x73\x54\ -\x65\x78\x74\x3d\x22\x62\x6f\x72\x64\x65\x72\x3a\x30\x3b\x6d\x61\ -\x72\x67\x69\x6e\x3a\x30\x3b\x77\x69\x64\x74\x68\x3a\x31\x70\x78\ -\x3b\x70\x61\x64\x64\x69\x6e\x67\x3a\x31\x70\x78\x3b\x64\x69\x73\ -\x70\x6c\x61\x79\x3a\x69\x6e\x6c\x69\x6e\x65\x3b\x7a\x6f\x6f\x6d\ -\x3a\x31\x22\x2c\x28\x6c\x2e\x69\x6e\x6c\x69\x6e\x65\x42\x6c\x6f\ -\x63\x6b\x4e\x65\x65\x64\x73\x4c\x61\x79\x6f\x75\x74\x3d\x33\x3d\ -\x3d\x3d\x62\x2e\x6f\x66\x66\x73\x65\x74\x57\x69\x64\x74\x68\x29\ -\x26\x26\x28\x63\x2e\x73\x74\x79\x6c\x65\x2e\x7a\x6f\x6f\x6d\x3d\ -\x31\x29\x29\x2c\x63\x2e\x72\x65\x6d\x6f\x76\x65\x43\x68\x69\x6c\ -\x64\x28\x61\x29\x2c\x61\x3d\x62\x3d\x6e\x75\x6c\x6c\x29\x7d\x29\ -\x2c\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x76\x61\x72\x20\ -\x61\x3d\x7a\x2e\x63\x72\x65\x61\x74\x65\x45\x6c\x65\x6d\x65\x6e\ -\x74\x28\x22\x64\x69\x76\x22\x29\x3b\x69\x66\x28\x6e\x75\x6c\x6c\ -\x3d\x3d\x6c\x2e\x64\x65\x6c\x65\x74\x65\x45\x78\x70\x61\x6e\x64\ -\x6f\x29\x7b\x6c\x2e\x64\x65\x6c\x65\x74\x65\x45\x78\x70\x61\x6e\ -\x64\x6f\x3d\x21\x30\x3b\x74\x72\x79\x7b\x64\x65\x6c\x65\x74\x65\ -\x20\x61\x2e\x74\x65\x73\x74\x7d\x63\x61\x74\x63\x68\x28\x62\x29\ -\x7b\x6c\x2e\x64\x65\x6c\x65\x74\x65\x45\x78\x70\x61\x6e\x64\x6f\ -\x3d\x21\x31\x7d\x7d\x61\x3d\x6e\x75\x6c\x6c\x7d\x28\x29\x2c\x6e\ -\x2e\x61\x63\x63\x65\x70\x74\x44\x61\x74\x61\x3d\x66\x75\x6e\x63\ -\x74\x69\x6f\x6e\x28\x61\x29\x7b\x76\x61\x72\x20\x62\x3d\x6e\x2e\ -\x6e\x6f\x44\x61\x74\x61\x5b\x28\x61\x2e\x6e\x6f\x64\x65\x4e\x61\ -\x6d\x65\x2b\x22\x20\x22\x29\x2e\x74\x6f\x4c\x6f\x77\x65\x72\x43\ -\x61\x73\x65\x28\x29\x5d\x2c\x63\x3d\x2b\x61\x2e\x6e\x6f\x64\x65\ -\x54\x79\x70\x65\x7c\x7c\x31\x3b\x72\x65\x74\x75\x72\x6e\x20\x31\ -\x21\x3d\x3d\x63\x26\x26\x39\x21\x3d\x3d\x63\x3f\x21\x31\x3a\x21\ -\x62\x7c\x7c\x62\x21\x3d\x3d\x21\x30\x26\x26\x61\x2e\x67\x65\x74\ -\x41\x74\x74\x72\x69\x62\x75\x74\x65\x28\x22\x63\x6c\x61\x73\x73\ -\x69\x64\x22\x29\x3d\x3d\x3d\x62\x7d\x3b\x76\x61\x72\x20\x4e\x3d\ -\x2f\x5e\x28\x3f\x3a\x5c\x7b\x5b\x5c\x77\x5c\x57\x5d\x2a\x5c\x7d\ -\x7c\x5c\x5b\x5b\x5c\x77\x5c\x57\x5d\x2a\x5c\x5d\x29\x24\x2f\x2c\ -\x4f\x3d\x2f\x28\x5b\x41\x2d\x5a\x5d\x29\x2f\x67\x3b\x66\x75\x6e\ -\x63\x74\x69\x6f\x6e\x20\x50\x28\x61\x2c\x62\x2c\x63\x29\x7b\x69\ -\x66\x28\x76\x6f\x69\x64\x20\x30\x3d\x3d\x3d\x63\x26\x26\x31\x3d\ -\x3d\x3d\x61\x2e\x6e\x6f\x64\x65\x54\x79\x70\x65\x29\x7b\x76\x61\ -\x72\x20\x64\x3d\x22\x64\x61\x74\x61\x2d\x22\x2b\x62\x2e\x72\x65\ -\x70\x6c\x61\x63\x65\x28\x4f\x2c\x22\x2d\x24\x31\x22\x29\x2e\x74\ -\x6f\x4c\x6f\x77\x65\x72\x43\x61\x73\x65\x28\x29\x3b\x69\x66\x28\ -\x63\x3d\x61\x2e\x67\x65\x74\x41\x74\x74\x72\x69\x62\x75\x74\x65\ -\x28\x64\x29\x2c\x22\x73\x74\x72\x69\x6e\x67\x22\x3d\x3d\x74\x79\ -\x70\x65\x6f\x66\x20\x63\x29\x7b\x74\x72\x79\x7b\x63\x3d\x22\x74\ -\x72\x75\x65\x22\x3d\x3d\x3d\x63\x3f\x21\x30\x3a\x22\x66\x61\x6c\ -\x73\x65\x22\x3d\x3d\x3d\x63\x3f\x21\x31\x3a\x22\x6e\x75\x6c\x6c\ -\x22\x3d\x3d\x3d\x63\x3f\x6e\x75\x6c\x6c\x3a\x2b\x63\x2b\x22\x22\ -\x3d\x3d\x3d\x63\x3f\x2b\x63\x3a\x4e\x2e\x74\x65\x73\x74\x28\x63\ -\x29\x3f\x6e\x2e\x70\x61\x72\x73\x65\x4a\x53\x4f\x4e\x28\x63\x29\ -\x3a\x63\x7d\x63\x61\x74\x63\x68\x28\x65\x29\x7b\x7d\x6e\x2e\x64\ -\x61\x74\x61\x28\x61\x2c\x62\x2c\x63\x29\x7d\x65\x6c\x73\x65\x20\ -\x63\x3d\x76\x6f\x69\x64\x20\x30\x7d\x72\x65\x74\x75\x72\x6e\x20\ -\x63\x7d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x51\x28\x61\x29\x7b\ -\x76\x61\x72\x20\x62\x3b\x66\x6f\x72\x28\x62\x20\x69\x6e\x20\x61\ -\x29\x69\x66\x28\x28\x22\x64\x61\x74\x61\x22\x21\x3d\x3d\x62\x7c\ -\x7c\x21\x6e\x2e\x69\x73\x45\x6d\x70\x74\x79\x4f\x62\x6a\x65\x63\ -\x74\x28\x61\x5b\x62\x5d\x29\x29\x26\x26\x22\x74\x6f\x4a\x53\x4f\ -\x4e\x22\x21\x3d\x3d\x62\x29\x72\x65\x74\x75\x72\x6e\x21\x31\x3b\ -\x72\x65\x74\x75\x72\x6e\x21\x30\x7d\x66\x75\x6e\x63\x74\x69\x6f\ -\x6e\x20\x52\x28\x61\x2c\x62\x2c\x64\x2c\x65\x29\x7b\x69\x66\x28\ -\x6e\x2e\x61\x63\x63\x65\x70\x74\x44\x61\x74\x61\x28\x61\x29\x29\ -\x7b\x76\x61\x72\x20\x66\x2c\x67\x2c\x68\x3d\x6e\x2e\x65\x78\x70\ -\x61\x6e\x64\x6f\x2c\x69\x3d\x61\x2e\x6e\x6f\x64\x65\x54\x79\x70\ -\x65\x2c\x6a\x3d\x69\x3f\x6e\x2e\x63\x61\x63\x68\x65\x3a\x61\x2c\ -\x6b\x3d\x69\x3f\x61\x5b\x68\x5d\x3a\x61\x5b\x68\x5d\x26\x26\x68\ -\x3b\x69\x66\x28\x6b\x26\x26\x6a\x5b\x6b\x5d\x26\x26\x28\x65\x7c\ -\x7c\x6a\x5b\x6b\x5d\x2e\x64\x61\x74\x61\x29\x7c\x7c\x76\x6f\x69\ -\x64\x20\x30\x21\x3d\x3d\x64\x7c\x7c\x22\x73\x74\x72\x69\x6e\x67\ -\x22\x21\x3d\x74\x79\x70\x65\x6f\x66\x20\x62\x29\x72\x65\x74\x75\ -\x72\x6e\x20\x6b\x7c\x7c\x28\x6b\x3d\x69\x3f\x61\x5b\x68\x5d\x3d\ -\x63\x2e\x70\x6f\x70\x28\x29\x7c\x7c\x6e\x2e\x67\x75\x69\x64\x2b\ -\x2b\x3a\x68\x29\x2c\x6a\x5b\x6b\x5d\x7c\x7c\x28\x6a\x5b\x6b\x5d\ -\x3d\x69\x3f\x7b\x7d\x3a\x7b\x74\x6f\x4a\x53\x4f\x4e\x3a\x6e\x2e\ -\x6e\x6f\x6f\x70\x7d\x29\x2c\x28\x22\x6f\x62\x6a\x65\x63\x74\x22\ -\x3d\x3d\x74\x79\x70\x65\x6f\x66\x20\x62\x7c\x7c\x22\x66\x75\x6e\ -\x63\x74\x69\x6f\x6e\x22\x3d\x3d\x74\x79\x70\x65\x6f\x66\x20\x62\ -\x29\x26\x26\x28\x65\x3f\x6a\x5b\x6b\x5d\x3d\x6e\x2e\x65\x78\x74\ -\x65\x6e\x64\x28\x6a\x5b\x6b\x5d\x2c\x62\x29\x3a\x6a\x5b\x6b\x5d\ -\x2e\x64\x61\x74\x61\x3d\x6e\x2e\x65\x78\x74\x65\x6e\x64\x28\x6a\ -\x5b\x6b\x5d\x2e\x64\x61\x74\x61\x2c\x62\x29\x29\x2c\x67\x3d\x6a\ -\x5b\x6b\x5d\x2c\x65\x7c\x7c\x28\x67\x2e\x64\x61\x74\x61\x7c\x7c\ -\x28\x67\x2e\x64\x61\x74\x61\x3d\x7b\x7d\x29\x2c\x67\x3d\x67\x2e\ -\x64\x61\x74\x61\x29\x2c\x76\x6f\x69\x64\x20\x30\x21\x3d\x3d\x64\ -\x26\x26\x28\x67\x5b\x6e\x2e\x63\x61\x6d\x65\x6c\x43\x61\x73\x65\ -\x28\x62\x29\x5d\x3d\x64\x29\x2c\x22\x73\x74\x72\x69\x6e\x67\x22\ -\x3d\x3d\x74\x79\x70\x65\x6f\x66\x20\x62\x3f\x28\x66\x3d\x67\x5b\ -\x62\x5d\x2c\x6e\x75\x6c\x6c\x3d\x3d\x66\x26\x26\x28\x66\x3d\x67\ -\x5b\x6e\x2e\x63\x61\x6d\x65\x6c\x43\x61\x73\x65\x28\x62\x29\x5d\ -\x29\x29\x3a\x66\x3d\x67\x2c\x66\x0a\x7d\x7d\x66\x75\x6e\x63\x74\ -\x69\x6f\x6e\x20\x53\x28\x61\x2c\x62\x2c\x63\x29\x7b\x69\x66\x28\ -\x6e\x2e\x61\x63\x63\x65\x70\x74\x44\x61\x74\x61\x28\x61\x29\x29\ -\x7b\x76\x61\x72\x20\x64\x2c\x65\x2c\x66\x3d\x61\x2e\x6e\x6f\x64\ -\x65\x54\x79\x70\x65\x2c\x67\x3d\x66\x3f\x6e\x2e\x63\x61\x63\x68\ -\x65\x3a\x61\x2c\x68\x3d\x66\x3f\x61\x5b\x6e\x2e\x65\x78\x70\x61\ -\x6e\x64\x6f\x5d\x3a\x6e\x2e\x65\x78\x70\x61\x6e\x64\x6f\x3b\x69\ -\x66\x28\x67\x5b\x68\x5d\x29\x7b\x69\x66\x28\x62\x26\x26\x28\x64\ -\x3d\x63\x3f\x67\x5b\x68\x5d\x3a\x67\x5b\x68\x5d\x2e\x64\x61\x74\ -\x61\x29\x29\x7b\x6e\x2e\x69\x73\x41\x72\x72\x61\x79\x28\x62\x29\ -\x3f\x62\x3d\x62\x2e\x63\x6f\x6e\x63\x61\x74\x28\x6e\x2e\x6d\x61\ -\x70\x28\x62\x2c\x6e\x2e\x63\x61\x6d\x65\x6c\x43\x61\x73\x65\x29\ -\x29\x3a\x62\x20\x69\x6e\x20\x64\x3f\x62\x3d\x5b\x62\x5d\x3a\x28\ -\x62\x3d\x6e\x2e\x63\x61\x6d\x65\x6c\x43\x61\x73\x65\x28\x62\x29\ -\x2c\x62\x3d\x62\x20\x69\x6e\x20\x64\x3f\x5b\x62\x5d\x3a\x62\x2e\ -\x73\x70\x6c\x69\x74\x28\x22\x20\x22\x29\x29\x2c\x65\x3d\x62\x2e\ -\x6c\x65\x6e\x67\x74\x68\x3b\x77\x68\x69\x6c\x65\x28\x65\x2d\x2d\ -\x29\x64\x65\x6c\x65\x74\x65\x20\x64\x5b\x62\x5b\x65\x5d\x5d\x3b\ -\x69\x66\x28\x63\x3f\x21\x51\x28\x64\x29\x3a\x21\x6e\x2e\x69\x73\ -\x45\x6d\x70\x74\x79\x4f\x62\x6a\x65\x63\x74\x28\x64\x29\x29\x72\ -\x65\x74\x75\x72\x6e\x7d\x28\x63\x7c\x7c\x28\x64\x65\x6c\x65\x74\ -\x65\x20\x67\x5b\x68\x5d\x2e\x64\x61\x74\x61\x2c\x51\x28\x67\x5b\ -\x68\x5d\x29\x29\x29\x26\x26\x28\x66\x3f\x6e\x2e\x63\x6c\x65\x61\ -\x6e\x44\x61\x74\x61\x28\x5b\x61\x5d\x2c\x21\x30\x29\x3a\x6c\x2e\ -\x64\x65\x6c\x65\x74\x65\x45\x78\x70\x61\x6e\x64\x6f\x7c\x7c\x67\ -\x21\x3d\x67\x2e\x77\x69\x6e\x64\x6f\x77\x3f\x64\x65\x6c\x65\x74\ -\x65\x20\x67\x5b\x68\x5d\x3a\x67\x5b\x68\x5d\x3d\x6e\x75\x6c\x6c\ -\x29\x7d\x7d\x7d\x6e\x2e\x65\x78\x74\x65\x6e\x64\x28\x7b\x63\x61\ -\x63\x68\x65\x3a\x7b\x7d\x2c\x6e\x6f\x44\x61\x74\x61\x3a\x7b\x22\ -\x61\x70\x70\x6c\x65\x74\x20\x22\x3a\x21\x30\x2c\x22\x65\x6d\x62\ -\x65\x64\x20\x22\x3a\x21\x30\x2c\x22\x6f\x62\x6a\x65\x63\x74\x20\ -\x22\x3a\x22\x63\x6c\x73\x69\x64\x3a\x44\x32\x37\x43\x44\x42\x36\ -\x45\x2d\x41\x45\x36\x44\x2d\x31\x31\x63\x66\x2d\x39\x36\x42\x38\ -\x2d\x34\x34\x34\x35\x35\x33\x35\x34\x30\x30\x30\x30\x22\x7d\x2c\ -\x68\x61\x73\x44\x61\x74\x61\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\ -\x28\x61\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x61\x3d\x61\x2e\x6e\ -\x6f\x64\x65\x54\x79\x70\x65\x3f\x6e\x2e\x63\x61\x63\x68\x65\x5b\ -\x61\x5b\x6e\x2e\x65\x78\x70\x61\x6e\x64\x6f\x5d\x5d\x3a\x61\x5b\ -\x6e\x2e\x65\x78\x70\x61\x6e\x64\x6f\x5d\x2c\x21\x21\x61\x26\x26\ -\x21\x51\x28\x61\x29\x7d\x2c\x64\x61\x74\x61\x3a\x66\x75\x6e\x63\ -\x74\x69\x6f\x6e\x28\x61\x2c\x62\x2c\x63\x29\x7b\x72\x65\x74\x75\ -\x72\x6e\x20\x52\x28\x61\x2c\x62\x2c\x63\x29\x7d\x2c\x72\x65\x6d\ -\x6f\x76\x65\x44\x61\x74\x61\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\ -\x28\x61\x2c\x62\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x53\x28\x61\ -\x2c\x62\x29\x7d\x2c\x5f\x64\x61\x74\x61\x3a\x66\x75\x6e\x63\x74\ -\x69\x6f\x6e\x28\x61\x2c\x62\x2c\x63\x29\x7b\x72\x65\x74\x75\x72\ -\x6e\x20\x52\x28\x61\x2c\x62\x2c\x63\x2c\x21\x30\x29\x7d\x2c\x5f\ -\x72\x65\x6d\x6f\x76\x65\x44\x61\x74\x61\x3a\x66\x75\x6e\x63\x74\ -\x69\x6f\x6e\x28\x61\x2c\x62\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\ -\x53\x28\x61\x2c\x62\x2c\x21\x30\x29\x7d\x7d\x29\x2c\x6e\x2e\x66\ -\x6e\x2e\x65\x78\x74\x65\x6e\x64\x28\x7b\x64\x61\x74\x61\x3a\x66\ -\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x29\x7b\x76\x61\x72\ -\x20\x63\x2c\x64\x2c\x65\x2c\x66\x3d\x74\x68\x69\x73\x5b\x30\x5d\ -\x2c\x67\x3d\x66\x26\x26\x66\x2e\x61\x74\x74\x72\x69\x62\x75\x74\ -\x65\x73\x3b\x69\x66\x28\x76\x6f\x69\x64\x20\x30\x3d\x3d\x3d\x61\ -\x29\x7b\x69\x66\x28\x74\x68\x69\x73\x2e\x6c\x65\x6e\x67\x74\x68\ -\x26\x26\x28\x65\x3d\x6e\x2e\x64\x61\x74\x61\x28\x66\x29\x2c\x31\ -\x3d\x3d\x3d\x66\x2e\x6e\x6f\x64\x65\x54\x79\x70\x65\x26\x26\x21\ -\x6e\x2e\x5f\x64\x61\x74\x61\x28\x66\x2c\x22\x70\x61\x72\x73\x65\ -\x64\x41\x74\x74\x72\x73\x22\x29\x29\x29\x7b\x63\x3d\x67\x2e\x6c\ -\x65\x6e\x67\x74\x68\x3b\x77\x68\x69\x6c\x65\x28\x63\x2d\x2d\x29\ -\x64\x3d\x67\x5b\x63\x5d\x2e\x6e\x61\x6d\x65\x2c\x30\x3d\x3d\x3d\ -\x64\x2e\x69\x6e\x64\x65\x78\x4f\x66\x28\x22\x64\x61\x74\x61\x2d\ -\x22\x29\x26\x26\x28\x64\x3d\x6e\x2e\x63\x61\x6d\x65\x6c\x43\x61\ -\x73\x65\x28\x64\x2e\x73\x6c\x69\x63\x65\x28\x35\x29\x29\x2c\x50\ -\x28\x66\x2c\x64\x2c\x65\x5b\x64\x5d\x29\x29\x3b\x6e\x2e\x5f\x64\ -\x61\x74\x61\x28\x66\x2c\x22\x70\x61\x72\x73\x65\x64\x41\x74\x74\ -\x72\x73\x22\x2c\x21\x30\x29\x7d\x72\x65\x74\x75\x72\x6e\x20\x65\ -\x7d\x72\x65\x74\x75\x72\x6e\x22\x6f\x62\x6a\x65\x63\x74\x22\x3d\ -\x3d\x74\x79\x70\x65\x6f\x66\x20\x61\x3f\x74\x68\x69\x73\x2e\x65\ -\x61\x63\x68\x28\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x6e\ -\x2e\x64\x61\x74\x61\x28\x74\x68\x69\x73\x2c\x61\x29\x7d\x29\x3a\ -\x61\x72\x67\x75\x6d\x65\x6e\x74\x73\x2e\x6c\x65\x6e\x67\x74\x68\ -\x3e\x31\x3f\x74\x68\x69\x73\x2e\x65\x61\x63\x68\x28\x66\x75\x6e\ -\x63\x74\x69\x6f\x6e\x28\x29\x7b\x6e\x2e\x64\x61\x74\x61\x28\x74\ -\x68\x69\x73\x2c\x61\x2c\x62\x29\x7d\x29\x3a\x66\x3f\x50\x28\x66\ -\x2c\x61\x2c\x6e\x2e\x64\x61\x74\x61\x28\x66\x2c\x61\x29\x29\x3a\ -\x76\x6f\x69\x64\x20\x30\x7d\x2c\x72\x65\x6d\x6f\x76\x65\x44\x61\ -\x74\x61\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x72\ -\x65\x74\x75\x72\x6e\x20\x74\x68\x69\x73\x2e\x65\x61\x63\x68\x28\ -\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x6e\x2e\x72\x65\x6d\ -\x6f\x76\x65\x44\x61\x74\x61\x28\x74\x68\x69\x73\x2c\x61\x29\x7d\ -\x29\x7d\x7d\x29\x2c\x6e\x2e\x65\x78\x74\x65\x6e\x64\x28\x7b\x71\ -\x75\x65\x75\x65\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\ -\x62\x2c\x63\x29\x7b\x76\x61\x72\x20\x64\x3b\x72\x65\x74\x75\x72\ -\x6e\x20\x61\x3f\x28\x62\x3d\x28\x62\x7c\x7c\x22\x66\x78\x22\x29\ -\x2b\x22\x71\x75\x65\x75\x65\x22\x2c\x64\x3d\x6e\x2e\x5f\x64\x61\ -\x74\x61\x28\x61\x2c\x62\x29\x2c\x63\x26\x26\x28\x21\x64\x7c\x7c\ -\x6e\x2e\x69\x73\x41\x72\x72\x61\x79\x28\x63\x29\x3f\x64\x3d\x6e\ -\x2e\x5f\x64\x61\x74\x61\x28\x61\x2c\x62\x2c\x6e\x2e\x6d\x61\x6b\ -\x65\x41\x72\x72\x61\x79\x28\x63\x29\x29\x3a\x64\x2e\x70\x75\x73\ -\x68\x28\x63\x29\x29\x2c\x64\x7c\x7c\x5b\x5d\x29\x3a\x76\x6f\x69\ -\x64\x20\x30\x7d\x2c\x64\x65\x71\x75\x65\x75\x65\x3a\x66\x75\x6e\ -\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x29\x7b\x62\x3d\x62\x7c\x7c\ -\x22\x66\x78\x22\x3b\x76\x61\x72\x20\x63\x3d\x6e\x2e\x71\x75\x65\ -\x75\x65\x28\x61\x2c\x62\x29\x2c\x64\x3d\x63\x2e\x6c\x65\x6e\x67\ -\x74\x68\x2c\x65\x3d\x63\x2e\x73\x68\x69\x66\x74\x28\x29\x2c\x66\ -\x3d\x6e\x2e\x5f\x71\x75\x65\x75\x65\x48\x6f\x6f\x6b\x73\x28\x61\ -\x2c\x62\x29\x2c\x67\x3d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\ -\x7b\x6e\x2e\x64\x65\x71\x75\x65\x75\x65\x28\x61\x2c\x62\x29\x7d\ -\x3b\x22\x69\x6e\x70\x72\x6f\x67\x72\x65\x73\x73\x22\x3d\x3d\x3d\ -\x65\x26\x26\x28\x65\x3d\x63\x2e\x73\x68\x69\x66\x74\x28\x29\x2c\ -\x64\x2d\x2d\x29\x2c\x65\x26\x26\x28\x22\x66\x78\x22\x3d\x3d\x3d\ -\x62\x26\x26\x63\x2e\x75\x6e\x73\x68\x69\x66\x74\x28\x22\x69\x6e\ -\x70\x72\x6f\x67\x72\x65\x73\x73\x22\x29\x2c\x64\x65\x6c\x65\x74\ -\x65\x20\x66\x2e\x73\x74\x6f\x70\x2c\x65\x2e\x63\x61\x6c\x6c\x28\ -\x61\x2c\x67\x2c\x66\x29\x29\x2c\x21\x64\x26\x26\x66\x26\x26\x66\ -\x2e\x65\x6d\x70\x74\x79\x2e\x66\x69\x72\x65\x28\x29\x7d\x2c\x5f\ -\x71\x75\x65\x75\x65\x48\x6f\x6f\x6b\x73\x3a\x66\x75\x6e\x63\x74\ -\x69\x6f\x6e\x28\x61\x2c\x62\x29\x7b\x76\x61\x72\x20\x63\x3d\x62\ -\x2b\x22\x71\x75\x65\x75\x65\x48\x6f\x6f\x6b\x73\x22\x3b\x72\x65\ -\x74\x75\x72\x6e\x20\x6e\x2e\x5f\x64\x61\x74\x61\x28\x61\x2c\x63\ -\x29\x7c\x7c\x6e\x2e\x5f\x64\x61\x74\x61\x28\x61\x2c\x63\x2c\x7b\ -\x65\x6d\x70\x74\x79\x3a\x6e\x2e\x43\x61\x6c\x6c\x62\x61\x63\x6b\ -\x73\x28\x22\x6f\x6e\x63\x65\x20\x6d\x65\x6d\x6f\x72\x79\x22\x29\ -\x2e\x61\x64\x64\x28\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\ -\x6e\x2e\x5f\x72\x65\x6d\x6f\x76\x65\x44\x61\x74\x61\x28\x61\x2c\ -\x62\x2b\x22\x71\x75\x65\x75\x65\x22\x29\x2c\x6e\x2e\x5f\x72\x65\ -\x6d\x6f\x76\x65\x44\x61\x74\x61\x28\x61\x2c\x63\x29\x7d\x29\x7d\ -\x29\x7d\x7d\x29\x2c\x6e\x2e\x66\x6e\x2e\x65\x78\x74\x65\x6e\x64\ -\x28\x7b\x71\x75\x65\x75\x65\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\ -\x28\x61\x2c\x62\x29\x7b\x76\x61\x72\x20\x63\x3d\x32\x3b\x72\x65\ -\x74\x75\x72\x6e\x22\x73\x74\x72\x69\x6e\x67\x22\x21\x3d\x74\x79\ -\x70\x65\x6f\x66\x20\x61\x26\x26\x28\x62\x3d\x61\x2c\x61\x3d\x22\ -\x66\x78\x22\x2c\x63\x2d\x2d\x29\x2c\x61\x72\x67\x75\x6d\x65\x6e\ -\x74\x73\x2e\x6c\x65\x6e\x67\x74\x68\x3c\x63\x3f\x6e\x2e\x71\x75\ -\x65\x75\x65\x28\x74\x68\x69\x73\x5b\x30\x5d\x2c\x61\x29\x3a\x76\ -\x6f\x69\x64\x20\x30\x3d\x3d\x3d\x62\x3f\x74\x68\x69\x73\x3a\x74\ -\x68\x69\x73\x2e\x65\x61\x63\x68\x28\x66\x75\x6e\x63\x74\x69\x6f\ -\x6e\x28\x29\x7b\x76\x61\x72\x20\x63\x3d\x6e\x2e\x71\x75\x65\x75\ -\x65\x28\x74\x68\x69\x73\x2c\x61\x2c\x62\x29\x3b\x6e\x2e\x5f\x71\ -\x75\x65\x75\x65\x48\x6f\x6f\x6b\x73\x28\x74\x68\x69\x73\x2c\x61\ -\x29\x2c\x22\x66\x78\x22\x3d\x3d\x3d\x61\x26\x26\x22\x69\x6e\x70\ -\x72\x6f\x67\x72\x65\x73\x73\x22\x21\x3d\x3d\x63\x5b\x30\x5d\x26\ -\x26\x6e\x2e\x64\x65\x71\x75\x65\x75\x65\x28\x74\x68\x69\x73\x2c\ -\x61\x29\x7d\x29\x7d\x2c\x64\x65\x71\x75\x65\x75\x65\x3a\x66\x75\ -\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x72\x65\x74\x75\x72\x6e\ -\x20\x74\x68\x69\x73\x2e\x65\x61\x63\x68\x28\x66\x75\x6e\x63\x74\ -\x69\x6f\x6e\x28\x29\x7b\x6e\x2e\x64\x65\x71\x75\x65\x75\x65\x28\ -\x74\x68\x69\x73\x2c\x61\x29\x7d\x29\x7d\x2c\x63\x6c\x65\x61\x72\ -\x51\x75\x65\x75\x65\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\ -\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x74\x68\x69\x73\x2e\x71\x75\ -\x65\x75\x65\x28\x61\x7c\x7c\x22\x66\x78\x22\x2c\x5b\x5d\x29\x7d\ -\x2c\x70\x72\x6f\x6d\x69\x73\x65\x3a\x66\x75\x6e\x63\x74\x69\x6f\ -\x6e\x28\x61\x2c\x62\x29\x7b\x76\x61\x72\x20\x63\x2c\x64\x3d\x31\ -\x2c\x65\x3d\x6e\x2e\x44\x65\x66\x65\x72\x72\x65\x64\x28\x29\x2c\ -\x66\x3d\x74\x68\x69\x73\x2c\x67\x3d\x74\x68\x69\x73\x2e\x6c\x65\ -\x6e\x67\x74\x68\x2c\x68\x3d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\ -\x29\x7b\x2d\x2d\x64\x7c\x7c\x65\x2e\x72\x65\x73\x6f\x6c\x76\x65\ -\x57\x69\x74\x68\x28\x66\x2c\x5b\x66\x5d\x29\x7d\x3b\x22\x73\x74\ -\x72\x69\x6e\x67\x22\x21\x3d\x74\x79\x70\x65\x6f\x66\x20\x61\x26\ -\x26\x28\x62\x3d\x61\x2c\x61\x3d\x76\x6f\x69\x64\x20\x30\x29\x2c\ -\x61\x3d\x61\x7c\x7c\x22\x66\x78\x22\x3b\x77\x68\x69\x6c\x65\x28\ -\x67\x2d\x2d\x29\x63\x3d\x6e\x2e\x5f\x64\x61\x74\x61\x28\x66\x5b\ -\x67\x5d\x2c\x61\x2b\x22\x71\x75\x65\x75\x65\x48\x6f\x6f\x6b\x73\ -\x22\x29\x2c\x63\x26\x26\x63\x2e\x65\x6d\x70\x74\x79\x26\x26\x28\ -\x64\x2b\x2b\x2c\x63\x2e\x65\x6d\x70\x74\x79\x2e\x61\x64\x64\x28\ -\x68\x29\x29\x3b\x72\x65\x74\x75\x72\x6e\x20\x68\x28\x29\x2c\x65\ -\x2e\x70\x72\x6f\x6d\x69\x73\x65\x28\x62\x29\x7d\x7d\x29\x3b\x76\ -\x61\x72\x20\x54\x3d\x2f\x5b\x2b\x2d\x5d\x3f\x28\x3f\x3a\x5c\x64\ -\x2a\x5c\x2e\x7c\x29\x5c\x64\x2b\x28\x3f\x3a\x5b\x65\x45\x5d\x5b\ -\x2b\x2d\x5d\x3f\x5c\x64\x2b\x7c\x29\x2f\x2e\x73\x6f\x75\x72\x63\ -\x65\x2c\x55\x3d\x5b\x22\x54\x6f\x70\x22\x2c\x22\x52\x69\x67\x68\ -\x74\x22\x2c\x22\x42\x6f\x74\x74\x6f\x6d\x22\x2c\x22\x4c\x65\x66\ -\x74\x22\x5d\x2c\x56\x3d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\ -\x2c\x62\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x61\x3d\x62\x7c\x7c\ -\x61\x2c\x22\x6e\x6f\x6e\x65\x22\x3d\x3d\x3d\x6e\x2e\x63\x73\x73\ -\x28\x61\x2c\x22\x64\x69\x73\x70\x6c\x61\x79\x22\x29\x7c\x7c\x21\ -\x6e\x2e\x63\x6f\x6e\x74\x61\x69\x6e\x73\x28\x61\x2e\x6f\x77\x6e\ -\x65\x72\x44\x6f\x63\x75\x6d\x65\x6e\x74\x2c\x61\x29\x7d\x2c\x57\ -\x3d\x6e\x2e\x61\x63\x63\x65\x73\x73\x3d\x66\x75\x6e\x63\x74\x69\ -\x6f\x6e\x28\x61\x2c\x62\x2c\x63\x2c\x64\x2c\x65\x2c\x66\x2c\x67\ -\x29\x7b\x76\x61\x72\x20\x68\x3d\x30\x2c\x69\x3d\x61\x2e\x6c\x65\ -\x6e\x67\x74\x68\x2c\x6a\x3d\x6e\x75\x6c\x6c\x3d\x3d\x63\x3b\x69\ -\x66\x28\x22\x6f\x62\x6a\x65\x63\x74\x22\x3d\x3d\x3d\x6e\x2e\x74\ -\x79\x70\x65\x28\x63\x29\x29\x7b\x65\x3d\x21\x30\x3b\x66\x6f\x72\ -\x28\x68\x20\x69\x6e\x20\x63\x29\x6e\x2e\x61\x63\x63\x65\x73\x73\ -\x28\x61\x2c\x62\x2c\x68\x2c\x63\x5b\x68\x5d\x2c\x21\x30\x2c\x66\ -\x2c\x67\x29\x7d\x65\x6c\x73\x65\x20\x69\x66\x28\x76\x6f\x69\x64\ -\x20\x30\x21\x3d\x3d\x64\x26\x26\x28\x65\x3d\x21\x30\x2c\x6e\x2e\ -\x69\x73\x46\x75\x6e\x63\x74\x69\x6f\x6e\x28\x64\x29\x7c\x7c\x28\ -\x67\x3d\x21\x30\x29\x2c\x6a\x26\x26\x28\x67\x3f\x28\x62\x2e\x63\ -\x61\x6c\x6c\x28\x61\x2c\x64\x29\x2c\x62\x3d\x6e\x75\x6c\x6c\x29\ -\x3a\x28\x6a\x3d\x62\x2c\x62\x3d\x66\x75\x6e\x63\x74\x69\x6f\x6e\ -\x28\x61\x2c\x62\x2c\x63\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x6a\ -\x2e\x63\x61\x6c\x6c\x28\x6e\x28\x61\x29\x2c\x63\x29\x7d\x29\x29\ -\x2c\x62\x29\x29\x66\x6f\x72\x28\x3b\x69\x3e\x68\x3b\x68\x2b\x2b\ -\x29\x62\x28\x61\x5b\x68\x5d\x2c\x63\x2c\x67\x3f\x64\x3a\x64\x2e\ -\x63\x61\x6c\x6c\x28\x61\x5b\x68\x5d\x2c\x68\x2c\x62\x28\x61\x5b\ -\x68\x5d\x2c\x63\x29\x29\x29\x3b\x72\x65\x74\x75\x72\x6e\x20\x65\ -\x3f\x61\x3a\x6a\x3f\x62\x2e\x63\x61\x6c\x6c\x28\x61\x29\x3a\x69\ -\x3f\x62\x28\x61\x5b\x30\x5d\x2c\x63\x29\x3a\x66\x7d\x2c\x58\x3d\ -\x2f\x5e\x28\x3f\x3a\x63\x68\x65\x63\x6b\x62\x6f\x78\x7c\x72\x61\ -\x64\x69\x6f\x29\x24\x2f\x69\x3b\x21\x66\x75\x6e\x63\x74\x69\x6f\ -\x6e\x28\x29\x7b\x76\x61\x72\x20\x61\x3d\x7a\x2e\x63\x72\x65\x61\ -\x74\x65\x44\x6f\x63\x75\x6d\x65\x6e\x74\x46\x72\x61\x67\x6d\x65\ -\x6e\x74\x28\x29\x2c\x62\x3d\x7a\x2e\x63\x72\x65\x61\x74\x65\x45\ -\x6c\x65\x6d\x65\x6e\x74\x28\x22\x64\x69\x76\x22\x29\x2c\x63\x3d\ -\x7a\x2e\x63\x72\x65\x61\x74\x65\x45\x6c\x65\x6d\x65\x6e\x74\x28\ -\x22\x69\x6e\x70\x75\x74\x22\x29\x3b\x69\x66\x28\x62\x2e\x73\x65\ -\x74\x41\x74\x74\x72\x69\x62\x75\x74\x65\x28\x22\x63\x6c\x61\x73\ -\x73\x4e\x61\x6d\x65\x22\x2c\x22\x74\x22\x29\x2c\x62\x2e\x69\x6e\ -\x6e\x65\x72\x48\x54\x4d\x4c\x3d\x22\x20\x20\x3c\x6c\x69\x6e\x6b\ -\x2f\x3e\x3c\x74\x61\x62\x6c\x65\x3e\x3c\x2f\x74\x61\x62\x6c\x65\ -\x3e\x3c\x61\x20\x68\x72\x65\x66\x3d\x27\x2f\x61\x27\x3e\x61\x3c\ -\x2f\x61\x3e\x22\x2c\x6c\x2e\x6c\x65\x61\x64\x69\x6e\x67\x57\x68\ -\x69\x74\x65\x73\x70\x61\x63\x65\x3d\x33\x3d\x3d\x3d\x62\x2e\x66\ -\x69\x72\x73\x74\x43\x68\x69\x6c\x64\x2e\x6e\x6f\x64\x65\x54\x79\ -\x70\x65\x2c\x6c\x2e\x74\x62\x6f\x64\x79\x3d\x21\x62\x2e\x67\x65\ -\x74\x45\x6c\x65\x6d\x65\x6e\x74\x73\x42\x79\x54\x61\x67\x4e\x61\ -\x6d\x65\x28\x22\x74\x62\x6f\x64\x79\x22\x29\x2e\x6c\x65\x6e\x67\ -\x74\x68\x2c\x6c\x2e\x68\x74\x6d\x6c\x53\x65\x72\x69\x61\x6c\x69\ -\x7a\x65\x3d\x21\x21\x62\x2e\x67\x65\x74\x45\x6c\x65\x6d\x65\x6e\ -\x74\x73\x42\x79\x54\x61\x67\x4e\x61\x6d\x65\x28\x22\x6c\x69\x6e\ -\x6b\x22\x29\x2e\x6c\x65\x6e\x67\x74\x68\x2c\x6c\x2e\x68\x74\x6d\ -\x6c\x35\x43\x6c\x6f\x6e\x65\x3d\x22\x3c\x3a\x6e\x61\x76\x3e\x3c\ -\x2f\x3a\x6e\x61\x76\x3e\x22\x21\x3d\x3d\x7a\x2e\x63\x72\x65\x61\ -\x74\x65\x45\x6c\x65\x6d\x65\x6e\x74\x28\x22\x6e\x61\x76\x22\x29\ -\x2e\x63\x6c\x6f\x6e\x65\x4e\x6f\x64\x65\x28\x21\x30\x29\x2e\x6f\ -\x75\x74\x65\x72\x48\x54\x4d\x4c\x2c\x63\x2e\x74\x79\x70\x65\x3d\ -\x22\x63\x68\x65\x63\x6b\x62\x6f\x78\x22\x2c\x63\x2e\x63\x68\x65\ -\x63\x6b\x65\x64\x3d\x21\x30\x2c\x61\x2e\x61\x70\x70\x65\x6e\x64\ -\x43\x68\x69\x6c\x64\x28\x63\x29\x2c\x6c\x2e\x61\x70\x70\x65\x6e\ -\x64\x43\x68\x65\x63\x6b\x65\x64\x3d\x63\x2e\x63\x68\x65\x63\x6b\ -\x65\x64\x2c\x62\x2e\x69\x6e\x6e\x65\x72\x48\x54\x4d\x4c\x3d\x22\ -\x3c\x74\x65\x78\x74\x61\x72\x65\x61\x3e\x78\x3c\x2f\x74\x65\x78\ -\x74\x61\x72\x65\x61\x3e\x22\x2c\x6c\x2e\x6e\x6f\x43\x6c\x6f\x6e\ -\x65\x43\x68\x65\x63\x6b\x65\x64\x3d\x21\x21\x62\x2e\x63\x6c\x6f\ -\x6e\x65\x4e\x6f\x64\x65\x28\x21\x30\x29\x2e\x6c\x61\x73\x74\x43\ -\x68\x69\x6c\x64\x2e\x64\x65\x66\x61\x75\x6c\x74\x56\x61\x6c\x75\ -\x65\x2c\x61\x2e\x61\x70\x70\x65\x6e\x64\x43\x68\x69\x6c\x64\x28\ -\x62\x29\x2c\x62\x2e\x69\x6e\x6e\x65\x72\x48\x54\x4d\x4c\x3d\x22\ -\x3c\x69\x6e\x70\x75\x74\x20\x74\x79\x70\x65\x3d\x27\x72\x61\x64\ -\x69\x6f\x27\x20\x63\x68\x65\x63\x6b\x65\x64\x3d\x27\x63\x68\x65\ -\x63\x6b\x65\x64\x27\x20\x6e\x61\x6d\x65\x3d\x27\x74\x27\x2f\x3e\ -\x22\x2c\x6c\x2e\x63\x68\x65\x63\x6b\x43\x6c\x6f\x6e\x65\x3d\x62\ -\x2e\x63\x6c\x6f\x6e\x65\x4e\x6f\x64\x65\x28\x21\x30\x29\x2e\x63\ -\x6c\x6f\x6e\x65\x4e\x6f\x64\x65\x28\x21\x30\x29\x2e\x6c\x61\x73\ -\x74\x43\x68\x69\x6c\x64\x2e\x63\x68\x65\x63\x6b\x65\x64\x2c\x6c\ -\x2e\x6e\x6f\x43\x6c\x6f\x6e\x65\x45\x76\x65\x6e\x74\x3d\x21\x30\ -\x2c\x62\x2e\x61\x74\x74\x61\x63\x68\x45\x76\x65\x6e\x74\x26\x26\ -\x28\x62\x2e\x61\x74\x74\x61\x63\x68\x45\x76\x65\x6e\x74\x28\x22\ -\x6f\x6e\x63\x6c\x69\x63\x6b\x22\x2c\x66\x75\x6e\x63\x74\x69\x6f\ -\x6e\x28\x29\x7b\x6c\x2e\x6e\x6f\x43\x6c\x6f\x6e\x65\x45\x76\x65\ -\x6e\x74\x3d\x21\x31\x7d\x29\x2c\x62\x2e\x63\x6c\x6f\x6e\x65\x4e\ -\x6f\x64\x65\x28\x21\x30\x29\x2e\x63\x6c\x69\x63\x6b\x28\x29\x29\ -\x2c\x6e\x75\x6c\x6c\x3d\x3d\x6c\x2e\x64\x65\x6c\x65\x74\x65\x45\ -\x78\x70\x61\x6e\x64\x6f\x29\x7b\x6c\x2e\x64\x65\x6c\x65\x74\x65\ -\x45\x78\x70\x61\x6e\x64\x6f\x3d\x21\x30\x3b\x74\x72\x79\x7b\x64\ -\x65\x6c\x65\x74\x65\x20\x62\x2e\x74\x65\x73\x74\x7d\x63\x61\x74\ -\x63\x68\x28\x64\x29\x7b\x6c\x2e\x64\x65\x6c\x65\x74\x65\x45\x78\ -\x70\x61\x6e\x64\x6f\x3d\x21\x31\x7d\x7d\x61\x3d\x62\x3d\x63\x3d\ -\x6e\x75\x6c\x6c\x7d\x28\x29\x2c\x66\x75\x6e\x63\x74\x69\x6f\x6e\ -\x28\x29\x7b\x76\x61\x72\x20\x62\x2c\x63\x2c\x64\x3d\x7a\x2e\x63\ -\x72\x65\x61\x74\x65\x45\x6c\x65\x6d\x65\x6e\x74\x28\x22\x64\x69\ -\x76\x22\x29\x3b\x66\x6f\x72\x28\x62\x20\x69\x6e\x7b\x73\x75\x62\ -\x6d\x69\x74\x3a\x21\x30\x2c\x63\x68\x61\x6e\x67\x65\x3a\x21\x30\ -\x2c\x66\x6f\x63\x75\x73\x69\x6e\x3a\x21\x30\x7d\x29\x63\x3d\x22\ -\x6f\x6e\x22\x2b\x62\x2c\x28\x6c\x5b\x62\x2b\x22\x42\x75\x62\x62\ -\x6c\x65\x73\x22\x5d\x3d\x63\x20\x69\x6e\x20\x61\x29\x7c\x7c\x28\ -\x64\x2e\x73\x65\x74\x41\x74\x74\x72\x69\x62\x75\x74\x65\x28\x63\ -\x2c\x22\x74\x22\x29\x2c\x6c\x5b\x62\x2b\x22\x42\x75\x62\x62\x6c\ -\x65\x73\x22\x5d\x3d\x64\x2e\x61\x74\x74\x72\x69\x62\x75\x74\x65\ -\x73\x5b\x63\x5d\x2e\x65\x78\x70\x61\x6e\x64\x6f\x3d\x3d\x3d\x21\ -\x31\x29\x3b\x64\x3d\x6e\x75\x6c\x6c\x7d\x28\x29\x3b\x76\x61\x72\ -\x20\x59\x3d\x2f\x5e\x28\x3f\x3a\x69\x6e\x70\x75\x74\x7c\x73\x65\ -\x6c\x65\x63\x74\x7c\x74\x65\x78\x74\x61\x72\x65\x61\x29\x24\x2f\ -\x69\x2c\x5a\x3d\x2f\x5e\x6b\x65\x79\x2f\x2c\x24\x3d\x2f\x5e\x28\ -\x3f\x3a\x6d\x6f\x75\x73\x65\x7c\x63\x6f\x6e\x74\x65\x78\x74\x6d\ -\x65\x6e\x75\x29\x7c\x63\x6c\x69\x63\x6b\x2f\x2c\x5f\x3d\x2f\x5e\ -\x28\x3f\x3a\x66\x6f\x63\x75\x73\x69\x6e\x66\x6f\x63\x75\x73\x7c\ -\x66\x6f\x63\x75\x73\x6f\x75\x74\x62\x6c\x75\x72\x29\x24\x2f\x2c\ -\x61\x62\x3d\x2f\x5e\x28\x5b\x5e\x2e\x5d\x2a\x29\x28\x3f\x3a\x5c\ -\x2e\x28\x2e\x2b\x29\x7c\x29\x24\x2f\x3b\x66\x75\x6e\x63\x74\x69\ -\x6f\x6e\x20\x62\x62\x28\x29\x7b\x72\x65\x74\x75\x72\x6e\x21\x30\ -\x7d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x63\x62\x28\x29\x7b\x72\ -\x65\x74\x75\x72\x6e\x21\x31\x7d\x66\x75\x6e\x63\x74\x69\x6f\x6e\ -\x20\x64\x62\x28\x29\x7b\x74\x72\x79\x7b\x72\x65\x74\x75\x72\x6e\ -\x20\x7a\x2e\x61\x63\x74\x69\x76\x65\x45\x6c\x65\x6d\x65\x6e\x74\ -\x7d\x63\x61\x74\x63\x68\x28\x61\x29\x7b\x7d\x7d\x6e\x2e\x65\x76\ -\x65\x6e\x74\x3d\x7b\x67\x6c\x6f\x62\x61\x6c\x3a\x7b\x7d\x2c\x61\ -\x64\x64\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x2c\ -\x63\x2c\x64\x2c\x65\x29\x7b\x76\x61\x72\x20\x66\x2c\x67\x2c\x68\ -\x2c\x69\x2c\x6a\x2c\x6b\x2c\x6c\x2c\x6d\x2c\x6f\x2c\x70\x2c\x71\ -\x2c\x72\x3d\x6e\x2e\x5f\x64\x61\x74\x61\x28\x61\x29\x3b\x69\x66\ -\x28\x72\x29\x7b\x63\x2e\x68\x61\x6e\x64\x6c\x65\x72\x26\x26\x28\ -\x69\x3d\x63\x2c\x63\x3d\x69\x2e\x68\x61\x6e\x64\x6c\x65\x72\x2c\ -\x65\x3d\x69\x2e\x73\x65\x6c\x65\x63\x74\x6f\x72\x29\x2c\x63\x2e\ -\x67\x75\x69\x64\x7c\x7c\x28\x63\x2e\x67\x75\x69\x64\x3d\x6e\x2e\ -\x67\x75\x69\x64\x2b\x2b\x29\x2c\x28\x67\x3d\x72\x2e\x65\x76\x65\ -\x6e\x74\x73\x29\x7c\x7c\x28\x67\x3d\x72\x2e\x65\x76\x65\x6e\x74\ -\x73\x3d\x7b\x7d\x29\x2c\x28\x6b\x3d\x72\x2e\x68\x61\x6e\x64\x6c\ -\x65\x29\x7c\x7c\x28\x6b\x3d\x72\x2e\x68\x61\x6e\x64\x6c\x65\x3d\ -\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x72\x65\x74\x75\ -\x72\x6e\x20\x74\x79\x70\x65\x6f\x66\x20\x6e\x3d\x3d\x3d\x4c\x7c\ -\x7c\x61\x26\x26\x6e\x2e\x65\x76\x65\x6e\x74\x2e\x74\x72\x69\x67\ -\x67\x65\x72\x65\x64\x3d\x3d\x3d\x61\x2e\x74\x79\x70\x65\x3f\x76\ -\x6f\x69\x64\x20\x30\x3a\x6e\x2e\x65\x76\x65\x6e\x74\x2e\x64\x69\ -\x73\x70\x61\x74\x63\x68\x2e\x61\x70\x70\x6c\x79\x28\x6b\x2e\x65\ -\x6c\x65\x6d\x2c\x61\x72\x67\x75\x6d\x65\x6e\x74\x73\x29\x7d\x2c\ -\x6b\x2e\x65\x6c\x65\x6d\x3d\x61\x29\x2c\x62\x3d\x28\x62\x7c\x7c\ -\x22\x22\x29\x2e\x6d\x61\x74\x63\x68\x28\x46\x29\x7c\x7c\x5b\x22\ -\x22\x5d\x2c\x68\x3d\x62\x2e\x6c\x65\x6e\x67\x74\x68\x3b\x77\x68\ -\x69\x6c\x65\x28\x68\x2d\x2d\x29\x66\x3d\x61\x62\x2e\x65\x78\x65\ -\x63\x28\x62\x5b\x68\x5d\x29\x7c\x7c\x5b\x5d\x2c\x6f\x3d\x71\x3d\ -\x66\x5b\x31\x5d\x2c\x70\x3d\x28\x66\x5b\x32\x5d\x7c\x7c\x22\x22\ -\x29\x2e\x73\x70\x6c\x69\x74\x28\x22\x2e\x22\x29\x2e\x73\x6f\x72\ -\x74\x28\x29\x2c\x6f\x26\x26\x28\x6a\x3d\x6e\x2e\x65\x76\x65\x6e\ -\x74\x2e\x73\x70\x65\x63\x69\x61\x6c\x5b\x6f\x5d\x7c\x7c\x7b\x7d\ -\x2c\x6f\x3d\x28\x65\x3f\x6a\x2e\x64\x65\x6c\x65\x67\x61\x74\x65\ -\x54\x79\x70\x65\x3a\x6a\x2e\x62\x69\x6e\x64\x54\x79\x70\x65\x29\ -\x7c\x7c\x6f\x2c\x6a\x3d\x6e\x2e\x65\x76\x65\x6e\x74\x2e\x73\x70\ -\x65\x63\x69\x61\x6c\x5b\x6f\x5d\x7c\x7c\x7b\x7d\x2c\x6c\x3d\x6e\ -\x2e\x65\x78\x74\x65\x6e\x64\x28\x7b\x74\x79\x70\x65\x3a\x6f\x2c\ -\x6f\x72\x69\x67\x54\x79\x70\x65\x3a\x71\x2c\x64\x61\x74\x61\x3a\ -\x64\x2c\x68\x61\x6e\x64\x6c\x65\x72\x3a\x63\x2c\x67\x75\x69\x64\ -\x3a\x63\x2e\x67\x75\x69\x64\x2c\x73\x65\x6c\x65\x63\x74\x6f\x72\ -\x3a\x65\x2c\x6e\x65\x65\x64\x73\x43\x6f\x6e\x74\x65\x78\x74\x3a\ -\x65\x26\x26\x6e\x2e\x65\x78\x70\x72\x2e\x6d\x61\x74\x63\x68\x2e\ -\x6e\x65\x65\x64\x73\x43\x6f\x6e\x74\x65\x78\x74\x2e\x74\x65\x73\ -\x74\x28\x65\x29\x2c\x6e\x61\x6d\x65\x73\x70\x61\x63\x65\x3a\x70\ -\x2e\x6a\x6f\x69\x6e\x28\x22\x2e\x22\x29\x7d\x2c\x69\x29\x2c\x28\ -\x6d\x3d\x67\x5b\x6f\x5d\x29\x7c\x7c\x28\x6d\x3d\x67\x5b\x6f\x5d\ -\x3d\x5b\x5d\x2c\x6d\x2e\x64\x65\x6c\x65\x67\x61\x74\x65\x43\x6f\ -\x75\x6e\x74\x3d\x30\x2c\x6a\x2e\x73\x65\x74\x75\x70\x26\x26\x6a\ -\x2e\x73\x65\x74\x75\x70\x2e\x63\x61\x6c\x6c\x28\x61\x2c\x64\x2c\ -\x70\x2c\x6b\x29\x21\x3d\x3d\x21\x31\x7c\x7c\x28\x61\x2e\x61\x64\ -\x64\x45\x76\x65\x6e\x74\x4c\x69\x73\x74\x65\x6e\x65\x72\x3f\x61\ -\x2e\x61\x64\x64\x45\x76\x65\x6e\x74\x4c\x69\x73\x74\x65\x6e\x65\ -\x72\x28\x6f\x2c\x6b\x2c\x21\x31\x29\x3a\x61\x2e\x61\x74\x74\x61\ -\x63\x68\x45\x76\x65\x6e\x74\x26\x26\x61\x2e\x61\x74\x74\x61\x63\ -\x68\x45\x76\x65\x6e\x74\x28\x22\x6f\x6e\x22\x2b\x6f\x2c\x6b\x29\ -\x29\x29\x2c\x6a\x2e\x61\x64\x64\x26\x26\x28\x6a\x2e\x61\x64\x64\ -\x2e\x63\x61\x6c\x6c\x28\x61\x2c\x6c\x29\x2c\x6c\x2e\x68\x61\x6e\ -\x64\x6c\x65\x72\x2e\x67\x75\x69\x64\x7c\x7c\x28\x6c\x2e\x68\x61\ -\x6e\x64\x6c\x65\x72\x2e\x67\x75\x69\x64\x3d\x63\x2e\x67\x75\x69\ -\x64\x29\x29\x2c\x65\x3f\x6d\x2e\x73\x70\x6c\x69\x63\x65\x28\x6d\ -\x2e\x64\x65\x6c\x65\x67\x61\x74\x65\x43\x6f\x75\x6e\x74\x2b\x2b\ -\x2c\x30\x2c\x6c\x29\x3a\x6d\x2e\x70\x75\x73\x68\x28\x6c\x29\x2c\ -\x6e\x2e\x65\x76\x65\x6e\x74\x2e\x67\x6c\x6f\x62\x61\x6c\x5b\x6f\ -\x5d\x3d\x21\x30\x29\x3b\x61\x3d\x6e\x75\x6c\x6c\x7d\x7d\x2c\x72\ -\x65\x6d\x6f\x76\x65\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\ -\x2c\x62\x2c\x63\x2c\x64\x2c\x65\x29\x7b\x76\x61\x72\x20\x66\x2c\ -\x67\x2c\x68\x2c\x69\x2c\x6a\x2c\x6b\x2c\x6c\x2c\x6d\x2c\x6f\x2c\ -\x70\x2c\x71\x2c\x72\x3d\x6e\x2e\x68\x61\x73\x44\x61\x74\x61\x28\ -\x61\x29\x26\x26\x6e\x2e\x5f\x64\x61\x74\x61\x28\x61\x29\x3b\x69\ -\x66\x28\x72\x26\x26\x28\x6b\x3d\x72\x2e\x65\x76\x65\x6e\x74\x73\ -\x29\x29\x7b\x62\x3d\x28\x62\x7c\x7c\x22\x22\x29\x2e\x6d\x61\x74\ -\x63\x68\x28\x46\x29\x7c\x7c\x5b\x22\x22\x5d\x2c\x6a\x3d\x62\x2e\ -\x6c\x65\x6e\x67\x74\x68\x3b\x77\x68\x69\x6c\x65\x28\x6a\x2d\x2d\ -\x29\x69\x66\x28\x68\x3d\x61\x62\x2e\x65\x78\x65\x63\x28\x62\x5b\ -\x6a\x5d\x29\x7c\x7c\x5b\x5d\x2c\x6f\x3d\x71\x3d\x68\x5b\x31\x5d\ -\x2c\x70\x3d\x28\x68\x5b\x32\x5d\x7c\x7c\x22\x22\x29\x2e\x73\x70\ -\x6c\x69\x74\x28\x22\x2e\x22\x29\x2e\x73\x6f\x72\x74\x28\x29\x2c\ -\x6f\x29\x7b\x6c\x3d\x6e\x2e\x65\x76\x65\x6e\x74\x2e\x73\x70\x65\ -\x63\x69\x61\x6c\x5b\x6f\x5d\x7c\x7c\x7b\x7d\x2c\x6f\x3d\x28\x64\ -\x3f\x6c\x2e\x64\x65\x6c\x65\x67\x61\x74\x65\x54\x79\x70\x65\x3a\ -\x6c\x2e\x62\x69\x6e\x64\x54\x79\x70\x65\x29\x7c\x7c\x6f\x2c\x6d\ -\x3d\x6b\x5b\x6f\x5d\x7c\x7c\x5b\x5d\x2c\x68\x3d\x68\x5b\x32\x5d\ -\x26\x26\x6e\x65\x77\x20\x52\x65\x67\x45\x78\x70\x28\x22\x28\x5e\ -\x7c\x5c\x5c\x2e\x29\x22\x2b\x70\x2e\x6a\x6f\x69\x6e\x28\x22\x5c\ -\x5c\x2e\x28\x3f\x3a\x2e\x2a\x5c\x5c\x2e\x7c\x29\x22\x29\x2b\x22\ -\x28\x5c\x5c\x2e\x7c\x24\x29\x22\x29\x2c\x69\x3d\x66\x3d\x6d\x2e\ -\x6c\x65\x6e\x67\x74\x68\x3b\x77\x68\x69\x6c\x65\x28\x66\x2d\x2d\ -\x29\x67\x3d\x6d\x5b\x66\x5d\x2c\x21\x65\x26\x26\x71\x21\x3d\x3d\ -\x67\x2e\x6f\x72\x69\x67\x54\x79\x70\x65\x7c\x7c\x63\x26\x26\x63\ -\x2e\x67\x75\x69\x64\x21\x3d\x3d\x67\x2e\x67\x75\x69\x64\x7c\x7c\ -\x68\x26\x26\x21\x68\x2e\x74\x65\x73\x74\x28\x67\x2e\x6e\x61\x6d\ -\x65\x73\x70\x61\x63\x65\x29\x7c\x7c\x64\x26\x26\x64\x21\x3d\x3d\ -\x67\x2e\x73\x65\x6c\x65\x63\x74\x6f\x72\x26\x26\x28\x22\x2a\x2a\ -\x22\x21\x3d\x3d\x64\x7c\x7c\x21\x67\x2e\x73\x65\x6c\x65\x63\x74\ -\x6f\x72\x29\x7c\x7c\x28\x6d\x2e\x73\x70\x6c\x69\x63\x65\x28\x66\ -\x2c\x31\x29\x2c\x67\x2e\x73\x65\x6c\x65\x63\x74\x6f\x72\x26\x26\ -\x6d\x2e\x64\x65\x6c\x65\x67\x61\x74\x65\x43\x6f\x75\x6e\x74\x2d\ -\x2d\x2c\x6c\x2e\x72\x65\x6d\x6f\x76\x65\x26\x26\x6c\x2e\x72\x65\ -\x6d\x6f\x76\x65\x2e\x63\x61\x6c\x6c\x28\x61\x2c\x67\x29\x29\x3b\ -\x69\x26\x26\x21\x6d\x2e\x6c\x65\x6e\x67\x74\x68\x26\x26\x28\x6c\ -\x2e\x74\x65\x61\x72\x64\x6f\x77\x6e\x26\x26\x6c\x2e\x74\x65\x61\ -\x72\x64\x6f\x77\x6e\x2e\x63\x61\x6c\x6c\x28\x61\x2c\x70\x2c\x72\ -\x2e\x68\x61\x6e\x64\x6c\x65\x29\x21\x3d\x3d\x21\x31\x7c\x7c\x6e\ -\x2e\x72\x65\x6d\x6f\x76\x65\x45\x76\x65\x6e\x74\x28\x61\x2c\x6f\ -\x2c\x72\x2e\x68\x61\x6e\x64\x6c\x65\x29\x2c\x64\x65\x6c\x65\x74\ -\x65\x20\x6b\x5b\x6f\x5d\x29\x7d\x65\x6c\x73\x65\x20\x66\x6f\x72\ -\x28\x6f\x20\x69\x6e\x20\x6b\x29\x6e\x2e\x65\x76\x65\x6e\x74\x2e\ -\x72\x65\x6d\x6f\x76\x65\x28\x61\x2c\x6f\x2b\x62\x5b\x6a\x5d\x2c\ -\x63\x2c\x64\x2c\x21\x30\x29\x3b\x6e\x2e\x69\x73\x45\x6d\x70\x74\ -\x79\x4f\x62\x6a\x65\x63\x74\x28\x6b\x29\x26\x26\x28\x64\x65\x6c\ -\x65\x74\x65\x20\x72\x2e\x68\x61\x6e\x64\x6c\x65\x2c\x6e\x2e\x5f\ -\x72\x65\x6d\x6f\x76\x65\x44\x61\x74\x61\x28\x61\x2c\x22\x65\x76\ -\x65\x6e\x74\x73\x22\x29\x29\x7d\x7d\x2c\x74\x72\x69\x67\x67\x65\ -\x72\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x62\x2c\x63\x2c\x64\ -\x2c\x65\x29\x7b\x76\x61\x72\x20\x66\x2c\x67\x2c\x68\x2c\x69\x2c\ -\x6b\x2c\x6c\x2c\x6d\x2c\x6f\x3d\x5b\x64\x7c\x7c\x7a\x5d\x2c\x70\ -\x3d\x6a\x2e\x63\x61\x6c\x6c\x28\x62\x2c\x22\x74\x79\x70\x65\x22\ -\x29\x3f\x62\x2e\x74\x79\x70\x65\x3a\x62\x2c\x71\x3d\x6a\x2e\x63\ -\x61\x6c\x6c\x28\x62\x2c\x22\x6e\x61\x6d\x65\x73\x70\x61\x63\x65\ -\x22\x29\x3f\x62\x2e\x6e\x61\x6d\x65\x73\x70\x61\x63\x65\x2e\x73\ -\x70\x6c\x69\x74\x28\x22\x2e\x22\x29\x3a\x5b\x5d\x3b\x69\x66\x28\ -\x68\x3d\x6c\x3d\x64\x3d\x64\x7c\x7c\x7a\x2c\x33\x21\x3d\x3d\x64\ -\x2e\x6e\x6f\x64\x65\x54\x79\x70\x65\x26\x26\x38\x21\x3d\x3d\x64\ -\x2e\x6e\x6f\x64\x65\x54\x79\x70\x65\x26\x26\x21\x5f\x2e\x74\x65\ -\x73\x74\x28\x70\x2b\x6e\x2e\x65\x76\x65\x6e\x74\x2e\x74\x72\x69\ -\x67\x67\x65\x72\x65\x64\x29\x26\x26\x28\x70\x2e\x69\x6e\x64\x65\ -\x78\x4f\x66\x28\x22\x2e\x22\x29\x3e\x3d\x30\x26\x26\x28\x71\x3d\ -\x70\x2e\x73\x70\x6c\x69\x74\x28\x22\x2e\x22\x29\x2c\x70\x3d\x71\ -\x2e\x73\x68\x69\x66\x74\x28\x29\x2c\x71\x2e\x73\x6f\x72\x74\x28\ -\x29\x29\x2c\x67\x3d\x70\x2e\x69\x6e\x64\x65\x78\x4f\x66\x28\x22\ -\x3a\x22\x29\x3c\x30\x26\x26\x22\x6f\x6e\x22\x2b\x70\x2c\x62\x3d\ -\x62\x5b\x6e\x2e\x65\x78\x70\x61\x6e\x64\x6f\x5d\x3f\x62\x3a\x6e\ -\x65\x77\x20\x6e\x2e\x45\x76\x65\x6e\x74\x28\x70\x2c\x22\x6f\x62\ -\x6a\x65\x63\x74\x22\x3d\x3d\x74\x79\x70\x65\x6f\x66\x20\x62\x26\ -\x26\x62\x29\x2c\x62\x2e\x69\x73\x54\x72\x69\x67\x67\x65\x72\x3d\ -\x65\x3f\x32\x3a\x33\x2c\x62\x2e\x6e\x61\x6d\x65\x73\x70\x61\x63\ -\x65\x3d\x71\x2e\x6a\x6f\x69\x6e\x28\x22\x2e\x22\x29\x2c\x62\x2e\ -\x6e\x61\x6d\x65\x73\x70\x61\x63\x65\x5f\x72\x65\x3d\x62\x2e\x6e\ -\x61\x6d\x65\x73\x70\x61\x63\x65\x3f\x6e\x65\x77\x20\x52\x65\x67\ -\x45\x78\x70\x28\x22\x28\x5e\x7c\x5c\x5c\x2e\x29\x22\x2b\x71\x2e\ -\x6a\x6f\x69\x6e\x28\x22\x5c\x5c\x2e\x28\x3f\x3a\x2e\x2a\x5c\x5c\ -\x2e\x7c\x29\x22\x29\x2b\x22\x28\x5c\x5c\x2e\x7c\x24\x29\x22\x29\ -\x3a\x6e\x75\x6c\x6c\x2c\x62\x2e\x72\x65\x73\x75\x6c\x74\x3d\x76\ -\x6f\x69\x64\x20\x30\x2c\x62\x2e\x74\x61\x72\x67\x65\x74\x7c\x7c\ -\x28\x62\x2e\x74\x61\x72\x67\x65\x74\x3d\x64\x29\x2c\x63\x3d\x6e\ -\x75\x6c\x6c\x3d\x3d\x63\x3f\x5b\x62\x5d\x3a\x6e\x2e\x6d\x61\x6b\ -\x65\x41\x72\x72\x61\x79\x28\x63\x2c\x5b\x62\x5d\x29\x2c\x6b\x3d\ -\x6e\x2e\x65\x76\x65\x6e\x74\x2e\x73\x70\x65\x63\x69\x61\x6c\x5b\ -\x70\x5d\x7c\x7c\x7b\x7d\x2c\x65\x7c\x7c\x21\x6b\x2e\x74\x72\x69\ -\x67\x67\x65\x72\x7c\x7c\x6b\x2e\x74\x72\x69\x67\x67\x65\x72\x2e\ -\x61\x70\x70\x6c\x79\x28\x64\x2c\x63\x29\x21\x3d\x3d\x21\x31\x29\ -\x29\x7b\x69\x66\x28\x21\x65\x26\x26\x21\x6b\x2e\x6e\x6f\x42\x75\ -\x62\x62\x6c\x65\x26\x26\x21\x6e\x2e\x69\x73\x57\x69\x6e\x64\x6f\ -\x77\x28\x64\x29\x29\x7b\x66\x6f\x72\x28\x69\x3d\x6b\x2e\x64\x65\ -\x6c\x65\x67\x61\x74\x65\x54\x79\x70\x65\x7c\x7c\x70\x2c\x5f\x2e\ -\x74\x65\x73\x74\x28\x69\x2b\x70\x29\x7c\x7c\x28\x68\x3d\x68\x2e\ -\x70\x61\x72\x65\x6e\x74\x4e\x6f\x64\x65\x29\x3b\x68\x3b\x68\x3d\ -\x68\x2e\x70\x61\x72\x65\x6e\x74\x4e\x6f\x64\x65\x29\x6f\x2e\x70\ -\x75\x73\x68\x28\x68\x29\x2c\x6c\x3d\x68\x3b\x6c\x3d\x3d\x3d\x28\ -\x64\x2e\x6f\x77\x6e\x65\x72\x44\x6f\x63\x75\x6d\x65\x6e\x74\x7c\ -\x7c\x7a\x29\x26\x26\x6f\x2e\x70\x75\x73\x68\x28\x6c\x2e\x64\x65\ -\x66\x61\x75\x6c\x74\x56\x69\x65\x77\x7c\x7c\x6c\x2e\x70\x61\x72\ -\x65\x6e\x74\x57\x69\x6e\x64\x6f\x77\x7c\x7c\x61\x29\x7d\x6d\x3d\ -\x30\x3b\x77\x68\x69\x6c\x65\x28\x28\x68\x3d\x6f\x5b\x6d\x2b\x2b\ -\x5d\x29\x26\x26\x21\x62\x2e\x69\x73\x50\x72\x6f\x70\x61\x67\x61\ -\x74\x69\x6f\x6e\x53\x74\x6f\x70\x70\x65\x64\x28\x29\x29\x62\x2e\ -\x74\x79\x70\x65\x3d\x6d\x3e\x31\x3f\x69\x3a\x6b\x2e\x62\x69\x6e\ -\x64\x54\x79\x70\x65\x7c\x7c\x70\x2c\x66\x3d\x28\x6e\x2e\x5f\x64\ -\x61\x74\x61\x28\x68\x2c\x22\x65\x76\x65\x6e\x74\x73\x22\x29\x7c\ -\x7c\x7b\x7d\x29\x5b\x62\x2e\x74\x79\x70\x65\x5d\x26\x26\x6e\x2e\ -\x5f\x64\x61\x74\x61\x28\x68\x2c\x22\x68\x61\x6e\x64\x6c\x65\x22\ -\x29\x2c\x66\x26\x26\x66\x2e\x61\x70\x70\x6c\x79\x28\x68\x2c\x63\ -\x29\x2c\x66\x3d\x67\x26\x26\x68\x5b\x67\x5d\x2c\x66\x26\x26\x66\ -\x2e\x61\x70\x70\x6c\x79\x26\x26\x6e\x2e\x61\x63\x63\x65\x70\x74\ -\x44\x61\x74\x61\x28\x68\x29\x26\x26\x28\x62\x2e\x72\x65\x73\x75\ -\x6c\x74\x3d\x66\x2e\x61\x70\x70\x6c\x79\x28\x68\x2c\x63\x29\x2c\ -\x62\x2e\x72\x65\x73\x75\x6c\x74\x3d\x3d\x3d\x21\x31\x26\x26\x62\ -\x2e\x70\x72\x65\x76\x65\x6e\x74\x44\x65\x66\x61\x75\x6c\x74\x28\ -\x29\x29\x3b\x69\x66\x28\x62\x2e\x74\x79\x70\x65\x3d\x70\x2c\x21\ -\x65\x26\x26\x21\x62\x2e\x69\x73\x44\x65\x66\x61\x75\x6c\x74\x50\ -\x72\x65\x76\x65\x6e\x74\x65\x64\x28\x29\x26\x26\x28\x21\x6b\x2e\ -\x5f\x64\x65\x66\x61\x75\x6c\x74\x7c\x7c\x6b\x2e\x5f\x64\x65\x66\ -\x61\x75\x6c\x74\x2e\x61\x70\x70\x6c\x79\x28\x6f\x2e\x70\x6f\x70\ -\x28\x29\x2c\x63\x29\x3d\x3d\x3d\x21\x31\x29\x26\x26\x6e\x2e\x61\ -\x63\x63\x65\x70\x74\x44\x61\x74\x61\x28\x64\x29\x26\x26\x67\x26\ -\x26\x64\x5b\x70\x5d\x26\x26\x21\x6e\x2e\x69\x73\x57\x69\x6e\x64\ -\x6f\x77\x28\x64\x29\x29\x7b\x6c\x3d\x64\x5b\x67\x5d\x2c\x6c\x26\ -\x26\x28\x64\x5b\x67\x5d\x3d\x6e\x75\x6c\x6c\x29\x2c\x6e\x2e\x65\ -\x76\x65\x6e\x74\x2e\x74\x72\x69\x67\x67\x65\x72\x65\x64\x3d\x70\ -\x3b\x74\x72\x79\x7b\x64\x5b\x70\x5d\x28\x29\x7d\x63\x61\x74\x63\ -\x68\x28\x72\x29\x7b\x7d\x6e\x2e\x65\x76\x65\x6e\x74\x2e\x74\x72\ -\x69\x67\x67\x65\x72\x65\x64\x3d\x76\x6f\x69\x64\x20\x30\x2c\x6c\ -\x26\x26\x28\x64\x5b\x67\x5d\x3d\x6c\x29\x7d\x72\x65\x74\x75\x72\ -\x6e\x20\x62\x2e\x72\x65\x73\x75\x6c\x74\x7d\x7d\x2c\x64\x69\x73\ -\x70\x61\x74\x63\x68\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\ -\x29\x7b\x61\x3d\x6e\x2e\x65\x76\x65\x6e\x74\x2e\x66\x69\x78\x28\ -\x61\x29\x3b\x76\x61\x72\x20\x62\x2c\x63\x2c\x65\x2c\x66\x2c\x67\ -\x2c\x68\x3d\x5b\x5d\x2c\x69\x3d\x64\x2e\x63\x61\x6c\x6c\x28\x61\ -\x72\x67\x75\x6d\x65\x6e\x74\x73\x29\x2c\x6a\x3d\x28\x6e\x2e\x5f\ -\x64\x61\x74\x61\x28\x74\x68\x69\x73\x2c\x22\x65\x76\x65\x6e\x74\ -\x73\x22\x29\x7c\x7c\x7b\x7d\x29\x5b\x61\x2e\x74\x79\x70\x65\x5d\ -\x7c\x7c\x5b\x5d\x2c\x6b\x3d\x6e\x2e\x65\x76\x65\x6e\x74\x2e\x73\ -\x70\x65\x63\x69\x61\x6c\x5b\x61\x2e\x74\x79\x70\x65\x5d\x7c\x7c\ -\x7b\x7d\x3b\x69\x66\x28\x69\x5b\x30\x5d\x3d\x61\x2c\x61\x2e\x64\ -\x65\x6c\x65\x67\x61\x74\x65\x54\x61\x72\x67\x65\x74\x3d\x74\x68\ -\x69\x73\x2c\x21\x6b\x2e\x70\x72\x65\x44\x69\x73\x70\x61\x74\x63\ -\x68\x7c\x7c\x6b\x2e\x70\x72\x65\x44\x69\x73\x70\x61\x74\x63\x68\ -\x2e\x63\x61\x6c\x6c\x28\x74\x68\x69\x73\x2c\x61\x29\x21\x3d\x3d\ -\x21\x31\x29\x7b\x68\x3d\x6e\x2e\x65\x76\x65\x6e\x74\x2e\x68\x61\ -\x6e\x64\x6c\x65\x72\x73\x2e\x63\x61\x6c\x6c\x28\x74\x68\x69\x73\ -\x2c\x61\x2c\x6a\x29\x2c\x62\x3d\x30\x3b\x77\x68\x69\x6c\x65\x28\ -\x28\x66\x3d\x68\x5b\x62\x2b\x2b\x5d\x29\x26\x26\x21\x61\x2e\x69\ -\x73\x50\x72\x6f\x70\x61\x67\x61\x74\x69\x6f\x6e\x53\x74\x6f\x70\ -\x70\x65\x64\x28\x29\x29\x7b\x61\x2e\x63\x75\x72\x72\x65\x6e\x74\ -\x54\x61\x72\x67\x65\x74\x3d\x66\x2e\x65\x6c\x65\x6d\x2c\x67\x3d\ -\x30\x3b\x77\x68\x69\x6c\x65\x28\x28\x65\x3d\x66\x2e\x68\x61\x6e\ -\x64\x6c\x65\x72\x73\x5b\x67\x2b\x2b\x5d\x29\x26\x26\x21\x61\x2e\ -\x69\x73\x49\x6d\x6d\x65\x64\x69\x61\x74\x65\x50\x72\x6f\x70\x61\ -\x67\x61\x74\x69\x6f\x6e\x53\x74\x6f\x70\x70\x65\x64\x28\x29\x29\ -\x28\x21\x61\x2e\x6e\x61\x6d\x65\x73\x70\x61\x63\x65\x5f\x72\x65\ -\x7c\x7c\x61\x2e\x6e\x61\x6d\x65\x73\x70\x61\x63\x65\x5f\x72\x65\ -\x2e\x74\x65\x73\x74\x28\x65\x2e\x6e\x61\x6d\x65\x73\x70\x61\x63\ -\x65\x29\x29\x26\x26\x28\x61\x2e\x68\x61\x6e\x64\x6c\x65\x4f\x62\ -\x6a\x3d\x65\x2c\x61\x2e\x64\x61\x74\x61\x3d\x65\x2e\x64\x61\x74\ -\x61\x2c\x63\x3d\x28\x28\x6e\x2e\x65\x76\x65\x6e\x74\x2e\x73\x70\ -\x65\x63\x69\x61\x6c\x5b\x65\x2e\x6f\x72\x69\x67\x54\x79\x70\x65\ -\x5d\x7c\x7c\x7b\x7d\x29\x2e\x68\x61\x6e\x64\x6c\x65\x7c\x7c\x65\ -\x2e\x68\x61\x6e\x64\x6c\x65\x72\x29\x2e\x61\x70\x70\x6c\x79\x28\ -\x66\x2e\x65\x6c\x65\x6d\x2c\x69\x29\x2c\x76\x6f\x69\x64\x20\x30\ -\x21\x3d\x3d\x63\x26\x26\x28\x61\x2e\x72\x65\x73\x75\x6c\x74\x3d\ -\x63\x29\x3d\x3d\x3d\x21\x31\x26\x26\x28\x61\x2e\x70\x72\x65\x76\ -\x65\x6e\x74\x44\x65\x66\x61\x75\x6c\x74\x28\x29\x2c\x61\x2e\x73\ -\x74\x6f\x70\x50\x72\x6f\x70\x61\x67\x61\x74\x69\x6f\x6e\x28\x29\ -\x29\x29\x7d\x72\x65\x74\x75\x72\x6e\x20\x6b\x2e\x70\x6f\x73\x74\ -\x44\x69\x73\x70\x61\x74\x63\x68\x26\x26\x6b\x2e\x70\x6f\x73\x74\ -\x44\x69\x73\x70\x61\x74\x63\x68\x2e\x63\x61\x6c\x6c\x28\x74\x68\ -\x69\x73\x2c\x61\x29\x2c\x61\x2e\x72\x65\x73\x75\x6c\x74\x7d\x7d\ -\x2c\x68\x61\x6e\x64\x6c\x65\x72\x73\x3a\x66\x75\x6e\x63\x74\x69\ -\x6f\x6e\x28\x61\x2c\x62\x29\x7b\x76\x61\x72\x20\x63\x2c\x64\x2c\ -\x65\x2c\x66\x2c\x67\x3d\x5b\x5d\x2c\x68\x3d\x62\x2e\x64\x65\x6c\ -\x65\x67\x61\x74\x65\x43\x6f\x75\x6e\x74\x2c\x69\x3d\x61\x2e\x74\ -\x61\x72\x67\x65\x74\x3b\x69\x66\x28\x68\x26\x26\x69\x2e\x6e\x6f\ -\x64\x65\x54\x79\x70\x65\x26\x26\x28\x21\x61\x2e\x62\x75\x74\x74\ -\x6f\x6e\x7c\x7c\x22\x63\x6c\x69\x63\x6b\x22\x21\x3d\x3d\x61\x2e\ -\x74\x79\x70\x65\x29\x29\x66\x6f\x72\x28\x3b\x69\x21\x3d\x74\x68\ -\x69\x73\x3b\x69\x3d\x69\x2e\x70\x61\x72\x65\x6e\x74\x4e\x6f\x64\ -\x65\x7c\x7c\x74\x68\x69\x73\x29\x69\x66\x28\x31\x3d\x3d\x3d\x69\ -\x2e\x6e\x6f\x64\x65\x54\x79\x70\x65\x26\x26\x28\x69\x2e\x64\x69\ -\x73\x61\x62\x6c\x65\x64\x21\x3d\x3d\x21\x30\x7c\x7c\x22\x63\x6c\ -\x69\x63\x6b\x22\x21\x3d\x3d\x61\x2e\x74\x79\x70\x65\x29\x29\x7b\ -\x66\x6f\x72\x28\x65\x3d\x5b\x5d\x2c\x66\x3d\x30\x3b\x68\x3e\x66\ -\x3b\x66\x2b\x2b\x29\x64\x3d\x62\x5b\x66\x5d\x2c\x63\x3d\x64\x2e\ -\x73\x65\x6c\x65\x63\x74\x6f\x72\x2b\x22\x20\x22\x2c\x76\x6f\x69\ -\x64\x20\x30\x3d\x3d\x3d\x65\x5b\x63\x5d\x26\x26\x28\x65\x5b\x63\ -\x5d\x3d\x64\x2e\x6e\x65\x65\x64\x73\x43\x6f\x6e\x74\x65\x78\x74\ -\x3f\x6e\x28\x63\x2c\x74\x68\x69\x73\x29\x2e\x69\x6e\x64\x65\x78\ -\x28\x69\x29\x3e\x3d\x30\x3a\x6e\x2e\x66\x69\x6e\x64\x28\x63\x2c\ -\x74\x68\x69\x73\x2c\x6e\x75\x6c\x6c\x2c\x5b\x69\x5d\x29\x2e\x6c\ -\x65\x6e\x67\x74\x68\x29\x2c\x65\x5b\x63\x5d\x26\x26\x65\x2e\x70\ -\x75\x73\x68\x28\x64\x29\x3b\x65\x2e\x6c\x65\x6e\x67\x74\x68\x26\ -\x26\x67\x2e\x70\x75\x73\x68\x28\x7b\x65\x6c\x65\x6d\x3a\x69\x2c\ -\x68\x61\x6e\x64\x6c\x65\x72\x73\x3a\x65\x7d\x29\x7d\x72\x65\x74\ -\x75\x72\x6e\x20\x68\x3c\x62\x2e\x6c\x65\x6e\x67\x74\x68\x26\x26\ -\x67\x2e\x70\x75\x73\x68\x28\x7b\x65\x6c\x65\x6d\x3a\x74\x68\x69\ -\x73\x2c\x68\x61\x6e\x64\x6c\x65\x72\x73\x3a\x62\x2e\x73\x6c\x69\ -\x63\x65\x28\x68\x29\x7d\x29\x2c\x67\x7d\x2c\x66\x69\x78\x3a\x66\ -\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x69\x66\x28\x61\x5b\ -\x6e\x2e\x65\x78\x70\x61\x6e\x64\x6f\x5d\x29\x72\x65\x74\x75\x72\ -\x6e\x20\x61\x3b\x76\x61\x72\x20\x62\x2c\x63\x2c\x64\x2c\x65\x3d\ -\x61\x2e\x74\x79\x70\x65\x2c\x66\x3d\x61\x2c\x67\x3d\x74\x68\x69\ -\x73\x2e\x66\x69\x78\x48\x6f\x6f\x6b\x73\x5b\x65\x5d\x3b\x67\x7c\ -\x7c\x28\x74\x68\x69\x73\x2e\x66\x69\x78\x48\x6f\x6f\x6b\x73\x5b\ -\x65\x5d\x3d\x67\x3d\x24\x2e\x74\x65\x73\x74\x28\x65\x29\x3f\x74\ -\x68\x69\x73\x2e\x6d\x6f\x75\x73\x65\x48\x6f\x6f\x6b\x73\x3a\x5a\ -\x2e\x74\x65\x73\x74\x28\x65\x29\x3f\x74\x68\x69\x73\x2e\x6b\x65\ -\x79\x48\x6f\x6f\x6b\x73\x3a\x7b\x7d\x29\x2c\x64\x3d\x67\x2e\x70\ -\x72\x6f\x70\x73\x3f\x74\x68\x69\x73\x2e\x70\x72\x6f\x70\x73\x2e\ -\x63\x6f\x6e\x63\x61\x74\x28\x67\x2e\x70\x72\x6f\x70\x73\x29\x3a\ -\x74\x68\x69\x73\x2e\x70\x72\x6f\x70\x73\x2c\x61\x3d\x6e\x65\x77\ -\x20\x6e\x2e\x45\x76\x65\x6e\x74\x28\x66\x29\x2c\x62\x3d\x64\x2e\ -\x6c\x65\x6e\x67\x74\x68\x3b\x77\x68\x69\x6c\x65\x28\x62\x2d\x2d\ -\x29\x63\x3d\x64\x5b\x62\x5d\x2c\x61\x5b\x63\x5d\x3d\x66\x5b\x63\ -\x5d\x3b\x72\x65\x74\x75\x72\x6e\x20\x61\x2e\x74\x61\x72\x67\x65\ -\x74\x7c\x7c\x28\x61\x2e\x74\x61\x72\x67\x65\x74\x3d\x66\x2e\x73\ -\x72\x63\x45\x6c\x65\x6d\x65\x6e\x74\x7c\x7c\x7a\x29\x2c\x33\x3d\ -\x3d\x3d\x61\x2e\x74\x61\x72\x67\x65\x74\x2e\x6e\x6f\x64\x65\x54\ -\x79\x70\x65\x26\x26\x28\x61\x2e\x74\x61\x72\x67\x65\x74\x3d\x61\ -\x2e\x74\x61\x72\x67\x65\x74\x2e\x70\x61\x72\x65\x6e\x74\x4e\x6f\ -\x64\x65\x29\x2c\x61\x2e\x6d\x65\x74\x61\x4b\x65\x79\x3d\x21\x21\ -\x61\x2e\x6d\x65\x74\x61\x4b\x65\x79\x2c\x67\x2e\x66\x69\x6c\x74\ -\x65\x72\x3f\x67\x2e\x66\x69\x6c\x74\x65\x72\x28\x61\x2c\x66\x29\ -\x3a\x61\x7d\x2c\x70\x72\x6f\x70\x73\x3a\x22\x61\x6c\x74\x4b\x65\ -\x79\x20\x62\x75\x62\x62\x6c\x65\x73\x20\x63\x61\x6e\x63\x65\x6c\ -\x61\x62\x6c\x65\x20\x63\x74\x72\x6c\x4b\x65\x79\x20\x63\x75\x72\ -\x72\x65\x6e\x74\x54\x61\x72\x67\x65\x74\x20\x65\x76\x65\x6e\x74\ -\x50\x68\x61\x73\x65\x20\x6d\x65\x74\x61\x4b\x65\x79\x20\x72\x65\ -\x6c\x61\x74\x65\x64\x54\x61\x72\x67\x65\x74\x20\x73\x68\x69\x66\ -\x74\x4b\x65\x79\x20\x74\x61\x72\x67\x65\x74\x20\x74\x69\x6d\x65\ -\x53\x74\x61\x6d\x70\x20\x76\x69\x65\x77\x20\x77\x68\x69\x63\x68\ -\x22\x2e\x73\x70\x6c\x69\x74\x28\x22\x20\x22\x29\x2c\x66\x69\x78\ -\x48\x6f\x6f\x6b\x73\x3a\x7b\x7d\x2c\x6b\x65\x79\x48\x6f\x6f\x6b\ -\x73\x3a\x7b\x70\x72\x6f\x70\x73\x3a\x22\x63\x68\x61\x72\x20\x63\ -\x68\x61\x72\x43\x6f\x64\x65\x20\x6b\x65\x79\x20\x6b\x65\x79\x43\ -\x6f\x64\x65\x22\x2e\x73\x70\x6c\x69\x74\x28\x22\x20\x22\x29\x2c\ -\x66\x69\x6c\x74\x65\x72\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\ -\x61\x2c\x62\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x6e\x75\x6c\x6c\ -\x3d\x3d\x61\x2e\x77\x68\x69\x63\x68\x26\x26\x28\x61\x2e\x77\x68\ -\x69\x63\x68\x3d\x6e\x75\x6c\x6c\x21\x3d\x62\x2e\x63\x68\x61\x72\ -\x43\x6f\x64\x65\x3f\x62\x2e\x63\x68\x61\x72\x43\x6f\x64\x65\x3a\ -\x62\x2e\x6b\x65\x79\x43\x6f\x64\x65\x29\x2c\x61\x7d\x7d\x2c\x6d\ -\x6f\x75\x73\x65\x48\x6f\x6f\x6b\x73\x3a\x7b\x70\x72\x6f\x70\x73\ -\x3a\x22\x62\x75\x74\x74\x6f\x6e\x20\x62\x75\x74\x74\x6f\x6e\x73\ -\x20\x63\x6c\x69\x65\x6e\x74\x58\x20\x63\x6c\x69\x65\x6e\x74\x59\ -\x20\x66\x72\x6f\x6d\x45\x6c\x65\x6d\x65\x6e\x74\x20\x6f\x66\x66\ -\x73\x65\x74\x58\x20\x6f\x66\x66\x73\x65\x74\x59\x20\x70\x61\x67\ -\x65\x58\x20\x70\x61\x67\x65\x59\x20\x73\x63\x72\x65\x65\x6e\x58\ -\x20\x73\x63\x72\x65\x65\x6e\x59\x20\x74\x6f\x45\x6c\x65\x6d\x65\ -\x6e\x74\x22\x2e\x73\x70\x6c\x69\x74\x28\x22\x20\x22\x29\x2c\x66\ -\x69\x6c\x74\x65\x72\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\ -\x2c\x62\x29\x7b\x76\x61\x72\x20\x63\x2c\x64\x2c\x65\x2c\x66\x3d\ -\x62\x2e\x62\x75\x74\x74\x6f\x6e\x2c\x67\x3d\x62\x2e\x66\x72\x6f\ -\x6d\x45\x6c\x65\x6d\x65\x6e\x74\x3b\x72\x65\x74\x75\x72\x6e\x20\ -\x6e\x75\x6c\x6c\x3d\x3d\x61\x2e\x70\x61\x67\x65\x58\x26\x26\x6e\ -\x75\x6c\x6c\x21\x3d\x62\x2e\x63\x6c\x69\x65\x6e\x74\x58\x26\x26\ -\x28\x64\x3d\x61\x2e\x74\x61\x72\x67\x65\x74\x2e\x6f\x77\x6e\x65\ -\x72\x44\x6f\x63\x75\x6d\x65\x6e\x74\x7c\x7c\x7a\x2c\x65\x3d\x64\ -\x2e\x64\x6f\x63\x75\x6d\x65\x6e\x74\x45\x6c\x65\x6d\x65\x6e\x74\ -\x2c\x63\x3d\x64\x2e\x62\x6f\x64\x79\x2c\x61\x2e\x70\x61\x67\x65\ -\x58\x3d\x62\x2e\x63\x6c\x69\x65\x6e\x74\x58\x2b\x28\x65\x26\x26\ -\x65\x2e\x73\x63\x72\x6f\x6c\x6c\x4c\x65\x66\x74\x7c\x7c\x63\x26\ -\x26\x63\x2e\x73\x63\x72\x6f\x6c\x6c\x4c\x65\x66\x74\x7c\x7c\x30\ -\x29\x2d\x28\x65\x26\x26\x65\x2e\x63\x6c\x69\x65\x6e\x74\x4c\x65\ -\x66\x74\x7c\x7c\x63\x26\x26\x63\x2e\x63\x6c\x69\x65\x6e\x74\x4c\ -\x65\x66\x74\x7c\x7c\x30\x29\x2c\x61\x2e\x70\x61\x67\x65\x59\x3d\ -\x62\x2e\x63\x6c\x69\x65\x6e\x74\x59\x2b\x28\x65\x26\x26\x65\x2e\ -\x73\x63\x72\x6f\x6c\x6c\x54\x6f\x70\x7c\x7c\x63\x26\x26\x63\x2e\ -\x73\x63\x72\x6f\x6c\x6c\x54\x6f\x70\x7c\x7c\x30\x29\x2d\x28\x65\ -\x26\x26\x65\x2e\x63\x6c\x69\x65\x6e\x74\x54\x6f\x70\x7c\x7c\x63\ -\x26\x26\x63\x2e\x63\x6c\x69\x65\x6e\x74\x54\x6f\x70\x7c\x7c\x30\ -\x29\x29\x2c\x21\x61\x2e\x72\x65\x6c\x61\x74\x65\x64\x54\x61\x72\ -\x67\x65\x74\x26\x26\x67\x26\x26\x28\x61\x2e\x72\x65\x6c\x61\x74\ -\x65\x64\x54\x61\x72\x67\x65\x74\x3d\x67\x3d\x3d\x3d\x61\x2e\x74\ -\x61\x72\x67\x65\x74\x3f\x62\x2e\x74\x6f\x45\x6c\x65\x6d\x65\x6e\ -\x74\x3a\x67\x29\x2c\x61\x2e\x77\x68\x69\x63\x68\x7c\x7c\x76\x6f\ -\x69\x64\x20\x30\x3d\x3d\x3d\x66\x7c\x7c\x28\x61\x2e\x77\x68\x69\ -\x63\x68\x3d\x31\x26\x66\x3f\x31\x3a\x32\x26\x66\x3f\x33\x3a\x34\ -\x26\x66\x3f\x32\x3a\x30\x29\x2c\x61\x7d\x7d\x2c\x73\x70\x65\x63\ -\x69\x61\x6c\x3a\x7b\x6c\x6f\x61\x64\x3a\x7b\x6e\x6f\x42\x75\x62\ -\x62\x6c\x65\x3a\x21\x30\x7d\x2c\x66\x6f\x63\x75\x73\x3a\x7b\x74\ -\x72\x69\x67\x67\x65\x72\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\ -\x29\x7b\x69\x66\x28\x74\x68\x69\x73\x21\x3d\x3d\x64\x62\x28\x29\ -\x26\x26\x74\x68\x69\x73\x2e\x66\x6f\x63\x75\x73\x29\x74\x72\x79\ -\x7b\x72\x65\x74\x75\x72\x6e\x20\x74\x68\x69\x73\x2e\x66\x6f\x63\ -\x75\x73\x28\x29\x2c\x21\x31\x7d\x63\x61\x74\x63\x68\x28\x61\x29\ -\x7b\x7d\x7d\x2c\x64\x65\x6c\x65\x67\x61\x74\x65\x54\x79\x70\x65\ -\x3a\x22\x66\x6f\x63\x75\x73\x69\x6e\x22\x7d\x2c\x62\x6c\x75\x72\ -\x3a\x7b\x74\x72\x69\x67\x67\x65\x72\x3a\x66\x75\x6e\x63\x74\x69\ -\x6f\x6e\x28\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x74\x68\x69\x73\ -\x3d\x3d\x3d\x64\x62\x28\x29\x26\x26\x74\x68\x69\x73\x2e\x62\x6c\ -\x75\x72\x3f\x28\x74\x68\x69\x73\x2e\x62\x6c\x75\x72\x28\x29\x2c\ -\x21\x31\x29\x3a\x76\x6f\x69\x64\x20\x30\x7d\x2c\x64\x65\x6c\x65\ -\x67\x61\x74\x65\x54\x79\x70\x65\x3a\x22\x66\x6f\x63\x75\x73\x6f\ -\x75\x74\x22\x7d\x2c\x63\x6c\x69\x63\x6b\x3a\x7b\x74\x72\x69\x67\ -\x67\x65\x72\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x72\ -\x65\x74\x75\x72\x6e\x20\x6e\x2e\x6e\x6f\x64\x65\x4e\x61\x6d\x65\ -\x28\x74\x68\x69\x73\x2c\x22\x69\x6e\x70\x75\x74\x22\x29\x26\x26\ -\x22\x63\x68\x65\x63\x6b\x62\x6f\x78\x22\x3d\x3d\x3d\x74\x68\x69\ -\x73\x2e\x74\x79\x70\x65\x26\x26\x74\x68\x69\x73\x2e\x63\x6c\x69\ -\x63\x6b\x3f\x28\x74\x68\x69\x73\x2e\x63\x6c\x69\x63\x6b\x28\x29\ -\x2c\x21\x31\x29\x3a\x76\x6f\x69\x64\x20\x30\x7d\x2c\x5f\x64\x65\ -\x66\x61\x75\x6c\x74\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\ -\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x6e\x2e\x6e\x6f\x64\x65\x4e\ -\x61\x6d\x65\x28\x61\x2e\x74\x61\x72\x67\x65\x74\x2c\x22\x61\x22\ -\x29\x7d\x7d\x2c\x62\x65\x66\x6f\x72\x65\x75\x6e\x6c\x6f\x61\x64\ -\x3a\x7b\x70\x6f\x73\x74\x44\x69\x73\x70\x61\x74\x63\x68\x3a\x66\ -\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x76\x6f\x69\x64\x20\ -\x30\x21\x3d\x3d\x61\x2e\x72\x65\x73\x75\x6c\x74\x26\x26\x28\x61\ -\x2e\x6f\x72\x69\x67\x69\x6e\x61\x6c\x45\x76\x65\x6e\x74\x2e\x72\ -\x65\x74\x75\x72\x6e\x56\x61\x6c\x75\x65\x3d\x61\x2e\x72\x65\x73\ -\x75\x6c\x74\x29\x7d\x7d\x7d\x2c\x73\x69\x6d\x75\x6c\x61\x74\x65\ -\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x2c\x63\x2c\ -\x64\x29\x7b\x76\x61\x72\x20\x65\x3d\x6e\x2e\x65\x78\x74\x65\x6e\ -\x64\x28\x6e\x65\x77\x20\x6e\x2e\x45\x76\x65\x6e\x74\x2c\x63\x2c\ -\x7b\x74\x79\x70\x65\x3a\x61\x2c\x69\x73\x53\x69\x6d\x75\x6c\x61\ -\x74\x65\x64\x3a\x21\x30\x2c\x6f\x72\x69\x67\x69\x6e\x61\x6c\x45\ -\x76\x65\x6e\x74\x3a\x7b\x7d\x7d\x29\x3b\x64\x3f\x6e\x2e\x65\x76\ -\x65\x6e\x74\x2e\x74\x72\x69\x67\x67\x65\x72\x28\x65\x2c\x6e\x75\ -\x6c\x6c\x2c\x62\x29\x3a\x6e\x2e\x65\x76\x65\x6e\x74\x2e\x64\x69\ -\x73\x70\x61\x74\x63\x68\x2e\x63\x61\x6c\x6c\x28\x62\x2c\x65\x29\ -\x2c\x65\x2e\x69\x73\x44\x65\x66\x61\x75\x6c\x74\x50\x72\x65\x76\ -\x65\x6e\x74\x65\x64\x28\x29\x26\x26\x63\x2e\x70\x72\x65\x76\x65\ -\x6e\x74\x44\x65\x66\x61\x75\x6c\x74\x28\x29\x7d\x7d\x2c\x6e\x2e\ -\x72\x65\x6d\x6f\x76\x65\x45\x76\x65\x6e\x74\x3d\x7a\x2e\x72\x65\ -\x6d\x6f\x76\x65\x45\x76\x65\x6e\x74\x4c\x69\x73\x74\x65\x6e\x65\ -\x72\x3f\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x2c\x63\ -\x29\x7b\x61\x2e\x72\x65\x6d\x6f\x76\x65\x45\x76\x65\x6e\x74\x4c\ -\x69\x73\x74\x65\x6e\x65\x72\x26\x26\x61\x2e\x72\x65\x6d\x6f\x76\ -\x65\x45\x76\x65\x6e\x74\x4c\x69\x73\x74\x65\x6e\x65\x72\x28\x62\ -\x2c\x63\x2c\x21\x31\x29\x7d\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\ -\x28\x61\x2c\x62\x2c\x63\x29\x7b\x76\x61\x72\x20\x64\x3d\x22\x6f\ -\x6e\x22\x2b\x62\x3b\x61\x2e\x64\x65\x74\x61\x63\x68\x45\x76\x65\ -\x6e\x74\x26\x26\x28\x74\x79\x70\x65\x6f\x66\x20\x61\x5b\x64\x5d\ -\x3d\x3d\x3d\x4c\x26\x26\x28\x61\x5b\x64\x5d\x3d\x6e\x75\x6c\x6c\ -\x29\x2c\x61\x2e\x64\x65\x74\x61\x63\x68\x45\x76\x65\x6e\x74\x28\ -\x64\x2c\x63\x29\x29\x7d\x2c\x6e\x2e\x45\x76\x65\x6e\x74\x3d\x66\ -\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x29\x7b\x72\x65\x74\ -\x75\x72\x6e\x20\x74\x68\x69\x73\x20\x69\x6e\x73\x74\x61\x6e\x63\ -\x65\x6f\x66\x20\x6e\x2e\x45\x76\x65\x6e\x74\x3f\x28\x61\x26\x26\ -\x61\x2e\x74\x79\x70\x65\x3f\x28\x74\x68\x69\x73\x2e\x6f\x72\x69\ -\x67\x69\x6e\x61\x6c\x45\x76\x65\x6e\x74\x3d\x61\x2c\x74\x68\x69\ -\x73\x2e\x74\x79\x70\x65\x3d\x61\x2e\x74\x79\x70\x65\x2c\x74\x68\ -\x69\x73\x2e\x69\x73\x44\x65\x66\x61\x75\x6c\x74\x50\x72\x65\x76\ -\x65\x6e\x74\x65\x64\x3d\x61\x2e\x64\x65\x66\x61\x75\x6c\x74\x50\ -\x72\x65\x76\x65\x6e\x74\x65\x64\x7c\x7c\x76\x6f\x69\x64\x20\x30\ -\x3d\x3d\x3d\x61\x2e\x64\x65\x66\x61\x75\x6c\x74\x50\x72\x65\x76\ -\x65\x6e\x74\x65\x64\x26\x26\x28\x61\x2e\x72\x65\x74\x75\x72\x6e\ -\x56\x61\x6c\x75\x65\x3d\x3d\x3d\x21\x31\x7c\x7c\x61\x2e\x67\x65\ -\x74\x50\x72\x65\x76\x65\x6e\x74\x44\x65\x66\x61\x75\x6c\x74\x26\ -\x26\x61\x2e\x67\x65\x74\x50\x72\x65\x76\x65\x6e\x74\x44\x65\x66\ -\x61\x75\x6c\x74\x28\x29\x29\x3f\x62\x62\x3a\x63\x62\x29\x3a\x74\ -\x68\x69\x73\x2e\x74\x79\x70\x65\x3d\x61\x2c\x62\x26\x26\x6e\x2e\ -\x65\x78\x74\x65\x6e\x64\x28\x74\x68\x69\x73\x2c\x62\x29\x2c\x74\ -\x68\x69\x73\x2e\x74\x69\x6d\x65\x53\x74\x61\x6d\x70\x3d\x61\x26\ -\x26\x61\x2e\x74\x69\x6d\x65\x53\x74\x61\x6d\x70\x7c\x7c\x6e\x2e\ -\x6e\x6f\x77\x28\x29\x2c\x76\x6f\x69\x64\x28\x74\x68\x69\x73\x5b\ -\x6e\x2e\x65\x78\x70\x61\x6e\x64\x6f\x5d\x3d\x21\x30\x29\x29\x3a\ -\x6e\x65\x77\x20\x6e\x2e\x45\x76\x65\x6e\x74\x28\x61\x2c\x62\x29\ -\x7d\x2c\x6e\x2e\x45\x76\x65\x6e\x74\x2e\x70\x72\x6f\x74\x6f\x74\ -\x79\x70\x65\x3d\x7b\x69\x73\x44\x65\x66\x61\x75\x6c\x74\x50\x72\ -\x65\x76\x65\x6e\x74\x65\x64\x3a\x63\x62\x2c\x69\x73\x50\x72\x6f\ -\x70\x61\x67\x61\x74\x69\x6f\x6e\x53\x74\x6f\x70\x70\x65\x64\x3a\ -\x63\x62\x2c\x69\x73\x49\x6d\x6d\x65\x64\x69\x61\x74\x65\x50\x72\ -\x6f\x70\x61\x67\x61\x74\x69\x6f\x6e\x53\x74\x6f\x70\x70\x65\x64\ -\x3a\x63\x62\x2c\x70\x72\x65\x76\x65\x6e\x74\x44\x65\x66\x61\x75\ -\x6c\x74\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x76\x61\ -\x72\x20\x61\x3d\x74\x68\x69\x73\x2e\x6f\x72\x69\x67\x69\x6e\x61\ -\x6c\x45\x76\x65\x6e\x74\x3b\x74\x68\x69\x73\x2e\x69\x73\x44\x65\ -\x66\x61\x75\x6c\x74\x50\x72\x65\x76\x65\x6e\x74\x65\x64\x3d\x62\ -\x62\x2c\x61\x26\x26\x28\x61\x2e\x70\x72\x65\x76\x65\x6e\x74\x44\ -\x65\x66\x61\x75\x6c\x74\x3f\x61\x2e\x70\x72\x65\x76\x65\x6e\x74\ -\x44\x65\x66\x61\x75\x6c\x74\x28\x29\x3a\x61\x2e\x72\x65\x74\x75\ -\x72\x6e\x56\x61\x6c\x75\x65\x3d\x21\x31\x29\x7d\x2c\x73\x74\x6f\ -\x70\x50\x72\x6f\x70\x61\x67\x61\x74\x69\x6f\x6e\x3a\x66\x75\x6e\ -\x63\x74\x69\x6f\x6e\x28\x29\x7b\x76\x61\x72\x20\x61\x3d\x74\x68\ -\x69\x73\x2e\x6f\x72\x69\x67\x69\x6e\x61\x6c\x45\x76\x65\x6e\x74\ -\x3b\x74\x68\x69\x73\x2e\x69\x73\x50\x72\x6f\x70\x61\x67\x61\x74\ -\x69\x6f\x6e\x53\x74\x6f\x70\x70\x65\x64\x3d\x62\x62\x2c\x61\x26\ -\x26\x28\x61\x2e\x73\x74\x6f\x70\x50\x72\x6f\x70\x61\x67\x61\x74\ -\x69\x6f\x6e\x26\x26\x61\x2e\x73\x74\x6f\x70\x50\x72\x6f\x70\x61\ -\x67\x61\x74\x69\x6f\x6e\x28\x29\x2c\x61\x2e\x63\x61\x6e\x63\x65\ -\x6c\x42\x75\x62\x62\x6c\x65\x3d\x21\x30\x29\x7d\x2c\x73\x74\x6f\ -\x70\x49\x6d\x6d\x65\x64\x69\x61\x74\x65\x50\x72\x6f\x70\x61\x67\ -\x61\x74\x69\x6f\x6e\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\ -\x7b\x74\x68\x69\x73\x2e\x69\x73\x49\x6d\x6d\x65\x64\x69\x61\x74\ -\x65\x50\x72\x6f\x70\x61\x67\x61\x74\x69\x6f\x6e\x53\x74\x6f\x70\ -\x70\x65\x64\x3d\x62\x62\x2c\x74\x68\x69\x73\x2e\x73\x74\x6f\x70\ -\x50\x72\x6f\x70\x61\x67\x61\x74\x69\x6f\x6e\x28\x29\x7d\x7d\x2c\ -\x6e\x2e\x65\x61\x63\x68\x28\x7b\x6d\x6f\x75\x73\x65\x65\x6e\x74\ -\x65\x72\x3a\x22\x6d\x6f\x75\x73\x65\x6f\x76\x65\x72\x22\x2c\x6d\ -\x6f\x75\x73\x65\x6c\x65\x61\x76\x65\x3a\x22\x6d\x6f\x75\x73\x65\ -\x6f\x75\x74\x22\x7d\x2c\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\ -\x2c\x62\x29\x7b\x6e\x2e\x65\x76\x65\x6e\x74\x2e\x73\x70\x65\x63\ -\x69\x61\x6c\x5b\x61\x5d\x3d\x7b\x64\x65\x6c\x65\x67\x61\x74\x65\ -\x54\x79\x70\x65\x3a\x62\x2c\x62\x69\x6e\x64\x54\x79\x70\x65\x3a\ -\x62\x2c\x68\x61\x6e\x64\x6c\x65\x3a\x66\x75\x6e\x63\x74\x69\x6f\ -\x6e\x28\x61\x29\x7b\x76\x61\x72\x20\x63\x2c\x64\x3d\x74\x68\x69\ -\x73\x2c\x65\x3d\x61\x2e\x72\x65\x6c\x61\x74\x65\x64\x54\x61\x72\ -\x67\x65\x74\x2c\x66\x3d\x61\x2e\x68\x61\x6e\x64\x6c\x65\x4f\x62\ -\x6a\x3b\x72\x65\x74\x75\x72\x6e\x28\x21\x65\x7c\x7c\x65\x21\x3d\ -\x3d\x64\x26\x26\x21\x6e\x2e\x63\x6f\x6e\x74\x61\x69\x6e\x73\x28\ -\x64\x2c\x65\x29\x29\x26\x26\x28\x61\x2e\x74\x79\x70\x65\x3d\x66\ -\x2e\x6f\x72\x69\x67\x54\x79\x70\x65\x2c\x63\x3d\x66\x2e\x68\x61\ -\x6e\x64\x6c\x65\x72\x2e\x61\x70\x70\x6c\x79\x28\x74\x68\x69\x73\ -\x2c\x61\x72\x67\x75\x6d\x65\x6e\x74\x73\x29\x2c\x61\x2e\x74\x79\ -\x70\x65\x3d\x62\x29\x2c\x63\x7d\x7d\x7d\x29\x2c\x6c\x2e\x73\x75\ -\x62\x6d\x69\x74\x42\x75\x62\x62\x6c\x65\x73\x7c\x7c\x28\x6e\x2e\ -\x65\x76\x65\x6e\x74\x2e\x73\x70\x65\x63\x69\x61\x6c\x2e\x73\x75\ -\x62\x6d\x69\x74\x3d\x7b\x73\x65\x74\x75\x70\x3a\x66\x75\x6e\x63\ -\x74\x69\x6f\x6e\x28\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x6e\x2e\ -\x6e\x6f\x64\x65\x4e\x61\x6d\x65\x28\x74\x68\x69\x73\x2c\x22\x66\ -\x6f\x72\x6d\x22\x29\x3f\x21\x31\x3a\x76\x6f\x69\x64\x20\x6e\x2e\ -\x65\x76\x65\x6e\x74\x2e\x61\x64\x64\x28\x74\x68\x69\x73\x2c\x22\ -\x63\x6c\x69\x63\x6b\x2e\x5f\x73\x75\x62\x6d\x69\x74\x20\x6b\x65\ -\x79\x70\x72\x65\x73\x73\x2e\x5f\x73\x75\x62\x6d\x69\x74\x22\x2c\ -\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x76\x61\x72\x20\ -\x62\x3d\x61\x2e\x74\x61\x72\x67\x65\x74\x2c\x63\x3d\x6e\x2e\x6e\ -\x6f\x64\x65\x4e\x61\x6d\x65\x28\x62\x2c\x22\x69\x6e\x70\x75\x74\ -\x22\x29\x7c\x7c\x6e\x2e\x6e\x6f\x64\x65\x4e\x61\x6d\x65\x28\x62\ -\x2c\x22\x62\x75\x74\x74\x6f\x6e\x22\x29\x3f\x62\x2e\x66\x6f\x72\ -\x6d\x3a\x76\x6f\x69\x64\x20\x30\x3b\x63\x26\x26\x21\x6e\x2e\x5f\ -\x64\x61\x74\x61\x28\x63\x2c\x22\x73\x75\x62\x6d\x69\x74\x42\x75\ -\x62\x62\x6c\x65\x73\x22\x29\x26\x26\x28\x6e\x2e\x65\x76\x65\x6e\ -\x74\x2e\x61\x64\x64\x28\x63\x2c\x22\x73\x75\x62\x6d\x69\x74\x2e\ -\x5f\x73\x75\x62\x6d\x69\x74\x22\x2c\x66\x75\x6e\x63\x74\x69\x6f\ -\x6e\x28\x61\x29\x7b\x61\x2e\x5f\x73\x75\x62\x6d\x69\x74\x5f\x62\ -\x75\x62\x62\x6c\x65\x3d\x21\x30\x7d\x29\x2c\x6e\x2e\x5f\x64\x61\ -\x74\x61\x28\x63\x2c\x22\x73\x75\x62\x6d\x69\x74\x42\x75\x62\x62\ -\x6c\x65\x73\x22\x2c\x21\x30\x29\x29\x7d\x29\x7d\x2c\x70\x6f\x73\ -\x74\x44\x69\x73\x70\x61\x74\x63\x68\x3a\x66\x75\x6e\x63\x74\x69\ -\x6f\x6e\x28\x61\x29\x7b\x61\x2e\x5f\x73\x75\x62\x6d\x69\x74\x5f\ -\x62\x75\x62\x62\x6c\x65\x26\x26\x28\x64\x65\x6c\x65\x74\x65\x20\ -\x61\x2e\x5f\x73\x75\x62\x6d\x69\x74\x5f\x62\x75\x62\x62\x6c\x65\ -\x2c\x74\x68\x69\x73\x2e\x70\x61\x72\x65\x6e\x74\x4e\x6f\x64\x65\ -\x26\x26\x21\x61\x2e\x69\x73\x54\x72\x69\x67\x67\x65\x72\x26\x26\ -\x6e\x2e\x65\x76\x65\x6e\x74\x2e\x73\x69\x6d\x75\x6c\x61\x74\x65\ -\x28\x22\x73\x75\x62\x6d\x69\x74\x22\x2c\x74\x68\x69\x73\x2e\x70\ -\x61\x72\x65\x6e\x74\x4e\x6f\x64\x65\x2c\x61\x2c\x21\x30\x29\x29\ -\x7d\x2c\x74\x65\x61\x72\x64\x6f\x77\x6e\x3a\x66\x75\x6e\x63\x74\ -\x69\x6f\x6e\x28\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x6e\x2e\x6e\ -\x6f\x64\x65\x4e\x61\x6d\x65\x28\x74\x68\x69\x73\x2c\x22\x66\x6f\ -\x72\x6d\x22\x29\x3f\x21\x31\x3a\x76\x6f\x69\x64\x20\x6e\x2e\x65\ -\x76\x65\x6e\x74\x2e\x72\x65\x6d\x6f\x76\x65\x28\x74\x68\x69\x73\ -\x2c\x22\x2e\x5f\x73\x75\x62\x6d\x69\x74\x22\x29\x7d\x7d\x29\x2c\ -\x6c\x2e\x63\x68\x61\x6e\x67\x65\x42\x75\x62\x62\x6c\x65\x73\x7c\ -\x7c\x28\x6e\x2e\x65\x76\x65\x6e\x74\x2e\x73\x70\x65\x63\x69\x61\ -\x6c\x2e\x63\x68\x61\x6e\x67\x65\x3d\x7b\x73\x65\x74\x75\x70\x3a\ -\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x72\x65\x74\x75\x72\ -\x6e\x20\x59\x2e\x74\x65\x73\x74\x28\x74\x68\x69\x73\x2e\x6e\x6f\ -\x64\x65\x4e\x61\x6d\x65\x29\x3f\x28\x28\x22\x63\x68\x65\x63\x6b\ -\x62\x6f\x78\x22\x3d\x3d\x3d\x74\x68\x69\x73\x2e\x74\x79\x70\x65\ -\x7c\x7c\x22\x72\x61\x64\x69\x6f\x22\x3d\x3d\x3d\x74\x68\x69\x73\ -\x2e\x74\x79\x70\x65\x29\x26\x26\x28\x6e\x2e\x65\x76\x65\x6e\x74\ -\x2e\x61\x64\x64\x28\x74\x68\x69\x73\x2c\x22\x70\x72\x6f\x70\x65\ -\x72\x74\x79\x63\x68\x61\x6e\x67\x65\x2e\x5f\x63\x68\x61\x6e\x67\ -\x65\x22\x2c\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x22\ -\x63\x68\x65\x63\x6b\x65\x64\x22\x3d\x3d\x3d\x61\x2e\x6f\x72\x69\ -\x67\x69\x6e\x61\x6c\x45\x76\x65\x6e\x74\x2e\x70\x72\x6f\x70\x65\ -\x72\x74\x79\x4e\x61\x6d\x65\x26\x26\x28\x74\x68\x69\x73\x2e\x5f\ -\x6a\x75\x73\x74\x5f\x63\x68\x61\x6e\x67\x65\x64\x3d\x21\x30\x29\ -\x7d\x29\x2c\x6e\x2e\x65\x76\x65\x6e\x74\x2e\x61\x64\x64\x28\x74\ -\x68\x69\x73\x2c\x22\x63\x6c\x69\x63\x6b\x2e\x5f\x63\x68\x61\x6e\ -\x67\x65\x22\x2c\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\ -\x74\x68\x69\x73\x2e\x5f\x6a\x75\x73\x74\x5f\x63\x68\x61\x6e\x67\ -\x65\x64\x26\x26\x21\x61\x2e\x69\x73\x54\x72\x69\x67\x67\x65\x72\ -\x26\x26\x28\x74\x68\x69\x73\x2e\x5f\x6a\x75\x73\x74\x5f\x63\x68\ -\x61\x6e\x67\x65\x64\x3d\x21\x31\x29\x2c\x6e\x2e\x65\x76\x65\x6e\ -\x74\x2e\x73\x69\x6d\x75\x6c\x61\x74\x65\x28\x22\x63\x68\x61\x6e\ -\x67\x65\x22\x2c\x74\x68\x69\x73\x2c\x61\x2c\x21\x30\x29\x7d\x29\ -\x29\x2c\x21\x31\x29\x3a\x76\x6f\x69\x64\x20\x6e\x2e\x65\x76\x65\ -\x6e\x74\x2e\x61\x64\x64\x28\x74\x68\x69\x73\x2c\x22\x62\x65\x66\ -\x6f\x72\x65\x61\x63\x74\x69\x76\x61\x74\x65\x2e\x5f\x63\x68\x61\ -\x6e\x67\x65\x22\x2c\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\ -\x7b\x76\x61\x72\x20\x62\x3d\x61\x2e\x74\x61\x72\x67\x65\x74\x3b\ -\x59\x2e\x74\x65\x73\x74\x28\x62\x2e\x6e\x6f\x64\x65\x4e\x61\x6d\ -\x65\x29\x26\x26\x21\x6e\x2e\x5f\x64\x61\x74\x61\x28\x62\x2c\x22\ -\x63\x68\x61\x6e\x67\x65\x42\x75\x62\x62\x6c\x65\x73\x22\x29\x26\ -\x26\x28\x6e\x2e\x65\x76\x65\x6e\x74\x2e\x61\x64\x64\x28\x62\x2c\ -\x22\x63\x68\x61\x6e\x67\x65\x2e\x5f\x63\x68\x61\x6e\x67\x65\x22\ -\x2c\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x21\x74\x68\ -\x69\x73\x2e\x70\x61\x72\x65\x6e\x74\x4e\x6f\x64\x65\x7c\x7c\x61\ -\x2e\x69\x73\x53\x69\x6d\x75\x6c\x61\x74\x65\x64\x7c\x7c\x61\x2e\ -\x69\x73\x54\x72\x69\x67\x67\x65\x72\x7c\x7c\x6e\x2e\x65\x76\x65\ -\x6e\x74\x2e\x73\x69\x6d\x75\x6c\x61\x74\x65\x28\x22\x63\x68\x61\ -\x6e\x67\x65\x22\x2c\x74\x68\x69\x73\x2e\x70\x61\x72\x65\x6e\x74\ -\x4e\x6f\x64\x65\x2c\x61\x2c\x21\x30\x29\x7d\x29\x2c\x6e\x2e\x5f\ -\x64\x61\x74\x61\x28\x62\x2c\x22\x63\x68\x61\x6e\x67\x65\x42\x75\ -\x62\x62\x6c\x65\x73\x22\x2c\x21\x30\x29\x29\x7d\x29\x7d\x2c\x68\ -\x61\x6e\x64\x6c\x65\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\ -\x29\x7b\x76\x61\x72\x20\x62\x3d\x61\x2e\x74\x61\x72\x67\x65\x74\ -\x3b\x72\x65\x74\x75\x72\x6e\x20\x74\x68\x69\x73\x21\x3d\x3d\x62\ -\x7c\x7c\x61\x2e\x69\x73\x53\x69\x6d\x75\x6c\x61\x74\x65\x64\x7c\ -\x7c\x61\x2e\x69\x73\x54\x72\x69\x67\x67\x65\x72\x7c\x7c\x22\x72\ -\x61\x64\x69\x6f\x22\x21\x3d\x3d\x62\x2e\x74\x79\x70\x65\x26\x26\ -\x22\x63\x68\x65\x63\x6b\x62\x6f\x78\x22\x21\x3d\x3d\x62\x2e\x74\ -\x79\x70\x65\x3f\x61\x2e\x68\x61\x6e\x64\x6c\x65\x4f\x62\x6a\x2e\ -\x68\x61\x6e\x64\x6c\x65\x72\x2e\x61\x70\x70\x6c\x79\x28\x74\x68\ -\x69\x73\x2c\x61\x72\x67\x75\x6d\x65\x6e\x74\x73\x29\x3a\x76\x6f\ -\x69\x64\x20\x30\x7d\x2c\x74\x65\x61\x72\x64\x6f\x77\x6e\x3a\x66\ -\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x72\x65\x74\x75\x72\x6e\ -\x20\x6e\x2e\x65\x76\x65\x6e\x74\x2e\x72\x65\x6d\x6f\x76\x65\x28\ -\x74\x68\x69\x73\x2c\x22\x2e\x5f\x63\x68\x61\x6e\x67\x65\x22\x29\ -\x2c\x21\x59\x2e\x74\x65\x73\x74\x28\x74\x68\x69\x73\x2e\x6e\x6f\ -\x64\x65\x4e\x61\x6d\x65\x29\x7d\x7d\x29\x2c\x6c\x2e\x66\x6f\x63\ -\x75\x73\x69\x6e\x42\x75\x62\x62\x6c\x65\x73\x7c\x7c\x6e\x2e\x65\ -\x61\x63\x68\x28\x7b\x66\x6f\x63\x75\x73\x3a\x22\x66\x6f\x63\x75\ -\x73\x69\x6e\x22\x2c\x62\x6c\x75\x72\x3a\x22\x66\x6f\x63\x75\x73\ -\x6f\x75\x74\x22\x7d\x2c\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\ -\x2c\x62\x29\x7b\x76\x61\x72\x20\x63\x3d\x66\x75\x6e\x63\x74\x69\ -\x6f\x6e\x28\x61\x29\x7b\x6e\x2e\x65\x76\x65\x6e\x74\x2e\x73\x69\ -\x6d\x75\x6c\x61\x74\x65\x28\x62\x2c\x61\x2e\x74\x61\x72\x67\x65\ -\x74\x2c\x6e\x2e\x65\x76\x65\x6e\x74\x2e\x66\x69\x78\x28\x61\x29\ -\x2c\x21\x30\x29\x7d\x3b\x6e\x2e\x65\x76\x65\x6e\x74\x2e\x73\x70\ -\x65\x63\x69\x61\x6c\x5b\x62\x5d\x3d\x7b\x73\x65\x74\x75\x70\x3a\ -\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x76\x61\x72\x20\x64\ -\x3d\x74\x68\x69\x73\x2e\x6f\x77\x6e\x65\x72\x44\x6f\x63\x75\x6d\ -\x65\x6e\x74\x7c\x7c\x74\x68\x69\x73\x2c\x65\x3d\x6e\x2e\x5f\x64\ -\x61\x74\x61\x28\x64\x2c\x62\x29\x3b\x65\x7c\x7c\x64\x2e\x61\x64\ -\x64\x45\x76\x65\x6e\x74\x4c\x69\x73\x74\x65\x6e\x65\x72\x28\x61\ -\x2c\x63\x2c\x21\x30\x29\x2c\x6e\x2e\x5f\x64\x61\x74\x61\x28\x64\ -\x2c\x62\x2c\x28\x65\x7c\x7c\x30\x29\x2b\x31\x29\x7d\x2c\x74\x65\ -\x61\x72\x64\x6f\x77\x6e\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\ -\x29\x7b\x76\x61\x72\x20\x64\x3d\x74\x68\x69\x73\x2e\x6f\x77\x6e\ -\x65\x72\x44\x6f\x63\x75\x6d\x65\x6e\x74\x7c\x7c\x74\x68\x69\x73\ -\x2c\x65\x3d\x6e\x2e\x5f\x64\x61\x74\x61\x28\x64\x2c\x62\x29\x2d\ -\x31\x3b\x65\x3f\x6e\x2e\x5f\x64\x61\x74\x61\x28\x64\x2c\x62\x2c\ -\x65\x29\x3a\x28\x64\x2e\x72\x65\x6d\x6f\x76\x65\x45\x76\x65\x6e\ -\x74\x4c\x69\x73\x74\x65\x6e\x65\x72\x28\x61\x2c\x63\x2c\x21\x30\ -\x29\x2c\x6e\x2e\x5f\x72\x65\x6d\x6f\x76\x65\x44\x61\x74\x61\x28\ -\x64\x2c\x62\x29\x29\x7d\x7d\x7d\x29\x2c\x6e\x2e\x66\x6e\x2e\x65\ -\x78\x74\x65\x6e\x64\x28\x7b\x6f\x6e\x3a\x66\x75\x6e\x63\x74\x69\ -\x6f\x6e\x28\x61\x2c\x62\x2c\x63\x2c\x64\x2c\x65\x29\x7b\x76\x61\ -\x72\x20\x66\x2c\x67\x3b\x69\x66\x28\x22\x6f\x62\x6a\x65\x63\x74\ -\x22\x3d\x3d\x74\x79\x70\x65\x6f\x66\x20\x61\x29\x7b\x22\x73\x74\ -\x72\x69\x6e\x67\x22\x21\x3d\x74\x79\x70\x65\x6f\x66\x20\x62\x26\ -\x26\x28\x63\x3d\x63\x7c\x7c\x62\x2c\x62\x3d\x76\x6f\x69\x64\x20\ -\x30\x29\x3b\x66\x6f\x72\x28\x66\x20\x69\x6e\x20\x61\x29\x74\x68\ -\x69\x73\x2e\x6f\x6e\x28\x66\x2c\x62\x2c\x63\x2c\x61\x5b\x66\x5d\ -\x2c\x65\x29\x3b\x72\x65\x74\x75\x72\x6e\x20\x74\x68\x69\x73\x7d\ -\x69\x66\x28\x6e\x75\x6c\x6c\x3d\x3d\x63\x26\x26\x6e\x75\x6c\x6c\ -\x3d\x3d\x64\x3f\x28\x64\x3d\x62\x2c\x63\x3d\x62\x3d\x76\x6f\x69\ -\x64\x20\x30\x29\x3a\x6e\x75\x6c\x6c\x3d\x3d\x64\x26\x26\x28\x22\ -\x73\x74\x72\x69\x6e\x67\x22\x3d\x3d\x74\x79\x70\x65\x6f\x66\x20\ -\x62\x3f\x28\x64\x3d\x63\x2c\x63\x3d\x76\x6f\x69\x64\x20\x30\x29\ -\x3a\x28\x64\x3d\x63\x2c\x63\x3d\x62\x2c\x62\x3d\x76\x6f\x69\x64\ -\x20\x30\x29\x29\x2c\x64\x3d\x3d\x3d\x21\x31\x29\x64\x3d\x63\x62\ -\x3b\x65\x6c\x73\x65\x20\x69\x66\x28\x21\x64\x29\x72\x65\x74\x75\ -\x72\x6e\x20\x74\x68\x69\x73\x3b\x72\x65\x74\x75\x72\x6e\x20\x31\ -\x3d\x3d\x3d\x65\x26\x26\x28\x67\x3d\x64\x2c\x64\x3d\x66\x75\x6e\ -\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\ -\x6e\x28\x29\x2e\x6f\x66\x66\x28\x61\x29\x2c\x67\x2e\x61\x70\x70\ -\x6c\x79\x28\x74\x68\x69\x73\x2c\x61\x72\x67\x75\x6d\x65\x6e\x74\ -\x73\x29\x7d\x2c\x64\x2e\x67\x75\x69\x64\x3d\x67\x2e\x67\x75\x69\ -\x64\x7c\x7c\x28\x67\x2e\x67\x75\x69\x64\x3d\x6e\x2e\x67\x75\x69\ -\x64\x2b\x2b\x29\x29\x2c\x74\x68\x69\x73\x2e\x65\x61\x63\x68\x28\ -\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x6e\x2e\x65\x76\x65\ -\x6e\x74\x2e\x61\x64\x64\x28\x74\x68\x69\x73\x2c\x61\x2c\x64\x2c\ -\x63\x2c\x62\x29\x7d\x29\x7d\x2c\x6f\x6e\x65\x3a\x66\x75\x6e\x63\ -\x74\x69\x6f\x6e\x28\x61\x2c\x62\x2c\x63\x2c\x64\x29\x7b\x72\x65\ -\x74\x75\x72\x6e\x20\x74\x68\x69\x73\x2e\x6f\x6e\x28\x61\x2c\x62\ -\x2c\x63\x2c\x64\x2c\x31\x29\x7d\x2c\x6f\x66\x66\x3a\x66\x75\x6e\ -\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x2c\x63\x29\x7b\x76\x61\x72\ -\x20\x64\x2c\x65\x3b\x69\x66\x28\x61\x26\x26\x61\x2e\x70\x72\x65\ -\x76\x65\x6e\x74\x44\x65\x66\x61\x75\x6c\x74\x26\x26\x61\x2e\x68\ -\x61\x6e\x64\x6c\x65\x4f\x62\x6a\x29\x72\x65\x74\x75\x72\x6e\x20\ -\x64\x3d\x61\x2e\x68\x61\x6e\x64\x6c\x65\x4f\x62\x6a\x2c\x6e\x28\ -\x61\x2e\x64\x65\x6c\x65\x67\x61\x74\x65\x54\x61\x72\x67\x65\x74\ -\x29\x2e\x6f\x66\x66\x28\x64\x2e\x6e\x61\x6d\x65\x73\x70\x61\x63\ -\x65\x3f\x64\x2e\x6f\x72\x69\x67\x54\x79\x70\x65\x2b\x22\x2e\x22\ -\x2b\x64\x2e\x6e\x61\x6d\x65\x73\x70\x61\x63\x65\x3a\x64\x2e\x6f\ -\x72\x69\x67\x54\x79\x70\x65\x2c\x64\x2e\x73\x65\x6c\x65\x63\x74\ -\x6f\x72\x2c\x64\x2e\x68\x61\x6e\x64\x6c\x65\x72\x29\x2c\x74\x68\ -\x69\x73\x3b\x69\x66\x28\x22\x6f\x62\x6a\x65\x63\x74\x22\x3d\x3d\ -\x74\x79\x70\x65\x6f\x66\x20\x61\x29\x7b\x66\x6f\x72\x28\x65\x20\ -\x69\x6e\x20\x61\x29\x74\x68\x69\x73\x2e\x6f\x66\x66\x28\x65\x2c\ -\x62\x2c\x61\x5b\x65\x5d\x29\x3b\x72\x65\x74\x75\x72\x6e\x20\x74\ -\x68\x69\x73\x7d\x72\x65\x74\x75\x72\x6e\x28\x62\x3d\x3d\x3d\x21\ -\x31\x7c\x7c\x22\x66\x75\x6e\x63\x74\x69\x6f\x6e\x22\x3d\x3d\x74\ -\x79\x70\x65\x6f\x66\x20\x62\x29\x26\x26\x28\x63\x3d\x62\x2c\x62\ -\x3d\x76\x6f\x69\x64\x20\x30\x29\x2c\x63\x3d\x3d\x3d\x21\x31\x26\ -\x26\x28\x63\x3d\x63\x62\x29\x2c\x74\x68\x69\x73\x2e\x65\x61\x63\ -\x68\x28\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x6e\x2e\x65\ -\x76\x65\x6e\x74\x2e\x72\x65\x6d\x6f\x76\x65\x28\x74\x68\x69\x73\ -\x2c\x61\x2c\x63\x2c\x62\x29\x7d\x29\x7d\x2c\x74\x72\x69\x67\x67\ -\x65\x72\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x29\ -\x7b\x72\x65\x74\x75\x72\x6e\x20\x74\x68\x69\x73\x2e\x65\x61\x63\ -\x68\x28\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x6e\x2e\x65\ -\x76\x65\x6e\x74\x2e\x74\x72\x69\x67\x67\x65\x72\x28\x61\x2c\x62\ -\x2c\x74\x68\x69\x73\x29\x7d\x29\x7d\x2c\x74\x72\x69\x67\x67\x65\ -\x72\x48\x61\x6e\x64\x6c\x65\x72\x3a\x66\x75\x6e\x63\x74\x69\x6f\ -\x6e\x28\x61\x2c\x62\x29\x7b\x76\x61\x72\x20\x63\x3d\x74\x68\x69\ -\x73\x5b\x30\x5d\x3b\x72\x65\x74\x75\x72\x6e\x20\x63\x3f\x6e\x2e\ -\x65\x76\x65\x6e\x74\x2e\x74\x72\x69\x67\x67\x65\x72\x28\x61\x2c\ -\x62\x2c\x63\x2c\x21\x30\x29\x3a\x76\x6f\x69\x64\x20\x30\x7d\x7d\ -\x29\x3b\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x65\x62\x28\x61\x29\ -\x7b\x76\x61\x72\x20\x62\x3d\x66\x62\x2e\x73\x70\x6c\x69\x74\x28\ -\x22\x7c\x22\x29\x2c\x63\x3d\x61\x2e\x63\x72\x65\x61\x74\x65\x44\ -\x6f\x63\x75\x6d\x65\x6e\x74\x46\x72\x61\x67\x6d\x65\x6e\x74\x28\ -\x29\x3b\x69\x66\x28\x63\x2e\x63\x72\x65\x61\x74\x65\x45\x6c\x65\ -\x6d\x65\x6e\x74\x29\x77\x68\x69\x6c\x65\x28\x62\x2e\x6c\x65\x6e\ -\x67\x74\x68\x29\x63\x2e\x63\x72\x65\x61\x74\x65\x45\x6c\x65\x6d\ -\x65\x6e\x74\x28\x62\x2e\x70\x6f\x70\x28\x29\x29\x3b\x72\x65\x74\ -\x75\x72\x6e\x20\x63\x7d\x76\x61\x72\x20\x66\x62\x3d\x22\x61\x62\ -\x62\x72\x7c\x61\x72\x74\x69\x63\x6c\x65\x7c\x61\x73\x69\x64\x65\ -\x7c\x61\x75\x64\x69\x6f\x7c\x62\x64\x69\x7c\x63\x61\x6e\x76\x61\ -\x73\x7c\x64\x61\x74\x61\x7c\x64\x61\x74\x61\x6c\x69\x73\x74\x7c\ -\x64\x65\x74\x61\x69\x6c\x73\x7c\x66\x69\x67\x63\x61\x70\x74\x69\ -\x6f\x6e\x7c\x66\x69\x67\x75\x72\x65\x7c\x66\x6f\x6f\x74\x65\x72\ -\x7c\x68\x65\x61\x64\x65\x72\x7c\x68\x67\x72\x6f\x75\x70\x7c\x6d\ -\x61\x72\x6b\x7c\x6d\x65\x74\x65\x72\x7c\x6e\x61\x76\x7c\x6f\x75\ -\x74\x70\x75\x74\x7c\x70\x72\x6f\x67\x72\x65\x73\x73\x7c\x73\x65\ -\x63\x74\x69\x6f\x6e\x7c\x73\x75\x6d\x6d\x61\x72\x79\x7c\x74\x69\ -\x6d\x65\x7c\x76\x69\x64\x65\x6f\x22\x2c\x67\x62\x3d\x2f\x20\x6a\ -\x51\x75\x65\x72\x79\x5c\x64\x2b\x3d\x22\x28\x3f\x3a\x6e\x75\x6c\ -\x6c\x7c\x5c\x64\x2b\x29\x22\x2f\x67\x2c\x68\x62\x3d\x6e\x65\x77\ -\x20\x52\x65\x67\x45\x78\x70\x28\x22\x3c\x28\x3f\x3a\x22\x2b\x66\ -\x62\x2b\x22\x29\x5b\x5c\x5c\x73\x2f\x3e\x5d\x22\x2c\x22\x69\x22\ -\x29\x2c\x69\x62\x3d\x2f\x5e\x5c\x73\x2b\x2f\x2c\x6a\x62\x3d\x2f\ -\x3c\x28\x3f\x21\x61\x72\x65\x61\x7c\x62\x72\x7c\x63\x6f\x6c\x7c\ -\x65\x6d\x62\x65\x64\x7c\x68\x72\x7c\x69\x6d\x67\x7c\x69\x6e\x70\ -\x75\x74\x7c\x6c\x69\x6e\x6b\x7c\x6d\x65\x74\x61\x7c\x70\x61\x72\ -\x61\x6d\x29\x28\x28\x5b\x5c\x77\x3a\x5d\x2b\x29\x5b\x5e\x3e\x5d\ -\x2a\x29\x5c\x2f\x3e\x2f\x67\x69\x2c\x6b\x62\x3d\x2f\x3c\x28\x5b\ -\x5c\x77\x3a\x5d\x2b\x29\x2f\x2c\x6c\x62\x3d\x2f\x3c\x74\x62\x6f\ -\x64\x79\x2f\x69\x2c\x6d\x62\x3d\x2f\x3c\x7c\x26\x23\x3f\x5c\x77\ -\x2b\x3b\x2f\x2c\x6e\x62\x3d\x2f\x3c\x28\x3f\x3a\x73\x63\x72\x69\ -\x70\x74\x7c\x73\x74\x79\x6c\x65\x7c\x6c\x69\x6e\x6b\x29\x2f\x69\ -\x2c\x6f\x62\x3d\x2f\x63\x68\x65\x63\x6b\x65\x64\x5c\x73\x2a\x28\ -\x3f\x3a\x5b\x5e\x3d\x5d\x7c\x3d\x5c\x73\x2a\x2e\x63\x68\x65\x63\ -\x6b\x65\x64\x2e\x29\x2f\x69\x2c\x70\x62\x3d\x2f\x5e\x24\x7c\x5c\ -\x2f\x28\x3f\x3a\x6a\x61\x76\x61\x7c\x65\x63\x6d\x61\x29\x73\x63\ -\x72\x69\x70\x74\x2f\x69\x2c\x71\x62\x3d\x2f\x5e\x74\x72\x75\x65\ -\x5c\x2f\x28\x2e\x2a\x29\x2f\x2c\x72\x62\x3d\x2f\x5e\x5c\x73\x2a\ -\x3c\x21\x28\x3f\x3a\x5c\x5b\x43\x44\x41\x54\x41\x5c\x5b\x7c\x2d\ -\x2d\x29\x7c\x28\x3f\x3a\x5c\x5d\x5c\x5d\x7c\x2d\x2d\x29\x3e\x5c\ -\x73\x2a\x24\x2f\x67\x2c\x73\x62\x3d\x7b\x6f\x70\x74\x69\x6f\x6e\ -\x3a\x5b\x31\x2c\x22\x3c\x73\x65\x6c\x65\x63\x74\x20\x6d\x75\x6c\ -\x74\x69\x70\x6c\x65\x3d\x27\x6d\x75\x6c\x74\x69\x70\x6c\x65\x27\ -\x3e\x22\x2c\x22\x3c\x2f\x73\x65\x6c\x65\x63\x74\x3e\x22\x5d\x2c\ -\x6c\x65\x67\x65\x6e\x64\x3a\x5b\x31\x2c\x22\x3c\x66\x69\x65\x6c\ -\x64\x73\x65\x74\x3e\x22\x2c\x22\x3c\x2f\x66\x69\x65\x6c\x64\x73\ -\x65\x74\x3e\x22\x5d\x2c\x61\x72\x65\x61\x3a\x5b\x31\x2c\x22\x3c\ -\x6d\x61\x70\x3e\x22\x2c\x22\x3c\x2f\x6d\x61\x70\x3e\x22\x5d\x2c\ -\x70\x61\x72\x61\x6d\x3a\x5b\x31\x2c\x22\x3c\x6f\x62\x6a\x65\x63\ -\x74\x3e\x22\x2c\x22\x3c\x2f\x6f\x62\x6a\x65\x63\x74\x3e\x22\x5d\ -\x2c\x74\x68\x65\x61\x64\x3a\x5b\x31\x2c\x22\x3c\x74\x61\x62\x6c\ -\x65\x3e\x22\x2c\x22\x3c\x2f\x74\x61\x62\x6c\x65\x3e\x22\x5d\x2c\ -\x74\x72\x3a\x5b\x32\x2c\x22\x3c\x74\x61\x62\x6c\x65\x3e\x3c\x74\ -\x62\x6f\x64\x79\x3e\x22\x2c\x22\x3c\x2f\x74\x62\x6f\x64\x79\x3e\ -\x3c\x2f\x74\x61\x62\x6c\x65\x3e\x22\x5d\x2c\x63\x6f\x6c\x3a\x5b\ -\x32\x2c\x22\x3c\x74\x61\x62\x6c\x65\x3e\x3c\x74\x62\x6f\x64\x79\ -\x3e\x3c\x2f\x74\x62\x6f\x64\x79\x3e\x3c\x63\x6f\x6c\x67\x72\x6f\ -\x75\x70\x3e\x22\x2c\x22\x3c\x2f\x63\x6f\x6c\x67\x72\x6f\x75\x70\ -\x3e\x3c\x2f\x74\x61\x62\x6c\x65\x3e\x22\x5d\x2c\x74\x64\x3a\x5b\ -\x33\x2c\x22\x3c\x74\x61\x62\x6c\x65\x3e\x3c\x74\x62\x6f\x64\x79\ -\x3e\x3c\x74\x72\x3e\x22\x2c\x22\x3c\x2f\x74\x72\x3e\x3c\x2f\x74\ -\x62\x6f\x64\x79\x3e\x3c\x2f\x74\x61\x62\x6c\x65\x3e\x22\x5d\x2c\ -\x5f\x64\x65\x66\x61\x75\x6c\x74\x3a\x6c\x2e\x68\x74\x6d\x6c\x53\ -\x65\x72\x69\x61\x6c\x69\x7a\x65\x3f\x5b\x30\x2c\x22\x22\x2c\x22\ -\x22\x5d\x3a\x5b\x31\x2c\x22\x58\x3c\x64\x69\x76\x3e\x22\x2c\x22\ -\x3c\x2f\x64\x69\x76\x3e\x22\x5d\x7d\x2c\x74\x62\x3d\x65\x62\x28\ -\x7a\x29\x2c\x75\x62\x3d\x74\x62\x2e\x61\x70\x70\x65\x6e\x64\x43\ -\x68\x69\x6c\x64\x28\x7a\x2e\x63\x72\x65\x61\x74\x65\x45\x6c\x65\ -\x6d\x65\x6e\x74\x28\x22\x64\x69\x76\x22\x29\x29\x3b\x73\x62\x2e\ -\x6f\x70\x74\x67\x72\x6f\x75\x70\x3d\x73\x62\x2e\x6f\x70\x74\x69\ -\x6f\x6e\x2c\x73\x62\x2e\x74\x62\x6f\x64\x79\x3d\x73\x62\x2e\x74\ -\x66\x6f\x6f\x74\x3d\x73\x62\x2e\x63\x6f\x6c\x67\x72\x6f\x75\x70\ -\x3d\x73\x62\x2e\x63\x61\x70\x74\x69\x6f\x6e\x3d\x73\x62\x2e\x74\ -\x68\x65\x61\x64\x2c\x73\x62\x2e\x74\x68\x3d\x73\x62\x2e\x74\x64\ -\x3b\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x76\x62\x28\x61\x2c\x62\ -\x29\x7b\x76\x61\x72\x20\x63\x2c\x64\x2c\x65\x3d\x30\x2c\x66\x3d\ -\x74\x79\x70\x65\x6f\x66\x20\x61\x2e\x67\x65\x74\x45\x6c\x65\x6d\ -\x65\x6e\x74\x73\x42\x79\x54\x61\x67\x4e\x61\x6d\x65\x21\x3d\x3d\ -\x4c\x3f\x61\x2e\x67\x65\x74\x45\x6c\x65\x6d\x65\x6e\x74\x73\x42\ -\x79\x54\x61\x67\x4e\x61\x6d\x65\x28\x62\x7c\x7c\x22\x2a\x22\x29\ -\x3a\x74\x79\x70\x65\x6f\x66\x20\x61\x2e\x71\x75\x65\x72\x79\x53\ -\x65\x6c\x65\x63\x74\x6f\x72\x41\x6c\x6c\x21\x3d\x3d\x4c\x3f\x61\ -\x2e\x71\x75\x65\x72\x79\x53\x65\x6c\x65\x63\x74\x6f\x72\x41\x6c\ -\x6c\x28\x62\x7c\x7c\x22\x2a\x22\x29\x3a\x76\x6f\x69\x64\x20\x30\ -\x3b\x69\x66\x28\x21\x66\x29\x66\x6f\x72\x28\x66\x3d\x5b\x5d\x2c\ -\x63\x3d\x61\x2e\x63\x68\x69\x6c\x64\x4e\x6f\x64\x65\x73\x7c\x7c\ -\x61\x3b\x6e\x75\x6c\x6c\x21\x3d\x28\x64\x3d\x63\x5b\x65\x5d\x29\ -\x3b\x65\x2b\x2b\x29\x21\x62\x7c\x7c\x6e\x2e\x6e\x6f\x64\x65\x4e\ -\x61\x6d\x65\x28\x64\x2c\x62\x29\x3f\x66\x2e\x70\x75\x73\x68\x28\ -\x64\x29\x3a\x6e\x2e\x6d\x65\x72\x67\x65\x28\x66\x2c\x76\x62\x28\ -\x64\x2c\x62\x29\x29\x3b\x72\x65\x74\x75\x72\x6e\x20\x76\x6f\x69\ -\x64\x20\x30\x3d\x3d\x3d\x62\x7c\x7c\x62\x26\x26\x6e\x2e\x6e\x6f\ -\x64\x65\x4e\x61\x6d\x65\x28\x61\x2c\x62\x29\x3f\x6e\x2e\x6d\x65\ -\x72\x67\x65\x28\x5b\x61\x5d\x2c\x66\x29\x3a\x66\x7d\x66\x75\x6e\ -\x63\x74\x69\x6f\x6e\x20\x77\x62\x28\x61\x29\x7b\x58\x2e\x74\x65\ -\x73\x74\x28\x61\x2e\x74\x79\x70\x65\x29\x26\x26\x28\x61\x2e\x64\ -\x65\x66\x61\x75\x6c\x74\x43\x68\x65\x63\x6b\x65\x64\x3d\x61\x2e\ -\x63\x68\x65\x63\x6b\x65\x64\x29\x7d\x66\x75\x6e\x63\x74\x69\x6f\ -\x6e\x20\x78\x62\x28\x61\x2c\x62\x29\x7b\x72\x65\x74\x75\x72\x6e\ -\x20\x6e\x2e\x6e\x6f\x64\x65\x4e\x61\x6d\x65\x28\x61\x2c\x22\x74\ -\x61\x62\x6c\x65\x22\x29\x26\x26\x6e\x2e\x6e\x6f\x64\x65\x4e\x61\ -\x6d\x65\x28\x31\x31\x21\x3d\x3d\x62\x2e\x6e\x6f\x64\x65\x54\x79\ -\x70\x65\x3f\x62\x3a\x62\x2e\x66\x69\x72\x73\x74\x43\x68\x69\x6c\ -\x64\x2c\x22\x74\x72\x22\x29\x3f\x61\x2e\x67\x65\x74\x45\x6c\x65\ -\x6d\x65\x6e\x74\x73\x42\x79\x54\x61\x67\x4e\x61\x6d\x65\x28\x22\ -\x74\x62\x6f\x64\x79\x22\x29\x5b\x30\x5d\x7c\x7c\x61\x2e\x61\x70\ -\x70\x65\x6e\x64\x43\x68\x69\x6c\x64\x28\x61\x2e\x6f\x77\x6e\x65\ -\x72\x44\x6f\x63\x75\x6d\x65\x6e\x74\x2e\x63\x72\x65\x61\x74\x65\ -\x45\x6c\x65\x6d\x65\x6e\x74\x28\x22\x74\x62\x6f\x64\x79\x22\x29\ -\x29\x3a\x61\x7d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x79\x62\x28\ -\x61\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x61\x2e\x74\x79\x70\x65\ -\x3d\x28\x6e\x75\x6c\x6c\x21\x3d\x3d\x6e\x2e\x66\x69\x6e\x64\x2e\ -\x61\x74\x74\x72\x28\x61\x2c\x22\x74\x79\x70\x65\x22\x29\x29\x2b\ -\x22\x2f\x22\x2b\x61\x2e\x74\x79\x70\x65\x2c\x61\x7d\x66\x75\x6e\ -\x63\x74\x69\x6f\x6e\x20\x7a\x62\x28\x61\x29\x7b\x76\x61\x72\x20\ -\x62\x3d\x71\x62\x2e\x65\x78\x65\x63\x28\x61\x2e\x74\x79\x70\x65\ -\x29\x3b\x72\x65\x74\x75\x72\x6e\x20\x62\x3f\x61\x2e\x74\x79\x70\ -\x65\x3d\x62\x5b\x31\x5d\x3a\x61\x2e\x72\x65\x6d\x6f\x76\x65\x41\ -\x74\x74\x72\x69\x62\x75\x74\x65\x28\x22\x74\x79\x70\x65\x22\x29\ -\x2c\x61\x7d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x41\x62\x28\x61\ -\x2c\x62\x29\x7b\x66\x6f\x72\x28\x76\x61\x72\x20\x63\x2c\x64\x3d\ -\x30\x3b\x6e\x75\x6c\x6c\x21\x3d\x28\x63\x3d\x61\x5b\x64\x5d\x29\ -\x3b\x64\x2b\x2b\x29\x6e\x2e\x5f\x64\x61\x74\x61\x28\x63\x2c\x22\ -\x67\x6c\x6f\x62\x61\x6c\x45\x76\x61\x6c\x22\x2c\x21\x62\x7c\x7c\ -\x6e\x2e\x5f\x64\x61\x74\x61\x28\x62\x5b\x64\x5d\x2c\x22\x67\x6c\ -\x6f\x62\x61\x6c\x45\x76\x61\x6c\x22\x29\x29\x7d\x66\x75\x6e\x63\ -\x74\x69\x6f\x6e\x20\x42\x62\x28\x61\x2c\x62\x29\x7b\x69\x66\x28\ -\x31\x3d\x3d\x3d\x62\x2e\x6e\x6f\x64\x65\x54\x79\x70\x65\x26\x26\ -\x6e\x2e\x68\x61\x73\x44\x61\x74\x61\x28\x61\x29\x29\x7b\x76\x61\ -\x72\x20\x63\x2c\x64\x2c\x65\x2c\x66\x3d\x6e\x2e\x5f\x64\x61\x74\ -\x61\x28\x61\x29\x2c\x67\x3d\x6e\x2e\x5f\x64\x61\x74\x61\x28\x62\ -\x2c\x66\x29\x2c\x68\x3d\x66\x2e\x65\x76\x65\x6e\x74\x73\x3b\x69\ -\x66\x28\x68\x29\x7b\x64\x65\x6c\x65\x74\x65\x20\x67\x2e\x68\x61\ -\x6e\x64\x6c\x65\x2c\x67\x2e\x65\x76\x65\x6e\x74\x73\x3d\x7b\x7d\ -\x3b\x66\x6f\x72\x28\x63\x20\x69\x6e\x20\x68\x29\x66\x6f\x72\x28\ -\x64\x3d\x30\x2c\x65\x3d\x68\x5b\x63\x5d\x2e\x6c\x65\x6e\x67\x74\ -\x68\x3b\x65\x3e\x64\x3b\x64\x2b\x2b\x29\x6e\x2e\x65\x76\x65\x6e\ -\x74\x2e\x61\x64\x64\x28\x62\x2c\x63\x2c\x68\x5b\x63\x5d\x5b\x64\ -\x5d\x29\x7d\x67\x2e\x64\x61\x74\x61\x26\x26\x28\x67\x2e\x64\x61\ -\x74\x61\x3d\x6e\x2e\x65\x78\x74\x65\x6e\x64\x28\x7b\x7d\x2c\x67\ -\x2e\x64\x61\x74\x61\x29\x29\x7d\x7d\x66\x75\x6e\x63\x74\x69\x6f\ -\x6e\x20\x43\x62\x28\x61\x2c\x62\x29\x7b\x76\x61\x72\x20\x63\x2c\ -\x64\x2c\x65\x3b\x69\x66\x28\x31\x3d\x3d\x3d\x62\x2e\x6e\x6f\x64\ -\x65\x54\x79\x70\x65\x29\x7b\x69\x66\x28\x63\x3d\x62\x2e\x6e\x6f\ -\x64\x65\x4e\x61\x6d\x65\x2e\x74\x6f\x4c\x6f\x77\x65\x72\x43\x61\ -\x73\x65\x28\x29\x2c\x21\x6c\x2e\x6e\x6f\x43\x6c\x6f\x6e\x65\x45\ -\x76\x65\x6e\x74\x26\x26\x62\x5b\x6e\x2e\x65\x78\x70\x61\x6e\x64\ -\x6f\x5d\x29\x7b\x65\x3d\x6e\x2e\x5f\x64\x61\x74\x61\x28\x62\x29\ -\x3b\x66\x6f\x72\x28\x64\x20\x69\x6e\x20\x65\x2e\x65\x76\x65\x6e\ -\x74\x73\x29\x6e\x2e\x72\x65\x6d\x6f\x76\x65\x45\x76\x65\x6e\x74\ -\x28\x62\x2c\x64\x2c\x65\x2e\x68\x61\x6e\x64\x6c\x65\x29\x3b\x62\ -\x2e\x72\x65\x6d\x6f\x76\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\ -\x28\x6e\x2e\x65\x78\x70\x61\x6e\x64\x6f\x29\x7d\x22\x73\x63\x72\ -\x69\x70\x74\x22\x3d\x3d\x3d\x63\x26\x26\x62\x2e\x74\x65\x78\x74\ -\x21\x3d\x3d\x61\x2e\x74\x65\x78\x74\x3f\x28\x79\x62\x28\x62\x29\ -\x2e\x74\x65\x78\x74\x3d\x61\x2e\x74\x65\x78\x74\x2c\x7a\x62\x28\ -\x62\x29\x29\x3a\x22\x6f\x62\x6a\x65\x63\x74\x22\x3d\x3d\x3d\x63\ -\x3f\x28\x62\x2e\x70\x61\x72\x65\x6e\x74\x4e\x6f\x64\x65\x26\x26\ -\x28\x62\x2e\x6f\x75\x74\x65\x72\x48\x54\x4d\x4c\x3d\x61\x2e\x6f\ -\x75\x74\x65\x72\x48\x54\x4d\x4c\x29\x2c\x6c\x2e\x68\x74\x6d\x6c\ -\x35\x43\x6c\x6f\x6e\x65\x26\x26\x61\x2e\x69\x6e\x6e\x65\x72\x48\ -\x54\x4d\x4c\x26\x26\x21\x6e\x2e\x74\x72\x69\x6d\x28\x62\x2e\x69\ -\x6e\x6e\x65\x72\x48\x54\x4d\x4c\x29\x26\x26\x28\x62\x2e\x69\x6e\ -\x6e\x65\x72\x48\x54\x4d\x4c\x3d\x61\x2e\x69\x6e\x6e\x65\x72\x48\ -\x54\x4d\x4c\x29\x29\x3a\x22\x69\x6e\x70\x75\x74\x22\x3d\x3d\x3d\ -\x63\x26\x26\x58\x2e\x74\x65\x73\x74\x28\x61\x2e\x74\x79\x70\x65\ -\x29\x3f\x28\x62\x2e\x64\x65\x66\x61\x75\x6c\x74\x43\x68\x65\x63\ -\x6b\x65\x64\x3d\x62\x2e\x63\x68\x65\x63\x6b\x65\x64\x3d\x61\x2e\ -\x63\x68\x65\x63\x6b\x65\x64\x2c\x62\x2e\x76\x61\x6c\x75\x65\x21\ -\x3d\x3d\x61\x2e\x76\x61\x6c\x75\x65\x26\x26\x28\x62\x2e\x76\x61\ -\x6c\x75\x65\x3d\x61\x2e\x76\x61\x6c\x75\x65\x29\x29\x3a\x22\x6f\ -\x70\x74\x69\x6f\x6e\x22\x3d\x3d\x3d\x63\x3f\x62\x2e\x64\x65\x66\ -\x61\x75\x6c\x74\x53\x65\x6c\x65\x63\x74\x65\x64\x3d\x62\x2e\x73\ -\x65\x6c\x65\x63\x74\x65\x64\x3d\x61\x2e\x64\x65\x66\x61\x75\x6c\ -\x74\x53\x65\x6c\x65\x63\x74\x65\x64\x3a\x28\x22\x69\x6e\x70\x75\ -\x74\x22\x3d\x3d\x3d\x63\x7c\x7c\x22\x74\x65\x78\x74\x61\x72\x65\ -\x61\x22\x3d\x3d\x3d\x63\x29\x26\x26\x28\x62\x2e\x64\x65\x66\x61\ -\x75\x6c\x74\x56\x61\x6c\x75\x65\x3d\x61\x2e\x64\x65\x66\x61\x75\ -\x6c\x74\x56\x61\x6c\x75\x65\x29\x7d\x7d\x6e\x2e\x65\x78\x74\x65\ -\x6e\x64\x28\x7b\x63\x6c\x6f\x6e\x65\x3a\x66\x75\x6e\x63\x74\x69\ -\x6f\x6e\x28\x61\x2c\x62\x2c\x63\x29\x7b\x76\x61\x72\x20\x64\x2c\ -\x65\x2c\x66\x2c\x67\x2c\x68\x2c\x69\x3d\x6e\x2e\x63\x6f\x6e\x74\ -\x61\x69\x6e\x73\x28\x61\x2e\x6f\x77\x6e\x65\x72\x44\x6f\x63\x75\ -\x6d\x65\x6e\x74\x2c\x61\x29\x3b\x69\x66\x28\x6c\x2e\x68\x74\x6d\ -\x6c\x35\x43\x6c\x6f\x6e\x65\x7c\x7c\x6e\x2e\x69\x73\x58\x4d\x4c\ -\x44\x6f\x63\x28\x61\x29\x7c\x7c\x21\x68\x62\x2e\x74\x65\x73\x74\ -\x28\x22\x3c\x22\x2b\x61\x2e\x6e\x6f\x64\x65\x4e\x61\x6d\x65\x2b\ -\x22\x3e\x22\x29\x3f\x66\x3d\x61\x2e\x63\x6c\x6f\x6e\x65\x4e\x6f\ -\x64\x65\x28\x21\x30\x29\x3a\x28\x75\x62\x2e\x69\x6e\x6e\x65\x72\ -\x48\x54\x4d\x4c\x3d\x61\x2e\x6f\x75\x74\x65\x72\x48\x54\x4d\x4c\ -\x2c\x75\x62\x2e\x72\x65\x6d\x6f\x76\x65\x43\x68\x69\x6c\x64\x28\ -\x66\x3d\x75\x62\x2e\x66\x69\x72\x73\x74\x43\x68\x69\x6c\x64\x29\ -\x29\x2c\x21\x28\x6c\x2e\x6e\x6f\x43\x6c\x6f\x6e\x65\x45\x76\x65\ -\x6e\x74\x26\x26\x6c\x2e\x6e\x6f\x43\x6c\x6f\x6e\x65\x43\x68\x65\ -\x63\x6b\x65\x64\x7c\x7c\x31\x21\x3d\x3d\x61\x2e\x6e\x6f\x64\x65\ -\x54\x79\x70\x65\x26\x26\x31\x31\x21\x3d\x3d\x61\x2e\x6e\x6f\x64\ -\x65\x54\x79\x70\x65\x7c\x7c\x6e\x2e\x69\x73\x58\x4d\x4c\x44\x6f\ -\x63\x28\x61\x29\x29\x29\x66\x6f\x72\x28\x64\x3d\x76\x62\x28\x66\ -\x29\x2c\x68\x3d\x76\x62\x28\x61\x29\x2c\x67\x3d\x30\x3b\x6e\x75\ -\x6c\x6c\x21\x3d\x28\x65\x3d\x68\x5b\x67\x5d\x29\x3b\x2b\x2b\x67\ -\x29\x64\x5b\x67\x5d\x26\x26\x43\x62\x28\x65\x2c\x64\x5b\x67\x5d\ -\x29\x3b\x69\x66\x28\x62\x29\x69\x66\x28\x63\x29\x66\x6f\x72\x28\ -\x68\x3d\x68\x7c\x7c\x76\x62\x28\x61\x29\x2c\x64\x3d\x64\x7c\x7c\ -\x76\x62\x28\x66\x29\x2c\x67\x3d\x30\x3b\x6e\x75\x6c\x6c\x21\x3d\ -\x28\x65\x3d\x68\x5b\x67\x5d\x29\x3b\x67\x2b\x2b\x29\x42\x62\x28\ -\x65\x2c\x64\x5b\x67\x5d\x29\x3b\x65\x6c\x73\x65\x20\x42\x62\x28\ -\x61\x2c\x66\x29\x3b\x72\x65\x74\x75\x72\x6e\x20\x64\x3d\x76\x62\ -\x28\x66\x2c\x22\x73\x63\x72\x69\x70\x74\x22\x29\x2c\x64\x2e\x6c\ -\x65\x6e\x67\x74\x68\x3e\x30\x26\x26\x41\x62\x28\x64\x2c\x21\x69\ -\x26\x26\x76\x62\x28\x61\x2c\x22\x73\x63\x72\x69\x70\x74\x22\x29\ -\x29\x2c\x64\x3d\x68\x3d\x65\x3d\x6e\x75\x6c\x6c\x2c\x66\x7d\x2c\ -\x62\x75\x69\x6c\x64\x46\x72\x61\x67\x6d\x65\x6e\x74\x3a\x66\x75\ -\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x2c\x63\x2c\x64\x29\x7b\ -\x66\x6f\x72\x28\x76\x61\x72\x20\x65\x2c\x66\x2c\x67\x2c\x68\x2c\ -\x69\x2c\x6a\x2c\x6b\x2c\x6d\x3d\x61\x2e\x6c\x65\x6e\x67\x74\x68\ -\x2c\x6f\x3d\x65\x62\x28\x62\x29\x2c\x70\x3d\x5b\x5d\x2c\x71\x3d\ -\x30\x3b\x6d\x3e\x71\x3b\x71\x2b\x2b\x29\x69\x66\x28\x66\x3d\x61\ -\x5b\x71\x5d\x2c\x66\x7c\x7c\x30\x3d\x3d\x3d\x66\x29\x69\x66\x28\ -\x22\x6f\x62\x6a\x65\x63\x74\x22\x3d\x3d\x3d\x6e\x2e\x74\x79\x70\ -\x65\x28\x66\x29\x29\x6e\x2e\x6d\x65\x72\x67\x65\x28\x70\x2c\x66\ -\x2e\x6e\x6f\x64\x65\x54\x79\x70\x65\x3f\x5b\x66\x5d\x3a\x66\x29\ -\x3b\x65\x6c\x73\x65\x20\x69\x66\x28\x6d\x62\x2e\x74\x65\x73\x74\ -\x28\x66\x29\x29\x7b\x68\x3d\x68\x7c\x7c\x6f\x2e\x61\x70\x70\x65\ -\x6e\x64\x43\x68\x69\x6c\x64\x28\x62\x2e\x63\x72\x65\x61\x74\x65\ -\x45\x6c\x65\x6d\x65\x6e\x74\x28\x22\x64\x69\x76\x22\x29\x29\x2c\ -\x69\x3d\x28\x6b\x62\x2e\x65\x78\x65\x63\x28\x66\x29\x7c\x7c\x5b\ -\x22\x22\x2c\x22\x22\x5d\x29\x5b\x31\x5d\x2e\x74\x6f\x4c\x6f\x77\ -\x65\x72\x43\x61\x73\x65\x28\x29\x2c\x6b\x3d\x73\x62\x5b\x69\x5d\ -\x7c\x7c\x73\x62\x2e\x5f\x64\x65\x66\x61\x75\x6c\x74\x2c\x68\x2e\ -\x69\x6e\x6e\x65\x72\x48\x54\x4d\x4c\x3d\x6b\x5b\x31\x5d\x2b\x66\ -\x2e\x72\x65\x70\x6c\x61\x63\x65\x28\x6a\x62\x2c\x22\x3c\x24\x31\ -\x3e\x3c\x2f\x24\x32\x3e\x22\x29\x2b\x6b\x5b\x32\x5d\x2c\x65\x3d\ -\x6b\x5b\x30\x5d\x3b\x77\x68\x69\x6c\x65\x28\x65\x2d\x2d\x29\x68\ -\x3d\x68\x2e\x6c\x61\x73\x74\x43\x68\x69\x6c\x64\x3b\x69\x66\x28\ -\x21\x6c\x2e\x6c\x65\x61\x64\x69\x6e\x67\x57\x68\x69\x74\x65\x73\ -\x70\x61\x63\x65\x26\x26\x69\x62\x2e\x74\x65\x73\x74\x28\x66\x29\ -\x26\x26\x70\x2e\x70\x75\x73\x68\x28\x62\x2e\x63\x72\x65\x61\x74\ -\x65\x54\x65\x78\x74\x4e\x6f\x64\x65\x28\x69\x62\x2e\x65\x78\x65\ -\x63\x28\x66\x29\x5b\x30\x5d\x29\x29\x2c\x21\x6c\x2e\x74\x62\x6f\ -\x64\x79\x29\x7b\x66\x3d\x22\x74\x61\x62\x6c\x65\x22\x21\x3d\x3d\ -\x69\x7c\x7c\x6c\x62\x2e\x74\x65\x73\x74\x28\x66\x29\x3f\x22\x3c\ -\x74\x61\x62\x6c\x65\x3e\x22\x21\x3d\x3d\x6b\x5b\x31\x5d\x7c\x7c\ -\x6c\x62\x2e\x74\x65\x73\x74\x28\x66\x29\x3f\x30\x3a\x68\x3a\x68\ -\x2e\x66\x69\x72\x73\x74\x43\x68\x69\x6c\x64\x2c\x65\x3d\x66\x26\ -\x26\x66\x2e\x63\x68\x69\x6c\x64\x4e\x6f\x64\x65\x73\x2e\x6c\x65\ -\x6e\x67\x74\x68\x3b\x77\x68\x69\x6c\x65\x28\x65\x2d\x2d\x29\x6e\ -\x2e\x6e\x6f\x64\x65\x4e\x61\x6d\x65\x28\x6a\x3d\x66\x2e\x63\x68\ -\x69\x6c\x64\x4e\x6f\x64\x65\x73\x5b\x65\x5d\x2c\x22\x74\x62\x6f\ -\x64\x79\x22\x29\x26\x26\x21\x6a\x2e\x63\x68\x69\x6c\x64\x4e\x6f\ -\x64\x65\x73\x2e\x6c\x65\x6e\x67\x74\x68\x26\x26\x66\x2e\x72\x65\ -\x6d\x6f\x76\x65\x43\x68\x69\x6c\x64\x28\x6a\x29\x7d\x6e\x2e\x6d\ -\x65\x72\x67\x65\x28\x70\x2c\x68\x2e\x63\x68\x69\x6c\x64\x4e\x6f\ -\x64\x65\x73\x29\x2c\x68\x2e\x74\x65\x78\x74\x43\x6f\x6e\x74\x65\ -\x6e\x74\x3d\x22\x22\x3b\x77\x68\x69\x6c\x65\x28\x68\x2e\x66\x69\ -\x72\x73\x74\x43\x68\x69\x6c\x64\x29\x68\x2e\x72\x65\x6d\x6f\x76\ -\x65\x43\x68\x69\x6c\x64\x28\x68\x2e\x66\x69\x72\x73\x74\x43\x68\ -\x69\x6c\x64\x29\x3b\x68\x3d\x6f\x2e\x6c\x61\x73\x74\x43\x68\x69\ -\x6c\x64\x7d\x65\x6c\x73\x65\x20\x70\x2e\x70\x75\x73\x68\x28\x62\ -\x2e\x63\x72\x65\x61\x74\x65\x54\x65\x78\x74\x4e\x6f\x64\x65\x28\ -\x66\x29\x29\x3b\x68\x26\x26\x6f\x2e\x72\x65\x6d\x6f\x76\x65\x43\ -\x68\x69\x6c\x64\x28\x68\x29\x2c\x6c\x2e\x61\x70\x70\x65\x6e\x64\ -\x43\x68\x65\x63\x6b\x65\x64\x7c\x7c\x6e\x2e\x67\x72\x65\x70\x28\ -\x76\x62\x28\x70\x2c\x22\x69\x6e\x70\x75\x74\x22\x29\x2c\x77\x62\ -\x29\x2c\x71\x3d\x30\x3b\x77\x68\x69\x6c\x65\x28\x66\x3d\x70\x5b\ -\x71\x2b\x2b\x5d\x29\x69\x66\x28\x28\x21\x64\x7c\x7c\x2d\x31\x3d\ -\x3d\x3d\x6e\x2e\x69\x6e\x41\x72\x72\x61\x79\x28\x66\x2c\x64\x29\ -\x29\x26\x26\x28\x67\x3d\x6e\x2e\x63\x6f\x6e\x74\x61\x69\x6e\x73\ -\x28\x66\x2e\x6f\x77\x6e\x65\x72\x44\x6f\x63\x75\x6d\x65\x6e\x74\ -\x2c\x66\x29\x2c\x68\x3d\x76\x62\x28\x6f\x2e\x61\x70\x70\x65\x6e\ -\x64\x43\x68\x69\x6c\x64\x28\x66\x29\x2c\x22\x73\x63\x72\x69\x70\ -\x74\x22\x29\x2c\x67\x26\x26\x41\x62\x28\x68\x29\x2c\x63\x29\x29\ -\x7b\x65\x3d\x30\x3b\x77\x68\x69\x6c\x65\x28\x66\x3d\x68\x5b\x65\ -\x2b\x2b\x5d\x29\x70\x62\x2e\x74\x65\x73\x74\x28\x66\x2e\x74\x79\ -\x70\x65\x7c\x7c\x22\x22\x29\x26\x26\x63\x2e\x70\x75\x73\x68\x28\ -\x66\x29\x7d\x72\x65\x74\x75\x72\x6e\x20\x68\x3d\x6e\x75\x6c\x6c\ -\x2c\x6f\x7d\x2c\x63\x6c\x65\x61\x6e\x44\x61\x74\x61\x3a\x66\x75\ -\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x29\x7b\x66\x6f\x72\x28\ -\x76\x61\x72\x20\x64\x2c\x65\x2c\x66\x2c\x67\x2c\x68\x3d\x30\x2c\ -\x69\x3d\x6e\x2e\x65\x78\x70\x61\x6e\x64\x6f\x2c\x6a\x3d\x6e\x2e\ -\x63\x61\x63\x68\x65\x2c\x6b\x3d\x6c\x2e\x64\x65\x6c\x65\x74\x65\ -\x45\x78\x70\x61\x6e\x64\x6f\x2c\x6d\x3d\x6e\x2e\x65\x76\x65\x6e\ -\x74\x2e\x73\x70\x65\x63\x69\x61\x6c\x3b\x6e\x75\x6c\x6c\x21\x3d\ -\x28\x64\x3d\x61\x5b\x68\x5d\x29\x3b\x68\x2b\x2b\x29\x69\x66\x28\ -\x28\x62\x7c\x7c\x6e\x2e\x61\x63\x63\x65\x70\x74\x44\x61\x74\x61\ -\x28\x64\x29\x29\x26\x26\x28\x66\x3d\x64\x5b\x69\x5d\x2c\x67\x3d\ -\x66\x26\x26\x6a\x5b\x66\x5d\x29\x29\x7b\x69\x66\x28\x67\x2e\x65\ -\x76\x65\x6e\x74\x73\x29\x66\x6f\x72\x28\x65\x20\x69\x6e\x20\x67\ -\x2e\x65\x76\x65\x6e\x74\x73\x29\x6d\x5b\x65\x5d\x3f\x6e\x2e\x65\ -\x76\x65\x6e\x74\x2e\x72\x65\x6d\x6f\x76\x65\x28\x64\x2c\x65\x29\ -\x3a\x6e\x2e\x72\x65\x6d\x6f\x76\x65\x45\x76\x65\x6e\x74\x28\x64\ -\x2c\x65\x2c\x67\x2e\x68\x61\x6e\x64\x6c\x65\x29\x3b\x6a\x5b\x66\ -\x5d\x26\x26\x28\x64\x65\x6c\x65\x74\x65\x20\x6a\x5b\x66\x5d\x2c\ -\x6b\x3f\x64\x65\x6c\x65\x74\x65\x20\x64\x5b\x69\x5d\x3a\x74\x79\ -\x70\x65\x6f\x66\x20\x64\x2e\x72\x65\x6d\x6f\x76\x65\x41\x74\x74\ -\x72\x69\x62\x75\x74\x65\x21\x3d\x3d\x4c\x3f\x64\x2e\x72\x65\x6d\ -\x6f\x76\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x28\x69\x29\x3a\ -\x64\x5b\x69\x5d\x3d\x6e\x75\x6c\x6c\x2c\x63\x2e\x70\x75\x73\x68\ -\x28\x66\x29\x29\x7d\x7d\x7d\x29\x2c\x6e\x2e\x66\x6e\x2e\x65\x78\ -\x74\x65\x6e\x64\x28\x7b\x74\x65\x78\x74\x3a\x66\x75\x6e\x63\x74\ -\x69\x6f\x6e\x28\x61\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x57\x28\ -\x74\x68\x69\x73\x2c\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\ -\x7b\x72\x65\x74\x75\x72\x6e\x20\x76\x6f\x69\x64\x20\x30\x3d\x3d\ -\x3d\x61\x3f\x6e\x2e\x74\x65\x78\x74\x28\x74\x68\x69\x73\x29\x3a\ -\x74\x68\x69\x73\x2e\x65\x6d\x70\x74\x79\x28\x29\x2e\x61\x70\x70\ -\x65\x6e\x64\x28\x28\x74\x68\x69\x73\x5b\x30\x5d\x26\x26\x74\x68\ -\x69\x73\x5b\x30\x5d\x2e\x6f\x77\x6e\x65\x72\x44\x6f\x63\x75\x6d\ -\x65\x6e\x74\x7c\x7c\x7a\x29\x2e\x63\x72\x65\x61\x74\x65\x54\x65\ -\x78\x74\x4e\x6f\x64\x65\x28\x61\x29\x29\x7d\x2c\x6e\x75\x6c\x6c\ -\x2c\x61\x2c\x61\x72\x67\x75\x6d\x65\x6e\x74\x73\x2e\x6c\x65\x6e\ -\x67\x74\x68\x29\x7d\x2c\x61\x70\x70\x65\x6e\x64\x3a\x66\x75\x6e\ -\x63\x74\x69\x6f\x6e\x28\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x74\ -\x68\x69\x73\x2e\x64\x6f\x6d\x4d\x61\x6e\x69\x70\x28\x61\x72\x67\ -\x75\x6d\x65\x6e\x74\x73\x2c\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\ -\x61\x29\x7b\x69\x66\x28\x31\x3d\x3d\x3d\x74\x68\x69\x73\x2e\x6e\ -\x6f\x64\x65\x54\x79\x70\x65\x7c\x7c\x31\x31\x3d\x3d\x3d\x74\x68\ -\x69\x73\x2e\x6e\x6f\x64\x65\x54\x79\x70\x65\x7c\x7c\x39\x3d\x3d\ -\x3d\x74\x68\x69\x73\x2e\x6e\x6f\x64\x65\x54\x79\x70\x65\x29\x7b\ -\x76\x61\x72\x20\x62\x3d\x78\x62\x28\x74\x68\x69\x73\x2c\x61\x29\ -\x3b\x62\x2e\x61\x70\x70\x65\x6e\x64\x43\x68\x69\x6c\x64\x28\x61\ -\x29\x7d\x7d\x29\x7d\x2c\x70\x72\x65\x70\x65\x6e\x64\x3a\x66\x75\ -\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\ -\x74\x68\x69\x73\x2e\x64\x6f\x6d\x4d\x61\x6e\x69\x70\x28\x61\x72\ -\x67\x75\x6d\x65\x6e\x74\x73\x2c\x66\x75\x6e\x63\x74\x69\x6f\x6e\ -\x28\x61\x29\x7b\x69\x66\x28\x31\x3d\x3d\x3d\x74\x68\x69\x73\x2e\ -\x6e\x6f\x64\x65\x54\x79\x70\x65\x7c\x7c\x31\x31\x3d\x3d\x3d\x74\ -\x68\x69\x73\x2e\x6e\x6f\x64\x65\x54\x79\x70\x65\x7c\x7c\x39\x3d\ -\x3d\x3d\x74\x68\x69\x73\x2e\x6e\x6f\x64\x65\x54\x79\x70\x65\x29\ -\x7b\x76\x61\x72\x20\x62\x3d\x78\x62\x28\x74\x68\x69\x73\x2c\x61\ -\x29\x3b\x62\x2e\x69\x6e\x73\x65\x72\x74\x42\x65\x66\x6f\x72\x65\ -\x28\x61\x2c\x62\x2e\x66\x69\x72\x73\x74\x43\x68\x69\x6c\x64\x29\ -\x7d\x7d\x29\x7d\x2c\x62\x65\x66\x6f\x72\x65\x3a\x66\x75\x6e\x63\ -\x74\x69\x6f\x6e\x28\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x74\x68\ -\x69\x73\x2e\x64\x6f\x6d\x4d\x61\x6e\x69\x70\x28\x61\x72\x67\x75\ -\x6d\x65\x6e\x74\x73\x2c\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\ -\x29\x7b\x74\x68\x69\x73\x2e\x70\x61\x72\x65\x6e\x74\x4e\x6f\x64\ -\x65\x26\x26\x74\x68\x69\x73\x2e\x70\x61\x72\x65\x6e\x74\x4e\x6f\ -\x64\x65\x2e\x69\x6e\x73\x65\x72\x74\x42\x65\x66\x6f\x72\x65\x28\ -\x61\x2c\x74\x68\x69\x73\x29\x7d\x29\x7d\x2c\x61\x66\x74\x65\x72\ -\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x72\x65\x74\x75\ -\x72\x6e\x20\x74\x68\x69\x73\x2e\x64\x6f\x6d\x4d\x61\x6e\x69\x70\ -\x28\x61\x72\x67\x75\x6d\x65\x6e\x74\x73\x2c\x66\x75\x6e\x63\x74\ -\x69\x6f\x6e\x28\x61\x29\x7b\x74\x68\x69\x73\x2e\x70\x61\x72\x65\ -\x6e\x74\x4e\x6f\x64\x65\x26\x26\x74\x68\x69\x73\x2e\x70\x61\x72\ -\x65\x6e\x74\x4e\x6f\x64\x65\x2e\x69\x6e\x73\x65\x72\x74\x42\x65\ -\x66\x6f\x72\x65\x28\x61\x2c\x74\x68\x69\x73\x2e\x6e\x65\x78\x74\ -\x53\x69\x62\x6c\x69\x6e\x67\x29\x7d\x29\x7d\x2c\x72\x65\x6d\x6f\ -\x76\x65\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x29\ -\x7b\x66\x6f\x72\x28\x76\x61\x72\x20\x63\x2c\x64\x3d\x61\x3f\x6e\ -\x2e\x66\x69\x6c\x74\x65\x72\x28\x61\x2c\x74\x68\x69\x73\x29\x3a\ -\x74\x68\x69\x73\x2c\x65\x3d\x30\x3b\x6e\x75\x6c\x6c\x21\x3d\x28\ -\x63\x3d\x64\x5b\x65\x5d\x29\x3b\x65\x2b\x2b\x29\x62\x7c\x7c\x31\ -\x21\x3d\x3d\x63\x2e\x6e\x6f\x64\x65\x54\x79\x70\x65\x7c\x7c\x6e\ -\x2e\x63\x6c\x65\x61\x6e\x44\x61\x74\x61\x28\x76\x62\x28\x63\x29\ -\x29\x2c\x63\x2e\x70\x61\x72\x65\x6e\x74\x4e\x6f\x64\x65\x26\x26\ -\x28\x62\x26\x26\x6e\x2e\x63\x6f\x6e\x74\x61\x69\x6e\x73\x28\x63\ -\x2e\x6f\x77\x6e\x65\x72\x44\x6f\x63\x75\x6d\x65\x6e\x74\x2c\x63\ -\x29\x26\x26\x41\x62\x28\x76\x62\x28\x63\x2c\x22\x73\x63\x72\x69\ -\x70\x74\x22\x29\x29\x2c\x63\x2e\x70\x61\x72\x65\x6e\x74\x4e\x6f\ -\x64\x65\x2e\x72\x65\x6d\x6f\x76\x65\x43\x68\x69\x6c\x64\x28\x63\ -\x29\x29\x3b\x72\x65\x74\x75\x72\x6e\x20\x74\x68\x69\x73\x7d\x2c\ -\x65\x6d\x70\x74\x79\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\ -\x7b\x66\x6f\x72\x28\x76\x61\x72\x20\x61\x2c\x62\x3d\x30\x3b\x6e\ -\x75\x6c\x6c\x21\x3d\x28\x61\x3d\x74\x68\x69\x73\x5b\x62\x5d\x29\ -\x3b\x62\x2b\x2b\x29\x7b\x31\x3d\x3d\x3d\x61\x2e\x6e\x6f\x64\x65\ -\x54\x79\x70\x65\x26\x26\x6e\x2e\x63\x6c\x65\x61\x6e\x44\x61\x74\ -\x61\x28\x76\x62\x28\x61\x2c\x21\x31\x29\x29\x3b\x77\x68\x69\x6c\ -\x65\x28\x61\x2e\x66\x69\x72\x73\x74\x43\x68\x69\x6c\x64\x29\x61\ -\x2e\x72\x65\x6d\x6f\x76\x65\x43\x68\x69\x6c\x64\x28\x61\x2e\x66\ -\x69\x72\x73\x74\x43\x68\x69\x6c\x64\x29\x3b\x61\x2e\x6f\x70\x74\ -\x69\x6f\x6e\x73\x26\x26\x6e\x2e\x6e\x6f\x64\x65\x4e\x61\x6d\x65\ -\x28\x61\x2c\x22\x73\x65\x6c\x65\x63\x74\x22\x29\x26\x26\x28\x61\ -\x2e\x6f\x70\x74\x69\x6f\x6e\x73\x2e\x6c\x65\x6e\x67\x74\x68\x3d\ -\x30\x29\x7d\x72\x65\x74\x75\x72\x6e\x20\x74\x68\x69\x73\x7d\x2c\ -\x63\x6c\x6f\x6e\x65\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\ -\x2c\x62\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x61\x3d\x6e\x75\x6c\ -\x6c\x3d\x3d\x61\x3f\x21\x31\x3a\x61\x2c\x62\x3d\x6e\x75\x6c\x6c\ -\x3d\x3d\x62\x3f\x61\x3a\x62\x2c\x74\x68\x69\x73\x2e\x6d\x61\x70\ -\x28\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x72\x65\x74\x75\ -\x72\x6e\x20\x6e\x2e\x63\x6c\x6f\x6e\x65\x28\x74\x68\x69\x73\x2c\ -\x61\x2c\x62\x29\x7d\x29\x7d\x2c\x68\x74\x6d\x6c\x3a\x66\x75\x6e\ -\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\ -\x57\x28\x74\x68\x69\x73\x2c\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\ -\x61\x29\x7b\x76\x61\x72\x20\x62\x3d\x74\x68\x69\x73\x5b\x30\x5d\ -\x7c\x7c\x7b\x7d\x2c\x63\x3d\x30\x2c\x64\x3d\x74\x68\x69\x73\x2e\ -\x6c\x65\x6e\x67\x74\x68\x3b\x69\x66\x28\x76\x6f\x69\x64\x20\x30\ -\x3d\x3d\x3d\x61\x29\x72\x65\x74\x75\x72\x6e\x20\x31\x3d\x3d\x3d\ -\x62\x2e\x6e\x6f\x64\x65\x54\x79\x70\x65\x3f\x62\x2e\x69\x6e\x6e\ -\x65\x72\x48\x54\x4d\x4c\x2e\x72\x65\x70\x6c\x61\x63\x65\x28\x67\ -\x62\x2c\x22\x22\x29\x3a\x76\x6f\x69\x64\x20\x30\x3b\x69\x66\x28\ -\x21\x28\x22\x73\x74\x72\x69\x6e\x67\x22\x21\x3d\x74\x79\x70\x65\ -\x6f\x66\x20\x61\x7c\x7c\x6e\x62\x2e\x74\x65\x73\x74\x28\x61\x29\ -\x7c\x7c\x21\x6c\x2e\x68\x74\x6d\x6c\x53\x65\x72\x69\x61\x6c\x69\ -\x7a\x65\x26\x26\x68\x62\x2e\x74\x65\x73\x74\x28\x61\x29\x7c\x7c\ -\x21\x6c\x2e\x6c\x65\x61\x64\x69\x6e\x67\x57\x68\x69\x74\x65\x73\ -\x70\x61\x63\x65\x26\x26\x69\x62\x2e\x74\x65\x73\x74\x28\x61\x29\ -\x7c\x7c\x73\x62\x5b\x28\x6b\x62\x2e\x65\x78\x65\x63\x28\x61\x29\ -\x7c\x7c\x5b\x22\x22\x2c\x22\x22\x5d\x29\x5b\x31\x5d\x2e\x74\x6f\ -\x4c\x6f\x77\x65\x72\x43\x61\x73\x65\x28\x29\x5d\x29\x29\x7b\x61\ -\x3d\x61\x2e\x72\x65\x70\x6c\x61\x63\x65\x28\x6a\x62\x2c\x22\x3c\ -\x24\x31\x3e\x3c\x2f\x24\x32\x3e\x22\x29\x3b\x74\x72\x79\x7b\x66\ -\x6f\x72\x28\x3b\x64\x3e\x63\x3b\x63\x2b\x2b\x29\x62\x3d\x74\x68\ -\x69\x73\x5b\x63\x5d\x7c\x7c\x7b\x7d\x2c\x31\x3d\x3d\x3d\x62\x2e\ -\x6e\x6f\x64\x65\x54\x79\x70\x65\x26\x26\x28\x6e\x2e\x63\x6c\x65\ -\x61\x6e\x44\x61\x74\x61\x28\x76\x62\x28\x62\x2c\x21\x31\x29\x29\ -\x2c\x62\x2e\x69\x6e\x6e\x65\x72\x48\x54\x4d\x4c\x3d\x61\x29\x3b\ -\x62\x3d\x30\x7d\x63\x61\x74\x63\x68\x28\x65\x29\x7b\x7d\x7d\x62\ -\x26\x26\x74\x68\x69\x73\x2e\x65\x6d\x70\x74\x79\x28\x29\x2e\x61\ -\x70\x70\x65\x6e\x64\x28\x61\x29\x7d\x2c\x6e\x75\x6c\x6c\x2c\x61\ -\x2c\x61\x72\x67\x75\x6d\x65\x6e\x74\x73\x2e\x6c\x65\x6e\x67\x74\ -\x68\x29\x7d\x2c\x72\x65\x70\x6c\x61\x63\x65\x57\x69\x74\x68\x3a\ -\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x76\x61\x72\x20\x61\ -\x3d\x61\x72\x67\x75\x6d\x65\x6e\x74\x73\x5b\x30\x5d\x3b\x72\x65\ -\x74\x75\x72\x6e\x20\x74\x68\x69\x73\x2e\x64\x6f\x6d\x4d\x61\x6e\ -\x69\x70\x28\x61\x72\x67\x75\x6d\x65\x6e\x74\x73\x2c\x66\x75\x6e\ -\x63\x74\x69\x6f\x6e\x28\x62\x29\x7b\x61\x3d\x74\x68\x69\x73\x2e\ -\x70\x61\x72\x65\x6e\x74\x4e\x6f\x64\x65\x2c\x6e\x2e\x63\x6c\x65\ -\x61\x6e\x44\x61\x74\x61\x28\x76\x62\x28\x74\x68\x69\x73\x29\x29\ -\x2c\x61\x26\x26\x61\x2e\x72\x65\x70\x6c\x61\x63\x65\x43\x68\x69\ -\x6c\x64\x28\x62\x2c\x74\x68\x69\x73\x29\x7d\x29\x2c\x61\x26\x26\ -\x28\x61\x2e\x6c\x65\x6e\x67\x74\x68\x7c\x7c\x61\x2e\x6e\x6f\x64\ -\x65\x54\x79\x70\x65\x29\x3f\x74\x68\x69\x73\x3a\x74\x68\x69\x73\ -\x2e\x72\x65\x6d\x6f\x76\x65\x28\x29\x7d\x2c\x64\x65\x74\x61\x63\ -\x68\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x72\x65\ -\x74\x75\x72\x6e\x20\x74\x68\x69\x73\x2e\x72\x65\x6d\x6f\x76\x65\ -\x28\x61\x2c\x21\x30\x29\x7d\x2c\x64\x6f\x6d\x4d\x61\x6e\x69\x70\ -\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x29\x7b\x61\ -\x3d\x65\x2e\x61\x70\x70\x6c\x79\x28\x5b\x5d\x2c\x61\x29\x3b\x76\ -\x61\x72\x20\x63\x2c\x64\x2c\x66\x2c\x67\x2c\x68\x2c\x69\x2c\x6a\ -\x3d\x30\x2c\x6b\x3d\x74\x68\x69\x73\x2e\x6c\x65\x6e\x67\x74\x68\ -\x2c\x6d\x3d\x74\x68\x69\x73\x2c\x6f\x3d\x6b\x2d\x31\x2c\x70\x3d\ -\x61\x5b\x30\x5d\x2c\x71\x3d\x6e\x2e\x69\x73\x46\x75\x6e\x63\x74\ -\x69\x6f\x6e\x28\x70\x29\x3b\x69\x66\x28\x71\x7c\x7c\x6b\x3e\x31\ -\x26\x26\x22\x73\x74\x72\x69\x6e\x67\x22\x3d\x3d\x74\x79\x70\x65\ -\x6f\x66\x20\x70\x26\x26\x21\x6c\x2e\x63\x68\x65\x63\x6b\x43\x6c\ -\x6f\x6e\x65\x26\x26\x6f\x62\x2e\x74\x65\x73\x74\x28\x70\x29\x29\ -\x72\x65\x74\x75\x72\x6e\x20\x74\x68\x69\x73\x2e\x65\x61\x63\x68\ -\x28\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x63\x29\x7b\x76\x61\x72\ -\x20\x64\x3d\x6d\x2e\x65\x71\x28\x63\x29\x3b\x71\x26\x26\x28\x61\ -\x5b\x30\x5d\x3d\x70\x2e\x63\x61\x6c\x6c\x28\x74\x68\x69\x73\x2c\ -\x63\x2c\x64\x2e\x68\x74\x6d\x6c\x28\x29\x29\x29\x2c\x64\x2e\x64\ -\x6f\x6d\x4d\x61\x6e\x69\x70\x28\x61\x2c\x62\x29\x7d\x29\x3b\x69\ -\x66\x28\x6b\x26\x26\x28\x69\x3d\x6e\x2e\x62\x75\x69\x6c\x64\x46\ -\x72\x61\x67\x6d\x65\x6e\x74\x28\x61\x2c\x74\x68\x69\x73\x5b\x30\ -\x5d\x2e\x6f\x77\x6e\x65\x72\x44\x6f\x63\x75\x6d\x65\x6e\x74\x2c\ -\x21\x31\x2c\x74\x68\x69\x73\x29\x2c\x63\x3d\x69\x2e\x66\x69\x72\ -\x73\x74\x43\x68\x69\x6c\x64\x2c\x31\x3d\x3d\x3d\x69\x2e\x63\x68\ -\x69\x6c\x64\x4e\x6f\x64\x65\x73\x2e\x6c\x65\x6e\x67\x74\x68\x26\ -\x26\x28\x69\x3d\x63\x29\x2c\x63\x29\x29\x7b\x66\x6f\x72\x28\x67\ -\x3d\x6e\x2e\x6d\x61\x70\x28\x76\x62\x28\x69\x2c\x22\x73\x63\x72\ -\x69\x70\x74\x22\x29\x2c\x79\x62\x29\x2c\x66\x3d\x67\x2e\x6c\x65\ -\x6e\x67\x74\x68\x3b\x6b\x3e\x6a\x3b\x6a\x2b\x2b\x29\x64\x3d\x69\ -\x2c\x6a\x21\x3d\x3d\x6f\x26\x26\x28\x64\x3d\x6e\x2e\x63\x6c\x6f\ -\x6e\x65\x28\x64\x2c\x21\x30\x2c\x21\x30\x29\x2c\x66\x26\x26\x6e\ -\x2e\x6d\x65\x72\x67\x65\x28\x67\x2c\x76\x62\x28\x64\x2c\x22\x73\ -\x63\x72\x69\x70\x74\x22\x29\x29\x29\x2c\x62\x2e\x63\x61\x6c\x6c\ -\x28\x74\x68\x69\x73\x5b\x6a\x5d\x2c\x64\x2c\x6a\x29\x3b\x69\x66\ -\x28\x66\x29\x66\x6f\x72\x28\x68\x3d\x67\x5b\x67\x2e\x6c\x65\x6e\ -\x67\x74\x68\x2d\x31\x5d\x2e\x6f\x77\x6e\x65\x72\x44\x6f\x63\x75\ -\x6d\x65\x6e\x74\x2c\x6e\x2e\x6d\x61\x70\x28\x67\x2c\x7a\x62\x29\ -\x2c\x6a\x3d\x30\x3b\x66\x3e\x6a\x3b\x6a\x2b\x2b\x29\x64\x3d\x67\ -\x5b\x6a\x5d\x2c\x70\x62\x2e\x74\x65\x73\x74\x28\x64\x2e\x74\x79\ -\x70\x65\x7c\x7c\x22\x22\x29\x26\x26\x21\x6e\x2e\x5f\x64\x61\x74\ -\x61\x28\x64\x2c\x22\x67\x6c\x6f\x62\x61\x6c\x45\x76\x61\x6c\x22\ -\x29\x26\x26\x6e\x2e\x63\x6f\x6e\x74\x61\x69\x6e\x73\x28\x68\x2c\ -\x64\x29\x26\x26\x28\x64\x2e\x73\x72\x63\x3f\x6e\x2e\x5f\x65\x76\ -\x61\x6c\x55\x72\x6c\x26\x26\x6e\x2e\x5f\x65\x76\x61\x6c\x55\x72\ -\x6c\x28\x64\x2e\x73\x72\x63\x29\x3a\x6e\x2e\x67\x6c\x6f\x62\x61\ -\x6c\x45\x76\x61\x6c\x28\x28\x64\x2e\x74\x65\x78\x74\x7c\x7c\x64\ -\x2e\x74\x65\x78\x74\x43\x6f\x6e\x74\x65\x6e\x74\x7c\x7c\x64\x2e\ -\x69\x6e\x6e\x65\x72\x48\x54\x4d\x4c\x7c\x7c\x22\x22\x29\x2e\x72\ -\x65\x70\x6c\x61\x63\x65\x28\x72\x62\x2c\x22\x22\x29\x29\x29\x3b\ -\x69\x3d\x63\x3d\x6e\x75\x6c\x6c\x7d\x72\x65\x74\x75\x72\x6e\x20\ -\x74\x68\x69\x73\x7d\x7d\x29\x2c\x6e\x2e\x65\x61\x63\x68\x28\x7b\ -\x61\x70\x70\x65\x6e\x64\x54\x6f\x3a\x22\x61\x70\x70\x65\x6e\x64\ -\x22\x2c\x70\x72\x65\x70\x65\x6e\x64\x54\x6f\x3a\x22\x70\x72\x65\ -\x70\x65\x6e\x64\x22\x2c\x69\x6e\x73\x65\x72\x74\x42\x65\x66\x6f\ -\x72\x65\x3a\x22\x62\x65\x66\x6f\x72\x65\x22\x2c\x69\x6e\x73\x65\ -\x72\x74\x41\x66\x74\x65\x72\x3a\x22\x61\x66\x74\x65\x72\x22\x2c\ -\x72\x65\x70\x6c\x61\x63\x65\x41\x6c\x6c\x3a\x22\x72\x65\x70\x6c\ -\x61\x63\x65\x57\x69\x74\x68\x22\x7d\x2c\x66\x75\x6e\x63\x74\x69\ -\x6f\x6e\x28\x61\x2c\x62\x29\x7b\x6e\x2e\x66\x6e\x5b\x61\x5d\x3d\ -\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x66\x6f\x72\x28\ -\x76\x61\x72\x20\x63\x2c\x64\x3d\x30\x2c\x65\x3d\x5b\x5d\x2c\x67\ -\x3d\x6e\x28\x61\x29\x2c\x68\x3d\x67\x2e\x6c\x65\x6e\x67\x74\x68\ -\x2d\x31\x3b\x68\x3e\x3d\x64\x3b\x64\x2b\x2b\x29\x63\x3d\x64\x3d\ -\x3d\x3d\x68\x3f\x74\x68\x69\x73\x3a\x74\x68\x69\x73\x2e\x63\x6c\ -\x6f\x6e\x65\x28\x21\x30\x29\x2c\x6e\x28\x67\x5b\x64\x5d\x29\x5b\ -\x62\x5d\x28\x63\x29\x2c\x66\x2e\x61\x70\x70\x6c\x79\x28\x65\x2c\ -\x63\x2e\x67\x65\x74\x28\x29\x29\x3b\x72\x65\x74\x75\x72\x6e\x20\ -\x74\x68\x69\x73\x2e\x70\x75\x73\x68\x53\x74\x61\x63\x6b\x28\x65\ -\x29\x7d\x7d\x29\x3b\x76\x61\x72\x20\x44\x62\x2c\x45\x62\x3d\x7b\ -\x7d\x3b\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x46\x62\x28\x62\x2c\ -\x63\x29\x7b\x76\x61\x72\x20\x64\x3d\x6e\x28\x63\x2e\x63\x72\x65\ -\x61\x74\x65\x45\x6c\x65\x6d\x65\x6e\x74\x28\x62\x29\x29\x2e\x61\ -\x70\x70\x65\x6e\x64\x54\x6f\x28\x63\x2e\x62\x6f\x64\x79\x29\x2c\ -\x65\x3d\x61\x2e\x67\x65\x74\x44\x65\x66\x61\x75\x6c\x74\x43\x6f\ -\x6d\x70\x75\x74\x65\x64\x53\x74\x79\x6c\x65\x3f\x61\x2e\x67\x65\ -\x74\x44\x65\x66\x61\x75\x6c\x74\x43\x6f\x6d\x70\x75\x74\x65\x64\ -\x53\x74\x79\x6c\x65\x28\x64\x5b\x30\x5d\x29\x2e\x64\x69\x73\x70\ -\x6c\x61\x79\x3a\x6e\x2e\x63\x73\x73\x28\x64\x5b\x30\x5d\x2c\x22\ -\x64\x69\x73\x70\x6c\x61\x79\x22\x29\x3b\x72\x65\x74\x75\x72\x6e\ -\x20\x64\x2e\x64\x65\x74\x61\x63\x68\x28\x29\x2c\x65\x7d\x66\x75\ -\x6e\x63\x74\x69\x6f\x6e\x20\x47\x62\x28\x61\x29\x7b\x76\x61\x72\ -\x20\x62\x3d\x7a\x2c\x63\x3d\x45\x62\x5b\x61\x5d\x3b\x72\x65\x74\ -\x75\x72\x6e\x20\x63\x7c\x7c\x28\x63\x3d\x46\x62\x28\x61\x2c\x62\ -\x29\x2c\x22\x6e\x6f\x6e\x65\x22\x21\x3d\x3d\x63\x26\x26\x63\x7c\ -\x7c\x28\x44\x62\x3d\x28\x44\x62\x7c\x7c\x6e\x28\x22\x3c\x69\x66\ -\x72\x61\x6d\x65\x20\x66\x72\x61\x6d\x65\x62\x6f\x72\x64\x65\x72\ -\x3d\x27\x30\x27\x20\x77\x69\x64\x74\x68\x3d\x27\x30\x27\x20\x68\ -\x65\x69\x67\x68\x74\x3d\x27\x30\x27\x2f\x3e\x22\x29\x29\x2e\x61\ -\x70\x70\x65\x6e\x64\x54\x6f\x28\x62\x2e\x64\x6f\x63\x75\x6d\x65\ -\x6e\x74\x45\x6c\x65\x6d\x65\x6e\x74\x29\x2c\x62\x3d\x28\x44\x62\ -\x5b\x30\x5d\x2e\x63\x6f\x6e\x74\x65\x6e\x74\x57\x69\x6e\x64\x6f\ -\x77\x7c\x7c\x44\x62\x5b\x30\x5d\x2e\x63\x6f\x6e\x74\x65\x6e\x74\ -\x44\x6f\x63\x75\x6d\x65\x6e\x74\x29\x2e\x64\x6f\x63\x75\x6d\x65\ -\x6e\x74\x2c\x62\x2e\x77\x72\x69\x74\x65\x28\x29\x2c\x62\x2e\x63\ -\x6c\x6f\x73\x65\x28\x29\x2c\x63\x3d\x46\x62\x28\x61\x2c\x62\x29\ -\x2c\x44\x62\x2e\x64\x65\x74\x61\x63\x68\x28\x29\x29\x2c\x45\x62\ -\x5b\x61\x5d\x3d\x63\x29\x2c\x63\x7d\x21\x66\x75\x6e\x63\x74\x69\ -\x6f\x6e\x28\x29\x7b\x76\x61\x72\x20\x61\x2c\x62\x2c\x63\x3d\x7a\ -\x2e\x63\x72\x65\x61\x74\x65\x45\x6c\x65\x6d\x65\x6e\x74\x28\x22\ -\x64\x69\x76\x22\x29\x2c\x64\x3d\x22\x2d\x77\x65\x62\x6b\x69\x74\ -\x2d\x62\x6f\x78\x2d\x73\x69\x7a\x69\x6e\x67\x3a\x63\x6f\x6e\x74\ -\x65\x6e\x74\x2d\x62\x6f\x78\x3b\x2d\x6d\x6f\x7a\x2d\x62\x6f\x78\ -\x2d\x73\x69\x7a\x69\x6e\x67\x3a\x63\x6f\x6e\x74\x65\x6e\x74\x2d\ -\x62\x6f\x78\x3b\x62\x6f\x78\x2d\x73\x69\x7a\x69\x6e\x67\x3a\x63\ -\x6f\x6e\x74\x65\x6e\x74\x2d\x62\x6f\x78\x3b\x64\x69\x73\x70\x6c\ -\x61\x79\x3a\x62\x6c\x6f\x63\x6b\x3b\x70\x61\x64\x64\x69\x6e\x67\ -\x3a\x30\x3b\x6d\x61\x72\x67\x69\x6e\x3a\x30\x3b\x62\x6f\x72\x64\ -\x65\x72\x3a\x30\x22\x3b\x63\x2e\x69\x6e\x6e\x65\x72\x48\x54\x4d\ -\x4c\x3d\x22\x20\x20\x3c\x6c\x69\x6e\x6b\x2f\x3e\x3c\x74\x61\x62\ -\x6c\x65\x3e\x3c\x2f\x74\x61\x62\x6c\x65\x3e\x3c\x61\x20\x68\x72\ -\x65\x66\x3d\x27\x2f\x61\x27\x3e\x61\x3c\x2f\x61\x3e\x3c\x69\x6e\ -\x70\x75\x74\x20\x74\x79\x70\x65\x3d\x27\x63\x68\x65\x63\x6b\x62\ -\x6f\x78\x27\x2f\x3e\x22\x2c\x61\x3d\x63\x2e\x67\x65\x74\x45\x6c\ -\x65\x6d\x65\x6e\x74\x73\x42\x79\x54\x61\x67\x4e\x61\x6d\x65\x28\ -\x22\x61\x22\x29\x5b\x30\x5d\x2c\x61\x2e\x73\x74\x79\x6c\x65\x2e\ -\x63\x73\x73\x54\x65\x78\x74\x3d\x22\x66\x6c\x6f\x61\x74\x3a\x6c\ -\x65\x66\x74\x3b\x6f\x70\x61\x63\x69\x74\x79\x3a\x2e\x35\x22\x2c\ -\x6c\x2e\x6f\x70\x61\x63\x69\x74\x79\x3d\x2f\x5e\x30\x2e\x35\x2f\ -\x2e\x74\x65\x73\x74\x28\x61\x2e\x73\x74\x79\x6c\x65\x2e\x6f\x70\ -\x61\x63\x69\x74\x79\x29\x2c\x6c\x2e\x63\x73\x73\x46\x6c\x6f\x61\ -\x74\x3d\x21\x21\x61\x2e\x73\x74\x79\x6c\x65\x2e\x63\x73\x73\x46\ -\x6c\x6f\x61\x74\x2c\x63\x2e\x73\x74\x79\x6c\x65\x2e\x62\x61\x63\ -\x6b\x67\x72\x6f\x75\x6e\x64\x43\x6c\x69\x70\x3d\x22\x63\x6f\x6e\ -\x74\x65\x6e\x74\x2d\x62\x6f\x78\x22\x2c\x63\x2e\x63\x6c\x6f\x6e\ -\x65\x4e\x6f\x64\x65\x28\x21\x30\x29\x2e\x73\x74\x79\x6c\x65\x2e\ -\x62\x61\x63\x6b\x67\x72\x6f\x75\x6e\x64\x43\x6c\x69\x70\x3d\x22\ -\x22\x2c\x6c\x2e\x63\x6c\x65\x61\x72\x43\x6c\x6f\x6e\x65\x53\x74\ -\x79\x6c\x65\x3d\x22\x63\x6f\x6e\x74\x65\x6e\x74\x2d\x62\x6f\x78\ -\x22\x3d\x3d\x3d\x63\x2e\x73\x74\x79\x6c\x65\x2e\x62\x61\x63\x6b\ -\x67\x72\x6f\x75\x6e\x64\x43\x6c\x69\x70\x2c\x61\x3d\x63\x3d\x6e\ -\x75\x6c\x6c\x2c\x6c\x2e\x73\x68\x72\x69\x6e\x6b\x57\x72\x61\x70\ -\x42\x6c\x6f\x63\x6b\x73\x3d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\ -\x29\x7b\x76\x61\x72\x20\x61\x2c\x63\x2c\x65\x2c\x66\x3b\x69\x66\ -\x28\x6e\x75\x6c\x6c\x3d\x3d\x62\x29\x7b\x69\x66\x28\x61\x3d\x7a\ -\x2e\x67\x65\x74\x45\x6c\x65\x6d\x65\x6e\x74\x73\x42\x79\x54\x61\ -\x67\x4e\x61\x6d\x65\x28\x22\x62\x6f\x64\x79\x22\x29\x5b\x30\x5d\ -\x2c\x21\x61\x29\x72\x65\x74\x75\x72\x6e\x3b\x66\x3d\x22\x62\x6f\ -\x72\x64\x65\x72\x3a\x30\x3b\x77\x69\x64\x74\x68\x3a\x30\x3b\x68\ -\x65\x69\x67\x68\x74\x3a\x30\x3b\x70\x6f\x73\x69\x74\x69\x6f\x6e\ -\x3a\x61\x62\x73\x6f\x6c\x75\x74\x65\x3b\x74\x6f\x70\x3a\x30\x3b\ -\x6c\x65\x66\x74\x3a\x2d\x39\x39\x39\x39\x70\x78\x22\x2c\x63\x3d\ -\x7a\x2e\x63\x72\x65\x61\x74\x65\x45\x6c\x65\x6d\x65\x6e\x74\x28\ -\x22\x64\x69\x76\x22\x29\x2c\x65\x3d\x7a\x2e\x63\x72\x65\x61\x74\ -\x65\x45\x6c\x65\x6d\x65\x6e\x74\x28\x22\x64\x69\x76\x22\x29\x2c\ -\x61\x2e\x61\x70\x70\x65\x6e\x64\x43\x68\x69\x6c\x64\x28\x63\x29\ -\x2e\x61\x70\x70\x65\x6e\x64\x43\x68\x69\x6c\x64\x28\x65\x29\x2c\ -\x62\x3d\x21\x31\x2c\x74\x79\x70\x65\x6f\x66\x20\x65\x2e\x73\x74\ -\x79\x6c\x65\x2e\x7a\x6f\x6f\x6d\x21\x3d\x3d\x4c\x26\x26\x28\x65\ -\x2e\x73\x74\x79\x6c\x65\x2e\x63\x73\x73\x54\x65\x78\x74\x3d\x64\ -\x2b\x22\x3b\x77\x69\x64\x74\x68\x3a\x31\x70\x78\x3b\x70\x61\x64\ -\x64\x69\x6e\x67\x3a\x31\x70\x78\x3b\x7a\x6f\x6f\x6d\x3a\x31\x22\ -\x2c\x65\x2e\x69\x6e\x6e\x65\x72\x48\x54\x4d\x4c\x3d\x22\x3c\x64\ -\x69\x76\x3e\x3c\x2f\x64\x69\x76\x3e\x22\x2c\x65\x2e\x66\x69\x72\ -\x73\x74\x43\x68\x69\x6c\x64\x2e\x73\x74\x79\x6c\x65\x2e\x77\x69\ -\x64\x74\x68\x3d\x22\x35\x70\x78\x22\x2c\x62\x3d\x33\x21\x3d\x3d\ -\x65\x2e\x6f\x66\x66\x73\x65\x74\x57\x69\x64\x74\x68\x29\x2c\x61\ -\x2e\x72\x65\x6d\x6f\x76\x65\x43\x68\x69\x6c\x64\x28\x63\x29\x2c\ -\x61\x3d\x63\x3d\x65\x3d\x6e\x75\x6c\x6c\x7d\x72\x65\x74\x75\x72\ -\x6e\x20\x62\x7d\x7d\x28\x29\x3b\x76\x61\x72\x20\x48\x62\x3d\x2f\ -\x5e\x6d\x61\x72\x67\x69\x6e\x2f\x2c\x49\x62\x3d\x6e\x65\x77\x20\ -\x52\x65\x67\x45\x78\x70\x28\x22\x5e\x28\x22\x2b\x54\x2b\x22\x29\ -\x28\x3f\x21\x70\x78\x29\x5b\x61\x2d\x7a\x25\x5d\x2b\x24\x22\x2c\ -\x22\x69\x22\x29\x2c\x4a\x62\x2c\x4b\x62\x2c\x4c\x62\x3d\x2f\x5e\ -\x28\x74\x6f\x70\x7c\x72\x69\x67\x68\x74\x7c\x62\x6f\x74\x74\x6f\ -\x6d\x7c\x6c\x65\x66\x74\x29\x24\x2f\x3b\x61\x2e\x67\x65\x74\x43\ -\x6f\x6d\x70\x75\x74\x65\x64\x53\x74\x79\x6c\x65\x3f\x28\x4a\x62\ -\x3d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x72\x65\x74\ -\x75\x72\x6e\x20\x61\x2e\x6f\x77\x6e\x65\x72\x44\x6f\x63\x75\x6d\ -\x65\x6e\x74\x2e\x64\x65\x66\x61\x75\x6c\x74\x56\x69\x65\x77\x2e\ -\x67\x65\x74\x43\x6f\x6d\x70\x75\x74\x65\x64\x53\x74\x79\x6c\x65\ -\x28\x61\x2c\x6e\x75\x6c\x6c\x29\x7d\x2c\x4b\x62\x3d\x66\x75\x6e\ -\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x2c\x63\x29\x7b\x76\x61\x72\ -\x20\x64\x2c\x65\x2c\x66\x2c\x67\x2c\x68\x3d\x61\x2e\x73\x74\x79\ -\x6c\x65\x3b\x72\x65\x74\x75\x72\x6e\x20\x63\x3d\x63\x7c\x7c\x4a\ -\x62\x28\x61\x29\x2c\x67\x3d\x63\x3f\x63\x2e\x67\x65\x74\x50\x72\ -\x6f\x70\x65\x72\x74\x79\x56\x61\x6c\x75\x65\x28\x62\x29\x7c\x7c\ -\x63\x5b\x62\x5d\x3a\x76\x6f\x69\x64\x20\x30\x2c\x63\x26\x26\x28\ -\x22\x22\x21\x3d\x3d\x67\x7c\x7c\x6e\x2e\x63\x6f\x6e\x74\x61\x69\ -\x6e\x73\x28\x61\x2e\x6f\x77\x6e\x65\x72\x44\x6f\x63\x75\x6d\x65\ -\x6e\x74\x2c\x61\x29\x7c\x7c\x28\x67\x3d\x6e\x2e\x73\x74\x79\x6c\ -\x65\x28\x61\x2c\x62\x29\x29\x2c\x49\x62\x2e\x74\x65\x73\x74\x28\ -\x67\x29\x26\x26\x48\x62\x2e\x74\x65\x73\x74\x28\x62\x29\x26\x26\ -\x28\x64\x3d\x68\x2e\x77\x69\x64\x74\x68\x2c\x65\x3d\x68\x2e\x6d\ -\x69\x6e\x57\x69\x64\x74\x68\x2c\x66\x3d\x68\x2e\x6d\x61\x78\x57\ -\x69\x64\x74\x68\x2c\x68\x2e\x6d\x69\x6e\x57\x69\x64\x74\x68\x3d\ -\x68\x2e\x6d\x61\x78\x57\x69\x64\x74\x68\x3d\x68\x2e\x77\x69\x64\ -\x74\x68\x3d\x67\x2c\x67\x3d\x63\x2e\x77\x69\x64\x74\x68\x2c\x68\ -\x2e\x77\x69\x64\x74\x68\x3d\x64\x2c\x68\x2e\x6d\x69\x6e\x57\x69\ -\x64\x74\x68\x3d\x65\x2c\x68\x2e\x6d\x61\x78\x57\x69\x64\x74\x68\ -\x3d\x66\x29\x29\x2c\x76\x6f\x69\x64\x20\x30\x3d\x3d\x3d\x67\x3f\ -\x67\x3a\x67\x2b\x22\x22\x7d\x29\x3a\x7a\x2e\x64\x6f\x63\x75\x6d\ -\x65\x6e\x74\x45\x6c\x65\x6d\x65\x6e\x74\x2e\x63\x75\x72\x72\x65\ -\x6e\x74\x53\x74\x79\x6c\x65\x26\x26\x28\x4a\x62\x3d\x66\x75\x6e\ -\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\ -\x61\x2e\x63\x75\x72\x72\x65\x6e\x74\x53\x74\x79\x6c\x65\x7d\x2c\ -\x4b\x62\x3d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x2c\ -\x63\x29\x7b\x76\x61\x72\x20\x64\x2c\x65\x2c\x66\x2c\x67\x2c\x68\ -\x3d\x61\x2e\x73\x74\x79\x6c\x65\x3b\x72\x65\x74\x75\x72\x6e\x20\ -\x63\x3d\x63\x7c\x7c\x4a\x62\x28\x61\x29\x2c\x67\x3d\x63\x3f\x63\ -\x5b\x62\x5d\x3a\x76\x6f\x69\x64\x20\x30\x2c\x6e\x75\x6c\x6c\x3d\ -\x3d\x67\x26\x26\x68\x26\x26\x68\x5b\x62\x5d\x26\x26\x28\x67\x3d\ -\x68\x5b\x62\x5d\x29\x2c\x49\x62\x2e\x74\x65\x73\x74\x28\x67\x29\ -\x26\x26\x21\x4c\x62\x2e\x74\x65\x73\x74\x28\x62\x29\x26\x26\x28\ -\x64\x3d\x68\x2e\x6c\x65\x66\x74\x2c\x65\x3d\x61\x2e\x72\x75\x6e\ -\x74\x69\x6d\x65\x53\x74\x79\x6c\x65\x2c\x66\x3d\x65\x26\x26\x65\ -\x2e\x6c\x65\x66\x74\x2c\x66\x26\x26\x28\x65\x2e\x6c\x65\x66\x74\ -\x3d\x61\x2e\x63\x75\x72\x72\x65\x6e\x74\x53\x74\x79\x6c\x65\x2e\ -\x6c\x65\x66\x74\x29\x2c\x68\x2e\x6c\x65\x66\x74\x3d\x22\x66\x6f\ -\x6e\x74\x53\x69\x7a\x65\x22\x3d\x3d\x3d\x62\x3f\x22\x31\x65\x6d\ -\x22\x3a\x67\x2c\x67\x3d\x68\x2e\x70\x69\x78\x65\x6c\x4c\x65\x66\ -\x74\x2b\x22\x70\x78\x22\x2c\x68\x2e\x6c\x65\x66\x74\x3d\x64\x2c\ -\x66\x26\x26\x28\x65\x2e\x6c\x65\x66\x74\x3d\x66\x29\x29\x2c\x76\ -\x6f\x69\x64\x20\x30\x3d\x3d\x3d\x67\x3f\x67\x3a\x67\x2b\x22\x22\ -\x7c\x7c\x22\x61\x75\x74\x6f\x22\x7d\x29\x3b\x66\x75\x6e\x63\x74\ -\x69\x6f\x6e\x20\x4d\x62\x28\x61\x2c\x62\x29\x7b\x72\x65\x74\x75\ -\x72\x6e\x7b\x67\x65\x74\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\ -\x29\x7b\x76\x61\x72\x20\x63\x3d\x61\x28\x29\x3b\x69\x66\x28\x6e\ -\x75\x6c\x6c\x21\x3d\x63\x29\x72\x65\x74\x75\x72\x6e\x20\x63\x3f\ -\x76\x6f\x69\x64\x20\x64\x65\x6c\x65\x74\x65\x20\x74\x68\x69\x73\ -\x2e\x67\x65\x74\x3a\x28\x74\x68\x69\x73\x2e\x67\x65\x74\x3d\x62\ -\x29\x2e\x61\x70\x70\x6c\x79\x28\x74\x68\x69\x73\x2c\x61\x72\x67\ -\x75\x6d\x65\x6e\x74\x73\x29\x7d\x7d\x7d\x21\x66\x75\x6e\x63\x74\ -\x69\x6f\x6e\x28\x29\x7b\x76\x61\x72\x20\x62\x2c\x63\x2c\x64\x2c\ -\x65\x2c\x66\x2c\x67\x2c\x68\x3d\x7a\x2e\x63\x72\x65\x61\x74\x65\ -\x45\x6c\x65\x6d\x65\x6e\x74\x28\x22\x64\x69\x76\x22\x29\x2c\x69\ -\x3d\x22\x62\x6f\x72\x64\x65\x72\x3a\x30\x3b\x77\x69\x64\x74\x68\ -\x3a\x30\x3b\x68\x65\x69\x67\x68\x74\x3a\x30\x3b\x70\x6f\x73\x69\ -\x74\x69\x6f\x6e\x3a\x61\x62\x73\x6f\x6c\x75\x74\x65\x3b\x74\x6f\ -\x70\x3a\x30\x3b\x6c\x65\x66\x74\x3a\x2d\x39\x39\x39\x39\x70\x78\ -\x22\x2c\x6a\x3d\x22\x2d\x77\x65\x62\x6b\x69\x74\x2d\x62\x6f\x78\ -\x2d\x73\x69\x7a\x69\x6e\x67\x3a\x63\x6f\x6e\x74\x65\x6e\x74\x2d\ -\x62\x6f\x78\x3b\x2d\x6d\x6f\x7a\x2d\x62\x6f\x78\x2d\x73\x69\x7a\ -\x69\x6e\x67\x3a\x63\x6f\x6e\x74\x65\x6e\x74\x2d\x62\x6f\x78\x3b\ -\x62\x6f\x78\x2d\x73\x69\x7a\x69\x6e\x67\x3a\x63\x6f\x6e\x74\x65\ -\x6e\x74\x2d\x62\x6f\x78\x3b\x64\x69\x73\x70\x6c\x61\x79\x3a\x62\ -\x6c\x6f\x63\x6b\x3b\x70\x61\x64\x64\x69\x6e\x67\x3a\x30\x3b\x6d\ -\x61\x72\x67\x69\x6e\x3a\x30\x3b\x62\x6f\x72\x64\x65\x72\x3a\x30\ -\x22\x3b\x68\x2e\x69\x6e\x6e\x65\x72\x48\x54\x4d\x4c\x3d\x22\x20\ -\x20\x3c\x6c\x69\x6e\x6b\x2f\x3e\x3c\x74\x61\x62\x6c\x65\x3e\x3c\ -\x2f\x74\x61\x62\x6c\x65\x3e\x3c\x61\x20\x68\x72\x65\x66\x3d\x27\ -\x2f\x61\x27\x3e\x61\x3c\x2f\x61\x3e\x3c\x69\x6e\x70\x75\x74\x20\ -\x74\x79\x70\x65\x3d\x27\x63\x68\x65\x63\x6b\x62\x6f\x78\x27\x2f\ -\x3e\x22\x2c\x62\x3d\x68\x2e\x67\x65\x74\x45\x6c\x65\x6d\x65\x6e\ -\x74\x73\x42\x79\x54\x61\x67\x4e\x61\x6d\x65\x28\x22\x61\x22\x29\ -\x5b\x30\x5d\x2c\x62\x2e\x73\x74\x79\x6c\x65\x2e\x63\x73\x73\x54\ -\x65\x78\x74\x3d\x22\x66\x6c\x6f\x61\x74\x3a\x6c\x65\x66\x74\x3b\ -\x6f\x70\x61\x63\x69\x74\x79\x3a\x2e\x35\x22\x2c\x6c\x2e\x6f\x70\ -\x61\x63\x69\x74\x79\x3d\x2f\x5e\x30\x2e\x35\x2f\x2e\x74\x65\x73\ -\x74\x28\x62\x2e\x73\x74\x79\x6c\x65\x2e\x6f\x70\x61\x63\x69\x74\ -\x79\x29\x2c\x6c\x2e\x63\x73\x73\x46\x6c\x6f\x61\x74\x3d\x21\x21\ -\x62\x2e\x73\x74\x79\x6c\x65\x2e\x63\x73\x73\x46\x6c\x6f\x61\x74\ -\x2c\x68\x2e\x73\x74\x79\x6c\x65\x2e\x62\x61\x63\x6b\x67\x72\x6f\ -\x75\x6e\x64\x43\x6c\x69\x70\x3d\x22\x63\x6f\x6e\x74\x65\x6e\x74\ -\x2d\x62\x6f\x78\x22\x2c\x68\x2e\x63\x6c\x6f\x6e\x65\x4e\x6f\x64\ -\x65\x28\x21\x30\x29\x2e\x73\x74\x79\x6c\x65\x2e\x62\x61\x63\x6b\ -\x67\x72\x6f\x75\x6e\x64\x43\x6c\x69\x70\x3d\x22\x22\x2c\x6c\x2e\ -\x63\x6c\x65\x61\x72\x43\x6c\x6f\x6e\x65\x53\x74\x79\x6c\x65\x3d\ -\x22\x63\x6f\x6e\x74\x65\x6e\x74\x2d\x62\x6f\x78\x22\x3d\x3d\x3d\ -\x68\x2e\x73\x74\x79\x6c\x65\x2e\x62\x61\x63\x6b\x67\x72\x6f\x75\ -\x6e\x64\x43\x6c\x69\x70\x2c\x62\x3d\x68\x3d\x6e\x75\x6c\x6c\x2c\ -\x6e\x2e\x65\x78\x74\x65\x6e\x64\x28\x6c\x2c\x7b\x72\x65\x6c\x69\ -\x61\x62\x6c\x65\x48\x69\x64\x64\x65\x6e\x4f\x66\x66\x73\x65\x74\ -\x73\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x69\x66\x28\ -\x6e\x75\x6c\x6c\x21\x3d\x63\x29\x72\x65\x74\x75\x72\x6e\x20\x63\ -\x3b\x76\x61\x72\x20\x61\x2c\x62\x2c\x64\x2c\x65\x3d\x7a\x2e\x63\ -\x72\x65\x61\x74\x65\x45\x6c\x65\x6d\x65\x6e\x74\x28\x22\x64\x69\ -\x76\x22\x29\x2c\x66\x3d\x7a\x2e\x67\x65\x74\x45\x6c\x65\x6d\x65\ -\x6e\x74\x73\x42\x79\x54\x61\x67\x4e\x61\x6d\x65\x28\x22\x62\x6f\ -\x64\x79\x22\x29\x5b\x30\x5d\x3b\x69\x66\x28\x66\x29\x72\x65\x74\ -\x75\x72\x6e\x20\x65\x2e\x73\x65\x74\x41\x74\x74\x72\x69\x62\x75\ -\x74\x65\x28\x22\x63\x6c\x61\x73\x73\x4e\x61\x6d\x65\x22\x2c\x22\ -\x74\x22\x29\x2c\x65\x2e\x69\x6e\x6e\x65\x72\x48\x54\x4d\x4c\x3d\ -\x22\x20\x20\x3c\x6c\x69\x6e\x6b\x2f\x3e\x3c\x74\x61\x62\x6c\x65\ -\x3e\x3c\x2f\x74\x61\x62\x6c\x65\x3e\x3c\x61\x20\x68\x72\x65\x66\ -\x3d\x27\x2f\x61\x27\x3e\x61\x3c\x2f\x61\x3e\x3c\x69\x6e\x70\x75\ -\x74\x20\x74\x79\x70\x65\x3d\x27\x63\x68\x65\x63\x6b\x62\x6f\x78\ -\x27\x2f\x3e\x22\x2c\x61\x3d\x7a\x2e\x63\x72\x65\x61\x74\x65\x45\ -\x6c\x65\x6d\x65\x6e\x74\x28\x22\x64\x69\x76\x22\x29\x2c\x61\x2e\ -\x73\x74\x79\x6c\x65\x2e\x63\x73\x73\x54\x65\x78\x74\x3d\x69\x2c\ -\x66\x2e\x61\x70\x70\x65\x6e\x64\x43\x68\x69\x6c\x64\x28\x61\x29\ -\x2e\x61\x70\x70\x65\x6e\x64\x43\x68\x69\x6c\x64\x28\x65\x29\x2c\ -\x65\x2e\x69\x6e\x6e\x65\x72\x48\x54\x4d\x4c\x3d\x22\x3c\x74\x61\ -\x62\x6c\x65\x3e\x3c\x74\x72\x3e\x3c\x74\x64\x3e\x3c\x2f\x74\x64\ -\x3e\x3c\x74\x64\x3e\x74\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\x72\x3e\ -\x3c\x2f\x74\x61\x62\x6c\x65\x3e\x22\x2c\x62\x3d\x65\x2e\x67\x65\ -\x74\x45\x6c\x65\x6d\x65\x6e\x74\x73\x42\x79\x54\x61\x67\x4e\x61\ -\x6d\x65\x28\x22\x74\x64\x22\x29\x2c\x62\x5b\x30\x5d\x2e\x73\x74\ -\x79\x6c\x65\x2e\x63\x73\x73\x54\x65\x78\x74\x3d\x22\x70\x61\x64\ -\x64\x69\x6e\x67\x3a\x30\x3b\x6d\x61\x72\x67\x69\x6e\x3a\x30\x3b\ -\x62\x6f\x72\x64\x65\x72\x3a\x30\x3b\x64\x69\x73\x70\x6c\x61\x79\ -\x3a\x6e\x6f\x6e\x65\x22\x2c\x64\x3d\x30\x3d\x3d\x3d\x62\x5b\x30\ -\x5d\x2e\x6f\x66\x66\x73\x65\x74\x48\x65\x69\x67\x68\x74\x2c\x62\ -\x5b\x30\x5d\x2e\x73\x74\x79\x6c\x65\x2e\x64\x69\x73\x70\x6c\x61\ -\x79\x3d\x22\x22\x2c\x62\x5b\x31\x5d\x2e\x73\x74\x79\x6c\x65\x2e\ -\x64\x69\x73\x70\x6c\x61\x79\x3d\x22\x6e\x6f\x6e\x65\x22\x2c\x63\ -\x3d\x64\x26\x26\x30\x3d\x3d\x3d\x62\x5b\x30\x5d\x2e\x6f\x66\x66\ -\x73\x65\x74\x48\x65\x69\x67\x68\x74\x2c\x66\x2e\x72\x65\x6d\x6f\ -\x76\x65\x43\x68\x69\x6c\x64\x28\x61\x29\x2c\x65\x3d\x66\x3d\x6e\ -\x75\x6c\x6c\x2c\x63\x7d\x2c\x62\x6f\x78\x53\x69\x7a\x69\x6e\x67\ -\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x72\x65\x74\x75\ -\x72\x6e\x20\x6e\x75\x6c\x6c\x3d\x3d\x64\x26\x26\x6b\x28\x29\x2c\ -\x64\x7d\x2c\x62\x6f\x78\x53\x69\x7a\x69\x6e\x67\x52\x65\x6c\x69\ -\x61\x62\x6c\x65\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\ -\x72\x65\x74\x75\x72\x6e\x20\x6e\x75\x6c\x6c\x3d\x3d\x65\x26\x26\ -\x6b\x28\x29\x2c\x65\x7d\x2c\x70\x69\x78\x65\x6c\x50\x6f\x73\x69\ -\x74\x69\x6f\x6e\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\ -\x72\x65\x74\x75\x72\x6e\x20\x6e\x75\x6c\x6c\x3d\x3d\x66\x26\x26\ -\x6b\x28\x29\x2c\x66\x7d\x2c\x72\x65\x6c\x69\x61\x62\x6c\x65\x4d\ -\x61\x72\x67\x69\x6e\x52\x69\x67\x68\x74\x3a\x66\x75\x6e\x63\x74\ -\x69\x6f\x6e\x28\x29\x7b\x76\x61\x72\x20\x62\x2c\x63\x2c\x64\x2c\ -\x65\x3b\x69\x66\x28\x6e\x75\x6c\x6c\x3d\x3d\x67\x26\x26\x61\x2e\ -\x67\x65\x74\x43\x6f\x6d\x70\x75\x74\x65\x64\x53\x74\x79\x6c\x65\ -\x29\x7b\x69\x66\x28\x62\x3d\x7a\x2e\x67\x65\x74\x45\x6c\x65\x6d\ -\x65\x6e\x74\x73\x42\x79\x54\x61\x67\x4e\x61\x6d\x65\x28\x22\x62\ -\x6f\x64\x79\x22\x29\x5b\x30\x5d\x2c\x21\x62\x29\x72\x65\x74\x75\ -\x72\x6e\x3b\x63\x3d\x7a\x2e\x63\x72\x65\x61\x74\x65\x45\x6c\x65\ -\x6d\x65\x6e\x74\x28\x22\x64\x69\x76\x22\x29\x2c\x64\x3d\x7a\x2e\ -\x63\x72\x65\x61\x74\x65\x45\x6c\x65\x6d\x65\x6e\x74\x28\x22\x64\ -\x69\x76\x22\x29\x2c\x63\x2e\x73\x74\x79\x6c\x65\x2e\x63\x73\x73\ -\x54\x65\x78\x74\x3d\x69\x2c\x62\x2e\x61\x70\x70\x65\x6e\x64\x43\ -\x68\x69\x6c\x64\x28\x63\x29\x2e\x61\x70\x70\x65\x6e\x64\x43\x68\ -\x69\x6c\x64\x28\x64\x29\x2c\x65\x3d\x64\x2e\x61\x70\x70\x65\x6e\ -\x64\x43\x68\x69\x6c\x64\x28\x7a\x2e\x63\x72\x65\x61\x74\x65\x45\ -\x6c\x65\x6d\x65\x6e\x74\x28\x22\x64\x69\x76\x22\x29\x29\x2c\x65\ -\x2e\x73\x74\x79\x6c\x65\x2e\x63\x73\x73\x54\x65\x78\x74\x3d\x64\ -\x2e\x73\x74\x79\x6c\x65\x2e\x63\x73\x73\x54\x65\x78\x74\x3d\x6a\ -\x2c\x65\x2e\x73\x74\x79\x6c\x65\x2e\x6d\x61\x72\x67\x69\x6e\x52\ -\x69\x67\x68\x74\x3d\x65\x2e\x73\x74\x79\x6c\x65\x2e\x77\x69\x64\ -\x74\x68\x3d\x22\x30\x22\x2c\x64\x2e\x73\x74\x79\x6c\x65\x2e\x77\ -\x69\x64\x74\x68\x3d\x22\x31\x70\x78\x22\x2c\x67\x3d\x21\x70\x61\ -\x72\x73\x65\x46\x6c\x6f\x61\x74\x28\x28\x61\x2e\x67\x65\x74\x43\ -\x6f\x6d\x70\x75\x74\x65\x64\x53\x74\x79\x6c\x65\x28\x65\x2c\x6e\ -\x75\x6c\x6c\x29\x7c\x7c\x7b\x7d\x29\x2e\x6d\x61\x72\x67\x69\x6e\ -\x52\x69\x67\x68\x74\x29\x2c\x62\x2e\x72\x65\x6d\x6f\x76\x65\x43\ -\x68\x69\x6c\x64\x28\x63\x29\x7d\x72\x65\x74\x75\x72\x6e\x20\x67\ -\x7d\x7d\x29\x3b\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x6b\x28\x29\ -\x7b\x76\x61\x72\x20\x62\x2c\x63\x2c\x68\x3d\x7a\x2e\x67\x65\x74\ -\x45\x6c\x65\x6d\x65\x6e\x74\x73\x42\x79\x54\x61\x67\x4e\x61\x6d\ -\x65\x28\x22\x62\x6f\x64\x79\x22\x29\x5b\x30\x5d\x3b\x68\x26\x26\ -\x28\x62\x3d\x7a\x2e\x63\x72\x65\x61\x74\x65\x45\x6c\x65\x6d\x65\ -\x6e\x74\x28\x22\x64\x69\x76\x22\x29\x2c\x63\x3d\x7a\x2e\x63\x72\ -\x65\x61\x74\x65\x45\x6c\x65\x6d\x65\x6e\x74\x28\x22\x64\x69\x76\ -\x22\x29\x2c\x62\x2e\x73\x74\x79\x6c\x65\x2e\x63\x73\x73\x54\x65\ -\x78\x74\x3d\x69\x2c\x68\x2e\x61\x70\x70\x65\x6e\x64\x43\x68\x69\ -\x6c\x64\x28\x62\x29\x2e\x61\x70\x70\x65\x6e\x64\x43\x68\x69\x6c\ -\x64\x28\x63\x29\x2c\x63\x2e\x73\x74\x79\x6c\x65\x2e\x63\x73\x73\ -\x54\x65\x78\x74\x3d\x22\x2d\x77\x65\x62\x6b\x69\x74\x2d\x62\x6f\ -\x78\x2d\x73\x69\x7a\x69\x6e\x67\x3a\x62\x6f\x72\x64\x65\x72\x2d\ -\x62\x6f\x78\x3b\x2d\x6d\x6f\x7a\x2d\x62\x6f\x78\x2d\x73\x69\x7a\ -\x69\x6e\x67\x3a\x62\x6f\x72\x64\x65\x72\x2d\x62\x6f\x78\x3b\x62\ -\x6f\x78\x2d\x73\x69\x7a\x69\x6e\x67\x3a\x62\x6f\x72\x64\x65\x72\ -\x2d\x62\x6f\x78\x3b\x70\x6f\x73\x69\x74\x69\x6f\x6e\x3a\x61\x62\ -\x73\x6f\x6c\x75\x74\x65\x3b\x64\x69\x73\x70\x6c\x61\x79\x3a\x62\ -\x6c\x6f\x63\x6b\x3b\x70\x61\x64\x64\x69\x6e\x67\x3a\x31\x70\x78\ -\x3b\x62\x6f\x72\x64\x65\x72\x3a\x31\x70\x78\x3b\x77\x69\x64\x74\ -\x68\x3a\x34\x70\x78\x3b\x6d\x61\x72\x67\x69\x6e\x2d\x74\x6f\x70\ -\x3a\x31\x25\x3b\x74\x6f\x70\x3a\x31\x25\x22\x2c\x6e\x2e\x73\x77\ -\x61\x70\x28\x68\x2c\x6e\x75\x6c\x6c\x21\x3d\x68\x2e\x73\x74\x79\ -\x6c\x65\x2e\x7a\x6f\x6f\x6d\x3f\x7b\x7a\x6f\x6f\x6d\x3a\x31\x7d\ -\x3a\x7b\x7d\x2c\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x64\ -\x3d\x34\x3d\x3d\x3d\x63\x2e\x6f\x66\x66\x73\x65\x74\x57\x69\x64\ -\x74\x68\x7d\x29\x2c\x65\x3d\x21\x30\x2c\x66\x3d\x21\x31\x2c\x67\ -\x3d\x21\x30\x2c\x61\x2e\x67\x65\x74\x43\x6f\x6d\x70\x75\x74\x65\ -\x64\x53\x74\x79\x6c\x65\x26\x26\x28\x66\x3d\x22\x31\x25\x22\x21\ -\x3d\x3d\x28\x61\x2e\x67\x65\x74\x43\x6f\x6d\x70\x75\x74\x65\x64\ -\x53\x74\x79\x6c\x65\x28\x63\x2c\x6e\x75\x6c\x6c\x29\x7c\x7c\x7b\ -\x7d\x29\x2e\x74\x6f\x70\x2c\x65\x3d\x22\x34\x70\x78\x22\x3d\x3d\ -\x3d\x28\x61\x2e\x67\x65\x74\x43\x6f\x6d\x70\x75\x74\x65\x64\x53\ -\x74\x79\x6c\x65\x28\x63\x2c\x6e\x75\x6c\x6c\x29\x7c\x7c\x7b\x77\ -\x69\x64\x74\x68\x3a\x22\x34\x70\x78\x22\x7d\x29\x2e\x77\x69\x64\ -\x74\x68\x29\x2c\x68\x2e\x72\x65\x6d\x6f\x76\x65\x43\x68\x69\x6c\ -\x64\x28\x62\x29\x2c\x63\x3d\x68\x3d\x6e\x75\x6c\x6c\x29\x7d\x7d\ -\x28\x29\x2c\x6e\x2e\x73\x77\x61\x70\x3d\x66\x75\x6e\x63\x74\x69\ -\x6f\x6e\x28\x61\x2c\x62\x2c\x63\x2c\x64\x29\x7b\x76\x61\x72\x20\ -\x65\x2c\x66\x2c\x67\x3d\x7b\x7d\x3b\x66\x6f\x72\x28\x66\x20\x69\ -\x6e\x20\x62\x29\x67\x5b\x66\x5d\x3d\x61\x2e\x73\x74\x79\x6c\x65\ -\x5b\x66\x5d\x2c\x61\x2e\x73\x74\x79\x6c\x65\x5b\x66\x5d\x3d\x62\ -\x5b\x66\x5d\x3b\x65\x3d\x63\x2e\x61\x70\x70\x6c\x79\x28\x61\x2c\ -\x64\x7c\x7c\x5b\x5d\x29\x3b\x66\x6f\x72\x28\x66\x20\x69\x6e\x20\ -\x62\x29\x61\x2e\x73\x74\x79\x6c\x65\x5b\x66\x5d\x3d\x67\x5b\x66\ -\x5d\x3b\x72\x65\x74\x75\x72\x6e\x20\x65\x7d\x3b\x76\x61\x72\x20\ -\x4e\x62\x3d\x2f\x61\x6c\x70\x68\x61\x5c\x28\x5b\x5e\x29\x5d\x2a\ -\x5c\x29\x2f\x69\x2c\x4f\x62\x3d\x2f\x6f\x70\x61\x63\x69\x74\x79\ -\x5c\x73\x2a\x3d\x5c\x73\x2a\x28\x5b\x5e\x29\x5d\x2a\x29\x2f\x2c\ -\x50\x62\x3d\x2f\x5e\x28\x6e\x6f\x6e\x65\x7c\x74\x61\x62\x6c\x65\ -\x28\x3f\x21\x2d\x63\x5b\x65\x61\x5d\x29\x2e\x2b\x29\x2f\x2c\x51\ -\x62\x3d\x6e\x65\x77\x20\x52\x65\x67\x45\x78\x70\x28\x22\x5e\x28\ -\x22\x2b\x54\x2b\x22\x29\x28\x2e\x2a\x29\x24\x22\x2c\x22\x69\x22\ -\x29\x2c\x52\x62\x3d\x6e\x65\x77\x20\x52\x65\x67\x45\x78\x70\x28\ -\x22\x5e\x28\x5b\x2b\x2d\x5d\x29\x3d\x28\x22\x2b\x54\x2b\x22\x29\ -\x22\x2c\x22\x69\x22\x29\x2c\x53\x62\x3d\x7b\x70\x6f\x73\x69\x74\ -\x69\x6f\x6e\x3a\x22\x61\x62\x73\x6f\x6c\x75\x74\x65\x22\x2c\x76\ -\x69\x73\x69\x62\x69\x6c\x69\x74\x79\x3a\x22\x68\x69\x64\x64\x65\ -\x6e\x22\x2c\x64\x69\x73\x70\x6c\x61\x79\x3a\x22\x62\x6c\x6f\x63\ -\x6b\x22\x7d\x2c\x54\x62\x3d\x7b\x6c\x65\x74\x74\x65\x72\x53\x70\ -\x61\x63\x69\x6e\x67\x3a\x30\x2c\x66\x6f\x6e\x74\x57\x65\x69\x67\ -\x68\x74\x3a\x34\x30\x30\x7d\x2c\x55\x62\x3d\x5b\x22\x57\x65\x62\ -\x6b\x69\x74\x22\x2c\x22\x4f\x22\x2c\x22\x4d\x6f\x7a\x22\x2c\x22\ -\x6d\x73\x22\x5d\x3b\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x56\x62\ -\x28\x61\x2c\x62\x29\x7b\x69\x66\x28\x62\x20\x69\x6e\x20\x61\x29\ -\x72\x65\x74\x75\x72\x6e\x20\x62\x3b\x76\x61\x72\x20\x63\x3d\x62\ -\x2e\x63\x68\x61\x72\x41\x74\x28\x30\x29\x2e\x74\x6f\x55\x70\x70\ -\x65\x72\x43\x61\x73\x65\x28\x29\x2b\x62\x2e\x73\x6c\x69\x63\x65\ -\x28\x31\x29\x2c\x64\x3d\x62\x2c\x65\x3d\x55\x62\x2e\x6c\x65\x6e\ -\x67\x74\x68\x3b\x77\x68\x69\x6c\x65\x28\x65\x2d\x2d\x29\x69\x66\ -\x28\x62\x3d\x55\x62\x5b\x65\x5d\x2b\x63\x2c\x62\x20\x69\x6e\x20\ -\x61\x29\x72\x65\x74\x75\x72\x6e\x20\x62\x3b\x72\x65\x74\x75\x72\ -\x6e\x20\x64\x7d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x57\x62\x28\ -\x61\x2c\x62\x29\x7b\x66\x6f\x72\x28\x76\x61\x72\x20\x63\x2c\x64\ -\x2c\x65\x2c\x66\x3d\x5b\x5d\x2c\x67\x3d\x30\x2c\x68\x3d\x61\x2e\ -\x6c\x65\x6e\x67\x74\x68\x3b\x68\x3e\x67\x3b\x67\x2b\x2b\x29\x64\ -\x3d\x61\x5b\x67\x5d\x2c\x64\x2e\x73\x74\x79\x6c\x65\x26\x26\x28\ -\x66\x5b\x67\x5d\x3d\x6e\x2e\x5f\x64\x61\x74\x61\x28\x64\x2c\x22\ -\x6f\x6c\x64\x64\x69\x73\x70\x6c\x61\x79\x22\x29\x2c\x63\x3d\x64\ -\x2e\x73\x74\x79\x6c\x65\x2e\x64\x69\x73\x70\x6c\x61\x79\x2c\x62\ -\x3f\x28\x66\x5b\x67\x5d\x7c\x7c\x22\x6e\x6f\x6e\x65\x22\x21\x3d\ -\x3d\x63\x7c\x7c\x28\x64\x2e\x73\x74\x79\x6c\x65\x2e\x64\x69\x73\ -\x70\x6c\x61\x79\x3d\x22\x22\x29\x2c\x22\x22\x3d\x3d\x3d\x64\x2e\ -\x73\x74\x79\x6c\x65\x2e\x64\x69\x73\x70\x6c\x61\x79\x26\x26\x56\ -\x28\x64\x29\x26\x26\x28\x66\x5b\x67\x5d\x3d\x6e\x2e\x5f\x64\x61\ -\x74\x61\x28\x64\x2c\x22\x6f\x6c\x64\x64\x69\x73\x70\x6c\x61\x79\ -\x22\x2c\x47\x62\x28\x64\x2e\x6e\x6f\x64\x65\x4e\x61\x6d\x65\x29\ -\x29\x29\x29\x3a\x66\x5b\x67\x5d\x7c\x7c\x28\x65\x3d\x56\x28\x64\ -\x29\x2c\x28\x63\x26\x26\x22\x6e\x6f\x6e\x65\x22\x21\x3d\x3d\x63\ -\x7c\x7c\x21\x65\x29\x26\x26\x6e\x2e\x5f\x64\x61\x74\x61\x28\x64\ -\x2c\x22\x6f\x6c\x64\x64\x69\x73\x70\x6c\x61\x79\x22\x2c\x65\x3f\ -\x63\x3a\x6e\x2e\x63\x73\x73\x28\x64\x2c\x22\x64\x69\x73\x70\x6c\ -\x61\x79\x22\x29\x29\x29\x29\x3b\x66\x6f\x72\x28\x67\x3d\x30\x3b\ -\x68\x3e\x67\x3b\x67\x2b\x2b\x29\x64\x3d\x61\x5b\x67\x5d\x2c\x64\ -\x2e\x73\x74\x79\x6c\x65\x26\x26\x28\x62\x26\x26\x22\x6e\x6f\x6e\ -\x65\x22\x21\x3d\x3d\x64\x2e\x73\x74\x79\x6c\x65\x2e\x64\x69\x73\ -\x70\x6c\x61\x79\x26\x26\x22\x22\x21\x3d\x3d\x64\x2e\x73\x74\x79\ -\x6c\x65\x2e\x64\x69\x73\x70\x6c\x61\x79\x7c\x7c\x28\x64\x2e\x73\ -\x74\x79\x6c\x65\x2e\x64\x69\x73\x70\x6c\x61\x79\x3d\x62\x3f\x66\ -\x5b\x67\x5d\x7c\x7c\x22\x22\x3a\x22\x6e\x6f\x6e\x65\x22\x29\x29\ -\x3b\x72\x65\x74\x75\x72\x6e\x20\x61\x7d\x66\x75\x6e\x63\x74\x69\ -\x6f\x6e\x20\x58\x62\x28\x61\x2c\x62\x2c\x63\x29\x7b\x76\x61\x72\ -\x20\x64\x3d\x51\x62\x2e\x65\x78\x65\x63\x28\x62\x29\x3b\x72\x65\ -\x74\x75\x72\x6e\x20\x64\x3f\x4d\x61\x74\x68\x2e\x6d\x61\x78\x28\ -\x30\x2c\x64\x5b\x31\x5d\x2d\x28\x63\x7c\x7c\x30\x29\x29\x2b\x28\ -\x64\x5b\x32\x5d\x7c\x7c\x22\x70\x78\x22\x29\x3a\x62\x7d\x66\x75\ -\x6e\x63\x74\x69\x6f\x6e\x20\x59\x62\x28\x61\x2c\x62\x2c\x63\x2c\ -\x64\x2c\x65\x29\x7b\x66\x6f\x72\x28\x76\x61\x72\x20\x66\x3d\x63\ -\x3d\x3d\x3d\x28\x64\x3f\x22\x62\x6f\x72\x64\x65\x72\x22\x3a\x22\ -\x63\x6f\x6e\x74\x65\x6e\x74\x22\x29\x3f\x34\x3a\x22\x77\x69\x64\ -\x74\x68\x22\x3d\x3d\x3d\x62\x3f\x31\x3a\x30\x2c\x67\x3d\x30\x3b\ -\x34\x3e\x66\x3b\x66\x2b\x3d\x32\x29\x22\x6d\x61\x72\x67\x69\x6e\ -\x22\x3d\x3d\x3d\x63\x26\x26\x28\x67\x2b\x3d\x6e\x2e\x63\x73\x73\ -\x28\x61\x2c\x63\x2b\x55\x5b\x66\x5d\x2c\x21\x30\x2c\x65\x29\x29\ -\x2c\x64\x3f\x28\x22\x63\x6f\x6e\x74\x65\x6e\x74\x22\x3d\x3d\x3d\ -\x63\x26\x26\x28\x67\x2d\x3d\x6e\x2e\x63\x73\x73\x28\x61\x2c\x22\ -\x70\x61\x64\x64\x69\x6e\x67\x22\x2b\x55\x5b\x66\x5d\x2c\x21\x30\ -\x2c\x65\x29\x29\x2c\x22\x6d\x61\x72\x67\x69\x6e\x22\x21\x3d\x3d\ -\x63\x26\x26\x28\x67\x2d\x3d\x6e\x2e\x63\x73\x73\x28\x61\x2c\x22\ -\x62\x6f\x72\x64\x65\x72\x22\x2b\x55\x5b\x66\x5d\x2b\x22\x57\x69\ -\x64\x74\x68\x22\x2c\x21\x30\x2c\x65\x29\x29\x29\x3a\x28\x67\x2b\ -\x3d\x6e\x2e\x63\x73\x73\x28\x61\x2c\x22\x70\x61\x64\x64\x69\x6e\ -\x67\x22\x2b\x55\x5b\x66\x5d\x2c\x21\x30\x2c\x65\x29\x2c\x22\x70\ -\x61\x64\x64\x69\x6e\x67\x22\x21\x3d\x3d\x63\x26\x26\x28\x67\x2b\ -\x3d\x6e\x2e\x63\x73\x73\x28\x61\x2c\x22\x62\x6f\x72\x64\x65\x72\ -\x22\x2b\x55\x5b\x66\x5d\x2b\x22\x57\x69\x64\x74\x68\x22\x2c\x21\ -\x30\x2c\x65\x29\x29\x29\x3b\x72\x65\x74\x75\x72\x6e\x20\x67\x7d\ -\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x5a\x62\x28\x61\x2c\x62\x2c\ -\x63\x29\x7b\x76\x61\x72\x20\x64\x3d\x21\x30\x2c\x65\x3d\x22\x77\ -\x69\x64\x74\x68\x22\x3d\x3d\x3d\x62\x3f\x61\x2e\x6f\x66\x66\x73\ -\x65\x74\x57\x69\x64\x74\x68\x3a\x61\x2e\x6f\x66\x66\x73\x65\x74\ -\x48\x65\x69\x67\x68\x74\x2c\x66\x3d\x4a\x62\x28\x61\x29\x2c\x67\ -\x3d\x6c\x2e\x62\x6f\x78\x53\x69\x7a\x69\x6e\x67\x28\x29\x26\x26\ -\x22\x62\x6f\x72\x64\x65\x72\x2d\x62\x6f\x78\x22\x3d\x3d\x3d\x6e\ -\x2e\x63\x73\x73\x28\x61\x2c\x22\x62\x6f\x78\x53\x69\x7a\x69\x6e\ -\x67\x22\x2c\x21\x31\x2c\x66\x29\x3b\x69\x66\x28\x30\x3e\x3d\x65\ -\x7c\x7c\x6e\x75\x6c\x6c\x3d\x3d\x65\x29\x7b\x69\x66\x28\x65\x3d\ -\x4b\x62\x28\x61\x2c\x62\x2c\x66\x29\x2c\x28\x30\x3e\x65\x7c\x7c\ -\x6e\x75\x6c\x6c\x3d\x3d\x65\x29\x26\x26\x28\x65\x3d\x61\x2e\x73\ -\x74\x79\x6c\x65\x5b\x62\x5d\x29\x2c\x49\x62\x2e\x74\x65\x73\x74\ -\x28\x65\x29\x29\x72\x65\x74\x75\x72\x6e\x20\x65\x3b\x64\x3d\x67\ -\x26\x26\x28\x6c\x2e\x62\x6f\x78\x53\x69\x7a\x69\x6e\x67\x52\x65\ -\x6c\x69\x61\x62\x6c\x65\x28\x29\x7c\x7c\x65\x3d\x3d\x3d\x61\x2e\ -\x73\x74\x79\x6c\x65\x5b\x62\x5d\x29\x2c\x65\x3d\x70\x61\x72\x73\ -\x65\x46\x6c\x6f\x61\x74\x28\x65\x29\x7c\x7c\x30\x7d\x72\x65\x74\ -\x75\x72\x6e\x20\x65\x2b\x59\x62\x28\x61\x2c\x62\x2c\x63\x7c\x7c\ -\x28\x67\x3f\x22\x62\x6f\x72\x64\x65\x72\x22\x3a\x22\x63\x6f\x6e\ -\x74\x65\x6e\x74\x22\x29\x2c\x64\x2c\x66\x29\x2b\x22\x70\x78\x22\ -\x7d\x6e\x2e\x65\x78\x74\x65\x6e\x64\x28\x7b\x63\x73\x73\x48\x6f\ -\x6f\x6b\x73\x3a\x7b\x6f\x70\x61\x63\x69\x74\x79\x3a\x7b\x67\x65\ -\x74\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x29\x7b\ -\x69\x66\x28\x62\x29\x7b\x76\x61\x72\x20\x63\x3d\x4b\x62\x28\x61\ -\x2c\x22\x6f\x70\x61\x63\x69\x74\x79\x22\x29\x3b\x72\x65\x74\x75\ -\x72\x6e\x22\x22\x3d\x3d\x3d\x63\x3f\x22\x31\x22\x3a\x63\x7d\x7d\ -\x7d\x7d\x2c\x63\x73\x73\x4e\x75\x6d\x62\x65\x72\x3a\x7b\x63\x6f\ -\x6c\x75\x6d\x6e\x43\x6f\x75\x6e\x74\x3a\x21\x30\x2c\x66\x69\x6c\ -\x6c\x4f\x70\x61\x63\x69\x74\x79\x3a\x21\x30\x2c\x66\x6f\x6e\x74\ -\x57\x65\x69\x67\x68\x74\x3a\x21\x30\x2c\x6c\x69\x6e\x65\x48\x65\ -\x69\x67\x68\x74\x3a\x21\x30\x2c\x6f\x70\x61\x63\x69\x74\x79\x3a\ -\x21\x30\x2c\x6f\x72\x64\x65\x72\x3a\x21\x30\x2c\x6f\x72\x70\x68\ -\x61\x6e\x73\x3a\x21\x30\x2c\x77\x69\x64\x6f\x77\x73\x3a\x21\x30\ -\x2c\x7a\x49\x6e\x64\x65\x78\x3a\x21\x30\x2c\x7a\x6f\x6f\x6d\x3a\ -\x21\x30\x7d\x2c\x63\x73\x73\x50\x72\x6f\x70\x73\x3a\x7b\x22\x66\ -\x6c\x6f\x61\x74\x22\x3a\x6c\x2e\x63\x73\x73\x46\x6c\x6f\x61\x74\ -\x3f\x22\x63\x73\x73\x46\x6c\x6f\x61\x74\x22\x3a\x22\x73\x74\x79\ -\x6c\x65\x46\x6c\x6f\x61\x74\x22\x7d\x2c\x73\x74\x79\x6c\x65\x3a\ -\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x2c\x63\x2c\x64\ -\x29\x7b\x69\x66\x28\x61\x26\x26\x33\x21\x3d\x3d\x61\x2e\x6e\x6f\ -\x64\x65\x54\x79\x70\x65\x26\x26\x38\x21\x3d\x3d\x61\x2e\x6e\x6f\ -\x64\x65\x54\x79\x70\x65\x26\x26\x61\x2e\x73\x74\x79\x6c\x65\x29\ -\x7b\x76\x61\x72\x20\x65\x2c\x66\x2c\x67\x2c\x68\x3d\x6e\x2e\x63\ -\x61\x6d\x65\x6c\x43\x61\x73\x65\x28\x62\x29\x2c\x69\x3d\x61\x2e\ -\x73\x74\x79\x6c\x65\x3b\x69\x66\x28\x62\x3d\x6e\x2e\x63\x73\x73\ -\x50\x72\x6f\x70\x73\x5b\x68\x5d\x7c\x7c\x28\x6e\x2e\x63\x73\x73\ -\x50\x72\x6f\x70\x73\x5b\x68\x5d\x3d\x56\x62\x28\x69\x2c\x68\x29\ -\x29\x2c\x67\x3d\x6e\x2e\x63\x73\x73\x48\x6f\x6f\x6b\x73\x5b\x62\ -\x5d\x7c\x7c\x6e\x2e\x63\x73\x73\x48\x6f\x6f\x6b\x73\x5b\x68\x5d\ -\x2c\x76\x6f\x69\x64\x20\x30\x3d\x3d\x3d\x63\x29\x72\x65\x74\x75\ -\x72\x6e\x20\x67\x26\x26\x22\x67\x65\x74\x22\x69\x6e\x20\x67\x26\ -\x26\x76\x6f\x69\x64\x20\x30\x21\x3d\x3d\x28\x65\x3d\x67\x2e\x67\ -\x65\x74\x28\x61\x2c\x21\x31\x2c\x64\x29\x29\x3f\x65\x3a\x69\x5b\ -\x62\x5d\x3b\x69\x66\x28\x66\x3d\x74\x79\x70\x65\x6f\x66\x20\x63\ -\x2c\x22\x73\x74\x72\x69\x6e\x67\x22\x3d\x3d\x3d\x66\x26\x26\x28\ -\x65\x3d\x52\x62\x2e\x65\x78\x65\x63\x28\x63\x29\x29\x26\x26\x28\ -\x63\x3d\x28\x65\x5b\x31\x5d\x2b\x31\x29\x2a\x65\x5b\x32\x5d\x2b\ -\x70\x61\x72\x73\x65\x46\x6c\x6f\x61\x74\x28\x6e\x2e\x63\x73\x73\ -\x28\x61\x2c\x62\x29\x29\x2c\x66\x3d\x22\x6e\x75\x6d\x62\x65\x72\ -\x22\x29\x2c\x6e\x75\x6c\x6c\x21\x3d\x63\x26\x26\x63\x3d\x3d\x3d\ -\x63\x26\x26\x28\x22\x6e\x75\x6d\x62\x65\x72\x22\x21\x3d\x3d\x66\ -\x7c\x7c\x6e\x2e\x63\x73\x73\x4e\x75\x6d\x62\x65\x72\x5b\x68\x5d\ -\x7c\x7c\x28\x63\x2b\x3d\x22\x70\x78\x22\x29\x2c\x6c\x2e\x63\x6c\ -\x65\x61\x72\x43\x6c\x6f\x6e\x65\x53\x74\x79\x6c\x65\x7c\x7c\x22\ -\x22\x21\x3d\x3d\x63\x7c\x7c\x30\x21\x3d\x3d\x62\x2e\x69\x6e\x64\ -\x65\x78\x4f\x66\x28\x22\x62\x61\x63\x6b\x67\x72\x6f\x75\x6e\x64\ -\x22\x29\x7c\x7c\x28\x69\x5b\x62\x5d\x3d\x22\x69\x6e\x68\x65\x72\ -\x69\x74\x22\x29\x2c\x21\x28\x67\x26\x26\x22\x73\x65\x74\x22\x69\ -\x6e\x20\x67\x26\x26\x76\x6f\x69\x64\x20\x30\x3d\x3d\x3d\x28\x63\ -\x3d\x67\x2e\x73\x65\x74\x28\x61\x2c\x63\x2c\x64\x29\x29\x29\x29\ -\x29\x74\x72\x79\x7b\x69\x5b\x62\x5d\x3d\x22\x22\x2c\x69\x5b\x62\ -\x5d\x3d\x63\x7d\x63\x61\x74\x63\x68\x28\x6a\x29\x7b\x7d\x7d\x7d\ -\x2c\x63\x73\x73\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\ -\x62\x2c\x63\x2c\x64\x29\x7b\x76\x61\x72\x20\x65\x2c\x66\x2c\x67\ -\x2c\x68\x3d\x6e\x2e\x63\x61\x6d\x65\x6c\x43\x61\x73\x65\x28\x62\ -\x29\x3b\x72\x65\x74\x75\x72\x6e\x20\x62\x3d\x6e\x2e\x63\x73\x73\ -\x50\x72\x6f\x70\x73\x5b\x68\x5d\x7c\x7c\x28\x6e\x2e\x63\x73\x73\ -\x50\x72\x6f\x70\x73\x5b\x68\x5d\x3d\x56\x62\x28\x61\x2e\x73\x74\ -\x79\x6c\x65\x2c\x68\x29\x29\x2c\x67\x3d\x6e\x2e\x63\x73\x73\x48\ -\x6f\x6f\x6b\x73\x5b\x62\x5d\x7c\x7c\x6e\x2e\x63\x73\x73\x48\x6f\ -\x6f\x6b\x73\x5b\x68\x5d\x2c\x67\x26\x26\x22\x67\x65\x74\x22\x69\ -\x6e\x20\x67\x26\x26\x28\x66\x3d\x67\x2e\x67\x65\x74\x28\x61\x2c\ -\x21\x30\x2c\x63\x29\x29\x2c\x76\x6f\x69\x64\x20\x30\x3d\x3d\x3d\ -\x66\x26\x26\x28\x66\x3d\x4b\x62\x28\x61\x2c\x62\x2c\x64\x29\x29\ -\x2c\x22\x6e\x6f\x72\x6d\x61\x6c\x22\x3d\x3d\x3d\x66\x26\x26\x62\ -\x20\x69\x6e\x20\x54\x62\x26\x26\x28\x66\x3d\x54\x62\x5b\x62\x5d\ -\x29\x2c\x22\x22\x3d\x3d\x3d\x63\x7c\x7c\x63\x3f\x28\x65\x3d\x70\ -\x61\x72\x73\x65\x46\x6c\x6f\x61\x74\x28\x66\x29\x2c\x63\x3d\x3d\ -\x3d\x21\x30\x7c\x7c\x6e\x2e\x69\x73\x4e\x75\x6d\x65\x72\x69\x63\ -\x28\x65\x29\x3f\x65\x7c\x7c\x30\x3a\x66\x29\x3a\x66\x7d\x7d\x29\ -\x2c\x6e\x2e\x65\x61\x63\x68\x28\x5b\x22\x68\x65\x69\x67\x68\x74\ -\x22\x2c\x22\x77\x69\x64\x74\x68\x22\x5d\x2c\x66\x75\x6e\x63\x74\ -\x69\x6f\x6e\x28\x61\x2c\x62\x29\x7b\x6e\x2e\x63\x73\x73\x48\x6f\ -\x6f\x6b\x73\x5b\x62\x5d\x3d\x7b\x67\x65\x74\x3a\x66\x75\x6e\x63\ -\x74\x69\x6f\x6e\x28\x61\x2c\x63\x2c\x64\x29\x7b\x72\x65\x74\x75\ -\x72\x6e\x20\x63\x3f\x30\x3d\x3d\x3d\x61\x2e\x6f\x66\x66\x73\x65\ -\x74\x57\x69\x64\x74\x68\x26\x26\x50\x62\x2e\x74\x65\x73\x74\x28\ -\x6e\x2e\x63\x73\x73\x28\x61\x2c\x22\x64\x69\x73\x70\x6c\x61\x79\ -\x22\x29\x29\x3f\x6e\x2e\x73\x77\x61\x70\x28\x61\x2c\x53\x62\x2c\ -\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x72\x65\x74\x75\x72\ -\x6e\x20\x5a\x62\x28\x61\x2c\x62\x2c\x64\x29\x7d\x29\x3a\x5a\x62\ -\x28\x61\x2c\x62\x2c\x64\x29\x3a\x76\x6f\x69\x64\x20\x30\x7d\x2c\ -\x73\x65\x74\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x63\ -\x2c\x64\x29\x7b\x76\x61\x72\x20\x65\x3d\x64\x26\x26\x4a\x62\x28\ -\x61\x29\x3b\x72\x65\x74\x75\x72\x6e\x20\x58\x62\x28\x61\x2c\x63\ -\x2c\x64\x3f\x59\x62\x28\x61\x2c\x62\x2c\x64\x2c\x6c\x2e\x62\x6f\ -\x78\x53\x69\x7a\x69\x6e\x67\x28\x29\x26\x26\x22\x62\x6f\x72\x64\ -\x65\x72\x2d\x62\x6f\x78\x22\x3d\x3d\x3d\x6e\x2e\x63\x73\x73\x28\ -\x61\x2c\x22\x62\x6f\x78\x53\x69\x7a\x69\x6e\x67\x22\x2c\x21\x31\ -\x2c\x65\x29\x2c\x65\x29\x3a\x30\x29\x7d\x7d\x7d\x29\x2c\x6c\x2e\ -\x6f\x70\x61\x63\x69\x74\x79\x7c\x7c\x28\x6e\x2e\x63\x73\x73\x48\ -\x6f\x6f\x6b\x73\x2e\x6f\x70\x61\x63\x69\x74\x79\x3d\x7b\x67\x65\ -\x74\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x29\x7b\ -\x72\x65\x74\x75\x72\x6e\x20\x4f\x62\x2e\x74\x65\x73\x74\x28\x28\ -\x62\x26\x26\x61\x2e\x63\x75\x72\x72\x65\x6e\x74\x53\x74\x79\x6c\ -\x65\x3f\x61\x2e\x63\x75\x72\x72\x65\x6e\x74\x53\x74\x79\x6c\x65\ -\x2e\x66\x69\x6c\x74\x65\x72\x3a\x61\x2e\x73\x74\x79\x6c\x65\x2e\ -\x66\x69\x6c\x74\x65\x72\x29\x7c\x7c\x22\x22\x29\x3f\x2e\x30\x31\ -\x2a\x70\x61\x72\x73\x65\x46\x6c\x6f\x61\x74\x28\x52\x65\x67\x45\ -\x78\x70\x2e\x24\x31\x29\x2b\x22\x22\x3a\x62\x3f\x22\x31\x22\x3a\ -\x22\x22\x7d\x2c\x73\x65\x74\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\ -\x28\x61\x2c\x62\x29\x7b\x76\x61\x72\x20\x63\x3d\x61\x2e\x73\x74\ -\x79\x6c\x65\x2c\x64\x3d\x61\x2e\x63\x75\x72\x72\x65\x6e\x74\x53\ -\x74\x79\x6c\x65\x2c\x65\x3d\x6e\x2e\x69\x73\x4e\x75\x6d\x65\x72\ -\x69\x63\x28\x62\x29\x3f\x22\x61\x6c\x70\x68\x61\x28\x6f\x70\x61\ -\x63\x69\x74\x79\x3d\x22\x2b\x31\x30\x30\x2a\x62\x2b\x22\x29\x22\ -\x3a\x22\x22\x2c\x66\x3d\x64\x26\x26\x64\x2e\x66\x69\x6c\x74\x65\ -\x72\x7c\x7c\x63\x2e\x66\x69\x6c\x74\x65\x72\x7c\x7c\x22\x22\x3b\ -\x63\x2e\x7a\x6f\x6f\x6d\x3d\x31\x2c\x28\x62\x3e\x3d\x31\x7c\x7c\ -\x22\x22\x3d\x3d\x3d\x62\x29\x26\x26\x22\x22\x3d\x3d\x3d\x6e\x2e\ -\x74\x72\x69\x6d\x28\x66\x2e\x72\x65\x70\x6c\x61\x63\x65\x28\x4e\ -\x62\x2c\x22\x22\x29\x29\x26\x26\x63\x2e\x72\x65\x6d\x6f\x76\x65\ -\x41\x74\x74\x72\x69\x62\x75\x74\x65\x26\x26\x28\x63\x2e\x72\x65\ -\x6d\x6f\x76\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x28\x22\x66\ -\x69\x6c\x74\x65\x72\x22\x29\x2c\x22\x22\x3d\x3d\x3d\x62\x7c\x7c\ -\x64\x26\x26\x21\x64\x2e\x66\x69\x6c\x74\x65\x72\x29\x7c\x7c\x28\ -\x63\x2e\x66\x69\x6c\x74\x65\x72\x3d\x4e\x62\x2e\x74\x65\x73\x74\ -\x28\x66\x29\x3f\x66\x2e\x72\x65\x70\x6c\x61\x63\x65\x28\x4e\x62\ -\x2c\x65\x29\x3a\x66\x2b\x22\x20\x22\x2b\x65\x29\x7d\x7d\x29\x2c\ -\x6e\x2e\x63\x73\x73\x48\x6f\x6f\x6b\x73\x2e\x6d\x61\x72\x67\x69\ -\x6e\x52\x69\x67\x68\x74\x3d\x4d\x62\x28\x6c\x2e\x72\x65\x6c\x69\ -\x61\x62\x6c\x65\x4d\x61\x72\x67\x69\x6e\x52\x69\x67\x68\x74\x2c\ -\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x29\x7b\x72\x65\ -\x74\x75\x72\x6e\x20\x62\x3f\x6e\x2e\x73\x77\x61\x70\x28\x61\x2c\ -\x7b\x64\x69\x73\x70\x6c\x61\x79\x3a\x22\x69\x6e\x6c\x69\x6e\x65\ -\x2d\x62\x6c\x6f\x63\x6b\x22\x7d\x2c\x4b\x62\x2c\x5b\x61\x2c\x22\ -\x6d\x61\x72\x67\x69\x6e\x52\x69\x67\x68\x74\x22\x5d\x29\x3a\x76\ -\x6f\x69\x64\x20\x30\x7d\x29\x2c\x6e\x2e\x65\x61\x63\x68\x28\x7b\ -\x6d\x61\x72\x67\x69\x6e\x3a\x22\x22\x2c\x70\x61\x64\x64\x69\x6e\ -\x67\x3a\x22\x22\x2c\x62\x6f\x72\x64\x65\x72\x3a\x22\x57\x69\x64\ -\x74\x68\x22\x7d\x2c\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\ -\x62\x29\x7b\x6e\x2e\x63\x73\x73\x48\x6f\x6f\x6b\x73\x5b\x61\x2b\ -\x62\x5d\x3d\x7b\x65\x78\x70\x61\x6e\x64\x3a\x66\x75\x6e\x63\x74\ -\x69\x6f\x6e\x28\x63\x29\x7b\x66\x6f\x72\x28\x76\x61\x72\x20\x64\ -\x3d\x30\x2c\x65\x3d\x7b\x7d\x2c\x66\x3d\x22\x73\x74\x72\x69\x6e\ -\x67\x22\x3d\x3d\x74\x79\x70\x65\x6f\x66\x20\x63\x3f\x63\x2e\x73\ -\x70\x6c\x69\x74\x28\x22\x20\x22\x29\x3a\x5b\x63\x5d\x3b\x34\x3e\ -\x64\x3b\x64\x2b\x2b\x29\x65\x5b\x61\x2b\x55\x5b\x64\x5d\x2b\x62\ -\x5d\x3d\x66\x5b\x64\x5d\x7c\x7c\x66\x5b\x64\x2d\x32\x5d\x7c\x7c\ -\x66\x5b\x30\x5d\x3b\x72\x65\x74\x75\x72\x6e\x20\x65\x7d\x7d\x2c\ -\x48\x62\x2e\x74\x65\x73\x74\x28\x61\x29\x7c\x7c\x28\x6e\x2e\x63\ -\x73\x73\x48\x6f\x6f\x6b\x73\x5b\x61\x2b\x62\x5d\x2e\x73\x65\x74\ -\x3d\x58\x62\x29\x7d\x29\x2c\x6e\x2e\x66\x6e\x2e\x65\x78\x74\x65\ -\x6e\x64\x28\x7b\x63\x73\x73\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\ -\x28\x61\x2c\x62\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x57\x28\x74\ -\x68\x69\x73\x2c\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\ -\x2c\x63\x29\x7b\x76\x61\x72\x20\x64\x2c\x65\x2c\x66\x3d\x7b\x7d\ -\x2c\x67\x3d\x30\x3b\x69\x66\x28\x6e\x2e\x69\x73\x41\x72\x72\x61\ -\x79\x28\x62\x29\x29\x7b\x66\x6f\x72\x28\x64\x3d\x4a\x62\x28\x61\ -\x29\x2c\x65\x3d\x62\x2e\x6c\x65\x6e\x67\x74\x68\x3b\x65\x3e\x67\ -\x3b\x67\x2b\x2b\x29\x66\x5b\x62\x5b\x67\x5d\x5d\x3d\x6e\x2e\x63\ -\x73\x73\x28\x61\x2c\x62\x5b\x67\x5d\x2c\x21\x31\x2c\x64\x29\x3b\ -\x72\x65\x74\x75\x72\x6e\x20\x66\x7d\x72\x65\x74\x75\x72\x6e\x20\ -\x76\x6f\x69\x64\x20\x30\x21\x3d\x3d\x63\x3f\x6e\x2e\x73\x74\x79\ -\x6c\x65\x28\x61\x2c\x62\x2c\x63\x29\x3a\x6e\x2e\x63\x73\x73\x28\ -\x61\x2c\x62\x29\x0a\x7d\x2c\x61\x2c\x62\x2c\x61\x72\x67\x75\x6d\ -\x65\x6e\x74\x73\x2e\x6c\x65\x6e\x67\x74\x68\x3e\x31\x29\x7d\x2c\ -\x73\x68\x6f\x77\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\ -\x72\x65\x74\x75\x72\x6e\x20\x57\x62\x28\x74\x68\x69\x73\x2c\x21\ -\x30\x29\x7d\x2c\x68\x69\x64\x65\x3a\x66\x75\x6e\x63\x74\x69\x6f\ -\x6e\x28\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x57\x62\x28\x74\x68\ -\x69\x73\x29\x7d\x2c\x74\x6f\x67\x67\x6c\x65\x3a\x66\x75\x6e\x63\ -\x74\x69\x6f\x6e\x28\x61\x29\x7b\x72\x65\x74\x75\x72\x6e\x22\x62\ -\x6f\x6f\x6c\x65\x61\x6e\x22\x3d\x3d\x74\x79\x70\x65\x6f\x66\x20\ -\x61\x3f\x61\x3f\x74\x68\x69\x73\x2e\x73\x68\x6f\x77\x28\x29\x3a\ -\x74\x68\x69\x73\x2e\x68\x69\x64\x65\x28\x29\x3a\x74\x68\x69\x73\ -\x2e\x65\x61\x63\x68\x28\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\ -\x7b\x56\x28\x74\x68\x69\x73\x29\x3f\x6e\x28\x74\x68\x69\x73\x29\ -\x2e\x73\x68\x6f\x77\x28\x29\x3a\x6e\x28\x74\x68\x69\x73\x29\x2e\ -\x68\x69\x64\x65\x28\x29\x7d\x29\x7d\x7d\x29\x3b\x66\x75\x6e\x63\ -\x74\x69\x6f\x6e\x20\x24\x62\x28\x61\x2c\x62\x2c\x63\x2c\x64\x2c\ -\x65\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x6e\x65\x77\x20\x24\x62\ -\x2e\x70\x72\x6f\x74\x6f\x74\x79\x70\x65\x2e\x69\x6e\x69\x74\x28\ -\x61\x2c\x62\x2c\x63\x2c\x64\x2c\x65\x29\x7d\x6e\x2e\x54\x77\x65\ -\x65\x6e\x3d\x24\x62\x2c\x24\x62\x2e\x70\x72\x6f\x74\x6f\x74\x79\ -\x70\x65\x3d\x7b\x63\x6f\x6e\x73\x74\x72\x75\x63\x74\x6f\x72\x3a\ -\x24\x62\x2c\x69\x6e\x69\x74\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\ -\x28\x61\x2c\x62\x2c\x63\x2c\x64\x2c\x65\x2c\x66\x29\x7b\x74\x68\ -\x69\x73\x2e\x65\x6c\x65\x6d\x3d\x61\x2c\x74\x68\x69\x73\x2e\x70\ -\x72\x6f\x70\x3d\x63\x2c\x74\x68\x69\x73\x2e\x65\x61\x73\x69\x6e\ -\x67\x3d\x65\x7c\x7c\x22\x73\x77\x69\x6e\x67\x22\x2c\x74\x68\x69\ -\x73\x2e\x6f\x70\x74\x69\x6f\x6e\x73\x3d\x62\x2c\x74\x68\x69\x73\ -\x2e\x73\x74\x61\x72\x74\x3d\x74\x68\x69\x73\x2e\x6e\x6f\x77\x3d\ -\x74\x68\x69\x73\x2e\x63\x75\x72\x28\x29\x2c\x74\x68\x69\x73\x2e\ -\x65\x6e\x64\x3d\x64\x2c\x74\x68\x69\x73\x2e\x75\x6e\x69\x74\x3d\ -\x66\x7c\x7c\x28\x6e\x2e\x63\x73\x73\x4e\x75\x6d\x62\x65\x72\x5b\ -\x63\x5d\x3f\x22\x22\x3a\x22\x70\x78\x22\x29\x7d\x2c\x63\x75\x72\ -\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x76\x61\x72\x20\ -\x61\x3d\x24\x62\x2e\x70\x72\x6f\x70\x48\x6f\x6f\x6b\x73\x5b\x74\ -\x68\x69\x73\x2e\x70\x72\x6f\x70\x5d\x3b\x72\x65\x74\x75\x72\x6e\ -\x20\x61\x26\x26\x61\x2e\x67\x65\x74\x3f\x61\x2e\x67\x65\x74\x28\ -\x74\x68\x69\x73\x29\x3a\x24\x62\x2e\x70\x72\x6f\x70\x48\x6f\x6f\ -\x6b\x73\x2e\x5f\x64\x65\x66\x61\x75\x6c\x74\x2e\x67\x65\x74\x28\ -\x74\x68\x69\x73\x29\x7d\x2c\x72\x75\x6e\x3a\x66\x75\x6e\x63\x74\ -\x69\x6f\x6e\x28\x61\x29\x7b\x76\x61\x72\x20\x62\x2c\x63\x3d\x24\ -\x62\x2e\x70\x72\x6f\x70\x48\x6f\x6f\x6b\x73\x5b\x74\x68\x69\x73\ -\x2e\x70\x72\x6f\x70\x5d\x3b\x72\x65\x74\x75\x72\x6e\x20\x74\x68\ -\x69\x73\x2e\x70\x6f\x73\x3d\x62\x3d\x74\x68\x69\x73\x2e\x6f\x70\ -\x74\x69\x6f\x6e\x73\x2e\x64\x75\x72\x61\x74\x69\x6f\x6e\x3f\x6e\ -\x2e\x65\x61\x73\x69\x6e\x67\x5b\x74\x68\x69\x73\x2e\x65\x61\x73\ -\x69\x6e\x67\x5d\x28\x61\x2c\x74\x68\x69\x73\x2e\x6f\x70\x74\x69\ -\x6f\x6e\x73\x2e\x64\x75\x72\x61\x74\x69\x6f\x6e\x2a\x61\x2c\x30\ -\x2c\x31\x2c\x74\x68\x69\x73\x2e\x6f\x70\x74\x69\x6f\x6e\x73\x2e\ -\x64\x75\x72\x61\x74\x69\x6f\x6e\x29\x3a\x61\x2c\x74\x68\x69\x73\ -\x2e\x6e\x6f\x77\x3d\x28\x74\x68\x69\x73\x2e\x65\x6e\x64\x2d\x74\ -\x68\x69\x73\x2e\x73\x74\x61\x72\x74\x29\x2a\x62\x2b\x74\x68\x69\ -\x73\x2e\x73\x74\x61\x72\x74\x2c\x74\x68\x69\x73\x2e\x6f\x70\x74\ -\x69\x6f\x6e\x73\x2e\x73\x74\x65\x70\x26\x26\x74\x68\x69\x73\x2e\ -\x6f\x70\x74\x69\x6f\x6e\x73\x2e\x73\x74\x65\x70\x2e\x63\x61\x6c\ -\x6c\x28\x74\x68\x69\x73\x2e\x65\x6c\x65\x6d\x2c\x74\x68\x69\x73\ -\x2e\x6e\x6f\x77\x2c\x74\x68\x69\x73\x29\x2c\x63\x26\x26\x63\x2e\ -\x73\x65\x74\x3f\x63\x2e\x73\x65\x74\x28\x74\x68\x69\x73\x29\x3a\ -\x24\x62\x2e\x70\x72\x6f\x70\x48\x6f\x6f\x6b\x73\x2e\x5f\x64\x65\ -\x66\x61\x75\x6c\x74\x2e\x73\x65\x74\x28\x74\x68\x69\x73\x29\x2c\ -\x74\x68\x69\x73\x7d\x7d\x2c\x24\x62\x2e\x70\x72\x6f\x74\x6f\x74\ -\x79\x70\x65\x2e\x69\x6e\x69\x74\x2e\x70\x72\x6f\x74\x6f\x74\x79\ -\x70\x65\x3d\x24\x62\x2e\x70\x72\x6f\x74\x6f\x74\x79\x70\x65\x2c\ -\x24\x62\x2e\x70\x72\x6f\x70\x48\x6f\x6f\x6b\x73\x3d\x7b\x5f\x64\ -\x65\x66\x61\x75\x6c\x74\x3a\x7b\x67\x65\x74\x3a\x66\x75\x6e\x63\ -\x74\x69\x6f\x6e\x28\x61\x29\x7b\x76\x61\x72\x20\x62\x3b\x72\x65\ -\x74\x75\x72\x6e\x20\x6e\x75\x6c\x6c\x3d\x3d\x61\x2e\x65\x6c\x65\ -\x6d\x5b\x61\x2e\x70\x72\x6f\x70\x5d\x7c\x7c\x61\x2e\x65\x6c\x65\ -\x6d\x2e\x73\x74\x79\x6c\x65\x26\x26\x6e\x75\x6c\x6c\x21\x3d\x61\ -\x2e\x65\x6c\x65\x6d\x2e\x73\x74\x79\x6c\x65\x5b\x61\x2e\x70\x72\ -\x6f\x70\x5d\x3f\x28\x62\x3d\x6e\x2e\x63\x73\x73\x28\x61\x2e\x65\ -\x6c\x65\x6d\x2c\x61\x2e\x70\x72\x6f\x70\x2c\x22\x22\x29\x2c\x62\ -\x26\x26\x22\x61\x75\x74\x6f\x22\x21\x3d\x3d\x62\x3f\x62\x3a\x30\ -\x29\x3a\x61\x2e\x65\x6c\x65\x6d\x5b\x61\x2e\x70\x72\x6f\x70\x5d\ -\x7d\x2c\x73\x65\x74\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\ -\x29\x7b\x6e\x2e\x66\x78\x2e\x73\x74\x65\x70\x5b\x61\x2e\x70\x72\ -\x6f\x70\x5d\x3f\x6e\x2e\x66\x78\x2e\x73\x74\x65\x70\x5b\x61\x2e\ -\x70\x72\x6f\x70\x5d\x28\x61\x29\x3a\x61\x2e\x65\x6c\x65\x6d\x2e\ -\x73\x74\x79\x6c\x65\x26\x26\x28\x6e\x75\x6c\x6c\x21\x3d\x61\x2e\ -\x65\x6c\x65\x6d\x2e\x73\x74\x79\x6c\x65\x5b\x6e\x2e\x63\x73\x73\ -\x50\x72\x6f\x70\x73\x5b\x61\x2e\x70\x72\x6f\x70\x5d\x5d\x7c\x7c\ -\x6e\x2e\x63\x73\x73\x48\x6f\x6f\x6b\x73\x5b\x61\x2e\x70\x72\x6f\ -\x70\x5d\x29\x3f\x6e\x2e\x73\x74\x79\x6c\x65\x28\x61\x2e\x65\x6c\ -\x65\x6d\x2c\x61\x2e\x70\x72\x6f\x70\x2c\x61\x2e\x6e\x6f\x77\x2b\ -\x61\x2e\x75\x6e\x69\x74\x29\x3a\x61\x2e\x65\x6c\x65\x6d\x5b\x61\ -\x2e\x70\x72\x6f\x70\x5d\x3d\x61\x2e\x6e\x6f\x77\x7d\x7d\x7d\x2c\ -\x24\x62\x2e\x70\x72\x6f\x70\x48\x6f\x6f\x6b\x73\x2e\x73\x63\x72\ -\x6f\x6c\x6c\x54\x6f\x70\x3d\x24\x62\x2e\x70\x72\x6f\x70\x48\x6f\ -\x6f\x6b\x73\x2e\x73\x63\x72\x6f\x6c\x6c\x4c\x65\x66\x74\x3d\x7b\ -\x73\x65\x74\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\ -\x61\x2e\x65\x6c\x65\x6d\x2e\x6e\x6f\x64\x65\x54\x79\x70\x65\x26\ -\x26\x61\x2e\x65\x6c\x65\x6d\x2e\x70\x61\x72\x65\x6e\x74\x4e\x6f\ -\x64\x65\x26\x26\x28\x61\x2e\x65\x6c\x65\x6d\x5b\x61\x2e\x70\x72\ -\x6f\x70\x5d\x3d\x61\x2e\x6e\x6f\x77\x29\x7d\x7d\x2c\x6e\x2e\x65\ -\x61\x73\x69\x6e\x67\x3d\x7b\x6c\x69\x6e\x65\x61\x72\x3a\x66\x75\ -\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x72\x65\x74\x75\x72\x6e\ -\x20\x61\x7d\x2c\x73\x77\x69\x6e\x67\x3a\x66\x75\x6e\x63\x74\x69\ -\x6f\x6e\x28\x61\x29\x7b\x72\x65\x74\x75\x72\x6e\x2e\x35\x2d\x4d\ -\x61\x74\x68\x2e\x63\x6f\x73\x28\x61\x2a\x4d\x61\x74\x68\x2e\x50\ -\x49\x29\x2f\x32\x7d\x7d\x2c\x6e\x2e\x66\x78\x3d\x24\x62\x2e\x70\ -\x72\x6f\x74\x6f\x74\x79\x70\x65\x2e\x69\x6e\x69\x74\x2c\x6e\x2e\ -\x66\x78\x2e\x73\x74\x65\x70\x3d\x7b\x7d\x3b\x76\x61\x72\x20\x5f\ -\x62\x2c\x61\x63\x2c\x62\x63\x3d\x2f\x5e\x28\x3f\x3a\x74\x6f\x67\ -\x67\x6c\x65\x7c\x73\x68\x6f\x77\x7c\x68\x69\x64\x65\x29\x24\x2f\ -\x2c\x63\x63\x3d\x6e\x65\x77\x20\x52\x65\x67\x45\x78\x70\x28\x22\ -\x5e\x28\x3f\x3a\x28\x5b\x2b\x2d\x5d\x29\x3d\x7c\x29\x28\x22\x2b\ -\x54\x2b\x22\x29\x28\x5b\x61\x2d\x7a\x25\x5d\x2a\x29\x24\x22\x2c\ -\x22\x69\x22\x29\x2c\x64\x63\x3d\x2f\x71\x75\x65\x75\x65\x48\x6f\ -\x6f\x6b\x73\x24\x2f\x2c\x65\x63\x3d\x5b\x6a\x63\x5d\x2c\x66\x63\ -\x3d\x7b\x22\x2a\x22\x3a\x5b\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\ -\x61\x2c\x62\x29\x7b\x76\x61\x72\x20\x63\x3d\x74\x68\x69\x73\x2e\ -\x63\x72\x65\x61\x74\x65\x54\x77\x65\x65\x6e\x28\x61\x2c\x62\x29\ -\x2c\x64\x3d\x63\x2e\x63\x75\x72\x28\x29\x2c\x65\x3d\x63\x63\x2e\ -\x65\x78\x65\x63\x28\x62\x29\x2c\x66\x3d\x65\x26\x26\x65\x5b\x33\ -\x5d\x7c\x7c\x28\x6e\x2e\x63\x73\x73\x4e\x75\x6d\x62\x65\x72\x5b\ -\x61\x5d\x3f\x22\x22\x3a\x22\x70\x78\x22\x29\x2c\x67\x3d\x28\x6e\ -\x2e\x63\x73\x73\x4e\x75\x6d\x62\x65\x72\x5b\x61\x5d\x7c\x7c\x22\ -\x70\x78\x22\x21\x3d\x3d\x66\x26\x26\x2b\x64\x29\x26\x26\x63\x63\ -\x2e\x65\x78\x65\x63\x28\x6e\x2e\x63\x73\x73\x28\x63\x2e\x65\x6c\ -\x65\x6d\x2c\x61\x29\x29\x2c\x68\x3d\x31\x2c\x69\x3d\x32\x30\x3b\ -\x69\x66\x28\x67\x26\x26\x67\x5b\x33\x5d\x21\x3d\x3d\x66\x29\x7b\ -\x66\x3d\x66\x7c\x7c\x67\x5b\x33\x5d\x2c\x65\x3d\x65\x7c\x7c\x5b\ -\x5d\x2c\x67\x3d\x2b\x64\x7c\x7c\x31\x3b\x64\x6f\x20\x68\x3d\x68\ -\x7c\x7c\x22\x2e\x35\x22\x2c\x67\x2f\x3d\x68\x2c\x6e\x2e\x73\x74\ -\x79\x6c\x65\x28\x63\x2e\x65\x6c\x65\x6d\x2c\x61\x2c\x67\x2b\x66\ -\x29\x3b\x77\x68\x69\x6c\x65\x28\x68\x21\x3d\x3d\x28\x68\x3d\x63\ -\x2e\x63\x75\x72\x28\x29\x2f\x64\x29\x26\x26\x31\x21\x3d\x3d\x68\ -\x26\x26\x2d\x2d\x69\x29\x7d\x72\x65\x74\x75\x72\x6e\x20\x65\x26\ -\x26\x28\x67\x3d\x63\x2e\x73\x74\x61\x72\x74\x3d\x2b\x67\x7c\x7c\ -\x2b\x64\x7c\x7c\x30\x2c\x63\x2e\x75\x6e\x69\x74\x3d\x66\x2c\x63\ -\x2e\x65\x6e\x64\x3d\x65\x5b\x31\x5d\x3f\x67\x2b\x28\x65\x5b\x31\ -\x5d\x2b\x31\x29\x2a\x65\x5b\x32\x5d\x3a\x2b\x65\x5b\x32\x5d\x29\ -\x2c\x63\x7d\x5d\x7d\x3b\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x67\ -\x63\x28\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x73\x65\x74\x54\x69\ -\x6d\x65\x6f\x75\x74\x28\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\ -\x7b\x5f\x62\x3d\x76\x6f\x69\x64\x20\x30\x7d\x29\x2c\x5f\x62\x3d\ -\x6e\x2e\x6e\x6f\x77\x28\x29\x7d\x66\x75\x6e\x63\x74\x69\x6f\x6e\ -\x20\x68\x63\x28\x61\x2c\x62\x29\x7b\x76\x61\x72\x20\x63\x2c\x64\ -\x3d\x7b\x68\x65\x69\x67\x68\x74\x3a\x61\x7d\x2c\x65\x3d\x30\x3b\ -\x66\x6f\x72\x28\x62\x3d\x62\x3f\x31\x3a\x30\x3b\x34\x3e\x65\x3b\ -\x65\x2b\x3d\x32\x2d\x62\x29\x63\x3d\x55\x5b\x65\x5d\x2c\x64\x5b\ -\x22\x6d\x61\x72\x67\x69\x6e\x22\x2b\x63\x5d\x3d\x64\x5b\x22\x70\ -\x61\x64\x64\x69\x6e\x67\x22\x2b\x63\x5d\x3d\x61\x3b\x72\x65\x74\ -\x75\x72\x6e\x20\x62\x26\x26\x28\x64\x2e\x6f\x70\x61\x63\x69\x74\ -\x79\x3d\x64\x2e\x77\x69\x64\x74\x68\x3d\x61\x29\x2c\x64\x7d\x66\ -\x75\x6e\x63\x74\x69\x6f\x6e\x20\x69\x63\x28\x61\x2c\x62\x2c\x63\ -\x29\x7b\x66\x6f\x72\x28\x76\x61\x72\x20\x64\x2c\x65\x3d\x28\x66\ -\x63\x5b\x62\x5d\x7c\x7c\x5b\x5d\x29\x2e\x63\x6f\x6e\x63\x61\x74\ -\x28\x66\x63\x5b\x22\x2a\x22\x5d\x29\x2c\x66\x3d\x30\x2c\x67\x3d\ -\x65\x2e\x6c\x65\x6e\x67\x74\x68\x3b\x67\x3e\x66\x3b\x66\x2b\x2b\ -\x29\x69\x66\x28\x64\x3d\x65\x5b\x66\x5d\x2e\x63\x61\x6c\x6c\x28\ -\x63\x2c\x62\x2c\x61\x29\x29\x72\x65\x74\x75\x72\x6e\x20\x64\x7d\ -\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x6a\x63\x28\x61\x2c\x62\x2c\ -\x63\x29\x7b\x76\x61\x72\x20\x64\x2c\x65\x2c\x66\x2c\x67\x2c\x68\ -\x2c\x69\x2c\x6a\x2c\x6b\x2c\x6d\x3d\x74\x68\x69\x73\x2c\x6f\x3d\ -\x7b\x7d\x2c\x70\x3d\x61\x2e\x73\x74\x79\x6c\x65\x2c\x71\x3d\x61\ -\x2e\x6e\x6f\x64\x65\x54\x79\x70\x65\x26\x26\x56\x28\x61\x29\x2c\ -\x72\x3d\x6e\x2e\x5f\x64\x61\x74\x61\x28\x61\x2c\x22\x66\x78\x73\ -\x68\x6f\x77\x22\x29\x3b\x63\x2e\x71\x75\x65\x75\x65\x7c\x7c\x28\ -\x68\x3d\x6e\x2e\x5f\x71\x75\x65\x75\x65\x48\x6f\x6f\x6b\x73\x28\ -\x61\x2c\x22\x66\x78\x22\x29\x2c\x6e\x75\x6c\x6c\x3d\x3d\x68\x2e\ -\x75\x6e\x71\x75\x65\x75\x65\x64\x26\x26\x28\x68\x2e\x75\x6e\x71\ -\x75\x65\x75\x65\x64\x3d\x30\x2c\x69\x3d\x68\x2e\x65\x6d\x70\x74\ -\x79\x2e\x66\x69\x72\x65\x2c\x68\x2e\x65\x6d\x70\x74\x79\x2e\x66\ -\x69\x72\x65\x3d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x68\ -\x2e\x75\x6e\x71\x75\x65\x75\x65\x64\x7c\x7c\x69\x28\x29\x7d\x29\ -\x2c\x68\x2e\x75\x6e\x71\x75\x65\x75\x65\x64\x2b\x2b\x2c\x6d\x2e\ -\x61\x6c\x77\x61\x79\x73\x28\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\ -\x29\x7b\x6d\x2e\x61\x6c\x77\x61\x79\x73\x28\x66\x75\x6e\x63\x74\ -\x69\x6f\x6e\x28\x29\x7b\x68\x2e\x75\x6e\x71\x75\x65\x75\x65\x64\ -\x2d\x2d\x2c\x6e\x2e\x71\x75\x65\x75\x65\x28\x61\x2c\x22\x66\x78\ -\x22\x29\x2e\x6c\x65\x6e\x67\x74\x68\x7c\x7c\x68\x2e\x65\x6d\x70\ -\x74\x79\x2e\x66\x69\x72\x65\x28\x29\x7d\x29\x7d\x29\x29\x2c\x31\ -\x3d\x3d\x3d\x61\x2e\x6e\x6f\x64\x65\x54\x79\x70\x65\x26\x26\x28\ -\x22\x68\x65\x69\x67\x68\x74\x22\x69\x6e\x20\x62\x7c\x7c\x22\x77\ -\x69\x64\x74\x68\x22\x69\x6e\x20\x62\x29\x26\x26\x28\x63\x2e\x6f\ -\x76\x65\x72\x66\x6c\x6f\x77\x3d\x5b\x70\x2e\x6f\x76\x65\x72\x66\ -\x6c\x6f\x77\x2c\x70\x2e\x6f\x76\x65\x72\x66\x6c\x6f\x77\x58\x2c\ -\x70\x2e\x6f\x76\x65\x72\x66\x6c\x6f\x77\x59\x5d\x2c\x6a\x3d\x6e\ -\x2e\x63\x73\x73\x28\x61\x2c\x22\x64\x69\x73\x70\x6c\x61\x79\x22\ -\x29\x2c\x6b\x3d\x47\x62\x28\x61\x2e\x6e\x6f\x64\x65\x4e\x61\x6d\ -\x65\x29\x2c\x22\x6e\x6f\x6e\x65\x22\x3d\x3d\x3d\x6a\x26\x26\x28\ -\x6a\x3d\x6b\x29\x2c\x22\x69\x6e\x6c\x69\x6e\x65\x22\x3d\x3d\x3d\ -\x6a\x26\x26\x22\x6e\x6f\x6e\x65\x22\x3d\x3d\x3d\x6e\x2e\x63\x73\ -\x73\x28\x61\x2c\x22\x66\x6c\x6f\x61\x74\x22\x29\x26\x26\x28\x6c\ -\x2e\x69\x6e\x6c\x69\x6e\x65\x42\x6c\x6f\x63\x6b\x4e\x65\x65\x64\ -\x73\x4c\x61\x79\x6f\x75\x74\x26\x26\x22\x69\x6e\x6c\x69\x6e\x65\ -\x22\x21\x3d\x3d\x6b\x3f\x70\x2e\x7a\x6f\x6f\x6d\x3d\x31\x3a\x70\ -\x2e\x64\x69\x73\x70\x6c\x61\x79\x3d\x22\x69\x6e\x6c\x69\x6e\x65\ -\x2d\x62\x6c\x6f\x63\x6b\x22\x29\x29\x2c\x63\x2e\x6f\x76\x65\x72\ -\x66\x6c\x6f\x77\x26\x26\x28\x70\x2e\x6f\x76\x65\x72\x66\x6c\x6f\ -\x77\x3d\x22\x68\x69\x64\x64\x65\x6e\x22\x2c\x6c\x2e\x73\x68\x72\ -\x69\x6e\x6b\x57\x72\x61\x70\x42\x6c\x6f\x63\x6b\x73\x28\x29\x7c\ -\x7c\x6d\x2e\x61\x6c\x77\x61\x79\x73\x28\x66\x75\x6e\x63\x74\x69\ -\x6f\x6e\x28\x29\x7b\x70\x2e\x6f\x76\x65\x72\x66\x6c\x6f\x77\x3d\ -\x63\x2e\x6f\x76\x65\x72\x66\x6c\x6f\x77\x5b\x30\x5d\x2c\x70\x2e\ -\x6f\x76\x65\x72\x66\x6c\x6f\x77\x58\x3d\x63\x2e\x6f\x76\x65\x72\ -\x66\x6c\x6f\x77\x5b\x31\x5d\x2c\x70\x2e\x6f\x76\x65\x72\x66\x6c\ -\x6f\x77\x59\x3d\x63\x2e\x6f\x76\x65\x72\x66\x6c\x6f\x77\x5b\x32\ -\x5d\x7d\x29\x29\x3b\x66\x6f\x72\x28\x64\x20\x69\x6e\x20\x62\x29\ -\x69\x66\x28\x65\x3d\x62\x5b\x64\x5d\x2c\x62\x63\x2e\x65\x78\x65\ -\x63\x28\x65\x29\x29\x7b\x69\x66\x28\x64\x65\x6c\x65\x74\x65\x20\ -\x62\x5b\x64\x5d\x2c\x66\x3d\x66\x7c\x7c\x22\x74\x6f\x67\x67\x6c\ -\x65\x22\x3d\x3d\x3d\x65\x2c\x65\x3d\x3d\x3d\x28\x71\x3f\x22\x68\ -\x69\x64\x65\x22\x3a\x22\x73\x68\x6f\x77\x22\x29\x29\x7b\x69\x66\ -\x28\x22\x73\x68\x6f\x77\x22\x21\x3d\x3d\x65\x7c\x7c\x21\x72\x7c\ -\x7c\x76\x6f\x69\x64\x20\x30\x3d\x3d\x3d\x72\x5b\x64\x5d\x29\x63\ -\x6f\x6e\x74\x69\x6e\x75\x65\x3b\x71\x3d\x21\x30\x7d\x6f\x5b\x64\ -\x5d\x3d\x72\x26\x26\x72\x5b\x64\x5d\x7c\x7c\x6e\x2e\x73\x74\x79\ -\x6c\x65\x28\x61\x2c\x64\x29\x7d\x69\x66\x28\x21\x6e\x2e\x69\x73\ -\x45\x6d\x70\x74\x79\x4f\x62\x6a\x65\x63\x74\x28\x6f\x29\x29\x7b\ -\x72\x3f\x22\x68\x69\x64\x64\x65\x6e\x22\x69\x6e\x20\x72\x26\x26\ -\x28\x71\x3d\x72\x2e\x68\x69\x64\x64\x65\x6e\x29\x3a\x72\x3d\x6e\ -\x2e\x5f\x64\x61\x74\x61\x28\x61\x2c\x22\x66\x78\x73\x68\x6f\x77\ -\x22\x2c\x7b\x7d\x29\x2c\x66\x26\x26\x28\x72\x2e\x68\x69\x64\x64\ -\x65\x6e\x3d\x21\x71\x29\x2c\x71\x3f\x6e\x28\x61\x29\x2e\x73\x68\ -\x6f\x77\x28\x29\x3a\x6d\x2e\x64\x6f\x6e\x65\x28\x66\x75\x6e\x63\ -\x74\x69\x6f\x6e\x28\x29\x7b\x6e\x28\x61\x29\x2e\x68\x69\x64\x65\ -\x28\x29\x7d\x29\x2c\x6d\x2e\x64\x6f\x6e\x65\x28\x66\x75\x6e\x63\ -\x74\x69\x6f\x6e\x28\x29\x7b\x76\x61\x72\x20\x62\x3b\x6e\x2e\x5f\ -\x72\x65\x6d\x6f\x76\x65\x44\x61\x74\x61\x28\x61\x2c\x22\x66\x78\ -\x73\x68\x6f\x77\x22\x29\x3b\x66\x6f\x72\x28\x62\x20\x69\x6e\x20\ -\x6f\x29\x6e\x2e\x73\x74\x79\x6c\x65\x28\x61\x2c\x62\x2c\x6f\x5b\ -\x62\x5d\x29\x7d\x29\x3b\x66\x6f\x72\x28\x64\x20\x69\x6e\x20\x6f\ -\x29\x67\x3d\x69\x63\x28\x71\x3f\x72\x5b\x64\x5d\x3a\x30\x2c\x64\ -\x2c\x6d\x29\x2c\x64\x20\x69\x6e\x20\x72\x7c\x7c\x28\x72\x5b\x64\ -\x5d\x3d\x67\x2e\x73\x74\x61\x72\x74\x2c\x71\x26\x26\x28\x67\x2e\ -\x65\x6e\x64\x3d\x67\x2e\x73\x74\x61\x72\x74\x2c\x67\x2e\x73\x74\ -\x61\x72\x74\x3d\x22\x77\x69\x64\x74\x68\x22\x3d\x3d\x3d\x64\x7c\ -\x7c\x22\x68\x65\x69\x67\x68\x74\x22\x3d\x3d\x3d\x64\x3f\x31\x3a\ -\x30\x29\x29\x7d\x7d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x6b\x63\ -\x28\x61\x2c\x62\x29\x7b\x76\x61\x72\x20\x63\x2c\x64\x2c\x65\x2c\ -\x66\x2c\x67\x3b\x66\x6f\x72\x28\x63\x20\x69\x6e\x20\x61\x29\x69\ -\x66\x28\x64\x3d\x6e\x2e\x63\x61\x6d\x65\x6c\x43\x61\x73\x65\x28\ -\x63\x29\x2c\x65\x3d\x62\x5b\x64\x5d\x2c\x66\x3d\x61\x5b\x63\x5d\ -\x2c\x6e\x2e\x69\x73\x41\x72\x72\x61\x79\x28\x66\x29\x26\x26\x28\ -\x65\x3d\x66\x5b\x31\x5d\x2c\x66\x3d\x61\x5b\x63\x5d\x3d\x66\x5b\ -\x30\x5d\x29\x2c\x63\x21\x3d\x3d\x64\x26\x26\x28\x61\x5b\x64\x5d\ -\x3d\x66\x2c\x64\x65\x6c\x65\x74\x65\x20\x61\x5b\x63\x5d\x29\x2c\ -\x67\x3d\x6e\x2e\x63\x73\x73\x48\x6f\x6f\x6b\x73\x5b\x64\x5d\x2c\ -\x67\x26\x26\x22\x65\x78\x70\x61\x6e\x64\x22\x69\x6e\x20\x67\x29\ -\x7b\x66\x3d\x67\x2e\x65\x78\x70\x61\x6e\x64\x28\x66\x29\x2c\x64\ -\x65\x6c\x65\x74\x65\x20\x61\x5b\x64\x5d\x3b\x66\x6f\x72\x28\x63\ -\x20\x69\x6e\x20\x66\x29\x63\x20\x69\x6e\x20\x61\x7c\x7c\x28\x61\ -\x5b\x63\x5d\x3d\x66\x5b\x63\x5d\x2c\x62\x5b\x63\x5d\x3d\x65\x29\ -\x7d\x65\x6c\x73\x65\x20\x62\x5b\x64\x5d\x3d\x65\x7d\x66\x75\x6e\ -\x63\x74\x69\x6f\x6e\x20\x6c\x63\x28\x61\x2c\x62\x2c\x63\x29\x7b\ -\x76\x61\x72\x20\x64\x2c\x65\x2c\x66\x3d\x30\x2c\x67\x3d\x65\x63\ -\x2e\x6c\x65\x6e\x67\x74\x68\x2c\x68\x3d\x6e\x2e\x44\x65\x66\x65\ -\x72\x72\x65\x64\x28\x29\x2e\x61\x6c\x77\x61\x79\x73\x28\x66\x75\ -\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x64\x65\x6c\x65\x74\x65\x20\ -\x69\x2e\x65\x6c\x65\x6d\x7d\x29\x2c\x69\x3d\x66\x75\x6e\x63\x74\ -\x69\x6f\x6e\x28\x29\x7b\x69\x66\x28\x65\x29\x72\x65\x74\x75\x72\ -\x6e\x21\x31\x3b\x66\x6f\x72\x28\x76\x61\x72\x20\x62\x3d\x5f\x62\ -\x7c\x7c\x67\x63\x28\x29\x2c\x63\x3d\x4d\x61\x74\x68\x2e\x6d\x61\ -\x78\x28\x30\x2c\x6a\x2e\x73\x74\x61\x72\x74\x54\x69\x6d\x65\x2b\ -\x6a\x2e\x64\x75\x72\x61\x74\x69\x6f\x6e\x2d\x62\x29\x2c\x64\x3d\ -\x63\x2f\x6a\x2e\x64\x75\x72\x61\x74\x69\x6f\x6e\x7c\x7c\x30\x2c\ -\x66\x3d\x31\x2d\x64\x2c\x67\x3d\x30\x2c\x69\x3d\x6a\x2e\x74\x77\ -\x65\x65\x6e\x73\x2e\x6c\x65\x6e\x67\x74\x68\x3b\x69\x3e\x67\x3b\ -\x67\x2b\x2b\x29\x6a\x2e\x74\x77\x65\x65\x6e\x73\x5b\x67\x5d\x2e\ -\x72\x75\x6e\x28\x66\x29\x3b\x72\x65\x74\x75\x72\x6e\x20\x68\x2e\ -\x6e\x6f\x74\x69\x66\x79\x57\x69\x74\x68\x28\x61\x2c\x5b\x6a\x2c\ -\x66\x2c\x63\x5d\x29\x2c\x31\x3e\x66\x26\x26\x69\x3f\x63\x3a\x28\ -\x68\x2e\x72\x65\x73\x6f\x6c\x76\x65\x57\x69\x74\x68\x28\x61\x2c\ -\x5b\x6a\x5d\x29\x2c\x21\x31\x29\x7d\x2c\x6a\x3d\x68\x2e\x70\x72\ -\x6f\x6d\x69\x73\x65\x28\x7b\x65\x6c\x65\x6d\x3a\x61\x2c\x70\x72\ -\x6f\x70\x73\x3a\x6e\x2e\x65\x78\x74\x65\x6e\x64\x28\x7b\x7d\x2c\ -\x62\x29\x2c\x6f\x70\x74\x73\x3a\x6e\x2e\x65\x78\x74\x65\x6e\x64\ -\x28\x21\x30\x2c\x7b\x73\x70\x65\x63\x69\x61\x6c\x45\x61\x73\x69\ -\x6e\x67\x3a\x7b\x7d\x7d\x2c\x63\x29\x2c\x6f\x72\x69\x67\x69\x6e\ -\x61\x6c\x50\x72\x6f\x70\x65\x72\x74\x69\x65\x73\x3a\x62\x2c\x6f\ -\x72\x69\x67\x69\x6e\x61\x6c\x4f\x70\x74\x69\x6f\x6e\x73\x3a\x63\ -\x2c\x73\x74\x61\x72\x74\x54\x69\x6d\x65\x3a\x5f\x62\x7c\x7c\x67\ -\x63\x28\x29\x2c\x64\x75\x72\x61\x74\x69\x6f\x6e\x3a\x63\x2e\x64\ -\x75\x72\x61\x74\x69\x6f\x6e\x2c\x74\x77\x65\x65\x6e\x73\x3a\x5b\ -\x5d\x2c\x63\x72\x65\x61\x74\x65\x54\x77\x65\x65\x6e\x3a\x66\x75\ -\x6e\x63\x74\x69\x6f\x6e\x28\x62\x2c\x63\x29\x7b\x76\x61\x72\x20\ -\x64\x3d\x6e\x2e\x54\x77\x65\x65\x6e\x28\x61\x2c\x6a\x2e\x6f\x70\ -\x74\x73\x2c\x62\x2c\x63\x2c\x6a\x2e\x6f\x70\x74\x73\x2e\x73\x70\ -\x65\x63\x69\x61\x6c\x45\x61\x73\x69\x6e\x67\x5b\x62\x5d\x7c\x7c\ -\x6a\x2e\x6f\x70\x74\x73\x2e\x65\x61\x73\x69\x6e\x67\x29\x3b\x72\ -\x65\x74\x75\x72\x6e\x20\x6a\x2e\x74\x77\x65\x65\x6e\x73\x2e\x70\ -\x75\x73\x68\x28\x64\x29\x2c\x64\x7d\x2c\x73\x74\x6f\x70\x3a\x66\ -\x75\x6e\x63\x74\x69\x6f\x6e\x28\x62\x29\x7b\x76\x61\x72\x20\x63\ -\x3d\x30\x2c\x64\x3d\x62\x3f\x6a\x2e\x74\x77\x65\x65\x6e\x73\x2e\ -\x6c\x65\x6e\x67\x74\x68\x3a\x30\x3b\x69\x66\x28\x65\x29\x72\x65\ -\x74\x75\x72\x6e\x20\x74\x68\x69\x73\x3b\x66\x6f\x72\x28\x65\x3d\ -\x21\x30\x3b\x64\x3e\x63\x3b\x63\x2b\x2b\x29\x6a\x2e\x74\x77\x65\ -\x65\x6e\x73\x5b\x63\x5d\x2e\x72\x75\x6e\x28\x31\x29\x3b\x72\x65\ -\x74\x75\x72\x6e\x20\x62\x3f\x68\x2e\x72\x65\x73\x6f\x6c\x76\x65\ -\x57\x69\x74\x68\x28\x61\x2c\x5b\x6a\x2c\x62\x5d\x29\x3a\x68\x2e\ -\x72\x65\x6a\x65\x63\x74\x57\x69\x74\x68\x28\x61\x2c\x5b\x6a\x2c\ -\x62\x5d\x29\x2c\x74\x68\x69\x73\x7d\x7d\x29\x2c\x6b\x3d\x6a\x2e\ -\x70\x72\x6f\x70\x73\x3b\x66\x6f\x72\x28\x6b\x63\x28\x6b\x2c\x6a\ -\x2e\x6f\x70\x74\x73\x2e\x73\x70\x65\x63\x69\x61\x6c\x45\x61\x73\ -\x69\x6e\x67\x29\x3b\x67\x3e\x66\x3b\x66\x2b\x2b\x29\x69\x66\x28\ -\x64\x3d\x65\x63\x5b\x66\x5d\x2e\x63\x61\x6c\x6c\x28\x6a\x2c\x61\ -\x2c\x6b\x2c\x6a\x2e\x6f\x70\x74\x73\x29\x29\x72\x65\x74\x75\x72\ -\x6e\x20\x64\x3b\x72\x65\x74\x75\x72\x6e\x20\x6e\x2e\x6d\x61\x70\ -\x28\x6b\x2c\x69\x63\x2c\x6a\x29\x2c\x6e\x2e\x69\x73\x46\x75\x6e\ -\x63\x74\x69\x6f\x6e\x28\x6a\x2e\x6f\x70\x74\x73\x2e\x73\x74\x61\ -\x72\x74\x29\x26\x26\x6a\x2e\x6f\x70\x74\x73\x2e\x73\x74\x61\x72\ -\x74\x2e\x63\x61\x6c\x6c\x28\x61\x2c\x6a\x29\x2c\x6e\x2e\x66\x78\ -\x2e\x74\x69\x6d\x65\x72\x28\x6e\x2e\x65\x78\x74\x65\x6e\x64\x28\ -\x69\x2c\x7b\x65\x6c\x65\x6d\x3a\x61\x2c\x61\x6e\x69\x6d\x3a\x6a\ -\x2c\x71\x75\x65\x75\x65\x3a\x6a\x2e\x6f\x70\x74\x73\x2e\x71\x75\ -\x65\x75\x65\x7d\x29\x29\x2c\x6a\x2e\x70\x72\x6f\x67\x72\x65\x73\ -\x73\x28\x6a\x2e\x6f\x70\x74\x73\x2e\x70\x72\x6f\x67\x72\x65\x73\ -\x73\x29\x2e\x64\x6f\x6e\x65\x28\x6a\x2e\x6f\x70\x74\x73\x2e\x64\ -\x6f\x6e\x65\x2c\x6a\x2e\x6f\x70\x74\x73\x2e\x63\x6f\x6d\x70\x6c\ -\x65\x74\x65\x29\x2e\x66\x61\x69\x6c\x28\x6a\x2e\x6f\x70\x74\x73\ -\x2e\x66\x61\x69\x6c\x29\x2e\x61\x6c\x77\x61\x79\x73\x28\x6a\x2e\ -\x6f\x70\x74\x73\x2e\x61\x6c\x77\x61\x79\x73\x29\x7d\x6e\x2e\x41\ -\x6e\x69\x6d\x61\x74\x69\x6f\x6e\x3d\x6e\x2e\x65\x78\x74\x65\x6e\ -\x64\x28\x6c\x63\x2c\x7b\x74\x77\x65\x65\x6e\x65\x72\x3a\x66\x75\ -\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x29\x7b\x6e\x2e\x69\x73\ -\x46\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x3f\x28\x62\x3d\x61\ -\x2c\x61\x3d\x5b\x22\x2a\x22\x5d\x29\x3a\x61\x3d\x61\x2e\x73\x70\ -\x6c\x69\x74\x28\x22\x20\x22\x29\x3b\x66\x6f\x72\x28\x76\x61\x72\ -\x20\x63\x2c\x64\x3d\x30\x2c\x65\x3d\x61\x2e\x6c\x65\x6e\x67\x74\ -\x68\x3b\x65\x3e\x64\x3b\x64\x2b\x2b\x29\x63\x3d\x61\x5b\x64\x5d\ -\x2c\x66\x63\x5b\x63\x5d\x3d\x66\x63\x5b\x63\x5d\x7c\x7c\x5b\x5d\ -\x2c\x66\x63\x5b\x63\x5d\x2e\x75\x6e\x73\x68\x69\x66\x74\x28\x62\ -\x29\x7d\x2c\x70\x72\x65\x66\x69\x6c\x74\x65\x72\x3a\x66\x75\x6e\ -\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x29\x7b\x62\x3f\x65\x63\x2e\ -\x75\x6e\x73\x68\x69\x66\x74\x28\x61\x29\x3a\x65\x63\x2e\x70\x75\ -\x73\x68\x28\x61\x29\x7d\x7d\x29\x2c\x6e\x2e\x73\x70\x65\x65\x64\ -\x3d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x2c\x63\x29\ -\x7b\x76\x61\x72\x20\x64\x3d\x61\x26\x26\x22\x6f\x62\x6a\x65\x63\ -\x74\x22\x3d\x3d\x74\x79\x70\x65\x6f\x66\x20\x61\x3f\x6e\x2e\x65\ -\x78\x74\x65\x6e\x64\x28\x7b\x7d\x2c\x61\x29\x3a\x7b\x63\x6f\x6d\ -\x70\x6c\x65\x74\x65\x3a\x63\x7c\x7c\x21\x63\x26\x26\x62\x7c\x7c\ -\x6e\x2e\x69\x73\x46\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x26\ -\x26\x61\x2c\x64\x75\x72\x61\x74\x69\x6f\x6e\x3a\x61\x2c\x65\x61\ -\x73\x69\x6e\x67\x3a\x63\x26\x26\x62\x7c\x7c\x62\x26\x26\x21\x6e\ -\x2e\x69\x73\x46\x75\x6e\x63\x74\x69\x6f\x6e\x28\x62\x29\x26\x26\ -\x62\x7d\x3b\x72\x65\x74\x75\x72\x6e\x20\x64\x2e\x64\x75\x72\x61\ -\x74\x69\x6f\x6e\x3d\x6e\x2e\x66\x78\x2e\x6f\x66\x66\x3f\x30\x3a\ -\x22\x6e\x75\x6d\x62\x65\x72\x22\x3d\x3d\x74\x79\x70\x65\x6f\x66\ -\x20\x64\x2e\x64\x75\x72\x61\x74\x69\x6f\x6e\x3f\x64\x2e\x64\x75\ -\x72\x61\x74\x69\x6f\x6e\x3a\x64\x2e\x64\x75\x72\x61\x74\x69\x6f\ -\x6e\x20\x69\x6e\x20\x6e\x2e\x66\x78\x2e\x73\x70\x65\x65\x64\x73\ -\x3f\x6e\x2e\x66\x78\x2e\x73\x70\x65\x65\x64\x73\x5b\x64\x2e\x64\ -\x75\x72\x61\x74\x69\x6f\x6e\x5d\x3a\x6e\x2e\x66\x78\x2e\x73\x70\ -\x65\x65\x64\x73\x2e\x5f\x64\x65\x66\x61\x75\x6c\x74\x2c\x28\x6e\ -\x75\x6c\x6c\x3d\x3d\x64\x2e\x71\x75\x65\x75\x65\x7c\x7c\x64\x2e\ -\x71\x75\x65\x75\x65\x3d\x3d\x3d\x21\x30\x29\x26\x26\x28\x64\x2e\ -\x71\x75\x65\x75\x65\x3d\x22\x66\x78\x22\x29\x2c\x64\x2e\x6f\x6c\ -\x64\x3d\x64\x2e\x63\x6f\x6d\x70\x6c\x65\x74\x65\x2c\x64\x2e\x63\ -\x6f\x6d\x70\x6c\x65\x74\x65\x3d\x66\x75\x6e\x63\x74\x69\x6f\x6e\ -\x28\x29\x7b\x6e\x2e\x69\x73\x46\x75\x6e\x63\x74\x69\x6f\x6e\x28\ -\x64\x2e\x6f\x6c\x64\x29\x26\x26\x64\x2e\x6f\x6c\x64\x2e\x63\x61\ -\x6c\x6c\x28\x74\x68\x69\x73\x29\x2c\x64\x2e\x71\x75\x65\x75\x65\ -\x26\x26\x6e\x2e\x64\x65\x71\x75\x65\x75\x65\x28\x74\x68\x69\x73\ -\x2c\x64\x2e\x71\x75\x65\x75\x65\x29\x7d\x2c\x64\x7d\x2c\x6e\x2e\ -\x66\x6e\x2e\x65\x78\x74\x65\x6e\x64\x28\x7b\x66\x61\x64\x65\x54\ -\x6f\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x2c\x63\ -\x2c\x64\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x74\x68\x69\x73\x2e\ -\x66\x69\x6c\x74\x65\x72\x28\x56\x29\x2e\x63\x73\x73\x28\x22\x6f\ -\x70\x61\x63\x69\x74\x79\x22\x2c\x30\x29\x2e\x73\x68\x6f\x77\x28\ -\x29\x2e\x65\x6e\x64\x28\x29\x2e\x61\x6e\x69\x6d\x61\x74\x65\x28\ -\x7b\x6f\x70\x61\x63\x69\x74\x79\x3a\x62\x7d\x2c\x61\x2c\x63\x2c\ -\x64\x29\x7d\x2c\x61\x6e\x69\x6d\x61\x74\x65\x3a\x66\x75\x6e\x63\ -\x74\x69\x6f\x6e\x28\x61\x2c\x62\x2c\x63\x2c\x64\x29\x7b\x76\x61\ -\x72\x20\x65\x3d\x6e\x2e\x69\x73\x45\x6d\x70\x74\x79\x4f\x62\x6a\ -\x65\x63\x74\x28\x61\x29\x2c\x66\x3d\x6e\x2e\x73\x70\x65\x65\x64\ -\x28\x62\x2c\x63\x2c\x64\x29\x2c\x67\x3d\x66\x75\x6e\x63\x74\x69\ -\x6f\x6e\x28\x29\x7b\x76\x61\x72\x20\x62\x3d\x6c\x63\x28\x74\x68\ -\x69\x73\x2c\x6e\x2e\x65\x78\x74\x65\x6e\x64\x28\x7b\x7d\x2c\x61\ -\x29\x2c\x66\x29\x3b\x28\x65\x7c\x7c\x6e\x2e\x5f\x64\x61\x74\x61\ -\x28\x74\x68\x69\x73\x2c\x22\x66\x69\x6e\x69\x73\x68\x22\x29\x29\ -\x26\x26\x62\x2e\x73\x74\x6f\x70\x28\x21\x30\x29\x7d\x3b\x72\x65\ -\x74\x75\x72\x6e\x20\x67\x2e\x66\x69\x6e\x69\x73\x68\x3d\x67\x2c\ -\x65\x7c\x7c\x66\x2e\x71\x75\x65\x75\x65\x3d\x3d\x3d\x21\x31\x3f\ -\x74\x68\x69\x73\x2e\x65\x61\x63\x68\x28\x67\x29\x3a\x74\x68\x69\ -\x73\x2e\x71\x75\x65\x75\x65\x28\x66\x2e\x71\x75\x65\x75\x65\x2c\ -\x67\x29\x7d\x2c\x73\x74\x6f\x70\x3a\x66\x75\x6e\x63\x74\x69\x6f\ -\x6e\x28\x61\x2c\x62\x2c\x63\x29\x7b\x76\x61\x72\x20\x64\x3d\x66\ -\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x76\x61\x72\x20\x62\ -\x3d\x61\x2e\x73\x74\x6f\x70\x3b\x64\x65\x6c\x65\x74\x65\x20\x61\ -\x2e\x73\x74\x6f\x70\x2c\x62\x28\x63\x29\x7d\x3b\x72\x65\x74\x75\ -\x72\x6e\x22\x73\x74\x72\x69\x6e\x67\x22\x21\x3d\x74\x79\x70\x65\ -\x6f\x66\x20\x61\x26\x26\x28\x63\x3d\x62\x2c\x62\x3d\x61\x2c\x61\ -\x3d\x76\x6f\x69\x64\x20\x30\x29\x2c\x62\x26\x26\x61\x21\x3d\x3d\ -\x21\x31\x26\x26\x74\x68\x69\x73\x2e\x71\x75\x65\x75\x65\x28\x61\ -\x7c\x7c\x22\x66\x78\x22\x2c\x5b\x5d\x29\x2c\x74\x68\x69\x73\x2e\ -\x65\x61\x63\x68\x28\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\ -\x76\x61\x72\x20\x62\x3d\x21\x30\x2c\x65\x3d\x6e\x75\x6c\x6c\x21\ -\x3d\x61\x26\x26\x61\x2b\x22\x71\x75\x65\x75\x65\x48\x6f\x6f\x6b\ -\x73\x22\x2c\x66\x3d\x6e\x2e\x74\x69\x6d\x65\x72\x73\x2c\x67\x3d\ -\x6e\x2e\x5f\x64\x61\x74\x61\x28\x74\x68\x69\x73\x29\x3b\x69\x66\ -\x28\x65\x29\x67\x5b\x65\x5d\x26\x26\x67\x5b\x65\x5d\x2e\x73\x74\ -\x6f\x70\x26\x26\x64\x28\x67\x5b\x65\x5d\x29\x3b\x65\x6c\x73\x65\ -\x20\x66\x6f\x72\x28\x65\x20\x69\x6e\x20\x67\x29\x67\x5b\x65\x5d\ -\x26\x26\x67\x5b\x65\x5d\x2e\x73\x74\x6f\x70\x26\x26\x64\x63\x2e\ -\x74\x65\x73\x74\x28\x65\x29\x26\x26\x64\x28\x67\x5b\x65\x5d\x29\ -\x3b\x66\x6f\x72\x28\x65\x3d\x66\x2e\x6c\x65\x6e\x67\x74\x68\x3b\ -\x65\x2d\x2d\x3b\x29\x66\x5b\x65\x5d\x2e\x65\x6c\x65\x6d\x21\x3d\ -\x3d\x74\x68\x69\x73\x7c\x7c\x6e\x75\x6c\x6c\x21\x3d\x61\x26\x26\ -\x66\x5b\x65\x5d\x2e\x71\x75\x65\x75\x65\x21\x3d\x3d\x61\x7c\x7c\ -\x28\x66\x5b\x65\x5d\x2e\x61\x6e\x69\x6d\x2e\x73\x74\x6f\x70\x28\ -\x63\x29\x2c\x62\x3d\x21\x31\x2c\x66\x2e\x73\x70\x6c\x69\x63\x65\ -\x28\x65\x2c\x31\x29\x29\x3b\x28\x62\x7c\x7c\x21\x63\x29\x26\x26\ -\x6e\x2e\x64\x65\x71\x75\x65\x75\x65\x28\x74\x68\x69\x73\x2c\x61\ -\x29\x7d\x29\x7d\x2c\x66\x69\x6e\x69\x73\x68\x3a\x66\x75\x6e\x63\ -\x74\x69\x6f\x6e\x28\x61\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x61\ -\x21\x3d\x3d\x21\x31\x26\x26\x28\x61\x3d\x61\x7c\x7c\x22\x66\x78\ -\x22\x29\x2c\x74\x68\x69\x73\x2e\x65\x61\x63\x68\x28\x66\x75\x6e\ -\x63\x74\x69\x6f\x6e\x28\x29\x7b\x76\x61\x72\x20\x62\x2c\x63\x3d\ -\x6e\x2e\x5f\x64\x61\x74\x61\x28\x74\x68\x69\x73\x29\x2c\x64\x3d\ -\x63\x5b\x61\x2b\x22\x71\x75\x65\x75\x65\x22\x5d\x2c\x65\x3d\x63\ -\x5b\x61\x2b\x22\x71\x75\x65\x75\x65\x48\x6f\x6f\x6b\x73\x22\x5d\ -\x2c\x66\x3d\x6e\x2e\x74\x69\x6d\x65\x72\x73\x2c\x67\x3d\x64\x3f\ -\x64\x2e\x6c\x65\x6e\x67\x74\x68\x3a\x30\x3b\x66\x6f\x72\x28\x63\ -\x2e\x66\x69\x6e\x69\x73\x68\x3d\x21\x30\x2c\x6e\x2e\x71\x75\x65\ -\x75\x65\x28\x74\x68\x69\x73\x2c\x61\x2c\x5b\x5d\x29\x2c\x65\x26\ -\x26\x65\x2e\x73\x74\x6f\x70\x26\x26\x65\x2e\x73\x74\x6f\x70\x2e\ -\x63\x61\x6c\x6c\x28\x74\x68\x69\x73\x2c\x21\x30\x29\x2c\x62\x3d\ -\x66\x2e\x6c\x65\x6e\x67\x74\x68\x3b\x62\x2d\x2d\x3b\x29\x66\x5b\ -\x62\x5d\x2e\x65\x6c\x65\x6d\x3d\x3d\x3d\x74\x68\x69\x73\x26\x26\ -\x66\x5b\x62\x5d\x2e\x71\x75\x65\x75\x65\x3d\x3d\x3d\x61\x26\x26\ -\x28\x66\x5b\x62\x5d\x2e\x61\x6e\x69\x6d\x2e\x73\x74\x6f\x70\x28\ -\x21\x30\x29\x2c\x66\x2e\x73\x70\x6c\x69\x63\x65\x28\x62\x2c\x31\ -\x29\x29\x3b\x66\x6f\x72\x28\x62\x3d\x30\x3b\x67\x3e\x62\x3b\x62\ -\x2b\x2b\x29\x64\x5b\x62\x5d\x26\x26\x64\x5b\x62\x5d\x2e\x66\x69\ -\x6e\x69\x73\x68\x26\x26\x64\x5b\x62\x5d\x2e\x66\x69\x6e\x69\x73\ -\x68\x2e\x63\x61\x6c\x6c\x28\x74\x68\x69\x73\x29\x3b\x64\x65\x6c\ -\x65\x74\x65\x20\x63\x2e\x66\x69\x6e\x69\x73\x68\x7d\x29\x7d\x7d\ -\x29\x2c\x6e\x2e\x65\x61\x63\x68\x28\x5b\x22\x74\x6f\x67\x67\x6c\ -\x65\x22\x2c\x22\x73\x68\x6f\x77\x22\x2c\x22\x68\x69\x64\x65\x22\ -\x5d\x2c\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x29\x7b\ -\x76\x61\x72\x20\x63\x3d\x6e\x2e\x66\x6e\x5b\x62\x5d\x3b\x6e\x2e\ -\x66\x6e\x5b\x62\x5d\x3d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\ -\x2c\x64\x2c\x65\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x6e\x75\x6c\ -\x6c\x3d\x3d\x61\x7c\x7c\x22\x62\x6f\x6f\x6c\x65\x61\x6e\x22\x3d\ -\x3d\x74\x79\x70\x65\x6f\x66\x20\x61\x3f\x63\x2e\x61\x70\x70\x6c\ -\x79\x28\x74\x68\x69\x73\x2c\x61\x72\x67\x75\x6d\x65\x6e\x74\x73\ -\x29\x3a\x74\x68\x69\x73\x2e\x61\x6e\x69\x6d\x61\x74\x65\x28\x68\ -\x63\x28\x62\x2c\x21\x30\x29\x2c\x61\x2c\x64\x2c\x65\x29\x7d\x7d\ -\x29\x2c\x6e\x2e\x65\x61\x63\x68\x28\x7b\x73\x6c\x69\x64\x65\x44\ -\x6f\x77\x6e\x3a\x68\x63\x28\x22\x73\x68\x6f\x77\x22\x29\x2c\x73\ -\x6c\x69\x64\x65\x55\x70\x3a\x68\x63\x28\x22\x68\x69\x64\x65\x22\ -\x29\x2c\x73\x6c\x69\x64\x65\x54\x6f\x67\x67\x6c\x65\x3a\x68\x63\ -\x28\x22\x74\x6f\x67\x67\x6c\x65\x22\x29\x2c\x66\x61\x64\x65\x49\ -\x6e\x3a\x7b\x6f\x70\x61\x63\x69\x74\x79\x3a\x22\x73\x68\x6f\x77\ -\x22\x7d\x2c\x66\x61\x64\x65\x4f\x75\x74\x3a\x7b\x6f\x70\x61\x63\ -\x69\x74\x79\x3a\x22\x68\x69\x64\x65\x22\x7d\x2c\x66\x61\x64\x65\ -\x54\x6f\x67\x67\x6c\x65\x3a\x7b\x6f\x70\x61\x63\x69\x74\x79\x3a\ -\x22\x74\x6f\x67\x67\x6c\x65\x22\x7d\x7d\x2c\x66\x75\x6e\x63\x74\ -\x69\x6f\x6e\x28\x61\x2c\x62\x29\x7b\x6e\x2e\x66\x6e\x5b\x61\x5d\ -\x3d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x63\x2c\x64\x29\ -\x7b\x72\x65\x74\x75\x72\x6e\x20\x74\x68\x69\x73\x2e\x61\x6e\x69\ -\x6d\x61\x74\x65\x28\x62\x2c\x61\x2c\x63\x2c\x64\x29\x7d\x7d\x29\ -\x2c\x6e\x2e\x74\x69\x6d\x65\x72\x73\x3d\x5b\x5d\x2c\x6e\x2e\x66\ -\x78\x2e\x74\x69\x63\x6b\x3d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\ -\x29\x7b\x76\x61\x72\x20\x61\x2c\x62\x3d\x6e\x2e\x74\x69\x6d\x65\ -\x72\x73\x2c\x63\x3d\x30\x3b\x66\x6f\x72\x28\x5f\x62\x3d\x6e\x2e\ -\x6e\x6f\x77\x28\x29\x3b\x63\x3c\x62\x2e\x6c\x65\x6e\x67\x74\x68\ -\x3b\x63\x2b\x2b\x29\x61\x3d\x62\x5b\x63\x5d\x2c\x61\x28\x29\x7c\ -\x7c\x62\x5b\x63\x5d\x21\x3d\x3d\x61\x7c\x7c\x62\x2e\x73\x70\x6c\ -\x69\x63\x65\x28\x63\x2d\x2d\x2c\x31\x29\x3b\x62\x2e\x6c\x65\x6e\ -\x67\x74\x68\x7c\x7c\x6e\x2e\x66\x78\x2e\x73\x74\x6f\x70\x28\x29\ -\x2c\x5f\x62\x3d\x76\x6f\x69\x64\x20\x30\x7d\x2c\x6e\x2e\x66\x78\ -\x2e\x74\x69\x6d\x65\x72\x3d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\ -\x61\x29\x7b\x6e\x2e\x74\x69\x6d\x65\x72\x73\x2e\x70\x75\x73\x68\ -\x28\x61\x29\x2c\x61\x28\x29\x3f\x6e\x2e\x66\x78\x2e\x73\x74\x61\ -\x72\x74\x28\x29\x3a\x6e\x2e\x74\x69\x6d\x65\x72\x73\x2e\x70\x6f\ -\x70\x28\x29\x7d\x2c\x6e\x2e\x66\x78\x2e\x69\x6e\x74\x65\x72\x76\ -\x61\x6c\x3d\x31\x33\x2c\x6e\x2e\x66\x78\x2e\x73\x74\x61\x72\x74\ -\x3d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x61\x63\x7c\x7c\ -\x28\x61\x63\x3d\x73\x65\x74\x49\x6e\x74\x65\x72\x76\x61\x6c\x28\ -\x6e\x2e\x66\x78\x2e\x74\x69\x63\x6b\x2c\x6e\x2e\x66\x78\x2e\x69\ -\x6e\x74\x65\x72\x76\x61\x6c\x29\x29\x7d\x2c\x6e\x2e\x66\x78\x2e\ -\x73\x74\x6f\x70\x3d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\ -\x63\x6c\x65\x61\x72\x49\x6e\x74\x65\x72\x76\x61\x6c\x28\x61\x63\ -\x29\x2c\x61\x63\x3d\x6e\x75\x6c\x6c\x7d\x2c\x6e\x2e\x66\x78\x2e\ -\x73\x70\x65\x65\x64\x73\x3d\x7b\x73\x6c\x6f\x77\x3a\x36\x30\x30\ -\x2c\x66\x61\x73\x74\x3a\x32\x30\x30\x2c\x5f\x64\x65\x66\x61\x75\ -\x6c\x74\x3a\x34\x30\x30\x7d\x2c\x6e\x2e\x66\x6e\x2e\x64\x65\x6c\ -\x61\x79\x3d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x29\ -\x7b\x72\x65\x74\x75\x72\x6e\x20\x61\x3d\x6e\x2e\x66\x78\x3f\x6e\ -\x2e\x66\x78\x2e\x73\x70\x65\x65\x64\x73\x5b\x61\x5d\x7c\x7c\x61\ -\x3a\x61\x2c\x62\x3d\x62\x7c\x7c\x22\x66\x78\x22\x2c\x74\x68\x69\ -\x73\x2e\x71\x75\x65\x75\x65\x28\x62\x2c\x66\x75\x6e\x63\x74\x69\ -\x6f\x6e\x28\x62\x2c\x63\x29\x7b\x76\x61\x72\x20\x64\x3d\x73\x65\ -\x74\x54\x69\x6d\x65\x6f\x75\x74\x28\x62\x2c\x61\x29\x3b\x63\x2e\ -\x73\x74\x6f\x70\x3d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\ -\x63\x6c\x65\x61\x72\x54\x69\x6d\x65\x6f\x75\x74\x28\x64\x29\x7d\ -\x7d\x29\x7d\x2c\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x76\ -\x61\x72\x20\x61\x2c\x62\x2c\x63\x2c\x64\x2c\x65\x3d\x7a\x2e\x63\ -\x72\x65\x61\x74\x65\x45\x6c\x65\x6d\x65\x6e\x74\x28\x22\x64\x69\ -\x76\x22\x29\x3b\x65\x2e\x73\x65\x74\x41\x74\x74\x72\x69\x62\x75\ -\x74\x65\x28\x22\x63\x6c\x61\x73\x73\x4e\x61\x6d\x65\x22\x2c\x22\ -\x74\x22\x29\x2c\x65\x2e\x69\x6e\x6e\x65\x72\x48\x54\x4d\x4c\x3d\ -\x22\x20\x20\x3c\x6c\x69\x6e\x6b\x2f\x3e\x3c\x74\x61\x62\x6c\x65\ -\x3e\x3c\x2f\x74\x61\x62\x6c\x65\x3e\x3c\x61\x20\x68\x72\x65\x66\ -\x3d\x27\x2f\x61\x27\x3e\x61\x3c\x2f\x61\x3e\x3c\x69\x6e\x70\x75\ -\x74\x20\x74\x79\x70\x65\x3d\x27\x63\x68\x65\x63\x6b\x62\x6f\x78\ -\x27\x2f\x3e\x22\x2c\x61\x3d\x65\x2e\x67\x65\x74\x45\x6c\x65\x6d\ -\x65\x6e\x74\x73\x42\x79\x54\x61\x67\x4e\x61\x6d\x65\x28\x22\x61\ -\x22\x29\x5b\x30\x5d\x2c\x63\x3d\x7a\x2e\x63\x72\x65\x61\x74\x65\ -\x45\x6c\x65\x6d\x65\x6e\x74\x28\x22\x73\x65\x6c\x65\x63\x74\x22\ -\x29\x2c\x64\x3d\x63\x2e\x61\x70\x70\x65\x6e\x64\x43\x68\x69\x6c\ -\x64\x28\x7a\x2e\x63\x72\x65\x61\x74\x65\x45\x6c\x65\x6d\x65\x6e\ -\x74\x28\x22\x6f\x70\x74\x69\x6f\x6e\x22\x29\x29\x2c\x62\x3d\x65\ -\x2e\x67\x65\x74\x45\x6c\x65\x6d\x65\x6e\x74\x73\x42\x79\x54\x61\ -\x67\x4e\x61\x6d\x65\x28\x22\x69\x6e\x70\x75\x74\x22\x29\x5b\x30\ -\x5d\x2c\x61\x2e\x73\x74\x79\x6c\x65\x2e\x63\x73\x73\x54\x65\x78\ -\x74\x3d\x22\x74\x6f\x70\x3a\x31\x70\x78\x22\x2c\x6c\x2e\x67\x65\ -\x74\x53\x65\x74\x41\x74\x74\x72\x69\x62\x75\x74\x65\x3d\x22\x74\ -\x22\x21\x3d\x3d\x65\x2e\x63\x6c\x61\x73\x73\x4e\x61\x6d\x65\x2c\ -\x6c\x2e\x73\x74\x79\x6c\x65\x3d\x2f\x74\x6f\x70\x2f\x2e\x74\x65\ -\x73\x74\x28\x61\x2e\x67\x65\x74\x41\x74\x74\x72\x69\x62\x75\x74\ -\x65\x28\x22\x73\x74\x79\x6c\x65\x22\x29\x29\x2c\x6c\x2e\x68\x72\ -\x65\x66\x4e\x6f\x72\x6d\x61\x6c\x69\x7a\x65\x64\x3d\x22\x2f\x61\ -\x22\x3d\x3d\x3d\x61\x2e\x67\x65\x74\x41\x74\x74\x72\x69\x62\x75\ -\x74\x65\x28\x22\x68\x72\x65\x66\x22\x29\x2c\x6c\x2e\x63\x68\x65\ -\x63\x6b\x4f\x6e\x3d\x21\x21\x62\x2e\x76\x61\x6c\x75\x65\x2c\x6c\ -\x2e\x6f\x70\x74\x53\x65\x6c\x65\x63\x74\x65\x64\x3d\x64\x2e\x73\ -\x65\x6c\x65\x63\x74\x65\x64\x2c\x6c\x2e\x65\x6e\x63\x74\x79\x70\ -\x65\x3d\x21\x21\x7a\x2e\x63\x72\x65\x61\x74\x65\x45\x6c\x65\x6d\ -\x65\x6e\x74\x28\x22\x66\x6f\x72\x6d\x22\x29\x2e\x65\x6e\x63\x74\ -\x79\x70\x65\x2c\x63\x2e\x64\x69\x73\x61\x62\x6c\x65\x64\x3d\x21\ -\x30\x2c\x6c\x2e\x6f\x70\x74\x44\x69\x73\x61\x62\x6c\x65\x64\x3d\ -\x21\x64\x2e\x64\x69\x73\x61\x62\x6c\x65\x64\x2c\x62\x3d\x7a\x2e\ -\x63\x72\x65\x61\x74\x65\x45\x6c\x65\x6d\x65\x6e\x74\x28\x22\x69\ -\x6e\x70\x75\x74\x22\x29\x2c\x62\x2e\x73\x65\x74\x41\x74\x74\x72\ -\x69\x62\x75\x74\x65\x28\x22\x76\x61\x6c\x75\x65\x22\x2c\x22\x22\ -\x29\x2c\x6c\x2e\x69\x6e\x70\x75\x74\x3d\x22\x22\x3d\x3d\x3d\x62\ -\x2e\x67\x65\x74\x41\x74\x74\x72\x69\x62\x75\x74\x65\x28\x22\x76\ -\x61\x6c\x75\x65\x22\x29\x2c\x62\x2e\x76\x61\x6c\x75\x65\x3d\x22\ -\x74\x22\x2c\x62\x2e\x73\x65\x74\x41\x74\x74\x72\x69\x62\x75\x74\ -\x65\x28\x22\x74\x79\x70\x65\x22\x2c\x22\x72\x61\x64\x69\x6f\x22\ -\x29\x2c\x6c\x2e\x72\x61\x64\x69\x6f\x56\x61\x6c\x75\x65\x3d\x22\ -\x74\x22\x3d\x3d\x3d\x62\x2e\x76\x61\x6c\x75\x65\x2c\x61\x3d\x62\ -\x3d\x63\x3d\x64\x3d\x65\x3d\x6e\x75\x6c\x6c\x7d\x28\x29\x3b\x76\ -\x61\x72\x20\x6d\x63\x3d\x2f\x5c\x72\x2f\x67\x3b\x6e\x2e\x66\x6e\ -\x2e\x65\x78\x74\x65\x6e\x64\x28\x7b\x76\x61\x6c\x3a\x66\x75\x6e\ -\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x76\x61\x72\x20\x62\x2c\x63\ -\x2c\x64\x2c\x65\x3d\x74\x68\x69\x73\x5b\x30\x5d\x3b\x7b\x69\x66\ -\x28\x61\x72\x67\x75\x6d\x65\x6e\x74\x73\x2e\x6c\x65\x6e\x67\x74\ -\x68\x29\x72\x65\x74\x75\x72\x6e\x20\x64\x3d\x6e\x2e\x69\x73\x46\ -\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x2c\x74\x68\x69\x73\x2e\ -\x65\x61\x63\x68\x28\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x63\x29\ -\x7b\x76\x61\x72\x20\x65\x3b\x31\x3d\x3d\x3d\x74\x68\x69\x73\x2e\ -\x6e\x6f\x64\x65\x54\x79\x70\x65\x26\x26\x28\x65\x3d\x64\x3f\x61\ -\x2e\x63\x61\x6c\x6c\x28\x74\x68\x69\x73\x2c\x63\x2c\x6e\x28\x74\ -\x68\x69\x73\x29\x2e\x76\x61\x6c\x28\x29\x29\x3a\x61\x2c\x6e\x75\ -\x6c\x6c\x3d\x3d\x65\x3f\x65\x3d\x22\x22\x3a\x22\x6e\x75\x6d\x62\ -\x65\x72\x22\x3d\x3d\x74\x79\x70\x65\x6f\x66\x20\x65\x3f\x65\x2b\ -\x3d\x22\x22\x3a\x6e\x2e\x69\x73\x41\x72\x72\x61\x79\x28\x65\x29\ -\x26\x26\x28\x65\x3d\x6e\x2e\x6d\x61\x70\x28\x65\x2c\x66\x75\x6e\ -\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\ -\x6e\x75\x6c\x6c\x3d\x3d\x61\x3f\x22\x22\x3a\x61\x2b\x22\x22\x7d\ -\x29\x29\x2c\x62\x3d\x6e\x2e\x76\x61\x6c\x48\x6f\x6f\x6b\x73\x5b\ -\x74\x68\x69\x73\x2e\x74\x79\x70\x65\x5d\x7c\x7c\x6e\x2e\x76\x61\ -\x6c\x48\x6f\x6f\x6b\x73\x5b\x74\x68\x69\x73\x2e\x6e\x6f\x64\x65\ -\x4e\x61\x6d\x65\x2e\x74\x6f\x4c\x6f\x77\x65\x72\x43\x61\x73\x65\ -\x28\x29\x5d\x2c\x62\x26\x26\x22\x73\x65\x74\x22\x69\x6e\x20\x62\ -\x26\x26\x76\x6f\x69\x64\x20\x30\x21\x3d\x3d\x62\x2e\x73\x65\x74\ -\x28\x74\x68\x69\x73\x2c\x65\x2c\x22\x76\x61\x6c\x75\x65\x22\x29\ -\x7c\x7c\x28\x74\x68\x69\x73\x2e\x76\x61\x6c\x75\x65\x3d\x65\x29\ -\x29\x7d\x29\x3b\x69\x66\x28\x65\x29\x72\x65\x74\x75\x72\x6e\x20\ -\x62\x3d\x6e\x2e\x76\x61\x6c\x48\x6f\x6f\x6b\x73\x5b\x65\x2e\x74\ -\x79\x70\x65\x5d\x7c\x7c\x6e\x2e\x76\x61\x6c\x48\x6f\x6f\x6b\x73\ -\x5b\x65\x2e\x6e\x6f\x64\x65\x4e\x61\x6d\x65\x2e\x74\x6f\x4c\x6f\ -\x77\x65\x72\x43\x61\x73\x65\x28\x29\x5d\x2c\x62\x26\x26\x22\x67\ -\x65\x74\x22\x69\x6e\x20\x62\x26\x26\x76\x6f\x69\x64\x20\x30\x21\ -\x3d\x3d\x28\x63\x3d\x62\x2e\x67\x65\x74\x28\x65\x2c\x22\x76\x61\ -\x6c\x75\x65\x22\x29\x29\x3f\x63\x3a\x28\x63\x3d\x65\x2e\x76\x61\ -\x6c\x75\x65\x2c\x22\x73\x74\x72\x69\x6e\x67\x22\x3d\x3d\x74\x79\ -\x70\x65\x6f\x66\x20\x63\x3f\x63\x2e\x72\x65\x70\x6c\x61\x63\x65\ -\x28\x6d\x63\x2c\x22\x22\x29\x3a\x6e\x75\x6c\x6c\x3d\x3d\x63\x3f\ -\x22\x22\x3a\x63\x29\x7d\x7d\x7d\x29\x2c\x6e\x2e\x65\x78\x74\x65\ -\x6e\x64\x28\x7b\x76\x61\x6c\x48\x6f\x6f\x6b\x73\x3a\x7b\x6f\x70\ -\x74\x69\x6f\x6e\x3a\x7b\x67\x65\x74\x3a\x66\x75\x6e\x63\x74\x69\ -\x6f\x6e\x28\x61\x29\x7b\x76\x61\x72\x20\x62\x3d\x6e\x2e\x66\x69\ -\x6e\x64\x2e\x61\x74\x74\x72\x28\x61\x2c\x22\x76\x61\x6c\x75\x65\ -\x22\x29\x3b\x72\x65\x74\x75\x72\x6e\x20\x6e\x75\x6c\x6c\x21\x3d\ -\x62\x3f\x62\x3a\x6e\x2e\x74\x65\x78\x74\x28\x61\x29\x7d\x7d\x2c\ -\x73\x65\x6c\x65\x63\x74\x3a\x7b\x67\x65\x74\x3a\x66\x75\x6e\x63\ -\x74\x69\x6f\x6e\x28\x61\x29\x7b\x66\x6f\x72\x28\x76\x61\x72\x20\ -\x62\x2c\x63\x2c\x64\x3d\x61\x2e\x6f\x70\x74\x69\x6f\x6e\x73\x2c\ -\x65\x3d\x61\x2e\x73\x65\x6c\x65\x63\x74\x65\x64\x49\x6e\x64\x65\ -\x78\x2c\x66\x3d\x22\x73\x65\x6c\x65\x63\x74\x2d\x6f\x6e\x65\x22\ -\x3d\x3d\x3d\x61\x2e\x74\x79\x70\x65\x7c\x7c\x30\x3e\x65\x2c\x67\ -\x3d\x66\x3f\x6e\x75\x6c\x6c\x3a\x5b\x5d\x2c\x68\x3d\x66\x3f\x65\ -\x2b\x31\x3a\x64\x2e\x6c\x65\x6e\x67\x74\x68\x2c\x69\x3d\x30\x3e\ -\x65\x3f\x68\x3a\x66\x3f\x65\x3a\x30\x3b\x68\x3e\x69\x3b\x69\x2b\ -\x2b\x29\x69\x66\x28\x63\x3d\x64\x5b\x69\x5d\x2c\x21\x28\x21\x63\ -\x2e\x73\x65\x6c\x65\x63\x74\x65\x64\x26\x26\x69\x21\x3d\x3d\x65\ -\x7c\x7c\x28\x6c\x2e\x6f\x70\x74\x44\x69\x73\x61\x62\x6c\x65\x64\ -\x3f\x63\x2e\x64\x69\x73\x61\x62\x6c\x65\x64\x3a\x6e\x75\x6c\x6c\ -\x21\x3d\x3d\x63\x2e\x67\x65\x74\x41\x74\x74\x72\x69\x62\x75\x74\ -\x65\x28\x22\x64\x69\x73\x61\x62\x6c\x65\x64\x22\x29\x29\x7c\x7c\ -\x63\x2e\x70\x61\x72\x65\x6e\x74\x4e\x6f\x64\x65\x2e\x64\x69\x73\ -\x61\x62\x6c\x65\x64\x26\x26\x6e\x2e\x6e\x6f\x64\x65\x4e\x61\x6d\ -\x65\x28\x63\x2e\x70\x61\x72\x65\x6e\x74\x4e\x6f\x64\x65\x2c\x22\ -\x6f\x70\x74\x67\x72\x6f\x75\x70\x22\x29\x29\x29\x7b\x69\x66\x28\ -\x62\x3d\x6e\x28\x63\x29\x2e\x76\x61\x6c\x28\x29\x2c\x66\x29\x72\ -\x65\x74\x75\x72\x6e\x20\x62\x3b\x67\x2e\x70\x75\x73\x68\x28\x62\ -\x29\x7d\x72\x65\x74\x75\x72\x6e\x20\x67\x7d\x2c\x73\x65\x74\x3a\ -\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x29\x7b\x76\x61\ -\x72\x20\x63\x2c\x64\x2c\x65\x3d\x61\x2e\x6f\x70\x74\x69\x6f\x6e\ -\x73\x2c\x66\x3d\x6e\x2e\x6d\x61\x6b\x65\x41\x72\x72\x61\x79\x28\ -\x62\x29\x2c\x67\x3d\x65\x2e\x6c\x65\x6e\x67\x74\x68\x3b\x77\x68\ -\x69\x6c\x65\x28\x67\x2d\x2d\x29\x69\x66\x28\x64\x3d\x65\x5b\x67\ -\x5d\x2c\x6e\x2e\x69\x6e\x41\x72\x72\x61\x79\x28\x6e\x2e\x76\x61\ -\x6c\x48\x6f\x6f\x6b\x73\x2e\x6f\x70\x74\x69\x6f\x6e\x2e\x67\x65\ -\x74\x28\x64\x29\x2c\x66\x29\x3e\x3d\x30\x29\x74\x72\x79\x7b\x64\ -\x2e\x73\x65\x6c\x65\x63\x74\x65\x64\x3d\x63\x3d\x21\x30\x7d\x63\ -\x61\x74\x63\x68\x28\x68\x29\x7b\x64\x2e\x73\x63\x72\x6f\x6c\x6c\ -\x48\x65\x69\x67\x68\x74\x7d\x65\x6c\x73\x65\x20\x64\x2e\x73\x65\ -\x6c\x65\x63\x74\x65\x64\x3d\x21\x31\x3b\x72\x65\x74\x75\x72\x6e\ -\x20\x63\x7c\x7c\x28\x61\x2e\x73\x65\x6c\x65\x63\x74\x65\x64\x49\ -\x6e\x64\x65\x78\x3d\x2d\x31\x29\x2c\x65\x7d\x7d\x7d\x7d\x29\x2c\ -\x6e\x2e\x65\x61\x63\x68\x28\x5b\x22\x72\x61\x64\x69\x6f\x22\x2c\ -\x22\x63\x68\x65\x63\x6b\x62\x6f\x78\x22\x5d\x2c\x66\x75\x6e\x63\ -\x74\x69\x6f\x6e\x28\x29\x7b\x6e\x2e\x76\x61\x6c\x48\x6f\x6f\x6b\ -\x73\x5b\x74\x68\x69\x73\x5d\x3d\x7b\x73\x65\x74\x3a\x66\x75\x6e\ -\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x29\x7b\x72\x65\x74\x75\x72\ -\x6e\x20\x6e\x2e\x69\x73\x41\x72\x72\x61\x79\x28\x62\x29\x3f\x61\ -\x2e\x63\x68\x65\x63\x6b\x65\x64\x3d\x6e\x2e\x69\x6e\x41\x72\x72\ -\x61\x79\x28\x6e\x28\x61\x29\x2e\x76\x61\x6c\x28\x29\x2c\x62\x29\ -\x3e\x3d\x30\x3a\x76\x6f\x69\x64\x20\x30\x7d\x7d\x2c\x6c\x2e\x63\ -\x68\x65\x63\x6b\x4f\x6e\x7c\x7c\x28\x6e\x2e\x76\x61\x6c\x48\x6f\ -\x6f\x6b\x73\x5b\x74\x68\x69\x73\x5d\x2e\x67\x65\x74\x3d\x66\x75\ -\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x72\x65\x74\x75\x72\x6e\ -\x20\x6e\x75\x6c\x6c\x3d\x3d\x3d\x61\x2e\x67\x65\x74\x41\x74\x74\ -\x72\x69\x62\x75\x74\x65\x28\x22\x76\x61\x6c\x75\x65\x22\x29\x3f\ -\x22\x6f\x6e\x22\x3a\x61\x2e\x76\x61\x6c\x75\x65\x7d\x29\x7d\x29\ -\x3b\x76\x61\x72\x20\x6e\x63\x2c\x6f\x63\x2c\x70\x63\x3d\x6e\x2e\ -\x65\x78\x70\x72\x2e\x61\x74\x74\x72\x48\x61\x6e\x64\x6c\x65\x2c\ -\x71\x63\x3d\x2f\x5e\x28\x3f\x3a\x63\x68\x65\x63\x6b\x65\x64\x7c\ -\x73\x65\x6c\x65\x63\x74\x65\x64\x29\x24\x2f\x69\x2c\x72\x63\x3d\ -\x6c\x2e\x67\x65\x74\x53\x65\x74\x41\x74\x74\x72\x69\x62\x75\x74\ -\x65\x2c\x73\x63\x3d\x6c\x2e\x69\x6e\x70\x75\x74\x3b\x6e\x2e\x66\ -\x6e\x2e\x65\x78\x74\x65\x6e\x64\x28\x7b\x61\x74\x74\x72\x3a\x66\ -\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x29\x7b\x72\x65\x74\ -\x75\x72\x6e\x20\x57\x28\x74\x68\x69\x73\x2c\x6e\x2e\x61\x74\x74\ -\x72\x2c\x61\x2c\x62\x2c\x61\x72\x67\x75\x6d\x65\x6e\x74\x73\x2e\ -\x6c\x65\x6e\x67\x74\x68\x3e\x31\x29\x7d\x2c\x72\x65\x6d\x6f\x76\ -\x65\x41\x74\x74\x72\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\ -\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x74\x68\x69\x73\x2e\x65\x61\ -\x63\x68\x28\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x6e\x2e\ -\x72\x65\x6d\x6f\x76\x65\x41\x74\x74\x72\x28\x74\x68\x69\x73\x2c\ -\x61\x29\x7d\x29\x7d\x7d\x29\x2c\x6e\x2e\x65\x78\x74\x65\x6e\x64\ -\x28\x7b\x61\x74\x74\x72\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\ -\x61\x2c\x62\x2c\x63\x29\x7b\x76\x61\x72\x20\x64\x2c\x65\x2c\x66\ -\x3d\x61\x2e\x6e\x6f\x64\x65\x54\x79\x70\x65\x3b\x69\x66\x28\x61\ -\x26\x26\x33\x21\x3d\x3d\x66\x26\x26\x38\x21\x3d\x3d\x66\x26\x26\ -\x32\x21\x3d\x3d\x66\x29\x72\x65\x74\x75\x72\x6e\x20\x74\x79\x70\ -\x65\x6f\x66\x20\x61\x2e\x67\x65\x74\x41\x74\x74\x72\x69\x62\x75\ -\x74\x65\x3d\x3d\x3d\x4c\x3f\x6e\x2e\x70\x72\x6f\x70\x28\x61\x2c\ -\x62\x2c\x63\x29\x3a\x28\x31\x3d\x3d\x3d\x66\x26\x26\x6e\x2e\x69\ -\x73\x58\x4d\x4c\x44\x6f\x63\x28\x61\x29\x7c\x7c\x28\x62\x3d\x62\ -\x2e\x74\x6f\x4c\x6f\x77\x65\x72\x43\x61\x73\x65\x28\x29\x2c\x64\ -\x3d\x6e\x2e\x61\x74\x74\x72\x48\x6f\x6f\x6b\x73\x5b\x62\x5d\x7c\ -\x7c\x28\x6e\x2e\x65\x78\x70\x72\x2e\x6d\x61\x74\x63\x68\x2e\x62\ -\x6f\x6f\x6c\x2e\x74\x65\x73\x74\x28\x62\x29\x3f\x6f\x63\x3a\x6e\ -\x63\x29\x29\x2c\x76\x6f\x69\x64\x20\x30\x3d\x3d\x3d\x63\x3f\x64\ -\x26\x26\x22\x67\x65\x74\x22\x69\x6e\x20\x64\x26\x26\x6e\x75\x6c\ -\x6c\x21\x3d\x3d\x28\x65\x3d\x64\x2e\x67\x65\x74\x28\x61\x2c\x62\ -\x29\x29\x3f\x65\x3a\x28\x65\x3d\x6e\x2e\x66\x69\x6e\x64\x2e\x61\ -\x74\x74\x72\x28\x61\x2c\x62\x29\x2c\x6e\x75\x6c\x6c\x3d\x3d\x65\ -\x3f\x76\x6f\x69\x64\x20\x30\x3a\x65\x29\x3a\x6e\x75\x6c\x6c\x21\ -\x3d\x3d\x63\x3f\x64\x26\x26\x22\x73\x65\x74\x22\x69\x6e\x20\x64\ -\x26\x26\x76\x6f\x69\x64\x20\x30\x21\x3d\x3d\x28\x65\x3d\x64\x2e\ -\x73\x65\x74\x28\x61\x2c\x63\x2c\x62\x29\x29\x3f\x65\x3a\x28\x61\ -\x2e\x73\x65\x74\x41\x74\x74\x72\x69\x62\x75\x74\x65\x28\x62\x2c\ -\x63\x2b\x22\x22\x29\x2c\x63\x29\x3a\x76\x6f\x69\x64\x20\x6e\x2e\ -\x72\x65\x6d\x6f\x76\x65\x41\x74\x74\x72\x28\x61\x2c\x62\x29\x29\ -\x7d\x2c\x72\x65\x6d\x6f\x76\x65\x41\x74\x74\x72\x3a\x66\x75\x6e\ -\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x29\x7b\x76\x61\x72\x20\x63\ -\x2c\x64\x2c\x65\x3d\x30\x2c\x66\x3d\x62\x26\x26\x62\x2e\x6d\x61\ -\x74\x63\x68\x28\x46\x29\x3b\x69\x66\x28\x66\x26\x26\x31\x3d\x3d\ -\x3d\x61\x2e\x6e\x6f\x64\x65\x54\x79\x70\x65\x29\x77\x68\x69\x6c\ -\x65\x28\x63\x3d\x66\x5b\x65\x2b\x2b\x5d\x29\x64\x3d\x6e\x2e\x70\ -\x72\x6f\x70\x46\x69\x78\x5b\x63\x5d\x7c\x7c\x63\x2c\x6e\x2e\x65\ -\x78\x70\x72\x2e\x6d\x61\x74\x63\x68\x2e\x62\x6f\x6f\x6c\x2e\x74\ -\x65\x73\x74\x28\x63\x29\x3f\x73\x63\x26\x26\x72\x63\x7c\x7c\x21\ -\x71\x63\x2e\x74\x65\x73\x74\x28\x63\x29\x3f\x61\x5b\x64\x5d\x3d\ -\x21\x31\x3a\x61\x5b\x6e\x2e\x63\x61\x6d\x65\x6c\x43\x61\x73\x65\ -\x28\x22\x64\x65\x66\x61\x75\x6c\x74\x2d\x22\x2b\x63\x29\x5d\x3d\ -\x61\x5b\x64\x5d\x3d\x21\x31\x3a\x6e\x2e\x61\x74\x74\x72\x28\x61\ -\x2c\x63\x2c\x22\x22\x29\x2c\x61\x2e\x72\x65\x6d\x6f\x76\x65\x41\ -\x74\x74\x72\x69\x62\x75\x74\x65\x28\x72\x63\x3f\x63\x3a\x64\x29\ -\x7d\x2c\x61\x74\x74\x72\x48\x6f\x6f\x6b\x73\x3a\x7b\x74\x79\x70\ -\x65\x3a\x7b\x73\x65\x74\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\ -\x61\x2c\x62\x29\x7b\x69\x66\x28\x21\x6c\x2e\x72\x61\x64\x69\x6f\ -\x56\x61\x6c\x75\x65\x26\x26\x22\x72\x61\x64\x69\x6f\x22\x3d\x3d\ -\x3d\x62\x26\x26\x6e\x2e\x6e\x6f\x64\x65\x4e\x61\x6d\x65\x28\x61\ -\x2c\x22\x69\x6e\x70\x75\x74\x22\x29\x29\x7b\x76\x61\x72\x20\x63\ -\x3d\x61\x2e\x76\x61\x6c\x75\x65\x3b\x72\x65\x74\x75\x72\x6e\x20\ -\x61\x2e\x73\x65\x74\x41\x74\x74\x72\x69\x62\x75\x74\x65\x28\x22\ -\x74\x79\x70\x65\x22\x2c\x62\x29\x2c\x63\x26\x26\x28\x61\x2e\x76\ -\x61\x6c\x75\x65\x3d\x63\x29\x2c\x62\x7d\x7d\x7d\x7d\x7d\x29\x2c\ -\x6f\x63\x3d\x7b\x73\x65\x74\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\ -\x28\x61\x2c\x62\x2c\x63\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x62\ -\x3d\x3d\x3d\x21\x31\x3f\x6e\x2e\x72\x65\x6d\x6f\x76\x65\x41\x74\ -\x74\x72\x28\x61\x2c\x63\x29\x3a\x73\x63\x26\x26\x72\x63\x7c\x7c\ -\x21\x71\x63\x2e\x74\x65\x73\x74\x28\x63\x29\x3f\x61\x2e\x73\x65\ -\x74\x41\x74\x74\x72\x69\x62\x75\x74\x65\x28\x21\x72\x63\x26\x26\ -\x6e\x2e\x70\x72\x6f\x70\x46\x69\x78\x5b\x63\x5d\x7c\x7c\x63\x2c\ -\x63\x29\x3a\x61\x5b\x6e\x2e\x63\x61\x6d\x65\x6c\x43\x61\x73\x65\ -\x28\x22\x64\x65\x66\x61\x75\x6c\x74\x2d\x22\x2b\x63\x29\x5d\x3d\ -\x61\x5b\x63\x5d\x3d\x21\x30\x2c\x63\x7d\x7d\x2c\x6e\x2e\x65\x61\ -\x63\x68\x28\x6e\x2e\x65\x78\x70\x72\x2e\x6d\x61\x74\x63\x68\x2e\ -\x62\x6f\x6f\x6c\x2e\x73\x6f\x75\x72\x63\x65\x2e\x6d\x61\x74\x63\ -\x68\x28\x2f\x5c\x77\x2b\x2f\x67\x29\x2c\x66\x75\x6e\x63\x74\x69\ -\x6f\x6e\x28\x61\x2c\x62\x29\x7b\x76\x61\x72\x20\x63\x3d\x70\x63\ -\x5b\x62\x5d\x7c\x7c\x6e\x2e\x66\x69\x6e\x64\x2e\x61\x74\x74\x72\ -\x3b\x70\x63\x5b\x62\x5d\x3d\x73\x63\x26\x26\x72\x63\x7c\x7c\x21\ -\x71\x63\x2e\x74\x65\x73\x74\x28\x62\x29\x3f\x66\x75\x6e\x63\x74\ -\x69\x6f\x6e\x28\x61\x2c\x62\x2c\x64\x29\x7b\x76\x61\x72\x20\x65\ -\x2c\x66\x3b\x72\x65\x74\x75\x72\x6e\x20\x64\x7c\x7c\x28\x66\x3d\ -\x70\x63\x5b\x62\x5d\x2c\x70\x63\x5b\x62\x5d\x3d\x65\x2c\x65\x3d\ -\x6e\x75\x6c\x6c\x21\x3d\x63\x28\x61\x2c\x62\x2c\x64\x29\x3f\x62\ -\x2e\x74\x6f\x4c\x6f\x77\x65\x72\x43\x61\x73\x65\x28\x29\x3a\x6e\ -\x75\x6c\x6c\x2c\x70\x63\x5b\x62\x5d\x3d\x66\x29\x2c\x65\x7d\x3a\ -\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x2c\x63\x29\x7b\ -\x72\x65\x74\x75\x72\x6e\x20\x63\x3f\x76\x6f\x69\x64\x20\x30\x3a\ -\x61\x5b\x6e\x2e\x63\x61\x6d\x65\x6c\x43\x61\x73\x65\x28\x22\x64\ -\x65\x66\x61\x75\x6c\x74\x2d\x22\x2b\x62\x29\x5d\x3f\x62\x2e\x74\ -\x6f\x4c\x6f\x77\x65\x72\x43\x61\x73\x65\x28\x29\x3a\x6e\x75\x6c\ -\x6c\x7d\x7d\x29\x2c\x73\x63\x26\x26\x72\x63\x7c\x7c\x28\x6e\x2e\ -\x61\x74\x74\x72\x48\x6f\x6f\x6b\x73\x2e\x76\x61\x6c\x75\x65\x3d\ -\x7b\x73\x65\x74\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\ -\x62\x2c\x63\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x6e\x2e\x6e\x6f\ -\x64\x65\x4e\x61\x6d\x65\x28\x61\x2c\x22\x69\x6e\x70\x75\x74\x22\ -\x29\x3f\x76\x6f\x69\x64\x28\x61\x2e\x64\x65\x66\x61\x75\x6c\x74\ -\x56\x61\x6c\x75\x65\x3d\x62\x29\x3a\x6e\x63\x26\x26\x6e\x63\x2e\ -\x73\x65\x74\x28\x61\x2c\x62\x2c\x63\x29\x7d\x7d\x29\x2c\x72\x63\ -\x7c\x7c\x28\x6e\x63\x3d\x7b\x73\x65\x74\x3a\x66\x75\x6e\x63\x74\ -\x69\x6f\x6e\x28\x61\x2c\x62\x2c\x63\x29\x7b\x76\x61\x72\x20\x64\ -\x3d\x61\x2e\x67\x65\x74\x41\x74\x74\x72\x69\x62\x75\x74\x65\x4e\ -\x6f\x64\x65\x28\x63\x29\x3b\x72\x65\x74\x75\x72\x6e\x20\x64\x7c\ -\x7c\x61\x2e\x73\x65\x74\x41\x74\x74\x72\x69\x62\x75\x74\x65\x4e\ -\x6f\x64\x65\x28\x64\x3d\x61\x2e\x6f\x77\x6e\x65\x72\x44\x6f\x63\ -\x75\x6d\x65\x6e\x74\x2e\x63\x72\x65\x61\x74\x65\x41\x74\x74\x72\ -\x69\x62\x75\x74\x65\x28\x63\x29\x29\x2c\x64\x2e\x76\x61\x6c\x75\ -\x65\x3d\x62\x2b\x3d\x22\x22\x2c\x22\x76\x61\x6c\x75\x65\x22\x3d\ -\x3d\x3d\x63\x7c\x7c\x62\x3d\x3d\x3d\x61\x2e\x67\x65\x74\x41\x74\ -\x74\x72\x69\x62\x75\x74\x65\x28\x63\x29\x3f\x62\x3a\x76\x6f\x69\ -\x64\x20\x30\x7d\x7d\x2c\x70\x63\x2e\x69\x64\x3d\x70\x63\x2e\x6e\ -\x61\x6d\x65\x3d\x70\x63\x2e\x63\x6f\x6f\x72\x64\x73\x3d\x66\x75\ -\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x2c\x63\x29\x7b\x76\x61\ -\x72\x20\x64\x3b\x72\x65\x74\x75\x72\x6e\x20\x63\x3f\x76\x6f\x69\ -\x64\x20\x30\x3a\x28\x64\x3d\x61\x2e\x67\x65\x74\x41\x74\x74\x72\ -\x69\x62\x75\x74\x65\x4e\x6f\x64\x65\x28\x62\x29\x29\x26\x26\x22\ -\x22\x21\x3d\x3d\x64\x2e\x76\x61\x6c\x75\x65\x3f\x64\x2e\x76\x61\ -\x6c\x75\x65\x3a\x6e\x75\x6c\x6c\x7d\x2c\x6e\x2e\x76\x61\x6c\x48\ -\x6f\x6f\x6b\x73\x2e\x62\x75\x74\x74\x6f\x6e\x3d\x7b\x67\x65\x74\ -\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x29\x7b\x76\ -\x61\x72\x20\x63\x3d\x61\x2e\x67\x65\x74\x41\x74\x74\x72\x69\x62\ -\x75\x74\x65\x4e\x6f\x64\x65\x28\x62\x29\x3b\x72\x65\x74\x75\x72\ -\x6e\x20\x63\x26\x26\x63\x2e\x73\x70\x65\x63\x69\x66\x69\x65\x64\ -\x3f\x63\x2e\x76\x61\x6c\x75\x65\x3a\x76\x6f\x69\x64\x20\x30\x7d\ -\x2c\x73\x65\x74\x3a\x6e\x63\x2e\x73\x65\x74\x7d\x2c\x6e\x2e\x61\ -\x74\x74\x72\x48\x6f\x6f\x6b\x73\x2e\x63\x6f\x6e\x74\x65\x6e\x74\ -\x65\x64\x69\x74\x61\x62\x6c\x65\x3d\x7b\x73\x65\x74\x3a\x66\x75\ -\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x2c\x63\x29\x7b\x6e\x63\ -\x2e\x73\x65\x74\x28\x61\x2c\x22\x22\x3d\x3d\x3d\x62\x3f\x21\x31\ -\x3a\x62\x2c\x63\x29\x7d\x7d\x2c\x6e\x2e\x65\x61\x63\x68\x28\x5b\ -\x22\x77\x69\x64\x74\x68\x22\x2c\x22\x68\x65\x69\x67\x68\x74\x22\ -\x5d\x2c\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x29\x7b\ -\x6e\x2e\x61\x74\x74\x72\x48\x6f\x6f\x6b\x73\x5b\x62\x5d\x3d\x7b\ -\x73\x65\x74\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x63\ -\x29\x7b\x72\x65\x74\x75\x72\x6e\x22\x22\x3d\x3d\x3d\x63\x3f\x28\ -\x61\x2e\x73\x65\x74\x41\x74\x74\x72\x69\x62\x75\x74\x65\x28\x62\ -\x2c\x22\x61\x75\x74\x6f\x22\x29\x2c\x63\x29\x3a\x76\x6f\x69\x64\ -\x20\x30\x7d\x7d\x7d\x29\x29\x2c\x6c\x2e\x73\x74\x79\x6c\x65\x7c\ -\x7c\x28\x6e\x2e\x61\x74\x74\x72\x48\x6f\x6f\x6b\x73\x2e\x73\x74\ -\x79\x6c\x65\x3d\x7b\x67\x65\x74\x3a\x66\x75\x6e\x63\x74\x69\x6f\ -\x6e\x28\x61\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x61\x2e\x73\x74\ -\x79\x6c\x65\x2e\x63\x73\x73\x54\x65\x78\x74\x7c\x7c\x76\x6f\x69\ -\x64\x20\x30\x7d\x2c\x73\x65\x74\x3a\x66\x75\x6e\x63\x74\x69\x6f\ -\x6e\x28\x61\x2c\x62\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x61\x2e\ -\x73\x74\x79\x6c\x65\x2e\x63\x73\x73\x54\x65\x78\x74\x3d\x62\x2b\ -\x22\x22\x7d\x7d\x29\x3b\x76\x61\x72\x20\x74\x63\x3d\x2f\x5e\x28\ -\x3f\x3a\x69\x6e\x70\x75\x74\x7c\x73\x65\x6c\x65\x63\x74\x7c\x74\ -\x65\x78\x74\x61\x72\x65\x61\x7c\x62\x75\x74\x74\x6f\x6e\x7c\x6f\ -\x62\x6a\x65\x63\x74\x29\x24\x2f\x69\x2c\x75\x63\x3d\x2f\x5e\x28\ -\x3f\x3a\x61\x7c\x61\x72\x65\x61\x29\x24\x2f\x69\x3b\x6e\x2e\x66\ -\x6e\x2e\x65\x78\x74\x65\x6e\x64\x28\x7b\x70\x72\x6f\x70\x3a\x66\ -\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x29\x7b\x72\x65\x74\ -\x75\x72\x6e\x20\x57\x28\x74\x68\x69\x73\x2c\x6e\x2e\x70\x72\x6f\ -\x70\x2c\x61\x2c\x62\x2c\x61\x72\x67\x75\x6d\x65\x6e\x74\x73\x2e\ -\x6c\x65\x6e\x67\x74\x68\x3e\x31\x29\x7d\x2c\x72\x65\x6d\x6f\x76\ -\x65\x50\x72\x6f\x70\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\ -\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x61\x3d\x6e\x2e\x70\x72\x6f\ -\x70\x46\x69\x78\x5b\x61\x5d\x7c\x7c\x61\x2c\x74\x68\x69\x73\x2e\ -\x65\x61\x63\x68\x28\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\ -\x74\x72\x79\x7b\x74\x68\x69\x73\x5b\x61\x5d\x3d\x76\x6f\x69\x64\ -\x20\x30\x2c\x64\x65\x6c\x65\x74\x65\x20\x74\x68\x69\x73\x5b\x61\ -\x5d\x7d\x63\x61\x74\x63\x68\x28\x62\x29\x7b\x7d\x7d\x29\x7d\x7d\ -\x29\x2c\x6e\x2e\x65\x78\x74\x65\x6e\x64\x28\x7b\x70\x72\x6f\x70\ -\x46\x69\x78\x3a\x7b\x22\x66\x6f\x72\x22\x3a\x22\x68\x74\x6d\x6c\ -\x46\x6f\x72\x22\x2c\x22\x63\x6c\x61\x73\x73\x22\x3a\x22\x63\x6c\ -\x61\x73\x73\x4e\x61\x6d\x65\x22\x7d\x2c\x70\x72\x6f\x70\x3a\x66\ -\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x2c\x63\x29\x7b\x76\ -\x61\x72\x20\x64\x2c\x65\x2c\x66\x2c\x67\x3d\x61\x2e\x6e\x6f\x64\ -\x65\x54\x79\x70\x65\x3b\x69\x66\x28\x61\x26\x26\x33\x21\x3d\x3d\ -\x67\x26\x26\x38\x21\x3d\x3d\x67\x26\x26\x32\x21\x3d\x3d\x67\x29\ -\x72\x65\x74\x75\x72\x6e\x20\x66\x3d\x31\x21\x3d\x3d\x67\x7c\x7c\ -\x21\x6e\x2e\x69\x73\x58\x4d\x4c\x44\x6f\x63\x28\x61\x29\x2c\x66\ -\x26\x26\x28\x62\x3d\x6e\x2e\x70\x72\x6f\x70\x46\x69\x78\x5b\x62\ -\x5d\x7c\x7c\x62\x2c\x65\x3d\x6e\x2e\x70\x72\x6f\x70\x48\x6f\x6f\ -\x6b\x73\x5b\x62\x5d\x29\x2c\x76\x6f\x69\x64\x20\x30\x21\x3d\x3d\ -\x63\x3f\x65\x26\x26\x22\x73\x65\x74\x22\x69\x6e\x20\x65\x26\x26\ -\x76\x6f\x69\x64\x20\x30\x21\x3d\x3d\x28\x64\x3d\x65\x2e\x73\x65\ -\x74\x28\x61\x2c\x63\x2c\x62\x29\x29\x3f\x64\x3a\x61\x5b\x62\x5d\ -\x3d\x63\x3a\x65\x26\x26\x22\x67\x65\x74\x22\x69\x6e\x20\x65\x26\ -\x26\x6e\x75\x6c\x6c\x21\x3d\x3d\x28\x64\x3d\x65\x2e\x67\x65\x74\ -\x28\x61\x2c\x62\x29\x29\x3f\x64\x3a\x61\x5b\x62\x5d\x7d\x2c\x70\ -\x72\x6f\x70\x48\x6f\x6f\x6b\x73\x3a\x7b\x74\x61\x62\x49\x6e\x64\ -\x65\x78\x3a\x7b\x67\x65\x74\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\ -\x28\x61\x29\x7b\x76\x61\x72\x20\x62\x3d\x6e\x2e\x66\x69\x6e\x64\ -\x2e\x61\x74\x74\x72\x28\x61\x2c\x22\x74\x61\x62\x69\x6e\x64\x65\ -\x78\x22\x29\x3b\x72\x65\x74\x75\x72\x6e\x20\x62\x3f\x70\x61\x72\ -\x73\x65\x49\x6e\x74\x28\x62\x2c\x31\x30\x29\x3a\x74\x63\x2e\x74\ -\x65\x73\x74\x28\x61\x2e\x6e\x6f\x64\x65\x4e\x61\x6d\x65\x29\x7c\ -\x7c\x75\x63\x2e\x74\x65\x73\x74\x28\x61\x2e\x6e\x6f\x64\x65\x4e\ -\x61\x6d\x65\x29\x26\x26\x61\x2e\x68\x72\x65\x66\x3f\x30\x3a\x2d\ -\x31\x7d\x7d\x7d\x7d\x29\x2c\x6c\x2e\x68\x72\x65\x66\x4e\x6f\x72\ -\x6d\x61\x6c\x69\x7a\x65\x64\x7c\x7c\x6e\x2e\x65\x61\x63\x68\x28\ -\x5b\x22\x68\x72\x65\x66\x22\x2c\x22\x73\x72\x63\x22\x5d\x2c\x66\ -\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x29\x7b\x6e\x2e\x70\ -\x72\x6f\x70\x48\x6f\x6f\x6b\x73\x5b\x62\x5d\x3d\x7b\x67\x65\x74\ -\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x72\x65\x74\ -\x75\x72\x6e\x20\x61\x2e\x67\x65\x74\x41\x74\x74\x72\x69\x62\x75\ -\x74\x65\x28\x62\x2c\x34\x29\x7d\x7d\x7d\x29\x2c\x6c\x2e\x6f\x70\ -\x74\x53\x65\x6c\x65\x63\x74\x65\x64\x7c\x7c\x28\x6e\x2e\x70\x72\ -\x6f\x70\x48\x6f\x6f\x6b\x73\x2e\x73\x65\x6c\x65\x63\x74\x65\x64\ -\x3d\x7b\x67\x65\x74\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\ -\x29\x7b\x76\x61\x72\x20\x62\x3d\x61\x2e\x70\x61\x72\x65\x6e\x74\ -\x4e\x6f\x64\x65\x3b\x72\x65\x74\x75\x72\x6e\x20\x62\x26\x26\x28\ -\x62\x2e\x73\x65\x6c\x65\x63\x74\x65\x64\x49\x6e\x64\x65\x78\x2c\ -\x62\x2e\x70\x61\x72\x65\x6e\x74\x4e\x6f\x64\x65\x26\x26\x62\x2e\ -\x70\x61\x72\x65\x6e\x74\x4e\x6f\x64\x65\x2e\x73\x65\x6c\x65\x63\ -\x74\x65\x64\x49\x6e\x64\x65\x78\x29\x2c\x6e\x75\x6c\x6c\x7d\x7d\ -\x29\x2c\x6e\x2e\x65\x61\x63\x68\x28\x5b\x22\x74\x61\x62\x49\x6e\ -\x64\x65\x78\x22\x2c\x22\x72\x65\x61\x64\x4f\x6e\x6c\x79\x22\x2c\ -\x22\x6d\x61\x78\x4c\x65\x6e\x67\x74\x68\x22\x2c\x22\x63\x65\x6c\ -\x6c\x53\x70\x61\x63\x69\x6e\x67\x22\x2c\x22\x63\x65\x6c\x6c\x50\ -\x61\x64\x64\x69\x6e\x67\x22\x2c\x22\x72\x6f\x77\x53\x70\x61\x6e\ -\x22\x2c\x22\x63\x6f\x6c\x53\x70\x61\x6e\x22\x2c\x22\x75\x73\x65\ -\x4d\x61\x70\x22\x2c\x22\x66\x72\x61\x6d\x65\x42\x6f\x72\x64\x65\ -\x72\x22\x2c\x22\x63\x6f\x6e\x74\x65\x6e\x74\x45\x64\x69\x74\x61\ -\x62\x6c\x65\x22\x5d\x2c\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\ -\x7b\x6e\x2e\x70\x72\x6f\x70\x46\x69\x78\x5b\x74\x68\x69\x73\x2e\ -\x74\x6f\x4c\x6f\x77\x65\x72\x43\x61\x73\x65\x28\x29\x5d\x3d\x74\ -\x68\x69\x73\x7d\x29\x2c\x6c\x2e\x65\x6e\x63\x74\x79\x70\x65\x7c\ -\x7c\x28\x6e\x2e\x70\x72\x6f\x70\x46\x69\x78\x2e\x65\x6e\x63\x74\ -\x79\x70\x65\x3d\x22\x65\x6e\x63\x6f\x64\x69\x6e\x67\x22\x29\x3b\ -\x76\x61\x72\x20\x76\x63\x3d\x2f\x5b\x5c\x74\x5c\x72\x5c\x6e\x5c\ -\x66\x5d\x2f\x67\x3b\x6e\x2e\x66\x6e\x2e\x65\x78\x74\x65\x6e\x64\ -\x28\x7b\x61\x64\x64\x43\x6c\x61\x73\x73\x3a\x66\x75\x6e\x63\x74\ -\x69\x6f\x6e\x28\x61\x29\x7b\x76\x61\x72\x20\x62\x2c\x63\x2c\x64\ -\x2c\x65\x2c\x66\x2c\x67\x2c\x68\x3d\x30\x2c\x69\x3d\x74\x68\x69\ -\x73\x2e\x6c\x65\x6e\x67\x74\x68\x2c\x6a\x3d\x22\x73\x74\x72\x69\ -\x6e\x67\x22\x3d\x3d\x74\x79\x70\x65\x6f\x66\x20\x61\x26\x26\x61\ -\x3b\x69\x66\x28\x6e\x2e\x69\x73\x46\x75\x6e\x63\x74\x69\x6f\x6e\ -\x28\x61\x29\x29\x72\x65\x74\x75\x72\x6e\x20\x74\x68\x69\x73\x2e\ -\x65\x61\x63\x68\x28\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x62\x29\ -\x7b\x6e\x28\x74\x68\x69\x73\x29\x2e\x61\x64\x64\x43\x6c\x61\x73\ -\x73\x28\x61\x2e\x63\x61\x6c\x6c\x28\x74\x68\x69\x73\x2c\x62\x2c\ -\x74\x68\x69\x73\x2e\x63\x6c\x61\x73\x73\x4e\x61\x6d\x65\x29\x29\ -\x7d\x29\x3b\x69\x66\x28\x6a\x29\x66\x6f\x72\x28\x62\x3d\x28\x61\ -\x7c\x7c\x22\x22\x29\x2e\x6d\x61\x74\x63\x68\x28\x46\x29\x7c\x7c\ -\x5b\x5d\x3b\x69\x3e\x68\x3b\x68\x2b\x2b\x29\x69\x66\x28\x63\x3d\ -\x74\x68\x69\x73\x5b\x68\x5d\x2c\x64\x3d\x31\x3d\x3d\x3d\x63\x2e\ -\x6e\x6f\x64\x65\x54\x79\x70\x65\x26\x26\x28\x63\x2e\x63\x6c\x61\ -\x73\x73\x4e\x61\x6d\x65\x3f\x28\x22\x20\x22\x2b\x63\x2e\x63\x6c\ -\x61\x73\x73\x4e\x61\x6d\x65\x2b\x22\x20\x22\x29\x2e\x72\x65\x70\ -\x6c\x61\x63\x65\x28\x76\x63\x2c\x22\x20\x22\x29\x3a\x22\x20\x22\ -\x29\x29\x7b\x66\x3d\x30\x3b\x77\x68\x69\x6c\x65\x28\x65\x3d\x62\ -\x5b\x66\x2b\x2b\x5d\x29\x64\x2e\x69\x6e\x64\x65\x78\x4f\x66\x28\ -\x22\x20\x22\x2b\x65\x2b\x22\x20\x22\x29\x3c\x30\x26\x26\x28\x64\ -\x2b\x3d\x65\x2b\x22\x20\x22\x29\x3b\x67\x3d\x6e\x2e\x74\x72\x69\ -\x6d\x28\x64\x29\x2c\x63\x2e\x63\x6c\x61\x73\x73\x4e\x61\x6d\x65\ -\x21\x3d\x3d\x67\x26\x26\x28\x63\x2e\x63\x6c\x61\x73\x73\x4e\x61\ -\x6d\x65\x3d\x67\x29\x7d\x72\x65\x74\x75\x72\x6e\x20\x74\x68\x69\ -\x73\x7d\x2c\x72\x65\x6d\x6f\x76\x65\x43\x6c\x61\x73\x73\x3a\x66\ -\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x76\x61\x72\x20\x62\ -\x2c\x63\x2c\x64\x2c\x65\x2c\x66\x2c\x67\x2c\x68\x3d\x30\x2c\x69\ -\x3d\x74\x68\x69\x73\x2e\x6c\x65\x6e\x67\x74\x68\x2c\x6a\x3d\x30\ -\x3d\x3d\x3d\x61\x72\x67\x75\x6d\x65\x6e\x74\x73\x2e\x6c\x65\x6e\ -\x67\x74\x68\x7c\x7c\x22\x73\x74\x72\x69\x6e\x67\x22\x3d\x3d\x74\ -\x79\x70\x65\x6f\x66\x20\x61\x26\x26\x61\x3b\x69\x66\x28\x6e\x2e\ -\x69\x73\x46\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x29\x72\x65\ -\x74\x75\x72\x6e\x20\x74\x68\x69\x73\x2e\x65\x61\x63\x68\x28\x66\ -\x75\x6e\x63\x74\x69\x6f\x6e\x28\x62\x29\x7b\x6e\x28\x74\x68\x69\ -\x73\x29\x2e\x72\x65\x6d\x6f\x76\x65\x43\x6c\x61\x73\x73\x28\x61\ -\x2e\x63\x61\x6c\x6c\x28\x74\x68\x69\x73\x2c\x62\x2c\x74\x68\x69\ -\x73\x2e\x63\x6c\x61\x73\x73\x4e\x61\x6d\x65\x29\x29\x7d\x29\x3b\ -\x69\x66\x28\x6a\x29\x66\x6f\x72\x28\x62\x3d\x28\x61\x7c\x7c\x22\ -\x22\x29\x2e\x6d\x61\x74\x63\x68\x28\x46\x29\x7c\x7c\x5b\x5d\x3b\ -\x69\x3e\x68\x3b\x68\x2b\x2b\x29\x69\x66\x28\x63\x3d\x74\x68\x69\ -\x73\x5b\x68\x5d\x2c\x64\x3d\x31\x3d\x3d\x3d\x63\x2e\x6e\x6f\x64\ -\x65\x54\x79\x70\x65\x26\x26\x28\x63\x2e\x63\x6c\x61\x73\x73\x4e\ -\x61\x6d\x65\x3f\x28\x22\x20\x22\x2b\x63\x2e\x63\x6c\x61\x73\x73\ -\x4e\x61\x6d\x65\x2b\x22\x20\x22\x29\x2e\x72\x65\x70\x6c\x61\x63\ -\x65\x28\x76\x63\x2c\x22\x20\x22\x29\x3a\x22\x22\x29\x29\x7b\x66\ -\x3d\x30\x3b\x77\x68\x69\x6c\x65\x28\x65\x3d\x62\x5b\x66\x2b\x2b\ -\x5d\x29\x77\x68\x69\x6c\x65\x28\x64\x2e\x69\x6e\x64\x65\x78\x4f\ -\x66\x28\x22\x20\x22\x2b\x65\x2b\x22\x20\x22\x29\x3e\x3d\x30\x29\ -\x64\x3d\x64\x2e\x72\x65\x70\x6c\x61\x63\x65\x28\x22\x20\x22\x2b\ -\x65\x2b\x22\x20\x22\x2c\x22\x20\x22\x29\x3b\x67\x3d\x61\x3f\x6e\ -\x2e\x74\x72\x69\x6d\x28\x64\x29\x3a\x22\x22\x2c\x63\x2e\x63\x6c\ -\x61\x73\x73\x4e\x61\x6d\x65\x21\x3d\x3d\x67\x26\x26\x28\x63\x2e\ -\x63\x6c\x61\x73\x73\x4e\x61\x6d\x65\x3d\x67\x29\x7d\x72\x65\x74\ -\x75\x72\x6e\x20\x74\x68\x69\x73\x7d\x2c\x74\x6f\x67\x67\x6c\x65\ -\x43\x6c\x61\x73\x73\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\ -\x2c\x62\x29\x7b\x76\x61\x72\x20\x63\x3d\x74\x79\x70\x65\x6f\x66\ -\x20\x61\x3b\x72\x65\x74\x75\x72\x6e\x22\x62\x6f\x6f\x6c\x65\x61\ -\x6e\x22\x3d\x3d\x74\x79\x70\x65\x6f\x66\x20\x62\x26\x26\x22\x73\ -\x74\x72\x69\x6e\x67\x22\x3d\x3d\x3d\x63\x3f\x62\x3f\x74\x68\x69\ -\x73\x2e\x61\x64\x64\x43\x6c\x61\x73\x73\x28\x61\x29\x3a\x74\x68\ -\x69\x73\x2e\x72\x65\x6d\x6f\x76\x65\x43\x6c\x61\x73\x73\x28\x61\ -\x29\x3a\x74\x68\x69\x73\x2e\x65\x61\x63\x68\x28\x6e\x2e\x69\x73\ -\x46\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x3f\x66\x75\x6e\x63\ -\x74\x69\x6f\x6e\x28\x63\x29\x7b\x6e\x28\x74\x68\x69\x73\x29\x2e\ -\x74\x6f\x67\x67\x6c\x65\x43\x6c\x61\x73\x73\x28\x61\x2e\x63\x61\ -\x6c\x6c\x28\x74\x68\x69\x73\x2c\x63\x2c\x74\x68\x69\x73\x2e\x63\ -\x6c\x61\x73\x73\x4e\x61\x6d\x65\x2c\x62\x29\x2c\x62\x29\x7d\x3a\ -\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x69\x66\x28\x22\x73\ -\x74\x72\x69\x6e\x67\x22\x3d\x3d\x3d\x63\x29\x7b\x76\x61\x72\x20\ -\x62\x2c\x64\x3d\x30\x2c\x65\x3d\x6e\x28\x74\x68\x69\x73\x29\x2c\ -\x66\x3d\x61\x2e\x6d\x61\x74\x63\x68\x28\x46\x29\x7c\x7c\x5b\x5d\ -\x3b\x77\x68\x69\x6c\x65\x28\x62\x3d\x66\x5b\x64\x2b\x2b\x5d\x29\ -\x65\x2e\x68\x61\x73\x43\x6c\x61\x73\x73\x28\x62\x29\x3f\x65\x2e\ -\x72\x65\x6d\x6f\x76\x65\x43\x6c\x61\x73\x73\x28\x62\x29\x3a\x65\ -\x2e\x61\x64\x64\x43\x6c\x61\x73\x73\x28\x62\x29\x7d\x65\x6c\x73\ -\x65\x28\x63\x3d\x3d\x3d\x4c\x7c\x7c\x22\x62\x6f\x6f\x6c\x65\x61\ -\x6e\x22\x3d\x3d\x3d\x63\x29\x26\x26\x28\x74\x68\x69\x73\x2e\x63\ -\x6c\x61\x73\x73\x4e\x61\x6d\x65\x26\x26\x6e\x2e\x5f\x64\x61\x74\ -\x61\x28\x74\x68\x69\x73\x2c\x22\x5f\x5f\x63\x6c\x61\x73\x73\x4e\ -\x61\x6d\x65\x5f\x5f\x22\x2c\x74\x68\x69\x73\x2e\x63\x6c\x61\x73\ -\x73\x4e\x61\x6d\x65\x29\x2c\x74\x68\x69\x73\x2e\x63\x6c\x61\x73\ -\x73\x4e\x61\x6d\x65\x3d\x74\x68\x69\x73\x2e\x63\x6c\x61\x73\x73\ -\x4e\x61\x6d\x65\x7c\x7c\x61\x3d\x3d\x3d\x21\x31\x3f\x22\x22\x3a\ -\x6e\x2e\x5f\x64\x61\x74\x61\x28\x74\x68\x69\x73\x2c\x22\x5f\x5f\ -\x63\x6c\x61\x73\x73\x4e\x61\x6d\x65\x5f\x5f\x22\x29\x7c\x7c\x22\ -\x22\x29\x7d\x29\x7d\x2c\x68\x61\x73\x43\x6c\x61\x73\x73\x3a\x66\ -\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x66\x6f\x72\x28\x76\ -\x61\x72\x20\x62\x3d\x22\x20\x22\x2b\x61\x2b\x22\x20\x22\x2c\x63\ -\x3d\x30\x2c\x64\x3d\x74\x68\x69\x73\x2e\x6c\x65\x6e\x67\x74\x68\ -\x3b\x64\x3e\x63\x3b\x63\x2b\x2b\x29\x69\x66\x28\x31\x3d\x3d\x3d\ -\x74\x68\x69\x73\x5b\x63\x5d\x2e\x6e\x6f\x64\x65\x54\x79\x70\x65\ -\x26\x26\x28\x22\x20\x22\x2b\x74\x68\x69\x73\x5b\x63\x5d\x2e\x63\ -\x6c\x61\x73\x73\x4e\x61\x6d\x65\x2b\x22\x20\x22\x29\x2e\x72\x65\ -\x70\x6c\x61\x63\x65\x28\x76\x63\x2c\x22\x20\x22\x29\x2e\x69\x6e\ -\x64\x65\x78\x4f\x66\x28\x62\x29\x3e\x3d\x30\x29\x72\x65\x74\x75\ -\x72\x6e\x21\x30\x3b\x72\x65\x74\x75\x72\x6e\x21\x31\x7d\x7d\x29\ -\x2c\x6e\x2e\x65\x61\x63\x68\x28\x22\x62\x6c\x75\x72\x20\x66\x6f\ -\x63\x75\x73\x20\x66\x6f\x63\x75\x73\x69\x6e\x20\x66\x6f\x63\x75\ -\x73\x6f\x75\x74\x20\x6c\x6f\x61\x64\x20\x72\x65\x73\x69\x7a\x65\ -\x20\x73\x63\x72\x6f\x6c\x6c\x20\x75\x6e\x6c\x6f\x61\x64\x20\x63\ -\x6c\x69\x63\x6b\x20\x64\x62\x6c\x63\x6c\x69\x63\x6b\x20\x6d\x6f\ -\x75\x73\x65\x64\x6f\x77\x6e\x20\x6d\x6f\x75\x73\x65\x75\x70\x20\ -\x6d\x6f\x75\x73\x65\x6d\x6f\x76\x65\x20\x6d\x6f\x75\x73\x65\x6f\ -\x76\x65\x72\x20\x6d\x6f\x75\x73\x65\x6f\x75\x74\x20\x6d\x6f\x75\ -\x73\x65\x65\x6e\x74\x65\x72\x20\x6d\x6f\x75\x73\x65\x6c\x65\x61\ -\x76\x65\x20\x63\x68\x61\x6e\x67\x65\x20\x73\x65\x6c\x65\x63\x74\ -\x20\x73\x75\x62\x6d\x69\x74\x20\x6b\x65\x79\x64\x6f\x77\x6e\x20\ -\x6b\x65\x79\x70\x72\x65\x73\x73\x20\x6b\x65\x79\x75\x70\x20\x65\ -\x72\x72\x6f\x72\x20\x63\x6f\x6e\x74\x65\x78\x74\x6d\x65\x6e\x75\ -\x22\x2e\x73\x70\x6c\x69\x74\x28\x22\x20\x22\x29\x2c\x66\x75\x6e\ -\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x29\x7b\x6e\x2e\x66\x6e\x5b\ -\x62\x5d\x3d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x63\x29\ -\x7b\x72\x65\x74\x75\x72\x6e\x20\x61\x72\x67\x75\x6d\x65\x6e\x74\ -\x73\x2e\x6c\x65\x6e\x67\x74\x68\x3e\x30\x3f\x74\x68\x69\x73\x2e\ -\x6f\x6e\x28\x62\x2c\x6e\x75\x6c\x6c\x2c\x61\x2c\x63\x29\x3a\x74\ -\x68\x69\x73\x2e\x74\x72\x69\x67\x67\x65\x72\x28\x62\x29\x7d\x7d\ -\x29\x2c\x6e\x2e\x66\x6e\x2e\x65\x78\x74\x65\x6e\x64\x28\x7b\x68\ -\x6f\x76\x65\x72\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\ -\x62\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x74\x68\x69\x73\x2e\x6d\ -\x6f\x75\x73\x65\x65\x6e\x74\x65\x72\x28\x61\x29\x2e\x6d\x6f\x75\ -\x73\x65\x6c\x65\x61\x76\x65\x28\x62\x7c\x7c\x61\x29\x7d\x2c\x62\ -\x69\x6e\x64\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\ -\x2c\x63\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x74\x68\x69\x73\x2e\ -\x6f\x6e\x28\x61\x2c\x6e\x75\x6c\x6c\x2c\x62\x2c\x63\x29\x7d\x2c\ -\x75\x6e\x62\x69\x6e\x64\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\ -\x61\x2c\x62\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x74\x68\x69\x73\ -\x2e\x6f\x66\x66\x28\x61\x2c\x6e\x75\x6c\x6c\x2c\x62\x29\x7d\x2c\ -\x64\x65\x6c\x65\x67\x61\x74\x65\x3a\x66\x75\x6e\x63\x74\x69\x6f\ -\x6e\x28\x61\x2c\x62\x2c\x63\x2c\x64\x29\x7b\x72\x65\x74\x75\x72\ -\x6e\x20\x74\x68\x69\x73\x2e\x6f\x6e\x28\x62\x2c\x61\x2c\x63\x2c\ -\x64\x29\x7d\x2c\x75\x6e\x64\x65\x6c\x65\x67\x61\x74\x65\x3a\x66\ -\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x2c\x63\x29\x7b\x72\ -\x65\x74\x75\x72\x6e\x20\x31\x3d\x3d\x3d\x61\x72\x67\x75\x6d\x65\ -\x6e\x74\x73\x2e\x6c\x65\x6e\x67\x74\x68\x3f\x74\x68\x69\x73\x2e\ -\x6f\x66\x66\x28\x61\x2c\x22\x2a\x2a\x22\x29\x3a\x74\x68\x69\x73\ -\x2e\x6f\x66\x66\x28\x62\x2c\x61\x7c\x7c\x22\x2a\x2a\x22\x2c\x63\ -\x29\x7d\x7d\x29\x3b\x76\x61\x72\x20\x77\x63\x3d\x6e\x2e\x6e\x6f\ -\x77\x28\x29\x2c\x78\x63\x3d\x2f\x5c\x3f\x2f\x2c\x79\x63\x3d\x2f\ -\x28\x2c\x29\x7c\x28\x5c\x5b\x7c\x7b\x29\x7c\x28\x7d\x7c\x5d\x29\ -\x7c\x22\x28\x3f\x3a\x5b\x5e\x22\x5c\x5c\x5c\x72\x5c\x6e\x5d\x7c\ -\x5c\x5c\x5b\x22\x5c\x5c\x5c\x2f\x62\x66\x6e\x72\x74\x5d\x7c\x5c\ -\x5c\x75\x5b\x5c\x64\x61\x2d\x66\x41\x2d\x46\x5d\x7b\x34\x7d\x29\ -\x2a\x22\x5c\x73\x2a\x3a\x3f\x7c\x74\x72\x75\x65\x7c\x66\x61\x6c\ -\x73\x65\x7c\x6e\x75\x6c\x6c\x7c\x2d\x3f\x28\x3f\x21\x30\x5c\x64\ -\x29\x5c\x64\x2b\x28\x3f\x3a\x5c\x2e\x5c\x64\x2b\x7c\x29\x28\x3f\ -\x3a\x5b\x65\x45\x5d\x5b\x2b\x2d\x5d\x3f\x5c\x64\x2b\x7c\x29\x2f\ -\x67\x3b\x6e\x2e\x70\x61\x72\x73\x65\x4a\x53\x4f\x4e\x3d\x66\x75\ -\x6e\x63\x74\x69\x6f\x6e\x28\x62\x29\x7b\x69\x66\x28\x61\x2e\x4a\ -\x53\x4f\x4e\x26\x26\x61\x2e\x4a\x53\x4f\x4e\x2e\x70\x61\x72\x73\ -\x65\x29\x72\x65\x74\x75\x72\x6e\x20\x61\x2e\x4a\x53\x4f\x4e\x2e\ -\x70\x61\x72\x73\x65\x28\x62\x2b\x22\x22\x29\x3b\x76\x61\x72\x20\ -\x63\x2c\x64\x3d\x6e\x75\x6c\x6c\x2c\x65\x3d\x6e\x2e\x74\x72\x69\ -\x6d\x28\x62\x2b\x22\x22\x29\x3b\x72\x65\x74\x75\x72\x6e\x20\x65\ -\x26\x26\x21\x6e\x2e\x74\x72\x69\x6d\x28\x65\x2e\x72\x65\x70\x6c\ -\x61\x63\x65\x28\x79\x63\x2c\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\ -\x61\x2c\x62\x2c\x65\x2c\x66\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\ -\x63\x26\x26\x62\x26\x26\x28\x64\x3d\x30\x29\x2c\x30\x3d\x3d\x3d\ -\x64\x3f\x61\x3a\x28\x63\x3d\x65\x7c\x7c\x62\x2c\x64\x2b\x3d\x21\ -\x66\x2d\x21\x65\x2c\x22\x22\x29\x7d\x29\x29\x3f\x46\x75\x6e\x63\ -\x74\x69\x6f\x6e\x28\x22\x72\x65\x74\x75\x72\x6e\x20\x22\x2b\x65\ -\x29\x28\x29\x3a\x6e\x2e\x65\x72\x72\x6f\x72\x28\x22\x49\x6e\x76\ -\x61\x6c\x69\x64\x20\x4a\x53\x4f\x4e\x3a\x20\x22\x2b\x62\x29\x7d\ -\x2c\x6e\x2e\x70\x61\x72\x73\x65\x58\x4d\x4c\x3d\x66\x75\x6e\x63\ -\x74\x69\x6f\x6e\x28\x62\x29\x7b\x76\x61\x72\x20\x63\x2c\x64\x3b\ -\x69\x66\x28\x21\x62\x7c\x7c\x22\x73\x74\x72\x69\x6e\x67\x22\x21\ -\x3d\x74\x79\x70\x65\x6f\x66\x20\x62\x29\x72\x65\x74\x75\x72\x6e\ -\x20\x6e\x75\x6c\x6c\x3b\x74\x72\x79\x7b\x61\x2e\x44\x4f\x4d\x50\ -\x61\x72\x73\x65\x72\x3f\x28\x64\x3d\x6e\x65\x77\x20\x44\x4f\x4d\ -\x50\x61\x72\x73\x65\x72\x2c\x63\x3d\x64\x2e\x70\x61\x72\x73\x65\ -\x46\x72\x6f\x6d\x53\x74\x72\x69\x6e\x67\x28\x62\x2c\x22\x74\x65\ -\x78\x74\x2f\x78\x6d\x6c\x22\x29\x29\x3a\x28\x63\x3d\x6e\x65\x77\ -\x20\x41\x63\x74\x69\x76\x65\x58\x4f\x62\x6a\x65\x63\x74\x28\x22\ -\x4d\x69\x63\x72\x6f\x73\x6f\x66\x74\x2e\x58\x4d\x4c\x44\x4f\x4d\ -\x22\x29\x2c\x63\x2e\x61\x73\x79\x6e\x63\x3d\x22\x66\x61\x6c\x73\ -\x65\x22\x2c\x63\x2e\x6c\x6f\x61\x64\x58\x4d\x4c\x28\x62\x29\x29\ -\x7d\x63\x61\x74\x63\x68\x28\x65\x29\x7b\x63\x3d\x76\x6f\x69\x64\ -\x20\x30\x7d\x72\x65\x74\x75\x72\x6e\x20\x63\x26\x26\x63\x2e\x64\ -\x6f\x63\x75\x6d\x65\x6e\x74\x45\x6c\x65\x6d\x65\x6e\x74\x26\x26\ -\x21\x63\x2e\x67\x65\x74\x45\x6c\x65\x6d\x65\x6e\x74\x73\x42\x79\ -\x54\x61\x67\x4e\x61\x6d\x65\x28\x22\x70\x61\x72\x73\x65\x72\x65\ -\x72\x72\x6f\x72\x22\x29\x2e\x6c\x65\x6e\x67\x74\x68\x7c\x7c\x6e\ -\x2e\x65\x72\x72\x6f\x72\x28\x22\x49\x6e\x76\x61\x6c\x69\x64\x20\ -\x58\x4d\x4c\x3a\x20\x22\x2b\x62\x29\x2c\x63\x7d\x3b\x76\x61\x72\ -\x20\x7a\x63\x2c\x41\x63\x2c\x42\x63\x3d\x2f\x23\x2e\x2a\x24\x2f\ -\x2c\x43\x63\x3d\x2f\x28\x5b\x3f\x26\x5d\x29\x5f\x3d\x5b\x5e\x26\ -\x5d\x2a\x2f\x2c\x44\x63\x3d\x2f\x5e\x28\x2e\x2a\x3f\x29\x3a\x5b\ -\x20\x5c\x74\x5d\x2a\x28\x5b\x5e\x5c\x72\x5c\x6e\x5d\x2a\x29\x5c\ -\x72\x3f\x24\x2f\x67\x6d\x2c\x45\x63\x3d\x2f\x5e\x28\x3f\x3a\x61\ -\x62\x6f\x75\x74\x7c\x61\x70\x70\x7c\x61\x70\x70\x2d\x73\x74\x6f\ -\x72\x61\x67\x65\x7c\x2e\x2b\x2d\x65\x78\x74\x65\x6e\x73\x69\x6f\ -\x6e\x7c\x66\x69\x6c\x65\x7c\x72\x65\x73\x7c\x77\x69\x64\x67\x65\ -\x74\x29\x3a\x24\x2f\x2c\x46\x63\x3d\x2f\x5e\x28\x3f\x3a\x47\x45\ -\x54\x7c\x48\x45\x41\x44\x29\x24\x2f\x2c\x47\x63\x3d\x2f\x5e\x5c\ -\x2f\x5c\x2f\x2f\x2c\x48\x63\x3d\x2f\x5e\x28\x5b\x5c\x77\x2e\x2b\ -\x2d\x5d\x2b\x3a\x29\x28\x3f\x3a\x5c\x2f\x5c\x2f\x28\x3f\x3a\x5b\ -\x5e\x5c\x2f\x3f\x23\x5d\x2a\x40\x7c\x29\x28\x5b\x5e\x5c\x2f\x3f\ -\x23\x3a\x5d\x2a\x29\x28\x3f\x3a\x3a\x28\x5c\x64\x2b\x29\x7c\x29\ -\x7c\x29\x2f\x2c\x49\x63\x3d\x7b\x7d\x2c\x4a\x63\x3d\x7b\x7d\x2c\ -\x4b\x63\x3d\x22\x2a\x2f\x22\x2e\x63\x6f\x6e\x63\x61\x74\x28\x22\ -\x2a\x22\x29\x3b\x74\x72\x79\x7b\x41\x63\x3d\x6c\x6f\x63\x61\x74\ -\x69\x6f\x6e\x2e\x68\x72\x65\x66\x7d\x63\x61\x74\x63\x68\x28\x4c\ -\x63\x29\x7b\x41\x63\x3d\x7a\x2e\x63\x72\x65\x61\x74\x65\x45\x6c\ -\x65\x6d\x65\x6e\x74\x28\x22\x61\x22\x29\x2c\x41\x63\x2e\x68\x72\ -\x65\x66\x3d\x22\x22\x2c\x41\x63\x3d\x41\x63\x2e\x68\x72\x65\x66\ -\x7d\x7a\x63\x3d\x48\x63\x2e\x65\x78\x65\x63\x28\x41\x63\x2e\x74\ -\x6f\x4c\x6f\x77\x65\x72\x43\x61\x73\x65\x28\x29\x29\x7c\x7c\x5b\ -\x5d\x3b\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x4d\x63\x28\x61\x29\ -\x7b\x72\x65\x74\x75\x72\x6e\x20\x66\x75\x6e\x63\x74\x69\x6f\x6e\ -\x28\x62\x2c\x63\x29\x7b\x22\x73\x74\x72\x69\x6e\x67\x22\x21\x3d\ -\x74\x79\x70\x65\x6f\x66\x20\x62\x26\x26\x28\x63\x3d\x62\x2c\x62\ -\x3d\x22\x2a\x22\x29\x3b\x76\x61\x72\x20\x64\x2c\x65\x3d\x30\x2c\ -\x66\x3d\x62\x2e\x74\x6f\x4c\x6f\x77\x65\x72\x43\x61\x73\x65\x28\ -\x29\x2e\x6d\x61\x74\x63\x68\x28\x46\x29\x7c\x7c\x5b\x5d\x3b\x69\ -\x66\x28\x6e\x2e\x69\x73\x46\x75\x6e\x63\x74\x69\x6f\x6e\x28\x63\ -\x29\x29\x77\x68\x69\x6c\x65\x28\x64\x3d\x66\x5b\x65\x2b\x2b\x5d\ -\x29\x22\x2b\x22\x3d\x3d\x3d\x64\x2e\x63\x68\x61\x72\x41\x74\x28\ -\x30\x29\x3f\x28\x64\x3d\x64\x2e\x73\x6c\x69\x63\x65\x28\x31\x29\ -\x7c\x7c\x22\x2a\x22\x2c\x28\x61\x5b\x64\x5d\x3d\x61\x5b\x64\x5d\ -\x7c\x7c\x5b\x5d\x29\x2e\x75\x6e\x73\x68\x69\x66\x74\x28\x63\x29\ -\x29\x3a\x28\x61\x5b\x64\x5d\x3d\x61\x5b\x64\x5d\x7c\x7c\x5b\x5d\ -\x29\x2e\x70\x75\x73\x68\x28\x63\x29\x7d\x7d\x66\x75\x6e\x63\x74\ -\x69\x6f\x6e\x20\x4e\x63\x28\x61\x2c\x62\x2c\x63\x2c\x64\x29\x7b\ -\x76\x61\x72\x20\x65\x3d\x7b\x7d\x2c\x66\x3d\x61\x3d\x3d\x3d\x4a\ -\x63\x3b\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x67\x28\x68\x29\x7b\ -\x76\x61\x72\x20\x69\x3b\x72\x65\x74\x75\x72\x6e\x20\x65\x5b\x68\ -\x5d\x3d\x21\x30\x2c\x6e\x2e\x65\x61\x63\x68\x28\x61\x5b\x68\x5d\ -\x7c\x7c\x5b\x5d\x2c\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\ -\x68\x29\x7b\x76\x61\x72\x20\x6a\x3d\x68\x28\x62\x2c\x63\x2c\x64\ -\x29\x3b\x72\x65\x74\x75\x72\x6e\x22\x73\x74\x72\x69\x6e\x67\x22\ -\x21\x3d\x74\x79\x70\x65\x6f\x66\x20\x6a\x7c\x7c\x66\x7c\x7c\x65\ -\x5b\x6a\x5d\x3f\x66\x3f\x21\x28\x69\x3d\x6a\x29\x3a\x76\x6f\x69\ -\x64\x20\x30\x3a\x28\x62\x2e\x64\x61\x74\x61\x54\x79\x70\x65\x73\ -\x2e\x75\x6e\x73\x68\x69\x66\x74\x28\x6a\x29\x2c\x67\x28\x6a\x29\ -\x2c\x21\x31\x29\x7d\x29\x2c\x69\x7d\x72\x65\x74\x75\x72\x6e\x20\ -\x67\x28\x62\x2e\x64\x61\x74\x61\x54\x79\x70\x65\x73\x5b\x30\x5d\ -\x29\x7c\x7c\x21\x65\x5b\x22\x2a\x22\x5d\x26\x26\x67\x28\x22\x2a\ -\x22\x29\x7d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x4f\x63\x28\x61\ -\x2c\x62\x29\x7b\x76\x61\x72\x20\x63\x2c\x64\x2c\x65\x3d\x6e\x2e\ -\x61\x6a\x61\x78\x53\x65\x74\x74\x69\x6e\x67\x73\x2e\x66\x6c\x61\ -\x74\x4f\x70\x74\x69\x6f\x6e\x73\x7c\x7c\x7b\x7d\x3b\x66\x6f\x72\ -\x28\x64\x20\x69\x6e\x20\x62\x29\x76\x6f\x69\x64\x20\x30\x21\x3d\ -\x3d\x62\x5b\x64\x5d\x26\x26\x28\x28\x65\x5b\x64\x5d\x3f\x61\x3a\ -\x63\x7c\x7c\x28\x63\x3d\x7b\x7d\x29\x29\x5b\x64\x5d\x3d\x62\x5b\ -\x64\x5d\x29\x3b\x72\x65\x74\x75\x72\x6e\x20\x63\x26\x26\x6e\x2e\ -\x65\x78\x74\x65\x6e\x64\x28\x21\x30\x2c\x61\x2c\x63\x29\x2c\x61\ -\x7d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x50\x63\x28\x61\x2c\x62\ -\x2c\x63\x29\x7b\x76\x61\x72\x20\x64\x2c\x65\x2c\x66\x2c\x67\x2c\ -\x68\x3d\x61\x2e\x63\x6f\x6e\x74\x65\x6e\x74\x73\x2c\x69\x3d\x61\ -\x2e\x64\x61\x74\x61\x54\x79\x70\x65\x73\x3b\x77\x68\x69\x6c\x65\ -\x28\x22\x2a\x22\x3d\x3d\x3d\x69\x5b\x30\x5d\x29\x69\x2e\x73\x68\ -\x69\x66\x74\x28\x29\x2c\x76\x6f\x69\x64\x20\x30\x3d\x3d\x3d\x65\ -\x26\x26\x28\x65\x3d\x61\x2e\x6d\x69\x6d\x65\x54\x79\x70\x65\x7c\ -\x7c\x62\x2e\x67\x65\x74\x52\x65\x73\x70\x6f\x6e\x73\x65\x48\x65\ -\x61\x64\x65\x72\x28\x22\x43\x6f\x6e\x74\x65\x6e\x74\x2d\x54\x79\ -\x70\x65\x22\x29\x29\x3b\x69\x66\x28\x65\x29\x66\x6f\x72\x28\x67\ -\x20\x69\x6e\x20\x68\x29\x69\x66\x28\x68\x5b\x67\x5d\x26\x26\x68\ -\x5b\x67\x5d\x2e\x74\x65\x73\x74\x28\x65\x29\x29\x7b\x69\x2e\x75\ -\x6e\x73\x68\x69\x66\x74\x28\x67\x29\x3b\x62\x72\x65\x61\x6b\x7d\ -\x69\x66\x28\x69\x5b\x30\x5d\x69\x6e\x20\x63\x29\x66\x3d\x69\x5b\ -\x30\x5d\x3b\x65\x6c\x73\x65\x7b\x66\x6f\x72\x28\x67\x20\x69\x6e\ -\x20\x63\x29\x7b\x69\x66\x28\x21\x69\x5b\x30\x5d\x7c\x7c\x61\x2e\ -\x63\x6f\x6e\x76\x65\x72\x74\x65\x72\x73\x5b\x67\x2b\x22\x20\x22\ -\x2b\x69\x5b\x30\x5d\x5d\x29\x7b\x66\x3d\x67\x3b\x62\x72\x65\x61\ -\x6b\x7d\x64\x7c\x7c\x28\x64\x3d\x67\x29\x7d\x66\x3d\x66\x7c\x7c\ -\x64\x7d\x72\x65\x74\x75\x72\x6e\x20\x66\x3f\x28\x66\x21\x3d\x3d\ -\x69\x5b\x30\x5d\x26\x26\x69\x2e\x75\x6e\x73\x68\x69\x66\x74\x28\ -\x66\x29\x2c\x63\x5b\x66\x5d\x29\x3a\x76\x6f\x69\x64\x20\x30\x7d\ -\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x51\x63\x28\x61\x2c\x62\x2c\ -\x63\x2c\x64\x29\x7b\x76\x61\x72\x20\x65\x2c\x66\x2c\x67\x2c\x68\ -\x2c\x69\x2c\x6a\x3d\x7b\x7d\x2c\x6b\x3d\x61\x2e\x64\x61\x74\x61\ -\x54\x79\x70\x65\x73\x2e\x73\x6c\x69\x63\x65\x28\x29\x3b\x69\x66\ -\x28\x6b\x5b\x31\x5d\x29\x66\x6f\x72\x28\x67\x20\x69\x6e\x20\x61\ -\x2e\x63\x6f\x6e\x76\x65\x72\x74\x65\x72\x73\x29\x6a\x5b\x67\x2e\ -\x74\x6f\x4c\x6f\x77\x65\x72\x43\x61\x73\x65\x28\x29\x5d\x3d\x61\ -\x2e\x63\x6f\x6e\x76\x65\x72\x74\x65\x72\x73\x5b\x67\x5d\x3b\x66\ -\x3d\x6b\x2e\x73\x68\x69\x66\x74\x28\x29\x3b\x77\x68\x69\x6c\x65\ -\x28\x66\x29\x69\x66\x28\x61\x2e\x72\x65\x73\x70\x6f\x6e\x73\x65\ -\x46\x69\x65\x6c\x64\x73\x5b\x66\x5d\x26\x26\x28\x63\x5b\x61\x2e\ -\x72\x65\x73\x70\x6f\x6e\x73\x65\x46\x69\x65\x6c\x64\x73\x5b\x66\ -\x5d\x5d\x3d\x62\x29\x2c\x21\x69\x26\x26\x64\x26\x26\x61\x2e\x64\ -\x61\x74\x61\x46\x69\x6c\x74\x65\x72\x26\x26\x28\x62\x3d\x61\x2e\ -\x64\x61\x74\x61\x46\x69\x6c\x74\x65\x72\x28\x62\x2c\x61\x2e\x64\ -\x61\x74\x61\x54\x79\x70\x65\x29\x29\x2c\x69\x3d\x66\x2c\x66\x3d\ -\x6b\x2e\x73\x68\x69\x66\x74\x28\x29\x29\x69\x66\x28\x22\x2a\x22\ -\x3d\x3d\x3d\x66\x29\x66\x3d\x69\x3b\x65\x6c\x73\x65\x20\x69\x66\ -\x28\x22\x2a\x22\x21\x3d\x3d\x69\x26\x26\x69\x21\x3d\x3d\x66\x29\ -\x7b\x69\x66\x28\x67\x3d\x6a\x5b\x69\x2b\x22\x20\x22\x2b\x66\x5d\ -\x7c\x7c\x6a\x5b\x22\x2a\x20\x22\x2b\x66\x5d\x2c\x21\x67\x29\x66\ -\x6f\x72\x28\x65\x20\x69\x6e\x20\x6a\x29\x69\x66\x28\x68\x3d\x65\ -\x2e\x73\x70\x6c\x69\x74\x28\x22\x20\x22\x29\x2c\x68\x5b\x31\x5d\ -\x3d\x3d\x3d\x66\x26\x26\x28\x67\x3d\x6a\x5b\x69\x2b\x22\x20\x22\ -\x2b\x68\x5b\x30\x5d\x5d\x7c\x7c\x6a\x5b\x22\x2a\x20\x22\x2b\x68\ -\x5b\x30\x5d\x5d\x29\x29\x7b\x67\x3d\x3d\x3d\x21\x30\x3f\x67\x3d\ -\x6a\x5b\x65\x5d\x3a\x6a\x5b\x65\x5d\x21\x3d\x3d\x21\x30\x26\x26\ -\x28\x66\x3d\x68\x5b\x30\x5d\x2c\x6b\x2e\x75\x6e\x73\x68\x69\x66\ -\x74\x28\x68\x5b\x31\x5d\x29\x29\x3b\x62\x72\x65\x61\x6b\x7d\x69\ -\x66\x28\x67\x21\x3d\x3d\x21\x30\x29\x69\x66\x28\x67\x26\x26\x61\ -\x5b\x22\x74\x68\x72\x6f\x77\x73\x22\x5d\x29\x62\x3d\x67\x28\x62\ -\x29\x3b\x65\x6c\x73\x65\x20\x74\x72\x79\x7b\x62\x3d\x67\x28\x62\ -\x29\x7d\x63\x61\x74\x63\x68\x28\x6c\x29\x7b\x72\x65\x74\x75\x72\ -\x6e\x7b\x73\x74\x61\x74\x65\x3a\x22\x70\x61\x72\x73\x65\x72\x65\ -\x72\x72\x6f\x72\x22\x2c\x65\x72\x72\x6f\x72\x3a\x67\x3f\x6c\x3a\ -\x22\x4e\x6f\x20\x63\x6f\x6e\x76\x65\x72\x73\x69\x6f\x6e\x20\x66\ -\x72\x6f\x6d\x20\x22\x2b\x69\x2b\x22\x20\x74\x6f\x20\x22\x2b\x66\ -\x7d\x7d\x7d\x72\x65\x74\x75\x72\x6e\x7b\x73\x74\x61\x74\x65\x3a\ -\x22\x73\x75\x63\x63\x65\x73\x73\x22\x2c\x64\x61\x74\x61\x3a\x62\ -\x7d\x7d\x6e\x2e\x65\x78\x74\x65\x6e\x64\x28\x7b\x61\x63\x74\x69\ -\x76\x65\x3a\x30\x2c\x6c\x61\x73\x74\x4d\x6f\x64\x69\x66\x69\x65\ -\x64\x3a\x7b\x7d\x2c\x65\x74\x61\x67\x3a\x7b\x7d\x2c\x61\x6a\x61\ -\x78\x53\x65\x74\x74\x69\x6e\x67\x73\x3a\x7b\x75\x72\x6c\x3a\x41\ -\x63\x2c\x74\x79\x70\x65\x3a\x22\x47\x45\x54\x22\x2c\x69\x73\x4c\ -\x6f\x63\x61\x6c\x3a\x45\x63\x2e\x74\x65\x73\x74\x28\x7a\x63\x5b\ -\x31\x5d\x29\x2c\x67\x6c\x6f\x62\x61\x6c\x3a\x21\x30\x2c\x70\x72\ -\x6f\x63\x65\x73\x73\x44\x61\x74\x61\x3a\x21\x30\x2c\x61\x73\x79\ -\x6e\x63\x3a\x21\x30\x2c\x63\x6f\x6e\x74\x65\x6e\x74\x54\x79\x70\ -\x65\x3a\x22\x61\x70\x70\x6c\x69\x63\x61\x74\x69\x6f\x6e\x2f\x78\ -\x2d\x77\x77\x77\x2d\x66\x6f\x72\x6d\x2d\x75\x72\x6c\x65\x6e\x63\ -\x6f\x64\x65\x64\x3b\x20\x63\x68\x61\x72\x73\x65\x74\x3d\x55\x54\ -\x46\x2d\x38\x22\x2c\x61\x63\x63\x65\x70\x74\x73\x3a\x7b\x22\x2a\ -\x22\x3a\x4b\x63\x2c\x74\x65\x78\x74\x3a\x22\x74\x65\x78\x74\x2f\ -\x70\x6c\x61\x69\x6e\x22\x2c\x68\x74\x6d\x6c\x3a\x22\x74\x65\x78\ -\x74\x2f\x68\x74\x6d\x6c\x22\x2c\x78\x6d\x6c\x3a\x22\x61\x70\x70\ -\x6c\x69\x63\x61\x74\x69\x6f\x6e\x2f\x78\x6d\x6c\x2c\x20\x74\x65\ -\x78\x74\x2f\x78\x6d\x6c\x22\x2c\x6a\x73\x6f\x6e\x3a\x22\x61\x70\ -\x70\x6c\x69\x63\x61\x74\x69\x6f\x6e\x2f\x6a\x73\x6f\x6e\x2c\x20\ -\x74\x65\x78\x74\x2f\x6a\x61\x76\x61\x73\x63\x72\x69\x70\x74\x22\ -\x7d\x2c\x63\x6f\x6e\x74\x65\x6e\x74\x73\x3a\x7b\x78\x6d\x6c\x3a\ -\x2f\x78\x6d\x6c\x2f\x2c\x68\x74\x6d\x6c\x3a\x2f\x68\x74\x6d\x6c\ -\x2f\x2c\x6a\x73\x6f\x6e\x3a\x2f\x6a\x73\x6f\x6e\x2f\x7d\x2c\x72\ -\x65\x73\x70\x6f\x6e\x73\x65\x46\x69\x65\x6c\x64\x73\x3a\x7b\x78\ -\x6d\x6c\x3a\x22\x72\x65\x73\x70\x6f\x6e\x73\x65\x58\x4d\x4c\x22\ -\x2c\x74\x65\x78\x74\x3a\x22\x72\x65\x73\x70\x6f\x6e\x73\x65\x54\ -\x65\x78\x74\x22\x2c\x6a\x73\x6f\x6e\x3a\x22\x72\x65\x73\x70\x6f\ -\x6e\x73\x65\x4a\x53\x4f\x4e\x22\x7d\x2c\x63\x6f\x6e\x76\x65\x72\ -\x74\x65\x72\x73\x3a\x7b\x22\x2a\x20\x74\x65\x78\x74\x22\x3a\x53\ -\x74\x72\x69\x6e\x67\x2c\x22\x74\x65\x78\x74\x20\x68\x74\x6d\x6c\ -\x22\x3a\x21\x30\x2c\x22\x74\x65\x78\x74\x20\x6a\x73\x6f\x6e\x22\ -\x3a\x6e\x2e\x70\x61\x72\x73\x65\x4a\x53\x4f\x4e\x2c\x22\x74\x65\ -\x78\x74\x20\x78\x6d\x6c\x22\x3a\x6e\x2e\x70\x61\x72\x73\x65\x58\ -\x4d\x4c\x7d\x2c\x66\x6c\x61\x74\x4f\x70\x74\x69\x6f\x6e\x73\x3a\ -\x7b\x75\x72\x6c\x3a\x21\x30\x2c\x63\x6f\x6e\x74\x65\x78\x74\x3a\ -\x21\x30\x7d\x7d\x2c\x61\x6a\x61\x78\x53\x65\x74\x75\x70\x3a\x66\ -\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x29\x7b\x72\x65\x74\ -\x75\x72\x6e\x20\x62\x3f\x4f\x63\x28\x4f\x63\x28\x61\x2c\x6e\x2e\ -\x61\x6a\x61\x78\x53\x65\x74\x74\x69\x6e\x67\x73\x29\x2c\x62\x29\ -\x3a\x4f\x63\x28\x6e\x2e\x61\x6a\x61\x78\x53\x65\x74\x74\x69\x6e\ -\x67\x73\x2c\x61\x29\x7d\x2c\x61\x6a\x61\x78\x50\x72\x65\x66\x69\ -\x6c\x74\x65\x72\x3a\x4d\x63\x28\x49\x63\x29\x2c\x61\x6a\x61\x78\ -\x54\x72\x61\x6e\x73\x70\x6f\x72\x74\x3a\x4d\x63\x28\x4a\x63\x29\ -\x2c\x61\x6a\x61\x78\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\ -\x2c\x62\x29\x7b\x22\x6f\x62\x6a\x65\x63\x74\x22\x3d\x3d\x74\x79\ -\x70\x65\x6f\x66\x20\x61\x26\x26\x28\x62\x3d\x61\x2c\x61\x3d\x76\ -\x6f\x69\x64\x20\x30\x29\x2c\x62\x3d\x62\x7c\x7c\x7b\x7d\x3b\x76\ -\x61\x72\x20\x63\x2c\x64\x2c\x65\x2c\x66\x2c\x67\x2c\x68\x2c\x69\ -\x2c\x6a\x2c\x6b\x3d\x6e\x2e\x61\x6a\x61\x78\x53\x65\x74\x75\x70\ -\x28\x7b\x7d\x2c\x62\x29\x2c\x6c\x3d\x6b\x2e\x63\x6f\x6e\x74\x65\ -\x78\x74\x7c\x7c\x6b\x2c\x6d\x3d\x6b\x2e\x63\x6f\x6e\x74\x65\x78\ -\x74\x26\x26\x28\x6c\x2e\x6e\x6f\x64\x65\x54\x79\x70\x65\x7c\x7c\ -\x6c\x2e\x6a\x71\x75\x65\x72\x79\x29\x3f\x6e\x28\x6c\x29\x3a\x6e\ -\x2e\x65\x76\x65\x6e\x74\x2c\x6f\x3d\x6e\x2e\x44\x65\x66\x65\x72\ -\x72\x65\x64\x28\x29\x2c\x70\x3d\x6e\x2e\x43\x61\x6c\x6c\x62\x61\ -\x63\x6b\x73\x28\x22\x6f\x6e\x63\x65\x20\x6d\x65\x6d\x6f\x72\x79\ -\x22\x29\x2c\x71\x3d\x6b\x2e\x73\x74\x61\x74\x75\x73\x43\x6f\x64\ -\x65\x7c\x7c\x7b\x7d\x2c\x72\x3d\x7b\x7d\x2c\x73\x3d\x7b\x7d\x2c\ -\x74\x3d\x30\x2c\x75\x3d\x22\x63\x61\x6e\x63\x65\x6c\x65\x64\x22\ -\x2c\x76\x3d\x7b\x72\x65\x61\x64\x79\x53\x74\x61\x74\x65\x3a\x30\ -\x2c\x67\x65\x74\x52\x65\x73\x70\x6f\x6e\x73\x65\x48\x65\x61\x64\ -\x65\x72\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x76\ -\x61\x72\x20\x62\x3b\x69\x66\x28\x32\x3d\x3d\x3d\x74\x29\x7b\x69\ -\x66\x28\x21\x6a\x29\x7b\x6a\x3d\x7b\x7d\x3b\x77\x68\x69\x6c\x65\ -\x28\x62\x3d\x44\x63\x2e\x65\x78\x65\x63\x28\x66\x29\x29\x6a\x5b\ -\x62\x5b\x31\x5d\x2e\x74\x6f\x4c\x6f\x77\x65\x72\x43\x61\x73\x65\ -\x28\x29\x5d\x3d\x62\x5b\x32\x5d\x7d\x62\x3d\x6a\x5b\x61\x2e\x74\ -\x6f\x4c\x6f\x77\x65\x72\x43\x61\x73\x65\x28\x29\x5d\x7d\x72\x65\ -\x74\x75\x72\x6e\x20\x6e\x75\x6c\x6c\x3d\x3d\x62\x3f\x6e\x75\x6c\ -\x6c\x3a\x62\x7d\x2c\x67\x65\x74\x41\x6c\x6c\x52\x65\x73\x70\x6f\ -\x6e\x73\x65\x48\x65\x61\x64\x65\x72\x73\x3a\x66\x75\x6e\x63\x74\ -\x69\x6f\x6e\x28\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x32\x3d\x3d\ -\x3d\x74\x3f\x66\x3a\x6e\x75\x6c\x6c\x7d\x2c\x73\x65\x74\x52\x65\ -\x71\x75\x65\x73\x74\x48\x65\x61\x64\x65\x72\x3a\x66\x75\x6e\x63\ -\x74\x69\x6f\x6e\x28\x61\x2c\x62\x29\x7b\x76\x61\x72\x20\x63\x3d\ -\x61\x2e\x74\x6f\x4c\x6f\x77\x65\x72\x43\x61\x73\x65\x28\x29\x3b\ -\x72\x65\x74\x75\x72\x6e\x20\x74\x7c\x7c\x28\x61\x3d\x73\x5b\x63\ -\x5d\x3d\x73\x5b\x63\x5d\x7c\x7c\x61\x2c\x72\x5b\x61\x5d\x3d\x62\ -\x29\x2c\x74\x68\x69\x73\x7d\x2c\x6f\x76\x65\x72\x72\x69\x64\x65\ -\x4d\x69\x6d\x65\x54\x79\x70\x65\x3a\x66\x75\x6e\x63\x74\x69\x6f\ -\x6e\x28\x61\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x74\x7c\x7c\x28\ -\x6b\x2e\x6d\x69\x6d\x65\x54\x79\x70\x65\x3d\x61\x29\x2c\x74\x68\ -\x69\x73\x7d\x2c\x73\x74\x61\x74\x75\x73\x43\x6f\x64\x65\x3a\x66\ -\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x76\x61\x72\x20\x62\ -\x3b\x69\x66\x28\x61\x29\x69\x66\x28\x32\x3e\x74\x29\x66\x6f\x72\ -\x28\x62\x20\x69\x6e\x20\x61\x29\x71\x5b\x62\x5d\x3d\x5b\x71\x5b\ -\x62\x5d\x2c\x61\x5b\x62\x5d\x5d\x3b\x65\x6c\x73\x65\x20\x76\x2e\ -\x61\x6c\x77\x61\x79\x73\x28\x61\x5b\x76\x2e\x73\x74\x61\x74\x75\ -\x73\x5d\x29\x3b\x72\x65\x74\x75\x72\x6e\x20\x74\x68\x69\x73\x7d\ -\x2c\x61\x62\x6f\x72\x74\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\ -\x61\x29\x7b\x76\x61\x72\x20\x62\x3d\x61\x7c\x7c\x75\x3b\x72\x65\ -\x74\x75\x72\x6e\x20\x69\x26\x26\x69\x2e\x61\x62\x6f\x72\x74\x28\ -\x62\x29\x2c\x78\x28\x30\x2c\x62\x29\x2c\x74\x68\x69\x73\x7d\x7d\ -\x3b\x69\x66\x28\x6f\x2e\x70\x72\x6f\x6d\x69\x73\x65\x28\x76\x29\ -\x2e\x63\x6f\x6d\x70\x6c\x65\x74\x65\x3d\x70\x2e\x61\x64\x64\x2c\ -\x76\x2e\x73\x75\x63\x63\x65\x73\x73\x3d\x76\x2e\x64\x6f\x6e\x65\ -\x2c\x76\x2e\x65\x72\x72\x6f\x72\x3d\x76\x2e\x66\x61\x69\x6c\x2c\ -\x6b\x2e\x75\x72\x6c\x3d\x28\x28\x61\x7c\x7c\x6b\x2e\x75\x72\x6c\ -\x7c\x7c\x41\x63\x29\x2b\x22\x22\x29\x2e\x72\x65\x70\x6c\x61\x63\ -\x65\x28\x42\x63\x2c\x22\x22\x29\x2e\x72\x65\x70\x6c\x61\x63\x65\ -\x28\x47\x63\x2c\x7a\x63\x5b\x31\x5d\x2b\x22\x2f\x2f\x22\x29\x2c\ -\x6b\x2e\x74\x79\x70\x65\x3d\x62\x2e\x6d\x65\x74\x68\x6f\x64\x7c\ -\x7c\x62\x2e\x74\x79\x70\x65\x7c\x7c\x6b\x2e\x6d\x65\x74\x68\x6f\ -\x64\x7c\x7c\x6b\x2e\x74\x79\x70\x65\x2c\x6b\x2e\x64\x61\x74\x61\ -\x54\x79\x70\x65\x73\x3d\x6e\x2e\x74\x72\x69\x6d\x28\x6b\x2e\x64\ -\x61\x74\x61\x54\x79\x70\x65\x7c\x7c\x22\x2a\x22\x29\x2e\x74\x6f\ -\x4c\x6f\x77\x65\x72\x43\x61\x73\x65\x28\x29\x2e\x6d\x61\x74\x63\ -\x68\x28\x46\x29\x7c\x7c\x5b\x22\x22\x5d\x2c\x6e\x75\x6c\x6c\x3d\ -\x3d\x6b\x2e\x63\x72\x6f\x73\x73\x44\x6f\x6d\x61\x69\x6e\x26\x26\ -\x28\x63\x3d\x48\x63\x2e\x65\x78\x65\x63\x28\x6b\x2e\x75\x72\x6c\ -\x2e\x74\x6f\x4c\x6f\x77\x65\x72\x43\x61\x73\x65\x28\x29\x29\x2c\ -\x6b\x2e\x63\x72\x6f\x73\x73\x44\x6f\x6d\x61\x69\x6e\x3d\x21\x28\ -\x21\x63\x7c\x7c\x63\x5b\x31\x5d\x3d\x3d\x3d\x7a\x63\x5b\x31\x5d\ -\x26\x26\x63\x5b\x32\x5d\x3d\x3d\x3d\x7a\x63\x5b\x32\x5d\x26\x26\ -\x28\x63\x5b\x33\x5d\x7c\x7c\x28\x22\x68\x74\x74\x70\x3a\x22\x3d\ -\x3d\x3d\x63\x5b\x31\x5d\x3f\x22\x38\x30\x22\x3a\x22\x34\x34\x33\ -\x22\x29\x29\x3d\x3d\x3d\x28\x7a\x63\x5b\x33\x5d\x7c\x7c\x28\x22\ -\x68\x74\x74\x70\x3a\x22\x3d\x3d\x3d\x7a\x63\x5b\x31\x5d\x3f\x22\ -\x38\x30\x22\x3a\x22\x34\x34\x33\x22\x29\x29\x29\x29\x2c\x6b\x2e\ -\x64\x61\x74\x61\x26\x26\x6b\x2e\x70\x72\x6f\x63\x65\x73\x73\x44\ -\x61\x74\x61\x26\x26\x22\x73\x74\x72\x69\x6e\x67\x22\x21\x3d\x74\ -\x79\x70\x65\x6f\x66\x20\x6b\x2e\x64\x61\x74\x61\x26\x26\x28\x6b\ -\x2e\x64\x61\x74\x61\x3d\x6e\x2e\x70\x61\x72\x61\x6d\x28\x6b\x2e\ -\x64\x61\x74\x61\x2c\x6b\x2e\x74\x72\x61\x64\x69\x74\x69\x6f\x6e\ -\x61\x6c\x29\x29\x2c\x4e\x63\x28\x49\x63\x2c\x6b\x2c\x62\x2c\x76\ -\x29\x2c\x32\x3d\x3d\x3d\x74\x29\x72\x65\x74\x75\x72\x6e\x20\x76\ -\x3b\x68\x3d\x6b\x2e\x67\x6c\x6f\x62\x61\x6c\x2c\x68\x26\x26\x30\ -\x3d\x3d\x3d\x6e\x2e\x61\x63\x74\x69\x76\x65\x2b\x2b\x26\x26\x6e\ -\x2e\x65\x76\x65\x6e\x74\x2e\x74\x72\x69\x67\x67\x65\x72\x28\x22\ -\x61\x6a\x61\x78\x53\x74\x61\x72\x74\x22\x29\x2c\x6b\x2e\x74\x79\ -\x70\x65\x3d\x6b\x2e\x74\x79\x70\x65\x2e\x74\x6f\x55\x70\x70\x65\ -\x72\x43\x61\x73\x65\x28\x29\x2c\x6b\x2e\x68\x61\x73\x43\x6f\x6e\ -\x74\x65\x6e\x74\x3d\x21\x46\x63\x2e\x74\x65\x73\x74\x28\x6b\x2e\ -\x74\x79\x70\x65\x29\x2c\x65\x3d\x6b\x2e\x75\x72\x6c\x2c\x6b\x2e\ -\x68\x61\x73\x43\x6f\x6e\x74\x65\x6e\x74\x7c\x7c\x28\x6b\x2e\x64\ -\x61\x74\x61\x26\x26\x28\x65\x3d\x6b\x2e\x75\x72\x6c\x2b\x3d\x28\ -\x78\x63\x2e\x74\x65\x73\x74\x28\x65\x29\x3f\x22\x26\x22\x3a\x22\ -\x3f\x22\x29\x2b\x6b\x2e\x64\x61\x74\x61\x2c\x64\x65\x6c\x65\x74\ -\x65\x20\x6b\x2e\x64\x61\x74\x61\x29\x2c\x6b\x2e\x63\x61\x63\x68\ -\x65\x3d\x3d\x3d\x21\x31\x26\x26\x28\x6b\x2e\x75\x72\x6c\x3d\x43\ -\x63\x2e\x74\x65\x73\x74\x28\x65\x29\x3f\x65\x2e\x72\x65\x70\x6c\ -\x61\x63\x65\x28\x43\x63\x2c\x22\x24\x31\x5f\x3d\x22\x2b\x77\x63\ -\x2b\x2b\x29\x3a\x65\x2b\x28\x78\x63\x2e\x74\x65\x73\x74\x28\x65\ -\x29\x3f\x22\x26\x22\x3a\x22\x3f\x22\x29\x2b\x22\x5f\x3d\x22\x2b\ -\x77\x63\x2b\x2b\x29\x29\x2c\x6b\x2e\x69\x66\x4d\x6f\x64\x69\x66\ -\x69\x65\x64\x26\x26\x28\x6e\x2e\x6c\x61\x73\x74\x4d\x6f\x64\x69\ -\x66\x69\x65\x64\x5b\x65\x5d\x26\x26\x76\x2e\x73\x65\x74\x52\x65\ -\x71\x75\x65\x73\x74\x48\x65\x61\x64\x65\x72\x28\x22\x49\x66\x2d\ -\x4d\x6f\x64\x69\x66\x69\x65\x64\x2d\x53\x69\x6e\x63\x65\x22\x2c\ -\x6e\x2e\x6c\x61\x73\x74\x4d\x6f\x64\x69\x66\x69\x65\x64\x5b\x65\ -\x5d\x29\x2c\x6e\x2e\x65\x74\x61\x67\x5b\x65\x5d\x26\x26\x76\x2e\ -\x73\x65\x74\x52\x65\x71\x75\x65\x73\x74\x48\x65\x61\x64\x65\x72\ -\x28\x22\x49\x66\x2d\x4e\x6f\x6e\x65\x2d\x4d\x61\x74\x63\x68\x22\ -\x2c\x6e\x2e\x65\x74\x61\x67\x5b\x65\x5d\x29\x29\x2c\x28\x6b\x2e\ -\x64\x61\x74\x61\x26\x26\x6b\x2e\x68\x61\x73\x43\x6f\x6e\x74\x65\ -\x6e\x74\x26\x26\x6b\x2e\x63\x6f\x6e\x74\x65\x6e\x74\x54\x79\x70\ -\x65\x21\x3d\x3d\x21\x31\x7c\x7c\x62\x2e\x63\x6f\x6e\x74\x65\x6e\ -\x74\x54\x79\x70\x65\x29\x26\x26\x76\x2e\x73\x65\x74\x52\x65\x71\ -\x75\x65\x73\x74\x48\x65\x61\x64\x65\x72\x28\x22\x43\x6f\x6e\x74\ -\x65\x6e\x74\x2d\x54\x79\x70\x65\x22\x2c\x6b\x2e\x63\x6f\x6e\x74\ -\x65\x6e\x74\x54\x79\x70\x65\x29\x2c\x76\x2e\x73\x65\x74\x52\x65\ -\x71\x75\x65\x73\x74\x48\x65\x61\x64\x65\x72\x28\x22\x41\x63\x63\ -\x65\x70\x74\x22\x2c\x6b\x2e\x64\x61\x74\x61\x54\x79\x70\x65\x73\ -\x5b\x30\x5d\x26\x26\x6b\x2e\x61\x63\x63\x65\x70\x74\x73\x5b\x6b\ -\x2e\x64\x61\x74\x61\x54\x79\x70\x65\x73\x5b\x30\x5d\x5d\x3f\x6b\ -\x2e\x61\x63\x63\x65\x70\x74\x73\x5b\x6b\x2e\x64\x61\x74\x61\x54\ -\x79\x70\x65\x73\x5b\x30\x5d\x5d\x2b\x28\x22\x2a\x22\x21\x3d\x3d\ -\x6b\x2e\x64\x61\x74\x61\x54\x79\x70\x65\x73\x5b\x30\x5d\x3f\x22\ -\x2c\x20\x22\x2b\x4b\x63\x2b\x22\x3b\x20\x71\x3d\x30\x2e\x30\x31\ -\x22\x3a\x22\x22\x29\x3a\x6b\x2e\x61\x63\x63\x65\x70\x74\x73\x5b\ -\x22\x2a\x22\x5d\x29\x3b\x66\x6f\x72\x28\x64\x20\x69\x6e\x20\x6b\ -\x2e\x68\x65\x61\x64\x65\x72\x73\x29\x76\x2e\x73\x65\x74\x52\x65\ -\x71\x75\x65\x73\x74\x48\x65\x61\x64\x65\x72\x28\x64\x2c\x6b\x2e\ -\x68\x65\x61\x64\x65\x72\x73\x5b\x64\x5d\x29\x3b\x69\x66\x28\x6b\ -\x2e\x62\x65\x66\x6f\x72\x65\x53\x65\x6e\x64\x26\x26\x28\x6b\x2e\ -\x62\x65\x66\x6f\x72\x65\x53\x65\x6e\x64\x2e\x63\x61\x6c\x6c\x28\ -\x6c\x2c\x76\x2c\x6b\x29\x3d\x3d\x3d\x21\x31\x7c\x7c\x32\x3d\x3d\ -\x3d\x74\x29\x29\x72\x65\x74\x75\x72\x6e\x20\x76\x2e\x61\x62\x6f\ -\x72\x74\x28\x29\x3b\x75\x3d\x22\x61\x62\x6f\x72\x74\x22\x3b\x66\ -\x6f\x72\x28\x64\x20\x69\x6e\x7b\x73\x75\x63\x63\x65\x73\x73\x3a\ -\x31\x2c\x65\x72\x72\x6f\x72\x3a\x31\x2c\x63\x6f\x6d\x70\x6c\x65\ -\x74\x65\x3a\x31\x7d\x29\x76\x5b\x64\x5d\x28\x6b\x5b\x64\x5d\x29\ -\x3b\x69\x66\x28\x69\x3d\x4e\x63\x28\x4a\x63\x2c\x6b\x2c\x62\x2c\ -\x76\x29\x29\x7b\x76\x2e\x72\x65\x61\x64\x79\x53\x74\x61\x74\x65\ -\x3d\x31\x2c\x68\x26\x26\x6d\x2e\x74\x72\x69\x67\x67\x65\x72\x28\ -\x22\x61\x6a\x61\x78\x53\x65\x6e\x64\x22\x2c\x5b\x76\x2c\x6b\x5d\ -\x29\x2c\x6b\x2e\x61\x73\x79\x6e\x63\x26\x26\x6b\x2e\x74\x69\x6d\ -\x65\x6f\x75\x74\x3e\x30\x26\x26\x28\x67\x3d\x73\x65\x74\x54\x69\ -\x6d\x65\x6f\x75\x74\x28\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\ -\x7b\x76\x2e\x61\x62\x6f\x72\x74\x28\x22\x74\x69\x6d\x65\x6f\x75\ -\x74\x22\x29\x7d\x2c\x6b\x2e\x74\x69\x6d\x65\x6f\x75\x74\x29\x29\ -\x3b\x74\x72\x79\x7b\x74\x3d\x31\x2c\x69\x2e\x73\x65\x6e\x64\x28\ -\x72\x2c\x78\x29\x7d\x63\x61\x74\x63\x68\x28\x77\x29\x7b\x69\x66\ -\x28\x21\x28\x32\x3e\x74\x29\x29\x74\x68\x72\x6f\x77\x20\x77\x3b\ -\x78\x28\x2d\x31\x2c\x77\x29\x7d\x7d\x65\x6c\x73\x65\x20\x78\x28\ -\x2d\x31\x2c\x22\x4e\x6f\x20\x54\x72\x61\x6e\x73\x70\x6f\x72\x74\ -\x22\x29\x3b\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x78\x28\x61\x2c\ -\x62\x2c\x63\x2c\x64\x29\x7b\x76\x61\x72\x20\x6a\x2c\x72\x2c\x73\ -\x2c\x75\x2c\x77\x2c\x78\x3d\x62\x3b\x32\x21\x3d\x3d\x74\x26\x26\ -\x28\x74\x3d\x32\x2c\x67\x26\x26\x63\x6c\x65\x61\x72\x54\x69\x6d\ -\x65\x6f\x75\x74\x28\x67\x29\x2c\x69\x3d\x76\x6f\x69\x64\x20\x30\ -\x2c\x66\x3d\x64\x7c\x7c\x22\x22\x2c\x76\x2e\x72\x65\x61\x64\x79\ -\x53\x74\x61\x74\x65\x3d\x61\x3e\x30\x3f\x34\x3a\x30\x2c\x6a\x3d\ -\x61\x3e\x3d\x32\x30\x30\x26\x26\x33\x30\x30\x3e\x61\x7c\x7c\x33\ -\x30\x34\x3d\x3d\x3d\x61\x2c\x63\x26\x26\x28\x75\x3d\x50\x63\x28\ -\x6b\x2c\x76\x2c\x63\x29\x29\x2c\x75\x3d\x51\x63\x28\x6b\x2c\x75\ -\x2c\x76\x2c\x6a\x29\x2c\x6a\x3f\x28\x6b\x2e\x69\x66\x4d\x6f\x64\ -\x69\x66\x69\x65\x64\x26\x26\x28\x77\x3d\x76\x2e\x67\x65\x74\x52\ -\x65\x73\x70\x6f\x6e\x73\x65\x48\x65\x61\x64\x65\x72\x28\x22\x4c\ -\x61\x73\x74\x2d\x4d\x6f\x64\x69\x66\x69\x65\x64\x22\x29\x2c\x77\ -\x26\x26\x28\x6e\x2e\x6c\x61\x73\x74\x4d\x6f\x64\x69\x66\x69\x65\ -\x64\x5b\x65\x5d\x3d\x77\x29\x2c\x77\x3d\x76\x2e\x67\x65\x74\x52\ -\x65\x73\x70\x6f\x6e\x73\x65\x48\x65\x61\x64\x65\x72\x28\x22\x65\ -\x74\x61\x67\x22\x29\x2c\x77\x26\x26\x28\x6e\x2e\x65\x74\x61\x67\ -\x5b\x65\x5d\x3d\x77\x29\x29\x2c\x32\x30\x34\x3d\x3d\x3d\x61\x7c\ -\x7c\x22\x48\x45\x41\x44\x22\x3d\x3d\x3d\x6b\x2e\x74\x79\x70\x65\ -\x3f\x78\x3d\x22\x6e\x6f\x63\x6f\x6e\x74\x65\x6e\x74\x22\x3a\x33\ -\x30\x34\x3d\x3d\x3d\x61\x3f\x78\x3d\x22\x6e\x6f\x74\x6d\x6f\x64\ -\x69\x66\x69\x65\x64\x22\x3a\x28\x78\x3d\x75\x2e\x73\x74\x61\x74\ -\x65\x2c\x72\x3d\x75\x2e\x64\x61\x74\x61\x2c\x73\x3d\x75\x2e\x65\ -\x72\x72\x6f\x72\x2c\x6a\x3d\x21\x73\x29\x29\x3a\x28\x73\x3d\x78\ -\x2c\x28\x61\x7c\x7c\x21\x78\x29\x26\x26\x28\x78\x3d\x22\x65\x72\ -\x72\x6f\x72\x22\x2c\x30\x3e\x61\x26\x26\x28\x61\x3d\x30\x29\x29\ -\x29\x2c\x76\x2e\x73\x74\x61\x74\x75\x73\x3d\x61\x2c\x76\x2e\x73\ -\x74\x61\x74\x75\x73\x54\x65\x78\x74\x3d\x28\x62\x7c\x7c\x78\x29\ -\x2b\x22\x22\x2c\x6a\x3f\x6f\x2e\x72\x65\x73\x6f\x6c\x76\x65\x57\ -\x69\x74\x68\x28\x6c\x2c\x5b\x72\x2c\x78\x2c\x76\x5d\x29\x3a\x6f\ -\x2e\x72\x65\x6a\x65\x63\x74\x57\x69\x74\x68\x28\x6c\x2c\x5b\x76\ -\x2c\x78\x2c\x73\x5d\x29\x2c\x76\x2e\x73\x74\x61\x74\x75\x73\x43\ -\x6f\x64\x65\x28\x71\x29\x2c\x71\x3d\x76\x6f\x69\x64\x20\x30\x2c\ -\x68\x26\x26\x6d\x2e\x74\x72\x69\x67\x67\x65\x72\x28\x6a\x3f\x22\ -\x61\x6a\x61\x78\x53\x75\x63\x63\x65\x73\x73\x22\x3a\x22\x61\x6a\ -\x61\x78\x45\x72\x72\x6f\x72\x22\x2c\x5b\x76\x2c\x6b\x2c\x6a\x3f\ -\x72\x3a\x73\x5d\x29\x2c\x70\x2e\x66\x69\x72\x65\x57\x69\x74\x68\ -\x28\x6c\x2c\x5b\x76\x2c\x78\x5d\x29\x2c\x68\x26\x26\x28\x6d\x2e\ -\x74\x72\x69\x67\x67\x65\x72\x28\x22\x61\x6a\x61\x78\x43\x6f\x6d\ -\x70\x6c\x65\x74\x65\x22\x2c\x5b\x76\x2c\x6b\x5d\x29\x2c\x2d\x2d\ -\x6e\x2e\x61\x63\x74\x69\x76\x65\x7c\x7c\x6e\x2e\x65\x76\x65\x6e\ -\x74\x2e\x74\x72\x69\x67\x67\x65\x72\x28\x22\x61\x6a\x61\x78\x53\ -\x74\x6f\x70\x22\x29\x29\x29\x7d\x72\x65\x74\x75\x72\x6e\x20\x76\ -\x7d\x2c\x67\x65\x74\x4a\x53\x4f\x4e\x3a\x66\x75\x6e\x63\x74\x69\ -\x6f\x6e\x28\x61\x2c\x62\x2c\x63\x29\x7b\x72\x65\x74\x75\x72\x6e\ -\x20\x6e\x2e\x67\x65\x74\x28\x61\x2c\x62\x2c\x63\x2c\x22\x6a\x73\ -\x6f\x6e\x22\x29\x7d\x2c\x67\x65\x74\x53\x63\x72\x69\x70\x74\x3a\ -\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x29\x7b\x72\x65\ -\x74\x75\x72\x6e\x20\x6e\x2e\x67\x65\x74\x28\x61\x2c\x76\x6f\x69\ -\x64\x20\x30\x2c\x62\x2c\x22\x73\x63\x72\x69\x70\x74\x22\x29\x7d\ -\x7d\x29\x2c\x6e\x2e\x65\x61\x63\x68\x28\x5b\x22\x67\x65\x74\x22\ -\x2c\x22\x70\x6f\x73\x74\x22\x5d\x2c\x66\x75\x6e\x63\x74\x69\x6f\ -\x6e\x28\x61\x2c\x62\x29\x7b\x6e\x5b\x62\x5d\x3d\x66\x75\x6e\x63\ -\x74\x69\x6f\x6e\x28\x61\x2c\x63\x2c\x64\x2c\x65\x29\x7b\x72\x65\ -\x74\x75\x72\x6e\x20\x6e\x2e\x69\x73\x46\x75\x6e\x63\x74\x69\x6f\ -\x6e\x28\x63\x29\x26\x26\x28\x65\x3d\x65\x7c\x7c\x64\x2c\x64\x3d\ -\x63\x2c\x63\x3d\x76\x6f\x69\x64\x20\x30\x29\x2c\x6e\x2e\x61\x6a\ -\x61\x78\x28\x7b\x75\x72\x6c\x3a\x61\x2c\x74\x79\x70\x65\x3a\x62\ -\x2c\x64\x61\x74\x61\x54\x79\x70\x65\x3a\x65\x2c\x64\x61\x74\x61\ -\x3a\x63\x2c\x73\x75\x63\x63\x65\x73\x73\x3a\x64\x7d\x29\x7d\x7d\ -\x29\x2c\x6e\x2e\x65\x61\x63\x68\x28\x5b\x22\x61\x6a\x61\x78\x53\ -\x74\x61\x72\x74\x22\x2c\x22\x61\x6a\x61\x78\x53\x74\x6f\x70\x22\ -\x2c\x22\x61\x6a\x61\x78\x43\x6f\x6d\x70\x6c\x65\x74\x65\x22\x2c\ -\x22\x61\x6a\x61\x78\x45\x72\x72\x6f\x72\x22\x2c\x22\x61\x6a\x61\ -\x78\x53\x75\x63\x63\x65\x73\x73\x22\x2c\x22\x61\x6a\x61\x78\x53\ -\x65\x6e\x64\x22\x5d\x2c\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\ -\x2c\x62\x29\x7b\x6e\x2e\x66\x6e\x5b\x62\x5d\x3d\x66\x75\x6e\x63\ -\x74\x69\x6f\x6e\x28\x61\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x74\ -\x68\x69\x73\x2e\x6f\x6e\x28\x62\x2c\x61\x29\x7d\x7d\x29\x2c\x6e\ -\x2e\x5f\x65\x76\x61\x6c\x55\x72\x6c\x3d\x66\x75\x6e\x63\x74\x69\ -\x6f\x6e\x28\x61\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x6e\x2e\x61\ -\x6a\x61\x78\x28\x7b\x75\x72\x6c\x3a\x61\x2c\x74\x79\x70\x65\x3a\ -\x22\x47\x45\x54\x22\x2c\x64\x61\x74\x61\x54\x79\x70\x65\x3a\x22\ -\x73\x63\x72\x69\x70\x74\x22\x2c\x61\x73\x79\x6e\x63\x3a\x21\x31\ -\x2c\x67\x6c\x6f\x62\x61\x6c\x3a\x21\x31\x2c\x22\x74\x68\x72\x6f\ -\x77\x73\x22\x3a\x21\x30\x7d\x29\x7d\x2c\x6e\x2e\x66\x6e\x2e\x65\ -\x78\x74\x65\x6e\x64\x28\x7b\x77\x72\x61\x70\x41\x6c\x6c\x3a\x66\ -\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x69\x66\x28\x6e\x2e\ -\x69\x73\x46\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x29\x72\x65\ -\x74\x75\x72\x6e\x20\x74\x68\x69\x73\x2e\x65\x61\x63\x68\x28\x66\ -\x75\x6e\x63\x74\x69\x6f\x6e\x28\x62\x29\x7b\x6e\x28\x74\x68\x69\ -\x73\x29\x2e\x77\x72\x61\x70\x41\x6c\x6c\x28\x61\x2e\x63\x61\x6c\ -\x6c\x28\x74\x68\x69\x73\x2c\x62\x29\x29\x7d\x29\x3b\x69\x66\x28\ -\x74\x68\x69\x73\x5b\x30\x5d\x29\x7b\x76\x61\x72\x20\x62\x3d\x6e\ -\x28\x61\x2c\x74\x68\x69\x73\x5b\x30\x5d\x2e\x6f\x77\x6e\x65\x72\ -\x44\x6f\x63\x75\x6d\x65\x6e\x74\x29\x2e\x65\x71\x28\x30\x29\x2e\ -\x63\x6c\x6f\x6e\x65\x28\x21\x30\x29\x3b\x74\x68\x69\x73\x5b\x30\ -\x5d\x2e\x70\x61\x72\x65\x6e\x74\x4e\x6f\x64\x65\x26\x26\x62\x2e\ -\x69\x6e\x73\x65\x72\x74\x42\x65\x66\x6f\x72\x65\x28\x74\x68\x69\ -\x73\x5b\x30\x5d\x29\x2c\x62\x2e\x6d\x61\x70\x28\x66\x75\x6e\x63\ -\x74\x69\x6f\x6e\x28\x29\x7b\x76\x61\x72\x20\x61\x3d\x74\x68\x69\ -\x73\x3b\x77\x68\x69\x6c\x65\x28\x61\x2e\x66\x69\x72\x73\x74\x43\ -\x68\x69\x6c\x64\x26\x26\x31\x3d\x3d\x3d\x61\x2e\x66\x69\x72\x73\ -\x74\x43\x68\x69\x6c\x64\x2e\x6e\x6f\x64\x65\x54\x79\x70\x65\x29\ -\x61\x3d\x61\x2e\x66\x69\x72\x73\x74\x43\x68\x69\x6c\x64\x3b\x72\ -\x65\x74\x75\x72\x6e\x20\x61\x7d\x29\x2e\x61\x70\x70\x65\x6e\x64\ -\x28\x74\x68\x69\x73\x29\x7d\x72\x65\x74\x75\x72\x6e\x20\x74\x68\ -\x69\x73\x7d\x2c\x77\x72\x61\x70\x49\x6e\x6e\x65\x72\x3a\x66\x75\ -\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x72\x65\x74\x75\x72\x6e\ -\x20\x74\x68\x69\x73\x2e\x65\x61\x63\x68\x28\x6e\x2e\x69\x73\x46\ -\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x3f\x66\x75\x6e\x63\x74\ -\x69\x6f\x6e\x28\x62\x29\x7b\x6e\x28\x74\x68\x69\x73\x29\x2e\x77\ -\x72\x61\x70\x49\x6e\x6e\x65\x72\x28\x61\x2e\x63\x61\x6c\x6c\x28\ -\x74\x68\x69\x73\x2c\x62\x29\x29\x7d\x3a\x66\x75\x6e\x63\x74\x69\ -\x6f\x6e\x28\x29\x7b\x76\x61\x72\x20\x62\x3d\x6e\x28\x74\x68\x69\ -\x73\x29\x2c\x63\x3d\x62\x2e\x63\x6f\x6e\x74\x65\x6e\x74\x73\x28\ -\x29\x3b\x63\x2e\x6c\x65\x6e\x67\x74\x68\x3f\x63\x2e\x77\x72\x61\ -\x70\x41\x6c\x6c\x28\x61\x29\x3a\x62\x2e\x61\x70\x70\x65\x6e\x64\ -\x28\x61\x29\x7d\x29\x7d\x2c\x77\x72\x61\x70\x3a\x66\x75\x6e\x63\ -\x74\x69\x6f\x6e\x28\x61\x29\x7b\x76\x61\x72\x20\x62\x3d\x6e\x2e\ -\x69\x73\x46\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x3b\x72\x65\ -\x74\x75\x72\x6e\x20\x74\x68\x69\x73\x2e\x65\x61\x63\x68\x28\x66\ -\x75\x6e\x63\x74\x69\x6f\x6e\x28\x63\x29\x7b\x6e\x28\x74\x68\x69\ -\x73\x29\x2e\x77\x72\x61\x70\x41\x6c\x6c\x28\x62\x3f\x61\x2e\x63\ -\x61\x6c\x6c\x28\x74\x68\x69\x73\x2c\x63\x29\x3a\x61\x29\x7d\x29\ -\x7d\x2c\x75\x6e\x77\x72\x61\x70\x3a\x66\x75\x6e\x63\x74\x69\x6f\ -\x6e\x28\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x74\x68\x69\x73\x2e\ -\x70\x61\x72\x65\x6e\x74\x28\x29\x2e\x65\x61\x63\x68\x28\x66\x75\ -\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x6e\x2e\x6e\x6f\x64\x65\x4e\ -\x61\x6d\x65\x28\x74\x68\x69\x73\x2c\x22\x62\x6f\x64\x79\x22\x29\ -\x7c\x7c\x6e\x28\x74\x68\x69\x73\x29\x2e\x72\x65\x70\x6c\x61\x63\ -\x65\x57\x69\x74\x68\x28\x74\x68\x69\x73\x2e\x63\x68\x69\x6c\x64\ -\x4e\x6f\x64\x65\x73\x29\x7d\x29\x2e\x65\x6e\x64\x28\x29\x7d\x7d\ -\x29\x2c\x6e\x2e\x65\x78\x70\x72\x2e\x66\x69\x6c\x74\x65\x72\x73\ -\x2e\x68\x69\x64\x64\x65\x6e\x3d\x66\x75\x6e\x63\x74\x69\x6f\x6e\ -\x28\x61\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x61\x2e\x6f\x66\x66\ -\x73\x65\x74\x57\x69\x64\x74\x68\x3c\x3d\x30\x26\x26\x61\x2e\x6f\ -\x66\x66\x73\x65\x74\x48\x65\x69\x67\x68\x74\x3c\x3d\x30\x7c\x7c\ -\x21\x6c\x2e\x72\x65\x6c\x69\x61\x62\x6c\x65\x48\x69\x64\x64\x65\ -\x6e\x4f\x66\x66\x73\x65\x74\x73\x28\x29\x26\x26\x22\x6e\x6f\x6e\ -\x65\x22\x3d\x3d\x3d\x28\x61\x2e\x73\x74\x79\x6c\x65\x26\x26\x61\ -\x2e\x73\x74\x79\x6c\x65\x2e\x64\x69\x73\x70\x6c\x61\x79\x7c\x7c\ -\x6e\x2e\x63\x73\x73\x28\x61\x2c\x22\x64\x69\x73\x70\x6c\x61\x79\ -\x22\x29\x29\x7d\x2c\x6e\x2e\x65\x78\x70\x72\x2e\x66\x69\x6c\x74\ -\x65\x72\x73\x2e\x76\x69\x73\x69\x62\x6c\x65\x3d\x66\x75\x6e\x63\ -\x74\x69\x6f\x6e\x28\x61\x29\x7b\x72\x65\x74\x75\x72\x6e\x21\x6e\ -\x2e\x65\x78\x70\x72\x2e\x66\x69\x6c\x74\x65\x72\x73\x2e\x68\x69\ -\x64\x64\x65\x6e\x28\x61\x29\x7d\x3b\x76\x61\x72\x20\x52\x63\x3d\ -\x2f\x25\x32\x30\x2f\x67\x2c\x53\x63\x3d\x2f\x5c\x5b\x5c\x5d\x24\ -\x2f\x2c\x54\x63\x3d\x2f\x5c\x72\x3f\x5c\x6e\x2f\x67\x2c\x55\x63\ -\x3d\x2f\x5e\x28\x3f\x3a\x73\x75\x62\x6d\x69\x74\x7c\x62\x75\x74\ -\x74\x6f\x6e\x7c\x69\x6d\x61\x67\x65\x7c\x72\x65\x73\x65\x74\x7c\ -\x66\x69\x6c\x65\x29\x24\x2f\x69\x2c\x56\x63\x3d\x2f\x5e\x28\x3f\ -\x3a\x69\x6e\x70\x75\x74\x7c\x73\x65\x6c\x65\x63\x74\x7c\x74\x65\ -\x78\x74\x61\x72\x65\x61\x7c\x6b\x65\x79\x67\x65\x6e\x29\x2f\x69\ -\x3b\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x57\x63\x28\x61\x2c\x62\ -\x2c\x63\x2c\x64\x29\x7b\x76\x61\x72\x20\x65\x3b\x69\x66\x28\x6e\ -\x2e\x69\x73\x41\x72\x72\x61\x79\x28\x62\x29\x29\x6e\x2e\x65\x61\ -\x63\x68\x28\x62\x2c\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x62\x2c\ -\x65\x29\x7b\x63\x7c\x7c\x53\x63\x2e\x74\x65\x73\x74\x28\x61\x29\ -\x3f\x64\x28\x61\x2c\x65\x29\x3a\x57\x63\x28\x61\x2b\x22\x5b\x22\ -\x2b\x28\x22\x6f\x62\x6a\x65\x63\x74\x22\x3d\x3d\x74\x79\x70\x65\ -\x6f\x66\x20\x65\x3f\x62\x3a\x22\x22\x29\x2b\x22\x5d\x22\x2c\x65\ -\x2c\x63\x2c\x64\x29\x7d\x29\x3b\x65\x6c\x73\x65\x20\x69\x66\x28\ -\x63\x7c\x7c\x22\x6f\x62\x6a\x65\x63\x74\x22\x21\x3d\x3d\x6e\x2e\ -\x74\x79\x70\x65\x28\x62\x29\x29\x64\x28\x61\x2c\x62\x29\x3b\x65\ -\x6c\x73\x65\x20\x66\x6f\x72\x28\x65\x20\x69\x6e\x20\x62\x29\x57\ -\x63\x28\x61\x2b\x22\x5b\x22\x2b\x65\x2b\x22\x5d\x22\x2c\x62\x5b\ -\x65\x5d\x2c\x63\x2c\x64\x29\x7d\x6e\x2e\x70\x61\x72\x61\x6d\x3d\ -\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x29\x7b\x76\x61\ -\x72\x20\x63\x2c\x64\x3d\x5b\x5d\x2c\x65\x3d\x66\x75\x6e\x63\x74\ -\x69\x6f\x6e\x28\x61\x2c\x62\x29\x7b\x62\x3d\x6e\x2e\x69\x73\x46\ -\x75\x6e\x63\x74\x69\x6f\x6e\x28\x62\x29\x3f\x62\x28\x29\x3a\x6e\ -\x75\x6c\x6c\x3d\x3d\x62\x3f\x22\x22\x3a\x62\x2c\x64\x5b\x64\x2e\ -\x6c\x65\x6e\x67\x74\x68\x5d\x3d\x65\x6e\x63\x6f\x64\x65\x55\x52\ -\x49\x43\x6f\x6d\x70\x6f\x6e\x65\x6e\x74\x28\x61\x29\x2b\x22\x3d\ -\x22\x2b\x65\x6e\x63\x6f\x64\x65\x55\x52\x49\x43\x6f\x6d\x70\x6f\ -\x6e\x65\x6e\x74\x28\x62\x29\x7d\x3b\x69\x66\x28\x76\x6f\x69\x64\ -\x20\x30\x3d\x3d\x3d\x62\x26\x26\x28\x62\x3d\x6e\x2e\x61\x6a\x61\ -\x78\x53\x65\x74\x74\x69\x6e\x67\x73\x26\x26\x6e\x2e\x61\x6a\x61\ -\x78\x53\x65\x74\x74\x69\x6e\x67\x73\x2e\x74\x72\x61\x64\x69\x74\ -\x69\x6f\x6e\x61\x6c\x29\x2c\x6e\x2e\x69\x73\x41\x72\x72\x61\x79\ -\x28\x61\x29\x7c\x7c\x61\x2e\x6a\x71\x75\x65\x72\x79\x26\x26\x21\ -\x6e\x2e\x69\x73\x50\x6c\x61\x69\x6e\x4f\x62\x6a\x65\x63\x74\x28\ -\x61\x29\x29\x6e\x2e\x65\x61\x63\x68\x28\x61\x2c\x66\x75\x6e\x63\ -\x74\x69\x6f\x6e\x28\x29\x7b\x65\x28\x74\x68\x69\x73\x2e\x6e\x61\ -\x6d\x65\x2c\x74\x68\x69\x73\x2e\x76\x61\x6c\x75\x65\x29\x7d\x29\ -\x3b\x65\x6c\x73\x65\x20\x66\x6f\x72\x28\x63\x20\x69\x6e\x20\x61\ -\x29\x57\x63\x28\x63\x2c\x61\x5b\x63\x5d\x2c\x62\x2c\x65\x29\x3b\ -\x72\x65\x74\x75\x72\x6e\x20\x64\x2e\x6a\x6f\x69\x6e\x28\x22\x26\ -\x22\x29\x2e\x72\x65\x70\x6c\x61\x63\x65\x28\x52\x63\x2c\x22\x2b\ -\x22\x29\x7d\x2c\x6e\x2e\x66\x6e\x2e\x65\x78\x74\x65\x6e\x64\x28\ -\x7b\x73\x65\x72\x69\x61\x6c\x69\x7a\x65\x3a\x66\x75\x6e\x63\x74\ -\x69\x6f\x6e\x28\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x6e\x2e\x70\ -\x61\x72\x61\x6d\x28\x74\x68\x69\x73\x2e\x73\x65\x72\x69\x61\x6c\ -\x69\x7a\x65\x41\x72\x72\x61\x79\x28\x29\x29\x7d\x2c\x73\x65\x72\ -\x69\x61\x6c\x69\x7a\x65\x41\x72\x72\x61\x79\x3a\x66\x75\x6e\x63\ -\x74\x69\x6f\x6e\x28\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x74\x68\ -\x69\x73\x2e\x6d\x61\x70\x28\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\ -\x29\x7b\x76\x61\x72\x20\x61\x3d\x6e\x2e\x70\x72\x6f\x70\x28\x74\ -\x68\x69\x73\x2c\x22\x65\x6c\x65\x6d\x65\x6e\x74\x73\x22\x29\x3b\ -\x72\x65\x74\x75\x72\x6e\x20\x61\x3f\x6e\x2e\x6d\x61\x6b\x65\x41\ -\x72\x72\x61\x79\x28\x61\x29\x3a\x74\x68\x69\x73\x7d\x29\x2e\x66\ -\x69\x6c\x74\x65\x72\x28\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\ -\x7b\x76\x61\x72\x20\x61\x3d\x74\x68\x69\x73\x2e\x74\x79\x70\x65\ -\x3b\x72\x65\x74\x75\x72\x6e\x20\x74\x68\x69\x73\x2e\x6e\x61\x6d\ -\x65\x26\x26\x21\x6e\x28\x74\x68\x69\x73\x29\x2e\x69\x73\x28\x22\ -\x3a\x64\x69\x73\x61\x62\x6c\x65\x64\x22\x29\x26\x26\x56\x63\x2e\ -\x74\x65\x73\x74\x28\x74\x68\x69\x73\x2e\x6e\x6f\x64\x65\x4e\x61\ -\x6d\x65\x29\x26\x26\x21\x55\x63\x2e\x74\x65\x73\x74\x28\x61\x29\ -\x26\x26\x28\x74\x68\x69\x73\x2e\x63\x68\x65\x63\x6b\x65\x64\x7c\ -\x7c\x21\x58\x2e\x74\x65\x73\x74\x28\x61\x29\x29\x7d\x29\x2e\x6d\ -\x61\x70\x28\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x29\ -\x7b\x76\x61\x72\x20\x63\x3d\x6e\x28\x74\x68\x69\x73\x29\x2e\x76\ -\x61\x6c\x28\x29\x3b\x72\x65\x74\x75\x72\x6e\x20\x6e\x75\x6c\x6c\ -\x3d\x3d\x63\x3f\x6e\x75\x6c\x6c\x3a\x6e\x2e\x69\x73\x41\x72\x72\ -\x61\x79\x28\x63\x29\x3f\x6e\x2e\x6d\x61\x70\x28\x63\x2c\x66\x75\ -\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x72\x65\x74\x75\x72\x6e\ -\x7b\x6e\x61\x6d\x65\x3a\x62\x2e\x6e\x61\x6d\x65\x2c\x76\x61\x6c\ -\x75\x65\x3a\x61\x2e\x72\x65\x70\x6c\x61\x63\x65\x28\x54\x63\x2c\ -\x22\x5c\x72\x5c\x6e\x22\x29\x7d\x7d\x29\x3a\x7b\x6e\x61\x6d\x65\ -\x3a\x62\x2e\x6e\x61\x6d\x65\x2c\x76\x61\x6c\x75\x65\x3a\x63\x2e\ -\x72\x65\x70\x6c\x61\x63\x65\x28\x54\x63\x2c\x22\x5c\x72\x5c\x6e\ -\x22\x29\x7d\x7d\x29\x2e\x67\x65\x74\x28\x29\x7d\x7d\x29\x2c\x6e\ -\x2e\x61\x6a\x61\x78\x53\x65\x74\x74\x69\x6e\x67\x73\x2e\x78\x68\ -\x72\x3d\x76\x6f\x69\x64\x20\x30\x21\x3d\x3d\x61\x2e\x41\x63\x74\ -\x69\x76\x65\x58\x4f\x62\x6a\x65\x63\x74\x3f\x66\x75\x6e\x63\x74\ -\x69\x6f\x6e\x28\x29\x7b\x72\x65\x74\x75\x72\x6e\x21\x74\x68\x69\ -\x73\x2e\x69\x73\x4c\x6f\x63\x61\x6c\x26\x26\x2f\x5e\x28\x67\x65\ -\x74\x7c\x70\x6f\x73\x74\x7c\x68\x65\x61\x64\x7c\x70\x75\x74\x7c\ -\x64\x65\x6c\x65\x74\x65\x7c\x6f\x70\x74\x69\x6f\x6e\x73\x29\x24\ -\x2f\x69\x2e\x74\x65\x73\x74\x28\x74\x68\x69\x73\x2e\x74\x79\x70\ -\x65\x29\x26\x26\x24\x63\x28\x29\x7c\x7c\x5f\x63\x28\x29\x7d\x3a\ -\x24\x63\x3b\x76\x61\x72\x20\x58\x63\x3d\x30\x2c\x59\x63\x3d\x7b\ -\x7d\x2c\x5a\x63\x3d\x6e\x2e\x61\x6a\x61\x78\x53\x65\x74\x74\x69\ -\x6e\x67\x73\x2e\x78\x68\x72\x28\x29\x3b\x61\x2e\x41\x63\x74\x69\ -\x76\x65\x58\x4f\x62\x6a\x65\x63\x74\x26\x26\x6e\x28\x61\x29\x2e\ -\x6f\x6e\x28\x22\x75\x6e\x6c\x6f\x61\x64\x22\x2c\x66\x75\x6e\x63\ -\x74\x69\x6f\x6e\x28\x29\x7b\x66\x6f\x72\x28\x76\x61\x72\x20\x61\ -\x20\x69\x6e\x20\x59\x63\x29\x59\x63\x5b\x61\x5d\x28\x76\x6f\x69\ -\x64\x20\x30\x2c\x21\x30\x29\x7d\x29\x2c\x6c\x2e\x63\x6f\x72\x73\ -\x3d\x21\x21\x5a\x63\x26\x26\x22\x77\x69\x74\x68\x43\x72\x65\x64\ -\x65\x6e\x74\x69\x61\x6c\x73\x22\x69\x6e\x20\x5a\x63\x2c\x5a\x63\ -\x3d\x6c\x2e\x61\x6a\x61\x78\x3d\x21\x21\x5a\x63\x2c\x5a\x63\x26\ -\x26\x6e\x2e\x61\x6a\x61\x78\x54\x72\x61\x6e\x73\x70\x6f\x72\x74\ -\x28\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x69\x66\x28\ -\x21\x61\x2e\x63\x72\x6f\x73\x73\x44\x6f\x6d\x61\x69\x6e\x7c\x7c\ -\x6c\x2e\x63\x6f\x72\x73\x29\x7b\x76\x61\x72\x20\x62\x3b\x72\x65\ -\x74\x75\x72\x6e\x7b\x73\x65\x6e\x64\x3a\x66\x75\x6e\x63\x74\x69\ -\x6f\x6e\x28\x63\x2c\x64\x29\x7b\x76\x61\x72\x20\x65\x2c\x66\x3d\ -\x61\x2e\x78\x68\x72\x28\x29\x2c\x67\x3d\x2b\x2b\x58\x63\x3b\x69\ -\x66\x28\x66\x2e\x6f\x70\x65\x6e\x28\x61\x2e\x74\x79\x70\x65\x2c\ -\x61\x2e\x75\x72\x6c\x2c\x61\x2e\x61\x73\x79\x6e\x63\x2c\x61\x2e\ -\x75\x73\x65\x72\x6e\x61\x6d\x65\x2c\x61\x2e\x70\x61\x73\x73\x77\ -\x6f\x72\x64\x29\x2c\x61\x2e\x78\x68\x72\x46\x69\x65\x6c\x64\x73\ -\x29\x66\x6f\x72\x28\x65\x20\x69\x6e\x20\x61\x2e\x78\x68\x72\x46\ -\x69\x65\x6c\x64\x73\x29\x66\x5b\x65\x5d\x3d\x61\x2e\x78\x68\x72\ -\x46\x69\x65\x6c\x64\x73\x5b\x65\x5d\x3b\x61\x2e\x6d\x69\x6d\x65\ -\x54\x79\x70\x65\x26\x26\x66\x2e\x6f\x76\x65\x72\x72\x69\x64\x65\ -\x4d\x69\x6d\x65\x54\x79\x70\x65\x26\x26\x66\x2e\x6f\x76\x65\x72\ -\x72\x69\x64\x65\x4d\x69\x6d\x65\x54\x79\x70\x65\x28\x61\x2e\x6d\ -\x69\x6d\x65\x54\x79\x70\x65\x29\x2c\x61\x2e\x63\x72\x6f\x73\x73\ -\x44\x6f\x6d\x61\x69\x6e\x7c\x7c\x63\x5b\x22\x58\x2d\x52\x65\x71\ -\x75\x65\x73\x74\x65\x64\x2d\x57\x69\x74\x68\x22\x5d\x7c\x7c\x28\ -\x63\x5b\x22\x58\x2d\x52\x65\x71\x75\x65\x73\x74\x65\x64\x2d\x57\ -\x69\x74\x68\x22\x5d\x3d\x22\x58\x4d\x4c\x48\x74\x74\x70\x52\x65\ -\x71\x75\x65\x73\x74\x22\x29\x3b\x66\x6f\x72\x28\x65\x20\x69\x6e\ -\x20\x63\x29\x76\x6f\x69\x64\x20\x30\x21\x3d\x3d\x63\x5b\x65\x5d\ -\x26\x26\x66\x2e\x73\x65\x74\x52\x65\x71\x75\x65\x73\x74\x48\x65\ -\x61\x64\x65\x72\x28\x65\x2c\x63\x5b\x65\x5d\x2b\x22\x22\x29\x3b\ -\x66\x2e\x73\x65\x6e\x64\x28\x61\x2e\x68\x61\x73\x43\x6f\x6e\x74\ -\x65\x6e\x74\x26\x26\x61\x2e\x64\x61\x74\x61\x7c\x7c\x6e\x75\x6c\ -\x6c\x29\x2c\x62\x3d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x63\x2c\ -\x65\x29\x7b\x76\x61\x72\x20\x68\x2c\x69\x2c\x6a\x3b\x69\x66\x28\ -\x62\x26\x26\x28\x65\x7c\x7c\x34\x3d\x3d\x3d\x66\x2e\x72\x65\x61\ -\x64\x79\x53\x74\x61\x74\x65\x29\x29\x69\x66\x28\x64\x65\x6c\x65\ -\x74\x65\x20\x59\x63\x5b\x67\x5d\x2c\x62\x3d\x76\x6f\x69\x64\x20\ -\x30\x2c\x66\x2e\x6f\x6e\x72\x65\x61\x64\x79\x73\x74\x61\x74\x65\ -\x63\x68\x61\x6e\x67\x65\x3d\x6e\x2e\x6e\x6f\x6f\x70\x2c\x65\x29\ -\x34\x21\x3d\x3d\x66\x2e\x72\x65\x61\x64\x79\x53\x74\x61\x74\x65\ -\x26\x26\x66\x2e\x61\x62\x6f\x72\x74\x28\x29\x3b\x65\x6c\x73\x65\ -\x7b\x6a\x3d\x7b\x7d\x2c\x68\x3d\x66\x2e\x73\x74\x61\x74\x75\x73\ -\x2c\x22\x73\x74\x72\x69\x6e\x67\x22\x3d\x3d\x74\x79\x70\x65\x6f\ -\x66\x20\x66\x2e\x72\x65\x73\x70\x6f\x6e\x73\x65\x54\x65\x78\x74\ -\x26\x26\x28\x6a\x2e\x74\x65\x78\x74\x3d\x66\x2e\x72\x65\x73\x70\ -\x6f\x6e\x73\x65\x54\x65\x78\x74\x29\x3b\x74\x72\x79\x7b\x69\x3d\ -\x66\x2e\x73\x74\x61\x74\x75\x73\x54\x65\x78\x74\x7d\x63\x61\x74\ -\x63\x68\x28\x6b\x29\x7b\x69\x3d\x22\x22\x7d\x68\x7c\x7c\x21\x61\ -\x2e\x69\x73\x4c\x6f\x63\x61\x6c\x7c\x7c\x61\x2e\x63\x72\x6f\x73\ -\x73\x44\x6f\x6d\x61\x69\x6e\x3f\x31\x32\x32\x33\x3d\x3d\x3d\x68\ -\x26\x26\x28\x68\x3d\x32\x30\x34\x29\x3a\x68\x3d\x6a\x2e\x74\x65\ -\x78\x74\x3f\x32\x30\x30\x3a\x34\x30\x34\x7d\x6a\x26\x26\x64\x28\ -\x68\x2c\x69\x2c\x6a\x2c\x66\x2e\x67\x65\x74\x41\x6c\x6c\x52\x65\ -\x73\x70\x6f\x6e\x73\x65\x48\x65\x61\x64\x65\x72\x73\x28\x29\x29\ -\x7d\x2c\x61\x2e\x61\x73\x79\x6e\x63\x3f\x34\x3d\x3d\x3d\x66\x2e\ -\x72\x65\x61\x64\x79\x53\x74\x61\x74\x65\x3f\x73\x65\x74\x54\x69\ -\x6d\x65\x6f\x75\x74\x28\x62\x29\x3a\x66\x2e\x6f\x6e\x72\x65\x61\ -\x64\x79\x73\x74\x61\x74\x65\x63\x68\x61\x6e\x67\x65\x3d\x59\x63\ -\x5b\x67\x5d\x3d\x62\x3a\x62\x28\x29\x7d\x2c\x61\x62\x6f\x72\x74\ -\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x62\x26\x26\x62\ -\x28\x76\x6f\x69\x64\x20\x30\x2c\x21\x30\x29\x7d\x7d\x7d\x7d\x29\ -\x3b\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x24\x63\x28\x29\x7b\x74\ -\x72\x79\x7b\x72\x65\x74\x75\x72\x6e\x20\x6e\x65\x77\x20\x61\x2e\ -\x58\x4d\x4c\x48\x74\x74\x70\x52\x65\x71\x75\x65\x73\x74\x7d\x63\ -\x61\x74\x63\x68\x28\x62\x29\x7b\x7d\x7d\x66\x75\x6e\x63\x74\x69\ -\x6f\x6e\x20\x5f\x63\x28\x29\x7b\x74\x72\x79\x7b\x72\x65\x74\x75\ -\x72\x6e\x20\x6e\x65\x77\x20\x61\x2e\x41\x63\x74\x69\x76\x65\x58\ -\x4f\x62\x6a\x65\x63\x74\x28\x22\x4d\x69\x63\x72\x6f\x73\x6f\x66\ -\x74\x2e\x58\x4d\x4c\x48\x54\x54\x50\x22\x29\x7d\x63\x61\x74\x63\ -\x68\x28\x62\x29\x7b\x7d\x7d\x6e\x2e\x61\x6a\x61\x78\x53\x65\x74\ -\x75\x70\x28\x7b\x61\x63\x63\x65\x70\x74\x73\x3a\x7b\x73\x63\x72\ -\x69\x70\x74\x3a\x22\x74\x65\x78\x74\x2f\x6a\x61\x76\x61\x73\x63\ -\x72\x69\x70\x74\x2c\x20\x61\x70\x70\x6c\x69\x63\x61\x74\x69\x6f\ -\x6e\x2f\x6a\x61\x76\x61\x73\x63\x72\x69\x70\x74\x2c\x20\x61\x70\ -\x70\x6c\x69\x63\x61\x74\x69\x6f\x6e\x2f\x65\x63\x6d\x61\x73\x63\ -\x72\x69\x70\x74\x2c\x20\x61\x70\x70\x6c\x69\x63\x61\x74\x69\x6f\ -\x6e\x2f\x78\x2d\x65\x63\x6d\x61\x73\x63\x72\x69\x70\x74\x22\x7d\ -\x2c\x63\x6f\x6e\x74\x65\x6e\x74\x73\x3a\x7b\x73\x63\x72\x69\x70\ -\x74\x3a\x2f\x28\x3f\x3a\x6a\x61\x76\x61\x7c\x65\x63\x6d\x61\x29\ -\x73\x63\x72\x69\x70\x74\x2f\x7d\x2c\x63\x6f\x6e\x76\x65\x72\x74\ -\x65\x72\x73\x3a\x7b\x22\x74\x65\x78\x74\x20\x73\x63\x72\x69\x70\ -\x74\x22\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x72\ -\x65\x74\x75\x72\x6e\x20\x6e\x2e\x67\x6c\x6f\x62\x61\x6c\x45\x76\ -\x61\x6c\x28\x61\x29\x2c\x61\x7d\x7d\x7d\x29\x2c\x6e\x2e\x61\x6a\ -\x61\x78\x50\x72\x65\x66\x69\x6c\x74\x65\x72\x28\x22\x73\x63\x72\ -\x69\x70\x74\x22\x2c\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\ -\x7b\x76\x6f\x69\x64\x20\x30\x3d\x3d\x3d\x61\x2e\x63\x61\x63\x68\ -\x65\x26\x26\x28\x61\x2e\x63\x61\x63\x68\x65\x3d\x21\x31\x29\x2c\ -\x61\x2e\x63\x72\x6f\x73\x73\x44\x6f\x6d\x61\x69\x6e\x26\x26\x28\ -\x61\x2e\x74\x79\x70\x65\x3d\x22\x47\x45\x54\x22\x2c\x61\x2e\x67\ -\x6c\x6f\x62\x61\x6c\x3d\x21\x31\x29\x7d\x29\x2c\x6e\x2e\x61\x6a\ -\x61\x78\x54\x72\x61\x6e\x73\x70\x6f\x72\x74\x28\x22\x73\x63\x72\ -\x69\x70\x74\x22\x2c\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\ -\x7b\x69\x66\x28\x61\x2e\x63\x72\x6f\x73\x73\x44\x6f\x6d\x61\x69\ -\x6e\x29\x7b\x76\x61\x72\x20\x62\x2c\x63\x3d\x7a\x2e\x68\x65\x61\ -\x64\x7c\x7c\x6e\x28\x22\x68\x65\x61\x64\x22\x29\x5b\x30\x5d\x7c\ -\x7c\x7a\x2e\x64\x6f\x63\x75\x6d\x65\x6e\x74\x45\x6c\x65\x6d\x65\ -\x6e\x74\x3b\x72\x65\x74\x75\x72\x6e\x7b\x73\x65\x6e\x64\x3a\x66\ -\x75\x6e\x63\x74\x69\x6f\x6e\x28\x64\x2c\x65\x29\x7b\x62\x3d\x7a\ -\x2e\x63\x72\x65\x61\x74\x65\x45\x6c\x65\x6d\x65\x6e\x74\x28\x22\ -\x73\x63\x72\x69\x70\x74\x22\x29\x2c\x62\x2e\x61\x73\x79\x6e\x63\ -\x3d\x21\x30\x2c\x61\x2e\x73\x63\x72\x69\x70\x74\x43\x68\x61\x72\ -\x73\x65\x74\x26\x26\x28\x62\x2e\x63\x68\x61\x72\x73\x65\x74\x3d\ -\x61\x2e\x73\x63\x72\x69\x70\x74\x43\x68\x61\x72\x73\x65\x74\x29\ -\x2c\x62\x2e\x73\x72\x63\x3d\x61\x2e\x75\x72\x6c\x2c\x62\x2e\x6f\ -\x6e\x6c\x6f\x61\x64\x3d\x62\x2e\x6f\x6e\x72\x65\x61\x64\x79\x73\ -\x74\x61\x74\x65\x63\x68\x61\x6e\x67\x65\x3d\x66\x75\x6e\x63\x74\ -\x69\x6f\x6e\x28\x61\x2c\x63\x29\x7b\x28\x63\x7c\x7c\x21\x62\x2e\ -\x72\x65\x61\x64\x79\x53\x74\x61\x74\x65\x7c\x7c\x2f\x6c\x6f\x61\ -\x64\x65\x64\x7c\x63\x6f\x6d\x70\x6c\x65\x74\x65\x2f\x2e\x74\x65\ -\x73\x74\x28\x62\x2e\x72\x65\x61\x64\x79\x53\x74\x61\x74\x65\x29\ -\x29\x26\x26\x28\x62\x2e\x6f\x6e\x6c\x6f\x61\x64\x3d\x62\x2e\x6f\ -\x6e\x72\x65\x61\x64\x79\x73\x74\x61\x74\x65\x63\x68\x61\x6e\x67\ -\x65\x3d\x6e\x75\x6c\x6c\x2c\x62\x2e\x70\x61\x72\x65\x6e\x74\x4e\ -\x6f\x64\x65\x26\x26\x62\x2e\x70\x61\x72\x65\x6e\x74\x4e\x6f\x64\ -\x65\x2e\x72\x65\x6d\x6f\x76\x65\x43\x68\x69\x6c\x64\x28\x62\x29\ -\x2c\x62\x3d\x6e\x75\x6c\x6c\x2c\x63\x7c\x7c\x65\x28\x32\x30\x30\ -\x2c\x22\x73\x75\x63\x63\x65\x73\x73\x22\x29\x29\x7d\x2c\x63\x2e\ -\x69\x6e\x73\x65\x72\x74\x42\x65\x66\x6f\x72\x65\x28\x62\x2c\x63\ -\x2e\x66\x69\x72\x73\x74\x43\x68\x69\x6c\x64\x29\x7d\x2c\x61\x62\ -\x6f\x72\x74\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x62\ -\x26\x26\x62\x2e\x6f\x6e\x6c\x6f\x61\x64\x28\x76\x6f\x69\x64\x20\ -\x30\x2c\x21\x30\x29\x7d\x7d\x7d\x7d\x29\x3b\x76\x61\x72\x20\x61\ -\x64\x3d\x5b\x5d\x2c\x62\x64\x3d\x2f\x28\x3d\x29\x5c\x3f\x28\x3f\ -\x3d\x26\x7c\x24\x29\x7c\x5c\x3f\x5c\x3f\x2f\x3b\x6e\x2e\x61\x6a\ -\x61\x78\x53\x65\x74\x75\x70\x28\x7b\x6a\x73\x6f\x6e\x70\x3a\x22\ -\x63\x61\x6c\x6c\x62\x61\x63\x6b\x22\x2c\x6a\x73\x6f\x6e\x70\x43\ -\x61\x6c\x6c\x62\x61\x63\x6b\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\ -\x28\x29\x7b\x76\x61\x72\x20\x61\x3d\x61\x64\x2e\x70\x6f\x70\x28\ -\x29\x7c\x7c\x6e\x2e\x65\x78\x70\x61\x6e\x64\x6f\x2b\x22\x5f\x22\ -\x2b\x77\x63\x2b\x2b\x3b\x72\x65\x74\x75\x72\x6e\x20\x74\x68\x69\ -\x73\x5b\x61\x5d\x3d\x21\x30\x2c\x61\x7d\x7d\x29\x2c\x6e\x2e\x61\ -\x6a\x61\x78\x50\x72\x65\x66\x69\x6c\x74\x65\x72\x28\x22\x6a\x73\ -\x6f\x6e\x20\x6a\x73\x6f\x6e\x70\x22\x2c\x66\x75\x6e\x63\x74\x69\ -\x6f\x6e\x28\x62\x2c\x63\x2c\x64\x29\x7b\x76\x61\x72\x20\x65\x2c\ -\x66\x2c\x67\x2c\x68\x3d\x62\x2e\x6a\x73\x6f\x6e\x70\x21\x3d\x3d\ -\x21\x31\x26\x26\x28\x62\x64\x2e\x74\x65\x73\x74\x28\x62\x2e\x75\ -\x72\x6c\x29\x3f\x22\x75\x72\x6c\x22\x3a\x22\x73\x74\x72\x69\x6e\ -\x67\x22\x3d\x3d\x74\x79\x70\x65\x6f\x66\x20\x62\x2e\x64\x61\x74\ -\x61\x26\x26\x21\x28\x62\x2e\x63\x6f\x6e\x74\x65\x6e\x74\x54\x79\ -\x70\x65\x7c\x7c\x22\x22\x29\x2e\x69\x6e\x64\x65\x78\x4f\x66\x28\ -\x22\x61\x70\x70\x6c\x69\x63\x61\x74\x69\x6f\x6e\x2f\x78\x2d\x77\ -\x77\x77\x2d\x66\x6f\x72\x6d\x2d\x75\x72\x6c\x65\x6e\x63\x6f\x64\ -\x65\x64\x22\x29\x26\x26\x62\x64\x2e\x74\x65\x73\x74\x28\x62\x2e\ -\x64\x61\x74\x61\x29\x26\x26\x22\x64\x61\x74\x61\x22\x29\x3b\x72\ -\x65\x74\x75\x72\x6e\x20\x68\x7c\x7c\x22\x6a\x73\x6f\x6e\x70\x22\ -\x3d\x3d\x3d\x62\x2e\x64\x61\x74\x61\x54\x79\x70\x65\x73\x5b\x30\ -\x5d\x3f\x28\x65\x3d\x62\x2e\x6a\x73\x6f\x6e\x70\x43\x61\x6c\x6c\ -\x62\x61\x63\x6b\x3d\x6e\x2e\x69\x73\x46\x75\x6e\x63\x74\x69\x6f\ -\x6e\x28\x62\x2e\x6a\x73\x6f\x6e\x70\x43\x61\x6c\x6c\x62\x61\x63\ -\x6b\x29\x3f\x62\x2e\x6a\x73\x6f\x6e\x70\x43\x61\x6c\x6c\x62\x61\ -\x63\x6b\x28\x29\x3a\x62\x2e\x6a\x73\x6f\x6e\x70\x43\x61\x6c\x6c\ -\x62\x61\x63\x6b\x2c\x68\x3f\x62\x5b\x68\x5d\x3d\x62\x5b\x68\x5d\ -\x2e\x72\x65\x70\x6c\x61\x63\x65\x28\x62\x64\x2c\x22\x24\x31\x22\ -\x2b\x65\x29\x3a\x62\x2e\x6a\x73\x6f\x6e\x70\x21\x3d\x3d\x21\x31\ -\x26\x26\x28\x62\x2e\x75\x72\x6c\x2b\x3d\x28\x78\x63\x2e\x74\x65\ -\x73\x74\x28\x62\x2e\x75\x72\x6c\x29\x3f\x22\x26\x22\x3a\x22\x3f\ -\x22\x29\x2b\x62\x2e\x6a\x73\x6f\x6e\x70\x2b\x22\x3d\x22\x2b\x65\ -\x29\x2c\x62\x2e\x63\x6f\x6e\x76\x65\x72\x74\x65\x72\x73\x5b\x22\ -\x73\x63\x72\x69\x70\x74\x20\x6a\x73\x6f\x6e\x22\x5d\x3d\x66\x75\ -\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\ -\x67\x7c\x7c\x6e\x2e\x65\x72\x72\x6f\x72\x28\x65\x2b\x22\x20\x77\ -\x61\x73\x20\x6e\x6f\x74\x20\x63\x61\x6c\x6c\x65\x64\x22\x29\x2c\ -\x67\x5b\x30\x5d\x7d\x2c\x62\x2e\x64\x61\x74\x61\x54\x79\x70\x65\ -\x73\x5b\x30\x5d\x3d\x22\x6a\x73\x6f\x6e\x22\x2c\x66\x3d\x61\x5b\ -\x65\x5d\x2c\x61\x5b\x65\x5d\x3d\x66\x75\x6e\x63\x74\x69\x6f\x6e\ -\x28\x29\x7b\x67\x3d\x61\x72\x67\x75\x6d\x65\x6e\x74\x73\x7d\x2c\ -\x64\x2e\x61\x6c\x77\x61\x79\x73\x28\x66\x75\x6e\x63\x74\x69\x6f\ -\x6e\x28\x29\x7b\x61\x5b\x65\x5d\x3d\x66\x2c\x62\x5b\x65\x5d\x26\ -\x26\x28\x62\x2e\x6a\x73\x6f\x6e\x70\x43\x61\x6c\x6c\x62\x61\x63\ -\x6b\x3d\x63\x2e\x6a\x73\x6f\x6e\x70\x43\x61\x6c\x6c\x62\x61\x63\ -\x6b\x2c\x61\x64\x2e\x70\x75\x73\x68\x28\x65\x29\x29\x2c\x67\x26\ -\x26\x6e\x2e\x69\x73\x46\x75\x6e\x63\x74\x69\x6f\x6e\x28\x66\x29\ -\x26\x26\x66\x28\x67\x5b\x30\x5d\x29\x2c\x67\x3d\x66\x3d\x76\x6f\ -\x69\x64\x20\x30\x7d\x29\x2c\x22\x73\x63\x72\x69\x70\x74\x22\x29\ -\x3a\x76\x6f\x69\x64\x20\x30\x7d\x29\x2c\x6e\x2e\x70\x61\x72\x73\ -\x65\x48\x54\x4d\x4c\x3d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\ -\x2c\x62\x2c\x63\x29\x7b\x69\x66\x28\x21\x61\x7c\x7c\x22\x73\x74\ -\x72\x69\x6e\x67\x22\x21\x3d\x74\x79\x70\x65\x6f\x66\x20\x61\x29\ -\x72\x65\x74\x75\x72\x6e\x20\x6e\x75\x6c\x6c\x3b\x22\x62\x6f\x6f\ -\x6c\x65\x61\x6e\x22\x3d\x3d\x74\x79\x70\x65\x6f\x66\x20\x62\x26\ -\x26\x28\x63\x3d\x62\x2c\x62\x3d\x21\x31\x29\x2c\x62\x3d\x62\x7c\ -\x7c\x7a\x3b\x76\x61\x72\x20\x64\x3d\x76\x2e\x65\x78\x65\x63\x28\ -\x61\x29\x2c\x65\x3d\x21\x63\x26\x26\x5b\x5d\x3b\x72\x65\x74\x75\ -\x72\x6e\x20\x64\x3f\x5b\x62\x2e\x63\x72\x65\x61\x74\x65\x45\x6c\ -\x65\x6d\x65\x6e\x74\x28\x64\x5b\x31\x5d\x29\x5d\x3a\x28\x64\x3d\ -\x6e\x2e\x62\x75\x69\x6c\x64\x46\x72\x61\x67\x6d\x65\x6e\x74\x28\ -\x5b\x61\x5d\x2c\x62\x2c\x65\x29\x2c\x65\x26\x26\x65\x2e\x6c\x65\ -\x6e\x67\x74\x68\x26\x26\x6e\x28\x65\x29\x2e\x72\x65\x6d\x6f\x76\ -\x65\x28\x29\x2c\x6e\x2e\x6d\x65\x72\x67\x65\x28\x5b\x5d\x2c\x64\ -\x2e\x63\x68\x69\x6c\x64\x4e\x6f\x64\x65\x73\x29\x29\x7d\x3b\x76\ -\x61\x72\x20\x63\x64\x3d\x6e\x2e\x66\x6e\x2e\x6c\x6f\x61\x64\x3b\ -\x6e\x2e\x66\x6e\x2e\x6c\x6f\x61\x64\x3d\x66\x75\x6e\x63\x74\x69\ -\x6f\x6e\x28\x61\x2c\x62\x2c\x63\x29\x7b\x69\x66\x28\x22\x73\x74\ -\x72\x69\x6e\x67\x22\x21\x3d\x74\x79\x70\x65\x6f\x66\x20\x61\x26\ -\x26\x63\x64\x29\x72\x65\x74\x75\x72\x6e\x20\x63\x64\x2e\x61\x70\ -\x70\x6c\x79\x28\x74\x68\x69\x73\x2c\x61\x72\x67\x75\x6d\x65\x6e\ -\x74\x73\x29\x3b\x76\x61\x72\x20\x64\x2c\x65\x2c\x66\x2c\x67\x3d\ -\x74\x68\x69\x73\x2c\x68\x3d\x61\x2e\x69\x6e\x64\x65\x78\x4f\x66\ -\x28\x22\x20\x22\x29\x3b\x72\x65\x74\x75\x72\x6e\x20\x68\x3e\x3d\ -\x30\x26\x26\x28\x64\x3d\x61\x2e\x73\x6c\x69\x63\x65\x28\x68\x2c\ -\x61\x2e\x6c\x65\x6e\x67\x74\x68\x29\x2c\x61\x3d\x61\x2e\x73\x6c\ -\x69\x63\x65\x28\x30\x2c\x68\x29\x29\x2c\x6e\x2e\x69\x73\x46\x75\ -\x6e\x63\x74\x69\x6f\x6e\x28\x62\x29\x3f\x28\x63\x3d\x62\x2c\x62\ -\x3d\x76\x6f\x69\x64\x20\x30\x29\x3a\x62\x26\x26\x22\x6f\x62\x6a\ -\x65\x63\x74\x22\x3d\x3d\x74\x79\x70\x65\x6f\x66\x20\x62\x26\x26\ -\x28\x66\x3d\x22\x50\x4f\x53\x54\x22\x29\x2c\x67\x2e\x6c\x65\x6e\ -\x67\x74\x68\x3e\x30\x26\x26\x6e\x2e\x61\x6a\x61\x78\x28\x7b\x75\ -\x72\x6c\x3a\x61\x2c\x74\x79\x70\x65\x3a\x66\x2c\x64\x61\x74\x61\ -\x54\x79\x70\x65\x3a\x22\x68\x74\x6d\x6c\x22\x2c\x64\x61\x74\x61\ -\x3a\x62\x7d\x29\x2e\x64\x6f\x6e\x65\x28\x66\x75\x6e\x63\x74\x69\ -\x6f\x6e\x28\x61\x29\x7b\x65\x3d\x61\x72\x67\x75\x6d\x65\x6e\x74\ -\x73\x2c\x67\x2e\x68\x74\x6d\x6c\x28\x64\x3f\x6e\x28\x22\x3c\x64\ -\x69\x76\x3e\x22\x29\x2e\x61\x70\x70\x65\x6e\x64\x28\x6e\x2e\x70\ -\x61\x72\x73\x65\x48\x54\x4d\x4c\x28\x61\x29\x29\x2e\x66\x69\x6e\ -\x64\x28\x64\x29\x3a\x61\x29\x7d\x29\x2e\x63\x6f\x6d\x70\x6c\x65\ -\x74\x65\x28\x63\x26\x26\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\ -\x2c\x62\x29\x7b\x67\x2e\x65\x61\x63\x68\x28\x63\x2c\x65\x7c\x7c\ -\x5b\x61\x2e\x72\x65\x73\x70\x6f\x6e\x73\x65\x54\x65\x78\x74\x2c\ -\x62\x2c\x61\x5d\x29\x7d\x29\x2c\x74\x68\x69\x73\x7d\x2c\x6e\x2e\ -\x65\x78\x70\x72\x2e\x66\x69\x6c\x74\x65\x72\x73\x2e\x61\x6e\x69\ -\x6d\x61\x74\x65\x64\x3d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\ -\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x6e\x2e\x67\x72\x65\x70\x28\ -\x6e\x2e\x74\x69\x6d\x65\x72\x73\x2c\x66\x75\x6e\x63\x74\x69\x6f\ -\x6e\x28\x62\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x61\x3d\x3d\x3d\ -\x62\x2e\x65\x6c\x65\x6d\x7d\x29\x2e\x6c\x65\x6e\x67\x74\x68\x7d\ -\x3b\x76\x61\x72\x20\x64\x64\x3d\x61\x2e\x64\x6f\x63\x75\x6d\x65\ -\x6e\x74\x2e\x64\x6f\x63\x75\x6d\x65\x6e\x74\x45\x6c\x65\x6d\x65\ -\x6e\x74\x3b\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x65\x64\x28\x61\ -\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x6e\x2e\x69\x73\x57\x69\x6e\ -\x64\x6f\x77\x28\x61\x29\x3f\x61\x3a\x39\x3d\x3d\x3d\x61\x2e\x6e\ -\x6f\x64\x65\x54\x79\x70\x65\x3f\x61\x2e\x64\x65\x66\x61\x75\x6c\ -\x74\x56\x69\x65\x77\x7c\x7c\x61\x2e\x70\x61\x72\x65\x6e\x74\x57\ -\x69\x6e\x64\x6f\x77\x3a\x21\x31\x7d\x6e\x2e\x6f\x66\x66\x73\x65\ -\x74\x3d\x7b\x73\x65\x74\x4f\x66\x66\x73\x65\x74\x3a\x66\x75\x6e\ -\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x2c\x63\x29\x7b\x76\x61\x72\ -\x20\x64\x2c\x65\x2c\x66\x2c\x67\x2c\x68\x2c\x69\x2c\x6a\x2c\x6b\ -\x3d\x6e\x2e\x63\x73\x73\x28\x61\x2c\x22\x70\x6f\x73\x69\x74\x69\ -\x6f\x6e\x22\x29\x2c\x6c\x3d\x6e\x28\x61\x29\x2c\x6d\x3d\x7b\x7d\ -\x3b\x22\x73\x74\x61\x74\x69\x63\x22\x3d\x3d\x3d\x6b\x26\x26\x28\ -\x61\x2e\x73\x74\x79\x6c\x65\x2e\x70\x6f\x73\x69\x74\x69\x6f\x6e\ -\x3d\x22\x72\x65\x6c\x61\x74\x69\x76\x65\x22\x29\x2c\x68\x3d\x6c\ -\x2e\x6f\x66\x66\x73\x65\x74\x28\x29\x2c\x66\x3d\x6e\x2e\x63\x73\ -\x73\x28\x61\x2c\x22\x74\x6f\x70\x22\x29\x2c\x69\x3d\x6e\x2e\x63\ -\x73\x73\x28\x61\x2c\x22\x6c\x65\x66\x74\x22\x29\x2c\x6a\x3d\x28\ -\x22\x61\x62\x73\x6f\x6c\x75\x74\x65\x22\x3d\x3d\x3d\x6b\x7c\x7c\ -\x22\x66\x69\x78\x65\x64\x22\x3d\x3d\x3d\x6b\x29\x26\x26\x6e\x2e\ -\x69\x6e\x41\x72\x72\x61\x79\x28\x22\x61\x75\x74\x6f\x22\x2c\x5b\ -\x66\x2c\x69\x5d\x29\x3e\x2d\x31\x2c\x6a\x3f\x28\x64\x3d\x6c\x2e\ -\x70\x6f\x73\x69\x74\x69\x6f\x6e\x28\x29\x2c\x67\x3d\x64\x2e\x74\ -\x6f\x70\x2c\x65\x3d\x64\x2e\x6c\x65\x66\x74\x29\x3a\x28\x67\x3d\ -\x70\x61\x72\x73\x65\x46\x6c\x6f\x61\x74\x28\x66\x29\x7c\x7c\x30\ -\x2c\x65\x3d\x70\x61\x72\x73\x65\x46\x6c\x6f\x61\x74\x28\x69\x29\ -\x7c\x7c\x30\x29\x2c\x6e\x2e\x69\x73\x46\x75\x6e\x63\x74\x69\x6f\ -\x6e\x28\x62\x29\x26\x26\x28\x62\x3d\x62\x2e\x63\x61\x6c\x6c\x28\ -\x61\x2c\x63\x2c\x68\x29\x29\x2c\x6e\x75\x6c\x6c\x21\x3d\x62\x2e\ -\x74\x6f\x70\x26\x26\x28\x6d\x2e\x74\x6f\x70\x3d\x62\x2e\x74\x6f\ -\x70\x2d\x68\x2e\x74\x6f\x70\x2b\x67\x29\x2c\x6e\x75\x6c\x6c\x21\ -\x3d\x62\x2e\x6c\x65\x66\x74\x26\x26\x28\x6d\x2e\x6c\x65\x66\x74\ -\x3d\x62\x2e\x6c\x65\x66\x74\x2d\x68\x2e\x6c\x65\x66\x74\x2b\x65\ -\x29\x2c\x22\x75\x73\x69\x6e\x67\x22\x69\x6e\x20\x62\x3f\x62\x2e\ -\x75\x73\x69\x6e\x67\x2e\x63\x61\x6c\x6c\x28\x61\x2c\x6d\x29\x3a\ -\x6c\x2e\x63\x73\x73\x28\x6d\x29\x7d\x7d\x2c\x6e\x2e\x66\x6e\x2e\ -\x65\x78\x74\x65\x6e\x64\x28\x7b\x6f\x66\x66\x73\x65\x74\x3a\x66\ -\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x29\x7b\x69\x66\x28\x61\x72\ -\x67\x75\x6d\x65\x6e\x74\x73\x2e\x6c\x65\x6e\x67\x74\x68\x29\x72\ -\x65\x74\x75\x72\x6e\x20\x76\x6f\x69\x64\x20\x30\x3d\x3d\x3d\x61\ -\x3f\x74\x68\x69\x73\x3a\x74\x68\x69\x73\x2e\x65\x61\x63\x68\x28\ -\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x62\x29\x7b\x6e\x2e\x6f\x66\ -\x66\x73\x65\x74\x2e\x73\x65\x74\x4f\x66\x66\x73\x65\x74\x28\x74\ -\x68\x69\x73\x2c\x61\x2c\x62\x29\x7d\x29\x3b\x76\x61\x72\x20\x62\ -\x2c\x63\x2c\x64\x3d\x7b\x74\x6f\x70\x3a\x30\x2c\x6c\x65\x66\x74\ -\x3a\x30\x7d\x2c\x65\x3d\x74\x68\x69\x73\x5b\x30\x5d\x2c\x66\x3d\ -\x65\x26\x26\x65\x2e\x6f\x77\x6e\x65\x72\x44\x6f\x63\x75\x6d\x65\ -\x6e\x74\x3b\x69\x66\x28\x66\x29\x72\x65\x74\x75\x72\x6e\x20\x62\ -\x3d\x66\x2e\x64\x6f\x63\x75\x6d\x65\x6e\x74\x45\x6c\x65\x6d\x65\ -\x6e\x74\x2c\x6e\x2e\x63\x6f\x6e\x74\x61\x69\x6e\x73\x28\x62\x2c\ -\x65\x29\x3f\x28\x74\x79\x70\x65\x6f\x66\x20\x65\x2e\x67\x65\x74\ -\x42\x6f\x75\x6e\x64\x69\x6e\x67\x43\x6c\x69\x65\x6e\x74\x52\x65\ -\x63\x74\x21\x3d\x3d\x4c\x26\x26\x28\x64\x3d\x65\x2e\x67\x65\x74\ -\x42\x6f\x75\x6e\x64\x69\x6e\x67\x43\x6c\x69\x65\x6e\x74\x52\x65\ -\x63\x74\x28\x29\x29\x2c\x63\x3d\x65\x64\x28\x66\x29\x2c\x7b\x74\ -\x6f\x70\x3a\x64\x2e\x74\x6f\x70\x2b\x28\x63\x2e\x70\x61\x67\x65\ -\x59\x4f\x66\x66\x73\x65\x74\x7c\x7c\x62\x2e\x73\x63\x72\x6f\x6c\ -\x6c\x54\x6f\x70\x29\x2d\x28\x62\x2e\x63\x6c\x69\x65\x6e\x74\x54\ -\x6f\x70\x7c\x7c\x30\x29\x2c\x6c\x65\x66\x74\x3a\x64\x2e\x6c\x65\ -\x66\x74\x2b\x28\x63\x2e\x70\x61\x67\x65\x58\x4f\x66\x66\x73\x65\ -\x74\x7c\x7c\x62\x2e\x73\x63\x72\x6f\x6c\x6c\x4c\x65\x66\x74\x29\ -\x2d\x28\x62\x2e\x63\x6c\x69\x65\x6e\x74\x4c\x65\x66\x74\x7c\x7c\ -\x30\x29\x7d\x29\x3a\x64\x7d\x2c\x70\x6f\x73\x69\x74\x69\x6f\x6e\ -\x3a\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x69\x66\x28\x74\ -\x68\x69\x73\x5b\x30\x5d\x29\x7b\x76\x61\x72\x20\x61\x2c\x62\x2c\ -\x63\x3d\x7b\x74\x6f\x70\x3a\x30\x2c\x6c\x65\x66\x74\x3a\x30\x7d\ -\x2c\x64\x3d\x74\x68\x69\x73\x5b\x30\x5d\x3b\x72\x65\x74\x75\x72\ -\x6e\x22\x66\x69\x78\x65\x64\x22\x3d\x3d\x3d\x6e\x2e\x63\x73\x73\ -\x28\x64\x2c\x22\x70\x6f\x73\x69\x74\x69\x6f\x6e\x22\x29\x3f\x62\ -\x3d\x64\x2e\x67\x65\x74\x42\x6f\x75\x6e\x64\x69\x6e\x67\x43\x6c\ -\x69\x65\x6e\x74\x52\x65\x63\x74\x28\x29\x3a\x28\x61\x3d\x74\x68\ -\x69\x73\x2e\x6f\x66\x66\x73\x65\x74\x50\x61\x72\x65\x6e\x74\x28\ -\x29\x2c\x62\x3d\x74\x68\x69\x73\x2e\x6f\x66\x66\x73\x65\x74\x28\ -\x29\x2c\x6e\x2e\x6e\x6f\x64\x65\x4e\x61\x6d\x65\x28\x61\x5b\x30\ -\x5d\x2c\x22\x68\x74\x6d\x6c\x22\x29\x7c\x7c\x28\x63\x3d\x61\x2e\ -\x6f\x66\x66\x73\x65\x74\x28\x29\x29\x2c\x63\x2e\x74\x6f\x70\x2b\ -\x3d\x6e\x2e\x63\x73\x73\x28\x61\x5b\x30\x5d\x2c\x22\x62\x6f\x72\ -\x64\x65\x72\x54\x6f\x70\x57\x69\x64\x74\x68\x22\x2c\x21\x30\x29\ -\x2c\x63\x2e\x6c\x65\x66\x74\x2b\x3d\x6e\x2e\x63\x73\x73\x28\x61\ -\x5b\x30\x5d\x2c\x22\x62\x6f\x72\x64\x65\x72\x4c\x65\x66\x74\x57\ -\x69\x64\x74\x68\x22\x2c\x21\x30\x29\x29\x2c\x7b\x74\x6f\x70\x3a\ -\x62\x2e\x74\x6f\x70\x2d\x63\x2e\x74\x6f\x70\x2d\x6e\x2e\x63\x73\ -\x73\x28\x64\x2c\x22\x6d\x61\x72\x67\x69\x6e\x54\x6f\x70\x22\x2c\ -\x21\x30\x29\x2c\x6c\x65\x66\x74\x3a\x62\x2e\x6c\x65\x66\x74\x2d\ -\x63\x2e\x6c\x65\x66\x74\x2d\x6e\x2e\x63\x73\x73\x28\x64\x2c\x22\ -\x6d\x61\x72\x67\x69\x6e\x4c\x65\x66\x74\x22\x2c\x21\x30\x29\x7d\ -\x7d\x7d\x2c\x6f\x66\x66\x73\x65\x74\x50\x61\x72\x65\x6e\x74\x3a\ -\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x72\x65\x74\x75\x72\ -\x6e\x20\x74\x68\x69\x73\x2e\x6d\x61\x70\x28\x66\x75\x6e\x63\x74\ -\x69\x6f\x6e\x28\x29\x7b\x76\x61\x72\x20\x61\x3d\x74\x68\x69\x73\ -\x2e\x6f\x66\x66\x73\x65\x74\x50\x61\x72\x65\x6e\x74\x7c\x7c\x64\ -\x64\x3b\x77\x68\x69\x6c\x65\x28\x61\x26\x26\x21\x6e\x2e\x6e\x6f\ -\x64\x65\x4e\x61\x6d\x65\x28\x61\x2c\x22\x68\x74\x6d\x6c\x22\x29\ -\x26\x26\x22\x73\x74\x61\x74\x69\x63\x22\x3d\x3d\x3d\x6e\x2e\x63\ -\x73\x73\x28\x61\x2c\x22\x70\x6f\x73\x69\x74\x69\x6f\x6e\x22\x29\ -\x29\x61\x3d\x61\x2e\x6f\x66\x66\x73\x65\x74\x50\x61\x72\x65\x6e\ -\x74\x3b\x72\x65\x74\x75\x72\x6e\x20\x61\x7c\x7c\x64\x64\x7d\x29\ -\x7d\x7d\x29\x2c\x6e\x2e\x65\x61\x63\x68\x28\x7b\x73\x63\x72\x6f\ -\x6c\x6c\x4c\x65\x66\x74\x3a\x22\x70\x61\x67\x65\x58\x4f\x66\x66\ -\x73\x65\x74\x22\x2c\x73\x63\x72\x6f\x6c\x6c\x54\x6f\x70\x3a\x22\ -\x70\x61\x67\x65\x59\x4f\x66\x66\x73\x65\x74\x22\x7d\x2c\x66\x75\ -\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x29\x7b\x76\x61\x72\x20\ -\x63\x3d\x2f\x59\x2f\x2e\x74\x65\x73\x74\x28\x62\x29\x3b\x6e\x2e\ -\x66\x6e\x5b\x61\x5d\x3d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x64\ -\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x57\x28\x74\x68\x69\x73\x2c\ -\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x64\x2c\x65\x29\x7b\ -\x76\x61\x72\x20\x66\x3d\x65\x64\x28\x61\x29\x3b\x72\x65\x74\x75\ -\x72\x6e\x20\x76\x6f\x69\x64\x20\x30\x3d\x3d\x3d\x65\x3f\x66\x3f\ -\x62\x20\x69\x6e\x20\x66\x3f\x66\x5b\x62\x5d\x3a\x66\x2e\x64\x6f\ -\x63\x75\x6d\x65\x6e\x74\x2e\x64\x6f\x63\x75\x6d\x65\x6e\x74\x45\ -\x6c\x65\x6d\x65\x6e\x74\x5b\x64\x5d\x3a\x61\x5b\x64\x5d\x3a\x76\ -\x6f\x69\x64\x28\x66\x3f\x66\x2e\x73\x63\x72\x6f\x6c\x6c\x54\x6f\ -\x28\x63\x3f\x6e\x28\x66\x29\x2e\x73\x63\x72\x6f\x6c\x6c\x4c\x65\ -\x66\x74\x28\x29\x3a\x65\x2c\x63\x3f\x65\x3a\x6e\x28\x66\x29\x2e\ -\x73\x63\x72\x6f\x6c\x6c\x54\x6f\x70\x28\x29\x29\x3a\x61\x5b\x64\ -\x5d\x3d\x65\x29\x7d\x2c\x61\x2c\x64\x2c\x61\x72\x67\x75\x6d\x65\ -\x6e\x74\x73\x2e\x6c\x65\x6e\x67\x74\x68\x2c\x6e\x75\x6c\x6c\x29\ -\x7d\x7d\x29\x2c\x6e\x2e\x65\x61\x63\x68\x28\x5b\x22\x74\x6f\x70\ -\x22\x2c\x22\x6c\x65\x66\x74\x22\x5d\x2c\x66\x75\x6e\x63\x74\x69\ -\x6f\x6e\x28\x61\x2c\x62\x29\x7b\x6e\x2e\x63\x73\x73\x48\x6f\x6f\ -\x6b\x73\x5b\x62\x5d\x3d\x4d\x62\x28\x6c\x2e\x70\x69\x78\x65\x6c\ -\x50\x6f\x73\x69\x74\x69\x6f\x6e\x2c\x66\x75\x6e\x63\x74\x69\x6f\ -\x6e\x28\x61\x2c\x63\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x63\x3f\ -\x28\x63\x3d\x4b\x62\x28\x61\x2c\x62\x29\x2c\x49\x62\x2e\x74\x65\ -\x73\x74\x28\x63\x29\x3f\x6e\x28\x61\x29\x2e\x70\x6f\x73\x69\x74\ -\x69\x6f\x6e\x28\x29\x5b\x62\x5d\x2b\x22\x70\x78\x22\x3a\x63\x29\ -\x3a\x76\x6f\x69\x64\x20\x30\x7d\x29\x7d\x29\x2c\x6e\x2e\x65\x61\ -\x63\x68\x28\x7b\x48\x65\x69\x67\x68\x74\x3a\x22\x68\x65\x69\x67\ -\x68\x74\x22\x2c\x57\x69\x64\x74\x68\x3a\x22\x77\x69\x64\x74\x68\ -\x22\x7d\x2c\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x61\x2c\x62\x29\ -\x7b\x6e\x2e\x65\x61\x63\x68\x28\x7b\x70\x61\x64\x64\x69\x6e\x67\ -\x3a\x22\x69\x6e\x6e\x65\x72\x22\x2b\x61\x2c\x63\x6f\x6e\x74\x65\ -\x6e\x74\x3a\x62\x2c\x22\x22\x3a\x22\x6f\x75\x74\x65\x72\x22\x2b\ -\x61\x7d\x2c\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x63\x2c\x64\x29\ -\x7b\x6e\x2e\x66\x6e\x5b\x64\x5d\x3d\x66\x75\x6e\x63\x74\x69\x6f\ -\x6e\x28\x64\x2c\x65\x29\x7b\x76\x61\x72\x20\x66\x3d\x61\x72\x67\ -\x75\x6d\x65\x6e\x74\x73\x2e\x6c\x65\x6e\x67\x74\x68\x26\x26\x28\ -\x63\x7c\x7c\x22\x62\x6f\x6f\x6c\x65\x61\x6e\x22\x21\x3d\x74\x79\ -\x70\x65\x6f\x66\x20\x64\x29\x2c\x67\x3d\x63\x7c\x7c\x28\x64\x3d\ -\x3d\x3d\x21\x30\x7c\x7c\x65\x3d\x3d\x3d\x21\x30\x3f\x22\x6d\x61\ -\x72\x67\x69\x6e\x22\x3a\x22\x62\x6f\x72\x64\x65\x72\x22\x29\x3b\ -\x72\x65\x74\x75\x72\x6e\x20\x57\x28\x74\x68\x69\x73\x2c\x66\x75\ -\x6e\x63\x74\x69\x6f\x6e\x28\x62\x2c\x63\x2c\x64\x29\x7b\x76\x61\ -\x72\x20\x65\x3b\x72\x65\x74\x75\x72\x6e\x20\x6e\x2e\x69\x73\x57\ -\x69\x6e\x64\x6f\x77\x28\x62\x29\x3f\x62\x2e\x64\x6f\x63\x75\x6d\ -\x65\x6e\x74\x2e\x64\x6f\x63\x75\x6d\x65\x6e\x74\x45\x6c\x65\x6d\ -\x65\x6e\x74\x5b\x22\x63\x6c\x69\x65\x6e\x74\x22\x2b\x61\x5d\x3a\ -\x39\x3d\x3d\x3d\x62\x2e\x6e\x6f\x64\x65\x54\x79\x70\x65\x3f\x28\ -\x65\x3d\x62\x2e\x64\x6f\x63\x75\x6d\x65\x6e\x74\x45\x6c\x65\x6d\ -\x65\x6e\x74\x2c\x4d\x61\x74\x68\x2e\x6d\x61\x78\x28\x62\x2e\x62\ -\x6f\x64\x79\x5b\x22\x73\x63\x72\x6f\x6c\x6c\x22\x2b\x61\x5d\x2c\ -\x65\x5b\x22\x73\x63\x72\x6f\x6c\x6c\x22\x2b\x61\x5d\x2c\x62\x2e\ -\x62\x6f\x64\x79\x5b\x22\x6f\x66\x66\x73\x65\x74\x22\x2b\x61\x5d\ -\x2c\x65\x5b\x22\x6f\x66\x66\x73\x65\x74\x22\x2b\x61\x5d\x2c\x65\ -\x5b\x22\x63\x6c\x69\x65\x6e\x74\x22\x2b\x61\x5d\x29\x29\x3a\x76\ -\x6f\x69\x64\x20\x30\x3d\x3d\x3d\x64\x3f\x6e\x2e\x63\x73\x73\x28\ -\x62\x2c\x63\x2c\x67\x29\x3a\x6e\x2e\x73\x74\x79\x6c\x65\x28\x62\ -\x2c\x63\x2c\x64\x2c\x67\x29\x7d\x2c\x62\x2c\x66\x3f\x64\x3a\x76\ -\x6f\x69\x64\x20\x30\x2c\x66\x2c\x6e\x75\x6c\x6c\x29\x7d\x7d\x29\ -\x7d\x29\x2c\x6e\x2e\x66\x6e\x2e\x73\x69\x7a\x65\x3d\x66\x75\x6e\ -\x63\x74\x69\x6f\x6e\x28\x29\x7b\x72\x65\x74\x75\x72\x6e\x20\x74\ -\x68\x69\x73\x2e\x6c\x65\x6e\x67\x74\x68\x7d\x2c\x6e\x2e\x66\x6e\ -\x2e\x61\x6e\x64\x53\x65\x6c\x66\x3d\x6e\x2e\x66\x6e\x2e\x61\x64\ -\x64\x42\x61\x63\x6b\x2c\x22\x66\x75\x6e\x63\x74\x69\x6f\x6e\x22\ -\x3d\x3d\x74\x79\x70\x65\x6f\x66\x20\x64\x65\x66\x69\x6e\x65\x26\ -\x26\x64\x65\x66\x69\x6e\x65\x2e\x61\x6d\x64\x26\x26\x64\x65\x66\ -\x69\x6e\x65\x28\x22\x6a\x71\x75\x65\x72\x79\x22\x2c\x5b\x5d\x2c\ -\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x72\x65\x74\x75\x72\ -\x6e\x20\x6e\x7d\x29\x3b\x76\x61\x72\x20\x66\x64\x3d\x61\x2e\x6a\ -\x51\x75\x65\x72\x79\x2c\x67\x64\x3d\x61\x2e\x24\x3b\x72\x65\x74\ -\x75\x72\x6e\x20\x6e\x2e\x6e\x6f\x43\x6f\x6e\x66\x6c\x69\x63\x74\ -\x3d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x62\x29\x7b\x72\x65\x74\ -\x75\x72\x6e\x20\x61\x2e\x24\x3d\x3d\x3d\x6e\x26\x26\x28\x61\x2e\ -\x24\x3d\x67\x64\x29\x2c\x62\x26\x26\x61\x2e\x6a\x51\x75\x65\x72\ -\x79\x3d\x3d\x3d\x6e\x26\x26\x28\x61\x2e\x6a\x51\x75\x65\x72\x79\ -\x3d\x66\x64\x29\x2c\x6e\x7d\x2c\x74\x79\x70\x65\x6f\x66\x20\x62\ -\x3d\x3d\x3d\x4c\x26\x26\x28\x61\x2e\x6a\x51\x75\x65\x72\x79\x3d\ -\x61\x2e\x24\x3d\x6e\x29\x2c\x6e\x7d\x29\x3b\ -\x00\x00\x09\xf8\ -\x00\ -\x00\x2c\xc1\x78\x9c\xb5\x5a\x5f\x6f\xdb\xc8\x11\x7f\x2f\xd0\xef\ -\xc0\xf2\xd2\x8a\x8a\x29\x8a\xb6\xeb\x20\xb1\x2c\x03\x57\xdf\x15\ -\x48\x70\xb9\xb8\x77\xee\xa1\x07\x23\x30\x96\xd4\x4a\xa2\x4d\x71\ -\x99\xe5\x4a\x96\x90\xf8\xa5\x2f\x7d\xee\x63\x1f\x0a\xb4\x7d\x38\ -\x14\xfd\x04\x3d\xdc\x43\x3f\xcd\xa5\xfd\x18\x9d\xd9\x25\x69\x4a\ -\xe2\x2e\xa9\x8b\xb3\x48\xac\x15\x39\xb3\x3b\x3b\x7f\x7e\x33\xbb\ -\xda\x93\x5f\x7c\xf6\xea\xec\xe2\xdb\xf3\xcf\xad\xa9\x98\xc5\xa7\ -\x27\xf8\xd7\xca\xe2\x28\xbc\xe9\xcd\x93\xe8\xcd\x9c\x46\xa3\xa1\ -\xbd\x6f\x9f\xfe\xfc\x67\x16\xb4\x93\x29\x25\xa3\xbc\x2f\xbf\xcf\ -\xa8\x20\xc0\x29\xd2\x1e\x7d\x33\x8f\x16\x43\xfb\x8c\x25\x82\x26\ -\xa2\x77\xb1\x4a\xa9\x6d\x85\xea\xdb\xd0\x16\x74\x29\xfa\x38\xf6\ -\xc0\x0a\xa7\x84\x67\x54\x0c\x7f\x7f\xf1\xdb\xde\x53\xbb\x3a\x98\ -\x88\x44\x4c\x2b\x0f\xb0\xbd\xff\xc7\x77\x3f\x7e\xff\xc3\xfb\xbf\ -\xfd\xb9\x77\x1e\x93\x6c\x46\x2e\x38\xa5\x15\x96\xfe\x26\x8f\x92\ -\x28\x21\x33\x3a\xb4\xc9\x5c\x4c\x19\xaf\x48\x31\x9b\xd2\x94\xde\ -\xdc\x10\x5b\xc3\xc0\x59\xc0\x44\x56\x61\x88\x92\x11\x5d\xba\x63\ -\x16\xc7\xec\x56\xc7\x14\xb2\x74\xc5\xa3\xc9\x54\x54\xf8\xce\x8a\ -\x67\xd6\x81\xbf\xef\x5b\xb5\xf3\x66\x62\x15\x53\x4b\x80\x9e\x72\ -\xf5\x84\x59\x66\x6f\xac\xde\x1b\x33\x26\x28\x7f\x9b\xb2\x08\x46\ -\xe6\x3d\xba\x80\xe1\xb3\x63\x2b\x61\x09\x1d\xa4\x2c\x8b\x44\xc4\ -\x92\x63\x12\x64\x2c\x9e\x0b\x3a\x00\xe9\x05\x9b\x1d\xfb\x83\xdb\ -\x68\x24\xa6\xc7\xfb\xbe\xff\xcb\xc1\x94\xa2\x1c\xc7\x47\x7e\xba\ -\x1c\x04\x24\xbc\x99\x70\x36\x4f\x46\xbd\x90\xc5\x8c\x1f\x5b\x7c\ -\x12\x10\xe7\xe0\xe8\xc8\x2d\xfe\xfb\xde\x51\x77\x70\x57\xd5\xb0\ -\x94\x73\x4d\xf0\x90\x47\xa9\xb0\x32\x1e\x0e\xed\x37\x3c\x3c\xee\ -\x5f\x83\x9b\xf0\x95\x77\x0d\xe2\x03\xb9\x7c\x5b\x43\x5f\x59\xe9\ -\x35\x59\x10\xf5\x74\x73\xc1\xce\x78\x9e\x84\xb8\x28\xe7\x51\xd7\ -\x7a\xbb\xfe\x0e\xdb\x82\x70\xeb\x1b\x1a\x0a\xc6\xad\xa1\x55\xd2\ -\x2e\x5d\x6b\x55\x4b\x8e\x4d\x4c\xa3\xcc\x5b\x02\xf9\xd2\x7a\xf7\ -\xce\xf2\x07\x06\xaa\x15\x50\xad\x74\x54\x77\x35\xcf\x94\x28\x5e\ -\xca\x99\x60\xb8\x3e\xe0\xd7\x48\x41\x46\xa3\xe3\x7b\x81\x17\x5a\ -\x69\x2b\x12\xef\x0d\xad\x85\xb7\xd4\xc8\x5b\x91\x59\xd2\xad\x0c\ -\x74\x9c\x8a\x39\x4f\x24\xb9\x86\xea\xce\xad\x7f\x1e\xd3\x64\x02\ -\x8e\x74\x2f\xb8\x51\xee\x7c\x9e\x97\x44\x4c\xbd\xec\x0d\x17\x4e\ -\xbe\x90\xc7\xe5\x8a\x0a\x91\xf3\x27\xab\xee\x8e\xf2\x80\x9e\x89\ -\xa0\x15\x79\xc4\x14\x02\xd1\x28\x14\x7a\x0c\x5a\x5f\x89\x60\xd0\ -\x12\x12\xae\x0a\x42\x93\x3a\x4b\x87\x92\x0b\x0d\x59\x56\x48\x51\ -\xae\xb3\x97\xeb\x20\x4a\x36\x5e\x35\x0e\xbb\x2a\x86\xdd\xe6\x45\ -\xf5\x69\x66\x34\x0d\xdb\xef\x1b\xe4\xad\x17\xb5\xc5\x70\xf5\x72\ -\xd6\x8b\xf8\x71\x5c\x73\x36\x8f\x45\xc5\x11\xc6\x6d\x22\xea\x31\ -\x60\x46\xb3\x05\x1a\xa8\x5a\x88\xdc\x0e\x3c\xd0\xe1\xbe\xa0\x64\ -\x5c\x45\xb2\xd4\xb5\xb8\x6b\x85\xf0\x4f\x2c\xcd\x88\x96\x02\x5b\ -\x8a\x58\x95\xcc\xe3\xd8\x04\x6a\x88\x94\xbc\x11\xfa\x42\xa0\x0a\ -\x91\xaa\xb3\x95\x12\xf6\x3d\xbf\xdb\x31\xf2\x0a\xf4\x2e\xf8\x5b\ -\x87\x9a\xdb\x8f\x70\xcd\x6d\x20\x93\x53\xc8\xbe\xbc\x2d\xf8\xa0\ -\x36\xc5\x94\x88\x3c\x82\x1b\x02\x5d\x89\x5c\x48\xdf\x40\x8c\x16\ -\xfa\x0d\x27\x49\x38\xf5\xe0\xef\x88\xcd\x9c\x7d\xd7\x3a\xe8\xea\ -\x99\xc6\x90\x9e\x1c\xe4\x8c\x80\xd3\x1f\xc0\xc7\x89\x75\x04\x1f\ -\x7b\x7b\xc6\x25\x60\xbb\x4f\x80\xbc\x91\x16\x1b\x54\x52\x17\xd1\ -\x8c\xb2\xb9\x70\xda\xe9\xa9\xda\x60\xe9\x5e\x40\x27\x51\x72\x0e\ -\x41\xeb\xe8\xc0\xb8\x8e\x6b\x1c\xc5\xf1\xd7\xb2\x80\x19\x4a\xad\ -\x7b\xb2\x9e\xd8\x61\x80\x19\x5b\xd0\x0b\xe6\x48\xde\xd4\x83\x04\ -\x9e\xf7\xb4\x29\xa1\x6e\x10\xc2\xc3\x9a\x11\x64\x08\xf9\x6e\x61\ -\xb2\x30\xe2\x61\x4c\xe1\x35\x9f\xd3\x5d\x97\xd8\x4a\x27\x3a\x84\ -\xaa\x36\x0e\x38\xf8\xc4\x6f\x1a\xed\xae\xeb\x44\x26\x9a\x9a\x60\ -\xd2\x3c\xae\x79\x84\xfe\xa8\x54\xb2\x01\x38\x8b\x02\x73\xc4\x03\ -\x21\xce\x02\x08\x17\x0f\x07\x4d\xaa\x08\x91\x91\x64\xa0\x9a\xd0\ -\x84\x72\x82\x6b\x02\xca\x7d\x13\xa5\x80\x2d\x04\xba\x6d\x1b\x09\ -\xa5\x5b\x7f\x00\x34\x72\x88\xae\x0c\x2a\xf7\x5a\x47\xaa\x4b\x0a\ -\xb9\xd3\xb6\x82\x47\x35\x74\x5b\x80\x2c\xd7\xee\x41\x2d\xaa\xa6\ -\x91\x05\xda\xae\x35\xd8\x88\x93\xdb\x5d\x40\xb9\x02\xb5\x72\x76\ -\x33\xde\xb6\x87\xa4\x6d\x18\x2a\xec\xd5\xc0\x54\x42\x0f\xfa\xb4\ -\x02\x0e\xd9\x33\x42\xcf\x3d\xdc\x6c\x72\xe5\xbd\x9f\x84\x39\x8d\ -\x38\xa3\xad\x7e\xd8\x28\x1a\xaf\x76\x31\x03\x49\x26\x52\x4d\xbe\ -\xb7\xff\x14\xaa\x3e\x07\x3e\x7d\xab\xbf\x19\x3b\x26\x61\xf3\x05\ -\x83\xf7\x28\x2d\x2c\x1a\x89\xf3\xc8\xdd\xcb\x8d\xb3\xc8\x1f\x18\ -\xcd\x9a\x03\xc3\x63\x94\xf4\xd9\xb3\x26\xc2\x85\xa7\xb6\x04\xce\ -\x7a\x7e\x86\x05\xca\xf5\xba\xea\xa3\xdb\x1d\x40\xe1\xea\x61\xc9\ -\xe8\xe0\xa8\x4f\x4c\x02\x44\x63\xcb\xc9\x85\x38\x01\x19\x9e\x62\ -\xe4\x6f\x22\xcc\xa9\xb5\xef\x37\x66\xd9\x7b\x97\xe7\x14\x7d\xae\ -\x45\xcc\x15\x0d\x0d\x16\x83\xb1\x12\x7a\x2b\xcb\xa5\xdc\xed\x5c\ -\x98\xd6\xad\x38\xba\xbb\x1e\x56\x4d\xa3\xc6\x9e\x2a\xa9\x8c\xfa\ -\xd7\xe5\x18\x8d\x23\x4e\x38\x6b\x8d\x06\x52\x58\x84\x8f\x66\x07\ -\x50\xfe\xdd\x4c\x07\x95\xd6\xcd\xce\xc1\x83\x4c\xbb\x84\x4e\x5a\ -\xa0\x4b\xee\xcf\xbd\xcd\x6a\xd0\x07\xab\x1c\xf8\xbe\xf4\x32\xd8\ -\x02\x39\x9b\xee\xf2\x18\xdd\xa5\xc1\xe5\x52\x70\xaa\x66\x9f\x42\ -\x71\x92\x62\xef\x25\x4f\x72\x9c\xad\xca\xf4\xb0\xdb\xe4\x08\xf7\ -\x5e\x93\x41\xf0\x48\x25\x62\x90\x26\xb0\x32\x5d\xe6\xac\xe8\x6e\ -\xab\xb4\x4d\xda\x95\xb6\xd8\x0a\x7c\x8c\x59\x42\x5b\x45\x82\xc6\ -\x1d\xb7\x57\xb2\x53\x8c\xed\x50\x48\xe9\x73\xb4\x02\x79\x50\xc3\ -\x01\x18\x58\x1a\xe4\xfc\xb9\x9e\x5a\xd9\xa7\x5a\x7a\xcd\xa2\xc4\ -\xb5\x66\x44\xbf\xcf\xab\x9e\xa7\xe4\xe6\xc5\xfd\xb4\x03\x3c\x60\ -\x29\x60\xef\x82\xb3\xc1\xc7\x6e\xa5\x85\xd4\x7d\x55\x8e\x40\x2b\ -\x00\xda\x99\xe7\x30\x94\x6b\x16\xbb\xea\xd4\xcb\x09\x54\x1e\x0c\ -\x64\xea\x74\xad\xb5\x37\x0b\xf5\x66\x21\xdf\x04\x98\x1c\x83\x02\ -\xb2\x02\x69\x2f\x9d\x75\xf8\x7a\x21\x17\x54\xbf\xee\x69\xbd\x33\ -\xd7\x54\x5d\xe6\x37\x68\x02\xcb\xb9\xaa\x22\x40\xb8\x09\xc8\x07\ -\x49\xa3\xc9\x24\xaa\x12\xec\x80\x44\x1c\xfe\x77\x5c\xec\x4d\xca\ -\x5e\x50\xf6\x08\xf6\x6a\x2b\x44\x93\x58\xd2\xd4\x9b\xc2\x15\xde\ -\xd2\x42\xba\xca\xf2\x1c\x2d\x50\x94\xde\x07\x06\x7a\x38\x22\xd2\ -\xb6\xce\x45\xd7\xba\x50\x85\x78\x33\x10\x23\x71\x20\xe7\xa4\x19\ -\x30\x5c\xbe\xd6\xb8\x81\x3c\x03\x80\xdd\xb0\xae\x02\x94\x68\x81\ -\x90\xa7\xaf\xaa\xb1\xa9\xfc\xe0\x1b\xb6\x75\xc5\xb9\xa8\xaf\xc1\ -\x11\xd3\xfc\x65\xf5\xdd\x2e\x06\xb1\x15\x6b\xf7\xd2\x79\x36\x05\ -\x5a\x5d\xbe\x33\xef\x44\xee\xf1\xb1\xfd\xcc\x75\x70\x5f\x4a\xa3\ -\xb4\xd0\x0e\xfc\x31\xc5\x15\x8c\x97\xd1\x6b\x6b\x38\x84\xe0\x6e\ -\x95\x32\xca\xe9\xb2\x34\x8e\x42\xea\x44\x50\x05\xb5\xd9\x96\xab\ -\x60\xf8\xe9\xe9\x45\x97\x23\xcc\x4a\xc6\xfa\xaa\xaa\xde\x71\xf2\ -\x40\xa7\x56\xd2\xaf\x81\x2c\xa3\xe2\x39\xfe\x16\xb4\x20\xf1\x0e\ -\x27\x3e\xe3\xc4\x23\x69\x1a\xaf\xe4\x71\x09\x84\x29\x9f\xcc\x67\ -\xf8\x53\x52\x93\x22\xab\x66\x2b\xca\x9f\x36\x75\x8a\x9c\xf3\xa1\ -\x7c\xa7\x68\x15\xff\xf1\xb0\xee\x6c\x77\x3a\xf3\x41\xf5\x05\x8d\ -\x33\xda\x46\xbc\x7e\x1f\x4a\x01\xc2\x4b\xcb\x48\x6b\x7d\x40\x6d\ -\x63\x3a\x53\x82\x72\x13\x77\x6e\x87\xda\x92\xd2\xe8\xa2\x51\x12\ -\x89\xaa\x83\x9a\x0e\x9a\x4b\x26\xd3\x09\x6f\xe3\x8c\x24\x60\x5c\ -\xb4\xc2\x79\x6c\x6d\x70\xbe\x1c\xba\x19\xcb\xb1\x35\xe3\x39\xb6\ -\x06\x4c\xc7\xb6\x03\x24\xd4\x3d\x2b\x14\x60\xa1\x0d\xf4\x5a\x80\ -\x3d\x04\x12\xe8\x53\xdc\xa3\xdb\x08\x12\xef\x2d\x2c\xfc\x91\xa3\ -\xba\x3a\x4f\x90\xd4\x01\x1b\xad\x24\xad\x8d\x3d\xdb\x44\x1b\x92\ -\x64\x41\xb2\x2b\xf9\xf3\x31\xb2\xa8\xd1\x3d\xf9\x5d\x1b\x6d\x15\ -\x46\xf5\x63\x73\x85\x53\x3d\x80\xb5\xf6\xb4\xa7\x77\x92\x9d\x62\ -\xe0\x5c\x49\x27\xab\x8a\xd0\xb7\x0e\x0c\x5c\x19\x14\x92\x22\x9c\ -\x5e\x8d\x49\xfe\x83\xf0\x13\x19\x18\x6b\xb2\x18\xd8\x57\x57\x59\ -\x4a\xe9\x08\xf8\x0e\x81\x6b\x7d\x30\x93\x3e\xd1\xe9\x5e\x66\x13\ -\xa5\xd2\x4f\xf2\x6f\x5a\xb5\x82\x35\xc5\xb2\x49\x71\x72\xac\xce\ -\x27\xea\x4b\xa7\x7b\xe9\xeb\x3c\x5f\x51\x78\x85\x81\xaa\xca\x32\ -\x73\x94\x96\x69\xab\x9d\x3c\xe4\x15\xf7\x84\x0a\x79\xb1\x63\x29\ -\x1c\xfb\x60\xa4\x5d\x2b\x1e\x67\x4d\x62\x16\x90\xf8\x8c\xcd\xe4\ -\xf5\x04\xfa\x2a\xbd\x2f\xe6\xed\x18\xe7\xa4\xdc\x36\xa8\x6a\xed\ -\x7a\xc7\xa6\x4c\x22\xdf\x8b\x60\xe1\xa8\x75\x47\x21\x21\xce\x31\ -\x9c\x87\xd4\x25\xa6\xc3\xe6\x54\x54\xbf\x0b\x2a\x5c\xd7\x5d\xd7\ -\xec\xfa\x86\xa8\xba\x85\xc3\x4d\x36\x96\x30\xae\xd5\xcb\x3d\x10\ -\xba\xfb\x47\x5b\x2e\xe8\x6e\xef\x07\x1c\x3c\x67\x38\x3a\x72\x2d\ -\xdf\x3b\xec\xe2\x79\xbd\x0e\x8e\x75\x9a\xc9\xcf\x7f\xda\x21\x71\ -\xe1\xe8\x1e\xde\xdb\x71\x4a\xbc\x95\xc7\x05\xda\x99\x0d\x61\xa0\ -\x2e\xaf\xd4\xbf\xc6\x48\xc2\x93\xa1\x4f\x39\x25\x76\x17\xf6\xa8\ -\x51\x78\x73\x2f\x26\x35\xca\xd9\xef\x53\x2f\xe5\x72\xf4\xcf\xe8\ -\x98\xe0\x21\x9f\x29\xf3\xca\x0b\x01\xae\xf1\x57\x69\xf4\x7c\x18\ -\x93\x4c\xe8\x1f\xc0\x5a\x72\xe5\x6c\x3c\x86\xca\xeb\x0b\x3a\xd6\ -\xc5\x0c\xb6\x55\xc9\xf7\xed\x3a\xdf\x05\x4b\x0d\x6c\xf5\x8e\x65\ -\xf6\x28\xff\x63\xba\x8f\xee\x05\x5a\x29\x10\xc9\x19\x96\x3a\xbb\ -\x5a\x09\xcf\x9a\x58\x7a\xce\x19\xa8\x87\x28\xe7\x33\x65\x77\x55\ -\x35\x34\xfe\x00\x20\xab\xae\xaf\x40\x25\xb8\x36\xdf\x5d\x03\xc4\ -\x4d\xfd\x19\x86\x5a\x77\x75\xdb\xd7\x22\x5c\x93\x6a\xbe\xa2\x31\ -\x23\xa3\x8f\xab\x9b\x3c\xb5\xc6\x2c\x94\xb4\x10\xd4\x38\xa7\xfe\ -\x14\xb4\x41\xe4\x2f\xe9\xed\xe7\x4b\x40\xe9\x08\x37\x04\xbb\x4a\ -\xbe\x21\x0b\x82\x3c\xde\x06\x3c\xee\xf7\x49\xbc\x8a\xbd\x45\x94\ -\xea\xc0\xbe\x56\xac\x1a\xe0\x7a\xd4\x02\xad\x54\x3d\x55\x37\xde\ -\xe6\xc3\xbb\xae\x73\xfd\x3b\xbc\xad\x56\x7d\xb1\x71\x69\xed\xa4\ -\x5f\xb9\xe5\x98\x3f\x92\x35\xd4\x74\x4e\x02\x92\x5c\x01\x31\xa5\ -\xc9\x55\x48\x52\xd8\x60\xd2\xab\x28\xb9\x06\xff\xa3\xa3\xa1\x8d\ -\xbf\xf6\xd8\x96\xbc\x2f\x37\xb4\xd7\xee\xfa\x8d\xa2\x85\x85\x17\ -\x29\x4b\x88\xdb\xb8\xf6\x56\x12\x04\x73\x21\x58\x52\x4b\xd2\x07\ -\x9a\xcd\x67\x79\xf5\x80\x9c\xaa\x6b\x5b\xd2\xf5\x87\xf6\xfe\x93\ -\x5f\x1f\xd8\x96\xf2\xfc\xa1\x7d\xf4\xec\x70\x7b\x3c\xc5\x51\x15\ -\x73\x63\x0a\x29\x55\x18\x93\x2c\x1b\xda\xea\x22\xa2\x7d\x7a\xa2\ -\xf2\xdd\xe9\x7f\xff\xf8\xfd\xaf\x92\x20\x4b\x07\x3f\xfe\xe9\x07\ -\xd5\xf9\xdf\x7f\xfe\xa2\x3a\xef\xff\xfa\xf7\xbc\xf3\xcf\x7f\xe5\ -\x34\xff\xfe\x0e\xa6\x53\x8c\x5b\x93\xe4\xd7\x03\x8b\x6b\xa1\xf6\ -\x5c\x8c\xd7\xef\x85\x62\xbb\x77\x82\x5b\xd7\x1a\xc9\x73\xba\x17\ -\xda\x0b\x82\x78\xa8\xf4\x02\x42\x8a\x47\xc9\x24\x1a\xcb\x0b\x7d\ -\x2f\x3c\x9a\x84\x6c\x44\x6b\x7c\x64\x74\x39\x79\x0d\x0c\xf2\x03\ -\x28\xdf\xd6\x55\xee\xf8\xf2\xb2\x93\x4d\xd9\xed\x37\x24\x8e\x46\ -\xcf\x67\x00\xf1\x59\xa7\x60\xab\x7b\xf3\xee\x9d\xbe\xfe\xd7\x3b\ -\xf2\xad\x07\x55\x93\x78\x49\xb3\x0c\x86\x71\xa8\x63\x88\xbc\xce\ -\x2c\x9b\x74\x8e\x9b\xb6\x3e\x1d\xa4\x99\x34\xec\x7c\x3a\x33\x20\ -\xea\x64\x9d\xdd\x37\x3e\x90\x45\x4a\x18\x9a\x72\x3a\x6e\x11\xd3\ -\x10\x81\x0a\x34\xc0\x8e\x2c\x94\xa7\x10\xae\xd5\xb9\xba\x52\xc1\ -\xd5\x01\xbb\x7e\xfd\xea\x4b\x63\x74\x62\x2c\xc2\x97\x13\x79\x9f\ -\xf8\xf4\xff\x1c\x6c\x23\xd4\ -" - -qt_resource_name = b"\ -\x00\x09\ -\x0b\xc9\x66\x13\ -\x00\x6a\ -\x00\x71\x00\x75\x00\x65\x00\x72\x00\x79\x00\x2e\x00\x6a\x00\x73\ -\x00\x09\ -\x0b\x84\x0c\x3c\ -\x00\x74\ -\x00\x72\x00\x65\x00\x65\x00\x2e\x00\x68\x00\x74\x00\x6d\x00\x6c\ -" - -qt_resource_struct = b"\ -\x00\x00\x00\x00\x00\x02\x00\x00\x00\x02\x00\x00\x00\x01\ -\x00\x00\x00\x18\x00\x01\x00\x00\x00\x01\x00\x01\x78\x80\ -\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\ -" - -def qInitResources(): - QtCore.qRegisterResourceData(0x01, qt_resource_struct, qt_resource_name, qt_resource_data) - -def qCleanupResources(): - QtCore.qUnregisterResourceData(0x01, qt_resource_struct, qt_resource_name, qt_resource_data) - -qInitResources() diff --git a/浏览器/README.md b/浏览器/README.md deleted file mode 100644 index 55d0dfe..0000000 --- a/浏览器/README.md +++ /dev/null @@ -1,21 +0,0 @@ -# 浏览器 - -## [1、QWebView](QWebView) - -### 1. [梦幻树](QWebView/梦幻树) -在桌面上显示透明html效果,使用`QWebkit`加载html实现,采用窗口背景透明和穿透方式 - -![截图](QWebView/梦幻树/ScreenShot/梦幻树.png) - -### 2. [获取Cookie](QWebView/获取Cookie) -`QWebView`很简单,从`page()`中得到`QNetworkAccessManager`,在从中得到`QNetworkCookieJar`, -最后得到cookie,当然也可以设置自己的`QNetworkCookieJar` - -![截图](QWebView/获取Cookie/ScreenShot/获取Cookie.png) - -## [2、QWebEngineView](QWebEngineView) - -### 1. [获取Cookie](QWebEngineView/获取Cookie) -`QWebEngineView`的话目前是通过`QWebEngineProfile`中得到的`cookieStore`并绑定它的`cookieAdded`信号来得到Cookie - -![截图](QWebEngineView/获取Cookie/ScreenShot/获取Cookie.png) \ No newline at end of file diff --git a/滑动条/README.md b/滑动条/README.md deleted file mode 100644 index 806f5df..0000000 --- a/滑动条/README.md +++ /dev/null @@ -1,37 +0,0 @@ -# 滑动条 - -## [1、滑动条点击定位](滑动条点击定位.py) - -1. `QSlider`对鼠标点击然后跳转到该位置的支持不是很好,通过重写鼠标点击事件`mousePressEvent`来达到效果 -1. 通过`style`的`subControlRect`方法计算得到滑块的区域,当鼠标点击区域在此次时则交给系统自己处理(比如按住不放拖动) -1. 通过`orientation`判断滑动条的方向(横竖) -1. 通过`invertedAppearance`判断滑动条是否反向(左右、上下) - -核心代码: - -```python -def mousePressEvent(self, event): - # 获取上面的拉动块位置 - option = QStyleOptionSlider() - self.initStyleOption(option) - rect = self.style().subControlRect( - QStyle.CC_Slider, option, QStyle.SC_SliderHandle, self) - if rect.contains(event.pos()): - # 如果鼠标点击的位置在滑块上则交给Qt自行处理 - super(JumpSlider, self).mousePressEvent(event) - return - if self.orientation() == Qt.Horizontal: - # 横向,要考虑invertedAppearance是否反向显示的问题 - self.setValue(self.style().sliderValueFromPosition( - self.minimum(), self.maximum(), - event.x() if not self.invertedAppearance() else (self.width( - ) - event.x()), self.width())) - else: - # 纵向 - self.setValue(self.style().sliderValueFromPosition( - self.minimum(), self.maximum(), - (self.height() - event.y()) if not self.invertedAppearance( - ) else event.y(), self.height())) -``` - -![截图](ScreenShot/滑动条点击定位.gif) \ No newline at end of file diff --git a/滚动条/README.md b/滚动条/README.md deleted file mode 100644 index f68f406..0000000 --- a/滚动条/README.md +++ /dev/null @@ -1 +0,0 @@ -# 按钮 \ No newline at end of file diff --git a/级联/README.md b/级联/README.md deleted file mode 100644 index f68f406..0000000 --- a/级联/README.md +++ /dev/null @@ -1 +0,0 @@ -# 按钮 \ No newline at end of file diff --git a/表格/QTableView/README.md b/表格/QTableView/README.md deleted file mode 100644 index 16cf747..0000000 --- a/表格/QTableView/README.md +++ /dev/null @@ -1,10 +0,0 @@ -# 表格控件 QTableView - -## [1、表格内容复制](表格内容复制.py) - -1. 通过构造一个和选中区域一样的空数组,然后对数组进行填充形成表格 -1. 最后循环数组用`\t`进行拼接`join`,换行用`\r\n` -1. 把字符串复制到剪切板中 - -![截图](ScreenShot/表格内容复制1.png)![截图](ScreenShot/表格内容复制2.png) - diff --git a/表格/QTableView/ScreenShot/表格内容复制1.png b/表格/QTableView/ScreenShot/表格内容复制1.png deleted file mode 100644 index 0034297759c29761491b3bf1100f4eb1f041b0e2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25294 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 A2LJ#7 diff --git a/表格/QTableView/ScreenShot/表格内容复制2.png b/表格/QTableView/ScreenShot/表格内容复制2.png deleted file mode 100644 index 6c7118e71329c31e2b457dc25aa7956dd02e0c65..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14085 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 Dt-s-| diff --git a/表格/QTableView/表格内容复制.py b/表格/QTableView/表格内容复制.py deleted file mode 100644 index c7c99a0..0000000 --- a/表格/QTableView/表格内容复制.py +++ /dev/null @@ -1,107 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -''' -Created on 2017年4月6日 -@author: Irony."[讽刺] -@site: https://pyqt5.com, https://github.com/892768447 -@email: 892768447@qq.com -@file: TableView -@description: -''' -from PyQt5.QtCore import Qt -from PyQt5.QtGui import QStandardItemModel, QStandardItem -from PyQt5.QtWidgets import QTableView, QApplication, QAction, QMessageBox - - -__Author__ = "By: Irony.\"[讽刺]\nQQ: 892768447\nEmail: 892768447@qq.com" -__Copyright__ = "Copyright (c) 2017 Irony.\"[讽刺]" -__Version__ = "Version 1.0" - - -class TableView(QTableView): - - def __init__(self, parent=None): - super(TableView, self).__init__(parent) - self.resize(800, 600) - self.setContextMenuPolicy(Qt.ActionsContextMenu) # 右键菜单 - self.setEditTriggers(self.NoEditTriggers) # 禁止编辑 - self.doubleClicked.connect(self.onDoubleClick) - self.addAction(QAction("复制", self, triggered=self.copyData)) - self.myModel = QStandardItemModel() # model - self.initHeader() # 初始化表头 - self.setModel(self.myModel) - self.initData() # 初始化模拟数据 - - def onDoubleClick(self, index): - print(index.row(), index.column(), index.data()) - - def keyPressEvent(self, event): - super(TableView, self).keyPressEvent(event) - # Ctrl + C - if event.modifiers() == Qt.ControlModifier and event.key() == Qt.Key_C: - self.copyData() - - def copyData(self): - count = len(self.selectedIndexes()) - if count == 0: - return - if count == 1: # 只复制了一个 - QApplication.clipboard().setText( - self.selectedIndexes()[0].data()) # 复制到剪贴板中 - QMessageBox.information(self, "提示", "已复制一个数据") - return - rows = set() - cols = set() - for index in self.selectedIndexes(): # 得到所有选择的 - rows.add(index.row()) - cols.add(index.column()) - # print(index.row(),index.column(),index.data()) - if len(rows) == 1: # 一行 - QApplication.clipboard().setText("\t".join( - [index.data() for index in self.selectedIndexes()])) # 复制 - QMessageBox.information(self, "提示", "已复制一行数据") - return - if len(cols) == 1: # 一列 - QApplication.clipboard().setText("\r\n".join( - [index.data() for index in self.selectedIndexes()])) # 复制 - QMessageBox.information(self, "提示", "已复制一列数据") - return - mirow, marow = min(rows), max(rows) # 最(少/多)行 - micol, macol = min(cols), max(cols) # 最(少/多)列 - print(mirow, marow, micol, macol) - arrays = [ - [ - "" for _ in range(macol - micol + 1) - ] for _ in range(marow - mirow + 1) - ] # 创建二维数组(并排除前面的空行和空列) - print(arrays) - # 填充数据 - for index in self.selectedIndexes(): # 遍历所有选择的 - arrays[index.row() - mirow][index.column() - micol] = index.data() - print(arrays) - data = "" # 最后的结果 - for row in arrays: - data += "\t".join(row) + "\r\n" - print(data) - QApplication.clipboard().setText(data) # 复制到剪贴板中 - QMessageBox.information(self, "提示", "已复制") - - def initHeader(self): - for i in range(5): - self.myModel.setHorizontalHeaderItem( - i, QStandardItem("表头" + str(i + 1))) - - def initData(self): - for row in range(100): - for col in range(5): - self.myModel.setItem( - row, col, QStandardItem("row: {row},col: {col}".format(row=row + 1, col=col + 1))) - -if __name__ == "__main__": - import sys - app = QApplication(sys.argv) - app.setApplicationName("TableView") - w = TableView() - w.show() - sys.exit(app.exec_()) diff --git a/表格/QTableWidget/README.md b/表格/QTableWidget/README.md deleted file mode 100644 index cbded33..0000000 --- a/表格/QTableWidget/README.md +++ /dev/null @@ -1,7 +0,0 @@ -# 表格控件 QTableWidget - -[1、Sqlalchemy动态拼接字段查询显示表格](数据库查询显示表格) - -通过判断界面中选择的条件对`Sqlalchemy`的`model`进行字段拼接从而实现按条件查询 - -![截图](数据库查询显示表格/ScreenShot/数据库查询显示表格.png) \ No newline at end of file diff --git a/表格/QTableWidget/数据库查询显示表格/ScreenShot/数据库查询显示表格.png b/表格/QTableWidget/数据库查询显示表格/ScreenShot/数据库查询显示表格.png deleted file mode 100644 index 97761993a93f5bc4d72f99738098251aad8e94c3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 31815 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 J7 - - Form - - - - 0 - 0 - 400 - 362 - - - - Form - - - - - - 姓名 - - - - - - - 座位号 - - - - - - - - - - - 编号 - - - - - 姓名 - - - - - 证件号 - - - - - 航班号 - - - - - 航班日期 - - - - - 座位号 - - - - - 登机口 - - - - - 序号 - - - - - 出发地 - - - - - 目的地 - - - - - - - - - - - - - - 登机口 - - - - - - - 证件号 - - - - - - - - - - 查询 - - - - - - - - diff --git a/表格/README.md b/表格/README.md deleted file mode 100644 index f68f406..0000000 --- a/表格/README.md +++ /dev/null @@ -1 +0,0 @@ -# 按钮 \ No newline at end of file diff --git a/输入框/README.md b/输入框/README.md deleted file mode 100644 index 1f93fea..0000000 --- a/输入框/README.md +++ /dev/null @@ -1,8 +0,0 @@ -# 输入框 - -## [1、QTextEdit](QTextEdit/) - -### 1. [文本查找高亮](QTextEdit/简单查找文字并高亮.py) -主要用到`mergeCurrentCharFormat`函数 - -![截图](QTextEdit/ScreenShot/简单查找文字并高亮.gif) \ No newline at end of file diff --git a/进度条/README.md b/进度条/README.md deleted file mode 100644 index f68f406..0000000 --- a/进度条/README.md +++ /dev/null @@ -1 +0,0 @@ -# 按钮 \ No newline at end of file