# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: demo.proto

import sys
_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1'))
from google.protobuf import descriptor as _descriptor
from google.protobuf import message as _message
from google.protobuf import reflection as _reflection
from google.protobuf import symbol_database as _symbol_database
from google.protobuf import descriptor_pb2
# @@protoc_insertion_point(imports)

_sym_db = _symbol_database.Default()




DESCRIPTOR = _descriptor.FileDescriptor(
  name='demo.proto',
  package='hipstershop',
  syntax='proto3',
  serialized_pb=_b('\n\ndemo.proto\x12\x0bhipstershop\"0\n\x08\x43\x61rtItem\x12\x12\n\nproduct_id\x18\x01 \x01(\t\x12\x10\n\x08quantity\x18\x02 \x01(\x05\"F\n\x0e\x41\x64\x64ItemRequest\x12\x0f\n\x07user_id\x18\x01 \x01(\t\x12#\n\x04item\x18\x02 \x01(\x0b\x32\x15.hipstershop.CartItem\"#\n\x10\x45mptyCartRequest\x12\x0f\n\x07user_id\x18\x01 \x01(\t\"!\n\x0eGetCartRequest\x12\x0f\n\x07user_id\x18\x01 \x01(\t\"=\n\x04\x43\x61rt\x12\x0f\n\x07user_id\x18\x01 \x01(\t\x12$\n\x05items\x18\x02 \x03(\x0b\x32\x15.hipstershop.CartItem\"\x07\n\x05\x45mpty\"B\n\x1aListRecommendationsRequest\x12\x0f\n\x07user_id\x18\x01 \x01(\t\x12\x13\n\x0bproduct_ids\x18\x02 \x03(\t\"2\n\x1bListRecommendationsResponse\x12\x13\n\x0bproduct_ids\x18\x01 \x03(\t\"p\n\x07Product\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\x12\x0f\n\x07picture\x18\x04 \x01(\t\x12%\n\tprice_usd\x18\x05 \x01(\x0b\x32\x12.hipstershop.Money\">\n\x14ListProductsResponse\x12&\n\x08products\x18\x01 \x03(\x0b\x32\x14.hipstershop.Product\"\x1f\n\x11GetProductRequest\x12\n\n\x02id\x18\x01 \x01(\t\"&\n\x15SearchProductsRequest\x12\r\n\x05query\x18\x01 \x01(\t\"?\n\x16SearchProductsResponse\x12%\n\x07results\x18\x01 \x03(\x0b\x32\x14.hipstershop.Product\"^\n\x0fGetQuoteRequest\x12%\n\x07\x61\x64\x64ress\x18\x01 \x01(\x0b\x32\x14.hipstershop.Address\x12$\n\x05items\x18\x02 \x03(\x0b\x32\x15.hipstershop.CartItem\"8\n\x10GetQuoteResponse\x12$\n\x08\x63ost_usd\x18\x01 \x01(\x0b\x32\x12.hipstershop.Money\"_\n\x10ShipOrderRequest\x12%\n\x07\x61\x64\x64ress\x18\x01 \x01(\x0b\x32\x14.hipstershop.Address\x12$\n\x05items\x18\x02 \x03(\x0b\x32\x15.hipstershop.CartItem\"(\n\x11ShipOrderResponse\x12\x13\n\x0btracking_id\x18\x01 \x01(\t\"a\n\x07\x41\x64\x64ress\x12\x16\n\x0estreet_address\x18\x01 \x01(\t\x12\x0c\n\x04\x63ity\x18\x02 \x01(\t\x12\r\n\x05state\x18\x03 \x01(\t\x12\x0f\n\x07\x63ountry\x18\x04 \x01(\t\x12\x10\n\x08zip_code\x18\x05 \x01(\x05\"<\n\x05Money\x12\x15\n\rcurrency_code\x18\x01 \x01(\t\x12\r\n\x05units\x18\x02 \x01(\x03\x12\r\n\x05nanos\x18\x03 \x01(\x05\"8\n\x1eGetSupportedCurrenciesResponse\x12\x16\n\x0e\x63urrency_codes\x18\x01 \x03(\t\"N\n\x19\x43urrencyConversionRequest\x12 \n\x04\x66rom\x18\x01 \x01(\x0b\x32\x12.hipstershop.Money\x12\x0f\n\x07to_code\x18\x02 \x01(\t\"\x90\x01\n\x0e\x43reditCardInfo\x12\x1a\n\x12\x63redit_card_number\x18\x01 \x01(\t\x12\x17\n\x0f\x63redit_card_cvv\x18\x02 \x01(\x05\x12#\n\x1b\x63redit_card_expiration_year\x18\x03 \x01(\x05\x12$\n\x1c\x63redit_card_expiration_month\x18\x04 \x01(\x05\"e\n\rChargeRequest\x12\"\n\x06\x61mount\x18\x01 \x01(\x0b\x32\x12.hipstershop.Money\x12\x30\n\x0b\x63redit_card\x18\x02 \x01(\x0b\x32\x1b.hipstershop.CreditCardInfo\"(\n\x0e\x43hargeResponse\x12\x16\n\x0etransaction_id\x18\x01 \x01(\t\"R\n\tOrderItem\x12#\n\x04item\x18\x01 \x01(\x0b\x32\x15.hipstershop.CartItem\x12 \n\x04\x63ost\x18\x02 \x01(\x0b\x32\x12.hipstershop.Money\"\xbf\x01\n\x0bOrderResult\x12\x10\n\x08order_id\x18\x01 \x01(\t\x12\x1c\n\x14shipping_tracking_id\x18\x02 \x01(\t\x12)\n\rshipping_cost\x18\x03 \x01(\x0b\x32\x12.hipstershop.Money\x12.\n\x10shipping_address\x18\x04 \x01(\x0b\x32\x14.hipstershop.Address\x12%\n\x05items\x18\x05 \x03(\x0b\x32\x16.hipstershop.OrderItem\"V\n\x1cSendOrderConfirmationRequest\x12\r\n\x05\x65mail\x18\x01 \x01(\t\x12\'\n\x05order\x18\x02 \x01(\x0b\x32\x18.hipstershop.OrderResult\"\xa3\x01\n\x11PlaceOrderRequest\x12\x0f\n\x07user_id\x18\x01 \x01(\t\x12\x15\n\ruser_currency\x18\x02 \x01(\t\x12%\n\x07\x61\x64\x64ress\x18\x03 \x01(\x0b\x32\x14.hipstershop.Address\x12\r\n\x05\x65mail\x18\x05 \x01(\t\x12\x30\n\x0b\x63redit_card\x18\x06 \x01(\x0b\x32\x1b.hipstershop.CreditCardInfo\"=\n\x12PlaceOrderResponse\x12\'\n\x05order\x18\x01 \x01(\x0b\x32\x18.hipstershop.OrderResult\"\"\n\nAdsRequest\x12\x14\n\x0c\x63ontext_keys\x18\x01 \x03(\t\"+\n\x0b\x41\x64sResponse\x12\x1c\n\x03\x61\x64s\x18\x01 \x03(\x0b\x32\x0f.hipstershop.Ad\"(\n\x02\x41\x64\x12\x14\n\x0credirect_url\x18\x01 \x01(\t\x12\x0c\n\x04text\x18\x02 \x01(\t2\xca\x01\n\x0b\x43\x61rtService\x12<\n\x07\x41\x64\x64Item\x12\x1b.hipstershop.AddItemRequest\x1a\x12.hipstershop.Empty\"\x00\x12;\n\x07GetCart\x12\x1b.hipstershop.GetCartRequest\x1a\x11.hipstershop.Cart\"\x00\x12@\n\tEmptyCart\x12\x1d.hipstershop.EmptyCartRequest\x1a\x12.hipstershop.Empty\"\x00\x32\x83\x01\n\x15RecommendationService\x12j\n\x13ListRecommendations\x12\'.hipstershop.ListRecommendationsRequest\x1a(.hipstershop.ListRecommendationsResponse\"\x00\x32\x83\x02\n\x15ProductCatalogService\x12G\n\x0cListProducts\x12\x12.hipstershop.Empty\x1a!.hipstershop.ListProductsResponse\"\x00\x12\x44\n\nGetProduct\x12\x1e.hipstershop.GetProductRequest\x1a\x14.hipstershop.Product\"\x00\x12[\n\x0eSearchProducts\x12\".hipstershop.SearchProductsRequest\x1a#.hipstershop.SearchProductsResponse\"\x00\x32\xaa\x01\n\x0fShippingService\x12I\n\x08GetQuote\x12\x1c.hipstershop.GetQuoteRequest\x1a\x1d.hipstershop.GetQuoteResponse\"\x00\x12L\n\tShipOrder\x12\x1d.hipstershop.ShipOrderRequest\x1a\x1e.hipstershop.ShipOrderResponse\"\x00\x32\xb7\x01\n\x0f\x43urrencyService\x12[\n\x16GetSupportedCurrencies\x12\x12.hipstershop.Empty\x1a+.hipstershop.GetSupportedCurrenciesResponse\"\x00\x12G\n\x07\x43onvert\x12&.hipstershop.CurrencyConversionRequest\x1a\x12.hipstershop.Money\"\x00\x32U\n\x0ePaymentService\x12\x43\n\x06\x43harge\x12\x1a.hipstershop.ChargeRequest\x1a\x1b.hipstershop.ChargeResponse\"\x00\x32h\n\x0c\x45mailService\x12X\n\x15SendOrderConfirmation\x12).hipstershop.SendOrderConfirmationRequest\x1a\x12.hipstershop.Empty\"\x00\x32\x62\n\x0f\x43heckoutService\x12O\n\nPlaceOrder\x12\x1e.hipstershop.PlaceOrderRequest\x1a\x1f.hipstershop.PlaceOrderResponse\"\x00\x32K\n\nAdsService\x12=\n\x06GetAds\x12\x17.hipstershop.AdsRequest\x1a\x18.hipstershop.AdsResponse\"\x00\x62\x06proto3')
)




_CARTITEM = _descriptor.Descriptor(
  name='CartItem',
  full_name='hipstershop.CartItem',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='product_id', full_name='hipstershop.CartItem.product_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='quantity', full_name='hipstershop.CartItem.quantity', index=1,
      number=2, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=27,
  serialized_end=75,
)


_ADDITEMREQUEST = _descriptor.Descriptor(
  name='AddItemRequest',
  full_name='hipstershop.AddItemRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='user_id', full_name='hipstershop.AddItemRequest.user_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='item', full_name='hipstershop.AddItemRequest.item', index=1,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=77,
  serialized_end=147,
)


_EMPTYCARTREQUEST = _descriptor.Descriptor(
  name='EmptyCartRequest',
  full_name='hipstershop.EmptyCartRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='user_id', full_name='hipstershop.EmptyCartRequest.user_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=149,
  serialized_end=184,
)


_GETCARTREQUEST = _descriptor.Descriptor(
  name='GetCartRequest',
  full_name='hipstershop.GetCartRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='user_id', full_name='hipstershop.GetCartRequest.user_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=186,
  serialized_end=219,
)


_CART = _descriptor.Descriptor(
  name='Cart',
  full_name='hipstershop.Cart',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='user_id', full_name='hipstershop.Cart.user_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='items', full_name='hipstershop.Cart.items', index=1,
      number=2, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=221,
  serialized_end=282,
)


_EMPTY = _descriptor.Descriptor(
  name='Empty',
  full_name='hipstershop.Empty',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=284,
  serialized_end=291,
)


