// Code generated by vfsgen; DO NOT EDIT. // +build !dev package assets import ( "bytes" "compress/gzip" "fmt" "io" "io/ioutil" "net/http" "os" pathpkg "path" "time" ) // Assets statically implements the virtual filesystem provided to vfsgen. var Assets = func() http.FileSystem { fs := vfsgen۰FS{ "/": &vfsgen۰DirInfo{ name: "/", modTime: time.Date(2021, 1, 19, 9, 34, 46, 425278952, time.UTC), }, "/micro_chi.pb.go.tmpl": &vfsgen۰CompressedFileInfo{ name: "micro_chi.pb.go.tmpl", modTime: time.Date(2021, 1, 19, 9, 47, 48, 131848471, time.UTC), uncompressedSize: 1563, compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x02\xff\xa4\x54\x5d\x4f\xe3\x38\x14\x7d\xae\x7f\xc5\xdd\xac\x90\x12\x48\x9d\x45\xbb\x4f\x5d\x78\xd8\x45\x20\xa1\x5d\x18\xc4\x03\x48\x83\x10\x32\xce\x4d\x62\x35\xb1\x33\xf6\x4d\xa7\x55\x9b\xff\x3e\x72\x92\x7e\x40\x01\xa1\x99\x4a\x55\x1a\xfb\x1e\x9f\x73\xee\x3d\x75\x92\xc0\x99\x49\x11\x72\xd4\x68\x05\x61\x0a\xcf\x0b\xa8\xad\x21\x23\xc7\x39\xea\x71\xa5\xa4\x35\xac\x16\x72\x2a\x72\x84\xe5\x32\x37\x37\xd3\xfc\x7f\xe1\xe8\xbc\xc4\x0a\x35\x01\xbf\x50\x25\xc2\x0a\x5c\x5d\x2a\xfa\xc7\x5a\xb1\x80\xe0\xef\x00\x56\x50\x0a\x47\x6d\xcb\x98\xaa\x6a\x63\x09\x42\x06\x10\x48\xa3\x09\xe7\x14\xf8\xdf\x59\xd5\x3f\x35\x52\x52\x10\xd5\xdd\x8b\xc5\xac\x44\xd9\x6f\x38\xb2\x4a\xe7\x2e\x60\x6c\x14\xe4\x8a\x8a\xe6\x99\x4b\x53\x25\xb9\x19\xcb\x42\x25\xfe\x3b\xfb\x2b\x60\xa3\x4a\xa5\x69\x89\xdf\x85\x45\x78\xb7\x2c\xd9\x16\x75\x08\x69\xcd\x93\xa8\xd5\x0b\x40\xa3\x95\x23\x21\xa7\x63\x63\xf3\xa4\x2b\x49\x66\x7f\x26\xa2\x56\x01\x8b\x18\xa3\x45\x8d\x60\x4d\x43\xf8\x1f\x2e\xc0\x91\x6d\x24\x2d\x5b\xc6\xb2\x46\x4b\xb8\xf5\xeb\xd7\xa2\xc2\x50\xd2\x1c\x06\x93\xfc\xac\x7f\x46\x10\xf6\x4e\x62\x78\x36\xa6\x8c\x60\xc9\x60\xf8\xcc\x44\xd9\x60\x0c\x66\x0a\x93\x53\x90\x34\xe7\x77\x7e\x21\x5c\xd3\x2c\xdb\x88\x0f\xd8\x68\x83\xb1\x48\x8d\xd5\x5b\x28\xdb\x88\xc0\x5c\x39\x42\x1b\x5a\x38\x94\x85\xe2\x57\xcd\x3c\x86\x02\x94\x26\xb4\x99\x90\xb8\x6c\x63\xc0\xda\xc1\xc3\xe3\xe1\xa6\x01\xfc\x5c\xa7\xb5\x51\x9a\x22\x40\x6b\x8d\xdd\xd5\xe6\x35\x0d\xe3\xe8\x75\x7d\xc9\xc2\x22\x62\x9b\x02\x95\xc1\x8c\x5f\x37\xd5\x15\x52\x61\xd2\x30\x82\x13\x38\xde\xc1\xbf\xd2\x9b\x55\xc4\xcf\x3d\x45\x16\x06\x4a\xcf\x44\xa9\x52\x28\x84\x4e\x4b\xb4\xe0\x6a\x94\x2a\x53\x98\x4e\xe0\xe0\xf7\xa3\x59\x10\x43\xb1\xf5\xdb\x6e\x19\x33\x63\xe1\xc9\x9b\xe8\xa4\x09\x9d\x63\x67\x68\x9f\x53\xa5\x73\x5f\x32\x04\x88\x5f\xea\x14\xe7\x21\xd6\xdc\x8f\x28\x86\x80\x07\xd1\x3e\x24\xeb\x50\xde\xc3\x6a\x05\x25\xea\x75\x7d\x04\x27\xa7\xdd\xd6\x3e\xcd\x27\x2c\xee\xf6\x18\xb4\xa8\x70\x02\x07\x2e\xf0\x1e\xfa\xc3\xf7\xce\x6c\xf7\x56\x3c\xca\xbb\x19\x20\x0f\x2a\x9d\x1f\x1d\x4f\x1e\xf7\xea\x2a\x5f\x34\xe3\xfd\x38\xfe\x5d\x74\x71\xd4\x6f\x72\xa8\x0c\x7e\xab\xf8\xa5\xbb\xf3\x12\xc3\xc8\x1b\xf6\xaf\x5f\xd1\x9a\x30\xfa\x39\x9f\xc3\x28\x63\xa8\x3a\x7a\x38\x70\xa0\x0d\x41\x66\x1a\x9d\x06\x31\xe8\x77\xbc\xee\xa7\xa5\x58\xff\x1d\x2a\x7e\xb9\x4e\x6e\x18\xf1\xd0\x47\x3c\xf4\xd7\x04\xbf\x45\x57\x1b\xed\xf0\xde\x2a\xf2\x8c\x87\xc3\xea\xb7\x06\x1d\x45\x6f\xbb\x35\xd3\x5f\xb2\xb5\xc9\xe5\x0b\x51\x9f\x19\xde\x10\xd9\xa1\x2b\x3b\xb1\x1d\xe6\xf4\x91\x2c\x7e\xaf\xa8\x08\xb7\x37\x57\xf7\xfe\xfa\x86\xd8\x46\x29\x1a\x8e\xbc\xf0\x9d\xea\x09\xbb\xcd\x1b\x41\xc5\xc3\x1f\x8f\x31\xd8\xe2\x23\xc5\x2d\x1b\x8d\x46\x43\x2b\xb4\x2a\x59\xcb\x7e\x04\x00\x00\xff\xff\xe2\x32\xfe\xa2\x1b\x06\x00\x00"), }, "/micro_gorilla.pb.go.tmpl": &vfsgen۰CompressedFileInfo{ name: "micro_gorilla.pb.go.tmpl", modTime: time.Date(2021, 1, 19, 9, 35, 45, 169593324, time.UTC), uncompressedSize: 1248, compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x02\xff\xa4\x93\x5f\x4f\xdb\x3c\x14\xc6\xaf\xeb\x4f\x71\x5e\xbf\x42\x8a\x21\x38\x43\xbb\xeb\xe0\x62\x9b\x40\x43\xda\x18\xe2\x82\x49\x43\x08\x99\xe4\x38\xb1\x1a\xff\x99\xed\x54\x45\x6d\xbe\xfb\xe4\x34\x74\x9d\xc2\x24\xb4\xf9\xa6\xb5\xfd\x9c\xf3\x9c\x9f\xcf\x49\x51\xc0\x47\x5b\x21\xd4\x68\xd0\x8b\x88\x15\x3c\x3e\x81\xf3\x36\xda\xf2\xb8\x46\x73\xac\x55\xe9\x2d\x71\xa2\x5c\x88\x1a\x61\xbd\xae\xed\xf5\xa2\xfe\x2c\x42\x3c\x6f\x51\xa3\x89\xc0\x2f\x54\x8b\xb0\x81\xe0\x5a\x15\xdf\x7b\x2f\x9e\x80\xbe\xa3\xb0\x81\x56\x84\xd8\xf7\x84\x28\xed\xac\x8f\x90\x11\x00\x2a\x75\xa4\xe9\xd7\x60\x2c\x9a\x18\xdd\xb0\xf1\x28\x5b\x2c\xb7\x17\x21\x7a\x65\xea\x40\x09\x99\xd1\x5a\xc5\xa6\x7b\xe4\xa5\xd5\x45\x6d\xbd\x6a\x5b\x51\xe8\x6e\x45\xc9\x6c\xa8\xe9\x41\x38\x05\xfb\x9a\xce\xa8\x10\x45\xb9\x38\xb6\xbe\x2e\x06\x49\xb1\x7c\x5b\x08\xa7\x28\x61\x84\xc8\xce\x94\x70\x83\xb5\x0a\x11\x7d\xe6\xe1\x50\x77\x2b\x7e\x63\xbb\x88\x3e\x87\x06\x94\x89\xe8\xa5\x28\x71\xdd\xe7\x80\x2e\xc0\xdd\xfd\xe1\xce\x86\x9f\x9b\xca\x59\x65\x22\x03\xf4\xde\x7a\x58\x13\x18\xd7\x12\xe6\x67\x30\x02\xf0\x5b\xd1\x76\xf8\x55\x66\x0d\x23\x3b\x81\x92\xb0\xe4\x57\x9d\xfe\x82\xb1\xb1\x55\xc6\xe0\x14\x4e\xf6\xe2\x9f\x97\xc7\xd8\x79\x03\x52\x47\x7e\x9e\x2c\x64\x46\x95\x59\x8a\x56\x55\xd0\x08\x53\xb5\xe8\x21\x38\x2c\x95\x54\x58\xcd\xe1\xe0\xff\xa3\x25\xcd\xa1\x61\xbb\x3c\xfd\x2f\x47\x69\x3d\x3c\x24\x88\xa1\x34\x61\x6a\x1c\x80\xa6\x9e\xaa\x5a\x25\xc9\xf8\xe4\xfc\xd2\x54\xb8\xca\xd0\xf1\x2b\xa1\x31\x07\xca\x29\x9b\x86\xc8\x21\x2a\x31\x6c\x36\xd0\xa2\x79\xd6\x33\x38\x3d\x1b\xae\xa6\x36\xaf\x40\xdc\x7f\x63\x30\x42\xe3\x1c\x0e\x02\x4d\x0c\xdb\xe4\x93\x9c\xfd\xe4\x24\x45\x25\x9a\x31\xe4\x4e\x55\xab\xa3\x93\xf9\xfd\x44\xa7\x93\x68\xc9\xb7\xed\xf8\xf0\x94\xb4\x99\x79\xd1\x43\x49\xf8\x4f\xf3\xcb\x70\x9b\x4a\xcc\x58\x02\x4e\xdb\xef\xe8\x6d\xc6\xfe\x8e\x73\x6c\x65\x0e\x7a\xb0\x87\x83\x00\xc6\x46\x90\xb6\x33\x15\xcd\xc1\xfc\x81\x75\x3a\x2d\x4d\x0e\x76\x91\x48\x34\xbf\x7c\x9e\xdc\x8c\xf1\x2c\x4d\x79\x96\x3e\x2c\x7e\x83\xc1\x59\x13\xf0\x9b\x57\xc3\x88\x1f\x8e\xa7\x3f\x3a\x0c\x91\xbd\x4c\x6b\x17\xff\x84\xb5\x9b\xcb\xdf\x8a\x7a\x4d\xf3\x3c\xff\x34\xa4\xb8\x48\xe5\xa3\xe3\xd7\x22\x36\x77\x6f\xee\x73\xf0\x0d\x1b\x5b\x15\xd2\xf9\xf6\x2f\xe7\x9c\x0d\x4d\xce\x26\xf3\xd1\x93\xd9\x6c\x36\x56\x6a\x54\x4b\x7a\xf2\x33\x00\x00\xff\xff\xb8\xd2\xa4\xfd\xe0\x04\x00\x00"), }, "/{{trimSuffix \".proto\" .File.Name}}_micro.pb.go.tmpl": &vfsgen۰CompressedFileInfo{ name: "{{trimSuffix \".proto\" .File.Name}}_micro.pb.go.tmpl", modTime: time.Date(2021, 1, 12, 10, 40, 27, 967596087, time.UTC), uncompressedSize: 4844, compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x02\xff\xd4\x57\x4b\x6f\xdc\x36\x10\x3e\x47\xbf\x62\x20\x14\x81\x14\xac\xa5\x43\x6f\x5b\xe4\x90\x18\x09\x5a\xa0\x71\x82\xb8\x68\x0f\x41\x60\xd0\xd2\xac\x96\xb5\x96\x54\x49\x6a\x1d\x43\xd6\x7f\x2f\xf8\xd0\x8b\xab\xd5\x7a\x0d\xa3\x40\x7d\xb1\x48\xce\x37\x9c\xc7\x37\xb3\xc3\x34\x85\x4b\x9e\x23\x14\xc8\x50\x10\x85\x39\xdc\x3e\x40\x25\xb8\xe2\xd9\x45\x81\xec\x62\x47\x33\xc1\x83\x34\x05\xc9\x6b\x91\xe1\x1a\x9a\x26\xf9\x48\x4b\x4c\xae\xc8\x0e\xdb\x36\xa8\x48\x76\x47\x0a\x84\xa6\x29\xf8\x97\xbb\xe2\x77\x22\xd5\x87\x12\x77\xc8\x14\x18\x39\x78\x04\x59\x95\x54\xbd\x13\x82\x3c\x40\xf8\x4b\x08\x8f\x50\x12\xa9\xda\x36\x08\xe8\xae\xe2\x42\x41\x14\xbc\x0a\x33\xce\x14\xfe\x50\x61\x10\xbc\x32\x37\xde\x90\x8a\x42\x58\x50\xb5\xad\x6f\x93\x8c\xef\xd2\x9a\x51\xa9\x48\x76\x77\xc1\x45\x91\x1a\x91\x74\xff\x73\x4a\x2a\x1a\x02\x00\x74\xa8\xac\xa4\xfa\xe6\xd3\x40\x2b\x18\xf6\x40\x89\x62\x8f\xe2\x09\x40\x2b\x18\x06\x71\x10\x34\xcd\x05\xfc\x74\x8d\x62\x4f\x33\xd4\xd1\x80\xf5\x5b\x48\xdc\xda\x84\x07\x1e\x41\x09\xba\xbb\xae\x37\x1b\xfa\x03\x42\x77\x14\x82\xf6\x3d\x4d\xe1\x0a\xef\x9b\x66\xac\xa0\x6d\x3f\xb0\xbc\xe2\x94\x29\xa9\x53\xb0\xa7\x39\x4a\xd0\x81\xc0\x7e\x7b\x87\x2a\x27\x8a\xc0\x86\x0b\xf0\xc1\x20\xed\x2a\xd8\xd4\x2c\x5b\xd4\x1e\xc5\xf0\xed\xfb\x9b\x3e\xd0\x49\x77\x00\x4d\xa0\xa3\xb9\x27\x62\x74\xe5\xac\x64\x60\x04\x75\x04\x04\x61\x05\x0e\x7e\x7f\x42\xb5\xe5\x79\xdb\xf6\xe7\x74\x03\x8c\x2b\x88\x74\x86\x09\x65\x12\xa2\xbf\x25\x67\x10\x6d\x95\xaa\x3e\x57\x8a\x72\x06\x49\x1c\x43\xc8\xea\xb2\x0c\x63\xf0\x90\x68\x05\xff\x44\x71\x0b\x49\x0c\x61\xd8\x09\x74\xf6\xe9\xa0\xbf\x3e\xb4\xcf\x3a\xa2\xff\xb4\xeb\x6b\x08\xfd\x58\x24\x4d\xe3\x28\x1c\xae\x7a\xd9\x2f\x44\x6d\xd7\xf0\xed\xbb\x54\x82\xb2\xa2\x09\x9b\x46\x5f\xae\x77\x21\x69\xdb\xb0\x1d\x24\xad\x9b\x87\xb2\xd6\xd0\xa9\xac\xe7\xcb\x7b\x9e\x3f\x4c\x7d\xd1\x7f\x7a\xd7\x98\x39\x88\x4c\x4c\xd3\x4a\x90\xe5\x23\x84\x53\xcb\x05\x44\xc9\xa5\xa1\xf3\xb5\x12\x48\x76\x94\x15\x31\x44\x26\x21\x28\x86\xad\x11\xd2\x6e\xae\x41\x89\x1a\x97\x6e\xf8\x95\xb0\xbc\x44\xb1\x86\x50\x54\x99\xb3\xa5\xf5\x12\xdf\x05\x48\xbe\xcb\x73\xaa\xb3\x49\xca\xf7\x94\xe5\x94\x15\x12\x12\x3f\x59\x89\x09\xe5\x5b\x20\x55\x85\x2c\x8f\x26\xdb\x2b\xed\xbc\xf6\x39\x0e\x0e\xad\x19\xd8\x78\x00\x96\xab\xfe\x74\x0e\xb9\xb4\x12\xa8\x6a\xc1\x06\xe5\x81\xad\x4b\x9f\x2a\x6e\x01\x94\x29\x14\x1b\x92\x61\xa0\x1e\x2a\x3c\x2d\x66\xaa\x69\xb9\x44\x4c\x0b\x11\xf8\x8f\xdd\x32\x0d\xe4\x37\x56\xd5\xea\x0f\x7d\xc1\xb4\x73\x26\x5d\xe7\x84\x11\x52\x56\x23\xe4\xe7\x5a\x3d\x19\xda\x11\xc7\x67\xc9\x0c\x97\xc6\x18\xc2\xf2\x59\x90\xae\xf0\x79\xa0\x86\xba\x42\x8b\x5c\x93\x4f\x2e\xed\xff\x15\xbc\x69\x9a\xc1\xfb\xb6\x5d\x41\x92\x24\xe3\x46\x9e\x5c\x92\xb2\xb4\x4d\x22\x86\xc8\x0f\xf8\x4d\xaf\xd9\x6d\xaf\x00\x85\xe0\x22\x76\xf6\x62\x29\xf1\xb4\x0d\x2f\x7b\x25\x1b\xf2\xfa\xb4\xeb\xcf\x0b\x81\x91\xee\x92\xae\xa5\x8f\xdf\x6e\xbe\x5b\xfd\x2b\x75\x8c\x7e\xcf\x21\x5f\x0f\x3b\x93\x79\x06\x77\x1e\xe9\x66\x8b\xec\x20\x01\x5e\xb9\x01\xb8\xc8\x46\x31\x78\xb1\x36\xa7\xd7\xc8\xf2\x4f\xb2\x88\x7a\x54\xd3\xc6\x36\x88\xe6\xf8\x2b\x66\xfb\x85\xe3\x49\x15\x1c\xf6\x5c\x53\x05\x47\xfa\xae\xd6\xfc\x8e\xe5\x97\x25\x97\x18\x2d\x66\xd2\xef\x52\x1d\xe4\xc0\x0c\xdf\x02\x27\xaf\x5d\x8c\x3c\x5a\xf9\xe8\x69\x47\xd4\xba\x3c\xb3\x47\x56\x3f\xdd\x5a\xcb\x0d\xfb\x3d\x7c\xa5\x29\x7c\xd2\x84\x06\x37\x63\x49\x55\x6f\x36\xb3\x8d\xd6\xfd\xde\x74\x82\x5b\xbb\x9c\x27\x42\x27\x3b\x4e\xff\xab\xa5\x66\xfb\x9f\xb3\xfd\xfc\x26\x3b\x19\x98\x8e\x64\xf7\x9c\x56\xb2\x50\x3c\x46\xeb\x01\x2b\x9e\xd4\xb1\xce\xd6\x3a\xf0\xe1\x79\x1d\xd1\x23\x5f\xa7\x7f\x8e\x6b\xf6\x07\xfc\x2b\x16\x54\x2a\x14\xc7\x38\x23\xdc\xb9\xf4\x99\x66\x06\xe7\x13\xe8\x48\xc2\xf8\xc9\xe0\x92\xbb\x02\xb9\x3d\xc6\xd1\x15\xf0\x4a\xc9\xa1\xb1\x3b\xa0\x3b\xed\x7a\xbb\x71\xca\xf5\xb0\x19\xc6\x6b\x66\xf1\x7b\x14\x1f\xa9\xd0\xfc\x9a\xf2\xfe\xff\x4f\xfc\x13\x9c\x98\x46\x7c\x42\x33\x8f\x58\x2f\x44\x2e\x1b\x52\x4b\xaa\xf1\xf7\x30\x02\xcf\x76\x25\x90\x4a\xd4\x59\xf7\x8e\xb2\xb6\x2c\x64\x71\xa4\x6e\x6b\x1e\x32\x8b\xd2\x8e\x30\x8d\xdc\x5a\x88\x7e\x03\xde\xac\x26\x2f\x21\xcb\x81\x13\x4f\xbf\xc1\x38\xc3\xcb\x7e\xa2\xd6\xab\x2e\xd4\xfa\x2d\xf5\x17\x55\xdb\x0e\xd7\x8f\xdb\x71\x3c\x32\xda\x0d\xd0\xd2\x71\x39\x92\xc9\x15\xde\x77\x75\xf2\xda\xb7\xa1\xd9\xb6\xb6\x14\x92\x24\x89\x63\x3b\x9b\xbc\x34\x6d\xad\x5f\xcf\x25\x6f\x07\x7e\xd9\x41\xc5\xc8\x7a\x73\xca\xd2\x94\xb2\x38\xa3\x2c\x4e\x28\xcf\x9e\x4f\xf4\x95\xfd\x74\x72\xa4\x24\xa6\x93\x83\x3f\x95\x2c\xcd\x11\xc3\x44\x72\x4a\xeb\xd2\x64\x33\x99\x45\xc6\x25\x3c\x33\x03\xcf\x4f\x22\xff\x06\x00\x00\xff\xff\x2e\x87\x12\xc6\xec\x12\x00\x00"), }, "/{{trimSuffix \".proto\" .File.Name}}_micro_grpc.pb.go.tmpl": &vfsgen۰CompressedFileInfo{ name: "{{trimSuffix \".proto\" .File.Name}}_micro_grpc.pb.go.tmpl", modTime: time.Date(2021, 1, 16, 0, 55, 51, 142484770, time.UTC), uncompressedSize: 5873, compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x02\xff\xcc\x57\x4d\x6f\xa4\x46\x13\x3e\xd3\xbf\xa2\x16\xbd\x5a\xc1\x2b\xcc\x1c\x72\xf3\xca\x87\x95\x95\x55\x22\x65\x77\xa3\x75\xee\x16\xdb\x53\x83\x91\xa1\x19\x37\x8d\x3d\x16\xee\xff\x1e\x75\x75\xc3\x00\xc3\x7c\x19\x3b\x89\x0f\x1e\x4d\x7f\x55\x3d\xf5\xf1\xd4\x33\x8b\x05\x5c\x97\x4b\x84\x14\x05\xca\x44\xe1\x12\x7e\x3e\xc3\x5a\x96\xaa\xe4\x17\x29\x8a\x8b\x22\xe3\xb2\x64\x8b\x05\x54\x65\x2d\x39\x5e\x42\xd3\xc4\x5f\xb2\x1c\xe3\x6f\x49\x81\x5a\xb3\x75\xc2\xef\x93\x14\xa1\x69\xd2\xf2\xcf\xfb\xf4\x8f\xa4\x52\xbf\xe6\x58\xa0\x50\x40\xe7\xe0\x05\xaa\x75\x9e\xa9\xcf\x52\x26\xcf\xe0\x7f\xf2\xe1\x05\xf2\xa4\x52\x5a\x33\x96\x15\xeb\x52\x2a\x08\x98\xe7\xf3\x52\x28\xdc\x28\x9f\x31\x8f\x2c\xde\xf2\x3c\x33\x6f\xf8\x69\xa6\xee\xea\x9f\x31\x2f\x8b\x45\x2d\xb2\x4a\x25\xfc\xfe\xa2\x94\xe9\x82\x4e\x2d\x1e\x7f\x59\xd8\x83\x3e\xb4\x17\x2b\x94\x8f\x28\x4f\xb8\x68\x0f\xfa\x2c\x64\xec\x31\x91\x10\x30\x00\x80\x5b\xe8\xbf\x12\x7f\x5f\xab\xac\x14\x83\x1d\x6b\xaf\xdd\x09\x19\x6b\x9a\x0b\xf8\x1f\x41\xbd\xbc\x72\x98\xb5\xb6\xab\x37\x28\x1f\x33\x8e\x26\x54\xb4\xe9\xbe\x53\xec\xe0\x05\x94\xcc\x8a\x9b\x7a\xb5\xca\x36\xe0\xbb\x2d\xdf\xdc\x65\xea\x79\x6d\x22\x3a\xb8\xff\x02\x79\xf9\x84\xf2\x4b\x26\x4d\xf0\xdc\x0e\x54\x4a\xd6\x5c\x41\x43\x2e\xf2\xa1\x8b\xd7\xf4\x41\x3b\xc2\xbc\x50\x29\x99\x89\x94\x69\x66\xd2\xf9\xd5\x9c\x04\x17\xe5\x4a\xd5\xab\x15\x2d\x7f\xc3\xa7\xa1\xdd\xad\x29\x2e\x31\x51\x08\x02\x9f\xa0\x6a\x97\xac\x85\x55\x2d\xf8\x81\x9b\x41\xcf\x7a\x34\xed\x64\x08\xfb\xac\x5a\x64\x12\x55\x2d\x05\x7c\x3c\x25\x26\x0d\xbf\x04\x1e\x11\xe4\x4b\xfa\xaf\x0d\xe4\xa6\x91\x89\x48\x71\x9b\x83\xaf\xa8\xee\xca\x65\x9b\x29\x89\x0f\x76\x81\xf2\xf4\xbb\x58\xd7\xea\x2f\x93\x84\x61\xf5\xc6\xbd\xea\xb5\xd7\xaa\x75\xef\xda\xf7\x5a\x9d\x76\x2f\x5b\x41\x22\x96\x10\x88\x52\x81\x8b\xc0\x8d\x92\x98\x14\x99\x48\x43\x08\xc8\x47\x94\xbd\xa5\x0b\xad\x6d\x94\x03\x0e\xff\x3f\x25\x08\x26\xa0\xae\x45\x03\xae\x36\xe0\xfa\x2b\xbe\xb6\x9f\x11\x48\x7c\xa0\x97\x3a\xe0\x5a\x47\x50\xae\x55\x05\x71\x1c\x0f\x33\x94\xe4\xb9\xad\xf6\x10\x82\x71\x9a\x6e\x3b\x33\x6e\x39\x02\x94\xb2\x94\x21\x25\xce\x60\xc5\xbc\x42\x03\x78\x8c\xf3\x1d\x30\xbd\x9b\xfb\xff\x99\xf0\xd3\x95\xb6\xe6\xcc\x95\xb1\xb7\x62\x49\xce\xda\x6f\xd9\x0a\x4a\x39\x55\x4e\xc1\x4e\xd1\xd1\x1d\x30\x4d\x8a\x49\x41\xcf\x9a\x8a\xe6\x31\x8f\xed\x19\x83\x22\xa2\xef\xdf\xf0\xe9\x07\x3e\xd4\x58\xa9\x80\xc7\xa6\xbd\x22\xf0\xc7\x61\x8d\x3b\xf4\x7e\x44\x4d\xdb\x83\xd9\xe8\xd0\x22\x8d\xe3\x38\x24\xa3\xd9\x8a\xec\x7d\xb8\x02\x91\xe5\xae\xe1\xbb\x96\x17\x59\x4e\xee\xd0\x6a\x0f\xd8\x54\xeb\x80\xd6\xf0\xcf\xfe\xf5\xfd\xbf\xbc\x72\xe1\x8b\x6f\x50\x2c\x03\x89\x0f\xe1\xa7\x73\x81\xa1\x58\xba\x4c\x9c\xc5\x78\x6d\xb4\x1b\xeb\x80\x8e\xcc\xeb\xbd\x02\x6e\xdf\xac\xd6\xc6\xcb\x8f\xc3\x22\x6a\xec\x66\x2f\xe5\xa6\xe4\x66\x24\xdc\x20\x8f\x8c\xb1\x93\xf2\xbc\x3f\x20\xdd\x0e\x3d\xd5\x43\x44\x41\x22\x4e\x3f\xaf\xc2\x4f\x1e\xab\x1d\x9a\xe1\x7c\xb5\xd1\x1d\xce\x2f\x6b\x80\x69\xeb\x0c\xb1\xfa\x04\xa3\x53\xb5\x8e\x9d\xec\x48\x65\x73\x1a\xa9\x74\x5e\x85\xf0\x03\xf9\xe3\x67\xb1\xbc\xce\xcb\x0a\x83\x83\xbc\xe0\x15\xd3\x29\xf7\x5c\xbe\x37\xb1\x79\xeb\x6b\x95\x06\x45\xc8\x3c\x97\xa2\xab\x36\x45\x1e\x1d\x33\xa7\x9c\x29\xe6\x69\xd6\x1d\xfb\xb0\x3d\x36\xce\xa1\xa7\x99\xc7\xda\xd5\xc2\x66\xcf\xce\x3e\x9b\xbd\x57\x23\x6f\x21\x13\xc0\xa1\x3a\xd8\xc4\xae\xff\x5a\x5f\xe7\x98\xb1\x44\x1d\x84\x63\xea\xde\x67\xb2\x3d\x3f\xc7\xa8\xe1\x0d\xca\x04\x64\x42\xa1\x5c\x25\x1c\x1b\x7d\x18\x2a\x51\x4d\x31\xcb\x6a\x97\xff\xd3\xad\x9a\x2b\xce\x6a\xd3\x1c\x19\xee\xaf\x0b\x43\x50\x8c\xc7\xe3\xa9\x71\xe8\xd5\x98\xf3\x6d\xd4\x77\xb3\x7c\x23\xe4\x47\x06\x71\xb1\x8f\x64\xb7\x83\x62\x1c\xc9\x89\x41\xb1\xcb\x8a\xe6\x89\x3d\x1d\x05\x16\x6e\x8b\xbc\x2f\x05\xb6\x62\xdf\xfd\x32\x72\x62\xff\x38\x19\xfe\x96\x88\x65\x4e\x17\x3a\x0e\x1c\xf3\xbe\x3b\x42\x8e\x4c\xea\x6b\xf8\xd7\x04\xf6\x19\x73\xc1\x16\xc3\xdd\x91\x62\x70\x58\x8f\x4a\xbb\xc1\x94\x70\xbf\x23\xad\xb9\x6d\x09\x1f\x10\x31\x33\x34\x0c\xf3\x7a\x6c\xdf\x57\x5c\xf3\x34\x8e\xe7\xed\x28\x9c\xe9\xb2\xf5\xbc\x6e\x10\xd0\x0c\xf0\x06\x53\xfc\x2e\xde\x53\x3d\xf1\x20\xa0\x91\x29\xee\xc3\xb2\x67\x2b\xda\xc9\x9b\x56\xf5\x84\x6c\xac\x77\xce\x34\x3c\xc7\xaa\xd3\x24\x3d\x0f\xde\xb6\xaa\x26\x7f\x30\x18\x41\x37\x62\xa2\x3e\x4d\x9e\x8b\x5f\xe2\x03\xbd\x39\xa4\xd1\xb7\x57\x59\xa3\x48\xf6\x09\x66\x7f\xf3\xbc\xaf\xc4\x1a\xb9\x64\x87\x50\xa7\xb0\x8a\x43\x51\xee\x28\xbd\x1b\xdf\xe1\x96\xeb\xaf\xfa\x94\xde\x6a\xa9\x91\x4c\x19\x30\xbb\x69\x9c\x57\x08\xa5\x1d\xff\x77\x75\xd2\x6c\x95\xb4\x6b\xe3\xa0\x48\x7a\x03\x89\x34\x99\x95\x83\x5a\x65\xb6\x3e\xda\x31\x79\x54\x1e\xed\x17\x47\x8e\xe5\xc7\x55\x39\xaf\x28\x0f\x17\xe3\x29\xba\x88\xda\x68\x77\xec\xcc\x09\x50\x27\x89\xfa\xec\x34\x29\x89\xfa\x63\xe9\x5d\x25\xd1\xa4\x22\xd2\x9a\xfd\x1d\x00\x00\xff\xff\x69\xde\xfe\xf2\xf1\x16\x00\x00"), }, "/{{trimSuffix \".proto\" .File.Name}}_micro_http.pb.go.tmpl": &vfsgen۰CompressedFileInfo{ name: "{{trimSuffix \".proto\" .File.Name}}_micro_http.pb.go.tmpl", modTime: time.Date(2021, 1, 19, 9, 42, 47, 209483219, time.UTC), uncompressedSize: 7497, compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x02\xff\xcc\x58\xcb\x6e\xdb\x38\x17\x5e\x8b\x4f\x71\xaa\x3f\x7f\x21\x0d\x64\x7a\xd1\x5d\x0a\x2f\x3a\x41\x3b\x17\x4c\xda\x22\x29\x66\x53\x14\x81\x2a\x1f\xdb\x9a\x48\x94\x42\xd2\x4e\x02\x85\xef\x3e\xe0\x45\xb2\x24\xcb\xb7\xb8\x99\x99\x2e\x1a\x8b\xe4\xe1\xb9\x7f\xe7\x93\xc6\x63\xb8\x28\xa6\x08\x73\x64\xc8\x63\x89\x53\xf8\xfe\x08\x25\x2f\x64\x91\x8c\xe6\xc8\x46\x79\x9a\xf0\x82\x8c\xc7\x20\x8a\x25\x4f\xf0\x1c\xaa\x8a\x7e\x48\x33\xa4\x1f\xe3\x1c\x95\x22\x65\x9c\xdc\xc6\x73\x84\xaa\x9a\x17\x9f\x6f\xe7\x7f\xc4\x42\xbe\xcf\x30\x47\x26\xc1\x9c\x83\x27\x10\x65\x96\xca\x77\x9c\xc7\x8f\xe0\xbf\xf5\xe1\x09\xb2\x58\x48\xa5\x08\x49\xf3\xb2\xe0\x12\x02\xe2\xf9\x49\xc1\x24\x3e\x48\x9f\x00\xf8\xb3\x5c\xfa\x84\x78\x46\xf3\x4d\x92\xa5\xfa\x2e\x7f\x9e\xca\xc5\xf2\x3b\x4d\x8a\x7c\xbc\x64\xa9\x90\x71\x72\x3b\x2a\xf8\x7c\x6c\x4e\x8d\x57\x6f\xc6\xf6\xa0\x0f\xb5\xa0\x40\xbe\x42\x7e\x80\xa0\x3d\xe8\x77\x15\xde\x2c\xa4\x2c\xf7\x08\x8f\xec\xd1\x91\x3e\x3a\x5e\xbd\xf1\x49\x48\xc8\x2a\xe6\x10\x10\x00\x80\x1b\x68\xdb\x41\x3f\x95\x32\x2d\x58\x67\xc7\x8a\xd7\x3b\x21\x21\x55\x35\x82\x33\x13\xb4\xf3\x89\x8b\x9e\x52\x76\xf5\x1a\xf9\x2a\x4d\x50\x07\xdd\x6c\xba\x67\x93\x05\x78\x02\xc9\xd3\xfc\x7a\x39\x9b\xa5\x0f\xe0\xbb\x2d\x5f\xcb\x12\xf9\x58\xea\xdc\x74\xe4\x9f\x20\x2b\xee\x91\x7f\x48\xb9\x4e\x83\xdb\x01\x21\xf9\x32\x91\x50\x19\x13\x93\xae\x89\x17\xe6\x8f\xd9\x61\xfa\x06\x21\x79\xca\xe6\x44\x11\x5d\x18\x97\xfa\x24\xb8\x3c\x09\xb9\x9c\xcd\xcc\xf2\x47\xbc\xef\xea\x5d\xab\x4a\x38\xc6\x12\x81\xe1\x3d\x88\x7a\xc9\x6a\x98\x2d\x59\xb2\x43\x32\x68\x69\x8f\x86\x8d\x0c\x61\x9b\x56\xeb\x19\x47\xb9\xe4\x0c\x5e\x1f\x12\x93\x2a\x39\x87\x24\x32\x2e\x9f\x9b\xff\x95\x76\xb9\xaa\x78\xcc\xe6\xb8\xce\xc1\x25\xca\x45\x31\xad\x33\xc5\xf1\xce\x2e\x98\x3c\xfd\xc6\xca\xa5\xfc\xa2\x93\xd0\xed\x03\xda\xea\x03\x2b\x26\xca\x96\xd8\xa7\xa5\x3c\x4c\x2e\x9d\x41\xcc\xa6\x10\xb0\x42\x82\x8b\xc0\xb5\xe4\x18\xe7\x29\x9b\x87\x10\x18\x1b\x91\xb7\x96\x46\x4a\xd9\x28\x07\x09\xfc\x74\x48\x10\x74\x40\x5d\xb3\x07\x89\x7c\x00\xd7\xa9\xf4\xc2\xfe\x8d\x80\xe3\x9d\xb9\xa9\x71\x5c\xa9\x08\x8a\x52\x0a\xa0\x94\x76\x33\x14\x67\x99\xad\xf6\x10\x82\x7e\x9a\x6e\x1a\x35\x6e\x39\x02\xe4\xbc\xe0\xa1\x49\x9c\xf6\x15\x33\x81\xda\xe1\xbe\x9f\x2f\xe0\xd3\x8b\x99\xff\x9f\x09\xbf\x11\xa9\x6b\x4e\x8b\xf4\xad\x65\x53\x0d\x20\xba\x65\x5c\x9d\xe9\x12\x0b\xb4\xfa\x38\x65\x02\x82\xbf\x44\xc1\x20\x28\x4a\x64\x71\x99\xda\x6b\x81\x86\x21\xf8\x6c\x99\x65\x7e\xd8\x13\xde\x38\x48\xaf\x50\x94\x05\x13\x28\xea\x93\xc8\x79\x1e\x97\xba\xfc\xf3\xf8\x16\x83\x3c\x2e\xbf\xda\x4e\xff\x96\x32\x89\x7c\x16\x27\x58\xa9\x08\xaa\x0a\x32\x64\xbb\x2e\x54\x2a\x6c\x54\xdb\x56\x3d\xbb\x8d\xe0\x6c\xa5\xaf\x3e\xd8\x8e\xaf\x7e\x55\x9d\xdd\x2a\xe5\x7f\x83\x89\x46\x8b\x11\x04\x73\x94\x97\x28\x44\x3c\x47\xd3\x98\x16\xa9\xcf\x56\xf4\x3a\x59\x60\x1e\xd3\xdf\x45\xc1\xdc\xcf\x2b\x9c\x85\x16\x9a\x95\xaa\xd6\x71\xe8\xc5\x74\xfb\x23\x33\xf9\x3b\x9f\x40\x5c\x96\xc8\xa6\x81\x7e\x8c\xcc\x0e\xc0\xc6\x94\x72\xf8\x13\xf8\x55\xa5\x1f\xff\x44\xfe\x1d\xa8\x52\x7e\x18\xc1\x56\x91\xcf\xb1\x5c\xd4\x02\xfa\xb7\x13\x70\xe7\x87\x13\xae\xcf\xfe\x5c\x4c\x1f\x81\x86\xe0\xff\xf2\xfe\xcb\x3a\xc7\x43\x1a\xf4\xc9\x5a\x83\x95\xea\x6b\x68\xf9\x7b\x62\x8d\x1d\x53\x65\x43\xb6\xbe\xd7\xa5\x7f\x19\x97\x81\x4d\xfd\x6e\x2b\x5b\x0b\x21\x69\x34\x17\x7c\x08\x6c\x83\x0d\x48\x76\x92\xc2\x2c\x98\xa6\xd3\x69\x4e\x68\x42\xed\x19\xdd\xe3\x91\x79\xfe\x88\xf7\x57\x78\xb7\x44\x21\x83\x84\xea\xe1\x13\x81\xdf\x07\x1d\xda\x60\x83\x1f\x99\x91\xd6\x02\x81\x4a\x85\x91\x2d\x24\x4a\xa9\x6d\x88\x74\x66\x14\xbe\x9a\x00\x4b\x33\x37\x0f\x9b\x89\xc8\xd2\xcc\xd8\x63\x56\x15\xe9\xa4\x64\x03\x71\x95\x82\x7f\xf6\x5f\xdb\xfe\xf3\x89\x8b\x1f\xbd\xd6\xcd\xc1\xf1\x2e\x7c\x7b\xac\x63\xc8\xa6\x2e\x15\x47\x11\x82\x3a\xdc\x95\x35\x40\x45\xfa\xf6\x16\xbe\xd7\x77\x0a\x83\x63\xaf\xbb\x18\x5b\x35\xf8\x52\xe7\x5c\x23\xf2\x09\x19\xd7\x9e\x47\x5a\xd9\x61\x89\xde\x1e\x91\x66\xc7\xde\xb5\x76\xc9\x44\x49\x11\xf2\xec\xf6\x3c\xac\x31\xab\xea\x58\xa0\x1e\x8f\xc1\x74\x2d\xe4\x96\x34\xc9\x02\x44\x2c\x53\x31\x7b\xb4\x83\x0c\x9a\x99\xe1\xc6\x2d\xea\x21\xf9\x6c\x10\x0f\xad\xb6\x20\x74\xe4\xb3\x4b\x26\x67\xb9\xa4\xd7\x25\x4f\x99\x9c\x05\xfe\xff\xff\xb7\xf2\x23\xc0\x90\x58\xe7\x1d\x5c\x0c\xff\x24\x55\x75\x1c\x76\x1c\x4c\xe7\x9b\x32\xe9\xf2\x7a\x5b\xb6\x5d\xde\x6c\x15\x18\x73\x6b\x36\x39\xc0\x24\x0d\x0c\xf4\x8d\x6c\xc8\xcc\xc3\x61\x64\xa6\xb1\x2a\x84\x2b\x4c\x56\xef\xd8\xf4\x22\x2b\x04\x06\x3b\xf9\x88\x97\x0f\xf7\x92\xe7\x1a\xe9\x81\xea\xbb\x2e\xc5\x3c\xc8\x43\xe2\xb9\xd2\x9f\xd4\xa5\xef\x99\x63\xfa\x94\x53\x45\x3c\x45\x9a\x63\xaf\xd6\xc7\xfa\xbd\xe1\x29\xe2\x91\x7a\x35\xb7\x5d\xd1\x24\x4f\xe7\xee\xb9\x9e\xd7\x2e\xdb\x3a\xed\x14\xd2\x03\x75\xc0\x56\xdb\x7a\x8a\x1a\x4b\x10\x83\xb0\x4f\x19\xb7\xa9\xac\xcf\x9f\xa2\x54\x03\xb2\xc9\x04\xb4\x38\xdb\x6e\x57\x0d\x86\xe7\x27\x69\x6d\xf2\x7f\xb8\x56\x2d\xe2\xb4\x56\xd5\x9e\x97\x8a\xe7\x85\x21\xc8\xfb\xb4\xfc\xd0\x38\xb4\x6a\xcc\xd9\xd6\xeb\xbb\x93\x6c\x33\x9e\xef\x79\x01\xc8\xb7\x4d\xaf\xf5\x04\xee\x47\x72\x60\x02\x6f\x4e\x1b\x7d\xc5\x96\x8e\x72\x70\x58\x7b\x5e\xaf\x6a\x4f\xd7\x1f\x19\xdc\x37\x1d\xf7\x91\x61\x3f\x18\xfe\x1a\xb3\x69\x66\x04\x1a\x0c\xec\x0f\x54\x77\xc4\x18\x32\xf8\x5e\x0f\xff\xda\x8b\xfd\x11\x73\xc1\x16\xc3\x62\x4f\x31\x38\x5f\xf7\xbe\x52\x76\xa6\x84\xfb\x7e\x65\xd5\xad\x4b\x78\x07\x3b\x3c\x81\x1c\x12\xaf\x85\xf6\x6d\x2e\x7b\x1a\x79\xf4\xbc\x0d\xea\x38\x5c\xb6\x9e\xd7\x0c\x02\x33\x03\xbc\x0e\x3b\x5a\xd0\x2d\xd5\x43\x3b\x01\x8d\x74\x71\xef\xe6\x93\xeb\x8f\x05\xc6\x9a\x9a\x4e\x86\xa4\x4f\x24\x8f\x54\x7c\x8a\x56\xc7\xf5\x5a\x16\xfc\xd8\xaa\x1a\xfc\x50\xa1\x99\x72\x0f\x89\xda\x30\x79\xac\xff\x1c\xef\xcc\x9d\x5d\x18\xfd\x01\x2c\xab\xf3\x81\xc7\xb6\x47\x33\x6b\x8c\xa5\x5b\xc7\x2d\x81\x66\x2a\x6e\x4e\x27\x02\xcd\xf0\x1a\xdc\x6c\x7f\xe2\x3b\x82\x94\x59\x95\x0d\xbd\x1a\x0e\x70\xef\x4d\xa8\x43\x4b\xd6\xaa\xfb\xd7\x37\xb7\x1f\x76\x6b\x7d\xcb\x06\x44\x38\xcf\x9b\x49\xd4\x2e\x0a\x3b\x89\xfa\xef\x20\xfb\xe1\xbe\x9f\xa1\x16\xec\x6f\x87\xb4\x97\x25\xbe\x3d\x93\xc2\x6e\x62\xf2\x5d\xb5\xdf\x0c\xda\x86\x54\x85\xeb\x09\x3c\x69\x0f\xda\x9a\xe1\xf6\xc8\x63\x67\xde\x6a\x38\x7b\x06\x7d\xdd\xb0\x7f\x93\xbd\x9e\xcc\x5d\x37\x75\xec\xa4\xae\x3f\x80\xb8\x0e\x66\x65\x27\x83\x3c\x99\xb5\x6e\xa8\xdc\x4b\x5a\xb7\x53\xd6\xed\xad\x79\x82\xfb\xbb\x8b\xf1\x10\xb6\x6a\xda\x68\xa0\xd3\x4f\x08\xd0\x0e\x78\xe8\x11\xd5\x36\x59\x78\x51\xa2\x3a\xc8\x53\x95\x22\x7f\x07\x00\x00\xff\xff\x85\x3a\x95\xe6\x49\x1d\x00\x00"), }, } fs["/"].(*vfsgen۰DirInfo).entries = []os.FileInfo{ fs["/micro_chi.pb.go.tmpl"].(os.FileInfo), fs["/micro_gorilla.pb.go.tmpl"].(os.FileInfo), fs["/{{trimSuffix \".proto\" .File.Name}}_micro.pb.go.tmpl"].(os.FileInfo), fs["/{{trimSuffix \".proto\" .File.Name}}_micro_grpc.pb.go.tmpl"].(os.FileInfo), fs["/{{trimSuffix \".proto\" .File.Name}}_micro_http.pb.go.tmpl"].(os.FileInfo), } return fs }() type vfsgen۰FS map[string]interface{} func (fs vfsgen۰FS) Open(path string) (http.File, error) { path = pathpkg.Clean("/" + path) f, ok := fs[path] if !ok { return nil, &os.PathError{Op: "open", Path: path, Err: os.ErrNotExist} } switch f := f.(type) { case *vfsgen۰CompressedFileInfo: gr, err := gzip.NewReader(bytes.NewReader(f.compressedContent)) if err != nil { // This should never happen because we generate the gzip bytes such that they are always valid. panic("unexpected error reading own gzip compressed bytes: " + err.Error()) } return &vfsgen۰CompressedFile{ vfsgen۰CompressedFileInfo: f, gr: gr, }, nil case *vfsgen۰DirInfo: return &vfsgen۰Dir{ vfsgen۰DirInfo: f, }, nil default: // This should never happen because we generate only the above types. panic(fmt.Sprintf("unexpected type %T", f)) } } // vfsgen۰CompressedFileInfo is a static definition of a gzip compressed file. type vfsgen۰CompressedFileInfo struct { name string modTime time.Time compressedContent []byte uncompressedSize int64 } func (f *vfsgen۰CompressedFileInfo) Readdir(count int) ([]os.FileInfo, error) { return nil, fmt.Errorf("cannot Readdir from file %s", f.name) } func (f *vfsgen۰CompressedFileInfo) Stat() (os.FileInfo, error) { return f, nil } func (f *vfsgen۰CompressedFileInfo) GzipBytes() []byte { return f.compressedContent } func (f *vfsgen۰CompressedFileInfo) Name() string { return f.name } func (f *vfsgen۰CompressedFileInfo) Size() int64 { return f.uncompressedSize } func (f *vfsgen۰CompressedFileInfo) Mode() os.FileMode { return 0444 } func (f *vfsgen۰CompressedFileInfo) ModTime() time.Time { return f.modTime } func (f *vfsgen۰CompressedFileInfo) IsDir() bool { return false } func (f *vfsgen۰CompressedFileInfo) Sys() interface{} { return nil } // vfsgen۰CompressedFile is an opened compressedFile instance. type vfsgen۰CompressedFile struct { *vfsgen۰CompressedFileInfo gr *gzip.Reader grPos int64 // Actual gr uncompressed position. seekPos int64 // Seek uncompressed position. } func (f *vfsgen۰CompressedFile) Read(p []byte) (n int, err error) { if f.grPos > f.seekPos { // Rewind to beginning. err = f.gr.Reset(bytes.NewReader(f.compressedContent)) if err != nil { return 0, err } f.grPos = 0 } if f.grPos < f.seekPos { // Fast-forward. _, err = io.CopyN(ioutil.Discard, f.gr, f.seekPos-f.grPos) if err != nil { return 0, err } f.grPos = f.seekPos } n, err = f.gr.Read(p) f.grPos += int64(n) f.seekPos = f.grPos return n, err } func (f *vfsgen۰CompressedFile) Seek(offset int64, whence int) (int64, error) { switch whence { case io.SeekStart: f.seekPos = 0 + offset case io.SeekCurrent: f.seekPos += offset case io.SeekEnd: f.seekPos = f.uncompressedSize + offset default: panic(fmt.Errorf("invalid whence value: %v", whence)) } return f.seekPos, nil } func (f *vfsgen۰CompressedFile) Close() error { return f.gr.Close() } // vfsgen۰DirInfo is a static definition of a directory. type vfsgen۰DirInfo struct { name string modTime time.Time entries []os.FileInfo } func (d *vfsgen۰DirInfo) Read([]byte) (int, error) { return 0, fmt.Errorf("cannot Read from directory %s", d.name) } func (d *vfsgen۰DirInfo) Close() error { return nil } func (d *vfsgen۰DirInfo) Stat() (os.FileInfo, error) { return d, nil } func (d *vfsgen۰DirInfo) Name() string { return d.name } func (d *vfsgen۰DirInfo) Size() int64 { return 0 } func (d *vfsgen۰DirInfo) Mode() os.FileMode { return 0755 | os.ModeDir } func (d *vfsgen۰DirInfo) ModTime() time.Time { return d.modTime } func (d *vfsgen۰DirInfo) IsDir() bool { return true } func (d *vfsgen۰DirInfo) Sys() interface{} { return nil } // vfsgen۰Dir is an opened dir instance. type vfsgen۰Dir struct { *vfsgen۰DirInfo pos int // Position within entries for Seek and Readdir. } func (d *vfsgen۰Dir) Seek(offset int64, whence int) (int64, error) { if offset == 0 && whence == io.SeekStart { d.pos = 0 return 0, nil } return 0, fmt.Errorf("unsupported Seek in directory %s", d.name) } func (d *vfsgen۰Dir) Readdir(count int) ([]os.FileInfo, error) { if d.pos >= len(d.entries) && count > 0 { return nil, io.EOF } if count <= 0 || count > len(d.entries)-d.pos { count = len(d.entries) - d.pos } e := d.entries[d.pos : d.pos+count] d.pos += count return e, nil }