diff options
| -rw-r--r-- | _www/rescached.js | 72 | ||||
| -rw-r--r-- | client.go | 12 | ||||
| -rw-r--r-- | httpd.go | 19 | ||||
| -rw-r--r-- | memfs_generate.go | 6 |
4 files changed, 38 insertions, 71 deletions
diff --git a/_www/rescached.js b/_www/rescached.js index 922056d..793d887 100644 --- a/_www/rescached.js +++ b/_www/rescached.js @@ -46,15 +46,15 @@ class Rescached { } async BlockdUpdate(name) { - let req = { - Name: name, - } + let params = new URLSearchParams() + params.set("name", name) + const httpRes = await fetch(Rescached.apiBlockdUpdate, { method: "POST", headers: { - "Content-Type": "application/json", + "Content-Type": "application/x-www-form-urlencoded", }, - body: JSON.stringify(req), + body: params.toString(), }) return await httpRes.json() } @@ -81,10 +81,7 @@ class Rescached { async Search(query) { console.log("Search: ", query) const res = await fetch( - this.server + - Rescached.apiCachesSearch + - "?query=" + - query, + this.server + Rescached.apiCachesSearch + "?query=" + query, ) return await res.json() } @@ -111,11 +108,9 @@ class Rescached { const res = await httpRes.json() if (httpRes.status === 200) { - res.data.PruneDelay = - res.data.PruneDelay / Rescached.nanoSeconds + res.data.PruneDelay = res.data.PruneDelay / Rescached.nanoSeconds res.data.PruneThreshold = - res.data.PruneThreshold / - Rescached.nanoSeconds + res.data.PruneThreshold / Rescached.nanoSeconds for (let k in res.data.HostsFiles) { if (!res.data.HostsFiles.hasOwnProperty(k)) { @@ -154,9 +149,7 @@ class Rescached { } async HostsFileGet(name) { - const httpRes = await fetch( - this.server + Rescached.apiHostsd + name, - ) + const httpRes = await fetch(this.server + Rescached.apiHostsd + name) let res = await httpRes.json() if (httpRes.Status === 200) { this.env.HostsFiles[name] = { @@ -226,16 +219,13 @@ class Rescached { got.PruneDelay = got.PruneDelay * this.nanoSeconds got.PruneThreshold = got.PruneThreshold * this.nanoSeconds - const httpRes = await fetch( - this.server + "/api/environment", - { - method: "POST", - headers: { - "Content-Type": "application/json", - }, - body: JSON.stringify(got), + const httpRes = await fetch(this.server + "/api/environment", { + method: "POST", + headers: { + "Content-Type": "application/json", }, - ) + body: JSON.stringify(got), + }) return await httpRes.json() } @@ -252,12 +242,9 @@ class Rescached { } async ZoneFileCreate(name) { - const httpRes = await fetch( - this.server + Rescached.apiZoned + name, - { - method: "PUT", - }, - ) + const httpRes = await fetch(this.server + Rescached.apiZoned + name, { + method: "PUT", + }) let res = await httpRes.json() if (res.code == 200) { this.env.ZoneFiles[name] = res.data @@ -266,12 +253,9 @@ class Rescached { } async ZoneFileDelete(name) { - const httpRes = await fetch( - this.server + Rescached.apiZoned + name, - { - method: "DELETE", - }, - ) + const httpRes = await fetch(this.server + Rescached.apiZoned + name, { + method: "DELETE", + }) let res = await httpRes.json() if (res.code == 200) { delete this.env.ZoneFiles[name] @@ -280,12 +264,7 @@ class Rescached { } async ZoneFileRecordCreate(name, rr) { - let api = - this.server + - Rescached.apiZoned + - name + - "/rr/" + - rr.Type + let api = this.server + Rescached.apiZoned + name + "/rr/" + rr.Type const httpRes = await fetch(api, { method: "POST", headers: { @@ -307,12 +286,7 @@ class Rescached { } async ZoneFileRecordDelete(name, rr) { - let api = - this.server + - Rescached.apiZoned + - name + - "/rr/" + - rr.Type + let api = this.server + Rescached.apiZoned + name + "/rr/" + rr.Type const httpRes = await fetch(api, { method: "DELETE", headers: { @@ -96,17 +96,17 @@ func (cl *Client) BlockdEnable(blockdName string) (an interface{}, err error) { // provider based on registered URL. func (cl *Client) BlockdUpdate(blockdName string) (an interface{}, err error) { var ( - logp = "BlockdUpdate" - hbReq = hostsBlock{ - Name: blockdName, - } - res = libhttp.EndpointResponse{} + logp = "BlockdUpdate" + params = url.Values{} + res = libhttp.EndpointResponse{} hb *hostsBlock resb []byte ) - _, resb, err = cl.PostJSON(apiBlockdUpdate, nil, &hbReq) + params.Set(paramNameName, blockdName) + + _, resb, err = cl.PostForm(apiBlockdUpdate, nil, params) if err != nil { return nil, fmt.Errorf("%s: %w", logp, err) } @@ -153,7 +153,7 @@ func (srv *Server) httpdRegisterEndpoints() (err error) { err = srv.httpd.RegisterEndpoint(&libhttp.Endpoint{ Method: libhttp.RequestMethodPost, Path: apiBlockdUpdate, - RequestType: libhttp.RequestTypeJSON, + RequestType: libhttp.RequestTypeForm, ResponseType: libhttp.ResponseTypeJSON, Call: srv.httpApiBlockdUpdate, }) @@ -347,17 +347,15 @@ func (srv *Server) httpApiBlockdEnable(epr *libhttp.EndpointRequest) (resBody [] return json.Marshal(&res) } -// httpApiBlockdUpdate fetch the latest hosts file from the hosts block -// provider based on registered URL. +// httpApiBlockdUpdate fetch the latest hosts file from the block.d provider +// based on registered URL. // // # Request // // POST /api/block.d/update -// Content-Type: application/json +// Content-Type: application/x-www-form-urlencoded // -// { -// "Name": <block.d name> -// } +// Name=<block.d name> // // # Response // @@ -372,12 +370,7 @@ func (srv *Server) httpApiBlockdUpdate(epr *libhttp.EndpointRequest) (resBody [] hbName string ) - err = json.Unmarshal(epr.RequestBody, &hb) - if err != nil { - return nil, fmt.Errorf("%s: %w", logp, err) - } - - hbName = strings.ToLower(hb.Name) + hbName = strings.ToLower(epr.HttpRequest.Form.Get(paramNameName)) hb = srv.env.HostsBlocks[hbName] if hb == nil { diff --git a/memfs_generate.go b/memfs_generate.go index 2acec65..edb08ef 100644 --- a/memfs_generate.go +++ b/memfs_generate.go @@ -187,12 +187,12 @@ func generate__www_rescached_js() *memfs.Node { Path: "/rescached.js", ContentType: "text/javascript; charset=utf-8", GenFuncName: "generate__www_rescached_js", - Content: []byte("\x2F\x2F\x20\x53\x50\x44\x58\x2D\x46\x69\x6C\x65\x43\x6F\x70\x79\x72\x69\x67\x68\x74\x54\x65\x78\x74\x3A\x20\x32\x30\x32\x31\x20\x4D\x2E\x20\x53\x68\x75\x6C\x68\x61\x6E\x20\x3C\x6D\x73\x40\x6B\x69\x6C\x61\x62\x69\x74\x2E\x69\x6E\x66\x6F\x3E\x0A\x2F\x2F\x20\x53\x50\x44\x58\x2D\x4C\x69\x63\x65\x6E\x73\x65\x2D\x49\x64\x65\x6E\x74\x69\x66\x69\x65\x72\x3A\x20\x47\x50\x4C\x2D\x33\x2E\x30\x2D\x6F\x72\x2D\x6C\x61\x74\x65\x72\x0A\x0A\x63\x6F\x6E\x73\x74\x20\x52\x52\x54\x79\x70\x65\x73\x20\x3D\x20\x7B\x0A\x09\x31\x3A\x20\x22\x41\x22\x2C\x0A\x09\x32\x3A\x20\x22\x4E\x53\x22\x2C\x0A\x09\x33\x3A\x20\x22\x4D\x44\x22\x2C\x0A\x09\x34\x3A\x20\x22\x4D\x46\x22\x2C\x0A\x09\x35\x3A\x20\x22\x43\x4E\x41\x4D\x45\x22\x2C\x0A\x09\x36\x3A\x20\x22\x53\x4F\x41\x22\x2C\x0A\x09\x37\x3A\x20\x22\x4D\x42\x22\x2C\x0A\x09\x38\x3A\x20\x22\x4D\x47\x22\x2C\x0A\x09\x39\x3A\x20\x22\x4D\x52\x22\x2C\x0A\x09\x31\x30\x3A\x20\x22\x4E\x55\x4C\x4C\x22\x2C\x0A\x09\x31\x31\x3A\x20\x22\x57\x4B\x53\x22\x2C\x0A\x09\x31\x32\x3A\x20\x22\x50\x54\x52\x22\x2C\x0A\x09\x31\x33\x3A\x20\x22\x48\x49\x4E\x46\x4F\x22\x2C\x0A\x09\x31\x34\x3A\x20\x22\x4D\x49\x4E\x46\x4F\x22\x2C\x0A\x09\x31\x35\x3A\x20\x22\x4D\x58\x22\x2C\x0A\x09\x31\x36\x3A\x20\x22\x54\x58\x54\x22\x2C\x0A\x09\x32\x38\x3A\x20\x22\x41\x41\x41\x41\x22\x2C\x0A\x09\x33\x33\x3A\x20\x22\x53\x52\x56\x22\x2C\x0A\x09\x34\x31\x3A\x20\x22\x4F\x50\x54\x22\x2C\x0A\x7D\x0A\x0A\x66\x75\x6E\x63\x74\x69\x6F\x6E\x20\x67\x65\x74\x52\x52\x54\x79\x70\x65\x4E\x61\x6D\x65\x28\x6B\x29\x20\x7B\x0A\x09\x6C\x65\x74\x20\x76\x20\x3D\x20\x52\x52\x54\x79\x70\x65\x73\x5B\x6B\x5D\x0A\x09\x69\x66\x20\x28\x76\x20\x3D\x3D\x3D\x20\x22\x22\x29\x20\x7B\x0A\x09\x09\x72\x65\x74\x75\x72\x6E\x20\x6B\x0A\x09\x7D\x0A\x09\x72\x65\x74\x75\x72\x6E\x20\x76\x0A\x7D\x0A\x0A\x63\x6C\x61\x73\x73\x20\x52\x65\x73\x63\x61\x63\x68\x65\x64\x20\x7B\x0A\x09\x73\x74\x61\x74\x69\x63\x20\x6E\x61\x6E\x6F\x53\x65\x63\x6F\x6E\x64\x73\x20\x3D\x20\x31\x30\x30\x30\x30\x30\x30\x30\x30\x30\x0A\x09\x73\x74\x61\x74\x69\x63\x20\x61\x70\x69\x42\x6C\x6F\x63\x6B\x64\x20\x3D\x20\x22\x2F\x61\x70\x69\x2F\x62\x6C\x6F\x63\x6B\x2E\x64\x22\x0A\x09\x73\x74\x61\x74\x69\x63\x20\x61\x70\x69\x42\x6C\x6F\x63\x6B\x64\x55\x70\x64\x61\x74\x65\x20\x3D\x20\x22\x2F\x61\x70\x69\x2F\x62\x6C\x6F\x63\x6B\x2E\x64\x2F\x75\x70\x64\x61\x74\x65\x22\x0A\x09\x73\x74\x61\x74\x69\x63\x20\x61\x70\x69\x43\x61\x63\x68\x65\x73\x20\x3D\x20\x22\x2F\x61\x70\x69\x2F\x63\x61\x63\x68\x65\x73\x22\x0A\x09\x73\x74\x61\x74\x69\x63\x20\x61\x70\x69\x43\x61\x63\x68\x65\x73\x53\x65\x61\x72\x63\x68\x20\x3D\x20\x22\x2F\x61\x70\x69\x2F\x63\x61\x63\x68\x65\x73\x2F\x73\x65\x61\x72\x63\x68\x22\x0A\x09\x73\x74\x61\x74\x69\x63\x20\x61\x70\x69\x48\x6F\x73\x74\x73\x64\x20\x3D\x20\x22\x2F\x61\x70\x69\x2F\x68\x6F\x73\x74\x73\x2E\x64\x2F\x22\x0A\x09\x73\x74\x61\x74\x69\x63\x20\x61\x70\x69\x5A\x6F\x6E\x65\x64\x20\x3D\x20\x22\x2F\x61\x70\x69\x2F\x7A\x6F\x6E\x65\x2E\x64\x2F\x22\x0A\x0A\x09\x63\x6F\x6E\x73\x74\x72\x75\x63\x74\x6F\x72\x28\x73\x65\x72\x76\x65\x72\x29\x20\x7B\x0A\x09\x09\x74\x68\x69\x73\x2E\x73\x65\x72\x76\x65\x72\x20\x3D\x20\x73\x65\x72\x76\x65\x72\x0A\x09\x09\x74\x68\x69\x73\x2E\x65\x6E\x76\x20\x3D\x20\x7B\x7D\x0A\x09\x7D\x0A\x0A\x09\x61\x73\x79\x6E\x63\x20\x42\x6C\x6F\x63\x6B\x64\x55\x70\x64\x61\x74\x65\x28\x6E\x61\x6D\x65\x29\x20\x7B\x0A\x09\x09\x6C\x65\x74\x20\x72\x65\x71\x20\x3D\x20\x7B\x0A\x09\x09\x09\x4E\x61\x6D\x65\x3A\x20\x6E\x61\x6D\x65\x2C\x0A\x09\x09\x7D\x0A\x09\x09\x63\x6F\x6E\x73\x74\x20\x68\x74\x74\x70\x52\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x66\x65\x74\x63\x68\x28\x52\x65\x73\x63\x61\x63\x68\x65\x64\x2E\x61\x70\x69\x42\x6C\x6F\x63\x6B\x64\x55\x70\x64\x61\x74\x65\x2C\x20\x7B\x0A\x09\x09\x09\x6D\x65\x74\x68\x6F\x64\x3A\x20\x22\x50\x4F\x53\x54\x22\x2C\x0A\x09\x09\x09\x68\x65\x61\x64\x65\x72\x73\x3A\x20\x7B\x0A\x09\x09\x09\x09\x22\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65\x22\x3A\x20\x22\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2F\x6A\x73\x6F\x6E\x22\x2C\x0A\x09\x09\x09\x7D\x2C\x0A\x09\x09\x09\x62\x6F\x64\x79\x3A\x20\x4A\x53\x4F\x4E\x2E\x73\x74\x72\x69\x6E\x67\x69\x66\x79\x28\x72\x65\x71\x29\x2C\x0A\x09\x09\x7D\x29\x0A\x09\x09\x72\x65\x74\x75\x72\x6E\x20\x61\x77\x61\x69\x74\x20\x68\x74\x74\x70\x52\x65\x73\x2E\x6A\x73\x6F\x6E\x28\x29\x0A\x09\x7D\x0A\x0A\x09\x61\x73\x79\x6E\x63\x20\x43\x61\x63\x68\x65\x73\x28\x29\x20\x7B\x0A\x09\x09\x63\x6F\x6E\x73\x74\x20\x72\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x66\x65\x74\x63\x68\x28\x74\x68\x69\x73\x2E\x73\x65\x72\x76\x65\x72\x20\x2B\x20\x52\x65\x73\x63\x61\x63\x68\x65\x64\x2E\x61\x70\x69\x43\x61\x63\x68\x65\x73\x2C\x20\x7B\x0A\x09\x09\x09\x68\x65\x61\x64\x65\x72\x73\x3A\x20\x7B\x0A\x09\x09\x09\x09\x43\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x3A\x20\x22\x6B\x65\x65\x70\x2D\x61\x6C\x69\x76\x65\x22\x2C\x0A\x09\x09\x09\x7D\x2C\x0A\x09\x09\x7D\x29\x0A\x09\x09\x72\x65\x74\x75\x72\x6E\x20\x61\x77\x61\x69\x74\x20\x72\x65\x73\x2E\x6A\x73\x6F\x6E\x28\x29\x0A\x09\x7D\x0A\x0A\x09\x61\x73\x79\x6E\x63\x20\x43\x61\x63\x68\x65\x52\x65\x6D\x6F\x76\x65\x28\x71\x6E\x61\x6D\x65\x29\x20\x7B\x0A\x09\x09\x63\x6F\x6E\x73\x74\x20\x72\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x66\x65\x74\x63\x68\x28\x0A\x09\x09\x09\x74\x68\x69\x73\x2E\x73\x65\x72\x76\x65\x72\x20\x2B\x20\x52\x65\x73\x63\x61\x63\x68\x65\x64\x2E\x61\x70\x69\x43\x61\x63\x68\x65\x73\x20\x2B\x20\x22\x3F\x6E\x61\x6D\x65\x3D\x22\x20\x2B\x20\x71\x6E\x61\x6D\x65\x2C\x0A\x09\x09\x09\x7B\x0A\x09\x09\x09\x09\x6D\x65\x74\x68\x6F\x64\x3A\x20\x22\x44\x45\x4C\x45\x54\x45\x22\x2C\x0A\x09\x09\x09\x7D\x2C\x0A\x09\x09\x29\x0A\x09\x09\x72\x65\x74\x75\x72\x6E\x20\x61\x77\x61\x69\x74\x20\x72\x65\x73\x2E\x6A\x73\x6F\x6E\x28\x29\x0A\x09\x7D\x0A\x0A\x09\x61\x73\x79\x6E\x63\x20\x53\x65\x61\x72\x63\x68\x28\x71\x75\x65\x72\x79\x29\x20\x7B\x0A\x09\x09\x63\x6F\x6E\x73\x6F\x6C\x65\x2E\x6C\x6F\x67\x28\x22\x53\x65\x61\x72\x63\x68\x3A\x20\x22\x2C\x20\x71\x75\x65\x72\x79\x29\x0A\x09\x09\x63\x6F\x6E\x73\x74\x20\x72\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x66\x65\x74\x63\x68\x28\x0A\x09\x09\x09\x74\x68\x69\x73\x2E\x73\x65\x72\x76\x65\x72\x20\x2B\x0A\x09\x09\x09\x09\x52\x65\x73\x63\x61\x63\x68\x65\x64\x2E\x61\x70\x69\x43\x61\x63\x68\x65\x73\x53\x65\x61\x72\x63\x68\x20\x2B\x0A\x09\x09\x09\x09\x22\x3F\x71\x75\x65\x72\x79\x3D\x22\x20\x2B\x0A\x09\x09\x09\x09\x71\x75\x65\x72\x79\x2C\x0A\x09\x09\x29\x0A\x09\x09\x72\x65\x74\x75\x72\x6E\x20\x61\x77\x61\x69\x74\x20\x72\x65\x73\x2E\x6A\x73\x6F\x6E\x28\x29\x0A\x09\x7D\x0A\x0A\x09\x61\x73\x79\x6E\x63\x20\x48\x6F\x73\x74\x73\x46\x69\x6C\x65\x43\x72\x65\x61\x74\x65\x28\x6E\x61\x6D\x65\x29\x20\x7B\x0A\x09\x09\x63\x6F\x6E\x73\x74\x20\x68\x74\x74\x70\x52\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x66\x65\x74\x63\x68\x28\x0A\x09\x09\x09\x74\x68\x69\x73\x2E\x73\x65\x72\x76\x65\x72\x20\x2B\x20\x52\x65\x73\x63\x61\x63\x68\x65\x64\x2E\x61\x70\x69\x48\x6F\x73\x74\x73\x64\x20\x2B\x20\x6E\x61\x6D\x65\x2C\x0A\x09\x09\x09\x7B\x0A\x09\x09\x09\x09\x6D\x65\x74\x68\x6F\x64\x3A\x20\x22\x50\x55\x54\x22\x2C\x0A\x09\x09\x09\x7D\x2C\x0A\x09\x09\x29\x0A\x09\x09\x6C\x65\x74\x20\x72\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x68\x74\x74\x70\x52\x65\x73\x2E\x6A\x73\x6F\x6E\x28\x29\x0A\x09\x09\x69\x66\x20\x28\x72\x65\x73\x2E\x63\x6F\x64\x65\x20\x3D\x3D\x3D\x20\x32\x30\x30\x29\x20\x7B\x0A\x09\x09\x09\x74\x68\x69\x73\x2E\x65\x6E\x76\x2E\x48\x6F\x73\x74\x73\x46\x69\x6C\x65\x73\x5B\x6E\x61\x6D\x65\x5D\x20\x3D\x20\x7B\x0A\x09\x09\x09\x09\x4E\x61\x6D\x65\x3A\x20\x6E\x61\x6D\x65\x2C\x0A\x09\x09\x09\x09\x52\x65\x63\x6F\x72\x64\x73\x3A\x20\x5B\x5D\x2C\x0A\x09\x09\x09\x7D\x0A\x09\x09\x7D\x0A\x09\x09\x72\x65\x74\x75\x72\x6E\x20\x72\x65\x73\x0A\x09\x7D\x0A\x0A\x09\x61\x73\x79\x6E\x63\x20\x67\x65\x74\x45\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74\x28\x29\x20\x7B\x0A\x09\x09\x63\x6F\x6E\x73\x74\x20\x68\x74\x74\x70\x52\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x66\x65\x74\x63\x68\x28\x74\x68\x69\x73\x2E\x73\x65\x72\x76\x65\x72\x20\x2B\x20\x22\x2F\x61\x70\x69\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74\x22\x29\x0A\x09\x09\x63\x6F\x6E\x73\x74\x20\x72\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x68\x74\x74\x70\x52\x65\x73\x2E\x6A\x73\x6F\x6E\x28\x29\x0A\x0A\x09\x09\x69\x66\x20\x28\x68\x74\x74\x70\x52\x65\x73\x2E\x73\x74\x61\x74\x75\x73\x20\x3D\x3D\x3D\x20\x32\x30\x30\x29\x20\x7B\x0A\x09\x09\x09\x72\x65\x73\x2E\x64\x61\x74\x61\x2E\x50\x72\x75\x6E\x65\x44\x65\x6C\x61\x79\x20\x3D\x0A\x09\x09\x09\x09\x72\x65\x73\x2E\x64\x61\x74\x61\x2E\x50\x72\x75\x6E\x65\x44\x65\x6C\x61\x79\x20\x2F\x20\x52\x65\x73\x63\x61\x63\x68\x65\x64\x2E\x6E\x61\x6E\x6F\x53\x65\x63\x6F\x6E\x64\x73\x0A\x09\x09\x09\x72\x65\x73\x2E\x64\x61\x74\x61\x2E\x50\x72\x75\x6E\x65\x54\x68\x72\x65\x73\x68\x6F\x6C\x64\x20\x3D\x0A\x09\x09\x09\x09\x72\x65\x73\x2E\x64\x61\x74\x61\x2E\x50\x72\x75\x6E\x65\x54\x68\x72\x65\x73\x68\x6F\x6C\x64\x20\x2F\x0A\x09\x09\x09\x09\x52\x65\x73\x63\x61\x63\x68\x65\x64\x2E\x6E\x61\x6E\x6F\x53\x65\x63\x6F\x6E\x64\x73\x0A\x0A\x09\x09\x09\x66\x6F\x72\x20\x28\x6C\x65\x74\x20\x6B\x20\x69\x6E\x20\x72\x65\x73\x2E\x64\x61\x74\x61\x2E\x48\x6F\x73\x74\x73\x46\x69\x6C\x65\x73\x29\x20\x7B\x0A\x09\x09\x09\x09\x69\x66\x20\x28\x21\x72\x65\x73\x2E\x64\x61\x74\x61\x2E\x48\x6F\x73\x74\x73\x46\x69\x6C\x65\x73\x2E\x68\x61\x73\x4F\x77\x6E\x50\x72\x6F\x70\x65\x72\x74\x79\x28\x6B\x29\x29\x20\x7B\x0A\x09\x09\x09\x09\x09\x63\x6F\x6E\x74\x69\x6E\x75\x65\x0A\x09\x09\x09\x09\x7D\x0A\x09\x09\x09\x09\x6C\x65\x74\x20\x68\x66\x20\x3D\x20\x72\x65\x73\x2E\x64\x61\x74\x61\x2E\x48\x6F\x73\x74\x73\x46\x69\x6C\x65\x73\x5B\x6B\x5D\x0A\x09\x09\x09\x09\x69\x66\x20\x28\x74\x79\x70\x65\x6F\x66\x20\x68\x66\x2E\x52\x65\x63\x6F\x72\x64\x73\x20\x3D\x3D\x3D\x20\x22\x75\x6E\x64\x65\x66\x69\x6E\x65\x64\x22\x29\x20\x7B\x0A\x09\x09\x09\x09\x09\x68\x66\x2E\x52\x65\x63\x6F\x72\x64\x73\x20\x3D\x20\x5B\x5D\x0A\x09\x09\x09\x09\x7D\x0A\x09\x09\x09\x7D\x0A\x09\x09\x09\x74\x68\x69\x73\x2E\x65\x6E\x76\x20\x3D\x20\x72\x65\x73\x2E\x64\x61\x74\x61\x0A\x09\x09\x7D\x0A\x09\x09\x72\x65\x74\x75\x72\x6E\x20\x72\x65\x73\x0A\x09\x7D\x0A\x0A\x09\x47\x65\x74\x52\x52\x54\x79\x70\x65\x4E\x61\x6D\x65\x28\x6B\x29\x20\x7B\x0A\x09\x09\x6C\x65\x74\x20\x76\x20\x3D\x20\x52\x52\x54\x79\x70\x65\x73\x5B\x6B\x5D\x0A\x09\x09\x69\x66\x20\x28\x76\x20\x3D\x3D\x3D\x20\x22\x22\x29\x20\x7B\x0A\x09\x09\x09\x72\x65\x74\x75\x72\x6E\x20\x6B\x0A\x09\x09\x7D\x0A\x09\x09\x72\x65\x74\x75\x72\x6E\x20\x76\x0A\x09\x7D\x0A\x0A\x09\x61\x73\x79\x6E\x63\x20\x48\x6F\x73\x74\x73\x46\x69\x6C\x65\x44\x65\x6C\x65\x74\x65\x28\x6E\x61\x6D\x65\x29\x20\x7B\x0A\x09\x09\x63\x6F\x6E\x73\x74\x20\x68\x74\x74\x70\x52\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x66\x65\x74\x63\x68\x28\x0A\x09\x09\x09\x74\x68\x69\x73\x2E\x73\x65\x72\x76\x65\x72\x20\x2B\x20\x52\x65\x73\x63\x61\x63\x68\x65\x64\x2E\x61\x70\x69\x48\x6F\x73\x74\x73\x64\x20\x2B\x20\x6E\x61\x6D\x65\x2C\x0A\x09\x09\x09\x7B\x0A\x09\x09\x09\x09\x6D\x65\x74\x68\x6F\x64\x3A\x20\x22\x44\x45\x4C\x45\x54\x45\x22\x2C\x0A\x09\x09\x09\x7D\x2C\x0A\x09\x09\x29\x0A\x09\x09\x63\x6F\x6E\x73\x74\x20\x72\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x68\x74\x74\x70\x52\x65\x73\x2E\x6A\x73\x6F\x6E\x28\x29\x0A\x09\x09\x69\x66\x20\x28\x68\x74\x74\x70\x52\x65\x73\x2E\x73\x74\x61\x74\x75\x73\x20\x3D\x3D\x3D\x20\x32\x30\x30\x29\x20\x7B\x0A\x09\x09\x09\x64\x65\x6C\x65\x74\x65\x20\x74\x68\x69\x73\x2E\x65\x6E\x76\x2E\x48\x6F\x73\x74\x73\x46\x69\x6C\x65\x73\x5B\x6E\x61\x6D\x65\x5D\x0A\x09\x09\x7D\x0A\x09\x09\x72\x65\x74\x75\x72\x6E\x20\x72\x65\x73\x0A\x09\x7D\x0A\x0A\x09\x61\x73\x79\x6E\x63\x20\x48\x6F\x73\x74\x73\x46\x69\x6C\x65\x47\x65\x74\x28\x6E\x61\x6D\x65\x29\x20\x7B\x0A\x09\x09\x63\x6F\x6E\x73\x74\x20\x68\x74\x74\x70\x52\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x66\x65\x74\x63\x68\x28\x0A\x09\x09\x09\x74\x68\x69\x73\x2E\x73\x65\x72\x76\x65\x72\x20\x2B\x20\x52\x65\x73\x63\x61\x63\x68\x65\x64\x2E\x61\x70\x69\x48\x6F\x73\x74\x73\x64\x20\x2B\x20\x6E\x61\x6D\x65\x2C\x0A\x09\x09\x29\x0A\x09\x09\x6C\x65\x74\x20\x72\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x68\x74\x74\x70\x52\x65\x73\x2E\x6A\x73\x6F\x6E\x28\x29\x0A\x09\x09\x69\x66\x20\x28\x68\x74\x74\x70\x52\x65\x73\x2E\x53\x74\x61\x74\x75\x73\x20\x3D\x3D\x3D\x20\x32\x30\x30\x29\x20\x7B\x0A\x09\x09\x09\x74\x68\x69\x73\x2E\x65\x6E\x76\x2E\x48\x6F\x73\x74\x73\x46\x69\x6C\x65\x73\x5B\x6E\x61\x6D\x65\x5D\x20\x3D\x20\x7B\x0A\x09\x09\x09\x09\x4E\x61\x6D\x65\x3A\x20\x6E\x61\x6D\x65\x2C\x0A\x09\x09\x09\x09\x52\x65\x63\x6F\x72\x64\x73\x3A\x20\x72\x65\x73\x2E\x64\x61\x74\x61\x2C\x0A\x09\x09\x09\x7D\x0A\x09\x09\x7D\x0A\x09\x09\x72\x65\x74\x75\x72\x6E\x20\x72\x65\x73\x0A\x09\x7D\x0A\x0A\x09\x61\x73\x79\x6E\x63\x20\x48\x6F\x73\x74\x73\x46\x69\x6C\x65\x52\x65\x63\x6F\x72\x64\x41\x64\x64\x28\x68\x6F\x73\x74\x73\x46\x69\x6C\x65\x2C\x20\x64\x6F\x6D\x61\x69\x6E\x2C\x20\x76\x61\x6C\x75\x65\x29\x20\x7B\x0A\x09\x09\x6C\x65\x74\x20\x70\x61\x72\x61\x6D\x73\x20\x3D\x20\x6E\x65\x77\x20\x55\x52\x4C\x53\x65\x61\x72\x63\x68\x50\x61\x72\x61\x6D\x73\x28\x29\x0A\x09\x09\x70\x61\x72\x61\x6D\x73\x2E\x73\x65\x74\x28\x22\x64\x6F\x6D\x61\x69\x6E\x22\x2C\x20\x64\x6F\x6D\x61\x69\x6E\x29\x0A\x09\x09\x70\x61\x72\x61\x6D\x73\x2E\x73\x65\x74\x28\x22\x76\x61\x6C\x75\x65\x22\x2C\x20\x76\x61\x6C\x75\x65\x29\x0A\x0A\x09\x09\x63\x6F\x6E\x73\x74\x20\x61\x70\x69\x20\x3D\x0A\x09\x09\x09\x74\x68\x69\x73\x2E\x73\x65\x72\x76\x65\x72\x20\x2B\x0A\x09\x09\x09\x52\x65\x73\x63\x61\x63\x68\x65\x64\x2E\x61\x70\x69\x48\x6F\x73\x74\x73\x64\x20\x2B\x0A\x09\x09\x09\x68\x6F\x73\x74\x73\x46\x69\x6C\x65\x20\x2B\x0A\x09\x09\x09\x22\x2F\x72\x72\x22\x20\x2B\x0A\x09\x09\x09\x22\x3F\x22\x20\x2B\x0A\x09\x09\x09\x70\x61\x72\x61\x6D\x73\x2E\x74\x6F\x53\x74\x72\x69\x6E\x67\x28\x29\x0A\x0A\x09\x09\x63\x6F\x6E\x73\x74\x20\x68\x74\x74\x70\x52\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x66\x65\x74\x63\x68\x28\x61\x70\x69\x2C\x20\x7B\x0A\x09\x09\x09\x6D\x65\x74\x68\x6F\x64\x3A\x20\x22\x50\x4F\x53\x54\x22\x2C\x0A\x09\x09\x7D\x29\x0A\x09\x09\x63\x6F\x6E\x73\x74\x20\x72\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x68\x74\x74\x70\x52\x65\x73\x2E\x6A\x73\x6F\x6E\x28\x29\x0A\x09\x09\x69\x66\x20\x28\x68\x74\x74\x70\x52\x65\x73\x2E\x53\x74\x61\x74\x75\x73\x20\x3D\x3D\x3D\x20\x32\x30\x30\x29\x20\x7B\x0A\x09\x09\x09\x6C\x65\x74\x20\x68\x66\x20\x3D\x20\x74\x68\x69\x73\x2E\x65\x6E\x76\x2E\x48\x6F\x73\x74\x73\x46\x69\x6C\x65\x73\x5B\x68\x6F\x73\x74\x73\x46\x69\x6C\x65\x5D\x0A\x09\x09\x09\x68\x66\x2E\x52\x65\x63\x6F\x72\x64\x73\x2E\x70\x75\x73\x68\x28\x72\x65\x73\x2E\x64\x61\x74\x61\x29\x0A\x09\x09\x7D\x0A\x09\x09\x72\x65\x74\x75\x72\x6E\x20\x72\x65\x73\x0A\x09\x7D\x0A\x0A\x09\x61\x73\x79\x6E\x63\x20\x48\x6F\x73\x74\x73\x46\x69\x6C\x65\x52\x65\x63\x6F\x72\x64\x44\x65\x6C\x65\x74\x65\x28\x68\x6F\x73\x74\x73\x46\x69\x6C\x65\x2C\x20\x64\x6F\x6D\x61\x69\x6E\x29\x20\x7B\x0A\x09\x09\x6C\x65\x74\x20\x70\x61\x72\x61\x6D\x73\x20\x3D\x20\x6E\x65\x77\x20\x55\x52\x4C\x53\x65\x61\x72\x63\x68\x50\x61\x72\x61\x6D\x73\x28\x29\x0A\x09\x09\x70\x61\x72\x61\x6D\x73\x2E\x73\x65\x74\x28\x22\x64\x6F\x6D\x61\x69\x6E\x22\x2C\x20\x64\x6F\x6D\x61\x69\x6E\x29\x0A\x0A\x09\x09\x63\x6F\x6E\x73\x74\x20\x61\x70\x69\x20\x3D\x0A\x09\x09\x09\x74\x68\x69\x73\x2E\x73\x65\x72\x76\x65\x72\x20\x2B\x0A\x09\x09\x09\x52\x65\x73\x63\x61\x63\x68\x65\x64\x2E\x61\x70\x69\x48\x6F\x73\x74\x73\x64\x20\x2B\x0A\x09\x09\x09\x68\x6F\x73\x74\x73\x46\x69\x6C\x65\x20\x2B\x0A\x09\x09\x09\x22\x2F\x72\x72\x22\x20\x2B\x0A\x09\x09\x09\x22\x3F\x22\x20\x2B\x0A\x09\x09\x09\x70\x61\x72\x61\x6D\x73\x2E\x74\x6F\x53\x74\x72\x69\x6E\x67\x28\x29\x0A\x0A\x09\x09\x63\x6F\x6E\x73\x74\x20\x68\x74\x74\x70\x52\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x66\x65\x74\x63\x68\x28\x61\x70\x69\x2C\x20\x7B\x0A\x09\x09\x09\x6D\x65\x74\x68\x6F\x64\x3A\x20\x22\x44\x45\x4C\x45\x54\x45\x22\x2C\x0A\x09\x09\x7D\x29\x0A\x09\x09\x63\x6F\x6E\x73\x74\x20\x72\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x68\x74\x74\x70\x52\x65\x73\x2E\x6A\x73\x6F\x6E\x28\x29\x0A\x09\x09\x69\x66\x20\x28\x68\x74\x74\x70\x52\x65\x73\x2E\x53\x74\x61\x74\x75\x73\x20\x3D\x3D\x3D\x20\x32\x30\x30\x29\x20\x7B\x0A\x09\x09\x09\x6C\x65\x74\x20\x68\x66\x20\x3D\x20\x74\x68\x69\x73\x2E\x65\x6E\x76\x2E\x48\x6F\x73\x74\x73\x46\x69\x6C\x65\x73\x5B\x68\x6F\x73\x74\x73\x46\x69\x6C\x65\x5D\x0A\x09\x09\x09\x66\x6F\x72\x20\x28\x6C\x65\x74\x20\x78\x20\x3D\x20\x30\x3B\x20\x78\x20\x3C\x20\x68\x66\x2E\x52\x65\x63\x6F\x72\x64\x73\x2E\x6C\x65\x6E\x67\x74\x68\x3B\x20\x78\x2B\x2B\x29\x20\x7B\x0A\x09\x09\x09\x09\x69\x66\x20\x28\x68\x66\x2E\x52\x65\x63\x6F\x72\x64\x73\x5B\x78\x5D\x2E\x4E\x61\x6D\x65\x20\x3D\x3D\x3D\x20\x64\x6F\x6D\x61\x69\x6E\x29\x20\x7B\x0A\x09\x09\x09\x09\x09\x68\x66\x2E\x52\x65\x63\x6F\x72\x64\x73\x2E\x73\x70\x6C\x69\x63\x65\x28\x78\x2C\x20\x31\x29\x0A\x09\x09\x09\x09\x7D\x0A\x09\x09\x09\x7D\x0A\x09\x09\x7D\x0A\x09\x09\x72\x65\x74\x75\x72\x6E\x20\x72\x65\x73\x0A\x09\x7D\x0A\x0A\x09\x61\x73\x79\x6E\x63\x20\x75\x70\x64\x61\x74\x65\x45\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74\x28\x29\x20\x7B\x0A\x09\x09\x6C\x65\x74\x20\x67\x6F\x74\x20\x3D\x20\x7B\x7D\x0A\x0A\x09\x09\x4F\x62\x6A\x65\x63\x74\x2E\x61\x73\x73\x69\x67\x6E\x28\x67\x6F\x74\x2C\x20\x74\x68\x69\x73\x2E\x65\x6E\x76\x29\x0A\x0A\x09\x09\x67\x6F\x74\x2E\x50\x72\x75\x6E\x65\x44\x65\x6C\x61\x79\x20\x3D\x20\x67\x6F\x74\x2E\x50\x72\x75\x6E\x65\x44\x65\x6C\x61\x79\x20\x2A\x20\x74\x68\x69\x73\x2E\x6E\x61\x6E\x6F\x53\x65\x63\x6F\x6E\x64\x73\x0A\x09\x09\x67\x6F\x74\x2E\x50\x72\x75\x6E\x65\x54\x68\x72\x65\x73\x68\x6F\x6C\x64\x20\x3D\x20\x67\x6F\x74\x2E\x50\x72\x75\x6E\x65\x54\x68\x72\x65\x73\x68\x6F\x6C\x64\x20\x2A\x20\x74\x68\x69\x73\x2E\x6E\x61\x6E\x6F\x53\x65\x63\x6F\x6E\x64\x73\x0A\x0A\x09\x09\x63\x6F\x6E\x73\x74\x20\x68\x74\x74\x70\x52\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x66\x65\x74\x63\x68\x28\x0A\x09\x09\x09\x74\x68\x69\x73\x2E\x73\x65\x72\x76\x65\x72\x20\x2B\x20\x22\x2F\x61\x70\x69\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74\x22\x2C\x0A\x09\x09\x09\x7B\x0A\x09\x09\x09\x09\x6D\x65\x74\x68\x6F\x64\x3A\x20\x22\x50\x4F\x53\x54\x22\x2C\x0A\x09\x09\x09\x09\x68\x65\x61\x64\x65\x72\x73\x3A\x20\x7B\x0A\x09\x09\x09\x09\x09\x22\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65\x22\x3A\x20\x22\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2F\x6A\x73\x6F\x6E\x22\x2C\x0A\x09\x09\x09\x09\x7D\x2C\x0A\x09\x09\x09\x09\x62\x6F\x64\x79\x3A\x20\x4A\x53\x4F\x4E\x2E\x73\x74\x72\x69\x6E\x67\x69\x66\x79\x28\x67\x6F\x74\x29\x2C\x0A\x09\x09\x09\x7D\x2C\x0A\x09\x09\x29\x0A\x0A\x09\x09\x72\x65\x74\x75\x72\x6E\x20\x61\x77\x61\x69\x74\x20\x68\x74\x74\x70\x52\x65\x73\x2E\x6A\x73\x6F\x6E\x28\x29\x0A\x09\x7D\x0A\x0A\x09\x61\x73\x79\x6E\x63\x20\x75\x70\x64\x61\x74\x65\x48\x6F\x73\x74\x73\x42\x6C\x6F\x63\x6B\x73\x28\x68\x6F\x73\x74\x73\x42\x6C\x6F\x63\x6B\x73\x29\x20\x7B\x0A\x09\x09\x63\x6F\x6E\x73\x74\x20\x68\x74\x74\x70\x52\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x66\x65\x74\x63\x68\x28\x52\x65\x73\x63\x61\x63\x68\x65\x64\x2E\x61\x70\x69\x42\x6C\x6F\x63\x6B\x64\x2C\x20\x7B\x0A\x09\x09\x09\x6D\x65\x74\x68\x6F\x64\x3A\x20\x22\x50\x4F\x53\x54\x22\x2C\x0A\x09\x09\x09\x68\x65\x61\x64\x65\x72\x73\x3A\x20\x7B\x0A\x09\x09\x09\x09\x22\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65\x22\x3A\x20\x22\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2F\x6A\x73\x6F\x6E\x22\x2C\x0A\x09\x09\x09\x7D\x2C\x0A\x09\x09\x09\x62\x6F\x64\x79\x3A\x20\x4A\x53\x4F\x4E\x2E\x73\x74\x72\x69\x6E\x67\x69\x66\x79\x28\x68\x6F\x73\x74\x73\x42\x6C\x6F\x63\x6B\x73\x29\x2C\x0A\x09\x09\x7D\x29\x0A\x09\x09\x72\x65\x74\x75\x72\x6E\x20\x61\x77\x61\x69\x74\x20\x68\x74\x74\x70\x52\x65\x73\x2E\x6A\x73\x6F\x6E\x28\x29\x0A\x09\x7D\x0A\x0A\x09\x61\x73\x79\x6E\x63\x20\x5A\x6F\x6E\x65\x46\x69\x6C\x65\x43\x72\x65\x61\x74\x65\x28\x6E\x61\x6D\x65\x29\x20\x7B\x0A\x09\x09\x63\x6F\x6E\x73\x74\x20\x68\x74\x74\x70\x52\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x66\x65\x74\x63\x68\x28\x0A\x09\x09\x09\x74\x68\x69\x73\x2E\x73\x65\x72\x76\x65\x72\x20\x2B\x20\x52\x65\x73\x63\x61\x63\x68\x65\x64\x2E\x61\x70\x69\x5A\x6F\x6E\x65\x64\x20\x2B\x20\x6E\x61\x6D\x65\x2C\x0A\x09\x09\x09\x7B\x0A\x09\x09\x09\x09\x6D\x65\x74\x68\x6F\x64\x3A\x20\x22\x50\x55\x54\x22\x2C\x0A\x09\x09\x09\x7D\x2C\x0A\x09\x09\x29\x0A\x09\x09\x6C\x65\x74\x20\x72\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x68\x74\x74\x70\x52\x65\x73\x2E\x6A\x73\x6F\x6E\x28\x29\x0A\x09\x09\x69\x66\x20\x28\x72\x65\x73\x2E\x63\x6F\x64\x65\x20\x3D\x3D\x20\x32\x30\x30\x29\x20\x7B\x0A\x09\x09\x09\x74\x68\x69\x73\x2E\x65\x6E\x76\x2E\x5A\x6F\x6E\x65\x46\x69\x6C\x65\x73\x5B\x6E\x61\x6D\x65\x5D\x20\x3D\x20\x72\x65\x73\x2E\x64\x61\x74\x61\x0A\x09\x09\x7D\x0A\x09\x09\x72\x65\x74\x75\x72\x6E\x20\x72\x65\x73\x0A\x09\x7D\x0A\x0A\x09\x61\x73\x79\x6E\x63\x20\x5A\x6F\x6E\x65\x46\x69\x6C\x65\x44\x65\x6C\x65\x74\x65\x28\x6E\x61\x6D\x65\x29\x20\x7B\x0A\x09\x09\x63\x6F\x6E\x73\x74\x20\x68\x74\x74\x70\x52\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x66\x65\x74\x63\x68\x28\x0A\x09\x09\x09\x74\x68\x69\x73\x2E\x73\x65\x72\x76\x65\x72\x20\x2B\x20\x52\x65\x73\x63\x61\x63\x68\x65\x64\x2E\x61\x70\x69\x5A\x6F\x6E\x65\x64\x20\x2B\x20\x6E\x61\x6D\x65\x2C\x0A\x09\x09\x09\x7B\x0A\x09\x09\x09\x09\x6D\x65\x74\x68\x6F\x64\x3A\x20\x22\x44\x45\x4C\x45\x54\x45\x22\x2C\x0A\x09\x09\x09\x7D\x2C\x0A\x09\x09\x29\x0A\x09\x09\x6C\x65\x74\x20\x72\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x68\x74\x74\x70\x52\x65\x73\x2E\x6A\x73\x6F\x6E\x28\x29\x0A\x09\x09\x69\x66\x20\x28\x72\x65\x73\x2E\x63\x6F\x64\x65\x20\x3D\x3D\x20\x32\x30\x30\x29\x20\x7B\x0A\x09\x09\x09\x64\x65\x6C\x65\x74\x65\x20\x74\x68\x69\x73\x2E\x65\x6E\x76\x2E\x5A\x6F\x6E\x65\x46\x69\x6C\x65\x73\x5B\x6E\x61\x6D\x65\x5D\x0A\x09\x09\x7D\x0A\x09\x09\x72\x65\x74\x75\x72\x6E\x20\x72\x65\x73\x0A\x09\x7D\x0A\x0A\x09\x61\x73\x79\x6E\x63\x20\x5A\x6F\x6E\x65\x46\x69\x6C\x65\x52\x65\x63\x6F\x72\x64\x43\x72\x65\x61\x74\x65\x28\x6E\x61\x6D\x65\x2C\x20\x72\x72\x29\x20\x7B\x0A\x09\x09\x6C\x65\x74\x20\x61\x70\x69\x20\x3D\x0A\x09\x09\x09\x74\x68\x69\x73\x2E\x73\x65\x72\x76\x65\x72\x20\x2B\x0A\x09\x09\x09\x52\x65\x73\x63\x61\x63\x68\x65\x64\x2E\x61\x70\x69\x5A\x6F\x6E\x65\x64\x20\x2B\x0A\x09\x09\x09\x6E\x61\x6D\x65\x20\x2B\x0A\x09\x09\x09\x22\x2F\x72\x72\x2F\x22\x20\x2B\x0A\x09\x09\x09\x72\x72\x2E\x54\x79\x70\x65\x0A\x09\x09\x63\x6F\x6E\x73\x74\x20\x68\x74\x74\x70\x52\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x66\x65\x74\x63\x68\x28\x61\x70\x69\x2C\x20\x7B\x0A\x09\x09\x09\x6D\x65\x74\x68\x6F\x64\x3A\x20\x22\x50\x4F\x53\x54\x22\x2C\x0A\x09\x09\x09\x68\x65\x61\x64\x65\x72\x73\x3A\x20\x7B\x0A\x09\x09\x09\x09\x22\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65\x22\x3A\x20\x22\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2F\x6A\x73\x6F\x6E\x22\x2C\x0A\x09\x09\x09\x7D\x2C\x0A\x09\x09\x09\x62\x6F\x64\x79\x3A\x20\x4A\x53\x4F\x4E\x2E\x73\x74\x72\x69\x6E\x67\x69\x66\x79\x28\x72\x72\x29\x2C\x0A\x09\x09\x7D\x29\x0A\x09\x09\x6C\x65\x74\x20\x72\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x68\x74\x74\x70\x52\x65\x73\x2E\x6A\x73\x6F\x6E\x28\x29\x0A\x09\x09\x69\x66\x20\x28\x68\x74\x74\x70\x52\x65\x73\x2E\x73\x74\x61\x74\x75\x73\x20\x3D\x3D\x3D\x20\x32\x30\x30\x29\x20\x7B\x0A\x09\x09\x09\x6C\x65\x74\x20\x7A\x66\x20\x3D\x20\x74\x68\x69\x73\x2E\x65\x6E\x76\x2E\x5A\x6F\x6E\x65\x46\x69\x6C\x65\x73\x5B\x6E\x61\x6D\x65\x5D\x0A\x09\x09\x09\x69\x66\x20\x28\x72\x72\x2E\x54\x79\x70\x65\x20\x3D\x3D\x20\x36\x29\x20\x7B\x0A\x09\x09\x09\x09\x2F\x2F\x20\x53\x4F\x41\x2E\x0A\x09\x09\x09\x09\x7A\x66\x2E\x53\x4F\x41\x20\x3D\x20\x72\x65\x73\x2E\x64\x61\x74\x61\x0A\x09\x09\x09\x7D\x20\x65\x6C\x73\x65\x20\x7B\x0A\x09\x09\x09\x09\x7A\x66\x2E\x52\x65\x63\x6F\x72\x64\x73\x20\x3D\x20\x72\x65\x73\x2E\x64\x61\x74\x61\x0A\x09\x09\x09\x7D\x0A\x09\x09\x7D\x0A\x09\x09\x72\x65\x74\x75\x72\x6E\x20\x72\x65\x73\x0A\x09\x7D\x0A\x0A\x09\x61\x73\x79\x6E\x63\x20\x5A\x6F\x6E\x65\x46\x69\x6C\x65\x52\x65\x63\x6F\x72\x64\x44\x65\x6C\x65\x74\x65\x28\x6E\x61\x6D\x65\x2C\x20\x72\x72\x29\x20\x7B\x0A\x09\x09\x6C\x65\x74\x20\x61\x70\x69\x20\x3D\x0A\x09\x09\x09\x74\x68\x69\x73\x2E\x73\x65\x72\x76\x65\x72\x20\x2B\x0A\x09\x09\x09\x52\x65\x73\x63\x61\x63\x68\x65\x64\x2E\x61\x70\x69\x5A\x6F\x6E\x65\x64\x20\x2B\x0A\x09\x09\x09\x6E\x61\x6D\x65\x20\x2B\x0A\x09\x09\x09\x22\x2F\x72\x72\x2F\x22\x20\x2B\x0A\x09\x09\x09\x72\x72\x2E\x54\x79\x70\x65\x0A\x09\x09\x63\x6F\x6E\x73\x74\x20\x68\x74\x74\x70\x52\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x66\x65\x74\x63\x68\x28\x61\x70\x69\x2C\x20\x7B\x0A\x09\x09\x09\x6D\x65\x74\x68\x6F\x64\x3A\x20\x22\x44\x45\x4C\x45\x54\x45\x22\x2C\x0A\x09\x09\x09\x68\x65\x61\x64\x65\x72\x73\x3A\x20\x7B\x0A\x09\x09\x09\x09\x22\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65\x22\x3A\x20\x22\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2F\x6A\x73\x6F\x6E\x22\x2C\x0A\x09\x09\x09\x7D\x2C\x0A\x09\x09\x09\x62\x6F\x64\x79\x3A\x20\x4A\x53\x4F\x4E\x2E\x73\x74\x72\x69\x6E\x67\x69\x66\x79\x28\x72\x72\x29\x2C\x0A\x09\x09\x7D\x29\x0A\x09\x09\x6C\x65\x74\x20\x72\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x68\x74\x74\x70\x52\x65\x73\x2E\x6A\x73\x6F\x6E\x28\x29\x0A\x09\x09\x69\x66\x20\x28\x68\x74\x74\x70\x52\x65\x73\x2E\x73\x74\x61\x74\x75\x73\x20\x3D\x3D\x3D\x20\x32\x30\x30\x29\x20\x7B\x0A\x09\x09\x09\x74\x68\x69\x73\x2E\x65\x6E\x76\x2E\x5A\x6F\x6E\x65\x46\x69\x6C\x65\x73\x5B\x6E\x61\x6D\x65\x5D\x2E\x52\x65\x63\x6F\x72\x64\x73\x20\x3D\x20\x72\x65\x73\x2E\x64\x61\x74\x61\x0A\x09\x09\x7D\x0A\x09\x09\x72\x65\x74\x75\x72\x6E\x20\x72\x65\x73\x0A\x09\x7D\x0A\x7D\x0A"), + Content: []byte("\x2F\x2F\x20\x53\x50\x44\x58\x2D\x46\x69\x6C\x65\x43\x6F\x70\x79\x72\x69\x67\x68\x74\x54\x65\x78\x74\x3A\x20\x32\x30\x32\x31\x20\x4D\x2E\x20\x53\x68\x75\x6C\x68\x61\x6E\x20\x3C\x6D\x73\x40\x6B\x69\x6C\x61\x62\x69\x74\x2E\x69\x6E\x66\x6F\x3E\x0A\x2F\x2F\x20\x53\x50\x44\x58\x2D\x4C\x69\x63\x65\x6E\x73\x65\x2D\x49\x64\x65\x6E\x74\x69\x66\x69\x65\x72\x3A\x20\x47\x50\x4C\x2D\x33\x2E\x30\x2D\x6F\x72\x2D\x6C\x61\x74\x65\x72\x0A\x0A\x63\x6F\x6E\x73\x74\x20\x52\x52\x54\x79\x70\x65\x73\x20\x3D\x20\x7B\x0A\x09\x31\x3A\x20\x22\x41\x22\x2C\x0A\x09\x32\x3A\x20\x22\x4E\x53\x22\x2C\x0A\x09\x33\x3A\x20\x22\x4D\x44\x22\x2C\x0A\x09\x34\x3A\x20\x22\x4D\x46\x22\x2C\x0A\x09\x35\x3A\x20\x22\x43\x4E\x41\x4D\x45\x22\x2C\x0A\x09\x36\x3A\x20\x22\x53\x4F\x41\x22\x2C\x0A\x09\x37\x3A\x20\x22\x4D\x42\x22\x2C\x0A\x09\x38\x3A\x20\x22\x4D\x47\x22\x2C\x0A\x09\x39\x3A\x20\x22\x4D\x52\x22\x2C\x0A\x09\x31\x30\x3A\x20\x22\x4E\x55\x4C\x4C\x22\x2C\x0A\x09\x31\x31\x3A\x20\x22\x57\x4B\x53\x22\x2C\x0A\x09\x31\x32\x3A\x20\x22\x50\x54\x52\x22\x2C\x0A\x09\x31\x33\x3A\x20\x22\x48\x49\x4E\x46\x4F\x22\x2C\x0A\x09\x31\x34\x3A\x20\x22\x4D\x49\x4E\x46\x4F\x22\x2C\x0A\x09\x31\x35\x3A\x20\x22\x4D\x58\x22\x2C\x0A\x09\x31\x36\x3A\x20\x22\x54\x58\x54\x22\x2C\x0A\x09\x32\x38\x3A\x20\x22\x41\x41\x41\x41\x22\x2C\x0A\x09\x33\x33\x3A\x20\x22\x53\x52\x56\x22\x2C\x0A\x09\x34\x31\x3A\x20\x22\x4F\x50\x54\x22\x2C\x0A\x7D\x0A\x0A\x66\x75\x6E\x63\x74\x69\x6F\x6E\x20\x67\x65\x74\x52\x52\x54\x79\x70\x65\x4E\x61\x6D\x65\x28\x6B\x29\x20\x7B\x0A\x09\x6C\x65\x74\x20\x76\x20\x3D\x20\x52\x52\x54\x79\x70\x65\x73\x5B\x6B\x5D\x0A\x09\x69\x66\x20\x28\x76\x20\x3D\x3D\x3D\x20\x22\x22\x29\x20\x7B\x0A\x09\x09\x72\x65\x74\x75\x72\x6E\x20\x6B\x0A\x09\x7D\x0A\x09\x72\x65\x74\x75\x72\x6E\x20\x76\x0A\x7D\x0A\x0A\x63\x6C\x61\x73\x73\x20\x52\x65\x73\x63\x61\x63\x68\x65\x64\x20\x7B\x0A\x09\x73\x74\x61\x74\x69\x63\x20\x6E\x61\x6E\x6F\x53\x65\x63\x6F\x6E\x64\x73\x20\x3D\x20\x31\x30\x30\x30\x30\x30\x30\x30\x30\x30\x0A\x09\x73\x74\x61\x74\x69\x63\x20\x61\x70\x69\x42\x6C\x6F\x63\x6B\x64\x20\x3D\x20\x22\x2F\x61\x70\x69\x2F\x62\x6C\x6F\x63\x6B\x2E\x64\x22\x0A\x09\x73\x74\x61\x74\x69\x63\x20\x61\x70\x69\x42\x6C\x6F\x63\x6B\x64\x55\x70\x64\x61\x74\x65\x20\x3D\x20\x22\x2F\x61\x70\x69\x2F\x62\x6C\x6F\x63\x6B\x2E\x64\x2F\x75\x70\x64\x61\x74\x65\x22\x0A\x09\x73\x74\x61\x74\x69\x63\x20\x61\x70\x69\x43\x61\x63\x68\x65\x73\x20\x3D\x20\x22\x2F\x61\x70\x69\x2F\x63\x61\x63\x68\x65\x73\x22\x0A\x09\x73\x74\x61\x74\x69\x63\x20\x61\x70\x69\x43\x61\x63\x68\x65\x73\x53\x65\x61\x72\x63\x68\x20\x3D\x20\x22\x2F\x61\x70\x69\x2F\x63\x61\x63\x68\x65\x73\x2F\x73\x65\x61\x72\x63\x68\x22\x0A\x09\x73\x74\x61\x74\x69\x63\x20\x61\x70\x69\x48\x6F\x73\x74\x73\x64\x20\x3D\x20\x22\x2F\x61\x70\x69\x2F\x68\x6F\x73\x74\x73\x2E\x64\x2F\x22\x0A\x09\x73\x74\x61\x74\x69\x63\x20\x61\x70\x69\x5A\x6F\x6E\x65\x64\x20\x3D\x20\x22\x2F\x61\x70\x69\x2F\x7A\x6F\x6E\x65\x2E\x64\x2F\x22\x0A\x0A\x09\x63\x6F\x6E\x73\x74\x72\x75\x63\x74\x6F\x72\x28\x73\x65\x72\x76\x65\x72\x29\x20\x7B\x0A\x09\x09\x74\x68\x69\x73\x2E\x73\x65\x72\x76\x65\x72\x20\x3D\x20\x73\x65\x72\x76\x65\x72\x0A\x09\x09\x74\x68\x69\x73\x2E\x65\x6E\x76\x20\x3D\x20\x7B\x7D\x0A\x09\x7D\x0A\x0A\x09\x61\x73\x79\x6E\x63\x20\x42\x6C\x6F\x63\x6B\x64\x55\x70\x64\x61\x74\x65\x28\x6E\x61\x6D\x65\x29\x20\x7B\x0A\x09\x09\x6C\x65\x74\x20\x70\x61\x72\x61\x6D\x73\x20\x3D\x20\x6E\x65\x77\x20\x55\x52\x4C\x53\x65\x61\x72\x63\x68\x50\x61\x72\x61\x6D\x73\x28\x29\x0A\x09\x09\x70\x61\x72\x61\x6D\x73\x2E\x73\x65\x74\x28\x22\x6E\x61\x6D\x65\x22\x2C\x20\x6E\x61\x6D\x65\x29\x0A\x0A\x09\x09\x63\x6F\x6E\x73\x74\x20\x68\x74\x74\x70\x52\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x66\x65\x74\x63\x68\x28\x52\x65\x73\x63\x61\x63\x68\x65\x64\x2E\x61\x70\x69\x42\x6C\x6F\x63\x6B\x64\x55\x70\x64\x61\x74\x65\x2C\x20\x7B\x0A\x09\x09\x09\x6D\x65\x74\x68\x6F\x64\x3A\x20\x22\x50\x4F\x53\x54\x22\x2C\x0A\x09\x09\x09\x68\x65\x61\x64\x65\x72\x73\x3A\x20\x7B\x0A\x09\x09\x09\x09\x22\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65\x22\x3A\x20\x22\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2F\x78\x2D\x77\x77\x77\x2D\x66\x6F\x72\x6D\x2D\x75\x72\x6C\x65\x6E\x63\x6F\x64\x65\x64\x22\x2C\x0A\x09\x09\x09\x7D\x2C\x0A\x09\x09\x09\x62\x6F\x64\x79\x3A\x20\x70\x61\x72\x61\x6D\x73\x2E\x74\x6F\x53\x74\x72\x69\x6E\x67\x28\x29\x2C\x0A\x09\x09\x7D\x29\x0A\x09\x09\x72\x65\x74\x75\x72\x6E\x20\x61\x77\x61\x69\x74\x20\x68\x74\x74\x70\x52\x65\x73\x2E\x6A\x73\x6F\x6E\x28\x29\x0A\x09\x7D\x0A\x0A\x09\x61\x73\x79\x6E\x63\x20\x43\x61\x63\x68\x65\x73\x28\x29\x20\x7B\x0A\x09\x09\x63\x6F\x6E\x73\x74\x20\x72\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x66\x65\x74\x63\x68\x28\x74\x68\x69\x73\x2E\x73\x65\x72\x76\x65\x72\x20\x2B\x20\x52\x65\x73\x63\x61\x63\x68\x65\x64\x2E\x61\x70\x69\x43\x61\x63\x68\x65\x73\x2C\x20\x7B\x0A\x09\x09\x09\x68\x65\x61\x64\x65\x72\x73\x3A\x20\x7B\x0A\x09\x09\x09\x09\x43\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x3A\x20\x22\x6B\x65\x65\x70\x2D\x61\x6C\x69\x76\x65\x22\x2C\x0A\x09\x09\x09\x7D\x2C\x0A\x09\x09\x7D\x29\x0A\x09\x09\x72\x65\x74\x75\x72\x6E\x20\x61\x77\x61\x69\x74\x20\x72\x65\x73\x2E\x6A\x73\x6F\x6E\x28\x29\x0A\x09\x7D\x0A\x0A\x09\x61\x73\x79\x6E\x63\x20\x43\x61\x63\x68\x65\x52\x65\x6D\x6F\x76\x65\x28\x71\x6E\x61\x6D\x65\x29\x20\x7B\x0A\x09\x09\x63\x6F\x6E\x73\x74\x20\x72\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x66\x65\x74\x63\x68\x28\x0A\x09\x09\x09\x74\x68\x69\x73\x2E\x73\x65\x72\x76\x65\x72\x20\x2B\x20\x52\x65\x73\x63\x61\x63\x68\x65\x64\x2E\x61\x70\x69\x43\x61\x63\x68\x65\x73\x20\x2B\x20\x22\x3F\x6E\x61\x6D\x65\x3D\x22\x20\x2B\x20\x71\x6E\x61\x6D\x65\x2C\x0A\x09\x09\x09\x7B\x0A\x09\x09\x09\x09\x6D\x65\x74\x68\x6F\x64\x3A\x20\x22\x44\x45\x4C\x45\x54\x45\x22\x2C\x0A\x09\x09\x09\x7D\x2C\x0A\x09\x09\x29\x0A\x09\x09\x72\x65\x74\x75\x72\x6E\x20\x61\x77\x61\x69\x74\x20\x72\x65\x73\x2E\x6A\x73\x6F\x6E\x28\x29\x0A\x09\x7D\x0A\x0A\x09\x61\x73\x79\x6E\x63\x20\x53\x65\x61\x72\x63\x68\x28\x71\x75\x65\x72\x79\x29\x20\x7B\x0A\x09\x09\x63\x6F\x6E\x73\x6F\x6C\x65\x2E\x6C\x6F\x67\x28\x22\x53\x65\x61\x72\x63\x68\x3A\x20\x22\x2C\x20\x71\x75\x65\x72\x79\x29\x0A\x09\x09\x63\x6F\x6E\x73\x74\x20\x72\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x66\x65\x74\x63\x68\x28\x0A\x09\x09\x09\x74\x68\x69\x73\x2E\x73\x65\x72\x76\x65\x72\x20\x2B\x20\x52\x65\x73\x63\x61\x63\x68\x65\x64\x2E\x61\x70\x69\x43\x61\x63\x68\x65\x73\x53\x65\x61\x72\x63\x68\x20\x2B\x20\x22\x3F\x71\x75\x65\x72\x79\x3D\x22\x20\x2B\x20\x71\x75\x65\x72\x79\x2C\x0A\x09\x09\x29\x0A\x09\x09\x72\x65\x74\x75\x72\x6E\x20\x61\x77\x61\x69\x74\x20\x72\x65\x73\x2E\x6A\x73\x6F\x6E\x28\x29\x0A\x09\x7D\x0A\x0A\x09\x61\x73\x79\x6E\x63\x20\x48\x6F\x73\x74\x73\x46\x69\x6C\x65\x43\x72\x65\x61\x74\x65\x28\x6E\x61\x6D\x65\x29\x20\x7B\x0A\x09\x09\x6C\x65\x74\x20\x70\x61\x72\x61\x6D\x73\x20\x3D\x20\x6E\x65\x77\x20\x55\x52\x4C\x53\x65\x61\x72\x63\x68\x50\x61\x72\x61\x6D\x73\x28\x29\x0A\x09\x09\x70\x61\x72\x61\x6D\x73\x2E\x73\x65\x74\x28\x22\x6E\x61\x6D\x65\x22\x2C\x20\x6E\x61\x6D\x65\x29\x0A\x0A\x09\x09\x63\x6F\x6E\x73\x74\x20\x68\x74\x74\x70\x52\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x66\x65\x74\x63\x68\x28\x74\x68\x69\x73\x2E\x73\x65\x72\x76\x65\x72\x20\x2B\x20\x52\x65\x73\x63\x61\x63\x68\x65\x64\x2E\x61\x70\x69\x48\x6F\x73\x74\x73\x64\x2C\x20\x7B\x0A\x09\x09\x09\x6D\x65\x74\x68\x6F\x64\x3A\x20\x22\x50\x55\x54\x22\x2C\x0A\x09\x09\x09\x68\x65\x61\x64\x65\x72\x73\x3A\x20\x7B\x0A\x09\x09\x09\x09\x22\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65\x22\x3A\x20\x22\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2F\x78\x2D\x77\x77\x77\x2D\x66\x6F\x72\x6D\x2D\x75\x72\x6C\x65\x6E\x63\x6F\x64\x65\x64\x22\x2C\x0A\x09\x09\x09\x7D\x2C\x0A\x09\x09\x09\x62\x6F\x64\x79\x3A\x20\x70\x61\x72\x61\x6D\x73\x2E\x74\x6F\x53\x74\x72\x69\x6E\x67\x28\x29\x2C\x0A\x09\x09\x7D\x29\x0A\x09\x09\x6C\x65\x74\x20\x72\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x68\x74\x74\x70\x52\x65\x73\x2E\x6A\x73\x6F\x6E\x28\x29\x0A\x09\x09\x69\x66\x20\x28\x72\x65\x73\x2E\x63\x6F\x64\x65\x20\x3D\x3D\x3D\x20\x32\x30\x30\x29\x20\x7B\x0A\x09\x09\x09\x74\x68\x69\x73\x2E\x65\x6E\x76\x2E\x48\x6F\x73\x74\x73\x46\x69\x6C\x65\x73\x5B\x6E\x61\x6D\x65\x5D\x20\x3D\x20\x7B\x0A\x09\x09\x09\x09\x4E\x61\x6D\x65\x3A\x20\x6E\x61\x6D\x65\x2C\x0A\x09\x09\x09\x09\x52\x65\x63\x6F\x72\x64\x73\x3A\x20\x5B\x5D\x2C\x0A\x09\x09\x09\x7D\x0A\x09\x09\x7D\x0A\x09\x09\x72\x65\x74\x75\x72\x6E\x20\x72\x65\x73\x0A\x09\x7D\x0A\x0A\x09\x61\x73\x79\x6E\x63\x20\x67\x65\x74\x45\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74\x28\x29\x20\x7B\x0A\x09\x09\x63\x6F\x6E\x73\x74\x20\x68\x74\x74\x70\x52\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x66\x65\x74\x63\x68\x28\x74\x68\x69\x73\x2E\x73\x65\x72\x76\x65\x72\x20\x2B\x20\x22\x2F\x61\x70\x69\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74\x22\x29\x0A\x09\x09\x63\x6F\x6E\x73\x74\x20\x72\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x68\x74\x74\x70\x52\x65\x73\x2E\x6A\x73\x6F\x6E\x28\x29\x0A\x0A\x09\x09\x69\x66\x20\x28\x68\x74\x74\x70\x52\x65\x73\x2E\x73\x74\x61\x74\x75\x73\x20\x3D\x3D\x3D\x20\x32\x30\x30\x29\x20\x7B\x0A\x09\x09\x09\x72\x65\x73\x2E\x64\x61\x74\x61\x2E\x50\x72\x75\x6E\x65\x44\x65\x6C\x61\x79\x20\x3D\x20\x72\x65\x73\x2E\x64\x61\x74\x61\x2E\x50\x72\x75\x6E\x65\x44\x65\x6C\x61\x79\x20\x2F\x20\x52\x65\x73\x63\x61\x63\x68\x65\x64\x2E\x6E\x61\x6E\x6F\x53\x65\x63\x6F\x6E\x64\x73\x0A\x09\x09\x09\x72\x65\x73\x2E\x64\x61\x74\x61\x2E\x50\x72\x75\x6E\x65\x54\x68\x72\x65\x73\x68\x6F\x6C\x64\x20\x3D\x0A\x09\x09\x09\x09\x72\x65\x73\x2E\x64\x61\x74\x61\x2E\x50\x72\x75\x6E\x65\x54\x68\x72\x65\x73\x68\x6F\x6C\x64\x20\x2F\x20\x52\x65\x73\x63\x61\x63\x68\x65\x64\x2E\x6E\x61\x6E\x6F\x53\x65\x63\x6F\x6E\x64\x73\x0A\x0A\x09\x09\x09\x66\x6F\x72\x20\x28\x6C\x65\x74\x20\x6B\x20\x69\x6E\x20\x72\x65\x73\x2E\x64\x61\x74\x61\x2E\x48\x6F\x73\x74\x73\x46\x69\x6C\x65\x73\x29\x20\x7B\x0A\x09\x09\x09\x09\x69\x66\x20\x28\x21\x72\x65\x73\x2E\x64\x61\x74\x61\x2E\x48\x6F\x73\x74\x73\x46\x69\x6C\x65\x73\x2E\x68\x61\x73\x4F\x77\x6E\x50\x72\x6F\x70\x65\x72\x74\x79\x28\x6B\x29\x29\x20\x7B\x0A\x09\x09\x09\x09\x09\x63\x6F\x6E\x74\x69\x6E\x75\x65\x0A\x09\x09\x09\x09\x7D\x0A\x09\x09\x09\x09\x6C\x65\x74\x20\x68\x66\x20\x3D\x20\x72\x65\x73\x2E\x64\x61\x74\x61\x2E\x48\x6F\x73\x74\x73\x46\x69\x6C\x65\x73\x5B\x6B\x5D\x0A\x09\x09\x09\x09\x69\x66\x20\x28\x74\x79\x70\x65\x6F\x66\x20\x68\x66\x2E\x52\x65\x63\x6F\x72\x64\x73\x20\x3D\x3D\x3D\x20\x22\x75\x6E\x64\x65\x66\x69\x6E\x65\x64\x22\x29\x20\x7B\x0A\x09\x09\x09\x09\x09\x68\x66\x2E\x52\x65\x63\x6F\x72\x64\x73\x20\x3D\x20\x5B\x5D\x0A\x09\x09\x09\x09\x7D\x0A\x09\x09\x09\x7D\x0A\x09\x09\x09\x74\x68\x69\x73\x2E\x65\x6E\x76\x20\x3D\x20\x72\x65\x73\x2E\x64\x61\x74\x61\x0A\x09\x09\x7D\x0A\x09\x09\x72\x65\x74\x75\x72\x6E\x20\x72\x65\x73\x0A\x09\x7D\x0A\x0A\x09\x47\x65\x74\x52\x52\x54\x79\x70\x65\x4E\x61\x6D\x65\x28\x6B\x29\x20\x7B\x0A\x09\x09\x6C\x65\x74\x20\x76\x20\x3D\x20\x52\x52\x54\x79\x70\x65\x73\x5B\x6B\x5D\x0A\x09\x09\x69\x66\x20\x28\x76\x20\x3D\x3D\x3D\x20\x22\x22\x29\x20\x7B\x0A\x09\x09\x09\x72\x65\x74\x75\x72\x6E\x20\x6B\x0A\x09\x09\x7D\x0A\x09\x09\x72\x65\x74\x75\x72\x6E\x20\x76\x0A\x09\x7D\x0A\x0A\x09\x61\x73\x79\x6E\x63\x20\x48\x6F\x73\x74\x73\x46\x69\x6C\x65\x44\x65\x6C\x65\x74\x65\x28\x6E\x61\x6D\x65\x29\x20\x7B\x0A\x09\x09\x63\x6F\x6E\x73\x74\x20\x68\x74\x74\x70\x52\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x66\x65\x74\x63\x68\x28\x0A\x09\x09\x09\x74\x68\x69\x73\x2E\x73\x65\x72\x76\x65\x72\x20\x2B\x20\x52\x65\x73\x63\x61\x63\x68\x65\x64\x2E\x61\x70\x69\x48\x6F\x73\x74\x73\x64\x20\x2B\x20\x6E\x61\x6D\x65\x2C\x0A\x09\x09\x09\x7B\x0A\x09\x09\x09\x09\x6D\x65\x74\x68\x6F\x64\x3A\x20\x22\x44\x45\x4C\x45\x54\x45\x22\x2C\x0A\x09\x09\x09\x7D\x2C\x0A\x09\x09\x29\x0A\x09\x09\x63\x6F\x6E\x73\x74\x20\x72\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x68\x74\x74\x70\x52\x65\x73\x2E\x6A\x73\x6F\x6E\x28\x29\x0A\x09\x09\x69\x66\x20\x28\x68\x74\x74\x70\x52\x65\x73\x2E\x73\x74\x61\x74\x75\x73\x20\x3D\x3D\x3D\x20\x32\x30\x30\x29\x20\x7B\x0A\x09\x09\x09\x64\x65\x6C\x65\x74\x65\x20\x74\x68\x69\x73\x2E\x65\x6E\x76\x2E\x48\x6F\x73\x74\x73\x46\x69\x6C\x65\x73\x5B\x6E\x61\x6D\x65\x5D\x0A\x09\x09\x7D\x0A\x09\x09\x72\x65\x74\x75\x72\x6E\x20\x72\x65\x73\x0A\x09\x7D\x0A\x0A\x09\x61\x73\x79\x6E\x63\x20\x48\x6F\x73\x74\x73\x46\x69\x6C\x65\x47\x65\x74\x28\x6E\x61\x6D\x65\x29\x20\x7B\x0A\x09\x09\x63\x6F\x6E\x73\x74\x20\x68\x74\x74\x70\x52\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x66\x65\x74\x63\x68\x28\x74\x68\x69\x73\x2E\x73\x65\x72\x76\x65\x72\x20\x2B\x20\x52\x65\x73\x63\x61\x63\x68\x65\x64\x2E\x61\x70\x69\x48\x6F\x73\x74\x73\x64\x20\x2B\x20\x6E\x61\x6D\x65\x29\x0A\x09\x09\x6C\x65\x74\x20\x72\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x68\x74\x74\x70\x52\x65\x73\x2E\x6A\x73\x6F\x6E\x28\x29\x0A\x09\x09\x69\x66\x20\x28\x68\x74\x74\x70\x52\x65\x73\x2E\x53\x74\x61\x74\x75\x73\x20\x3D\x3D\x3D\x20\x32\x30\x30\x29\x20\x7B\x0A\x09\x09\x09\x74\x68\x69\x73\x2E\x65\x6E\x76\x2E\x48\x6F\x73\x74\x73\x46\x69\x6C\x65\x73\x5B\x6E\x61\x6D\x65\x5D\x20\x3D\x20\x7B\x0A\x09\x09\x09\x09\x4E\x61\x6D\x65\x3A\x20\x6E\x61\x6D\x65\x2C\x0A\x09\x09\x09\x09\x52\x65\x63\x6F\x72\x64\x73\x3A\x20\x72\x65\x73\x2E\x64\x61\x74\x61\x2C\x0A\x09\x09\x09\x7D\x0A\x09\x09\x7D\x0A\x09\x09\x72\x65\x74\x75\x72\x6E\x20\x72\x65\x73\x0A\x09\x7D\x0A\x0A\x09\x61\x73\x79\x6E\x63\x20\x48\x6F\x73\x74\x73\x46\x69\x6C\x65\x52\x65\x63\x6F\x72\x64\x41\x64\x64\x28\x68\x6F\x73\x74\x73\x46\x69\x6C\x65\x2C\x20\x64\x6F\x6D\x61\x69\x6E\x2C\x20\x76\x61\x6C\x75\x65\x29\x20\x7B\x0A\x09\x09\x6C\x65\x74\x20\x70\x61\x72\x61\x6D\x73\x20\x3D\x20\x6E\x65\x77\x20\x55\x52\x4C\x53\x65\x61\x72\x63\x68\x50\x61\x72\x61\x6D\x73\x28\x29\x0A\x09\x09\x70\x61\x72\x61\x6D\x73\x2E\x73\x65\x74\x28\x22\x64\x6F\x6D\x61\x69\x6E\x22\x2C\x20\x64\x6F\x6D\x61\x69\x6E\x29\x0A\x09\x09\x70\x61\x72\x61\x6D\x73\x2E\x73\x65\x74\x28\x22\x76\x61\x6C\x75\x65\x22\x2C\x20\x76\x61\x6C\x75\x65\x29\x0A\x0A\x09\x09\x63\x6F\x6E\x73\x74\x20\x61\x70\x69\x20\x3D\x0A\x09\x09\x09\x74\x68\x69\x73\x2E\x73\x65\x72\x76\x65\x72\x20\x2B\x0A\x09\x09\x09\x52\x65\x73\x63\x61\x63\x68\x65\x64\x2E\x61\x70\x69\x48\x6F\x73\x74\x73\x64\x20\x2B\x0A\x09\x09\x09\x68\x6F\x73\x74\x73\x46\x69\x6C\x65\x20\x2B\x0A\x09\x09\x09\x22\x2F\x72\x72\x22\x20\x2B\x0A\x09\x09\x09\x22\x3F\x22\x20\x2B\x0A\x09\x09\x09\x70\x61\x72\x61\x6D\x73\x2E\x74\x6F\x53\x74\x72\x69\x6E\x67\x28\x29\x0A\x0A\x09\x09\x63\x6F\x6E\x73\x74\x20\x68\x74\x74\x70\x52\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x66\x65\x74\x63\x68\x28\x61\x70\x69\x2C\x20\x7B\x0A\x09\x09\x09\x6D\x65\x74\x68\x6F\x64\x3A\x20\x22\x50\x4F\x53\x54\x22\x2C\x0A\x09\x09\x7D\x29\x0A\x09\x09\x63\x6F\x6E\x73\x74\x20\x72\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x68\x74\x74\x70\x52\x65\x73\x2E\x6A\x73\x6F\x6E\x28\x29\x0A\x09\x09\x69\x66\x20\x28\x68\x74\x74\x70\x52\x65\x73\x2E\x53\x74\x61\x74\x75\x73\x20\x3D\x3D\x3D\x20\x32\x30\x30\x29\x20\x7B\x0A\x09\x09\x09\x6C\x65\x74\x20\x68\x66\x20\x3D\x20\x74\x68\x69\x73\x2E\x65\x6E\x76\x2E\x48\x6F\x73\x74\x73\x46\x69\x6C\x65\x73\x5B\x68\x6F\x73\x74\x73\x46\x69\x6C\x65\x5D\x0A\x09\x09\x09\x68\x66\x2E\x52\x65\x63\x6F\x72\x64\x73\x2E\x70\x75\x73\x68\x28\x72\x65\x73\x2E\x64\x61\x74\x61\x29\x0A\x09\x09\x7D\x0A\x09\x09\x72\x65\x74\x75\x72\x6E\x20\x72\x65\x73\x0A\x09\x7D\x0A\x0A\x09\x61\x73\x79\x6E\x63\x20\x48\x6F\x73\x74\x73\x46\x69\x6C\x65\x52\x65\x63\x6F\x72\x64\x44\x65\x6C\x65\x74\x65\x28\x68\x6F\x73\x74\x73\x46\x69\x6C\x65\x2C\x20\x64\x6F\x6D\x61\x69\x6E\x29\x20\x7B\x0A\x09\x09\x6C\x65\x74\x20\x70\x61\x72\x61\x6D\x73\x20\x3D\x20\x6E\x65\x77\x20\x55\x52\x4C\x53\x65\x61\x72\x63\x68\x50\x61\x72\x61\x6D\x73\x28\x29\x0A\x09\x09\x70\x61\x72\x61\x6D\x73\x2E\x73\x65\x74\x28\x22\x64\x6F\x6D\x61\x69\x6E\x22\x2C\x20\x64\x6F\x6D\x61\x69\x6E\x29\x0A\x0A\x09\x09\x63\x6F\x6E\x73\x74\x20\x61\x70\x69\x20\x3D\x0A\x09\x09\x09\x74\x68\x69\x73\x2E\x73\x65\x72\x76\x65\x72\x20\x2B\x0A\x09\x09\x09\x52\x65\x73\x63\x61\x63\x68\x65\x64\x2E\x61\x70\x69\x48\x6F\x73\x74\x73\x64\x20\x2B\x0A\x09\x09\x09\x68\x6F\x73\x74\x73\x46\x69\x6C\x65\x20\x2B\x0A\x09\x09\x09\x22\x2F\x72\x72\x22\x20\x2B\x0A\x09\x09\x09\x22\x3F\x22\x20\x2B\x0A\x09\x09\x09\x70\x61\x72\x61\x6D\x73\x2E\x74\x6F\x53\x74\x72\x69\x6E\x67\x28\x29\x0A\x0A\x09\x09\x63\x6F\x6E\x73\x74\x20\x68\x74\x74\x70\x52\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x66\x65\x74\x63\x68\x28\x61\x70\x69\x2C\x20\x7B\x0A\x09\x09\x09\x6D\x65\x74\x68\x6F\x64\x3A\x20\x22\x44\x45\x4C\x45\x54\x45\x22\x2C\x0A\x09\x09\x7D\x29\x0A\x09\x09\x63\x6F\x6E\x73\x74\x20\x72\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x68\x74\x74\x70\x52\x65\x73\x2E\x6A\x73\x6F\x6E\x28\x29\x0A\x09\x09\x69\x66\x20\x28\x68\x74\x74\x70\x52\x65\x73\x2E\x53\x74\x61\x74\x75\x73\x20\x3D\x3D\x3D\x20\x32\x30\x30\x29\x20\x7B\x0A\x09\x09\x09\x6C\x65\x74\x20\x68\x66\x20\x3D\x20\x74\x68\x69\x73\x2E\x65\x6E\x76\x2E\x48\x6F\x73\x74\x73\x46\x69\x6C\x65\x73\x5B\x68\x6F\x73\x74\x73\x46\x69\x6C\x65\x5D\x0A\x09\x09\x09\x66\x6F\x72\x20\x28\x6C\x65\x74\x20\x78\x20\x3D\x20\x30\x3B\x20\x78\x20\x3C\x20\x68\x66\x2E\x52\x65\x63\x6F\x72\x64\x73\x2E\x6C\x65\x6E\x67\x74\x68\x3B\x20\x78\x2B\x2B\x29\x20\x7B\x0A\x09\x09\x09\x09\x69\x66\x20\x28\x68\x66\x2E\x52\x65\x63\x6F\x72\x64\x73\x5B\x78\x5D\x2E\x4E\x61\x6D\x65\x20\x3D\x3D\x3D\x20\x64\x6F\x6D\x61\x69\x6E\x29\x20\x7B\x0A\x09\x09\x09\x09\x09\x68\x66\x2E\x52\x65\x63\x6F\x72\x64\x73\x2E\x73\x70\x6C\x69\x63\x65\x28\x78\x2C\x20\x31\x29\x0A\x09\x09\x09\x09\x7D\x0A\x09\x09\x09\x7D\x0A\x09\x09\x7D\x0A\x09\x09\x72\x65\x74\x75\x72\x6E\x20\x72\x65\x73\x0A\x09\x7D\x0A\x0A\x09\x61\x73\x79\x6E\x63\x20\x75\x70\x64\x61\x74\x65\x45\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74\x28\x29\x20\x7B\x0A\x09\x09\x6C\x65\x74\x20\x67\x6F\x74\x20\x3D\x20\x7B\x7D\x0A\x0A\x09\x09\x4F\x62\x6A\x65\x63\x74\x2E\x61\x73\x73\x69\x67\x6E\x28\x67\x6F\x74\x2C\x20\x74\x68\x69\x73\x2E\x65\x6E\x76\x29\x0A\x0A\x09\x09\x67\x6F\x74\x2E\x50\x72\x75\x6E\x65\x44\x65\x6C\x61\x79\x20\x3D\x20\x67\x6F\x74\x2E\x50\x72\x75\x6E\x65\x44\x65\x6C\x61\x79\x20\x2A\x20\x74\x68\x69\x73\x2E\x6E\x61\x6E\x6F\x53\x65\x63\x6F\x6E\x64\x73\x0A\x09\x09\x67\x6F\x74\x2E\x50\x72\x75\x6E\x65\x54\x68\x72\x65\x73\x68\x6F\x6C\x64\x20\x3D\x20\x67\x6F\x74\x2E\x50\x72\x75\x6E\x65\x54\x68\x72\x65\x73\x68\x6F\x6C\x64\x20\x2A\x20\x74\x68\x69\x73\x2E\x6E\x61\x6E\x6F\x53\x65\x63\x6F\x6E\x64\x73\x0A\x0A\x09\x09\x63\x6F\x6E\x73\x74\x20\x68\x74\x74\x70\x52\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x66\x65\x74\x63\x68\x28\x74\x68\x69\x73\x2E\x73\x65\x72\x76\x65\x72\x20\x2B\x20\x22\x2F\x61\x70\x69\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74\x22\x2C\x20\x7B\x0A\x09\x09\x09\x6D\x65\x74\x68\x6F\x64\x3A\x20\x22\x50\x4F\x53\x54\x22\x2C\x0A\x09\x09\x09\x68\x65\x61\x64\x65\x72\x73\x3A\x20\x7B\x0A\x09\x09\x09\x09\x22\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65\x22\x3A\x20\x22\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2F\x6A\x73\x6F\x6E\x22\x2C\x0A\x09\x09\x09\x7D\x2C\x0A\x09\x09\x09\x62\x6F\x64\x79\x3A\x20\x4A\x53\x4F\x4E\x2E\x73\x74\x72\x69\x6E\x67\x69\x66\x79\x28\x67\x6F\x74\x29\x2C\x0A\x09\x09\x7D\x29\x0A\x0A\x09\x09\x72\x65\x74\x75\x72\x6E\x20\x61\x77\x61\x69\x74\x20\x68\x74\x74\x70\x52\x65\x73\x2E\x6A\x73\x6F\x6E\x28\x29\x0A\x09\x7D\x0A\x0A\x09\x61\x73\x79\x6E\x63\x20\x75\x70\x64\x61\x74\x65\x48\x6F\x73\x74\x73\x42\x6C\x6F\x63\x6B\x73\x28\x68\x6F\x73\x74\x73\x42\x6C\x6F\x63\x6B\x73\x29\x20\x7B\x0A\x09\x09\x63\x6F\x6E\x73\x74\x20\x68\x74\x74\x70\x52\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x66\x65\x74\x63\x68\x28\x52\x65\x73\x63\x61\x63\x68\x65\x64\x2E\x61\x70\x69\x42\x6C\x6F\x63\x6B\x64\x2C\x20\x7B\x0A\x09\x09\x09\x6D\x65\x74\x68\x6F\x64\x3A\x20\x22\x50\x4F\x53\x54\x22\x2C\x0A\x09\x09\x09\x68\x65\x61\x64\x65\x72\x73\x3A\x20\x7B\x0A\x09\x09\x09\x09\x22\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65\x22\x3A\x20\x22\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2F\x6A\x73\x6F\x6E\x22\x2C\x0A\x09\x09\x09\x7D\x2C\x0A\x09\x09\x09\x62\x6F\x64\x79\x3A\x20\x4A\x53\x4F\x4E\x2E\x73\x74\x72\x69\x6E\x67\x69\x66\x79\x28\x68\x6F\x73\x74\x73\x42\x6C\x6F\x63\x6B\x73\x29\x2C\x0A\x09\x09\x7D\x29\x0A\x09\x09\x72\x65\x74\x75\x72\x6E\x20\x61\x77\x61\x69\x74\x20\x68\x74\x74\x70\x52\x65\x73\x2E\x6A\x73\x6F\x6E\x28\x29\x0A\x09\x7D\x0A\x0A\x09\x61\x73\x79\x6E\x63\x20\x5A\x6F\x6E\x65\x46\x69\x6C\x65\x43\x72\x65\x61\x74\x65\x28\x6E\x61\x6D\x65\x29\x20\x7B\x0A\x09\x09\x63\x6F\x6E\x73\x74\x20\x68\x74\x74\x70\x52\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x66\x65\x74\x63\x68\x28\x74\x68\x69\x73\x2E\x73\x65\x72\x76\x65\x72\x20\x2B\x20\x52\x65\x73\x63\x61\x63\x68\x65\x64\x2E\x61\x70\x69\x5A\x6F\x6E\x65\x64\x20\x2B\x20\x6E\x61\x6D\x65\x2C\x20\x7B\x0A\x09\x09\x09\x6D\x65\x74\x68\x6F\x64\x3A\x20\x22\x50\x55\x54\x22\x2C\x0A\x09\x09\x7D\x29\x0A\x09\x09\x6C\x65\x74\x20\x72\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x68\x74\x74\x70\x52\x65\x73\x2E\x6A\x73\x6F\x6E\x28\x29\x0A\x09\x09\x69\x66\x20\x28\x72\x65\x73\x2E\x63\x6F\x64\x65\x20\x3D\x3D\x20\x32\x30\x30\x29\x20\x7B\x0A\x09\x09\x09\x74\x68\x69\x73\x2E\x65\x6E\x76\x2E\x5A\x6F\x6E\x65\x46\x69\x6C\x65\x73\x5B\x6E\x61\x6D\x65\x5D\x20\x3D\x20\x72\x65\x73\x2E\x64\x61\x74\x61\x0A\x09\x09\x7D\x0A\x09\x09\x72\x65\x74\x75\x72\x6E\x20\x72\x65\x73\x0A\x09\x7D\x0A\x0A\x09\x61\x73\x79\x6E\x63\x20\x5A\x6F\x6E\x65\x46\x69\x6C\x65\x44\x65\x6C\x65\x74\x65\x28\x6E\x61\x6D\x65\x29\x20\x7B\x0A\x09\x09\x63\x6F\x6E\x73\x74\x20\x68\x74\x74\x70\x52\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x66\x65\x74\x63\x68\x28\x74\x68\x69\x73\x2E\x73\x65\x72\x76\x65\x72\x20\x2B\x20\x52\x65\x73\x63\x61\x63\x68\x65\x64\x2E\x61\x70\x69\x5A\x6F\x6E\x65\x64\x20\x2B\x20\x6E\x61\x6D\x65\x2C\x20\x7B\x0A\x09\x09\x09\x6D\x65\x74\x68\x6F\x64\x3A\x20\x22\x44\x45\x4C\x45\x54\x45\x22\x2C\x0A\x09\x09\x7D\x29\x0A\x09\x09\x6C\x65\x74\x20\x72\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x68\x74\x74\x70\x52\x65\x73\x2E\x6A\x73\x6F\x6E\x28\x29\x0A\x09\x09\x69\x66\x20\x28\x72\x65\x73\x2E\x63\x6F\x64\x65\x20\x3D\x3D\x20\x32\x30\x30\x29\x20\x7B\x0A\x09\x09\x09\x64\x65\x6C\x65\x74\x65\x20\x74\x68\x69\x73\x2E\x65\x6E\x76\x2E\x5A\x6F\x6E\x65\x46\x69\x6C\x65\x73\x5B\x6E\x61\x6D\x65\x5D\x0A\x09\x09\x7D\x0A\x09\x09\x72\x65\x74\x75\x72\x6E\x20\x72\x65\x73\x0A\x09\x7D\x0A\x0A\x09\x61\x73\x79\x6E\x63\x20\x5A\x6F\x6E\x65\x46\x69\x6C\x65\x52\x65\x63\x6F\x72\x64\x43\x72\x65\x61\x74\x65\x28\x6E\x61\x6D\x65\x2C\x20\x72\x72\x29\x20\x7B\x0A\x09\x09\x6C\x65\x74\x20\x61\x70\x69\x20\x3D\x20\x74\x68\x69\x73\x2E\x73\x65\x72\x76\x65\x72\x20\x2B\x20\x52\x65\x73\x63\x61\x63\x68\x65\x64\x2E\x61\x70\x69\x5A\x6F\x6E\x65\x64\x20\x2B\x20\x6E\x61\x6D\x65\x20\x2B\x20\x22\x2F\x72\x72\x2F\x22\x20\x2B\x20\x72\x72\x2E\x54\x79\x70\x65\x0A\x09\x09\x63\x6F\x6E\x73\x74\x20\x68\x74\x74\x70\x52\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x66\x65\x74\x63\x68\x28\x61\x70\x69\x2C\x20\x7B\x0A\x09\x09\x09\x6D\x65\x74\x68\x6F\x64\x3A\x20\x22\x50\x4F\x53\x54\x22\x2C\x0A\x09\x09\x09\x68\x65\x61\x64\x65\x72\x73\x3A\x20\x7B\x0A\x09\x09\x09\x09\x22\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65\x22\x3A\x20\x22\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2F\x6A\x73\x6F\x6E\x22\x2C\x0A\x09\x09\x09\x7D\x2C\x0A\x09\x09\x09\x62\x6F\x64\x79\x3A\x20\x4A\x53\x4F\x4E\x2E\x73\x74\x72\x69\x6E\x67\x69\x66\x79\x28\x72\x72\x29\x2C\x0A\x09\x09\x7D\x29\x0A\x09\x09\x6C\x65\x74\x20\x72\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x68\x74\x74\x70\x52\x65\x73\x2E\x6A\x73\x6F\x6E\x28\x29\x0A\x09\x09\x69\x66\x20\x28\x68\x74\x74\x70\x52\x65\x73\x2E\x73\x74\x61\x74\x75\x73\x20\x3D\x3D\x3D\x20\x32\x30\x30\x29\x20\x7B\x0A\x09\x09\x09\x6C\x65\x74\x20\x7A\x66\x20\x3D\x20\x74\x68\x69\x73\x2E\x65\x6E\x76\x2E\x5A\x6F\x6E\x65\x46\x69\x6C\x65\x73\x5B\x6E\x61\x6D\x65\x5D\x0A\x09\x09\x09\x69\x66\x20\x28\x72\x72\x2E\x54\x79\x70\x65\x20\x3D\x3D\x20\x36\x29\x20\x7B\x0A\x09\x09\x09\x09\x2F\x2F\x20\x53\x4F\x41\x2E\x0A\x09\x09\x09\x09\x7A\x66\x2E\x53\x4F\x41\x20\x3D\x20\x72\x65\x73\x2E\x64\x61\x74\x61\x0A\x09\x09\x09\x7D\x20\x65\x6C\x73\x65\x20\x7B\x0A\x09\x09\x09\x09\x7A\x66\x2E\x52\x65\x63\x6F\x72\x64\x73\x20\x3D\x20\x72\x65\x73\x2E\x64\x61\x74\x61\x0A\x09\x09\x09\x7D\x0A\x09\x09\x7D\x0A\x09\x09\x72\x65\x74\x75\x72\x6E\x20\x72\x65\x73\x0A\x09\x7D\x0A\x0A\x09\x61\x73\x79\x6E\x63\x20\x5A\x6F\x6E\x65\x46\x69\x6C\x65\x52\x65\x63\x6F\x72\x64\x44\x65\x6C\x65\x74\x65\x28\x6E\x61\x6D\x65\x2C\x20\x72\x72\x29\x20\x7B\x0A\x09\x09\x6C\x65\x74\x20\x61\x70\x69\x20\x3D\x20\x74\x68\x69\x73\x2E\x73\x65\x72\x76\x65\x72\x20\x2B\x20\x52\x65\x73\x63\x61\x63\x68\x65\x64\x2E\x61\x70\x69\x5A\x6F\x6E\x65\x64\x20\x2B\x20\x6E\x61\x6D\x65\x20\x2B\x20\x22\x2F\x72\x72\x2F\x22\x20\x2B\x20\x72\x72\x2E\x54\x79\x70\x65\x0A\x09\x09\x63\x6F\x6E\x73\x74\x20\x68\x74\x74\x70\x52\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x66\x65\x74\x63\x68\x28\x61\x70\x69\x2C\x20\x7B\x0A\x09\x09\x09\x6D\x65\x74\x68\x6F\x64\x3A\x20\x22\x44\x45\x4C\x45\x54\x45\x22\x2C\x0A\x09\x09\x09\x68\x65\x61\x64\x65\x72\x73\x3A\x20\x7B\x0A\x09\x09\x09\x09\x22\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65\x22\x3A\x20\x22\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2F\x6A\x73\x6F\x6E\x22\x2C\x0A\x09\x09\x09\x7D\x2C\x0A\x09\x09\x09\x62\x6F\x64\x79\x3A\x20\x4A\x53\x4F\x4E\x2E\x73\x74\x72\x69\x6E\x67\x69\x66\x79\x28\x72\x72\x29\x2C\x0A\x09\x09\x7D\x29\x0A\x09\x09\x6C\x65\x74\x20\x72\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x68\x74\x74\x70\x52\x65\x73\x2E\x6A\x73\x6F\x6E\x28\x29\x0A\x09\x09\x69\x66\x20\x28\x68\x74\x74\x70\x52\x65\x73\x2E\x73\x74\x61\x74\x75\x73\x20\x3D\x3D\x3D\x20\x32\x30\x30\x29\x20\x7B\x0A\x09\x09\x09\x74\x68\x69\x73\x2E\x65\x6E\x76\x2E\x5A\x6F\x6E\x65\x46\x69\x6C\x65\x73\x5B\x6E\x61\x6D\x65\x5D\x2E\x52\x65\x63\x6F\x72\x64\x73\x20\x3D\x20\x72\x65\x73\x2E\x64\x61\x74\x61\x0A\x09\x09\x7D\x0A\x09\x09\x72\x65\x74\x75\x72\x6E\x20\x72\x65\x73\x0A\x09\x7D\x0A\x7D\x0A"), } node.SetMode(420) - node.SetModTimeUnix(1650393469, 951641279) + node.SetModTimeUnix(1650644806, 701649987) node.SetName("rescached.js") - node.SetSize(6240) + node.SetSize(6336) return node } |