_LISTRECOMMENDATIONSREQUEST = _descriptor.Descriptor(
  name='ListRecommendationsRequest',
  full_name='hipstershop.ListRecommendationsRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='user_id', full_name='hipstershop.ListRecommendationsRequest.user_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='product_ids', full_name='hipstershop.ListRecommendationsRequest.product_ids', index=1,
      number=2, type=9, cpp_type=9, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=293,
  serialized_end=359,
)


_LISTRECOMMENDATIONSRESPONSE = _descriptor.Descriptor(
  name='ListRecommendationsResponse',
  full_name='hipstershop.ListRecommendationsResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='product_ids', full_name='hipstershop.ListRecommendationsResponse.product_ids', index=0,
      number=1, type=9, cpp_type=9, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=361,
  serialized_end=411,
)


_PRODUCT = _descriptor.Descriptor(
  name='Product',
  full_name='hipstershop.Product',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='id', full_name='hipstershop.Product.id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='name', full_name='hipstershop.Product.name', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='description', full_name='hipstershop.Product.description', index=2,
      number=3, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='picture', full_name='hipstershop.Product.picture', index=3,
      number=4, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='price_usd', full_name='hipstershop.Product.price_usd', index=4,
      number=5, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=413,
  serialized_end=525,
)


_LISTPRODUCTSRESPONSE = _descriptor.Descriptor(
  name='ListProductsResponse',
  full_name='hipstershop.ListProductsResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='products', full_name='hipstershop.ListProductsResponse.products', index=0,
      number=1, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=527,
  serialized_end=589,
)


_GETPRODUCTREQUEST = _descriptor.Descriptor(
  name='GetProductRequest',
  full_name='hipstershop.GetProductRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='id', full_name='hipstershop.GetProductRequest.id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=591,
  serialized_end=622,
)


_SEARCHPRODUCTSREQUEST = _descriptor.Descriptor(
  name='SearchProductsRequest',
  full_name='hipstershop.SearchProductsRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='query', full_name='hipstershop.SearchProductsRequest.query', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=624,
  serialized_end=662,
)


_SEARCHPRODUCTSRESPONSE = _descriptor.Descriptor(
  name='SearchProductsResponse',
  full_name='hipstershop.SearchProductsResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='results', full_name='hipstershop.SearchProductsResponse.results', index=0,
      number=1, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=664,
  serialized_end=727,
)


_GETQUOTEREQUEST = _descriptor.Descriptor(
  name='GetQuoteRequest',
  full_name='hipstershop.GetQuoteRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='address', full_name='hipstershop.GetQuoteRequest.address', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='items', full_name='hipstershop.GetQuoteRequest.items', index=1,
      number=2, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=729,
  serialized_end=823,
)


_GETQUOTERESPONSE = _descriptor.Descriptor(
  name='GetQuoteResponse',
  full_name='hipstershop.GetQuoteResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='cost_usd', full_name='hipstershop.GetQuoteResponse.cost_usd', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=825,
  serialized_end=881,
)


_SHIPORDERREQUEST = _descriptor.Descriptor(
  name='ShipOrderRequest',
  full_name='hipstershop.ShipOrderRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='address', full_name='hipstershop.ShipOrderRequest.address', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='items', full_name='hipstershop.ShipOrderRequest.items', index=1,
      number=2, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=883,
  serialized_end=978,
)


_SHIPORDERRESPONSE = _descriptor.Descriptor(
  name='ShipOrderResponse',
  full_name='hipstershop.ShipOrderResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='tracking_id', full_name='hipstershop.ShipOrderResponse.tracking_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=980,
  serialized_end=1020,
)


_ADDRESS = _descriptor.Descriptor(
  name='Address',
  full_name='hipstershop.Address',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='street_address', full_name='hipstershop.Address.street_address', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='city', full_name='hipstershop.Address.city', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='state', full_name='hipstershop.Address.state', index=2,
      number=3, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='country', full_name='hipstershop.Address.country', index=3,
      number=4, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='zip_code', full_name='hipstershop.Address.zip_code', index=4,
      number=5, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1022,
  serialized_end=1119,
)


_MONEY = _descriptor.Descriptor(
  name='Money',
  full_name='hipstershop.Money',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='currency_code', full_name='hipstershop.Money.currency_code', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='units', full_name='hipstershop.Money.units', index=1,
      number=2, type=3, cpp_type=2, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='nanos', full_name='hipstershop.Money.nanos', index=2,
      number=3, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1121,
  serialized_end=1181,
)


_GETSUPPORTEDCURRENCIESRESPONSE = _descriptor.Descriptor(
  name='GetSupportedCurrenciesResponse',
  full_name='hipstershop.GetSupportedCurrenciesResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='currency_codes', full_name='hipstershop.GetSupportedCurrenciesResponse.currency_codes', index=0,
      number=1, type=9, cpp_type=9, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1183,
  serialized_end=1239,
)


_CURRENCYCONVERSIONREQUEST = _descriptor.Descriptor(
  name='CurrencyConversionRequest',
  full_name='hipstershop.CurrencyConversionRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='from', full_name='hipstershop.CurrencyConversionRequest.from', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='to_code', full_name='hipstershop.CurrencyConversionRequest.to_code', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1241,
  serialized_end=1319,
)


_CREDITCARDINFO = _descriptor.Descriptor(
  name='CreditCardInfo',
  full_name='hipstershop.CreditCardInfo',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='credit_card_number', full_name='hipstershop.CreditCardInfo.credit_card_number', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='credit_card_cvv', full_name='hipstershop.CreditCardInfo.credit_card_cvv', index=1,
      number=2, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='credit_card_expiration_year', full_name='hipstershop.CreditCardInfo.credit_card_expiration_year', index=2,
      number=3, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='credit_card_expiration_month', full_name='hipstershop.CreditCardInfo.credit_card_expiration_month', index=3,
      number=4, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1322,
  serialized_end=1466,
)


_CHARGEREQUEST = _descriptor.Descriptor(
  name='ChargeRequest',
  full_name='hipstershop.ChargeRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='amount', full_name='hipstershop.ChargeRequest.amount', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='credit_card', full_name='hipstershop.ChargeRequest.credit_card', index=1,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1468,
  serialized_end=1569,
)


_CHARGERESPONSE = _descriptor.Descriptor(
  name='ChargeResponse',
  full_name='hipstershop.ChargeResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='transaction_id', full_name='hipstershop.ChargeResponse.transaction_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1571,
  serialized_end=1611,
)


_ORDERITEM = _descriptor.Descriptor(
  name='OrderItem',
  full_name='hipstershop.OrderItem',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='item', full_name='hipstershop.OrderItem.item', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='cost', full_name='hipstershop.OrderItem.cost', index=1,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1613,
  serialized_end=1695,
)


_ORDERRESULT = _descriptor.Descriptor(
  name='OrderResult',
  full_name='hipstershop.OrderResult',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='order_id', full_name='hipstershop.OrderResult.order_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='shipping_tracking_id', full_name='hipstershop.OrderResult.shipping_tracking_id', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='shipping_cost', full_name='hipstershop.OrderResult.shipping_cost', index=2,
      number=3, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='shipping_address', full_name='hipstershop.OrderResult.shipping_address', index=3,
      number=4, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='items', full_name='hipstershop.OrderResult.items', index=4,
      number=5, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1698,
  serialized_end=1889,
)


_SENDORDERCONFIRMATIONREQUEST = _descriptor.Descriptor(
  name='SendOrderConfirmationRequest',
  full_name='hipstershop.SendOrderConfirmationRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='email', full_name='hipstershop.SendOrderConfirmationRequest.email', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='order', full_name='hipstershop.SendOrderConfirmationRequest.order', index=1,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1891,
  serialized_end=1977,
)


_PLACEORDERREQUEST = _descriptor.Descriptor(
  name='PlaceOrderRequest',
  full_name='hipstershop.PlaceOrderRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='user_id', full_name='hipstershop.PlaceOrderRequest.user_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='user_currency', full_name='hipstershop.PlaceOrderRequest.user_currency', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='address', full_name='hipstershop.PlaceOrderRequest.address', index=2,
      number=3, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='email', full_name='hipstershop.PlaceOrderRequest.email', index=3,
      number=5, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='credit_card', full_name='hipstershop.PlaceOrderRequest.credit_card', index=4,
      number=6, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1980,
  serialized_end=2143,
)


_PLACEORDERRESPONSE = _descriptor.Descriptor(
  name='PlaceOrderResponse',
  full_name='hipstershop.PlaceOrderResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='order', full_name='hipstershop.PlaceOrderResponse.order', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2145,
  serialized_end=2206,
)


_ADSREQUEST = _descriptor.Descriptor(
  name='AdsRequest',
  full_name='hipstershop.AdsRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='context_keys', full_name='hipstershop.AdsRequest.context_keys', index=0,
      number=1, type=9, cpp_type=9, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2208,
  serialized_end=2242,
)


_ADSRESPONSE = _descriptor.Descriptor(
  name='AdsResponse',
  full_name='hipstershop.AdsResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='ads', full_name='hipstershop.AdsResponse.ads', index=0,
      number=1, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2244,
  serialized_end=2287,
)


_AD = _descriptor.Descriptor(
  name='Ad',
  full_name='hipstershop.Ad',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='redirect_url', full_name='hipstershop.Ad.redirect_url', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='text', full_name='hipstershop.Ad.text', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2289,
  serialized_end=2329,
)

