Web Camera for mbed-os. This sample works on GR-LYCHEE besides GR-PEACH. When you use this program, we judge you have agreed to the following contents. https://developer.mbed.org/teams/Renesas/wiki/About-LICENSE
Dependencies: HttpServer_snapshot_mbed-os
License
When you use this program, we judge you have agreed to the following contents.
本プログラムを使用する際は、以下の内容に合意した事になります。
Information
Japanese version is available in lower part of this page.
このページの後半に日本語版が用意されています.
Video Links on how to setup and run WebCamera Application:
Your video will be live at:
- https://youtu.be/loTD846FEL0 Part1
- https://youtu.be/uKm77l8kl3A Part2
- https://youtu.be/iwQ9RzwhDNI Part3
Overview
This is a sample program that works on GR-PEACH or GR-LYCHEE.
This is a web camera sample program. When accessing from the Web browser, the following will be displayed.
- Camera input picture
- Control screen of devices connected to the I2C bus
- LED control screen
Requirements
For GR-PEACH (via Wi-Fi):
- GR-PEACH
- GR-PEACH Wireless CAMERA Shield : OV7725
For GR-PEACH (via Ether):
- GR-PEACH
- One of the following
- GR-PEACH Wireless CAMERA Shield : OV7725
- NTSC analog camera
- MT9V111 and GR-PEACH AUDIO CAMERA Shield
- OV5642 and GR-PEACH AUDIO CAMERA Shield
- GR-PEACH Wireless CAMERA Shield : OV7725
For GR-LYCHEE (via Wi-Fi):
- GR-LYCHEE
How to use
Turn on the power to the GR-Board and start the terminal software.
The default value of the bow rate with mbed is 9600, and in this sample we use the baud rate 9600.
When you press the reset button of GR-Board, the scan result of Wifi will be output on Terminal. Please refer to the following link for usage of Terminal.
| ********* PROGRAM START *********** Network Setting up... Scan: No.0 Network: SSID_1 secured:WPA/WPA2 BSSID: xx:xx:xx:xx:xx:xx RSSI: -52 Ch: 1 No.1 Network: SSID_2 secured: Unknown BSSID: xx:xx:xx:xx:xx:xx RSSI: -67 Ch: 2 2 networks available. Please enter the number of the network you want to connect. Enter key:[0]-[1], (If inputting the other key, it's scanned again.) |
Enter the number of the network you want to connect from the keyboard. To select SSID_1, press "0" on the keyboard.
| [SSID_1] is selected. please enter the PSK. |
Finally, enter the password to connect to the network.
If the connection is successful, the IP address is output on Terminal.
| connecting... MAC Address is xx:xx:xx:xx:xx:xx IP Address is 192.168.0.2 NetMask is 255.255.255.240 Gateway Address is 192.168.0.1 Network Setup OK |
When you open IP Address ("192.168.0.2" in the above example) by a Web browser, top screen is indicated. The configuration of the top screen is a menu screen on the left side, a description screen of the sample program on the right side. If you click on each menu on the left side of the screen, the screen along the menu is indicated on the right screen.
Page Top
Web Camera
When you click the "Web camera" in the menu screen, the pictures of a camera is indicated. It can be changed at a slider bar in "Wait time" at the timing of a renewal of a camera picture. (Defaults are 500ms.)
Setting by I2C
When you click the "Setting by I2C" of the menu screen, the control screen of the device connected to the I2C bus is indicated. By sending a command of a format listed below("Format of the device set by I2C") in Direct input or File reference, data transmission and reception is possible with respect to devices connected to I2C_SDA and I2C_SCL terminals of I2C. The communication log of transmission and reception by "Format of the device set by I2C" is displayed in the log window. When you press the "Clear" button, the log is cleared. When you press the "Save" button, the log is saved.
Format of the device set by I2C
| Method:I2C addr,data length,data1,data2,data3,... |
The details of each parameter is shown below.
For specific settings, check on the specifications of the connected device, you must create a command along the format.
| Method | Please specify one of the following: "Wr" ・・・ Write functions in I2C "Rd" ・・・ Read functions in I2C "WrNoP" ・・・ Write functions in I2C(No STOP condition) "RdNoP" ・・・ Read functions in I2C(No STOP condition) |
| I2C addr | Set the I2C address of device in hexadecimal. Ex: If the address is 0x90, set the "90" |
| data length | If Method is "Wr" or "WrNoP", set write size(the size of the data portion) in hexadecimal. Ex: If the write size is 2 byte(data1, data2), set the "02". If Method is "Rd" or "RdNoP", set read size in hexadecimal. Ex: If the read size is 10 byte, set the "0A". |
| data | If Method is "Wr" or "WrNoP", set write data in 1 byte unit in hexadecimal. Ex: If the write data is 0x01 0x02, set "01" in the data1 and "02" in the data2. If Method is "Rd" or "RdNoP", this parameter is omitted. |
An example of the format is shown below.
| Wr:90,03,25,45,14 |
To the device of the I2C address 0x90, the data write of 3Byte(0x25 0x45 0x14)
| Rd:90,02 |
To the device of the I2C address 0x90, the data read of 2Byte
LED On/Off
When you click the "LED On/Off" of the menu screen, the LED control screen is indicated. Each switch switches of GR-Boards to ON or OFF. Each switch indicates the current LED state. When the LED is On, the color of switch will change the LED color.
Switch to web page in SD card
Web pages displayed on the Web browser are located in the built-in ROM. file_table_peach.h is saved as table information for GR-PEACH and file_table_lychee.h is saved as table information for GR-LYCHEE. The contents of the saved file are as follows.
When connecting the SD card, SDBlockDevice will be displayed on the terminal and the web page displayed in the web browser will switch from the built-in ROM to the SD card. The top page is index.htm.
Change network connection
You can change the network connection by changing the following macro in main.cpp.
/**** User Selection *********/
#define NETWORK_TYPE (2) /* Select 0(Ethernet), 1(BP3595), 2(ESP32 STA) ,3(ESP32 AP) */
#if (NETWORK_TYPE >= 1)
#define SCAN_NETWORK (1) /* Select 0(Use WLAN_SSID, WLAN_PSK, WLAN_SECURITY) or 1(To select a network using the terminal.) */
#define WLAN_SSID ("SSIDofYourAP") /* SSID */
#define WLAN_PSK ("PSKofYourAP") /* PSK(Pre-Shared Key) */
#define WLAN_SECURITY NSAPI_SECURITY_WPA_WPA2 /* NSAPI_SECURITY_NONE, NSAPI_SECURITY_WEP, NSAPI_SECURITY_WPA, NSAPI_SECURITY_WPA2 or NSAPI_SECURITY_WPA_WPA2 */
#endif
Depending on the value set for NETWORK_TYPE, the connection method changes as follows.
| Number | Connection | Description |
| 0 | Ethernet | GR-PEACH only |
| 1 | reserved | It can not be selected. |
| 2 | ESP32 STA | Use ESP32 in STA mode. |
| 3 | ESP32 AP | Use ESP32 in AP mode. |
When using GR-LYCHEE, NETWORK_TYPE 2 and 3 can be selected.
GR-PEACH Wireless CAMERA Shield is required separately when using ESP32 with GR-PEACH.
When using Ethernet, the user must provide the MAC address.
To specify MAC address, add fllowing function to main.cpp.
Specify MAC address
// set mac address
void mbed_mac_address(char *mac) {
mac[0] = 0x00;
mac[1] = 0x02;
mac[2] = 0xF7;
mac[3] = 0xF0;
mac[4] = 0x00;
mac[5] = 0x00;
}
Camera selection
To select the Camera, add camera-type to mbed_app.json.
See here for details.
mbed_app.json
{
"config": {
"camera":{
"help": "0:disable 1:enable",
"value": "1"
},
"camera-type":{
"help": "Please see EasyAttach_CameraAndLCD/README.md",
"value": null
},
"lcd":{
"help": "0:disable 1:enable",
"value": "0"
},
"lcd-type":{
"help": "Please see EasyAttach_CameraAndLCD/README.md",
"value": null
}
},
"target_overrides": {
"RZ_A1H": {
"camera-type" : "CAMERA_WIRELESS_CAMERA"
}
}
}
Appendix
概要
GR-PEACH、および、GR-LYCHEEで動作するサンプルプログラムです。
Webカメラのサンプルです。Webブラウザからアクセスすると以下が表示されます。
- Camera入力画像
- I2Cバスに繋がっているデバイスの制御画面
- LED操作画面
構成
GR-PEACH (Wi-Fi経由)の場合:
- GR-PEACH
- GR-PEACH Wireless CAMERA Shield : OV7725
GR-PEACH (Ether経由)の場合:
- GR-PEACH
- 以下のいずれか
- GR-PEACH Wireless CAMERA Shield : OV7725
- NTSCアナログカメラ
- MT9V111 and GR-PEACH AUDIO CAMERA Shield
- OV5642 and GR-PEACH AUDIO CAMERA Shield
- GR-PEACH Wireless CAMERA Shield : OV7725
GR-LYCHEE(Wi-Fi経由)の場合:
- GR-LYCHEE
使い方
GR-Boardに電源を入れ、Terminalソフトを立ち上げます。
Mbedでのボーレートのデフォルト値は9600で、このサンプルではボーレート9600を使います。
GR-Boardのリセットボタンを押すと、Terminal上にWifiのスキャン結果が出力されます。
| ********* PROGRAM START *********** Network Setting up... Scan: No.0 Network: SSID_1 secured:WPA/WPA2 BSSID: xx:xx:xx:xx:xx:xx RSSI: -52 Ch: 1 No.1 Network: SSID_2 secured: Unknown BSSID: xx:xx:xx:xx:xx:xx RSSI: -67 Ch: 2 2 networks available. Please enter the number of the network you want to connect. Enter key:[0]-[1], (If inputting the other key, it's scanned again.) |
接続したいネットワークの番号をキーボードから入力します。0番のSSID_1を選択する場合はキーボードの "0" を押します。
| [SSID_1] is selected. please enter the PSK. |
最後にネットワークに接続するためのパスワードを入力します。
接続に成功すると、Terminal上にIPアドレスが出力されます。
| connecting... MAC Address is xx:xx:xx:xx:xx:xx IP Address is 192.168.0.2 NetMask is 255.255.255.240 Gateway Address is 192.168.0.1 Network Setup OK |
PCのWebブラウザで Terminalに表示された IP Address (上記例では 192.168.0.2)を開くと、トップ画面が表示されます。トップ画面は、左側にメニュー画面、右側にサンプルプログラムの説明画面という構成になっており、左画面の各メニューをクリックすると、メニューに沿った画面が右画面に表示されます。
Page Top 画面
Web Camera 画面
メニュー画面の”Web Camera”をクリックすると、Camera画像が表示されます。
"Wait time"のスライダーバーでCamera画像の更新タイミングが変更できます。(初期値は500msです)
Setting by I2C 画面
メニュー画面の"Setting by I2C"をクリックすると、I2Cバスに繋がっているデバイスの制御画面が表示されます。直接入力(Direct input)欄又はファイル参照(File reference)欄にて、下記("I2Cによるデバイス設定のフォーマット")に記載されているフォーマットのコマンドを送信する事で、I2CのI2C_SDA,I2C_SCL端子に繋がっているデバイスに対して、データの送受信が可能です。"I2Cによるデバイス設定のフォーマット"による送受信の通信ログは、ログウィンドウに表示されます。"Clear"ボタンを押すとログのクリア、"Save"ボタンを押すとログの保存ができます。
I2Cによるデバイス設定のフォーマット
| Method:I2C addr,data length,data1,data2,data3,... |
各パラメータの詳細を以下に示します。
具体的な設定値については、接続先のデバイスの仕様をご確認のうえ、フォーマットに沿ってコマンドを作成して下さい。
| Method | 以下のいづれかを指定して下さい "Wr" ・・・ I2Cでの書き込み "Rd" ・・・ I2Cでの読み出し "WrNoP" ・・・ I2Cでの書き込み(STOPコンディション省略) "RdNoP" ・・・ I2Cでの読み出し(STOPコンディション省略) |
| I2C addr | 接続先デバイスのI2Cアドレスを16進数で設定して下さい。 (例) アドレスが0x90の場合、"90"を設定 |
| data length | Methodが"Wr"又は"WrNoP"の場合、書き込むサイズ(data部分のサイズ)を16進数で設定して下さい。 (例) 書き込むサイズが2Byte(data1,data2)の場合、"02"を設定 Methodが"Rd"又は"RdNoP"の場合は読み取るサイズを16進数で設定して下さい。 (例) 読み取りサイズが10Byteの場合、"0A"を設定 |
| data | Methodが"Wr"又は"WrNoP"の場合、書き込むデータを16進数で1Byte単位で設定して下さい。 (例) 書き込みデータが0x01,0x02の場合、data1に"01"、data2に"02"を設定 "Rd"又は"RdNoP"の場合は省略して下さい。 |
フォーマットの例を以下に示します。
| Wr:90,03,25,45,14 |
I2Cアドレス0x90のデバイスに対して0x25 0x45 0x14の計3Byteのデータ書き込み
| Rd:90,02 |
I2Cアドレス0x90のデバイスに対して2Byteのデータ読み出し
LED On/Off 画面
メニュー画面の"LED On/Off"をクリックすると、LED操作画面が表示されます。各スイッチはGR-BoardのLED ON/OFFを切り替えます。スイッチはそれぞれGR-BoardのLEDの現在の状態を表しており、ONにすると対応するLEDの色になります。
SDカード内のWebページに切り替える
Webブラウザで表示されるWebページは内蔵ROMに配置されています。file_table_peach.h はGR-PEACH用、 file_table_lychee.h はGR-LYCHEE用のWebページがテーブル情報として保存されています。保存されているファイルの内容は下記の通りです。
SDカードを接続するとTerminal上に SDBlockDevice と表示され、Webブラウザで表示されるWebページが内蔵ROMからSDカードに切り替わります。トップページは index.htm となります。
ネットワークの接続方法を変更する
main.cppの下記マクロを変更することでネットワークの接続方法を変更できます。
/**** User Selection *********/
#define NETWORK_TYPE (2) /* Select 0(Ethernet), 1(BP3595), 2(ESP32 STA) ,3(ESP32 AP) */
#if (NETWORK_TYPE >= 1)
#define SCAN_NETWORK (1) /* Select 0(Use WLAN_SSID, WLAN_PSK, WLAN_SECURITY) or 1(To select a network using the terminal.) */
#define WLAN_SSID ("SSIDofYourAP") /* SSID */
#define WLAN_PSK ("PSKofYourAP") /* PSK(Pre-Shared Key) */
#define WLAN_SECURITY NSAPI_SECURITY_WPA_WPA2 /* NSAPI_SECURITY_NONE, NSAPI_SECURITY_WEP, NSAPI_SECURITY_WPA, NSAPI_SECURITY_WPA2 or NSAPI_SECURITY_WPA_WPA2 */
#endif
NETWORK_TYPE に設定する値により、以下の接続方法に切り替わります。
| 番号 | 接続方法 | 説明 |
| 0 | Ethernet | GR-PEACHのみ。 |
| 1 | reserved | 選択できません。 |
| 2 | ESP32 STA | ESP32をSTAモードで使用します。 |
| 3 | ESP32 AP | ESP32をAPモードで使用します。 |
GR-LYCHEEを使用する場合はNETWORK_TYPE 2と3が選択できます。
GR-PEACHでNETWORK_TYPE 2と3を使用する場合は別途GR-PEACH Wireless/Cameraシールドが必要です。
NETWORK_TYPE 1のEthernetを使う場合はMACアドレスをユーザが用意する必要があります。
"main.cpp"の最後にの下記のように関数を追加し、用意したMACアドレスを設定してください。
Specify MAC address
// set mac address
void mbed_mac_address(char *mac) {
mac[0] = 0x00;
mac[1] = 0x02;
mac[2] = 0xF7;
mac[3] = 0xF0;
mac[4] = 0x00;
mac[5] = 0x00;
}
カメラの設定
カメラの指定を行う場合はmbed_app.jsonにcamera-typeを変更して追加してください。
詳細はこちらを参照ください。
mbed_app.json
{
"config": {
"camera":{
"help": "0:disable 1:enable",
"value": "1"
},
"camera-type":{
"help": "Please see EasyAttach_CameraAndLCD/README.md",
"value": null
},
"lcd":{
"help": "0:disable 1:enable",
"value": "0"
},
"lcd-type":{
"help": "Please see EasyAttach_CameraAndLCD/README.md",
"value": null
}
},
"target_overrides": {
"RZ_A1H": {
"camera-type" : "CAMERA_WIRELESS_CAMERA"
}
}
}
付録
Revision 23:e7fd26563f8f, committed 2018-12-25
- Comitter:
- 1050186
- Date:
- Tue Dec 25 09:57:54 2018 +0000
- Parent:
- 22:9e54410bd934
- Child:
- 24:63e5f399af4a
- Commit message:
- Support Mbed OS 5.10, replace Renesas libraries to mbed-gr-libs and optimize main.cpp and related files for supporting GR-LYCHEE too.;
Changed in this revision
--- a/GR-PEACH_video.lib Thu Jul 13 04:19:35 2017 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -http://developer.mbed.org/teams/Renesas/code/GR-PEACH_video/#aeefe5171463
--- a/GraphicsFramework.lib Thu Jul 13 04:19:35 2017 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -http://developer.mbed.org/teams/Renesas/code/GraphicsFramework/#1ee2176ef13f
--- a/LWIPBP3595Interface_mbed-os.lib Thu Jul 13 04:19:35 2017 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -https://developer.mbed.org/users/dkato/code/LWIPBP3595Interface_STA_for_mbed-os/#6bd475023468
--- a/R_BSP.lib Thu Jul 13 04:19:35 2017 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -http://developer.mbed.org/teams/Renesas/code/R_BSP/#fb9eda52224e
--- a/RomRamBlockDevice.lib Thu Jul 13 04:19:35 2017 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -https://developer.mbed.org/users/dkato/code/RomRamBlockDevice/#3e16bac28356
--- a/file_table.h Thu Jul 13 04:19:35 2017 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,1224 +0,0 @@
-
-static const char index_htm_tbl[] = {
- 0x3C,0x53,0x43,0x52,0x49,0x50,0x54,0x20,0x74,0x79,0x70,0x65,0x3D,0x22,0x74,0x65
-,0x78,0x74,0x2F,0x6A,0x61,0x76,0x61,0x73,0x63,0x72,0x69,0x70,0x74,0x22,0x3E,0x0D
-,0x0A,0x3C,0x21,0x2D,0x2D,0x0D,0x0A,0x6C,0x6F,0x63,0x61,0x74,0x69,0x6F,0x6E,0x2E
-,0x68,0x72,0x65,0x66,0x3D,0x22,0x2F,0x77,0x65,0x62,0x5F,0x74,0x6F,0x70,0x2E,0x68
-,0x74,0x6D,0x22,0x3B,0x0D,0x0A,0x2D,0x2D,0x3E,0x0D,0x0A,0x3C,0x2F,0x53,0x43,0x52
-,0x49,0x50,0x54,0x3E,0x0D,0x0A
-};
-
-static const char camaera_js_tbl[] = {
- 0x76,0x61,0x72,0x20,0x69,0x6D,0x61,0x67,0x65,0x4E,0x72,0x20,0x3D,0x20,0x30,0x3B
-,0x20,0x2F,0x2F,0x20,0x53,0x65,0x72,0x69,0x61,0x6C,0x20,0x6E,0x75,0x6D,0x62,0x65
-,0x72,0x20,0x6F,0x66,0x20,0x63,0x75,0x72,0x72,0x65,0x6E,0x74,0x20,0x69,0x6D,0x61
-,0x67,0x65,0x0D,0x0A,0x76,0x61,0x72,0x20,0x66,0x69,0x6E,0x69,0x73,0x68,0x65,0x64
-,0x20,0x3D,0x20,0x6E,0x65,0x77,0x20,0x41,0x72,0x72,0x61,0x79,0x28,0x29,0x3B,0x20
-,0x2F,0x2F,0x20,0x52,0x65,0x66,0x65,0x72,0x65,0x6E,0x63,0x65,0x73,0x20,0x74,0x6F
-,0x20,0x69,0x6D,0x67,0x20,0x6F,0x62,0x6A,0x65,0x63,0x74,0x73,0x20,0x77,0x68,0x69
-,0x63,0x68,0x20,0x68,0x61,0x76,0x65,0x20,0x66,0x69,0x6E,0x69,0x73,0x68,0x65,0x64
-,0x20,0x64,0x6F,0x77,0x6E,0x6C,0x6F,0x61,0x64,0x69,0x6E,0x67,0x0D,0x0A,0x0D,0x0A
-,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x20,0x63,0x72,0x65,0x61,0x74,0x65,0x49
-,0x6D,0x61,0x67,0x65,0x4C,0x61,0x79,0x65,0x72,0x28,0x29,0x20,0x7B,0x0D,0x0A,0x20
-,0x20,0x76,0x61,0x72,0x20,0x69,0x6D,0x61,0x67,0x65,0x20,0x3D,0x20,0x6E,0x65,0x77
-,0x20,0x49,0x6D,0x61,0x67,0x65,0x28,0x29,0x3B,0x0D,0x0A,0x0D,0x0A,0x20,0x20,0x69
-,0x6D,0x61,0x67,0x65,0x2E,0x73,0x72,0x63,0x20,0x3D,0x20,0x22,0x63,0x61,0x6D,0x65
-,0x72,0x61,0x2F,0x22,0x20,0x2B,0x20,0x28,0x2B,0x2B,0x69,0x6D,0x61,0x67,0x65,0x4E
-,0x72,0x29,0x3B,0x0D,0x0A,0x20,0x20,0x69,0x6D,0x61,0x67,0x65,0x2E,0x73,0x74,0x79
-,0x6C,0x65,0x2E,0x70,0x6F,0x73,0x69,0x74,0x69,0x6F,0x6E,0x20,0x3D,0x20,0x22,0x61
-,0x62,0x73,0x6F,0x6C,0x75,0x74,0x65,0x22,0x3B,0x0D,0x0A,0x20,0x20,0x69,0x6D,0x61
-,0x67,0x65,0x2E,0x73,0x74,0x79,0x6C,0x65,0x2E,0x7A,0x49,0x6E,0x64,0x65,0x78,0x20
-,0x3D,0x20,0x2D,0x31,0x3B,0x0D,0x0A,0x20,0x20,0x69,0x6D,0x61,0x67,0x65,0x2E,0x6F
-,0x6E,0x6C,0x6F,0x61,0x64,0x20,0x3D,0x20,0x69,0x6D,0x61,0x67,0x65,0x4F,0x6E,0x6C
-,0x6F,0x61,0x64,0x3B,0x0D,0x0A,0x20,0x20,0x69,0x6D,0x61,0x67,0x65,0x2E,0x6F,0x6E
-,0x65,0x72,0x72,0x6F,0x72,0x20,0x3D,0x20,0x63,0x72,0x65,0x61,0x74,0x65,0x49,0x6D
-,0x61,0x67,0x65,0x4C,0x61,0x79,0x65,0x72,0x3B,0x0D,0x0A,0x0D,0x0A,0x20,0x20,0x76
-,0x61,0x72,0x20,0x77,0x65,0x62,0x63,0x61,0x6D,0x20,0x3D,0x20,0x64,0x6F,0x63,0x75
-,0x6D,0x65,0x6E,0x74,0x2E,0x67,0x65,0x74,0x45,0x6C,0x65,0x6D,0x65,0x6E,0x74,0x42
-,0x79,0x49,0x64,0x28,0x22,0x77,0x65,0x62,0x63,0x61,0x6D,0x22,0x29,0x3B,0x0D,0x0A
-,0x20,0x20,0x77,0x65,0x62,0x63,0x61,0x6D,0x2E,0x69,0x6E,0x73,0x65,0x72,0x74,0x42
-,0x65,0x66,0x6F,0x72,0x65,0x28,0x69,0x6D,0x61,0x67,0x65,0x2C,0x20,0x77,0x65,0x62
-,0x63,0x61,0x6D,0x2E,0x66,0x69,0x72,0x73,0x74,0x43,0x68,0x69,0x6C,0x64,0x29,0x3B
-,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x20
-,0x69,0x6D,0x61,0x67,0x65,0x4F,0x6E,0x6C,0x6F,0x61,0x64,0x28,0x29,0x20,0x7B,0x0D
-,0x0A,0x20,0x20,0x74,0x68,0x69,0x73,0x2E,0x73,0x74,0x79,0x6C,0x65,0x2E,0x7A,0x49
-,0x6E,0x64,0x65,0x78,0x20,0x3D,0x20,0x69,0x6D,0x61,0x67,0x65,0x4E,0x72,0x3B,0x0D
-,0x0A,0x20,0x20,0x77,0x68,0x69,0x6C,0x65,0x20,0x28,0x31,0x20,0x3C,0x20,0x66,0x69
-,0x6E,0x69,0x73,0x68,0x65,0x64,0x2E,0x6C,0x65,0x6E,0x67,0x74,0x68,0x29,0x20,0x7B
-,0x0D,0x0A,0x20,0x20,0x20,0x20,0x76,0x61,0x72,0x20,0x64,0x65,0x6C,0x20,0x3D,0x20
-,0x66,0x69,0x6E,0x69,0x73,0x68,0x65,0x64,0x2E,0x73,0x68,0x69,0x66,0x74,0x28,0x29
-,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x64,0x65,0x6C,0x2E,0x70,0x61,0x72,0x65,0x6E
-,0x74,0x4E,0x6F,0x64,0x65,0x2E,0x72,0x65,0x6D,0x6F,0x76,0x65,0x43,0x68,0x69,0x6C
-,0x64,0x28,0x64,0x65,0x6C,0x29,0x3B,0x0D,0x0A,0x20,0x20,0x7D,0x0D,0x0A,0x20,0x20
-,0x66,0x69,0x6E,0x69,0x73,0x68,0x65,0x64,0x2E,0x70,0x75,0x73,0x68,0x28,0x74,0x68
-,0x69,0x73,0x29,0x3B,0x0D,0x0A,0x20,0x20,0x74,0x69,0x6D,0x65,0x72,0x49,0x44,0x20
-,0x3D,0x20,0x73,0x65,0x74,0x54,0x69,0x6D,0x65,0x6F,0x75,0x74,0x28,0x66,0x75,0x6E
-,0x63,0x74,0x69,0x6F,0x6E,0x28,0x29,0x7B,0x20,0x63,0x72,0x65,0x61,0x74,0x65,0x49
-,0x6D,0x61,0x67,0x65,0x4C,0x61,0x79,0x65,0x72,0x28,0x29,0x20,0x7D,0x2C,0x20,0x64
-,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x46,0x31,0x2E,0x77,0x61,0x69,0x74,0x74
-,0x69,0x6D,0x65,0x2E,0x76,0x61,0x6C,0x75,0x65,0x29,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A
-};
-
-static const char camera_htm_tbl[] = {
- 0x3C,0x68,0x74,0x6D,0x6C,0x3E,0x0D,0x0A,0x3C,0x68,0x65,0x61,0x64,0x3E,0x0D,0x0A
-,0x3C,0x74,0x69,0x74,0x6C,0x65,0x3E,0x63,0x61,0x6D,0x65,0x72,0x61,0x3C,0x2F,0x74
-,0x69,0x74,0x6C,0x65,0x3E,0x0D,0x0A,0x3C,0x73,0x63,0x72,0x69,0x70,0x74,0x20,0x74
-,0x79,0x70,0x65,0x3D,0x22,0x74,0x65,0x78,0x74,0x2F,0x6A,0x61,0x76,0x61,0x73,0x63
-,0x72,0x69,0x70,0x74,0x22,0x20,0x73,0x72,0x63,0x3D,0x22,0x63,0x61,0x6D,0x65,0x72
-,0x61,0x2E,0x6A,0x73,0x22,0x20,0x63,0x68,0x61,0x72,0x73,0x65,0x74,0x3D,0x22,0x75
-,0x74,0x66,0x2D,0x38,0x22,0x3E,0x3C,0x2F,0x73,0x63,0x72,0x69,0x70,0x74,0x3E,0x0D
-,0x0A,0x3C,0x73,0x74,0x79,0x6C,0x65,0x20,0x74,0x79,0x70,0x65,0x3D,0x22,0x74,0x65
-,0x78,0x74,0x2F,0x63,0x73,0x73,0x22,0x3E,0x0D,0x0A,0x23,0x77,0x65,0x62,0x63,0x61
-,0x6D,0x20,0x69,0x6D,0x67,0x20,0x7B,0x0D,0x0A,0x09,0x6C,0x65,0x66,0x74,0x3A,0x20
-,0x30,0x3B,0x0D,0x0A,0x09,0x72,0x69,0x67,0x68,0x74,0x3A,0x20,0x30,0x3B,0x0D,0x0A
-,0x09,0x6D,0x61,0x78,0x2D,0x77,0x69,0x64,0x74,0x68,0x3A,0x20,0x36,0x34,0x30,0x70
-,0x78,0x3B,0x20,0x0D,0x0A,0x09,0x77,0x69,0x64,0x74,0x68,0x3A,0x20,0x31,0x30,0x30
-,0x25,0x3B,0x0D,0x0A,0x09,0x68,0x65,0x69,0x67,0x68,0x74,0x3A,0x20,0x61,0x75,0x74
-,0x6F,0x3B,0x20,0x0D,0x0A,0x7D,0x0D,0x0A,0x3C,0x2F,0x73,0x74,0x79,0x6C,0x65,0x3E
-,0x0D,0x0A,0x3C,0x2F,0x68,0x65,0x61,0x64,0x3E,0x0D,0x0A,0x3C,0x62,0x6F,0x64,0x79
-,0x3E,0x0D,0x0A,0x3C,0x62,0x6F,0x64,0x79,0x20,0x6F,0x6E,0x6C,0x6F,0x61,0x64,0x3D
-,0x22,0x63,0x72,0x65,0x61,0x74,0x65,0x49,0x6D,0x61,0x67,0x65,0x4C,0x61,0x79,0x65
-,0x72,0x28,0x29,0x3B,0x22,0x3E,0x0D,0x0A,0x3C,0x66,0x6F,0x72,0x6D,0x20,0x61,0x63
-,0x74,0x69,0x6F,0x6E,0x3D,0x22,0x23,0x22,0x20,0x6E,0x61,0x6D,0x65,0x3D,0x22,0x46
-,0x31,0x22,0x3E,0x0D,0x0A,0x57,0x61,0x69,0x74,0x20,0x74,0x69,0x6D,0x65,0x20,0x3C
-,0x69,0x6E,0x70,0x75,0x74,0x20,0x74,0x79,0x70,0x65,0x3D,0x22,0x72,0x61,0x6E,0x67
-,0x65,0x22,0x20,0x6E,0x61,0x6D,0x65,0x3D,0x22,0x77,0x61,0x69,0x74,0x74,0x69,0x6D
-,0x65,0x22,0x20,0x76,0x61,0x6C,0x75,0x65,0x3D,0x22,0x35,0x30,0x30,0x22,0x20,0x6D
-,0x61,0x78,0x3D,0x22,0x31,0x30,0x30,0x30,0x22,0x20,0x73,0x74,0x65,0x70,0x3D,0x22
-,0x35,0x30,0x22,0x3E,0x20,0x5B,0x6D,0x73,0x5D,0x0D,0x0A,0x3C,0x2F,0x66,0x6F,0x72
-,0x6D,0x3E,0x0D,0x0A,0x3C,0x64,0x69,0x76,0x20,0x69,0x64,0x3D,0x22,0x77,0x65,0x62
-,0x63,0x61,0x6D,0x22,0x3E,0x3C,0x6E,0x6F,0x73,0x63,0x72,0x69,0x70,0x74,0x3E,0x3C
-,0x69,0x6D,0x67,0x20,0x73,0x72,0x63,0x3D,0x22,0x63,0x61,0x6D,0x65,0x72,0x61,0x2F
-,0x30,0x22,0x20,0x2F,0x3E,0x3C,0x2F,0x6E,0x6F,0x73,0x63,0x72,0x69,0x70,0x74,0x3E
-,0x3C,0x2F,0x64,0x69,0x76,0x3E,0x0D,0x0A,0x3C,0x2F,0x62,0x6F,0x64,0x79,0x3E,0x0D
-,0x0A,0x3C,0x2F,0x68,0x74,0x6D,0x6C,0x3E,0x0D,0x0A
-};
-
-static const char mbedrpc_js_tbl[] = {
- 0x2F,0x2F,0x20,0x6D,0x62,0x65,0x64,0x52,0x50,0x43,0x20,0x4A,0x61,0x76,0x61,0x73
-,0x63,0x72,0x69,0x70,0x74,0x20,0x49,0x6E,0x74,0x65,0x72,0x66,0x61,0x63,0x65,0x20
-,0x75,0x73,0x69,0x6E,0x67,0x20,0x48,0x54,0x54,0x50,0x0D,0x0A,0x2F,0x2F,0x20,0x73
-,0x66,0x6F,0x72,0x64,0x20,0x61,0x6E,0x64,0x20,0x4D,0x20,0x57,0x61,0x6C,0x6B,0x65
-,0x72,0x0D,0x0A,0x2F,0x2F,0x20,0x41,0x20,0x6A,0x61,0x76,0x61,0x73,0x63,0x72,0x69
-,0x70,0x74,0x20,0x69,0x6E,0x74,0x65,0x72,0x66,0x61,0x63,0x65,0x20,0x66,0x6F,0x72
-,0x20,0x74,0x61,0x6C,0x6B,0x69,0x6E,0x67,0x20,0x74,0x6F,0x20,0x6D,0x62,0x65,0x64
-,0x20,0x72,0x70,0x63,0x20,0x6F,0x76,0x65,0x72,0x20,0x68,0x74,0x74,0x70,0x0D,0x0A
-,0x2F,0x2F,0x0D,0x0A,0x2F,0x2F,0x43,0x6F,0x70,0x79,0x72,0x69,0x67,0x68,0x74,0x20
-,0x28,0x63,0x29,0x20,0x32,0x30,0x31,0x30,0x20,0x41,0x52,0x4D,0x20,0x4C,0x74,0x64
-,0x0D,0x0A,0x2F,0x2F,0x20,0x0D,0x0A,0x2F,0x2F,0x50,0x65,0x72,0x6D,0x69,0x73,0x73
-,0x69,0x6F,0x6E,0x20,0x69,0x73,0x20,0x68,0x65,0x72,0x65,0x62,0x79,0x20,0x67,0x72
-,0x61,0x6E,0x74,0x65,0x64,0x2C,0x20,0x66,0x72,0x65,0x65,0x20,0x6F,0x66,0x20,0x63
-,0x68,0x61,0x72,0x67,0x65,0x2C,0x20,0x74,0x6F,0x20,0x61,0x6E,0x79,0x20,0x70,0x65
-,0x72,0x73,0x6F,0x6E,0x20,0x6F,0x62,0x74,0x61,0x69,0x6E,0x69,0x6E,0x67,0x20,0x61
-,0x20,0x63,0x6F,0x70,0x79,0x0D,0x0A,0x2F,0x2F,0x6F,0x66,0x20,0x74,0x68,0x69,0x73
-,0x20,0x73,0x6F,0x66,0x74,0x77,0x61,0x72,0x65,0x20,0x61,0x6E,0x64,0x20,0x61,0x73
-,0x73,0x6F,0x63,0x69,0x61,0x74,0x65,0x64,0x20,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E
-,0x74,0x61,0x74,0x69,0x6F,0x6E,0x20,0x66,0x69,0x6C,0x65,0x73,0x20,0x28,0x74,0x68
-,0x65,0x20,0x22,0x53,0x6F,0x66,0x74,0x77,0x61,0x72,0x65,0x22,0x29,0x2C,0x20,0x74
-,0x6F,0x20,0x64,0x65,0x61,0x6C,0x0D,0x0A,0x2F,0x2F,0x69,0x6E,0x20,0x74,0x68,0x65
-,0x20,0x53,0x6F,0x66,0x74,0x77,0x61,0x72,0x65,0x20,0x77,0x69,0x74,0x68,0x6F,0x75
-,0x74,0x20,0x72,0x65,0x73,0x74,0x72,0x69,0x63,0x74,0x69,0x6F,0x6E,0x2C,0x20,0x69
-,0x6E,0x63,0x6C,0x75,0x64,0x69,0x6E,0x67,0x20,0x77,0x69,0x74,0x68,0x6F,0x75,0x74
-,0x20,0x6C,0x69,0x6D,0x69,0x74,0x61,0x74,0x69,0x6F,0x6E,0x20,0x74,0x68,0x65,0x20
-,0x72,0x69,0x67,0x68,0x74,0x73,0x0D,0x0A,0x2F,0x2F,0x74,0x6F,0x20,0x75,0x73,0x65
-,0x2C,0x20,0x63,0x6F,0x70,0x79,0x2C,0x20,0x6D,0x6F,0x64,0x69,0x66,0x79,0x2C,0x20
-,0x6D,0x65,0x72,0x67,0x65,0x2C,0x20,0x70,0x75,0x62,0x6C,0x69,0x73,0x68,0x2C,0x20
-,0x64,0x69,0x73,0x74,0x72,0x69,0x62,0x75,0x74,0x65,0x2C,0x20,0x73,0x75,0x62,0x6C
-,0x69,0x63,0x65,0x6E,0x73,0x65,0x2C,0x20,0x61,0x6E,0x64,0x2F,0x6F,0x72,0x20,0x73
-,0x65,0x6C,0x6C,0x0D,0x0A,0x2F,0x2F,0x63,0x6F,0x70,0x69,0x65,0x73,0x20,0x6F,0x66
-,0x20,0x74,0x68,0x65,0x20,0x53,0x6F,0x66,0x74,0x77,0x61,0x72,0x65,0x2C,0x20,0x61
-,0x6E,0x64,0x20,0x74,0x6F,0x20,0x70,0x65,0x72,0x6D,0x69,0x74,0x20,0x70,0x65,0x72
-,0x73,0x6F,0x6E,0x73,0x20,0x74,0x6F,0x20,0x77,0x68,0x6F,0x6D,0x20,0x74,0x68,0x65
-,0x20,0x53,0x6F,0x66,0x74,0x77,0x61,0x72,0x65,0x20,0x69,0x73,0x0D,0x0A,0x2F,0x2F
-,0x66,0x75,0x72,0x6E,0x69,0x73,0x68,0x65,0x64,0x20,0x74,0x6F,0x20,0x64,0x6F,0x20
-,0x73,0x6F,0x2C,0x20,0x73,0x75,0x62,0x6A,0x65,0x63,0x74,0x20,0x74,0x6F,0x20,0x74
-,0x68,0x65,0x20,0x66,0x6F,0x6C,0x6C,0x6F,0x77,0x69,0x6E,0x67,0x20,0x63,0x6F,0x6E
-,0x64,0x69,0x74,0x69,0x6F,0x6E,0x73,0x3A,0x0D,0x0A,0x2F,0x2F,0x20,0x0D,0x0A,0x2F
-,0x2F,0x54,0x68,0x65,0x20,0x61,0x62,0x6F,0x76,0x65,0x20,0x63,0x6F,0x70,0x79,0x72
-,0x69,0x67,0x68,0x74,0x20,0x6E,0x6F,0x74,0x69,0x63,0x65,0x20,0x61,0x6E,0x64,0x20
-,0x74,0x68,0x69,0x73,0x20,0x70,0x65,0x72,0x6D,0x69,0x73,0x73,0x69,0x6F,0x6E,0x20
-,0x6E,0x6F,0x74,0x69,0x63,0x65,0x20,0x73,0x68,0x61,0x6C,0x6C,0x20,0x62,0x65,0x20
-,0x69,0x6E,0x63,0x6C,0x75,0x64,0x65,0x64,0x20,0x69,0x6E,0x0D,0x0A,0x2F,0x2F,0x61
-,0x6C,0x6C,0x20,0x63,0x6F,0x70,0x69,0x65,0x73,0x20,0x6F,0x72,0x20,0x73,0x75,0x62
-,0x73,0x74,0x61,0x6E,0x74,0x69,0x61,0x6C,0x20,0x70,0x6F,0x72,0x74,0x69,0x6F,0x6E
-,0x73,0x20,0x6F,0x66,0x20,0x74,0x68,0x65,0x20,0x53,0x6F,0x66,0x74,0x77,0x61,0x72
-,0x65,0x2E,0x0D,0x0A,0x2F,0x2F,0x20,0x0D,0x0A,0x2F,0x2F,0x54,0x48,0x45,0x20,0x53
-,0x4F,0x46,0x54,0x57,0x41,0x52,0x45,0x20,0x49,0x53,0x20,0x50,0x52,0x4F,0x56,0x49
-,0x44,0x45,0x44,0x20,0x22,0x41,0x53,0x20,0x49,0x53,0x22,0x2C,0x20,0x57,0x49,0x54
-,0x48,0x4F,0x55,0x54,0x20,0x57,0x41,0x52,0x52,0x41,0x4E,0x54,0x59,0x20,0x4F,0x46
-,0x20,0x41,0x4E,0x59,0x20,0x4B,0x49,0x4E,0x44,0x2C,0x20,0x45,0x58,0x50,0x52,0x45
-,0x53,0x53,0x20,0x4F,0x52,0x0D,0x0A,0x2F,0x2F,0x49,0x4D,0x50,0x4C,0x49,0x45,0x44
-,0x2C,0x20,0x49,0x4E,0x43,0x4C,0x55,0x44,0x49,0x4E,0x47,0x20,0x42,0x55,0x54,0x20
-,0x4E,0x4F,0x54,0x20,0x4C,0x49,0x4D,0x49,0x54,0x45,0x44,0x20,0x54,0x4F,0x20,0x54
-,0x48,0x45,0x20,0x57,0x41,0x52,0x52,0x41,0x4E,0x54,0x49,0x45,0x53,0x20,0x4F,0x46
-,0x20,0x4D,0x45,0x52,0x43,0x48,0x41,0x4E,0x54,0x41,0x42,0x49,0x4C,0x49,0x54,0x59
-,0x2C,0x0D,0x0A,0x2F,0x2F,0x46,0x49,0x54,0x4E,0x45,0x53,0x53,0x20,0x46,0x4F,0x52
-,0x20,0x41,0x20,0x50,0x41,0x52,0x54,0x49,0x43,0x55,0x4C,0x41,0x52,0x20,0x50,0x55
-,0x52,0x50,0x4F,0x53,0x45,0x20,0x41,0x4E,0x44,0x20,0x4E,0x4F,0x4E,0x49,0x4E,0x46
-,0x52,0x49,0x4E,0x47,0x45,0x4D,0x45,0x4E,0x54,0x2E,0x20,0x49,0x4E,0x20,0x4E,0x4F
-,0x20,0x45,0x56,0x45,0x4E,0x54,0x20,0x53,0x48,0x41,0x4C,0x4C,0x20,0x54,0x48,0x45
-,0x0D,0x0A,0x2F,0x2F,0x41,0x55,0x54,0x48,0x4F,0x52,0x53,0x20,0x4F,0x52,0x20,0x43
-,0x4F,0x50,0x59,0x52,0x49,0x47,0x48,0x54,0x20,0x48,0x4F,0x4C,0x44,0x45,0x52,0x53
-,0x20,0x42,0x45,0x20,0x4C,0x49,0x41,0x42,0x4C,0x45,0x20,0x46,0x4F,0x52,0x20,0x41
-,0x4E,0x59,0x20,0x43,0x4C,0x41,0x49,0x4D,0x2C,0x20,0x44,0x41,0x4D,0x41,0x47,0x45
-,0x53,0x20,0x4F,0x52,0x20,0x4F,0x54,0x48,0x45,0x52,0x0D,0x0A,0x2F,0x2F,0x4C,0x49
-,0x41,0x42,0x49,0x4C,0x49,0x54,0x59,0x2C,0x20,0x57,0x48,0x45,0x54,0x48,0x45,0x52
-,0x20,0x49,0x4E,0x20,0x41,0x4E,0x20,0x41,0x43,0x54,0x49,0x4F,0x4E,0x20,0x4F,0x46
-,0x20,0x43,0x4F,0x4E,0x54,0x52,0x41,0x43,0x54,0x2C,0x20,0x54,0x4F,0x52,0x54,0x20
-,0x4F,0x52,0x20,0x4F,0x54,0x48,0x45,0x52,0x57,0x49,0x53,0x45,0x2C,0x20,0x41,0x52
-,0x49,0x53,0x49,0x4E,0x47,0x20,0x46,0x52,0x4F,0x4D,0x2C,0x0D,0x0A,0x2F,0x2F,0x4F
-,0x55,0x54,0x20,0x4F,0x46,0x20,0x4F,0x52,0x20,0x49,0x4E,0x20,0x43,0x4F,0x4E,0x4E
-,0x45,0x43,0x54,0x49,0x4F,0x4E,0x20,0x57,0x49,0x54,0x48,0x20,0x54,0x48,0x45,0x20
-,0x53,0x4F,0x46,0x54,0x57,0x41,0x52,0x45,0x20,0x4F,0x52,0x20,0x54,0x48,0x45,0x20
-,0x55,0x53,0x45,0x20,0x4F,0x52,0x20,0x4F,0x54,0x48,0x45,0x52,0x20,0x44,0x45,0x41
-,0x4C,0x49,0x4E,0x47,0x53,0x20,0x49,0x4E,0x0D,0x0A,0x2F,0x2F,0x54,0x48,0x45,0x20
-,0x53,0x4F,0x46,0x54,0x57,0x41,0x52,0x45,0x2E,0x0D,0x0A,0x0D,0x0A,0x0D,0x0A,0x2F
-,0x2F,0x54,0x72,0x61,0x6E,0x73,0x70,0x6F,0x72,0x74,0x20,0x4D,0x65,0x63,0x68,0x61
-,0x6E,0x69,0x73,0x6D,0x73,0x20,0x20,0x20,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D
-,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D
-,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D
-,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D
-,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x0D,0x0A,0x0D,0x0A,0x66,0x75,0x6E,0x63,0x74
-,0x69,0x6F,0x6E,0x20,0x70,0x6F,0x73,0x74,0x28,0x75,0x72,0x6C,0x29,0x20,0x7B,0x0D
-,0x0A,0x20,0x20,0x20,0x20,0x68,0x74,0x74,0x70,0x20,0x3D,0x20,0x28,0x77,0x69,0x6E
-,0x64,0x6F,0x77,0x2E,0x58,0x4D,0x4C,0x48,0x74,0x74,0x70,0x52,0x65,0x71,0x75,0x65
-,0x73,0x74,0x29,0x20,0x3F,0x20,0x6E,0x65,0x77,0x20,0x58,0x4D,0x4C,0x48,0x74,0x74
-,0x70,0x52,0x65,0x71,0x75,0x65,0x73,0x74,0x28,0x29,0x20,0x3A,0x20,0x6E,0x65,0x77
-,0x20,0x41,0x63,0x74,0x69,0x76,0x65,0x58,0x4F,0x62,0x6A,0x65,0x63,0x74,0x28,0x22
-,0x4D,0x69,0x63,0x72,0x6F,0x73,0x6F,0x66,0x74,0x2E,0x58,0x4D,0x4C,0x48,0x54,0x54
-,0x50,0x22,0x29,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x69,0x66,0x28,0x21,0x68,0x74
-,0x74,0x70,0x29,0x20,0x72,0x65,0x74,0x75,0x72,0x6E,0x20,0x66,0x61,0x6C,0x73,0x65
-,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x68,0x74,0x74,0x70,0x2E,0x6F,0x70,0x65,0x6E
-,0x28,0x22,0x47,0x45,0x54,0x22,0x2C,0x20,0x75,0x72,0x6C,0x2C,0x20,0x66,0x61,0x6C
-,0x73,0x65,0x29,0x3B,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20
-,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20
-,0x20,0x0D,0x0A,0x20,0x20,0x20,0x20,0x68,0x74,0x74,0x70,0x2E,0x73,0x65,0x6E,0x64
-,0x28,0x6E,0x75,0x6C,0x6C,0x29,0x3B,0x20,0x20,0x20,0x0D,0x0A,0x20,0x20,0x20,0x20
-,0x72,0x65,0x74,0x75,0x72,0x6E,0x20,0x68,0x74,0x74,0x70,0x2E,0x72,0x65,0x73,0x70
-,0x6F,0x6E,0x73,0x65,0x54,0x65,0x78,0x74,0x3B,0x0D,0x0A,0x09,0x20,0x20,0x20,0x20
-,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20
-,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x0D,0x0A
-,0x7D,0x0D,0x0A,0x0D,0x0A,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x20,0x6D,0x62
-,0x65,0x64,0x28,0x29,0x7B,0x0D,0x0A,0x09,0x2F,0x2F,0x4E,0x6F,0x20,0x61,0x63,0x74
-,0x69,0x6F,0x6E,0x20,0x6E,0x65,0x65,0x64,0x73,0x20,0x74,0x6F,0x20,0x62,0x65,0x20
-,0x74,0x61,0x6B,0x65,0x6E,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x6D,0x62,0x65,0x64
-,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x72,0x70,0x63,0x20,0x3D
-,0x20,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x6F,0x62,0x6A,0x65,0x63,0x74
-,0x2C,0x20,0x6D,0x65,0x74,0x68,0x6F,0x64,0x2C,0x20,0x61,0x72,0x67,0x75,0x6D,0x65
-,0x6E,0x74,0x73,0x29,0x7B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x2F,0x2F,0x54,0x68,0x69
-,0x73,0x20,0x73,0x68,0x6F,0x75,0x6C,0x64,0x20,0x62,0x65,0x20,0x6F,0x76,0x65,0x72
-,0x72,0x69,0x64,0x64,0x65,0x6E,0x20,0x62,0x79,0x20,0x74,0x68,0x65,0x20,0x61,0x20
-,0x74,0x72,0x61,0x6E,0x73,0x70,0x6F,0x72,0x74,0x20,0x6D,0x65,0x63,0x68,0x61,0x6E
-,0x69,0x73,0x6D,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x48,0x54,0x54,0x50,0x52,0x50
-,0x43,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65,0x20,0x3D,0x20,0x6E,0x65
-,0x77,0x20,0x6D,0x62,0x65,0x64,0x28,0x29,0x3B,0x0D,0x0A,0x48,0x54,0x54,0x50,0x52
-,0x50,0x43,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x63,0x6F,0x6E
-,0x73,0x74,0x72,0x75,0x63,0x74,0x6F,0x72,0x20,0x3D,0x20,0x48,0x54,0x54,0x50,0x52
-,0x50,0x43,0x0D,0x0A,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x20,0x48,0x54,0x54
-,0x50,0x52,0x50,0x43,0x28,0x29,0x7B,0x0D,0x0A,0x09,0x2F,0x2F,0x75,0x6E,0x6C,0x69
-,0x6B,0x65,0x20,0x6F,0x74,0x68,0x65,0x72,0x20,0x6C,0x61,0x6E,0x67,0x75,0x61,0x67
-,0x65,0x73,0x20,0x74,0x68,0x69,0x73,0x20,0x64,0x6F,0x65,0x73,0x6E,0x27,0x74,0x20
-,0x6E,0x65,0x65,0x64,0x20,0x74,0x6F,0x20,0x62,0x65,0x20,0x70,0x61,0x73,0x73,0x65
-,0x64,0x20,0x61,0x6E,0x20,0x61,0x64,0x64,0x72,0x65,0x73,0x73,0x20,0x61,0x73,0x20
-,0x69,0x74,0x20,0x77,0x69,0x6C,0x6C,0x20,0x6F,0x6E,0x6C,0x79,0x20,0x62,0x65,0x20
-,0x61,0x6C,0x6C,0x6F,0x77,0x65,0x64,0x20,0x74,0x6F,0x20,0x63,0x6F,0x6D,0x6D,0x75
-,0x6E,0x69,0x63,0x61,0x74,0x65,0x20,0x77,0x69,0x74,0x68,0x20,0x69,0x74,0x73,0x65
-,0x6C,0x66,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x0D,0x0A,0x48,0x54,0x54,0x50,0x52
-,0x50,0x43,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x72,0x70,0x63
-,0x3D,0x20,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x6F,0x62,0x6A,0x65,0x63
-,0x74,0x2C,0x20,0x6D,0x65,0x74,0x68,0x6F,0x64,0x2C,0x20,0x61,0x72,0x67,0x75,0x6D
-,0x65,0x6E,0x74,0x73,0x29,0x20,0x7B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x72,0x65,0x74
-,0x75,0x72,0x6E,0x20,0x70,0x6F,0x73,0x74,0x28,0x22,0x2F,0x72,0x70,0x63,0x2F,0x22
-,0x20,0x2B,0x20,0x6F,0x62,0x6A,0x65,0x63,0x74,0x20,0x2B,0x20,0x22,0x2F,0x22,0x20
-,0x2B,0x20,0x6D,0x65,0x74,0x68,0x6F,0x64,0x20,0x2B,0x20,0x22,0x2C,0x22,0x20,0x2B
-,0x20,0x61,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x2E,0x6A,0x6F,0x69,0x6E,0x28
-,0x22,0x2C,0x22,0x29,0x29,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x2F,0x2F,0x20
-,0x50,0x69,0x6E,0x20,0x4E,0x61,0x6D,0x65,0x73,0x20,0x74,0x6F,0x20,0x41,0x6C,0x6C
-,0x6F,0x77,0x20,0x70,0x69,0x6E,0x73,0x20,0x74,0x6F,0x20,0x62,0x65,0x20,0x72,0x65
-,0x66,0x66,0x65,0x72,0x65,0x64,0x20,0x74,0x6F,0x20,0x61,0x73,0x20,0x61,0x20,0x74
-,0x79,0x70,0x65,0x20,0x72,0x61,0x74,0x68,0x65,0x72,0x20,0x74,0x68,0x61,0x6E,0x20
-,0x61,0x20,0x73,0x74,0x72,0x69,0x6E,0x67,0x20,0x6F,0x72,0x20,0x6E,0x75,0x6D,0x62
-,0x65,0x72,0x0D,0x0A,0x0D,0x0A,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x20,0x70
-,0x69,0x6E,0x28,0x6E,0x61,0x6D,0x65,0x29,0x7B,0x0D,0x0A,0x09,0x74,0x68,0x69,0x73
-,0x2E,0x5F,0x6E,0x61,0x6D,0x65,0x20,0x3D,0x20,0x6E,0x61,0x6D,0x65,0x3B,0x0D,0x0A
-,0x7D,0x0D,0x0A,0x0D,0x0A,0x4C,0x45,0x44,0x31,0x20,0x3D,0x20,0x6E,0x65,0x77,0x20
-,0x70,0x69,0x6E,0x28,0x22,0x4C,0x45,0x44,0x31,0x22,0x29,0x3B,0x0D,0x0A,0x4C,0x45
-,0x44,0x32,0x20,0x3D,0x20,0x6E,0x65,0x77,0x20,0x70,0x69,0x6E,0x28,0x22,0x4C,0x45
-,0x44,0x32,0x22,0x29,0x3B,0x0D,0x0A,0x4C,0x45,0x44,0x33,0x20,0x3D,0x20,0x6E,0x65
-,0x77,0x20,0x70,0x69,0x6E,0x28,0x22,0x4C,0x45,0x44,0x33,0x22,0x29,0x3B,0x0D,0x0A
-,0x4C,0x45,0x44,0x34,0x20,0x3D,0x20,0x6E,0x65,0x77,0x20,0x70,0x69,0x6E,0x28,0x22
-,0x4C,0x45,0x44,0x34,0x22,0x29,0x3B,0x0D,0x0A,0x0D,0x0A,0x2F,0x2F,0x20,0x69,0x6E
-,0x74,0x65,0x72,0x66,0x61,0x63,0x65,0x20,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E
-,0x73,0x20,0x20,0x20,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D
-,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D
-,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D
-,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D
-,0x2D,0x2D,0x2D,0x2D,0x0D,0x0A,0x0D,0x0A,0x2F,0x2F,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
-,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
-,0x2A,0x2A,0x2A,0x2A,0x2A,0x20,0x44,0x69,0x67,0x69,0x74,0x61,0x6C,0x4F,0x75,0x74
-,0x20,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
-,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
-,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
-,0x2A,0x0D,0x0A,0x0D,0x0A,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x20,0x44,0x69
-,0x67,0x69,0x74,0x61,0x6C,0x4F,0x75,0x74,0x28,0x74,0x68,0x69,0x73,0x5F,0x6D,0x62
-,0x65,0x64,0x2C,0x20,0x6D,0x70,0x69,0x6E,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x69,0x66
-,0x28,0x74,0x79,0x70,0x65,0x6F,0x66,0x20,0x6D,0x70,0x69,0x6E,0x20,0x21,0x3D,0x20
-,0x22,0x73,0x74,0x72,0x69,0x6E,0x67,0x22,0x29,0x7B,0x09,0x0D,0x0A,0x09,0x09,0x2F
-,0x2F,0x63,0x72,0x65,0x61,0x74,0x65,0x20,0x61,0x20,0x6E,0x65,0x77,0x20,0x6F,0x62
-,0x6A,0x65,0x63,0x74,0x0D,0x0A,0x09,0x09,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62
-,0x65,0x64,0x20,0x3D,0x20,0x74,0x68,0x69,0x73,0x5F,0x6D,0x62,0x65,0x64,0x3B,0x0D
-,0x0A,0x09,0x2F,0x2F,0x76,0x61,0x72,0x20,0x61,0x72,0x79,0x20,0x3D,0x20,0x6E,0x65
-,0x77,0x20,0x41,0x72,0x72,0x61,0x79,0x28,0x6D,0x70,0x69,0x6E,0x2E,0x5F,0x6E,0x61
-,0x6D,0x65,0x2C,0x6D,0x70,0x69,0x6E,0x2E,0x5F,0x6E,0x61,0x6D,0x65,0x29,0x3B,0x0D
-,0x0A,0x20,0x20,0x20,0x20,0x09,0x09,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65
-,0x20,0x3D,0x20,0x74,0x68,0x69,0x73,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72,0x70,0x63
-,0x28,0x22,0x44,0x69,0x67,0x69,0x74,0x61,0x6C,0x4F,0x75,0x74,0x22,0x2C,0x20,0x22
-,0x6E,0x65,0x77,0x22,0x2C,0x20,0x5B,0x6D,0x70,0x69,0x6E,0x2E,0x5F,0x6E,0x61,0x6D
-,0x65,0x2C,0x6D,0x70,0x69,0x6E,0x2E,0x5F,0x6E,0x61,0x6D,0x65,0x5D,0x29,0x3B,0x20
-,0x0D,0x0A,0x09,0x2F,0x2F,0x09,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x20
-,0x3D,0x20,0x74,0x68,0x69,0x73,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72,0x70,0x63,0x28
-,0x22,0x44,0x69,0x67,0x69,0x74,0x61,0x6C,0x4F,0x75,0x74,0x22,0x2C,0x20,0x22,0x6E
-,0x65,0x77,0x22,0x2C,0x20,0x61,0x72,0x79,0x29,0x3B,0x20,0x0D,0x0A,0x09,0x7D,0x65
-,0x6C,0x73,0x65,0x7B,0x0D,0x0A,0x09,0x09,0x2F,0x2F,0x54,0x69,0x65,0x20,0x74,0x6F
-,0x20,0x61,0x6E,0x20,0x65,0x78,0x69,0x73,0x74,0x69,0x6E,0x67,0x20,0x6F,0x62,0x6A
-,0x65,0x63,0x74,0x0D,0x0A,0x09,0x09,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65
-,0x64,0x20,0x3D,0x20,0x74,0x68,0x69,0x73,0x5F,0x6D,0x62,0x65,0x64,0x3B,0x0D,0x0A
-,0x09,0x09,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x20,0x3D,0x20,0x6D,0x70
-,0x69,0x6E,0x3B,0x0D,0x0A,0x09,0x7D,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x44,0x69
-,0x67,0x69,0x74,0x61,0x6C,0x4F,0x75,0x74,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74,0x79
-,0x70,0x65,0x2E,0x77,0x72,0x69,0x74,0x65,0x20,0x3D,0x20,0x66,0x75,0x6E,0x63,0x74
-,0x69,0x6F,0x6E,0x28,0x76,0x61,0x6C,0x75,0x65,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x74
-,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72,0x70,0x63,0x28,0x74,0x68
-,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22,0x77,0x72,0x69,0x74,0x65,0x22
-,0x2C,0x20,0x5B,0x76,0x61,0x6C,0x75,0x65,0x5D,0x29,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A
-,0x0D,0x0A,0x44,0x69,0x67,0x69,0x74,0x61,0x6C,0x4F,0x75,0x74,0x2E,0x70,0x72,0x6F
-,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x72,0x65,0x61,0x64,0x20,0x3D,0x20,0x66,0x75
-,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x72,0x65,0x74
-,0x75,0x72,0x6E,0x20,0x70,0x61,0x72,0x73,0x65,0x49,0x6E,0x74,0x28,0x74,0x68,0x69
-,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72,0x70,0x63,0x28,0x74,0x68,0x69,0x73
-,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22,0x72,0x65,0x61,0x64,0x22,0x2C,0x20,0x5B
-,0x22,0x22,0x5D,0x29,0x29,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A,0x2F,0x2F,0x2A,0x2A,0x2A
-,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
-,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x20,0x44,0x69,0x67,0x69,0x74,0x61,0x6C
-,0x49,0x6E,0x20,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
-,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
-,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
-,0x2A,0x2A,0x2A,0x0D,0x0A,0x0D,0x0A,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x20
-,0x44,0x69,0x67,0x69,0x74,0x61,0x6C,0x49,0x6E,0x28,0x74,0x68,0x69,0x73,0x5F,0x6D
-,0x62,0x65,0x64,0x2C,0x20,0x6D,0x70,0x69,0x6E,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x69
-,0x66,0x28,0x74,0x79,0x70,0x65,0x6F,0x66,0x20,0x6D,0x70,0x69,0x6E,0x20,0x21,0x3D
-,0x20,0x22,0x73,0x74,0x72,0x69,0x6E,0x67,0x22,0x29,0x7B,0x09,0x0D,0x0A,0x09,0x09
-,0x2F,0x2F,0x63,0x72,0x65,0x61,0x74,0x65,0x20,0x61,0x20,0x6E,0x65,0x77,0x20,0x6F
-,0x62,0x6A,0x65,0x63,0x74,0x0D,0x0A,0x09,0x09,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D
-,0x62,0x65,0x64,0x20,0x3D,0x20,0x74,0x68,0x69,0x73,0x5F,0x6D,0x62,0x65,0x64,0x3B
-,0x0D,0x0A,0x20,0x20,0x20,0x20,0x09,0x09,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D
-,0x65,0x20,0x3D,0x20,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72
-,0x70,0x63,0x28,0x22,0x44,0x69,0x67,0x69,0x74,0x61,0x6C,0x49,0x6E,0x22,0x2C,0x20
-,0x22,0x6E,0x65,0x77,0x22,0x2C,0x20,0x5B,0x6D,0x70,0x69,0x6E,0x2E,0x5F,0x6E,0x61
-,0x6D,0x65,0x2C,0x6D,0x70,0x69,0x6E,0x2E,0x5F,0x6E,0x61,0x6D,0x65,0x5D,0x29,0x3B
-,0x20,0x0D,0x0A,0x09,0x7D,0x65,0x6C,0x73,0x65,0x7B,0x0D,0x0A,0x09,0x09,0x2F,0x2F
-,0x54,0x69,0x65,0x20,0x74,0x6F,0x20,0x61,0x6E,0x20,0x65,0x78,0x69,0x73,0x74,0x69
-,0x6E,0x67,0x20,0x6F,0x62,0x6A,0x65,0x63,0x74,0x0D,0x0A,0x09,0x09,0x74,0x68,0x69
-,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x20,0x3D,0x20,0x74,0x68,0x69,0x73,0x5F,0x6D
-,0x62,0x65,0x64,0x3B,0x0D,0x0A,0x09,0x09,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D
-,0x65,0x20,0x3D,0x20,0x6D,0x70,0x69,0x6E,0x3B,0x0D,0x0A,0x09,0x7D,0x0D,0x0A,0x0D
-,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x44,0x69,0x67,0x69,0x74,0x61,0x6C,0x49,0x6E,0x2E
-,0x70,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x72,0x65,0x61,0x64,0x20,0x3D
-,0x20,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x29,0x20,0x7B,0x0D,0x0A,0x09
-,0x72,0x65,0x74,0x75,0x72,0x6E,0x20,0x70,0x61,0x72,0x73,0x65,0x49,0x6E,0x74,0x28
-,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72,0x70,0x63,0x28,0x74
-,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22,0x72,0x65,0x61,0x64,0x22
-,0x2C,0x20,0x5B,0x22,0x22,0x5D,0x29,0x29,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A
-,0x2F,0x2F,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
-,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x20,0x41,0x6E
-,0x61,0x6C,0x6F,0x67,0x4F,0x75,0x74,0x20,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
-,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
-,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
-,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x0D,0x0A,0x0D,0x0A,0x66,0x75,0x6E,0x63
-,0x74,0x69,0x6F,0x6E,0x20,0x41,0x6E,0x61,0x6C,0x6F,0x67,0x4F,0x75,0x74,0x28,0x74
-,0x68,0x69,0x73,0x5F,0x6D,0x62,0x65,0x64,0x2C,0x20,0x6D,0x70,0x69,0x6E,0x29,0x20
-,0x7B,0x0D,0x0A,0x09,0x69,0x66,0x28,0x74,0x79,0x70,0x65,0x6F,0x66,0x20,0x6D,0x70
-,0x69,0x6E,0x20,0x21,0x3D,0x20,0x22,0x73,0x74,0x72,0x69,0x6E,0x67,0x22,0x29,0x7B
-,0x09,0x0D,0x0A,0x09,0x09,0x2F,0x2F,0x63,0x72,0x65,0x61,0x74,0x65,0x20,0x61,0x20
-,0x6E,0x65,0x77,0x20,0x6F,0x62,0x6A,0x65,0x63,0x74,0x0D,0x0A,0x09,0x09,0x74,0x68
-,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x20,0x3D,0x20,0x74,0x68,0x69,0x73,0x5F
-,0x6D,0x62,0x65,0x64,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x09,0x09,0x74,0x68,0x69
-,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x20,0x3D,0x20,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D
-,0x62,0x65,0x64,0x2E,0x72,0x70,0x63,0x28,0x22,0x41,0x6E,0x61,0x6C,0x6F,0x67,0x4F
-,0x75,0x74,0x22,0x2C,0x20,0x22,0x6E,0x65,0x77,0x22,0x2C,0x20,0x5B,0x6D,0x70,0x69
-,0x6E,0x2E,0x5F,0x6E,0x61,0x6D,0x65,0x2C,0x6D,0x70,0x69,0x6E,0x2E,0x5F,0x6E,0x61
-,0x6D,0x65,0x5D,0x29,0x3B,0x20,0x0D,0x0A,0x09,0x7D,0x65,0x6C,0x73,0x65,0x7B,0x0D
-,0x0A,0x09,0x09,0x2F,0x2F,0x54,0x69,0x65,0x20,0x74,0x6F,0x20,0x61,0x6E,0x20,0x65
-,0x78,0x69,0x73,0x74,0x69,0x6E,0x67,0x20,0x6F,0x62,0x6A,0x65,0x63,0x74,0x0D,0x0A
-,0x09,0x09,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x20,0x3D,0x20,0x74
-,0x68,0x69,0x73,0x5F,0x6D,0x62,0x65,0x64,0x3B,0x0D,0x0A,0x09,0x09,0x74,0x68,0x69
-,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x20,0x3D,0x20,0x6D,0x70,0x69,0x6E,0x3B,0x0D,0x0A
-,0x09,0x7D,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x41,0x6E,0x61,0x6C,0x6F,0x67,0x4F
-,0x75,0x74,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x77,0x72,0x69
-,0x74,0x65,0x20,0x3D,0x20,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x76,0x61
-,0x6C,0x75,0x65,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D
-,0x62,0x65,0x64,0x2E,0x72,0x70,0x63,0x28,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D
-,0x65,0x2C,0x20,0x22,0x77,0x72,0x69,0x74,0x65,0x22,0x2C,0x20,0x5B,0x76,0x61,0x6C
-,0x75,0x65,0x5D,0x29,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x41,0x6E,0x61,0x6C
-,0x6F,0x67,0x4F,0x75,0x74,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E
-,0x77,0x72,0x69,0x74,0x65,0x5F,0x75,0x31,0x36,0x20,0x3D,0x20,0x66,0x75,0x6E,0x63
-,0x74,0x69,0x6F,0x6E,0x28,0x76,0x61,0x6C,0x75,0x65,0x29,0x20,0x7B,0x0D,0x0A,0x09
-,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72,0x70,0x63,0x28,0x74
-,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22,0x77,0x72,0x69,0x74,0x65
-,0x5F,0x75,0x31,0x36,0x22,0x2C,0x20,0x5B,0x76,0x61,0x6C,0x75,0x65,0x5D,0x29,0x3B
-,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x41,0x6E,0x61,0x6C,0x6F,0x67,0x4F,0x75,0x74
-,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x72,0x65,0x61,0x64,0x20
-,0x3D,0x20,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x29,0x20,0x7B,0x0D,0x0A
-,0x09,0x72,0x65,0x74,0x75,0x72,0x6E,0x20,0x70,0x61,0x72,0x73,0x65,0x46,0x6C,0x6F
-,0x61,0x74,0x28,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72,0x70
-,0x63,0x28,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22,0x72,0x65
-,0x61,0x64,0x22,0x2C,0x20,0x5B,0x22,0x22,0x5D,0x29,0x29,0x3B,0x0D,0x0A,0x7D,0x0D
-,0x0A,0x0D,0x0A,0x2F,0x2F,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
-,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
-,0x20,0x41,0x6E,0x61,0x6C,0x6F,0x67,0x49,0x6E,0x20,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
-,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
-,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
-,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x0D,0x0A,0x0D,0x0A,0x66,0x75
-,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x20,0x41,0x6E,0x61,0x6C,0x6F,0x67,0x49,0x6E,0x28
-,0x74,0x68,0x69,0x73,0x5F,0x6D,0x62,0x65,0x64,0x2C,0x20,0x6D,0x70,0x69,0x6E,0x29
-,0x20,0x7B,0x0D,0x0A,0x09,0x69,0x66,0x28,0x74,0x79,0x70,0x65,0x6F,0x66,0x20,0x6D
-,0x70,0x69,0x6E,0x20,0x21,0x3D,0x20,0x22,0x73,0x74,0x72,0x69,0x6E,0x67,0x22,0x29
-,0x7B,0x09,0x0D,0x0A,0x09,0x09,0x2F,0x2F,0x63,0x72,0x65,0x61,0x74,0x65,0x20,0x61
-,0x20,0x6E,0x65,0x77,0x20,0x6F,0x62,0x6A,0x65,0x63,0x74,0x0D,0x0A,0x09,0x09,0x74
-,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x20,0x3D,0x20,0x74,0x68,0x69,0x73
-,0x5F,0x6D,0x62,0x65,0x64,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x09,0x09,0x74,0x68
-,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x20,0x3D,0x20,0x74,0x68,0x69,0x73,0x2E,0x5F
-,0x6D,0x62,0x65,0x64,0x2E,0x72,0x70,0x63,0x28,0x22,0x41,0x6E,0x61,0x6C,0x6F,0x67
-,0x49,0x6E,0x22,0x2C,0x20,0x22,0x6E,0x65,0x77,0x22,0x2C,0x20,0x5B,0x6D,0x70,0x69
-,0x6E,0x2E,0x5F,0x6E,0x61,0x6D,0x65,0x2C,0x6D,0x70,0x69,0x6E,0x2E,0x5F,0x6E,0x61
-,0x6D,0x65,0x5D,0x29,0x3B,0x20,0x0D,0x0A,0x09,0x7D,0x65,0x6C,0x73,0x65,0x7B,0x0D
-,0x0A,0x09,0x09,0x2F,0x2F,0x54,0x69,0x65,0x20,0x74,0x6F,0x20,0x61,0x6E,0x20,0x65
-,0x78,0x69,0x73,0x74,0x69,0x6E,0x67,0x20,0x6F,0x62,0x6A,0x65,0x63,0x74,0x0D,0x0A
-,0x09,0x09,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x20,0x3D,0x20,0x74
-,0x68,0x69,0x73,0x5F,0x6D,0x62,0x65,0x64,0x3B,0x0D,0x0A,0x09,0x09,0x74,0x68,0x69
-,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x20,0x3D,0x20,0x6D,0x70,0x69,0x6E,0x3B,0x0D,0x0A
-,0x09,0x7D,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x41,0x6E,0x61,0x6C,0x6F,0x67,0x49
-,0x6E,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x72,0x65,0x61,0x64
-,0x20,0x3D,0x20,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x29,0x20,0x7B,0x0D
-,0x0A,0x09,0x72,0x65,0x74,0x75,0x72,0x6E,0x20,0x70,0x61,0x72,0x73,0x65,0x46,0x6C
-,0x6F,0x61,0x74,0x28,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72
-,0x70,0x63,0x28,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22,0x72
-,0x65,0x61,0x64,0x22,0x2C,0x20,0x5B,0x22,0x22,0x5D,0x29,0x29,0x3B,0x0D,0x0A,0x7D
-,0x0D,0x0A,0x0D,0x0A,0x41,0x6E,0x61,0x6C,0x6F,0x67,0x49,0x6E,0x2E,0x70,0x72,0x6F
-,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x72,0x65,0x61,0x64,0x5F,0x75,0x31,0x36,0x20
-,0x3D,0x20,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x29,0x20,0x7B,0x0D,0x0A
-,0x09,0x72,0x65,0x74,0x75,0x72,0x6E,0x20,0x70,0x61,0x72,0x73,0x65,0x49,0x6E,0x74
-,0x28,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72,0x70,0x63,0x28
-,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22,0x72,0x65,0x61,0x64
-,0x5F,0x75,0x31,0x36,0x22,0x2C,0x20,0x5B,0x22,0x22,0x5D,0x29,0x29,0x3B,0x0D,0x0A
-,0x7D,0x0D,0x0A,0x0D,0x0A,0x2F,0x2F,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
-,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
-,0x2A,0x2A,0x20,0x50,0x77,0x6D,0x4F,0x75,0x74,0x20,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
-,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
-,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
-,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x0D,0x0A,0x0D,0x0A,0x66,0x75
-,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x20,0x50,0x77,0x6D,0x4F,0x75,0x74,0x28,0x74,0x68
-,0x69,0x73,0x5F,0x6D,0x62,0x65,0x64,0x2C,0x20,0x6D,0x70,0x69,0x6E,0x29,0x20,0x7B
-,0x0D,0x0A,0x09,0x69,0x66,0x28,0x74,0x79,0x70,0x65,0x6F,0x66,0x20,0x6D,0x70,0x69
-,0x6E,0x20,0x21,0x3D,0x20,0x22,0x73,0x74,0x72,0x69,0x6E,0x67,0x22,0x29,0x7B,0x09
-,0x0D,0x0A,0x09,0x09,0x2F,0x2F,0x63,0x72,0x65,0x61,0x74,0x65,0x20,0x61,0x20,0x6E
-,0x65,0x77,0x20,0x6F,0x62,0x6A,0x65,0x63,0x74,0x0D,0x0A,0x09,0x09,0x74,0x68,0x69
-,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x20,0x3D,0x20,0x74,0x68,0x69,0x73,0x5F,0x6D
-,0x62,0x65,0x64,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x09,0x09,0x74,0x68,0x69,0x73
-,0x2E,0x6E,0x61,0x6D,0x65,0x20,0x3D,0x20,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62
-,0x65,0x64,0x2E,0x72,0x70,0x63,0x28,0x22,0x50,0x77,0x6D,0x4F,0x75,0x74,0x22,0x2C
-,0x20,0x22,0x6E,0x65,0x77,0x22,0x2C,0x20,0x5B,0x6D,0x70,0x69,0x6E,0x2E,0x5F,0x6E
-,0x61,0x6D,0x65,0x2C,0x6D,0x70,0x69,0x6E,0x2E,0x5F,0x6E,0x61,0x6D,0x65,0x5D,0x29
-,0x3B,0x20,0x0D,0x0A,0x09,0x7D,0x65,0x6C,0x73,0x65,0x7B,0x0D,0x0A,0x09,0x09,0x2F
-,0x2F,0x54,0x69,0x65,0x20,0x74,0x6F,0x20,0x61,0x6E,0x20,0x65,0x78,0x69,0x73,0x74
-,0x69,0x6E,0x67,0x20,0x6F,0x62,0x6A,0x65,0x63,0x74,0x0D,0x0A,0x09,0x09,0x74,0x68
-,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x20,0x3D,0x20,0x74,0x68,0x69,0x73,0x5F
-,0x6D,0x62,0x65,0x64,0x3B,0x0D,0x0A,0x09,0x09,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61
-,0x6D,0x65,0x20,0x3D,0x20,0x6D,0x70,0x69,0x6E,0x3B,0x0D,0x0A,0x09,0x7D,0x0D,0x0A
-,0x7D,0x0D,0x0A,0x0D,0x0A,0x50,0x77,0x6D,0x4F,0x75,0x74,0x2E,0x70,0x72,0x6F,0x74
-,0x6F,0x74,0x79,0x70,0x65,0x2E,0x77,0x72,0x69,0x74,0x65,0x20,0x3D,0x20,0x66,0x75
-,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x76,0x61,0x6C,0x75,0x65,0x29,0x20,0x7B,0x0D
-,0x0A,0x09,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72,0x70,0x63
-,0x28,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22,0x77,0x72,0x69
-,0x74,0x65,0x22,0x2C,0x20,0x5B,0x76,0x61,0x6C,0x75,0x65,0x5D,0x29,0x3B,0x0D,0x0A
-,0x7D,0x0D,0x0A,0x0D,0x0A,0x50,0x77,0x6D,0x4F,0x75,0x74,0x2E,0x70,0x72,0x6F,0x74
-,0x6F,0x74,0x79,0x70,0x65,0x2E,0x72,0x65,0x61,0x64,0x20,0x3D,0x20,0x66,0x75,0x6E
-,0x63,0x74,0x69,0x6F,0x6E,0x28,0x29,0x20,0x7B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x72
-,0x65,0x74,0x75,0x72,0x6E,0x20,0x70,0x61,0x72,0x73,0x65,0x46,0x6C,0x6F,0x61,0x74
-,0x28,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72,0x70,0x63,0x28
-,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22,0x72,0x65,0x61,0x64
-,0x22,0x2C,0x20,0x5B,0x22,0x22,0x5D,0x29,0x29,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D
-,0x0A,0x50,0x77,0x6D,0x4F,0x75,0x74,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70
-,0x65,0x2E,0x70,0x65,0x72,0x69,0x6F,0x64,0x20,0x3D,0x20,0x66,0x75,0x6E,0x63,0x74
-,0x69,0x6F,0x6E,0x28,0x76,0x61,0x6C,0x75,0x65,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x74
-,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72,0x70,0x63,0x28,0x74,0x68
-,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22,0x70,0x65,0x72,0x69,0x6F,0x64
-,0x22,0x2C,0x20,0x5B,0x76,0x61,0x6C,0x75,0x65,0x5D,0x29,0x3B,0x0D,0x0A,0x7D,0x0D
-,0x0A,0x0D,0x0A,0x50,0x77,0x6D,0x4F,0x75,0x74,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74
-,0x79,0x70,0x65,0x2E,0x70,0x65,0x72,0x69,0x6F,0x64,0x5F,0x6D,0x73,0x20,0x3D,0x20
-,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x76,0x61,0x6C,0x75,0x65,0x29,0x20
-,0x7B,0x0D,0x0A,0x09,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72
-,0x70,0x63,0x28,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22,0x70
-,0x65,0x72,0x69,0x6F,0x64,0x5F,0x6D,0x73,0x22,0x2C,0x20,0x5B,0x76,0x61,0x6C,0x75
-,0x65,0x5D,0x29,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x50,0x77,0x6D,0x4F,0x75
-,0x74,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x70,0x65,0x72,0x69
-,0x6F,0x64,0x5F,0x75,0x73,0x20,0x3D,0x20,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E
-,0x28,0x76,0x61,0x6C,0x75,0x65,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x74,0x68,0x69,0x73
-,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72,0x70,0x63,0x28,0x74,0x68,0x69,0x73,0x2E
-,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22,0x70,0x65,0x72,0x69,0x6F,0x64,0x5F,0x75,0x73
-,0x22,0x2C,0x20,0x5B,0x76,0x61,0x6C,0x75,0x65,0x5D,0x29,0x3B,0x0D,0x0A,0x7D,0x0D
-,0x0A,0x0D,0x0A,0x50,0x77,0x6D,0x4F,0x75,0x74,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74
-,0x79,0x70,0x65,0x2E,0x70,0x75,0x6C,0x73,0x65,0x77,0x69,0x64,0x74,0x68,0x20,0x3D
-,0x20,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x76,0x61,0x6C,0x75,0x65,0x29
-,0x20,0x7B,0x0D,0x0A,0x09,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E
-,0x72,0x70,0x63,0x28,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22
-,0x70,0x75,0x6C,0x73,0x65,0x77,0x69,0x64,0x74,0x68,0x22,0x2C,0x20,0x5B,0x76,0x61
-,0x6C,0x75,0x65,0x5D,0x29,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x50,0x77,0x6D
-,0x4F,0x75,0x74,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x70,0x75
-,0x6C,0x73,0x65,0x77,0x69,0x64,0x74,0x68,0x5F,0x6D,0x73,0x20,0x3D,0x20,0x66,0x75
-,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x76,0x61,0x6C,0x75,0x65,0x29,0x20,0x7B,0x0D
-,0x0A,0x09,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72,0x70,0x63
-,0x28,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22,0x70,0x75,0x6C
-,0x73,0x65,0x77,0x69,0x64,0x74,0x68,0x5F,0x6D,0x73,0x22,0x2C,0x20,0x5B,0x76,0x61
-,0x6C,0x75,0x65,0x5D,0x29,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x50,0x77,0x6D
-,0x4F,0x75,0x74,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x70,0x75
-,0x6C,0x73,0x65,0x77,0x69,0x64,0x74,0x68,0x5F,0x75,0x73,0x20,0x3D,0x20,0x66,0x75
-,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x76,0x61,0x6C,0x75,0x65,0x29,0x20,0x7B,0x0D
-,0x0A,0x09,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72,0x70,0x63
-,0x28,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22,0x70,0x75,0x6C
-,0x73,0x65,0x77,0x69,0x64,0x74,0x68,0x5F,0x75,0x73,0x22,0x2C,0x20,0x5B,0x76,0x61
-,0x6C,0x75,0x65,0x5D,0x29,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x2F,0x2F,0x2A
-,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
-,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x20,0x73,0x65,0x72,0x69,0x61
-,0x6C,0x20,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
-,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
-,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
-,0x2A,0x2A,0x0D,0x0A,0x0D,0x0A,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x20,0x53
-,0x65,0x72,0x69,0x61,0x6C,0x28,0x74,0x68,0x69,0x73,0x5F,0x6D,0x62,0x65,0x64,0x2C
-,0x20,0x74,0x78,0x2C,0x20,0x72,0x78,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x69,0x66,0x28
-,0x74,0x79,0x70,0x65,0x6F,0x66,0x20,0x74,0x78,0x20,0x21,0x3D,0x20,0x22,0x73,0x74
-,0x72,0x69,0x6E,0x67,0x22,0x29,0x7B,0x09,0x0D,0x0A,0x09,0x09,0x2F,0x2F,0x63,0x72
-,0x65,0x61,0x74,0x65,0x20,0x61,0x20,0x6E,0x65,0x77,0x20,0x6F,0x62,0x6A,0x65,0x63
-,0x74,0x0D,0x0A,0x09,0x09,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x20
-,0x3D,0x20,0x74,0x68,0x69,0x73,0x5F,0x6D,0x62,0x65,0x64,0x3B,0x0D,0x0A,0x20,0x20
-,0x20,0x20,0x09,0x09,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x20,0x3D,0x20
-,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72,0x70,0x63,0x28,0x22
-,0x53,0x65,0x72,0x69,0x61,0x6C,0x22,0x2C,0x20,0x22,0x6E,0x65,0x77,0x22,0x2C,0x20
-,0x5B,0x74,0x78,0x2E,0x5F,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x72,0x78,0x2E,0x5F,0x6E
-,0x61,0x6D,0x65,0x5D,0x29,0x3B,0x20,0x0D,0x0A,0x09,0x7D,0x65,0x6C,0x73,0x65,0x7B
-,0x0D,0x0A,0x09,0x09,0x2F,0x2F,0x54,0x69,0x65,0x20,0x74,0x6F,0x20,0x61,0x6E,0x20
-,0x65,0x78,0x69,0x73,0x74,0x69,0x6E,0x67,0x20,0x6F,0x62,0x6A,0x65,0x63,0x74,0x0D
-,0x0A,0x09,0x09,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x20,0x3D,0x20
-,0x74,0x68,0x69,0x73,0x5F,0x6D,0x62,0x65,0x64,0x3B,0x0D,0x0A,0x09,0x09,0x74,0x68
-,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x20,0x3D,0x20,0x74,0x78,0x3B,0x0D,0x0A,0x09
-,0x7D,0x0D,0x0A,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x53,0x65,0x72,0x69,0x61,0x6C
-,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x70,0x75,0x74,0x63,0x20
-,0x3D,0x20,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x76,0x61,0x6C,0x75,0x65
-,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64
-,0x2E,0x72,0x70,0x63,0x28,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20
-,0x22,0x70,0x75,0x74,0x63,0x22,0x2C,0x20,0x5B,0x76,0x61,0x6C,0x75,0x65,0x5D,0x29
-,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x53,0x65,0x72,0x69,0x61,0x6C,0x2E,0x70
-,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x67,0x65,0x74,0x63,0x20,0x3D,0x20
-,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x76,0x61,0x6C,0x75,0x65,0x29,0x20
-,0x7B,0x0D,0x0A,0x09,0x72,0x65,0x74,0x75,0x72,0x6E,0x20,0x70,0x61,0x72,0x73,0x65
-,0x49,0x6E,0x74,0x28,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72
-,0x70,0x63,0x28,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22,0x67
-,0x65,0x74,0x63,0x22,0x2C,0x20,0x5B,0x22,0x22,0x5D,0x29,0x29,0x3B,0x0D,0x0A,0x7D
-,0x0D,0x0A,0x0D,0x0A,0x53,0x65,0x72,0x69,0x61,0x6C,0x2E,0x70,0x72,0x6F,0x74,0x6F
-,0x74,0x79,0x70,0x65,0x2E,0x72,0x65,0x61,0x64,0x61,0x62,0x6C,0x65,0x20,0x3D,0x20
-,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x76,0x61,0x6C,0x75,0x65,0x29,0x20
-,0x7B,0x0D,0x0A,0x09,0x72,0x65,0x74,0x75,0x72,0x6E,0x20,0x70,0x61,0x72,0x73,0x65
-,0x49,0x6E,0x74,0x28,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72
-,0x70,0x63,0x28,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22,0x72
-,0x65,0x61,0x64,0x61,0x62,0x6C,0x65,0x22,0x2C,0x20,0x5B,0x22,0x22,0x5D,0x29,0x29
-,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x53,0x65,0x72,0x69,0x61,0x6C,0x2E,0x70
-,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x77,0x72,0x69,0x74,0x65,0x61,0x62
-,0x6C,0x65,0x20,0x3D,0x20,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x76,0x61
-,0x6C,0x75,0x65,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x72,0x65,0x74,0x75,0x72,0x6E,0x20
-,0x70,0x61,0x72,0x73,0x65,0x49,0x6E,0x74,0x28,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D
-,0x62,0x65,0x64,0x2E,0x72,0x70,0x63,0x28,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D
-,0x65,0x2C,0x20,0x22,0x77,0x72,0x69,0x74,0x65,0x61,0x62,0x6C,0x65,0x22,0x2C,0x20
-,0x5B,0x22,0x22,0x5D,0x29,0x29,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x0D,0x0A
-,0x2F,0x2F,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
-,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x20,0x52,0x50
-,0x43,0x56,0x61,0x72,0x69,0x61,0x62,0x6C,0x65,0x20,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
-,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
-,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
-,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x0D,0x0A,0x0D,0x0A,0x66,0x75
-,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x20,0x52,0x50,0x43,0x56,0x61,0x72,0x69,0x61,0x62
-,0x6C,0x65,0x28,0x74,0x68,0x69,0x73,0x5F,0x6D,0x62,0x65,0x64,0x2C,0x20,0x6E,0x61
-,0x6D,0x65,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62
-,0x65,0x64,0x20,0x3D,0x20,0x74,0x68,0x69,0x73,0x5F,0x6D,0x62,0x65,0x64,0x3B,0x0D
-,0x0A,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61
-,0x6D,0x65,0x20,0x3D,0x20,0x6E,0x61,0x6D,0x65,0x3B,0x20,0x0D,0x0A,0x7D,0x0D,0x0A
-,0x0D,0x0A,0x52,0x50,0x43,0x56,0x61,0x72,0x69,0x61,0x62,0x6C,0x65,0x2E,0x70,0x72
-,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x77,0x72,0x69,0x74,0x65,0x20,0x3D,0x20
-,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x76,0x61,0x6C,0x75,0x65,0x29,0x20
-,0x7B,0x0D,0x0A,0x09,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72
-,0x70,0x63,0x28,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22,0x77
-,0x72,0x69,0x74,0x65,0x22,0x2C,0x20,0x5B,0x76,0x61,0x6C,0x75,0x65,0x5D,0x29,0x3B
-,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x52,0x50,0x43,0x56,0x61,0x72,0x69,0x61,0x62
-,0x6C,0x65,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x72,0x65,0x61
-,0x64,0x5F,0x69,0x6E,0x74,0x20,0x3D,0x20,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E
-,0x28,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x72,0x65,0x74,0x75,0x72,0x6E,0x20,0x70,0x61
-,0x72,0x73,0x65,0x49,0x6E,0x74,0x28,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65
-,0x64,0x2E,0x72,0x70,0x63,0x28,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C
-,0x20,0x22,0x72,0x65,0x61,0x64,0x22,0x2C,0x20,0x5B,0x22,0x22,0x5D,0x29,0x29,0x3B
-,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x52,0x50,0x43,0x56,0x61,0x72,0x69,0x61,0x62
-,0x6C,0x65,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x72,0x65,0x61
-,0x64,0x5F,0x66,0x6C,0x6F,0x61,0x74,0x20,0x3D,0x20,0x66,0x75,0x6E,0x63,0x74,0x69
-,0x6F,0x6E,0x28,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x72,0x65,0x74,0x75,0x72,0x6E,0x20
-,0x70,0x61,0x72,0x73,0x65,0x46,0x6C,0x6F,0x61,0x74,0x28,0x74,0x68,0x69,0x73,0x2E
-,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72,0x70,0x63,0x28,0x74,0x68,0x69,0x73,0x2E,0x6E
-,0x61,0x6D,0x65,0x2C,0x20,0x22,0x72,0x65,0x61,0x64,0x22,0x2C,0x20,0x5B,0x22,0x22
-,0x5D,0x29,0x29,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x52,0x50,0x43,0x56,0x61
-,0x72,0x69,0x61,0x62,0x6C,0x65,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65
-,0x2E,0x72,0x65,0x61,0x64,0x20,0x3D,0x20,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E
-,0x28,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x72,0x65,0x74,0x75,0x72,0x6E,0x20,0x28,0x74
-,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72,0x70,0x63,0x28,0x74,0x68
-,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22,0x72,0x65,0x61,0x64,0x22,0x2C
-,0x20,0x5B,0x22,0x22,0x5D,0x29,0x29,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x2F
-,0x2F,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
-,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x20,0x52,0x50,0x43
-,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x20,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
-,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
-,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
-,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x0D,0x0A,0x0D,0x0A,0x66,0x75,0x6E
-,0x63,0x74,0x69,0x6F,0x6E,0x20,0x52,0x50,0x43,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F
-,0x6E,0x28,0x74,0x68,0x69,0x73,0x5F,0x6D,0x62,0x65,0x64,0x2C,0x20,0x6E,0x61,0x6D
-,0x65,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65
-,0x64,0x20,0x3D,0x20,0x74,0x68,0x69,0x73,0x5F,0x6D,0x62,0x65,0x64,0x3B,0x0D,0x0A
-,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D
-,0x65,0x20,0x3D,0x20,0x6E,0x61,0x6D,0x65,0x3B,0x20,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D
-,0x0A,0x52,0x50,0x43,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x2E,0x70,0x72,0x6F
-,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x72,0x75,0x6E,0x20,0x3D,0x20,0x66,0x75,0x6E
-,0x63,0x74,0x69,0x6F,0x6E,0x28,0x76,0x61,0x6C,0x75,0x65,0x29,0x20,0x7B,0x0D,0x0A
-,0x09,0x72,0x65,0x74,0x75,0x72,0x6E,0x20,0x28,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D
-,0x62,0x65,0x64,0x2E,0x72,0x70,0x63,0x28,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D
-,0x65,0x2C,0x20,0x22,0x72,0x75,0x6E,0x22,0x2C,0x20,0x5B,0x76,0x61,0x6C,0x75,0x65
-,0x5D,0x29,0x29,0x3B,0x0D,0x0A,0x7D
-};
-
-static const char led_htm_tbl[] = {
- 0x3C,0x68,0x74,0x6D,0x6C,0x3E,0x0D,0x0A,0x3C,0x68,0x65,0x61,0x64,0x3E,0x0D,0x0A
-,0x3C,0x6D,0x65,0x74,0x61,0x20,0x68,0x74,0x74,0x70,0x2D,0x65,0x71,0x75,0x69,0x76
-,0x3D,0x22,0x43,0x6F,0x6E,0x74,0x65,0x6E,0x74,0x2D,0x54,0x79,0x70,0x65,0x22,0x20
-,0x63,0x6F,0x6E,0x74,0x65,0x6E,0x74,0x3D,0x22,0x74,0x65,0x78,0x74,0x2F,0x68,0x74
-,0x6D,0x6C,0x3B,0x20,0x63,0x68,0x61,0x72,0x73,0x65,0x74,0x3D,0x22,0x20,0x75,0x74
-,0x66,0x2D,0x38,0x22,0x3E,0x20,0x0D,0x0A,0x3C,0x74,0x69,0x74,0x6C,0x65,0x3E,0x4C
-,0x45,0x44,0x20,0x54,0x6F,0x67,0x67,0x6C,0x65,0x3C,0x2F,0x74,0x69,0x74,0x6C,0x65
-,0x3E,0x0D,0x0A,0x3C,0x73,0x63,0x72,0x69,0x70,0x74,0x20,0x74,0x79,0x70,0x65,0x3D
-,0x22,0x74,0x65,0x78,0x74,0x2F,0x6A,0x61,0x76,0x61,0x73,0x63,0x72,0x69,0x70,0x74
-,0x22,0x20,0x73,0x72,0x63,0x3D,0x22,0x6D,0x62,0x65,0x64,0x52,0x50,0x43,0x2E,0x6A
-,0x73,0x22,0x20,0x6C,0x61,0x6E,0x67,0x75,0x61,0x67,0x65,0x3D,0x22,0x6A,0x61,0x76
-,0x61,0x73,0x63,0x72,0x69,0x70,0x74,0x22,0x20,0x63,0x68,0x61,0x72,0x73,0x65,0x74
-,0x3D,0x22,0x75,0x74,0x66,0x2D,0x38,0x22,0x3E,0x3C,0x2F,0x73,0x63,0x72,0x69,0x70
-,0x74,0x3E,0x0D,0x0A,0x3C,0x73,0x63,0x72,0x69,0x70,0x74,0x20,0x74,0x79,0x70,0x65
-,0x3D,0x22,0x74,0x65,0x78,0x74,0x2F,0x6A,0x61,0x76,0x61,0x73,0x63,0x72,0x69,0x70
-,0x74,0x22,0x3E,0x6D,0x62,0x65,0x64,0x3D,0x6E,0x65,0x77,0x20,0x48,0x54,0x54,0x50
-,0x52,0x50,0x43,0x28,0x29,0x3B,0x6C,0x65,0x64,0x31,0x3D,0x6E,0x65,0x77,0x20,0x44
-,0x69,0x67,0x69,0x74,0x61,0x6C,0x4F,0x75,0x74,0x28,0x6D,0x62,0x65,0x64,0x2C,0x4C
-,0x45,0x44,0x31,0x29,0x3B,0x6C,0x65,0x64,0x32,0x3D,0x6E,0x65,0x77,0x20,0x44,0x69
-,0x67,0x69,0x74,0x61,0x6C,0x4F,0x75,0x74,0x28,0x6D,0x62,0x65,0x64,0x2C,0x4C,0x45
-,0x44,0x32,0x29,0x3B,0x6C,0x65,0x64,0x33,0x3D,0x6E,0x65,0x77,0x20,0x44,0x69,0x67
-,0x69,0x74,0x61,0x6C,0x4F,0x75,0x74,0x28,0x6D,0x62,0x65,0x64,0x2C,0x4C,0x45,0x44
-,0x33,0x29,0x3B,0x0D,0x0A,0x3C,0x2F,0x73,0x63,0x72,0x69,0x70,0x74,0x3E,0x0D,0x0A
-,0x3C,0x73,0x63,0x72,0x69,0x70,0x74,0x20,0x74,0x79,0x70,0x65,0x3D,0x22,0x74,0x65
-,0x78,0x74,0x2F,0x6A,0x61,0x76,0x61,0x73,0x63,0x72,0x69,0x70,0x74,0x22,0x3E,0x0D
-,0x0A,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x20,0x6C,0x65,0x64,0x31,0x5F,0x74
-,0x6F,0x67,0x67,0x6C,0x65,0x28,0x29,0x20,0x7B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20
-,0x20,0x20,0x20,0x76,0x61,0x72,0x20,0x72,0x64,0x31,0x20,0x3D,0x20,0x6C,0x65,0x64
-,0x31,0x2E,0x72,0x65,0x61,0x64,0x28,0x29,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20
-,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x72,0x64,0x31,0x20,0x3D,0x3D,0x20,0x31,0x29
-,0x20,0x7B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20
-,0x20,0x20,0x20,0x20,0x6C,0x65,0x64,0x31,0x2E,0x77,0x72,0x69,0x74,0x65,0x28,0x30
-,0x29,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20
-,0x20,0x20,0x20,0x20,0x62,0x74,0x6E,0x5F,0x4C,0x45,0x44,0x31,0x2E,0x76,0x61,0x6C
-,0x75,0x65,0x20,0x3D,0x20,0x27,0x4C,0x45,0x44,0x31,0x20,0x4F,0x66,0x66,0x27,0x3B
-,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20
-,0x20,0x20,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x67,0x65,0x74,0x45,0x6C
-,0x65,0x6D,0x65,0x6E,0x74,0x42,0x79,0x49,0x64,0x28,0x22,0x62,0x74,0x6E,0x5F,0x4C
-,0x45,0x44,0x31,0x22,0x29,0x2E,0x73,0x74,0x79,0x6C,0x65,0x2E,0x62,0x61,0x63,0x6B
-,0x67,0x72,0x6F,0x75,0x6E,0x64,0x43,0x6F,0x6C,0x6F,0x72,0x20,0x3D,0x20,0x27,0x23
-,0x63,0x30,0x63,0x30,0x63,0x30,0x27,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20,0x20
-,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x64,0x6F,0x63,0x75,0x6D,0x65
-,0x6E,0x74,0x2E,0x67,0x65,0x74,0x45,0x6C,0x65,0x6D,0x65,0x6E,0x74,0x42,0x79,0x49
-,0x64,0x28,0x22,0x62,0x74,0x6E,0x5F,0x4C,0x45,0x44,0x31,0x22,0x29,0x2E,0x73,0x74
-,0x79,0x6C,0x65,0x2E,0x63,0x6F,0x6C,0x6F,0x72,0x20,0x3D,0x20,0x27,0x23,0x30,0x30
-,0x30,0x30,0x30,0x30,0x27,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20
-,0x7D,0x65,0x6C,0x73,0x65,0x7B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20
-,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6C,0x65,0x64,0x31,0x2E,0x77,0x72,0x69
-,0x74,0x65,0x28,0x31,0x29,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20
-,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x62,0x74,0x6E,0x5F,0x4C,0x45,0x44,0x31
-,0x2E,0x76,0x61,0x6C,0x75,0x65,0x20,0x3D,0x20,0x27,0x4C,0x45,0x44,0x31,0x20,0x4F
-,0x6E,0x27,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20
-,0x20,0x20,0x20,0x20,0x20,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x67,0x65
-,0x74,0x45,0x6C,0x65,0x6D,0x65,0x6E,0x74,0x42,0x79,0x49,0x64,0x28,0x22,0x62,0x74
-,0x6E,0x5F,0x4C,0x45,0x44,0x31,0x22,0x29,0x2E,0x73,0x74,0x79,0x6C,0x65,0x2E,0x62
-,0x61,0x63,0x6B,0x67,0x72,0x6F,0x75,0x6E,0x64,0x43,0x6F,0x6C,0x6F,0x72,0x20,0x3D
-,0x20,0x27,0x23,0x66,0x66,0x30,0x30,0x30,0x30,0x27,0x3B,0x0D,0x0A,0x20,0x20,0x20
-,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x64,0x6F,0x63
-,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x67,0x65,0x74,0x45,0x6C,0x65,0x6D,0x65,0x6E,0x74
-,0x42,0x79,0x49,0x64,0x28,0x22,0x62,0x74,0x6E,0x5F,0x4C,0x45,0x44,0x31,0x22,0x29
-,0x2E,0x73,0x74,0x79,0x6C,0x65,0x2E,0x63,0x6F,0x6C,0x6F,0x72,0x20,0x3D,0x20,0x27
-,0x23,0x66,0x66,0x66,0x66,0x66,0x66,0x27,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20
-,0x20,0x20,0x20,0x7D,0x0D,0x0A,0x7D,0x0D,0x0A,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F
-,0x6E,0x20,0x6C,0x65,0x64,0x32,0x5F,0x74,0x6F,0x67,0x67,0x6C,0x65,0x28,0x29,0x20
-,0x7B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x76,0x61,0x72,0x20,0x72
-,0x64,0x32,0x20,0x3D,0x20,0x6C,0x65,0x64,0x32,0x2E,0x72,0x65,0x61,0x64,0x28,0x29
-,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x72
-,0x64,0x32,0x20,0x3D,0x3D,0x20,0x31,0x29,0x20,0x7B,0x0D,0x0A,0x20,0x20,0x20,0x20
-,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6C,0x65,0x64,0x32
-,0x2E,0x77,0x72,0x69,0x74,0x65,0x28,0x30,0x29,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20
-,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x62,0x74,0x6E,0x5F
-,0x4C,0x45,0x44,0x32,0x2E,0x76,0x61,0x6C,0x75,0x65,0x20,0x3D,0x20,0x27,0x4C,0x45
-,0x44,0x32,0x20,0x4F,0x66,0x66,0x27,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20,0x20
-,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x64,0x6F,0x63,0x75,0x6D,0x65
-,0x6E,0x74,0x2E,0x67,0x65,0x74,0x45,0x6C,0x65,0x6D,0x65,0x6E,0x74,0x42,0x79,0x49
-,0x64,0x28,0x22,0x62,0x74,0x6E,0x5F,0x4C,0x45,0x44,0x32,0x22,0x29,0x2E,0x73,0x74
-,0x79,0x6C,0x65,0x2E,0x62,0x61,0x63,0x6B,0x67,0x72,0x6F,0x75,0x6E,0x64,0x43,0x6F
-,0x6C,0x6F,0x72,0x20,0x3D,0x20,0x27,0x23,0x63,0x30,0x63,0x30,0x63,0x30,0x27,0x3B
-,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20
-,0x20,0x20,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x67,0x65,0x74,0x45,0x6C
-,0x65,0x6D,0x65,0x6E,0x74,0x42,0x79,0x49,0x64,0x28,0x22,0x62,0x74,0x6E,0x5F,0x4C
-,0x45,0x44,0x32,0x22,0x29,0x2E,0x73,0x74,0x79,0x6C,0x65,0x2E,0x63,0x6F,0x6C,0x6F
-,0x72,0x20,0x3D,0x20,0x27,0x23,0x30,0x30,0x30,0x30,0x30,0x30,0x27,0x3B,0x0D,0x0A
-,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7D,0x65,0x6C,0x73,0x65,0x7B,0x0D,0x0A
-,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20
-,0x6C,0x65,0x64,0x32,0x2E,0x77,0x72,0x69,0x74,0x65,0x28,0x31,0x29,0x3B,0x0D,0x0A
-,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20
-,0x62,0x74,0x6E,0x5F,0x4C,0x45,0x44,0x32,0x2E,0x76,0x61,0x6C,0x75,0x65,0x20,0x3D
-,0x20,0x27,0x4C,0x45,0x44,0x32,0x20,0x4F,0x6E,0x27,0x3B,0x0D,0x0A,0x20,0x20,0x20
-,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x64,0x6F,0x63
-,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x67,0x65,0x74,0x45,0x6C,0x65,0x6D,0x65,0x6E,0x74
-,0x42,0x79,0x49,0x64,0x28,0x22,0x62,0x74,0x6E,0x5F,0x4C,0x45,0x44,0x32,0x22,0x29
-,0x2E,0x73,0x74,0x79,0x6C,0x65,0x2E,0x62,0x61,0x63,0x6B,0x67,0x72,0x6F,0x75,0x6E
-,0x64,0x43,0x6F,0x6C,0x6F,0x72,0x20,0x3D,0x20,0x27,0x23,0x30,0x30,0x38,0x30,0x30
-,0x30,0x27,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20
-,0x20,0x20,0x20,0x20,0x20,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x67,0x65
-,0x74,0x45,0x6C,0x65,0x6D,0x65,0x6E,0x74,0x42,0x79,0x49,0x64,0x28,0x22,0x62,0x74
-,0x6E,0x5F,0x4C,0x45,0x44,0x32,0x22,0x29,0x2E,0x73,0x74,0x79,0x6C,0x65,0x2E,0x63
-,0x6F,0x6C,0x6F,0x72,0x20,0x3D,0x20,0x27,0x23,0x66,0x66,0x66,0x66,0x66,0x66,0x27
-,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7D,0x0D,0x0A,0x7D,0x0D
-,0x0A,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x20,0x6C,0x65,0x64,0x33,0x5F,0x74
-,0x6F,0x67,0x67,0x6C,0x65,0x28,0x29,0x20,0x7B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20
-,0x20,0x20,0x20,0x76,0x61,0x72,0x20,0x72,0x64,0x33,0x20,0x3D,0x20,0x6C,0x65,0x64
-,0x33,0x2E,0x72,0x65,0x61,0x64,0x28,0x29,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20
-,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x72,0x64,0x33,0x20,0x3D,0x3D,0x20,0x31,0x29
-,0x20,0x7B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20
-,0x20,0x20,0x20,0x20,0x6C,0x65,0x64,0x33,0x2E,0x77,0x72,0x69,0x74,0x65,0x28,0x30
-,0x29,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20
-,0x20,0x20,0x20,0x20,0x62,0x74,0x6E,0x5F,0x4C,0x45,0x44,0x33,0x2E,0x76,0x61,0x6C
-,0x75,0x65,0x20,0x3D,0x20,0x27,0x4C,0x45,0x44,0x33,0x20,0x4F,0x66,0x66,0x27,0x3B
-,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20
-,0x20,0x20,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x67,0x65,0x74,0x45,0x6C
-,0x65,0x6D,0x65,0x6E,0x74,0x42,0x79,0x49,0x64,0x28,0x22,0x62,0x74,0x6E,0x5F,0x4C
-,0x45,0x44,0x33,0x22,0x29,0x2E,0x73,0x74,0x79,0x6C,0x65,0x2E,0x62,0x61,0x63,0x6B
-,0x67,0x72,0x6F,0x75,0x6E,0x64,0x43,0x6F,0x6C,0x6F,0x72,0x20,0x3D,0x20,0x27,0x23
-,0x63,0x30,0x63,0x30,0x63,0x30,0x27,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20,0x20
-,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x64,0x6F,0x63,0x75,0x6D,0x65
-,0x6E,0x74,0x2E,0x67,0x65,0x74,0x45,0x6C,0x65,0x6D,0x65,0x6E,0x74,0x42,0x79,0x49
-,0x64,0x28,0x22,0x62,0x74,0x6E,0x5F,0x4C,0x45,0x44,0x33,0x22,0x29,0x2E,0x73,0x74
-,0x79,0x6C,0x65,0x2E,0x63,0x6F,0x6C,0x6F,0x72,0x20,0x3D,0x20,0x27,0x23,0x30,0x30
-,0x30,0x30,0x30,0x30,0x27,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20
-,0x7D,0x65,0x6C,0x73,0x65,0x7B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20
-,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6C,0x65,0x64,0x33,0x2E,0x77,0x72,0x69
-,0x74,0x65,0x28,0x31,0x29,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20
-,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x62,0x74,0x6E,0x5F,0x4C,0x45,0x44,0x33
-,0x2E,0x76,0x61,0x6C,0x75,0x65,0x20,0x3D,0x20,0x27,0x4C,0x45,0x44,0x33,0x20,0x4F
-,0x6E,0x27,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20
-,0x20,0x20,0x20,0x20,0x20,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x67,0x65
-,0x74,0x45,0x6C,0x65,0x6D,0x65,0x6E,0x74,0x42,0x79,0x49,0x64,0x28,0x22,0x62,0x74
-,0x6E,0x5F,0x4C,0x45,0x44,0x33,0x22,0x29,0x2E,0x73,0x74,0x79,0x6C,0x65,0x2E,0x62
-,0x61,0x63,0x6B,0x67,0x72,0x6F,0x75,0x6E,0x64,0x43,0x6F,0x6C,0x6F,0x72,0x20,0x3D
-,0x20,0x27,0x23,0x30,0x30,0x30,0x30,0x63,0x63,0x27,0x3B,0x0D,0x0A,0x20,0x20,0x20
-,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x64,0x6F,0x63
-,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x67,0x65,0x74,0x45,0x6C,0x65,0x6D,0x65,0x6E,0x74
-,0x42,0x79,0x49,0x64,0x28,0x22,0x62,0x74,0x6E,0x5F,0x4C,0x45,0x44,0x33,0x22,0x29
-,0x2E,0x73,0x74,0x79,0x6C,0x65,0x2E,0x63,0x6F,0x6C,0x6F,0x72,0x20,0x3D,0x20,0x27
-,0x23,0x66,0x66,0x66,0x66,0x66,0x66,0x27,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20
-,0x20,0x20,0x20,0x7D,0x0D,0x0A,0x7D,0x0D,0x0A,0x3C,0x2F,0x73,0x63,0x72,0x69,0x70
-,0x74,0x3E,0x0D,0x0A,0x3C,0x2F,0x68,0x65,0x61,0x64,0x3E,0x0D,0x0A,0x3C,0x62,0x6F
-,0x64,0x79,0x3E,0x0D,0x0A,0x3C,0x70,0x3E,0x3C,0x66,0x6F,0x6E,0x74,0x20,0x73,0x69
-,0x7A,0x65,0x3D,0x22,0x38,0x22,0x3E,0x3C,0x73,0x70,0x61,0x6E,0x20,0x73,0x74,0x79
-,0x6C,0x65,0x3D,0x22,0x63,0x6F,0x6C,0x6F,0x72,0x3A,0x23,0x30,0x30,0x30,0x30,0x38
-,0x30,0x22,0x3E,0x3C,0x62,0x3E,0x4C,0x45,0x44,0x20,0x54,0x6F,0x67,0x67,0x6C,0x65
-,0x20,0x53,0x77,0x69,0x74,0x63,0x68,0x3C,0x2F,0x62,0x3E,0x3C,0x2F,0x73,0x70,0x61
-,0x6E,0x3E,0x3C,0x2F,0x66,0x6F,0x6E,0x74,0x3E,0x3C,0x62,0x72,0x3E,0x3C,0x62,0x72
-,0x3E,0x0D,0x0A,0x3C,0x69,0x6E,0x70,0x75,0x74,0x20,0x74,0x79,0x70,0x65,0x3D,0x22
-,0x62,0x75,0x74,0x74,0x6F,0x6E,0x22,0x20,0x49,0x44,0x3D,0x22,0x62,0x74,0x6E,0x5F
-,0x4C,0x45,0x44,0x31,0x22,0x20,0x73,0x74,0x79,0x6C,0x65,0x3D,0x22,0x46,0x4F,0x4E
-,0x54,0x2D,0x46,0x41,0x4D,0x49,0x4C,0x59,0x3A,0x54,0x61,0x68,0x6F,0x6D,0x61,0x3B
-,0x46,0x4F,0x4E,0x54,0x2D,0x53,0x49,0x5A,0x45,0x3A,0x39,0x70,0x74,0x3B,0x63,0x6F
-,0x6C,0x6F,0x72,0x3A,0x23,0x30,0x30,0x30,0x30,0x30,0x30,0x3B,0x62,0x61,0x63,0x6B
-,0x67,0x72,0x6F,0x75,0x6E,0x64,0x2D,0x63,0x6F,0x6C,0x6F,0x72,0x3A,0x23,0x63,0x30
-,0x63,0x30,0x63,0x30,0x3B,0x57,0x49,0x44,0x54,0x48,0x3A,0x20,0x37,0x30,0x70,0x78
-,0x3B,0x20,0x48,0x45,0x49,0x47,0x48,0x54,0x3A,0x20,0x34,0x30,0x70,0x78,0x22,0x20
-,0x6F,0x6E,0x43,0x6C,0x69,0x63,0x6B,0x3D,0x22,0x6C,0x65,0x64,0x31,0x5F,0x74,0x6F
-,0x67,0x67,0x6C,0x65,0x28,0x29,0x22,0x20,0x76,0x61,0x6C,0x75,0x65,0x20,0x3D,0x20
-,0x22,0x4C,0x45,0x44,0x31,0x20,0x4F,0x66,0x66,0x22,0x3E,0x20,0x3C,0x62,0x72,0x3E
-,0x0D,0x0A,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x3C,0x69,0x6E,0x70,0x75,0x74,0x20,0x74
-,0x79,0x70,0x65,0x3D,0x22,0x62,0x75,0x74,0x74,0x6F,0x6E,0x22,0x20,0x49,0x44,0x3D
-,0x22,0x62,0x74,0x6E,0x5F,0x4C,0x45,0x44,0x32,0x22,0x20,0x73,0x74,0x79,0x6C,0x65
-,0x3D,0x22,0x46,0x4F,0x4E,0x54,0x2D,0x46,0x41,0x4D,0x49,0x4C,0x59,0x3A,0x54,0x61
-,0x68,0x6F,0x6D,0x61,0x3B,0x46,0x4F,0x4E,0x54,0x2D,0x53,0x49,0x5A,0x45,0x3A,0x39
-,0x70,0x74,0x3B,0x63,0x6F,0x6C,0x6F,0x72,0x3A,0x23,0x30,0x30,0x30,0x30,0x30,0x30
-,0x3B,0x62,0x61,0x63,0x6B,0x67,0x72,0x6F,0x75,0x6E,0x64,0x2D,0x63,0x6F,0x6C,0x6F
-,0x72,0x3A,0x23,0x63,0x30,0x63,0x30,0x63,0x30,0x3B,0x57,0x49,0x44,0x54,0x48,0x3A
-,0x20,0x37,0x30,0x70,0x78,0x3B,0x20,0x48,0x45,0x49,0x47,0x48,0x54,0x3A,0x20,0x34
-,0x30,0x70,0x78,0x22,0x20,0x6F,0x6E,0x43,0x6C,0x69,0x63,0x6B,0x3D,0x22,0x6C,0x65
-,0x64,0x32,0x5F,0x74,0x6F,0x67,0x67,0x6C,0x65,0x28,0x29,0x22,0x20,0x76,0x61,0x6C
-,0x75,0x65,0x20,0x3D,0x20,0x22,0x4C,0x45,0x44,0x32,0x20,0x4F,0x66,0x66,0x22,0x3E
-,0x20,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x3C,0x69,0x6E
-,0x70,0x75,0x74,0x20,0x74,0x79,0x70,0x65,0x3D,0x22,0x62,0x75,0x74,0x74,0x6F,0x6E
-,0x22,0x20,0x49,0x44,0x3D,0x22,0x62,0x74,0x6E,0x5F,0x4C,0x45,0x44,0x33,0x22,0x20
-,0x73,0x74,0x79,0x6C,0x65,0x3D,0x22,0x46,0x4F,0x4E,0x54,0x2D,0x46,0x41,0x4D,0x49
-,0x4C,0x59,0x3A,0x54,0x61,0x68,0x6F,0x6D,0x61,0x3B,0x46,0x4F,0x4E,0x54,0x2D,0x53
-,0x49,0x5A,0x45,0x3A,0x39,0x70,0x74,0x3B,0x63,0x6F,0x6C,0x6F,0x72,0x3A,0x23,0x30
-,0x30,0x30,0x30,0x30,0x30,0x3B,0x62,0x61,0x63,0x6B,0x67,0x72,0x6F,0x75,0x6E,0x64
-,0x2D,0x63,0x6F,0x6C,0x6F,0x72,0x3A,0x23,0x63,0x30,0x63,0x30,0x63,0x30,0x3B,0x57
-,0x49,0x44,0x54,0x48,0x3A,0x20,0x37,0x30,0x70,0x78,0x3B,0x20,0x48,0x45,0x49,0x47
-,0x48,0x54,0x3A,0x20,0x34,0x30,0x70,0x78,0x22,0x20,0x6F,0x6E,0x43,0x6C,0x69,0x63
-,0x6B,0x3D,0x22,0x6C,0x65,0x64,0x33,0x5F,0x74,0x6F,0x67,0x67,0x6C,0x65,0x28,0x29
-,0x22,0x20,0x76,0x61,0x6C,0x75,0x65,0x20,0x3D,0x20,0x22,0x4C,0x45,0x44,0x33,0x20
-,0x4F,0x66,0x66,0x22,0x3E,0x20,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x0D,0x0A,0x3C,0x2F
-,0x62,0x6F,0x64,0x79,0x3E,0x0D,0x0A,0x3C,0x2F,0x68,0x74,0x6D,0x6C,0x3E,0x0D,0x0A
-};
-
-static const char i2c_set_htm_tbl[] = {
- 0x3C,0x68,0x74,0x6D,0x6C,0x3E,0x0D,0x0A,0x3C,0x68,0x65,0x61,0x64,0x3E,0x0D,0x0A
-,0x3C,0x6D,0x65,0x74,0x61,0x20,0x68,0x74,0x74,0x70,0x2D,0x65,0x71,0x75,0x69,0x76
-,0x3D,0x22,0x43,0x6F,0x6E,0x74,0x65,0x6E,0x74,0x2D,0x54,0x79,0x70,0x65,0x22,0x20
-,0x63,0x6F,0x6E,0x74,0x65,0x6E,0x74,0x3D,0x22,0x74,0x65,0x78,0x74,0x2F,0x68,0x74
-,0x6D,0x6C,0x3B,0x20,0x63,0x68,0x61,0x72,0x73,0x65,0x74,0x3D,0x22,0x75,0x74,0x66
-,0x2D,0x38,0x22,0x3E,0x20,0x0D,0x0A,0x3C,0x74,0x69,0x74,0x6C,0x65,0x3E,0x53,0x65
-,0x74,0x74,0x69,0x6E,0x67,0x20,0x62,0x79,0x20,0x49,0x32,0x43,0x3C,0x2F,0x74,0x69
-,0x74,0x6C,0x65,0x3E,0x0D,0x0A,0x3C,0x73,0x63,0x72,0x69,0x70,0x74,0x20,0x74,0x79
-,0x70,0x65,0x3D,0x22,0x74,0x65,0x78,0x74,0x2F,0x6A,0x61,0x76,0x61,0x73,0x63,0x72
-,0x69,0x70,0x74,0x22,0x20,0x73,0x72,0x63,0x3D,0x22,0x6D,0x62,0x65,0x64,0x52,0x50
-,0x43,0x2E,0x6A,0x73,0x22,0x20,0x6C,0x61,0x6E,0x67,0x75,0x61,0x67,0x65,0x3D,0x22
-,0x6A,0x61,0x76,0x61,0x73,0x63,0x72,0x69,0x70,0x74,0x22,0x20,0x63,0x68,0x61,0x72
-,0x73,0x65,0x74,0x3D,0x22,0x75,0x74,0x66,0x2D,0x38,0x22,0x3E,0x3C,0x2F,0x73,0x63
-,0x72,0x69,0x70,0x74,0x3E,0x0D,0x0A,0x3C,0x73,0x63,0x72,0x69,0x70,0x74,0x20,0x74
-,0x79,0x70,0x65,0x3D,0x22,0x74,0x65,0x78,0x74,0x2F,0x6A,0x61,0x76,0x61,0x73,0x63
-,0x72,0x69,0x70,0x74,0x22,0x3E,0x6D,0x62,0x65,0x64,0x3D,0x6E,0x65,0x77,0x20,0x48
-,0x54,0x54,0x50,0x52,0x50,0x43,0x28,0x29,0x3B,0x74,0x65,0x72,0x6D,0x3D,0x6E,0x65
-,0x77,0x20,0x52,0x50,0x43,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x6D,0x62
-,0x65,0x64,0x2C,0x22,0x53,0x65,0x74,0x49,0x32,0x43,0x66,0x72,0x6F,0x6D,0x57,0x65
-,0x62,0x22,0x29,0x3B,0x3C,0x2F,0x73,0x63,0x72,0x69,0x70,0x74,0x3E,0x0D,0x0A,0x3C
-,0x2F,0x68,0x65,0x61,0x64,0x3E,0x0D,0x0A,0x3C,0x62,0x6F,0x64,0x79,0x3E,0x0D,0x0A
-,0x3C,0x70,0x3E,0x3C,0x66,0x6F,0x6E,0x74,0x20,0x73,0x69,0x7A,0x65,0x3D,0x22,0x38
-,0x22,0x3E,0x3C,0x73,0x70,0x61,0x6E,0x20,0x73,0x74,0x79,0x6C,0x65,0x3D,0x22,0x43
-,0x4F,0x4C,0x4F,0x52,0x3A,0x23,0x30,0x30,0x30,0x30,0x38,0x30,0x22,0x3E,0x3C,0x62
-,0x3E,0x44,0x69,0x72,0x65,0x63,0x74,0x20,0x69,0x6E,0x70,0x75,0x74,0x3C,0x2F,0x62
-,0x3E,0x3C,0x2F,0x73,0x70,0x61,0x6E,0x3E,0x3C,0x2F,0x66,0x6F,0x6E,0x74,0x3E,0x3C
-,0x62,0x72,0x3E,0x0D,0x0A,0x3C,0x69,0x6E,0x70,0x75,0x74,0x20,0x74,0x79,0x70,0x65
-,0x3D,0x22,0x74,0x65,0x78,0x74,0x22,0x20,0x69,0x64,0x3D,0x22,0x64,0x69,0x72,0x5F
-,0x69,0x6E,0x22,0x3E,0x3C,0x2F,0x69,0x6E,0x70,0x75,0x74,0x3E,0x3C,0x62,0x75,0x74
-,0x74,0x6F,0x6E,0x20,0x73,0x74,0x79,0x6C,0x65,0x3D,0x22,0x46,0x4F,0x4E,0x54,0x2D
-,0x46,0x41,0x4D,0x49,0x4C,0x59,0x3A,0x54,0x61,0x68,0x6F,0x6D,0x61,0x3B,0x46,0x4F
-,0x4E,0x54,0x2D,0x53,0x49,0x5A,0x45,0x3A,0x39,0x70,0x74,0x22,0x20,0x6F,0x6E,0x63
-,0x6C,0x69,0x63,0x6B,0x3D,0x22,0x73,0x6E,0x64,0x5F,0x64,0x69,0x72,0x5F,0x69,0x6E
-,0x28,0x29,0x22,0x3E,0x53,0x65,0x6E,0x64,0x3C,0x2F,0x62,0x75,0x74,0x74,0x6F,0x6E
-,0x3E,0x20,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x0D,0x0A
-,0x3C,0x70,0x3E,0x3C,0x66,0x6F,0x6E,0x74,0x20,0x73,0x69,0x7A,0x65,0x3D,0x22,0x38
-,0x22,0x3E,0x3C,0x73,0x70,0x61,0x6E,0x20,0x73,0x74,0x79,0x6C,0x65,0x3D,0x22,0x43
-,0x4F,0x4C,0x4F,0x52,0x3A,0x23,0x30,0x30,0x30,0x30,0x38,0x30,0x22,0x3E,0x3C,0x62
-,0x3E,0x46,0x69,0x6C,0x65,0x20,0x72,0x65,0x66,0x65,0x72,0x65,0x6E,0x63,0x65,0x3C
-,0x2F,0x62,0x3E,0x3C,0x2F,0x73,0x70,0x61,0x6E,0x3E,0x3C,0x2F,0x66,0x6F,0x6E,0x74
-,0x3E,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x3C,0x69,0x6E,0x70,0x75,0x74,0x20,0x74,0x79
-,0x70,0x65,0x3D,0x22,0x66,0x69,0x6C,0x65,0x22,0x20,0x69,0x64,0x3D,0x22,0x66,0x69
-,0x6C,0x65,0x5F,0x75,0x70,0x6C,0x6F,0x61,0x64,0x22,0x20,0x73,0x74,0x79,0x6C,0x65
-,0x3D,0x22,0x44,0x49,0x53,0x50,0x4C,0x41,0x59,0x3A,0x6E,0x6F,0x6E,0x65,0x22,0x20
-,0x6F,0x6E,0x63,0x68,0x61,0x6E,0x67,0x65,0x3D,0x22,0x74,0x78,0x74,0x5F,0x66,0x69
-,0x6C,0x65,0x6E,0x61,0x6D,0x65,0x2E,0x76,0x61,0x6C,0x75,0x65,0x20,0x3D,0x20,0x74
-,0x68,0x69,0x73,0x2E,0x76,0x61,0x6C,0x75,0x65,0x3B,0x22,0x20,0x61,0x63,0x63,0x65
-,0x70,0x74,0x3D,0x22,0x74,0x65,0x78,0x74,0x2F,0x70,0x6C,0x61,0x69,0x6E,0x22,0x3E
-,0x0D,0x0A,0x3C,0x69,0x6E,0x70,0x75,0x74,0x20,0x74,0x79,0x70,0x65,0x3D,0x22,0x74
-,0x65,0x78,0x74,0x22,0x20,0x69,0x64,0x3D,0x22,0x74,0x78,0x74,0x5F,0x66,0x69,0x6C
-,0x65,0x6E,0x61,0x6D,0x65,0x22,0x20,0x73,0x74,0x79,0x6C,0x65,0x3D,0x22,0x46,0x4F
-,0x4E,0x54,0x2D,0x46,0x41,0x4D,0x49,0x4C,0x59,0x3A,0x54,0x61,0x68,0x6F,0x6D,0x61
-,0x3B,0x46,0x4F,0x4E,0x54,0x2D,0x53,0x49,0x5A,0x45,0x3A,0x39,0x70,0x74,0x22,0x20
-,0x73,0x69,0x7A,0x65,0x3D,0x22,0x32,0x35,0x22,0x20,0x44,0x49,0x53,0x41,0x42,0x4C
-,0x45,0x44,0x3E,0x0D,0x0A,0x3C,0x69,0x6E,0x70,0x75,0x74,0x20,0x74,0x79,0x70,0x65
-,0x3D,0x22,0x62,0x75,0x74,0x74,0x6F,0x6E,0x22,0x20,0x69,0x64,0x3D,0x22,0x66,0x69
-,0x6C,0x65,0x5F,0x73,0x65,0x6C,0x65,0x63,0x74,0x22,0x20,0x73,0x74,0x79,0x6C,0x65
-,0x3D,0x22,0x46,0x4F,0x4E,0x54,0x2D,0x46,0x41,0x4D,0x49,0x4C,0x59,0x3A,0x54,0x61
-,0x68,0x6F,0x6D,0x61,0x3B,0x46,0x4F,0x4E,0x54,0x2D,0x53,0x49,0x5A,0x45,0x3A,0x39
-,0x70,0x74,0x22,0x20,0x6F,0x6E,0x63,0x6C,0x69,0x63,0x6B,0x3D,0x22,0x66,0x69,0x6C
-,0x65,0x5F,0x75,0x70,0x6C,0x6F,0x61,0x64,0x2E,0x63,0x6C,0x69,0x63,0x6B,0x28,0x29
-,0x22,0x20,0x76,0x61,0x6C,0x75,0x65,0x3D,0x22,0x43,0x68,0x6F,0x6F,0x73,0x65,0x20
-,0x61,0x20,0x74,0x65,0x78,0x74,0x20,0x46,0x69,0x6C,0x65,0x22,0x3E,0x0D,0x0A,0x3C
-,0x62,0x75,0x74,0x74,0x6F,0x6E,0x20,0x74,0x79,0x70,0x65,0x3D,0x22,0x73,0x75,0x62
-,0x6D,0x69,0x74,0x22,0x20,0x69,0x64,0x3D,0x22,0x73,0x6E,0x64,0x62,0x6F,0x78,0x22
-,0x20,0x73,0x74,0x79,0x6C,0x65,0x3D,0x22,0x46,0x4F,0x4E,0x54,0x2D,0x46,0x41,0x4D
-,0x49,0x4C,0x59,0x3A,0x54,0x61,0x68,0x6F,0x6D,0x61,0x3B,0x46,0x4F,0x4E,0x54,0x2D
-,0x53,0x49,0x5A,0x45,0x3A,0x39,0x70,0x74,0x22,0x20,0x6F,0x6E,0x63,0x6C,0x69,0x63
-,0x6B,0x3D,0x22,0x73,0x6E,0x64,0x5F,0x66,0x69,0x6C,0x65,0x5F,0x72,0x65,0x66,0x28
-,0x29,0x22,0x3E,0x53,0x65,0x6E,0x64,0x3C,0x2F,0x62,0x75,0x74,0x74,0x6F,0x6E,0x3E
-,0x0D,0x0A,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x3C,0x62
-,0x72,0x3E,0x0D,0x0A,0x3C,0x70,0x20,0x73,0x74,0x79,0x6C,0x65,0x3D,0x22,0x46,0x4F
-,0x4E,0x54,0x2D,0x46,0x41,0x4D,0x49,0x4C,0x59,0x3A,0x54,0x61,0x68,0x6F,0x6D,0x61
-,0x3B,0x46,0x4F,0x4E,0x54,0x2D,0x53,0x49,0x5A,0x45,0x3A,0x31,0x38,0x70,0x74,0x22
-,0x3E,0x3C,0x73,0x70,0x61,0x6E,0x20,0x73,0x74,0x79,0x6C,0x65,0x3D,0x22,0x43,0x4F
-,0x4C,0x4F,0x52,0x3A,0x23,0x30,0x30,0x30,0x30,0x38,0x30,0x22,0x3E,0x0D,0x0A,0x3C
-,0x62,0x3E,0x4C,0x4F,0x47,0x3A,0x3C,0x2F,0x62,0x3E,0x3C,0x2F,0x73,0x70,0x61,0x6E
-,0x3E,0x0D,0x0A,0x3C,0x69,0x6E,0x70,0x75,0x74,0x20,0x74,0x79,0x70,0x65,0x3D,0x22
-,0x73,0x75,0x62,0x6D,0x69,0x74,0x22,0x20,0x69,0x64,0x3D,0x22,0x74,0x65,0x78,0x74
-,0x61,0x72,0x65,0x61,0x5F,0x63,0x6C,0x65,0x61,0x72,0x22,0x20,0x73,0x74,0x79,0x6C
-,0x65,0x3D,0x22,0x44,0x49,0x53,0x50,0x4C,0x41,0x59,0x3A,0x62,0x6C,0x6F,0x63,0x6B
-,0x3B,0x46,0x4F,0x4E,0x54,0x2D,0x46,0x41,0x4D,0x49,0x4C,0x59,0x3A,0x54,0x61,0x68
-,0x6F,0x6D,0x61,0x3B,0x46,0x4F,0x4E,0x54,0x2D,0x53,0x49,0x5A,0x45,0x3A,0x39,0x70
-,0x74,0x3B,0x57,0x49,0x44,0x54,0x48,0x3A,0x37,0x30,0x70,0x78,0x3B,0x48,0x45,0x49
-,0x47,0x48,0x54,0x3A,0x32,0x30,0x70,0x78,0x3B,0x50,0x4F,0x53,0x49,0x54,0x49,0x4F
-,0x4E,0x3A,0x61,0x62,0x73,0x6F,0x6C,0x75,0x74,0x65,0x3B,0x4C,0x45,0x46,0x54,0x3A
-,0x38,0x70,0x78,0x22,0x20,0x6F,0x6E,0x63,0x6C,0x69,0x63,0x6B,0x3D,0x22,0x43,0x6C
-,0x72,0x5F,0x74,0x65,0x78,0x74,0x61,0x72,0x65,0x61,0x28,0x29,0x22,0x20,0x76,0x61
-,0x6C,0x75,0x65,0x3D,0x22,0x43,0x6C,0x65,0x61,0x72,0x22,0x3E,0x0D,0x0A,0x3C,0x62
-,0x75,0x74,0x74,0x6F,0x6E,0x20,0x74,0x79,0x70,0x65,0x3D,0x22,0x73,0x75,0x62,0x6D
-,0x69,0x74,0x22,0x20,0x69,0x64,0x3D,0x22,0x74,0x65,0x78,0x74,0x61,0x72,0x65,0x61
-,0x5F,0x73,0x61,0x76,0x65,0x22,0x20,0x73,0x74,0x79,0x6C,0x65,0x3D,0x22,0x44,0x49
-,0x53,0x50,0x4C,0x41,0x59,0x3A,0x62,0x6C,0x6F,0x63,0x6B,0x3B,0x46,0x4F,0x4E,0x54
-,0x2D,0x46,0x41,0x4D,0x49,0x4C,0x59,0x3A,0x54,0x61,0x68,0x6F,0x6D,0x61,0x3B,0x46
-,0x4F,0x4E,0x54,0x2D,0x53,0x49,0x5A,0x45,0x3A,0x39,0x70,0x74,0x3B,0x57,0x49,0x44
-,0x54,0x48,0x3A,0x37,0x30,0x70,0x78,0x3B,0x48,0x45,0x49,0x47,0x48,0x54,0x3A,0x32
-,0x30,0x70,0x78,0x3B,0x50,0x4F,0x53,0x49,0x54,0x49,0x4F,0x4E,0x3A,0x61,0x62,0x73
-,0x6F,0x6C,0x75,0x74,0x65,0x3B,0x4C,0x45,0x46,0x54,0x3A,0x38,0x32,0x70,0x78,0x22
-,0x20,0x6F,0x6E,0x63,0x6C,0x69,0x63,0x6B,0x3D,0x22,0x53,0x61,0x76,0x65,0x5F,0x74
-,0x65,0x78,0x74,0x61,0x72,0x65,0x61,0x28,0x29,0x22,0x3E,0x53,0x61,0x76,0x65,0x3C
-,0x2F,0x62,0x75,0x74,0x74,0x6F,0x6E,0x3E,0x0D,0x0A,0x3C,0x66,0x6F,0x72,0x6D,0x20
-,0x6E,0x61,0x6D,0x65,0x3D,0x22,0x6F,0x75,0x74,0x5F,0x66,0x6F,0x72,0x6D,0x22,0x3E
-,0x0D,0x0A,0x3C,0x74,0x65,0x78,0x74,0x61,0x72,0x65,0x61,0x20,0x69,0x64,0x3D,0x22
-,0x72,0x65,0x73,0x75,0x6C,0x74,0x22,0x20,0x6E,0x61,0x6D,0x65,0x3D,0x22,0x74,0x65
-,0x78,0x74,0x5F,0x61,0x72,0x65,0x61,0x22,0x20,0x63,0x6F,0x6C,0x73,0x3D,0x22,0x35
-,0x30,0x22,0x20,0x72,0x6F,0x77,0x73,0x3D,0x22,0x32,0x30,0x22,0x20,0x70,0x6C,0x61
-,0x63,0x65,0x68,0x6F,0x6C,0x64,0x65,0x72,0x3D,0x22,0x22,0x20,0x76,0x61,0x6C,0x75
-,0x65,0x3D,0x22,0x22,0x3E,0x3C,0x2F,0x74,0x65,0x78,0x74,0x61,0x72,0x65,0x61,0x3E
-,0x0D,0x0A,0x3C,0x2F,0x66,0x6F,0x72,0x6D,0x3E,0x0D,0x0A,0x3C,0x62,0x72,0x3E,0x0D
-,0x0A,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x0D,0x0A,0x3C,0x73,0x63,0x72,0x69,0x70,0x74
-,0x3E,0x0D,0x0A,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x20,0x73,0x6E,0x64,0x5F
-,0x64,0x69,0x72,0x5F,0x69,0x6E,0x28,0x29,0x7B,0x0D,0x0A,0x09,0x76,0x61,0x72,0x20
-,0x72,0x63,0x76,0x5F,0x74,0x65,0x78,0x74,0x3B,0x0D,0x0A,0x09,0x69,0x66,0x20,0x28
-,0x28,0x64,0x69,0x72,0x5F,0x69,0x6E,0x2E,0x76,0x61,0x6C,0x75,0x65,0x20,0x21,0x3D
-,0x20,0x6E,0x75,0x6C,0x6C,0x29,0x20,0x26,0x26,0x20,0x28,0x64,0x69,0x72,0x5F,0x69
-,0x6E,0x2E,0x76,0x61,0x6C,0x75,0x65,0x20,0x21,0x3D,0x20,0x22,0x22,0x29,0x29,0x20
-,0x7B,0x0D,0x0A,0x09,0x09,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x6F,0x75
-,0x74,0x5F,0x66,0x6F,0x72,0x6D,0x2E,0x74,0x65,0x78,0x74,0x5F,0x61,0x72,0x65,0x61
-,0x2E,0x76,0x61,0x6C,0x75,0x65,0x20,0x2B,0x3D,0x20,0x22,0x5B,0x53,0x45,0x4E,0x44
-,0x5D,0x22,0x3B,0x0D,0x0A,0x09,0x09,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E
-,0x6F,0x75,0x74,0x5F,0x66,0x6F,0x72,0x6D,0x2E,0x74,0x65,0x78,0x74,0x5F,0x61,0x72
-,0x65,0x61,0x2E,0x76,0x61,0x6C,0x75,0x65,0x20,0x2B,0x3D,0x20,0x64,0x69,0x72,0x5F
-,0x69,0x6E,0x2E,0x76,0x61,0x6C,0x75,0x65,0x3B,0x0D,0x0A,0x09,0x09,0x64,0x6F,0x63
-,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x6F,0x75,0x74,0x5F,0x66,0x6F,0x72,0x6D,0x2E,0x74
-,0x65,0x78,0x74,0x5F,0x61,0x72,0x65,0x61,0x2E,0x76,0x61,0x6C,0x75,0x65,0x20,0x2B
-,0x3D,0x20,0x22,0x5C,0x72,0x5C,0x6E,0x22,0x3B,0x0D,0x0A,0x09,0x09,0x72,0x63,0x76
-,0x5F,0x74,0x65,0x78,0x74,0x20,0x3D,0x20,0x74,0x65,0x72,0x6D,0x2E,0x72,0x75,0x6E
-,0x28,0x64,0x69,0x72,0x5F,0x69,0x6E,0x2E,0x76,0x61,0x6C,0x75,0x65,0x29,0x3B,0x0D
-,0x0A,0x09,0x09,0x69,0x66,0x20,0x28,0x72,0x63,0x76,0x5F,0x74,0x65,0x78,0x74,0x20
-,0x21,0x3D,0x20,0x22,0x72,0x75,0x6E,0x22,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x09,0x09
-,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x6F,0x75,0x74,0x5F,0x66,0x6F,0x72
-,0x6D,0x2E,0x74,0x65,0x78,0x74,0x5F,0x61,0x72,0x65,0x61,0x2E,0x76,0x61,0x6C,0x75
-,0x65,0x20,0x2B,0x3D,0x20,0x22,0x5B,0x52,0x45,0x43,0x56,0x5D,0x22,0x3B,0x0D,0x0A
-,0x09,0x09,0x09,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x6F,0x75,0x74,0x5F
-,0x66,0x6F,0x72,0x6D,0x2E,0x74,0x65,0x78,0x74,0x5F,0x61,0x72,0x65,0x61,0x2E,0x76
-,0x61,0x6C,0x75,0x65,0x20,0x2B,0x3D,0x20,0x72,0x63,0x76,0x5F,0x74,0x65,0x78,0x74
-,0x3B,0x0D,0x0A,0x09,0x09,0x09,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x6F
-,0x75,0x74,0x5F,0x66,0x6F,0x72,0x6D,0x2E,0x74,0x65,0x78,0x74,0x5F,0x61,0x72,0x65
-,0x61,0x2E,0x76,0x61,0x6C,0x75,0x65,0x20,0x2B,0x3D,0x20,0x22,0x5C,0x72,0x5C,0x6E
-,0x22,0x3B,0x0D,0x0A,0x09,0x09,0x7D,0x0D,0x0A,0x09,0x7D,0x0D,0x0A,0x7D,0x0D,0x0A
-,0x0D,0x0A,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x20,0x73,0x6E,0x64,0x5F,0x66
-,0x69,0x6C,0x65,0x5F,0x72,0x65,0x66,0x28,0x29,0x7B,0x0D,0x0A,0x09,0x76,0x61,0x72
-,0x20,0x6F,0x62,0x6A,0x20,0x3D,0x20,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E
-,0x67,0x65,0x74,0x45,0x6C,0x65,0x6D,0x65,0x6E,0x74,0x42,0x79,0x49,0x64,0x28,0x22
-,0x66,0x69,0x6C,0x65,0x5F,0x75,0x70,0x6C,0x6F,0x61,0x64,0x22,0x29,0x2E,0x66,0x69
-,0x6C,0x65,0x73,0x5B,0x30,0x5D,0x3B,0x0D,0x0A,0x09,0x76,0x61,0x72,0x20,0x72,0x65
-,0x61,0x64,0x65,0x72,0x20,0x3D,0x20,0x6E,0x65,0x77,0x20,0x46,0x69,0x6C,0x65,0x52
-,0x65,0x61,0x64,0x65,0x72,0x28,0x29,0x3B,0x0D,0x0A,0x09,0x72,0x65,0x61,0x64,0x65
-,0x72,0x2E,0x6F,0x6E,0x6C,0x6F,0x61,0x64,0x20,0x3D,0x20,0x66,0x75,0x6E,0x63,0x74
-,0x69,0x6F,0x6E,0x28,0x65,0x76,0x74,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x09,0x76,0x61
-,0x72,0x20,0x73,0x74,0x72,0x20,0x3D,0x20,0x65,0x76,0x74,0x2E,0x74,0x61,0x72,0x67
-,0x65,0x74,0x2E,0x72,0x65,0x73,0x75,0x6C,0x74,0x3B,0x0D,0x0A,0x09,0x09,0x76,0x61
-,0x72,0x20,0x73,0x6E,0x64,0x5F,0x64,0x61,0x74,0x61,0x20,0x3D,0x20,0x73,0x74,0x72
-,0x2E,0x73,0x70,0x6C,0x69,0x74,0x28,0x22,0x5C,0x72,0x5C,0x6E,0x22,0x29,0x3B,0x0D
-,0x0A,0x09,0x09,0x76,0x61,0x72,0x20,0x63,0x6E,0x74,0x20,0x3D,0x20,0x30,0x3B,0x0D
-,0x0A,0x09,0x09,0x76,0x61,0x72,0x20,0x72,0x63,0x76,0x5F,0x64,0x61,0x74,0x61,0x20
-,0x3D,0x20,0x30,0x3B,0x0D,0x0A,0x09,0x09,0x77,0x68,0x69,0x6C,0x65,0x20,0x28,0x28
-,0x73,0x6E,0x64,0x5F,0x64,0x61,0x74,0x61,0x5B,0x63,0x6E,0x74,0x5D,0x20,0x21,0x3D
-,0x20,0x6E,0x75,0x6C,0x6C,0x29,0x20,0x26,0x26,0x20,0x28,0x73,0x6E,0x64,0x5F,0x64
-,0x61,0x74,0x61,0x5B,0x63,0x6E,0x74,0x5D,0x20,0x21,0x3D,0x20,0x22,0x22,0x29,0x29
-,0x20,0x7B,0x0D,0x0A,0x09,0x09,0x09,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E
-,0x6F,0x75,0x74,0x5F,0x66,0x6F,0x72,0x6D,0x2E,0x74,0x65,0x78,0x74,0x5F,0x61,0x72
-,0x65,0x61,0x2E,0x76,0x61,0x6C,0x75,0x65,0x20,0x2B,0x3D,0x20,0x22,0x5B,0x53,0x45
-,0x4E,0x44,0x5D,0x22,0x3B,0x0D,0x0A,0x09,0x09,0x09,0x64,0x6F,0x63,0x75,0x6D,0x65
-,0x6E,0x74,0x2E,0x6F,0x75,0x74,0x5F,0x66,0x6F,0x72,0x6D,0x2E,0x74,0x65,0x78,0x74
-,0x5F,0x61,0x72,0x65,0x61,0x2E,0x76,0x61,0x6C,0x75,0x65,0x20,0x2B,0x3D,0x20,0x73
-,0x6E,0x64,0x5F,0x64,0x61,0x74,0x61,0x5B,0x63,0x6E,0x74,0x5D,0x3B,0x0D,0x0A,0x09
-,0x09,0x09,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x6F,0x75,0x74,0x5F,0x66
-,0x6F,0x72,0x6D,0x2E,0x74,0x65,0x78,0x74,0x5F,0x61,0x72,0x65,0x61,0x2E,0x76,0x61
-,0x6C,0x75,0x65,0x20,0x2B,0x3D,0x20,0x22,0x5C,0x72,0x5C,0x6E,0x22,0x3B,0x0D,0x0A
-,0x09,0x09,0x09,0x72,0x63,0x76,0x5F,0x64,0x61,0x74,0x61,0x20,0x3D,0x20,0x74,0x65
-,0x72,0x6D,0x2E,0x72,0x75,0x6E,0x28,0x73,0x6E,0x64,0x5F,0x64,0x61,0x74,0x61,0x5B
-,0x63,0x6E,0x74,0x5D,0x29,0x3B,0x0D,0x0A,0x09,0x09,0x09,0x69,0x66,0x20,0x28,0x72
-,0x63,0x76,0x5F,0x64,0x61,0x74,0x61,0x20,0x21,0x3D,0x20,0x22,0x72,0x75,0x6E,0x22
-,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x09,0x09,0x09,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E
-,0x74,0x2E,0x6F,0x75,0x74,0x5F,0x66,0x6F,0x72,0x6D,0x2E,0x74,0x65,0x78,0x74,0x5F
-,0x61,0x72,0x65,0x61,0x2E,0x76,0x61,0x6C,0x75,0x65,0x20,0x2B,0x3D,0x20,0x22,0x5B
-,0x52,0x45,0x43,0x56,0x5D,0x22,0x3B,0x0D,0x0A,0x09,0x09,0x09,0x09,0x64,0x6F,0x63
-,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x6F,0x75,0x74,0x5F,0x66,0x6F,0x72,0x6D,0x2E,0x74
-,0x65,0x78,0x74,0x5F,0x61,0x72,0x65,0x61,0x2E,0x76,0x61,0x6C,0x75,0x65,0x20,0x2B
-,0x3D,0x20,0x72,0x63,0x76,0x5F,0x64,0x61,0x74,0x61,0x3B,0x0D,0x0A,0x09,0x09,0x09
-,0x09,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x6F,0x75,0x74,0x5F,0x66,0x6F
-,0x72,0x6D,0x2E,0x74,0x65,0x78,0x74,0x5F,0x61,0x72,0x65,0x61,0x2E,0x76,0x61,0x6C
-,0x75,0x65,0x20,0x2B,0x3D,0x20,0x22,0x5C,0x72,0x5C,0x6E,0x22,0x3B,0x0D,0x0A,0x09
-,0x09,0x09,0x7D,0x0D,0x0A,0x09,0x09,0x09,0x63,0x6E,0x74,0x2B,0x2B,0x3B,0x0D,0x0A
-,0x09,0x09,0x7D,0x0D,0x0A,0x09,0x7D,0x0D,0x0A,0x09,0x72,0x65,0x61,0x64,0x65,0x72
-,0x2E,0x72,0x65,0x61,0x64,0x41,0x73,0x54,0x65,0x78,0x74,0x28,0x6F,0x62,0x6A,0x29
-,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E
-,0x20,0x43,0x6C,0x72,0x5F,0x74,0x65,0x78,0x74,0x61,0x72,0x65,0x61,0x28,0x29,0x7B
-,0x0D,0x0A,0x09,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x6F,0x75,0x74,0x5F
-,0x66,0x6F,0x72,0x6D,0x2E,0x74,0x65,0x78,0x74,0x5F,0x61,0x72,0x65,0x61,0x2E,0x76
-,0x61,0x6C,0x75,0x65,0x20,0x3D,0x20,0x22,0x22,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D
-,0x0A,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x20,0x53,0x61,0x76,0x65,0x5F,0x74
-,0x65,0x78,0x74,0x61,0x72,0x65,0x61,0x28,0x29,0x7B,0x0D,0x0A,0x09,0x76,0x61,0x72
-,0x20,0x62,0x6C,0x6F,0x62,0x5F,0x6F,0x62,0x6A,0x20,0x3D,0x20,0x6E,0x65,0x77,0x20
-,0x42,0x6C,0x6F,0x62,0x28,0x5B,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x6F
-,0x75,0x74,0x5F,0x66,0x6F,0x72,0x6D,0x2E,0x74,0x65,0x78,0x74,0x5F,0x61,0x72,0x65
-,0x61,0x2E,0x76,0x61,0x6C,0x75,0x65,0x5D,0x2C,0x20,0x7B,0x74,0x79,0x70,0x65,0x3A
-,0x22,0x74,0x65,0x78,0x74,0x2F,0x70,0x6C,0x61,0x69,0x6E,0x22,0x7D,0x29,0x3B,0x0D
-,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x44,0x65,0x74,0x65,0x72,0x6D,0x69,0x6E,0x65
-,0x73,0x20,0x62,0x72,0x6F,0x77,0x73,0x65,0x72,0x20,0x2D,0x2D,0x3E,0x0D,0x0A,0x09
-,0x69,0x66,0x20,0x28,0x6E,0x61,0x76,0x69,0x67,0x61,0x74,0x6F,0x72,0x2E,0x6D,0x73
-,0x53,0x61,0x76,0x65,0x42,0x6C,0x6F,0x62,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x09,0x3C
-,0x21,0x2D,0x2D,0x20,0x49,0x45,0x20,0x2D,0x2D,0x3E,0x0D,0x0A,0x20,0x20,0x20,0x20
-,0x20,0x20,0x20,0x20,0x09,0x6E,0x61,0x76,0x69,0x67,0x61,0x74,0x6F,0x72,0x2E,0x6D
-,0x73,0x53,0x61,0x76,0x65,0x4F,0x72,0x4F,0x70,0x65,0x6E,0x42,0x6C,0x6F,0x62,0x28
-,0x62,0x6C,0x6F,0x62,0x5F,0x6F,0x62,0x6A,0x2C,0x20,0x27,0x63,0x6F,0x6D,0x6D,0x5F
-,0x6C,0x6F,0x67,0x2E,0x74,0x78,0x74,0x27,0x29,0x3B,0x0D,0x0A,0x09,0x7D,0x20,0x65
-,0x6C,0x73,0x65,0x20,0x7B,0x0D,0x0A,0x09,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x45,0x78
-,0x70,0x65,0x63,0x74,0x20,0x49,0x45,0x20,0x2D,0x2D,0x3E,0x0D,0x0A,0x09,0x09,0x76
-,0x61,0x72,0x20,0x61,0x20,0x3D,0x20,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E
-,0x63,0x72,0x65,0x61,0x74,0x65,0x45,0x6C,0x65,0x6D,0x65,0x6E,0x74,0x28,0x27,0x61
-,0x27,0x29,0x3B,0x0D,0x0A,0x09,0x09,0x61,0x2E,0x68,0x72,0x65,0x66,0x20,0x3D,0x20
-,0x55,0x52,0x4C,0x2E,0x63,0x72,0x65,0x61,0x74,0x65,0x4F,0x62,0x6A,0x65,0x63,0x74
-,0x55,0x52,0x4C,0x28,0x62,0x6C,0x6F,0x62,0x5F,0x6F,0x62,0x6A,0x29,0x3B,0x0D,0x0A
-,0x09,0x09,0x61,0x2E,0x73,0x65,0x74,0x41,0x74,0x74,0x72,0x69,0x62,0x75,0x74,0x65
-,0x28,0x27,0x64,0x6F,0x77,0x6E,0x6C,0x6F,0x61,0x64,0x27,0x2C,0x20,0x27,0x63,0x6F
-,0x6D,0x6D,0x5F,0x6C,0x6F,0x67,0x2E,0x74,0x78,0x74,0x27,0x29,0x3B,0x0D,0x0A,0x09
-,0x09,0x61,0x2E,0x64,0x69,0x73,0x70,0x61,0x74,0x63,0x68,0x45,0x76,0x65,0x6E,0x74
-,0x28,0x6E,0x65,0x77,0x20,0x43,0x75,0x73,0x74,0x6F,0x6D,0x45,0x76,0x65,0x6E,0x74
-,0x28,0x27,0x63,0x6C,0x69,0x63,0x6B,0x27,0x29,0x29,0x3B,0x0D,0x0A,0x09,0x7D,0x0D
-,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x3C,0x2F,0x73,0x63,0x72,0x69,0x70,0x74,0x3E,0x0D
-,0x0A,0x0D,0x0A,0x3C,0x2F,0x62,0x6F,0x64,0x79,0x3E,0x0D,0x0A,0x3C,0x2F,0x68,0x74
-,0x6D,0x6C,0x3E,0x0D,0x0A
-};
-
-static const char web_top_htm_tbl[] = {
- 0x3C,0x68,0x74,0x6D,0x6C,0x3E,0x0D,0x0A,0x3C,0x68,0x65,0x61,0x64,0x3E,0x0D,0x0A
-,0x3C,0x6D,0x65,0x74,0x61,0x20,0x68,0x74,0x74,0x70,0x2D,0x65,0x71,0x75,0x69,0x76
-,0x3D,0x22,0x43,0x6F,0x6E,0x74,0x65,0x6E,0x74,0x2D,0x54,0x79,0x70,0x65,0x22,0x20
-,0x63,0x6F,0x6E,0x74,0x65,0x6E,0x74,0x3D,0x22,0x74,0x65,0x78,0x74,0x2F,0x68,0x74
-,0x6D,0x6C,0x3B,0x20,0x63,0x68,0x61,0x72,0x73,0x65,0x74,0x3D,0x22,0x75,0x74,0x66
-,0x2D,0x38,0x22,0x3E,0x0D,0x0A,0x3C,0x74,0x69,0x74,0x6C,0x65,0x3E,0x54,0x6F,0x70
-,0x20,0x50,0x61,0x67,0x65,0x3C,0x2F,0x74,0x69,0x74,0x6C,0x65,0x3E,0x0D,0x0A,0x3C
-,0x2F,0x68,0x65,0x61,0x64,0x3E,0x0D,0x0A,0x3C,0x66,0x72,0x61,0x6D,0x65,0x73,0x65
-,0x74,0x20,0x63,0x6F,0x6C,0x73,0x3D,0x22,0x32,0x30,0x25,0x2C,0x38,0x30,0x25,0x22
-,0x3E,0x0D,0x0A,0x3C,0x66,0x72,0x61,0x6D,0x65,0x20,0x73,0x72,0x63,0x3D,0x22,0x6D
-,0x65,0x6E,0x75,0x2E,0x68,0x74,0x6D,0x22,0x3E,0x0D,0x0A,0x3C,0x66,0x72,0x61,0x6D
-,0x65,0x20,0x73,0x72,0x63,0x3D,0x22,0x77,0x69,0x6E,0x64,0x6F,0x77,0x2E,0x68,0x74
-,0x6D,0x22,0x20,0x6E,0x61,0x6D,0x65,0x3D,0x22,0x6B,0x69,0x72,0x69,0x6B,0x61,0x65
-,0x22,0x3E,0x0D,0x0A,0x0D,0x0A,0x3C,0x6E,0x6F,0x66,0x72,0x61,0x6D,0x65,0x73,0x3E
-,0x0D,0x0A,0x3C,0x62,0x6F,0x64,0x79,0x3E,0x0D,0x0A,0x3C,0x70,0x3E,0x59,0x6F,0x75
-,0x20,0x63,0x61,0x6E,0x20,0x6E,0x6F,0x74,0x20,0x76,0x69,0x65,0x77,0x20,0x74,0x68
-,0x69,0x73,0x20,0x73,0x61,0x6D,0x70,0x6C,0x65,0x20,0x73,0x69,0x6E,0x63,0x65,0x20
-,0x74,0x68,0x65,0x20,0x66,0x72,0x61,0x6D,0x65,0x20,0x6F,0x66,0x20,0x75,0x6E,0x73
-,0x75,0x70,0x70,0x6F,0x72,0x74,0x65,0x64,0x20,0x62,0x72,0x6F,0x77,0x73,0x65,0x72
-,0x2E,0x3C,0x2F,0x70,0x3E,0x0D,0x0A,0x3C,0x2F,0x62,0x6F,0x64,0x79,0x3E,0x0D,0x0A
-,0x3C,0x2F,0x6E,0x6F,0x66,0x72,0x61,0x6D,0x65,0x73,0x3E,0x0D,0x0A,0x3C,0x2F,0x66
-,0x72,0x61,0x6D,0x65,0x73,0x65,0x74,0x3E,0x0D,0x0A,0x3C,0x2F,0x68,0x74,0x6D,0x6C
-,0x3E,0x0D,0x0A
-};
-
-static const char menu_htm_tbl[] = {
- 0x3C,0x68,0x74,0x6D,0x6C,0x3E,0x0D,0x0A,0x3C,0x68,0x65,0x61,0x64,0x3E,0x0D,0x0A
-,0x3C,0x6D,0x65,0x74,0x61,0x20,0x68,0x74,0x74,0x70,0x2D,0x65,0x71,0x75,0x69,0x76
-,0x3D,0x22,0x43,0x6F,0x6E,0x74,0x65,0x6E,0x74,0x2D,0x54,0x79,0x70,0x65,0x22,0x20
-,0x63,0x6F,0x6E,0x74,0x65,0x6E,0x74,0x3D,0x22,0x74,0x65,0x78,0x74,0x2F,0x68,0x74
-,0x6D,0x6C,0x3B,0x20,0x63,0x68,0x61,0x72,0x73,0x65,0x74,0x3D,0x22,0x75,0x74,0x66
-,0x2D,0x38,0x22,0x3E,0x0D,0x0A,0x3C,0x74,0x69,0x74,0x6C,0x65,0x3E,0x47,0x52,0x2D
-,0x50,0x45,0x41,0x43,0x48,0x20,0x4D,0x65,0x6E,0x75,0x3C,0x2F,0x74,0x69,0x74,0x6C
-,0x65,0x3E,0x0D,0x0A,0x3C,0x2F,0x68,0x65,0x61,0x64,0x3E,0x0D,0x0A,0x3C,0x62,0x6F
-,0x64,0x79,0x20,0x62,0x67,0x63,0x6F,0x6C,0x6F,0x72,0x3D,0x22,0x23,0x46,0x46,0x46
-,0x41,0x46,0x41,0x22,0x3E,0x0D,0x0A,0x3C,0x43,0x45,0x4E,0x54,0x45,0x52,0x3E,0x0D
-,0x0A,0x3C,0x50,0x3E,0x3C,0x66,0x6F,0x6E,0x74,0x20,0x73,0x69,0x7A,0x65,0x3D,0x22
-,0x34,0x22,0x3E,0x3C,0x42,0x3E,0x4D,0x65,0x6E,0x75,0x3C,0x2F,0x42,0x3E,0x3C,0x2F
-,0x66,0x6F,0x6E,0x74,0x3E,0x3C,0x2F,0x50,0x3E,0x0D,0x0A,0x3C,0x2F,0x43,0x45,0x4E
-,0x54,0x45,0x52,0x3E,0x0D,0x0A,0x0D,0x0A,0x3C,0x70,0x3E,0x0D,0x0A,0x3C,0x66,0x6F
-,0x6E,0x74,0x20,0x73,0x69,0x7A,0x65,0x3D,0x22,0x34,0x22,0x3E,0x3C,0x73,0x70,0x61
-,0x6E,0x20,0x73,0x74,0x79,0x6C,0x65,0x3D,0x22,0x63,0x6F,0x6C,0x6F,0x72,0x3A,0x23
-,0x30,0x30,0x30,0x30,0x38,0x30,0x22,0x3E,0x3C,0x61,0x20,0x68,0x72,0x65,0x66,0x3D
-,0x22,0x77,0x69,0x6E,0x64,0x6F,0x77,0x2E,0x68,0x74,0x6D,0x22,0x20,0x74,0x61,0x72
-,0x67,0x65,0x74,0x3D,0x22,0x6B,0x69,0x72,0x69,0x6B,0x61,0x65,0x22,0x3E,0x54,0x6F
-,0x70,0x20,0x50,0x61,0x67,0x65,0x3C,0x2F,0x61,0x3E,0x3C,0x2F,0x73,0x70,0x61,0x6E
-,0x3E,0x3C,0x2F,0x66,0x6F,0x6E,0x74,0x3E,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x3C,0x62
-,0x72,0x3E,0x0D,0x0A,0x3C,0x66,0x6F,0x6E,0x74,0x20,0x73,0x69,0x7A,0x65,0x3D,0x22
-,0x34,0x22,0x3E,0x3C,0x73,0x70,0x61,0x6E,0x20,0x73,0x74,0x79,0x6C,0x65,0x3D,0x22
-,0x63,0x6F,0x6C,0x6F,0x72,0x3A,0x23,0x30,0x30,0x30,0x30,0x38,0x30,0x22,0x3E,0x3C
-,0x61,0x20,0x68,0x72,0x65,0x66,0x3D,0x22,0x63,0x61,0x6D,0x65,0x72,0x61,0x2E,0x68
-,0x74,0x6D,0x22,0x20,0x74,0x61,0x72,0x67,0x65,0x74,0x3D,0x22,0x6B,0x69,0x72,0x69
-,0x6B,0x61,0x65,0x22,0x3E,0x57,0x65,0x62,0x20,0x43,0x61,0x6D,0x65,0x72,0x61,0x3C
-,0x2F,0x61,0x3E,0x3C,0x2F,0x73,0x70,0x61,0x6E,0x3E,0x3C,0x2F,0x66,0x6F,0x6E,0x74
-,0x3E,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x3C,0x66,0x6F
-,0x6E,0x74,0x20,0x73,0x69,0x7A,0x65,0x3D,0x22,0x34,0x22,0x3E,0x3C,0x73,0x70,0x61
-,0x6E,0x20,0x73,0x74,0x79,0x6C,0x65,0x3D,0x22,0x63,0x6F,0x6C,0x6F,0x72,0x3A,0x23
-,0x30,0x30,0x30,0x30,0x38,0x30,0x22,0x3E,0x3C,0x61,0x20,0x68,0x72,0x65,0x66,0x3D
-,0x22,0x69,0x32,0x63,0x5F,0x73,0x65,0x74,0x2E,0x68,0x74,0x6D,0x22,0x20,0x74,0x61
-,0x72,0x67,0x65,0x74,0x3D,0x22,0x6B,0x69,0x72,0x69,0x6B,0x61,0x65,0x22,0x3E,0x53
-,0x65,0x74,0x74,0x69,0x6E,0x67,0x20,0x62,0x79,0x20,0x49,0x32,0x43,0x3C,0x2F,0x61
-,0x3E,0x3C,0x2F,0x73,0x70,0x61,0x6E,0x3E,0x3C,0x2F,0x66,0x6F,0x6E,0x74,0x3E,0x3C
-,0x62,0x72,0x3E,0x0D,0x0A,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x3C,0x66,0x6F,0x6E,0x74
-,0x20,0x73,0x69,0x7A,0x65,0x3D,0x22,0x34,0x22,0x3E,0x3C,0x73,0x70,0x61,0x6E,0x20
-,0x73,0x74,0x79,0x6C,0x65,0x3D,0x22,0x63,0x6F,0x6C,0x6F,0x72,0x3A,0x23,0x30,0x30
-,0x30,0x30,0x38,0x30,0x22,0x3E,0x3C,0x61,0x20,0x68,0x72,0x65,0x66,0x3D,0x22,0x6C
-,0x65,0x64,0x2E,0x68,0x74,0x6D,0x22,0x20,0x74,0x61,0x72,0x67,0x65,0x74,0x3D,0x22
-,0x6B,0x69,0x72,0x69,0x6B,0x61,0x65,0x22,0x3E,0x4C,0x45,0x44,0x20,0x4F,0x6E,0x2F
-,0x4F,0x66,0x66,0x3C,0x2F,0x61,0x3E,0x3C,0x2F,0x73,0x70,0x61,0x6E,0x3E,0x3C,0x2F
-,0x66,0x6F,0x6E,0x74,0x3E,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x3C,0x2F,0x62,0x6F,0x64
-,0x79,0x3E,0x0D,0x0A,0x3C,0x2F,0x68,0x74,0x6D,0x6C,0x3E,0x0D,0x0A,0x0D,0x0A
-};
-
-static const char window_htm_tbl[] = {
- 0x3C,0x68,0x74,0x6D,0x6C,0x3E,0x0D,0x0A,0x3C,0x68,0x65,0x61,0x64,0x3E,0x0D,0x0A
-,0x3C,0x6D,0x65,0x74,0x61,0x20,0x68,0x74,0x74,0x70,0x2D,0x65,0x71,0x75,0x69,0x76
-,0x3D,0x22,0x43,0x6F,0x6E,0x74,0x65,0x6E,0x74,0x2D,0x54,0x79,0x70,0x65,0x22,0x20
-,0x63,0x6F,0x6E,0x74,0x65,0x6E,0x74,0x3D,0x22,0x74,0x65,0x78,0x74,0x2F,0x68,0x74
-,0x6D,0x6C,0x3B,0x20,0x63,0x68,0x61,0x72,0x73,0x65,0x74,0x3D,0x22,0x75,0x74,0x66
-,0x2D,0x38,0x22,0x3E,0x0D,0x0A,0x3C,0x74,0x69,0x74,0x6C,0x65,0x3E,0x47,0x52,0x2D
-,0x50,0x45,0x41,0x43,0x48,0x20,0x57,0x69,0x6E,0x64,0x6F,0x77,0x3C,0x2F,0x74,0x69
-,0x74,0x6C,0x65,0x3E,0x0D,0x0A,0x3C,0x2F,0x68,0x65,0x61,0x64,0x3E,0x0D,0x0A,0x3C
-,0x62,0x6F,0x64,0x79,0x3E,0x0D,0x0A,0x3C,0x70,0x3E,0x3C,0x66,0x6F,0x6E,0x74,0x20
-,0x73,0x69,0x7A,0x65,0x3D,0x22,0x31,0x35,0x22,0x3E,0x3C,0x73,0x70,0x61,0x6E,0x20
-,0x73,0x74,0x79,0x6C,0x65,0x3D,0x22,0x63,0x6F,0x6C,0x6F,0x72,0x3A,0x23,0x30,0x30
-,0x30,0x30,0x38,0x30,0x22,0x3E,0x3C,0x62,0x3E,0x47,0x52,0x2D,0x50,0x45,0x41,0x43
-,0x48,0x20,0x41,0x75,0x64,0x69,0x6F,0x2F,0x43,0x61,0x6D,0x65,0x72,0x61,0x20,0x53
-,0x68,0x69,0x65,0x6C,0x64,0x20,0x53,0x61,0x6D,0x70,0x6C,0x65,0x3C,0x2F,0x62,0x3E
-,0x3C,0x2F,0x73,0x70,0x61,0x6E,0x3E,0x3C,0x2F,0x66,0x6F,0x6E,0x74,0x3E,0x3C,0x62
-,0x72,0x3E,0x0D,0x0A,0x3C,0x62,0x72,0x3E,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x54,0x68
-,0x69,0x73,0x20,0x73,0x61,0x6D,0x70,0x6C,0x65,0x20,0x70,0x72,0x6F,0x67,0x72,0x61
-,0x6D,0x20,0x75,0x73,0x69,0x6E,0x67,0x20,0x47,0x52,0x2D,0x50,0x45,0x41,0x43,0x48
-,0x20,0x61,0x6E,0x64,0x20,0x41,0x75,0x64,0x69,0x6F,0x2F,0x43,0x61,0x6D,0x65,0x72
-,0x61,0x20,0x53,0x68,0x69,0x65,0x6C,0x64,0x2E,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x57
-,0x68,0x65,0x6E,0x20,0x79,0x6F,0x75,0x20,0x70,0x72,0x65,0x73,0x73,0x20,0x74,0x68
-,0x65,0x20,0x4D,0x65,0x6E,0x75,0x20,0x6F,0x6E,0x20,0x74,0x68,0x65,0x20,0x6C,0x65
-,0x66,0x74,0x2C,0x20,0x69,0x74,0x20,0x77,0x69,0x6C,0x6C,0x20,0x62,0x65,0x20,0x64
-,0x69,0x73,0x70,0x6C,0x61,0x79,0x65,0x64,0x20,0x69,0x6E,0x20,0x74,0x68,0x69,0x73
-,0x20,0x77,0x69,0x6E,0x64,0x6F,0x77,0x2E,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x3C,0x62
-,0x72,0x3E,0x0D,0x0A,0x49,0x74,0x20,0x73,0x68,0x6F,0x77,0x73,0x20,0x74,0x68,0x65
-,0x20,0x6F,0x76,0x65,0x72,0x76,0x69,0x65,0x77,0x20,0x6F,0x66,0x20,0x65,0x61,0x63
-,0x68,0x20,0x6C,0x69,0x6E,0x6B,0x20,0x62,0x65,0x6C,0x6F,0x77,0x2E,0x3C,0x62,0x72
-,0x3E,0x0D,0x0A,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x3C,0x73,0x74,0x79,0x6C,0x65,0x20
-,0x74,0x79,0x70,0x65,0x3D,0x22,0x74,0x65,0x78,0x74,0x2F,0x63,0x73,0x73,0x22,0x3E
-,0x0D,0x0A,0x2E,0x74,0x61,0x62,0x6C,0x65,0x20,0x74,0x68,0x20,0x7B,0x0D,0x0A,0x20
-,0x20,0x62,0x61,0x63,0x6B,0x67,0x72,0x6F,0x75,0x6E,0x64,0x2D,0x63,0x6F,0x6C,0x6F
-,0x72,0x3A,0x20,0x23,0x65,0x36,0x66,0x66,0x65,0x39,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A
-,0x3C,0x2F,0x73,0x74,0x79,0x6C,0x65,0x3E,0x0D,0x0A,0x3C,0x74,0x61,0x62,0x6C,0x65
-,0x20,0x63,0x6C,0x61,0x73,0x73,0x3D,0x22,0x74,0x61,0x62,0x6C,0x65,0x22,0x20,0x62
-,0x6F,0x72,0x64,0x65,0x72,0x3D,0x31,0x3E,0x0D,0x0A,0x3C,0x74,0x72,0x3E,0x0D,0x0A
-,0x3C,0x74,0x68,0x3E,0x4C,0x69,0x6E,0x6B,0x73,0x3C,0x2F,0x74,0x68,0x3E,0x3C,0x74
-,0x68,0x3E,0x4F,0x76,0x65,0x72,0x76,0x69,0x65,0x77,0x3C,0x2F,0x74,0x68,0x3E,0x0D
-,0x0A,0x3C,0x2F,0x74,0x72,0x3E,0x0D,0x0A,0x3C,0x74,0x72,0x3E,0x0D,0x0A,0x3C,0x74
-,0x64,0x3E,0x54,0x6F,0x70,0x20,0x50,0x61,0x67,0x65,0x3C,0x2F,0x74,0x64,0x3E,0x3C
-,0x74,0x64,0x3E,0x49,0x74,0x20,0x77,0x69,0x6C,0x6C,0x20,0x72,0x65,0x74,0x75,0x72
-,0x6E,0x20,0x74,0x6F,0x20,0x74,0x68,0x65,0x20,0x74,0x6F,0x70,0x20,0x70,0x61,0x67
-,0x65,0x2E,0x3C,0x62,0x72,0x3E,0x3C,0x2F,0x74,0x64,0x3E,0x0D,0x0A,0x3C,0x2F,0x74
-,0x72,0x3E,0x0D,0x0A,0x3C,0x74,0x72,0x3E,0x0D,0x0A,0x3C,0x74,0x64,0x3E,0x57,0x65
-,0x62,0x20,0x43,0x61,0x6D,0x65,0x72,0x61,0x3C,0x2F,0x74,0x64,0x3E,0x3C,0x74,0x64
-,0x3E,0x49,0x74,0x20,0x69,0x6E,0x64,0x69,0x63,0x61,0x74,0x65,0x73,0x20,0x74,0x68
-,0x65,0x20,0x69,0x6D,0x61,0x67,0x65,0x20,0x61,0x63,0x71,0x75,0x69,0x72,0x65,0x64
-,0x20,0x62,0x79,0x20,0x74,0x68,0x65,0x20,0x63,0x61,0x6D,0x65,0x72,0x61,0x20,0x6F
-,0x6E,0x20,0x74,0x68,0x65,0x20,0x77,0x65,0x62,0x20,0x62,0x72,0x6F,0x77,0x73,0x65
-,0x72,0x2E,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x49,0x74,0x20,0x63,0x61,0x6E,0x20,0x62
-,0x65,0x20,0x63,0x68,0x61,0x6E,0x67,0x65,0x64,0x20,0x61,0x74,0x20,0x61,0x20,0x73
-,0x6C,0x69,0x64,0x65,0x72,0x20,0x62,0x61,0x72,0x20,0x69,0x6E,0x20,0x22,0x57,0x61
-,0x69,0x74,0x20,0x74,0x69,0x6D,0x65,0x22,0x20,0x61,0x74,0x20,0x74,0x68,0x65,0x20
-,0x74,0x69,0x6D,0x69,0x6E,0x67,0x20,0x6F,0x66,0x20,0x61,0x20,0x72,0x65,0x6E,0x65
-,0x77,0x61,0x6C,0x20,0x6F,0x66,0x20,0x61,0x20,0x63,0x61,0x6D,0x65,0x72,0x61,0x20
-,0x70,0x69,0x63,0x74,0x75,0x72,0x65,0x2E,0x20,0x28,0x44,0x65,0x66,0x61,0x75,0x6C
-,0x74,0x73,0x20,0x61,0x72,0x65,0x20,0x35,0x30,0x30,0x6D,0x73,0x2E,0x29,0x3C,0x2F
-,0x74,0x64,0x3E,0x0D,0x0A,0x3C,0x2F,0x74,0x72,0x3E,0x0D,0x0A,0x3C,0x74,0x72,0x3E
-,0x0D,0x0A,0x3C,0x74,0x64,0x3E,0x53,0x65,0x74,0x74,0x69,0x6E,0x67,0x20,0x62,0x79
-,0x20,0x49,0x32,0x43,0x3C,0x2F,0x74,0x64,0x3E,0x3C,0x74,0x64,0x3E,0x49,0x74,0x20
-,0x69,0x6E,0x64,0x69,0x63,0x61,0x74,0x65,0x73,0x20,0x49,0x32,0x43,0x20,0x73,0x65
-,0x74,0x74,0x69,0x6E,0x67,0x20,0x6F,0x6E,0x20,0x74,0x68,0x65,0x20,0x77,0x65,0x62
-,0x20,0x62,0x72,0x6F,0x77,0x73,0x65,0x72,0x2E,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x49
-,0x6E,0x20,0x49,0x32,0x43,0x20,0x63,0x6F,0x6D,0x6D,0x75,0x6E,0x69,0x63,0x61,0x74
-,0x69,0x6F,0x6E,0x2C,0x20,0x47,0x52,0x2D,0x50,0x45,0x41,0x43,0x48,0x20,0x65,0x78
-,0x65,0x63,0x75,0x74,0x65,0x73,0x20,0x74,0x68,0x65,0x20,0x73,0x65,0x74,0x74,0x69
-,0x6E,0x67,0x73,0x20,0x6F,0x66,0x20,0x74,0x68,0x65,0x20,0x64,0x65,0x76,0x69,0x63
-,0x65,0x73,0x20,0x63,0x6F,0x6E,0x6E,0x65,0x63,0x74,0x65,0x64,0x20,0x74,0x6F,0x20
-,0x49,0x32,0x43,0x5F,0x53,0x43,0x41,0x20,0x74,0x65,0x72,0x6D,0x69,0x6E,0x61,0x6C
-,0x20,0x61,0x6E,0x64,0x20,0x49,0x32,0x43,0x5F,0x53,0x43,0x4C,0x20,0x74,0x65,0x72
-,0x6D,0x69,0x6E,0x61,0x6C,0x2E,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x4F,0x6E,0x20,0x74
-,0x68,0x65,0x20,0x62,0x61,0x73,0x69,0x73,0x20,0x6F,0x66,0x20,0x74,0x68,0x65,0x20
-,0x63,0x6F,0x6D,0x6D,0x61,0x6E,0x64,0x2C,0x20,0x47,0x52,0x2D,0x50,0x45,0x41,0x43
-,0x48,0x20,0x61,0x63,0x63,0x65,0x73,0x73,0x65,0x73,0x20,0x74,0x6F,0x20,0x72,0x65
-,0x67,0x69,0x73,0x74,0x65,0x72,0x73,0x20,0x6F,0x66,0x20,0x74,0x68,0x65,0x20,0x64
-,0x65,0x76,0x69,0x63,0x65,0x73,0x2E,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x59,0x6F,0x75
-,0x20,0x63,0x61,0x6E,0x20,0x73,0x65,0x6E,0x64,0x20,0x74,0x68,0x65,0x20,0x63,0x6F
-,0x6D,0x6D,0x61,0x6E,0x64,0x20,0x6F,0x66,0x20,0x74,0x68,0x65,0x20,0x73,0x70,0x65
-,0x63,0x69,0x66,0x69,0x65,0x64,0x20,0x66,0x6F,0x72,0x6D,0x61,0x74,0x20,0x69,0x6E
-,0x20,0x6F,0x6E,0x65,0x20,0x6F,0x66,0x20,0x74,0x77,0x6F,0x20,0x70,0x61,0x74,0x74
-,0x65,0x72,0x6E,0x73,0x20,0x62,0x65,0x6C,0x6F,0x77,0x2E,0x3C,0x62,0x72,0x3E,0x0D
-,0x0A,0x26,0x6E,0x62,0x73,0x70,0x3B,0x26,0x6E,0x62,0x73,0x70,0x3B,0x22,0x44,0x69
-,0x72,0x65,0x63,0x74,0x6C,0x20,0x69,0x6E,0x70,0x75,0x74,0x22,0x20,0x6F,0x72,0x20
-,0x22,0x46,0x69,0x6C,0x65,0x20,0x72,0x65,0x66,0x65,0x72,0x65,0x6E,0x63,0x65,0x22
-,0x2E,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x50,0x6C,0x65,0x61,0x73,0x65,0x20,0x63,0x72
-,0x65,0x61,0x74,0x65,0x20,0x61,0x20,0x63,0x6F,0x6D,0x6D,0x61,0x6E,0x64,0x20,0x61
-,0x6C,0x6F,0x6E,0x67,0x20,0x74,0x68,0x65,0x20,0x66,0x6F,0x72,0x6D,0x61,0x74,0x20
-,0x61,0x66,0x74,0x65,0x72,0x20,0x79,0x6F,0x75,0x20,0x63,0x68,0x65,0x63,0x6B,0x20
-,0x74,0x68,0x65,0x20,0x73,0x70,0x65,0x63,0x69,0x66,0x69,0x63,0x61,0x74,0x69,0x6F
-,0x6E,0x73,0x20,0x6F,0x66,0x20,0x65,0x61,0x63,0x68,0x20,0x64,0x65,0x76,0x69,0x63
-,0x65,0x2E,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x54,0x68,0x65,0x20,0x66,0x6F,0x72,0x6D
-,0x61,0x74,0x20,0x6F,0x66,0x20,0x74,0x68,0x65,0x20,0x63,0x6F,0x6D,0x6D,0x61,0x6E
-,0x64,0x20,0x69,0x73,0x3A,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x26,0x6E,0x62,0x73,0x70
-,0x3B,0x26,0x6E,0x62,0x73,0x70,0x3B,0x4D,0x65,0x74,0x68,0x6F,0x64,0x3A,0x49,0x32
-,0x43,0x20,0x61,0x64,0x64,0x72,0x2C,0x64,0x61,0x74,0x61,0x20,0x6C,0x65,0x6E,0x67
-,0x74,0x68,0x2C,0x64,0x61,0x74,0x61,0x31,0x2C,0x64,0x61,0x74,0x61,0x32,0x2C,0x64
-,0x61,0x74,0x61,0x33,0x2C,0x2E,0x2E,0x2E,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x3C,0x62
-,0x72,0x3E,0x0D,0x0A,0x4D,0x65,0x74,0x68,0x6F,0x64,0x20,0x69,0x73,0x20,0x62,0x65
-,0x6C,0x6F,0x77,0x2E,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x26,0x6E,0x62,0x73,0x70,0x3B
-,0x26,0x6E,0x62,0x73,0x70,0x3B,0x26,0x6E,0x62,0x73,0x70,0x3B,0x22,0x57,0x72,0x22
-,0x69,0x73,0x20,0x57,0x72,0x69,0x74,0x65,0x20,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F
-,0x6E,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x26,0x6E,0x62,0x73,0x70,0x3B,0x26,0x6E,0x62
-,0x73,0x70,0x3B,0x26,0x6E,0x62,0x73,0x70,0x3B,0x22,0x52,0x64,0x22,0x20,0x69,0x73
-,0x20,0x52,0x65,0x61,0x64,0x20,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3C,0x62
-,0x72,0x3E,0x0D,0x0A,0x26,0x6E,0x62,0x73,0x70,0x3B,0x26,0x6E,0x62,0x73,0x70,0x3B
-,0x26,0x6E,0x62,0x73,0x70,0x3B,0x22,0x57,0x72,0x4E,0x6F,0x70,0x22,0x20,0x69,0x73
-,0x20,0x57,0x72,0x69,0x74,0x65,0x20,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28
-,0x4E,0x6F,0x20,0x53,0x54,0x4F,0x50,0x20,0x63,0x6F,0x6E,0x64,0x69,0x74,0x69,0x6F
-,0x6E,0x29,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x26,0x6E,0x62,0x73,0x70,0x3B,0x26,0x6E
-,0x62,0x73,0x70,0x3B,0x26,0x6E,0x62,0x73,0x70,0x3B,0x22,0x52,0x64,0x4E,0x6F,0x70
-,0x22,0x20,0x69,0x73,0x20,0x52,0x65,0x61,0x64,0x20,0x66,0x75,0x6E,0x63,0x74,0x69
-,0x6F,0x6E,0x28,0x4E,0x6F,0x20,0x53,0x54,0x4F,0x50,0x20,0x63,0x6F,0x6E,0x64,0x69
-,0x74,0x69,0x6F,0x6E,0x29,0x3C,0x62,0x72,0x3E,0x3C,0x2F,0x74,0x64,0x3E,0x0D,0x0A
-,0x3C,0x2F,0x74,0x72,0x3E,0x0D,0x0A,0x3C,0x74,0x72,0x3E,0x0D,0x0A,0x3C,0x74,0x64
-,0x3E,0x4C,0x45,0x44,0x20,0x4F,0x6E,0x2F,0x4F,0x66,0x66,0x3C,0x2F,0x74,0x64,0x3E
-,0x3C,0x74,0x64,0x3E,0x49,0x74,0x20,0x69,0x6E,0x64,0x69,0x63,0x61,0x74,0x65,0x73
-,0x20,0x4C,0x45,0x44,0x31,0x2C,0x20,0x4C,0x45,0x44,0x32,0x20,0x61,0x6E,0x64,0x20
-,0x4C,0x45,0x44,0x33,0x20,0x6F,0x66,0x20,0x74,0x68,0x65,0x20,0x74,0x6F,0x67,0x67
-,0x6C,0x65,0x20,0x73,0x77,0x69,0x74,0x63,0x68,0x20,0x6F,0x6E,0x20,0x74,0x68,0x65
-,0x20,0x77,0x65,0x62,0x20,0x62,0x72,0x6F,0x77,0x73,0x65,0x72,0x2E,0x3C,0x62,0x72
-,0x3E,0x0D,0x0A,0x45,0x61,0x63,0x68,0x20,0x73,0x77,0x69,0x74,0x63,0x68,0x20,0x69
-,0x6E,0x64,0x69,0x63,0x61,0x74,0x65,0x73,0x20,0x74,0x68,0x65,0x20,0x63,0x75,0x72
-,0x72,0x65,0x6E,0x74,0x20,0x4C,0x45,0x44,0x20,0x73,0x74,0x61,0x74,0x65,0x2E,0x3C
-,0x62,0x72,0x3E,0x0D,0x0A,0x4C,0x45,0x44,0x20,0x4F,0x4E,0x20,0x61,0x6E,0x64,0x20
-,0x4F,0x46,0x46,0x20,0x73,0x77,0x69,0x74,0x63,0x68,0x65,0x73,0x20,0x77,0x68,0x65
-,0x6E,0x20,0x79,0x6F,0x75,0x20,0x70,0x72,0x65,0x73,0x73,0x20,0x74,0x68,0x65,0x20
-,0x73,0x77,0x69,0x74,0x63,0x68,0x2E,0x20,0x57,0x68,0x65,0x6E,0x20,0x74,0x68,0x65
-,0x20,0x4C,0x45,0x44,0x20,0x69,0x73,0x20,0x4F,0x4E,0x2C,0x20,0x74,0x68,0x65,0x20
-,0x63,0x6F,0x6C,0x6F,0x72,0x20,0x6F,0x66,0x20,0x74,0x68,0x65,0x20,0x73,0x77,0x69
-,0x74,0x63,0x68,0x20,0x77,0x69,0x6C,0x6C,0x20,0x63,0x68,0x61,0x6E,0x67,0x65,0x20
-,0x74,0x68,0x65,0x20,0x4C,0x45,0x44,0x20,0x63,0x6F,0x6C,0x6F,0x72,0x2E,0x3C,0x2F
-,0x74,0x64,0x3E,0x0D,0x0A,0x3C,0x2F,0x74,0x72,0x3E,0x0D,0x0A,0x3C,0x2F,0x74,0x61
-,0x62,0x6C,0x65,0x3E,0x0D,0x0A,0x0D,0x0A,0x0D,0x0A,0x3C,0x2F,0x62,0x6F,0x64,0x79
-,0x3E,0x0D,0x0A,0x3C,0x2F,0x68,0x74,0x6D,0x6C,0x3E,0x0D,0x0A,0x0D,0x0A
-};
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/file_table_lychee.h Tue Dec 25 09:57:54 2018 +0000
@@ -0,0 +1,1223 @@
+
+static const char index_htm_tbl[] = {
+ 0x3C,0x53,0x43,0x52,0x49,0x50,0x54,0x20,0x74,0x79,0x70,0x65,0x3D,0x22,0x74,0x65
+,0x78,0x74,0x2F,0x6A,0x61,0x76,0x61,0x73,0x63,0x72,0x69,0x70,0x74,0x22,0x3E,0x0D
+,0x0A,0x3C,0x21,0x2D,0x2D,0x0D,0x0A,0x6C,0x6F,0x63,0x61,0x74,0x69,0x6F,0x6E,0x2E
+,0x68,0x72,0x65,0x66,0x3D,0x22,0x2F,0x77,0x65,0x62,0x5F,0x74,0x6F,0x70,0x2E,0x68
+,0x74,0x6D,0x22,0x3B,0x0D,0x0A,0x2D,0x2D,0x3E,0x0D,0x0A,0x3C,0x2F,0x53,0x43,0x52
+,0x49,0x50,0x54,0x3E,0x0D,0x0A
+};
+
+static const char camaera_js_tbl[] = {
+ 0x76,0x61,0x72,0x20,0x69,0x6D,0x61,0x67,0x65,0x4E,0x72,0x20,0x3D,0x20,0x30,0x3B
+,0x20,0x2F,0x2F,0x20,0x53,0x65,0x72,0x69,0x61,0x6C,0x20,0x6E,0x75,0x6D,0x62,0x65
+,0x72,0x20,0x6F,0x66,0x20,0x63,0x75,0x72,0x72,0x65,0x6E,0x74,0x20,0x69,0x6D,0x61
+,0x67,0x65,0x0D,0x0A,0x76,0x61,0x72,0x20,0x66,0x69,0x6E,0x69,0x73,0x68,0x65,0x64
+,0x20,0x3D,0x20,0x6E,0x65,0x77,0x20,0x41,0x72,0x72,0x61,0x79,0x28,0x29,0x3B,0x20
+,0x2F,0x2F,0x20,0x52,0x65,0x66,0x65,0x72,0x65,0x6E,0x63,0x65,0x73,0x20,0x74,0x6F
+,0x20,0x69,0x6D,0x67,0x20,0x6F,0x62,0x6A,0x65,0x63,0x74,0x73,0x20,0x77,0x68,0x69
+,0x63,0x68,0x20,0x68,0x61,0x76,0x65,0x20,0x66,0x69,0x6E,0x69,0x73,0x68,0x65,0x64
+,0x20,0x64,0x6F,0x77,0x6E,0x6C,0x6F,0x61,0x64,0x69,0x6E,0x67,0x0D,0x0A,0x0D,0x0A
+,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x20,0x63,0x72,0x65,0x61,0x74,0x65,0x49
+,0x6D,0x61,0x67,0x65,0x4C,0x61,0x79,0x65,0x72,0x28,0x29,0x20,0x7B,0x0D,0x0A,0x20
+,0x20,0x76,0x61,0x72,0x20,0x69,0x6D,0x61,0x67,0x65,0x20,0x3D,0x20,0x6E,0x65,0x77
+,0x20,0x49,0x6D,0x61,0x67,0x65,0x28,0x29,0x3B,0x0D,0x0A,0x0D,0x0A,0x20,0x20,0x69
+,0x6D,0x61,0x67,0x65,0x2E,0x73,0x72,0x63,0x20,0x3D,0x20,0x22,0x63,0x61,0x6D,0x65
+,0x72,0x61,0x2F,0x22,0x20,0x2B,0x20,0x28,0x2B,0x2B,0x69,0x6D,0x61,0x67,0x65,0x4E
+,0x72,0x29,0x3B,0x0D,0x0A,0x20,0x20,0x69,0x6D,0x61,0x67,0x65,0x2E,0x73,0x74,0x79
+,0x6C,0x65,0x2E,0x70,0x6F,0x73,0x69,0x74,0x69,0x6F,0x6E,0x20,0x3D,0x20,0x22,0x61
+,0x62,0x73,0x6F,0x6C,0x75,0x74,0x65,0x22,0x3B,0x0D,0x0A,0x20,0x20,0x69,0x6D,0x61
+,0x67,0x65,0x2E,0x73,0x74,0x79,0x6C,0x65,0x2E,0x7A,0x49,0x6E,0x64,0x65,0x78,0x20
+,0x3D,0x20,0x2D,0x31,0x3B,0x0D,0x0A,0x20,0x20,0x69,0x6D,0x61,0x67,0x65,0x2E,0x6F
+,0x6E,0x6C,0x6F,0x61,0x64,0x20,0x3D,0x20,0x69,0x6D,0x61,0x67,0x65,0x4F,0x6E,0x6C
+,0x6F,0x61,0x64,0x3B,0x0D,0x0A,0x20,0x20,0x69,0x6D,0x61,0x67,0x65,0x2E,0x6F,0x6E
+,0x65,0x72,0x72,0x6F,0x72,0x20,0x3D,0x20,0x63,0x72,0x65,0x61,0x74,0x65,0x49,0x6D
+,0x61,0x67,0x65,0x4C,0x61,0x79,0x65,0x72,0x3B,0x0D,0x0A,0x0D,0x0A,0x20,0x20,0x76
+,0x61,0x72,0x20,0x77,0x65,0x62,0x63,0x61,0x6D,0x20,0x3D,0x20,0x64,0x6F,0x63,0x75
+,0x6D,0x65,0x6E,0x74,0x2E,0x67,0x65,0x74,0x45,0x6C,0x65,0x6D,0x65,0x6E,0x74,0x42
+,0x79,0x49,0x64,0x28,0x22,0x77,0x65,0x62,0x63,0x61,0x6D,0x22,0x29,0x3B,0x0D,0x0A
+,0x20,0x20,0x77,0x65,0x62,0x63,0x61,0x6D,0x2E,0x69,0x6E,0x73,0x65,0x72,0x74,0x42
+,0x65,0x66,0x6F,0x72,0x65,0x28,0x69,0x6D,0x61,0x67,0x65,0x2C,0x20,0x77,0x65,0x62
+,0x63,0x61,0x6D,0x2E,0x66,0x69,0x72,0x73,0x74,0x43,0x68,0x69,0x6C,0x64,0x29,0x3B
+,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x20
+,0x69,0x6D,0x61,0x67,0x65,0x4F,0x6E,0x6C,0x6F,0x61,0x64,0x28,0x29,0x20,0x7B,0x0D
+,0x0A,0x20,0x20,0x74,0x68,0x69,0x73,0x2E,0x73,0x74,0x79,0x6C,0x65,0x2E,0x7A,0x49
+,0x6E,0x64,0x65,0x78,0x20,0x3D,0x20,0x69,0x6D,0x61,0x67,0x65,0x4E,0x72,0x3B,0x0D
+,0x0A,0x20,0x20,0x77,0x68,0x69,0x6C,0x65,0x20,0x28,0x31,0x20,0x3C,0x20,0x66,0x69
+,0x6E,0x69,0x73,0x68,0x65,0x64,0x2E,0x6C,0x65,0x6E,0x67,0x74,0x68,0x29,0x20,0x7B
+,0x0D,0x0A,0x20,0x20,0x20,0x20,0x76,0x61,0x72,0x20,0x64,0x65,0x6C,0x20,0x3D,0x20
+,0x66,0x69,0x6E,0x69,0x73,0x68,0x65,0x64,0x2E,0x73,0x68,0x69,0x66,0x74,0x28,0x29
+,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x64,0x65,0x6C,0x2E,0x70,0x61,0x72,0x65,0x6E
+,0x74,0x4E,0x6F,0x64,0x65,0x2E,0x72,0x65,0x6D,0x6F,0x76,0x65,0x43,0x68,0x69,0x6C
+,0x64,0x28,0x64,0x65,0x6C,0x29,0x3B,0x0D,0x0A,0x20,0x20,0x7D,0x0D,0x0A,0x20,0x20
+,0x66,0x69,0x6E,0x69,0x73,0x68,0x65,0x64,0x2E,0x70,0x75,0x73,0x68,0x28,0x74,0x68
+,0x69,0x73,0x29,0x3B,0x0D,0x0A,0x20,0x20,0x74,0x69,0x6D,0x65,0x72,0x49,0x44,0x20
+,0x3D,0x20,0x73,0x65,0x74,0x54,0x69,0x6D,0x65,0x6F,0x75,0x74,0x28,0x66,0x75,0x6E
+,0x63,0x74,0x69,0x6F,0x6E,0x28,0x29,0x7B,0x20,0x63,0x72,0x65,0x61,0x74,0x65,0x49
+,0x6D,0x61,0x67,0x65,0x4C,0x61,0x79,0x65,0x72,0x28,0x29,0x20,0x7D,0x2C,0x20,0x64
+,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x46,0x31,0x2E,0x77,0x61,0x69,0x74,0x74
+,0x69,0x6D,0x65,0x2E,0x76,0x61,0x6C,0x75,0x65,0x29,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A
+};
+
+static const char camera_htm_tbl[] = {
+ 0x3C,0x68,0x74,0x6D,0x6C,0x3E,0x0D,0x0A,0x3C,0x68,0x65,0x61,0x64,0x3E,0x0D,0x0A
+,0x3C,0x74,0x69,0x74,0x6C,0x65,0x3E,0x63,0x61,0x6D,0x65,0x72,0x61,0x3C,0x2F,0x74
+,0x69,0x74,0x6C,0x65,0x3E,0x0D,0x0A,0x3C,0x73,0x63,0x72,0x69,0x70,0x74,0x20,0x74
+,0x79,0x70,0x65,0x3D,0x22,0x74,0x65,0x78,0x74,0x2F,0x6A,0x61,0x76,0x61,0x73,0x63
+,0x72,0x69,0x70,0x74,0x22,0x20,0x73,0x72,0x63,0x3D,0x22,0x63,0x61,0x6D,0x65,0x72
+,0x61,0x2E,0x6A,0x73,0x22,0x20,0x63,0x68,0x61,0x72,0x73,0x65,0x74,0x3D,0x22,0x75
+,0x74,0x66,0x2D,0x38,0x22,0x3E,0x3C,0x2F,0x73,0x63,0x72,0x69,0x70,0x74,0x3E,0x0D
+,0x0A,0x3C,0x73,0x74,0x79,0x6C,0x65,0x20,0x74,0x79,0x70,0x65,0x3D,0x22,0x74,0x65
+,0x78,0x74,0x2F,0x63,0x73,0x73,0x22,0x3E,0x0D,0x0A,0x23,0x77,0x65,0x62,0x63,0x61
+,0x6D,0x20,0x69,0x6D,0x67,0x20,0x7B,0x0D,0x0A,0x09,0x6C,0x65,0x66,0x74,0x3A,0x20
+,0x30,0x3B,0x0D,0x0A,0x09,0x72,0x69,0x67,0x68,0x74,0x3A,0x20,0x30,0x3B,0x0D,0x0A
+,0x09,0x6D,0x61,0x78,0x2D,0x77,0x69,0x64,0x74,0x68,0x3A,0x20,0x36,0x34,0x30,0x70
+,0x78,0x3B,0x20,0x0D,0x0A,0x09,0x77,0x69,0x64,0x74,0x68,0x3A,0x20,0x31,0x30,0x30
+,0x25,0x3B,0x0D,0x0A,0x09,0x68,0x65,0x69,0x67,0x68,0x74,0x3A,0x20,0x61,0x75,0x74
+,0x6F,0x3B,0x20,0x0D,0x0A,0x7D,0x0D,0x0A,0x3C,0x2F,0x73,0x74,0x79,0x6C,0x65,0x3E
+,0x0D,0x0A,0x3C,0x2F,0x68,0x65,0x61,0x64,0x3E,0x0D,0x0A,0x3C,0x62,0x6F,0x64,0x79
+,0x3E,0x0D,0x0A,0x3C,0x62,0x6F,0x64,0x79,0x20,0x6F,0x6E,0x6C,0x6F,0x61,0x64,0x3D
+,0x22,0x63,0x72,0x65,0x61,0x74,0x65,0x49,0x6D,0x61,0x67,0x65,0x4C,0x61,0x79,0x65
+,0x72,0x28,0x29,0x3B,0x22,0x3E,0x0D,0x0A,0x3C,0x66,0x6F,0x72,0x6D,0x20,0x61,0x63
+,0x74,0x69,0x6F,0x6E,0x3D,0x22,0x23,0x22,0x20,0x6E,0x61,0x6D,0x65,0x3D,0x22,0x46
+,0x31,0x22,0x3E,0x0D,0x0A,0x57,0x61,0x69,0x74,0x20,0x74,0x69,0x6D,0x65,0x20,0x3C
+,0x69,0x6E,0x70,0x75,0x74,0x20,0x74,0x79,0x70,0x65,0x3D,0x22,0x72,0x61,0x6E,0x67
+,0x65,0x22,0x20,0x6E,0x61,0x6D,0x65,0x3D,0x22,0x77,0x61,0x69,0x74,0x74,0x69,0x6D
+,0x65,0x22,0x20,0x76,0x61,0x6C,0x75,0x65,0x3D,0x22,0x35,0x30,0x30,0x22,0x20,0x6D
+,0x61,0x78,0x3D,0x22,0x31,0x30,0x30,0x30,0x22,0x20,0x73,0x74,0x65,0x70,0x3D,0x22
+,0x35,0x30,0x22,0x3E,0x20,0x5B,0x6D,0x73,0x5D,0x0D,0x0A,0x3C,0x2F,0x66,0x6F,0x72
+,0x6D,0x3E,0x0D,0x0A,0x3C,0x64,0x69,0x76,0x20,0x69,0x64,0x3D,0x22,0x77,0x65,0x62
+,0x63,0x61,0x6D,0x22,0x3E,0x3C,0x6E,0x6F,0x73,0x63,0x72,0x69,0x70,0x74,0x3E,0x3C
+,0x69,0x6D,0x67,0x20,0x73,0x72,0x63,0x3D,0x22,0x63,0x61,0x6D,0x65,0x72,0x61,0x2F
+,0x30,0x22,0x20,0x2F,0x3E,0x3C,0x2F,0x6E,0x6F,0x73,0x63,0x72,0x69,0x70,0x74,0x3E
+,0x3C,0x2F,0x64,0x69,0x76,0x3E,0x0D,0x0A,0x3C,0x2F,0x62,0x6F,0x64,0x79,0x3E,0x0D
+,0x0A,0x3C,0x2F,0x68,0x74,0x6D,0x6C,0x3E,0x0D,0x0A
+};
+
+static const char mbedrpc_js_tbl[] = {
+ 0x2F,0x2F,0x20,0x6D,0x62,0x65,0x64,0x52,0x50,0x43,0x20,0x4A,0x61,0x76,0x61,0x73
+,0x63,0x72,0x69,0x70,0x74,0x20,0x49,0x6E,0x74,0x65,0x72,0x66,0x61,0x63,0x65,0x20
+,0x75,0x73,0x69,0x6E,0x67,0x20,0x48,0x54,0x54,0x50,0x0D,0x0A,0x2F,0x2F,0x20,0x73
+,0x66,0x6F,0x72,0x64,0x20,0x61,0x6E,0x64,0x20,0x4D,0x20,0x57,0x61,0x6C,0x6B,0x65
+,0x72,0x0D,0x0A,0x2F,0x2F,0x20,0x41,0x20,0x6A,0x61,0x76,0x61,0x73,0x63,0x72,0x69
+,0x70,0x74,0x20,0x69,0x6E,0x74,0x65,0x72,0x66,0x61,0x63,0x65,0x20,0x66,0x6F,0x72
+,0x20,0x74,0x61,0x6C,0x6B,0x69,0x6E,0x67,0x20,0x74,0x6F,0x20,0x6D,0x62,0x65,0x64
+,0x20,0x72,0x70,0x63,0x20,0x6F,0x76,0x65,0x72,0x20,0x68,0x74,0x74,0x70,0x0D,0x0A
+,0x2F,0x2F,0x0D,0x0A,0x2F,0x2F,0x43,0x6F,0x70,0x79,0x72,0x69,0x67,0x68,0x74,0x20
+,0x28,0x63,0x29,0x20,0x32,0x30,0x31,0x30,0x20,0x41,0x52,0x4D,0x20,0x4C,0x74,0x64
+,0x0D,0x0A,0x2F,0x2F,0x20,0x0D,0x0A,0x2F,0x2F,0x50,0x65,0x72,0x6D,0x69,0x73,0x73
+,0x69,0x6F,0x6E,0x20,0x69,0x73,0x20,0x68,0x65,0x72,0x65,0x62,0x79,0x20,0x67,0x72
+,0x61,0x6E,0x74,0x65,0x64,0x2C,0x20,0x66,0x72,0x65,0x65,0x20,0x6F,0x66,0x20,0x63
+,0x68,0x61,0x72,0x67,0x65,0x2C,0x20,0x74,0x6F,0x20,0x61,0x6E,0x79,0x20,0x70,0x65
+,0x72,0x73,0x6F,0x6E,0x20,0x6F,0x62,0x74,0x61,0x69,0x6E,0x69,0x6E,0x67,0x20,0x61
+,0x20,0x63,0x6F,0x70,0x79,0x0D,0x0A,0x2F,0x2F,0x6F,0x66,0x20,0x74,0x68,0x69,0x73
+,0x20,0x73,0x6F,0x66,0x74,0x77,0x61,0x72,0x65,0x20,0x61,0x6E,0x64,0x20,0x61,0x73
+,0x73,0x6F,0x63,0x69,0x61,0x74,0x65,0x64,0x20,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E
+,0x74,0x61,0x74,0x69,0x6F,0x6E,0x20,0x66,0x69,0x6C,0x65,0x73,0x20,0x28,0x74,0x68
+,0x65,0x20,0x22,0x53,0x6F,0x66,0x74,0x77,0x61,0x72,0x65,0x22,0x29,0x2C,0x20,0x74
+,0x6F,0x20,0x64,0x65,0x61,0x6C,0x0D,0x0A,0x2F,0x2F,0x69,0x6E,0x20,0x74,0x68,0x65
+,0x20,0x53,0x6F,0x66,0x74,0x77,0x61,0x72,0x65,0x20,0x77,0x69,0x74,0x68,0x6F,0x75
+,0x74,0x20,0x72,0x65,0x73,0x74,0x72,0x69,0x63,0x74,0x69,0x6F,0x6E,0x2C,0x20,0x69
+,0x6E,0x63,0x6C,0x75,0x64,0x69,0x6E,0x67,0x20,0x77,0x69,0x74,0x68,0x6F,0x75,0x74
+,0x20,0x6C,0x69,0x6D,0x69,0x74,0x61,0x74,0x69,0x6F,0x6E,0x20,0x74,0x68,0x65,0x20
+,0x72,0x69,0x67,0x68,0x74,0x73,0x0D,0x0A,0x2F,0x2F,0x74,0x6F,0x20,0x75,0x73,0x65
+,0x2C,0x20,0x63,0x6F,0x70,0x79,0x2C,0x20,0x6D,0x6F,0x64,0x69,0x66,0x79,0x2C,0x20
+,0x6D,0x65,0x72,0x67,0x65,0x2C,0x20,0x70,0x75,0x62,0x6C,0x69,0x73,0x68,0x2C,0x20
+,0x64,0x69,0x73,0x74,0x72,0x69,0x62,0x75,0x74,0x65,0x2C,0x20,0x73,0x75,0x62,0x6C
+,0x69,0x63,0x65,0x6E,0x73,0x65,0x2C,0x20,0x61,0x6E,0x64,0x2F,0x6F,0x72,0x20,0x73
+,0x65,0x6C,0x6C,0x0D,0x0A,0x2F,0x2F,0x63,0x6F,0x70,0x69,0x65,0x73,0x20,0x6F,0x66
+,0x20,0x74,0x68,0x65,0x20,0x53,0x6F,0x66,0x74,0x77,0x61,0x72,0x65,0x2C,0x20,0x61
+,0x6E,0x64,0x20,0x74,0x6F,0x20,0x70,0x65,0x72,0x6D,0x69,0x74,0x20,0x70,0x65,0x72
+,0x73,0x6F,0x6E,0x73,0x20,0x74,0x6F,0x20,0x77,0x68,0x6F,0x6D,0x20,0x74,0x68,0x65
+,0x20,0x53,0x6F,0x66,0x74,0x77,0x61,0x72,0x65,0x20,0x69,0x73,0x0D,0x0A,0x2F,0x2F
+,0x66,0x75,0x72,0x6E,0x69,0x73,0x68,0x65,0x64,0x20,0x74,0x6F,0x20,0x64,0x6F,0x20
+,0x73,0x6F,0x2C,0x20,0x73,0x75,0x62,0x6A,0x65,0x63,0x74,0x20,0x74,0x6F,0x20,0x74
+,0x68,0x65,0x20,0x66,0x6F,0x6C,0x6C,0x6F,0x77,0x69,0x6E,0x67,0x20,0x63,0x6F,0x6E
+,0x64,0x69,0x74,0x69,0x6F,0x6E,0x73,0x3A,0x0D,0x0A,0x2F,0x2F,0x20,0x0D,0x0A,0x2F
+,0x2F,0x54,0x68,0x65,0x20,0x61,0x62,0x6F,0x76,0x65,0x20,0x63,0x6F,0x70,0x79,0x72
+,0x69,0x67,0x68,0x74,0x20,0x6E,0x6F,0x74,0x69,0x63,0x65,0x20,0x61,0x6E,0x64,0x20
+,0x74,0x68,0x69,0x73,0x20,0x70,0x65,0x72,0x6D,0x69,0x73,0x73,0x69,0x6F,0x6E,0x20
+,0x6E,0x6F,0x74,0x69,0x63,0x65,0x20,0x73,0x68,0x61,0x6C,0x6C,0x20,0x62,0x65,0x20
+,0x69,0x6E,0x63,0x6C,0x75,0x64,0x65,0x64,0x20,0x69,0x6E,0x0D,0x0A,0x2F,0x2F,0x61
+,0x6C,0x6C,0x20,0x63,0x6F,0x70,0x69,0x65,0x73,0x20,0x6F,0x72,0x20,0x73,0x75,0x62
+,0x73,0x74,0x61,0x6E,0x74,0x69,0x61,0x6C,0x20,0x70,0x6F,0x72,0x74,0x69,0x6F,0x6E
+,0x73,0x20,0x6F,0x66,0x20,0x74,0x68,0x65,0x20,0x53,0x6F,0x66,0x74,0x77,0x61,0x72
+,0x65,0x2E,0x0D,0x0A,0x2F,0x2F,0x20,0x0D,0x0A,0x2F,0x2F,0x54,0x48,0x45,0x20,0x53
+,0x4F,0x46,0x54,0x57,0x41,0x52,0x45,0x20,0x49,0x53,0x20,0x50,0x52,0x4F,0x56,0x49
+,0x44,0x45,0x44,0x20,0x22,0x41,0x53,0x20,0x49,0x53,0x22,0x2C,0x20,0x57,0x49,0x54
+,0x48,0x4F,0x55,0x54,0x20,0x57,0x41,0x52,0x52,0x41,0x4E,0x54,0x59,0x20,0x4F,0x46
+,0x20,0x41,0x4E,0x59,0x20,0x4B,0x49,0x4E,0x44,0x2C,0x20,0x45,0x58,0x50,0x52,0x45
+,0x53,0x53,0x20,0x4F,0x52,0x0D,0x0A,0x2F,0x2F,0x49,0x4D,0x50,0x4C,0x49,0x45,0x44
+,0x2C,0x20,0x49,0x4E,0x43,0x4C,0x55,0x44,0x49,0x4E,0x47,0x20,0x42,0x55,0x54,0x20
+,0x4E,0x4F,0x54,0x20,0x4C,0x49,0x4D,0x49,0x54,0x45,0x44,0x20,0x54,0x4F,0x20,0x54
+,0x48,0x45,0x20,0x57,0x41,0x52,0x52,0x41,0x4E,0x54,0x49,0x45,0x53,0x20,0x4F,0x46
+,0x20,0x4D,0x45,0x52,0x43,0x48,0x41,0x4E,0x54,0x41,0x42,0x49,0x4C,0x49,0x54,0x59
+,0x2C,0x0D,0x0A,0x2F,0x2F,0x46,0x49,0x54,0x4E,0x45,0x53,0x53,0x20,0x46,0x4F,0x52
+,0x20,0x41,0x20,0x50,0x41,0x52,0x54,0x49,0x43,0x55,0x4C,0x41,0x52,0x20,0x50,0x55
+,0x52,0x50,0x4F,0x53,0x45,0x20,0x41,0x4E,0x44,0x20,0x4E,0x4F,0x4E,0x49,0x4E,0x46
+,0x52,0x49,0x4E,0x47,0x45,0x4D,0x45,0x4E,0x54,0x2E,0x20,0x49,0x4E,0x20,0x4E,0x4F
+,0x20,0x45,0x56,0x45,0x4E,0x54,0x20,0x53,0x48,0x41,0x4C,0x4C,0x20,0x54,0x48,0x45
+,0x0D,0x0A,0x2F,0x2F,0x41,0x55,0x54,0x48,0x4F,0x52,0x53,0x20,0x4F,0x52,0x20,0x43
+,0x4F,0x50,0x59,0x52,0x49,0x47,0x48,0x54,0x20,0x48,0x4F,0x4C,0x44,0x45,0x52,0x53
+,0x20,0x42,0x45,0x20,0x4C,0x49,0x41,0x42,0x4C,0x45,0x20,0x46,0x4F,0x52,0x20,0x41
+,0x4E,0x59,0x20,0x43,0x4C,0x41,0x49,0x4D,0x2C,0x20,0x44,0x41,0x4D,0x41,0x47,0x45
+,0x53,0x20,0x4F,0x52,0x20,0x4F,0x54,0x48,0x45,0x52,0x0D,0x0A,0x2F,0x2F,0x4C,0x49
+,0x41,0x42,0x49,0x4C,0x49,0x54,0x59,0x2C,0x20,0x57,0x48,0x45,0x54,0x48,0x45,0x52
+,0x20,0x49,0x4E,0x20,0x41,0x4E,0x20,0x41,0x43,0x54,0x49,0x4F,0x4E,0x20,0x4F,0x46
+,0x20,0x43,0x4F,0x4E,0x54,0x52,0x41,0x43,0x54,0x2C,0x20,0x54,0x4F,0x52,0x54,0x20
+,0x4F,0x52,0x20,0x4F,0x54,0x48,0x45,0x52,0x57,0x49,0x53,0x45,0x2C,0x20,0x41,0x52
+,0x49,0x53,0x49,0x4E,0x47,0x20,0x46,0x52,0x4F,0x4D,0x2C,0x0D,0x0A,0x2F,0x2F,0x4F
+,0x55,0x54,0x20,0x4F,0x46,0x20,0x4F,0x52,0x20,0x49,0x4E,0x20,0x43,0x4F,0x4E,0x4E
+,0x45,0x43,0x54,0x49,0x4F,0x4E,0x20,0x57,0x49,0x54,0x48,0x20,0x54,0x48,0x45,0x20
+,0x53,0x4F,0x46,0x54,0x57,0x41,0x52,0x45,0x20,0x4F,0x52,0x20,0x54,0x48,0x45,0x20
+,0x55,0x53,0x45,0x20,0x4F,0x52,0x20,0x4F,0x54,0x48,0x45,0x52,0x20,0x44,0x45,0x41
+,0x4C,0x49,0x4E,0x47,0x53,0x20,0x49,0x4E,0x0D,0x0A,0x2F,0x2F,0x54,0x48,0x45,0x20
+,0x53,0x4F,0x46,0x54,0x57,0x41,0x52,0x45,0x2E,0x0D,0x0A,0x0D,0x0A,0x0D,0x0A,0x2F
+,0x2F,0x54,0x72,0x61,0x6E,0x73,0x70,0x6F,0x72,0x74,0x20,0x4D,0x65,0x63,0x68,0x61
+,0x6E,0x69,0x73,0x6D,0x73,0x20,0x20,0x20,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D
+,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D
+,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D
+,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D
+,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x0D,0x0A,0x0D,0x0A,0x66,0x75,0x6E,0x63,0x74
+,0x69,0x6F,0x6E,0x20,0x70,0x6F,0x73,0x74,0x28,0x75,0x72,0x6C,0x29,0x20,0x7B,0x0D
+,0x0A,0x20,0x20,0x20,0x20,0x68,0x74,0x74,0x70,0x20,0x3D,0x20,0x28,0x77,0x69,0x6E
+,0x64,0x6F,0x77,0x2E,0x58,0x4D,0x4C,0x48,0x74,0x74,0x70,0x52,0x65,0x71,0x75,0x65
+,0x73,0x74,0x29,0x20,0x3F,0x20,0x6E,0x65,0x77,0x20,0x58,0x4D,0x4C,0x48,0x74,0x74
+,0x70,0x52,0x65,0x71,0x75,0x65,0x73,0x74,0x28,0x29,0x20,0x3A,0x20,0x6E,0x65,0x77
+,0x20,0x41,0x63,0x74,0x69,0x76,0x65,0x58,0x4F,0x62,0x6A,0x65,0x63,0x74,0x28,0x22
+,0x4D,0x69,0x63,0x72,0x6F,0x73,0x6F,0x66,0x74,0x2E,0x58,0x4D,0x4C,0x48,0x54,0x54
+,0x50,0x22,0x29,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x69,0x66,0x28,0x21,0x68,0x74
+,0x74,0x70,0x29,0x20,0x72,0x65,0x74,0x75,0x72,0x6E,0x20,0x66,0x61,0x6C,0x73,0x65
+,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x68,0x74,0x74,0x70,0x2E,0x6F,0x70,0x65,0x6E
+,0x28,0x22,0x47,0x45,0x54,0x22,0x2C,0x20,0x75,0x72,0x6C,0x2C,0x20,0x66,0x61,0x6C
+,0x73,0x65,0x29,0x3B,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20
+,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20
+,0x20,0x0D,0x0A,0x20,0x20,0x20,0x20,0x68,0x74,0x74,0x70,0x2E,0x73,0x65,0x6E,0x64
+,0x28,0x6E,0x75,0x6C,0x6C,0x29,0x3B,0x20,0x20,0x20,0x0D,0x0A,0x20,0x20,0x20,0x20
+,0x72,0x65,0x74,0x75,0x72,0x6E,0x20,0x68,0x74,0x74,0x70,0x2E,0x72,0x65,0x73,0x70
+,0x6F,0x6E,0x73,0x65,0x54,0x65,0x78,0x74,0x3B,0x0D,0x0A,0x09,0x20,0x20,0x20,0x20
+,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20
+,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x0D,0x0A
+,0x7D,0x0D,0x0A,0x0D,0x0A,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x20,0x6D,0x62
+,0x65,0x64,0x28,0x29,0x7B,0x0D,0x0A,0x09,0x2F,0x2F,0x4E,0x6F,0x20,0x61,0x63,0x74
+,0x69,0x6F,0x6E,0x20,0x6E,0x65,0x65,0x64,0x73,0x20,0x74,0x6F,0x20,0x62,0x65,0x20
+,0x74,0x61,0x6B,0x65,0x6E,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x6D,0x62,0x65,0x64
+,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x72,0x70,0x63,0x20,0x3D
+,0x20,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x6F,0x62,0x6A,0x65,0x63,0x74
+,0x2C,0x20,0x6D,0x65,0x74,0x68,0x6F,0x64,0x2C,0x20,0x61,0x72,0x67,0x75,0x6D,0x65
+,0x6E,0x74,0x73,0x29,0x7B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x2F,0x2F,0x54,0x68,0x69
+,0x73,0x20,0x73,0x68,0x6F,0x75,0x6C,0x64,0x20,0x62,0x65,0x20,0x6F,0x76,0x65,0x72
+,0x72,0x69,0x64,0x64,0x65,0x6E,0x20,0x62,0x79,0x20,0x74,0x68,0x65,0x20,0x61,0x20
+,0x74,0x72,0x61,0x6E,0x73,0x70,0x6F,0x72,0x74,0x20,0x6D,0x65,0x63,0x68,0x61,0x6E
+,0x69,0x73,0x6D,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x48,0x54,0x54,0x50,0x52,0x50
+,0x43,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65,0x20,0x3D,0x20,0x6E,0x65
+,0x77,0x20,0x6D,0x62,0x65,0x64,0x28,0x29,0x3B,0x0D,0x0A,0x48,0x54,0x54,0x50,0x52
+,0x50,0x43,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x63,0x6F,0x6E
+,0x73,0x74,0x72,0x75,0x63,0x74,0x6F,0x72,0x20,0x3D,0x20,0x48,0x54,0x54,0x50,0x52
+,0x50,0x43,0x0D,0x0A,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x20,0x48,0x54,0x54
+,0x50,0x52,0x50,0x43,0x28,0x29,0x7B,0x0D,0x0A,0x09,0x2F,0x2F,0x75,0x6E,0x6C,0x69
+,0x6B,0x65,0x20,0x6F,0x74,0x68,0x65,0x72,0x20,0x6C,0x61,0x6E,0x67,0x75,0x61,0x67
+,0x65,0x73,0x20,0x74,0x68,0x69,0x73,0x20,0x64,0x6F,0x65,0x73,0x6E,0x27,0x74,0x20
+,0x6E,0x65,0x65,0x64,0x20,0x74,0x6F,0x20,0x62,0x65,0x20,0x70,0x61,0x73,0x73,0x65
+,0x64,0x20,0x61,0x6E,0x20,0x61,0x64,0x64,0x72,0x65,0x73,0x73,0x20,0x61,0x73,0x20
+,0x69,0x74,0x20,0x77,0x69,0x6C,0x6C,0x20,0x6F,0x6E,0x6C,0x79,0x20,0x62,0x65,0x20
+,0x61,0x6C,0x6C,0x6F,0x77,0x65,0x64,0x20,0x74,0x6F,0x20,0x63,0x6F,0x6D,0x6D,0x75
+,0x6E,0x69,0x63,0x61,0x74,0x65,0x20,0x77,0x69,0x74,0x68,0x20,0x69,0x74,0x73,0x65
+,0x6C,0x66,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x0D,0x0A,0x48,0x54,0x54,0x50,0x52
+,0x50,0x43,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x72,0x70,0x63
+,0x3D,0x20,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x6F,0x62,0x6A,0x65,0x63
+,0x74,0x2C,0x20,0x6D,0x65,0x74,0x68,0x6F,0x64,0x2C,0x20,0x61,0x72,0x67,0x75,0x6D
+,0x65,0x6E,0x74,0x73,0x29,0x20,0x7B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x72,0x65,0x74
+,0x75,0x72,0x6E,0x20,0x70,0x6F,0x73,0x74,0x28,0x22,0x2F,0x72,0x70,0x63,0x2F,0x22
+,0x20,0x2B,0x20,0x6F,0x62,0x6A,0x65,0x63,0x74,0x20,0x2B,0x20,0x22,0x2F,0x22,0x20
+,0x2B,0x20,0x6D,0x65,0x74,0x68,0x6F,0x64,0x20,0x2B,0x20,0x22,0x2C,0x22,0x20,0x2B
+,0x20,0x61,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x2E,0x6A,0x6F,0x69,0x6E,0x28
+,0x22,0x2C,0x22,0x29,0x29,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x2F,0x2F,0x20
+,0x50,0x69,0x6E,0x20,0x4E,0x61,0x6D,0x65,0x73,0x20,0x74,0x6F,0x20,0x41,0x6C,0x6C
+,0x6F,0x77,0x20,0x70,0x69,0x6E,0x73,0x20,0x74,0x6F,0x20,0x62,0x65,0x20,0x72,0x65
+,0x66,0x66,0x65,0x72,0x65,0x64,0x20,0x74,0x6F,0x20,0x61,0x73,0x20,0x61,0x20,0x74
+,0x79,0x70,0x65,0x20,0x72,0x61,0x74,0x68,0x65,0x72,0x20,0x74,0x68,0x61,0x6E,0x20
+,0x61,0x20,0x73,0x74,0x72,0x69,0x6E,0x67,0x20,0x6F,0x72,0x20,0x6E,0x75,0x6D,0x62
+,0x65,0x72,0x0D,0x0A,0x0D,0x0A,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x20,0x70
+,0x69,0x6E,0x28,0x6E,0x61,0x6D,0x65,0x29,0x7B,0x0D,0x0A,0x09,0x74,0x68,0x69,0x73
+,0x2E,0x5F,0x6E,0x61,0x6D,0x65,0x20,0x3D,0x20,0x6E,0x61,0x6D,0x65,0x3B,0x0D,0x0A
+,0x7D,0x0D,0x0A,0x0D,0x0A,0x4C,0x45,0x44,0x31,0x20,0x3D,0x20,0x6E,0x65,0x77,0x20
+,0x70,0x69,0x6E,0x28,0x22,0x4C,0x45,0x44,0x31,0x22,0x29,0x3B,0x0D,0x0A,0x4C,0x45
+,0x44,0x32,0x20,0x3D,0x20,0x6E,0x65,0x77,0x20,0x70,0x69,0x6E,0x28,0x22,0x4C,0x45
+,0x44,0x32,0x22,0x29,0x3B,0x0D,0x0A,0x4C,0x45,0x44,0x33,0x20,0x3D,0x20,0x6E,0x65
+,0x77,0x20,0x70,0x69,0x6E,0x28,0x22,0x4C,0x45,0x44,0x33,0x22,0x29,0x3B,0x0D,0x0A
+,0x4C,0x45,0x44,0x34,0x20,0x3D,0x20,0x6E,0x65,0x77,0x20,0x70,0x69,0x6E,0x28,0x22
+,0x4C,0x45,0x44,0x34,0x22,0x29,0x3B,0x0D,0x0A,0x0D,0x0A,0x2F,0x2F,0x20,0x69,0x6E
+,0x74,0x65,0x72,0x66,0x61,0x63,0x65,0x20,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E
+,0x73,0x20,0x20,0x20,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D
+,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D
+,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D
+,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D
+,0x2D,0x2D,0x2D,0x2D,0x0D,0x0A,0x0D,0x0A,0x2F,0x2F,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x20,0x44,0x69,0x67,0x69,0x74,0x61,0x6C,0x4F,0x75,0x74
+,0x20,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x0D,0x0A,0x0D,0x0A,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x20,0x44,0x69
+,0x67,0x69,0x74,0x61,0x6C,0x4F,0x75,0x74,0x28,0x74,0x68,0x69,0x73,0x5F,0x6D,0x62
+,0x65,0x64,0x2C,0x20,0x6D,0x70,0x69,0x6E,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x69,0x66
+,0x28,0x74,0x79,0x70,0x65,0x6F,0x66,0x20,0x6D,0x70,0x69,0x6E,0x20,0x21,0x3D,0x20
+,0x22,0x73,0x74,0x72,0x69,0x6E,0x67,0x22,0x29,0x7B,0x09,0x0D,0x0A,0x09,0x09,0x2F
+,0x2F,0x63,0x72,0x65,0x61,0x74,0x65,0x20,0x61,0x20,0x6E,0x65,0x77,0x20,0x6F,0x62
+,0x6A,0x65,0x63,0x74,0x0D,0x0A,0x09,0x09,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62
+,0x65,0x64,0x20,0x3D,0x20,0x74,0x68,0x69,0x73,0x5F,0x6D,0x62,0x65,0x64,0x3B,0x0D
+,0x0A,0x09,0x2F,0x2F,0x76,0x61,0x72,0x20,0x61,0x72,0x79,0x20,0x3D,0x20,0x6E,0x65
+,0x77,0x20,0x41,0x72,0x72,0x61,0x79,0x28,0x6D,0x70,0x69,0x6E,0x2E,0x5F,0x6E,0x61
+,0x6D,0x65,0x2C,0x6D,0x70,0x69,0x6E,0x2E,0x5F,0x6E,0x61,0x6D,0x65,0x29,0x3B,0x0D
+,0x0A,0x20,0x20,0x20,0x20,0x09,0x09,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65
+,0x20,0x3D,0x20,0x74,0x68,0x69,0x73,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72,0x70,0x63
+,0x28,0x22,0x44,0x69,0x67,0x69,0x74,0x61,0x6C,0x4F,0x75,0x74,0x22,0x2C,0x20,0x22
+,0x6E,0x65,0x77,0x22,0x2C,0x20,0x5B,0x6D,0x70,0x69,0x6E,0x2E,0x5F,0x6E,0x61,0x6D
+,0x65,0x2C,0x6D,0x70,0x69,0x6E,0x2E,0x5F,0x6E,0x61,0x6D,0x65,0x5D,0x29,0x3B,0x20
+,0x0D,0x0A,0x09,0x2F,0x2F,0x09,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x20
+,0x3D,0x20,0x74,0x68,0x69,0x73,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72,0x70,0x63,0x28
+,0x22,0x44,0x69,0x67,0x69,0x74,0x61,0x6C,0x4F,0x75,0x74,0x22,0x2C,0x20,0x22,0x6E
+,0x65,0x77,0x22,0x2C,0x20,0x61,0x72,0x79,0x29,0x3B,0x20,0x0D,0x0A,0x09,0x7D,0x65
+,0x6C,0x73,0x65,0x7B,0x0D,0x0A,0x09,0x09,0x2F,0x2F,0x54,0x69,0x65,0x20,0x74,0x6F
+,0x20,0x61,0x6E,0x20,0x65,0x78,0x69,0x73,0x74,0x69,0x6E,0x67,0x20,0x6F,0x62,0x6A
+,0x65,0x63,0x74,0x0D,0x0A,0x09,0x09,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65
+,0x64,0x20,0x3D,0x20,0x74,0x68,0x69,0x73,0x5F,0x6D,0x62,0x65,0x64,0x3B,0x0D,0x0A
+,0x09,0x09,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x20,0x3D,0x20,0x6D,0x70
+,0x69,0x6E,0x3B,0x0D,0x0A,0x09,0x7D,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x44,0x69
+,0x67,0x69,0x74,0x61,0x6C,0x4F,0x75,0x74,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74,0x79
+,0x70,0x65,0x2E,0x77,0x72,0x69,0x74,0x65,0x20,0x3D,0x20,0x66,0x75,0x6E,0x63,0x74
+,0x69,0x6F,0x6E,0x28,0x76,0x61,0x6C,0x75,0x65,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x74
+,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72,0x70,0x63,0x28,0x74,0x68
+,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22,0x77,0x72,0x69,0x74,0x65,0x22
+,0x2C,0x20,0x5B,0x76,0x61,0x6C,0x75,0x65,0x5D,0x29,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A
+,0x0D,0x0A,0x44,0x69,0x67,0x69,0x74,0x61,0x6C,0x4F,0x75,0x74,0x2E,0x70,0x72,0x6F
+,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x72,0x65,0x61,0x64,0x20,0x3D,0x20,0x66,0x75
+,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x72,0x65,0x74
+,0x75,0x72,0x6E,0x20,0x70,0x61,0x72,0x73,0x65,0x49,0x6E,0x74,0x28,0x74,0x68,0x69
+,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72,0x70,0x63,0x28,0x74,0x68,0x69,0x73
+,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22,0x72,0x65,0x61,0x64,0x22,0x2C,0x20,0x5B
+,0x22,0x22,0x5D,0x29,0x29,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A,0x2F,0x2F,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x20,0x44,0x69,0x67,0x69,0x74,0x61,0x6C
+,0x49,0x6E,0x20,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x0D,0x0A,0x0D,0x0A,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x20
+,0x44,0x69,0x67,0x69,0x74,0x61,0x6C,0x49,0x6E,0x28,0x74,0x68,0x69,0x73,0x5F,0x6D
+,0x62,0x65,0x64,0x2C,0x20,0x6D,0x70,0x69,0x6E,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x69
+,0x66,0x28,0x74,0x79,0x70,0x65,0x6F,0x66,0x20,0x6D,0x70,0x69,0x6E,0x20,0x21,0x3D
+,0x20,0x22,0x73,0x74,0x72,0x69,0x6E,0x67,0x22,0x29,0x7B,0x09,0x0D,0x0A,0x09,0x09
+,0x2F,0x2F,0x63,0x72,0x65,0x61,0x74,0x65,0x20,0x61,0x20,0x6E,0x65,0x77,0x20,0x6F
+,0x62,0x6A,0x65,0x63,0x74,0x0D,0x0A,0x09,0x09,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D
+,0x62,0x65,0x64,0x20,0x3D,0x20,0x74,0x68,0x69,0x73,0x5F,0x6D,0x62,0x65,0x64,0x3B
+,0x0D,0x0A,0x20,0x20,0x20,0x20,0x09,0x09,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D
+,0x65,0x20,0x3D,0x20,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72
+,0x70,0x63,0x28,0x22,0x44,0x69,0x67,0x69,0x74,0x61,0x6C,0x49,0x6E,0x22,0x2C,0x20
+,0x22,0x6E,0x65,0x77,0x22,0x2C,0x20,0x5B,0x6D,0x70,0x69,0x6E,0x2E,0x5F,0x6E,0x61
+,0x6D,0x65,0x2C,0x6D,0x70,0x69,0x6E,0x2E,0x5F,0x6E,0x61,0x6D,0x65,0x5D,0x29,0x3B
+,0x20,0x0D,0x0A,0x09,0x7D,0x65,0x6C,0x73,0x65,0x7B,0x0D,0x0A,0x09,0x09,0x2F,0x2F
+,0x54,0x69,0x65,0x20,0x74,0x6F,0x20,0x61,0x6E,0x20,0x65,0x78,0x69,0x73,0x74,0x69
+,0x6E,0x67,0x20,0x6F,0x62,0x6A,0x65,0x63,0x74,0x0D,0x0A,0x09,0x09,0x74,0x68,0x69
+,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x20,0x3D,0x20,0x74,0x68,0x69,0x73,0x5F,0x6D
+,0x62,0x65,0x64,0x3B,0x0D,0x0A,0x09,0x09,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D
+,0x65,0x20,0x3D,0x20,0x6D,0x70,0x69,0x6E,0x3B,0x0D,0x0A,0x09,0x7D,0x0D,0x0A,0x0D
+,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x44,0x69,0x67,0x69,0x74,0x61,0x6C,0x49,0x6E,0x2E
+,0x70,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x72,0x65,0x61,0x64,0x20,0x3D
+,0x20,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x29,0x20,0x7B,0x0D,0x0A,0x09
+,0x72,0x65,0x74,0x75,0x72,0x6E,0x20,0x70,0x61,0x72,0x73,0x65,0x49,0x6E,0x74,0x28
+,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72,0x70,0x63,0x28,0x74
+,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22,0x72,0x65,0x61,0x64,0x22
+,0x2C,0x20,0x5B,0x22,0x22,0x5D,0x29,0x29,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A
+,0x2F,0x2F,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x20,0x41,0x6E
+,0x61,0x6C,0x6F,0x67,0x4F,0x75,0x74,0x20,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x0D,0x0A,0x0D,0x0A,0x66,0x75,0x6E,0x63
+,0x74,0x69,0x6F,0x6E,0x20,0x41,0x6E,0x61,0x6C,0x6F,0x67,0x4F,0x75,0x74,0x28,0x74
+,0x68,0x69,0x73,0x5F,0x6D,0x62,0x65,0x64,0x2C,0x20,0x6D,0x70,0x69,0x6E,0x29,0x20
+,0x7B,0x0D,0x0A,0x09,0x69,0x66,0x28,0x74,0x79,0x70,0x65,0x6F,0x66,0x20,0x6D,0x70
+,0x69,0x6E,0x20,0x21,0x3D,0x20,0x22,0x73,0x74,0x72,0x69,0x6E,0x67,0x22,0x29,0x7B
+,0x09,0x0D,0x0A,0x09,0x09,0x2F,0x2F,0x63,0x72,0x65,0x61,0x74,0x65,0x20,0x61,0x20
+,0x6E,0x65,0x77,0x20,0x6F,0x62,0x6A,0x65,0x63,0x74,0x0D,0x0A,0x09,0x09,0x74,0x68
+,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x20,0x3D,0x20,0x74,0x68,0x69,0x73,0x5F
+,0x6D,0x62,0x65,0x64,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x09,0x09,0x74,0x68,0x69
+,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x20,0x3D,0x20,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D
+,0x62,0x65,0x64,0x2E,0x72,0x70,0x63,0x28,0x22,0x41,0x6E,0x61,0x6C,0x6F,0x67,0x4F
+,0x75,0x74,0x22,0x2C,0x20,0x22,0x6E,0x65,0x77,0x22,0x2C,0x20,0x5B,0x6D,0x70,0x69
+,0x6E,0x2E,0x5F,0x6E,0x61,0x6D,0x65,0x2C,0x6D,0x70,0x69,0x6E,0x2E,0x5F,0x6E,0x61
+,0x6D,0x65,0x5D,0x29,0x3B,0x20,0x0D,0x0A,0x09,0x7D,0x65,0x6C,0x73,0x65,0x7B,0x0D
+,0x0A,0x09,0x09,0x2F,0x2F,0x54,0x69,0x65,0x20,0x74,0x6F,0x20,0x61,0x6E,0x20,0x65
+,0x78,0x69,0x73,0x74,0x69,0x6E,0x67,0x20,0x6F,0x62,0x6A,0x65,0x63,0x74,0x0D,0x0A
+,0x09,0x09,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x20,0x3D,0x20,0x74
+,0x68,0x69,0x73,0x5F,0x6D,0x62,0x65,0x64,0x3B,0x0D,0x0A,0x09,0x09,0x74,0x68,0x69
+,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x20,0x3D,0x20,0x6D,0x70,0x69,0x6E,0x3B,0x0D,0x0A
+,0x09,0x7D,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x41,0x6E,0x61,0x6C,0x6F,0x67,0x4F
+,0x75,0x74,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x77,0x72,0x69
+,0x74,0x65,0x20,0x3D,0x20,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x76,0x61
+,0x6C,0x75,0x65,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D
+,0x62,0x65,0x64,0x2E,0x72,0x70,0x63,0x28,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D
+,0x65,0x2C,0x20,0x22,0x77,0x72,0x69,0x74,0x65,0x22,0x2C,0x20,0x5B,0x76,0x61,0x6C
+,0x75,0x65,0x5D,0x29,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x41,0x6E,0x61,0x6C
+,0x6F,0x67,0x4F,0x75,0x74,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E
+,0x77,0x72,0x69,0x74,0x65,0x5F,0x75,0x31,0x36,0x20,0x3D,0x20,0x66,0x75,0x6E,0x63
+,0x74,0x69,0x6F,0x6E,0x28,0x76,0x61,0x6C,0x75,0x65,0x29,0x20,0x7B,0x0D,0x0A,0x09
+,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72,0x70,0x63,0x28,0x74
+,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22,0x77,0x72,0x69,0x74,0x65
+,0x5F,0x75,0x31,0x36,0x22,0x2C,0x20,0x5B,0x76,0x61,0x6C,0x75,0x65,0x5D,0x29,0x3B
+,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x41,0x6E,0x61,0x6C,0x6F,0x67,0x4F,0x75,0x74
+,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x72,0x65,0x61,0x64,0x20
+,0x3D,0x20,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x29,0x20,0x7B,0x0D,0x0A
+,0x09,0x72,0x65,0x74,0x75,0x72,0x6E,0x20,0x70,0x61,0x72,0x73,0x65,0x46,0x6C,0x6F
+,0x61,0x74,0x28,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72,0x70
+,0x63,0x28,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22,0x72,0x65
+,0x61,0x64,0x22,0x2C,0x20,0x5B,0x22,0x22,0x5D,0x29,0x29,0x3B,0x0D,0x0A,0x7D,0x0D
+,0x0A,0x0D,0x0A,0x2F,0x2F,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x20,0x41,0x6E,0x61,0x6C,0x6F,0x67,0x49,0x6E,0x20,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x0D,0x0A,0x0D,0x0A,0x66,0x75
+,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x20,0x41,0x6E,0x61,0x6C,0x6F,0x67,0x49,0x6E,0x28
+,0x74,0x68,0x69,0x73,0x5F,0x6D,0x62,0x65,0x64,0x2C,0x20,0x6D,0x70,0x69,0x6E,0x29
+,0x20,0x7B,0x0D,0x0A,0x09,0x69,0x66,0x28,0x74,0x79,0x70,0x65,0x6F,0x66,0x20,0x6D
+,0x70,0x69,0x6E,0x20,0x21,0x3D,0x20,0x22,0x73,0x74,0x72,0x69,0x6E,0x67,0x22,0x29
+,0x7B,0x09,0x0D,0x0A,0x09,0x09,0x2F,0x2F,0x63,0x72,0x65,0x61,0x74,0x65,0x20,0x61
+,0x20,0x6E,0x65,0x77,0x20,0x6F,0x62,0x6A,0x65,0x63,0x74,0x0D,0x0A,0x09,0x09,0x74
+,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x20,0x3D,0x20,0x74,0x68,0x69,0x73
+,0x5F,0x6D,0x62,0x65,0x64,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x09,0x09,0x74,0x68
+,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x20,0x3D,0x20,0x74,0x68,0x69,0x73,0x2E,0x5F
+,0x6D,0x62,0x65,0x64,0x2E,0x72,0x70,0x63,0x28,0x22,0x41,0x6E,0x61,0x6C,0x6F,0x67
+,0x49,0x6E,0x22,0x2C,0x20,0x22,0x6E,0x65,0x77,0x22,0x2C,0x20,0x5B,0x6D,0x70,0x69
+,0x6E,0x2E,0x5F,0x6E,0x61,0x6D,0x65,0x2C,0x6D,0x70,0x69,0x6E,0x2E,0x5F,0x6E,0x61
+,0x6D,0x65,0x5D,0x29,0x3B,0x20,0x0D,0x0A,0x09,0x7D,0x65,0x6C,0x73,0x65,0x7B,0x0D
+,0x0A,0x09,0x09,0x2F,0x2F,0x54,0x69,0x65,0x20,0x74,0x6F,0x20,0x61,0x6E,0x20,0x65
+,0x78,0x69,0x73,0x74,0x69,0x6E,0x67,0x20,0x6F,0x62,0x6A,0x65,0x63,0x74,0x0D,0x0A
+,0x09,0x09,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x20,0x3D,0x20,0x74
+,0x68,0x69,0x73,0x5F,0x6D,0x62,0x65,0x64,0x3B,0x0D,0x0A,0x09,0x09,0x74,0x68,0x69
+,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x20,0x3D,0x20,0x6D,0x70,0x69,0x6E,0x3B,0x0D,0x0A
+,0x09,0x7D,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x41,0x6E,0x61,0x6C,0x6F,0x67,0x49
+,0x6E,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x72,0x65,0x61,0x64
+,0x20,0x3D,0x20,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x29,0x20,0x7B,0x0D
+,0x0A,0x09,0x72,0x65,0x74,0x75,0x72,0x6E,0x20,0x70,0x61,0x72,0x73,0x65,0x46,0x6C
+,0x6F,0x61,0x74,0x28,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72
+,0x70,0x63,0x28,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22,0x72
+,0x65,0x61,0x64,0x22,0x2C,0x20,0x5B,0x22,0x22,0x5D,0x29,0x29,0x3B,0x0D,0x0A,0x7D
+,0x0D,0x0A,0x0D,0x0A,0x41,0x6E,0x61,0x6C,0x6F,0x67,0x49,0x6E,0x2E,0x70,0x72,0x6F
+,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x72,0x65,0x61,0x64,0x5F,0x75,0x31,0x36,0x20
+,0x3D,0x20,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x29,0x20,0x7B,0x0D,0x0A
+,0x09,0x72,0x65,0x74,0x75,0x72,0x6E,0x20,0x70,0x61,0x72,0x73,0x65,0x49,0x6E,0x74
+,0x28,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72,0x70,0x63,0x28
+,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22,0x72,0x65,0x61,0x64
+,0x5F,0x75,0x31,0x36,0x22,0x2C,0x20,0x5B,0x22,0x22,0x5D,0x29,0x29,0x3B,0x0D,0x0A
+,0x7D,0x0D,0x0A,0x0D,0x0A,0x2F,0x2F,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x20,0x50,0x77,0x6D,0x4F,0x75,0x74,0x20,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x0D,0x0A,0x0D,0x0A,0x66,0x75
+,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x20,0x50,0x77,0x6D,0x4F,0x75,0x74,0x28,0x74,0x68
+,0x69,0x73,0x5F,0x6D,0x62,0x65,0x64,0x2C,0x20,0x6D,0x70,0x69,0x6E,0x29,0x20,0x7B
+,0x0D,0x0A,0x09,0x69,0x66,0x28,0x74,0x79,0x70,0x65,0x6F,0x66,0x20,0x6D,0x70,0x69
+,0x6E,0x20,0x21,0x3D,0x20,0x22,0x73,0x74,0x72,0x69,0x6E,0x67,0x22,0x29,0x7B,0x09
+,0x0D,0x0A,0x09,0x09,0x2F,0x2F,0x63,0x72,0x65,0x61,0x74,0x65,0x20,0x61,0x20,0x6E
+,0x65,0x77,0x20,0x6F,0x62,0x6A,0x65,0x63,0x74,0x0D,0x0A,0x09,0x09,0x74,0x68,0x69
+,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x20,0x3D,0x20,0x74,0x68,0x69,0x73,0x5F,0x6D
+,0x62,0x65,0x64,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x09,0x09,0x74,0x68,0x69,0x73
+,0x2E,0x6E,0x61,0x6D,0x65,0x20,0x3D,0x20,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62
+,0x65,0x64,0x2E,0x72,0x70,0x63,0x28,0x22,0x50,0x77,0x6D,0x4F,0x75,0x74,0x22,0x2C
+,0x20,0x22,0x6E,0x65,0x77,0x22,0x2C,0x20,0x5B,0x6D,0x70,0x69,0x6E,0x2E,0x5F,0x6E
+,0x61,0x6D,0x65,0x2C,0x6D,0x70,0x69,0x6E,0x2E,0x5F,0x6E,0x61,0x6D,0x65,0x5D,0x29
+,0x3B,0x20,0x0D,0x0A,0x09,0x7D,0x65,0x6C,0x73,0x65,0x7B,0x0D,0x0A,0x09,0x09,0x2F
+,0x2F,0x54,0x69,0x65,0x20,0x74,0x6F,0x20,0x61,0x6E,0x20,0x65,0x78,0x69,0x73,0x74
+,0x69,0x6E,0x67,0x20,0x6F,0x62,0x6A,0x65,0x63,0x74,0x0D,0x0A,0x09,0x09,0x74,0x68
+,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x20,0x3D,0x20,0x74,0x68,0x69,0x73,0x5F
+,0x6D,0x62,0x65,0x64,0x3B,0x0D,0x0A,0x09,0x09,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61
+,0x6D,0x65,0x20,0x3D,0x20,0x6D,0x70,0x69,0x6E,0x3B,0x0D,0x0A,0x09,0x7D,0x0D,0x0A
+,0x7D,0x0D,0x0A,0x0D,0x0A,0x50,0x77,0x6D,0x4F,0x75,0x74,0x2E,0x70,0x72,0x6F,0x74
+,0x6F,0x74,0x79,0x70,0x65,0x2E,0x77,0x72,0x69,0x74,0x65,0x20,0x3D,0x20,0x66,0x75
+,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x76,0x61,0x6C,0x75,0x65,0x29,0x20,0x7B,0x0D
+,0x0A,0x09,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72,0x70,0x63
+,0x28,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22,0x77,0x72,0x69
+,0x74,0x65,0x22,0x2C,0x20,0x5B,0x76,0x61,0x6C,0x75,0x65,0x5D,0x29,0x3B,0x0D,0x0A
+,0x7D,0x0D,0x0A,0x0D,0x0A,0x50,0x77,0x6D,0x4F,0x75,0x74,0x2E,0x70,0x72,0x6F,0x74
+,0x6F,0x74,0x79,0x70,0x65,0x2E,0x72,0x65,0x61,0x64,0x20,0x3D,0x20,0x66,0x75,0x6E
+,0x63,0x74,0x69,0x6F,0x6E,0x28,0x29,0x20,0x7B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x72
+,0x65,0x74,0x75,0x72,0x6E,0x20,0x70,0x61,0x72,0x73,0x65,0x46,0x6C,0x6F,0x61,0x74
+,0x28,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72,0x70,0x63,0x28
+,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22,0x72,0x65,0x61,0x64
+,0x22,0x2C,0x20,0x5B,0x22,0x22,0x5D,0x29,0x29,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D
+,0x0A,0x50,0x77,0x6D,0x4F,0x75,0x74,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70
+,0x65,0x2E,0x70,0x65,0x72,0x69,0x6F,0x64,0x20,0x3D,0x20,0x66,0x75,0x6E,0x63,0x74
+,0x69,0x6F,0x6E,0x28,0x76,0x61,0x6C,0x75,0x65,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x74
+,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72,0x70,0x63,0x28,0x74,0x68
+,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22,0x70,0x65,0x72,0x69,0x6F,0x64
+,0x22,0x2C,0x20,0x5B,0x76,0x61,0x6C,0x75,0x65,0x5D,0x29,0x3B,0x0D,0x0A,0x7D,0x0D
+,0x0A,0x0D,0x0A,0x50,0x77,0x6D,0x4F,0x75,0x74,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74
+,0x79,0x70,0x65,0x2E,0x70,0x65,0x72,0x69,0x6F,0x64,0x5F,0x6D,0x73,0x20,0x3D,0x20
+,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x76,0x61,0x6C,0x75,0x65,0x29,0x20
+,0x7B,0x0D,0x0A,0x09,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72
+,0x70,0x63,0x28,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22,0x70
+,0x65,0x72,0x69,0x6F,0x64,0x5F,0x6D,0x73,0x22,0x2C,0x20,0x5B,0x76,0x61,0x6C,0x75
+,0x65,0x5D,0x29,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x50,0x77,0x6D,0x4F,0x75
+,0x74,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x70,0x65,0x72,0x69
+,0x6F,0x64,0x5F,0x75,0x73,0x20,0x3D,0x20,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E
+,0x28,0x76,0x61,0x6C,0x75,0x65,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x74,0x68,0x69,0x73
+,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72,0x70,0x63,0x28,0x74,0x68,0x69,0x73,0x2E
+,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22,0x70,0x65,0x72,0x69,0x6F,0x64,0x5F,0x75,0x73
+,0x22,0x2C,0x20,0x5B,0x76,0x61,0x6C,0x75,0x65,0x5D,0x29,0x3B,0x0D,0x0A,0x7D,0x0D
+,0x0A,0x0D,0x0A,0x50,0x77,0x6D,0x4F,0x75,0x74,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74
+,0x79,0x70,0x65,0x2E,0x70,0x75,0x6C,0x73,0x65,0x77,0x69,0x64,0x74,0x68,0x20,0x3D
+,0x20,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x76,0x61,0x6C,0x75,0x65,0x29
+,0x20,0x7B,0x0D,0x0A,0x09,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E
+,0x72,0x70,0x63,0x28,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22
+,0x70,0x75,0x6C,0x73,0x65,0x77,0x69,0x64,0x74,0x68,0x22,0x2C,0x20,0x5B,0x76,0x61
+,0x6C,0x75,0x65,0x5D,0x29,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x50,0x77,0x6D
+,0x4F,0x75,0x74,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x70,0x75
+,0x6C,0x73,0x65,0x77,0x69,0x64,0x74,0x68,0x5F,0x6D,0x73,0x20,0x3D,0x20,0x66,0x75
+,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x76,0x61,0x6C,0x75,0x65,0x29,0x20,0x7B,0x0D
+,0x0A,0x09,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72,0x70,0x63
+,0x28,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22,0x70,0x75,0x6C
+,0x73,0x65,0x77,0x69,0x64,0x74,0x68,0x5F,0x6D,0x73,0x22,0x2C,0x20,0x5B,0x76,0x61
+,0x6C,0x75,0x65,0x5D,0x29,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x50,0x77,0x6D
+,0x4F,0x75,0x74,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x70,0x75
+,0x6C,0x73,0x65,0x77,0x69,0x64,0x74,0x68,0x5F,0x75,0x73,0x20,0x3D,0x20,0x66,0x75
+,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x76,0x61,0x6C,0x75,0x65,0x29,0x20,0x7B,0x0D
+,0x0A,0x09,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72,0x70,0x63
+,0x28,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22,0x70,0x75,0x6C
+,0x73,0x65,0x77,0x69,0x64,0x74,0x68,0x5F,0x75,0x73,0x22,0x2C,0x20,0x5B,0x76,0x61
+,0x6C,0x75,0x65,0x5D,0x29,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x2F,0x2F,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x20,0x73,0x65,0x72,0x69,0x61
+,0x6C,0x20,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x0D,0x0A,0x0D,0x0A,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x20,0x53
+,0x65,0x72,0x69,0x61,0x6C,0x28,0x74,0x68,0x69,0x73,0x5F,0x6D,0x62,0x65,0x64,0x2C
+,0x20,0x74,0x78,0x2C,0x20,0x72,0x78,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x69,0x66,0x28
+,0x74,0x79,0x70,0x65,0x6F,0x66,0x20,0x74,0x78,0x20,0x21,0x3D,0x20,0x22,0x73,0x74
+,0x72,0x69,0x6E,0x67,0x22,0x29,0x7B,0x09,0x0D,0x0A,0x09,0x09,0x2F,0x2F,0x63,0x72
+,0x65,0x61,0x74,0x65,0x20,0x61,0x20,0x6E,0x65,0x77,0x20,0x6F,0x62,0x6A,0x65,0x63
+,0x74,0x0D,0x0A,0x09,0x09,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x20
+,0x3D,0x20,0x74,0x68,0x69,0x73,0x5F,0x6D,0x62,0x65,0x64,0x3B,0x0D,0x0A,0x20,0x20
+,0x20,0x20,0x09,0x09,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x20,0x3D,0x20
+,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72,0x70,0x63,0x28,0x22
+,0x53,0x65,0x72,0x69,0x61,0x6C,0x22,0x2C,0x20,0x22,0x6E,0x65,0x77,0x22,0x2C,0x20
+,0x5B,0x74,0x78,0x2E,0x5F,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x72,0x78,0x2E,0x5F,0x6E
+,0x61,0x6D,0x65,0x5D,0x29,0x3B,0x20,0x0D,0x0A,0x09,0x7D,0x65,0x6C,0x73,0x65,0x7B
+,0x0D,0x0A,0x09,0x09,0x2F,0x2F,0x54,0x69,0x65,0x20,0x74,0x6F,0x20,0x61,0x6E,0x20
+,0x65,0x78,0x69,0x73,0x74,0x69,0x6E,0x67,0x20,0x6F,0x62,0x6A,0x65,0x63,0x74,0x0D
+,0x0A,0x09,0x09,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x20,0x3D,0x20
+,0x74,0x68,0x69,0x73,0x5F,0x6D,0x62,0x65,0x64,0x3B,0x0D,0x0A,0x09,0x09,0x74,0x68
+,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x20,0x3D,0x20,0x74,0x78,0x3B,0x0D,0x0A,0x09
+,0x7D,0x0D,0x0A,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x53,0x65,0x72,0x69,0x61,0x6C
+,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x70,0x75,0x74,0x63,0x20
+,0x3D,0x20,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x76,0x61,0x6C,0x75,0x65
+,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64
+,0x2E,0x72,0x70,0x63,0x28,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20
+,0x22,0x70,0x75,0x74,0x63,0x22,0x2C,0x20,0x5B,0x76,0x61,0x6C,0x75,0x65,0x5D,0x29
+,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x53,0x65,0x72,0x69,0x61,0x6C,0x2E,0x70
+,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x67,0x65,0x74,0x63,0x20,0x3D,0x20
+,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x76,0x61,0x6C,0x75,0x65,0x29,0x20
+,0x7B,0x0D,0x0A,0x09,0x72,0x65,0x74,0x75,0x72,0x6E,0x20,0x70,0x61,0x72,0x73,0x65
+,0x49,0x6E,0x74,0x28,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72
+,0x70,0x63,0x28,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22,0x67
+,0x65,0x74,0x63,0x22,0x2C,0x20,0x5B,0x22,0x22,0x5D,0x29,0x29,0x3B,0x0D,0x0A,0x7D
+,0x0D,0x0A,0x0D,0x0A,0x53,0x65,0x72,0x69,0x61,0x6C,0x2E,0x70,0x72,0x6F,0x74,0x6F
+,0x74,0x79,0x70,0x65,0x2E,0x72,0x65,0x61,0x64,0x61,0x62,0x6C,0x65,0x20,0x3D,0x20
+,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x76,0x61,0x6C,0x75,0x65,0x29,0x20
+,0x7B,0x0D,0x0A,0x09,0x72,0x65,0x74,0x75,0x72,0x6E,0x20,0x70,0x61,0x72,0x73,0x65
+,0x49,0x6E,0x74,0x28,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72
+,0x70,0x63,0x28,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22,0x72
+,0x65,0x61,0x64,0x61,0x62,0x6C,0x65,0x22,0x2C,0x20,0x5B,0x22,0x22,0x5D,0x29,0x29
+,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x53,0x65,0x72,0x69,0x61,0x6C,0x2E,0x70
+,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x77,0x72,0x69,0x74,0x65,0x61,0x62
+,0x6C,0x65,0x20,0x3D,0x20,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x76,0x61
+,0x6C,0x75,0x65,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x72,0x65,0x74,0x75,0x72,0x6E,0x20
+,0x70,0x61,0x72,0x73,0x65,0x49,0x6E,0x74,0x28,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D
+,0x62,0x65,0x64,0x2E,0x72,0x70,0x63,0x28,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D
+,0x65,0x2C,0x20,0x22,0x77,0x72,0x69,0x74,0x65,0x61,0x62,0x6C,0x65,0x22,0x2C,0x20
+,0x5B,0x22,0x22,0x5D,0x29,0x29,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x0D,0x0A
+,0x2F,0x2F,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x20,0x52,0x50
+,0x43,0x56,0x61,0x72,0x69,0x61,0x62,0x6C,0x65,0x20,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x0D,0x0A,0x0D,0x0A,0x66,0x75
+,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x20,0x52,0x50,0x43,0x56,0x61,0x72,0x69,0x61,0x62
+,0x6C,0x65,0x28,0x74,0x68,0x69,0x73,0x5F,0x6D,0x62,0x65,0x64,0x2C,0x20,0x6E,0x61
+,0x6D,0x65,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62
+,0x65,0x64,0x20,0x3D,0x20,0x74,0x68,0x69,0x73,0x5F,0x6D,0x62,0x65,0x64,0x3B,0x0D
+,0x0A,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61
+,0x6D,0x65,0x20,0x3D,0x20,0x6E,0x61,0x6D,0x65,0x3B,0x20,0x0D,0x0A,0x7D,0x0D,0x0A
+,0x0D,0x0A,0x52,0x50,0x43,0x56,0x61,0x72,0x69,0x61,0x62,0x6C,0x65,0x2E,0x70,0x72
+,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x77,0x72,0x69,0x74,0x65,0x20,0x3D,0x20
+,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x76,0x61,0x6C,0x75,0x65,0x29,0x20
+,0x7B,0x0D,0x0A,0x09,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72
+,0x70,0x63,0x28,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22,0x77
+,0x72,0x69,0x74,0x65,0x22,0x2C,0x20,0x5B,0x76,0x61,0x6C,0x75,0x65,0x5D,0x29,0x3B
+,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x52,0x50,0x43,0x56,0x61,0x72,0x69,0x61,0x62
+,0x6C,0x65,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x72,0x65,0x61
+,0x64,0x5F,0x69,0x6E,0x74,0x20,0x3D,0x20,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E
+,0x28,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x72,0x65,0x74,0x75,0x72,0x6E,0x20,0x70,0x61
+,0x72,0x73,0x65,0x49,0x6E,0x74,0x28,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65
+,0x64,0x2E,0x72,0x70,0x63,0x28,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C
+,0x20,0x22,0x72,0x65,0x61,0x64,0x22,0x2C,0x20,0x5B,0x22,0x22,0x5D,0x29,0x29,0x3B
+,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x52,0x50,0x43,0x56,0x61,0x72,0x69,0x61,0x62
+,0x6C,0x65,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x72,0x65,0x61
+,0x64,0x5F,0x66,0x6C,0x6F,0x61,0x74,0x20,0x3D,0x20,0x66,0x75,0x6E,0x63,0x74,0x69
+,0x6F,0x6E,0x28,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x72,0x65,0x74,0x75,0x72,0x6E,0x20
+,0x70,0x61,0x72,0x73,0x65,0x46,0x6C,0x6F,0x61,0x74,0x28,0x74,0x68,0x69,0x73,0x2E
+,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72,0x70,0x63,0x28,0x74,0x68,0x69,0x73,0x2E,0x6E
+,0x61,0x6D,0x65,0x2C,0x20,0x22,0x72,0x65,0x61,0x64,0x22,0x2C,0x20,0x5B,0x22,0x22
+,0x5D,0x29,0x29,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x52,0x50,0x43,0x56,0x61
+,0x72,0x69,0x61,0x62,0x6C,0x65,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65
+,0x2E,0x72,0x65,0x61,0x64,0x20,0x3D,0x20,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E
+,0x28,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x72,0x65,0x74,0x75,0x72,0x6E,0x20,0x28,0x74
+,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72,0x70,0x63,0x28,0x74,0x68
+,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22,0x72,0x65,0x61,0x64,0x22,0x2C
+,0x20,0x5B,0x22,0x22,0x5D,0x29,0x29,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x2F
+,0x2F,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x20,0x52,0x50,0x43
+,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x20,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x0D,0x0A,0x0D,0x0A,0x66,0x75,0x6E
+,0x63,0x74,0x69,0x6F,0x6E,0x20,0x52,0x50,0x43,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F
+,0x6E,0x28,0x74,0x68,0x69,0x73,0x5F,0x6D,0x62,0x65,0x64,0x2C,0x20,0x6E,0x61,0x6D
+,0x65,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65
+,0x64,0x20,0x3D,0x20,0x74,0x68,0x69,0x73,0x5F,0x6D,0x62,0x65,0x64,0x3B,0x0D,0x0A
+,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D
+,0x65,0x20,0x3D,0x20,0x6E,0x61,0x6D,0x65,0x3B,0x20,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D
+,0x0A,0x52,0x50,0x43,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x2E,0x70,0x72,0x6F
+,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x72,0x75,0x6E,0x20,0x3D,0x20,0x66,0x75,0x6E
+,0x63,0x74,0x69,0x6F,0x6E,0x28,0x76,0x61,0x6C,0x75,0x65,0x29,0x20,0x7B,0x0D,0x0A
+,0x09,0x72,0x65,0x74,0x75,0x72,0x6E,0x20,0x28,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D
+,0x62,0x65,0x64,0x2E,0x72,0x70,0x63,0x28,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D
+,0x65,0x2C,0x20,0x22,0x72,0x75,0x6E,0x22,0x2C,0x20,0x5B,0x76,0x61,0x6C,0x75,0x65
+,0x5D,0x29,0x29,0x3B,0x0D,0x0A,0x7D
+};
+
+static const char led_htm_tbl[] = {
+ 0x3C,0x68,0x74,0x6D,0x6C,0x3E,0x0D,0x0A,0x3C,0x68,0x65,0x61,0x64,0x3E,0x0D,0x0A
+,0x3C,0x6D,0x65,0x74,0x61,0x20,0x68,0x74,0x74,0x70,0x2D,0x65,0x71,0x75,0x69,0x76
+,0x3D,0x22,0x43,0x6F,0x6E,0x74,0x65,0x6E,0x74,0x2D,0x54,0x79,0x70,0x65,0x22,0x20
+,0x63,0x6F,0x6E,0x74,0x65,0x6E,0x74,0x3D,0x22,0x74,0x65,0x78,0x74,0x2F,0x68,0x74
+,0x6D,0x6C,0x3B,0x20,0x63,0x68,0x61,0x72,0x73,0x65,0x74,0x3D,0x22,0x20,0x75,0x74
+,0x66,0x2D,0x38,0x22,0x3E,0x20,0x0D,0x0A,0x3C,0x74,0x69,0x74,0x6C,0x65,0x3E,0x4C
+,0x45,0x44,0x20,0x54,0x6F,0x67,0x67,0x6C,0x65,0x3C,0x2F,0x74,0x69,0x74,0x6C,0x65
+,0x3E,0x0D,0x0A,0x3C,0x73,0x63,0x72,0x69,0x70,0x74,0x20,0x74,0x79,0x70,0x65,0x3D
+,0x22,0x74,0x65,0x78,0x74,0x2F,0x6A,0x61,0x76,0x61,0x73,0x63,0x72,0x69,0x70,0x74
+,0x22,0x20,0x73,0x72,0x63,0x3D,0x22,0x6D,0x62,0x65,0x64,0x52,0x50,0x43,0x2E,0x6A
+,0x73,0x22,0x20,0x6C,0x61,0x6E,0x67,0x75,0x61,0x67,0x65,0x3D,0x22,0x6A,0x61,0x76
+,0x61,0x73,0x63,0x72,0x69,0x70,0x74,0x22,0x20,0x63,0x68,0x61,0x72,0x73,0x65,0x74
+,0x3D,0x22,0x75,0x74,0x66,0x2D,0x38,0x22,0x3E,0x3C,0x2F,0x73,0x63,0x72,0x69,0x70
+,0x74,0x3E,0x0D,0x0A,0x3C,0x73,0x63,0x72,0x69,0x70,0x74,0x20,0x74,0x79,0x70,0x65
+,0x3D,0x22,0x74,0x65,0x78,0x74,0x2F,0x6A,0x61,0x76,0x61,0x73,0x63,0x72,0x69,0x70
+,0x74,0x22,0x3E,0x6D,0x62,0x65,0x64,0x3D,0x6E,0x65,0x77,0x20,0x48,0x54,0x54,0x50
+,0x52,0x50,0x43,0x28,0x29,0x3B,0x6C,0x65,0x64,0x31,0x3D,0x6E,0x65,0x77,0x20,0x44
+,0x69,0x67,0x69,0x74,0x61,0x6C,0x4F,0x75,0x74,0x28,0x6D,0x62,0x65,0x64,0x2C,0x4C
+,0x45,0x44,0x31,0x29,0x3B,0x6C,0x65,0x64,0x32,0x3D,0x6E,0x65,0x77,0x20,0x44,0x69
+,0x67,0x69,0x74,0x61,0x6C,0x4F,0x75,0x74,0x28,0x6D,0x62,0x65,0x64,0x2C,0x4C,0x45
+,0x44,0x32,0x29,0x3B,0x6C,0x65,0x64,0x33,0x3D,0x6E,0x65,0x77,0x20,0x44,0x69,0x67
+,0x69,0x74,0x61,0x6C,0x4F,0x75,0x74,0x28,0x6D,0x62,0x65,0x64,0x2C,0x4C,0x45,0x44
+,0x33,0x29,0x3B,0x6C,0x65,0x64,0x34,0x3D,0x6E,0x65,0x77,0x20,0x44,0x69,0x67,0x69
+,0x74,0x61,0x6C,0x4F,0x75,0x74,0x28,0x6D,0x62,0x65,0x64,0x2C,0x4C,0x45,0x44,0x34
+,0x29,0x3B,0x3C,0x2F,0x73,0x63,0x72,0x69,0x70,0x74,0x3E,0x0D,0x0A,0x3C,0x73,0x63
+,0x72,0x69,0x70,0x74,0x20,0x74,0x79,0x70,0x65,0x3D,0x22,0x74,0x65,0x78,0x74,0x2F
+,0x6A,0x61,0x76,0x61,0x73,0x63,0x72,0x69,0x70,0x74,0x22,0x3E,0x66,0x75,0x6E,0x63
+,0x74,0x69,0x6F,0x6E,0x20,0x6C,0x65,0x64,0x31,0x5F,0x74,0x6F,0x67,0x67,0x6C,0x65
+,0x28,0x29,0x7B,0x76,0x61,0x72,0x20,0x72,0x64,0x31,0x3D,0x6C,0x65,0x64,0x31,0x2E
+,0x72,0x65,0x61,0x64,0x28,0x29,0x3B,0x69,0x66,0x28,0x72,0x64,0x31,0x3D,0x3D,0x31
+,0x29,0x7B,0x6C,0x65,0x64,0x31,0x2E,0x77,0x72,0x69,0x74,0x65,0x28,0x30,0x29,0x3B
+,0x62,0x74,0x6E,0x5F,0x4C,0x45,0x44,0x31,0x2E,0x76,0x61,0x6C,0x75,0x65,0x3D,0x27
+,0x4C,0x45,0x44,0x31,0x20,0x4F,0x66,0x66,0x27,0x3B,0x64,0x6F,0x63,0x75,0x6D,0x65
+,0x6E,0x74,0x2E,0x67,0x65,0x74,0x45,0x6C,0x65,0x6D,0x65,0x6E,0x74,0x42,0x79,0x49
+,0x64,0x28,0x22,0x62,0x74,0x6E,0x5F,0x4C,0x45,0x44,0x31,0x22,0x29,0x2E,0x73,0x74
+,0x79,0x6C,0x65,0x2E,0x62,0x61,0x63,0x6B,0x67,0x72,0x6F,0x75,0x6E,0x64,0x43,0x6F
+,0x6C,0x6F,0x72,0x3D,0x27,0x23,0x63,0x30,0x63,0x30,0x63,0x30,0x27,0x3B,0x64,0x6F
+,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x67,0x65,0x74,0x45,0x6C,0x65,0x6D,0x65,0x6E
+,0x74,0x42,0x79,0x49,0x64,0x28,0x22,0x62,0x74,0x6E,0x5F,0x4C,0x45,0x44,0x31,0x22
+,0x29,0x2E,0x73,0x74,0x79,0x6C,0x65,0x2E,0x63,0x6F,0x6C,0x6F,0x72,0x3D,0x27,0x23
+,0x30,0x30,0x30,0x30,0x30,0x30,0x27,0x3B,0x7D,0x65,0x6C,0x73,0x65,0x7B,0x6C,0x65
+,0x64,0x31,0x2E,0x77,0x72,0x69,0x74,0x65,0x28,0x31,0x29,0x3B,0x62,0x74,0x6E,0x5F
+,0x4C,0x45,0x44,0x31,0x2E,0x76,0x61,0x6C,0x75,0x65,0x3D,0x27,0x4C,0x45,0x44,0x31
+,0x20,0x4F,0x6E,0x27,0x3B,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x67,0x65
+,0x74,0x45,0x6C,0x65,0x6D,0x65,0x6E,0x74,0x42,0x79,0x49,0x64,0x28,0x22,0x62,0x74
+,0x6E,0x5F,0x4C,0x45,0x44,0x31,0x22,0x29,0x2E,0x73,0x74,0x79,0x6C,0x65,0x2E,0x62
+,0x61,0x63,0x6B,0x67,0x72,0x6F,0x75,0x6E,0x64,0x43,0x6F,0x6C,0x6F,0x72,0x3D,0x27
+,0x23,0x30,0x30,0x38,0x30,0x30,0x30,0x27,0x3B,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E
+,0x74,0x2E,0x67,0x65,0x74,0x45,0x6C,0x65,0x6D,0x65,0x6E,0x74,0x42,0x79,0x49,0x64
+,0x28,0x22,0x62,0x74,0x6E,0x5F,0x4C,0x45,0x44,0x31,0x22,0x29,0x2E,0x73,0x74,0x79
+,0x6C,0x65,0x2E,0x63,0x6F,0x6C,0x6F,0x72,0x3D,0x27,0x23,0x66,0x66,0x66,0x66,0x66
+,0x66,0x27,0x3B,0x7D,0x7D,0x0D,0x0A,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x20
+,0x6C,0x65,0x64,0x32,0x5F,0x74,0x6F,0x67,0x67,0x6C,0x65,0x28,0x29,0x7B,0x76,0x61
+,0x72,0x20,0x72,0x64,0x32,0x3D,0x6C,0x65,0x64,0x32,0x2E,0x72,0x65,0x61,0x64,0x28
+,0x29,0x3B,0x69,0x66,0x28,0x72,0x64,0x32,0x3D,0x3D,0x31,0x29,0x7B,0x6C,0x65,0x64
+,0x32,0x2E,0x77,0x72,0x69,0x74,0x65,0x28,0x30,0x29,0x3B,0x62,0x74,0x6E,0x5F,0x4C
+,0x45,0x44,0x32,0x2E,0x76,0x61,0x6C,0x75,0x65,0x3D,0x27,0x4C,0x45,0x44,0x32,0x20
+,0x4F,0x66,0x66,0x27,0x3B,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x67,0x65
+,0x74,0x45,0x6C,0x65,0x6D,0x65,0x6E,0x74,0x42,0x79,0x49,0x64,0x28,0x22,0x62,0x74
+,0x6E,0x5F,0x4C,0x45,0x44,0x32,0x22,0x29,0x2E,0x73,0x74,0x79,0x6C,0x65,0x2E,0x62
+,0x61,0x63,0x6B,0x67,0x72,0x6F,0x75,0x6E,0x64,0x43,0x6F,0x6C,0x6F,0x72,0x3D,0x27
+,0x23,0x63,0x30,0x63,0x30,0x63,0x30,0x27,0x3B,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E
+,0x74,0x2E,0x67,0x65,0x74,0x45,0x6C,0x65,0x6D,0x65,0x6E,0x74,0x42,0x79,0x49,0x64
+,0x28,0x22,0x62,0x74,0x6E,0x5F,0x4C,0x45,0x44,0x32,0x22,0x29,0x2E,0x73,0x74,0x79
+,0x6C,0x65,0x2E,0x63,0x6F,0x6C,0x6F,0x72,0x3D,0x27,0x23,0x30,0x30,0x30,0x30,0x30
+,0x30,0x27,0x3B,0x7D,0x65,0x6C,0x73,0x65,0x7B,0x6C,0x65,0x64,0x32,0x2E,0x77,0x72
+,0x69,0x74,0x65,0x28,0x31,0x29,0x3B,0x62,0x74,0x6E,0x5F,0x4C,0x45,0x44,0x32,0x2E
+,0x76,0x61,0x6C,0x75,0x65,0x3D,0x27,0x4C,0x45,0x44,0x32,0x20,0x4F,0x6E,0x27,0x3B
+,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x67,0x65,0x74,0x45,0x6C,0x65,0x6D
+,0x65,0x6E,0x74,0x42,0x79,0x49,0x64,0x28,0x22,0x62,0x74,0x6E,0x5F,0x4C,0x45,0x44
+,0x32,0x22,0x29,0x2E,0x73,0x74,0x79,0x6C,0x65,0x2E,0x62,0x61,0x63,0x6B,0x67,0x72
+,0x6F,0x75,0x6E,0x64,0x43,0x6F,0x6C,0x6F,0x72,0x3D,0x27,0x23,0x66,0x66,0x66,0x66
+,0x30,0x30,0x27,0x3B,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x67,0x65,0x74
+,0x45,0x6C,0x65,0x6D,0x65,0x6E,0x74,0x42,0x79,0x49,0x64,0x28,0x22,0x62,0x74,0x6E
+,0x5F,0x4C,0x45,0x44,0x32,0x22,0x29,0x2E,0x73,0x74,0x79,0x6C,0x65,0x2E,0x63,0x6F
+,0x6C,0x6F,0x72,0x3D,0x27,0x23,0x66,0x66,0x66,0x66,0x66,0x66,0x27,0x3B,0x7D,0x7D
+,0x0D,0x0A,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x20,0x6C,0x65,0x64,0x33,0x5F
+,0x74,0x6F,0x67,0x67,0x6C,0x65,0x28,0x29,0x7B,0x76,0x61,0x72,0x20,0x72,0x64,0x33
+,0x3D,0x6C,0x65,0x64,0x33,0x2E,0x72,0x65,0x61,0x64,0x28,0x29,0x3B,0x69,0x66,0x28
+,0x72,0x64,0x33,0x3D,0x3D,0x31,0x29,0x7B,0x6C,0x65,0x64,0x33,0x2E,0x77,0x72,0x69
+,0x74,0x65,0x28,0x30,0x29,0x3B,0x62,0x74,0x6E,0x5F,0x4C,0x45,0x44,0x33,0x2E,0x76
+,0x61,0x6C,0x75,0x65,0x3D,0x27,0x4C,0x45,0x44,0x33,0x20,0x4F,0x66,0x66,0x27,0x3B
+,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x67,0x65,0x74,0x45,0x6C,0x65,0x6D
+,0x65,0x6E,0x74,0x42,0x79,0x49,0x64,0x28,0x22,0x62,0x74,0x6E,0x5F,0x4C,0x45,0x44
+,0x33,0x22,0x29,0x2E,0x73,0x74,0x79,0x6C,0x65,0x2E,0x62,0x61,0x63,0x6B,0x67,0x72
+,0x6F,0x75,0x6E,0x64,0x43,0x6F,0x6C,0x6F,0x72,0x3D,0x27,0x23,0x63,0x30,0x63,0x30
+,0x63,0x30,0x27,0x3B,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x67,0x65,0x74
+,0x45,0x6C,0x65,0x6D,0x65,0x6E,0x74,0x42,0x79,0x49,0x64,0x28,0x22,0x62,0x74,0x6E
+,0x5F,0x4C,0x45,0x44,0x33,0x22,0x29,0x2E,0x73,0x74,0x79,0x6C,0x65,0x2E,0x63,0x6F
+,0x6C,0x6F,0x72,0x3D,0x27,0x23,0x30,0x30,0x30,0x30,0x30,0x30,0x27,0x3B,0x7D,0x65
+,0x6C,0x73,0x65,0x7B,0x6C,0x65,0x64,0x33,0x2E,0x77,0x72,0x69,0x74,0x65,0x28,0x31
+,0x29,0x3B,0x62,0x74,0x6E,0x5F,0x4C,0x45,0x44,0x33,0x2E,0x76,0x61,0x6C,0x75,0x65
+,0x3D,0x27,0x4C,0x45,0x44,0x33,0x20,0x4F,0x6E,0x27,0x3B,0x64,0x6F,0x63,0x75,0x6D
+,0x65,0x6E,0x74,0x2E,0x67,0x65,0x74,0x45,0x6C,0x65,0x6D,0x65,0x6E,0x74,0x42,0x79
+,0x49,0x64,0x28,0x22,0x62,0x74,0x6E,0x5F,0x4C,0x45,0x44,0x33,0x22,0x29,0x2E,0x73
+,0x74,0x79,0x6C,0x65,0x2E,0x62,0x61,0x63,0x6B,0x67,0x72,0x6F,0x75,0x6E,0x64,0x43
+,0x6F,0x6C,0x6F,0x72,0x3D,0x27,0x23,0x66,0x66,0x36,0x36,0x30,0x30,0x27,0x3B,0x64
+,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x67,0x65,0x74,0x45,0x6C,0x65,0x6D,0x65
+,0x6E,0x74,0x42,0x79,0x49,0x64,0x28,0x22,0x62,0x74,0x6E,0x5F,0x4C,0x45,0x44,0x33
+,0x22,0x29,0x2E,0x73,0x74,0x79,0x6C,0x65,0x2E,0x63,0x6F,0x6C,0x6F,0x72,0x3D,0x27
+,0x23,0x66,0x66,0x66,0x66,0x66,0x66,0x27,0x3B,0x7D,0x7D,0x0D,0x0A,0x66,0x75,0x6E
+,0x63,0x74,0x69,0x6F,0x6E,0x20,0x6C,0x65,0x64,0x34,0x5F,0x74,0x6F,0x67,0x67,0x6C
+,0x65,0x28,0x29,0x7B,0x76,0x61,0x72,0x20,0x72,0x64,0x34,0x3D,0x6C,0x65,0x64,0x34
+,0x2E,0x72,0x65,0x61,0x64,0x28,0x29,0x3B,0x69,0x66,0x28,0x72,0x64,0x34,0x3D,0x3D
+,0x31,0x29,0x7B,0x6C,0x65,0x64,0x34,0x2E,0x77,0x72,0x69,0x74,0x65,0x28,0x30,0x29
+,0x3B,0x62,0x74,0x6E,0x5F,0x4C,0x45,0x44,0x34,0x2E,0x76,0x61,0x6C,0x75,0x65,0x3D
+,0x27,0x4C,0x45,0x44,0x34,0x20,0x4F,0x66,0x66,0x27,0x3B,0x64,0x6F,0x63,0x75,0x6D
+,0x65,0x6E,0x74,0x2E,0x67,0x65,0x74,0x45,0x6C,0x65,0x6D,0x65,0x6E,0x74,0x42,0x79
+,0x49,0x64,0x28,0x22,0x62,0x74,0x6E,0x5F,0x4C,0x45,0x44,0x34,0x22,0x29,0x2E,0x73
+,0x74,0x79,0x6C,0x65,0x2E,0x62,0x61,0x63,0x6B,0x67,0x72,0x6F,0x75,0x6E,0x64,0x43
+,0x6F,0x6C,0x6F,0x72,0x3D,0x27,0x23,0x63,0x30,0x63,0x30,0x63,0x30,0x27,0x3B,0x64
+,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x67,0x65,0x74,0x45,0x6C,0x65,0x6D,0x65
+,0x6E,0x74,0x42,0x79,0x49,0x64,0x28,0x22,0x62,0x74,0x6E,0x5F,0x4C,0x45,0x44,0x34
+,0x22,0x29,0x2E,0x73,0x74,0x79,0x6C,0x65,0x2E,0x63,0x6F,0x6C,0x6F,0x72,0x3D,0x27
+,0x23,0x30,0x30,0x30,0x30,0x30,0x30,0x27,0x3B,0x7D,0x65,0x6C,0x73,0x65,0x7B,0x6C
+,0x65,0x64,0x34,0x2E,0x77,0x72,0x69,0x74,0x65,0x28,0x31,0x29,0x3B,0x62,0x74,0x6E
+,0x5F,0x4C,0x45,0x44,0x34,0x2E,0x76,0x61,0x6C,0x75,0x65,0x3D,0x27,0x4C,0x45,0x44
+,0x34,0x20,0x4F,0x6E,0x27,0x3B,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x67
+,0x65,0x74,0x45,0x6C,0x65,0x6D,0x65,0x6E,0x74,0x42,0x79,0x49,0x64,0x28,0x22,0x62
+,0x74,0x6E,0x5F,0x4C,0x45,0x44,0x34,0x22,0x29,0x2E,0x73,0x74,0x79,0x6C,0x65,0x2E
+,0x62,0x61,0x63,0x6B,0x67,0x72,0x6F,0x75,0x6E,0x64,0x43,0x6F,0x6C,0x6F,0x72,0x3D
+,0x27,0x23,0x66,0x66,0x30,0x30,0x30,0x30,0x27,0x3B,0x64,0x6F,0x63,0x75,0x6D,0x65
+,0x6E,0x74,0x2E,0x67,0x65,0x74,0x45,0x6C,0x65,0x6D,0x65,0x6E,0x74,0x42,0x79,0x49
+,0x64,0x28,0x22,0x62,0x74,0x6E,0x5F,0x4C,0x45,0x44,0x34,0x22,0x29,0x2E,0x73,0x74
+,0x79,0x6C,0x65,0x2E,0x63,0x6F,0x6C,0x6F,0x72,0x3D,0x27,0x23,0x66,0x66,0x66,0x66
+,0x66,0x66,0x27,0x3B,0x7D,0x7D,0x3C,0x2F,0x73,0x63,0x72,0x69,0x70,0x74,0x3E,0x0D
+,0x0A,0x0D,0x0A,0x3C,0x2F,0x68,0x65,0x61,0x64,0x3E,0x0D,0x0A,0x3C,0x62,0x6F,0x64
+,0x79,0x3E,0x0D,0x0A,0x3C,0x70,0x3E,0x3C,0x66,0x6F,0x6E,0x74,0x20,0x73,0x69,0x7A
+,0x65,0x3D,0x22,0x38,0x22,0x3E,0x3C,0x73,0x70,0x61,0x6E,0x20,0x73,0x74,0x79,0x6C
+,0x65,0x3D,0x22,0x63,0x6F,0x6C,0x6F,0x72,0x3A,0x23,0x30,0x30,0x30,0x30,0x38,0x30
+,0x22,0x3E,0x3C,0x62,0x3E,0x4C,0x45,0x44,0x20,0x54,0x6F,0x67,0x67,0x6C,0x65,0x20
+,0x53,0x77,0x69,0x74,0x63,0x68,0x3C,0x2F,0x62,0x3E,0x3C,0x2F,0x73,0x70,0x61,0x6E
+,0x3E,0x3C,0x2F,0x66,0x6F,0x6E,0x74,0x3E,0x3C,0x62,0x72,0x3E,0x3C,0x62,0x72,0x3E
+,0x0D,0x0A,0x3C,0x69,0x6E,0x70,0x75,0x74,0x20,0x74,0x79,0x70,0x65,0x3D,0x22,0x62
+,0x75,0x74,0x74,0x6F,0x6E,0x22,0x20,0x49,0x44,0x3D,0x22,0x62,0x74,0x6E,0x5F,0x4C
+,0x45,0x44,0x31,0x22,0x20,0x73,0x74,0x79,0x6C,0x65,0x3D,0x22,0x46,0x4F,0x4E,0x54
+,0x2D,0x46,0x41,0x4D,0x49,0x4C,0x59,0x3A,0x54,0x61,0x68,0x6F,0x6D,0x61,0x3B,0x46
+,0x4F,0x4E,0x54,0x2D,0x53,0x49,0x5A,0x45,0x3A,0x39,0x70,0x74,0x3B,0x63,0x6F,0x6C
+,0x6F,0x72,0x3A,0x23,0x30,0x30,0x30,0x30,0x30,0x30,0x3B,0x62,0x61,0x63,0x6B,0x67
+,0x72,0x6F,0x75,0x6E,0x64,0x2D,0x63,0x6F,0x6C,0x6F,0x72,0x3A,0x23,0x63,0x30,0x63
+,0x30,0x63,0x30,0x3B,0x57,0x49,0x44,0x54,0x48,0x3A,0x20,0x37,0x30,0x70,0x78,0x3B
+,0x20,0x48,0x45,0x49,0x47,0x48,0x54,0x3A,0x20,0x34,0x30,0x70,0x78,0x22,0x20,0x6F
+,0x6E,0x43,0x6C,0x69,0x63,0x6B,0x3D,0x22,0x6C,0x65,0x64,0x31,0x5F,0x74,0x6F,0x67
+,0x67,0x6C,0x65,0x28,0x29,0x22,0x20,0x76,0x61,0x6C,0x75,0x65,0x3D,0x22,0x4C,0x45
+,0x44,0x31,0x20,0x4F,0x66,0x66,0x22,0x3E,0x20,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x3C
+,0x62,0x72,0x3E,0x0D,0x0A,0x3C,0x69,0x6E,0x70,0x75,0x74,0x20,0x74,0x79,0x70,0x65
+,0x3D,0x22,0x62,0x75,0x74,0x74,0x6F,0x6E,0x22,0x20,0x49,0x44,0x3D,0x22,0x62,0x74
+,0x6E,0x5F,0x4C,0x45,0x44,0x32,0x22,0x20,0x73,0x74,0x79,0x6C,0x65,0x3D,0x22,0x46
+,0x4F,0x4E,0x54,0x2D,0x46,0x41,0x4D,0x49,0x4C,0x59,0x3A,0x54,0x61,0x68,0x6F,0x6D
+,0x61,0x3B,0x46,0x4F,0x4E,0x54,0x2D,0x53,0x49,0x5A,0x45,0x3A,0x39,0x70,0x74,0x3B
+,0x63,0x6F,0x6C,0x6F,0x72,0x3A,0x23,0x30,0x30,0x30,0x30,0x30,0x30,0x3B,0x62,0x61
+,0x63,0x6B,0x67,0x72,0x6F,0x75,0x6E,0x64,0x2D,0x63,0x6F,0x6C,0x6F,0x72,0x3A,0x23
+,0x63,0x30,0x63,0x30,0x63,0x30,0x3B,0x57,0x49,0x44,0x54,0x48,0x3A,0x20,0x37,0x30
+,0x70,0x78,0x3B,0x20,0x48,0x45,0x49,0x47,0x48,0x54,0x3A,0x20,0x34,0x30,0x70,0x78
+,0x22,0x20,0x6F,0x6E,0x43,0x6C,0x69,0x63,0x6B,0x3D,0x22,0x6C,0x65,0x64,0x32,0x5F
+,0x74,0x6F,0x67,0x67,0x6C,0x65,0x28,0x29,0x22,0x20,0x76,0x61,0x6C,0x75,0x65,0x3D
+,0x22,0x4C,0x45,0x44,0x32,0x20,0x4F,0x66,0x66,0x22,0x3E,0x20,0x3C,0x62,0x72,0x3E
+,0x0D,0x0A,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x3C,0x69,0x6E,0x70,0x75,0x74,0x20,0x74
+,0x79,0x70,0x65,0x3D,0x22,0x62,0x75,0x74,0x74,0x6F,0x6E,0x22,0x20,0x49,0x44,0x3D
+,0x22,0x62,0x74,0x6E,0x5F,0x4C,0x45,0x44,0x33,0x22,0x20,0x73,0x74,0x79,0x6C,0x65
+,0x3D,0x22,0x46,0x4F,0x4E,0x54,0x2D,0x46,0x41,0x4D,0x49,0x4C,0x59,0x3A,0x54,0x61
+,0x68,0x6F,0x6D,0x61,0x3B,0x46,0x4F,0x4E,0x54,0x2D,0x53,0x49,0x5A,0x45,0x3A,0x39
+,0x70,0x74,0x3B,0x63,0x6F,0x6C,0x6F,0x72,0x3A,0x23,0x30,0x30,0x30,0x30,0x30,0x30
+,0x3B,0x62,0x61,0x63,0x6B,0x67,0x72,0x6F,0x75,0x6E,0x64,0x2D,0x63,0x6F,0x6C,0x6F
+,0x72,0x3A,0x23,0x63,0x30,0x63,0x30,0x63,0x30,0x3B,0x57,0x49,0x44,0x54,0x48,0x3A
+,0x20,0x37,0x30,0x70,0x78,0x3B,0x20,0x48,0x45,0x49,0x47,0x48,0x54,0x3A,0x20,0x34
+,0x30,0x70,0x78,0x22,0x20,0x6F,0x6E,0x43,0x6C,0x69,0x63,0x6B,0x3D,0x22,0x6C,0x65
+,0x64,0x33,0x5F,0x74,0x6F,0x67,0x67,0x6C,0x65,0x28,0x29,0x22,0x20,0x76,0x61,0x6C
+,0x75,0x65,0x3D,0x22,0x4C,0x45,0x44,0x33,0x20,0x4F,0x66,0x66,0x22,0x3E,0x20,0x3C
+,0x62,0x72,0x3E,0x0D,0x0A,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x3C,0x69,0x6E,0x70,0x75
+,0x74,0x20,0x74,0x79,0x70,0x65,0x3D,0x22,0x62,0x75,0x74,0x74,0x6F,0x6E,0x22,0x20
+,0x49,0x44,0x3D,0x22,0x62,0x74,0x6E,0x5F,0x4C,0x45,0x44,0x34,0x22,0x20,0x73,0x74
+,0x79,0x6C,0x65,0x3D,0x22,0x46,0x4F,0x4E,0x54,0x2D,0x46,0x41,0x4D,0x49,0x4C,0x59
+,0x3A,0x54,0x61,0x68,0x6F,0x6D,0x61,0x3B,0x46,0x4F,0x4E,0x54,0x2D,0x53,0x49,0x5A
+,0x45,0x3A,0x39,0x70,0x74,0x3B,0x63,0x6F,0x6C,0x6F,0x72,0x3A,0x23,0x30,0x30,0x30
+,0x30,0x30,0x30,0x3B,0x62,0x61,0x63,0x6B,0x67,0x72,0x6F,0x75,0x6E,0x64,0x2D,0x63
+,0x6F,0x6C,0x6F,0x72,0x3A,0x23,0x63,0x30,0x63,0x30,0x63,0x30,0x3B,0x57,0x49,0x44
+,0x54,0x48,0x3A,0x20,0x37,0x30,0x70,0x78,0x3B,0x20,0x48,0x45,0x49,0x47,0x48,0x54
+,0x3A,0x20,0x34,0x30,0x70,0x78,0x22,0x20,0x6F,0x6E,0x43,0x6C,0x69,0x63,0x6B,0x3D
+,0x22,0x6C,0x65,0x64,0x34,0x5F,0x74,0x6F,0x67,0x67,0x6C,0x65,0x28,0x29,0x22,0x20
+,0x76,0x61,0x6C,0x75,0x65,0x3D,0x22,0x4C,0x45,0x44,0x34,0x20,0x4F,0x66,0x66,0x22
+,0x3E,0x20,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x0D,0x0A,0x3C,0x2F,0x62,0x6F,0x64,0x79
+,0x3E,0x0D,0x0A,0x3C,0x2F,0x68,0x74,0x6D,0x6C,0x3E,0x0D,0x0A
+};
+
+static const char i2c_set_htm_tbl[] = {
+ 0x3C,0x68,0x74,0x6D,0x6C,0x3E,0x0D,0x0A,0x3C,0x68,0x65,0x61,0x64,0x3E,0x0D,0x0A
+,0x3C,0x6D,0x65,0x74,0x61,0x20,0x68,0x74,0x74,0x70,0x2D,0x65,0x71,0x75,0x69,0x76
+,0x3D,0x22,0x43,0x6F,0x6E,0x74,0x65,0x6E,0x74,0x2D,0x54,0x79,0x70,0x65,0x22,0x20
+,0x63,0x6F,0x6E,0x74,0x65,0x6E,0x74,0x3D,0x22,0x74,0x65,0x78,0x74,0x2F,0x68,0x74
+,0x6D,0x6C,0x3B,0x20,0x63,0x68,0x61,0x72,0x73,0x65,0x74,0x3D,0x22,0x75,0x74,0x66
+,0x2D,0x38,0x22,0x3E,0x20,0x0D,0x0A,0x3C,0x74,0x69,0x74,0x6C,0x65,0x3E,0x53,0x65
+,0x74,0x74,0x69,0x6E,0x67,0x20,0x62,0x79,0x20,0x49,0x32,0x43,0x3C,0x2F,0x74,0x69
+,0x74,0x6C,0x65,0x3E,0x0D,0x0A,0x3C,0x73,0x63,0x72,0x69,0x70,0x74,0x20,0x74,0x79
+,0x70,0x65,0x3D,0x22,0x74,0x65,0x78,0x74,0x2F,0x6A,0x61,0x76,0x61,0x73,0x63,0x72
+,0x69,0x70,0x74,0x22,0x20,0x73,0x72,0x63,0x3D,0x22,0x6D,0x62,0x65,0x64,0x52,0x50
+,0x43,0x2E,0x6A,0x73,0x22,0x20,0x6C,0x61,0x6E,0x67,0x75,0x61,0x67,0x65,0x3D,0x22
+,0x6A,0x61,0x76,0x61,0x73,0x63,0x72,0x69,0x70,0x74,0x22,0x20,0x63,0x68,0x61,0x72
+,0x73,0x65,0x74,0x3D,0x22,0x75,0x74,0x66,0x2D,0x38,0x22,0x3E,0x3C,0x2F,0x73,0x63
+,0x72,0x69,0x70,0x74,0x3E,0x0D,0x0A,0x3C,0x73,0x63,0x72,0x69,0x70,0x74,0x20,0x74
+,0x79,0x70,0x65,0x3D,0x22,0x74,0x65,0x78,0x74,0x2F,0x6A,0x61,0x76,0x61,0x73,0x63
+,0x72,0x69,0x70,0x74,0x22,0x3E,0x6D,0x62,0x65,0x64,0x3D,0x6E,0x65,0x77,0x20,0x48
+,0x54,0x54,0x50,0x52,0x50,0x43,0x28,0x29,0x3B,0x74,0x65,0x72,0x6D,0x3D,0x6E,0x65
+,0x77,0x20,0x52,0x50,0x43,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x6D,0x62
+,0x65,0x64,0x2C,0x22,0x53,0x65,0x74,0x49,0x32,0x43,0x66,0x72,0x6F,0x6D,0x57,0x65
+,0x62,0x22,0x29,0x3B,0x3C,0x2F,0x73,0x63,0x72,0x69,0x70,0x74,0x3E,0x0D,0x0A,0x3C
+,0x2F,0x68,0x65,0x61,0x64,0x3E,0x0D,0x0A,0x3C,0x62,0x6F,0x64,0x79,0x3E,0x0D,0x0A
+,0x3C,0x70,0x3E,0x3C,0x66,0x6F,0x6E,0x74,0x20,0x73,0x69,0x7A,0x65,0x3D,0x22,0x38
+,0x22,0x3E,0x3C,0x73,0x70,0x61,0x6E,0x20,0x73,0x74,0x79,0x6C,0x65,0x3D,0x22,0x43
+,0x4F,0x4C,0x4F,0x52,0x3A,0x23,0x30,0x30,0x30,0x30,0x38,0x30,0x22,0x3E,0x3C,0x62
+,0x3E,0x44,0x69,0x72,0x65,0x63,0x74,0x20,0x69,0x6E,0x70,0x75,0x74,0x3C,0x2F,0x62
+,0x3E,0x3C,0x2F,0x73,0x70,0x61,0x6E,0x3E,0x3C,0x2F,0x66,0x6F,0x6E,0x74,0x3E,0x3C
+,0x62,0x72,0x3E,0x0D,0x0A,0x3C,0x69,0x6E,0x70,0x75,0x74,0x20,0x74,0x79,0x70,0x65
+,0x3D,0x22,0x74,0x65,0x78,0x74,0x22,0x20,0x69,0x64,0x3D,0x22,0x64,0x69,0x72,0x5F
+,0x69,0x6E,0x22,0x3E,0x3C,0x2F,0x69,0x6E,0x70,0x75,0x74,0x3E,0x3C,0x62,0x75,0x74
+,0x74,0x6F,0x6E,0x20,0x73,0x74,0x79,0x6C,0x65,0x3D,0x22,0x46,0x4F,0x4E,0x54,0x2D
+,0x46,0x41,0x4D,0x49,0x4C,0x59,0x3A,0x54,0x61,0x68,0x6F,0x6D,0x61,0x3B,0x46,0x4F
+,0x4E,0x54,0x2D,0x53,0x49,0x5A,0x45,0x3A,0x39,0x70,0x74,0x22,0x20,0x6F,0x6E,0x63
+,0x6C,0x69,0x63,0x6B,0x3D,0x22,0x73,0x6E,0x64,0x5F,0x64,0x69,0x72,0x5F,0x69,0x6E
+,0x28,0x29,0x22,0x3E,0x53,0x65,0x6E,0x64,0x3C,0x2F,0x62,0x75,0x74,0x74,0x6F,0x6E
+,0x3E,0x20,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x0D,0x0A
+,0x3C,0x70,0x3E,0x3C,0x66,0x6F,0x6E,0x74,0x20,0x73,0x69,0x7A,0x65,0x3D,0x22,0x38
+,0x22,0x3E,0x3C,0x73,0x70,0x61,0x6E,0x20,0x73,0x74,0x79,0x6C,0x65,0x3D,0x22,0x43
+,0x4F,0x4C,0x4F,0x52,0x3A,0x23,0x30,0x30,0x30,0x30,0x38,0x30,0x22,0x3E,0x3C,0x62
+,0x3E,0x46,0x69,0x6C,0x65,0x20,0x72,0x65,0x66,0x65,0x72,0x65,0x6E,0x63,0x65,0x3C
+,0x2F,0x62,0x3E,0x3C,0x2F,0x73,0x70,0x61,0x6E,0x3E,0x3C,0x2F,0x66,0x6F,0x6E,0x74
+,0x3E,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x3C,0x69,0x6E,0x70,0x75,0x74,0x20,0x74,0x79
+,0x70,0x65,0x3D,0x22,0x66,0x69,0x6C,0x65,0x22,0x20,0x69,0x64,0x3D,0x22,0x66,0x69
+,0x6C,0x65,0x5F,0x75,0x70,0x6C,0x6F,0x61,0x64,0x22,0x20,0x73,0x74,0x79,0x6C,0x65
+,0x3D,0x22,0x44,0x49,0x53,0x50,0x4C,0x41,0x59,0x3A,0x6E,0x6F,0x6E,0x65,0x22,0x20
+,0x6F,0x6E,0x63,0x68,0x61,0x6E,0x67,0x65,0x3D,0x22,0x74,0x78,0x74,0x5F,0x66,0x69
+,0x6C,0x65,0x6E,0x61,0x6D,0x65,0x2E,0x76,0x61,0x6C,0x75,0x65,0x20,0x3D,0x20,0x74
+,0x68,0x69,0x73,0x2E,0x76,0x61,0x6C,0x75,0x65,0x3B,0x22,0x20,0x61,0x63,0x63,0x65
+,0x70,0x74,0x3D,0x22,0x74,0x65,0x78,0x74,0x2F,0x70,0x6C,0x61,0x69,0x6E,0x22,0x3E
+,0x0D,0x0A,0x3C,0x69,0x6E,0x70,0x75,0x74,0x20,0x74,0x79,0x70,0x65,0x3D,0x22,0x74
+,0x65,0x78,0x74,0x22,0x20,0x69,0x64,0x3D,0x22,0x74,0x78,0x74,0x5F,0x66,0x69,0x6C
+,0x65,0x6E,0x61,0x6D,0x65,0x22,0x20,0x73,0x74,0x79,0x6C,0x65,0x3D,0x22,0x46,0x4F
+,0x4E,0x54,0x2D,0x46,0x41,0x4D,0x49,0x4C,0x59,0x3A,0x54,0x61,0x68,0x6F,0x6D,0x61
+,0x3B,0x46,0x4F,0x4E,0x54,0x2D,0x53,0x49,0x5A,0x45,0x3A,0x39,0x70,0x74,0x22,0x20
+,0x73,0x69,0x7A,0x65,0x3D,0x22,0x32,0x35,0x22,0x20,0x44,0x49,0x53,0x41,0x42,0x4C
+,0x45,0x44,0x3E,0x0D,0x0A,0x3C,0x69,0x6E,0x70,0x75,0x74,0x20,0x74,0x79,0x70,0x65
+,0x3D,0x22,0x62,0x75,0x74,0x74,0x6F,0x6E,0x22,0x20,0x69,0x64,0x3D,0x22,0x66,0x69
+,0x6C,0x65,0x5F,0x73,0x65,0x6C,0x65,0x63,0x74,0x22,0x20,0x73,0x74,0x79,0x6C,0x65
+,0x3D,0x22,0x46,0x4F,0x4E,0x54,0x2D,0x46,0x41,0x4D,0x49,0x4C,0x59,0x3A,0x54,0x61
+,0x68,0x6F,0x6D,0x61,0x3B,0x46,0x4F,0x4E,0x54,0x2D,0x53,0x49,0x5A,0x45,0x3A,0x39
+,0x70,0x74,0x22,0x20,0x6F,0x6E,0x63,0x6C,0x69,0x63,0x6B,0x3D,0x22,0x66,0x69,0x6C
+,0x65,0x5F,0x75,0x70,0x6C,0x6F,0x61,0x64,0x2E,0x63,0x6C,0x69,0x63,0x6B,0x28,0x29
+,0x22,0x20,0x76,0x61,0x6C,0x75,0x65,0x3D,0x22,0x43,0x68,0x6F,0x6F,0x73,0x65,0x20
+,0x61,0x20,0x74,0x65,0x78,0x74,0x20,0x46,0x69,0x6C,0x65,0x22,0x3E,0x0D,0x0A,0x3C
+,0x62,0x75,0x74,0x74,0x6F,0x6E,0x20,0x74,0x79,0x70,0x65,0x3D,0x22,0x73,0x75,0x62
+,0x6D,0x69,0x74,0x22,0x20,0x69,0x64,0x3D,0x22,0x73,0x6E,0x64,0x62,0x6F,0x78,0x22
+,0x20,0x73,0x74,0x79,0x6C,0x65,0x3D,0x22,0x46,0x4F,0x4E,0x54,0x2D,0x46,0x41,0x4D
+,0x49,0x4C,0x59,0x3A,0x54,0x61,0x68,0x6F,0x6D,0x61,0x3B,0x46,0x4F,0x4E,0x54,0x2D
+,0x53,0x49,0x5A,0x45,0x3A,0x39,0x70,0x74,0x22,0x20,0x6F,0x6E,0x63,0x6C,0x69,0x63
+,0x6B,0x3D,0x22,0x73,0x6E,0x64,0x5F,0x66,0x69,0x6C,0x65,0x5F,0x72,0x65,0x66,0x28
+,0x29,0x22,0x3E,0x53,0x65,0x6E,0x64,0x3C,0x2F,0x62,0x75,0x74,0x74,0x6F,0x6E,0x3E
+,0x0D,0x0A,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x3C,0x62
+,0x72,0x3E,0x0D,0x0A,0x3C,0x70,0x20,0x73,0x74,0x79,0x6C,0x65,0x3D,0x22,0x46,0x4F
+,0x4E,0x54,0x2D,0x46,0x41,0x4D,0x49,0x4C,0x59,0x3A,0x54,0x61,0x68,0x6F,0x6D,0x61
+,0x3B,0x46,0x4F,0x4E,0x54,0x2D,0x53,0x49,0x5A,0x45,0x3A,0x31,0x38,0x70,0x74,0x22
+,0x3E,0x3C,0x73,0x70,0x61,0x6E,0x20,0x73,0x74,0x79,0x6C,0x65,0x3D,0x22,0x43,0x4F
+,0x4C,0x4F,0x52,0x3A,0x23,0x30,0x30,0x30,0x30,0x38,0x30,0x22,0x3E,0x0D,0x0A,0x3C
+,0x62,0x3E,0x4C,0x4F,0x47,0x3A,0x3C,0x2F,0x62,0x3E,0x3C,0x2F,0x73,0x70,0x61,0x6E
+,0x3E,0x0D,0x0A,0x3C,0x69,0x6E,0x70,0x75,0x74,0x20,0x74,0x79,0x70,0x65,0x3D,0x22
+,0x73,0x75,0x62,0x6D,0x69,0x74,0x22,0x20,0x69,0x64,0x3D,0x22,0x74,0x65,0x78,0x74
+,0x61,0x72,0x65,0x61,0x5F,0x63,0x6C,0x65,0x61,0x72,0x22,0x20,0x73,0x74,0x79,0x6C
+,0x65,0x3D,0x22,0x44,0x49,0x53,0x50,0x4C,0x41,0x59,0x3A,0x62,0x6C,0x6F,0x63,0x6B
+,0x3B,0x46,0x4F,0x4E,0x54,0x2D,0x46,0x41,0x4D,0x49,0x4C,0x59,0x3A,0x54,0x61,0x68
+,0x6F,0x6D,0x61,0x3B,0x46,0x4F,0x4E,0x54,0x2D,0x53,0x49,0x5A,0x45,0x3A,0x39,0x70
+,0x74,0x3B,0x57,0x49,0x44,0x54,0x48,0x3A,0x37,0x30,0x70,0x78,0x3B,0x48,0x45,0x49
+,0x47,0x48,0x54,0x3A,0x32,0x30,0x70,0x78,0x3B,0x50,0x4F,0x53,0x49,0x54,0x49,0x4F
+,0x4E,0x3A,0x61,0x62,0x73,0x6F,0x6C,0x75,0x74,0x65,0x3B,0x4C,0x45,0x46,0x54,0x3A
+,0x38,0x70,0x78,0x22,0x20,0x6F,0x6E,0x63,0x6C,0x69,0x63,0x6B,0x3D,0x22,0x43,0x6C
+,0x72,0x5F,0x74,0x65,0x78,0x74,0x61,0x72,0x65,0x61,0x28,0x29,0x22,0x20,0x76,0x61
+,0x6C,0x75,0x65,0x3D,0x22,0x43,0x6C,0x65,0x61,0x72,0x22,0x3E,0x0D,0x0A,0x3C,0x62
+,0x75,0x74,0x74,0x6F,0x6E,0x20,0x74,0x79,0x70,0x65,0x3D,0x22,0x73,0x75,0x62,0x6D
+,0x69,0x74,0x22,0x20,0x69,0x64,0x3D,0x22,0x74,0x65,0x78,0x74,0x61,0x72,0x65,0x61
+,0x5F,0x73,0x61,0x76,0x65,0x22,0x20,0x73,0x74,0x79,0x6C,0x65,0x3D,0x22,0x44,0x49
+,0x53,0x50,0x4C,0x41,0x59,0x3A,0x62,0x6C,0x6F,0x63,0x6B,0x3B,0x46,0x4F,0x4E,0x54
+,0x2D,0x46,0x41,0x4D,0x49,0x4C,0x59,0x3A,0x54,0x61,0x68,0x6F,0x6D,0x61,0x3B,0x46
+,0x4F,0x4E,0x54,0x2D,0x53,0x49,0x5A,0x45,0x3A,0x39,0x70,0x74,0x3B,0x57,0x49,0x44
+,0x54,0x48,0x3A,0x37,0x30,0x70,0x78,0x3B,0x48,0x45,0x49,0x47,0x48,0x54,0x3A,0x32
+,0x30,0x70,0x78,0x3B,0x50,0x4F,0x53,0x49,0x54,0x49,0x4F,0x4E,0x3A,0x61,0x62,0x73
+,0x6F,0x6C,0x75,0x74,0x65,0x3B,0x4C,0x45,0x46,0x54,0x3A,0x38,0x32,0x70,0x78,0x22
+,0x20,0x6F,0x6E,0x63,0x6C,0x69,0x63,0x6B,0x3D,0x22,0x53,0x61,0x76,0x65,0x5F,0x74
+,0x65,0x78,0x74,0x61,0x72,0x65,0x61,0x28,0x29,0x22,0x3E,0x53,0x61,0x76,0x65,0x3C
+,0x2F,0x62,0x75,0x74,0x74,0x6F,0x6E,0x3E,0x0D,0x0A,0x3C,0x66,0x6F,0x72,0x6D,0x20
+,0x6E,0x61,0x6D,0x65,0x3D,0x22,0x6F,0x75,0x74,0x5F,0x66,0x6F,0x72,0x6D,0x22,0x3E
+,0x0D,0x0A,0x3C,0x74,0x65,0x78,0x74,0x61,0x72,0x65,0x61,0x20,0x69,0x64,0x3D,0x22
+,0x72,0x65,0x73,0x75,0x6C,0x74,0x22,0x20,0x6E,0x61,0x6D,0x65,0x3D,0x22,0x74,0x65
+,0x78,0x74,0x5F,0x61,0x72,0x65,0x61,0x22,0x20,0x63,0x6F,0x6C,0x73,0x3D,0x22,0x35
+,0x30,0x22,0x20,0x72,0x6F,0x77,0x73,0x3D,0x22,0x32,0x30,0x22,0x20,0x70,0x6C,0x61
+,0x63,0x65,0x68,0x6F,0x6C,0x64,0x65,0x72,0x3D,0x22,0x22,0x20,0x76,0x61,0x6C,0x75
+,0x65,0x3D,0x22,0x22,0x3E,0x3C,0x2F,0x74,0x65,0x78,0x74,0x61,0x72,0x65,0x61,0x3E
+,0x0D,0x0A,0x3C,0x2F,0x66,0x6F,0x72,0x6D,0x3E,0x0D,0x0A,0x3C,0x62,0x72,0x3E,0x0D
+,0x0A,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x0D,0x0A,0x3C,0x73,0x63,0x72,0x69,0x70,0x74
+,0x3E,0x0D,0x0A,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x20,0x73,0x6E,0x64,0x5F
+,0x64,0x69,0x72,0x5F,0x69,0x6E,0x28,0x29,0x7B,0x0D,0x0A,0x09,0x76,0x61,0x72,0x20
+,0x72,0x63,0x76,0x5F,0x74,0x65,0x78,0x74,0x3B,0x0D,0x0A,0x09,0x69,0x66,0x20,0x28
+,0x28,0x64,0x69,0x72,0x5F,0x69,0x6E,0x2E,0x76,0x61,0x6C,0x75,0x65,0x20,0x21,0x3D
+,0x20,0x6E,0x75,0x6C,0x6C,0x29,0x20,0x26,0x26,0x20,0x28,0x64,0x69,0x72,0x5F,0x69
+,0x6E,0x2E,0x76,0x61,0x6C,0x75,0x65,0x20,0x21,0x3D,0x20,0x22,0x22,0x29,0x29,0x20
+,0x7B,0x0D,0x0A,0x09,0x09,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x6F,0x75
+,0x74,0x5F,0x66,0x6F,0x72,0x6D,0x2E,0x74,0x65,0x78,0x74,0x5F,0x61,0x72,0x65,0x61
+,0x2E,0x76,0x61,0x6C,0x75,0x65,0x20,0x2B,0x3D,0x20,0x22,0x5B,0x53,0x45,0x4E,0x44
+,0x5D,0x22,0x3B,0x0D,0x0A,0x09,0x09,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E
+,0x6F,0x75,0x74,0x5F,0x66,0x6F,0x72,0x6D,0x2E,0x74,0x65,0x78,0x74,0x5F,0x61,0x72
+,0x65,0x61,0x2E,0x76,0x61,0x6C,0x75,0x65,0x20,0x2B,0x3D,0x20,0x64,0x69,0x72,0x5F
+,0x69,0x6E,0x2E,0x76,0x61,0x6C,0x75,0x65,0x3B,0x0D,0x0A,0x09,0x09,0x64,0x6F,0x63
+,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x6F,0x75,0x74,0x5F,0x66,0x6F,0x72,0x6D,0x2E,0x74
+,0x65,0x78,0x74,0x5F,0x61,0x72,0x65,0x61,0x2E,0x76,0x61,0x6C,0x75,0x65,0x20,0x2B
+,0x3D,0x20,0x22,0x5C,0x72,0x5C,0x6E,0x22,0x3B,0x0D,0x0A,0x09,0x09,0x72,0x63,0x76
+,0x5F,0x74,0x65,0x78,0x74,0x20,0x3D,0x20,0x74,0x65,0x72,0x6D,0x2E,0x72,0x75,0x6E
+,0x28,0x64,0x69,0x72,0x5F,0x69,0x6E,0x2E,0x76,0x61,0x6C,0x75,0x65,0x29,0x3B,0x0D
+,0x0A,0x09,0x09,0x69,0x66,0x20,0x28,0x72,0x63,0x76,0x5F,0x74,0x65,0x78,0x74,0x20
+,0x21,0x3D,0x20,0x22,0x72,0x75,0x6E,0x22,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x09,0x09
+,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x6F,0x75,0x74,0x5F,0x66,0x6F,0x72
+,0x6D,0x2E,0x74,0x65,0x78,0x74,0x5F,0x61,0x72,0x65,0x61,0x2E,0x76,0x61,0x6C,0x75
+,0x65,0x20,0x2B,0x3D,0x20,0x22,0x5B,0x52,0x45,0x43,0x56,0x5D,0x22,0x3B,0x0D,0x0A
+,0x09,0x09,0x09,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x6F,0x75,0x74,0x5F
+,0x66,0x6F,0x72,0x6D,0x2E,0x74,0x65,0x78,0x74,0x5F,0x61,0x72,0x65,0x61,0x2E,0x76
+,0x61,0x6C,0x75,0x65,0x20,0x2B,0x3D,0x20,0x72,0x63,0x76,0x5F,0x74,0x65,0x78,0x74
+,0x3B,0x0D,0x0A,0x09,0x09,0x09,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x6F
+,0x75,0x74,0x5F,0x66,0x6F,0x72,0x6D,0x2E,0x74,0x65,0x78,0x74,0x5F,0x61,0x72,0x65
+,0x61,0x2E,0x76,0x61,0x6C,0x75,0x65,0x20,0x2B,0x3D,0x20,0x22,0x5C,0x72,0x5C,0x6E
+,0x22,0x3B,0x0D,0x0A,0x09,0x09,0x7D,0x0D,0x0A,0x09,0x7D,0x0D,0x0A,0x7D,0x0D,0x0A
+,0x0D,0x0A,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x20,0x73,0x6E,0x64,0x5F,0x66
+,0x69,0x6C,0x65,0x5F,0x72,0x65,0x66,0x28,0x29,0x7B,0x0D,0x0A,0x09,0x76,0x61,0x72
+,0x20,0x6F,0x62,0x6A,0x20,0x3D,0x20,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E
+,0x67,0x65,0x74,0x45,0x6C,0x65,0x6D,0x65,0x6E,0x74,0x42,0x79,0x49,0x64,0x28,0x22
+,0x66,0x69,0x6C,0x65,0x5F,0x75,0x70,0x6C,0x6F,0x61,0x64,0x22,0x29,0x2E,0x66,0x69
+,0x6C,0x65,0x73,0x5B,0x30,0x5D,0x3B,0x0D,0x0A,0x09,0x76,0x61,0x72,0x20,0x72,0x65
+,0x61,0x64,0x65,0x72,0x20,0x3D,0x20,0x6E,0x65,0x77,0x20,0x46,0x69,0x6C,0x65,0x52
+,0x65,0x61,0x64,0x65,0x72,0x28,0x29,0x3B,0x0D,0x0A,0x09,0x72,0x65,0x61,0x64,0x65
+,0x72,0x2E,0x6F,0x6E,0x6C,0x6F,0x61,0x64,0x20,0x3D,0x20,0x66,0x75,0x6E,0x63,0x74
+,0x69,0x6F,0x6E,0x28,0x65,0x76,0x74,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x09,0x76,0x61
+,0x72,0x20,0x73,0x74,0x72,0x20,0x3D,0x20,0x65,0x76,0x74,0x2E,0x74,0x61,0x72,0x67
+,0x65,0x74,0x2E,0x72,0x65,0x73,0x75,0x6C,0x74,0x3B,0x0D,0x0A,0x09,0x09,0x76,0x61
+,0x72,0x20,0x73,0x6E,0x64,0x5F,0x64,0x61,0x74,0x61,0x20,0x3D,0x20,0x73,0x74,0x72
+,0x2E,0x73,0x70,0x6C,0x69,0x74,0x28,0x22,0x5C,0x72,0x5C,0x6E,0x22,0x29,0x3B,0x0D
+,0x0A,0x09,0x09,0x76,0x61,0x72,0x20,0x63,0x6E,0x74,0x20,0x3D,0x20,0x30,0x3B,0x0D
+,0x0A,0x09,0x09,0x76,0x61,0x72,0x20,0x72,0x63,0x76,0x5F,0x64,0x61,0x74,0x61,0x20
+,0x3D,0x20,0x30,0x3B,0x0D,0x0A,0x09,0x09,0x77,0x68,0x69,0x6C,0x65,0x20,0x28,0x28
+,0x73,0x6E,0x64,0x5F,0x64,0x61,0x74,0x61,0x5B,0x63,0x6E,0x74,0x5D,0x20,0x21,0x3D
+,0x20,0x6E,0x75,0x6C,0x6C,0x29,0x20,0x26,0x26,0x20,0x28,0x73,0x6E,0x64,0x5F,0x64
+,0x61,0x74,0x61,0x5B,0x63,0x6E,0x74,0x5D,0x20,0x21,0x3D,0x20,0x22,0x22,0x29,0x29
+,0x20,0x7B,0x0D,0x0A,0x09,0x09,0x09,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E
+,0x6F,0x75,0x74,0x5F,0x66,0x6F,0x72,0x6D,0x2E,0x74,0x65,0x78,0x74,0x5F,0x61,0x72
+,0x65,0x61,0x2E,0x76,0x61,0x6C,0x75,0x65,0x20,0x2B,0x3D,0x20,0x22,0x5B,0x53,0x45
+,0x4E,0x44,0x5D,0x22,0x3B,0x0D,0x0A,0x09,0x09,0x09,0x64,0x6F,0x63,0x75,0x6D,0x65
+,0x6E,0x74,0x2E,0x6F,0x75,0x74,0x5F,0x66,0x6F,0x72,0x6D,0x2E,0x74,0x65,0x78,0x74
+,0x5F,0x61,0x72,0x65,0x61,0x2E,0x76,0x61,0x6C,0x75,0x65,0x20,0x2B,0x3D,0x20,0x73
+,0x6E,0x64,0x5F,0x64,0x61,0x74,0x61,0x5B,0x63,0x6E,0x74,0x5D,0x3B,0x0D,0x0A,0x09
+,0x09,0x09,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x6F,0x75,0x74,0x5F,0x66
+,0x6F,0x72,0x6D,0x2E,0x74,0x65,0x78,0x74,0x5F,0x61,0x72,0x65,0x61,0x2E,0x76,0x61
+,0x6C,0x75,0x65,0x20,0x2B,0x3D,0x20,0x22,0x5C,0x72,0x5C,0x6E,0x22,0x3B,0x0D,0x0A
+,0x09,0x09,0x09,0x72,0x63,0x76,0x5F,0x64,0x61,0x74,0x61,0x20,0x3D,0x20,0x74,0x65
+,0x72,0x6D,0x2E,0x72,0x75,0x6E,0x28,0x73,0x6E,0x64,0x5F,0x64,0x61,0x74,0x61,0x5B
+,0x63,0x6E,0x74,0x5D,0x29,0x3B,0x0D,0x0A,0x09,0x09,0x09,0x69,0x66,0x20,0x28,0x72
+,0x63,0x76,0x5F,0x64,0x61,0x74,0x61,0x20,0x21,0x3D,0x20,0x22,0x72,0x75,0x6E,0x22
+,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x09,0x09,0x09,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E
+,0x74,0x2E,0x6F,0x75,0x74,0x5F,0x66,0x6F,0x72,0x6D,0x2E,0x74,0x65,0x78,0x74,0x5F
+,0x61,0x72,0x65,0x61,0x2E,0x76,0x61,0x6C,0x75,0x65,0x20,0x2B,0x3D,0x20,0x22,0x5B
+,0x52,0x45,0x43,0x56,0x5D,0x22,0x3B,0x0D,0x0A,0x09,0x09,0x09,0x09,0x64,0x6F,0x63
+,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x6F,0x75,0x74,0x5F,0x66,0x6F,0x72,0x6D,0x2E,0x74
+,0x65,0x78,0x74,0x5F,0x61,0x72,0x65,0x61,0x2E,0x76,0x61,0x6C,0x75,0x65,0x20,0x2B
+,0x3D,0x20,0x72,0x63,0x76,0x5F,0x64,0x61,0x74,0x61,0x3B,0x0D,0x0A,0x09,0x09,0x09
+,0x09,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x6F,0x75,0x74,0x5F,0x66,0x6F
+,0x72,0x6D,0x2E,0x74,0x65,0x78,0x74,0x5F,0x61,0x72,0x65,0x61,0x2E,0x76,0x61,0x6C
+,0x75,0x65,0x20,0x2B,0x3D,0x20,0x22,0x5C,0x72,0x5C,0x6E,0x22,0x3B,0x0D,0x0A,0x09
+,0x09,0x09,0x7D,0x0D,0x0A,0x09,0x09,0x09,0x63,0x6E,0x74,0x2B,0x2B,0x3B,0x0D,0x0A
+,0x09,0x09,0x7D,0x0D,0x0A,0x09,0x7D,0x0D,0x0A,0x09,0x72,0x65,0x61,0x64,0x65,0x72
+,0x2E,0x72,0x65,0x61,0x64,0x41,0x73,0x54,0x65,0x78,0x74,0x28,0x6F,0x62,0x6A,0x29
+,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E
+,0x20,0x43,0x6C,0x72,0x5F,0x74,0x65,0x78,0x74,0x61,0x72,0x65,0x61,0x28,0x29,0x7B
+,0x0D,0x0A,0x09,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x6F,0x75,0x74,0x5F
+,0x66,0x6F,0x72,0x6D,0x2E,0x74,0x65,0x78,0x74,0x5F,0x61,0x72,0x65,0x61,0x2E,0x76
+,0x61,0x6C,0x75,0x65,0x20,0x3D,0x20,0x22,0x22,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D
+,0x0A,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x20,0x53,0x61,0x76,0x65,0x5F,0x74
+,0x65,0x78,0x74,0x61,0x72,0x65,0x61,0x28,0x29,0x7B,0x0D,0x0A,0x09,0x76,0x61,0x72
+,0x20,0x62,0x6C,0x6F,0x62,0x5F,0x6F,0x62,0x6A,0x20,0x3D,0x20,0x6E,0x65,0x77,0x20
+,0x42,0x6C,0x6F,0x62,0x28,0x5B,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x6F
+,0x75,0x74,0x5F,0x66,0x6F,0x72,0x6D,0x2E,0x74,0x65,0x78,0x74,0x5F,0x61,0x72,0x65
+,0x61,0x2E,0x76,0x61,0x6C,0x75,0x65,0x5D,0x2C,0x20,0x7B,0x74,0x79,0x70,0x65,0x3A
+,0x22,0x74,0x65,0x78,0x74,0x2F,0x70,0x6C,0x61,0x69,0x6E,0x22,0x7D,0x29,0x3B,0x0D
+,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x44,0x65,0x74,0x65,0x72,0x6D,0x69,0x6E,0x65
+,0x73,0x20,0x62,0x72,0x6F,0x77,0x73,0x65,0x72,0x20,0x2D,0x2D,0x3E,0x0D,0x0A,0x09
+,0x69,0x66,0x20,0x28,0x6E,0x61,0x76,0x69,0x67,0x61,0x74,0x6F,0x72,0x2E,0x6D,0x73
+,0x53,0x61,0x76,0x65,0x42,0x6C,0x6F,0x62,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x09,0x3C
+,0x21,0x2D,0x2D,0x20,0x49,0x45,0x20,0x2D,0x2D,0x3E,0x0D,0x0A,0x20,0x20,0x20,0x20
+,0x20,0x20,0x20,0x20,0x09,0x6E,0x61,0x76,0x69,0x67,0x61,0x74,0x6F,0x72,0x2E,0x6D
+,0x73,0x53,0x61,0x76,0x65,0x4F,0x72,0x4F,0x70,0x65,0x6E,0x42,0x6C,0x6F,0x62,0x28
+,0x62,0x6C,0x6F,0x62,0x5F,0x6F,0x62,0x6A,0x2C,0x20,0x27,0x63,0x6F,0x6D,0x6D,0x5F
+,0x6C,0x6F,0x67,0x2E,0x74,0x78,0x74,0x27,0x29,0x3B,0x0D,0x0A,0x09,0x7D,0x20,0x65
+,0x6C,0x73,0x65,0x20,0x7B,0x0D,0x0A,0x09,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x45,0x78
+,0x70,0x65,0x63,0x74,0x20,0x49,0x45,0x20,0x2D,0x2D,0x3E,0x0D,0x0A,0x09,0x09,0x76
+,0x61,0x72,0x20,0x61,0x20,0x3D,0x20,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E
+,0x63,0x72,0x65,0x61,0x74,0x65,0x45,0x6C,0x65,0x6D,0x65,0x6E,0x74,0x28,0x27,0x61
+,0x27,0x29,0x3B,0x0D,0x0A,0x09,0x09,0x61,0x2E,0x68,0x72,0x65,0x66,0x20,0x3D,0x20
+,0x55,0x52,0x4C,0x2E,0x63,0x72,0x65,0x61,0x74,0x65,0x4F,0x62,0x6A,0x65,0x63,0x74
+,0x55,0x52,0x4C,0x28,0x62,0x6C,0x6F,0x62,0x5F,0x6F,0x62,0x6A,0x29,0x3B,0x0D,0x0A
+,0x09,0x09,0x61,0x2E,0x73,0x65,0x74,0x41,0x74,0x74,0x72,0x69,0x62,0x75,0x74,0x65
+,0x28,0x27,0x64,0x6F,0x77,0x6E,0x6C,0x6F,0x61,0x64,0x27,0x2C,0x20,0x27,0x63,0x6F
+,0x6D,0x6D,0x5F,0x6C,0x6F,0x67,0x2E,0x74,0x78,0x74,0x27,0x29,0x3B,0x0D,0x0A,0x09
+,0x09,0x61,0x2E,0x64,0x69,0x73,0x70,0x61,0x74,0x63,0x68,0x45,0x76,0x65,0x6E,0x74
+,0x28,0x6E,0x65,0x77,0x20,0x43,0x75,0x73,0x74,0x6F,0x6D,0x45,0x76,0x65,0x6E,0x74
+,0x28,0x27,0x63,0x6C,0x69,0x63,0x6B,0x27,0x29,0x29,0x3B,0x0D,0x0A,0x09,0x7D,0x0D
+,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x3C,0x2F,0x73,0x63,0x72,0x69,0x70,0x74,0x3E,0x0D
+,0x0A,0x0D,0x0A,0x3C,0x2F,0x62,0x6F,0x64,0x79,0x3E,0x0D,0x0A,0x3C,0x2F,0x68,0x74
+,0x6D,0x6C,0x3E,0x0D,0x0A
+};
+
+static const char web_top_htm_tbl[] = {
+ 0x3C,0x68,0x74,0x6D,0x6C,0x3E,0x0D,0x0A,0x3C,0x68,0x65,0x61,0x64,0x3E,0x0D,0x0A
+,0x3C,0x6D,0x65,0x74,0x61,0x20,0x68,0x74,0x74,0x70,0x2D,0x65,0x71,0x75,0x69,0x76
+,0x3D,0x22,0x43,0x6F,0x6E,0x74,0x65,0x6E,0x74,0x2D,0x54,0x79,0x70,0x65,0x22,0x20
+,0x63,0x6F,0x6E,0x74,0x65,0x6E,0x74,0x3D,0x22,0x74,0x65,0x78,0x74,0x2F,0x68,0x74
+,0x6D,0x6C,0x3B,0x20,0x63,0x68,0x61,0x72,0x73,0x65,0x74,0x3D,0x22,0x75,0x74,0x66
+,0x2D,0x38,0x22,0x3E,0x0D,0x0A,0x3C,0x74,0x69,0x74,0x6C,0x65,0x3E,0x54,0x6F,0x70
+,0x20,0x50,0x61,0x67,0x65,0x3C,0x2F,0x74,0x69,0x74,0x6C,0x65,0x3E,0x0D,0x0A,0x3C
+,0x2F,0x68,0x65,0x61,0x64,0x3E,0x0D,0x0A,0x3C,0x66,0x72,0x61,0x6D,0x65,0x73,0x65
+,0x74,0x20,0x63,0x6F,0x6C,0x73,0x3D,0x22,0x32,0x30,0x25,0x2C,0x38,0x30,0x25,0x22
+,0x3E,0x0D,0x0A,0x3C,0x66,0x72,0x61,0x6D,0x65,0x20,0x73,0x72,0x63,0x3D,0x22,0x6D
+,0x65,0x6E,0x75,0x2E,0x68,0x74,0x6D,0x22,0x3E,0x0D,0x0A,0x3C,0x66,0x72,0x61,0x6D
+,0x65,0x20,0x73,0x72,0x63,0x3D,0x22,0x77,0x69,0x6E,0x64,0x6F,0x77,0x2E,0x68,0x74
+,0x6D,0x22,0x20,0x6E,0x61,0x6D,0x65,0x3D,0x22,0x6B,0x69,0x72,0x69,0x6B,0x61,0x65
+,0x22,0x3E,0x0D,0x0A,0x0D,0x0A,0x3C,0x6E,0x6F,0x66,0x72,0x61,0x6D,0x65,0x73,0x3E
+,0x0D,0x0A,0x3C,0x62,0x6F,0x64,0x79,0x3E,0x0D,0x0A,0x3C,0x70,0x3E,0x59,0x6F,0x75
+,0x20,0x63,0x61,0x6E,0x20,0x6E,0x6F,0x74,0x20,0x76,0x69,0x65,0x77,0x20,0x74,0x68
+,0x69,0x73,0x20,0x73,0x61,0x6D,0x70,0x6C,0x65,0x20,0x73,0x69,0x6E,0x63,0x65,0x20
+,0x74,0x68,0x65,0x20,0x66,0x72,0x61,0x6D,0x65,0x20,0x6F,0x66,0x20,0x75,0x6E,0x73
+,0x75,0x70,0x70,0x6F,0x72,0x74,0x65,0x64,0x20,0x62,0x72,0x6F,0x77,0x73,0x65,0x72
+,0x2E,0x3C,0x2F,0x70,0x3E,0x0D,0x0A,0x3C,0x2F,0x62,0x6F,0x64,0x79,0x3E,0x0D,0x0A
+,0x3C,0x2F,0x6E,0x6F,0x66,0x72,0x61,0x6D,0x65,0x73,0x3E,0x0D,0x0A,0x3C,0x2F,0x66
+,0x72,0x61,0x6D,0x65,0x73,0x65,0x74,0x3E,0x0D,0x0A,0x3C,0x2F,0x68,0x74,0x6D,0x6C
+,0x3E,0x0D,0x0A
+};
+
+static const char menu_htm_tbl[] = {
+ 0x3C,0x68,0x74,0x6D,0x6C,0x3E,0x0D,0x0A,0x3C,0x68,0x65,0x61,0x64,0x3E,0x0D,0x0A
+,0x3C,0x6D,0x65,0x74,0x61,0x20,0x68,0x74,0x74,0x70,0x2D,0x65,0x71,0x75,0x69,0x76
+,0x3D,0x22,0x43,0x6F,0x6E,0x74,0x65,0x6E,0x74,0x2D,0x54,0x79,0x70,0x65,0x22,0x20
+,0x63,0x6F,0x6E,0x74,0x65,0x6E,0x74,0x3D,0x22,0x74,0x65,0x78,0x74,0x2F,0x68,0x74
+,0x6D,0x6C,0x3B,0x20,0x63,0x68,0x61,0x72,0x73,0x65,0x74,0x3D,0x22,0x75,0x74,0x66
+,0x2D,0x38,0x22,0x3E,0x0D,0x0A,0x3C,0x74,0x69,0x74,0x6C,0x65,0x3E,0x47,0x52,0x2D
+,0x50,0x45,0x41,0x43,0x48,0x20,0x4D,0x65,0x6E,0x75,0x3C,0x2F,0x74,0x69,0x74,0x6C
+,0x65,0x3E,0x0D,0x0A,0x3C,0x2F,0x68,0x65,0x61,0x64,0x3E,0x0D,0x0A,0x3C,0x62,0x6F
+,0x64,0x79,0x20,0x62,0x67,0x63,0x6F,0x6C,0x6F,0x72,0x3D,0x22,0x23,0x46,0x46,0x46
+,0x41,0x46,0x41,0x22,0x3E,0x0D,0x0A,0x3C,0x43,0x45,0x4E,0x54,0x45,0x52,0x3E,0x0D
+,0x0A,0x3C,0x50,0x3E,0x3C,0x66,0x6F,0x6E,0x74,0x20,0x73,0x69,0x7A,0x65,0x3D,0x22
+,0x34,0x22,0x3E,0x3C,0x42,0x3E,0x4D,0x65,0x6E,0x75,0x3C,0x2F,0x42,0x3E,0x3C,0x2F
+,0x66,0x6F,0x6E,0x74,0x3E,0x3C,0x2F,0x50,0x3E,0x0D,0x0A,0x3C,0x2F,0x43,0x45,0x4E
+,0x54,0x45,0x52,0x3E,0x0D,0x0A,0x0D,0x0A,0x3C,0x70,0x3E,0x0D,0x0A,0x3C,0x66,0x6F
+,0x6E,0x74,0x20,0x73,0x69,0x7A,0x65,0x3D,0x22,0x34,0x22,0x3E,0x3C,0x73,0x70,0x61
+,0x6E,0x20,0x73,0x74,0x79,0x6C,0x65,0x3D,0x22,0x63,0x6F,0x6C,0x6F,0x72,0x3A,0x23
+,0x30,0x30,0x30,0x30,0x38,0x30,0x22,0x3E,0x3C,0x61,0x20,0x68,0x72,0x65,0x66,0x3D
+,0x22,0x77,0x69,0x6E,0x64,0x6F,0x77,0x2E,0x68,0x74,0x6D,0x22,0x20,0x74,0x61,0x72
+,0x67,0x65,0x74,0x3D,0x22,0x6B,0x69,0x72,0x69,0x6B,0x61,0x65,0x22,0x3E,0x54,0x6F
+,0x70,0x20,0x50,0x61,0x67,0x65,0x3C,0x2F,0x61,0x3E,0x3C,0x2F,0x73,0x70,0x61,0x6E
+,0x3E,0x3C,0x2F,0x66,0x6F,0x6E,0x74,0x3E,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x3C,0x62
+,0x72,0x3E,0x0D,0x0A,0x3C,0x66,0x6F,0x6E,0x74,0x20,0x73,0x69,0x7A,0x65,0x3D,0x22
+,0x34,0x22,0x3E,0x3C,0x73,0x70,0x61,0x6E,0x20,0x73,0x74,0x79,0x6C,0x65,0x3D,0x22
+,0x63,0x6F,0x6C,0x6F,0x72,0x3A,0x23,0x30,0x30,0x30,0x30,0x38,0x30,0x22,0x3E,0x3C
+,0x61,0x20,0x68,0x72,0x65,0x66,0x3D,0x22,0x63,0x61,0x6D,0x65,0x72,0x61,0x2E,0x68
+,0x74,0x6D,0x22,0x20,0x74,0x61,0x72,0x67,0x65,0x74,0x3D,0x22,0x6B,0x69,0x72,0x69
+,0x6B,0x61,0x65,0x22,0x3E,0x57,0x65,0x62,0x20,0x43,0x61,0x6D,0x65,0x72,0x61,0x3C
+,0x2F,0x61,0x3E,0x3C,0x2F,0x73,0x70,0x61,0x6E,0x3E,0x3C,0x2F,0x66,0x6F,0x6E,0x74
+,0x3E,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x3C,0x66,0x6F
+,0x6E,0x74,0x20,0x73,0x69,0x7A,0x65,0x3D,0x22,0x34,0x22,0x3E,0x3C,0x73,0x70,0x61
+,0x6E,0x20,0x73,0x74,0x79,0x6C,0x65,0x3D,0x22,0x63,0x6F,0x6C,0x6F,0x72,0x3A,0x23
+,0x30,0x30,0x30,0x30,0x38,0x30,0x22,0x3E,0x3C,0x61,0x20,0x68,0x72,0x65,0x66,0x3D
+,0x22,0x69,0x32,0x63,0x5F,0x73,0x65,0x74,0x2E,0x68,0x74,0x6D,0x22,0x20,0x74,0x61
+,0x72,0x67,0x65,0x74,0x3D,0x22,0x6B,0x69,0x72,0x69,0x6B,0x61,0x65,0x22,0x3E,0x53
+,0x65,0x74,0x74,0x69,0x6E,0x67,0x20,0x62,0x79,0x20,0x49,0x32,0x43,0x3C,0x2F,0x61
+,0x3E,0x3C,0x2F,0x73,0x70,0x61,0x6E,0x3E,0x3C,0x2F,0x66,0x6F,0x6E,0x74,0x3E,0x3C
+,0x62,0x72,0x3E,0x0D,0x0A,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x3C,0x66,0x6F,0x6E,0x74
+,0x20,0x73,0x69,0x7A,0x65,0x3D,0x22,0x34,0x22,0x3E,0x3C,0x73,0x70,0x61,0x6E,0x20
+,0x73,0x74,0x79,0x6C,0x65,0x3D,0x22,0x63,0x6F,0x6C,0x6F,0x72,0x3A,0x23,0x30,0x30
+,0x30,0x30,0x38,0x30,0x22,0x3E,0x3C,0x61,0x20,0x68,0x72,0x65,0x66,0x3D,0x22,0x6C
+,0x65,0x64,0x2E,0x68,0x74,0x6D,0x22,0x20,0x74,0x61,0x72,0x67,0x65,0x74,0x3D,0x22
+,0x6B,0x69,0x72,0x69,0x6B,0x61,0x65,0x22,0x3E,0x4C,0x45,0x44,0x20,0x4F,0x6E,0x2F
+,0x4F,0x66,0x66,0x3C,0x2F,0x61,0x3E,0x3C,0x2F,0x73,0x70,0x61,0x6E,0x3E,0x3C,0x2F
+,0x66,0x6F,0x6E,0x74,0x3E,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x3C,0x2F,0x62,0x6F,0x64
+,0x79,0x3E,0x0D,0x0A,0x3C,0x2F,0x68,0x74,0x6D,0x6C,0x3E,0x0D,0x0A,0x0D,0x0A
+};
+
+static const char window_htm_tbl[] = {
+ 0x3C,0x68,0x74,0x6D,0x6C,0x3E,0x0D,0x0A,0x3C,0x68,0x65,0x61,0x64,0x3E,0x0D,0x0A
+,0x3C,0x6D,0x65,0x74,0x61,0x20,0x68,0x74,0x74,0x70,0x2D,0x65,0x71,0x75,0x69,0x76
+,0x3D,0x22,0x43,0x6F,0x6E,0x74,0x65,0x6E,0x74,0x2D,0x54,0x79,0x70,0x65,0x22,0x20
+,0x63,0x6F,0x6E,0x74,0x65,0x6E,0x74,0x3D,0x22,0x74,0x65,0x78,0x74,0x2F,0x68,0x74
+,0x6D,0x6C,0x3B,0x20,0x63,0x68,0x61,0x72,0x73,0x65,0x74,0x3D,0x22,0x20,0x75,0x74
+,0x66,0x2D,0x38,0x22,0x3E,0x0D,0x0A,0x3C,0x74,0x69,0x74,0x6C,0x65,0x3E,0x47,0x52
+,0x2D,0x4C,0x59,0x43,0x48,0x45,0x45,0x20,0x57,0x69,0x6E,0x64,0x6F,0x77,0x3C,0x2F
+,0x74,0x69,0x74,0x6C,0x65,0x3E,0x0D,0x0A,0x3C,0x2F,0x68,0x65,0x61,0x64,0x3E,0x0D
+,0x0A,0x3C,0x62,0x6F,0x64,0x79,0x3E,0x0D,0x0A,0x3C,0x70,0x3E,0x3C,0x66,0x6F,0x6E
+,0x74,0x20,0x73,0x69,0x7A,0x65,0x3D,0x22,0x31,0x35,0x22,0x3E,0x3C,0x73,0x70,0x61
+,0x6E,0x20,0x73,0x74,0x79,0x6C,0x65,0x3D,0x22,0x63,0x6F,0x6C,0x6F,0x72,0x3A,0x23
+,0x30,0x30,0x30,0x30,0x38,0x30,0x22,0x3E,0x3C,0x62,0x3E,0x47,0x52,0x2D,0x4C,0x59
+,0x43,0x48,0x45,0x45,0x20,0x57,0x65,0x62,0x20,0x43,0x61,0x6D,0x65,0x72,0x61,0x20
+,0x53,0x61,0x6D,0x70,0x6C,0x65,0x3C,0x2F,0x62,0x3E,0x3C,0x2F,0x73,0x70,0x61,0x6E
+,0x3E,0x3C,0x2F,0x66,0x6F,0x6E,0x74,0x3E,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x3C,0x62
+,0x72,0x3E,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x54,0x68,0x69,0x73,0x20,0x73,0x61,0x6D
+,0x70,0x6C,0x65,0x20,0x70,0x72,0x6F,0x67,0x72,0x61,0x6D,0x20,0x75,0x73,0x69,0x6E
+,0x67,0x20,0x47,0x52,0x2D,0x4C,0x59,0x43,0x48,0x45,0x45,0x2E,0x3C,0x62,0x72,0x3E
+,0x0D,0x0A,0x57,0x68,0x65,0x6E,0x20,0x79,0x6F,0x75,0x20,0x70,0x72,0x65,0x73,0x73
+,0x20,0x74,0x68,0x65,0x20,0x4D,0x65,0x6E,0x75,0x20,0x6F,0x6E,0x20,0x74,0x68,0x65
+,0x20,0x6C,0x65,0x66,0x74,0x2C,0x20,0x69,0x74,0x20,0x77,0x69,0x6C,0x6C,0x20,0x62
+,0x65,0x20,0x64,0x69,0x73,0x70,0x6C,0x61,0x79,0x65,0x64,0x20,0x69,0x6E,0x20,0x74
+,0x68,0x69,0x73,0x20,0x77,0x69,0x6E,0x64,0x6F,0x77,0x2E,0x3C,0x62,0x72,0x3E,0x0D
+,0x0A,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x49,0x74,0x20,0x73,0x68,0x6F,0x77,0x73,0x20
+,0x74,0x68,0x65,0x20,0x6F,0x76,0x65,0x72,0x76,0x69,0x65,0x77,0x20,0x6F,0x66,0x20
+,0x65,0x61,0x63,0x68,0x20,0x6C,0x69,0x6E,0x6B,0x20,0x62,0x65,0x6C,0x6F,0x77,0x2E
+,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x3C,0x73,0x74,0x79
+,0x6C,0x65,0x20,0x74,0x79,0x70,0x65,0x3D,0x22,0x74,0x65,0x78,0x74,0x2F,0x63,0x73
+,0x73,0x22,0x3E,0x2E,0x74,0x61,0x62,0x6C,0x65,0x20,0x74,0x68,0x7B,0x62,0x61,0x63
+,0x6B,0x67,0x72,0x6F,0x75,0x6E,0x64,0x2D,0x63,0x6F,0x6C,0x6F,0x72,0x3A,0x23,0x65
+,0x36,0x66,0x66,0x65,0x39,0x7D,0x3C,0x2F,0x73,0x74,0x79,0x6C,0x65,0x3E,0x0D,0x0A
+,0x3C,0x74,0x61,0x62,0x6C,0x65,0x20,0x63,0x6C,0x61,0x73,0x73,0x3D,0x22,0x74,0x61
+,0x62,0x6C,0x65,0x22,0x20,0x62,0x6F,0x72,0x64,0x65,0x72,0x3D,0x31,0x3E,0x0D,0x0A
+,0x3C,0x74,0x72,0x3E,0x0D,0x0A,0x3C,0x74,0x68,0x3E,0x4C,0x69,0x6E,0x6B,0x73,0x3C
+,0x2F,0x74,0x68,0x3E,0x3C,0x74,0x68,0x3E,0x4F,0x76,0x65,0x72,0x76,0x69,0x65,0x77
+,0x3C,0x2F,0x74,0x68,0x3E,0x0D,0x0A,0x3C,0x2F,0x74,0x72,0x3E,0x0D,0x0A,0x3C,0x74
+,0x72,0x3E,0x0D,0x0A,0x3C,0x74,0x64,0x3E,0x54,0x6F,0x70,0x20,0x50,0x61,0x67,0x65
+,0x3C,0x2F,0x74,0x64,0x3E,0x3C,0x74,0x64,0x3E,0x49,0x74,0x20,0x77,0x69,0x6C,0x6C
+,0x20,0x72,0x65,0x74,0x75,0x72,0x6E,0x20,0x74,0x6F,0x20,0x74,0x68,0x65,0x20,0x74
+,0x6F,0x70,0x20,0x70,0x61,0x67,0x65,0x2E,0x3C,0x62,0x72,0x3E,0x3C,0x2F,0x74,0x64
+,0x3E,0x0D,0x0A,0x3C,0x2F,0x74,0x72,0x3E,0x0D,0x0A,0x3C,0x74,0x72,0x3E,0x0D,0x0A
+,0x3C,0x74,0x64,0x3E,0x57,0x65,0x62,0x20,0x43,0x61,0x6D,0x65,0x72,0x61,0x3C,0x2F
+,0x74,0x64,0x3E,0x3C,0x74,0x64,0x3E,0x49,0x74,0x20,0x69,0x6E,0x64,0x69,0x63,0x61
+,0x74,0x65,0x73,0x20,0x74,0x68,0x65,0x20,0x69,0x6D,0x61,0x67,0x65,0x20,0x61,0x63
+,0x71,0x75,0x69,0x72,0x65,0x64,0x20,0x62,0x79,0x20,0x74,0x68,0x65,0x20,0x63,0x61
+,0x6D,0x65,0x72,0x61,0x20,0x6F,0x6E,0x20,0x74,0x68,0x65,0x20,0x77,0x65,0x62,0x20
+,0x62,0x72,0x6F,0x77,0x73,0x65,0x72,0x2E,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x49,0x74
+,0x20,0x63,0x61,0x6E,0x20,0x62,0x65,0x20,0x63,0x68,0x61,0x6E,0x67,0x65,0x64,0x20
+,0x61,0x74,0x20,0x61,0x20,0x73,0x6C,0x69,0x64,0x65,0x72,0x20,0x62,0x61,0x72,0x20
+,0x69,0x6E,0x20,0x22,0x57,0x61,0x69,0x74,0x20,0x74,0x69,0x6D,0x65,0x22,0x20,0x61
+,0x74,0x20,0x74,0x68,0x65,0x20,0x74,0x69,0x6D,0x69,0x6E,0x67,0x20,0x6F,0x66,0x20
+,0x61,0x20,0x72,0x65,0x6E,0x65,0x77,0x61,0x6C,0x20,0x6F,0x66,0x20,0x61,0x20,0x63
+,0x61,0x6D,0x65,0x72,0x61,0x20,0x70,0x69,0x63,0x74,0x75,0x72,0x65,0x2E,0x20,0x28
+,0x44,0x65,0x66,0x61,0x75,0x6C,0x74,0x73,0x20,0x61,0x72,0x65,0x20,0x35,0x30,0x30
+,0x6D,0x73,0x2E,0x29,0x3C,0x2F,0x74,0x64,0x3E,0x0D,0x0A,0x3C,0x2F,0x74,0x72,0x3E
+,0x0D,0x0A,0x3C,0x74,0x72,0x3E,0x0D,0x0A,0x3C,0x74,0x64,0x3E,0x53,0x65,0x74,0x74
+,0x69,0x6E,0x67,0x20,0x62,0x79,0x20,0x49,0x32,0x43,0x3C,0x2F,0x74,0x64,0x3E,0x3C
+,0x74,0x64,0x3E,0x49,0x74,0x20,0x69,0x6E,0x64,0x69,0x63,0x61,0x74,0x65,0x73,0x20
+,0x49,0x32,0x43,0x20,0x73,0x65,0x74,0x74,0x69,0x6E,0x67,0x20,0x6F,0x6E,0x20,0x74
+,0x68,0x65,0x20,0x77,0x65,0x62,0x20,0x62,0x72,0x6F,0x77,0x73,0x65,0x72,0x2E,0x3C
+,0x62,0x72,0x3E,0x0D,0x0A,0x49,0x6E,0x20,0x49,0x32,0x43,0x20,0x63,0x6F,0x6D,0x6D
+,0x75,0x6E,0x69,0x63,0x61,0x74,0x69,0x6F,0x6E,0x2C,0x20,0x47,0x52,0x2D,0x4C,0x59
+,0x43,0x48,0x45,0x45,0x20,0x65,0x78,0x65,0x63,0x75,0x74,0x65,0x73,0x20,0x74,0x68
+,0x65,0x20,0x73,0x65,0x74,0x74,0x69,0x6E,0x67,0x73,0x20,0x6F,0x66,0x20,0x74,0x68
+,0x65,0x20,0x64,0x65,0x76,0x69,0x63,0x65,0x73,0x20,0x63,0x6F,0x6E,0x6E,0x65,0x63
+,0x74,0x65,0x64,0x20,0x74,0x6F,0x20,0x49,0x32,0x43,0x5F,0x53,0x43,0x41,0x20,0x74
+,0x65,0x72,0x6D,0x69,0x6E,0x61,0x6C,0x20,0x61,0x6E,0x64,0x20,0x49,0x32,0x43,0x5F
+,0x53,0x43,0x4C,0x20,0x74,0x65,0x72,0x6D,0x69,0x6E,0x61,0x6C,0x2E,0x3C,0x62,0x72
+,0x3E,0x0D,0x0A,0x4F,0x6E,0x20,0x74,0x68,0x65,0x20,0x62,0x61,0x73,0x69,0x73,0x20
+,0x6F,0x66,0x20,0x74,0x68,0x65,0x20,0x63,0x6F,0x6D,0x6D,0x61,0x6E,0x64,0x2C,0x20
+,0x47,0x52,0x2D,0x4C,0x59,0x43,0x48,0x45,0x45,0x20,0x61,0x63,0x63,0x65,0x73,0x73
+,0x65,0x73,0x20,0x74,0x6F,0x20,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x73,0x20
+,0x6F,0x66,0x20,0x74,0x68,0x65,0x20,0x64,0x65,0x76,0x69,0x63,0x65,0x73,0x2E,0x3C
+,0x62,0x72,0x3E,0x0D,0x0A,0x59,0x6F,0x75,0x20,0x63,0x61,0x6E,0x20,0x73,0x65,0x6E
+,0x64,0x20,0x74,0x68,0x65,0x20,0x63,0x6F,0x6D,0x6D,0x61,0x6E,0x64,0x20,0x6F,0x66
+,0x20,0x74,0x68,0x65,0x20,0x73,0x70,0x65,0x63,0x69,0x66,0x69,0x65,0x64,0x20,0x66
+,0x6F,0x72,0x6D,0x61,0x74,0x20,0x69,0x6E,0x20,0x6F,0x6E,0x65,0x20,0x6F,0x66,0x20
+,0x74,0x77,0x6F,0x20,0x70,0x61,0x74,0x74,0x65,0x72,0x6E,0x73,0x20,0x62,0x65,0x6C
+,0x6F,0x77,0x2E,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x26,0x6E,0x62,0x73,0x70,0x3B,0x26
+,0x6E,0x62,0x73,0x70,0x3B,0x22,0x44,0x69,0x72,0x65,0x63,0x74,0x6C,0x20,0x69,0x6E
+,0x70,0x75,0x74,0x22,0x20,0x6F,0x72,0x20,0x22,0x46,0x69,0x6C,0x65,0x20,0x72,0x65
+,0x66,0x65,0x72,0x65,0x6E,0x63,0x65,0x22,0x2E,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x50
+,0x6C,0x65,0x61,0x73,0x65,0x20,0x63,0x72,0x65,0x61,0x74,0x65,0x20,0x61,0x20,0x63
+,0x6F,0x6D,0x6D,0x61,0x6E,0x64,0x20,0x61,0x6C,0x6F,0x6E,0x67,0x20,0x74,0x68,0x65
+,0x20,0x66,0x6F,0x72,0x6D,0x61,0x74,0x20,0x61,0x66,0x74,0x65,0x72,0x20,0x79,0x6F
+,0x75,0x20,0x63,0x68,0x65,0x63,0x6B,0x20,0x74,0x68,0x65,0x20,0x73,0x70,0x65,0x63
+,0x69,0x66,0x69,0x63,0x61,0x74,0x69,0x6F,0x6E,0x73,0x20,0x6F,0x66,0x20,0x65,0x61
+,0x63,0x68,0x20,0x64,0x65,0x76,0x69,0x63,0x65,0x2E,0x3C,0x62,0x72,0x3E,0x0D,0x0A
+,0x54,0x68,0x65,0x20,0x66,0x6F,0x72,0x6D,0x61,0x74,0x20,0x6F,0x66,0x20,0x74,0x68
+,0x65,0x20,0x63,0x6F,0x6D,0x6D,0x61,0x6E,0x64,0x20,0x69,0x73,0x3A,0x3C,0x62,0x72
+,0x3E,0x0D,0x0A,0x26,0x6E,0x62,0x73,0x70,0x3B,0x26,0x6E,0x62,0x73,0x70,0x3B,0x4D
+,0x65,0x74,0x68,0x6F,0x64,0x3A,0x49,0x32,0x43,0x20,0x61,0x64,0x64,0x72,0x2C,0x64
+,0x61,0x74,0x61,0x20,0x6C,0x65,0x6E,0x67,0x74,0x68,0x2C,0x64,0x61,0x74,0x61,0x31
+,0x2C,0x64,0x61,0x74,0x61,0x32,0x2C,0x64,0x61,0x74,0x61,0x33,0x2C,0x2E,0x2E,0x2E
+,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x4D,0x65,0x74,0x68
+,0x6F,0x64,0x20,0x69,0x73,0x20,0x62,0x65,0x6C,0x6F,0x77,0x2E,0x3C,0x62,0x72,0x3E
+,0x0D,0x0A,0x26,0x6E,0x62,0x73,0x70,0x3B,0x26,0x6E,0x62,0x73,0x70,0x3B,0x26,0x6E
+,0x62,0x73,0x70,0x3B,0x22,0x57,0x72,0x22,0x69,0x73,0x20,0x57,0x72,0x69,0x74,0x65
+,0x20,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x26
+,0x6E,0x62,0x73,0x70,0x3B,0x26,0x6E,0x62,0x73,0x70,0x3B,0x26,0x6E,0x62,0x73,0x70
+,0x3B,0x22,0x52,0x64,0x22,0x20,0x69,0x73,0x20,0x52,0x65,0x61,0x64,0x20,0x66,0x75
+,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x26,0x6E,0x62,0x73
+,0x70,0x3B,0x26,0x6E,0x62,0x73,0x70,0x3B,0x26,0x6E,0x62,0x73,0x70,0x3B,0x22,0x57
+,0x72,0x4E,0x6F,0x70,0x22,0x20,0x69,0x73,0x20,0x57,0x72,0x69,0x74,0x65,0x20,0x66
+,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x4E,0x6F,0x20,0x53,0x54,0x4F,0x50,0x20
+,0x63,0x6F,0x6E,0x64,0x69,0x74,0x69,0x6F,0x6E,0x29,0x3C,0x62,0x72,0x3E,0x0D,0x0A
+,0x26,0x6E,0x62,0x73,0x70,0x3B,0x26,0x6E,0x62,0x73,0x70,0x3B,0x26,0x6E,0x62,0x73
+,0x70,0x3B,0x22,0x52,0x64,0x4E,0x6F,0x70,0x22,0x20,0x69,0x73,0x20,0x52,0x65,0x61
+,0x64,0x20,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x4E,0x6F,0x20,0x53,0x54
+,0x4F,0x50,0x20,0x63,0x6F,0x6E,0x64,0x69,0x74,0x69,0x6F,0x6E,0x29,0x3C,0x62,0x72
+,0x3E,0x3C,0x2F,0x74,0x64,0x3E,0x0D,0x0A,0x3C,0x2F,0x74,0x72,0x3E,0x0D,0x0A,0x3C
+,0x74,0x72,0x3E,0x0D,0x0A,0x3C,0x74,0x64,0x3E,0x4C,0x45,0x44,0x20,0x4F,0x6E,0x2F
+,0x4F,0x66,0x66,0x3C,0x2F,0x74,0x64,0x3E,0x3C,0x74,0x64,0x3E,0x49,0x74,0x20,0x69
+,0x6E,0x64,0x69,0x63,0x61,0x74,0x65,0x73,0x20,0x4C,0x45,0x44,0x31,0x2C,0x20,0x4C
+,0x45,0x44,0x32,0x20,0x61,0x6E,0x64,0x20,0x4C,0x45,0x44,0x33,0x20,0x6F,0x66,0x20
+,0x74,0x68,0x65,0x20,0x74,0x6F,0x67,0x67,0x6C,0x65,0x20,0x73,0x77,0x69,0x74,0x63
+,0x68,0x20,0x6F,0x6E,0x20,0x74,0x68,0x65,0x20,0x77,0x65,0x62,0x20,0x62,0x72,0x6F
+,0x77,0x73,0x65,0x72,0x2E,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x45,0x61,0x63,0x68,0x20
+,0x73,0x77,0x69,0x74,0x63,0x68,0x20,0x69,0x6E,0x64,0x69,0x63,0x61,0x74,0x65,0x73
+,0x20,0x74,0x68,0x65,0x20,0x63,0x75,0x72,0x72,0x65,0x6E,0x74,0x20,0x4C,0x45,0x44
+,0x20,0x73,0x74,0x61,0x74,0x65,0x2E,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x4C,0x45,0x44
+,0x20,0x4F,0x4E,0x20,0x61,0x6E,0x64,0x20,0x4F,0x46,0x46,0x20,0x73,0x77,0x69,0x74
+,0x63,0x68,0x65,0x73,0x20,0x77,0x68,0x65,0x6E,0x20,0x79,0x6F,0x75,0x20,0x70,0x72
+,0x65,0x73,0x73,0x20,0x74,0x68,0x65,0x20,0x73,0x77,0x69,0x74,0x63,0x68,0x2E,0x20
+,0x57,0x68,0x65,0x6E,0x20,0x74,0x68,0x65,0x20,0x4C,0x45,0x44,0x20,0x69,0x73,0x20
+,0x4F,0x4E,0x2C,0x20,0x74,0x68,0x65,0x20,0x63,0x6F,0x6C,0x6F,0x72,0x20,0x6F,0x66
+,0x20,0x74,0x68,0x65,0x20,0x73,0x77,0x69,0x74,0x63,0x68,0x20,0x77,0x69,0x6C,0x6C
+,0x20,0x63,0x68,0x61,0x6E,0x67,0x65,0x20,0x74,0x68,0x65,0x20,0x4C,0x45,0x44,0x20
+,0x63,0x6F,0x6C,0x6F,0x72,0x2E,0x3C,0x2F,0x74,0x64,0x3E,0x0D,0x0A,0x3C,0x2F,0x74
+,0x72,0x3E,0x0D,0x0A,0x3C,0x2F,0x74,0x61,0x62,0x6C,0x65,0x3E,0x0D,0x0A,0x0D,0x0A
+,0x0D,0x0A,0x3C,0x2F,0x62,0x6F,0x64,0x79,0x3E,0x0D,0x0A,0x3C,0x2F,0x68,0x74,0x6D
+,0x6C,0x3E,0x0D,0x0A,0x0D,0x0A
+};
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/file_table_peach.h Tue Dec 25 09:57:54 2018 +0000
@@ -0,0 +1,1225 @@
+
+static const char index_htm_tbl[] = {
+ 0x3C,0x53,0x43,0x52,0x49,0x50,0x54,0x20,0x74,0x79,0x70,0x65,0x3D,0x22,0x74,0x65
+,0x78,0x74,0x2F,0x6A,0x61,0x76,0x61,0x73,0x63,0x72,0x69,0x70,0x74,0x22,0x3E,0x0D
+,0x0A,0x3C,0x21,0x2D,0x2D,0x0D,0x0A,0x6C,0x6F,0x63,0x61,0x74,0x69,0x6F,0x6E,0x2E
+,0x68,0x72,0x65,0x66,0x3D,0x22,0x2F,0x77,0x65,0x62,0x5F,0x74,0x6F,0x70,0x2E,0x68
+,0x74,0x6D,0x22,0x3B,0x0D,0x0A,0x2D,0x2D,0x3E,0x0D,0x0A,0x3C,0x2F,0x53,0x43,0x52
+,0x49,0x50,0x54,0x3E,0x0D,0x0A
+};
+
+static const char camaera_js_tbl[] = {
+ 0x76,0x61,0x72,0x20,0x69,0x6D,0x61,0x67,0x65,0x4E,0x72,0x20,0x3D,0x20,0x30,0x3B
+,0x20,0x2F,0x2F,0x20,0x53,0x65,0x72,0x69,0x61,0x6C,0x20,0x6E,0x75,0x6D,0x62,0x65
+,0x72,0x20,0x6F,0x66,0x20,0x63,0x75,0x72,0x72,0x65,0x6E,0x74,0x20,0x69,0x6D,0x61
+,0x67,0x65,0x0D,0x0A,0x76,0x61,0x72,0x20,0x66,0x69,0x6E,0x69,0x73,0x68,0x65,0x64
+,0x20,0x3D,0x20,0x6E,0x65,0x77,0x20,0x41,0x72,0x72,0x61,0x79,0x28,0x29,0x3B,0x20
+,0x2F,0x2F,0x20,0x52,0x65,0x66,0x65,0x72,0x65,0x6E,0x63,0x65,0x73,0x20,0x74,0x6F
+,0x20,0x69,0x6D,0x67,0x20,0x6F,0x62,0x6A,0x65,0x63,0x74,0x73,0x20,0x77,0x68,0x69
+,0x63,0x68,0x20,0x68,0x61,0x76,0x65,0x20,0x66,0x69,0x6E,0x69,0x73,0x68,0x65,0x64
+,0x20,0x64,0x6F,0x77,0x6E,0x6C,0x6F,0x61,0x64,0x69,0x6E,0x67,0x0D,0x0A,0x0D,0x0A
+,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x20,0x63,0x72,0x65,0x61,0x74,0x65,0x49
+,0x6D,0x61,0x67,0x65,0x4C,0x61,0x79,0x65,0x72,0x28,0x29,0x20,0x7B,0x0D,0x0A,0x20
+,0x20,0x76,0x61,0x72,0x20,0x69,0x6D,0x61,0x67,0x65,0x20,0x3D,0x20,0x6E,0x65,0x77
+,0x20,0x49,0x6D,0x61,0x67,0x65,0x28,0x29,0x3B,0x0D,0x0A,0x0D,0x0A,0x20,0x20,0x69
+,0x6D,0x61,0x67,0x65,0x2E,0x73,0x72,0x63,0x20,0x3D,0x20,0x22,0x63,0x61,0x6D,0x65
+,0x72,0x61,0x2F,0x22,0x20,0x2B,0x20,0x28,0x2B,0x2B,0x69,0x6D,0x61,0x67,0x65,0x4E
+,0x72,0x29,0x3B,0x0D,0x0A,0x20,0x20,0x69,0x6D,0x61,0x67,0x65,0x2E,0x73,0x74,0x79
+,0x6C,0x65,0x2E,0x70,0x6F,0x73,0x69,0x74,0x69,0x6F,0x6E,0x20,0x3D,0x20,0x22,0x61
+,0x62,0x73,0x6F,0x6C,0x75,0x74,0x65,0x22,0x3B,0x0D,0x0A,0x20,0x20,0x69,0x6D,0x61
+,0x67,0x65,0x2E,0x73,0x74,0x79,0x6C,0x65,0x2E,0x7A,0x49,0x6E,0x64,0x65,0x78,0x20
+,0x3D,0x20,0x2D,0x31,0x3B,0x0D,0x0A,0x20,0x20,0x69,0x6D,0x61,0x67,0x65,0x2E,0x6F
+,0x6E,0x6C,0x6F,0x61,0x64,0x20,0x3D,0x20,0x69,0x6D,0x61,0x67,0x65,0x4F,0x6E,0x6C
+,0x6F,0x61,0x64,0x3B,0x0D,0x0A,0x20,0x20,0x69,0x6D,0x61,0x67,0x65,0x2E,0x6F,0x6E
+,0x65,0x72,0x72,0x6F,0x72,0x20,0x3D,0x20,0x63,0x72,0x65,0x61,0x74,0x65,0x49,0x6D
+,0x61,0x67,0x65,0x4C,0x61,0x79,0x65,0x72,0x3B,0x0D,0x0A,0x0D,0x0A,0x20,0x20,0x76
+,0x61,0x72,0x20,0x77,0x65,0x62,0x63,0x61,0x6D,0x20,0x3D,0x20,0x64,0x6F,0x63,0x75
+,0x6D,0x65,0x6E,0x74,0x2E,0x67,0x65,0x74,0x45,0x6C,0x65,0x6D,0x65,0x6E,0x74,0x42
+,0x79,0x49,0x64,0x28,0x22,0x77,0x65,0x62,0x63,0x61,0x6D,0x22,0x29,0x3B,0x0D,0x0A
+,0x20,0x20,0x77,0x65,0x62,0x63,0x61,0x6D,0x2E,0x69,0x6E,0x73,0x65,0x72,0x74,0x42
+,0x65,0x66,0x6F,0x72,0x65,0x28,0x69,0x6D,0x61,0x67,0x65,0x2C,0x20,0x77,0x65,0x62
+,0x63,0x61,0x6D,0x2E,0x66,0x69,0x72,0x73,0x74,0x43,0x68,0x69,0x6C,0x64,0x29,0x3B
+,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x20
+,0x69,0x6D,0x61,0x67,0x65,0x4F,0x6E,0x6C,0x6F,0x61,0x64,0x28,0x29,0x20,0x7B,0x0D
+,0x0A,0x20,0x20,0x74,0x68,0x69,0x73,0x2E,0x73,0x74,0x79,0x6C,0x65,0x2E,0x7A,0x49
+,0x6E,0x64,0x65,0x78,0x20,0x3D,0x20,0x69,0x6D,0x61,0x67,0x65,0x4E,0x72,0x3B,0x0D
+,0x0A,0x20,0x20,0x77,0x68,0x69,0x6C,0x65,0x20,0x28,0x31,0x20,0x3C,0x20,0x66,0x69
+,0x6E,0x69,0x73,0x68,0x65,0x64,0x2E,0x6C,0x65,0x6E,0x67,0x74,0x68,0x29,0x20,0x7B
+,0x0D,0x0A,0x20,0x20,0x20,0x20,0x76,0x61,0x72,0x20,0x64,0x65,0x6C,0x20,0x3D,0x20
+,0x66,0x69,0x6E,0x69,0x73,0x68,0x65,0x64,0x2E,0x73,0x68,0x69,0x66,0x74,0x28,0x29
+,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x64,0x65,0x6C,0x2E,0x70,0x61,0x72,0x65,0x6E
+,0x74,0x4E,0x6F,0x64,0x65,0x2E,0x72,0x65,0x6D,0x6F,0x76,0x65,0x43,0x68,0x69,0x6C
+,0x64,0x28,0x64,0x65,0x6C,0x29,0x3B,0x0D,0x0A,0x20,0x20,0x7D,0x0D,0x0A,0x20,0x20
+,0x66,0x69,0x6E,0x69,0x73,0x68,0x65,0x64,0x2E,0x70,0x75,0x73,0x68,0x28,0x74,0x68
+,0x69,0x73,0x29,0x3B,0x0D,0x0A,0x20,0x20,0x74,0x69,0x6D,0x65,0x72,0x49,0x44,0x20
+,0x3D,0x20,0x73,0x65,0x74,0x54,0x69,0x6D,0x65,0x6F,0x75,0x74,0x28,0x66,0x75,0x6E
+,0x63,0x74,0x69,0x6F,0x6E,0x28,0x29,0x7B,0x20,0x63,0x72,0x65,0x61,0x74,0x65,0x49
+,0x6D,0x61,0x67,0x65,0x4C,0x61,0x79,0x65,0x72,0x28,0x29,0x20,0x7D,0x2C,0x20,0x64
+,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x46,0x31,0x2E,0x77,0x61,0x69,0x74,0x74
+,0x69,0x6D,0x65,0x2E,0x76,0x61,0x6C,0x75,0x65,0x29,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A
+};
+
+static const char camera_htm_tbl[] = {
+ 0x3C,0x68,0x74,0x6D,0x6C,0x3E,0x0D,0x0A,0x3C,0x68,0x65,0x61,0x64,0x3E,0x0D,0x0A
+,0x3C,0x74,0x69,0x74,0x6C,0x65,0x3E,0x63,0x61,0x6D,0x65,0x72,0x61,0x3C,0x2F,0x74
+,0x69,0x74,0x6C,0x65,0x3E,0x0D,0x0A,0x3C,0x73,0x63,0x72,0x69,0x70,0x74,0x20,0x74
+,0x79,0x70,0x65,0x3D,0x22,0x74,0x65,0x78,0x74,0x2F,0x6A,0x61,0x76,0x61,0x73,0x63
+,0x72,0x69,0x70,0x74,0x22,0x20,0x73,0x72,0x63,0x3D,0x22,0x63,0x61,0x6D,0x65,0x72
+,0x61,0x2E,0x6A,0x73,0x22,0x20,0x63,0x68,0x61,0x72,0x73,0x65,0x74,0x3D,0x22,0x75
+,0x74,0x66,0x2D,0x38,0x22,0x3E,0x3C,0x2F,0x73,0x63,0x72,0x69,0x70,0x74,0x3E,0x0D
+,0x0A,0x3C,0x73,0x74,0x79,0x6C,0x65,0x20,0x74,0x79,0x70,0x65,0x3D,0x22,0x74,0x65
+,0x78,0x74,0x2F,0x63,0x73,0x73,0x22,0x3E,0x0D,0x0A,0x23,0x77,0x65,0x62,0x63,0x61
+,0x6D,0x20,0x69,0x6D,0x67,0x20,0x7B,0x0D,0x0A,0x09,0x6C,0x65,0x66,0x74,0x3A,0x20
+,0x30,0x3B,0x0D,0x0A,0x09,0x72,0x69,0x67,0x68,0x74,0x3A,0x20,0x30,0x3B,0x0D,0x0A
+,0x09,0x6D,0x61,0x78,0x2D,0x77,0x69,0x64,0x74,0x68,0x3A,0x20,0x36,0x34,0x30,0x70
+,0x78,0x3B,0x20,0x0D,0x0A,0x09,0x77,0x69,0x64,0x74,0x68,0x3A,0x20,0x31,0x30,0x30
+,0x25,0x3B,0x0D,0x0A,0x09,0x68,0x65,0x69,0x67,0x68,0x74,0x3A,0x20,0x61,0x75,0x74
+,0x6F,0x3B,0x20,0x0D,0x0A,0x7D,0x0D,0x0A,0x3C,0x2F,0x73,0x74,0x79,0x6C,0x65,0x3E
+,0x0D,0x0A,0x3C,0x2F,0x68,0x65,0x61,0x64,0x3E,0x0D,0x0A,0x3C,0x62,0x6F,0x64,0x79
+,0x3E,0x0D,0x0A,0x3C,0x62,0x6F,0x64,0x79,0x20,0x6F,0x6E,0x6C,0x6F,0x61,0x64,0x3D
+,0x22,0x63,0x72,0x65,0x61,0x74,0x65,0x49,0x6D,0x61,0x67,0x65,0x4C,0x61,0x79,0x65
+,0x72,0x28,0x29,0x3B,0x22,0x3E,0x0D,0x0A,0x3C,0x66,0x6F,0x72,0x6D,0x20,0x61,0x63
+,0x74,0x69,0x6F,0x6E,0x3D,0x22,0x23,0x22,0x20,0x6E,0x61,0x6D,0x65,0x3D,0x22,0x46
+,0x31,0x22,0x3E,0x0D,0x0A,0x57,0x61,0x69,0x74,0x20,0x74,0x69,0x6D,0x65,0x20,0x3C
+,0x69,0x6E,0x70,0x75,0x74,0x20,0x74,0x79,0x70,0x65,0x3D,0x22,0x72,0x61,0x6E,0x67
+,0x65,0x22,0x20,0x6E,0x61,0x6D,0x65,0x3D,0x22,0x77,0x61,0x69,0x74,0x74,0x69,0x6D
+,0x65,0x22,0x20,0x76,0x61,0x6C,0x75,0x65,0x3D,0x22,0x35,0x30,0x30,0x22,0x20,0x6D
+,0x61,0x78,0x3D,0x22,0x31,0x30,0x30,0x30,0x22,0x20,0x73,0x74,0x65,0x70,0x3D,0x22
+,0x35,0x30,0x22,0x3E,0x20,0x5B,0x6D,0x73,0x5D,0x0D,0x0A,0x3C,0x2F,0x66,0x6F,0x72
+,0x6D,0x3E,0x0D,0x0A,0x3C,0x64,0x69,0x76,0x20,0x69,0x64,0x3D,0x22,0x77,0x65,0x62
+,0x63,0x61,0x6D,0x22,0x3E,0x3C,0x6E,0x6F,0x73,0x63,0x72,0x69,0x70,0x74,0x3E,0x3C
+,0x69,0x6D,0x67,0x20,0x73,0x72,0x63,0x3D,0x22,0x63,0x61,0x6D,0x65,0x72,0x61,0x2F
+,0x30,0x22,0x20,0x2F,0x3E,0x3C,0x2F,0x6E,0x6F,0x73,0x63,0x72,0x69,0x70,0x74,0x3E
+,0x3C,0x2F,0x64,0x69,0x76,0x3E,0x0D,0x0A,0x3C,0x2F,0x62,0x6F,0x64,0x79,0x3E,0x0D
+,0x0A,0x3C,0x2F,0x68,0x74,0x6D,0x6C,0x3E,0x0D,0x0A
+};
+
+static const char mbedrpc_js_tbl[] = {
+ 0x2F,0x2F,0x20,0x6D,0x62,0x65,0x64,0x52,0x50,0x43,0x20,0x4A,0x61,0x76,0x61,0x73
+,0x63,0x72,0x69,0x70,0x74,0x20,0x49,0x6E,0x74,0x65,0x72,0x66,0x61,0x63,0x65,0x20
+,0x75,0x73,0x69,0x6E,0x67,0x20,0x48,0x54,0x54,0x50,0x0D,0x0A,0x2F,0x2F,0x20,0x73
+,0x66,0x6F,0x72,0x64,0x20,0x61,0x6E,0x64,0x20,0x4D,0x20,0x57,0x61,0x6C,0x6B,0x65
+,0x72,0x0D,0x0A,0x2F,0x2F,0x20,0x41,0x20,0x6A,0x61,0x76,0x61,0x73,0x63,0x72,0x69
+,0x70,0x74,0x20,0x69,0x6E,0x74,0x65,0x72,0x66,0x61,0x63,0x65,0x20,0x66,0x6F,0x72
+,0x20,0x74,0x61,0x6C,0x6B,0x69,0x6E,0x67,0x20,0x74,0x6F,0x20,0x6D,0x62,0x65,0x64
+,0x20,0x72,0x70,0x63,0x20,0x6F,0x76,0x65,0x72,0x20,0x68,0x74,0x74,0x70,0x0D,0x0A
+,0x2F,0x2F,0x0D,0x0A,0x2F,0x2F,0x43,0x6F,0x70,0x79,0x72,0x69,0x67,0x68,0x74,0x20
+,0x28,0x63,0x29,0x20,0x32,0x30,0x31,0x30,0x20,0x41,0x52,0x4D,0x20,0x4C,0x74,0x64
+,0x0D,0x0A,0x2F,0x2F,0x20,0x0D,0x0A,0x2F,0x2F,0x50,0x65,0x72,0x6D,0x69,0x73,0x73
+,0x69,0x6F,0x6E,0x20,0x69,0x73,0x20,0x68,0x65,0x72,0x65,0x62,0x79,0x20,0x67,0x72
+,0x61,0x6E,0x74,0x65,0x64,0x2C,0x20,0x66,0x72,0x65,0x65,0x20,0x6F,0x66,0x20,0x63
+,0x68,0x61,0x72,0x67,0x65,0x2C,0x20,0x74,0x6F,0x20,0x61,0x6E,0x79,0x20,0x70,0x65
+,0x72,0x73,0x6F,0x6E,0x20,0x6F,0x62,0x74,0x61,0x69,0x6E,0x69,0x6E,0x67,0x20,0x61
+,0x20,0x63,0x6F,0x70,0x79,0x0D,0x0A,0x2F,0x2F,0x6F,0x66,0x20,0x74,0x68,0x69,0x73
+,0x20,0x73,0x6F,0x66,0x74,0x77,0x61,0x72,0x65,0x20,0x61,0x6E,0x64,0x20,0x61,0x73
+,0x73,0x6F,0x63,0x69,0x61,0x74,0x65,0x64,0x20,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E
+,0x74,0x61,0x74,0x69,0x6F,0x6E,0x20,0x66,0x69,0x6C,0x65,0x73,0x20,0x28,0x74,0x68
+,0x65,0x20,0x22,0x53,0x6F,0x66,0x74,0x77,0x61,0x72,0x65,0x22,0x29,0x2C,0x20,0x74
+,0x6F,0x20,0x64,0x65,0x61,0x6C,0x0D,0x0A,0x2F,0x2F,0x69,0x6E,0x20,0x74,0x68,0x65
+,0x20,0x53,0x6F,0x66,0x74,0x77,0x61,0x72,0x65,0x20,0x77,0x69,0x74,0x68,0x6F,0x75
+,0x74,0x20,0x72,0x65,0x73,0x74,0x72,0x69,0x63,0x74,0x69,0x6F,0x6E,0x2C,0x20,0x69
+,0x6E,0x63,0x6C,0x75,0x64,0x69,0x6E,0x67,0x20,0x77,0x69,0x74,0x68,0x6F,0x75,0x74
+,0x20,0x6C,0x69,0x6D,0x69,0x74,0x61,0x74,0x69,0x6F,0x6E,0x20,0x74,0x68,0x65,0x20
+,0x72,0x69,0x67,0x68,0x74,0x73,0x0D,0x0A,0x2F,0x2F,0x74,0x6F,0x20,0x75,0x73,0x65
+,0x2C,0x20,0x63,0x6F,0x70,0x79,0x2C,0x20,0x6D,0x6F,0x64,0x69,0x66,0x79,0x2C,0x20
+,0x6D,0x65,0x72,0x67,0x65,0x2C,0x20,0x70,0x75,0x62,0x6C,0x69,0x73,0x68,0x2C,0x20
+,0x64,0x69,0x73,0x74,0x72,0x69,0x62,0x75,0x74,0x65,0x2C,0x20,0x73,0x75,0x62,0x6C
+,0x69,0x63,0x65,0x6E,0x73,0x65,0x2C,0x20,0x61,0x6E,0x64,0x2F,0x6F,0x72,0x20,0x73
+,0x65,0x6C,0x6C,0x0D,0x0A,0x2F,0x2F,0x63,0x6F,0x70,0x69,0x65,0x73,0x20,0x6F,0x66
+,0x20,0x74,0x68,0x65,0x20,0x53,0x6F,0x66,0x74,0x77,0x61,0x72,0x65,0x2C,0x20,0x61
+,0x6E,0x64,0x20,0x74,0x6F,0x20,0x70,0x65,0x72,0x6D,0x69,0x74,0x20,0x70,0x65,0x72
+,0x73,0x6F,0x6E,0x73,0x20,0x74,0x6F,0x20,0x77,0x68,0x6F,0x6D,0x20,0x74,0x68,0x65
+,0x20,0x53,0x6F,0x66,0x74,0x77,0x61,0x72,0x65,0x20,0x69,0x73,0x0D,0x0A,0x2F,0x2F
+,0x66,0x75,0x72,0x6E,0x69,0x73,0x68,0x65,0x64,0x20,0x74,0x6F,0x20,0x64,0x6F,0x20
+,0x73,0x6F,0x2C,0x20,0x73,0x75,0x62,0x6A,0x65,0x63,0x74,0x20,0x74,0x6F,0x20,0x74
+,0x68,0x65,0x20,0x66,0x6F,0x6C,0x6C,0x6F,0x77,0x69,0x6E,0x67,0x20,0x63,0x6F,0x6E
+,0x64,0x69,0x74,0x69,0x6F,0x6E,0x73,0x3A,0x0D,0x0A,0x2F,0x2F,0x20,0x0D,0x0A,0x2F
+,0x2F,0x54,0x68,0x65,0x20,0x61,0x62,0x6F,0x76,0x65,0x20,0x63,0x6F,0x70,0x79,0x72
+,0x69,0x67,0x68,0x74,0x20,0x6E,0x6F,0x74,0x69,0x63,0x65,0x20,0x61,0x6E,0x64,0x20
+,0x74,0x68,0x69,0x73,0x20,0x70,0x65,0x72,0x6D,0x69,0x73,0x73,0x69,0x6F,0x6E,0x20
+,0x6E,0x6F,0x74,0x69,0x63,0x65,0x20,0x73,0x68,0x61,0x6C,0x6C,0x20,0x62,0x65,0x20
+,0x69,0x6E,0x63,0x6C,0x75,0x64,0x65,0x64,0x20,0x69,0x6E,0x0D,0x0A,0x2F,0x2F,0x61
+,0x6C,0x6C,0x20,0x63,0x6F,0x70,0x69,0x65,0x73,0x20,0x6F,0x72,0x20,0x73,0x75,0x62
+,0x73,0x74,0x61,0x6E,0x74,0x69,0x61,0x6C,0x20,0x70,0x6F,0x72,0x74,0x69,0x6F,0x6E
+,0x73,0x20,0x6F,0x66,0x20,0x74,0x68,0x65,0x20,0x53,0x6F,0x66,0x74,0x77,0x61,0x72
+,0x65,0x2E,0x0D,0x0A,0x2F,0x2F,0x20,0x0D,0x0A,0x2F,0x2F,0x54,0x48,0x45,0x20,0x53
+,0x4F,0x46,0x54,0x57,0x41,0x52,0x45,0x20,0x49,0x53,0x20,0x50,0x52,0x4F,0x56,0x49
+,0x44,0x45,0x44,0x20,0x22,0x41,0x53,0x20,0x49,0x53,0x22,0x2C,0x20,0x57,0x49,0x54
+,0x48,0x4F,0x55,0x54,0x20,0x57,0x41,0x52,0x52,0x41,0x4E,0x54,0x59,0x20,0x4F,0x46
+,0x20,0x41,0x4E,0x59,0x20,0x4B,0x49,0x4E,0x44,0x2C,0x20,0x45,0x58,0x50,0x52,0x45
+,0x53,0x53,0x20,0x4F,0x52,0x0D,0x0A,0x2F,0x2F,0x49,0x4D,0x50,0x4C,0x49,0x45,0x44
+,0x2C,0x20,0x49,0x4E,0x43,0x4C,0x55,0x44,0x49,0x4E,0x47,0x20,0x42,0x55,0x54,0x20
+,0x4E,0x4F,0x54,0x20,0x4C,0x49,0x4D,0x49,0x54,0x45,0x44,0x20,0x54,0x4F,0x20,0x54
+,0x48,0x45,0x20,0x57,0x41,0x52,0x52,0x41,0x4E,0x54,0x49,0x45,0x53,0x20,0x4F,0x46
+,0x20,0x4D,0x45,0x52,0x43,0x48,0x41,0x4E,0x54,0x41,0x42,0x49,0x4C,0x49,0x54,0x59
+,0x2C,0x0D,0x0A,0x2F,0x2F,0x46,0x49,0x54,0x4E,0x45,0x53,0x53,0x20,0x46,0x4F,0x52
+,0x20,0x41,0x20,0x50,0x41,0x52,0x54,0x49,0x43,0x55,0x4C,0x41,0x52,0x20,0x50,0x55
+,0x52,0x50,0x4F,0x53,0x45,0x20,0x41,0x4E,0x44,0x20,0x4E,0x4F,0x4E,0x49,0x4E,0x46
+,0x52,0x49,0x4E,0x47,0x45,0x4D,0x45,0x4E,0x54,0x2E,0x20,0x49,0x4E,0x20,0x4E,0x4F
+,0x20,0x45,0x56,0x45,0x4E,0x54,0x20,0x53,0x48,0x41,0x4C,0x4C,0x20,0x54,0x48,0x45
+,0x0D,0x0A,0x2F,0x2F,0x41,0x55,0x54,0x48,0x4F,0x52,0x53,0x20,0x4F,0x52,0x20,0x43
+,0x4F,0x50,0x59,0x52,0x49,0x47,0x48,0x54,0x20,0x48,0x4F,0x4C,0x44,0x45,0x52,0x53
+,0x20,0x42,0x45,0x20,0x4C,0x49,0x41,0x42,0x4C,0x45,0x20,0x46,0x4F,0x52,0x20,0x41
+,0x4E,0x59,0x20,0x43,0x4C,0x41,0x49,0x4D,0x2C,0x20,0x44,0x41,0x4D,0x41,0x47,0x45
+,0x53,0x20,0x4F,0x52,0x20,0x4F,0x54,0x48,0x45,0x52,0x0D,0x0A,0x2F,0x2F,0x4C,0x49
+,0x41,0x42,0x49,0x4C,0x49,0x54,0x59,0x2C,0x20,0x57,0x48,0x45,0x54,0x48,0x45,0x52
+,0x20,0x49,0x4E,0x20,0x41,0x4E,0x20,0x41,0x43,0x54,0x49,0x4F,0x4E,0x20,0x4F,0x46
+,0x20,0x43,0x4F,0x4E,0x54,0x52,0x41,0x43,0x54,0x2C,0x20,0x54,0x4F,0x52,0x54,0x20
+,0x4F,0x52,0x20,0x4F,0x54,0x48,0x45,0x52,0x57,0x49,0x53,0x45,0x2C,0x20,0x41,0x52
+,0x49,0x53,0x49,0x4E,0x47,0x20,0x46,0x52,0x4F,0x4D,0x2C,0x0D,0x0A,0x2F,0x2F,0x4F
+,0x55,0x54,0x20,0x4F,0x46,0x20,0x4F,0x52,0x20,0x49,0x4E,0x20,0x43,0x4F,0x4E,0x4E
+,0x45,0x43,0x54,0x49,0x4F,0x4E,0x20,0x57,0x49,0x54,0x48,0x20,0x54,0x48,0x45,0x20
+,0x53,0x4F,0x46,0x54,0x57,0x41,0x52,0x45,0x20,0x4F,0x52,0x20,0x54,0x48,0x45,0x20
+,0x55,0x53,0x45,0x20,0x4F,0x52,0x20,0x4F,0x54,0x48,0x45,0x52,0x20,0x44,0x45,0x41
+,0x4C,0x49,0x4E,0x47,0x53,0x20,0x49,0x4E,0x0D,0x0A,0x2F,0x2F,0x54,0x48,0x45,0x20
+,0x53,0x4F,0x46,0x54,0x57,0x41,0x52,0x45,0x2E,0x0D,0x0A,0x0D,0x0A,0x0D,0x0A,0x2F
+,0x2F,0x54,0x72,0x61,0x6E,0x73,0x70,0x6F,0x72,0x74,0x20,0x4D,0x65,0x63,0x68,0x61
+,0x6E,0x69,0x73,0x6D,0x73,0x20,0x20,0x20,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D
+,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D
+,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D
+,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D
+,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x0D,0x0A,0x0D,0x0A,0x66,0x75,0x6E,0x63,0x74
+,0x69,0x6F,0x6E,0x20,0x70,0x6F,0x73,0x74,0x28,0x75,0x72,0x6C,0x29,0x20,0x7B,0x0D
+,0x0A,0x20,0x20,0x20,0x20,0x68,0x74,0x74,0x70,0x20,0x3D,0x20,0x28,0x77,0x69,0x6E
+,0x64,0x6F,0x77,0x2E,0x58,0x4D,0x4C,0x48,0x74,0x74,0x70,0x52,0x65,0x71,0x75,0x65
+,0x73,0x74,0x29,0x20,0x3F,0x20,0x6E,0x65,0x77,0x20,0x58,0x4D,0x4C,0x48,0x74,0x74
+,0x70,0x52,0x65,0x71,0x75,0x65,0x73,0x74,0x28,0x29,0x20,0x3A,0x20,0x6E,0x65,0x77
+,0x20,0x41,0x63,0x74,0x69,0x76,0x65,0x58,0x4F,0x62,0x6A,0x65,0x63,0x74,0x28,0x22
+,0x4D,0x69,0x63,0x72,0x6F,0x73,0x6F,0x66,0x74,0x2E,0x58,0x4D,0x4C,0x48,0x54,0x54
+,0x50,0x22,0x29,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x69,0x66,0x28,0x21,0x68,0x74
+,0x74,0x70,0x29,0x20,0x72,0x65,0x74,0x75,0x72,0x6E,0x20,0x66,0x61,0x6C,0x73,0x65
+,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x68,0x74,0x74,0x70,0x2E,0x6F,0x70,0x65,0x6E
+,0x28,0x22,0x47,0x45,0x54,0x22,0x2C,0x20,0x75,0x72,0x6C,0x2C,0x20,0x66,0x61,0x6C
+,0x73,0x65,0x29,0x3B,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20
+,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20
+,0x20,0x0D,0x0A,0x20,0x20,0x20,0x20,0x68,0x74,0x74,0x70,0x2E,0x73,0x65,0x6E,0x64
+,0x28,0x6E,0x75,0x6C,0x6C,0x29,0x3B,0x20,0x20,0x20,0x0D,0x0A,0x20,0x20,0x20,0x20
+,0x72,0x65,0x74,0x75,0x72,0x6E,0x20,0x68,0x74,0x74,0x70,0x2E,0x72,0x65,0x73,0x70
+,0x6F,0x6E,0x73,0x65,0x54,0x65,0x78,0x74,0x3B,0x0D,0x0A,0x09,0x20,0x20,0x20,0x20
+,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20
+,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x0D,0x0A
+,0x7D,0x0D,0x0A,0x0D,0x0A,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x20,0x6D,0x62
+,0x65,0x64,0x28,0x29,0x7B,0x0D,0x0A,0x09,0x2F,0x2F,0x4E,0x6F,0x20,0x61,0x63,0x74
+,0x69,0x6F,0x6E,0x20,0x6E,0x65,0x65,0x64,0x73,0x20,0x74,0x6F,0x20,0x62,0x65,0x20
+,0x74,0x61,0x6B,0x65,0x6E,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x6D,0x62,0x65,0x64
+,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x72,0x70,0x63,0x20,0x3D
+,0x20,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x6F,0x62,0x6A,0x65,0x63,0x74
+,0x2C,0x20,0x6D,0x65,0x74,0x68,0x6F,0x64,0x2C,0x20,0x61,0x72,0x67,0x75,0x6D,0x65
+,0x6E,0x74,0x73,0x29,0x7B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x2F,0x2F,0x54,0x68,0x69
+,0x73,0x20,0x73,0x68,0x6F,0x75,0x6C,0x64,0x20,0x62,0x65,0x20,0x6F,0x76,0x65,0x72
+,0x72,0x69,0x64,0x64,0x65,0x6E,0x20,0x62,0x79,0x20,0x74,0x68,0x65,0x20,0x61,0x20
+,0x74,0x72,0x61,0x6E,0x73,0x70,0x6F,0x72,0x74,0x20,0x6D,0x65,0x63,0x68,0x61,0x6E
+,0x69,0x73,0x6D,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x48,0x54,0x54,0x50,0x52,0x50
+,0x43,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65,0x20,0x3D,0x20,0x6E,0x65
+,0x77,0x20,0x6D,0x62,0x65,0x64,0x28,0x29,0x3B,0x0D,0x0A,0x48,0x54,0x54,0x50,0x52
+,0x50,0x43,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x63,0x6F,0x6E
+,0x73,0x74,0x72,0x75,0x63,0x74,0x6F,0x72,0x20,0x3D,0x20,0x48,0x54,0x54,0x50,0x52
+,0x50,0x43,0x0D,0x0A,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x20,0x48,0x54,0x54
+,0x50,0x52,0x50,0x43,0x28,0x29,0x7B,0x0D,0x0A,0x09,0x2F,0x2F,0x75,0x6E,0x6C,0x69
+,0x6B,0x65,0x20,0x6F,0x74,0x68,0x65,0x72,0x20,0x6C,0x61,0x6E,0x67,0x75,0x61,0x67
+,0x65,0x73,0x20,0x74,0x68,0x69,0x73,0x20,0x64,0x6F,0x65,0x73,0x6E,0x27,0x74,0x20
+,0x6E,0x65,0x65,0x64,0x20,0x74,0x6F,0x20,0x62,0x65,0x20,0x70,0x61,0x73,0x73,0x65
+,0x64,0x20,0x61,0x6E,0x20,0x61,0x64,0x64,0x72,0x65,0x73,0x73,0x20,0x61,0x73,0x20
+,0x69,0x74,0x20,0x77,0x69,0x6C,0x6C,0x20,0x6F,0x6E,0x6C,0x79,0x20,0x62,0x65,0x20
+,0x61,0x6C,0x6C,0x6F,0x77,0x65,0x64,0x20,0x74,0x6F,0x20,0x63,0x6F,0x6D,0x6D,0x75
+,0x6E,0x69,0x63,0x61,0x74,0x65,0x20,0x77,0x69,0x74,0x68,0x20,0x69,0x74,0x73,0x65
+,0x6C,0x66,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x0D,0x0A,0x48,0x54,0x54,0x50,0x52
+,0x50,0x43,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x72,0x70,0x63
+,0x3D,0x20,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x6F,0x62,0x6A,0x65,0x63
+,0x74,0x2C,0x20,0x6D,0x65,0x74,0x68,0x6F,0x64,0x2C,0x20,0x61,0x72,0x67,0x75,0x6D
+,0x65,0x6E,0x74,0x73,0x29,0x20,0x7B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x72,0x65,0x74
+,0x75,0x72,0x6E,0x20,0x70,0x6F,0x73,0x74,0x28,0x22,0x2F,0x72,0x70,0x63,0x2F,0x22
+,0x20,0x2B,0x20,0x6F,0x62,0x6A,0x65,0x63,0x74,0x20,0x2B,0x20,0x22,0x2F,0x22,0x20
+,0x2B,0x20,0x6D,0x65,0x74,0x68,0x6F,0x64,0x20,0x2B,0x20,0x22,0x2C,0x22,0x20,0x2B
+,0x20,0x61,0x72,0x67,0x75,0x6D,0x65,0x6E,0x74,0x73,0x2E,0x6A,0x6F,0x69,0x6E,0x28
+,0x22,0x2C,0x22,0x29,0x29,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x2F,0x2F,0x20
+,0x50,0x69,0x6E,0x20,0x4E,0x61,0x6D,0x65,0x73,0x20,0x74,0x6F,0x20,0x41,0x6C,0x6C
+,0x6F,0x77,0x20,0x70,0x69,0x6E,0x73,0x20,0x74,0x6F,0x20,0x62,0x65,0x20,0x72,0x65
+,0x66,0x66,0x65,0x72,0x65,0x64,0x20,0x74,0x6F,0x20,0x61,0x73,0x20,0x61,0x20,0x74
+,0x79,0x70,0x65,0x20,0x72,0x61,0x74,0x68,0x65,0x72,0x20,0x74,0x68,0x61,0x6E,0x20
+,0x61,0x20,0x73,0x74,0x72,0x69,0x6E,0x67,0x20,0x6F,0x72,0x20,0x6E,0x75,0x6D,0x62
+,0x65,0x72,0x0D,0x0A,0x0D,0x0A,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x20,0x70
+,0x69,0x6E,0x28,0x6E,0x61,0x6D,0x65,0x29,0x7B,0x0D,0x0A,0x09,0x74,0x68,0x69,0x73
+,0x2E,0x5F,0x6E,0x61,0x6D,0x65,0x20,0x3D,0x20,0x6E,0x61,0x6D,0x65,0x3B,0x0D,0x0A
+,0x7D,0x0D,0x0A,0x0D,0x0A,0x4C,0x45,0x44,0x31,0x20,0x3D,0x20,0x6E,0x65,0x77,0x20
+,0x70,0x69,0x6E,0x28,0x22,0x4C,0x45,0x44,0x31,0x22,0x29,0x3B,0x0D,0x0A,0x4C,0x45
+,0x44,0x32,0x20,0x3D,0x20,0x6E,0x65,0x77,0x20,0x70,0x69,0x6E,0x28,0x22,0x4C,0x45
+,0x44,0x32,0x22,0x29,0x3B,0x0D,0x0A,0x4C,0x45,0x44,0x33,0x20,0x3D,0x20,0x6E,0x65
+,0x77,0x20,0x70,0x69,0x6E,0x28,0x22,0x4C,0x45,0x44,0x33,0x22,0x29,0x3B,0x0D,0x0A
+,0x4C,0x45,0x44,0x34,0x20,0x3D,0x20,0x6E,0x65,0x77,0x20,0x70,0x69,0x6E,0x28,0x22
+,0x4C,0x45,0x44,0x34,0x22,0x29,0x3B,0x0D,0x0A,0x0D,0x0A,0x2F,0x2F,0x20,0x69,0x6E
+,0x74,0x65,0x72,0x66,0x61,0x63,0x65,0x20,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E
+,0x73,0x20,0x20,0x20,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D
+,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D
+,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D
+,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D
+,0x2D,0x2D,0x2D,0x2D,0x0D,0x0A,0x0D,0x0A,0x2F,0x2F,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x20,0x44,0x69,0x67,0x69,0x74,0x61,0x6C,0x4F,0x75,0x74
+,0x20,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x0D,0x0A,0x0D,0x0A,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x20,0x44,0x69
+,0x67,0x69,0x74,0x61,0x6C,0x4F,0x75,0x74,0x28,0x74,0x68,0x69,0x73,0x5F,0x6D,0x62
+,0x65,0x64,0x2C,0x20,0x6D,0x70,0x69,0x6E,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x69,0x66
+,0x28,0x74,0x79,0x70,0x65,0x6F,0x66,0x20,0x6D,0x70,0x69,0x6E,0x20,0x21,0x3D,0x20
+,0x22,0x73,0x74,0x72,0x69,0x6E,0x67,0x22,0x29,0x7B,0x09,0x0D,0x0A,0x09,0x09,0x2F
+,0x2F,0x63,0x72,0x65,0x61,0x74,0x65,0x20,0x61,0x20,0x6E,0x65,0x77,0x20,0x6F,0x62
+,0x6A,0x65,0x63,0x74,0x0D,0x0A,0x09,0x09,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62
+,0x65,0x64,0x20,0x3D,0x20,0x74,0x68,0x69,0x73,0x5F,0x6D,0x62,0x65,0x64,0x3B,0x0D
+,0x0A,0x09,0x2F,0x2F,0x76,0x61,0x72,0x20,0x61,0x72,0x79,0x20,0x3D,0x20,0x6E,0x65
+,0x77,0x20,0x41,0x72,0x72,0x61,0x79,0x28,0x6D,0x70,0x69,0x6E,0x2E,0x5F,0x6E,0x61
+,0x6D,0x65,0x2C,0x6D,0x70,0x69,0x6E,0x2E,0x5F,0x6E,0x61,0x6D,0x65,0x29,0x3B,0x0D
+,0x0A,0x20,0x20,0x20,0x20,0x09,0x09,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65
+,0x20,0x3D,0x20,0x74,0x68,0x69,0x73,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72,0x70,0x63
+,0x28,0x22,0x44,0x69,0x67,0x69,0x74,0x61,0x6C,0x4F,0x75,0x74,0x22,0x2C,0x20,0x22
+,0x6E,0x65,0x77,0x22,0x2C,0x20,0x5B,0x6D,0x70,0x69,0x6E,0x2E,0x5F,0x6E,0x61,0x6D
+,0x65,0x2C,0x6D,0x70,0x69,0x6E,0x2E,0x5F,0x6E,0x61,0x6D,0x65,0x5D,0x29,0x3B,0x20
+,0x0D,0x0A,0x09,0x2F,0x2F,0x09,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x20
+,0x3D,0x20,0x74,0x68,0x69,0x73,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72,0x70,0x63,0x28
+,0x22,0x44,0x69,0x67,0x69,0x74,0x61,0x6C,0x4F,0x75,0x74,0x22,0x2C,0x20,0x22,0x6E
+,0x65,0x77,0x22,0x2C,0x20,0x61,0x72,0x79,0x29,0x3B,0x20,0x0D,0x0A,0x09,0x7D,0x65
+,0x6C,0x73,0x65,0x7B,0x0D,0x0A,0x09,0x09,0x2F,0x2F,0x54,0x69,0x65,0x20,0x74,0x6F
+,0x20,0x61,0x6E,0x20,0x65,0x78,0x69,0x73,0x74,0x69,0x6E,0x67,0x20,0x6F,0x62,0x6A
+,0x65,0x63,0x74,0x0D,0x0A,0x09,0x09,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65
+,0x64,0x20,0x3D,0x20,0x74,0x68,0x69,0x73,0x5F,0x6D,0x62,0x65,0x64,0x3B,0x0D,0x0A
+,0x09,0x09,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x20,0x3D,0x20,0x6D,0x70
+,0x69,0x6E,0x3B,0x0D,0x0A,0x09,0x7D,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x44,0x69
+,0x67,0x69,0x74,0x61,0x6C,0x4F,0x75,0x74,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74,0x79
+,0x70,0x65,0x2E,0x77,0x72,0x69,0x74,0x65,0x20,0x3D,0x20,0x66,0x75,0x6E,0x63,0x74
+,0x69,0x6F,0x6E,0x28,0x76,0x61,0x6C,0x75,0x65,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x74
+,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72,0x70,0x63,0x28,0x74,0x68
+,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22,0x77,0x72,0x69,0x74,0x65,0x22
+,0x2C,0x20,0x5B,0x76,0x61,0x6C,0x75,0x65,0x5D,0x29,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A
+,0x0D,0x0A,0x44,0x69,0x67,0x69,0x74,0x61,0x6C,0x4F,0x75,0x74,0x2E,0x70,0x72,0x6F
+,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x72,0x65,0x61,0x64,0x20,0x3D,0x20,0x66,0x75
+,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x72,0x65,0x74
+,0x75,0x72,0x6E,0x20,0x70,0x61,0x72,0x73,0x65,0x49,0x6E,0x74,0x28,0x74,0x68,0x69
+,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72,0x70,0x63,0x28,0x74,0x68,0x69,0x73
+,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22,0x72,0x65,0x61,0x64,0x22,0x2C,0x20,0x5B
+,0x22,0x22,0x5D,0x29,0x29,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A,0x2F,0x2F,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x20,0x44,0x69,0x67,0x69,0x74,0x61,0x6C
+,0x49,0x6E,0x20,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x0D,0x0A,0x0D,0x0A,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x20
+,0x44,0x69,0x67,0x69,0x74,0x61,0x6C,0x49,0x6E,0x28,0x74,0x68,0x69,0x73,0x5F,0x6D
+,0x62,0x65,0x64,0x2C,0x20,0x6D,0x70,0x69,0x6E,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x69
+,0x66,0x28,0x74,0x79,0x70,0x65,0x6F,0x66,0x20,0x6D,0x70,0x69,0x6E,0x20,0x21,0x3D
+,0x20,0x22,0x73,0x74,0x72,0x69,0x6E,0x67,0x22,0x29,0x7B,0x09,0x0D,0x0A,0x09,0x09
+,0x2F,0x2F,0x63,0x72,0x65,0x61,0x74,0x65,0x20,0x61,0x20,0x6E,0x65,0x77,0x20,0x6F
+,0x62,0x6A,0x65,0x63,0x74,0x0D,0x0A,0x09,0x09,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D
+,0x62,0x65,0x64,0x20,0x3D,0x20,0x74,0x68,0x69,0x73,0x5F,0x6D,0x62,0x65,0x64,0x3B
+,0x0D,0x0A,0x20,0x20,0x20,0x20,0x09,0x09,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D
+,0x65,0x20,0x3D,0x20,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72
+,0x70,0x63,0x28,0x22,0x44,0x69,0x67,0x69,0x74,0x61,0x6C,0x49,0x6E,0x22,0x2C,0x20
+,0x22,0x6E,0x65,0x77,0x22,0x2C,0x20,0x5B,0x6D,0x70,0x69,0x6E,0x2E,0x5F,0x6E,0x61
+,0x6D,0x65,0x2C,0x6D,0x70,0x69,0x6E,0x2E,0x5F,0x6E,0x61,0x6D,0x65,0x5D,0x29,0x3B
+,0x20,0x0D,0x0A,0x09,0x7D,0x65,0x6C,0x73,0x65,0x7B,0x0D,0x0A,0x09,0x09,0x2F,0x2F
+,0x54,0x69,0x65,0x20,0x74,0x6F,0x20,0x61,0x6E,0x20,0x65,0x78,0x69,0x73,0x74,0x69
+,0x6E,0x67,0x20,0x6F,0x62,0x6A,0x65,0x63,0x74,0x0D,0x0A,0x09,0x09,0x74,0x68,0x69
+,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x20,0x3D,0x20,0x74,0x68,0x69,0x73,0x5F,0x6D
+,0x62,0x65,0x64,0x3B,0x0D,0x0A,0x09,0x09,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D
+,0x65,0x20,0x3D,0x20,0x6D,0x70,0x69,0x6E,0x3B,0x0D,0x0A,0x09,0x7D,0x0D,0x0A,0x0D
+,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x44,0x69,0x67,0x69,0x74,0x61,0x6C,0x49,0x6E,0x2E
+,0x70,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x72,0x65,0x61,0x64,0x20,0x3D
+,0x20,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x29,0x20,0x7B,0x0D,0x0A,0x09
+,0x72,0x65,0x74,0x75,0x72,0x6E,0x20,0x70,0x61,0x72,0x73,0x65,0x49,0x6E,0x74,0x28
+,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72,0x70,0x63,0x28,0x74
+,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22,0x72,0x65,0x61,0x64,0x22
+,0x2C,0x20,0x5B,0x22,0x22,0x5D,0x29,0x29,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A
+,0x2F,0x2F,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x20,0x41,0x6E
+,0x61,0x6C,0x6F,0x67,0x4F,0x75,0x74,0x20,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x0D,0x0A,0x0D,0x0A,0x66,0x75,0x6E,0x63
+,0x74,0x69,0x6F,0x6E,0x20,0x41,0x6E,0x61,0x6C,0x6F,0x67,0x4F,0x75,0x74,0x28,0x74
+,0x68,0x69,0x73,0x5F,0x6D,0x62,0x65,0x64,0x2C,0x20,0x6D,0x70,0x69,0x6E,0x29,0x20
+,0x7B,0x0D,0x0A,0x09,0x69,0x66,0x28,0x74,0x79,0x70,0x65,0x6F,0x66,0x20,0x6D,0x70
+,0x69,0x6E,0x20,0x21,0x3D,0x20,0x22,0x73,0x74,0x72,0x69,0x6E,0x67,0x22,0x29,0x7B
+,0x09,0x0D,0x0A,0x09,0x09,0x2F,0x2F,0x63,0x72,0x65,0x61,0x74,0x65,0x20,0x61,0x20
+,0x6E,0x65,0x77,0x20,0x6F,0x62,0x6A,0x65,0x63,0x74,0x0D,0x0A,0x09,0x09,0x74,0x68
+,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x20,0x3D,0x20,0x74,0x68,0x69,0x73,0x5F
+,0x6D,0x62,0x65,0x64,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x09,0x09,0x74,0x68,0x69
+,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x20,0x3D,0x20,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D
+,0x62,0x65,0x64,0x2E,0x72,0x70,0x63,0x28,0x22,0x41,0x6E,0x61,0x6C,0x6F,0x67,0x4F
+,0x75,0x74,0x22,0x2C,0x20,0x22,0x6E,0x65,0x77,0x22,0x2C,0x20,0x5B,0x6D,0x70,0x69
+,0x6E,0x2E,0x5F,0x6E,0x61,0x6D,0x65,0x2C,0x6D,0x70,0x69,0x6E,0x2E,0x5F,0x6E,0x61
+,0x6D,0x65,0x5D,0x29,0x3B,0x20,0x0D,0x0A,0x09,0x7D,0x65,0x6C,0x73,0x65,0x7B,0x0D
+,0x0A,0x09,0x09,0x2F,0x2F,0x54,0x69,0x65,0x20,0x74,0x6F,0x20,0x61,0x6E,0x20,0x65
+,0x78,0x69,0x73,0x74,0x69,0x6E,0x67,0x20,0x6F,0x62,0x6A,0x65,0x63,0x74,0x0D,0x0A
+,0x09,0x09,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x20,0x3D,0x20,0x74
+,0x68,0x69,0x73,0x5F,0x6D,0x62,0x65,0x64,0x3B,0x0D,0x0A,0x09,0x09,0x74,0x68,0x69
+,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x20,0x3D,0x20,0x6D,0x70,0x69,0x6E,0x3B,0x0D,0x0A
+,0x09,0x7D,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x41,0x6E,0x61,0x6C,0x6F,0x67,0x4F
+,0x75,0x74,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x77,0x72,0x69
+,0x74,0x65,0x20,0x3D,0x20,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x76,0x61
+,0x6C,0x75,0x65,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D
+,0x62,0x65,0x64,0x2E,0x72,0x70,0x63,0x28,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D
+,0x65,0x2C,0x20,0x22,0x77,0x72,0x69,0x74,0x65,0x22,0x2C,0x20,0x5B,0x76,0x61,0x6C
+,0x75,0x65,0x5D,0x29,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x41,0x6E,0x61,0x6C
+,0x6F,0x67,0x4F,0x75,0x74,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E
+,0x77,0x72,0x69,0x74,0x65,0x5F,0x75,0x31,0x36,0x20,0x3D,0x20,0x66,0x75,0x6E,0x63
+,0x74,0x69,0x6F,0x6E,0x28,0x76,0x61,0x6C,0x75,0x65,0x29,0x20,0x7B,0x0D,0x0A,0x09
+,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72,0x70,0x63,0x28,0x74
+,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22,0x77,0x72,0x69,0x74,0x65
+,0x5F,0x75,0x31,0x36,0x22,0x2C,0x20,0x5B,0x76,0x61,0x6C,0x75,0x65,0x5D,0x29,0x3B
+,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x41,0x6E,0x61,0x6C,0x6F,0x67,0x4F,0x75,0x74
+,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x72,0x65,0x61,0x64,0x20
+,0x3D,0x20,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x29,0x20,0x7B,0x0D,0x0A
+,0x09,0x72,0x65,0x74,0x75,0x72,0x6E,0x20,0x70,0x61,0x72,0x73,0x65,0x46,0x6C,0x6F
+,0x61,0x74,0x28,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72,0x70
+,0x63,0x28,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22,0x72,0x65
+,0x61,0x64,0x22,0x2C,0x20,0x5B,0x22,0x22,0x5D,0x29,0x29,0x3B,0x0D,0x0A,0x7D,0x0D
+,0x0A,0x0D,0x0A,0x2F,0x2F,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x20,0x41,0x6E,0x61,0x6C,0x6F,0x67,0x49,0x6E,0x20,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x0D,0x0A,0x0D,0x0A,0x66,0x75
+,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x20,0x41,0x6E,0x61,0x6C,0x6F,0x67,0x49,0x6E,0x28
+,0x74,0x68,0x69,0x73,0x5F,0x6D,0x62,0x65,0x64,0x2C,0x20,0x6D,0x70,0x69,0x6E,0x29
+,0x20,0x7B,0x0D,0x0A,0x09,0x69,0x66,0x28,0x74,0x79,0x70,0x65,0x6F,0x66,0x20,0x6D
+,0x70,0x69,0x6E,0x20,0x21,0x3D,0x20,0x22,0x73,0x74,0x72,0x69,0x6E,0x67,0x22,0x29
+,0x7B,0x09,0x0D,0x0A,0x09,0x09,0x2F,0x2F,0x63,0x72,0x65,0x61,0x74,0x65,0x20,0x61
+,0x20,0x6E,0x65,0x77,0x20,0x6F,0x62,0x6A,0x65,0x63,0x74,0x0D,0x0A,0x09,0x09,0x74
+,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x20,0x3D,0x20,0x74,0x68,0x69,0x73
+,0x5F,0x6D,0x62,0x65,0x64,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x09,0x09,0x74,0x68
+,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x20,0x3D,0x20,0x74,0x68,0x69,0x73,0x2E,0x5F
+,0x6D,0x62,0x65,0x64,0x2E,0x72,0x70,0x63,0x28,0x22,0x41,0x6E,0x61,0x6C,0x6F,0x67
+,0x49,0x6E,0x22,0x2C,0x20,0x22,0x6E,0x65,0x77,0x22,0x2C,0x20,0x5B,0x6D,0x70,0x69
+,0x6E,0x2E,0x5F,0x6E,0x61,0x6D,0x65,0x2C,0x6D,0x70,0x69,0x6E,0x2E,0x5F,0x6E,0x61
+,0x6D,0x65,0x5D,0x29,0x3B,0x20,0x0D,0x0A,0x09,0x7D,0x65,0x6C,0x73,0x65,0x7B,0x0D
+,0x0A,0x09,0x09,0x2F,0x2F,0x54,0x69,0x65,0x20,0x74,0x6F,0x20,0x61,0x6E,0x20,0x65
+,0x78,0x69,0x73,0x74,0x69,0x6E,0x67,0x20,0x6F,0x62,0x6A,0x65,0x63,0x74,0x0D,0x0A
+,0x09,0x09,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x20,0x3D,0x20,0x74
+,0x68,0x69,0x73,0x5F,0x6D,0x62,0x65,0x64,0x3B,0x0D,0x0A,0x09,0x09,0x74,0x68,0x69
+,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x20,0x3D,0x20,0x6D,0x70,0x69,0x6E,0x3B,0x0D,0x0A
+,0x09,0x7D,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x41,0x6E,0x61,0x6C,0x6F,0x67,0x49
+,0x6E,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x72,0x65,0x61,0x64
+,0x20,0x3D,0x20,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x29,0x20,0x7B,0x0D
+,0x0A,0x09,0x72,0x65,0x74,0x75,0x72,0x6E,0x20,0x70,0x61,0x72,0x73,0x65,0x46,0x6C
+,0x6F,0x61,0x74,0x28,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72
+,0x70,0x63,0x28,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22,0x72
+,0x65,0x61,0x64,0x22,0x2C,0x20,0x5B,0x22,0x22,0x5D,0x29,0x29,0x3B,0x0D,0x0A,0x7D
+,0x0D,0x0A,0x0D,0x0A,0x41,0x6E,0x61,0x6C,0x6F,0x67,0x49,0x6E,0x2E,0x70,0x72,0x6F
+,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x72,0x65,0x61,0x64,0x5F,0x75,0x31,0x36,0x20
+,0x3D,0x20,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x29,0x20,0x7B,0x0D,0x0A
+,0x09,0x72,0x65,0x74,0x75,0x72,0x6E,0x20,0x70,0x61,0x72,0x73,0x65,0x49,0x6E,0x74
+,0x28,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72,0x70,0x63,0x28
+,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22,0x72,0x65,0x61,0x64
+,0x5F,0x75,0x31,0x36,0x22,0x2C,0x20,0x5B,0x22,0x22,0x5D,0x29,0x29,0x3B,0x0D,0x0A
+,0x7D,0x0D,0x0A,0x0D,0x0A,0x2F,0x2F,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x20,0x50,0x77,0x6D,0x4F,0x75,0x74,0x20,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x0D,0x0A,0x0D,0x0A,0x66,0x75
+,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x20,0x50,0x77,0x6D,0x4F,0x75,0x74,0x28,0x74,0x68
+,0x69,0x73,0x5F,0x6D,0x62,0x65,0x64,0x2C,0x20,0x6D,0x70,0x69,0x6E,0x29,0x20,0x7B
+,0x0D,0x0A,0x09,0x69,0x66,0x28,0x74,0x79,0x70,0x65,0x6F,0x66,0x20,0x6D,0x70,0x69
+,0x6E,0x20,0x21,0x3D,0x20,0x22,0x73,0x74,0x72,0x69,0x6E,0x67,0x22,0x29,0x7B,0x09
+,0x0D,0x0A,0x09,0x09,0x2F,0x2F,0x63,0x72,0x65,0x61,0x74,0x65,0x20,0x61,0x20,0x6E
+,0x65,0x77,0x20,0x6F,0x62,0x6A,0x65,0x63,0x74,0x0D,0x0A,0x09,0x09,0x74,0x68,0x69
+,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x20,0x3D,0x20,0x74,0x68,0x69,0x73,0x5F,0x6D
+,0x62,0x65,0x64,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x09,0x09,0x74,0x68,0x69,0x73
+,0x2E,0x6E,0x61,0x6D,0x65,0x20,0x3D,0x20,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62
+,0x65,0x64,0x2E,0x72,0x70,0x63,0x28,0x22,0x50,0x77,0x6D,0x4F,0x75,0x74,0x22,0x2C
+,0x20,0x22,0x6E,0x65,0x77,0x22,0x2C,0x20,0x5B,0x6D,0x70,0x69,0x6E,0x2E,0x5F,0x6E
+,0x61,0x6D,0x65,0x2C,0x6D,0x70,0x69,0x6E,0x2E,0x5F,0x6E,0x61,0x6D,0x65,0x5D,0x29
+,0x3B,0x20,0x0D,0x0A,0x09,0x7D,0x65,0x6C,0x73,0x65,0x7B,0x0D,0x0A,0x09,0x09,0x2F
+,0x2F,0x54,0x69,0x65,0x20,0x74,0x6F,0x20,0x61,0x6E,0x20,0x65,0x78,0x69,0x73,0x74
+,0x69,0x6E,0x67,0x20,0x6F,0x62,0x6A,0x65,0x63,0x74,0x0D,0x0A,0x09,0x09,0x74,0x68
+,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x20,0x3D,0x20,0x74,0x68,0x69,0x73,0x5F
+,0x6D,0x62,0x65,0x64,0x3B,0x0D,0x0A,0x09,0x09,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61
+,0x6D,0x65,0x20,0x3D,0x20,0x6D,0x70,0x69,0x6E,0x3B,0x0D,0x0A,0x09,0x7D,0x0D,0x0A
+,0x7D,0x0D,0x0A,0x0D,0x0A,0x50,0x77,0x6D,0x4F,0x75,0x74,0x2E,0x70,0x72,0x6F,0x74
+,0x6F,0x74,0x79,0x70,0x65,0x2E,0x77,0x72,0x69,0x74,0x65,0x20,0x3D,0x20,0x66,0x75
+,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x76,0x61,0x6C,0x75,0x65,0x29,0x20,0x7B,0x0D
+,0x0A,0x09,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72,0x70,0x63
+,0x28,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22,0x77,0x72,0x69
+,0x74,0x65,0x22,0x2C,0x20,0x5B,0x76,0x61,0x6C,0x75,0x65,0x5D,0x29,0x3B,0x0D,0x0A
+,0x7D,0x0D,0x0A,0x0D,0x0A,0x50,0x77,0x6D,0x4F,0x75,0x74,0x2E,0x70,0x72,0x6F,0x74
+,0x6F,0x74,0x79,0x70,0x65,0x2E,0x72,0x65,0x61,0x64,0x20,0x3D,0x20,0x66,0x75,0x6E
+,0x63,0x74,0x69,0x6F,0x6E,0x28,0x29,0x20,0x7B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x72
+,0x65,0x74,0x75,0x72,0x6E,0x20,0x70,0x61,0x72,0x73,0x65,0x46,0x6C,0x6F,0x61,0x74
+,0x28,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72,0x70,0x63,0x28
+,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22,0x72,0x65,0x61,0x64
+,0x22,0x2C,0x20,0x5B,0x22,0x22,0x5D,0x29,0x29,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D
+,0x0A,0x50,0x77,0x6D,0x4F,0x75,0x74,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70
+,0x65,0x2E,0x70,0x65,0x72,0x69,0x6F,0x64,0x20,0x3D,0x20,0x66,0x75,0x6E,0x63,0x74
+,0x69,0x6F,0x6E,0x28,0x76,0x61,0x6C,0x75,0x65,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x74
+,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72,0x70,0x63,0x28,0x74,0x68
+,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22,0x70,0x65,0x72,0x69,0x6F,0x64
+,0x22,0x2C,0x20,0x5B,0x76,0x61,0x6C,0x75,0x65,0x5D,0x29,0x3B,0x0D,0x0A,0x7D,0x0D
+,0x0A,0x0D,0x0A,0x50,0x77,0x6D,0x4F,0x75,0x74,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74
+,0x79,0x70,0x65,0x2E,0x70,0x65,0x72,0x69,0x6F,0x64,0x5F,0x6D,0x73,0x20,0x3D,0x20
+,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x76,0x61,0x6C,0x75,0x65,0x29,0x20
+,0x7B,0x0D,0x0A,0x09,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72
+,0x70,0x63,0x28,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22,0x70
+,0x65,0x72,0x69,0x6F,0x64,0x5F,0x6D,0x73,0x22,0x2C,0x20,0x5B,0x76,0x61,0x6C,0x75
+,0x65,0x5D,0x29,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x50,0x77,0x6D,0x4F,0x75
+,0x74,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x70,0x65,0x72,0x69
+,0x6F,0x64,0x5F,0x75,0x73,0x20,0x3D,0x20,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E
+,0x28,0x76,0x61,0x6C,0x75,0x65,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x74,0x68,0x69,0x73
+,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72,0x70,0x63,0x28,0x74,0x68,0x69,0x73,0x2E
+,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22,0x70,0x65,0x72,0x69,0x6F,0x64,0x5F,0x75,0x73
+,0x22,0x2C,0x20,0x5B,0x76,0x61,0x6C,0x75,0x65,0x5D,0x29,0x3B,0x0D,0x0A,0x7D,0x0D
+,0x0A,0x0D,0x0A,0x50,0x77,0x6D,0x4F,0x75,0x74,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74
+,0x79,0x70,0x65,0x2E,0x70,0x75,0x6C,0x73,0x65,0x77,0x69,0x64,0x74,0x68,0x20,0x3D
+,0x20,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x76,0x61,0x6C,0x75,0x65,0x29
+,0x20,0x7B,0x0D,0x0A,0x09,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E
+,0x72,0x70,0x63,0x28,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22
+,0x70,0x75,0x6C,0x73,0x65,0x77,0x69,0x64,0x74,0x68,0x22,0x2C,0x20,0x5B,0x76,0x61
+,0x6C,0x75,0x65,0x5D,0x29,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x50,0x77,0x6D
+,0x4F,0x75,0x74,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x70,0x75
+,0x6C,0x73,0x65,0x77,0x69,0x64,0x74,0x68,0x5F,0x6D,0x73,0x20,0x3D,0x20,0x66,0x75
+,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x76,0x61,0x6C,0x75,0x65,0x29,0x20,0x7B,0x0D
+,0x0A,0x09,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72,0x70,0x63
+,0x28,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22,0x70,0x75,0x6C
+,0x73,0x65,0x77,0x69,0x64,0x74,0x68,0x5F,0x6D,0x73,0x22,0x2C,0x20,0x5B,0x76,0x61
+,0x6C,0x75,0x65,0x5D,0x29,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x50,0x77,0x6D
+,0x4F,0x75,0x74,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x70,0x75
+,0x6C,0x73,0x65,0x77,0x69,0x64,0x74,0x68,0x5F,0x75,0x73,0x20,0x3D,0x20,0x66,0x75
+,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x76,0x61,0x6C,0x75,0x65,0x29,0x20,0x7B,0x0D
+,0x0A,0x09,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72,0x70,0x63
+,0x28,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22,0x70,0x75,0x6C
+,0x73,0x65,0x77,0x69,0x64,0x74,0x68,0x5F,0x75,0x73,0x22,0x2C,0x20,0x5B,0x76,0x61
+,0x6C,0x75,0x65,0x5D,0x29,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x2F,0x2F,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x20,0x73,0x65,0x72,0x69,0x61
+,0x6C,0x20,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x0D,0x0A,0x0D,0x0A,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x20,0x53
+,0x65,0x72,0x69,0x61,0x6C,0x28,0x74,0x68,0x69,0x73,0x5F,0x6D,0x62,0x65,0x64,0x2C
+,0x20,0x74,0x78,0x2C,0x20,0x72,0x78,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x69,0x66,0x28
+,0x74,0x79,0x70,0x65,0x6F,0x66,0x20,0x74,0x78,0x20,0x21,0x3D,0x20,0x22,0x73,0x74
+,0x72,0x69,0x6E,0x67,0x22,0x29,0x7B,0x09,0x0D,0x0A,0x09,0x09,0x2F,0x2F,0x63,0x72
+,0x65,0x61,0x74,0x65,0x20,0x61,0x20,0x6E,0x65,0x77,0x20,0x6F,0x62,0x6A,0x65,0x63
+,0x74,0x0D,0x0A,0x09,0x09,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x20
+,0x3D,0x20,0x74,0x68,0x69,0x73,0x5F,0x6D,0x62,0x65,0x64,0x3B,0x0D,0x0A,0x20,0x20
+,0x20,0x20,0x09,0x09,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x20,0x3D,0x20
+,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72,0x70,0x63,0x28,0x22
+,0x53,0x65,0x72,0x69,0x61,0x6C,0x22,0x2C,0x20,0x22,0x6E,0x65,0x77,0x22,0x2C,0x20
+,0x5B,0x74,0x78,0x2E,0x5F,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x72,0x78,0x2E,0x5F,0x6E
+,0x61,0x6D,0x65,0x5D,0x29,0x3B,0x20,0x0D,0x0A,0x09,0x7D,0x65,0x6C,0x73,0x65,0x7B
+,0x0D,0x0A,0x09,0x09,0x2F,0x2F,0x54,0x69,0x65,0x20,0x74,0x6F,0x20,0x61,0x6E,0x20
+,0x65,0x78,0x69,0x73,0x74,0x69,0x6E,0x67,0x20,0x6F,0x62,0x6A,0x65,0x63,0x74,0x0D
+,0x0A,0x09,0x09,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x20,0x3D,0x20
+,0x74,0x68,0x69,0x73,0x5F,0x6D,0x62,0x65,0x64,0x3B,0x0D,0x0A,0x09,0x09,0x74,0x68
+,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x20,0x3D,0x20,0x74,0x78,0x3B,0x0D,0x0A,0x09
+,0x7D,0x0D,0x0A,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x53,0x65,0x72,0x69,0x61,0x6C
+,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x70,0x75,0x74,0x63,0x20
+,0x3D,0x20,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x76,0x61,0x6C,0x75,0x65
+,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64
+,0x2E,0x72,0x70,0x63,0x28,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20
+,0x22,0x70,0x75,0x74,0x63,0x22,0x2C,0x20,0x5B,0x76,0x61,0x6C,0x75,0x65,0x5D,0x29
+,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x53,0x65,0x72,0x69,0x61,0x6C,0x2E,0x70
+,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x67,0x65,0x74,0x63,0x20,0x3D,0x20
+,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x76,0x61,0x6C,0x75,0x65,0x29,0x20
+,0x7B,0x0D,0x0A,0x09,0x72,0x65,0x74,0x75,0x72,0x6E,0x20,0x70,0x61,0x72,0x73,0x65
+,0x49,0x6E,0x74,0x28,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72
+,0x70,0x63,0x28,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22,0x67
+,0x65,0x74,0x63,0x22,0x2C,0x20,0x5B,0x22,0x22,0x5D,0x29,0x29,0x3B,0x0D,0x0A,0x7D
+,0x0D,0x0A,0x0D,0x0A,0x53,0x65,0x72,0x69,0x61,0x6C,0x2E,0x70,0x72,0x6F,0x74,0x6F
+,0x74,0x79,0x70,0x65,0x2E,0x72,0x65,0x61,0x64,0x61,0x62,0x6C,0x65,0x20,0x3D,0x20
+,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x76,0x61,0x6C,0x75,0x65,0x29,0x20
+,0x7B,0x0D,0x0A,0x09,0x72,0x65,0x74,0x75,0x72,0x6E,0x20,0x70,0x61,0x72,0x73,0x65
+,0x49,0x6E,0x74,0x28,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72
+,0x70,0x63,0x28,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22,0x72
+,0x65,0x61,0x64,0x61,0x62,0x6C,0x65,0x22,0x2C,0x20,0x5B,0x22,0x22,0x5D,0x29,0x29
+,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x53,0x65,0x72,0x69,0x61,0x6C,0x2E,0x70
+,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x77,0x72,0x69,0x74,0x65,0x61,0x62
+,0x6C,0x65,0x20,0x3D,0x20,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x76,0x61
+,0x6C,0x75,0x65,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x72,0x65,0x74,0x75,0x72,0x6E,0x20
+,0x70,0x61,0x72,0x73,0x65,0x49,0x6E,0x74,0x28,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D
+,0x62,0x65,0x64,0x2E,0x72,0x70,0x63,0x28,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D
+,0x65,0x2C,0x20,0x22,0x77,0x72,0x69,0x74,0x65,0x61,0x62,0x6C,0x65,0x22,0x2C,0x20
+,0x5B,0x22,0x22,0x5D,0x29,0x29,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x0D,0x0A
+,0x2F,0x2F,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x20,0x52,0x50
+,0x43,0x56,0x61,0x72,0x69,0x61,0x62,0x6C,0x65,0x20,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x0D,0x0A,0x0D,0x0A,0x66,0x75
+,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x20,0x52,0x50,0x43,0x56,0x61,0x72,0x69,0x61,0x62
+,0x6C,0x65,0x28,0x74,0x68,0x69,0x73,0x5F,0x6D,0x62,0x65,0x64,0x2C,0x20,0x6E,0x61
+,0x6D,0x65,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62
+,0x65,0x64,0x20,0x3D,0x20,0x74,0x68,0x69,0x73,0x5F,0x6D,0x62,0x65,0x64,0x3B,0x0D
+,0x0A,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61
+,0x6D,0x65,0x20,0x3D,0x20,0x6E,0x61,0x6D,0x65,0x3B,0x20,0x0D,0x0A,0x7D,0x0D,0x0A
+,0x0D,0x0A,0x52,0x50,0x43,0x56,0x61,0x72,0x69,0x61,0x62,0x6C,0x65,0x2E,0x70,0x72
+,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x77,0x72,0x69,0x74,0x65,0x20,0x3D,0x20
+,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x76,0x61,0x6C,0x75,0x65,0x29,0x20
+,0x7B,0x0D,0x0A,0x09,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72
+,0x70,0x63,0x28,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22,0x77
+,0x72,0x69,0x74,0x65,0x22,0x2C,0x20,0x5B,0x76,0x61,0x6C,0x75,0x65,0x5D,0x29,0x3B
+,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x52,0x50,0x43,0x56,0x61,0x72,0x69,0x61,0x62
+,0x6C,0x65,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x72,0x65,0x61
+,0x64,0x5F,0x69,0x6E,0x74,0x20,0x3D,0x20,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E
+,0x28,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x72,0x65,0x74,0x75,0x72,0x6E,0x20,0x70,0x61
+,0x72,0x73,0x65,0x49,0x6E,0x74,0x28,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65
+,0x64,0x2E,0x72,0x70,0x63,0x28,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C
+,0x20,0x22,0x72,0x65,0x61,0x64,0x22,0x2C,0x20,0x5B,0x22,0x22,0x5D,0x29,0x29,0x3B
+,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x52,0x50,0x43,0x56,0x61,0x72,0x69,0x61,0x62
+,0x6C,0x65,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x72,0x65,0x61
+,0x64,0x5F,0x66,0x6C,0x6F,0x61,0x74,0x20,0x3D,0x20,0x66,0x75,0x6E,0x63,0x74,0x69
+,0x6F,0x6E,0x28,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x72,0x65,0x74,0x75,0x72,0x6E,0x20
+,0x70,0x61,0x72,0x73,0x65,0x46,0x6C,0x6F,0x61,0x74,0x28,0x74,0x68,0x69,0x73,0x2E
+,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72,0x70,0x63,0x28,0x74,0x68,0x69,0x73,0x2E,0x6E
+,0x61,0x6D,0x65,0x2C,0x20,0x22,0x72,0x65,0x61,0x64,0x22,0x2C,0x20,0x5B,0x22,0x22
+,0x5D,0x29,0x29,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x52,0x50,0x43,0x56,0x61
+,0x72,0x69,0x61,0x62,0x6C,0x65,0x2E,0x70,0x72,0x6F,0x74,0x6F,0x74,0x79,0x70,0x65
+,0x2E,0x72,0x65,0x61,0x64,0x20,0x3D,0x20,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E
+,0x28,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x72,0x65,0x74,0x75,0x72,0x6E,0x20,0x28,0x74
+,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65,0x64,0x2E,0x72,0x70,0x63,0x28,0x74,0x68
+,0x69,0x73,0x2E,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x22,0x72,0x65,0x61,0x64,0x22,0x2C
+,0x20,0x5B,0x22,0x22,0x5D,0x29,0x29,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x2F
+,0x2F,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x20,0x52,0x50,0x43
+,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x20,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
+,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x0D,0x0A,0x0D,0x0A,0x66,0x75,0x6E
+,0x63,0x74,0x69,0x6F,0x6E,0x20,0x52,0x50,0x43,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F
+,0x6E,0x28,0x74,0x68,0x69,0x73,0x5F,0x6D,0x62,0x65,0x64,0x2C,0x20,0x6E,0x61,0x6D
+,0x65,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D,0x62,0x65
+,0x64,0x20,0x3D,0x20,0x74,0x68,0x69,0x73,0x5F,0x6D,0x62,0x65,0x64,0x3B,0x0D,0x0A
+,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D
+,0x65,0x20,0x3D,0x20,0x6E,0x61,0x6D,0x65,0x3B,0x20,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D
+,0x0A,0x52,0x50,0x43,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x2E,0x70,0x72,0x6F
+,0x74,0x6F,0x74,0x79,0x70,0x65,0x2E,0x72,0x75,0x6E,0x20,0x3D,0x20,0x66,0x75,0x6E
+,0x63,0x74,0x69,0x6F,0x6E,0x28,0x76,0x61,0x6C,0x75,0x65,0x29,0x20,0x7B,0x0D,0x0A
+,0x09,0x72,0x65,0x74,0x75,0x72,0x6E,0x20,0x28,0x74,0x68,0x69,0x73,0x2E,0x5F,0x6D
+,0x62,0x65,0x64,0x2E,0x72,0x70,0x63,0x28,0x74,0x68,0x69,0x73,0x2E,0x6E,0x61,0x6D
+,0x65,0x2C,0x20,0x22,0x72,0x75,0x6E,0x22,0x2C,0x20,0x5B,0x76,0x61,0x6C,0x75,0x65
+,0x5D,0x29,0x29,0x3B,0x0D,0x0A,0x7D
+};
+
+static const char led_htm_tbl[] = {
+ 0x3C,0x68,0x74,0x6D,0x6C,0x3E,0x0D,0x0A,0x3C,0x68,0x65,0x61,0x64,0x3E,0x0D,0x0A
+,0x3C,0x6D,0x65,0x74,0x61,0x20,0x68,0x74,0x74,0x70,0x2D,0x65,0x71,0x75,0x69,0x76
+,0x3D,0x22,0x43,0x6F,0x6E,0x74,0x65,0x6E,0x74,0x2D,0x54,0x79,0x70,0x65,0x22,0x20
+,0x63,0x6F,0x6E,0x74,0x65,0x6E,0x74,0x3D,0x22,0x74,0x65,0x78,0x74,0x2F,0x68,0x74
+,0x6D,0x6C,0x3B,0x20,0x63,0x68,0x61,0x72,0x73,0x65,0x74,0x3D,0x22,0x20,0x75,0x74
+,0x66,0x2D,0x38,0x22,0x3E,0x20,0x0D,0x0A,0x3C,0x74,0x69,0x74,0x6C,0x65,0x3E,0x4C
+,0x45,0x44,0x20,0x54,0x6F,0x67,0x67,0x6C,0x65,0x3C,0x2F,0x74,0x69,0x74,0x6C,0x65
+,0x3E,0x0D,0x0A,0x3C,0x73,0x63,0x72,0x69,0x70,0x74,0x20,0x74,0x79,0x70,0x65,0x3D
+,0x22,0x74,0x65,0x78,0x74,0x2F,0x6A,0x61,0x76,0x61,0x73,0x63,0x72,0x69,0x70,0x74
+,0x22,0x20,0x73,0x72,0x63,0x3D,0x22,0x6D,0x62,0x65,0x64,0x52,0x50,0x43,0x2E,0x6A
+,0x73,0x22,0x20,0x6C,0x61,0x6E,0x67,0x75,0x61,0x67,0x65,0x3D,0x22,0x6A,0x61,0x76
+,0x61,0x73,0x63,0x72,0x69,0x70,0x74,0x22,0x20,0x63,0x68,0x61,0x72,0x73,0x65,0x74
+,0x3D,0x22,0x75,0x74,0x66,0x2D,0x38,0x22,0x3E,0x3C,0x2F,0x73,0x63,0x72,0x69,0x70
+,0x74,0x3E,0x0D,0x0A,0x3C,0x73,0x63,0x72,0x69,0x70,0x74,0x20,0x74,0x79,0x70,0x65
+,0x3D,0x22,0x74,0x65,0x78,0x74,0x2F,0x6A,0x61,0x76,0x61,0x73,0x63,0x72,0x69,0x70
+,0x74,0x22,0x3E,0x6D,0x62,0x65,0x64,0x3D,0x6E,0x65,0x77,0x20,0x48,0x54,0x54,0x50
+,0x52,0x50,0x43,0x28,0x29,0x3B,0x6C,0x65,0x64,0x31,0x3D,0x6E,0x65,0x77,0x20,0x44
+,0x69,0x67,0x69,0x74,0x61,0x6C,0x4F,0x75,0x74,0x28,0x6D,0x62,0x65,0x64,0x2C,0x4C
+,0x45,0x44,0x31,0x29,0x3B,0x6C,0x65,0x64,0x32,0x3D,0x6E,0x65,0x77,0x20,0x44,0x69
+,0x67,0x69,0x74,0x61,0x6C,0x4F,0x75,0x74,0x28,0x6D,0x62,0x65,0x64,0x2C,0x4C,0x45
+,0x44,0x32,0x29,0x3B,0x6C,0x65,0x64,0x33,0x3D,0x6E,0x65,0x77,0x20,0x44,0x69,0x67
+,0x69,0x74,0x61,0x6C,0x4F,0x75,0x74,0x28,0x6D,0x62,0x65,0x64,0x2C,0x4C,0x45,0x44
+,0x33,0x29,0x3B,0x0D,0x0A,0x3C,0x2F,0x73,0x63,0x72,0x69,0x70,0x74,0x3E,0x0D,0x0A
+,0x3C,0x73,0x63,0x72,0x69,0x70,0x74,0x20,0x74,0x79,0x70,0x65,0x3D,0x22,0x74,0x65
+,0x78,0x74,0x2F,0x6A,0x61,0x76,0x61,0x73,0x63,0x72,0x69,0x70,0x74,0x22,0x3E,0x0D
+,0x0A,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x20,0x6C,0x65,0x64,0x31,0x5F,0x74
+,0x6F,0x67,0x67,0x6C,0x65,0x28,0x29,0x20,0x7B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20
+,0x20,0x20,0x20,0x76,0x61,0x72,0x20,0x72,0x64,0x31,0x20,0x3D,0x20,0x6C,0x65,0x64
+,0x31,0x2E,0x72,0x65,0x61,0x64,0x28,0x29,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20
+,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x72,0x64,0x31,0x20,0x3D,0x3D,0x20,0x31,0x29
+,0x20,0x7B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20
+,0x20,0x20,0x20,0x20,0x6C,0x65,0x64,0x31,0x2E,0x77,0x72,0x69,0x74,0x65,0x28,0x30
+,0x29,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20
+,0x20,0x20,0x20,0x20,0x62,0x74,0x6E,0x5F,0x4C,0x45,0x44,0x31,0x2E,0x76,0x61,0x6C
+,0x75,0x65,0x20,0x3D,0x20,0x27,0x4C,0x45,0x44,0x31,0x20,0x4F,0x66,0x66,0x27,0x3B
+,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20
+,0x20,0x20,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x67,0x65,0x74,0x45,0x6C
+,0x65,0x6D,0x65,0x6E,0x74,0x42,0x79,0x49,0x64,0x28,0x22,0x62,0x74,0x6E,0x5F,0x4C
+,0x45,0x44,0x31,0x22,0x29,0x2E,0x73,0x74,0x79,0x6C,0x65,0x2E,0x62,0x61,0x63,0x6B
+,0x67,0x72,0x6F,0x75,0x6E,0x64,0x43,0x6F,0x6C,0x6F,0x72,0x20,0x3D,0x20,0x27,0x23
+,0x63,0x30,0x63,0x30,0x63,0x30,0x27,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20,0x20
+,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x64,0x6F,0x63,0x75,0x6D,0x65
+,0x6E,0x74,0x2E,0x67,0x65,0x74,0x45,0x6C,0x65,0x6D,0x65,0x6E,0x74,0x42,0x79,0x49
+,0x64,0x28,0x22,0x62,0x74,0x6E,0x5F,0x4C,0x45,0x44,0x31,0x22,0x29,0x2E,0x73,0x74
+,0x79,0x6C,0x65,0x2E,0x63,0x6F,0x6C,0x6F,0x72,0x20,0x3D,0x20,0x27,0x23,0x30,0x30
+,0x30,0x30,0x30,0x30,0x27,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20
+,0x7D,0x65,0x6C,0x73,0x65,0x7B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20
+,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6C,0x65,0x64,0x31,0x2E,0x77,0x72,0x69
+,0x74,0x65,0x28,0x31,0x29,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20
+,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x62,0x74,0x6E,0x5F,0x4C,0x45,0x44,0x31
+,0x2E,0x76,0x61,0x6C,0x75,0x65,0x20,0x3D,0x20,0x27,0x4C,0x45,0x44,0x31,0x20,0x4F
+,0x6E,0x27,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20
+,0x20,0x20,0x20,0x20,0x20,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x67,0x65
+,0x74,0x45,0x6C,0x65,0x6D,0x65,0x6E,0x74,0x42,0x79,0x49,0x64,0x28,0x22,0x62,0x74
+,0x6E,0x5F,0x4C,0x45,0x44,0x31,0x22,0x29,0x2E,0x73,0x74,0x79,0x6C,0x65,0x2E,0x62
+,0x61,0x63,0x6B,0x67,0x72,0x6F,0x75,0x6E,0x64,0x43,0x6F,0x6C,0x6F,0x72,0x20,0x3D
+,0x20,0x27,0x23,0x66,0x66,0x30,0x30,0x30,0x30,0x27,0x3B,0x0D,0x0A,0x20,0x20,0x20
+,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x64,0x6F,0x63
+,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x67,0x65,0x74,0x45,0x6C,0x65,0x6D,0x65,0x6E,0x74
+,0x42,0x79,0x49,0x64,0x28,0x22,0x62,0x74,0x6E,0x5F,0x4C,0x45,0x44,0x31,0x22,0x29
+,0x2E,0x73,0x74,0x79,0x6C,0x65,0x2E,0x63,0x6F,0x6C,0x6F,0x72,0x20,0x3D,0x20,0x27
+,0x23,0x66,0x66,0x66,0x66,0x66,0x66,0x27,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20
+,0x20,0x20,0x20,0x7D,0x0D,0x0A,0x7D,0x0D,0x0A,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F
+,0x6E,0x20,0x6C,0x65,0x64,0x32,0x5F,0x74,0x6F,0x67,0x67,0x6C,0x65,0x28,0x29,0x20
+,0x7B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x76,0x61,0x72,0x20,0x72
+,0x64,0x32,0x20,0x3D,0x20,0x6C,0x65,0x64,0x32,0x2E,0x72,0x65,0x61,0x64,0x28,0x29
+,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x72
+,0x64,0x32,0x20,0x3D,0x3D,0x20,0x31,0x29,0x20,0x7B,0x0D,0x0A,0x20,0x20,0x20,0x20
+,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6C,0x65,0x64,0x32
+,0x2E,0x77,0x72,0x69,0x74,0x65,0x28,0x30,0x29,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20
+,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x62,0x74,0x6E,0x5F
+,0x4C,0x45,0x44,0x32,0x2E,0x76,0x61,0x6C,0x75,0x65,0x20,0x3D,0x20,0x27,0x4C,0x45
+,0x44,0x32,0x20,0x4F,0x66,0x66,0x27,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20,0x20
+,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x64,0x6F,0x63,0x75,0x6D,0x65
+,0x6E,0x74,0x2E,0x67,0x65,0x74,0x45,0x6C,0x65,0x6D,0x65,0x6E,0x74,0x42,0x79,0x49
+,0x64,0x28,0x22,0x62,0x74,0x6E,0x5F,0x4C,0x45,0x44,0x32,0x22,0x29,0x2E,0x73,0x74
+,0x79,0x6C,0x65,0x2E,0x62,0x61,0x63,0x6B,0x67,0x72,0x6F,0x75,0x6E,0x64,0x43,0x6F
+,0x6C,0x6F,0x72,0x20,0x3D,0x20,0x27,0x23,0x63,0x30,0x63,0x30,0x63,0x30,0x27,0x3B
+,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20
+,0x20,0x20,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x67,0x65,0x74,0x45,0x6C
+,0x65,0x6D,0x65,0x6E,0x74,0x42,0x79,0x49,0x64,0x28,0x22,0x62,0x74,0x6E,0x5F,0x4C
+,0x45,0x44,0x32,0x22,0x29,0x2E,0x73,0x74,0x79,0x6C,0x65,0x2E,0x63,0x6F,0x6C,0x6F
+,0x72,0x20,0x3D,0x20,0x27,0x23,0x30,0x30,0x30,0x30,0x30,0x30,0x27,0x3B,0x0D,0x0A
+,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7D,0x65,0x6C,0x73,0x65,0x7B,0x0D,0x0A
+,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20
+,0x6C,0x65,0x64,0x32,0x2E,0x77,0x72,0x69,0x74,0x65,0x28,0x31,0x29,0x3B,0x0D,0x0A
+,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20
+,0x62,0x74,0x6E,0x5F,0x4C,0x45,0x44,0x32,0x2E,0x76,0x61,0x6C,0x75,0x65,0x20,0x3D
+,0x20,0x27,0x4C,0x45,0x44,0x32,0x20,0x4F,0x6E,0x27,0x3B,0x0D,0x0A,0x20,0x20,0x20
+,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x64,0x6F,0x63
+,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x67,0x65,0x74,0x45,0x6C,0x65,0x6D,0x65,0x6E,0x74
+,0x42,0x79,0x49,0x64,0x28,0x22,0x62,0x74,0x6E,0x5F,0x4C,0x45,0x44,0x32,0x22,0x29
+,0x2E,0x73,0x74,0x79,0x6C,0x65,0x2E,0x62,0x61,0x63,0x6B,0x67,0x72,0x6F,0x75,0x6E
+,0x64,0x43,0x6F,0x6C,0x6F,0x72,0x20,0x3D,0x20,0x27,0x23,0x30,0x30,0x38,0x30,0x30
+,0x30,0x27,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20
+,0x20,0x20,0x20,0x20,0x20,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x67,0x65
+,0x74,0x45,0x6C,0x65,0x6D,0x65,0x6E,0x74,0x42,0x79,0x49,0x64,0x28,0x22,0x62,0x74
+,0x6E,0x5F,0x4C,0x45,0x44,0x32,0x22,0x29,0x2E,0x73,0x74,0x79,0x6C,0x65,0x2E,0x63
+,0x6F,0x6C,0x6F,0x72,0x20,0x3D,0x20,0x27,0x23,0x66,0x66,0x66,0x66,0x66,0x66,0x27
+,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7D,0x0D,0x0A,0x7D,0x0D
+,0x0A,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x20,0x6C,0x65,0x64,0x33,0x5F,0x74
+,0x6F,0x67,0x67,0x6C,0x65,0x28,0x29,0x20,0x7B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20
+,0x20,0x20,0x20,0x76,0x61,0x72,0x20,0x72,0x64,0x33,0x20,0x3D,0x20,0x6C,0x65,0x64
+,0x33,0x2E,0x72,0x65,0x61,0x64,0x28,0x29,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20
+,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x72,0x64,0x33,0x20,0x3D,0x3D,0x20,0x31,0x29
+,0x20,0x7B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20
+,0x20,0x20,0x20,0x20,0x6C,0x65,0x64,0x33,0x2E,0x77,0x72,0x69,0x74,0x65,0x28,0x30
+,0x29,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20
+,0x20,0x20,0x20,0x20,0x62,0x74,0x6E,0x5F,0x4C,0x45,0x44,0x33,0x2E,0x76,0x61,0x6C
+,0x75,0x65,0x20,0x3D,0x20,0x27,0x4C,0x45,0x44,0x33,0x20,0x4F,0x66,0x66,0x27,0x3B
+,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20
+,0x20,0x20,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x67,0x65,0x74,0x45,0x6C
+,0x65,0x6D,0x65,0x6E,0x74,0x42,0x79,0x49,0x64,0x28,0x22,0x62,0x74,0x6E,0x5F,0x4C
+,0x45,0x44,0x33,0x22,0x29,0x2E,0x73,0x74,0x79,0x6C,0x65,0x2E,0x62,0x61,0x63,0x6B
+,0x67,0x72,0x6F,0x75,0x6E,0x64,0x43,0x6F,0x6C,0x6F,0x72,0x20,0x3D,0x20,0x27,0x23
+,0x63,0x30,0x63,0x30,0x63,0x30,0x27,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20,0x20
+,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x64,0x6F,0x63,0x75,0x6D,0x65
+,0x6E,0x74,0x2E,0x67,0x65,0x74,0x45,0x6C,0x65,0x6D,0x65,0x6E,0x74,0x42,0x79,0x49
+,0x64,0x28,0x22,0x62,0x74,0x6E,0x5F,0x4C,0x45,0x44,0x33,0x22,0x29,0x2E,0x73,0x74
+,0x79,0x6C,0x65,0x2E,0x63,0x6F,0x6C,0x6F,0x72,0x20,0x3D,0x20,0x27,0x23,0x30,0x30
+,0x30,0x30,0x30,0x30,0x27,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20
+,0x7D,0x65,0x6C,0x73,0x65,0x7B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20
+,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6C,0x65,0x64,0x33,0x2E,0x77,0x72,0x69
+,0x74,0x65,0x28,0x31,0x29,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20
+,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x62,0x74,0x6E,0x5F,0x4C,0x45,0x44,0x33
+,0x2E,0x76,0x61,0x6C,0x75,0x65,0x20,0x3D,0x20,0x27,0x4C,0x45,0x44,0x33,0x20,0x4F
+,0x6E,0x27,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20
+,0x20,0x20,0x20,0x20,0x20,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x67,0x65
+,0x74,0x45,0x6C,0x65,0x6D,0x65,0x6E,0x74,0x42,0x79,0x49,0x64,0x28,0x22,0x62,0x74
+,0x6E,0x5F,0x4C,0x45,0x44,0x33,0x22,0x29,0x2E,0x73,0x74,0x79,0x6C,0x65,0x2E,0x62
+,0x61,0x63,0x6B,0x67,0x72,0x6F,0x75,0x6E,0x64,0x43,0x6F,0x6C,0x6F,0x72,0x20,0x3D
+,0x20,0x27,0x23,0x30,0x30,0x30,0x30,0x63,0x63,0x27,0x3B,0x0D,0x0A,0x20,0x20,0x20
+,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x64,0x6F,0x63
+,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x67,0x65,0x74,0x45,0x6C,0x65,0x6D,0x65,0x6E,0x74
+,0x42,0x79,0x49,0x64,0x28,0x22,0x62,0x74,0x6E,0x5F,0x4C,0x45,0x44,0x33,0x22,0x29
+,0x2E,0x73,0x74,0x79,0x6C,0x65,0x2E,0x63,0x6F,0x6C,0x6F,0x72,0x20,0x3D,0x20,0x27
+,0x23,0x66,0x66,0x66,0x66,0x66,0x66,0x27,0x3B,0x0D,0x0A,0x20,0x20,0x20,0x20,0x20
+,0x20,0x20,0x20,0x7D,0x0D,0x0A,0x7D,0x0D,0x0A,0x3C,0x2F,0x73,0x63,0x72,0x69,0x70
+,0x74,0x3E,0x0D,0x0A,0x3C,0x2F,0x68,0x65,0x61,0x64,0x3E,0x0D,0x0A,0x3C,0x62,0x6F
+,0x64,0x79,0x3E,0x0D,0x0A,0x3C,0x70,0x3E,0x3C,0x66,0x6F,0x6E,0x74,0x20,0x73,0x69
+,0x7A,0x65,0x3D,0x22,0x38,0x22,0x3E,0x3C,0x73,0x70,0x61,0x6E,0x20,0x73,0x74,0x79
+,0x6C,0x65,0x3D,0x22,0x63,0x6F,0x6C,0x6F,0x72,0x3A,0x23,0x30,0x30,0x30,0x30,0x38
+,0x30,0x22,0x3E,0x3C,0x62,0x3E,0x4C,0x45,0x44,0x20,0x54,0x6F,0x67,0x67,0x6C,0x65
+,0x20,0x53,0x77,0x69,0x74,0x63,0x68,0x3C,0x2F,0x62,0x3E,0x3C,0x2F,0x73,0x70,0x61
+,0x6E,0x3E,0x3C,0x2F,0x66,0x6F,0x6E,0x74,0x3E,0x3C,0x62,0x72,0x3E,0x3C,0x62,0x72
+,0x3E,0x0D,0x0A,0x3C,0x69,0x6E,0x70,0x75,0x74,0x20,0x74,0x79,0x70,0x65,0x3D,0x22
+,0x62,0x75,0x74,0x74,0x6F,0x6E,0x22,0x20,0x49,0x44,0x3D,0x22,0x62,0x74,0x6E,0x5F
+,0x4C,0x45,0x44,0x31,0x22,0x20,0x73,0x74,0x79,0x6C,0x65,0x3D,0x22,0x46,0x4F,0x4E
+,0x54,0x2D,0x46,0x41,0x4D,0x49,0x4C,0x59,0x3A,0x54,0x61,0x68,0x6F,0x6D,0x61,0x3B
+,0x46,0x4F,0x4E,0x54,0x2D,0x53,0x49,0x5A,0x45,0x3A,0x39,0x70,0x74,0x3B,0x63,0x6F
+,0x6C,0x6F,0x72,0x3A,0x23,0x30,0x30,0x30,0x30,0x30,0x30,0x3B,0x62,0x61,0x63,0x6B
+,0x67,0x72,0x6F,0x75,0x6E,0x64,0x2D,0x63,0x6F,0x6C,0x6F,0x72,0x3A,0x23,0x63,0x30
+,0x63,0x30,0x63,0x30,0x3B,0x57,0x49,0x44,0x54,0x48,0x3A,0x20,0x37,0x30,0x70,0x78
+,0x3B,0x20,0x48,0x45,0x49,0x47,0x48,0x54,0x3A,0x20,0x34,0x30,0x70,0x78,0x22,0x20
+,0x6F,0x6E,0x43,0x6C,0x69,0x63,0x6B,0x3D,0x22,0x6C,0x65,0x64,0x31,0x5F,0x74,0x6F
+,0x67,0x67,0x6C,0x65,0x28,0x29,0x22,0x20,0x76,0x61,0x6C,0x75,0x65,0x20,0x3D,0x20
+,0x22,0x4C,0x45,0x44,0x31,0x20,0x4F,0x66,0x66,0x22,0x3E,0x20,0x3C,0x62,0x72,0x3E
+,0x0D,0x0A,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x3C,0x69,0x6E,0x70,0x75,0x74,0x20,0x74
+,0x79,0x70,0x65,0x3D,0x22,0x62,0x75,0x74,0x74,0x6F,0x6E,0x22,0x20,0x49,0x44,0x3D
+,0x22,0x62,0x74,0x6E,0x5F,0x4C,0x45,0x44,0x32,0x22,0x20,0x73,0x74,0x79,0x6C,0x65
+,0x3D,0x22,0x46,0x4F,0x4E,0x54,0x2D,0x46,0x41,0x4D,0x49,0x4C,0x59,0x3A,0x54,0x61
+,0x68,0x6F,0x6D,0x61,0x3B,0x46,0x4F,0x4E,0x54,0x2D,0x53,0x49,0x5A,0x45,0x3A,0x39
+,0x70,0x74,0x3B,0x63,0x6F,0x6C,0x6F,0x72,0x3A,0x23,0x30,0x30,0x30,0x30,0x30,0x30
+,0x3B,0x62,0x61,0x63,0x6B,0x67,0x72,0x6F,0x75,0x6E,0x64,0x2D,0x63,0x6F,0x6C,0x6F
+,0x72,0x3A,0x23,0x63,0x30,0x63,0x30,0x63,0x30,0x3B,0x57,0x49,0x44,0x54,0x48,0x3A
+,0x20,0x37,0x30,0x70,0x78,0x3B,0x20,0x48,0x45,0x49,0x47,0x48,0x54,0x3A,0x20,0x34
+,0x30,0x70,0x78,0x22,0x20,0x6F,0x6E,0x43,0x6C,0x69,0x63,0x6B,0x3D,0x22,0x6C,0x65
+,0x64,0x32,0x5F,0x74,0x6F,0x67,0x67,0x6C,0x65,0x28,0x29,0x22,0x20,0x76,0x61,0x6C
+,0x75,0x65,0x20,0x3D,0x20,0x22,0x4C,0x45,0x44,0x32,0x20,0x4F,0x66,0x66,0x22,0x3E
+,0x20,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x3C,0x69,0x6E
+,0x70,0x75,0x74,0x20,0x74,0x79,0x70,0x65,0x3D,0x22,0x62,0x75,0x74,0x74,0x6F,0x6E
+,0x22,0x20,0x49,0x44,0x3D,0x22,0x62,0x74,0x6E,0x5F,0x4C,0x45,0x44,0x33,0x22,0x20
+,0x73,0x74,0x79,0x6C,0x65,0x3D,0x22,0x46,0x4F,0x4E,0x54,0x2D,0x46,0x41,0x4D,0x49
+,0x4C,0x59,0x3A,0x54,0x61,0x68,0x6F,0x6D,0x61,0x3B,0x46,0x4F,0x4E,0x54,0x2D,0x53
+,0x49,0x5A,0x45,0x3A,0x39,0x70,0x74,0x3B,0x63,0x6F,0x6C,0x6F,0x72,0x3A,0x23,0x30
+,0x30,0x30,0x30,0x30,0x30,0x3B,0x62,0x61,0x63,0x6B,0x67,0x72,0x6F,0x75,0x6E,0x64
+,0x2D,0x63,0x6F,0x6C,0x6F,0x72,0x3A,0x23,0x63,0x30,0x63,0x30,0x63,0x30,0x3B,0x57
+,0x49,0x44,0x54,0x48,0x3A,0x20,0x37,0x30,0x70,0x78,0x3B,0x20,0x48,0x45,0x49,0x47
+,0x48,0x54,0x3A,0x20,0x34,0x30,0x70,0x78,0x22,0x20,0x6F,0x6E,0x43,0x6C,0x69,0x63
+,0x6B,0x3D,0x22,0x6C,0x65,0x64,0x33,0x5F,0x74,0x6F,0x67,0x67,0x6C,0x65,0x28,0x29
+,0x22,0x20,0x76,0x61,0x6C,0x75,0x65,0x20,0x3D,0x20,0x22,0x4C,0x45,0x44,0x33,0x20
+,0x4F,0x66,0x66,0x22,0x3E,0x20,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x0D,0x0A,0x3C,0x2F
+,0x62,0x6F,0x64,0x79,0x3E,0x0D,0x0A,0x3C,0x2F,0x68,0x74,0x6D,0x6C,0x3E,0x0D,0x0A
+};
+
+static const char i2c_set_htm_tbl[] = {
+ 0x3C,0x68,0x74,0x6D,0x6C,0x3E,0x0D,0x0A,0x3C,0x68,0x65,0x61,0x64,0x3E,0x0D,0x0A
+,0x3C,0x6D,0x65,0x74,0x61,0x20,0x68,0x74,0x74,0x70,0x2D,0x65,0x71,0x75,0x69,0x76
+,0x3D,0x22,0x43,0x6F,0x6E,0x74,0x65,0x6E,0x74,0x2D,0x54,0x79,0x70,0x65,0x22,0x20
+,0x63,0x6F,0x6E,0x74,0x65,0x6E,0x74,0x3D,0x22,0x74,0x65,0x78,0x74,0x2F,0x68,0x74
+,0x6D,0x6C,0x3B,0x20,0x63,0x68,0x61,0x72,0x73,0x65,0x74,0x3D,0x22,0x75,0x74,0x66
+,0x2D,0x38,0x22,0x3E,0x20,0x0D,0x0A,0x3C,0x74,0x69,0x74,0x6C,0x65,0x3E,0x53,0x65
+,0x74,0x74,0x69,0x6E,0x67,0x20,0x62,0x79,0x20,0x49,0x32,0x43,0x3C,0x2F,0x74,0x69
+,0x74,0x6C,0x65,0x3E,0x0D,0x0A,0x3C,0x73,0x63,0x72,0x69,0x70,0x74,0x20,0x74,0x79
+,0x70,0x65,0x3D,0x22,0x74,0x65,0x78,0x74,0x2F,0x6A,0x61,0x76,0x61,0x73,0x63,0x72
+,0x69,0x70,0x74,0x22,0x20,0x73,0x72,0x63,0x3D,0x22,0x6D,0x62,0x65,0x64,0x52,0x50
+,0x43,0x2E,0x6A,0x73,0x22,0x20,0x6C,0x61,0x6E,0x67,0x75,0x61,0x67,0x65,0x3D,0x22
+,0x6A,0x61,0x76,0x61,0x73,0x63,0x72,0x69,0x70,0x74,0x22,0x20,0x63,0x68,0x61,0x72
+,0x73,0x65,0x74,0x3D,0x22,0x75,0x74,0x66,0x2D,0x38,0x22,0x3E,0x3C,0x2F,0x73,0x63
+,0x72,0x69,0x70,0x74,0x3E,0x0D,0x0A,0x3C,0x73,0x63,0x72,0x69,0x70,0x74,0x20,0x74
+,0x79,0x70,0x65,0x3D,0x22,0x74,0x65,0x78,0x74,0x2F,0x6A,0x61,0x76,0x61,0x73,0x63
+,0x72,0x69,0x70,0x74,0x22,0x3E,0x6D,0x62,0x65,0x64,0x3D,0x6E,0x65,0x77,0x20,0x48
+,0x54,0x54,0x50,0x52,0x50,0x43,0x28,0x29,0x3B,0x74,0x65,0x72,0x6D,0x3D,0x6E,0x65
+,0x77,0x20,0x52,0x50,0x43,0x46,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28,0x6D,0x62
+,0x65,0x64,0x2C,0x22,0x53,0x65,0x74,0x49,0x32,0x43,0x66,0x72,0x6F,0x6D,0x57,0x65
+,0x62,0x22,0x29,0x3B,0x3C,0x2F,0x73,0x63,0x72,0x69,0x70,0x74,0x3E,0x0D,0x0A,0x3C
+,0x2F,0x68,0x65,0x61,0x64,0x3E,0x0D,0x0A,0x3C,0x62,0x6F,0x64,0x79,0x3E,0x0D,0x0A
+,0x3C,0x70,0x3E,0x3C,0x66,0x6F,0x6E,0x74,0x20,0x73,0x69,0x7A,0x65,0x3D,0x22,0x38
+,0x22,0x3E,0x3C,0x73,0x70,0x61,0x6E,0x20,0x73,0x74,0x79,0x6C,0x65,0x3D,0x22,0x43
+,0x4F,0x4C,0x4F,0x52,0x3A,0x23,0x30,0x30,0x30,0x30,0x38,0x30,0x22,0x3E,0x3C,0x62
+,0x3E,0x44,0x69,0x72,0x65,0x63,0x74,0x20,0x69,0x6E,0x70,0x75,0x74,0x3C,0x2F,0x62
+,0x3E,0x3C,0x2F,0x73,0x70,0x61,0x6E,0x3E,0x3C,0x2F,0x66,0x6F,0x6E,0x74,0x3E,0x3C
+,0x62,0x72,0x3E,0x0D,0x0A,0x3C,0x69,0x6E,0x70,0x75,0x74,0x20,0x74,0x79,0x70,0x65
+,0x3D,0x22,0x74,0x65,0x78,0x74,0x22,0x20,0x69,0x64,0x3D,0x22,0x64,0x69,0x72,0x5F
+,0x69,0x6E,0x22,0x3E,0x3C,0x2F,0x69,0x6E,0x70,0x75,0x74,0x3E,0x3C,0x62,0x75,0x74
+,0x74,0x6F,0x6E,0x20,0x73,0x74,0x79,0x6C,0x65,0x3D,0x22,0x46,0x4F,0x4E,0x54,0x2D
+,0x46,0x41,0x4D,0x49,0x4C,0x59,0x3A,0x54,0x61,0x68,0x6F,0x6D,0x61,0x3B,0x46,0x4F
+,0x4E,0x54,0x2D,0x53,0x49,0x5A,0x45,0x3A,0x39,0x70,0x74,0x22,0x20,0x6F,0x6E,0x63
+,0x6C,0x69,0x63,0x6B,0x3D,0x22,0x73,0x6E,0x64,0x5F,0x64,0x69,0x72,0x5F,0x69,0x6E
+,0x28,0x29,0x22,0x3E,0x53,0x65,0x6E,0x64,0x3C,0x2F,0x62,0x75,0x74,0x74,0x6F,0x6E
+,0x3E,0x20,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x0D,0x0A
+,0x3C,0x70,0x3E,0x3C,0x66,0x6F,0x6E,0x74,0x20,0x73,0x69,0x7A,0x65,0x3D,0x22,0x38
+,0x22,0x3E,0x3C,0x73,0x70,0x61,0x6E,0x20,0x73,0x74,0x79,0x6C,0x65,0x3D,0x22,0x43
+,0x4F,0x4C,0x4F,0x52,0x3A,0x23,0x30,0x30,0x30,0x30,0x38,0x30,0x22,0x3E,0x3C,0x62
+,0x3E,0x46,0x69,0x6C,0x65,0x20,0x72,0x65,0x66,0x65,0x72,0x65,0x6E,0x63,0x65,0x3C
+,0x2F,0x62,0x3E,0x3C,0x2F,0x73,0x70,0x61,0x6E,0x3E,0x3C,0x2F,0x66,0x6F,0x6E,0x74
+,0x3E,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x3C,0x69,0x6E,0x70,0x75,0x74,0x20,0x74,0x79
+,0x70,0x65,0x3D,0x22,0x66,0x69,0x6C,0x65,0x22,0x20,0x69,0x64,0x3D,0x22,0x66,0x69
+,0x6C,0x65,0x5F,0x75,0x70,0x6C,0x6F,0x61,0x64,0x22,0x20,0x73,0x74,0x79,0x6C,0x65
+,0x3D,0x22,0x44,0x49,0x53,0x50,0x4C,0x41,0x59,0x3A,0x6E,0x6F,0x6E,0x65,0x22,0x20
+,0x6F,0x6E,0x63,0x68,0x61,0x6E,0x67,0x65,0x3D,0x22,0x74,0x78,0x74,0x5F,0x66,0x69
+,0x6C,0x65,0x6E,0x61,0x6D,0x65,0x2E,0x76,0x61,0x6C,0x75,0x65,0x20,0x3D,0x20,0x74
+,0x68,0x69,0x73,0x2E,0x76,0x61,0x6C,0x75,0x65,0x3B,0x22,0x20,0x61,0x63,0x63,0x65
+,0x70,0x74,0x3D,0x22,0x74,0x65,0x78,0x74,0x2F,0x70,0x6C,0x61,0x69,0x6E,0x22,0x3E
+,0x0D,0x0A,0x3C,0x69,0x6E,0x70,0x75,0x74,0x20,0x74,0x79,0x70,0x65,0x3D,0x22,0x74
+,0x65,0x78,0x74,0x22,0x20,0x69,0x64,0x3D,0x22,0x74,0x78,0x74,0x5F,0x66,0x69,0x6C
+,0x65,0x6E,0x61,0x6D,0x65,0x22,0x20,0x73,0x74,0x79,0x6C,0x65,0x3D,0x22,0x46,0x4F
+,0x4E,0x54,0x2D,0x46,0x41,0x4D,0x49,0x4C,0x59,0x3A,0x54,0x61,0x68,0x6F,0x6D,0x61
+,0x3B,0x46,0x4F,0x4E,0x54,0x2D,0x53,0x49,0x5A,0x45,0x3A,0x39,0x70,0x74,0x22,0x20
+,0x73,0x69,0x7A,0x65,0x3D,0x22,0x32,0x35,0x22,0x20,0x44,0x49,0x53,0x41,0x42,0x4C
+,0x45,0x44,0x3E,0x0D,0x0A,0x3C,0x69,0x6E,0x70,0x75,0x74,0x20,0x74,0x79,0x70,0x65
+,0x3D,0x22,0x62,0x75,0x74,0x74,0x6F,0x6E,0x22,0x20,0x69,0x64,0x3D,0x22,0x66,0x69
+,0x6C,0x65,0x5F,0x73,0x65,0x6C,0x65,0x63,0x74,0x22,0x20,0x73,0x74,0x79,0x6C,0x65
+,0x3D,0x22,0x46,0x4F,0x4E,0x54,0x2D,0x46,0x41,0x4D,0x49,0x4C,0x59,0x3A,0x54,0x61
+,0x68,0x6F,0x6D,0x61,0x3B,0x46,0x4F,0x4E,0x54,0x2D,0x53,0x49,0x5A,0x45,0x3A,0x39
+,0x70,0x74,0x22,0x20,0x6F,0x6E,0x63,0x6C,0x69,0x63,0x6B,0x3D,0x22,0x66,0x69,0x6C
+,0x65,0x5F,0x75,0x70,0x6C,0x6F,0x61,0x64,0x2E,0x63,0x6C,0x69,0x63,0x6B,0x28,0x29
+,0x22,0x20,0x76,0x61,0x6C,0x75,0x65,0x3D,0x22,0x43,0x68,0x6F,0x6F,0x73,0x65,0x20
+,0x61,0x20,0x74,0x65,0x78,0x74,0x20,0x46,0x69,0x6C,0x65,0x22,0x3E,0x0D,0x0A,0x3C
+,0x62,0x75,0x74,0x74,0x6F,0x6E,0x20,0x74,0x79,0x70,0x65,0x3D,0x22,0x73,0x75,0x62
+,0x6D,0x69,0x74,0x22,0x20,0x69,0x64,0x3D,0x22,0x73,0x6E,0x64,0x62,0x6F,0x78,0x22
+,0x20,0x73,0x74,0x79,0x6C,0x65,0x3D,0x22,0x46,0x4F,0x4E,0x54,0x2D,0x46,0x41,0x4D
+,0x49,0x4C,0x59,0x3A,0x54,0x61,0x68,0x6F,0x6D,0x61,0x3B,0x46,0x4F,0x4E,0x54,0x2D
+,0x53,0x49,0x5A,0x45,0x3A,0x39,0x70,0x74,0x22,0x20,0x6F,0x6E,0x63,0x6C,0x69,0x63
+,0x6B,0x3D,0x22,0x73,0x6E,0x64,0x5F,0x66,0x69,0x6C,0x65,0x5F,0x72,0x65,0x66,0x28
+,0x29,0x22,0x3E,0x53,0x65,0x6E,0x64,0x3C,0x2F,0x62,0x75,0x74,0x74,0x6F,0x6E,0x3E
+,0x0D,0x0A,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x3C,0x62
+,0x72,0x3E,0x0D,0x0A,0x3C,0x70,0x20,0x73,0x74,0x79,0x6C,0x65,0x3D,0x22,0x46,0x4F
+,0x4E,0x54,0x2D,0x46,0x41,0x4D,0x49,0x4C,0x59,0x3A,0x54,0x61,0x68,0x6F,0x6D,0x61
+,0x3B,0x46,0x4F,0x4E,0x54,0x2D,0x53,0x49,0x5A,0x45,0x3A,0x31,0x38,0x70,0x74,0x22
+,0x3E,0x3C,0x73,0x70,0x61,0x6E,0x20,0x73,0x74,0x79,0x6C,0x65,0x3D,0x22,0x43,0x4F
+,0x4C,0x4F,0x52,0x3A,0x23,0x30,0x30,0x30,0x30,0x38,0x30,0x22,0x3E,0x0D,0x0A,0x3C
+,0x62,0x3E,0x4C,0x4F,0x47,0x3A,0x3C,0x2F,0x62,0x3E,0x3C,0x2F,0x73,0x70,0x61,0x6E
+,0x3E,0x0D,0x0A,0x3C,0x69,0x6E,0x70,0x75,0x74,0x20,0x74,0x79,0x70,0x65,0x3D,0x22
+,0x73,0x75,0x62,0x6D,0x69,0x74,0x22,0x20,0x69,0x64,0x3D,0x22,0x74,0x65,0x78,0x74
+,0x61,0x72,0x65,0x61,0x5F,0x63,0x6C,0x65,0x61,0x72,0x22,0x20,0x73,0x74,0x79,0x6C
+,0x65,0x3D,0x22,0x44,0x49,0x53,0x50,0x4C,0x41,0x59,0x3A,0x62,0x6C,0x6F,0x63,0x6B
+,0x3B,0x46,0x4F,0x4E,0x54,0x2D,0x46,0x41,0x4D,0x49,0x4C,0x59,0x3A,0x54,0x61,0x68
+,0x6F,0x6D,0x61,0x3B,0x46,0x4F,0x4E,0x54,0x2D,0x53,0x49,0x5A,0x45,0x3A,0x39,0x70
+,0x74,0x3B,0x57,0x49,0x44,0x54,0x48,0x3A,0x37,0x30,0x70,0x78,0x3B,0x48,0x45,0x49
+,0x47,0x48,0x54,0x3A,0x32,0x30,0x70,0x78,0x3B,0x50,0x4F,0x53,0x49,0x54,0x49,0x4F
+,0x4E,0x3A,0x61,0x62,0x73,0x6F,0x6C,0x75,0x74,0x65,0x3B,0x4C,0x45,0x46,0x54,0x3A
+,0x38,0x70,0x78,0x22,0x20,0x6F,0x6E,0x63,0x6C,0x69,0x63,0x6B,0x3D,0x22,0x43,0x6C
+,0x72,0x5F,0x74,0x65,0x78,0x74,0x61,0x72,0x65,0x61,0x28,0x29,0x22,0x20,0x76,0x61
+,0x6C,0x75,0x65,0x3D,0x22,0x43,0x6C,0x65,0x61,0x72,0x22,0x3E,0x0D,0x0A,0x3C,0x62
+,0x75,0x74,0x74,0x6F,0x6E,0x20,0x74,0x79,0x70,0x65,0x3D,0x22,0x73,0x75,0x62,0x6D
+,0x69,0x74,0x22,0x20,0x69,0x64,0x3D,0x22,0x74,0x65,0x78,0x74,0x61,0x72,0x65,0x61
+,0x5F,0x73,0x61,0x76,0x65,0x22,0x20,0x73,0x74,0x79,0x6C,0x65,0x3D,0x22,0x44,0x49
+,0x53,0x50,0x4C,0x41,0x59,0x3A,0x62,0x6C,0x6F,0x63,0x6B,0x3B,0x46,0x4F,0x4E,0x54
+,0x2D,0x46,0x41,0x4D,0x49,0x4C,0x59,0x3A,0x54,0x61,0x68,0x6F,0x6D,0x61,0x3B,0x46
+,0x4F,0x4E,0x54,0x2D,0x53,0x49,0x5A,0x45,0x3A,0x39,0x70,0x74,0x3B,0x57,0x49,0x44
+,0x54,0x48,0x3A,0x37,0x30,0x70,0x78,0x3B,0x48,0x45,0x49,0x47,0x48,0x54,0x3A,0x32
+,0x30,0x70,0x78,0x3B,0x50,0x4F,0x53,0x49,0x54,0x49,0x4F,0x4E,0x3A,0x61,0x62,0x73
+,0x6F,0x6C,0x75,0x74,0x65,0x3B,0x4C,0x45,0x46,0x54,0x3A,0x38,0x32,0x70,0x78,0x22
+,0x20,0x6F,0x6E,0x63,0x6C,0x69,0x63,0x6B,0x3D,0x22,0x53,0x61,0x76,0x65,0x5F,0x74
+,0x65,0x78,0x74,0x61,0x72,0x65,0x61,0x28,0x29,0x22,0x3E,0x53,0x61,0x76,0x65,0x3C
+,0x2F,0x62,0x75,0x74,0x74,0x6F,0x6E,0x3E,0x0D,0x0A,0x3C,0x66,0x6F,0x72,0x6D,0x20
+,0x6E,0x61,0x6D,0x65,0x3D,0x22,0x6F,0x75,0x74,0x5F,0x66,0x6F,0x72,0x6D,0x22,0x3E
+,0x0D,0x0A,0x3C,0x74,0x65,0x78,0x74,0x61,0x72,0x65,0x61,0x20,0x69,0x64,0x3D,0x22
+,0x72,0x65,0x73,0x75,0x6C,0x74,0x22,0x20,0x6E,0x61,0x6D,0x65,0x3D,0x22,0x74,0x65
+,0x78,0x74,0x5F,0x61,0x72,0x65,0x61,0x22,0x20,0x63,0x6F,0x6C,0x73,0x3D,0x22,0x35
+,0x30,0x22,0x20,0x72,0x6F,0x77,0x73,0x3D,0x22,0x32,0x30,0x22,0x20,0x70,0x6C,0x61
+,0x63,0x65,0x68,0x6F,0x6C,0x64,0x65,0x72,0x3D,0x22,0x22,0x20,0x76,0x61,0x6C,0x75
+,0x65,0x3D,0x22,0x22,0x3E,0x3C,0x2F,0x74,0x65,0x78,0x74,0x61,0x72,0x65,0x61,0x3E
+,0x0D,0x0A,0x3C,0x2F,0x66,0x6F,0x72,0x6D,0x3E,0x0D,0x0A,0x3C,0x62,0x72,0x3E,0x0D
+,0x0A,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x0D,0x0A,0x3C,0x73,0x63,0x72,0x69,0x70,0x74
+,0x3E,0x0D,0x0A,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x20,0x73,0x6E,0x64,0x5F
+,0x64,0x69,0x72,0x5F,0x69,0x6E,0x28,0x29,0x7B,0x0D,0x0A,0x09,0x76,0x61,0x72,0x20
+,0x72,0x63,0x76,0x5F,0x74,0x65,0x78,0x74,0x3B,0x0D,0x0A,0x09,0x69,0x66,0x20,0x28
+,0x28,0x64,0x69,0x72,0x5F,0x69,0x6E,0x2E,0x76,0x61,0x6C,0x75,0x65,0x20,0x21,0x3D
+,0x20,0x6E,0x75,0x6C,0x6C,0x29,0x20,0x26,0x26,0x20,0x28,0x64,0x69,0x72,0x5F,0x69
+,0x6E,0x2E,0x76,0x61,0x6C,0x75,0x65,0x20,0x21,0x3D,0x20,0x22,0x22,0x29,0x29,0x20
+,0x7B,0x0D,0x0A,0x09,0x09,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x6F,0x75
+,0x74,0x5F,0x66,0x6F,0x72,0x6D,0x2E,0x74,0x65,0x78,0x74,0x5F,0x61,0x72,0x65,0x61
+,0x2E,0x76,0x61,0x6C,0x75,0x65,0x20,0x2B,0x3D,0x20,0x22,0x5B,0x53,0x45,0x4E,0x44
+,0x5D,0x22,0x3B,0x0D,0x0A,0x09,0x09,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E
+,0x6F,0x75,0x74,0x5F,0x66,0x6F,0x72,0x6D,0x2E,0x74,0x65,0x78,0x74,0x5F,0x61,0x72
+,0x65,0x61,0x2E,0x76,0x61,0x6C,0x75,0x65,0x20,0x2B,0x3D,0x20,0x64,0x69,0x72,0x5F
+,0x69,0x6E,0x2E,0x76,0x61,0x6C,0x75,0x65,0x3B,0x0D,0x0A,0x09,0x09,0x64,0x6F,0x63
+,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x6F,0x75,0x74,0x5F,0x66,0x6F,0x72,0x6D,0x2E,0x74
+,0x65,0x78,0x74,0x5F,0x61,0x72,0x65,0x61,0x2E,0x76,0x61,0x6C,0x75,0x65,0x20,0x2B
+,0x3D,0x20,0x22,0x5C,0x72,0x5C,0x6E,0x22,0x3B,0x0D,0x0A,0x09,0x09,0x72,0x63,0x76
+,0x5F,0x74,0x65,0x78,0x74,0x20,0x3D,0x20,0x74,0x65,0x72,0x6D,0x2E,0x72,0x75,0x6E
+,0x28,0x64,0x69,0x72,0x5F,0x69,0x6E,0x2E,0x76,0x61,0x6C,0x75,0x65,0x29,0x3B,0x0D
+,0x0A,0x09,0x09,0x69,0x66,0x20,0x28,0x72,0x63,0x76,0x5F,0x74,0x65,0x78,0x74,0x20
+,0x21,0x3D,0x20,0x22,0x72,0x75,0x6E,0x22,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x09,0x09
+,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x6F,0x75,0x74,0x5F,0x66,0x6F,0x72
+,0x6D,0x2E,0x74,0x65,0x78,0x74,0x5F,0x61,0x72,0x65,0x61,0x2E,0x76,0x61,0x6C,0x75
+,0x65,0x20,0x2B,0x3D,0x20,0x22,0x5B,0x52,0x45,0x43,0x56,0x5D,0x22,0x3B,0x0D,0x0A
+,0x09,0x09,0x09,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x6F,0x75,0x74,0x5F
+,0x66,0x6F,0x72,0x6D,0x2E,0x74,0x65,0x78,0x74,0x5F,0x61,0x72,0x65,0x61,0x2E,0x76
+,0x61,0x6C,0x75,0x65,0x20,0x2B,0x3D,0x20,0x72,0x63,0x76,0x5F,0x74,0x65,0x78,0x74
+,0x3B,0x0D,0x0A,0x09,0x09,0x09,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x6F
+,0x75,0x74,0x5F,0x66,0x6F,0x72,0x6D,0x2E,0x74,0x65,0x78,0x74,0x5F,0x61,0x72,0x65
+,0x61,0x2E,0x76,0x61,0x6C,0x75,0x65,0x20,0x2B,0x3D,0x20,0x22,0x5C,0x72,0x5C,0x6E
+,0x22,0x3B,0x0D,0x0A,0x09,0x09,0x7D,0x0D,0x0A,0x09,0x7D,0x0D,0x0A,0x7D,0x0D,0x0A
+,0x0D,0x0A,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x20,0x73,0x6E,0x64,0x5F,0x66
+,0x69,0x6C,0x65,0x5F,0x72,0x65,0x66,0x28,0x29,0x7B,0x0D,0x0A,0x09,0x76,0x61,0x72
+,0x20,0x6F,0x62,0x6A,0x20,0x3D,0x20,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E
+,0x67,0x65,0x74,0x45,0x6C,0x65,0x6D,0x65,0x6E,0x74,0x42,0x79,0x49,0x64,0x28,0x22
+,0x66,0x69,0x6C,0x65,0x5F,0x75,0x70,0x6C,0x6F,0x61,0x64,0x22,0x29,0x2E,0x66,0x69
+,0x6C,0x65,0x73,0x5B,0x30,0x5D,0x3B,0x0D,0x0A,0x09,0x76,0x61,0x72,0x20,0x72,0x65
+,0x61,0x64,0x65,0x72,0x20,0x3D,0x20,0x6E,0x65,0x77,0x20,0x46,0x69,0x6C,0x65,0x52
+,0x65,0x61,0x64,0x65,0x72,0x28,0x29,0x3B,0x0D,0x0A,0x09,0x72,0x65,0x61,0x64,0x65
+,0x72,0x2E,0x6F,0x6E,0x6C,0x6F,0x61,0x64,0x20,0x3D,0x20,0x66,0x75,0x6E,0x63,0x74
+,0x69,0x6F,0x6E,0x28,0x65,0x76,0x74,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x09,0x76,0x61
+,0x72,0x20,0x73,0x74,0x72,0x20,0x3D,0x20,0x65,0x76,0x74,0x2E,0x74,0x61,0x72,0x67
+,0x65,0x74,0x2E,0x72,0x65,0x73,0x75,0x6C,0x74,0x3B,0x0D,0x0A,0x09,0x09,0x76,0x61
+,0x72,0x20,0x73,0x6E,0x64,0x5F,0x64,0x61,0x74,0x61,0x20,0x3D,0x20,0x73,0x74,0x72
+,0x2E,0x73,0x70,0x6C,0x69,0x74,0x28,0x22,0x5C,0x72,0x5C,0x6E,0x22,0x29,0x3B,0x0D
+,0x0A,0x09,0x09,0x76,0x61,0x72,0x20,0x63,0x6E,0x74,0x20,0x3D,0x20,0x30,0x3B,0x0D
+,0x0A,0x09,0x09,0x76,0x61,0x72,0x20,0x72,0x63,0x76,0x5F,0x64,0x61,0x74,0x61,0x20
+,0x3D,0x20,0x30,0x3B,0x0D,0x0A,0x09,0x09,0x77,0x68,0x69,0x6C,0x65,0x20,0x28,0x28
+,0x73,0x6E,0x64,0x5F,0x64,0x61,0x74,0x61,0x5B,0x63,0x6E,0x74,0x5D,0x20,0x21,0x3D
+,0x20,0x6E,0x75,0x6C,0x6C,0x29,0x20,0x26,0x26,0x20,0x28,0x73,0x6E,0x64,0x5F,0x64
+,0x61,0x74,0x61,0x5B,0x63,0x6E,0x74,0x5D,0x20,0x21,0x3D,0x20,0x22,0x22,0x29,0x29
+,0x20,0x7B,0x0D,0x0A,0x09,0x09,0x09,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E
+,0x6F,0x75,0x74,0x5F,0x66,0x6F,0x72,0x6D,0x2E,0x74,0x65,0x78,0x74,0x5F,0x61,0x72
+,0x65,0x61,0x2E,0x76,0x61,0x6C,0x75,0x65,0x20,0x2B,0x3D,0x20,0x22,0x5B,0x53,0x45
+,0x4E,0x44,0x5D,0x22,0x3B,0x0D,0x0A,0x09,0x09,0x09,0x64,0x6F,0x63,0x75,0x6D,0x65
+,0x6E,0x74,0x2E,0x6F,0x75,0x74,0x5F,0x66,0x6F,0x72,0x6D,0x2E,0x74,0x65,0x78,0x74
+,0x5F,0x61,0x72,0x65,0x61,0x2E,0x76,0x61,0x6C,0x75,0x65,0x20,0x2B,0x3D,0x20,0x73
+,0x6E,0x64,0x5F,0x64,0x61,0x74,0x61,0x5B,0x63,0x6E,0x74,0x5D,0x3B,0x0D,0x0A,0x09
+,0x09,0x09,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x6F,0x75,0x74,0x5F,0x66
+,0x6F,0x72,0x6D,0x2E,0x74,0x65,0x78,0x74,0x5F,0x61,0x72,0x65,0x61,0x2E,0x76,0x61
+,0x6C,0x75,0x65,0x20,0x2B,0x3D,0x20,0x22,0x5C,0x72,0x5C,0x6E,0x22,0x3B,0x0D,0x0A
+,0x09,0x09,0x09,0x72,0x63,0x76,0x5F,0x64,0x61,0x74,0x61,0x20,0x3D,0x20,0x74,0x65
+,0x72,0x6D,0x2E,0x72,0x75,0x6E,0x28,0x73,0x6E,0x64,0x5F,0x64,0x61,0x74,0x61,0x5B
+,0x63,0x6E,0x74,0x5D,0x29,0x3B,0x0D,0x0A,0x09,0x09,0x09,0x69,0x66,0x20,0x28,0x72
+,0x63,0x76,0x5F,0x64,0x61,0x74,0x61,0x20,0x21,0x3D,0x20,0x22,0x72,0x75,0x6E,0x22
+,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x09,0x09,0x09,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E
+,0x74,0x2E,0x6F,0x75,0x74,0x5F,0x66,0x6F,0x72,0x6D,0x2E,0x74,0x65,0x78,0x74,0x5F
+,0x61,0x72,0x65,0x61,0x2E,0x76,0x61,0x6C,0x75,0x65,0x20,0x2B,0x3D,0x20,0x22,0x5B
+,0x52,0x45,0x43,0x56,0x5D,0x22,0x3B,0x0D,0x0A,0x09,0x09,0x09,0x09,0x64,0x6F,0x63
+,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x6F,0x75,0x74,0x5F,0x66,0x6F,0x72,0x6D,0x2E,0x74
+,0x65,0x78,0x74,0x5F,0x61,0x72,0x65,0x61,0x2E,0x76,0x61,0x6C,0x75,0x65,0x20,0x2B
+,0x3D,0x20,0x72,0x63,0x76,0x5F,0x64,0x61,0x74,0x61,0x3B,0x0D,0x0A,0x09,0x09,0x09
+,0x09,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x6F,0x75,0x74,0x5F,0x66,0x6F
+,0x72,0x6D,0x2E,0x74,0x65,0x78,0x74,0x5F,0x61,0x72,0x65,0x61,0x2E,0x76,0x61,0x6C
+,0x75,0x65,0x20,0x2B,0x3D,0x20,0x22,0x5C,0x72,0x5C,0x6E,0x22,0x3B,0x0D,0x0A,0x09
+,0x09,0x09,0x7D,0x0D,0x0A,0x09,0x09,0x09,0x63,0x6E,0x74,0x2B,0x2B,0x3B,0x0D,0x0A
+,0x09,0x09,0x7D,0x0D,0x0A,0x09,0x7D,0x0D,0x0A,0x09,0x72,0x65,0x61,0x64,0x65,0x72
+,0x2E,0x72,0x65,0x61,0x64,0x41,0x73,0x54,0x65,0x78,0x74,0x28,0x6F,0x62,0x6A,0x29
+,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E
+,0x20,0x43,0x6C,0x72,0x5F,0x74,0x65,0x78,0x74,0x61,0x72,0x65,0x61,0x28,0x29,0x7B
+,0x0D,0x0A,0x09,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x6F,0x75,0x74,0x5F
+,0x66,0x6F,0x72,0x6D,0x2E,0x74,0x65,0x78,0x74,0x5F,0x61,0x72,0x65,0x61,0x2E,0x76
+,0x61,0x6C,0x75,0x65,0x20,0x3D,0x20,0x22,0x22,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A,0x0D
+,0x0A,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x20,0x53,0x61,0x76,0x65,0x5F,0x74
+,0x65,0x78,0x74,0x61,0x72,0x65,0x61,0x28,0x29,0x7B,0x0D,0x0A,0x09,0x76,0x61,0x72
+,0x20,0x62,0x6C,0x6F,0x62,0x5F,0x6F,0x62,0x6A,0x20,0x3D,0x20,0x6E,0x65,0x77,0x20
+,0x42,0x6C,0x6F,0x62,0x28,0x5B,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x6F
+,0x75,0x74,0x5F,0x66,0x6F,0x72,0x6D,0x2E,0x74,0x65,0x78,0x74,0x5F,0x61,0x72,0x65
+,0x61,0x2E,0x76,0x61,0x6C,0x75,0x65,0x5D,0x2C,0x20,0x7B,0x74,0x79,0x70,0x65,0x3A
+,0x22,0x74,0x65,0x78,0x74,0x2F,0x70,0x6C,0x61,0x69,0x6E,0x22,0x7D,0x29,0x3B,0x0D
+,0x0A,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x44,0x65,0x74,0x65,0x72,0x6D,0x69,0x6E,0x65
+,0x73,0x20,0x62,0x72,0x6F,0x77,0x73,0x65,0x72,0x20,0x2D,0x2D,0x3E,0x0D,0x0A,0x09
+,0x69,0x66,0x20,0x28,0x6E,0x61,0x76,0x69,0x67,0x61,0x74,0x6F,0x72,0x2E,0x6D,0x73
+,0x53,0x61,0x76,0x65,0x42,0x6C,0x6F,0x62,0x29,0x20,0x7B,0x0D,0x0A,0x09,0x09,0x3C
+,0x21,0x2D,0x2D,0x20,0x49,0x45,0x20,0x2D,0x2D,0x3E,0x0D,0x0A,0x20,0x20,0x20,0x20
+,0x20,0x20,0x20,0x20,0x09,0x6E,0x61,0x76,0x69,0x67,0x61,0x74,0x6F,0x72,0x2E,0x6D
+,0x73,0x53,0x61,0x76,0x65,0x4F,0x72,0x4F,0x70,0x65,0x6E,0x42,0x6C,0x6F,0x62,0x28
+,0x62,0x6C,0x6F,0x62,0x5F,0x6F,0x62,0x6A,0x2C,0x20,0x27,0x63,0x6F,0x6D,0x6D,0x5F
+,0x6C,0x6F,0x67,0x2E,0x74,0x78,0x74,0x27,0x29,0x3B,0x0D,0x0A,0x09,0x7D,0x20,0x65
+,0x6C,0x73,0x65,0x20,0x7B,0x0D,0x0A,0x09,0x09,0x3C,0x21,0x2D,0x2D,0x20,0x45,0x78
+,0x70,0x65,0x63,0x74,0x20,0x49,0x45,0x20,0x2D,0x2D,0x3E,0x0D,0x0A,0x09,0x09,0x76
+,0x61,0x72,0x20,0x61,0x20,0x3D,0x20,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x2E
+,0x63,0x72,0x65,0x61,0x74,0x65,0x45,0x6C,0x65,0x6D,0x65,0x6E,0x74,0x28,0x27,0x61
+,0x27,0x29,0x3B,0x0D,0x0A,0x09,0x09,0x61,0x2E,0x68,0x72,0x65,0x66,0x20,0x3D,0x20
+,0x55,0x52,0x4C,0x2E,0x63,0x72,0x65,0x61,0x74,0x65,0x4F,0x62,0x6A,0x65,0x63,0x74
+,0x55,0x52,0x4C,0x28,0x62,0x6C,0x6F,0x62,0x5F,0x6F,0x62,0x6A,0x29,0x3B,0x0D,0x0A
+,0x09,0x09,0x61,0x2E,0x73,0x65,0x74,0x41,0x74,0x74,0x72,0x69,0x62,0x75,0x74,0x65
+,0x28,0x27,0x64,0x6F,0x77,0x6E,0x6C,0x6F,0x61,0x64,0x27,0x2C,0x20,0x27,0x63,0x6F
+,0x6D,0x6D,0x5F,0x6C,0x6F,0x67,0x2E,0x74,0x78,0x74,0x27,0x29,0x3B,0x0D,0x0A,0x09
+,0x09,0x61,0x2E,0x64,0x69,0x73,0x70,0x61,0x74,0x63,0x68,0x45,0x76,0x65,0x6E,0x74
+,0x28,0x6E,0x65,0x77,0x20,0x43,0x75,0x73,0x74,0x6F,0x6D,0x45,0x76,0x65,0x6E,0x74
+,0x28,0x27,0x63,0x6C,0x69,0x63,0x6B,0x27,0x29,0x29,0x3B,0x0D,0x0A,0x09,0x7D,0x0D
+,0x0A,0x7D,0x0D,0x0A,0x0D,0x0A,0x3C,0x2F,0x73,0x63,0x72,0x69,0x70,0x74,0x3E,0x0D
+,0x0A,0x0D,0x0A,0x3C,0x2F,0x62,0x6F,0x64,0x79,0x3E,0x0D,0x0A,0x3C,0x2F,0x68,0x74
+,0x6D,0x6C,0x3E,0x0D,0x0A
+};
+
+static const char web_top_htm_tbl[] = {
+ 0x3C,0x68,0x74,0x6D,0x6C,0x3E,0x0D,0x0A,0x3C,0x68,0x65,0x61,0x64,0x3E,0x0D,0x0A
+,0x3C,0x6D,0x65,0x74,0x61,0x20,0x68,0x74,0x74,0x70,0x2D,0x65,0x71,0x75,0x69,0x76
+,0x3D,0x22,0x43,0x6F,0x6E,0x74,0x65,0x6E,0x74,0x2D,0x54,0x79,0x70,0x65,0x22,0x20
+,0x63,0x6F,0x6E,0x74,0x65,0x6E,0x74,0x3D,0x22,0x74,0x65,0x78,0x74,0x2F,0x68,0x74
+,0x6D,0x6C,0x3B,0x20,0x63,0x68,0x61,0x72,0x73,0x65,0x74,0x3D,0x22,0x75,0x74,0x66
+,0x2D,0x38,0x22,0x3E,0x0D,0x0A,0x3C,0x74,0x69,0x74,0x6C,0x65,0x3E,0x54,0x6F,0x70
+,0x20,0x50,0x61,0x67,0x65,0x3C,0x2F,0x74,0x69,0x74,0x6C,0x65,0x3E,0x0D,0x0A,0x3C
+,0x2F,0x68,0x65,0x61,0x64,0x3E,0x0D,0x0A,0x3C,0x66,0x72,0x61,0x6D,0x65,0x73,0x65
+,0x74,0x20,0x63,0x6F,0x6C,0x73,0x3D,0x22,0x32,0x30,0x25,0x2C,0x38,0x30,0x25,0x22
+,0x3E,0x0D,0x0A,0x3C,0x66,0x72,0x61,0x6D,0x65,0x20,0x73,0x72,0x63,0x3D,0x22,0x6D
+,0x65,0x6E,0x75,0x2E,0x68,0x74,0x6D,0x22,0x3E,0x0D,0x0A,0x3C,0x66,0x72,0x61,0x6D
+,0x65,0x20,0x73,0x72,0x63,0x3D,0x22,0x77,0x69,0x6E,0x64,0x6F,0x77,0x2E,0x68,0x74
+,0x6D,0x22,0x20,0x6E,0x61,0x6D,0x65,0x3D,0x22,0x6B,0x69,0x72,0x69,0x6B,0x61,0x65
+,0x22,0x3E,0x0D,0x0A,0x0D,0x0A,0x3C,0x6E,0x6F,0x66,0x72,0x61,0x6D,0x65,0x73,0x3E
+,0x0D,0x0A,0x3C,0x62,0x6F,0x64,0x79,0x3E,0x0D,0x0A,0x3C,0x70,0x3E,0x59,0x6F,0x75
+,0x20,0x63,0x61,0x6E,0x20,0x6E,0x6F,0x74,0x20,0x76,0x69,0x65,0x77,0x20,0x74,0x68
+,0x69,0x73,0x20,0x73,0x61,0x6D,0x70,0x6C,0x65,0x20,0x73,0x69,0x6E,0x63,0x65,0x20
+,0x74,0x68,0x65,0x20,0x66,0x72,0x61,0x6D,0x65,0x20,0x6F,0x66,0x20,0x75,0x6E,0x73
+,0x75,0x70,0x70,0x6F,0x72,0x74,0x65,0x64,0x20,0x62,0x72,0x6F,0x77,0x73,0x65,0x72
+,0x2E,0x3C,0x2F,0x70,0x3E,0x0D,0x0A,0x3C,0x2F,0x62,0x6F,0x64,0x79,0x3E,0x0D,0x0A
+,0x3C,0x2F,0x6E,0x6F,0x66,0x72,0x61,0x6D,0x65,0x73,0x3E,0x0D,0x0A,0x3C,0x2F,0x66
+,0x72,0x61,0x6D,0x65,0x73,0x65,0x74,0x3E,0x0D,0x0A,0x3C,0x2F,0x68,0x74,0x6D,0x6C
+,0x3E,0x0D,0x0A
+};
+
+static const char menu_htm_tbl[] = {
+ 0x3C,0x68,0x74,0x6D,0x6C,0x3E,0x0D,0x0A,0x3C,0x68,0x65,0x61,0x64,0x3E,0x0D,0x0A
+,0x3C,0x6D,0x65,0x74,0x61,0x20,0x68,0x74,0x74,0x70,0x2D,0x65,0x71,0x75,0x69,0x76
+,0x3D,0x22,0x43,0x6F,0x6E,0x74,0x65,0x6E,0x74,0x2D,0x54,0x79,0x70,0x65,0x22,0x20
+,0x63,0x6F,0x6E,0x74,0x65,0x6E,0x74,0x3D,0x22,0x74,0x65,0x78,0x74,0x2F,0x68,0x74
+,0x6D,0x6C,0x3B,0x20,0x63,0x68,0x61,0x72,0x73,0x65,0x74,0x3D,0x22,0x75,0x74,0x66
+,0x2D,0x38,0x22,0x3E,0x0D,0x0A,0x3C,0x74,0x69,0x74,0x6C,0x65,0x3E,0x47,0x52,0x2D
+,0x50,0x45,0x41,0x43,0x48,0x20,0x4D,0x65,0x6E,0x75,0x3C,0x2F,0x74,0x69,0x74,0x6C
+,0x65,0x3E,0x0D,0x0A,0x3C,0x2F,0x68,0x65,0x61,0x64,0x3E,0x0D,0x0A,0x3C,0x62,0x6F
+,0x64,0x79,0x20,0x62,0x67,0x63,0x6F,0x6C,0x6F,0x72,0x3D,0x22,0x23,0x46,0x46,0x46
+,0x41,0x46,0x41,0x22,0x3E,0x0D,0x0A,0x3C,0x43,0x45,0x4E,0x54,0x45,0x52,0x3E,0x0D
+,0x0A,0x3C,0x50,0x3E,0x3C,0x66,0x6F,0x6E,0x74,0x20,0x73,0x69,0x7A,0x65,0x3D,0x22
+,0x34,0x22,0x3E,0x3C,0x42,0x3E,0x4D,0x65,0x6E,0x75,0x3C,0x2F,0x42,0x3E,0x3C,0x2F
+,0x66,0x6F,0x6E,0x74,0x3E,0x3C,0x2F,0x50,0x3E,0x0D,0x0A,0x3C,0x2F,0x43,0x45,0x4E
+,0x54,0x45,0x52,0x3E,0x0D,0x0A,0x0D,0x0A,0x3C,0x70,0x3E,0x0D,0x0A,0x3C,0x66,0x6F
+,0x6E,0x74,0x20,0x73,0x69,0x7A,0x65,0x3D,0x22,0x34,0x22,0x3E,0x3C,0x73,0x70,0x61
+,0x6E,0x20,0x73,0x74,0x79,0x6C,0x65,0x3D,0x22,0x63,0x6F,0x6C,0x6F,0x72,0x3A,0x23
+,0x30,0x30,0x30,0x30,0x38,0x30,0x22,0x3E,0x3C,0x61,0x20,0x68,0x72,0x65,0x66,0x3D
+,0x22,0x77,0x69,0x6E,0x64,0x6F,0x77,0x2E,0x68,0x74,0x6D,0x22,0x20,0x74,0x61,0x72
+,0x67,0x65,0x74,0x3D,0x22,0x6B,0x69,0x72,0x69,0x6B,0x61,0x65,0x22,0x3E,0x54,0x6F
+,0x70,0x20,0x50,0x61,0x67,0x65,0x3C,0x2F,0x61,0x3E,0x3C,0x2F,0x73,0x70,0x61,0x6E
+,0x3E,0x3C,0x2F,0x66,0x6F,0x6E,0x74,0x3E,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x3C,0x62
+,0x72,0x3E,0x0D,0x0A,0x3C,0x66,0x6F,0x6E,0x74,0x20,0x73,0x69,0x7A,0x65,0x3D,0x22
+,0x34,0x22,0x3E,0x3C,0x73,0x70,0x61,0x6E,0x20,0x73,0x74,0x79,0x6C,0x65,0x3D,0x22
+,0x63,0x6F,0x6C,0x6F,0x72,0x3A,0x23,0x30,0x30,0x30,0x30,0x38,0x30,0x22,0x3E,0x3C
+,0x61,0x20,0x68,0x72,0x65,0x66,0x3D,0x22,0x63,0x61,0x6D,0x65,0x72,0x61,0x2E,0x68
+,0x74,0x6D,0x22,0x20,0x74,0x61,0x72,0x67,0x65,0x74,0x3D,0x22,0x6B,0x69,0x72,0x69
+,0x6B,0x61,0x65,0x22,0x3E,0x57,0x65,0x62,0x20,0x43,0x61,0x6D,0x65,0x72,0x61,0x3C
+,0x2F,0x61,0x3E,0x3C,0x2F,0x73,0x70,0x61,0x6E,0x3E,0x3C,0x2F,0x66,0x6F,0x6E,0x74
+,0x3E,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x3C,0x66,0x6F
+,0x6E,0x74,0x20,0x73,0x69,0x7A,0x65,0x3D,0x22,0x34,0x22,0x3E,0x3C,0x73,0x70,0x61
+,0x6E,0x20,0x73,0x74,0x79,0x6C,0x65,0x3D,0x22,0x63,0x6F,0x6C,0x6F,0x72,0x3A,0x23
+,0x30,0x30,0x30,0x30,0x38,0x30,0x22,0x3E,0x3C,0x61,0x20,0x68,0x72,0x65,0x66,0x3D
+,0x22,0x69,0x32,0x63,0x5F,0x73,0x65,0x74,0x2E,0x68,0x74,0x6D,0x22,0x20,0x74,0x61
+,0x72,0x67,0x65,0x74,0x3D,0x22,0x6B,0x69,0x72,0x69,0x6B,0x61,0x65,0x22,0x3E,0x53
+,0x65,0x74,0x74,0x69,0x6E,0x67,0x20,0x62,0x79,0x20,0x49,0x32,0x43,0x3C,0x2F,0x61
+,0x3E,0x3C,0x2F,0x73,0x70,0x61,0x6E,0x3E,0x3C,0x2F,0x66,0x6F,0x6E,0x74,0x3E,0x3C
+,0x62,0x72,0x3E,0x0D,0x0A,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x3C,0x66,0x6F,0x6E,0x74
+,0x20,0x73,0x69,0x7A,0x65,0x3D,0x22,0x34,0x22,0x3E,0x3C,0x73,0x70,0x61,0x6E,0x20
+,0x73,0x74,0x79,0x6C,0x65,0x3D,0x22,0x63,0x6F,0x6C,0x6F,0x72,0x3A,0x23,0x30,0x30
+,0x30,0x30,0x38,0x30,0x22,0x3E,0x3C,0x61,0x20,0x68,0x72,0x65,0x66,0x3D,0x22,0x6C
+,0x65,0x64,0x2E,0x68,0x74,0x6D,0x22,0x20,0x74,0x61,0x72,0x67,0x65,0x74,0x3D,0x22
+,0x6B,0x69,0x72,0x69,0x6B,0x61,0x65,0x22,0x3E,0x4C,0x45,0x44,0x20,0x4F,0x6E,0x2F
+,0x4F,0x66,0x66,0x3C,0x2F,0x61,0x3E,0x3C,0x2F,0x73,0x70,0x61,0x6E,0x3E,0x3C,0x2F
+,0x66,0x6F,0x6E,0x74,0x3E,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x3C,0x2F,0x62,0x6F,0x64
+,0x79,0x3E,0x0D,0x0A,0x3C,0x2F,0x68,0x74,0x6D,0x6C,0x3E,0x0D,0x0A,0x0D,0x0A
+};
+
+static const char window_htm_tbl[] = {
+ 0x3C,0x68,0x74,0x6D,0x6C,0x3E,0x0D,0x0A,0x3C,0x68,0x65,0x61,0x64,0x3E,0x0D,0x0A
+,0x3C,0x6D,0x65,0x74,0x61,0x20,0x68,0x74,0x74,0x70,0x2D,0x65,0x71,0x75,0x69,0x76
+,0x3D,0x22,0x43,0x6F,0x6E,0x74,0x65,0x6E,0x74,0x2D,0x54,0x79,0x70,0x65,0x22,0x20
+,0x63,0x6F,0x6E,0x74,0x65,0x6E,0x74,0x3D,0x22,0x74,0x65,0x78,0x74,0x2F,0x68,0x74
+,0x6D,0x6C,0x3B,0x20,0x63,0x68,0x61,0x72,0x73,0x65,0x74,0x3D,0x22,0x75,0x74,0x66
+,0x2D,0x38,0x22,0x3E,0x0D,0x0A,0x3C,0x74,0x69,0x74,0x6C,0x65,0x3E,0x47,0x52,0x2D
+,0x50,0x45,0x41,0x43,0x48,0x20,0x57,0x69,0x6E,0x64,0x6F,0x77,0x3C,0x2F,0x74,0x69
+,0x74,0x6C,0x65,0x3E,0x0D,0x0A,0x3C,0x2F,0x68,0x65,0x61,0x64,0x3E,0x0D,0x0A,0x3C
+,0x62,0x6F,0x64,0x79,0x3E,0x0D,0x0A,0x3C,0x70,0x3E,0x3C,0x66,0x6F,0x6E,0x74,0x20
+,0x73,0x69,0x7A,0x65,0x3D,0x22,0x31,0x35,0x22,0x3E,0x3C,0x73,0x70,0x61,0x6E,0x20
+,0x73,0x74,0x79,0x6C,0x65,0x3D,0x22,0x63,0x6F,0x6C,0x6F,0x72,0x3A,0x23,0x30,0x30
+,0x30,0x30,0x38,0x30,0x22,0x3E,0x3C,0x62,0x3E,0x47,0x52,0x2D,0x50,0x45,0x41,0x43
+,0x48,0x20,0x41,0x75,0x64,0x69,0x6F,0x2F,0x43,0x61,0x6D,0x65,0x72,0x61,0x20,0x53
+,0x68,0x69,0x65,0x6C,0x64,0x20,0x53,0x61,0x6D,0x70,0x6C,0x65,0x3C,0x2F,0x62,0x3E
+,0x3C,0x2F,0x73,0x70,0x61,0x6E,0x3E,0x3C,0x2F,0x66,0x6F,0x6E,0x74,0x3E,0x3C,0x62
+,0x72,0x3E,0x0D,0x0A,0x3C,0x62,0x72,0x3E,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x54,0x68
+,0x69,0x73,0x20,0x73,0x61,0x6D,0x70,0x6C,0x65,0x20,0x70,0x72,0x6F,0x67,0x72,0x61
+,0x6D,0x20,0x75,0x73,0x69,0x6E,0x67,0x20,0x47,0x52,0x2D,0x50,0x45,0x41,0x43,0x48
+,0x20,0x61,0x6E,0x64,0x20,0x41,0x75,0x64,0x69,0x6F,0x2F,0x43,0x61,0x6D,0x65,0x72
+,0x61,0x20,0x53,0x68,0x69,0x65,0x6C,0x64,0x2E,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x57
+,0x68,0x65,0x6E,0x20,0x79,0x6F,0x75,0x20,0x70,0x72,0x65,0x73,0x73,0x20,0x74,0x68
+,0x65,0x20,0x4D,0x65,0x6E,0x75,0x20,0x6F,0x6E,0x20,0x74,0x68,0x65,0x20,0x6C,0x65
+,0x66,0x74,0x2C,0x20,0x69,0x74,0x20,0x77,0x69,0x6C,0x6C,0x20,0x62,0x65,0x20,0x64
+,0x69,0x73,0x70,0x6C,0x61,0x79,0x65,0x64,0x20,0x69,0x6E,0x20,0x74,0x68,0x69,0x73
+,0x20,0x77,0x69,0x6E,0x64,0x6F,0x77,0x2E,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x3C,0x62
+,0x72,0x3E,0x0D,0x0A,0x49,0x74,0x20,0x73,0x68,0x6F,0x77,0x73,0x20,0x74,0x68,0x65
+,0x20,0x6F,0x76,0x65,0x72,0x76,0x69,0x65,0x77,0x20,0x6F,0x66,0x20,0x65,0x61,0x63
+,0x68,0x20,0x6C,0x69,0x6E,0x6B,0x20,0x62,0x65,0x6C,0x6F,0x77,0x2E,0x3C,0x62,0x72
+,0x3E,0x0D,0x0A,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x3C,0x73,0x74,0x79,0x6C,0x65,0x20
+,0x74,0x79,0x70,0x65,0x3D,0x22,0x74,0x65,0x78,0x74,0x2F,0x63,0x73,0x73,0x22,0x3E
+,0x0D,0x0A,0x2E,0x74,0x61,0x62,0x6C,0x65,0x20,0x74,0x68,0x20,0x7B,0x0D,0x0A,0x20
+,0x20,0x62,0x61,0x63,0x6B,0x67,0x72,0x6F,0x75,0x6E,0x64,0x2D,0x63,0x6F,0x6C,0x6F
+,0x72,0x3A,0x20,0x23,0x65,0x36,0x66,0x66,0x65,0x39,0x3B,0x0D,0x0A,0x7D,0x0D,0x0A
+,0x3C,0x2F,0x73,0x74,0x79,0x6C,0x65,0x3E,0x0D,0x0A,0x3C,0x74,0x61,0x62,0x6C,0x65
+,0x20,0x63,0x6C,0x61,0x73,0x73,0x3D,0x22,0x74,0x61,0x62,0x6C,0x65,0x22,0x20,0x62
+,0x6F,0x72,0x64,0x65,0x72,0x3D,0x31,0x3E,0x0D,0x0A,0x3C,0x74,0x72,0x3E,0x0D,0x0A
+,0x3C,0x74,0x68,0x3E,0x4C,0x69,0x6E,0x6B,0x73,0x3C,0x2F,0x74,0x68,0x3E,0x3C,0x74
+,0x68,0x3E,0x4F,0x76,0x65,0x72,0x76,0x69,0x65,0x77,0x3C,0x2F,0x74,0x68,0x3E,0x0D
+,0x0A,0x3C,0x2F,0x74,0x72,0x3E,0x0D,0x0A,0x3C,0x74,0x72,0x3E,0x0D,0x0A,0x3C,0x74
+,0x64,0x3E,0x54,0x6F,0x70,0x20,0x50,0x61,0x67,0x65,0x3C,0x2F,0x74,0x64,0x3E,0x3C
+,0x74,0x64,0x3E,0x49,0x74,0x20,0x77,0x69,0x6C,0x6C,0x20,0x72,0x65,0x74,0x75,0x72
+,0x6E,0x20,0x74,0x6F,0x20,0x74,0x68,0x65,0x20,0x74,0x6F,0x70,0x20,0x70,0x61,0x67
+,0x65,0x2E,0x3C,0x62,0x72,0x3E,0x3C,0x2F,0x74,0x64,0x3E,0x0D,0x0A,0x3C,0x2F,0x74
+,0x72,0x3E,0x0D,0x0A,0x3C,0x74,0x72,0x3E,0x0D,0x0A,0x3C,0x74,0x64,0x3E,0x57,0x65
+,0x62,0x20,0x43,0x61,0x6D,0x65,0x72,0x61,0x3C,0x2F,0x74,0x64,0x3E,0x3C,0x74,0x64
+,0x3E,0x49,0x74,0x20,0x69,0x6E,0x64,0x69,0x63,0x61,0x74,0x65,0x73,0x20,0x74,0x68
+,0x65,0x20,0x69,0x6D,0x61,0x67,0x65,0x20,0x61,0x63,0x71,0x75,0x69,0x72,0x65,0x64
+,0x20,0x62,0x79,0x20,0x74,0x68,0x65,0x20,0x63,0x61,0x6D,0x65,0x72,0x61,0x20,0x6F
+,0x6E,0x20,0x74,0x68,0x65,0x20,0x77,0x65,0x62,0x20,0x62,0x72,0x6F,0x77,0x73,0x65
+,0x72,0x2E,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x49,0x74,0x20,0x63,0x61,0x6E,0x20,0x62
+,0x65,0x20,0x63,0x68,0x61,0x6E,0x67,0x65,0x64,0x20,0x61,0x74,0x20,0x61,0x20,0x73
+,0x6C,0x69,0x64,0x65,0x72,0x20,0x62,0x61,0x72,0x20,0x69,0x6E,0x20,0x22,0x57,0x61
+,0x69,0x74,0x20,0x74,0x69,0x6D,0x65,0x22,0x20,0x61,0x74,0x20,0x74,0x68,0x65,0x20
+,0x74,0x69,0x6D,0x69,0x6E,0x67,0x20,0x6F,0x66,0x20,0x61,0x20,0x72,0x65,0x6E,0x65
+,0x77,0x61,0x6C,0x20,0x6F,0x66,0x20,0x61,0x20,0x63,0x61,0x6D,0x65,0x72,0x61,0x20
+,0x70,0x69,0x63,0x74,0x75,0x72,0x65,0x2E,0x20,0x28,0x44,0x65,0x66,0x61,0x75,0x6C
+,0x74,0x73,0x20,0x61,0x72,0x65,0x20,0x35,0x30,0x30,0x6D,0x73,0x2E,0x29,0x3C,0x2F
+,0x74,0x64,0x3E,0x0D,0x0A,0x3C,0x2F,0x74,0x72,0x3E,0x0D,0x0A,0x3C,0x74,0x72,0x3E
+,0x0D,0x0A,0x3C,0x74,0x64,0x3E,0x53,0x65,0x74,0x74,0x69,0x6E,0x67,0x20,0x62,0x79
+,0x20,0x49,0x32,0x43,0x3C,0x2F,0x74,0x64,0x3E,0x3C,0x74,0x64,0x3E,0x49,0x74,0x20
+,0x69,0x6E,0x64,0x69,0x63,0x61,0x74,0x65,0x73,0x20,0x49,0x32,0x43,0x20,0x73,0x65
+,0x74,0x74,0x69,0x6E,0x67,0x20,0x6F,0x6E,0x20,0x74,0x68,0x65,0x20,0x77,0x65,0x62
+,0x20,0x62,0x72,0x6F,0x77,0x73,0x65,0x72,0x2E,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x49
+,0x6E,0x20,0x49,0x32,0x43,0x20,0x63,0x6F,0x6D,0x6D,0x75,0x6E,0x69,0x63,0x61,0x74
+,0x69,0x6F,0x6E,0x2C,0x20,0x47,0x52,0x2D,0x50,0x45,0x41,0x43,0x48,0x20,0x65,0x78
+,0x65,0x63,0x75,0x74,0x65,0x73,0x20,0x74,0x68,0x65,0x20,0x73,0x65,0x74,0x74,0x69
+,0x6E,0x67,0x73,0x20,0x6F,0x66,0x20,0x74,0x68,0x65,0x20,0x64,0x65,0x76,0x69,0x63
+,0x65,0x73,0x20,0x63,0x6F,0x6E,0x6E,0x65,0x63,0x74,0x65,0x64,0x20,0x74,0x6F,0x20
+,0x49,0x32,0x43,0x5F,0x53,0x43,0x41,0x20,0x74,0x65,0x72,0x6D,0x69,0x6E,0x61,0x6C
+,0x20,0x61,0x6E,0x64,0x20,0x49,0x32,0x43,0x5F,0x53,0x43,0x4C,0x20,0x74,0x65,0x72
+,0x6D,0x69,0x6E,0x61,0x6C,0x2E,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x4F,0x6E,0x20,0x74
+,0x68,0x65,0x20,0x62,0x61,0x73,0x69,0x73,0x20,0x6F,0x66,0x20,0x74,0x68,0x65,0x20
+,0x63,0x6F,0x6D,0x6D,0x61,0x6E,0x64,0x2C,0x20,0x47,0x52,0x2D,0x50,0x45,0x41,0x43
+,0x48,0x20,0x61,0x63,0x63,0x65,0x73,0x73,0x65,0x73,0x20,0x74,0x6F,0x20,0x72,0x65
+,0x67,0x69,0x73,0x74,0x65,0x72,0x73,0x20,0x6F,0x66,0x20,0x74,0x68,0x65,0x20,0x64
+,0x65,0x76,0x69,0x63,0x65,0x73,0x2E,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x59,0x6F,0x75
+,0x20,0x63,0x61,0x6E,0x20,0x73,0x65,0x6E,0x64,0x20,0x74,0x68,0x65,0x20,0x63,0x6F
+,0x6D,0x6D,0x61,0x6E,0x64,0x20,0x6F,0x66,0x20,0x74,0x68,0x65,0x20,0x73,0x70,0x65
+,0x63,0x69,0x66,0x69,0x65,0x64,0x20,0x66,0x6F,0x72,0x6D,0x61,0x74,0x20,0x69,0x6E
+,0x20,0x6F,0x6E,0x65,0x20,0x6F,0x66,0x20,0x74,0x77,0x6F,0x20,0x70,0x61,0x74,0x74
+,0x65,0x72,0x6E,0x73,0x20,0x62,0x65,0x6C,0x6F,0x77,0x2E,0x3C,0x62,0x72,0x3E,0x0D
+,0x0A,0x26,0x6E,0x62,0x73,0x70,0x3B,0x26,0x6E,0x62,0x73,0x70,0x3B,0x22,0x44,0x69
+,0x72,0x65,0x63,0x74,0x6C,0x20,0x69,0x6E,0x70,0x75,0x74,0x22,0x20,0x6F,0x72,0x20
+,0x22,0x46,0x69,0x6C,0x65,0x20,0x72,0x65,0x66,0x65,0x72,0x65,0x6E,0x63,0x65,0x22
+,0x2E,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x50,0x6C,0x65,0x61,0x73,0x65,0x20,0x63,0x72
+,0x65,0x61,0x74,0x65,0x20,0x61,0x20,0x63,0x6F,0x6D,0x6D,0x61,0x6E,0x64,0x20,0x61
+,0x6C,0x6F,0x6E,0x67,0x20,0x74,0x68,0x65,0x20,0x66,0x6F,0x72,0x6D,0x61,0x74,0x20
+,0x61,0x66,0x74,0x65,0x72,0x20,0x79,0x6F,0x75,0x20,0x63,0x68,0x65,0x63,0x6B,0x20
+,0x74,0x68,0x65,0x20,0x73,0x70,0x65,0x63,0x69,0x66,0x69,0x63,0x61,0x74,0x69,0x6F
+,0x6E,0x73,0x20,0x6F,0x66,0x20,0x65,0x61,0x63,0x68,0x20,0x64,0x65,0x76,0x69,0x63
+,0x65,0x2E,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x54,0x68,0x65,0x20,0x66,0x6F,0x72,0x6D
+,0x61,0x74,0x20,0x6F,0x66,0x20,0x74,0x68,0x65,0x20,0x63,0x6F,0x6D,0x6D,0x61,0x6E
+,0x64,0x20,0x69,0x73,0x3A,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x26,0x6E,0x62,0x73,0x70
+,0x3B,0x26,0x6E,0x62,0x73,0x70,0x3B,0x4D,0x65,0x74,0x68,0x6F,0x64,0x3A,0x49,0x32
+,0x43,0x20,0x61,0x64,0x64,0x72,0x2C,0x64,0x61,0x74,0x61,0x20,0x6C,0x65,0x6E,0x67
+,0x74,0x68,0x2C,0x64,0x61,0x74,0x61,0x31,0x2C,0x64,0x61,0x74,0x61,0x32,0x2C,0x64
+,0x61,0x74,0x61,0x33,0x2C,0x2E,0x2E,0x2E,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x3C,0x62
+,0x72,0x3E,0x0D,0x0A,0x4D,0x65,0x74,0x68,0x6F,0x64,0x20,0x69,0x73,0x20,0x62,0x65
+,0x6C,0x6F,0x77,0x2E,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x26,0x6E,0x62,0x73,0x70,0x3B
+,0x26,0x6E,0x62,0x73,0x70,0x3B,0x26,0x6E,0x62,0x73,0x70,0x3B,0x22,0x57,0x72,0x22
+,0x69,0x73,0x20,0x57,0x72,0x69,0x74,0x65,0x20,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F
+,0x6E,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x26,0x6E,0x62,0x73,0x70,0x3B,0x26,0x6E,0x62
+,0x73,0x70,0x3B,0x26,0x6E,0x62,0x73,0x70,0x3B,0x22,0x52,0x64,0x22,0x20,0x69,0x73
+,0x20,0x52,0x65,0x61,0x64,0x20,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x3C,0x62
+,0x72,0x3E,0x0D,0x0A,0x26,0x6E,0x62,0x73,0x70,0x3B,0x26,0x6E,0x62,0x73,0x70,0x3B
+,0x26,0x6E,0x62,0x73,0x70,0x3B,0x22,0x57,0x72,0x4E,0x6F,0x70,0x22,0x20,0x69,0x73
+,0x20,0x57,0x72,0x69,0x74,0x65,0x20,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x28
+,0x4E,0x6F,0x20,0x53,0x54,0x4F,0x50,0x20,0x63,0x6F,0x6E,0x64,0x69,0x74,0x69,0x6F
+,0x6E,0x29,0x3C,0x62,0x72,0x3E,0x0D,0x0A,0x26,0x6E,0x62,0x73,0x70,0x3B,0x26,0x6E
+,0x62,0x73,0x70,0x3B,0x26,0x6E,0x62,0x73,0x70,0x3B,0x22,0x52,0x64,0x4E,0x6F,0x70
+,0x22,0x20,0x69,0x73,0x20,0x52,0x65,0x61,0x64,0x20,0x66,0x75,0x6E,0x63,0x74,0x69
+,0x6F,0x6E,0x28,0x4E,0x6F,0x20,0x53,0x54,0x4F,0x50,0x20,0x63,0x6F,0x6E,0x64,0x69
+,0x74,0x69,0x6F,0x6E,0x29,0x3C,0x62,0x72,0x3E,0x3C,0x2F,0x74,0x64,0x3E,0x0D,0x0A
+,0x3C,0x2F,0x74,0x72,0x3E,0x0D,0x0A,0x3C,0x74,0x72,0x3E,0x0D,0x0A,0x3C,0x74,0x64
+,0x3E,0x4C,0x45,0x44,0x20,0x4F,0x6E,0x2F,0x4F,0x66,0x66,0x3C,0x2F,0x74,0x64,0x3E
+,0x3C,0x74,0x64,0x3E,0x49,0x74,0x20,0x69,0x6E,0x64,0x69,0x63,0x61,0x74,0x65,0x73
+,0x20,0x4C,0x45,0x44,0x31,0x2C,0x20,0x4C,0x45,0x44,0x32,0x20,0x61,0x6E,0x64,0x20
+,0x4C,0x45,0x44,0x33,0x20,0x6F,0x66,0x20,0x74,0x68,0x65,0x20,0x74,0x6F,0x67,0x67
+,0x6C,0x65,0x20,0x73,0x77,0x69,0x74,0x63,0x68,0x20,0x6F,0x6E,0x20,0x74,0x68,0x65
+,0x20,0x77,0x65,0x62,0x20,0x62,0x72,0x6F,0x77,0x73,0x65,0x72,0x2E,0x3C,0x62,0x72
+,0x3E,0x0D,0x0A,0x45,0x61,0x63,0x68,0x20,0x73,0x77,0x69,0x74,0x63,0x68,0x20,0x69
+,0x6E,0x64,0x69,0x63,0x61,0x74,0x65,0x73,0x20,0x74,0x68,0x65,0x20,0x63,0x75,0x72
+,0x72,0x65,0x6E,0x74,0x20,0x4C,0x45,0x44,0x20,0x73,0x74,0x61,0x74,0x65,0x2E,0x3C
+,0x62,0x72,0x3E,0x0D,0x0A,0x4C,0x45,0x44,0x20,0x4F,0x4E,0x20,0x61,0x6E,0x64,0x20
+,0x4F,0x46,0x46,0x20,0x73,0x77,0x69,0x74,0x63,0x68,0x65,0x73,0x20,0x77,0x68,0x65
+,0x6E,0x20,0x79,0x6F,0x75,0x20,0x70,0x72,0x65,0x73,0x73,0x20,0x74,0x68,0x65,0x20
+,0x73,0x77,0x69,0x74,0x63,0x68,0x2E,0x20,0x57,0x68,0x65,0x6E,0x20,0x74,0x68,0x65
+,0x20,0x4C,0x45,0x44,0x20,0x69,0x73,0x20,0x4F,0x4E,0x2C,0x20,0x74,0x68,0x65,0x20
+,0x63,0x6F,0x6C,0x6F,0x72,0x20,0x6F,0x66,0x20,0x74,0x68,0x65,0x20,0x73,0x77,0x69
+,0x74,0x63,0x68,0x20,0x77,0x69,0x6C,0x6C,0x20,0x63,0x68,0x61,0x6E,0x67,0x65,0x20
+,0x74,0x68,0x65,0x20,0x4C,0x45,0x44,0x20,0x63,0x6F,0x6C,0x6F,0x72,0x2E,0x3C,0x2F
+,0x74,0x64,0x3E,0x0D,0x0A,0x3C,0x2F,0x74,0x72,0x3E,0x0D,0x0A,0x3C,0x2F,0x74,0x61
+,0x62,0x6C,0x65,0x3E,0x0D,0x0A,0x0D,0x0A,0x0D,0x0A,0x3C,0x2F,0x62,0x6F,0x64,0x79
+,0x3E,0x0D,0x0A,0x3C,0x2F,0x68,0x74,0x6D,0x6C,0x3E,0x0D,0x0A,0x0D,0x0A
+};
+
--- a/main.cpp Thu Jul 13 04:19:35 2017 +0000
+++ b/main.cpp Tue Dec 25 09:57:54 2018 +0000
@@ -1,20 +1,19 @@
#include "mbed.h"
-#include "DisplayBace.h"
-#include "rtos.h"
+#include "EasyAttach_CameraAndLCD.h"
+#include "dcache-control.h"
#include "JPEG_Converter.h"
#include "HTTPServer.h"
#include "mbed_rpc.h"
#include "FATFileSystem.h"
#include "RomRamBlockDevice.h"
-#include "file_table.h" //Binary data of web pages
+#include "SDBlockDevice_GRBoard.h"
+#if defined(TARGET_RZ_A1H)
+#include "file_table_peach.h" //Binary data of web pages
+#elif defined(TARGET_GR_LYCHEE)
+#include "file_table_lychee.h" //Binary data of web pages
+#endif
#include "i2c_setting.h"
-#define VIDEO_CVBS (0) /* Analog Video Signal */
-#define VIDEO_CMOS_CAMERA (1) /* Digital Video Signal */
-#define VIDEO_YCBCR422 (0)
-#define VIDEO_RGB888 (1)
-#define VIDEO_RGB565 (2)
-
/**** User Selection *********/
/** Network setting **/
#define USE_DHCP (1) /* Select 0(static configuration) or 1(use DHCP) */
@@ -23,73 +22,75 @@
#define SUBNET_MASK ("255.255.255.0") /* Subnet mask */
#define DEFAULT_GATEWAY ("192.168.0.3") /* Default gateway */
#endif
-#define NETWORK_TYPE (0) /* Select 0(EthernetInterface) or 1(GR_PEACH_WlanBP3595) */
-#if (NETWORK_TYPE == 1)
+#define NETWORK_TYPE (0) /* Select 0(Ethernet), 1(BP3595), 2(ESP32 STA) ,3(ESP32 AP) */
+#if (NETWORK_TYPE >= 1)
#define SCAN_NETWORK (1) /* Select 0(Use WLAN_SSID, WLAN_PSK, WLAN_SECURITY) or 1(To select a network using the terminal.) */
#define WLAN_SSID ("SSIDofYourAP") /* SSID */
#define WLAN_PSK ("PSKofYourAP") /* PSK(Pre-Shared Key) */
#define WLAN_SECURITY NSAPI_SECURITY_WPA_WPA2 /* NSAPI_SECURITY_NONE, NSAPI_SECURITY_WEP, NSAPI_SECURITY_WPA, NSAPI_SECURITY_WPA2 or NSAPI_SECURITY_WPA_WPA2 */
#endif
-/** Camera setting **/
-#define VIDEO_INPUT_METHOD (VIDEO_CMOS_CAMERA) /* Select VIDEO_CVBS or VIDEO_CMOS_CAMERA */
-#define VIDEO_INPUT_FORMAT (VIDEO_YCBCR422) /* Select VIDEO_YCBCR422 or VIDEO_RGB888 or VIDEO_RGB565 */
-#define USE_VIDEO_CH (0) /* Select 0 or 1 If selecting VIDEO_CMOS_CAMERA, should be 0.) */
-#define VIDEO_PAL (0) /* Select 0(NTSC) or 1(PAL) If selecting VIDEO_CVBS, this parameter is not referenced.) */
+/** JPEG out setting **/
+#define JPEG_ENCODE_QUALITY (75) /* JPEG encode quality (min:1, max:75 (Considering the size of JpegBuffer, about 75 is the upper limit.)) */
+#define VFIELD_INT_SKIP_CNT (0) /* A guide for GR-LYCHEE. 0:60fps, 1:30fps, 2:20fps, 3:15fps, 4:12fps, 5:10fps */
/*****************************/
-#if USE_VIDEO_CH == (0)
-#define VIDEO_INPUT_CH (DisplayBase::VIDEO_INPUT_CHANNEL_0)
-#define VIDEO_INT_TYPE (DisplayBase::INT_TYPE_S0_VFIELD)
-#else
-#define VIDEO_INPUT_CH (DisplayBase::VIDEO_INPUT_CHANNEL_1)
-#define VIDEO_INT_TYPE (DisplayBase::INT_TYPE_S1_VFIELD)
-#endif
-
-#if ( VIDEO_INPUT_FORMAT == VIDEO_YCBCR422 || VIDEO_INPUT_FORMAT == VIDEO_RGB565 )
-#define DATA_SIZE_PER_PIC (2u)
-#else
-#define DATA_SIZE_PER_PIC (4u)
-#endif
-
-/*! Frame buffer stride: Frame buffer stride should be set to a multiple of 32 or 128
- in accordance with the frame buffer burst transfer mode. */
-#define PIXEL_HW (320u) /* QVGA */
-#define PIXEL_VW (240u) /* QVGA */
-
-#define VIDEO_BUFFER_STRIDE (((PIXEL_HW * DATA_SIZE_PER_PIC) + 31u) & ~31u)
-#define VIDEO_BUFFER_HEIGHT (PIXEL_VW)
-
#if (NETWORK_TYPE == 0)
#include "EthernetInterface.h"
EthernetInterface network;
#elif (NETWORK_TYPE == 1)
- #include "LWIPBP3595Interface.h"
- LWIPBP3595Interface network;
- DigitalOut usb1en(P3_8);
+ #error "Not supported"
+#elif (NETWORK_TYPE == 2)
+ #include "ESP32Interface.h"
+ #if defined(TARGET_RZ_A1H)
+ ESP32Interface network(P3_10, P3_9, P2_14, P2_15);
+ #elif defined(TARGET_GR_LYCHEE)
+ ESP32Interface network(P5_3, P3_14, P7_1, P0_1);
+ #endif
+#elif (NETWORK_TYPE == 3)
+ #include "ESP32InterfaceAP.h"
+ #if defined(TARGET_RZ_A1H)
+ ESP32InterfaceAP network(P3_10, P3_9, P2_14, P2_15);
+ #elif defined(TARGET_GR_LYCHEE)
+ ESP32InterfaceAP network(P5_3, P3_14, P7_1, P0_1);
+ #endif
#else
#error NETWORK_TYPE error
#endif /* NETWORK_TYPE */
-FATFileSystem fs("storage");
-RomRamBlockDevice romram_bd(512000, 512);
-Serial pc(USBTX, USBRX);
+
+/* Video input and LCD layer 0 output */
+#define VIDEO_FORMAT (DisplayBase::VIDEO_FORMAT_YCBCR422)
+#define GRAPHICS_FORMAT (DisplayBase::GRAPHICS_FORMAT_YCBCR422)
+#define WR_RD_WRSWA (DisplayBase::WR_RD_WRSWA_32_16BIT)
+#define DATA_SIZE_PER_PIC (2u)
+
+/*! Frame buffer stride: Frame buffer stride should be set to a multiple of 32 or 128
+ in accordance with the frame buffer burst transfer mode. */
+#define VIDEO_PIXEL_HW (320u) /* QVGA */
+#define VIDEO_PIXEL_VW (240u) /* QVGA */
+
+#define FRAME_BUFFER_STRIDE (((VIDEO_PIXEL_HW * DATA_SIZE_PER_PIC) + 31u) & ~31u)
+#define FRAME_BUFFER_HEIGHT (VIDEO_PIXEL_VW)
+
+DisplayBase Display;
#if defined(__ICCARM__)
-#pragma data_alignment=16
-static uint8_t FrameBuffer_Video[VIDEO_BUFFER_STRIDE * VIDEO_BUFFER_HEIGHT]@ ".mirrorram"; //16 bytes aligned!;
-#pragma data_alignment=4
+#pragma data_alignment=32
+static uint8_t user_frame_buffer0[FRAME_BUFFER_STRIDE * FRAME_BUFFER_HEIGHT]@ ".mirrorram";
#else
-static uint8_t FrameBuffer_Video[VIDEO_BUFFER_STRIDE * VIDEO_BUFFER_HEIGHT]__attribute((section("NC_BSS"),aligned(16))); //16 bytes aligned!;
+static uint8_t user_frame_buffer0[FRAME_BUFFER_STRIDE * FRAME_BUFFER_HEIGHT]__attribute((section("NC_BSS"),aligned(32)));
#endif
-static volatile int32_t vsync_count = 0;
-#if VIDEO_INPUT_METHOD == VIDEO_CVBS
-static volatile int32_t vfield_count = 1;
-#endif
+
+FATFileSystem fs("storage");
+RomRamBlockDevice romram_bd(512000, 512);
+SDBlockDevice_GRBoard sd;
+Serial pc(USBTX, USBRX);
+Thread sdConnectTask;
+
#if defined(__ICCARM__)
-#pragma data_alignment=8
-static uint8_t JpegBuffer[2][1024 * 50]@ ".mirrorram"; //8 bytes aligned!;
-#pragma data_alignment=4
+#pragma data_alignment=32
+static uint8_t JpegBuffer[2][1024 * 64];
#else
-static uint8_t JpegBuffer[2][1024 * 50]__attribute((section("NC_BSS"),aligned(8))); //8 bytes aligned!;
+static uint8_t JpegBuffer[2][1024 * 64]__attribute((aligned(32)));
#endif
static size_t jcu_encode_size[2];
static int image_change = 0;
@@ -98,200 +99,22 @@
static int jcu_buf_index_write_done = 0;
static int jcu_buf_index_read = 0;
static int jcu_encoding = 0;
+static int Vfield_Int_Cnt = 0;
static char i2c_setting_str_buf[I2C_SETTING_STR_BUF_SIZE];
static void JcuEncodeCallBackFunc(JPEG_Converter::jpeg_conv_error_t err_code) {
- jcu_buf_index_write_done = jcu_buf_index_write;
- image_change = 1;
- jcu_encoding = 0;
-}
-
-static void IntCallbackFunc_Vfield(DisplayBase::int_type_t int_type) {
- //Interrupt callback function
-#if VIDEO_INPUT_METHOD == VIDEO_CVBS
- if (vfield_count != 0) {
- vfield_count = 0;
- } else {
- vfield_count = 1;
-#else
- {
-#endif
- JPEG_Converter::bitmap_buff_info_t bitmap_buff_info;
- JPEG_Converter::encode_options_t encode_options;
-
- bitmap_buff_info.width = PIXEL_HW;
- bitmap_buff_info.height = PIXEL_VW;
- bitmap_buff_info.format = JPEG_Converter::WR_RD_YCbCr422;
- bitmap_buff_info.buffer_address = (void *)FrameBuffer_Video;
-
- encode_options.encode_buff_size = sizeof(JpegBuffer[0]);
- encode_options.p_EncodeCallBackFunc = &JcuEncodeCallBackFunc;
-
- jcu_encoding = 1;
- if (jcu_buf_index_read == jcu_buf_index_write) {
- if (jcu_buf_index_write != 0) {
- jcu_buf_index_write = 0;
- } else {
- jcu_buf_index_write = 1;
- }
- }
- jcu_encode_size[jcu_buf_index_write] = 0;
- if (Jcu.encode(&bitmap_buff_info, JpegBuffer[jcu_buf_index_write], &jcu_encode_size[jcu_buf_index_write], &encode_options) != JPEG_Converter::JPEG_CONV_OK) {
- jcu_encode_size[jcu_buf_index_write] = 0;
- jcu_encoding = 0;
- }
- }
-}
-
-static void IntCallbackFunc_Vsync(DisplayBase::int_type_t int_type) {
- //Interrupt callback function for Vsync interruption
- if (vsync_count > 0) {
- vsync_count--;
- }
-}
-
-static void WaitVsync(const int32_t wait_count) {
- //Wait for the specified number of times Vsync occurs
- vsync_count = wait_count;
- while (vsync_count > 0) {
- /* Do nothing */
- }
-}
-
-static void camera_start(void) {
- DisplayBase::graphics_error_t error;
-
-#if VIDEO_INPUT_METHOD == VIDEO_CMOS_CAMERA
- DisplayBase::video_ext_in_config_t ext_in_config;
- PinName cmos_camera_pin[11] = {
- /* data pin */
- P2_7, P2_6, P2_5, P2_4, P2_3, P2_2, P2_1, P2_0,
- /* control pin */
- P10_0, /* DV0_CLK */
- P1_0, /* DV0_Vsync */
- P1_1 /* DV0_Hsync */
- };
-#endif
-
- /* Create DisplayBase object */
- DisplayBase Display;
-
- /* Graphics initialization process */
- error = Display.Graphics_init(NULL);
- if (error != DisplayBase::GRAPHICS_OK) {
- printf("Line %d, error %d\n", __LINE__, error);
- while (1);
- }
-
-#if VIDEO_INPUT_METHOD == VIDEO_CVBS
- error = Display.Graphics_Video_init( DisplayBase::INPUT_SEL_VDEC, NULL);
- if( error != DisplayBase::GRAPHICS_OK ) {
- printf("Line %d, error %d\n", __LINE__, error);
- while(1);
+ if (err_code == JPEG_Converter::JPEG_CONV_OK) {
+ jcu_buf_index_write_done = jcu_buf_index_write;
+ image_change = 1;
}
-
-#elif VIDEO_INPUT_METHOD == VIDEO_CMOS_CAMERA
- /* MT9V111 camera input config */
- ext_in_config.inp_format = DisplayBase::VIDEO_EXTIN_FORMAT_BT601; /* BT601 8bit YCbCr format */
- ext_in_config.inp_pxd_edge = DisplayBase::EDGE_RISING; /* Clock edge select for capturing data */
- ext_in_config.inp_vs_edge = DisplayBase::EDGE_RISING; /* Clock edge select for capturing Vsync signals */
- ext_in_config.inp_hs_edge = DisplayBase::EDGE_RISING; /* Clock edge select for capturing Hsync signals */
- ext_in_config.inp_endian_on = DisplayBase::OFF; /* External input bit endian change on/off */
- ext_in_config.inp_swap_on = DisplayBase::OFF; /* External input B/R signal swap on/off */
- ext_in_config.inp_vs_inv = DisplayBase::SIG_POL_NOT_INVERTED; /* External input DV_VSYNC inversion control */
- ext_in_config.inp_hs_inv = DisplayBase::SIG_POL_INVERTED; /* External input DV_HSYNC inversion control */
- ext_in_config.inp_f525_625 = DisplayBase::EXTIN_LINE_525; /* Number of lines for BT.656 external input */
- ext_in_config.inp_h_pos = DisplayBase::EXTIN_H_POS_CRYCBY; /* Y/Cb/Y/Cr data string start timing to Hsync reference */
- ext_in_config.cap_vs_pos = 6; /* Capture start position from Vsync */
- ext_in_config.cap_hs_pos = 150; /* Capture start position form Hsync */
- ext_in_config.cap_width = 640; /* Capture width */
- ext_in_config.cap_height = 468u; /* Capture height Max 468[line]
- Due to CMOS(MT9V111) output signal timing and VDC5 specification */
- error = Display.Graphics_Video_init( DisplayBase::INPUT_SEL_EXT, &ext_in_config);
- if( error != DisplayBase::GRAPHICS_OK ) {
- printf("Line %d, error %d\n", __LINE__, error);
- while(1);
- }
-
- /* MT9V111 camera input port setting */
- error = Display.Graphics_Dvinput_Port_Init(cmos_camera_pin, 11);
- if( error != DisplayBase::GRAPHICS_OK ) {
- printf("Line %d, error %d\n", __LINE__, error);
- while (1);
- }
-#endif
-
- /* Interrupt callback function setting (Vsync signal input to scaler 0) */
- error = Display.Graphics_Irq_Handler_Set(DisplayBase::INT_TYPE_S0_VI_VSYNC, 0, IntCallbackFunc_Vsync);
- if (error != DisplayBase::GRAPHICS_OK) {
- printf("Line %d, error %d\n", __LINE__, error);
- while (1);
- }
- /* Video capture setting (progressive form fixed) */
- error = Display.Video_Write_Setting(
- VIDEO_INPUT_CH,
-#if VIDEO_PAL == 0
- DisplayBase::COL_SYS_NTSC_358,
-#else
- DisplayBase::COL_SYS_PAL_443,
-#endif
- FrameBuffer_Video,
- VIDEO_BUFFER_STRIDE,
-#if VIDEO_INPUT_FORMAT == VIDEO_YCBCR422
- DisplayBase::VIDEO_FORMAT_YCBCR422,
- DisplayBase::WR_RD_WRSWA_NON,
-#elif VIDEO_INPUT_FORMAT == VIDEO_RGB565
- DisplayBase::VIDEO_FORMAT_RGB565,
- DisplayBase::WR_RD_WRSWA_32_16BIT,
-#else
- DisplayBase::VIDEO_FORMAT_RGB888,
- DisplayBase::WR_RD_WRSWA_32BIT,
-#endif
- PIXEL_VW,
- PIXEL_HW
- );
- if (error != DisplayBase::GRAPHICS_OK) {
- printf("Line %d, error %d\n", __LINE__, error);
- while (1);
- }
-
- /* Interrupt callback function setting (Field end signal for recording function in scaler 0) */
- error = Display.Graphics_Irq_Handler_Set(VIDEO_INT_TYPE, 0, IntCallbackFunc_Vfield);
- if (error != DisplayBase::GRAPHICS_OK) {
- printf("Line %d, error %d\n", __LINE__, error);
- while (1);
- }
-
- /* Video write process start */
- error = Display.Video_Start (VIDEO_INPUT_CH);
- if (error != DisplayBase::GRAPHICS_OK) {
- printf("Line %d, error %d\n", __LINE__, error);
- while (1);
- }
-
- /* Video write process stop */
- error = Display.Video_Stop (VIDEO_INPUT_CH);
- if (error != DisplayBase::GRAPHICS_OK) {
- printf("Line %d, error %d\n", __LINE__, error);
- while (1);
- }
-
- /* Video write process start */
- error = Display.Video_Start (VIDEO_INPUT_CH);
- if (error != DisplayBase::GRAPHICS_OK) {
- printf("Line %d, error %d\n", __LINE__, error);
- while (1);
- }
-
- /* Wait vsync to update resister */
- WaitVsync(1);
+ jcu_encoding = 0;
}
static int snapshot_req(const char ** pp_data) {
int encode_size;
while ((jcu_encoding == 1) || (image_change == 0)) {
- Thread::wait(1);
+ ThisThread::sleep_for(1);
}
jcu_buf_index_read = jcu_buf_index_write_done;
image_change = 0;
@@ -302,6 +125,56 @@
return encode_size;
}
+static void IntCallbackFunc_Vfield(DisplayBase::int_type_t int_type) {
+ if (Vfield_Int_Cnt < VFIELD_INT_SKIP_CNT) {
+ Vfield_Int_Cnt++;
+ return;
+ }
+ Vfield_Int_Cnt = 0;
+
+ //Interrupt callback function
+ if (jcu_encoding == 0) {
+ JPEG_Converter::bitmap_buff_info_t bitmap_buff_info;
+ JPEG_Converter::encode_options_t encode_options;
+
+ bitmap_buff_info.width = VIDEO_PIXEL_HW;
+ bitmap_buff_info.height = VIDEO_PIXEL_VW;
+ bitmap_buff_info.format = JPEG_Converter::WR_RD_YCbCr422;
+ bitmap_buff_info.buffer_address = (void *)user_frame_buffer0;
+
+ encode_options.encode_buff_size = sizeof(JpegBuffer[0]);
+ encode_options.p_EncodeCallBackFunc = &JcuEncodeCallBackFunc;
+ encode_options.input_swapsetting = JPEG_Converter::WR_RD_WRSWA_32_16_8BIT;
+
+ jcu_encoding = 1;
+ if (jcu_buf_index_read == jcu_buf_index_write) {
+ jcu_buf_index_write ^= 1; // toggle
+ }
+ jcu_encode_size[jcu_buf_index_write] = 0;
+ dcache_invalid(JpegBuffer[jcu_buf_index_write], sizeof(JpegBuffer[0]));
+ if (Jcu.encode(&bitmap_buff_info, JpegBuffer[jcu_buf_index_write],
+ &jcu_encode_size[jcu_buf_index_write], &encode_options) != JPEG_Converter::JPEG_CONV_OK) {
+ jcu_encode_size[jcu_buf_index_write] = 0;
+ jcu_encoding = 0;
+ }
+ }
+}
+
+static void Start_Video_Camera(void) {
+ // Video capture setting (progressive form fixed)
+ Display.Video_Write_Setting(
+ DisplayBase::VIDEO_INPUT_CHANNEL_0,
+ DisplayBase::COL_SYS_NTSC_358,
+ (void *)user_frame_buffer0,
+ FRAME_BUFFER_STRIDE,
+ VIDEO_FORMAT,
+ WR_RD_WRSWA,
+ VIDEO_PIXEL_VW,
+ VIDEO_PIXEL_HW
+ );
+ EasyAttach_CameraStart(Display, DisplayBase::VIDEO_INPUT_CHANNEL_0);
+}
+
static void TerminalWrite(Arguments* arg, Reply* r) {
if ((arg != NULL) && (r != NULL)) {
for (int i = 0; i < arg->argc; i++) {
@@ -393,7 +266,7 @@
}
}
-#if (SCAN_NETWORK == 1)
+#if (SCAN_NETWORK == 1) && (NETWORK_TYPE != 3)
static const char *sec2str(nsapi_security_t sec) {
switch (sec) {
case NSAPI_SECURITY_NONE:
@@ -416,15 +289,20 @@
WiFiAccessPoint *ap;
bool ret = false;
int i;
- int count = 8; /* Limit number of network arbitrary to 8 */
+ int count = 10; /* Limit number of network arbitrary to 10 */
printf("Scan:\r\n");
ap = new WiFiAccessPoint[count];
+ if (ap == NULL) {
+ printf("memory error\r\n");
+ return 0;
+ }
count = wifi->scan(ap, count);
for (i = 0; i < count; i++) {
- printf("No.%d Network: %s secured: %s BSSID: %hhX:%hhX:%hhX:%hhx:%hhx:%hhx RSSI: %hhd Ch: %hhd\r\n", i, ap[i].get_ssid(),
- sec2str(ap[i].get_security()), ap[i].get_bssid()[0], ap[i].get_bssid()[1], ap[i].get_bssid()[2],
- ap[i].get_bssid()[3], ap[i].get_bssid()[4], ap[i].get_bssid()[5], ap[i].get_rssi(), ap[i].get_channel());
+ printf("No.%d Network: %s secured: %s BSSID: %02hhx:%02hhx:%02hhx:%02hhx:%02hhx:%02hhx RSSI: %hhd Ch: %hhd\r\n",
+ i, ap[i].get_ssid(), sec2str(ap[i].get_security()),
+ ap[i].get_bssid()[0], ap[i].get_bssid()[1], ap[i].get_bssid()[2], ap[i].get_bssid()[3],
+ ap[i].get_bssid()[4], ap[i].get_bssid()[5], ap[i].get_rssi(), ap[i].get_channel());
}
printf("%d networks available.\r\n", count);
@@ -467,7 +345,6 @@
break;
}
}
- printf("connecting...\r\n");
wifi->set_credentials(ap[select_no].get_ssid(), pass, ap[select_no].get_security());
ret = true;
}
@@ -479,28 +356,53 @@
}
#endif
+static void sd_connect_task(void) {
+ int storage_type = 0;
+
+ while (1) {
+ if (storage_type == 0) {
+ if (sd.connect()) {
+ fs.unmount();
+ fs.mount(&sd);
+ storage_type = 1;
+ printf("SDBlockDevice\r\n");
+ }
+ } else {
+ if (sd.connected() == false) {
+ fs.unmount();
+ fs.mount(&romram_bd);
+ storage_type = 0;
+ printf("RomRamBlockDevice\r\n");
+ }
+ }
+ ThisThread::sleep_for(250);
+ }
+}
+
int main(void) {
printf("********* PROGRAM START ***********\r\n");
- /* Please enable this line when performing the setting from the Terminal side. */
-// Thread thread(SetI2CfromTerm, NULL, osPriorityBelowNormal, DEFAULT_STACK_SIZE);
+ mount_romramfs(); //RomRamFileSystem Mount
+
+ sdConnectTask.start(&sd_connect_task);
- mount_romramfs(); //RomRamFileSystem Mount
- camera_start(); //Camera Start
+ EasyAttach_Init(Display);
+ Jcu.SetQuality(JPEG_ENCODE_QUALITY);
+ // Interrupt callback function setting (Field end signal for recording function in scaler 0)
+ Display.Graphics_Irq_Handler_Set(DisplayBase::INT_TYPE_S0_VFIELD, 0, IntCallbackFunc_Vfield);
+ Start_Video_Camera();
RPC::add_rpc_class<RpcDigitalOut>();
- RPC::construct<RpcDigitalOut, PinName, const char*>(LED1, "led1");
- RPC::construct<RpcDigitalOut, PinName, const char*>(LED2, "led2");
- RPC::construct<RpcDigitalOut, PinName, const char*>(LED3, "led3");
RPCFunction rpcFunc(TerminalWrite, "TerminalWrite");
RPCFunction rpcSetI2C(SetI2CfromWeb, "SetI2CfromWeb");
-#if (NETWORK_TYPE == 1)
+#if defined(TARGET_RZ_A1H) && (NETWORK_TYPE == 1)
//Audio Camera Shield USB1 enable for WlanBP3595
+ DigitalOut usb1en(P3_8);
usb1en = 1; //Outputs high level
- Thread::wait(5);
+ ThisThread::sleep_for(5);
usb1en = 0; //Outputs low level
- Thread::wait(5);
+ ThisThread::sleep_for(5);
#endif
printf("Network Setting up...\r\n");
@@ -508,16 +410,18 @@
network.set_dhcp(false);
if (network.set_network(IP_ADDRESS, SUBNET_MASK, DEFAULT_GATEWAY) != 0) { //for Static IP Address (IPAddress, NetMasks, Gateway)
printf("Network Set Network Error \r\n");
- return -1;
}
#endif
-#if (NETWORK_TYPE == 1)
-#if (SCAN_NETWORK == 1)
+
+#if (NETWORK_TYPE >= 1)
+#if (SCAN_NETWORK == 1) && (NETWORK_TYPE != 3)
while (!scan_network(&network));
#else
network.set_credentials(WLAN_SSID, WLAN_PSK, WLAN_SECURITY);
#endif
#endif
+
+ printf("\r\nConnecting...\r\n");
if (network.connect() != 0) {
printf("Network Connect Error \r\n");
return -1;
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed-gr-libs.lib Tue Dec 25 09:57:54 2018 +0000 @@ -0,0 +1,1 @@ +https://github.com/d-kato/mbed-gr-libs/#e8e5994d4ac5f76c13407bec22821499e6bf0ec1
--- a/mbed-os.lib Thu Jul 13 04:19:35 2017 +0000 +++ b/mbed-os.lib Tue Dec 25 09:57:54 2018 +0000 @@ -1,1 +1,1 @@ -https://github.com/ARMmbed/mbed-os/#8d21974ba35e04c4854e5090c0f8283171664175 +https://github.com/ARMmbed/mbed-os/#2fd0c5cfbd83fce62da6308f9d64c0ab64e1f0d6
--- a/mbed-rpc.lib Thu Jul 13 04:19:35 2017 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -http://developer.mbed.org/teams/mbed/code/mbed-rpc/#33e21ae4d434
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed-rpc/Arguments.cpp Tue Dec 25 09:57:54 2018 +0000
@@ -0,0 +1,142 @@
+/* mbed Microcontroller Library
+ * Copyright (c) 2006-2013 ARM Limited
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+#include "mbed.h"
+#include "Arguments.h"
+#include "pinmap.h"
+
+using namespace std;
+
+namespace mbed {
+
+Arguments::Arguments(const char* rqs) {
+ obj_name = NULL;
+ method_name = NULL;
+ argc = 0;
+
+ // This copy can be removed if we can assume the request string is
+ // persistent and writable for the duration of the call
+ strcpy(request, rqs);
+
+ // Initial '/'
+ char* p = request;
+ if (*p != '/') return;
+ p++;
+
+ // Object Name
+ p = search_arg(&obj_name, p, '/');
+ if (p == NULL) return;
+
+ // Method Name
+ p = search_arg(&method_name, p, ' ');
+ if (p == NULL) return;
+
+ // Arguments
+ while (true) {
+ argv[argc] = NULL;
+ p = search_arg(&argv[argc], p, ' ');
+ if (argv[argc] != NULL) argc++;
+ if (p == NULL) break;
+ }
+
+ index = -1;
+}
+
+char* Arguments::search_arg(char **arg, char *p, char next_sep) {
+ char *s = p;
+ while (true) {
+ if ((*p == '/') || (*p == ' ') || (*p == '\n') || (*p == '\0')) break;
+ p++;
+ }
+ if (p == s) return NULL;
+ *arg = s;
+ char separator = *p;
+ *p = '\0';
+ p++;
+ return (separator == next_sep) ? (p) : (NULL);
+}
+
+template<> PinName Arguments::getArg<PinName>(void) {
+ index++;
+ return parse_pins(argv[index]);
+}
+
+template<> int Arguments::getArg<int>(void) {
+ index++;
+ char *pEnd;
+ return strtol(argv[index], &pEnd, 10);
+}
+
+template<> const char* Arguments::getArg<const char*>(void) {
+ index++;
+ return argv[index];
+}
+
+template<> char Arguments::getArg<char>(void) {
+ index++;
+ return *argv[index];
+}
+
+template<> double Arguments::getArg<double>(void) {
+ index++;
+ return atof(argv[index]);
+}
+
+template<> float Arguments::getArg<float>(void) {
+ index++;
+ return atof(argv[index]);
+}
+
+Reply::Reply(char* r) {
+ first = true;
+ *r = '\0';
+ reply = r;
+}
+
+void Reply::separator(void) {
+ if (first) {
+ first = false;
+ } else {
+ *reply = ' '; reply++;
+ }
+}
+
+template<> void Reply::putData<const char*>(const char* s) {
+ separator();
+ reply += sprintf(reply, "%s", s);
+}
+
+template<> void Reply::putData<char*>(char* s) {
+ separator();
+ reply += sprintf(reply, "%s", s);
+}
+
+template<> void Reply::putData<char>(char c) {
+ separator();
+ reply += sprintf(reply, "%c", c);
+}
+
+template<> void Reply::putData<int>(int v) {
+ separator();
+ reply += sprintf(reply, "%d", v);
+}
+
+template<> void Reply::putData<float>(float f) {
+ separator();
+ reply += sprintf(reply, "%.17g", f);
+}
+
+} // namespace mbed
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed-rpc/Arguments.h Tue Dec 25 09:57:54 2018 +0000
@@ -0,0 +1,65 @@
+/* mbed Microcontroller Library
+ * Copyright (c) 2006-2013 ARM Limited
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+#ifndef ARGUMENTS_H
+#define ARGUMENTS_H
+
+#include "platform.h"
+#include "parse_pins.h"
+
+namespace mbed {
+
+#define RPC_MAX_STRING 128
+#define RPC_MAX_ARGS 16
+
+class Arguments {
+public:
+ Arguments(const char* rqs);
+
+ template<typename Arg>
+ Arg getArg(void);
+
+ char *obj_name;
+ char *method_name;
+
+ int argc;
+ char* argv[RPC_MAX_ARGS];
+
+private:
+ // This copy can be removed if we can assume the request string is
+ // persistent and writable for the duration of the call
+ char request[RPC_MAX_STRING];
+ int index;
+ char* search_arg(char **arg, char *p, char next_sep);
+};
+
+class Reply {
+public:
+ Reply(char* r);
+
+ template<typename Data>
+ void putData(Data d);
+
+private:
+ void separator(void);
+ bool first;
+ char* reply;
+};
+
+
+} // Namespace mbed
+
+#endif
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed-rpc/RPCFunction.cpp Tue Dec 25 09:57:54 2018 +0000
@@ -0,0 +1,43 @@
+/* mbed Microcontroller Library
+ * Copyright (c) 2006-2013 ARM Limited
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+#include "RPCFunction.h"
+
+namespace mbed {
+
+//Custom rpc method caller for execute so that the string will not be delimited by anything
+void rpc_method_caller_run(RPC *this_ptr, Arguments *arguments, Reply *result) {
+ ((static_cast<RPCFunction*>(this_ptr))->run)(arguments, result);
+}
+
+RPCFunction::RPCFunction(void (*f)(Arguments*, Reply*), const char* name) : RPC(name) {
+ _ftr = f;
+}
+
+//Just run the attached function using the string thats in private memory - or just using null values,
+void RPCFunction::run(Arguments* args, Reply* r) {
+ (*_ftr)(args, r);
+}
+
+const rpc_method *RPCFunction::get_rpc_methods() {
+ static const rpc_method rpc_methods[] = {
+ {"run", rpc_method_caller_run }, //Run using custom caller, all characters accepted in string
+ RPC_METHOD_SUPER(RPC)
+ };
+ return rpc_methods;
+}
+
+}
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed-rpc/RPCFunction.h Tue Dec 25 09:57:54 2018 +0000
@@ -0,0 +1,60 @@
+/* mbed Microcontroller Library
+ * Copyright (c) 2006-2013 ARM Limited
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+#ifndef RPCFUNCTION_RPC
+#define RPCFUNCTION_RPC
+
+#include "rpc.h"
+#define STR_LEN 64
+
+namespace mbed {
+
+/**
+ *
+ *Class to call custom functions over RPC
+ *
+ */
+class RPCFunction: public RPC {
+public:
+ /**
+ * Constructor
+ *
+ *@param f Pointer to the function to call. the function must be of the form void foo(char * input, char * output)
+ *@param name The name of this object
+ */
+ RPCFunction(void (*f)(Arguments*, Reply*), const char* = NULL);
+
+ /**
+ *run
+ *
+ *Calls the attached function passing the string in but doesn't return the result.
+ *@param str The string to be passed into the attached function. This string can consist of any ASCII characters apart from escape codes. The usual limtations on argument content for RPC strings has been removed
+ *@return A string output from the function
+ */
+ void run(Arguments* args, Reply* r);
+
+ virtual const struct rpc_method *get_rpc_methods();
+
+private:
+ void (*_ftr)(Arguments*, Reply*);
+
+ char _input[STR_LEN];
+ char _output[STR_LEN];
+};
+
+}
+
+#endif
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed-rpc/RPCVariable.h Tue Dec 25 09:57:54 2018 +0000
@@ -0,0 +1,88 @@
+/* mbed Microcontroller Library
+ * Copyright (c) 2006-2013 ARM Limited
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+#ifndef RPCVARIABLE_H_
+#define RPCVARIABLE_H_
+
+#include "rpc.h"
+
+namespace mbed {
+
+/**
+ *Class to read and set an attached variable using the RPC
+ *
+ */
+template<class T>
+class RPCVariable: public RPC {
+public:
+ /**
+ * Constructor
+ *
+ *@param ptr Pointer to the variable to make accessible over RPC. Any type of
+ *variable can be connected
+ *@param name The name of that this object will be over RPC
+ */
+ template<class A>
+ RPCVariable(A * ptr, const char * name) : RPC(name) {
+ _ptr = ptr;
+ }
+ /**
+ *Read the variable over RPC.
+ *
+ *@return The value of the variable
+ */
+ T read() {
+ return (*_ptr);
+ }
+ /**
+ *Write a value to the variable over RPC
+ *
+ *@param The value to be written to the attached variable.
+ */
+ void write(T value) {
+ *_ptr = value;
+ }
+
+ virtual const struct rpc_method *get_rpc_methods();
+ static struct rpc_class *get_rpc_class();
+
+private:
+ T * _ptr;
+};
+
+template<class T>
+const rpc_method *RPCVariable<T>::get_rpc_methods() {
+ static const rpc_method rpc_methods[] = {
+ {"read" , rpc_method_caller<T, RPCVariable, &RPCVariable::read> },
+ {"write", rpc_method_caller<RPCVariable, T, &RPCVariable::write> },
+ RPC_METHOD_SUPER(RPC)
+ };
+ return rpc_methods;
+}
+
+template<class T>
+rpc_class *RPCVariable<T>::get_rpc_class() {
+ static const rpc_function funcs[] = {
+ "new", rpc_function_caller<const char*, T, const char*, &RPC::construct<RPCVariable, T, const char*> > ,
+ RPC_METHOD_END
+ };
+ static rpc_class c = {"RPCVariable", funcs, NULL};
+ return &c;
+}
+
+}
+
+#endif //RPCVARIABLE_H_
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed-rpc/RpcClasses.h Tue Dec 25 09:57:54 2018 +0000
@@ -0,0 +1,309 @@
+/* mbed Microcontroller Library
+ * Copyright (c) 2006-2013 ARM Limited
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+#ifndef MBED_CLASSES_H
+#define MBED_CLASSES_H
+
+#include "rpc.h"
+
+namespace mbed {
+
+class RpcDigitalOut : public RPC {
+public:
+ RpcDigitalOut(PinName a0, const char *name=NULL) : RPC(name), o(a0) {}
+
+ void write(int a0) {o.write(a0);}
+ int read(void) {return o.read();}
+
+ virtual const struct rpc_method *get_rpc_methods() {
+ static const rpc_method rpc_methods[] = {
+ {"write", rpc_method_caller<RpcDigitalOut, int, &RpcDigitalOut::write>},
+ {"read", rpc_method_caller<int, RpcDigitalOut, &RpcDigitalOut::read>},
+ RPC_METHOD_SUPER(RPC)
+ };
+ return rpc_methods;
+ }
+ static struct rpc_class *get_rpc_class() {
+ static const rpc_function funcs[] = {
+ {"new", rpc_function_caller<const char*, PinName, const char*, &RPC::construct<RpcDigitalOut, PinName, const char*> >},
+ RPC_METHOD_END
+ };
+ static rpc_class c = {"DigitalOut", funcs, NULL};
+ return &c;
+ }
+private:
+ DigitalOut o;
+};
+
+class RpcDigitalIn : public RPC {
+public:
+ RpcDigitalIn(PinName a0, const char *name=NULL) : RPC(name), o(a0) {}
+
+ int read(void) {return o.read();}
+
+ virtual const struct rpc_method *get_rpc_methods() {
+ static const rpc_method rpc_methods[] = {
+ {"read", rpc_method_caller<int, RpcDigitalIn, &RpcDigitalIn::read>},
+ RPC_METHOD_SUPER(RPC)
+ };
+ return rpc_methods;
+ }
+ static struct rpc_class *get_rpc_class() {
+ static const rpc_function funcs[] = {
+ {"new", rpc_function_caller<const char*, PinName, const char*, &RPC::construct<RpcDigitalIn, PinName, const char*> >},
+ RPC_METHOD_END
+ };
+ static rpc_class c = {"DigitalIn", funcs, NULL};
+ return &c;
+ }
+private:
+ DigitalIn o;
+};
+
+class RpcDigitalInOut : public RPC {
+public:
+ RpcDigitalInOut(PinName a0, const char *name=NULL) : RPC(name), o(a0) {}
+
+ int read(void) {return o.read();}
+ void write(int a0) {o.write(a0);}
+ void input(void) {o.input();}
+ void output(void) {o.output();}
+
+ virtual const struct rpc_method *get_rpc_methods() {
+ static const rpc_method rpc_methods[] = {
+ {"read", rpc_method_caller<int, RpcDigitalInOut, &RpcDigitalInOut::read>},
+ {"write", rpc_method_caller<RpcDigitalInOut, int, &RpcDigitalInOut::write>},
+ {"input", rpc_method_caller<RpcDigitalInOut, &RpcDigitalInOut::input>},
+ {"output", rpc_method_caller<RpcDigitalInOut, &RpcDigitalInOut::output>},
+ RPC_METHOD_SUPER(RPC)
+ };
+ return rpc_methods;
+ }
+ static struct rpc_class *get_rpc_class() {
+ static const rpc_function funcs[] = {
+ {"new", rpc_function_caller<const char*, PinName, const char*, &RPC::construct<RpcDigitalInOut, PinName, const char*> >},
+ RPC_METHOD_END
+ };
+ static rpc_class c = {"DigitalInOut", funcs, NULL};
+ return &c;
+ }
+private:
+ DigitalInOut o;
+};
+
+#if DEVICE_ANALOGIN
+class RpcAnalogIn : public RPC {
+public:
+ RpcAnalogIn(PinName a0, const char *name=NULL) : RPC(name), o(a0) {}
+
+ float read(void) {return o.read();}
+ unsigned short read_u16(void) {return o.read_u16();}
+
+ virtual const struct rpc_method *get_rpc_methods() {
+ static const rpc_method rpc_methods[] = {
+ {"read", rpc_method_caller<float, RpcAnalogIn, &RpcAnalogIn::read>},
+ {"read_u16", rpc_method_caller<unsigned short, RpcAnalogIn, &RpcAnalogIn::read_u16>},
+ RPC_METHOD_SUPER(RPC)
+ };
+ return rpc_methods;
+ }
+ static struct rpc_class *get_rpc_class() {
+ static const rpc_function funcs[] = {
+ {"new", rpc_function_caller<const char*, PinName, const char*, &RPC::construct<RpcAnalogIn, PinName, const char*> >},
+ RPC_METHOD_END
+ };
+ static rpc_class c = {"AnalogIn", funcs, NULL};
+ return &c;
+ }
+private:
+ AnalogIn o;
+};
+#endif
+
+#if DEVICE_ANALOGOUT
+class RpcAnalogOut : public RPC {
+public:
+ RpcAnalogOut(PinName a0, const char *name=NULL) : RPC(name), o(a0) {}
+
+ float read(void) {return o.read();}
+ void write(float a0) {o.write(a0);}
+ void write_u16(unsigned short a0) {o.write_u16(a0);}
+
+ virtual const struct rpc_method *get_rpc_methods() {
+ static const rpc_method rpc_methods[] = {
+ {"read", rpc_method_caller<float, RpcAnalogOut, &RpcAnalogOut::read>},
+ {"write", rpc_method_caller<RpcAnalogOut, float, &RpcAnalogOut::write>},
+ {"write_u16", rpc_method_caller<RpcAnalogOut, unsigned short, &RpcAnalogOut::write_u16>},
+ RPC_METHOD_SUPER(RPC)
+ };
+ return rpc_methods;
+ }
+ static struct rpc_class *get_rpc_class() {
+ static const rpc_function funcs[] = {
+ {"new", rpc_function_caller<const char*, PinName, const char*, &RPC::construct<RpcAnalogOut, PinName, const char*> >},
+ RPC_METHOD_END
+ };
+ static rpc_class c = {"AnalogOut", funcs, NULL};
+ return &c;
+ }
+private:
+ AnalogOut o;
+};
+#endif
+
+#if DEVICE_PWMOUT
+class RpcPwmOut : public RPC {
+public:
+ RpcPwmOut(PinName a0, const char *name=NULL) : RPC(name), o(a0) {}
+
+ float read(void) {return o.read();}
+ void write(float a0) {o.write(a0);}
+ void period(float a0) {o.period(a0);}
+ void period_ms(int a0) {o.period_ms(a0);}
+ void pulsewidth(float a0) {o.pulsewidth(a0);}
+ void pulsewidth_ms(int a0) {o.pulsewidth_ms(a0);}
+
+ virtual const struct rpc_method *get_rpc_methods() {
+ static const rpc_method rpc_methods[] = {
+ {"read", rpc_method_caller<float, RpcPwmOut, &RpcPwmOut::read>},
+ {"write", rpc_method_caller<RpcPwmOut, float, &RpcPwmOut::write>},
+ {"period", rpc_method_caller<RpcPwmOut, float, &RpcPwmOut::period>},
+ {"period_ms", rpc_method_caller<RpcPwmOut, int, &RpcPwmOut::period_ms>},
+ {"pulsewidth", rpc_method_caller<RpcPwmOut, float, &RpcPwmOut::pulsewidth>},
+ {"pulsewidth_ms", rpc_method_caller<RpcPwmOut, int, &RpcPwmOut::pulsewidth_ms>},
+ RPC_METHOD_SUPER(RPC)
+ };
+ return rpc_methods;
+ }
+ static struct rpc_class *get_rpc_class() {
+ static const rpc_function funcs[] = {
+ {"new", rpc_function_caller<const char*, PinName, const char*, &RPC::construct<RpcPwmOut, PinName, const char*> >},
+ RPC_METHOD_END
+ };
+ static rpc_class c = {"PwmOut", funcs, NULL};
+ return &c;
+ }
+private:
+ PwmOut o;
+};
+#endif
+
+#if DEVICE_SPI
+class RpcSPI : public RPC {
+public:
+ RpcSPI(PinName a0, PinName a1, PinName a2, const char *name=NULL) : RPC(name), o(a0, a1, a2) {}
+
+ void format(int a0, int a1) {o.format(a0, a1);}
+ void frequency(int a0) {o.frequency(a0);}
+ int write(int a0) {return o.write(a0);}
+
+ virtual const struct rpc_method *get_rpc_methods() {
+ static const rpc_method rpc_methods[] = {
+ {"format", rpc_method_caller<RpcSPI, int, int, &RpcSPI::format>},
+ {"frequency", rpc_method_caller<RpcSPI, int, &RpcSPI::frequency>},
+ {"write", rpc_method_caller<int, RpcSPI, int, &RpcSPI::write>},
+ RPC_METHOD_SUPER(RPC)
+ };
+ return rpc_methods;
+ }
+ static struct rpc_class *get_rpc_class() {
+ static const rpc_function funcs[] = {
+ {"new", rpc_function_caller<const char*, PinName, PinName, PinName, const char*, &RPC::construct<RpcSPI, PinName, PinName, PinName, const char*> >},
+ RPC_METHOD_END
+ };
+ static rpc_class c = {"SPI", funcs, NULL};
+ return &c;
+ }
+private:
+ SPI o;
+};
+#endif
+
+#if DEVICE_SERIAL
+class RpcSerial : public RPC {
+public:
+ RpcSerial(PinName a0, PinName a1, const char *name=NULL) : RPC(name), o(a0, a1) {}
+
+ void baud(int a0) {o.baud(a0);}
+ int readable(void) {return o.readable();}
+ int writeable(void) {return o.writeable();}
+ int putc(int a0) {return o.putc(a0);}
+ int getc(void) {return o.getc();}
+ int puts(const char * a0) {return o.puts(a0);}
+
+ virtual const struct rpc_method *get_rpc_methods() {
+ static const rpc_method rpc_methods[] = {
+ {"baud", rpc_method_caller<RpcSerial, int, &RpcSerial::baud>},
+ {"readable", rpc_method_caller<int, RpcSerial, &RpcSerial::readable>},
+ {"writeable", rpc_method_caller<int, RpcSerial, &RpcSerial::writeable>},
+ {"putc", rpc_method_caller<int, RpcSerial, int, &RpcSerial::putc>},
+ {"getc", rpc_method_caller<int, RpcSerial, &RpcSerial::getc>},
+ {"puts", rpc_method_caller<int, RpcSerial, const char *, &RpcSerial::puts>},
+ RPC_METHOD_SUPER(RPC)
+ };
+ return rpc_methods;
+ }
+ static struct rpc_class *get_rpc_class() {
+ static const rpc_function funcs[] = {
+ {"new", rpc_function_caller<const char*, PinName, PinName, const char*, &RPC::construct<RpcSerial, PinName, PinName, const char*> >},
+ RPC_METHOD_END
+ };
+ static rpc_class c = {"Serial", funcs, NULL};
+ return &c;
+ }
+private:
+ Serial o;
+};
+#endif
+
+class RpcTimer : public RPC {
+public:
+ RpcTimer(const char *name=NULL) : RPC(name), o() {}
+
+ void start(void) {o.start();}
+ void stop(void) {o.stop();}
+ void reset(void) {o.reset();}
+ float read(void) {return o.read();}
+ int read_ms(void) {return o.read_ms();}
+ int read_us(void) {return o.read_us();}
+
+ virtual const struct rpc_method *get_rpc_methods() {
+ static const rpc_method rpc_methods[] = {
+ {"start", rpc_method_caller<RpcTimer, &RpcTimer::start>},
+ {"stop", rpc_method_caller<RpcTimer, &RpcTimer::stop>},
+ {"reset", rpc_method_caller<RpcTimer, &RpcTimer::reset>},
+ {"read", rpc_method_caller<float, RpcTimer, &RpcTimer::read>},
+ {"read_ms", rpc_method_caller<int, RpcTimer, &RpcTimer::read_ms>},
+ {"read_us", rpc_method_caller<int, RpcTimer, &RpcTimer::read_us>},
+ RPC_METHOD_SUPER(RPC)
+ };
+ return rpc_methods;
+ }
+ static struct rpc_class *get_rpc_class() {
+ static const rpc_function funcs[] = {
+ {"new", rpc_function_caller<const char*, const char*, &RPC::construct<RpcTimer, const char*> >},
+ RPC_METHOD_END
+ };
+ static rpc_class c = {"Timer", funcs, NULL};
+ return &c;
+ }
+private:
+ Timer o;
+};
+
+}
+
+#endif
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed-rpc/mbed_rpc.h Tue Dec 25 09:57:54 2018 +0000 @@ -0,0 +1,26 @@ +/* mbed Microcontroller Library + * Copyright (c) 2006-2013 ARM Limited + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef MBED_RPC_H +#define MBED_RPC_H + +#include "rpc.h" +#include "RPCVariable.h" +#include "RPCFunction.h" +#include "RpcClasses.h" +#include "Arguments.h" + +#endif +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed-rpc/parse_pins.cpp Tue Dec 25 09:57:54 2018 +0000
@@ -0,0 +1,120 @@
+/* mbed Microcontroller Library
+ * Copyright (c) 2006-2013 ARM Limited
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+#include "port_api.h"
+
+namespace mbed {
+
+PinName parse_pins(const char *str) {
+#if defined(TARGET_LPC1768) || defined(TARGET_LPC11U24) || defined(TARGET_LPC2368)
+ static const PinName pin_names[] = {p5, p6, p7, p8, p9, p10, p11, p12, p13, p14
+ , p15, p16, p17, p18, p19, p20, p21, p22, p23
+ , p24, p25, p26, p27, p28, p29, p30};
+#elif defined(TARGET_LPC1114)
+ static const PinName pin_names[] = {dp1, dp2, dp4, dp5, dp6, dp9, dp10, dp11
+ , dp13, dp14, dp15, dp16, dp17, dp18, dp23
+ , dp24, dp25, dp26, dp27, dp28};
+#elif defined(TARGET_LPC4088)
+ static const PinName pin_names[] = {NC, NC, NC, NC, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14
+ , p15, p16, p17, p18, p19, p20, NC, NC, p23
+ , p24, p25, p26, p27, p28, p29, p30, p31, p32
+ , p33, p34, NC, NC, p37, p38, p39, NC, NC, NC, NC, NC, NC, NC};
+#elif defined(TARGET_LPC4088_DM)
+ static const PinName pin_names[] = {p1, p2, p3, p4, NC, NC, p7, p8, p9, p10, p11, p12, p13, p14
+ , p15, p16, p17, p18, p19, p20, p21, p22, p23
+ , p24, p25, p26, NC, NC, p29, p30, NC, NC
+ , NC, NC, NC, NC, NC, NC, NC, NC, p41, p42, p43, p44, p45, p46};
+#endif
+
+#if defined(TARGET_LPC1768) || defined(TARGET_LPC11U24) || defined(TARGET_LPC2368) || defined(TARGET_LPC812) || defined(TARGET_LPC4088) || defined(TARGET_LPC4088_DM) || defined(TARGET_LPC1114) || defined(TARGET_RZ_A1H) || defined(TARGET_VK_RZ_A1H) || defined(TARGET_GR_LYCHEE)
+ if (str[0] == 'P') { // Pn_n
+ uint32_t port = str[1] - '0';
+ uint32_t pin = str[3] - '0'; // Pn_n
+ uint32_t pin2 = str[4] - '0'; // Pn_nn
+ if (pin2 <= 9) {
+ pin = pin * 10 + pin2;
+ }
+ return port_pin((PortName)port, pin);
+
+#elif defined(TARGET_KL25Z) || defined(TARGET_KL27Z) || defined(TARGET_KL05Z) || defined(TARGET_KL46Z) || defined(TARGET_K22F) || defined(TARGET_K64F)
+ if (str[0] == 'P' && str[1] == 'T') { // PTxn
+ uint32_t port = str[2] - 'A';
+ uint32_t pin = str[3] - '0'; // PTxn
+ uint32_t pin2 = str[4] - '0'; // PTxnn
+
+ if (pin2 <= 9) {
+ pin = pin * 10 + pin2;
+ }
+ return port_pin((PortName)port, pin);
+
+#elif defined(TARGET_NUCLEO_F072RB) || defined(TARGET_NUCLEO_F303K8) || defined(TARGET_NUCLEO_F411RE)
+ if (str[0] == 'P') { // PX_XX e.g.PA_2 PC_15
+ uint32_t port = str[1] - 'A';
+ uint32_t pin = str[3] - '0';
+ uint32_t pin2 = str[4] - '0';
+
+ if (pin2 <= 9) {
+ pin = pin * 10 + pin2;
+ }
+ return port_pin((PortName)port, pin);
+
+#endif
+
+
+
+#if defined(TARGET_LPC1768) || defined(TARGET_LPC11U24) || defined(TARGET_LPC2368)
+ } else if (str[0] == 'p') { // pn
+ uint32_t pin = str[1] - '0'; // pn
+ uint32_t pin2 = str[2] - '0'; // pnn
+ if (pin2 <= 9) {
+ pin = pin * 10 + pin2;
+ }
+ if (pin < 5 || pin > 30) {
+ return NC;
+ }
+ return pin_names[pin - 5];
+#elif defined(TARGET_LPC4088) || defined(TARGET_LPC4088_DM)
+ } else if (str[0] == 'p') { // pn
+ uint32_t pin = str[1] - '0'; // pn
+ uint32_t pin2 = str[2] - '0'; // pnn
+ if (pin2 <= 9) {
+ pin = pin * 10 + pin2;
+ }
+ if (pin < 1 || pin > 46) {
+ return NC;
+ }
+ return pin_names[pin - 1];
+#endif
+ } else if (str[0] == 'L') { // LEDn
+ switch (str[3]) {
+ case '1' : return LED1;
+ case '2' : return LED2;
+ case '3' : return LED3;
+ case '4' : return LED4;
+ }
+
+ } else if (str[0] == 'U') { // USB?X
+ switch (str[3]) {
+ case 'T' : return USBTX;
+ case 'R' : return USBRX;
+ }
+ }
+
+ return NC;
+}
+}
+
+
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed-rpc/parse_pins.h Tue Dec 25 09:57:54 2018 +0000
@@ -0,0 +1,28 @@
+/* mbed Microcontroller Library
+ * Copyright (c) 2006-2013 ARM Limited
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+#ifndef MBED_PINMAP_H
+#define MBED_PINMAP_H
+
+#include "PinNames.h"
+
+namespace mbed {
+
+PinName parse_pins(const char *str);
+
+}
+
+#endif
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed-rpc/rpc.cpp Tue Dec 25 09:57:54 2018 +0000
@@ -0,0 +1,192 @@
+/* mbed Microcontroller Library
+ * Copyright (c) 2006-2013 ARM Limited
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+#include "rpc.h"
+
+using namespace std;
+
+namespace mbed {
+
+RPC::RPC(const char *name) {
+ _from_construct = false;
+ if (name != NULL) {
+ _name = new char[strlen(name) + 1];
+ strcpy(_name, name);
+ } else {
+ _name = new char[12];
+ sprintf(_name, "obj%p", this);
+ }
+ // put this object at head of the list
+ _next = _head;
+ _head = this;
+}
+
+RPC::~RPC() {
+ // remove this object from the list
+ if (_head == this) { // first in the list, so just drop me
+ _head = _next;
+ } else { // find the object before me, then drop me
+ RPC* p = _head;
+ while (p->_next != this) {
+ p = p->_next;
+ }
+ p->_next = _next;
+ }
+}
+
+const rpc_method *RPC::get_rpc_methods() {
+ static const rpc_method methods[] = {
+ {"delete", rpc_method_caller<RPC, &RPC::delete_self> },
+ RPC_METHOD_END
+ };
+ return methods;
+}
+
+RPC *RPC::lookup(const char *name) {
+ size_t len = strlen(name);
+ for (RPC *p = _head; p != NULL; p = p->_next) {
+ /* Check that p->_name matches name and is the correct length */
+ if (strncmp(p->_name, name, len) == 0 && (strlen(p->_name) == len)) {
+ return p;
+ }
+ }
+ return NULL;
+}
+
+void RPC::delete_self() {
+ delete[] _name;
+ if (_from_construct) {
+ delete this;
+ }
+}
+
+void RPC::list_objs(Arguments *args, Reply *result) {
+ for (RPC *ptr = RPC::_head; ptr != NULL; ptr = ptr->_next) {
+ if (ptr->_from_construct) {
+ result->putData<const char*>(ptr->_name);
+ }
+ }
+}
+
+void RPC::clear(Arguments*, Reply*) {
+ RPC *ptr = RPC::_head;
+ while (ptr != NULL) {
+ RPC *tmp = ptr;
+ ptr = ptr->_next;
+ delete[] tmp->_name;
+ if (tmp->_from_construct) {
+ delete tmp;
+ }
+ }
+}
+
+const rpc_function RPC::_RPC_funcs[] = {
+ {"clear", &RPC::clear },
+ { "objects", &RPC::list_objs },
+ RPC_METHOD_END
+};
+
+rpc_class RPC::_RPC_class = { "RPC", _RPC_funcs, NULL };
+
+RPC *RPC::_head = NULL;
+
+rpc_class *RPC::_classes = &_RPC_class;
+
+bool RPC::call(const char *request, char *reply) {
+ if (request == NULL) return false;
+
+ Arguments args(request);
+ Reply r(reply);
+
+ /* If there's no name print object and class names to result */
+ if (args.obj_name == NULL) {
+ for (RPC *p = RPC::_head; p != NULL; p = p->_next) {
+ r.putData<const char*>(p->_name);
+ }
+ for (rpc_class *c = RPC::_classes; c != NULL; c = c->next) {
+ r.putData<const char*>(c->name);
+ }
+ return true;
+ }
+
+ /* First try matching an instance */
+ RPC *p = lookup(args.obj_name);
+ if (p != NULL) {
+ /* Get the list of methods we support */
+ const rpc_method *cur_method = p->get_rpc_methods();
+
+ /* When there's no method print method names to result */
+ if (args.method_name == NULL) {
+ while (true) {
+ for (; cur_method->name != NULL; cur_method++) {
+ r.putData<const char*>(cur_method->name);
+ }
+
+ /* write_name_arr's args are references, so result and cur_method will have changed */
+ if (cur_method->super != 0) {
+ cur_method = cur_method->super(p);
+ } else {
+ return true;
+ }
+ }
+ }
+
+ /* Look through the methods for the one whose name matches */
+ while (true) {
+ for (; cur_method->name != NULL; cur_method++) {
+ if (strcmp(cur_method->name, args.method_name) == 0) {
+ (cur_method->method_caller)(p, &args, &r);
+ return true;
+ }
+ }
+
+ if (cur_method->super != 0) {
+ cur_method = cur_method->super(p);
+ } else {
+ /* end of methods and no match */
+ return false;
+ }
+
+ }
+ }
+
+ /* Then try a class */
+ for (const rpc_class *q = _classes; q != NULL; q = q->next) {
+ if (strcmp(q->name, args.obj_name) == 0) {
+ /* Matched the class name, so get its functions */
+ const rpc_function *cur_func = q->static_functions;
+ if (args.method_name == NULL) {
+ for (; cur_func->name != NULL; cur_func++) {
+ r.putData<const char*>(cur_func->name);
+ }
+ return true;
+ } else {
+ /* Otherwise call the appropriate function */
+ for (; cur_func->name != NULL; cur_func++) {
+ if (strcmp(cur_func->name, args.method_name) == 0) {
+ (cur_func->function_caller)(&args, &r);
+ return true;
+ }
+ }
+ return false;
+ }
+ }
+ }
+
+ return false;
+}
+
+} // namespace mbed
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed-rpc/rpc.h Tue Dec 25 09:57:54 2018 +0000
@@ -0,0 +1,314 @@
+/* mbed Microcontroller Library
+ * Copyright (c) 2006-2013 ARM Limited
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+#ifndef RPC_H
+#define RPC_H
+
+#include "mbed.h"
+#include "Arguments.h"
+
+namespace mbed {
+
+#define RPC_MAX_STRING 128
+
+struct rpc_function {
+ const char *name;
+ void (*function_caller)(Arguments*, Reply*);
+};
+
+struct rpc_class {
+ const char *name;
+ const rpc_function *static_functions;
+ struct rpc_class *next;
+};
+
+/* Class RPC
+ * The RPC class for most things
+ */
+class RPC {
+
+public:
+
+ RPC(const char *name = NULL);
+
+ virtual ~RPC();
+
+ /* Function get_rpc_methods
+ * Returns a pointer to an array describing the rpc methods
+ * supported by this object, terminated by either
+ * RPC_METHOD_END or RPC_METHOD_SUPER(Superclass).
+ *
+ * Example
+ * > class Example : public RPC {
+ * > int foo(int a, int b) { return a + b; }
+ * > virtual const struct rpc_method *get_rpc_methods() {
+ * > static const rpc_method rpc_methods[] = {
+ * > { "foo", generic_caller<int, Example, int, int, &Example::foo> },
+ * > RPC_METHOD_SUPER(RPC)
+ * > };
+ * > return rpc_methods;
+ * > }
+ * > };
+ */
+ virtual const struct rpc_method *get_rpc_methods();
+
+ static bool call(const char *buf, char *result);
+
+ /* Function lookup
+ * Lookup and return the object that has the given name.
+ *
+ * Variables
+ * name - the name to lookup.
+ */
+ static RPC *lookup(const char *name);
+
+protected:
+ static RPC *_head;
+ RPC *_next;
+ char *_name;
+ bool _from_construct;
+
+private:
+ static rpc_class *_classes;
+
+ static const rpc_function _RPC_funcs[];
+ static rpc_class _RPC_class;
+
+ void delete_self();
+ static void list_objs(Arguments *args, Reply *result);
+ static void clear(Arguments *args, Reply *result);
+
+public:
+ /* Function add_rpc_class
+ * Add the class to the list of classes which can have static
+ * methods called via rpc (the static methods which can be called
+ * are defined by that class' get_rpc_class() static method).
+ */
+ template<class C>
+ static void add_rpc_class() {
+ rpc_class *c = C::get_rpc_class();
+ c->next = _classes;
+ _classes = c;
+ }
+
+ template<class C>
+ static const char *construct() {
+ RPC *p = new C();
+ p->_from_construct = true;
+ return p->_name;
+ }
+
+ template<class C, typename A1>
+ static const char *construct(A1 arg1) {
+ RPC *p = new C(arg1);
+ p->_from_construct = true;
+ return p->_name;
+ }
+
+ template<class C, typename A1, typename A2>
+ static const char *construct(A1 arg1, A2 arg2) {
+ RPC *p = new C(arg1, arg2);
+ p->_from_construct = true;
+ return p->_name;
+ }
+
+ template<class C, typename A1, typename A2, typename A3>
+ static const char *construct(A1 arg1, A2 arg2, A3 arg3) {
+ RPC *p = new C(arg1, arg2, arg3);
+ p->_from_construct = true;
+ return p->_name;
+ }
+
+ template<class C, typename A1, typename A2, typename A3, typename A4>
+ static const char *construct(A1 arg1, A2 arg2, A3 arg3, A4 arg4) {
+ RPC *p = new C(arg1, arg2, arg3, arg4);
+ p->_from_construct = true;
+ return p->_name;
+ }
+};
+
+/* Macro MBED_OBJECT_NAME_MAX
+ * The maximum size of object name (including terminating null byte)
+ * that will be recognised when using fopen to open a FileLike
+ * object, or when using the rpc function.
+ */
+#define MBED_OBJECT_NAME_MAX 32
+
+/* Macro MBED_METHOD_NAME_MAX
+ * The maximum size of rpc method name (including terminating null
+ * byte) that will be recognised by the rpc function (in rpc.h).
+ */
+#define MBED_METHOD_NAME_MAX 32
+
+/* Function rpc_method_caller
+ */
+template<class T, void(T::*member)(const char *, char *)>
+void rpc_method_caller(RPC *this_ptr, Arguments *arguments, Reply *result) {
+ (static_cast<T*>(this_ptr)->*member)(arguments, result);
+}
+
+/* Function rpc_method_caller
+ */
+template<class T, void(T::*member)()>
+void rpc_method_caller(RPC *this_ptr, Arguments *arguments, Reply *result) {
+ (static_cast<T*>(this_ptr)->*member)();
+}
+
+/* Function rpc_method_caller
+ */
+template<class T, typename A1, void(T::*member)(A1)>
+void rpc_method_caller(RPC *this_ptr, Arguments *arguments, Reply *result) {
+ A1 arg1 = arguments->getArg<A1>();
+
+ (static_cast<T*>(this_ptr)->*member)(arg1);
+}
+
+/* Function rpc_method_caller
+ */
+template<class T, typename A1, typename A2, void(T::*member)(A1, A2)>
+void rpc_method_caller(RPC *this_ptr, Arguments *arguments, Reply *result) {
+ A1 arg1 = arguments->getArg<A1>();
+ A2 arg2 = arguments->getArg<A2>();
+
+ (static_cast<T*>(this_ptr)->*member)(arg1, arg2);
+}
+
+/* Function rpc_method_caller
+ */
+template<class T, typename A1, typename A2, typename A3, void(T::*member)(A1, A2, A3)>
+void rpc_method_caller(RPC *this_ptr, Arguments *arguments, Reply *result) {
+ A1 arg1 = arguments->getArg<A1>();
+ A2 arg2 = arguments->getArg<A2>();
+ A3 arg3 = arguments->getArg<A3>();
+
+ (static_cast<T*>(this_ptr)->*member)(arg1, arg2, arg3);
+}
+
+/* Function rpc_method_caller
+ */
+template<typename R, class T, R(T::*member)()>
+void rpc_method_caller(RPC *this_ptr, Arguments *arguments, Reply *result) {
+ R res = (static_cast<T*>(this_ptr)->*member)();
+ result->putData<R>(res);
+}
+
+/* Function rpc_method_caller
+ */
+template<typename R, class T, typename A1, R(T::*member)(A1)>
+void rpc_method_caller(RPC *this_ptr, Arguments *arguments, Reply *result) {
+ A1 arg1 = arguments->getArg<A1>();
+
+ R res = (static_cast<T*>(this_ptr)->*member)(arg1);
+ result->putData<R>(res);
+}
+
+/* Function rpc_method_caller
+ */
+template<typename R, class T, typename A1, typename A2, R(T::*member)(A1, A2)>
+void rpc_method_caller(RPC *this_ptr, Arguments *arguments, Reply *result) {
+ A1 arg1 = arguments->getArg<A1>();
+ A2 arg2 = arguments->getArg<A2>();
+
+ R res = (static_cast<T*>(this_ptr)->*member)(arg1, arg2);
+ result->putData<R>(res);
+}
+
+/* Function rpc_method_caller
+ */
+template<typename R, class T, typename A1, typename A2, typename A3, R(T::*member)(A1, A2, A3)>
+void rpc_method_caller(RPC *this_ptr, Arguments *arguments, Reply *result) {
+ A1 arg1 = arguments->getArg<A1>();
+ A2 arg2 = arguments->getArg<A2>();
+ A3 arg3 = arguments->getArg<A3>();
+
+ R res = (static_cast<T*>(this_ptr)->*member)(arg1, arg2, arg3);
+ result->putData<R>(res);
+}
+
+/* Function rpc_function caller
+ */
+template<typename R, R(*func)()>
+void rpc_function_caller(Arguments *arguments, Reply *result) {
+ R res = (*func)();
+ result->putData<R>(res);
+}
+
+/* Function rpc_function caller
+ */
+template<typename R, typename A1, R(*func)(A1)>
+void rpc_function_caller(Arguments *arguments, Reply *result) {
+ A1 arg1 = arguments->getArg<A1>();
+ R res = (*func)(arg1);
+ result->putData<R>(res);
+}
+
+/* Function rpc_function caller
+ */
+template<typename R, typename A1, typename A2, R(*func)(A1, A2)>
+void rpc_function_caller(Arguments *arguments, Reply *result) {
+ A1 arg1 = arguments->getArg<A1>();
+ A2 arg2 = arguments->getArg<A2>();
+
+ R res = (*func)(arg1, arg2);
+ result->putData<R>(res);
+}
+
+/* Function rpc_function caller
+ */
+template<typename R, typename A1, typename A2, typename A3, R(*func)(A1, A2, A3)>
+void rpc_function_caller(Arguments *arguments, Reply *result) {
+ A1 arg1 = arguments->getArg<A1>();
+ A2 arg2 = arguments->getArg<A2>();
+ A3 arg3 = arguments->getArg<A3>();
+
+ R res = (*func)(arg1, arg2, arg3);
+ result->putData<R>(res);
+}
+
+/* Function rpc_function caller
+ */
+template<typename R, typename A1, typename A2, typename A3, typename A4, R(*func)(A1, A2, A3, A4)>
+void rpc_function_caller(Arguments *arguments, Reply *result) {
+ A1 arg1 = arguments->getArg<A1>();
+ A2 arg2 = arguments->getArg<A2>();
+ A3 arg3 = arguments->getArg<A3>();
+ A4 arg4 = arguments->getArg<A4>();
+
+ R res = (*func)(arg1, arg2, arg3, arg4);
+ result->putData<R>(res);
+}
+
+struct rpc_method {
+ const char *name;
+ typedef void (*method_caller_t)(RPC*, Arguments*, Reply*);
+ typedef const struct rpc_method *(*super_t)(RPC*);
+ union {
+ method_caller_t method_caller;
+ super_t super;
+ };
+};
+
+template<class C>
+const struct rpc_method *rpc_super(RPC *this_ptr) {
+ return static_cast<C*>(this_ptr)->C::get_rpc_methods();
+}
+
+#define RPC_METHOD_END { NULL, NULL }
+#define RPC_METHOD_SUPER(C) { NULL, (rpc_method::method_caller_t)rpc_super<C> }
+
+} // namespace mbed
+
+#endif
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed_app.json Tue Dec 25 09:57:54 2018 +0000
@@ -0,0 +1,21 @@
+{
+ "config": {
+ "camera":{
+ "help": "0:disable 1:enable",
+ "value": "1"
+ },
+ "lcd":{
+ "help": "0:disable 1:enable",
+ "value": "0"
+ },
+ "usb-host-ch":{
+ "help": "(for GR-PEACH) 0:ch0 1:ch1",
+ "value": "1"
+ },
+ "audio-camera-shield":{
+ "help": "(for GR-PEACH) 0:not use 1:use",
+ "value": "1"
+ }
+ }
+}
+