From 62b3d31fb7f85df243f7559199171ca3375ce89e Mon Sep 17 00:00:00 2001 From: Jon Skeet Date: Thu, 14 Aug 2008 20:36:24 +0100 Subject: Fixed a few TODOs --- csharp/TestBed/BclDecimal.cs | 14 + csharp/TestBed/BclProtoFile.cs | 1156 ++++++++++++++ csharp/TestBed/NorthwindProtoFile.cs | 1636 +++++++++++++++++++ csharp/TestBed/Program.cs | 44 + csharp/TestBed/Properties/AssemblyInfo.cs | 36 + csharp/TestBed/SlowBclProtoFile.cs | 776 +++++++++ csharp/TestBed/SlowNorthwindProtoFile.cs | 1142 ++++++++++++++ csharp/TestBed/TestBed.csproj | 59 + csharp/TestBed/TestBed.csproj.user | 10 + csharp/TestBed/bcl.proto | 45 + csharp/TestBed/bcl.proto2 | 42 + .../TestBed/bin/Debug/Google.ProtocolBuffers.dll | Bin 0 -> 201216 bytes .../TestBed/bin/Debug/Google.ProtocolBuffers.pdb | Bin 0 -> 767488 bytes csharp/TestBed/bin/Debug/TestBed.exe | Bin 0 -> 79872 bytes csharp/TestBed/bin/Debug/TestBed.pdb | Bin 0 -> 364032 bytes csharp/TestBed/bin/Debug/TestBed.vshost.exe | Bin 0 -> 14328 bytes csharp/TestBed/bin/Debug/before.dtc | Bin 0 -> 336163 bytes csharp/TestBed/bin/Debug/fast.dtc | Bin 0 -> 316568 bytes .../TestBed/bin/Release/Google.ProtocolBuffers.dll | Bin 0 -> 174080 bytes .../TestBed/bin/Release/Google.ProtocolBuffers.pdb | Bin 0 -> 669184 bytes csharp/TestBed/bin/Release/TestBed.exe | Bin 0 -> 65024 bytes csharp/TestBed/bin/Release/TestBed.pdb | Bin 0 -> 294400 bytes csharp/TestBed/bin/Release/TestBed.vshost.exe | Bin 0 -> 14328 bytes .../bin/Release/TestBed.vshost.exe.manifest | 11 + csharp/TestBed/java/bcl/Bcl.java | 1348 ++++++++++++++++ csharp/TestBed/java/northwind/Nwind.java | 1661 ++++++++++++++++++++ csharp/TestBed/java/slowbcl/Slowbcl.java | 942 +++++++++++ csharp/TestBed/java/slownorthwind/Slownwind.java | 1132 +++++++++++++ csharp/TestBed/nwind.proto | 38 + csharp/TestBed/nwind.proto.bin | Bin 0 -> 133010 bytes .../obj/Debug/TestBed.csproj.FileListAbsolute.txt | 7 + csharp/TestBed/obj/Debug/TestBed.exe | Bin 0 -> 79872 bytes csharp/TestBed/obj/Debug/TestBed.pdb | Bin 0 -> 364032 bytes .../Release/TestBed.csproj.FileListAbsolute.txt | 7 + csharp/TestBed/obj/Release/TestBed.exe | Bin 0 -> 65024 bytes csharp/TestBed/obj/Release/TestBed.pdb | Bin 0 -> 294400 bytes csharp/TestBed/output.txt | 831 ++++++++++ csharp/TestBed/slowbcl.proto | 43 + csharp/TestBed/slownwind.proto | 36 + 39 files changed, 11016 insertions(+) create mode 100644 csharp/TestBed/BclDecimal.cs create mode 100644 csharp/TestBed/BclProtoFile.cs create mode 100644 csharp/TestBed/NorthwindProtoFile.cs create mode 100644 csharp/TestBed/Program.cs create mode 100644 csharp/TestBed/Properties/AssemblyInfo.cs create mode 100644 csharp/TestBed/SlowBclProtoFile.cs create mode 100644 csharp/TestBed/SlowNorthwindProtoFile.cs create mode 100644 csharp/TestBed/TestBed.csproj create mode 100644 csharp/TestBed/TestBed.csproj.user create mode 100644 csharp/TestBed/bcl.proto create mode 100644 csharp/TestBed/bcl.proto2 create mode 100644 csharp/TestBed/bin/Debug/Google.ProtocolBuffers.dll create mode 100644 csharp/TestBed/bin/Debug/Google.ProtocolBuffers.pdb create mode 100644 csharp/TestBed/bin/Debug/TestBed.exe create mode 100644 csharp/TestBed/bin/Debug/TestBed.pdb create mode 100644 csharp/TestBed/bin/Debug/TestBed.vshost.exe create mode 100644 csharp/TestBed/bin/Debug/before.dtc create mode 100644 csharp/TestBed/bin/Debug/fast.dtc create mode 100644 csharp/TestBed/bin/Release/Google.ProtocolBuffers.dll create mode 100644 csharp/TestBed/bin/Release/Google.ProtocolBuffers.pdb create mode 100644 csharp/TestBed/bin/Release/TestBed.exe create mode 100644 csharp/TestBed/bin/Release/TestBed.pdb create mode 100644 csharp/TestBed/bin/Release/TestBed.vshost.exe create mode 100644 csharp/TestBed/bin/Release/TestBed.vshost.exe.manifest create mode 100644 csharp/TestBed/java/bcl/Bcl.java create mode 100644 csharp/TestBed/java/northwind/Nwind.java create mode 100644 csharp/TestBed/java/slowbcl/Slowbcl.java create mode 100644 csharp/TestBed/java/slownorthwind/Slownwind.java create mode 100644 csharp/TestBed/nwind.proto create mode 100644 csharp/TestBed/nwind.proto.bin create mode 100644 csharp/TestBed/obj/Debug/TestBed.csproj.FileListAbsolute.txt create mode 100644 csharp/TestBed/obj/Debug/TestBed.exe create mode 100644 csharp/TestBed/obj/Debug/TestBed.pdb create mode 100644 csharp/TestBed/obj/Release/TestBed.csproj.FileListAbsolute.txt create mode 100644 csharp/TestBed/obj/Release/TestBed.exe create mode 100644 csharp/TestBed/obj/Release/TestBed.pdb create mode 100644 csharp/TestBed/output.txt create mode 100644 csharp/TestBed/slowbcl.proto create mode 100644 csharp/TestBed/slownwind.proto (limited to 'csharp') diff --git a/csharp/TestBed/BclDecimal.cs b/csharp/TestBed/BclDecimal.cs new file mode 100644 index 00000000..c9f7ebbb --- /dev/null +++ b/csharp/TestBed/BclDecimal.cs @@ -0,0 +1,14 @@ +namespace Google.ProtocolBuffers.Bcl { + public partial class Decimal { + public decimal ToDecimal() { + if (Lo == 0 && Hi == 0) return decimal.Zero; + + int lo = (int)(Lo & 0xFFFFFFFFL), + mid = (int)((Lo >> 32) & 0xFFFFFFFFL), + hi = (int)Hi; + bool isNeg = (SignScale & 0x0001) == 0x0001; + byte scale = (byte)((SignScale & 0x01FE) >> 1); + return new decimal(lo, mid, hi, isNeg, scale); + } + } +} diff --git a/csharp/TestBed/BclProtoFile.cs b/csharp/TestBed/BclProtoFile.cs new file mode 100644 index 00000000..9289e120 --- /dev/null +++ b/csharp/TestBed/BclProtoFile.cs @@ -0,0 +1,1156 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! + +using pb = global::Google.ProtocolBuffers; +using pbc = global::Google.ProtocolBuffers.Collections; +using pbd = global::Google.ProtocolBuffers.Descriptors; +using scg = global::System.Collections.Generic; +namespace Google.ProtocolBuffers.Bcl { + + public static partial class BclProtoFile { + + #region Descriptor + public static pbd::FileDescriptor Descriptor { + get { return descriptor; } + } + private static readonly pbd::FileDescriptor descriptor = pbd::FileDescriptor.InternalBuildGeneratedFileFrom ( + new byte[] { + 0x0a, 0x09, 0x62, 0x63, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x03, 0x62, 0x63, 0x6c, 0x22, 0xa9, 0x01, 0x0a, + 0x08, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x70, 0x61, 0x6e, 0x12, 0x0d, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x12, 0x12, 0x30, 0x0a, 0x05, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x1b, 0x2e, 0x62, 0x63, 0x6c, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x70, 0x61, 0x6e, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x53, + 0x70, 0x61, 0x6e, 0x53, 0x63, 0x61, 0x6c, 0x65, 0x3a, 0x04, 0x44, 0x41, 0x59, 0x53, 0x22, 0x5c, 0x0a, 0x0d, 0x54, 0x69, + 0x6d, 0x65, 0x53, 0x70, 0x61, 0x6e, 0x53, 0x63, 0x61, 0x6c, 0x65, 0x12, 0x08, 0x0a, 0x04, 0x44, 0x41, 0x59, 0x53, 0x10, + 0x00, 0x12, 0x09, 0x0a, 0x05, 0x48, 0x4f, 0x55, 0x52, 0x53, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x4d, 0x49, 0x4e, 0x55, + 0x54, 0x45, 0x53, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x45, 0x43, 0x4f, 0x4e, 0x44, 0x53, 0x10, 0x03, 0x12, 0x10, + 0x0a, 0x0c, 0x4d, 0x49, 0x4c, 0x4c, 0x49, 0x53, 0x45, 0x43, 0x4f, 0x4e, 0x44, 0x53, 0x10, 0x04, 0x12, 0x0a, 0x0a, 0x06, + 0x4d, 0x49, 0x4e, 0x4d, 0x41, 0x58, 0x10, 0x0f, 0x22, 0xa9, 0x01, 0x0a, 0x08, 0x44, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, + 0x65, 0x12, 0x0d, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x12, 0x12, 0x30, 0x0a, 0x05, + 0x73, 0x63, 0x61, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x62, 0x63, 0x6c, 0x2e, 0x44, 0x61, + 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x70, 0x61, 0x6e, 0x53, 0x63, 0x61, 0x6c, 0x65, + 0x3a, 0x04, 0x44, 0x41, 0x59, 0x53, 0x22, 0x5c, 0x0a, 0x0d, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x70, 0x61, 0x6e, 0x53, 0x63, + 0x61, 0x6c, 0x65, 0x12, 0x08, 0x0a, 0x04, 0x44, 0x41, 0x59, 0x53, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x48, 0x4f, 0x55, + 0x52, 0x53, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x4d, 0x49, 0x4e, 0x55, 0x54, 0x45, 0x53, 0x10, 0x02, 0x12, 0x0b, 0x0a, + 0x07, 0x53, 0x45, 0x43, 0x4f, 0x4e, 0x44, 0x53, 0x10, 0x03, 0x12, 0x10, 0x0a, 0x0c, 0x4d, 0x49, 0x4c, 0x4c, 0x49, 0x53, + 0x45, 0x43, 0x4f, 0x4e, 0x44, 0x53, 0x10, 0x04, 0x12, 0x0a, 0x0a, 0x06, 0x4d, 0x49, 0x4e, 0x4d, 0x41, 0x58, 0x10, 0x0f, + 0x22, 0x1e, 0x0a, 0x04, 0x47, 0x75, 0x69, 0x64, 0x12, 0x0a, 0x0a, 0x02, 0x6c, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, + 0x12, 0x0a, 0x0a, 0x02, 0x68, 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x06, 0x22, 0x34, 0x0a, 0x07, 0x44, 0x65, 0x63, 0x69, + 0x6d, 0x61, 0x6c, 0x12, 0x0a, 0x0a, 0x02, 0x6c, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x12, 0x0a, 0x0a, 0x02, 0x68, + 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x12, 0x11, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x53, 0x63, 0x61, 0x6c, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x2e, 0x48, 0x01, 0xc2, 0x3e, 0x1a, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x73, 0x2e, 0x42, 0x63, 0x6c, 0xca, + 0x3e, 0x0c, 0x42, 0x63, 0x6c, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x69, 0x6c, 0x65, + }, new pbd::FileDescriptor[] { + }); + #endregion + + #region Extensions + #endregion + + #region Static variables + internal static readonly pbd::MessageDescriptor internal__static_bcl_TimeSpan__Descriptor + = Descriptor.MessageTypes[0]; + internal static pb::FieldAccess.FieldAccessorTable internal__static_bcl_TimeSpan__FieldAccessorTable + = new pb::FieldAccess.FieldAccessorTable(internal__static_bcl_TimeSpan__Descriptor, + new string[] { "Value", "Scale", }); + internal static readonly pbd::MessageDescriptor internal__static_bcl_DateTime__Descriptor + = Descriptor.MessageTypes[1]; + internal static pb::FieldAccess.FieldAccessorTable internal__static_bcl_DateTime__FieldAccessorTable + = new pb::FieldAccess.FieldAccessorTable(internal__static_bcl_DateTime__Descriptor, + new string[] { "Value", "Scale", }); + internal static readonly pbd::MessageDescriptor internal__static_bcl_Guid__Descriptor + = Descriptor.MessageTypes[2]; + internal static pb::FieldAccess.FieldAccessorTable internal__static_bcl_Guid__FieldAccessorTable + = new pb::FieldAccess.FieldAccessorTable(internal__static_bcl_Guid__Descriptor, + new string[] { "Lo", "Hi", }); + internal static readonly pbd::MessageDescriptor internal__static_bcl_Decimal__Descriptor + = Descriptor.MessageTypes[3]; + internal static pb::FieldAccess.FieldAccessorTable internal__static_bcl_Decimal__FieldAccessorTable + = new pb::FieldAccess.FieldAccessorTable(internal__static_bcl_Decimal__Descriptor, + new string[] { "Lo", "Hi", "SignScale", }); + #endregion + + } + + #region Enums + #endregion + + #region Messages + public sealed partial class TimeSpan : pb::GeneratedMessage { + private static readonly TimeSpan defaultInstance = new TimeSpan(); + public static TimeSpan DefaultInstance { + get { return defaultInstance; } + } + + public override TimeSpan DefaultInstanceForType { + get { return defaultInstance; } + } + + protected override TimeSpan ThisMessage { + get { return this; } + } + + public static pbd::MessageDescriptor Descriptor { + get { return global::Google.ProtocolBuffers.Bcl.BclProtoFile.internal__static_bcl_TimeSpan__Descriptor; } + } + + protected override pb::FieldAccess.FieldAccessorTable InternalFieldAccessors { + get { return global::Google.ProtocolBuffers.Bcl.BclProtoFile.internal__static_bcl_TimeSpan__FieldAccessorTable; } + } + + #region Nested types + public static class Types { + public enum TimeSpanScale { + DAYS = 0, + HOURS = 1, + MINUTES = 2, + SECONDS = 3, + MILLISECONDS = 4, + MINMAX = 15, + } + + } + #endregion + + // optional sint64 value = 1; + private bool hasValue; + private long value_ = 0L; + public bool HasValue { + get { return hasValue; } + } + public long Value { + get { return value_; } + } + + // optional .bcl.TimeSpan.TimeSpanScale scale = 2 [default = DAYS]; + private bool hasScale; + private global::Google.ProtocolBuffers.Bcl.TimeSpan.Types.TimeSpanScale scale_ = global::Google.ProtocolBuffers.Bcl.TimeSpan.Types.TimeSpanScale.DAYS; + public bool HasScale { + get { return hasScale; } + } + public global::Google.ProtocolBuffers.Bcl.TimeSpan.Types.TimeSpanScale Scale { get { return scale_; }} + + public override bool IsInitialized { + get { + return true; + } + } + + public override void WriteTo(pb::CodedOutputStream output) { + if (HasValue) { + output.WriteSInt64(1, Value); + } + if (HasScale) { + output.WriteEnum(2, (int) Scale); + } + UnknownFields.WriteTo(output); + } + + private int memoizedSerializedSize = -1; + public override int SerializedSize { + get { + int size = memoizedSerializedSize; + if (size != -1) return size; + + size = 0; + if (HasValue) { + size += pb::CodedOutputStream.ComputeSInt64Size(1, Value); + } + if (HasScale) { + size += pb::CodedOutputStream + .ComputeEnumSize(2, (int) Scale); + } + size += UnknownFields.SerializedSize; + memoizedSerializedSize = size; + return size; + } + } + + public static global::Google.ProtocolBuffers.Bcl.TimeSpan ParseFrom(pb::ByteString data) { + return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed(); + } + public static global::Google.ProtocolBuffers.Bcl.TimeSpan ParseFrom(pb::ByteString data, + pb::ExtensionRegistry extensionRegistry) { + return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)) + .BuildParsed(); + } + public static global::Google.ProtocolBuffers.Bcl.TimeSpan ParseFrom(byte[] data) { + return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed(); + } + public static global::Google.ProtocolBuffers.Bcl.TimeSpan ParseFrom(byte[] data, + pb::ExtensionRegistry extensionRegistry) { + return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)) + .BuildParsed(); + } + public static global::Google.ProtocolBuffers.Bcl.TimeSpan ParseFrom(global::System.IO.Stream input) { + return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed(); + } + public static global::Google.ProtocolBuffers.Bcl.TimeSpan ParseFrom( + global::System.IO.Stream input, + pb::ExtensionRegistry extensionRegistry) { + return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)) + .BuildParsed(); + } + public static global::Google.ProtocolBuffers.Bcl.TimeSpan ParseFrom(pb::CodedInputStream input) { + return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed(); + } + public static global::Google.ProtocolBuffers.Bcl.TimeSpan ParseFrom(pb::CodedInputStream input, + pb::ExtensionRegistry extensionRegistry) { + return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)) + .BuildParsed(); + } + + public static Builder CreateBuilder() { return new Builder(); } + public override Builder CreateBuilderForType() { return new Builder(); } + public static Builder CreateBuilder(global::Google.ProtocolBuffers.Bcl.TimeSpan prototype) { + return (Builder) new Builder().MergeFrom(prototype); + } + + public sealed partial class Builder : pb::GeneratedBuilder { + protected override Builder ThisBuilder { + get { return this; } + } + + // Construct using global::Google.ProtocolBuffers.Bcl.TimeSpan.CreateBuilder() + internal Builder() {} + + global::Google.ProtocolBuffers.Bcl.TimeSpan result = new global::Google.ProtocolBuffers.Bcl.TimeSpan(); + + protected override global::Google.ProtocolBuffers.Bcl.TimeSpan MessageBeingBuilt { + get { return result; } + } + + public override Builder Clear() { + result = new global::Google.ProtocolBuffers.Bcl.TimeSpan(); + return this; + } + + public override Builder Clone() { + return new Builder().MergeFrom(result); + } + + public override pbd::MessageDescriptor DescriptorForType { + get { return global::Google.ProtocolBuffers.Bcl.TimeSpan.Descriptor; } + } + + public override global::Google.ProtocolBuffers.Bcl.TimeSpan DefaultInstanceForType { + get { return global::Google.ProtocolBuffers.Bcl.TimeSpan.DefaultInstance; } + } + + public override global::Google.ProtocolBuffers.Bcl.TimeSpan BuildPartial() { + global::Google.ProtocolBuffers.Bcl.TimeSpan returnMe = result; + result = null; + return returnMe; + } + + public override Builder MergeFrom(pb::IMessage other) { + if (other is global::Google.ProtocolBuffers.Bcl.TimeSpan) { + return MergeFrom((global::Google.ProtocolBuffers.Bcl.TimeSpan) other); + } else { + base.MergeFrom(other); + return this; + } + } + + public override Builder MergeFrom(global::Google.ProtocolBuffers.Bcl.TimeSpan other) { + if (other == global::Google.ProtocolBuffers.Bcl.TimeSpan.DefaultInstance) return this; + if (other.HasValue) { + Value = other.Value; + } + if (other.HasScale) { + Scale = other.Scale; + } + this.MergeUnknownFields(other.UnknownFields); + return this; + } + + public override Builder MergeFrom(pb::CodedInputStream input) { + return MergeFrom(input, pb::ExtensionRegistry.Empty); + } + + public override Builder MergeFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) { + pb::UnknownFieldSet.Builder unknownFields = + pb::UnknownFieldSet.CreateBuilder(this.UnknownFields); + while (true) { + uint tag = input.ReadTag(); + switch (tag) { + case 0: + this.UnknownFields = unknownFields.Build(); + return this; + default: { + if (!ParseUnknownField(input, unknownFields, + extensionRegistry, tag)) { + this.UnknownFields = unknownFields.Build(); + return this; + } + break; + } + case 8: { + Value = input.ReadSInt64(); + break; + } + case 16: { + int rawValue = input.ReadEnum(); + if (!global::System.Enum.IsDefined(typeof(global::Google.ProtocolBuffers.Bcl.TimeSpan.Types.TimeSpanScale), rawValue)) { + unknownFields.MergeVarintField(2, (ulong) rawValue); + } else { + Scale = (global::Google.ProtocolBuffers.Bcl.TimeSpan.Types.TimeSpanScale) rawValue; + } + break; + } + } + } + } + + + // optional sint64 value = 1; + public bool HasValue { + get { return result.HasValue; } + } + public long Value { + get { return result.Value; } + set { SetValue(value); } + } + public Builder SetValue(long value) { + result.hasValue = true; + result.value_ = value; + return this; + } + public Builder ClearValue() { + result.hasValue = false; + result.value_ = 0L; + return this; + } + + // optional .bcl.TimeSpan.TimeSpanScale scale = 2 [default = DAYS]; + public bool HasScale { + get { return result.HasScale; } + } + public global::Google.ProtocolBuffers.Bcl.TimeSpan.Types.TimeSpanScale Scale { + get { return result.Scale; } + set { SetScale(value); } + } + public Builder SetScale(global::Google.ProtocolBuffers.Bcl.TimeSpan.Types.TimeSpanScale value) { + result.hasScale = true; + result.scale_ = value; + return this; + } + public Builder ClearScale() { + result.hasScale = false; + result.scale_ = global::Google.ProtocolBuffers.Bcl.TimeSpan.Types.TimeSpanScale.DAYS; + return this; + } + } + } + + public sealed partial class DateTime : pb::GeneratedMessage { + private static readonly DateTime defaultInstance = new DateTime(); + public static DateTime DefaultInstance { + get { return defaultInstance; } + } + + public override DateTime DefaultInstanceForType { + get { return defaultInstance; } + } + + protected override DateTime ThisMessage { + get { return this; } + } + + public static pbd::MessageDescriptor Descriptor { + get { return global::Google.ProtocolBuffers.Bcl.BclProtoFile.internal__static_bcl_DateTime__Descriptor; } + } + + protected override pb::FieldAccess.FieldAccessorTable InternalFieldAccessors { + get { return global::Google.ProtocolBuffers.Bcl.BclProtoFile.internal__static_bcl_DateTime__FieldAccessorTable; } + } + + #region Nested types + public static class Types { + public enum TimeSpanScale { + DAYS = 0, + HOURS = 1, + MINUTES = 2, + SECONDS = 3, + MILLISECONDS = 4, + MINMAX = 15, + } + + } + #endregion + + // optional sint64 value = 1; + private bool hasValue; + private long value_ = 0L; + public bool HasValue { + get { return hasValue; } + } + public long Value { + get { return value_; } + } + + // optional .bcl.DateTime.TimeSpanScale scale = 2 [default = DAYS]; + private bool hasScale; + private global::Google.ProtocolBuffers.Bcl.DateTime.Types.TimeSpanScale scale_ = global::Google.ProtocolBuffers.Bcl.DateTime.Types.TimeSpanScale.DAYS; + public bool HasScale { + get { return hasScale; } + } + public global::Google.ProtocolBuffers.Bcl.DateTime.Types.TimeSpanScale Scale { get { return scale_; }} + + public override bool IsInitialized { + get { + return true; + } + } + + public override void WriteTo(pb::CodedOutputStream output) { + if (HasValue) { + output.WriteSInt64(1, Value); + } + if (HasScale) { + output.WriteEnum(2, (int) Scale); + } + UnknownFields.WriteTo(output); + } + + private int memoizedSerializedSize = -1; + public override int SerializedSize { + get { + int size = memoizedSerializedSize; + if (size != -1) return size; + + size = 0; + if (HasValue) { + size += pb::CodedOutputStream.ComputeSInt64Size(1, Value); + } + if (HasScale) { + size += pb::CodedOutputStream + .ComputeEnumSize(2, (int) Scale); + } + size += UnknownFields.SerializedSize; + memoizedSerializedSize = size; + return size; + } + } + + public static global::Google.ProtocolBuffers.Bcl.DateTime ParseFrom(pb::ByteString data) { + return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed(); + } + public static global::Google.ProtocolBuffers.Bcl.DateTime ParseFrom(pb::ByteString data, + pb::ExtensionRegistry extensionRegistry) { + return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)) + .BuildParsed(); + } + public static global::Google.ProtocolBuffers.Bcl.DateTime ParseFrom(byte[] data) { + return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed(); + } + public static global::Google.ProtocolBuffers.Bcl.DateTime ParseFrom(byte[] data, + pb::ExtensionRegistry extensionRegistry) { + return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)) + .BuildParsed(); + } + public static global::Google.ProtocolBuffers.Bcl.DateTime ParseFrom(global::System.IO.Stream input) { + return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed(); + } + public static global::Google.ProtocolBuffers.Bcl.DateTime ParseFrom( + global::System.IO.Stream input, + pb::ExtensionRegistry extensionRegistry) { + return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)) + .BuildParsed(); + } + public static global::Google.ProtocolBuffers.Bcl.DateTime ParseFrom(pb::CodedInputStream input) { + return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed(); + } + public static global::Google.ProtocolBuffers.Bcl.DateTime ParseFrom(pb::CodedInputStream input, + pb::ExtensionRegistry extensionRegistry) { + return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)) + .BuildParsed(); + } + + public static Builder CreateBuilder() { return new Builder(); } + public override Builder CreateBuilderForType() { return new Builder(); } + public static Builder CreateBuilder(global::Google.ProtocolBuffers.Bcl.DateTime prototype) { + return (Builder) new Builder().MergeFrom(prototype); + } + + public sealed partial class Builder : pb::GeneratedBuilder { + protected override Builder ThisBuilder { + get { return this; } + } + + // Construct using global::Google.ProtocolBuffers.Bcl.DateTime.CreateBuilder() + internal Builder() {} + + global::Google.ProtocolBuffers.Bcl.DateTime result = new global::Google.ProtocolBuffers.Bcl.DateTime(); + + protected override global::Google.ProtocolBuffers.Bcl.DateTime MessageBeingBuilt { + get { return result; } + } + + public override Builder Clear() { + result = new global::Google.ProtocolBuffers.Bcl.DateTime(); + return this; + } + + public override Builder Clone() { + return new Builder().MergeFrom(result); + } + + public override pbd::MessageDescriptor DescriptorForType { + get { return global::Google.ProtocolBuffers.Bcl.DateTime.Descriptor; } + } + + public override global::Google.ProtocolBuffers.Bcl.DateTime DefaultInstanceForType { + get { return global::Google.ProtocolBuffers.Bcl.DateTime.DefaultInstance; } + } + + public override global::Google.ProtocolBuffers.Bcl.DateTime BuildPartial() { + global::Google.ProtocolBuffers.Bcl.DateTime returnMe = result; + result = null; + return returnMe; + } + + public override Builder MergeFrom(pb::IMessage other) { + if (other is global::Google.ProtocolBuffers.Bcl.DateTime) { + return MergeFrom((global::Google.ProtocolBuffers.Bcl.DateTime) other); + } else { + base.MergeFrom(other); + return this; + } + } + + public override Builder MergeFrom(global::Google.ProtocolBuffers.Bcl.DateTime other) { + if (other == global::Google.ProtocolBuffers.Bcl.DateTime.DefaultInstance) return this; + if (other.HasValue) { + Value = other.Value; + } + if (other.HasScale) { + Scale = other.Scale; + } + this.MergeUnknownFields(other.UnknownFields); + return this; + } + + public override Builder MergeFrom(pb::CodedInputStream input) { + return MergeFrom(input, pb::ExtensionRegistry.Empty); + } + + public override Builder MergeFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) { + pb::UnknownFieldSet.Builder unknownFields = + pb::UnknownFieldSet.CreateBuilder(this.UnknownFields); + while (true) { + uint tag = input.ReadTag(); + switch (tag) { + case 0: + this.UnknownFields = unknownFields.Build(); + return this; + default: { + if (!ParseUnknownField(input, unknownFields, + extensionRegistry, tag)) { + this.UnknownFields = unknownFields.Build(); + return this; + } + break; + } + case 8: { + Value = input.ReadSInt64(); + break; + } + case 16: { + int rawValue = input.ReadEnum(); + if (!global::System.Enum.IsDefined(typeof(global::Google.ProtocolBuffers.Bcl.DateTime.Types.TimeSpanScale), rawValue)) { + unknownFields.MergeVarintField(2, (ulong) rawValue); + } else { + Scale = (global::Google.ProtocolBuffers.Bcl.DateTime.Types.TimeSpanScale) rawValue; + } + break; + } + } + } + } + + + // optional sint64 value = 1; + public bool HasValue { + get { return result.HasValue; } + } + public long Value { + get { return result.Value; } + set { SetValue(value); } + } + public Builder SetValue(long value) { + result.hasValue = true; + result.value_ = value; + return this; + } + public Builder ClearValue() { + result.hasValue = false; + result.value_ = 0L; + return this; + } + + // optional .bcl.DateTime.TimeSpanScale scale = 2 [default = DAYS]; + public bool HasScale { + get { return result.HasScale; } + } + public global::Google.ProtocolBuffers.Bcl.DateTime.Types.TimeSpanScale Scale { + get { return result.Scale; } + set { SetScale(value); } + } + public Builder SetScale(global::Google.ProtocolBuffers.Bcl.DateTime.Types.TimeSpanScale value) { + result.hasScale = true; + result.scale_ = value; + return this; + } + public Builder ClearScale() { + result.hasScale = false; + result.scale_ = global::Google.ProtocolBuffers.Bcl.DateTime.Types.TimeSpanScale.DAYS; + return this; + } + } + } + + public sealed partial class Guid : pb::GeneratedMessage { + private static readonly Guid defaultInstance = new Guid(); + public static Guid DefaultInstance { + get { return defaultInstance; } + } + + public override Guid DefaultInstanceForType { + get { return defaultInstance; } + } + + protected override Guid ThisMessage { + get { return this; } + } + + public static pbd::MessageDescriptor Descriptor { + get { return global::Google.ProtocolBuffers.Bcl.BclProtoFile.internal__static_bcl_Guid__Descriptor; } + } + + protected override pb::FieldAccess.FieldAccessorTable InternalFieldAccessors { + get { return global::Google.ProtocolBuffers.Bcl.BclProtoFile.internal__static_bcl_Guid__FieldAccessorTable; } + } + + // optional fixed64 lo = 1; + private bool hasLo; + private ulong lo_ = 0UL; + public bool HasLo { + get { return hasLo; } + } + public ulong Lo { + get { return lo_; } + } + + // optional fixed64 hi = 2; + private bool hasHi; + private ulong hi_ = 0UL; + public bool HasHi { + get { return hasHi; } + } + public ulong Hi { + get { return hi_; } + } + + public override bool IsInitialized { + get { + return true; + } + } + + public override void WriteTo(pb::CodedOutputStream output) { + if (HasLo) { + output.WriteFixed64(1, Lo); + } + if (HasHi) { + output.WriteFixed64(2, Hi); + } + UnknownFields.WriteTo(output); + } + + private int memoizedSerializedSize = -1; + public override int SerializedSize { + get { + int size = memoizedSerializedSize; + if (size != -1) return size; + + size = 0; + if (HasLo) { + size += pb::CodedOutputStream.ComputeFixed64Size(1, Lo); + } + if (HasHi) { + size += pb::CodedOutputStream.ComputeFixed64Size(2, Hi); + } + size += UnknownFields.SerializedSize; + memoizedSerializedSize = size; + return size; + } + } + + public static global::Google.ProtocolBuffers.Bcl.Guid ParseFrom(pb::ByteString data) { + return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed(); + } + public static global::Google.ProtocolBuffers.Bcl.Guid ParseFrom(pb::ByteString data, + pb::ExtensionRegistry extensionRegistry) { + return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)) + .BuildParsed(); + } + public static global::Google.ProtocolBuffers.Bcl.Guid ParseFrom(byte[] data) { + return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed(); + } + public static global::Google.ProtocolBuffers.Bcl.Guid ParseFrom(byte[] data, + pb::ExtensionRegistry extensionRegistry) { + return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)) + .BuildParsed(); + } + public static global::Google.ProtocolBuffers.Bcl.Guid ParseFrom(global::System.IO.Stream input) { + return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed(); + } + public static global::Google.ProtocolBuffers.Bcl.Guid ParseFrom( + global::System.IO.Stream input, + pb::ExtensionRegistry extensionRegistry) { + return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)) + .BuildParsed(); + } + public static global::Google.ProtocolBuffers.Bcl.Guid ParseFrom(pb::CodedInputStream input) { + return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed(); + } + public static global::Google.ProtocolBuffers.Bcl.Guid ParseFrom(pb::CodedInputStream input, + pb::ExtensionRegistry extensionRegistry) { + return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)) + .BuildParsed(); + } + + public static Builder CreateBuilder() { return new Builder(); } + public override Builder CreateBuilderForType() { return new Builder(); } + public static Builder CreateBuilder(global::Google.ProtocolBuffers.Bcl.Guid prototype) { + return (Builder) new Builder().MergeFrom(prototype); + } + + public sealed partial class Builder : pb::GeneratedBuilder { + protected override Builder ThisBuilder { + get { return this; } + } + + // Construct using global::Google.ProtocolBuffers.Bcl.Guid.CreateBuilder() + internal Builder() {} + + global::Google.ProtocolBuffers.Bcl.Guid result = new global::Google.ProtocolBuffers.Bcl.Guid(); + + protected override global::Google.ProtocolBuffers.Bcl.Guid MessageBeingBuilt { + get { return result; } + } + + public override Builder Clear() { + result = new global::Google.ProtocolBuffers.Bcl.Guid(); + return this; + } + + public override Builder Clone() { + return new Builder().MergeFrom(result); + } + + public override pbd::MessageDescriptor DescriptorForType { + get { return global::Google.ProtocolBuffers.Bcl.Guid.Descriptor; } + } + + public override global::Google.ProtocolBuffers.Bcl.Guid DefaultInstanceForType { + get { return global::Google.ProtocolBuffers.Bcl.Guid.DefaultInstance; } + } + + public override global::Google.ProtocolBuffers.Bcl.Guid BuildPartial() { + global::Google.ProtocolBuffers.Bcl.Guid returnMe = result; + result = null; + return returnMe; + } + + public override Builder MergeFrom(pb::IMessage other) { + if (other is global::Google.ProtocolBuffers.Bcl.Guid) { + return MergeFrom((global::Google.ProtocolBuffers.Bcl.Guid) other); + } else { + base.MergeFrom(other); + return this; + } + } + + public override Builder MergeFrom(global::Google.ProtocolBuffers.Bcl.Guid other) { + if (other == global::Google.ProtocolBuffers.Bcl.Guid.DefaultInstance) return this; + if (other.HasLo) { + Lo = other.Lo; + } + if (other.HasHi) { + Hi = other.Hi; + } + this.MergeUnknownFields(other.UnknownFields); + return this; + } + + public override Builder MergeFrom(pb::CodedInputStream input) { + return MergeFrom(input, pb::ExtensionRegistry.Empty); + } + + public override Builder MergeFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) { + pb::UnknownFieldSet.Builder unknownFields = + pb::UnknownFieldSet.CreateBuilder(this.UnknownFields); + while (true) { + uint tag = input.ReadTag(); + switch (tag) { + case 0: + this.UnknownFields = unknownFields.Build(); + return this; + default: { + if (!ParseUnknownField(input, unknownFields, + extensionRegistry, tag)) { + this.UnknownFields = unknownFields.Build(); + return this; + } + break; + } + case 9: { + Lo = input.ReadFixed64(); + break; + } + case 17: { + Hi = input.ReadFixed64(); + break; + } + } + } + } + + + // optional fixed64 lo = 1; + public bool HasLo { + get { return result.HasLo; } + } + public ulong Lo { + get { return result.Lo; } + set { SetLo(value); } + } + public Builder SetLo(ulong value) { + result.hasLo = true; + result.lo_ = value; + return this; + } + public Builder ClearLo() { + result.hasLo = false; + result.lo_ = 0UL; + return this; + } + + // optional fixed64 hi = 2; + public bool HasHi { + get { return result.HasHi; } + } + public ulong Hi { + get { return result.Hi; } + set { SetHi(value); } + } + public Builder SetHi(ulong value) { + result.hasHi = true; + result.hi_ = value; + return this; + } + public Builder ClearHi() { + result.hasHi = false; + result.hi_ = 0UL; + return this; + } + } + } + + public sealed partial class Decimal : pb::GeneratedMessage { + private static readonly Decimal defaultInstance = new Decimal(); + public static Decimal DefaultInstance { + get { return defaultInstance; } + } + + public override Decimal DefaultInstanceForType { + get { return defaultInstance; } + } + + protected override Decimal ThisMessage { + get { return this; } + } + + public static pbd::MessageDescriptor Descriptor { + get { return global::Google.ProtocolBuffers.Bcl.BclProtoFile.internal__static_bcl_Decimal__Descriptor; } + } + + protected override pb::FieldAccess.FieldAccessorTable InternalFieldAccessors { + get { return global::Google.ProtocolBuffers.Bcl.BclProtoFile.internal__static_bcl_Decimal__FieldAccessorTable; } + } + + // optional uint64 lo = 1; + private bool hasLo; + private ulong lo_ = 0UL; + public bool HasLo { + get { return hasLo; } + } + public ulong Lo { + get { return lo_; } + } + + // optional uint32 hi = 2; + private bool hasHi; + private uint hi_ = 0; + public bool HasHi { + get { return hasHi; } + } + public uint Hi { + get { return hi_; } + } + + // optional uint32 signScale = 3; + private bool hasSignScale; + private uint signScale_ = 0; + public bool HasSignScale { + get { return hasSignScale; } + } + public uint SignScale { + get { return signScale_; } + } + + public override bool IsInitialized { + get { + return true; + } + } + + public override void WriteTo(pb::CodedOutputStream output) { + if (HasLo) { + output.WriteUInt64(1, Lo); + } + if (HasHi) { + output.WriteUInt32(2, Hi); + } + if (HasSignScale) { + output.WriteUInt32(3, SignScale); + } + UnknownFields.WriteTo(output); + } + + private int memoizedSerializedSize = -1; + public override int SerializedSize { + get { + int size = memoizedSerializedSize; + if (size != -1) return size; + + size = 0; + if (HasLo) { + size += pb::CodedOutputStream.ComputeUInt64Size(1, Lo); + } + if (HasHi) { + size += pb::CodedOutputStream.ComputeUInt32Size(2, Hi); + } + if (HasSignScale) { + size += pb::CodedOutputStream.ComputeUInt32Size(3, SignScale); + } + size += UnknownFields.SerializedSize; + memoizedSerializedSize = size; + return size; + } + } + + public static global::Google.ProtocolBuffers.Bcl.Decimal ParseFrom(pb::ByteString data) { + return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed(); + } + public static global::Google.ProtocolBuffers.Bcl.Decimal ParseFrom(pb::ByteString data, + pb::ExtensionRegistry extensionRegistry) { + return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)) + .BuildParsed(); + } + public static global::Google.ProtocolBuffers.Bcl.Decimal ParseFrom(byte[] data) { + return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed(); + } + public static global::Google.ProtocolBuffers.Bcl.Decimal ParseFrom(byte[] data, + pb::ExtensionRegistry extensionRegistry) { + return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)) + .BuildParsed(); + } + public static global::Google.ProtocolBuffers.Bcl.Decimal ParseFrom(global::System.IO.Stream input) { + return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed(); + } + public static global::Google.ProtocolBuffers.Bcl.Decimal ParseFrom( + global::System.IO.Stream input, + pb::ExtensionRegistry extensionRegistry) { + return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)) + .BuildParsed(); + } + public static global::Google.ProtocolBuffers.Bcl.Decimal ParseFrom(pb::CodedInputStream input) { + return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed(); + } + public static global::Google.ProtocolBuffers.Bcl.Decimal ParseFrom(pb::CodedInputStream input, + pb::ExtensionRegistry extensionRegistry) { + return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)) + .BuildParsed(); + } + + public static Builder CreateBuilder() { return new Builder(); } + public override Builder CreateBuilderForType() { return new Builder(); } + public static Builder CreateBuilder(global::Google.ProtocolBuffers.Bcl.Decimal prototype) { + return (Builder) new Builder().MergeFrom(prototype); + } + + public sealed partial class Builder : pb::GeneratedBuilder { + protected override Builder ThisBuilder { + get { return this; } + } + + // Construct using global::Google.ProtocolBuffers.Bcl.Decimal.CreateBuilder() + internal Builder() {} + + global::Google.ProtocolBuffers.Bcl.Decimal result = new global::Google.ProtocolBuffers.Bcl.Decimal(); + + protected override global::Google.ProtocolBuffers.Bcl.Decimal MessageBeingBuilt { + get { return result; } + } + + public override Builder Clear() { + result = new global::Google.ProtocolBuffers.Bcl.Decimal(); + return this; + } + + public override Builder Clone() { + return new Builder().MergeFrom(result); + } + + public override pbd::MessageDescriptor DescriptorForType { + get { return global::Google.ProtocolBuffers.Bcl.Decimal.Descriptor; } + } + + public override global::Google.ProtocolBuffers.Bcl.Decimal DefaultInstanceForType { + get { return global::Google.ProtocolBuffers.Bcl.Decimal.DefaultInstance; } + } + + public override global::Google.ProtocolBuffers.Bcl.Decimal BuildPartial() { + global::Google.ProtocolBuffers.Bcl.Decimal returnMe = result; + result = null; + return returnMe; + } + + public override Builder MergeFrom(pb::IMessage other) { + if (other is global::Google.ProtocolBuffers.Bcl.Decimal) { + return MergeFrom((global::Google.ProtocolBuffers.Bcl.Decimal) other); + } else { + base.MergeFrom(other); + return this; + } + } + + public override Builder MergeFrom(global::Google.ProtocolBuffers.Bcl.Decimal other) { + if (other == global::Google.ProtocolBuffers.Bcl.Decimal.DefaultInstance) return this; + if (other.HasLo) { + Lo = other.Lo; + } + if (other.HasHi) { + Hi = other.Hi; + } + if (other.HasSignScale) { + SignScale = other.SignScale; + } + this.MergeUnknownFields(other.UnknownFields); + return this; + } + + public override Builder MergeFrom(pb::CodedInputStream input) { + return MergeFrom(input, pb::ExtensionRegistry.Empty); + } + + public override Builder MergeFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) { + pb::UnknownFieldSet.Builder unknownFields = + pb::UnknownFieldSet.CreateBuilder(this.UnknownFields); + while (true) { + uint tag = input.ReadTag(); + switch (tag) { + case 0: + this.UnknownFields = unknownFields.Build(); + return this; + default: { + if (!ParseUnknownField(input, unknownFields, + extensionRegistry, tag)) { + this.UnknownFields = unknownFields.Build(); + return this; + } + break; + } + case 8: { + Lo = input.ReadUInt64(); + break; + } + case 16: { + Hi = input.ReadUInt32(); + break; + } + case 24: { + SignScale = input.ReadUInt32(); + break; + } + } + } + } + + + // optional uint64 lo = 1; + public bool HasLo { + get { return result.HasLo; } + } + public ulong Lo { + get { return result.Lo; } + set { SetLo(value); } + } + public Builder SetLo(ulong value) { + result.hasLo = true; + result.lo_ = value; + return this; + } + public Builder ClearLo() { + result.hasLo = false; + result.lo_ = 0UL; + return this; + } + + // optional uint32 hi = 2; + public bool HasHi { + get { return result.HasHi; } + } + public uint Hi { + get { return result.Hi; } + set { SetHi(value); } + } + public Builder SetHi(uint value) { + result.hasHi = true; + result.hi_ = value; + return this; + } + public Builder ClearHi() { + result.hasHi = false; + result.hi_ = 0; + return this; + } + + // optional uint32 signScale = 3; + public bool HasSignScale { + get { return result.HasSignScale; } + } + public uint SignScale { + get { return result.SignScale; } + set { SetSignScale(value); } + } + public Builder SetSignScale(uint value) { + result.hasSignScale = true; + result.signScale_ = value; + return this; + } + public Builder ClearSignScale() { + result.hasSignScale = false; + result.signScale_ = 0; + return this; + } + } + } + + #endregion + + #region Services + #endregion +} diff --git a/csharp/TestBed/NorthwindProtoFile.cs b/csharp/TestBed/NorthwindProtoFile.cs new file mode 100644 index 00000000..22f223f9 --- /dev/null +++ b/csharp/TestBed/NorthwindProtoFile.cs @@ -0,0 +1,1636 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! + +using pb = global::Google.ProtocolBuffers; +using pbc = global::Google.ProtocolBuffers.Collections; +using pbd = global::Google.ProtocolBuffers.Descriptors; +using scg = global::System.Collections.Generic; +namespace Northwind { + + public static partial class NorthwindProtoFile { + + #region Descriptor + public static pbd::FileDescriptor Descriptor { + get { return descriptor; } + } + private static readonly pbd::FileDescriptor descriptor = pbd::FileDescriptor.InternalBuildGeneratedFileFrom ( + new byte[] { + 0x0a, 0x0b, 0x6e, 0x77, 0x69, 0x6e, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x09, 0x6e, 0x6f, 0x72, 0x74, 0x68, + 0x77, 0x69, 0x6e, 0x64, 0x1a, 0x09, 0x62, 0x63, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x2c, 0x0a, 0x08, 0x44, + 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x12, 0x20, 0x0a, 0x06, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6e, 0x6f, 0x72, 0x74, 0x68, 0x77, 0x69, 0x6e, 0x64, 0x2e, 0x4f, 0x72, 0x64, 0x65, + 0x72, 0x22, 0xfa, 0x02, 0x0a, 0x05, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x0f, 0x0a, 0x07, 0x4f, 0x72, 0x64, 0x65, 0x72, + 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x12, 0x12, 0x0a, 0x0a, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, + 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x12, 0x12, 0x0a, 0x0a, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, + 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x12, 0x20, 0x0a, 0x09, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x44, 0x61, 0x74, + 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x62, 0x63, 0x6c, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x54, 0x69, + 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x44, 0x61, 0x74, 0x65, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x62, 0x63, 0x6c, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, + 0x22, 0x0a, 0x0b, 0x53, 0x68, 0x69, 0x70, 0x70, 0x65, 0x64, 0x44, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x0d, 0x2e, 0x62, 0x63, 0x6c, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x0f, 0x0a, 0x07, 0x53, + 0x68, 0x69, 0x70, 0x56, 0x69, 0x61, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x12, 0x1d, 0x0a, 0x07, 0x46, 0x72, 0x65, 0x69, + 0x67, 0x68, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x62, 0x63, 0x6c, 0x2e, 0x44, 0x65, 0x63, 0x69, + 0x6d, 0x61, 0x6c, 0x12, 0x10, 0x0a, 0x08, 0x53, 0x68, 0x69, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, + 0x09, 0x12, 0x13, 0x0a, 0x0b, 0x53, 0x68, 0x69, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x09, 0x12, 0x10, 0x0a, 0x08, 0x53, 0x68, 0x69, 0x70, 0x43, 0x69, 0x74, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, + 0x12, 0x12, 0x0a, 0x0a, 0x53, 0x68, 0x69, 0x70, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, + 0x12, 0x16, 0x0a, 0x0e, 0x53, 0x68, 0x69, 0x70, 0x50, 0x6f, 0x73, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x0d, + 0x20, 0x01, 0x28, 0x09, 0x12, 0x13, 0x0a, 0x0b, 0x53, 0x68, 0x69, 0x70, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x18, + 0x0e, 0x20, 0x01, 0x28, 0x09, 0x12, 0x23, 0x0a, 0x05, 0x4c, 0x69, 0x6e, 0x65, 0x73, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x14, 0x2e, 0x6e, 0x6f, 0x72, 0x74, 0x68, 0x77, 0x69, 0x6e, 0x64, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x4c, 0x69, + 0x6e, 0x65, 0x22, 0x74, 0x0a, 0x09, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x4c, 0x69, 0x6e, 0x65, 0x12, 0x0f, 0x0a, 0x07, 0x4f, + 0x72, 0x64, 0x65, 0x72, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x12, 0x11, 0x0a, 0x09, 0x50, 0x72, 0x6f, 0x64, + 0x75, 0x63, 0x74, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x12, 0x1f, 0x0a, 0x09, 0x55, 0x6e, 0x69, 0x74, 0x50, + 0x72, 0x69, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x62, 0x63, 0x6c, 0x2e, 0x44, 0x65, 0x63, + 0x69, 0x6d, 0x61, 0x6c, 0x12, 0x10, 0x0a, 0x08, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x11, 0x12, 0x10, 0x0a, 0x08, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x02, + 0x42, 0x23, 0x48, 0x01, 0xc2, 0x3e, 0x09, 0x4e, 0x6f, 0x72, 0x74, 0x68, 0x77, 0x69, 0x6e, 0x64, 0xca, 0x3e, 0x12, 0x4e, + 0x6f, 0x72, 0x74, 0x68, 0x77, 0x69, 0x6e, 0x64, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x69, 0x6c, 0x65, + }, new pbd::FileDescriptor[] { + global::Google.ProtocolBuffers.Bcl.BclProtoFile.Descriptor, + }); + #endregion + + #region Extensions + #endregion + + #region Static variables + internal static readonly pbd::MessageDescriptor internal__static_northwind_Database__Descriptor + = Descriptor.MessageTypes[0]; + internal static pb::FieldAccess.FieldAccessorTable internal__static_northwind_Database__FieldAccessorTable + = new pb::FieldAccess.FieldAccessorTable(internal__static_northwind_Database__Descriptor, + new string[] { "Orders", }); + internal static readonly pbd::MessageDescriptor internal__static_northwind_Order__Descriptor + = Descriptor.MessageTypes[1]; + internal static pb::FieldAccess.FieldAccessorTable internal__static_northwind_Order__FieldAccessorTable + = new pb::FieldAccess.FieldAccessorTable(internal__static_northwind_Order__Descriptor, + new string[] { "OrderID", "CustomerID", "EmployeeID", "OrderDate", "RequiredDate", "ShippedDate", "ShipVia", "Freight", "ShipName", "ShipAddress", "ShipCity", "ShipRegion", "ShipPostalCode", "ShipCountry", "Lines", }); + internal static readonly pbd::MessageDescriptor internal__static_northwind_OrderLine__Descriptor + = Descriptor.MessageTypes[2]; + internal static pb::FieldAccess.FieldAccessorTable internal__static_northwind_OrderLine__FieldAccessorTable + = new pb::FieldAccess.FieldAccessorTable(internal__static_northwind_OrderLine__Descriptor, + new string[] { "OrderID", "ProductID", "UnitPrice", "Quantity", "Discount", }); + #endregion + + } + + #region Enums + #endregion + + #region Messages + public sealed partial class Database : pb::GeneratedMessage { + private static readonly Database defaultInstance = new Database(); + public static Database DefaultInstance { + get { return defaultInstance; } + } + + public override Database DefaultInstanceForType { + get { return defaultInstance; } + } + + protected override Database ThisMessage { + get { return this; } + } + + public static pbd::MessageDescriptor Descriptor { + get { return global::Northwind.NorthwindProtoFile.internal__static_northwind_Database__Descriptor; } + } + + protected override pb::FieldAccess.FieldAccessorTable InternalFieldAccessors { + get { return global::Northwind.NorthwindProtoFile.internal__static_northwind_Database__FieldAccessorTable; } + } + + // repeated .northwind.Order Orders = 1; + private scg::IList orders_ = pbc::Lists.Empty; + public scg::IList OrdersList { + get { return orders_; } + } + public int OrdersCount + { get { return orders_.Count; } + } + public global::Northwind.Order GetOrders(int index) { + return orders_ [index]; + } + + public override bool IsInitialized { + get { + return true; + } + } + + public override void WriteTo(pb::CodedOutputStream output) { + foreach (global::Northwind.Order element in OrdersList) { + output.WriteMessage(1, element); + } + UnknownFields.WriteTo(output); + } + + private int memoizedSerializedSize = -1; + public override int SerializedSize { + get { + int size = memoizedSerializedSize; + if (size != -1) return size; + + size = 0; + foreach (global::Northwind.Order element in OrdersList) { + size += pb::CodedOutputStream.ComputeMessageSize(1, element); + } + size += UnknownFields.SerializedSize; + memoizedSerializedSize = size; + return size; + } + } + + public static global::Northwind.Database ParseFrom(pb::ByteString data) { + return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed(); + } + public static global::Northwind.Database ParseFrom(pb::ByteString data, + pb::ExtensionRegistry extensionRegistry) { + return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)) + .BuildParsed(); + } + public static global::Northwind.Database ParseFrom(byte[] data) { + return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed(); + } + public static global::Northwind.Database ParseFrom(byte[] data, + pb::ExtensionRegistry extensionRegistry) { + return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)) + .BuildParsed(); + } + public static global::Northwind.Database ParseFrom(global::System.IO.Stream input) { + return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed(); + } + public static global::Northwind.Database ParseFrom( + global::System.IO.Stream input, + pb::ExtensionRegistry extensionRegistry) { + return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)) + .BuildParsed(); + } + public static global::Northwind.Database ParseFrom(pb::CodedInputStream input) { + return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed(); + } + public static global::Northwind.Database ParseFrom(pb::CodedInputStream input, + pb::ExtensionRegistry extensionRegistry) { + return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)) + .BuildParsed(); + } + + public static Builder CreateBuilder() { return new Builder(); } + public override Builder CreateBuilderForType() { return new Builder(); } + public static Builder CreateBuilder(global::Northwind.Database prototype) { + return (Builder) new Builder().MergeFrom(prototype); + } + + public sealed partial class Builder : pb::GeneratedBuilder { + protected override Builder ThisBuilder { + get { return this; } + } + + // Construct using global::Northwind.Database.CreateBuilder() + internal Builder() {} + + global::Northwind.Database result = new global::Northwind.Database(); + + protected override global::Northwind.Database MessageBeingBuilt { + get { return result; } + } + + public override Builder Clear() { + result = new global::Northwind.Database(); + return this; + } + + public override Builder Clone() { + return new Builder().MergeFrom(result); + } + + public override pbd::MessageDescriptor DescriptorForType { + get { return global::Northwind.Database.Descriptor; } + } + + public override global::Northwind.Database DefaultInstanceForType { + get { return global::Northwind.Database.DefaultInstance; } + } + + public override global::Northwind.Database BuildPartial() { + if (result.orders_ != pbc::Lists.Empty) { + result.orders_ = pbc::Lists.AsReadOnly(result.orders_); + } + global::Northwind.Database returnMe = result; + result = null; + return returnMe; + } + + public override Builder MergeFrom(pb::IMessage other) { + if (other is global::Northwind.Database) { + return MergeFrom((global::Northwind.Database) other); + } else { + base.MergeFrom(other); + return this; + } + } + + public override Builder MergeFrom(global::Northwind.Database other) { + if (other == global::Northwind.Database.DefaultInstance) return this; + if (other.orders_.Count != 0) { + if (result.orders_.Count == 0) { + result.orders_ = new scg::List(); + } + base.AddRange(other.orders_, result.orders_); + } + this.MergeUnknownFields(other.UnknownFields); + return this; + } + + public override Builder MergeFrom(pb::CodedInputStream input) { + return MergeFrom(input, pb::ExtensionRegistry.Empty); + } + + public override Builder MergeFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) { + pb::UnknownFieldSet.Builder unknownFields = + pb::UnknownFieldSet.CreateBuilder(this.UnknownFields); + while (true) { + uint tag = input.ReadTag(); + switch (tag) { + case 0: + this.UnknownFields = unknownFields.Build(); + return this; + default: { + if (!ParseUnknownField(input, unknownFields, + extensionRegistry, tag)) { + this.UnknownFields = unknownFields.Build(); + return this; + } + break; + } + case 10: { + global::Northwind.Order.Builder subBuilder = global::Northwind.Order.CreateBuilder(); + input.ReadMessage(subBuilder, extensionRegistry); + AddOrders(subBuilder.BuildPartial()); + break; + } + } + } + } + + + // repeated .northwind.Order Orders = 1; + public scg::IList OrdersList { + get { return pbc::Lists.AsReadOnly(result.orders_); } + } + public int OrdersCount { + get { return result.OrdersCount; } + } + public global::Northwind.Order GetOrders(int index) { + return result.GetOrders(index); + } + public Builder SetOrders(int index, global::Northwind.Order value) { + result.orders_[index] = value; + return this; + } + public Builder SetOrders(int index, global::Northwind.Order.Builder builderForValue) { + result.orders_[index] = builderForValue.Build(); + return this; + } + public Builder AddOrders(global::Northwind.Order value) { + if (result.orders_ == pbc::Lists.Empty) { + result.orders_ = new scg::List(); + } + result.orders_.Add(value); + return this; + } + public Builder AddOrders(global::Northwind.Order.Builder builderForValue) { + if (result.orders_ == pbc::Lists.Empty) { + result.orders_ = new scg::List(); + } + result.orders_.Add(builderForValue.Build()); + return this; + } + public Builder AddRangeOrders(scg::IEnumerable values) { + if (result.orders_ == pbc::Lists.Empty) { + result.orders_ = new scg::List(); + } + base.AddRange(values, result.orders_); + return this; + } + public Builder ClearOrders() { + result.orders_ = pbc::Lists.Empty; + return this; + } + } + } + + public sealed partial class Order : pb::GeneratedMessage { + private static readonly Order defaultInstance = new Order(); + public static Order DefaultInstance { + get { return defaultInstance; } + } + + public override Order DefaultInstanceForType { + get { return defaultInstance; } + } + + protected override Order ThisMessage { + get { return this; } + } + + public static pbd::MessageDescriptor Descriptor { + get { return global::Northwind.NorthwindProtoFile.internal__static_northwind_Order__Descriptor; } + } + + protected override pb::FieldAccess.FieldAccessorTable InternalFieldAccessors { + get { return global::Northwind.NorthwindProtoFile.internal__static_northwind_Order__FieldAccessorTable; } + } + + // optional int32 OrderID = 1; + private bool hasOrderID; + private int orderID_ = 0; + public bool HasOrderID { + get { return hasOrderID; } + } + public int OrderID { + get { return orderID_; } + } + + // optional string CustomerID = 2; + private bool hasCustomerID; + private string customerID_ = ""; + public bool HasCustomerID { + get { return hasCustomerID; } + } + public string CustomerID { + get { return customerID_; } + } + + // optional int32 EmployeeID = 3; + private bool hasEmployeeID; + private int employeeID_ = 0; + public bool HasEmployeeID { + get { return hasEmployeeID; } + } + public int EmployeeID { + get { return employeeID_; } + } + + // optional .bcl.DateTime OrderDate = 4; + private bool hasOrderDate; + private global::Google.ProtocolBuffers.Bcl.DateTime orderDate_ = global::Google.ProtocolBuffers.Bcl.DateTime.DefaultInstance; + public bool HasOrderDate { + get { return hasOrderDate; } + } + public global::Google.ProtocolBuffers.Bcl.DateTime OrderDate { + get { return orderDate_; } + } + + // optional .bcl.DateTime RequiredDate = 5; + private bool hasRequiredDate; + private global::Google.ProtocolBuffers.Bcl.DateTime requiredDate_ = global::Google.ProtocolBuffers.Bcl.DateTime.DefaultInstance; + public bool HasRequiredDate { + get { return hasRequiredDate; } + } + public global::Google.ProtocolBuffers.Bcl.DateTime RequiredDate { + get { return requiredDate_; } + } + + // optional .bcl.DateTime ShippedDate = 6; + private bool hasShippedDate; + private global::Google.ProtocolBuffers.Bcl.DateTime shippedDate_ = global::Google.ProtocolBuffers.Bcl.DateTime.DefaultInstance; + public bool HasShippedDate { + get { return hasShippedDate; } + } + public global::Google.ProtocolBuffers.Bcl.DateTime ShippedDate { + get { return shippedDate_; } + } + + // optional int32 ShipVia = 7; + private bool hasShipVia; + private int shipVia_ = 0; + public bool HasShipVia { + get { return hasShipVia; } + } + public int ShipVia { + get { return shipVia_; } + } + + // optional .bcl.Decimal Freight = 8; + private bool hasFreight; + private global::Google.ProtocolBuffers.Bcl.Decimal freight_ = global::Google.ProtocolBuffers.Bcl.Decimal.DefaultInstance; + public bool HasFreight { + get { return hasFreight; } + } + public global::Google.ProtocolBuffers.Bcl.Decimal Freight { + get { return freight_; } + } + + // optional string ShipName = 9; + private bool hasShipName; + private string shipName_ = ""; + public bool HasShipName { + get { return hasShipName; } + } + public string ShipName { + get { return shipName_; } + } + + // optional string ShipAddress = 10; + private bool hasShipAddress; + private string shipAddress_ = ""; + public bool HasShipAddress { + get { return hasShipAddress; } + } + public string ShipAddress { + get { return shipAddress_; } + } + + // optional string ShipCity = 11; + private bool hasShipCity; + private string shipCity_ = ""; + public bool HasShipCity { + get { return hasShipCity; } + } + public string ShipCity { + get { return shipCity_; } + } + + // optional string ShipRegion = 12; + private bool hasShipRegion; + private string shipRegion_ = ""; + public bool HasShipRegion { + get { return hasShipRegion; } + } + public string ShipRegion { + get { return shipRegion_; } + } + + // optional string ShipPostalCode = 13; + private bool hasShipPostalCode; + private string shipPostalCode_ = ""; + public bool HasShipPostalCode { + get { return hasShipPostalCode; } + } + public string ShipPostalCode { + get { return shipPostalCode_; } + } + + // optional string ShipCountry = 14; + private bool hasShipCountry; + private string shipCountry_ = ""; + public bool HasShipCountry { + get { return hasShipCountry; } + } + public string ShipCountry { + get { return shipCountry_; } + } + + // repeated .northwind.OrderLine Lines = 15; + private scg::IList lines_ = pbc::Lists.Empty; + public scg::IList LinesList { + get { return lines_; } + } + public int LinesCount + { get { return lines_.Count; } + } + public global::Northwind.OrderLine GetLines(int index) { + return lines_ [index]; + } + + public override bool IsInitialized { + get { + return true; + } + } + + public override void WriteTo(pb::CodedOutputStream output) { + if (HasOrderID) { + output.WriteInt32(1, OrderID); + } + if (HasCustomerID) { + output.WriteString(2, CustomerID); + } + if (HasEmployeeID) { + output.WriteInt32(3, EmployeeID); + } + if (HasOrderDate) { + output.WriteMessage(4, OrderDate); + } + if (HasRequiredDate) { + output.WriteMessage(5, RequiredDate); + } + if (HasShippedDate) { + output.WriteMessage(6, ShippedDate); + } + if (HasShipVia) { + output.WriteInt32(7, ShipVia); + } + if (HasFreight) { + output.WriteMessage(8, Freight); + } + if (HasShipName) { + output.WriteString(9, ShipName); + } + if (HasShipAddress) { + output.WriteString(10, ShipAddress); + } + if (HasShipCity) { + output.WriteString(11, ShipCity); + } + if (HasShipRegion) { + output.WriteString(12, ShipRegion); + } + if (HasShipPostalCode) { + output.WriteString(13, ShipPostalCode); + } + if (HasShipCountry) { + output.WriteString(14, ShipCountry); + } + foreach (global::Northwind.OrderLine element in LinesList) { + output.WriteMessage(15, element); + } + UnknownFields.WriteTo(output); + } + + private int memoizedSerializedSize = -1; + public override int SerializedSize { + get { + int size = memoizedSerializedSize; + if (size != -1) return size; + + size = 0; + if (HasOrderID) { + size += pb::CodedOutputStream.ComputeInt32Size(1, OrderID); + } + if (HasCustomerID) { + size += pb::CodedOutputStream.ComputeStringSize(2, CustomerID); + } + if (HasEmployeeID) { + size += pb::CodedOutputStream.ComputeInt32Size(3, EmployeeID); + } + if (HasOrderDate) { + size += pb::CodedOutputStream.ComputeMessageSize(4, OrderDate); + } + if (HasRequiredDate) { + size += pb::CodedOutputStream.ComputeMessageSize(5, RequiredDate); + } + if (HasShippedDate) { + size += pb::CodedOutputStream.ComputeMessageSize(6, ShippedDate); + } + if (HasShipVia) { + size += pb::CodedOutputStream.ComputeInt32Size(7, ShipVia); + } + if (HasFreight) { + size += pb::CodedOutputStream.ComputeMessageSize(8, Freight); + } + if (HasShipName) { + size += pb::CodedOutputStream.ComputeStringSize(9, ShipName); + } + if (HasShipAddress) { + size += pb::CodedOutputStream.ComputeStringSize(10, ShipAddress); + } + if (HasShipCity) { + size += pb::CodedOutputStream.ComputeStringSize(11, ShipCity); + } + if (HasShipRegion) { + size += pb::CodedOutputStream.ComputeStringSize(12, ShipRegion); + } + if (HasShipPostalCode) { + size += pb::CodedOutputStream.ComputeStringSize(13, ShipPostalCode); + } + if (HasShipCountry) { + size += pb::CodedOutputStream.ComputeStringSize(14, ShipCountry); + } + foreach (global::Northwind.OrderLine element in LinesList) { + size += pb::CodedOutputStream.ComputeMessageSize(15, element); + } + size += UnknownFields.SerializedSize; + memoizedSerializedSize = size; + return size; + } + } + + public static global::Northwind.Order ParseFrom(pb::ByteString data) { + return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed(); + } + public static global::Northwind.Order ParseFrom(pb::ByteString data, + pb::ExtensionRegistry extensionRegistry) { + return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)) + .BuildParsed(); + } + public static global::Northwind.Order ParseFrom(byte[] data) { + return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed(); + } + public static global::Northwind.Order ParseFrom(byte[] data, + pb::ExtensionRegistry extensionRegistry) { + return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)) + .BuildParsed(); + } + public static global::Northwind.Order ParseFrom(global::System.IO.Stream input) { + return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed(); + } + public static global::Northwind.Order ParseFrom( + global::System.IO.Stream input, + pb::ExtensionRegistry extensionRegistry) { + return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)) + .BuildParsed(); + } + public static global::Northwind.Order ParseFrom(pb::CodedInputStream input) { + return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed(); + } + public static global::Northwind.Order ParseFrom(pb::CodedInputStream input, + pb::ExtensionRegistry extensionRegistry) { + return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)) + .BuildParsed(); + } + + public static Builder CreateBuilder() { return new Builder(); } + public override Builder CreateBuilderForType() { return new Builder(); } + public static Builder CreateBuilder(global::Northwind.Order prototype) { + return (Builder) new Builder().MergeFrom(prototype); + } + + public sealed partial class Builder : pb::GeneratedBuilder { + protected override Builder ThisBuilder { + get { return this; } + } + + // Construct using global::Northwind.Order.CreateBuilder() + internal Builder() {} + + global::Northwind.Order result = new global::Northwind.Order(); + + protected override global::Northwind.Order MessageBeingBuilt { + get { return result; } + } + + public override Builder Clear() { + result = new global::Northwind.Order(); + return this; + } + + public override Builder Clone() { + return new Builder().MergeFrom(result); + } + + public override pbd::MessageDescriptor DescriptorForType { + get { return global::Northwind.Order.Descriptor; } + } + + public override global::Northwind.Order DefaultInstanceForType { + get { return global::Northwind.Order.DefaultInstance; } + } + + public override global::Northwind.Order BuildPartial() { + if (result.lines_ != pbc::Lists.Empty) { + result.lines_ = pbc::Lists.AsReadOnly(result.lines_); + } + global::Northwind.Order returnMe = result; + result = null; + return returnMe; + } + + public override Builder MergeFrom(pb::IMessage other) { + if (other is global::Northwind.Order) { + return MergeFrom((global::Northwind.Order) other); + } else { + base.MergeFrom(other); + return this; + } + } + + public override Builder MergeFrom(global::Northwind.Order other) { + if (other == global::Northwind.Order.DefaultInstance) return this; + if (other.HasOrderID) { + OrderID = other.OrderID; + } + if (other.HasCustomerID) { + CustomerID = other.CustomerID; + } + if (other.HasEmployeeID) { + EmployeeID = other.EmployeeID; + } + if (other.HasOrderDate) { + MergeOrderDate(other.OrderDate); + } + if (other.HasRequiredDate) { + MergeRequiredDate(other.RequiredDate); + } + if (other.HasShippedDate) { + MergeShippedDate(other.ShippedDate); + } + if (other.HasShipVia) { + ShipVia = other.ShipVia; + } + if (other.HasFreight) { + MergeFreight(other.Freight); + } + if (other.HasShipName) { + ShipName = other.ShipName; + } + if (other.HasShipAddress) { + ShipAddress = other.ShipAddress; + } + if (other.HasShipCity) { + ShipCity = other.ShipCity; + } + if (other.HasShipRegion) { + ShipRegion = other.ShipRegion; + } + if (other.HasShipPostalCode) { + ShipPostalCode = other.ShipPostalCode; + } + if (other.HasShipCountry) { + ShipCountry = other.ShipCountry; + } + if (other.lines_.Count != 0) { + if (result.lines_.Count == 0) { + result.lines_ = new scg::List(); + } + base.AddRange(other.lines_, result.lines_); + } + this.MergeUnknownFields(other.UnknownFields); + return this; + } + + public override Builder MergeFrom(pb::CodedInputStream input) { + return MergeFrom(input, pb::ExtensionRegistry.Empty); + } + + public override Builder MergeFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) { + pb::UnknownFieldSet.Builder unknownFields = + pb::UnknownFieldSet.CreateBuilder(this.UnknownFields); + while (true) { + uint tag = input.ReadTag(); + switch (tag) { + case 0: + this.UnknownFields = unknownFields.Build(); + return this; + default: { + if (!ParseUnknownField(input, unknownFields, + extensionRegistry, tag)) { + this.UnknownFields = unknownFields.Build(); + return this; + } + break; + } + case 8: { + OrderID = input.ReadInt32(); + break; + } + case 18: { + CustomerID = input.ReadString(); + break; + } + case 24: { + EmployeeID = input.ReadInt32(); + break; + } + case 34: { + global::Google.ProtocolBuffers.Bcl.DateTime.Builder subBuilder = global::Google.ProtocolBuffers.Bcl.DateTime.CreateBuilder(); + if (HasOrderDate) { + subBuilder.MergeFrom(OrderDate); + } + input.ReadMessage(subBuilder, extensionRegistry); + OrderDate = subBuilder.BuildPartial(); + break; + } + case 42: { + global::Google.ProtocolBuffers.Bcl.DateTime.Builder subBuilder = global::Google.ProtocolBuffers.Bcl.DateTime.CreateBuilder(); + if (HasRequiredDate) { + subBuilder.MergeFrom(RequiredDate); + } + input.ReadMessage(subBuilder, extensionRegistry); + RequiredDate = subBuilder.BuildPartial(); + break; + } + case 50: { + global::Google.ProtocolBuffers.Bcl.DateTime.Builder subBuilder = global::Google.ProtocolBuffers.Bcl.DateTime.CreateBuilder(); + if (HasShippedDate) { + subBuilder.MergeFrom(ShippedDate); + } + input.ReadMessage(subBuilder, extensionRegistry); + ShippedDate = subBuilder.BuildPartial(); + break; + } + case 56: { + ShipVia = input.ReadInt32(); + break; + } + case 66: { + global::Google.ProtocolBuffers.Bcl.Decimal.Builder subBuilder = global::Google.ProtocolBuffers.Bcl.Decimal.CreateBuilder(); + if (HasFreight) { + subBuilder.MergeFrom(Freight); + } + input.ReadMessage(subBuilder, extensionRegistry); + Freight = subBuilder.BuildPartial(); + break; + } + case 74: { + ShipName = input.ReadString(); + break; + } + case 82: { + ShipAddress = input.ReadString(); + break; + } + case 90: { + ShipCity = input.ReadString(); + break; + } + case 98: { + ShipRegion = input.ReadString(); + break; + } + case 106: { + ShipPostalCode = input.ReadString(); + break; + } + case 114: { + ShipCountry = input.ReadString(); + break; + } + case 122: { + global::Northwind.OrderLine.Builder subBuilder = global::Northwind.OrderLine.CreateBuilder(); + input.ReadMessage(subBuilder, extensionRegistry); + AddLines(subBuilder.BuildPartial()); + break; + } + } + } + } + + + // optional int32 OrderID = 1; + public bool HasOrderID { + get { return result.HasOrderID; } + } + public int OrderID { + get { return result.OrderID; } + set { SetOrderID(value); } + } + public Builder SetOrderID(int value) { + result.hasOrderID = true; + result.orderID_ = value; + return this; + } + public Builder ClearOrderID() { + result.hasOrderID = false; + result.orderID_ = 0; + return this; + } + + // optional string CustomerID = 2; + public bool HasCustomerID { + get { return result.HasCustomerID; } + } + public string CustomerID { + get { return result.CustomerID; } + set { SetCustomerID(value); } + } + public Builder SetCustomerID(string value) { + result.hasCustomerID = true; + result.customerID_ = value; + return this; + } + public Builder ClearCustomerID() { + result.hasCustomerID = false; + result.customerID_ = ""; + return this; + } + + // optional int32 EmployeeID = 3; + public bool HasEmployeeID { + get { return result.HasEmployeeID; } + } + public int EmployeeID { + get { return result.EmployeeID; } + set { SetEmployeeID(value); } + } + public Builder SetEmployeeID(int value) { + result.hasEmployeeID = true; + result.employeeID_ = value; + return this; + } + public Builder ClearEmployeeID() { + result.hasEmployeeID = false; + result.employeeID_ = 0; + return this; + } + + // optional .bcl.DateTime OrderDate = 4; + public bool HasOrderDate { + get { return result.HasOrderDate; } + } + public global::Google.ProtocolBuffers.Bcl.DateTime OrderDate { + get { return result.OrderDate; } + set { SetOrderDate(value); } + } + public Builder SetOrderDate(global::Google.ProtocolBuffers.Bcl.DateTime value) { + result.hasOrderDate = true; + result.orderDate_ = value; + return this; + } + public Builder SetOrderDate(global::Google.ProtocolBuffers.Bcl.DateTime.Builder builderForValue) { + result.hasOrderDate = true; + result.orderDate_ = builderForValue.Build(); + return this; + } + public Builder MergeOrderDate(global::Google.ProtocolBuffers.Bcl.DateTime value) { + if (result.HasOrderDate && + result.orderDate_ != global::Google.ProtocolBuffers.Bcl.DateTime.DefaultInstance) { + result.orderDate_ = + global::Google.ProtocolBuffers.Bcl.DateTime.CreateBuilder(result.orderDate_).MergeFrom(value).BuildPartial(); + } else { + result.orderDate_ = value; + } + result.hasOrderDate = true; + return this; + } + public Builder ClearOrderDate() { + result.hasOrderDate = false; + result.orderDate_ = global::Google.ProtocolBuffers.Bcl.DateTime.DefaultInstance; + return this; + } + + // optional .bcl.DateTime RequiredDate = 5; + public bool HasRequiredDate { + get { return result.HasRequiredDate; } + } + public global::Google.ProtocolBuffers.Bcl.DateTime RequiredDate { + get { return result.RequiredDate; } + set { SetRequiredDate(value); } + } + public Builder SetRequiredDate(global::Google.ProtocolBuffers.Bcl.DateTime value) { + result.hasRequiredDate = true; + result.requiredDate_ = value; + return this; + } + public Builder SetRequiredDate(global::Google.ProtocolBuffers.Bcl.DateTime.Builder builderForValue) { + result.hasRequiredDate = true; + result.requiredDate_ = builderForValue.Build(); + return this; + } + public Builder MergeRequiredDate(global::Google.ProtocolBuffers.Bcl.DateTime value) { + if (result.HasRequiredDate && + result.requiredDate_ != global::Google.ProtocolBuffers.Bcl.DateTime.DefaultInstance) { + result.requiredDate_ = + global::Google.ProtocolBuffers.Bcl.DateTime.CreateBuilder(result.requiredDate_).MergeFrom(value).BuildPartial(); + } else { + result.requiredDate_ = value; + } + result.hasRequiredDate = true; + return this; + } + public Builder ClearRequiredDate() { + result.hasRequiredDate = false; + result.requiredDate_ = global::Google.ProtocolBuffers.Bcl.DateTime.DefaultInstance; + return this; + } + + // optional .bcl.DateTime ShippedDate = 6; + public bool HasShippedDate { + get { return result.HasShippedDate; } + } + public global::Google.ProtocolBuffers.Bcl.DateTime ShippedDate { + get { return result.ShippedDate; } + set { SetShippedDate(value); } + } + public Builder SetShippedDate(global::Google.ProtocolBuffers.Bcl.DateTime value) { + result.hasShippedDate = true; + result.shippedDate_ = value; + return this; + } + public Builder SetShippedDate(global::Google.ProtocolBuffers.Bcl.DateTime.Builder builderForValue) { + result.hasShippedDate = true; + result.shippedDate_ = builderForValue.Build(); + return this; + } + public Builder MergeShippedDate(global::Google.ProtocolBuffers.Bcl.DateTime value) { + if (result.HasShippedDate && + result.shippedDate_ != global::Google.ProtocolBuffers.Bcl.DateTime.DefaultInstance) { + result.shippedDate_ = + global::Google.ProtocolBuffers.Bcl.DateTime.CreateBuilder(result.shippedDate_).MergeFrom(value).BuildPartial(); + } else { + result.shippedDate_ = value; + } + result.hasShippedDate = true; + return this; + } + public Builder ClearShippedDate() { + result.hasShippedDate = false; + result.shippedDate_ = global::Google.ProtocolBuffers.Bcl.DateTime.DefaultInstance; + return this; + } + + // optional int32 ShipVia = 7; + public bool HasShipVia { + get { return result.HasShipVia; } + } + public int ShipVia { + get { return result.ShipVia; } + set { SetShipVia(value); } + } + public Builder SetShipVia(int value) { + result.hasShipVia = true; + result.shipVia_ = value; + return this; + } + public Builder ClearShipVia() { + result.hasShipVia = false; + result.shipVia_ = 0; + return this; + } + + // optional .bcl.Decimal Freight = 8; + public bool HasFreight { + get { return result.HasFreight; } + } + public global::Google.ProtocolBuffers.Bcl.Decimal Freight { + get { return result.Freight; } + set { SetFreight(value); } + } + public Builder SetFreight(global::Google.ProtocolBuffers.Bcl.Decimal value) { + result.hasFreight = true; + result.freight_ = value; + return this; + } + public Builder SetFreight(global::Google.ProtocolBuffers.Bcl.Decimal.Builder builderForValue) { + result.hasFreight = true; + result.freight_ = builderForValue.Build(); + return this; + } + public Builder MergeFreight(global::Google.ProtocolBuffers.Bcl.Decimal value) { + if (result.HasFreight && + result.freight_ != global::Google.ProtocolBuffers.Bcl.Decimal.DefaultInstance) { + result.freight_ = + global::Google.ProtocolBuffers.Bcl.Decimal.CreateBuilder(result.freight_).MergeFrom(value).BuildPartial(); + } else { + result.freight_ = value; + } + result.hasFreight = true; + return this; + } + public Builder ClearFreight() { + result.hasFreight = false; + result.freight_ = global::Google.ProtocolBuffers.Bcl.Decimal.DefaultInstance; + return this; + } + + // optional string ShipName = 9; + public bool HasShipName { + get { return result.HasShipName; } + } + public string ShipName { + get { return result.ShipName; } + set { SetShipName(value); } + } + public Builder SetShipName(string value) { + result.hasShipName = true; + result.shipName_ = value; + return this; + } + public Builder ClearShipName() { + result.hasShipName = false; + result.shipName_ = ""; + return this; + } + + // optional string ShipAddress = 10; + public bool HasShipAddress { + get { return result.HasShipAddress; } + } + public string ShipAddress { + get { return result.ShipAddress; } + set { SetShipAddress(value); } + } + public Builder SetShipAddress(string value) { + result.hasShipAddress = true; + result.shipAddress_ = value; + return this; + } + public Builder ClearShipAddress() { + result.hasShipAddress = false; + result.shipAddress_ = ""; + return this; + } + + // optional string ShipCity = 11; + public bool HasShipCity { + get { return result.HasShipCity; } + } + public string ShipCity { + get { return result.ShipCity; } + set { SetShipCity(value); } + } + public Builder SetShipCity(string value) { + result.hasShipCity = true; + result.shipCity_ = value; + return this; + } + public Builder ClearShipCity() { + result.hasShipCity = false; + result.shipCity_ = ""; + return this; + } + + // optional string ShipRegion = 12; + public bool HasShipRegion { + get { return result.HasShipRegion; } + } + public string ShipRegion { + get { return result.ShipRegion; } + set { SetShipRegion(value); } + } + public Builder SetShipRegion(string value) { + result.hasShipRegion = true; + result.shipRegion_ = value; + return this; + } + public Builder ClearShipRegion() { + result.hasShipRegion = false; + result.shipRegion_ = ""; + return this; + } + + // optional string ShipPostalCode = 13; + public bool HasShipPostalCode { + get { return result.HasShipPostalCode; } + } + public string ShipPostalCode { + get { return result.ShipPostalCode; } + set { SetShipPostalCode(value); } + } + public Builder SetShipPostalCode(string value) { + result.hasShipPostalCode = true; + result.shipPostalCode_ = value; + return this; + } + public Builder ClearShipPostalCode() { + result.hasShipPostalCode = false; + result.shipPostalCode_ = ""; + return this; + } + + // optional string ShipCountry = 14; + public bool HasShipCountry { + get { return result.HasShipCountry; } + } + public string ShipCountry { + get { return result.ShipCountry; } + set { SetShipCountry(value); } + } + public Builder SetShipCountry(string value) { + result.hasShipCountry = true; + result.shipCountry_ = value; + return this; + } + public Builder ClearShipCountry() { + result.hasShipCountry = false; + result.shipCountry_ = ""; + return this; + } + + // repeated .northwind.OrderLine Lines = 15; + public scg::IList LinesList { + get { return pbc::Lists.AsReadOnly(result.lines_); } + } + public int LinesCount { + get { return result.LinesCount; } + } + public global::Northwind.OrderLine GetLines(int index) { + return result.GetLines(index); + } + public Builder SetLines(int index, global::Northwind.OrderLine value) { + result.lines_[index] = value; + return this; + } + public Builder SetLines(int index, global::Northwind.OrderLine.Builder builderForValue) { + result.lines_[index] = builderForValue.Build(); + return this; + } + public Builder AddLines(global::Northwind.OrderLine value) { + if (result.lines_ == pbc::Lists.Empty) { + result.lines_ = new scg::List(); + } + result.lines_.Add(value); + return this; + } + public Builder AddLines(global::Northwind.OrderLine.Builder builderForValue) { + if (result.lines_ == pbc::Lists.Empty) { + result.lines_ = new scg::List(); + } + result.lines_.Add(builderForValue.Build()); + return this; + } + public Builder AddRangeLines(scg::IEnumerable values) { + if (result.lines_ == pbc::Lists.Empty) { + result.lines_ = new scg::List(); + } + base.AddRange(values, result.lines_); + return this; + } + public Builder ClearLines() { + result.lines_ = pbc::Lists.Empty; + return this; + } + } + } + + public sealed partial class OrderLine : pb::GeneratedMessage { + private static readonly OrderLine defaultInstance = new OrderLine(); + public static OrderLine DefaultInstance { + get { return defaultInstance; } + } + + public override OrderLine DefaultInstanceForType { + get { return defaultInstance; } + } + + protected override OrderLine ThisMessage { + get { return this; } + } + + public static pbd::MessageDescriptor Descriptor { + get { return global::Northwind.NorthwindProtoFile.internal__static_northwind_OrderLine__Descriptor; } + } + + protected override pb::FieldAccess.FieldAccessorTable InternalFieldAccessors { + get { return global::Northwind.NorthwindProtoFile.internal__static_northwind_OrderLine__FieldAccessorTable; } + } + + // optional int32 OrderID = 1; + private bool hasOrderID; + private int orderID_ = 0; + public bool HasOrderID { + get { return hasOrderID; } + } + public int OrderID { + get { return orderID_; } + } + + // optional int32 ProductID = 2; + private bool hasProductID; + private int productID_ = 0; + public bool HasProductID { + get { return hasProductID; } + } + public int ProductID { + get { return productID_; } + } + + // optional .bcl.Decimal UnitPrice = 3; + private bool hasUnitPrice; + private global::Google.ProtocolBuffers.Bcl.Decimal unitPrice_ = global::Google.ProtocolBuffers.Bcl.Decimal.DefaultInstance; + public bool HasUnitPrice { + get { return hasUnitPrice; } + } + public global::Google.ProtocolBuffers.Bcl.Decimal UnitPrice { + get { return unitPrice_; } + } + + // optional sint32 Quantity = 4; + private bool hasQuantity; + private int quantity_ = 0; + public bool HasQuantity { + get { return hasQuantity; } + } + public int Quantity { + get { return quantity_; } + } + + // optional float Discount = 5; + private bool hasDiscount; + private float discount_ = 0F; + public bool HasDiscount { + get { return hasDiscount; } + } + public float Discount { + get { return discount_; } + } + + public override bool IsInitialized { + get { + return true; + } + } + + public override void WriteTo(pb::CodedOutputStream output) { + if (HasOrderID) { + output.WriteInt32(1, OrderID); + } + if (HasProductID) { + output.WriteInt32(2, ProductID); + } + if (HasUnitPrice) { + output.WriteMessage(3, UnitPrice); + } + if (HasQuantity) { + output.WriteSInt32(4, Quantity); + } + if (HasDiscount) { + output.WriteFloat(5, Discount); + } + UnknownFields.WriteTo(output); + } + + private int memoizedSerializedSize = -1; + public override int SerializedSize { + get { + int size = memoizedSerializedSize; + if (size != -1) return size; + + size = 0; + if (HasOrderID) { + size += pb::CodedOutputStream.ComputeInt32Size(1, OrderID); + } + if (HasProductID) { + size += pb::CodedOutputStream.ComputeInt32Size(2, ProductID); + } + if (HasUnitPrice) { + size += pb::CodedOutputStream.ComputeMessageSize(3, UnitPrice); + } + if (HasQuantity) { + size += pb::CodedOutputStream.ComputeSInt32Size(4, Quantity); + } + if (HasDiscount) { + size += pb::CodedOutputStream.ComputeFloatSize(5, Discount); + } + size += UnknownFields.SerializedSize; + memoizedSerializedSize = size; + return size; + } + } + + public static global::Northwind.OrderLine ParseFrom(pb::ByteString data) { + return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed(); + } + public static global::Northwind.OrderLine ParseFrom(pb::ByteString data, + pb::ExtensionRegistry extensionRegistry) { + return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)) + .BuildParsed(); + } + public static global::Northwind.OrderLine ParseFrom(byte[] data) { + return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed(); + } + public static global::Northwind.OrderLine ParseFrom(byte[] data, + pb::ExtensionRegistry extensionRegistry) { + return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)) + .BuildParsed(); + } + public static global::Northwind.OrderLine ParseFrom(global::System.IO.Stream input) { + return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed(); + } + public static global::Northwind.OrderLine ParseFrom( + global::System.IO.Stream input, + pb::ExtensionRegistry extensionRegistry) { + return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)) + .BuildParsed(); + } + public static global::Northwind.OrderLine ParseFrom(pb::CodedInputStream input) { + return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed(); + } + public static global::Northwind.OrderLine ParseFrom(pb::CodedInputStream input, + pb::ExtensionRegistry extensionRegistry) { + return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)) + .BuildParsed(); + } + + public static Builder CreateBuilder() { return new Builder(); } + public override Builder CreateBuilderForType() { return new Builder(); } + public static Builder CreateBuilder(global::Northwind.OrderLine prototype) { + return (Builder) new Builder().MergeFrom(prototype); + } + + public sealed partial class Builder : pb::GeneratedBuilder { + protected override Builder ThisBuilder { + get { return this; } + } + + // Construct using global::Northwind.OrderLine.CreateBuilder() + internal Builder() {} + + global::Northwind.OrderLine result = new global::Northwind.OrderLine(); + + protected override global::Northwind.OrderLine MessageBeingBuilt { + get { return result; } + } + + public override Builder Clear() { + result = new global::Northwind.OrderLine(); + return this; + } + + public override Builder Clone() { + return new Builder().MergeFrom(result); + } + + public override pbd::MessageDescriptor DescriptorForType { + get { return global::Northwind.OrderLine.Descriptor; } + } + + public override global::Northwind.OrderLine DefaultInstanceForType { + get { return global::Northwind.OrderLine.DefaultInstance; } + } + + public override global::Northwind.OrderLine BuildPartial() { + global::Northwind.OrderLine returnMe = result; + result = null; + return returnMe; + } + + public override Builder MergeFrom(pb::IMessage other) { + if (other is global::Northwind.OrderLine) { + return MergeFrom((global::Northwind.OrderLine) other); + } else { + base.MergeFrom(other); + return this; + } + } + + public override Builder MergeFrom(global::Northwind.OrderLine other) { + if (other == global::Northwind.OrderLine.DefaultInstance) return this; + if (other.HasOrderID) { + OrderID = other.OrderID; + } + if (other.HasProductID) { + ProductID = other.ProductID; + } + if (other.HasUnitPrice) { + MergeUnitPrice(other.UnitPrice); + } + if (other.HasQuantity) { + Quantity = other.Quantity; + } + if (other.HasDiscount) { + Discount = other.Discount; + } + this.MergeUnknownFields(other.UnknownFields); + return this; + } + + public override Builder MergeFrom(pb::CodedInputStream input) { + return MergeFrom(input, pb::ExtensionRegistry.Empty); + } + + public override Builder MergeFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) { + pb::UnknownFieldSet.Builder unknownFields = + pb::UnknownFieldSet.CreateBuilder(this.UnknownFields); + while (true) { + uint tag = input.ReadTag(); + switch (tag) { + case 0: + this.UnknownFields = unknownFields.Build(); + return this; + default: { + if (!ParseUnknownField(input, unknownFields, + extensionRegistry, tag)) { + this.UnknownFields = unknownFields.Build(); + return this; + } + break; + } + case 8: { + OrderID = input.ReadInt32(); + break; + } + case 16: { + ProductID = input.ReadInt32(); + break; + } + case 26: { + global::Google.ProtocolBuffers.Bcl.Decimal.Builder subBuilder = global::Google.ProtocolBuffers.Bcl.Decimal.CreateBuilder(); + if (HasUnitPrice) { + subBuilder.MergeFrom(UnitPrice); + } + input.ReadMessage(subBuilder, extensionRegistry); + UnitPrice = subBuilder.BuildPartial(); + break; + } + case 32: { + Quantity = input.ReadSInt32(); + break; + } + case 45: { + Discount = input.ReadFloat(); + break; + } + } + } + } + + + // optional int32 OrderID = 1; + public bool HasOrderID { + get { return result.HasOrderID; } + } + public int OrderID { + get { return result.OrderID; } + set { SetOrderID(value); } + } + public Builder SetOrderID(int value) { + result.hasOrderID = true; + result.orderID_ = value; + return this; + } + public Builder ClearOrderID() { + result.hasOrderID = false; + result.orderID_ = 0; + return this; + } + + // optional int32 ProductID = 2; + public bool HasProductID { + get { return result.HasProductID; } + } + public int ProductID { + get { return result.ProductID; } + set { SetProductID(value); } + } + public Builder SetProductID(int value) { + result.hasProductID = true; + result.productID_ = value; + return this; + } + public Builder ClearProductID() { + result.hasProductID = false; + result.productID_ = 0; + return this; + } + + // optional .bcl.Decimal UnitPrice = 3; + public bool HasUnitPrice { + get { return result.HasUnitPrice; } + } + public global::Google.ProtocolBuffers.Bcl.Decimal UnitPrice { + get { return result.UnitPrice; } + set { SetUnitPrice(value); } + } + public Builder SetUnitPrice(global::Google.ProtocolBuffers.Bcl.Decimal value) { + result.hasUnitPrice = true; + result.unitPrice_ = value; + return this; + } + public Builder SetUnitPrice(global::Google.ProtocolBuffers.Bcl.Decimal.Builder builderForValue) { + result.hasUnitPrice = true; + result.unitPrice_ = builderForValue.Build(); + return this; + } + public Builder MergeUnitPrice(global::Google.ProtocolBuffers.Bcl.Decimal value) { + if (result.HasUnitPrice && + result.unitPrice_ != global::Google.ProtocolBuffers.Bcl.Decimal.DefaultInstance) { + result.unitPrice_ = + global::Google.ProtocolBuffers.Bcl.Decimal.CreateBuilder(result.unitPrice_).MergeFrom(value).BuildPartial(); + } else { + result.unitPrice_ = value; + } + result.hasUnitPrice = true; + return this; + } + public Builder ClearUnitPrice() { + result.hasUnitPrice = false; + result.unitPrice_ = global::Google.ProtocolBuffers.Bcl.Decimal.DefaultInstance; + return this; + } + + // optional sint32 Quantity = 4; + public bool HasQuantity { + get { return result.HasQuantity; } + } + public int Quantity { + get { return result.Quantity; } + set { SetQuantity(value); } + } + public Builder SetQuantity(int value) { + result.hasQuantity = true; + result.quantity_ = value; + return this; + } + public Builder ClearQuantity() { + result.hasQuantity = false; + result.quantity_ = 0; + return this; + } + + // optional float Discount = 5; + public bool HasDiscount { + get { return result.HasDiscount; } + } + public float Discount { + get { return result.Discount; } + set { SetDiscount(value); } + } + public Builder SetDiscount(float value) { + result.hasDiscount = true; + result.discount_ = value; + return this; + } + public Builder ClearDiscount() { + result.hasDiscount = false; + result.discount_ = 0F; + return this; + } + } + } + + #endregion + + #region Services + #endregion +} diff --git a/csharp/TestBed/Program.cs b/csharp/TestBed/Program.cs new file mode 100644 index 00000000..4ba70cea --- /dev/null +++ b/csharp/TestBed/Program.cs @@ -0,0 +1,44 @@ +using System; +using System.Diagnostics; +using System.IO; + +namespace TestBed { + + // Avoid using the .NET 3.5 System.Action delegate + delegate void Action(); + + class Program { + + private static readonly TimeSpan TimeLimit = TimeSpan.FromMinutes(1); + private const int IterationsPerChunk = 50; + + static void Main(string[] args) { + + // Deserialize once to warm up the JIT and give us data use later + byte[] data = File.ReadAllBytes(args[0]); + Northwind.Database fast = Northwind.Database.ParseFrom(data); + SlowNorthwind.Database slow = SlowNorthwind.Database.ParseFrom(data); + + Benchmark("Fast deserialize", () => Northwind.Database.ParseFrom(data)); + Benchmark("Fast serialize", () => fast.ToByteArray()); + Benchmark("Slow deserialize", () => SlowNorthwind.Database.ParseFrom(data)); + Benchmark("Slow serialize", () => slow.ToByteArray()); + //Console.ReadLine(); + } + + private static void Benchmark(string description, Action actionUnderTest) { + int totalIterations = 0; + Stopwatch sw = Stopwatch.StartNew(); + while (sw.Elapsed < TimeLimit) { + for (int i = 0; i < IterationsPerChunk; i++) { + actionUnderTest(); + } + totalIterations += IterationsPerChunk; + } + sw.Stop(); + Console.WriteLine("{0}: {1} iterations in {2}ms; {3:f2}ms per iteration", + description, totalIterations, sw.ElapsedMilliseconds, + (double)sw.ElapsedMilliseconds / totalIterations); + } + } +} diff --git a/csharp/TestBed/Properties/AssemblyInfo.cs b/csharp/TestBed/Properties/AssemblyInfo.cs new file mode 100644 index 00000000..0212a717 --- /dev/null +++ b/csharp/TestBed/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("TestBed")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("TestBed")] +[assembly: AssemblyCopyright("Copyright © 2008")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("3ba08ae2-742f-4988-a9f9-5ff49cb701d5")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/csharp/TestBed/SlowBclProtoFile.cs b/csharp/TestBed/SlowBclProtoFile.cs new file mode 100644 index 00000000..43d01bc6 --- /dev/null +++ b/csharp/TestBed/SlowBclProtoFile.cs @@ -0,0 +1,776 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! + +using pb = global::Google.ProtocolBuffers; +using pbc = global::Google.ProtocolBuffers.Collections; +using pbd = global::Google.ProtocolBuffers.Descriptors; +using scg = global::System.Collections.Generic; +namespace Google.ProtocolBuffers.SlowBcl { + + public static partial class SlowBclProtoFile { + + #region Descriptor + public static pbd::FileDescriptor Descriptor { + get { return descriptor; } + } + private static readonly pbd::FileDescriptor descriptor = pbd::FileDescriptor.InternalBuildGeneratedFileFrom ( + new byte[] { + 0x0a, 0x0d, 0x73, 0x6c, 0x6f, 0x77, 0x62, 0x63, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x07, 0x73, 0x6c, 0x6f, + 0x77, 0x62, 0x63, 0x6c, 0x22, 0xad, 0x01, 0x0a, 0x08, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x70, 0x61, 0x6e, 0x12, 0x0d, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x12, 0x12, 0x34, 0x0a, 0x05, 0x73, 0x63, 0x61, 0x6c, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x73, 0x6c, 0x6f, 0x77, 0x62, 0x63, 0x6c, 0x2e, 0x54, 0x69, + 0x6d, 0x65, 0x53, 0x70, 0x61, 0x6e, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x70, 0x61, 0x6e, 0x53, 0x63, 0x61, 0x6c, 0x65, + 0x3a, 0x04, 0x44, 0x41, 0x59, 0x53, 0x22, 0x5c, 0x0a, 0x0d, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x70, 0x61, 0x6e, 0x53, 0x63, + 0x61, 0x6c, 0x65, 0x12, 0x08, 0x0a, 0x04, 0x44, 0x41, 0x59, 0x53, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x48, 0x4f, 0x55, + 0x52, 0x53, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x4d, 0x49, 0x4e, 0x55, 0x54, 0x45, 0x53, 0x10, 0x02, 0x12, 0x0b, 0x0a, + 0x07, 0x53, 0x45, 0x43, 0x4f, 0x4e, 0x44, 0x53, 0x10, 0x03, 0x12, 0x10, 0x0a, 0x0c, 0x4d, 0x49, 0x4c, 0x4c, 0x49, 0x53, + 0x45, 0x43, 0x4f, 0x4e, 0x44, 0x53, 0x10, 0x04, 0x12, 0x0a, 0x0a, 0x06, 0x4d, 0x49, 0x4e, 0x4d, 0x41, 0x58, 0x10, 0x0f, + 0x22, 0xad, 0x01, 0x0a, 0x08, 0x44, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x0d, 0x0a, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x12, 0x12, 0x34, 0x0a, 0x05, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x73, 0x6c, 0x6f, 0x77, 0x62, 0x63, 0x6c, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x54, 0x69, + 0x6d, 0x65, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x70, 0x61, 0x6e, 0x53, 0x63, 0x61, 0x6c, 0x65, 0x3a, 0x04, 0x44, 0x41, + 0x59, 0x53, 0x22, 0x5c, 0x0a, 0x0d, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x70, 0x61, 0x6e, 0x53, 0x63, 0x61, 0x6c, 0x65, 0x12, + 0x08, 0x0a, 0x04, 0x44, 0x41, 0x59, 0x53, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x48, 0x4f, 0x55, 0x52, 0x53, 0x10, 0x01, + 0x12, 0x0b, 0x0a, 0x07, 0x4d, 0x49, 0x4e, 0x55, 0x54, 0x45, 0x53, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x45, 0x43, + 0x4f, 0x4e, 0x44, 0x53, 0x10, 0x03, 0x12, 0x10, 0x0a, 0x0c, 0x4d, 0x49, 0x4c, 0x4c, 0x49, 0x53, 0x45, 0x43, 0x4f, 0x4e, + 0x44, 0x53, 0x10, 0x04, 0x12, 0x0a, 0x0a, 0x06, 0x4d, 0x49, 0x4e, 0x4d, 0x41, 0x58, 0x10, 0x0f, 0x22, 0x1e, 0x0a, 0x04, + 0x47, 0x75, 0x69, 0x64, 0x12, 0x0a, 0x0a, 0x02, 0x6c, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x12, 0x0a, 0x0a, 0x02, + 0x68, 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x06, 0x22, 0x34, 0x0a, 0x07, 0x44, 0x65, 0x63, 0x69, 0x6d, 0x61, 0x6c, 0x12, + 0x0a, 0x0a, 0x02, 0x6c, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x12, 0x0a, 0x0a, 0x02, 0x68, 0x69, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0d, 0x12, 0x11, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x53, 0x63, 0x61, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0d, 0x42, 0x34, 0xc2, 0x3e, 0x1e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, + 0x6f, 0x6c, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x73, 0x2e, 0x53, 0x6c, 0x6f, 0x77, 0x42, 0x63, 0x6c, 0xca, 0x3e, 0x10, + 0x53, 0x6c, 0x6f, 0x77, 0x42, 0x63, 0x6c, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x69, 0x6c, 0x65, + }, new pbd::FileDescriptor[] { + }); + #endregion + + #region Extensions + #endregion + + #region Static variables + internal static readonly pbd::MessageDescriptor internal__static_slowbcl_TimeSpan__Descriptor + = Descriptor.MessageTypes[0]; + internal static pb::FieldAccess.FieldAccessorTable internal__static_slowbcl_TimeSpan__FieldAccessorTable + = new pb::FieldAccess.FieldAccessorTable(internal__static_slowbcl_TimeSpan__Descriptor, + new string[] { "Value", "Scale", }); + internal static readonly pbd::MessageDescriptor internal__static_slowbcl_DateTime__Descriptor + = Descriptor.MessageTypes[1]; + internal static pb::FieldAccess.FieldAccessorTable internal__static_slowbcl_DateTime__FieldAccessorTable + = new pb::FieldAccess.FieldAccessorTable(internal__static_slowbcl_DateTime__Descriptor, + new string[] { "Value", "Scale", }); + internal static readonly pbd::MessageDescriptor internal__static_slowbcl_Guid__Descriptor + = Descriptor.MessageTypes[2]; + internal static pb::FieldAccess.FieldAccessorTable internal__static_slowbcl_Guid__FieldAccessorTable + = new pb::FieldAccess.FieldAccessorTable(internal__static_slowbcl_Guid__Descriptor, + new string[] { "Lo", "Hi", }); + internal static readonly pbd::MessageDescriptor internal__static_slowbcl_Decimal__Descriptor + = Descriptor.MessageTypes[3]; + internal static pb::FieldAccess.FieldAccessorTable internal__static_slowbcl_Decimal__FieldAccessorTable + = new pb::FieldAccess.FieldAccessorTable(internal__static_slowbcl_Decimal__Descriptor, + new string[] { "Lo", "Hi", "SignScale", }); + #endregion + + } + + #region Enums + #endregion + + #region Messages + public sealed partial class TimeSpan : pb::GeneratedMessage { + private static readonly TimeSpan defaultInstance = new TimeSpan(); + public static TimeSpan DefaultInstance { + get { return defaultInstance; } + } + + public override TimeSpan DefaultInstanceForType { + get { return defaultInstance; } + } + + protected override TimeSpan ThisMessage { + get { return this; } + } + + public static pbd::MessageDescriptor Descriptor { + get { return global::Google.ProtocolBuffers.SlowBcl.SlowBclProtoFile.internal__static_slowbcl_TimeSpan__Descriptor; } + } + + protected override pb::FieldAccess.FieldAccessorTable InternalFieldAccessors { + get { return global::Google.ProtocolBuffers.SlowBcl.SlowBclProtoFile.internal__static_slowbcl_TimeSpan__FieldAccessorTable; } + } + + #region Nested types + public static class Types { + public enum TimeSpanScale { + DAYS = 0, + HOURS = 1, + MINUTES = 2, + SECONDS = 3, + MILLISECONDS = 4, + MINMAX = 15, + } + + } + #endregion + + // optional sint64 value = 1; + private bool hasValue; + private long value_ = 0L; + public bool HasValue { + get { return hasValue; } + } + public long Value { + get { return value_; } + } + + // optional .slowbcl.TimeSpan.TimeSpanScale scale = 2 [default = DAYS]; + private bool hasScale; + private global::Google.ProtocolBuffers.SlowBcl.TimeSpan.Types.TimeSpanScale scale_ = global::Google.ProtocolBuffers.SlowBcl.TimeSpan.Types.TimeSpanScale.DAYS; + public bool HasScale { + get { return hasScale; } + } + public global::Google.ProtocolBuffers.SlowBcl.TimeSpan.Types.TimeSpanScale Scale { get { return scale_; }} + + public static global::Google.ProtocolBuffers.SlowBcl.TimeSpan ParseFrom(pb::ByteString data) { + return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed(); + } + public static global::Google.ProtocolBuffers.SlowBcl.TimeSpan ParseFrom(pb::ByteString data, + pb::ExtensionRegistry extensionRegistry) { + return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)) + .BuildParsed(); + } + public static global::Google.ProtocolBuffers.SlowBcl.TimeSpan ParseFrom(byte[] data) { + return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed(); + } + public static global::Google.ProtocolBuffers.SlowBcl.TimeSpan ParseFrom(byte[] data, + pb::ExtensionRegistry extensionRegistry) { + return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)) + .BuildParsed(); + } + public static global::Google.ProtocolBuffers.SlowBcl.TimeSpan ParseFrom(global::System.IO.Stream input) { + return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed(); + } + public static global::Google.ProtocolBuffers.SlowBcl.TimeSpan ParseFrom( + global::System.IO.Stream input, + pb::ExtensionRegistry extensionRegistry) { + return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)) + .BuildParsed(); + } + public static global::Google.ProtocolBuffers.SlowBcl.TimeSpan ParseFrom(pb::CodedInputStream input) { + return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed(); + } + public static global::Google.ProtocolBuffers.SlowBcl.TimeSpan ParseFrom(pb::CodedInputStream input, + pb::ExtensionRegistry extensionRegistry) { + return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)) + .BuildParsed(); + } + + public static Builder CreateBuilder() { return new Builder(); } + public override Builder CreateBuilderForType() { return new Builder(); } + public static Builder CreateBuilder(global::Google.ProtocolBuffers.SlowBcl.TimeSpan prototype) { + return (Builder) new Builder().MergeFrom(prototype); + } + + public sealed partial class Builder : pb::GeneratedBuilder { + protected override Builder ThisBuilder { + get { return this; } + } + + // Construct using global::Google.ProtocolBuffers.SlowBcl.TimeSpan.CreateBuilder() + internal Builder() {} + + global::Google.ProtocolBuffers.SlowBcl.TimeSpan result = new global::Google.ProtocolBuffers.SlowBcl.TimeSpan(); + + protected override global::Google.ProtocolBuffers.SlowBcl.TimeSpan MessageBeingBuilt { + get { return result; } + } + + public override Builder Clear() { + result = new global::Google.ProtocolBuffers.SlowBcl.TimeSpan(); + return this; + } + + public override Builder Clone() { + return new Builder().MergeFrom(result); + } + + public override pbd::MessageDescriptor DescriptorForType { + get { return global::Google.ProtocolBuffers.SlowBcl.TimeSpan.Descriptor; } + } + + public override global::Google.ProtocolBuffers.SlowBcl.TimeSpan DefaultInstanceForType { + get { return global::Google.ProtocolBuffers.SlowBcl.TimeSpan.DefaultInstance; } + } + + public override global::Google.ProtocolBuffers.SlowBcl.TimeSpan BuildPartial() { + global::Google.ProtocolBuffers.SlowBcl.TimeSpan returnMe = result; + result = null; + return returnMe; + } + + + // optional sint64 value = 1; + public bool HasValue { + get { return result.HasValue; } + } + public long Value { + get { return result.Value; } + set { SetValue(value); } + } + public Builder SetValue(long value) { + result.hasValue = true; + result.value_ = value; + return this; + } + public Builder ClearValue() { + result.hasValue = false; + result.value_ = 0L; + return this; + } + + // optional .slowbcl.TimeSpan.TimeSpanScale scale = 2 [default = DAYS]; + public bool HasScale { + get { return result.HasScale; } + } + public global::Google.ProtocolBuffers.SlowBcl.TimeSpan.Types.TimeSpanScale Scale { + get { return result.Scale; } + set { SetScale(value); } + } + public Builder SetScale(global::Google.ProtocolBuffers.SlowBcl.TimeSpan.Types.TimeSpanScale value) { + result.hasScale = true; + result.scale_ = value; + return this; + } + public Builder ClearScale() { + result.hasScale = false; + result.scale_ = global::Google.ProtocolBuffers.SlowBcl.TimeSpan.Types.TimeSpanScale.DAYS; + return this; + } + } + } + + public sealed partial class DateTime : pb::GeneratedMessage { + private static readonly DateTime defaultInstance = new DateTime(); + public static DateTime DefaultInstance { + get { return defaultInstance; } + } + + public override DateTime DefaultInstanceForType { + get { return defaultInstance; } + } + + protected override DateTime ThisMessage { + get { return this; } + } + + public static pbd::MessageDescriptor Descriptor { + get { return global::Google.ProtocolBuffers.SlowBcl.SlowBclProtoFile.internal__static_slowbcl_DateTime__Descriptor; } + } + + protected override pb::FieldAccess.FieldAccessorTable InternalFieldAccessors { + get { return global::Google.ProtocolBuffers.SlowBcl.SlowBclProtoFile.internal__static_slowbcl_DateTime__FieldAccessorTable; } + } + + #region Nested types + public static class Types { + public enum TimeSpanScale { + DAYS = 0, + HOURS = 1, + MINUTES = 2, + SECONDS = 3, + MILLISECONDS = 4, + MINMAX = 15, + } + + } + #endregion + + // optional sint64 value = 1; + private bool hasValue; + private long value_ = 0L; + public bool HasValue { + get { return hasValue; } + } + public long Value { + get { return value_; } + } + + // optional .slowbcl.DateTime.TimeSpanScale scale = 2 [default = DAYS]; + private bool hasScale; + private global::Google.ProtocolBuffers.SlowBcl.DateTime.Types.TimeSpanScale scale_ = global::Google.ProtocolBuffers.SlowBcl.DateTime.Types.TimeSpanScale.DAYS; + public bool HasScale { + get { return hasScale; } + } + public global::Google.ProtocolBuffers.SlowBcl.DateTime.Types.TimeSpanScale Scale { get { return scale_; }} + + public static global::Google.ProtocolBuffers.SlowBcl.DateTime ParseFrom(pb::ByteString data) { + return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed(); + } + public static global::Google.ProtocolBuffers.SlowBcl.DateTime ParseFrom(pb::ByteString data, + pb::ExtensionRegistry extensionRegistry) { + return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)) + .BuildParsed(); + } + public static global::Google.ProtocolBuffers.SlowBcl.DateTime ParseFrom(byte[] data) { + return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed(); + } + public static global::Google.ProtocolBuffers.SlowBcl.DateTime ParseFrom(byte[] data, + pb::ExtensionRegistry extensionRegistry) { + return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)) + .BuildParsed(); + } + public static global::Google.ProtocolBuffers.SlowBcl.DateTime ParseFrom(global::System.IO.Stream input) { + return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed(); + } + public static global::Google.ProtocolBuffers.SlowBcl.DateTime ParseFrom( + global::System.IO.Stream input, + pb::ExtensionRegistry extensionRegistry) { + return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)) + .BuildParsed(); + } + public static global::Google.ProtocolBuffers.SlowBcl.DateTime ParseFrom(pb::CodedInputStream input) { + return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed(); + } + public static global::Google.ProtocolBuffers.SlowBcl.DateTime ParseFrom(pb::CodedInputStream input, + pb::ExtensionRegistry extensionRegistry) { + return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)) + .BuildParsed(); + } + + public static Builder CreateBuilder() { return new Builder(); } + public override Builder CreateBuilderForType() { return new Builder(); } + public static Builder CreateBuilder(global::Google.ProtocolBuffers.SlowBcl.DateTime prototype) { + return (Builder) new Builder().MergeFrom(prototype); + } + + public sealed partial class Builder : pb::GeneratedBuilder { + protected override Builder ThisBuilder { + get { return this; } + } + + // Construct using global::Google.ProtocolBuffers.SlowBcl.DateTime.CreateBuilder() + internal Builder() {} + + global::Google.ProtocolBuffers.SlowBcl.DateTime result = new global::Google.ProtocolBuffers.SlowBcl.DateTime(); + + protected override global::Google.ProtocolBuffers.SlowBcl.DateTime MessageBeingBuilt { + get { return result; } + } + + public override Builder Clear() { + result = new global::Google.ProtocolBuffers.SlowBcl.DateTime(); + return this; + } + + public override Builder Clone() { + return new Builder().MergeFrom(result); + } + + public override pbd::MessageDescriptor DescriptorForType { + get { return global::Google.ProtocolBuffers.SlowBcl.DateTime.Descriptor; } + } + + public override global::Google.ProtocolBuffers.SlowBcl.DateTime DefaultInstanceForType { + get { return global::Google.ProtocolBuffers.SlowBcl.DateTime.DefaultInstance; } + } + + public override global::Google.ProtocolBuffers.SlowBcl.DateTime BuildPartial() { + global::Google.ProtocolBuffers.SlowBcl.DateTime returnMe = result; + result = null; + return returnMe; + } + + + // optional sint64 value = 1; + public bool HasValue { + get { return result.HasValue; } + } + public long Value { + get { return result.Value; } + set { SetValue(value); } + } + public Builder SetValue(long value) { + result.hasValue = true; + result.value_ = value; + return this; + } + public Builder ClearValue() { + result.hasValue = false; + result.value_ = 0L; + return this; + } + + // optional .slowbcl.DateTime.TimeSpanScale scale = 2 [default = DAYS]; + public bool HasScale { + get { return result.HasScale; } + } + public global::Google.ProtocolBuffers.SlowBcl.DateTime.Types.TimeSpanScale Scale { + get { return result.Scale; } + set { SetScale(value); } + } + public Builder SetScale(global::Google.ProtocolBuffers.SlowBcl.DateTime.Types.TimeSpanScale value) { + result.hasScale = true; + result.scale_ = value; + return this; + } + public Builder ClearScale() { + result.hasScale = false; + result.scale_ = global::Google.ProtocolBuffers.SlowBcl.DateTime.Types.TimeSpanScale.DAYS; + return this; + } + } + } + + public sealed partial class Guid : pb::GeneratedMessage { + private static readonly Guid defaultInstance = new Guid(); + public static Guid DefaultInstance { + get { return defaultInstance; } + } + + public override Guid DefaultInstanceForType { + get { return defaultInstance; } + } + + protected override Guid ThisMessage { + get { return this; } + } + + public static pbd::MessageDescriptor Descriptor { + get { return global::Google.ProtocolBuffers.SlowBcl.SlowBclProtoFile.internal__static_slowbcl_Guid__Descriptor; } + } + + protected override pb::FieldAccess.FieldAccessorTable InternalFieldAccessors { + get { return global::Google.ProtocolBuffers.SlowBcl.SlowBclProtoFile.internal__static_slowbcl_Guid__FieldAccessorTable; } + } + + // optional fixed64 lo = 1; + private bool hasLo; + private ulong lo_ = 0UL; + public bool HasLo { + get { return hasLo; } + } + public ulong Lo { + get { return lo_; } + } + + // optional fixed64 hi = 2; + private bool hasHi; + private ulong hi_ = 0UL; + public bool HasHi { + get { return hasHi; } + } + public ulong Hi { + get { return hi_; } + } + + public static global::Google.ProtocolBuffers.SlowBcl.Guid ParseFrom(pb::ByteString data) { + return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed(); + } + public static global::Google.ProtocolBuffers.SlowBcl.Guid ParseFrom(pb::ByteString data, + pb::ExtensionRegistry extensionRegistry) { + return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)) + .BuildParsed(); + } + public static global::Google.ProtocolBuffers.SlowBcl.Guid ParseFrom(byte[] data) { + return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed(); + } + public static global::Google.ProtocolBuffers.SlowBcl.Guid ParseFrom(byte[] data, + pb::ExtensionRegistry extensionRegistry) { + return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)) + .BuildParsed(); + } + public static global::Google.ProtocolBuffers.SlowBcl.Guid ParseFrom(global::System.IO.Stream input) { + return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed(); + } + public static global::Google.ProtocolBuffers.SlowBcl.Guid ParseFrom( + global::System.IO.Stream input, + pb::ExtensionRegistry extensionRegistry) { + return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)) + .BuildParsed(); + } + public static global::Google.ProtocolBuffers.SlowBcl.Guid ParseFrom(pb::CodedInputStream input) { + return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed(); + } + public static global::Google.ProtocolBuffers.SlowBcl.Guid ParseFrom(pb::CodedInputStream input, + pb::ExtensionRegistry extensionRegistry) { + return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)) + .BuildParsed(); + } + + public static Builder CreateBuilder() { return new Builder(); } + public override Builder CreateBuilderForType() { return new Builder(); } + public static Builder CreateBuilder(global::Google.ProtocolBuffers.SlowBcl.Guid prototype) { + return (Builder) new Builder().MergeFrom(prototype); + } + + public sealed partial class Builder : pb::GeneratedBuilder { + protected override Builder ThisBuilder { + get { return this; } + } + + // Construct using global::Google.ProtocolBuffers.SlowBcl.Guid.CreateBuilder() + internal Builder() {} + + global::Google.ProtocolBuffers.SlowBcl.Guid result = new global::Google.ProtocolBuffers.SlowBcl.Guid(); + + protected override global::Google.ProtocolBuffers.SlowBcl.Guid MessageBeingBuilt { + get { return result; } + } + + public override Builder Clear() { + result = new global::Google.ProtocolBuffers.SlowBcl.Guid(); + return this; + } + + public override Builder Clone() { + return new Builder().MergeFrom(result); + } + + public override pbd::MessageDescriptor DescriptorForType { + get { return global::Google.ProtocolBuffers.SlowBcl.Guid.Descriptor; } + } + + public override global::Google.ProtocolBuffers.SlowBcl.Guid DefaultInstanceForType { + get { return global::Google.ProtocolBuffers.SlowBcl.Guid.DefaultInstance; } + } + + public override global::Google.ProtocolBuffers.SlowBcl.Guid BuildPartial() { + global::Google.ProtocolBuffers.SlowBcl.Guid returnMe = result; + result = null; + return returnMe; + } + + + // optional fixed64 lo = 1; + public bool HasLo { + get { return result.HasLo; } + } + public ulong Lo { + get { return result.Lo; } + set { SetLo(value); } + } + public Builder SetLo(ulong value) { + result.hasLo = true; + result.lo_ = value; + return this; + } + public Builder ClearLo() { + result.hasLo = false; + result.lo_ = 0UL; + return this; + } + + // optional fixed64 hi = 2; + public bool HasHi { + get { return result.HasHi; } + } + public ulong Hi { + get { return result.Hi; } + set { SetHi(value); } + } + public Builder SetHi(ulong value) { + result.hasHi = true; + result.hi_ = value; + return this; + } + public Builder ClearHi() { + result.hasHi = false; + result.hi_ = 0UL; + return this; + } + } + } + + public sealed partial class Decimal : pb::GeneratedMessage { + private static readonly Decimal defaultInstance = new Decimal(); + public static Decimal DefaultInstance { + get { return defaultInstance; } + } + + public override Decimal DefaultInstanceForType { + get { return defaultInstance; } + } + + protected override Decimal ThisMessage { + get { return this; } + } + + public static pbd::MessageDescriptor Descriptor { + get { return global::Google.ProtocolBuffers.SlowBcl.SlowBclProtoFile.internal__static_slowbcl_Decimal__Descriptor; } + } + + protected override pb::FieldAccess.FieldAccessorTable InternalFieldAccessors { + get { return global::Google.ProtocolBuffers.SlowBcl.SlowBclProtoFile.internal__static_slowbcl_Decimal__FieldAccessorTable; } + } + + // optional uint64 lo = 1; + private bool hasLo; + private ulong lo_ = 0UL; + public bool HasLo { + get { return hasLo; } + } + public ulong Lo { + get { return lo_; } + } + + // optional uint32 hi = 2; + private bool hasHi; + private uint hi_ = 0; + public bool HasHi { + get { return hasHi; } + } + public uint Hi { + get { return hi_; } + } + + // optional uint32 signScale = 3; + private bool hasSignScale; + private uint signScale_ = 0; + public bool HasSignScale { + get { return hasSignScale; } + } + public uint SignScale { + get { return signScale_; } + } + + public static global::Google.ProtocolBuffers.SlowBcl.Decimal ParseFrom(pb::ByteString data) { + return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed(); + } + public static global::Google.ProtocolBuffers.SlowBcl.Decimal ParseFrom(pb::ByteString data, + pb::ExtensionRegistry extensionRegistry) { + return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)) + .BuildParsed(); + } + public static global::Google.ProtocolBuffers.SlowBcl.Decimal ParseFrom(byte[] data) { + return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed(); + } + public static global::Google.ProtocolBuffers.SlowBcl.Decimal ParseFrom(byte[] data, + pb::ExtensionRegistry extensionRegistry) { + return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)) + .BuildParsed(); + } + public static global::Google.ProtocolBuffers.SlowBcl.Decimal ParseFrom(global::System.IO.Stream input) { + return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed(); + } + public static global::Google.ProtocolBuffers.SlowBcl.Decimal ParseFrom( + global::System.IO.Stream input, + pb::ExtensionRegistry extensionRegistry) { + return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)) + .BuildParsed(); + } + public static global::Google.ProtocolBuffers.SlowBcl.Decimal ParseFrom(pb::CodedInputStream input) { + return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed(); + } + public static global::Google.ProtocolBuffers.SlowBcl.Decimal ParseFrom(pb::CodedInputStream input, + pb::ExtensionRegistry extensionRegistry) { + return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)) + .BuildParsed(); + } + + public static Builder CreateBuilder() { return new Builder(); } + public override Builder CreateBuilderForType() { return new Builder(); } + public static Builder CreateBuilder(global::Google.ProtocolBuffers.SlowBcl.Decimal prototype) { + return (Builder) new Builder().MergeFrom(prototype); + } + + public sealed partial class Builder : pb::GeneratedBuilder { + protected override Builder ThisBuilder { + get { return this; } + } + + // Construct using global::Google.ProtocolBuffers.SlowBcl.Decimal.CreateBuilder() + internal Builder() {} + + global::Google.ProtocolBuffers.SlowBcl.Decimal result = new global::Google.ProtocolBuffers.SlowBcl.Decimal(); + + protected override global::Google.ProtocolBuffers.SlowBcl.Decimal MessageBeingBuilt { + get { return result; } + } + + public override Builder Clear() { + result = new global::Google.ProtocolBuffers.SlowBcl.Decimal(); + return this; + } + + public override Builder Clone() { + return new Builder().MergeFrom(result); + } + + public override pbd::MessageDescriptor DescriptorForType { + get { return global::Google.ProtocolBuffers.SlowBcl.Decimal.Descriptor; } + } + + public override global::Google.ProtocolBuffers.SlowBcl.Decimal DefaultInstanceForType { + get { return global::Google.ProtocolBuffers.SlowBcl.Decimal.DefaultInstance; } + } + + public override global::Google.ProtocolBuffers.SlowBcl.Decimal BuildPartial() { + global::Google.ProtocolBuffers.SlowBcl.Decimal returnMe = result; + result = null; + return returnMe; + } + + + // optional uint64 lo = 1; + public bool HasLo { + get { return result.HasLo; } + } + public ulong Lo { + get { return result.Lo; } + set { SetLo(value); } + } + public Builder SetLo(ulong value) { + result.hasLo = true; + result.lo_ = value; + return this; + } + public Builder ClearLo() { + result.hasLo = false; + result.lo_ = 0UL; + return this; + } + + // optional uint32 hi = 2; + public bool HasHi { + get { return result.HasHi; } + } + public uint Hi { + get { return result.Hi; } + set { SetHi(value); } + } + public Builder SetHi(uint value) { + result.hasHi = true; + result.hi_ = value; + return this; + } + public Builder ClearHi() { + result.hasHi = false; + result.hi_ = 0; + return this; + } + + // optional uint32 signScale = 3; + public bool HasSignScale { + get { return result.HasSignScale; } + } + public uint SignScale { + get { return result.SignScale; } + set { SetSignScale(value); } + } + public Builder SetSignScale(uint value) { + result.hasSignScale = true; + result.signScale_ = value; + return this; + } + public Builder ClearSignScale() { + result.hasSignScale = false; + result.signScale_ = 0; + return this; + } + } + } + + #endregion + + #region Services + #endregion +} diff --git a/csharp/TestBed/SlowNorthwindProtoFile.cs b/csharp/TestBed/SlowNorthwindProtoFile.cs new file mode 100644 index 00000000..8984f328 --- /dev/null +++ b/csharp/TestBed/SlowNorthwindProtoFile.cs @@ -0,0 +1,1142 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! + +using pb = global::Google.ProtocolBuffers; +using pbc = global::Google.ProtocolBuffers.Collections; +using pbd = global::Google.ProtocolBuffers.Descriptors; +using scg = global::System.Collections.Generic; +namespace SlowNorthwind { + + public static partial class SlowNorthwindProtoFile { + + #region Descriptor + public static pbd::FileDescriptor Descriptor { + get { return descriptor; } + } + private static readonly pbd::FileDescriptor descriptor = pbd::FileDescriptor.InternalBuildGeneratedFileFrom ( + new byte[] { + 0x0a, 0x0f, 0x73, 0x6c, 0x6f, 0x77, 0x6e, 0x77, 0x69, 0x6e, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0d, 0x73, + 0x6c, 0x6f, 0x77, 0x6e, 0x6f, 0x72, 0x74, 0x68, 0x77, 0x69, 0x6e, 0x64, 0x1a, 0x0d, 0x73, 0x6c, 0x6f, 0x77, 0x62, 0x63, + 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x30, 0x0a, 0x08, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x12, + 0x24, 0x0a, 0x06, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x73, 0x6c, + 0x6f, 0x77, 0x6e, 0x6f, 0x72, 0x74, 0x68, 0x77, 0x69, 0x6e, 0x64, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x22, 0x8e, 0x03, + 0x0a, 0x05, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x0f, 0x0a, 0x07, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x44, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x05, 0x12, 0x12, 0x0a, 0x0a, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x44, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x12, 0x12, 0x0a, 0x0a, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x49, 0x44, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x05, 0x12, 0x24, 0x0a, 0x09, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x44, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x73, 0x6c, 0x6f, 0x77, 0x62, 0x63, 0x6c, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x54, 0x69, + 0x6d, 0x65, 0x12, 0x27, 0x0a, 0x0c, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x44, 0x61, 0x74, 0x65, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x73, 0x6c, 0x6f, 0x77, 0x62, 0x63, 0x6c, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x54, + 0x69, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0b, 0x53, 0x68, 0x69, 0x70, 0x70, 0x65, 0x64, 0x44, 0x61, 0x74, 0x65, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x73, 0x6c, 0x6f, 0x77, 0x62, 0x63, 0x6c, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x54, + 0x69, 0x6d, 0x65, 0x12, 0x0f, 0x0a, 0x07, 0x53, 0x68, 0x69, 0x70, 0x56, 0x69, 0x61, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, + 0x12, 0x21, 0x0a, 0x07, 0x46, 0x72, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, + 0x73, 0x6c, 0x6f, 0x77, 0x62, 0x63, 0x6c, 0x2e, 0x44, 0x65, 0x63, 0x69, 0x6d, 0x61, 0x6c, 0x12, 0x10, 0x0a, 0x08, 0x53, + 0x68, 0x69, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x12, 0x13, 0x0a, 0x0b, 0x53, 0x68, 0x69, + 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x12, 0x10, 0x0a, 0x08, 0x53, 0x68, + 0x69, 0x70, 0x43, 0x69, 0x74, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x12, 0x12, 0x0a, 0x0a, 0x53, 0x68, 0x69, 0x70, + 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x12, 0x16, 0x0a, 0x0e, 0x53, 0x68, 0x69, 0x70, + 0x50, 0x6f, 0x73, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x12, 0x13, 0x0a, 0x0b, + 0x53, 0x68, 0x69, 0x70, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x12, 0x27, 0x0a, + 0x05, 0x4c, 0x69, 0x6e, 0x65, 0x73, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x6c, 0x6f, 0x77, 0x6e, + 0x6f, 0x72, 0x74, 0x68, 0x77, 0x69, 0x6e, 0x64, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x4c, 0x69, 0x6e, 0x65, 0x22, 0x78, + 0x0a, 0x09, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x4c, 0x69, 0x6e, 0x65, 0x12, 0x0f, 0x0a, 0x07, 0x4f, 0x72, 0x64, 0x65, 0x72, + 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x12, 0x11, 0x0a, 0x09, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, + 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x12, 0x23, 0x0a, 0x09, 0x55, 0x6e, 0x69, 0x74, 0x50, 0x72, 0x69, 0x63, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x73, 0x6c, 0x6f, 0x77, 0x62, 0x63, 0x6c, 0x2e, 0x44, 0x65, 0x63, + 0x69, 0x6d, 0x61, 0x6c, 0x12, 0x10, 0x0a, 0x08, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x11, 0x12, 0x10, 0x0a, 0x08, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x02, + 0x42, 0x29, 0xc2, 0x3e, 0x0d, 0x53, 0x6c, 0x6f, 0x77, 0x4e, 0x6f, 0x72, 0x74, 0x68, 0x77, 0x69, 0x6e, 0x64, 0xca, 0x3e, + 0x16, 0x53, 0x6c, 0x6f, 0x77, 0x4e, 0x6f, 0x72, 0x74, 0x68, 0x77, 0x69, 0x6e, 0x64, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x46, + 0x69, 0x6c, 0x65, + }, new pbd::FileDescriptor[] { + global::Google.ProtocolBuffers.SlowBcl.SlowBclProtoFile.Descriptor, + }); + #endregion + + #region Extensions + #endregion + + #region Static variables + internal static readonly pbd::MessageDescriptor internal__static_slownorthwind_Database__Descriptor + = Descriptor.MessageTypes[0]; + internal static pb::FieldAccess.FieldAccessorTable internal__static_slownorthwind_Database__FieldAccessorTable + = new pb::FieldAccess.FieldAccessorTable(internal__static_slownorthwind_Database__Descriptor, + new string[] { "Orders", }); + internal static readonly pbd::MessageDescriptor internal__static_slownorthwind_Order__Descriptor + = Descriptor.MessageTypes[1]; + internal static pb::FieldAccess.FieldAccessorTable internal__static_slownorthwind_Order__FieldAccessorTable + = new pb::FieldAccess.FieldAccessorTable(internal__static_slownorthwind_Order__Descriptor, + new string[] { "OrderID", "CustomerID", "EmployeeID", "OrderDate", "RequiredDate", "ShippedDate", "ShipVia", "Freight", "ShipName", "ShipAddress", "ShipCity", "ShipRegion", "ShipPostalCode", "ShipCountry", "Lines", }); + internal static readonly pbd::MessageDescriptor internal__static_slownorthwind_OrderLine__Descriptor + = Descriptor.MessageTypes[2]; + internal static pb::FieldAccess.FieldAccessorTable internal__static_slownorthwind_OrderLine__FieldAccessorTable + = new pb::FieldAccess.FieldAccessorTable(internal__static_slownorthwind_OrderLine__Descriptor, + new string[] { "OrderID", "ProductID", "UnitPrice", "Quantity", "Discount", }); + #endregion + + } + + #region Enums + #endregion + + #region Messages + public sealed partial class Database : pb::GeneratedMessage { + private static readonly Database defaultInstance = new Database(); + public static Database DefaultInstance { + get { return defaultInstance; } + } + + public override Database DefaultInstanceForType { + get { return defaultInstance; } + } + + protected override Database ThisMessage { + get { return this; } + } + + public static pbd::MessageDescriptor Descriptor { + get { return global::SlowNorthwind.SlowNorthwindProtoFile.internal__static_slownorthwind_Database__Descriptor; } + } + + protected override pb::FieldAccess.FieldAccessorTable InternalFieldAccessors { + get { return global::SlowNorthwind.SlowNorthwindProtoFile.internal__static_slownorthwind_Database__FieldAccessorTable; } + } + + // repeated .slownorthwind.Order Orders = 1; + private scg::IList orders_ = pbc::Lists.Empty; + public scg::IList OrdersList { + get { return orders_; } + } + public int OrdersCount + { get { return orders_.Count; } + } + public global::SlowNorthwind.Order GetOrders(int index) { + return orders_ [index]; + } + + public static global::SlowNorthwind.Database ParseFrom(pb::ByteString data) { + return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed(); + } + public static global::SlowNorthwind.Database ParseFrom(pb::ByteString data, + pb::ExtensionRegistry extensionRegistry) { + return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)) + .BuildParsed(); + } + public static global::SlowNorthwind.Database ParseFrom(byte[] data) { + return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed(); + } + public static global::SlowNorthwind.Database ParseFrom(byte[] data, + pb::ExtensionRegistry extensionRegistry) { + return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)) + .BuildParsed(); + } + public static global::SlowNorthwind.Database ParseFrom(global::System.IO.Stream input) { + return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed(); + } + public static global::SlowNorthwind.Database ParseFrom( + global::System.IO.Stream input, + pb::ExtensionRegistry extensionRegistry) { + return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)) + .BuildParsed(); + } + public static global::SlowNorthwind.Database ParseFrom(pb::CodedInputStream input) { + return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed(); + } + public static global::SlowNorthwind.Database ParseFrom(pb::CodedInputStream input, + pb::ExtensionRegistry extensionRegistry) { + return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)) + .BuildParsed(); + } + + public static Builder CreateBuilder() { return new Builder(); } + public override Builder CreateBuilderForType() { return new Builder(); } + public static Builder CreateBuilder(global::SlowNorthwind.Database prototype) { + return (Builder) new Builder().MergeFrom(prototype); + } + + public sealed partial class Builder : pb::GeneratedBuilder { + protected override Builder ThisBuilder { + get { return this; } + } + + // Construct using global::SlowNorthwind.Database.CreateBuilder() + internal Builder() {} + + global::SlowNorthwind.Database result = new global::SlowNorthwind.Database(); + + protected override global::SlowNorthwind.Database MessageBeingBuilt { + get { return result; } + } + + public override Builder Clear() { + result = new global::SlowNorthwind.Database(); + return this; + } + + public override Builder Clone() { + return new Builder().MergeFrom(result); + } + + public override pbd::MessageDescriptor DescriptorForType { + get { return global::SlowNorthwind.Database.Descriptor; } + } + + public override global::SlowNorthwind.Database DefaultInstanceForType { + get { return global::SlowNorthwind.Database.DefaultInstance; } + } + + public override global::SlowNorthwind.Database BuildPartial() { + if (result.orders_ != pbc::Lists.Empty) { + result.orders_ = pbc::Lists.AsReadOnly(result.orders_); + } + global::SlowNorthwind.Database returnMe = result; + result = null; + return returnMe; + } + + + // repeated .slownorthwind.Order Orders = 1; + public scg::IList OrdersList { + get { return pbc::Lists.AsReadOnly(result.orders_); } + } + public int OrdersCount { + get { return result.OrdersCount; } + } + public global::SlowNorthwind.Order GetOrders(int index) { + return result.GetOrders(index); + } + public Builder SetOrders(int index, global::SlowNorthwind.Order value) { + result.orders_[index] = value; + return this; + } + public Builder SetOrders(int index, global::SlowNorthwind.Order.Builder builderForValue) { + result.orders_[index] = builderForValue.Build(); + return this; + } + public Builder AddOrders(global::SlowNorthwind.Order value) { + if (result.orders_ == pbc::Lists.Empty) { + result.orders_ = new scg::List(); + } + result.orders_.Add(value); + return this; + } + public Builder AddOrders(global::SlowNorthwind.Order.Builder builderForValue) { + if (result.orders_ == pbc::Lists.Empty) { + result.orders_ = new scg::List(); + } + result.orders_.Add(builderForValue.Build()); + return this; + } + public Builder AddRangeOrders(scg::IEnumerable values) { + if (result.orders_ == pbc::Lists.Empty) { + result.orders_ = new scg::List(); + } + base.AddRange(values, result.orders_); + return this; + } + public Builder ClearOrders() { + result.orders_ = pbc::Lists.Empty; + return this; + } + } + } + + public sealed partial class Order : pb::GeneratedMessage { + private static readonly Order defaultInstance = new Order(); + public static Order DefaultInstance { + get { return defaultInstance; } + } + + public override Order DefaultInstanceForType { + get { return defaultInstance; } + } + + protected override Order ThisMessage { + get { return this; } + } + + public static pbd::MessageDescriptor Descriptor { + get { return global::SlowNorthwind.SlowNorthwindProtoFile.internal__static_slownorthwind_Order__Descriptor; } + } + + protected override pb::FieldAccess.FieldAccessorTable InternalFieldAccessors { + get { return global::SlowNorthwind.SlowNorthwindProtoFile.internal__static_slownorthwind_Order__FieldAccessorTable; } + } + + // optional int32 OrderID = 1; + private bool hasOrderID; + private int orderID_ = 0; + public bool HasOrderID { + get { return hasOrderID; } + } + public int OrderID { + get { return orderID_; } + } + + // optional string CustomerID = 2; + private bool hasCustomerID; + private string customerID_ = ""; + public bool HasCustomerID { + get { return hasCustomerID; } + } + public string CustomerID { + get { return customerID_; } + } + + // optional int32 EmployeeID = 3; + private bool hasEmployeeID; + private int employeeID_ = 0; + public bool HasEmployeeID { + get { return hasEmployeeID; } + } + public int EmployeeID { + get { return employeeID_; } + } + + // optional .slowbcl.DateTime OrderDate = 4; + private bool hasOrderDate; + private global::Google.ProtocolBuffers.SlowBcl.DateTime orderDate_ = global::Google.ProtocolBuffers.SlowBcl.DateTime.DefaultInstance; + public bool HasOrderDate { + get { return hasOrderDate; } + } + public global::Google.ProtocolBuffers.SlowBcl.DateTime OrderDate { + get { return orderDate_; } + } + + // optional .slowbcl.DateTime RequiredDate = 5; + private bool hasRequiredDate; + private global::Google.ProtocolBuffers.SlowBcl.DateTime requiredDate_ = global::Google.ProtocolBuffers.SlowBcl.DateTime.DefaultInstance; + public bool HasRequiredDate { + get { return hasRequiredDate; } + } + public global::Google.ProtocolBuffers.SlowBcl.DateTime RequiredDate { + get { return requiredDate_; } + } + + // optional .slowbcl.DateTime ShippedDate = 6; + private bool hasShippedDate; + private global::Google.ProtocolBuffers.SlowBcl.DateTime shippedDate_ = global::Google.ProtocolBuffers.SlowBcl.DateTime.DefaultInstance; + public bool HasShippedDate { + get { return hasShippedDate; } + } + public global::Google.ProtocolBuffers.SlowBcl.DateTime ShippedDate { + get { return shippedDate_; } + } + + // optional int32 ShipVia = 7; + private bool hasShipVia; + private int shipVia_ = 0; + public bool HasShipVia { + get { return hasShipVia; } + } + public int ShipVia { + get { return shipVia_; } + } + + // optional .slowbcl.Decimal Freight = 8; + private bool hasFreight; + private global::Google.ProtocolBuffers.SlowBcl.Decimal freight_ = global::Google.ProtocolBuffers.SlowBcl.Decimal.DefaultInstance; + public bool HasFreight { + get { return hasFreight; } + } + public global::Google.ProtocolBuffers.SlowBcl.Decimal Freight { + get { return freight_; } + } + + // optional string ShipName = 9; + private bool hasShipName; + private string shipName_ = ""; + public bool HasShipName { + get { return hasShipName; } + } + public string ShipName { + get { return shipName_; } + } + + // optional string ShipAddress = 10; + private bool hasShipAddress; + private string shipAddress_ = ""; + public bool HasShipAddress { + get { return hasShipAddress; } + } + public string ShipAddress { + get { return shipAddress_; } + } + + // optional string ShipCity = 11; + private bool hasShipCity; + private string shipCity_ = ""; + public bool HasShipCity { + get { return hasShipCity; } + } + public string ShipCity { + get { return shipCity_; } + } + + // optional string ShipRegion = 12; + private bool hasShipRegion; + private string shipRegion_ = ""; + public bool HasShipRegion { + get { return hasShipRegion; } + } + public string ShipRegion { + get { return shipRegion_; } + } + + // optional string ShipPostalCode = 13; + private bool hasShipPostalCode; + private string shipPostalCode_ = ""; + public bool HasShipPostalCode { + get { return hasShipPostalCode; } + } + public string ShipPostalCode { + get { return shipPostalCode_; } + } + + // optional string ShipCountry = 14; + private bool hasShipCountry; + private string shipCountry_ = ""; + public bool HasShipCountry { + get { return hasShipCountry; } + } + public string ShipCountry { + get { return shipCountry_; } + } + + // repeated .slownorthwind.OrderLine Lines = 15; + private scg::IList lines_ = pbc::Lists.Empty; + public scg::IList LinesList { + get { return lines_; } + } + public int LinesCount + { get { return lines_.Count; } + } + public global::SlowNorthwind.OrderLine GetLines(int index) { + return lines_ [index]; + } + + public static global::SlowNorthwind.Order ParseFrom(pb::ByteString data) { + return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed(); + } + public static global::SlowNorthwind.Order ParseFrom(pb::ByteString data, + pb::ExtensionRegistry extensionRegistry) { + return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)) + .BuildParsed(); + } + public static global::SlowNorthwind.Order ParseFrom(byte[] data) { + return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed(); + } + public static global::SlowNorthwind.Order ParseFrom(byte[] data, + pb::ExtensionRegistry extensionRegistry) { + return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)) + .BuildParsed(); + } + public static global::SlowNorthwind.Order ParseFrom(global::System.IO.Stream input) { + return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed(); + } + public static global::SlowNorthwind.Order ParseFrom( + global::System.IO.Stream input, + pb::ExtensionRegistry extensionRegistry) { + return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)) + .BuildParsed(); + } + public static global::SlowNorthwind.Order ParseFrom(pb::CodedInputStream input) { + return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed(); + } + public static global::SlowNorthwind.Order ParseFrom(pb::CodedInputStream input, + pb::ExtensionRegistry extensionRegistry) { + return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)) + .BuildParsed(); + } + + public static Builder CreateBuilder() { return new Builder(); } + public override Builder CreateBuilderForType() { return new Builder(); } + public static Builder CreateBuilder(global::SlowNorthwind.Order prototype) { + return (Builder) new Builder().MergeFrom(prototype); + } + + public sealed partial class Builder : pb::GeneratedBuilder { + protected override Builder ThisBuilder { + get { return this; } + } + + // Construct using global::SlowNorthwind.Order.CreateBuilder() + internal Builder() {} + + global::SlowNorthwind.Order result = new global::SlowNorthwind.Order(); + + protected override global::SlowNorthwind.Order MessageBeingBuilt { + get { return result; } + } + + public override Builder Clear() { + result = new global::SlowNorthwind.Order(); + return this; + } + + public override Builder Clone() { + return new Builder().MergeFrom(result); + } + + public override pbd::MessageDescriptor DescriptorForType { + get { return global::SlowNorthwind.Order.Descriptor; } + } + + public override global::SlowNorthwind.Order DefaultInstanceForType { + get { return global::SlowNorthwind.Order.DefaultInstance; } + } + + public override global::SlowNorthwind.Order BuildPartial() { + if (result.lines_ != pbc::Lists.Empty) { + result.lines_ = pbc::Lists.AsReadOnly(result.lines_); + } + global::SlowNorthwind.Order returnMe = result; + result = null; + return returnMe; + } + + + // optional int32 OrderID = 1; + public bool HasOrderID { + get { return result.HasOrderID; } + } + public int OrderID { + get { return result.OrderID; } + set { SetOrderID(value); } + } + public Builder SetOrderID(int value) { + result.hasOrderID = true; + result.orderID_ = value; + return this; + } + public Builder ClearOrderID() { + result.hasOrderID = false; + result.orderID_ = 0; + return this; + } + + // optional string CustomerID = 2; + public bool HasCustomerID { + get { return result.HasCustomerID; } + } + public string CustomerID { + get { return result.CustomerID; } + set { SetCustomerID(value); } + } + public Builder SetCustomerID(string value) { + result.hasCustomerID = true; + result.customerID_ = value; + return this; + } + public Builder ClearCustomerID() { + result.hasCustomerID = false; + result.customerID_ = ""; + return this; + } + + // optional int32 EmployeeID = 3; + public bool HasEmployeeID { + get { return result.HasEmployeeID; } + } + public int EmployeeID { + get { return result.EmployeeID; } + set { SetEmployeeID(value); } + } + public Builder SetEmployeeID(int value) { + result.hasEmployeeID = true; + result.employeeID_ = value; + return this; + } + public Builder ClearEmployeeID() { + result.hasEmployeeID = false; + result.employeeID_ = 0; + return this; + } + + // optional .slowbcl.DateTime OrderDate = 4; + public bool HasOrderDate { + get { return result.HasOrderDate; } + } + public global::Google.ProtocolBuffers.SlowBcl.DateTime OrderDate { + get { return result.OrderDate; } + set { SetOrderDate(value); } + } + public Builder SetOrderDate(global::Google.ProtocolBuffers.SlowBcl.DateTime value) { + result.hasOrderDate = true; + result.orderDate_ = value; + return this; + } + public Builder SetOrderDate(global::Google.ProtocolBuffers.SlowBcl.DateTime.Builder builderForValue) { + result.hasOrderDate = true; + result.orderDate_ = builderForValue.Build(); + return this; + } + public Builder MergeOrderDate(global::Google.ProtocolBuffers.SlowBcl.DateTime value) { + if (result.HasOrderDate && + result.orderDate_ != global::Google.ProtocolBuffers.SlowBcl.DateTime.DefaultInstance) { + result.orderDate_ = + global::Google.ProtocolBuffers.SlowBcl.DateTime.CreateBuilder(result.orderDate_).MergeFrom(value).BuildPartial(); + } else { + result.orderDate_ = value; + } + result.hasOrderDate = true; + return this; + } + public Builder ClearOrderDate() { + result.hasOrderDate = false; + result.orderDate_ = global::Google.ProtocolBuffers.SlowBcl.DateTime.DefaultInstance; + return this; + } + + // optional .slowbcl.DateTime RequiredDate = 5; + public bool HasRequiredDate { + get { return result.HasRequiredDate; } + } + public global::Google.ProtocolBuffers.SlowBcl.DateTime RequiredDate { + get { return result.RequiredDate; } + set { SetRequiredDate(value); } + } + public Builder SetRequiredDate(global::Google.ProtocolBuffers.SlowBcl.DateTime value) { + result.hasRequiredDate = true; + result.requiredDate_ = value; + return this; + } + public Builder SetRequiredDate(global::Google.ProtocolBuffers.SlowBcl.DateTime.Builder builderForValue) { + result.hasRequiredDate = true; + result.requiredDate_ = builderForValue.Build(); + return this; + } + public Builder MergeRequiredDate(global::Google.ProtocolBuffers.SlowBcl.DateTime value) { + if (result.HasRequiredDate && + result.requiredDate_ != global::Google.ProtocolBuffers.SlowBcl.DateTime.DefaultInstance) { + result.requiredDate_ = + global::Google.ProtocolBuffers.SlowBcl.DateTime.CreateBuilder(result.requiredDate_).MergeFrom(value).BuildPartial(); + } else { + result.requiredDate_ = value; + } + result.hasRequiredDate = true; + return this; + } + public Builder ClearRequiredDate() { + result.hasRequiredDate = false; + result.requiredDate_ = global::Google.ProtocolBuffers.SlowBcl.DateTime.DefaultInstance; + return this; + } + + // optional .slowbcl.DateTime ShippedDate = 6; + public bool HasShippedDate { + get { return result.HasShippedDate; } + } + public global::Google.ProtocolBuffers.SlowBcl.DateTime ShippedDate { + get { return result.ShippedDate; } + set { SetShippedDate(value); } + } + public Builder SetShippedDate(global::Google.ProtocolBuffers.SlowBcl.DateTime value) { + result.hasShippedDate = true; + result.shippedDate_ = value; + return this; + } + public Builder SetShippedDate(global::Google.ProtocolBuffers.SlowBcl.DateTime.Builder builderForValue) { + result.hasShippedDate = true; + result.shippedDate_ = builderForValue.Build(); + return this; + } + public Builder MergeShippedDate(global::Google.ProtocolBuffers.SlowBcl.DateTime value) { + if (result.HasShippedDate && + result.shippedDate_ != global::Google.ProtocolBuffers.SlowBcl.DateTime.DefaultInstance) { + result.shippedDate_ = + global::Google.ProtocolBuffers.SlowBcl.DateTime.CreateBuilder(result.shippedDate_).MergeFrom(value).BuildPartial(); + } else { + result.shippedDate_ = value; + } + result.hasShippedDate = true; + return this; + } + public Builder ClearShippedDate() { + result.hasShippedDate = false; + result.shippedDate_ = global::Google.ProtocolBuffers.SlowBcl.DateTime.DefaultInstance; + return this; + } + + // optional int32 ShipVia = 7; + public bool HasShipVia { + get { return result.HasShipVia; } + } + public int ShipVia { + get { return result.ShipVia; } + set { SetShipVia(value); } + } + public Builder SetShipVia(int value) { + result.hasShipVia = true; + result.shipVia_ = value; + return this; + } + public Builder ClearShipVia() { + result.hasShipVia = false; + result.shipVia_ = 0; + return this; + } + + // optional .slowbcl.Decimal Freight = 8; + public bool HasFreight { + get { return result.HasFreight; } + } + public global::Google.ProtocolBuffers.SlowBcl.Decimal Freight { + get { return result.Freight; } + set { SetFreight(value); } + } + public Builder SetFreight(global::Google.ProtocolBuffers.SlowBcl.Decimal value) { + result.hasFreight = true; + result.freight_ = value; + return this; + } + public Builder SetFreight(global::Google.ProtocolBuffers.SlowBcl.Decimal.Builder builderForValue) { + result.hasFreight = true; + result.freight_ = builderForValue.Build(); + return this; + } + public Builder MergeFreight(global::Google.ProtocolBuffers.SlowBcl.Decimal value) { + if (result.HasFreight && + result.freight_ != global::Google.ProtocolBuffers.SlowBcl.Decimal.DefaultInstance) { + result.freight_ = + global::Google.ProtocolBuffers.SlowBcl.Decimal.CreateBuilder(result.freight_).MergeFrom(value).BuildPartial(); + } else { + result.freight_ = value; + } + result.hasFreight = true; + return this; + } + public Builder ClearFreight() { + result.hasFreight = false; + result.freight_ = global::Google.ProtocolBuffers.SlowBcl.Decimal.DefaultInstance; + return this; + } + + // optional string ShipName = 9; + public bool HasShipName { + get { return result.HasShipName; } + } + public string ShipName { + get { return result.ShipName; } + set { SetShipName(value); } + } + public Builder SetShipName(string value) { + result.hasShipName = true; + result.shipName_ = value; + return this; + } + public Builder ClearShipName() { + result.hasShipName = false; + result.shipName_ = ""; + return this; + } + + // optional string ShipAddress = 10; + public bool HasShipAddress { + get { return result.HasShipAddress; } + } + public string ShipAddress { + get { return result.ShipAddress; } + set { SetShipAddress(value); } + } + public Builder SetShipAddress(string value) { + result.hasShipAddress = true; + result.shipAddress_ = value; + return this; + } + public Builder ClearShipAddress() { + result.hasShipAddress = false; + result.shipAddress_ = ""; + return this; + } + + // optional string ShipCity = 11; + public bool HasShipCity { + get { return result.HasShipCity; } + } + public string ShipCity { + get { return result.ShipCity; } + set { SetShipCity(value); } + } + public Builder SetShipCity(string value) { + result.hasShipCity = true; + result.shipCity_ = value; + return this; + } + public Builder ClearShipCity() { + result.hasShipCity = false; + result.shipCity_ = ""; + return this; + } + + // optional string ShipRegion = 12; + public bool HasShipRegion { + get { return result.HasShipRegion; } + } + public string ShipRegion { + get { return result.ShipRegion; } + set { SetShipRegion(value); } + } + public Builder SetShipRegion(string value) { + result.hasShipRegion = true; + result.shipRegion_ = value; + return this; + } + public Builder ClearShipRegion() { + result.hasShipRegion = false; + result.shipRegion_ = ""; + return this; + } + + // optional string ShipPostalCode = 13; + public bool HasShipPostalCode { + get { return result.HasShipPostalCode; } + } + public string ShipPostalCode { + get { return result.ShipPostalCode; } + set { SetShipPostalCode(value); } + } + public Builder SetShipPostalCode(string value) { + result.hasShipPostalCode = true; + result.shipPostalCode_ = value; + return this; + } + public Builder ClearShipPostalCode() { + result.hasShipPostalCode = false; + result.shipPostalCode_ = ""; + return this; + } + + // optional string ShipCountry = 14; + public bool HasShipCountry { + get { return result.HasShipCountry; } + } + public string ShipCountry { + get { return result.ShipCountry; } + set { SetShipCountry(value); } + } + public Builder SetShipCountry(string value) { + result.hasShipCountry = true; + result.shipCountry_ = value; + return this; + } + public Builder ClearShipCountry() { + result.hasShipCountry = false; + result.shipCountry_ = ""; + return this; + } + + // repeated .slownorthwind.OrderLine Lines = 15; + public scg::IList LinesList { + get { return pbc::Lists.AsReadOnly(result.lines_); } + } + public int LinesCount { + get { return result.LinesCount; } + } + public global::SlowNorthwind.OrderLine GetLines(int index) { + return result.GetLines(index); + } + public Builder SetLines(int index, global::SlowNorthwind.OrderLine value) { + result.lines_[index] = value; + return this; + } + public Builder SetLines(int index, global::SlowNorthwind.OrderLine.Builder builderForValue) { + result.lines_[index] = builderForValue.Build(); + return this; + } + public Builder AddLines(global::SlowNorthwind.OrderLine value) { + if (result.lines_ == pbc::Lists.Empty) { + result.lines_ = new scg::List(); + } + result.lines_.Add(value); + return this; + } + public Builder AddLines(global::SlowNorthwind.OrderLine.Builder builderForValue) { + if (result.lines_ == pbc::Lists.Empty) { + result.lines_ = new scg::List(); + } + result.lines_.Add(builderForValue.Build()); + return this; + } + public Builder AddRangeLines(scg::IEnumerable values) { + if (result.lines_ == pbc::Lists.Empty) { + result.lines_ = new scg::List(); + } + base.AddRange(values, result.lines_); + return this; + } + public Builder ClearLines() { + result.lines_ = pbc::Lists.Empty; + return this; + } + } + } + + public sealed partial class OrderLine : pb::GeneratedMessage { + private static readonly OrderLine defaultInstance = new OrderLine(); + public static OrderLine DefaultInstance { + get { return defaultInstance; } + } + + public override OrderLine DefaultInstanceForType { + get { return defaultInstance; } + } + + protected override OrderLine ThisMessage { + get { return this; } + } + + public static pbd::MessageDescriptor Descriptor { + get { return global::SlowNorthwind.SlowNorthwindProtoFile.internal__static_slownorthwind_OrderLine__Descriptor; } + } + + protected override pb::FieldAccess.FieldAccessorTable InternalFieldAccessors { + get { return global::SlowNorthwind.SlowNorthwindProtoFile.internal__static_slownorthwind_OrderLine__FieldAccessorTable; } + } + + // optional int32 OrderID = 1; + private bool hasOrderID; + private int orderID_ = 0; + public bool HasOrderID { + get { return hasOrderID; } + } + public int OrderID { + get { return orderID_; } + } + + // optional int32 ProductID = 2; + private bool hasProductID; + private int productID_ = 0; + public bool HasProductID { + get { return hasProductID; } + } + public int ProductID { + get { return productID_; } + } + + // optional .slowbcl.Decimal UnitPrice = 3; + private bool hasUnitPrice; + private global::Google.ProtocolBuffers.SlowBcl.Decimal unitPrice_ = global::Google.ProtocolBuffers.SlowBcl.Decimal.DefaultInstance; + public bool HasUnitPrice { + get { return hasUnitPrice; } + } + public global::Google.ProtocolBuffers.SlowBcl.Decimal UnitPrice { + get { return unitPrice_; } + } + + // optional sint32 Quantity = 4; + private bool hasQuantity; + private int quantity_ = 0; + public bool HasQuantity { + get { return hasQuantity; } + } + public int Quantity { + get { return quantity_; } + } + + // optional float Discount = 5; + private bool hasDiscount; + private float discount_ = 0F; + public bool HasDiscount { + get { return hasDiscount; } + } + public float Discount { + get { return discount_; } + } + + public static global::SlowNorthwind.OrderLine ParseFrom(pb::ByteString data) { + return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed(); + } + public static global::SlowNorthwind.OrderLine ParseFrom(pb::ByteString data, + pb::ExtensionRegistry extensionRegistry) { + return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)) + .BuildParsed(); + } + public static global::SlowNorthwind.OrderLine ParseFrom(byte[] data) { + return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed(); + } + public static global::SlowNorthwind.OrderLine ParseFrom(byte[] data, + pb::ExtensionRegistry extensionRegistry) { + return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)) + .BuildParsed(); + } + public static global::SlowNorthwind.OrderLine ParseFrom(global::System.IO.Stream input) { + return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed(); + } + public static global::SlowNorthwind.OrderLine ParseFrom( + global::System.IO.Stream input, + pb::ExtensionRegistry extensionRegistry) { + return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)) + .BuildParsed(); + } + public static global::SlowNorthwind.OrderLine ParseFrom(pb::CodedInputStream input) { + return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed(); + } + public static global::SlowNorthwind.OrderLine ParseFrom(pb::CodedInputStream input, + pb::ExtensionRegistry extensionRegistry) { + return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)) + .BuildParsed(); + } + + public static Builder CreateBuilder() { return new Builder(); } + public override Builder CreateBuilderForType() { return new Builder(); } + public static Builder CreateBuilder(global::SlowNorthwind.OrderLine prototype) { + return (Builder) new Builder().MergeFrom(prototype); + } + + public sealed partial class Builder : pb::GeneratedBuilder { + protected override Builder ThisBuilder { + get { return this; } + } + + // Construct using global::SlowNorthwind.OrderLine.CreateBuilder() + internal Builder() {} + + global::SlowNorthwind.OrderLine result = new global::SlowNorthwind.OrderLine(); + + protected override global::SlowNorthwind.OrderLine MessageBeingBuilt { + get { return result; } + } + + public override Builder Clear() { + result = new global::SlowNorthwind.OrderLine(); + return this; + } + + public override Builder Clone() { + return new Builder().MergeFrom(result); + } + + public override pbd::MessageDescriptor DescriptorForType { + get { return global::SlowNorthwind.OrderLine.Descriptor; } + } + + public override global::SlowNorthwind.OrderLine DefaultInstanceForType { + get { return global::SlowNorthwind.OrderLine.DefaultInstance; } + } + + public override global::SlowNorthwind.OrderLine BuildPartial() { + global::SlowNorthwind.OrderLine returnMe = result; + result = null; + return returnMe; + } + + + // optional int32 OrderID = 1; + public bool HasOrderID { + get { return result.HasOrderID; } + } + public int OrderID { + get { return result.OrderID; } + set { SetOrderID(value); } + } + public Builder SetOrderID(int value) { + result.hasOrderID = true; + result.orderID_ = value; + return this; + } + public Builder ClearOrderID() { + result.hasOrderID = false; + result.orderID_ = 0; + return this; + } + + // optional int32 ProductID = 2; + public bool HasProductID { + get { return result.HasProductID; } + } + public int ProductID { + get { return result.ProductID; } + set { SetProductID(value); } + } + public Builder SetProductID(int value) { + result.hasProductID = true; + result.productID_ = value; + return this; + } + public Builder ClearProductID() { + result.hasProductID = false; + result.productID_ = 0; + return this; + } + + // optional .slowbcl.Decimal UnitPrice = 3; + public bool HasUnitPrice { + get { return result.HasUnitPrice; } + } + public global::Google.ProtocolBuffers.SlowBcl.Decimal UnitPrice { + get { return result.UnitPrice; } + set { SetUnitPrice(value); } + } + public Builder SetUnitPrice(global::Google.ProtocolBuffers.SlowBcl.Decimal value) { + result.hasUnitPrice = true; + result.unitPrice_ = value; + return this; + } + public Builder SetUnitPrice(global::Google.ProtocolBuffers.SlowBcl.Decimal.Builder builderForValue) { + result.hasUnitPrice = true; + result.unitPrice_ = builderForValue.Build(); + return this; + } + public Builder MergeUnitPrice(global::Google.ProtocolBuffers.SlowBcl.Decimal value) { + if (result.HasUnitPrice && + result.unitPrice_ != global::Google.ProtocolBuffers.SlowBcl.Decimal.DefaultInstance) { + result.unitPrice_ = + global::Google.ProtocolBuffers.SlowBcl.Decimal.CreateBuilder(result.unitPrice_).MergeFrom(value).BuildPartial(); + } else { + result.unitPrice_ = value; + } + result.hasUnitPrice = true; + return this; + } + public Builder ClearUnitPrice() { + result.hasUnitPrice = false; + result.unitPrice_ = global::Google.ProtocolBuffers.SlowBcl.Decimal.DefaultInstance; + return this; + } + + // optional sint32 Quantity = 4; + public bool HasQuantity { + get { return result.HasQuantity; } + } + public int Quantity { + get { return result.Quantity; } + set { SetQuantity(value); } + } + public Builder SetQuantity(int value) { + result.hasQuantity = true; + result.quantity_ = value; + return this; + } + public Builder ClearQuantity() { + result.hasQuantity = false; + result.quantity_ = 0; + return this; + } + + // optional float Discount = 5; + public bool HasDiscount { + get { return result.HasDiscount; } + } + public float Discount { + get { return result.Discount; } + set { SetDiscount(value); } + } + public Builder SetDiscount(float value) { + result.hasDiscount = true; + result.discount_ = value; + return this; + } + public Builder ClearDiscount() { + result.hasDiscount = false; + result.discount_ = 0F; + return this; + } + } + } + + #endregion + + #region Services + #endregion +} diff --git a/csharp/TestBed/TestBed.csproj b/csharp/TestBed/TestBed.csproj new file mode 100644 index 00000000..0a8543bc --- /dev/null +++ b/csharp/TestBed/TestBed.csproj @@ -0,0 +1,59 @@ + + + + Debug + AnyCPU + 9.0.21022 + 2.0 + {BFA454A0-63F3-4850-BE9C-8CACD242EB50} + Exe + Properties + TestBed + TestBed + v2.0 + 512 + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + + + + + + + + + + {6908BDCE-D925-43F3-94AC-A531E6DF2591} + ProtocolBuffers + + + + + \ No newline at end of file diff --git a/csharp/TestBed/TestBed.csproj.user b/csharp/TestBed/TestBed.csproj.user new file mode 100644 index 00000000..969f1e99 --- /dev/null +++ b/csharp/TestBed/TestBed.csproj.user @@ -0,0 +1,10 @@ + + + C:\Users\Jon\Documents\Visual Studio 2008\Projects\ProtocolBuffers\csharp\TestBed\ + nwind.proto.bin + + + C:\Users\Jon\Documents\Visual Studio 2008\Projects\ProtocolBuffers\csharp\TestBed\ + nwind.proto.bin + + \ No newline at end of file diff --git a/csharp/TestBed/bcl.proto b/csharp/TestBed/bcl.proto new file mode 100644 index 00000000..bf4ff090 --- /dev/null +++ b/csharp/TestBed/bcl.proto @@ -0,0 +1,45 @@ +package bcl; + +option csharp_namespace = "Google.ProtocolBuffers.Bcl"; +option csharp_file_classname = "BclProtoFile"; + +option optimize_for = SPEED; + +message TimeSpan { + optional sint64 value = 1; // the size of the timespan (in units of the selected scale) + optional TimeSpanScale scale = 2 [default = DAYS]; // the scale of the timespan + enum TimeSpanScale { + DAYS = 0; + HOURS = 1; + MINUTES = 2; + SECONDS = 3; + MILLISECONDS = 4; + + MINMAX = 15; // dubious + } +} + +message DateTime { + optional sint64 value = 1; // the offset (in units of the selected scale) from 1970/01/01 + optional TimeSpanScale scale = 2 [default = DAYS]; // the scale of the timespan + enum TimeSpanScale { + DAYS = 0; + HOURS = 1; + MINUTES = 2; + SECONDS = 3; + MILLISECONDS = 4; + + MINMAX = 15; // dubious + } +} + +message Guid { + optional fixed64 lo = 1; // the first 8 bytes of the guid + optional fixed64 hi = 2; // the second 8 bytes of the guid +} + +message Decimal { + optional uint64 lo = 1; // the first 64 bits of the underlying value + optional uint32 hi = 2; // the last 32 bis of the underlying value + optional uint32 signScale = 3; // the number of decimal digits, and the sign +} diff --git a/csharp/TestBed/bcl.proto2 b/csharp/TestBed/bcl.proto2 new file mode 100644 index 00000000..e969832d --- /dev/null +++ b/csharp/TestBed/bcl.proto2 @@ -0,0 +1,42 @@ +// this is prototype only!!! + +package bcl; + +message TimeSpan { + optional sint64 value = 1; // the size of the timespan (in units of the selected scale) + optional TimeSpanScale scale = 2 [default = DAYS]; // the scale of the timespan + enum TimeSpanScale { + DAYS = 0; + HOURS = 1; + MINUTES = 2; + SECONDS = 3; + MILLISECONDS = 4; + + MINMAX = 15; // dubious + } +} + +message DateTime { + optional sint64 value = 1; // the offset (in units of the selected scale) from 1970/01/01 + optional TimeSpanScale scale = 2 [default = DAYS]; // the scale of the timespan + enum TimeSpanScale { + DAYS = 0; + HOURS = 1; + MINUTES = 2; + SECONDS = 3; + MILLISECONDS = 4; + + MINMAX = 15; // dubious + } +} + +message Guid { + optional fixed64 lo = 1; // the first 8 bytes of the guid + optional fixed64 hi = 2; // the second 8 bytes of the guid +} + +message Decimal { + optional uint64 lo = 1; // the first 64 bits of the underlying value + optional uint32 hi = 2; // the last 32 bis of the underlying value + optional sint32 signScale = 3; // the number of decimal digits, and the sign +} \ No newline at end of file diff --git a/csharp/TestBed/bin/Debug/Google.ProtocolBuffers.dll b/csharp/TestBed/bin/Debug/Google.ProtocolBuffers.dll new file mode 100644 index 00000000..10376fab Binary files /dev/null and b/csharp/TestBed/bin/Debug/Google.ProtocolBuffers.dll differ diff --git a/csharp/TestBed/bin/Debug/Google.ProtocolBuffers.pdb b/csharp/TestBed/bin/Debug/Google.ProtocolBuffers.pdb new file mode 100644 index 00000000..7c9b3d17 Binary files /dev/null and b/csharp/TestBed/bin/Debug/Google.ProtocolBuffers.pdb differ diff --git a/csharp/TestBed/bin/Debug/TestBed.exe b/csharp/TestBed/bin/Debug/TestBed.exe new file mode 100644 index 00000000..4083f8ec Binary files /dev/null and b/csharp/TestBed/bin/Debug/TestBed.exe differ diff --git a/csharp/TestBed/bin/Debug/TestBed.pdb b/csharp/TestBed/bin/Debug/TestBed.pdb new file mode 100644 index 00000000..3cb3ea3e Binary files /dev/null and b/csharp/TestBed/bin/Debug/TestBed.pdb differ diff --git a/csharp/TestBed/bin/Debug/TestBed.vshost.exe b/csharp/TestBed/bin/Debug/TestBed.vshost.exe new file mode 100644 index 00000000..69ed6c0c Binary files /dev/null and b/csharp/TestBed/bin/Debug/TestBed.vshost.exe differ diff --git a/csharp/TestBed/bin/Debug/before.dtc b/csharp/TestBed/bin/Debug/before.dtc new file mode 100644 index 00000000..e2a46b11 Binary files /dev/null and b/csharp/TestBed/bin/Debug/before.dtc differ diff --git a/csharp/TestBed/bin/Debug/fast.dtc b/csharp/TestBed/bin/Debug/fast.dtc new file mode 100644 index 00000000..b03b4cce Binary files /dev/null and b/csharp/TestBed/bin/Debug/fast.dtc differ diff --git a/csharp/TestBed/bin/Release/Google.ProtocolBuffers.dll b/csharp/TestBed/bin/Release/Google.ProtocolBuffers.dll new file mode 100644 index 00000000..bcbc4593 Binary files /dev/null and b/csharp/TestBed/bin/Release/Google.ProtocolBuffers.dll differ diff --git a/csharp/TestBed/bin/Release/Google.ProtocolBuffers.pdb b/csharp/TestBed/bin/Release/Google.ProtocolBuffers.pdb new file mode 100644 index 00000000..598718bf Binary files /dev/null and b/csharp/TestBed/bin/Release/Google.ProtocolBuffers.pdb differ diff --git a/csharp/TestBed/bin/Release/TestBed.exe b/csharp/TestBed/bin/Release/TestBed.exe new file mode 100644 index 00000000..425a342d Binary files /dev/null and b/csharp/TestBed/bin/Release/TestBed.exe differ diff --git a/csharp/TestBed/bin/Release/TestBed.pdb b/csharp/TestBed/bin/Release/TestBed.pdb new file mode 100644 index 00000000..2c89c8fa Binary files /dev/null and b/csharp/TestBed/bin/Release/TestBed.pdb differ diff --git a/csharp/TestBed/bin/Release/TestBed.vshost.exe b/csharp/TestBed/bin/Release/TestBed.vshost.exe new file mode 100644 index 00000000..69ed6c0c Binary files /dev/null and b/csharp/TestBed/bin/Release/TestBed.vshost.exe differ diff --git a/csharp/TestBed/bin/Release/TestBed.vshost.exe.manifest b/csharp/TestBed/bin/Release/TestBed.vshost.exe.manifest new file mode 100644 index 00000000..061c9ca9 --- /dev/null +++ b/csharp/TestBed/bin/Release/TestBed.vshost.exe.manifest @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/csharp/TestBed/java/bcl/Bcl.java b/csharp/TestBed/java/bcl/Bcl.java new file mode 100644 index 00000000..9b8c6f8f --- /dev/null +++ b/csharp/TestBed/java/bcl/Bcl.java @@ -0,0 +1,1348 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! + +package bcl; + +public final class Bcl { + private Bcl() {} + public static com.google.protobuf.Descriptors.FileDescriptor + getDescriptor() { + return descriptor; + } + private static final com.google.protobuf.Descriptors.FileDescriptor + descriptor = buildDescriptor(); + private static + com.google.protobuf.Descriptors.FileDescriptor + buildDescriptor() { + java.lang.String descriptorData = + "\n\tbcl.proto\022\003bcl\"\251\001\n\010TimeSpan\022\r\n\005value\030\001" + + " \001(\022\0220\n\005scale\030\002 \001(\0162\033.bcl.TimeSpan.TimeS" + + "panScale:\004DAYS\"\\\n\rTimeSpanScale\022\010\n\004DAYS\020" + + "\000\022\t\n\005HOURS\020\001\022\013\n\007MINUTES\020\002\022\013\n\007SECONDS\020\003\022\020" + + "\n\014MILLISECONDS\020\004\022\n\n\006MINMAX\020\017\"\251\001\n\010DateTim" + + "e\022\r\n\005value\030\001 \001(\022\0220\n\005scale\030\002 \001(\0162\033.bcl.Da" + + "teTime.TimeSpanScale:\004DAYS\"\\\n\rTimeSpanSc" + + "ale\022\010\n\004DAYS\020\000\022\t\n\005HOURS\020\001\022\013\n\007MINUTES\020\002\022\013\n" + + "\007SECONDS\020\003\022\020\n\014MILLISECONDS\020\004\022\n\n\006MINMAX\020\017" + + "\"\036\n\004Guid\022\n\n\002lo\030\001 \001(\006\022\n\n\002hi\030\002 \001(\006\"4\n\007Deci" + + "mal\022\n\n\002lo\030\001 \001(\004\022\n\n\002hi\030\002 \001(\r\022\021\n\tsignScale" + + "\030\003 \001(\rB.H\001\302>\032Google.ProtocolBuffers.Bcl\312" + + ">\014BclProtoFile"; + try { + return com.google.protobuf.Descriptors.FileDescriptor + .internalBuildGeneratedFileFrom(descriptorData, + new com.google.protobuf.Descriptors.FileDescriptor[] { + }); + } catch (Exception e) { + throw new RuntimeException( + "Failed to parse protocol buffer descriptor for " + + "\"bcl.proto\".", e); + } + } + + public static final class TimeSpan extends + com.google.protobuf.GeneratedMessage { + // Use TimeSpan.newBuilder() to construct. + private TimeSpan() {} + + private static final TimeSpan defaultInstance = new TimeSpan(); + public static TimeSpan getDefaultInstance() { + return defaultInstance; + } + + public TimeSpan getDefaultInstanceForType() { + return defaultInstance; + } + + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return bcl.Bcl.internal_static_bcl_TimeSpan_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return bcl.Bcl.internal_static_bcl_TimeSpan_fieldAccessorTable; + } + + public static enum TimeSpanScale { + DAYS(0, 0), + HOURS(1, 1), + MINUTES(2, 2), + SECONDS(3, 3), + MILLISECONDS(4, 4), + MINMAX(5, 15), + ; + + + public final int getNumber() { return value; } + + public static TimeSpanScale valueOf(int value) { + switch (value) { + case 0: return DAYS; + case 1: return HOURS; + case 2: return MINUTES; + case 3: return SECONDS; + case 4: return MILLISECONDS; + case 15: return MINMAX; + default: return null; + } + } + + public final com.google.protobuf.Descriptors.EnumValueDescriptor + getValueDescriptor() { + return getDescriptor().getValues().get(index); + } + public final com.google.protobuf.Descriptors.EnumDescriptor + getDescriptorForType() { + return getDescriptor(); + } + public static final com.google.protobuf.Descriptors.EnumDescriptor + getDescriptor() { + return bcl.Bcl.TimeSpan.getDescriptor().getEnumTypes().get(0); + } + + private static final TimeSpanScale[] VALUES = { + DAYS, HOURS, MINUTES, SECONDS, MILLISECONDS, MINMAX, + }; + public static TimeSpanScale valueOf( + com.google.protobuf.Descriptors.EnumValueDescriptor desc) { + if (desc.getType() != getDescriptor()) { + throw new java.lang.IllegalArgumentException( + "EnumValueDescriptor is not for this type."); + } + return VALUES[desc.getIndex()]; + } + private final int index; + private final int value; + private TimeSpanScale(int index, int value) { + this.index = index; + this.value = value; + } + } + + // optional sint64 value = 1; + private boolean hasValue; + private long value_ = 0L; + public boolean hasValue() { return hasValue; } + public long getValue() { return value_; } + + // optional .bcl.TimeSpan.TimeSpanScale scale = 2 [default = DAYS]; + private boolean hasScale; + private bcl.Bcl.TimeSpan.TimeSpanScale scale_ = bcl.Bcl.TimeSpan.TimeSpanScale.DAYS; + public boolean hasScale() { return hasScale; } + public bcl.Bcl.TimeSpan.TimeSpanScale getScale() { return scale_; } + + public final boolean isInitialized() { + return true; + } + + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (hasValue()) { + output.writeSInt64(1, getValue()); + } + if (hasScale()) { + output.writeEnum(2, getScale().getNumber()); + } + getUnknownFields().writeTo(output); + } + + private int memoizedSerializedSize = -1; + public int getSerializedSize() { + int size = memoizedSerializedSize; + if (size != -1) return size; + + size = 0; + if (hasValue()) { + size += com.google.protobuf.CodedOutputStream + .computeSInt64Size(1, getValue()); + } + if (hasScale()) { + size += com.google.protobuf.CodedOutputStream + .computeEnumSize(2, getScale().getNumber()); + } + size += getUnknownFields().getSerializedSize(); + memoizedSerializedSize = size; + return size; + } + + public static bcl.Bcl.TimeSpan parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return newBuilder().mergeFrom(data).buildParsed(); + } + public static bcl.Bcl.TimeSpan parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistry extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return newBuilder().mergeFrom(data, extensionRegistry) + .buildParsed(); + } + public static bcl.Bcl.TimeSpan parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return newBuilder().mergeFrom(data).buildParsed(); + } + public static bcl.Bcl.TimeSpan parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistry extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return newBuilder().mergeFrom(data, extensionRegistry) + .buildParsed(); + } + public static bcl.Bcl.TimeSpan parseFrom(java.io.InputStream input) + throws java.io.IOException { + return newBuilder().mergeFrom(input).buildParsed(); + } + public static bcl.Bcl.TimeSpan parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistry extensionRegistry) + throws java.io.IOException { + return newBuilder().mergeFrom(input, extensionRegistry) + .buildParsed(); + } + public static bcl.Bcl.TimeSpan parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return newBuilder().mergeFrom(input).buildParsed(); + } + public static bcl.Bcl.TimeSpan parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistry extensionRegistry) + throws java.io.IOException { + return newBuilder().mergeFrom(input, extensionRegistry) + .buildParsed(); + } + + public static Builder newBuilder() { return new Builder(); } + public Builder newBuilderForType() { return new Builder(); } + public static Builder newBuilder(bcl.Bcl.TimeSpan prototype) { + return new Builder().mergeFrom(prototype); + } + + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder { + // Construct using bcl.Bcl.TimeSpan.newBuilder() + private Builder() {} + + bcl.Bcl.TimeSpan result = new bcl.Bcl.TimeSpan(); + + protected bcl.Bcl.TimeSpan internalGetResult() { + return result; + } + + public Builder clear() { + result = new bcl.Bcl.TimeSpan(); + return this; + } + + public Builder clone() { + return new Builder().mergeFrom(result); + } + + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return bcl.Bcl.TimeSpan.getDescriptor(); + } + + public bcl.Bcl.TimeSpan getDefaultInstanceForType() { + return bcl.Bcl.TimeSpan.getDefaultInstance(); + } + + public bcl.Bcl.TimeSpan build() { + if (!isInitialized()) { + throw new com.google.protobuf.UninitializedMessageException( + result); + } + return buildPartial(); + } + + private bcl.Bcl.TimeSpan buildParsed() + throws com.google.protobuf.InvalidProtocolBufferException { + if (!isInitialized()) { + throw new com.google.protobuf.UninitializedMessageException( + result).asInvalidProtocolBufferException(); + } + return buildPartial(); + } + + public bcl.Bcl.TimeSpan buildPartial() { + bcl.Bcl.TimeSpan returnMe = result; + result = null; + return returnMe; + } + + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof bcl.Bcl.TimeSpan) { + return mergeFrom((bcl.Bcl.TimeSpan)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(bcl.Bcl.TimeSpan other) { + if (other == bcl.Bcl.TimeSpan.getDefaultInstance()) return this; + if (other.hasValue()) { + setValue(other.getValue()); + } + if (other.hasScale()) { + setScale(other.getScale()); + } + this.mergeUnknownFields(other.getUnknownFields()); + return this; + } + + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return mergeFrom(input, + com.google.protobuf.ExtensionRegistry.getEmptyRegistry()); + } + + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistry extensionRegistry) + throws java.io.IOException { + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder( + this.getUnknownFields()); + while (true) { + int tag = input.readTag(); + switch (tag) { + case 0: + this.setUnknownFields(unknownFields.build()); + return this; + default: { + if (!parseUnknownField(input, unknownFields, + extensionRegistry, tag)) { + this.setUnknownFields(unknownFields.build()); + return this; + } + break; + } + case 8: { + setValue(input.readSInt64()); + break; + } + case 16: { + int rawValue = input.readEnum(); + bcl.Bcl.TimeSpan.TimeSpanScale value = bcl.Bcl.TimeSpan.TimeSpanScale.valueOf(rawValue); + if (value == null) { + unknownFields.mergeVarintField(2, rawValue); + } else { + setScale(value); + } + break; + } + } + } + } + + + // optional sint64 value = 1; + public boolean hasValue() { + return result.hasValue(); + } + public long getValue() { + return result.getValue(); + } + public Builder setValue(long value) { + result.hasValue = true; + result.value_ = value; + return this; + } + public Builder clearValue() { + result.hasValue = false; + result.value_ = 0L; + return this; + } + + // optional .bcl.TimeSpan.TimeSpanScale scale = 2 [default = DAYS]; + public boolean hasScale() { + return result.hasScale(); + } + public bcl.Bcl.TimeSpan.TimeSpanScale getScale() { + return result.getScale(); + } + public Builder setScale(bcl.Bcl.TimeSpan.TimeSpanScale value) { + result.hasScale = true; + result.scale_ = value; + return this; + } + public Builder clearScale() { + result.hasScale = false; + result.scale_ = bcl.Bcl.TimeSpan.TimeSpanScale.DAYS; + return this; + } + } + } + + public static final class DateTime extends + com.google.protobuf.GeneratedMessage { + // Use DateTime.newBuilder() to construct. + private DateTime() {} + + private static final DateTime defaultInstance = new DateTime(); + public static DateTime getDefaultInstance() { + return defaultInstance; + } + + public DateTime getDefaultInstanceForType() { + return defaultInstance; + } + + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return bcl.Bcl.internal_static_bcl_DateTime_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return bcl.Bcl.internal_static_bcl_DateTime_fieldAccessorTable; + } + + public static enum TimeSpanScale { + DAYS(0, 0), + HOURS(1, 1), + MINUTES(2, 2), + SECONDS(3, 3), + MILLISECONDS(4, 4), + MINMAX(5, 15), + ; + + + public final int getNumber() { return value; } + + public static TimeSpanScale valueOf(int value) { + switch (value) { + case 0: return DAYS; + case 1: return HOURS; + case 2: return MINUTES; + case 3: return SECONDS; + case 4: return MILLISECONDS; + case 15: return MINMAX; + default: return null; + } + } + + public final com.google.protobuf.Descriptors.EnumValueDescriptor + getValueDescriptor() { + return getDescriptor().getValues().get(index); + } + public final com.google.protobuf.Descriptors.EnumDescriptor + getDescriptorForType() { + return getDescriptor(); + } + public static final com.google.protobuf.Descriptors.EnumDescriptor + getDescriptor() { + return bcl.Bcl.DateTime.getDescriptor().getEnumTypes().get(0); + } + + private static final TimeSpanScale[] VALUES = { + DAYS, HOURS, MINUTES, SECONDS, MILLISECONDS, MINMAX, + }; + public static TimeSpanScale valueOf( + com.google.protobuf.Descriptors.EnumValueDescriptor desc) { + if (desc.getType() != getDescriptor()) { + throw new java.lang.IllegalArgumentException( + "EnumValueDescriptor is not for this type."); + } + return VALUES[desc.getIndex()]; + } + private final int index; + private final int value; + private TimeSpanScale(int index, int value) { + this.index = index; + this.value = value; + } + } + + // optional sint64 value = 1; + private boolean hasValue; + private long value_ = 0L; + public boolean hasValue() { return hasValue; } + public long getValue() { return value_; } + + // optional .bcl.DateTime.TimeSpanScale scale = 2 [default = DAYS]; + private boolean hasScale; + private bcl.Bcl.DateTime.TimeSpanScale scale_ = bcl.Bcl.DateTime.TimeSpanScale.DAYS; + public boolean hasScale() { return hasScale; } + public bcl.Bcl.DateTime.TimeSpanScale getScale() { return scale_; } + + public final boolean isInitialized() { + return true; + } + + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (hasValue()) { + output.writeSInt64(1, getValue()); + } + if (hasScale()) { + output.writeEnum(2, getScale().getNumber()); + } + getUnknownFields().writeTo(output); + } + + private int memoizedSerializedSize = -1; + public int getSerializedSize() { + int size = memoizedSerializedSize; + if (size != -1) return size; + + size = 0; + if (hasValue()) { + size += com.google.protobuf.CodedOutputStream + .computeSInt64Size(1, getValue()); + } + if (hasScale()) { + size += com.google.protobuf.CodedOutputStream + .computeEnumSize(2, getScale().getNumber()); + } + size += getUnknownFields().getSerializedSize(); + memoizedSerializedSize = size; + return size; + } + + public static bcl.Bcl.DateTime parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return newBuilder().mergeFrom(data).buildParsed(); + } + public static bcl.Bcl.DateTime parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistry extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return newBuilder().mergeFrom(data, extensionRegistry) + .buildParsed(); + } + public static bcl.Bcl.DateTime parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return newBuilder().mergeFrom(data).buildParsed(); + } + public static bcl.Bcl.DateTime parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistry extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return newBuilder().mergeFrom(data, extensionRegistry) + .buildParsed(); + } + public static bcl.Bcl.DateTime parseFrom(java.io.InputStream input) + throws java.io.IOException { + return newBuilder().mergeFrom(input).buildParsed(); + } + public static bcl.Bcl.DateTime parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistry extensionRegistry) + throws java.io.IOException { + return newBuilder().mergeFrom(input, extensionRegistry) + .buildParsed(); + } + public static bcl.Bcl.DateTime parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return newBuilder().mergeFrom(input).buildParsed(); + } + public static bcl.Bcl.DateTime parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistry extensionRegistry) + throws java.io.IOException { + return newBuilder().mergeFrom(input, extensionRegistry) + .buildParsed(); + } + + public static Builder newBuilder() { return new Builder(); } + public Builder newBuilderForType() { return new Builder(); } + public static Builder newBuilder(bcl.Bcl.DateTime prototype) { + return new Builder().mergeFrom(prototype); + } + + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder { + // Construct using bcl.Bcl.DateTime.newBuilder() + private Builder() {} + + bcl.Bcl.DateTime result = new bcl.Bcl.DateTime(); + + protected bcl.Bcl.DateTime internalGetResult() { + return result; + } + + public Builder clear() { + result = new bcl.Bcl.DateTime(); + return this; + } + + public Builder clone() { + return new Builder().mergeFrom(result); + } + + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return bcl.Bcl.DateTime.getDescriptor(); + } + + public bcl.Bcl.DateTime getDefaultInstanceForType() { + return bcl.Bcl.DateTime.getDefaultInstance(); + } + + public bcl.Bcl.DateTime build() { + if (!isInitialized()) { + throw new com.google.protobuf.UninitializedMessageException( + result); + } + return buildPartial(); + } + + private bcl.Bcl.DateTime buildParsed() + throws com.google.protobuf.InvalidProtocolBufferException { + if (!isInitialized()) { + throw new com.google.protobuf.UninitializedMessageException( + result).asInvalidProtocolBufferException(); + } + return buildPartial(); + } + + public bcl.Bcl.DateTime buildPartial() { + bcl.Bcl.DateTime returnMe = result; + result = null; + return returnMe; + } + + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof bcl.Bcl.DateTime) { + return mergeFrom((bcl.Bcl.DateTime)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(bcl.Bcl.DateTime other) { + if (other == bcl.Bcl.DateTime.getDefaultInstance()) return this; + if (other.hasValue()) { + setValue(other.getValue()); + } + if (other.hasScale()) { + setScale(other.getScale()); + } + this.mergeUnknownFields(other.getUnknownFields()); + return this; + } + + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return mergeFrom(input, + com.google.protobuf.ExtensionRegistry.getEmptyRegistry()); + } + + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistry extensionRegistry) + throws java.io.IOException { + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder( + this.getUnknownFields()); + while (true) { + int tag = input.readTag(); + switch (tag) { + case 0: + this.setUnknownFields(unknownFields.build()); + return this; + default: { + if (!parseUnknownField(input, unknownFields, + extensionRegistry, tag)) { + this.setUnknownFields(unknownFields.build()); + return this; + } + break; + } + case 8: { + setValue(input.readSInt64()); + break; + } + case 16: { + int rawValue = input.readEnum(); + bcl.Bcl.DateTime.TimeSpanScale value = bcl.Bcl.DateTime.TimeSpanScale.valueOf(rawValue); + if (value == null) { + unknownFields.mergeVarintField(2, rawValue); + } else { + setScale(value); + } + break; + } + } + } + } + + + // optional sint64 value = 1; + public boolean hasValue() { + return result.hasValue(); + } + public long getValue() { + return result.getValue(); + } + public Builder setValue(long value) { + result.hasValue = true; + result.value_ = value; + return this; + } + public Builder clearValue() { + result.hasValue = false; + result.value_ = 0L; + return this; + } + + // optional .bcl.DateTime.TimeSpanScale scale = 2 [default = DAYS]; + public boolean hasScale() { + return result.hasScale(); + } + public bcl.Bcl.DateTime.TimeSpanScale getScale() { + return result.getScale(); + } + public Builder setScale(bcl.Bcl.DateTime.TimeSpanScale value) { + result.hasScale = true; + result.scale_ = value; + return this; + } + public Builder clearScale() { + result.hasScale = false; + result.scale_ = bcl.Bcl.DateTime.TimeSpanScale.DAYS; + return this; + } + } + } + + public static final class Guid extends + com.google.protobuf.GeneratedMessage { + // Use Guid.newBuilder() to construct. + private Guid() {} + + private static final Guid defaultInstance = new Guid(); + public static Guid getDefaultInstance() { + return defaultInstance; + } + + public Guid getDefaultInstanceForType() { + return defaultInstance; + } + + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return bcl.Bcl.internal_static_bcl_Guid_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return bcl.Bcl.internal_static_bcl_Guid_fieldAccessorTable; + } + + // optional fixed64 lo = 1; + private boolean hasLo; + private long lo_ = 0L; + public boolean hasLo() { return hasLo; } + public long getLo() { return lo_; } + + // optional fixed64 hi = 2; + private boolean hasHi; + private long hi_ = 0L; + public boolean hasHi() { return hasHi; } + public long getHi() { return hi_; } + + public final boolean isInitialized() { + return true; + } + + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (hasLo()) { + output.writeFixed64(1, getLo()); + } + if (hasHi()) { + output.writeFixed64(2, getHi()); + } + getUnknownFields().writeTo(output); + } + + private int memoizedSerializedSize = -1; + public int getSerializedSize() { + int size = memoizedSerializedSize; + if (size != -1) return size; + + size = 0; + if (hasLo()) { + size += com.google.protobuf.CodedOutputStream + .computeFixed64Size(1, getLo()); + } + if (hasHi()) { + size += com.google.protobuf.CodedOutputStream + .computeFixed64Size(2, getHi()); + } + size += getUnknownFields().getSerializedSize(); + memoizedSerializedSize = size; + return size; + } + + public static bcl.Bcl.Guid parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return newBuilder().mergeFrom(data).buildParsed(); + } + public static bcl.Bcl.Guid parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistry extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return newBuilder().mergeFrom(data, extensionRegistry) + .buildParsed(); + } + public static bcl.Bcl.Guid parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return newBuilder().mergeFrom(data).buildParsed(); + } + public static bcl.Bcl.Guid parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistry extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return newBuilder().mergeFrom(data, extensionRegistry) + .buildParsed(); + } + public static bcl.Bcl.Guid parseFrom(java.io.InputStream input) + throws java.io.IOException { + return newBuilder().mergeFrom(input).buildParsed(); + } + public static bcl.Bcl.Guid parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistry extensionRegistry) + throws java.io.IOException { + return newBuilder().mergeFrom(input, extensionRegistry) + .buildParsed(); + } + public static bcl.Bcl.Guid parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return newBuilder().mergeFrom(input).buildParsed(); + } + public static bcl.Bcl.Guid parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistry extensionRegistry) + throws java.io.IOException { + return newBuilder().mergeFrom(input, extensionRegistry) + .buildParsed(); + } + + public static Builder newBuilder() { return new Builder(); } + public Builder newBuilderForType() { return new Builder(); } + public static Builder newBuilder(bcl.Bcl.Guid prototype) { + return new Builder().mergeFrom(prototype); + } + + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder { + // Construct using bcl.Bcl.Guid.newBuilder() + private Builder() {} + + bcl.Bcl.Guid result = new bcl.Bcl.Guid(); + + protected bcl.Bcl.Guid internalGetResult() { + return result; + } + + public Builder clear() { + result = new bcl.Bcl.Guid(); + return this; + } + + public Builder clone() { + return new Builder().mergeFrom(result); + } + + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return bcl.Bcl.Guid.getDescriptor(); + } + + public bcl.Bcl.Guid getDefaultInstanceForType() { + return bcl.Bcl.Guid.getDefaultInstance(); + } + + public bcl.Bcl.Guid build() { + if (!isInitialized()) { + throw new com.google.protobuf.UninitializedMessageException( + result); + } + return buildPartial(); + } + + private bcl.Bcl.Guid buildParsed() + throws com.google.protobuf.InvalidProtocolBufferException { + if (!isInitialized()) { + throw new com.google.protobuf.UninitializedMessageException( + result).asInvalidProtocolBufferException(); + } + return buildPartial(); + } + + public bcl.Bcl.Guid buildPartial() { + bcl.Bcl.Guid returnMe = result; + result = null; + return returnMe; + } + + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof bcl.Bcl.Guid) { + return mergeFrom((bcl.Bcl.Guid)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(bcl.Bcl.Guid other) { + if (other == bcl.Bcl.Guid.getDefaultInstance()) return this; + if (other.hasLo()) { + setLo(other.getLo()); + } + if (other.hasHi()) { + setHi(other.getHi()); + } + this.mergeUnknownFields(other.getUnknownFields()); + return this; + } + + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return mergeFrom(input, + com.google.protobuf.ExtensionRegistry.getEmptyRegistry()); + } + + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistry extensionRegistry) + throws java.io.IOException { + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder( + this.getUnknownFields()); + while (true) { + int tag = input.readTag(); + switch (tag) { + case 0: + this.setUnknownFields(unknownFields.build()); + return this; + default: { + if (!parseUnknownField(input, unknownFields, + extensionRegistry, tag)) { + this.setUnknownFields(unknownFields.build()); + return this; + } + break; + } + case 9: { + setLo(input.readFixed64()); + break; + } + case 17: { + setHi(input.readFixed64()); + break; + } + } + } + } + + + // optional fixed64 lo = 1; + public boolean hasLo() { + return result.hasLo(); + } + public long getLo() { + return result.getLo(); + } + public Builder setLo(long value) { + result.hasLo = true; + result.lo_ = value; + return this; + } + public Builder clearLo() { + result.hasLo = false; + result.lo_ = 0L; + return this; + } + + // optional fixed64 hi = 2; + public boolean hasHi() { + return result.hasHi(); + } + public long getHi() { + return result.getHi(); + } + public Builder setHi(long value) { + result.hasHi = true; + result.hi_ = value; + return this; + } + public Builder clearHi() { + result.hasHi = false; + result.hi_ = 0L; + return this; + } + } + } + + public static final class Decimal extends + com.google.protobuf.GeneratedMessage { + // Use Decimal.newBuilder() to construct. + private Decimal() {} + + private static final Decimal defaultInstance = new Decimal(); + public static Decimal getDefaultInstance() { + return defaultInstance; + } + + public Decimal getDefaultInstanceForType() { + return defaultInstance; + } + + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return bcl.Bcl.internal_static_bcl_Decimal_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return bcl.Bcl.internal_static_bcl_Decimal_fieldAccessorTable; + } + + // optional uint64 lo = 1; + private boolean hasLo; + private long lo_ = 0L; + public boolean hasLo() { return hasLo; } + public long getLo() { return lo_; } + + // optional uint32 hi = 2; + private boolean hasHi; + private int hi_ = 0; + public boolean hasHi() { return hasHi; } + public int getHi() { return hi_; } + + // optional uint32 signScale = 3; + private boolean hasSignScale; + private int signScale_ = 0; + public boolean hasSignScale() { return hasSignScale; } + public int getSignScale() { return signScale_; } + + public final boolean isInitialized() { + return true; + } + + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (hasLo()) { + output.writeUInt64(1, getLo()); + } + if (hasHi()) { + output.writeUInt32(2, getHi()); + } + if (hasSignScale()) { + output.writeUInt32(3, getSignScale()); + } + getUnknownFields().writeTo(output); + } + + private int memoizedSerializedSize = -1; + public int getSerializedSize() { + int size = memoizedSerializedSize; + if (size != -1) return size; + + size = 0; + if (hasLo()) { + size += com.google.protobuf.CodedOutputStream + .computeUInt64Size(1, getLo()); + } + if (hasHi()) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(2, getHi()); + } + if (hasSignScale()) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(3, getSignScale()); + } + size += getUnknownFields().getSerializedSize(); + memoizedSerializedSize = size; + return size; + } + + public static bcl.Bcl.Decimal parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return newBuilder().mergeFrom(data).buildParsed(); + } + public static bcl.Bcl.Decimal parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistry extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return newBuilder().mergeFrom(data, extensionRegistry) + .buildParsed(); + } + public static bcl.Bcl.Decimal parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return newBuilder().mergeFrom(data).buildParsed(); + } + public static bcl.Bcl.Decimal parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistry extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return newBuilder().mergeFrom(data, extensionRegistry) + .buildParsed(); + } + public static bcl.Bcl.Decimal parseFrom(java.io.InputStream input) + throws java.io.IOException { + return newBuilder().mergeFrom(input).buildParsed(); + } + public static bcl.Bcl.Decimal parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistry extensionRegistry) + throws java.io.IOException { + return newBuilder().mergeFrom(input, extensionRegistry) + .buildParsed(); + } + public static bcl.Bcl.Decimal parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return newBuilder().mergeFrom(input).buildParsed(); + } + public static bcl.Bcl.Decimal parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistry extensionRegistry) + throws java.io.IOException { + return newBuilder().mergeFrom(input, extensionRegistry) + .buildParsed(); + } + + public static Builder newBuilder() { return new Builder(); } + public Builder newBuilderForType() { return new Builder(); } + public static Builder newBuilder(bcl.Bcl.Decimal prototype) { + return new Builder().mergeFrom(prototype); + } + + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder { + // Construct using bcl.Bcl.Decimal.newBuilder() + private Builder() {} + + bcl.Bcl.Decimal result = new bcl.Bcl.Decimal(); + + protected bcl.Bcl.Decimal internalGetResult() { + return result; + } + + public Builder clear() { + result = new bcl.Bcl.Decimal(); + return this; + } + + public Builder clone() { + return new Builder().mergeFrom(result); + } + + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return bcl.Bcl.Decimal.getDescriptor(); + } + + public bcl.Bcl.Decimal getDefaultInstanceForType() { + return bcl.Bcl.Decimal.getDefaultInstance(); + } + + public bcl.Bcl.Decimal build() { + if (!isInitialized()) { + throw new com.google.protobuf.UninitializedMessageException( + result); + } + return buildPartial(); + } + + private bcl.Bcl.Decimal buildParsed() + throws com.google.protobuf.InvalidProtocolBufferException { + if (!isInitialized()) { + throw new com.google.protobuf.UninitializedMessageException( + result).asInvalidProtocolBufferException(); + } + return buildPartial(); + } + + public bcl.Bcl.Decimal buildPartial() { + bcl.Bcl.Decimal returnMe = result; + result = null; + return returnMe; + } + + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof bcl.Bcl.Decimal) { + return mergeFrom((bcl.Bcl.Decimal)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(bcl.Bcl.Decimal other) { + if (other == bcl.Bcl.Decimal.getDefaultInstance()) return this; + if (other.hasLo()) { + setLo(other.getLo()); + } + if (other.hasHi()) { + setHi(other.getHi()); + } + if (other.hasSignScale()) { + setSignScale(other.getSignScale()); + } + this.mergeUnknownFields(other.getUnknownFields()); + return this; + } + + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return mergeFrom(input, + com.google.protobuf.ExtensionRegistry.getEmptyRegistry()); + } + + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistry extensionRegistry) + throws java.io.IOException { + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder( + this.getUnknownFields()); + while (true) { + int tag = input.readTag(); + switch (tag) { + case 0: + this.setUnknownFields(unknownFields.build()); + return this; + default: { + if (!parseUnknownField(input, unknownFields, + extensionRegistry, tag)) { + this.setUnknownFields(unknownFields.build()); + return this; + } + break; + } + case 8: { + setLo(input.readUInt64()); + break; + } + case 16: { + setHi(input.readUInt32()); + break; + } + case 24: { + setSignScale(input.readUInt32()); + break; + } + } + } + } + + + // optional uint64 lo = 1; + public boolean hasLo() { + return result.hasLo(); + } + public long getLo() { + return result.getLo(); + } + public Builder setLo(long value) { + result.hasLo = true; + result.lo_ = value; + return this; + } + public Builder clearLo() { + result.hasLo = false; + result.lo_ = 0L; + return this; + } + + // optional uint32 hi = 2; + public boolean hasHi() { + return result.hasHi(); + } + public int getHi() { + return result.getHi(); + } + public Builder setHi(int value) { + result.hasHi = true; + result.hi_ = value; + return this; + } + public Builder clearHi() { + result.hasHi = false; + result.hi_ = 0; + return this; + } + + // optional uint32 signScale = 3; + public boolean hasSignScale() { + return result.hasSignScale(); + } + public int getSignScale() { + return result.getSignScale(); + } + public Builder setSignScale(int value) { + result.hasSignScale = true; + result.signScale_ = value; + return this; + } + public Builder clearSignScale() { + result.hasSignScale = false; + result.signScale_ = 0; + return this; + } + } + } + + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_bcl_TimeSpan_descriptor = + getDescriptor().getMessageTypes().get(0); + private static + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_bcl_TimeSpan_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_bcl_TimeSpan_descriptor, + new java.lang.String[] { "Value", "Scale", }, + bcl.Bcl.TimeSpan.class, + bcl.Bcl.TimeSpan.Builder.class); + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_bcl_DateTime_descriptor = + getDescriptor().getMessageTypes().get(1); + private static + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_bcl_DateTime_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_bcl_DateTime_descriptor, + new java.lang.String[] { "Value", "Scale", }, + bcl.Bcl.DateTime.class, + bcl.Bcl.DateTime.Builder.class); + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_bcl_Guid_descriptor = + getDescriptor().getMessageTypes().get(2); + private static + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_bcl_Guid_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_bcl_Guid_descriptor, + new java.lang.String[] { "Lo", "Hi", }, + bcl.Bcl.Guid.class, + bcl.Bcl.Guid.Builder.class); + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_bcl_Decimal_descriptor = + getDescriptor().getMessageTypes().get(3); + private static + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_bcl_Decimal_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_bcl_Decimal_descriptor, + new java.lang.String[] { "Lo", "Hi", "SignScale", }, + bcl.Bcl.Decimal.class, + bcl.Bcl.Decimal.Builder.class); +} diff --git a/csharp/TestBed/java/northwind/Nwind.java b/csharp/TestBed/java/northwind/Nwind.java new file mode 100644 index 00000000..02929ef5 --- /dev/null +++ b/csharp/TestBed/java/northwind/Nwind.java @@ -0,0 +1,1661 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! + +package northwind; + +public final class Nwind { + private Nwind() {} + public static com.google.protobuf.Descriptors.FileDescriptor + getDescriptor() { + return descriptor; + } + private static final com.google.protobuf.Descriptors.FileDescriptor + descriptor = buildDescriptor(); + private static + com.google.protobuf.Descriptors.FileDescriptor + buildDescriptor() { + java.lang.String descriptorData = + "\n\013nwind.proto\022\tnorthwind\032\tbcl.proto\",\n\010D" + + "atabase\022 \n\006Orders\030\001 \003(\0132\020.northwind.Orde" + + "r\"\372\002\n\005Order\022\017\n\007OrderID\030\001 \001(\005\022\022\n\nCustomer" + + "ID\030\002 \001(\t\022\022\n\nEmployeeID\030\003 \001(\005\022 \n\tOrderDat" + + "e\030\004 \001(\0132\r.bcl.DateTime\022#\n\014RequiredDate\030\005" + + " \001(\0132\r.bcl.DateTime\022\"\n\013ShippedDate\030\006 \001(\013" + + "2\r.bcl.DateTime\022\017\n\007ShipVia\030\007 \001(\005\022\035\n\007Frei" + + "ght\030\010 \001(\0132\014.bcl.Decimal\022\020\n\010ShipName\030\t \001(" + + "\t\022\023\n\013ShipAddress\030\n \001(\t\022\020\n\010ShipCity\030\013 \001(\t" + + "\022\022\n\nShipRegion\030\014 \001(\t\022\026\n\016ShipPostalCode\030\r" + + " \001(\t\022\023\n\013ShipCountry\030\016 \001(\t\022#\n\005Lines\030\017 \003(\013" + + "2\024.northwind.OrderLine\"t\n\tOrderLine\022\017\n\007O" + + "rderID\030\001 \001(\005\022\021\n\tProductID\030\002 \001(\005\022\037\n\tUnitP" + + "rice\030\003 \001(\0132\014.bcl.Decimal\022\020\n\010Quantity\030\004 \001" + + "(\021\022\020\n\010Discount\030\005 \001(\002B#H\001\302>\tNorthwind\312>\022N" + + "orthwindProtoFile"; + try { + return com.google.protobuf.Descriptors.FileDescriptor + .internalBuildGeneratedFileFrom(descriptorData, + new com.google.protobuf.Descriptors.FileDescriptor[] { + bcl.Bcl.getDescriptor(), + }); + } catch (Exception e) { + throw new RuntimeException( + "Failed to parse protocol buffer descriptor for " + + "\"nwind.proto\".", e); + } + } + + public static final class Database extends + com.google.protobuf.GeneratedMessage { + // Use Database.newBuilder() to construct. + private Database() {} + + private static final Database defaultInstance = new Database(); + public static Database getDefaultInstance() { + return defaultInstance; + } + + public Database getDefaultInstanceForType() { + return defaultInstance; + } + + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return northwind.Nwind.internal_static_northwind_Database_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return northwind.Nwind.internal_static_northwind_Database_fieldAccessorTable; + } + + // repeated .northwind.Order Orders = 1; + private java.util.List orders_ = + java.util.Collections.emptyList(); + public java.util.List getOrdersList() { + return orders_; + } + public int getOrdersCount() { return orders_.size(); } + public northwind.Nwind.Order getOrders(int index) { + return orders_.get(index); + } + + public final boolean isInitialized() { + return true; + } + + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + for (northwind.Nwind.Order element : getOrdersList()) { + output.writeMessage(1, element); + } + getUnknownFields().writeTo(output); + } + + private int memoizedSerializedSize = -1; + public int getSerializedSize() { + int size = memoizedSerializedSize; + if (size != -1) return size; + + size = 0; + for (northwind.Nwind.Order element : getOrdersList()) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(1, element); + } + size += getUnknownFields().getSerializedSize(); + memoizedSerializedSize = size; + return size; + } + + public static northwind.Nwind.Database parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return newBuilder().mergeFrom(data).buildParsed(); + } + public static northwind.Nwind.Database parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistry extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return newBuilder().mergeFrom(data, extensionRegistry) + .buildParsed(); + } + public static northwind.Nwind.Database parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return newBuilder().mergeFrom(data).buildParsed(); + } + public static northwind.Nwind.Database parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistry extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return newBuilder().mergeFrom(data, extensionRegistry) + .buildParsed(); + } + public static northwind.Nwind.Database parseFrom(java.io.InputStream input) + throws java.io.IOException { + return newBuilder().mergeFrom(input).buildParsed(); + } + public static northwind.Nwind.Database parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistry extensionRegistry) + throws java.io.IOException { + return newBuilder().mergeFrom(input, extensionRegistry) + .buildParsed(); + } + public static northwind.Nwind.Database parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return newBuilder().mergeFrom(input).buildParsed(); + } + public static northwind.Nwind.Database parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistry extensionRegistry) + throws java.io.IOException { + return newBuilder().mergeFrom(input, extensionRegistry) + .buildParsed(); + } + + public static Builder newBuilder() { return new Builder(); } + public Builder newBuilderForType() { return new Builder(); } + public static Builder newBuilder(northwind.Nwind.Database prototype) { + return new Builder().mergeFrom(prototype); + } + + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder { + // Construct using northwind.Nwind.Database.newBuilder() + private Builder() {} + + northwind.Nwind.Database result = new northwind.Nwind.Database(); + + protected northwind.Nwind.Database internalGetResult() { + return result; + } + + public Builder clear() { + result = new northwind.Nwind.Database(); + return this; + } + + public Builder clone() { + return new Builder().mergeFrom(result); + } + + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return northwind.Nwind.Database.getDescriptor(); + } + + public northwind.Nwind.Database getDefaultInstanceForType() { + return northwind.Nwind.Database.getDefaultInstance(); + } + + public northwind.Nwind.Database build() { + if (!isInitialized()) { + throw new com.google.protobuf.UninitializedMessageException( + result); + } + return buildPartial(); + } + + private northwind.Nwind.Database buildParsed() + throws com.google.protobuf.InvalidProtocolBufferException { + if (!isInitialized()) { + throw new com.google.protobuf.UninitializedMessageException( + result).asInvalidProtocolBufferException(); + } + return buildPartial(); + } + + public northwind.Nwind.Database buildPartial() { + if (result.orders_ != java.util.Collections.EMPTY_LIST) { + result.orders_ = + java.util.Collections.unmodifiableList(result.orders_); + } + northwind.Nwind.Database returnMe = result; + result = null; + return returnMe; + } + + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof northwind.Nwind.Database) { + return mergeFrom((northwind.Nwind.Database)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(northwind.Nwind.Database other) { + if (other == northwind.Nwind.Database.getDefaultInstance()) return this; + if (!other.orders_.isEmpty()) { + if (result.orders_.isEmpty()) { + result.orders_ = new java.util.ArrayList(); + } + result.orders_.addAll(other.orders_); + } + this.mergeUnknownFields(other.getUnknownFields()); + return this; + } + + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return mergeFrom(input, + com.google.protobuf.ExtensionRegistry.getEmptyRegistry()); + } + + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistry extensionRegistry) + throws java.io.IOException { + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder( + this.getUnknownFields()); + while (true) { + int tag = input.readTag(); + switch (tag) { + case 0: + this.setUnknownFields(unknownFields.build()); + return this; + default: { + if (!parseUnknownField(input, unknownFields, + extensionRegistry, tag)) { + this.setUnknownFields(unknownFields.build()); + return this; + } + break; + } + case 10: { + northwind.Nwind.Order.Builder subBuilder = northwind.Nwind.Order.newBuilder(); + input.readMessage(subBuilder, extensionRegistry); + addOrders(subBuilder.buildPartial()); + break; + } + } + } + } + + + // repeated .northwind.Order Orders = 1; + public java.util.List getOrdersList() { + return java.util.Collections.unmodifiableList(result.orders_); + } + public int getOrdersCount() { + return result.getOrdersCount(); + } + public northwind.Nwind.Order getOrders(int index) { + return result.getOrders(index); + } + public Builder setOrders(int index, northwind.Nwind.Order value) { + result.orders_.set(index, value); + return this; + } + public Builder setOrders(int index, northwind.Nwind.Order.Builder builderForValue) { + result.orders_.set(index, builderForValue.build()); + return this; + } + public Builder addOrders(northwind.Nwind.Order value) { + if (result.orders_.isEmpty()) { + result.orders_ = new java.util.ArrayList(); + } + result.orders_.add(value); + return this; + } + public Builder addOrders(northwind.Nwind.Order.Builder builderForValue) { + if (result.orders_.isEmpty()) { + result.orders_ = new java.util.ArrayList(); + } + result.orders_.add(builderForValue.build()); + return this; + } + public Builder addAllOrders( + java.lang.Iterable values) { + if (result.orders_.isEmpty()) { + result.orders_ = new java.util.ArrayList(); + } + super.addAll(values, result.orders_); + return this; + } + public Builder clearOrders() { + result.orders_ = java.util.Collections.emptyList(); + return this; + } + } + } + + public static final class Order extends + com.google.protobuf.GeneratedMessage { + // Use Order.newBuilder() to construct. + private Order() {} + + private static final Order defaultInstance = new Order(); + public static Order getDefaultInstance() { + return defaultInstance; + } + + public Order getDefaultInstanceForType() { + return defaultInstance; + } + + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return northwind.Nwind.internal_static_northwind_Order_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return northwind.Nwind.internal_static_northwind_Order_fieldAccessorTable; + } + + // optional int32 OrderID = 1; + private boolean hasOrderID; + private int orderID_ = 0; + public boolean hasOrderID() { return hasOrderID; } + public int getOrderID() { return orderID_; } + + // optional string CustomerID = 2; + private boolean hasCustomerID; + private java.lang.String customerID_ = ""; + public boolean hasCustomerID() { return hasCustomerID; } + public java.lang.String getCustomerID() { return customerID_; } + + // optional int32 EmployeeID = 3; + private boolean hasEmployeeID; + private int employeeID_ = 0; + public boolean hasEmployeeID() { return hasEmployeeID; } + public int getEmployeeID() { return employeeID_; } + + // optional .bcl.DateTime OrderDate = 4; + private boolean hasOrderDate; + private bcl.Bcl.DateTime orderDate_ = bcl.Bcl.DateTime.getDefaultInstance(); + public boolean hasOrderDate() { return hasOrderDate; } + public bcl.Bcl.DateTime getOrderDate() { return orderDate_; } + + // optional .bcl.DateTime RequiredDate = 5; + private boolean hasRequiredDate; + private bcl.Bcl.DateTime requiredDate_ = bcl.Bcl.DateTime.getDefaultInstance(); + public boolean hasRequiredDate() { return hasRequiredDate; } + public bcl.Bcl.DateTime getRequiredDate() { return requiredDate_; } + + // optional .bcl.DateTime ShippedDate = 6; + private boolean hasShippedDate; + private bcl.Bcl.DateTime shippedDate_ = bcl.Bcl.DateTime.getDefaultInstance(); + public boolean hasShippedDate() { return hasShippedDate; } + public bcl.Bcl.DateTime getShippedDate() { return shippedDate_; } + + // optional int32 ShipVia = 7; + private boolean hasShipVia; + private int shipVia_ = 0; + public boolean hasShipVia() { return hasShipVia; } + public int getShipVia() { return shipVia_; } + + // optional .bcl.Decimal Freight = 8; + private boolean hasFreight; + private bcl.Bcl.Decimal freight_ = bcl.Bcl.Decimal.getDefaultInstance(); + public boolean hasFreight() { return hasFreight; } + public bcl.Bcl.Decimal getFreight() { return freight_; } + + // optional string ShipName = 9; + private boolean hasShipName; + private java.lang.String shipName_ = ""; + public boolean hasShipName() { return hasShipName; } + public java.lang.String getShipName() { return shipName_; } + + // optional string ShipAddress = 10; + private boolean hasShipAddress; + private java.lang.String shipAddress_ = ""; + public boolean hasShipAddress() { return hasShipAddress; } + public java.lang.String getShipAddress() { return shipAddress_; } + + // optional string ShipCity = 11; + private boolean hasShipCity; + private java.lang.String shipCity_ = ""; + public boolean hasShipCity() { return hasShipCity; } + public java.lang.String getShipCity() { return shipCity_; } + + // optional string ShipRegion = 12; + private boolean hasShipRegion; + private java.lang.String shipRegion_ = ""; + public boolean hasShipRegion() { return hasShipRegion; } + public java.lang.String getShipRegion() { return shipRegion_; } + + // optional string ShipPostalCode = 13; + private boolean hasShipPostalCode; + private java.lang.String shipPostalCode_ = ""; + public boolean hasShipPostalCode() { return hasShipPostalCode; } + public java.lang.String getShipPostalCode() { return shipPostalCode_; } + + // optional string ShipCountry = 14; + private boolean hasShipCountry; + private java.lang.String shipCountry_ = ""; + public boolean hasShipCountry() { return hasShipCountry; } + public java.lang.String getShipCountry() { return shipCountry_; } + + // repeated .northwind.OrderLine Lines = 15; + private java.util.List lines_ = + java.util.Collections.emptyList(); + public java.util.List getLinesList() { + return lines_; + } + public int getLinesCount() { return lines_.size(); } + public northwind.Nwind.OrderLine getLines(int index) { + return lines_.get(index); + } + + public final boolean isInitialized() { + return true; + } + + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (hasOrderID()) { + output.writeInt32(1, getOrderID()); + } + if (hasCustomerID()) { + output.writeString(2, getCustomerID()); + } + if (hasEmployeeID()) { + output.writeInt32(3, getEmployeeID()); + } + if (hasOrderDate()) { + output.writeMessage(4, getOrderDate()); + } + if (hasRequiredDate()) { + output.writeMessage(5, getRequiredDate()); + } + if (hasShippedDate()) { + output.writeMessage(6, getShippedDate()); + } + if (hasShipVia()) { + output.writeInt32(7, getShipVia()); + } + if (hasFreight()) { + output.writeMessage(8, getFreight()); + } + if (hasShipName()) { + output.writeString(9, getShipName()); + } + if (hasShipAddress()) { + output.writeString(10, getShipAddress()); + } + if (hasShipCity()) { + output.writeString(11, getShipCity()); + } + if (hasShipRegion()) { + output.writeString(12, getShipRegion()); + } + if (hasShipPostalCode()) { + output.writeString(13, getShipPostalCode()); + } + if (hasShipCountry()) { + output.writeString(14, getShipCountry()); + } + for (northwind.Nwind.OrderLine element : getLinesList()) { + output.writeMessage(15, element); + } + getUnknownFields().writeTo(output); + } + + private int memoizedSerializedSize = -1; + public int getSerializedSize() { + int size = memoizedSerializedSize; + if (size != -1) return size; + + size = 0; + if (hasOrderID()) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(1, getOrderID()); + } + if (hasCustomerID()) { + size += com.google.protobuf.CodedOutputStream + .computeStringSize(2, getCustomerID()); + } + if (hasEmployeeID()) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(3, getEmployeeID()); + } + if (hasOrderDate()) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(4, getOrderDate()); + } + if (hasRequiredDate()) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(5, getRequiredDate()); + } + if (hasShippedDate()) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(6, getShippedDate()); + } + if (hasShipVia()) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(7, getShipVia()); + } + if (hasFreight()) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(8, getFreight()); + } + if (hasShipName()) { + size += com.google.protobuf.CodedOutputStream + .computeStringSize(9, getShipName()); + } + if (hasShipAddress()) { + size += com.google.protobuf.CodedOutputStream + .computeStringSize(10, getShipAddress()); + } + if (hasShipCity()) { + size += com.google.protobuf.CodedOutputStream + .computeStringSize(11, getShipCity()); + } + if (hasShipRegion()) { + size += com.google.protobuf.CodedOutputStream + .computeStringSize(12, getShipRegion()); + } + if (hasShipPostalCode()) { + size += com.google.protobuf.CodedOutputStream + .computeStringSize(13, getShipPostalCode()); + } + if (hasShipCountry()) { + size += com.google.protobuf.CodedOutputStream + .computeStringSize(14, getShipCountry()); + } + for (northwind.Nwind.OrderLine element : getLinesList()) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(15, element); + } + size += getUnknownFields().getSerializedSize(); + memoizedSerializedSize = size; + return size; + } + + public static northwind.Nwind.Order parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return newBuilder().mergeFrom(data).buildParsed(); + } + public static northwind.Nwind.Order parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistry extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return newBuilder().mergeFrom(data, extensionRegistry) + .buildParsed(); + } + public static northwind.Nwind.Order parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return newBuilder().mergeFrom(data).buildParsed(); + } + public static northwind.Nwind.Order parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistry extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return newBuilder().mergeFrom(data, extensionRegistry) + .buildParsed(); + } + public static northwind.Nwind.Order parseFrom(java.io.InputStream input) + throws java.io.IOException { + return newBuilder().mergeFrom(input).buildParsed(); + } + public static northwind.Nwind.Order parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistry extensionRegistry) + throws java.io.IOException { + return newBuilder().mergeFrom(input, extensionRegistry) + .buildParsed(); + } + public static northwind.Nwind.Order parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return newBuilder().mergeFrom(input).buildParsed(); + } + public static northwind.Nwind.Order parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistry extensionRegistry) + throws java.io.IOException { + return newBuilder().mergeFrom(input, extensionRegistry) + .buildParsed(); + } + + public static Builder newBuilder() { return new Builder(); } + public Builder newBuilderForType() { return new Builder(); } + public static Builder newBuilder(northwind.Nwind.Order prototype) { + return new Builder().mergeFrom(prototype); + } + + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder { + // Construct using northwind.Nwind.Order.newBuilder() + private Builder() {} + + northwind.Nwind.Order result = new northwind.Nwind.Order(); + + protected northwind.Nwind.Order internalGetResult() { + return result; + } + + public Builder clear() { + result = new northwind.Nwind.Order(); + return this; + } + + public Builder clone() { + return new Builder().mergeFrom(result); + } + + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return northwind.Nwind.Order.getDescriptor(); + } + + public northwind.Nwind.Order getDefaultInstanceForType() { + return northwind.Nwind.Order.getDefaultInstance(); + } + + public northwind.Nwind.Order build() { + if (!isInitialized()) { + throw new com.google.protobuf.UninitializedMessageException( + result); + } + return buildPartial(); + } + + private northwind.Nwind.Order buildParsed() + throws com.google.protobuf.InvalidProtocolBufferException { + if (!isInitialized()) { + throw new com.google.protobuf.UninitializedMessageException( + result).asInvalidProtocolBufferException(); + } + return buildPartial(); + } + + public northwind.Nwind.Order buildPartial() { + if (result.lines_ != java.util.Collections.EMPTY_LIST) { + result.lines_ = + java.util.Collections.unmodifiableList(result.lines_); + } + northwind.Nwind.Order returnMe = result; + result = null; + return returnMe; + } + + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof northwind.Nwind.Order) { + return mergeFrom((northwind.Nwind.Order)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(northwind.Nwind.Order other) { + if (other == northwind.Nwind.Order.getDefaultInstance()) return this; + if (other.hasOrderID()) { + setOrderID(other.getOrderID()); + } + if (other.hasCustomerID()) { + setCustomerID(other.getCustomerID()); + } + if (other.hasEmployeeID()) { + setEmployeeID(other.getEmployeeID()); + } + if (other.hasOrderDate()) { + mergeOrderDate(other.getOrderDate()); + } + if (other.hasRequiredDate()) { + mergeRequiredDate(other.getRequiredDate()); + } + if (other.hasShippedDate()) { + mergeShippedDate(other.getShippedDate()); + } + if (other.hasShipVia()) { + setShipVia(other.getShipVia()); + } + if (other.hasFreight()) { + mergeFreight(other.getFreight()); + } + if (other.hasShipName()) { + setShipName(other.getShipName()); + } + if (other.hasShipAddress()) { + setShipAddress(other.getShipAddress()); + } + if (other.hasShipCity()) { + setShipCity(other.getShipCity()); + } + if (other.hasShipRegion()) { + setShipRegion(other.getShipRegion()); + } + if (other.hasShipPostalCode()) { + setShipPostalCode(other.getShipPostalCode()); + } + if (other.hasShipCountry()) { + setShipCountry(other.getShipCountry()); + } + if (!other.lines_.isEmpty()) { + if (result.lines_.isEmpty()) { + result.lines_ = new java.util.ArrayList(); + } + result.lines_.addAll(other.lines_); + } + this.mergeUnknownFields(other.getUnknownFields()); + return this; + } + + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return mergeFrom(input, + com.google.protobuf.ExtensionRegistry.getEmptyRegistry()); + } + + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistry extensionRegistry) + throws java.io.IOException { + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder( + this.getUnknownFields()); + while (true) { + int tag = input.readTag(); + switch (tag) { + case 0: + this.setUnknownFields(unknownFields.build()); + return this; + default: { + if (!parseUnknownField(input, unknownFields, + extensionRegistry, tag)) { + this.setUnknownFields(unknownFields.build()); + return this; + } + break; + } + case 8: { + setOrderID(input.readInt32()); + break; + } + case 18: { + setCustomerID(input.readString()); + break; + } + case 24: { + setEmployeeID(input.readInt32()); + break; + } + case 34: { + bcl.Bcl.DateTime.Builder subBuilder = bcl.Bcl.DateTime.newBuilder(); + if (hasOrderDate()) { + subBuilder.mergeFrom(getOrderDate()); + } + input.readMessage(subBuilder, extensionRegistry); + setOrderDate(subBuilder.buildPartial()); + break; + } + case 42: { + bcl.Bcl.DateTime.Builder subBuilder = bcl.Bcl.DateTime.newBuilder(); + if (hasRequiredDate()) { + subBuilder.mergeFrom(getRequiredDate()); + } + input.readMessage(subBuilder, extensionRegistry); + setRequiredDate(subBuilder.buildPartial()); + break; + } + case 50: { + bcl.Bcl.DateTime.Builder subBuilder = bcl.Bcl.DateTime.newBuilder(); + if (hasShippedDate()) { + subBuilder.mergeFrom(getShippedDate()); + } + input.readMessage(subBuilder, extensionRegistry); + setShippedDate(subBuilder.buildPartial()); + break; + } + case 56: { + setShipVia(input.readInt32()); + break; + } + case 66: { + bcl.Bcl.Decimal.Builder subBuilder = bcl.Bcl.Decimal.newBuilder(); + if (hasFreight()) { + subBuilder.mergeFrom(getFreight()); + } + input.readMessage(subBuilder, extensionRegistry); + setFreight(subBuilder.buildPartial()); + break; + } + case 74: { + setShipName(input.readString()); + break; + } + case 82: { + setShipAddress(input.readString()); + break; + } + case 90: { + setShipCity(input.readString()); + break; + } + case 98: { + setShipRegion(input.readString()); + break; + } + case 106: { + setShipPostalCode(input.readString()); + break; + } + case 114: { + setShipCountry(input.readString()); + break; + } + case 122: { + northwind.Nwind.OrderLine.Builder subBuilder = northwind.Nwind.OrderLine.newBuilder(); + input.readMessage(subBuilder, extensionRegistry); + addLines(subBuilder.buildPartial()); + break; + } + } + } + } + + + // optional int32 OrderID = 1; + public boolean hasOrderID() { + return result.hasOrderID(); + } + public int getOrderID() { + return result.getOrderID(); + } + public Builder setOrderID(int value) { + result.hasOrderID = true; + result.orderID_ = value; + return this; + } + public Builder clearOrderID() { + result.hasOrderID = false; + result.orderID_ = 0; + return this; + } + + // optional string CustomerID = 2; + public boolean hasCustomerID() { + return result.hasCustomerID(); + } + public java.lang.String getCustomerID() { + return result.getCustomerID(); + } + public Builder setCustomerID(java.lang.String value) { + result.hasCustomerID = true; + result.customerID_ = value; + return this; + } + public Builder clearCustomerID() { + result.hasCustomerID = false; + result.customerID_ = ""; + return this; + } + + // optional int32 EmployeeID = 3; + public boolean hasEmployeeID() { + return result.hasEmployeeID(); + } + public int getEmployeeID() { + return result.getEmployeeID(); + } + public Builder setEmployeeID(int value) { + result.hasEmployeeID = true; + result.employeeID_ = value; + return this; + } + public Builder clearEmployeeID() { + result.hasEmployeeID = false; + result.employeeID_ = 0; + return this; + } + + // optional .bcl.DateTime OrderDate = 4; + public boolean hasOrderDate() { + return result.hasOrderDate(); + } + public bcl.Bcl.DateTime getOrderDate() { + return result.getOrderDate(); + } + public Builder setOrderDate(bcl.Bcl.DateTime value) { + result.hasOrderDate = true; + result.orderDate_ = value; + return this; + } + public Builder setOrderDate(bcl.Bcl.DateTime.Builder builderForValue) { + result.hasOrderDate = true; + result.orderDate_ = builderForValue.build(); + return this; + } + public Builder mergeOrderDate(bcl.Bcl.DateTime value) { + if (result.hasOrderDate() && + result.orderDate_ != bcl.Bcl.DateTime.getDefaultInstance()) { + result.orderDate_ = + bcl.Bcl.DateTime.newBuilder(result.orderDate_).mergeFrom(value).buildPartial(); + } else { + result.orderDate_ = value; + } + result.hasOrderDate = true; + return this; + } + public Builder clearOrderDate() { + result.hasOrderDate = false; + result.orderDate_ = bcl.Bcl.DateTime.getDefaultInstance(); + return this; + } + + // optional .bcl.DateTime RequiredDate = 5; + public boolean hasRequiredDate() { + return result.hasRequiredDate(); + } + public bcl.Bcl.DateTime getRequiredDate() { + return result.getRequiredDate(); + } + public Builder setRequiredDate(bcl.Bcl.DateTime value) { + result.hasRequiredDate = true; + result.requiredDate_ = value; + return this; + } + public Builder setRequiredDate(bcl.Bcl.DateTime.Builder builderForValue) { + result.hasRequiredDate = true; + result.requiredDate_ = builderForValue.build(); + return this; + } + public Builder mergeRequiredDate(bcl.Bcl.DateTime value) { + if (result.hasRequiredDate() && + result.requiredDate_ != bcl.Bcl.DateTime.getDefaultInstance()) { + result.requiredDate_ = + bcl.Bcl.DateTime.newBuilder(result.requiredDate_).mergeFrom(value).buildPartial(); + } else { + result.requiredDate_ = value; + } + result.hasRequiredDate = true; + return this; + } + public Builder clearRequiredDate() { + result.hasRequiredDate = false; + result.requiredDate_ = bcl.Bcl.DateTime.getDefaultInstance(); + return this; + } + + // optional .bcl.DateTime ShippedDate = 6; + public boolean hasShippedDate() { + return result.hasShippedDate(); + } + public bcl.Bcl.DateTime getShippedDate() { + return result.getShippedDate(); + } + public Builder setShippedDate(bcl.Bcl.DateTime value) { + result.hasShippedDate = true; + result.shippedDate_ = value; + return this; + } + public Builder setShippedDate(bcl.Bcl.DateTime.Builder builderForValue) { + result.hasShippedDate = true; + result.shippedDate_ = builderForValue.build(); + return this; + } + public Builder mergeShippedDate(bcl.Bcl.DateTime value) { + if (result.hasShippedDate() && + result.shippedDate_ != bcl.Bcl.DateTime.getDefaultInstance()) { + result.shippedDate_ = + bcl.Bcl.DateTime.newBuilder(result.shippedDate_).mergeFrom(value).buildPartial(); + } else { + result.shippedDate_ = value; + } + result.hasShippedDate = true; + return this; + } + public Builder clearShippedDate() { + result.hasShippedDate = false; + result.shippedDate_ = bcl.Bcl.DateTime.getDefaultInstance(); + return this; + } + + // optional int32 ShipVia = 7; + public boolean hasShipVia() { + return result.hasShipVia(); + } + public int getShipVia() { + return result.getShipVia(); + } + public Builder setShipVia(int value) { + result.hasShipVia = true; + result.shipVia_ = value; + return this; + } + public Builder clearShipVia() { + result.hasShipVia = false; + result.shipVia_ = 0; + return this; + } + + // optional .bcl.Decimal Freight = 8; + public boolean hasFreight() { + return result.hasFreight(); + } + public bcl.Bcl.Decimal getFreight() { + return result.getFreight(); + } + public Builder setFreight(bcl.Bcl.Decimal value) { + result.hasFreight = true; + result.freight_ = value; + return this; + } + public Builder setFreight(bcl.Bcl.Decimal.Builder builderForValue) { + result.hasFreight = true; + result.freight_ = builderForValue.build(); + return this; + } + public Builder mergeFreight(bcl.Bcl.Decimal value) { + if (result.hasFreight() && + result.freight_ != bcl.Bcl.Decimal.getDefaultInstance()) { + result.freight_ = + bcl.Bcl.Decimal.newBuilder(result.freight_).mergeFrom(value).buildPartial(); + } else { + result.freight_ = value; + } + result.hasFreight = true; + return this; + } + public Builder clearFreight() { + result.hasFreight = false; + result.freight_ = bcl.Bcl.Decimal.getDefaultInstance(); + return this; + } + + // optional string ShipName = 9; + public boolean hasShipName() { + return result.hasShipName(); + } + public java.lang.String getShipName() { + return result.getShipName(); + } + public Builder setShipName(java.lang.String value) { + result.hasShipName = true; + result.shipName_ = value; + return this; + } + public Builder clearShipName() { + result.hasShipName = false; + result.shipName_ = ""; + return this; + } + + // optional string ShipAddress = 10; + public boolean hasShipAddress() { + return result.hasShipAddress(); + } + public java.lang.String getShipAddress() { + return result.getShipAddress(); + } + public Builder setShipAddress(java.lang.String value) { + result.hasShipAddress = true; + result.shipAddress_ = value; + return this; + } + public Builder clearShipAddress() { + result.hasShipAddress = false; + result.shipAddress_ = ""; + return this; + } + + // optional string ShipCity = 11; + public boolean hasShipCity() { + return result.hasShipCity(); + } + public java.lang.String getShipCity() { + return result.getShipCity(); + } + public Builder setShipCity(java.lang.String value) { + result.hasShipCity = true; + result.shipCity_ = value; + return this; + } + public Builder clearShipCity() { + result.hasShipCity = false; + result.shipCity_ = ""; + return this; + } + + // optional string ShipRegion = 12; + public boolean hasShipRegion() { + return result.hasShipRegion(); + } + public java.lang.String getShipRegion() { + return result.getShipRegion(); + } + public Builder setShipRegion(java.lang.String value) { + result.hasShipRegion = true; + result.shipRegion_ = value; + return this; + } + public Builder clearShipRegion() { + result.hasShipRegion = false; + result.shipRegion_ = ""; + return this; + } + + // optional string ShipPostalCode = 13; + public boolean hasShipPostalCode() { + return result.hasShipPostalCode(); + } + public java.lang.String getShipPostalCode() { + return result.getShipPostalCode(); + } + public Builder setShipPostalCode(java.lang.String value) { + result.hasShipPostalCode = true; + result.shipPostalCode_ = value; + return this; + } + public Builder clearShipPostalCode() { + result.hasShipPostalCode = false; + result.shipPostalCode_ = ""; + return this; + } + + // optional string ShipCountry = 14; + public boolean hasShipCountry() { + return result.hasShipCountry(); + } + public java.lang.String getShipCountry() { + return result.getShipCountry(); + } + public Builder setShipCountry(java.lang.String value) { + result.hasShipCountry = true; + result.shipCountry_ = value; + return this; + } + public Builder clearShipCountry() { + result.hasShipCountry = false; + result.shipCountry_ = ""; + return this; + } + + // repeated .northwind.OrderLine Lines = 15; + public java.util.List getLinesList() { + return java.util.Collections.unmodifiableList(result.lines_); + } + public int getLinesCount() { + return result.getLinesCount(); + } + public northwind.Nwind.OrderLine getLines(int index) { + return result.getLines(index); + } + public Builder setLines(int index, northwind.Nwind.OrderLine value) { + result.lines_.set(index, value); + return this; + } + public Builder setLines(int index, northwind.Nwind.OrderLine.Builder builderForValue) { + result.lines_.set(index, builderForValue.build()); + return this; + } + public Builder addLines(northwind.Nwind.OrderLine value) { + if (result.lines_.isEmpty()) { + result.lines_ = new java.util.ArrayList(); + } + result.lines_.add(value); + return this; + } + public Builder addLines(northwind.Nwind.OrderLine.Builder builderForValue) { + if (result.lines_.isEmpty()) { + result.lines_ = new java.util.ArrayList(); + } + result.lines_.add(builderForValue.build()); + return this; + } + public Builder addAllLines( + java.lang.Iterable values) { + if (result.lines_.isEmpty()) { + result.lines_ = new java.util.ArrayList(); + } + super.addAll(values, result.lines_); + return this; + } + public Builder clearLines() { + result.lines_ = java.util.Collections.emptyList(); + return this; + } + } + } + + public static final class OrderLine extends + com.google.protobuf.GeneratedMessage { + // Use OrderLine.newBuilder() to construct. + private OrderLine() {} + + private static final OrderLine defaultInstance = new OrderLine(); + public static OrderLine getDefaultInstance() { + return defaultInstance; + } + + public OrderLine getDefaultInstanceForType() { + return defaultInstance; + } + + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return northwind.Nwind.internal_static_northwind_OrderLine_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return northwind.Nwind.internal_static_northwind_OrderLine_fieldAccessorTable; + } + + // optional int32 OrderID = 1; + private boolean hasOrderID; + private int orderID_ = 0; + public boolean hasOrderID() { return hasOrderID; } + public int getOrderID() { return orderID_; } + + // optional int32 ProductID = 2; + private boolean hasProductID; + private int productID_ = 0; + public boolean hasProductID() { return hasProductID; } + public int getProductID() { return productID_; } + + // optional .bcl.Decimal UnitPrice = 3; + private boolean hasUnitPrice; + private bcl.Bcl.Decimal unitPrice_ = bcl.Bcl.Decimal.getDefaultInstance(); + public boolean hasUnitPrice() { return hasUnitPrice; } + public bcl.Bcl.Decimal getUnitPrice() { return unitPrice_; } + + // optional sint32 Quantity = 4; + private boolean hasQuantity; + private int quantity_ = 0; + public boolean hasQuantity() { return hasQuantity; } + public int getQuantity() { return quantity_; } + + // optional float Discount = 5; + private boolean hasDiscount; + private float discount_ = 0F; + public boolean hasDiscount() { return hasDiscount; } + public float getDiscount() { return discount_; } + + public final boolean isInitialized() { + return true; + } + + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (hasOrderID()) { + output.writeInt32(1, getOrderID()); + } + if (hasProductID()) { + output.writeInt32(2, getProductID()); + } + if (hasUnitPrice()) { + output.writeMessage(3, getUnitPrice()); + } + if (hasQuantity()) { + output.writeSInt32(4, getQuantity()); + } + if (hasDiscount()) { + output.writeFloat(5, getDiscount()); + } + getUnknownFields().writeTo(output); + } + + private int memoizedSerializedSize = -1; + public int getSerializedSize() { + int size = memoizedSerializedSize; + if (size != -1) return size; + + size = 0; + if (hasOrderID()) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(1, getOrderID()); + } + if (hasProductID()) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(2, getProductID()); + } + if (hasUnitPrice()) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(3, getUnitPrice()); + } + if (hasQuantity()) { + size += com.google.protobuf.CodedOutputStream + .computeSInt32Size(4, getQuantity()); + } + if (hasDiscount()) { + size += com.google.protobuf.CodedOutputStream + .computeFloatSize(5, getDiscount()); + } + size += getUnknownFields().getSerializedSize(); + memoizedSerializedSize = size; + return size; + } + + public static northwind.Nwind.OrderLine parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return newBuilder().mergeFrom(data).buildParsed(); + } + public static northwind.Nwind.OrderLine parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistry extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return newBuilder().mergeFrom(data, extensionRegistry) + .buildParsed(); + } + public static northwind.Nwind.OrderLine parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return newBuilder().mergeFrom(data).buildParsed(); + } + public static northwind.Nwind.OrderLine parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistry extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return newBuilder().mergeFrom(data, extensionRegistry) + .buildParsed(); + } + public static northwind.Nwind.OrderLine parseFrom(java.io.InputStream input) + throws java.io.IOException { + return newBuilder().mergeFrom(input).buildParsed(); + } + public static northwind.Nwind.OrderLine parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistry extensionRegistry) + throws java.io.IOException { + return newBuilder().mergeFrom(input, extensionRegistry) + .buildParsed(); + } + public static northwind.Nwind.OrderLine parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return newBuilder().mergeFrom(input).buildParsed(); + } + public static northwind.Nwind.OrderLine parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistry extensionRegistry) + throws java.io.IOException { + return newBuilder().mergeFrom(input, extensionRegistry) + .buildParsed(); + } + + public static Builder newBuilder() { return new Builder(); } + public Builder newBuilderForType() { return new Builder(); } + public static Builder newBuilder(northwind.Nwind.OrderLine prototype) { + return new Builder().mergeFrom(prototype); + } + + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder { + // Construct using northwind.Nwind.OrderLine.newBuilder() + private Builder() {} + + northwind.Nwind.OrderLine result = new northwind.Nwind.OrderLine(); + + protected northwind.Nwind.OrderLine internalGetResult() { + return result; + } + + public Builder clear() { + result = new northwind.Nwind.OrderLine(); + return this; + } + + public Builder clone() { + return new Builder().mergeFrom(result); + } + + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return northwind.Nwind.OrderLine.getDescriptor(); + } + + public northwind.Nwind.OrderLine getDefaultInstanceForType() { + return northwind.Nwind.OrderLine.getDefaultInstance(); + } + + public northwind.Nwind.OrderLine build() { + if (!isInitialized()) { + throw new com.google.protobuf.UninitializedMessageException( + result); + } + return buildPartial(); + } + + private northwind.Nwind.OrderLine buildParsed() + throws com.google.protobuf.InvalidProtocolBufferException { + if (!isInitialized()) { + throw new com.google.protobuf.UninitializedMessageException( + result).asInvalidProtocolBufferException(); + } + return buildPartial(); + } + + public northwind.Nwind.OrderLine buildPartial() { + northwind.Nwind.OrderLine returnMe = result; + result = null; + return returnMe; + } + + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof northwind.Nwind.OrderLine) { + return mergeFrom((northwind.Nwind.OrderLine)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(northwind.Nwind.OrderLine other) { + if (other == northwind.Nwind.OrderLine.getDefaultInstance()) return this; + if (other.hasOrderID()) { + setOrderID(other.getOrderID()); + } + if (other.hasProductID()) { + setProductID(other.getProductID()); + } + if (other.hasUnitPrice()) { + mergeUnitPrice(other.getUnitPrice()); + } + if (other.hasQuantity()) { + setQuantity(other.getQuantity()); + } + if (other.hasDiscount()) { + setDiscount(other.getDiscount()); + } + this.mergeUnknownFields(other.getUnknownFields()); + return this; + } + + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return mergeFrom(input, + com.google.protobuf.ExtensionRegistry.getEmptyRegistry()); + } + + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistry extensionRegistry) + throws java.io.IOException { + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder( + this.getUnknownFields()); + while (true) { + int tag = input.readTag(); + switch (tag) { + case 0: + this.setUnknownFields(unknownFields.build()); + return this; + default: { + if (!parseUnknownField(input, unknownFields, + extensionRegistry, tag)) { + this.setUnknownFields(unknownFields.build()); + return this; + } + break; + } + case 8: { + setOrderID(input.readInt32()); + break; + } + case 16: { + setProductID(input.readInt32()); + break; + } + case 26: { + bcl.Bcl.Decimal.Builder subBuilder = bcl.Bcl.Decimal.newBuilder(); + if (hasUnitPrice()) { + subBuilder.mergeFrom(getUnitPrice()); + } + input.readMessage(subBuilder, extensionRegistry); + setUnitPrice(subBuilder.buildPartial()); + break; + } + case 32: { + setQuantity(input.readSInt32()); + break; + } + case 45: { + setDiscount(input.readFloat()); + break; + } + } + } + } + + + // optional int32 OrderID = 1; + public boolean hasOrderID() { + return result.hasOrderID(); + } + public int getOrderID() { + return result.getOrderID(); + } + public Builder setOrderID(int value) { + result.hasOrderID = true; + result.orderID_ = value; + return this; + } + public Builder clearOrderID() { + result.hasOrderID = false; + result.orderID_ = 0; + return this; + } + + // optional int32 ProductID = 2; + public boolean hasProductID() { + return result.hasProductID(); + } + public int getProductID() { + return result.getProductID(); + } + public Builder setProductID(int value) { + result.hasProductID = true; + result.productID_ = value; + return this; + } + public Builder clearProductID() { + result.hasProductID = false; + result.productID_ = 0; + return this; + } + + // optional .bcl.Decimal UnitPrice = 3; + public boolean hasUnitPrice() { + return result.hasUnitPrice(); + } + public bcl.Bcl.Decimal getUnitPrice() { + return result.getUnitPrice(); + } + public Builder setUnitPrice(bcl.Bcl.Decimal value) { + result.hasUnitPrice = true; + result.unitPrice_ = value; + return this; + } + public Builder setUnitPrice(bcl.Bcl.Decimal.Builder builderForValue) { + result.hasUnitPrice = true; + result.unitPrice_ = builderForValue.build(); + return this; + } + public Builder mergeUnitPrice(bcl.Bcl.Decimal value) { + if (result.hasUnitPrice() && + result.unitPrice_ != bcl.Bcl.Decimal.getDefaultInstance()) { + result.unitPrice_ = + bcl.Bcl.Decimal.newBuilder(result.unitPrice_).mergeFrom(value).buildPartial(); + } else { + result.unitPrice_ = value; + } + result.hasUnitPrice = true; + return this; + } + public Builder clearUnitPrice() { + result.hasUnitPrice = false; + result.unitPrice_ = bcl.Bcl.Decimal.getDefaultInstance(); + return this; + } + + // optional sint32 Quantity = 4; + public boolean hasQuantity() { + return result.hasQuantity(); + } + public int getQuantity() { + return result.getQuantity(); + } + public Builder setQuantity(int value) { + result.hasQuantity = true; + result.quantity_ = value; + return this; + } + public Builder clearQuantity() { + result.hasQuantity = false; + result.quantity_ = 0; + return this; + } + + // optional float Discount = 5; + public boolean hasDiscount() { + return result.hasDiscount(); + } + public float getDiscount() { + return result.getDiscount(); + } + public Builder setDiscount(float value) { + result.hasDiscount = true; + result.discount_ = value; + return this; + } + public Builder clearDiscount() { + result.hasDiscount = false; + result.discount_ = 0F; + return this; + } + } + } + + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_northwind_Database_descriptor = + getDescriptor().getMessageTypes().get(0); + private static + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_northwind_Database_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_northwind_Database_descriptor, + new java.lang.String[] { "Orders", }, + northwind.Nwind.Database.class, + northwind.Nwind.Database.Builder.class); + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_northwind_Order_descriptor = + getDescriptor().getMessageTypes().get(1); + private static + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_northwind_Order_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_northwind_Order_descriptor, + new java.lang.String[] { "OrderID", "CustomerID", "EmployeeID", "OrderDate", "RequiredDate", "ShippedDate", "ShipVia", "Freight", "ShipName", "ShipAddress", "ShipCity", "ShipRegion", "ShipPostalCode", "ShipCountry", "Lines", }, + northwind.Nwind.Order.class, + northwind.Nwind.Order.Builder.class); + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_northwind_OrderLine_descriptor = + getDescriptor().getMessageTypes().get(2); + private static + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_northwind_OrderLine_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_northwind_OrderLine_descriptor, + new java.lang.String[] { "OrderID", "ProductID", "UnitPrice", "Quantity", "Discount", }, + northwind.Nwind.OrderLine.class, + northwind.Nwind.OrderLine.Builder.class); +} diff --git a/csharp/TestBed/java/slowbcl/Slowbcl.java b/csharp/TestBed/java/slowbcl/Slowbcl.java new file mode 100644 index 00000000..48c7b75e --- /dev/null +++ b/csharp/TestBed/java/slowbcl/Slowbcl.java @@ -0,0 +1,942 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! + +package slowbcl; + +public final class Slowbcl { + private Slowbcl() {} + public static com.google.protobuf.Descriptors.FileDescriptor + getDescriptor() { + return descriptor; + } + private static final com.google.protobuf.Descriptors.FileDescriptor + descriptor = buildDescriptor(); + private static + com.google.protobuf.Descriptors.FileDescriptor + buildDescriptor() { + java.lang.String descriptorData = + "\n\rslowbcl.proto\022\007slowbcl\"\255\001\n\010TimeSpan\022\r\n" + + "\005value\030\001 \001(\022\0224\n\005scale\030\002 \001(\0162\037.slowbcl.Ti" + + "meSpan.TimeSpanScale:\004DAYS\"\\\n\rTimeSpanSc" + + "ale\022\010\n\004DAYS\020\000\022\t\n\005HOURS\020\001\022\013\n\007MINUTES\020\002\022\013\n" + + "\007SECONDS\020\003\022\020\n\014MILLISECONDS\020\004\022\n\n\006MINMAX\020\017" + + "\"\255\001\n\010DateTime\022\r\n\005value\030\001 \001(\022\0224\n\005scale\030\002 " + + "\001(\0162\037.slowbcl.DateTime.TimeSpanScale:\004DA" + + "YS\"\\\n\rTimeSpanScale\022\010\n\004DAYS\020\000\022\t\n\005HOURS\020\001" + + "\022\013\n\007MINUTES\020\002\022\013\n\007SECONDS\020\003\022\020\n\014MILLISECON" + + "DS\020\004\022\n\n\006MINMAX\020\017\"\036\n\004Guid\022\n\n\002lo\030\001 \001(\006\022\n\n\002" + + "hi\030\002 \001(\006\"4\n\007Decimal\022\n\n\002lo\030\001 \001(\004\022\n\n\002hi\030\002 " + + "\001(\r\022\021\n\tsignScale\030\003 \001(\rB4\302>\036Google.Protoc" + + "olBuffers.SlowBcl\312>\020SlowBclProtoFile"; + try { + return com.google.protobuf.Descriptors.FileDescriptor + .internalBuildGeneratedFileFrom(descriptorData, + new com.google.protobuf.Descriptors.FileDescriptor[] { + }); + } catch (Exception e) { + throw new RuntimeException( + "Failed to parse protocol buffer descriptor for " + + "\"slowbcl.proto\".", e); + } + } + + public static final class TimeSpan extends + com.google.protobuf.GeneratedMessage { + // Use TimeSpan.newBuilder() to construct. + private TimeSpan() {} + + private static final TimeSpan defaultInstance = new TimeSpan(); + public static TimeSpan getDefaultInstance() { + return defaultInstance; + } + + public TimeSpan getDefaultInstanceForType() { + return defaultInstance; + } + + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return slowbcl.Slowbcl.internal_static_slowbcl_TimeSpan_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return slowbcl.Slowbcl.internal_static_slowbcl_TimeSpan_fieldAccessorTable; + } + + public static enum TimeSpanScale { + DAYS(0, 0), + HOURS(1, 1), + MINUTES(2, 2), + SECONDS(3, 3), + MILLISECONDS(4, 4), + MINMAX(5, 15), + ; + + + public final int getNumber() { return value; } + + public static TimeSpanScale valueOf(int value) { + switch (value) { + case 0: return DAYS; + case 1: return HOURS; + case 2: return MINUTES; + case 3: return SECONDS; + case 4: return MILLISECONDS; + case 15: return MINMAX; + default: return null; + } + } + + public final com.google.protobuf.Descriptors.EnumValueDescriptor + getValueDescriptor() { + return getDescriptor().getValues().get(index); + } + public final com.google.protobuf.Descriptors.EnumDescriptor + getDescriptorForType() { + return getDescriptor(); + } + public static final com.google.protobuf.Descriptors.EnumDescriptor + getDescriptor() { + return slowbcl.Slowbcl.TimeSpan.getDescriptor().getEnumTypes().get(0); + } + + private static final TimeSpanScale[] VALUES = { + DAYS, HOURS, MINUTES, SECONDS, MILLISECONDS, MINMAX, + }; + public static TimeSpanScale valueOf( + com.google.protobuf.Descriptors.EnumValueDescriptor desc) { + if (desc.getType() != getDescriptor()) { + throw new java.lang.IllegalArgumentException( + "EnumValueDescriptor is not for this type."); + } + return VALUES[desc.getIndex()]; + } + private final int index; + private final int value; + private TimeSpanScale(int index, int value) { + this.index = index; + this.value = value; + } + } + + // optional sint64 value = 1; + private boolean hasValue; + private long value_ = 0L; + public boolean hasValue() { return hasValue; } + public long getValue() { return value_; } + + // optional .slowbcl.TimeSpan.TimeSpanScale scale = 2 [default = DAYS]; + private boolean hasScale; + private slowbcl.Slowbcl.TimeSpan.TimeSpanScale scale_ = slowbcl.Slowbcl.TimeSpan.TimeSpanScale.DAYS; + public boolean hasScale() { return hasScale; } + public slowbcl.Slowbcl.TimeSpan.TimeSpanScale getScale() { return scale_; } + + public static slowbcl.Slowbcl.TimeSpan parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return newBuilder().mergeFrom(data).buildParsed(); + } + public static slowbcl.Slowbcl.TimeSpan parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistry extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return newBuilder().mergeFrom(data, extensionRegistry) + .buildParsed(); + } + public static slowbcl.Slowbcl.TimeSpan parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return newBuilder().mergeFrom(data).buildParsed(); + } + public static slowbcl.Slowbcl.TimeSpan parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistry extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return newBuilder().mergeFrom(data, extensionRegistry) + .buildParsed(); + } + public static slowbcl.Slowbcl.TimeSpan parseFrom(java.io.InputStream input) + throws java.io.IOException { + return newBuilder().mergeFrom(input).buildParsed(); + } + public static slowbcl.Slowbcl.TimeSpan parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistry extensionRegistry) + throws java.io.IOException { + return newBuilder().mergeFrom(input, extensionRegistry) + .buildParsed(); + } + public static slowbcl.Slowbcl.TimeSpan parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return newBuilder().mergeFrom(input).buildParsed(); + } + public static slowbcl.Slowbcl.TimeSpan parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistry extensionRegistry) + throws java.io.IOException { + return newBuilder().mergeFrom(input, extensionRegistry) + .buildParsed(); + } + + public static Builder newBuilder() { return new Builder(); } + public Builder newBuilderForType() { return new Builder(); } + public static Builder newBuilder(slowbcl.Slowbcl.TimeSpan prototype) { + return new Builder().mergeFrom(prototype); + } + + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder { + // Construct using slowbcl.Slowbcl.TimeSpan.newBuilder() + private Builder() {} + + slowbcl.Slowbcl.TimeSpan result = new slowbcl.Slowbcl.TimeSpan(); + + protected slowbcl.Slowbcl.TimeSpan internalGetResult() { + return result; + } + + public Builder clear() { + result = new slowbcl.Slowbcl.TimeSpan(); + return this; + } + + public Builder clone() { + return new Builder().mergeFrom(result); + } + + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return slowbcl.Slowbcl.TimeSpan.getDescriptor(); + } + + public slowbcl.Slowbcl.TimeSpan getDefaultInstanceForType() { + return slowbcl.Slowbcl.TimeSpan.getDefaultInstance(); + } + + public slowbcl.Slowbcl.TimeSpan build() { + if (!isInitialized()) { + throw new com.google.protobuf.UninitializedMessageException( + result); + } + return buildPartial(); + } + + private slowbcl.Slowbcl.TimeSpan buildParsed() + throws com.google.protobuf.InvalidProtocolBufferException { + if (!isInitialized()) { + throw new com.google.protobuf.UninitializedMessageException( + result).asInvalidProtocolBufferException(); + } + return buildPartial(); + } + + public slowbcl.Slowbcl.TimeSpan buildPartial() { + slowbcl.Slowbcl.TimeSpan returnMe = result; + result = null; + return returnMe; + } + + + // optional sint64 value = 1; + public boolean hasValue() { + return result.hasValue(); + } + public long getValue() { + return result.getValue(); + } + public Builder setValue(long value) { + result.hasValue = true; + result.value_ = value; + return this; + } + public Builder clearValue() { + result.hasValue = false; + result.value_ = 0L; + return this; + } + + // optional .slowbcl.TimeSpan.TimeSpanScale scale = 2 [default = DAYS]; + public boolean hasScale() { + return result.hasScale(); + } + public slowbcl.Slowbcl.TimeSpan.TimeSpanScale getScale() { + return result.getScale(); + } + public Builder setScale(slowbcl.Slowbcl.TimeSpan.TimeSpanScale value) { + result.hasScale = true; + result.scale_ = value; + return this; + } + public Builder clearScale() { + result.hasScale = false; + result.scale_ = slowbcl.Slowbcl.TimeSpan.TimeSpanScale.DAYS; + return this; + } + } + } + + public static final class DateTime extends + com.google.protobuf.GeneratedMessage { + // Use DateTime.newBuilder() to construct. + private DateTime() {} + + private static final DateTime defaultInstance = new DateTime(); + public static DateTime getDefaultInstance() { + return defaultInstance; + } + + public DateTime getDefaultInstanceForType() { + return defaultInstance; + } + + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return slowbcl.Slowbcl.internal_static_slowbcl_DateTime_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return slowbcl.Slowbcl.internal_static_slowbcl_DateTime_fieldAccessorTable; + } + + public static enum TimeSpanScale { + DAYS(0, 0), + HOURS(1, 1), + MINUTES(2, 2), + SECONDS(3, 3), + MILLISECONDS(4, 4), + MINMAX(5, 15), + ; + + + public final int getNumber() { return value; } + + public static TimeSpanScale valueOf(int value) { + switch (value) { + case 0: return DAYS; + case 1: return HOURS; + case 2: return MINUTES; + case 3: return SECONDS; + case 4: return MILLISECONDS; + case 15: return MINMAX; + default: return null; + } + } + + public final com.google.protobuf.Descriptors.EnumValueDescriptor + getValueDescriptor() { + return getDescriptor().getValues().get(index); + } + public final com.google.protobuf.Descriptors.EnumDescriptor + getDescriptorForType() { + return getDescriptor(); + } + public static final com.google.protobuf.Descriptors.EnumDescriptor + getDescriptor() { + return slowbcl.Slowbcl.DateTime.getDescriptor().getEnumTypes().get(0); + } + + private static final TimeSpanScale[] VALUES = { + DAYS, HOURS, MINUTES, SECONDS, MILLISECONDS, MINMAX, + }; + public static TimeSpanScale valueOf( + com.google.protobuf.Descriptors.EnumValueDescriptor desc) { + if (desc.getType() != getDescriptor()) { + throw new java.lang.IllegalArgumentException( + "EnumValueDescriptor is not for this type."); + } + return VALUES[desc.getIndex()]; + } + private final int index; + private final int value; + private TimeSpanScale(int index, int value) { + this.index = index; + this.value = value; + } + } + + // optional sint64 value = 1; + private boolean hasValue; + private long value_ = 0L; + public boolean hasValue() { return hasValue; } + public long getValue() { return value_; } + + // optional .slowbcl.DateTime.TimeSpanScale scale = 2 [default = DAYS]; + private boolean hasScale; + private slowbcl.Slowbcl.DateTime.TimeSpanScale scale_ = slowbcl.Slowbcl.DateTime.TimeSpanScale.DAYS; + public boolean hasScale() { return hasScale; } + public slowbcl.Slowbcl.DateTime.TimeSpanScale getScale() { return scale_; } + + public static slowbcl.Slowbcl.DateTime parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return newBuilder().mergeFrom(data).buildParsed(); + } + public static slowbcl.Slowbcl.DateTime parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistry extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return newBuilder().mergeFrom(data, extensionRegistry) + .buildParsed(); + } + public static slowbcl.Slowbcl.DateTime parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return newBuilder().mergeFrom(data).buildParsed(); + } + public static slowbcl.Slowbcl.DateTime parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistry extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return newBuilder().mergeFrom(data, extensionRegistry) + .buildParsed(); + } + public static slowbcl.Slowbcl.DateTime parseFrom(java.io.InputStream input) + throws java.io.IOException { + return newBuilder().mergeFrom(input).buildParsed(); + } + public static slowbcl.Slowbcl.DateTime parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistry extensionRegistry) + throws java.io.IOException { + return newBuilder().mergeFrom(input, extensionRegistry) + .buildParsed(); + } + public static slowbcl.Slowbcl.DateTime parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return newBuilder().mergeFrom(input).buildParsed(); + } + public static slowbcl.Slowbcl.DateTime parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistry extensionRegistry) + throws java.io.IOException { + return newBuilder().mergeFrom(input, extensionRegistry) + .buildParsed(); + } + + public static Builder newBuilder() { return new Builder(); } + public Builder newBuilderForType() { return new Builder(); } + public static Builder newBuilder(slowbcl.Slowbcl.DateTime prototype) { + return new Builder().mergeFrom(prototype); + } + + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder { + // Construct using slowbcl.Slowbcl.DateTime.newBuilder() + private Builder() {} + + slowbcl.Slowbcl.DateTime result = new slowbcl.Slowbcl.DateTime(); + + protected slowbcl.Slowbcl.DateTime internalGetResult() { + return result; + } + + public Builder clear() { + result = new slowbcl.Slowbcl.DateTime(); + return this; + } + + public Builder clone() { + return new Builder().mergeFrom(result); + } + + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return slowbcl.Slowbcl.DateTime.getDescriptor(); + } + + public slowbcl.Slowbcl.DateTime getDefaultInstanceForType() { + return slowbcl.Slowbcl.DateTime.getDefaultInstance(); + } + + public slowbcl.Slowbcl.DateTime build() { + if (!isInitialized()) { + throw new com.google.protobuf.UninitializedMessageException( + result); + } + return buildPartial(); + } + + private slowbcl.Slowbcl.DateTime buildParsed() + throws com.google.protobuf.InvalidProtocolBufferException { + if (!isInitialized()) { + throw new com.google.protobuf.UninitializedMessageException( + result).asInvalidProtocolBufferException(); + } + return buildPartial(); + } + + public slowbcl.Slowbcl.DateTime buildPartial() { + slowbcl.Slowbcl.DateTime returnMe = result; + result = null; + return returnMe; + } + + + // optional sint64 value = 1; + public boolean hasValue() { + return result.hasValue(); + } + public long getValue() { + return result.getValue(); + } + public Builder setValue(long value) { + result.hasValue = true; + result.value_ = value; + return this; + } + public Builder clearValue() { + result.hasValue = false; + result.value_ = 0L; + return this; + } + + // optional .slowbcl.DateTime.TimeSpanScale scale = 2 [default = DAYS]; + public boolean hasScale() { + return result.hasScale(); + } + public slowbcl.Slowbcl.DateTime.TimeSpanScale getScale() { + return result.getScale(); + } + public Builder setScale(slowbcl.Slowbcl.DateTime.TimeSpanScale value) { + result.hasScale = true; + result.scale_ = value; + return this; + } + public Builder clearScale() { + result.hasScale = false; + result.scale_ = slowbcl.Slowbcl.DateTime.TimeSpanScale.DAYS; + return this; + } + } + } + + public static final class Guid extends + com.google.protobuf.GeneratedMessage { + // Use Guid.newBuilder() to construct. + private Guid() {} + + private static final Guid defaultInstance = new Guid(); + public static Guid getDefaultInstance() { + return defaultInstance; + } + + public Guid getDefaultInstanceForType() { + return defaultInstance; + } + + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return slowbcl.Slowbcl.internal_static_slowbcl_Guid_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return slowbcl.Slowbcl.internal_static_slowbcl_Guid_fieldAccessorTable; + } + + // optional fixed64 lo = 1; + private boolean hasLo; + private long lo_ = 0L; + public boolean hasLo() { return hasLo; } + public long getLo() { return lo_; } + + // optional fixed64 hi = 2; + private boolean hasHi; + private long hi_ = 0L; + public boolean hasHi() { return hasHi; } + public long getHi() { return hi_; } + + public static slowbcl.Slowbcl.Guid parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return newBuilder().mergeFrom(data).buildParsed(); + } + public static slowbcl.Slowbcl.Guid parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistry extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return newBuilder().mergeFrom(data, extensionRegistry) + .buildParsed(); + } + public static slowbcl.Slowbcl.Guid parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return newBuilder().mergeFrom(data).buildParsed(); + } + public static slowbcl.Slowbcl.Guid parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistry extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return newBuilder().mergeFrom(data, extensionRegistry) + .buildParsed(); + } + public static slowbcl.Slowbcl.Guid parseFrom(java.io.InputStream input) + throws java.io.IOException { + return newBuilder().mergeFrom(input).buildParsed(); + } + public static slowbcl.Slowbcl.Guid parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistry extensionRegistry) + throws java.io.IOException { + return newBuilder().mergeFrom(input, extensionRegistry) + .buildParsed(); + } + public static slowbcl.Slowbcl.Guid parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return newBuilder().mergeFrom(input).buildParsed(); + } + public static slowbcl.Slowbcl.Guid parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistry extensionRegistry) + throws java.io.IOException { + return newBuilder().mergeFrom(input, extensionRegistry) + .buildParsed(); + } + + public static Builder newBuilder() { return new Builder(); } + public Builder newBuilderForType() { return new Builder(); } + public static Builder newBuilder(slowbcl.Slowbcl.Guid prototype) { + return new Builder().mergeFrom(prototype); + } + + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder { + // Construct using slowbcl.Slowbcl.Guid.newBuilder() + private Builder() {} + + slowbcl.Slowbcl.Guid result = new slowbcl.Slowbcl.Guid(); + + protected slowbcl.Slowbcl.Guid internalGetResult() { + return result; + } + + public Builder clear() { + result = new slowbcl.Slowbcl.Guid(); + return this; + } + + public Builder clone() { + return new Builder().mergeFrom(result); + } + + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return slowbcl.Slowbcl.Guid.getDescriptor(); + } + + public slowbcl.Slowbcl.Guid getDefaultInstanceForType() { + return slowbcl.Slowbcl.Guid.getDefaultInstance(); + } + + public slowbcl.Slowbcl.Guid build() { + if (!isInitialized()) { + throw new com.google.protobuf.UninitializedMessageException( + result); + } + return buildPartial(); + } + + private slowbcl.Slowbcl.Guid buildParsed() + throws com.google.protobuf.InvalidProtocolBufferException { + if (!isInitialized()) { + throw new com.google.protobuf.UninitializedMessageException( + result).asInvalidProtocolBufferException(); + } + return buildPartial(); + } + + public slowbcl.Slowbcl.Guid buildPartial() { + slowbcl.Slowbcl.Guid returnMe = result; + result = null; + return returnMe; + } + + + // optional fixed64 lo = 1; + public boolean hasLo() { + return result.hasLo(); + } + public long getLo() { + return result.getLo(); + } + public Builder setLo(long value) { + result.hasLo = true; + result.lo_ = value; + return this; + } + public Builder clearLo() { + result.hasLo = false; + result.lo_ = 0L; + return this; + } + + // optional fixed64 hi = 2; + public boolean hasHi() { + return result.hasHi(); + } + public long getHi() { + return result.getHi(); + } + public Builder setHi(long value) { + result.hasHi = true; + result.hi_ = value; + return this; + } + public Builder clearHi() { + result.hasHi = false; + result.hi_ = 0L; + return this; + } + } + } + + public static final class Decimal extends + com.google.protobuf.GeneratedMessage { + // Use Decimal.newBuilder() to construct. + private Decimal() {} + + private static final Decimal defaultInstance = new Decimal(); + public static Decimal getDefaultInstance() { + return defaultInstance; + } + + public Decimal getDefaultInstanceForType() { + return defaultInstance; + } + + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return slowbcl.Slowbcl.internal_static_slowbcl_Decimal_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return slowbcl.Slowbcl.internal_static_slowbcl_Decimal_fieldAccessorTable; + } + + // optional uint64 lo = 1; + private boolean hasLo; + private long lo_ = 0L; + public boolean hasLo() { return hasLo; } + public long getLo() { return lo_; } + + // optional uint32 hi = 2; + private boolean hasHi; + private int hi_ = 0; + public boolean hasHi() { return hasHi; } + public int getHi() { return hi_; } + + // optional uint32 signScale = 3; + private boolean hasSignScale; + private int signScale_ = 0; + public boolean hasSignScale() { return hasSignScale; } + public int getSignScale() { return signScale_; } + + public static slowbcl.Slowbcl.Decimal parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return newBuilder().mergeFrom(data).buildParsed(); + } + public static slowbcl.Slowbcl.Decimal parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistry extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return newBuilder().mergeFrom(data, extensionRegistry) + .buildParsed(); + } + public static slowbcl.Slowbcl.Decimal parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return newBuilder().mergeFrom(data).buildParsed(); + } + public static slowbcl.Slowbcl.Decimal parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistry extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return newBuilder().mergeFrom(data, extensionRegistry) + .buildParsed(); + } + public static slowbcl.Slowbcl.Decimal parseFrom(java.io.InputStream input) + throws java.io.IOException { + return newBuilder().mergeFrom(input).buildParsed(); + } + public static slowbcl.Slowbcl.Decimal parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistry extensionRegistry) + throws java.io.IOException { + return newBuilder().mergeFrom(input, extensionRegistry) + .buildParsed(); + } + public static slowbcl.Slowbcl.Decimal parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return newBuilder().mergeFrom(input).buildParsed(); + } + public static slowbcl.Slowbcl.Decimal parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistry extensionRegistry) + throws java.io.IOException { + return newBuilder().mergeFrom(input, extensionRegistry) + .buildParsed(); + } + + public static Builder newBuilder() { return new Builder(); } + public Builder newBuilderForType() { return new Builder(); } + public static Builder newBuilder(slowbcl.Slowbcl.Decimal prototype) { + return new Builder().mergeFrom(prototype); + } + + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder { + // Construct using slowbcl.Slowbcl.Decimal.newBuilder() + private Builder() {} + + slowbcl.Slowbcl.Decimal result = new slowbcl.Slowbcl.Decimal(); + + protected slowbcl.Slowbcl.Decimal internalGetResult() { + return result; + } + + public Builder clear() { + result = new slowbcl.Slowbcl.Decimal(); + return this; + } + + public Builder clone() { + return new Builder().mergeFrom(result); + } + + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return slowbcl.Slowbcl.Decimal.getDescriptor(); + } + + public slowbcl.Slowbcl.Decimal getDefaultInstanceForType() { + return slowbcl.Slowbcl.Decimal.getDefaultInstance(); + } + + public slowbcl.Slowbcl.Decimal build() { + if (!isInitialized()) { + throw new com.google.protobuf.UninitializedMessageException( + result); + } + return buildPartial(); + } + + private slowbcl.Slowbcl.Decimal buildParsed() + throws com.google.protobuf.InvalidProtocolBufferException { + if (!isInitialized()) { + throw new com.google.protobuf.UninitializedMessageException( + result).asInvalidProtocolBufferException(); + } + return buildPartial(); + } + + public slowbcl.Slowbcl.Decimal buildPartial() { + slowbcl.Slowbcl.Decimal returnMe = result; + result = null; + return returnMe; + } + + + // optional uint64 lo = 1; + public boolean hasLo() { + return result.hasLo(); + } + public long getLo() { + return result.getLo(); + } + public Builder setLo(long value) { + result.hasLo = true; + result.lo_ = value; + return this; + } + public Builder clearLo() { + result.hasLo = false; + result.lo_ = 0L; + return this; + } + + // optional uint32 hi = 2; + public boolean hasHi() { + return result.hasHi(); + } + public int getHi() { + return result.getHi(); + } + public Builder setHi(int value) { + result.hasHi = true; + result.hi_ = value; + return this; + } + public Builder clearHi() { + result.hasHi = false; + result.hi_ = 0; + return this; + } + + // optional uint32 signScale = 3; + public boolean hasSignScale() { + return result.hasSignScale(); + } + public int getSignScale() { + return result.getSignScale(); + } + public Builder setSignScale(int value) { + result.hasSignScale = true; + result.signScale_ = value; + return this; + } + public Builder clearSignScale() { + result.hasSignScale = false; + result.signScale_ = 0; + return this; + } + } + } + + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_slowbcl_TimeSpan_descriptor = + getDescriptor().getMessageTypes().get(0); + private static + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_slowbcl_TimeSpan_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_slowbcl_TimeSpan_descriptor, + new java.lang.String[] { "Value", "Scale", }, + slowbcl.Slowbcl.TimeSpan.class, + slowbcl.Slowbcl.TimeSpan.Builder.class); + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_slowbcl_DateTime_descriptor = + getDescriptor().getMessageTypes().get(1); + private static + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_slowbcl_DateTime_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_slowbcl_DateTime_descriptor, + new java.lang.String[] { "Value", "Scale", }, + slowbcl.Slowbcl.DateTime.class, + slowbcl.Slowbcl.DateTime.Builder.class); + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_slowbcl_Guid_descriptor = + getDescriptor().getMessageTypes().get(2); + private static + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_slowbcl_Guid_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_slowbcl_Guid_descriptor, + new java.lang.String[] { "Lo", "Hi", }, + slowbcl.Slowbcl.Guid.class, + slowbcl.Slowbcl.Guid.Builder.class); + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_slowbcl_Decimal_descriptor = + getDescriptor().getMessageTypes().get(3); + private static + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_slowbcl_Decimal_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_slowbcl_Decimal_descriptor, + new java.lang.String[] { "Lo", "Hi", "SignScale", }, + slowbcl.Slowbcl.Decimal.class, + slowbcl.Slowbcl.Decimal.Builder.class); +} diff --git a/csharp/TestBed/java/slownorthwind/Slownwind.java b/csharp/TestBed/java/slownorthwind/Slownwind.java new file mode 100644 index 00000000..23c6193b --- /dev/null +++ b/csharp/TestBed/java/slownorthwind/Slownwind.java @@ -0,0 +1,1132 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! + +package slownorthwind; + +public final class Slownwind { + private Slownwind() {} + public static com.google.protobuf.Descriptors.FileDescriptor + getDescriptor() { + return descriptor; + } + private static final com.google.protobuf.Descriptors.FileDescriptor + descriptor = buildDescriptor(); + private static + com.google.protobuf.Descriptors.FileDescriptor + buildDescriptor() { + java.lang.String descriptorData = + "\n\017slownwind.proto\022\rslownorthwind\032\rslowbc" + + "l.proto\"0\n\010Database\022$\n\006Orders\030\001 \003(\0132\024.sl" + + "ownorthwind.Order\"\216\003\n\005Order\022\017\n\007OrderID\030\001" + + " \001(\005\022\022\n\nCustomerID\030\002 \001(\t\022\022\n\nEmployeeID\030\003" + + " \001(\005\022$\n\tOrderDate\030\004 \001(\0132\021.slowbcl.DateTi" + + "me\022\'\n\014RequiredDate\030\005 \001(\0132\021.slowbcl.DateT" + + "ime\022&\n\013ShippedDate\030\006 \001(\0132\021.slowbcl.DateT" + + "ime\022\017\n\007ShipVia\030\007 \001(\005\022!\n\007Freight\030\010 \001(\0132\020." + + "slowbcl.Decimal\022\020\n\010ShipName\030\t \001(\t\022\023\n\013Shi" + + "pAddress\030\n \001(\t\022\020\n\010ShipCity\030\013 \001(\t\022\022\n\nShip" + + "Region\030\014 \001(\t\022\026\n\016ShipPostalCode\030\r \001(\t\022\023\n\013" + + "ShipCountry\030\016 \001(\t\022\'\n\005Lines\030\017 \003(\0132\030.slown" + + "orthwind.OrderLine\"x\n\tOrderLine\022\017\n\007Order" + + "ID\030\001 \001(\005\022\021\n\tProductID\030\002 \001(\005\022#\n\tUnitPrice" + + "\030\003 \001(\0132\020.slowbcl.Decimal\022\020\n\010Quantity\030\004 \001" + + "(\021\022\020\n\010Discount\030\005 \001(\002B)\302>\rSlowNorthwind\312>" + + "\026SlowNorthwindProtoFile"; + try { + return com.google.protobuf.Descriptors.FileDescriptor + .internalBuildGeneratedFileFrom(descriptorData, + new com.google.protobuf.Descriptors.FileDescriptor[] { + slowbcl.Slowbcl.getDescriptor(), + }); + } catch (Exception e) { + throw new RuntimeException( + "Failed to parse protocol buffer descriptor for " + + "\"slownwind.proto\".", e); + } + } + + public static final class Database extends + com.google.protobuf.GeneratedMessage { + // Use Database.newBuilder() to construct. + private Database() {} + + private static final Database defaultInstance = new Database(); + public static Database getDefaultInstance() { + return defaultInstance; + } + + public Database getDefaultInstanceForType() { + return defaultInstance; + } + + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return slownorthwind.Slownwind.internal_static_slownorthwind_Database_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return slownorthwind.Slownwind.internal_static_slownorthwind_Database_fieldAccessorTable; + } + + // repeated .slownorthwind.Order Orders = 1; + private java.util.List orders_ = + java.util.Collections.emptyList(); + public java.util.List getOrdersList() { + return orders_; + } + public int getOrdersCount() { return orders_.size(); } + public slownorthwind.Slownwind.Order getOrders(int index) { + return orders_.get(index); + } + + public static slownorthwind.Slownwind.Database parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return newBuilder().mergeFrom(data).buildParsed(); + } + public static slownorthwind.Slownwind.Database parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistry extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return newBuilder().mergeFrom(data, extensionRegistry) + .buildParsed(); + } + public static slownorthwind.Slownwind.Database parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return newBuilder().mergeFrom(data).buildParsed(); + } + public static slownorthwind.Slownwind.Database parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistry extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return newBuilder().mergeFrom(data, extensionRegistry) + .buildParsed(); + } + public static slownorthwind.Slownwind.Database parseFrom(java.io.InputStream input) + throws java.io.IOException { + return newBuilder().mergeFrom(input).buildParsed(); + } + public static slownorthwind.Slownwind.Database parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistry extensionRegistry) + throws java.io.IOException { + return newBuilder().mergeFrom(input, extensionRegistry) + .buildParsed(); + } + public static slownorthwind.Slownwind.Database parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return newBuilder().mergeFrom(input).buildParsed(); + } + public static slownorthwind.Slownwind.Database parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistry extensionRegistry) + throws java.io.IOException { + return newBuilder().mergeFrom(input, extensionRegistry) + .buildParsed(); + } + + public static Builder newBuilder() { return new Builder(); } + public Builder newBuilderForType() { return new Builder(); } + public static Builder newBuilder(slownorthwind.Slownwind.Database prototype) { + return new Builder().mergeFrom(prototype); + } + + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder { + // Construct using slownorthwind.Slownwind.Database.newBuilder() + private Builder() {} + + slownorthwind.Slownwind.Database result = new slownorthwind.Slownwind.Database(); + + protected slownorthwind.Slownwind.Database internalGetResult() { + return result; + } + + public Builder clear() { + result = new slownorthwind.Slownwind.Database(); + return this; + } + + public Builder clone() { + return new Builder().mergeFrom(result); + } + + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return slownorthwind.Slownwind.Database.getDescriptor(); + } + + public slownorthwind.Slownwind.Database getDefaultInstanceForType() { + return slownorthwind.Slownwind.Database.getDefaultInstance(); + } + + public slownorthwind.Slownwind.Database build() { + if (!isInitialized()) { + throw new com.google.protobuf.UninitializedMessageException( + result); + } + return buildPartial(); + } + + private slownorthwind.Slownwind.Database buildParsed() + throws com.google.protobuf.InvalidProtocolBufferException { + if (!isInitialized()) { + throw new com.google.protobuf.UninitializedMessageException( + result).asInvalidProtocolBufferException(); + } + return buildPartial(); + } + + public slownorthwind.Slownwind.Database buildPartial() { + if (result.orders_ != java.util.Collections.EMPTY_LIST) { + result.orders_ = + java.util.Collections.unmodifiableList(result.orders_); + } + slownorthwind.Slownwind.Database returnMe = result; + result = null; + return returnMe; + } + + + // repeated .slownorthwind.Order Orders = 1; + public java.util.List getOrdersList() { + return java.util.Collections.unmodifiableList(result.orders_); + } + public int getOrdersCount() { + return result.getOrdersCount(); + } + public slownorthwind.Slownwind.Order getOrders(int index) { + return result.getOrders(index); + } + public Builder setOrders(int index, slownorthwind.Slownwind.Order value) { + result.orders_.set(index, value); + return this; + } + public Builder setOrders(int index, slownorthwind.Slownwind.Order.Builder builderForValue) { + result.orders_.set(index, builderForValue.build()); + return this; + } + public Builder addOrders(slownorthwind.Slownwind.Order value) { + if (result.orders_.isEmpty()) { + result.orders_ = new java.util.ArrayList(); + } + result.orders_.add(value); + return this; + } + public Builder addOrders(slownorthwind.Slownwind.Order.Builder builderForValue) { + if (result.orders_.isEmpty()) { + result.orders_ = new java.util.ArrayList(); + } + result.orders_.add(builderForValue.build()); + return this; + } + public Builder addAllOrders( + java.lang.Iterable values) { + if (result.orders_.isEmpty()) { + result.orders_ = new java.util.ArrayList(); + } + super.addAll(values, result.orders_); + return this; + } + public Builder clearOrders() { + result.orders_ = java.util.Collections.emptyList(); + return this; + } + } + } + + public static final class Order extends + com.google.protobuf.GeneratedMessage { + // Use Order.newBuilder() to construct. + private Order() {} + + private static final Order defaultInstance = new Order(); + public static Order getDefaultInstance() { + return defaultInstance; + } + + public Order getDefaultInstanceForType() { + return defaultInstance; + } + + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return slownorthwind.Slownwind.internal_static_slownorthwind_Order_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return slownorthwind.Slownwind.internal_static_slownorthwind_Order_fieldAccessorTable; + } + + // optional int32 OrderID = 1; + private boolean hasOrderID; + private int orderID_ = 0; + public boolean hasOrderID() { return hasOrderID; } + public int getOrderID() { return orderID_; } + + // optional string CustomerID = 2; + private boolean hasCustomerID; + private java.lang.String customerID_ = ""; + public boolean hasCustomerID() { return hasCustomerID; } + public java.lang.String getCustomerID() { return customerID_; } + + // optional int32 EmployeeID = 3; + private boolean hasEmployeeID; + private int employeeID_ = 0; + public boolean hasEmployeeID() { return hasEmployeeID; } + public int getEmployeeID() { return employeeID_; } + + // optional .slowbcl.DateTime OrderDate = 4; + private boolean hasOrderDate; + private slowbcl.Slowbcl.DateTime orderDate_ = slowbcl.Slowbcl.DateTime.getDefaultInstance(); + public boolean hasOrderDate() { return hasOrderDate; } + public slowbcl.Slowbcl.DateTime getOrderDate() { return orderDate_; } + + // optional .slowbcl.DateTime RequiredDate = 5; + private boolean hasRequiredDate; + private slowbcl.Slowbcl.DateTime requiredDate_ = slowbcl.Slowbcl.DateTime.getDefaultInstance(); + public boolean hasRequiredDate() { return hasRequiredDate; } + public slowbcl.Slowbcl.DateTime getRequiredDate() { return requiredDate_; } + + // optional .slowbcl.DateTime ShippedDate = 6; + private boolean hasShippedDate; + private slowbcl.Slowbcl.DateTime shippedDate_ = slowbcl.Slowbcl.DateTime.getDefaultInstance(); + public boolean hasShippedDate() { return hasShippedDate; } + public slowbcl.Slowbcl.DateTime getShippedDate() { return shippedDate_; } + + // optional int32 ShipVia = 7; + private boolean hasShipVia; + private int shipVia_ = 0; + public boolean hasShipVia() { return hasShipVia; } + public int getShipVia() { return shipVia_; } + + // optional .slowbcl.Decimal Freight = 8; + private boolean hasFreight; + private slowbcl.Slowbcl.Decimal freight_ = slowbcl.Slowbcl.Decimal.getDefaultInstance(); + public boolean hasFreight() { return hasFreight; } + public slowbcl.Slowbcl.Decimal getFreight() { return freight_; } + + // optional string ShipName = 9; + private boolean hasShipName; + private java.lang.String shipName_ = ""; + public boolean hasShipName() { return hasShipName; } + public java.lang.String getShipName() { return shipName_; } + + // optional string ShipAddress = 10; + private boolean hasShipAddress; + private java.lang.String shipAddress_ = ""; + public boolean hasShipAddress() { return hasShipAddress; } + public java.lang.String getShipAddress() { return shipAddress_; } + + // optional string ShipCity = 11; + private boolean hasShipCity; + private java.lang.String shipCity_ = ""; + public boolean hasShipCity() { return hasShipCity; } + public java.lang.String getShipCity() { return shipCity_; } + + // optional string ShipRegion = 12; + private boolean hasShipRegion; + private java.lang.String shipRegion_ = ""; + public boolean hasShipRegion() { return hasShipRegion; } + public java.lang.String getShipRegion() { return shipRegion_; } + + // optional string ShipPostalCode = 13; + private boolean hasShipPostalCode; + private java.lang.String shipPostalCode_ = ""; + public boolean hasShipPostalCode() { return hasShipPostalCode; } + public java.lang.String getShipPostalCode() { return shipPostalCode_; } + + // optional string ShipCountry = 14; + private boolean hasShipCountry; + private java.lang.String shipCountry_ = ""; + public boolean hasShipCountry() { return hasShipCountry; } + public java.lang.String getShipCountry() { return shipCountry_; } + + // repeated .slownorthwind.OrderLine Lines = 15; + private java.util.List lines_ = + java.util.Collections.emptyList(); + public java.util.List getLinesList() { + return lines_; + } + public int getLinesCount() { return lines_.size(); } + public slownorthwind.Slownwind.OrderLine getLines(int index) { + return lines_.get(index); + } + + public static slownorthwind.Slownwind.Order parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return newBuilder().mergeFrom(data).buildParsed(); + } + public static slownorthwind.Slownwind.Order parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistry extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return newBuilder().mergeFrom(data, extensionRegistry) + .buildParsed(); + } + public static slownorthwind.Slownwind.Order parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return newBuilder().mergeFrom(data).buildParsed(); + } + public static slownorthwind.Slownwind.Order parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistry extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return newBuilder().mergeFrom(data, extensionRegistry) + .buildParsed(); + } + public static slownorthwind.Slownwind.Order parseFrom(java.io.InputStream input) + throws java.io.IOException { + return newBuilder().mergeFrom(input).buildParsed(); + } + public static slownorthwind.Slownwind.Order parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistry extensionRegistry) + throws java.io.IOException { + return newBuilder().mergeFrom(input, extensionRegistry) + .buildParsed(); + } + public static slownorthwind.Slownwind.Order parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return newBuilder().mergeFrom(input).buildParsed(); + } + public static slownorthwind.Slownwind.Order parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistry extensionRegistry) + throws java.io.IOException { + return newBuilder().mergeFrom(input, extensionRegistry) + .buildParsed(); + } + + public static Builder newBuilder() { return new Builder(); } + public Builder newBuilderForType() { return new Builder(); } + public static Builder newBuilder(slownorthwind.Slownwind.Order prototype) { + return new Builder().mergeFrom(prototype); + } + + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder { + // Construct using slownorthwind.Slownwind.Order.newBuilder() + private Builder() {} + + slownorthwind.Slownwind.Order result = new slownorthwind.Slownwind.Order(); + + protected slownorthwind.Slownwind.Order internalGetResult() { + return result; + } + + public Builder clear() { + result = new slownorthwind.Slownwind.Order(); + return this; + } + + public Builder clone() { + return new Builder().mergeFrom(result); + } + + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return slownorthwind.Slownwind.Order.getDescriptor(); + } + + public slownorthwind.Slownwind.Order getDefaultInstanceForType() { + return slownorthwind.Slownwind.Order.getDefaultInstance(); + } + + public slownorthwind.Slownwind.Order build() { + if (!isInitialized()) { + throw new com.google.protobuf.UninitializedMessageException( + result); + } + return buildPartial(); + } + + private slownorthwind.Slownwind.Order buildParsed() + throws com.google.protobuf.InvalidProtocolBufferException { + if (!isInitialized()) { + throw new com.google.protobuf.UninitializedMessageException( + result).asInvalidProtocolBufferException(); + } + return buildPartial(); + } + + public slownorthwind.Slownwind.Order buildPartial() { + if (result.lines_ != java.util.Collections.EMPTY_LIST) { + result.lines_ = + java.util.Collections.unmodifiableList(result.lines_); + } + slownorthwind.Slownwind.Order returnMe = result; + result = null; + return returnMe; + } + + + // optional int32 OrderID = 1; + public boolean hasOrderID() { + return result.hasOrderID(); + } + public int getOrderID() { + return result.getOrderID(); + } + public Builder setOrderID(int value) { + result.hasOrderID = true; + result.orderID_ = value; + return this; + } + public Builder clearOrderID() { + result.hasOrderID = false; + result.orderID_ = 0; + return this; + } + + // optional string CustomerID = 2; + public boolean hasCustomerID() { + return result.hasCustomerID(); + } + public java.lang.String getCustomerID() { + return result.getCustomerID(); + } + public Builder setCustomerID(java.lang.String value) { + result.hasCustomerID = true; + result.customerID_ = value; + return this; + } + public Builder clearCustomerID() { + result.hasCustomerID = false; + result.customerID_ = ""; + return this; + } + + // optional int32 EmployeeID = 3; + public boolean hasEmployeeID() { + return result.hasEmployeeID(); + } + public int getEmployeeID() { + return result.getEmployeeID(); + } + public Builder setEmployeeID(int value) { + result.hasEmployeeID = true; + result.employeeID_ = value; + return this; + } + public Builder clearEmployeeID() { + result.hasEmployeeID = false; + result.employeeID_ = 0; + return this; + } + + // optional .slowbcl.DateTime OrderDate = 4; + public boolean hasOrderDate() { + return result.hasOrderDate(); + } + public slowbcl.Slowbcl.DateTime getOrderDate() { + return result.getOrderDate(); + } + public Builder setOrderDate(slowbcl.Slowbcl.DateTime value) { + result.hasOrderDate = true; + result.orderDate_ = value; + return this; + } + public Builder setOrderDate(slowbcl.Slowbcl.DateTime.Builder builderForValue) { + result.hasOrderDate = true; + result.orderDate_ = builderForValue.build(); + return this; + } + public Builder mergeOrderDate(slowbcl.Slowbcl.DateTime value) { + if (result.hasOrderDate() && + result.orderDate_ != slowbcl.Slowbcl.DateTime.getDefaultInstance()) { + result.orderDate_ = + slowbcl.Slowbcl.DateTime.newBuilder(result.orderDate_).mergeFrom(value).buildPartial(); + } else { + result.orderDate_ = value; + } + result.hasOrderDate = true; + return this; + } + public Builder clearOrderDate() { + result.hasOrderDate = false; + result.orderDate_ = slowbcl.Slowbcl.DateTime.getDefaultInstance(); + return this; + } + + // optional .slowbcl.DateTime RequiredDate = 5; + public boolean hasRequiredDate() { + return result.hasRequiredDate(); + } + public slowbcl.Slowbcl.DateTime getRequiredDate() { + return result.getRequiredDate(); + } + public Builder setRequiredDate(slowbcl.Slowbcl.DateTime value) { + result.hasRequiredDate = true; + result.requiredDate_ = value; + return this; + } + public Builder setRequiredDate(slowbcl.Slowbcl.DateTime.Builder builderForValue) { + result.hasRequiredDate = true; + result.requiredDate_ = builderForValue.build(); + return this; + } + public Builder mergeRequiredDate(slowbcl.Slowbcl.DateTime value) { + if (result.hasRequiredDate() && + result.requiredDate_ != slowbcl.Slowbcl.DateTime.getDefaultInstance()) { + result.requiredDate_ = + slowbcl.Slowbcl.DateTime.newBuilder(result.requiredDate_).mergeFrom(value).buildPartial(); + } else { + result.requiredDate_ = value; + } + result.hasRequiredDate = true; + return this; + } + public Builder clearRequiredDate() { + result.hasRequiredDate = false; + result.requiredDate_ = slowbcl.Slowbcl.DateTime.getDefaultInstance(); + return this; + } + + // optional .slowbcl.DateTime ShippedDate = 6; + public boolean hasShippedDate() { + return result.hasShippedDate(); + } + public slowbcl.Slowbcl.DateTime getShippedDate() { + return result.getShippedDate(); + } + public Builder setShippedDate(slowbcl.Slowbcl.DateTime value) { + result.hasShippedDate = true; + result.shippedDate_ = value; + return this; + } + public Builder setShippedDate(slowbcl.Slowbcl.DateTime.Builder builderForValue) { + result.hasShippedDate = true; + result.shippedDate_ = builderForValue.build(); + return this; + } + public Builder mergeShippedDate(slowbcl.Slowbcl.DateTime value) { + if (result.hasShippedDate() && + result.shippedDate_ != slowbcl.Slowbcl.DateTime.getDefaultInstance()) { + result.shippedDate_ = + slowbcl.Slowbcl.DateTime.newBuilder(result.shippedDate_).mergeFrom(value).buildPartial(); + } else { + result.shippedDate_ = value; + } + result.hasShippedDate = true; + return this; + } + public Builder clearShippedDate() { + result.hasShippedDate = false; + result.shippedDate_ = slowbcl.Slowbcl.DateTime.getDefaultInstance(); + return this; + } + + // optional int32 ShipVia = 7; + public boolean hasShipVia() { + return result.hasShipVia(); + } + public int getShipVia() { + return result.getShipVia(); + } + public Builder setShipVia(int value) { + result.hasShipVia = true; + result.shipVia_ = value; + return this; + } + public Builder clearShipVia() { + result.hasShipVia = false; + result.shipVia_ = 0; + return this; + } + + // optional .slowbcl.Decimal Freight = 8; + public boolean hasFreight() { + return result.hasFreight(); + } + public slowbcl.Slowbcl.Decimal getFreight() { + return result.getFreight(); + } + public Builder setFreight(slowbcl.Slowbcl.Decimal value) { + result.hasFreight = true; + result.freight_ = value; + return this; + } + public Builder setFreight(slowbcl.Slowbcl.Decimal.Builder builderForValue) { + result.hasFreight = true; + result.freight_ = builderForValue.build(); + return this; + } + public Builder mergeFreight(slowbcl.Slowbcl.Decimal value) { + if (result.hasFreight() && + result.freight_ != slowbcl.Slowbcl.Decimal.getDefaultInstance()) { + result.freight_ = + slowbcl.Slowbcl.Decimal.newBuilder(result.freight_).mergeFrom(value).buildPartial(); + } else { + result.freight_ = value; + } + result.hasFreight = true; + return this; + } + public Builder clearFreight() { + result.hasFreight = false; + result.freight_ = slowbcl.Slowbcl.Decimal.getDefaultInstance(); + return this; + } + + // optional string ShipName = 9; + public boolean hasShipName() { + return result.hasShipName(); + } + public java.lang.String getShipName() { + return result.getShipName(); + } + public Builder setShipName(java.lang.String value) { + result.hasShipName = true; + result.shipName_ = value; + return this; + } + public Builder clearShipName() { + result.hasShipName = false; + result.shipName_ = ""; + return this; + } + + // optional string ShipAddress = 10; + public boolean hasShipAddress() { + return result.hasShipAddress(); + } + public java.lang.String getShipAddress() { + return result.getShipAddress(); + } + public Builder setShipAddress(java.lang.String value) { + result.hasShipAddress = true; + result.shipAddress_ = value; + return this; + } + public Builder clearShipAddress() { + result.hasShipAddress = false; + result.shipAddress_ = ""; + return this; + } + + // optional string ShipCity = 11; + public boolean hasShipCity() { + return result.hasShipCity(); + } + public java.lang.String getShipCity() { + return result.getShipCity(); + } + public Builder setShipCity(java.lang.String value) { + result.hasShipCity = true; + result.shipCity_ = value; + return this; + } + public Builder clearShipCity() { + result.hasShipCity = false; + result.shipCity_ = ""; + return this; + } + + // optional string ShipRegion = 12; + public boolean hasShipRegion() { + return result.hasShipRegion(); + } + public java.lang.String getShipRegion() { + return result.getShipRegion(); + } + public Builder setShipRegion(java.lang.String value) { + result.hasShipRegion = true; + result.shipRegion_ = value; + return this; + } + public Builder clearShipRegion() { + result.hasShipRegion = false; + result.shipRegion_ = ""; + return this; + } + + // optional string ShipPostalCode = 13; + public boolean hasShipPostalCode() { + return result.hasShipPostalCode(); + } + public java.lang.String getShipPostalCode() { + return result.getShipPostalCode(); + } + public Builder setShipPostalCode(java.lang.String value) { + result.hasShipPostalCode = true; + result.shipPostalCode_ = value; + return this; + } + public Builder clearShipPostalCode() { + result.hasShipPostalCode = false; + result.shipPostalCode_ = ""; + return this; + } + + // optional string ShipCountry = 14; + public boolean hasShipCountry() { + return result.hasShipCountry(); + } + public java.lang.String getShipCountry() { + return result.getShipCountry(); + } + public Builder setShipCountry(java.lang.String value) { + result.hasShipCountry = true; + result.shipCountry_ = value; + return this; + } + public Builder clearShipCountry() { + result.hasShipCountry = false; + result.shipCountry_ = ""; + return this; + } + + // repeated .slownorthwind.OrderLine Lines = 15; + public java.util.List getLinesList() { + return java.util.Collections.unmodifiableList(result.lines_); + } + public int getLinesCount() { + return result.getLinesCount(); + } + public slownorthwind.Slownwind.OrderLine getLines(int index) { + return result.getLines(index); + } + public Builder setLines(int index, slownorthwind.Slownwind.OrderLine value) { + result.lines_.set(index, value); + return this; + } + public Builder setLines(int index, slownorthwind.Slownwind.OrderLine.Builder builderForValue) { + result.lines_.set(index, builderForValue.build()); + return this; + } + public Builder addLines(slownorthwind.Slownwind.OrderLine value) { + if (result.lines_.isEmpty()) { + result.lines_ = new java.util.ArrayList(); + } + result.lines_.add(value); + return this; + } + public Builder addLines(slownorthwind.Slownwind.OrderLine.Builder builderForValue) { + if (result.lines_.isEmpty()) { + result.lines_ = new java.util.ArrayList(); + } + result.lines_.add(builderForValue.build()); + return this; + } + public Builder addAllLines( + java.lang.Iterable values) { + if (result.lines_.isEmpty()) { + result.lines_ = new java.util.ArrayList(); + } + super.addAll(values, result.lines_); + return this; + } + public Builder clearLines() { + result.lines_ = java.util.Collections.emptyList(); + return this; + } + } + } + + public static final class OrderLine extends + com.google.protobuf.GeneratedMessage { + // Use OrderLine.newBuilder() to construct. + private OrderLine() {} + + private static final OrderLine defaultInstance = new OrderLine(); + public static OrderLine getDefaultInstance() { + return defaultInstance; + } + + public OrderLine getDefaultInstanceForType() { + return defaultInstance; + } + + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return slownorthwind.Slownwind.internal_static_slownorthwind_OrderLine_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return slownorthwind.Slownwind.internal_static_slownorthwind_OrderLine_fieldAccessorTable; + } + + // optional int32 OrderID = 1; + private boolean hasOrderID; + private int orderID_ = 0; + public boolean hasOrderID() { return hasOrderID; } + public int getOrderID() { return orderID_; } + + // optional int32 ProductID = 2; + private boolean hasProductID; + private int productID_ = 0; + public boolean hasProductID() { return hasProductID; } + public int getProductID() { return productID_; } + + // optional .slowbcl.Decimal UnitPrice = 3; + private boolean hasUnitPrice; + private slowbcl.Slowbcl.Decimal unitPrice_ = slowbcl.Slowbcl.Decimal.getDefaultInstance(); + public boolean hasUnitPrice() { return hasUnitPrice; } + public slowbcl.Slowbcl.Decimal getUnitPrice() { return unitPrice_; } + + // optional sint32 Quantity = 4; + private boolean hasQuantity; + private int quantity_ = 0; + public boolean hasQuantity() { return hasQuantity; } + public int getQuantity() { return quantity_; } + + // optional float Discount = 5; + private boolean hasDiscount; + private float discount_ = 0F; + public boolean hasDiscount() { return hasDiscount; } + public float getDiscount() { return discount_; } + + public static slownorthwind.Slownwind.OrderLine parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return newBuilder().mergeFrom(data).buildParsed(); + } + public static slownorthwind.Slownwind.OrderLine parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistry extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return newBuilder().mergeFrom(data, extensionRegistry) + .buildParsed(); + } + public static slownorthwind.Slownwind.OrderLine parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return newBuilder().mergeFrom(data).buildParsed(); + } + public static slownorthwind.Slownwind.OrderLine parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistry extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return newBuilder().mergeFrom(data, extensionRegistry) + .buildParsed(); + } + public static slownorthwind.Slownwind.OrderLine parseFrom(java.io.InputStream input) + throws java.io.IOException { + return newBuilder().mergeFrom(input).buildParsed(); + } + public static slownorthwind.Slownwind.OrderLine parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistry extensionRegistry) + throws java.io.IOException { + return newBuilder().mergeFrom(input, extensionRegistry) + .buildParsed(); + } + public static slownorthwind.Slownwind.OrderLine parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return newBuilder().mergeFrom(input).buildParsed(); + } + public static slownorthwind.Slownwind.OrderLine parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistry extensionRegistry) + throws java.io.IOException { + return newBuilder().mergeFrom(input, extensionRegistry) + .buildParsed(); + } + + public static Builder newBuilder() { return new Builder(); } + public Builder newBuilderForType() { return new Builder(); } + public static Builder newBuilder(slownorthwind.Slownwind.OrderLine prototype) { + return new Builder().mergeFrom(prototype); + } + + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder { + // Construct using slownorthwind.Slownwind.OrderLine.newBuilder() + private Builder() {} + + slownorthwind.Slownwind.OrderLine result = new slownorthwind.Slownwind.OrderLine(); + + protected slownorthwind.Slownwind.OrderLine internalGetResult() { + return result; + } + + public Builder clear() { + result = new slownorthwind.Slownwind.OrderLine(); + return this; + } + + public Builder clone() { + return new Builder().mergeFrom(result); + } + + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return slownorthwind.Slownwind.OrderLine.getDescriptor(); + } + + public slownorthwind.Slownwind.OrderLine getDefaultInstanceForType() { + return slownorthwind.Slownwind.OrderLine.getDefaultInstance(); + } + + public slownorthwind.Slownwind.OrderLine build() { + if (!isInitialized()) { + throw new com.google.protobuf.UninitializedMessageException( + result); + } + return buildPartial(); + } + + private slownorthwind.Slownwind.OrderLine buildParsed() + throws com.google.protobuf.InvalidProtocolBufferException { + if (!isInitialized()) { + throw new com.google.protobuf.UninitializedMessageException( + result).asInvalidProtocolBufferException(); + } + return buildPartial(); + } + + public slownorthwind.Slownwind.OrderLine buildPartial() { + slownorthwind.Slownwind.OrderLine returnMe = result; + result = null; + return returnMe; + } + + + // optional int32 OrderID = 1; + public boolean hasOrderID() { + return result.hasOrderID(); + } + public int getOrderID() { + return result.getOrderID(); + } + public Builder setOrderID(int value) { + result.hasOrderID = true; + result.orderID_ = value; + return this; + } + public Builder clearOrderID() { + result.hasOrderID = false; + result.orderID_ = 0; + return this; + } + + // optional int32 ProductID = 2; + public boolean hasProductID() { + return result.hasProductID(); + } + public int getProductID() { + return result.getProductID(); + } + public Builder setProductID(int value) { + result.hasProductID = true; + result.productID_ = value; + return this; + } + public Builder clearProductID() { + result.hasProductID = false; + result.productID_ = 0; + return this; + } + + // optional .slowbcl.Decimal UnitPrice = 3; + public boolean hasUnitPrice() { + return result.hasUnitPrice(); + } + public slowbcl.Slowbcl.Decimal getUnitPrice() { + return result.getUnitPrice(); + } + public Builder setUnitPrice(slowbcl.Slowbcl.Decimal value) { + result.hasUnitPrice = true; + result.unitPrice_ = value; + return this; + } + public Builder setUnitPrice(slowbcl.Slowbcl.Decimal.Builder builderForValue) { + result.hasUnitPrice = true; + result.unitPrice_ = builderForValue.build(); + return this; + } + public Builder mergeUnitPrice(slowbcl.Slowbcl.Decimal value) { + if (result.hasUnitPrice() && + result.unitPrice_ != slowbcl.Slowbcl.Decimal.getDefaultInstance()) { + result.unitPrice_ = + slowbcl.Slowbcl.Decimal.newBuilder(result.unitPrice_).mergeFrom(value).buildPartial(); + } else { + result.unitPrice_ = value; + } + result.hasUnitPrice = true; + return this; + } + public Builder clearUnitPrice() { + result.hasUnitPrice = false; + result.unitPrice_ = slowbcl.Slowbcl.Decimal.getDefaultInstance(); + return this; + } + + // optional sint32 Quantity = 4; + public boolean hasQuantity() { + return result.hasQuantity(); + } + public int getQuantity() { + return result.getQuantity(); + } + public Builder setQuantity(int value) { + result.hasQuantity = true; + result.quantity_ = value; + return this; + } + public Builder clearQuantity() { + result.hasQuantity = false; + result.quantity_ = 0; + return this; + } + + // optional float Discount = 5; + public boolean hasDiscount() { + return result.hasDiscount(); + } + public float getDiscount() { + return result.getDiscount(); + } + public Builder setDiscount(float value) { + result.hasDiscount = true; + result.discount_ = value; + return this; + } + public Builder clearDiscount() { + result.hasDiscount = false; + result.discount_ = 0F; + return this; + } + } + } + + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_slownorthwind_Database_descriptor = + getDescriptor().getMessageTypes().get(0); + private static + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_slownorthwind_Database_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_slownorthwind_Database_descriptor, + new java.lang.String[] { "Orders", }, + slownorthwind.Slownwind.Database.class, + slownorthwind.Slownwind.Database.Builder.class); + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_slownorthwind_Order_descriptor = + getDescriptor().getMessageTypes().get(1); + private static + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_slownorthwind_Order_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_slownorthwind_Order_descriptor, + new java.lang.String[] { "OrderID", "CustomerID", "EmployeeID", "OrderDate", "RequiredDate", "ShippedDate", "ShipVia", "Freight", "ShipName", "ShipAddress", "ShipCity", "ShipRegion", "ShipPostalCode", "ShipCountry", "Lines", }, + slownorthwind.Slownwind.Order.class, + slownorthwind.Slownwind.Order.Builder.class); + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_slownorthwind_OrderLine_descriptor = + getDescriptor().getMessageTypes().get(2); + private static + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_slownorthwind_OrderLine_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_slownorthwind_OrderLine_descriptor, + new java.lang.String[] { "OrderID", "ProductID", "UnitPrice", "Quantity", "Discount", }, + slownorthwind.Slownwind.OrderLine.class, + slownorthwind.Slownwind.OrderLine.Builder.class); +} diff --git a/csharp/TestBed/nwind.proto b/csharp/TestBed/nwind.proto new file mode 100644 index 00000000..3b6eebb1 --- /dev/null +++ b/csharp/TestBed/nwind.proto @@ -0,0 +1,38 @@ +package northwind; + +option csharp_namespace = "Northwind"; +option csharp_file_classname = "NorthwindProtoFile"; + +option optimize_for = SPEED; + +import "bcl.proto"; + +message Database { + repeated Order Orders = 1; +} + +message Order { + optional int32 OrderID = 1; + optional string CustomerID = 2; + optional int32 EmployeeID = 3; + optional bcl.DateTime OrderDate = 4; + optional bcl.DateTime RequiredDate = 5; + optional bcl.DateTime ShippedDate = 6; + optional int32 ShipVia = 7; + optional bcl.Decimal Freight = 8; + optional string ShipName = 9; + optional string ShipAddress = 10; + optional string ShipCity = 11; + optional string ShipRegion = 12; + optional string ShipPostalCode = 13; + optional string ShipCountry = 14; + repeated OrderLine Lines = 15; +} + +message OrderLine { + optional int32 OrderID = 1; + optional int32 ProductID = 2; + optional bcl.Decimal UnitPrice = 3; + optional sint32 Quantity = 4; + optional float Discount = 5; +} diff --git a/csharp/TestBed/nwind.proto.bin b/csharp/TestBed/nwind.proto.bin new file mode 100644 index 00000000..b7484d26 Binary files /dev/null and b/csharp/TestBed/nwind.proto.bin differ diff --git a/csharp/TestBed/obj/Debug/TestBed.csproj.FileListAbsolute.txt b/csharp/TestBed/obj/Debug/TestBed.csproj.FileListAbsolute.txt new file mode 100644 index 00000000..fc63afa9 --- /dev/null +++ b/csharp/TestBed/obj/Debug/TestBed.csproj.FileListAbsolute.txt @@ -0,0 +1,7 @@ +C:\Users\Jon\Documents\Visual Studio 2008\Projects\ProtocolBuffers\csharp\TestBed\bin\Debug\TestBed.exe +C:\Users\Jon\Documents\Visual Studio 2008\Projects\ProtocolBuffers\csharp\TestBed\bin\Debug\TestBed.pdb +C:\Users\Jon\Documents\Visual Studio 2008\Projects\ProtocolBuffers\csharp\TestBed\bin\Debug\Google.ProtocolBuffers.dll +C:\Users\Jon\Documents\Visual Studio 2008\Projects\ProtocolBuffers\csharp\TestBed\bin\Debug\Google.ProtocolBuffers.pdb +C:\Users\Jon\Documents\Visual Studio 2008\Projects\ProtocolBuffers\csharp\TestBed\obj\Debug\ResolveAssemblyReference.cache +C:\Users\Jon\Documents\Visual Studio 2008\Projects\ProtocolBuffers\csharp\TestBed\obj\Debug\TestBed.exe +C:\Users\Jon\Documents\Visual Studio 2008\Projects\ProtocolBuffers\csharp\TestBed\obj\Debug\TestBed.pdb diff --git a/csharp/TestBed/obj/Debug/TestBed.exe b/csharp/TestBed/obj/Debug/TestBed.exe new file mode 100644 index 00000000..4083f8ec Binary files /dev/null and b/csharp/TestBed/obj/Debug/TestBed.exe differ diff --git a/csharp/TestBed/obj/Debug/TestBed.pdb b/csharp/TestBed/obj/Debug/TestBed.pdb new file mode 100644 index 00000000..3cb3ea3e Binary files /dev/null and b/csharp/TestBed/obj/Debug/TestBed.pdb differ diff --git a/csharp/TestBed/obj/Release/TestBed.csproj.FileListAbsolute.txt b/csharp/TestBed/obj/Release/TestBed.csproj.FileListAbsolute.txt new file mode 100644 index 00000000..f6536aa3 --- /dev/null +++ b/csharp/TestBed/obj/Release/TestBed.csproj.FileListAbsolute.txt @@ -0,0 +1,7 @@ +C:\Users\Jon\Documents\Visual Studio 2008\Projects\ProtocolBuffers\csharp\TestBed\bin\Release\TestBed.exe +C:\Users\Jon\Documents\Visual Studio 2008\Projects\ProtocolBuffers\csharp\TestBed\bin\Release\TestBed.pdb +C:\Users\Jon\Documents\Visual Studio 2008\Projects\ProtocolBuffers\csharp\TestBed\bin\Release\Google.ProtocolBuffers.dll +C:\Users\Jon\Documents\Visual Studio 2008\Projects\ProtocolBuffers\csharp\TestBed\bin\Release\Google.ProtocolBuffers.pdb +C:\Users\Jon\Documents\Visual Studio 2008\Projects\ProtocolBuffers\csharp\TestBed\obj\Release\ResolveAssemblyReference.cache +C:\Users\Jon\Documents\Visual Studio 2008\Projects\ProtocolBuffers\csharp\TestBed\obj\Release\TestBed.exe +C:\Users\Jon\Documents\Visual Studio 2008\Projects\ProtocolBuffers\csharp\TestBed\obj\Release\TestBed.pdb diff --git a/csharp/TestBed/obj/Release/TestBed.exe b/csharp/TestBed/obj/Release/TestBed.exe new file mode 100644 index 00000000..425a342d Binary files /dev/null and b/csharp/TestBed/obj/Release/TestBed.exe differ diff --git a/csharp/TestBed/obj/Release/TestBed.pdb b/csharp/TestBed/obj/Release/TestBed.pdb new file mode 100644 index 00000000..2c89c8fa Binary files /dev/null and b/csharp/TestBed/obj/Release/TestBed.pdb differ diff --git a/csharp/TestBed/output.txt b/csharp/TestBed/output.txt new file mode 100644 index 00000000..b3e58d90 --- /dev/null +++ b/csharp/TestBed/output.txt @@ -0,0 +1,831 @@ +1: "\b\210P\022\005VINET\030\005\"\004\b\242\227\001*\004\b\332\227\0012\004\b\272\227\0018\003B\006\b\330\341\023\030\bJ\031Vins et alcools ChevalierR\02259 rue de l\'AbbayeZ\005Reimsj\00551100r\a*Francez\017\b\210P\020\v\032\006\b\340\305\b\030\b \030z\017\b\210P\020*\032\006\b\320\375\005\030\b \024z\017\b\210P\020H\032\006\b\340\236\025\030\b \n" +1: "\b\211P\022\005TOMSP\030\006\"\004\b\244\227\001*\004\b\370\227\0012\004\b\256\227\0018\001B\006\b\204\213\a\030\bJ\023Toms Spezialit\303\244tenR\rLuisenstr. 48Z\bM\303\274nsterj\00544087r\aGermanyz\017\b\211P\020\016\032\006\b\220\255\v\030\b \022z\017\b\211P\0203\032\006\b\300\360\031\030\b P" +1: "\b\212P\022\005HANAR\030\004\"\004\b\252\227\001*\004\b\342\227\0012\004\b\262\227\0018\002B\006\b\374\226(\030\bJ\rHanari CarnesR\020Rua do Pa\303\247o, 67Z\016Rio de Janeirob\002RJj\t05454-876r\006Brazilz\017\b\212P\020)\032\006\b\310\331\004\030\b \024z\024\b\212P\0203\032\006\b\300\360\031\030\b F-\232\231\031>z\024\b\212P\020A\032\006\b\300\240\n\030\b \036-\232\231\031>" +1: "\b\213P\022\005VICTE\030\003\"\004\b\252\227\001*\004\b\342\227\0012\004\b\270\227\0018\001B\006\b\330\235\031\030\bJ\024Victuailles en stockR\0222, rue du CommerceZ\004Lyonj\00569004r\006Francez\024\b\213P\020\026\032\006\b\300\240\n\030\b \f-\315\314L=z\024\b\213P\0209\032\006\b\340\302\t\030\b \036-\315\314L=z\017\b\213P\020A\032\006\b\300\240\n\030\b (" +1: "\b\214P\022\005SUPRD\030\004\"\004\b\254\227\001*\004\b\344\227\0012\004\b\260\227\0018\002B\006\b\350\247\037\030\bJ\022Supr\303\252mes d\303\251licesR\024Boulevard Tirou, 255Z\tCharleroij\006B-6000r\aBelgiumz\024\b\214P\020\024\032\006\b\300\306\'\030\b P-\315\314L=z\024\b\214P\020!\032\006\b\240\234\001\030\b 2-\315\314L=z\017\b\214P\020<\032\006\b\200\315\020\030\b P" +1: "\b\215P\022\005HANAR\030\003\"\004\b\256\227\001*\004\b\312\227\0012\004\b\272\227\0018\002B\006\b\304\300#\030\bJ\rHanari CarnesR\020Rua do Pa\303\247o, 67Z\016Rio de Janeirob\002RJj\t05454-876r\006Brazilz\017\b\215P\020\037\032\006\b\240\215\006\030\b (z\017\b\215P\020\'\032\006\b\200\345\b\030\b Tz\017\b\215P\0201\032\006\b\200\342\t\030\b P" +1: "\b\216P\022\005CHOPS\030\005\"\004\b\260\227\001*\004\b\350\227\0012\004\b\310\227\0018\002B\006\b\250\203\016\030\bJ\021Chop-suey ChineseR\fHauptstr. 31Z\004Bernj\0043012r\vSwitzerlandz\024\b\216P\020\030\032\006\b\240\231\002\030\b \036-\232\231\031>z\024\b\216P\0207\032\006\b\200\334\v\030\b *-\232\231\031>z\017\b\216P\020J\032\006\b\200\361\004\030\b *" +1: "\b\217P\022\005RICSU\030\t\"\004\b\262\227\001*\004\b\352\227\0012\004\b\270\227\0018\003B\006\b\244\304Z\030\bJ\022Richter SupermarktR\vStarenweg 5Z\aGen\303\250vej\0041204r\vSwitzerlandz\017\b\217P\020\002\032\006\b\300\243\t\030\b (z\017\b\217P\020\020\032\006\b\370\275\b\030\b Fz\017\b\217P\020$\032\006\b\300\243\t\030\b 2z\017\b\217P\020;\032\006\b\300\355\032\030\b <" +1: "\b\220P\022\005WELLI\030\003\"\004\b\270\227\001*\004\b\360\227\0012\004\b\274\227\0018\002B\006\b\264\303\b\030\bJ\026Wellington ImportadoraR\022Rua do Mercado, 12Z\aResendeb\002SPj\t08737-363r\006Brazilz\017\b\220P\0205\032\006\b\360\376\017\030\b \036z\017\b\220P\020M\032\006\b\300\254\006\030\b \030" +1: "\b\221P\022\005HILAA\030\004\"\004\b\272\227\001*\004\b\362\227\0012\004\b\306\227\0018\003B\006\b\234\3771\030\bJ\020HILARION-AbastosR*Carrera 22 con Ave. Carlos Soublette #8-35Z\016San Crist\303\263balb\bT\303\241chiraj\0045022r\tVenezuelaz\017\b\221P\020\033\032\006\b\230\266\025\030\b 2z\017\b\221P\020\'\032\006\b\200\345\b\030\b \fz\017\b\221P\020M\032\006\b\300\254\006\030\b \036" +1: "\b\222P\022\005ERNSH\030\001\"\004\b\274\227\001*\004\b\364\227\0012\004\b\310\227\0018\001B\006\b\254\341U\030\bJ\fErnst HandelR\fKirchgasse 6Z\004Grazj\0048010r\aAustriaz\024\b\222P\020\002\032\006\b\300\243\t\030\b d-\315\314L>z\025\b\222P\020\005\032\006\b\220\260\n\030\b \202\001-\315\314L>z\024\b\222P\020 \032\006\b\200\320\017\030\b \f-\315\314L>" +1: "\b\223P\022\005CENTC\030\004\"\004\b\276\227\001*\004\b\366\227\0012\004\b\314\227\0018\003B\006\b\364\375\001\030\bJ\032Centro comercial MoctezumaR\027Sierras de Granada 9993Z\fM\303\251xico D.F.j\00505022r\006Mexicoz\017\b\223P\020\025\032\006\b\200\361\004\030\b \024z\017\b\223P\020%\032\006\b\200\331\f\030\b \002" +1: "\b\224P\022\005OTTIK\030\004\"\004\b\300\227\001*\004\b\370\227\0012\004\b\324\227\0018\001B\006\b\364\317!\030\bJ\023Ottilies K\303\244seladenR\022Mehrheimerstr. 369Z\005K\303\266lnj\00550739r\aGermanyz\024\b\224P\020)\032\006\b\310\331\004\030\b -\000\000\200>z\017\b\224P\0209\032\006\b\340\302\t\030\b dz\024\b\224P\020>\032\006\b\220\206\030\030\b \036-\000\000\200>z\024\b\224P\020F\032\006\b\300\251\a\030\b *-\000\000\200>" +1: "\b\225P\022\005QUEDE\030\004\"\004\b\300\227\001*\004\b\370\227\0012\004\b\326\227\0018\002B\006\b\244\356\001\030\bJ\fQue Del\303\255ciaR\027Rua da Panificadora, 12Z\016Rio de Janeirob\002RJj\t02389-673r\006Brazilz\017\b\225P\020\025\032\006\b\200\361\004\030\b (z\017\b\225P\020#\032\006\b\200\345\b\030\b (" +1: "\b\226P\022\005RATTC\030\b\"\004\b\306\227\001*\004\b\376\227\0012\004\b\314\227\0018\003B\006\b\324\274\035\030\bJ\032Rattlesnake Canyon GroceryR\0172817 Milton Dr.Z\vAlbuquerqueb\002NMj\00587110r\003USAz\024\b\226P\020\005\032\006\b\220\260\n\030\b \030-\315\314L>z\017\b\226P\020\a\032\006\b\200\323\016\030\b \036z\017\b\226P\0208\032\006\b\200\307\022\030\b \004" +1: "\b\227P\022\005ERNSH\030\t\"\004\b\310\227\001*\004\b\200\230\0012\004\b\330\227\0018\003B\006\b\370\222Y\030\bJ\fErnst HandelR\fKirchgasse 6Z\004Grazj\0048010r\aAustriaz\024\b\227P\020\020\032\006\b\370\275\b\030\b x-\000\000\200>z\017\b\227P\020\030\032\006\b\240\231\002\030\b 8z\024\b\227P\020\036\032\006\b\230\321\f\030\b x-\000\000\200>z\024\b\227P\020J\032\006\b\200\361\004\030\b H-\000\000\200>" +1: "\b\230P\022\005FOLKO\030\006\"\004\b\312\227\001*\004\b\202\230\0012\004\b\206\230\0018\003B\006\b\334\236\002\030\bJ\017Folk och f\303\244 HBR\r\303\205kergatan 24Z\aBr\303\244ckej\bS-844 67r\006Swedenz\017\b\230P\020\002\032\006\b\300\243\t\030\b Fz\024\b\230P\020)\032\006\b\310\331\004\030\b 2-\232\231\031>" +1: "\b\231P\022\005BLONP\030\002\"\004\b\314\227\001*\004\b\204\230\0012\004\b\360\227\0018\001B\006\b\340\336!\030\bJ\025Blondel p\303\250re et filsR\02124, place Kl\303\251berZ\nStrasbourgj\00567000r\006Francez\017\b\231P\020\021\032\006\b\300\205\023\030\b z\024\b\233P\020L\032\006\b\200\345\b\030\b \036-\232\231\031>" +1: "\b\234P\022\005GROSR\030\b\"\004\b\326\227\001*\004\b\216\230\0012\004\b\334\227\0018\003B\006\b\364\272(\030\bJ\024GROSELLA-RestauranteR\0325\302\252 Ave. Los Palos GrandesZ\aCaracasb\002DFj\0041081r\tVenezuelaz\017\b\234P\020\035\032\006\b\260\266<\030\b \024z\017\b\234P\020H\032\006\b\360\373\020\030\b \b" +1: "\b\235P\022\005WHITC\030\005\"\004\b\330\227\001*\004\b\364\227\0012\004\b\352\227\0018\001B\006\b\240\344\002\030\bJ\024White Clover MarketsR\0231029 - 12th Ave. S.Z\aSeattleb\002WAj\00598124r\003USAz\024\b\235P\020!\032\006\b\240\234\001\030\b x-\315\314L=z\024\b\235P\020H\032\006\b\360\373\020\030\b (-\315\314L=" +1: "\b\236P\022\005WARTH\030\001\"\004\b\332\227\001*\004\b\222\230\0012\004\b\334\227\0018\001B\006\b\230\253S\030\bJ\016Wartian HerkkuR\vTorikatu 38Z\004Ouluj\00590110r\aFinlandz\017\b\236P\020$\032\006\b\300\243\t\030\b \032\006\b\220\206\030\030\b \030" +1: "\b\246P\022\005BERGS\030\b\"\004\b\360\227\001*\004\b\250\230\0012\004\b\370\227\0018\002B\006\b\264\3118\030\bJ\023Berglunds snabbk\303\266pR\020Berguvsv\303\244gen 8Z\006Lule\303\245j\bS-958 22r\006Swedenz\017\b\246P\020,\032\006\b\370\272\t\030\b z\017\b\246P\020;\032\006\b\300\355\032\030\b \036z\017\b\246P\020?\032\006\b\230\266\025\030\b \020z\017\b\246P\020I\032\006\b\300\251\a\030\b 2" +1: "\b\247P\022\005LEHMS\030\b\"\004\b\362\227\001*\004\b\252\230\0012\004\b\370\227\0018\002B\006\b\374\341\017\030\bJ\023Lehmanns MarktstandR\fMagazinweg 7Z\016Frankfurt a.M.j\00560528r\aGermanyz\024\b\247P\020\021\032\006\b\300\205\023\030\b \036-\000\000\200>" +1: "\b\250P\022\005BERGS\030\002\"\004\b\364\227\001*\004\b\254\230\0012\004\b\256\230\0018\001B\006\b\310\275\005\030\bJ\023Berglunds snabbk\303\266pR\020Berguvsv\303\244gen 8Z\006Lule\303\245j\bS-958 22r\006Swedenz\017\b\250P\020\030\032\006\b\240\231\002\030\b \030z\017\b\250P\0207\032\006\b\200\334\v\030\b (z\017\b\250P\020K\032\006\b\260\344\003\030\b <" +1: "\b\251P\022\005ROMEY\030\004\"\004\b\364\227\001*\004\b\220\230\0012\004\b\202\230\0018\001B\006\b\330\345\001\030\bJ\020Romero y tomilloR\fGran V\303\255a, 1Z\006Madridj\00528001r\005Spainz\017\b\251P\020\023\032\006\b\250\272\004\030\b \002z\017\b\251P\020\030\032\006\b\240\231\002\030\b \fz\017\b\251P\020#\032\006\b\200\345\b\030\b \b" +1: "\b\252P\022\005ROMEY\030\004\"\004\b\366\227\001*\004\b\256\230\0012\004\b\202\230\0018\001B\006\b\264\337\a\030\bJ\020Romero y tomilloR\fGran V\303\255a, 1Z\006Madridj\00528001r\005Spainz\017\b\252P\020\036\032\006\b\230\321\f\030\b \fz\017\b\252P\0209\032\006\b\340\302\t\030\b \004" +1: "\b\253P\022\005LILAS\030\003\"\004\b\370\227\001*\004\b\260\230\0012\004\b\206\230\0018\003B\006\b\344\3413\030\bJ\021LILA-SupermercadoR/Carrera 52 con Ave. Bol\303\255var #65-98 Llano LargoZ\fBarquisimetob\004Laraj\0043508r\tVenezuelaz\017\b\253P\020\017\032\006\b\340\310\a\030\b (z\017\b\253P\020\023\032\006\b\250\272\004\030\b $z\017\b\253P\020<\032\006\b\200\315\020\030\b Fz\017\b\253P\020H\032\006\b\360\373\020\030\b \006" +1: "\b\254P\022\005LEHMS\030\004\"\004\b\376\227\001*\004\b\266\230\0012\004\b\216\230\0018\001B\006\b\240\335.\030\bJ\023Lehmanns MarktstandR\fMagazinweg 7Z\016Frankfurt a.M.j\00560528r\aGermanyz\024\b\254P\020\033\032\006\b\230\266\025\030\b \036-\000\000\200>z\017\b\254P\020,\032\006\b\370\272\t\030\b *z\024\b\254P\020<\032\006\b\200\315\020\030\b (-\000\000\200>z\024\b\254P\020C\032\006\b\200\353\006\030\b \n-\000\000\200>" +1: "\b\255P\022\005QUICK\030\001\"\004\b\200\230\001*\004\b\270\230\0012\004\b\214\230\0018\002B\006\b\254\362.\030\bJ\nQUICK-StopR\021Taucherstra\303\237e 10Z\tCunewaldej\00501307r\aGermanyz\024\b\255P\020\001\032\006\b\200\345\b\030\b Z-\315\314L>z\024\b\255P\020(\032\006\b\270\374\b\030\b P-\315\314L>z\024\b\255P\0205\032\006\b\360\376\017\030\b H-\315\314L>" +1: "\b\256P\022\005QUICK\030\b\"\004\b\202\230\001*\004\b\272\230\0012\004\b\224\230\0018\003B\a\b\260\365\213\001\030\bJ\nQUICK-StopR\021Taucherstra\303\237e 10Z\tCunewaldej\00501307r\aGermanyz\020\b\256P\020#\032\006\b\200\345\b\030\b \310\001z\017\b\256P\020>\032\006\b\220\206\030\030\b P" +1: "\b\257P\022\005RICAR\030\b\"\004\b\204\230\001*\004\b\274\230\0012\004\b\220\230\0018\003B\006\b\360\344\a\030\bJ\022Ricardo AdocicadosR\023Av. Copacabana, 267Z\016Rio de Janeirob\002RJj\t02389-890r\006Brazilz\024\b\257P\020\020\032\006\b\370\275\b\030\b P-\232\231\031>z\017\b\257P\020\"\032\006\b\200\353\006\030\b (z\024\b\257P\020.\032\006\b\200\356\005\030\b \036-\232\231\031>" +1: "\b\260P\022\005REGGC\030\004\"\004\b\206\230\001*\004\b\276\230\0012\004\b\234\230\0018\001B\006\b\204\306\004\030\bJ\022Reggiani CaseificiR\026Strada Provinciale 124Z\rReggio Emiliaj\00542100r\005Italyz\024\b\260P\0206\032\006\b\370\314\003\030\b \024-\315\314\314=z\024\b\260P\020D\032\006\b\240\215\006\030\b \006-\315\314\314=" +1: "\b\261P\022\005BSBEV\030\a\"\004\b\214\230\001*\004\b\304\230\0012\004\b\220\230\0018\003B\006\b\364\362\r\030\bJ\rB\'s BeveragesR\021Fauntleroy CircusZ\006Londonj\aEC2 5NTr\002UKz\017\b\261P\020\003\032\006\b\200\361\004\030\b z\024\b\272P\020;\032\006\b\300\355\032\030\b <-\000\000\200>z\017\b\272P\020>\032\006\b\220\206\030\030\b \036" +1: "\b\273P\022\005RICAR\030\004\"\004\b\242\230\001*\004\b\332\230\0012\004\b\260\230\0018\002B\006\b\200\225\022\030\bJ\022Ricardo AdocicadosR\023Av. Copacabana, 267Z\016Rio de Janeirob\002RJj\t02389-890r\006Brazilz\017\b\273P\020\023\032\006\b\250\272\004\030\b \036z\017\b\273P\020F\032\006\b\300\251\a\030\b (" +1: "\b\274P\022\005MAGAA\030\002\"\004\b\250\230\001*\004\b\340\230\0012\004\b\272\230\0018\002B\006\b\240\345\n\030\bJ\034Magazzini Alimentari RiunitiR\027Via Ludovico il Moro 22Z\aBergamoj\00524100r\005Italyz\017\b\274P\020B\032\006\b\300\246\b\030\b \032\006\b\220\206\030\030\b \024z\017\b\303P\020D\032\006\b\240\215\006\030\b \006" +1: "\b\304P\022\005ANATR\030\a\"\004\b\272\230\001*\004\b\362\230\0012\004\b\306\230\0018\003B\005\b\344}\030\bJ\"Ana Trujillo Emparedados y heladosR\036Avda. de la Constituci\303\263n 2222Z\fM\303\251xico D.F.j\00505021r\006Mexicoz\017\b\304P\020E\032\006\b\200\312\021\030\b \002z\017\b\304P\020F\032\006\b\300\251\a\030\b \n" +1: "\b\305P\022\005HUNGO\030\003\"\004\b\274\230\001*\004\b\364\230\0012\004\b\200\231\0018\001B\006\b\250\357\034\030\bJ\034Hungry Owl All-Night GrocersR\0208 Johnstown RoadZ\004Corkb\bCo. Corkr\aIrelandz\017\b\305P\020\004\032\006\b\200\337\n\030\b (z\017\b\305P\020\006\032\006\b\300\232\f\030\b \032\006\b\220\206\030\030\b \n" +1: "\b\307P\022\005DUMON\030\001\"\004\b\276\230\001*\004\b\332\230\0012\004\b\312\230\0018\003B\006\b\364\210\017\030\bJ\017Du monde entierR\03467, rue des Cinquante OtagesZ\006Nantesj\00544000r\006Francez\017\b\307P\020*\032\006\b\200\353\006\030\b \fz\017\b\307P\020E\032\006\b\200\312\021\030\b \016" +1: "\b\310P\022\005WANDK\030\002\"\004\b\304\230\001*\004\b\374\230\0012\004\b\330\230\0018\002B\006\b\250\311\030\030\bJ\021Die Wandernde KuhR\021Adenauerallee 900Z\tStuttgartj\00570563r\aGermanyz\017\b\310P\020\034\032\006\b\340\233\026\030\b \bz\017\b\310P\020+\032\006\b\200\273\026\030\b 0z\017\b\310P\0205\032\006\b\360\376\017\030\b (z\017\b\310P\020K\032\006\b\260\344\003\030\b \024" +1: "\b\311P\022\005QUICK\030\002\"\004\b\306\230\001*\004\b\376\230\0012\004\b\332\230\0018\002B\006\b\220\231\001\030\bJ\nQUICK-StopR\021Taucherstra\303\237e 10Z\tCunewaldej\00501307r\aGermanyz\017\b\311P\020$\032\006\b\300\243\t\030\b \030" +1: "\b\312P\022\005RATTC\030\001\"\004\b\310\230\001*\004\b\200\231\0012\004\b\332\230\0018\002B\006\b\340\241-\030\bJ\032Rattlesnake Canyon GroceryR\0172817 Milton Dr.Z\vAlbuquerqueb\002NMj\00587110r\003USAz\024\b\312P\020 \032\006\b\200\320\017\030\b P-\315\314\314=z\024\b\312P\020:\032\006\b\220\274\006\030\b <-\315\314\314=z\024\b\312P\020>\032\006\b\220\206\030\030\b 2-\315\314\314=" +1: "\b\313P\022\005ISLAT\030\004\"\004\b\312\230\001*\004\b\202\231\0012\004\b\330\230\0018\002B\006\b\300\276\031\030\bJ\016Island TradingR\031Garden House Crowther WayZ\005Cowesb\rIsle of Wightj\bPO31 7PJr\002UKz\017\b\313P\020\"\032\006\b\200\353\006\030\b \034z\017\b\313P\020F\032\006\b\300\251\a\030\b <" +1: "\b\314P\022\005RATTC\030\001\"\004\b\314\230\001*\004\b\204\231\0012\004\b\342\230\0018\003B\006\b\274\322[\030\bJ\032Rattlesnake Canyon GroceryR\0172817 Milton Dr.Z\vAlbuquerqueb\002NMj\00587110r\003USAz\017\b\314P\020)\032\006\b\310\331\004\030\b \024z\020\b\314P\020>\032\006\b\220\206\030\030\b \214\001" +1: "\b\315P\022\005LONEP\030\006\"\004\b\322\230\001*\004\b\212\231\0012\004\b\346\230\0018\001B\006\b\264\337\a\030\bJ\030Lonesome Pine RestaurantR\02289 Chiaroscuro Rd.Z\bPortlandb\002ORj\00597219r\003USAz\017\b\315P\020\001\032\006\b\200\345\b\030\b (" +1: "\b\316P\022\005ISLAT\030\b\"\004\b\324\230\001*\004\b\214\231\0012\004\b\332\230\0018\002B\006\b\304\361\002\030\bJ\016Island TradingR\031Garden House Crowther WayZ\005Cowesb\rIsle of Wightj\bPO31 7PJr\002UKz\017\b\316P\020)\032\006\b\310\331\004\030\b (z\017\b\316P\020L\032\006\b\200\345\b\030\b \f" +1: "\b\317P\022\005TORTU\030\a\"\004\b\326\230\001*\004\b\216\231\0012\004\b\350\230\0018\003B\006\b\210\257\'\030\bJ\023Tortuga RestauranteR\020Avda. Azteca 123Z\fM\303\251xico D.F.j\00505033r\006Mexicoz\017\b\317P\020\021\032\006\b\300\205\023\030\b \020z\017\b\317P\020\034\032\006\b\340\233\026\030\b \034z\017\b\317P\020L\032\006\b\200\345\b\030\b <" +1: "\b\320P\022\005WARTH\030\005\"\004\b\330\230\001*\004\b\364\230\0012\004\b\366\230\0018\003B\006\b\344\214\025\030\bJ\016Wartian HerkkuR\vTorikatu 38Z\004Ouluj\00590110r\aFinlandz\017\b\320P\020G\032\006\b\340\277\n\030\b <" +1: "\b\321P\022\005ISLAT\030\003\"\004\b\330\230\001*\004\b\220\231\0012\004\b\350\230\0018\002B\006\b\374\213\002\030\bJ\016Island TradingR\031Garden House Crowther WayZ\005Cowesb\rIsle of Wightj\bPO31 7PJr\002UKz\017\b\321P\020#\032\006\b\200\345\b\030\b \024" +1: "\b\322P\022\005PERIC\030\a\"\004\b\332\230\001*\004\b\222\231\0012\004\b\200\231\0018\003B\005\b\240\037\030\bJ\032Pericles Comidas cl\303\241sicasR\030Calle Dr. Jorge Cash 321Z\fM\303\251xico D.F.j\00505033r\006Mexicoz\017\b\322P\0204\032\006\b\300\265\003\030\b (" +1: "\b\323P\022\005KOENE\030\004\"\004\b\340\230\001*\004\b\230\231\0012\004\b\356\230\0018\001B\006\b\240\375\002\030\bJ\020K\303\266niglich EssenR\rMaubelstr. 90Z\vBrandenburgj\00514776r\aGermanyz\017\b\323P\020\017\032\006\b\340\310\a\030\b \nz\017\b\323P\020\031\032\006\b\200\353\006\030\b \bz\017\b\323P\020\'\032\006\b\200\345\b\030\b \b" +1: "\b\324P\022\005SAVEA\030\t\"\004\b\342\230\001*\004\b\232\231\0012\004\b\346\230\0018\001B\a\b\354\343\202\001\030\bJ\022Save-a-lot MarketsR\017187 Suffolk Ln.Z\005Boiseb\002IDj\00583720r\003USAz\024\b\324P\020\020\032\006\b\370\275\b\030\b *-\232\231\031>z\025\b\324P\020#\032\006\b\200\345\b\030\b \214\001-\232\231\031>z\017\b\324P\020.\032\006\b\200\356\005\030\b z\025\b\324P\020?\032\006\b\230\266\025\030\b \240\001-\232\231\031>" +1: "\b\325P\022\005KOENE\030\001\"\004\b\344\230\001*\004\b\200\231\0012\004\b\356\230\0018\003B\006\b\230\313\'\030\bJ\020K\303\266niglich EssenR\rMaubelstr. 90Z\vBrandenburgj\00514776r\aGermanyz\017\b\325P\020\006\032\006\b\300\232\f\030\b \fz\017\b\325P\020\r\032\006\b\200\367\002\030\b \030z\017\b\325P\020\016\032\006\b\220\255\v\030\b \022z\017\b\325P\020\037\032\006\b\240\215\006\030\b \bz\017\b\325P\020H\032\006\b\360\373\020\030\b P" +1: "\b\326P\022\005BOLID\030\004\"\004\b\346\230\001*\004\b\236\231\0012\004\b\356\230\0018\002B\006\b\300\307/\030\bJ\032B\303\263lido Comidas preparadasR\016C/ Araquil, 67Z\006Madridj\00528023r\005Spainz\017\b\326P\020\004\032\006\b\200\337\n\030\b 0z\017\b\326P\0209\032\006\b\340\302\t\030\b z\017\b\326P\020K\032\006\b\260\344\003\030\b d" +1: "\b\327P\022\005FOLKO\030\002\"\004\b\350\230\001*\004\b\240\231\0012\004\b\356\230\0018\001B\006\b\200\326&\030\bJ\017Folk och f\303\244 HBR\r\303\205kergatan 24Z\aBr\303\244ckej\bS-844 67r\006Swedenz\024\b\327P\020\002\032\006\b\300\243\t\030\b 2-\315\314L>z\024\b\327P\020\v\032\006\b\300\240\n\030\b d-\315\314L>z\024\b\327P\020\036\032\006\b\230\321\f\030\b F-\315\314L>z\024\b\327P\020:\032\006\b\220\274\006\030\b <-\315\314L>" +1: "\b\330P\022\005FURIB\030\004\"\004\b\356\230\001*\004\b\246\231\0012\004\b\364\230\0018\003B\006\b\234\2175\030\bJ\036Furia Bacalhau e Frutos do MarR\026Jardim das rosas n. 32Z\006Lisboaj\0041675r\bPortugalz\017\b\330P\020;\032\006\b\300\355\032\030\b \022z\017\b\330P\020A\032\006\b\300\240\n\030\b Pz\017\b\330P\020D\032\006\b\240\215\006\030\b \024" +1: "\b\331P\022\005SPLIR\030\004\"\004\b\360\230\001*\004\b\304\231\0012\004\b\200\231\0018\002B\006\b\234\376t\030\bJ\025Split Rail Beer & AleR\fP.O. Box 555Z\006Landerb\002WYj\00582520r\003USAz\024\b\331P\020\023\032\006\b\250\272\004\030\b \024-\315\314L=z\024\b\331P\020\036\032\006\b\230\321\f\030\b \020-\315\314L=z\025\b\331P\020&\032\a\b\340\324\200\001\030\b (-\315\314L=z\024\b\331P\0208\032\006\b\200\307\022\030\b \030-\315\314L=" +1: "\b\332P\022\005LILAS\030\003\"\004\b\362\230\001*\004\b\252\231\0012\004\b\212\231\0018\001B\006\b\214\344\a\030\bJ\021LILA-SupermercadoR/Carrera 52 con Ave. Bol\303\255var #65-98 Llano LargoZ\fBarquisimetob\004Laraj\0043508r\tVenezuelaz\024\b\332P\020\032\032\006\b\250\231\017\030\b d-\232\231\031>z\024\b\332P\020H\032\006\b\360\373\020\030\b 2-\232\231\031>" +1: "\b\333P\022\005BONAP\030\t\"\004\b\362\230\001*\004\b\306\231\0012\004\b\374\230\0018\001B\006\b\214\234\006\030\bJ\bBon app\'R\02412, rue des BouchersZ\tMarseillej\00513008r\006Francez\017\b\333P\0206\032\006\b\370\314\003\030\b \036" +1: "\b\334P\022\005MEREP\030\003\"\004\b\364\230\001*\004\b\310\231\0012\004\b\374\230\0018\002B\006\b\220\240 \030\bJ\017M\303\250re PaillardeR\02243 rue St. LaurentZ\tMontr\303\251alb\aQu\303\251becj\aH1J 1C3r\006Canadaz\024\b\334P\020\022\032\006\b\240\302\036\030\b P-\315\314L>z\024\b\334P\020*\032\006\b\200\353\006\030\b \024-\315\314L>z\024\b\334P\020/\032\006\b\340\321\004\030\b -\315\314L>" +1: "\b\335P\022\005WARTH\030\005\"\004\b\366\230\001*\004\b\256\231\0012\004\b\204\231\0018\003B\005\b\214.\030\bJ\016Wartian HerkkuR\vTorikatu 38Z\004Ouluj\00590110r\aFinlandz\017\b\335P\020\016\032\006\b\220\255\v\030\b \024z\024\b\335P\020\025\032\006\b\200\361\004\030\b \024-\315\314\314=z\024\b\335P\020G\032\006\b\340\277\n\030\b P-\315\314\314=" +1: "\b\336P\022\005VICTE\030\b\"\004\b\374\230\001*\004\b\264\231\0012\004\b\212\231\0018\002B\006\b\340\234\005\030\bJ\024Victuailles en stockR\0222, rue du CommerceZ\004Lyonj\00569004r\006Francez\017\b\336P\0204\032\006\b\300\265\003\030\b \020z\017\b\336P\020D\032\006\b\240\215\006\030\b \024" +1: "\b\337P\022\005HUNGO\030\a\"\004\b\376\230\001*\004\b\266\231\0012\004\b\202\231\0018\002B\006\b\354\331\031\030\bJ\034Hungry Owl All-Night GrocersR\0208 Johnstown RoadZ\004Corkb\bCo. Corkr\aIrelandz\024\b\337P\020\002\032\006\b\300\243\t\030\b \016-\315\314L>z\024\b\337P\020\037\032\006\b\240\215\006\030\b 2-\315\314L>z\024\b\337P\020 \032\006\b\200\320\017\030\b \f-\315\314L>z\024\b\337P\0203\032\006\b\300\360\031\030\b `-\315\314L>" +1: "\b\340P\022\005PRINI\030\a\"\004\b\200\231\001*\004\b\270\231\0012\004\b\204\231\0018\002B\006\b\334\273\t\030\bJ\026Princesa Isabel VinhosR\027Estrada da sa\303\272de n. 58Z\006Lisboaj\0041756r\bPortugalz\024\b\340P\020\004\032\006\b\200\337\n\030\b $-\315\314\314=" +1: "\b\341P\022\005FRANK\030\004\"\004\b\202\231\001*\004\b\272\231\0012\004\b\214\231\0018\003B\006\b\350\211B\030\bJ\016FrankenversandR\021Berliner Platz 43Z\bM\303\274nchenj\00580805r\aGermanyz\017\b\341P\020\027\032\006\b\300\262\004\030\b Pz\017\b\341P\020\032\032\006\b\250\231\017\030\b 0z\017\b\341P\020$\032\006\b\300\243\t\030\b (z\017\b\341P\020%\032\006\b\200\331\f\030\b 8z\017\b\341P\020H\032\006\b\360\373\020\030\b 2" +1: "\b\342P\022\005OLDWO\030\004\"\004\b\204\231\001*\004\b\274\231\0012\004\b\214\231\0018\003B\006\b\364\2623\030\bJ\026Old World DelicatessenR\0172743 Bering St.Z\tAnchorageb\002AKj\00599508r\003USAz\017\b\342P\020\021\032\006\b\300\205\023\030\b (z\017\b\342P\020\036\032\006\b\230\321\f\030\b \036" +1: "\b\343P\022\005MEREP\030\002\"\004\b\212\231\001*\004\b\302\231\0012\004\b\230\231\0018\002B\006\b\270\307\t\030\bJ\017M\303\250re PaillardeR\02243 rue St. LaurentZ\tMontr\303\251alb\aQu\303\251becj\aH1J 1C3r\006Canadaz\017\b\343P\020\004\032\006\b\200\337\n\030\b \024z\025\b\343P\020\021\032\006\b\300\205\023\030\b \214\001-\315\314L=z\017\b\343P\020>\032\006\b\220\206\030\030\b 8" +1: "\b\344P\022\005BONAP\030\001\"\004\b\214\231\001*\004\b\304\231\0012\004\b\240\231\0018\003B\006\b\374\300e\030\bJ\bBon app\'R\02412, rue des BouchersZ\tMarseillej\00513008r\006Francez\024\b\344P\020\022\032\006\b\240\302\036\030\b (-\315\314L=z\024\b\344P\020)\032\006\b\310\331\004\030\b \030-\315\314L=z\024\b\344P\020+\032\006\b\200\273\026\030\b P-\315\314L=" +1: "\b\345P\022\005SIMOB\030\a\"\004\b\214\231\001*\004\b\304\231\0012\004\b\232\231\0018\003B\006\b\230\254\020\030\bJ\rSimons bistroR\rVinb\303\246ltet 34Z\tKobenhavnj\0041734r\aDenmarkz\017\b\345P\020!\032\006\b\240\234\001\030\b \020z\024\b\345P\020;\032\006\b\300\355\032\030\b \022-\232\231\031>" +1: "\b\346P\022\005FRANK\030\004\"\004\b\216\231\001*\004\b\252\231\0012\004\b\230\231\0018\002B\006\b\314\273!\030\bJ\016FrankenversandR\021Berliner Platz 43Z\bM\303\274nchenj\00580805r\aGermanyz\024\b\346P\020\002\032\006\b\300\243\t\030\b 0-\315\314L>z\024\b\346P\020\037\032\006\b\240\215\006\030\b p-\315\314L>z\024\b\346P\020$\032\006\b\300\243\t\030\b P-\315\314L>z\024\b\346P\0207\032\006\b\200\334\v\030\b P-\315\314L>" +1: "\b\347P\022\005LEHMS\030\004\"\004\b\220\231\001*\004\b\310\231\0012\004\b\234\231\0018\001B\006\b\324\256C\030\bJ\023Lehmanns MarktstandR\fMagazinweg 7Z\016Frankfurt a.M.j\00560528r\aGermanyz\017\b\347P\020@\032\006\b\220\236\020\030\b dz\024\b\347P\020D\032\006\b\240\215\006\030\b \b-\315\314L=z\017\b\347P\020L\032\006\b\200\345\b\030\b \036" +1: "\b\350P\022\005WHITC\030\004\"\004\b\222\231\001*\004\b\312\231\0012\004\b\232\231\0018\002B\006\b\304\233\016\030\bJ\024White Clover MarketsR\0231029 - 12th Ave. S.Z\aSeattleb\002WAj\00598124r\003USAz\017\b\350P\020\004\032\006\b\200\337\n\030\b Fz\025\b\350P\020\b\032\006\b\200\304\023\030\b \214\001-\000\000\200>" +1: "\b\351P\022\005QUICK\030\002\"\004\b\230\231\001*\004\b\320\231\0012\004\b\246\231\0018\002B\a\b\350\201\230\001\030\bJ\nQUICK-StopR\021Taucherstra\303\237e 10Z\tCunewaldej\00501307r\aGermanyz\020\b\351P\020\b\032\006\b\200\304\023\030\b \214\001z\020\b\351P\020\023\032\006\b\250\272\004\030\b \240\001z\017\b\351P\020*\032\006\b\200\353\006\030\b \022" +1: "\b\352P\022\005RATTC\030\003\"\004\b\232\231\001*\004\b\356\231\0012\004\b\240\231\0018\003B\006\b\200\334V\030\bJ\032Rattlesnake Canyon GroceryR\0172817 Milton Dr.Z\vAlbuquerqueb\002NMj\00587110r\003USAz\024\b\352P\020\021\032\006\b\300\205\023\030\b H-\315\314\314=z\017\b\352P\0208\032\006\b\200\307\022\030\b (" +1: "\b\353P\022\005FAMIA\030\004\"\004\b\234\231\001*\004\b\324\231\0012\004\b\240\231\0018\003B\006\b\230\362\001\030\bJ\022Familia ArquibaldoR\rRua Or\303\263s, 92Z\tSao Paulob\002SPj\t05442-030r\006Brazilz\017\b\353P\020\031\032\006\b\200\353\006\030\b \024z\024\b\353P\020\'\032\006\b\200\345\b\030\b d-\232\231\031>z\017\b\353P\020(\032\006\b\270\374\b\030\b \bz\024\b\353P\020K\032\006\b\260\344\003\030\b \f-\232\231\031>" +1: "\b\354P\022\005WANDK\030\004\"\004\b\236\231\001*\004\b\326\231\0012\004\b\256\231\0018\002B\005\b\370<\030\bJ\021Die Wandernde KuhR\021Adenauerallee 900Z\tStuttgartj\00570563r\aGermanyz\024\b\354P\020\001\032\006\b\200\345\b\030\b \036-\232\231\031>z\017\b\354P\020\027\032\006\b\300\262\004\030\b 2" +1: "\b\355P\022\005SPLIR\030\a\"\004\b\240\231\001*\004\b\330\231\0012\004\b\256\231\0018\001B\006\b\234\242\005\030\bJ\025Split Rail Beer & AleR\fP.O. Box 555Z\006Landerb\002WYj\00582520r\003USAz\017\b\355P\0206\032\006\b\370\314\003\030\b 0" +1: "\b\356P\022\005LAMAI\030\006\"\004\b\246\231\001*\004\b\336\231\0012\004\b\322\231\0018\002B\006\b\354\226\'\030\bJ\020La maison d\'AsieR\0251 rue Alsace-LorraineZ\bToulousej\00531000r\006Francez\024\b\356P\0202\032\006\b\320\367\a\030\b \036-\315\314\314=z\024\b\356P\020E\032\006\b\200\312\021\030\b $-\315\314\314=" +1: "\b\357P\022\005ERNSH\030\001\"\004\b\246\231\001*\004\b\336\231\0012\004\b\270\231\0018\001B\006\b\204\212c\030\bJ\fErnst HandelR\fKirchgasse 6Z\004Grazj\0048010r\aAustriaz\025\b\357P\020&\032\a\b\340\324\200\001\030\b (-\315\314L=z\017\b\357P\020)\032\006\b\310\331\004\030\b \032z\025\b\357P\020,\032\006\b\370\272\t\030\b \232\001-\315\314L=z\024\b\357P\020A\032\006\b\300\240\n\030\b \024-\315\314L=" +1: "\b\360P\022\005FURIB\030\003\"\004\b\250\231\001*\004\b\304\231\0012\004\b\264\231\0018\003B\005\b\310e\030\bJ\036Furia Bacalhau e Frutos do MarR\026Jardim das rosas n. 32Z\006Lisboaj\0041675r\bPortugalz\017\b\360P\020\030\032\006\b\240\231\002\030\b \024z\024\b\360P\0206\032\006\b\370\314\003\030\b (-\232\231\031>" +1: "\b\361P\022\005PICCO\030\a\"\004\b\252\231\001*\004\b\342\231\0012\004\b\302\231\0018\003B\a\b\234\216\334\001\030\bJ\020Piccolo und mehrR\vGeislweg 14Z\bSalzburgj\0045020r\aAustriaz\024\b\361P\020\v\032\006\b\300\240\n\030\b \030-\315\314L>z\025\b\361P\020&\032\a\b\340\324\200\001\030\b d-\315\314L>" +1: "\b\362P\022\005PERIC\030\b\"\004\b\254\231\001*\004\b\344\231\0012\004\b\270\231\0018\003B\006\b\220\353 \030\bJ\032Pericles Comidas cl\303\241sicasR\030Calle Dr. Jorge Cash 321Z\fM\303\251xico D.F.j\00505033r\006Mexicoz\017\b\362P\020\001\032\006\b\200\345\b\030\b \030z\017\b\362P\020\035\032\006\b\260\266<\030\b \b" +1: "\b\363P\022\005AROUT\030\006\"\004\b\256\231\001*\004\b\346\231\0012\004\b\270\231\0018\001B\006\b\254\315\031\030\bJ\017Around the HornR\035Brook Farm Stratford St. MaryZ\nColchesterb\005Essexj\aCO7 6JXr\002UKz\017\b\363P\020\030\032\006\b\240\231\002\030\b 2z\017\b\363P\0209\032\006\b\340\302\t\030\b 2" +1: "\b\364P\022\005WANDK\030\006\"\004\b\264\231\001*\004\b\354\231\0012\004\b\306\231\0018\002B\006\b\374\263\026\030\bJ\021Die Wandernde KuhR\021Adenauerallee 900Z\tStuttgartj\00570563r\aGermanyz\017\b\364P\020\037\032\006\b\240\215\006\030\b z\017\b\365P\020\032\032\006\b\250\231\017\030\b z\024\b\365P\020<\032\006\b\200\315\020\030\b \020-\315\314L>" +1: "\b\366P\022\005LAMAI\030\005\"\004\b\270\231\001*\004\b\360\231\0012\004\b\306\231\0018\001B\006\b\260\376\v\030\bJ\020La maison d\'AsieR\0251 rue Alsace-LorraineZ\bToulousej\00531000r\006Francez\024\b\366P\020\030\032\006\b\240\231\002\030\b \024-\315\314L=z\024\b\366P\020\"\032\006\b\200\353\006\030\b \024-\315\314L=z\024\b\366P\020$\032\006\b\300\243\t\030\b (-\315\314L=" +1: "\b\367P\022\005SEVES\030\005\"\004\b\272\231\001*\004\b\362\231\0012\004\b\304\231\0018\003B\a\b\314\205\260\001\030\bJ\022Seven Seas ImportsR\01790 Wadhurst Rd.Z\006Londonj\bOX15 4NBr\002UKz\024\b\367P\020\020\032\006\b\370\275\b\030\b p-\315\314L=z\025\b\367P\020\037\032\006\b\240\215\006\030\b \214\001-\315\314L=z\025\b\367P\020<\032\006\b\200\315\020\030\b \240\001-\315\314L=" +1: "\b\370P\022\005BLONP\030\004\"\004\b\274\231\001*\004\b\364\231\0012\004\b\320\231\0018\003B\006\b\210\261P\030\bJ\025Blondel p\303\250re et filsR\02124, place Kl\303\251berZ\nStrasbourgj\00567000r\006Francez\017\b\370P\020\034\032\006\b\340\233\026\030\b \030\bJ\fErnst HandelR\fKirchgasse 6Z\004Grazj\0048010r\aAustriaz\024\b\200Q\020\025\032\006\b\200\361\004\030\b \n-\315\314\314=z\024\b\200Q\020\034\032\006\b\340\233\026\030\b \032-\315\314\314=z\017\b\200Q\0209\032\006\b\340\302\t\030\b 2z\024\b\200Q\020@\032\006\b\220\236\020\030\b F-\315\314\314=" +1: "\b\201Q\022\005SPLIR\030\b\"\004\b\320\231\001*\004\b\210\232\0012\004\b\336\231\0018\002B\006\b\300\267w\030\bJ\025Split Rail Beer & AleR\fP.O. Box 555Z\006Landerb\002WYj\00582520r\003USAz\017\b\201Q\020\035\032\006\b\260\266<\030\b (z\024\b\201Q\0208\032\006\b\200\307\022\030\b $-\000\000\200>" +1: "\b\202Q\022\005CHOPS\030\006\"\004\b\322\231\001*\004\b\212\232\0012\004\b\202\232\0018\002B\005\b\264[\030\bJ\021Chop-suey ChineseR\fHauptstr. 31Z\004Bernj\0043012r\vSwitzerlandz\024\b\202Q\020\001\032\006\b\200\345\b\030\b \036-\232\231\031>z\017\b\202Q\020@\032\006\b\220\236\020\030\b " +1: "\b\203Q\022\005LAMAI\030\001\"\004\b\322\231\001*\004\b\212\232\0012\004\b\374\231\0018\001B\005\b\224#\030\bJ\020La maison d\'AsieR\0251 rue Alsace-LorraineZ\bToulousej\00531000r\006Francez\024\b\203Q\020$\032\006\b\300\243\t\030\b \f-\315\314L>" +1: "\b\204Q\022\005QUEEN\030\005\"\004\b\324\231\001*\004\b\214\232\0012\004\b\336\231\0018\002B\a\b\230\330\237\004\030\bJ\rQueen CozinhaR\032Alameda dos Can\303\240rios, 891Z\tSao Paulob\002SPj\t05487-020r\006Brazilz\024\b\204Q\020\024\032\006\b\300\306\'\030\b \030-\000\000\200>z\025\b\204Q\020&\032\a\b\340\324\200\001\030\b P-\000\000\200>z\025\b\204Q\020<\032\006\b\200\315\020\030\b \214\001-\000\000\200>z\024\b\204Q\020H\032\006\b\360\373\020\030\b T-\000\000\200>" +1: "\b\205Q\022\005HUNGO\030\004\"\004\b\326\231\001*\004\b\216\232\0012\004\b\342\231\0018\003B\006\b\360\340K\030\bJ\034Hungry Owl All-Night GrocersR\0208 Johnstown RoadZ\004Corkb\bCo. Corkr\aIrelandz\025\b\205Q\020:\032\006\b\220\274\006\030\b \240\001-\315\314L>z\024\b\205Q\020G\032\006\b\340\277\n\030\b d-\315\314L>" +1: "\b\206Q\022\005WOLZA\030\001\"\004\b\326\231\001*\004\b\216\232\0012\004\b\336\231\0018\003B\006\b\350\263\002\030\bJ\rWolski ZajazdR\017ul. Filtrowa 68Z\bWarszawaj\00601-012r\006Polandz\017\b\206Q\020\037\032\006\b\240\215\006\030\b z\024\b\211Q\020\'\032\006\b\200\345\b\030\b (-\232\231\031>" +1: "\b\212Q\022\005FOLKO\030\005\"\004\b\340\231\001*\004\b\230\232\0012\004\b\362\231\0018\003B\006\b\200\251\003\030\bJ\017Folk och f\303\244 HBR\r\303\205kergatan 24Z\aBr\303\244ckej\bS-844 67r\006Swedenz\017\b\212Q\020G\032\006\b\340\277\n\030\b \f" +1: "\b\213Q\022\005QUEDE\030\002\"\004\b\342\231\001*\004\b\232\232\0012\004\b\346\231\0018\001B\006\b\374\275\033\030\bJ\fQue Del\303\255ciaR\027Rua da Panificadora, 12Z\016Rio de Janeirob\002RJj\t02389-673r\006Brazilz\024\b\213Q\020)\032\006\b\310\331\004\030\b \020-\315\314\314=z\024\b\213Q\020?\032\006\b\230\266\025\030\b -\315\314\314=z\024\b\213Q\020A\032\006\b\300\240\n\030\b (-\315\314\314=" +1: "\b\214Q\022\005HUNGO\030\b\"\004\b\344\231\001*\004\b\234\232\0012\004\b\252\232\0018\003B\006\b\334\260\025\030\bJ\034Hungry Owl All-Night GrocersR\0208 Johnstown RoadZ\004Corkb\bCo. Corkr\aIrelandz\024\b\214Q\020\036\032\006\b\230\321\f\030\b $-\315\314\314=z\024\b\214Q\0205\032\006\b\360\376\017\030\b (-\315\314\314=z\024\b\214Q\020<\032\006\b\200\315\020\030\b \f-\315\314\314=z\017\b\214Q\020F\032\006\b\300\251\a\030\b <" +1: "\b\215Q\022\005LILAS\030\003\"\004\b\344\231\001*\004\b\234\232\0012\004\b\346\231\0018\003B\006\b\234\360\004\030\bJ\021LILA-SupermercadoR/Carrera 52 con Ave. Bol\303\255var #65-98 Llano LargoZ\fBarquisimetob\004Laraj\0043508r\tVenezuelaz\017\b\215Q\020J\032\006\b\200\361\004\030\b \034" +1: "\b\216Q\022\005ERNSH\030\004\"\004\b\346\231\001*\004\b\236\232\0012\004\b\354\231\0018\001B\006\b\364\3539\030\bJ\fErnst HandelR\fKirchgasse 6Z\004Grazj\0048010r\aAustriaz\017\b\216Q\020\005\032\006\b\220\260\n\030\b @z\017\b\216Q\020\022\032\006\b\240\302\036\030\b \022z\017\b\216Q\020\035\032\006\b\260\266<\030\b \034z\017\b\216Q\020!\032\006\b\240\234\001\030\b xz\017\b\216Q\020J\032\006\b\200\361\004\030\b d" +1: "\b\217Q\022\005AROUT\030\b\"\004\b\354\231\001*\004\b\244\232\0012\004\b\360\231\0018\003B\006\b\200\363\024\030\bJ\017Around the HornR\035Brook Farm Stratford St. MaryZ\nColchesterb\005Essexj\aCO7 6JXr\002UKz\017\b\217Q\020\r\032\006\b\200\367\002\030\b (z\017\b\217Q\0202\032\006\b\320\367\a\030\b \036z\017\b\217Q\0208\032\006\b\200\307\022\030\b (" +1: "\b\220Q\022\005BERGS\030\003\"\004\b\354\231\001*\004\b\244\232\0012\004\b\364\231\0018\003B\006\b\200\367f\030\bJ\023Berglunds snabbk\303\266pR\020Berguvsv\303\244gen 8Z\006Lule\303\245j\bS-958 22r\006Swedenz\017\b\220Q\020\024\032\006\b\300\306\'\030\b 8z\017\b\220Q\020<\032\006\b\200\315\020\030\b \036" +1: "\b\221Q\022\005SPLIR\030\001\"\004\b\356\231\001*\004\b\246\232\0012\004\b\372\231\0018\002B\006\b\340\362\022\030\bJ\025Split Rail Beer & AleR\fP.O. Box 555Z\006Landerb\002WYj\00582520r\003USAz\024\b\221Q\020\a\032\006\b\200\323\016\030\b \024-\315\314L>z\024\b\221Q\020<\032\006\b\200\315\020\030\b (-\315\314L>z\024\b\221Q\020D\032\006\b\240\215\006\030\b \020-\315\314L>" +1: "\b\222Q\022\005FAMIA\030\t\"\004\b\360\231\001*\004\b\214\232\0012\004\b\376\231\0018\003B\006\b\374\304\b\030\bJ\022Familia ArquibaldoR\rRua Or\303\263s, 92Z\tSao Paulob\002SPj\t05442-030r\006Brazilz\017\b\222Q\020\030\032\006\b\240\231\002\030\b \036z\017\b\222Q\020\"\032\006\b\200\353\006\030\b \024" +1: "\b\223Q\022\005SANTG\030\001\"\004\b\360\231\001*\004\b\250\232\0012\004\b\364\231\0018\002B\006\b\354\2229\030\bJ\016Sant\303\251 GourmetR\026Erling Skakkes gate 78Z\aStavernj\0044110r\006Norwayz\017\b\223Q\020\030\032\006\b\240\231\002\030\b \036z\017\b\223Q\020\034\032\006\b\340\233\026\030\b \fz\017\b\223Q\020;\032\006\b\300\355\032\030\b \030z\017\b\223Q\020G\032\006\b\340\277\n\030\b \036" +1: "\b\224Q\022\005SEVES\030\002\"\004\b\362\231\001*\004\b\252\232\0012\004\b\364\231\0018\001B\006\b\270\243\025\030\bJ\022Seven Seas ImportsR\01790 Wadhurst Rd.Z\006Londonj\bOX15 4NBr\002UKz\024\b\224Q\020-\032\006\b\340\321\004\030\b \036-\315\314L>z\024\b\224Q\0204\032\006\b\300\265\003\030\b (-\315\314L>z\017\b\224Q\0205\032\006\b\360\376\017\030\b P" +1: "\b\225Q\022\005BOTTM\030\004\"\004\b\364\231\001*\004\b\254\232\0012\004\b\374\231\0018\002B\006\b\330\370\034\030\bJ\025Bottom-Dollar MarketsR\02223 Tsawassen Blvd.Z\tTsawassenb\002BCj\aT2F 8M4r\006Canadaz\017\b\225Q\020\n\032\006\b\300\221\017\030\b z\017\b\225Q\0207\032\006\b\200\334\v\030\b \036z\017\b\225Q\020>\032\006\b\220\206\030\030\b (z\017\b\225Q\020F\032\006\b\300\251\a\030\b <" +1: "\b\226Q\022\005ERNSH\030\006\"\004\b\372\231\001*\004\b\262\232\0012\004\b\200\232\0018\001B\006\b\270\221M\030\bJ\fErnst HandelR\fKirchgasse 6Z\004Grazj\0048010r\aAustriaz\024\b\226Q\020\037\032\006\b\240\215\006\030\b x-\315\314\314=z\024\b\226Q\020#\032\006\b\200\345\b\030\b P-\315\314\314=z\017\b\226Q\020.\032\006\b\200\356\005\030\b Zz\024\b\226Q\020H\032\006\b\360\373\020\030\b 0-\315\314\314=" +1: "\b\227Q\022\005DRACD\030\003\"\004\b\372\231\001*\004\b\262\232\0012\004\b\212\232\0018\003B\006\b\344\251\003\030\bJ\030Drachenblut DelikatessenR\fWalserweg 21Z\006Aachenj\00552066r\aGermanyz\017\b\227Q\020\r\032\006\b\200\367\002\030\b $" +1: "\b\230Q\022\005PICCO\030\002\"\004\b\374\231\001*\004\b\264\232\0012\004\b\214\232\0018\003B\006\b\230\337J\030\bJ\020Piccolo und mehrR\vGeislweg 14Z\bSalzburgj\0045020r\aAustriaz\017\b\230Q\020E\032\006\b\200\312\021\030\b d" +1: "\b\231Q\022\005SAVEA\030\001\"\004\b\376\231\001*\004\b\266\232\0012\004\b\220\232\0018\003B\006\b\300\237M\030\bJ\022Save-a-lot MarketsR\017187 Suffolk Ln.Z\005Boiseb\002IDj\00583720r\003USAz\024\b\231Q\020\002\032\006\b\300\243\t\030\b 2-\000\000\200>z\024\b\231Q\020\016\032\006\b\220\255\v\030\b T-\000\000\200>z\024\b\231Q\020\031\032\006\b\200\353\006\030\b \016-\000\000\200>z\025\b\231Q\020\032\032\006\b\250\231\017\030\b \214\001-\000\000\200>z\017\b\231Q\020\037\032\006\b\240\215\006\030\b @" +1: "\b\232Q\022\005HUNGC\030\001\"\004\b\376\231\001*\004\b\266\232\0012\004\b\220\232\0018\003B\006\b\250\302\022\030\bJ\032Hungry Coyote Import StoreR\036City Center Plaza 516 Main St.Z\005Elginb\002ORj\00597827r\003USAz\017\b\232Q\020\r\032\006\b\200\367\002\030\b \024z\017\b\232Q\020>\032\006\b\220\206\030\030\b \024" +1: "\b\233Q\022\005HILAA\030\006\"\004\b\200\232\001*\004\b\270\232\0012\004\b\220\232\0018\001B\006\b\204\307p\030\bJ\020HILARION-AbastosR*Carrera 22 con Ave. Carlos Soublette #8-35Z\016San Crist\303\263balb\bT\303\241chiraj\0045022r\tVenezuelaz\024\b\233Q\020.\032\006\b\200\356\005\030\b 8-\315\314\314=z\025\b\233Q\0205\032\006\b\360\376\017\030\b \214\001-\315\314\314=z\017\b\233Q\020E\032\006\b\200\312\021\030\b \020" +1: "\b\234Q\022\005FRANK\030\001\"\004\b\202\232\001*\004\b\236\232\0012\004\b\226\232\0018\003B\006\b\234\316R\030\bJ\016FrankenversandR\021Berliner Platz 43Z\bM\303\274nchenj\00580805r\aGermanyz\017\b\234Q\020\027\032\006\b\300\262\004\030\b Pz\017\b\234Q\020G\032\006\b\340\277\n\030\b xz\017\b\234Q\020H\032\006\b\360\373\020\030\b *" +1: "\b\235Q\022\005PRINI\030\005\"\004\b\202\232\001*\004\b\272\232\0012\004\b\216\232\0018\001B\006\b\350\343$\030\bJ\026Princesa Isabel VinhosR\027Estrada da sa\303\272de n. 58Z\006Lisboaj\0041756r\bPortugalz\024\b\235Q\020\025\032\006\b\200\361\004\030\b \024-\232\231\031>z\024\b\235Q\0203\032\006\b\300\360\031\030\b $-\232\231\031>" +1: "\b\236Q\022\005SAVEA\030\002\"\004\b\210\232\001*\004\b\300\232\0012\004\b\234\232\0018\003B\006\b\320\2656\030\bJ\022Save-a-lot MarketsR\017187 Suffolk Ln.Z\005Boiseb\002IDj\00583720r\003USAz\017\b\236Q\020#\032\006\b\200\345\b\030\b z\025\b\243Q\0200\032\006\b\360\234\006\030\b \214\001-\232\231\031>" +1: "\b\244Q\022\005MAGAA\030\002\"\004\b\220\232\001*\004\b\310\232\0012\004\b\232\232\0018\001B\006\b\224\231_\030\bJ\034Magazzini Alimentari RiunitiR\027Via Ludovico il Moro 22Z\aBergamoj\00524100r\005Italyz\024\b\244Q\020\032\032\006\b\250\231\017\030\b <-\315\314L=z\024\b\244Q\020*\032\006\b\200\353\006\030\b P-\315\314L=z\024\b\244Q\0201\032\006\b\200\342\t\030\b <-\315\314L=" +1: "\b\245Q\022\005LINOD\030\001\"\004\b\226\232\001*\004\b\316\232\0012\004\b\266\232\0018\001B\006\b\250\240\025\030\bJ\020LINO-DelicatesesR\027Ave. 5 de Mayo PorlamarZ\017I. de Margaritab\rNueva Espartaj\0044980r\tVenezuelaz\017\b\245Q\020\003\032\006\b\200\361\004\030\b d" +1: "\b\246Q\022\005QUEEN\030\a\"\004\b\230\232\001*\004\b\354\232\0012\004\b\244\232\0018\001B\006\b\320\370A\030\bJ\rQueen CozinhaR\032Alameda dos Can\303\240rios, 891Z\tSao Paulob\002SPj\t05487-020r\006Brazilz\017\b\246Q\020\001\032\006\b\200\345\b\030\b \024z\024\b\246Q\020\025\032\006\b\200\361\004\030\b <-\315\314\314=z\024\b\246Q\020\034\032\006\b\340\233\026\030\b T-\315\314\314=z\024\b\246Q\020$\032\006\b\300\243\t\030\b \n-\315\314\314=z\024\b\246Q\020(\032\006\b\270\374\b\030\b \004-\315\314\314=" +1: "\b\247Q\022\005OTTIK\030\002\"\004\b\230\232\001*\004\b\320\232\0012\004\b\306\232\0018\002B\006\b\360\3527\030\bJ\023Ottilies K\303\244seladenR\022Mehrheimerstr. 369Z\005K\303\266lnj\00550739r\aGermanyz\017\b\247Q\020\v\032\006\b\300\240\n\030\b \032\006\b\220\206\030\030\b F" +1: "\b\251Q\022\005OCEAN\030\003\"\004\b\234\232\001*\004\b\324\232\0012\004\b\246\232\0018\001B\006\b\274\232\022\030\bJ\030Oc\303\251ano Atl\303\241ntico Ltda.R#Ing. Gustavo Moncada 8585 Piso 20-AZ\fBuenos Airesj\0041010r\tArgentinaz\017\b\251Q\020\016\032\006\b\220\255\v\030\b \030z\017\b\251Q\020\025\032\006\b\200\361\004\030\b \030" +1: "\b\252Q\022\005BOTTM\030\003\"\004\b\236\232\001*\004\b\326\232\0012\004\b\250\232\0018\003B\006\b\300\273\001\030\bJ\025Bottom-Dollar MarketsR\02223 Tsawassen Blvd.Z\tTsawassenb\002BCj\aT2F 8M4r\006Canadaz\017\b\252Q\020!\032\006\b\240\234\001\030\b bz\017\b\252Q\020;\032\006\b\300\355\032\030\b " +1: "\b\253Q\022\005BOTTM\030\t\"\004\b\236\232\001*\004\b\326\232\0012\004\b\264\232\0018\003B\006\b\324\267\016\030\bJ\025Bottom-Dollar MarketsR\02223 Tsawassen Blvd.Z\tTsawassenb\002BCj\aT2F 8M4r\006Canadaz\024\b\253Q\020)\032\006\b\310\331\004\030\b 2-\315\314L>z\024\b\253Q\020,\032\006\b\370\272\t\030\b P-\315\314L>z\024\b\253Q\020;\032\006\b\300\355\032\030\b \022-\315\314L>" +1: "\b\254Q\022\005WARTH\030\b\"\004\b\244\232\001*\004\b\334\232\0012\004\b\250\232\0018\002B\006\b\304\246\002\030\bJ\016Wartian HerkkuR\vTorikatu 38Z\004Ouluj\00590110r\aFinlandz\024\b\254Q\020\016\032\006\b\220\255\v\030\b (-\315\314\314=" +1: "\b\255Q\022\005LAMAI\030\003\"\004\b\246\232\001*\004\b\336\232\0012\004\b\252\232\0018\002B\006\b\270\261:\030\bJ\020La maison d\'AsieR\0251 rue Alsace-LorraineZ\bToulousej\00531000r\006Francez\017\b\255Q\020\001\032\006\b\200\345\b\030\b 0z\017\b\255Q\020>\032\006\b\220\206\030\030\b Pz\017\b\255Q\020L\032\006\b\200\345\b\030\b \034" +1: "\b\256Q\022\005FAMIA\030\002\"\004\b\246\232\001*\004\b\336\232\0012\004\b\254\232\0018\003B\006\b\220\216\r\030\bJ\022Familia ArquibaldoR\rRua Or\303\263s, 92Z\tSao Paulob\002SPj\t05442-030r\006Brazilz\024\b\256Q\020\023\032\006\b\250\272\004\030\b $-\315\314L=z\017\b\256Q\020!\032\006\b\240\234\001\030\b d" +1: "\b\257Q\022\005HUNGC\030\003\"\004\b\250\232\001*\004\b\340\232\0012\004\b\272\232\0018\001B\005\b\320\017\030\bJ\032Hungry Coyote Import StoreR\036City Center Plaza 516 Main St.Z\005Elginb\002ORj\00597827r\003USAz\017\b\257Q\020\021\032\006\b\300\205\023\030\b \004z\017\b\257Q\020!\032\006\b\240\234\001\030\b (" +1: "\b\260Q\022\005WARTH\030\b\"\004\b\252\232\001*\004\b\342\232\0012\004\b\300\232\0018\003B\006\b\200\357\r\030\bJ\016Wartian HerkkuR\vTorikatu 38Z\004Ouluj\00590110r\aFinlandz\017\b\260Q\020\023\032\006\b\250\272\004\030\b (z\017\b\260Q\0205\032\006\b\360\376\017\030\b \024z\017\b\260Q\0209\032\006\b\340\302\t\030\b (" +1: "\b\261Q\022\005SIMOB\030\004\"\004\b\252\232\001*\004\b\342\232\0012\004\b\302\232\0018\003B\006\b\264\363*\030\bJ\rSimons bistroR\rVinb\303\246ltet 34Z\tKobenhavnj\0041734r\aDenmarkz\020\b\261Q\020&\032\a\b\340\324\200\001\030\b dz\024\b\261Q\020.\032\006\b\200\356\005\030\b \004-\000\000\200>z\024\b\261Q\020D\032\006\b\240\215\006\030\b H-\000\000\200>z\017\b\261Q\020M\032\006\b\300\254\006\030\b F" +1: "\b\262Q\022\005QUICK\030\004\"\004\b\254\232\001*\004\b\344\232\0012\004\b\272\232\0018\001B\006\b\214\333\n\030\bJ\nQUICK-StopR\021Taucherstra\303\237e 10Z\tCunewaldej\00501307r\aGermanyz\017\b\262Q\020\002\032\006\b\300\243\t\030\b xz\017\b\262Q\020/\032\006\b\340\321\004\030\b nz\017\b\262Q\020=\032\006\b\240\365\r\030\b z\017\b\262Q\020J\032\006\b\200\361\004\030\b \036" +1: "\b\263Q\022\005RICSU\030\004\"\004\b\262\232\001*\004\b\352\232\0012\004\b\306\232\0018\002B\006\b\274\352S\030\bJ\022Richter SupermarktR\vStarenweg 5Z\aGen\303\250vej\0041204r\vSwitzerlandz\024\b\263Q\020<\032\006\b\200\315\020\030\b x-\315\314L=z\024\b\263Q\020E\032\006\b\200\312\021\030\b (-\315\314L=" +1: "\b\264Q\022\005WELLI\030\003\"\004\b\264\232\001*\004\b\354\232\0012\004\b\300\232\0018\001B\006\b\360\366\032\030\bJ\026Wellington ImportadoraR\022Rua do Mercado, 12Z\aResendeb\002SPj\t08737-363r\006Brazilz\024\b\264Q\020\t\032\006\b\300\256/\030\b (-\315\314\314=z\024\b\264Q\020\r\032\006\b\200\367\002\030\b \004-\315\314\314=z\024\b\264Q\020F\032\006\b\300\251\a\030\b \020-\315\314\314=z\024\b\264Q\020I\032\006\b\300\251\a\030\b (-\315\314\314=" +1: "\b\265Q\022\005QUEDE\030\b\"\004\b\264\232\001*\004\b\210\233\0012\004\b\300\232\0018\001B\006\b\254\310<\030\bJ\fQue Del\303\255ciaR\027Rua da Panificadora, 12Z\016Rio de Janeirob\002RJj\t02389-673r\006Brazilz\024\b\265Q\020\023\032\006\b\250\272\004\030\b \b-\232\231\031>z\017\b\265Q\020\032\032\006\b\250\231\017\030\b z\024\b\265Q\020M\032\006\b\300\254\006\030\b \024-\232\231\031>" +1: "\b\266Q\022\005FRANS\030\002\"\004\b\266\232\001*\004\b\356\232\0012\004\b\310\232\0018\001B\006\b\370\353\001\030\bJ\016Franchi S.p.A.R\023Via Monte Bianco 34Z\006Torinoj\00510100r\005Italyz\017\b\266Q\020\032\032\006\b\250\231\017\030\b \004" +1: "\b\267Q\022\005GOURL\030\006\"\004\b\270\232\001*\004\b\324\232\0012\004\b\370\232\0018\003B\006\b\210\372\016\030\bJ\023Gourmet LanchonetesR\017Av. Brasil, 442Z\bCampinasb\002SPj\t04876-786r\006Brazilz\017\b\267Q\020\037\032\006\b\240\215\006\030\b \034z\017\b\267Q\020;\032\006\b\300\355\032\030\b (" +1: "\b\270Q\022\005MEREP\030\a\"\004\b\270\232\001*\004\b\360\232\0012\004\b\300\232\0018\002B\a\b\364\231\342\001\030\bJ\017M\303\250re PaillardeR\02243 rue St. LaurentZ\tMontr\303\251alb\aQu\303\251becj\aH1J 1C3r\006Canadaz\024\b\270Q\020#\032\006\b\200\345\b\030\b x-\315\314L>z\025\b\270Q\020&\032\a\b\340\324\200\001\030\b b-\315\314L>z\024\b\270Q\020D\032\006\b\240\215\006\030\b <-\315\314L>" +1: "\b\271Q\022\005LAMAI\030\006\"\004\b\272\232\001*\004\b\362\232\0012\004\b\344\232\0018\002B\006\b\304\353\004\030\bJ\020La maison d\'AsieR\0251 rue Alsace-LorraineZ\bToulousej\00531000r\006Francez\024\b\271Q\0207\032\006\b\200\334\v\030\b \024-\000\000\200>z\024\b\271Q\020L\032\006\b\200\345\b\030\b (-\000\000\200>" +1: "\b\272Q\022\005GALED\030\004\"\004\b\300\232\001*\004\b\370\232\0012\004\b\324\232\0018\001B\006\b\224\264\v\030\bJ\030Galer\303\255a del gastron\303\263moR\027Rambla de Catalu\303\261a, 23Z\tBarcelonaj\0048022r\005Spainz\017\b\272Q\0208\032\006\b\200\307\022\030\b \nz\017\b\272Q\020@\032\006\b\220\236\020\030\b \016" +1: "\b\273Q\022\005PICCO\030\004\"\004\b\300\232\001*\004\b\370\232\0012\004\b\206\233\0018\002B\006\b\304\214\023\030\bJ\020Piccolo und mehrR\vGeislweg 14Z\bSalzburgj\0045020r\aAustriaz\017\b\273Q\020\016\032\006\b\220\255\v\030\b F" +1: "\b\274Q\022\005REGGC\030\a\"\004\b\302\232\001*\004\b\372\232\0012\004\b\320\232\0018\001B\006\b\264\342\006\030\bJ\022Reggiani CaseificiR\026Strada Provinciale 124Z\rReggio Emiliaj\00542100r\005Italyz\017\b\274Q\020.\032\006\b\200\356\005\030\b (" +1: "\b\275Q\022\005HUNGO\030\003\"\004\b\304\232\001*\004\b\230\233\0012\004\b\326\232\0018\002B\006\b\234\310\"\030\bJ\034Hungry Owl All-Night GrocersR\0208 Johnstown RoadZ\004Corkb\bCo. Corkr\aIrelandz\017\b\275Q\0202\032\006\b\320\367\a\030\b Pz\024\b\275Q\020?\032\006\b\230\266\025\030\b F-\000\000\200>" +1: "\b\276Q\022\005ERNSH\030\004\"\004\b\306\232\001*\004\b\342\232\0012\004\b\316\232\0018\001B\a\b\230\202\230\002\030\bJ\fErnst HandelR\fKirchgasse 6Z\004Grazj\0048010r\aAustriaz\024\b\276Q\020\021\032\006\b\300\205\023\030\b Z-\315\314L>z\017\b\276Q\020\025\032\006\b\200\361\004\030\b dz\017\b\276Q\0208\032\006\b\200\307\022\030\b " +1: "\b\277Q\022\005BOTTM\030\004\"\004\b\306\232\001*\004\b\342\232\0012\004\b\326\232\0018\002B\006\b\344\372\032\030\bJ\025Bottom-Dollar MarketsR\02223 Tsawassen Blvd.Z\tTsawassenb\002BCj\aT2F 8M4r\006Canadaz\024\b\277Q\020\021\032\006\b\300\205\023\030\b d-\000\000\200>z\024\b\277Q\020(\032\006\b\270\374\b\030\b d-\000\000\200>z\024\b\277Q\020/\032\006\b\340\321\004\030\b <-\000\000\200>" +1: "\b\300Q\022\005SPLIR\030\003\"\004\b\310\232\001*\004\b\344\232\0012\004\b\326\232\0018\002B\006\b\210\323\002\030\bJ\025Split Rail Beer & AleR\fP.O. Box 555Z\006Landerb\002WYj\00582520r\003USAz\017\b\300Q\020\032\032\006\b\250\231\017\030\b \024z\017\b\300Q\0206\032\006\b\370\314\003\030\b P" +1: "\b\301Q\022\005PRINI\030\003\"\004\b\316\232\001*\004\b\206\233\0012\004\b\210\233\0018\003B\006\b\374\207-\030\bJ\026Princesa Isabel VinhosR\027Estrada da sa\303\272de n. 58Z\006Lisboaj\0041756r\bPortugalz\017\b\301Q\0208\032\006\b\200\307\022\030\b 8" +1: "\b\302Q\022\005FOLKO\030\003\"\004\b\316\232\001*\004\b\206\233\0012\004\b\342\232\0018\002B\006\b\200\370\n\030\bJ\017Folk och f\303\244 HBR\r\303\205kergatan 24Z\aBr\303\244ckej\bS-844 67r\006Swedenz\017\b\302Q\020\v\032\006\b\300\240\n\030\b \fz\024\b\302Q\020L\032\006\b\200\345\b\030\b $-\232\231\031>" +1: "\b\303Q\022\005CONSH\030\b\"\004\b\320\232\001*\004\b\244\233\0012\004\b\326\232\0018\002B\006\b\304\317\005\030\bJ\025Consolidated HoldingsR\034Berkeley Gardens 12 BreweryZ\006Londonj\aWX1 6LTr\002UKz\017\b\303Q\020\002\032\006\b\300\243\t\030\b \024z\017\b\303Q\020\026\032\006\b\300\240\n\030\b \030z\017\b\303Q\020H\032\006\b\360\373\020\030\b \024" +1: "\b\304Q\022\005BLONP\030\003\"\004\b\322\232\001*\004\b\212\233\0012\004\b\336\232\0018\002B\006\b\210\317_\030\bJ\025Blondel p\303\250re et filsR\02124, place Kl\303\251berZ\nStrasbourgj\00567000r\006Francez\017\b\304Q\020.\032\006\b\200\356\005\030\b \nz\024\b\304Q\0208\032\006\b\200\307\022\030\b P-\315\314\314=z\024\b\304Q\020@\032\006\b\220\236\020\030\b <-\315\314\314=z\024\b\304Q\020K\032\006\b\260\344\003\030\b 0-\315\314\314=" +1: "\b\305Q\022\005WARTH\030\b\"\004\b\322\232\001*\004\b\212\233\0012\004\b\340\232\0018\001B\006\b\224\230\f\030\bJ\016Wartian HerkkuR\vTorikatu 38Z\004Ouluj\00590110r\aFinlandz\017\b\305Q\0205\032\006\b\360\376\017\030\b \036" +1: "\b\306Q\022\005TOMSP\030\003\"\004\b\324\232\001*\004\b\214\233\0012\004\b\344\232\0018\002B\006\b\340\203\005\030\bJ\023Toms Spezialit\303\244tenR\rLuisenstr. 48Z\bM\303\274nsterj\00544087r\aGermanyz\024\b\306Q\020\023\032\006\b\250\272\004\030\b \036-\315\314L>z\024\b\306Q\020\"\032\006\b\200\353\006\030\b (-\315\314L>z\024\b\306Q\0209\032\006\b\340\302\t\030\b \036-\315\314L>" +1: "\b\307Q\022\005MEREP\030\006\"\004\b\326\232\001*\004\b\216\233\0012\004\b\334\232\0018\003B\006\b\374\275\002\030\bJ\017M\303\250re PaillardeR\02243 rue St. LaurentZ\tMontr\303\251alb\aQu\303\251becj\aH1J 1C3r\006Canadaz\017\b\307Q\020\f\032\006\b\200\307\022\030\b \036z\017\b\307Q\020\020\032\006\b\370\275\b\030\b z\017\b\307Q\020@\032\006\b\220\236\020\030\b \fz\017\b\307Q\020J\032\006\b\200\361\004\030\b <" +1: "\b\310Q\022\005SAVEA\030\004\"\004\b\334\232\001*\004\b\224\233\0012\004\b\200\233\0018\002B\006\b\224\3504\030\bJ\022Save-a-lot MarketsR\017187 Suffolk Ln.Z\005Boiseb\002IDj\00583720r\003USAz\024\b\310Q\020\002\032\006\b\300\243\t\030\b Z-\232\231\031>z\024\b\310Q\020\020\032\006\b\370\275\b\030\b b-\232\231\031>z\024\b\310Q\020\035\032\006\b\260\266<\030\b 0-\232\231\031>z\025\b\310Q\020=\032\006\b\240\365\r\030\b \264\001-\232\231\031>" +1: "\b\311Q\022\005OLDWO\030\003\"\004\b\334\232\001*\004\b\260\233\0012\004\b\234\233\0018\002B\006\b\330\310,\030\bJ\026Old World DelicatessenR\0172743 Bering St.Z\tAnchorageb\002AKj\00599508r\003USAz\017\b\311Q\020\033\032\006\b\230\266\025\030\b d" +1: "\b\312Q\022\005ERNSH\030\003\"\004\b\336\232\001*\004\b\226\233\0012\004\b\354\232\0018\002B\006\b\250\241\035\030\bJ\fErnst HandelR\fKirchgasse 6Z\004Grazj\0048010r\aAustriaz\017\b\312Q\020\v\032\006\b\300\240\n\030\b z\017\b\313Q\020\034\032\006\b\340\233\026\030\b \030" +1: "\b\314Q\022\005BERGS\030\003\"\004\b\340\232\001*\004\b\230\233\0012\004\b\362\232\0018\003B\006\b\270\221\002\030\bJ\023Berglunds snabbk\303\266pR\020Berguvsv\303\244gen 8Z\006Lule\303\245j\bS-958 22r\006Swedenz\017\b\314Q\020\021\032\006\b\300\205\023\030\b \024z\017\b\314Q\020\032\032\006\b\250\231\017\030\b \036z\017\b\314Q\020#\032\006\b\200\345\b\030\b \020z\017\b\314Q\020)\032\006\b\310\331\004\030\b <" +1: "\b\315Q\022\005BERGS\030\003\"\004\b\342\232\001*\004\b\232\233\0012\004\b\360\232\0018\001B\006\b\310\326\005\030\bJ\023Berglunds snabbk\303\266pR\020Berguvsv\303\244gen 8Z\006Lule\303\245j\bS-958 22r\006Swedenz\017\b\315Q\020\'\032\006\b\200\345\b\030\b \fz\017\b\315Q\0206\032\006\b\370\314\003\030\b \036" +1: "\b\316Q\022\005TOMSP\030\006\"\004\b\344\232\001*\004\b\234\233\0012\004\b\356\232\0018\001B\006\b\360\372\b\030\bJ\023Toms Spezialit\303\244tenR\rLuisenstr. 48Z\bM\303\274nsterj\00544087r\aGermanyz\024\b\316Q\020\023\032\006\b\250\272\004\030\b \030-\315\314\314=z\024\b\316Q\020\030\032\006\b\240\231\002\030\b (-\315\314\314=z\024\b\316Q\020\037\032\006\b\240\215\006\030\b \006-\315\314\314=z\024\b\316Q\0204\032\006\b\300\265\003\030\b \036-\315\314\314=" +1: "\b\317Q\022\005RICAR\030\004\"\004\b\344\232\001*\004\b\234\233\0012\004\b\216\233\0018\002B\006\b\210\364)\030\bJ\022Ricardo AdocicadosR\023Av. Copacabana, 267Z\016Rio de Janeirob\002RJj\t02389-890r\006Brazilz\017\b\317Q\020\023\032\006\b\250\272\004\030\b Pz\017\b\317Q\020A\032\006\b\300\240\n\030\b Fz\017\b\317Q\020G\032\006\b\340\277\n\030\b \004" +1: "\b\320Q\022\005RANCH\030\004\"\004\b\352\232\001*\004\b\242\233\0012\004\b\370\232\0018\002B\006\b\350\330\027\030\bJ\rRancho grandeR\026Av. del Libertador 900Z\fBuenos Airesj\0041010r\tArgentinaz\017\b\320Q\020\032\032\006\b\250\231\017\030\b \fz\017\b\320Q\020(\032\006\b\270\374\b\030\b (" +1: "\b\321Q\022\005BLONP\030\003\"\004\b\354\232\001*\004\b\244\233\0012\004\b\376\232\0018\002B\006\b\210\304 \030\bJ\025Blondel p\303\250re et filsR\02124, place Kl\303\251berZ\nStrasbourgj\00567000r\006Francez\017\b\321Q\020\n\032\006\b\300\221\017\030\b \034z\017\b\321Q\0204\032\006\b\300\265\003\030\b (z\017\b\321Q\020>\032\006\b\220\206\030\030\b F" +1: "\b\322Q\022\005VICTE\030\b\"\004\b\356\232\001*\004\b\246\233\0012\004\b\226\233\0018\002B\006\b\354\264\004\030\bJ\024Victuailles en stockR\0222, rue du CommerceZ\004Lyonj\00569004r\006Francez\024\b\322Q\020\n\032\006\b\300\221\017\030\b (-\315\314L>z\024\b\322Q\0206\032\006\b\370\314\003\030\b \f-\315\314L>" +1: "\b\323Q\022\005QUICK\030\004\"\004\b\356\232\001*\004\b\212\233\0012\004\b\230\233\0018\003B\006\b\324\264s\030\bJ\nQUICK-StopR\021Taucherstra\303\237e 10Z\tCunewaldej\00501307r\aGermanyz\025\b\323Q\0207\032\006\b\200\334\v\030\b \360\001-\315\314\314=z\024\b\323Q\020@\032\006\b\220\236\020\030\b F-\315\314\314=z\024\b\323Q\020A\032\006\b\300\240\n\030\b 8-\315\314\314=z\024\b\323Q\020M\032\006\b\300\254\006\030\b n-\315\314\314=" +1: "\b\324Q\022\005SAVEA\030\b\"\004\b\360\232\001*\004\b\250\233\0012\004\b\374\232\0018\001B\006\b\350\315U\030\bJ\022Save-a-lot MarketsR\017187 Suffolk Ln.Z\005Boiseb\002IDj\00583720r\003USAz\017\b\324Q\020\034\032\006\b\340\233\026\030\b \036z\025\b\324Q\020,\032\006\b\370\272\t\030\b \310\001-\315\314L=" +1: "\b\325Q\022\005AROUT\030\001\"\004\b\362\232\001*\004\b\252\233\0012\004\b\374\232\0018\002B\006\b\240\275\017\030\bJ\017Around the HornR\035Brook Farm Stratford St. MaryZ\nColchesterb\005Essexj\aCO7 6JXr\002UKz\024\b\325Q\0200\032\006\b\360\234\006\030\b \036-\315\314\314=z\024\b\325Q\020F\032\006\b\300\251\a\030\b 2-\315\314\314=" +1: "\b\326Q\022\005LAMAI\030\004\"\004\b\362\232\001*\004\b\252\233\0012\004\b\372\232\0018\003B\006\b\210\326\001\030\bJ\020La maison d\'AsieR\0251 rue Alsace-LorraineZ\bToulousej\00531000r\006Francez\024\b\326Q\020\020\032\006\b\370\275\b\030\b (-\315\314L>z\024\b\326Q\020!\032\006\b\240\234\001\030\b (-\315\314L>z\024\b\326Q\020.\032\006\b\200\356\005\030\b \024-\315\314L>" +1: "\b\327Q\022\005WARTH\030\b\"\004\b\370\232\001*\004\b\314\233\0012\004\b\206\233\0018\002B\006\b\324\221n\030\bJ\016Wartian HerkkuR\vTorikatu 38Z\004Ouluj\00590110r\aFinlandz\017\b\327Q\020\'\032\006\b\200\345\b\030\b (z\017\b\327Q\0205\032\006\b\360\376\017\030\b dz\017\b\327Q\020=\032\006\b\240\365\r\030\b 2z\017\b\327Q\020G\032\006\b\340\277\n\030\b <" +1: "\b\330Q\022\005KOENE\030\b\"\004\b\372\232\001*\004\b\316\233\0012\004\b\200\233\0018\002B\006\b\260\372\004\030\bJ\020K\303\266niglich EssenR\rMaubelstr. 90Z\vBrandenburgj\00514776r\aGermanyz\024\b\330Q\020\025\032\006\b\200\361\004\030\b P-\232\231\031>z\024\b\330Q\0201\032\006\b\200\342\t\030\b *-\232\231\031>" +1: "\b\331Q\022\005KOENE\030\002\"\004\b\372\232\001*\004\b\262\233\0012\004\b\206\233\0018\001B\006\b\364\207\a\030\bJ\020K\303\266niglich EssenR\rMaubelstr. 90Z\vBrandenburgj\00514776r\aGermanyz\017\b\331Q\020;\032\006\b\300\355\032\030\b H" +1: "\b\332Q\022\005SUPRD\030\a\"\004\b\374\232\001*\004\b\264\233\0012\004\b\210\233\0018\003B\006\b\210\341Y\030\bJ\022Supr\303\252mes d\303\251licesR\024Boulevard Tirou, 255Z\tCharleroij\006B-6000r\aBelgiumz\017\b\332Q\020\032\032\006\b\250\231\017\030\b z\024\b\334Q\020K\032\006\b\260\344\003\030\b \b-\000\000\200>" +1: "\b\335Q\022\005LILAS\030\001\"\004\b\200\233\001*\004\b\270\233\0012\004\b\212\233\0018\003B\006\b\224\332Z\030\bJ\021LILA-SupermercadoR/Carrera 52 con Ave. Bol\303\255var #65-98 Llano LargoZ\fBarquisimetob\004Laraj\0043508r\tVenezuelaz\024\b\335Q\020\025\032\006\b\200\361\004\030\b P-\000\000\200>z\024\b\335Q\020\036\032\006\b\230\321\f\030\b 8-\000\000\200>z\024\b\335Q\0207\032\006\b\200\334\v\030\b x-\000\000\200>" +1: "\b\336Q\022\005CONSH\030\002\"\004\b\206\233\001*\004\b\276\233\0012\004\b\244\233\0018\001B\006\b\204\342\003\030\bJ\025Consolidated HoldingsR\034Berkeley Gardens 12 BreweryZ\006Londonj\aWX1 6LTr\002UKz\017\b\336Q\020\r\032\006\b\200\367\002\030\b \002z\017\b\336Q\020\027\032\006\b\300\262\004\030\b *" +1: "\b\337Q\022\005SUPRD\030\005\"\004\b\210\233\001*\004\b\300\233\0012\004\b\214\233\0018\003B\006\b\330\202\t\030\bJ\022Supr\303\252mes d\303\251licesR\024Boulevard Tirou, 255Z\tCharleroij\006B-6000r\aBelgiumz\017\b\337Q\020\023\032\006\b\250\272\004\030\b *z\017\b\337Q\020*\032\006\b\200\353\006\030\b d" +1: "\b\340Q\022\005FURIB\030\004\"\004\b\210\233\001*\004\b\300\233\0012\004\b\234\233\0018\002B\006\b\220\2516\030\bJ\036Furia Bacalhau e Frutos do MarR\026Jardim das rosas n. 32Z\006Lisboaj\0041675r\bPortugalz\024\b\340Q\020\004\032\006\b\200\337\n\030\b -\315\314L>z\017\b\340Q\020+\032\006\b\200\273\026\030\b \006z\024\b\340Q\0208\032\006\b\200\307\022\030\b <-\315\314L>z\017\b\340Q\020<\032\006\b\200\315\020\030\b (" +1: "\b\341Q\022\005VAFFE\030\001\"\004\b\212\233\001*\004\b\302\233\0012\004\b\234\233\0018\003B\006\b\240\303X\030\bJ\fVaffeljernetR\rSmagsloget 45Z\006\303\205rhusj\0048200r\aDenmarkz\017\b\341Q\020\030\032\006\b\240\231\002\030\b 2z\024\b\341Q\020\035\032\006\b\260\266<\030\b $-\315\314\314=z\017\b\341Q\020(\032\006\b\270\374\b\030\b (z\024\b\341Q\020-\032\006\b\340\321\004\030\b <-\315\314\314=z\017\b\341Q\0202\032\006\b\320\367\a\030\b 2" +1: "\b\342Q\022\005COMMI\030\004\"\004\b\214\233\001*\004\b\304\233\0012\004\b\232\233\0018\001B\006\b\204\244\a\030\bJ\021Com\303\251rcio MineiroR\025Av. dos Lus\303\255adas, 23Z\tSao Paulob\002SPj\t05432-043r\006Brazilz\017\b\342Q\020\v\032\006\b\300\240\n\030\b \024z\017\b\342Q\020.\032\006\b\200\356\005\030\b \n" +1: "\b\343Q\022\005MAGAA\030\b\"\004\b\214\233\001*\004\b\304\233\0012\004\b\226\233\0018\002B\006\b\224\201\003\030\bJ\034Magazzini Alimentari RiunitiR\027Via Ludovico il Moro 22Z\aBergamoj\00524100r\005Italyz\017\b\343Q\020\030\032\006\b\240\231\002\030\b 8z\017\b\343Q\020\031\032\006\b\200\353\006\030\b \030" +1: "\b\344Q\022\005KOENE\030\003\"\004\b\216\233\001*\004\b\306\233\0012\004\b\230\233\0018\003B\006\b\360\366\032\030\bJ\020K\303\266niglich EssenR\rMaubelstr. 90Z\vBrandenburgj\00514776r\aGermanyz\017\b\344Q\020\036\032\006\b\230\321\f\030\b \020z\017\b\344Q\020+\032\006\b\200\273\026\030\b \036" +1: "\b\345Q\022\005WHITC\030\001\"\004\b\224\233\001*\004\b\314\233\0012\004\b\234\233\0018\001B\006\b\310\335$\030\bJ\024White Clover MarketsR\0231029 - 12th Ave. S.Z\aSeattleb\002WAj\00598124r\003USAz\024\b\345Q\020\002\032\006\b\300\243\t\030\b P-\232\231\031>z\024\b\345Q\020\020\032\006\b\370\275\b\030\b F-\232\231\031>z\024\b\345Q\020,\032\006\b\370\272\t\030\b \004-\232\231\031>" +1: "\b\346Q\022\005BONAP\030\004\"\004\b\226\233\001*\004\b\316\233\0012\004\b\234\233\0018\002B\006\b\340\263\'\030\bJ\bBon app\'R\02412, rue des BouchersZ\tMarseillej\00513008r\006Francez\017\b\346Q\020\022\032\006\b\240\302\036\030\b z\024\b\353Q\020B\032\006\b\300\246\b\030\b x-\232\231\031>z\024\b\353Q\020L\032\006\b\200\345\b\030\b T-\232\231\031>" +1: "\b\354Q\022\005HILAA\030\b\"\004\b\242\233\001*\004\b\332\233\0012\004\b\260\233\0018\003B\006\b\304\330\002\030\bJ\020HILARION-AbastosR*Carrera 22 con Ave. Carlos Soublette #8-35Z\016San Crist\303\263balb\bT\303\241chiraj\0045022r\tVenezuelaz\024\b\354Q\0207\032\006\b\200\334\v\030\b \004-\315\314L=z\017\b\354Q\020F\032\006\b\300\251\a\030\b \030" +1: "\b\355Q\022\005PRINI\030\005\"\004\b\242\233\001*\004\b\332\233\0012\004\b\262\233\0018\002B\006\b\230\371\a\030\bJ\026Princesa Isabel VinhosR\027Estrada da sa\303\272de n. 58Z\006Lisboaj\0041756r\bPortugalz\017\b\355Q\020\001\032\006\b\200\345\b\030\b \036z\024\b\355Q\020\025\032\006\b\200\361\004\030\b *-\000\000\200>z\024\b\355Q\020\'\032\006\b\200\345\b\030\b (-\000\000\200>" +1: "\b\356Q\022\005VICTE\030\002\"\004\b\244\233\001*\004\b\300\233\0012\004\b\264\233\0018\003B\006\b\344\367\002\030\bJ\024Victuailles en stockR\0222, rue du CommerceZ\004Lyonj\00569004r\006Francez\024\b\356Q\020\n\032\006\b\300\221\017\030\b (-\315\314L=" +1: "\b\357Q\022\005RATTC\030\003\"\004\b\246\233\001*\004\b\336\233\0012\004\b\252\233\0018\003B\a\b\334\332\260\003\030\bJ\032Rattlesnake Canyon GroceryR\0172817 Milton Dr.Z\vAlbuquerqueb\002NMj\00587110r\003USAz\020\b\357Q\020&\032\a\b\340\324\200\001\030\b " +1: "\b\370Q\022\005FRANK\030\b\"\004\b\266\233\001*\004\b\356\233\0012\004\b\302\233\0018\002B\006\b\224\201\003\030\bJ\016FrankenversandR\021Berliner Platz 43Z\bM\303\274nchenj\00580805r\aGermanyz\017\b\370Q\020;\032\006\b\300\355\032\030\b " +1: "\b\371Q\022\005PICCO\030\006\"\004\b\270\233\001*\004\b\360\233\0012\004\b\320\233\0018\002B\006\b\244\235\003\030\bJ\020Piccolo und mehrR\vGeislweg 14Z\bSalzburgj\0045020r\aAustriaz\024\b\371Q\020\v\032\006\b\300\240\n\030\b \036-\000\000\200>z\017\b\371Q\020\020\032\006\b\370\275\b\030\b $" +1: "\b\372Q\022\005HILAA\030\a\"\004\b\276\233\001*\004\b\366\233\0012\004\b\304\233\0018\002B\a\b\214\245\200\001\030\bJ\020HILARION-AbastosR*Carrera 22 con Ave. Carlos Soublette #8-35Z\016San Crist\303\263balb\bT\303\241chiraj\0045022r\tVenezuelaz\017\b\372Q\020;\032\006\b\300\355\032\030\b xz\017\b\372Q\020D\032\006\b\240\215\006\030\b z\024\b\373Q\020M\032\006\b\300\254\006\030\b \016-\232\231\031>" +1: "\b\374Q\022\005BOTTM\030\003\"\004\b\300\233\001*\004\b\370\233\0012\004\b\324\233\0018\001B\006\b\244\261&\030\bJ\025Bottom-Dollar MarketsR\02223 Tsawassen Blvd.Z\tTsawassenb\002BCj\aT2F 8M4r\006Canadaz\024\b\374Q\020\031\032\006\b\200\353\006\030\b x-\315\314L=z\024\b\374Q\020*\032\006\b\200\353\006\030\b (-\315\314L=" +1: "\b\375Q\022\005LAMAI\030\004\"\004\b\302\233\001*\004\b\372\233\0012\004\b\322\233\0018\003B\006\b\240\277\006\030\bJ\020La maison d\'AsieR\0251 rue Alsace-LorraineZ\bToulousej\00531000r\006Francez\024\b\375Q\020A\032\006\b\300\240\n\030\b \036-\315\314\314=z\024\b\375Q\020B\032\006\b\300\246\b\030\b \024-\315\314\314=z\024\b\375Q\020E\032\006\b\200\312\021\030\b \024-\315\314\314=" +1: "\b\376Q\022\005COMMI\030\004\"\004\b\302\233\001*\004\b\372\233\0012\004\b\320\233\0018\002B\006\b\274\243(\030\bJ\021Com\303\251rcio MineiroR\025Av. dos Lus\303\255adas, 23Z\tSao Paulob\002SPj\t05432-043r\006Brazilz\017\b\376Q\0208\032\006\b\200\307\022\030\b <" +1: "\b\377Q\022\005LAUGB\030\003\"\004\b\304\233\001*\004\b\374\233\0012\004\b\324\233\0018\003B\006\b\244\353\002\030\bJ\035Laughing Bacchus Wine CellarsR\f2319 Elm St.Z\tVancouverb\002BCj\aV3F 2K1r\006Canadaz\017\b\377Q\020\027\032\006\b\300\262\004\030\b \024z\017\b\377Q\020)\032\006\b\310\331\004\030\b (z\017\b\377Q\020M\032\006\b\300\254\006\030\b \n" +1: "\b\200R\022\005TRADH\030\a\"\004\b\306\233\001*\004\b\376\233\0012\004\b\314\233\0018\002B\006\b\364\305\034\030\bJ\027Tradi\303\247ao HipermercadosR\030Av. In\303\252s de Castro, 414Z\tSao Paulob\002SPj\t05634-030r\006Brazilz\024\b\200R\020\037\032\006\b\240\215\006\030\b (-\315\314L=" +1: "\b\201R\022\005LEHMS\030\a\"\004\b\306\233\001*\004\b\376\233\0012\004\b\314\233\0018\001B\006\b\364\214\026\030\bJ\023Lehmanns MarktstandR\fMagazinweg 7Z\016Frankfurt a.M.j\00560528r\aGermanyz\017\b\201R\0208\032\006\b\200\307\022\030\b \034z\017\b\201R\020H\032\006\b\360\373\020\030\b 2z\017\b\201R\020M\032\006\b\300\254\006\030\b 2" +1: "\b\202R\022\005HILAA\030\b\"\004\b\314\233\001*\004\b\204\234\0012\004\b\324\233\0018\002B\006\b\234\224\022\030\bJ\020HILARION-AbastosR*Carrera 22 con Ave. Carlos Soublette #8-35Z\016San Crist\303\263balb\bT\303\241chiraj\0045022r\tVenezuelaz\017\b\202R\020\030\032\006\b\310\337\002\030\b \034z\017\b\202R\020(\032\006\b\300\235\v\030\b \nz\017\b\202R\020*\032\006\b\340\305\b\030\b <" +1: "\b\203R\022\005LILAS\030\004\"\004\b\316\233\001*\004\b\206\234\0012\004\b\336\233\0018\002B\006\b\250\242>\030\bJ\021LILA-SupermercadoR/Carrera 52 con Ave. Bol\303\255var #65-98 Llano LargoZ\fBarquisimetob\004Laraj\0043508r\tVenezuelaz\017\b\203R\020\034\032\006\b\300\352\033\030\b (z\017\b\203R\0201\032\006\b\300\232\f\030\b 2" +1: "\b\204R\022\005LAMAI\030\006\"\004\b\320\233\001*\004\b\210\234\0012\004\b\340\233\0018\001B\006\b\260\206\032\030\bJ\020La maison d\'AsieR\0251 rue Alsace-LorraineZ\bToulousej\00531000r\006Francez\024\b\204R\020\017\032\006\b\370\272\t\030\b \030-\315\314L=z\024\b\204R\020\034\032\006\b\300\352\033\030\b \020-\315\314L=" +1: "\b\205R\022\005BLAUS\030\t\"\004\b\320\233\001*\004\b\210\234\0012\004\b\336\233\0018\003B\006\b\264\263\005\030\bJ\027Blauer See DelikatessenR\016Forsterstr. 57Z\bMannheimj\00568306r\aGermanyz\017\b\205R\0206\032\006\b\204\306\004\030\b (" +1: "\b\206R\022\005PERIC\030\002\"\004\b\322\233\001*\004\b\212\234\0012\004\b\370\233\0018\001B\006\b\320\247*\030\bJ\032Pericles Comidas cl\303\241sicasR\030Calle Dr. Jorge Cash 321Z\fM\303\251xico D.F.j\00505033r\006Mexicoz\017\b\206R\020-\032\006\b\230\346\005\030\b *z\017\b\206R\0205\032\006\b\300\202\024\030\b \fz\017\b\206R\020C\032\006\b\340\305\b\030\b <" +1: "\b\207R\022\005HUNGO\030\006\"\004\b\324\233\001*\004\b\214\234\0012\004\b\336\233\0018\002B\006\b\350\233\n\030\bJ\034Hungry Owl All-Night GrocersR\0208 Johnstown RoadZ\004Corkb\bCo. Corkr\aIrelandz\020\b\207R\020\016\032\006\b\264\230\016\030\b \214\001z\017\b\207R\020A\032\006\b\304\354\f\030\b (" +1: "\b\210R\022\005WHITC\030\004\"\004\b\324\233\001*\004\b\214\234\0012\004\b\342\233\0018\003B\006\b\304\213$\030\bJ\024White Clover MarketsR\0231029 - 12th Ave. S.Z\aSeattleb\002WAj\00598124r\003USAz\017\b\210R\020\002\032\006\b\260\314\v\030\b \030z\017\b\210R\020\025\032\006\b\240\215\006\030\b \030z\017\b\210R\0205\032\006\b\300\202\024\030\b \024z\017\b\210R\020=\032\006\b\310\262\021\030\b 2" +1: "\b\211R\022\005MEREP\030\003\"\004\b\332\233\001*\004\b\222\234\0012\004\b\350\233\0018\003B\006\b\204\255\004\030\bJ\017M\303\250re PaillardeR\02243 rue St. LaurentZ\tMontr\303\251alb\aQu\303\251becj\aH1J 1C3r\006Canadaz\017\b\211R\020>\032\006\b\310\213\036\030\b \006" +1: "\b\212R\022\005KOENE\030\t\"\004\b\334\233\001*\004\b\224\234\0012\004\b\376\233\0018\002B\006\b\274\367\f\030\bJ\020K\303\266niglich EssenR\rMaubelstr. 90Z\vBrandenburgj\00514776r\aGermanyz\024\b\212R\020\031\032\006\b\340\305\b\030\b $-\315\314\314=z\024\b\212R\020F\032\006\b\360\223\t\030\b \034-\315\314\314=" +1: "\b\213R\022\005ANTON\030\a\"\004\b\334\233\001*\004\b\224\234\0012\004\b\352\233\0018\001B\006\b\204\373\034\030\bJ\030Antonio Moreno Taquer\303\255aR\017Mataderos 2312Z\fM\303\251xico D.F.j\00505023r\006Mexicoz\024\b\213R\020+\032\006\b\340\211\034\030\b \036-\232\231\031>z\024\b\213R\0200\032\006\b\214\344\a\030\b \036-\232\231\031>" +1: "\b\214R\022\005OTTIK\030\001\"\004\b\336\233\001*\004\b\226\234\0012\004\b\224\234\0018\002B\006\b\354\205\003\030\bJ\023Ottilies K\303\244seladenR\022Mehrheimerstr. 369Z\005K\303\266lnj\00550739r\aGermanyz\017\b\214R\020\r\032\006\b\340\324\003\030\b \024z\017\b\214R\020\'\032\006\b\240\376\n\030\b \024" +1: "\b\215R\022\005BLAUS\030\004\"\004\b\340\233\001*\004\b\230\234\0012\004\b\370\233\0018\001B\005\b\334\v\030\bJ\027Blauer See DelikatessenR\016Forsterstr. 57Z\bMannheimj\00568306r\aGermanyz\017\b\215R\020\034\032\006\b\300\352\033\030\b \006" +1: "\b\216R\022\005SAVEA\030\006\"\004\b\342\233\001*\004\b\232\234\0012\004\b\366\233\0018\003B\a\b\214\261\340\001\030\bJ\022Save-a-lot MarketsR\017187 Suffolk Ln.Z\005Boiseb\002IDj\00583720r\003USAz\017\b\216R\020\035\032\006\b\214\307K\030\b Hz\024\b\216R\020K\032\006\b\274\335\004\030\b H-\315\314\314=" +1: "\b\217R\022\005BONAP\030\004\"\004\b\342\233\001*\004\b\232\234\0012\004\b\350\233\0018\003B\a\b\340\201\326\001\030\bJ\bBon app\'R\02412, rue des BouchersZ\tMarseillej\00513008r\006Francez\024\b\217R\020\004\032\006\b\340\266\r\030\b d-\232\231\031>z\024\b\217R\020\a\032\006\b\340\247\022\030\b d-\232\231\031>z\024\b\217R\020\b\032\006\b\200\265\030\030\b \024-\232\231\031>" +1: "\b\220R\022\005FAMIA\030\a\"\004\b\350\233\001*\004\b\240\234\0012\004\b\356\233\0018\002B\006\b\344\223\002\030\bJ\022Familia ArquibaldoR\rRua Or\303\263s, 92Z\tSao Paulob\002SPj\t05442-030r\006Brazilz\024\b\220R\020\030\032\006\b\310\337\002\030\b \024-\232\231\031>z\024\b\220R\020.\032\006\b\300\251\a\030\b \022-\232\231\031>z\024\b\220R\020/\032\006\b\230\346\005\030\b \f-\232\231\031>z\024\b\220R\020<\032\006\b\240\340\024\030\b \030-\232\231\031>" +1: "\b\221R\022\005WANDK\030\a\"\004\b\352\233\001*\004\b\276\234\0012\004\b\366\233\0018\001B\006\b\364\275@\030\bJ\021Die Wandernde KuhR\021Adenauerallee 900Z\tStuttgartj\00570563r\aGermanyz\024\b\221R\020\025\032\006\b\240\215\006\030\b P-\315\314L>z\024\b\221R\020 \032\006\b\200\304\023\030\b d-\315\314L>z\024\b\221R\020=\032\006\b\310\262\021\030\b \036-\315\314L>" +1: "\b\222R\022\005ERNSH\030\003\"\004\b\352\233\001*\004\b\242\234\0012\004\b\232\234\0018\002B\a\b\354\222\342\003\030\bJ\fErnst HandelR\fKirchgasse 6Z\004Grazj\0048010r\aAustriaz\017\b\222R\020\024\032\006\b\220\2701\030\b Nz\017\b\222R\020\034\032\006\b\300\352\033\030\b Fz\020\b\222R\0208\032\006\b\340\230\027\030\b \214\001z\017\b\222R\020A\032\006\b\304\354\f\030\b Nz\017\b\222R\020K\032\006\b\274\335\004\030\b d" +1: "\b\223R\022\005QUICK\030\002\"\004\b\354\233\001*\004\b\210\234\0012\004\b\250\234\0018\001B\006\b\234\346|\030\bJ\nQUICK-StopR\021Taucherstra\303\237e 10Z\tCunewaldej\00501307r\aGermanyz\024\b\223R\020\t\032\006\b\220\232;\030\b -\232\231\031>z\017\b\223R\020\020\032\006\b\244\323\n\030\b dz\020\b\223R\020\033\032\006\b\330\345\032\030\b \360\001z\024\b\223R\020!\032\006\b\250\303\001\030\b -\232\231\031>z\025\b\223R\020<\032\006\b\240\340\024\030\b \250\001-\232\231\031>" +1: "\b\224R\022\005HUNGO\030\002\"\004\b\356\233\001*\004\b\246\234\0012\004\b\374\233\0018\003B\006\b\330\250&\030\bJ\034Hungry Owl All-Night GrocersR\0208 Johnstown RoadZ\004Corkb\bCo. Corkr\aIrelandz\024\b\224R\020\022\032\006\b\350\222&\030\b 2-\315\314\314=z\025\b\224R\020)\032\006\b\364\361\005\030\b \240\001-\315\314\314=z\017\b\224R\020*\032\006\b\340\305\b\030\b (" +1: "\b\225R\022\005NORTS\030\003\"\004\b\356\233\001*\004\b\246\234\0012\004\b\370\233\0018\003B\006\b\274\311\023\030\bJ\vNorth/SouthR\034South House 300 QueensbridgeZ\006Londonj\aSW7 1RZr\002UKz\017\b\225R\0204\032\006\b\360\242\004\030\b \fz\017\b\225R\020;\032\006\b\360\310!\030\b \bz\017\b\225R\020F\032\006\b\360\223\t\030\b \f" +1: "\b\226R\022\005TORTU\030\004\"\004\b\360\233\001*\004\b\214\234\0012\004\b\204\234\0018\002B\a\b\374\222\205\001\030\bJ\023Tortuga RestauranteR\020Avda. Azteca 123Z\fM\303\251xico D.F.j\00505033r\006Mexicoz\017\b\226R\020\030\032\006\b\310\337\002\030\b \nz\020\b\226R\020&\032\a\b\370\351\240\001\030\b \036z\017\b\226R\020,\032\006\b\304\357\v\030\b \022" +1: "\b\227R\022\005CHOPS\030\006\"\004\b\366\233\001*\004\b\256\234\0012\004\b\374\233\0018\003B\006\b\340\2008\030\bJ\021Chop-suey ChineseR\fHauptstr. 31Z\004Bernj\0043012r\vSwitzerlandz\024\b\227R\020\n\032\006\b\360\365\022\030\b -\315\314L=z\017\b\227R\0208\032\006\b\340\230\027\030\b Pz\024\b\227R\020<\032\006\b\240\340\024\030\b \024-\315\314L=" +1: "\b\230R\022\005SANTG\030\a\"\004\b\370\233\001*\004\b\260\234\0012\004\b\374\233\0018\001B\006\b\304\224\b\030\bJ\016Sant\303\251 GourmetR\026Erling Skakkes gate 78Z\aStavernj\0044110r\006Norwayz\017\b\230R\020\030\032\006\b\310\337\002\030\b \020z\017\b\230R\0205\032\006\b\300\202\024\030\b \n" +1: "\b\231R\022\005CACTU\030\b\"\004\b\370\233\001*\004\b\260\234\0012\004\b\376\233\0018\002B\006\b\250\301\n\030\bJ\032Cactus Comidas para llevarR\vCerrito 333Z\fBuenos Airesj\0041010r\tArgentinaz\017\b\231R\020#\032\006\b\240\376\n\030\b \006z\017\b\231R\020)\032\006\b\364\361\005\030\b \024z\017\b\231R\020D\032\006\b\310\320\a\030\b \f" +1: "\b\232R\022\005LEHMS\030\004\"\004\b\372\233\001*\004\b\262\234\0012\004\b\206\234\0018\001B\006\b\264\325\033\030\bJ\023Lehmanns MarktstandR\fMagazinweg 7Z\016Frankfurt a.M.j\00560528r\aGermanyz\024\b\232R\020\001\032\006\b\240\376\n\030\b P-\315\314L>z\017\b\232R\020\b\032\006\b\200\265\030\030\b 0z\024\b\232R\020\036\032\006\b\324\346\017\030\b (-\315\314L>z\024\b\232R\020(\032\006\b\300\235\v\030\b 2-\315\314L>" +1: "\b\233R\022\005SEVES\030\a\"\004\b\374\233\001*\004\b\264\234\0012\004\b\266\234\0018\002B\006\b\354\260/\030\bJ\022Seven Seas ImportsR\01790 Wadhurst Rd.Z\006Londonj\bOX15 4NBr\002UKz\024\b\233R\020\021\032\006\b\360\346\027\030\b 2-\315\314\314=z\024\b\233R\020\024\032\006\b\220\2701\030\b \036-\315\314\314=z\024\b\233R\020%\032\006\b\240\357\017\030\b $-\315\314\314=z\024\b\233R\020)\032\006\b\364\361\005\030\b \f-\315\314\314=" +1: "\b\234R\022\005BERGS\030\001\"\004\b\374\233\001*\004\b\264\234\0012\004\b\210\234\0018\002B\a\b\234\264\225\001\030\bJ\023Berglunds snabbk\303\266pR\020Berguvsv\303\244gen 8Z\006Lule\303\245j\bS-958 22r\006Swedenz\017\b\234R\020\n\032\006\b\360\365\022\030\b \004z\017\b\234R\020\036\032\006\b\324\346\017\030\b \024z\017\b\234R\020+\032\006\b\340\211\034\030\b xz\017\b\234R\0206\032\006\b\204\306\004\030\b \036" +1: "\b\235R\022\005BONAP\030\001\"\004\b\376\233\001*\004\b\266\234\0012\004\b\250\234\0018\002B\006\b\210\340\006\030\bJ\bBon app\'R\02412, rue des BouchersZ\tMarseillej\00513008r\006Francez\017\b\235R\020$\032\006\b\260\314\v\030\b z\017\b\236R\020\r\032\006\b\340\324\003\030\b \024z\024\b\236R\0208\032\006\b\340\230\027\030\b <-\232\231\031>" +1: "\b\237R\022\005QUICK\030\a\"\004\b\204\234\001*\004\b\274\234\0012\004\b\210\234\0018\001B\006\b\270\311\031\030\bJ\nQUICK-StopR\021Taucherstra\303\237e 10Z\tCunewaldej\00501307r\aGermanyz\024\b\237R\020\004\032\006\b\340\266\r\030\b d-\315\314\314=z\024\b\237R\020$\032\006\b\260\314\v\030\b <-\315\314\314=" +1: "\b\240R\022\005GREAL\030\006\"\004\b\206\234\001*\004\b\242\234\0012\004\b\214\234\0018\002B\006\b\334\205\002\030\bJ\027Great Lakes Food MarketR\0202732 Baker Blvd.Z\006Eugeneb\002ORj\00597403r\003USAz\017\b\240R\020\v\032\006\b\320\350\f\030\b \006z\024\b\240R\020!\032\006\b\250\303\001\030\b \020-\315\314L>z\017\b\240R\020H\032\006\b\340\236\025\030\b \022" +1: "\b\241R\022\005MAISD\030\005\"\004\b\210\234\001*\004\b\300\234\0012\004\b\214\234\0018\002B\006\b\224\332(\030\bJ\fMaison DeweyR\023Rue Joseph-Bens 532Z\tBruxellesj\006B-1180r\aBelgiumz\017\b\241R\0207\032\006\b\200\323\016\030\b \034z\017\b\241R\020D\032\006\b\310\320\a\030\b (z\017\b\241R\020E\032\006\b\300\374\025\030\b \024" +1: "\b\242R\022\005PICCO\030\003\"\004\b\212\234\001*\004\b\302\234\0012\004\b\222\234\0018\002B\a\b\310\205\317\001\030\bJ\020Piccolo und mehrR\vGeislweg 14Z\bSalzburgj\0045020r\aAustriaz\017\b\242R\020\021\032\006\b\360\346\027\030\b Pz\017\b\242R\020+\032\006\b\340\211\034\030\b 2z\017\b\242R\020=\032\006\b\310\262\021\030\b (z\017\b\242R\020L\032\006\b\240\376\n\030\b d" +1: "\b\243R\022\005OCEAN\030\a\"\004\b\212\234\001*\004\b\302\234\0012\004\b\240\234\0018\001B\006\b\260\372\004\030\bJ\030Oc\303\251ano Atl\303\241ntico Ltda.R#Ing. Gustavo Moncada 8585 Piso 20-AZ\fBuenos Airesj\0041010r\tArgentinaz\017\b\243R\020;\032\006\b\360\310!\030\b \004" +1: "\b\244R\022\005EASTC\030\a\"\004\b\214\234\001*\004\b\304\234\0012\004\b\222\234\0018\003B\006\b\230\271-\030\bJ\022Eastern ConnectionR\01635 King GeorgeZ\006Londonj\aWX3 6FWr\002UKz\017\b\244R\020\036\032\006\b\324\346\017\030\b \036z\017\b\244R\020B\032\006\b\220\260\n\030\b 0" +1: "\b\245R\022\005FOLKO\030\b\"\004\b\222\234\001*\004\b\312\234\0012\004\b\246\234\0018\001B\006\b\320\342r\030\bJ\017Folk och f\303\244 HBR\r\303\205kergatan 24Z\aBr\303\244ckej\bS-844 67r\006Swedenz\024\b\245R\020\004\032\006\b\340\266\r\030\b d-\315\314L=z\017\b\245R\020H\032\006\b\340\236\025\030\b 0z\024\b\245R\020I\032\006\b\360\223\t\030\b 0-\315\314L=" +1: "\b\246R\022\005LEHMS\030\b\"\004\b\222\234\001*\004\b\312\234\0012\004\b\226\234\0018\002B\006\b\350\206\021\030\bJ\023Lehmanns MarktstandR\fMagazinweg 7Z\016Frankfurt a.M.j\00560528r\aGermanyz\017\b\246R\020\036\032\006\b\324\346\017\030\b \024z\024\b\246R\020(\032\006\b\300\235\v\030\b \024-\315\314L>z\024\b\246R\0206\032\006\b\204\306\004\030\b \024-\315\314L>" +1: "\b\247R\022\005ANTON\030\004\"\004\b\224\234\001*\004\b\314\234\0012\004\b\244\234\0018\001B\006\b\360\305\t\030\bJ\030Antonio Moreno Taquer\303\255aR\017Mataderos 2312Z\fM\303\251xico D.F.j\00505023r\006Mexicoz\024\b\247R\020\v\032\006\b\320\350\f\030\b d-\315\314\314=z\024\b\247R\020(\032\006\b\300\235\v\030\b \024-\315\314\314=z\024\b\247R\0209\032\006\b\270\363\v\030\b \n-\315\314\314=z\024\b\247R\020;\032\006\b\360\310!\030\b \036-\315\314\314=" +1: "\b\250R\022\005LEHMS\030\003\"\004\b\226\234\001*\004\b\316\234\0012\004\b\304\234\0018\002B\006\b\200\370#\030\bJ\023Lehmanns MarktstandR\fMagazinweg 7Z\016Frankfurt a.M.j\00560528r\aGermanyz\024\b\250R\020\f\032\006\b\340\230\027\030\b \036-\000\000\200>z\017\b\250R\020\037\032\006\b\310\320\a\030\b (z\017\b\250R\020!\032\006\b\250\303\001\030\b " +1: "\b\251R\022\005RICSU\030\001\"\004\b\226\234\001*\004\b\262\234\0012\004\b\240\234\0018\001B\006\b\224\2200\030\bJ\022Richter SupermarktR\vStarenweg 5Z\aGen\303\250vej\0041204r\vSwitzerlandz\017\b\251R\020\037\032\006\b\310\320\a\030\b z\025\b\257R\020\027\032\006\b\220\277\005\030\b \214\001-\232\231\031>" +1: "\b\260R\022\005LONEP\030\004\"\004\b\244\234\001*\004\b\334\234\0012\004\b\266\234\0018\001B\006\b\214\232\017\030\bJ\030Lonesome Pine RestaurantR\02289 Chiaroscuro Rd.Z\bPortlandb\002ORj\00597219r\003USAz\017\b\260R\020\034\032\006\b\300\352\033\030\b \016z\017\b\260R\020C\032\006\b\340\305\b\030\b \016" +1: "\b\261R\022\005LAZYK\030\b\"\004\b\246\234\001*\004\b\336\234\0012\004\b\354\234\0018\002B\006\b\240\243\a\030\bJ\024Lazy K Kountry StoreR\02412 Orchestra TerraceZ\vWalla Wallab\002WAj\00599362r\003USAz\017\b\261R\020\v\032\006\b\320\350\f\030\b \024" +1: "\b\262R\022\005VICTE\030\001\"\004\b\250\234\001*\004\b\340\234\0012\004\b\260\234\0018\003B\006\b\300\354v\030\bJ\024Victuailles en stockR\0222, rue du CommerceZ\004Lyonj\00569004r\006Francez\017\b\262R\020\a\032\006\b\340\247\022\030\b \024z\017\b\262R\020#\032\006\b\240\376\n\030\b \032\006\b\310\213\036\030\b P" +1: "\b\263R\022\005SEVES\030\003\"\004\b\250\234\001*\004\b\340\234\0012\004\b\274\234\0018\002B\006\b\354\363l\030\bJ\022Seven Seas ImportsR\01790 Wadhurst Rd.Z\006Londonj\bOX15 4NBr\002UKz\024\b\263R\020 \032\006\b\200\304\023\030\b 0-\232\231\031>z\017\b\263R\020$\032\006\b\260\314\v\030\b x" +1: "\b\264R\022\005TOMSP\030\003\"\004\b\256\234\001*\004\b\346\234\0012\004\b\274\234\0018\002B\005\b\334o\030\bJ\023Toms Spezialit\303\244tenR\rLuisenstr. 48Z\bM\303\274nsterj\00544087r\aGermanyz\024\b\264R\020\"\032\006\b\340\305\b\030\b \024-\000\000\200>z\017\b\264R\020)\032\006\b\364\361\005\030\b \034" +1: "\b\265R\022\005QUICK\030\005\"\004\b\260\234\001*\004\b\314\234\0012\004\b\266\234\0018\001B\006\b\220\302h\030\bJ\nQUICK-StopR\021Taucherstra\303\237e 10Z\tCunewaldej\00501307r\aGermanyz\024\b\265R\020\037\032\006\b\310\320\a\030\b n-\232\231\031>z\025\b\265R\020-\032\006\b\230\346\005\030\b \310\001-\232\231\031>z\024\b\265R\0203\032\006\b\320\254 \030\b `-\232\231\031>" +1: "\b\266R\022\005GODOS\030\a\"\004\b\262\234\001*\004\b\352\234\0012\004\b\304\234\0018\003B\006\b\300\321\002\030\bJ\024Godos Cocina T\303\255picaR\rC/ Romero, 33Z\aSevillaj\00541101r\005Spainz\024\b\266R\020\021\032\006\b\360\346\027\030\b \020-\315\314\314=z\017\b\266R\020\023\032\006\b\340\316\005\030\b \024z\024\b\266R\020\025\032\006\b\240\215\006\030\b \f-\315\314\314=z\024\b\266R\020=\032\006\b\310\262\021\030\b \024-\315\314\314=" +1: "\b\267R\022\005FURIB\030\004\"\004\b\262\234\001*\004\b\206\235\0012\004\b\304\234\0018\003B\006\b\234\303,\030\bJ\036Furia Bacalhau e Frutos do MarR\026Jardim das rosas n. 32Z\006Lisboaj\0041675r\bPortugalz\024\b\267R\020\020\032\006\b\244\323\n\030\b P-\232\231\031>z\024\b\267R\020#\032\006\b\240\376\n\030\b (-\232\231\031>z\017\b\267R\020,\032\006\b\304\357\v\030\b P" +1: "\b\270R\022\005HILAA\030\002\"\004\b\264\234\001*\004\b\354\234\0012\004\b\302\234\0018\001B\006\b\310\3452\030\bJ\020HILARION-AbastosR*Carrera 22 con Ave. Carlos Soublette #8-35Z\016San Crist\303\263balb\bT\303\241chiraj\0045022r\tVenezuelaz\017\b\270R\020E\032\006\b\300\374\025\030\b $z\017\b\270R\020K\032\006\b\274\335\004\030\b <" +1: "\b\271R\022\005WARTH\030\002\"\004\b\266\234\001*\004\b\356\234\0012\004\b\276\234\0018\002B\006\b\364\236[\030\bJ\016Wartian HerkkuR\vTorikatu 38Z\004Ouluj\00590110r\aFinlandz\017\b\271R\020\v\032\006\b\320\350\f\030\b \036z\017\b\271R\020\020\032\006\b\244\323\n\030\b \034z\017\b\271R\020\026\032\006\b\320\350\f\030\b 0z\017\b\271R\020\037\032\006\b\310\320\a\030\b \032\006\b\310\213\036\030\b (-\315\314L=z\024\b\272R\020M\032\006\b\320\367\a\030\b \024-\315\314L=" +1: "\b\273R\022\005SAVEA\030\006\"\004\b\274\234\001*\004\b\364\234\0012\004\b\300\234\0018\003B\a\b\344\215\232\001\030\bJ\022Save-a-lot MarketsR\017187 Suffolk Ln.Z\005Boiseb\002IDj\00583720r\003USAz\024\b\273R\020\016\032\006\b\264\230\016\030\b <-\315\314L>z\024\b\273R\020\023\032\006\b\340\316\005\030\b F-\315\314L>z\024\b\273R\020\030\032\006\b\310\337\002\030\b $-\315\314L>z\024\b\273R\0203\032\006\b\320\254 \030\b (-\315\314L>z\024\b\273R\0208\032\006\b\340\230\027\030\b P-\315\314L>" +1: "\b\274R\022\005SIMOB\030\002\"\004\b\276\234\001*\004\b\222\235\0012\004\b\322\234\0018\001B\006\b\320\375\005\030\bJ\rSimons bistroR\rVinb\303\246ltet 34Z\tKobenhavnj\0041734r\aDenmarkz\017\b\274R\020H\032\006\b\340\236\025\030\b 0" +1: "\b\275R\022\005LEHMS\030\t\"\004\b\276\234\001*\004\b\332\234\0012\004\b\304\234\0018\002B\006\b\240\204;\030\bJ\023Lehmanns MarktstandR\fMagazinweg 7Z\016Frankfurt a.M.j\00560528r\aGermanyz\017\b\275R\020@\032\006\b\324\245\024\030\b \032\006\b\310\213\036\030\b \036-\000\000\200>" +1: "\b\301R\022\005FOLKO\030\002\"\004\b\304\234\001*\004\b\374\234\0012\004\b\312\234\0018\002B\a\b\324\352\223\001\030\bJ\017Folk och f\303\244 HBR\r\303\205kergatan 24Z\aBr\303\244ckej\bS-844 67r\006Swedenz\017\b\301R\020,\032\006\b\304\357\v\030\b \024z\017\b\301R\0203\032\006\b\320\254 \030\b d" +1: "\b\302R\022\005REGGC\030\001\"\004\b\312\234\001*\004\b\202\235\0012\004\b\320\234\0018\001B\006\b\374\200\016\030\bJ\022Reggiani CaseificiR\026Strada Provinciale 124Z\rReggio Emiliaj\00542100r\005Italyz\024\b\302R\020!\032\006\b\250\303\001\030\b (-\315\314\314=z\024\b\302R\020>\032\006\b\310\213\036\030\b \024-\315\314\314=" +1: "\b\303R\022\005RICAR\030\002\"\004\b\314\234\001*\004\b\240\235\0012\004\b\350\234\0018\002B\006\b\214\361$\030\bJ\022Ricardo AdocicadosR\023Av. Copacabana, 267Z\016Rio de Janeirob\002RJj\t02389-890r\006Brazilz\017\b\303R\020$\032\006\b\260\314\v\030\b 2z\020\b\303R\0204\032\006\b\360\242\004\030\b \214\001" +1: "\b\304R\022\005RATTC\030\004\"\004\b\314\234\001*\004\b\204\235\0012\004\b\330\234\0018\003B\006\b\234\262\b\030\bJ\032Rattlesnake Canyon GroceryR\0172817 Milton Dr.Z\vAlbuquerqueb\002NMj\00587110r\003USAz\024\b\304R\020\021\032\006\b\360\346\027\030\b -\315\314L=z\024\b\304R\020\037\032\006\b\310\320\a\030\b \f-\315\314L=z\024\b\304R\0207\032\006\b\200\323\016\030\b 2-\315\314L=" +1: "\b\305R\022\005MEREP\030\b\"\004\b\316\234\001*\004\b\206\235\0012\004\b\334\234\0018\002B\006\b\314\256\004\030\bJ\017M\303\250re PaillardeR\02243 rue St. LaurentZ\tMontr\303\251alb\aQu\303\251becj\aH1J 1C3r\006Canadaz\024\b\305R\020\030\032\006\b\310\337\002\030\b 2-\315\314\314=z\024\b\305R\020@\032\006\b\324\245\024\030\b $-\315\314\314=" +1: "\b\306R\022\005BLONP\030\t\"\004\b\320\234\001*\004\b\210\235\0012\004\b\334\234\0018\001B\006\b\240\3725\030\bJ\025Blondel p\303\250re et filsR\02124, place Kl\303\251berZ\nStrasbourgj\00567000r\006Francez\024\b\306R\020\v\032\006\b\320\350\f\030\b F-\232\231\031>z\024\b\306R\020\022\032\006\b\350\222&\030\b $-\232\231\031>z\017\b\306R\020L\032\006\b\240\376\n\030\b \024" +1: "\b\307R\022\005HUNGO\030\001\"\004\b\320\234\001*\004\b\210\235\0012\004\b\332\234\0018\001B\006\b\364\335\024\030\bJ\034Hungry Owl All-Night GrocersR\0208 Johnstown RoadZ\004Corkb\bCo. Corkr\aIrelandz\024\b\307R\020\037\032\006\b\310\320\a\030\b x-\315\314L>z\017\b\307R\0203\032\006\b\320\254 \030\b \006z\024\b\307R\020;\032\006\b\360\310!\030\b P-\315\314L>" +1: "\b\310R\022\005GALED\030\003\"\004\b\322\234\001*\004\b\212\235\0012\004\b\206\235\0018\003B\006\b\370\376\003\030\bJ\030Galer\303\255a del gastron\303\263moR\027Rambla de Catalu\303\261a, 23Z\tBarcelonaj\0048022r\005Spainz\017\b\310R\020\n\032\006\b\360\365\022\030\b \n" +1: "\b\311R\022\005RATTC\030\005\"\004\b\330\234\001*\004\b\220\235\0012\004\b\212\235\0018\001B\006\b\350\377#\030\bJ\032Rattlesnake Canyon GroceryR\0172817 Milton Dr.Z\vAlbuquerqueb\002NMj\00587110r\003USAz\024\b\311R\020\037\032\006\b\310\320\a\030\b F-\315\314L>z\017\b\311R\020L\032\006\b\240\376\n\030\b <" +1: "\b\312R\022\005MEREP\030\003\"\004\b\332\234\001*\004\b\222\235\0012\004\b\336\234\0018\003B\006\b\354\254s\030\bJ\017M\303\250re PaillardeR\02243 rue St. LaurentZ\tMontr\303\251alb\aQu\303\251becj\aH1J 1C3r\006Canadaz\024\b\312R\020\v\032\006\b\320\350\f\030\b \036-\315\314L=z\024\b\312R\0208\032\006\b\340\230\027\030\b x-\315\314L=" +1: "\b\313R\022\005ERNSH\030\b\"\004\b\332\234\001*\004\b\256\235\0012\004\b\374\234\0018\003B\006\b\370\363\017\030\bJ\fErnst HandelR\fKirchgasse 6Z\004Grazj\0048010r\aAustriaz\024\b\313R\020\016\032\006\b\264\230\016\030\b \026-\232\231\031>z\024\b\313R\020*\032\006\b\340\305\b\030\b 8-\232\231\031>" +1: "\b\314R\022\005BERGS\030\003\"\004\b\334\234\001*\004\b\224\235\0012\004\b\352\234\0018\002B\006\b\214\210G\030\bJ\023Berglunds snabbk\303\266pR\020Berguvsv\303\244gen 8Z\006Lule\303\245j\bS-958 22r\006Swedenz\024\b\314R\020\020\032\006\b\244\323\n\030\b \030-\315\314\314=z\024\b\314R\020 \032\006\b\200\304\023\030\b \024-\315\314\314=z\017\b\314R\020(\032\006\b\300\235\v\030\b dz\024\b\314R\020K\032\006\b\274\335\004\030\b \036-\315\314\314=" +1: "\b\315R\022\005ANTON\030\a\"\004\b\336\234\001*\004\b\226\235\0012\004\b\340\234\0018\003B\006\b\220\3443\030\bJ\030Antonio Moreno Taquer\303\255aR\017Mataderos 2312Z\fM\303\251xico D.F.j\00505023r\006Mexicoz\017\b\315R\020\021\032\006\b\360\346\027\030\b $z\017\b\315R\020\"\032\006\b\340\305\b\030\b Pz\017\b\315R\0205\032\006\b\300\202\024\030\b 2" +1: "\b\316R\022\005TRAIH\030\004\"\004\b\336\234\001*\004\b\226\235\0012\004\b\364\234\0018\002B\006\b\300\371\026\030\bJ!Trail\'s Head Gourmet ProvisionersR\021722 DaVinci Blvd.Z\bKirklandb\002WAj\00598034r\003USAz\017\b\316R\020!\032\006\b\250\303\001\030\b \034z\017\b\316R\020(\032\006\b\300\235\v\030\b \004z\017\b\316R\020>\032\006\b\310\213\036\030\b \024z\017\b\316R\020@\032\006\b\324\245\024\030\b \f" +1: "\b\317R\022\005MORGK\030\005\"\004\b\340\234\001*\004\b\374\234\0012\004\b\364\234\0018\001B\006\b\270\334M\030\bJ\026Morgenstern GesundkostR\vHeerstr. 22Z\aLeipzigj\00504179r\aGermanyz\017\b\317R\020;\032\006\b\360\310!\030\b \030z\017\b\317R\020?\032\006\b\330\345\032\030\b \fz\017\b\317R\020H\032\006\b\340\236\025\030\b " +1: "\b\326R\022\005BLAUS\030\003\"\004\b\356\234\001*\004\b\246\235\0012\004\b\220\235\0018\002B\006\b\354\364\020\030\bJ\027Blauer See DelikatessenR\016Forsterstr. 57Z\bMannheimj\00568306r\aGermanyz\017\b\326R\0209\032\006\b\270\363\v\030\b \bz\017\b\326R\020L\032\006\b\240\376\n\030\b \034" +1: "\b\327R\022\005WARTH\030\002\"\004\b\364\234\001*\004\b\254\235\0012\004\b\374\234\0018\002B\006\b\340\270\004\030\bJ\016Wartian HerkkuR\vTorikatu 38Z\004Ouluj\00590110r\aFinlandz\017\b\327R\020\035\032\006\b\214\307K\030\b \024z\024\b\327R\020<\032\006\b\240\340\024\030\b 0-\232\231\031>z\024\b\327R\020E\032\006\b\300\374\025\030\b \024-\232\231\031>" +1: "\b\330R\022\005BLONP\030\004\"\004\b\364\234\001*\004\b\254\235\0012\004\b\374\234\0018\001B\006\b\250\214$\030\bJ\025Blondel p\303\250re et filsR\02124, place Kl\303\251berZ\nStrasbourgj\00567000r\006Francez\024\b\330R\020\037\032\006\b\310\320\a\030\b d-\315\314L=" +1: "\b\331R\022\005WELLI\030\a\"\004\b\366\234\001*\004\b\256\235\0012\004\b\210\235\0018\001B\006\b\324\227\b\030\bJ\026Wellington ImportadoraR\022Rua do Mercado, 12Z\aResendeb\002SPj\t08737-363r\006Brazilz\017\b\331R\020/\032\006\b\230\346\005\030\b \036" +1: "\b\332R\022\005REGGC\030\t\"\004\b\370\234\001*\004\b\260\235\0012\004\b\206\235\0018\001B\005\b\300%\030\bJ\022Reggiani CaseificiR\026Strada Provinciale 124Z\rReggio Emiliaj\00542100r\005Italyz\024\b\332R\0204\032\006\b\360\242\004\030\b \b-\232\231\031>" +1: "\b\333R\022\005QUEDE\030\001\"\004\b\370\234\001*\004\b\260\235\0012\004\b\206\235\0018\001B\006\b\260\224&\030\bJ\fQue Del\303\255ciaR\027Rua da Panificadora, 12Z\016Rio de Janeirob\002RJj\t02389-673r\006Brazilz\017\b\333R\020\032\032\006\b\354\207\023\030\b \fz\017\b\333R\020#\032\006\b\240\376\n\030\b (z\017\b\333R\020M\032\006\b\320\367\a\030\b (" +1: "\b\334R\022\005QUICK\030\002\"\004\b\372\234\001*\004\b\262\235\0012\004\b\210\235\0018\003B\006\b\314\350v\030\bJ\nQUICK-StopR\021Taucherstra\303\237e 10Z\tCunewaldej\00501307r\aGermanyz\024\b\334R\020\022\032\006\b\350\222&\030\b P-\315\314L>z\025\b\334R\020*\032\006\b\340\305\b\030\b \310\001-\315\314L>" +1: "\b\335R\022\005GREAL\030\b\"\004\b\374\234\001*\004\b\264\235\0012\004\b\220\235\0018\002B\006\b\250\331\002\030\bJ\027Great Lakes Food MarketR\0202732 Baker Blvd.Z\006Eugeneb\002ORj\00597403r\003USAz\017\b\335R\020#\032\006\b\240\376\n\030\b \b" +1: "\b\336R\022\005MEREP\030\004\"\004\b\202\235\001*\004\b\272\235\0012\004\b\220\235\0018\003B\006\b\324\251\033\030\bJ\017M\303\250re PaillardeR\02243 rue St. LaurentZ\tMontr\303\251alb\aQu\303\251becj\aH1J 1C3r\006Canadaz\017\b\336R\020\001\032\006\b\240\376\n\030\b (z\024\b\336R\020M\032\006\b\320\367\a\030\b x-\315\314L=" +1: "\b\337R\022\005VAFFE\030\001\"\004\b\202\235\001*\004\b\236\235\0012\004\b\224\235\0018\001B\006\b\340\220\"\030\bJ\fVaffeljernetR\rSmagsloget 45Z\006\303\205rhusj\0048200r\aDenmarkz\017\b\337R\020\003\032\006\b\240\215\006\030\b \034z\017\b\337R\020\a\032\006\b\340\247\022\030\b \024z\017\b\337R\0206\032\006\b\204\306\004\030\b d" +1: "\b\340R\022\005LEHMS\030\003\"\004\b\204\235\001*\004\b\274\235\0012\004\b\224\235\0018\001B\006\b\350\313\023\030\bJ\023Lehmanns MarktstandR\fMagazinweg 7Z\016Frankfurt a.M.j\00560528r\aGermanyz\024\b\340R\020\017\032\006\b\370\272\t\030\b 2-\315\314L=z\024\b\340R\020\032\032\006\b\354\207\023\030\b \n-\315\314L=" +1: "\b\341R\022\005LEHMS\030\a\"\004\b\206\235\001*\004\b\276\235\0012\004\b\314\235\0018\002B\006\b\260\251j\030\bJ\023Lehmanns MarktstandR\fMagazinweg 7Z\016Frankfurt a.M.j\00560528r\aGermanyz\024\b\341R\020\024\032\006\b\220\2701\030\b *-\315\314L>z\024\b\341R\020E\032\006\b\300\374\025\030\b (-\315\314L>z\024\b\341R\020L\032\006\b\240\376\n\030\b \b-\315\314L>" +1: "\b\342R\022\005OLDWO\030\003\"\004\b\206\235\001*\004\b\276\235\0012\004\b\224\235\0018\002B\006\b\260\231\003\030\bJ\026Old World DelicatessenR\0172743 Bering St.Z\tAnchorageb\002AKj\00599508r\003USAz\017\b\342R\0204\032\006\b\360\242\004\030\b 0z\017\b\342R\020:\032\006\b\224\213\b\030\b <" +1: "\b\343R\022\005ERNSH\030\002\"\004\b\210\235\001*\004\b\300\235\0012\004\b\220\235\0018\001B\006\b\370\210;\030\bJ\fErnst HandelR\fKirchgasse 6Z\004Grazj\0048010r\aAustriaz\024\b\343R\020#\032\006\b\240\376\n\030\b <-\000\000\200>z\025\b\343R\020=\032\006\b\310\262\021\030\b \360\001-\000\000\200>z\025\b\343R\020E\032\006\b\300\374\025\030\b \202\001-\000\000\200>" +1: "\b\344R\022\005WHITC\030\b\"\004\b\212\235\001*\004\b\302\235\0012\004\b\312\235\0018\001B\006\b\310\374\t\030\bJ\024White Clover MarketsR\0231029 - 12th Ave. S.Z\aSeattleb\002WAj\00598124r\003USAz\024\b\344R\0208\032\006\b\340\230\027\030\b \n-\315\314L>z\024\b\344R\020?\032\006\b\330\345\032\030\b 0-\315\314L>z\024\b\344R\020K\032\006\b\274\335\004\030\b <-\315\314L>" +1: "\b\345R\022\005PICCO\030\a\"\004\b\212\235\001*\004\b\302\235\0012\004\b\230\235\0018\003B\006\b\340\267\025\030\bJ\020Piccolo und mehrR\vGeislweg 14Z\bSalzburgj\0045020r\aAustriaz\024\b\345R\020\030\032\006\b\310\337\002\030\b F-\315\314L>z\017\b\345R\0209\032\006\b\270\363\v\030\b (z\024\b\345R\020A\032\006\b\304\354\f\030\b \030-\315\314L>" +1: "\b\346R\022\005RATTC\030\001\"\004\b\220\235\001*\004\b\310\235\0012\004\b\230\235\0018\003B\006\b\250\216\033\030\bJ\032Rattlesnake Canyon GroceryR\0172817 Milton Dr.Z\vAlbuquerqueb\002NMj\00587110r\003USAz\017\b\346R\020\033\032\006\b\330\345\032\030\b dz\017\b\346R\020G\032\006\b\330\217\r\030\b \022" +1: "\b\347R\022\005BSBEV\030\006\"\004\b\222\235\001*\004\b\346\235\0012\004\b\236\235\0018\003B\006\b\230\246\022\030\bJ\rB\'s BeveragesR\021Fauntleroy CircusZ\006Londonj\aEC2 5NTr\002UKz\017\b\347R\020>\032\006\b\310\213\036\030\b \024" +1: "\b\350R\022\005HUNGC\030\004\"\004\b\224\235\001*\004\b\314\235\0012\004\b\236\235\0018\001B\006\b\344\305\033\030\bJ\032Hungry Coyote Import StoreR\036City Center Plaza 516 Main St.Z\005Elginb\002ORj\00597827r\003USAz\017\b\350R\0206\032\006\b\204\306\004\030\b \bz\017\b\350R\020I\032\006\b\360\223\t\030\b <" +1: "\b\351R\022\005HILAA\030\a\"\004\b\224\235\001*\004\b\350\235\0012\004\b\240\235\0018\001B\006\b\330\312#\030\bJ\020HILARION-AbastosR*Carrera 22 con Ave. Carlos Soublette #8-35Z\016San Crist\303\263balb\bT\303\241chiraj\0045022r\tVenezuelaz\017\b\351R\020\r\032\006\b\340\324\003\030\b xz\017\b\351R\020;\032\006\b\360\310!\030\b F" +1: "\b\352R\022\005VAFFE\030\b\"\004\b\226\235\001*\004\b\316\235\0012\004\b\240\235\0018\002B\006\b\220\344\001\030\bJ\fVaffeljernetR\rSmagsloget 45Z\006\303\205rhusj\0048200r\aDenmarkz\024\b\352R\020M\032\006\b\320\367\a\030\b \n-\000\000\200>" +1: "\b\353R\022\005SAVEA\030\b\"\004\b\230\235\001*\004\b\320\235\0012\004\b\302\235\0018\002B\006\b\224\342\035\030\bJ\022Save-a-lot MarketsR\017187 Suffolk Ln.Z\005Boiseb\002IDj\00583720r\003USAz\017\b\353R\020\026\032\006\b\320\350\f\030\b `z\024\b\353R\0201\032\006\b\300\232\f\030\b 2-\315\314L=" +1: "\b\354R\022\005FURIB\030\001\"\004\b\230\235\001*\004\b\320\235\0012\004\b\256\235\0018\001B\006\b\350\306\004\030\bJ\036Furia Bacalhau e Frutos do MarR\026Jardim das rosas n. 32Z\006Lisboaj\0041675r\bPortugalz\024\b\354R\0200\032\006\b\214\344\a\030\b \f-\315\314\314=z\024\b\354R\020L\032\006\b\240\376\n\030\b \024-\315\314\314=" +1: "\b\355R\022\005MEREP\030\001\"\004\b\236\235\001*\004\b\326\235\0012\004\b\256\235\0018\002B\a\b\304\263\347\001\030\bJ\017M\303\250re PaillardeR\02243 rue St. LaurentZ\tMontr\303\251alb\aQu\303\251becj\aH1J 1C3r\006Canadaz\024\b\355R\020\020\032\006\b\244\323\n\030\b <-\315\314L=z\024\b\355R\020;\032\006\b\360\310!\030\b (-\315\314L=z\025\b\355R\020<\032\006\b\240\340\024\030\b \214\001-\315\314L=z\024\b\355R\020G\032\006\b\330\217\r\030\b \036-\315\314L=" +1: "\b\356R\022\005TRADH\030\004\"\004\b\240\235\001*\004\b\330\235\0012\004\b\262\235\0018\003B\006\b\220\2730\030\bJ\027Tradi\303\247ao HipermercadosR\030Av. In\303\252s de Castro, 414Z\tSao Paulob\002SPj\t05634-030r\006Brazilz\024\b\356R\020\004\032\006\b\340\266\r\030\b (-\315\314L>z\024\b\356R\0207\032\006\b\200\323\016\030\b (-\315\314L>z\024\b\356R\020>\032\006\b\310\213\036\030\b \024-\315\314L>" +1: "\b\357R\022\005SAVEA\030\005\"\004\b\240\235\001*\004\b\330\235\0012\004\b\246\235\0018\001B\006\b\340\233z\030\bJ\022Save-a-lot MarketsR\017187 Suffolk Ln.Z\005Boiseb\002IDj\00583720r\003USAz\017\b\357R\020\a\032\006\b\340\247\022\030\b Zz\020\b\357R\020\021\032\006\b\360\346\027\030\b \310\001z\017\b\357R\020!\032\006\b\250\303\001\030\b \034z\017\b\357R\020(\032\006\b\300\235\v\030\b Tz\017\b\357R\020H\032\006\b\340\236\025\030\b \030" +1: "\b\360R\022\005TOMSP\030\004\"\004\b\242\235\001*\004\b\332\235\0012\004\b\264\235\0018\002B\006\b\214\373\020\030\bJ\023Toms Spezialit\303\244tenR\rLuisenstr. 48Z\bM\303\274nsterj\00544087r\aGermanyz\017\b\360R\0208\032\006\b\340\230\027\030\b 8" +1: "\b\361R\022\005DUMON\030\a\"\004\b\244\235\001*\004\b\334\235\0012\004\b\260\235\0018\002B\006\b\304\220\001\030\bJ\017Du monde entierR\03467, rue des Cinquante OtagesZ\006Nantesj\00544000r\006Francez\017\b\361R\020\001\032\006\b\240\376\n\030\b \006z\017\b\361R\020\n\032\006\b\360\365\022\030\b \024z\017\b\361R\020\025\032\006\b\240\215\006\030\b \f" +1: "\b\362R\022\005LAMAI\030\b\"\004\b\246\235\001*\004\b\336\235\0012\004\b\276\235\0018\001B\006\b\230\254\020\030\bJ\020La maison d\'AsieR\0251 rue Alsace-LorraineZ\bToulousej\00531000r\006Francez\024\b\362R\020$\032\006\b\260\314\v\030\b *-\000\000\200>" +1: "\b\363R\022\005WOLZA\030\006\"\004\b\246\235\001*\004\b\336\235\0012\004\b\264\235\0018\002B\006\b\344\2341\030\bJ\rWolski ZajazdR\017ul. Filtrowa 68Z\bWarszawaj\00601-012r\006Polandz\017\b\363R\020\001\032\006\b\240\376\n\030\b \fz\017\b\363R\020\002\032\006\b\260\314\v\030\b \024z\017\b\363R\020<\032\006\b\240\340\024\030\b \036" +1: "\b\364R\022\005SAVEA\030\001\"\004\b\254\235\001*\004\b\344\235\0012\004\b\264\235\0018\002B\a\b\240\212\314\002\030\bJ\022Save-a-lot MarketsR\017187 Suffolk Ln.Z\005Boiseb\002IDj\00583720r\003USAz\020\b\364R\020\n\032\006\b\360\365\022\030\b \214\001z\017\b\364R\020$\032\006\b\260\314\v\030\b nz\017\b\364R\0201\032\006\b\300\232\f\030\b $z\017\b\364R\020<\032\006\b\240\340\024\030\b Pz\020\b\364R\020L\032\006\b\240\376\n\030\b \240\001" +1: "\b\365R\022\005HILAA\030\004\"\004\b\256\235\001*\004\b\346\235\0012\004\b\264\235\0018\002B\006\b\314\371\004\030\bJ\020HILARION-AbastosR*Carrera 22 con Ave. Carlos Soublette #8-35Z\016San Crist\303\263balb\bT\303\241chiraj\0045022r\tVenezuelaz\024\b\365R\020\r\032\006\b\340\324\003\030\b \020-\315\314\314=z\017\b\365R\020K\032\006\b\274\335\004\030\b P" +1: "\b\366R\022\005BLAUS\030\b\"\004\b\256\235\001*\004\b\346\235\0012\004\b\264\235\0018\003B\006\b\344\226\001\030\bJ\027Blauer See DelikatessenR\016Forsterstr. 57Z\bMannheimj\00568306r\aGermanyz\017\b\366R\020\v\032\006\b\320\350\f\030\b \034z\017\b\366R\020\025\032\006\b\240\215\006\030\b \020z\017\b\366R\020\'\032\006\b\240\376\n\030\b \n" +1: "\b\367R\022\005WILMK\030\002\"\004\b\260\235\001*\004\b\350\235\0012\004\b\276\235\0018\003B\005\b\314:\030\bJ\vWilman KalaR\rKeskuskatu 45Z\bHelsinkij\00521240r\aFinlandz\017\b\367R\0207\032\006\b\200\323\016\030\b \n" +1: "\b\370R\022\005GREAL\030\001\"\004\b\262\235\001*\004\b\352\235\0012\004\b\274\235\0018\002B\006\b\364\217G\030\bJ\027Great Lakes Food MarketR\0202732 Baker Blvd.Z\006Eugeneb\002ORj\00597403r\003USAz\025\b\370R\020&\032\a\b\370\351\240\001\030\b \036-\315\314L=z\017\b\370R\0208\032\006\b\340\230\027\030\b \034z\024\b\370R\020F\032\006\b\360\223\t\030\b \036-\315\314L=z\024\b\370R\020G\032\006\b\330\217\r\030\b \036-\315\314L=" +1: "\b\371R\022\005GREAL\030\004\"\004\b\262\235\001*\004\b\352\235\0012\004\b\272\235\0018\002B\006\b\324\247\v\030\bJ\027Great Lakes Food MarketR\0202732 Baker Blvd.Z\006Eugeneb\002ORj\00597403r\003USAz\024\b\371R\020;\032\006\b\360\310!\030\b <-\232\231\031>" +1: "\b\372R\022\005MEREP\030\001\"\004\b\264\235\001*\004\b\210\236\0012\004\b\302\235\0018\001B\006\b\260\264^\030\bJ\017M\303\250re PaillardeR\02243 rue St. LaurentZ\tMontr\303\251alb\aQu\303\251becj\aH1J 1C3r\006Canadaz\020\b\372R\020\006\032\006\b\220\241\017\030\b \214\001z\017\b\372R\0208\032\006\b\340\230\027\030\b (z\017\b\372R\020D\032\006\b\310\320\a\030\b \036" +1: "\b\373R\022\005MEREP\030\003\"\004\b\272\235\001*\004\b\362\235\0012\004\b\300\235\0018\003B\006\b\244\3117\030\bJ\017M\303\250re PaillardeR\02243 rue St. LaurentZ\tMontr\303\251alb\aQu\303\251becj\aH1J 1C3r\006Canadaz\017\b\373R\020\025\032\006\b\240\215\006\030\b Tz\017\b\373R\020\026\032\006\b\320\350\f\030\b P" +1: "\b\374R\022\005LAUGB\030\002\"\004\b\274\235\001*\004\b\364\235\0012\004\b\316\235\0018\003B\005\b\270I\030\bJ\035Laughing Bacchus Wine CellarsR\f2319 Elm St.Z\tVancouverb\002BCj\aV3F 2K1r\006Canadaz\017\b\374R\020\030\032\006\b\310\337\002\030\b \nz\017\b\374R\0204\032\006\b\360\242\004\030\b \n" +1: "\b\375R\022\005ISLAT\030\004\"\004\b\274\235\001*\004\b\364\235\0012\004\b\310\235\0018\002B\006\b\364\275\016\030\bJ\016Island TradingR\031Garden House Crowther WayZ\005Cowesb\rIsle of Wightj\bPO31 7PJr\002UKz\017\b\375R\020\023\032\006\b\340\316\005\030\b \nz\017\b\375R\020\027\032\006\b\220\277\005\030\b \024z\017\b\375R\020F\032\006\b\360\223\t\030\b (z\017\b\375R\020G\032\006\b\330\217\r\030\b \036" +1: "\b\376R\022\005RICAR\030\004\"\004\b\276\235\001*\004\b\366\235\0012\004\b\310\235\0018\003B\006\b\204\216\037\030\bJ\022Ricardo AdocicadosR\023Av. Copacabana, 267Z\016Rio de Janeirob\002RJj\t02389-890r\006Brazilz\017\b\376R\020\002\032\006\b\260\314\v\030\b (z\024\b\376R\020D\032\006\b\310\320\a\030\b $-\315\314L>" +1: "\b\377R\022\005FRANK\030\b\"\004\b\300\235\001*\004\b\370\235\0012\004\b\312\235\0018\002B\006\b\230\250;\030\bJ\016FrankenversandR\021Berliner Platz 43Z\bM\303\274nchenj\00580805r\aGermanyz\017\b\377R\020\016\032\006\b\264\230\016\030\b *z\024\b\377R\020\023\032\006\b\340\316\005\030\b \036-\315\314\314=z\024\b\377R\020\025\032\006\b\240\215\006\030\b 2-\315\314\314=z\017\b\377R\020\030\032\006\b\310\337\002\030\b \006z\024\b\377R\020#\032\006\b\240\376\n\030\b <-\315\314\314=" +1: "\b\200S\022\005THECR\030\004\"\004\b\300\235\001*\004\b\370\235\0012\004\b\330\235\0018\002B\006\b\240\3569\030\bJ\017The Cracker BoxR\02355 Grizzly Peak Rd.Z\005Butteb\002MTj\00559801r\003USAz\017\b\200S\020\034\032\006\b\300\352\033\030\b \024z\017\b\200S\020\035\032\006\b\214\307K\030\b \fz\017\b\200S\020,\032\006\b\304\357\v\030\b \024" +1: "\b\201S\022\005ANATR\030\003\"\004\b\302\235\001*\004\b\372\235\0012\004\b\316\235\0018\001B\006\b\330\345\032\030\bJ\"Ana Trujillo Emparedados y heladosR\036Avda. de la Constituci\303\263n 2222Z\fM\303\251xico D.F.j\00505021r\006Mexicoz\017\b\201S\020\016\032\006\b\264\230\016\030\b \006z\017\b\201S\020*\032\006\b\340\305\b\030\b \nz\017\b\201S\020<\032\006\b\240\340\024\030\b \024" +1: "\b\202S\022\005BERGS\030\001\"\004\b\310\235\001*\004\b\200\236\0012\004\b\332\235\0018\002B\006\b\224\323T\030\bJ\023Berglunds snabbk\303\266pR\020Berguvsv\303\244gen 8Z\006Lule\303\245j\bS-958 22r\006Swedenz\017\b\202S\0205\032\006\b\300\202\024\030\b \030z\017\b\202S\020<\032\006\b\240\340\024\030\b (z\017\b\202S\020G\032\006\b\330\217\r\030\b (" +1: "\b\203S\022\005SAVEA\030\b\"\004\b\310\235\001*\004\b\234\236\0012\004\b\334\235\0018\003B\006\b\250\313A\030\bJ\022Save-a-lot MarketsR\017187 Suffolk Ln.Z\005Boiseb\002IDj\00583720r\003USAz\017\b\203S\020>\032\006\b\310\213\036\030\b \036z\024\b\203S\020I\032\006\b\360\223\t\030\b F-\232\231\031>" +1: "\b\204S\022\005BLONP\030\004\"\004\b\312\235\001*\004\b\202\236\0012\004\b\332\235\0018\003B\006\b\360\303\022\030\bJ\025Blondel p\303\250re et filsR\02124, place Kl\303\251berZ\nStrasbourgj\00567000r\006Francez\017\b\204S\020\001\032\006\b\240\376\n\030\b 2" +1: "\b\205S\022\005GODOS\030\004\"\004\b\312\235\001*\004\b\202\236\0012\004\b\332\235\0018\003B\006\b\310\2244\030\bJ\024Godos Cocina T\303\255picaR\rC/ Romero, 33Z\aSevillaj\00541101r\005Spainz\017\b\205S\020\035\032\006\b\214\307K\030\b (z\017\b\205S\020@\032\006\b\324\245\024\030\b \022" +1: "\b\206S\022\005KOENE\030\001\"\004\b\314\235\001*\004\b\204\236\0012\004\b\330\235\0018\002B\006\b\254\337\023\030\bJ\020K\303\266niglich EssenR\rMaubelstr. 90Z\vBrandenburgj\00514776r\aGermanyz\024\b\206S\0207\032\006\b\200\323\016\030\b \030-\315\314L=z\017\b\206S\020L\032\006\b\240\376\n\030\b F" +1: "\b\207S\022\005LAMAI\030\b\"\004\b\316\235\001*\004\b\206\236\0012\004\b\320\235\0018\001B\005\b\374C\030\bJ\020La maison d\'AsieR\0251 rue Alsace-LorraineZ\bToulousej\00531000r\006Francez\024\b\207S\020K\032\006\b\274\335\004\030\b \020-\315\314\314=" +1: "\b\210S\022\005WANDK\030\b\"\004\b\316\235\001*\004\b\206\236\0012\004\b\330\235\0018\001B\006\b\350\240\031\030\bJ\021Die Wandernde KuhR\021Adenauerallee 900Z\tStuttgartj\00570563r\aGermanyz\024\b\210S\020\002\032\006\b\260\314\v\030\b <-\315\314L=z\024\b\210S\020!\032\006\b\250\303\001\030\b (-\315\314L=" +1: "\b\211S\022\005ERNSH\030\a\"\004\b\320\235\001*\004\b\210\236\0012\004\b\326\235\0018\003B\a\b\370\327\243\002\030\bJ\fErnst HandelR\fKirchgasse 6Z\004Grazj\0048010r\aAustriaz\024\b\211S\020\f\032\006\b\340\230\027\030\b H-\232\231\031>z\024\b\211S\020\r\032\006\b\340\324\003\030\b \032-\232\231\031>z\024\b\211S\020\032\032\006\b\354\207\023\030\b F-\232\231\031>z\025\b\211S\020>\032\006\b\310\213\036\030\b \240\001-\232\231\031>" +1: "\b\212S\022\005FOLIG\030\004\"\004\b\320\235\001*\004\b\210\236\0012\004\b\334\235\0018\003B\a\b\310\274\251\002\030\bJ\021Folies gourmandesR\031184, chauss\303\251e de TournaiZ\005Lillej\00559000r\006Francez\017\b\212S\020\a\032\006\b\340\247\022\030\b Fz\017\b\212S\020\022\032\006\b\350\222&\030\b dz\017\b\212S\0203\032\006\b\320\254 \030\b \036z\017\b\212S\020K\032\006\b\274\335\004\030\b \004" +1: "\b\213S\022\005MAGAA\030\b\"\004\b\326\235\001*\004\b\216\236\0012\004\b\334\235\0018\003B\006\b\350\373\034\030\bJ\034Magazzini Alimentari RiunitiR\027Via Ludovico il Moro 22Z\aBergamoj\00524100r\005Italyz\024\b\213S\020\004\032\006\b\340\266\r\030\b \024-\315\314\314=z\024\b\213S\020\005\032\006\b\374\203\r\030\b \036-\315\314\314=z\017\b\213S\020\026\032\006\b\320\350\f\030\b P" +1: "\b\214S\022\005WARTH\030\004\"\004\b\330\235\001*\004\b\220\236\0012\004\b\346\235\0018\001B\005\b\354Y\030\bJ\016Wartian HerkkuR\vTorikatu 38Z\004Ouluj\00590110r\aFinlandz\017\b\214S\020\004\032\006\b\340\266\r\030\b 2z\017\b\214S\020:\032\006\b\224\213\b\030\b \f" +1: "\b\215S\022\005QUEEN\030\006\"\004\b\330\235\001*\004\b\220\236\0012\004\b\346\235\0018\001B\006\b\344\355z\030\bJ\rQueen CozinhaR\032Alameda dos Can\303\240rios, 891Z\tSao Paulob\002SPj\t05487-020r\006Brazilz\017\b\215S\020\v\032\006\b\320\350\f\030\b \024z\024\b\215S\0202\032\006\b\304\365\t\030\b 2-\315\314L=z\024\b\215S\0208\032\006\b\340\230\027\030\b x-\315\314L=" +1: "\b\216S\022\005LINOD\030\003\"\004\b\332\235\001*\004\b\222\236\0012\004\b\362\235\0018\001B\006\b\220\332`\030\bJ\020LINO-DelicatesesR\027Ave. 5 de Mayo PorlamarZ\017I. de Margaritab\rNueva Espartaj\0044980r\tVenezuelaz\017\b\216S\020-\032\006\b\230\346\005\030\b (z\017\b\216S\020A\032\006\b\304\354\f\030\b *z\017\b\216S\020H\032\006\b\340\236\025\030\b x" +1: "\b\217S\022\005SANTG\030\a\"\004\b\332\235\001*\004\b\222\236\0012\004\b\350\235\0018\003B\006\b\340\312\027\030\bJ\016Sant\303\251 GourmetR\026Erling Skakkes gate 78Z\aStavernj\0044110r\006Norwayz\017\b\217S\020\022\032\006\b\350\222&\030\b \020" +1: "\b\220S\022\005WANDK\030\004\"\004\b\334\235\001*\004\b\224\236\0012\004\b\352\235\0018\001B\006\b\354\257\016\030\bJ\021Die Wandernde KuhR\021Adenauerallee 900Z\tStuttgartj\00570563r\aGermanyz\024\b\220S\020E\032\006\b\300\374\025\030\b (-\000\000\200>z\024\b\220S\020F\032\006\b\360\223\t\030\b \036-\000\000\200>" +1: "\b\221S\022\005HILAA\030\004\"\004\b\336\235\001*\004\b\226\236\0012\004\b\346\235\0018\002B\006\b\204\320m\030\bJ\020HILARION-AbastosR*Carrera 22 con Ave. Carlos Soublette #8-35Z\016San Crist\303\263balb\bT\303\241chiraj\0045022r\tVenezuelaz\017\b\221S\020\002\032\006\b\260\314\v\030\b dz\017\b\221S\020(\032\006\b\300\235\v\030\b x" +1: "\b\222S\022\005SIMOB\030\a\"\004\b\336\235\001*\004\b\226\236\0012\004\b\372\235\0018\003B\006\b\324\310\031\030\bJ\rSimons bistroR\rVinb\303\246ltet 34Z\tKobenhavnj\0041734r\aDenmarkz\024\b\222S\020\025\032\006\b\240\215\006\030\b <-\315\314L>z\024\b\222S\020=\032\006\b\310\262\021\030\b (-\315\314L>" +1: "\b\223S\022\005ALFKI\030\006\"\004\b\344\235\001*\004\b\234\236\0012\004\b\364\235\0018\001B\006\b\310\375\021\030\bJ\023Alfreds FutterkisteR\rObere Str. 57Z\006Berlinj\00512209r\aGermanyz\024\b\223S\020\034\032\006\b\300\352\033\030\b \036-\000\000\200>z\024\b\223S\020\'\032\006\b\240\376\n\030\b *-\000\000\200>z\024\b\223S\020.\032\006\b\300\251\a\030\b \004-\000\000\200>" +1: "\b\224S\022\005WELLI\030\003\"\004\b\344\235\001*\004\b\234\236\0012\004\b\362\235\0018\002B\005\b\370\n\030\bJ\026Wellington ImportadoraR\022Rua do Mercado, 12Z\aResendeb\002SPj\t08737-363r\006Brazilz\024\b\224S\020\022\032\006\b\350\222&\030\b \b-\315\314\314=z\017\b\224S\020+\032\006\b\340\211\034\030\b (z\024\b\224S\020.\032\006\b\300\251\a\030\b *-\315\314\314=" +1: "\b\225S\022\005HANAR\030\004\"\004\b\346\235\001*\004\b\236\236\0012\004\b\364\235\0018\001B\006\b\304\311\a\030\bJ\rHanari CarnesR\020Rua do Pa\303\247o, 67Z\016Rio de Janeirob\002RJj\t05454-876r\006Brazilz\017\b\225S\020\022\032\006\b\350\222&\030\b (z\017\b\225S\020$\032\006\b\260\314\v\030\b \036" +1: "\b\226S\022\005HUNGO\030\t\"\004\b\350\235\001*\004\b\274\236\0012\004\b\366\235\0018\003B\006\b\304\357V\030\bJ\034Hungry Owl All-Night GrocersR\0208 Johnstown RoadZ\004Corkb\bCo. Corkr\aIrelandz\024\b\226S\020\001\032\006\b\240\376\n\030\b \036-\000\000\200>z\024\b\226S\020\n\032\006\b\360\365\022\030\b $-\000\000\200>z\024\b\226S\020G\032\006\b\330\217\r\030\b <-\000\000\200>z\024\b\226S\020M\032\006\b\320\367\a\030\b F-\000\000\200>" +1: "\b\227S\022\005QUEDE\030\004\"\004\b\350\235\001*\004\b\204\236\0012\004\b\366\235\0018\002B\006\b\350\345\033\030\bJ\fQue Del\303\255ciaR\027Rua da Panificadora, 12Z\016Rio de Janeirob\002RJj\t02389-673r\006Brazilz\017\b\227S\020\023\032\006\b\340\316\005\030\b " +1: "\b\231S\022\005MAISD\030\005\"\004\b\352\235\001*\004\b\242\236\0012\004\b\354\235\0018\003B\006\b\260\344\003\030\bJ\fMaison DeweyR\023Rue Joseph-Bens 532Z\tBruxellesj\006B-1180r\aBelgiumz\017\b\231S\020\034\032\006\b\300\352\033\030\b (z\017\b\231S\020H\032\006\b\340\236\025\030\b \036" +1: "\b\232S\022\005FAMIA\030\005\"\004\b\354\235\001*\004\b\244\236\0012\004\b\366\235\0018\003B\006\b\244\365k\030\bJ\022Familia ArquibaldoR\rRua Or\303\263s, 92Z\tSao Paulob\002SPj\t05442-030r\006Brazilz\017\b\232S\020\036\032\006\b\324\346\017\030\b z\024\b\233S\020\026\032\006\b\320\350\f\030\b (-\000\000\200>" +1: "\b\234S\022\005GOURL\030\004\"\004\b\362\235\001*\004\b\252\236\0012\004\b\200\236\0018\002B\006\b\350\255\004\030\bJ\023Gourmet LanchonetesR\017Av. Brasil, 442Z\bCampinasb\002SPj\t04876-786r\006Brazilz\024\b\234S\020\036\032\006\b\324\346\017\030\b \004-\000\000\200>z\017\b\234S\020*\032\006\b\340\305\b\030\b (" +1: "\b\235S\022\005FRANK\030\001\"\004\b\364\235\001*\004\b\254\236\0012\004\b\226\236\0018\001B\006\b\224\3658\030\bJ\016FrankenversandR\021Berliner Platz 43Z\bM\303\274nchenj\00580805r\aGermanyz\024\b\235S\020\020\032\006\b\244\323\n\030\b <-\315\314\314=z\024\b\235S\020<\032\006\b\240\340\024\030\b (-\315\314\314=" +1: "\b\236S\022\005BERGS\030\005\"\004\b\364\235\001*\004\b\254\236\0012\004\b\206\236\0018\001B\006\b\230\335!\030\bJ\023Berglunds snabbk\303\266pR\020Berguvsv\303\244gen 8Z\006Lule\303\245j\bS-958 22r\006Swedenz\024\b\236S\020\004\032\006\b\340\266\r\030\b \030-\315\314\314=z\024\b\236S\020\'\032\006\b\240\376\n\030\b (-\315\314\314=z\024\b\236S\0206\032\006\b\204\306\004\030\b \f-\315\314\314=" +1: "\b\237S\022\005REGGC\030\001\"\004\b\366\235\001*\004\b\256\236\0012\004\b\206\236\0018\002B\006\b\304\330\002\030\bJ\022Reggiani CaseificiR\026Strada Provinciale 124Z\rReggio Emiliaj\00542100r\005Italyz\024\b\237S\020)\032\006\b\364\361\005\030\b (-\315\314L>" +1: "\b\240S\022\005GREAL\030\006\"\004\b\370\235\001*\004\b\260\236\0012\004\b\204\236\0018\001B\006\b\354\360\"\030\bJ\027Great Lakes Food MarketR\0202732 Baker Blvd.Z\006Eugeneb\002ORj\00597403r\003USAz\024\b\240S\020\016\032\006\b\264\230\016\030\b \006-\315\314\314=z\024\b\240S\020,\032\006\b\304\357\v\030\b 8-\315\314\314=z\024\b\240S\020/\032\006\b\230\346\005\030\b \f-\315\314\314=" +1: "\b\241S\022\005SAVEA\030\002\"\004\b\370\235\001*\004\b\260\236\0012\004\b\216\236\0018\002B\a\b\364\241\327\001\030\bJ\022Save-a-lot MarketsR\017187 Suffolk Ln.Z\005Boiseb\002IDj\00583720r\003USAz\017\b\241S\020\017\032\006\b\370\272\t\030\b dz\017\b\241S\020)\032\006\b\364\361\005\030\b 0z\017\b\241S\020.\032\006\b\300\251\a\030\b Zz\017\b\241S\020/\032\006\b\230\346\005\030\b \024z\017\b\241S\0208\032\006\b\340\230\027\030\b Zz\017\b\241S\020<\032\006\b\240\340\024\030\b <" +1: "\b\242S\022\005QUICK\030\004\"\004\b\372\235\001*\004\b\262\236\0012\004\b\200\236\0018\001B\a\b\234\241\336\001\030\bJ\nQUICK-StopR\021Taucherstra\303\237e 10Z\tCunewaldej\00501307r\aGermanyz\017\b\242S\020\025\032\006\b\240\215\006\030\b xz\025\b\242S\020(\032\006\b\300\235\v\030\b \214\001-\315\314L=z\024\b\242S\020<\032\006\b\240\340\024\030\b n-\315\314L=z\025\b\242S\020M\032\006\b\320\367\a\030\b \214\001-\315\314L=" +1: "\b\243S\022\005QUEEN\030\a\"\004\b\372\235\001*\004\b\262\236\0012\004\b\204\236\0018\002B\006\b\264\312@\030\bJ\rQueen CozinhaR\032Alameda dos Can\303\240rios, 891Z\tSao Paulob\002SPj\t05487-020r\006Brazilz\024\b\243S\020\037\032\006\b\310\320\a\030\b (-\315\314L=z\024\b\243S\020(\032\006\b\300\235\v\030\b 0-\315\314L=z\024\b\243S\020F\032\006\b\360\223\t\030\b P-\315\314L=" +1: "\b\244S\022\005HUNGC\030\b\"\004\b\200\236\001*\004\b\270\236\0012\004\b\312\236\0018\001B\006\b\304\366C\030\bJ\032Hungry Coyote Import StoreR\036City Center Plaza 516 Main St.Z\005Elginb\002ORj\00597827r\003USAz\017\b\244S\020\024\032\006\b\220\2701\030\b *" +1: "\b\245S\022\005HUNGO\030\a\"\004\b\202\236\001*\004\b\272\236\0012\004\b\216\236\0018\003B\006\b\214\333\n\030\bJ\034Hungry Owl All-Night GrocersR\0208 Johnstown RoadZ\004Corkb\bCo. Corkr\aIrelandz\024\b\245S\020\'\032\006\b\240\376\n\030\b \006-\315\314L>z\024\b\245S\020:\032\006\b\224\213\b\030\b b-\315\314L>" +1: "\b\246S\022\005LONEP\030\003\"\004\b\202\236\001*\004\b\272\236\0012\004\b\224\236\0018\002B\005\b\200d\030\bJ\030Lonesome Pine RestaurantR\02289 Chiaroscuro Rd.Z\bPortlandb\002ORj\00597219r\003USAz\017\b\246S\020D\032\006\b\310\320\a\030\b \024" +1: "\b\247S\022\005BONAP\030\002\"\004\b\204\236\001*\004\b\240\236\0012\004\b\262\236\0018\002B\006\b\354\207E\030\bJ\bBon app\'R\02412, rue des BouchersZ\tMarseillej\00513008r\006Francez\024\b\247S\020(\032\006\b\300\235\v\030\b <-\315\314L=z\024\b\247S\020*\032\006\b\340\305\b\030\b <-\315\314L=z\024\b\247S\0203\032\006\b\320\254 \030\b (-\315\314L=" +1: "\b\250S\022\005FURIB\030\001\"\004\b\204\236\001*\004\b\274\236\0012\004\b\226\236\0018\003B\005\b\234c\030\bJ\036Furia Bacalhau e Frutos do MarR\026Jardim das rosas n. 32Z\006Lisboaj\0041675r\bPortugalz\024\b\250S\020\n\032\006\b\360\365\022\030\b 0-\232\231\031>z\024\b\250S\0208\032\006\b\340\230\027\030\b \030-\232\231\031>z\024\b\250S\020A\032\006\b\304\354\f\030\b \036-\232\231\031>" +1: "\b\251S\022\005LONEP\030\001\"\004\b\206\236\001*\004\b\276\236\0012\004\b\222\236\0018\002B\006\b\274\207\020\030\bJ\030Lonesome Pine RestaurantR\02289 Chiaroscuro Rd.Z\bPortlandb\002ORj\00597219r\003USAz\017\b\251S\0203\032\006\b\320\254 \030\b (z\017\b\251S\020;\032\006\b\360\310!\030\b \002z\017\b\251S\020L\032\006\b\240\376\n\030\b \024" +1: "\b\252S\022\005RICSU\030\a\"\004\b\210\236\001*\004\b\300\236\0012\004\b\234\236\0018\002B\a\b\350\355\215\001\030\bJ\022Richter SupermarktR\vStarenweg 5Z\aGen\303\250vej\0041204r\vSwitzerlandz\017\b\252S\020\035\032\006\b\214\307K\030\b Hz\017\b\252S\020A\032\006\b\304\354\f\030\b \024" +1: "\b\253S\022\005ERNSH\030\a\"\004\b\210\236\001*\004\b\300\236\0012\004\b\226\236\0018\001B\006\b\344\324/\030\bJ\fErnst HandelR\fKirchgasse 6Z\004Grazj\0048010r\aAustriaz\024\b\253S\020E\032\006\b\300\374\025\030\b Z-\315\314L>z\024\b\253S\020G\032\006\b\330\217\r\030\b \034-\315\314L>" +1: "\b\254S\022\005WANDK\030\001\"\004\b\216\236\001*\004\b\306\236\0012\004\b\236\236\0018\002B\006\b\210\351\034\030\bJ\021Die Wandernde KuhR\021Adenauerallee 900Z\tStuttgartj\00570563r\aGermanyz\024\b\254S\020\037\032\006\b\310\320\a\030\b \020-\315\314\314=z\024\b\254S\0207\032\006\b\200\323\016\030\b \b-\315\314\314=z\024\b\254S\020@\032\006\b\324\245\024\030\b \036-\315\314\314=" +1: "\b\255S\022\005SIMOB\030\002\"\004\b\216\236\001*\004\b\306\236\0012\004\b\234\236\0018\001B\006\b\274\361\016\030\bJ\rSimons bistroR\rVinb\303\246ltet 34Z\tKobenhavnj\0041734r\aDenmarkz\017\b\255S\020$\032\006\b\260\314\v\030\b <" +1: "\b\256S\022\005FRANK\030\004\"\004\b\220\236\001*\004\b\310\236\0012\004\b\224\236\0018\001B\006\b\360\230|\030\bJ\016FrankenversandR\021Berliner Platz 43Z\bM\303\274nchenj\00580805r\aGermanyz\017\b\256S\020\027\032\006\b\220\277\005\030\b @z\017\b\256S\020.\032\006\b\300\251\a\030\b xz\017\b\256S\020C\032\006\b\340\305\b\030\b 2z\017\b\256S\020I\032\006\b\360\223\t\030\b dz\017\b\256S\020K\032\006\b\274\335\004\030\b 2" +1: "\b\257S\022\005FRANR\030\001\"\004\b\222\236\001*\004\b\312\236\0012\004\b\240\236\0018\001B\006\b\250\302\022\030\bJ\023France restaurationR\01654, rue RoyaleZ\006Nantesj\00544000r\006Francez\017\b\257S\020\020\032\006\b\244\323\n\030\b \024z\017\b\257S\020>\032\006\b\310\213\036\030\b \024z\017\b\257S\020A\032\006\b\304\354\f\030\b \030" +1: "\b\260S\022\005BERGS\030\t\"\004\b\222\236\001*\004\b\256\236\0012\004\b\244\236\0018\002B\006\b\274\270:\030\bJ\023Berglunds snabbk\303\266pR\020Berguvsv\303\244gen 8Z\006Lule\303\245j\bS-958 22r\006Swedenz\025\b\260S\020&\032\a\b\370\351\240\001\030\b \036-\315\314\314=z\017\b\260S\020G\032\006\b\330\217\r\030\b \030" +1: "\b\261S\022\005WILMK\030\002\"\004\b\224\236\001*\004\b\314\236\0012\004\b\226\236\0018\001B\006\b\220\362\r\030\bJ\vWilman KalaR\rKeskuskatu 45Z\bHelsinkij\00521240r\aFinlandz\017\b\261S\020\020\032\006\b\244\323\n\030\b \006z\017\b\261S\020*\032\006\b\340\305\b\030\b \fz\017\b\261S\020+\032\006\b\340\211\034\030\b \f" +1: "\b\262S\022\005ISLAT\030\004\"\004\b\224\236\001*\004\b\314\236\0012\004\b\254\236\0018\002B\005\b\250F\030\bJ\016Island TradingR\031Garden House Crowther WayZ\005Cowesb\rIsle of Wightj\bPO31 7PJr\002UKz\017\b\262S\020\027\032\006\b\220\277\005\030\b \n" +1: "\b\263S\022\005FRANK\030\005\"\004\b\226\236\001*\004\b\316\236\0012\004\b\236\236\0018\002B\006\b\244\270\023\030\bJ\016FrankenversandR\021Berliner Platz 43Z\bM\303\274nchenj\00580805r\aGermanyz\017\b\263S\020\016\032\006\b\264\230\016\030\b z\024\b\265S\020!\032\006\b\250\303\001\030\b \020-\232\231\031>" +1: "\b\266S\022\005SAVEA\030\a\"\004\b\236\236\001*\004\b\326\236\0012\004\b\314\236\0018\003B\a\b\210\265\355\001\030\bJ\022Save-a-lot MarketsR\017187 Suffolk Ln.Z\005Boiseb\002IDj\00583720r\003USAz\020\b\266S\020\f\032\006\b\340\230\027\030\b \310\001z\017\b\266S\020!\032\006\b\250\303\001\030\b z\024\b\270S\020\037\032\006\b\310\320\a\030\b (-\000\000\200>z\024\b\270S\020*\032\006\b\340\305\b\030\b P-\000\000\200>" +1: "\b\271S\022\005GREAL\030\003\"\004\b\242\236\001*\004\b\332\236\0012\004\b\254\236\0018\003B\006\b\324\273.\030\bJ\027Great Lakes Food MarketR\0202732 Baker Blvd.Z\006Eugeneb\002ORj\00597403r\003USAz\024\b\271S\020\023\032\006\b\340\316\005\030\b <-\315\314\314=z\024\b\271S\020\025\032\006\b\240\215\006\030\b \030-\315\314\314=z\017\b\271S\020@\032\006\b\324\245\024\030\b 8" +1: "\b\272S\022\005ANTON\030\003\"\004\b\242\236\001*\004\b\332\236\0012\004\b\256\236\0018\002B\006\b\324\206\026\030\bJ\030Antonio Moreno Taquer\303\255aR\017Mataderos 2312Z\fM\303\251xico D.F.j\00505023r\006Mexicoz\017\b\272S\020!\032\006\b\250\303\001\030\b z\017\b\276S\020\032\032\006\b\354\207\023\030\b \036" +1: "\b\277S\022\005HUNGO\030\t\"\004\b\254\236\001*\004\b\344\236\0012\004\b\350\236\0018\002B\a\b\314\366\264\001\030\bJ\034Hungry Owl All-Night GrocersR\0208 Johnstown RoadZ\004Corkb\bCo. Corkr\aIrelandz\024\b\277S\020\t\032\006\b\220\232;\030\b d-\000\000\200>z\017\b\277S\020\035\032\006\b\214\307K\030\b \024z\024\b\277S\020$\032\006\b\260\314\v\030\b \f-\000\000\200>" +1: "\b\300S\022\005VAFFE\030\004\"\004\b\256\236\001*\004\b\312\236\0012\004\b\272\236\0018\002B\a\b\264\306\266\001\030\bJ\fVaffeljernetR\rSmagsloget 45Z\006\303\205rhusj\0048200r\aDenmarkz\024\b\300S\020\n\032\006\b\360\365\022\030\b $-\315\314\314=z\024\b\300S\020\034\032\006\b\300\352\033\030\b x-\315\314\314=z\017\b\300S\020\"\032\006\b\340\305\b\030\b \034" +1: "\b\301S\022\005BERGS\030\001\"\004\b\256\236\001*\004\b\346\236\0012\004\b\272\236\0018\002B\006\b\270\230\b\030\bJ\023Berglunds snabbk\303\266pR\020Berguvsv\303\244gen 8Z\006Lule\303\245j\bS-958 22r\006Swedenz\024\b\301S\020\001\032\006\b\240\376\n\030\b F-\000\000\200>" +1: "\b\302S\022\005HANAR\030\001\"\004\b\260\236\001*\004\b\350\236\0012\004\b\262\236\0018\001B\006\b\260\322\t\030\bJ\rHanari CarnesR\020Rua do Pa\303\247o, 67Z\016Rio de Janeirob\002RJj\t05454-876r\006Brazilz\024\b\302S\0208\032\006\b\340\230\027\030\b (-\000\000\200>z\024\b\302S\020M\032\006\b\320\367\a\030\b <-\000\000\200>" +1: "\b\303S\022\005QUICK\030\002\"\004\b\262\236\001*\004\b\206\237\0012\004\b\330\236\0018\002B\a\b\224\265\356\003\030\bJ\nQUICK-StopR\021Taucherstra\303\237e 10Z\tCunewaldej\00501307r\aGermanyz\017\b\303S\020\001\032\006\b\240\376\n\030\b \032\006\b\310\213\036\030\b `" +1: "\b\304S\022\005ALFKI\030\004\"\004\b\262\236\001*\004\b\352\236\0012\004\b\306\236\0018\002B\006\b\230\237%\030\bJ\024Alfred\'s FutterkisteR\rObere Str. 57Z\006Berlinj\00512209r\aGermanyz\017\b\304S\020?\032\006\b\330\345\032\030\b (" +1: "\b\305S\022\005WHITC\030\003\"\004\b\270\236\001*\004\b\324\236\0012\004\b\300\236\0018\003B\006\b\370\205U\030\bJ\024White Clover MarketsR\0231029 - 12th Ave. S.Z\aSeattleb\002WAj\00598124r\003USAz\017\b\305S\020\t\032\006\b\220\232;\030\b \fz\024\b\305S\0206\032\006\b\204\306\004\030\b x-\232\231\031>z\024\b\305S\020E\032\006\b\300\374\025\030\b <-\232\231\031>z\024\b\305S\020I\032\006\b\360\223\t\030\b \036-\232\231\031>" +1: "\b\306S\022\005QUICK\030\b\"\004\b\270\236\001*\004\b\360\236\0012\004\b\276\236\0018\003B\a\b\360\221\363\001\030\bJ\nQUICK-StopR\021Taucherstra\303\237e 10Z\tCunewaldej\00501307r\aGermanyz\020\b\306S\020\a\032\006\b\340\247\022\030\b \264\001z\017\b\306S\020;\032\006\b\360\310!\030\b 2z\017\b\306S\020F\032\006\b\360\223\t\030\b d" +1: "\b\307S\022\005WILMK\030\a\"\004\b\272\236\001*\004\b\216\237\0012\004\b\310\236\0018\001B\006\b\240\232\n\030\bJ\vWilman KalaR\rKeskuskatu 45Z\bHelsinkij\00521240r\aFinlandz\017\b\307S\020\b\032\006\b\200\265\030\030\b \024z\017\b\307S\020\f\032\006\b\340\230\027\030\b \bz\017\b\307S\020\030\032\006\b\310\337\002\030\b (" +1: "\b\310S\022\005WHITC\030\b\"\004\b\274\236\001*\004\b\220\237\0012\004\b\310\236\0018\003B\006\b\334\313>\030\bJ\024White Clover MarketsR\0231029 - 12th Ave. S.Z\aSeattleb\002WAj\00598124r\003USAz\017\b\310S\020\021\032\006\b\360\346\027\030\b (z\017\b\310S\020.\032\006\b\300\251\a\030\b $" +1: "\b\311S\022\005LINOD\030\003\"\004\b\274\236\001*\004\b\364\236\0012\004\b\310\236\0018\001B\006\b\240\344\033\030\bJ\020LINO-DelicatesesR\027Ave. 5 de Mayo PorlamarZ\017I. de Margaritab\rNueva Espartaj\0044980r\tVenezuelaz\024\b\311S\020\023\032\006\b\340\316\005\030\b \016-\000\000\200>z\024\b\311S\020#\032\006\b\240\376\n\030\b \022-\000\000\200>z\024\b\311S\020:\032\006\b\224\213\b\030\b <-\000\000\200>z\024\b\311S\020F\032\006\b\360\223\t\030\b <-\000\000\200>" +1: "\b\312S\022\005ERNSH\030\004\"\004\b\276\236\001*\004\b\366\236\0012\004\b\316\236\0018\001B\a\b\334\246\246\001\030\bJ\fErnst HandelR\fKirchgasse 6Z\004Grazj\0048010r\aAustriaz\017\b\312S\020\v\032\006\b\320\350\f\030\b \036z\024\b\312S\020\021\032\006\b\360\346\027\030\b \020-\315\314L=z\024\b\312S\020\035\032\006\b\214\307K\030\b \030-\315\314L=z\025\b\312S\020A\032\006\b\304\354\f\030\b \202\001-\315\314L=z\024\b\312S\020F\032\006\b\360\223\t\030\b \020-\315\314L=" +1: "\b\313S\022\005MORGK\030\003\"\004\b\276\236\001*\004\b\366\236\0012\004\b\306\236\0018\003B\005\b\250-\030\bJ\026Morgenstern GesundkostR\vHeerstr. 22Z\aLeipzigj\00504179r\aGermanyz\017\b\313S\020/\032\006\b\230\346\005\030\b \030" +1: "\b\314S\022\005SAVEA\030\003\"\004\b\300\236\001*\004\b\370\236\0012\004\b\314\236\0018\001B\006\b\370\335\'\030\bJ\022Save-a-lot MarketsR\017187 Suffolk Ln.Z\005Boiseb\002IDj\00583720r\003USAz\024\b\314S\020\001\032\006\b\240\376\n\030\b \n-\315\314L>z\024\b\314S\020\"\032\006\b\340\305\b\030\b \030-\315\314L>z\024\b\314S\020D\032\006\b\310\320\a\030\b P-\315\314L>z\024\b\314S\020G\032\006\b\330\217\r\030\b x-\315\314L>" +1: "\b\315S\022\005HUNGO\030\006\"\004\b\306\236\001*\004\b\342\236\0012\004\b\312\236\0018\003B\a\b\334\273\206\001\030\bJ\034Hungry Owl All-Night GrocersR\0208 Johnstown RoadZ\004Corkb\bCo. Corkr\aIrelandz\024\b\315S\020;\032\006\b\360\310!\030\b T-\232\231\031>z\024\b\315S\020G\032\006\b\330\217\r\030\b (-\232\231\031>z\024\b\315S\020L\032\006\b\240\376\n\030\b F-\232\231\031>" +1: "\b\316S\022\005ALFKI\030\004\"\004\b\306\236\001*\004\b\232\237\0012\004\b\326\236\0018\001B\006\b\250\316\016\030\bJ\024Alfred\'s FutterkisteR\rObere Str. 57Z\006Berlinj\00512209r\aGermanyz\017\b\316S\020\003\032\006\b\240\215\006\030\b \fz\017\b\316S\020L\032\006\b\240\376\n\030\b \036" +1: "\b\317S\022\005FOLKO\030\006\"\004\b\310\236\001*\004\b\200\237\0012\004\b\324\236\0018\002B\006\b\270\372\\\030\bJ\017Folk och f\303\244 HBR\r\303\205kergatan 24Z\aBr\303\244ckej\bS-844 67r\006Swedenz\017\b\317S\020\002\032\006\b\260\314\v\030\b \nz\017\b\317S\020;\032\006\b\360\310!\030\b Fz\017\b\317S\020I\032\006\b\360\223\t\030\b F" +1: "\b\320S\022\005QUEEN\030\006\"\004\b\310\236\001*\004\b\200\237\0012\004\b\370\236\0018\001B\006\b\270\365\002\030\bJ\rQueen CozinhaR\032Alameda dos Can\303\240rios, 891Z\tSao Paulob\002SPj\t05487-020r\006Brazilz\017\b\320S\020\004\032\006\b\340\266\r\030\b \fz\017\b\320S\020\030\032\006\b\310\337\002\030\b Fz\017\b\320S\0200\032\006\b\214\344\a\030\b 0" +1: "\b\321S\022\005HILAA\030\t\"\004\b\312\236\001*\004\b\202\237\0012\004\b\216\237\0018\002B\006\b\200\223\002\030\bJ\020HILARION-AbastosR*Carrera 22 con Ave. Carlos Soublette #8-35Z\016San Crist\303\263balb\bT\303\241chiraj\0045022r\tVenezuelaz\017\b\321S\020\037\032\006\b\310\320\a\030\b (z\017\b\321S\020 \032\006\b\200\304\023\030\b \b" +1: "\b\322S\022\005OLDWO\030\b\"\004\b\314\236\001*\004\b\204\237\0012\004\b\326\236\0018\003B\006\b\214\344R\030\bJ\026Old World DelicatessenR\0172743 Bering St.Z\tAnchorageb\002AKj\00599508r\003USAz\017\b\322S\020\020\032\006\b\244\323\n\030\b (z\017\b\322S\020+\032\006\b\340\211\034\030\b 0z\017\b\322S\020;\032\006\b\360\310!\030\b \020" +1: "\b\323S\022\005AROUT\030\004\"\004\b\314\236\001*\004\b\350\236\0012\004\b\332\236\0018\003B\006\b\270\242\r\030\bJ\017Around the HornR\035Brook Farm Stratford St. MaryZ\nColchesterb\005Essexj\aCO7 6JXr\002UKz\017\b\323S\0207\032\006\b\200\323\016\030\b *z\017\b\323S\0209\032\006\b\270\363\v\030\b Pz\024\b\323S\020F\032\006\b\360\223\t\030\b 8-\232\231\031>" +1: "\b\324S\022\005THEBI\030\006\"\004\b\316\236\001*\004\b\242\237\0012\004\b\364\236\0018\002B\006\b\240\347\001\030\bJ\016The Big CheeseR\03089 Jefferson Way Suite 2Z\bPortlandb\002ORj\00597201r\003USAz\017\b\324S\020\005\032\006\b\374\203\r\030\b \bz\017\b\324S\020$\032\006\b\260\314\v\030\b \n" +1: "\b\325S\022\005GOURL\030\001\"\004\b\316\236\001*\004\b\206\237\0012\004\b\222\237\0018\003B\a\b\340\324\200\001\030\bJ\023Gourmet LanchonetesR\017Av. Brasil, 442Z\bCampinasb\002SPj\t04876-786r\006Brazilz\017\b\325S\020\b\032\006\b\200\265\030\030\b Pz\017\b\325S\0203\032\006\b\320\254 \030\b 8z\017\b\325S\020<\032\006\b\240\340\024\030\b \024" +1: "\b\326S\022\005FRANS\030\001\"\004\b\324\236\001*\004\b\214\237\0012\004\b\332\236\0018\001B\006\b\210\205\003\030\bJ\016Franchi S.p.A.R\023Via Monte Bianco 34Z\006Torinoj\00510100r\005Italyz\017\b\326S\020\023\032\006\b\340\316\005\030\b \nz\017\b\326S\020/\032\006\b\230\346\005\030\b \n" +1: "\b\327S\022\005SAVEA\030\005\"\004\b\326\236\001*\004\b\252\237\0012\004\b\346\236\0018\002B\006\b\304\376\037\030\bJ\022Save-a-lot MarketsR\017187 Suffolk Ln.Z\005Boiseb\002IDj\00583720r\003USAz\017\b\327S\020\023\032\006\b\340\316\005\030\b \030z\017\b\327S\020)\032\006\b\364\361\005\030\b Tz\020\b\327S\0205\032\006\b\300\202\024\030\b \360\001" +1: "\b\330S\022\005HUNGO\030\003\"\004\b\326\236\001*\004\b\216\237\0012\004\b\352\236\0018\001B\006\b\344\3616\030\bJ\034Hungry Owl All-Night GrocersR\0208 Johnstown RoadZ\004Corkb\bCo. Corkr\aIrelandz\024\b\330S\0205\032\006\b\300\202\024\030\b \006-\315\314L=z\017\b\330S\0208\032\006\b\340\230\027\030\b <" +1: "\b\331S\022\005SAVEA\030\001\"\004\b\330\236\001*\004\b\220\237\0012\004\b\334\236\0018\001B\006\b\344\372e\030\bJ\022Save-a-lot MarketsR\017187 Suffolk Ln.Z\005Boiseb\002IDj\00583720r\003USAz\017\b\331S\020\n\032\006\b\360\365\022\030\b $z\017\b\331S\020\032\032\006\b\354\207\023\030\b z\024\b\332S\020\021\032\006\b\360\346\027\030\b 6-\000\000\200>z\024\b\332S\020/\032\006\b\230\346\005\030\b d-\000\000\200>z\024\b\332S\0208\032\006\b\340\230\027\030\b $-\000\000\200>z\024\b\332S\020:\032\006\b\224\213\b\030\b \030-\000\000\200>" +1: "\b\333S\022\005BONAP\030\003\"\004\b\332\236\001*\004\b\366\236\0012\004\b\346\236\0018\001B\006\b\300\311&\030\bJ\bBon app\'R\02412, rue des BouchersZ\tMarseillej\00513008r\006Francez\017\b\333S\020\n\032\006\b\360\365\022\030\b *z\017\b\333S\020G\032\006\b\330\217\r\030\b <" +1: "\b\334S\022\005RANCH\030\004\"\004\b\334\236\001*\004\b\224\237\0012\004\b\342\236\0018\002B\006\b\244\343\r\030\bJ\rRancho grandeR\026Av. del Libertador 900Z\fBuenos Airesj\0041010r\tArgentinaz\017\b\334S\020\025\032\006\b\240\215\006\030\b \nz\017\b\334S\0203\032\006\b\320\254 \030\b \016z\017\b\334S\020=\032\006\b\310\262\021\030\b \024" +1: "\b\335S\022\005FRANK\030\001\"\004\b\334\236\001*\004\b\224\237\0012\004\b\346\236\0018\002B\006\b\364\224$\030\bJ\016FrankenversandR\021Berliner Platz 43Z\bM\303\274nchenj\00580805r\aGermanyz\024\b\335S\020\025\032\006\b\240\215\006\030\b @-\315\314L=z\017\b\335S\0206\032\006\b\204\306\004\030\b \036z\024\b\335S\020E\032\006\b\300\374\025\030\b 2-\315\314L=" +1: "\b\336S\022\005KOENE\030\001\"\004\b\342\236\001*\004\b\232\237\0012\004\b\346\236\0018\003B\006\b\200\246h\030\bJ\020K\303\266niglich EssenR\rMaubelstr. 90Z\vBrandenburgj\00514776r\aGermanyz\017\b\336S\020\f\032\006\b\340\230\027\030\b Hz\017\b\336S\020\020\032\006\b\244\323\n\030\b (z\017\b\336S\020$\032\006\b\260\314\v\030\b Pz\017\b\336S\020>\032\006\b\310\213\036\030\b (" +1: "\b\337S\022\005LETSS\030\b\"\004\b\342\236\001*\004\b\232\237\0012\004\b\364\236\0018\002B\006\b\340\262\037\030\bJ\021Let\'s Stop N ShopR\02387 Polk St. Suite 5Z\rSan Franciscob\002CAj\00594117r\003USAz\024\b\337S\020\022\032\006\b\350\222&\030\b \030-\000\000\200>z\024\b\337S\020\036\032\006\b\324\346\017\030\b \006-\000\000\200>z\024\b\337S\0206\032\006\b\204\306\004\030\b P-\000\000\200>" +1: "\b\340S\022\005QUEDE\030\b\"\004\b\344\236\001*\004\b\200\237\0012\004\b\364\236\0018\002B\006\b\304\350\005\030\bJ\fQue Del\303\255ciaR\027Rua da Panificadora, 12Z\016Rio de Janeirob\002RJj\t02389-673r\006Brazilz\017\b\340S\020#\032\006\b\240\376\n\030\b *z\017\b\340S\020G\032\006\b\330\217\r\030\b \020" +1: "\b\341S\022\005QUICK\030\005\"\004\b\346\236\001*\004\b\236\237\0012\004\b\352\236\0018\003B\006\b\360\355\035\030\bJ\nQUICK-StopR\021Taucherstra\303\237e 10Z\tCunewaldej\00501307r\aGermanyz\024\b\341S\020,\032\006\b\304\357\v\030\b d-\315\314L=" +1: "\b\342S\022\005SAVEA\030\b\"\004\b\346\236\001*\004\b\272\237\0012\004\b\362\236\0018\001B\006\b\310\302-\030\bJ\022Save-a-lot MarketsR\017187 Suffolk Ln.Z\005Boiseb\002IDj\00583720r\003USAz\017\b\342S\020\002\032\006\b\260\314\v\030\b \006z\017\b\342S\020\037\032\006\b\310\320\a\030\b dz\017\b\342S\020D\032\006\b\310\320\a\030\b Zz\017\b\342S\020K\032\006\b\274\335\004\030\b T" +1: "\b\343S\022\005WHITC\030\003\"\004\b\350\236\001*\004\b\240\237\0012\004\b\234\237\0018\001B\006\b\360\240\r\030\bJ\024White Clover MarketsR\0231029 - 12th Ave. S.Z\aSeattleb\002WAj\00598124r\003USAz\017\b\343S\020\032\032\006\b\354\207\023\030\b \036" +1: "\b\344S\022\005MEREP\030\b\"\004\b\350\236\001*\004\b\274\237\0012\004\b\364\236\0018\002B\006\b\334\237#\030\bJ\017M\303\250re PaillardeR\02243 rue St. LaurentZ\tMontr\303\251alb\aQu\303\251becj\aH1J 1C3r\006Canadaz\017\b\344S\020\n\032\006\b\360\365\022\030\b z\017\b\344S\020=\032\006\b\310\262\021\030\b \n" +1: "\b\345S\022\005FAMIA\030\004\"\004\b\352\236\001*\004\b\242\237\0012\004\b\364\236\0018\003B\006\b\214\316\006\030\bJ\022Familia ArquibaldoR\rRua Or\303\263s, 92Z\tSao Paulob\002SPj\t05442-030r\006Brazilz\017\b\345S\020)\032\006\b\364\361\005\030\b \030z\017\b\345S\0204\032\006\b\360\242\004\030\b \bz\017\b\345S\0207\032\006\b\200\323\016\030\b \f" +1: "\b\346S\022\005EASTC\030\004\"\004\b\360\236\001*\004\b\214\237\0012\004\b\260\237\0018\001B\006\b\340\215\n\030\bJ\022Eastern ConnectionR\01635 King GeorgeZ\006Londonj\aWX3 6FWr\002UKz\017\b\346S\020\004\032\006\b\340\266\r\030\b 2z\017\b\346S\020\v\032\006\b\320\350\f\030\b \n" +1: "\b\347S\022\005REGGC\030\002\"\004\b\360\236\001*\004\b\250\237\0012\004\b\260\237\0018\001B\006\b\270\3576\030\bJ\022Reggiani CaseificiR\026Strada Provinciale 124Z\rReggio Emiliaj\00542100r\005Italyz\024\b\347S\020\021\032\006\b\360\346\027\030\b (-\315\314L=z\024\b\347S\0208\032\006\b\340\230\027\030\b \024-\315\314L=z\024\b\347S\020;\032\006\b\360\310!\030\b \024-\315\314L=" +1: "\b\350S\022\005QUEEN\030\004\"\004\b\362\236\001*\004\b\252\237\0012\004\b\200\237\0018\002B\006\b\204\315#\030\bJ\rQueen CozinhaR\032Alameda dos Can\303\240rios, 891Z\tSao Paulob\002SPj\t05487-020r\006Brazilz\017\b\350S\020\036\032\006\b\324\346\017\030\b \036z\017\b\350S\020(\032\006\b\300\235\v\030\b \fz\017\b\350S\0207\032\006\b\200\323\016\030\b \030z\017\b\350S\020<\032\006\b\240\340\024\030\b \036" +1: "\b\351S\022\005LINOD\030\b\"\004\b\362\236\001*\004\b\306\237\0012\004\b\206\237\0018\003B\006\b\250\214V\030\bJ\020LINO-DelicatesesR\027Ave. 5 de Mayo PorlamarZ\017I. de Margaritab\rNueva Espartaj\0044980r\tVenezuelaz\017\b\351S\020\001\032\006\b\240\376\n\030\b dz\017\b\351S\020\025\032\006\b\240\215\006\030\b z\024\b\364S\020#\032\006\b\240\376\n\030\b F-\315\314L>z\024\b\364S\020-\032\006\b\230\346\005\030\b P-\315\314L>z\024\b\364S\0208\032\006\b\340\230\027\030\b \034-\315\314L>" +1: "\b\365S\022\005AROUT\030\004\"\004\b\206\237\001*\004\b\242\237\0012\004\b\216\237\0018\003B\006\b\240\330\006\030\bJ\017Around the HornR\035Brook Farm Stratford St. MaryZ\nColchesterb\005Essexj\aCO7 6JXr\002UKz\024\b\365S\020\002\032\006\b\260\314\v\030\b \036-\315\314L>" +1: "\b\366S\022\005BOTTM\030\003\"\004\b\206\237\001*\004\b\276\237\0012\004\b\216\237\0018\003B\a\b\264\341\224\001\030\bJ\025Bottom-Dollar MarketsR\02223 Tsawassen Blvd.Z\tTsawassenb\002BCj\aT2F 8M4r\006Canadaz\017\b\366S\020\003\032\006\b\240\215\006\030\b (z\017\b\366S\020<\032\006\b\240\340\024\030\b dz\017\b\366S\020H\032\006\b\340\236\025\030\b F" +1: "\b\367S\022\005AROUT\030\001\"\004\b\214\237\001*\004\b\304\237\0012\004\b\224\237\0018\002B\006\b\220\275\016\030\bJ\017Around the HornR\035Brook Farm Stratford St. MaryZ\nColchesterb\005Essexj\aCO7 6JXr\002UKz\024\b\367S\020.\032\006\b\300\251\a\030\b 8-\315\314L=" +1: "\b\370S\022\005VAFFE\030\006\"\004\b\214\237\001*\004\b\304\237\0012\004\b\232\237\0018\001B\006\b\274\235*\030\bJ\fVaffeljernetR\rSmagsloget 45Z\006\303\205rhusj\0048200r\aDenmarkz\024\b\370S\020(\032\006\b\300\235\v\030\b d-\315\314L>" +1: "\b\371S\022\005QUICK\030\t\"\004\b\216\237\001*\004\b\306\237\0012\004\b\240\237\0018\001B\006\b\200\223\002\030\bJ\nQUICK-StopR\021Taucherstra\303\237e 10Z\tCunewaldej\00501307r\aGermanyz\017\b\371S\020\022\032\006\b\350\222&\030\b 0z\017\b\371S\020,\032\006\b\304\357\v\030\b z\017\b\371S\020;\032\006\b\360\310!\030\b Zz\017\b\371S\020H\032\006\b\340\236\025\030\b \016" +1: "\b\372S\022\005CHOPS\030\001\"\004\b\220\237\001*\004\b\310\237\0012\004\b\224\237\0018\003B\006\b\274\227\023\030\bJ\021Chop-suey ChineseR\fHauptstr. 31Z\004Bernj\0043012r\vSwitzerlandz\017\b\372S\020\r\032\006\b\340\324\003\030\b \fz\017\b\372S\020*\032\006\b\340\305\b\030\b 8z\017\b\372S\020>\032\006\b\310\213\036\030\b \022z\017\b\372S\020E\032\006\b\300\374\025\030\b P" +1: "\b\373S\022\005PICCO\030\006\"\004\b\220\237\001*\004\b\310\237\0012\004\b\236\237\0018\001B\006\b\264\316G\030\bJ\020Piccolo und mehrR\vGeislweg 14Z\bSalzburgj\0045020r\aAustriaz\017\b\373S\020\037\032\006\b\310\320\a\030\b \020z\017\b\373S\020)\032\006\b\364\361\005\030\b Fz\017\b\373S\020?\032\006\b\330\345\032\030\b \022z\017\b\373S\020E\032\006\b\300\374\025\030\b <" +1: "\b\374S\022\005SAVEA\030\003\"\004\b\222\237\001*\004\b\312\237\0012\004\b\242\237\0018\001B\a\b\374\367\215\001\030\bJ\022Save-a-lot MarketsR\017187 Suffolk Ln.Z\005Boiseb\002IDj\00583720r\003USAz\017\b\374S\020\027\032\006\b\220\277\005\030\b Xz\017\b\374S\020(\032\006\b\300\235\v\030\b Pz\017\b\374S\0208\032\006\b\340\230\027\030\b 8" +1: "\b\375S\022\005ISLAT\030\004\"\004\b\222\237\001*\004\b\312\237\0012\004\b\314\237\0018\002B\006\b\204\307%\030\bJ\016Island TradingR\031Garden House Crowther WayZ\005Cowesb\rIsle of Wightj\bPO31 7PJr\002UKz\017\b\375S\0208\032\006\b\340\230\027\030\b \036z\017\b\375S\020;\032\006\b\360\310!\030\b \fz\017\b\375S\020L\032\006\b\240\376\n\030\b \024" +1: "\b\376S\022\005WARTH\030\t\"\004\b\224\237\001*\004\b\314\237\0012\004\b\232\237\0018\001B\006\b\250\2630\030\bJ\016Wartian HerkkuR\vTorikatu 38Z\004Ouluj\00590110r\aFinlandz\024\b\376S\020\016\032\006\b\264\230\016\030\b \n-\232\231\031>z\024\b\376S\020-\032\006\b\230\346\005\030\b P-\232\231\031>z\024\b\376S\020;\032\006\b\360\310!\030\b 2-\232\231\031>" +1: "\b\377S\022\005RICSU\030\003\"\004\b\232\237\001*\004\b\322\237\0012\004\b\254\237\0018\003B\006\b\374\351O\030\bJ\022Richter SupermarktR\vStarenweg 5Z\aGen\303\250vej\0041204r\vSwitzerlandz\024\b\377S\020\032\032\006\b\354\207\023\030\b \030-\315\314\314=z\017\b\377S\020\036\032\006\b\324\346\017\030\b z\024\b\203T\0208\032\006\b\340\230\027\030\b <-\000\000\200>z\024\b\203T\0209\032\006\b\270\363\v\030\b \034-\000\000\200>z\024\b\203T\020E\032\006\b\300\374\025\030\b 2-\000\000\200>" +1: "\b\204T\022\005SPLIR\030\b\"\004\b\240\237\001*\004\b\330\237\0012\004\b\252\237\0018\002B\006\b\304\327,\030\bJ\025Split Rail Beer & AleR\fP.O. Box 555Z\006Landerb\002WYj\00582520r\003USAz\024\b\204T\020\022\032\006\b\350\222&\030\b *-\315\314L>z\024\b\204T\020$\032\006\b\260\314\v\030\b (-\315\314L>z\024\b\204T\020D\032\006\b\310\320\a\030\b \f-\315\314L>z\024\b\204T\020E\032\006\b\300\374\025\030\b (-\315\314L>" +1: "\b\205T\022\005SAVEA\030\006\"\004\b\240\237\001*\004\b\330\237\0012\004\b\304\237\0018\001B\006\b\354\377\004\030\bJ\022Save-a-lot MarketsR\017187 Suffolk Ln.Z\005Boiseb\002IDj\00583720r\003USAz\017\b\205T\020\"\032\006\b\340\305\b\030\b \032\006\b\310\213\036\030\b z\017\b\210T\020\033\032\006\b\330\345\032\030\b Pz\024\b\210T\020+\032\006\b\340\211\034\030\b <-\000\000\200>" +1: "\b\211T\022\005RATTC\030\005\"\004\b\252\237\001*\004\b\342\237\0012\004\b\266\237\0018\002B\006\b\350\261\v\030\bJ\032Rattlesnake Canyon GroceryR\0172817 Milton Dr.Z\vAlbuquerqueb\002NMj\00587110r\003USAz\024\b\211T\020\031\032\006\b\340\305\b\030\b F-\000\000\200>z\017\b\211T\020K\032\006\b\274\335\004\030\b $" +1: "\b\212T\022\005FOLKO\030\003\"\004\b\252\237\001*\004\b\342\237\0012\004\b\270\237\0018\001B\a\b\350\322\310\001\030\bJ\017Folk och f\303\244 HBR\r\303\205kergatan 24Z\aBr\303\244ckej\bS-844 67r\006Swedenz\017\b\212T\020\'\032\006\b\240\376\n\030\b z\017\b\212T\020/\032\006\b\230\346\005\030\b \032\006\b\310\213\036\030\b \036" +1: "\b\222T\022\005HANAR\030\b\"\004\b\270\237\001*\004\b\360\237\0012\004\b\310\237\0018\003B\006\b\320\237\003\030\bJ\rHanari CarnesR\020Rua do Pa\303\247o, 67Z\016Rio de Janeirob\002RJj\t05454-876r\006Brazilz\024\b\222T\020\v\032\006\b\320\350\f\030\b \036-\000\000\200>" +1: "\b\223T\022\005ERNSH\030\t\"\004\b\272\237\001*\004\b\362\237\0012\004\b\350\237\0018\002B\006\b\234\352\006\030\bJ\fErnst HandelR\fKirchgasse 6Z\004Grazj\0048010r\aAustriaz\017\b\223T\020G\032\006\b\330\217\r\030\b " +1: "\b\224T\022\005LEHMS\030\003\"\004\b\272\237\001*\004\b\362\237\0012\004\b\314\237\0018\002B\006\b\240\3337\030\bJ\023Lehmanns MarktstandR\fMagazinweg 7Z\016Frankfurt a.M.j\00560528r\aGermanyz\017\b\224T\020\035\032\006\b\214\307K\030\b $z\017\b\224T\020;\032\006\b\360\310!\030\b 2" +1: "\b\225T\022\005ERNSH\030\001\"\004\b\274\237\001*\004\b\364\237\0012\004\b\306\237\0018\003B\006\b\314\355:\030\bJ\fErnst HandelR\fKirchgasse 6Z\004Grazj\0048010r\aAustriaz\017\b\225T\020\021\032\006\b\360\346\027\030\b Bz\025\b\225T\020\037\032\006\b\310\320\a\030\b \214\001-\315\314L>z\024\b\225T\020K\032\006\b\274\335\004\030\b \016-\315\314L>" +1: "\b\226T\022\005FOLKO\030\004\"\004\b\274\237\001*\004\b\330\237\0012\004\b\276\237\0018\001B\006\b\320\265\035\030\bJ\017Folk och f\303\244 HBR\r\303\205kergatan 24Z\aBr\303\244ckej\bS-844 67r\006Swedenz\024\b\226T\020\037\032\006\b\310\320\a\030\b \004-\000\000\200>z\017\b\226T\020B\032\006\b\220\260\n\030\b d" +1: "\b\227T\022\005THECR\030\a\"\004\b\276\237\001*\004\b\366\237\0012\004\b\332\237\0018\001B\006\b\204\256\f\030\bJ\017The Cracker BoxR\02355 Grizzly Peak Rd.Z\005Butteb\002MTj\00559801r\003USAz\017\b\227T\020\n\032\006\b\360\365\022\030\b \fz\017\b\227T\020C\032\006\b\340\305\b\030\b \006" +1: "\b\230T\022\005ERNSH\030\001\"\004\b\304\237\001*\004\b\374\237\0012\004\b\312\237\0018\003B\a\b\244\307\326\001\030\bJ\fErnst HandelR\fKirchgasse 6Z\004Grazj\0048010r\aAustriaz\024\b\230T\020\037\032\006\b\310\320\a\030\b -\315\314L=z\024\b\230T\020*\032\006\b\340\305\b\030\b \030-\315\314L=z\024\b\230T\020-\032\006\b\230\346\005\030\b 6-\315\314L=z\025\b\230T\0203\032\006\b\320\254 \030\b \360\001-\315\314L=" +1: "\b\231T\022\005GOURL\030\a\"\004\b\304\237\001*\004\b\340\237\0012\004\b\216\240\0018\002B\006\b\224\353\001\030\bJ\023Gourmet LanchonetesR\017Av. Brasil, 442Z\bCampinasb\002SPj\t04876-786r\006Brazilz\024\b\231T\020*\032\006\b\340\305\b\030\b (-\315\314L>" +1: "\b\232T\022\005BERGS\030\003\"\004\b\306\237\001*\004\b\376\237\0012\004\b\326\237\0018\001B\006\b\274\222\004\030\bJ\023Berglunds snabbk\303\266pR\020Berguvsv\303\244gen 8Z\006Lule\303\245j\bS-958 22r\006Swedenz\017\b\232T\020)\032\006\b\364\361\005\030\b \024" +1: "\b\233T\022\005MORGK\030\003\"\004\b\306\237\001*\004\b\376\237\0012\004\b\200\240\0018\002B\006\b\264\275#\030\bJ\026Morgenstern GesundkostR\vHeerstr. 22Z\aLeipzigj\00504179r\aGermanyz\017\b\233T\020\020\032\006\b\244\323\n\030\b (z\017\b\233T\020>\032\006\b\310\213\036\030\b (" +1: "\b\234T\022\005LILAS\030\002\"\004\b\306\237\001*\004\b\342\237\0012\004\b\330\237\0018\001B\006\b\264\333\031\030\bJ\021LILA-SupermercadoR/Carrera 52 con Ave. Bol\303\255var #65-98 Llano LargoZ\fBarquisimetob\004Laraj\0043508r\tVenezuelaz\017\b\234T\020F\032\006\b\360\223\t\030\b Fz\017\b\234T\020M\032\006\b\320\367\a\030\b \036" +1: "\b\235T\022\005WARTH\030\002\"\004\b\310\237\001*\004\b\200\240\0012\004\b\314\237\0018\003B\006\b\320\323,\030\bJ\016Wartian HerkkuR\vTorikatu 38Z\004Ouluj\00590110r\aFinlandz\024\b\235T\0206\032\006\b\204\306\004\030\b \006-\315\314L>z\024\b\235T\0208\032\006\b\340\230\027\030\b (-\315\314L>z\017\b\235T\020J\032\006\b\240\215\006\030\b F" +1: "\b\236T\022\005CACTU\030\t\"\004\b\310\237\001*\004\b\200\240\0012\004\b\322\237\0018\003B\005\b\370U\030\bJ\032Cactus Comidas para llevarR\vCerrito 333Z\fBuenos Airesj\0041010r\tArgentinaz\017\b\236T\020\037\032\006\b\310\320\a\030\b \002" +1: "\b\237T\022\005HANAR\030\004\"\004\b\312\237\001*\004\b\202\240\0012\004\b\314\237\0018\002B\006\b\210\244L\030\bJ\rHanari CarnesR\020Rua do Pa\303\247o, 67Z\016Rio de Janeirob\002RJj\t05454-876r\006Brazilz\017\b\237T\020\037\032\006\b\310\320\a\030\b \024z\020\b\237T\020&\032\a\b\370\351\240\001\030\b \n" +1: "\b\240T\022\005MAGAA\030\004\"\004\b\312\237\001*\004\b\202\240\0012\004\b\322\237\0018\003B\006\b\344\343*\030\bJ\034Magazzini Alimentari RiunitiR\027Via Ludovico il Moro 22Z\aBergamoj\00524100r\005Italyz\017\b\240T\020$\032\006\b\260\314\v\030\b z\024\b\240T\020H\032\006\b\340\236\025\030\b <-\232\231\031>" +1: "\b\241T\022\005GROSR\030\001\"\004\b\312\237\001*\004\b\202\240\0012\004\b\326\237\0018\003B\005\b\374u\030\bJ\024GROSELLA-RestauranteR\0325\302\252 Ave. Los Palos GrandesZ\aCaracasb\002DFj\0041081r\tVenezuelaz\017\b\241T\020\n\032\006\b\360\365\022\030\b \024z\017\b\241T\020K\032\006\b\274\335\004\030\b \024" +1: "\b\242T\022\005QUEEN\030\b\"\004\b\314\237\001*\004\b\204\240\0012\004\b\324\237\0018\001B\006\b\334\325C\030\bJ\rQueen CozinhaR\032Alameda dos Can\303\240rios, 891Z\tSao Paulob\002SPj\t05487-020r\006Brazilz\024\b\242T\020\b\032\006\b\200\265\030\030\b <-\315\314L>z\024\b\242T\020\036\032\006\b\324\346\017\030\b \036-\315\314L>z\024\b\242T\020K\032\006\b\274\335\004\030\b T-\315\314L>" +1: "\b\243T\022\005LAMAI\030\002\"\004\b\314\237\001*\004\b\350\237\0012\004\b\332\237\0018\001B\a\b\344\305\230\001\030\bJ\020La maison d\'AsieR\0251 rue Alsace-LorraineZ\bToulousej\00531000r\006Francez\024\b\243T\020\002\032\006\b\260\314\v\030\b \036-\315\314L=z\024\b\243T\020\035\032\006\b\214\307K\030\b (-\315\314L=" +1: "\b\244T\022\005QUICK\030\001\"\004\b\322\237\001*\004\b\212\240\0012\004\b\212\240\0018\002B\006\b\370\207\032\030\bJ\nQUICK-StopR\021Taucherstra\303\237e 10Z\tCunewaldej\00501307r\aGermanyz\024\b\244T\020\023\032\006\b\340\316\005\030\b d-\315\314L=z\024\b\244T\020K\032\006\b\274\335\004\030\b P-\315\314L=" +1: "\b\245T\022\005FOLIG\030\001\"\004\b\322\237\001*\004\b\212\240\0012\004\b\344\237\0018\002B\006\b\260\263=\030\bJ\021Folies gourmandesR\031184, chauss\303\251e de TournaiZ\005Lillej\00559000r\006Francez\017\b\245T\020\022\032\006\b\350\222&\030\b z\024\b\246T\0208\032\006\b\340\230\027\030\b (-\232\231\031>" +1: "\b\247T\022\005FRANK\030\006\"\004\b\324\237\001*\004\b\214\240\0012\004\b\346\237\0018\002B\006\b\264\244\n\030\bJ\016FrankenversandR\021Berliner Platz 43Z\bM\303\274nchenj\00580805r\aGermanyz\024\b\247T\020\035\032\006\b\214\307K\030\b \034-\315\314L=z\024\b\247T\020)\032\006\b\364\361\005\030\b (-\315\314L=" +1: "\b\250T\022\005WOLZA\030\001\"\004\b\324\237\001*\004\b\214\240\0012\004\b\344\237\0018\003B\006\b\314\302\016\030\bJ\rWolski ZajazdR\017ul. Filtrowa 68Z\bWarszawaj\00601-012r\006Polandz\017\b\250T\020\002\032\006\b\260\314\v\030\b \024z\017\b\250T\0206\032\006\b\204\306\004\030\b \006z\017\b\250T\020D\032\006\b\310\320\a\030\b \036" +1: "\b\251T\022\005AROUT\030\003\"\004\b\326\237\001*\004\b\216\240\0012\004\b\364\237\0018\003B\006\b\220\341\002\030\bJ\017Around the HornR\035Brook Farm Stratford St. MaryZ\nColchesterb\005Essexj\aCO7 6JXr\002UKz\017\b\251T\020)\032\006\b\364\361\005\030\b \034z\017\b\251T\0204\032\006\b\360\242\004\030\b \020" +1: "\b\252T\022\005QUEDE\030\006\"\004\b\326\237\001*\004\b\216\240\0012\004\b\350\237\0018\001B\006\b\364\216\r\030\bJ\fQue Del\303\255ciaR\027Rua da Panificadora, 12Z\016Rio de Janeirob\002RJj\t02389-673r\006Brazilz\024\b\252T\020\016\032\006\b\264\230\016\030\b \036-\315\314L>z\024\b\252T\0206\032\006\b\204\306\004\030\b \f-\315\314L>" +1: "\b\253T\022\005ERNSH\030\b\"\004\b\326\237\001*\004\b\216\240\0012\004\b\214\240\0018\002B\006\b\250\247M\030\bJ\fErnst HandelR\fKirchgasse 6Z\004Grazj\0048010r\aAustriaz\020\b\253T\020\020\032\006\b\244\323\n\030\b \202\001z\024\b\253T\020\021\032\006\b\360\346\027\030\b F-\000\000\200>" +1: "\b\254T\022\005HILAA\030\003\"\004\b\330\237\001*\004\b\220\240\0012\004\b\200\240\0018\001B\006\b\360\227\020\030\bJ\020HILARION-AbastosR*Carrera 22 con Ave. Carlos Soublette #8-35Z\016San Crist\303\263balb\bT\303\241chiraj\0045022r\tVenezuelaz\024\b\254T\020\032\032\006\b\354\207\023\030\b *-\315\314L>z\017\b\254T\020,\032\006\b\304\357\v\030\b \024z\024\b\254T\020@\032\006\b\324\245\024\030\b F-\315\314L>z\024\b\254T\020E\032\006\b\300\374\025\030\b 0-\315\314L>" +1: "\b\255T\022\005DRACD\030\a\"\004\b\330\237\001*\004\b\220\240\0012\004\b\356\237\0018\002B\006\b\274\255\024\030\bJ\030Drachenblut DelikatessenR\fWalserweg 21Z\006Aachenj\00552066r\aGermanyz\017\b\255T\020\v\032\006\b\320\350\f\030\b (" +1: "\b\256T\022\005ISLAT\030\002\"\004\b\332\237\001*\004\b\222\240\0012\004\b\356\237\0018\001B\006\b\204\266\001\030\bJ\016Island TradingR\031Garden House Crowther WayZ\005Cowesb\rIsle of Wightj\bPO31 7PJr\002UKz\017\b\256T\020>\032\006\b\310\213\036\030\b \004z\017\b\256T\020H\032\006\b\340\236\025\030\b \024" +1: "\b\257T\022\005KOENE\030\t\"\004\b\332\237\001*\004\b\256\240\0012\004\b\356\237\0018\003B\006\b\220\343\022\030\bJ\020K\303\266niglich EssenR\rMaubelstr. 90Z\vBrandenburgj\00514776r\aGermanyz\024\b\257T\020\r\032\006\b\340\324\003\030\b (-\232\231\031>z\024\b\257T\020\030\032\006\b\310\337\002\030\b (-\232\231\031>z\017\b\257T\020;\032\006\b\360\310!\030\b 2" +1: "\b\260T\022\005SEVES\030\001\"\004\b\332\237\001*\004\b\222\240\0012\004\b\356\237\0018\003B\006\b\300\361S\030\bJ\022Seven Seas ImportsR\01790 Wadhurst Rd.Z\006Londonj\bOX15 4NBr\002UKz\024\b\260T\020\v\032\006\b\320\350\f\030\b d-\315\314\314=z\024\b\260T\0203\032\006\b\320\254 \030\b \024-\315\314\314=z\024\b\260T\0206\032\006\b\204\306\004\030\b \016-\315\314\314=" +1: "\b\261T\022\005BOLID\030\004\"\004\b\340\237\001*\004\b\230\240\0012\004\b\344\237\0018\002B\006\b\224\241;\030\bJ\032B\303\263lido Comidas preparadasR\016C/ Araquil, 67Z\006Madridj\00528023r\005Spainz\024\b\261T\020\021\032\006\b\360\346\027\030\b P-\000\000\200>z\024\b\261T\020\035\032\006\b\214\307K\030\b (-\000\000\200>" +1: "\b\262T\022\005SIMOB\030\004\"\004\b\340\237\001*\004\b\230\240\0012\004\b\350\237\0018\002B\a\b\270\202\235\001\030\bJ\rSimons bistroR\rVinb\303\246ltet 34Z\tKobenhavnj\0041734r\aDenmarkz\024\b\262T\020\036\032\006\b\324\346\017\030\b 2-\000\000\200>z\024\b\262T\0203\032\006\b\320\254 \030\b <-\000\000\200>z\024\b\262T\0207\032\006\b\200\323\016\030\b x-\000\000\200>z\024\b\262T\020>\032\006\b\310\213\036\030\b \n-\000\000\200>" +1: "\b\263T\022\005WELLI\030\004\"\004\b\342\237\001*\004\b\232\240\0012\004\b\360\237\0018\001B\006\b\354\332!\030\bJ\026Wellington ImportadoraR\022Rua do Mercado, 12Z\aResendeb\002SPj\t08737-363r\006Brazilz\024\b\263T\020\023\032\006\b\340\316\005\030\b 0-\315\314L=z\024\b\263T\020\031\032\006\b\340\305\b\030\b \036-\315\314L=z\024\b\263T\020;\032\006\b\360\310!\030\b \036-\315\314L=" +1: "\b\264T\022\005SEVES\030\006\"\004\b\342\237\001*\004\b\232\240\0012\004\b\362\237\0018\002B\006\b\224\327\020\030\bJ\022Seven Seas ImportsR\01790 Wadhurst Rd.Z\006Londonj\bOX15 4NBr\002UKz\017\b\264T\020\n\032\006\b\360\365\022\030\b Hz\017\b\264T\020\034\032\006\b\300\352\033\030\b 0z\024\b\264T\0201\032\006\b\300\232\f\030\b \b-\232\231\031>" +1: "\b\265T\022\005THEBI\030\002\"\004\b\342\237\001*\004\b\232\240\0012\004\b\366\237\0018\003B\a\b\230\356\220\001\030\bJ\016The Big CheeseR\03089 Jefferson Way Suite 2Z\bPortlandb\002ORj\00597201r\003USAz\017\b\265T\020\"\032\006\b\340\305\b\030\b \024z\020\b\265T\020&\032\a\b\370\351\240\001\030\b \024" +1: "\b\266T\022\005VICTE\030\003\"\004\b\344\237\001*\004\b\234\240\0012\004\b\356\237\0018\002B\006\b\254\277\r\030\bJ\024Victuailles en stockR\0222, rue du CommerceZ\004Lyonj\00569004r\006Francez\024\b\266T\020\002\032\006\b\260\314\v\030\b (-\000\000\200>z\017\b\266T\020A\032\006\b\304\354\f\030\b \004z\024\b\266T\020J\032\006\b\240\215\006\030\b \036-\000\000\200>" +1: "\b\267T\022\005FRANS\030\004\"\004\b\344\237\001*\004\b\234\240\0012\004\b\240\240\0018\001B\005\b\240j\030\bJ\016Franchi S.p.A.R\023Via Monte Bianco 34Z\006Torinoj\00510100r\005Italyz\017\b\267T\020(\032\006\b\300\235\v\030\b \002" +1: "\b\270T\022\005OLDWO\030\002\"\004\b\346\237\001*\004\b\236\240\0012\004\b\366\237\0018\003B\006\b\204\345\033\030\bJ\026Old World DelicatessenR\0172743 Bering St.Z\tAnchorageb\002AKj\00599508r\003USAz\024\b\270T\0208\032\006\b\340\230\027\030\b (-\232\231\031>z\024\b\270T\020L\032\006\b\240\376\n\030\b d-\232\231\031>" +1: "\b\271T\022\005WELLI\030\a\"\004\b\346\237\001*\004\b\236\240\0012\004\b\362\237\0018\001B\006\b\274\374\002\030\bJ\026Wellington ImportadoraR\022Rua do Mercado, 12Z\aResendeb\002SPj\t08737-363r\006Brazilz\017\b\271T\0204\032\006\b\360\242\004\030\b (" +1: "\b\272T\022\005LAUGB\030\002\"\004\b\346\237\001*\004\b\236\240\0012\004\b\362\237\0018\003B\006\b\244\322\002\030\bJ\035Laughing Bacchus Wine CellarsR\f2319 Elm St.Z\tVancouverb\002BCj\aV3F 2K1r\006Canadaz\017\b\272T\020\r\032\006\b\340\324\003\030\b \016z\017\b\272T\020\031\032\006\b\340\305\b\030\b \nz\017\b\272T\020F\032\006\b\360\223\t\030\b \n" +1: "\b\273T\022\005LINOD\030\b\"\004\b\350\237\001*\004\b\240\240\0012\004\b\364\237\0018\001B\006\b\210\207\023\030\bJ\020LINO-DelicatesesR\027Ave. 5 de Mayo PorlamarZ\017I. de Margaritab\rNueva Espartaj\0044980r\tVenezuelaz\017\b\273T\020\023\032\006\b\340\316\005\030\b \036z\017\b\273T\020\027\032\006\b\220\277\005\030\b $z\017\b\273T\020(\032\006\b\300\235\v\030\b <" +1: "\b\274T\022\005REGGC\030\005\"\004\b\350\237\001*\004\b\240\240\0012\004\b\374\237\0018\001B\006\b\250\276$\030\bJ\022Reggiani CaseificiR\026Strada Provinciale 124Z\rReggio Emiliaj\00542100r\005Italyz\024\b\274T\020\037\032\006\b\310\320\a\030\b -\315\314\314=z\024\b\274T\020H\032\006\b\340\236\025\030\b P-\315\314\314=z\017\b\274T\020M\032\006\b\320\367\a\030\b (" +1: "\b\275T\022\005RICAR\030\001\"\004\b\356\237\001*\004\b\246\240\0012\004\b\366\237\0018\001B\006\b\310\365\034\030\bJ\022Ricardo AdocicadosR\023Av. Copacabana, 267Z\016Rio de Janeirob\002RJj\t02389-890r\006Brazilz\024\b\275T\020\002\032\006\b\260\314\v\030\b \030-\315\314L>z\017\b\275T\020.\032\006\b\300\251\a\030\b F" +1: "\b\276T\022\005VICTE\030\003\"\004\b\356\237\001*\004\b\246\240\0012\004\b\200\240\0018\003B\006\b\330\365O\030\bJ\024Victuailles en stockR\0222, rue du CommerceZ\004Lyonj\00569004r\006Francez\017\b\276T\020)\032\006\b\364\361\005\030\b (z\024\b\276T\020+\032\006\b\340\211\034\030\b (-\232\231\031>z\024\b\276T\0200\032\006\b\214\344\a\030\b \020-\232\231\031>z\024\b\276T\020=\032\006\b\310\262\021\030\b <-\232\231\031>" +1: "\b\277T\022\005SAVEA\030\002\"\004\b\356\237\001*\004\b\246\240\0012\004\b\200\240\0018\003B\006\b\230\366\b\030\bJ\022Save-a-lot MarketsR\017187 Suffolk Ln.Z\005Boiseb\002IDj\00583720r\003USAz\017\b\277T\020!\032\006\b\250\303\001\030\b " +1: "\b\300T\022\005GREAL\030\004\"\004\b\360\237\001*\004\b\250\240\0012\004\b\252\240\0018\002B\a\b\350\250\267\003\030\bJ\027Great Lakes Food MarketR\0202732 Baker Blvd.Z\006Eugeneb\002ORj\00597403r\003USAz\025\b\300T\020&\032\a\b\370\351\240\001\030\b <-\315\314L=z\024\b\300T\020>\032\006\b\310\213\036\030\b (-\315\314L=" +1: "\b\301T\022\005KOENE\030\003\"\004\b\360\237\001*\004\b\214\240\0012\004\b\376\237\0018\002B\a\b\334\347\272\001\030\bJ\020K\303\266niglich EssenR\rMaubelstr. 90Z\vBrandenburgj\00514776r\aGermanyz\024\b\301T\020\032\032\006\b\354\207\023\030\b P-\232\231\031>z\020\b\301T\020&\032\a\b\370\351\240\001\030\b z\024\b\301T\020>\032\006\b\310\213\036\030\b 2-\232\231\031>" +1: "\b\302T\022\005MAGAA\030\a\"\004\b\362\237\001*\004\b\252\240\0012\004\b\374\237\0018\003B\006\b\320\373\'\030\bJ\034Magazzini Alimentari RiunitiR\027Via Ludovico il Moro 22Z\aBergamoj\00524100r\005Italyz\017\b\302T\020 \032\006\b\200\304\023\030\b (z\017\b\302T\020)\032\006\b\364\361\005\030\b (" +1: "\b\303T\022\005CACTU\030\002\"\004\b\362\237\001*\004\b\252\240\0012\004\b\204\240\0018\003B\006\b\340\207\f\030\bJ\032Cactus Comidas para llevarR\vCerrito 333Z\fBuenos Airesj\0041010r\tArgentinaz\017\b\303T\020+\032\006\b\340\211\034\030\b \016z\017\b\303T\020K\032\006\b\274\335\004\030\b (" +1: "\b\304T\022\005RATTC\030\003\"\004\b\362\237\001*\004\b\252\240\0012\004\b\376\237\0018\002B\006\b\240\363\026\030\bJ\032Rattlesnake Canyon GroceryR\0172817 Milton Dr.Z\vAlbuquerqueb\002NMj\00587110r\003USAz\017\b\304T\0208\032\006\b\340\230\027\030\b <" +1: "\b\305T\022\005SPLIR\030\001\"\004\b\364\237\001*\004\b\254\240\0012\004\b\202\240\0018\001B\006\b\320\261\026\030\bJ\025Split Rail Beer & AleR\fP.O. Box 555Z\006Landerb\002WYj\00582520r\003USAz\017\b\305T\020#\032\006\b\240\376\n\030\b (z\017\b\305T\0203\032\006\b\320\254 \030\b \f" +1: "\b\306T\022\005TRAIH\030\006\"\004\b\364\237\001*\004\b\254\240\0012\004\b\204\240\0018\003B\006\b\360\242\004\030\bJ!Trail\'s Head Gourmet ProvisionersR\021722 DaVinci Blvd.Z\bKirklandb\002WAj\00598034r\003USAz\017\b\306T\020>\032\006\b\310\213\036\030\b \006z\017\b\306T\020F\032\006\b\360\223\t\030\b \f" +1: "\b\307T\022\005LILAS\030\005\"\004\b\366\237\001*\004\b\256\240\0012\004\b\376\237\0018\002B\006\b\224\212d\030\bJ\021LILA-SupermercadoR/Carrera 52 con Ave. Bol\303\255var #65-98 Llano LargoZ\fBarquisimetob\004Laraj\0043508r\tVenezuelaz\024\b\307T\020\v\032\006\b\320\350\f\030\b (-\315\314\314=z\017\b\307T\0209\032\006\b\270\363\v\030\b \036z\024\b\307T\020;\032\006\b\360\310!\030\b P-\315\314\314=z\024\b\307T\020M\032\006\b\320\367\a\030\b \036-\315\314\314=" +1: "\b\310T\022\005FOLKO\030\b\"\004\b\366\237\001*\004\b\256\240\0012\004\b\240\240\0018\001B\005\b\214`\030\bJ\017Folk och f\303\244 HBR\r\303\205kergatan 24Z\aBr\303\244ckej\bS-844 67r\006Swedenz\017\b\310T\020)\032\006\b\364\361\005\030\b \030z\017\b\310T\020F\032\006\b\360\223\t\030\b \022" +1: "\b\311T\022\005DRACD\030\001\"\004\b\366\237\001*\004\b\256\240\0012\004\b\200\240\0018\001B\006\b\264\2570\030\bJ\030Drachenblut DelikatessenR\fWalserweg 21Z\006Aachenj\00552066r\aGermanyz\017\b\311T\020\032\032\006\b\354\207\023\030\b \030z\017\b\311T\0205\032\006\b\300\202\024\030\b (" +1: "\b\312T\022\005BLONP\030\006\"\004\b\374\237\001*\004\b\264\240\0012\004\b\256\240\0018\001B\006\b\364\251\004\030\bJ\025Blondel p\303\250re et filsR\02124, place Kl\303\251berZ\nStrasbourgj\00567000r\006Francez\017\b\312T\020\037\032\006\b\310\320\a\030\b Fz\017\b\312T\0209\032\006\b\270\363\v\030\b \036" +1: "\b\313T\022\005BONAP\030\001\"\004\b\374\237\001*\004\b\230\240\0012\004\b\256\240\0018\002B\006\b\210\344&\030\bJ\bBon app\'R\02412, rue des BouchersZ\tMarseillej\00513008r\006Francez\017\b\313T\020\n\032\006\b\360\365\022\030\b \036z\017\b\313T\020\'\032\006\b\240\376\n\030\b *" +1: "\b\314T\022\005RANCH\030\t\"\004\b\376\237\001*\004\b\232\240\0012\004\b\252\240\0018\001B\006\b\324\2717\030\bJ\rRancho grandeR\026Av. del Libertador 900Z\fBuenos Airesj\0041010r\tArgentinaz\017\b\314T\020\024\032\006\b\220\2701\030\b \nz\020\b\314T\020&\032\a\b\370\351\240\001\030\b \004" +1: "\b\315T\022\005ISLAT\030\t\"\004\b\376\237\001*\004\b\266\240\0012\004\b\222\240\0018\001B\006\b\300\267^\030\bJ\016Island TradingR\031Garden House Crowther WayZ\005Cowesb\rIsle of Wightj\bPO31 7PJr\002UKz\017\b\315T\020\002\032\006\b\260\314\v\030\b \024z\017\b\315T\020\b\032\006\b\200\265\030\030\b (z\017\b\315T\020\r\032\006\b\340\324\003\030\b \024z\017\b\315T\020<\032\006\b\240\340\024\030\b *" +1: "\b\316T\022\005TRADH\030\004\"\004\b\376\237\001*\004\b\322\240\0012\004\b\216\240\0018\002B\006\b\374\3701\030\bJ\027Tradi\303\247ao HipermercadosR\030Av. In\303\252s de Castro, 414Z\tSao Paulob\002SPj\t05634-030r\006Brazilz\017\b\316T\020\006\032\006\b\220\241\017\030\b \fz\017\b\316T\020\'\032\006\b\240\376\n\030\b 8z\017\b\316T\020<\032\006\b\240\340\024\030\b z\024\b\320T\020\031\032\006\b\340\305\b\030\b \024-\315\314L>z\024\b\320T\020,\032\006\b\304\357\v\030\b -\315\314L>z\017\b\320T\020@\032\006\b\324\245\024\030\b \006" +1: "\b\321T\022\005OTTIK\030\006\"\004\b\202\240\001*\004\b\272\240\0012\004\b\222\240\0018\002B\006\b\224\321+\030\bJ\023Ottilies K\303\244seladenR\022Mehrheimerstr. 369Z\005K\303\266lnj\00550739r\aGermanyz\024\b\321T\020\a\032\006\b\340\247\022\030\b (-\315\314\314=z\024\b\321T\020\037\032\006\b\310\320\a\030\b \022-\315\314\314=z\024\b\321T\0205\032\006\b\300\202\024\030\b \022-\315\314\314=" +1: "\b\322T\022\005TRADH\030\001\"\004\b\202\240\001*\004\b\272\240\0012\004\b\212\240\0018\003B\006\b\310\226\022\030\bJ\027Tradi\303\247ao HipermercadosR\030Av. In\303\252s de Castro, 414Z\tSao Paulob\002SPj\t05634-030r\006Brazilz\024\b\322T\020\035\032\006\b\214\307K\030\b \020-\315\314L=z\024\b\322T\020\036\032\006\b\324\346\017\030\b (-\315\314L=" +1: "\b\323T\022\005ALFKI\030\001\"\004\b\202\240\001*\004\b\272\240\0012\004\b\216\240\0018\003B\006\b\204\270*\030\bJ\024Alfred\'s FutterkisteR\rObere Str. 57Z\006Berlinj\00512209r\aGermanyz\017\b\323T\020;\032\006\b\360\310!\030\b \036z\024\b\323T\020M\032\006\b\320\367\a\030\b \004-\315\314L>" +1: "\b\324T\022\005ERNSH\030\a\"\004\b\204\240\001*\004\b\274\240\0012\004\b\216\240\0018\001B\a\b\220\262\373\001\030\bJ\fErnst HandelR\fKirchgasse 6Z\004Grazj\0048010r\aAustriaz\017\b\324T\020\026\032\006\b\320\350\f\030\b hz\017\b\324T\020#\032\006\b\240\376\n\030\b \fz\017\b\324T\0209\032\006\b\270\363\v\030\b 0z\017\b\324T\020<\032\006\b\240\340\024\030\b xz\017\b\324T\020@\032\006\b\324\245\024\030\b <" +1: "\b\325T\022\005BERGS\030\t\"\004\b\204\240\001*\004\b\274\240\0012\004\b\222\240\0018\003B\006\b\320\220\b\030\bJ\023Berglunds snabbk\303\266pR\020Berguvsv\303\244gen 8Z\006Lule\303\245j\bS-958 22r\006Swedenz\017\b\325T\020\r\032\006\b\340\324\003\030\b \fz\017\b\325T\020(\032\006\b\300\235\v\030\b 2z\024\b\325T\020/\032\006\b\230\346\005\030\b P-\000\000\200>z\024\b\325T\020L\032\006\b\240\376\n\030\b *-\000\000\200>" +1: "\b\326T\022\005LINOD\030\003\"\004\b\212\240\001*\004\b\302\240\0012\004\b\222\240\0018\003B\006\b\240\227$\030\bJ\020LINO-DelicatesesR\027Ave. 5 de Mayo PorlamarZ\017I. de Margaritab\rNueva Espartaj\0044980r\tVenezuelaz\024\b\326T\020\001\032\006\b\240\376\n\030\b \b-\000\000\200>z\024\b\326T\020\022\032\006\b\350\222&\030\b 2-\000\000\200>z\024\b\326T\020$\032\006\b\260\314\v\030\b d-\000\000\200>" +1: "\b\327T\022\005TRADH\030\003\"\004\b\212\240\001*\004\b\302\240\0012\004\b\220\240\0018\003B\006\b\374\317\025\030\bJ\027Tradi\303\247ao HipermercadosR\030Av. In\303\252s de Castro, 414Z\tSao Paulob\002SPj\t05634-030r\006Brazilz\024\b\327T\020:\032\006\b\224\213\b\030\b <-\315\314\314=z\024\b\327T\020H\032\006\b\340\236\025\030\b \036-\315\314\314=" +1: "\b\330T\022\005LINOD\030\004\"\004\b\212\240\001*\004\b\336\240\0012\004\b\302\240\0018\002B\006\b\334\323\001\030\bJ\020LINO-DelicatesesR\027Ave. 5 de Mayo PorlamarZ\017I. de Margaritab\rNueva Espartaj\0044980r\tVenezuelaz\024\b\330T\020\031\032\006\b\340\305\b\030\b \f-\315\314L>z\024\b\330T\020\'\032\006\b\240\376\n\030\b \024-\315\314L>" +1: "\b\331T\022\005SUPRD\030\005\"\004\b\214\240\001*\004\b\304\240\0012\004\b\236\240\0018\002B\a\b\270\374\202\002\030\bJ\022Supr\303\252mes d\303\251licesR\024Boulevard Tirou, 255Z\tCharleroij\006B-6000r\aBelgiumz\017\b\331T\020\n\032\006\b\360\365\022\030\b z\017\b\331T\0208\032\006\b\340\230\027\030\b " +1: "\b\334T\022\005PICCO\030\b\"\004\b\216\240\001*\004\b\306\240\0012\004\b\230\240\0018\002B\006\b\250\262\017\030\bJ\020Piccolo und mehrR\vGeislweg 14Z\bSalzburgj\0045020r\aAustriaz\017\b\334T\020\026\032\006\b\320\350\f\030\b F" +1: "\b\335T\022\005QUICK\030\b\"\004\b\216\240\001*\004\b\252\240\0012\004\b\240\240\0018\001B\a\b\210\377\201\001\030\bJ\nQUICK-StopR\021Taucherstra\303\237e 10Z\tCunewaldej\00501307r\aGermanyz\025\b\335T\020\027\032\006\b\220\277\005\030\b \214\001-\315\314\314=z\024\b\335T\020#\032\006\b\240\376\n\030\b 2-\315\314\314=z\024\b\335T\020*\032\006\b\340\305\b\030\b T-\315\314\314=z\024\b\335T\020:\032\006\b\224\213\b\030\b x-\315\314\314=z\017\b\335T\020@\032\006\b\324\245\024\030\b `" +1: "\b\336T\022\005SUPRD\030\002\"\004\b\220\240\001*\004\b\344\240\0012\004\b\222\240\0018\003B\006\b\370\272\"\030\bJ\022Supr\303\252mes d\303\251licesR\024Boulevard Tirou, 255Z\tCharleroij\006B-6000r\aBelgiumz\017\b\336T\020\004\032\006\b\340\266\r\030\b *z\017\b\336T\020F\032\006\b\360\223\t\030\b z\024\b\337T\020\023\032\006\b\340\316\005\030\b \030-\315\314L>z\024\b\337T\020%\032\006\b\240\357\017\030\b x-\315\314L>z\024\b\337T\020-\032\006\b\230\346\005\030\b H-\315\314L>z\024\b\337T\020<\032\006\b\240\340\024\030\b Z-\315\314L>z\024\b\337T\020G\032\006\b\330\217\r\030\b n-\315\314L>" +1: "\b\340T\022\005CONSH\030\a\"\004\b\222\240\001*\004\b\312\240\0012\004\b\236\240\0018\002B\006\b\300\253\027\030\bJ\025Consolidated HoldingsR\034Berkeley Gardens 12 BreweryZ\006Londonj\aWX1 6LTr\002UKz\017\b\340T\020\005\032\006\b\374\203\r\030\b " +1: "\b\342T\022\005VICTE\030\001\"\004\b\222\240\001*\004\b\346\240\0012\004\b\240\240\0018\001B\006\b\374\202\036\030\bJ\024Victuailles en stockR\0222, rue du CommerceZ\004Lyonj\00569004r\006Francez\024\b\342T\020\031\032\006\b\340\305\b\030\b (-\232\231\031>z\024\b\342T\020!\032\006\b\250\303\001\030\b \b-\232\231\031>z\024\b\342T\020F\032\006\b\360\223\t\030\b <-\232\231\031>" +1: "\b\343T\022\005RICAR\030\005\"\004\b\230\240\001*\004\b\320\240\0012\004\b\246\240\0018\001B\006\b\374\376a\030\bJ\022Ricardo AdocicadosR\023Av. Copacabana, 267Z\016Rio de Janeirob\002RJj\t02389-890r\006Brazilz\024\b\343T\020\002\032\006\b\260\314\v\030\b \n-\315\314L=z\024\b\343T\020\031\032\006\b\340\305\b\030\b \024-\315\314L=z\024\b\343T\0209\032\006\b\270\363\v\030\b \024-\315\314L=z\024\b\343T\020;\032\006\b\360\310!\030\b T-\315\314L=" +1: "\b\344T\022\005RATTC\030\b\"\004\b\230\240\001*\004\b\264\240\0012\004\b\240\240\0018\001B\006\b\324\235j\030\bJ\032Rattlesnake Canyon GroceryR\0172817 Milton Dr.Z\vAlbuquerqueb\002NMj\00587110r\003USAz\017\b\344T\020\002\032\006\b\260\314\v\030\b \036z\017\b\344T\020\021\032\006\b\360\346\027\030\b \fz\017\b\344T\020>\032\006\b\310\213\036\030\b d" +1: "\b\345T\022\005BLAUS\030\t\"\004\b\232\240\001*\004\b\322\240\0012\004\b\250\240\0018\002B\006\b\274\355 \030\bJ\027Blauer See DelikatessenR\016Forsterstr. 57Z\bMannheimj\00568306r\aGermanyz\017\b\345T\020\022\032\006\b\350\222&\030\b \024" +1: "\b\346T\022\005ERNSH\030\003\"\004\b\232\240\001*\004\b\322\240\0012\004\b\254\240\0018\002B\006\b\330\225=\030\bJ\fErnst HandelR\fKirchgasse 6Z\004Grazj\0048010r\aAustriaz\025\b\346T\020\n\032\006\b\360\365\022\030\b \310\001-\232\231\031>z\025\b\346T\020\r\032\006\b\340\324\003\030\b \202\001-\232\231\031>" +1: "\b\347T\022\005OLDWO\030\003\"\004\b\232\240\001*\004\b\322\240\0012\004\b\252\240\0018\001B\006\b\204\255h\030\bJ\026Old World DelicatessenR\0172743 Bering St.Z\tAnchorageb\002AKj\00599508r\003USAz\017\b\347T\020\020\032\006\b\244\323\n\030\b dz\017\b\347T\020\037\032\006\b\310\320\a\030\b \034z\017\b\347T\0208\032\006\b\340\230\027\030\b 0z\024\b\347T\020A\032\006\b\304\354\f\030\b \036-\232\231\031>" +1: "\b\350T\022\005ANTON\030\003\"\004\b\234\240\001*\004\b\324\240\0012\004\b\266\240\0018\002B\006\b\354\324#\030\bJ\030Antonio Moreno Taquer\303\255aR\017Mataderos 2312Z\fM\303\251xico D.F.j\00505023r\006Mexicoz\017\b\350T\020\002\032\006\b\260\314\v\030\b (z\017\b\350T\020*\032\006\b\340\305\b\030\b (" +1: "\b\351T\022\005BERGS\030\b\"\004\b\234\240\001*\004\b\324\240\0012\004\b\256\240\0018\002B\006\b\364\241s\030\bJ\023Berglunds snabbk\303\266pR\020Berguvsv\303\244gen 8Z\006Lule\303\245j\bS-958 22r\006Swedenz\017\b\351T\020\003\032\006\b\240\215\006\030\b z\024\b\351T\020\035\032\006\b\214\307K\030\b \024-\000\000\200>" +1: "\b\352T\022\005LACOR\030\002\"\004\b\236\240\001*\004\b\326\240\0012\004\b\250\240\0018\001B\006\b\254\206 \030\bJ\024La corne d\'abondanceR\02667, avenue de l\'EuropeZ\nVersaillesj\00578000r\006Francez\017\b\352T\020\a\032\006\b\340\247\022\030\b \nz\017\b\352T\020\033\032\006\b\330\345\032\030\b \024z\017\b\352T\020F\032\006\b\360\223\t\030\b \b" +1: "\b\353T\022\005FRANK\030\001\"\004\b\236\240\001*\004\b\326\240\0012\004\b\246\240\0018\002B\006\b\250\271.\030\bJ\016FrankenversandR\021Berliner Platz 43Z\bM\303\274nchenj\00580805r\aGermanyz\024\b\353T\020\030\032\006\b\310\337\002\030\b P-\000\000\200>z\024\b\353T\0206\032\006\b\204\306\004\030\b F-\000\000\200>z\024\b\353T\020@\032\006\b\324\245\024\030\b <-\000\000\200>" +1: "\b\354T\022\005FRANR\030\003\"\004\b\236\240\001*\004\b\326\240\0012\004\b\252\240\0018\003B\006\b\330\340\v\030\bJ\023France restaurationR\01654, rue RoyaleZ\006Nantesj\00544000r\006Francez\017\b\354T\0203\032\006\b\320\254 \030\b \006z\017\b\354T\020L\032\006\b\240\376\n\030\b (" +1: "\b\355T\022\005WHITC\030\004\"\004\b\240\240\001*\004\b\330\240\0012\004\b\304\240\0018\002B\006\b\264\216\t\030\bJ\024White Clover MarketsR\0231029 - 12th Ave. S.Z\aSeattleb\002WAj\00598124r\003USAz\017\b\355T\020\021\032\006\b\360\346\027\030\b Tz\017\b\355T\020\022\032\006\b\350\222&\030\b (z\017\b\355T\020\025\032\006\b\240\215\006\030\b Pz\017\b\355T\020!\032\006\b\250\303\001\030\b Fz\017\b\355T\020>\032\006\b\310\213\036\030\b \006" +1: "\b\356T\022\005LEHMS\030\b\"\004\b\240\240\001*\004\b\364\240\0012\004\b\246\240\0018\002B\006\b\314\276 \030\bJ\023Lehmanns MarktstandR\fMagazinweg 7Z\016Frankfurt a.M.j\00560528r\aGermanyz\017\b\356T\020\v\032\006\b\320\350\f\030\b 2z\017\b\356T\0204\032\006\b\360\242\004\030\b \020" +1: "\b\357T\022\005HILAA\030\004\"\004\b\246\240\001*\004\b\336\240\0012\004\b\304\240\0018\002B\006\b\210\274\022\030\bJ\020HILARION-AbastosR*Carrera 22 con Ave. Carlos Soublette #8-35Z\016San Crist\303\263balb\bT\303\241chiraj\0045022r\tVenezuelaz\024\b\357T\020\001\032\006\b\240\376\n\030\b (-\232\231\031>z\024\b\357T\020:\032\006\b\224\213\b\030\b \030-\232\231\031>" +1: "\b\360T\022\005AROUT\030\004\"\004\b\246\240\001*\004\b\336\240\0012\004\b\264\240\0018\002B\006\b\300\355\001\030\bJ\017Around the HornR\035Brook Farm Stratford St. MaryZ\nColchesterb\005Essexj\aCO7 6JXr\002UKz\017\b\360T\020#\032\006\b\240\376\n\030\b \bz\017\b\360T\020C\032\006\b\340\305\b\030\b \036" +1: "\b\361T\022\005QUICK\030\002\"\004\b\246\240\001*\004\b\302\240\0012\004\b\272\240\0018\001B\a\b\270\276\324\001\030\bJ\nQUICK-StopR\021Taucherstra\303\237e 10Z\tCunewaldej\00501307r\aGermanyz\025\b\361T\020&\032\a\b\370\351\240\001\030\b x-\315\314L=z\025\b\361T\020\'\032\006\b\240\376\n\030\b \240\001-\315\314L=" +1: "\b\362T\022\005BERGS\030\005\"\004\b\250\240\001*\004\b\340\240\0012\004\b\272\240\0018\001B\006\b\234\314B\030\bJ\023Berglunds snabbk\303\266pR\020Berguvsv\303\244gen 8Z\006Lule\303\245j\bS-958 22r\006Swedenz\024\b\362T\020\002\032\006\b\260\314\v\030\b *-\000\000\200>z\024\b\362T\020\030\032\006\b\310\337\002\030\b \f-\000\000\200>z\024\b\362T\020\036\032\006\b\324\346\017\030\b P-\000\000\200>" +1: "\b\363T\022\005LONEP\030\006\"\004\b\250\240\001*\004\b\374\240\0012\004\b\270\240\0018\001B\006\b\344\226\001\030\bJ\030Lonesome Pine RestaurantR\02289 Chiaroscuro Rd.Z\bPortlandb\002ORj\00597219r\003USAz\017\b\363T\0205\032\006\b\300\202\024\030\b \006" +1: "\b\364T\022\005QUEEN\030\a\"\004\b\252\240\001*\004\b\342\240\0012\004\b\320\240\0018\002B\006\b\374\336t\030\bJ\rQueen CozinhaR\032Alameda dos Can\303\240rios, 891Z\tSao Paulob\002SPj\t05487-020r\006Brazilz\017\b\364T\020\032\032\006\b\354\207\023\030\b (z\017\b\364T\020#\032\006\b\240\376\n\030\b \032\006\b\310\213\036\030\b (-\315\314L=z\024\b\370T\020@\032\006\b\324\245\024\030\b \036-\315\314L=z\024\b\370T\020A\032\006\b\304\354\f\030\b *-\315\314L=" +1: "\b\371T\022\005WILMK\030\004\"\004\b\256\240\001*\004\b\346\240\0012\004\b\264\240\0018\001B\005\b\210@\030\bJ\vWilman KalaR\rKeskuskatu 45Z\bHelsinkij\00521240r\aFinlandz\017\b\371T\020\025\032\006\b\240\215\006\030\b (z\017\b\371T\020\034\032\006\b\300\352\033\030\b \006" +1: "\b\372T\022\005GODOS\030\005\"\004\b\256\240\001*\004\b\346\240\0012\004\b\270\240\0018\002B\006\b\330\371\v\030\bJ\024Godos Cocina T\303\255picaR\rC/ Romero, 33Z\aSevillaj\00541101r\005Spainz\017\b\372T\020\n\032\006\b\360\365\022\030\b \024" +1: "\b\373T\022\005BERGS\030\004\"\004\b\256\240\001*\004\b\346\240\0012\004\b\340\240\0018\002B\006\b\364\340\023\030\bJ\023Berglunds snabbk\303\266pR\020Berguvsv\303\244gen 8Z\006Lule\303\245j\bS-958 22r\006Swedenz\017\b\373T\020\023\032\006\b\340\316\005\030\b 2z\024\b\373T\020/\032\006\b\230\346\005\030\b *-\315\314\314=z\017\b\373T\0201\032\006\b\300\232\f\030\b \036" +1: "\b\374T\022\005BONAP\030\a\"\004\b\264\240\001*\004\b\354\240\0012\004\b\272\240\0018\003B\006\b\250\360$\030\bJ\bBon app\'R\02412, rue des BouchersZ\tMarseillej\00513008r\006Francez\017\b\374T\020.\032\006\b\300\251\a\030\b *z\017\b\374T\020@\032\006\b\324\245\024\030\b (" +1: "\b\375T\022\005RICAR\030\001\"\004\b\264\240\001*\004\b\354\240\0012\004\b\310\240\0018\001B\006\b\270\235\027\030\bJ\022Ricardo AdocicadosR\023Av. Copacabana, 267Z\016Rio de Janeirob\002RJj\t02389-890r\006Brazilz\024\b\375T\020\020\032\006\b\244\323\n\030\b <-\000\000\200>z\017\b\375T\020\022\032\006\b\350\222&\030\b 2" +1: "\b\376T\022\005QUICK\030\004\"\004\b\266\240\001*\004\b\356\240\0012\004\b\272\240\0018\001B\006\b\324\277\034\030\bJ\nQUICK-StopR\021Taucherstra\303\237e 10Z\tCunewaldej\00501307r\aGermanyz\024\b\376T\020\024\032\006\b\220\2701\030\b (-\315\314L=" +1: "\b\377T\022\005WILMK\030\003\"\004\b\266\240\001*\004\b\356\240\0012\004\b\272\240\0018\003B\006\b\210\230\005\030\bJ\vWilman KalaR\rKeskuskatu 45Z\bHelsinkij\00521240r\aFinlandz\017\b\377T\020(\032\006\b\300\235\v\030\b \030z\017\b\377T\020A\032\006\b\304\354\f\030\b \024z\017\b\377T\020L\032\006\b\240\376\n\030\b \024" +1: "\b\200U\022\005FOLKO\030\a\"\004\b\266\240\001*\004\b\212\241\0012\004\b\306\240\0018\001B\006\b\344\3335\030\bJ\017Folk och f\303\244 HBR\r\303\205kergatan 24Z\aBr\303\244ckej\bS-844 67r\006Swedenz\024\b\200U\020\027\032\006\b\220\277\005\030\b <-\315\314L>z\024\b\200U\020=\032\006\b\310\262\021\030\b <-\315\314L>z\024\b\200U\020F\032\006\b\360\223\t\030\b d-\315\314L>" +1: "\b\201U\022\005CACTU\030\004\"\004\b\270\240\001*\004\b\360\240\0012\004\b\306\240\0018\001B\006\b\360\335\001\030\bJ\032Cactus Comidas para llevarR\vCerrito 333Z\fBuenos Airesj\0041010r\tArgentinaz\017\b\201U\020I\032\006\b\360\223\t\030\b \024" +1: "\b\202U\022\005SAVEA\030\004\"\004\b\270\240\001*\004\b\360\240\0012\004\b\312\240\0018\003B\006\b\330\214\016\030\bJ\022Save-a-lot MarketsR\017187 Suffolk Ln.Z\005Boiseb\002IDj\00583720r\003USAz\017\b\202U\020*\032\006\b\340\305\b\030\b 2z\024\b\202U\0201\032\006\b\300\232\f\030\b (-\232\231\031>z\024\b\202U\0206\032\006\b\204\306\004\030\b @-\232\231\031>" +1: "\b\203U\022\005LONEP\030\b\"\004\b\272\240\001*\004\b\362\240\0012\004\b\312\240\0018\003B\005\b\264)\030\bJ\030Lonesome Pine RestaurantR\02289 Chiaroscuro Rd.Z\bPortlandb\002ORj\00597219r\003USAz\017\b\203U\020\030\032\006\b\310\337\002\030\b \020" +1: "\b\204U\022\005LETSS\030\004\"\004\b\272\240\001*\004\b\362\240\0012\004\b\274\240\0018\002B\006\b\204\3037\030\bJ\021Let\'s Stop N ShopR\02387 Polk St. Suite 5Z\rSan Franciscob\002CAj\00594117r\003USAz\024\b\204U\020\025\032\006\b\240\215\006\030\b P-\315\314L=z\024\b\204U\0208\032\006\b\340\230\027\030\b *-\315\314L=z\024\b\204U\020A\032\006\b\304\354\f\030\b \030-\315\314L=" +1: "\b\205U\022\005SUPRD\030\006\"\004\b\272\240\001*\004\b\362\240\0012\004\b\306\240\0018\003B\006\b\320\270\003\030\bJ\022Supr\303\252mes d\303\251licesR\024Boulevard Tirou, 255Z\tCharleroij\006B-6000r\aBelgiumz\017\b\205U\020\002\032\006\b\260\314\v\030\b (z\017\b\205U\020\030\032\006\b\310\337\002\030\b \030z\017\b\205U\020F\032\006\b\360\223\t\030\b " +1: "\b\224U\022\005WELLI\030\001\"\004\b\312\240\001*\004\b\202\241\0012\004\b\342\240\0018\002B\006\b\330\201\001\030\bJ\026Wellington ImportadoraR\022Rua do Mercado, 12Z\aResendeb\002SPj\t08737-363r\006Brazilz\024\b\224U\020F\032\006\b\360\223\t\030\b \006-\000\000\200>" +1: "\b\225U\022\005HILAA\030\004\"\004\b\320\240\001*\004\b\210\241\0012\004\b\326\240\0018\001B\006\b\344\362%\030\bJ\020HILARION-AbastosR*Carrera 22 con Ave. Carlos Soublette #8-35Z\016San Crist\303\263balb\bT\303\241chiraj\0045022r\tVenezuelaz\017\b\225U\020)\032\006\b\364\361\005\030\b z\024\b\226U\020>\032\006\b\310\213\036\030\b \f-\232\231\031>" +1: "\b\227U\022\005HANAR\030\003\"\004\b\322\240\001*\004\b\212\241\0012\004\b\342\240\0018\003B\006\b\374\263\026\030\bJ\rHanari CarnesR\020Rua do Pa\303\247o, 67Z\016Rio de Janeirob\002RJj\t05454-876r\006Brazilz\017\b\227U\020\r\032\006\b\340\324\003\030\b Pz\017\b\227U\020A\032\006\b\304\354\f\030\b *z\017\b\227U\020D\032\006\b\310\320\a\030\b (" +1: "\b\230U\022\005WHITC\030\003\"\004\b\322\240\001*\004\b\212\241\0012\004\b\330\240\0018\003B\006\b\274\272c\030\bJ\024White Clover MarketsR\0231029 - 12th Ave. S.Z\aSeattleb\002WAj\00598124r\003USAz\017\b\230U\020:\032\006\b\224\213\b\030\b \036z\017\b\230U\020>\032\006\b\310\213\036\030\b F" +1: "\b\231U\022\005WELLI\030\t\"\004\b\322\240\001*\004\b\212\241\0012\004\b\346\240\0018\002B\006\b\360\257\b\030\bJ\026Wellington ImportadoraR\022Rua do Mercado, 12Z\aResendeb\002SPj\t08737-363r\006Brazilz\024\b\231U\020\001\032\006\b\240\376\n\030\b (-\315\314L=" +1: "\b\232U\022\005WOLZA\030\004\"\004\b\324\240\001*\004\b\360\240\0012\004\b\340\240\0018\003B\006\b\364\205\020\030\bJ\rWolski ZajazdR\017ul. Filtrowa 68Z\bWarszawaj\00601-012r\006Polandz\017\b\232U\020=\032\006\b\310\262\021\030\b \036" +1: "\b\233U\022\005SPECD\030\006\"\004\b\324\240\001*\004\b\214\241\0012\004\b\330\240\0018\003B\006\b\374\315\005\030\bJ\026Sp\303\251cialit\303\251s du mondeR\02125, rue LauristonZ\005Parisj\00575016r\006Francez\017\b\233U\020K\032\006\b\274\335\004\030\b \034" +1: "\b\234U\022\005REGGC\030\004\"\004\b\326\240\001*\004\b\216\241\0012\004\b\346\240\0018\002B\006\b\200\217\024\030\bJ\022Reggiani CaseificiR\026Strada Provinciale 124Z\rReggio Emiliaj\00542100r\005Italyz\024\b\234U\020\a\032\006\b\340\247\022\030\b (-\315\314L=z\024\b\234U\0204\032\006\b\360\242\004\030\b \034-\315\314L=" +1: "\b\235U\022\005SANTG\030\001\"\004\b\326\240\001*\004\b\216\241\0012\004\b\356\240\0018\002B\006\b\304\260 \030\bJ\016Sant\303\251 GourmetR\026Erling Skakkes gate 78Z\aStavernj\0044110r\006Norwayz\017\b\235U\020\a\032\006\b\340\247\022\030\b \030z\017\b\235U\020\020\032\006\b\244\323\n\030\b \036z\017\b\235U\020)\032\006\b\364\361\005\030\b \n" +1: "\b\236U\022\005WILMK\030\001\"\004\b\326\240\001*\004\b\216\241\0012\004\b\342\240\0018\003B\006\b\254\241\027\030\bJ\vWilman KalaR\rKeskuskatu 45Z\bHelsinkij\00521240r\aFinlandz\017\b\236U\020\023\032\006\b\340\316\005\030\b \030z\017\b\236U\0201\032\006\b\300\232\f\030\b \024z\017\b\236U\020=\032\006\b\310\262\021\030\b \n" +1: "\b\237U\022\005GODOS\030\003\"\004\b\326\240\001*\004\b\216\241\0012\004\b\344\240\0018\001B\006\b\314\247\027\030\bJ\024Godos Cocina T\303\255picaR\rC/ Romero, 33Z\aSevillaj\00541101r\005Spainz\017\b\237U\020\001\032\006\b\240\376\n\030\b \024z\017\b\237U\020\021\032\006\b\360\346\027\030\b \030z\017\b\237U\020C\032\006\b\340\305\b\030\b \036" +1: "\b\240U\022\005HUNGO\030\002\"\004\b\326\240\001*\004\b\216\241\0012\004\b\376\240\0018\002B\a\b\314\307\342\002\030\bJ\034Hungry Owl All-Night GrocersR\0208 Johnstown RoadZ\004Corkb\bCo. Corkr\aIrelandz\024\b\240U\020\v\032\006\b\320\350\f\030\b P-\000\000\200>z\024\b\240U\020\035\032\006\b\214\307K\030\b x-\000\000\200>" +1: "\b\241U\022\005QUEEN\030\004\"\004\b\326\240\001*\004\b\216\241\0012\004\b\342\240\0018\001B\006\b\204\226\024\030\bJ\rQueen CozinhaR\032Alameda dos Can\303\240rios, 891Z\tSao Paulob\002SPj\t05487-020r\006Brazilz\024\b\241U\020\004\032\006\b\340\266\r\030\b <-\000\000\200>z\024\b\241U\020!\032\006\b\250\303\001\030\b P-\000\000\200>z\017\b\241U\020:\032\006\b\224\213\b\030\b \036" +1: "\b\242U\022\005QUEEN\030\006\"\004\b\330\240\001*\004\b\220\241\0012\004\b\336\240\0018\001B\006\b\274\367\f\030\bJ\rQueen CozinhaR\032Alameda dos Can\303\240rios, 891Z\tSao Paulob\002SPj\t05487-020r\006Brazilz\017\b\242U\020G\032\006\b\330\217\r\030\b 2" +1: "\b\243U\022\005TORTU\030\002\"\004\b\330\240\001*\004\b\220\241\0012\004\b\336\240\0018\002B\006\b\234\222\002\030\bJ\023Tortuga RestauranteR\020Avda. Azteca 123Z\fM\303\251xico D.F.j\00505033r\006Mexicoz\017\b\243U\020\021\032\006\b\360\346\027\030\b \024z\017\b\243U\020!\032\006\b\250\303\001\030\b z\024\b\246U\020<\032\006\b\240\340\024\030\b 2-\000\000\200>" +1: "\b\247U\022\005LINOD\030\002\"\004\b\336\240\001*\004\b\226\241\0012\004\b\342\240\0018\002B\006\b\360\212\f\030\bJ\020LINO-DelicatesesR\027Ave. 5 de Mayo PorlamarZ\017I. de Margaritab\rNueva Espartaj\0044980r\tVenezuelaz\017\b\247U\020\020\032\006\b\244\323\n\030\b 0z\017\b\247U\020\031\032\006\b\340\305\b\030\b 0z\017\b\247U\020(\032\006\b\300\235\v\030\b (" +1: "\b\250U\022\005AROUT\030\004\"\004\b\340\240\001*\004\b\230\241\0012\004\b\354\240\0018\002B\006\b\244\211\022\030\bJ\017Around the HornR\035Brook Farm Stratford St. MaryZ\nColchesterb\005Essexj\aCO7 6JXr\002UKz\017\b\250U\0202\032\006\b\304\365\t\030\b 0" +1: "\b\251U\022\005VAFFE\030\001\"\004\b\340\240\001*\004\b\264\241\0012\004\b\354\240\0018\001B\006\b\300\333k\030\bJ\fVaffeljernetR\rSmagsloget 45Z\006\303\205rhusj\0048200r\aDenmarkz\017\b\251U\020#\032\006\b\240\376\n\030\b \024z\017\b\251U\020?\032\006\b\330\345\032\030\b P" +1: "\b\252U\022\005HANAR\030\005\"\004\b\340\240\001*\004\b\230\241\0012\004\b\344\240\0018\003B\006\b\310\245&\030\bJ\rHanari CarnesR\020Rua do Pa\303\247o, 67Z\016Rio de Janeirob\002RJj\t05454-876r\006Brazilz\017\b\252U\020\021\032\006\b\360\346\027\030\b \036z\017\b\252U\020\030\032\006\b\310\337\002\030\b F" +1: "\b\253U\022\005LAMAI\030\a\"\004\b\340\240\001*\004\b\264\241\0012\004\b\364\240\0018\003B\006\b\350\324)\030\bJ\020La maison d\'AsieR\0251 rue Alsace-LorraineZ\bToulousej\00531000r\006Francez\024\b\253U\020*\032\006\b\340\305\b\030\b \024-\315\314L>z\024\b\253U\020+\032\006\b\340\211\034\030\b \024-\315\314L>z\024\b\253U\020C\032\006\b\340\305\b\030\b 0-\315\314L>" +1: "\b\254U\022\005BERGS\030\003\"\004\b\342\240\001*\004\b\232\241\0012\004\b\250\241\0018\002B\006\b\300\275\\\030\bJ\023Berglunds snabbk\303\266pR\020Berguvsv\303\244gen 8Z\006Lule\303\245j\bS-958 22r\006Swedenz\024\b\254U\020\n\032\006\b\360\365\022\030\b (-\315\314\314=z\024\b\254U\020\034\032\006\b\300\352\033\030\b <-\315\314\314=z\017\b\254U\020K\032\006\b\274\335\004\030\b \f" +1: "\b\255U\022\005HANAR\030\003\"\004\b\342\240\001*\004\b\232\241\0012\004\b\364\240\0018\001B\006\b\254\261\001\030\bJ\rHanari CarnesR\020Rua do Pa\303\247o, 67Z\016Rio de Janeirob\002RJj\t05454-876r\006Brazilz\024\b\255U\020$\032\006\b\260\314\v\030\b 2-\232\231\031>z\024\b\255U\0204\032\006\b\360\242\004\030\b \030-\232\231\031>" +1: "\b\256U\022\005ANATR\030\004\"\004\b\342\240\001*\004\b\232\241\0012\004\b\360\240\0018\003B\006\b\340\256\030\030\bJ\"Ana Trujillo Emparedados y heladosR\036Avda. de la Constituci\303\263n 2222Z\fM\303\251xico D.F.j\00505021r\006Mexicoz\017\b\256U\020\v\032\006\b\320\350\f\030\b \004z\017\b\256U\020\r\032\006\b\340\324\003\030\b \024z\017\b\256U\020\023\032\006\b\340\316\005\030\b \016z\017\b\256U\020H\032\006\b\340\236\025\030\b \024" +1: "\b\257U\022\005LACOR\030\004\"\004\b\344\240\001*\004\b\234\241\0012\004\b\250\241\0018\001B\006\b\214\212\f\030\bJ\024La corne d\'abondanceR\02667, avenue de l\'EuropeZ\nVersaillesj\00578000r\006Francez\017\b\257U\020\024\032\006\b\220\2701\030\b \nz\017\b\257U\0204\032\006\b\360\242\004\030\b \nz\017\b\257U\020L\032\006\b\240\376\n\030\b (" +1: "\b\260U\022\005GALED\030\001\"\004\b\344\240\001*\004\b\234\241\0012\004\b\376\240\0018\001B\005\b\240j\030\bJ\030Galer\303\255a del gastron\303\263moR\027Rambla de Catalu\303\261a, 23Z\tBarcelonaj\0048022r\005Spainz\017\b\260U\020/\032\006\b\230\346\005\030\b \nz\017\b\260U\020L\032\006\b\240\376\n\030\b \n" +1: "\b\261U\022\005FRANK\030\006\"\004\b\344\240\001*\004\b\234\241\0012\004\b\362\240\0018\001B\006\b\344\332\024\030\bJ\016FrankenversandR\021Berliner Platz 43Z\bM\303\274nchenj\00580805r\aGermanyz\017\b\261U\020\025\032\006\b\240\215\006\030\b xz\017\b\261U\020K\032\006\b\274\335\004\030\b bz\017\b\261U\020M\032\006\b\320\367\a\030\b \036" +1: "\b\262U\022\005SUPRD\030\004\"\004\b\346\240\001*\004\b\272\241\0012\004\b\376\240\0018\003B\006\b\354\276\t\030\bJ\022Supr\303\252mes d\303\251licesR\024Boulevard Tirou, 255Z\tCharleroij\006B-6000r\aBelgiumz\017\b\262U\020\025\032\006\b\240\215\006\030\b Hz\017\b\262U\020\033\032\006\b\330\345\032\030\b 2z\024\b\262U\0207\032\006\b\200\323\016\030\b 2-\315\314L>z\024\b\262U\020:\032\006\b\224\213\b\030\b <-\315\314L>" +1: "\b\263U\022\005RICSU\030\004\"\004\b\346\240\001*\004\b\202\241\0012\004\b\200\241\0018\002B\006\b\300\246\b\030\bJ\022Richter SupermarktR\vStarenweg 5Z\aGen\303\250vej\0041204r\vSwitzerlandz\024\b\263U\020\r\032\006\b\340\324\003\030\b T-\232\231\031>z\017\b\263U\0209\032\006\b\270\363\v\030\b <" +1: "\b\264U\022\005BONAP\030\b\"\004\b\346\240\001*\004\b\236\241\0012\004\b\212\241\0018\001B\006\b\340\226R\030\bJ\bBon app\'R\02412, rue des BouchersZ\tMarseillej\00513008r\006Francez\024\b\264U\020\020\032\006\b\244\323\n\030\b <-\315\314\314=z\024\b\264U\020>\032\006\b\310\213\036\030\b \034-\315\314\314=z\017\b\264U\020H\032\006\b\340\236\025\030\b z\024\b\264U\020K\032\006\b\274\335\004\030\b (-\315\314\314=" +1: "\b\265U\022\005ISLAT\030\006\"\004\b\346\240\001*\004\b\236\241\0012\004\b\372\240\0018\003B\006\b\274\206!\030\bJ\016Island TradingR\031Garden House Crowther WayZ\005Cowesb\rIsle of Wightj\bPO31 7PJr\002UKz\017\b\265U\0205\032\006\b\300\202\024\030\b \004z\017\b\265U\020=\032\006\b\310\262\021\030\b <" +1: "\b\266U\022\005LEHMS\030\003\"\004\b\354\240\001*\004\b\244\241\0012\004\b\362\240\0018\003B\006\b\344\304\023\030\bJ\023Lehmanns MarktstandR\fMagazinweg 7Z\016Frankfurt a.M.j\00560528r\aGermanyz\017\b\266U\020\006\032\006\b\220\241\017\030\b (" +1: "\b\267U\022\005WELLI\030\004\"\004\b\354\240\001*\004\b\244\241\0012\004\b\376\240\0018\003B\006\b\374\205\035\030\bJ\026Wellington ImportadoraR\022Rua do Mercado, 12Z\aResendeb\002SPj\t08737-363r\006Brazilz\017\b\267U\020\001\032\006\b\240\376\n\030\b *z\024\b\267U\020\022\032\006\b\350\222&\030\b \b-\000\000\200>z\024\b\267U\020\027\032\006\b\220\277\005\030\b \020-\000\000\200>" +1: "\b\270U\022\005GREAL\030\003\"\004\b\354\240\001*\004\b\244\241\0012\004\b\376\240\0018\002B\006\b\240\307\024\030\bJ\027Great Lakes Food MarketR\0202732 Baker Blvd.Z\006Eugeneb\002ORj\00597403r\003USAz\024\b\270U\020$\032\006\b\260\314\v\030\b <-\315\314L>" +1: "\b\271U\022\005CACTU\030\a\"\004\b\356\240\001*\004\b\212\241\0012\004\b\364\240\0018\003B\006\b\334\235\023\030\bJ\032Cactus Comidas para llevarR\vCerrito 333Z\fBuenos Airesj\0041010r\tArgentinaz\017\b\271U\020\034\032\006\b\300\352\033\030\b \020z\017\b\271U\020\"\032\006\b\340\305\b\030\b (" +1: "\b\272U\022\005QUICK\030\003\"\004\b\356\240\001*\004\b\246\241\0012\004\b\372\240\0018\002B\006\b\264\273\023\030\bJ\nQUICK-StopR\021Taucherstra\303\237e 10Z\tCunewaldej\00501307r\aGermanyz\024\b\272U\020\r\032\006\b\340\324\003\030\b (-\000\000\200>z\024\b\272U\020+\032\006\b\340\211\034\030\b 0-\000\000\200>z\024\b\272U\020<\032\006\b\240\340\024\030\b b-\000\000\200>z\024\b\272U\020G\032\006\b\330\217\r\030\b F-\000\000\200>" +1: "\b\273U\022\005MAGAA\030\002\"\004\b\356\240\001*\004\b\246\241\0012\004\b\364\240\0018\002B\006\b\244\313.\030\bJ\034Magazzini Alimentari RiunitiR\027Via Ludovico il Moro 22Z\aBergamoj\00524100r\005Italyz\024\b\273U\020\002\032\006\b\260\314\v\030\b \024-\232\231\031>z\024\b\273U\020C\032\006\b\340\305\b\030\b P-\232\231\031>" +1: "\b\274U\022\005BONAP\030\b\"\004\b\360\240\001*\004\b\250\241\0012\004\b\210\241\0018\003B\006\b\304\210\f\030\bJ\bBon app\'R\02412, rue des BouchersZ\tMarseillej\00513008r\006Francez\017\b\274U\020\a\032\006\b\340\247\022\030\b \020z\017\b\274U\020\r\032\006\b\340\324\003\030\b (" +1: "\b\275U\022\005SAVEA\030\a\"\004\b\360\240\001*\004\b\250\241\0012\004\b\202\241\0018\002B\a\b\244\321\364\001\030\bJ\022Save-a-lot MarketsR\017187 Suffolk Ln.Z\005Boiseb\002IDj\00583720r\003USAz\024\b\275U\020\037\032\006\b\310\320\a\030\b X-\000\000\200>z\024\b\275U\020>\032\006\b\310\213\036\030\b <-\000\000\200>z\025\b\275U\020D\032\006\b\310\320\a\030\b \240\001-\000\000\200>z\017\b\275U\020H\032\006\b\340\236\025\030\b d" +1: "\b\276U\022\005REGGC\030\t\"\004\b\360\240\001*\004\b\250\241\0012\004\b\376\240\0018\003B\006\b\254\372\n\030\bJ\022Reggiani CaseificiR\026Strada Provinciale 124Z\rReggio Emiliaj\00542100r\005Italyz\017\b\276U\0201\032\006\b\300\232\f\030\b 8" +1: "\b\277U\022\005BSBEV\030\004\"\004\b\360\240\001*\004\b\250\241\0012\004\b\200\241\0018\002B\006\b\304\251\001\030\bJ\rB\'s BeveragesR\021Fauntleroy CircusZ\006Londonj\aEC2 5NTr\002UKz\017\b\277U\020\r\032\006\b\340\324\003\030\b \036z\017\b\277U\020\026\032\006\b\320\350\f\030\b *z\017\b\277U\020.\032\006\b\300\251\a\030\b \036" +1: "\b\300U\022\005BOTTM\030\006\"\004\b\362\240\001*\004\b\216\241\0012\004\b\364\240\0018\003B\006\b\260\246 \030\bJ\025Bottom-Dollar MarketsR\02223 Tsawassen Blvd.Z\tTsawassenb\002BCj\aT2F 8M4r\006Canadaz\024\b\300U\020\v\032\006\b\320\350\f\030\b \n-\000\000\200>z\024\b\300U\020,\032\006\b\304\357\v\030\b $-\000\000\200>z\017\b\300U\0208\032\006\b\340\230\027\030\b $" +1: "\b\301U\022\005MORGK\030\004\"\004\b\362\240\001*\004\b\252\241\0012\004\b\376\240\0018\001B\006\b\270\236\006\030\bJ\026Morgenstern GesundkostR\vHeerstr. 22Z\aLeipzigj\00504179r\aGermanyz\017\b\301U\020\r\032\006\b\340\324\003\030\b (z\017\b\301U\020\037\032\006\b\310\320\a\030\b \024" +1: "\b\302U\022\005VAFFE\030\001\"\004\b\362\240\001*\004\b\252\241\0012\004\b\200\241\0018\002B\006\b\200\315\020\030\bJ\fVaffeljernetR\rSmagsloget 45Z\006\303\205rhusj\0048200r\aDenmarkz\017\b\302U\020\n\032\006\b\360\365\022\030\b 2z\017\b\302U\020\030\032\006\b\310\337\002\030\b 2z\017\b\302U\020M\032\006\b\320\367\a\030\b P" +1: "\b\303U\022\005BSBEV\030\003\"\004\b\364\240\001*\004\b\254\241\0012\004\b\372\240\0018\002B\006\b\330\376\001\030\bJ\rB\'s BeveragesR\021Fauntleroy CircusZ\006Londonj\aEC2 5NTr\002UKz\017\b\303U\020;\032\006\b\360\310!\030\b \b" +1: "\b\304U\022\005GODOS\030\003\"\004\b\364\240\001*\004\b\254\241\0012\004\b\200\241\0018\003B\006\b\254\243\016\030\bJ\024Godos Cocina T\303\255picaR\rC/ Romero, 33Z\aSevillaj\00541101r\005Spainz\017\b\304U\0202\032\006\b\304\365\t\030\b \022z\017\b\304U\0203\032\006\b\320\254 \030\b Pz\017\b\304U\0207\032\006\b\200\323\016\030\b \b" +1: "\b\305U\022\005BOTTM\030\002\"\004\b\364\240\001*\004\b\254\241\0012\004\b\374\240\0018\003B\006\b\320\267-\030\bJ\025Bottom-Dollar MarketsR\02223 Tsawassen Blvd.Z\tTsawassenb\002BCj\aT2F 8M4r\006Canadaz\017\b\305U\020\006\032\006\b\220\241\017\030\b \030z\017\b\305U\020\n\032\006\b\360\365\022\030\b \032\006\b\310\213\036\030\b x" +1: "\b\306U\022\005MAGAA\030\001\"\004\b\372\240\001*\004\b\262\241\0012\004\b\210\241\0018\002B\006\b\250\303\001\030\bJ\034Magazzini Alimentari RiunitiR\027Via Ludovico il Moro 22Z\aBergamoj\00524100r\005Italyz\017\b\306U\020\004\032\006\b\340\266\r\030\b \n" +1: "\b\307U\022\005RICSU\030\t\"\004\b\372\240\001*\004\b\316\241\0012\004\b\246\241\0018\002B\006\b\224\352\022\030\bJ\022Richter SupermarktR\vStarenweg 5Z\aGen\303\250vej\0041204r\vSwitzerlandz\024\b\307U\020!\032\006\b\250\303\001\030\b \036-\315\314L=z\024\b\307U\020)\032\006\b\364\361\005\030\b \f-\315\314L=z\024\b\307U\020K\032\006\b\274\335\004\030\b d-\315\314L=" +1: "\b\310U\022\005ALFKI\030\001\"\004\b\372\240\001*\004\b\316\241\0012\004\b\212\241\0018\001B\006\b\350\325\030\030\bJ\024Alfred\'s FutterkisteR\rObere Str. 57Z\006Berlinj\00512209r\aGermanyz\024\b\310U\020\006\032\006\b\220\241\017\030\b -\315\314L=z\017\b\310U\020\034\032\006\b\300\352\033\030\b \004" +1: "\b\311U\022\005AROUT\030\t\"\004\b\372\240\001*\004\b\226\241\0012\004\b\214\241\0018\002B\006\b\220\275\016\030\bJ\017Around the HornR\035Brook Farm Stratford St. MaryZ\nColchesterb\005Essexj\aCO7 6JXr\002UKz\024\b\311U\020\024\032\006\b\220\2701\030\b d-\315\314L=z\024\b\311U\020\037\032\006\b\310\320\a\030\b d-\315\314L=" +1: "\b\312U\022\005LINOD\030\005\"\004\b\374\240\001*\004\b\320\241\0012\004\b\202\241\0018\001B\006\b\274\204\021\030\bJ\020LINO-DelicatesesR\027Ave. 5 de Mayo PorlamarZ\017I. de Margaritab\rNueva Espartaj\0044980r\tVenezuelaz\024\b\312U\020\020\032\006\b\244\323\n\030\b 8-\232\231\031>z\024\b\312U\020\037\032\006\b\310\320\a\030\b 2-\232\231\031>z\017\b\312U\020-\032\006\b\230\346\005\030\b " +1: "\b\313U\022\005FOLKO\030\b\"\004\b\374\240\001*\004\b\264\241\0012\004\b\202\241\0018\002B\006\b\330\376\001\030\bJ\017Folk och f\303\244 HBR\r\303\205kergatan 24Z\aBr\303\244ckej\bS-844 67r\006Swedenz\024\b\313U\020K\032\006\b\274\335\004\030\b \030-\315\314L>" +1: "\b\314U\022\005BLAUS\030\006\"\004\b\374\240\001*\004\b\320\241\0012\004\b\202\241\0018\002B\006\b\244\240\033\030\bJ\027Blauer See DelikatessenR\016Forsterstr. 57Z\bMannheimj\00568306r\aGermanyz\017\b\314U\020\025\032\006\b\240\215\006\030\b \030z\017\b\314U\020/\032\006\b\230\346\005\030\b \034z\017\b\314U\0203\032\006\b\320\254 \030\b \020" +1: "\b\315U\022\005HILAA\030\b\"\004\b\376\240\001*\004\b\266\241\0012\004\b\220\241\0018\003B\006\b\240\247@\030\bJ\020HILARION-AbastosR*Carrera 22 con Ave. Carlos Soublette #8-35Z\016San Crist\303\263balb\bT\303\241chiraj\0045022r\tVenezuelaz\017\b\315U\020\036\032\006\b\324\346\017\030\b " +1: "\b\320U\022\005HILAA\030\003\"\004\b\200\241\001*\004\b\234\241\0012\004\b\250\241\0018\001B\006\b\300\242\001\030\bJ\020HILARION-AbastosR*Carrera 22 con Ave. Carlos Soublette #8-35Z\016San Crist\303\263balb\bT\303\241chiraj\0045022r\tVenezuelaz\024\b\320U\020\030\032\006\b\310\337\002\030\b \024-\000\000\200>z\017\b\320U\020)\032\006\b\364\361\005\030\b 0" +1: "\b\321U\022\005QUEEN\030\b\"\004\b\200\241\001*\004\b\270\241\0012\004\b\226\241\0018\001B\006\b\334\341?\030\bJ\rQueen CozinhaR\032Alameda dos Can\303\240rios, 891Z\tSao Paulob\002SPj\t05487-020r\006Brazilz\024\b\321U\0204\032\006\b\360\242\004\030\b \f-\315\314L=z\017\b\321U\020L\032\006\b\240\376\n\030\b x" +1: "\b\322U\022\005QUICK\030\b\"\004\b\200\241\001*\004\b\270\241\0012\004\b\210\241\0018\002B\a\b\214\252\250\001\030\bJ\nQUICK-StopR\021Taucherstra\303\237e 10Z\tCunewaldej\00501307r\aGermanyz\017\b\322U\020\a\032\006\b\340\247\022\030\b Zz\020\b\322U\020\r\032\006\b\340\324\003\030\b \232\001z\017\b\322U\0205\032\006\b\300\202\024\030\b (z\017\b\322U\020E\032\006\b\300\374\025\030\b \022z\017\b\322U\020L\032\006\b\240\376\n\030\b X" +1: "\b\323U\022\005FURIB\030\t\"\004\b\200\241\001*\004\b\270\241\0012\004\b\216\241\0018\003B\006\b\370\322\001\030\bJ\036Furia Bacalhau e Frutos do MarR\026Jardim das rosas n. 32Z\006Lisboaj\0041675r\bPortugalz\024\b\323U\020<\032\006\b\240\340\024\030\b \004-\232\231\031>" +1: "\b\324U\022\005SPECD\030\003\"\004\b\202\241\001*\004\b\272\241\0012\004\b\212\241\0018\002B\006\b\310\2525\030\bJ\026Sp\303\251cialit\303\251s du mondeR\02125, rue LauristonZ\005Parisj\00575016r\006Francez\017\b\324U\020\022\032\006\b\350\222&\030\b \fz\020\b\324U\020&\032\a\b\370\351\240\001\030\b \nz\017\b\324U\020E\032\006\b\300\374\025\030\b \024" +1: "\b\325U\022\005OLDWO\030\006\"\004\b\202\241\001*\004\b\272\241\0012\004\b\226\241\0018\003B\006\b\330\217X\030\bJ\026Old World DelicatessenR\0172743 Bering St.Z\tAnchorageb\002AKj\00599508r\003USAz\017\b\325U\0203\032\006\b\320\254 \030\b " +1: "\b\326U\022\005CHOPS\030\004\"\004\b\202\241\001*\004\b\272\241\0012\004\b\250\241\0018\001B\006\b\234\314\020\030\bJ\021Chop-suey ChineseR\fHauptstr. 31Z\004Bernj\0043012r\vSwitzerlandz\017\b\326U\020%\032\006\b\240\357\017\030\b \020z\024\b\326U\0208\032\006\b\340\230\027\030\b \030-\232\231\031>z\024\b\326U\020>\032\006\b\310\213\036\030\b \030-\232\231\031>" +1: "\b\327U\022\005TOMSP\030\002\"\004\b\210\241\001*\004\b\300\241\0012\004\b\234\241\0018\002B\006\b\370\374%\030\bJ\023Toms Spezialit\303\244tenR\rLuisenstr. 48Z\bM\303\274nsterj\00544087r\aGermanyz\017\b\327U\020\023\032\006\b\340\316\005\030\b \030z\017\b\327U\0201\032\006\b\300\232\f\030\b P" +1: "\b\330U\022\005ERNSH\030\001\"\004\b\210\241\001*\004\b\300\241\0012\004\b\232\241\0018\003B\006\b\220\304-\030\bJ\fErnst HandelR\fKirchgasse 6Z\004Grazj\0048010r\aAustriaz\017\b\330U\020\f\032\006\b\340\230\027\030\b " +1: "\b\333U\022\005FRANR\030\002\"\004\b\212\241\001*\004\b\302\241\0012\004\b\234\241\0018\002B\006\b\230\255J\030\bJ\023France restaurationR\01654, rue RoyaleZ\006Nantesj\00544000r\006Francez\017\b\333U\020\035\032\006\b\214\307K\030\b \034" +1: "\b\334U\022\005LACOR\030\004\"\004\b\212\241\001*\004\b\302\241\0012\004\b\216\241\0018\002B\005\b\310\001\030\bJ\024La corne d\'abondanceR\02667, avenue de l\'EuropeZ\nVersaillesj\00578000r\006Francez\017\b\334U\020\021\032\006\b\360\346\027\030\b \fz\017\b\334U\020!\032\006\b\250\303\001\030\b \016" +1: "\b\335U\022\005LACOR\030\006\"\004\b\212\241\001*\004\b\302\241\0012\004\b\220\241\0018\002B\006\b\224\241\t\030\bJ\024La corne d\'abondanceR\02667, avenue de l\'EuropeZ\nVersaillesj\00578000r\006Francez\017\b\335U\020\032\032\006\b\354\207\023\030\b \nz\017\b\335U\020)\032\006\b\364\361\005\030\b \fz\017\b\335U\020K\032\006\b\274\335\004\030\b \024" +1: "\b\336U\022\005SPLIR\030\003\"\004\b\214\241\001*\004\b\250\241\0012\004\b\236\241\0018\003B\006\b\300\364\a\030\bJ\025Split Rail Beer & AleR\fP.O. Box 555Z\006Landerb\002WYj\00582520r\003USAz\017\b\336U\020?\032\006\b\330\345\032\030\b \024" +1: "\b\337U\022\005BOTTM\030\001\"\004\b\214\241\001*\004\b\304\241\0012\004\b\220\241\0018\003B\006\b\214\331\023\030\bJ\025Bottom-Dollar MarketsR\02223 Tsawassen Blvd.Z\tTsawassenb\002BCj\aT2F 8M4r\006Canadaz\017\b\337U\020\b\032\006\b\200\265\030\030\b z\017\b\337U\020K\032\006\b\274\335\004\030\b \024" +1: "\b\340U\022\005HILAA\030\001\"\004\b\214\241\001*\004\b\340\241\0012\004\b\236\241\0018\001B\006\b\264\226\027\030\bJ\020HILARION-AbastosR*Carrera 22 con Ave. Carlos Soublette #8-35Z\016San Crist\303\263balb\bT\303\241chiraj\0045022r\tVenezuelaz\017\b\340U\020\034\032\006\b\300\352\033\030\b (" +1: "\b\341U\022\005FOLKO\030\b\"\004\b\216\241\001*\004\b\306\241\0012\004\b\254\241\0018\003B\006\b\210\241\030\bJ\017Folk och f\303\244 HBR\r\303\205kergatan 24Z\aBr\303\244ckej\bS-844 67r\006Swedenz\017\b\341U\020\'\032\006\b\240\376\n\030\b z\024\b\342U\020\025\032\006\b\240\215\006\030\b P-\232\231\031>z\017\b\342U\020(\032\006\b\300\235\v\030\b \024z\024\b\342U\020,\032\006\b\304\357\v\030\b \f-\232\231\031>" +1: "\b\343U\022\005ERNSH\030\b\"\004\b\216\241\001*\004\b\306\241\0012\004\b\230\241\0018\002B\a\b\314\277\327\001\030\bJ\fErnst HandelR\fKirchgasse 6Z\004Grazj\0048010r\aAustriaz\017\b\343U\020\a\032\006\b\340\247\022\030\b $z\017\b\343U\020\f\032\006\b\340\230\027\030\b (z\020\b\343U\020\030\032\006\b\310\337\002\030\b \240\001z\017\b\343U\020\033\032\006\b\330\345\032\030\b " +1: "\b\345U\022\005HANAR\030\001\"\004\b\220\241\001*\004\b\310\241\0012\004\b\234\241\0018\002B\006\b\204\203v\030\bJ\rHanari CarnesR\020Rua do Pa\303\247o, 67Z\016Rio de Janeirob\002RJj\t05454-876r\006Brazilz\020\b\345U\020&\032\a\b\370\351\240\001\030\b x" +1: "\b\346U\022\005BOTTM\030\002\"\004\b\220\241\001*\004\b\310\241\0012\004\b\250\241\0018\001B\006\b\304\306\b\030\bJ\025Bottom-Dollar MarketsR\02223 Tsawassen Blvd.Z\tTsawassenb\002BCj\aT2F 8M4r\006Canadaz\017\b\346U\020\a\032\006\b\340\247\022\030\b (z\017\b\346U\020+\032\006\b\340\211\034\030\b \022" +1: "\b\347U\022\005SAVEA\030\002\"\004\b\220\241\001*\004\b\310\241\0012\004\b\244\241\0018\002B\a\b\250\252\221\003\030\bJ\022Save-a-lot MarketsR\017187 Suffolk Ln.Z\005Boiseb\002IDj\00583720r\003USAz\025\b\347U\020\r\032\006\b\340\324\003\030\b \250\001-\232\231\031>z\017\b\347U\0209\032\006\b\270\363\v\030\b \036" +1: "\b\350U\022\005SAVEA\030\001\"\004\b\226\241\001*\004\b\316\241\0012\004\b\236\241\0018\003B\a\b\310\365\200\001\030\bJ\022Save-a-lot MarketsR\017187 Suffolk Ln.Z\005Boiseb\002IDj\00583720r\003USAz\017\b\350U\020\020\032\006\b\244\323\n\030\b nz\017\b\350U\020\030\032\006\b\310\337\002\030\b (z\017\b\350U\020$\032\006\b\260\314\v\030\b P" +1: "\b\351U\022\005HUNGO\030\002\"\004\b\226\241\001*\004\b\316\241\0012\004\b\234\241\0018\001B\006\b\234\3557\030\bJ\034Hungry Owl All-Night GrocersR\0208 Johnstown RoadZ\004Corkb\bCo. Corkr\aIrelandz\024\b\351U\020\020\032\006\b\244\323\n\030\b H-\315\314\314=z\024\b\351U\020\022\032\006\b\350\222&\030\b \020-\315\314\314=z\024\b\351U\020 \032\006\b\200\304\023\030\b F-\315\314\314=" +1: "\b\352U\022\005OCEAN\030\b\"\004\b\226\241\001*\004\b\316\241\0012\004\b\302\241\0018\002B\a\b\250\374\204\001\030\bJ\030Oc\303\251ano Atl\303\241ntico Ltda.R#Ing. Gustavo Moncada 8585 Piso 20-AZ\fBuenos Airesj\0041010r\tArgentinaz\017\b\352U\020\v\032\006\b\320\350\f\030\b \032\006\b\310\213\036\030\b P-\315\314\314=" +1: "\b\355U\022\005QUEDE\030\002\"\004\b\230\241\001*\004\b\320\241\0012\004\b\234\241\0018\001B\006\b\320\233\025\030\bJ\fQue Del\303\255ciaR\027Rua da Panificadora, 12Z\016Rio de Janeirob\002RJj\t02389-673r\006Brazilz\017\b\355U\020\006\032\006\b\220\241\017\030\b Pz\017\b\355U\020\v\032\006\b\320\350\f\030\b \036z\017\b\355U\020)\032\006\b\364\361\005\030\b \b" +1: "\b\356U\022\005ERNSH\030\002\"\004\b\232\241\001*\004\b\356\241\0012\004\b\246\241\0018\003B\006\b\244\344G\030\bJ\fErnst HandelR\fKirchgasse 6Z\004Grazj\0048010r\aAustriaz\020\b\356U\020\025\032\006\b\240\215\006\030\b \202\001z\024\b\356U\020\"\032\006\b\340\305\b\030\b x-\232\231\031>z\025\b\356U\0207\032\006\b\200\323\016\030\b \202\001-\232\231\031>z\025\b\356U\020=\032\006\b\310\262\021\030\b \204\001-\232\231\031>" +1: "\b\357U\022\005QUICK\030\001\"\004\b\232\241\001*\004\b\322\241\0012\004\b\246\241\0018\001B\006\b\314\300\027\030\bJ\nQUICK-StopR\021Taucherstra\303\237e 10Z\tCunewaldej\00501307r\aGermanyz\024\b\357U\020\002\032\006\b\260\314\v\030\b d-\315\314L>z\024\b\357U\020F\032\006\b\360\223\t\030\b (-\315\314L>z\025\b\357U\020L\032\006\b\240\376\n\030\b \264\001-\315\314L>" +1: "\b\360U\022\005THEBI\030\001\"\004\b\232\241\001*\004\b\322\241\0012\004\b\236\241\0018\003B\006\b\314\315\002\030\bJ\016The Big CheeseR\03089 Jefferson Way Suite 2Z\bPortlandb\002ORj\00597201r\003USAz\017\b\360U\020H\032\006\b\340\236\025\030\b \004" +1: "\b\361U\022\005FOLKO\030\a\"\004\b\232\241\001*\004\b\322\241\0012\004\b\254\241\0018\003B\006\b\244\260\005\030\bJ\017Folk och f\303\244 HBR\r\303\205kergatan 24Z\aBr\303\244ckej\bS-844 67r\006Swedenz\024\b\361U\020\035\032\006\b\214\307K\030\b d-\000\000\200>z\024\b\361U\020)\032\006\b\364\361\005\030\b F-\000\000\200>" +1: "\b\362U\022\005VAFFE\030\002\"\004\b\234\241\001*\004\b\270\241\0012\004\b\252\241\0018\003B\006\b\304\377\'\030\bJ\fVaffeljernetR\rSmagsloget 45Z\006\303\205rhusj\0048200r\aDenmarkz\024\b\362U\020;\032\006\b\360\310!\030\b $-\315\314L=" +1: "\b\363U\022\005PERIC\030\001\"\004\b\234\241\001*\004\b\324\241\0012\004\b\244\241\0018\003B\006\b\340\211\034\030\bJ\032Pericles Comidas cl\303\241sicasR\030Calle Dr. Jorge Cash 321Z\fM\303\251xico D.F.j\00505033r\006Mexicoz\017\b\363U\0203\032\006\b\320\254 \030\b (z\017\b\363U\020<\032\006\b\240\340\024\030\b \b" +1: "\b\364U\022\005QUICK\030\004\"\004\b\234\241\001*\004\b\324\241\0012\004\b\254\241\0018\002B\005\b\300W\030\bJ\nQUICK-StopR\021Taucherstra\303\237e 10Z\tCunewaldej\00501307r\aGermanyz\017\b\364U\020*\032\006\b\340\305\b\030\b P" +1: "\b\365U\022\005LILAS\030\b\"\004\b\236\241\001*\004\b\362\241\0012\004\b\262\241\0018\002B\006\b\234\216-\030\bJ\021LILA-SupermercadoR/Carrera 52 con Ave. Bol\303\255var #65-98 Llano LargoZ\fBarquisimetob\004Laraj\0043508r\tVenezuelaz\017\b\365U\020 \032\006\b\200\304\023\030\b dz\024\b\365U\020.\032\006\b\300\251\a\030\b (-\000\000\200>z\024\b\365U\0204\032\006\b\360\242\004\030\b (-\000\000\200>" +1: "\b\366U\022\005WOLZA\030\b\"\004\b\236\241\001*\004\b\272\241\0012\004\b\272\241\0018\002B\006\b\334\262\f\030\bJ\rWolski ZajazdR\017ul. Filtrowa 68Z\bWarszawaj\00601-012r\006Polandz\017\b\366U\020\030\032\006\b\310\337\002\030\b \030z\017\b\366U\020=\032\006\b\310\262\021\030\b \016z\017\b\366U\020J\032\006\b\240\215\006\030\b (z\017\b\366U\020K\032\006\b\274\335\004\030\b <" +1: "\b\367U\022\005OTTIK\030\006\"\004\b\236\241\001*\004\b\326\241\0012\004\b\254\241\0018\002B\006\b\254\347:\030\bJ\023Ottilies K\303\244seladenR\022Mehrheimerstr. 369Z\005K\303\266lnj\00550739r\aGermanyz\024\b\367U\020)\032\006\b\364\361\005\030\b (-\315\314L=z\024\b\367U\0203\032\006\b\320\254 \030\b \036-\315\314L=z\024\b\367U\020M\032\006\b\320\367\a\030\b *-\315\314L=" +1: "\b\370U\022\005RATTC\030\002\"\004\b\244\241\001*\004\b\334\241\0012\004\b\264\241\0018\003B\006\b\240\322!\030\bJ\032Rattlesnake Canyon GroceryR\0172817 Milton Dr.Z\vAlbuquerqueb\002NMj\00587110r\003USAz\024\b\370U\020\004\032\006\b\340\266\r\030\b 2-\000\000\200>z\024\b\370U\020\030\032\006\b\310\337\002\030\b <-\000\000\200>z\017\b\370U\020M\032\006\b\320\367\a\030\b <" +1: "\b\371U\022\005FOLKO\030\002\"\004\b\244\241\001*\004\b\334\241\0012\004\b\264\241\0018\002B\006\b\210\266x\030\bJ\017Folk och f\303\244 HBR\r\303\205kergatan 24Z\aBr\303\244ckej\bS-844 67r\006Swedenz\017\b\371U\020\a\032\006\b\340\247\022\030\b xz\017\b\371U\020\026\032\006\b\320\350\f\030\b 2z\017\b\371U\020.\032\006\b\300\251\a\030\b 2z\017\b\371U\0207\032\006\b\200\323\016\030\b \f" +1: "\b\372U\022\005SAVEA\030\004\"\004\b\244\241\001*\004\b\334\241\0012\004\b\270\241\0018\001B\006\b\220\224V\030\bJ\022Save-a-lot MarketsR\017187 Suffolk Ln.Z\005Boiseb\002IDj\00583720r\003USAz\017\b\372U\020\r\032\006\b\340\324\003\030\b pz\024\b\372U\020#\032\006\b\240\376\n\030\b \036-\232\231\031>z\024\b\372U\020*\032\006\b\340\305\b\030\b 0-\232\231\031>z\017\b\372U\0207\032\006\b\200\323\016\030\b P" +1: "\b\373U\022\005THECR\030\003\"\004\b\244\241\001*\004\b\334\241\0012\004\b\250\241\0018\003B\006\b\354\214\t\030\bJ\017The Cracker BoxR\02355 Grizzly Peak Rd.Z\005Butteb\002MTj\00559801r\003USAz\017\b\373U\020\001\032\006\b\240\376\n\030\b \bz\017\b\373U\020(\032\006\b\300\235\v\030\b \024z\017\b\373U\0204\032\006\b\360\242\004\030\b \024" +1: "\b\374U\022\005MAISD\030\003\"\004\b\246\241\001*\004\b\336\241\0012\004\b\300\241\0018\001B\006\b\220\257\033\030\bJ\fMaison DeweyR\023Rue Joseph-Bens 532Z\tBruxellesj\006B-1180r\aBelgiumz\017\b\374U\020\032\032\006\b\354\207\023\030\b \fz\017\b\374U\020L\032\006\b\240\376\n\030\b \f" +1: "\b\375U\022\005WILMK\030\002\"\004\b\246\241\001*\004\b\336\241\0012\004\b\254\241\0018\001B\005\b\314:\030\bJ\vWilman KalaR\rKeskuskatu 45Z\bHelsinkij\00521240r\aFinlandz\017\b\375U\020\001\032\006\b\240\376\n\030\b \004z\017\b\375U\020;\032\006\b\360\310!\030\b \024" +1: "\b\376U\022\005GREAL\030\003\"\004\b\246\241\001*\004\b\336\241\0012\004\b\266\241\0018\002B\006\b\374\257\017\030\bJ\027Great Lakes Food MarketR\0202732 Baker Blvd.Z\006Eugeneb\002ORj\00597403r\003USAz\017\b\376U\020\001\032\006\b\240\376\n\030\b \020z\024\b\376U\020\035\032\006\b\214\307K\030\b \004-\000\000\200>" +1: "\b\377U\022\005PRINI\030\b\"\004\b\250\241\001*\004\b\340\241\0012\004\b\262\241\0018\002B\006\b\200\270{\030\bJ\026Princesa Isabel VinhosR\027Estrada da sa\303\272de n. 58Z\006Lisboaj\0041756r\bPortugalz\017\b\377U\020\b\032\006\b\200\265\030\030\b z\017\b\201V\020<\032\006\b\240\340\024\030\b \022" +1: "\b\202V\022\005REGGC\030\002\"\004\b\252\241\001*\004\b\342\241\0012\004\b\302\241\0018\002B\006\b\374\302\021\030\bJ\022Reggiani CaseificiR\026Strada Provinciale 124Z\rReggio Emiliaj\00542100r\005Italyz\017\b\202V\020\a\032\006\b\340\247\022\030\b (z\017\b\202V\020\030\032\006\b\310\337\002\030\b \024" +1: "\b\203V\022\005ALFKI\030\003\"\004\b\252\241\001*\004\b\342\241\0012\004\b\262\241\0018\001B\005\b\304^\030\bJ\024Alfred\'s FutterkisteR\rObere Str. 57Z\006Berlinj\00512209r\aGermanyz\024\b\203V\020:\032\006\b\224\213\b\030\b P-\315\314L=z\017\b\203V\020G\032\006\b\330\217\r\030\b (" +1: "\b\204V\022\005FRANK\030\001\"\004\b\252\241\001*\004\b\306\241\0012\004\b\272\241\0018\003B\a\b\274\244\224\001\030\bJ\016FrankenversandR\021Berliner Platz 43Z\bM\303\274nchenj\00580805r\aGermanyz\024\b\204V\020\023\032\006\b\340\316\005\030\b d-\315\314L=z\024\b\204V\020<\032\006\b\240\340\024\030\b H-\315\314L=z\024\b\204V\020G\032\006\b\330\217\r\030\b x-\315\314L=" +1: "\b\205V\022\005ROMEY\030\002\"\004\b\252\241\001*\004\b\342\241\0012\004\b\254\241\0018\001B\006\b\254\221\024\030\bJ\020Romero y tomilloR\fGran V\303\255a, 1Z\006Madridj\00528001r\005Spainz\017\b\205V\020\027\032\006\b\220\277\005\030\b \024z\017\b\205V\020*\032\006\b\340\305\b\030\b \bz\017\b\205V\020-\032\006\b\230\346\005\030\b (z\017\b\205V\020D\032\006\b\310\320\a\030\b \004" +1: "\b\206V\022\005LINOD\030\002\"\004\b\254\241\001*\004\b\344\241\0012\004\b\266\241\0018\003B\006\b\340\263\016\030\bJ\020LINO-DelicatesesR\027Ave. 5 de Mayo PorlamarZ\017I. de Margaritab\rNueva Espartaj\0044980r\tVenezuelaz\024\b\206V\020)\032\006\b\364\361\005\030\b 8-\315\314\314=" +1: "\b\207V\022\005SANTG\030\002\"\004\b\254\241\001*\004\b\310\241\0012\004\b\300\241\0018\002B\006\b\370\350\002\030\bJ\016Sant\303\251 GourmetR\026Erling Skakkes gate 78Z\aStavernj\0044110r\006Norwayz\017\b\207V\020\036\032\006\b\324\346\017\030\b \036z\017\b\207V\020M\032\006\b\320\367\a\030\b $" +1: "\b\210V\022\005AROUT\030\t\"\004\b\254\241\001*\004\b\344\241\0012\004\b\262\241\0018\002B\006\b\320\320\024\030\bJ\017Around the HornR\035Brook Farm Stratford St. MaryZ\nColchesterb\005Essexj\aCO7 6JXr\002UKz\017\b\210V\020\037\032\006\b\310\320\a\030\b \036z\017\b\210V\020$\032\006\b\260\314\v\030\b " +1: "\b\211V\022\005ERNSH\030\t\"\004\b\262\241\001*\004\b\352\241\0012\004\b\300\241\0018\002B\a\b\310\256\314\003\030\bJ\fErnst HandelR\fKirchgasse 6Z\004Grazj\0048010r\aAustriaz\017\b\211V\020\003\032\006\b\240\215\006\030\b 2z\020\b\211V\020;\032\006\b\360\310!\030\b \334\001z\017\b\211V\020F\032\006\b\360\223\t\030\b <" +1: "\b\212V\022\005LONEP\030\004\"\004\b\262\241\001*\004\b\352\241\0012\004\b\270\241\0018\002B\006\b\224\216\a\030\bJ\030Lonesome Pine RestaurantR\02289 Chiaroscuro Rd.Z\bPortlandb\002ORj\00597219r\003USAz\017\b\212V\020\f\032\006\b\340\230\027\030\b (z\017\b\212V\020\022\032\006\b\350\222&\030\b \024z\017\b\212V\0208\032\006\b\340\230\027\030\b \n" +1: "\b\213V\022\005RANCH\030\006\"\004\b\262\241\001*\004\b\352\241\0018\003B\006\b\324\367\001\030\bJ\rRancho grandeR\026Av. del Libertador 900Z\fBuenos Airesj\0041010r\tArgentinaz\017\b\213V\020.\032\006\b\300\251\a\030\b \006z\017\b\213V\0201\032\006\b\300\232\f\030\b \004" +1: "\b\214V\022\005OTTIK\030\002\"\004\b\264\241\001*\004\b\354\241\0012\004\b\270\241\0018\002B\006\b\350\266\032\030\bJ\023Ottilies K\303\244seladenR\022Mehrheimerstr. 369Z\005K\303\266lnj\00550739r\aGermanyz\024\b\214V\020\n\032\006\b\360\365\022\030\b 0-\232\231\031>" +1: "\b\215V\022\005QUICK\030\003\"\004\b\264\241\001*\004\b\354\241\0012\004\b\302\241\0018\001B\a\b\230\261\265\001\030\bJ\nQUICK-StopR\021Taucherstra\303\237e 10Z\tCunewaldej\00501307r\aGermanyz\024\b\215V\020\002\032\006\b\260\314\v\030\b \026-\000\000\200>z\017\b\215V\020\024\032\006\b\220\2701\030\b \036z\017\b\215V\020\032\032\006\b\354\207\023\030\b ~z\024\b\215V\0203\032\006\b\320\254 \030\b X-\000\000\200>z\017\b\215V\020H\032\006\b\340\236\025\030\b F" +1: "\b\216V\022\005HANAR\030\t\"\004\b\264\241\001*\004\b\354\241\0012\004\b\334\241\0018\002B\006\b\354\351\003\030\bJ\rHanari CarnesR\020Rua do Pa\303\247o, 67Z\016Rio de Janeirob\002RJj\t05454-876r\006Brazilz\017\b\216V\020\023\032\006\b\340\316\005\030\b Fz\017\b\216V\020E\032\006\b\300\374\025\030\b <" +1: "\b\217V\022\005BSBEV\030\001\"\004\b\264\241\001*\004\b\320\241\0012\004\b\310\241\0018\002B\006\b\234\312K\030\bJ\rB\'s BeveragesR\021Fauntleroy CircusZ\006Londonj\aEC2 5NTr\002UKz\017\b\217V\020\a\032\006\b\340\247\022\030\b \bz\017\b\217V\020+\032\006\b\340\211\034\030\b <" +1: "\b\220V\022\005EASTC\030\004\"\004\b\266\241\001*\004\b\356\241\0012\004\b\300\241\0018\001B\006\b\260\261-\030\bJ\022Eastern ConnectionR\01635 King GeorgeZ\006Londonj\aWX3 6FWr\002UKz\017\b\220V\020\032\032\006\b\354\207\023\030\b \030z\017\b\220V\020!\032\006\b\250\303\001\030\b z\024\b\223V\020>\032\006\b\310\213\036\030\b *-\000\000\200>" +1: "\b\224V\022\005KOENE\030\002\"\004\b\270\241\001*\004\b\360\241\0012\004\b\304\241\0018\001B\006\b\334\207\022\030\bJ\020K\303\266niglich EssenR\rMaubelstr. 90Z\vBrandenburgj\00514776r\aGermanyz\017\b\224V\0207\032\006\b\200\323\016\030\b Fz\017\b\224V\020;\032\006\b\360\310!\030\b 0" +1: "\b\225V\022\005CHOPS\030\004\"\004\b\270\241\001*\004\b\360\241\0012\004\b\316\241\0018\001B\006\b\300\231\035\030\bJ\021Chop-suey ChineseR\fHauptstr. 31Z\004Bernj\0043012r\vSwitzerlandz\017\b\225V\0208\032\006\b\340\230\027\030\b (z\017\b\225V\020?\032\006\b\330\345\032\030\b \030" +1: "\b\226V\022\005SAVEA\030\a\"\004\b\272\241\001*\004\b\362\241\0012\004\b\316\241\0018\002B\a\b\254\206\373\003\030\bJ\022Save-a-lot MarketsR\017187 Suffolk Ln.Z\005Boiseb\002IDj\00583720r\003USAz\025\b\226V\020\002\032\006\b\260\314\v\030\b \310\001-\000\000\200>z\020\b\226V\020\005\032\006\b\374\203\r\030\b \214\001z\024\b\226V\020\035\032\006\b\214\307K\030\b x-\000\000\200>z\025\b\226V\020;\032\006\b\360\310!\030\b \310\001-\000\000\200>" +1: "\b\227V\022\005SAVEA\030\006\"\004\b\272\241\001*\004\b\362\241\0012\004\b\310\241\0018\002B\a\b\310\327\212\001\030\bJ\022Save-a-lot MarketsR\017187 Suffolk Ln.Z\005Boiseb\002IDj\00583720r\003USAz\017\b\227V\020\001\032\006\b\240\376\n\030\b Zz\020\b\227V\020\r\032\006\b\340\324\003\030\b \240\001z\017\b\227V\020\030\032\006\b\310\337\002\030\b *z\017\b\227V\020@\032\006\b\324\245\024\030\b (z\017\b\227V\020G\032\006\b\330\217\r\030\b " +1: "\b\230V\022\005WHITC\030\002\"\004\b\272\241\001*\004\b\362\241\0012\004\b\306\241\0018\003B\a\b\314\376\361\002\030\bJ\024White Clover MarketsR\0231029 - 12th Ave. S.Z\aSeattleb\002WAj\00598124r\003USAz\017\b\230V\020$\032\006\b\260\314\v\030\b Fz\020\b\230V\020&\032\a\b\370\351\240\001\030\b 2z\017\b\230V\020;\032\006\b\360\310!\030\b <" +1: "\b\231V\022\005RICSU\030\a\"\004\b\272\241\001*\004\b\362\241\0012\004\b\306\241\0018\003B\006\b\250\3343\030\bJ\022Richter SupermarktR\vStarenweg 5Z\aGen\303\250vej\0041204r\vSwitzerlandz\025\b\231V\0205\032\006\b\300\202\024\030\b \214\001-\315\314\314=z\024\b\231V\020E\032\006\b\300\374\025\030\b H-\315\314\314=" +1: "\b\232V\022\005OLDWO\030\b\"\004\b\300\241\001*\004\b\224\242\0012\004\b\316\241\0018\001B\006\b\200\316\030\030\bJ\026Old World DelicatessenR\0172743 Bering St.Z\tAnchorageb\002AKj\00599508r\003USAz\024\b\232V\020\025\032\006\b\240\215\006\030\b \036-\315\314\314=z\017\b\232V\020,\032\006\b\304\357\v\030\b \030z\017\b\232V\020=\032\006\b\310\262\021\030\b \f" +1: "\b\233V\022\005SUPRD\030\002\"\004\b\300\241\001*\004\b\370\241\0012\004\b\310\241\0018\002B\005\b\244\r\030\bJ\022Supr\303\252mes d\303\251licesR\024Boulevard Tirou, 255Z\tCharleroij\006B-6000r\aBelgiumz\017\b\233V\020\001\032\006\b\240\376\n\030\b \024z\017\b\233V\020#\032\006\b\240\376\n\030\b xz\017\b\233V\020*\032\006\b\340\305\b\030\b z\017\b\236V\0204\032\006\b\360\242\004\030\b \004z\017\b\236V\020G\032\006\b\330\217\r\030\b <" +1: "\b\237V\022\005LINOD\030\001\"\004\b\302\241\001*\004\b\372\241\0018\002B\006\b\220\326\'\030\bJ\020LINO-DelicatesesR\027Ave. 5 de Mayo PorlamarZ\017I. de Margaritab\rNueva Espartaj\0044980r\tVenezuelaz\017\b\237V\020\034\032\006\b\300\352\033\030\b (z\017\b\237V\020#\032\006\b\240\376\n\030\b 0z\017\b\237V\0201\032\006\b\300\232\f\030\b xz\017\b\237V\0209\032\006\b\270\363\v\030\b 8" +1: "\b\240V\022\005GREAL\030\004\"\004\b\304\241\001*\004\b\374\241\0018\003B\006\b\360\277\v\030\bJ\027Great Lakes Food MarketR\0202732 Baker Blvd.Z\006Eugeneb\002ORj\00597403r\003USAz\017\b\240V\020\025\032\006\b\240\215\006\030\b (" +1: "\b\241V\022\005CHOPS\030\003\"\004\b\304\241\001*\004\b\374\241\0012\004\b\320\241\0018\002B\006\b\230\267\035\030\bJ\021Chop-suey ChineseR\fHauptstr. 31Z\004Bernj\0043012r\vSwitzerlandz\024\b\241V\020\002\032\006\b\260\314\v\030\b <-\315\314L>z\017\b\241V\020?\032\006\b\330\345\032\030\b <" +1: "\b\242V\022\005COMMI\030\002\"\004\b\304\241\001*\004\b\340\241\0012\004\b\326\241\0018\001B\006\b\374\246\022\030\bJ\021Com\303\251rcio MineiroR\025Av. dos Lus\303\255adas, 23Z\tSao Paulob\002SPj\t05432-043r\006Brazilz\017\b\242V\020,\032\006\b\304\357\v\030\b \036z\017\b\242V\020=\032\006\b\310\262\021\030\b \b" +1: "\b\243V\022\005SPECD\030\005\"\004\b\304\241\001*\004\b\374\241\0012\004\b\322\241\0018\002B\006\b\300\257\005\030\bJ\026Sp\303\251cialit\303\251s du mondeR\02125, rue LauristonZ\005Parisj\00575016r\006Francez\017\b\243V\020\v\032\006\b\320\350\f\030\b \024" +1: "\b\244V\022\005WOLZA\030\004\"\004\b\306\241\001*\004\b\376\241\0012\004\b\326\241\0018\001B\006\b\240\251\005\030\bJ\rWolski ZajazdR\017ul. Filtrowa 68Z\bWarszawaj\00601-012r\006Polandz\017\b\244V\020>\032\006\b\310\213\036\030\b \030" +1: "\b\245V\022\005BOTTM\030\006\"\004\b\306\241\001*\004\b\376\241\0018\002B\006\b\210\212+\030\bJ\025Bottom-Dollar MarketsR\02223 Tsawassen Blvd.Z\tTsawassenb\002BCj\aT2F 8M4r\006Canadaz\017\b\245V\020!\032\006\b\250\303\001\030\b \036z\017\b\245V\0203\032\006\b\320\254 \030\b 0" +1: "\b\246V\022\005WANDK\030\b\"\004\b\306\241\001*\004\b\376\241\0012\004\b\310\241\0018\002B\006\b\360\334+\030\bJ\021Die Wandernde KuhR\021Adenauerallee 900Z\tStuttgartj\00570563r\aGermanyz\024\b\246V\020\f\032\006\b\340\230\027\030\b (-\315\314L=z\024\b\246V\020 \032\006\b\200\304\023\030\b \036-\315\314L=z\024\b\246V\020#\032\006\b\240\376\n\030\b $-\315\314L=" +1: "\b\247V\022\005EASTC\030\a\"\004\b\310\241\001*\004\b\200\242\0012\004\b\326\241\0018\003B\006\b\230\272\034\030\bJ\022Eastern ConnectionR\01635 King GeorgeZ\006Londonj\aWX3 6FWr\002UKz\024\b\247V\020\001\032\006\b\240\376\n\030\b 2-\000\000\200>z\024\b\247V\020\005\032\006\b\374\203\r\030\b <-\000\000\200>" +1: "\b\250V\022\005BOTTM\030\a\"\004\b\310\241\001*\004\b\200\242\0012\004\b\324\241\0018\003B\006\b\260\334\016\030\bJ\025Bottom-Dollar MarketsR\02223 Tsawassen Blvd.Z\tTsawassenb\002BCj\aT2F 8M4r\006Canadaz\017\b\250V\020D\032\006\b\310\320\a\030\b T" +1: "\b\251V\022\005GOURL\030\003\"\004\b\310\241\001*\004\b\200\242\0012\004\b\334\241\0018\001B\006\b\310\213\005\030\bJ\023Gourmet LanchonetesR\017Av. Brasil, 442Z\bCampinasb\002SPj\t04876-786r\006Brazilz\024\b\251V\020\002\032\006\b\260\314\v\030\b \024-\315\314L>z\024\b\251V\020\f\032\006\b\340\230\027\030\b \b-\315\314L>" +1: "\b\252V\022\005FOLKO\030\b\"\004\b\316\241\001*\004\b\206\242\0012\004\b\336\241\0018\002B\006\b\264\241$\030\bJ\017Folk och f\303\244 HBR\r\303\205kergatan 24Z\aBr\303\244ckej\bS-844 67r\006Swedenz\024\b\252V\020L\032\006\b\240\376\n\030\b d-\315\314\314=" +1: "\b\253V\022\005LAMAI\030\a\"\004\b\316\241\001*\004\b\206\242\0018\003B\006\b\374\331\001\030\bJ\020La maison d\'AsieR\0251 rue Alsace-LorraineZ\bToulousej\00531000r\006Francez\024\b\253V\020\030\032\006\b\310\337\002\030\b \024-\315\314L>" +1: "\b\254V\022\005HANAR\030\003\"\004\b\316\241\001*\004\b\206\242\0012\004\b\326\241\0018\001B\006\b\330\206)\030\bJ\rHanari CarnesR\020Rua do Pa\303\247o, 67Z\016Rio de Janeirob\002RJj\t05454-876r\006Brazilz\024\b\254V\020+\032\006\b\340\211\034\030\b <-\315\314L>z\024\b\254V\020=\032\006\b\310\262\021\030\b \024-\315\314L>" +1: "\b\255V\022\005PICCO\030\002\"\004\b\316\241\001*\004\b\206\242\0012\004\b\322\241\0018\002B\006\b\304\260 \030\bJ\020Piccolo und mehrR\vGeislweg 14Z\bSalzburgj\0045020r\aAustriaz\024\b\255V\020\022\032\006\b\350\222&\030\b F-\315\314L>z\017\b\255V\020 \032\006\b\200\304\023\030\b (z\024\b\255V\020@\032\006\b\324\245\024\030\b 2-\315\314L>" +1: "\b\256V\022\005CACTU\030\b\"\004\b\320\241\001*\004\b\210\242\0018\001B\005\b\344\031\030\bJ\032Cactus Comidas para llevarR\vCerrito 333Z\fBuenos Airesj\0041010r\tArgentinaz\017\b\256V\020!\032\006\b\250\303\001\030\b \024z\017\b\256V\020C\032\006\b\340\305\b\030\b (" +1: "\b\257V\022\005HILAA\030\a\"\004\b\320\241\001*\004\b\210\242\0012\004\b\336\241\0018\002B\006\b\360\346I\030\bJ\020HILARION-AbastosR*Carrera 22 con Ave. Carlos Soublette #8-35Z\016San Crist\303\263balb\bT\303\241chiraj\0045022r\tVenezuelaz\017\b\257V\020\030\032\006\b\310\337\002\030\b \036z\017\b\257V\020\031\032\006\b\340\305\b\030\b \036z\017\b\257V\0203\032\006\b\320\254 \030\b (z\017\b\257V\0209\032\006\b\270\363\v\030\b (" +1: "\b\260V\022\005EASTC\030\b\"\004\b\320\241\001*\004\b\354\241\0012\004\b\326\241\0018\002B\a\b\340\241\252\001\030\bJ\022Eastern ConnectionR\01635 King GeorgeZ\006Londonj\aWX3 6FWr\002UKz\017\b\260V\020\a\032\006\b\340\247\022\030\b Pz\017\b\260V\0207\032\006\b\200\323\016\030\b Fz\017\b\260V\020<\032\006\b\240\340\024\030\b d" +1: "\b\261V\022\005NORTS\030\003\"\004\b\322\241\001*\004\b\212\242\0012\004\b\326\241\0018\003B\006\b\324\302\002\030\bJ\vNorth/SouthR\034South House 300 QueensbridgeZ\006Londonj\aSW7 1RZr\002UKz\017\b\261V\020F\032\006\b\360\223\t\030\b \006" +1: "\b\262V\022\005BLAUS\030\t\"\004\b\322\241\001*\004\b\212\242\0018\003B\006\b\350\200\023\030\bJ\027Blauer See DelikatessenR\016Forsterstr. 57Z\bMannheimj\00568306r\aGermanyz\017\b\262V\020\025\032\006\b\240\215\006\030\b \006z\017\b\262V\020<\032\006\b\240\340\024\030\b *z\017\b\262V\020=\032\006\b\310\262\021\030\b \b" +1: "\b\263V\022\005RICAR\030\002\"\004\b\322\241\001*\004\b\246\242\0018\002B\006\b\220\2574\030\bJ\022Ricardo AdocicadosR\023Av. Copacabana, 267Z\016Rio de Janeirob\002RJj\t02389-890r\006Brazilz\017\b\263V\020\r\032\006\b\340\324\003\030\b z\024\b\266V\020F\032\006\b\360\223\t\030\b \030-\315\314L>" +1: "\b\267V\022\005HUNGO\030\003\"\004\b\324\241\001*\004\b\214\242\0012\004\b\340\241\0018\002B\006\b\224\3611\030\bJ\034Hungry Owl All-Night GrocersR\0208 Johnstown RoadZ\004Corkb\bCo. Corkr\aIrelandz\017\b\267V\020\"\032\006\b\340\305\b\030\b z\024\b\271V\0206\032\006\b\204\306\004\030\b (-\000\000\200>" +1: "\b\272V\022\005WHITC\030\a\"\004\b\326\241\001*\004\b\216\242\0012\004\b\334\241\0018\002B\006\b\340\245\033\030\bJ\024White Clover MarketsR\0231029 - 12th Ave. S.Z\aSeattleb\002WAj\00598124r\003USAz\017\b\272V\020\020\032\006\b\244\323\n\030\b \006z\017\b\272V\020\023\032\006\b\340\316\005\030\b Tz\017\b\272V\020\"\032\006\b\340\305\b\030\b F" +1: "\b\273V\022\005DRACD\030\001\"\004\b\334\241\001*\004\b\370\241\0012\004\b\340\241\0018\002B\006\b\270\357\004\030\bJ\030Drachenblut DelikatessenR\fWalserweg 21Z\006Aachenj\00552066r\aGermanyz\017\b\273V\020)\032\006\b\364\361\005\030\b \022" +1: "\b\274V\022\005QUEEN\030\b\"\004\b\334\241\001*\004\b\224\242\0018\002B\006\b\334\3621\030\bJ\rQueen CozinhaR\032Alameda dos Can\303\240rios, 891Z\tSao Paulob\002SPj\t05487-020r\006Brazilz\024\b\274V\020\034\032\006\b\300\352\033\030\b \020-\232\231\031>z\024\b\274V\020+\032\006\b\340\211\034\030\b H-\232\231\031>z\024\b\274V\020M\032\006\b\320\367\a\030\b 8-\232\231\031>" +1: "\b\275V\022\005TORTU\030\001\"\004\b\334\241\001*\004\b\224\242\0012\004\b\340\241\0018\002B\006\b\234\310\t\030\bJ\023Tortuga RestauranteR\020Avda. Azteca 123Z\fM\303\251xico D.F.j\00505033r\006Mexicoz\017\b\275V\020\'\032\006\b\240\376\n\030\b (" +1: "\b\276V\022\005LEHMS\030\002\"\004\b\336\241\001*\004\b\226\242\0018\001B\006\b\200\201S\030\bJ\023Lehmanns MarktstandR\fMagazinweg 7Z\016Frankfurt a.M.j\00560528r\aGermanyz\024\b\276V\020\001\032\006\b\240\376\n\030\b P-\232\231\031>z\024\b\276V\020\002\032\006\b\260\314\v\030\b (-\232\231\031>z\024\b\276V\020\020\032\006\b\244\323\n\030\b <-\232\231\031>z\017\b\276V\020\037\032\006\b\310\320\a\030\b (" +1: "\b\277V\022\005LILAS\030\001\"\004\b\336\241\001*\004\b\226\242\0018\001B\005\b\324H\030\bJ\021LILA-SupermercadoR/Carrera 52 con Ave. Bol\303\255var #65-98 Llano LargoZ\fBarquisimetob\004Laraj\0043508r\tVenezuelaz\024\b\277V\020\a\032\006\b\340\247\022\030\b \036-\315\314L=z\024\b\277V\020\r\032\006\b\340\324\003\030\b \024-\315\314L=" +1: "\b\300V\022\005ERNSH\030\004\"\004\b\336\241\001*\004\b\226\242\0018\002B\a\b\240\356\235\001\030\bJ\fErnst HandelR\fKirchgasse 6Z\004Grazj\0048010r\aAustriaz\017\b\300V\020\002\032\006\b\260\314\v\030\b \020z\017\b\300V\020)\032\006\b\364\361\005\030\b Pz\017\b\300V\0202\032\006\b\304\365\t\030\b ,z\020\b\300V\020@\032\006\b\324\245\024\030\b \204\002" +1: "\b\301V\022\005PERIC\030\002\"\004\b\336\241\001*\004\b\226\242\0018\002B\006\b\234\235\017\030\bJ\032Pericles Comidas cl\303\241sicasR\030Calle Dr. Jorge Cash 321Z\fM\303\251xico D.F.j\00505033r\006Mexicoz\017\b\301V\020\v\032\006\b\320\350\f\030\b \024z\017\b\301V\020\030\032\006\b\310\337\002\030\b (" +1: "\b\302V\022\005SIMOB\030\a\"\004\b\340\241\001*\004\b\230\242\0018\002B\006\b\320\240\v\030\bJ\rSimons bistroR\rVinb\303\246ltet 34Z\tKobenhavnj\0041734r\aDenmarkz\024\b\302V\020\020\032\006\b\244\323\n\030\b \034-\315\314L=" +1: "\b\303V\022\005RICSU\030\b\"\004\b\340\241\001*\004\b\230\242\0018\002B\006\b\314\343\003\030\bJ\022Richter SupermarktR\vStarenweg 5Z\aGen\303\250vej\0041204r\vSwitzerlandz\024\b\303V\020\002\032\006\b\260\314\v\030\b \024-\232\231\031>z\024\b\303V\020.\032\006\b\300\251\a\030\b <-\232\231\031>z\024\b\303V\020L\032\006\b\240\376\n\030\b \004-\232\231\031>" +1: "\b\304V\022\005BONAP\030\004\"\004\b\340\241\001*\004\b\230\242\0018\002B\006\b\320\256\027\030\bJ\bBon app\'R\02412, rue des BouchersZ\tMarseillej\00513008r\006Francez\024\b\304V\020\006\032\006\b\220\241\017\030\b (-\000\000\200>z\024\b\304V\020\016\032\006\b\264\230\016\030\b (-\000\000\200>z\024\b\304V\020\023\032\006\b\340\316\005\030\b \024-\000\000\200>" +1: "\b\305V\022\005RATTC\030\001\"\004\b\340\241\001*\004\b\230\242\0018\002B\006\b\264\232\005\030\bJ\032Rattlesnake Canyon GroceryR\0172817 Milton Dr.Z\vAlbuquerqueb\002NMj\00587110r\003USAz\024\b\305V\020\002\032\006\b\260\314\v\030\b 0-\315\314L>z\017\b\305V\020\003\032\006\b\240\215\006\030\b \bz\017\b\305V\020\004\032\006\b\340\266\r\030\b \002z\024\b\305V\020\006\032\006\b\220\241\017\030\b \002-\n\327\243