_ADDITEMREQUEST.fields_by_name['item'].message_type = _CARTITEM
_CART.fields_by_name['items'].message_type = _CARTITEM
_PRODUCT.fields_by_name['price_usd'].message_type = _MONEY
_LISTPRODUCTSRESPONSE.fields_by_name['products'].message_type = _PRODUCT
_SEARCHPRODUCTSRESPONSE.fields_by_name['results'].message_type = _PRODUCT
_GETQUOTEREQUEST.fields_by_name['address'].message_type = _ADDRESS
_GETQUOTEREQUEST.fields_by_name['items'].message_type = _CARTITEM
_GETQUOTERESPONSE.fields_by_name['cost_usd'].message_type = _MONEY
_SHIPORDERREQUEST.fields_by_name['address'].message_type = _ADDRESS
_SHIPORDERREQUEST.fields_by_name['items'].message_type = _CARTITEM
_CURRENCYCONVERSIONREQUEST.fields_by_name['from'].message_type = _MONEY
_CHARGEREQUEST.fields_by_name['amount'].message_type = _MONEY
_CHARGEREQUEST.fields_by_name['credit_card'].message_type = _CREDITCARDINFO
_ORDERITEM.fields_by_name['item'].message_type = _CARTITEM
_ORDERITEM.fields_by_name['cost'].message_type = _MONEY
_ORDERRESULT.fields_by_name['shipping_cost'].message_type = _MONEY
_ORDERRESULT.fields_by_name['shipping_address'].message_type = _ADDRESS
_ORDERRESULT.fields_by_name['items'].message_type = _ORDERITEM
_SENDORDERCONFIRMATIONREQUEST.fields_by_name['order'].message_type = _ORDERRESULT
_PLACEORDERREQUEST.fields_by_name['address'].message_type = _ADDRESS
_PLACEORDERREQUEST.fields_by_name['credit_card'].message_type = _CREDITCARDINFO
_PLACEORDERRESPONSE.fields_by_name['order'].message_type = _ORDERRESULT
_ADSRESPONSE.fields_by_name['ads'].message_type = _AD
DESCRIPTOR.message_types_by_name['CartItem'] = _CARTITEM
DESCRIPTOR.message_types_by_name['AddItemRequest'] = _ADDITEMREQUEST
DESCRIPTOR.message_types_by_name['EmptyCartRequest'] = _EMPTYCARTREQUEST
DESCRIPTOR.message_types_by_name['GetCartRequest'] = _GETCARTREQUEST
DESCRIPTOR.message_types_by_name['Cart'] = _CART
DESCRIPTOR.message_types_by_name['Empty'] = _EMPTY
DESCRIPTOR.message_types_by_name['ListRecommendationsRequest'] = _LISTRECOMMENDATIONSREQUEST
DESCRIPTOR.message_types_by_name['ListRecommendationsResponse'] = _LISTRECOMMENDATIONSRESPONSE
DESCRIPTOR.message_types_by_name['Product'] = _PRODUCT
DESCRIPTOR.message_types_by_name['ListProductsResponse'] = _LISTPRODUCTSRESPONSE
DESCRIPTOR.message_types_by_name['GetProductRequest'] = _GETPRODUCTREQUEST
DESCRIPTOR.message_types_by_name['SearchProductsRequest'] = _SEARCHPRODUCTSREQUEST
DESCRIPTOR.message_types_by_name['SearchProductsResponse'] = _SEARCHPRODUCTSRESPONSE
DESCRIPTOR.message_types_by_name['GetQuoteRequest'] = _GETQUOTEREQUEST
DESCRIPTOR.message_types_by_name['GetQuoteResponse'] = _GETQUOTERESPONSE
DESCRIPTOR.message_types_by_name['ShipOrderRequest'] = _SHIPORDERREQUEST
DESCRIPTOR.message_types_by_name['ShipOrderResponse'] = _SHIPORDERRESPONSE
DESCRIPTOR.message_types_by_name['Address'] = _ADDRESS
DESCRIPTOR.message_types_by_name['Money'] = _MONEY
DESCRIPTOR.message_types_by_name['GetSupportedCurrenciesResponse'] = _GETSUPPORTEDCURRENCIESRESPONSE
DESCRIPTOR.message_types_by_name['CurrencyConversionRequest'] = _CURRENCYCONVERSIONREQUEST
DESCRIPTOR.message_types_by_name['CreditCardInfo'] = _CREDITCARDINFO
DESCRIPTOR.message_types_by_name['ChargeRequest'] = _CHARGEREQUEST
DESCRIPTOR.message_types_by_name['ChargeResponse'] = _CHARGERESPONSE
DESCRIPTOR.message_types_by_name['OrderItem'] = _ORDERITEM
DESCRIPTOR.message_types_by_name['OrderResult'] = _ORDERRESULT
DESCRIPTOR.message_types_by_name['SendOrderConfirmationRequest'] = _SENDORDERCONFIRMATIONREQUEST
DESCRIPTOR.message_types_by_name['PlaceOrderRequest'] = _PLACEORDERREQUEST
DESCRIPTOR.message_types_by_name['PlaceOrderResponse'] = _PLACEORDERRESPONSE
DESCRIPTOR.message_types_by_name['AdsRequest'] = _ADSREQUEST
DESCRIPTOR.message_types_by_name['AdsResponse'] = _ADSRESPONSE
DESCRIPTOR.message_types_by_name['Ad'] = _AD
_sym_db.RegisterFileDescriptor(DESCRIPTOR)

CartItem = _reflection.GeneratedProtocolMessageType('CartItem', (_message.Message,), dict(
  DESCRIPTOR = _CARTITEM,
  __module__ = 'demo_pb2'
  # @@protoc_insertion_point(class_scope:hipstershop.CartItem)
  ))
_sym_db.RegisterMessage(CartItem)

AddItemRequest = _reflection.GeneratedProtocolMessageType('AddItemRequest', (_message.Message,), dict(
  DESCRIPTOR = _ADDITEMREQUEST,
  __module__ = 'demo_pb2'
  # @@protoc_insertion_point(class_scope:hipstershop.AddItemRequest)
  ))
_sym_db.RegisterMessage(AddItemRequest)

EmptyCartRequest = _reflection.GeneratedProtocolMessageType('EmptyCartRequest', (_message.Message,), dict(
  DESCRIPTOR = _EMPTYCARTREQUEST,
  __module__ = 'demo_pb2'
  # @@protoc_insertion_point(class_scope:hipstershop.EmptyCartRequest)
  ))
_sym_db.RegisterMessage(EmptyCartRequest)

GetCartRequest = _reflection.GeneratedProtocolMessageType('GetCartRequest', (_message.Message,), dict(
  DESCRIPTOR = _GETCARTREQUEST,
  __module__ = 'demo_pb2'
  # @@protoc_insertion_point(class_scope:hipstershop.GetCartRequest)
  ))
_sym_db.RegisterMessage(GetCartRequest)

Cart = _reflection.GeneratedProtocolMessageType('Cart', (_message.Message,), dict(
  DESCRIPTOR = _CART,
  __module__ = 'demo_pb2'
  # @@protoc_insertion_point(class_scope:hipstershop.Cart)
  ))
_sym_db.RegisterMessage(Cart)

Empty = _reflection.GeneratedProtocolMessageType('Empty', (_message.Message,), dict(
  DESCRIPTOR = _EMPTY,
  __module__ = 'demo_pb2'
  # @@protoc_insertion_point(class_scope:hipstershop.Empty)
  ))
_sym_db.RegisterMessage(Empty)

ListRecommendationsRequest = _reflection.GeneratedProtocolMessageType('ListRecommendationsRequest', (_message.Message,), dict(
  DESCRIPTOR = _LISTRECOMMENDATIONSREQUEST,
  __module__ = 'demo_pb2'
  # @@protoc_insertion_point(class_scope:hipstershop.ListRecommendationsRequest)
  ))
_sym_db.RegisterMessage(ListRecommendationsRequest)

ListRecommendationsResponse = _reflection.GeneratedProtocolMessageType('ListRecommendationsResponse', (_message.Message,), dict(
  DESCRIPTOR = _LISTRECOMMENDATIONSRESPONSE,
  __module__ = 'demo_pb2'
  # @@protoc_insertion_point(class_scope:hipstershop.ListRecommendationsResponse)
  ))
_sym_db.RegisterMessage(ListRecommendationsResponse)

Product = _reflection.GeneratedProtocolMessageType('Product', (_message.Message,), dict(
  DESCRIPTOR = _PRODUCT,
  __module__ = 'demo_pb2'
  # @@protoc_insertion_point(class_scope:hipstershop.Product)
  ))
_sym_db.RegisterMessage(Product)

ListProductsResponse = _reflection.GeneratedProtocolMessageType('ListProductsResponse', (_message.Message,), dict(
  DESCRIPTOR = _LISTPRODUCTSRESPONSE,
  __module__ = 'demo_pb2'
  # @@protoc_insertion_point(class_scope:hipstershop.ListProductsResponse)
  ))
_sym_db.RegisterMessage(ListProductsResponse)

GetProductRequest = _reflection.GeneratedProtocolMessageType('GetProductRequest', (_message.Message,), dict(
  DESCRIPTOR = _GETPRODUCTREQUEST,
  __module__ = 'demo_pb2'
  # @@protoc_insertion_point(class_scope:hipstershop.GetProductRequest)
  ))
_sym_db.RegisterMessage(GetProductRequest)

SearchProductsRequest = _reflection.GeneratedProtocolMessageType('SearchProductsRequest', (_message.Message,), dict(
  DESCRIPTOR = _SEARCHPRODUCTSREQUEST,
  __module__ = 'demo_pb2'
  # @@protoc_insertion_point(class_scope:hipstershop.SearchProductsRequest)
  ))
_sym_db.RegisterMessage(SearchProductsRequest)

SearchProductsResponse = _reflection.GeneratedProtocolMessageType('SearchProductsResponse', (_message.Message,), dict(
  DESCRIPTOR = _SEARCHPRODUCTSRESPONSE,
  __module__ = 'demo_pb2'
  # @@protoc_insertion_point(class_scope:hipstershop.SearchProductsResponse)
  ))
_sym_db.RegisterMessage(SearchProductsResponse)

GetQuoteRequest = _reflection.GeneratedProtocolMessageType('GetQuoteRequest', (_message.Message,), dict(
  DESCRIPTOR = _GETQUOTEREQUEST,
  __module__ = 'demo_pb2'
  # @@protoc_insertion_point(class_scope:hipstershop.GetQuoteRequest)
  ))
_sym_db.RegisterMessage(GetQuoteRequest)

GetQuoteResponse = _reflection.GeneratedProtocolMessageType('GetQuoteResponse', (_message.Message,), dict(
  DESCRIPTOR = _GETQUOTERESPONSE,
  __module__ = 'demo_pb2'
  # @@protoc_insertion_point(class_scope:hipstershop.GetQuoteResponse)
  ))
_sym_db.RegisterMessage(GetQuoteResponse)

ShipOrderRequest = _reflection.GeneratedProtocolMessageType('ShipOrderRequest', (_message.Message,), dict(
  DESCRIPTOR = _SHIPORDERREQUEST,
  __module__ = 'demo_pb2'
  # @@protoc_insertion_point(class_scope:hipstershop.ShipOrderRequest)
  ))
_sym_db.RegisterMessage(ShipOrderRequest)

ShipOrderResponse = _reflection.GeneratedProtocolMessageType('ShipOrderResponse', (_message.Message,), dict(
  DESCRIPTOR = _SHIPORDERRESPONSE,
  __module__ = 'demo_pb2'
  # @@protoc_insertion_point(class_scope:hipstershop.ShipOrderResponse)
  ))
_sym_db.RegisterMessage(ShipOrderResponse)

Address = _reflection.GeneratedProtocolMessageType('Address', (_message.Message,), dict(
  DESCRIPTOR = _ADDRESS,
  __module__ = 'demo_pb2'
  # @@protoc_insertion_point(class_scope:hipstershop.Address)
  ))
_sym_db.RegisterMessage(Address)

Money = _reflection.GeneratedProtocolMessageType('Money', (_message.Message,), dict(
  DESCRIPTOR = _MONEY,
  __module__ = 'demo_pb2'
  # @@protoc_insertion_point(class_scope:hipstershop.Money)
  ))
_sym_db.RegisterMessage(Money)

GetSupportedCurrenciesResponse = _reflection.GeneratedProtocolMessageType('GetSupportedCurrenciesResponse', (_message.Message,), dict(
  DESCRIPTOR = _GETSUPPORTEDCURRENCIESRESPONSE,
  __module__ = 'demo_pb2'
  # @@protoc_insertion_point(class_scope:hipstershop.GetSupportedCurrenciesResponse)
  ))
_sym_db.RegisterMessage(GetSupportedCurrenciesResponse)

CurrencyConversionRequest = _reflection.GeneratedProtocolMessageType('CurrencyConversionRequest', (_message.Message,), dict(
  DESCRIPTOR = _CURRENCYCONVERSIONREQUEST,
  __module__ = 'demo_pb2'
  # @@protoc_insertion_point(class_scope:hipstershop.CurrencyConversionRequest)
  ))
_sym_db.RegisterMessage(CurrencyConversionRequest)

CreditCardInfo = _reflection.GeneratedProtocolMessageType('CreditCardInfo', (_message.Message,), dict(
  DESCRIPTOR = _CREDITCARDINFO,
  __module__ = 'demo_pb2'
  # @@protoc_insertion_point(class_scope:hipstershop.CreditCardInfo)
  ))
_sym_db.RegisterMessage(CreditCardInfo)

ChargeRequest = _reflection.GeneratedProtocolMessageType('ChargeRequest', (_message.Message,), dict(
  DESCRIPTOR = _CHARGEREQUEST,
  __module__ = 'demo_pb2'
  # @@protoc_insertion_point(class_scope:hipstershop.ChargeRequest)
  ))
_sym_db.RegisterMessage(ChargeRequest)

