From 1e0100a45fb9b3f97c4dbd34dbfe6912ec3a19ea Mon Sep 17 00:00:00 2001 From: awiouy Date: Sat, 24 Feb 2018 13:40:01 +0100 Subject: [PATCH] librespot: update to 685fb4e --- .../addons/service/librespot/changelog.txt | 4 + packages/addons/service/librespot/package.mk | 8 +- .../patches/librespot-01_dns_sd.patch | 150 ---- .../patches/librespot-02_kodi_hooks.patch | 38 +- .../librespot-03_pulseaudio_sink.patch | 10 +- ...spot-04_add_kSupportsPlaylistV2_enum.patch | 657 ++++++++++++++++++ 6 files changed, 689 insertions(+), 178 deletions(-) delete mode 100644 packages/addons/service/librespot/patches/librespot-01_dns_sd.patch create mode 100644 packages/addons/service/librespot/patches/librespot-04_add_kSupportsPlaylistV2_enum.patch diff --git a/packages/addons/service/librespot/changelog.txt b/packages/addons/service/librespot/changelog.txt index cd46510b0c..1259852c7a 100644 --- a/packages/addons/service/librespot/changelog.txt +++ b/packages/addons/service/librespot/changelog.txt @@ -1,3 +1,7 @@ +110 +- Update to 685fb4e +- Add kSupportsPlaylistV2 enum + 109 - Refer librespot-org repository - Update to bc7ceb3 diff --git a/packages/addons/service/librespot/package.mk b/packages/addons/service/librespot/package.mk index d452a834d3..d31a432a3e 100644 --- a/packages/addons/service/librespot/package.mk +++ b/packages/addons/service/librespot/package.mk @@ -18,13 +18,13 @@ ################################################################################ PKG_NAME="librespot" -PKG_VERSION="bc7ceb3" -PKG_REV="109" +PKG_VERSION="685fb4e" +PKG_REV="110" PKG_ARCH="any" PKG_LICENSE="MIT" PKG_SITE="https://github.com/librespot-org/$PKG_NAME/" PKG_URL="https://github.com/librespot-org/$PKG_NAME/archive/$PKG_VERSION.zip" -PKG_DEPENDS_TARGET="toolchain avahi libvorbis pulseaudio pyalsaaudio rust" +PKG_DEPENDS_TARGET="toolchain avahi pulseaudio pyalsaaudio rust" PKG_SECTION="service" PKG_SHORTDESC="Librespot: play Spotify through LibreELEC using a Spotify app as a remote" PKG_LONGDESC="Librespot ($PKG_VERSION) plays Spotify through LibreELEC using the open source librespot library using a Spotify app as a remote." @@ -43,7 +43,7 @@ configure_target() { make_target() { cd src - $CARGO_BUILD --no-default-features --features "alsa-backend pulseaudio-backend" + $CARGO_BUILD --no-default-features --features "alsa-backend pulseaudio-backend with-dns-sd" cd "$PKG_BUILD/.$TARGET_NAME"/*/release $STRIP librespot } diff --git a/packages/addons/service/librespot/patches/librespot-01_dns_sd.patch b/packages/addons/service/librespot/patches/librespot-01_dns_sd.patch deleted file mode 100644 index 94b28742c7..0000000000 --- a/packages/addons/service/librespot/patches/librespot-01_dns_sd.patch +++ /dev/null @@ -1,150 +0,0 @@ -From 1bfecca0614ab3426df349fed41652692b8a7863 Mon Sep 17 00:00:00 2001 -From: awiouy -Date: Fri, 26 Jan 2018 19:35:21 +0100 -Subject: [PATCH] use dns-sd instead of mdns for discovery - ---- - Cargo.lock | 29 ++++++++++------------------- - Cargo.toml | 2 +- - src/discovery.rs | 19 ++++++++++--------- - src/lib.rs | 2 +- - 4 files changed, 22 insertions(+), 30 deletions(-) - -diff --git a/Cargo.lock b/Cargo.lock -index 1bee811..7f6c2bc 100644 ---- a/Cargo.lock -+++ b/Cargo.lock -@@ -106,6 +106,15 @@ dependencies = [ - "quick-error 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - ] - -+[[package]] -+name = "dns-sd" -+version = "0.1.3" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+dependencies = [ -+ "libc 0.2.36 (registry+https://github.com/rust-lang/crates.io-index)", -+ "pkg-config 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", -+] -+ - [[package]] - name = "dtoa" - version = "0.4.2" -@@ -283,7 +292,7 @@ dependencies = [ - "librespot-metadata 0.1.0", - "librespot-protocol 0.1.0", - "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", -- "mdns 0.2.0 (git+https://github.com/plietar/rust-mdns)", -+ "dns-sd 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", - "num-bigint 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)", - "portaudio-rs 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "protobuf 1.4.3 (registry+https://github.com/rust-lang/crates.io-index)", -@@ -395,23 +404,6 @@ name = "matches" - version = "0.1.6" - source = "registry+https://github.com/rust-lang/crates.io-index" - --[[package]] --name = "mdns" --version = "0.2.0" --source = "git+https://github.com/plietar/rust-mdns#c0fc73502d7d752a4ffeb5268a017561405e218c" --dependencies = [ -- "byteorder 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", -- "dns-parser 0.3.2 (git+https://github.com/plietar/dns-parser)", -- "futures 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)", -- "libc 0.2.36 (registry+https://github.com/rust-lang/crates.io-index)", -- "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", -- "multimap 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", -- "net2 0.2.31 (registry+https://github.com/rust-lang/crates.io-index)", -- "nix 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)", -- "rand 0.3.20 (registry+https://github.com/rust-lang/crates.io-index)", -- "tokio-core 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", --] -- - [[package]] - name = "memchr" - version = "2.0.1" -@@ -1134,7 +1126,6 @@ dependencies = [ - "checksum log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)" = "e19e8d5c34a3e0e2223db8e060f9e8264aeeb5c5fc64a4ee9965c062211c024b" - "checksum log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "89f010e843f2b1a31dbd316b3b8d443758bc634bed37aabade59c686d644e0a2" - "checksum matches 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "100aabe6b8ff4e4a7e32c1c13523379802df0772b82466207ac25b013f193376" --"checksum mdns 0.2.0 (git+https://github.com/plietar/rust-mdns)" = "" - "checksum memchr 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "796fba70e76612589ed2ce7f45282f5af869e0fdd7cc6199fa1aa1f1d591ba9d" - "checksum mime 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "e2e00e17be181010a91dbfefb01660b17311059dc8c7f48b9017677721e732bd" - "checksum mio 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)" = "75f72a93f046f1517e3cfddc0a096eb756a2ba727d36edc8227dee769a50a9b0" -diff --git a/Cargo.toml b/Cargo.toml -index 277e149..96dd02d 100644 ---- a/Cargo.toml -+++ b/Cargo.toml -@@ -36,7 +36,7 @@ futures = "0.1.8" - getopts = "0.2.14" - hyper = "0.11.2" - log = "0.3.5" --mdns = { git = "https://github.com/plietar/rust-mdns" } -+dns-sd = "0.1.3" - num-bigint = "0.1.35" - protobuf = "1.1" - rand = "0.3.13" -diff --git a/src/discovery.rs b/src/discovery.rs -index fc168d5..55472f3 100644 ---- a/src/discovery.rs -+++ b/src/discovery.rs -@@ -6,7 +6,7 @@ use futures::sync::mpsc; - use futures::{Future, Stream, Poll}; - use hyper::server::{Service, Request, Response, Http}; - use hyper::{self, Get, Post, StatusCode}; --use mdns; -+use dns_sd::DNSService; - use num_bigint::BigUint; - use rand; - use std::collections::BTreeMap; -@@ -191,7 +191,7 @@ impl Service for Discovery { - - pub struct DiscoveryStream { - credentials: mpsc::UnboundedReceiver, -- _svc: mdns::Service, -+ _svc: DNSService, - } - - pub fn discovery(handle: &Handle, config: ConnectConfig, device_id: String) -@@ -203,7 +203,7 @@ pub fn discovery(handle: &Handle, config: ConnectConfig, device_id: String) - let http = Http::new(); - http.serve_addr_handle(&"0.0.0.0:0".parse().unwrap(), &handle, move || Ok(discovery.clone())).unwrap() - }; -- let addr = serve.incoming_ref().local_addr(); -+ let port = serve.incoming_ref().local_addr().port(); - let server_future = { - let handle = handle.clone(); - serve.for_each(move |connection| { -@@ -214,12 +214,13 @@ pub fn discovery(handle: &Handle, config: ConnectConfig, device_id: String) - }; - handle.spawn(server_future); - -- let responder = mdns::Responder::spawn(&handle)?; -- let svc = responder.register( -- "_spotify-connect._tcp".to_owned(), -- config.name, -- addr.port(), -- &["VERSION=1.0", "CPath=/"]); -+ let svc = DNSService::register(Some(&*config.name), -+ "_spotify-connect._tcp", -+ None, -+ None, -+ port, -+ &["VERSION=1.0", "CPath=/"]) -+ .unwrap(); - - Ok(DiscoveryStream { - credentials: creds_rx, -diff --git a/src/lib.rs b/src/lib.rs -index 53257a8..0f8910a 100644 ---- a/src/lib.rs -+++ b/src/lib.rs -@@ -10,7 +10,7 @@ extern crate base64; - extern crate crypto; - extern crate futures; - extern crate hyper; --extern crate mdns; -+extern crate dns_sd; - extern crate num_bigint; - extern crate protobuf; - extern crate rand; diff --git a/packages/addons/service/librespot/patches/librespot-02_kodi_hooks.patch b/packages/addons/service/librespot/patches/librespot-02_kodi_hooks.patch index 18716f1716..d974ca8970 100644 --- a/packages/addons/service/librespot/patches/librespot-02_kodi_hooks.patch +++ b/packages/addons/service/librespot/patches/librespot-02_kodi_hooks.patch @@ -1,25 +1,25 @@ -From 2f4e4d6efa8b80a5bcfda697b5353d4edaf99e20 Mon Sep 17 00:00:00 2001 +From ddb20957330b2bb76c0cee85ac3514e5e136b90e Mon Sep 17 00:00:00 2001 From: awiouy Date: Fri, 26 Jan 2018 21:02:29 +0100 Subject: [PATCH] kodi hooks --- - src/player.rs | 25 +++++++++++++++++-------- + playback/src/player.rs | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) -diff --git a/src/player.rs b/src/player.rs -index 94df2e1..6595220 100644 ---- a/src/player.rs -+++ b/src/player.rs -@@ -1,6 +1,7 @@ - use futures::sync::oneshot; - use futures::{future, Future}; +diff --git a/playback/src/player.rs b/playback/src/player.rs +index e549736..34e802a 100644 +--- a/playback/src/player.rs ++++ b/playback/src/player.rs +@@ -3,6 +3,7 @@ use futures::{future, Future}; + use std; use std::borrow::Cow; + use std::io::{Read, Seek, SeekFrom, Result}; +use std::env; use std::mem; + use std::process::Command; use std::sync::mpsc::{RecvError, TryRecvError, RecvTimeoutError}; - use std::thread; -@@ -14,7 +15,7 @@ use core::util::{self, SpotifyId, Subfile}; +@@ -16,7 +17,7 @@ use core::spotify_id::SpotifyId; use audio_backend::Sink; use audio::{AudioFile, AudioDecrypt}; use audio::{VorbisDecoder, VorbisPacket}; @@ -28,7 +28,7 @@ index 94df2e1..6595220 100644 use mixer::AudioFilter; pub struct Player { -@@ -272,7 +273,7 @@ impl PlayerInternal { +@@ -274,7 +275,7 @@ impl PlayerInternal { None => { self.stop_sink(); @@ -37,7 +37,7 @@ index 94df2e1..6595220 100644 let old_state = mem::replace(&mut self.state, PlayerState::Stopped); old_state.signal_end_of_track(); -@@ -284,6 +285,12 @@ impl PlayerInternal { +@@ -286,6 +287,12 @@ impl PlayerInternal { debug!("command={:?}", cmd); match cmd { PlayerCommand::Load(track_id, play, position, end_of_track) => { @@ -50,7 +50,7 @@ index 94df2e1..6595220 100644 if self.state.is_playing() { self.stop_sink_if_running(); } -@@ -292,7 +299,7 @@ impl PlayerInternal { +@@ -294,7 +301,7 @@ impl PlayerInternal { Some(decoder) => { if play { if !self.state.is_playing() { @@ -59,7 +59,7 @@ index 94df2e1..6595220 100644 } self.start_sink(); -@@ -302,7 +309,7 @@ impl PlayerInternal { +@@ -304,7 +311,7 @@ impl PlayerInternal { }; } else { if self.state.is_playing() { @@ -68,16 +68,16 @@ index 94df2e1..6595220 100644 } self.state = PlayerState::Paused { -@@ -315,7 +322,7 @@ impl PlayerInternal { +@@ -317,7 +324,7 @@ impl PlayerInternal { None => { - end_of_track.complete(()); + let _ = end_of_track.send(()); if self.state.is_playing() { - self.run_onstop(); + info!("onstop 3"); } } } -@@ -336,7 +343,7 @@ impl PlayerInternal { +@@ -338,7 +345,7 @@ impl PlayerInternal { if let PlayerState::Paused { .. } = self.state { self.state.paused_to_playing(); @@ -86,7 +86,7 @@ index 94df2e1..6595220 100644 self.start_sink(); } else { warn!("Player::play called from invalid state"); -@@ -348,17 +355,19 @@ impl PlayerInternal { +@@ -350,17 +357,19 @@ impl PlayerInternal { self.state.playing_to_paused(); self.stop_sink_if_running(); diff --git a/packages/addons/service/librespot/patches/librespot-03_pulseaudio_sink.patch b/packages/addons/service/librespot/patches/librespot-03_pulseaudio_sink.patch index e50b646926..d64bec3c43 100644 --- a/packages/addons/service/librespot/patches/librespot-03_pulseaudio_sink.patch +++ b/packages/addons/service/librespot/patches/librespot-03_pulseaudio_sink.patch @@ -1,16 +1,16 @@ -From 3e51e00e717f80f7c23ed112e6ab42d1a61cb7a9 Mon Sep 17 00:00:00 2001 +From fb7b845f5ef4c5f4ffdcbef6abab1fecc0acca2a Mon Sep 17 00:00:00 2001 From: awiouy Date: Fri, 26 Jan 2018 21:07:48 +0100 Subject: [PATCH] use librespot_sink pulseadio sink --- - src/audio_backend/pulseaudio.rs | 3 ++- + playback/src/audio_backend/pulseaudio.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) -diff --git a/src/audio_backend/pulseaudio.rs b/src/audio_backend/pulseaudio.rs +diff --git a/playback/src/audio_backend/pulseaudio.rs b/playback/src/audio_backend/pulseaudio.rs index e9f0039..d5c2bbb 100644 ---- a/src/audio_backend/pulseaudio.rs -+++ b/src/audio_backend/pulseaudio.rs +--- a/playback/src/audio_backend/pulseaudio.rs ++++ b/playback/src/audio_backend/pulseaudio.rs @@ -75,13 +75,14 @@ impl Open for PulseAudioSink { impl Sink for PulseAudioSink { diff --git a/packages/addons/service/librespot/patches/librespot-04_add_kSupportsPlaylistV2_enum.patch b/packages/addons/service/librespot/patches/librespot-04_add_kSupportsPlaylistV2_enum.patch new file mode 100644 index 0000000000..147207fe2c --- /dev/null +++ b/packages/addons/service/librespot/patches/librespot-04_add_kSupportsPlaylistV2_enum.patch @@ -0,0 +1,657 @@ +From 80e0bdaa396a23a4afce5e643731d9e4ff213175 Mon Sep 17 00:00:00 2001 +From: Sasha Hilton +Date: Sun, 25 Feb 2018 21:23:32 +0100 +Subject: [PATCH] Add kSupportsPlaylistV2 enum + +--- + protocol/build.sh | 0 + protocol/files.rs | 2 +- + protocol/proto/spirc.proto | 1 + + protocol/src/spirc.rs | 581 +++++++++++++++++++++++---------------------- + 4 files changed, 295 insertions(+), 289 deletions(-) + mode change 100644 => 100755 protocol/build.sh + +diff --git a/protocol/build.sh b/protocol/build.sh +old mode 100644 +new mode 100755 +diff --git a/protocol/files.rs b/protocol/files.rs +index ad208d7..13db30e 100644 +--- a/protocol/files.rs ++++ b/protocol/files.rs +@@ -6,5 +6,5 @@ pub const FILES : &'static [(&'static str, u32)] = &[ + ("proto/mercury.proto", 709993906), + ("proto/metadata.proto", 2474472423), + ("proto/pubsub.proto", 2686584829), +- ("proto/spirc.proto", 3618770573), ++ ("proto/spirc.proto", 3695752338), + ]; +diff --git a/protocol/proto/spirc.proto b/protocol/proto/spirc.proto +index 4f29f87..f2ef280 100644 +--- a/protocol/proto/spirc.proto ++++ b/protocol/proto/spirc.proto +@@ -75,6 +75,7 @@ enum CapabilityType { + kCommandAcks = 0xa; + kSupportsRename = 0xb; + kHidden = 0xc; ++ kSupportsPlaylistV2 = 0xd; + } + + message Goodbye { +diff --git a/protocol/src/spirc.rs b/protocol/src/spirc.rs +index a8b2f26..f3f66bc 100644 +--- a/protocol/src/spirc.rs ++++ b/protocol/src/spirc.rs +@@ -4407,6 +4407,7 @@ pub enum CapabilityType { + kCommandAcks = 10, + kSupportsRename = 11, + kHidden = 12, ++ kSupportsPlaylistV2 = 13, + } + + impl ::protobuf::ProtobufEnum for CapabilityType { +@@ -4428,6 +4429,7 @@ impl ::protobuf::ProtobufEnum for CapabilityType { + 10 => ::std::option::Option::Some(CapabilityType::kCommandAcks), + 11 => ::std::option::Option::Some(CapabilityType::kSupportsRename), + 12 => ::std::option::Option::Some(CapabilityType::kHidden), ++ 13 => ::std::option::Option::Some(CapabilityType::kSupportsPlaylistV2), + _ => ::std::option::Option::None + } + } +@@ -4446,6 +4448,7 @@ impl ::protobuf::ProtobufEnum for CapabilityType { + CapabilityType::kCommandAcks, + CapabilityType::kSupportsRename, + CapabilityType::kHidden, ++ CapabilityType::kSupportsPlaylistV2, + ]; + values + } +@@ -4591,299 +4594,301 @@ static file_descriptor_proto_data: &'static [u8] = b"\ + geTypeVolumeUp\x10\x20\x12\x17\n\x13kMessageTypeReplace\x10!\x12\x16\n\ + \x12kMessageTypeLogout\x10\"\x12\x16\n\x12kMessageTypeAction\x10#\x12\ + \x16\n\x12kMessageTypeRename\x10$\x12\x1f\n\x1akMessageTypeUpdateMetadat\ +- a\x10\x80\x01*\xfa\x01\n\x0eCapabilityType\x12\x16\n\x12kSupportedContex\ ++ a\x10\x80\x01*\x93\x02\n\x0eCapabilityType\x12\x16\n\x12kSupportedContex\ + ts\x10\x01\x12\x10\n\x0ckCanBePlayer\x10\x02\x12\x14\n\x10kRestrictToLoc\ + al\x10\x03\x12\x0f\n\x0bkDeviceType\x10\x04\x12\x14\n\x10kGaiaEqConnectI\ + d\x10\x05\x12\x13\n\x0fkSupportsLogout\x10\x06\x12\x11\n\rkIsObservable\ + \x10\x07\x12\x10\n\x0ckVolumeSteps\x10\x08\x12\x13\n\x0fkSupportedTypes\ + \x10\t\x12\x10\n\x0ckCommandAcks\x10\n\x12\x13\n\x0fkSupportsRename\x10\ +- \x0b\x12\x0b\n\x07kHidden\x10\x0c*d\n\nPlayStatus\x12\x13\n\x0fkPlayStat\ +- usStop\x10\0\x12\x13\n\x0fkPlayStatusPlay\x10\x01\x12\x14\n\x10kPlayStat\ +- usPause\x10\x02\x12\x16\n\x12kPlayStatusLoading\x10\x03J\xbf.\n\x07\x12\ +- \x05\0\0\x82\x01\x01\n\x08\n\x01\x0c\x12\x03\0\0\x12\n\n\n\x02\x04\0\x12\ +- \x04\x02\0\x12\x01\n\n\n\x03\x04\0\x01\x12\x03\x02\x08\r\n\x0b\n\x04\x04\ +- \0\x02\0\x12\x03\x03\x04\"\n\x0c\n\x05\x04\0\x02\0\x04\x12\x03\x03\x04\ +- \x0c\n\x0c\n\x05\x04\0\x02\0\x05\x12\x03\x03\r\x13\n\x0c\n\x05\x04\0\x02\ +- \0\x01\x12\x03\x03\x14\x1b\n\x0c\n\x05\x04\0\x02\0\x03\x12\x03\x03\x1e!\ +- \n\x0b\n\x04\x04\0\x02\x01\x12\x03\x04\x04\x20\n\x0c\n\x05\x04\0\x02\x01\ +- \x04\x12\x03\x04\x04\x0c\n\x0c\n\x05\x04\0\x02\x01\x05\x12\x03\x04\r\x13\ +- \n\x0c\n\x05\x04\0\x02\x01\x01\x12\x03\x04\x14\x19\n\x0c\n\x05\x04\0\x02\ +- \x01\x03\x12\x03\x04\x1c\x1f\n\x0b\n\x04\x04\0\x02\x02\x12\x03\x05\x04+\ +- \n\x0c\n\x05\x04\0\x02\x02\x04\x12\x03\x05\x04\x0c\n\x0c\n\x05\x04\0\x02\ +- \x02\x05\x12\x03\x05\r\x13\n\x0c\n\x05\x04\0\x02\x02\x01\x12\x03\x05\x14\ +- $\n\x0c\n\x05\x04\0\x02\x02\x03\x12\x03\x05'*\n\x0b\n\x04\x04\0\x02\x03\ +- \x12\x03\x06\x04!\n\x0c\n\x05\x04\0\x02\x03\x04\x12\x03\x06\x04\x0c\n\ +- \x0c\n\x05\x04\0\x02\x03\x05\x12\x03\x06\r\x13\n\x0c\n\x05\x04\0\x02\x03\ +- \x01\x12\x03\x06\x14\x1a\n\x0c\n\x05\x04\0\x02\x03\x03\x12\x03\x06\x1d\ +- \x20\n\x0b\n\x04\x04\0\x02\x04\x12\x03\x07\x04#\n\x0c\n\x05\x04\0\x02\ +- \x04\x04\x12\x03\x07\x04\x0c\n\x0c\n\x05\x04\0\x02\x04\x06\x12\x03\x07\r\ +- \x18\n\x0c\n\x05\x04\0\x02\x04\x01\x12\x03\x07\x19\x1c\n\x0c\n\x05\x04\0\ +- \x02\x04\x03\x12\x03\x07\x1f\"\n\x0b\n\x04\x04\0\x02\x05\x12\x03\x08\x04\ +- ,\n\x0c\n\x05\x04\0\x02\x05\x04\x12\x03\x08\x04\x0c\n\x0c\n\x05\x04\0\ +- \x02\x05\x06\x12\x03\x08\r\x18\n\x0c\n\x05\x04\0\x02\x05\x01\x12\x03\x08\ +- \x19%\n\x0c\n\x05\x04\0\x02\x05\x03\x12\x03\x08(+\n\x0b\n\x04\x04\0\x02\ +- \x06\x12\x03\t\x04#\n\x0c\n\x05\x04\0\x02\x06\x04\x12\x03\t\x04\x0c\n\ +- \x0c\n\x05\x04\0\x02\x06\x06\x12\x03\t\r\x14\n\x0c\n\x05\x04\0\x02\x06\ +- \x01\x12\x03\t\x15\x1c\n\x0c\n\x05\x04\0\x02\x06\x03\x12\x03\t\x1f\"\n\ +- \x0b\n\x04\x04\0\x02\x07\x12\x03\n\x04\x1f\n\x0c\n\x05\x04\0\x02\x07\x04\ +- \x12\x03\n\x04\x0c\n\x0c\n\x05\x04\0\x02\x07\x06\x12\x03\n\r\x12\n\x0c\n\ +- \x05\x04\0\x02\x07\x01\x12\x03\n\x13\x18\n\x0c\n\x05\x04\0\x02\x07\x03\ +- \x12\x03\n\x1b\x1e\n\x0b\n\x04\x04\0\x02\x08\x12\x03\x0b\x04#\n\x0c\n\ +- \x05\x04\0\x02\x08\x04\x12\x03\x0b\x04\x0c\n\x0c\n\x05\x04\0\x02\x08\x05\ +- \x12\x03\x0b\r\x13\n\x0c\n\x05\x04\0\x02\x08\x01\x12\x03\x0b\x14\x1c\n\ +- \x0c\n\x05\x04\0\x02\x08\x03\x12\x03\x0b\x1f\"\n\x0b\n\x04\x04\0\x02\t\ +- \x12\x03\x0c\x04!\n\x0c\n\x05\x04\0\x02\t\x04\x12\x03\x0c\x04\x0c\n\x0c\ +- \n\x05\x04\0\x02\t\x05\x12\x03\x0c\r\x13\n\x0c\n\x05\x04\0\x02\t\x01\x12\ +- \x03\x0c\x14\x1a\n\x0c\n\x05\x04\0\x02\t\x03\x12\x03\x0c\x1d\x20\n\x0b\n\ +- \x04\x04\0\x02\n\x12\x03\r\x04*\n\x0c\n\x05\x04\0\x02\n\x04\x12\x03\r\ +- \x04\x0c\n\x0c\n\x05\x04\0\x02\n\x05\x12\x03\r\r\x12\n\x0c\n\x05\x04\0\ +- \x02\n\x01\x12\x03\r\x13\"\n\x0c\n\x05\x04\0\x02\n\x03\x12\x03\r%)\n\x0b\ +- \n\x04\x04\0\x02\x0b\x12\x03\x0e\x04%\n\x0c\n\x05\x04\0\x02\x0b\x04\x12\ +- \x03\x0e\x04\x0c\n\x0c\n\x05\x04\0\x02\x0b\x05\x12\x03\x0e\r\x13\n\x0c\n\ +- \x05\x04\0\x02\x0b\x01\x12\x03\x0e\x14\x1d\n\x0c\n\x05\x04\0\x02\x0b\x03\ +- \x12\x03\x0e\x20$\n\x0b\n\x04\x04\0\x02\x0c\x12\x03\x0f\x04/\n\x0c\n\x05\ +- \x04\0\x02\x0c\x04\x12\x03\x0f\x04\x0c\n\x0c\n\x05\x04\0\x02\x0c\x05\x12\ +- \x03\x0f\r\x12\n\x0c\n\x05\x04\0\x02\x0c\x01\x12\x03\x0f\x13'\n\x0c\n\ +- \x05\x04\0\x02\x0c\x03\x12\x03\x0f*.\n\x0b\n\x04\x04\0\x02\r\x12\x03\x10\ +- \x04$\n\x0c\n\x05\x04\0\x02\r\x04\x12\x03\x10\x04\x0c\n\x0c\n\x05\x04\0\ +- \x02\r\x05\x12\x03\x10\r\x13\n\x0c\n\x05\x04\0\x02\r\x01\x12\x03\x10\x14\ +- \x1c\n\x0c\n\x05\x04\0\x02\r\x03\x12\x03\x10\x1f#\n\x0b\n\x04\x04\0\x02\ +- \x0e\x12\x03\x11\x04&\n\x0c\n\x05\x04\0\x02\x0e\x04\x12\x03\x11\x04\x0c\ +- \n\x0c\n\x05\x04\0\x02\x0e\x06\x12\x03\x11\r\x15\n\x0c\n\x05\x04\0\x02\ +- \x0e\x01\x12\x03\x11\x16\x1e\n\x0c\n\x05\x04\0\x02\x0e\x03\x12\x03\x11!%\ +- \n\n\n\x02\x05\0\x12\x04\x14\0*\x01\n\n\n\x03\x05\0\x01\x12\x03\x14\x05\ +- \x10\n\x0b\n\x04\x05\0\x02\0\x12\x03\x15\x04\x1c\n\x0c\n\x05\x05\0\x02\0\ +- \x01\x12\x03\x15\x04\x15\n\x0c\n\x05\x05\0\x02\0\x02\x12\x03\x15\x18\x1b\ +- \n\x0b\n\x04\x05\0\x02\x01\x12\x03\x16\x04\x1e\n\x0c\n\x05\x05\0\x02\x01\ +- \x01\x12\x03\x16\x04\x17\n\x0c\n\x05\x05\0\x02\x01\x02\x12\x03\x16\x1a\ +- \x1d\n\x0b\n\x04\x05\0\x02\x02\x12\x03\x17\x04\x1c\n\x0c\n\x05\x05\0\x02\ +- \x02\x01\x12\x03\x17\x04\x15\n\x0c\n\x05\x05\0\x02\x02\x02\x12\x03\x17\ +- \x18\x1b\n\x0b\n\x04\x05\0\x02\x03\x12\x03\x18\x04\x1d\n\x0c\n\x05\x05\0\ +- \x02\x03\x01\x12\x03\x18\x04\x16\n\x0c\n\x05\x05\0\x02\x03\x02\x12\x03\ +- \x18\x19\x1c\n\x0b\n\x04\x05\0\x02\x04\x12\x03\x19\x04\x1c\n\x0c\n\x05\ +- \x05\0\x02\x04\x01\x12\x03\x19\x04\x14\n\x0c\n\x05\x05\0\x02\x04\x02\x12\ +- \x03\x19\x17\x1b\n\x0b\n\x04\x05\0\x02\x05\x12\x03\x1a\x04\x1c\n\x0c\n\ +- \x05\x05\0\x02\x05\x01\x12\x03\x1a\x04\x14\n\x0c\n\x05\x05\0\x02\x05\x02\ +- \x12\x03\x1a\x17\x1b\n\x0b\n\x04\x05\0\x02\x06\x12\x03\x1b\x04\x1d\n\x0c\ +- \n\x05\x05\0\x02\x06\x01\x12\x03\x1b\x04\x15\n\x0c\n\x05\x05\0\x02\x06\ +- \x02\x12\x03\x1b\x18\x1c\n\x0b\n\x04\x05\0\x02\x07\x12\x03\x1c\x04!\n\ +- \x0c\n\x05\x05\0\x02\x07\x01\x12\x03\x1c\x04\x19\n\x0c\n\x05\x05\0\x02\ +- \x07\x02\x12\x03\x1c\x1c\x20\n\x0b\n\x04\x05\0\x02\x08\x12\x03\x1d\x04\ +- \x1c\n\x0c\n\x05\x05\0\x02\x08\x01\x12\x03\x1d\x04\x14\n\x0c\n\x05\x05\0\ +- \x02\x08\x02\x12\x03\x1d\x17\x1b\n\x0b\n\x04\x05\0\x02\t\x12\x03\x1e\x04\ +- \x1c\n\x0c\n\x05\x05\0\x02\t\x01\x12\x03\x1e\x04\x14\n\x0c\n\x05\x05\0\ +- \x02\t\x02\x12\x03\x1e\x17\x1b\n\x0b\n\x04\x05\0\x02\n\x12\x03\x1f\x04\ +- \x1c\n\x0c\n\x05\x05\0\x02\n\x01\x12\x03\x1f\x04\x14\n\x0c\n\x05\x05\0\ +- \x02\n\x02\x12\x03\x1f\x17\x1b\n\x0b\n\x04\x05\0\x02\x0b\x12\x03\x20\x04\ +- \x1e\n\x0c\n\x05\x05\0\x02\x0b\x01\x12\x03\x20\x04\x16\n\x0c\n\x05\x05\0\ +- \x02\x0b\x02\x12\x03\x20\x19\x1d\n\x0b\n\x04\x05\0\x02\x0c\x12\x03!\x04\ +- \x1f\n\x0c\n\x05\x05\0\x02\x0c\x01\x12\x03!\x04\x17\n\x0c\n\x05\x05\0\ +- \x02\x0c\x02\x12\x03!\x1a\x1e\n\x0b\n\x04\x05\0\x02\r\x12\x03\"\x04\x1e\ +- \n\x0c\n\x05\x05\0\x02\r\x01\x12\x03\"\x04\x16\n\x0c\n\x05\x05\0\x02\r\ +- \x02\x12\x03\"\x19\x1d\n\x0b\n\x04\x05\0\x02\x0e\x12\x03#\x04\"\n\x0c\n\ +- \x05\x05\0\x02\x0e\x01\x12\x03#\x04\x1a\n\x0c\n\x05\x05\0\x02\x0e\x02\ +- \x12\x03#\x1d!\n\x0b\n\x04\x05\0\x02\x0f\x12\x03$\x04\x20\n\x0c\n\x05\ +- \x05\0\x02\x0f\x01\x12\x03$\x04\x18\n\x0c\n\x05\x05\0\x02\x0f\x02\x12\ +- \x03$\x1b\x1f\n\x0b\n\x04\x05\0\x02\x10\x12\x03%\x04\x1f\n\x0c\n\x05\x05\ +- \0\x02\x10\x01\x12\x03%\x04\x17\n\x0c\n\x05\x05\0\x02\x10\x02\x12\x03%\ +- \x1a\x1e\n\x0b\n\x04\x05\0\x02\x11\x12\x03&\x04\x1e\n\x0c\n\x05\x05\0\ +- \x02\x11\x01\x12\x03&\x04\x16\n\x0c\n\x05\x05\0\x02\x11\x02\x12\x03&\x19\ +- \x1d\n\x0b\n\x04\x05\0\x02\x12\x12\x03'\x04\x1e\n\x0c\n\x05\x05\0\x02\ +- \x12\x01\x12\x03'\x04\x16\n\x0c\n\x05\x05\0\x02\x12\x02\x12\x03'\x19\x1d\ +- \n\x0b\n\x04\x05\0\x02\x13\x12\x03(\x04\x1e\n\x0c\n\x05\x05\0\x02\x13\ +- \x01\x12\x03(\x04\x16\n\x0c\n\x05\x05\0\x02\x13\x02\x12\x03(\x19\x1d\n\ +- \x0b\n\x04\x05\0\x02\x14\x12\x03)\x04&\n\x0c\n\x05\x05\0\x02\x14\x01\x12\ +- \x03)\x04\x1e\n\x0c\n\x05\x05\0\x02\x14\x02\x12\x03)!%\n\n\n\x02\x04\x01\ +- \x12\x04,\08\x01\n\n\n\x03\x04\x01\x01\x12\x03,\x08\x13\n\x0b\n\x04\x04\ +- \x01\x02\0\x12\x03-\x04%\n\x0c\n\x05\x04\x01\x02\0\x04\x12\x03-\x04\x0c\ +- \n\x0c\n\x05\x04\x01\x02\0\x05\x12\x03-\r\x13\n\x0c\n\x05\x04\x01\x02\0\ +- \x01\x12\x03-\x14\x1e\n\x0c\n\x05\x04\x01\x02\0\x03\x12\x03-!$\n\x0b\n\ +- \x04\x04\x01\x02\x01\x12\x03.\x04\"\n\x0c\n\x05\x04\x01\x02\x01\x04\x12\ +- \x03.\x04\x0c\n\x0c\n\x05\x04\x01\x02\x01\x05\x12\x03.\r\x11\n\x0c\n\x05\ +- \x04\x01\x02\x01\x01\x12\x03.\x12\x1b\n\x0c\n\x05\x04\x01\x02\x01\x03\ +- \x12\x03.\x1e!\n\x0b\n\x04\x04\x01\x02\x02\x12\x03/\x04!\n\x0c\n\x05\x04\ +- \x01\x02\x02\x04\x12\x03/\x04\x0c\n\x0c\n\x05\x04\x01\x02\x02\x05\x12\ +- \x03/\r\x11\n\x0c\n\x05\x04\x01\x02\x02\x01\x12\x03/\x12\x1a\n\x0c\n\x05\ +- \x04\x01\x02\x02\x03\x12\x03/\x1d\x20\n\x0b\n\x04\x04\x01\x02\x03\x12\ +- \x030\x04!\n\x0c\n\x05\x04\x01\x02\x03\x04\x12\x030\x04\x0c\n\x0c\n\x05\ +- \x04\x01\x02\x03\x05\x12\x030\r\x13\n\x0c\n\x05\x04\x01\x02\x03\x01\x12\ +- \x030\x14\x1a\n\x0c\n\x05\x04\x01\x02\x03\x03\x12\x030\x1d\x20\n\x0b\n\ +- \x04\x04\x01\x02\x04\x12\x031\x04\x1f\n\x0c\n\x05\x04\x01\x02\x04\x04\ +- \x12\x031\x04\x0c\n\x0c\n\x05\x04\x01\x02\x04\x05\x12\x031\r\x13\n\x0c\n\ +- \x05\x04\x01\x02\x04\x01\x12\x031\x14\x18\n\x0c\n\x05\x04\x01\x02\x04\ +- \x03\x12\x031\x1b\x1e\n\x0b\n\x04\x04\x01\x02\x05\x12\x032\x04%\n\x0c\n\ +- \x05\x04\x01\x02\x05\x04\x12\x032\x04\x0c\n\x0c\n\x05\x04\x01\x02\x05\ +- \x05\x12\x032\r\x13\n\x0c\n\x05\x04\x01\x02\x05\x01\x12\x032\x14\x1e\n\ +- \x0c\n\x05\x04\x01\x02\x05\x03\x12\x032!$\n\x0b\n\x04\x04\x01\x02\x06\ +- \x12\x033\x04*\n\x0c\n\x05\x04\x01\x02\x06\x04\x12\x033\x04\x0c\n\x0c\n\ +- \x05\x04\x01\x02\x06\x05\x12\x033\r\x12\n\x0c\n\x05\x04\x01\x02\x06\x01\ +- \x12\x033\x13#\n\x0c\n\x05\x04\x01\x02\x06\x03\x12\x033&)\n\x0b\n\x04\ +- \x04\x01\x02\x07\x12\x034\x04)\n\x0c\n\x05\x04\x01\x02\x07\x04\x12\x034\ +- \x04\x0c\n\x0c\n\x05\x04\x01\x02\x07\x05\x12\x034\r\x13\n\x0c\n\x05\x04\ +- \x01\x02\x07\x01\x12\x034\x14!\n\x0c\n\x05\x04\x01\x02\x07\x03\x12\x034$\ +- (\n\x0b\n\x04\x04\x01\x02\x08\x12\x035\x04,\n\x0c\n\x05\x04\x01\x02\x08\ +- \x04\x12\x035\x04\x0c\n\x0c\n\x05\x04\x01\x02\x08\x06\x12\x035\r\x17\n\ +- \x0c\n\x05\x04\x01\x02\x08\x01\x12\x035\x18$\n\x0c\n\x05\x04\x01\x02\x08\ +- \x03\x12\x035'+\n\x0b\n\x04\x04\x01\x02\t\x12\x036\x040\n\x0c\n\x05\x04\ +- \x01\x02\t\x04\x12\x036\x04\x0c\n\x0c\n\x05\x04\x01\x02\t\x05\x12\x036\r\ +- \x13\n\x0c\n\x05\x04\x01\x02\t\x01\x12\x036\x14(\n\x0c\n\x05\x04\x01\x02\ +- \t\x03\x12\x036+/\n\x0b\n\x04\x04\x01\x02\n\x12\x037\x04&\n\x0c\n\x05\ +- \x04\x01\x02\n\x04\x12\x037\x04\x0c\n\x0c\n\x05\x04\x01\x02\n\x06\x12\ +- \x037\r\x15\n\x0c\n\x05\x04\x01\x02\n\x01\x12\x037\x16\x1e\n\x0c\n\x05\ +- \x04\x01\x02\n\x03\x12\x037!%\n\n\n\x02\x04\x02\x12\x04:\0>\x01\n\n\n\ +- \x03\x04\x02\x01\x12\x03:\x08\x12\n\x0b\n\x04\x04\x02\x02\0\x12\x03;\x04\ +- &\n\x0c\n\x05\x04\x02\x02\0\x04\x12\x03;\x04\x0c\n\x0c\n\x05\x04\x02\x02\ +- \0\x06\x12\x03;\r\x1b\n\x0c\n\x05\x04\x02\x02\0\x01\x12\x03;\x1c\x1f\n\ +- \x0c\n\x05\x04\x02\x02\0\x03\x12\x03;\"%\n\x0b\n\x04\x04\x02\x02\x01\x12\ +- \x03<\x04\"\n\x0c\n\x05\x04\x02\x02\x01\x04\x12\x03<\x04\x0c\n\x0c\n\x05\ +- \x04\x02\x02\x01\x05\x12\x03<\r\x12\n\x0c\n\x05\x04\x02\x02\x01\x01\x12\ +- \x03<\x13\x1b\n\x0c\n\x05\x04\x02\x02\x01\x03\x12\x03<\x1e!\n\x0b\n\x04\ +- \x04\x02\x02\x02\x12\x03=\x04&\n\x0c\n\x05\x04\x02\x02\x02\x04\x12\x03=\ +- \x04\x0c\n\x0c\n\x05\x04\x02\x02\x02\x05\x12\x03=\r\x13\n\x0c\n\x05\x04\ +- \x02\x02\x02\x01\x12\x03=\x14\x1f\n\x0c\n\x05\x04\x02\x02\x02\x03\x12\ +- \x03=\"%\n\n\n\x02\x05\x01\x12\x04@\0M\x01\n\n\n\x03\x05\x01\x01\x12\x03\ +- @\x05\x13\n\x0b\n\x04\x05\x01\x02\0\x12\x03A\x04\x1d\n\x0c\n\x05\x05\x01\ +- \x02\0\x01\x12\x03A\x04\x16\n\x0c\n\x05\x05\x01\x02\0\x02\x12\x03A\x19\ +- \x1c\n\x0b\n\x04\x05\x01\x02\x01\x12\x03B\x04\x17\n\x0c\n\x05\x05\x01\ +- \x02\x01\x01\x12\x03B\x04\x10\n\x0c\n\x05\x05\x01\x02\x01\x02\x12\x03B\ +- \x13\x16\n\x0b\n\x04\x05\x01\x02\x02\x12\x03C\x04\x1b\n\x0c\n\x05\x05\ +- \x01\x02\x02\x01\x12\x03C\x04\x14\n\x0c\n\x05\x05\x01\x02\x02\x02\x12\ +- \x03C\x17\x1a\n\x0b\n\x04\x05\x01\x02\x03\x12\x03D\x04\x16\n\x0c\n\x05\ +- \x05\x01\x02\x03\x01\x12\x03D\x04\x0f\n\x0c\n\x05\x05\x01\x02\x03\x02\ +- \x12\x03D\x12\x15\n\x0b\n\x04\x05\x01\x02\x04\x12\x03E\x04\x1b\n\x0c\n\ +- \x05\x05\x01\x02\x04\x01\x12\x03E\x04\x14\n\x0c\n\x05\x05\x01\x02\x04\ +- \x02\x12\x03E\x17\x1a\n\x0b\n\x04\x05\x01\x02\x05\x12\x03F\x04\x1a\n\x0c\ +- \n\x05\x05\x01\x02\x05\x01\x12\x03F\x04\x13\n\x0c\n\x05\x05\x01\x02\x05\ +- \x02\x12\x03F\x16\x19\n\x0b\n\x04\x05\x01\x02\x06\x12\x03G\x04\x18\n\x0c\ +- \n\x05\x05\x01\x02\x06\x01\x12\x03G\x04\x11\n\x0c\n\x05\x05\x01\x02\x06\ +- \x02\x12\x03G\x14\x17\n\x0b\n\x04\x05\x01\x02\x07\x12\x03H\x04\x17\n\x0c\ +- \n\x05\x05\x01\x02\x07\x01\x12\x03H\x04\x10\n\x0c\n\x05\x05\x01\x02\x07\ +- \x02\x12\x03H\x13\x16\n\x0b\n\x04\x05\x01\x02\x08\x12\x03I\x04\x1a\n\x0c\ +- \n\x05\x05\x01\x02\x08\x01\x12\x03I\x04\x13\n\x0c\n\x05\x05\x01\x02\x08\ +- \x02\x12\x03I\x16\x19\n\x0b\n\x04\x05\x01\x02\t\x12\x03J\x04\x17\n\x0c\n\ +- \x05\x05\x01\x02\t\x01\x12\x03J\x04\x10\n\x0c\n\x05\x05\x01\x02\t\x02\ +- \x12\x03J\x13\x16\n\x0b\n\x04\x05\x01\x02\n\x12\x03K\x04\x1a\n\x0c\n\x05\ +- \x05\x01\x02\n\x01\x12\x03K\x04\x13\n\x0c\n\x05\x05\x01\x02\n\x02\x12\ +- \x03K\x16\x19\n\x0b\n\x04\x05\x01\x02\x0b\x12\x03L\x04\x12\n\x0c\n\x05\ +- \x05\x01\x02\x0b\x01\x12\x03L\x04\x0b\n\x0c\n\x05\x05\x01\x02\x0b\x02\ +- \x12\x03L\x0e\x11\n\n\n\x02\x04\x03\x12\x04O\0Q\x01\n\n\n\x03\x04\x03\ +- \x01\x12\x03O\x08\x0f\n\x0b\n\x04\x04\x03\x02\0\x12\x03P\x04!\n\x0c\n\ +- \x05\x04\x03\x02\0\x04\x12\x03P\x04\x0c\n\x0c\n\x05\x04\x03\x02\0\x05\ +- \x12\x03P\r\x13\n\x0c\n\x05\x04\x03\x02\0\x01\x12\x03P\x14\x1a\n\x0c\n\ +- \x05\x04\x03\x02\0\x03\x12\x03P\x1d\x20\n\n\n\x02\x04\x04\x12\x04S\0c\ +- \x01\n\n\n\x03\x04\x04\x01\x12\x03S\x08\r\n\x0b\n\x04\x04\x04\x02\0\x12\ +- \x03T\x04&\n\x0c\n\x05\x04\x04\x02\0\x04\x12\x03T\x04\x0c\n\x0c\n\x05\ +- \x04\x04\x02\0\x05\x12\x03T\r\x13\n\x0c\n\x05\x04\x04\x02\0\x01\x12\x03T\ +- \x14\x1f\n\x0c\n\x05\x04\x04\x02\0\x03\x12\x03T\"%\n\x0b\n\x04\x04\x04\ +- \x02\x01\x12\x03U\x04\x20\n\x0c\n\x05\x04\x04\x02\x01\x04\x12\x03U\x04\ +- \x0c\n\x0c\n\x05\x04\x04\x02\x01\x05\x12\x03U\r\x13\n\x0c\n\x05\x04\x04\ +- \x02\x01\x01\x12\x03U\x14\x19\n\x0c\n\x05\x04\x04\x02\x01\x03\x12\x03U\ +- \x1c\x1f\n\x0b\n\x04\x04\x04\x02\x02\x12\x03V\x04&\n\x0c\n\x05\x04\x04\ +- \x02\x02\x04\x12\x03V\x04\x0c\n\x0c\n\x05\x04\x04\x02\x02\x05\x12\x03V\r\ +- \x13\n\x0c\n\x05\x04\x04\x02\x02\x01\x12\x03V\x14\x1f\n\x0c\n\x05\x04\ +- \x04\x02\x02\x03\x12\x03V\"%\n\x0b\n\x04\x04\x04\x02\x03\x12\x03W\x04%\n\ +- \x0c\n\x05\x04\x04\x02\x03\x04\x12\x03W\x04\x0c\n\x0c\n\x05\x04\x04\x02\ +- \x03\x06\x12\x03W\r\x17\n\x0c\n\x05\x04\x04\x02\x03\x01\x12\x03W\x18\x1e\ +- \n\x0c\n\x05\x04\x04\x02\x03\x03\x12\x03W!$\n\x0b\n\x04\x04\x04\x02\x04\ +- \x12\x03X\x04/\n\x0c\n\x05\x04\x04\x02\x04\x04\x12\x03X\x04\x0c\n\x0c\n\ +- \x05\x04\x04\x02\x04\x05\x12\x03X\r\x13\n\x0c\n\x05\x04\x04\x02\x04\x01\ +- \x12\x03X\x14(\n\x0c\n\x05\x04\x04\x02\x04\x03\x12\x03X+.\n\x0b\n\x04\ +- \x04\x04\x02\x05\x12\x03Y\x04.\n\x0c\n\x05\x04\x04\x02\x05\x04\x12\x03Y\ +- \x04\x0c\n\x0c\n\x05\x04\x04\x02\x05\x05\x12\x03Y\r\x13\n\x0c\n\x05\x04\ +- \x04\x02\x05\x01\x12\x03Y\x14'\n\x0c\n\x05\x04\x04\x02\x05\x03\x12\x03Y*\ +- -\n\x0b\n\x04\x04\x04\x02\x06\x12\x03Z\x04\x20\n\x0c\n\x05\x04\x04\x02\ +- \x06\x04\x12\x03Z\x04\x0c\n\x0c\n\x05\x04\x04\x02\x06\x05\x12\x03Z\r\x11\ +- \n\x0c\n\x05\x04\x04\x02\x06\x01\x12\x03Z\x12\x19\n\x0c\n\x05\x04\x04\ +- \x02\x06\x03\x12\x03Z\x1c\x1f\n\x0b\n\x04\x04\x04\x02\x07\x12\x03[\x04\ +- \x1f\n\x0c\n\x05\x04\x04\x02\x07\x04\x12\x03[\x04\x0c\n\x0c\n\x05\x04\ +- \x04\x02\x07\x05\x12\x03[\r\x11\n\x0c\n\x05\x04\x04\x02\x07\x01\x12\x03[\ +- \x12\x18\n\x0c\n\x05\x04\x04\x02\x07\x03\x12\x03[\x1b\x1e\n\x0b\n\x04\ +- \x04\x04\x02\x08\x12\x03\\\x04.\n\x0c\n\x05\x04\x04\x02\x08\x04\x12\x03\ +- \\\x04\x0c\n\x0c\n\x05\x04\x04\x02\x08\x05\x12\x03\\\r\x13\n\x0c\n\x05\ +- \x04\x04\x02\x08\x01\x12\x03\\\x14&\n\x0c\n\x05\x04\x04\x02\x08\x03\x12\ +- \x03\\)-\n\x0b\n\x04\x04\x04\x02\t\x12\x03]\x04.\n\x0c\n\x05\x04\x04\x02\ +- \t\x04\x12\x03]\x04\x0c\n\x0c\n\x05\x04\x04\x02\t\x05\x12\x03]\r\x13\n\ +- \x0c\n\x05\x04\x04\x02\t\x01\x12\x03]\x14&\n\x0c\n\x05\x04\x04\x02\t\x03\ +- \x12\x03])-\n\x0b\n\x04\x04\x04\x02\n\x12\x03^\x04/\n\x0c\n\x05\x04\x04\ +- \x02\n\x04\x12\x03^\x04\x0c\n\x0c\n\x05\x04\x04\x02\n\x05\x12\x03^\r\x11\ +- \n\x0c\n\x05\x04\x04\x02\n\x01\x12\x03^\x12'\n\x0c\n\x05\x04\x04\x02\n\ +- \x03\x12\x03^*.\n\x0b\n\x04\x04\x04\x02\x0b\x12\x03_\x04\x1f\n\x0c\n\x05\ +- \x04\x04\x02\x0b\x04\x12\x03_\x04\x0c\n\x0c\n\x05\x04\x04\x02\x0b\x05\ +- \x12\x03_\r\x13\n\x0c\n\x05\x04\x04\x02\x0b\x01\x12\x03_\x14\x17\n\x0c\n\ +- \x05\x04\x04\x02\x0b\x03\x12\x03_\x1a\x1e\n\x0b\n\x04\x04\x04\x02\x0c\ +- \x12\x03`\x04/\n\x0c\n\x05\x04\x04\x02\x0c\x04\x12\x03`\x04\x0c\n\x0c\n\ +- \x05\x04\x04\x02\x0c\x05\x12\x03`\r\x13\n\x0c\n\x05\x04\x04\x02\x0c\x01\ +- \x12\x03`\x14'\n\x0c\n\x05\x04\x04\x02\x0c\x03\x12\x03`*.\n\x0b\n\x04\ +- \x04\x04\x02\r\x12\x03a\x04#\n\x0c\n\x05\x04\x04\x02\r\x04\x12\x03a\x04\ +- \x0c\n\x0c\n\x05\x04\x04\x02\r\x06\x12\x03a\r\x15\n\x0c\n\x05\x04\x04\ +- \x02\r\x01\x12\x03a\x16\x1b\n\x0c\n\x05\x04\x04\x02\r\x03\x12\x03a\x1e\"\ +- \n\x0b\n\x04\x04\x04\x02\x0e\x12\x03b\x04\x1a\n\x0c\n\x05\x04\x04\x02\ +- \x0e\x04\x12\x03b\x04\x0c\n\x0c\n\x05\x04\x04\x02\x0e\x06\x12\x03b\r\x0f\ +- \n\x0c\n\x05\x04\x04\x02\x0e\x01\x12\x03b\x10\x12\n\x0c\n\x05\x04\x04\ +- \x02\x0e\x03\x12\x03b\x15\x19\n\n\n\x02\x05\x02\x12\x04e\0j\x01\n\n\n\ +- \x03\x05\x02\x01\x12\x03e\x05\x0f\n\x0b\n\x04\x05\x02\x02\0\x12\x03f\x04\ +- \x1a\n\x0c\n\x05\x05\x02\x02\0\x01\x12\x03f\x04\x13\n\x0c\n\x05\x05\x02\ +- \x02\0\x02\x12\x03f\x16\x19\n\x0b\n\x04\x05\x02\x02\x01\x12\x03g\x04\x1a\ +- \n\x0c\n\x05\x05\x02\x02\x01\x01\x12\x03g\x04\x13\n\x0c\n\x05\x05\x02\ +- \x02\x01\x02\x12\x03g\x16\x19\n\x0b\n\x04\x05\x02\x02\x02\x12\x03h\x04\ +- \x1b\n\x0c\n\x05\x05\x02\x02\x02\x01\x12\x03h\x04\x14\n\x0c\n\x05\x05\ +- \x02\x02\x02\x02\x12\x03h\x17\x1a\n\x0b\n\x04\x05\x02\x02\x03\x12\x03i\ +- \x04\x1d\n\x0c\n\x05\x05\x02\x02\x03\x01\x12\x03i\x04\x16\n\x0c\n\x05\ +- \x05\x02\x02\x03\x02\x12\x03i\x19\x1c\n\n\n\x02\x04\x05\x12\x04l\0q\x01\ +- \n\n\n\x03\x04\x05\x01\x12\x03l\x08\x10\n\x0b\n\x04\x04\x05\x02\0\x12\ +- \x03m\x04\x1d\n\x0c\n\x05\x04\x05\x02\0\x04\x12\x03m\x04\x0c\n\x0c\n\x05\ +- \x04\x05\x02\0\x05\x12\x03m\r\x12\n\x0c\n\x05\x04\x05\x02\0\x01\x12\x03m\ +- \x13\x16\n\x0c\n\x05\x04\x05\x02\0\x03\x12\x03m\x19\x1c\n\x0b\n\x04\x04\ +- \x05\x02\x01\x12\x03n\x04\x1e\n\x0c\n\x05\x04\x05\x02\x01\x04\x12\x03n\ +- \x04\x0c\n\x0c\n\x05\x04\x05\x02\x01\x05\x12\x03n\r\x13\n\x0c\n\x05\x04\ +- \x05\x02\x01\x01\x12\x03n\x14\x17\n\x0c\n\x05\x04\x05\x02\x01\x03\x12\ +- \x03n\x1a\x1d\n\x0b\n\x04\x04\x05\x02\x02\x12\x03o\x04\x1f\n\x0c\n\x05\ +- \x04\x05\x02\x02\x04\x12\x03o\x04\x0c\n\x0c\n\x05\x04\x05\x02\x02\x05\ +- \x12\x03o\r\x11\n\x0c\n\x05\x04\x05\x02\x02\x01\x12\x03o\x12\x18\n\x0c\n\ +- \x05\x04\x05\x02\x02\x03\x12\x03o\x1b\x1e\n\x0b\n\x04\x04\x05\x02\x03\ +- \x12\x03p\x04\"\n\x0c\n\x05\x04\x05\x02\x03\x04\x12\x03p\x04\x0c\n\x0c\n\ +- \x05\x04\x05\x02\x03\x05\x12\x03p\r\x13\n\x0c\n\x05\x04\x05\x02\x03\x01\ +- \x12\x03p\x14\x1b\n\x0c\n\x05\x04\x05\x02\x03\x03\x12\x03p\x1e!\n\n\n\ +- \x02\x04\x06\x12\x04s\0}\x01\n\n\n\x03\x04\x06\x01\x12\x03s\x08\n\n\x0b\ +- \n\x04\x04\x06\x02\0\x12\x03t\x04\x1e\n\x0c\n\x05\x04\x06\x02\0\x04\x12\ +- \x03t\x04\x0c\n\x0c\n\x05\x04\x06\x02\0\x05\x12\x03t\r\x12\n\x0c\n\x05\ +- \x04\x06\x02\0\x01\x12\x03t\x13\x17\n\x0c\n\x05\x04\x06\x02\0\x03\x12\ +- \x03t\x1a\x1d\n\x0b\n\x04\x04\x06\x02\x01\x12\x03u\x04!\n\x0c\n\x05\x04\ +- \x06\x02\x01\x04\x12\x03u\x04\x0c\n\x0c\n\x05\x04\x06\x02\x01\x05\x12\ +- \x03u\r\x12\n\x0c\n\x05\x04\x06\x02\x01\x01\x12\x03u\x13\x1a\n\x0c\n\x05\ +- \x04\x06\x02\x01\x03\x12\x03u\x1d\x20\n\x0b\n\x04\x04\x06\x02\x02\x12\ +- \x03v\x04#\n\x0c\n\x05\x04\x06\x02\x02\x04\x12\x03v\x04\x0c\n\x0c\n\x05\ +- \x04\x06\x02\x02\x05\x12\x03v\r\x12\n\x0c\n\x05\x04\x06\x02\x02\x01\x12\ +- \x03v\x13\x1c\n\x0c\n\x05\x04\x06\x02\x02\x03\x12\x03v\x1f\"\n\x0b\n\x04\ +- \x04\x06\x02\x03\x12\x03w\x04\"\n\x0c\n\x05\x04\x06\x02\x03\x04\x12\x03w\ +- \x04\x0c\n\x0c\n\x05\x04\x06\x02\x03\x05\x12\x03w\r\x12\n\x0c\n\x05\x04\ +- \x06\x02\x03\x01\x12\x03w\x13\x1b\n\x0c\n\x05\x04\x06\x02\x03\x03\x12\ +- \x03w\x1e!\n\x0b\n\x04\x04\x06\x02\x04\x12\x03x\x04$\n\x0c\n\x05\x04\x06\ +- \x02\x04\x04\x12\x03x\x04\x0c\n\x0c\n\x05\x04\x06\x02\x04\x05\x12\x03x\r\ +- \x13\n\x0c\n\x05\x04\x06\x02\x04\x01\x12\x03x\x14\x1d\n\x0c\n\x05\x04\ +- \x06\x02\x04\x03\x12\x03x\x20#\n\x0b\n\x04\x04\x06\x02\x05\x12\x03y\x04)\ +- \n\x0c\n\x05\x04\x06\x02\x05\x04\x12\x03y\x04\x0c\n\x0c\n\x05\x04\x06\ +- \x02\x05\x05\x12\x03y\r\x13\n\x0c\n\x05\x04\x06\x02\x05\x01\x12\x03y\x14\ +- \"\n\x0c\n\x05\x04\x06\x02\x05\x03\x12\x03y%(\n\x0b\n\x04\x04\x06\x02\ +- \x06\x12\x03z\x04\"\n\x0c\n\x05\x04\x06\x02\x06\x04\x12\x03z\x04\x0c\n\ +- \x0c\n\x05\x04\x06\x02\x06\x05\x12\x03z\r\x13\n\x0c\n\x05\x04\x06\x02\ +- \x06\x01\x12\x03z\x14\x1b\n\x0c\n\x05\x04\x06\x02\x06\x03\x12\x03z\x1e!\ +- \n\x0b\n\x04\x04\x06\x02\x07\x12\x03{\x04%\n\x0c\n\x05\x04\x06\x02\x07\ +- \x04\x12\x03{\x04\x0c\n\x0c\n\x05\x04\x06\x02\x07\x05\x12\x03{\r\x13\n\ +- \x0c\n\x05\x04\x06\x02\x07\x01\x12\x03{\x14\x1e\n\x0c\n\x05\x04\x06\x02\ +- \x07\x03\x12\x03{!$\n\x0b\n\x04\x04\x06\x02\x08\x12\x03|\x04\x1d\n\x0c\n\ +- \x05\x04\x06\x02\x08\x04\x12\x03|\x04\x0c\n\x0c\n\x05\x04\x06\x02\x08\ +- \x05\x12\x03|\r\x12\n\x0c\n\x05\x04\x06\x02\x08\x01\x12\x03|\x13\x16\n\ +- \x0c\n\x05\x04\x06\x02\x08\x03\x12\x03|\x19\x1c\n\x0b\n\x02\x04\x07\x12\ +- \x05\x7f\0\x82\x01\x01\n\n\n\x03\x04\x07\x01\x12\x03\x7f\x08\x10\n\x0c\n\ +- \x04\x04\x07\x02\0\x12\x04\x80\x01\x04\x1f\n\r\n\x05\x04\x07\x02\0\x04\ +- \x12\x04\x80\x01\x04\x0c\n\r\n\x05\x04\x07\x02\0\x05\x12\x04\x80\x01\r\ +- \x13\n\r\n\x05\x04\x07\x02\0\x01\x12\x04\x80\x01\x14\x18\n\r\n\x05\x04\ +- \x07\x02\0\x03\x12\x04\x80\x01\x1b\x1e\n\x0c\n\x04\x04\x07\x02\x01\x12\ +- \x04\x81\x01\x04#\n\r\n\x05\x04\x07\x02\x01\x04\x12\x04\x81\x01\x04\x0c\ +- \n\r\n\x05\x04\x07\x02\x01\x05\x12\x04\x81\x01\r\x13\n\r\n\x05\x04\x07\ +- \x02\x01\x01\x12\x04\x81\x01\x14\x1c\n\r\n\x05\x04\x07\x02\x01\x03\x12\ +- \x04\x81\x01\x1f\"\ ++ \x0b\x12\x0b\n\x07kHidden\x10\x0c\x12\x17\n\x13kSupportsPlaylistV2\x10\r\ ++ *d\n\nPlayStatus\x12\x13\n\x0fkPlayStatusStop\x10\0\x12\x13\n\x0fkPlaySt\ ++ atusPlay\x10\x01\x12\x14\n\x10kPlayStatusPause\x10\x02\x12\x16\n\x12kPla\ ++ yStatusLoading\x10\x03J\xea.\n\x07\x12\x05\0\0\x83\x01\x01\n\x08\n\x01\ ++ \x0c\x12\x03\0\0\x12\n\n\n\x02\x04\0\x12\x04\x02\0\x12\x01\n\n\n\x03\x04\ ++ \0\x01\x12\x03\x02\x08\r\n\x0b\n\x04\x04\0\x02\0\x12\x03\x03\x04\"\n\x0c\ ++ \n\x05\x04\0\x02\0\x04\x12\x03\x03\x04\x0c\n\x0c\n\x05\x04\0\x02\0\x05\ ++ \x12\x03\x03\r\x13\n\x0c\n\x05\x04\0\x02\0\x01\x12\x03\x03\x14\x1b\n\x0c\ ++ \n\x05\x04\0\x02\0\x03\x12\x03\x03\x1e!\n\x0b\n\x04\x04\0\x02\x01\x12\ ++ \x03\x04\x04\x20\n\x0c\n\x05\x04\0\x02\x01\x04\x12\x03\x04\x04\x0c\n\x0c\ ++ \n\x05\x04\0\x02\x01\x05\x12\x03\x04\r\x13\n\x0c\n\x05\x04\0\x02\x01\x01\ ++ \x12\x03\x04\x14\x19\n\x0c\n\x05\x04\0\x02\x01\x03\x12\x03\x04\x1c\x1f\n\ ++ \x0b\n\x04\x04\0\x02\x02\x12\x03\x05\x04+\n\x0c\n\x05\x04\0\x02\x02\x04\ ++ \x12\x03\x05\x04\x0c\n\x0c\n\x05\x04\0\x02\x02\x05\x12\x03\x05\r\x13\n\ ++ \x0c\n\x05\x04\0\x02\x02\x01\x12\x03\x05\x14$\n\x0c\n\x05\x04\0\x02\x02\ ++ \x03\x12\x03\x05'*\n\x0b\n\x04\x04\0\x02\x03\x12\x03\x06\x04!\n\x0c\n\ ++ \x05\x04\0\x02\x03\x04\x12\x03\x06\x04\x0c\n\x0c\n\x05\x04\0\x02\x03\x05\ ++ \x12\x03\x06\r\x13\n\x0c\n\x05\x04\0\x02\x03\x01\x12\x03\x06\x14\x1a\n\ ++ \x0c\n\x05\x04\0\x02\x03\x03\x12\x03\x06\x1d\x20\n\x0b\n\x04\x04\0\x02\ ++ \x04\x12\x03\x07\x04#\n\x0c\n\x05\x04\0\x02\x04\x04\x12\x03\x07\x04\x0c\ ++ \n\x0c\n\x05\x04\0\x02\x04\x06\x12\x03\x07\r\x18\n\x0c\n\x05\x04\0\x02\ ++ \x04\x01\x12\x03\x07\x19\x1c\n\x0c\n\x05\x04\0\x02\x04\x03\x12\x03\x07\ ++ \x1f\"\n\x0b\n\x04\x04\0\x02\x05\x12\x03\x08\x04,\n\x0c\n\x05\x04\0\x02\ ++ \x05\x04\x12\x03\x08\x04\x0c\n\x0c\n\x05\x04\0\x02\x05\x06\x12\x03\x08\r\ ++ \x18\n\x0c\n\x05\x04\0\x02\x05\x01\x12\x03\x08\x19%\n\x0c\n\x05\x04\0\ ++ \x02\x05\x03\x12\x03\x08(+\n\x0b\n\x04\x04\0\x02\x06\x12\x03\t\x04#\n\ ++ \x0c\n\x05\x04\0\x02\x06\x04\x12\x03\t\x04\x0c\n\x0c\n\x05\x04\0\x02\x06\ ++ \x06\x12\x03\t\r\x14\n\x0c\n\x05\x04\0\x02\x06\x01\x12\x03\t\x15\x1c\n\ ++ \x0c\n\x05\x04\0\x02\x06\x03\x12\x03\t\x1f\"\n\x0b\n\x04\x04\0\x02\x07\ ++ \x12\x03\n\x04\x1f\n\x0c\n\x05\x04\0\x02\x07\x04\x12\x03\n\x04\x0c\n\x0c\ ++ \n\x05\x04\0\x02\x07\x06\x12\x03\n\r\x12\n\x0c\n\x05\x04\0\x02\x07\x01\ ++ \x12\x03\n\x13\x18\n\x0c\n\x05\x04\0\x02\x07\x03\x12\x03\n\x1b\x1e\n\x0b\ ++ \n\x04\x04\0\x02\x08\x12\x03\x0b\x04#\n\x0c\n\x05\x04\0\x02\x08\x04\x12\ ++ \x03\x0b\x04\x0c\n\x0c\n\x05\x04\0\x02\x08\x05\x12\x03\x0b\r\x13\n\x0c\n\ ++ \x05\x04\0\x02\x08\x01\x12\x03\x0b\x14\x1c\n\x0c\n\x05\x04\0\x02\x08\x03\ ++ \x12\x03\x0b\x1f\"\n\x0b\n\x04\x04\0\x02\t\x12\x03\x0c\x04!\n\x0c\n\x05\ ++ \x04\0\x02\t\x04\x12\x03\x0c\x04\x0c\n\x0c\n\x05\x04\0\x02\t\x05\x12\x03\ ++ \x0c\r\x13\n\x0c\n\x05\x04\0\x02\t\x01\x12\x03\x0c\x14\x1a\n\x0c\n\x05\ ++ \x04\0\x02\t\x03\x12\x03\x0c\x1d\x20\n\x0b\n\x04\x04\0\x02\n\x12\x03\r\ ++ \x04*\n\x0c\n\x05\x04\0\x02\n\x04\x12\x03\r\x04\x0c\n\x0c\n\x05\x04\0\ ++ \x02\n\x05\x12\x03\r\r\x12\n\x0c\n\x05\x04\0\x02\n\x01\x12\x03\r\x13\"\n\ ++ \x0c\n\x05\x04\0\x02\n\x03\x12\x03\r%)\n\x0b\n\x04\x04\0\x02\x0b\x12\x03\ ++ \x0e\x04%\n\x0c\n\x05\x04\0\x02\x0b\x04\x12\x03\x0e\x04\x0c\n\x0c\n\x05\ ++ \x04\0\x02\x0b\x05\x12\x03\x0e\r\x13\n\x0c\n\x05\x04\0\x02\x0b\x01\x12\ ++ \x03\x0e\x14\x1d\n\x0c\n\x05\x04\0\x02\x0b\x03\x12\x03\x0e\x20$\n\x0b\n\ ++ \x04\x04\0\x02\x0c\x12\x03\x0f\x04/\n\x0c\n\x05\x04\0\x02\x0c\x04\x12\ ++ \x03\x0f\x04\x0c\n\x0c\n\x05\x04\0\x02\x0c\x05\x12\x03\x0f\r\x12\n\x0c\n\ ++ \x05\x04\0\x02\x0c\x01\x12\x03\x0f\x13'\n\x0c\n\x05\x04\0\x02\x0c\x03\ ++ \x12\x03\x0f*.\n\x0b\n\x04\x04\0\x02\r\x12\x03\x10\x04$\n\x0c\n\x05\x04\ ++ \0\x02\r\x04\x12\x03\x10\x04\x0c\n\x0c\n\x05\x04\0\x02\r\x05\x12\x03\x10\ ++ \r\x13\n\x0c\n\x05\x04\0\x02\r\x01\x12\x03\x10\x14\x1c\n\x0c\n\x05\x04\0\ ++ \x02\r\x03\x12\x03\x10\x1f#\n\x0b\n\x04\x04\0\x02\x0e\x12\x03\x11\x04&\n\ ++ \x0c\n\x05\x04\0\x02\x0e\x04\x12\x03\x11\x04\x0c\n\x0c\n\x05\x04\0\x02\ ++ \x0e\x06\x12\x03\x11\r\x15\n\x0c\n\x05\x04\0\x02\x0e\x01\x12\x03\x11\x16\ ++ \x1e\n\x0c\n\x05\x04\0\x02\x0e\x03\x12\x03\x11!%\n\n\n\x02\x05\0\x12\x04\ ++ \x14\0*\x01\n\n\n\x03\x05\0\x01\x12\x03\x14\x05\x10\n\x0b\n\x04\x05\0\ ++ \x02\0\x12\x03\x15\x04\x1c\n\x0c\n\x05\x05\0\x02\0\x01\x12\x03\x15\x04\ ++ \x15\n\x0c\n\x05\x05\0\x02\0\x02\x12\x03\x15\x18\x1b\n\x0b\n\x04\x05\0\ ++ \x02\x01\x12\x03\x16\x04\x1e\n\x0c\n\x05\x05\0\x02\x01\x01\x12\x03\x16\ ++ \x04\x17\n\x0c\n\x05\x05\0\x02\x01\x02\x12\x03\x16\x1a\x1d\n\x0b\n\x04\ ++ \x05\0\x02\x02\x12\x03\x17\x04\x1c\n\x0c\n\x05\x05\0\x02\x02\x01\x12\x03\ ++ \x17\x04\x15\n\x0c\n\x05\x05\0\x02\x02\x02\x12\x03\x17\x18\x1b\n\x0b\n\ ++ \x04\x05\0\x02\x03\x12\x03\x18\x04\x1d\n\x0c\n\x05\x05\0\x02\x03\x01\x12\ ++ \x03\x18\x04\x16\n\x0c\n\x05\x05\0\x02\x03\x02\x12\x03\x18\x19\x1c\n\x0b\ ++ \n\x04\x05\0\x02\x04\x12\x03\x19\x04\x1c\n\x0c\n\x05\x05\0\x02\x04\x01\ ++ \x12\x03\x19\x04\x14\n\x0c\n\x05\x05\0\x02\x04\x02\x12\x03\x19\x17\x1b\n\ ++ \x0b\n\x04\x05\0\x02\x05\x12\x03\x1a\x04\x1c\n\x0c\n\x05\x05\0\x02\x05\ ++ \x01\x12\x03\x1a\x04\x14\n\x0c\n\x05\x05\0\x02\x05\x02\x12\x03\x1a\x17\ ++ \x1b\n\x0b\n\x04\x05\0\x02\x06\x12\x03\x1b\x04\x1d\n\x0c\n\x05\x05\0\x02\ ++ \x06\x01\x12\x03\x1b\x04\x15\n\x0c\n\x05\x05\0\x02\x06\x02\x12\x03\x1b\ ++ \x18\x1c\n\x0b\n\x04\x05\0\x02\x07\x12\x03\x1c\x04!\n\x0c\n\x05\x05\0\ ++ \x02\x07\x01\x12\x03\x1c\x04\x19\n\x0c\n\x05\x05\0\x02\x07\x02\x12\x03\ ++ \x1c\x1c\x20\n\x0b\n\x04\x05\0\x02\x08\x12\x03\x1d\x04\x1c\n\x0c\n\x05\ ++ \x05\0\x02\x08\x01\x12\x03\x1d\x04\x14\n\x0c\n\x05\x05\0\x02\x08\x02\x12\ ++ \x03\x1d\x17\x1b\n\x0b\n\x04\x05\0\x02\t\x12\x03\x1e\x04\x1c\n\x0c\n\x05\ ++ \x05\0\x02\t\x01\x12\x03\x1e\x04\x14\n\x0c\n\x05\x05\0\x02\t\x02\x12\x03\ ++ \x1e\x17\x1b\n\x0b\n\x04\x05\0\x02\n\x12\x03\x1f\x04\x1c\n\x0c\n\x05\x05\ ++ \0\x02\n\x01\x12\x03\x1f\x04\x14\n\x0c\n\x05\x05\0\x02\n\x02\x12\x03\x1f\ ++ \x17\x1b\n\x0b\n\x04\x05\0\x02\x0b\x12\x03\x20\x04\x1e\n\x0c\n\x05\x05\0\ ++ \x02\x0b\x01\x12\x03\x20\x04\x16\n\x0c\n\x05\x05\0\x02\x0b\x02\x12\x03\ ++ \x20\x19\x1d\n\x0b\n\x04\x05\0\x02\x0c\x12\x03!\x04\x1f\n\x0c\n\x05\x05\ ++ \0\x02\x0c\x01\x12\x03!\x04\x17\n\x0c\n\x05\x05\0\x02\x0c\x02\x12\x03!\ ++ \x1a\x1e\n\x0b\n\x04\x05\0\x02\r\x12\x03\"\x04\x1e\n\x0c\n\x05\x05\0\x02\ ++ \r\x01\x12\x03\"\x04\x16\n\x0c\n\x05\x05\0\x02\r\x02\x12\x03\"\x19\x1d\n\ ++ \x0b\n\x04\x05\0\x02\x0e\x12\x03#\x04\"\n\x0c\n\x05\x05\0\x02\x0e\x01\ ++ \x12\x03#\x04\x1a\n\x0c\n\x05\x05\0\x02\x0e\x02\x12\x03#\x1d!\n\x0b\n\ ++ \x04\x05\0\x02\x0f\x12\x03$\x04\x20\n\x0c\n\x05\x05\0\x02\x0f\x01\x12\ ++ \x03$\x04\x18\n\x0c\n\x05\x05\0\x02\x0f\x02\x12\x03$\x1b\x1f\n\x0b\n\x04\ ++ \x05\0\x02\x10\x12\x03%\x04\x1f\n\x0c\n\x05\x05\0\x02\x10\x01\x12\x03%\ ++ \x04\x17\n\x0c\n\x05\x05\0\x02\x10\x02\x12\x03%\x1a\x1e\n\x0b\n\x04\x05\ ++ \0\x02\x11\x12\x03&\x04\x1e\n\x0c\n\x05\x05\0\x02\x11\x01\x12\x03&\x04\ ++ \x16\n\x0c\n\x05\x05\0\x02\x11\x02\x12\x03&\x19\x1d\n\x0b\n\x04\x05\0\ ++ \x02\x12\x12\x03'\x04\x1e\n\x0c\n\x05\x05\0\x02\x12\x01\x12\x03'\x04\x16\ ++ \n\x0c\n\x05\x05\0\x02\x12\x02\x12\x03'\x19\x1d\n\x0b\n\x04\x05\0\x02\ ++ \x13\x12\x03(\x04\x1e\n\x0c\n\x05\x05\0\x02\x13\x01\x12\x03(\x04\x16\n\ ++ \x0c\n\x05\x05\0\x02\x13\x02\x12\x03(\x19\x1d\n\x0b\n\x04\x05\0\x02\x14\ ++ \x12\x03)\x04&\n\x0c\n\x05\x05\0\x02\x14\x01\x12\x03)\x04\x1e\n\x0c\n\ ++ \x05\x05\0\x02\x14\x02\x12\x03)!%\n\n\n\x02\x04\x01\x12\x04,\08\x01\n\n\ ++ \n\x03\x04\x01\x01\x12\x03,\x08\x13\n\x0b\n\x04\x04\x01\x02\0\x12\x03-\ ++ \x04%\n\x0c\n\x05\x04\x01\x02\0\x04\x12\x03-\x04\x0c\n\x0c\n\x05\x04\x01\ ++ \x02\0\x05\x12\x03-\r\x13\n\x0c\n\x05\x04\x01\x02\0\x01\x12\x03-\x14\x1e\ ++ \n\x0c\n\x05\x04\x01\x02\0\x03\x12\x03-!$\n\x0b\n\x04\x04\x01\x02\x01\ ++ \x12\x03.\x04\"\n\x0c\n\x05\x04\x01\x02\x01\x04\x12\x03.\x04\x0c\n\x0c\n\ ++ \x05\x04\x01\x02\x01\x05\x12\x03.\r\x11\n\x0c\n\x05\x04\x01\x02\x01\x01\ ++ \x12\x03.\x12\x1b\n\x0c\n\x05\x04\x01\x02\x01\x03\x12\x03.\x1e!\n\x0b\n\ ++ \x04\x04\x01\x02\x02\x12\x03/\x04!\n\x0c\n\x05\x04\x01\x02\x02\x04\x12\ ++ \x03/\x04\x0c\n\x0c\n\x05\x04\x01\x02\x02\x05\x12\x03/\r\x11\n\x0c\n\x05\ ++ \x04\x01\x02\x02\x01\x12\x03/\x12\x1a\n\x0c\n\x05\x04\x01\x02\x02\x03\ ++ \x12\x03/\x1d\x20\n\x0b\n\x04\x04\x01\x02\x03\x12\x030\x04!\n\x0c\n\x05\ ++ \x04\x01\x02\x03\x04\x12\x030\x04\x0c\n\x0c\n\x05\x04\x01\x02\x03\x05\ ++ \x12\x030\r\x13\n\x0c\n\x05\x04\x01\x02\x03\x01\x12\x030\x14\x1a\n\x0c\n\ ++ \x05\x04\x01\x02\x03\x03\x12\x030\x1d\x20\n\x0b\n\x04\x04\x01\x02\x04\ ++ \x12\x031\x04\x1f\n\x0c\n\x05\x04\x01\x02\x04\x04\x12\x031\x04\x0c\n\x0c\ ++ \n\x05\x04\x01\x02\x04\x05\x12\x031\r\x13\n\x0c\n\x05\x04\x01\x02\x04\ ++ \x01\x12\x031\x14\x18\n\x0c\n\x05\x04\x01\x02\x04\x03\x12\x031\x1b\x1e\n\ ++ \x0b\n\x04\x04\x01\x02\x05\x12\x032\x04%\n\x0c\n\x05\x04\x01\x02\x05\x04\ ++ \x12\x032\x04\x0c\n\x0c\n\x05\x04\x01\x02\x05\x05\x12\x032\r\x13\n\x0c\n\ ++ \x05\x04\x01\x02\x05\x01\x12\x032\x14\x1e\n\x0c\n\x05\x04\x01\x02\x05\ ++ \x03\x12\x032!$\n\x0b\n\x04\x04\x01\x02\x06\x12\x033\x04*\n\x0c\n\x05\ ++ \x04\x01\x02\x06\x04\x12\x033\x04\x0c\n\x0c\n\x05\x04\x01\x02\x06\x05\ ++ \x12\x033\r\x12\n\x0c\n\x05\x04\x01\x02\x06\x01\x12\x033\x13#\n\x0c\n\ ++ \x05\x04\x01\x02\x06\x03\x12\x033&)\n\x0b\n\x04\x04\x01\x02\x07\x12\x034\ ++ \x04)\n\x0c\n\x05\x04\x01\x02\x07\x04\x12\x034\x04\x0c\n\x0c\n\x05\x04\ ++ \x01\x02\x07\x05\x12\x034\r\x13\n\x0c\n\x05\x04\x01\x02\x07\x01\x12\x034\ ++ \x14!\n\x0c\n\x05\x04\x01\x02\x07\x03\x12\x034$(\n\x0b\n\x04\x04\x01\x02\ ++ \x08\x12\x035\x04,\n\x0c\n\x05\x04\x01\x02\x08\x04\x12\x035\x04\x0c\n\ ++ \x0c\n\x05\x04\x01\x02\x08\x06\x12\x035\r\x17\n\x0c\n\x05\x04\x01\x02\ ++ \x08\x01\x12\x035\x18$\n\x0c\n\x05\x04\x01\x02\x08\x03\x12\x035'+\n\x0b\ ++ \n\x04\x04\x01\x02\t\x12\x036\x040\n\x0c\n\x05\x04\x01\x02\t\x04\x12\x03\ ++ 6\x04\x0c\n\x0c\n\x05\x04\x01\x02\t\x05\x12\x036\r\x13\n\x0c\n\x05\x04\ ++ \x01\x02\t\x01\x12\x036\x14(\n\x0c\n\x05\x04\x01\x02\t\x03\x12\x036+/\n\ ++ \x0b\n\x04\x04\x01\x02\n\x12\x037\x04&\n\x0c\n\x05\x04\x01\x02\n\x04\x12\ ++ \x037\x04\x0c\n\x0c\n\x05\x04\x01\x02\n\x06\x12\x037\r\x15\n\x0c\n\x05\ ++ \x04\x01\x02\n\x01\x12\x037\x16\x1e\n\x0c\n\x05\x04\x01\x02\n\x03\x12\ ++ \x037!%\n\n\n\x02\x04\x02\x12\x04:\0>\x01\n\n\n\x03\x04\x02\x01\x12\x03:\ ++ \x08\x12\n\x0b\n\x04\x04\x02\x02\0\x12\x03;\x04&\n\x0c\n\x05\x04\x02\x02\ ++ \0\x04\x12\x03;\x04\x0c\n\x0c\n\x05\x04\x02\x02\0\x06\x12\x03;\r\x1b\n\ ++ \x0c\n\x05\x04\x02\x02\0\x01\x12\x03;\x1c\x1f\n\x0c\n\x05\x04\x02\x02\0\ ++ \x03\x12\x03;\"%\n\x0b\n\x04\x04\x02\x02\x01\x12\x03<\x04\"\n\x0c\n\x05\ ++ \x04\x02\x02\x01\x04\x12\x03<\x04\x0c\n\x0c\n\x05\x04\x02\x02\x01\x05\ ++ \x12\x03<\r\x12\n\x0c\n\x05\x04\x02\x02\x01\x01\x12\x03<\x13\x1b\n\x0c\n\ ++ \x05\x04\x02\x02\x01\x03\x12\x03<\x1e!\n\x0b\n\x04\x04\x02\x02\x02\x12\ ++ \x03=\x04&\n\x0c\n\x05\x04\x02\x02\x02\x04\x12\x03=\x04\x0c\n\x0c\n\x05\ ++ \x04\x02\x02\x02\x05\x12\x03=\r\x13\n\x0c\n\x05\x04\x02\x02\x02\x01\x12\ ++ \x03=\x14\x1f\n\x0c\n\x05\x04\x02\x02\x02\x03\x12\x03=\"%\n\n\n\x02\x05\ ++ \x01\x12\x04@\0N\x01\n\n\n\x03\x05\x01\x01\x12\x03@\x05\x13\n\x0b\n\x04\ ++ \x05\x01\x02\0\x12\x03A\x04\x1d\n\x0c\n\x05\x05\x01\x02\0\x01\x12\x03A\ ++ \x04\x16\n\x0c\n\x05\x05\x01\x02\0\x02\x12\x03A\x19\x1c\n\x0b\n\x04\x05\ ++ \x01\x02\x01\x12\x03B\x04\x17\n\x0c\n\x05\x05\x01\x02\x01\x01\x12\x03B\ ++ \x04\x10\n\x0c\n\x05\x05\x01\x02\x01\x02\x12\x03B\x13\x16\n\x0b\n\x04\ ++ \x05\x01\x02\x02\x12\x03C\x04\x1b\n\x0c\n\x05\x05\x01\x02\x02\x01\x12\ ++ \x03C\x04\x14\n\x0c\n\x05\x05\x01\x02\x02\x02\x12\x03C\x17\x1a\n\x0b\n\ ++ \x04\x05\x01\x02\x03\x12\x03D\x04\x16\n\x0c\n\x05\x05\x01\x02\x03\x01\ ++ \x12\x03D\x04\x0f\n\x0c\n\x05\x05\x01\x02\x03\x02\x12\x03D\x12\x15\n\x0b\ ++ \n\x04\x05\x01\x02\x04\x12\x03E\x04\x1b\n\x0c\n\x05\x05\x01\x02\x04\x01\ ++ \x12\x03E\x04\x14\n\x0c\n\x05\x05\x01\x02\x04\x02\x12\x03E\x17\x1a\n\x0b\ ++ \n\x04\x05\x01\x02\x05\x12\x03F\x04\x1a\n\x0c\n\x05\x05\x01\x02\x05\x01\ ++ \x12\x03F\x04\x13\n\x0c\n\x05\x05\x01\x02\x05\x02\x12\x03F\x16\x19\n\x0b\ ++ \n\x04\x05\x01\x02\x06\x12\x03G\x04\x18\n\x0c\n\x05\x05\x01\x02\x06\x01\ ++ \x12\x03G\x04\x11\n\x0c\n\x05\x05\x01\x02\x06\x02\x12\x03G\x14\x17\n\x0b\ ++ \n\x04\x05\x01\x02\x07\x12\x03H\x04\x17\n\x0c\n\x05\x05\x01\x02\x07\x01\ ++ \x12\x03H\x04\x10\n\x0c\n\x05\x05\x01\x02\x07\x02\x12\x03H\x13\x16\n\x0b\ ++ \n\x04\x05\x01\x02\x08\x12\x03I\x04\x1a\n\x0c\n\x05\x05\x01\x02\x08\x01\ ++ \x12\x03I\x04\x13\n\x0c\n\x05\x05\x01\x02\x08\x02\x12\x03I\x16\x19\n\x0b\ ++ \n\x04\x05\x01\x02\t\x12\x03J\x04\x17\n\x0c\n\x05\x05\x01\x02\t\x01\x12\ ++ \x03J\x04\x10\n\x0c\n\x05\x05\x01\x02\t\x02\x12\x03J\x13\x16\n\x0b\n\x04\ ++ \x05\x01\x02\n\x12\x03K\x04\x1a\n\x0c\n\x05\x05\x01\x02\n\x01\x12\x03K\ ++ \x04\x13\n\x0c\n\x05\x05\x01\x02\n\x02\x12\x03K\x16\x19\n\x0b\n\x04\x05\ ++ \x01\x02\x0b\x12\x03L\x04\x12\n\x0c\n\x05\x05\x01\x02\x0b\x01\x12\x03L\ ++ \x04\x0b\n\x0c\n\x05\x05\x01\x02\x0b\x02\x12\x03L\x0e\x11\n\x0b\n\x04\ ++ \x05\x01\x02\x0c\x12\x03M\x04\x1e\n\x0c\n\x05\x05\x01\x02\x0c\x01\x12\ ++ \x03M\x04\x17\n\x0c\n\x05\x05\x01\x02\x0c\x02\x12\x03M\x1a\x1d\n\n\n\x02\ ++ \x04\x03\x12\x04P\0R\x01\n\n\n\x03\x04\x03\x01\x12\x03P\x08\x0f\n\x0b\n\ ++ \x04\x04\x03\x02\0\x12\x03Q\x04!\n\x0c\n\x05\x04\x03\x02\0\x04\x12\x03Q\ ++ \x04\x0c\n\x0c\n\x05\x04\x03\x02\0\x05\x12\x03Q\r\x13\n\x0c\n\x05\x04\ ++ \x03\x02\0\x01\x12\x03Q\x14\x1a\n\x0c\n\x05\x04\x03\x02\0\x03\x12\x03Q\ ++ \x1d\x20\n\n\n\x02\x04\x04\x12\x04T\0d\x01\n\n\n\x03\x04\x04\x01\x12\x03\ ++ T\x08\r\n\x0b\n\x04\x04\x04\x02\0\x12\x03U\x04&\n\x0c\n\x05\x04\x04\x02\ ++ \0\x04\x12\x03U\x04\x0c\n\x0c\n\x05\x04\x04\x02\0\x05\x12\x03U\r\x13\n\ ++ \x0c\n\x05\x04\x04\x02\0\x01\x12\x03U\x14\x1f\n\x0c\n\x05\x04\x04\x02\0\ ++ \x03\x12\x03U\"%\n\x0b\n\x04\x04\x04\x02\x01\x12\x03V\x04\x20\n\x0c\n\ ++ \x05\x04\x04\x02\x01\x04\x12\x03V\x04\x0c\n\x0c\n\x05\x04\x04\x02\x01\ ++ \x05\x12\x03V\r\x13\n\x0c\n\x05\x04\x04\x02\x01\x01\x12\x03V\x14\x19\n\ ++ \x0c\n\x05\x04\x04\x02\x01\x03\x12\x03V\x1c\x1f\n\x0b\n\x04\x04\x04\x02\ ++ \x02\x12\x03W\x04&\n\x0c\n\x05\x04\x04\x02\x02\x04\x12\x03W\x04\x0c\n\ ++ \x0c\n\x05\x04\x04\x02\x02\x05\x12\x03W\r\x13\n\x0c\n\x05\x04\x04\x02\ ++ \x02\x01\x12\x03W\x14\x1f\n\x0c\n\x05\x04\x04\x02\x02\x03\x12\x03W\"%\n\ ++ \x0b\n\x04\x04\x04\x02\x03\x12\x03X\x04%\n\x0c\n\x05\x04\x04\x02\x03\x04\ ++ \x12\x03X\x04\x0c\n\x0c\n\x05\x04\x04\x02\x03\x06\x12\x03X\r\x17\n\x0c\n\ ++ \x05\x04\x04\x02\x03\x01\x12\x03X\x18\x1e\n\x0c\n\x05\x04\x04\x02\x03\ ++ \x03\x12\x03X!$\n\x0b\n\x04\x04\x04\x02\x04\x12\x03Y\x04/\n\x0c\n\x05\ ++ \x04\x04\x02\x04\x04\x12\x03Y\x04\x0c\n\x0c\n\x05\x04\x04\x02\x04\x05\ ++ \x12\x03Y\r\x13\n\x0c\n\x05\x04\x04\x02\x04\x01\x12\x03Y\x14(\n\x0c\n\ ++ \x05\x04\x04\x02\x04\x03\x12\x03Y+.\n\x0b\n\x04\x04\x04\x02\x05\x12\x03Z\ ++ \x04.\n\x0c\n\x05\x04\x04\x02\x05\x04\x12\x03Z\x04\x0c\n\x0c\n\x05\x04\ ++ \x04\x02\x05\x05\x12\x03Z\r\x13\n\x0c\n\x05\x04\x04\x02\x05\x01\x12\x03Z\ ++ \x14'\n\x0c\n\x05\x04\x04\x02\x05\x03\x12\x03Z*-\n\x0b\n\x04\x04\x04\x02\ ++ \x06\x12\x03[\x04\x20\n\x0c\n\x05\x04\x04\x02\x06\x04\x12\x03[\x04\x0c\n\ ++ \x0c\n\x05\x04\x04\x02\x06\x05\x12\x03[\r\x11\n\x0c\n\x05\x04\x04\x02\ ++ \x06\x01\x12\x03[\x12\x19\n\x0c\n\x05\x04\x04\x02\x06\x03\x12\x03[\x1c\ ++ \x1f\n\x0b\n\x04\x04\x04\x02\x07\x12\x03\\\x04\x1f\n\x0c\n\x05\x04\x04\ ++ \x02\x07\x04\x12\x03\\\x04\x0c\n\x0c\n\x05\x04\x04\x02\x07\x05\x12\x03\\\ ++ \r\x11\n\x0c\n\x05\x04\x04\x02\x07\x01\x12\x03\\\x12\x18\n\x0c\n\x05\x04\ ++ \x04\x02\x07\x03\x12\x03\\\x1b\x1e\n\x0b\n\x04\x04\x04\x02\x08\x12\x03]\ ++ \x04.\n\x0c\n\x05\x04\x04\x02\x08\x04\x12\x03]\x04\x0c\n\x0c\n\x05\x04\ ++ \x04\x02\x08\x05\x12\x03]\r\x13\n\x0c\n\x05\x04\x04\x02\x08\x01\x12\x03]\ ++ \x14&\n\x0c\n\x05\x04\x04\x02\x08\x03\x12\x03])-\n\x0b\n\x04\x04\x04\x02\ ++ \t\x12\x03^\x04.\n\x0c\n\x05\x04\x04\x02\t\x04\x12\x03^\x04\x0c\n\x0c\n\ ++ \x05\x04\x04\x02\t\x05\x12\x03^\r\x13\n\x0c\n\x05\x04\x04\x02\t\x01\x12\ ++ \x03^\x14&\n\x0c\n\x05\x04\x04\x02\t\x03\x12\x03^)-\n\x0b\n\x04\x04\x04\ ++ \x02\n\x12\x03_\x04/\n\x0c\n\x05\x04\x04\x02\n\x04\x12\x03_\x04\x0c\n\ ++ \x0c\n\x05\x04\x04\x02\n\x05\x12\x03_\r\x11\n\x0c\n\x05\x04\x04\x02\n\ ++ \x01\x12\x03_\x12'\n\x0c\n\x05\x04\x04\x02\n\x03\x12\x03_*.\n\x0b\n\x04\ ++ \x04\x04\x02\x0b\x12\x03`\x04\x1f\n\x0c\n\x05\x04\x04\x02\x0b\x04\x12\ ++ \x03`\x04\x0c\n\x0c\n\x05\x04\x04\x02\x0b\x05\x12\x03`\r\x13\n\x0c\n\x05\ ++ \x04\x04\x02\x0b\x01\x12\x03`\x14\x17\n\x0c\n\x05\x04\x04\x02\x0b\x03\ ++ \x12\x03`\x1a\x1e\n\x0b\n\x04\x04\x04\x02\x0c\x12\x03a\x04/\n\x0c\n\x05\ ++ \x04\x04\x02\x0c\x04\x12\x03a\x04\x0c\n\x0c\n\x05\x04\x04\x02\x0c\x05\ ++ \x12\x03a\r\x13\n\x0c\n\x05\x04\x04\x02\x0c\x01\x12\x03a\x14'\n\x0c\n\ ++ \x05\x04\x04\x02\x0c\x03\x12\x03a*.\n\x0b\n\x04\x04\x04\x02\r\x12\x03b\ ++ \x04#\n\x0c\n\x05\x04\x04\x02\r\x04\x12\x03b\x04\x0c\n\x0c\n\x05\x04\x04\ ++ \x02\r\x06\x12\x03b\r\x15\n\x0c\n\x05\x04\x04\x02\r\x01\x12\x03b\x16\x1b\ ++ \n\x0c\n\x05\x04\x04\x02\r\x03\x12\x03b\x1e\"\n\x0b\n\x04\x04\x04\x02\ ++ \x0e\x12\x03c\x04\x1a\n\x0c\n\x05\x04\x04\x02\x0e\x04\x12\x03c\x04\x0c\n\ ++ \x0c\n\x05\x04\x04\x02\x0e\x06\x12\x03c\r\x0f\n\x0c\n\x05\x04\x04\x02\ ++ \x0e\x01\x12\x03c\x10\x12\n\x0c\n\x05\x04\x04\x02\x0e\x03\x12\x03c\x15\ ++ \x19\n\n\n\x02\x05\x02\x12\x04f\0k\x01\n\n\n\x03\x05\x02\x01\x12\x03f\ ++ \x05\x0f\n\x0b\n\x04\x05\x02\x02\0\x12\x03g\x04\x1a\n\x0c\n\x05\x05\x02\ ++ \x02\0\x01\x12\x03g\x04\x13\n\x0c\n\x05\x05\x02\x02\0\x02\x12\x03g\x16\ ++ \x19\n\x0b\n\x04\x05\x02\x02\x01\x12\x03h\x04\x1a\n\x0c\n\x05\x05\x02\ ++ \x02\x01\x01\x12\x03h\x04\x13\n\x0c\n\x05\x05\x02\x02\x01\x02\x12\x03h\ ++ \x16\x19\n\x0b\n\x04\x05\x02\x02\x02\x12\x03i\x04\x1b\n\x0c\n\x05\x05\ ++ \x02\x02\x02\x01\x12\x03i\x04\x14\n\x0c\n\x05\x05\x02\x02\x02\x02\x12\ ++ \x03i\x17\x1a\n\x0b\n\x04\x05\x02\x02\x03\x12\x03j\x04\x1d\n\x0c\n\x05\ ++ \x05\x02\x02\x03\x01\x12\x03j\x04\x16\n\x0c\n\x05\x05\x02\x02\x03\x02\ ++ \x12\x03j\x19\x1c\n\n\n\x02\x04\x05\x12\x04m\0r\x01\n\n\n\x03\x04\x05\ ++ \x01\x12\x03m\x08\x10\n\x0b\n\x04\x04\x05\x02\0\x12\x03n\x04\x1d\n\x0c\n\ ++ \x05\x04\x05\x02\0\x04\x12\x03n\x04\x0c\n\x0c\n\x05\x04\x05\x02\0\x05\ ++ \x12\x03n\r\x12\n\x0c\n\x05\x04\x05\x02\0\x01\x12\x03n\x13\x16\n\x0c\n\ ++ \x05\x04\x05\x02\0\x03\x12\x03n\x19\x1c\n\x0b\n\x04\x04\x05\x02\x01\x12\ ++ \x03o\x04\x1e\n\x0c\n\x05\x04\x05\x02\x01\x04\x12\x03o\x04\x0c\n\x0c\n\ ++ \x05\x04\x05\x02\x01\x05\x12\x03o\r\x13\n\x0c\n\x05\x04\x05\x02\x01\x01\ ++ \x12\x03o\x14\x17\n\x0c\n\x05\x04\x05\x02\x01\x03\x12\x03o\x1a\x1d\n\x0b\ ++ \n\x04\x04\x05\x02\x02\x12\x03p\x04\x1f\n\x0c\n\x05\x04\x05\x02\x02\x04\ ++ \x12\x03p\x04\x0c\n\x0c\n\x05\x04\x05\x02\x02\x05\x12\x03p\r\x11\n\x0c\n\ ++ \x05\x04\x05\x02\x02\x01\x12\x03p\x12\x18\n\x0c\n\x05\x04\x05\x02\x02\ ++ \x03\x12\x03p\x1b\x1e\n\x0b\n\x04\x04\x05\x02\x03\x12\x03q\x04\"\n\x0c\n\ ++ \x05\x04\x05\x02\x03\x04\x12\x03q\x04\x0c\n\x0c\n\x05\x04\x05\x02\x03\ ++ \x05\x12\x03q\r\x13\n\x0c\n\x05\x04\x05\x02\x03\x01\x12\x03q\x14\x1b\n\ ++ \x0c\n\x05\x04\x05\x02\x03\x03\x12\x03q\x1e!\n\n\n\x02\x04\x06\x12\x04t\ ++ \0~\x01\n\n\n\x03\x04\x06\x01\x12\x03t\x08\n\n\x0b\n\x04\x04\x06\x02\0\ ++ \x12\x03u\x04\x1e\n\x0c\n\x05\x04\x06\x02\0\x04\x12\x03u\x04\x0c\n\x0c\n\ ++ \x05\x04\x06\x02\0\x05\x12\x03u\r\x12\n\x0c\n\x05\x04\x06\x02\0\x01\x12\ ++ \x03u\x13\x17\n\x0c\n\x05\x04\x06\x02\0\x03\x12\x03u\x1a\x1d\n\x0b\n\x04\ ++ \x04\x06\x02\x01\x12\x03v\x04!\n\x0c\n\x05\x04\x06\x02\x01\x04\x12\x03v\ ++ \x04\x0c\n\x0c\n\x05\x04\x06\x02\x01\x05\x12\x03v\r\x12\n\x0c\n\x05\x04\ ++ \x06\x02\x01\x01\x12\x03v\x13\x1a\n\x0c\n\x05\x04\x06\x02\x01\x03\x12\ ++ \x03v\x1d\x20\n\x0b\n\x04\x04\x06\x02\x02\x12\x03w\x04#\n\x0c\n\x05\x04\ ++ \x06\x02\x02\x04\x12\x03w\x04\x0c\n\x0c\n\x05\x04\x06\x02\x02\x05\x12\ ++ \x03w\r\x12\n\x0c\n\x05\x04\x06\x02\x02\x01\x12\x03w\x13\x1c\n\x0c\n\x05\ ++ \x04\x06\x02\x02\x03\x12\x03w\x1f\"\n\x0b\n\x04\x04\x06\x02\x03\x12\x03x\ ++ \x04\"\n\x0c\n\x05\x04\x06\x02\x03\x04\x12\x03x\x04\x0c\n\x0c\n\x05\x04\ ++ \x06\x02\x03\x05\x12\x03x\r\x12\n\x0c\n\x05\x04\x06\x02\x03\x01\x12\x03x\ ++ \x13\x1b\n\x0c\n\x05\x04\x06\x02\x03\x03\x12\x03x\x1e!\n\x0b\n\x04\x04\ ++ \x06\x02\x04\x12\x03y\x04$\n\x0c\n\x05\x04\x06\x02\x04\x04\x12\x03y\x04\ ++ \x0c\n\x0c\n\x05\x04\x06\x02\x04\x05\x12\x03y\r\x13\n\x0c\n\x05\x04\x06\ ++ \x02\x04\x01\x12\x03y\x14\x1d\n\x0c\n\x05\x04\x06\x02\x04\x03\x12\x03y\ ++ \x20#\n\x0b\n\x04\x04\x06\x02\x05\x12\x03z\x04)\n\x0c\n\x05\x04\x06\x02\ ++ \x05\x04\x12\x03z\x04\x0c\n\x0c\n\x05\x04\x06\x02\x05\x05\x12\x03z\r\x13\ ++ \n\x0c\n\x05\x04\x06\x02\x05\x01\x12\x03z\x14\"\n\x0c\n\x05\x04\x06\x02\ ++ \x05\x03\x12\x03z%(\n\x0b\n\x04\x04\x06\x02\x06\x12\x03{\x04\"\n\x0c\n\ ++ \x05\x04\x06\x02\x06\x04\x12\x03{\x04\x0c\n\x0c\n\x05\x04\x06\x02\x06\ ++ \x05\x12\x03{\r\x13\n\x0c\n\x05\x04\x06\x02\x06\x01\x12\x03{\x14\x1b\n\ ++ \x0c\n\x05\x04\x06\x02\x06\x03\x12\x03{\x1e!\n\x0b\n\x04\x04\x06\x02\x07\ ++ \x12\x03|\x04%\n\x0c\n\x05\x04\x06\x02\x07\x04\x12\x03|\x04\x0c\n\x0c\n\ ++ \x05\x04\x06\x02\x07\x05\x12\x03|\r\x13\n\x0c\n\x05\x04\x06\x02\x07\x01\ ++ \x12\x03|\x14\x1e\n\x0c\n\x05\x04\x06\x02\x07\x03\x12\x03|!$\n\x0b\n\x04\ ++ \x04\x06\x02\x08\x12\x03}\x04\x1d\n\x0c\n\x05\x04\x06\x02\x08\x04\x12\ ++ \x03}\x04\x0c\n\x0c\n\x05\x04\x06\x02\x08\x05\x12\x03}\r\x12\n\x0c\n\x05\ ++ \x04\x06\x02\x08\x01\x12\x03}\x13\x16\n\x0c\n\x05\x04\x06\x02\x08\x03\ ++ \x12\x03}\x19\x1c\n\x0c\n\x02\x04\x07\x12\x06\x80\x01\0\x83\x01\x01\n\ ++ \x0b\n\x03\x04\x07\x01\x12\x04\x80\x01\x08\x10\n\x0c\n\x04\x04\x07\x02\0\ ++ \x12\x04\x81\x01\x04\x1f\n\r\n\x05\x04\x07\x02\0\x04\x12\x04\x81\x01\x04\ ++ \x0c\n\r\n\x05\x04\x07\x02\0\x05\x12\x04\x81\x01\r\x13\n\r\n\x05\x04\x07\ ++ \x02\0\x01\x12\x04\x81\x01\x14\x18\n\r\n\x05\x04\x07\x02\0\x03\x12\x04\ ++ \x81\x01\x1b\x1e\n\x0c\n\x04\x04\x07\x02\x01\x12\x04\x82\x01\x04#\n\r\n\ ++ \x05\x04\x07\x02\x01\x04\x12\x04\x82\x01\x04\x0c\n\r\n\x05\x04\x07\x02\ ++ \x01\x05\x12\x04\x82\x01\r\x13\n\r\n\x05\x04\x07\x02\x01\x01\x12\x04\x82\ ++ \x01\x14\x1c\n\r\n\x05\x04\x07\x02\x01\x03\x12\x04\x82\x01\x1f\"\ + "; + + static mut file_descriptor_proto_lazy: ::protobuf::lazy::Lazy<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::lazy::Lazy {