From 910eaa59546b9faab6120e829ad805b3a61d7919 Mon Sep 17 00:00:00 2001 From: Tyler Stiene Date: Thu, 8 Apr 2021 00:49:49 -0400 Subject: [PATCH 01/15] speaking debug messages --- discord.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/discord.go b/discord.go index 4268780..71aced5 100644 --- a/discord.go +++ b/discord.go @@ -72,6 +72,7 @@ func (dd *DiscordDuplex) discordSendPCM(ctx context.Context, wg *sync.WaitGroup, <-ticker.C if len(pcm) > 1 { if !streaming { + log.Panicln("Debug: Discord start speaking") dd.Bridge.DiscordVoice.Speaking(true) streaming = true } @@ -107,6 +108,7 @@ func (dd *DiscordDuplex) discordSendPCM(ctx context.Context, wg *sync.WaitGroup, } else { if streaming { + log.Panicln("Debug: Discord stop speaking") dd.Bridge.DiscordVoice.Speaking(false) streaming = false } From dcc3fd48b4873c3d616926d781c55cafc1af188e Mon Sep 17 00:00:00 2001 From: Tyler Stiene Date: Thu, 8 Apr 2021 01:14:24 -0400 Subject: [PATCH 02/15] correct debug message and add timing --- discord.go | 6 ++++-- mumble.go | 4 ++++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/discord.go b/discord.go index 71aced5..94e5b0f 100644 --- a/discord.go +++ b/discord.go @@ -59,6 +59,7 @@ func (dd *DiscordDuplex) discordSendPCM(ctx context.Context, wg *sync.WaitGroup, lastReady := true var readyTimeout *time.Timer + var speakingStart time.Time wg.Add(1) @@ -72,7 +73,8 @@ func (dd *DiscordDuplex) discordSendPCM(ctx context.Context, wg *sync.WaitGroup, <-ticker.C if len(pcm) > 1 { if !streaming { - log.Panicln("Debug: Discord start speaking") + log.Println("Debug: Discord start speaking") + speakingStart = time.Now() dd.Bridge.DiscordVoice.Speaking(true) streaming = true } @@ -108,7 +110,7 @@ func (dd *DiscordDuplex) discordSendPCM(ctx context.Context, wg *sync.WaitGroup, } else { if streaming { - log.Panicln("Debug: Discord stop speaking") + log.Println("Debug: Discord stop speaking", time.Since(speakingStart).Milliseconds(), "ms") dd.Bridge.DiscordVoice.Speaking(false) streaming = false } diff --git a/mumble.go b/mumble.go index 66a6a4a..1d363d2 100644 --- a/mumble.go +++ b/mumble.go @@ -92,6 +92,10 @@ func (m MumbleDuplex) fromMumbleMixer(ctx context.Context, wg *sync.WaitGroup, t } } + if len(toDiscord) > 20 { + log.Println("Debug: Warning Discord buffer size") + } + if sendAudio { select { case toDiscord <- outBuf: From 026cdff79782dad0d5ad8e1bc2331c834884f290 Mon Sep 17 00:00:00 2001 From: Tyler Stiene Date: Sat, 10 Apr 2021 15:00:13 -0400 Subject: [PATCH 03/15] add configurable buffer for mumble -> discord stream fixes #20 add silence to -> discord streams as suggested by disocrd docs closes #11 --- README.md | 41 ++++++++++++++++++--------------- config.go | 21 ++++++++--------- discord.go | 66 +++++++++++++++++++++++++++++++++++++----------------- main.go | 29 ++++++++++++++++-------- 4 files changed, 100 insertions(+), 57 deletions(-) diff --git a/README.md b/README.md index f0797f4..5882071 100644 --- a/README.md +++ b/README.md @@ -12,41 +12,46 @@ The binary will also attempt to load .env file located in the working directory. ```bash Usage of ./mumble-discord-bridge: + -cpuprofile file + write cpu profile to file + -debug-level int + DEBUG_LEVEL, Discord debug level, optional, (default 1) (default 1) -discord-cid string - DISCORD_CID, discord cid, required + DISCORD_CID, discord cid, required -discord-command string - DISCORD_COMMAND, Discord command string, env alt DISCORD_COMMAND, optional, (defaults mumble-discord) (default "mumble-discord") + DISCORD_COMMAND, Discord command string, env alt DISCORD_COMMAND, optional, (defaults mumble-discord) (default "mumble-discord") -discord-disable-text - DISCORD_DISABLE_TEXT, disable sending direct messages to discord, (default false) + DISCORD_DISABLE_TEXT, disable sending direct messages to discord, (default false) -discord-gid string - DISCORD_GID, discord gid, required + DISCORD_GID, discord gid, required -discord-token string - DISCORD_TOKEN, discord bot token, required + DISCORD_TOKEN, discord bot token, required -mode string - MODE, [constant, manual, auto] determine which mode the bridge starts in, (default constant) (default "constant") + MODE, [constant, manual, auto] determine which mode the bridge starts in, (default constant) (default "constant") -mumble-address string - MUMBLE_ADDRESS, mumble server address, example example.com, required + MUMBLE_ADDRESS, mumble server address, example example.com, required + -mumble-certificate string + MUMBLE_CERTIFICATE, client certificate to use when connecting to the Mumble server -mumble-channel string - MUMBLE_CHANNEL, mumble channel to start in, using '/' to separate nested channels, optional + MUMBLE_CHANNEL, mumble channel to start in, using '/' to separate nested channels, optional -mumble-disable-text - MUMBLE_DISABLE_TEXT, disable sending text to mumble, (default false) + MUMBLE_DISABLE_TEXT, disable sending text to mumble, (default false) -mumble-insecure - MUMBLE_INSECURE, mumble insecure, optional - -mumble-certificate - MUMBLE_CERTIFICATE, mumble client certificate, optional + MUMBLE_INSECURE, mumble insecure, optional -mumble-password string - MUMBLE_PASSWORD, mumble password, optional + MUMBLE_PASSWORD, mumble password, optional -mumble-port int - MUMBLE_PORT, mumble port, (default 64738) (default 64738) + MUMBLE_PORT, mumble port, (default 64738) (default 64738) -mumble-username string - MUMBLE_USERNAME, mumble username, (default: discord) (default "Discord") + MUMBLE_USERNAME, mumble username, (default: discord) (default "Discord") -nice - NICE, whether the bridge should automatically try to 'nice' itself, (default false) - -debug - DEBUG_LEVEL, DISCORD debug level, optional (default: 1) + NICE, whether the bridge should automatically try to 'nice' itself, (default false) + -to-discord-buffer int + TO_DISCORD_BUFFER, Delay buffer from Mumble to Discord to absorb timing issues related to network and hardware quality. (Increments of 10ms) (default 50) ``` The bridge can be run with the follow modes: + ```bash auto The bridge starts up but does not connect immediately. It can be either manually linked (see below) or will join the voice channels when there's at least one person on each side. diff --git a/config.go b/config.go index 84b7558..149254e 100644 --- a/config.go +++ b/config.go @@ -21,16 +21,17 @@ const ( //BridgeConfig holds configuration information set at startup //It should not change during runtime type BridgeConfig struct { - MumbleConfig *gumble.Config - MumbleAddr string - MumbleInsecure bool - MumbleCertificate string - MumbleChannel []string - MumbleDisableText bool - Command string - GID string - CID string - DiscordDisableText bool + MumbleConfig *gumble.Config + MumbleAddr string + MumbleInsecure bool + MumbleCertificate string + MumbleChannel []string + MumbleDisableText bool + Command string + GID string + CID string + DiscordStartStreamingCount int + DiscordDisableText bool } func lookupEnvOrString(key string, defaultVal string) string { diff --git a/discord.go b/discord.go index 94e5b0f..f2915e9 100644 --- a/discord.go +++ b/discord.go @@ -55,6 +55,12 @@ func (dd *DiscordDuplex) discordSendPCM(ctx context.Context, wg *sync.WaitGroup, panic(err) } + // Generate Opus Silence Frame + opusSilence := []byte{0xf8, 0xff, 0xfe} + for i := 3; i < frameSize; i++ { + opusSilence = append(opusSilence, 0x00) + } + ticker := time.NewTicker(20 * time.Millisecond) lastReady := true @@ -63,6 +69,27 @@ func (dd *DiscordDuplex) discordSendPCM(ctx context.Context, wg *sync.WaitGroup, wg.Add(1) + internalSend := func(opus []byte) { + dd.Bridge.DiscordVoice.RWMutex.RLock() + if !dd.Bridge.DiscordVoice.Ready || dd.Bridge.DiscordVoice.OpusSend == nil { + if lastReady { + OnError(fmt.Sprintf("Discordgo not ready for opus packets. %+v : %+v", dd.Bridge.DiscordVoice.Ready, dd.Bridge.DiscordVoice.OpusSend), nil) + readyTimeout = time.AfterFunc(30*time.Second, func() { + log.Println("set ready timeout") + cancel() + }) + lastReady = false + } + } else if !lastReady { + fmt.Println("Discordgo ready to send opus packets") + lastReady = true + readyTimeout.Stop() + } else { + dd.Bridge.DiscordVoice.OpusSend <- opus + } + dd.Bridge.DiscordVoice.RWMutex.RUnlock() + } + for { select { case <-ctx.Done(): @@ -71,7 +98,7 @@ func (dd *DiscordDuplex) discordSendPCM(ctx context.Context, wg *sync.WaitGroup, default: } <-ticker.C - if len(pcm) > 1 { + if (len(pcm) > 1 && streaming) || (len(pcm) > dd.Bridge.BridgeConfig.DiscordStartStreamingCount && !streaming) { if !streaming { log.Println("Debug: Discord start speaking") speakingStart = time.Now() @@ -89,28 +116,27 @@ func (dd *DiscordDuplex) discordSendPCM(ctx context.Context, wg *sync.WaitGroup, continue } - dd.Bridge.DiscordVoice.RWMutex.RLock() - if !dd.Bridge.DiscordVoice.Ready || dd.Bridge.DiscordVoice.OpusSend == nil { - if lastReady { - OnError(fmt.Sprintf("Discordgo not ready for opus packets. %+v : %+v", dd.Bridge.DiscordVoice.Ready, dd.Bridge.DiscordVoice.OpusSend), nil) - readyTimeout = time.AfterFunc(30*time.Second, func() { - log.Println("set ready timeout") - cancel() - }) - lastReady = false - } - } else if !lastReady { - fmt.Println("Discordgo ready to send opus packets") - lastReady = true - readyTimeout.Stop() - } else { - dd.Bridge.DiscordVoice.OpusSend <- opus - } - dd.Bridge.DiscordVoice.RWMutex.RUnlock() + internalSend(opus) } else { if streaming { - log.Println("Debug: Discord stop speaking", time.Since(speakingStart).Milliseconds(), "ms") + // Check to see if there is a short speaking cycle. + // It is possible that short speaking cycle is the result of a short input to mumble (Not a problem). ie a quick tap of push to talk button. + // Or when timing delays are introduced via network, hardware or kernel delays (Problem). + // The problem delays result in choppy or stuttering sounds, especially when the silence frames are introduced into the opus frames below. + // Multiple short cycle delays can result in a Discrod rate limiter being trigger due to of multiple JSON speaking/not-speaking state changes + log.Println("Debug: Discord stop speaking", time.Since(speakingStart).Milliseconds(), "ms") // remove before merge + if time.Since(speakingStart).Milliseconds() < 100 { + log.Println("Warning: Short Mumble to Discord speaking cycle. Consider increaseing the size of the TO_DISCORD_BUFFER") + } + + // Send silence as suggested by Discord Documentation. + // We want to do this after alerting the user of possible short speaking cycles + for i := 0; i < 5; i++ { + internalSend(opusSilence) + <-ticker.C + } + dd.Bridge.DiscordVoice.Speaking(false) streaming = false } diff --git a/main.go b/main.go index 00e720b..7b9ec15 100644 --- a/main.go +++ b/main.go @@ -4,6 +4,7 @@ import ( "flag" "fmt" "log" + "math" "os" "os/signal" "runtime/pprof" @@ -45,6 +46,7 @@ func main() { discordToken := flag.String("discord-token", lookupEnvOrString("DISCORD_TOKEN", ""), "DISCORD_TOKEN, discord bot token, required") discordGID := flag.String("discord-gid", lookupEnvOrString("DISCORD_GID", ""), "DISCORD_GID, discord gid, required") discordCID := flag.String("discord-cid", lookupEnvOrString("DISCORD_CID", ""), "DISCORD_CID, discord cid, required") + discordSendBuffer := flag.Int("to-discord-buffer", lookupEnvOrInt("TO_DISCORD_BUFFER", 50), "TO_DISCORD_BUFFER, Delay buffer from Mumble to Discord to absorb timing issues related to network and hardware quality. (Increments of 10ms)") discordCommand := flag.String("discord-command", lookupEnvOrString("DISCORD_COMMAND", "mumble-discord"), "DISCORD_COMMAND, Discord command string, env alt DISCORD_COMMAND, optional, (defaults mumble-discord)") discordDisableText := flag.Bool("discord-disable-text", lookupEnvOrBool("DISCORD_DISABLE_TEXT", false), "DISCORD_DISABLE_TEXT, disable sending direct messages to discord, (default false)") mode := flag.String("mode", lookupEnvOrString("MODE", "constant"), "MODE, [constant, manual, auto] determine which mode the bridge starts in, (default constant)") @@ -95,20 +97,29 @@ func main() { defer pprof.StopCPUProfile() } + // Buffer Math + if *discordSendBuffer < 10 { + *discordSendBuffer = 10 + } + + var discordStartStreamingCount int = int(math.Round(float64(*discordSendBuffer) / 10.0)) + log.Println("Discord Streaming Buffer: ", discordStartStreamingCount*10, " ms") + // BRIDGE SETUP Bridge := &BridgeState{ BridgeConfig: &BridgeConfig{ // MumbleConfig: config, - MumbleAddr: *mumbleAddr + ":" + strconv.Itoa(*mumblePort), - MumbleInsecure: *mumbleInsecure, - MumbleCertificate: *mumbleCertificate, - MumbleChannel: strings.Split(*mumbleChannel, "/"), - MumbleDisableText: *mumbleDisableText, - Command: *discordCommand, - GID: *discordGID, - CID: *discordCID, - DiscordDisableText: *discordDisableText, + MumbleAddr: *mumbleAddr + ":" + strconv.Itoa(*mumblePort), + MumbleInsecure: *mumbleInsecure, + MumbleCertificate: *mumbleCertificate, + MumbleChannel: strings.Split(*mumbleChannel, "/"), + MumbleDisableText: *mumbleDisableText, + Command: *discordCommand, + GID: *discordGID, + CID: *discordCID, + DiscordStartStreamingCount: discordStartStreamingCount, + DiscordDisableText: *discordDisableText, }, Connected: false, DiscordUsers: make(map[string]discordUser), From 87f1e1a87ed7d2ba239b9d20b0823bb9589363f3 Mon Sep 17 00:00:00 2001 From: Tyler Stiene Date: Mon, 12 Apr 2021 01:44:19 -0400 Subject: [PATCH 04/15] chore: audio-flow.svg --- docs/audio-flow.drawio.svg | 511 +++++++++++++++++++++++++++++++++++++ 1 file changed, 511 insertions(+) create mode 100644 docs/audio-flow.drawio.svg diff --git a/docs/audio-flow.drawio.svg b/docs/audio-flow.drawio.svg new file mode 100644 index 0000000..9714256 --- /dev/null +++ b/docs/audio-flow.drawio.svg @@ -0,0 +1,511 @@ + + + + + + + +
+
+
+ + Mumble-Discord-Bridge + +
+
+
+
+ + Mumble-Discord-Bridge + +
+
+ + + + + + +
+
+
+ + Gumble + +
+
+
+
+ + Gumble + +
+
+ + + + + + +
+
+
+ + fromMumbleMixer +
+
+ (10ms ticker) +
+
+
+
+ + fromMumbleMixer... + +
+
+ + + + + + +
+
+
+ + discordSendPCM + +
+ (20 ms ticker) +
+ opus encode +
+ Speaking state update +
+
+
+
+ + discordSendPCM... + +
+
+ + + + + + + + +
+
+
+ Websocket +
+
+
+
+ + Websocket + +
+
+ + + + +
+
+
+ + Discordgo + +
+
+
+
+ + Discordgo + +
+
+ + + + +
+
+
+ send +
+ (internal ticker) +
+
+
+
+ + send... + +
+
+ + + + +
+
+
+ + Mumble + +
+
+
+
+ + Mumble + +
+
+ + + + + + +
+
+
+ + discrodRecievePCM + +
+ (wait on packets) +
+
+
+
+ + discrodRecievePCM... + +
+
+ + + + + + +
+
+
+ + fromDiscordMixer +
+
+ (10ms ticker) +
+
+
+
+ + fromDiscordMixer... + +
+
+ + + + + + +
+
+
+ UDP/TCP +
+ Packets of variable length +
+
+
+
+ + UDP/TCP... + +
+
+ + + + +
+
+
+ + Mumble + +
+
+
+
+ + Mumble + +
+
+ + + + + + + + + + +
+
+
+ + chan gumble.AudioBuffer +
+
+ 10ms of audio pcm +
+
+
+
+ + chan gumble.AudioBuffer... + +
+
+ + + + +
+
+
+ map of structs containing: +
+ + chan pcm +
+
+ 10ms of audio pcm +
+ buffered +
+
+
+
+ + map of structs containing:... + +
+
+ + + + +
+
+
+ + chan discordgo.Packet +
+
+ 20ms of audio opus +
+
+
+
+ + chan discordgo.Packet... + +
+
+ + + + +
+
+
+ recieve +
+ opus decode +
+
+
+
+ + recieve... + +
+
+ + + + +
+
+
+ opus encode +
+ send +
+
+
+
+ + opus encode... + +
+
+ + + + +
+
+
+ + chan gumble.AudioBuffer +
+
+ variable length audio +
+
+
+
+ + chan gumble.AudioBuffer... + +
+
+ + + + +
+
+
+ + chan []int16 +
+
+ 10 ms of audio pcm +
+ buffered +
+
+
+
+ + chan []int16... + +
+
+ + + + +
+
+
+ + chan []byte +
+
+ 20 ms of audio opus +
+ buffered +
+
+
+
+ + chan []byte... + +
+
+ + + + + + +
+
+
+ + onAudioStream +
+
+ (wait on packets) +
+
+
+
+ + onAudioStream... + +
+
+ + + + + +
+
+
+ array of +
+ + chan gumble.AudioBuffer +
+
+ 10ms of audio pcm +
+ buffered +
+
+
+
+ + array of... + +
+
+ + + + +
+
+
+ recieve +
+
+
+
+ + recieve + +
+
+
+ + + + + Viewer does not support full SVG 1.1 + + + +
\ No newline at end of file From 9fb5dc5af5fc49f8481f8a71d2cf43f2697304b7 Mon Sep 17 00:00:00 2001 From: Tyler Stiene Date: Mon, 12 Apr 2021 02:01:04 -0400 Subject: [PATCH 05/15] chore: switch to png --- docs/audio-flow.drawio.png | Bin 0 -> 123295 bytes docs/audio-flow.drawio.svg | 511 ------------------------------------- 2 files changed, 511 deletions(-) create mode 100644 docs/audio-flow.drawio.png delete mode 100644 docs/audio-flow.drawio.svg diff --git a/docs/audio-flow.drawio.png b/docs/audio-flow.drawio.png new file mode 100644 index 0000000000000000000000000000000000000000..58e80aea1fbc833c1490b30050915222482ed0ea GIT binary patch literal 123295 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 - - - - - - -
-
-
- - Mumble-Discord-Bridge - -
-
-
-
- - Mumble-Discord-Bridge - -
-
- - - - - - -
-
-
- - Gumble - -
-
-
-
- - Gumble - -
-
- - - - - - -
-
-
- - fromMumbleMixer -
-
- (10ms ticker) -
-
-
-
- - fromMumbleMixer... - -
-
- - - - - - -
-
-
- - discordSendPCM - -
- (20 ms ticker) -
- opus encode -
- Speaking state update -
-
-
-
- - discordSendPCM... - -
-
- - - - - - - - -
-
-
- Websocket -
-
-
-
- - Websocket - -
-
- - - - -
-
-
- - Discordgo - -
-
-
-
- - Discordgo - -
-
- - - - -
-
-
- send -
- (internal ticker) -
-
-
-
- - send... - -
-
- - - - -
-
-
- - Mumble - -
-
-
-
- - Mumble - -
-
- - - - - - -
-
-
- - discrodRecievePCM - -
- (wait on packets) -
-
-
-
- - discrodRecievePCM... - -
-
- - - - - - -
-
-
- - fromDiscordMixer -
-
- (10ms ticker) -
-
-
-
- - fromDiscordMixer... - -
-
- - - - - - -
-
-
- UDP/TCP -
- Packets of variable length -
-
-
-
- - UDP/TCP... - -
-
- - - - -
-
-
- - Mumble - -
-
-
-
- - Mumble - -
-
- - - - - - - - - - -
-
-
- - chan gumble.AudioBuffer -
-
- 10ms of audio pcm -
-
-
-
- - chan gumble.AudioBuffer... - -
-
- - - - -
-
-
- map of structs containing: -
- - chan pcm -
-
- 10ms of audio pcm -
- buffered -
-
-
-
- - map of structs containing:... - -
-
- - - - -
-
-
- - chan discordgo.Packet -
-
- 20ms of audio opus -
-
-
-
- - chan discordgo.Packet... - -
-
- - - - -
-
-
- recieve -
- opus decode -
-
-
-
- - recieve... - -
-
- - - - -
-
-
- opus encode -
- send -
-
-
-
- - opus encode... - -
-
- - - - -
-
-
- - chan gumble.AudioBuffer -
-
- variable length audio -
-
-
-
- - chan gumble.AudioBuffer... - -
-
- - - - -
-
-
- - chan []int16 -
-
- 10 ms of audio pcm -
- buffered -
-
-
-
- - chan []int16... - -
-
- - - - -
-
-
- - chan []byte -
-
- 20 ms of audio opus -
- buffered -
-
-
-
- - chan []byte... - -
-
- - - - - - -
-
-
- - onAudioStream -
-
- (wait on packets) -
-
-
-
- - onAudioStream... - -
-
- - - - - -
-
-
- array of -
- - chan gumble.AudioBuffer -
-
- 10ms of audio pcm -
- buffered -
-
-
-
- - array of... - -
-
- - - - -
-
-
- recieve -
-
-
-
- - recieve - -
-
-
- - - - - Viewer does not support full SVG 1.1 - - - - \ No newline at end of file From b4a1a793a74c758c0518cff29b4d8abe1cdca08d Mon Sep 17 00:00:00 2001 From: Tyler Stiene Date: Mon, 12 Apr 2021 02:02:34 -0400 Subject: [PATCH 06/15] chore: fix image --- docs/audio-flow.drawio.png | Bin 123295 -> 126235 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/docs/audio-flow.drawio.png b/docs/audio-flow.drawio.png index 58e80aea1fbc833c1490b30050915222482ed0ea..cdd02bd35ec4634eddd3bca26d3b4b00394a0bf8 100644 GIT binary patch literal 126235 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

6lgjuj6Ut;8;%L^ ziVJ6%!Z8k0+>Y7j<^-^JIaPd7zS||7614(88_VkKp_V#_avBgi6}1rrkrAH!!$Qhp zs+p2mC$b}lYOLh4l$;|xq0HpS*G|tbhO;>=T?*kq3QHuoa_@QZ4O#Vdy}lXXWk)oB z=#@QO-T%M~Wpm{-l;3PTSCv|R)9x*{?t+w0qIm6?xcz>#k$XZxdWWxvhnh^%)P!{L zD-l(>ER%Ao8218R?O>xGc5JABdU+7!Q6CxKCwx*j)$>E+D$zU=8T{RPQwtzL*}D0N zPNtFZOMZ}6p2dguy-zE_5a$ZZpIjuk zH8~S5Hl?}}+ENT1jm+v5G9?we>-`sy^T_}nJTG&vce&YJAs4}v)Z4*-%D+y$V`D;7 zwKPlaUDr=9*0!-;1FBIl-TF@2FupjsgP0WQk*ads#&P7xmi9aKR>9K4LE^v;NgtXL z@>MZMc;_@|;gr~OeMsZ3l$OLOsoa`$P21eZX;D9c)1-DMGXsINa5&sA^mWV=M~Zu) zbxo|i-L??Ue&-2;&nZmqw1AxB1Bl2wD*Q63>au}b-MCih-2tA@>8&3rUDB=}4Z^S1 zCi>`lx>wa6oXqyCt3DLHr(5lqDmn1FUBnQ3`?i3f3FJab{=MnSvsMqCk3>cusSPM< zos~^CZ@ISH$XXeLA?F0$K=uvmA$t&yQwfE+x~ZDRfFV!B*6Va(^G37v%}gg1#Dzja9A)+0o65y)aTW1)1$v}m)aqWluz{LOy^(}BHTGnM=fA*O>zk_ zDa&c1v4J=6Za69eE|C${UQ?&<;op5nZp-6)6p8el+hs+Aec^rTYHtbq(T2_hcL0$_ zJK+9GudhWGR*$Xpc&RG($oY!CeQW_L>!fj!*d`X?x6(DJS#?|Z!cMHe+3TzYQtic| zP`mu$k{6cYIMhU~H9K=b)J|4^D=Bi^Ylc;8w`37NIEO6gK8`<&esFwB7d9fjI5&Y$ zi^w3#)C8|i@Z@(jN@&(G?q!l%y=`8%NNcd8q}nv*l=mo;r~55K%2I|Z9pLWs z{gHQ}__t$Y&(!BGnDV{m;u~c@4Q$L?s0nq284ppqhUVqnC1t7EKpbb6Fz&N$t0R;! z?Am_~89?CdCv4MRsiig~?^|}=ntua~S9vSx!+Zta%WP32z>CmQ+n-kEHh2-FHY?FK2>%y7ryMZ$h~Q+&a( z5JvR4{srBEccDz`kZ*x zYcNLsS>)lmLVkZKDV{h9w4m;68n-lIU(+07J&9}3$;`O4e>kJ4qhp)@Z74ZgnG`hY zkFUt6tl7-i&Y*s=QD=*iSoUP0`nd7zr?+Z26tWV*>3l^|j8z&GSoAe*pxoObVE+|+ zDOxt_DV@Eh=-w-3u>L9cm~f`8$3INDF(dr&P8tgqO@#&sf<{T6w%n_u3muC;np=F{M8y*e`} zz$(%`aUM&uYbvuQ-RBF9XmW>F#T65`z+`l!Rs3E#l)4kd>w>l6#&L4Q5b_Wj5v3eF zL7-^0dc(vC@;XYQY!2#zsD#VHk;!bN?8XgtQc54XP;HWf)|HMC@Lf(qieh#FCRC*B7Q!G;M+X;j^_}5%y3HSC4F8N9G z)0p?xUSwYtP{I&>xH$c^2p3gbT{efyZYjApN(6Q@U@u|Z&s3K9l`JEVsc?S~GORYJ zat%4(cp)LZxj}0U5T)D|F$+8=piE5LMD6kMeMuO}YHGnx_7$MFSozINTA7w%1sAAZ z9uu(FELrIuSl0@^ov5x9ko^Ao*Q}Getny7{2crwx)~B8fc_SXD%M7b)8X;~?Ery%} z;qiKPm<)O7te6VW3u{!Zn%GJw>uXO?J*nDfz}`_?iNbzN1W9d4d14pHe7<;6>P|Y> zsL%{=+0NE_OP`oQqbeRmISzVijPmm+?lJribbL|M( zi9S9!&_E0gs2LbsDb*YEH4WRF9}$;RQ@Gk+u_3w1VA#W>?8JrSWaPOxU)4y2w1;}^y}oZj)7_;e*dc4p8PT~!mwIT zd=qNu>6u}FLkWPZhSy(#f)0T}PZBGe$JPN%sPOIl5)6x3(vtX=fHn<$K3fJ<7~b|a z2h^?mFJ3-A7D=sHO6-31?liS7ee=Q|a`41h(PE)tJJDOwIbLVW8NU;_ONJi8!lh}9 z2>?nDftmohgq)>WVD{#A_L=Kj8i-AGYN`E3d=eRiakzdgb3<$W6qK{}I}7V4RM*3e zNuL^G2#xRV@n#ZRbvO^})ub1vqB;P}3JtuG$I^@AQSXROVOvP8=#}EFSI;6c$xQmh z1aeCH5!RtyUm}{ErKq;=w)8ND5x0rIE_pf!B!I^}R?3N4I&rT^|5~3Px?fLXEGUBC zvjUq@V2OQ+kk%QNlFV9Z$Xe71(wfuWDZ;^aLl;4|%O&nhF0f$^2#p1hIcQaBa*k6H zdjiC@f{TFBtTpttGr$-ipM4qY>?}!+9IuXX)68!)f?QKg@L>;Jg4giakiTJpjEHD~ zH^>~BnW0NPaBljNTZe)vsjRx7vL0YoHe8?(_8E=05?=wxEgO9lRIfJ*={W7Ap2e&@ zrTZdYa3$p>k@C8C3+(J9_tV0;M(L2rnob=L&p|A_AqtmlKRPj$umEN0!}p}B&5jin z&A*H)*)9>1&ZiRBZqxSmpsLPg*;0iHm8_b?l9PcH)sQQsBC78(3mPD4ofj(<01`?+!SXv9PPr)4T`GFaeZHz!FH4NRd z57tJ8>yBdNbOY29PEAT{NrVfSl{8CE4f#sTFekyI;s}!oQ8-|oSR5!VF;`=l9(l0H zvOZ5;v{5YegrUeQ^}>UPuFGjVO5+jzhMfwS*C~Bk2{ziSh0|KQ!nEc$)pug97{PqW zotJE0hwe`YrMr~qDvQ@w%J%W_WPGjG+Fuh>HU7}0wUl#~aK347s31l7|*U0#xED2%DS3Pf}V^7l@33(n8EyT8U>K`#HA1*BG%8>I2$E(Mgv{SVN!~ z^11XTdLEoysEOR3I|yTMx2>K%c|j@yga_GsU*~lsX-L4E#Ji4Dn-UmncY?}hq9_ik z@vV!8-)Rh;EZKsDZOt;(2uwlvX`|U%23k)kRU%S|{9lou%n1=qWfG+O!Ik!pV4o^aU95x^vui3o1 z{bKD71`xhXPj=eqBc4Ev=FUmpEbgo&>z$#=qbFbhy#IV-)osx0@siVkEI^8stVY^- zs@gaj7#b(wLPoTecEZ98-;alloI$8EJ0i0Ye8A7#nA$69Q_roRdzzT*JR!$gM8qff zf?^f1nfxLxGOc=Sz5l$mj@RIncIBx>V;nqDJ5q^tJ39A3MtpYAN6>=sSfzY;%Gi6J z9Po5t{l@lWse$M#wl9svUhGr`RZb=?8^!SURHK5(4LpXn>gh7%&ZOQ-;?6weOUPZ3 zM~T@*7kjfl<_@>kYUvsB6VnazS}O<*{IsEfaX82;X9&p^QSo)^uG16{j$R_X)rd`Y z9&XGof-6O9ZbZK19*jGDGl)ACM%1y;dzfe*&D5+%O3^V3$7SnQl)00x*Y)9%3WLf? zL)mr!0J|iFq4aGCVL@7ymn6oUOwtL6eu8ZSd8*f-f8g=?smGJa^QR0)Q`qJ;qc_)2 z!qDq|L5;t)=W-AVSq+bg=YJ(Rxk$Fb)v1Vya7CQI%-bF6?|%%pD@ht5kidAI z5+k3yDP)f18N%wCqp~BTU|KKl;8ci~>f`kyBu(w22H)C-goO1+$SM3oL#{0Abs_Vb zF(g*JXe5hpwTSoDc0C62YMghO9)=ZJuYST5>7a9q$1g6oRL?KPG32QBN@OX^>!&tz z@Q=cs$X4zbaRJ*!`ZZ?mT5k&DB9nR&P@myzm=UQzksLOUwmp67cd%Xd#uga-T|pAO zfxYp9hNsTB5+anKt>uvE1bQGA>P68KYY2iGBPmxeqk1`F0>rv z?be-l6F6{bi?aOud@+m6?lC3BxwTp&EETI zS-+jIM#9&+PQ-Q+e@ZHDwq8rEMKP-(k|`Pa3>3NNb-j})B_0tMd*0r4nF^<9c~FBh z+4Zh4t%j`)2|A`4h(xl7rl)$BcDF`UNJs-*nQ&QMhVV)Iq>eL&@Tq=-I1Cm?m;h-| z&w8W`sjIH+%v8!`b!x3cH$ZymgJ;F~vkt13dclkd$>>gG@I-1iLRxiJ6o{spM!xaBRhFUP^osPX_!YRV1bG~Q;VAQ44v;azc z82n|PEzZG2kTiLgRv)ElJf-3s%Kz-c$~;YNvF%Vbde$f;up=t>L1IG=V9 z9oSQ!({wX!WytH_^W}}0E~@&uwcDz<4Jn6AqE{La{f0s0AdtFw(20AH*ieIvZjvqw z$ODxu7<|C`C>SArJ9b`xf} zLnAUKBjKSDQIgK7o-zZRAzLaIL1ipo!NEwZ0zQ?LwKx>s!CG_Sq{XGltXn0dFLL#_ zk$nSFyKx<7qx78$;?16<4}%ya^XTW4ii4cuep*onAAL6CF&!CqZ~Z#cM*w*n*|z|d z$VGaV+y)-YjqgrL_iLnj>dqS|EHUdQ(%m{CC&(U@v@;PdQ?F3rGZ>4fLCr`H;+jWH zVUn>ubG!6yO@<5LKFM-KFS6tuNMU9HL=ZwAH}FLr!8)g-vJ^|tz)GhmwR*$wD{<1v zh36p-ke{FtesSUJhKf*oi1#wnrvt1$ER2TY5Fw8u-g7GNl?%; zQ*PmQPe1FIFJhcK6UQncSqR!8T2y8x6#JL(Jgi0S0deLEvFnL<}-Ra zX@vKBGepJ&lnpjvu8e@dk(^13qX=JZ1Q%{1iT=Yv1oyGI66Hc-V~tKGPj2A z#u%MSs|fq+h5`FwLS(;0rZ_!bgF$YUN}@4*FlGTrEb!+OvN(*HJR7L?<{8?zH-ms@ zHk9>?MW~@=29eM#S%2H^hBf&KQ%Madh5JtxpD+Xk;K#{j#DQwKO@&V+!`pXvQ4x*% z@qo6X;q`TF6j$v-MoO;jS2b>lfS4d>u(PO$_gH+=@z_Hk4a}-o!}+!~PIe-e3jy8^ z=;&moU>`evH1$G;d4bK#VZU9kv6GS2I}rX;pn9G~4FTHgpZf0iNVc5NklGuovSX^p zw_`2nc#M)V6l>fWoNFo9KF$PZQ};jw8(*<$;m&6 z+(#_QwNbfm~`~@OQmo|DU4A}GkTtB z%(}=lgpZ_kHAf}@1YyLC!d%V=E%8b_;^ec2ys$cjpmq`0R1>F|A@Bxj;+b9idVG}=pu7xl$6pq@2Jyj@*k^-g03h#vp_V7>Ix?2M@h>vuX-&^$Nm#Evl z2kBoT@55O6aern+T1r{Vt-V4ejVVnEPi*86&zv3Q5qZk!N-UvBl#$@al#Sd)WLXU3CSnuW`%XYO4Hn%_OArx-$D3N44znY#5>lg7n!O@0cB2sO^JNB9sWd-N(u*^*8J=N9$X>$I<{ zhFilf5EvU1A0b~3j}i6-1SR%IUPxCF9?t*Ro)=C`&n>e~aIU4c2kb_Blfw)W40~cE z(6`_*Y2l~wg)@l{)d(V*Ih>>J(T6j!?z^PeV!t--VAEsnBxBL6Y8ox^)|-&q9=dh; zi4Z5Ju3oj}5wp?dE+IMO_xJHj8E9;E&V8#dBlg z!nb$`Mr(Q_+Z)7Q$9KHZW6t<8r^NNpT&*U6gS5~D_h>&{?K~Cv_5$em1>HV35vrNF zz+g^L(i(Q00)b4@{QH1~Hs^i0FLp>Nb&ZEr2Tf4z*G>D#sspMM631eSjisjsnL+(d z-2iaz^}}Nxkh=ih!*XQ;=*)`I7EN?IR8uZ_FYdaW?u!S9#*6b}uO{2w<{2D&cOoKP zA{gm0l#(E~MWVQ)zD`9;N+X`@XxXSw%~QN_-q>~IgTcOpGVEZ{R7fC_?Ua~`jspgy zl{0%QwJ$5-22wV+?`x>o*M7R;`s-YGB3I0st@~~9+=JD1r&^!NThv1Rtru1y#RyJ^ z#I9ZeHO!ma`in8!E&ZgSX49D+AS5f2h*6{#Dc1Gq$s*dxsd}szQbT-E(^x_wD&BD} z3N)b3-(16vM(jxHJmWFsw-weiwetp3e`}9E>&8&!O5+Qoc`LqcD^12`TWoa=1ckg&TXK#x##jp zKLnv&VE zlcAq0L0(hPND=d-5I`3{7Xm|_WxZrp;Eib%sE+WD>|cj`PCOp8g_PQq1K*rz*8IpM z`*28Q9emDum2Cmavv$M0`jSZOx6kcUIou^2d1D=Hp{u3~P9^GHhEjJ^YK{Yp@}Q2o z|2!^Hz;=e)KD8%*I;T2ya-e!YGi5QAtFsy`h>C+;`RINSt``@H);A8hlCCzb>68q) z(X=_*xl#Acg09$_ko!%RU9HD;aiP;ntap5aB3wPqwkH**VAIa;hlGz|rTcck+t3Hm z?9{Wz8?TPTq+G=L?x%uwcDPu8h$csfxDHdHV&HxkLT*W#gxH(qk#N1?S=Ze8t-4ur{Q> z!s0wAZi@8?R`yfQ<|fvDfVu#WTMa}+CX2U&eU4f_@}x`(fHM3OSiZK}0_gq_0eLqO zXkbD2vFSCH`^5KW5_;x>V9IAegBR}M%=Bnmcv6&C>zN4gnp^v&S_|1h^Z?C!M0qdd zka!k57Z;i~u}iuh97#TQlkyL`_*++`s3Op2)5e%*Sc0kRPxB zsma37JQ*Vgh=(sJS>9OECyqOXvfK!9LkrgM2zDXMThN>xFOMdrGkr8&k6e~UZq!Rp zYI_1y<$BQMVb!KhP(r(8)1ITx?}dZdo+j7RP`9k*QScxQas0*)X#}sm8_*ROwd2 z=W1^(c^otlpo1s12e;!AQx4mJ!5LfDW20HYIfIGeBb<@QtC1l2*avmD`BlESvNjy* z_Hj91a%->Xfz%2aGI9nQL(wCtIdohRJ0SN-;Zl_rKCyP#XIqky8vhk2kY$3**&g2A z)E=$3dY9hZ%#8GT)aD9Rg8b7{dM-Al8{$qbJnO!l={K?ckiz|$iGI-MhlcMS2Yq~D zW8RCieRmc2Klb~2_mE;Mp%~=71du~e)5~!HR-h&o%eQw9xLnIDy9~&=HWBnTXRmo? zl*C*OHHsMWkQ&}1>#;)BG=pGN(;c$VuSHE8zw757)Tvp0qbRnDV;*YBdjhFvz%dea zRxO?b3}WrPgNe2A0r4=DU5Dl>M&Zt+OXw~GB`45)I&TZ>c9uuBt)R)p;Z(Qz=|+QBH?G!jf2SO%+zrsPC2EiQsK_EE@Mu?t(@nLh^W(oyz$=-l|& zyD?w|tZ#N|*y{H2@zZTCn5e#r@ZIHLQsj# zQV;W)KYTXDCuMJ2MJ?!U5E$6-P@8VHyjJKu{0f>itL}wskiLR>mUaWzcIW90MYHW= zi#euxn4~!SCd2cOkh-JVYxj4bI)N1S) zGMPHCve>xB>dpdGi);a{QdK1nQ8dy$cU*xwpDytNSvi(FobDpjEbU3T4|MIpO}^Z> zoE@O9ixL9G--&^^z%XV6s`+Y8S%o&Tl3({pF&I;;X?%bOjjryL!K8{}za13=HE}AV zJ#*DDauxki-gelsMQBLqmG9Q4;YBW>UBfn~_g?m{`Gwgrd=`sw!uhNq>5#CA;*@@N z`N&Oy;#1}arP$Zl56v(NLAh6s0|1w-f8n4@3kTNegDF02<)Tp4akDj>_MCfH@g7W2 zxlHAw%3X&WD>y54#ubPI1AsIMJ#*j9Xg!;ataRT2*xr8ghEp!+6S&||JkY85YdO;3t`AAT z*UI!0G^n;}j~TkpM&!uamF~NMa2-E3$;-r{>UZrRm;$65H^@yUKx1=jsg%L5{u=c0 z=i%B(m!rigPql^{p5M^QNDO{KZAaqRb`|WBBk{orNN-Ix03UXLA~IBi3NMzXL8qu%$uP8({pF;dAI!coUQyoZHPIF}Ao*=p-aOX8~$i zeQfF)i@3dB^5BN-%wo(VE#qXL9ZA>1_#|&qp)SM9l088aS64u+yYv*=-Ot0d9>?}{ z)wiWg*_U21FL$qcmrQN&&%brk>nn`9)tQ7> z*5gaN?zJ$Oe8s<_t14s0To}AYRu3?)E+~J4Tus(0N9=MLx;!Lq&r78~Zvxcb$N+oyKg-v+(rb?Ju3ysApSevt|l@7=c~KuD-rYb#AB zfv|jk6n_LjJB#yS)P(txy9AoDB+W~wmwJv1&~MDyz6VTi?mc?$(jYM6b`*KVxosTT zbNAoG23&rIXuZY!w5V9mzW;V4Ri&@;f@hD+SWPayvDAV!i|0AEB{4i^ zPU38GVCMK}kRYC+x5AX9cfyGJ(+ihmMS&J%+9&DIc9Jaj0VLu@KuJOD%G#|ZYkkhH zzCi*5Uiae|?EBZf#^`L^hSk~OK-;(=ghAFH3!q{Upi+h_7Z<)1RRBMV+cCLsT``ZW z?dz0Mvcc*b$Iv{LMAW6TMAV(8B`b6%02o5s_ZVu<;yX%EPdUy3ud_l;S`M;c%jxv< z>01S01Vle(`O~QFye@x%GEAK|1_1u`KfHM`Ss@5U)I`SeC$`A0D~5yJmzBQW2X?Q> ztxD7byAQjwamkF|@dLX*(~O~(o56;Ln4mFo$aA&tytm3n98gVMBY4rZJkTLQBLHNXQ?(6r`x3p^@ zU4sA_sdYx|q9eA;&%v<3nNU8%a*($2-LdlVhHd)Ll)U1KuFCEHb*Z~J8dEuYXwn=H zJswyvYKsFfyvUVMz|eC3)#eIatB0$1{-bxtDF%u{!``5aj9L9}5Ih$UyuK6z{dxnW zF7Wjbg0^gVVv*=MJ1u(vOd>vJMsV$R+{y8AUyL}(21vQhNxmh00zVdUxL=Da>BNua z2z*I3&|csDD{euf8b4G{@Iwhf6Dh%U95hmBGo1yoVT0n1A~tNX!EXWaH`%*+uj}7 zJeSdOkk&i{YS1fAfFCz7MW9sq{vT!E9glV2_8(Dag!44BXHr?EWMuC|Hpz&}rtIv^ ziHwkW8W|xv?|vboIL8`#sOk=lC4seY}tN zXNpI9NL1F*u$QpOus7J~&q)c;fiIW;N$u8OMlr_m3mI#MsizlCBgB!;3|!K77qOA? zwG z0uLxVdr(Kt&jh;HAX}UM#(TNN)N-GpJ#AE{^f^Ce_U-2 zKSu%!XYN!OLDM%Ft{J zWf~OaYUX^c9+o`^3)KuMm+4S-4*owb8!_?|U&3<+|Km^m+cWO-eW~?wN8qsXkKAeZ zCDe~3y**U=2>bzq+z^J?`WV{wzZ6({;hdL@#Gd_o3kV6{%$G%0FTH0}!?&kXRf#1X zzwX~p;;~lFDDIe)?qkJAW&4jFAx{}BIY$SJ&mY%Ye=7inf9r9e)?fj{+w1oej`NX% z!I8QSa4ldVAH`PwL$f4c7K}~*ZVSy{$B2y}AWte#{TrKxGWvG>adVKZG3Vp69{8hskmU&v?`3o%{_Bt_OW$nA ziB7>-?>P#ooqL4(_&9b_^bPh7U$K54r=kX8g2 zfere%4Tm$PkN;5gS43fx3CP@?x17RqMhk*xR(nCi&zucAK2dBbWii3OEsDxJ+GNNh z)FyK93lR`f-cAcC@BjJrUj{dSjWt+=F}n%ogeMYe*@Ax zPv}n}&Oo{o?3B*u$c)r~^jhPH^KkeyE%+aQ;@_UZLVBQ&fFNTO5-YL)_YeQ&PyiTd z2d_y@|K2hnNr}6QFeF_;p#MV$F~xxFV>^h3Ou1zTzu~JHfrHO~n5e??%T(H32ZSNF ze|mlN*^O5Y^}3=+J_V9OlQn;raziLy0HB5d>72^&S~!QO(b#dk)h*In-E(?wI`C~r z=u&sGhf)RoJfe7__ssB-hv~FG6r72s%hwY+(e4TIn{4O3uhmcP38r@!tN#` z6ZpF!Ue7AOI@MC+*)=$S0dSWLF5<*)S7U%Qj<87&mumD`*T2g7(L{|61VbBQ46&Vh3jkuU%e}Z*za}=&b%%u325$C`6d$mkO-lwepV!$YT?To&Xtj z57c=EOp_t*8ZLkS?KWtiq(xzMgVD9rO;EitKWMW_*e=blJ5R73HRD#0+?=37}_lngo11RRu!o=L;!giYy1)Og*q(#5)G zTjrMee?gTr7$OJLb9uYbzu&R$2`(Bx@q=}%zXYd)iW>fQi0}?E;Bl5z+0f@amt^D= zJ~L7)Zivd|zlUfJgpksuLMt$DM3`&~oXDm`od+|sV^UwrQi*9(s-N>G>@4jU7K1BY zcPo4KgjGt~Zi^n6JR}tYpRRUZ1A}5yKw`*1ZjG?HmR5#m^y!K2o=ZevsdwJ)ZP|81 z2iXOU)%EX>fUhhHSwOS~POtJ%soq6)I-cbEgwxt~alXLNDjPKu{&qV)Fv@>{!(SQ; z!CemL`W{h}OTcWvP@|oeZ&$9$8r?v^;iKju{}NxQ6~_?4icxC>?yBo9hDnr=8F6NX zLjk{F8Nx2%ADn<)F3^^)Ys!E&;~HH*yIg42!2rUa3>2P5t#=c+Ou{NszB~76nQ7c; zXGH!*+D)UReyky=4N|kaRLe}LNwqO(A(vm2M{x2Q*Qh;eBme$08$`4f+fBwYr=I%{ zbAKffv33!~1Rw)GiOM~a$C0j<^ay++yuIQy1-OaWGU*r=iPrHjRtJz0N=UfzM3iWV z_+W;Q+X0kDwj)KT2#yk%e2wm(fBkM5OJsvqh(>(3?Yp7DA>=x%(_QPezQXY2BoPDq7buQ}KuV>bpzyFXvLU=%=&bnaMNYoA8h~u8p@$irTrDeq?NYMMpZ(}^H4VnjZ{VnwT z|KiMVB2|y&+OWH+^HhpuV*qT^ZG@7j?aP3qK3y~-FoO2;eJUI<$Jb=t4FB@Wv77;B z??O|M^d`;W^=YNrY|z|6r@~49Vu4!%6MI4E>Fo>$Z>k_Cn&hj00G)j<-%ljv{L(E(O)HCgbn0dxK<=zv=x>0O4T7=lhD z&{a*wskVYDQOi^b(XoG7`!TkAuwkiC!z3ftKW?Xv80b@|k4|YE5z{jUTAbeFSfOkbD(6GHkMe`D2-|+Ulvx_$%bsnL2{Z8x&Biy!M z7U8#|>QD!4ekKSj;;`;)UNzM(#bjiS}I5kY&r^MzOfbGg^&y8pr07Wd3t>-IgD;SP6#ZX8 zGB}1HaiRvz*EV3_ciAU@g_wYXb(6U&6a-jACNT`~p6xEaF0>4jkXx6pz7O?}T0-Qj zF4zxHlM$K2Mw|bbG>?Yp#z~#8%Lma78G#i9)xX4D2_2OS2pySC9iHfD z;|M!EaGd@;SI}2$N^p1!Ro}^-0WwS-yjv$xt7v^11w|0nx_y`}{LPSB_$y|PuQln0 zM-sE^5$;!o$~=hkrJ5HZ8}Lsx^8K?fTxPVku|J@pT*J(HSdNV{S;#V46pwRmMW6(d z|A?X(1VGG7K}5w6l`br@w55Ox#6-oBA`3o4%H%%e_yijA79f%}b4fiCPTva{optWf zR7yFO>3#l3qIJ7Fc>8twcKinRjdy!wOfAP(Z=CM?gpm4;rSEM+)y{2Ij^E3yGK4YG z_1dr?8S1?6Kwf44AjFePtY|Ek`0ak)Z#a)&`*6(u`h)FOfZNZ36nY_xWN`ZyLsY5Y zKTRPLZU0eC4Wts8fAQ{t9t`ewAYS&LQn1)!|23)CNJDb+V|=_l7IeF$k!g;g6q_S} z>`5LgC=L_$_n8Pk<;_5QOD4-C;6ND7?pqfUhF3E_A46S`_wTpC(&FErlpbn6`O$Tj zitXzx)x;v^9^Eu3(p68T+9D9wkZDs2yjhwazE|)O_z)V>1idMBV}Ybsfu2v=@AdkD z^mpRdu5%WUlbtVz2DD=R3p^J zH^B;pL9^omC=H$2(wLSaB%|E`p}D&+M}57JnR?-k${GZpYoc9x7;?xlDa13`p3>H= zT|7r!eGKF$F9sbUJKq6nY)(=4?!al5^DZ%%)CjD(>lFwXGJ#UEOk^`x-0CRaIwAVJU|(rN#m6-0g>1o3Y3$XVe2dDH!+ z7l<6*Zd%-M-+Pkg@X2^|8V%n|34DsCaNr+~fBJ#s zExAO{fxg2J>}nzBsn*=ovDc_clQD?0LUlVo1fpiWo&F*{Kowf%-aeAV~I{4 zv85ca@k@mJc!E9c_e!z5K}|!hYVxz+NE%&zcgpq3aP;!(2Ly5 zngOwDXsR57K>8oheGR=VD2=B;gi#1$@wqF=9tR!| z^8H?cl_n=f~>2<%bfjuY|-y($?o@gv8mB}Jty+nH|k&B2tp;M2$X zexSZ#ygZYiDU1q?@20aFsi}snF6tX(nLq1*rDzEWy!&zv>n_i3`xg#EQQCe)4DQn= z->aeXA8PHq`!<;F));>+nRLE9N1ufVXM+ti(u}#cOtja=)X5>j9nW!o-=i)?h@T5s z#dX9^s8`+1WDmL8el1C0{^FTG288!#fOIIWqN{W3}reLgEWm zIh{{lNHTdxZwp4Q#<0(HIQndQKw_r`0Kx3yaZ4n#GcO`Az%is9a-?HCN%vGKtEKe) zVys!Pdsm$t_p_EKFH}e`?QMC7UKn|0JxihX?JM;~#X#V7r7bjoiFLGfB*aoyfl=^Ee?(sr1`fa|$m zF9`c)@z6YKl>Oa<&ViihZTA)~UErmgzNxwgVn-@v^v{3t)LUXX6Y%*o<3e10A2*SF zHMFI_^p*q#O(_1%Jw&Y&Qu;oG;=OtjW&$1)gDMI)B1B=UAhs=Pic6r6fcS2t`zz?I`@5x`MgRBLOQisH{ap^4n04c!H6d66QrU{d=5!KL&fZ{UJ z25N(0M#BQf-=Zc3GoNzHy`wD~)pP#5XwuMsl-*fEqI%jW!!HaGT5f9$A+^7*6>Uef zas1=^TIFX`OF~@kATH|J1*(^Nt#qf$gl3Db4A!g-*dk>n{i?qOM%g6GZ+~yi;tuHb z#NFk6Lc75fbL_nTXPsqHgf^LiFsVSXR_xH}(BvmjeZsJ&0$~$#X>6i<7?ufvN zSK4ihu`1CfX$^ZI^e5!E`PnqiF4Q&&GbR-L*Ppd{mSaG_O?cs84F~}!!Y_&`7vucIaxH9w6 z_h-6@-`);a+W0^vYzaFT!`av*Fg7lHhC>Z1KX#ktQ(0@vWk8LRqtpk=d52|YHCe^hWXVf32CBtSDD zzcizU|6aiE`sgT<=*&YU9H1)bJxa8~UJF(85Jlv{XIKz#!QWrV$CCePQ={L2Lw>K$ zFhsn(CVpG9oD`Yt)ynOQAXTf#XgLqO%5QB)_~;DBkf;T^K7t@? z?fv+J3?5U!r;%W~u)%c7t%zpKx#qw43rj>B%w_kT6JN35f4aA1d;5JJye#}u3Y@B5 zbe{sD2Uz!IQ7J&EmO<4y8EBc5^eCN^_kbvu27Y{S1*+kvbHB`qesgIABQNOCZlZo8 zK(@<-=+S-yRq6-{E6+?-DD;xLCw%g;;*0qrmkzh8B1`BXoBfN~dK#9Hyb3is8pq_9 z+BYS{rDk6@_-RXsYk6|#+y|yxst=ibRyut|##IMiH zncuAyg7$x2SaJ47Movp=en%i#)4s?9L0x#Ut^>oiDd4{v%BpMvh~ZebRUtnOzEUCL z*Dl}3rF;*2Nx80`wKva-rR2_EYrk93sd!Ls!z9Cs*Asf<2|^%w3W?9Z2=agi9@X8* zBWPvSEL7dll4yqBg^f{lIjIlguCuqf)lzSZxy?^Yk#k-JK=sO_wD)`Z{#BgRU6d^c zU)fM-!B3oQ7u@4R4sSnIryXmPw2s&dmAejS=Q?7q#xFxoeGV$wXyc!)0n$u_!>?V1 zl8oI_zCqvhdlgfkG@Elk&A!tI{QW8R3FD&-zeOcorZt==A1bBt8^6AfulFy5V!dpY zqSAGOzbECI-;f9PqHow$$Y1W3vP0Okeh4g8m1v1J+hzK=CvGR~?`+b?Sv&24nsSa0 zwa=F<8MD?4IaiGk;goZ%emkWI&Q5voh2_{555BM>b#U*I%u2v&8?z#%H|~oL2*Lt>r$o>qRg;@Pi&6!lCjsZ%ZNk12wCz!oyGi1bAG)!D zF9xhy@EhWbHMjJN4a^2AZRuz!bJPGIzJg0WG7H^kRAdFwZ?x?WdCFJ2ux@oZSV66m zAh!_5cxggXWD*8m8ufpEDde=RAd{sAwaL3= zYsHkRdZe;LI$2OpWZb`T!C#tz&}08cbjQ+#Y_?)yu#-LH{37z~ij1<3|Gh*DxZK20 zC#NSKS@ZU#^uhNP_#eOTWmZEoqWc3mT+h2`^J}??f3tLWESknSzpIP~vH7zSi6xUe zpt2k{cU+%b3mW83146799FsPwiMrtxsdF7$H@QOs-gCr;Reh3UHE(F$RJhl^NkmiO zb-kJ9<7VKIGqB3m90%|@uk8CG3;qJ9f5@UgaZ~dpm8^BAvaXmBdZJj-y z{rT@NNBt}}_7y{&QRTS36Xg+SlVu|Me-e%(OSmsPscJWsg9C zgH$F81ioLX*i=xH$Ya8|?3UfsaLdA+zALASsyIX!m39OpC_ozeWDP9UCN|73IG5q6oFJ1W_PmB2JeWrrPACC%m{8Rn2lnyH+=fKhHNg5azHa=`}n zFB*<4kj2xU3Gu&Iq_sf)q`dLXO(RWDId5makL7Py+GEKrLZwkPBn_dhhsdfp8boj6 zsrxUO)=)aWtA|TZ448ElCVK z{}(^+?W4i&Auc!Aqt@CgxjMFF33(O0WY~yILT(1p{c?8Dxz|qrE8+q^QlFz;KlrBZ z?30oPos$ppN;cWiVwrNU1f;I1s9xuQ7bKbbRvTKR-01-UlFYngT1jkK!8c?HS>c>{ zXPLAK`y71!RF*iC{6Ei^W0;R{iy1Sz5JU6MDAVjHs+JSnKjPeWwR`R5hF zU!2S|P^gkXr?3;8C=_9!KN}nBcC>$y5N?Aoc>IvKr1-do&DQ3Tm#ZziZ5UKT-$c%D_Az7$ zl44XJEj|R(_822Rbn4H>J5Nv-_J|UycvOOZb^)YXVy{#g3RnmmpUrMw4rU=;l>H@p z(eBsB%G{1E! z$MkCQkFt6++JtxteNG8%`oOeXP7tJ7O3Ykq(e?#CqNUv<9TOh0F_1+?vzjfNju+hS4G}47hp4G-;}&~Pr67l z_qvgOA>LLcb5-*mh3F*u;=M8HqM^wUXFY}Epa_`R3rNpXsN7PYeh{v?(wl`{zTS{n zm4Wt7@3*REzfW|q0Aq#hN4OP`rMAg85WZ-=20hZOaOHWqLj9?}ILSFRQx8_}-PJx_m`|~LBd~rHd&mP1c~B9Qc(_lmE8x=_ z1f|KoVE?=qY?w60^wcuKK1skNT*TCF1iR{r{&g|Ai9XPu6gl=^*TAWH*+7@qCWuT} z<+h!>3RVs0D$$*`X44&?$u^A z$+OW|!4}_CHM)j+t8P~@gueX8f`9d(565#LfuU0SIUUgiVp-)CB~ZMJk-Pzlvt!mn zTSD0}kPz$q3dKDqRZ-cbF82|IGwkMz(c%jl^9y4gh(vzvJGm<-P!%@4SAeKvxYYqk zb)g%`o(di>e<3SkNnk?$iUjX;=z41Mv4FCB?NitH;Zi8=O8Y^*WKAt1)}oC(Uu4inH`$tFF8 zsJ6ZaB%&7>8z({ojy*%SpCoF1_oGpiB1^yKnvk# z#(#8eyz_71Ziik#IG*VlIVzkwaV2k){ntPH%8RK9`UtrRxbqTuZbObrMQ&-s-q3cN z;n{=)LY1$qg`<7oVMMutzl#$5k0L|FLBk=*tonVqs<(w_+{oOW*fEF?KOHPEatt4s zrD4u#CxVZ(bvZv%E=lr0zWvk_mB$XTEt|5{pVLZ(ow1j4^2Wz7znaft@Im>ZCz7eb zDV{D&cdBJWAB9D{pf`}1SX|!z)VV94PsL*uYL`OjQ|kEu z>}Q>3=Q#>gi2Q+9cT1wB_U@lrRn1$#oPaqzU_I^SVc)B2895g{iA(6v{$7imnm0^C{zyg_*hfG=%wqJ)1>#1=@LKuADO5moxxAPPwhC<9;3 z_7ukN?So^(rT9DMU7hA$Vo0I7UpJ z122^07)zr9{c49}?L4sCRqa@r2DU#gP>$dn*I6W%7tbeo5(V&p3;g!=EubAr0IR7_ ztWdHG0(#&I6q2)U^0|E0_d_;*w_O@7fTrSE`*PPs&N!Euyri#z;R)uPzhJF&;e6`b zKxZsmY$D=D)B~_Sr)yv6@_#U;e~Ndv7NMhgr(!J(qkO$U95HgEUBac@NxW|H+ovZ3 z8fEf}Ezk=2>2jtF7^fO!Od=Z3ptn8yNZ;h+1EJL>55cTqfPt@rK%lGG@ZfTXR0-Wt zH-PV(y(soaT)Nd(1KHn{A{Xj}v?=10`tf#D%f5*G)~t*1a=ZB5$jC3&B1xzE$~-?j zYT0bHV!EwBDax9ABT(o}+q&$%baYUlTs>WhJdPro#5|S{B18PMVW&Da4GP4hZn6Fy z=OUL?Ll1GZ$&&KrCIUB1M?&@8*`{Tf*)>#{?_*GXyV$KRu9n~WP>YJ4dfOK$zsPxx_X6-qJ9h2_@~J2 zPd;E)Hb4#Q#>{bN?}01r+P6&Vn{k|0pt3&XyTEi!%FD&cOqxsVIl z%>p&QWSa>I{e(`90!iO9OpntGU2qNVQdeY1dmbp*| ze5aMb7NF)7yDu-TLkp-#dtn$(#cQAvY!#V!bN@~sHpI^MpNPWYMdgXaLo)Ba{ALl+ z;vT#PKYYXf?dFsr_EIFNd>f26DjLHLRs%vWg{cjwA?j1f3K9O_~3<7HF*i71WlVTh@pp&1`EY3-WBPPeXWKo&a9t8W-r!JGnw2$qPxG! zhN7&z@|5&Gtrn&|WHM^r?(|_ix>BW6*4K$>4j{v;k&CE>N^AT6T6s@8j$TZO%3Nc> zBCKN|ZLcU}u!2YS=XJQ0XEk4HSEVluE9o#KlFkw42F*c1d<=dTy;byNwNoakz0`O&3^V)s!`OoP1w|uwT6}Ih{i<4S5=cfwLws9?+=vvAQ zHDPDv`?Z)zS(!g3A3|WRWP#dXxSHZBeTI^V1F~96#_f%QAK!<$FIC5$yh_yHz7Net zn+8rb$mvqoW{2f+x%}X`zAS#4;7KTRNHd!0%cLiHAqp@1Tk+*f>U8H^Q+6lZ^eQQT zm9$#MB++6dSqhSq+!;7lcon@N zg``i0+Z!6bf2CqgeJADpc~qN@1;<`ENmimt$WH5` zpJA3n?WoPt+^|^x$EUGi(q(T;O^CeNZMhZm?7eSSJNl#P zqO`%ScR;l+%=z&RQ$O(z?v5*QKb|c6l*y@8`+%n3^ebsmKZe=5~#%9OCR) zquFX3=M-%+)$pbY=LPLHSC=>8xKn3vElcoO>m1rQAs0{+k1(3WHpvIZYiAg(=7wzo zG1b*Yj8KH*tmf~YYiAg{erPCPT81ph#%xHwT?+O@?2)?an&4ZIbGhgWmjkMG{8VT0 zrj1gmR%Ap3nW7UfHHz3%){b7qonj_iOKb7q7@slK!C5MiPl$^yebm28`yd>5x9@qn zNpRNaPKN9j6UQ9rPRRJ6csEC-U>bZzbB)PDHN%gVDjvJ6B9e5pZ#K%vBaC;-J29-+ zqfX9Z_!OgqrM+s(92M^Kys@9pGLjzcZW(OhC0-vl4}RdWnGfnAjMK`t3$(ED9)>e8to7RO?S zJ8U896}se`jwfy{XOAsP{N$afK z`A)VT?$6DmqlfELpHSG_(~4f(Vx*-ONrv21zn7FOcTQ#=KX#A2kvI+RAL`9RpSH6~ z3c6Ej3kjt@xbL*+x2Kxbb#RbcZMvq*ca?vM)xmx6ui9%1vRyqCZfjcW^@F*qnU_XA z{lLnc|G%t^PxIQ3wY!~OmO}2;vtC%?>RDTwIkL_=_5mFQhpJiU>AlL*Ya{Gw<)I<0 zwC&2zbecF8V-;2m_k;&q**9;T<)bA&@Stybj$_1cae@bJ7S`aWCZa^DI{W$ff_x%* zp0Pa2RUPSk-Im*F)t_muvJXr?EzvE$B)=bOrA<>k{(h` zEVN!EZ>GpSRB^8WzcjO=3C+f?Ft&J-@MUVnXr{srCmx%nCGwP$dcs5PUD0KICqddgm}bq z6Ne}rN2Is^$J4kQ!?aPAZ58}5I4NlT~U4MC_@--3usmJBay)6U^-`vnQ{D?s+ybt_Wv}t4k zB^m73Un$5Z=@it}_mP)yo&F*db>f`tUHnTv;UUN$7TjZ`we~GO@?r49+n1VX!QV?( zO&K$!$u{ZPJ&l0_`+Cao>xB2iQFbI>=zXHb=p%xVh@XYHega6N2vD;N7afMGX6}`u z8obC(+n~ok05a*f4z#*C+f2{d(>{ViQl?HHPp&Sa@f45*HhURpM#i|e@RnXVzgA}V z%Et9ryYBLR$=y}N3okE~RK#&2HWh80@Z?M|V3sdSOIkFq(PZD8eZGbDG*8=ryC9zE z8N2rOxTP`LSJ@9&>5MV`ZC6P>+;}#X!zmnp+tr0Eq+x6W{Y-s?z{4PNZ*0Yd1-XQY zLD()CDJgqE(z`_4r3P;IL2^ZHT;cH~}UTOlpCygP`brw}MtKCBW6h8c|RgDD?xab72+|niSs-N>$#+C8ki* z{?1B?7xu1^v-pOAGi9yxZH^N6dBIF-_fHVpxMApuMS|E1RV~+$KS7K}bhfZD;lZ$L zxMu{}Bco{o0yzASs{iZoPnmTi*+=soebluUNcnwY-i1 z8*rswQAjgq%w;X5!yRyuL;G}KzXxDxMMyMa@9~55QLMy0$D9-4bLqC7|IBLxm#%5^ z>b*dZzn&a7O_S{J*H3g;mS2q$9#BRk&BbI{_Sk#+Xh#YSVnyH@;nk82KVYf!f(las zLcLgpLTfrRNEP@})Y*G5m}~!?rDXk+c&`2iX?Il{lUA~N#N+BeKqY>`#`?=eq#T{| zRoU%D0NFqGZ*%^It;Wxb$vV09eV&=uvTt3YNbCOyMe(IVq&!o~ zj~Dj>jP46H5>R`ALDUP<3Y9GzNHq^vrm5{m4-Fz6*ICdbyXtb?>TyU94007x)Np-b zZeTi>iFFJ1c5<+j0mRUt$fwHRC` zh}f72R>90|FTi(C5Gg(8VI~^ICl%4u^wt;@tV`%#mEo0j>LbKR2lA7__NZ91^KgO3dOVG?&`3c3Yd zN39h}J3r+Xuscbneho$K!{k8`G&;0)0o@W?m+GTTZ{;{tsDz$G?u1Mi!X1_fck=}- zVWsg<=aTVjm(I@pNZvB6`b>}r#Yn=}XE%zJSbcQX2k)p%nD!YJ^>uKq^^TZMx+}ZI zvDI|%11n$Kc@11%AF0d^87l@)FV6e>#dH$~MPa5$RZ=tO9>oz=zRCoUDN3SU`FN|N z5&iuqz^aZae0bOG`(dqR+W*&}bk?ayJLEL|n>oqsjExftT*&3zw+2tk7GBf|DQ24) zdUWztuyaW6gUU`7QKg`R(8?tp%gV_9`}v!NtzmolT}jBnXF-3g)7qis)h>_*)#{?B z&E=P%*0gxyg~5vw#TVRK5TC$uK2bWxIn90_5p^@Hn5`|0PnKe0U%iS4E% z?8fIm_zg>ru$RwQLVj40GY@g#&iaeYy@L*p?+)KHF?pnC*nhI{b>p8RJA!F7AvjK6 z1XHclL>1_Ydi>^` zeC-2{Jv{9HydJcx!CBIeJ5)&4eIQ4DL^;*)L8+%3Npc4-c1Eh~=y*LNdu2cH$ZJ`K zt&)UI;bd6((^L-j+w#Z_t?dtto@9MH^<+$lDIX%mSM8NUY zxLcxILM?wo^*qa3w-kZ{jKtLC>4qUyEcqKQUHuaWz@n*Ub_Re%=a@s3+6^U}K14C* zM@y_3tU@k0JCq3$+1gmtWcf);{=s>0nR*wYYN~`>uuzr1T3)Hm(P{|##jdwUA<8{l zegM;G-<~3V{d&i7|wQJ(uKyZHQcg^eTf$zBu1x;?L+>dM{%y4n-_aN4dcM>Oxl?OX33 zr1-M&{(Q&UwIH~T@#qlRfp$}mwY|XwwlkR?2~xQWW)8Q#UuZ}3_>c$PDgH`@SFwFp zUMGBBD!L=i==(sOid~`mvnU@0kFbj7f~V`B#c%6MWEPJ?#3)OgoIUfW6|5hAhi0Y- z;7QE=yfo223HDjp9vI7wcWDyu>_`2CLiw>FAl9p9#z@5`d%p@0X%_~Xm#@ktSeNk7 zh|q-&xX!5ea@5G%4n5Co;!XOaUCh9P_uSrtE>1!7I!xo;a6H5;OAsPAiRF=Rvg$Eu z*SR``i)q#B_>3+e zJ&wtNtHhiYs80t{1=4sVAa`YsrU(PZ?~`R*(EQ4;n?x5yiweR9pi(xvsO9BpkCgKO zmVV-gzwFdSl7~$@+n{emriVNA14XLwfc+DQ(q=7t-73f6zefjE8N46&(iEkm3-atM zO|JbOEv_zwPQ*{coR9_O&~>ch2|W5U*r$?Gb4k@iM1=S1Wg%NtCdUk7mnpuCq6gt8 zlZ>O;cG@>S6dz2b{)Kc}5r@x!?9OzswLG=i zZRBY3SxX}j^iknc^gUwy^Z8Y=xX87>_is6B$5L53w9ztgm!>L0#yaOm~ zArd&DyX5lPAXKpKi!3R8N|f{hCkcINBef(y=FCR2<&7PfNPUhbMOsP}RdUCl^|6F? zhnRRPNIaB$3>O~Tz%XJ(U`y!Wg$JzHZ+pOe*NQBu=mY4N`Ra4ayO3?%hIt7 z_6H3=;5u(rrN;8XTS(gXb7gVV^p;A+*+v@7b9vo()zrW$h1_Wd+v3Nf?Ey8|d)OOH z5iJWCE%Bca{tOMc?VF(ie^HW`1!kZXZ{|Au@bBiKSVQacEUXpOPG@f{bA$V?e$MzH!upBr%fA2=wN&)*`ITrT%~xcrOWF4`go(*GQsP1<)eIE zVi+Z3H|QU_z2RVxzTM$tT8((dF7+LO&zp|Uz0VN5qXo`VqiZ^ z9=}CY`U)CUhA;5@xsEp<`-dEr*Va-DAf6C^a~S=LUam)O5cPN{(m+*WEUci}fs(e} z?h3>H`*B)x*MX47iFW5@&uNZMzThTFCZ_4C^d}{imj6Am54}Rg{M8eX@4tV@b6cLV zN`8P&-dD>*@D;nFGasSkW`jz~JEnJp$CnwH{u1%wX2Mc_>u=a;8g{is$9P zlY!^oD7UEj02FP$aI_$}XzdBGq#z4X z>BOb!*IYl0RE>%(O9b|+J;Nr`DLPXvk9RbPSRPrznMY5EvgYSXyu-du2@|OSl9JW9 zNBeR@$O{om=F+TB&#%!+$J5@DBK>ubm%$*m;<;kqwr5!Dr@h=;0!3~`dO(M}7=!ON zJ?Jp7?q4}8igXx$^eb3DmHm@i8YxQLQNRQ?;IMt7pi z&<$ALiSLiZHol1eNYI{54J-J#i_OAr$`4<%5h&WLF8-k3L)CbcgK>g+f{9R>p|mG- zQ2rZxEQi=TQWD>jjStF?Vb!@9=m;?E4~MBx9Vov^4(`Sz7jpSZs$&%HSlp$DPHjyd zv@zHO7E!0%XdV3bG_l$6<=k5^Td+j%n8}RA@yJ7#0Lp-b0uOl-qMO;z3K^FYd}D9W zp9?%^#*qp5{OC;N^;|4lhtPL_;!|4@zpj}o(>I@xxq1;ZF3);i?}Rg|9^2U8m@E^k z=*=CNA?d^)q^9zHln0t4WK+nH^GIoIg1e(#Ukp)79vJlGe!|;m4gG&y1-`(<=e^}+Py;0a(>SM zEwdxr`eB4;^v1+3rv0x)IVVS|r;Jp0ZD!U{9=R{g9>#1w`xGKNGCAIHI4l=u8*aO5 zXE7xBK~RZ{PvvLi*To6uI1j8x44$R%MK)NFdc(#g@s|E`!6({rvabcY=*l$Ogr1Ik zlkGS03dKZzsZdBgPb=MaU7=s*jJy_eoMd>2y<1WMoi#?^z$_$%{4IVsa5L&ACZn8J zIkh~xRh(dz3Z`KXEz(_nQysldIzne~!4ead?(6u|avX;bQejW**>8KkzDk~=%W7AZ z{)kMsKSe&g zcAlOfu)s0v_8<7Q2t$<=i`SW9ksl%PWOxHEiIVJc|vX~m_0s*GvI0b@75MK z8Wt(7)n3_D=_zr?`}_zxm7YRA{lkHU&4GnkGCrKSoOT-9gI$>4n6M)Xv^>tQ^3o>y;JLClEZ_@m20t1jhlM?TlGXIH`tROGEk> z&o#C9G_dmuOq`U*8jdv3J$xj~z!2<7^{wdxd1oRjdIv|rOXMZ#kH%wusSHX>P-h2= z#F7V4cb4a^mCYALzLv#$a*!}K95OpsXkhcso=Ws?_NRs<3QHn~CQB;OQDvMGnm9@*ar}bQPf$MO&^+ ze24aB@~f0NwQ&ad!f6gICWoe_yExBTD*Koc;u^3`lFUA}E{CyA`Xxt+_rGr3OmR9@#dS>7v39fA`cYKM+2 zdQ)eAtxm%85;vqZYmgKULCb#1W5J0+)~|wXr5qLR^WI^~A>-o{^(kH2V+QhL-qSef$?9<%Oj%b#NJs4U!9qitcxG^}t4q(6aE1Pwa{|#yHPylqP0OPGM7w&mp zbLz;8D)U0JSJsi~X!&~f|Hs~YMm4$h?Y`0^fI>o5dgvV$rFTMaf>K4KNC#=sL5d)u zNLT4425E{Qf}jY}K_L{8E?t5Y0qIT7yzyDjKJOmmyzlw2zwKuX$68~3STULRyl46U zuj_ZUa?T@vA$lIwI(gy1Z zl(HyMdnUtVhz&6q#Nu*Hp+zGoS-Bu`9My?+YF1KlLmrnRb87r(20=8u^Xz#>EQ8Z@zNU97xR$v}P^3Y0DtfPYN&TzRp{DGL^T^U{5)FFG zb-#%noq5?+c3i4W%w@$8RH)jrQ>$RP#H_6CxpKre?RkY@H!fV2V>=-cg@siI=B(7g zMH(SPgm7a= zj6BD9$9hE06TZjQHw$rH(W`u?Nca_c!Wf zy;gHE&)h^GN<7zC_EF7?^!wasLNqmObG}5Cmit7)tx`C*Si$!$`_%#ZI2sf_qkhyN zIrTl_OgAOfl4`ev4LJwjiG$J^S@^LgUBt8=QbCe!8@&p9UTwo|L+ZnMZhZr%E*ss4 zOoLY zqEZ$Ve@WPbb*%kJY|;?;VbDJ8LF_&1Bie=YXc9HeDo*T7lT(OIME8-NAR6J0=0>L~uOUV&Yncl9)(<)lQse5sgG)^6r`-Uhyim>7u=u^w6 znrEiZ?Y*;P@eIJndJAuBKTr@ORHetydA-W*W!gy0+YGiUFBW#{Al|-vOxe}Uxyfy? zA=H4Z&k}p+kE`_8xhoZQ!r7U67N(T7oI#P9BYZRHk-^84&3Nu_7kZ6zqp${dI}lE9 zE26~%?8V$wDL%w?H~lvFkg;nfDN(YJ{w|$2z|ZR5-FG}8cQ2ZDhX3Ae!>k=|*u z5bWKco`ygPZhF(-kwm59spGCJWuEjDTKQd5g(9$Dg40(Pa_&d?T;>nv99RZwsc{y7B_kGJpv(mgh>x_HvMNZn2 z{+ZQA*|b{UNEu^rlUVlCpr0F=v7=;C_m^-uTUp!lixtO?Sr2vXSQ9e#o))K=@4?ZR z%C!_vo|r}QGUn7=q*_m9kzL7D2~&qTAj5p0M^(1kNH8aio#!2O>bS?_j|*VQR&R-r za&m-kZIHiNOCSF-Pr2yE!Rw4j&7u<@alK*B{C&B-5D!&!|U)FXL7b$l!JuK+n2^zP&j4$ z@FO=E@u?A+#8#C9oUXR6dW+QNT_s589q%ccl)9A87!l?&aGQ zXe?B`ju_PqFV>%Q@g+qrBtL4U^%X@<54_O)fQr0i!%eEY8IKgm2!wxUFuRKoZlKnT z*NE+l?^$^;TYq+momcXM8hm|}EOI)=w6}588pZ12d!;fdOj2Kqdmu2GI_5UZihvTk z>R|Wt`6j7WU(VXEYfmXjAIENq_l~}tLYl45^m(RYxC8Cs$;;?@`{4^GYXG}3SwN~@ z`!vl5_=#Qz)xe!*Fb)^K{fwmnwhQH!T~YgIyyf}thhda0(Bv~EzSLzB9d8=z zF?TqJV>oN%C_&XPK$d{MgyjSxUZq#2!^Rojup#s$aOu?hG8#0Y*izf$q@J~0mf{Rk zroDo9WS^9v#>c4frd+V5ReIt$JEqKa$w^U%98S4*m*8Ae3fktEx+yk2cnU?Gb(7~P zyG0CvQ~<@uoTpJ+8tsXoUe@r7h=TmB^%BNCyC_^T(NwFHnj@DV_1imv@VMuBWV_T? zyijhHS)fSMdt8RhPd;=)mZ7F4-r?Aa2^bdMDTy8pYf6j&N0+5D^`aADh z(I}0;KfRbU{i{N0suU%P6$%I5D_E+x`T{ACu5^v5e;d7t;=3Vgut`g7#gQd-;c6l^ zIo|m&v(0;`O@_-MZ#`PWhyO9c%7LQ)Sm;V6dI2-ipmOjav}#}8E8M|snKt{&l3C;N z?^8+G!EJLt$agcJFKAfEo=?IxC7RwdVP$&<8ji0~_0^~g$y9@OU1d2>53HEB)5Krt z%6*u{R>zPVqgBNx?vXL=e+(tIIDA)lG*ul;gcugzSN}LhU%TVpna%0NT6x?`qd&;S zK9HSu6*YNfDn)c0+s>|f4za`hC`Ka|ri~oP*^=NP{b)@Sot`4_s6|?8Vwg7459RMw zFig+cJ{-G=non&wi^y{fHjImBQ?N`Pde|AT>AkcJ#PeW|oI`!d^7U`88hHd>OX{V$ z6Zu#dTt6>I&wdM`_9~&KTiz(LwJJxIVO**gj1C1ql>TTbTk?(x`0rF)Qgb+jq&LdR z-rc4f_tTh~(hG=}GZ|qhv23aX4zYw+rv*AsNsg!OP^T`|Dc6Dr#`RZqg6CK&LDZ_j ztZvB!D1fFB;H6b?vwB*Ami{2A&BktLGUqmd52|jHK=UoL9cV~@lTwcMxeX%>d$_Kb<1FBS$XM$ zgP*)Uoycg%f@bC+)vTk5x0+1B7d(rZ_llf&5o9+knGFYTR1sM($6#wP;oU~Mag(4YE`zpy-!TuE>Nw@vxwU*p}kJsGEf zT7WL#fr~b0gI!ylWR2%}4%!H0T`Yn%Msa~%&x=v4Bcpjj^MNbz#Q}eId+PlxpO}MO zK3n1uwFxESRyFTwd&65AM#@XHxPs~H?e$tur2N1T{H&jlJ(SdWl0Awp!zNpoTTRSS zMS7rugX3z|v@ZB&d7eMItJ8Fz<7h~5lwP%hzEC%5D2`~wd@ew5YEQ1wwkb@W+PXW4 z1YeMJqkdHO88_Q)ZxLsg=TeC-8g#9}H^$wW4u1zncMtFyn#d9>2S&#`Y;>E9ddTPo z8GQsLjZ*ygopHzu;J0j2@|_5h1Voo>rP4u0-0=};8nANjg)IY)FGneyAe;Funiv$Z zGa<3|AN0aQNWgFG`q4o~j&L7{a0?+^Q}vj0*-z(~*`URO=q)85NRRVJ;+S_JK|?_v zr<(zic<(I(7U2*Fb$<}*%O(i_YHgdwZ2evkv!Yd?N9BB-%AAkxq#f z^oo!Qn}9d`vW_NDQvk==DqJ_8605?TMb}Of#|rZnZyRdt87pUKnxLL~Gi_lZtMRG{ z!?8&n!ATJ!B+l_E4^U^mwgvcigoiRO#H^p)g>xXxtAwf>cy(dH?zDBzg1E1t3mf;o zzyC?gD-^k4P}(h(8zWnlPPMTMIT!LAWY^LK;U6=^Vsv;DW%|F+qP!Li3@4M+7J$LQ z5cQe!?PhlFRi~5%vgG}3-&@IZER%0O^@yb%N{l%^e>5u_r*GesMJrzR@=fdm`OR}P zcxL7=;RW@g9<>WVd{DBAbr*UghO2uNbr#dbUr&0SwD;c9Tt@GqDr*}z9eQWqOQ4XL!I&|wfd{}J@pYE3A9Iw4 zzJb}<`!orF=1b%n0J$7V&(OUS^ouv|YJ?1FKeCqkqdM|^VzGQ=80amzgvV0_lQ+v^ z&epJ-XXb&5@{Dt`Dt&((rRMmI;s;qRJ_G$~gH2DA;dV>^3^Lc*Gy|KJDg|d zL;eP#eC8htKnqwpGpUX3L3D475ciwZLvR^vmW>c-id=8c`!>L{jf@23j z58o#B+@ru?XBY_SC=B|WDN}&l-6T%;Etx|lfdR?o$2qLb{xG)vixfBG&tp_ak;*5= zpn~{Q+4yF*y1(t^_`?_;yGk;78f1^8m1o>{lB3+VOPHIZNDm+tTHFEDxDGz3izuTK<1=?N4-t{GLf3ys7h96sNF=}7W3}!_;W(ScdNbPCBX7`O z2aTY_+QgPCqe$z$pf2ubivbCq(N?jFF^$tK7|BgS8>hE}2dw=)C|uPo!atXGudq(D zM7)p5c3|!J1vnLYMLL&lgnnvFQxH;#SDk6PV9kvDeMP>OlqsWklh0_uLM%8#FkRjM zk7gG=!L#f*^Ut%ISJ@QyI|Fu|xjttFxt&guTZtNOo(R|vmMi5StB1it;g)4oukTTg z8UDUIdb&`o-Eu-YKwhfs5Bxnw#D5PMmInG*0NQ_uu!0l7s}VmDB=B(f2_Je3{S@^M zIhM#GV|>DFK%>N5kQ#yZhpYt_Rp?c;T)#4wc{S66us$hm}CpL_ooY9jt2t!ivB!_wZ{H`mxs}tZ(B@}SC}s6ikn7Gw`47vv@`P;PG5<;jxDxwy>b>2g!bkBL6-cQCzBqL zc=XlYM4M55eD9rE5KqKa{wY_fXT(GcRC}7A3mvU1FN1Z;s>m@S#{`+ez8uA+^=AR8`%fk&(1$COHuo-3JRXc`e7v^bsOh4Dx;kN}^r(`^M0~N*TPLN6J!2pS=J=|^+hTGQ2!>|2nsM)@uZZ@#SA8hRetOR>tw;@oHLJu4M1sf z&SBuTxMr>8w##i#kyydaDyhY1QC9Q|-7^isGw!x`EZ35Rx0N2OoehUiBHaS*TimjI z%Y0w|kG+}Sv4P66D6En{2L4#Pl`oWYk9{R+=u9}x44L%?Kr()v<>%m!lHGvmF04zc zD3v3nFM9H4G7=;|aa#ib%gjlh@v#yH&lL3C)~}9A{@hDx6K`oFLpkyhnH5tgbDEIP z12jQU>PE7p9<^D#XvOxKxbcpY*yr|%d%GWceCf1EKAV;ith%^4^>_y;XysrKX zy}&S{5{vM4@@OE$@JCJbj;Q|%YJXN2&1cV1Qb+kx^M)soi2h77ge?gfvlrVIX___L zv?U=`fM%bwFM`C0O+z6nN$0S?S@}$IhIl}h+tGNu#2&*Pt{+T3@86URSq76T$lPDN z^!2rKTL8zoxS3e)j5Nkoduh00px#Lb&!ny)T>PHlSEZ-S(>Rf zE9>CiM^B+jOYeAr4HQz-c)PQ@M^|RU+`&KV^Wkp27i^oNRd3Q4WB3b9U8B@_j?v3? z{ZB&UKGoTe#7eFu1e8lMRHyGJIFNcN&4TsIW)+X)sZZdW^sLUiw{7 z(xhi@e`^?85PCZr2ecAS_YGfz%u@Kj_YF8TqOQwb`!iLfRwN^eH}WE?^i|E6mbxX! z2PSw?Y|c z-ab1Z8QD=B=`FnE$x(Y$CmhbrA+_k+7V3AU5UWDCPuh{5tzLf;!0Tc}`S>yUFQK#S zHs10C$?ZZr*EN)=j~joAt|EV{MrrxpU-w?&ie+sOTc|q=;_7vYyF^nMOs^xO9`ghJa77@HgZa$M{)rr?J&HEP$*L2}{83_#ZV_ro znvDr~15zND(rptmy0GAxE6W7iS&NxZ)5s*jmozC88#S9PiDw2H8W!OZ5Lt9SFpvR1~TLFbFOwFihJcpCdbVi_Bv8?C{UCuYzO zYsc0guVnBAp+dH)UAE~)QcGl&EcY&YvTkJ3 zUV_Dv_+-+wBjRkg;+9>g@KK4? zgs*1!;^?qF$l0lR4JxzjcNcGoZ#t#;n(;O13&(5<5vEW+%AulN5b^)4%n`@!*}7kR zyE|b1aYy0``;|hod07W4C?WR1a7=YQI#r14lI333M!PbtObmQx=C+&lJ8FJ6%!jr;fB!O!3`8eOd60_t*=RS~p|Jg?3#Hv7?gqb1c|@~o07 zO9u=iv=G9;3fdcf0XK^<_%WZzE0Fu}rskSbDc1n!T=<3o(*B zrm3o1E%Vu=RP^Q3G8E?VM0+$nQoVY#dtI~VOS+~R73PxM+UaXj#2RxYsh-Uke9U3< zJbJQ~S$~w(D#9RMxp&rNWILkQtkb^eyzO^Yr!@MGb-wpEc$as~6zvFNXz%oBO)S5u z>5U4ldfVSFKed)*Hp}jF492)og`91c(@HG5)m^pxCF9@v;J0++@IMEPI&@*i?-vRF zc8k}FdA)8!UL@&EGp!xiO)#hX6YGC1D4On>hFY;EqI9mrcT$!0$ zLS9Br^4!xc3D_L^C901`Gx1XwvK-5fG*=KvNAN$s6dk6ub?t-lNKW%?D{!Qht-eV5 z6XWPOrXJ7hm8B8FQLiauM;WH-YD*AC67#mr{+HIcz4q=8JDNDAy-{XZ+;k5I`~&SL zrbeL9TFWDPut8<80NdJQM#_~-CMx1UUG{s)v+wlS+!EpTT~t>UO-zp7-bL05qR1#h z%=~DKwHK~x4;8Kwe+{#s$=yCnU*fD$f|^(G4wmy|)vGjZ4+%&E4+bkL;%ehSVRJRT zO0pyS;o3+>d$ZP1VX~w?Bex;*HyJ#;Ad^NT$rQ%n;$WG~FCVi}yCu(=DIvGFmA$*b zb0ev7yHP#=^IB4K^d2w~AUAF$3zj_!J4Jq6dtsE{2;Lo%{3jxT|GN8%EyZZqMlyLh zsBh8)d3ZWyz4RKSIpUa2Z@KdPr;M_%c>fN%63a?f2Y;n|wdPfhxc4)`;NNdzNNDNh zbu!saj>$e+{+_E^S9LCt)w2AfJHWsop8S5fPlf8++#oHzzW-3BH=n78wRNN_8~t*( z6tTT$6s?)y%Zdm~_Pd@5QcqMb_)=A>MBJ7X8m#!rCxEL8LaQp4&skic4=}x8vq2N; zZA?KCDKzF`e>VA8DErNLL`zj=&Mu+%(}>Evyh_Eck3tC?%x{>&a#*mpZ2Gsrv;7)p zf-SNwh+`2D^0L0O>ht&@qt(x|+-GJ=a<%2}bczsrRdF&JS5|z*0`=6vnR~>O{~jYxxCH(T+yIvV!{wvt zTbDQ!B$XjXLfm&Odo$Haw~~jdqJzmf(kjl(RMz;1Ls`I2I1nSZYHYi#qJ2KLS2gY9#nE z?%`D(*a12k`)kIW11~k5Q)M+0)!a-NM>(R!w1T@dTuD@Fppd#Jf~yueVk-JxJ3KP7 z3*^Q+3S6@Hg1l~DhFcLNybTblDdYzvoUfK2g8*BmtRd1Oahmy!U#v^k=|r=@p?{n| zWy>J{vSolAj(U4O;_}R(85lhdIZc)bvN_Vh7aXMB(Cc?fg@4`O zhb$yLtqjAg7J>F~Qojw)EDTe@>)64SI1GH&$FP2P&y$H0> z2E37_H_$H~?(xtu^dEan12*4aBWDy1e*id~VrCGtQWOt2sdY-Tix+Xn*gG~RtWgaX z5K#=c6EZZjJBHMbiSvZw1W)Yko<9zm-{)P;T6xg@nQ3OQMbaidi9_%ogFVgvFK7~Q z^mPU>#FG`_O4V`Eb7YlRJ~o{AW{JO4FtPI1YnLo^7`JkcH^1auJ~$wm>o{Ca+7#f+ zZfugGN8_{A;dHn5FFKrKH;3vv2U8+iA7U&WaI_`E`k2isq4HxF zm$Jtp(_aV%R%(+BMTkd2nx)P=-AEW+7ZBu9`Tv*;95@P60Z^lkRVZ+%MmF@+$x)Dp_-m@E>JK-6~m9~7aZx@ok1Q@f$y)Ep==Sp1Q z`(kQMPx^HxhQM6`C_h~r)&-eA)(Tau3?fHa zg^z1?zJsDJqk9AaHjOA8GAkC<*!XFU*?cK`yQ;QE(ey~@01?O%;l0Qz@FL{&+HrZG z!&pKITsx?XV1y$7Sk&t&+9Piip}-rPVE*E2|PI#JxDGo>WKg~1?5o+>_6EYuk&l&;4;w$NtQxKk(C`vC&yr+h- zu91Y8*r5PTamr^2V35JbFLr+{`wA`FAKi#s#yiQOtnwg$CQvi; znG2D!)yhcaL46Da=DYQT?zQVVpzUHhjPn9T7FvC}FM3deufbFn;bIH%AlokKiXe!o z|K)ZD9*O&WgXaNehR@FkX9^j_P5+li^q_*D%QN@>Rctm=UzW5dg*Uf2z=L09V`hr0 z*3M}Plql|#7m(1KDjphYft~D}m*W)&H7I~4<3bMi>j6fgf5Obi`N$aK=QNy10|3WMeMrirS7KewY@ zSwx7EFgV!r0&Dc2|GGtM$bqUjE>(Ot+l3K5C`#!`1J z(u$Xjl!}V+s>Yw4_!eOIxCtmN-#}UU{y{O&Z1Ze}FU6W@o;%<4h--&_+q|i+IG1Al z-l<%})e`N)4{iL0=>qRygu;I{eaoO{o^a0`U=eP$Dv9vX6M{Mo?WL zubv&GA?$GOC+~kT>wh&^TLt=pb-%d+et@o%1dGACawg_oz}d&-hv?CB*jvGWDgYv}yUE=;Nr9)W>>iBmV#KMw^AMF4ckcX zjOL8eH{hntFRlm5RLyK6i~@KJj$+0vFILCvMjtHlQyJV9Hl}&;BCn(aG4`ey&0p>b zyz+nNo-{y>B*!-3UT~Edex{ z3CQO(2AS%{kQY%JIK~D6!8V^N<~xYs_y&zKIzIw{bnKL2y@4|JpT8qH;DoQiIT1B= z*DZBA`x?fO4Ymid0Gb;IAPK`0N{ye_;m}mRb-0&g>0DA6@yR^C^K3Z8ZYdH}-qX0{ z8t|m%`(nua7YBz9{-W%Zzc`refQ1Zau<<*CkSGGP!mW$vo9pr|QZg<#OUdwM#cTpr zQNE>yoop48JwUe^1CPqngN+WhZy=B&ABy~|1|+Lu$inmy>~ZGVjX*(u|JTN4+xEr8 zb*NXT{$+QuUj@RJnHS?P8MFrF5 zW$_s_0NIZXh7g*8euN)2#O6C<{go4sSVK(kqsB$SgEmJe#%=BAvUB70Sh+)%MWwi?02LjL$8Bs#R&9fi4w}RwxgisCni2E zjwC!CJTtt|3MUCU+qXF38dIH{^KY&r6j#zOSx3-|xoXkZzj2zH&~_&Jjf1>tr@tiZ z%m*Lz3vN|4w5lWn#$?5n8vK%u@1V3apL*wB-H-b!V9)$G2By(BFndd&u$OBf8s~Tu z{Fm7(sHB@`2-xH(5MV36mC>se>%Ak1(plkXZhc~ zK+!%Br4S}8Y8g3#gDm#IyzmMN&2+N_G}~+QU}^Y;0pO_lunJbTFe65qh_q)*DB;@l6j zJ6uz-uY@^I->?EZY;0)Mv_&x6qYgRV!omh%7H`COZt_9QiRBL0b-^UPLp~WV*Kp>OBnqjw5X_BMUSMz zAizj+vR5TLoCZ{)va3TN6$aGMPjLM~l$q!rd0=Lr!OdgimEi(K;+DS9$-qqd&z(P| zFlMClOI0EloJ&#R~y2IP-2nWdx3{NxR357H5ZV z0k?5Y1&2<~DL^1O)dz%9F^TJ_<7hOYivDt&1ZAMyR-cN`-0|V=@NmTCwrpd|O?jEQuH3{=K=5(0Ts-vfz? z(Yt%!2f_PPMiu|#VOFvD{Rc)X-d!@@Z}FkMHkW% z5qODuU*h;6t(=(tTJ@%+$+?7Y=KR@ThTVarsl(e+#Yh`iMrW%UN|^<2G^#)_^t7&` z#|Iq${r(J)&#?n9*1uCeF+tthSsA_Y3hYGE+XSJT(QhRTn-!t_*c;iQR)0V=jv7b} zbIbU((pgp1TqoPFH~iE?gyo*u_bAC;JrUfi5-olTymH8pNtC+Xs>3NP{mp^InCO4+ z*8{|DqcriTHQ&y9ki?nE2<%OIAy&jzk<|Rw?4Oil%&yM3ducL!gyEZa@;yXcPty9| zzwr>6cL=!{aN~)56tvkFM>LZB_iKK^xQW3SZNqqTS@VbM((M26%&)2{=58y)8UCIb zJi^@^eaLYI0a)gp(_Qk%bmA6A1lT;d^x*#+SsC_v!d6K5Us!Y)p*$kV;iLZ6mvP_I z-~Bt#U#<6l*oOY|mHsnIe<|JnnM?n9*@kq2}|P_Rkm)PIGz~yG}(AFhn70!EV(e znB|UfyyNQX5w6+kGiD_M@&ZQxYhJ*>IUZK>(8KYmK`7GZSHt1GCSy44Z1~k+J?A6f zEP6R)?jj8C_Uhc0*`He)u*b>EafxB;rF-&etp7gx^}xZ=Z@qQvHGNY1Sq4+u z0=<1o;fQCYcF$jLfOwG8%K*o*1fI;KQVS$rqbe{v=H>eFxlm~e6C?GRd%x17ET13t{P*F zZ*GfD71(V$ZXC|J9K}lB3I3%)HbSr3|@>R;a zmbJ3epVmH+4r(%kkS1Rb2+4gGG8~r1An98*DD0G-{Ml_>0#LQ#sng%_y~L_^a!sZ$a=ZO3lIG_3~HP@Blexok3;Vc}eJd z{#ZQ%R6(8IIjGE%2|5JkHZj~#G7A>U&bVXmrvSz z2ivO=n;Mt}(6JBN7$(4=>`LbxpP_zX`Gdvh&Y*zOcd~G73ogH3Pk25~0&r4Bj8XXl z!)AG0G88s&8c$FV&00z+yRPWwr@d-FP)9FtdF|8oWS&6lSJ zQqUly#{RmtYDAbHaXerAUJz8y@l*Z`A}5PadV*{WTK84y%>ZP&6|n>WIX5}g6K+C8 zv_Vh=#4udSP=N>?$0G3_Yww{%9Ez2GYV~ZWyY&s+SW5x$UIOBoF1DHC*rWklKh)uh z+q!%s$d*~eE4n!i_wxaVbG&z#`sKU7Bj zG`A}R&2k#rU!ym>js|DHoqGYI;Y*=x95Nc7VxaO~rmDc_g<76;qi{sQy}5GVKtZl} z85K4|^vI|Mf@R`^S>=OkApqyQxsJ(S#Z zzB+j`QT8`ldM1))5J02KqIk>ic(&2qTDj3Lf~I`&6czAQBIdq8=Cd+e_gt#zKm!T` z>~hRjz}T~A!w83wnfqf-MNs^aj{6QM3mQYIGlwfxiMe09zAAt~b{1i0)DB1^ikRP z@7(kIQFUZlcl>8a+!SO`0k4@A9@OVfRVcjYg!N~UpaFwlzt;)C5Z^#0n}%n29H4L( z;gu(E2at+?kPFa12GM<`%N7AYo>Z?lf`UK^$j{MzRoTuMm;j;+vc5q9AbLPDaoo@& zvkth-Wl)gBwfl>G?;Xf4DuC>Ilk=dzF&@5JPXkc`jZG{Aer)-9t`y{exqAob%kae08eBQ4D6z)4Qy2^svHJRgAKl_3ad?OzM3=WR#eLwZH4n`!x=?li?Z_{1V}x9V>%;x=Ie zvb?7E?>5XHU+B+i)9{6_C+IM;O}YSz)(MoM1M10`hG@SfD2X9%3oOVl1A$=A2P?D5 z^RpcS?#Z$J-n9G}=!D3Q(r#S?2+iUWNvehJyuoN)Aw~;OkP9Rjs#mFkefn_CF42Yl zA1#24mD$b9C0rR_nW{Tx&nSrjn%kg~c>N(~V88mG>r}n8xneN;?$x~D-!V`yQVYjR zQ%;zqT7Gfw0j4LsXMrn1Reba=4Zsac%B>ya6;2Ew<-r&r5&Gm?A>tef01Z1h>&qV& zfk2yJk=pkI!&REC`|)z0t!Ay&24&e;=F7PTa?nfzoB*dE;G~Wo1#T}ogEf>H0;$Qx z!zL*4{eCL_J=1T0z-N~PHAkO|mQFE`?qo~#{sY#WzLN*QkaRyJ_}uz5#1Z`lOe#+= zlRqeXI9MOKZos1o_SFfbRlC_J;79aBateqO8OZwj@jSa>YTY|-&)m8v_a#y4)KY+@ z+~Gn%;rU2IYr)NsoBaxs?>1O|-s>)Goub;{boijH#R8BSAufEdDKsq=#@=>hSu?v_ zSnMjP722%)3B3txf^Bt^#M@yS5X*?Dx!BEs9?|+Zj*;uYZ$iRy+e|;*<{j0}9S|=P z_~%OUCTtSD`9=6$_Ag##=}pF{9QE!Huw}fXZ&UycPPrmCkhT7vW$ErSc!+8`FNQUl zbtC5hirD_Ru4yeHu+~QGus-tuN`hd~T8Y0)S}K(l^NE38MfcYUp9&OZB-ioA3V<^X zR1_(=rP(B05@{8-;-bh07TCMN@nK^@(hlK-OqC1BWqIdkA`|GHHUqA!ZOBxx}8XC#i8pturk5y5L=Xi5f z;B4iEPs-sj6 zg%)IdSrD$umz^9;2NhA62ftL;U%>s9J;>K;XbEqk{nfMaESWWYBk0;h$wnYyah%B^ zv3KS4$_q4uL0?4#Pi=tN^sL%hr1G&=prBhxVz;BJ84&fYrFLv7HzlVimu1jc<5Yzg zQxmF&3^BM-#*6V@j;>1AvYts*od?lMKd(Mk6~vIx_Skl<2p{?tBk-#FI_+^nuXnax zL9BN6~FT>Ju0 zj!BbU{c>)QUVy_3eV-J@4dZ#?F+@tp*vyEL>t7dYNHGqlwMN}lyOF?+=uIz^x<%Z? zk{tst#1&sa#ftqNuF?oAb|**Z+X>pu8;u5Y9cv~i-puCJh+v8L$dMxLA46}}Gdz-Q z93;Pi{(=p)9_9nVkGy)>n%U|{3sn3r8mWq{lHM2Veg;TzzXE&Q3g&qy84og+)l-I1 zs#j?OJ&#`LZZX(k)4!x}1wf4hCR;SAjMt9KEpY)$mnf>R%(e#2^(tA+d)1qs&v!=X zd_Xfpe~lr;MxDNwbOlw6zu2;G_+nk;4hkW(&zB@a9Deb1pL`4LlXp4r0j$a9J&R;m zdd^D~#mSrYCZfF;*~}FU>Q=oUq^$Lw6u7qr^wS(y_WwPS=4CZSe!@93BqyTOUxB`} zSj;9MtMrZgsRRElD}-qieg^Z!JV*g{W1rszE!uM9jxnX`sMw(v4g$i2uKg}##QZyE z0Gmsw7rId*k!~J%iKeZUG@Dk5{VMVAV986A=?|T?j(^ ze~Agcdzp^le6l0xiu8XdfKMY95gRc$uEtA0X)zpn*_{CcLhQJz+Rq&2F_`$Fho&ej zFNV%rYSoHq_}QzpWD~p1ss#z{$_b4p`)1!lgY$@P#(H-yWZ1+jdPzY zmUzA?zmn_?62{AJLA{Y~I*MMCBs` z6R+WYQ(4_i1+z5z(~X(|*Gt!E zesTvkxa#n!hyD(f9E>w|9_lMnUXoHnt z8+p5DG>vRm9k083=613!xczD&MYW~w?t$a)(1%Qn4Se_w{7VN-at>-Jr7ELs_|21g z|2yInSOsfNu$y(s;gG?!^hX-1j$j#BPQo)x`XHY1W9_Z=P~A!wAhGDAC&C|IOh#^v zOj-6+PjI8?3!r`RQ|&6<`zhf2hzPau`_eGr|1Ue5U3sxp`PI zDmX+&ILdi_&>;kY|77n?y;d)j=_P+Qkhr8{q_FkKsFgZ`KI!SW&=B=c_lQFOU5Ebk z-4Ne&gTBC#I@L?|ADg|OvEZ-+-S0gfQ0x>4w($#4^=F#wn_AwMuq-1?i4$ zxVV7UX$|c2aT5~maOoQ~{_>J0u}V@e9>=H&wjzE!_MVNG@Wiqw(GtuU8Me*`f-qbd z89{`*#_iT};{lZNMMp{QAC^3dIw%RMOnb zuHmP7m4r%@aQk6>XY4^&NSmsnzmdgM%#R4gZwM%UaJ%jXns=pimI{%8eeB2|Sg|ys zc~TYyiWQq1e%}_bT=iasBwUpRPf1ovZFfaVVn=&aktA1~uJ8vJ(KP8P<>Rxm)|>_! zkzN4(cH{BNd2o>}kWWo=cQ(|I<9KF|PaG@?@TjUXjjklYfn+}t_0Y4mlq$lS($LSTe`qTA??XsV?TUw8w(_S_$ z5$2-C^G`KF-hD0;(!VQ2%Z0segWO(AklQ;zqm&;D^H75kk_D`3UhBGuMAI6A>{+X` zguh?*CZ0FSOdVJka1myIeE!jSZ1=p5k|6@ww<+9H7ZGei!=+9u=M*dTENaajCyt8e z{dU=*W_<-Yoir%9GVKhGPJhZ5%yFJGeLj?q_`@99j^JmBOcHv+m95m$h2y|)`}~H8 zABcc0ik@TiebCQaevNeHw~mU0neV6_)0nacTWF>#?u(z}gUztFv{VFH8%(dG4oqSs z-5=&oFmVxzKa3&uHuSur0XJlPg36ZAT~AUUvEyzqmc+M3Jn^F($(9XxgX7fJbGrd9 z#>An&UxWKnnR67Kary(6?WEWDz|F^bOzrbM(vU1rKJ@K=v>PzO@Q&^OJvvanG#HP3 zRxln6mbHqX9+`+wq52y}MlJ#Ef5;p1n~{rf^2ej&RS2VfjY!u zmCnd3)j?@|_I1f#dq@s5)t|kg+{Z*(#MwZ@<=1_=qZleu-1(Bh2ZB?-IefUT;9tQx zNz1XL4-!&BcIZf-`~8|QOJ-%pJA zP!{HtCB9f@Uey-^R`FU_(hB$@4PT^6s&YKp=uA61lZ3phS6CeRLZz_tx`qaVmoZH_ zS^4;N(Ee(0P{`Eo_oy!*ioPhXWUA%+hJ*1Sl*Qm^H(QHNuGB=!ESa2nF4lnz)TFlN486QRBam_Drcp zRy?fD{^Q;NbH=7d{KK$>)@#Am3FlGXOp(E^D-;NpS0RTxTJaqL8vZS6D~n8a4!yFQ zIzRiLchGyXVq_bPp)|dlCoV%T4KNSNC8;V|LJIEUfM#+qF}8|ZXCXLS1KlEptCf}b zPVCx7*S3GZ!-&Vh!R2xxfv@MRto$wD@c*9I>eqcS>#J22W4#=ebIB}Ef{=gkfjG#V z90d&KoAz>(zn(t`>5Gls>^v7H+35A-Gj&_Q(WR*iPU}kjQnjqT<>SxV(>t59FPNCE zU%_h-aw!sWCD{?y4?Bz=9xVJ)wrHy^02b*tce|*6j#NG$J41i%2dH9NRpXhi;E|or zA00w^kc6g6s3w99J^3T>h4tbFdO^k-@yVEagX*ABKXb+k!@%@Nf2}b|fJ7%$S zyRJw7!{vH{??{EUKozUmwm%~5MExi8Q7-FXwz?E!+R#r>A*-w*w!5Ftx#;LAwOkPs za-jdo*uo%tSHV~EA;;gxO=u%M*(c#T;_>DF^~PVI7M27q`tq-#!K_{c)aaC5ypsAN z&BZN$c0RrAj-tR3<{fYoHKC$by7m5kiIo_qYq{}NZ~5~R+L;fRH&)(B19b-ejKz_pv)n(gA=-ZAU;az_G787d_0g;Kj*gO~b( zym+MQN%5^jtmI%p?{_#o6OLo!7s$so$=KX?ReB`9Q`FL4BTalzo9)xecDR)n_No>{ z4ur0FoK=O5nCm!s5Q|&fZV0YBaJ`r1R+9`~>`sM~eSM$J4qXY83mv?Gme|q5>OSuI zTvSgox*|b;-o7WZn(jp~Q?pIcK2Ta2$SLMq%Hi55&P?=GQpmOiyyJMh+#?){ZDVXV zGMDWNNIF9X{ZV`XW`@|6`*06rxkZH%>8;@dE{9>+6w08#Gqjb;Az9_qkd4+un)NPb z;scO#r3vu5oZre!obf-I|CP-rt{n>%R8!;cM7kG49JVN8;!|z z?hS*0#+O&&X~1oqj*6+wTIo9o`)!)4QC0zqcqjzA`H8RU3*SDU6cv^izJW zlN}D~hj|v}T~=o&pg#SRMeP6jouC|J&i%i6uBKBxl*eLz;& zH_zbjud=)9TAwFA_c@5c>vRr-X?&dnn#Sy>(^zCA|KTf_kd!JHR?TR+n%UUdVCmWD zs!pVp%jJGDuKb5#r!RwaaI^e2jg`euhi=5be$yu&@F{Ks`fDR1txqV#vBNE)-SOE~ z({`KQZ|O{E@jZu`oX$MpW1@15pNZU_2R@UeSUSPa3q4t&X1pH<)ltW4+?Zv1{Cpa(;(d8oSk+-ck_K|uCJi+vqwNe4ef+RMMCCpHK6cUvkI&5o8|uxZT}rl_5c5mJC-XoMz zWF&i3l$ElwXZ8vaGAfcyls!*oWJfqwp)#`9@AlyNeE)u*-|zi?{XXB%<@^1|pT{}( zal7Ac*W2}ay%~zyUYW0u^PfcseIfHe&3hn8vE)X_rjp@;rTGuRItzYYEq( z43p5j1zc-GK#*zIR=jZ@Ir-CgXEk~71`DRL)xC-T+4*CnaaX-J+=zlt;vX*d50eFh zwCTkc%DtwMNCZfW*qprJh(rL>mzprL&lR}%@yI|Q7*hTOiPi|pTl{cL3>kaUcaS+| z-$)^FulMX)iP!#Wny)9mLk$R5dh_pyuN{cYLBCSB)mJh6%;jnLkx|Id)|LonUYK(8 zf*d%BFAson+K#l#iYJhO`CChRU3%&{9`Hy8)Bt~Xuw_`Tk&kckuolDFzkeeeIE z!*#gW(v?9bdPVr-W<en_ov9=rDXS;3%NylDL)T4H}TJ#kd8!}5h`oPWAwN- zLdN0=kN++{oO)~k*+!+)Ty6|E9E=?5_S)SQHBped#1-CtcZ+Xr18DQp@B?+_gq!}t z^mLt;a7HeKsZ9MAeL|j~7MeQK$a{s8XshyW=1eeTNBu#ora2GjuK?LK$3gQuk$I-9 zy;2%94_BYx8wClP>IJA~qwKDV|S0 zLCZ5uJLhmx_4@>&9P~eRh$IEp-{}_Q3yf;*6UvDS*HSdOlKeuoAFk4b9?AHo?=d8& zo^NhIz{e)n-JRO~H4M=HpQt`kWJ5;tUB++?1s1V=&y-D37M9$N;T@45Y7Gs_NLsDD zJcsU*2IP5Oqi@zt;?qN8?cWmJ7x7x+@9Z&YfAy@8M-&~ESYL)>BBLD_|h#%Z>FIkrF(h0N3&%H{LiQ@GKhb@PJVcU^U?Ok zp8}&(>0#sqHgV&h6GS6d*|Zy5uE0#|VZ2XK)e#;0$nX?L7{S$!SS=f!Gda1{1SblS zfT)tU29}x}b8iV_;J^+MA19gMPV*~TZoprg(^@%~Xnv^x_K2QzO9Z_jnI;lRPvbn_ zr)Bx{(wpaew{snZ6IY>0^IDYv9h!#o7>ci(x|;5SpKsjyQ~W4HqGt1Pfg~xiHPU*H zYvO3NaDM+o9-xAgxc|}k>01B&MlFln%*R{s)D-wz+mh_S;i$#BJ@0rDAd_=wQV|q$I##jYRW#VH{7+p=24Q7Q+|O0VnZ%;*>~CW zkhY>~T@Xcc$SU@C>+5pv14ppSdz;U;V$Sl`Ix^f8rnt+MXw~0om2MN|H&JvgO#CFblG(gZr;jkJyw7|%tb#SdC}Tt zY_-8z$cyw-1cHPWOrY?&Ut;7D;GIA@bc_yj^U+bfd$b++bOG{{-qz=m|6WxxSm-D9 zWIs#l11cQr1OK|NcMG!5U2qxRWqJU0q3deRZ14+G$O2xxY5vX3=1ncDA+?p2`zaEG zmkNF5GK_cE;fYUEA1}0fN^n|td#Kp@pKY}Ffna*k1^rYQiW^9ErMhpVbo*-DNz8n| zrsnXS@Xyyk1>~bc)O}w@*Fl0LnR@3#q|Y=LT%0t|%>I93GU_>ejH$|Ug&a~OT^!OR z5j2kEv^JKUD<4C$%c^e*FMTp<4+_Ki>P=z%w*lZd+M;jI7WI_ z36`))vpAFKDCx04b7TLT&=fm+uV^QX`tbW;GEJxUN*Q#&e~O~{Cx!Q+CS5Y>KGq{! zhpZV9v+bRQ*pxe~SH%{Kklpx7C7lvrZrA=3MSb;|_xogdy`4KBFpCl{DYs#L9&Y&! z{9Ew!!s2VZ;NCfocl6qzD5g^gG0AC}NCIZ}eUM2@5bt)V%4+G*Qzg=)db+1@*>fa} z_s<>dKR+o-CImjk+WQCF;Z5;7S)RY9(v|OemU(>$$uNHgvv#ouA!P~I|IKB|o%PO_ z;<|_@mOi{nwxbnVZX3V(lCRi(U&*Egk@S4(By?GNhErSf2axv^Cs@_>BsQ`x9AcOv&&Y+-b-I|N~NR47B-Dh~{&p}EV0}gK&*kijurvW7gq-IBxd2;>7a}{CE+Lo5C?h3`F!2H->b@#3m z(Hl88ICDVMpQX|g^6u*Km9ziuFkU8HyerSd1^p@y!y92x?0?+f)}lY)Xn+(6Dgh^G z4?mv~x7(2QG3p~?&)ew|;z)1*mn%iU!3|2LpIG3{KeoTfgUoZ5d5L(4{4 zC}*;_y(RzyJnw-%Ics^UNhb@>wU-Y6>l=*(pjIiv@-HL9Wib=Zioqx&ejn#<^67&_cQ* zOi!K9@&44CY6%ywKl+oCHO2Gn6YS@+v6`3iT{W&9lh6+CqcEUNgg zkf5pcOP=U!mFsF2c*efcUy|`6N&oFpU{q~U=ZzN~7I8*5nrKSpHi@C<)(nrDCt!-j z;KdLd#zg=O3`RJ`;Y?6w3IOP-k*6M+WO&7MJ7%G!W;~{9a2!fr9tz%*cOr6=TcvgdbYPIQZ_*Nh zG|BF2+Cdy(wn_rR>V}GEE=_TvS3kI|&G(jAcZbC;d2Peb_=FU2V3IO@V8N7zHyA#3 zlBZ50KN;VI)8#Jp#x`0$5KGFH!gkqa;Mx~~$CiF|i^C;ccK0}rPsmExXw%0fy5`{#-@D!6%IqDL7#EWq5X4vwx6jdKB_!_!&~hz zmbjsiVtrLl{3w)_xi*Ss2;&cxyaim>7sH-WUg1FNJUY4xr#!^9;ybbEr{8GlUnPeJ zD2(3VxuSyNP6$c7K&ed9s6 z|1R8YIEJ&%Irf4^g4@(b{)KRn?kH|AU$Ge&-OO(zr2JLg^i=zm?6;6BN9@`JKQ8%k#8Wz-ttl^N%T(y=2^)!u!W;nX4=)# zq@Ipmc}_>CFahq#(G-lrSnzf*{NgH6@d)4WO19w28c9B5NowdS`4+fFUoE@epCuP? z!YX|B?g*(&N}8zC>qiR%e7$-OIG$ebQ**Hmx9p`aZhkb$boE_5>|D6c$@>w}sUmm2 zPn|^r-}K*Y@kk_D+Bgl{^5+wj9Vdj#Ycnji#H zw=KO&N6Qi=C!t>i0|myIST2p{K-5+|!;75yD4fTQp%cGb361G(g*5C_j}UW@yI<<$ zkaRX+~Kj;wpM0t)OtSEhhCBF z-10;(sr^`77j}@N;$er|#d*QA>rWG}*roQpzde{&&(ukR*Z1-d48tB7l28pjqpQ`z z^P34ETSuw!7#F(3_HG8#cWoXpu5hUjJ>7|MReJcjbc*hx`86 z@XJRMBtDS5UO7e09e)%bthy5BJqsvJW~+97hn9Gbr7`nmd95`atDK*lS1tHkAga-1 z+G%~&$+MV0=1+H&gV{GCJLA@~|2ct&_a<>oJ9npAs%|5Xt6(xnNUCd_LX?0Kh(`PU z$I}eg?47f9w+BcCVBSX~-wlY6ys#oP|A#9g8IP>U zlH|f?n@x0hWQnKz$@<0%)ahPpbzHiVhIf9(?_Zt^5y{&kzt^Q9thBPnAfRshZQ|EL z;`HLXxzX}(NGITl_{F<-kZ5z0;HK*d(l{jXg#@J}Rn^%m>-cPU8ivoHGzxM=1u^NI zSdVTu)n|U~drkVa7rR5t_tasTXh^4XgWmC0_twrzPz7C1Lw9a{Zn;_`E#DIIfU)W+ zb8O1fwUlpzx5MNaWJ;!0gS^v*A{F;?yHK59lW6p!0fxT-1=x_{T zDgya1H%QbI0L|3}Fi%_`aL4T(XkjHlgn75P3h%WBqIH--@C8+<Jgk@`0<5vh1N>Fs zJu>d!fE@NL5)u$Pf7^4uPyMyT=D1x*%g73F?BHnDEV%xzCH_2VYBkP!`JzpjC9HE$9}Lc zDAmI9NjI53SYha8qKY_$S~@%$f+rei*yfhb6%rll`?!-yZ0D@fwG+Dx)4ZBGMGjs6Viz zi0{v^*TJ4n9~dvNfDWVp3!u+g1YFy;>o|aEyYWilXH-h8I?ELX3u^asn-0`4)!GQ> z9D3mz(_m7kjX8#-od8@$gNv)i9uwvyVimzz45a!1B$Y$ZSL$Cq#0pP_Lgppri1moBGs@j1cY@2Z!g}W9i$Hd3%Ywg7XjQsXi{AT zW;(Y$1C7r{n}V6fI4{*cfKa;9$s!IJVsu^rX8$g>9Tv#ZeC4~%;J*bG-uc_lF~&7B zkrVnMr^x@JKT zGb4-3Gj4zFw2314F^-C2XOhdON_Ty90z#U;gI=;*ppdd3#|-s9hl~1u?{NJL=7@*_ zYUVZ4`MX1xXfuQr+~P8P3h$KN*I5$`{)lU{Ao>#mQ zy=9lN1qP3bWHrsd?l@jEGY6>$M99_?X)Zk4Q+_`Xuk z8H8gYTXcRKH0x78uFj*-`%vkpEn#o9MCP8x(|w-r$lqA&?J?n|VUZ=l#8Y+dc_ z3!D8@4p^cFOuPsY#ewms#}BqzrT1T{j#U9!XMP;Ld$3mErGp_dk#3QLdpm9c9TM%b zWmC$w<-ZGqcI~5@ABom8<2n&SuZrSF*v?D7BFO?EV-$mW}J zZ@H7h{y+IY-ha}|<7mfBqaEn4>HK@o%VoKL?wtoEdKuJQ7u(|?;5;*nz;6D zhL4iZ2sdEeH|jy z>(2~Iq%_@wHmGLVn3e!hayyGt2mftFy5eu>JPtBebGf^<@S<4)*+MHrYFmEHJ?=&Q zfw_mROlYSiI^B=gh$o#+a)d@h;#EttRq-bEvDS1c$yuW0FRX1FZ0-jYQxUO<71YQY z^e$3)9{9c3L2S3&Dot{cJMk>G)1e{HxQV-sdy)_(Ea~|(JE1hG3a)4y(tq7e~dL0n-& zyDa15pydME;8aQjYTdZ2@}p+QSJ-YXvC~?%*p?c)+jlqaVeTdp8x4R~?G_jpr5l}4 zz9%*pk}y+$#_z$5rIH>t7*4k$KL);IZ=Vw|m8ha$p&bX%s2>xte<-t~oq^ z0w05FPZhi_`;9IR6>uhy<-6N%lQvZ#o{S}FK*$#hNXFJqUESWZh) zxad>_DVC_07nI~UtX#Su570ovDSL|kSot(5#LqYhstq^t5>IGT+LWRBjqqg`#U{Lu zm%kuslb!i?O0>-uoi!P7dflillq>FGLpx_&P{YvB2R!#nOu(*HJ=Q&0c8a}S@K{%yMZF4^?V4kd5b)C^{wuU?I>$$2y|p{8=? zYs23Jjg;2*i*YyPy}-Un2lIT1{j{8O-1EN@P7g?$TrV||twMv9O!b55HIFfH)C$U} zHY=ng-)A&Vn|#3!{Did(x85w3+fA-{H$5nVY#7e0Ti0*<>uEShJ)4_KqnSHnxx*l^ zzc?(fLg3*Q7)J9gENqDYD=NXu!f;f}uzpvT=%suqQ`1nV)Pnk3SkGT0EIa(> zQ1H5dvW*Js)x=(Hb`W7P&K?Eu#8+y0hPZely5~eRb9OcxyIe}p5+W1J!@;-C=RED?t|mKsML1?P%tj~g)|Dc*hC4m|yjD63Gbt}FL? z6-a}zyUp~+P-m6{$Tm$Rf?=AYl5wKAZ9oO9eaDQ^NZC7~1Gm$~>WL}swD|n0fu@mB zy!jP!@yd;XxGjOX9cZbo146m8sF*S4KJUf6i1G39*MH+=(#e68{{G&DrJ-W~?Q zUyClH``12;O3AM;Ss&({5}EwYNbT3>Gwq*pRP=XS4bVvG2mJ_kTN$c|=X1p`FHU89 z_DabMa+26I?KZay5BB896-1MvcK%FAZpfu_R%AzjaG55 z>ucpDf{r~Sztgb?GTu?u6y?{_O*$m=+@`DWfZXY%ZLq2-7M}21^GQIVq)fR8ZhB;U zClF$(11m_BDx}aQq7#Yj%-Myi_p`S?WI3U4Ia17Uow9G<_O3;(HU?6}p1=8;J5Amm z1EXawF3Fw7SSeet>`}9?q)XT2O*I_ctVce3xLvZ5)_j zI;25hCOyE_(zFSJzY9I7&`qsI-4Jfs(qYnY643diyNMJ%%9 zBmxVGicn>fe_&jkB}0?4t#(+Rp>1*46ngzt`DKAe(UZ@vIrYW2dXk{9pi4-q!b$i` z2gjeLY_I_Of*K1>qDj=^gZ$N?sF1)#%iy2E$Ezgt5OT_J^j0Lf*WZxqDets%GW=bG zb5K9gHJM()DcHNp@^@^80y`{&`(?}R9?nYmOObd1Q&hB`C3vk+9OCyYn&CB+Y>x?J z(}0Y(GLfK&EK@*Kr0xCSXO*Lk{xYWz=zbBia}H1~&Wg2Zh)z6PIggELO+XL5b%z7M zqoiq+{Z=GWgi^JTO*opFwNHxDjC^sqjI_9!Dh)MH^%b>Vbh3v{@70CQLvLx+P!PdF zIt&d-0j>ldF;aP{q#B%0{J-B<2VFaOi+N1PK=Gt@?1lVUeUEA+;Jp^_z^-a06>SxmTq=T+z}bzAY5&s z7fa+d+ldhWt%+e;a>h4WY^I%CzJW3poY?nsr@AeIua&PQ+wBoZ-a0gxc}-gWT<3Xp zTdoIcFLpTQgxm+ej~+rz?oxBu7f2QQ;&tOgLG^#}iC*T>*ANK&WiC-P@sbpw9u28- zp{(}kxVq#$6xM%1399}22bA5f+uG7)M*~g5^Yns)WpD8*EFto5(kG~vFHwAvVFtk) z5LA0GM&xXb^huv8f!G_%;(JJ*_|D66;}e|v!F@}h%b&FR3G zn+8P24HE$@ZFuPNo-1a2;}sPx(+^1)3+qSZ$|YJ_J~n@BZ7)nWttGaY%OqSyh)8V} ztz=@mjQM=n2C&+m+9s(b@|E}_ZJK}0i|Hoza_(K&+6!T2cFIr+_BC^=+b$HJ58sP% zI#Ye$OZ~7t`E>lNuRnrjl4|&kMSHU!fxP+}oW!E@t8#@t_CL(OzFgDRjw9yiTeKQ5 z+q_F!;u%Uar`3RO<{l*)Np2T6C?iiN-qtGfh)iJ4Z;Fg+4o#jBMmF!t5qlbE0G#wm z1~1KGBF~_!&n_4Rx1+vj<>P?ub(5hEMG>t?DJyiviKXEzfegtus?TYs)lie?I1WCU zHF#dJ*_Gs{$+6c!*}=I1TYc6q%)+9*Q8+jQrF?vn6(j6u%)|DHK54fSBii618s-)H zY~=^N#1gePpR|uRZ`)~8X+Jh67X2~QXY`A?ccPJ}W##!ERVB)vyHec0>`TfYh&dlc z7mE(-~Jl?>0r>#s`HQOQ_~R);OK)4q~M3KQ=bs$`l&c@3rUBeq(a+XaJHL3gf& z6Bll3mZVxBrkFB~z2Cta=1bvJ@aeZ$yndvkRv|OPcKdU_Z!wmU3ugwR5$vCytcx?1>u~4ir`hYQyGEc z3d$rqK&R620>v2a_zaikKK|U4^pQ^2N5x ztH8j{bD#><%M-y{a&ncZ~0gF6ihhnhA*yV;3V>Yax43#ag?wu;NuGqkh#cvv~(}ylX`KS)I4(n z7+W}r8m0Pfwuc)FgBnX~Bm>Mfn)SM;IfrBI=`8Q*>GQZgb&@H#ihFbgJ7 zS=ioS?qCGo;+YH&+8U<1k3kfmAKOxJ{qA+*)1PS;=2;eP!$112f#mB~8$vHE2F1j` zUSQ}wRSQsdTZ>SbeAm6D40oqOX#51+iJSVD3othpN@#E@7U?2>wM|vWcRj*uS0xwj zL1#broR9#$miTELgMzHZ29Dm7#16&5c7dIPo+4R1BkP#JxoAETQxrbh|EjGRDIOK> ztO9i~JIdPQfr^!+>{W$fRGb<~+u*60hPp|iPFF^EK zDE)Dl&;E%Nsv&HdtjTp59+awCGQqNUegoieGh|IsG;sN`)WP$!ZJ8QyAk>8uc>SH@ ztYrtp?`Jd?V1-(BH7ce2?8Cx!mm5e2-ARV9BP|Kccb5e3x0v(Qj|c0HVnD+pLdO~L zh2H2#de}*$)93}J_h;Q#LRMWw3xPMBv*x$iN_L@&0L%|QXe&tx-)Yw4e4mq1q;E)` zNtvhP!H-{0WsD-QphPz|DJd zW*6xpSGUw0I93+8+}h`r*-{b7*R{RoP@`WWI#_EuNL@0k7D=6-+{>`#q0r+@vq-Di zn^Kq~sET^^h{}j=LStzhIKEMy4ZksyF?MyrxnngF^0>-Bx$p9CV16%|QDFMrz^|dL zU^0o2F>$IHQ$t-(#uI1KSfUnHL1lJ%+@B_swy5r70PNN72rs-L1`8+LN?l_Az!~ z;ma#O>VY1BX5ZW&!6g)=PtsqtH4LJ@jGEMvr>EdV*7d59k{-OtblikkfEZ%3#zQ`_@6HB73Vlcy&kXhOose z*8h&7{9ob`DBQPV*0c?Opr@Ge1@4ngC7g@PmRYAR9!HlGQzVb0Z=XopHa{*A$1C#* zd{z3a_ppV?xP-pBec48glL$-N>dpwxN^%Tge`_|WQ3yXJusy(kXJ@s@FgPcHnO$aR=K#-Ki_Q&0+^%O_ z9EJXmp#P2xdM}mkQ#bcf+f~X!GJsS(cwU*=IWCtojNG-4G*HvH6ir4_dkvQ$D75SK zYov_u@>{JmMn;1SA2KQBz_%a*`4+@q|JghS>(*dBj{2cS^HXb%iNQ>jKMSTWQtVu*Xi81fKXK`OVsXENk#UYk=Z+e`R*x zO1w7j`woK?r*d!wYGU%u!m}+8cYpbt?oD1eWp~uofw~$}Y=pAkmm2%Y20r84I5A&a zS6Cx*KT+BTs0HcWCHb--MTgI6GqYNOF%-!pPEJ)RK3x=vh*4vLYv`_Em#y76>r0g3-Tz-GYB3p@GT6A!IdD{I>|_EXP7k#d3yg`=Y*zl>Cdb-HjexQ#pnE z|4x&06}^xnLL3gG;7R`^N*9-lKlyzDk>N1bP1^O*1c;0mTdGw8B&$O-0=8;r5zYU| zG4kOXn_icOpp1!oOD@amya>d{eBl7lsaUIpQzlS;iC*(}d(X`or;&AlAo^0w)?^xN z(8HE)`=g9&M^%|5@tX%4P=anVjOQnT)&le_$9tKDRh6m@J-&N2Q7ON@zQiVWc8sl@ z5aWcn#gw@U3Q(?=AzoC&!Sr{v&ZwRgdN`_Qsf^1`$$8#gn;r5Ons$Hbe6VpZYrbYD#8_ntTTG{dvV-U1GG{l8(8z+^OzV^2VWie3M-uWcigq`& zV1rb|pR$IgJl#l7UO(zWw;X@}Ocv=vn+j-f`k4Kb)u0zbUNOA%?#g?EQ*av_4&7{a z0s6+88^+r(vPHi(K!M1}V3L={0=mT$KJx+n(D#i$HV&L5kOTOe$GJ9yo+qJ2WRsX& zAjarp?Xy`z6Ux)ScY5# z)pn?wG7{3Go!tBtKZ_s1!_=;G&xgK22LvtexKk2}>%QepzMMu@V53x^j#fs^q% zL_i2NUr&I^M;B&V?Z$Ab_0`fR>{7)E`6h;knwK863& zdklUlUvVlQW=#>E(kEKt(sOtSa{&K!2^sY!&3^?&{B)q`?hom---#^3vKVGjbf`85{%u zDsaKx9oY5f##68O>a~i=dHi_}2Di8|7yd^?`>?0Ey zI^j?aI`kE=CDk3K4_-Y@%qd>zSwzH7G(fLV3FODy@1+gxim09x8Wla>fKgvM21J8+ zB-7G+e`5{ZerC5#L#}uSF|#zPQhX4weML8G(DfihEKROk&^3)W&iS|DCb|Aw>pijW z(}Gzi1z@*>B=7x-P5C;n|7o=tVgLQwewk^*22JUEi6=gt#hbICYtgssa8rHa{SE8p z_N#0#PR~zT?2HtB&|5+u9tz0W`7HKUax z9T2(lIDA=(4TLiT{hRZ~UVCNKQ*15r6G0+DQYT@aQ&sl;XEbxbt;uci-3%t`q2#>l z+u>@9PeFAGpF_Y;E0w_PeDR;2s0Wc4Ubbzp+T2t9+d-=qoiqB;*(QF>E<hQ?4r`Qf~2`%#$k(ZwptI4Y~@ID=$=eEm;BQcX8*n}1rZxKsT@Z#e< zE{_~4rIgmS6ZjGY4~N17tC`r|X8NBpk}@4jNBc1|tSQ>$a?nLlMGna{wx1vJbJRpQ z6C;NEs7O zMK|ix{eCL~qmc<%2=S*oM83!#S_uqJUSGc#4+Xk~b1#!b*-;aXf8l(Y>AQ2YK%e?p zy}GlAT*A%8!p4*H*-Aave;`&0VL?}esD%Lvd;;&+E&Wd@4nKMfiVXcc^DMD|w@rU; zc9R215bCd{FaZv&ib6c_ZYSMN0lb=-)9Kkm5psu>x0w+)aNMfl>0v}?T4Y6;`*u&B z@mCMtLM@NOND)_Pe0|up{n?w{rXIY1&VcDaF4$SoLQ4GK8>YJ|Yq|~TG4zrbHws`4NU|oH9(jny` z=iygp042KHAMSTPKA3)|!5m?3-13?;h7dVxW?=3YQTa>~iG! zFA^Mp4)T_zaCefR@*YL~DcmfmYO@tKJs4)+eh!Zj7CCoUDr8kZ_~5NmnA5oYq6r`9 zRhw+$yzARpJt%Gfw_{C?)G|@*(U0`vmLejQJBkCHm6>%@&p`^C(yErp#=-3TQ)`{n z_pzQs4Wv#yjVw;eL=yK0&F`f9Q|zdLhfe zVo@{IPSQcvN<6$(S#$oQkzd-RC1Kkv+m!TBw=WJlh2>60DP>L8SH-0SFXtZdFi%bW zFZj~`fGL^7S@rwAk@v>qyAMf#?E@0*y}J$rcIZ{*I}hSq&cDy=gg#q5id6O!u&#Ng zm@O|x<(w=M4-<*}IKoYa-$ONH$<~(XPb6ULM^ul>VB1$Bve$HCkzfn#0+LKf7FOip zP~qgQ%X86VVPPgDzHjI5yisS4U#@~o_np{qA?@YWRS@4rDa}5uvBk-`1WFFXc{Ps2 zKA*zbHwU)rk;&>aUaGG~B~5RN5jcdbTtxL!X`o60$i-b&Juge%O3#SpQQmWD;ugN4 zc>XmAyK{yDp2{``zDHGS2^=~TC(VO~Qg<$$Nn6i>Wr3JsH~49uMp(c#_g(3>>2w7O z93$qv=KT{%zw{U@j536u_cUib3Q{5?wDf94`Ai;=kZVN}b297dMmpIA^%_OV0Qr!$Ga0jz5!+m{X z#s)cmzrx@SU5jsW!TxW<&-4xnQ71RCw=>~OHeDfcG6n4X#gI0&e)SJ}hAM8!o2AT9 z;gVBGBP~F#FkkILOXKV2Ap*J$1);c?KAS8a zvc3t|hwSh;Q+;o!qVmu##5f66aWn_Z0ZUvC=`6l1qso)UIYtmL*>fM0J`4L}FG zgwf+kHHN-C<6?^tgHL+ag^YZ91*chUP8knRjQA8d6z2O))L1!* z`SGG7p3*^;Ww)7Qd8$6@hwFCsUrt8>7tjr*bcZNY!P96UbHKW#`tiR*zKRS5h6 z{8Y0f``yVYczTqS10@7*YgwPMG%p^Csva$WaC-|e4sxZY>5TKb-q9SVciQTrLuE!O zMNN9$K9Q7A@G7@4jfW^Mx3iE6Q>UrKr5?I4E@J-4F+XR=kZHgp@DZoM-=WDv`ptm6 z(97x=C$YWz?zaw`N)Ni7cAE|rpBnzmG2X%39!yD(^UFon`4>Lx6r3|p_@l4!S=0Vg z0+b?Ol3wi+&fm~Tlez;=(8+Qdpna`Msk2H$2K}v7UcVf>-!I8^)66u{wQ1&=yO?TI zdJ2WARONRM0PPy3-_EfnSQ{R+FiWe=wIb{GNcrfFiI1gTfBbkl<$}igy7(a(^zgNS zT4`R!QBECoD8^~cR^7BqhK0ac!uA#157fh$9*N&vd zBaI%rZ>vnw4oJy|qcIISYqDIDTevip_n|qIUJY=RhLg=x66}TdzMiXu_jU$Mu){5! zQ!1Vbnc#6r?k+V7xUbtXh&{TCXI<&~wmoI+>}-P0y_JIVMVG>YzBXO%@F;mqzQ=1e z4_W19!MU&10!gB24-d{={vvv`@Z2|#ZGFhUP#JWgjh4rL}}BBW&ni1A0f{ttJjq>?|jcM7Gi?_cJG zl;rk{iohhhfrwXLir2>GaD`U09v^kj!I$_oo@GTpcP1u|Vv!3#NyNqKZ}W{=YYQ8G zOBM;dyXeE7r5%)+2>lqL^_CTyzgZ{gNRu|6?Rv=zex1P<3jZv^d!uRtu!ZHj*OQ_6 z|G*+3z7`$;4fTTe2jAjQjwF8Ux$7~A6!4{(GdlwnqWw$kiN%VJMQFr&U5D7f&VJpn zvEzzO>lYyJvmmQ}NZ#*A`5-%1%Rgl(znjd*C#-mwYF?Q!jW7p|RI`PxFBA7oB-N}~ z=ezS!8-DYLYgaJl|>HB-_mKtj^kVO%0dO(Zczrvnko;KgP$aAK?By<2?VnXZ-w*rdJJ6!V#?0 zW)iEuMw2LL9f8cLMkH-Rew?(rMHJ^>`++*44XkB;@4YUBFECS^_cvMi;021Tu}NtJ z&bZTaIOAR$}(x-}c%`i@-V%RrJ%VK-*bRFx^M%T5y2r>w0IJz?ihwEQc|L zHGlYiDeik9Xv+qeL+efJD$}|DHLzG7-l^1BkgnxaR*X`Lep+PqdT=CN3uiDeA_u4< z<*Z|#c z857VRsodJVRC^ub6HU)A`~U)R92BoP3It@+5Snw*#vNA)qxUk}3gXYR= zqEJ3#f+W?P5pYM{*YbiT9}e{@BJpT`n7Woy;U1{W+FZ7}9O?tJW^s9n%juaJ- z6&AXg&nTbHN8adcPUn{5E}2T>a4-Vbx${hCPbp2Jv{%h`ZUG=E(JjwtK*8GK6hkI_ z_A-6K4%#}QdaB^T;d@)lFW-K?OOQwabUmHu3kHL~$iyjG=IG$++y~HQ1*n#7@w!Go z=_>HwGk_KGL^n{8$RuKeKB=dJ3IW0DbLsE?D_T?o(cCpE5O;;Z$!Sy-Q;!N{APP#SQ8IGqn9M4gANe@u9 zd{TVL-t821Y@J{3DD;(Id}yf1A~L4{vNzWS+th)Gas-4g7#IkmnT@}6Wj}q9BAJl@cz_qN0_6K3viv0AIF0S=PkiF{ zScDe>n?tedsln@$f1StYKuGTeUO~Mu*{E!;B||Y(`<$fzHX`qma!q{|Q1|+Jvc*(O z_zExw5ffdm#vn>v_sz4F$`DCu3H`~06^g!naKa8>iQFq{#wgBrRWgiRQTA9PXPV5kR1dcx!+qQ;xT*cPxQN@H<4pwEo@Q4qQN!W6AHGBF&2SepqxVyhDVG zI#^X^<7rorJJ{Swbh8}!f-Jh$jbf*5Bb=Wr9Rjc=rz{zg-T}pcsw(BRDI`H)7s>FL zK1eOto6=zoWQk<=v*psQIq;}2$;*7uyK6?0z}HEd^_;Y0Q>xPD z5l7~uGWf#qDR!}*Zmo|G{V}Rp_RX#Svk3}#x*mGaNHz7t@tTHQA`TS&F5Suh<&Kj< z@MwI_qhe5yXP4v1lg2BRcht=BVhTey_sb(C|3^C)e`_RSbYJQ*)Ijui`QPS3lJ8kj z;ll^_W~qw^DgMI(6T}&a{f3)>@JXRAH7{2j! z9i1=y|03?KqpIqnw^2AAlrTtnMNp6w1XMzrBPby$QqqV@cXuczC4xvFT3YD_5lLz3 zF6mH8`pymd{_=j~yMNs=7!J{M_FikQwdR`f%x3~k;(%GMe?R##Gfmf#3v8h?%vjAU-$jpsm_10^ zoMTs~be6;Fj53L=r+iM`e}Vo#A~s;9{tMkF<~(lngE-!VzH01RvGY`F;CN z0`|MoiC{7tABbiFC9XW*8wqmRs<0xYv6Au!#hbt(q`gAzi~>GbZj`{+YNNA1uaHV{ z{(1Q9x`lw@k3&i@f%4MzjQ_jyP%L^;vG%LJ;J|iMD&?TX7W|&7k+n zt7RvObJOKs2EY9EBeou?XUPNQLAe9_Kf44Dm3YsKxS_A4F!~u%Qjq_;lf#e*jfj5i zHo$u6Q*|prnZrRvqPZRk`jg?Z{h> z3s2A)WFPHq@dd4Q>b?YzTk8}2cA(J(tW3%BRa=pa=g!mwHOyFr*bV#1P z5xUJ?B076TDpAxy3{^l-v~N{6U$lrXJ@UIOAf+`WiiChc4kq?KFM1&msDhnPZqFXt zG00Vg8cOweddftUX6`$k`gB{Qe4@YXnL5REB)9RU!eN(mz?1Nm4^MsbBdtnygF4QH zvWie0W8ea12pp zs!U(dwVk7?{lQa{#^(u9j|RAyt^iws^|Qg|)H#N$fK<5|{Q)8a8q-%7BGG;%N3S!8 z3kvs!*NNx77j`W;Nh83`B{F_Xx{4Q9`$62Iv$Y$k)f=y@9qL#*?X`jt-r}Pfdbn<# znRh-V{hE0w{CTtK3l-~qAW{tzao?_ohVX+wkF)=br~*=2I*3)igZhNQdFM7KQhfZw zb>cJNF-BEr*Xg?byzLD5fG#ynGuVHR@n=Yhn$=tHN>y>9N|tQho~^N+cKg_Uv}CKF z!}QH2c^FPIUbu&k8`(pgJ}yKHwf53yId!g3u&G{odM=RBTa-jS-z4;q3e{%nP6wU$ zcjA>Xkm}FxPb1e~{&u1{0PExtB>r*$(|Uhe@|YAY8`|!r@BOhl=U@yS+HM$Rd;bNq zlbJMH%jMbH*k)ngEwXGn((AKep_=hU$;WTq>g@p{#uE`Va;g)7vr{&@#PO*p_ADT}h}kk)B^Qv24+a$M-Y zz5zrCKTBkzT!}j(zrKov#n4@DiF{3^BmV7^{Ek#XHeL5uXTBl`68r+Bl?;U4I+iS3 z6v(`RlBE%dq*=hbXy-<8uD5{;E(vnS*txZhkesFebENarMJi|?Ns zj~uy@M8vPxkCR$0p6du385y^6oPy)4_48?^Ly^@fYq2QLt*NjnU`r1~7-#lf-oDdh z^zz$^5q3p*j19X^pO!~SldVi4OOz-aTfXmB5zqs8Jg9(YTA%A`ikaXuApLj?lcH{9 ze24lSI*JjyDpF@CWjM6tub&0d`?V8!<21)tMIG^uacS38t1+tar+jB9si9S>O{d%q zY3Q-I==_x4Ray_akJv!{coX<5WqGj@Z!yy7#xPD!i1NGz{^E9L#j*gw~qf_zbwF?Q(Bn0c6+#DHs0LZ(QZ!yx9}OMU5qKWdWLw zxTpTI#T(+Uoa;EJ#%K8=y)}ql!Y>F$trO$Eaew+;aytgreMUvt)@G4v8~^|dNIi+Y zCcqan>WCJ)Tv32ys@#Qo#!x5;bQYzQ_d?&fboGo!WWvvwTJVB$- zf*nAC8I6gC^xj&iqOs;E{w#Y}>Y;ps6sgdbabO8dj@%K4&#iPznk8zpJd0m->x*3EFCSf0Fa)Wf3Xmau zGpR8bwv3ITqx(khdO?M@cY$n_r>5eJ*2k*nrY}~3Kl8 zD|7xN@q0nXtde5b0n)(iiv$m@US)kwi|dH*26qhW>NwOSJJx-`f43rV0axRW{FuEE zW56W0RMj<9L5*15)i!EUDPdedRSbXqD&JOTSbyw{kmAS73qZ;pq+Q3)YpWwpZTsS; zty{@6C%Tps72?M)KkWzAuK}FqDI#=|!kiFzMQ$HI2sOWa1N0w?Q1f~`!XKR@rH26P z#+D$mDgAZLnMT3)yi7D2$mlPPXV+}uZ2$f_@d$YOd@6w|jUBQ$NDqLt)&_)lV}BSFYc7fNg;pD& zhs?2?RZ=0u@yx!TD-q-NOZq+-V|l=&{jq5Sh)5;@IxRrJAdZE24j|7frNXa23Z8BA z)^Vb7tRf(IUp4>xBC+*I$=I{=lYrKf_qtO0_f!_*7ug^>NYk36D}q}@+ycl?5p@ay z+!wEWr_a%XJ%U?*{F&4MPmPSVNKY$l7E&{O-;OiIVw}`pfAHd#VH(`ye6r~x!14kR zWYNI0P65)ZvRFtXAi20c=t*@d(CjgvPF=HA_cg-o2~R~~2q{l31Ixe(RY?EI)fBOrxz<-z)5)0lbp!FYy0st_> zC1#ZgmvrSB4lhq1I9ce(FFEjkM;yAl@?H<<=)DiGd_ZGphcD*NPmyLzX z&?PWk3z|wCmz+|BeQ!*Mu@+&EnG}MND#?w)SqkQA;S&d5uh=yU)558G~y z=Riz}As7g}J{+%ksRVm4q$Q~H60RqK9#?P9qoziP2JS|qVLPDS*scBi?PW$n-Aqb;^ z4_5mbC7^Nt{DtB?IKdt$a-wyvANUMGGG3efwZ{l{!vWiI>>((Gj!I9@aXMrpN}*X= zB&%!RA}dxUsdxNIjMlnc|m zD&{p_M)HmNDYE~A=@o%X5FuJd8cY<+_mRPK%utR)_F-;dh601>Xs`RHV<0Fic=)r4 z8n^}t;Ngrn-?%6GRsm#^9^pAdj3wi6(&?Kh2ECU!U!7$}`L7`2yTy3bdi)mSemU^< z+$|kND0Zpv&EUF$*48%wpkdCv*200PBoeH8eGx6LEgWpFx(NDWg;9hM3w)yw-<)|7 z?%WsRusx|=gu;+fUm@Z9@!kMwQxOJU`TZQPFCa5yk-Xety%%@9&LY2Hy76UWgzf`r z3@zl%8~eZW>%x;x!NxK5YDC^Dg}LDk4y+8&#xVhGvRjyZ2T^kW_2;)J3V1IN`qDd3 zj-RSOl-dI_EZ@cRbb^N;6+}b#7&Zj30Aa%3YhDR37PH%jX%M*Pnt;4T>e(ObUkS+A zi@z6#kiEj_P1e7;4y||3U3+lrX)ZAJ!H9R^s5ndDA%AtcqX#^#HXYK;4Jol6bF(Ln zcnJ~%s~{!L0@NTu&^0T`(gr+sJ}IvUaZlvqq*IxycC^xlni_m*k=nxsV0}e0t#koD z=#UMkD1iHFHHmAS1o>t3iZ{~DJwWJ}RPm?}QB?k$XKyg?@V}?2$b2-mg{XQiw|Pq_ zI)fCeZbTt^qV*rp8`pnW$vd*4phz_cNhbV)yDj)6GE!hiA9s7e(no^)@}Bu4K)Mly zi=0*@YlFNGc_j|+E8o+6-c0bJAV`NI4KV(Aq2H>^_-}*M@4>=EUTU^RPBezhJ3Xu9 z4zQ^)K~wXjWRhNXp*Aq174$nuNc+i6B>=|1}}aT(x3-P z0RNiLu8cSzLjUgt@aH)g34DyuK$)|x#N#Go_|AIsdBAOC$PxHL8@&eCfvE2s zl&2nz0P_zD33wo_Oe~70-d%mZ`p=*3vhoT}vrh5rTBciANazCj?{lf0jYYD#H$%wF zsxHFhxTuh+(K4b}+SC&yP8CDt+P&-a@=wsa^ee!HR}Y=K=n(Qe&)Uuhq$?pfU&Rz? zBy-Cds&=BnEE3wU;nQvzL!SP+)o9f})ja)@lNd(%VI^V&gMPT)2JM4}OQQ*BKAdj}HPb5vSz`{?*P#YSVyQC|nSXA0Fvd zIHdfx8T`S{D7d72kq%ECK%cVu#P$}bL0M8PU#xVYZ3leyK3yARu0yxlKN-|z$cC>n z;Lf8F+u9kfza)qmbeqTFG6Ye8O3EEKZt27Wy;(ep*N=VjH~c|v#@%u_*<{$bH*QBv zAbSNS+gp!+CgOJ_>c^0 zYR=%TH=k;Jb9jbs!InFDxaE$aX@UQ5L>FA>An!h#S1@*D`1G)VrWdB&kkz2&M-l(9 zEc+>e_;bPYA;QRE!AQY25ce6^N4_vBh>O39kb+^qpZXtnBlJ0|xLN^>h2hs?*D<5J z(p8s0;hY__HA1%ORk_i!)t0xw0Y}99`VklcZQ^=JLJ{cu8j#K#hBzB=mmUu4ECI}k zMC7@A2oA639%LNV4MgsyE%-q|^1m2WwkXiX!7s^}8xy793dIsMGvnSM@T2Be0%Q?8 zxV%=K7>(Pg%M36@U-_w!C`LF%xmj`gc*I7-WyMG%6j;l4faPf8B-bHQF~-{C>J|s6rqo|6!|w7q>^Dq%8=l8x_FoJv|G&Nf{MR z*9jg*SAoh-1Yp%%66N1LlIRbr(RkHJVEW03DbnmgL3llcmB0RQ<8#1qT8>vU0<#0O z#37447&Ku*zv}7lBvt}L>XrM|`qH2t5c+pSMFBtj9|&J`RfO0^62b;Vqb|DTu4lNW;xE1r~`+@e|?bVL-X4B=3T!nBwsqC}HDMxZ?Ui zVD~S9MJ_Y^Lkl@YSPZIH@64q=I3}qVtO8;AQLdw73_)@zXet*CZkR|1=n6B`XohqZ z3e?S6tZn@_(ouJg+$=|%aUhIVjdugfTRGVc;FnQ(ZzT>-p$MXkDUTK>iPQ;V93fJH z+kH->=55%UsnaVse=eb`(jXG)e(KlAhFc)3T4o`hg4o@ck-H0}PY{#n7F=*5m-u21 zMSq`x_+b)|yDNj0!VE7RpN_wO65SI1S0^9J>k6@Y?qh$%JqNZdVduT|o=}z%xG{;| zSxF&pm3ju&{X@PSO5~S%a_^rLb%=+Ta=~x@duqZhm))D^&LH;NA&ECa&kKWRI{jz7 zQZ$Iho>od>&eQvhT6aCMk6ZwI!`4u1(gYsFLf#N}05Y6vVz9TKkp?1`KU{k6svuxq zAarFS+2{Ebbmb)C{b4}wok5C3Gmw76zYYdU$(+)YMVBTjPuwMZB!68wnMItjA;dZ0 z+qvuSoa+^574|M~MTW+)h&Q~ayZ+Gc;puQgMkPAZOX98brAxWXxy#lq#fBs9&xGAJ z=BI887%t}zn=a-q?PcZnI75)J^A4t*gryWmU%#)RSnn0yKhsKszaOQ!6pUP3bFJka zFuRvbYIP1xjKK<_o~}+=|6s+Z^}?{C%T(AQfl&yzd>h_6=<3)3R0`BT6hNRirP}+> zr4>M2YCzGLS$D>LJ@`gA8lR{M-Ta97DpxIk$<1qcXW2C-w?j69HdX6a?JTbO@>8Pl zZ{7E@5^2m7?<2hE6E%HX|o|Q0!<~E-cc#K+n|L}%r)^tZQdjdndgn|I=NAU13 zEp=gc@oOZ!K3?UOyM2@FQWalV(6cN0Jb7PZMIw<;cP^g*n>KrxBNynU7_Xd5k-))4 z$J1l@E=Ct%8Ib9Wb@EO$f0M_ymP+g3LKHpE`A_5roGOz`lh?+vUeQzQQakNY2gV3j~zp~2H7@M(A+ZIBVJFkZZ5&Uv`FW?Yo`k#Bh0 z5ngRc${kAOfe(0Ltl^oj=Npj8A3c!SYOP&T69A+cl7Saq{AVHRMJ1d$dafclZuM6D zRU6X3L%=3u0Ns}fBku;TKqDBpEK2rOC_zLMt=?llTf1XNAFL)KZh3xV^5mc4c~w=S z;l42kC)s8U?*s}zMAGZyN1+xiJY0gSE$wHH#)QuaLK_a^I(qftyu2`ISXufud~)1> zrGV9gG5MrA(IL}9CjUSG_)0<>#Th_vc=NC9Oz@%UV?DHJW`hzhit9(;VUYK-=CGE# z<9qmeR$2_7F0LKN%Ri57p!^N_oJ=6;;q~0#om6{Ab%~e+x4QZTH~OoTFV2J(YeYB% zeBsj}>RwhAHC0g;{tU5$t?i?}I0C#h>w6R?$BE*R#QLG0`aY`pp@jeb+ywQ|(XhO& zU=hc5oo@V{L(n}e#D*Mzp}Ux3jT)a;@dCW>7oRN!nxTqMQuJuyXrpk(-1tO?{r~gS zNl0n0_$eAFlK)*N9PcuCxE=AozyB+~zanY80`q-r#qs>lb7o22Lq7l@EErL}|0r}# zIU?e4a)}ZkBpx}r+a$>A?=ZlZE~(4E{`+!>xA&gq&@uue19c1+-N=AZS7$Qfc;Xd) zt)>0cpLJ!1b!`cBr2o56{CMDTJwhyQe`U}&|oBws5*dJvVtLfW zkR2cu1GD?pA3{aZz9AYa`FD>zK-5@day<6$(Ecv_zh_PwPMX3U8KpCS zM(`rB3OI-jAi|u7v~=T#7u{+bgfB27#`=%UWyV;@BS$TmcI6riYFd$xd5 zd$%SK1$uA45=Wn|9M}67D2UM32)4sn_dKqQIKb=u21H0DD*p4zW2Z%lJM0B;~cBwlH&EZ$=K*R|Hydj5| z3(SP{l2sM%iC%CNz~Qo&k@Ej=9Mw(if{@{(Fzmtn_fs&pBpA$b+!#3Iy{Hh4sHG@ESycchi!e_%jD$%&0D+ znh5{y*}t3ZKZN-|RMR2kUoKW;NWfv?eMRFvgTp1QfeABKyiBD%9Q8|(l?=Mc_(+bR zLKKj+Y&S&fT!GIRa}&q=Isx(7cmMsSnqz{6yK!UK_i$@t=Frf4`~if)Y}PLT>i^U~ zSF83mq34Y5rs2Nm>8Y7Bsii-!vwm|||2^FTL1A-h*KR{Huz@tGQJ8QD%>C~P!^K~>^$O!)5m^5ZO7^V9RGS- zn3-7|$6F6I`22I36LNDCtKo_)PxRY_oCg8o!)Pyld#!e)N`o|TGlLBA)J!5P$0}pn+YWhzaURet6D6ti-L%ntMN-JEkSJjzLjHo2iQIT&PO^LTt zU9?JCWh(DD?%Z<)6%hzq-=+W0J%H^0PZYG|e&(HbSI`7j7av>7YLR|#NF_w1kAr%2 z7Oq?_zObYD&}N}BMqimWF(wSIRi-)A(4E`k&&tOhkhIk0FDqFbEqy#IOs4ByoYvt3 z@Nda_g?f{i62E$T2Y2aZ& z36t}uQXNCkMQ0MeQ-$Dxlvtv1VmFg=r@kSd4}pF0_dh@n;1hlHVXO9k>l5F8kVbXx zIl0{izS^68%CXuwqnBi$%(UJr(ZTp=({aXxXy8iwdkTJ`o|3<@yhQjO1*2Q=|CV^0 zP{0!}O{y{tMCidON*;|{A^9lYhspE zoK1acXMTQ^J*i$tyu4Xi>RH@v3T-ruUg|llqCkJR#^G&FORNDy;-+K9(B{E+jKt&- zHB}?#)w-k3P3DVCLkuz9m?qKx4wFJ_)@b@ecksSi*LA*I`OlLRwAL!^^0@N-p24HJ z`@NNr^-n_9KmY3Vzjp^QK08K=Bm(+6!aH}a3evqj8&`Ukx&9KSGF}t;#w;;NTT<|z z%)cV;Mm_cUWFbNrON@y4)JqvL0luyyV*rZ+ok4+_4n7)I&0Q}FEo-y<$&hdu);m6i z6otA^OlzXmTYMXujebXGIRsIGg90I^4j0iIpWx&5LmNPet;+pLRzk17>Q7hGFlGe!S#Ul$PuTc!s0)CGOQNphFPTls_My>5 z0np;)U~PZvhRnNpD=639Aa~gV7WiiJNwCg-@nF>Ioz8M*fA{Xg+EFG-nIyiS^;DyzaVb0DMXZ_0c7L= z?(qN+z&wCFO&)!qPzOR%EjaffVK8kGin!~Lb~A#Ij~%)lrfI>y)9Sfz0Bk9F(82jW zU>62Q3@-rFN>;Sf_)Dbc%Y6u@ngh{W0r3C#0{N^Z5*r2_txIy~7yx7(*ELfVVwbYO ziyVpY*#xqg&q!)^04UcM0rixJV67g7X+K87hUPg9OdHTbt2c;Fd;v;z9UgW4gmx{; z2hO0H9iYylA42J4EsnM44AlWBU>day4P9~pRoSBBGRwFb0i|B0p>qHa_;5D~@|Yt5 zqWeyfU{wP@OEuCgMicTy>}tX(a*>aPUDmADBO#ug-U%UEGq}#PtoI;=(Jy?HHWrwO zI=eMY+0R2Ah3WZ&#w`dq_d;yb1i_rRLyN(dQDE`EanR_TzYM7*1E@bKb%$oc9KAjB z5YIJtg}`d`l#&elRKIM%y=2)>Ku%Sss_Sll{)R=Ad2TbWx4_v=eFqLLls&!9(P_a! ziGY1la_mT(g}epN29#RMdT&XbH=nE?=IK`d0!Sb;qz%2c+t05YR;u+`tCy8GPUCG8wsIDY zq6C4PL-uolm~pf?Tbcc7xzicNKO%TsUQ`?4eI-1YZjD_Qvke_fO^LC2^u5v9cMM=< zHU|fQT~8&cHGH;8m<*fL2C&D|W{?Ad#s`{|VxF+Ix~4m0CH?*xt2XuBf-p)bgq_~=kv3f)E}}*$_30^_I=G!QjfQG z{hsSQk3cJgwr2Y=S(+BbNts3Cue_Ifv3s0t4FH+MdtxVV5Cfmlwdq83|L{;L5^;fl}4 z&-cQ9pF=s|%@dY_`Mo-4Yjk@XdSIx_WfJRrUW11$_&lZ|{0=_B{KorMiWau3s>InV zrNC2GP(vzHw7LDo46l_i7!Y-oo16Qgzg#j8S`o$qqRH~mJyr!slP|)XGfp4kDk&}4 zup>}&GRS)H%>Xj`98o<_eNXqz%szpx;gcDL0DIG};#8o~XwPCkVaMU=zUByUTC2B= z0zhlTVVK!~f{p9Dn)7pzA`v=&cL`68o|#^cfRI?J?I{|8@8uF~3sc!IacCm=jQaCZ zT?uJzeHa=xWs2u&6K@wMcG}ZytCaLd_FwYCxFC+iz{dAK)&K@|Q~WcAdHO4OV?mg< z9mTP-f}6#Q1p|Xyj=lOP1gE2H2fNt_%{22(ro=4qO8QSrXm+sRsC~@%s6G(GqTbWZ zr(vIMkX^okpyOK2Z%)u4UMi6v#Vyz8Iw>mC{Zve9eA&{tcpcEVIt4oP_H3`sPWY^U zv(ibgp>+)rrnsi|3$`9&K)~y?wFD8_a^4ztCLd4#jCJxQLcaV1)imubWxc8{S z#Uj5;)#7WJ>g;@5qR*z`!TNfLw`z`QBrT1`sq7Tuydk;AeAy*w{&p-GJ+VCch?EZU z`~y$t7w%_pj&?cR+~@SyejNU2@a@T`t9U~uW%%B&h|qgw*-qYd<4j;T1=D53LM)Dt_zUkv$btjZvkew766CS`||0t6f2GZ zUnzO*#5SF8GN`$iwKtxx?XMa*O*p;hz5sOM`OpfbXm2*ZuB7mkpXg-wJVn$+>l%^` zs1q(NG@UAnIo`G*L^zet7&sR%ezRE2(Oh~Wy46z-Z>XPDa?EpixIF#fPFz_*_RqOo zqxMT`$pFwP4qfe=OWm6xBACus($PF+tm{(Dq8?^{?TfQ}cox$G?!I_&w*CA?x!%y# zn>)H8BH}=UVhxsCpyunlI&cADE#OGm+fHa7nF@!-DLHN8hw~0`V`Zw3Oc@JNPQG7L zqHJCbK?Ih=Ow}ucQ?F~z2JbuIyR6xA^5tGR8U;G|_CZ&)Lhz(ZLpS=bOJsLaM*bk2 z&KE7OxTVt59u{Ho>Fe30CZ+s4I=au&IL*6;7xvpUb?>A%pz)dovNs;}bPL1B-CF?? zqqUOB>Dr~rpBAV(jhCy#di0d_PscsKkOP~$CI5B7X~NQJp-ugb zognGgCGH|Wvv!f|8UO!uJ+pB~RRa3T3>b|IstMVOx>oypw9<+kY!6vI{7#DAzP?9;TFNyM(Aojlwj&G z)Akus#b-^S>4raRstDmy{wt`v>?wrQ*HE5-h?+2$+V7o%h3vqBj`mJ;1Z~?{E}I_S zo5-ylS>ML+M0Lw`p!fSD>|nGepMuazP7SI@^|Vb~8;z`LA>|7iSt?(4K%hk6p`W z?UK&l_!WdkoFO!Fv{U}uofm4QSTyfj!f2u+uZhBylb>nhbc>j5i&@?F(K;C3zR9Wi za-TBKFVsnR%#HDTG1Jjg8W5{iLQsk5$P|LOz;8t)E&xHD(4sR$eVi5DKC3=CL`E{P zfK)E=%$qv^&fXlb&qB+ojf-gCo;5a_`qlHsL&d{3>jj)*WijyFNawW3j;z>!2$e69 z`_YlzmcS+=Pb8R@=}%-7EG}T^;1%zGWz?mjmJb(Q120?y!Pj zk}M+4a$X`pyHCgK)dB(JHUL1uhe!m+yr7TCO1MYUQg{cFKMO#s`4KKtmX)3LXNWb- z+iygF9_njPQNw<*_XK}F1FEyTdbA$AWXu53IRK2H7y96cYMP`bnXtD4qTK=_k~Y~u z8yYh((0?$E*ty-d-#1WVpZlK%Z*J-@r%%3Au8;t?Y=Ac7_2w30RSkIVug2zZ=Q(-; z^{%Z&S=;ZsE%Sz|9l9|z4!vnnepb7Qn6C zv(;Zlf-DrRGl;Cg^q$GnBSkEYo-6T5&#J6>mqxuWdqHnCf~4AkTJZ&V zWX8SATwk`Ju)dd&Ekh4#tj&j4oyWcc4on|{Hb|NAKyBbfOTZWuAzj`aApg^&alx0y zWdyv7p~+i6VoilVAGm%7`_UkRy58Y?{sD!{Vo@1~-07#Q?en3=bDlTXCN8uTn)b9X z$w$pFb=-hXL9{B_ou;|&-C@_GmOGMOFT&9*fSzxgQ}s|q;fpkl>;?x$AheQ0v}gDC zL|{R`NqQf^&y9f)R4+QK>F9O|zKr3E{pOIQ`sXldV+&UFdq3)Pe2WIY24He^SZX>E z$z%FMbrM$lalveIWIsT>Es;bEnCU%uIAFVlMMDFULo4iH7$A3M0RAcXcD)Ju#bp^0 z`mHYmm1CDiftfMbX|b8$M;)XM_}>^-FCW)pYlR-`#(>|hI0YeTWsA(9Qn1Shca$$^ zyF$MvUb`7ZL8zof0K&NtD{O;?)Rd*5{svjsAnj6JzVt@&g7xxGk8=p0rT;mu+EDSS zVZA4(u5jIQ18aH_5X<=rB3m`?xCuJhzYGNdd_65@zE_>q<%2jQL{fG}cxBZep_=x) z-O#rcF;7)@70IpysLAG6Ye_#T{_Nx@08TghPUqZJAM;&xSq5`{E-QUhY)W|SDVdhw z54Jk~=_mu}sFax%!9<0SHO@h8!*uKh9Eiv3E4%BK!aP_4-x48b#kH0TV`SY97bS{j z_+KZx{)A6BY(_6Jub)^ymR&i|byLB>=+_+Lc*<}T*F?*>-#get93?RShNhp2=$3gT z?c7rc{sz`BxI*9OQuufA+NYZUqi^2CUKkY_(y?B?qmkXTUYxv%n8iriZ2*qML`z(2 zC2}LW%5M6J4DfZ(Db6H*MT&CnsUltmcqv8JcP2t_6sL)rR&T)IZ{Rgju>rrpeOEYM zL$^|O3c;-@7O8+PbN%4BOw_8nJ0Q*bIIOyFWp95Ro)+bUKF8~yMFAyjg z_o=p++H3$Y!dAh~c%hRo$!4zJzH)Ba#-B@vf1TeGQpWcKF9>H?j#ThBC49O%Qk3PY zae+z`^0kI=O2X1#GbQdx7W|Z3AA+oOdR?PdEdAD!rzc-_E3G#!o?#UvJ z%;(~_>IU2#rQ-HjX&lcT`n17pu(JmXk{;uuqgGu0VgV4l0-s!kR+r_2qRQuO$n(#j zMi6J#_fdbNL}iVMO1|o=%WX>UliBZ)6SLrp0$=bTXBRLpIv!+RmBsZL-h{iYSaKJD zTaN&3KCu8r6!w+9JAq(wcHs4BY^8YZfzouS{OCGRI!QELzM??)JS$aCu5#ug^t7`u zrNmp!MvC{%8cwpH{iO&N&y& zfk~pT6j?Ln@cbTA({sM4zJh!>bcSZ&Dmg46_bJgV#p!Z@s3Z#*Yo71Y4ct!8B){(T z_P9xt+f>^fjPFf=oTWvo8^huD7j3#0_Ix_oN;(G0E%L$TOZc$IYs@U8!I#}2B!@Oe zDY&bRC89oua~YNp@Zg1)6oT?{x={@5bIW~D=&GmTJdiAR9`OVRM;4)6#p1dp@Z)xE zCKLoJj&$wCv8Svl-}#ZIH)Kn=Y0tj?$QMGAw>Fi`V@=`sr|&EP?Pu7aiI!X%SS62^ zY{kj65PHl?R7c{v7`kWl2M z5m&T-z?z;hzFoldf%`6xuJJTo^~Bgkd#5R8krAOtgU;%cZY*{kDkOAOr$&>CStma!RBR9-&3bm z8U-%AMJXTqKZ=pv4h)N{6$RVBHj#@~195@+e|<;7!*IKMp|(`5W+~+|clRN3GuX(J zsd~=}i`5wmQ(d{7(eVjlD@8psl%~F#F5k4`%6*(NbyToe-J*37JoGRx=eDofboBE5sM41M+$g^1Z6!BB7zIr;*dHbBf+aqMpvl&jetx(iTpH*3g zEzpL?&icCL4SSSYRo2Q~^Z4s5@71u_Af5G7MDa zEP2W=vJ~ZG&uN6FHDH9d;zPgc#NPYxVaIWy_Y+4^=gtOf8>%7M&3vD`Lxlo)R61|( zmt@^j+a{T8@IC-vRN)zG@3#^fQ)n44Aj`R8=SQfhatNqp!kKs0SX-m2% zcWT(YZDK*JDfgQUhr9Jz1ZUj~?^OJhe@jWFwvN_|8|Wu)30plqbqGV4LIR71t)WMO zMJYco)t7A8ZOCUHs4(v-RRWbvX_d@#(OaFIE!%jS`cbOgmx((Goika#4R&@Nh#cG| zziOHktD5aF_r1ZKF(LD^&(qam%Hlc7$G-K1TXrn?chyr?L~<|e>)oWoQnsYW5DJkm znI716$#A5ltIlto!Mmt&JIvYXP-jhLy3CJgn&)>_&Mj`<+o_kV5GXS@1tZsK6cm>v^z_n(ygG*>n60ia$Oe8;O{A6wiUa^UW=UF$hnnoTh|y`!~S zF{AOhLUn}oy_!`TMV^N6@<=@E<;*&;ffiH)9z`f+m?sKNsD#tCOx)XDlzT}#lCP?dM{_0l8TFbue z>GzPE2(5i$wrN^nEiqBnn7V0V*8L`1X!!R#bFChGZj#KD74A1!@rn0L#T4&Mb4CQO zR}y#c9Jq{2#B8Hh;fBlK(@G$4lp8he(1{g<0vxyXr*H?#zrB3(%a+)-ijs)thr{UY zV~E}&5$-?nC@B;KMZCj3+Phu}nj0plBxqzNt31+qk<_#$?%+GCL6>6AN>0eeLPXUP z_|LU!?K(}0dGoPx-&GBjbmCD+FFMf0czAcGY2j6e)9ILxm3hpn-M2U5iSseVqhWnQ z*)qRO;l#qCXtYFQ)5f{5FFtV0Xn>OQLwiis2^zZ~B5LvuC$cmBo!YL&rUU2jND1$8 z6U5C!1cGaR@ys-rS_|8P@;_PF+v|#avBf8{RH;p;$_joczDW2eqRCGlJgLclxaxU6 z9k%J_+0J60FAZgo2>SPkmhGr1_=!BwL+Y{pnwt-)TxjE~t>C550{5}}0AzH8!>YO<-#rGZ9gVU?6kWBbzDAtczhX`Io# z&aX7k%A>)b9lEpaEcVu#N@3OCaXW*MsznXUW-EQD{RtsKq=pkM^C#IO>Fvf=L{2;( zrn|V8p(uCIZ7}WfO=yJBX^|(({L0#tZGZo*K-YO9<@KUs)Sgyc#fXCU^NlyERT(SQ zJ3fM(QI-P*nWfKE8|0$++J%*}DHb$t{=*&BGxiL zF{n1xV}w*HlD@dxRCTC+d@IDh0Qg|x2AY32UEXw?y1No>snrv+ z>T>-y*#y-WZr-_J74ICFzsV;`1%!G5=ZLCbp zWKS%U{W5u$u}Vy}rF&}pzP1z}C)%7ouFJCjt&Z-m zMo10%n=LahcpybP-HgW>yCSx8*Hm}ZY{1Bfr_9H0F_iOsxY4qnIR%#Ud6#Hf3JT|d zb9R{bA|VUKW4P26S%@-s?@7fsoRm8`Q>G!E?UG*MGKc92)lM!|HJUqMbLw%Xs4(qv zEvVa9k#uj*&`EGHx$RkD1IBNc2%$=@^TU$ReDS)q2l+$Ktux*&;bjV~Zy5C$J{SAu zHqdG0BS)sD(U+bgxAy&YL7HMvD!U~NxZgoWAIlWCyP1E5XiH1x9^XZHdcbu`0pqx9 zH{%KmOxsPI-96@QhX%S4M6AO^h^H&nB29Kh)+gCb-&zviS{G7TZ%c?B*4~Fsm$7WW zyZP6+-xb(&QhwZSO$gE?8;Vfx4s&N~>zOPJ(ArGj=jh>kdtbDiSJ&C@;`I5Rb=zmP zVsbUcLSccbS*BOk0&}moY&?A5!@M@BlhsP%zv?@9An?4_Dq2!=aEfYqjYg2lcAY=P z{FP9v+g@&)hf07*3(sKy_YMH5bOkh9{^U2~(ec!TtWG@_$~3mpBnR>%w8nhIh)<(~ z8HlHLt_HM3)O2|KB&6ntXoLXDZ~jNYOgkARz{(kY{3(+A2V0^MvKqmC396$Y^a9YTHjBA%E8_r^Ey7^;rTH|!0fJuB}C59CC1ZA@7 zExpXo?(c_QOTX6J`w*nYmBqX)C_!lKsDo_f#JdoC^3Rly{+rVDeosJ5Sex;g#o`iP z(V5&EY#c8amX!ZMi*i8eh53fRKJ>_Fi9I1LUR!x;LhBf0VCTn(r*)_gayk$2rzb{U zr{W$BuALO(#ecCufU99sYzXy6Liz|XfJOPbsvwktr2Aj++_gp$k&9sT=R;X?AEf{E z(=!V+`c8tA;Rpem#RcHX`v~4lYu;^%Yk{U&#kJ9n5Vh$3aF>1u{Dr~&ZR%NyQITE8 z0o#kon;tLjG|LDZTO+|H2wWHeJM{BKgeVQLvZdF?fZwYS3jcZ`%<*VGBRAkY8~53F zt8J9ofi!~M2!IltEcUr1uw=|{{P2VBN$jTk=XnTwjG}%+%)3w^3Q6l`Km{ZcYZ(9%OFc-U+Pb!kKqTf7S!Y&q6BfCm0QPQ##g2}-e>#y^u{5JyKDtkHxH(vTxehW861WfQzG5B?Fm zPC10a@DucG|0EElhVKb6j9&OUu;xX^5>;REgNojK9Jtz=_D%AN5nJ|tG$Qt)TOP57eoVk^Q`)poF&0-{=7ui79*d4^U=yK6QYKlA%}IK$-bP&SIViBJ-Ob5J}YB4652rqd2*1vJw@m5ZV7kR|8_BRtstMDXsePOe?w&g&?6vtk=2BBi zbU)^^-W{tDdj-r5eGq9?beGSp?V0qd-T=&EpWKb1Nu5=YU!e8TAfYt53ma`E z#H_SFB$@sonx>F4B8r86ZY>BiWTCJ(>Kw$96lv9*cONPCkuNog;g+LFg`Ket1erBu z5I!BUMZ}f~Z6i`BYS1FEr*cgMz$V z#Oxy&MRZcc7__j+MTkWFX(G)F!p|>rKeJmN9wJvZrM_oWF_)HJ@(DxsnJ_XIs_-`t zS_PMdD2vzFeTMCNEVIi`6nt{$TwsMj!X-`2;{*|oT7S&VBebG zU;DDBWev&c;s#su`Fm*zQG031_M>Ho*GxWOiFzz**p3tth8BeikJAHu+|Zp32<~N+ z*nv#5ghADESUCZFL5}U4{Y?7-v~g^Pt|)p)R9x#r+*KXi184;?)e@(&(pTVjm-qmd zwuJqdosoU1DuoH-He}kvxuVo&${|cyx@eJi-4ja89n#5HeOC$D0WoM~7;XQq^qtSi zOy#xbtAqo#p>?9ESSuYi3Ke;p{?nML_6!*Uvk0Ampn0g` z!6r}fne=Msr7uQnbss|FwPF#97OL%pGn1@WfJ`<0F;ZqbXjsbha6R!|?HL-v zZcjk89EO);^E zXfi(4QYDA(X|!iAy73*!ngzjTT_fj5Ts$}|mx({D5oUc;RAej5PaASw(~`s1jpoN| zSGJi_6sZ=>wsDR@Zalzs(gOSBn@a=MwH#}c5mCH0H?^*+7BCvg$HE?c< zrX)sHjrHNm=}^ss10buin^Fy$5Y1bZLqxq4y5t%9!M4CuwcmT^BWu*Oh+iWOiN8$< zX!N#B=1+Ny{xLQkhQ$T(?Yu_AXN`jqE`@&itq@0MVZpY{=P%zo`@i2|QlK)^(FwaGoZ2^Lizma`@oSP&=W#!l1`)hd-G0IK( znf?W7ov%DB7rO6wW_E98NA-|dY&A}VUehgBS=O3Jh`EA%#&32k%+WO9Gs zFYZ5GE0|}a)8hg`zQKbIg9So~yjO~Bt2y9MM`!04>5lsI_SdiBmlt&3<;(s!2ILA> zaiypCg0ofj2-Q#XPZCq6u?Y3V5#VLIwQBLlrVF`z9~LC9wnXwR1i1Op8zXA8@m+8G zb#3W#& zy<@jGFhH*pS6WMy`IwVCYI830lY~J~fmf%_&*8C5Opp4wuy!(Y8F`NB$d(qQrImCh z0%{e7Zzj{~PGE;qt|@z$7Q}awJ)(+S`#R^sD*JX`<7T$FLWZ#r9L3?rEv>1`iG$nn zVIbSa^!Zt16pf3(&52}BIxnW7t{?qMQleZTb1e3itSZI)N7(VJ;NomA`EX7%xY*VT$)`Wh{1hMXHmtGOG?F?v91p{$gA036iB0*28h58ao55 zdEM*Wbl63kyfDiw;pzN?EFX_@HC>OCt2f!suD_^cI>XzmcWm=^4j~V@o)OzQSd32} z%$@VJy?svLt*1qbMyVCsgw~DltMGP-v;F4rre$7CO3z8%?H5%Wpr4V!Sr^zV-#E?` z6}Z9P;$H7A#dmShHLo|R^EZ}2OK!tOcXv)(e4xi@fY<-pww78@#>>b4%)U=oHQYs^ zjvC2y3MQfK7Z?#yQd#)4}$Cl3(Hp8z+ZuXoP25 zOSu-BzNV2YF^9_Uvqzi686{*&iEb{=dhpoihNbSAu97=uC-N3h1D!;Fk$ z&WFOT>qFwalW(^*y{&e~g{aGPoR1t($P7|V(p zHhx7%mo~lXR!=+S&g@GZ;qh#DSBjz;nN6EeX3+e^@uB{NXV%1HRnc>=_t)?|HOg5e zElbhnqKY3hZ_*^!bEYXDu-Wj4#bzm;9(+Fde6B2X&NI$3>YrGQK|}8+15@-WSYMwa zWxKj9s0z7L`+=mZ6zn^>%`_%`0HW|5H+JR9#Oe8`7XbU6-PeajeqM;IkX1FvEWD$u znPvO{BbgPtN>#@lGg~UZ_UL23ghWpVUuK)8YpZG009f3MkmI*e2nBAaZyaSSV)t;e zmlfOppZ3oEAL@LM<0#i8i^1X18Ci}?S*@j9;&5sT4@!kPw4BN-$o=Q8AJ}NiQR-(=ZrN3#}_qBr=eMj7T=k+57A)^fjiyN{X zINEvdYwSh)!WeGc)gY~d#o$#Un)@5*6swv!Wg)95v6$$OP%Delx=(cCZV=NbQGVK+ zUEY=Q`g-W>dTSzoXmfzB;ATMe8ty{E%h_V{n>r^{4-8h*kofX>kXzN&6*J-$VRp6u zG0Un-cOZ8cPh78uio=L3&(T3=1x=B}q1dK#m*mZwIR%ySQVA9H653*O2Q6%FMSRv5 zR{j0PBXjQ6ueEsSMc)?sl1}uc8pIJAn|h+mcO$Ah*Vxb?tr;tj=s`O;sP-r5S1JiD z0ePt-D=#O5q0ZaNvV_Hix5@?xL8$Cc{f;M8Hs7#vzWM^~tKF95q{zh9$5%EZY%pHA z|IX$3ka%yMkq8H!MERIXKa**&SskRR?o(Kj9H;nY_Cl>I3Q3oO#&L6TCt@H^1acl$ zENV&Ozj8UW|76Tu+l!bgV|-^J)DU!>L`QrAy_bZOV)u4J4H051U+`1#YIe+OWe@NJ z|Hhq+z3(_*dmY5VhUyHVf&{%HR|gwgQ;$I^Q*%DKFIsTr@IJxfP%V5g>BD%EA7p{B zP>ZU$W@>Ws&4RqTU(ZMx--p!I6?wzAN7LMsZxMwD0TohQPBI7=f#_z!Wpwe^(<`Kk zbK;E~aUH`NkZzaJEUa~L&e7S|9RWzH>B4Xh(f>N5QxlP-5(C|lNJ}YX?pdzhg5KHK8Z+)(6!Lw zj7Z3nzk5DI&~^;nlS&cbky7_K<)A*RZcZ!3jRrz?* zNj#!XT%){puXNGv!4xNNtvOFyNzGJJJSjvsj){)y?XnWCQ=?{-w zrpbN2SYdT(uP1wZiO#!Blz!9Km*DV3jNEzUFRu&{0Qe#gQHJhvJ&Tv$TyOW;j4skj zx(*k6(e&x%W$cT!T>%ery@$e_7F_kr3>dU7_@IHF$RsLBJlVjLZPak#Av`1#YG(nq zMWTP-^A-tqC&Y|3lBLdNew)zRLs`%5Z0D}`=wHfI_A9^Rf;OSf<^EZ#no7EDYW%}l z=|)dbjxKxn4tLRelE9uwLB5k(>z&pYhGH&iyy1bT8aWWI9B&&R5D-}9XSL13p0KcU zLq#OQL!X_B+ryL>J_a?Vb&sqUm`8o?(o+{bz-0(gWwgrG7PW=rY$#+){i;lQh?DvZ zcYP?Vh$O=%iUN2nHF&tspKVZI--hNig@AMYs?wkdDtC2a9;!i9{)J(C@@6Mmk*=37 zZtHkEN%nSj<2MxGyi_y~UZ|M!secPmc~{Mww7z%fG}Yy}Sz?C50$kSbQWk34U}^{a!3D0-94-fnVC9zn{KD*p?b%x0T!F<4{xwO9=K}d?(ss-i{Ziv#E*NH>DJ676^2Q3KV-}hB zfx^&4hJwW8EKXaUQ&kCwjSz1x8kQrU+!!gI)<>*18Q$Tp89YdqxRIbx7Pbej&xdzM zpU9qHvePuxU@MR%{$_+`;kq1^wSbPScbM!bNd|P3d}m#Oss7rbY)&pV4|jc%J$fXS zL{K`-66_F+Xrm?k5dYZ=69)K=z_-nW)Dcf(iglM5S`dn+oBYNn6b&BKEqSm|!LN4D zM~M*@%JP6r%N>RY?;%p40W9KEK^Sp7VWAFRSI=w0uuAW(Gol;E8)Oj{>Q?U_51x^; z!D>;5o@5>685z7PSSWAF*h@}8VcIsCQZ5t|7RoPOQ6VmzGVpWGFtL{aj4ZIfT8?Kf z{Z(M0DrOm{>)A5v&wq54-RP4yENN--wt#Ot&BF1%Nm7Re6% zCo-hF>;v}@IA0|XEL6ra3$+z9|Nn)B3L0sthhEE#AUJ|6MC?VQ7k-oi;wUj;{fw#_ zWMY3q6R9a#x!f_&^uKc0r|OL(qIAcuGBY_-uPn5}{~YT-m*>Tutn1*4w+hXK@Fp^U z`&>HWalefOYW=%?mgnX^I6Sy{s5m?aveEV+@Id7rxeJ1&1 z(tF?x)Kre~s$U-sfIldee5`xBFI{-7#YY2J^1YT=Q5R2F6S9jR>U{F<+f1BmEb2o| zc}x8dqrit-HpnMdSvJVBL6(=y2S>8(Lq6Do`wj+q+!xlodFJH*a=ZAk{HmWg!V0mB Vei`Y|YXbPPqV3#v^Kbu%{4ey63=RMQ literal 123295 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 Date: Thu, 15 Apr 2021 00:43:12 -0400 Subject: [PATCH 07/15] tickerct --- .gitignore | 4 ++- Makefile | 4 +-- discord.go | 4 +-- mumble.go | 16 ++++++++-- tickerct.go | 81 ++++++++++++++++++++++++++++++++++++++++++++++++ tickerct_test.go | 72 ++++++++++++++++++++++++++++++++++++++++++ 6 files changed, 173 insertions(+), 8 deletions(-) create mode 100644 tickerct.go create mode 100644 tickerct_test.go diff --git a/.gitignore b/.gitignore index 87b6e38..c5efcd4 100644 --- a/.gitignore +++ b/.gitignore @@ -3,5 +3,7 @@ main mumble-discord-bridge dist bridge -.prof +*.prof +*.out +*.test cert.pem \ No newline at end of file diff --git a/Makefile b/Makefile index 5d9d6cd..e4a2448 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -GOFILES=main.go mumble.go discord.go bridge.go config.go mumble-handlers.go discord-handlers.go +GOFILES=main.go mumble.go discord.go bridge.go config.go mumble-handlers.go discord-handlers.go tickerct.go mumble-discord-bridge: $(GOFILES) goreleaser build --skip-validate --rm-dist @@ -7,7 +7,7 @@ dev: $(GOFILES) goreleaser build --skip-validate --rm-dist && sudo ./dist/mumble-discord-bridge_linux_amd64/mumble-discord-bridge dev-race: $(GOFILES) - go run -race *.go + go run -race $(GOFILES) dev-profile: $(GOFILES) goreleaser build --skip-validate --rm-dist && sudo ./dist/mumble-discord-bridge_linux_amd64/mumble-discord-bridge -cpuprofile cpu.prof diff --git a/discord.go b/discord.go index f2915e9..7d2f79f 100644 --- a/discord.go +++ b/discord.go @@ -61,7 +61,7 @@ func (dd *DiscordDuplex) discordSendPCM(ctx context.Context, wg *sync.WaitGroup, opusSilence = append(opusSilence, 0x00) } - ticker := time.NewTicker(20 * time.Millisecond) + ticker := NewTickerCT(20 * time.Millisecond) lastReady := true var readyTimeout *time.Timer @@ -235,7 +235,7 @@ func (dd *DiscordDuplex) discordReceivePCM(ctx context.Context, wg *sync.WaitGro } func (dd *DiscordDuplex) fromDiscordMixer(ctx context.Context, wg *sync.WaitGroup, toMumble chan<- gumble.AudioBuffer) { - ticker := time.NewTicker(10 * time.Millisecond) + ticker := NewTickerCT(10 * time.Millisecond) sendAudio := false wg.Add(1) diff --git a/mumble.go b/mumble.go index 1d363d2..1f60548 100644 --- a/mumble.go +++ b/mumble.go @@ -44,8 +44,10 @@ func (m MumbleDuplex) OnAudioStream(e *gumble.AudioStreamEvent) { } func (m MumbleDuplex) fromMumbleMixer(ctx context.Context, wg *sync.WaitGroup, toDiscord chan []int16) { - ticker := time.NewTicker(10 * time.Millisecond) + ticker := NewTickerCT(10 * time.Millisecond) sendAudio := false + bufferWarning := false + wg.Add(1) for { @@ -93,14 +95,22 @@ func (m MumbleDuplex) fromMumbleMixer(ctx context.Context, wg *sync.WaitGroup, t } if len(toDiscord) > 20 { - log.Println("Debug: Warning Discord buffer size") + if !bufferWarning { + log.Println("Warning: toDiscord buffer size") + bufferWarning = true + } + } else { + if bufferWarning { + log.Println("Resolved: toDiscord buffer size") + bufferWarning = false + } } if sendAudio { select { case toDiscord <- outBuf: default: - log.Println("toDiscord buffer full. Dropping packet") + log.Println("Error: toDiscord buffer full. Dropping packet") } } } diff --git a/tickerct.go b/tickerct.go new file mode 100644 index 0000000..392d89a --- /dev/null +++ b/tickerct.go @@ -0,0 +1,81 @@ +package main + +import ( + "errors" + "fmt" + "sync" + "time" +) + +// A Ticker holds a channel that delivers ``ticks'' of a clock +// at intervals. +type TickerCT struct { + sync.Mutex + C <-chan time.Time // The channel on which the ticks are delivered. + c chan<- time.Time // internal use + r *time.Timer // internal timer + d time.Duration // the set duration + last time.Time // the last time the ticker ticked + stop bool // mark the ticker as stopped +} + +// NewTickerCT returns a new Ticker containing a channel that will send +// the time on the channel after each tick. The period of the ticks is +// specified by the duration argument. The ticker queue ticks. +// The duration d must be greater than zero; if not, NewTickerCT will +// panic. Stop the ticker to release associated resources. +func NewTickerCT(d time.Duration) *TickerCT { + if d <= 0 { + panic(errors.New("non-positive interval for NewTickerCT")) + } + + // Give the channel a large buffer to allow clients to catchup + c := make(chan time.Time, 100) + + t := &TickerCT{ + C: c, + c: c, + d: d, + last: time.Now(), + stop: false, + } + + t.Lock() + t.r = time.AfterFunc(d, func() { t.tick() }) + t.Unlock() + + return t +} + +func (t *TickerCT) tick() { + t.Lock() + if t.stop { + fmt.Println("stopped") + return + } + + now := time.Now() + t.c <- now + + current := t.last.Add(t.d) + target := current.Add(t.d) + + d := target.Sub(now) + + // if d.Microseconds() < 1 { + // d = time.Duration(time.Microsecond) + // } + // delta := now.Sub(current) + // fmt.Println("delta", delta, d) + + t.r.Reset(d) + t.last = current + t.Unlock() +} + +func (t *TickerCT) Stop() { + t.stop = true + if t.r != nil { + t.r.Stop() + } +} diff --git a/tickerct_test.go b/tickerct_test.go new file mode 100644 index 0000000..fd1c318 --- /dev/null +++ b/tickerct_test.go @@ -0,0 +1,72 @@ +package main + +import ( + "fmt" + "math/rand" + "sync" + "testing" + "time" +) + +const testCount int64 = 10000 +const maxSleepInterval time.Duration = 15 * time.Millisecond +const tickerInterval time.Duration = 10 * time.Millisecond +const testDuration time.Duration = time.Duration(testCount * 10 * int64(time.Millisecond)) + +func Testticker(wg *sync.WaitGroup) { + wg.Add(1) + go func(interval time.Duration) { + now := time.Now() + start := now + // start the ticker + t := time.NewTicker(interval) + var i int64 + for i = 0; i < testCount; i++ { + if i+1 < testCount { + time.Sleep(time.Duration(float64(maxSleepInterval) * rand.Float64())) + } + now = <-t.C + // fmt.Println(now) + } + t.Stop() + fmt.Println("Ticker after", testDuration, "drifts", time.Since(start)-testDuration) + wg.Done() + }(tickerInterval) +} + +func TestTicker(t *testing.T) { + wg := sync.WaitGroup{} + + Testticker(&wg) + + wg.Wait() +} + +func TesttickerCT(wg *sync.WaitGroup) { + wg.Add(1) + go func(interval time.Duration) { + now := time.Now() + start := now + // start the ticker + t := NewTickerCT(interval) + var i int64 + for i = 0; i < testCount; i++ { + if i+1 < testCount { + time.Sleep(time.Duration(float64(maxSleepInterval) * rand.Float64())) + } + now = <-t.C + // fmt.Println(now) + } + t.Stop() + fmt.Println("TickerCT after", testDuration, "drifts", time.Since(start)-testDuration) + wg.Done() + }(tickerInterval) +} + +func TestTickerCT(t *testing.T) { + wg := sync.WaitGroup{} + + TesttickerCT(&wg) + + wg.Wait() +} From cc387ba3b90e9b365f137c731cb4440256052e4d Mon Sep 17 00:00:00 2001 From: Tyler Stiene Date: Sun, 18 Apr 2021 00:30:27 -0400 Subject: [PATCH 08/15] sleepct and tests --- Makefile | 6 ++++ discord.go | 23 +++++++++++--- docs/test-cpu-memory.png | Bin 0 -> 36570 bytes mumble.go | 48 ++++++++++++++++------------- sleepct.go | 41 ++++++++++++++++++++++++ test-cpu-memory.png | Bin 0 -> 32227 bytes tickerct.go | 2 +- tickerct_test.go => timing_test.go | 30 ++++++++++++++++++ 8 files changed, 122 insertions(+), 28 deletions(-) create mode 100644 docs/test-cpu-memory.png create mode 100644 sleepct.go create mode 100644 test-cpu-memory.png rename tickerct_test.go => timing_test.go (71%) diff --git a/Makefile b/Makefile index e4a2448..5d30e51 100644 --- a/Makefile +++ b/Makefile @@ -12,6 +12,12 @@ dev-race: $(GOFILES) dev-profile: $(GOFILES) goreleaser build --skip-validate --rm-dist && sudo ./dist/mumble-discord-bridge_linux_amd64/mumble-discord-bridge -cpuprofile cpu.prof +test-chart: SHELL:=/bin/bash +test-chart: + go test & + until pidof mumble-discord-bridge.test; do continue; done; + psrecord --plot test-cpu-memory.png $$(pidof mumble-discord-bridge.test) + docker-latest: docker build -t stieneee/mumble-discord-bridge:latest . diff --git a/discord.go b/discord.go index 7d2f79f..272345b 100644 --- a/discord.go +++ b/discord.go @@ -61,7 +61,11 @@ func (dd *DiscordDuplex) discordSendPCM(ctx context.Context, wg *sync.WaitGroup, opusSilence = append(opusSilence, 0x00) } - ticker := NewTickerCT(20 * time.Millisecond) + // ticker := NewTickerCT(20 * time.Millisecond) + sleepTick := SleepCT{ + d: 20 * time.Millisecond, + t: time.Now(), + } lastReady := true var readyTimeout *time.Timer @@ -97,7 +101,10 @@ func (dd *DiscordDuplex) discordSendPCM(ctx context.Context, wg *sync.WaitGroup, return default: } - <-ticker.C + + // <-ticker.C + sleepTick.SleepNextTarget() + if (len(pcm) > 1 && streaming) || (len(pcm) > dd.Bridge.BridgeConfig.DiscordStartStreamingCount && !streaming) { if !streaming { log.Println("Debug: Discord start speaking") @@ -134,7 +141,8 @@ func (dd *DiscordDuplex) discordSendPCM(ctx context.Context, wg *sync.WaitGroup, // We want to do this after alerting the user of possible short speaking cycles for i := 0; i < 5; i++ { internalSend(opusSilence) - <-ticker.C + // <-ticker.C + sleepTick.SleepNextTarget() } dd.Bridge.DiscordVoice.Speaking(false) @@ -235,7 +243,10 @@ func (dd *DiscordDuplex) discordReceivePCM(ctx context.Context, wg *sync.WaitGro } func (dd *DiscordDuplex) fromDiscordMixer(ctx context.Context, wg *sync.WaitGroup, toMumble chan<- gumble.AudioBuffer) { - ticker := NewTickerCT(10 * time.Millisecond) + sleepTick := SleepCT{ + d: 10 * time.Millisecond, + t: time.Now(), + } sendAudio := false wg.Add(1) @@ -244,9 +255,11 @@ func (dd *DiscordDuplex) fromDiscordMixer(ctx context.Context, wg *sync.WaitGrou case <-ctx.Done(): wg.Done() return - case <-ticker.C: + default: } + sleepTick.SleepNextTarget() + dd.discordMutex.Lock() sendAudio = false diff --git a/docs/test-cpu-memory.png b/docs/test-cpu-memory.png new file mode 100644 index 0000000000000000000000000000000000000000..90a991416cceba0cea86d8ca83ee3923e145ff96 GIT binary patch literal 36570 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 XZohpTX7Y9dfqzslX)0zYm_GhL?#L7i literal 0 HcmV?d00001 diff --git a/mumble.go b/mumble.go index 1f60548..c248b57 100644 --- a/mumble.go +++ b/mumble.go @@ -44,7 +44,10 @@ func (m MumbleDuplex) OnAudioStream(e *gumble.AudioStreamEvent) { } func (m MumbleDuplex) fromMumbleMixer(ctx context.Context, wg *sync.WaitGroup, toDiscord chan []int16) { - ticker := NewTickerCT(10 * time.Millisecond) + sleepTick := SleepCT{ + d: 10 * time.Millisecond, + t: time.Now(), + } sendAudio := false bufferWarning := false @@ -58,7 +61,7 @@ func (m MumbleDuplex) fromMumbleMixer(ctx context.Context, wg *sync.WaitGroup, t default: } - <-ticker.C + sleepTick.SleepNextTarget() mutex.Lock() @@ -86,27 +89,28 @@ func (m MumbleDuplex) fromMumbleMixer(ctx context.Context, wg *sync.WaitGroup, t mutex.Unlock() - outBuf := make([]int16, 480) - - for i := 0; i < len(outBuf); i++ { - for j := 0; j < len(internalMixerArr); j++ { - outBuf[i] += (internalMixerArr[j])[i] - } - } - - if len(toDiscord) > 20 { - if !bufferWarning { - log.Println("Warning: toDiscord buffer size") - bufferWarning = true - } - } else { - if bufferWarning { - log.Println("Resolved: toDiscord buffer size") - bufferWarning = false - } - } - if sendAudio { + + outBuf := make([]int16, 480) + + for i := 0; i < len(outBuf); i++ { + for j := 0; j < len(internalMixerArr); j++ { + outBuf[i] += (internalMixerArr[j])[i] + } + } + + if len(toDiscord) > 20 { + if !bufferWarning { + log.Println("Warning: toDiscord buffer size") + bufferWarning = true + } + } else { + if bufferWarning { + log.Println("Resolved: toDiscord buffer size") + bufferWarning = false + } + } + select { case toDiscord <- outBuf: default: diff --git a/sleepct.go b/sleepct.go new file mode 100644 index 0000000..f5277c7 --- /dev/null +++ b/sleepct.go @@ -0,0 +1,41 @@ +package main + +import ( + "fmt" + "sync" + "time" +) + +// SleepCT - Sleep constant time step crates a sleep based ticker +// designed maintain a sleep/tick interval +type SleepCT struct { + sync.Mutex + d time.Duration // duration + t time.Time // last time target +} + +func (s *SleepCT) SleepNextTarget() { + s.Lock() + + now := time.Now() + + var last time.Time + if s.t.IsZero() { + fmt.Println("SleepCT reset") + last = now.Add(-s.d) + } else { + last = s.t + } + + // Next Target + s.t = last.Add(s.d) + + d := s.t.Sub(now) + + time.Sleep(d) + + // delta := now.Sub(s.t) + // fmt.Println("delta", delta, d, time.Since(s.t)) + + s.Unlock() +} diff --git a/test-cpu-memory.png b/test-cpu-memory.png new file mode 100644 index 0000000000000000000000000000000000000000..50c4db5e36a16a7fbe9fad672f6bbd70f2301cf7 GIT binary patch literal 32227 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 Date: Sun, 18 Apr 2021 17:17:16 -0400 Subject: [PATCH 09/15] idlejitter test --- Makefile | 2 +- docs/test-cpu-memory.png | Bin 36570 -> 27424 bytes test-cpu-memory.png | Bin 32227 -> 0 bytes timing_test.go | 39 +++++++++++++++++++++++++++++++++++++++ 4 files changed, 40 insertions(+), 1 deletion(-) delete mode 100644 test-cpu-memory.png diff --git a/Makefile b/Makefile index 5d30e51..e7cabea 100644 --- a/Makefile +++ b/Makefile @@ -16,7 +16,7 @@ test-chart: SHELL:=/bin/bash test-chart: go test & until pidof mumble-discord-bridge.test; do continue; done; - psrecord --plot test-cpu-memory.png $$(pidof mumble-discord-bridge.test) + psrecord --plot docs/test-cpu-memory.png $$(pidof mumble-discord-bridge.test) docker-latest: docker build -t stieneee/mumble-discord-bridge:latest . diff --git a/docs/test-cpu-memory.png b/docs/test-cpu-memory.png index 90a991416cceba0cea86d8ca83ee3923e145ff96..3d20fc2f2c8fbeaa1c6a0cee3a0be436e961deeb 100644 GIT binary patch literal 27424 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 XZohpTX7Y9dfqzslX)0zYm_GhL?#L7i diff --git a/test-cpu-memory.png b/test-cpu-memory.png deleted file mode 100644 index 50c4db5e36a16a7fbe9fad672f6bbd70f2301cf7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32227 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 Date: Sun, 18 Apr 2021 17:39:25 -0400 Subject: [PATCH 10/15] unloaded and loaded ticker test --- timing_test.go | 40 +++++++++++++++++++++++++++++++++------- 1 file changed, 33 insertions(+), 7 deletions(-) diff --git a/timing_test.go b/timing_test.go index d6b69b1..781138d 100644 --- a/timing_test.go +++ b/timing_test.go @@ -15,7 +15,33 @@ const maxSleepInterval time.Duration = 15 * time.Millisecond const tickerInterval time.Duration = 10 * time.Millisecond const testDuration time.Duration = time.Duration(testCount * 10 * int64(time.Millisecond)) -func Testticker(wg *sync.WaitGroup) { +func testTickerBaseCase(wg *sync.WaitGroup) { + wg.Add(1) + go func(interval time.Duration) { + now := time.Now() + start := now + // start the ticker + t := time.NewTicker(interval) + var i int64 + for i = 0; i < testCount; i++ { + now = <-t.C + // fmt.Println(now) + } + t.Stop() + fmt.Println("Ticker (unloaded) after", testDuration, "drifts", time.Since(start)-testDuration) + wg.Done() + }(tickerInterval) +} + +func TestTickerBaseCase(t *testing.T) { + wg := sync.WaitGroup{} + + testTickerBaseCase(&wg) + + wg.Wait() +} + +func testTickerLoaded(wg *sync.WaitGroup) { wg.Add(1) go func(interval time.Duration) { now := time.Now() @@ -31,7 +57,7 @@ func Testticker(wg *sync.WaitGroup) { // fmt.Println(now) } t.Stop() - fmt.Println("Ticker after", testDuration, "drifts", time.Since(start)-testDuration) + fmt.Println("Ticker (loaded) after", testDuration, "drifts", time.Since(start)-testDuration) wg.Done() }(tickerInterval) } @@ -39,12 +65,12 @@ func Testticker(wg *sync.WaitGroup) { func TestTicker(t *testing.T) { wg := sync.WaitGroup{} - Testticker(&wg) + testTickerLoaded(&wg) wg.Wait() } -func TesttickerCT(wg *sync.WaitGroup) { +func testTickerCT(wg *sync.WaitGroup) { wg.Add(1) go func(interval time.Duration) { now := time.Now() @@ -60,7 +86,7 @@ func TesttickerCT(wg *sync.WaitGroup) { // fmt.Println(now) } t.Stop() - fmt.Println("TickerCT after", testDuration, "drifts", time.Since(start)-testDuration) + fmt.Println("TickerCT (loaded) after", testDuration, "drifts", time.Since(start)-testDuration) wg.Done() }(tickerInterval) } @@ -68,7 +94,7 @@ func TesttickerCT(wg *sync.WaitGroup) { func TestTickerCT(t *testing.T) { wg := sync.WaitGroup{} - TesttickerCT(&wg) + testTickerCT(&wg) wg.Wait() } @@ -90,7 +116,7 @@ func testSleepCT(wg *sync.WaitGroup) { } s.SleepNextTarget() } - fmt.Println("SleepCT after", testDuration, "drifts", time.Since(start)-testDuration) + fmt.Println("SleepCT (loaded) after", testDuration, "drifts", time.Since(start)-testDuration) wg.Done() }(tickerInterval) } From 29ff1d797fb1d76b8a5f24adf3b9601df82fe3f7 Mon Sep 17 00:00:00 2001 From: Tyler Stiene Date: Mon, 19 Apr 2021 22:07:36 -0400 Subject: [PATCH 11/15] chore move tickerct to seperate repo --- go.mod | 1 + go.sum | 2 ++ tickerct.go | 81 -------------------------------------------------- timing_test.go | 4 ++- 4 files changed, 6 insertions(+), 82 deletions(-) delete mode 100644 tickerct.go diff --git a/go.mod b/go.mod index ad4ffd3..d631085 100644 --- a/go.mod +++ b/go.mod @@ -7,6 +7,7 @@ require ( github.com/golang/protobuf v1.4.3 // indirect github.com/gorilla/websocket v1.4.2 // indirect github.com/joho/godotenv v1.3.0 + github.com/stieneee/tickerct v0.0.0-20210420020607-d1b092aa40e9 // indirect golang.org/x/crypto v0.0.0-20201221181555-eec23a3978ad // indirect golang.org/x/sys v0.0.0-20210108172913-0df2131ae363 // indirect google.golang.org/protobuf v1.25.0 // indirect diff --git a/go.sum b/go.sum index a7b2e37..2e6259b 100644 --- a/go.sum +++ b/go.sum @@ -46,6 +46,8 @@ github.com/joho/godotenv v1.3.0 h1:Zjp+RcGpHhGlrMbJzXTrZZPrWj+1vfm90La1wgB6Bhc= github.com/joho/godotenv v1.3.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqxOKXbg= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4 h1:gQz4mCbXsO+nc9n1hCxHcGA3Zx3Eo+UHZoInFGUIXNM= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/stieneee/tickerct v0.0.0-20210420020607-d1b092aa40e9 h1:0l2H6Oj6JHMmkqm9xaBMQA5MOGhPT+Nn/thlTUcD9Iw= +github.com/stieneee/tickerct v0.0.0-20210420020607-d1b092aa40e9/go.mod h1:54+oZlabriEpT52rPAjAeEWUFgYqv325LrS3hNxHGFE= golang.org/x/crypto v0.0.0-20181030102418-4d3f4d9ffa16 h1:y6ce7gCWtnH+m3dCjzQ1PCuwl28DDIc3VNnvY29DlIA= golang.org/x/crypto v0.0.0-20181030102418-4d3f4d9ffa16/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= diff --git a/tickerct.go b/tickerct.go deleted file mode 100644 index 7ada854..0000000 --- a/tickerct.go +++ /dev/null @@ -1,81 +0,0 @@ -package main - -import ( - "errors" - "fmt" - "sync" - "time" -) - -// A Ticker holds a channel that delivers ``ticks'' of a clockinter -// at intervals. -type TickerCT struct { - sync.Mutex - C <-chan time.Time // The channel on which the ticks are delivered. - c chan<- time.Time // internal use - r *time.Timer // internal timer - d time.Duration // the set duration - last time.Time // the last time the ticker ticked - stop bool // mark the ticker as stopped -} - -// NewTickerCT returns a new Ticker containing a channel that will send -// the time on the channel after each tick. The period of the ticks is -// specified by the duration argument. The ticker queue ticks. -// The duration d must be greater than zero; if not, NewTickerCT will -// panic. Stop the ticker to release associated resources. -func NewTickerCT(d time.Duration) *TickerCT { - if d <= 0 { - panic(errors.New("non-positive interval for NewTickerCT")) - } - - // Give the channel a large buffer to allow clients to catchup - c := make(chan time.Time, 100) - - t := &TickerCT{ - C: c, - c: c, - d: d, - last: time.Now(), - stop: false, - } - - t.Lock() - t.r = time.AfterFunc(d, func() { t.tick() }) - t.Unlock() - - return t -} - -func (t *TickerCT) tick() { - t.Lock() - if t.stop { - fmt.Println("stopped") - return - } - - now := time.Now() - t.c <- now - - current := t.last.Add(t.d) - target := current.Add(t.d) - - d := target.Sub(now) - - // if d.Microseconds() < 1 { - // d = time.Duration(time.Microsecond) - // } - // delta := now.Sub(current) - // fmt.Println("delta", delta, d) - - t.r.Reset(d) - t.last = current - t.Unlock() -} - -func (t *TickerCT) Stop() { - t.stop = true - if t.r != nil { - t.r.Stop() - } -} diff --git a/timing_test.go b/timing_test.go index 781138d..8592d90 100644 --- a/timing_test.go +++ b/timing_test.go @@ -8,6 +8,8 @@ import ( "sync" "testing" "time" + + "github.com/stieneee/tickerct" ) const testCount int64 = 10000 @@ -76,7 +78,7 @@ func testTickerCT(wg *sync.WaitGroup) { now := time.Now() start := now // start the ticker - t := NewTickerCT(interval) + t := tickerct.NewTickerCT(interval) var i int64 for i = 0; i < testCount; i++ { if i+1 < testCount { From c7f79ba01d1c19fc9607630f14e217d29378fb9a Mon Sep 17 00:00:00 2001 From: Tyler Stiene Date: Mon, 19 Apr 2021 22:17:09 -0400 Subject: [PATCH 12/15] remove temp debug message --- discord.go | 2 -- go.mod | 2 +- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/discord.go b/discord.go index 272345b..ca463d0 100644 --- a/discord.go +++ b/discord.go @@ -107,7 +107,6 @@ func (dd *DiscordDuplex) discordSendPCM(ctx context.Context, wg *sync.WaitGroup, if (len(pcm) > 1 && streaming) || (len(pcm) > dd.Bridge.BridgeConfig.DiscordStartStreamingCount && !streaming) { if !streaming { - log.Println("Debug: Discord start speaking") speakingStart = time.Now() dd.Bridge.DiscordVoice.Speaking(true) streaming = true @@ -132,7 +131,6 @@ func (dd *DiscordDuplex) discordSendPCM(ctx context.Context, wg *sync.WaitGroup, // Or when timing delays are introduced via network, hardware or kernel delays (Problem). // The problem delays result in choppy or stuttering sounds, especially when the silence frames are introduced into the opus frames below. // Multiple short cycle delays can result in a Discrod rate limiter being trigger due to of multiple JSON speaking/not-speaking state changes - log.Println("Debug: Discord stop speaking", time.Since(speakingStart).Milliseconds(), "ms") // remove before merge if time.Since(speakingStart).Milliseconds() < 100 { log.Println("Warning: Short Mumble to Discord speaking cycle. Consider increaseing the size of the TO_DISCORD_BUFFER") } diff --git a/go.mod b/go.mod index d631085..37ad23d 100644 --- a/go.mod +++ b/go.mod @@ -7,7 +7,7 @@ require ( github.com/golang/protobuf v1.4.3 // indirect github.com/gorilla/websocket v1.4.2 // indirect github.com/joho/godotenv v1.3.0 - github.com/stieneee/tickerct v0.0.0-20210420020607-d1b092aa40e9 // indirect + github.com/stieneee/tickerct v0.0.0-20210420020607-d1b092aa40e9 golang.org/x/crypto v0.0.0-20201221181555-eec23a3978ad // indirect golang.org/x/sys v0.0.0-20210108172913-0df2131ae363 // indirect google.golang.org/protobuf v1.25.0 // indirect From a1f6a60b89b69e74772be1d0e0c0fbcf8fb9538c Mon Sep 17 00:00:00 2001 From: Tyler Stiene Date: Mon, 19 Apr 2021 23:25:45 -0400 Subject: [PATCH 13/15] to mumble jitter buffer and silence --- Makefile | 2 +- README.md | 65 ++++++++++++++++++++++++++++++++++-------------------- config.go | 1 + discord.go | 60 ++++++++++++++++++++++++++++++++++++++----------- main.go | 13 +++++++++-- 5 files changed, 101 insertions(+), 40 deletions(-) diff --git a/Makefile b/Makefile index e7cabea..80a6b48 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -GOFILES=main.go mumble.go discord.go bridge.go config.go mumble-handlers.go discord-handlers.go tickerct.go +GOFILES=main.go mumble.go discord.go bridge.go config.go mumble-handlers.go discord-handlers.go sleepct.go mumble-discord-bridge: $(GOFILES) goreleaser build --skip-validate --rm-dist diff --git a/README.md b/README.md index 5882071..0db32c1 100644 --- a/README.md +++ b/README.md @@ -13,41 +13,43 @@ The binary will also attempt to load .env file located in the working directory. ```bash Usage of ./mumble-discord-bridge: -cpuprofile file - write cpu profile to file + write cpu profile to file -debug-level int - DEBUG_LEVEL, Discord debug level, optional, (default 1) (default 1) + DEBUG_LEVEL, Discord debug level, optional, (default 1) (default 1) -discord-cid string - DISCORD_CID, discord cid, required + DISCORD_CID, discord cid, required -discord-command string - DISCORD_COMMAND, Discord command string, env alt DISCORD_COMMAND, optional, (defaults mumble-discord) (default "mumble-discord") + DISCORD_COMMAND, Discord command string, env alt DISCORD_COMMAND, optional, (defaults mumble-discord) (default "mumble-discord") -discord-disable-text - DISCORD_DISABLE_TEXT, disable sending direct messages to discord, (default false) + DISCORD_DISABLE_TEXT, disable sending direct messages to discord, (default false) -discord-gid string - DISCORD_GID, discord gid, required + DISCORD_GID, discord gid, required -discord-token string - DISCORD_TOKEN, discord bot token, required + DISCORD_TOKEN, discord bot token, required -mode string - MODE, [constant, manual, auto] determine which mode the bridge starts in, (default constant) (default "constant") + MODE, [constant, manual, auto] determine which mode the bridge starts in, (default constant) (default "constant") -mumble-address string - MUMBLE_ADDRESS, mumble server address, example example.com, required + MUMBLE_ADDRESS, mumble server address, example example.com, required -mumble-certificate string - MUMBLE_CERTIFICATE, client certificate to use when connecting to the Mumble server + MUMBLE_CERTIFICATE, client certificate to use when connecting to the Mumble server -mumble-channel string - MUMBLE_CHANNEL, mumble channel to start in, using '/' to separate nested channels, optional + MUMBLE_CHANNEL, mumble channel to start in, using '/' to separate nested channels, optional -mumble-disable-text - MUMBLE_DISABLE_TEXT, disable sending text to mumble, (default false) + MUMBLE_DISABLE_TEXT, disable sending text to mumble, (default false) -mumble-insecure - MUMBLE_INSECURE, mumble insecure, optional + MUMBLE_INSECURE, mumble insecure, optional -mumble-password string - MUMBLE_PASSWORD, mumble password, optional + MUMBLE_PASSWORD, mumble password, optional -mumble-port int - MUMBLE_PORT, mumble port, (default 64738) (default 64738) + MUMBLE_PORT, mumble port, (default 64738) (default 64738) -mumble-username string - MUMBLE_USERNAME, mumble username, (default: discord) (default "Discord") + MUMBLE_USERNAME, mumble username, (default: discord) (default "Discord") -nice - NICE, whether the bridge should automatically try to 'nice' itself, (default false) + NICE, whether the bridge should automatically try to 'nice' itself, (default false) -to-discord-buffer int - TO_DISCORD_BUFFER, Delay buffer from Mumble to Discord to absorb timing issues related to network and hardware quality. (Increments of 10ms) (default 50) + TO_DISCORD_BUFFER, Jitter buffer from Mumble to Discord to absorb timing issues related to network, OS and hardware quality. (Increments of 10ms) (default 50) + -to-mumble-buffer int + TO_MUMBLE_BUFFER, Jitter buffer from Discord to Mumble to absorb timing issues related to network, OS and hardware quality. (Increments of 10ms) (default 50) ``` The bridge can be run with the follow modes: @@ -66,14 +68,18 @@ In "auto" or "manual" modes, the bridge can be controlled in Discord with the fo ```bash !DISCORD_COMMAND link - Commands the bridge to join the Discord channel the user is in and the Mumble server + Commands the bridge to join the Discord channel the user is in and the Mumble server + !DISCORD_COMMAND unlink - Commands the bridge to leave the Discord channel the user is in and the Mumble server + Commands the bridge to leave the Discord channel the user is in and the Mumble server + !DISCORD_COMMAND refresh - Commands the bridge to unlink, then link again. + Commands the bridge to unlink, then link again. + !DISCORD_COMMAND auto - Toggle between manual and auto mode + Toggle between manual and auto mode ``` + ## Setup ### Creating a Discord Bot @@ -85,6 +91,7 @@ The guide below provides information on how to setup a Discord bot. Individual Discord servers need to invite the bot before it can connect. The bot requires the following permissions: + * View Channels * See Messages * Read Message History @@ -165,6 +172,16 @@ go build -o mumble-discord-bridge *.go make mumble-discord-bridge ``` +## Jitter Buffer + +The bridge implements simple jitter buffers that attempt to compensate for network, OS and hardware related jitter. +These jitter buffers are configurable in both directions. +A jitter buffer will slightly the delay the transmission of audio in order to have audio packets buffered for the next time step. +The Mumble client itself includes a jitter buffer for similar reasons. +A default jitter of 50ms should be adequate for most scenarios. +A warning will be logged if short burst or audio are seen. +A single warning can be ignored multiple warnings in short time spans would suggest the need for a larger jitter buffer. + ## Known Issues Currently there is an issue opening the discord voice channel. @@ -187,5 +204,5 @@ Please consider opening an issue to discuss features and ideas. The project would not have been possible without: -- [gumble](https://github.com/layeh/gumble) -- [discordgo](https://github.com/bwmarrin/discordgo) +* [gumble](https://github.com/layeh/gumble) +* [discordgo](https://github.com/bwmarrin/discordgo) diff --git a/config.go b/config.go index 149254e..bcf4539 100644 --- a/config.go +++ b/config.go @@ -26,6 +26,7 @@ type BridgeConfig struct { MumbleInsecure bool MumbleCertificate string MumbleChannel []string + mumbleStartStreamCount int MumbleDisableText bool Command string GID string diff --git a/discord.go b/discord.go index ca463d0..23fe141 100644 --- a/discord.go +++ b/discord.go @@ -102,7 +102,6 @@ func (dd *DiscordDuplex) discordSendPCM(ctx context.Context, wg *sync.WaitGroup, default: } - // <-ticker.C sleepTick.SleepNextTarget() if (len(pcm) > 1 && streaming) || (len(pcm) > dd.Bridge.BridgeConfig.DiscordStartStreamingCount && !streaming) { @@ -132,14 +131,13 @@ func (dd *DiscordDuplex) discordSendPCM(ctx context.Context, wg *sync.WaitGroup, // The problem delays result in choppy or stuttering sounds, especially when the silence frames are introduced into the opus frames below. // Multiple short cycle delays can result in a Discrod rate limiter being trigger due to of multiple JSON speaking/not-speaking state changes if time.Since(speakingStart).Milliseconds() < 100 { - log.Println("Warning: Short Mumble to Discord speaking cycle. Consider increaseing the size of the TO_DISCORD_BUFFER") + log.Println("Warning: Short Mumble to Discord speaking cycle. Consider increaseing the size of the to Discord jitter buffer.") } // Send silence as suggested by Discord Documentation. // We want to do this after alerting the user of possible short speaking cycles for i := 0; i < 5; i++ { internalSend(opusSilence) - // <-ticker.C sleepTick.SleepNextTarget() } @@ -241,11 +239,17 @@ func (dd *DiscordDuplex) discordReceivePCM(ctx context.Context, wg *sync.WaitGro } func (dd *DiscordDuplex) fromDiscordMixer(ctx context.Context, wg *sync.WaitGroup, toMumble chan<- gumble.AudioBuffer) { + mumbleSilence := gumble.AudioBuffer{} + for i := 3; i < 480; i++ { + mumbleSilence = append(mumbleSilence, 0x00) + } + var speakingStart time.Time sleepTick := SleepCT{ d: 10 * time.Millisecond, t: time.Now(), } sendAudio := false + toMumbleStreaming := false wg.Add(1) for { @@ -265,9 +269,16 @@ func (dd *DiscordDuplex) fromDiscordMixer(ctx context.Context, wg *sync.WaitGrou // Work through each channel for i := range dd.fromDiscordMap { - if len(dd.fromDiscordMap[i].pcm) > 0 { + bufferLength := len(dd.fromDiscordMap[i].pcm) + isStreaming := dd.fromDiscordMap[i].streaming + if (bufferLength > 0 && isStreaming) || (bufferLength > dd.Bridge.BridgeConfig.mumbleStartStreamCount && !isStreaming) { + if !toMumbleStreaming { + speakingStart = time.Now() + toMumbleStreaming = true + } sendAudio = true - if !dd.fromDiscordMap[i].streaming { + + if !isStreaming { x := dd.fromDiscordMap[i] x.streaming = true dd.fromDiscordMap[i] = x @@ -286,21 +297,44 @@ func (dd *DiscordDuplex) fromDiscordMixer(ctx context.Context, wg *sync.WaitGrou dd.discordMutex.Unlock() - outBuf := make([]int16, 480) + mumbleTimeoutSend := func(outBuf []int16) { + timeout := make(chan bool, 1) + go func() { + time.Sleep(10 * time.Millisecond) + timeout <- true + }() - for i := 0; i < len(outBuf); i++ { - for j := 0; j < len(internalMixerArr); j++ { - outBuf[i] += (internalMixerArr[j])[i] + select { + case toMumble <- outBuf: + case <-timeout: + log.Println("toMumble timeout. Dropping packet") } } if sendAudio { - select { - case toMumble <- outBuf: - default: - log.Println("toMumble buffer full. Dropping packet") + // Regular send mixed audio + outBuf := make([]int16, 480) + + for i := 0; i < len(outBuf); i++ { + for j := 0; j < len(internalMixerArr); j++ { + outBuf[i] += (internalMixerArr[j])[i] + } } + mumbleTimeoutSend(outBuf) + } else if !sendAudio && toMumbleStreaming { + // Send opus silence to mumble + // See note above about jitter buffer warning + if time.Since(speakingStart).Milliseconds() < 100 { + log.Println("Warning: Short Discord to Mumble speaking cycle. Consider increaseing the size of the to Mumble jitter buffer.") + } + + for i := 0; i < 5; i++ { + mumbleTimeoutSend(mumbleSilence) + sleepTick.SleepNextTarget() + } + + toMumbleStreaming = false } } } diff --git a/main.go b/main.go index 7b9ec15..813c5c9 100644 --- a/main.go +++ b/main.go @@ -42,11 +42,12 @@ func main() { mumbleInsecure := flag.Bool("mumble-insecure", lookupEnvOrBool("MUMBLE_INSECURE", false), " MUMBLE_INSECURE, mumble insecure, optional") mumbleCertificate := flag.String("mumble-certificate", lookupEnvOrString("MUMBLE_CERTIFICATE", ""), "MUMBLE_CERTIFICATE, client certificate to use when connecting to the Mumble server") mumbleChannel := flag.String("mumble-channel", lookupEnvOrString("MUMBLE_CHANNEL", ""), "MUMBLE_CHANNEL, mumble channel to start in, using '/' to separate nested channels, optional") + mumbleSendBuffer := flag.Int("to-mumble-buffer", lookupEnvOrInt("TO_MUMBLE_BUFFER", 50), "TO_MUMBLE_BUFFER, Jitter buffer from Discord to Mumble to absorb timing issues related to network, OS and hardware quality. (Increments of 10ms)") mumbleDisableText := flag.Bool("mumble-disable-text", lookupEnvOrBool("MUMBLE_DISABLE_TEXT", false), "MUMBLE_DISABLE_TEXT, disable sending text to mumble, (default false)") discordToken := flag.String("discord-token", lookupEnvOrString("DISCORD_TOKEN", ""), "DISCORD_TOKEN, discord bot token, required") discordGID := flag.String("discord-gid", lookupEnvOrString("DISCORD_GID", ""), "DISCORD_GID, discord gid, required") discordCID := flag.String("discord-cid", lookupEnvOrString("DISCORD_CID", ""), "DISCORD_CID, discord cid, required") - discordSendBuffer := flag.Int("to-discord-buffer", lookupEnvOrInt("TO_DISCORD_BUFFER", 50), "TO_DISCORD_BUFFER, Delay buffer from Mumble to Discord to absorb timing issues related to network and hardware quality. (Increments of 10ms)") + discordSendBuffer := flag.Int("to-discord-buffer", lookupEnvOrInt("TO_DISCORD_BUFFER", 50), "TO_DISCORD_BUFFER, Jitter buffer from Mumble to Discord to absorb timing issues related to network, OS and hardware quality. (Increments of 10ms)") discordCommand := flag.String("discord-command", lookupEnvOrString("DISCORD_COMMAND", "mumble-discord"), "DISCORD_COMMAND, Discord command string, env alt DISCORD_COMMAND, optional, (defaults mumble-discord)") discordDisableText := flag.Bool("discord-disable-text", lookupEnvOrBool("DISCORD_DISABLE_TEXT", false), "DISCORD_DISABLE_TEXT, disable sending direct messages to discord, (default false)") mode := flag.String("mode", lookupEnvOrString("MODE", "constant"), "MODE, [constant, manual, auto] determine which mode the bridge starts in, (default constant)") @@ -102,8 +103,15 @@ func main() { *discordSendBuffer = 10 } + if *mumbleSendBuffer < 10 { + *mumbleSendBuffer = 10 + } + var discordStartStreamingCount int = int(math.Round(float64(*discordSendBuffer) / 10.0)) - log.Println("Discord Streaming Buffer: ", discordStartStreamingCount*10, " ms") + log.Println("To Discord Jitter Buffer: ", discordStartStreamingCount*10, " ms") + + var mumbleStartStreamCount int = int(math.Round(float64(*mumbleSendBuffer) / 10.0)) + log.Println("To Mumble Jitter Buffer: ", mumbleStartStreamCount*10, " ms") // BRIDGE SETUP @@ -114,6 +122,7 @@ func main() { MumbleInsecure: *mumbleInsecure, MumbleCertificate: *mumbleCertificate, MumbleChannel: strings.Split(*mumbleChannel, "/"), + mumbleStartStreamCount: mumbleStartStreamCount, MumbleDisableText: *mumbleDisableText, Command: *discordCommand, GID: *discordGID, From 235dc44f414bc5666033d47a7277676c27f55b69 Mon Sep 17 00:00:00 2001 From: Tyler Stiene Date: Sat, 24 Apr 2021 13:17:11 -0400 Subject: [PATCH 14/15] recover from panic on shutdown --- main.go | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/main.go b/main.go index 813c5c9..5173200 100644 --- a/main.go +++ b/main.go @@ -197,9 +197,16 @@ func main() { Bridge.Mode = bridgeModeConstant Bridge.DiscordChannelID = Bridge.BridgeConfig.CID go func() { + defer func() { + if r := recover(); r != nil { + fmt.Println("Bridge paniced", r) + } + }() for { Bridge.startBridge() - log.Println("Bridge died. Restarting") + log.Println("Bridge died") + time.Sleep(5 * time.Second) + log.Println("Restarting") } }() default: @@ -211,7 +218,7 @@ func main() { // Shutdown on OS signal sc := make(chan os.Signal, 1) - signal.Notify(sc, syscall.SIGINT, syscall.SIGTERM, os.Interrupt, os.Kill) + signal.Notify(sc, syscall.SIGINT, syscall.SIGTERM, os.Interrupt) <-sc log.Println("OS Signal. Bot shutting down") From 9246563a35063a298b92bec5cc03f84292fc5103 Mon Sep 17 00:00:00 2001 From: Tyler Stiene Date: Sat, 24 Apr 2021 13:22:09 -0400 Subject: [PATCH 15/15] openbsd readme update --- README.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/README.md b/README.md index 0db32c1..9ada4bd 100644 --- a/README.md +++ b/README.md @@ -172,6 +172,11 @@ go build -o mumble-discord-bridge *.go make mumble-discord-bridge ``` +### OpenBSD Users + +OpenBSD users should consider compiling a custom kernel to use 1000 ticks for the best possible performance. +See [issue 20](https://github.com/Stieneee/mumble-discord-bridge/issues/20) for the latest discussion about this topic. + ## Jitter Buffer The bridge implements simple jitter buffers that attempt to compensate for network, OS and hardware related jitter.