From 8e6f0ddf3eefd8b41fc86ab49386468a70abea39 Mon Sep 17 00:00:00 2001 From: leancloud-bot Date: Wed, 13 Apr 2022 18:04:21 +0800 Subject: [PATCH] 0.10.8 --- Plugins.meta | 8 + Plugins/LC.Google.Protobuf.dll | Bin 0 -> 358912 bytes Plugins/LC.Google.Protobuf.dll.meta | 33 + Plugins/LC.Google.Protobuf.pdb | Bin 0 -> 142288 bytes Plugins/LC.Google.Protobuf.pdb.meta | 7 + Plugins/LC.Google.Protobuf.xml | 9125 +++++++++++++++++++++++++++ Plugins/LC.Google.Protobuf.xml.meta | 7 + Plugins/LiveQuery.deps.json | 111 + Plugins/LiveQuery.deps.json.meta | 7 + Plugins/LiveQuery.dll | Bin 0 -> 22016 bytes Plugins/LiveQuery.dll.meta | 33 + Plugins/LiveQuery.pdb | Bin 0 -> 12328 bytes Plugins/LiveQuery.pdb.meta | 7 + Plugins/Realtime.dll | Bin 0 -> 299008 bytes Plugins/Realtime.dll.meta | 33 + Plugins/Realtime.pdb | Bin 0 -> 105448 bytes Plugins/Realtime.pdb.meta | 7 + Plugins/link.xml | 10 + Plugins/link.xml.meta | 7 + package.json | 16 + package.json.meta | 7 + 21 files changed, 9418 insertions(+) create mode 100644 Plugins.meta create mode 100644 Plugins/LC.Google.Protobuf.dll create mode 100644 Plugins/LC.Google.Protobuf.dll.meta create mode 100644 Plugins/LC.Google.Protobuf.pdb create mode 100644 Plugins/LC.Google.Protobuf.pdb.meta create mode 100644 Plugins/LC.Google.Protobuf.xml create mode 100644 Plugins/LC.Google.Protobuf.xml.meta create mode 100644 Plugins/LiveQuery.deps.json create mode 100644 Plugins/LiveQuery.deps.json.meta create mode 100644 Plugins/LiveQuery.dll create mode 100644 Plugins/LiveQuery.dll.meta create mode 100644 Plugins/LiveQuery.pdb create mode 100644 Plugins/LiveQuery.pdb.meta create mode 100644 Plugins/Realtime.dll create mode 100644 Plugins/Realtime.dll.meta create mode 100644 Plugins/Realtime.pdb create mode 100644 Plugins/Realtime.pdb.meta create mode 100644 Plugins/link.xml create mode 100644 Plugins/link.xml.meta create mode 100644 package.json create mode 100644 package.json.meta diff --git a/Plugins.meta b/Plugins.meta new file mode 100644 index 0000000..05bf4fb --- /dev/null +++ b/Plugins.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 36a743207a9824d59a7e688184d13642 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Plugins/LC.Google.Protobuf.dll b/Plugins/LC.Google.Protobuf.dll new file mode 100644 index 0000000000000000000000000000000000000000..82aa15a1ac051680f31d6ac0e55648c341af36f8 GIT binary patch literal 358912 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

-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 bQVPzvgE2 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

