From 729c7706c0f98c049965840d1996259550b81479 Mon Sep 17 00:00:00 2001 From: Will McCutchen <will@mccutch.org> Date: Mon, 29 May 2017 22:04:35 -0700 Subject: [PATCH] Add /xml --- httpbin/assets.go | 23 +++++++++++++++++++++++ httpbin/assets/sample.xml | 24 ++++++++++++++++++++++++ httpbin/handlers.go | 5 +++++ httpbin/handlers_test.go | 9 +++++++++ httpbin/httpbin.go | 1 + 5 files changed, 62 insertions(+) create mode 100644 httpbin/assets/sample.xml diff --git a/httpbin/assets.go b/httpbin/assets.go index efb1a01..2fdbf57 100644 --- a/httpbin/assets.go +++ b/httpbin/assets.go @@ -7,6 +7,7 @@ // httpbin/assets/image.webp // httpbin/assets/index.html // httpbin/assets/moby.html +// httpbin/assets/sample.xml // httpbin/assets/utf8.html // DO NOT EDIT! @@ -215,6 +216,26 @@ func mobyHtml() (*asset, error) { return a, nil } +var _sampleXml = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\x84\x91\xbd\x6e\xb3\x30\x14\x86\x77\xae\xe2\x0d\x0b\x13\x1f\x5f\x77\x43\x14\x29\x0c\x91\x52\xa5\x2a\x51\x50\x47\x27\x9c\x06\xab\x06\x23\xff\x84\x72\xf7\x15\x76\xd4\x24\xed\xd0\xe9\xd8\x7e\x8e\x9f\xf3\x5a\x66\xcb\xcf\x4e\xe2\x42\xda\x08\xd5\xe7\xc9\xd3\xbf\xff\x09\xa8\x3f\xa9\x46\xf4\xe7\x3c\x71\x26\xe5\xe6\x24\x44\xb2\x2c\xa2\x88\x2d\xd2\x14\x58\xa1\x5a\x3d\xbf\x6c\x4b\x18\xb2\x50\xef\x30\x52\x34\x64\x80\x34\x9d\x5b\xc2\xae\x55\x63\x04\x00\x56\x58\x49\x79\x5c\xf1\x6e\x90\x84\x6a\x66\xa8\x5a\x35\xc6\x9e\x36\xdc\x52\x1e\xaf\xb9\xa5\xd9\x33\xb8\xa3\x14\x27\x6e\x85\xea\x03\xe6\xce\xb6\x4a\xe7\xf1\x9b\x72\xda\x60\xaf\x9d\x9c\x02\x28\x22\x5f\x7c\x9c\xfd\x66\xbf\x2d\x51\x6d\x37\xeb\xd2\x27\xf0\xc0\x87\x80\x9d\x06\xca\x63\x2e\x65\x1c\x8e\x01\xe6\xf3\x14\x35\xff\x20\xb8\x01\x56\xa1\x56\x7d\x43\xba\x16\xcd\x99\xac\x59\xb0\x2c\x34\x04\x4b\xe6\x35\xf7\xc3\x76\x87\xf2\xf5\xb0\x29\xeb\xbf\x27\x7d\xcf\xda\x5d\x48\x5f\x04\x8d\x0f\x6a\xcf\x85\xa5\xae\xa8\xdb\x09\x6c\xae\xf7\x39\x58\x46\x5d\x01\xae\x09\x67\x4d\xdc\xb2\xcc\xb7\x3e\xde\xcc\x7e\x9b\x94\x37\x1d\xdd\x74\x15\xfc\x70\xde\x24\xb7\x97\x5d\x57\xf3\x7f\x15\xd1\x57\x00\x00\x00\xff\xff\x00\xa6\xd7\xdf\x0a\x02\x00\x00") + +func sampleXmlBytes() ([]byte, error) { + return bindataRead( + _sampleXml, + "sample.xml", + ) +} + +func sampleXml() (*asset, error) { + bytes, err := sampleXmlBytes() + if err != nil { + return nil, err + } + + info := bindataFileInfo{name: "sample.xml", size: 522, mode: os.FileMode(420), modTime: time.Unix(1496120449, 0)} + a := &asset{bytes: bytes, info: info} + return a, nil +} + var _utf8Html = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\xc4\x7b\x5b\x73\x1b\xd7\x11\xe6\x3b\x7e\x45\xaf\x5f\x2c\x55\x20\xca\x52\xec\x38\x56\x49\xae\x92\xe5\xeb\xc6\x89\x1d\x4b\x76\x36\x9b\x72\xd5\x0e\xc1\x11\x81\x08\x04\x18\x00\xd4\x25\x95\xda\xc2\x8d\xc4\xe0\xca\xdb\x00\xbc\x80\xa4\x40\x52\x94\x28\x52\x72\x70\x21\xc8\x01\x09\x10\x55\x52\xfc\x20\x3b\x35\x18\xd4\x6e\xd5\xbe\xe2\x1c\xff\x80\xfc\x85\xad\xee\x33\x33\x00\x2d\xd9\x8e\x5d\xde\x8d\x6a\x0c\x9c\xe9\xd3\xa7\xfb\xeb\xaf\xfb\xf4\x00\xe0\xf1\x45\xf7\xb9\x37\x3f\xf5\x79\x5c\xfe\x11\x19\xde\x96\xc7\xfc\x17\xcf\xba\xcf\xbd\xe9\x70\x5c\x1c\x7f\xf3\x9a\x74\x43\xf6\xc1\xf5\x80\x7f\x0c\x2e\x4a\x0e\x77\x40\xbe\x7e\xe9\x25\x77\x28\x34\x7e\xe1\xec\xd9\x5b\xb7\x6e\x0d\xb9\xbc\x43\x2e\x69\x6c\x48\x72\x0d\x4d\xdc\x38\xfb\x3f\xc7\x46\x6f\x9c\x7f\xed\xec\x84\x2b\x78\x56\xbe\x2d\x8d\x8d\x7b\xe5\xe0\xd9\x4f\xaf\xbd\x7b\xe6\xd7\x67\x46\xe4\x31\xff\x50\xe8\x76\xe8\xa5\x37\x7f\xfa\xda\x8b\x67\xa5\x37\x2f\x9e\x1d\x27\x58\x01\xf9\x4d\x87\x83\xa6\x41\xf6\x21\xea\x11\x08\xd2\x22\x18\xf7\x4a\x1e\xdf\x99\x90\x7c\x3b\x04\xd7\x3d\x5e\xd9\xc1\xc3\xc7\xff\xdf\x2e\x87\xe3\xb7\x52\xe0\xc6\x44\x10\x7e\x33\xe1\xf6\xc1\x9f\xbe\x56\xc6\xa4\xaf\x6a\x37\xbe\x4a\x05\xe1\xc6\xc4\xd7\x33\xbe\xcf\xe1\xe2\x0f\x44\xff\x26\xf0\xb0\x0a\xe7\x5f\x79\xe5\xfc\x99\x57\x5e\x3f\x73\xfe\x35\x87\xc3\x71\xcd\x2d\xc3\xe5\xab\x57\x3e\xf8\x00\x5c\xfe\xb1\x71\x29\xe4\x19\xf6\xca\x30\x10\xb9\xc7\x37\x0a\x13\x41\x79\x04\x3c\x3e\x08\xb9\x3d\xc1\xe7\x08\xf0\x04\x61\x44\xbe\xee\xf1\x09\x15\x33\xc9\x4e\xf8\xe0\xea\x47\x70\xee\x95\x5f\xbd\xfa\xab\x33\xe7\x9c\x20\xf9\x46\xe0\x93\x77\xaf\xc0\xf9\xf3\xaf\xbf\x31\xe4\x70\x38\x3e\x0d\xa2\x59\x53\x57\xa4\xc1\x09\x77\xfc\x13\xe0\x92\x7c\x70\x2b\xe0\x09\xc9\x68\x4b\x1e\x93\x3c\xde\x20\x2d\x0e\xfa\x27\x02\x2e\x19\xa8\x7e\x42\x6e\x8f\x6f\x34\x08\xc1\x09\x97\x1b\xa4\x20\x72\x12\x72\xcb\x63\x52\xc8\xe3\x32\x75\x5d\x1e\xd9\xe7\x92\x83\x17\x1c\x0e\x00\xae\x7c\x01\xef\xf0\xf4\xe4\x88\x04\x97\xe0\xf7\x4e\x00\x1f\xf0\xa9\x39\xe0\xca\x9a\x13\xb8\x32\x0b\xd7\x4f\x79\x4e\xc3\x25\xe0\xca\x34\x8c\x9e\xf2\x9c\x76\x02\xfd\xe3\xb9\x07\x3c\xb7\xce\x73\x45\xae\x66\xb8\x1a\x3e\x79\xcd\xf0\xdc\x1a\xcf\xdd\xe3\xb9\x5d\x07\xfc\x88\x7f\x3c\xb7\xc3\x73\x1b\x3c\xb7\xc2\xd5\xa8\xf4\xa4\xfa\x8b\xe1\x27\x35\xe0\xb9\xbb\x3c\xb7\xc5\x73\x3b\x84\x34\x7c\x9b\x2b\x0a\x8f\xaf\x5e\x00\x9e\x51\x6e\xf3\x4c\x92\x80\xcd\xf1\x4c\x8a\x2b\x73\xb7\x79\x26\xed\x04\xbd\x02\x5c\x79\x00\x4f\x1e\xe9\x55\xb8\x04\x4f\x1e\x9d\x7a\xf2\x88\x44\xdb\xa0\x57\x05\xf8\x41\x37\xdf\x82\x7e\xc2\xdd\x4f\x01\x9e\x3b\x00\x17\x8f\x2a\x24\x1b\x00\x1e\xcf\x03\x4f\x4d\xe1\x3b\x8f\x86\x81\xa7\xa2\xc0\xe3\xf7\xcc\xf7\x65\xf3\x7d\xd5\x7c\x8f\x3a\x5f\xe8\x61\x5b\x78\xb0\xef\x85\xf5\x47\x3f\x0d\x27\x66\xf7\x84\x1d\x42\x99\xda\x82\x8b\x20\x01\x4f\x96\x60\x18\x78\x72\x1d\x5c\xc0\x93\xf7\x60\x04\x78\x72\x07\x78\xea\x1e\xf0\xc4\x1c\x9c\xe2\x77\xef\x5f\xe6\x77\x1f\x00\x4f\xa8\xc0\xef\xee\xbc\xc5\xef\xee\xf6\x8b\xc2\xb6\x9f\xab\x3e\x67\xff\x27\xe1\xcc\xd5\x24\x1e\xa9\x9c\x19\xe6\x91\xca\xa0\xad\xf3\xef\xf3\x68\x14\x7e\x01\x1f\xe1\x1b\x4f\x64\x84\xe0\x23\x27\x7c\x02\x97\xe0\xd5\xa1\xd7\xe1\x86\xfe\xd0\x09\x3c\x13\xc6\xad\x0c\x63\x63\xa6\xd9\x87\x3c\xb7\xc9\x73\xab\x9e\x4b\xe7\xc4\x7d\x89\xe7\xee\xf3\xdc\x63\x87\xe3\x43\x8f\x6f\x74\xc2\x13\xb4\x77\xc8\x88\xc7\x15\xf2\xf8\x7d\x52\xc0\x63\xee\x92\xa7\x65\x0f\xfc\xa3\xe2\x0b\x3d\x5b\xfa\x5a\xf1\x3d\xbd\xff\x55\xec\xd9\x92\xef\xd9\x92\x17\xae\x93\xe0\x59\x31\xf4\x8f\xca\x0d\x78\xb6\x14\xf4\x7f\x95\x0a\x7a\xbe\x56\xe4\x7f\x54\xbe\x8a\xf9\x1c\x00\x7f\xc4\x26\xf4\xd5\xf4\x78\xd0\xe3\x7d\xa6\xfa\x3e\x77\xc2\x1f\x65\x1f\xfc\xe9\xcf\xcf\x8a\x34\xf6\x8f\x4a\x38\xff\x67\xff\xd7\x33\xa3\xcf\x66\x3f\x77\x38\x2e\x7f\xfc\x21\xb9\x3b\x75\xea\x33\x9e\xad\x7d\x76\xfa\x12\xcf\xd6\x78\x76\xef\xb3\xd3\x67\x3f\xe3\x53\x33\xce\xcf\x08\x76\xe6\x80\x4f\xcd\xe0\xc4\xd4\x1c\xcf\xee\x71\x65\x8a\x2b\x09\x9e\x8a\x61\x07\xcc\xe6\x78\x36\xcf\x33\x8a\xc3\xf1\x3b\x8f\x4b\x0e\x40\xe8\xce\xb8\x7f\x34\x20\x8d\xbb\xef\x60\xbb\xa0\xc6\x04\x76\x63\x32\xf7\x7f\x5e\xe5\xf9\x99\xff\xe8\xb5\x40\x30\x66\x7f\x44\x81\xe4\x67\xed\x25\x3c\xbc\x01\x3c\xbc\x88\xfd\xd2\x2b\xf3\xf0\x12\xe5\x8f\x87\x57\x46\xfc\x13\xc3\x28\x58\x85\xbf\x4c\xf8\x43\x72\xf0\x85\x8b\x7f\xa2\xbf\x2b\x13\x01\xef\x1d\x90\xc6\xfd\xc1\x50\xc0\x3f\xee\x96\x83\x17\xd0\xe3\x1f\xd0\xfd\x4d\x19\x86\x65\xd9\x07\x6e\x39\x40\xce\x7f\x06\x6f\x1f\x4a\x21\x8f\xef\xcc\xb9\x01\x7f\x14\xa3\xe4\x72\xc9\xbe\x50\xf0\x02\xbc\xfc\x64\xef\x7f\xfc\x2c\x61\xf1\xf0\xf2\x88\x3c\x11\x0a\xba\xdc\x32\x0f\x2f\x02\x0f\xaf\x5d\xf6\x5d\x7f\xda\x74\x07\x26\x7c\xa3\xc1\xbf\xca\x1e\x97\x5b\xf6\xf1\xf0\xca\xcf\xc7\x23\x0f\x97\x9c\xc0\xc3\xeb\xf8\x52\xc6\x97\x0d\x27\xfc\x92\x87\xe7\x5f\xc5\xb1\x8a\xcf\x9f\xb9\xd7\xce\xfe\xe2\x35\x27\xf0\xf8\x06\x8a\xee\xff\x6c\x9e\xc5\x03\x3d\x28\x5d\x97\x43\x77\x20\x24\x07\x43\x17\xe0\x9c\xf7\x83\xbf\x39\xe1\x95\x8f\xde\x76\xc2\xaf\xdf\xfa\x77\xfc\xf0\xfc\xe3\xe7\x1e\x7d\x03\x57\xfe\x8b\xef\xf4\x1e\x72\xcb\x20\x4f\x04\xfc\x10\xbc\x33\x36\xec\xf7\x5e\x00\xae\x46\xe1\xdc\xab\x43\x6f\xbc\x06\x3c\xfa\x88\xee\x5e\xb4\xf4\x85\x18\xca\xdf\x8b\xe1\xef\xcf\x19\x5a\xfe\x4f\xef\xf6\x55\x87\xe3\x8a\x7f\x6c\xd8\xe3\xc3\x4f\x38\x2e\xb7\x14\x90\x5c\x21\x39\x20\x9a\xd1\xd5\x6b\x97\x3f\x79\x4f\x2f\xfe\x33\x75\xed\x1d\xb8\xfa\x1e\x7d\x30\x82\x4b\x70\xf3\x9f\x09\xb8\x04\x81\x7f\x2a\x4e\x90\x78\x6c\x96\x9e\x54\xc3\x3c\x36\xeb\x70\xbc\x17\x90\xe5\x1b\x70\xca\xe3\x83\x8f\xfd\xde\x3b\x21\xbf\xcf\xe3\x3a\x4d\x86\xf0\x43\x9b\x98\x94\x7c\xf8\xe1\x87\x84\xfa\x26\x6b\x55\x41\xaf\xe9\xad\x4e\xb2\x13\x61\xad\x03\x7d\xbf\x93\x04\xd6\x0c\x77\xc2\xac\xa5\x41\x27\xce\x5a\x7b\x7a\x0b\xf4\x43\xd6\x6a\x74\x14\xfd\xc0\x01\xd0\x89\xeb\x6d\xd6\xbe\x0f\x9d\x58\x27\xac\x57\x74\x4d\x6f\x98\xf7\xa6\x6e\x27\xde\x89\xe8\x6d\xbd\xa9\xd7\xd1\x60\xdd\x89\x4b\x62\xff\x96\x17\xd6\x8a\x5b\x3e\xc2\x7a\x9b\xb5\x0e\x41\x6f\xd2\xc2\x2a\x2e\xa9\x00\xd9\x8c\xa3\x81\x8a\x5e\xd7\x1b\x62\x1d\xe8\x35\xd6\x9e\x1a\xc2\x60\xd8\x71\x5b\x9f\xed\x84\xd9\x71\x9b\xa6\xca\x02\xb6\x7e\xa8\x1f\xea\x15\xfd\x08\x0d\x54\xf5\x1a\x0d\x9b\xac\x55\xd3\x5b\x66\x38\xac\xbd\x8f\xce\xdb\xc7\x7a\x5e\x3f\xd2\x8f\x58\xab\x8e\x38\x29\x12\x34\xc2\x9a\x15\x11\x4a\x05\xf9\x3a\xd4\x2b\xac\xb5\x4f\x11\x95\x51\x25\xdc\x89\xb0\xf6\x7e\x27\xae\x57\x30\x1e\xbd\xa5\xef\x75\x22\x08\xae\x93\x3c\xe1\x24\xa1\x57\x58\xbb\x80\x53\x4e\x60\xad\xfb\xdf\x12\x1c\xb7\xc9\x75\xbd\x33\xa9\x6b\xe8\x4b\x6f\xb0\x56\xe5\xbf\x60\x48\xef\xe2\x77\x1c\x09\x82\xe3\xb2\xec\x72\x83\xff\x3a\x7d\x11\x0a\x86\xdc\xb2\x4f\x0e\x8a\x4f\xd7\x32\xbc\x1a\x72\x03\xf6\xbd\x89\xc0\x1d\x78\xeb\x8a\x48\xeb\x5d\xd6\x9a\xe9\x24\x08\x69\x1c\x11\xcf\x88\x58\x30\x63\x94\x80\x4e\x0c\xe5\x62\xee\x00\x89\x6d\xeb\x0d\x4c\x50\x03\x93\xc4\x5a\xad\x4e\x4c\x3f\xc4\x30\xf4\x96\xc0\xcb\x9a\x71\x2b\xb6\x4e\x54\x10\xad\x6b\xfa\x81\xde\xa2\x30\x70\x35\xe6\x99\xb5\x26\xd1\xa4\xa0\xee\xb8\x0d\x7a\x9d\x35\xcb\x9d\x28\x58\xce\x45\xea\x6a\x7a\x53\xb8\x16\x15\xa0\xb7\xf5\x2a\xb2\x5e\xeb\x28\x9d\xa4\x4d\xf0\x80\x29\x5a\xa6\x91\x19\xaa\x8a\x4e\x14\x23\x3c\xc2\xd4\xd6\xf4\x76\x67\xb2\x13\x05\x94\xcf\x23\xb0\x66\x58\x3f\xc4\x9b\xa3\x4e\x52\x4f\xf4\x17\x88\x42\xc2\x42\xae\xb1\x56\xb9\x13\xf9\xd6\xf2\x4e\x58\x64\x78\xdf\x2a\x6e\x51\xe6\x0d\xbd\x29\xea\xb5\xde\x89\xe9\x95\x4e\x4c\xd7\xf4\x0a\xd2\x74\x1f\xcb\xf1\x48\x6f\x74\x04\x7a\x2c\xdc\x08\x95\x81\xcd\x20\xd6\xbf\xc8\x3e\x39\x70\x5a\xf5\xb8\x87\xe5\xfc\x2d\x1e\xd8\x71\x1b\xe3\xb1\xa9\x22\x00\xf8\x46\x8a\x18\x40\x1d\x63\xd2\x5b\xc8\x87\x13\x49\xde\x42\x28\xc8\x2f\x92\x14\xee\x24\xcd\xf8\xf6\x28\x0e\xbd\x81\xb5\xd9\xc0\xbd\x22\x94\xcc\xf4\xa3\xa1\x7d\xda\x5a\xe8\xbd\xd1\x89\x53\xa1\xb5\x69\x73\xeb\x15\xfd\x10\xab\x38\x0a\x98\x77\x4a\xc5\x60\xbc\x7b\x18\x4a\x5b\x6f\x0d\x11\xcf\x33\xe2\xbe\x45\x37\x05\x8c\xbe\x19\xc7\x7d\xa3\xb7\xed\x3a\xda\xd3\xdb\x94\x86\xf6\xfd\x4e\x0c\x6b\x08\xe3\x6b\xb3\x66\xc5\x2a\x84\x38\xaa\x61\xe5\xdc\xa7\x32\xa0\xec\xeb\x35\x33\x46\x2a\xb0\xe6\xc6\x40\x57\xc0\x3d\xdd\x6a\xd0\xd6\x88\x89\x92\xec\x27\x8c\x35\x1f\x60\xf8\x55\x24\x1a\xb7\x10\x6b\x1d\x91\x1a\x41\x77\x0a\xc7\xfd\xad\x60\x76\x33\x04\x8e\x29\xa5\xea\xc2\x1d\x81\xa4\xe1\x6c\xa5\x8f\xa0\x35\xab\x37\xb1\xb4\x31\xbe\x08\x65\x2a\x62\x6a\x88\x7d\x31\x04\xac\x39\x83\xe5\xd4\x14\x04\x39\xcd\x92\x6d\x80\x99\x7a\xb3\x8d\x89\x9d\x80\xba\xc7\xac\x3d\x25\xb6\x46\x3b\x01\x22\xa4\x23\xea\x63\x76\x53\x11\x45\x52\xc1\x88\xe3\xac\x3d\x45\x44\xa8\x9d\x84\x70\x48\xbb\x25\xd6\x99\xc2\x06\x26\x92\x65\xad\x7b\xae\x20\xbf\xaf\x7c\x9d\xfd\x65\x4d\x0c\xe7\x48\xc0\x0b\xeb\x87\x48\x83\x5e\x35\x4d\xb7\x59\x73\x5f\xdf\xd3\x2b\x7a\x02\xb1\x8b\xa6\x8a\x41\x34\x45\xb3\xc7\xc0\x2b\x9d\x88\x53\xd0\x4b\xd1\x50\x8b\xd5\x1b\x48\x79\xcd\xce\xa7\x5e\xa7\x88\xcd\x5c\x5b\xae\x9a\x9d\xa9\x7e\x09\xa2\x0b\xbd\xc5\xda\xf7\x31\x33\x82\x3a\x51\x20\x64\xb5\x66\xd5\x34\xa6\x80\x7a\x3e\x01\x30\xeb\xbf\x59\xa1\xe2\x6d\xb1\x96\x66\x12\x4e\x35\x8d\x40\xaa\x7a\xdd\x4a\xdf\xba\x95\x49\xdc\x64\xfb\xd8\xb3\xac\x87\x87\xdd\x5e\xd0\xe5\x81\x68\x76\xd6\x96\xea\x37\x8f\x4e\xac\x33\xa9\x37\x89\xae\x4e\x42\xec\x68\xf3\xa1\x86\x7d\x92\x1e\x75\x66\x3d\x88\x87\x82\xd5\x64\x06\xf7\x32\xe2\xd1\xab\xd4\x6e\xc9\xba\x59\xd5\x58\x7b\xc7\xac\x1d\x13\x1d\x82\x28\xe9\x97\xc3\x0b\xbb\x12\xa6\xba\xa5\x57\x9e\x4b\x70\xdd\x6a\xe6\x38\x31\x50\x1c\xac\x15\x33\x1f\xca\x68\xdf\xec\x57\x54\x8d\xad\x9a\x78\x0a\x20\x19\xd8\xee\xdb\xe8\x90\x88\xc2\xd6\x49\xb4\xe0\x83\x91\x9a\x96\xe9\x7a\xcf\x2c\xc3\x08\x6e\x28\xb1\x39\x91\x71\x4d\x14\x0d\xc5\xa4\xb7\x75\x8d\x4c\xdb\xe5\x46\xbc\x91\x1f\xd3\xf9\x3a\xd6\x06\x26\xd1\x4c\xe9\x40\x9c\x54\xf5\xa2\x7c\xeb\xe2\x89\x68\xef\x84\x56\x84\x0a\xa3\x81\x4d\x55\x54\x0b\x39\x6b\x10\xe6\x7e\xb3\xb2\x1a\xbb\xde\xa2\xcf\x04\xba\xaa\x1f\x60\xd1\x52\xcb\x1c\xec\xc8\xfa\x3c\x6b\xb7\xe8\x49\x76\x57\x3f\xea\x4c\xea\x2d\xfa\x24\x83\x8d\x10\x9f\x35\x0e\xc7\x7b\xb2\x3f\x30\xea\x91\x7c\x17\x06\x1e\xc3\xd6\xaf\x91\x2e\xbf\xef\xba\x1c\x90\x7d\x2e\x19\x3c\xbe\x9b\x9e\x90\x84\xdf\x8c\x49\x91\xc5\xe6\x58\x6c\x81\xc5\xbe\x60\xb1\x55\x16\xcb\xb3\xd8\x02\xb0\xd8\x0c\xdd\x2f\xd3\x20\xcf\x62\xaa\xd0\x9a\x61\xb1\x45\x7a\x2d\x91\x2e\x2a\x96\x58\x4c\xa5\xb9\x45\x16\x5b\x67\xb1\x0d\x92\xcc\xb0\xd8\x8e\x50\xb5\xfc\x9f\x11\x0a\xc0\x62\x45\x5a\x30\x43\x2e\xd1\xec\x3a\xdd\xa8\xb4\x6e\x81\xc6\xdb\x64\xbc\x64\x99\x5c\x25\x8c\x4b\x24\x5c\x61\xb1\x7b\x96\xb2\x4a\xb7\x3b\x16\xa4\x82\x30\x37\x4f\x37\xeb\xd6\xeb\x23\x4b\x75\x96\x24\xf3\x4e\xb0\xc0\x0b\x1c\xcb\xb4\x7c\x67\x30\xbc\xa2\x15\xe1\x82\xbd\x10\xce\xbd\x72\xe6\xdc\x79\x18\x98\xdb\x60\xb1\x75\xfa\xf8\x10\xdb\x1a\xb2\xe5\x8b\x16\xa2\x6d\x16\x5b\x74\x0a\x9b\x02\xab\x98\x5f\xb1\xb0\xe2\xfc\xd0\x0f\x07\x05\xa4\xa9\xb2\x58\x99\x54\xed\x40\x90\xc6\x41\xc2\xe6\x05\x82\x75\xb2\x76\xcf\x0a\x6a\x95\xc5\xd6\x09\xa1\xca\x62\x5b\x34\xbb\x66\x2d\xdb\x18\xb4\x24\x58\x56\x45\x3a\xe7\xad\x00\xe7\x2c\x15\xc4\x6a\x93\x36\x37\x90\x9a\x1d\x52\x9d\x01\x2b\xee\x0d\xcb\xfa\x0a\x0d\x36\xc4\xba\xf9\x6f\x15\x81\x20\xed\xf9\x15\x76\xc9\xac\x5a\xb7\x22\x8a\xc2\x89\x6a\x32\xed\xd1\xe4\x2a\x91\xf2\x62\x45\xe7\xf3\x75\x27\xf2\x5b\xa4\x75\x0f\x2c\xa2\xcd\xfc\x12\xa6\xd5\x01\x82\x6c\x4b\x9b\x2c\xb6\x2c\x8a\xd4\xae\x6f\xd5\xaa\x9d\x59\x51\x67\xce\x3e\xaa\xef\xf1\xb1\x28\xf8\x5d\x1b\x60\xb2\x64\x69\xf7\x89\x76\x8a\x94\x0b\x82\xef\x0d\x24\x6a\xdb\xa6\x6e\x63\x20\xa1\x1b\x03\xd6\xd7\xed\xec\x15\x09\xf6\xb6\xbd\x77\xad\xe2\x5f\x3f\xc1\x60\xd1\x02\x90\xb7\x48\x14\x70\x57\x2d\xc9\x8a\x5d\xa0\x45\xc2\x2d\xd8\xb0\x73\xf6\x03\xcc\x50\x89\x3b\x1c\x9f\x4c\x04\x83\x3f\xba\x23\x19\x0b\x46\xb9\x1b\x36\xea\x46\xcd\xd0\xba\x91\x6e\xb4\x1b\x36\xb4\x6e\xb8\x1b\x33\x1a\xdd\xa8\x51\xef\x46\xba\x19\xe8\x46\x8c\xba\xd1\xe8\x26\x8c\x72\x37\x02\x46\xcb\x28\x83\xa1\xd2\xd4\x74\x37\xda\x8d\x75\x73\x60\xac\x18\x75\x63\xdf\xd8\xeb\xc6\x70\xb6\x1b\x36\x8e\x8d\x3d\xa3\x25\xa6\x96\x8d\x63\xa3\xd5\x8d\x1b\x75\x72\xd2\xea\x4e\x19\x1a\x8a\xdb\xc6\xb1\x03\xfa\xbf\xec\x1b\x87\xc6\x71\x37\x6a\x1c\x77\xc3\x46\xb9\x3b\x8d\x1e\x8f\x11\x8c\x71\x6c\x68\xdd\x28\x7a\x32\xbb\x82\xd1\x44\xfb\xdd\xa8\x51\x86\x73\x6f\xbc\xf1\x3a\x18\x35\xf2\x55\x06\xa3\x8a\x28\xca\x46\x83\x5c\xd4\xe9\x7e\x9e\x9c\x36\x8d\xb2\xd1\x32\x34\x43\x1b\xc2\x68\x5f\x04\x47\xf8\x33\x2a\x42\xd8\x8d\x42\x57\x41\x0e\x8c\x63\xe3\xd0\xd0\x8c\x06\x18\x87\x44\x48\x0d\xba\x59\xe3\xb0\x1b\x31\xda\xa8\x48\xe0\xaa\x14\x08\x80\x51\x35\x8e\x8d\x36\x2e\xe9\x46\x8c\xb2\xd1\x44\x5c\x47\x64\xb2\x6c\x1c\x75\x33\x46\xcb\x38\x46\xa4\x08\x60\xd1\x68\x11\xb1\x61\xa3\x85\xbe\x10\xba\x36\xc0\xc3\x11\x79\x2d\x1b\x47\x86\x66\x1c\x18\x65\xc4\x67\x68\x40\xd7\xc0\x42\x21\x3f\xc6\xd1\x49\x4d\xa7\x09\x05\xed\x74\x93\x18\xa1\xa0\x5b\x43\xd7\x08\x50\x33\x9a\x24\xb5\x66\xac\x02\x31\xaa\x80\xdc\x1b\x07\x68\xaf\x9b\x30\x5a\xdd\x74\x77\x12\xc8\x54\x9d\x92\x62\x39\x14\x13\xdd\x88\xa8\x16\xa3\x4e\x19\x99\x24\x84\x44\x80\x51\x23\x3b\x4d\xa3\x29\x54\xfb\x8e\x31\xb4\x7d\xd3\xf1\x74\x77\xd2\x09\x5d\x85\x8a\x2d\x8e\x2c\xe0\xbd\x51\x25\x62\xd1\xec\x21\xa6\x50\xc3\x74\x9b\xd4\x75\xa7\x8d\x83\x6e\xba\x0f\xec\xd0\x38\x36\x9a\x46\xbb\x9b\xe9\xe6\x2c\x56\x5e\x08\x6c\xc8\xe1\xb8\xe6\x96\x3c\x70\xea\xd3\x2b\x57\xe1\x43\xf9\xa6\xec\x85\xf3\xe2\xf7\x8e\x77\x6e\xbb\xe4\xc0\x78\x48\xfc\x99\x50\x82\x71\xbf\x1c\x0a\xdc\x01\xbf\x8f\x7e\x08\xf9\xc4\x3f\x26\xe1\x66\xf1\x5f\xa7\xdb\x6b\xee\x80\x2c\xc3\x6f\x3c\xbe\xd1\x11\xff\x58\x10\x4e\x49\x70\xc5\xed\xf1\xc9\x41\xd9\x01\xe0\xf2\x4a\xc1\xa0\xc7\x05\x2f\x5f\x95\x7c\xf0\xde\x84\xf4\xb2\x30\xff\xa7\x33\xdf\xf3\xef\x6f\xdf\x35\xf1\x39\xfd\xea\xdf\x6b\x4c\x43\xaf\x11\xe9\x69\x2b\xbd\x86\xd2\xd3\x96\x7a\x9a\xda\xd3\xf6\x68\xf0\x45\x4f\xab\x98\xc2\x46\xb8\xa7\xed\xf4\xb4\x03\xba\x7d\xdc\xd3\xd6\x7b\x8d\x68\x4f\x5b\xe8\x69\x9b\x34\x8e\xd0\xec\x12\xbd\x56\x7a\x5a\x82\xf4\x1f\xf4\xb4\x14\x40\x4f\x5b\x23\xad\x72\x4f\x2b\xf6\xb4\x08\xcd\x44\x7a\xda\x36\xbd\x3e\x46\x5d\x6d\xb9\xa7\x35\x7a\x8d\x14\x49\x1a\xbd\x46\xb2\xa7\x45\x7b\xda\x3e\x0d\x96\x7a\x8d\x58\x4f\xdb\x25\x27\x8a\x03\xad\xed\x10\xba\x65\x1a\x88\xe5\x91\x9e\xf6\x90\xdc\xe6\xc9\xd1\x5e\x4f\xdb\xe8\x35\x32\xe4\x4b\x80\x5d\x22\x0b\x4b\x64\xb0\x4a\x60\xb7\x7a\x5a\x81\x96\xa8\xbd\x46\xbc\xa7\x15\xcd\x1f\xe1\x06\x8c\x8a\xd7\x38\x1a\x42\x8d\x34\x9a\x6e\x24\x29\xea\x04\xda\xc5\x30\xa2\x64\xa8\x4a\xe3\x65\x1c\x60\x84\x95\x9e\x96\xa5\xab\x2a\xe8\x35\x49\x4a\x10\x8c\x0a\x29\x16\x90\x48\xf4\x10\x25\xc9\x12\xe9\xd4\xc9\x4c\xb1\xd7\x48\x0c\x48\x14\x62\x6f\x9f\x06\x89\x81\xdf\x15\xd1\x8c\x88\xc6\xcc\xcd\xba\x65\x32\xd1\xd3\x14\x5c\x81\x83\x07\x44\x46\xd1\x62\x25\x7f\xd2\x83\x80\x13\x31\xb9\x21\xb8\x14\xde\x17\x64\x61\xaf\xd7\x48\x5b\xc6\x37\x11\x8b\xb6\x41\xca\x0b\xb4\x6a\xcd\x1c\x20\xae\x07\x64\xa1\x82\x83\x6f\x23\x59\xef\x69\xd5\x01\xcc\xbb\x42\x42\xa6\x14\xaa\x88\x29\xb2\x50\x25\xb9\xda\xd3\x52\x03\x36\xf3\xa6\x4d\x4c\x49\x0d\x33\x41\xcc\x9a\x25\x1b\xb6\x8c\x1d\x58\x09\x8e\x9a\xe4\x62\xb2\x76\xe8\x75\xcb\x4a\xd3\x8e\xa5\x26\x5c\x89\x12\x8c\x93\x85\xaa\x05\x6d\xd3\xca\x8d\x8d\xb1\x68\x42\x13\x89\x36\xc9\x5e\xb7\x24\x5b\x14\xc4\x63\x12\xee\xd8\xd0\x7a\xda\xaa\x15\x10\xcd\xe2\x2a\xbb\x9c\x34\xb3\xa0\x71\x4a\xa3\x2a\x24\x46\x45\x7d\x63\x69\x45\x28\xe8\x08\x5d\x58\x16\x03\xe9\x46\xa5\x14\xad\xdf\x21\xeb\x0f\xcc\xf4\x99\x5b\x64\x30\xad\x29\x7a\x7d\x60\x8d\x0f\xac\x5d\x9d\x32\x85\x68\x4a\x31\x4b\x73\x8d\x02\x11\x25\xb8\x45\x35\x92\x44\x6c\x66\xaa\xed\x41\x9d\x5e\xb7\x2c\x8a\xac\x7d\x65\x66\x21\xdf\xd3\xb4\xc1\xca\x4c\x59\x14\x24\x4c\x82\x50\x6f\x8d\x76\xbc\x62\x95\x62\xc2\xae\xba\x9e\x76\xd7\x22\x77\xb3\xcf\x57\x23\x2e\x48\x21\x4e\xf3\x03\x3c\x6e\x12\x82\x4d\xd2\xb7\x8b\xe7\xae\x15\x83\x88\x54\x28\x6c\x5a\x88\x37\x4e\xec\x9b\x7b\xbd\xc6\xa4\x48\x3d\x31\x11\x27\xc5\x38\x79\xa8\x11\x49\x8d\x81\x36\xf4\x2d\x4b\xd4\x6b\x1a\x19\xe8\x69\x7f\xa7\xbf\x02\x62\xb7\x96\x86\xfd\x37\x65\xf0\x04\x41\x82\xd0\x2d\xff\x19\x97\xdf\x3b\x31\x26\xfe\x88\x37\x04\x1f\x5c\x07\xd7\x0b\x7e\x4a\x07\x29\x20\x83\x5b\xf2\x8d\x78\xe5\x11\xec\xe9\xfe\x40\x40\x76\x85\xbc\x77\x9c\xf4\x0b\xaa\x17\x7b\x3d\x3e\x0b\xf0\x26\x28\xbb\xfc\xbe\x11\x30\xad\x06\xdd\xfe\x09\xef\x08\x0c\xcb\x20\x79\x3d\xa3\x3e\x79\x04\x6e\x79\x42\x6e\x54\x74\x00\xfc\xad\xef\x41\x80\x1a\x3a\xed\x70\xbc\x13\x72\x7b\xfc\xe3\xd6\xe7\xb4\x8f\x03\xfe\x9b\x72\x60\xd8\xfe\xb1\xf6\xf2\x98\x5b\x0a\x78\x5c\xe0\x95\x7c\xa3\x13\xd2\xa8\x2c\xbe\x35\x2a\x65\xa6\x14\x59\xfa\x31\xb0\x54\x89\xa5\x1f\xb3\x64\x8d\x29\xdb\x4c\xa9\x03\x4b\xe5\x59\x26\xc9\x94\x2d\x6b\x26\xb5\x4d\xca\x75\x96\xdd\xc0\x85\xc9\x2d\xa6\xa4\x81\xa5\x76\x99\xa2\xb0\xd4\x2a\xb0\xd4\x16\x2e\x49\x97\x51\x3d\xb9\xc9\x92\x7b\xc0\x92\x25\x96\x9c\x62\xca\x22\xcb\x94\x58\x6a\xd5\x5c\x98\xc9\xb0\xcc\x16\xb0\x34\x2d\x4c\xde\x63\xc9\x0a\xb0\x64\x84\x29\xab\x2c\xb3\xc5\x52\xf3\xc0\x52\x33\x2c\x9d\x35\x95\xd3\x65\xa6\x84\xc9\x90\x92\x67\x4a\x96\x29\x4b\xc0\x92\x93\x2c\x79\x0f\xd0\x47\xfa\x31\x5a\xce\x6c\x0a\xb0\x9b\x2c\x59\x27\xd5\x8c\x42\xeb\x94\x01\x33\xdb\x88\x2a\x9b\x05\x96\x56\x70\x42\x59\x65\xc9\x9a\xc0\x27\x8c\xf5\x83\x6f\xe1\xa4\x58\x25\x84\x08\x16\x15\x4b\x14\x6f\xba\xc6\xd2\x69\x60\xc9\x32\x86\x95\xac\x99\x9a\x4a\x95\x24\xdb\xc4\xd8\x12\xe0\xb2\xb4\xb8\x47\xc8\x16\x63\x61\xe2\x15\x6d\x85\x89\x47\x64\x21\x8f\xd0\x31\xfc\x34\x53\xb2\x34\x99\xda\xa2\x55\x0f\xc9\x8a\x12\x47\x8f\x8a\x1d\x47\x9d\x29\x8f\x81\x25\x37\x90\x3e\xcc\x80\xc8\x1b\x9a\x28\x31\xa5\x26\x58\x45\x1d\x0b\x57\x99\xa5\xb3\x03\xa9\x31\xe9\x16\xf7\x99\xc9\xfe\x0c\x10\xf2\x6d\x5b\x41\xd0\x51\xa6\x70\xcb\x68\xaf\x4f\x0a\xc1\x4b\xaf\x90\x6f\xe4\x75\x9b\x65\x15\x52\xcd\xb2\x54\x5e\xd8\xf9\x82\x29\x5f\x00\x53\x6a\xc4\xc3\x22\xcb\xa4\x05\x0a\x32\x4a\x21\xf4\xcd\xa5\xb7\x59\x26\x67\x79\xae\x03\x53\x32\x98\x58\xa4\x46\x04\x99\x7e\x48\x62\xa4\xa2\xce\x92\x93\x22\xed\x7d\xf1\x2e\x16\x80\x92\xc5\x34\x9a\x11\x6f\x31\x65\x17\xa8\x58\x17\x59\x36\x8b\x29\x22\xb3\x59\x96\x89\x13\x3e\x25\xcd\xb2\x69\x21\xb6\x20\xcc\x8b\x5a\x02\xda\x09\x65\xa6\xec\xb0\xf4\x2e\x21\x33\x4b\x68\x0b\x30\x64\xe4\x49\x20\x49\xaf\x99\x6f\x4c\xd9\x1d\xc8\xcd\x36\x72\x83\xec\xa7\x99\xb2\x4a\xe1\x66\x14\xca\xa3\xb2\xc8\x52\xbb\x56\x11\x2a\x6b\x02\xa0\x3d\x9b\x4e\x23\x21\xa9\x5d\xab\x4a\xca\x94\x9b\x34\x53\x72\xc4\x41\xb2\xcc\xb2\x49\xab\xe0\x70\x07\xec\x13\x07\xd9\xa4\xe5\x56\xc1\x24\x65\x26\x99\x32\x49\x01\x98\xf5\xa1\x4c\x89\x6c\x6c\x13\xdb\x75\x9a\xc5\x8d\x29\xe0\x95\xfb\x5b\xc3\x2c\xb7\xc7\x4c\x99\xa4\x15\x49\xdc\x27\x14\x58\x4b\x98\xcc\xb2\x14\x66\x7a\x11\x75\x32\x69\x5c\xe5\xf8\x64\xc2\x67\x1e\x58\x60\xcb\x47\xac\x58\x00\xb6\x5c\x63\xcb\x0d\xb6\xbc\xcb\x96\xef\x03\x5b\xbe\x8f\xa3\xe2\xb4\x3d\x5b\x9c\x63\xcb\x1b\xac\xb8\x26\x54\x1f\xb2\xe5\x63\x5b\x69\x01\x58\x71\x99\x2d\xef\xb0\xe5\x63\x5b\xe1\x98\x74\x2a\xa4\xd2\x60\xc5\x02\x4d\x57\x70\x1a\xad\x2c\x00\x49\x23\xb6\xab\x1d\x30\xd5\x8a\x5b\x6c\x79\x97\x7a\xf5\x47\xde\x11\x78\xc7\x37\xea\xf5\x04\xdd\x4e\xb8\xe5\xf6\xb8\xdc\x10\x0a\x48\xbe\xa0\x2b\xe0\x19\xa6\x93\x5f\x21\xbf\xf8\x4b\x3e\x04\x64\x69\x24\x08\x2f\xbf\x2f\x83\xeb\x96\x24\x53\x7f\x95\x42\x40\x3d\x76\x78\x82\x8e\x6f\x49\xf2\x18\xf6\xcc\x11\x19\x7c\xfe\x40\xc8\x7d\x4b\x96\x02\x23\x13\x63\x56\x33\x96\xe0\x0f\x72\x30\x14\x94\xe4\xa1\x97\xe9\x20\xc0\x98\x2c\xf9\x84\xbd\xa0\xe4\xc1\x86\x6f\xda\x03\xaf\xe7\xa6\x75\x2c\xcd\xb4\x24\x07\x7c\x64\x18\x7c\xb2\x14\x20\x31\x9a\x42\xe9\x55\x59\x1a\x7a\xf9\xb4\xc3\xf1\x56\x40\xf2\x78\xbd\xa2\x53\xf3\xf5\x0c\x2f\x45\x78\xe9\x01\x2f\xcd\x02\x2f\x35\xe9\x66\x0e\xe5\x59\x5e\x5a\xe1\xa5\x04\x2f\xcd\xf2\x52\x83\x97\xca\xbc\x94\x03\xbe\xbe\xc9\x4b\x79\x5e\xca\x88\xa5\x27\x54\x80\x97\x0e\x69\x75\x0e\x78\x69\x89\x64\x11\x1a\xcc\x01\x2f\xad\xf1\x52\x1e\x78\x29\x46\xe2\x22\x2f\xa9\x42\x3b\x45\xa6\xab\xc0\xd7\x1b\xbc\x74\x24\x20\xa4\x84\x85\x55\xb1\x62\x89\x97\x6a\xb4\x6e\x0d\x3d\x96\x2a\x64\x74\x8d\xcc\x3c\xe0\xa5\x23\xa0\xfb\x18\x29\xad\x01\x59\x13\xf3\xa6\x4d\x34\xb8\x60\x39\x4d\xf1\x52\x46\xac\xc9\xf3\x52\x5a\x18\x37\xbd\xc5\x78\x69\x8b\x34\x53\x64\x20\xd1\x0f\x86\xdc\xe6\x68\xa2\x48\xa8\x76\x85\x7a\x43\x78\x33\x11\x27\x08\x7e\x91\x44\x59\x5a\xb8\xca\x4b\xd1\x17\xa8\x4c\x9e\x10\x6f\x91\xde\x12\xcd\xac\xd1\xb2\x49\x1a\x47\xc9\xab\xb0\xb2\xd4\x57\x5f\x27\x43\xb3\x02\x7c\x96\x82\x5e\x20\x9d\x23\x11\xb0\x80\xb9\x40\xf1\xe5\x09\xce\xec\x0b\xc0\xa7\x6c\x82\x4c\x07\x94\xcb\x17\xac\xb5\x92\x8e\x4a\x11\x72\x38\x7b\x22\xc9\x45\x4b\x79\x49\x84\x32\x4d\x37\xab\x80\xeb\xd6\xd7\x2d\xfc\xc2\x12\x06\x9d\xa6\xf9\x05\x3b\xb2\x06\x5d\x2a\x2f\x15\xcd\x8a\xa1\xa8\xd7\x49\x2b\x27\x9c\x99\x75\x33\x4d\xf6\xd7\x4e\xa4\x6c\x69\x90\xa0\x35\x5a\x54\x15\x65\x99\x27\xb2\x97\xbe\xb7\x40\x9f\xab\xd3\xbe\x2c\x22\xe4\x22\xb4\x05\x5e\xba\x67\x11\x20\x92\x58\xb5\x6b\x5f\x25\xbd\x02\xf0\xf5\x94\xbd\x64\x95\x48\x5b\x13\xf9\x11\xa6\x57\xfb\x71\xe4\x48\xd0\xe8\x17\xaa\xb9\x76\x92\x16\xee\x08\x9a\xf2\x76\x7e\x1b\x44\xc8\x8e\x30\x61\xeb\x24\x78\x69\x77\x90\xd6\x8a\x65\xaa\xf4\xdc\x26\x9a\xa6\xf8\xd7\xe8\x3e\x45\x1c\x26\x2c\x46\x1a\x2f\x88\xde\xdc\x47\xa2\xf8\x7e\x80\x05\x13\x79\x96\x04\x9b\x76\x72\xfa\xad\x44\xec\xf5\x2a\x10\x4f\x62\x91\x4a\xc8\xa3\x66\x70\x22\xc9\x34\x91\x16\x52\x64\x89\x9c\xdb\x5b\x76\xc5\xc4\x26\x42\xca\x93\x66\x9a\x0c\x9d\xc0\xd3\x4f\x9e\xb9\x53\x06\xfb\xcf\x2c\x2f\x65\x04\x17\x62\xf3\xa4\x84\x8a\x49\xb3\x5d\xf4\xab\x84\x2a\x6f\xd5\xec\x91\x45\xbf\xda\xb7\xba\x46\xba\xb6\x55\xe4\x20\x66\x57\x66\xc3\xde\x1e\x29\x8a\x4c\x90\x97\xed\x7b\xaa\x0d\xd6\xbe\x80\x92\xb1\xd8\x15\x6d\xc6\xcc\xda\x80\x47\xb1\x2b\xb3\x16\x81\xb3\xbc\x34\x75\xa2\x31\x64\x45\x22\xed\x3e\x12\x21\xb5\x04\xd5\xc9\xee\x89\x4d\x62\xf9\x78\x68\x2b\x99\x4d\x76\x70\x5f\x65\xac\x36\x18\xb3\xfb\x84\x59\x91\x0b\x36\xa6\xf5\x14\x85\xb2\x6a\xd1\x61\x3f\x1b\xfa\x3b\x60\xb6\xbf\xd9\xed\x4e\x5c\x23\xef\x87\x56\x24\x89\x7e\xb9\x0e\xe8\xce\x8a\x3c\x1d\x59\x21\x5b\xfb\xa8\xbf\x83\x44\x65\x4c\x5b\xe9\x35\x01\xce\x92\xda\xb4\x15\xaf\x5d\xf0\x36\x1d\x0d\xbb\xed\x46\xcc\x02\xff\x7f\xd7\x1b\xe8\x2b\xdd\x75\x4f\x20\x18\x02\x97\x7f\x62\xdc\x4b\x3f\xca\x8d\x4b\x01\x89\x4e\x69\xd2\xd7\xb2\x97\x2e\xc3\x15\x77\xc0\x13\x0c\x8d\x49\x41\xb8\x22\x05\xfc\xde\x97\x60\xf8\x0e\xbc\xed\x71\xdd\x90\x7d\xc1\xd3\x74\x7a\x6a\x5c\x72\x85\xe0\xba\xdf\x17\x82\xa0\xec\x95\xe9\xac\x2a\x98\x87\xf6\xe9\xab\x21\x3d\xbe\x2f\xbf\x75\xe5\xed\x77\xde\x7d\xef\xfd\x0f\xfe\xeb\x6f\x3e\xfc\xed\xef\x3e\xfa\xf8\xf7\x9f\x5c\xbd\xf6\xe9\x67\x7f\xf8\x6f\x7f\xfc\xef\x70\xf6\x95\x73\xe7\x7f\xf9\xea\x6b\xbf\x7a\xfd\xd7\x6f\x38\x00\xa4\x61\xd7\x88\x7c\x7d\xd4\xed\xf9\xf3\x0d\xef\x98\xcf\x3f\xfe\x97\x40\x30\x34\x71\xf3\xd6\xed\x3b\x7f\x85\x27\x9b\x4f\x1e\x3e\xa9\x3f\x0d\x3f\x9d\x7a\x5a\x78\xba\xf6\xf4\xee\xd3\x87\x4f\xf7\x9f\xb6\x91\xa3\xf0\x3c\x0f\xab\x3c\xbc\xc8\xc3\x2b\x3c\xbc\xca\xc3\x6b\x3c\x5c\xe2\xe1\x0d\x1e\xbe\xcf\xc3\x65\x1e\xdf\xf8\x72\xfe\xcb\xd2\x97\xda\x97\xc7\x3c\xfa\x08\xf4\x59\x7d\x4e\x9f\xd7\x55\xfd\x21\xfd\xad\xba\xa6\xef\x75\x92\x60\xcc\x18\xb3\xc6\x9c\x31\x6f\xa8\x46\xd9\xa8\x18\x55\xa3\x66\xec\x89\x53\xde\x5c\x89\x8a\x73\xde\x5c\x79\xc0\x95\x1d\x9e\x5c\xe7\xca\x1a\xf0\xa9\x59\x3e\xb5\xc0\xa7\xb6\xf9\xd4\x11\x4f\x6c\x02\x57\x67\xb8\xda\xa4\xe3\xab\x8b\xbc\x30\xcb\x0b\x87\x7c\xf1\x90\x2f\x85\xe1\x5f\x8f\x22\xff\x6a\xb7\xf8\x6c\x98\x47\xa3\xac\x59\x62\x5a\xf4\x7f\x6d\xb1\xc3\xf8\xb3\x99\xaf\x67\x78\x36\xf7\x7f\x66\xfe\x77\x85\xc5\x66\xc4\xd9\xb1\x10\x1d\x94\xf7\xf8\xe0\xa6\x14\xf0\xf8\x27\x82\xf6\x37\x55\xf1\x51\xf3\x7d\xd9\xeb\xf5\xc3\x2d\x7f\xc0\x3b\xe2\x04\x7d\x99\x4e\x53\x1d\xd0\x9f\xed\x3b\x11\xbd\x62\x1e\x14\x8b\xe9\x4d\xbd\xee\x84\x6f\xa2\xb5\x6f\x62\xb5\x6f\x62\xe9\x6f\x62\x91\x6f\x62\xd3\x0e\xc7\x5b\xfe\xdb\x30\x12\x90\x6e\xe1\x77\x73\xfa\x3a\x3d\x26\xfb\x42\x74\xd6\x30\x78\xe1\xbb\x0f\x2a\x3e\x77\xc0\xaf\xa0\xfc\xa8\xb3\xd3\xdf\x67\x29\x79\xf2\xb8\xef\x7d\xfb\xfc\x2d\xc0\xc0\x31\xfe\x47\xf6\x31\xfe\x13\x47\x1c\x1f\x0d\x1c\x6b\xfc\x2e\xb1\x3a\xcd\xd5\x08\x5d\x35\x6b\x30\x8f\xe2\x1c\x57\xe7\x68\x92\x0e\x40\xe6\x0f\xf0\xe5\x48\xa8\xff\x1d\x55\xc8\x7b\x99\x3c\x22\xce\x14\xf0\x7c\x85\xe7\xab\xd6\x6b\x4d\x5c\xe2\x1c\xa4\x89\x34\xbf\x6d\xfe\xaf\x06\xf9\x59\xf4\x10\xb5\xe2\x7a\x20\x22\xa2\x23\x94\x24\x9e\x23\xc1\x0e\xbd\xe6\xfb\xe2\x79\x32\x12\xa1\xd7\x82\x29\x8e\x59\xb6\xa3\xa6\x6d\x35\x86\xe2\x05\x9e\x8f\xf1\x7c\x9c\xab\x4b\x08\x60\x9f\x8a\x6e\x8f\xe7\x0f\x79\x3e\xcd\xf3\x1a\x57\x4b\x28\x51\xb7\x81\xab\xab\x28\x52\xb7\x44\x14\x69\x18\x08\xa1\xf2\x5c\x14\x51\x9e\xaf\x52\x9c\x38\xb2\x62\x10\xfc\xcc\xda\x30\xd5\x28\x98\xff\xf5\x91\xcf\x22\xd2\x01\xad\x18\x69\xe4\xdb\x42\x8b\x10\x67\x79\x7e\x92\xe7\xa7\x88\x7d\xe0\xf9\x3a\xbe\x34\x28\x12\xf5\x80\xab\x45\xe0\xaa\xca\x55\x8d\xab\x8b\x02\x69\xe6\x7b\xf8\x2e\xf1\xfc\x3a\xf0\x7c\x0d\x78\x7e\x8d\xe7\x37\xd1\xfa\x0a\xcf\x6f\x90\xdd\xbb\x5c\xbd\x27\x04\x48\x40\x78\xe0\xd5\x14\xe7\x77\xfb\x74\xe2\x98\xc4\x9b\x5c\x6d\xf3\xfc\x31\xd1\xd8\xc4\xb1\xba\x8b\xe2\x3c\x57\x8b\x5c\x2d\x70\x75\x59\x54\x2b\xa6\x22\x4e\xd7\x0c\xf0\x7c\x4e\x54\xcb\x24\x5d\x58\x30\x69\xe0\x85\xec\x0f\x32\x5c\x21\x8d\x9f\x89\xe1\x56\x9f\x61\x6c\x37\xb3\xbc\x30\x47\xd7\x3c\x5d\x0a\x2f\x28\xc0\xd5\x14\x2e\x98\x12\x88\xf3\xd3\x78\x93\x30\xd1\xe6\x2c\x5c\x2a\xd1\xb1\x45\x5c\x2d\xf6\x91\x89\x83\xb9\xf7\xc4\x19\xd9\x3e\x98\xc5\x81\xfa\x2d\xf6\xc5\x4b\x64\x44\x6c\xbd\x95\x3e\x4e\x75\xa0\x7e\x17\x7f\x3a\xd6\xe9\x93\x47\x85\x1f\xda\x67\x77\x01\x4c\x1f\x78\xed\x59\x83\xc5\x13\x07\x91\xf7\x06\x0e\x1f\x7f\x97\x18\x4b\x51\x34\x88\x23\x6b\x50\x44\xac\x0b\xbc\x10\xe7\x85\x02\x2f\x14\x79\x21\xcc\x0b\x2b\x20\x1c\xe6\x33\x78\xa9\x8b\x66\x25\x2c\xf0\x7c\x16\x2f\x2a\xe5\x34\xae\x8b\xf0\x42\x94\x17\x62\xb4\x7a\x92\x17\xa6\x78\x21\xf1\x13\x3a\x27\x2f\xac\x92\xdb\x45\x5e\x58\x22\x53\x77\x1d\x8e\x8b\x67\xe9\xff\x75\xfb\xbf\x01\x00\x00\xff\xff\x2c\x07\xfe\xb3\xa0\x37\x00\x00") func utf8HtmlBytes() ([]byte, error) { @@ -294,6 +315,7 @@ var _bindata = map[string]func() (*asset, error){ "image.webp": imageWebp, "index.html": indexHtml, "moby.html": mobyHtml, + "sample.xml": sampleXml, "utf8.html": utf8Html, } @@ -344,6 +366,7 @@ var _bintree = &bintree{nil, map[string]*bintree{ "image.webp": &bintree{imageWebp, map[string]*bintree{}}, "index.html": &bintree{indexHtml, map[string]*bintree{}}, "moby.html": &bintree{mobyHtml, map[string]*bintree{}}, + "sample.xml": &bintree{sampleXml, map[string]*bintree{}}, "utf8.html": &bintree{utf8Html, map[string]*bintree{}}, }} diff --git a/httpbin/assets/sample.xml b/httpbin/assets/sample.xml new file mode 100644 index 0000000..0a24421 --- /dev/null +++ b/httpbin/assets/sample.xml @@ -0,0 +1,24 @@ +<?xml version='1.0' encoding='us-ascii'?> + +<!-- A SAMPLE set of slides --> + +<slideshow + title="Sample Slide Show" + date="Date of publication" + author="Yours Truly" + > + + <!-- TITLE SLIDE --> + <slide type="all"> + <title>Wake up to WonderWidgets!</title> + </slide> + + <!-- OVERVIEW --> + <slide type="all"> + <title>Overview</title> + <item>Why <em>WonderWidgets</em> are great</item> + <item/> + <item>Who <em>buys</em> WonderWidgets</item> + </slide> + +</slideshow> diff --git a/httpbin/handlers.go b/httpbin/handlers.go index be21c42..a212a08 100644 --- a/httpbin/handlers.go +++ b/httpbin/handlers.go @@ -818,3 +818,8 @@ func doImage(w http.ResponseWriter, kind string) { } writeResponse(w, http.StatusOK, contentType, img) } + +// XML responds with an XML document +func (h *HTTPBin) XML(w http.ResponseWriter, r *http.Request) { + writeResponse(w, http.StatusOK, "application/xml", MustAsset("sample.xml")) +} diff --git a/httpbin/handlers_test.go b/httpbin/handlers_test.go index 82cef95..81ed476 100644 --- a/httpbin/handlers_test.go +++ b/httpbin/handlers_test.go @@ -1958,3 +1958,12 @@ func TestImage(t *testing.T) { }) } } + +func TestXML(t *testing.T) { + r, _ := http.NewRequest("GET", "/xml", nil) + w := httptest.NewRecorder() + handler.ServeHTTP(w, r) + + assertContentType(t, w, "application/xml") + assertBodyContains(t, w, `<?xml version='1.0' encoding='us-ascii'?>`) +} diff --git a/httpbin/httpbin.go b/httpbin/httpbin.go index 3b2b42d..827c82b 100644 --- a/httpbin/httpbin.go +++ b/httpbin/httpbin.go @@ -137,6 +137,7 @@ func (h *HTTPBin) Handler() http.Handler { mux.HandleFunc("/image", h.ImageAccept) mux.HandleFunc("/image/", h.Image) + mux.HandleFunc("/xml", h.XML) // Make sure our ServeMux doesn't "helpfully" redirect these invalid // endpoints by adding a trailing slash. See the ServeMux docs for more -- GitLab