Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

archive/zip: unexpected EOF when reading archive #12449

Closed
dvyukov opened this issue Sep 2, 2015 · 2 comments
Closed

archive/zip: unexpected EOF when reading archive #12449

dvyukov opened this issue Sep 2, 2015 · 2 comments
Milestone

Comments

@dvyukov
Copy link
Member

@dvyukov dvyukov commented Sep 2, 2015

The following program fails with the following error:

data=[8367]"PK\x03\x04\x14\x00\b\x00\x00\x00k\xb4\xbaF\x00\x00"
panic: EOF

The archive is generated with zip.NewWriter, so either NewWriter produced a bogus archive or NewReader fails to parse a correct archive.

go version go1.5 linux/amd64

package main

import (
    "archive/zip"
    "bytes"
    "fmt"
    "io/ioutil"
)

func main() {
    // Read in the archive.
    z, err := zip.NewReader(bytes.NewReader([]byte(data)), int64(len(data)))
    if err != nil {
        return
    }
    var headers []*zip.FileHeader
    var contents [][]byte
    for _, f := range z.File {
        r, err := f.Open()
        if err != nil {
            continue
        }
        if f.UncompressedSize64 < 1e6 {
            c, err := ioutil.ReadAll(r)
            if err != nil {
                continue
            }
            if uint64(len(c)) != f.UncompressedSize64 {
                println("bad size:", len(c), f.UncompressedSize64)
                panic("bad size")
            }
            hdr := f.FileHeader
            headers = append(headers, &hdr)
            contents = append(contents, c)
        }
        r.Close()
    }
    if len(headers) == 0 {
        return
    }

    // Write a new archive with the same files.
    buf := new(bytes.Buffer)
    w := zip.NewWriter(buf)
    for i, h := range headers {
        w1, err := w.CreateHeader(h)
        if err != nil {
            panic(err)
        }
        n, err := w1.Write(contents[i])
        if err != nil {
            panic(err)
        }
        if n != len(contents[i]) {
            panic("short write")
        }
    }
    err = w.Close()
    if err != nil {
        panic(err)
    }

    // Read in the new archive.
    _, err = zip.NewReader(bytes.NewReader(buf.Bytes()), int64(len(buf.Bytes())))
    if err != nil {
        fmt.Printf("data=[%v]%q\n", len(buf.Bytes()), buf.Bytes()[:16])
        panic(err)
    }
}

var data = "PK\x03\x04\n\x00\x00\x00\x00\x00k\xb4\xbaF\x1d\x88w\xb0\a\x00" +
    "\x00\x00\a\x00\x00\x00\x03\x00\x1c\x00aaaUT\t\x00\x03\xf9\xca" +
    "dU\xf9\xcadUux\v\x00\x01\x04\\\xf9\x01\x00\x04\x88\x13\x00" +
    "\x00111222\nPK\x01\x02\x1e\x03\n\x00\x00\x00\x00\x00" +
    "k\xb4\xbaF\x1d\x88w\xb0\a\x00\x00\x00\a\x00\x00\x00\x03\x00\x18\x00" +
    "\x00 \xff\x00\x01\x00\x00\x00\xa0\x81\x00\x00\x00\x00\xcadUux\v" +
    "\x00PK\x05\x06\x00\x00\x00\x00\x01\x00\x01\x00I\x00\x00\x00D\x00\x00" +
    "\x00 \bq\x9e\x91Y\xa5\xe6S\xb0\x8e\xef\xfb\xfc\xa9\xa1\xe2\xa9a" +
    "\xfc\xa9\\f\x8e]\x1c\xf8\x8c\xe5\xc0 \xb0\x8ek\xf4\xff\x19\xe5T" +
    "(\x0f$\xc6@\x05\xebp\xc8\x19;\x8bAJ>\x9fX\x11I\xc2" +
    "\x8f\xa7\xcaϣ\x03\x80\xaa\x04\xe6\x96\x11\xc5\u0382T\xa1HFS" +
    "\x91\xac\xc1T\x1f\xfd\x9f\xb6vz\xa6\"\x93XQ\xd8&-\xfd\xab" +
    "\xc4FK-\xf3\xa3\xd3ҋ\x89@K\b6\xd6\xca}\x88ys" +
    "z\xe3\x15FM\xf4\x0f\x1b\xf2\x05\xcd\xf6=\r\x0e>\t\x86Mz" +
    "\xd6\xe86\xb10\xb4\xd9\x14\x02\xa1Z\xe9z\xact\xddE\xba\xdem" +
    "\x16^\n\x8d\x83\x12J\x10WJ\xa8&\xb8\x95\xe79\xa8\xb4\"c" +
    "\xb4ˊ\xd1YK~\r\xa3\x9b:\x9b\x18]\xa4\xd7\xf8\xae\b\xa3" +
    "\xf3$\x8c~\x8cc]\x11\xc1t\xedNº<\"n\x81{6" +
    "\x84\xebmE\xb8w:EE\xb8\x1f\x15\x13\xe1^\xe8\x1f\r\xe1n" +
    "\xb9\x9dL\xde<\x862\xb4PW1\xc0 kBѭ\xaf\xc1)" +
    "\xd9\xfa\x0f\x1a\x1c\xad\xeb+\x91\xbc\xdaS\xb5\x04\xcc\xd4H~}\xfe" +
    "UD\xa4\xac\x826qL\x9b\xd2\xea\xe88v\xe35\x16" +
    "~-\x16\xb9@\x8a\xaewKH\xb1@\f\x8e\xcfӭ" +
    "\u007f}ڈp\x89\xe0\xc0\xe4y\x96\xb9o\xdfO\xcc\xe9b\v\xe0" +
    "8d\x1f\x00>\xbe\xf9\xec6\x97\x9fn{\xa5\xf5ާ\b\x01r" +
    "]\xa7\b\x01\xc2e\xc7\"\x85\xb8T:\x17\x119&\x93\x9dI\x90" +
    "\\\xfd\n\xf1\xf5t\x89\xaf\x1f\xba\xe42\xf8z\xba\xe0\xeb9\xe4_" +
    "\xce\x14\x9eIXߞt\x19\x95\x12\xd5M\x8e6%@\x959\x8c" +
    "8\x1a\xc6\x006\x8c\xf0rq?,\xe0{\xbd\x04\xf7\xc1g\f\x1d" +
    "\xcc\x16\xffs\x84\xdb\ah\x1a\xe4\x12\xbb\x02\x85\xbd\xf7ߍ4\xd7" +
    ">\xa1\xb0\xab\xec\xf7\xc2\xff2\xb1\x83\x9bH\xb9\x81\xe8ؑ\xd0\x15" +
    "\xb0#\x92\xc1\xef\x17\xecW\xcf{\x99\x00\x98K\\\x91\xa9ݖG" +
    "\x8b'\xd3\x11-\xef\xfe[\xf4\x01\xb5\x14\xd9\x06\xd4\xfc\\" +
    "\xf4\x01\xcd\xed\"\xa3\xeb\x1b\xd8]\xf3\x98$\x87b\x17C\xfd\x1c\x02" +
    "A\xceu\xb4 F\xf5\x9a(O\xff\x89\xa3\x93\xaa\xff\x9f\xe5\xe9\x12" +
    "oĔ<4\xa5\xd2:TKs\x8ce\xd5\u0560\x9b+\x12`" +
    "\x11\xc3e\x01\xf7\xc1r\x8eP\xdc]\xaf\xb8\xe0B\x0e\x9d&0," +
    "\x051\f\xd8\xf5\xa4[\x9d\x91\x83\xaa.\x940\xe0A\xcc@,u" +
    "\x91nvᕺH\xe6]\xa4\x8b.\xbcF\x17?\x8d\xb0w\xd1" +
    "\"\x11\xf4.\xe9:\xc9\bb\xa7\x9d}\xee\xd61wA\f\xb5\x9d" +
    "\x94u},>\xba\xd5\xdbx\x85\xcfwSh\xfb?\xb5\x06\xd4&" +
    "\xe1,\x8e\x82\xdf\x17\xbeB\xfc\xae\xfc\x1e\x99[\x90\x92\xfd3\xe2Z" +
    "\xa9\xd0'\xca\x1b\xdcH.y\x94\x89\x9fe(~ 7$<\x1f" +
    "Uſ\xf3\xad6T\xfc!\xe9(\xbd\x9f\xffЦ\xe2\xdf\xd1\xc3" +
    "i\xf4mt2\x11#eP\xbb]\x06\xa5c\x83\xf7a\xb6\xfd\xb0" +
    "\xa7\xfa\x8fn\x8b\xdaZ\xea&\xe4\x1e\x81U\xa4v\xc0\xb0" +
    "\x05UB\x1a\xabȆ\x1cL\xdeTn\xa8\xfbw\x9ds\x19}\v" +
    "\x11\x99.\xb5\x1e\xe7\x16\xe4\xb8\xfb%\xe2\xa9\xf4\xa4м}.C" +
    "\xf9\xcf ~-'\x9d\x1d\xec\xa6u`\xc08\x00\x9f\x9dj(E" +
    "s\xcdk\bacl&\xe7=\x1a#H卫\x15id\x11" +
    "\xaa\xfb\x01\xc5\x02\x83M\x86\xa0\xbb\xf5OV~\x8d/\x84\x8a\xbdF" +
    "\xaaQCh`\x89\a\xd2\xdd\x13\xf4_\x9a\"\xd4ud\xeay\xa6" +
    "\xefg\xb2\xa4\xb1\xafk\xb4k\xec1gM\xcenh\xech\xa2\xeb" +
    "\xfb\x87;\x05*98j9\xc4\xcc\rf#H\xe3\x16\xd2\xdc\t" +
    "\a\xfa\x99ܼ3Mo\xca\"\x13j\xe2\xddo\xf5\xf5" +
    "\x9b\x15\xc3\xed\xfaM\xba]\xbfɑ\xa0\xfe\xb0\xac\xb1\x9b\xd7\x1f\xab" +
    "˷k\vA%\xc7\xd4؋$\xb6\x86\x95z,\x1a\xfb\x92-" +
    "\xd4]\x8e\xf4\xd4\t\xab\xee\xf4\x8c\xa5M\xa4\xdc\"Sc_hU" +
    "`\x96\v6K\xcd?\xe9&\x05j\xa1U\x81*\x964\xf6\x81)" +
    "v\x05\xaa\xbb~r\x18i\xe0E|\x17e1i써\xb1\xef" +
    "\x8f\xb3i\xdak\xba\xc9\xcf\xc3\xf0Vr\x8d\x9d\xc43\xd7$@\xb8" +
    "GJ\xe7\xb7\xd7:,]\xddW\xc6\xc9v\xab\xa2Ю\x89`\xad" +
    "Lo\xbbx\x8b\x13j\xd1ޤ\x14'\xb6\x85!6\xa8\x14\x97\x10" +
    "*\x8cZ\b\x03\xa2<\xf8\x92\xdd\xf0\xf18\xdbl\x8eu%\xed\xd0" +
    "hƲȚˠ\xd1\xfdD\xa3U\xd1hT`\xdbs\xb8/" +
    "\x16\x1a.I\x8f\n\x89\xb5O\x90\xae\xdbIןIJ\xfe\x8b\xd2" +
    "u\x02W\xf8\xb9'\x02#\x97=\xf3\xdfs\x18\\\xe5\xf7v\xae\xf2" +
    "E\f\xa1P\x1a\x05\xb7Pi\b\x1a:\x1fs\xe0\x8c2'\x99\xd6" +
    "Gk\xb4-Q\xfb5\x0ecZ2\xad\xb9\xac\xb4\xf6\xc3\xc2h\xb4" +
    "\xf6L;\xd9:\x1e9\xf4\xb2\xb4&\x84\xaa\xd5F^\xe1\xb4ر" +
    "\x8fl\x8e\xb0cm\xa4P贐´ب\xa4\x90\xe14I" +
    "!%9\x1a)\x1c\xff\x0f\xb2%r\xed\xb6\x04\xbay\xf4\x82\xa1\x11" +
    "\xd8B-\xef5\xf4\xb2\xed\xb5\xb2 \xa0\x15\x9b7\xe1\x12U\x0e\x14" +
    "\xae\xb1p\xf18\xae\xbe\xa7\x91\xfa\xde\xeb{I}\xb7pbym" +
    "iO\xe0\xb1\x06\xa9\aK+\xff\f\x1bA\xec\x84\xc7\xf8\x88g]" +
    "a\"\xdd\x1f\x14\x1b+\x8d\x8d\xbd\x85\x8a?ӈr\xd3dş" +
    "c\x1bS\xfc?\xb1*\xfe_+B\xfc\xf4\x8a\x8d\x10?\\\xf2," +
    "U\x88٩\\F\x94\x99<\xfaY\x82\xcf\xfa\x05$\x1eTI<" +
    "\x1c\xfd\xc9\x14\x0f\xaa\x10\x0fe(\x1e6\fq\x9a&()\xfei" +
    "\xd1Y\xcb\xc4\xf7\x1c\x97\x13$\xa1Yb\xc7G\xb6\x01\xfa\xb1\x11\x85" +
    "_\xb5\xd9\x00\x04$\x1aN\x95h\xf5C\x89>5\xe9\xda/]\xcb" +
    "ek\xe7\xa0\x95y/\x9d\x96G\x90\xaag\x9c\x905\f" +
    "L\\\x0e\xd6\xe7\b\xf6X\xe8q\xb3\x950\xd8\\\xf6\xf8\x87/\xb8" +
    "\xfd!E\xf9`\xbb\x9943\u007f-\xadN\n\x95\xe7H\x14\xa7\"" +
    "\x12%\x9cH\x8c\x89\x05\xc6\xebu\xb0?\xfd)\x86G\xf4\xf9\x81-" +
    "\xfem\x9f\xb1\xffbx\x95\xcf\xfc\xe0\xbaB\xaf\xb2B^\xe5u!" +
    "*G\xed\xadA\x0f\xbc\xe4^\xb6\xe7\u007f\x12\xfdY\xb5Z\xb3\xf1t" +
    "\xb3q\xfd\xf6\x93\xd4n\x8a\xa9\xd5\xda\xe2\x1f\xa2\x8c?\xfd\x8a\xc6\xcf" +
    "\xc4P\x8eR\x9c,M\xe3\aݜF.N\x83\"\xbe\xbfV\x94" +
    "6\xe7\xf3\xd7ϣ\xce'\xddޙO)\xeeC\xd3\xca\xff\x85O" +
    "\x8b+\x89\xa95\xfe>9\xac\xcf\xdf\xe1\x14\xa9\xcf\x16ޟd;" +
    "u0\"b\x1a\xf1\x80\xc5\x14\x88\x85k\xeb>?u\xd5h\xd3\xff" +
    "?\xe3\xe3u\x1b\\\x85\xad7l\xdfS\\\x8em\xffS</2" +
    "\x86ea|\x94\x96\xcf\xf0\xf3N\x8a8-\x99\x8c?$ʇ\x1a" +
    "\x90eWl \x02H1\xb1\xb8\x87\xb1e\xc9㶦lP\x14" +
    "\xcbi\xd8\xc3\xe6\xa1\x06C>\xa1\x83!\x91\xe2X\xfdx" +
    "\xcb\tf\xcb\xe3h\u007f\xc6l\xd9y\x05\xbd\x1f^\xdfV\xef\xab\r" +
    "\a\x83b\xf9g[\xff\xbdF\xbc\x12\xed\x8d\xf3\xa3)\x1dM\x19O" +
    "g\"p\x83JM \x88=\f\x10\x1b\x00\u007f\x9e\xc0\x13r$@" +
    "2\x81c\a\xa7*|\xa3#\x1f\x03\\\xa5\xfd\xae8\xdc\xefz&" +
    "\x04\xd8}\x0fE$&\x8aز\xe2\x0e\x14\xf4\x80QZ\xa5\\\n" +
    "\x17Hkғ \xf7\xfd:Ez\x9bV\x12y\xa8\x98\xef\xfe_" +
    "\x9f\xef\xc6=\x06>\xd4b~\xba\xc1\x03\xe2]\xb0\x11\x0f;nZ" +
    "!\x1e\xbf\xd2\xef\xdd\xed\x12\xc1x\x97\x8b\xc7e9\xef\xc5" +
    "\x14\x99\xd9N\xa8\xbf\x05_2}\xa3= \xae\xc1?\n\x97L\xdb" +
    "\xeb\xfa\x14\x95\xb8\xd0o\x86l\x84\xc1b^\xf0eA\x19\xaa\x17\xc9" +
    "'\xe3\xd7)\\\xfdĽ+f\xaf\xfa\x94!\xf0\xe2\x9f}\x1fp" +
    "\x89\v\xa5#\x96\x01$\xdf=I\xf4\x05y\x8c7\xc6[\xf2\x1f\xaf" +
    "\x15\x8d\a\x93\xdf\x14M\x96d\xe8\x13\x92Ф\xbdwƼH\x95" +
    "\xf3\x97^NE\xdfL\xb7\x8b\x9e\xe4c\\:_,\u007fp\xf0\x03" +
    "\xf1PWk*m\xd2j\xa8[\x0f\xbe\x03:\r\\d\xc2a5" +
    "\xe8\u007fK\x86\xb2\xa1\xa2\x91Y\x80\xf7\x93o\x80\xfbtL\xaa\xe6j" +
    "\xa8s\x1e/*\x94\x8f\xc2\xf2*A\xaf\x92\xca\x1e\xc0\xfabj\xf3" +
    "(\xa8\x8a\n\x9f\xbc\x0e\xecN\xb5\xb9\x1e\xa1\x16\xb8\xd4\xea\xa9r\xc1" +
    "\x1b\x8b\xd5ӗ0\x91\x02\x13\x15ͣR\x88\xc1$\xd7ljf" +
    "1\xe6\xb09\xe0e㈥{\u007f1\ue05f\xa79\x90\xc6n" +
    "\xf1\xd74\xe3\x16\x9c\xa1\xc0\xb0\xb2\x91\x00\xeb`\xf2S\xfcN\xf1\xac" +
    "\xe6@\xba\xf9B\xae\xf8\xf9\xf7\xf8p&=<Z\xfc\x9a\x85\xbf\xde" +
    "\x86\xbf\xc6\x0e\xc2_\xcf(\xc5\x0300\xbc\x19\xdb\xd0~\x06\xa8\x16" +
    "`I\xa8\xe4\x0e38\x943\xe6q(kJx\x8f\x16\x13^\xcf" +
    "\xfe\xbf\xce\xfe\a\xb4\x98\xd0c\x94Y \x8b>R\x01\xefN\xefg" +
    "\x10\b\x9d\xa5S\xca\xebه^v-.[j\xa2\x16\xb9\xaa\xd7" +
    "\xa7\xb2U\r\xd1\xedW\xa6\xf3\xfevT\x8b\xfe\xc6*\xa1;P\r" +
    "L\x9e}\xb5\xc0\xbb\xaa\x87е4\xb8\xf0js\xbd\xabƳ\xdf" +
    "D\xac\xdf\xdb\x17\xf0\x8d\xbb\xf0\r_\xcd@\xc8\xc7{\xb5\x80d=" +
    "{\"\x18\x00<\xd0\x1a\x19&&a8z\x05\xef\xeeA" +
    "\xe3h\xb5E%<\xcd\fS}4\x1b&C\xe6$\xa8\u007f\xdca" +
    "\x9dd>\x95\x82ɊM2\xd4\xd6\x1a+wB\x93\x8c\x12\xe2\xf4" +
    "\x9b\xbeu\x19\xc1\xa9\xc5\xc3\x19[D?y\xf5R\x9a\xd3JK+" +
    "\xe8\xa9c\xfc\xa3\x1a\xf4\x1fi\xd7[gO\xce\xed\xc0\xc7_\xed#" +
    "@gH\f\xa5\xf2\xd7\xe9\u007f\x17\xa7\xfft\x880\v\x9c\xf5͉" +
    "\xdd\xe0\xe3rϧN;\x80A\x83\x81\xf3\xbe\xa7\xef@l\xc8\xc4" +
    "\x83\x11\xc9\x1d; a\xe0\x83\x9chSx\x88\x8dy\x10\b\x1c\x83" +
    "\x98K \x91\xb8p: \xc8f\xfd\xf9\xe3\x0e3\x1c\xc5\xee\xff\xfd" +
    "D\xf8\u007f\xfdt\xde0\xabO\x9e\x1fw\xb1\xf6\x90\xe5\xbeï5" +
    "gk[\xfd\x19\r\xb3\x93A\f7lq\xab\x85\a\xfb\xab\x8e\xbd" +
    "04\xc0\xd5\xd6\x06v\xb3\xfc\xc8\xf8\xe0\xe4\x84\xec\xd6-\xe3\xb5\xc9" +
    "l,{\xd5\xca#\xad\x8c<\xc7\xd7N\xf6\xaa\x05\a}\x8c\xa5g" +
    ";Z\x86\x9c\xcan\xde\x06\xa7\x92\xfd\x19'f\x8f\xcc\x0e\x9cc\x18" +
    "p\x89\xd1iv\xed\x00\x88|\b\\ry\x02ǀn\v\x0e\xc2" +
    "1t\xd5qHՎ3%\x9b\xa9\xf5\xe7=U\xd3\xe1Nk\x13" +
    "{\xb7|\xeb\x90\x1d\x90\x9e\xa4\t\xcb\x10d\xfc0;[ն\xd0" +
    "i\x10\xcc-B-\x0fu@\xff\xcelm\xb7\x1a8\xc7ZN\x86" +
    "\xef\x05;\xa0\xe5\xf1\x8e\xedٰ\xf7\xd4\x1f\xb7\x9e>\x83VZ\xeb" +
    "YC\xe5\xebD(\x8b\xdf\xcf\x0f\\%\x92\x1cy\x84gD\xc8\xf5" +
    "\a\x1f\x81m\x9ar\xd8\x17\xf4\x9b\xf2\xa8$\x01}Mh\x8d\xa4\xa0" +
    "k\x97}O\xa4\ufb09Y\x8c\xa4\x1d\x14C\xb5K\r4%\xe0" +
    "\xa1\x90\a\x80a!\a\xe2+\x8b1\x87\f\xe8~\xed\x1b\xbe+\x8f" +
    "1P\xe5\x90[\xa4yv\x8c\xaa\x9d\x91\u0382\x99\a\x1e\x1aՆ" +
    "#1\xb4/\xf2\xc9Y\x17w,\xb7\v\xbf\x01`(\xee\x8b\xc0\xdd" +
    "\v \x98\xd9Y\x06l(\xe4\x86h\xa5\xebt@\x8fQ\x9a3\xbc" +
    "O\xf7\x88\xeb\xd0V\x86\xf1C공\xf3\xfe\x8c\xfd\xb3\x87c\xb4" +
    "\xdbx\xb5\xf6\t8\xee\xe7\x9b9\x92\x19\x9d\xdb\x14\f7\xc983" +
    "\xf3\x86\xec\xdaA[\xf9\xc9AO\xf5\x03@K\xad\xf5\xec\xb5\xf2\x1d" +
    "\x10\x1e\a\x00\x18\x80#\xd2W\x1f\x83\xd6\xf5\xb7\xf1\x83\xf5\xf7\x8e\xbe" +
    "\xf4\x98\xe8\uf708\x12\xb1\xc5?\xee\x14\xf1\xbe\x06\xcc\x19\xf4\xefe" +
    "\xb3\xdeG \blqR6\x8a\xcelb\xc1\xca4\x94~+Q" +
    "PL\xdbϖ\xd2\xe9\t\xfcH(\x05\xc7Wp挄\x17\x03" +
    "\xcb\a\x1c\xa6\xf0\xa7ҩ\xe8\xe2\xfe\x92\xd7.˧B\xaf\xd0\x17" +
    "\xac\xaf[D\xf5\x17\x89PX\xe8o\x91\xa3\xad\xfef\xda\xfa\xc3\x17" +
    "&a\xeb\x1a\xf6\x8c\x81\x9a\x99\xb8!~\x16\x06\xe0\t\xf4G\t\x97" +
    "\xb4\xdd\x1fl\xef\xd7b\x18Q\x19w\xdc\xfc\x8e\xaa\xdd\f?#N" +
    "\xf2{\xf3\xbfU\xa0P\xddv\xa85\x17\xd8\x02X\xe5\xf3\xcc\xff\x18" +
    "Q\xaa\x19\x1eP\xfb\u007f\xaa67\xd2\xd5N\xa6}\xa3܉\xf7s" +
    "\x8c\xc1\xfau\xd9Z=ϙ\x81\a\x93<UU\x88\x8a?\xaa\xcd" +
    "[\b)\x9bx\"\x8drP\xed\xcf\x10\x9b\xc98\vظ\x1d\x8a" +
    "\xb3\xf9\xa8\xbc\x1c\xe8\x0eT\xf4W\xc2\xc6\xdbO\x93a\x92H\xf1I" +
    "\x0e\x9d|\xa6\x01\x8c\xa0\xd4P쒋\x84*B\x98\xe98\x984" +
    "\xfb\x92a\x05\x04\v\xeb\x1f\u007f\x8bh\xd3H\x1f\xd3\xe9\xe3Q\xfc\xd0" +
    "\x94\xd0F\xca\xca\xf1\x17\x90k9\xf4\xa3#\xf4(|\x1b-\xbe\x1d" +
    "\x93#\x90l\xfco\xbb\x19\x8f'\x12p\x92\xa7`\x12\x0fW\x00I" +
    "b\xb8\xff\xe2B\xd6\xc1\xf01p:N\xdfw\xd8\x14," +
    "\xe6\xf9\x8f\xb4F\xd3 \xe3\xaeR\x85\xbc\x0fn}\xd1\\\xe2'\xe9" +
    "\xd4\xe4.\x90\x83+\x00\x99FA\x99?eT\u007f=K\xab\x80\xef" +
    "\xc1\x1aB\xb1\x15\x84b\a\b\xc5^V\xac(6\x9d\xe9\xb6; " +
    "\x88\x05\x99\xd7T\xb56\xfe\xa54\xa8\xa9\x11\xbb1o\xb2\xc2\xc5\x05" +
    "\x95\xdb\xf5\x12?;\xda۩\xf0\x9aƸ\xc7\t\xa6\x06Py\xa6" +
    "?\xe8K\xf1kN\xb5y\xb4\x9b\xf8՝\t\x8c?\x91\xa6\xe5K" +
    "\x11@(\xee\xa4j5\x00\x00qV%\r\x84M\x98Q\xf5f}" +
    "\xc7\x11\xbe6\x03%\xf7C;J\xa2\xb2M\xf2B\x80ص\x9f\u007f" +
    "o\xe6\xeb\x81\xee\xd52K\xed\xddf*\x83-\xae\x17\xf2k2@" +
    "\xfa_ɣl\xa0E\x8d\x04\xf1\x98v\xe0R\xac\x03\r\x0eU\x96" +
    "\x131by\xf7\xc5\xc2Z\xa0nzQ)\x19\xafgwB=\xe4" +
    "\xee\xb7\xe7\xdb\xce?tgz\xc8\ap\xfbJ\xfb\xd6\u0086\x86\xe3" +
    "\xa9\xea\x1e\x03\x1d\xa5G,:|\aEi\x05*\x97T/\x9a}" +
    "\x03\xedq\xc8)\xda\xe4q)|\xe39ㄧ\xf6=\\%<" +
    ";\v\xa3\xff\x10O:\x80\xbf\xefg\xb5\xf2\x12<\xea\t,s\"" +
    "\xb6\x80\x14\xe6ؒ\xc3\xc4;\x1cg@\x01\x8a;\x1d\x19\xc7=\xb5" +
    "\xb8K\x80\x89\xb0\x82F\ueda9\xd8\xde@.B<\x81qN\x8b" +
    "|\xe61\x87\x9eyݜܕ\x87.\x99a\xe7@\xa5\x82A\x05" +
    "\xef\xa1@\xfa2\xe3TP\xf5q\x87\x00\xf5\x01\x93\x92\xa8\x15t\xee" +
    "\x06\x17\xe2\x0f\xcd\x15^\xaeKG\xa3\x81\x99\xcfH\xf8_y\x0ex" +
    "\xdc\xd3y`\\\x14Ob\xf8\x8a,\x8f\x8d$\x97\xb6\x82\ue05d" +
    "\x1a~80\x9f\x0e\avq)\x82\x00\xcc\xfa\xa2\x8bp\x15\xa1\xd4" +
    "\"\xd5\xe2\xe4~F\\\xb9\xb1Jx\xb9\x9e\xf95\xb2\x9f\xef\xber" +
    "`(j\xddm\x84>%Ϛ\vu\x1b\xd9_3ϿOj" +
    "\xfe\x14\x83|\xb6\xe0\x87&\xb6P-\x19\xcd\xf2\xe9\xb0\xe1\xec\x98\xdf" +
    "8\xaa\x98\xf02D\x164.\f\aB\x99`\\\x84ǰ$\xc6" +
    "\t\xad\x01-\x12\xaf\x1a\xaf\x17vD\xec\x1e\xfa\x90\xcd\xc4\xebĖ" +
    "T\xffg\xc7߀\xdd\xe1\xcf\x05m\x97\x13\xb9\xa7\xa06\xb0\xc5\xc0" +
    "\xb0\x17^\a[\xa6\xb5)\x94\t\x15\x1f\x97}\x89\x8c\"&\xf4\x1a" +
    "|{\xf1K\xce6n\xbb(\x85\xadx\xaa&8M>l\x99\xc8" +
    "C\aH\xba\x98\x98U\xd5\xc9)0\v\x0e\xb0^\x8e\xb6\xf0\xc1\u007f" +
    "8\x90\x0fdr>P]w\x01\x9cUx\x90oh\xb0\x8e[\xa8" +
    "\xbf\x85\xbb\x98#/\xe0\x1eu\xcce\x03\xcaV\xab\xfe\x11\x16\xef\xc2" +
    "\x12\xcb\xdbI+@% \xd0\xe0\x16f-\x0e\n\xd2\xec\xc9,\xa8" +
    ")\x0e\x17i\u20f6E\x9aޅ-\xd2\xf0\xf8߰H\x95\x17" +
    "\x81\x01\x95t\xb1\xb2\x96в\xf3lŎW~\xc3F9\u05fc" +
    "5\x12%P\xbaI}A\"\xber\x93\xf8\x82-\\\x89j\x9b\xfc" +
    "DqQ\x89\xfc0\xbc\xe67\x93ߦCH~\x8f\x1f⨲" +
    "\x9f\xa4\xffFI\xaa\x04\xe9xC\u007f\xfa8{\x11O\xea\xb0u\x1d" +
    "p\x0e\u007f\xe8}\xce|t9\x15`>u\xf6W\xf4\x83\x8d\xf5\xf2" +
    "\xf9<\x1fA4\xab\x8f*.r\xc4E[\xb7j\xd1\xf9v\xc0\x88" +
    "N\x91\\x\xc3H\x97cV\b\xf2\xccQo\x11npO8\x84" +
    "\xb84|\xcb4\xa9\x02\xb7\x1ad\xff\xb5\x82\x04K\xde\xdf-Q\xc7" +
    "\x1bg\x19\xafW\x8c%M\\\x88\b\x81\x8d\xe7\xe98\xa1\xfe\xec\x19" +
    "\xe0\xd4X\x1d\xd8(*JF\xa5\x9f\f\x109\x1bV\x94\xfcO\x9b" +
    "\x85\u007fU_\xfd\xa1\xd3\xd88Kh˿:}\xb3\xe9\xff\x02\xc8" +
    "0\xd4a\xa8\xc6}^\n\x15\xd1\xf5v浪n\x9fɾO" +
    "K~$\x9b\xd7ֆ\xfaW\xe2\xde\xcd%\x04-/OC\xc2h" +
    "i\xc1\x1e\x98[F\x83\xa7\n\x0f\x05\xd4&\xf7\f\xbf\x8f\x0f7\x81" +
    "\xfa\xa67|\xcfH\xe5\xb5\xe3|\x9f\x86\x1c\x94\xefRq[8>" +
    "\xb0\x00\xdfy\x1d\vL\xd7\x0e;z\xed,\x85\xe7\t`\r5y" +
    "\xf9\xb9\xc1\x19\x1f\xd1\xe9l/S\xfc\x92uu\x83\xc2\u05ca\x0e\x92" +
    "\x00\xfa\x8fUk\x97D-p\x9f\xfc\xc7\xe34\x1a}\xfb\t\xa4\xe6" +
    "\x02\xd1h\"o\xd4ȕ\x88\xae\x96\xf0Z\xad]\xa8\x90\xef\xe5\x1b" +
    "\xe76m\xf9_7\x19\xf0w<\xebT\x00\xfc\xd3\x0eJ+@\x1b" +
    "2\x98\xdcE\x1b\x88a\r\xf0}\x1a~/4\xee\x9b\xdf-\xf1\xf1" +
    "\xf5<>~\xddG<>\xbe\x1e\x91\x87וg\x8cE8O\xe1" +
    "\xfa+q\x1d\x8c\x9f\xdf\x1eJ\xea\x0e\xae\xc1\x8fn\x1a|\x90\xb0\x9b" +
    "\x0e\xe4\xcfK#3$+\x02\x92_\x86\x90;\x8bd\x0f\xe4^\xd2" +
    "\x8b\xc1\xe6\xd1\x02\xe7)\x87\xd9w0\xb376\x1e߇" +
    "\xba\xea\x8b}\x94\x03_}\x813\x11^L\x9e}\xc2ڌe\xea" +
    "1\xbbE\x85\xb9Q\v\xa6XS\xccܙ\x9d\x11\xf2\xd4b6>" +
    "\xd6D:U(\xbf\x1eU\x93\xe1jp\xa2\xdbO6O\x83gA" +
    "\xd3\xff\xf3\xf6$\xe0QU\xe7\xced\x06\x9c<\xc1;\xefSj\x14" +
    "\"\t\xa6\x1fa\x11\x12\x17\x8c\x01opԑ\xa5F0" +
    "\x90\xba\x0e$B\x1eI\x80\n\x96\xe0$\x98q\x12\xc4\xc5" +
    "*\xafZy\xad\xad<\xe5\x05\x15k\tQ\xc2\"\nD\x94\xa5 " +
    ">J\xb9C\x8a[\x9e\x15\b\x90w\xfe\xe5\x9c{\xeḛ\xb4o" +
    "\xf1\xfb0s\xef=\xeb\u007f\xfe\xf3\x9f\u007f?\x88`\x1b\r1\\\x94" +
    "ɺc<\xde\b\xa3\xee\xb7.)\xbf\x8bb\xa4P\xc0\xec\xd87" +
    "\xac3\xea\x9e\xe4\xa7\x10\xc9\xedh&Fcͫ|1r9\xc5" +
    "YdX_\xee\xf5\xba\x82\xe4\xe0\x05\xe3\xe0ɪа[\xe0\xae" +
    "q!\x01\xa2\x95\x05\xf9\xaa\x1b6\xcf\x1eJ\x9a\xa3\x14\xf7\x92\xd3\xf2" +
    "\x00\x88ai\xccE\xef\xc1\xea\xb5X\x0f\xef\x02\xe2iFZ\xfdE" +
    "\xd0\x16O\xbf\xc1\rk~\xa6%\x95u\u007f\x88u\xadß\xba\xe9" +
    "\x8e\x13\x13(\x9d\xf5\xfe\xe4\x17\x19\x9f\x1e\\\xcb\xf8t\x80" +
    "\xf1\xc9\xe2\x0e\xbf\xd2:\x97\x19t\xe8D\xecL\x83K\xd0]A\x04" +
    "_,\xe4#\x9eNL\xb9\x1a\xaek\x19\xf6\xc4\xc3\xbfN" +
    "௱b\xb4]W\xcfӲ\x834<\xfb\xd3\xc4\xec \xc1(" +
    "Ӽ,\xb8\xdf\xef\xb6y\xf8=W\xbf\x95/\x9c\xc5\xc66y{" +
    "\x8du\xff\xed\x14\xb2e\xc25\xddxyw\x8c/C?F\xf0\x82" +
    "\x99\x81Y\x8ar\xdb\xd6\xf5F\xca\xc6\u05c9#_\x9d\x86o\xae:" +
    "9\xf5\t\x17\xb5k\xed\xfe\x93\x17\xf8\xfd\xee8\xff\xe6\xee\x8c\x1a\x15" +
    "\x80V\xe8\x86\x1b\x96\xb78kw\xa2_\xb5\xc2\xc5\"t\xa4\x85\x8d" +
    "q\xef\x104\x11\x891\xb5u\xe3,?\\\xd4\xe3\x93c?\xfe\xa2" +
    "]'\x94X\xa7\xea\x1eQ>\xcbQ~\x13\x94W\xd1\xc3ңA" +
    "y\xfc\xf8\xd9\xd2\r7\xf5\\Q\xe4\x916(\x1b,\xb9\x89`\x89" +
    "^\xd0\xfe\x9c@\x9e{Iw\xfa\x1d\xf0\x88\x0eА\xc2\xe3\xaaQ" +
    "6h\xde=\xe8ş\xad\x1b\b:\xeb\xbb\xf3\x9e\xaa\x000H\xe8" +
    "\xb4\n\xe8ܘc6V\xf0|a\xf0=^<\x1f\x009'\xbc" +
    "\xeb\x85s\x01(\xcfQ~\xe5\v\xe7\r\xa0S7\xff\xed\x00\xfa\x9a" +
    "X\x99\xd3'a\xaf\x9d˾\xd4\xe3M\xa9_vp'\xc5\xf4C" +
    "m\x83\xef\xf7\x9f\x9f\x9c$\x879\x94\fe\xc6ͲFܢ\xa5" +
    "\xc8\t\xb1ɗ\xac\xc5\x05\t\xf1\xf9b\u007f\xbf\xc9\xfb\xfb\xb15\xbc" +
    "\xbf\x81\xbe\x91qk\x1e\xd0#\\\xe2X\x03\x93pI\x9f\xc8c\x90" +
    "\xa2Xk\x99B\x83Q\xea\xc90\x95\xa1T\x8cR8\f" +
    \xd4aP\x0e\xf9\xc9\n\xeb%7\xc5W\xcdN\xbci\xd3\x1a" +
    "\xe7\x13\xc7~\xaf\xb44\x80\xee\x8d\x99\x8b\a\xdfo[\xbf" +
    "\xc8\xce\xda(\xaf3\xb7\xa2\x0fh4w\x8ar\xf3\x83\x1f\xc5|Q" +
    "<\x1e\x9aQ\xbe\xf1\x9eNn\xba\xf2\xde\xea\xe3&\xe7\x1a\n,%" +
    "\x17\x96u.\x17;6\xbd{\x81\x18KT\x14\xc1\x14\xd0b %" +
    "\xcb\xefQ\xc5V\xcab\xf0\xb0\x8a\x1f\xfc\xb05\xea\xf9!\xc3:z" +
    "\xbf6\xb6\x1f'\xfa|Q\xf8\xda9F\xf8\xb0\xebl#\xec\x03#" +
    "<,\x8aķ\n\xb4\x13\x15\a/\xea\\}wׁ\xea\xb0\x18" +
    "\xed\xac\x9b~t\xce\xd1*T\xef7U\x1b\xea@\xcb\xe3\"/\x98" +
    "y\xb2\x81\x1a\xd5\xe7\xca\xee\xa2\xcfJ\xe8\xf3.\xd5\xe7\x89\u007f\x9a\xf0" +
    "]\xf5\x14\xd1\xe7\xfc\x82\xf3\xe93\x8f\xfa\xfc]\x89\xd6g\xa6\xf5D" +
    "\x97ۥ\xdc\x14\xac;\xbc\xa2\x9b\x1e\xd0\xcd7\xa7ȗ\x89ړ" +
    "\xc1\x06\xb2I\x8e3\x10\xcf۸\v\x13\x1ev\xf1C\b\xfa3\xc1" +
    "\x13\x9d\xbd\u007f\x8cZ*O7\xdeS\x84}\x03\x83\x17\xe4^\xc1\x81" +
    " \xe0\xdd]x\xf3\xea㿬ND\xd1W\xba\x9dmI\xa2\xdd" +
    "\x10\xb5\xbfy)\xa9\xde,\xae\xb7M\xab\xb7K\xd5\xfb\x1a\xc0\xdaG" +
    "t\x1aO\xa3\x94\xc3w\t\x9cs\xec\xd7ge\xfc\xe3\x1b\xbc_\x91" +
    "\xc85\xaa\f\xfd\xb7\x12!\x9e\xf7\x94\"ğ\xef\x833j}:" +
    "\x9dQ\xf8\x87\x12\xa7\a)\xa66 \xcf(\x18\xcaW\xfar\x1d\x93" +
    "\xcbe\xfd\xe49BɀM\x92\x97\xe7 \xeb/\xcb\xfaܲ\xec" +
    "\xadZِ,\xeb\xd7\xcbf\xa8\xb2\xd9Zيs\xb4\xfb\xed2" +
    "'\xa9Nt\x96\xe1\xe3\x1cpj\xdchE\xb2\xef\xa6{#8_" +
    "Xc\xe6\xb4@R\xf0rp\xbc+e\xe8\x81\xf7 \xeb:^=" +
    "{~\xf7\xe0\xebL\xbfK7\xb0\xdc\xee\x14\xe6\x05%\x95/k\xb4" +
    "\x97\x15\xf2G\xa2\xa0\a\xa7QW\v\x86\xec\xeb\xe3\xb43=\xf7n" +
    "\xf3\xb0\x10#\xe4\xfaG \xb1D\xa9\xad\xb6\xb6z\xde\xe7q)\xdf" +
    "l\x934\xad=ydn.\xcb\xd7\x0eTp,\x81\xdcn;\xee" +
    "\xf5\xd8\x02\x9aO\xfa\xcbA\x18]\xe5m\xba\xa77\xda\x1b\x1a{\x0e" +
    "\xea\x8d\xfa\xea\x1e\xe3H_\x1d\x92\xfa\xeab\xd2W_\xdb3M\x17" +
    "\xf7\xd89\x1b\\|\xab\xc7\xf2\xb2\x91J\xcdg\r(\xf3\xd8\xe2\xd4" +
    "<\x9a[\x94\xe8\r.#\xc8GD+\x9d\x13\xe9\xda\xd4\xfe\x1f\xc9" +
    "\xf2\xff*[^\x85\x9d-8\u007f\xf2u!1?)\xc9\x13\xa6F" +
    "\x9fs\x85Rw\xf8\xad\xb7\xb7K\x00Gɫ+\xab\xc5\xfa\xd5\a" +
    "\xd2&\x9b\xb4\xfe\xab\xce\"\xbf7fn\xfd.\x89\b\x8c\xfbF\xbb" +
    "\xec\x81r\a\x1b,\xe2H\xb9QT|f\x87\xba\xbf1WF\xcf" +
    "$%\x03J1\x9ew^\xd3\xfd}\xf2\xd4\x12\x14Ԍ\x98p\x03" +
    "\xa4u\xe9G\a\xf7D\xe9\xda9h\xb3מn\x80\x01\x949\xa9" +
    "\xe4-\xca\xc1\xcafcqz\x0f\x06\x8bS\xb3\x95i\xe6o3\xdf" +
    "\xfatǜc\xbf]\xf2QD\x94\xd9\b\"Ls{\x96\x99\xbf" +
    "Ek\"r\xcc[9\xd9h\xba\xcc\xcco\x83\x89Gכۏ" +
    "\xa0\xac\xd3\x06\xc9S\x9b\x0f\xfa0\x01\xec\x1e\xb3k#I@\xf4\xd6" +
    "\x0f\xc5\xdf\x1e\xd5뫟,\xfdK\xc1\x11\xd1x\x9bټ\xbe\xaf" +
    "\xf9\xfbe\x17\xef\xf9\x97\x9e\xbf\xbc\xb2\xbfx\xb33^EYf|" +
    "s\vc\x03b\xfb\xb0\x031B\xcbK\r\xc5\x06\x89w\xcd\a\xb3" +
    \xa5\x81Ԓ\u007f\xee\x8f\xc1<\x19\xfbG3\xff\x1bs\xadV" +
    "g\x8f\xd9\xdc\x8f\xfa\xf2\xb1\xd8\x16\xf3\x004\xf4n\xb6\xa5" +
    "覅\xd2\xcfd\x19\x8f\xb5\"Q\x95]\xbd\xab\xd5\xfb\xc6l\xde" +
    "\xe0\xac\xf7\xad\xa0ۘ\xdf\b\xa1\x06\t\x8a\x80s\xe4\x88" +
    "\xdfQ\xe5\xff`Bt\x1e\x8f(\x98\x02\xfa\x94\xebn\x10\u007f\x8a\x04" +
    "n\xc4z]\x0f/`\xa2\x8f\x9e\x16\x03\xbf5\xda\x1c\x8c\xb9o\xcd" +
    "\xdfh\x0f\xa1\bP*i\bE\x94L\xa0\xb5\x19\xa7\v\x19\x10v" +
    "\x17E\x8f\x9b\xb1\xe1\xc1\xfc\x8f̵Z\xc9Ϩ\xae\x86|\xfb\xf0" +
    "\x9cK\xac\xfb\xb5\x19\xbb&\x98\xff\xa1\xb9V+\xb9\x9f\xea>\xfd\xd7" +
    "\x11\xf7\xcd_\xff\xd1^\xaa\xbb?\xb9\xeev\x01\xb6`\xfefs\xad" +
    "V\x92\xc1\xa6A\x05\xc1\x96PW\x801\vg\x1fI\x13x\x05F" +
    "\xdb\xfcN\xc0rD\xd0\xf8\x9b'\xd5\xfd\x01\x94\x90\xcc4\xd6\x04\xca" +
    "\x11\xf4\x00w\xdc\xe9\x19\xc9\xfe\xa3\u007f\xf9\r\xef\xe7y\xa0\u007f \x86" +
    "\xf1\xa1b\xa3\xa9DO\xaaQ\xbb\xdcM,w\r3\xe3\x01\xf0%" +
    "'\xa7\xb0\x11\x82\x98\xb4fR\x96\x17k\xe6,\x97\xedy\x1a\xd0\f" +
    "\x9do\xb3\xea\x9bsG<\xb0\xd4\xc5\x1e.\xe0\x89.\xe86\xb55" +
    "L\xb4\xd5ۜHm\xf5s\xb6\x15+\xcb%W1\f\xea\x96Q" +
    "\xa0V\x9f\xa5Ě\xe1Ƞ\x8c4@\xd5\x16\xe0\x98/\xa6D\xba" +
    "S\xfcl\xf4\t\x924V\x01\x1a\x91\x01[DI\xf7#cE\xaf" +
    "/\xdf<\x91\x05\x80\xe4\x8b`\x95\x8a&\x03(o\x16:!\x1e\xc2" +
    "LK\x9c\fH\x9a\x8a?4\xbb6\xb0b\ak@S\x8d}6" +
    "K\xd6Îgx\x102\x9a\x90!,\xa8\xee`K\x98\x83\xd2\n" +
    "\xcfHe\xaeR\al\x86\xf5\xf0\x93\x04\x01r\xb7~\x86\xd6\xd0X" +
    "3^\xac\xfd\x11\x1f\xd2W\xd9ҥ\xceQ|\xbe\x04\x0f\xacyJ" +
    "\x83|@\xfeh\x14|I3H\x99c\\\xf1'5]\xfa\x0f\x92" +
    "\xd4;\xc9\xfa\xdf\u007f\xb3\xfd\xb71\xd3[\t\xe3ɵ\x02\xca/\xf4" +
    "f<\x19\xfb\x90\xb6\xb6\x9a\x93\xf74\rGF/qImj\x99" +
    "\x86#W\xc3\xfd\xc7c\x18GN\x97;\xdaa\x1c\xa9\xba\xd8Ə" +
    "\x93\x8d.\xf6\x00\x1f\xe3j\xb7\xe4\x04\x9f=\xe3\xf8\xff\xb8\xd2\xcew" +
    "\x04+ٺ.\x0f\xcf\xf5cy\xc6ceh\"\x9c\x86" +
    "Q7\xd9KC$\xf6\xb8\xa1\xcb#\x1f!\x885\xba\x178\v\xf0" +
    "\x819\x8c\xefg\x8a\x16\x1f\xf2\xab\x89\x18u\xefy(\x1dzu_" +
    "\x88\xbf\xbe\x93\xfd9H+\x988e&\xb1J\x8b:\x01" +
    "E\xe6\\n4M\x9d\x8e\xfb\xb2\xc4\x03\xf2\xcd\xd40$\xe1\xa9\v" +
    "\xa9nTѹٲh\xdd\xd5\\4\x18\x1bk\x16\xc5r\x03\x05" +
    "b\x04WP\x8dPb\xe3e\xd8\xf8\x1f1\x85\xf3\xd4\x19\xd8\xf8G" +
    "iIE\xb1q,Z\xf7\xef\\T4\x1e\x92\x8d?O5LA" +
    "K I\xd0\x1c\x98\xe5/\x96%\xa9q\x87\x1f\xb0g\x19\xd2\xcb~" +
    "S\x91\x94\xae\xcb8\xe0\x80\xc8\x18\x17Lf\x94\xd1\x14\xeeI\xb9\x85" +
    "@\xe3\tU\xe76$\xb9\b~\xfc\x99\xd6\rW\r\xa5\xa8z\xe3" +
    "\x94\xa4uX\xa6U\xc5\xd9\b\xa4\x00\xaa\f\x15;Tś\x82I" +
    "\xe9\x10K?K\x98\xe3\x92+\xf6\x97\x15\xf3\xd7I\xf4\xf2" +
    "\xfd\xb4\x02\u007fv\x98\xc6\xc0-\x1d\x86\xbfٌn5[[\x80\x18" +
    "\x19M\x1b#\xc7\x03F\xe4\xfb@\xf0\xda\x0e\x9aQ\xban\xab\xf1B" +
    "$\x94\xfb\xcc\xedG\xc5\x018*r\xc0\x1dL\u007f\x1f\xaa\xef\xec0" +
    "\x8aw\x88&6\x8b\u007f\xbdV\x9f\\\xe2\xea0\xee\xdal\fi\x9e" +
    "s\x11\xde\\\xc5\xfd-\\\xaa\xf8\xcc\xfa\u009c\xfe7\xba\xaa\xae\x17" +
    "\xd3 \x03\x1e\x99\x03e\xbf\xcba\x83\xb4\x1d\"\xa3U\x8f\x19.\x97" +
    "\xca,\xc5\x06\f\xd82\xa2\x9a\x15\x9a.w+\xb9\xb3\x1aM\xe59" +
    "\xfd\x03\xf5\xe1t\x94\x146\x04|.\xeb\xf9m\x14o\x9c\x1b\xf3\xe6" +
    "DG\xf5\xb0\xc3J\xf2\x95{;\vVW>N\x8d\xe5\xb2\xf3\xbd" +
    "tF\xc1D\x0ezV\xae\r\xf9G\xe3%b\x83\xc3\xd4\xdb\xe2^" +
    "p\r\xdf\x1b\xff\x18\x95\x8c\x99\x17\xcd\xdf\xecc\xd8\xc7G" +
    "\x92\x9f\xed\xaf\x17'\xe5@}L\x95y\x17\xa3\xd9\xe8\xf6\x80\xabO" +
    "b\xf9\x1f\x1c_\xe4Jq3z\xe6\xe8\xabm\xe1\x90S\xbf\x0e-" +
    "L-\x1c\x1e\xfe\x18U\xf2\x8d\x993\xb7'\xa5\xef\xbcP\xf5\xfdh" +
    "g\n\u007f\x99>/\xd9\xf9\xbd(\x92\x11d\xaa\xebp/R\xe4V" +
    "m.G\xa2\x89\x1d4\x05r\u007f\xf9i\xcd\xc5\xd0b\xe1\x1e\x94\xd9" +
    "\x06\x95\x16p\x93\xd3\xe5\xa0:Z@g\x94\xdfh\xba=\xddh\xda" +
    "\xc4h\x87k\xbf\x93qNȓ(\xd0\x01\xc7\xd3lf\uf18b" +
    "\b\xca\x05\x1f\xb3ՌM\xf33\xfb\x12\xbb\x13\x13\x93\x1e\xa9\xba\x89" +
    "\xcan\xff\xc2\xcc\xde \v~\v\x0e%n\xc1\xb2\xef7\x9a\x06\x05" +
    "j\xc4A\xbfx\xb6h[\xfc\xf2\x1a\x91\xb0\x1b\x95\xbc\xd0k\xcd\t" +
    "W\xb5\a\xdc\xd1\xc0\xaf\xac\xbd\xa0\xfe\xee\x9c\xfe\xa0\xe0\xe9_\xd3\xe9" +
    "\xad\xe0\x12\x16x-\xf6\x8e`\xe2+\xaf!\xb3:\x9ao" +
    "\x1a\a\xc0+#\xf2\x0f\xf8P\xde\r\x1d\x94\t\v\vګF\x02" +
    "\xfa\x8b\"\xdaI\xd9\xdfg\xad\xfc+KT\x14\xbc\xf0+" +
    "\t<\x01\x95\xb2\x00\x85\rC\n/\xb2\x90\xc27\xa3iJ\x98\xa5" +
    "_\x98(0\xa5x3\x8b\xcai\xb5Kt\fd\xb9\xca\x03Y\x1a" +
    "c\xca\x03\x84\x05c\x01\xfbI>\x06>\xb3\x17\xb9\xcaO\xf9\x16\xee" +
    "\xa2Lt\xd1N\x1d\x80\x83\x9d\xe8\xc0hzh\x86\xe8\xcc\u009b)" +
    "q5\x1c\x1d\x96\xa9\x0ey\x8f\x04Z\xe2\xe9\xe0\x84\x90\xfb.{\xc6" +
    "\x81\xf9&\u007fG\xfc\xd9ӸGr\xf8\xfe\x98\x14S=\xcb\xf9\xbf" +
    "\"\x15\xfe\r\xd3\xf1o\xc0ߊ\u007f\x13\x15\xfe\x8dKĿO\x12" +
    "\xf1/\x01\xf9f\xf8\xe1\xf6\xc1\xd8\x80\xc2\xd2\x04\xe4s\u007f" +
    "b4\r!\xb4[\xa0\xd0n\xf6\xff\x1c\xedru\xb4\xbb$%\xda" +
    "\x15\x9e\t\xed\xf2\xff\xeb\\h\xb7\xa10'\xec\xfa\xffĽ\xd0\xff" +
    "\x0e\xee\xc1\xb8݄\x80p\x8b\x9a\xf5\xcaZF\xc0턀K\b" +
    "\x01\xafL\x89\x80\xf6\xa4S\xe1_\x9f\x17R\xe1_?\x1d\xffz\xfd" +
    "]\xf8WEnk\xa9\x90\xf0\xf76\x12J\xfc\x9b\x99\x1a\xff\x86\x83" +
    "8\xb9\xfdK3\xbbU\x969e\xba?5\x9a\x86\x12\xea=\xa4P" +
    "\xef\xde$\xd4;n\xa3^_X\x8f\xbe\n\xf5\xfa2\xea\xf5u\xa2" +
    "\xdee:\xeauKD\xbd\xbe)(\x1e\xf8\xebZk\xbf&O=" +
    "Ӂz\xadpg\b\xeb\x9e¬\xe9b\xac\x03\xa6\x92<JS" +
    "\xe2\xda\xd4Ը\x96\x9b\x12\xe1\xb8[ĺ,\x85uc\x8d\xa6\x99" +
    "\x88p\n\xd7f*\\s\xf6U\xa6\xf7\x95ˎFxm!\xe0" +
    "\xdaE@솿Ÿv\x80p\xed\x1bOSXz" +
    "\x8aY\x9eA\xdei,̱X_\xfe\xca\x93\xe1\x80\f" +
    "X\x04\xbaI\xe0\xbfr\x92s+I\x01\x9b\xd2+\xa1\xc0֘9" +
    "p\xa0\xe4\vlÎϺ\xe4\xc6Ԭ\xc1\a\xa8)Tɏ" +
    "\x10\x83o\xf2\xdb\xc6\n\x81\xc4\xd3%\x12K\x03\x9b\x9f\xa1[\xcb\x1e" +
    "\x0e6cV\xec'\xa1\xea\x0e\xbb\xc12f\xf18\x91\xbb5\xbc\x94" +
    "\xf8,\xbfm QR\xfd;\xddH\xaa\xe7ԘKk\\\xca0" +
    "g4\x99\x89\xdb\xe4\xb1n:\xad\xce3\xb3ۑ+(\xa6t\xe5" +
    "UW\xd9\x19\x9d4C\\\x01)M\xab1u[\x90\x9c h\x16" +
    "p\xe7ǫT\x01ɸ`S\xf2\x04V\xc4\x11+v\x9b\xcd_" +
    "\x16\x04\xea\x17\b\x12[\xd3\xe5\xadL7#\xad^|t(\xc7\xc3" +
    "\xf2\a\xae:m\x1f#\x82N\x18\xb8\x85>\xf4j[\xe8m\xaf\xb6" +
    "\x85\x02\x05\x9dF\xedB\x8f\xf6\xb9̣}\x06o\xc1\xb9h\xf0%" +
    "\xf8\x96\xa9b#d1\xb2\xe5\xc7V\xe3\f\x8c\xa69a1\xf6\xaf" +
    "\xcc\xc8\x06Ҕu\x90\t\x9b!B\x04\xf7\v5\xdf\xe6?{\xa0" +
    "\xa4Ms\xbf\xb0+\x95\xf2\x9e6\x1e-@_\xa1 \a\xac;2" +
    "\xf3}r\x14\x9c\x1a\x01\x1c\xb1g\x18\x9c\x85\xb4\xd9-\xa3\xee)\xa4" +
    "\x8f\x97+I#\x05\xc5\v\xa7\xd1R\xa2\x9cPK\x06\a\xc8\x19\xc1" +
    "\xaf\x94\x9caD\xbe\x94\x19BX\x12\xc6[\xb8"
@ianlancetaylor ianlancetaylor added this to the Go1.6 milestone Sep 2, 2015
@stemar94
Copy link

@stemar94 stemar94 commented Sep 3, 2015

I looked into this and found, that the EOF occurs since archive/zip/reader.go's findDirectory64End returns a huge offset (4763001625832955028, should be wrong).
Call trace goes like this:
NewReader -> init -> findDirectory64End
init -> readDirecory64End => EOF

Maybe someone with more expertise than me can carry on from there.

@gopherbot
Copy link

@gopherbot gopherbot commented Sep 10, 2015

CL https://golang.org/cl/14433 mentions this issue.

@adg adg closed this in 2b50e6b Sep 11, 2015
@golang golang locked and limited conversation to collaborators Sep 22, 2016
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
4 participants
You can’t perform that action at this time.