ChargeResponse = _reflection.GeneratedProtocolMessageType('ChargeResponse', (_message.Message,), dict(
  DESCRIPTOR = _CHARGERESPONSE,
  __module__ = 'demo_pb2'
  # @@protoc_insertion_point(class_scope:hipstershop.ChargeResponse)
  ))
_sym_db.RegisterMessage(ChargeResponse)

OrderItem = _reflection.GeneratedProtocolMessageType('OrderItem', (_message.Message,), dict(
  DESCRIPTOR = _ORDERITEM,
  __module__ = 'demo_pb2'
  # @@protoc_insertion_point(class_scope:hipstershop.OrderItem)
  ))
_sym_db.RegisterMessage(OrderItem)

OrderResult = _reflection.GeneratedProtocolMessageType('OrderResult', (_message.Message,), dict(
  DESCRIPTOR = _ORDERRESULT,
  __module__ = 'demo_pb2'
  # @@protoc_insertion_point(class_scope:hipstershop.OrderResult)
  ))
_sym_db.RegisterMessage(OrderResult)

SendOrderConfirmationRequest = _reflection.GeneratedProtocolMessageType('SendOrderConfirmationRequest', (_message.Message,), dict(
  DESCRIPTOR = _SENDORDERCONFIRMATIONREQUEST,
  __module__ = 'demo_pb2'
  # @@protoc_insertion_point(class_scope:hipstershop.SendOrderConfirmationRequest)
  ))
_sym_db.RegisterMessage(SendOrderConfirmationRequest)

PlaceOrderRequest = _reflection.GeneratedProtocolMessageType('PlaceOrderRequest', (_message.Message,), dict(
  DESCRIPTOR = _PLACEORDERREQUEST,
  __module__ = 'demo_pb2'
  # @@protoc_insertion_point(class_scope:hipstershop.PlaceOrderRequest)
  ))
_sym_db.RegisterMessage(PlaceOrderRequest)

PlaceOrderResponse = _reflection.GeneratedProtocolMessageType('PlaceOrderResponse', (_message.Message,), dict(
  DESCRIPTOR = _PLACEORDERRESPONSE,
  __module__ = 'demo_pb2'
  # @@protoc_insertion_point(class_scope:hipstershop.PlaceOrderResponse)
  ))
_sym_db.RegisterMessage(PlaceOrderResponse)

AdsRequest = _reflection.GeneratedProtocolMessageType('AdsRequest', (_message.Message,), dict(
  DESCRIPTOR = _ADSREQUEST,
  __module__ = 'demo_pb2'
  # @@protoc_insertion_point(class_scope:hipstershop.AdsRequest)
  ))
_sym_db.RegisterMessage(AdsRequest)

AdsResponse = _reflection.GeneratedProtocolMessageType('AdsResponse', (_message.Message,), dict(
  DESCRIPTOR = _ADSRESPONSE,
  __module__ = 'demo_pb2'
  # @@protoc_insertion_point(class_scope:hipstershop.AdsResponse)
  ))
_sym_db.RegisterMessage(AdsResponse)

Ad = _reflection.GeneratedProtocolMessageType('Ad', (_message.Message,), dict(
  DESCRIPTOR = _AD,
  __module__ = 'demo_pb2'
  # @@protoc_insertion_point(class_scope:hipstershop.Ad)
  ))
_sym_db.RegisterMessage(Ad)



_CARTSERVICE = _descriptor.ServiceDescriptor(
  name='CartService',
  full_name='hipstershop.CartService',
  file=DESCRIPTOR,
  index=0,
  options=None,
  serialized_start=2332,
  serialized_end=2534,
  methods=[
  _descriptor.MethodDescriptor(
    name='AddItem',
    full_name='hipstershop.CartService.AddItem',
    index=0,
    containing_service=None,
    input_type=_ADDITEMREQUEST,
    output_type=_EMPTY,
    options=None,
  ),
  _descriptor.MethodDescriptor(
    name='GetCart',
    full_name='hipstershop.CartService.GetCart',
    index=1,
    containing_service=None,
    input_type=_GETCARTREQUEST,
    output_type=_CART,
    options=None,
  ),
  _descriptor.MethodDescriptor(
    name='EmptyCart',
    full_name='hipstershop.CartService.EmptyCart',
    index=2,
    containing_service=None,
    input_type=_EMPTYCARTREQUEST,
    output_type=_EMPTY,
    options=None,
  ),
])
_sym_db.RegisterServiceDescriptor(_CARTSERVICE)

DESCRIPTOR.services_by_name['CartService'] = _CARTSERVICE


_RECOMMENDATIONSERVICE = _descriptor.ServiceDescriptor(
  name='RecommendationService',
  full_name='hipstershop.RecommendationService',
  file=DESCRIPTOR,
  index=1,
  options=None,
  serialized_start=2537,
  serialized_end=2668,
  methods=[
  _descriptor.MethodDescriptor(
    name='ListRecommendations',
    full_name='hipstershop.RecommendationService.ListRecommendations',
    index=0,
    containing_service=None,
    input_type=_LISTRECOMMENDATIONSREQUEST,
    output_type=_LISTRECOMMENDATIONSRESPONSE,
    options=None,
  ),
])
_sym_db.RegisterServiceDescriptor(_RECOMMENDATIONSERVICE)

DESCRIPTOR.services_by_name['RecommendationService'] = _RECOMMENDATIONSERVICE


_PRODUCTCATALOGSERVICE = _descriptor.ServiceDescriptor(
  name='ProductCatalogService',
  full_name='hipstershop.ProductCatalogService',
  file=DESCRIPTOR,
  index=2,
  options=None,
  serialized_start=2671,
  serialized_end=2930,
  methods=[
  _descriptor.MethodDescriptor(
    name='ListProducts',
    full_name='hipstershop.ProductCatalogService.ListProducts',
    index=0,
    containing_service=None,
    input_type=_EMPTY,
    output_type=_LISTPRODUCTSRESPONSE,
    options=None,
  ),
  _descriptor.MethodDescriptor(
    name='GetProduct',
    full_name='hipstershop.ProductCatalogService.GetProduct',
    index=1,
    containing_service=None,
    input_type=_GETPRODUCTREQUEST,
    output_type=_PRODUCT,
    options=None,
  ),
  _descriptor.MethodDescriptor(
    name='SearchProducts',
    full_name='hipstershop.ProductCatalogService.SearchProducts',
    index=2,
    containing_service=None,
    input_type=_SEARCHPRODUCTSREQUEST,
    output_type=_SEARCHPRODUCTSRESPONSE,
    options=None,
  ),
])
_sym_db.RegisterServiceDescriptor(_PRODUCTCATALOGSERVICE)

DESCRIPTOR.services_by_name['ProductCatalogService'] = _PRODUCTCATALOGSERVICE


_SHIPPINGSERVICE = _descriptor.ServiceDescriptor(
  name='ShippingService',
  full_name='hipstershop.ShippingService',
  file=DESCRIPTOR,
  index=3,
  options=None,
  serialized_start=2933,
  serialized_end=3103,
  methods=[
  _descriptor.MethodDescriptor(
    name='GetQuote',
    full_name='hipstershop.ShippingService.GetQuote',
    index=0,
    containing_service=None,
    input_type=_GETQUOTEREQUEST,
    output_type=_GETQUOTERESPONSE,
    options=None,
  ),
  _descriptor.MethodDescriptor(
    name='ShipOrder',
    full_name='hipstershop.ShippingService.ShipOrder',
    index=1,
    containing_service=None,
    input_type=_SHIPORDERREQUEST,
    output_type=_SHIPORDERRESPONSE,
    options=None,
  ),
])
_sym_db.RegisterServiceDescriptor(_SHIPPINGSERVICE)

DESCRIPTOR.services_by_name['ShippingService'] = _SHIPPINGSERVICE


_CURRENCYSERVICE = _descriptor.ServiceDescriptor(
  name='CurrencyService',
  full_name='hipstershop.CurrencyService',
  file=DESCRIPTOR,
  index=4,
  options=None,
  serialized_start=3106,
  serialized_end=3289,
  methods=[
  _descriptor.MethodDescriptor(
    name='GetSupportedCurrencies',
    full_name='hipstershop.CurrencyService.GetSupportedCurrencies',
    index=0,
    containing_service=None,
    input_type=_EMPTY,
    output_type=_GETSUPPORTEDCURRENCIESRESPONSE,
    options=None,
  ),
  _descriptor.MethodDescriptor(
    name='Convert',
    full_name='hipstershop.CurrencyService.Convert',
    index=1,
    containing_service=None,
    input_type=_CURRENCYCONVERSIONREQUEST,
    output_type=_MONEY,
    options=None,
  ),
])
_sym_db.RegisterServiceDescriptor(_CURRENCYSERVICE)

DESCRIPTOR.services_by_name['CurrencyService'] = _CURRENCYSERVICE


_PAYMENTSERVICE = _descriptor.ServiceDescriptor(
  name='PaymentService',
  full_name='hipstershop.PaymentService',
  file=DESCRIPTOR,
  index=5,
  options=None,
  serialized_start=3291,
  serialized_end=3376,
  methods=[
  _descriptor.MethodDescriptor(
    name='Charge',
    full_name='hipstershop.PaymentService.Charge',
    index=0,
    containing_service=None,
    input_type=_CHARGEREQUEST,
    output_type=_CHARGERESPONSE,
    options=None,
  ),
])
_sym_db.RegisterServiceDescriptor(_PAYMENTSERVICE)

DESCRIPTOR.services_by_name['PaymentService'] = _PAYMENTSERVICE


_EMAILSERVICE = _descriptor.ServiceDescriptor(
  name='EmailService',
  full_name='hipstershop.EmailService',
  file=DESCRIPTOR,
  index=6,
  options=None,
  serialized_start=3378,
  serialized_end=3482,
  methods=[
  _descriptor.MethodDescriptor(
    name='SendOrderConfirmation',
    full_name='hipstershop.EmailService.SendOrderConfirmation',
    index=0,
    containing_service=None,
    input_type=_SENDORDERCONFIRMATIONREQUEST,
    output_type=_EMPTY,
    options=None,
  ),
])
_sym_db.RegisterServiceDescriptor(_EMAILSERVICE)

DESCRIPTOR.services_by_name['EmailService'] = _EMAILSERVICE


_CHECKOUTSERVICE = _descriptor.ServiceDescriptor(
  name='CheckoutService',
  full_name='hipstershop.CheckoutService',
  file=DESCRIPTOR,
  index=7,
  options=None,
  serialized_start=3484,
  serialized_end=3582,
  methods=[
  _descriptor.MethodDescriptor(
    name='PlaceOrder',
    full_name='hipstershop.CheckoutService.PlaceOrder',
    index=0,
    containing_service=None,
    input_type=_PLACEORDERREQUEST,
    output_type=_PLACEORDERRESPONSE,
    options=None,
  ),
])
_sym_db.RegisterServiceDescriptor(_CHECKOUTSERVICE)

DESCRIPTOR.services_by_name['CheckoutService'] = _CHECKOUTSERVICE


_ADSSERVICE = _descriptor.ServiceDescriptor(
  name='AdsService',
  full_name='hipstershop.AdsService',
  file=DESCRIPTOR,
  index=8,
  options=None,
  serialized_start=3584,
  serialized_end=3659,
  methods=[
  _descriptor.MethodDescriptor(
    name='GetAds',
    full_name='hipstershop.AdsService.GetAds',
    index=0,
    containing_service=None,
    input_type=_ADSREQUEST,
    output_type=_ADSRESPONSE,
    options=None,
  ),
])
_sym_db.RegisterServiceDescriptor(_ADSSERVICE)

DESCRIPTOR.services_by_name['AdsService'] = _ADSSERVICE

# @@protoc_insertion_point(module_scope)