Vv>2q<>Z&hPsLh}- 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 literal 0 HcmV?d00001 diff --git a/Plugins/LC.Google.Protobuf.dll.meta b/Plugins/LC.Google.Protobuf.dll.meta new file mode 100644 index 0000000..22b5759 --- /dev/null +++ b/Plugins/LC.Google.Protobuf.dll.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: c01da599d1d14489fa7e297168be3fa9 +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 0 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 1 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: diff --git a/Plugins/LC.Google.Protobuf.pdb b/Plugins/LC.Google.Protobuf.pdb new file mode 100644 index 0000000000000000000000000000000000000000..f4054fdf16535b35fe66baeb28dd17d8d5ac8ff9 GIT binary patch literal 142288 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 RESVV>UsV>(iBIg;{vWa3XSDzT literal 0 HcmV?d00001 diff --git a/Plugins/LC.Google.Protobuf.pdb.meta b/Plugins/LC.Google.Protobuf.pdb.meta new file mode 100644 index 0000000..5fe72a8 --- /dev/null +++ b/Plugins/LC.Google.Protobuf.pdb.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: d57aea9a589894bce97bed9eb320f7f8 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Plugins/LC.Google.Protobuf.xml b/Plugins/LC.Google.Protobuf.xml new file mode 100644 index 0000000..0a7b479 --- /dev/null +++ b/Plugins/LC.Google.Protobuf.xml @@ -0,0 +1,9125 @@ + + + + LC.Google.Protobuf + + + +

+ Provides a utility routine to copy small arrays much more quickly than Buffer.BlockCopy + + + + + The threshold above which you should use Buffer.BlockCopy rather than ByteArray.Copy + + + + + Determines which copy routine to use based on the number of bytes to be copied. + + + + + Reverses the order of bytes in the array + + + + + Immutable array of bytes. + + + + + Unsafe operations that can cause IO Failure and/or other catastrophic side-effects. + + + + + Constructs a new ByteString from the given byte array. The array is + *not* copied, and must not be modified after this constructor is called. + + + + + Internal use only. Ensure that the provided array is not mutated and belongs to this instance. + + + + + Constructs a new ByteString from the given byte array. The array is + *not* copied, and must not be modified after this constructor is called. + + + + + Returns an empty ByteString. + + + + + Returns the length of this ByteString in bytes. + + + + + Returns true if this byte string is empty, false otherwise. + + + + + Converts this into a byte array. + + The data is copied - changes to the returned array will not be reflected in this ByteString. + A byte array with the same data as this ByteString. + + + + Converts this into a standard base64 representation. + + A base64 representation of this ByteString. + + + + Constructs a from the Base64 Encoded String. + + + + + Constructs a from data in the given stream, synchronously. + + If successful, will be read completely, from the position + at the start of the call. + The stream to copy into a ByteString. + A ByteString with content read from the given stream. + + + + Constructs a from data in the given stream, asynchronously. + + If successful, will be read completely, from the position + at the start of the call. + The stream to copy into a ByteString. + The cancellation token to use when reading from the stream, if any. + A ByteString with content read from the given stream. + + + + Constructs a from the given array. The contents + are copied, so further modifications to the array will not + be reflected in the returned ByteString. + This method can also be invoked in ByteString.CopyFrom(0xaa, 0xbb, ...) form + which is primarily useful for testing. + + + + + Constructs a from a portion of a byte array. + + + + + Creates a new by encoding the specified text with + the given encoding. + + + + + Creates a new by encoding the specified text in UTF-8. + + + + + Retuns the byte at the given index. + + + + + Converts this into a string by applying the given encoding. + + + This method should only be used to convert binary data which was the result of encoding + text with the given encoding. + + The encoding to use to decode the binary data into text. + The result of decoding the binary data with the given decoding. + + + + Converts this into a string by applying the UTF-8 encoding. + + + This method should only be used to convert binary data which was the result of encoding + text with UTF-8. + + The result of decoding the binary data with the given decoding. + + + + Returns an iterator over the bytes in this . + + An iterator over the bytes in this object. + + + + Returns an iterator over the bytes in this . + + An iterator over the bytes in this object. + + + + Creates a CodedInputStream from this ByteString's data. + + + + + Compares two byte strings for equality. + + The first byte string to compare. + The second byte string to compare. + true if the byte strings are equal; false otherwise. + + + + Compares two byte strings for inequality. + + The first byte string to compare. + The second byte string to compare. + false if the byte strings are equal; true otherwise. + + + + Compares this byte string with another object. + + The object to compare this with. + true if refers to an equal ; false otherwise. + + + + Returns a hash code for this object. Two equal byte strings + will return the same hash code. + + A hash code for this object. + + + + Compares this byte string with another. + + The to compare this with. + true if refers to an equal byte string; false otherwise. + + + + Used internally by CodedOutputStream to avoid creating a copy for the write + + + + + Copies the entire byte array to the destination array provided at the offset specified. + + + + + Writes the entire byte array to the provided stream + + + + + Reads and decodes protocol message fields. + + + + This class is generally used by generated code to read appropriate + primitives from the stream. It effectively encapsulates the lowest + levels of protocol buffer format. + + + Repeated fields and map fields are not handled by this class; use + and to serialize such fields. + + + + + + Whether to leave the underlying stream open when disposing of this stream. + This is always true when there's no stream. + + + + + Buffer of data read from the stream or provided at construction time. + + + + + The index of the buffer at which we need to refill from the stream (if there is one). + + + + + The position within the current buffer (i.e. the next byte to read) + + + + + The stream to read further input from, or null if the byte array buffer was provided + directly on construction, with no further data available. + + + + + The last tag we read. 0 indicates we've read to the end of the stream + (or haven't read anything yet). + + + + + The next tag, used to store the value read by PeekTag. + + + + + The total number of bytes read before the current buffer. The + total bytes read up to the current position can be computed as + totalBytesRetired + bufferPos. + + + + + The absolute position of the end of the current message. + + + + + Creates a new CodedInputStream reading data from the given byte array. + + + + + Creates a new that reads from the given byte array slice. + + + + + Creates a new reading data from the given stream, which will be disposed + when the returned object is disposed. + + The stream to read from. + + + + Creates a new reading data from the given stream. + + The stream to read from. + true to leave open when the returned + is disposed; false to dispose of the given stream when the + returned object is disposed. + + + + Creates a new CodedInputStream reading data from the given + stream and buffer, using the default limits. + + + + + Creates a new CodedInputStream reading data from the given + stream and buffer, using the specified limits. + + + This chains to the version with the default limits instead of vice versa to avoid + having to check that the default values are valid every time. + + + + + Creates a with the specified size and recursion limits, reading + from an input stream. + + + This method exists separately from the constructor to reduce the number of constructor overloads. + It is likely to be used considerably less frequently than the constructors, as the default limits + are suitable for most use cases. + + The input stream to read from + The total limit of data to read from the stream. + The maximum recursion depth to allow while reading. + A CodedInputStream reading from with the specified size + and recursion limits. + + + + Returns the current position in the input stream, or the position in the input buffer + + + + + Returns the last tag read, or 0 if no tags have been read or we've read beyond + the end of the stream. + + + + + Returns the size limit for this stream. + + + This limit is applied when reading from the underlying stream, as a sanity check. It is + not applied when reading from a byte array data source without an underlying stream. + The default value is Int32.MaxValue. + + + The size limit. + + + + + Returns the recursion limit for this stream. This limit is applied whilst reading messages, + to avoid maliciously-recursive data. + + + The default limit is 100. + + + The recursion limit for this stream. + + + + + Internal-only property; when set to true, unknown fields will be discarded while parsing. + + + + + Internal-only property; provides extension identifiers to compatible messages while parsing. + + + + + Disposes of this instance, potentially closing any underlying stream. + + + As there is no flushing to perform here, disposing of a which + was constructed with the leaveOpen option parameter set to true (or one which + was constructed to read from a byte array) has no effect. + + + + + Verifies that the last call to ReadTag() returned tag 0 - in other words, + we've reached the end of the stream when we expected to. + + The + tag read was not the one specified + + + + Peeks at the next field tag. This is like calling , but the + tag is not consumed. (So a subsequent call to will return the + same value.) + + + + + Reads a field tag, returning the tag of 0 for "end of stream". + + + If this method returns 0, it doesn't necessarily mean the end of all + the data in this CodedInputStream; it may be the end of the logical stream + for an embedded message, for example. + + The next field tag, or 0 for end of stream. (0 is never a valid tag.) + + + + Skips the data for the field with the tag we've just read. + This should be called directly after , when + the caller wishes to skip an unknown field. + + + This method throws if the last-read tag was an end-group tag. + If a caller wishes to skip a group, they should skip the whole group, by calling this method after reading the + start-group tag. This behavior allows callers to call this method on any field they don't understand, correctly + resulting in an error if an end-group tag has not been paired with an earlier start-group tag. + + The last tag was an end-group tag + The last read operation read to the end of the logical stream + + + + Skip a group. + + + + + Reads a double field from the stream. + + + + + Reads a float field from the stream. + + + + + Reads a uint64 field from the stream. + + + + + Reads an int64 field from the stream. + + + + + Reads an int32 field from the stream. + + + + + Reads a fixed64 field from the stream. + + + + + Reads a fixed32 field from the stream. + + + + + Reads a bool field from the stream. + + + + + Reads a string field from the stream. + + + + + Reads an embedded message field value from the stream. + + + + + Reads an embedded group field from the stream. + + + + + Reads an embedded group unknown field from the stream. + + + + + Reads a bytes field value from the stream. + + + + + Reads a uint32 field value from the stream. + + + + + Reads an enum field value from the stream. + + + + + Reads an sfixed32 field value from the stream. + + + + + Reads an sfixed64 field value from the stream. + + + + + Reads an sint32 field value from the stream. + + + + + Reads an sint64 field value from the stream. + + + + + Reads a length for length-delimited data. + + + This is internally just reading a varint, but this method exists + to make the calling code clearer. + + + + + Peeks at the next tag in the stream. If it matches , + the tag is consumed and the method returns true; otherwise, the + stream is left in the original position and the method returns false. + + + + + Same code as ReadRawVarint32, but read each byte individually, checking for + buffer overflow. + + + + + Reads a raw Varint from the stream. If larger than 32 bits, discard the upper bits. + This method is optimised for the case where we've got lots of data in the buffer. + That means we can check the size just once, then just read directly from the buffer + without constant rechecking of the buffer length. + + + + + Reads a varint from the input one byte at a time, so that it does not + read any bytes after the end of the varint. If you simply wrapped the + stream in a CodedInputStream and used ReadRawVarint32(Stream) + then you would probably end up reading past the end of the varint since + CodedInputStream buffers its input. + + + + + + + Reads a raw varint from the stream. + + + + + Reads a 32-bit little-endian integer from the stream. + + + + + Reads a 64-bit little-endian integer from the stream. + + + + + Decode a 32-bit value with ZigZag encoding. + + + ZigZag encodes signed integers into values that can be efficiently + encoded with varint. (Otherwise, negative values must be + sign-extended to 64 bits to be varint encoded, thus always taking + 10 bytes on the wire.) + + + + + Decode a 32-bit value with ZigZag encoding. + + + ZigZag encodes signed integers into values that can be efficiently + encoded with varint. (Otherwise, negative values must be + sign-extended to 64 bits to be varint encoded, thus always taking + 10 bytes on the wire.) + + + + + Sets currentLimit to (current position) + byteLimit. This is called + when descending into a length-delimited embedded message. The previous + limit is returned. + + The old limit. + + + + Discards the current limit, returning the previous limit. + + + + + Returns whether or not all the data before the limit has been read. + + + + + + Returns true if the stream has reached the end of the input. This is the + case if either the end of the underlying input source has been reached or + the stream has reached a limit created using PushLimit. + + + + + Called when buffer is empty to read more bytes from the + input. If is true, RefillBuffer() gurantees that + either there will be at least one byte in the buffer when it returns + or it will throw an exception. If is false, + RefillBuffer() returns false if no more bytes were available. + + + + + + + Read one byte from the input. + + + the end of the stream or the current limit was reached + + + + + Reads a fixed size of bytes from the input. + + + the end of the stream or the current limit was reached + + + + + Reads and discards bytes. + + the end of the stream + or the current limit was reached + + + + Abstraction of skipping to cope with streams which can't really skip. + + + + + Encodes and writes protocol message fields. + + + + This class is generally used by generated code to write appropriate + primitives to the stream. It effectively encapsulates the lowest + levels of protocol buffer format. Unlike some other implementations, + this does not include combined "write tag and value" methods. Generated + code knows the exact byte representations of the tags they're going to write, + so there's no need to re-encode them each time. Manually-written code calling + this class should just call one of the WriteTag overloads before each value. + + + Repeated fields and map fields are not handled by this class; use RepeatedField<T> + and MapField<TKey, TValue> to serialize such fields. + + + + + + Computes the number of bytes that would be needed to encode a + double field, including the tag. + + + + + Computes the number of bytes that would be needed to encode a + float field, including the tag. + + + + + Computes the number of bytes that would be needed to encode a + uint64 field, including the tag. + + + + + Computes the number of bytes that would be needed to encode an + int64 field, including the tag. + + + + + Computes the number of bytes that would be needed to encode an + int32 field, including the tag. + + + + + Computes the number of bytes that would be needed to encode a + fixed64 field, including the tag. + + + + + Computes the number of bytes that would be needed to encode a + fixed32 field, including the tag. + + + + + Computes the number of bytes that would be needed to encode a + bool field, including the tag. + + + + + Computes the number of bytes that would be needed to encode a + string field, including the tag. + + + + + Computes the number of bytes that would be needed to encode a + group field, including the tag. + + + + + Computes the number of bytes that would be needed to encode an + embedded message field, including the tag. + + + + + Computes the number of bytes that would be needed to encode a + bytes field, including the tag. + + + + + Computes the number of bytes that would be needed to encode a + uint32 field, including the tag. + + + + + Computes the number of bytes that would be needed to encode a + enum field, including the tag. The caller is responsible for + converting the enum value to its numeric value. + + + + + Computes the number of bytes that would be needed to encode an + sfixed32 field, including the tag. + + + + + Computes the number of bytes that would be needed to encode an + sfixed64 field, including the tag. + + + + + Computes the number of bytes that would be needed to encode an + sint32 field, including the tag. + + + + + Computes the number of bytes that would be needed to encode an + sint64 field, including the tag. + + + + + Computes the number of bytes that would be needed to encode a length, + as written by . + + + + + Computes the number of bytes that would be needed to encode a varint. + + + + + Computes the number of bytes that would be needed to encode a varint. + + + + + Computes the number of bytes that would be needed to encode a tag. + + + + + The buffer size used by CreateInstance(Stream). + + + + + Creates a new CodedOutputStream that writes directly to the given + byte array. If more bytes are written than fit in the array, + OutOfSpaceException will be thrown. + + + + + Creates a new CodedOutputStream that writes directly to the given + byte array slice. If more bytes are written than fit in the array, + OutOfSpaceException will be thrown. + + + + + Creates a new which write to the given stream, and disposes of that + stream when the returned CodedOutputStream is disposed. + + The stream to write to. It will be disposed when the returned CodedOutputStream is disposed. + + + + Creates a new CodedOutputStream which write to the given stream and uses + the specified buffer size. + + The stream to write to. It will be disposed when the returned CodedOutputStream is disposed. + The size of buffer to use internally. + + + + Creates a new CodedOutputStream which write to the given stream. + + The stream to write to. + If true, is left open when the returned CodedOutputStream is disposed; + if false, the provided stream is disposed as well. + + + + Creates a new CodedOutputStream which write to the given stream and uses + the specified buffer size. + + The stream to write to. + The size of buffer to use internally. + If true, is left open when the returned CodedOutputStream is disposed; + if false, the provided stream is disposed as well. + + + + Returns the current position in the stream, or the position in the output buffer + + + + + Writes a double field value, without a tag, to the stream. + + The value to write + + + + Writes a float field value, without a tag, to the stream. + + The value to write + + + + Writes a uint64 field value, without a tag, to the stream. + + The value to write + + + + Writes an int64 field value, without a tag, to the stream. + + The value to write + + + + Writes an int32 field value, without a tag, to the stream. + + The value to write + + + + Writes a fixed64 field value, without a tag, to the stream. + + The value to write + + + + Writes a fixed32 field value, without a tag, to the stream. + + The value to write + + + + Writes a bool field value, without a tag, to the stream. + + The value to write + + + + Writes a string field value, without a tag, to the stream. + The data is length-prefixed. + + The value to write + + + + Writes a message, without a tag, to the stream. + The data is length-prefixed. + + The value to write + + + + Writes a group, without a tag, to the stream. + + The value to write + + + + Write a byte string, without a tag, to the stream. + The data is length-prefixed. + + The value to write + + + + Writes a uint32 value, without a tag, to the stream. + + The value to write + + + + Writes an enum value, without a tag, to the stream. + + The value to write + + + + Writes an sfixed32 value, without a tag, to the stream. + + The value to write. + + + + Writes an sfixed64 value, without a tag, to the stream. + + The value to write + + + + Writes an sint32 value, without a tag, to the stream. + + The value to write + + + + Writes an sint64 value, without a tag, to the stream. + + The value to write + + + + Writes a length (in bytes) for length-delimited data. + + + This method simply writes a rawint, but exists for clarity in calling code. + + Length value, in bytes. + + + + Encodes and writes a tag. + + The number of the field to write the tag for + The wire format type of the tag to write + + + + Writes an already-encoded tag. + + The encoded tag + + + + Writes the given single-byte tag directly to the stream. + + The encoded tag + + + + Writes the given two-byte tag directly to the stream. + + The first byte of the encoded tag + The second byte of the encoded tag + + + + Writes the given three-byte tag directly to the stream. + + The first byte of the encoded tag + The second byte of the encoded tag + The third byte of the encoded tag + + + + Writes the given four-byte tag directly to the stream. + + The first byte of the encoded tag + The second byte of the encoded tag + The third byte of the encoded tag + The fourth byte of the encoded tag + + + + Writes the given five-byte tag directly to the stream. + + The first byte of the encoded tag + The second byte of the encoded tag + The third byte of the encoded tag + The fourth byte of the encoded tag + The fifth byte of the encoded tag + + + + Writes a 32 bit value as a varint. The fast route is taken when + there's enough buffer space left to whizz through without checking + for each byte; otherwise, we resort to calling WriteRawByte each time. + + + + + Writes out an array of bytes. + + + + + Writes out part of an array of bytes. + + + + + Encode a 32-bit value with ZigZag encoding. + + + ZigZag encodes signed integers into values that can be efficiently + encoded with varint. (Otherwise, negative values must be + sign-extended to 64 bits to be varint encoded, thus always taking + 10 bytes on the wire.) + + + + + Encode a 64-bit value with ZigZag encoding. + + + ZigZag encodes signed integers into values that can be efficiently + encoded with varint. (Otherwise, negative values must be + sign-extended to 64 bits to be varint encoded, thus always taking + 10 bytes on the wire.) + + + + + Indicates that a CodedOutputStream wrapping a flat byte array + ran out of space. + + + + + Flushes any buffered data and optionally closes the underlying stream, if any. + + + + By default, any underlying stream is closed by this method. To configure this behaviour, + use a constructor overload with a leaveOpen parameter. If this instance does not + have an underlying stream, this method does nothing. + + + For the sake of efficiency, calling this method does not prevent future write calls - but + if a later write ends up writing to a stream which has been disposed, that is likely to + fail. It is recommend that you not call any other methods after this. + + + + + + Flushes any buffered data to the underlying stream (if there is one). + + + + + Verifies that SpaceLeft returns zero. It's common to create a byte array + that is exactly big enough to hold a message, then write to it with + a CodedOutputStream. Calling CheckNoSpaceLeft after writing verifies that + the message was actually as big as expected, which can help bugs. + + + + + If writing to a flat array, returns the space left in the array. Otherwise, + throws an InvalidOperationException. + + + + + Utility to compare if two Lists are the same, and the hash code + of a List. + + + + + Checks if two lists are equal. + + + + + Gets the list's hash code. + + + + + Representation of a map field in a Protocol Buffer message. + + Key type in the map. Must be a type supported by Protocol Buffer map keys. + Value type in the map. Must be a type supported by Protocol Buffers. + + + For string keys, the equality comparison is provided by . + + + Null values are not permitted in the map, either for wrapper types or regular messages. + If a map is deserialized from a data stream and the value is missing from an entry, a default value + is created instead. For primitive types, that is the regular default value (0, the empty string and so + on); for message types, an empty instance of the message is created, as if the map entry contained a 0-length + encoded value for the field. + + + This implementation does not generally prohibit the use of key/value types which are not + supported by Protocol Buffers (e.g. using a key type of byte) but nor does it guarantee + that all operations will work in such cases. + + + The order in which entries are returned when iterating over this object is undefined, and may change + in future versions. + + + + + + Creates a deep clone of this object. + + + A deep clone of this object. + + + + + Adds the specified key/value pair to the map. + + + This operation fails if the key already exists in the map. To replace an existing entry, use the indexer. + + The key to add + The value to add. + The given key already exists in map. + + + + Determines whether the specified key is present in the map. + + The key to check. + true if the map contains the given key; false otherwise. + + + + Removes the entry identified by the given key from the map. + + The key indicating the entry to remove from the map. + true if the map contained the given key before the entry was removed; false otherwise. + + + + Gets the value associated with the specified key. + + The key whose value to get. + When this method returns, the value associated with the specified key, if the key is found; + otherwise, the default value for the type of the parameter. + This parameter is passed uninitialized. + true if the map contains an element with the specified key; otherwise, false. + + + + Gets or sets the value associated with the specified key. + + The key of the value to get or set. + The property is retrieved and key does not exist in the collection. + The value associated with the specified key. If the specified key is not found, + a get operation throws a , and a set operation creates a new element with the specified key. + + + + Gets a collection containing the keys in the map. + + + + + Gets a collection containing the values in the map. + + + + + Adds the specified entries to the map. The keys and values are not automatically cloned. + + The entries to add to the map. + + + + Returns an enumerator that iterates through the collection. + + + An enumerator that can be used to iterate through the collection. + + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + + + + Adds the specified item to the map. + + The item to add to the map. + + + + Removes all items from the map. + + + + + Determines whether map contains an entry equivalent to the given key/value pair. + + The key/value pair to find. + + + + + Copies the key/value pairs in this map to an array. + + The array to copy the entries into. + The index of the array at which to start copying values. + + + + Removes the specified key/value pair from the map. + + Both the key and the value must be found for the entry to be removed. + The key/value pair to remove. + true if the key/value pair was found and removed; false otherwise. + + + + Gets the number of elements contained in the map. + + + + + Gets a value indicating whether the map is read-only. + + + + + Determines whether the specified , is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Compares this map with another for equality. + + + The order of the key/value pairs in the maps is not deemed significant in this comparison. + + The map to compare this with. + true if refers to an equal map; false otherwise. + + + + Adds entries to the map from the given stream. + + + It is assumed that the stream is initially positioned after the tag specified by the codec. + This method will continue reading entries from the stream until the end is reached, or + a different tag is encountered. + + Stream to read from + Codec describing how the key/value pairs are encoded + + + + Writes the contents of this map to the given coded output stream, using the specified codec + to encode each entry. + + The output stream to write to. + The codec to use for each entry. + + + + Calculates the size of this map based on the given entry codec. + + The codec to use to encode each entry. + + + + + Returns a string representation of this repeated field, in the same + way as it would be represented by the default JSON formatter. + + + + + A codec for a specific map field. This contains all the information required to encode and + decode the nested messages. + + + + + Creates a new entry codec based on a separate key codec and value codec, + and the tag to use for each map entry. + + The key codec. + The value codec. + The map tag to use to introduce each map entry. + + + + The tag used in the enclosing message to indicate map entries. + + + + + A mutable message class, used for parsing and serializing. This + delegates the work to a codec, but implements the interface + for interop with and . + This is nested inside Codec as it's tightly coupled to the associated codec, + and it's simpler if it has direct access to all its fields. + + + + + Provides a central place to implement equality comparisons, primarily for bitwise float/double equality. + + + + + Returns an equality comparer for suitable for Protobuf equality comparisons. + This is usually just the default equality comparer for the type, but floating point numbers are compared + bitwise. + + The type of equality comparer to return. + The equality comparer. + + + + Returns an equality comparer suitable for comparing 64-bit floating point values, by bitwise comparison. + (NaN values are considered equal, but only when they have the same representation.) + + + + + Returns an equality comparer suitable for comparing 32-bit floating point values, by bitwise comparison. + (NaN values are considered equal, but only when they have the same representation.) + + + + + Returns an equality comparer suitable for comparing nullable 64-bit floating point values, by bitwise comparison. + (NaN values are considered equal, but only when they have the same representation.) + + + + + Returns an equality comparer suitable for comparing nullable 32-bit floating point values, by bitwise comparison. + (NaN values are considered equal, but only when they have the same representation.) + + + + + Read-only wrapper around another dictionary. + + + + + The contents of a repeated field: essentially, a collection with some extra + restrictions (no null values) and capabilities (deep cloning). + + + This implementation does not generally prohibit the use of types which are not + supported by Protocol Buffers but nor does it guarantee that all operations will work in such cases. + + The element type of the repeated field. + + + + Creates a deep clone of this repeated field. + + + If the field type is + a message type, each element is also cloned; otherwise, it is + assumed that the field type is primitive (including string and + bytes, both of which are immutable) and so a simple copy is + equivalent to a deep clone. + + A deep clone of this repeated field. + + + + Adds the entries from the given input stream, decoding them with the specified codec. + + The input stream to read from. + The codec to use in order to read each entry. + + + + Calculates the size of this collection based on the given codec. + + The codec to use when encoding each field. + The number of bytes that would be written to a by , + using the same codec. + + + + Writes the contents of this collection to the given , + encoding each value using the specified codec. + + The output stream to write to. + The codec to use when encoding each value. + + + + Gets and sets the capacity of the RepeatedField's internal array. WHen set, the internal array is reallocated to the given capacity. + The new value is less than Count -or- when Count is less than 0. + + + + + Adds the specified item to the collection. + + The item to add. + + + + Removes all items from the collection. + + + + + Determines whether this collection contains the given item. + + The item to find. + true if this collection contains the given item; false otherwise. + + + + Copies this collection to the given array. + + The array to copy to. + The first index of the array to copy to. + + + + Removes the specified item from the collection + + The item to remove. + true if the item was found and removed; false otherwise. + + + + Gets the number of elements contained in the collection. + + + + + Gets a value indicating whether the collection is read-only. + + + + + Adds all of the specified values into this collection. + + The values to add to this collection. + + + + Adds all of the specified values into this collection. This method is present to + allow repeated fields to be constructed from queries within collection initializers. + Within non-collection-initializer code, consider using the equivalent + method instead for clarity. + + The values to add to this collection. + + + + Returns an enumerator that iterates through the collection. + + + An enumerator that can be used to iterate through the collection. + + + + + Determines whether the specified , is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Compares this repeated field with another for equality. + + The repeated field to compare this with. + true if refers to an equal repeated field; false otherwise. + + + + Returns the index of the given item within the collection, or -1 if the item is not + present. + + The item to find in the collection. + The zero-based index of the item, or -1 if it is not found. + + + + Inserts the given item at the specified index. + + The index at which to insert the item. + The item to insert. + + + + Removes the item at the given index. + + The zero-based index of the item to remove. + + + + Returns a string representation of this repeated field, in the same + way as it would be represented by the default JSON formatter. + + + + + Gets or sets the item at the specified index. + + + The element at the specified index. + + The zero-based index of the element to get or set. + The item at the specified index. + + + + Extension methods for , effectively providing + the familiar members from previous desktop framework versions while + targeting the newer releases, .NET Core etc. + + + + + Returns the public getter of a property, or null if there is no such getter + (either because it's read-only, or the getter isn't public). + + + + + Returns the public setter of a property, or null if there is no such setter + (either because it's write-only, or the setter isn't public). + + + + + Provides extension methods on Type that just proxy to TypeInfo. + These are used to support the new type system from .NET 4.5, without + having calls to GetTypeInfo all over the place. While the methods here are meant to be + broadly compatible with the desktop framework, there are some subtle differences in behaviour - but + they're not expected to affect our use cases. While the class is internal, that should be fine: we can + evaluate each new use appropriately. + + + + + See https://msdn.microsoft.com/en-us/library/system.type.isassignablefrom + + + + + Returns a representation of the public property associated with the given name in the given type, + including inherited properties or null if there is no such public property. + Here, "public property" means a property where either the getter, or the setter, or both, is public. + + + + + Returns a representation of the public method associated with the given name in the given type, + including inherited methods. + + + This has a few differences compared with Type.GetMethod in the desktop framework. It will throw + if there is an ambiguous match even between a private method and a public one, but it *won't* throw + if there are two overloads at different levels in the type hierarchy (e.g. class Base declares public void Foo(int) and + class Child : Base declares public void Foo(long)). + + One type in the hierarchy declared more than one method with the same name + + + + Represents a non-generic extension definition. This API is experimental and subject to change. + + + + + Internal use. Creates a new extension with the specified field number. + + + + + Gets the field number of this extension + + + + + Represents a type-safe extension identifier used for getting and setting single extension values in instances. + This API is experimental and subject to change. + + The message type this field applies to + The field value type of this extension + + + + Creates a new extension identifier with the specified field number and codec + + + + + Represents a type-safe extension identifier used for getting repeated extension values in instances. + This API is experimental and subject to change. + + The message type this field applies to + The repeated field value type of this extension + + + + Creates a new repeated extension identifier with the specified field number and codec + + + + + Provides extensions to messages while parsing. This API is experimental and subject to change. + + + + + Creates a new empty extension registry + + + + + Gets the total number of extensions in this extension registry + + + + + Returns whether the registry is readonly + + + + + Adds the specified extension to the registry + + + + + Adds the specified extensions to the registry + + + + + Clears the registry of all values + + + + + Gets whether the extension registry contains the specified extension + + + + + Copies the arrays in the registry set to the specified array at the specified index + + The array to copy to + The array index to start at + + + + Returns an enumerator to enumerate through the items in the registry + + Returns an enumerator for the extensions in this registry + + + + Removes the specified extension from the set + + The extension + true if the extension was removed, otherwise false + + + + Clones the registry into a new registry + + + + + Methods for managing s with null checking. + + Most users will not use this class directly and its API is experimental and subject to change. + + + + + Gets the value of the specified extension + + + + + Gets the value of the specified repeated extension or null if it doesn't exist in this set + + + + + Gets the value of the specified repeated extension, registering it if it doesn't exist + + + + + Sets the value of the specified extension. This will make a new instance of ExtensionSet if the set is null. + + + + + Gets whether the value of the specified extension is set + + + + + Clears the value of the specified extension + + + + + Clears the value of the specified extension + + + + + Tries to merge a field from the coded input, returning true if the field was merged. + If the set is null or the field was not otherwise merged, this returns false. + + + + + Merges the second set into the first set, creating a new instance if first is null + + + + + Clones the set into a new set. If the set is null, this returns null + + + + + Used for keeping track of extensions in messages. + methods route to this set. + + Most users will not need to use this class directly + + The message type that extensions in this set target + + + + Gets a hash code of the set + + + + + Returns whether this set is equal to the other object + + + + + Calculates the size of this extension set + + + + + Writes the extension values in this set to the output stream + + + + + Factory methods for . + + + + + Retrieves a codec suitable for a string field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for a bytes field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for a bool field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for an int32 field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for an sint32 field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for a fixed32 field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for an sfixed32 field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for a uint32 field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for an int64 field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for an sint64 field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for a fixed64 field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for an sfixed64 field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for a uint64 field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for a float field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for a double field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for an enum field with the given tag. + + The tag. + A conversion function from to the enum type. + A conversion function from the enum type to . + A codec for the given tag. + + + + Retrieves a codec suitable for a string field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for a bytes field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for a bool field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for an int32 field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for an sint32 field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for a fixed32 field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for an sfixed32 field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for a uint32 field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for an int64 field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for an sint64 field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for a fixed64 field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for an sfixed64 field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for a uint64 field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for a float field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for a double field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for an enum field with the given tag. + + The tag. + A conversion function from to the enum type. + A conversion function from the enum type to . + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for a message field with the given tag. + + The tag. + A parser to use for the message type. + A codec for the given tag. + + + + Retrieves a codec suitable for a group field with the given tag. + + The start group tag. + The end group tag. + A parser to use for the group message type. + A codec for given tag + + + + Creates a codec for a wrapper type of a class - which must be string or ByteString. + + + + + Creates a codec for a wrapper type of a struct - which must be Int32, Int64, UInt32, UInt64, + Bool, Single or Double. + + + + + Helper code to create codecs for wrapper types. + + + Somewhat ugly with all the static methods, but the conversions involved to/from nullable types make it + slightly tricky to improve. So long as we keep the public API (ForClassWrapper, ForStructWrapper) in place, + we can refactor later if we come up with something cleaner. + + + + + Returns a field codec which effectively wraps a value of type T in a message. + + + + + + + An encode/decode pair for a single field. This effectively encapsulates + all the information needed to read or write the field value from/to a coded + stream. + + + This class is public and has to be as it is used by generated code, but its public + API is very limited - just what the generated code needs to call directly. + + + + This never writes default values to the stream, and does not address "packedness" + in repeated fields itself, other than to know whether or not the field *should* be packed. + + + + + Merges an input stream into a value + + + + + Merges a value into a reference to another value, returning a boolean if the value was set + + + + + Returns a delegate to write a value (unconditionally) to a coded output stream. + + + + + Returns the size calculator for just a value. + + + + + Returns a delegate to read a value from a coded input stream. It is assumed that + the stream is already positioned on the appropriate tag. + + + + + Returns a delegate to merge a value from a coded input stream. + It is assumed that the stream is already positioned on the appropriate tag + + + + + Returns a delegate to merge two values together. + + + + + Returns the fixed size for an entry, or 0 if sizes vary. + + + + + Gets the tag of the codec. + + + The tag of the codec. + + + + + Gets the end tag of the codec or 0 if there is no end tag + + + The end tag of the codec. + + + + + Default value for this codec. Usually the same for every instance of the same type, but + for string/ByteString wrapper fields the codec's default value is null, whereas for + other string/ByteString fields it's "" or ByteString.Empty. + + + The default value of the codec's type. + + + + + Write a tag and the given value, *if* the value is not the default. + + + + + Reads a value of the codec type from the given . + + The input stream to read from. + The value read from the stream. + + + + Calculates the size required to write the given value, with a tag, + if the value is not the default. + + + + + A tree representation of a FieldMask. Each leaf node in this tree represent + a field path in the FieldMask. + + For example, FieldMask "foo.bar,foo.baz,bar.baz" as a tree will be: + + [root] -+- foo -+- bar + | | + | +- baz + | + +- bar --- baz + + + By representing FieldMasks with this tree structure we can easily convert + a FieldMask to a canonical form, merge two FieldMasks, calculate the + intersection to two FieldMasks and traverse all fields specified by the + FieldMask in a message tree. + + + + + Creates an empty FieldMaskTree. + + + + + Creates a FieldMaskTree for a given FieldMask. + + + + + Adds a field path to the tree. In a FieldMask, every field path matches the + specified field as well as all its sub-fields. For example, a field path + "foo.bar" matches field "foo.bar" and also "foo.bar.baz", etc. When adding + a field path to the tree, redundant sub-paths will be removed. That is, + after adding "foo.bar" to the tree, "foo.bar.baz" will be removed if it + exists, which will turn the tree node for "foo.bar" to a leaf node. + Likewise, if the field path to add is a sub-path of an existing leaf node, + nothing will be changed in the tree. + + + + + Merges all field paths in a FieldMask into this tree. + + + + + Converts this tree to a FieldMask. + + + + + Gathers all field paths in a sub-tree. + + + + + Adds the intersection of this tree with the given to . + + + + + Merges all fields specified by this FieldMaskTree from to . + + + + + Merges all fields specified by a sub-tree from to . + + + + + Class containing helpful workarounds for various platform compatibility + + + + + A message type that has a custom string format for diagnostic purposes. + + + + Calling on a generated message type normally + returns the JSON representation. If a message type implements this interface, + then the method will be called instead of the regular + JSON formatting code, but only when ToString() is called either on the message itself + or on another message which contains it. This does not affect the normal JSON formatting of + the message. + + + For example, if you create a proto message representing a GUID, the internal + representation may be a bytes field or four fixed32 fields. However, when debugging + it may be more convenient to see a result in the same format as provides. + + This interface extends to avoid it accidentally being implemented + on types other than messages, where it would not be used by anything in the framework. + + + + + Returns a string representation of this object, for diagnostic purposes. + + + This method is called when a message is formatted as part of a + call. It does not affect the JSON representation used by other than + in calls to . While it is recommended + that the result is valid JSON, this is never assumed by the Protobuf library. + + A string representation of this object, for diagnostic purposes. + + + + Generic interface for a deeply cloneable type. + + + + All generated messages implement this interface, but so do some non-message types. + Additionally, due to the type constraint on T in , + it is simpler to keep this as a separate interface. + + + The type itself, returned by the method. + + + + Creates a deep clone of this object. + + A deep clone of this object. + + + + Generic interface for a Protocol Buffers message containing one or more extensions, where the type parameter is expected to be the same type as the implementation class. + This interface is experiemental and is subject to change. + + + + + Gets the value of the specified extension + + + + + Gets the value of the specified repeated extension or null if the extension isn't registered in this set. + For a version of this method that never returns null, use + + + + + Gets the value of the specified repeated extension, registering it if it hasn't already been registered. + + + + + Sets the value of the specified extension + + + + + Gets whether the value of the specified extension is set + + + + + Clears the value of the specified extension + + + + + Clears the value of the specified repeated extension + + + + + Interface for a Protocol Buffers message, supporting + basic operations required for serialization. + + + + + Merges the data from the specified coded input stream with the current message. + + See the user guide for precise merge semantics. + + + + + Writes the data to the given coded output stream. + + Coded output stream to write the data to. Must not be null. + + + + Calculates the size of this message in Protocol Buffer wire format, in bytes. + + The number of bytes required to write this message + to a coded output stream. + + + + Descriptor for this message. All instances are expected to return the same descriptor, + and for generated types this will be an explicitly-implemented member, returning the + same value as the static property declared on the type. + + + + + Generic interface for a Protocol Buffers message, + where the type parameter is expected to be the same type as + the implementation class. + + The message type. + + + + Merges the given message into this one. + + See the user guide for precise merge semantics. + The message to merge with this one. Must not be null. + + + + Thrown when an attempt is made to parse invalid JSON, e.g. using + a non-string property key, or including a redundant comma. Parsing a protocol buffer + message represented in JSON using can throw both this + exception and depending on the situation. This + exception is only thrown for "pure JSON" errors, whereas InvalidProtocolBufferException + is thrown when the JSON may be valid in and of itself, but cannot be parsed as a protocol buffer + message. + + + + + Thrown when a protocol message being parsed is invalid in some way, + e.g. it contains a malformed varint or a negative byte length. + + + + + Creates an exception for an error condition of an invalid tag being encountered. + + + + + Reflection-based converter from messages to JSON. + + + + Instances of this class are thread-safe, with no mutable state. + + + This is a simple start to get JSON formatting working. As it's reflection-based, + it's not as quick as baking calls into generated messages - but is a simpler implementation. + (This code is generally not heavily optimized.) + + + + + + Returns a formatter using the default settings. + + + + + The JSON representation of the first 160 characters of Unicode. + Empty strings are replaced by the static constructor. + + + + + Creates a new formatted with the given settings. + + The settings. + + + + Formats the specified message as JSON. + + The message to format. + The formatted message. + + + + Formats the specified message as JSON. + + The message to format. + The TextWriter to write the formatted message to. + The formatted message. + + + + Converts a message to JSON for diagnostic purposes with no extra context. + + + + This differs from calling on the default JSON + formatter in its handling of . As no type registry is available + in calls, the normal way of resolving the type of + an Any message cannot be applied. Instead, a JSON property named @value + is included with the base64 data from the property of the message. + + The value returned by this method is only designed to be used for diagnostic + purposes. It may not be parsable by , and may not be parsable + by other Protocol Buffer implementations. + + The message to format for diagnostic purposes. + The diagnostic-only JSON representation of the message + + + + Writes a single value to the given writer as JSON. Only types understood by + Protocol Buffers can be written in this way. This method is only exposed for + advanced use cases; most users should be using + or . + + The writer to write the value to. Must not be null. + The value to write. May be null. + + + + Central interception point for well-known type formatting. Any well-known types which + don't need special handling can fall back to WriteMessage. We avoid assuming that the + values are using the embedded well-known types, in order to allow for dynamic messages + in the future. + + + + + Writes a string (including leading and trailing double quotes) to a builder, escaping as required. + + + Other than surrogate pair handling, this code is mostly taken from src/google/protobuf/util/internal/json_escaping.cc. + + + + + Settings controlling JSON formatting. + + + + + Default settings, as used by + + + + + Whether fields whose values are the default for the field type (e.g. 0 for integers) + should be formatted (true) or omitted (false). + + + + + The type registry used to format messages. + + + + + Whether to format enums as ints. Defaults to false. + + + + + Creates a new object with the specified formatting of default values + and an empty type registry. + + true if default values (0, empty strings etc) should be formatted; false otherwise. + + + + Creates a new object with the specified formatting of default values + and type registry. + + true if default values (0, empty strings etc) should be formatted; false otherwise. + The to use when formatting messages. + + + + Creates a new object with the specified parameters. + + true if default values (0, empty strings etc) should be formatted; false otherwise. + The to use when formatting messages. TypeRegistry.Empty will be used if it is null. + true to format the enums as integers; false to format enums as enum names. + + + + Creates a new object with the specified formatting of default values and the current settings. + + true if default values (0, empty strings etc) should be formatted; false otherwise. + + + + Creates a new object with the specified type registry and the current settings. + + The to use when formatting messages. + + + + Creates a new object with the specified enums formatting option and the current settings. + + true to format the enums as integers; false to format enums as enum names. + + + + Reflection-based converter from JSON to messages. + + + + Instances of this class are thread-safe, with no mutable state. + + + This is a simple start to get JSON parsing working. As it's reflection-based, + it's not as quick as baking calls into generated messages - but is a simpler implementation. + (This code is generally not heavily optimized.) + + + + + + Returns a formatter using the default settings. + + + + + Creates a new formatted with the given settings. + + The settings. + + + + Parses and merges the information into the given message. + + The message to merge the JSON information into. + The JSON to parse. + + + + Parses JSON read from and merges the information into the given message. + + The message to merge the JSON information into. + Reader providing the JSON to parse. + + + + Merges the given message using data from the given tokenizer. In most cases, the next + token should be a "start object" token, but wrapper types and nullity can invalidate + that assumption. This is implemented as an LL(1) recursive descent parser over the stream + of tokens provided by the tokenizer. This token stream is assumed to be valid JSON, with the + tokenizer performing that validation - but not every token stream is valid "protobuf JSON". + + + + + Parses into a new message. + + The type of message to create. + The JSON to parse. + The JSON does not comply with RFC 7159 + The JSON does not represent a Protocol Buffers message correctly + + + + Parses JSON read from into a new message. + + The type of message to create. + Reader providing the JSON to parse. + The JSON does not comply with RFC 7159 + The JSON does not represent a Protocol Buffers message correctly + + + + Parses into a new message. + + The JSON to parse. + Descriptor of message type to parse. + The JSON does not comply with RFC 7159 + The JSON does not represent a Protocol Buffers message correctly + + + + Parses JSON read from into a new message. + + Reader providing the JSON to parse. + Descriptor of message type to parse. + The JSON does not comply with RFC 7159 + The JSON does not represent a Protocol Buffers message correctly + + + + Creates a new instance of the message type for the given field. + + + + + Checks that any infinite/NaN values originated from the correct text. + This corrects the lenient whitespace handling of double.Parse/float.Parse, as well as the + way that Mono parses out-of-range values as infinity. + + + + + Settings controlling JSON parsing. + + + + + Default settings, as used by . This has the same default + recursion limit as , and an empty type registry. + + + + + The maximum depth of messages to parse. Note that this limit only applies to parsing + messages, not collections - so a message within a collection within a message only counts as + depth 2, not 3. + + + + + The type registry used to parse messages. + + + + + Whether the parser should ignore unknown fields (true) or throw an exception when + they are encountered (false). + + + + + Creates a new object with the specified recursion limit. + + The maximum depth of messages to parse + + + + Creates a new object with the specified recursion limit and type registry. + + The maximum depth of messages to parse + The type registry used to parse messages + + + + Creates a new object set to either ignore unknown fields, or throw an exception + when unknown fields are encountered. + + true if unknown fields should be ignored when parsing; false to throw an exception. + + + + Creates a new object based on this one, but with the specified recursion limit. + + The new recursion limit. + + + + Creates a new object based on this one, but with the specified type registry. + + The new type registry. Must not be null. + + + + Simple but strict JSON tokenizer, rigidly following RFC 7159. + + + + This tokenizer is stateful, and only returns "useful" tokens - names, values etc. + It does not create tokens for the separator between names and values, or for the comma + between values. It validates the token stream as it goes - so callers can assume that the + tokens it produces are appropriate. For example, it would never produce "start object, end array." + + Implementation details: the base class handles single token push-back and + Not thread-safe. + + + + + Creates a tokenizer that reads from the given text reader. + + + + + Creates a tokenizer that first replays the given list of tokens, then continues reading + from another tokenizer. Note that if the returned tokenizer is "pushed back", that does not push back + on the continuation tokenizer, or vice versa. Care should be taken when using this method - it was + created for the sake of Any parsing. + + + + + Returns the depth of the stack, purely in objects (not collections). + Informally, this is the number of remaining unclosed '{' characters we have. + + + + + Returns the next JSON token in the stream. An EndDocument token is returned to indicate the end of the stream, + after which point Next() should not be called again. + + This implementation provides single-token buffering, and calls if there is no buffered token. + The next token in the stream. This is never null. + This method is called after an EndDocument token has been returned + The input text does not comply with RFC 7159 + + + + Returns the next JSON token in the stream, when requested by the base class. (The method delegates + to this if it doesn't have a buffered token.) + + This method is called after an EndDocument token has been returned + The input text does not comply with RFC 7159 + + + + Skips the value we're about to read. This must only be called immediately after reading a property name. + If the value is an object or an array, the complete object/array is skipped. + + + + + Tokenizer which first exhausts a list of tokens, then consults another tokenizer. + + + + + Tokenizer which does all the *real* work of parsing JSON. + + + + + This method essentially just loops through characters skipping whitespace, validating and + changing state (e.g. from ObjectBeforeColon to ObjectAfterColon) + until it reaches something which will be a genuine token (e.g. a start object, or a value) at which point + it returns the token. Although the method is large, it would be relatively hard to break down further... most + of it is the large switch statement, which sometimes returns and sometimes doesn't. + + + + + Reads a string token. It is assumed that the opening " has already been read. + + + + + Reads an escaped character. It is assumed that the leading backslash has already been read. + + + + + Reads an escaped Unicode 4-nybble hex sequence. It is assumed that the leading \u has already been read. + + + + + Consumes a text-only literal, throwing an exception if the read text doesn't match it. + It is assumed that the first letter of the literal has already been read. + + + + + Validates that we're in a valid state to read a value (using the given error prefix if necessary) + and changes the state to the appropriate one, e.g. ObjectAfterColon to ObjectAfterProperty. + + + + + Pops the top-most container, and sets the state to the appropriate one for the end of a value + in the parent container. + + + + + Possible states of the tokenizer. + + + This is a flags enum purely so we can simply and efficiently represent a set of valid states + for checking. + + Each is documented with an example, + where ^ represents the current position within the text stream. The examples all use string values, + but could be any value, including nested objects/arrays. + The complete state of the tokenizer also includes a stack to indicate the contexts (arrays/objects). + Any additional notional state of "AfterValue" indicates that a value has been completed, at which + point there's an immediate transition to ExpectedEndOfDocument, ObjectAfterProperty or ArrayAfterValue. + + + These states were derived manually by reading RFC 7159 carefully. + + + + + + ^ { "foo": "bar" } + Before the value in a document. Next states: ObjectStart, ArrayStart, "AfterValue" + + + + + { "foo": "bar" } ^ + After the value in a document. Next states: ReaderExhausted + + + + + { "foo": "bar" } ^ (and already read to the end of the reader) + Terminal state. + + + + + { ^ "foo": "bar" } + Before the *first* property in an object. + Next states: + "AfterValue" (empty object) + ObjectBeforeColon (read a name) + + + + + { "foo" ^ : "bar", "x": "y" } + Next state: ObjectAfterColon + + + + + { "foo" : ^ "bar", "x": "y" } + Before any property other than the first in an object. + (Equivalently: after any property in an object) + Next states: + "AfterValue" (value is simple) + ObjectStart (value is object) + ArrayStart (value is array) + + + + + { "foo" : "bar" ^ , "x" : "y" } + At the end of a property, so expecting either a comma or end-of-object + Next states: ObjectAfterComma or "AfterValue" + + + + + { "foo":"bar", ^ "x":"y" } + Read the comma after the previous property, so expecting another property. + This is like ObjectStart, but closing brace isn't valid here + Next state: ObjectBeforeColon. + + + + + [ ^ "foo", "bar" ] + Before the *first* value in an array. + Next states: + "AfterValue" (read a value) + "AfterValue" (end of array; will pop stack) + + + + + [ "foo" ^ , "bar" ] + After any value in an array, so expecting either a comma or end-of-array + Next states: ArrayAfterComma or "AfterValue" + + + + + [ "foo", ^ "bar" ] + After a comma in an array, so there *must* be another value (simple or complex). + Next states: "AfterValue" (simple value), StartObject, StartArray + + + + + Wrapper around a text reader allowing small amounts of buffering and location handling. + + + + + The buffered next character, if we have one. + + + + + Returns the next character in the stream, or null if we have reached the end. + + + + + + Creates a new exception appropriate for the current state of the reader. + + + + + Stream implementation which proxies another stream, only allowing a certain amount + of data to be read. Note that this is only used to read delimited streams, so it + doesn't attempt to implement everything. + + + + + Extension methods on and . + + + + + Merges data from the given byte array into an existing message. + + The message to merge the data into. + The data to merge, which must be protobuf-encoded binary data. + + + + Merges data from the given byte array slice into an existing message. + + The message to merge the data into. + The data containing the slice to merge, which must be protobuf-encoded binary data. + The offset of the slice to merge. + The length of the slice to merge. + + + + Merges data from the given byte string into an existing message. + + The message to merge the data into. + The data to merge, which must be protobuf-encoded binary data. + + + + Merges data from the given stream into an existing message. + + The message to merge the data into. + Stream containing the data to merge, which must be protobuf-encoded binary data. + + + + Merges length-delimited data from the given stream into an existing message. + + + The stream is expected to contain a length and then the data. Only the amount of data + specified by the length will be consumed. + + The message to merge the data into. + Stream containing the data to merge, which must be protobuf-encoded binary data. + + + + Converts the given message into a byte array in protobuf encoding. + + The message to convert. + The message data as a byte array. + + + + Writes the given message data to the given stream in protobuf encoding. + + The message to write to the stream. + The stream to write to. + + + + Writes the length and then data of the given message to a stream. + + The message to write. + The output stream to write to. + + + + Converts the given message into a byte string in protobuf encoding. + + The message to convert. + The message data as a byte string. + + + + Checks if all required fields in a message have values set. For proto3 messages, this returns true + + + + + A general message parser, typically used by reflection-based code as all the methods + return simple . + + + + + Creates a template instance ready for population. + + An empty message. + + + + Parses a message from a byte array. + + The byte array containing the message. Must not be null. + The newly parsed message. + + + + Parses a message from a byte array slice. + + The byte array containing the message. Must not be null. + The offset of the slice to parse. + The length of the slice to parse. + The newly parsed message. + + + + Parses a message from the given byte string. + + The data to parse. + The parsed message. + + + + Parses a message from the given stream. + + The stream to parse. + The parsed message. + + + + Parses a length-delimited message from the given stream. + + + The stream is expected to contain a length and then the data. Only the amount of data + specified by the length will be consumed. + + The stream to parse. + The parsed message. + + + + Parses a message from the given coded input stream. + + The stream to parse. + The parsed message. + + + + Parses a message from the given JSON. + + The JSON to parse. + The parsed message. + The JSON does not comply with RFC 7159 + The JSON does not represent a Protocol Buffers message correctly + + + + Creates a new message parser which optionally discards unknown fields when parsing. + + Whether or not to discard unknown fields when parsing. + A newly configured message parser. + + + + Creates a new message parser which registers extensions from the specified registry upon creating the message instance + + The extensions to register + A newly configured message parser. + + + + A parser for a specific message type. + + +

+ This delegates most behavior to the + implementation within the original type, but + provides convenient overloads to parse from a variety of sources. +

+

+ Most applications will never need to create their own instances of this type; + instead, use the static Parser property of a generated message type to obtain a + parser for that type. +

+
+ The type of message to be parsed. +
+ + + Creates a new parser. + + + The factory method is effectively an optimization over using a generic constraint + to require a parameterless constructor: delegates are significantly faster to execute. + + Function to invoke when a new, empty message is required. + + + + Creates a template instance ready for population. + + An empty message. + + + + Parses a message from a byte array. + + The byte array containing the message. Must not be null. + The newly parsed message. + + + + Parses a message from a byte array slice. + + The byte array containing the message. Must not be null. + The offset of the slice to parse. + The length of the slice to parse. + The newly parsed message. + + + + Parses a message from the given byte string. + + The data to parse. + The parsed message. + + + + Parses a message from the given stream. + + The stream to parse. + The parsed message. + + + + Parses a length-delimited message from the given stream. + + + The stream is expected to contain a length and then the data. Only the amount of data + specified by the length will be consumed. + + The stream to parse. + The parsed message. + + + + Parses a message from the given coded input stream. + + The stream to parse. + The parsed message. + + + + Parses a message from the given JSON. + + The JSON to parse. + The parsed message. + The JSON does not comply with RFC 7159 + The JSON does not represent a Protocol Buffers message correctly + + + + Creates a new message parser which optionally discards unknown fields when parsing. + + Whether or not to discard unknown fields when parsing. + A newly configured message parser. + + + + Creates a new message parser which registers extensions from the specified registry upon creating the message instance + + The extensions to register + A newly configured message parser. + + + + Struct used to hold the keys for the fieldByNumber table in DescriptorPool and the keys for the + extensionByNumber table in ExtensionRegistry. + + + + + Helper methods for throwing exceptions when preconditions are not met. + + + This class is used internally and by generated code; it is not particularly + expected to be used from application code, although nothing prevents it + from being used that way. + + + + + Throws an ArgumentNullException if the given value is null, otherwise + return the value to the caller. + + + + + Throws an ArgumentNullException if the given value is null, otherwise + return the value to the caller. + + + This is equivalent to but without the type parameter + constraint. In most cases, the constraint is useful to prevent you from calling CheckNotNull + with a value type - but it gets in the way if either you want to use it with a nullable + value type, or you want to use it with an unconstrained type parameter. + + + + + Container for a set of custom options specified within a message, field etc. + + + + This type is publicly immutable, but internally mutable. It is only populated + by the descriptor parsing code - by the time any user code is able to see an instance, + it will be fully initialized. + + + If an option is requested using the incorrect method, an answer may still be returned: all + of the numeric types are represented internally using 64-bit integers, for example. It is up to + the caller to ensure that they make the appropriate method call for the option they're interested in. + Note that enum options are simply stored as integers, so the value should be fetched using + and then cast appropriately. + + + Repeated options are currently not supported. Asking for a single value of an option + which was actually repeated will return the last value, except for message types where + all the set values are merged together. + + + + + + Retrieves a Boolean value for the specified option field. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves a signed 32-bit integer value for the specified option field. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves a signed 64-bit integer value for the specified option field. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves an unsigned 32-bit integer value for the specified option field, + assuming a fixed-length representation. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves an unsigned 64-bit integer value for the specified option field, + assuming a fixed-length representation. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves a signed 32-bit integer value for the specified option field, + assuming a fixed-length representation. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves a signed 64-bit integer value for the specified option field, + assuming a fixed-length representation. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves a signed 32-bit integer value for the specified option field, + assuming a zigzag encoding. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves a signed 64-bit integer value for the specified option field, + assuming a zigzag encoding. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves an unsigned 32-bit integer value for the specified option field. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves an unsigned 64-bit integer value for the specified option field. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves a 32-bit floating point value for the specified option field. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves a 64-bit floating point value for the specified option field. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves a string value for the specified option field. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves a bytes value for the specified option field. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves a message value for the specified option field. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + Holder for reflection information generated from google/protobuf/descriptor.proto + + + File descriptor for google/protobuf/descriptor.proto + + + + The protocol compiler can output a FileDescriptorSet containing the .proto + files it parses. + + + + Field number for the "file" field. + + + + Describes a complete .proto file. + + + + Field number for the "name" field. + + + + file name, relative to root of source tree + + + + Gets whether the "name" field is set + + + Clears the value of the "name" field + + + Field number for the "package" field. + + + + e.g. "foo", "foo.bar", etc. + + + + Gets whether the "package" field is set + + + Clears the value of the "package" field + + + Field number for the "dependency" field. + + + + Names of files imported by this file. + + + + Field number for the "public_dependency" field. + + + + Indexes of the public imported files in the dependency list above. + + + + Field number for the "weak_dependency" field. + + + + Indexes of the weak imported files in the dependency list. + For Google-internal migration only. Do not use. + + + + Field number for the "message_type" field. + + + + All top-level definitions in this file. + + + + Field number for the "enum_type" field. + + + Field number for the "service" field. + + + Field number for the "extension" field. + + + Field number for the "options" field. + + + Field number for the "source_code_info" field. + + + + This field contains optional information about the original source code. + You may safely remove this entire field without harming runtime + functionality of the descriptors -- the information is needed only by + development tools. + + + + Field number for the "syntax" field. + + + + The syntax of the proto file. + The supported values are "proto2" and "proto3". + + + + Gets whether the "syntax" field is set + + + Clears the value of the "syntax" field + + + + Describes a message type. + + + + Field number for the "name" field. + + + Gets whether the "name" field is set + + + Clears the value of the "name" field + + + Field number for the "field" field. + + + Field number for the "extension" field. + + + Field number for the "nested_type" field. + + + Field number for the "enum_type" field. + + + Field number for the "extension_range" field. + + + Field number for the "oneof_decl" field. + + + Field number for the "options" field. + + + Field number for the "reserved_range" field. + + + Field number for the "reserved_name" field. + + + + Reserved field names, which may not be used by fields in the same message. + A given name may only be reserved once. + + + + Container for nested types declared in the DescriptorProto message type. + + + Field number for the "start" field. + + + + Inclusive. + + + + Gets whether the "start" field is set + + + Clears the value of the "start" field + + + Field number for the "end" field. + + + + Exclusive. + + + + Gets whether the "end" field is set + + + Clears the value of the "end" field + + + Field number for the "options" field. + + + + Range of reserved tag numbers. Reserved tag numbers may not be used by + fields or extension ranges in the same message. Reserved ranges may + not overlap. + + + + Field number for the "start" field. + + + + Inclusive. + + + + Gets whether the "start" field is set + + + Clears the value of the "start" field + + + Field number for the "end" field. + + + + Exclusive. + + + + Gets whether the "end" field is set + + + Clears the value of the "end" field + + + Field number for the "uninterpreted_option" field. + + + + The parser stores options it doesn't recognize here. See above. + + + + + Describes a field within a message. + + + + Field number for the "name" field. + + + Gets whether the "name" field is set + + + Clears the value of the "name" field + + + Field number for the "number" field. + + + Gets whether the "number" field is set + + + Clears the value of the "number" field + + + Field number for the "label" field. + + + Gets whether the "label" field is set + + + Clears the value of the "label" field + + + Field number for the "type" field. + + + + If type_name is set, this need not be set. If both this and type_name + are set, this must be one of TYPE_ENUM, TYPE_MESSAGE or TYPE_GROUP. + + + + Gets whether the "type" field is set + + + Clears the value of the "type" field + + + Field number for the "type_name" field. + + + + For message and enum types, this is the name of the type. If the name + starts with a '.', it is fully-qualified. Otherwise, C++-like scoping + rules are used to find the type (i.e. first the nested types within this + message are searched, then within the parent, on up to the root + namespace). + + + + Gets whether the "type_name" field is set + + + Clears the value of the "type_name" field + + + Field number for the "extendee" field. + + + + For extensions, this is the name of the type being extended. It is + resolved in the same manner as type_name. + + + + Gets whether the "extendee" field is set + + + Clears the value of the "extendee" field + + + Field number for the "default_value" field. + + + + For numeric types, contains the original text representation of the value. + For booleans, "true" or "false". + For strings, contains the default text contents (not escaped in any way). + For bytes, contains the C escaped value. All bytes >= 128 are escaped. + TODO(kenton): Base-64 encode? + + + + Gets whether the "default_value" field is set + + + Clears the value of the "default_value" field + + + Field number for the "oneof_index" field. + + + + If set, gives the index of a oneof in the containing type's oneof_decl + list. This field is a member of that oneof. + + + + Gets whether the "oneof_index" field is set + + + Clears the value of the "oneof_index" field + + + Field number for the "json_name" field. + + + + JSON name of this field. The value is set by protocol compiler. If the + user has set a "json_name" option on this field, that option's value + will be used. Otherwise, it's deduced from the field's name by converting + it to camelCase. + + + + Gets whether the "json_name" field is set + + + Clears the value of the "json_name" field + + + Field number for the "options" field. + + + Field number for the "proto3_optional" field. + + + + If true, this is a proto3 "optional". When a proto3 field is optional, it + tracks presence regardless of field type. + + When proto3_optional is true, this field must be belong to a oneof to + signal to old proto3 clients that presence is tracked for this field. This + oneof is known as a "synthetic" oneof, and this field must be its sole + member (each proto3 optional field gets its own synthetic oneof). Synthetic + oneofs exist in the descriptor only, and do not generate any API. Synthetic + oneofs must be ordered after all "real" oneofs. + + For message fields, proto3_optional doesn't create any semantic change, + since non-repeated message fields always track presence. However it still + indicates the semantic detail of whether the user wrote "optional" or not. + This can be useful for round-tripping the .proto file. For consistency we + give message fields a synthetic oneof also, even though it is not required + to track presence. This is especially important because the parser can't + tell if a field is a message or an enum, so it must always create a + synthetic oneof. + + Proto2 optional fields do not set this flag, because they already indicate + optional with `LABEL_OPTIONAL`. + + + + Gets whether the "proto3_optional" field is set + + + Clears the value of the "proto3_optional" field + + + Container for nested types declared in the FieldDescriptorProto message type. + + + + 0 is reserved for errors. + Order is weird for historical reasons. + + + + + Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT64 if + negative values are likely. + + + + + Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT32 if + negative values are likely. + + + + + Tag-delimited aggregate. + Group type is deprecated and not supported in proto3. However, Proto3 + implementations should still be able to parse the group wire format and + treat group fields as unknown fields. + + + + + Length-delimited aggregate. + + + + + New in version 2. + + + + + Uses ZigZag encoding. + + + + + Uses ZigZag encoding. + + + + + 0 is reserved for errors + + + + + Describes a oneof. + + + + Field number for the "name" field. + + + Gets whether the "name" field is set + + + Clears the value of the "name" field + + + Field number for the "options" field. + + + + Describes an enum type. + + + + Field number for the "name" field. + + + Gets whether the "name" field is set + + + Clears the value of the "name" field + + + Field number for the "value" field. + + + Field number for the "options" field. + + + Field number for the "reserved_range" field. + + + + Range of reserved numeric values. Reserved numeric values may not be used + by enum values in the same enum declaration. Reserved ranges may not + overlap. + + + + Field number for the "reserved_name" field. + + + + Reserved enum value names, which may not be reused. A given name may only + be reserved once. + + + + Container for nested types declared in the EnumDescriptorProto message type. + + + + Range of reserved numeric values. Reserved values may not be used by + entries in the same enum. Reserved ranges may not overlap. + + Note that this is distinct from DescriptorProto.ReservedRange in that it + is inclusive such that it can appropriately represent the entire int32 + domain. + + + + Field number for the "start" field. + + + + Inclusive. + + + + Gets whether the "start" field is set + + + Clears the value of the "start" field + + + Field number for the "end" field. + + + + Inclusive. + + + + Gets whether the "end" field is set + + + Clears the value of the "end" field + + + + Describes a value within an enum. + + + + Field number for the "name" field. + + + Gets whether the "name" field is set + + + Clears the value of the "name" field + + + Field number for the "number" field. + + + Gets whether the "number" field is set + + + Clears the value of the "number" field + + + Field number for the "options" field. + + + + Describes a service. + + + + Field number for the "name" field. + + + Gets whether the "name" field is set + + + Clears the value of the "name" field + + + Field number for the "method" field. + + + Field number for the "options" field. + + + + Describes a method of a service. + + + + Field number for the "name" field. + + + Gets whether the "name" field is set + + + Clears the value of the "name" field + + + Field number for the "input_type" field. + + + + Input and output type names. These are resolved in the same way as + FieldDescriptorProto.type_name, but must refer to a message type. + + + + Gets whether the "input_type" field is set + + + Clears the value of the "input_type" field + + + Field number for the "output_type" field. + + + Gets whether the "output_type" field is set + + + Clears the value of the "output_type" field + + + Field number for the "options" field. + + + Field number for the "client_streaming" field. + + + + Identifies if client streams multiple client messages + + + + Gets whether the "client_streaming" field is set + + + Clears the value of the "client_streaming" field + + + Field number for the "server_streaming" field. + + + + Identifies if server streams multiple server messages + + + + Gets whether the "server_streaming" field is set + + + Clears the value of the "server_streaming" field + + + Field number for the "java_package" field. + + + + Sets the Java package where classes generated from this .proto will be + placed. By default, the proto package is used, but this is often + inappropriate because proto packages do not normally start with backwards + domain names. + + + + Gets whether the "java_package" field is set + + + Clears the value of the "java_package" field + + + Field number for the "java_outer_classname" field. + + + + If set, all the classes from the .proto file are wrapped in a single + outer class with the given name. This applies to both Proto1 + (equivalent to the old "--one_java_file" option) and Proto2 (where + a .proto always translates to a single class, but you may want to + explicitly choose the class name). + + + + Gets whether the "java_outer_classname" field is set + + + Clears the value of the "java_outer_classname" field + + + Field number for the "java_multiple_files" field. + + + + If set true, then the Java code generator will generate a separate .java + file for each top-level message, enum, and service defined in the .proto + file. Thus, these types will *not* be nested inside the outer class + named by java_outer_classname. However, the outer class will still be + generated to contain the file's getDescriptor() method as well as any + top-level extensions defined in the file. + + + + Gets whether the "java_multiple_files" field is set + + + Clears the value of the "java_multiple_files" field + + + Field number for the "java_generate_equals_and_hash" field. + + + + This option does nothing. + + + + Gets whether the "java_generate_equals_and_hash" field is set + + + Clears the value of the "java_generate_equals_and_hash" field + + + Field number for the "java_string_check_utf8" field. + + + + If set true, then the Java2 code generator will generate code that + throws an exception whenever an attempt is made to assign a non-UTF-8 + byte sequence to a string field. + Message reflection will do the same. + However, an extension field still accepts non-UTF-8 byte sequences. + This option has no effect on when used with the lite runtime. + + + + Gets whether the "java_string_check_utf8" field is set + + + Clears the value of the "java_string_check_utf8" field + + + Field number for the "optimize_for" field. + + + Gets whether the "optimize_for" field is set + + + Clears the value of the "optimize_for" field + + + Field number for the "go_package" field. + + + + Sets the Go package where structs generated from this .proto will be + placed. If omitted, the Go package will be derived from the following: + - The basename of the package import path, if provided. + - Otherwise, the package statement in the .proto file, if present. + - Otherwise, the basename of the .proto file, without extension. + + + + Gets whether the "go_package" field is set + + + Clears the value of the "go_package" field + + + Field number for the "cc_generic_services" field. + + + + Should generic services be generated in each language? "Generic" services + are not specific to any particular RPC system. They are generated by the + main code generators in each language (without additional plugins). + Generic services were the only kind of service generation supported by + early versions of google.protobuf. + + Generic services are now considered deprecated in favor of using plugins + that generate code specific to your particular RPC system. Therefore, + these default to false. Old code which depends on generic services should + explicitly set them to true. + + + + Gets whether the "cc_generic_services" field is set + + + Clears the value of the "cc_generic_services" field + + + Field number for the "java_generic_services" field. + + + Gets whether the "java_generic_services" field is set + + + Clears the value of the "java_generic_services" field + + + Field number for the "py_generic_services" field. + + + Gets whether the "py_generic_services" field is set + + + Clears the value of the "py_generic_services" field + + + Field number for the "php_generic_services" field. + + + Gets whether the "php_generic_services" field is set + + + Clears the value of the "php_generic_services" field + + + Field number for the "deprecated" field. + + + + Is this file deprecated? + Depending on the target platform, this can emit Deprecated annotations + for everything in the file, or it will be completely ignored; in the very + least, this is a formalization for deprecating files. + + + + Gets whether the "deprecated" field is set + + + Clears the value of the "deprecated" field + + + Field number for the "cc_enable_arenas" field. + + + + Enables the use of arenas for the proto messages in this file. This applies + only to generated classes for C++. + + + + Gets whether the "cc_enable_arenas" field is set + + + Clears the value of the "cc_enable_arenas" field + + + Field number for the "objc_class_prefix" field. + + + + Sets the objective c class prefix which is prepended to all objective c + generated classes from this .proto. There is no default. + + + + Gets whether the "objc_class_prefix" field is set + + + Clears the value of the "objc_class_prefix" field + + + Field number for the "csharp_namespace" field. + + + + Namespace for generated classes; defaults to the package. + + + + Gets whether the "csharp_namespace" field is set + + + Clears the value of the "csharp_namespace" field + + + Field number for the "swift_prefix" field. + + + + By default Swift generators will take the proto package and CamelCase it + replacing '.' with underscore and use that to prefix the types/symbols + defined. When this options is provided, they will use this value instead + to prefix the types/symbols defined. + + + + Gets whether the "swift_prefix" field is set + + + Clears the value of the "swift_prefix" field + + + Field number for the "php_class_prefix" field. + + + + Sets the php class prefix which is prepended to all php generated classes + from this .proto. Default is empty. + + + + Gets whether the "php_class_prefix" field is set + + + Clears the value of the "php_class_prefix" field + + + Field number for the "php_namespace" field. + + + + Use this option to change the namespace of php generated classes. Default + is empty. When this option is empty, the package name will be used for + determining the namespace. + + + + Gets whether the "php_namespace" field is set + + + Clears the value of the "php_namespace" field + + + Field number for the "php_metadata_namespace" field. + + + + Use this option to change the namespace of php generated metadata classes. + Default is empty. When this option is empty, the proto file name will be + used for determining the namespace. + + + + Gets whether the "php_metadata_namespace" field is set + + + Clears the value of the "php_metadata_namespace" field + + + Field number for the "ruby_package" field. + + + + Use this option to change the package of ruby generated classes. Default + is empty. When this option is not set, the package name will be used for + determining the ruby package. + + + + Gets whether the "ruby_package" field is set + + + Clears the value of the "ruby_package" field + + + Field number for the "uninterpreted_option" field. + + + + The parser stores options it doesn't recognize here. + See the documentation for the "Options" section above. + + + + Container for nested types declared in the FileOptions message type. + + + + Generated classes can be optimized for speed or code size. + + + + + Generate complete code for parsing, serialization, + + + + + etc. + + + + + Generate code using MessageLite and the lite runtime. + + + + Field number for the "message_set_wire_format" field. + + + + Set true to use the old proto1 MessageSet wire format for extensions. + This is provided for backwards-compatibility with the MessageSet wire + format. You should not use this for any other reason: It's less + efficient, has fewer features, and is more complicated. + + The message must be defined exactly as follows: + message Foo { + option message_set_wire_format = true; + extensions 4 to max; + } + Note that the message cannot have any defined fields; MessageSets only + have extensions. + + All extensions of your type must be singular messages; e.g. they cannot + be int32s, enums, or repeated messages. + + Because this is an option, the above two restrictions are not enforced by + the protocol compiler. + + + + Gets whether the "message_set_wire_format" field is set + + + Clears the value of the "message_set_wire_format" field + + + Field number for the "no_standard_descriptor_accessor" field. + + + + Disables the generation of the standard "descriptor()" accessor, which can + conflict with a field of the same name. This is meant to make migration + from proto1 easier; new code should avoid fields named "descriptor". + + + + Gets whether the "no_standard_descriptor_accessor" field is set + + + Clears the value of the "no_standard_descriptor_accessor" field + + + Field number for the "deprecated" field. + + + + Is this message deprecated? + Depending on the target platform, this can emit Deprecated annotations + for the message, or it will be completely ignored; in the very least, + this is a formalization for deprecating messages. + + + + Gets whether the "deprecated" field is set + + + Clears the value of the "deprecated" field + + + Field number for the "map_entry" field. + + + + Whether the message is an automatically generated map entry type for the + maps field. + + For maps fields: + map<KeyType, ValueType> map_field = 1; + The parsed descriptor looks like: + message MapFieldEntry { + option map_entry = true; + optional KeyType key = 1; + optional ValueType value = 2; + } + repeated MapFieldEntry map_field = 1; + + Implementations may choose not to generate the map_entry=true message, but + use a native map in the target language to hold the keys and values. + The reflection APIs in such implementations still need to work as + if the field is a repeated message field. + + NOTE: Do not set the option in .proto files. Always use the maps syntax + instead. The option should only be implicitly set by the proto compiler + parser. + + + + Gets whether the "map_entry" field is set + + + Clears the value of the "map_entry" field + + + Field number for the "uninterpreted_option" field. + + + + The parser stores options it doesn't recognize here. See above. + + + + Field number for the "ctype" field. + + + + The ctype option instructs the C++ code generator to use a different + representation of the field than it normally would. See the specific + options below. This option is not yet implemented in the open source + release -- sorry, we'll try to include it in a future version! + + + + Gets whether the "ctype" field is set + + + Clears the value of the "ctype" field + + + Field number for the "packed" field. + + + + The packed option can be enabled for repeated primitive fields to enable + a more efficient representation on the wire. Rather than repeatedly + writing the tag and type for each element, the entire array is encoded as + a single length-delimited blob. In proto3, only explicit setting it to + false will avoid using packed encoding. + + + + Gets whether the "packed" field is set + + + Clears the value of the "packed" field + + + Field number for the "jstype" field. + + + + The jstype option determines the JavaScript type used for values of the + field. The option is permitted only for 64 bit integral and fixed types + (int64, uint64, sint64, fixed64, sfixed64). A field with jstype JS_STRING + is represented as JavaScript string, which avoids loss of precision that + can happen when a large value is converted to a floating point JavaScript. + Specifying JS_NUMBER for the jstype causes the generated JavaScript code to + use the JavaScript "number" type. The behavior of the default option + JS_NORMAL is implementation dependent. + + This option is an enum to permit additional types to be added, e.g. + goog.math.Integer. + + + + Gets whether the "jstype" field is set + + + Clears the value of the "jstype" field + + + Field number for the "lazy" field. + + + + Should this field be parsed lazily? Lazy applies only to message-type + fields. It means that when the outer message is initially parsed, the + inner message's contents will not be parsed but instead stored in encoded + form. The inner message will actually be parsed when it is first accessed. + + This is only a hint. Implementations are free to choose whether to use + eager or lazy parsing regardless of the value of this option. However, + setting this option true suggests that the protocol author believes that + using lazy parsing on this field is worth the additional bookkeeping + overhead typically needed to implement it. + + This option does not affect the public interface of any generated code; + all method signatures remain the same. Furthermore, thread-safety of the + interface is not affected by this option; const methods remain safe to + call from multiple threads concurrently, while non-const methods continue + to require exclusive access. + + Note that implementations may choose not to check required fields within + a lazy sub-message. That is, calling IsInitialized() on the outer message + may return true even if the inner message has missing required fields. + This is necessary because otherwise the inner message would have to be + parsed in order to perform the check, defeating the purpose of lazy + parsing. An implementation which chooses not to check required fields + must be consistent about it. That is, for any particular sub-message, the + implementation must either *always* check its required fields, or *never* + check its required fields, regardless of whether or not the message has + been parsed. + + + + Gets whether the "lazy" field is set + + + Clears the value of the "lazy" field + + + Field number for the "deprecated" field. + + + + Is this field deprecated? + Depending on the target platform, this can emit Deprecated annotations + for accessors, or it will be completely ignored; in the very least, this + is a formalization for deprecating fields. + + + + Gets whether the "deprecated" field is set + + + Clears the value of the "deprecated" field + + + Field number for the "weak" field. + + + + For Google-internal migration only. Do not use. + + + + Gets whether the "weak" field is set + + + Clears the value of the "weak" field + + + Field number for the "uninterpreted_option" field. + + + + The parser stores options it doesn't recognize here. See above. + + + + Container for nested types declared in the FieldOptions message type. + + + + Default mode. + + + + + Use the default type. + + + + + Use JavaScript strings. + + + + + Use JavaScript numbers. + + + + Field number for the "uninterpreted_option" field. + + + + The parser stores options it doesn't recognize here. See above. + + + + Field number for the "allow_alias" field. + + + + Set this option to true to allow mapping different tag names to the same + value. + + + + Gets whether the "allow_alias" field is set + + + Clears the value of the "allow_alias" field + + + Field number for the "deprecated" field. + + + + Is this enum deprecated? + Depending on the target platform, this can emit Deprecated annotations + for the enum, or it will be completely ignored; in the very least, this + is a formalization for deprecating enums. + + + + Gets whether the "deprecated" field is set + + + Clears the value of the "deprecated" field + + + Field number for the "uninterpreted_option" field. + + + + The parser stores options it doesn't recognize here. See above. + + + + Field number for the "deprecated" field. + + + + Is this enum value deprecated? + Depending on the target platform, this can emit Deprecated annotations + for the enum value, or it will be completely ignored; in the very least, + this is a formalization for deprecating enum values. + + + + Gets whether the "deprecated" field is set + + + Clears the value of the "deprecated" field + + + Field number for the "uninterpreted_option" field. + + + + The parser stores options it doesn't recognize here. See above. + + + + Field number for the "deprecated" field. + + + + Is this service deprecated? + Depending on the target platform, this can emit Deprecated annotations + for the service, or it will be completely ignored; in the very least, + this is a formalization for deprecating services. + + + + Gets whether the "deprecated" field is set + + + Clears the value of the "deprecated" field + + + Field number for the "uninterpreted_option" field. + + + + The parser stores options it doesn't recognize here. See above. + + + + Field number for the "deprecated" field. + + + + Is this method deprecated? + Depending on the target platform, this can emit Deprecated annotations + for the method, or it will be completely ignored; in the very least, + this is a formalization for deprecating methods. + + + + Gets whether the "deprecated" field is set + + + Clears the value of the "deprecated" field + + + Field number for the "idempotency_level" field. + + + Gets whether the "idempotency_level" field is set + + + Clears the value of the "idempotency_level" field + + + Field number for the "uninterpreted_option" field. + + + + The parser stores options it doesn't recognize here. See above. + + + + Container for nested types declared in the MethodOptions message type. + + + + Is this method side-effect-free (or safe in HTTP parlance), or idempotent, + or neither? HTTP based RPC implementation may choose GET verb for safe + methods, and PUT verb for idempotent methods instead of the default POST. + + + + + implies idempotent + + + + + idempotent, but may have side effects + + + + + A message representing a option the parser does not recognize. This only + appears in options protos created by the compiler::Parser class. + DescriptorPool resolves these when building Descriptor objects. Therefore, + options protos in descriptor objects (e.g. returned by Descriptor::options(), + or produced by Descriptor::CopyTo()) will never have UninterpretedOptions + in them. + + + + Field number for the "name" field. + + + Field number for the "identifier_value" field. + + + + The value of the uninterpreted option, in whatever type the tokenizer + identified it as during parsing. Exactly one of these should be set. + + + + Gets whether the "identifier_value" field is set + + + Clears the value of the "identifier_value" field + + + Field number for the "positive_int_value" field. + + + Gets whether the "positive_int_value" field is set + + + Clears the value of the "positive_int_value" field + + + Field number for the "negative_int_value" field. + + + Gets whether the "negative_int_value" field is set + + + Clears the value of the "negative_int_value" field + + + Field number for the "double_value" field. + + + Gets whether the "double_value" field is set + + + Clears the value of the "double_value" field + + + Field number for the "string_value" field. + + + Gets whether the "string_value" field is set + + + Clears the value of the "string_value" field + + + Field number for the "aggregate_value" field. + + + Gets whether the "aggregate_value" field is set + + + Clears the value of the "aggregate_value" field + + + Container for nested types declared in the UninterpretedOption message type. + + + + The name of the uninterpreted option. Each string represents a segment in + a dot-separated name. is_extension is true iff a segment represents an + extension (denoted with parentheses in options specs in .proto files). + E.g.,{ ["foo", false], ["bar.baz", true], ["qux", false] } represents + "foo.(bar.baz).qux". + + + + Field number for the "name_part" field. + + + Gets whether the "name_part" field is set + + + Clears the value of the "name_part" field + + + Field number for the "is_extension" field. + + + Gets whether the "is_extension" field is set + + + Clears the value of the "is_extension" field + + + + Encapsulates information about the original source file from which a + FileDescriptorProto was generated. + + + + Field number for the "location" field. + + + + A Location identifies a piece of source code in a .proto file which + corresponds to a particular definition. This information is intended + to be useful to IDEs, code indexers, documentation generators, and similar + tools. + + For example, say we have a file like: + message Foo { + optional string foo = 1; + } + Let's look at just the field definition: + optional string foo = 1; + ^ ^^ ^^ ^ ^^^ + a bc de f ghi + We have the following locations: + span path represents + [a,i) [ 4, 0, 2, 0 ] The whole field definition. + [a,b) [ 4, 0, 2, 0, 4 ] The label (optional). + [c,d) [ 4, 0, 2, 0, 5 ] The type (string). + [e,f) [ 4, 0, 2, 0, 1 ] The name (foo). + [g,h) [ 4, 0, 2, 0, 3 ] The number (1). + + Notes: + - A location may refer to a repeated field itself (i.e. not to any + particular index within it). This is used whenever a set of elements are + logically enclosed in a single code segment. For example, an entire + extend block (possibly containing multiple extension definitions) will + have an outer location whose path refers to the "extensions" repeated + field without an index. + - Multiple locations may have the same path. This happens when a single + logical declaration is spread out across multiple places. The most + obvious example is the "extend" block again -- there may be multiple + extend blocks in the same scope, each of which will have the same path. + - A location's span is not always a subset of its parent's span. For + example, the "extendee" of an extension declaration appears at the + beginning of the "extend" block and is shared by all extensions within + the block. + - Just because a location's span is a subset of some other location's span + does not mean that it is a descendant. For example, a "group" defines + both a type and a field in a single declaration. Thus, the locations + corresponding to the type and field and their components will overlap. + - Code which tries to interpret locations should probably be designed to + ignore those that it doesn't understand, as more types of locations could + be recorded in the future. + + + + Container for nested types declared in the SourceCodeInfo message type. + + + Field number for the "path" field. + + + + Identifies which part of the FileDescriptorProto was defined at this + location. + + Each element is a field number or an index. They form a path from + the root FileDescriptorProto to the place where the definition. For + example, this path: + [ 4, 3, 2, 7, 1 ] + refers to: + file.message_type(3) // 4, 3 + .field(7) // 2, 7 + .name() // 1 + This is because FileDescriptorProto.message_type has field number 4: + repeated DescriptorProto message_type = 4; + and DescriptorProto.field has field number 2: + repeated FieldDescriptorProto field = 2; + and FieldDescriptorProto.name has field number 1: + optional string name = 1; + + Thus, the above path gives the location of a field name. If we removed + the last element: + [ 4, 3, 2, 7 ] + this path refers to the whole field declaration (from the beginning + of the label to the terminating semicolon). + + + + Field number for the "span" field. + + + + Always has exactly three or four elements: start line, start column, + end line (optional, otherwise assumed same as start line), end column. + These are packed into a single field for efficiency. Note that line + and column numbers are zero-based -- typically you will want to add + 1 to each before displaying to a user. + + + + Field number for the "leading_comments" field. + + + + If this SourceCodeInfo represents a complete declaration, these are any + comments appearing before and after the declaration which appear to be + attached to the declaration. + + A series of line comments appearing on consecutive lines, with no other + tokens appearing on those lines, will be treated as a single comment. + + leading_detached_comments will keep paragraphs of comments that appear + before (but not connected to) the current element. Each paragraph, + separated by empty lines, will be one comment element in the repeated + field. + + Only the comment content is provided; comment markers (e.g. //) are + stripped out. For block comments, leading whitespace and an asterisk + will be stripped from the beginning of each line other than the first. + Newlines are included in the output. + + Examples: + + optional int32 foo = 1; // Comment attached to foo. + // Comment attached to bar. + optional int32 bar = 2; + + optional string baz = 3; + // Comment attached to baz. + // Another line attached to baz. + + // Comment attached to qux. + // + // Another line attached to qux. + optional double qux = 4; + + // Detached comment for corge. This is not leading or trailing comments + // to qux or corge because there are blank lines separating it from + // both. + + // Detached comment for corge paragraph 2. + + optional string corge = 5; + /* Block comment attached + * to corge. Leading asterisks + * will be removed. */ + /* Block comment attached to + * grault. */ + optional int32 grault = 6; + + // ignored detached comments. + + + + Gets whether the "leading_comments" field is set + + + Clears the value of the "leading_comments" field + + + Field number for the "trailing_comments" field. + + + Gets whether the "trailing_comments" field is set + + + Clears the value of the "trailing_comments" field + + + Field number for the "leading_detached_comments" field. + + + + Describes the relationship between generated code and its original source + file. A GeneratedCodeInfo message is associated with only one generated + source file, but may contain references to different source .proto files. + + + + Field number for the "annotation" field. + + + + An Annotation connects some span of text in generated code to an element + of its generating .proto file. + + + + Container for nested types declared in the GeneratedCodeInfo message type. + + + Field number for the "path" field. + + + + Identifies the element in the original source .proto file. This field + is formatted the same as SourceCodeInfo.Location.path. + + + + Field number for the "source_file" field. + + + + Identifies the filesystem path to the original source .proto. + + + + Gets whether the "source_file" field is set + + + Clears the value of the "source_file" field + + + Field number for the "begin" field. + + + + Identifies the starting offset in bytes in the generated code + that relates to the identified object. + + + + Gets whether the "begin" field is set + + + Clears the value of the "begin" field + + + Field number for the "end" field. + + + + Identifies the ending offset in bytes in the generated code that + relates to the identified offset. The end offset should be one past + the last relevant byte (so the length of the text = end - begin). + + + + Gets whether the "end" field is set + + + Clears the value of the "end" field + + + + Base class for nearly all descriptors, providing common functionality. + + + + + The index of this descriptor within its parent descriptor. + + + This returns the index of this descriptor within its parent, for + this descriptor's type. (There can be duplicate values for different + types, e.g. one enum type with index 0 and one message type with index 0.) + + + + + Returns the name of the entity (field, message etc) being described. + + + + + The fully qualified name of the descriptor's target. + + + + + The file this descriptor was declared in. + + + + + The declaration information about the descriptor, or null if no declaration information + is available for this descriptor. + + + This information is typically only available for dynamically loaded descriptors, + for example within a protoc plugin where the full descriptors, including source info, + are passed to the code by protoc. + + + + + Retrieves the list of nested descriptors corresponding to the given field number, if any. + If the field is unknown or not a nested descriptor list, return null to terminate the search. + The default implementation returns null. + + + + + Provides additional information about the declaration of a descriptor, + such as source location and comments. + + + + + The descriptor this declaration relates to. + + + + + The start line of the declaration within the source file. This value is 1-based. + + + + + The start column of the declaration within the source file. This value is 1-based. + + + + + // The end line of the declaration within the source file. This value is 1-based. + + + + + The end column of the declaration within the source file. This value is 1-based, and + exclusive. (The final character of the declaration is on the column before this value.) + + + + + Comments appearing before the declaration. Never null, but may be empty. Multi-line comments + are represented as a newline-separated string. Leading whitespace and the comment marker ("//") + are removed from each line. + + + + + Comments appearing after the declaration. Never null, but may be empty. Multi-line comments + are represented as a newline-separated string. Leading whitespace and the comment marker ("//") + are removed from each line. + + + + + Comments appearing before the declaration, but separated from it by blank + lines. Each string represents a newline-separated paragraph of comments. + Leading whitespace and the comment marker ("//") are removed from each line. + The list is never null, but may be empty. Likewise each element is never null, but may be empty. + + + + + Contains lookup tables containing all the descriptors defined in a particular file. + + + + + Finds a symbol of the given name within the pool. + + The type of symbol to look for + Fully-qualified name to look up + The symbol with the given name and type, + or null if the symbol doesn't exist or has the wrong type + + + + Adds a package to the symbol tables. If a package by the same name + already exists, that is fine, but if some other kind of symbol + exists under the same name, an exception is thrown. If the package + has multiple components, this also adds the parent package(s). + + + + + Adds a symbol to the symbol table. + + The symbol already existed + in the symbol table. + + + + Verifies that the descriptor's name is valid (i.e. it contains + only letters, digits and underscores, and does not start with a digit). + + + + + + Returns the field with the given number in the given descriptor, + or null if it can't be found. + + + + + Adds a field to the fieldsByNumber table. + + A field with the same + containing type and number already exists. + + + + Adds an enum value to the enumValuesByNumber table. If an enum value + with the same type and number already exists, this method does nothing. + (This is allowed; the first value defined with the number takes precedence.) + + + + + Looks up a descriptor by name, relative to some other descriptor. + The name may be fully-qualified (with a leading '.'), partially-qualified, + or unqualified. C++-like name lookup semantics are used to search for the + matching descriptor. + + + This isn't heavily optimized, but it's only used during cross linking anyway. + If it starts being used more widely, we should look at performance more carefully. + + + + + Internal class containing utility methods when working with descriptors. + + + + + Equivalent to Func[TInput, int, TOutput] but usable in .NET 2.0. Only used to convert + arrays. + + + + + Converts the given array into a read-only list, applying the specified conversion to + each input element. + + + + + Thrown when building descriptors fails because the source DescriptorProtos + are not valid. + + + + + The full name of the descriptor where the error occurred. + + + + + A human-readable description of the error. (The Message property + is made up of the descriptor's name and this description.) + + + + + Descriptor for an enum type in a .proto file. + + + + + The brief name of the descriptor's target. + + + + + The CLR type for this enum. For generated code, this will be a CLR enum type. + + + + + If this is a nested type, get the outer descriptor, otherwise null. + + + + + An unmodifiable list of defined value descriptors for this enum. + + + + + Finds an enum value by number. If multiple enum values have the + same number, this returns the first defined value with that number. + If there is no value for the given number, this returns null. + + + + + Finds an enum value by name. + + The unqualified name of the value (e.g. "FOO"). + The value's descriptor, or null if not found. + + + + The (possibly empty) set of custom options for this enum. + + + + + The EnumOptions, defined in descriptor.proto. + If the options message is not present (i.e. there are no options), null is returned. + Custom options can be retrieved as extensions of the returned message. + NOTE: A defensive copy is created each time this property is retrieved. + + + + + Gets a single value enum option for this descriptor + + + + + Gets a repeated value enum option for this descriptor + + + + + Descriptor for a single enum value within an enum in a .proto file. + + + + + Returns the name of the enum value described by this object. + + + + + Returns the number associated with this enum value. + + + + + Returns the enum descriptor that this value is part of. + + + + + The (possibly empty) set of custom options for this enum value. + + + + + The EnumValueOptions, defined in descriptor.proto. + If the options message is not present (i.e. there are no options), null is returned. + Custom options can be retrieved as extensions of the returned message. + NOTE: A defensive copy is created each time this property is retrieved. + + + + + Gets a single value enum value option for this descriptor + + + + + Gets a repeated value enum value option for this descriptor + + + + + A collection to simplify retrieving the descriptors of extensions in a descriptor for a message + + + + + Returns a readonly list of all the extensions defined in this type in + the order they were defined in the source .proto file + + + + + Returns a readonly list of all the extensions define in this type that extend + the provided descriptor type in the order they were defined in the source .proto file + + + + + Returns a readonly list of all the extensions define in this type that extend + the provided descriptor type in accending field order + + + + + Base class for field accessors. + + + + + Descriptor for a field or extension within a message in a .proto file. + + + + + Get the field's containing message type, or null if it is a field defined at the top level of a file as an extension. + + + + + Returns the oneof containing this field, or null if it is not part of a oneof. + + + + + Returns the oneof containing this field if it's a "real" oneof, or null if either this + field is not part of a oneof, or the oneof is synthetic. + + + + + The effective JSON name for this field. This is usually the lower-camel-cased form of the field name, + but can be overridden using the json_name option in the .proto file. + + + + + Indicates whether this field supports presence, either implicitly (e.g. due to it being a message + type field) or explicitly via Has/Clear members. If this returns true, it is safe to call + and + on this field's accessor with a suitable message. + + + + + An extension identifier for this field, or null if this field isn't an extension. + + + + + The brief name of the descriptor's target. + + + + + Returns the accessor for this field. + + + + While a describes the field, it does not provide + any way of obtaining or changing the value of the field within a specific message; + that is the responsibility of the accessor. + + + In descriptors for generated code, the value returned by this property will be non-null for all + regular fields. However, if a message containing a map field is introspected, the list of nested messages will include + an auto-generated nested key/value pair message for the field. This is not represented in any + generated type, and the value of the map field itself is represented by a dictionary in the + reflection API. There are never instances of those "hidden" messages, so no accessor is provided + and this property will return null. + + + In dynamically loaded descriptors, the value returned by this property will current be null; + if and when dynamic messages are supported, it will return a suitable accessor to work with + them. + + + + + + Maps a field type as included in the .proto file to a FieldType. + + + + + Returns true if this field is a repeated field; false otherwise. + + + + + Returns true if this field is a required field; false otherwise. + + + + + Returns true if this field is a map field; false otherwise. + + + + + Returns true if this field is a packed, repeated field; false otherwise. + + + + + Returns true if this field extends another message type; false otherwise. + + + + + Returns the type of the field. + + + + + Returns the field number declared in the proto file. + + + + + Compares this descriptor with another one, ordering in "canonical" order + which simply means ascending order by field number. + must be a field of the same type, i.e. the of + both fields must be the same. + + + + + For enum fields, returns the field's type. + + + + + For embedded message and group fields, returns the field's type. + + + + + For extension fields, returns the extended type + + + + + The (possibly empty) set of custom options for this field. + + + + + The FieldOptions, defined in descriptor.proto. + If the options message is not present (i.e. there are no options), null is returned. + Custom options can be retrieved as extensions of the returned message. + NOTE: A defensive copy is created each time this property is retrieved. + + + + + Gets a single value field option for this descriptor + + + + + Gets a repeated value field option for this descriptor + + + + + Look up and cross-link all field types etc. + + + + + Enumeration of all the possible field types. + + + + + The double field type. + + + + + The float field type. + + + + + The int64 field type. + + + + + The uint64 field type. + + + + + The int32 field type. + + + + + The fixed64 field type. + + + + + The fixed32 field type. + + + + + The bool field type. + + + + + The string field type. + + + + + The field type used for groups. + + + + + The field type used for message fields. + + + + + The bytes field type. + + + + + The uint32 field type. + + + + + The sfixed32 field type. + + + + + The sfixed64 field type. + + + + + The sint32 field type. + + + + + The sint64 field type. + + + + + The field type used for enum fields. + + + + + The syntax of a .proto file + + + + + Proto2 syntax + + + + + Proto3 syntax + + + + + An unknown declared syntax + + + + + Describes a .proto file, including everything defined within. + IDescriptor is implemented such that the File property returns this descriptor, + and the FullName is the same as the Name. + + + + + Computes the full name of a descriptor within this file, with an optional parent message. + + + + + Extracts public dependencies from direct dependencies. This is a static method despite its + first parameter, as the value we're in the middle of constructing is only used for exceptions. + + + + + The descriptor in its protocol message representation. + + + + + The syntax of the file + + + + + The file name. + + + + + The package as declared in the .proto file. This may or may not + be equivalent to the .NET namespace of the generated classes. + + + + + Unmodifiable list of top-level message types declared in this file. + + + + + Unmodifiable list of top-level enum types declared in this file. + + + + + Unmodifiable list of top-level services declared in this file. + + + + + Unmodifiable list of top-level extensions declared in this file. + Note that some extensions may be incomplete (FieldDescriptor.Extension may be null) + if this descriptor was generated using a version of protoc that did not fully + support extensions in C#. + + + + + Unmodifiable list of this file's dependencies (imports). + + + + + Unmodifiable list of this file's public dependencies (public imports). + + + + + The original serialized binary form of this descriptor. + + + + + Implementation of IDescriptor.FullName - just returns the same as Name. + + + + + Implementation of IDescriptor.File - just returns this descriptor. + + + + + Pool containing symbol descriptors. + + + + + Finds a type (message, enum, service or extension) in the file by name. Does not find nested types. + + The unqualified type name to look for. + The type of descriptor to look for + The type's descriptor, or null if not found. + + + + Builds a FileDescriptor from its protocol buffer representation. + + The original serialized descriptor data. + We have only limited proto2 support, so serializing FileDescriptorProto + would not necessarily give us this. + The protocol message form of the FileDescriptor. + FileDescriptors corresponding to all of the + file's dependencies, in the exact order listed in the .proto file. May be null, + in which case it is treated as an empty array. + Whether unknown dependencies are ignored (true) or cause an exception to be thrown (false). + Details about generated code, for the purposes of reflection. + If is not + a valid descriptor. This can occur for a number of reasons, such as a field + having an undefined type or because two messages were defined with the same name. + + + + Creates a descriptor for generated code. + + + This method is only designed to be used by the results of generating code with protoc, + which creates the appropriate dependencies etc. It has to be public because the generated + code is "external", but should not be called directly by end users. + + + + + Converts the given descriptor binary data into FileDescriptor objects. + Note: reflection using the returned FileDescriptors is not currently supported. + + The binary file descriptor proto data. Must not be null, and any + dependencies must come before the descriptor which depends on them. (If A depends on B, and B + depends on C, then the descriptors must be presented in the order C, B, A.) This is compatible + with the order in which protoc provides descriptors to plugins. + The file descriptors corresponding to . + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns the file descriptor for descriptor.proto. + + + This is used for protos which take a direct dependency on descriptor.proto, typically for + annotations. While descriptor.proto is a proto2 file, it is built into the Google.Protobuf + runtime for reflection purposes. The messages are internal to the runtime as they would require + proto2 semantics for full support, but the file descriptor is available via this property. The + C# codegen in protoc automatically uses this property when it detects a dependency on descriptor.proto. + + + The file descriptor for descriptor.proto. + + + + + The (possibly empty) set of custom options for this file. + + + + + The FileOptions, defined in descriptor.proto. + If the options message is not present (i.e. there are no options), null is returned. + Custom options can be retrieved as extensions of the returned message. + NOTE: A defensive copy is created each time this property is retrieved. + + + + + Gets a single value file option for this descriptor + + + + + Gets a repeated value file option for this descriptor + + + + + Performs initialization for the given generic type argument. + + + This method is present for the sake of AOT compilers. It allows code (whether handwritten or generated) + to make calls into the reflection machinery of this library to express an intention to use that type + reflectively (e.g. for JSON parsing and formatting). The call itself does almost nothing, but AOT compilers + attempting to determine which generic type arguments need to be handled will spot the code path and act + accordingly. + + The type to force initialization for. + + + + Extra information provided by generated code when initializing a message or file descriptor. + These are constructed as required, and are not long-lived. Hand-written code should + never need to use this type. + + + + + Irrelevant for file descriptors; the CLR type for the message for message descriptors. + + + + + Irrelevant for file descriptors; the parser for message descriptors. + + + + + Irrelevant for file descriptors; the CLR property names (in message descriptor field order) + for fields in the message for message descriptors. + + + + + The extensions defined within this file/message descriptor + + + + + Irrelevant for file descriptors; the CLR property "base" names (in message descriptor oneof order) + for oneofs in the message for message descriptors. It is expected that for a oneof name of "Foo", + there will be a "FooCase" property and a "ClearFoo" method. + + + + + The reflection information for types within this file/message descriptor. Elements may be null + if there is no corresponding generated type, e.g. for map entry types. + + + + + The CLR types for enums within this file/message descriptor. + + + + + Creates a GeneratedClrTypeInfo for a message descriptor, with nested types, nested enums, the CLR type, property names and oneof names. + Each array parameter may be null, to indicate a lack of values. + The parameter order is designed to make it feasible to format the generated code readably. + + + + + Creates a GeneratedClrTypeInfo for a message descriptor, with nested types, nested enums, the CLR type, property names and oneof names. + Each array parameter may be null, to indicate a lack of values. + The parameter order is designed to make it feasible to format the generated code readably. + + + + + Creates a GeneratedClrTypeInfo for a file descriptor, with only types, enums, and extensions. + + + + + Creates a GeneratedClrTypeInfo for a file descriptor, with only types and enums. + + + + + Interface implemented by all descriptor types. + + + + + Returns the name of the entity (message, field etc) being described. + + + + + Returns the fully-qualified name of the entity being described. + + + + + Returns the descriptor for the .proto file that this entity is part of. + + + + + Allows fields to be reflectively accessed. + + + + + Returns the descriptor associated with this field. + + + + + Clears the field in the specified message. (For repeated fields, + this clears the list.) + + + + + Fetches the field value. For repeated values, this will be an + implementation. For map values, this will be an + implementation. + + + + + Indicates whether the field in the specified message is set. + For proto3 fields that aren't explicitly optional, this throws an + + + + + Mutator for single "simple" fields only. + + + Repeated fields are mutated by fetching the value and manipulating it as a list. + Map fields are mutated by fetching the value and manipulating it as a dictionary. + + The field is not a "simple" field. + + + + Accessor for map fields. + + + + + Describes a message type. + + + + + The brief name of the descriptor's target. + + + + + The CLR type used to represent message instances from this descriptor. + + + + The value returned by this property will be non-null for all regular fields. However, + if a message containing a map field is introspected, the list of nested messages will include + an auto-generated nested key/value pair message for the field. This is not represented in any + generated type, so this property will return null in such cases. + + + For wrapper types ( and the like), the type returned here + will be the generated message type, not the native type used by reflection for fields of those types. Code + using reflection should call to determine whether a message descriptor represents + a wrapper type, and handle the result appropriately. + + + + + + A parser for this message type. + + + + As is not generic, this cannot be statically + typed to the relevant type, but it should produce objects of a type compatible with . + + + The value returned by this property will be non-null for all regular fields. However, + if a message containing a map field is introspected, the list of nested messages will include + an auto-generated nested key/value pair message for the field. No message parser object is created for + such messages, so this property will return null in such cases. + + + For wrapper types ( and the like), the parser returned here + will be the generated message type, not the native type used by reflection for fields of those types. Code + using reflection should call to determine whether a message descriptor represents + a wrapper type, and handle the result appropriately. + + + + + + Returns whether this message is one of the "well known types" which may have runtime/protoc support. + + + + + Returns whether this message is one of the "wrapper types" used for fields which represent primitive values + with the addition of presence. + + + + + If this is a nested type, get the outer descriptor, otherwise null. + + + + + A collection of fields, which can be retrieved by name or field number. + + + + + An unmodifiable list of extensions defined in this message's scope. + Note that some extensions may be incomplete (FieldDescriptor.Extension may be null) + if they are declared in a file generated using a version of protoc that did not fully + support extensions in C#. + + + + + An unmodifiable list of this message type's nested types. + + + + + An unmodifiable list of this message type's enum types. + + + + + An unmodifiable list of the "oneof" field collections in this message type. + All "real" oneofs (where returns false) + come before synthetic ones. + + + + + The number of real "oneof" descriptors in this message type. Every element in + with an index less than this will have a property value + of false; every element with an index greater than or equal to this will have a + property value of true. + + + + + Finds a field by field name. + + The unqualified name of the field (e.g. "foo"). + The field's descriptor, or null if not found. + + + + Finds a field by field number. + + The field number within this message type. + The field's descriptor, or null if not found. + + + + Finds a nested descriptor by name. The is valid for fields, nested + message types, oneofs and enums. + + The unqualified name of the descriptor, e.g. "Foo" + The descriptor, or null if not found. + + + + The (possibly empty) set of custom options for this message. + + + + + The MessageOptions, defined in descriptor.proto. + If the options message is not present (i.e. there are no options), null is returned. + Custom options can be retrieved as extensions of the returned message. + NOTE: A defensive copy is created each time this property is retrieved. + + + + + Gets a single value message option for this descriptor + + + + + Gets a repeated value message option for this descriptor + + + + + Looks up and cross-links all fields and nested types. + + + + + A collection to simplify retrieving the field accessor for a particular field. + + + + + Returns the fields in the message as an immutable list, in the order in which they + are declared in the source .proto file. + + + + + Returns the fields in the message as an immutable list, in ascending field number + order. Field numbers need not be contiguous, so there is no direct mapping from the + index in the list to the field number; to retrieve a field by field number, it is better + to use the indexer. + + + + + Returns a read-only dictionary mapping the field names in this message as they're available + in the JSON representation to the field descriptors. For example, a field foo_bar + in the message would result two entries, one with a key fooBar and one with a key + foo_bar, both referring to the same field. + + + + + Retrieves the descriptor for the field with the given number. + + Number of the field to retrieve the descriptor for + The accessor for the given field + The message descriptor does not contain a field + with the given number + + + + Retrieves the descriptor for the field with the given name. + + Name of the field to retrieve the descriptor for + The descriptor for the given field + The message descriptor does not contain a field + with the given name + + + + Describes a single method in a service. + + + + + The service this method belongs to. + + + + + The method's input type. + + + + + The method's input type. + + + + + Indicates if client streams multiple requests. + + + + + Indicates if server streams multiple responses. + + + + + The (possibly empty) set of custom options for this method. + + + + + The MethodOptions, defined in descriptor.proto. + If the options message is not present (i.e. there are no options), null is returned. + Custom options can be retrieved as extensions of the returned message. + NOTE: A defensive copy is created each time this property is retrieved. + + + + + Gets a single value method option for this descriptor + + + + + Gets a repeated value method option for this descriptor + + + + + The brief name of the descriptor's target. + + + + + Reflection access for a oneof, allowing clear and "get case" actions. + + + + + Gets the descriptor for this oneof. + + + The descriptor of the oneof. + + + + + Clears the oneof in the specified message. + + + + + Indicates which field in the oneof is set for specified message + + + + + Describes a "oneof" field collection in a message type: a set of + fields of which at most one can be set in any particular message. + + + + + The brief name of the descriptor's target. + + + + + Gets the message type containing this oneof. + + + The message type containing this oneof. + + + + + Gets the fields within this oneof, in declaration order. + + + The fields within this oneof, in declaration order. + + + + + Returns true if this oneof is a synthetic oneof containing a proto3 optional field; + false otherwise. + + + + + Gets an accessor for reflective access to the values associated with the oneof + in a particular message. + + + + In descriptors for generated code, the value returned by this property will always be non-null. + + + In dynamically loaded descriptors, the value returned by this property will current be null; + if and when dynamic messages are supported, it will return a suitable accessor to work with + them. + + + + The accessor used for reflective access. + + + + + The (possibly empty) set of custom options for this oneof. + + + + + The OneofOptions, defined in descriptor.proto. + If the options message is not present (i.e. there are no options), null is returned. + Custom options can be retrieved as extensions of the returned message. + NOTE: A defensive copy is created each time this property is retrieved. + + + + + Gets a single value oneof option for this descriptor + + + + + Gets a repeated value oneof option for this descriptor + + + + + Specifies the original name (in the .proto file) of a named element, + such as an enum value. + + + + + The name of the element in the .proto file. + + + + + If the name is preferred in the .proto file. + + + + + Constructs a new attribute instance for the given name. + + The name of the element in the .proto file. + + + + Represents a package in the symbol table. We use PackageDescriptors + just as placeholders so that someone cannot define, say, a message type + that has the same name as an existing package. + + + + + The methods in this class are somewhat evil, and should not be tampered with lightly. + Basically they allow the creation of relatively weakly typed delegates from MethodInfos + which are more strongly typed. They do this by creating an appropriate strongly typed + delegate from the MethodInfo, and then calling that within an anonymous method. + Mind-bending stuff (at least to your humble narrator) but the resulting delegates are + very fast compared with calling Invoke later on. + + + + + Empty Type[] used when calling GetProperty to force property instead of indexer fetching. + + + + + Creates a delegate which will cast the argument to the type that declares the method, + call the method on it, then convert the result to object. + + The method to create a delegate for, which must be declared in an IMessage + implementation. + + + + Creates a delegate which will cast the argument to the type that declares the method, + call the method on it, then convert the result to the specified type. The method is expected + to actually return an enum (because of where we're calling it - for oneof cases). Sometimes that + means we need some extra work to perform conversions. + + The method to create a delegate for, which must be declared in an IMessage + implementation. + + + + Creates a delegate which will execute the given method after casting the first argument to + the type that declares the method, and the second argument to the first parameter type of the method. + + The method to create a delegate for, which must be declared in an IMessage + implementation. + + + + Creates a delegate which will execute the given method after casting the first argument to + type that declares the method. + + The method to create a delegate for, which must be declared in an IMessage + implementation. + + + + Creates a delegate which will execute the given method after casting the first argument to + the type that declares the method, and the second argument to the first parameter type of the method. + + + + + Creates a reflection helper for the given type arguments. Currently these are created on demand + rather than cached; this will be "busy" when initially loading a message's descriptor, but after that + they can be garbage collected. We could cache them by type if that proves to be important, but creating + an object is pretty cheap. + + + + + Accessor for repeated fields. + + + + + Describes a service type. + + + + + The brief name of the descriptor's target. + + + + + An unmodifiable list of methods in this service. + + + + + Finds a method by name. + + The unqualified name of the method (e.g. "Foo"). + The method's descriptor, or null if not found. + + + + The (possibly empty) set of custom options for this service. + + + + + The ServiceOptions, defined in descriptor.proto. + If the options message is not present (i.e. there are no options), null is returned. + Custom options can be retrieved as extensions of the returned message. + NOTE: A defensive copy is created each time this property is retrieved. + + + + + Gets a single value service option for this descriptor + + + + + Gets a repeated value service option for this descriptor + + + + + Accessor for single fields. + + + + + An immutable registry of types which can be looked up by their full name. + + + + + An empty type registry, containing no types. + + + + + Attempts to find a message descriptor by its full name. + + The full name of the message, which is the dot-separated + combination of package, containing messages and message name + The message descriptor corresponding to or null + if there is no such message descriptor. + + + + Creates a type registry from the specified set of file descriptors. + + + This is a convenience overload for + to allow calls such as TypeRegistry.FromFiles(descriptor1, descriptor2). + + The set of files to include in the registry. Must not contain null values. + A type registry for the given files. + + + + Creates a type registry from the specified set of file descriptors. + + + All message types within all the specified files are added to the registry, and + the dependencies of the specified files are also added, recursively. + + The set of files to include in the registry. Must not contain null values. + A type registry for the given files. + + + + Creates a type registry from the file descriptor parents of the specified set of message descriptors. + + + This is a convenience overload for + to allow calls such as TypeRegistry.FromFiles(descriptor1, descriptor2). + + The set of message descriptors to use to identify file descriptors to include in the registry. + Must not contain null values. + A type registry for the given files. + + + + Creates a type registry from the file descriptor parents of the specified set of message descriptors. + + + The specified message descriptors are only used to identify their file descriptors; the returned registry + contains all the types within the file descriptors which contain the specified message descriptors (and + the dependencies of those files), not just the specified messages. + + The set of message descriptors to use to identify file descriptors to include in the registry. + Must not contain null values. + A type registry for the given files. + + + + Builder class which isn't exposed, but acts as a convenient alternative to passing round two dictionaries in recursive calls. + + + + + Represents a single field in an UnknownFieldSet. + + An UnknownField consists of four lists of values. The lists correspond + to the four "wire types" used in the protocol buffer binary format. + Normally, only one of the four lists will contain any values, since it + is impossible to define a valid message type that declares two different + types for the same field number. However, the code is designed to allow + for the case where the same unknown field number is encountered using + multiple different wire types. + + + + + + Creates a new UnknownField. + + + + + Checks if two unknown field are equal. + + + + + Get the hash code of the unknown field. + + + + + Serializes the field, including the field number, and writes it to + + + The unknown field number. + The CodedOutputStream to write to. + + + + Computes the number of bytes required to encode this field, including field + number. + + + + + Merge the values in into this field. For each list + of values, 's values are append to the ones in this + field. + + + + + Returns a new list containing all of the given specified values from + both the and lists. + If is null and is empty, + null is returned. Otherwise, either a new list is created (if + is null) or the elements of are added to . + + + + + Adds a varint value. + + + + + Adds a fixed32 value. + + + + + Adds a fixed64 value. + + + + + Adds a length-delimited value. + + + + + Adds to the , creating + a new list if is null. The list is returned - either + the original reference or the new list. + + + + + Used to keep track of fields which were seen when parsing a protocol message + but whose field numbers or types are unrecognized. This most frequently + occurs when new fields are added to a message type and then messages containing + those fields are read by old software that was built before the new types were + added. + + Most users will never need to use this class directly. + + + + + Creates a new UnknownFieldSet. + + + + + Checks whether or not the given field number is present in the set. + + + + + Serializes the set and writes it to . + + + + + Gets the number of bytes required to encode this set. + + + + + Checks if two unknown field sets are equal. + + + + + Gets the unknown field set's hash code. + + + + + Adds a field to the set. If a field with the same number already exists, it + is replaced. + + + + + Parse a single field from and merge it + into this set. + + The coded input stream containing the field + false if the tag is an "end group" tag, true otherwise + + + + Create a new UnknownFieldSet if unknownFields is null. + Parse a single field from and merge it + into unknownFields. If is configured to discard unknown fields, + will be returned as-is and the field will be skipped. + + The UnknownFieldSet which need to be merged + The coded input stream containing the field + The merged UnknownFieldSet + + + + Merges the fields from into this set. + If a field number exists in both sets, the values in + will be appended to the values in this set. + + + + + Created a new UnknownFieldSet to if + needed and merges the fields from into the first set. + If a field number exists in both sets, the values in + will be appended to the values in this set. + + + + + Adds a field to the unknown field set. If a field with the same + number already exists, the two are merged. + + + + + Clone an unknown field set from . + + + + Holder for reflection information generated from google/protobuf/any.proto + + + File descriptor for google/protobuf/any.proto + + + + `Any` contains an arbitrary serialized protocol buffer message along with a + URL that describes the type of the serialized message. + + Protobuf library provides support to pack/unpack Any values in the form + of utility functions or additional generated methods of the Any type. + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := ptypes.MarshalAny(foo) + ... + foo := &pb.Foo{} + if err := ptypes.UnmarshalAny(any, foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by default use + 'type.googleapis.com/full.type.name' as the type URL and the unpack + methods only use the fully qualified type name after the last '/' + in the type URL, for example "foo.bar.com/x/y.z" will yield type + name "y.z". + + JSON + ==== + The JSON representation of an `Any` value uses the regular + representation of the deserialized, embedded message, with an + additional field `@type` which contains the type URL. Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": <string>, + "lastName": <string> + } + + If the embedded message type is well-known and has a custom JSON + representation, that representation will be embedded adding a field + `value` which holds the custom JSON in addition to the `@type` + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + + + + Field number for the "type_url" field. + + + + A URL/resource name that uniquely identifies the type of the serialized + protocol buffer message. This string must contain at least + one "/" character. The last segment of the URL's path must represent + the fully qualified name of the type (as in + `path/google.protobuf.Duration`). The name should be in a canonical form + (e.g., leading "." is not accepted). + + In practice, teams usually precompile into the binary all types that they + expect it to use in the context of Any. However, for URLs which use the + scheme `http`, `https`, or no scheme, one can optionally set up a type + server that maps type URLs to message definitions as follows: + + * If no scheme is provided, `https` is assumed. + * An HTTP GET on the URL must yield a [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in the official + protobuf release, and it is not used for type URLs beginning with + type.googleapis.com. + + Schemes other than `http`, `https` (or the empty scheme) might be + used with implementation specific semantics. + + + + Field number for the "value" field. + + + + Must be a valid serialized protocol buffer of the above specified type. + + + + + Retrieves the type name for a type URL, matching the + of the packed message type. + + + + This is always just the last part of the URL, after the final slash. No validation of + anything before the trailing slash is performed. If the type URL does not include a slash, + an empty string is returned rather than an exception being thrown; this won't match any types, + and the calling code is probably in a better position to give a meaningful error. + + + There is no handling of fragments or queries at the moment. + + + The URL to extract the type name from + The type name + + + + Returns a bool indictating whether this Any message is of the target message type + + The descriptor of the message type + true if the type name matches the descriptor's full name or false otherwise + + + + Unpacks the content of this Any message into the target message type, + which must match the type URL within this Any message. + + The type of message to unpack the content into. + The unpacked message. + The target message type doesn't match the type URL in this message + + + + Attempts to unpack the content of this Any message into the target message type, + if it matches the type URL within this Any message. + + The type of message to attempt to unpack the content into. + true if the message was successfully unpacked; false if the type name didn't match + + + + Packs the specified message into an Any message using a type URL prefix of "type.googleapis.com". + + The message to pack. + An Any message with the content and type URL of . + + + + Packs the specified message into an Any message using the specified type URL prefix. + + The message to pack. + The prefix for the type URL. + An Any message with the content and type URL of . + + + Holder for reflection information generated from google/protobuf/api.proto + + + File descriptor for google/protobuf/api.proto + + + + Api is a light-weight descriptor for an API Interface. + + Interfaces are also described as "protocol buffer services" in some contexts, + such as by the "service" keyword in a .proto file, but they are different + from API Services, which represent a concrete implementation of an interface + as opposed to simply a description of methods and bindings. They are also + sometimes simply referred to as "APIs" in other contexts, such as the name of + this message itself. See https://cloud.google.com/apis/design/glossary for + detailed terminology. + + + + Field number for the "name" field. + + + + The fully qualified name of this interface, including package name + followed by the interface's simple name. + + + + Field number for the "methods" field. + + + + The methods of this interface, in unspecified order. + + + + Field number for the "options" field. + + + + Any metadata attached to the interface. + + + + Field number for the "version" field. + + + + A version string for this interface. If specified, must have the form + `major-version.minor-version`, as in `1.10`. If the minor version is + omitted, it defaults to zero. If the entire version field is empty, the + major version is derived from the package name, as outlined below. If the + field is not empty, the version in the package name will be verified to be + consistent with what is provided here. + + The versioning schema uses [semantic + versioning](http://semver.org) where the major version number + indicates a breaking change and the minor version an additive, + non-breaking change. Both version numbers are signals to users + what to expect from different versions, and should be carefully + chosen based on the product plan. + + The major version is also reflected in the package name of the + interface, which must end in `v<major-version>`, as in + `google.feature.v1`. For major versions 0 and 1, the suffix can + be omitted. Zero major versions must only be used for + experimental, non-GA interfaces. + + + + Field number for the "source_context" field. + + + + Source context for the protocol buffer service represented by this + message. + + + + Field number for the "mixins" field. + + + + Included interfaces. See [Mixin][]. + + + + Field number for the "syntax" field. + + + + The source syntax of the service. + + + + + Method represents a method of an API interface. + + + + Field number for the "name" field. + + + + The simple name of this method. + + + + Field number for the "request_type_url" field. + + + + A URL of the input message type. + + + + Field number for the "request_streaming" field. + + + + If true, the request is streamed. + + + + Field number for the "response_type_url" field. + + + + The URL of the output message type. + + + + Field number for the "response_streaming" field. + + + + If true, the response is streamed. + + + + Field number for the "options" field. + + + + Any metadata attached to the method. + + + + Field number for the "syntax" field. + + + + The source syntax of this method. + + + + + Declares an API Interface to be included in this interface. The including + interface must redeclare all the methods from the included interface, but + documentation and options are inherited as follows: + + - If after comment and whitespace stripping, the documentation + string of the redeclared method is empty, it will be inherited + from the original method. + + - Each annotation belonging to the service config (http, + visibility) which is not set in the redeclared method will be + inherited. + + - If an http annotation is inherited, the path pattern will be + modified as follows. Any version prefix will be replaced by the + version of the including interface plus the [root][] path if + specified. + + Example of a simple mixin: + + package google.acl.v1; + service AccessControl { + // Get the underlying ACL object. + rpc GetAcl(GetAclRequest) returns (Acl) { + option (google.api.http).get = "/v1/{resource=**}:getAcl"; + } + } + + package google.storage.v2; + service Storage { + rpc GetAcl(GetAclRequest) returns (Acl); + + // Get a data record. + rpc GetData(GetDataRequest) returns (Data) { + option (google.api.http).get = "/v2/{resource=**}"; + } + } + + Example of a mixin configuration: + + apis: + - name: google.storage.v2.Storage + mixins: + - name: google.acl.v1.AccessControl + + The mixin construct implies that all methods in `AccessControl` are + also declared with same name and request/response types in + `Storage`. A documentation generator or annotation processor will + see the effective `Storage.GetAcl` method after inherting + documentation and annotations as follows: + + service Storage { + // Get the underlying ACL object. + rpc GetAcl(GetAclRequest) returns (Acl) { + option (google.api.http).get = "/v2/{resource=**}:getAcl"; + } + ... + } + + Note how the version in the path pattern changed from `v1` to `v2`. + + If the `root` field in the mixin is specified, it should be a + relative path under which inherited HTTP paths are placed. Example: + + apis: + - name: google.storage.v2.Storage + mixins: + - name: google.acl.v1.AccessControl + root: acls + + This implies the following inherited HTTP annotation: + + service Storage { + // Get the underlying ACL object. + rpc GetAcl(GetAclRequest) returns (Acl) { + option (google.api.http).get = "/v2/acls/{resource=**}:getAcl"; + } + ... + } + + + + Field number for the "name" field. + + + + The fully qualified name of the interface which is included. + + + + Field number for the "root" field. + + + + If non-empty specifies a path under which inherited HTTP paths + are rooted. + + + + Holder for reflection information generated from google/protobuf/duration.proto + + + File descriptor for google/protobuf/duration.proto + + + + A Duration represents a signed, fixed-length span of time represented + as a count of seconds and fractions of seconds at nanosecond + resolution. It is independent of any calendar and concepts like "day" + or "month". It is related to Timestamp in that the difference between + two Timestamp values is a Duration and it can be added or subtracted + from a Timestamp. Range is approximately +-10,000 years. + + # Examples + + Example 1: Compute Duration from two Timestamps in pseudo code. + + Timestamp start = ...; + Timestamp end = ...; + Duration duration = ...; + + duration.seconds = end.seconds - start.seconds; + duration.nanos = end.nanos - start.nanos; + + if (duration.seconds < 0 && duration.nanos > 0) { + duration.seconds += 1; + duration.nanos -= 1000000000; + } else if (duration.seconds > 0 && duration.nanos < 0) { + duration.seconds -= 1; + duration.nanos += 1000000000; + } + + Example 2: Compute Timestamp from Timestamp + Duration in pseudo code. + + Timestamp start = ...; + Duration duration = ...; + Timestamp end = ...; + + end.seconds = start.seconds + duration.seconds; + end.nanos = start.nanos + duration.nanos; + + if (end.nanos < 0) { + end.seconds -= 1; + end.nanos += 1000000000; + } else if (end.nanos >= 1000000000) { + end.seconds += 1; + end.nanos -= 1000000000; + } + + Example 3: Compute Duration from datetime.timedelta in Python. + + td = datetime.timedelta(days=3, minutes=10) + duration = Duration() + duration.FromTimedelta(td) + + # JSON Mapping + + In JSON format, the Duration type is encoded as a string rather than an + object, where the string ends in the suffix "s" (indicating seconds) and + is preceded by the number of seconds, with nanoseconds expressed as + fractional seconds. For example, 3 seconds with 0 nanoseconds should be + encoded in JSON format as "3s", while 3 seconds and 1 nanosecond should + be expressed in JSON format as "3.000000001s", and 3 seconds and 1 + microsecond should be expressed in JSON format as "3.000001s". + + + + Field number for the "seconds" field. + + + + Signed seconds of the span of time. Must be from -315,576,000,000 + to +315,576,000,000 inclusive. Note: these bounds are computed from: + 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years + + + + Field number for the "nanos" field. + + + + Signed fractions of a second at nanosecond resolution of the span + of time. Durations less than one second are represented with a 0 + `seconds` field and a positive or negative `nanos` field. For durations + of one second or more, a non-zero value for the `nanos` field must be + of the same sign as the `seconds` field. Must be from -999,999,999 + to +999,999,999 inclusive. + + + + + The number of nanoseconds in a second. + + + + + The number of nanoseconds in a BCL tick (as used by and ). + + + + + The maximum permitted number of seconds. + + + + + The minimum permitted number of seconds. + + + + + Converts this to a . + + If the duration is not a precise number of ticks, it is truncated towards 0. + The value of this duration, as a TimeSpan. + This value isn't a valid normalized duration, as + described in the documentation. + + + + Converts the given to a . + + The TimeSpan to convert. + The value of the given TimeSpan, as a Duration. + + + + Returns the result of negating the duration. For example, the negation of 5 minutes is -5 minutes. + + The duration to negate. Must not be null. + The negated value of this duration. + + + + Adds the two specified values together. + + The first value to add. Must not be null. + The second value to add. Must not be null. + + + + + Subtracts one from another. + + The duration to subtract from. Must not be null. + The duration to subtract. Must not be null. + The difference between the two specified durations. + + + + Creates a duration with the normalized values from the given number of seconds and + nanoseconds, conforming with the description in the proto file. + + + + + Converts a duration specified in seconds/nanoseconds to a string. + + + If the value is a normalized duration in the range described in duration.proto, + is ignored. Otherwise, if the parameter is true, + a JSON object with a warning is returned; if it is false, an is thrown. + + Seconds portion of the duration. + Nanoseconds portion of the duration. + Determines the handling of non-normalized values + The represented duration is invalid, and is false. + + + + Returns a string representation of this for diagnostic purposes. + + + Normally the returned value will be a JSON string value (including leading and trailing quotes) but + when the value is non-normalized or out of range, a JSON object representation will be returned + instead, including a warning. This is to avoid exceptions being thrown when trying to + diagnose problems - the regular JSON formatter will still throw an exception for non-normalized + values. + + A string representation of this value. + + + + Appends a number of nanoseconds to a StringBuilder. Either 0 digits are added (in which + case no "." is appended), or 3 6 or 9 digits. This is internal for use in Timestamp as well + as Duration. + + + + Holder for reflection information generated from google/protobuf/empty.proto + + + File descriptor for google/protobuf/empty.proto + + + + A generic empty message that you can re-use to avoid defining duplicated + empty messages in your APIs. A typical example is to use it as the request + or the response type of an API method. For instance: + + service Foo { + rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); + } + + The JSON representation for `Empty` is empty JSON object `{}`. + + + + Holder for reflection information generated from google/protobuf/field_mask.proto + + + File descriptor for google/protobuf/field_mask.proto + + + + `FieldMask` represents a set of symbolic field paths, for example: + + paths: "f.a" + paths: "f.b.d" + + Here `f` represents a field in some root message, `a` and `b` + fields in the message found in `f`, and `d` a field found in the + message in `f.b`. + + Field masks are used to specify a subset of fields that should be + returned by a get operation or modified by an update operation. + Field masks also have a custom JSON encoding (see below). + + # Field Masks in Projections + + When used in the context of a projection, a response message or + sub-message is filtered by the API to only contain those fields as + specified in the mask. For example, if the mask in the previous + example is applied to a response message as follows: + + f { + a : 22 + b { + d : 1 + x : 2 + } + y : 13 + } + z: 8 + + The result will not contain specific values for fields x,y and z + (their value will be set to the default, and omitted in proto text + output): + + f { + a : 22 + b { + d : 1 + } + } + + A repeated field is not allowed except at the last position of a + paths string. + + If a FieldMask object is not present in a get operation, the + operation applies to all fields (as if a FieldMask of all fields + had been specified). + + Note that a field mask does not necessarily apply to the + top-level response message. In case of a REST get operation, the + field mask applies directly to the response, but in case of a REST + list operation, the mask instead applies to each individual message + in the returned resource list. In case of a REST custom method, + other definitions may be used. Where the mask applies will be + clearly documented together with its declaration in the API. In + any case, the effect on the returned resource/resources is required + behavior for APIs. + + # Field Masks in Update Operations + + A field mask in update operations specifies which fields of the + targeted resource are going to be updated. The API is required + to only change the values of the fields as specified in the mask + and leave the others untouched. If a resource is passed in to + describe the updated values, the API ignores the values of all + fields not covered by the mask. + + If a repeated field is specified for an update operation, new values will + be appended to the existing repeated field in the target resource. Note that + a repeated field is only allowed in the last position of a `paths` string. + + If a sub-message is specified in the last position of the field mask for an + update operation, then new value will be merged into the existing sub-message + in the target resource. + + For example, given the target message: + + f { + b { + d: 1 + x: 2 + } + c: [1] + } + + And an update message: + + f { + b { + d: 10 + } + c: [2] + } + + then if the field mask is: + + paths: ["f.b", "f.c"] + + then the result will be: + + f { + b { + d: 10 + x: 2 + } + c: [1, 2] + } + + An implementation may provide options to override this default behavior for + repeated and message fields. + + In order to reset a field's value to the default, the field must + be in the mask and set to the default value in the provided resource. + Hence, in order to reset all fields of a resource, provide a default + instance of the resource and set all fields in the mask, or do + not provide a mask as described below. + + If a field mask is not present on update, the operation applies to + all fields (as if a field mask of all fields has been specified). + Note that in the presence of schema evolution, this may mean that + fields the client does not know and has therefore not filled into + the request will be reset to their default. If this is unwanted + behavior, a specific service may require a client to always specify + a field mask, producing an error if not. + + As with get operations, the location of the resource which + describes the updated values in the request message depends on the + operation kind. In any case, the effect of the field mask is + required to be honored by the API. + + ## Considerations for HTTP REST + + The HTTP kind of an update operation which uses a field mask must + be set to PATCH instead of PUT in order to satisfy HTTP semantics + (PUT must only be used for full updates). + + # JSON Encoding of Field Masks + + In JSON, a field mask is encoded as a single string where paths are + separated by a comma. Fields name in each path are converted + to/from lower-camel naming conventions. + + As an example, consider the following message declarations: + + message Profile { + User user = 1; + Photo photo = 2; + } + message User { + string display_name = 1; + string address = 2; + } + + In proto a field mask for `Profile` may look as such: + + mask { + paths: "user.display_name" + paths: "photo" + } + + In JSON, the same mask is represented as below: + + { + mask: "user.displayName,photo" + } + + # Field Masks and Oneof Fields + + Field masks treat fields in oneofs just as regular fields. Consider the + following message: + + message SampleMessage { + oneof test_oneof { + string name = 4; + SubMessage sub_message = 9; + } + } + + The field mask can be: + + mask { + paths: "name" + } + + Or: + + mask { + paths: "sub_message" + } + + Note that oneof type names ("test_oneof" in this case) cannot be used in + paths. + + ## Field Mask Verification + + The implementation of any API method which has a FieldMask type field in the + request should verify the included field paths, and return an + `INVALID_ARGUMENT` error if any path is unmappable. + + + + Field number for the "paths" field. + + + + The set of field mask paths. + + + + + Converts a field mask specified by paths to a string. + + + If the value is a normalized duration in the range described in field_mask.proto, + is ignored. Otherwise, if the parameter is true, + a JSON object with a warning is returned; if it is false, an is thrown. + + Paths in the field mask + Determines the handling of non-normalized values + The represented field mask is invalid, and is false. + + + + Returns a string representation of this for diagnostic purposes. + + + Normally the returned value will be a JSON string value (including leading and trailing quotes) but + when the value is non-normalized or out of range, a JSON object representation will be returned + instead, including a warning. This is to avoid exceptions being thrown when trying to + diagnose problems - the regular JSON formatter will still throw an exception for non-normalized + values. + + A string representation of this value. + + + + Parses from a string to a FieldMask. + + + + + Parses from a string to a FieldMask and validates all field paths. + + The type to validate the field paths against. + + + + Constructs a FieldMask for a list of field paths in a certain type. + + The type to validate the field paths against. + + + + Constructs a FieldMask from the passed field numbers. + + The type to validate the field paths against. + + + + Constructs a FieldMask from the passed field numbers. + + The type to validate the field paths against. + + + + Checks whether the given path is valid for a field mask. + + true if the path is valid; false otherwise + + + + Checks whether paths in a given fields mask are valid. + + The type to validate the field paths against. + + + + Checks whether paths in a given fields mask are valid. + + + + + Checks whether a given field path is valid. + + The type to validate the field paths against. + + + + Checks whether paths in a given fields mask are valid. + + + + + Converts this FieldMask to its canonical form. In the canonical form of a + FieldMask, all field paths are sorted alphabetically and redundant field + paths are removed. + + + + + Creates a union of two or more FieldMasks. + + + + + Calculates the intersection of two FieldMasks. + + + + + Merges fields specified by this FieldMask from one message to another with the + specified merge options. + + + + + Merges fields specified by this FieldMask from one message to another. + + + + + Options to customize merging behavior. + + + + + Whether to replace message fields(i.e., discard existing content in + destination message fields) when merging. + Default behavior is to merge the source message field into the + destination message field. + + + + + Whether to replace repeated fields (i.e., discard existing content in + destination repeated fields) when merging. + Default behavior is to append elements from source repeated field to the + destination repeated field. + + + + + Whether to replace primitive (non-repeated and non-message) fields in + destination message fields with the source primitive fields (i.e., if the + field is set in the source, the value is copied to the + destination; if the field is unset in the source, the field is cleared + from the destination) when merging. + + Default behavior is to always set the value of the source primitive + field to the destination primitive field, and if the source field is + unset, the default value of the source field is copied to the + destination. + + + + Holder for reflection information generated from google/protobuf/source_context.proto + + + File descriptor for google/protobuf/source_context.proto + + + + `SourceContext` represents information about the source of a + protobuf element, like the file in which it is defined. + + + + Field number for the "file_name" field. + + + + The path-qualified name of the .proto file that contained the associated + protobuf element. For example: `"google/protobuf/source_context.proto"`. + + + + Holder for reflection information generated from google/protobuf/struct.proto + + + File descriptor for google/protobuf/struct.proto + + + + `NullValue` is a singleton enumeration to represent the null value for the + `Value` type union. + + The JSON representation for `NullValue` is JSON `null`. + + + + + Null value. + + + + + `Struct` represents a structured data value, consisting of fields + which map to dynamically typed values. In some languages, `Struct` + might be supported by a native representation. For example, in + scripting languages like JS a struct is represented as an + object. The details of that representation are described together + with the proto support for the language. + + The JSON representation for `Struct` is JSON object. + + + + Field number for the "fields" field. + + + + Unordered map of dynamically typed values. + + + + + `Value` represents a dynamically typed value which can be either + null, a number, a string, a boolean, a recursive struct value, or a + list of values. A producer of value is expected to set one of that + variants, absence of any variant indicates an error. + + The JSON representation for `Value` is JSON value. + + + + Field number for the "null_value" field. + + + + Represents a null value. + + + + Field number for the "number_value" field. + + + + Represents a double value. + + + + Field number for the "string_value" field. + + + + Represents a string value. + + + + Field number for the "bool_value" field. + + + + Represents a boolean value. + + + + Field number for the "struct_value" field. + + + + Represents a structured value. + + + + Field number for the "list_value" field. + + + + Represents a repeated `Value`. + + + + Enum of possible cases for the "kind" oneof. + + + + Convenience method to create a Value message with a string value. + + Value to set for the StringValue property. + A newly-created Value message with the given value. + + + + Convenience method to create a Value message with a number value. + + Value to set for the NumberValue property. + A newly-created Value message with the given value. + + + + Convenience method to create a Value message with a Boolean value. + + Value to set for the BoolValue property. + A newly-created Value message with the given value. + + + + Convenience method to create a Value message with a null initial value. + + A newly-created Value message a null initial value. + + + + Convenience method to create a Value message with an initial list of values. + + The values provided are not cloned; the references are copied directly. + A newly-created Value message an initial list value. + + + + Convenience method to create a Value message with an initial struct value + + The value provided is not cloned; the reference is copied directly. + A newly-created Value message an initial struct value. + + + + `ListValue` is a wrapper around a repeated field of values. + + The JSON representation for `ListValue` is JSON array. + + + + Field number for the "values" field. + + + + Repeated field of dynamically typed values. + + + + + Extension methods on BCL time-related types, converting to protobuf types. + + + + + Converts the given to a . + + The date and time to convert to a timestamp. + The value has a other than Utc. + The converted timestamp. + + + + Converts the given to a + + The offset is taken into consideration when converting the value (so the same instant in time + is represented) but is not a separate part of the resulting value. In other words, there is no + roundtrip operation to retrieve the original DateTimeOffset. + The date and time (with UTC offset) to convert to a timestamp. + The converted timestamp. + + + + Converts the given to a . + + The time span to convert. + The converted duration. + + + Holder for reflection information generated from google/protobuf/timestamp.proto + + + File descriptor for google/protobuf/timestamp.proto + + + + A Timestamp represents a point in time independent of any time zone or local + calendar, encoded as a count of seconds and fractions of seconds at + nanosecond resolution. The count is relative to an epoch at UTC midnight on + January 1, 1970, in the proleptic Gregorian calendar which extends the + Gregorian calendar backwards to year one. + + All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap + second table is needed for interpretation, using a [24-hour linear + smear](https://developers.google.com/time/smear). + + The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By + restricting to that range, we ensure that we can convert to and from [RFC + 3339](https://www.ietf.org/rfc/rfc3339.txt) date strings. + + # Examples + + Example 1: Compute Timestamp from POSIX `time()`. + + Timestamp timestamp; + timestamp.set_seconds(time(NULL)); + timestamp.set_nanos(0); + + Example 2: Compute Timestamp from POSIX `gettimeofday()`. + + struct timeval tv; + gettimeofday(&tv, NULL); + + Timestamp timestamp; + timestamp.set_seconds(tv.tv_sec); + timestamp.set_nanos(tv.tv_usec * 1000); + + Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`. + + FILETIME ft; + GetSystemTimeAsFileTime(&ft); + UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime; + + // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z + // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z. + Timestamp timestamp; + timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL)); + timestamp.set_nanos((INT32) ((ticks % 10000000) * 100)); + + Example 4: Compute Timestamp from Java `System.currentTimeMillis()`. + + long millis = System.currentTimeMillis(); + + Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000) + .setNanos((int) ((millis % 1000) * 1000000)).build(); + + Example 5: Compute Timestamp from current time in Python. + + timestamp = Timestamp() + timestamp.GetCurrentTime() + + # JSON Mapping + + In JSON format, the Timestamp type is encoded as a string in the + [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the + format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z" + where {year} is always expressed using four digits while {month}, {day}, + {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional + seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution), + are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone + is required. A proto3 JSON serializer should always use UTC (as indicated by + "Z") when printing the Timestamp type and a proto3 JSON parser should be + able to accept both UTC and other timezones (as indicated by an offset). + + For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past + 01:30 UTC on January 15, 2017. + + In JavaScript, one can convert a Date object to this format using the + standard + [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString) + method. In Python, a standard `datetime.datetime` object can be converted + to this format using + [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with + the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use + the Joda Time's [`ISODateTimeFormat.dateTime()`]( + http://www.joda.org/joda-time/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime%2D%2D + ) to obtain a formatter capable of generating timestamps in this format. + + + + Field number for the "seconds" field. + + + + Represents seconds of UTC time since Unix epoch + 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to + 9999-12-31T23:59:59Z inclusive. + + + + Field number for the "nanos" field. + + + + Non-negative fractions of a second at nanosecond resolution. Negative + second values with fractions must still have non-negative nanos values + that count forward in time. Must be from 0 to 999,999,999 + inclusive. + + + + + Returns the difference between one and another, as a . + + The timestamp to subtract from. Must not be null. + The timestamp to subtract. Must not be null. + The difference between the two specified timestamps. + + + + Adds a to a , to obtain another Timestamp. + + The timestamp to add the duration to. Must not be null. + The duration to add. Must not be null. + The result of adding the duration to the timestamp. + + + + Subtracts a from a , to obtain another Timestamp. + + The timestamp to subtract the duration from. Must not be null. + The duration to subtract. + The result of subtracting the duration from the timestamp. + + + + Converts this timestamp into a . + + + The resulting DateTime will always have a Kind of Utc. + If the timestamp is not a precise number of ticks, it will be truncated towards the start + of time. For example, a timestamp with a value of 99 will result in a + value precisely on a second. + + This timestamp as a DateTime. + The timestamp contains invalid values; either it is + incorrectly normalized or is outside the valid range. + + + + Converts this timestamp into a . + + + The resulting DateTimeOffset will always have an Offset of zero. + If the timestamp is not a precise number of ticks, it will be truncated towards the start + of time. For example, a timestamp with a value of 99 will result in a + value precisely on a second. + + This timestamp as a DateTimeOffset. + The timestamp contains invalid values; either it is + incorrectly normalized or is outside the valid range. + + + + Converts the specified to a . + + + The Kind of is not DateTimeKind.Utc. + The converted timestamp. + + + + Converts the given to a + + The offset is taken into consideration when converting the value (so the same instant in time + is represented) but is not a separate part of the resulting value. In other words, there is no + roundtrip operation to retrieve the original DateTimeOffset. + The date and time (with UTC offset) to convert to a timestamp. + The converted timestamp. + + + + Converts a timestamp specified in seconds/nanoseconds to a string. + + + If the value is a normalized duration in the range described in timestamp.proto, + is ignored. Otherwise, if the parameter is true, + a JSON object with a warning is returned; if it is false, an is thrown. + + Seconds portion of the duration. + Nanoseconds portion of the duration. + Determines the handling of non-normalized values + The represented duration is invalid, and is false. + + + + Given another timestamp, returns 0 if the timestamps are equivalent, -1 if this timestamp precedes the other, and 1 otherwise + + + Make sure the timestamps are normalized. Comparing non-normalized timestamps is not specified and may give unexpected results. + + Timestamp to compare + an integer indicating whether this timestamp precedes or follows the other + + + + Compares two timestamps and returns whether the first is less than (chronologically precedes) the second + + + Make sure the timestamps are normalized. Comparing non-normalized timestamps is not specified and may give unexpected results. + + + + true if a precedes b + + + + Compares two timestamps and returns whether the first is greater than (chronologically follows) the second + + + Make sure the timestamps are normalized. Comparing non-normalized timestamps is not specified and may give unexpected results. + + + + true if a follows b + + + + Compares two timestamps and returns whether the first is less than (chronologically precedes) the second + + + Make sure the timestamps are normalized. Comparing non-normalized timestamps is not specified and may give unexpected results. + + + + true if a precedes b + + + + Compares two timestamps and returns whether the first is greater than (chronologically follows) the second + + + Make sure the timestamps are normalized. Comparing non-normalized timestamps is not specified and may give unexpected results. + + + + true if a follows b + + + + Returns whether two timestamps are equivalent + + + Make sure the timestamps are normalized. Comparing non-normalized timestamps is not specified and may give unexpected results. + + + + true if the two timestamps refer to the same nanosecond + + + + Returns whether two timestamps differ + + + Make sure the timestamps are normalized. Comparing non-normalized timestamps is not specified and may give unexpected results. + + + + true if the two timestamps differ + + + + Returns a string representation of this for diagnostic purposes. + + + Normally the returned value will be a JSON string value (including leading and trailing quotes) but + when the value is non-normalized or out of range, a JSON object representation will be returned + instead, including a warning. This is to avoid exceptions being thrown when trying to + diagnose problems - the regular JSON formatter will still throw an exception for non-normalized + values. + + A string representation of this value. + + + Holder for reflection information generated from google/protobuf/type.proto + + + File descriptor for google/protobuf/type.proto + + + + The syntax in which a protocol buffer element is defined. + + + + + Syntax `proto2`. + + + + + Syntax `proto3`. + + + + + A protocol buffer message type. + + + + Field number for the "name" field. + + + + The fully qualified message name. + + + + Field number for the "fields" field. + + + + The list of fields. + + + + Field number for the "oneofs" field. + + + + The list of types appearing in `oneof` definitions in this type. + + + + Field number for the "options" field. + + + + The protocol buffer options. + + + + Field number for the "source_context" field. + + + + The source context. + + + + Field number for the "syntax" field. + + + + The source syntax. + + + + + A single field of a message type. + + + + Field number for the "kind" field. + + + + The field type. + + + + Field number for the "cardinality" field. + + + + The field cardinality. + + + + Field number for the "number" field. + + + + The field number. + + + + Field number for the "name" field. + + + + The field name. + + + + Field number for the "type_url" field. + + + + The field type URL, without the scheme, for message or enumeration + types. Example: `"type.googleapis.com/google.protobuf.Timestamp"`. + + + + Field number for the "oneof_index" field. + + + + The index of the field type in `Type.oneofs`, for message or enumeration + types. The first type has index 1; zero means the type is not in the list. + + + + Field number for the "packed" field. + + + + Whether to use alternative packed wire representation. + + + + Field number for the "options" field. + + + + The protocol buffer options. + + + + Field number for the "json_name" field. + + + + The field JSON name. + + + + Field number for the "default_value" field. + + + + The string value of the default value of this field. Proto2 syntax only. + + + + Container for nested types declared in the Field message type. + + + + Basic field types. + + + + + Field type unknown. + + + + + Field type double. + + + + + Field type float. + + + + + Field type int64. + + + + + Field type uint64. + + + + + Field type int32. + + + + + Field type fixed64. + + + + + Field type fixed32. + + + + + Field type bool. + + + + + Field type string. + + + + + Field type group. Proto2 syntax only, and deprecated. + + + + + Field type message. + + + + + Field type bytes. + + + + + Field type uint32. + + + + + Field type enum. + + + + + Field type sfixed32. + + + + + Field type sfixed64. + + + + + Field type sint32. + + + + + Field type sint64. + + + + + Whether a field is optional, required, or repeated. + + + + + For fields with unknown cardinality. + + + + + For optional fields. + + + + + For required fields. Proto2 syntax only. + + + + + For repeated fields. + + + + + Enum type definition. + + + + Field number for the "name" field. + + + + Enum type name. + + + + Field number for the "enumvalue" field. + + + + Enum value definitions. + + + + Field number for the "options" field. + + + + Protocol buffer options. + + + + Field number for the "source_context" field. + + + + The source context. + + + + Field number for the "syntax" field. + + + + The source syntax. + + + + + Enum value definition. + + + + Field number for the "name" field. + + + + Enum value name. + + + + Field number for the "number" field. + + + + Enum value number. + + + + Field number for the "options" field. + + + + Protocol buffer options. + + + + + A protocol buffer option, which can be attached to a message, field, + enumeration, etc. + + + + Field number for the "name" field. + + + + The option's name. For protobuf built-in options (options defined in + descriptor.proto), this is the short name. For example, `"map_entry"`. + For custom options, it should be the fully-qualified name. For example, + `"google.api.http"`. + + + + Field number for the "value" field. + + + + The option's value packed in an Any message. If the value is a primitive, + the corresponding wrapper type defined in google/protobuf/wrappers.proto + should be used. If the value is an enum, it should be stored as an int32 + value using the google.protobuf.Int32Value type. + + + + Holder for reflection information generated from google/protobuf/wrappers.proto + + + File descriptor for google/protobuf/wrappers.proto + + + + Field number for the single "value" field in all wrapper types. + + + + + Wrapper message for `double`. + + The JSON representation for `DoubleValue` is JSON number. + + + + Field number for the "value" field. + + + + The double value. + + + + + Wrapper message for `float`. + + The JSON representation for `FloatValue` is JSON number. + + + + Field number for the "value" field. + + + + The float value. + + + + + Wrapper message for `int64`. + + The JSON representation for `Int64Value` is JSON string. + + + + Field number for the "value" field. + + + + The int64 value. + + + + + Wrapper message for `uint64`. + + The JSON representation for `UInt64Value` is JSON string. + + + + Field number for the "value" field. + + + + The uint64 value. + + + + + Wrapper message for `int32`. + + The JSON representation for `Int32Value` is JSON number. + + + + Field number for the "value" field. + + + + The int32 value. + + + + + Wrapper message for `uint32`. + + The JSON representation for `UInt32Value` is JSON number. + + + + Field number for the "value" field. + + + + The uint32 value. + + + + + Wrapper message for `bool`. + + The JSON representation for `BoolValue` is JSON `true` and `false`. + + + + Field number for the "value" field. + + + + The bool value. + + + + + Wrapper message for `string`. + + The JSON representation for `StringValue` is JSON string. + + + + Field number for the "value" field. + + + + The string value. + + + + + Wrapper message for `bytes`. + + The JSON representation for `BytesValue` is JSON string. + + + + Field number for the "value" field. + + + + The bytes value. + + + + + This class is used internally by the Protocol Buffer Library and generated + message implementations. It is public only for the sake of those generated + messages. Others should not use this class directly. + + This class contains constants and helper functions useful for dealing with + the Protocol Buffer wire format. + + + + + + Wire types within protobuf encoding. + + + + + Variable-length integer. + + + + + A fixed-length 64-bit value. + + + + + A length-delimited value, i.e. a length followed by that many bytes of data. + + + + + A "start group" value + + + + + An "end group" value + + + + + A fixed-length 32-bit value. + + + + + Given a tag value, determines the wire type (lower 3 bits). + + + + + Given a tag value, determines the field number (the upper 29 bits). + + + + + Makes a tag value given a field number and wire type. + + + + diff --git a/Plugins/LC.Google.Protobuf.xml.meta b/Plugins/LC.Google.Protobuf.xml.meta new file mode 100644 index 0000000..5f255fd --- /dev/null +++ b/Plugins/LC.Google.Protobuf.xml.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 56b6d930fdc764b48908573a9131be73 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Plugins/LiveQuery.deps.json b/Plugins/LiveQuery.deps.json new file mode 100644 index 0000000..b49ba21 --- /dev/null +++ b/Plugins/LiveQuery.deps.json @@ -0,0 +1,111 @@ +{ + "runtimeTarget": { + "name": ".NETStandard,Version=v2.0/", + "signature": "" + }, + "compilationOptions": {}, + "targets": { + ".NETStandard,Version=v2.0": {}, + ".NETStandard,Version=v2.0/": { + "LiveQuery/1.0.0": { + "dependencies": { + "NETStandard.Library": "2.0.3", + "Realtime": "1.0.0" + }, + "runtime": { + "LiveQuery.dll": {} + } + }, + "Microsoft.NETCore.Platforms/1.1.0": {}, + "NETStandard.Library/2.0.3": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0" + } + }, + "Common/1.0.0": { + "dependencies": { + "LC.Newtonsoft.Json": "11.0.1-beta2" + }, + "runtime": { + "Common.dll": {} + } + }, + "LC.Google.Protobuf/3.12.4": { + "dependencies": { + "NETStandard.Library": "2.0.3" + }, + "runtime": { + "LC.Google.Protobuf.dll": {} + } + }, + "LC.Newtonsoft.Json/11.0.1-beta2": { + "runtime": { + "LC.Newtonsoft.Json.dll": {} + } + }, + "Realtime/1.0.0": { + "dependencies": { + "LC.Google.Protobuf": "3.12.4", + "Storage": "1.0.0" + }, + "runtime": { + "Realtime.dll": {} + } + }, + "Storage/1.0.0": { + "dependencies": { + "Common": "1.0.0" + }, + "runtime": { + "Storage.dll": {} + } + } + } + }, + "libraries": { + "LiveQuery/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Microsoft.NETCore.Platforms/1.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-kz0PEW2lhqygehI/d6XsPCQzD7ff7gUJaVGPVETX611eadGsA3A877GdSlU0LRVMCTH/+P3o2iDTak+S08V2+A==", + "path": "microsoft.netcore.platforms/1.1.0", + "hashPath": "microsoft.netcore.platforms.1.1.0.nupkg.sha512" + }, + "NETStandard.Library/2.0.3": { + "type": "package", + "serviceable": true, + "sha512": "sha512-st47PosZSHrjECdjeIzZQbzivYBJFv6P2nv4cj2ypdI204DO+vZ7l5raGMiX4eXMJ53RfOIg+/s4DHVZ54Nu2A==", + "path": "netstandard.library/2.0.3", + "hashPath": "netstandard.library.2.0.3.nupkg.sha512" + }, + "Common/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "LC.Google.Protobuf/3.12.4": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "LC.Newtonsoft.Json/11.0.1-beta2": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Realtime/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Storage/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + } + } +} \ No newline at end of file diff --git a/Plugins/LiveQuery.deps.json.meta b/Plugins/LiveQuery.deps.json.meta new file mode 100644 index 0000000..7089dbd --- /dev/null +++ b/Plugins/LiveQuery.deps.json.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: c983f847ba8824e209627c4ad638c56e +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Plugins/LiveQuery.dll b/Plugins/LiveQuery.dll new file mode 100644 index 0000000000000000000000000000000000000000..bca25310fade210fa18c7631dd0379e73f38c171 GIT binary patch literal 22016 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 L_W#Q`TLb?aLy1Y# literal 0 HcmV?d00001 diff --git a/Plugins/LiveQuery.dll.meta b/Plugins/LiveQuery.dll.meta new file mode 100644 index 0000000..b2309d9 --- /dev/null +++ b/Plugins/LiveQuery.dll.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: f9f0627cff669464bba4547db22bf85f +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 0 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 1 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: diff --git a/Plugins/LiveQuery.pdb b/Plugins/LiveQuery.pdb new file mode 100644 index 0000000000000000000000000000000000000000..decac9eb30e296b63119a7d793d8b42f060da8de GIT binary patch literal 12328 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 vHep|>-FL&6K!(s3z6=+`D&$nOc5~a)) zhST^A3nXvz;6Sc>4Ki+ke~$Va4WpD7mRrR{g+}yz0UC$Q3H~8{i^N0I#b@f@$bMb1dHrnM{nlgDV!yMIk_-$~) zX&A|q8Ab=sL|^S;7++!7e`5VT#4CcqShp4N7g)}M7`MtBu$*I+nXL6t1JxPA&(p-h zIAj#S68qWfGK>&JyTHT1I8YVU>mjQj%Hb#vpgfP#%i%CGI6RD&C<9O~K)D{}1C%dN z7WZ%%)jT|mfhfnKJc#lF%4D7nBa5ep(FkQnlv7bIL3ti!0?LeD4kNFZhtVEo50vv! zu0wejbQHG+Ni*gOh`zW8IEaP$*wOk&? zc$9Ndeuwft%FM|eMuB7=Mj*;4lwYGfit;VW6v;h|+Q}V8Yn0PaE<<@8p0f!L;dV#)R02m5JgGpdIm zoB$WVb#Mp#1bzo^fkz?C4EPx&FYGYN6~QIB)M@8Tmd)19&jH#1Al{*MUxw~!GNMEjGvGBZYCeXiAJDrEv=7MR2cZDvUD~wkwtK7|XwdH^3;C%E%20fpVY@XbdhD zV>=%iHHv>^G%B7N<4bL{L^-r*YK$Q@#*i9gNNse$x^AE^7{E9f4JLu;Zs)_~36 zYp@R-2B*M9a2?zRkHAy#NAWb6+cel0X$;R2X^b?$7gPY%OQgk|rNx}3#hB7!&e9r9 zv92TN4rYLFOQb`cbf}ZgID+L1;3oJRelL^7cms^GSqv9Q z4LXA;@HrR{W`d<)BiId&fQujj{0!a#SGg=kMvxnn098SK&;|s8$a3y6W-&f1m(^ID zM+=P^cB$YXr-f81^! z;|AI(T+zpv50-&lU_Uqx&V!pEbtNAoGbjYA06)+S1b}ET7>osT!FsSA><7oeWpEQb z2G4*|*~dr*GJ%|+H`osLf^1cMj6kpsyZ~9M`WU%DK~NG@1MNXK&=bUhAz(b13KoG? zU_00go`5XX&<1D*27wjeJh%s*fal;HNM7B?C31YzzFdj?=i@+9e5S#>8 zK?2D4iH{KkdV^iyHE2`=^}$xK8yo;9z!mTdcnSUjDQo%|8GtV+1e$_K&>zeOyTEnu z4y35%W26V!K^{;N3;=OpESLcnfVE&RI0G(&yWlZ+4GcdY<0Fs@lm?YSUC;T8WIq(Cx4}J%4fvZ0H07XGr zP!qHS!5|C_1QWmlumWrahrnfU6FdgbfOi8NPaqd420j7JL3SbrKvxh3V!$vk4$K4#!8))F#DinNqp6Qk5!3*m zgKgju@M(tm2cLktpeg7CqQD?9983nYz&GF~cmQ0@ar}W+U?><1rhwUCG1vf(gY)1n zcme(dDO%u|1eHJs5CDdQW#ABa0G@+)z^f&;9pnQIK}*mP1cDea8hioffo0$akgS!D zkrq@1-NBdOD7Xb4f~VjWNYfhUDVPeDgB@TWI0-I-1n>yF0DpoMZ7^<-3ls$9KsC?+ zbOPZZ77PdD!7Q){tOwh{esCOI1~@CdvG9__GwAPdL`ih;_Y5$FO!Kol4WW`c!a9ry;E1y{g5@C3X8j`kQY z*xLd72t4iRV;t^;0eF6jYZJ%-3V==^2*iRhU^18wmV+%|7dQg0f}g`^T(Amk0(-$3kN_Tm7r+&Sa}neQB|uHk5_AMTKqMFjrh$22HP{Tk z0f)f_a2-4ZPr*BoIvCe;PzaO<)j>nh5_APUKn(Z{j00bSg^I%7JA7f$;?zGS#Sm115dykkTM+idypTL0aZXf z&#p0R=d_XBs3Dg1YKq%-7J_n=0G%ydW2Ajb*;4ruVu7ii*DR>9G`r%vw z*+2nM2{Z&PL08Zhi~tkBY_JyW1&6?Sa2LD)e}WYKF`pn8CZz4r~MQ-~zY@o`5$X zCj=fG7^U@GoYU;y|I_)Nn+0c-&mz;$p3 z`~+TsoYS$tL2*z8_HOae2&C6IhJ?$ICyOa#-xe6Sqs z1wVlM;Aij_c+9~)A7lZ!KtT`yCW7hUTksReG#A%x5CnRIXfPN|0^7hIa2nhK55aTr z4tUMOH4|h51waYV6U+fiz-8c^kLx=K1EatsFas+swQ@`2KzGN=ohg0>(C z^acY!9GD80gY{q+*bmNt%iu0}44#2MfaiLg2cRG*395nGpatjvx`PNX7>oc@z-&-) z1Fj8VH)y>P_ZZM{6J8I1(wi|xPzy8wZNcBbwFSpFC<@AgnxG{J24P?z7zVxoGr=;j z4(tT+;54`eegkiSb1R;a!N(vkCG{V2lX)O6xV>yleSoa!Ci_dASh-WOPaRkeE!CR1de@-JWD7D|6_pvc5X_@Oj zHfEWQ&wQ-Xd4TKjS&~(LYL%0%GTth^4<^=YXq5}B@~T-f#vg~#_z*rlJH+Kw#vQZd zGJi4{nGa_$a)NxIC@2FegPMmk8ubpdPDUfzDmPl?Z)TYoD}5xRQTa&X@+hl3X_d*3 zCaw>$%9&Pq)GQNYsg7kdG9I()S>-&dJa3h*Y7WljxsV zWwcd(YnHiGo^B4oaORT@sD$`z0^qE$f@=BuDwaQ^udCn>`T}_OCX_fD+ zvf{PG^^2_XN2@G*J#qb2tE}*SqA#<`M`oG0uGWn_#`la-py%rxXb=?8r{q?aXIt7 zoJJo0iUro6x5^s#=^q=Z9(-(M0NFuqPzaQKkQl3Am9MQb>|x^iSyoy95#3?Je+|P0 zJb?T6QIcWVQ=D-xamKyH8Fz{^&UNngxXg8K=W=p!##4who>H9gRN{<(B+hthamLe# zGoDtQ@pR&hrx#~DgE-?E#Tm~e&Uj{V#iRjY~qY(7iauqamI6qGoDkNaUXHU zbBQzVE6#XsamMqAGoDwR@qFTp=ND(ZfH>m?#ThRo&Uj&Q#*2tEUR0d%V&aS!7iYYL zIO8S7880QycxiFQ`N6avpJl}vFDK4?ekkj%&p1B}bvxq~#Tl<8&Uj^U#;b@kUKMAY zyFJczHSxCa>f%k{pNQ9h*AVAeYKpgq*AlM>_Y-dh_ZMe-wQXKUoa3)6-V$Ch0W#2F71XFN!p@nBqWwfzur zUYoj0edhNNXMRs{#zVy!?_$BDE4c-$e~^?5IyAkO*|r9OR{XMD0a<5R>L z|5BXsskr01`{%uWnmFrE7w7n9h;x6;6u*Sieil5PwZDp5o*vF)JDuej;k<4?2dtk3 zJ{rr*!EE@)Rz9zvb1)xn=XmCdv;TQO;oJtdv;GQk)?aC>ze?h)zgnF2*VyW>l{o9K6KDPPw)z_+&iWh0S$~r_XMsg`~eTSm$=OcUGM3ox_={@$=$o z5WgVKd*4NPVXJ*!tLR1GnX$}!#U*%Y>Hj;db36OLEYAL~U~jtPS>RX2bHlHR^LgXC zcsKa>@G@3^Z10A6fA|mZidLM@H#fz3tlt9eILDVD&h~DLGk!;$@w?)T-xFv2K3*}n z+voGz196V$q10#oBXQ>cDD|2Dlg%GXeda$AXa3LPjQ=9e_)~Gle-&r^H*v;)7iavL zIODwLySJC|7cyR6KVO1M*8X7qSK_Sy8ui_A)_()9Y}Kc~g;%kh*M~oV+u7bbaklrT zIOBhbGyb=<$JYvm<9+)TsW$fzuYtIy&An{yEzb6wHg}2FLp+%{>nFE)3UT(I(&njb z{*ld7+dPdp`%i20bmAOOdU5ujL7e#+ZJtRy0P)P?Y%hz=vx@V1C7U?@D~RcJvHyA8 z@wGhT_24-j@4Y^}A$+$LZw&7MXMe2U1l}9YYgTr6Q#gN`i)X@eZt$@q4_@;m#(BKt z5NCTiZSG_9T;jYR`l2a!dpsUEv&_CJq@X5#Fxxj5r3#2IfX&UhoU;*1A5N+pet z&pW~5dEg|yhsjw(s@*?y=v_jfOG=J&RFn9aj&9%1uH@uFz254^c` z{p9}WEB=W%-?uIYqA(vVtoq!(XmO4|#!(|F&hx9EIFHx<;ynKci1WSCfsWcq`D|~H zcr*B5@p|yj#2FtV&i7(I7iayUHjfkM{0|H2BAOM~O!xf3!H;8zau~ zjJ5eVn~xV~{sfy(6lZ&rZ2pDKC)<3AIOp$6arQS=obhQkpDxb&Gi*N7=Ci~(-r3^J zpCdlj@|HN>cx*JVycN6@mi@q7)NgGakNM#9#M$0_n=i2WLYptL`C^+dvH4P)FSGe_ zo3F6>N}I2;`D&Z5vH4n?uM`XzhQ_|7r2X@H665;b-BUtom{AbK+y*=i!~LcrEw^aUKsB#d*A3 z5@-B7agOJ*cq#Z5amKHTbH1*LbH1*NbH2V8=X~7|XZ{c3%)cql{9EG8PY~yP-xjY2 zzaw53eizui`vEeiP^U@w+(Z_nA1`doIrTd?C*GOL4|uiL?LL;_Uy8IQxGq z&i?-p=l*&p-UI%pINv|~3*Jrk*WcnJ5yyWAONvK89q<6FKHm%X5a)a0p71~`UJ&jj z&i&yn&i&;SXWS*u`AH_u`(JW###4xM`%{YZ_)aCxE zQE~QPOq~4}w|NP1_Fqz*{g)DF|E0y*UKw%bmlbDzIdSHf7w7mZh;#fE#X0^;;_R=o zIPpcNAxSCvoO?7U%xyBF^LGQ*jxdGE`A$6R6HBbmpFK+oPWc_KS6xBIM3G+@LpE^7ie#!csayJ!FyYA^Zf&H zo?m0cdH#(RXMCJE=X1PxHTVQ^#wUt%`zML>`29kh$M0lu9=}t>ng69Y^QVe4f0{V+ zr;9UxhB)(QiZg$fIP+(VbAQbd?+l-7^Lg+v*)`B*Dn2EIzjllB`n5-#$J<_U&eu2M#o_zJ%fi2fN6CD}i*tPY#S6d>z@x4Dj2{%|{2qeG zSn=HO!{VHeBjP+Cj*2sWOgtz2xOhwW331NXNt>Ut`Dt;^=NWO%=UH*i=Q(lC=Xr6? z=LPY0@QdPnKk*VgR_60N@m7dm7H2w9Nz*zlbycsW|h073cQqRDU_Lte_S;X0YR&n;9O`QE_7ia$;i?jb6;_N@CIQ#bzXMQem=KG2>KessZ z^N90)m{*+t_aUD+>*p8G052fUm`!6g$2iL12;@9Ct;RED)TTI-~1F!$Z zucCel_&}@vK6pv-Fw`#vA7sV%qyN(4yq=a3=l&`y&UiU-#>!L;{_Bdf z|9aw_kNV}1A0*EFU~%S$h%>*tIP-gm^Z4s2&f_msoX1};arW0+ocUqm z%nui5euOylBgL8DN1XY6#hD)^&irU`?vEI8wiheT_WFslz5e2CZ-C7QigP{(iE};& zi*r6d6K8uv#F_uOIP-^!Ge1t8_lIHP+@9g$JikVWv%irxA0^KIM~k!nG2-lhtT@{n zC(iuw;>@2Q&isku%%3FA{4d0rKUtjlQ^dLbUy5`4r;2m?r-`$_>Eg_vA@2V z&ivUnpCiuk&lP9>JaLYHzBrG^1>(G4FBIqfdXYH$Uo6i1^%8OBFBND0GI8cF7iazo zagKMT_;g&)R*C-rUk(3UuE%S{>*4;qR(v(;uY(V@>aT>a7Y{=H4e&TCehmF@6zBDJ zlQ`#hvpC~h#2Mczz6-uhob$b1ocsGLai0G>#CiUIEzbGdY4cs;?0>g7kKaAw-2Z#U z+1@we%-<)@{BOmXA1}`Q{o>3&AkO@Q;>q6o`MbXN;KStny)Vw+ zg?u1h9{vzM+^U}({z#m^+xa7WgcaxK(?5yx{Cq6V?Rg^3_|M{u{~}%s{#2av{j1G? z6X$&YF3#iOnK+M!=i;3I7vh}1m*Rf#SK=JcYxqc+zc=En|5lvuPyPWPWz}c?JMo6_ zKjEXTcv<*g;+&tq#W_EQ*Zca6JH+|>Y98WzedQ_6`SY^5w>am|DbD$GiF5vviF5vv zi!(okIP+7AGe4C$^FOkAYH@CF8gU-~X~lW`rxRy;>BX6!L7e#+#hIT;ocWo>nV&_R z`B}x8pG})x?=!U7XKvpNRAMt%f+;uPM&ww_4)N z_Y-Hnzc}-2i!;BDIP>d@GryiV^XrQ_+`2J z?`rdI;@tiKarPf5&i;eM*?+J&`wtOkes^)^_Yh}(PjTjligWzEY~I`EVd88rT%7wm zLY(_MQk>h{N1Xlj6=yt3obhOJ#$&`8j}>RUpE%?F#Tg$U&g;oQ@gun34iYbk|KK|q zK1QAwJ`?x!!s~zWjHv%Pe5_T!C48v3%Nwu%;p41$bv%C!6X)~5aBH|UYzj_;^*NT#W`P_#5rG^#hJfFob$C+ob$C!ocnLPIQQRI;@p2b#M$51;>_PE z&iq~C%-=1}{5|5#-z(1iZ^W6uPn`MRiZef6oca63nSVf>`3G%&NSyO`Se)~BM4a8XZ}fX=ARO0{%LXMpAl#NS#dt!ofGGLoEPW$a6z2?T@+{jC2{6| zC(iuK;>^Dy&it$5%)chi{OjV(|6ZK;*Bj!zzy2W3`ZvXSf4wEn`~-34-xg>79dYL0 z73cYMPn_euFP<6qlLz8G;Sb@Hf#W{YLIFFZP z;-A5ji+=%60iPnrOG@!2h^G=C4gU!KrBy!;o?3h?JPmxR6|W0VE6(E~ojA8Ay*T3; z#Cbeq6t54@B+htdan4^BakigTob#1Uob#1kocrrzaqh1i;@n?3#o3>a&2x#fe_wI- zpIe;$=Mm@r$}8Ruo=?0hJU@Jz?5_gi{Qbm&;(_o&@ab0l_VB_sF9M%o#Va6QRGj;x zm^inmxH#h_#JN98igSOJ5@)=$IOng7INL8P&iN`Q&iN`Y&iz$EocpVyIQLg2arReP zocUG6nO{|$`PIakUtOI0>l5*o@EYQr|C;cbvcGDHbAS1Xv%Wukmh7+EHm?JpZN!W)Tme>E28_BRn{`%T5UznY12e>E3pdo66&i`lPoZlff|6H8o8!FEEjuYp64-;p5!^N3DLY(;{#hE`! zocn9EIQQ2Wao#V+!WYT@8YkWp@$uqq;S=DCt@=EFCW^EDN$@3Bygd91aqf@F;@qAo z;*5VO&iGVue*Qa6ocn9KIOl7IIP+(UbG~MYbG~MaGk=aa^XG~)f1Wt==Zo`rSs>2i zWuZ8amqp_2Z?QP@mxwcesW|hOi8Ft>%~yzX{42#d{#D`}|7vmezeb$>uN7zi>%`gr zdYf+$Xa5_;+5aYS_P<%2?QIcf{#J1w&)dYAzg?W;|4N+W-yzQNe=W}bc8c?O+9l4{ zhr7ku{vL6TXRkQh`^M(`#JN4+igP~V#koEE#o7J=ah_HO#rgT~A^1``e-DfEyKjz& z^EP1amLSx*MgrF=X{^D`FU~9 z_XTn8&x_*RpO?fr|KEvo{w|C2{(VK9D;VZ5B%)cSt5dH&v zl@;gn*G+NG&n)bPUab#guw5wC%GQE~o% z(_--TR(<9d7oQ9-0pDQ7SE2us;ym6ZT^ z5of%wIO9>`j7N(z9wW|ptT^NS#2N1|&iDXv#s`WsK1iJL!Qza6CeHW}amGIvXMCtQ z<8k7Q4-;p6xH#h@#2Ftc&iE*C9-pJd+v0jTMtmQ9EPSI}@5hOc#qTSO7r%h|6X2Vy z`f2g|4im*a@%s#u;G3;@Z}k6#vsIGw`y3~Wr-4rq&jtTdoZl}wRlFj6nmFUr#d&?1 zA`rF_= zuw2mc9q@ZtE)5o-y`9$lalRIccY`ky=Xe*3w}&r*@3QjQ{!;N`@MYpWewK^#_*o&| z2)@$UC8<5Oze=3_ueSLb_-?Cz&fi*b)?a7y_2Oj^-{|y8%HIIrEItpuReT?OyExw; z+9AFhzEk|VcseYzz1@iKvBrB@obg#;FXDTx_zm$fSS|qeA^wdO=Xl)C{GlKo@qJdD z--YXTe%HAN{1D;?tT^|_Vevl@cRTMT{JfQZ5cS8xqpkXf;HePf>zSj@4EUP_5d3@% zPC9cWIiIIa+5EK4&)EE|&Cl8Vyv;8-b0zh+7X4ikkB46tzb5Y9A6F4SYK{K^;%;Yr z75E-*|WBEzMM`M}w@1XuE zt3H3f{+>9G*9SI#B>oHHZfEe^* z-52q}@a%|Rvf`t}vm##8@+*iJ!g2|$%Yph=t@^w^xt;reFz`YAniXFS_Z2UQHr&qk z?|?jr->~Yp!+71!>w{tW4~VBg?ggyM=czT&+zb8!bHUHo{NYYGe=dr1{L?`l#FJTZ&ac}U=l-jQ zcuFh&264Bu|D~3vM!Y?IFKB@JX{5f}-Sz3|rG6uL2CM#I(0}wB3#d-a4JLC635aQ*n_;AGC&hhbj5rTL{EB+(axt;UN>v<2v zD_ilu#TkzWy%4Wv#phdI9nNcM80d}oCsv%-U$=97yyk`@Uek(Ca=!P*h-ZXHB3{di zpTs)1vwz<6`XcUU#h;2Zz6C@hUfYUuKHSbYpHKQBUdM`m1n)1-zs2Ep*5~m!5b?S) z9=9{j@eD@1p2Xemjt@b+z7^+q-Ol(H5Qlg}8P70rj>qk+&+&{vypipy3J?Ve6GzG*nF|gm)U%!&DYp`z0Eh-e5=jBviVM%@3HwloA0;zA)6ny z`3ak!w)r`mU$psUn_si}4V&Mx`5l|zxA_BCtEBzO?<0LA{vGzO+qwVwdhI8~+sg6d z_S}f^{CwhSkG~<3czocNX#6bhfIyc^pF`4b)^98KOr(k9~yr((L z@g$D$zsBa?mc;S%U;O^)f`WGb7l&d zx%}6GzgNgCUdcW2U8~%R7;|hFk<0&$&wtrI-U&B*3Bl46OOEef#%GN97G!*~i0^{N>pgs<7(PWb|4of=TgE4b_?yajoo7D1 zr^ELZ^St3FPZ{vtVH{y{>?yp@fHip9;6M03>>NV`YI>S~kB|H=xcL*L32%E^ytEOg|Xie zSnp{a!#t9`%p=*uT$8w*81=??O|vGiDqiMzyz$rI*urD8cL&<^!fUw?t#O%Wiig2E z|E}+8{uM=Ud{+nCKW2_$2Da1N%yQyy;&8Nku*L&_e~oqcO>bUSYq};ei@hY)$L|** z%M;(q_r5+`^R&j(&5WMMzh2fF_MSMCUgr7kVg3bQ_Zqh5ZT<~s4}23kYw{fTGG{*V z{S8ligBI6t9=y${(~P>zD^fCZOH<-o40z?aVfM~zMPl!s=5-@+yS(wu#cV%uRySbT z8{Y-Sz4@1!_2Km%W($c~y8O?UIkpe2No+H5e6NhF*8n6W`|hewpWyyBEIGs|P(d%U9sqaAMdB|fO3 z4=!IT?2VGIMDU({5k65RHRCO@GQl5uJ{DzFs_#3a|WMG9ma_=z9@5>%MHrrMVZfBo>q?caz33ojQ!;bqby=B zyUG_s$tN>D8>f;lc2KdyaAwD^2gil9i z8yB30;}YHiyX^FETy=UnZaBRhH=W*&1gFz+$LVt1b0%{ z#yJ|f#ygt0CODe8COTTUCOKNUzHqd0O?I?%O>uN^ed*}rn(FA{n&#;0n(hd2&2R*{ zW;#M#vm8BKvmL!%^Bm!>`Ho1}0!LrhLPxY~k)ywBv16cXiDR&9sbh$1nPZr1xnqQD zg=3U!rDKe1m1CT1wPS*7jboB)t>b~~OXnlkROe5wY0jsv+0JLKInEcZxz1OvMNT8x zN~cG%RZg#DYn;wxYn{oGt#k4?^fU^kWa(wp{3!lAo=30t^G`>68+i}ZG|OfO;>L&1UH|jvq=e-F3L; zb=C_$9A}n`4#%72ox}K3(^#M9NSs-Qn2Yu?76N8`-0$uX8rqw}$N(^DLdll=JbXA3l$d5fIOIp{7}`GE1ki z<3gP2%`UQZ8lPT_H~qd@I*sQSeeq(%+o<;)OQ+H8yKbhh`EIdUIxZ)eWtdqyjZv3< ze`NjN&63{D^omy&n`P9M1hd?K#rG%Hb6)LcmOaeUX~bP!Z2DcZq$ikO=$h|i){iwy zr}4$LZl+(qw%9E5T~9E}=V7dW)sgsB+8qDdQoxx|!w7TZ_%|{4L*Kxjst* zOV;aVdi{jOW;rk+!7Mi=`2NOv_Y=CArSI*0r@-%Ut# zvveBX_qzSX_yV(Z8u9lQo1W=DOQ%udeuC+D%+hK6fuq2I`e(3r9f&`CP}B4-597>o z?8A7o^m)Y6X;ge<;8nc0@zIYgokjudHN(GEzG|OT>e@9dGAJM{x|9(XV1$Rn1k?_Q z2{5{chJ~05;n6+Jl9ggYBO^=+W|inb1HlHtMxT(7C=`)_y+VRwun-g((GNvbNC20^ z!vi8%28S47kr6#YV`904w##mVssA(4U0t?9oi!zAcjj( zA<=yzBcel$egR>z3=BdoqkC9D4IedKzIN z5j{}EMuhf_4QUYEEU=dmYW~Zi&=MnD3W$k`GS~FM6ov%XilJD8O_WHi2n-7d>TLvt zMMj6T4v6k;#9%WbV`I$a;E=F@f#y9ZJ0mzY%G`b;Cn}}e{Qp=FOR-O?N(%&z(d-sqiBP1#+GKy{Z zW3FSOVuNC!vF>Szi880g=pPUogBDr`MH?}oS7c~JNN|JTXafgHWdFp)*oZ(JjJHfiWS`*uWmq2KHmrz~%u_ z0pS=2sz*lQaAS^p&d}yRtS63j#Ei%&voJRngT~(0-V+-RO&nNa6VXQW!07k$@cvlf zDPnYwj0$IAos2kGu%D7nG)sd+aT3MgIE^uQQ1O^=*1dZ)v}Z_YkDiS12*&Xg8WIs> z#6$%|M4L-dA=u977^8PTb0fKZ=4Rn9I9Q;$o<>)b)ob#3MDos!H(o!P zc6YCsj}904vvvL-v)7zot5ui@1*GCaf?6&n!| z66MuDGOBlqpy-|fQGJR>2lr0aG9)03=Yq3&Y+zVu&_|8^8#M7Zx2i-?bjp&3!}(GA z^f_}DDDGQ&U!9Z{Pq)uBqDoB4OyyS=s`6{mQs>i*4fPw|e)+;DV@n~`-Pk`KeQiB}c0 zmHPcK;+Dm&^?mu^-u_v!d0%b&e&6YI^-nClSa)XB^Y~dAo@_{;`rhHkr_-^W=D74F zHv6v@e)ruS<>>CvFy9GiMn-I_D8g{YWNoFoHV z#Rdi8Z2xd;!^-)FO#NZUCu3&Do;gzD+LjKPwx#Pi`Q)}e_nj|SZ1?m1qD)lsR_+U9 zTDF^H{~Xw`;ln2Su4w04Tc`S_G#BEZ#qKLywqnK57F9j`(k=V#+ey#PTwNHNwZT7H zs2jj@e&D|vI_+EO$6<5c)o<%RdcmlJ*AHzQaIkx|HGP`bEf9Xe`m*FA4#~UZ#+FqoyJ7_buRk`R@mx4XEl}yzKae-M)QzKRp|%i_64+ zY|)5Hz9WZ!ohkkKu@k-WP97hYto|1}zdGrEy3LQ5lO?a1>dLG0jm$}I`On+2eIz3W z`(!^RM&+zRS{|dboYU zr|lot-+A}9(!v9IjNW(z3lHnwlHZI%Gi1e{9G|hwr_j5oLR=f84Rt zvSQVa{C2Qv!NzkRR?1ty?tpho)1)imRodLW4Z?9s{Z|{ceLsu+ZOGP}U+;M`_^VDg z!^75j4O`OW=)?k7bM{KHruvHIZOt}n#RiA|*C8@;tnc7SL7C6wY?SI$i^yZ4l}DDG zUa|VF3I2}u4X2IT)aK!ZHRgmiwjP`QYbd9DS8jdXWZvnG!Am!M4ITSv?xSx^ivpOn+Z>4F@G*P8;SNDt0-J!&mP)OR`Kc%|z=T|THZ#~+&aJikks;B9) z$+P+Sl;-72+pzBAc;xukz@GWO%+~PD<<39MnzZbX#vU&U8(oI>PLaC7k%Toj?wwm* zVU@GUni;!)9x}zJYoIwp z)?PQq@WCs@sCJ`I_|}{i_2Bu?AsupkzvFnS9Zg>OzU_LjXs?%fB9pLYix7h8#8l;-RL?l zZ2YAHv8RG7)*V@RZnI>~qatG>gCfJyS$iP5jJd|v*4TQ;Z*%0#zSvD&Q+(IFM)ib) zv%Az?eW6;hpub0-FR(CT;MlfVxm__)k$903Wgc9u5}&2tueCQiZR|qdN?B)?&opLS zyMSFI8mGR!aJ`H8_R`ig zZ#S;;+S0FIpL0VNZTW2Xjb-J`!C0I3KeRNisPC9;{ma!Ee;ZOZe9r_&+rl>)Rn}S@r`1KhHJr(eTgfTyd_RRe9*$?bTOiD*m8P zD!&v9K6SRlYn6~F90V;}o7aetDBBc`J2dX3Z~bY_^0scA`eS&B7$SLj9cF3GE=PKWz@AsC; zx+s-L)j_F}9`I^4Ywd}bRj!sHVIcw0A*mxmV(@w;A~+x_xJ-#sB}+7|)4G-A#oFR2 z9xsHd_d}#at>|dH#0VQ$3(xVPf!HYC-_yHKjPZ@ew;$hmeDL^a-Phx^;U*zvoTbJ$_xT`@;t-cBU?#F^7&Nsad|N`e1`seA5k#xm5jXxl>^?r*vQc z(J%WdZ?xyTqJ!-Y%dx{QvRK0GsDitrU%89cIw_raY%sIm#l~ya9}{WvgIlSl?w?hS2_?c zIwE?+@^!d>UL!g(HYzBjIA44e4~mS%ONX+R4D8xIu`$JahvGGT?SXiK8_L)30~?1% z;00OZ&_KRWG9vLX6dpP#@zrHi;;b8e@PdY~XN+1A1O5BN8hFO%vwYI1%VWYzS14K< zW2{iILgfk-%2zH|xlC~RpzeV|6)KeJ-aW8X`R?U8&fvhHa+Q*Xn$$qW5@qpHxI11k z8m(K_@~=~@Wu3-#YPG6UjQh8Bt){hWwXChnWxAG9E#0+L*Jdrd)@xa(R_i(~{~0O$ zpOG^E87cdpk#heTDgU353jYzoMo7e%lieS0xI{*j2o4J~3`eFXfvfq(XUfY(PI^PT@b*8$p%V)qFK>q5sr_*QWJd zP=78Gnuhd`!AtkZ?lC1AMkn>~vg5J4MtlmxaXD4%gvROpzAfhXq}HysLz{#KMMavG z+l5AyErWh=M8t&l!zq+FwB2d0bu{Aep4XT(PZ!PETyNgrKDQr_ESnG>9TXWA78+<( zd&+8f3#-DMlvR@rj%qT$!)F!G=RPt@&S9(O%+#n^Gow-B!iMl!jx&C7Yo9)yGpbWU zE4=8y5pC6)zGmeJ{MA6CY2GCjb~bs?Z2B%1&Atdc8l5Y_G5iAwO(P@fh2S-EXppV5$~l^pb#_i& zcXFe#zwJtxIQ;{;t@?xn;k6>(=L)tZ7rB_(r`zU2wN~uC?Avxy?zp66yaf`04QqmT z@xrj7&}i(}XJ`fwZnItJb8D++b{ zcypTJ{_{^cYjh}+>9Y@~^BElb7*|=`-K>dox9~3hr=yj!jHo}%=Rtvxe4p${Y5^w< z&a%WUc2|Css{W;p-S;%vaXtF}Um+dRB~^}c*W6`o*Rj#PrUV`htF>WekuSGR-Lu%L zSsQP^axc6;(cMk289VOB6W#op#BDB?{@n01?#VP05(nXKx^lTL&+1QGUHhwB``@lA z)Xd-AbZ9`2h{))e&>-`G#+yY!G44~=-H9vX;!?(*d`*4>=t%<{DjV{?5Vjjv#>JFt0kOdPVifiY=jq_13JR^zF^=j^t> zV#`lI&;TxHeD}lFbGd3?*LjrDx8dacr#B{a`Qg9^67c{K)Vnpd*1Zedo&LFQ)QW_N z5e=5~O7}YJ+}Tq zh9V=w>|@Wdbj`TeZ-W}mYCmW2px19AK9t5`w=(b6R-Z?$DbId(RGm`eFErlzE~=z+ z;mY;@k&Jg-ZHYa;%hhkg>h%7@8gyK?d0ow`R$}7*_=TM z`?&1R-`#nM&mJXOCO$>jhF^d7o-ZorU*B}rZ##x8nww>$l~gY*GLY9j^TDKqe*oUN z$3vid#@#(m%I@`Dy>yX{H}&jU=&y>6s(dgxaVFd;Im#Sp6HsYr{UyKuRpVX9kAM7N zN}T~XEcnc3@6c~=gmZa^0RQFVYo|EzUHTDLc7tZ-l@{;bGRfM)6V{&Xac5=U-=^(p z@WszJiam8!?)%{!o=;ZfpJ)H7Et9T&{I+wQ%>$M;|E_w#*$=084DG`fY+bLbU8Q%6 z;#F&}JK)&(u68uJt^3%e+}!TwN;xvA_@iF ztX*ev`yZ>!irnMAMEovF^NyT2GW&gM16=+2 zInO_zK~7s+Td9n9ey>c|nv6VozT3&iW88NwY%Sgb!8@f*0{Y-x9}eDq#JDp*+FkWb zK-HZ7JJTGD9+vmV=kI%L9@;0V_8F_6>76Gy)?Zy*dsA?+dY8WmaJ;YGCITPM;o*p% zouET}$Q2S0ZtZS&_Jp{GtCQWR(QwxCGTHAZ%-v;W(*xIfiU$d8yurJekIv z=~wR)tyyP4AL~GNZ;QMAMa%0KZj|fGChIrX8=nyCD63ig2nG*WVYZH@`_~LEJ8ff~ zm2G={-mTxx2AX2N*Aftzbkv@+CLzb!))v)%pG?D{9{#~zzs`JOp{ZL1!!nNg*Uf(T zrR~F)6vXZ@!C-TbHjRu~G$4{cZg|@AP}{u6tncm5n>XhdCWyuBAQo@hStUpAm$HtP zul!@iy|(LSpZwdVD^K>f9yLR-S<0y5H3=}e>c#qmv_%znME_~<`k`OdngC$Fg24$} zZ%Q7QwHd(KGw+(^9v3;c{-qHuD~A2S7Yr=yV32skW|E*|2Iy1QFaLx6>&|I+T=~#} zzaQW5V&9+w=5^WDpH2S7EBAl%(9AC9r%g}Z*WYWv?Ak&iyU{ZP<<3RC|MlbDZ_lXT z`TjHhe>dA@Zn3{7WbWYNGoCxt@%jyK&pQ9ml*M;#*f@*4IV{nf-DO=ieVMOoXNHtP!Ftpx$U+mKdZR=oR>YSgiboyi4-ut%kjuQq& zF{BI9ctD1)mlp3G#g}f{v1|3_ijYzUykUD~XYSY;51qe1^@%abtBtyYWRy3l%1#_# zpFer{%d2yyw)|;oroAQq-Ejx0axH$2N#t`|2Jo8AiT9lT%~w{K<%s7|9 zZH$(N0?YJp`t_FV!IBRa{`eO!Z>@avXm-v4``}MQ8Z$3=kr+_#7Y=&&i~lCiyese9 zGe3Fn6@x(=tw7sZr!^By7F1zlcA=S;60fk6$XP&XQ~Tf-dLq? z%Vz&*?r$HOeQm?M=89*3G5MwyhH%n%1573o1AgiiuSUfEbNcK9d!D_o{>-z6`qDRi z*rIwzw&GF$g%9Sw{l(1NHjTP&?<;qFe<{ni7_8F(pSF9~H@{81WctM)yy>{-t8MG$ zPy}dn#pczUwirEsSJs*T$!F(J56_))?>%?-ELnOnEez=Ts_S-c+i?Br>o!&uPu{#? z8_4~}uu>M+p1W&J#lVU)X`?>=cxQS4?=7Wbhrwyzla2WB(kEW6Yy8jLJ0{FeTyLFb zsJ5!*=0;503Wp=b3ym@s?^w9!m#;3HUh~V3F1CKUfAIGujHvLK7K^?@vFb@rZLpNxETPV>cg|Mr(tH$v+26k#yox`;qLETcXnIrfGKsaov%(R8y_~0JS^*k*OIK#0Db=JecxX3`ky8r zy|V7*7j`?p4OGdyd4k=5p-L!Y4Y@zq(d_CsXYNz}NcSxc8EvDYZ`OYm zew%r>j|eiH&?d3H}dTb%X^KHVdzEcHtgEG`ucF8 z(g5Cd^o@hp?)%g9{fkzej=%Azw;8S72m#lG7r!-TbnSho`#pE{yhHWR-kLnoXYkV{ zf$Z~P_1VngxEvM((mVLgZz>x9JLh26%U}Ox)u%mS6_Kl!G3kGh)m{4A$5ZQy9u;o*?tpR%tn5aLI?Yr||vsV@U=9`&a z)|QxoH-GlN8Dz`m5FkTrUGn-fGjAC>zp{D8g^pKVzGGA{kkP^bY8YU5UApU9U;VXH ztMB|t-184UUup(huzKf4InPG+SzrF^2cv)V*!;Vnx+|*1dcqx+J+w~-VC~b(Di_t9 zFW39ovL5)|)h?R`kNFh-ai(}VmMvo0B33A3g(5as#0HDlNRC-Yir9D&8!uv0L~M$P z%@wh^BDO@tmWbFjB6f|4Z5OfaB6g#Q-6&$WirB4QJGEM`b;(~DKOo}=WV}_zTV?zX z8NWlu&&&9E8NW})@00OIW&BYYe_F<$mhtCg{5cu_xs3l@#$T85*Jb=|8Gl>GKjgSm z|4_z%FXO+L@lRy@6B++Z#y|7g#C#hvhf?r%6w3{eB#99w0!TF1*wUfZm?g8Ap-tMA zXU@9STPrqi+qJe>T59rD3f3n(9Tppo6JpP7&9=>j-((STx6+(IOTrVzC@^A`2tM z4OC5fqNs+#(J3W%oRb_mHV)S_Wdddej@4=F=#gf@(e7CmN2)g1;&9?)vQ??t5DLww zPzi;cw(TP^Y>C4#tvH15!YO~;M^tF78i;REJM0kyDHKDY5^GfvzBlcNLS@^jW9}(K zxPOVF4~e4H86uV;V)-JLFJeU^RwQD>L~Izx=8WL6ciFvYjaCqinA74w$1GJ;Nq(Hj zoWMWM1W`h|h^2d@MUf{B3&;)V^; zYdyFMV1&z|ji;4`o_n=12wAMwsthgPfn$OLERH1H>5C>6SP>mc(L`I7B|>ks;C{kH z8(OUOi@4fi%g0s1HxB?lMqEXa$rR~tt#a`AN9ecNstQqq!-X$8S2^)nW?)PXA+{5z z`EeXEaV_Sfg6ddIqmXF987`U`d;l1&Dx$Pm7TkC>!GeQ~sTPM9Umh0C^@>^N%rj`3 z)A2SUpC&KL3aY_KkY+*65z#AXSTgJiW#gm8lnR`)=JEKt^1M+2l4MKJA_|KMpa!L20tf!D1r=CEV}?*&=`PU)uGcN<%}GVQ zw7dfKM(7=cXeCx!y4I@fG}M$6R1=ozKw74bK>0;O0@KIDBP&)7R?qK$)@z zFd0i6>@mPK>j<$jM({c*9nTAET!mO)mHf_CDb~;;5nCi;D@1ICh+QROS8>d>!5f2v z&{u6kH4qE9c{h5UNLr=qBF%$^Gg@!-xV0D>V;~}REK9%LgGm-F->M(OaN)?ceoTsJ z9WvhGEkODZ{S12UCLDsCfmxsjBoqiB^pK_W_kH5hA036$(Z0{HP7`UJ4!2e@$#df4 z^G0YKg>vyWVjiJfJ_xG{X@g`wmk3>Aal}&3Tv`#mC=W!35(x!Ok0U}6r6rMIgzi}= zElL|n5Qub<`=bkMN5#&OOjR`(ReSUj!i|QH7&oo5G0DpvDLbOF(g|n zbD#mcQz4ai6R5^11eIYA61cj{j`b<)$di20s50F zQlLMtA_Mhbsz{Fhj;b_Q|5!zm^)FN;N&mNsB>VcQNQy5`M6d|7Twf9BB_t^zFA)}6 z;|8yU;4Y@qDF_EmXL)~~q%!UR@IBSBzaQ zqMD$^oV|}4IhYg`Ui`9=#ql5}_#8$GhRRKF7)bQgYRz&HlL&D>1eyY0p&LO%T1JHb z!HFBK>7ol$L1$D}!VWT3?sB_iNS337CTygjmvDxina zL`FO`l`29Hn91;{xTjEEabwqM7OU?amsg9oK};J>V{fxe;-&7@mfEdW%kI%yPBf^$ zWmicwUr7<6#d;@aQICCJp^+dW+^!;OS2{Hk?V57~bRS=>$1a%65)1C5m}3P)8c1Xi zlxV8OmWENjnIn@ewiM7P5gB4dW#GA9;(x5-LA2GD`+9&;Q;7{_f~;M4b>wwdugMA@ zUbvA2ycCh;diZ;X&H$`X#@1ovjx`$+><^bc_>ukLNe@r4KfL5Qjd@zcls&{7;(RsJ=y#*f&%D9wYXoiqi+s)fcrlQsYV);?vVkBM zIEf&eA31^OWMaY*7A`c`cgjwkP4!)HMT4}Cg^;3^P)eNd?xVtlp5 z9%yi0wUZMkR>!KGN!1CQ7+amHat^G{vd=}?xz&00NX=z|AeU?11GJz}s&!8+m>4*1 zs%36iD9{V8`f>^+0Vj-2AjVB06Gm1Hs6G%&^Q2x?gkgrDX z$wfhWo$uCuY1)WIAd@3Xj7M1sZg(493=9XlS3fY7S6B5TVs%wN$!L;X{ft;$kmfa8 z_46ZXbq#Wo1m@JtD=DY?72p#{RP}Edu)O+hg>10t8mv80L2)mK=quOJAgzS4Z<2xMX6E6B*F&H&!Hf^fWb}k)>IgHkwm4Y(afum zG4n-o=A*UBnx)3fX9Z?Hi|2OBE;z+!?SbyE>9y7OVs6LH#AJ?>lUZ|3IZtNIRxz11 zJ9tpzYj%stq~_Raeo#b{InF6;30T1y8g4Dm5K;5oX4KRPDp_+7G%KE{WR^CbsbtL| z(5wVAm8@y!y4*D<6wUJ1oRtkY9~B@^$u$pfVoJ?JB9ZB7%`;(D{3xu77iASMt19wp zUb9y)j=UL;BYA>^p^L)=k-EyFjkDwuw(PWkwY!L{;ccm9+@vbPn?GPuVKrpZlnitL zY0A+`Vli9`fj8RtSiGIVZ#^JacpHpMe`RXwt@)QhuJQ<%k^{KJ1SumBg?a%aWgr@k zX_E+<_j-&*O(jg@(wG);LDMLW%ZP;uDwrzKjZNOYg$DL1x|12GbH2qI12YwPT7OE* zAfmdM(uPr*f-tajF=1&xXdGJQ-l+zbE)QU7GHw^rxJ*rU`6bNR(w(Pr*##g{6D|{^Y47?OjLmzm5!k$U8&7}Q-W>v)Nwl`@y=j~ch?p5nmGbub zm@4J&ZD5!Qdk-jDleqUFC%X0?QM6|8-sAX+0cg$Mli_%TF(;hCU6`eog*iMacVSYX zpg3^lR~oUd4I#L&_Yr#zigWIL(x5BMtAYrLDCv2lBxX86FB-$@Q=q?(Fra(ilcF(Vpq>ls#S3A*ctrxfu6j|l?>$bOyzc|m zwzPeu{M9VB%Vo1vsY0yBDEfeLkOSUYOp(4vdf>=)Z22lw4 zaz#FbvMm!S4MG7#ftzju^{maq@`|B_nx>`1YO$704$OI$2We|$nupSIw0u~7Etks$ z?W6_GOFM~|wpQ%XJeI{WpNH}Rf{+p+2pPlTJ1H)SdAmD!tG>P zmz&6GTqMgm+!7{PD#XpHAXv`F97#d2j5Lwn1`#>TlIE>#F^C-JcN39Ipsqvem;K^2 z=6>K(l5a9GRAiAkVj;a%`BW%e=DJyOv&C9v?c;)c;`XxuH)DC4C2**zX3iy~@<5uB z%JTwgnSl`VI)>o1{Gr74uGm9YHtyN`7trO>%OJvyEC%N*CCPj&33H<;G^!Yni4=v% zZqt^?G$N;QwSSq&%(3=sLBwnSiT302MgMR5#c1w}GmsyKB2w;bero}d@@ZzW&BR)% z%8YqT%5w;h29v6cHQtB3pXyHndBDQ<=kThZ;P06+VwiZj{V8uWM4^9ik#;Pat_j+ zDu{Tg+1!vW3=d;z2W6Hd`+0)wLuwx)WcroFJO>eWQO!i$w#9^vH839v8EQOd+BoU)1AO_$i1^}al2dcxW*Z^1Y013cBzJm+wpKRBA zF(l6YWW-Qbix5iAWKZdz%EZAuLPc4M4B;RlTp&cF7*CQsb3iVh7rjz%!&$+t#0vJ` zV2oM_iC5&D+r;dFL!3{s48;nRa#BuwpIgG5;XC*Ni4ETU9R@#8)Ln%XP4COTqWFg5 z2TGG+WyeDT0W*|vrl9YWTw#M&x&H-&D;PEy+(RrWdq3>o8C*ee3gazgo4{Me6%<4{ zd~k$y2Rf7FErLH35Pw*|XA*{Cd+nzrw_joK0%i@Pi4BxWCSlhmmS8nc0Dp*>UV?%~ zC4lmSdoYuzix9@0x_*L5)J5}}O|FX-l70^Au+=5PxZ@?`4omgS3d~l3oVqNg_}O)W zxR=!pRzx0v6XWXE zsGI}pHrk10=GJWqrz}dKOtvhQf?~Q589_TrEwf4qr|WJu#2Xd`owR6~Cd3jYz*;9g zj@G)_1X<^|(@ezFH5#jz2PkCqss))&Tr)_t5_R8c)Xid)5}6osLYPoQmppsx?ll&H z5{lF!P-t#wgQKK27^hX%{lw4)l{lkN6Dm0jh3iN|EQH;Wj7j^yB}rtqfoWr;MXByx zY+u0mUMGC*ymdlJNUZylz#!Ja>%N3DMWtnUMv!GNtL~qSH}UlmJe>*kk;({EP#-1K z?fO3SgW*CySW8ov$x3p48io%8Pvmz5P1F34X{yg>bvvbgkTFdx$OKJ0G ze!M2@*Ng3pdTG_D7gmjwdTG^QgKPaw#&$+N;gfke=GIpWqg;I>l$04+adB!J*}8gGtR< z7CQ8g@z5vKKZT)ZBR!kB`WX5bjgrDmRXG?VZ~Ys_(5KPR_a{N#7;wYVVa0&|&KU3< z64iq&9d-3r1CJ-o7WA+FZ^F`1|1UxR>i_E^Y+url4k20paRTQ z9Gb4xA=A~c)=qdnxM35}hy{Jl&9VW@8bK4sw(bTJ24MV(7Z1)KK83t`8ul7f2%796 ze*k{)I#QEqB2*2BjLC${gye`N0p2KfG)#nQPyLtu(junM!v?zkMgjoFC5WkRxQkic zrUv1J>}`0Mr~1l9Kc;#e&2;j`rDCc{;j}gU(Ad(5r4^p{lL#JM0}>z;B1})JEOcooGt5szy|LD-3~7* zu~Q#^U_Y0ZZ~)SUkvQN$vt7qE`C9IQL*e8Vf)$ZctW?$+2S|TX~*i-=v%{E!+vmhr*IxP@}&p8A!is}GFx@85y zjWimN4f5Zc0_ zSW_sP(o(e~O1oC(i=i|Yiw#{i7BuY2SkkFu=?H*?a1jLW>N`n6hWP9O<{RR3Jc-Z! zwSfe&f+6TFAe3-DnC$H^_QJP~Y!V5UrBbj+A;IE1q`L#Zu=@sK3Zo9ZVaOQZEKc|; zLrhRwZAdga@D?a%&dj7c#O$gxVz!k+RrP3?6OZUS*TJQPXyQr_VA{{pJd2F12e5X^ zQIUZ??0DHvUR z#Hi^IWW&U#;)Ga8Dz~jE52|d2Ww_ZG!cs9WZy3w4DNf7LEYM{&l?Z{Zi8d~SB!ec} zxD1jEn&if1lWF6!ph;|8PHHl3TqZY(jmx+u^TuTpZCnQF7)`Ws8Kh%0$&Je<)5c{% zli0YN)MVPYOl}ezmvK#|jZ0V45gw(2rjyJ}CpC4MB!s4OoEX=1w-Q$hnjWw(!{FsM zJsQqnVX7l$6~yu~1yh4Soo<;X8C{lOgOez&LZ-oRGnf3ynn-bU()tYHH*v&oSkH+i zJ%_nWhGh*8xtZw%S#+A-w68{MolWl=yhM?1rt?gVnW(5J6E77VLSzH;D!GrM--c(| zTq40u|1#PgLLRwrCX|XOjvyk-MTT30XdB1d9B+`mzQ__&Qt%eZDR|oqV^16wt>oxZ z>0@U2aO7*1&BF}sOPPt(+U_efBA}b`+x)q-peOAqL<@DjDF*9#_!46!2G%4mU~P<4 z)tZ-7(6Zdryj(2D=F43vh_7r(#&W#O_Xo(cNl#o5i;{J<=8eN?Q4W{4HV1>g09ChjMAVBDs3-blmfDmEA%;(5-;{FgEY2m!N|%< z+nX#|Uy#!ZwGXgE1nf#`AMakGec7UYfQ9>t(C2R703O17W~`mX(53~4ycA*&YL9SJ zg#St$ZDcY(j3a)?p{<3_{fpbeIuJ)WGwT-|Rc<*d zGjGW9K&doU9#`InK6m?X3`AgILg{HdO6(BIJz$NE2ZOaP6`DXxgGYp4r~;H4$OZ6Q zm8K*VZlm)3;e6av1ym<^%#oD4m6__Dg=^q+e+&{F+gI5|_ zoFQGAHLM(|FPZf;W6v1h3J$!T5YX8A((#lQXLua-(~LA&o&!3W+Id!Qzkgp^L5O|n zr!HsR?XEqWF>!iL^8(s1yiTZI(OMZPVZ1**jubO`hz)6IY|^obH9O?9X(LH(!xkfZ zuJc(0o7l%D7pI7s#qhJ4VBW_*_(VBNj0eRHBHn|~vI4iH^+`yK@fTB3B%Gbd-Pv~V z6~nuompqdd;Gz@>!8&D#UvL(FfP~1c9)4j~?=lX4B-Fcue}+gCq~0C;93qXG9cLW; z8*?o8!G9~RTF^=d1MxxLR=eV=$*nF;zS5?k-( zoUYb~)Id2~pBBzgtuI0*a+6FXcjw%#KZQ(W)|@k2f5`=ST7RvoDro(X6DPI)R#lbU z`Uxk-wSKOu%4_}Ft{=oi=eGVcTr%lP5mrvGN?P#<52hg5L%GQ&3)LCwwDO_C;RKQ? z#*-{#Yz!*J8cMWYw+GtjA-AE8hG@~s6IMwVQ6wCM2n@=1)=44(m!jOM-~w;ncvK2` zxKG8Q0=xb=#>shT@b{_UA<{rdR2h5Om>Tj{>FX>UgqUenl-;QY2iOP83e4bD0pZHM zUPs#fp(~8>4AJftXH_9?EgNE08dp(9#!qe!m%<@-r79tI%{(o{P{6W*aqx`2?YxKT z3@)nJmtt;;9jXwE1tH8*L8wwx2;A1Zm8&ubSYMN5ecQFlLl1{@K7$vTd7xo$#5D>5 zPNmWe9*8ZJz+1ysi4EysO9b00xsLoyVpLoA(6OMK4n9IAiL1aN*j5OW1ltOuwGuKD zvcoOhZ0*F7gx9UGRg@C@0R*v~xI%zpI84ySh#}$%hL-0fSWg!vjD8&8lg};bJB>?!zM$St>j{R-BDH zJTaWsw1Aev;q@r9lr{)BD@%bvXiDA{-orZ#EQJl-0|EvyDucu*1A`2w8XSQ;Tq6(& z#Rl90SRl!lN8sX7qF!?d{?ifqi*qp4W2JTJ@DcX;*mSsESeFi;aM2mUMTg(TTE~-*Kh{Ge!rYbB~GvpfD$5h=qk97$)R`CO1Y~6Fx6(Sj=z-EZd3n^qq zy3E7BVx)^c{DDNeKZPOPpTm&uYl(FKH1X@U$WTV#)-RONw~5oo?lzCY*6g-)F0HIB zQ!&wmwmeRBwhc5f(Y6tsII*o%IWQd_0UncTLJ6XV)0RXKCp zuHwWAZC9(DiESG>(bcv^ z4%@_$Aa~nw1(?=$Ce+B&b~e<=(SVe^eFe zM{Hc$xFZf#h4)A-Cq^HMS5uRIBvasmIR~r8q#r4T!3cM!1dMo|Bcow3GE>T| zBNG|Wdt{2q(sX1_7~s4xz@-v!r5SK-7~uLaz%3H+dS#*-bmSIJEI;xC)v44YdpXf_ zq)v5z)RBXnIQ_^Wl{5Ru9h{haq*HZ2cO+d!ZK5{<; z#vge^^&;cQ4*{4$fO*;Iz9a!(F$4Z44DjtRz>g&0A5`~~j(o|a*LCDS z;`gYPGsPaYsRO?mM?EOrL(P&W%e+V9Q95)r)vTjwqV%KLs#%#w2LUiaE4RbCG=cgP zf3ygIkOBjMIY$K%NjN%2H7nuhWNuEv(MtY}Kf08EbB_u=XTnjFo|AY~=sB*VQqLi# z?LNAj+v7P}rTj}`j|#;m?&w~X=sGI)3u2Epsl>#iV*Mu_J*E=#k9OL9H7Gpy=;?4q z4g&~@_9KXq&zFomU6?M%n$OIo3gaYLFpf+R1l~ebpb%7rRB^}xZwiL3F*r%CYLOI#>u;|5YFIHDKKId3AdQ#bo_b{<-3Y*Ny??rWfUrqp%P00 zL0oNtyp&C$Nw~#P>;ldqqv$Bghw=)9K^193ETbsjN(v2-p}`__DfP05($I4lUMYkY z46qEM&;lxjon}zVC{fC0l3fygSK;7+>*#BcWUw^M(orl)M|>1SX-Y2AkNC)laZm)e zR!FS~ttF3`5HA@+Q=_y@!ht7)TzsC!^e41yYq|{~(skf>WrF?T}43(@xJVo4skPxde zJbWDD+2Jb~cw+eC1-1;UYZLX)_OLRgQ~?7xr-M=&)wot z=PEffcb~_ai{fEsi+hlU<+~k=%6sfHF%fN>d^A zR)v&Jp|6lKqW2Y2mULxyXK$&&gp7P&#lYauAlX57$icO%bWURyozuXucubag<*&uY zdt3}mbj?^Ne1Mn-GLZ`4t1Eanfx+S_Z7vmx7Rc)`xS~0MilAy^Lyqz-p|m2(XXvxO z2c$)$8XD~#+YFNk?%iTX_kNl(*&AjJvvI^QfAkBO@y&q54$#rOihz%(?tJyiIxyCGXeJW@q=Z>5i?7)I8MXs1PH%4<;Rw(_H<$FXwPO* z*4v)XmZ{6yABC|a;o^IM$HoYqo3phKGt3#x0hLLDLu`^@vjVfNAnQTH)gb7kX78L zsz_*mf(La_`%m~~dHeIKH>vIN;C1^iRloDwf6cCCx$WQe<-)_Qj^vc+JsvpEr?^~S{7I!L{=^&u9cBuz?39;FvOZj^JTA9* zVR8#x8)48?vr${68PwIHl?M#i!m>Gy2+;IBbdG9Idos+{V=l$gV5e9`ONfk!jaB31 z({Y?I2gs)5je-UoZ*j44^xlq7i3mI?&C_&|p6z(MK?EQr%41GEp-coYjM6!d-}2-! zu}}uf9LmCJcRI!Tf%YS*XBHK_G>#%er-Xk|2X-z1+D($ zZ;7RO-0atOoc!8?%yh@eugz@x$~gX&1T_1#b&y|MP>mhr*A`S`hxBXfkbZ4UMLN;| z7(=Ii#pQIXsZVTzd0VX|i?b_jc>tHWf^%=5=0Plwr_*+KTqU_i2G1_MfaW{1h1ncndf>^ec7 zWF61Iu9IMDYF3A^XL>t+rVK*q9lrt~JO%=N^mM!lKyx3nI^Jhw@OJ!88H8LNpYw{z z@4&w88DMU1M<4sPkj9B_lWG;%nN1Z2kRU?|&I%DNhgCjVoZcxR0}Y!W0E>Gms1#7} zbYa8*AIKGZxl<`Lkzf(Z6CwD5r3+s${>O43xihDnIdx~g;MARim?*_}4i%Rv@J+^@rG^6& zvtz}lK?o&xHcRIjo#g9-Zx?jV=EBBz&QVfoeCHxgjOkpaq}1%r)tp$?xklwo=-kAK z&d#kOCo{dy8$-Ee=S`v9vQr!^ad*}VrY8WK0T{F!)_FSsA!P*EPDZEjn09w|n7CzU z4>w~%=Q-83#7@C3T%8Z9UgUK?Cax~-d@5Yl26_{<1uae#v^a=*Cksjq`mB6taIfPm zma98o24RgRipFlRF+?z#OezxVBoZ6${Srb0JKy2Ei=#U~G)N%3hKATQLuj5Na-3O3 znT!Pq&3t!p=Ql=c#}aW-Bt?-PE`x~%hnVzmK?c3xyNgdG8stKe0k!xQ;ZUSOg$#3t zad&Z!R(Ybt*uKY|7*Yv0j1y+DSotFIS~u=4&H+N-)R}?RH*yh{7B4aufmwAnZnrtH z5O>}~@I4{+al9v1GVXX!Tp^YdU+HjS-5@$UGEutyu_ViD%DjluPtYz8MAs8lVriVX zS)pIT34!6x6SbzLae^>BNUJ=OdR%TAauJmG}EaOVjVhW9`5 zn79_=L?0Ngq!M*qVxri10j`%?mX?yQ$BCZ>NeSwr!x-Y_jMnM2krCwjapFyJ= zAH{5udADMktiXlfaS&>j5`R4Lg;6)#Wf`1RG=-!=XvjC-oQyQkP$8eyL^fU4qH{Q^tHM>vDCE`9$P;T}FA`FN-Ib56-JUL3x=#xTHPdquv zgj6S|8K(ppm0&lK4jg8r$~rk;Al1ng0;x`}G9lGTL4=(r*PD>)w#2Q{EBRz6e#LG`2!QZJ-Hu%sRSrDhvQDx0}uj?39yBm;XZj-(c6NPcL*Fi*%?kn z6^;!RlJ8}-k;j{MR}qfoGLD_3n{bsRnoRh_n@lOR-Nai^;n($?d`#fjNxCye;TTUf zN7V)hM`0o9>sFsj_p(d)OIgj z#>-kah**f~eX3ZX+NrSu)lQ8!q1vf(PIR7{CQyy=+;wU`R~>tbK3Jq_`KPWBh;VAn z_aQ=-P-7-pZ~~f7X-*+TxP)(sIknxG3??iYmQAt3&n#R&IJJlGpouwE9W?zzNYpN- z&IQTaqVy)Cbe?J!d!c`Y$i93B&8g$z6AaYw&^l6bsEKr(x+{EI4Wl*s$8w?h4w_T3 zG^?|XgUR|&q&4=`b9}Yarc*D;X?=y=t*-2{Vp>yj#e_0fI`!5l;!5~j1=CiDBJ#dX zGXcpx^*iBse(H0q?jZN-Q(s_pLq1fi`_wOS?2THVQAc5X;^mq(yQSG)-=x>5yN zbkX&0@&=88U3mfxx(0@$0hSVJsnAGA2n*(VlCSu_3&C?r^lD&M*J#X?VVO+EEfP47 ztLQ^Gzv-G{C)yv|H3P_igR1cBpw$k;p848B9;YBKGmN-Q*D|9r-c#e73b-=HlAy&; z(zUm1gMk}LJt?A^*m03HozQh3t5tU0WFW|rfH-3ush8@9vF=k)i(Yr?N5BxhbDm+V zgF7j6m#%}tleDW%U`SUx&p}dGr-{3CoiTh!+1l2(+@IZbuRxBj$AKI{ck_2W3FH7& zU{*7_ek_oq>ji}zxn089eL~mk3Mmr1gtg7p^}a%i+%DnlKB4PVbIvchOjp<6RnEe$ z{|NLs9TAQ`>N5UhadBs;0A5NrS)Goxafw}k5sk(a+ia%Pd`^fUvbl>U{&CLV8*J`JA@#7dbhx;)3=~p+y&gd6LiNLbUfy?KS&&A@r7k# zUSEuA(3+&4$uAfOd1r{DY(Oznsr1vd*#g=5bQdE;*=h5^=hO1w^J&w;=j_wcKz!P4 zAU-V(#HY;$;?rRVpHGJ!d_FA=#HY;$;?rax4kDSS$v_-LGEYkb@o8xwre5TBTeue! zx~(Q$?~WF@-W?}!ops#qR8$dkuWxrcs=z?1h1cDm0o~mLObf4jxU6ENxr%YJib-lY z6?M<##L3;WRnD~T1)S*ZUTSX4m7!Fidvz!k=-$YH?(QwBF$vwf#qpSKU#Qu(yC&3Z z+g;BEc)FWZ0mHhFa$-fd>ELrl_X$o+=r$dE?%#c09*^n1C!9JcVN)H2QL2sdc~f3( z>QHU6@a+OU!F9r<_y-wM)iuGn;-D?w76?^o4oNSg^m^9(yPw1ASBy%Xg;8pg@&r@9 zUg{{UlYFk2RvA|dlT(yoH03LUnajYg>Vcw&7kpI`E_(_gXWeg$^D!~q9|XxqAv#xx zMiyf8454=HV8OC9ui%ikAw@CO;>=7(c>|A|uF}|o$WbN`LBv#?k2ymh;ZeL;seN1- ztAfhhsVFQrlntLMO+j$Wm^$;uA2*7N;`a1$YY^Q=?L8CN1LTrIPMInNQ^^F1ZYzHj zm8KvR&F8&Bb*4eNofw2)H_pdguT`GeDkwkPJp%Xp81@mfvqcCuVAaELu`t^>m7=Rc z<-yyF49hq3n9s-TKD~`(*{cjI3!mU*UkAQ{o-d#0&=Rt7PJoS5Y(Da73%+CrI`f(H zLT5g6x8Of#9$@~XKXT?}FrY;9`Is|L8JaWD&?Bx%G;@=zGerL3YJ28Yaa7^V+aPR7 zq}k?b7w1ospPL7a5_?9x9zYAHSJx)F!Gor@>DU37nTF4F4Q~7*MPbSKQ z+#D~m@`YDHvMHaB=^1QD66|fnIuKtVWnhr$d`!=HLv$D$I3L3oFa@2D(a)Tr^D#f6 z^D#J3%fdp>JRySiEE1E|v&@x&VO`pD0CTnMI_z<-B>gk#DS4`vgdAJX)euR&mZ4Gs zoFVEdZbaUM;g_rZLXeXZc|>*F=ihVd)gJ> zOX@kviLpIr6o(wtb1x^B_uQ{?ruIC_iJqQ|Dra2J^RmCM@~^w+H!{=P${D+`=R@JZ z(erUQ(kKq4wBS^s1(y=Wu{RR~cVPC=$f8U5fL0P6+2=MK9nVIwu{q{!Y!Jg3LYfVi%Gjy=K@}Y@p)8|m z78MqUduVWz&ki)2tW8T{j z3H!7-F*urTCJVZ)jF;Ql`swt$>FjL+{mveA4MBX_*;i<}O~FdL?0S08nlqh6OTBof zFc;8R+0J&1A#*{lG#BuqV}YGRyc$__XE9wpAj!-7kl4M0ALbR>|LlECYzxjl!E0gC z*^6owC7%^aW8B#nOsnYZFS#29XWx+!@0lS49gaKui5cQ+LCDX33ql^`vT;rWArErd zI4AC~b)R!8LY{k0++jQ6oaqkR#B*6(zw4ao4%>utL%DGY=f=oiao{8VT%~Bjxus}A zkn_j6WoQCq6va!<3D-6ExizW@>F2~DpK<55sor|e?cydxpSwx*HvQaQP8@fx)||6Z z=4??p2c0`?*J-CV_Z;oihA=4LJJAcUjQ+yZ0&0>js7X*-s-=wB7w8X8b`S();2}Z= zUTHoX(bp*nkEMuU^MNFNTzy(p#G7tPoMq7! zoFbn5L8SXP4^D`e8*k!`p^d#D^2r}eIv=<=MG37;B|!+}eQz99)KrPD$`M+5Lt`C& z&vlvxh1HK4oA-OQ%JWkU8f*Bz_0tS0YW7)HX@)p!-n>_0YG0vA0a~0C*vm0o0D$yt zaZe7c&?-nPW7vCI= z?KOS3xS&^@9G=u``fhP@ulR0pT(A6YG232x^Fk?kZ$T&}?;Ro<(>q*I@=?8IoH)IA zqN2~)y%n68+&fdyXHmr>RDokLf%A!Ry-QF9W?2nX?7~o& zpsEG{GkbS1pr`jnGhj6UgTA%byBC1w8Z&zvBw(`{@K_jNdl=v;3D~0m(|hlO=Uggz z&dF^=bk~xQ(6GzL$vF60dGOrd*iAiK!Rnsl=oU%Q!Ll!U~m`c;RYJOuDdE zB_>@EvPANQZ7MPK!i}6W?ZQneG37#ytZ1J~9B`q*?wd$r!-eK>u>mRyv2@TC9Lu8+ zNDpowC&8f9d^8ju=#upp3D&=y6qrGj29A^|JQN|pXN$Y>kcMw8%eTWs=qfrs$zRgl zY{3`h6RD1k^mW}-3hkt~a6{&s%g2bf*U^3D9!gtl!IjII6hhiakp|e|0v2yainmA` zDbj*MWg_iHDkVymGD?(!wy4@BinLoSTA8IE$0D%gt&~n-&V|@RUlvZIFAJ+vllj_MGA7TWjS%CLH=LGAX$+e}u>3ZaO6D}2 z;SCFAQd*%lfwoSjkx2t3r%@>(wZYMpS~`jLZ7a+WL1Nj3ckR9(0|R3&d<3zKH|&_3 zDSu6t$dq#@b3J99HYCaxInE5pR$jiHPX35& z_hhpiM|0^d8}~TcS7w&F_^onB;AjrPhP(|anVX?9hrIp%D0?F?EabDWiueE^zvUi< zG=u#Y_-!G<_EnT2!urON40{({W5i}!zN3$4k;PYaev;=-oyuS-m1m57EqMGHmgkA{ zsWcVh5t&BPEcbv-ygUwU4&#{!dCOf>{v67>%V`RhOXjyKt*;Od#`J(Z&84WesM>f8 zXHdQn2*YL0_bKq-d)Gz7UZL;eebw6+Y+w2Q zuW8sghPyenZz;8JINO3KEu_u=*S^8}%l9`rAaSF-kyKt^br?#I?=Mp6@pWmHcP}%P zo<#x6{T!*9m~U-V#~KaArJrWF3Yians(glbviU8$6v1T03X?qQh;GWGlh`qkM;$Sg zG7aU0d~LmNSeU@%d}CTAEW9zzxAk+qedX(`-o9Y_%J+Xw!)VC)#?;96_0<-rlp*5+ zK_{$l>UPDrDKLKw4#f<%+51w^BV%$vRfDoTGVUdaUa zmBc!jET)S>(F7=|Pk~;FYh@MpH%Yz>w_LPMl1?bgCv^ljD5^GL>wA4jig9PS= z)drr8;QcX?R=5#rBOPd^^p>s4229ElR}}0&$ev}bioz>|a;#M#q!w*7uIkc~^$zq7 zb{aeBQaIH_{LO2jD`3c!vkZ!wWp_W#a%*u6Y(`pytwKMlH)vX=e%8Y#bU1lh9O?Kp zbrqfGM)A;+-7r!)Tx42yXoIZ|8;u@~KOUp4m|biHMQODB=+l0vC)ZX5_kW8cks|qy z?NAY|4%BDCR+cSVb69V-QDmA8oh_qgZ9r zTCr{O=5=d!ZrZkWM{&irt!s8&fBm|xJ5v}zN`Vc}jHSmsJQ!6xdb6fYU*WP@L01NA zZd`PRI%D*EJ-FjsqO5t4FkBvLOawhj^;Tq#rJ>a#G%Zrg_l@+xCuR=4WGF0UE4@Mn z95bnWf)~dVx%UMMR*?PwNx2-X{)P}^4^o7AHpvRh>RTTTkI;) zG#m&?#XJV`F2?(7DDQo_`eB*ZvfOvI3!4KAHMb3IBmhH{)@lNHXp}I6Qol2Ox{DM%;M`@lDs0@%CmoMy1G=9`3n#c%+CJDug*-A! zKZ;-K5(clul?a-GLT1^ja9DIcVN@hm6bi|+Rv}YR(=P?!Rx0GN3jLTU#F&R%-_st9 zqHs!#(`Z@(Mc#uV#^8S;75PMweupSBQk&y@3GGUtRt&X@ zb|qLes|gf2X(qG{_^-XVSZ~KKT5Cg>ehE-?0H1!bVSQgp)TW#)*ESo@%fm)TsuouI zGDlUMrY(kgij+)BaoK3pa?EpeFN*ysRq-^Df!Y<+E+oUN3T@z-8z9?|LN#8%|MU2- zeRd_P-G%?!XZZ!aq`!Y7$@tCJI}k)`BDJx4tt*X)4P3zR-H_1rK%=)F|FzG7P-%%f z3h5_l=K%iMC4O$;pVZxhIm?ZlCADgBhJGjVawV7O574eL3Jc6CUTK%$pOB^Y)grwU zzns^tKj8uiBkDKGTGgKxEz}JRIUNTJtfxiDzKK9z8>yc#Kuh!&FtVW9G1^83olEXj zk=X3OJWHHXOMM-{ZlNOHDA7-j8sP6I$)BX_5!) zpX7~HMW_>@@UkcS&C-}A*^EjTN=7lV*<(QpqG(%sOD5zxL zEr8;Ml}xkGA=ElBoGB72?p4`@1-CAn9I8>oHx&R%BX7*$%DX4yX7)o|GCt^q$9A71X| zc)t_>el0^y#zfy+G#H^1XCS`cQly_V$}RVO1Y1AMQGD?wdOMdig3zuS&G%c=_45X( zi?81dtz{TqPp1~y%vrr;dH&9tbOXyf*m{=6> zI}7!@jJ#3493UvjE7~!KcqC@kAVDZh2oUq|>yJ&>?>3;a-PG>T3Wnh|chQ}$lkCBb znUU%OD+EfIf}!ZSq&=9ZAva|zGOi+^glqKs1W=MzmP!)l zLXtreBdu1gzg9qUJg7>nw%H0IzX1M0nzjNbs<3p1+p1ht2*j`$x>N(hw3rm17`jNz zrCni#U#Z7R#I#s4%^|2rBa|jI^(WdIq^>fskvE0TE+{`cwHdELY;+ zpK=nc$OIf8qfE3h-kNxFgeWNDcAqy>kF;y0gN+7AB5{xN%`9jsovfS(e z|3Yi9wGqrSnMaX?NkWA`jk@-84i)GR;un=hYBNfqZWhuy!lVMfOs&Uze5?WgOY!f| zD9|6mF9XGv0V&;#33H^(W^|c>sLpu=lr=(sSOB4WQ$_b?Q9nXQE=~1P{*e-mu)Pdn&q)oL}rCV$kM=4Or z3SqobOLA60^&t+KLj%d98OP{s@HTG3-KgwEs<{6G%+$3sTm6H?VC++CdXN67Xp}9| zn&`^YhB{DWIZK^%O3>zk`g=15*FvH=+zAQ6q21%gY6`*Pfg?A8P$q={oP-^HgfQ8j zh?%yk93Uam#!?%hh{M21Dmf$-FHQ$lVa^w71y*1pYyw`ILoW?)5*Y?Um*_p{#Y@za z{8Iff*=}uMrORfAG2$vM1y}GBX7g8#vGKtOwNOnBPwtNZ_ZE#y;g$UL0wmhBftMR) zl(;bfm&gGaK?5+32B3hZ2<$b9RCU^rL&u>6n5)A=;=Tly4_7w_&0R}P9=K3{0&0eS z*aIn#j19v`fycn&h?-NFNFWr;&%{E>aFRwSKR%AEP7FI9pd+4$%it4)&!uYHbXtzw z0f?X0Js`_`MH=)W_OO!};wI4mS`&X6#Y0oziO@UA;s9+AU#O)iNu$+JVXcZL3xk7* z0`(gih|EY}72ag7jb@L8Bm~lRrwn4Pr7@p@+z;d|==`M2V7UkVnHvjVPxrAWanO z5wf(G7`IcK08L#RVufT`VkOg;vHE!0r(jqvr%@UawC0A;nyb~H5$%hFHt{Xmmteui zlr`jb0CiV+wE5QEnN(LY(QfD!ZfZA6N}%Sbou&@$_L2?AOK9RHg~JQw0r|_Vj#TO* zTn$0gtlRCHW$6g4VDKW;AXZc{wkQd2aDE#9x8vVm%0z>bj6b4+q_b|(e~1urM{0w7 zX*8VF7}hD!2wZ4N51#BfJlTuIHWV0Q92{mb=%DT?+6Ze^7Bvgs0f<9uk&FpV(ZXGyh@OMdc^}H0xnFNSUGhR?|@~oPREau%8k+c%mQ0P`-wL|Kw|dlC}8vPv#eopj!Gf{|?iCj1Opr+_gG{R-Wt0&fK{~Q(TZtG!V2Q*9 zzhOGyjVP;`%AK}K|A{CUUYB|eh#xi#lC*rQ=8gmt8p+dv3vf)+F@;zV8t$Yy0bN>1 zM~uAMG+Oi!i_isQ5%X9aNAZtPRWs&cs5a4X%?Mh~|3p$yE82rvF`@5PO#A=YidlhH z%qr5K6J5uQz=q@1Dr|x}8WcB_>#acc?bMaZAkZfPikV=-`aePEUZOuQYK3uIe@<$- z7Auh>482F2NeFJjiv{E&k{f~-2T=qmGyeIbjN+&hzd}p65ID&F??SFa0sEh124aNp zu^gylF%W2o87v}J8y|_qSR8Q`dCFillz}+gAz}>Y(Qp&b=Y=o_1#FFfS?0ulGgHU>b40n78AimB_J5e6kiQ!T5xMYN5Wt36$czH=x)ZR+RE31V zz7DLok)*=8pypwt1?-k>B-jNbI+|i}L}>%9Rmr3TCeu9!j9gJ9LPcR44})gR2nISj z0!FwLFXSk2KXkV+AV-bEkS(E+ymFrYbJ<31h_4;X3cCPkBQYIR;UOA@{Xx~|g*1br zU~7sMB+nfUQW-q`fgxBuMSoe89&NGu?gf%gr}d8F3?jHlh%-yc1_~UQLRC(pUTHxq z;u@5)5C8r(zr$0bmahrIfodd;(qF+lBK5$5r!jNWX@Af(^YbFW_Hik$HLS%O0jT5O zziyWP3t5O(;QKi?wjgVGV8aV8NsNNFnFa^q5qV}ha9LG2!&r^NZlQuVEYx3xdR-mq z;Tdz1a7sSe4v2d+x{&2Ur1JhY2%dOnmdaW7!^2K&wN(G5XetB`DEYpByF3w)3rixV zTZzBuds8s;L$tCHm>sxenGEGLl%3S7Yk3g&VesgWe)Tu_qna4SN!rM2Iw8S|fu`?= zrsziULb|-9AMMMi2zEAAB*z@dG)J<{5wJ=HQ)rH)nNNM=uIFcv~!5B#i54-@bBMp9i9ywB1z=y^Op;t+%)Z3h1RTUzk!<>I-Ud-T!WJO%Onn0GRkaW3sQ%j0A^77Z;Jm0`2A%9LFow>nKFLtTQSwRauv zIiI)gEvTD-ufLk%J@sF5zJ!Kz;(b#LzmIQTz=-WW_z0I9f9Nk9_Z)8J{GRq?@q2tP z|GGOfIA7d}xz|$p-jhSQ9M7p(exG>iM_gZgR}+^LcY2%1cjk+=8paXi6a5E`rh2ER0ER_k~dW(fHrwL&NDV6>1DhY}~^;fmKF&tZ*& zouW!;cyN*2kwM#gU~YN2A_+k`LAr zDS~|rd6wZMInV)47>U}Y(VN&Hn@x%VgkzKoTfLQb{LNj2KQcU$$W;YG0qR(&X*m=J zedVT~MD0)F-~Sb940ZVTfAu>&zu{1z>BvFfP|_;&cM(EU;JKu?V8CHu%pp^wlZ<#gpapzXsK|7Y)!)=^EY)}p+ zJd02xm4+~l9&qczDAAC^tt(x*bpa|uOLtbn;bj`FP|W`nUQuWtyW{M`umA5^Xc>vg z{=Wx0L*0EFNrbZ2m~r9J# zhSJ352kg~JVi(^*2 zR#6-qwg42Vt#kluifFOJ!jwkqn^9CLG^ifv978))F3JY!HJYa#>BiE-_-NW*{NIWH z{g!n7L;NB!Qk%M#cn7dAXg|LkuR#;E{Z@US{*lNFQFkMeDYPmMCMvg^mN|w3E4m+j z=QW96S+$u~_i#$hp+&@PWdZ`a0bfBvd=Q36Xl0v#G}mI#2UG#iBKl+5ai3stWM?4_~USP^3k}iERM&Y6KBdkmp39 zZorEsjpj0r#Ctk33rlhg&FX+@o6y~<)LkpK!-KnPC=uLUAG&b|{`WgppsPEnyFdlg M-{Tk{`V0E~e}Z(QRsaA1 literal 0 HcmV?d00001 diff --git a/Plugins/Realtime.pdb.meta b/Plugins/Realtime.pdb.meta new file mode 100644 index 0000000..503720e --- /dev/null +++ b/Plugins/Realtime.pdb.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 2d7e881132faf45658eba1658f76a788 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Plugins/link.xml b/Plugins/link.xml new file mode 100644 index 0000000..a083f9d --- /dev/null +++ b/Plugins/link.xml @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/Plugins/link.xml.meta b/Plugins/link.xml.meta new file mode 100644 index 0000000..66371ec --- /dev/null +++ b/Plugins/link.xml.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: c6e1717db764541f4a6fbb42eb00cbf3 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/package.json b/package.json new file mode 100644 index 0000000..ba251ba --- /dev/null +++ b/package.json @@ -0,0 +1,16 @@ +{ + "name": "com.leancloud.realtime", + "version": "0.10.8", + "displayName": "LeanCloud Realtime", + "description": "This is leancloud realtime package", + "unity": "2019.1", + "dependencies": { + "com.leancloud.storage": "https://github.com/leancloud/csharp-sdk-upm.git#storage-0.10.8" + }, + "keywords": ["LeanCloud", "Storage"], + "author": { + "name": "LeanCloud", + "email": "support@leancloud.rocks", + "url": "https://leancloud.cn/" + } +} diff --git a/package.json.meta b/package.json.meta new file mode 100644 index 0000000..5426aef --- /dev/null +++ b/package.json.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 2bf33ca8879c142c8a10244b952a4e4a +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: