From 9970aaf6738c1e149e2c669aa0d7a4e703a79cc3 Mon Sep 17 00:00:00 2001 From: samrobinson Date: Tue, 2 Nov 2021 15:18:29 +0000 Subject: [PATCH 01/10] Update the TransformerMediaClock trackTime before deducting the offset. #minor-release PiperOrigin-RevId: 407086818 --- .../exoplayer2/transformer/TransformerAudioRenderer.java | 2 +- .../exoplayer2/transformer/TransformerBaseRenderer.java | 3 +-- .../exoplayer2/transformer/TransformerMuxingVideoRenderer.java | 2 +- .../transformer/TransformerTranscodingVideoRenderer.java | 2 +- 4 files changed, 4 insertions(+), 5 deletions(-) diff --git a/library/transformer/src/main/java/com/google/android/exoplayer2/transformer/TransformerAudioRenderer.java b/library/transformer/src/main/java/com/google/android/exoplayer2/transformer/TransformerAudioRenderer.java index 8da9dcd2e1..f20915c120 100644 --- a/library/transformer/src/main/java/com/google/android/exoplayer2/transformer/TransformerAudioRenderer.java +++ b/library/transformer/src/main/java/com/google/android/exoplayer2/transformer/TransformerAudioRenderer.java @@ -279,8 +279,8 @@ import org.checkerframework.checker.nullness.qual.RequiresNonNull; int result = readSource(getFormatHolder(), decoderInputBuffer, /* readFlags= */ 0); switch (result) { case C.RESULT_BUFFER_READ: - decoderInputBuffer.timeUs -= streamOffsetUs; mediaClock.updateTimeForTrackType(getTrackType(), decoderInputBuffer.timeUs); + decoderInputBuffer.timeUs -= streamOffsetUs; decoderInputBuffer.flip(); decoder.queueInputBuffer(decoderInputBuffer); return !decoderInputBuffer.isEndOfStream(); diff --git a/library/transformer/src/main/java/com/google/android/exoplayer2/transformer/TransformerBaseRenderer.java b/library/transformer/src/main/java/com/google/android/exoplayer2/transformer/TransformerBaseRenderer.java index 6e19f0b9f9..d3fe72d65b 100644 --- a/library/transformer/src/main/java/com/google/android/exoplayer2/transformer/TransformerBaseRenderer.java +++ b/library/transformer/src/main/java/com/google/android/exoplayer2/transformer/TransformerBaseRenderer.java @@ -48,8 +48,7 @@ import com.google.android.exoplayer2.util.MimeTypes; } @Override - protected void onStreamChanged(Format[] formats, long startPositionUs, long offsetUs) - throws ExoPlaybackException { + protected void onStreamChanged(Format[] formats, long startPositionUs, long offsetUs) { this.streamOffsetUs = offsetUs; } diff --git a/library/transformer/src/main/java/com/google/android/exoplayer2/transformer/TransformerMuxingVideoRenderer.java b/library/transformer/src/main/java/com/google/android/exoplayer2/transformer/TransformerMuxingVideoRenderer.java index d14378754e..4692a6ca81 100644 --- a/library/transformer/src/main/java/com/google/android/exoplayer2/transformer/TransformerMuxingVideoRenderer.java +++ b/library/transformer/src/main/java/com/google/android/exoplayer2/transformer/TransformerMuxingVideoRenderer.java @@ -117,8 +117,8 @@ import java.nio.ByteBuffer; muxerWrapper.endTrack(getTrackType()); return false; } - buffer.timeUs -= streamOffsetUs; mediaClock.updateTimeForTrackType(getTrackType(), buffer.timeUs); + buffer.timeUs -= streamOffsetUs; ByteBuffer data = checkNotNull(buffer.data); data.flip(); if (sampleTransformer != null) { diff --git a/library/transformer/src/main/java/com/google/android/exoplayer2/transformer/TransformerTranscodingVideoRenderer.java b/library/transformer/src/main/java/com/google/android/exoplayer2/transformer/TransformerTranscodingVideoRenderer.java index 931e985a5d..f4836e49df 100644 --- a/library/transformer/src/main/java/com/google/android/exoplayer2/transformer/TransformerTranscodingVideoRenderer.java +++ b/library/transformer/src/main/java/com/google/android/exoplayer2/transformer/TransformerTranscodingVideoRenderer.java @@ -320,8 +320,8 @@ import org.checkerframework.checker.nullness.qual.RequiresNonNull; case C.RESULT_FORMAT_READ: throw new IllegalStateException("Format changes are not supported."); case C.RESULT_BUFFER_READ: - decoderInputBuffer.timeUs -= streamOffsetUs; mediaClock.updateTimeForTrackType(getTrackType(), decoderInputBuffer.timeUs); + decoderInputBuffer.timeUs -= streamOffsetUs; ByteBuffer data = checkNotNull(decoderInputBuffer.data); data.flip(); decoder.queueInputBuffer(decoderInputBuffer); From 1ed5861a725e98886d9a174f112087b3d9fb37af Mon Sep 17 00:00:00 2001 From: tonihei Date: Tue, 2 Nov 2021 17:01:13 +0000 Subject: [PATCH 02/10] Suppress lint warnings in leanback module. These warnings are caused by the fact that this is a library and the lint check doesn't see any app using the library in a TV context. PiperOrigin-RevId: 407110725 --- extensions/leanback/src/main/AndroidManifest.xml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/extensions/leanback/src/main/AndroidManifest.xml b/extensions/leanback/src/main/AndroidManifest.xml index e385551143..1649d3c386 100644 --- a/extensions/leanback/src/main/AndroidManifest.xml +++ b/extensions/leanback/src/main/AndroidManifest.xml @@ -14,6 +14,8 @@ limitations under the License. --> - + From 41e338229af5c6e666b8006e992f8aef47fcabe4 Mon Sep 17 00:00:00 2001 From: aquilescanta Date: Tue, 2 Nov 2021 18:36:26 +0000 Subject: [PATCH 03/10] Parse HDR static metadata from MP4 files #minor-release PiperOrigin-RevId: 407136922 --- RELEASENOTES.md | 1 + .../exoplayer2/extractor/mp4/Atom.java | 6 + .../exoplayer2/extractor/mp4/AtomParsers.java | 87 +++- .../extractor/mp4/Mp4ExtractorTest.java | 6 + .../sample_with_colr_mdcv_and_clli.mp4.0.dump | 454 ++++++++++++++++++ .../sample_with_colr_mdcv_and_clli.mp4.1.dump | 398 +++++++++++++++ .../sample_with_colr_mdcv_and_clli.mp4.2.dump | 338 +++++++++++++ .../sample_with_colr_mdcv_and_clli.mp4.3.dump | 282 +++++++++++ ...colr_mdcv_and_clli.mp4.unknown_length.dump | 454 ++++++++++++++++++ .../mp4/sample_with_colr_mdcv_and_clli.mp4 | Bin 0 -> 285393 bytes 10 files changed, 2015 insertions(+), 11 deletions(-) create mode 100644 testdata/src/test/assets/extractordumps/mp4/sample_with_colr_mdcv_and_clli.mp4.0.dump create mode 100644 testdata/src/test/assets/extractordumps/mp4/sample_with_colr_mdcv_and_clli.mp4.1.dump create mode 100644 testdata/src/test/assets/extractordumps/mp4/sample_with_colr_mdcv_and_clli.mp4.2.dump create mode 100644 testdata/src/test/assets/extractordumps/mp4/sample_with_colr_mdcv_and_clli.mp4.3.dump create mode 100644 testdata/src/test/assets/extractordumps/mp4/sample_with_colr_mdcv_and_clli.mp4.unknown_length.dump create mode 100644 testdata/src/test/assets/media/mp4/sample_with_colr_mdcv_and_clli.mp4 diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 0d8bf3fdb5..586144ca28 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -64,6 +64,7 @@ * MP4: Avoid throwing `ArrayIndexOutOfBoundsException` when parsing invalid `colr` boxes produced by some device cameras ([#9332](https://github.com/google/ExoPlayer/issues/9332)). + * MP4: Parse HDR static metadata from the `clli` and `mdcv` boxes. * TS: Correctly handle HEVC tracks with pixel aspect ratios other than 1. * TS: Map stream type 0x80 to H262 ([#9472](https://github.com/google/ExoPlayer/issues/9472)). diff --git a/library/extractor/src/main/java/com/google/android/exoplayer2/extractor/mp4/Atom.java b/library/extractor/src/main/java/com/google/android/exoplayer2/extractor/mp4/Atom.java index bc8633acc8..9c5de24b70 100644 --- a/library/extractor/src/main/java/com/google/android/exoplayer2/extractor/mp4/Atom.java +++ b/library/extractor/src/main/java/com/google/android/exoplayer2/extractor/mp4/Atom.java @@ -410,6 +410,12 @@ import java.util.List; @SuppressWarnings("ConstantCaseForConstants") public static final int TYPE_twos = 0x74776f73; + @SuppressWarnings("ConstantCaseForConstants") + public static final int TYPE_clli = 0x636c6c69; + + @SuppressWarnings("ConstantCaseForConstants") + public static final int TYPE_mdcv = 0x6d646376; + public final int type; public Atom(int type) { diff --git a/library/extractor/src/main/java/com/google/android/exoplayer2/extractor/mp4/AtomParsers.java b/library/extractor/src/main/java/com/google/android/exoplayer2/extractor/mp4/AtomParsers.java index bc5fa10fe3..442758716a 100644 --- a/library/extractor/src/main/java/com/google/android/exoplayer2/extractor/mp4/AtomParsers.java +++ b/library/extractor/src/main/java/com/google/android/exoplayer2/extractor/mp4/AtomParsers.java @@ -45,6 +45,8 @@ import com.google.android.exoplayer2.video.DolbyVisionConfig; import com.google.android.exoplayer2.video.HevcConfig; import com.google.common.base.Function; import com.google.common.collect.ImmutableList; +import java.nio.ByteBuffer; +import java.nio.ByteOrder; import java.util.ArrayList; import java.util.Arrays; import java.util.List; @@ -1061,6 +1063,8 @@ import org.checkerframework.checker.nullness.compatqual.NullableType; .build(); } + // hdrStaticInfo is allocated using allocate() in allocateHdrStaticInfo(). + @SuppressWarnings("ByteBufferBackingArray") private static void parseVideoSampleEntry( ParsableByteArray parent, int atomType, @@ -1112,7 +1116,14 @@ import org.checkerframework.checker.nullness.compatqual.NullableType; @Nullable String codecs = null; @Nullable byte[] projectionData = null; @C.StereoMode int stereoMode = Format.NO_VALUE; - @Nullable ColorInfo colorInfo = null; + + // HDR related metadata. + @C.ColorSpace int colorSpace = Format.NO_VALUE; + @C.ColorRange int colorRange = Format.NO_VALUE; + @C.ColorTransfer int colorTransfer = Format.NO_VALUE; + // The format of HDR static info is defined in CTA-861-G:2017, Table 45. + @Nullable ByteBuffer hdrStaticInfo = null; + while (childPosition - position < size) { parent.setPosition(childPosition); int childStartPosition = parent.getPosition(); @@ -1157,6 +1168,43 @@ import org.checkerframework.checker.nullness.compatqual.NullableType; } else if (childAtomType == Atom.TYPE_av1C) { ExtractorUtil.checkContainerInput(mimeType == null, /* message= */ null); mimeType = MimeTypes.VIDEO_AV1; + } else if (childAtomType == Atom.TYPE_clli) { + if (hdrStaticInfo == null) { + hdrStaticInfo = allocateHdrStaticInfo(); + } + // The contents of the clli box occupy the last 4 bytes of the HDR static info array. Note + // that each field is read in big endian and written in little endian. + hdrStaticInfo.position(21); + hdrStaticInfo.putShort(parent.readShort()); // max_content_light_level. + hdrStaticInfo.putShort(parent.readShort()); // max_pic_average_light_level. + } else if (childAtomType == Atom.TYPE_mdcv) { + if (hdrStaticInfo == null) { + hdrStaticInfo = allocateHdrStaticInfo(); + } + // The contents of the mdcv box occupy 20 bytes after the first byte of the HDR static info + // array. Note that each field is read in big endian and written in little endian. + short displayPrimariesGX = parent.readShort(); + short displayPrimariesGY = parent.readShort(); + short displayPrimariesBX = parent.readShort(); + short displayPrimariesBY = parent.readShort(); + short displayPrimariesRX = parent.readShort(); + short displayPrimariesRY = parent.readShort(); + short whitePointX = parent.readShort(); + short whitePointY = parent.readShort(); + long maxDisplayMasteringLuminance = parent.readUnsignedInt(); + long minDisplayMasteringLuminance = parent.readUnsignedInt(); + + hdrStaticInfo.position(1); + hdrStaticInfo.putShort(displayPrimariesRX); + hdrStaticInfo.putShort(displayPrimariesRY); + hdrStaticInfo.putShort(displayPrimariesGX); + hdrStaticInfo.putShort(displayPrimariesGY); + hdrStaticInfo.putShort(displayPrimariesBX); + hdrStaticInfo.putShort(displayPrimariesBY); + hdrStaticInfo.putShort(whitePointX); + hdrStaticInfo.putShort(whitePointY); + hdrStaticInfo.putShort((short) (maxDisplayMasteringLuminance / 10000)); + hdrStaticInfo.putShort((short) (minDisplayMasteringLuminance / 10000)); } else if (childAtomType == Atom.TYPE_d263) { ExtractorUtil.checkContainerInput(mimeType == null, /* message= */ null); mimeType = MimeTypes.VIDEO_H263; @@ -1211,12 +1259,10 @@ import org.checkerframework.checker.nullness.compatqual.NullableType; // size=18): https://github.com/google/ExoPlayer/issues/9332 boolean fullRangeFlag = childAtomSize == 19 && (parent.readUnsignedByte() & 0b10000000) != 0; - colorInfo = - new ColorInfo( - ColorInfo.isoColorPrimariesToColorSpace(colorPrimaries), - fullRangeFlag ? C.COLOR_RANGE_FULL : C.COLOR_RANGE_LIMITED, - ColorInfo.isoTransferCharacteristicsToColorTransfer(transferCharacteristics), - /* hdrStaticInfo= */ null); + colorSpace = ColorInfo.isoColorPrimariesToColorSpace(colorPrimaries); + colorRange = fullRangeFlag ? C.COLOR_RANGE_FULL : C.COLOR_RANGE_LIMITED; + colorTransfer = + ColorInfo.isoTransferCharacteristicsToColorTransfer(transferCharacteristics); } else { Log.w(TAG, "Unsupported color type: " + Atom.getAtomTypeString(colorType)); } @@ -1229,7 +1275,7 @@ import org.checkerframework.checker.nullness.compatqual.NullableType; return; } - out.format = + Format.Builder formatBuilder = new Format.Builder() .setId(trackId) .setSampleMimeType(mimeType) @@ -1241,9 +1287,28 @@ import org.checkerframework.checker.nullness.compatqual.NullableType; .setProjectionData(projectionData) .setStereoMode(stereoMode) .setInitializationData(initializationData) - .setDrmInitData(drmInitData) - .setColorInfo(colorInfo) - .build(); + .setDrmInitData(drmInitData); + if (colorSpace != Format.NO_VALUE + || colorRange != Format.NO_VALUE + || colorTransfer != Format.NO_VALUE + || hdrStaticInfo != null) { + // Note that if either mdcv or clli are missing, we leave the corresponding HDR static + // metadata bytes with value zero. See [Internal ref: b/194535665]. + formatBuilder.setColorInfo( + new ColorInfo( + colorSpace, + colorRange, + colorTransfer, + hdrStaticInfo != null ? hdrStaticInfo.array() : null)); + } + out.format = formatBuilder.build(); + } + + private static ByteBuffer allocateHdrStaticInfo() { + // For HDR static info, Android decoders expect a 25-byte array. The first byte is zero to + // represent Static Metadata Type 1, as per CTA-861-G:2017, Table 44. The following 24 bytes + // follow CTA-861-G:2017, Table 45. + return ByteBuffer.allocate(25).order(ByteOrder.LITTLE_ENDIAN); } private static void parseMetaDataSampleEntry( diff --git a/library/extractor/src/test/java/com/google/android/exoplayer2/extractor/mp4/Mp4ExtractorTest.java b/library/extractor/src/test/java/com/google/android/exoplayer2/extractor/mp4/Mp4ExtractorTest.java index 911f3f477e..88aba133e3 100644 --- a/library/extractor/src/test/java/com/google/android/exoplayer2/extractor/mp4/Mp4ExtractorTest.java +++ b/library/extractor/src/test/java/com/google/android/exoplayer2/extractor/mp4/Mp4ExtractorTest.java @@ -119,4 +119,10 @@ public final class Mp4ExtractorTest { ExtractorAsserts.assertBehavior( Mp4Extractor::new, "media/mp4/sample_dthd.mp4", simulationConfig); } + + @Test + public void mp4SampleWithColrMdcvAndClli() throws Exception { + ExtractorAsserts.assertBehavior( + Mp4Extractor::new, "media/mp4/sample_with_colr_mdcv_and_clli.mp4", simulationConfig); + } } diff --git a/testdata/src/test/assets/extractordumps/mp4/sample_with_colr_mdcv_and_clli.mp4.0.dump b/testdata/src/test/assets/extractordumps/mp4/sample_with_colr_mdcv_and_clli.mp4.0.dump new file mode 100644 index 0000000000..8ef4f19b16 --- /dev/null +++ b/testdata/src/test/assets/extractordumps/mp4/sample_with_colr_mdcv_and_clli.mp4.0.dump @@ -0,0 +1,454 @@ +seekMap: + isSeekable = true + duration = 1022000 + getPosition(0) = [[timeUs=0, position=48]] + getPosition(1) = [[timeUs=0, position=48]] + getPosition(511000) = [[timeUs=0, position=48]] + getPosition(1022000) = [[timeUs=0, position=48]] +numberOfTracks = 2 +track 0: + total output bytes = 266091 + sample count = 60 + format 0: + id = 1 + sampleMimeType = video/av01 + maxInputSize = 144656 + width = 1920 + height = 1080 + frameRate = 59.940056 + colorInfo: + colorSpace = 6 + colorRange = 2 + colorTransfer = 6 + hdrStaticInfo = length 25, hash 423AFC35 + sample 0: + time = 0 + flags = 1 + data = length 144626, hash 7C021D5F + sample 1: + time = 16683 + flags = 0 + data = length 4018, hash FA5E79FA + sample 2: + time = 33366 + flags = 0 + data = length 3, hash D5E0 + sample 3: + time = 50050 + flags = 0 + data = length 144, hash 4A868A2F + sample 4: + time = 66733 + flags = 0 + data = length 3, hash D5D0 + sample 5: + time = 83416 + flags = 0 + data = length 342, hash 5A2E1C3C + sample 6: + time = 100100 + flags = 0 + data = length 3, hash D610 + sample 7: + time = 116783 + flags = 0 + data = length 173, hash CFE014B3 + sample 8: + time = 133466 + flags = 0 + data = length 3, hash D5C0 + sample 9: + time = 150150 + flags = 0 + data = length 655, hash 3A7738B6 + sample 10: + time = 166833 + flags = 0 + data = length 3, hash D5D0 + sample 11: + time = 183516 + flags = 0 + data = length 208, hash E7D2035A + sample 12: + time = 200200 + flags = 0 + data = length 3, hash D600 + sample 13: + time = 216883 + flags = 0 + data = length 385, hash 4D025B28 + sample 14: + time = 233566 + flags = 0 + data = length 3, hash D5E0 + sample 15: + time = 250250 + flags = 0 + data = length 192, hash CC0BD164 + sample 16: + time = 266933 + flags = 0 + data = length 3, hash D5B0 + sample 17: + time = 283616 + flags = 0 + data = length 36989, hash C213D35E + sample 18: + time = 300300 + flags = 0 + data = length 3, hash D5C0 + sample 19: + time = 316983 + flags = 0 + data = length 213, hash 2BBA39D3 + sample 20: + time = 333666 + flags = 0 + data = length 3, hash D600 + sample 21: + time = 350350 + flags = 0 + data = length 474, hash 83D66E3F + sample 22: + time = 367033 + flags = 0 + data = length 3, hash D5E0 + sample 23: + time = 383716 + flags = 0 + data = length 246, hash CF512AF0 + sample 24: + time = 400400 + flags = 0 + data = length 3, hash D610 + sample 25: + time = 417083 + flags = 0 + data = length 880, hash 8BFDE683 + sample 26: + time = 433766 + flags = 0 + data = length 3, hash D5C0 + sample 27: + time = 450450 + flags = 0 + data = length 246, hash 16B70503 + sample 28: + time = 467133 + flags = 0 + data = length 3, hash D600 + sample 29: + time = 483816 + flags = 0 + data = length 402, hash 51B5FAC9 + sample 30: + time = 500500 + flags = 0 + data = length 3, hash D610 + sample 31: + time = 517183 + flags = 0 + data = length 199, hash 12005069 + sample 32: + time = 533866 + flags = 0 + data = length 3, hash D5D0 + sample 33: + time = 550550 + flags = 0 + data = length 32362, hash F9FE31F7 + sample 34: + time = 567233 + flags = 0 + data = length 3, hash D5E0 + sample 35: + time = 583916 + flags = 0 + data = length 215, hash 2D4E3DC4 + sample 36: + time = 600600 + flags = 0 + data = length 3, hash D600 + sample 37: + time = 617283 + flags = 0 + data = length 450, hash C1A95E3 + sample 38: + time = 633966 + flags = 0 + data = length 3, hash D610 + sample 39: + time = 650650 + flags = 0 + data = length 221, hash 964386D9 + sample 40: + time = 667333 + flags = 0 + data = length 3, hash D5F0 + sample 41: + time = 684016 + flags = 0 + data = length 853, hash 2B9E0AAF + sample 42: + time = 700700 + flags = 0 + data = length 3, hash D5E0 + sample 43: + time = 717383 + flags = 0 + data = length 236, hash 7E84BBAE + sample 44: + time = 734066 + flags = 0 + data = length 3, hash D600 + sample 45: + time = 750750 + flags = 0 + data = length 419, hash 619235F2 + sample 46: + time = 767433 + flags = 0 + data = length 3, hash D5F0 + sample 47: + time = 784116 + flags = 0 + data = length 194, hash D386F352 + sample 48: + time = 800800 + flags = 0 + data = length 3, hash D5A0 + sample 49: + time = 817483 + flags = 0 + data = length 38679, hash 17E63FCD + sample 50: + time = 834166 + flags = 0 + data = length 3, hash D610 + sample 51: + time = 850850 + flags = 0 + data = length 183, hash C8DD98E2 + sample 52: + time = 867533 + flags = 0 + data = length 3, hash D600 + sample 53: + time = 884216 + flags = 0 + data = length 457, hash 2B4E3476 + sample 54: + time = 900900 + flags = 0 + data = length 3, hash D5F0 + sample 55: + time = 917583 + flags = 0 + data = length 216, hash 7233540A + sample 56: + time = 934266 + flags = 0 + data = length 3, hash D5C0 + sample 57: + time = 950950 + flags = 0 + data = length 894, hash 7319F313 + sample 58: + time = 967633 + flags = 0 + data = length 3, hash D610 + sample 59: + time = 984316 + flags = 536870912 + data = length 233, hash DE4DBE67 +track 1: + total output bytes = 16638 + sample count = 44 + format 0: + id = 2 + sampleMimeType = audio/mp4a-latm + codecs = mp4a.40.2 + maxInputSize = 441 + channelCount = 2 + sampleRate = 44100 + language = und + metadata = entries=[TSSE: description=null: value=Lavf58.76.100] + initializationData: + data = length 16, hash CAA21BBF + sample 0: + time = 0 + flags = 1 + data = length 393, hash 706D1B6F + sample 1: + time = 23219 + flags = 1 + data = length 400, hash B48107D1 + sample 2: + time = 46439 + flags = 1 + data = length 398, hash E5F4E9C1 + sample 3: + time = 69659 + flags = 1 + data = length 400, hash 4317B40D + sample 4: + time = 92879 + flags = 1 + data = length 403, hash CB949D88 + sample 5: + time = 116099 + flags = 1 + data = length 411, hash 616C8F82 + sample 6: + time = 139319 + flags = 1 + data = length 392, hash 3BA50F06 + sample 7: + time = 162539 + flags = 1 + data = length 401, hash 1C62F82C + sample 8: + time = 185759 + flags = 1 + data = length 400, hash 180FEA17 + sample 9: + time = 208979 + flags = 1 + data = length 378, hash 2F6B0AE6 + sample 10: + time = 232199 + flags = 1 + data = length 375, hash 6AE86D08 + sample 11: + time = 255419 + flags = 1 + data = length 375, hash EF2FD9CC + sample 12: + time = 278639 + flags = 1 + data = length 374, hash 97B83243 + sample 13: + time = 301859 + flags = 1 + data = length 382, hash 8BD6191C + sample 14: + time = 325079 + flags = 1 + data = length 393, hash D5F53221 + sample 15: + time = 348299 + flags = 1 + data = length 375, hash 2437C16B + sample 16: + time = 371519 + flags = 1 + data = length 372, hash EE50108B + sample 17: + time = 394739 + flags = 1 + data = length 364, hash 9952E0FE + sample 18: + time = 417959 + flags = 1 + data = length 387, hash C4EC0E45 + sample 19: + time = 441179 + flags = 1 + data = length 384, hash 7DFB424F + sample 20: + time = 464399 + flags = 1 + data = length 370, hash 28619E43 + sample 21: + time = 487619 + flags = 1 + data = length 373, hash 440EB9E8 + sample 22: + time = 510839 + flags = 1 + data = length 363, hash B7655913 + sample 23: + time = 534058 + flags = 1 + data = length 362, hash A0690E92 + sample 24: + time = 557278 + flags = 1 + data = length 377, hash 41BF1244 + sample 25: + time = 580498 + flags = 1 + data = length 371, hash EE4124CD + sample 26: + time = 603718 + flags = 1 + data = length 372, hash 7A512168 + sample 27: + time = 626938 + flags = 1 + data = length 370, hash ED00D55C + sample 28: + time = 650158 + flags = 1 + data = length 356, hash 43F4FFCA + sample 29: + time = 673378 + flags = 1 + data = length 373, hash 1950F38C + sample 30: + time = 696598 + flags = 1 + data = length 366, hash 5F426A7A + sample 31: + time = 719818 + flags = 1 + data = length 371, hash FCC286D2 + sample 32: + time = 743038 + flags = 1 + data = length 366, hash CF6F5DD9 + sample 33: + time = 766258 + flags = 1 + data = length 386, hash 83E3B1E6 + sample 34: + time = 789478 + flags = 1 + data = length 369, hash 5BDF670B + sample 35: + time = 812698 + flags = 1 + data = length 367, hash DC847E4D + sample 36: + time = 835918 + flags = 1 + data = length 366, hash 8AC0C55C + sample 37: + time = 859138 + flags = 1 + data = length 375, hash C0D4BF4 + sample 38: + time = 882358 + flags = 1 + data = length 367, hash 6C5284E2 + sample 39: + time = 905578 + flags = 1 + data = length 380, hash BDFAB187 + sample 40: + time = 928798 + flags = 1 + data = length 372, hash CEF87EB6 + sample 41: + time = 952018 + flags = 1 + data = length 369, hash B0FF049B + sample 42: + time = 975238 + flags = 1 + data = length 366, hash BADD46E6 + sample 43: + time = 998458 + flags = 536870913 + data = length 374, hash 6102A531 +tracksEnded = true diff --git a/testdata/src/test/assets/extractordumps/mp4/sample_with_colr_mdcv_and_clli.mp4.1.dump b/testdata/src/test/assets/extractordumps/mp4/sample_with_colr_mdcv_and_clli.mp4.1.dump new file mode 100644 index 0000000000..1e1023afb0 --- /dev/null +++ b/testdata/src/test/assets/extractordumps/mp4/sample_with_colr_mdcv_and_clli.mp4.1.dump @@ -0,0 +1,398 @@ +seekMap: + isSeekable = true + duration = 1022000 + getPosition(0) = [[timeUs=0, position=48]] + getPosition(1) = [[timeUs=0, position=48]] + getPosition(511000) = [[timeUs=0, position=48]] + getPosition(1022000) = [[timeUs=0, position=48]] +numberOfTracks = 2 +track 0: + total output bytes = 266091 + sample count = 60 + format 0: + id = 1 + sampleMimeType = video/av01 + maxInputSize = 144656 + width = 1920 + height = 1080 + frameRate = 59.940056 + colorInfo: + colorSpace = 6 + colorRange = 2 + colorTransfer = 6 + hdrStaticInfo = length 25, hash 423AFC35 + sample 0: + time = 0 + flags = 1 + data = length 144626, hash 7C021D5F + sample 1: + time = 16683 + flags = 0 + data = length 4018, hash FA5E79FA + sample 2: + time = 33366 + flags = 0 + data = length 3, hash D5E0 + sample 3: + time = 50050 + flags = 0 + data = length 144, hash 4A868A2F + sample 4: + time = 66733 + flags = 0 + data = length 3, hash D5D0 + sample 5: + time = 83416 + flags = 0 + data = length 342, hash 5A2E1C3C + sample 6: + time = 100100 + flags = 0 + data = length 3, hash D610 + sample 7: + time = 116783 + flags = 0 + data = length 173, hash CFE014B3 + sample 8: + time = 133466 + flags = 0 + data = length 3, hash D5C0 + sample 9: + time = 150150 + flags = 0 + data = length 655, hash 3A7738B6 + sample 10: + time = 166833 + flags = 0 + data = length 3, hash D5D0 + sample 11: + time = 183516 + flags = 0 + data = length 208, hash E7D2035A + sample 12: + time = 200200 + flags = 0 + data = length 3, hash D600 + sample 13: + time = 216883 + flags = 0 + data = length 385, hash 4D025B28 + sample 14: + time = 233566 + flags = 0 + data = length 3, hash D5E0 + sample 15: + time = 250250 + flags = 0 + data = length 192, hash CC0BD164 + sample 16: + time = 266933 + flags = 0 + data = length 3, hash D5B0 + sample 17: + time = 283616 + flags = 0 + data = length 36989, hash C213D35E + sample 18: + time = 300300 + flags = 0 + data = length 3, hash D5C0 + sample 19: + time = 316983 + flags = 0 + data = length 213, hash 2BBA39D3 + sample 20: + time = 333666 + flags = 0 + data = length 3, hash D600 + sample 21: + time = 350350 + flags = 0 + data = length 474, hash 83D66E3F + sample 22: + time = 367033 + flags = 0 + data = length 3, hash D5E0 + sample 23: + time = 383716 + flags = 0 + data = length 246, hash CF512AF0 + sample 24: + time = 400400 + flags = 0 + data = length 3, hash D610 + sample 25: + time = 417083 + flags = 0 + data = length 880, hash 8BFDE683 + sample 26: + time = 433766 + flags = 0 + data = length 3, hash D5C0 + sample 27: + time = 450450 + flags = 0 + data = length 246, hash 16B70503 + sample 28: + time = 467133 + flags = 0 + data = length 3, hash D600 + sample 29: + time = 483816 + flags = 0 + data = length 402, hash 51B5FAC9 + sample 30: + time = 500500 + flags = 0 + data = length 3, hash D610 + sample 31: + time = 517183 + flags = 0 + data = length 199, hash 12005069 + sample 32: + time = 533866 + flags = 0 + data = length 3, hash D5D0 + sample 33: + time = 550550 + flags = 0 + data = length 32362, hash F9FE31F7 + sample 34: + time = 567233 + flags = 0 + data = length 3, hash D5E0 + sample 35: + time = 583916 + flags = 0 + data = length 215, hash 2D4E3DC4 + sample 36: + time = 600600 + flags = 0 + data = length 3, hash D600 + sample 37: + time = 617283 + flags = 0 + data = length 450, hash C1A95E3 + sample 38: + time = 633966 + flags = 0 + data = length 3, hash D610 + sample 39: + time = 650650 + flags = 0 + data = length 221, hash 964386D9 + sample 40: + time = 667333 + flags = 0 + data = length 3, hash D5F0 + sample 41: + time = 684016 + flags = 0 + data = length 853, hash 2B9E0AAF + sample 42: + time = 700700 + flags = 0 + data = length 3, hash D5E0 + sample 43: + time = 717383 + flags = 0 + data = length 236, hash 7E84BBAE + sample 44: + time = 734066 + flags = 0 + data = length 3, hash D600 + sample 45: + time = 750750 + flags = 0 + data = length 419, hash 619235F2 + sample 46: + time = 767433 + flags = 0 + data = length 3, hash D5F0 + sample 47: + time = 784116 + flags = 0 + data = length 194, hash D386F352 + sample 48: + time = 800800 + flags = 0 + data = length 3, hash D5A0 + sample 49: + time = 817483 + flags = 0 + data = length 38679, hash 17E63FCD + sample 50: + time = 834166 + flags = 0 + data = length 3, hash D610 + sample 51: + time = 850850 + flags = 0 + data = length 183, hash C8DD98E2 + sample 52: + time = 867533 + flags = 0 + data = length 3, hash D600 + sample 53: + time = 884216 + flags = 0 + data = length 457, hash 2B4E3476 + sample 54: + time = 900900 + flags = 0 + data = length 3, hash D5F0 + sample 55: + time = 917583 + flags = 0 + data = length 216, hash 7233540A + sample 56: + time = 934266 + flags = 0 + data = length 3, hash D5C0 + sample 57: + time = 950950 + flags = 0 + data = length 894, hash 7319F313 + sample 58: + time = 967633 + flags = 0 + data = length 3, hash D610 + sample 59: + time = 984316 + flags = 536870912 + data = length 233, hash DE4DBE67 +track 1: + total output bytes = 11156 + sample count = 30 + format 0: + id = 2 + sampleMimeType = audio/mp4a-latm + codecs = mp4a.40.2 + maxInputSize = 441 + channelCount = 2 + sampleRate = 44100 + language = und + metadata = entries=[TSSE: description=null: value=Lavf58.76.100] + initializationData: + data = length 16, hash CAA21BBF + sample 0: + time = 325079 + flags = 1 + data = length 393, hash D5F53221 + sample 1: + time = 348299 + flags = 1 + data = length 375, hash 2437C16B + sample 2: + time = 371519 + flags = 1 + data = length 372, hash EE50108B + sample 3: + time = 394739 + flags = 1 + data = length 364, hash 9952E0FE + sample 4: + time = 417959 + flags = 1 + data = length 387, hash C4EC0E45 + sample 5: + time = 441179 + flags = 1 + data = length 384, hash 7DFB424F + sample 6: + time = 464399 + flags = 1 + data = length 370, hash 28619E43 + sample 7: + time = 487619 + flags = 1 + data = length 373, hash 440EB9E8 + sample 8: + time = 510839 + flags = 1 + data = length 363, hash B7655913 + sample 9: + time = 534058 + flags = 1 + data = length 362, hash A0690E92 + sample 10: + time = 557278 + flags = 1 + data = length 377, hash 41BF1244 + sample 11: + time = 580498 + flags = 1 + data = length 371, hash EE4124CD + sample 12: + time = 603718 + flags = 1 + data = length 372, hash 7A512168 + sample 13: + time = 626938 + flags = 1 + data = length 370, hash ED00D55C + sample 14: + time = 650158 + flags = 1 + data = length 356, hash 43F4FFCA + sample 15: + time = 673378 + flags = 1 + data = length 373, hash 1950F38C + sample 16: + time = 696598 + flags = 1 + data = length 366, hash 5F426A7A + sample 17: + time = 719818 + flags = 1 + data = length 371, hash FCC286D2 + sample 18: + time = 743038 + flags = 1 + data = length 366, hash CF6F5DD9 + sample 19: + time = 766258 + flags = 1 + data = length 386, hash 83E3B1E6 + sample 20: + time = 789478 + flags = 1 + data = length 369, hash 5BDF670B + sample 21: + time = 812698 + flags = 1 + data = length 367, hash DC847E4D + sample 22: + time = 835918 + flags = 1 + data = length 366, hash 8AC0C55C + sample 23: + time = 859138 + flags = 1 + data = length 375, hash C0D4BF4 + sample 24: + time = 882358 + flags = 1 + data = length 367, hash 6C5284E2 + sample 25: + time = 905578 + flags = 1 + data = length 380, hash BDFAB187 + sample 26: + time = 928798 + flags = 1 + data = length 372, hash CEF87EB6 + sample 27: + time = 952018 + flags = 1 + data = length 369, hash B0FF049B + sample 28: + time = 975238 + flags = 1 + data = length 366, hash BADD46E6 + sample 29: + time = 998458 + flags = 536870913 + data = length 374, hash 6102A531 +tracksEnded = true diff --git a/testdata/src/test/assets/extractordumps/mp4/sample_with_colr_mdcv_and_clli.mp4.2.dump b/testdata/src/test/assets/extractordumps/mp4/sample_with_colr_mdcv_and_clli.mp4.2.dump new file mode 100644 index 0000000000..5b51396c83 --- /dev/null +++ b/testdata/src/test/assets/extractordumps/mp4/sample_with_colr_mdcv_and_clli.mp4.2.dump @@ -0,0 +1,338 @@ +seekMap: + isSeekable = true + duration = 1022000 + getPosition(0) = [[timeUs=0, position=48]] + getPosition(1) = [[timeUs=0, position=48]] + getPosition(511000) = [[timeUs=0, position=48]] + getPosition(1022000) = [[timeUs=0, position=48]] +numberOfTracks = 2 +track 0: + total output bytes = 266091 + sample count = 60 + format 0: + id = 1 + sampleMimeType = video/av01 + maxInputSize = 144656 + width = 1920 + height = 1080 + frameRate = 59.940056 + colorInfo: + colorSpace = 6 + colorRange = 2 + colorTransfer = 6 + hdrStaticInfo = length 25, hash 423AFC35 + sample 0: + time = 0 + flags = 1 + data = length 144626, hash 7C021D5F + sample 1: + time = 16683 + flags = 0 + data = length 4018, hash FA5E79FA + sample 2: + time = 33366 + flags = 0 + data = length 3, hash D5E0 + sample 3: + time = 50050 + flags = 0 + data = length 144, hash 4A868A2F + sample 4: + time = 66733 + flags = 0 + data = length 3, hash D5D0 + sample 5: + time = 83416 + flags = 0 + data = length 342, hash 5A2E1C3C + sample 6: + time = 100100 + flags = 0 + data = length 3, hash D610 + sample 7: + time = 116783 + flags = 0 + data = length 173, hash CFE014B3 + sample 8: + time = 133466 + flags = 0 + data = length 3, hash D5C0 + sample 9: + time = 150150 + flags = 0 + data = length 655, hash 3A7738B6 + sample 10: + time = 166833 + flags = 0 + data = length 3, hash D5D0 + sample 11: + time = 183516 + flags = 0 + data = length 208, hash E7D2035A + sample 12: + time = 200200 + flags = 0 + data = length 3, hash D600 + sample 13: + time = 216883 + flags = 0 + data = length 385, hash 4D025B28 + sample 14: + time = 233566 + flags = 0 + data = length 3, hash D5E0 + sample 15: + time = 250250 + flags = 0 + data = length 192, hash CC0BD164 + sample 16: + time = 266933 + flags = 0 + data = length 3, hash D5B0 + sample 17: + time = 283616 + flags = 0 + data = length 36989, hash C213D35E + sample 18: + time = 300300 + flags = 0 + data = length 3, hash D5C0 + sample 19: + time = 316983 + flags = 0 + data = length 213, hash 2BBA39D3 + sample 20: + time = 333666 + flags = 0 + data = length 3, hash D600 + sample 21: + time = 350350 + flags = 0 + data = length 474, hash 83D66E3F + sample 22: + time = 367033 + flags = 0 + data = length 3, hash D5E0 + sample 23: + time = 383716 + flags = 0 + data = length 246, hash CF512AF0 + sample 24: + time = 400400 + flags = 0 + data = length 3, hash D610 + sample 25: + time = 417083 + flags = 0 + data = length 880, hash 8BFDE683 + sample 26: + time = 433766 + flags = 0 + data = length 3, hash D5C0 + sample 27: + time = 450450 + flags = 0 + data = length 246, hash 16B70503 + sample 28: + time = 467133 + flags = 0 + data = length 3, hash D600 + sample 29: + time = 483816 + flags = 0 + data = length 402, hash 51B5FAC9 + sample 30: + time = 500500 + flags = 0 + data = length 3, hash D610 + sample 31: + time = 517183 + flags = 0 + data = length 199, hash 12005069 + sample 32: + time = 533866 + flags = 0 + data = length 3, hash D5D0 + sample 33: + time = 550550 + flags = 0 + data = length 32362, hash F9FE31F7 + sample 34: + time = 567233 + flags = 0 + data = length 3, hash D5E0 + sample 35: + time = 583916 + flags = 0 + data = length 215, hash 2D4E3DC4 + sample 36: + time = 600600 + flags = 0 + data = length 3, hash D600 + sample 37: + time = 617283 + flags = 0 + data = length 450, hash C1A95E3 + sample 38: + time = 633966 + flags = 0 + data = length 3, hash D610 + sample 39: + time = 650650 + flags = 0 + data = length 221, hash 964386D9 + sample 40: + time = 667333 + flags = 0 + data = length 3, hash D5F0 + sample 41: + time = 684016 + flags = 0 + data = length 853, hash 2B9E0AAF + sample 42: + time = 700700 + flags = 0 + data = length 3, hash D5E0 + sample 43: + time = 717383 + flags = 0 + data = length 236, hash 7E84BBAE + sample 44: + time = 734066 + flags = 0 + data = length 3, hash D600 + sample 45: + time = 750750 + flags = 0 + data = length 419, hash 619235F2 + sample 46: + time = 767433 + flags = 0 + data = length 3, hash D5F0 + sample 47: + time = 784116 + flags = 0 + data = length 194, hash D386F352 + sample 48: + time = 800800 + flags = 0 + data = length 3, hash D5A0 + sample 49: + time = 817483 + flags = 0 + data = length 38679, hash 17E63FCD + sample 50: + time = 834166 + flags = 0 + data = length 3, hash D610 + sample 51: + time = 850850 + flags = 0 + data = length 183, hash C8DD98E2 + sample 52: + time = 867533 + flags = 0 + data = length 3, hash D600 + sample 53: + time = 884216 + flags = 0 + data = length 457, hash 2B4E3476 + sample 54: + time = 900900 + flags = 0 + data = length 3, hash D5F0 + sample 55: + time = 917583 + flags = 0 + data = length 216, hash 7233540A + sample 56: + time = 934266 + flags = 0 + data = length 3, hash D5C0 + sample 57: + time = 950950 + flags = 0 + data = length 894, hash 7319F313 + sample 58: + time = 967633 + flags = 0 + data = length 3, hash D610 + sample 59: + time = 984316 + flags = 536870912 + data = length 233, hash DE4DBE67 +track 1: + total output bytes = 5567 + sample count = 15 + format 0: + id = 2 + sampleMimeType = audio/mp4a-latm + codecs = mp4a.40.2 + maxInputSize = 441 + channelCount = 2 + sampleRate = 44100 + language = und + metadata = entries=[TSSE: description=null: value=Lavf58.76.100] + initializationData: + data = length 16, hash CAA21BBF + sample 0: + time = 673378 + flags = 1 + data = length 373, hash 1950F38C + sample 1: + time = 696598 + flags = 1 + data = length 366, hash 5F426A7A + sample 2: + time = 719818 + flags = 1 + data = length 371, hash FCC286D2 + sample 3: + time = 743038 + flags = 1 + data = length 366, hash CF6F5DD9 + sample 4: + time = 766258 + flags = 1 + data = length 386, hash 83E3B1E6 + sample 5: + time = 789478 + flags = 1 + data = length 369, hash 5BDF670B + sample 6: + time = 812698 + flags = 1 + data = length 367, hash DC847E4D + sample 7: + time = 835918 + flags = 1 + data = length 366, hash 8AC0C55C + sample 8: + time = 859138 + flags = 1 + data = length 375, hash C0D4BF4 + sample 9: + time = 882358 + flags = 1 + data = length 367, hash 6C5284E2 + sample 10: + time = 905578 + flags = 1 + data = length 380, hash BDFAB187 + sample 11: + time = 928798 + flags = 1 + data = length 372, hash CEF87EB6 + sample 12: + time = 952018 + flags = 1 + data = length 369, hash B0FF049B + sample 13: + time = 975238 + flags = 1 + data = length 366, hash BADD46E6 + sample 14: + time = 998458 + flags = 536870913 + data = length 374, hash 6102A531 +tracksEnded = true diff --git a/testdata/src/test/assets/extractordumps/mp4/sample_with_colr_mdcv_and_clli.mp4.3.dump b/testdata/src/test/assets/extractordumps/mp4/sample_with_colr_mdcv_and_clli.mp4.3.dump new file mode 100644 index 0000000000..d66f9234a1 --- /dev/null +++ b/testdata/src/test/assets/extractordumps/mp4/sample_with_colr_mdcv_and_clli.mp4.3.dump @@ -0,0 +1,282 @@ +seekMap: + isSeekable = true + duration = 1022000 + getPosition(0) = [[timeUs=0, position=48]] + getPosition(1) = [[timeUs=0, position=48]] + getPosition(511000) = [[timeUs=0, position=48]] + getPosition(1022000) = [[timeUs=0, position=48]] +numberOfTracks = 2 +track 0: + total output bytes = 266091 + sample count = 60 + format 0: + id = 1 + sampleMimeType = video/av01 + maxInputSize = 144656 + width = 1920 + height = 1080 + frameRate = 59.940056 + colorInfo: + colorSpace = 6 + colorRange = 2 + colorTransfer = 6 + hdrStaticInfo = length 25, hash 423AFC35 + sample 0: + time = 0 + flags = 1 + data = length 144626, hash 7C021D5F + sample 1: + time = 16683 + flags = 0 + data = length 4018, hash FA5E79FA + sample 2: + time = 33366 + flags = 0 + data = length 3, hash D5E0 + sample 3: + time = 50050 + flags = 0 + data = length 144, hash 4A868A2F + sample 4: + time = 66733 + flags = 0 + data = length 3, hash D5D0 + sample 5: + time = 83416 + flags = 0 + data = length 342, hash 5A2E1C3C + sample 6: + time = 100100 + flags = 0 + data = length 3, hash D610 + sample 7: + time = 116783 + flags = 0 + data = length 173, hash CFE014B3 + sample 8: + time = 133466 + flags = 0 + data = length 3, hash D5C0 + sample 9: + time = 150150 + flags = 0 + data = length 655, hash 3A7738B6 + sample 10: + time = 166833 + flags = 0 + data = length 3, hash D5D0 + sample 11: + time = 183516 + flags = 0 + data = length 208, hash E7D2035A + sample 12: + time = 200200 + flags = 0 + data = length 3, hash D600 + sample 13: + time = 216883 + flags = 0 + data = length 385, hash 4D025B28 + sample 14: + time = 233566 + flags = 0 + data = length 3, hash D5E0 + sample 15: + time = 250250 + flags = 0 + data = length 192, hash CC0BD164 + sample 16: + time = 266933 + flags = 0 + data = length 3, hash D5B0 + sample 17: + time = 283616 + flags = 0 + data = length 36989, hash C213D35E + sample 18: + time = 300300 + flags = 0 + data = length 3, hash D5C0 + sample 19: + time = 316983 + flags = 0 + data = length 213, hash 2BBA39D3 + sample 20: + time = 333666 + flags = 0 + data = length 3, hash D600 + sample 21: + time = 350350 + flags = 0 + data = length 474, hash 83D66E3F + sample 22: + time = 367033 + flags = 0 + data = length 3, hash D5E0 + sample 23: + time = 383716 + flags = 0 + data = length 246, hash CF512AF0 + sample 24: + time = 400400 + flags = 0 + data = length 3, hash D610 + sample 25: + time = 417083 + flags = 0 + data = length 880, hash 8BFDE683 + sample 26: + time = 433766 + flags = 0 + data = length 3, hash D5C0 + sample 27: + time = 450450 + flags = 0 + data = length 246, hash 16B70503 + sample 28: + time = 467133 + flags = 0 + data = length 3, hash D600 + sample 29: + time = 483816 + flags = 0 + data = length 402, hash 51B5FAC9 + sample 30: + time = 500500 + flags = 0 + data = length 3, hash D610 + sample 31: + time = 517183 + flags = 0 + data = length 199, hash 12005069 + sample 32: + time = 533866 + flags = 0 + data = length 3, hash D5D0 + sample 33: + time = 550550 + flags = 0 + data = length 32362, hash F9FE31F7 + sample 34: + time = 567233 + flags = 0 + data = length 3, hash D5E0 + sample 35: + time = 583916 + flags = 0 + data = length 215, hash 2D4E3DC4 + sample 36: + time = 600600 + flags = 0 + data = length 3, hash D600 + sample 37: + time = 617283 + flags = 0 + data = length 450, hash C1A95E3 + sample 38: + time = 633966 + flags = 0 + data = length 3, hash D610 + sample 39: + time = 650650 + flags = 0 + data = length 221, hash 964386D9 + sample 40: + time = 667333 + flags = 0 + data = length 3, hash D5F0 + sample 41: + time = 684016 + flags = 0 + data = length 853, hash 2B9E0AAF + sample 42: + time = 700700 + flags = 0 + data = length 3, hash D5E0 + sample 43: + time = 717383 + flags = 0 + data = length 236, hash 7E84BBAE + sample 44: + time = 734066 + flags = 0 + data = length 3, hash D600 + sample 45: + time = 750750 + flags = 0 + data = length 419, hash 619235F2 + sample 46: + time = 767433 + flags = 0 + data = length 3, hash D5F0 + sample 47: + time = 784116 + flags = 0 + data = length 194, hash D386F352 + sample 48: + time = 800800 + flags = 0 + data = length 3, hash D5A0 + sample 49: + time = 817483 + flags = 0 + data = length 38679, hash 17E63FCD + sample 50: + time = 834166 + flags = 0 + data = length 3, hash D610 + sample 51: + time = 850850 + flags = 0 + data = length 183, hash C8DD98E2 + sample 52: + time = 867533 + flags = 0 + data = length 3, hash D600 + sample 53: + time = 884216 + flags = 0 + data = length 457, hash 2B4E3476 + sample 54: + time = 900900 + flags = 0 + data = length 3, hash D5F0 + sample 55: + time = 917583 + flags = 0 + data = length 216, hash 7233540A + sample 56: + time = 934266 + flags = 0 + data = length 3, hash D5C0 + sample 57: + time = 950950 + flags = 0 + data = length 894, hash 7319F313 + sample 58: + time = 967633 + flags = 0 + data = length 3, hash D610 + sample 59: + time = 984316 + flags = 536870912 + data = length 233, hash DE4DBE67 +track 1: + total output bytes = 374 + sample count = 1 + format 0: + id = 2 + sampleMimeType = audio/mp4a-latm + codecs = mp4a.40.2 + maxInputSize = 441 + channelCount = 2 + sampleRate = 44100 + language = und + metadata = entries=[TSSE: description=null: value=Lavf58.76.100] + initializationData: + data = length 16, hash CAA21BBF + sample 0: + time = 998458 + flags = 536870913 + data = length 374, hash 6102A531 +tracksEnded = true diff --git a/testdata/src/test/assets/extractordumps/mp4/sample_with_colr_mdcv_and_clli.mp4.unknown_length.dump b/testdata/src/test/assets/extractordumps/mp4/sample_with_colr_mdcv_and_clli.mp4.unknown_length.dump new file mode 100644 index 0000000000..8ef4f19b16 --- /dev/null +++ b/testdata/src/test/assets/extractordumps/mp4/sample_with_colr_mdcv_and_clli.mp4.unknown_length.dump @@ -0,0 +1,454 @@ +seekMap: + isSeekable = true + duration = 1022000 + getPosition(0) = [[timeUs=0, position=48]] + getPosition(1) = [[timeUs=0, position=48]] + getPosition(511000) = [[timeUs=0, position=48]] + getPosition(1022000) = [[timeUs=0, position=48]] +numberOfTracks = 2 +track 0: + total output bytes = 266091 + sample count = 60 + format 0: + id = 1 + sampleMimeType = video/av01 + maxInputSize = 144656 + width = 1920 + height = 1080 + frameRate = 59.940056 + colorInfo: + colorSpace = 6 + colorRange = 2 + colorTransfer = 6 + hdrStaticInfo = length 25, hash 423AFC35 + sample 0: + time = 0 + flags = 1 + data = length 144626, hash 7C021D5F + sample 1: + time = 16683 + flags = 0 + data = length 4018, hash FA5E79FA + sample 2: + time = 33366 + flags = 0 + data = length 3, hash D5E0 + sample 3: + time = 50050 + flags = 0 + data = length 144, hash 4A868A2F + sample 4: + time = 66733 + flags = 0 + data = length 3, hash D5D0 + sample 5: + time = 83416 + flags = 0 + data = length 342, hash 5A2E1C3C + sample 6: + time = 100100 + flags = 0 + data = length 3, hash D610 + sample 7: + time = 116783 + flags = 0 + data = length 173, hash CFE014B3 + sample 8: + time = 133466 + flags = 0 + data = length 3, hash D5C0 + sample 9: + time = 150150 + flags = 0 + data = length 655, hash 3A7738B6 + sample 10: + time = 166833 + flags = 0 + data = length 3, hash D5D0 + sample 11: + time = 183516 + flags = 0 + data = length 208, hash E7D2035A + sample 12: + time = 200200 + flags = 0 + data = length 3, hash D600 + sample 13: + time = 216883 + flags = 0 + data = length 385, hash 4D025B28 + sample 14: + time = 233566 + flags = 0 + data = length 3, hash D5E0 + sample 15: + time = 250250 + flags = 0 + data = length 192, hash CC0BD164 + sample 16: + time = 266933 + flags = 0 + data = length 3, hash D5B0 + sample 17: + time = 283616 + flags = 0 + data = length 36989, hash C213D35E + sample 18: + time = 300300 + flags = 0 + data = length 3, hash D5C0 + sample 19: + time = 316983 + flags = 0 + data = length 213, hash 2BBA39D3 + sample 20: + time = 333666 + flags = 0 + data = length 3, hash D600 + sample 21: + time = 350350 + flags = 0 + data = length 474, hash 83D66E3F + sample 22: + time = 367033 + flags = 0 + data = length 3, hash D5E0 + sample 23: + time = 383716 + flags = 0 + data = length 246, hash CF512AF0 + sample 24: + time = 400400 + flags = 0 + data = length 3, hash D610 + sample 25: + time = 417083 + flags = 0 + data = length 880, hash 8BFDE683 + sample 26: + time = 433766 + flags = 0 + data = length 3, hash D5C0 + sample 27: + time = 450450 + flags = 0 + data = length 246, hash 16B70503 + sample 28: + time = 467133 + flags = 0 + data = length 3, hash D600 + sample 29: + time = 483816 + flags = 0 + data = length 402, hash 51B5FAC9 + sample 30: + time = 500500 + flags = 0 + data = length 3, hash D610 + sample 31: + time = 517183 + flags = 0 + data = length 199, hash 12005069 + sample 32: + time = 533866 + flags = 0 + data = length 3, hash D5D0 + sample 33: + time = 550550 + flags = 0 + data = length 32362, hash F9FE31F7 + sample 34: + time = 567233 + flags = 0 + data = length 3, hash D5E0 + sample 35: + time = 583916 + flags = 0 + data = length 215, hash 2D4E3DC4 + sample 36: + time = 600600 + flags = 0 + data = length 3, hash D600 + sample 37: + time = 617283 + flags = 0 + data = length 450, hash C1A95E3 + sample 38: + time = 633966 + flags = 0 + data = length 3, hash D610 + sample 39: + time = 650650 + flags = 0 + data = length 221, hash 964386D9 + sample 40: + time = 667333 + flags = 0 + data = length 3, hash D5F0 + sample 41: + time = 684016 + flags = 0 + data = length 853, hash 2B9E0AAF + sample 42: + time = 700700 + flags = 0 + data = length 3, hash D5E0 + sample 43: + time = 717383 + flags = 0 + data = length 236, hash 7E84BBAE + sample 44: + time = 734066 + flags = 0 + data = length 3, hash D600 + sample 45: + time = 750750 + flags = 0 + data = length 419, hash 619235F2 + sample 46: + time = 767433 + flags = 0 + data = length 3, hash D5F0 + sample 47: + time = 784116 + flags = 0 + data = length 194, hash D386F352 + sample 48: + time = 800800 + flags = 0 + data = length 3, hash D5A0 + sample 49: + time = 817483 + flags = 0 + data = length 38679, hash 17E63FCD + sample 50: + time = 834166 + flags = 0 + data = length 3, hash D610 + sample 51: + time = 850850 + flags = 0 + data = length 183, hash C8DD98E2 + sample 52: + time = 867533 + flags = 0 + data = length 3, hash D600 + sample 53: + time = 884216 + flags = 0 + data = length 457, hash 2B4E3476 + sample 54: + time = 900900 + flags = 0 + data = length 3, hash D5F0 + sample 55: + time = 917583 + flags = 0 + data = length 216, hash 7233540A + sample 56: + time = 934266 + flags = 0 + data = length 3, hash D5C0 + sample 57: + time = 950950 + flags = 0 + data = length 894, hash 7319F313 + sample 58: + time = 967633 + flags = 0 + data = length 3, hash D610 + sample 59: + time = 984316 + flags = 536870912 + data = length 233, hash DE4DBE67 +track 1: + total output bytes = 16638 + sample count = 44 + format 0: + id = 2 + sampleMimeType = audio/mp4a-latm + codecs = mp4a.40.2 + maxInputSize = 441 + channelCount = 2 + sampleRate = 44100 + language = und + metadata = entries=[TSSE: description=null: value=Lavf58.76.100] + initializationData: + data = length 16, hash CAA21BBF + sample 0: + time = 0 + flags = 1 + data = length 393, hash 706D1B6F + sample 1: + time = 23219 + flags = 1 + data = length 400, hash B48107D1 + sample 2: + time = 46439 + flags = 1 + data = length 398, hash E5F4E9C1 + sample 3: + time = 69659 + flags = 1 + data = length 400, hash 4317B40D + sample 4: + time = 92879 + flags = 1 + data = length 403, hash CB949D88 + sample 5: + time = 116099 + flags = 1 + data = length 411, hash 616C8F82 + sample 6: + time = 139319 + flags = 1 + data = length 392, hash 3BA50F06 + sample 7: + time = 162539 + flags = 1 + data = length 401, hash 1C62F82C + sample 8: + time = 185759 + flags = 1 + data = length 400, hash 180FEA17 + sample 9: + time = 208979 + flags = 1 + data = length 378, hash 2F6B0AE6 + sample 10: + time = 232199 + flags = 1 + data = length 375, hash 6AE86D08 + sample 11: + time = 255419 + flags = 1 + data = length 375, hash EF2FD9CC + sample 12: + time = 278639 + flags = 1 + data = length 374, hash 97B83243 + sample 13: + time = 301859 + flags = 1 + data = length 382, hash 8BD6191C + sample 14: + time = 325079 + flags = 1 + data = length 393, hash D5F53221 + sample 15: + time = 348299 + flags = 1 + data = length 375, hash 2437C16B + sample 16: + time = 371519 + flags = 1 + data = length 372, hash EE50108B + sample 17: + time = 394739 + flags = 1 + data = length 364, hash 9952E0FE + sample 18: + time = 417959 + flags = 1 + data = length 387, hash C4EC0E45 + sample 19: + time = 441179 + flags = 1 + data = length 384, hash 7DFB424F + sample 20: + time = 464399 + flags = 1 + data = length 370, hash 28619E43 + sample 21: + time = 487619 + flags = 1 + data = length 373, hash 440EB9E8 + sample 22: + time = 510839 + flags = 1 + data = length 363, hash B7655913 + sample 23: + time = 534058 + flags = 1 + data = length 362, hash A0690E92 + sample 24: + time = 557278 + flags = 1 + data = length 377, hash 41BF1244 + sample 25: + time = 580498 + flags = 1 + data = length 371, hash EE4124CD + sample 26: + time = 603718 + flags = 1 + data = length 372, hash 7A512168 + sample 27: + time = 626938 + flags = 1 + data = length 370, hash ED00D55C + sample 28: + time = 650158 + flags = 1 + data = length 356, hash 43F4FFCA + sample 29: + time = 673378 + flags = 1 + data = length 373, hash 1950F38C + sample 30: + time = 696598 + flags = 1 + data = length 366, hash 5F426A7A + sample 31: + time = 719818 + flags = 1 + data = length 371, hash FCC286D2 + sample 32: + time = 743038 + flags = 1 + data = length 366, hash CF6F5DD9 + sample 33: + time = 766258 + flags = 1 + data = length 386, hash 83E3B1E6 + sample 34: + time = 789478 + flags = 1 + data = length 369, hash 5BDF670B + sample 35: + time = 812698 + flags = 1 + data = length 367, hash DC847E4D + sample 36: + time = 835918 + flags = 1 + data = length 366, hash 8AC0C55C + sample 37: + time = 859138 + flags = 1 + data = length 375, hash C0D4BF4 + sample 38: + time = 882358 + flags = 1 + data = length 367, hash 6C5284E2 + sample 39: + time = 905578 + flags = 1 + data = length 380, hash BDFAB187 + sample 40: + time = 928798 + flags = 1 + data = length 372, hash CEF87EB6 + sample 41: + time = 952018 + flags = 1 + data = length 369, hash B0FF049B + sample 42: + time = 975238 + flags = 1 + data = length 366, hash BADD46E6 + sample 43: + time = 998458 + flags = 536870913 + data = length 374, hash 6102A531 +tracksEnded = true diff --git a/testdata/src/test/assets/media/mp4/sample_with_colr_mdcv_and_clli.mp4 b/testdata/src/test/assets/media/mp4/sample_with_colr_mdcv_and_clli.mp4 new file mode 100644 index 0000000000000000000000000000000000000000..608d6ec440cca8d7c74b8135723256c0925ab81a GIT binary patch literal 285393 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 R3mI@y@Dpx-h-GDW4x?ZGuP4m1 zy>9Em9Xn|V%fj~@pB=desmL0ZxS<4w#L2?z?pUy2zQ3h;>2DFbmF{p*< z6b3pNnJ1~UufbF5@&s6FT~_W__5{gY_g(xh*?PkpZL>^&R``r0R@N?|3V}TlR>?yM z1JWS`I;cwLC#TlE+9fd24ZZZJC&gc~Iu&v;1w0X9_1i$rNhq<+VN+#u~uV@T2O zU?A4aCW53;7;}KV?s}DMWEiINyh$RDVbktHgU5fDD`s-AgGe)K^5h%46mi=_cjY@` zJOWXDP+YG6X(2RQ69h~IA}b}u8+U^#o^cccFSDYHSXh`jN_1_ouXcteqcN zkBAJ2>r4Y5vXQ+GE#2`~64*&31+^`S4``})GV!zY^xc&d1>&dH4013-mWnm=R9&1$ z3um$!C}6Js7s=8$9zUg&MtGjfi!MtoEwf~ls1$6aVU|oFq_CV)XmctuCfY$F{Gj$G z8%my#&BrD@jqw=d~20d4G}&O9_119{pawKOx!)otMb}3hFn+`<1VC z3;|4rHqkcmadQ6(7e>RJ!T6Z=+Ty)_di)Yu^DBWdSnb%pwtptlB#eyR$f87ZY=+W) zlw5okJg8O|42JIO_J4ugxDq>%FsaEYhL6LAD=ruqY4KPNc zc$2hAI)XC0U7|Fx*t(oyvOvh!4H-J*PZ!|vT~k;0pb2`y&j(}+sY2a}l;lF(as9hm5VG8h`n!*G@;rCM^o~~>z>`Tk*l~h*kM@qc9pif+fg}x z`>qned!I(k(D>H4{Edfn2dT4QD3HnR`5n|#99G$th%?wm>jJ2bW{_A|!e$^54^(Wz5_SBQpa8*{CP1G!5Hvy5DI`fZ*DV}R zC58xh0@jRcY#(g@K6Uf-`$8iu1pan$em^_ZGpIOf*4~$AIf(3*qOx}~WS(*J^&`@!6Fmx4O zxX%)-(PvVmXE8SAs*=e3T0Xuc-sB29xjKQD$TF`<%q}N|3hV(Fp!<1N@Sduc}$=;Zn?Td* zKI)bz?_BOHyLFhxB7UUv>Kye+Bd|G1b#%nox#g7vDWYSWDpl$c;Z~{^u1fc@?Mw&S ze2TKVmBW*!&Ox&Jkv7rQHCBLeHz1UX^qLmbZtj^^ zA(LS?h@{^AXQ3BlU>%PHQEx#Kj!OvExuB3!nw}u9A8uRmygkJg3n5#&VdUggG=T4Z zdwsN+Nwh!HN4&vl4tZrU{m8YN-gOr6)=8?Qdm@F&+c7GQ;GZIF*R|&bErt8bH z1(Wj7Y*08nt~Jalo*5FTik)c@ZD&ya0<0}^47Lz2r$N_7D;vNFiGdd^i`qWmzA}pC>`+r-q zY)`=^EE#VPi-3jBJnRvuV%rW};-K-s8jhC0wv}id75Zy<+XjM<7w-mdYOl}_?KQyu z9XcC)3;~8yVVC_`iJ58A<%B;_R>$#3JFyL~CT7M=a?yW62`-`)qcd0FCks1kf|Fz@ z;J!n>jI*(f+~4GEhFi7!x}!tt)RwLz<56sLKl#mh7?#XiWaU6;9BtWH!KIK-PQ7lJSVnafU=1~REgw5+4z}RQPup&8USbxS z`N$ox%o$X_r!xrW905j9Bm-6=<4dG3oV0$05vae1zj~NP)AI$WG=cz#dmMk|{Ase; zj6VjxV3Z8dmpZ2D2SL%!bMoZSZ_6Y&FRR229qyDc^B0og3X5>ULS%mPGu=Xd1fm^Q z+%N+2d4Dr435|rN!}V17u#N;s3x4M~{QHYMJT~~G%~SNJ$>ZDg>0`wRR6&ABj~TLc4Ks-nzO~i^ zHVx(5Rljf_#s8}mDkC|g3aATJkulHl@Ns^=CIQ)s2uj;{7ON*vc zuA8P7sB9uvu+ko3pucndth~-0rGMC>DxtXbWgoURc->MF(Q#U#dn@_|M3Zbbhxx2> zMTzOez~NqJ_DJf3{VUAf^CAb$WPJ5V9y>$yv*!sC>!}E1O6r0KJ>ZPq)4z2AdVN;i z{&(QHEFZ)JKPu!mmLojVL*Hy#pT|XHL!r;|4*=I2f8LU81&CD+@7HG=+k1Lq9q%Iy zp(?Lsdb)(ZEt4)~qIDjbIa>DuIaF?UHc|f}6pi&2+bI|mdP!Vy{<)e89H!2pU&Q*< zq>jcXKr#|#pmhsw&}g1&W!2+P>qH9S@)Cn(@L9e(098N1iXymBLUZYGre&Gur_BkW z9Gka$#UyaN>+9<~Jy+J&E{y{}3UtLs&#@nn_?@-NPK=x-M?}FOIMlfsNJz4M|L}M8 zr?oalanP`G8s=g5k}|DZMl@mER9fLlS{W%mvv)Eeqo=I#jQ9g!yo9|@WdH&Y|MzEq z7wy2KDX=3t?ra_>Q91ohNdCqPu2WI~&teEx+vh-Y6$?2E(zJMeKxTAX^otoioAWqnR>Uup8m6;14?T+l|!65E{zSjC1_1luB6b zNzuu?;?R3lSkP>40<0#Pl7Rvu$O#QlSFl|PDKQ`|`KN7!;8-YtmE>4#~- z?9|moG#OMT%7D{U-Llt;!JH8DsS5J7<}tlRT>*@sQP@1?;GYep%d8a`m$xC-0Oa6= zkH+1Edw?MD+aVWSg9f(+0&?{Z0ofVffvcDs?IwEbRJx`C#-GFKVXk{&WsKXtg%Pxb zTlKn%`d^vlcjHF2<=S&Ql~VFahL(w^(TsV~#hTkm&ui@c6H{zfCMUH!{;!`$#jNmx z9DZn#UYxm@k7lwId_(drkPq@-#hrxha7^kVdE7?Z%W}yJlQmLc!&k|%5G>`@_hDtI zKl(R`2y1o=;D{O$bnexsLCpz69B?pd|LQEpr_Q~go#tAzXz zMSZ98Lh=zwan}iaf;aM|9Z2UPoe@MlWFguXF9L0T)V<4lIc*f83ixY^_4fb;?+bgAgoQxXmZU-hF~g0N3wG|%O6Poj z7?UpQD`P-aplYh7qZ(F|m<$03nK@OZVSi!nJ$Sb4HW}tua;6tHbcy>;#Pqa2fA;NV zaTYTAI9HRJ@C`2;j<(p^0AJQ|!;FE0OZRw-alL5*5S1PdL}BH2HZ5ot0z8SUOv?Dj zd8=#xhe=0Cc~0uvVr?^ccAdJCNKO~v_?S#7#8`}%iO!#3d^6b?l7>wVvq<}^n3rX4 zrIgW1UXyL`8-zU9d~k9#S;@T2f1gatNot-E=iq3VrdLvEmsROB#t<9Gg#*39*2ks> zg|N(u`781!lF&&!>CLdTffQtce$}K(vD)&nwpk()KWA%E1}b}Y##}Mes|b*#%3Muc zb2ptgO<`Uu(Uo%=oPak#-A58b2ZJ;qeRN+Fk@;4f_X1ito-r>}YIC6=iz$E(Pp*5I zUrY^equu4j);*}gRW-r3hcAU!{T&0(pYVRX7G&$z7TJA@!vvdCUZQo+yEB$jmnVe1 z%!_Q$GVc;7uiRYB34&$6)j4iAJQV8~(i?!!WVh8Y^T@*Osj3wM4`x!z9yh1G-Ga|W z4b{7^&cU$HDBslTI(ur#WA8rN=M&mrz7(VMk2-R8YoIS} zN3I6OiET7Q#A^Fz!aN_UHQLaSGc!SY5mU*Lsyb?6qL*(rIb&frjybW=e`xju#kO!} z7^ug`Y7H2S?eXsj4_YN=X{rAwvHuJ*TuSf3IAIAoPh&$Zx|o`D$Qri1G2`zD`=QtaodY$yRI$h`(uPXP@In$7iz96)sM?$?KmP5kO4NoHKr1uK() zkUYx{K-BptEA*ajL;Et@Xil&8aVn1bOc7ONeB|YZyn%MFZcs;AptXA%h_Db3q6GP) z2pITDY~Q31N@%U6Uc|N;`vB~=(!XKOByu*fFQ%Lu{$3*QE6GXpdK`6zOs{;b)R!3m zx-F+7{nHwAf%U{jy@xnc{B(2i;MVOiQ0-Dx994B6OA`x-MpM}uF(+RTaM`f`YV)vC znacwL#qMB!AG6Yhgf+=&m=MOqx7vk%9YJBDsL+jxL~rMTgHY^EYqu(6I8?v}!iMq+ z&6RuD6M39Dk62A88~!x(&sE{txV!A-7>{96;erQDryyWhGBPTV5>HFj#QRh8k!jey z|Dn4R6)QGXUXTJiy8pt|tV9L9C=InSg-^`H&{YF+fP>c*pJh!r2jis>rlPkvJck?r z%3{0Kgc2nDw_*|zrm{s2Jtu$+yifm^?~{ZI-sfcL;_mYBlXwrlG4p2?o8vER-60R@KNdx6`@ znktM&x*@Sv$p)U?Zkv%e1Lv?sUd8;KX~`QXA|oJ0ksKkovKkgPvVO-q)UgK1$WiM} zyF;WTgVe%H%}6qm4I|ft#80bUY>H%9?nk_fz2y@q6tl2d4qdpx?MGf5qsnh@EY)k{ z!V6Ta0?H7c;55dTHyCSHKH6 zIETh~)KA{aeFx@?gJm$9#k^a|Pk0A_Y@Go4orrjR;$7T(8zg`U1PXX`ex3JX9=v)0~$)a67}=FzYST( zRIV!tw&vm$XYTMEg*>#ms+DM}94eNY;z-3R>vH^g-pkphR^cv93EKirsKW)CA+M<_ zf|wY_5d?0m!bazyJscnPB$d)jb0h$kC%fD_W;c7IHS_=qTJ06O!ng?a^gpxx0DK$f zXNu-|rv<$@BeSDVMjt91`RypH1YD;&{##=}3XB%C41X_FcQqy`8wQo@VO{_o zE%EJZAH%nb8@5y7FnzEBVi&mh<@xoNTnaN=nY;1x6JRh*M3e_~%$gc-Zr^h|axvVzsyfAgCiGyO7^0CxXL?+9Yqd=|0-GP> zIWcB4zYhFx`3pACzIL5&y$`u zPDMYvii$F4)qftX2$9+XFU6%A?ElU^^TmR}vare+5uw z0lS;U*yG%HRbPEJwA6VZ+Z792u()vq?}ZTX@T*|-`XMaM&)Lt<5F!oTvy!|#m^<-eu*~&);{X>WE)H_XPRW|iZ$ZIacEC1;E$l2iWf85~@arZm+V3S%vaqp3` z7x|Y{dEVX*3-w@Y-3C^Tjs=I6N!o@4Pmn4L{eO4^vf76a>v~!K00xZCflwrq3u}9+ zw)RH6CofHz@9wJU#9TFS?m!X<3h1XkG<$myZw>M&hUBvd@0JEkMg&PtEK6-z|f=qque`ZT*X?fJBiKXO`lw7&q82p~XAqTP`sHC0AHj2cx+1yYnG8FvQ z5avoYz0xD4qQ(isU-{QXg_6TZE=Tp^@K7^D+kW_Rc`i+`?;E5S7wKya>Fk;hP&_4i zV9|&8m9Q{~UfSeHD$J6kd*zDw-FnrLjSG<>yO&OMcoFkTczV~PjoA`Xp8gu3vnrMB z{JvdPY=jfQpEN;}(MHa`Vh(!ikRCd%SOF}xSoR39US08swISg3V&zN*NF;Wz_z@tl z5Re^$ro&>1<$fjUqta6r>91SWR{WK8L22tQ`6@DeF1zNkJ;H%|jeG^~O3L zZd3g}mYY7_jZz9^A0Zl}9*w)r!|34fv-;lB`|^TS8%StUg&2P0Pevw_g^XP(kv4w+ zYwSXCcLTtXSzh>h!=$Uhn5m2(cd~raQZ$D;cc=skZ@5Cl1y_8x_q3q5bFBKI2rxws zJb*4)j4l1AX?Dr|zpiQ%=mC)OX|rPy;K8a$+}IzbAtgN|Xi!cDGUi2V#Y+HI0-_IU z$FOF`rkj$}P0jp6iznTi1%~gcZ3F-(27y0|e%C8`bg3gwngzW+ARvRgKFVtDOQ9x- z@wyx&EN~Z$RX^vaD+~0}N6m|w`8d6INhBU15#Tb(q0*#a&TE3j#r$$+CP_B^@78Md zeK}t)pByIGPB50pn)-P6^f&Qex!nOgheElC7wm5q%wJ6|dg-m(x-5Qh5V{o(1D>CNNHRck`mf=sK2@<4lB> zMl^rG(icB7uK*Tl9ENPTsv;l>E9=sWjwr!Sh=^s4hm89oKjCqLth6x}^4cyu!=()u zxi@FDD#JM@>0i3}>!zF*yc1)zz$P`Ar({4#i$1JO7Rsq80!iurqR3gZ+qU9MB(~?9qb%-Gk&M zhiH|3!3htoDlX{DlxA2n>+7Q_MtRfRFq`dF-|3KCTKp=MBSk#=+*PLLpme>FwPegs za|jq%%a!WfZAz8t{~H{d{hY)9*z`QG?;R=lE>LY`w}$yX8iLS#Kxb1@CgY>b3yDbD z<*r0lRBz^EeZ`7{^=la4xUWJK%uu0}Z1*x50gBq)=U;P-QLWdz6KS-D&b`V{PFL}x z?t?p5TJ;W51~;pZ?C%DwNd7iw-yxMc{rxY>=iFEf(YkO;(6D4&a4`oNJu z{tyewG%s(KZOH0@o06_)-b%c4jkXKxs#kqPsEd=(0`f;q5QiNz{6|M?aRK4EK5fKv zu89Tc(0{G-G~Odf5M;K#B!_O?5cL0y3+Q~e1b@(wtv()|gfkDajoLQ6cM40dR%p8x zxLTgBi3)k71&fP|9=5^+4q!9 z=6(5Zv+O?Tgm;MRE@=APyo^c>hMiRld_5H`A}`M|hx%%_DS2rrRPQ76A4)iMv~xk+{;9^VJcg% zL(>n`y8Ol<)J9m;7%!GaE-;5NT{wG>cZ9DeAn#Z9(v^LS1hSVVD>h#2%K z#-noHL?DiHakk~{Z)mkh@rM2;AEVDg4*-QN6S6aTJmxh!>{5|L=?47%N`m zQ||eWL3I;Vkq{@dOUtAL9AV>$_zl6R7VNkFl(8ROzsKbaJ?+yrgx#5yRTM9wxH&ar z$fZe;uzdBnetvx65D!X|Fqkm4LmeQ8D+?e4lI;v@p>T296!`#7xJHs?mwYWIbbeGU zvI3Z?!*;(LGdY3z1}u8Kp0wI1==}xFMPX-Q_QZi@9gPojiww%-3t0b48nQkK z;3W6Ske4n_CYsVE`{Ia^v%uX(eAU^z6w&|!$p04zx}BcS^_f>A<6iGlT9FI6$<=ST zY+nkkdA`wEp_U7TCC0nGo%FXKhh?W>f3;vTlz8&+VmW=mte&`1iS7m zK=GZ$4Ab_LvEW<3$m$`-bj7KwyR%@L%IODQ1+umMHZg?3)K)j=Zj~N0I4UcDlWN4F z8Q_AZd7?0{!@v|5avYOVT!Mxf{5L@4Fqr8PP>yybS`YMnMiJDA5gaO91B$~ z)`RnR2xZlMa+~Ship@POdg!#5ue*#*a*Kk_hH#)+l{>mI!86J1@gt(^`5K<_AHi5s z=!&p4LqpR~se`xv#!Sa+p$Eeg4$-WzoO{$aViw}{irRE2%Pv=p?^Wys%2xP z4U&ikW;QaL_HieIvS!Ah4m-!NzA}UC#OAaP$m*1_@(R28hN>)M1>+9F*F;l^1;S!S z8bMq-0c)YFWb#AiOn&{ND2b9Ch5Fz?7@O~hJ1Vcy(r-#+tIeC2zBkO*k!!R>`MZ|BI@7Rjs zCV&48c7a8OsEE~YKh;tP>1FVw5B#;qzNzH`9r~=45*5NAesTSdh9bu9`G`+qM8>5D zxh=glAhGa@fDxGS(zWz;4KTC()oowrm~3__+p&Fbu;~;@SboRULr5k4j+$8_ixLzF zf7fIUCci(1{Nk3wxJtDdX%na4RHkZ14`n`3z>SI7{0R)ETHoBjvM|?Dmz2SfuYLd1 zA)1)@ozKBD5yJu(gC>@r-)s0O9 zm_Gg#Z0bt4^g(vqVlA_uqGldS$R<$M(QJ`cMz8^b#SNl7S5%`xg;=99g_2Y|g2k~` zMRRKa8TqL_nj*-SKF!mtPW74902dF154#Xuq_5Xh4n|}3=&VUc{X7;eB<6Dfq8>=s zJ7Cf5uW<0k&~mQRX-jDnvI0;d7@_A-@7(q{8u2@MijrCVHE|!M&|!^5@>7z8{-}zc ztIlX>D*T3nwlV9bsFFwbS2Uu)$4=L%6wbm9+24GspLMfOF(7>?Z;HM=>H;poZ55a} zrZ5bbHxYXSeJxMF9MfCKb;;|FWlzqhOj7NP1#f=PyN8Rlcl@;78jfu*U7%DJt}o2} z6P@!aJ{UvUqM6J89LbzzaD0W>H|bGFjwH?B-}6g2t~P#YmM9AXX}lqNZHarIn!ghg z24_nCW#3<~GmNr}25i>Or)+|Y@<48kK=6S?t#PvL)7kZt^e$VR$?ac0Ip1Se6h`WS zjC`kB7^11Ubt`7M%V>d-*y-B`zzdEC1gN66F;t7u(j2^M-N-;m&k?oHRh@nJ4l+0T&R19vJusM$+kqH6C@ti?v?R%|nGV18I zs@uVJ9h+HM9aK=@t1LfQR`~<1?O0Jusg2^Lp*m-(C%?$<`2U`QP+H1`(AZ8;y1c?8 zp4mdMLcr>s`e!~yoAZJ{S_7X1>4V=;x0zHV(MV=Rnqyxi1ZWXdeYps^8#~6+X`Zis@UyKaV&Y|i}w5l`a-+gbQ)mN^( zUt9FQ0bHqqRUb{wF+XUp9r;)GajDa2#yAjKo^h7=sqOxL$xSorT z;jFuTJ`#qu+yg%R3Ou*%%=JkO*=%#Ay;+91*e~ntryC$~dn3>h3cQ zDHIO_;LhF~`TF-*Zxk_Vh+br;BW58xb3I>v$u0m4FDdw38(kmHu*y(I`w@zI8#7&=zzIg`ao?tnamvb@&SH zPTR!+LD|v&^xjdgaM8GBxJCx$*%`$}9Ik+>W~^a~1|;M=!0KgK&ZfWu^DW|3aK^ zyk*QavcKs`F=}2=88|h6_ zH?$*>A8P$ASn&$KCyy0pUN6x6hQ2=eeTn$z89N^U0BbW-MJuceB&m?fO>t^N4E6lg z^$D7mM`m2mvPlvw4lW7`WPN8}qZa$(`a245-Y%mZ?>-lTHK$Gu4l3)ddDb)bp2Au? z8m-I}ZfO<0j7;*$y#OHNvVjAmO0ONK{9NtT!B8=D_PzZ}>+%`&$?HcYnawmRUM33) zY0>#a`-bveRt5c4dg<1bp(pB`UzPc>3E0apS7pY{nA{1`MVjydh?c@F*QwkZhobkG zR9I|vR&7^Gv4bf7L=VGPKNE-`?M&K>3!|_P1T)p+f=o4a>-=DW#m6-TWc}Yo#i?K) zv>i#96$N0~JaVk045da1Mapf;X{D`+PZL&|yXw@%`94#X>U^3aYcUid${!xMn&)km zV?&%i%NZ3fIbHMfNjBh28`uE%H+r@=bpK0BX7=7KvWX@cM(5|<^4iM*q%@Y;of-F{BvuBVg}@6ey+7?&f~S-n zO6mLuYe2;!!k1x43_0uD#g&+PItfK}R|D!Uu4TAkMQ4^c;J;%QWuL43tV71Nz#d(M z|2mjtQ{WW^ZkEPhn%H$6{a}!;0rem9akd~BUQkQqV8YOw$G>k2ZnONZ9-h=35%)Xc^K;io_}n_4sf7#Wb2wzf$p(dd;LZSFLO{@DRdPS!pIQP;ip zr@(DX|Hp$z+20xvQ_Lcj!e)3~DD|~nGjaZfd$BXETfebL+MEFn=t;7PKv3RV+F>eU zC&!b8Ypn5w`cTLhXS$=*s~dtgj2m-2VIZHie^+MxXQd`u^DCN;Q#r`O!CARXO)<#q zG!55?Y3$&{>zE(c*(mxar3eWRb+WzokL~xb|8qc{9Br z^kWM2?Rt{6TcRzCJWDhQb+WS#xGso(0GCt$k{Da{+`RmMyD#P}B@h9cid^^%5LRSH z#4djKVVFgM^md0zyZ)p&w6HW2fJG?g5FwRo=_-n#AZttv5LPh;OPr@Vjv^dN%Rr+3{-$uw-)WKYY9u>jCIbe}$kD?tosP z4b0FWH(fkXMTYeQwwIBXS60pWtR+Tp)o?62NvQGKFPq`j;<($ZdZU!B5ZFJf=8soh zjh0d?2zl~4a=0lh>n19sB4qPiu$|HY3PFwm?Jb5zd#VAx`IH?6(n4qj#fNnw$D`1x z`$0f=M^%J?u}v(L=}<7B_PWX}l(OG|wFMBN|H#n5SZ|OL%E6^0p~^M|>9D1HlN}Z5 z_FOTRX^PrBPP#%hE_smWj(+ptCINs>un?;!{Jvy5=SM$~29e^Fr}*5z{>bZ!Q>yGO zLBVJ{PV%lJPymd1jV6=T0%zR~tF`_&Zdbz_LuD0Bz`)|(SG`kPK~1Q{2!wNZvFy#? z=5{IPOWLgt{2x6u!kuh!I)~@y1#sQ3SYuN87sKDj6aE<4)W@KC1Nv#dJnct1Z=kI zQ2&Td`PG)xQgA8jIEOKH&0>1%a-C9WXoJ4vf2T0&Hy#OEi|XYr*;KJH$q2zSZ(Phh zqp3N*)JqCsGxDTs+BBAt#?$Fsw^_tH;v(8y`n`J^g!#(pGxaiLJjZSo$vJG-7I91y zISTn)Bh-By-Orsz#VLjuxN3zG{1y7`w_UxIecMb1a@1iq> zp!9=};Cwn|MakfJ+B^_oym{f(vJ-d;tn{?2h+)eBCfqL2>UVj90WsusD>W((sOp<_ zi6KxHCL{&pH9p_Bh%_^Ja=(h-7fh7s;db=Z?*ukt_R!F)kiDfZMH&$u3jpp%DX zC#fTN8g*tm`smI4WBEfe`Wgrw8bQUP+#nC&a|9ka>|}5%tu&U){!0lzB?@Xb5LT{@ zeq0S7x-(d6t5OufrF?vw$TR<^$zc3u?@%}WeJ**+;*63z7u8R|=+AZ~{2zIZ0ct=! zZk??jMbfx>U%2CHmw3pI*GjU?M-OAy7T~l^`mT1IY&wWsS9m13@zlVMpp3 zCWEUUFFG7Io;G@2@YCa@mRiEkN=P)K7qw7Iky@Ef_8&nzK(eZ5ebu+G{Jz)2VAimb zgD$5MUIxKnrd$Y>3Db?4@}DJakMmM{U=Qo4`BZ{3~R<&Ez=yrSiQA^}U1s!6c{WCR<{U>fc&0hA6vk}E2 z;z1mUEQ8H2+NeBzbIPQ)3JT=6k;}Zrs)b zx&8k4yD)lBMuLW#SYboVvLi!L&pK6`G_?gDgJ7-L0f})(V*?E z0l!5Jf;y!M`*Zct@*X`9Me>}EbVtKd$`8fHLg1GKql6AKMT9p%}JSV$z(j!fEhO6XhL#T zn2Dv9tS_DOx~7Jps5;?wi$lLSZt{D5SW+agZh0tC?|pq&s10U3BU&(Pvtcn9NrKG_ zx6F-|_qAY^4yhT*Ae?U*IQ)4bgduw4G3Z4oftHHJy?QTdMJsa5m?{2cckXs(epf_9 z9+L6n4zzLiTa#eEfV-WmzkK>A?@GZ1CTZKFYJty-BI3<>(^Wml=4onhQ4vITXLwzD zo6W5a3rtJourM*b7x+{OJ!emgSAlF7BI}*zjr@dC|HR1}q!Q3O-lt;Os>*yh1x!g> z-jfLD*1XFAsS|5E=2a%kE(tlFZxqp}-*3$mDP-+;|GG)-xq6$UQo0_jgsk%k`wfZaAYs;KjYR`EX~uC7<7e5$gGpGH z?{pde)}e?P=wbVQc|-_G@Mz1jd~j96x%uPh==6i$(c9DDEw6$YGYv;2qkR1d^?&WE zcbv+bVAI3l9MTw-qerv485q z2^gn;MFxXchYQmxqHd{b=2h!}@%Drqn}V0K za>nO#FivCl(8n2NWQzf75^Z2MQoM{np_z^xsCSW^2J1qWXC{-=)h&8{oRgTdE$nF=73 zTAUw05R?lPet7rLm1k@0SfyCV@$v%OB|eKaFEZbf+g!VldwHD9cEk7qokUtEnYXyM z+qS?>mmuz-uQ;h%D0{5&cPPh0(G~_$OO8<{B29DA-3g>c^bA=!xUL*vPk^#7^S~~$ z`G$s`klkZ42fRB5E%y#r9@I>Z7`QWbht7d#n%6P+@^yii9mW#k)< zaKj|k1KqC6aLHVGBhM9Kxo(xwtpv58AiTM^d`MR+pf#w)+VJ_c4xZ zqpUn>W&d7{;*3EB$6h{aZ&GkZwJtG(#yOWI2EU%&nQigt`O zx&y0fDI_;_rMI$5`-qQZof^)u*5puc-?`)Cl7Y8sf4)H0DU!y8oL7$;z)~~Lh*HV~ zV{akvmxns~TmY@aNb_b(%St91$9Odg~^4;a8#fPC*{1wXN1ElmETJX%v;$hH>Qvn@#R6I`kqvG(?PA@>BZoFe$7M-jZ zZvDHGSM?@mKhMwRSj&4nZL_oaeuMU{mj zvzVE_qND2jNqL`tCI!^-n!7yjH7sX>qx(!B!uhXYfAyQ8Z|RGw z0x-ueN2405z)~~S{2nwKk4oQyY&vXDd}r)qD-`3NrD1ifCQfv z5}I_mAo#@50JSfdt<=N$w6VyOEU@)4(P+3KR_y==U2cSu=O2{u7HVY9-+>oD<`@Ag zR)pZY<<^dLW%y2E$3!|u`X;m40btQo5g^j{&mXeNsu+}t3;^6sR^7s-;Cn}=3L1g# zMKha75idJieWSk``{fWZ9_ahD;6d=xX15s$2_6twyXFFB`se*ArO?6706~<^-shPh zW;~lkVyZ?NN#ym{(D1b*PUF3 zCjgE1B4M=#p>3n1bP7=Js!`0{yI#H2URdO~3K#iZrx<*v>i}MI2LY}&j#f#MHJpM? zkep0ugim9p$lHG-XV~ehW|YYc@#kQ6Wej`N^|Q<{`b6tTK95zhFvwfrvSS~d%W9=E zoar)k$&IfYDS>C8Qo@In&o-kItsap1Rux=?V3oDK!7!2>qA~SeD{Y1tSpO8fKXh- zgV~5!Fsk+8ylcxmb)ujV8;1$>qx9u53xi7(5<$h{;WDK>0s}*yO1*j*w0El^!o|j( z`)>P#7CZ6npv?qfm`%(-ImtS6fSBwCyptAqw;qm~P%w0z+n;XnvzL&>)+VtM!~6%y z6(yc6I1b9nS&MC=KQPc*{5s)(Uy6)F+23SJMj?f6GE6vdEJtbEtse@+z55>w(VYQ) zzYgs9-(-AnrekDk9fJ-|CsSgv86lz_j=$Zr3b(0o7@Xl_@=|&EyjE7qiNHB2JwD37 zXJm3Oy4)8HG64jgCM^G0kaB!n?EXAN@Ow)QL&t4Ni7D|G3|@X5nFgwz@@3 zw~*|%g=FY()?MOEQmzO;CTdSU%l$|x2oz-J@eOl8*{qn{Fm6l=`Fpch`5(z1Y#L?Cb6<95wE zGD9nY)*JNxwU9n=(borCvc}?mhL3_Nvg^(OFcikLe8aN4Cj`D$FfJildTxdq5b69H zyO2QBdPhkhI)dYiU9H}qK0Kb^SgZeXu>Q*m1eg{k@{`Vd6VBS&SlV|^|8Z<)VK|Pv zRv9Ze@xl7XHsw0f1YenOI*OP-kLP>0kBa>TSA>KtIjZ#_( z>~GacwI4%6prUrIrRFv^syjX*V=V;&MW>cn`R! zutI!Y@PK^mef5rQFo*%TO6}IIXq|(dWVMz^=x)P1!{;hH397*Za#PloXGtl;6cu5@ z++k$t*f_i>On#isokx6NuZJPEG-*ecYfr0$g0ci!=xio*vRYyrMKRhC%buP!^7Cq% zYto@c$pa6*FCW10>!l}3QTlvGV+wb-Ww-GOv<}=Plqn%Fx0aSANfHh=dI_0BUF?(g zPRu>^TaH>hKyAziho%pVy)p?6sdZ_~z1RMO&uYQ9dijL8yWmE=r5;h~+~`gzW~P@X zNC}=&dPdCGc_!`Xk=RNk3Z0;KXCbBzENzCnP%pE<0aXT}GFxJhC$8MxnwEha%3?4F zg*=Fn)2?mCFk43-JTd}lpf%&=V^Y%!_kJpmWgF=4Pqgq=!?2n?wU(y_|L$0&R1`G+ zJh=qQ88=$+d?wsU`AmVcfL2MquVN^$%{=Uy3zALTumjqE_pSB~<9pH|`wsom}F3k78&{5mFfvJFshNajNbBL*L`t z>GKQ=UJA$GIp~4-l4cPOiV-a|O+<~nGdza(YM1AXhRj}h?H%PR6r+@dALaKu93DdU zSN%I>T@uDAHauFiU}l>T&|BrHmJhG1_XZx#E=#Acw|wvO0}$;L>I61k%051)WW^6I z{NywMeS>wClX0ddEa(cV)Mr*_T``B(z?(;HWN2Hn**o=()CK{g=iQ%h#_PrQAl9G_~Q__>loZ;Ok525?qkPi z=%Hy)-hTPasAC5n(eI4&c4l2AXQ@761KBwV_QL zstW`k>c49=Cq+b+2jE+ow1K|kqac?RDOI6ZUB97<3Nl+_9)X3K;fAQ%=+KuL*KZZ$ zUU&~2wr5q!+?5E6Ho#eH{v#Z;nQ-;(wUv^zk7;Tpel>Q6UUsGmYFA`LStw|1?f zIlM~LB6I9xX~n{0NOJRhA7euVff!YF zzfu)b>VdD!np;E?ZfL{r3X;D1e`iB^bcdl@rt_2+=*!qT=q6#p?Y+=-EPi;X0-~jQ zpf#)^FF5OKhlOp$YZ?vLZ^{yrznJipk6h8Br|iG2S-3?qsx+5;Ctx$eTCZX7-Ea(< zy=)I-GUl`?Ez9I)`Hi_*DckCh{-@&>`d9l8pd*C&^|9%Y?P7qFUT$2XRnnBoORcn9 zuID%8;_yP_bC0xYqjvfzpeC1R`DURr+^d|^`G{$%uX=fQ^kL;ju^K*PBeZR~4wq)R zpB$R=bpQet zX67h7$R)taqhxqcJXAutXWwXRd{6VEj3+tndfeA5g++(&Qc?|Mjwq*84`+#;Yphx>(iwrG@;8a~LYx5upKN3?9P+U>BKSkD(#32GW zf^OCx8Pw6GQ(+THL4shu&qhwLisxl&dm+M6+gt4Rf+Ow2ItPhbyv<5>H2^Z(SO=|n zi4=pX*WcB$iom-*tBQ>=9X2pUj_XI#V;=idL$$K1eu>E&@-Pk{MCkI0`@4Lno>c&^7T-~1wKQH|B(UZCg7f%{7*NZ+~ zy!GsQSITcyXB>T4C*X){6tdc9pUWd^d<-)J>1j*lTQ)u1s^*^y8xpP$f+gZG4#HoU zLJl#tXN?GHKVF$%cg_=Uha6x)Ib#t!I1S<#QfkCkU}c@3{_g>}99uio(yVXbjhqK0 z141ff>#H-N19=0|um2Q26+pujU@ZU@Mh_nr46a9c9uLtze|LFi?W%@S@5M}1(cZeX zLXPs(r4H+cXDFkc>B7snr!$%rt@8hDu>s$@X1MYB{crmfc_GH51FjH?=7^fNHIDg&TblsK9%G?R23Y$p=az= z&X@2|e@e={GJaG_bya$Gv@m6tTtoRlwTx%*!xs!;T-;UakWx6NTF1Ll#kQ{hUpJh2 zorJ;4KwX>odCDuVxBK!N#hJtZz*I*RlO5I~!YYm}zhBEJBJ{y8-(-j0)R+b&ZU`x# z#JP`b*;DolWN6q|)GqSFdf0uv+IHuTZ>I@AF$?|)BOiXgTmP}atln%E;oBv8SUKHvrm}p6$ZSik{en9)h@sS zgYCK->PjuB`pi!?SaviDt6x|S7$y@WRKP61gSu>dDhXwFKLKw3t*g@a`H?Ld1@ouo z)nmzM&9@6xwSN7*?6yX61M&4)Z~R}mI$b1yl&?RtE0}P!PuG*|k*@W|8fl204vk8pX_MXLjaqzm50B`m&r?2EL7!Dyf=ZDdU5+4eKg^|asrXp@On zq*+LWS|kGoQ1K*sOAlpgWy_WUF~F)wfc^Kser*`oS!cZ9XipcV%EZbjPbTKwm4spE zEY{)qDs^}fhzW#fUege0Y^rsFTfc=I+qg#~06Hv)Vw<}2NXY2C2$vxVoaVSKP8Y8e zZDflW>oHE}-H#_zO?9iA^a6BTjr}Vc_q%ZRU-dKx_-r!rU`hO0O-PuB$nz_|650Ux zY=nf;oUZniE6A44+t5D>7gU%YeQWA%gD-X?zkqP^UP}qVge)KcnL@z!=BHQ7Fnnv! z?VXEmeM{VD#x<24P*Y8*(d-Htz-T}M8!m24%eh4fZCRlh;mz&0W0R(bu>Q={F%vI+Q$;W5#g;wzlFu!Z462U-m1973hzlZL7m8i4D6Hi3%yN1P#z z*d>8SWWo@ZHHUdJvtPk*90Z2O52`!A=GYt@gkEJAwfjO-DBU!*=(MziAs$Y&V=CGr zz6urmQEw+GMs*=w*JGL;`=&{R<}hULUsUsjYDH=S(UANQAFP(HX)oAt4)X7ov}n*6 z;@jXSS#d|&hXfgH6BOm>Czbhfyf66O(k3jXkDu8>H1SE=ye;TReO0SjONqn3_K2Vv zwlo|t`-M@Lp{Xa|A_-K;&J16HYq7#|%2~TYF2kGS7o;TTx9%QQXs5F1$UoqbYGWNZ zShGT_6SglQC(0Z>6FmP})jR}QsLU&4f0zclHetV6<{Z~Eh(zsX`JIB3Q`qziNw<@$ za`+2tD6auCaV-Sx{Kg^(3&mQ3s@Chn3r!Xb>yer(E&cw40{=6if-&ynFb5N-7#BKS zyRus0Flj;I9}5-^FMj6Ygx0tX8lt~J8&sr+;317OsL0oN>D}j%hCuRD8Mvv>0#1)+ zEBvycp+(nK%SG}REYNTId7uYgXFsl*`q~z^h)5rJPK6$2wsE7S_7R2_IIV;UlL+r7 zvm)5~bujq(V^J3B3`p7|ZX{P}5y+L&@ty~zjS~*Hv@o*Z)7l@ct~jKkl+|JpIi0m5 zlRAiB`)r2lD<$?HoK8lPUyh=2PL%U+F86CFv@ano!J$B$(HGQO?G!(-q1Ql90=2zA zbF*Nt3K91PFsu5S0XX!e zVXu4iD3)+pbBrXDB-vpct*%VB$Y5H&f}AN`H_3&#OQCOZLBAg{s9K!V?v%f0>X^XL zNisn9t)2M%9K+m1Z2x?@-?aQ=r`FT{t`3i6)B z`FZ6D!-|JH91`e2=Wj*VUx!C!HwFPnXOiC`t>CVCSTHFC6S$;Cy)?f?>T1>P_kz9P zu+z}(TtcgWB3o{UNrrbIUZ#5E2I#dzPqYWkRFqxZm8BmP@#ZVF*>3)VNFqQ%S*YqS z>}l}Jz@m%~)wh97TAi=QBL6i8Y4~AHII#12;>SDBqPD8}1rgX-MVHI6@7|kfhwVT^ zcxJ^wvZUk3g{q^7@lxaTNav*76svq;|dc}si?s_KHqgsV`db9UCw@*Ka%Nu|zryl4`}$lg0o zFzJXOmE+=i&IzGF8ITqd=8!S54!ue~;?Ep}b^-*XYIO1QZX>@0;Z=wzW3>Uk4dwGDZ!M&P`OM@jwkdoSPwvoq%q!VQfbvQrgaq&>FPTwSnS@WyUj73ou5iO`c^LP z)E5SS`1Lgv@1O|N5)~=e)E9KG08e6`aU&3?Vg~xhm{KC&0HZ-fe~)OwCA*@T*NXM? zaH1X0tSf}K$&AtI6EJyt{)FfWg=lDe5lM=#Q86{53{jF<=wQb`14vHeb$u2z z9mVQ^2^#FfR$eL-(>|rvUZrk$ACq>)T#bevg{h?g82xw-S>#Q4s}$o7nsE`Ie_t2b z@wur9wt!43wd%__UJMQ}qSML)GHmww9TY4=#|E>1w@z2OJh5E42DU!KOdr>ulvtCW zX@==B_xo5hVz0;8UXMS-2|AVXAR(=$6JUs_VDAb`9kgzHE3gmyter5{Bl^b-=`Snt$1kA|LO|8vrp zs~s5Nl`BuSjKfx1VNQ+abLzLq3S2yKti>qaa?ruiioAkn?vyaa5~|-ky)3+1wHE|q z1ped2!)qoNX8MHVZ?$IBz)8mrhvhs=?OMm{JS~b+Xq&R+66rRoFUdY&1*Be614R6* z(NZH>0pAg1$6>jUisY(@fS<4?Rz2cYYcFeb?ePeG(9}ij!BC}ZD(0_EFhteHHss_y zpH8Gk`K&C&s?3WaZJ)D z+7$pWA5nzoyod7l7Sfrrm_!7E3iBwAQj;0X8k1JLckIhSXLk-)q1|b)Lk?QnXM;smTKNZ{*c_Y70}_@Ru=q*dq! z20ihUp!<%T)3f1+%(9DqzW?KlR`!f$vAd!Aq)?=OHXi!szsSG~pQq$fH>do&7u8mx zofgxiu-)~On$h$myv?RnOdGtLu+M3}ylb)3|Ebq=H; z{%Gy0ICA9`qD6s1rC92F{yE>i_+|_Rr2avb&Vnf>f;{+^x;nk0COTv144ZhF+Yssh;|i)pzY73vn***yOK9Ch*HH z{^P0vH~Pk6N9M(^ajp{v7w%-pP;m6}bqY#ry!S#OhXLO7#2=*LLsw-e24)^7?v97( zW-5XAy%y<1M8A{fw5j6iew^=pNWH|}I9}ADxg$>qBn_x7Zqc{SPs_vRD>>c>9Mi4z_k>uu{Y zC$?38cjUrl)qkLiKHj7|0@P;#O2AeZ6>B_AjMBBa(&d`MU5o!9)SO$- zbMzCAuCe;iXJ4~+ptZHQ#Nv#3Ubxk0DcLBtkh=a~-PBq+Y*iyk_ZWIn|1_mLOgohq z%4E6Y129tStrg$21Iw-5WPp_EX6^Vw9&GkIRR~5V9tr3k>%cRN>CW=<=58n_4InDw zB^Jkr;%D%JG+KY72n%n^@T9DXZ6>Y6M@*R;nVor^kq6@w_$J>CuDM z)onG4HtzEHF@wk{Cl7?b4G!P!;BXeVGfIc^*I6u*%hj8rnY?@EniY2JeVZOsSa91U zWtaGa-cj0+&yU*>8ntR%i)N~puVxyviViAVQuN{bqUSJjC6eGFkd-U}xPv!TL-Vch z8HP&Ix=a}EMtA^FNm(+V$GfRo@e))5qtxHvkF63&P{ub-S>s8t?R*-!19cG1@A+pw zqNhMi3Gd3;O5_zoDrOYb`5TN`%%l(ReX3bDi-%6bda-7n`n+I*~{ot3cyc@bM9o3)1%YC6_4(+(Po4WG8J#UGfB!8`xCWUQQf|TVR zVxyJ8{KRz+vKZDGjvUXmVtmOE{#ERTfX)B`j9lEJlK+%Q{0V@O5WMfgjxnPAcX`yz zwLJ>QQ6JrGiLl>$>!g#Ksp(H~5*02GG}u}x-(#B`GgC2UgMxMkn9kv;U=OBB`X`_}YfV;IJoF9n_w$`3|=Ey>aQ#ebU#6SM|P`W9$y=JsB8 zBTb0-b7T>8bih&)+g*8RmYs<}?j(UxaA6uNcV5L<@2*MRHYs6`lW$pm&I2sw9%l+fZA(YbY1pJsr`I?DKt+0x7Yr(| zQvW*mc*gWxAwEp+h zKeB9AGFx!`Y(4Vapyv?bPEojg^Y3^3_KhR_cAbcl; z{p5|=n8?mHD=w6KixU74EE7gRphAcG%1)7k4B7$FyHYJMDA=u^!U~{yq5oOVK1$N^ zk%ZU$3i?Ph(sA*Nq98%&cY(ohp@Kxuru}P9=?Xa;BXj^j#lP+93nv>C-skd# zU>v``L9W6eB)AZP9%h(cw&14TX|t)QPPIZF*&dA2aDH=rvw*kkAm;xlK>M4GLJ*M$ zZ}DG+_w`DIiRZ5)<8|;-l6zO1fUBqAM0Q*XCF?g2l!4@jq0w7z%v4@Oi*qwBs<$cM_c~4^5J$rtwDrRhm9Y3 zE8CHIFyDN8d|u^RJCA3uPdUU7LD8D327xOMW^vVbqO+6k=W>eWX6Q9b0$qhFD*EqN zK6$0?DCyEop62%C-CQmes=Hg(kNj2tjfkWcEmc*n;>+RWL8@40Pv8$YS**}GP^a8R zk-8U#Hc6B~KUZm_tIPI0I`nO8uhxd zH{F^dflHTaBBgzD8po+{tSkQ;^mi4t`Wes|%OY#qn@7n$o>xEIHD=!qeDgeV+B^Gp zDEMe#3jc5{=I^?(s6i2)l5GtI zSqBrfa`ge%MuXeH?O7@vBGKS)8;fQHFWlOi?JRr2zjX+xu`XxB4f=U31|)0}t8wDD zR#3HVT#TC2D&(USqiK9@RzZN~*&-!74AUntR08-o)4+xXu+EZp;s#35lFBYh2@ncP zp5tvq&tV=u5gI}h(aZsj2vVu8ja6v^l9h4`jsI2nNzR)SA8nyu1L*d#mIe0nC$?nI zWH#-yL0rR9-R{8@h|Za?pC6pOT>kThXOJD~FtqMMR2k^&{&Nc>OtJF}9$BRrfMI8M zr+qy%Rw!*ln0dyN7CF}Llbs;wo&W9^BZf;~G1IT^$^-o%BLEF%8|9K#;TUcqz7T?N zd)n}XTgq#GK>VEt{Pb(^vhbX>Vt2}M$}d(YA>>PZ~1x+^Ro zN9<-*qXXZrk6#0bX&~W}4?IpiaX2Aiu)@xMCKRfQM4@wn=LxkLW3v^=_)9f;5|H^K#plNb3p; zvD&XPy!40*^E{N}KL=&JMj6>Z#Oi|I8?rBZ;@y3D+V9nSN8K;Xvcs9-GD?58?_4Ua z2`j0|qBaD5BN(h`x~?NIjwn-TOE8N85-l~FqWMOt*X)iJJ#eIH&9oSfJDT_RhZcxf z(aDAnlDX?+o6#yctLt<%p>}mqT}EokAR(98Q@X7oG5j8$J<~kEnISHT?4%!OW6BGU z_D_epvR8Dk)Uk$ZRH5f5CzH9;q$tC#GzVjSt1rwC;bVjp&uG6g^qcL}NLhU3j6Y>fz%R3pjgvwvNm~O>S7|tC z@f9NBMh%zeAD(~#wU8F!9X2Obgg{>0JP3F{Xf{|zVIdI17W8-Ls!skhK0QT)c>tVL7I_G~MY@m!kLSuxRl$LI9|M z!1k9%;T-G-2GUSpS5;3Ouby>6#H+ua?#u*;UpsB)#%rAQ=P^lJHx$eX!=yx*wxXC@c6p5FYRB%7BqL2frh52RYCBJm4CBQiTkj5H=ZS# zWu(k`UmK@02yqKH*+@Q&6_+GvR<#LlK@QaOJ&BN}qZ@xkveIf36~-IQ8DYlC==Bfc zBSA)>IL8{5DgZ=>@-*P*`>Ciwke@O2vervzxIw4z|?C$K^~ffqMX!h7L7)zGTVNdtyKYZ6gI} zWJpy;%Y$I856e8PNuv?2)=fs8j(H7tdKcc3fdXa&JVs~?=T7n>$-2_14BCwfa4E_fh*8VgO>z0kp2xP7^usa%m6f>UHp;hbFl*7@SGI%8HFF)%%x+VeN@=*0 zwj6IbpYqgn&3@<9qz0Nbp5AwIl1HHusbL+nD{Q>6O7OIt>Fw#lD>QG%dKMD~T&qx5 zvi)-wT4v7$#`edZ;YwO2uA)RjQ8%z&FZk6P37QUXNW-xeutx7m~x?!7hUYAABLEF&WOfXOg3I?;7 zZ|=t7YJG(mh@r_kmNw4fQvOqTxL?7Dd3kap&@AQgP77rZ7(5wXEL7-z8%D5b9`!ZD zZu45oa`cJiVCxZzF6S-+4>0GT=@C>dri%{Y6boPAb zS!1L}ft!H)67&@ehoN(HUBPDYmL=+6mT1>b_$GC4;uHX$&dAz5FP5$|XrQedPA^W7n%eMNRSaNNC9Mr#1n&ct+|O%l<3(QnT3@_(8aS(7W~}S zF09S+oq;kAx*Jb-e+U8ZhLvU^-FKINd@n=3Hctp_m}LW0_= zij_Ox5RYsd`@HP|xv#_NKgBX&Sdy-D><3-)X9z%<>fTmno5R>zXl`soWPMpxV(2Pg zSo5|e+mh@=D^or5G_8VVR!foQ)YlrS+HjxmPH#SfxSIq+yE0;|v>^H1A{ahR-e8on zd;0@sdiGIWWi%o>_vSyrQrdQ=pT*^5%xu+X)hD1k`QUufNa_`l?ip|I_>GNSKxeozXVpgQbHy6#Qj8Um1DjU`4${<;SNCZg_J^AxG8juJJ5 z8lI$aF$EK+xqwAsS@T*cjb`0}bsUL1ThBmcZLO!{L=kT)h0SFOl|~Sv&AwHXlL?5d z-h_-z>0;-?ZW2#hoTl*d4m}W7itP>c;SDXx*>oIAcgD5=H$ce0gRM;9Ou7TPxaW}m zsfzHbL4ENqsxDIy6I zdF~s!56}od9;+{&9bv9gKLA+nW#n8#6@{Q8I@W#rZ*X{Ut$$ewHtF4q<0tfu?{WUE;BM-)sV95e~r%EOFoJTeZ>zufch3F0in8j}vwqd&$VKmF6cDPEmvK@BL#?O$Gk4qlU6 zRNR)PLfZ>qrk69i_ZN-C%9E35CU&XZ(D6EO8KAkBC-v%RcDXz0Ud==&d`XH#`_xF- zK8lw6BUmHzc$FKSIJXW)bS|G#)x@Lg25*JC)C=E58C#7WqEZb12Kx4E>@T>O1&uX! zoc4y+Y{^k^lt1V*o_Sn%9I^l@^oPz{8+6%81%c2icSq&hQF_!$Tkz)CrcklHR1f-~ z2#*|FIYau^U0T*(qEmDDDqan53$XODbnfMV<&`9d@;p!Hyqhed|I?l_Ct~C>G(2j@ zST`eVR;Ye0L1MUU$8Gfn5^(QQXI2vU5+j*Q{7%Q#N{j6qHvsIy0jD#O!C7w%BOh>( z~!-Px3N1Cg-EPXP-w089NMVeEp`KLk4ptH@j+1Dw~)#r;WFaqhIqsuZVB{bArvI zCmFf#nPxaqXemiIyT^0isSrNBV}Fs41LKlUVz6Rt-*_epZx-?~sT_~LdM$6rAP=62^Osy%aA-wv+36T81P(5R~M2HjR&}x`6IX0Os zJ*(HvwDu56BgDdmPc<@vt7d}(h@FgFiq*&*tiJzf4M1-rcu~iM--p7+H~v=Gd~34y zX>6qUZDIrOou$X9Iwu_|NAJ)U7kWa9rs{avi_T1{!P^H^wS>=KAo7PhMc&A>7^w3;joa^#zNhg}=8CofpmET>VAp(YIp9RllWDAW&XN6YN38pZO`}Az5#XOE$n#9Ey-Ny3l0=M9Ybc&@c`M+EQHOjx z6{E@3L}O^3n-khI#i$+fLA!9hJ)B1|YBua0`ukH~S{W0;F^LJC*-s$9Mk@11ADSq& zTGmlcC(^+)O-#;?Z(<>%OwqM8A2bAnbon77DHL)l`sN#7O+#RzD#Cl*+z-wl+EaeE zOqx`i-GVz3gB`vwEwVY0c+6H?5F?Vc>WB}Ps)H0<$^x~rL)7%RG8vQnzlzGPS})2L zfPbZ*?7w=28HjEYndt~0@aVjo$Ebyp)>sG9^r}rEUNS&YG+A8Ru=8;H+-D^Pb*I?| zt=LKUC4*hfSX#R9j>^<9(bO3ZqA80c7K=Yt%}mo>qbbDn8l6g);#%mf#*K-vXD)2S zzFj*e)9e(&V}84!wyP?b*iKq7>VVgOwwNi7!zWgh*zhHWigDTD298(GM96os^QPpA zAW}%XR5cNI%xq@z$IwFF49=igcXzfe5;{t=5R6v5kQUN!q;9@`5YpvygS zeu!Xx_)9UP_jXwGuA^@t$%F@@jV)BwcQfWDwmT`{k2KxXYzP1O@G)|oX=Hdw`M^r_Otd#q1FVa$8mzIR76?tU99SuA}aXmGf$y`e#)U2@0u=u?lMd?u;xPel~9(yV2|`Y8(SU= zh6_*>^AE7B@OD4e{$B)O$HUJ@|Nw5^VfeVrLY?Z(f^F&>*=L#YJ*g;L$1m8AbG8X2Wx>!7fJC8L=`^Gh2Y`+F zqZkiTm`uCkfU!e8P%fm)JVQ=f>GslFw+JqAD&2$*t#AZAX<<06)TOPk;#=w;M{?l8 zhdEJ1tdT*FMZ4~KYtWCNAUgAppzaa&rBPWZ*KjSoA(5}&RBVy;GnKv0wwCSq*HfHK zw{7vc=vi{&Bn00$@V+^Me_7J$mZ9s*eV`J?q>**|p>d8N$cfcD_K*WmNgZ7Qut89? zYhp0^V9l@~*y^8uPfd%Zo88`-fsPWcF5H z3FssGn_7LphAMh!psLzU3cFbRq^q(#n$@4}$GF{$ORlF4vbOJeoe567Qr6JJ3aKoF z|2Eb+&o{Tf8ART@fA%qzu`BX8FXLQV(@0@NfA|!4<*jsk>>yD8HWhoGgnoRivI}(2 z-UXJ*)Xfy=DU%g2ou~x<0y4?Vad+6P?g?}oTr>^CFm64OZ*xENK0{#Rb2(T30)>RCPtdKMF7YP<-;mh=`-X}II#)1^$ zIi>mh&To~+((Vf88=znpixexpT1sxMM^zbWCdoyDYyNrVDTc9z#RTvuCh82Vv;3bfx!ry?&rzotWjwvc3D14>aq*JTy%sj z+@rs~_)#HqJ;sxs zO9`7lDwQN^6$LVDURek?b${l^3Ibf8S=}IDi;^|l427B`8F5(|8UTAhAvQQjj z#qc3lEsk-IoO{XzEUPdg8O++KjJF+Jtv0NU$1)-dQ78ZOnxjXg!tpLh;5QN?=YFY- zLQ0rvkWZD|l0P5HW@&U@B^gU)B$5?el^M#?gVes5Vv&pif^;+ANs29pt&)14z!@oN zSxep55?}7^z_pyFpYscyg0zl|KcG#fOUg*$>YV6k+*4g@1)DTp;5RCfqleZRpvms1 zx^=2j?i?@Z0NZ4{@cV{*$TjO71#p9OQ#ltJL}lFON!L!HeDy;VE)LcOuqvw*TcY0XP~ZbTe+rituA{6 z3#V8RV#oE~9$s~I3pyK`{lW|LX5ADVNk0_1p?z#IW3?X1$e^o5Gqq6G#NI()j$+s| zNoUpa>EenGrMaRuf29(CJO_0nS4Q#gFJqSkGfS8>3pHF@e=Z1|q5|DCKNIb%Znv5M z*XnVB=&{62Ky3>EM$2^5={wAbB+4+}ueU?jLpv`I^_ay8n~f2W<$$;|`c^(5;k8#$ zoyIxb>UK5(#es9krT0NEm=hhrN^~iRv9om<N8}tGjQ|+C7?l9W)~3l&CKUW%JP(4q z@JnD&ZH;Vc6gRDAI6U;Uo6|g8B#!P0e~Nz$pouV)efjGInw7AA?}K%Apmj`NG~joG z4hhBj8?pV_09yd?ypx{$BZb61(bI5ed25sZ9T5tvlbLiuioTyt$z zu0Hv@s%Lpxht_{Z{L#URN{?}RS61egPX(+V!m3 zYwUA8J?FD<(l;#iG}Pz>5B^-lVLH{BW6qaEHC@0y}87|=s4$ftpOQrLW#zbhOl511ztCu_ML0y^vRJ*BeDeD zsBoK^1;b@b4qC<*V-bCuK^6n>Gg0pD`@gR4tdS5@a_7W2U7iwG$5c;CQ1ozY>*FmJ z454U)h{P8M!?(9{cF-+WI%<{P@$&HAYOE>|GFPOG<;^Gn^kdo7J@o{g3i$?NI3(mV4qDW6eEOF-l2Ne#S@+ByI3o$% zLmh@_{xh;(R6geDMC}Nfon)!+-(FzqM_UlC5M$lL3il)7Bj43pCdC6=jDluQs%L%y zU;RF6ng&xiBv171Bl}9ZyCr$blK+5bSYm4y2X2pTqs2L`=c8q%=t|}+Q6nQ8`*IBTn?CTLaybr(_ zj4H)_+~WcJOl$(!-l`=!r-)_Kmp-Hy(=~~)8rBbyg*q~#xFu!!X(0n^iZZv{rD{)b zG*gTL8vA|WWgebNa-K7k^3OT#*Xjqg6W(SuiTu6s%1%EduUO9V4()%UeYjRhK>8k# zBk1I_H|2)Giv_aaQ5lKV+_qFJctm~*)q|;yX-93~>;{$eRMFJ8h6T1ok3-$>60TsF z9Ke(Atq`Q^)B8V1Gy|?NDmKn*FCZVajOisZ7B%D7KWnobl=jmBXSkZgF37QxN(g16 zinrMmG(W*N3ES6y(>0X~@ec7?WJ2!-pxBhTsB+R`dgKO|T5G@CE727>`%EJ;>x3le z#PHCFcvH!cA4Mk`*nEdhwU9Mmf{)~0qkP28C zg8Gx{b#=^P@1%cGB&NvK>BWzUQJ@Whd|JKeK$)P=g#8e@ClgdoMT|?ye{;UiS_AzX zZ`$4;HS)k4_Sg6e)}n9N&$KxFoiJ3_%d%eQwT!*MvrFfs`zEV@p48jRAR86pz4lfd z%V{KJ_THNkGC-!{a@t26;}pL0ZEqM{*X6owP#dM1X5%(;Sw}}}ND09hd%J^IehYvL z{R3l`{n5*~9swI_JJqk6X^d?v$w@0N1jH_#h!?!UzI1K;9Z~O*KjeTT-#WK4&%%?> zL&EX~I5HrFZ-I-?bVQs>d!rx}%T^)!;xAC=-KqpW&y7AjBZN(Rb$MSw6|%Nc0uEGV zc2{zK_GdJ((x1g#gP)n&OCW-uucawUo$p`iE0>suBdwkGJWGQ1<075tuvH_Ejxb

$>xXJ*_lj!C2xAC20?V$As(~pbp@P}oM369*ZVInJ zG{SRJ){6{2U8s9O?5z(=_VAL{57Fq0{A9Ta!uX89MJozAOnJIs8~OpVxcOqou?LK4 z;GV9!fdAi>DSP7jZFSMmdV{7Yx4aG;5R-c9>ANEiOPc~?Mz&mBiuV>`!^%`C5$vq= z{E5Lpqn_(h{A2kdwgVMQ_yh6AP;iL96^U`%FQu8G6XZY6KY6x zPs@Zc_4-2t$d-S;BEUF#)nbj(bHtJY$BG{Zs9m4< zrPL61auzM{t4806K8RbkDuErQF6x%)6B%d|?fANx+%b1SB1KAQo9;D|dYu!%N`(6L{Q1SGz^fH%NgHR?+!Hk18}=l_KaWqvha z!gf3nRQD7dbF?$gHMBs0z)U~Hip0mTuy@maunk0jsuRWDH;A*#D@}cIeUMHEx$a^$ zz-JV9vzc5WZcJNb%+V4y-6b-Px<{K?+e>#z0tyxV4 zicaeUC$1$gx4#Cke};rEhpA2{0uRFvKE?DjPe(lG-=Lh zl10u~p!g9hG@SYIC}}iP!&x+xjw+=njHkrInUN(2D*Q_42b*oe z8Dz9*bM=K)a2jik17vMnR77NC$dWu)`)P->&w0&kkDlVmMQwNI%lW_xP={*0F8s?% zN_f}2&;sbF;thA*h-!^vP>TUe&$h>ps1Oxb<21qXb4Za9Z95xW8>IJw-_hD_ydplg zdara_gk}MBflp9WL!788ItAo%0r0IbVI9O}Nf)EA$BxE|@fOjd!|(I{+tFm&!5{v+ ziB+afDL>)eT`HUNbY;w0GiH74*-SC96%$i1vBL0PAc5x)t(uu{jkd6fsA>58q7ilV zvt@)PslOzx3DisOMtNsLPKIP_FWL`I# zgE#7jUq!VmcJ7yJ;!q2OU;^X69 zo7CFXrm)%u9K|sNV@$^nDdI2ih_`o24eHTQw=5J;W~p$ePE!}6cdy8)&D0z z-98?pFBJX5DQQlohu(F?iFV#PC|vV8u{`5C&-o&=Yg`U_R528@c}G{o#>83BVhHek zc}$c6nh+5#i6#g}9x|f@9~N=*=kW^cPr2nKTr|L6IR+~^2>T0YpGfKyY-(a_b_!{m zKceOwZ$_0YPik>qY;l7TSz9PI9d>4^N_@u8xa9xP-iJQFtal)Mr7h%(lQhnk8gRLx zixprRcdbv2{?9-}#}qbDU2+0m=3P7MC@8vMz%f8xswu~0*#=+_AfgSXK7i!r|JpzZ zlkKR+hk~PahA}|N=q7h4J!kNd*1~C@!Ke&IQ5Ch1HeP3G=RZGf6=`s_1LBv@H;$ud zOyP#A>s}P>8K>YcJvdrel5On#Oy8{>N-te%N3T^%Zl>{$5(6I;kO|qjQ>X~b%Z>}3 zkoEaF2qZwNbUB4k#EZn&%WECYu_1q_-355Fg85VS5`nP;;kk33j# zkTC)+$#)D_URg)l(^53arCFY!?-cj(^qNZB6aOyXfefw@@~Z30s>EE`c``w1`KF&i zSe}TRcy32ya~ZHAuyw*&mGU&h4o#yCiQ4(gjr9g(*Dj zkmOBBN^t())B3rTh>r55lL*FLwIz@C#(HWU5*068RRP*MqG>}b;6#PRD_O>&#N2)Q zg=fM8eRWWhJ6@sykBr?G+s`}w8xE<#wgDNRSuz$P4)tcp4}R!qG+!;!j#eHA(^Chw z4?HA_6?$xRECj0b!w^ibgx#Kdr3x`%i%~xAn66A6MAz>^&XTw89$m`nErEcuR|I7L zKo#lA+)P$$e>N_#1BmQK>wFpZ5&6XCQRbnA@FrK24PPr!P?NP*l40;lLm+;ZP}@Ou zP4u*x1U>*P-GRrTYZ$9~%j&9-%u&FZR@{grH$#8-+*_BH1O8d15PXo>C8FgQp*vA; zdzS}hZr1NVSN6ALcnP_mP;EQS9nnV6OgI~m##_=TITriHgSi{Q?2w{}K~|>WHFhPF zW2)v^>G}^mcYwdlXH8p>vZB5dI5heOz zA`OICEIdx;?YfH0Z!XmcOXGTO+{-?+06E(%Z__A^+x@+2U0^%7ZxzA-e-0yCYxpvf zY=Qrdrwt2wUY0SpRo^>JEhV<#WjT+dqX?0j3b~T`$pxdnO~nWuG2Hj>fbqrb`^T&AxhTjX zFx*%gVD*5Vg}r+@UFJ@xzG1xXS_C;62-0#(Yzi{%$d>~YnY8S9sN)Qg){--#PpNT+ z-J!k$SC+{kUDhYM>ML}9m8#6U7)PNzAZ zGxfq|;My_IcwVUX#2ln(3w?j7+(m+Nr@OTdr|4rEAQwvT8ciN?mP&<0{6eTvT||dt zwD~wL`!Ed}#wH~H-15o-D*2}@y$Mtb&jFyS8CHT7bd*)r3|gLn0_VS}G~GTAgJ!31 zZ#ibrl5Bw}^8B99nhjh2$QL_z4rvF9n>$ozU?LQ89kC_=vN1YUkdG0t@oaA<>erWgoa_PKyT-RDr)x$^}I5^u66{!H#^*`L-jidNg z#RipsA}>|^x4`HD`m8KDqZAstW~*H6Q=grl7i4ZHA4 z6u*0!K)yHKTG5&OI27_X4-ZA@j`q|&Q6aHUsgBcu;#XGgDXZN#0gYj^_3QJy3 z^~T77Gw=%jT#Gh_V*Lr&9T4sxm(V7ySzxp{Rt<3NhhriRp%Q@T{Bk+!#i1znrPK}Z z=@Q4G#j>+YpLCjiirkwn4f78c)1Jc3xrpdpS^;5EWp}o;<~3k~)oJH@BR)FRl2xgf zwKuC^s^z((tp=Cu)?_-*jHf^f-1oIk@`lK09qu<+1Cs&$^ii4< zmHB=BWzBVrh21=LB+;Be!Q&cAOC~j*kVezX^|vIwH1*MOx(l8ilUefKh!6X z;J*GrwSGA=60~19GY*|9A%U+>c2KzAr1|2tH)%K~cv~@P0waA7tp&rya4Sws^^PdZ z8j~Rx5>_RxWyeS~ZG`b5V`@_$KuP`Mq@@);-wIzD1;2!+V^l%Vb&lrBFTWbyL|~GB zt@NP{MEBmyCm)ppn&BMx-9kW9txJU`$@3x7or7=F!U0B+M>NNXYTP&^X|E0*v7Y3t zt>noS{m?uYSxfuuUb!#g4`Kh*A74J(t97Q?OqdYxzijQFrx`a6l+K44wsSJl^@xyJ zbN_~C4|F(JI$2v~N;XP=Fi*j(9+TP^LXgZ3i}1HJZe91$IXkfojW`Pw49u8-T$|gd z(fFVEcwN^zxi&it%-R!}wjG9VL~5Yh(PKKlvhVNW821fCAGN$o>3J?KH{w^qN$tO6hnLSFmH;}WR7I2Ru5J%zqCv?04 zkTT^g;>p1(dc-R(??*Ij<6Yg!Guy^%)Aqd&Ch+l(fmXq3q_6{CLtc2xBU|7|h6g4) zLz`@s#|)l8N6zv(03FL^74-OuZqBU5roXb?%MnDEesIl2xW%8Jnvxxhm2n1MtUOZi z{aV-RhNu*&)Xeu(rFn%tS~H1@9D-le{hqcnp>G3V=qk*aB$T=mH{C?dyJ0*;`M2QOPOjI9X0W8f zMTVjuDR?_|?Lys(x_S+oY{*NdVGpBV#FplQ!1UF530xa?srqNqp>6t%>lfewzLBe! zyZJfzIr@q1m*1B!LPKPas#H#SzA{H|_q3`)Lo0-K)JR}9V+C&@p}aoP<6n|ndVJt= zqiFnH4*CliR_o>fJHUWA#5UGG$md#IBQvVDM*tPDlS=JdC?58w{Z=~KS6L%9pv>HW z=0HkK&4;U`icGGC>yfq#K{w3V%ZLFYXQ{z0U%I}psBhSzgin}x(%+&LnUP}S5*c+n zT#!?HECJ?a@a8ByIt6wV2$joEm4B@A(#nYv9ebK;hBue^LZD{1O{PVox+dL$=zyK; zaK}U&;6~CW4Z7f(Aw}jZH!r|iceyuShQ|6HYW1Fkc6oUR0ozo=t;1xmzYB`5MV`^# zJB9?LUn1-5@z+04=qGd0>6VWGO8YWz$U0PZfpA&9>EMf)9e}`{I@?o@#3as$Y*j0` zF^9j{r^butqnZqw30#BNq`-(=KU3-WnJ{E-6EZ_eanKY;q3-9- zp^}fn;_54|@gVBp13a>D_q^*xjG#twNnblp}`09A%q}+iL{(1NsrKqzc&mW#ro$d?ZLJiAv6qo?Ru-a%` zT%NJRC=sE+FngN(oMM24jBPfH6O~06=-uq?AM4Dbbil?P*NHbBHLF1EC+7P5+qy#R zkLMzQ(HlW+mY%L8{jnl2HBf-9|mJzg3mFwiGYeSxahYb*37^5`#%7GtJQ zsV--qUIpzNX(XuRzfp~rqPnevXDd=$;L6|&d#A$uJ2n+xI8q6!QtwIYRPVhQ)BU9O z=29iDBh6YKh#KX`nf0Hd?;C{`6LQO_>Z-XwF9m`PRqZ23VWs)*7VpXy`X2uf=;}D} zee)F_KcJS2gl$Z8F*Y03qb7@BPXBzEsYr`hJ^eoiGdi=r<#^x2w>QXi%oZ*oZkCdNN#~9i;k|o>D0V z*C9f)3)A+Pp$J*U2zhBsM1k;*&25iKIZOlUFtMAjGHV*$_UU!I*pY;9UHTan(jJ=G zjjK6$IUr~*C7AkNQ^^01d8rXYT~Ub?c8oq?r`jeZz1fR+O0<)iOzA6bRc4K!(*;{G zz=ZEgWlyzbolYnIx{v7<)*Y;%te9X^zBis}{6^jnV9vHjZ~|zt)D}~wGBjymbko@5>98B32l2pW2qvmD79!Sc{cTSn zpR)_V$6dE>LCoZEvcD-~`-&U_ss!qB;>ucu9qQ1zb#X*vx>=h)oClhBq zgF{nxh37-K!fJE2=s^;_*GP@zCY;ss%(jv#am*GUlC|71v_-y!-H*#c>rHSV3OW;D z?+Qd#ONNM%qqESxTd{2^4{m?s2iQd?t4B1UiKD~5QdD{y^YP_z(CARX7w zfhlbkIiV5*rS6TJYI!}#sB!X)k)cQ8Q`#e7_#Q1yz=E!&JV;fTGl=S!^&XP+wrH-<&Ymfl1VhzqYh{5VimC673li(@#$nzFekEOO zWMPA#UCm;MwqlxBu(k@vn&!`8bbg!#xxMr7=bSVf4+x-JpP&~3qWlmgo8*@qX6uSU<3tGb5NO4_!!rIT zE}-m+rG*XMFKL!iA}jJNUqiweT+|hy-FH{P`jh@8VeV&FN)8VU#l71wFYq<^4o>z4 zSmS;hsc|U<>84;Kq2bRo&Vv?Z`4*o*mIDL<&B%h#c&#c!FQ+NN!L#6K-#{U#(CS-~ zk-aF_C2B_Biyg_S>L```n)LsRY4;^CIJ>BVpWAS3`L-#}?4{5EGx3a2H&3ETaSgfX znC@?$r58ul!o{l(J7z6!t8Y5ft?qDz^_l=c&M<`p6jcwe26<>~L1*lZQ03%2T8yn?84AV5sC1vBsYLZ^xI-fVe+JT%gXip zgh6A}8ss=`1r{myQ$+kU3wKuekz}gdXN(N65ACw!A}Hpu)7SdhT*>YH$rbZR4eZMz z;xR9l(yTkudSdUNuu z_}}Q)FhH$T2&(7Df5VByiMN;Tym2Q7^n>Xv;q`%&pV zbHYE3UpkoUM8NCfJRtAay7>CSV1h{wjPm|19>`)V5?xS+ky;r-S@UUa#}uhu{wfp` zMmizp%K5Sp2tmyRd)Gc5IykLAQpDhkkf>H6IC&0=o0d*6dEX^E(od#z9-PJNsJ*FW z{4hhesP4WlRP)x%-njE6%RWAf|3s%PmjABYyQ*0 z@tJy*os}LXMucm+8jv;O+>NmrfX%@c!sho?(MoV!cxzvHnPjvqmh-Z8*}tL@@$xbIBr;9(`=5~w!-iNS( zBp$({@pQGkV95iPCeIDHBuRKJIMb8!@$ww-qws)opv4ut!QJ3$LQi(X%X9MZZ7#c( zs-Y``K`v>vwVexv_hm7?)DT^-+I+#T7NQL2iwni>&@aM$Dd%p!yA65|CWmdoi0@^_ z0imv_rw%afU2+mw^1rXGY)#iB+h*;7D5s3T!wIqCpWq0=HY|IJknR5EO)b(L))MLs zZ${w7R_86oO4tDqylJ?TS#+>rd=HjGoE?%z$2FB7KY9mA`6f#Sue!iK1; z^D>Q3rTkn%zc2v%vuE#%n~Gfffu2oYraiqMAkdbY5?;~i^Sj}&DCZX;a(%gN4HXRE z;W1|pWUDpq8GN2etA8{q4^20K18o989)wE^*^1`m-tkxp?)3Y?ov|64b1N6x?3NTk)8cd5QMJfG zbh+mMf}X8O{%ohSMbCj^Qc%d=S7Q=%Ln#Mf;lCHo@Al^9?IPkWH=8#o=wF3JMI(SD z-jj<00iWn_QJyECJF6K-l64jZrDeJk@qNe=EoU>Er#CNn=6xRw+?c}SaGE=jMs zPtIU#S!rmlFQ!5+&Z7!>1&sOPTo42XOh14)>Z0Y?LUn{%;p1Zl^4F-){MTh4xM82t zwL8OaMzkst5MZR6fL-L#}hp3M6Nt3%$t+ry4Y$CfJZ;SkL`{a0oY8wBZCJV8&*4vMI2 ze-iB6GA7&_KKy4fw{>vr)m=f!l_zF#-j9I&hwa1i?llm3&itF*S5k*{PRRb$9Th@~ zxuV368)R(~bi)}WluoEQ;fI!7)q&7L?B$GGPxSV2Q?B4*U+63{ho*-S()l4A9*LxI zyhHr}rm+@oaj3fkO!Q5Mk9Q(XBqZ*!@y>Q`bhKE@ZJ}gEjBT4qX8jIZFW8SJcI55D_>ine-HL=1@v*FCfKWq%l_o62&NAbaUN|dONs=g2={YF}xxg6OC1eeR2$o{?XHY|7{tZbc!1IbU%x(oD1 zD~~?mr&deSdTJwqXkAl4@b3R29L9_~~P|3`qj zBIA`Q2+9q$de7)qy76Ca0Q8Vd2Zkc>{u8e(Hn(n~#w1_=3)fLQ=BQTFkw<2h@*exCF zJck5`?v?c<5&-c%^n(4uo7xgMhE(}oXk3u8FG6BzV^#O?E2lAhnG*sC%KLzH#XM{i zIT;}^mkkQpU9#MYj2>;a288hm`kDX52tVJ6-k^%&^JL-HID)Enj^J-Bis&jr)<=`_ z)70^YF7cr6M`mYKuPI)Q@&KO`4KY(s@3WZFHC(q^ z0WSPNv&mI=%IT#-nWSZpDDy)^btB{>LnbilcUG^z<}HSjq*n8+=iG1M0!P^SnV2=E z6%)-7VIT_n;kNVdp3^Zl)J2qnh=HvWG8?;cGA;3Xx+hUuZesI>j(c9=r0qcI`0*$0%vbD3=q;WTcs^py~-E zzmT_$#hk#t(w@k73Be?$OXD+QU14Km4b@FWWH_H~%Cv%wN5m`kg`%R)r#g{it{_iF zVE82*N0GsEK$~4R6Rq18FwLTrRT3~~wE}PC=QZHH82IjaZv)3)*weKfNx)+&*`IUm z&kK#*(h?{bVrCCDd*Ws2LKS3Mld zoBqp7pW=lWZxP|$$uuee<3E`AJGw)B717c7kpGFt5zHnmijo~Z1nksIyDB-Gqn$M8 z+3N;vKY|x|stD3m2J?VXCk!Rq;uMDb2lJcUL2~WO9WLE?*`-%UzZ()I9+xsXL?lO?o?5dxmsH8A-^T_D zs?MuwZVF)xBnc1~lN}_)%GuqA6-fX?zncp;0)n!PLr8 z^?2d@#syOIA)9mnSOskzU!}wYos3uh{+;^QRxjZPS(@xHcW{>3=ezdcg>}XW6fYi3 zbOv_w>V3!ea@J#URweKmlYJRqDwt|-%5Hg86CPT&UH(H+H#C~NN~KtT6hkRn4Iz;w zu>nVwbx1~}K;B^aKSMp6$g^Y}QJ>@Ood`X{YeJF|t@w5hA7Q!BUcxRc_)fwgnqVZ| zhxd?H7P8uYQJFoK&CdCb7WhX+w+1)WQf94^>v!0E3E-2WXl(}1WZeER!Xz|y(FgfY zlaPJmCvX;+7*slkn(^k%86j-W*jc%TS&dY?;0x8plyQ5w&TNV&a!`8QuaAk|Qz`4k z9K}3eO%u{2;M(A(btJ^Krdqyl%0P3H7SBXk=;!Pj27D#{olNnaaa++30{81FH~4ag zkQ!?o&I4iRY@7id-Sk1@7^ke=SmWTA;w@d=) zi#$?%5D|D_fWO;^XIDZQFTSiiK%4byq>bSEey>-#ER5!hM%Cmn3nE?(@b=tJK3gTR z(4hX){CdPR)mnR{JGVO~1=qD`zIxo}Tj}9lYWO(^5QheA0v7g5;tY1Mul+YV&lswIVS%a5qJ69c4QV{RAPlN< zR9L@uHlrx{>f!P&wMY2$b`@*K!816lz;FLt2pQ&hmm*U9P^An;)=+o%>6J2h9d>b+ zy1bxIPXD$I+b`L#^*G+PJd#Na_xHwoEkAJa@WWGQNC|JpdkmRhWFjmaezUNkX*EQ` z4pGt(v-(QF`rdDV{gLMZ)o$u-xaOblZTsU-Vo0}~uHX)4$%&a`kJOf9i{@r@10YMF z1!lr>kf)UOre;b?+~IO^$SWo4L>*RS-M5;wygbHp)sD~io&Pw_#B;9ck(I@LXg&<2DARGq3*d+~SBefX-~xsI}^6 zv5o#idS!w!$-JgnxZbOP$ADFWRrv>M$I!+7vxA{6Xg0ap3J-BD-e^olc+z~!l!H3W z2{SDDHxL|KsE`JgNT(@rhvtZx60_{h0qU6?bG`Owx@7UW@Rd^H5K4-8qP+?t?;ltZ z_*wlSgYuZH3idCJ3M@*}wMA5?5l&wTNL~brwyEdHEUy*ZUom5Pu&3c^41dG``C?JN zTs}r}*~uQ;^AOSHbhMCj~$JGZokW?6I5^e9hHc4@(4VIfvt!TX~ySwiWrbLdX3~oPdYOu{zmPOD#gQbv1jE zngg1)g!Xq`&nwx9=(+SBna?(qwlz=sQ3CAb8PPH8mQGH zd2fl?{Qrl2o>`;pfD=6OHO85%J#6%@kK6^k7Jx|b<}%=#vP+$E-|W%2a##JYt`rHsekxdC8`q9N2%6&ZC z6}+T@OT6o^owOWOy`bcYv}Gq4vY630BBpAf<{`^67FubRgH)0I?czF8#n7{uRAyoS zCZ)yz$v~t&N$u(&qw=jV>=gX0_{C;Lyp6ofDDy{P>+{ zhTVB7t$R-3pY`mThNLz~@*$NS6%19fJMC&C-=nuV1-mV=I9Bz65XlG?fDr8K>ZOG- z@OsvngKkCaPp0E3NUQKbX(cj~^f7Vz}$3Y1!!joL)V>h1@kn?+Mi;TC28|CEG z{`J$$V%Irx)Ib~QY%Kp|Woqkg?H5{}PM;(YzV71sjt{X&J-e-XzC2a?l3S2X<1IYe zb-z%60Mfnawdh5mEn>JemP@t+nf>dY`n~z-ZQFDLyUG>f*c!J6oK_Ab6C0)q@K9#2 z_V_{Mt{Io)K7qUX&M+Y{m{C>GGjDWWRon1x9K-IK!l&_8YHl4*rDIa6H2=qvr^oSN zfSlrM9R7*(K1mf-Jat%@Wd(pp0X2jPuhWbBF?1-G@VV3bHLv*lNE`7@-o8Yblg7%F zi8W+xZG}p;C^?9gV&L17E;CE`V3mz6&^~56EX8E%1*R)LyrF0yVS+ZN@_VS*cox`|3t)BR>Oy?O7(eI62&B7=-B9v z+E(C0N+uB=J2wrUmQ9vewu7MiJ{8XpmncVcRD>Ldb0}+OSJcsKB-lE}2-_tGk>zs~ z+Mnc8f`n`d7i=?s&yaT(Eem#wvh7`xR5(&}0XF-nd^VnS{hUE3OQ_an0o_8)kN^Xv z7@;D`G?2UKC6NiQ2NS%ZR672-a~|j^5MaB!D6h>>){l`A z-0MCBE+wx9%a}c+`fKaoEZD>#C{QBKF+M4E4JK?{1zJVc6>kl)EqFi>K5!p`sqhPT z$4)arwtviW?6cG;U>q`8Z9|}2pX9;j|3hGl!avgF%3n-NJ&VMW3D}RDJ9j9w(}8EQ z&fztnct5(H#-p?axRSq3K-O#9mkx3jky&2h&H18@bb!DDAzQ_0Onp;SF~oS%x46Kj zTrAd4rx~)C()&q103U0uo3(czHkA@)<%OureJ*U>T5r)TJ?EOnK`!;aSza;EJb?*_ zC}!r}z>c`O9Bi`GI1zx}#Bbx8P?r&#)hzt;VSV3m#^DxEED6aj=`g>d{u__K7G6oi zf)D^I;(Q3z;uNItMk#z-iP~zdpf{mhRM$P*hcHEF1D|YaFQVigA2p6dGr4vqI0t-h zETl;Wb!M%(9FDO3$gr0#We?t7H}P`|R)_~5{$E7**YTL099oQ&;0MgF%$<=bIy8M^ zB!AT#@_EX9L7I5_yr9nnkUsV5ly2p<8bHmfeT_2mta2(y%vdzyb~hwEf9ZNwck%%AkAgLO>UjD@ zM1pXa`;=pOgn|GZ769_TtgN;IPLlh!z>p%YEZ5B*u$)d|19H&tu25clV(B2?H6!Q? zsX?a{NbI{g5XLEE?DW7~1g#YHSM$}R|BHBSwa&A4+`qfA@*v*DZOqk0!e%E;u@QCb z8A(V%F$RMa9j79lbe#fwgl(Z(7$@T)cP04qCJgbr(!e!9kNxEr0B2>XY*g;oQ5%Pm zXV{0r`0(rK6+SAQG0(}lIHDlkOAK5%)k>a?IQzHS_pa^n_yMSbv6H*+s`jekdcMBj zN~a833w~oS-lS}+Bn=jO#**@Jd>@p!fVzM7a)02+RoTO;ZE30!@L74GO19($zZOmi z;H$#srd>YB^%Zjmi?z-M%6pRo%M3>e45zs8T;76qX(a#@Y;Z6=Zgec(v3G~Kn=Vgr zUX;nZPK5ds*XKc|`PH`8#1d&|qLRHPhNSbM$|GAmhn_?HJF)s*!lZqAM!D%@feMF( zoGMSpR)E}X2=Q;bu0IqPN@b_u@L%T%@bJ~eBIrBFZkfFx#5j@^I*~;W;uIeAR=n~ba9TyBvDM}f}5Z|uxI#<0e{c*Xx&_@bt6mBxH<6(ASZ{vxK zqIRz?f7w`>+DB*0td+Pp8*PfRo{`8i_Z~Xy>L2urXLx(bwsX!Mb70+CEOwqy_m40q z-UV;;3%FG=0ua0pSnhG@Yt;6sHuQzA8mQ3jL8g3sOPC$0 zLpcrbID%UjkE3gV5S`3TUe&s8(lp`pF8*Y5;Q6g0hVe;UdFcgN) z#4G<0{wREbedPhV$u#nB8_n;x1NK)WlSKa{YL=Y;cjaa$+#2a?8ljtvFSyH)ms>*N z?J#taK*5DxancVt(X0vgkMj)Wg4=I~hZ!tE@OJEsDO#i&Xi0~wvr3SY?=OaNWd^?o zcVPe@ZSgw2B7#Go6mTgY`BILq*=L`*)|dygGWhDM!*N9L)Kud)0%M1cIw~Kc4mM^J zkpRa#*N+ENxhl)%+y=#b_#(;sEfXFFht)DveX^5uFRM;%|7g}34=;feQ%#03=$QdM z*ZQOZ>cEph$ICEGy|~}k4fBmIz2jUE*UrxIKulL$#IZt>ajKmH^#MtIuy8z88NVV^ zorhTX+O&TIzpzb!cWu_pPIqj>R*+3D*w6)^Be${}f^d0p5>lpppNaCN0+y{NE^P>` z00a}-Hi7ND-`3OoH@9-67rYUIsym*1*1d{_b2hp2kvwMe>~Qw_N%d2h2g9a>^b*Po zpX1xyaSGiHc^dw|ko&YRy+lN(%S28WiWI=%8xFczlZpq%{2FG>e2M5XsYqnTRIS?7 z*2A^#yz{-eFL8}gC!8UIRG3002oTV`DQ*9j1Ds^5-qHDfYrkX4MudZ^#~=o@lA9|c zt343023Q6KBn;^|BQr%zPVpptIE4Wc_Wj)UlT*K-BMl;qJm)Ms690D;Iz&Ii6JLpnfAXGwU%zoU9w3Fru8Zc}VsjA_WWj9-F#s8V<+I|?eoLAWn6oHwH(Pf)) zKz30@^>-|t0shW}g)uVx^oiOUtezu@rnrSd&MYs@)gi^N3|}GcBe!G@JHUg+p+Z&G zS>qEFV#;Am7mIB=a(r~3yjN(eA@aM4Hs>_xJII7qnSi5(@#s~G+jn*-MF$g}rh{C` z#uM$@1oHq6ON|Cn?r43gI;MGxRnq+pZMSrdZ`H1cH}G7zsZM6{m+6_0ytXF|Jr#>x z<@E1R2Tk?>DUTD*p#gqU&QEq{=+)Ci(^kfi1yUvieb1;*>HD;W^5Edi#q3Zd+29c_ z-tFWUBnMcA#5=aRKQ!LiAGcr5+R@wUVKvN>bjxaQ>~2ELb~rlRjq|y(KT)sDDHi1(?04omY1+hZ+^E`mnI^7e$hAY1G8UxI>vSMy_Ka z!v>ODsf9Fk3pRjgLZQl=OE%E!Dxfzkd2ZRGue8!!J)U%k8kaT<8E8@5?0C|@7?!Rc zIu5K!P}#i)ZIDav{^EGgtpGtu*GkM^U1@ZN;8#5{LR|(Y-MY%^tR2A z2?U70z(H55S1%iyQ0%2KJWLTvZ>z2O_()>LyShx)4E-5#KQW8C<;wW#!seXnHsfi{ z6Ot}E@k{!x4KAy#%?iImn#*BaGsagRSmHT)a6nDdG7s+74LWCn(^{cu zIBTI9Jr)P5ivL%rmi^9Ye~VQFRNBoLzeIcgJi!wh5w=rph6GSjK$blTc55|g%0-<* zNY$u7?$@;94~rvBLVX^p>7=iKkV&&=(bAE}(4RohlpOP%$DP4`Nm;!|a%%yjIenp& zh306pTQ^rTmoT?QXrro z;~mz$oV{_azOMcgrn78cz#qbI3LjI^c2CC!zlc%=eoSnzV@$p_p_ZrPlaw$^iA~PT zr#*AR*A+=x;p8;X7ol(%vl)d)p`l`lS`U2d!bs3%O5J=#3~fU0ddM{%X`QwvH0BtO z>m;GR0ZP@06GW?w!Ikt#vC)Rl@#MS{iDxaLKoDIORm^@-c299fh{^k>6juY!tBcwc zO5TlS_)0Nwcmq7!$)NvC##})a$j^&H%0JdI+UO=HBXm@uWje4jUsCuGCr^h!{=X9?@cTwOawu0*K!#yC@gm@PYv` zBHAk0qkn~-)mkHtU-+JQ7SF;w z8UDFV>rj*kyt}tW=wmKPv!14hjb1Tp$Fdtq)z_t>Nwk;s*?3-KR=+SE;Va^6*?2h* z?Y5t9!a4HrWLI`m`?wKC%+?OoZx%UPu^Wbns<*dG_{9DIX_qBfy80Wj4Fjj3wr3nG z`AZRS0nZO4s(kg_P@a^X`KmvmsZYB9f4qZkC3=WZp4aKTFqE5yd%Jwmz0nznhE-)^8Qm#$ob6!pKwwd!Ht;{S57H9Lqkeo0BQzoW6EE8C_gXoySPP*zH z#NHB$w=#xUc0z>vUP~pxWv!a1Vb9r1#1WlXu7g4o*+fPxita$@_0 zZRayu*F;Bxdk>cT{_f}lUY(Z_1t@}wN8hMTrB;T?yUr5ejJ&hjtz^p`1kTnCmga=c z!A~*n9WWNnha8(^IWzl^X+`L%L>w(BW+GZ}Q(0VmQFFj5XtYgDbM5fC z*H?X^;UEv7W!do$GQ^^#lIeo%K?=*FbBN>ZNoWn7isgm=P!&LwPw6;^c!$ou;95wP zFfZb?`xS4YWV30nThTAt6UD&TH3RJER%{~aq>C;-aY0k6pNn7DJRg2KmP&}M(RJV3 z^+kCce#zNOZ`Johq!b+Vay_VGnM%1m)f+@c60#c#)dBp0b9TGEp1%RD&E2dV-#6Vf z4Map=Avs+@Jz1D&Fza$oDOX~eSLpRuI)5siYIT7%D6A~eLNvvwI=h89i;Uw1+=T`m zR2o-N3Xg|91QvpFY;*>#osFmJ!miz7ndq2G@ca|$4hn>p_IJ_~DTz1d_~NIEzwO|< z9nhdGrl!$#L(HeWd$7p<(A;=)XqhR#7guN+5awm{AT0FmpHOsr5yN_dQKjnvNlIgU zQonV?CRQ`V{F>^^oO?;GFu=0?z8_}rlbP-Sh{U)5EITVaVcK7SY)xn1@O<&hGxs{- zPLEA61B}BI%~UYE3;j}2Kay06L38d)5!28lovzgh%kTj190uS(ZpDtqs&}d_FGyiW z2dFP-hT)%}ODP~?zo4-lRrosjh(Q!7O3iX;9~IyyMxg zV?0-sDL&#`fPO;v`#5bF8{j{BZkSCXZaiPBmvH?n%*}E-q#_}8U6-~E9&s)VZq+}} zcCz4&4D(kj+k7uq0;OJY1hO+OQQ%x)aB?EuGP$y#DMZ}V8YYD?!J_77Wlp*81Uvds zk)5W{vIYK+$Nu68%Zuw;wkyF}OD-2I>_r>k?u*`@TM-+eBI0R_n+`$n)@A_I<|ZbO z8Y?{k3Z5@21C~z`-$^Mp6m^6#bmODG`mGBY*G8Yf_b9ZKCV73I0IAUQOBEZ!Lx$s% zzhYk!2L^&acIu-m4(e6pC=iOA=l*GP1hOdDk43P-+_ow;Rf`K4B@|#&N z!}3jh5Hi0uQ_urD?gv=hv++g1zRju&OTyX30;jxs=kd1&|3se}oDO8u?~q1-DXPHO zG2TAkeaAYo1{D|yYijh_(w?pDvY07VRl;!e^FXB$NtAo zh2hOBvo5tda@#|Gmr8#x+C-gI=+tp_AyX{hBRh5^;pbmSoJv-Qo=ju8Kr7OW)||g_ zN7k|I1n5cicR0P*mbxlWP66spdbww)!d&_3;)vnI_qZ(WUYh<#1XV~Xziv2b`6IwF z+6DU9z+UFauXi0#Q$%=dGXOK3LStmmnU89lk7(Ir$4g=Zs>jsEDUE*56~m_6h?Kfe z!@E%HUu=8>2YfKNxHc1^>shKj2foLuxRs%&UtUyC^320DuMD$s49L*ot99S>-_(VMl(eS` zsl(d%FlcEBx9}#d%@YuC?1c|3rh*;uWZsB)6=hI$Fw1s(ydTF0aS~v!;uyXtq2{RS zgbP$)kJLJ;So#~XRk^2NSeD2r6!+ckJ}2AsW*pO$GsS!&!o zX|&t#z+d-g4N;2`i4h2VdhF`f5S5Rqo6g~~a`U^n@gN$U*NgBnvacSg_j{!KlDEZ* z9C0-$%>=NxRKOp@#^t=SE4Oq<)?%t2(& zT9Xhe=o6wR^zyta!u zueKyO#RUD*dJo?}2tjwC#pyEpbP0R~f^c6{$#A?Fs>)Q*BMJ&_S(Vlbvs~kKc7eQP zd;e`5jc}?J$BCr7Crp-Ji|hH?q$MBHDyEDfw`({2;9A^wC1G7|V9ajju!xQv6%+a%pqRX0G@I>v(7*z{Iqayb6N zTnz9tdP5~q$i&lFZ^$LF!2F{PU^7~5g)zz&^uM0=m;tcNjyqnr_Z4`E!zR&lR1Rj! zEldMQ(QGhcAQ#0 zUi|92;4=4K)F%CG55VwyF%~_vqL+5AFGIm7a<40iS}nw9$r-Kg&}qWEqK00d{KUY7 z^pfyTV%pH6Vp6=EuRqBv3&NHm2=N#`Ryq@N9GW@XS~~+!c)OZa1?lA2KhXLRg3b`$ z^aIeo!)!TwwezxD8PjmyEuJk(a)<0{HzJC}c_%^YKaNDz9_Difsdx!$hFkX<6|3p= zgZn88uRupiT>pKf)iQ1L839B$}3N>R^XWS2bZZ)rK^|NB03UJd@)itZ8pK^ad4rARyFv)-JS z=R7E!|NWr*mOw_Xgk zuJyRky2_0PBLYG$<@@We;hF_~(0cgv8Tg&^71!sTbtbgqYwP_1ggz6>kleRzwG`G} z*pjCoQ1~^snw$eS@us;mC&?5bFFLWqi`KXOkrA~?Aj@S(Sb~zybce!ct`gJVKb=nrg(KfbonbIC=04;CA4&pS>6kI?^2j4L2Igjr!1xD+zpJ%D;L~S@|f~U z^m30>Zsd(2$2iarfX9PnG1f~)MIcCBq24U2nAnrJX3tZr%TDCW8UZ*_5IZp|Y8o-0 z0*;Wk>W(WK`ftlwg0P&l&8b%)=e-YvIw-*NBb6J$xfMvqB{YHHEIn4)Qz_eLHCF6l z5D1g!u=an89v{zT8Q!1TUk&rhO-nD4bK8-2{wnZ+=|6!$NR5AXu?DeVY_~coR;c%b z5dyB@H}=0q{uT%xmc31s@Fc)1vX#IutU0Cf1XgGfU+#q{Il0U5>V=l2%D%98>`?gC zaSANWK;iE>sO|r4>@$rXU)Qr1^eCJ9unQPp@FGpgn7MY5imj0UY%q^^iKcmbtz4Yb z0uD=wpd=QXqKcnRp3MeeF#zgEzgm2L-Q&fH#J0KW?r62{+{_d7E$cMvlg3l$?8^Lc z>lMMP-GkZxmCqpcY0F21GeF(*I1e|Hva-b-T=&3(0mu-v?`m!!A{KCr7kVz=OgF>R znZ48rzMO@ON=RB?%dKFct|!Ci^WBc+Mn!RcW^cwW@d%NS?V}Ugr5@7ZhmL`crwk?h zeiSua*F`njw*kh`9s|zyvo+!P8r(Ah$54a$@XeCX4xC!Tq~2>@*y)BQxeX^dho;PY ze`7hU`cLVEIPV~JqqBtWxgib@vWLe@HS7P;XaCmg?9Q+6ZDVcZyKA=3z|D zqjB?nij^59yC87j(`JrLN0dWizfa_0cMW6@nRfvE#CP+Zt&Wc*7!eszGTdp=Ikef*4LyUM+V0ZzM+EKL7ML0+%k zP&95--3IM>^7dpg1raHHT-Dng(0Gu1zRnvT9y;ipPzA~pt3D6(5~8)bmdI6U-5k}c zIHN&RE@*R~E_#fC0M;AXXrwOa3LO{sa5j$C?6^xI6*$kF$1D&g^Xr3ozJSpVh&wM8 zP3*!44!yYw4`1viwG)Kms;4p2I>Ba}bmKc;I!CjO&K^G8Iikb@gPB(4FXC!(@qrj0 zc_X+T2Vd2TDkUR@^bJL^83y$azzsnTEa!3&eA=%I#EvfabGGbe**30YY_*F1J;{gB zbfWaops1M3^c=|8%CR!^~=ulj?0J=KPb;VTbmsimpN zuiOGugenkfV-hGziCmV;|0OQ5F=A*=<2+kPyWqhzZcSHqIY2|TxHvOYyi+>nVcX(tc@70n|CA;C!m$@ze@_Vz#ad0 zyqFKpb4p{NZgLxbS_sT)j~MVfv5gVja5W`n!{j|*BRYr97u0GNzMyo`4@G%D_GF9#+p{0=}tNa+% zTcvoqDQDn5ZHC6G8vxl|pTJv&3z#k#Rgpl0IHB=3Vod7`+;0Y{r#2>~4c z`se(Xu!2&6^zd~~N%?`y*OZ6tAmH0X2XQteP34H3ahKKorS`-`j&QvM+YP!E-Gd~3NP-8LJiAp%Y7U5-;8^St zMGko|Yx|3+QfFg)yke4dk8-G-m{S-{)8a<=_d zo~QI0;#klqC$W-xZtf?0TX(?10I2+7X0A-GaUV%+Zz%=9?PYwG4I>NRz<@C3bN}#n z7TxUz_e4v3CWO}->>-=)If_=xScR)MKnLqE`Li&K_62+<&<-a;1gX}Gs7tu_s=NVz zTMz>UKc|x@9eo_x!=6R8nMGIx*;w~0wxIs_LX}^|KZ?cU4gG6UCCry%auP{bD~B#@ zI2(V|_ITC*U209I9SBTUb3DL*)fTQ^7K<6c@T2npUq!RYG5u6p!}8J(Up$@NiSiKV zLQ{S##C{K^0j>y1!>0tjqtaQgYTx~ zpq-sY@u_{62oR97=Wr__j0_13I$(HaU4CM00%VfaR(2U&pTi8S69ZJc1bnq5$1`UH z-ud+n)y|=sOiXxOAy8HEkbHL_>(VPHmIiVU+ER62O;4RQ zCvmro-UbxWd1lB>sFb?DtY5 zZ*fLgD5A%4hG#3`v zo4h*&-13v~IUt!rN=-}ozb`sEm)*Pbx$queDwidXxr_pl;l0PHx$`TRWGMl^%AGH8#*-eaYxSs_$!84YxsdUb(Oyrz|) zDct+fW1=D}EwvXA{67ZxDEej(hDF>K`Q# z7%Z`tLLE-?Q9lF6xga&L!rKiEgT=S80MXDS++_9IZoge9nX(ByrAm|5H3xw&Kkh32 zdh|n#-fn-(8`s>41myG^x`UpO0Rxz%u2Uy%{W~*0blT~QSuJcEX5iJ&#*Om;;ZE_9 zV{0#{90-x1=0m3bIFTQ62TJ{Ki(v=Y5tFGT!g-9PqKgX*aM&!8rg?>MjIA?j=GU=u zv!bcWSL4~ zbtrFMvauZ&2G1^m*c`Z8V!2yZmfU7cejc9CHfE!@Uw(SNa!lx?I>RU9w`&QJHWG;3 z9=A-JYI=3L>ce}P2o;tt7HYJkFamOplY2Y^hH*jqV2KCLxl*OVIgL5@tHH1`ieZZB z%cnFsu>{;dy>d%(B;vka%0E~7=R03j+t;hi4vz$ImTqS;x79o zX-~eX&(^npV>iu`uf}q3Y_f$7*g$VWUJjwE8bqWosi&0)idc;0$BQCEK}LBgzG|P8 zEzRNP5&TQ1rR#sh#C82S4>=G^X`bUM>JC2VYj05G97FDyPNYYb2n^w09 zLk;qHxyATnZ7 z=v4tMqOrya$G&cp$@Wncz*##X;>xS#<+u8GHV){Fyb#s3`Do8~J&2D{ww_cx7&?#3 zA9IwNgA^Cb%xJ_Pame8q`P<+zsO$_`9e#S$*zk%64+6a+=PJae!@w=fvUNo~VPj8n zO%0mRBTMgdg07Mbp7=Bea%isAc#P@TyJb~%_7MomRGP1CocZ`E0_P|)Ce2#R32+^z zI>w~e_Vu~(kfpdENa;>9Pyj4AG}ESM(?i@S(~=lNf=#P3{T$Zsr^VwmkXoK9uzy@` z?KQKAEe&UBSwzcp_sj z3%L0CKrDTP|&1y7zNkj}3!D6JG;gIkbhjtH`0N)_xLl6=nppW0_RgdsO8!_Q&9 zR6G$)Z-xMtY;)JQByltWP=}id!eHM8QrQM5l`(t;*%Mt1Q|bw0d`o~m{COo{Nq}Ow zq3(2|(DpEv(8SdLj#!Y_f z)x|v}zAC+VJZaG|&+`jJ?Yt2M^AH9pjYqwB$ooXR_)&Sm!i^DTcO>Yz8RvXK2e~s~ z(rCo#Xy76c*;F{u-pLbW@HK`14pRA?vml|oh#d$dF_+~|&!OMn0+Y{-8vFT)`+t)x zi;f;2pEu=-6~1!as|X5^t#7}+o;G*90%3RUM+N4X1Z)py&k)}gP3vb(r+^3#FaVn$ z=UX<_aMR^w$2^FEisj(MR<({m-IV-jJnBe^RO-Ymg@!(#9TZFDlU-76Jia|RoX5$t z7^GBI2SW8NMvRWq(b9|0*y!~+ljZD{4mc}g$>FvK8*k((f48O3GNiJ&56}*bRfk8k z+PcPmHWb(a1GV!HZLZf~qZuH4L=^UDn5e4ZWf~Fk1KF*ZMY>|&3TN(ROmPP2m4@)% zU<*E<^(sflFoTdE>WT8XYY}@);NQiMJp@rY9G~2tp+>(Nhg#7T^=@8K5^U`}SM{r9 zSB)axN>_(lB^K@N{16vi<6<4pXJ19)k`7zgDLA0|pif$*rGSe9BtM~CwwYn!a3pzM z8M=&WU$t`%30a#KVsikkO-F6tqRnWH1N7#y2lP?PU%s4Pp+u95yN90AU0*G^q0@p! z#UPy~j!!y;6%2l@>#K8_gppR}O+ebx!n~MVR~A2@Z|(Vq8YGUynca+=#|snE48au3 zgEt1Q=^}noA*#&Ox+l74!(ZC;m(1R4Xl-_yOxJu`bj3pfEu#n|i6&1Is#e8jXJu1# z`F0yVNI*V3qd$laq4aMjRk~gi0%;R)<54%jlaFI*`rEe@e(Rl#92pc7B%B!A!Q%DE zm{x#a^eQN4F5eT@Zl4Lr_^?g-Hac-AD66@Vh0cJY6mEc?G0%v%A9B(5LMkzD$T<6# z6)M#1)A&hy4^{Z087pt<$mB^J#ScMxJ*obK^EwL2XaG7wPCeV58VEX#$5dTNdP5zo z&D;#Pn^gtoz^D*n_7Nj`FN0&GNY%j3250iAha)(_`OK35g@W_Bpy1K%rxRvs{}h~J zR^lx92n8odW1ajT&ZI`DZl$p4C21ugM83(Y%%gK4SDRM3(W0nw!|X#`Z2tK(WCP)` zw~(IcGOzHdvoS-B`RIm=>3^DWxHIXMNB+g+2$b;D#N(DQYB}m^*%IH@?{`{)E#Crt z3WgTo6`7H!`Bf<|{mu&B^)cGbyw4xCXBemZ5WoH?4@eC6-IkQxs&GSVuM`3(!x+8h zP<<3S`ct_>T>=B2jeb}NqEfk8I!Ms+BE4?VICVXA;umubHf)l_8%C0xJ!9Or>I74S z+lf2^Vn5V1YPnJZ#oCVPBW?4x?AX={A`?y3QA?6sOVyc#^BG2H21UF8#h?g_xsUVy#sZo5kM7YF_JU z1^V%r4}fE#b76J)^CFYu#}GW~%hcr?3&6XijbVm1Fz~y>M1d{Cxzt#U&3(LaoEK)AWD3xpSM(ogr5&GLnvc|Z6#djO`V+nz)kz;4 zP^QIRBVF1t-KqGARV8rs06)v*9gD+=9S1FB9N@m5(6f<%PcE~a#6Yp8I?vAlk}NNc zHFgthJ*81TzDaauS2iJ(F8V12Hz%2Ud9Q^;WRN(jY%I*AL64gdcNEWO4&7KCQ`AzQ zP6T$xZzzHk_c5w@5!Cx?`{QEoLjC9RsM*e!fK9DNN}Hd72KDgn1~yMtX`G!nd_0PoQ1H(YRCGHRoI#f^X-t9%fAZ z*Jh#NZ{lE#k(Xplh_?HwKd0yTh7^=z|3URe0m#g1I#~s9msANq+IOyz>4(_Yl<;?# z*em>hJa3~q#6D2G^52uzY%yPyLm!w=$_Q#tb1)AaA4Ctk$$Fcb%;2%5FU`Rb4UEOd z9ti>EK})EZ421qC(t(mP6{Rg^Zac5pxc(~w`LXhp_$3Fyt*Yj5AwX_><#SI{63Mkr zVmzVtllHkRtBbhT>Fl6dtfz!SNe_j%E0{UhduvVAsazSSQx~3UMP2_rbHTYQ#Py3k z&>I2`W~lg)O$~5xIrZphywK5W&nyyJ_lR#9K*P5^Tns4YR6nTTFgk$tGY$c)v{eHGQ`)n94S_7XY1q@E=6 z21Q0ZS>h4P?0G%LVPxFC6>0Wp3Y8_~h<4w!(X6wUc8h z`+a*7FkaZhYGUr(>h(PY`rjt~1+e2hVl%vzzVP6(&#q+3%>@)6a1X#kT7=@hPls87 zft*@N(;I}})8vH-&A4m$bgSnbnUH@J7eWqOR_*J@Cd$|JQJt^AtulU7cJ)hVq_#r< zJ$-3Kg!%2VC99rmYwrDYR%TD8E`V!{y{s{U`?yw%1M|}hQ|g<@NMBV- zugRpMT<0mUw}~YXnb2bSN?tf;F%cFY7|YxI4CuE)fBX%j;= z8U`VtAkMce_=Fpe1Pft6m%)=eq!Gv9#m4dEAr;w6O3yX)m2eYn)y-)}pA7@bv$BOy zRH}?a#p-n(tW=~w?rgyz=!zjgd8EvDDc~ws+mw99{2t7jjlXeRi^0zFn!1d98vHI- zjL*EnHPT)5e)|21LT#sm7$&xGV%JyPnp@`XNg&wlc6PA!^nOV>`R)QZ%~K&P@l97H zBCszu_X4Dshj`{AzSk!D*z!H;c&`JI602P(uOGs^DBS514~(fA`D;FS#?eLlwXxMW z?|B5#89&)P4I<$cMYHO$Px0&wrE2_%8)AyUcRFWA{sHw8rymx{?ZoV^1>3&Phcj!O5I35#u` z8$@j%SWXUbMwV@2{BcZusj!n_FY=D$6iz78EgB4qp}}vCGn&j5%DUIu_Je#{qj@9% z!JpV=kA==~&q>tS?6&JlWv_T2fMAvr2gQ|bu7S06`O3KbBku3#J>--nNwhy0IRrb! znOfvX+M$p$KS4Ha{3tLuADGEzUVnt6>+v%8(%ZyEvDQui(*K*GO>7rf#a?D#R#IL1 zF@>PbeJC__Lr-LCH!yTFg$aw`iLJv^HoIM(0`85Qr}i8jJ0IHXF0Us%%CR3?m&^az zwhKv1(T&~Z0pI|HLb5n_BL96Lwtj;w?ww&2vInAi#%O(?aZ*@>9wZGTu*Ojle_V8m zdqE{z)C8;y@~C(AL0#4~fAr+^qqNzGmcO1oRSI(dKpd#h)*-Uil{5Pcsa`UNAW0sY zzJYj$#QcPU38}d1A){t2s-!=3yBzCFaFBUTDnX9dOMt08gkG4KE&PRbrOD-7CRkc#Xpm5PLpMUFrl>IKl`y~i%)JHtM}k zq)`rOi!gXytCXAwxj8Ba%(H7B8OLXXpfK*Y%DB4l=YN!LY4@kGYnnSAf)&v1Blc~4BWS=gRE0qatmI9+Ag?NaI z{w0!ifQahl!F7W#(&U9?B`{L|34PeLyl__wzL#Kgj_(e+;!ZU*;`$qcWq=~Hzc1A^ z1T7odi77F&IPN`x6}3Kx9JZ4VIg6~|TsuG50sg|TI&qElzogo#Zza~!*cGu?mm#(I zMWxcD`iML%$<9@gf&$95x~}P7V!;|_iz?3@2tc&EvS+uKWFCJ$b4HFS41tne^J@iO zQA1^%dgi4tst6J-H6o`xeT_`>r1s@RTqu@<5NC`Q3}&T2hM7!^N*VGpTa-p(96lDd zQ(%1thj9}-EH2x8R7ye{z$DPIP&=oXRDihFJSbW|4%H^O3Y?W)N2O}Q_xF0M*8oz_ zKY%ZQkr#ZL$ESaOGCPnpMjupJKZ3Ag8{*yzBMS(uh-ci>GR@9pmi3+O;V;`n?g9eZ z)qTnfJ2k)N)I;@WMcH@6HsPtf8!SYP%Qg9>1EpE#lMq`l4TkM_D}t~LpQpy=w4+$7 zp$A$PzHaoJMhe(};~(^wUO)~7p&$OLcJ*OKJnKVXW1jMTbvymz|GNujStBTxg0n76 zZo^+G2QgWLYupnm7w+!5O%AB{ng&~7K9Wnhl|(<(MVKi&*Is6qC?Ys-tY=4yfphP( z@+_sD%WAB6hv53%(RL|-AMj%fRtQf#n6;JcV~h7nHb2`Cd5NgHN?6p$vAf0r4p7YU zHv}%<0R?aO0saSi!F+%AOh$_sF!w6_NKbcxi_TO)NXKBAKDsB7a-*PNdOaQC`DXz? zfj&a-fvtFwLI`cObvOXg7kT<;LKZ{VhOc(aY&_)0hNKO`0zJP6{2#fH7dYwv;{6Vu z$$UsS@-M5{-9G@IHy-DWL?gHuP+7%xS3v!(5}8bgR9f-a{8CGK&~e#{m7BCuc`EV8owAK8 zyo6TrKe1q>-9t0@p81{Vvo(qT$o`y_4Nllg{Vl#k?6@WbGH`1w4Ye>cx|ZB7u|PaK z(&m;dQSsvW(L!yFxPROQ@f|x%6R6=sAUJ{tx-)ws7!6!2zw>*hJ3+DkAkxI$SH_CB zgjbK0^(e5b=nPsS}8<=@k;Xh6i7qfyAncYjv=X)f<|vh6VnK=30mwqs9Pbg zs|&b?Z6pJq5E&1rVk(ca)Z*;8ZtFRGywCoa6mm;RaQ&96Ff;0Z{*HU4IEuSa$d0*Q z$R4wg&%fa4PADZ?srEiSVms&I+N)4MgDhISh=WF$c0JetsUw$@UV7+g6;@|-QoprJ zOO-&%TUe}eJDN24)WDBEX~H$>5ht>%203JnpdR%gN{CEO#BI`qCDu_4?$+C4ZMpH*^Bzl@7e0nV7B|A%muS9dQ^NIUfhW=m}+-}4_<9&e{g(gjItwd zFNmXCj3S{07nb)9&F0{)yx3kGs=G_yYj>DnqijbaD8fa19Qku1pzKh_wp_stsUQ;Kod(~PL9t`-6Ay0 z=$gMk;AMEaRDF0uOfi7uYY1rs_Ez*eSn}GSek07befm)H%nzTjp5vI-%w{^S4twiD zshy7Dm=%t6{qTyi%kAlldKuHTlpC2I2lDD+=j=^!Ae%Fc?5-|l_oBJ#D775;s@w6$ z6Uzn&nIIk%u%3WTqXu+wSF=Wut~6hOG8FOS57Mf*m?7>4AJ8xdUpeGSqP_nRH`j29 zohudpaH!b!+Zb3kAv1VinCRrH5K~wlJ*RX3`^+p@s~Opt-hRYHMlsJajlO{ z;oGq0YgIxZqL{srTdAc?O^&w%#VW{lcv9(1Bj-98kg@wm;UDEnTHp}qG(TOSw0Du$-Rwq=p zs1Rvca?BYODwQ^n^@5m1 zQSy_orWVM(P3g(lMGr(-2B)V_f}23@OyQ+l@~%cw>z*6^)Ge0PFXIU3IyV#;5~@9 zcpwjUf)Iy`(3V$FY}48Z;5nsOn`=t4w9dV5Q5r#*-HC(!yA2wfxeRxAb6*l$Pq@!_YZVOh=F+GS5;yfhss}lqMeqFLN=BC ztM&H|uC(_PdzPXE4&rt=AfW8MBgZi(zWgK*3{cHn=$l3R$n-q2AMB_#1{M#+K~_?9 zT^S*uFkf-lula$I>j2+jXX2weQk>=9E!M5r6B+^*Ut)yw{#eQF7UOPz>-9H%&b1#y zdwjDl&(ytkUZ4wAB2GBB8s&}oo)iPlEh_C6xPJ~(?_5=44BGe=ceOF8wdg+E>}jW6 zLBdf(`&$j3sfR@3tPZaCz+W}i%mSo}l)t$RTlnhMZOLFhW9_DV7;06N$PI3@w?phl=1agv$4D_PxYXn#9j%()Q8nWQ9keMcMh? zJ-2XkGTq>?D}2%hk1UDUk_P=oD6%?ItP={-J?S&t?mCQ+5*f>O8ajdYwCjFv(q8jT z5Dle-X$5bFV9Ap5hT=8`5(%uP=;u}iXcSuj#fGZ)4?1~gSpf*y4iB39QhAg>Y$O0H z2IY<)g3!9=$EM%K8NUXb{C6pmfanv5KuahqG@zM#rTLi>zcACA-6wt(<1bifmrR;) z+Go^;tC()3$2xpfoEo>&AcjXOjZE(!mpnWCc>S}`?>Muy%p_v*VHt~@z@2*%gg$u= z9&5`TToTji8^Cjs&JNALI5GL`p$D&9(k(C$*I>*oC`feABQ;LhGHs#IviXfp7ALp; z3L8G`P!L!K*J;_x*DbF zFVyDyTk~cyS3R-A#v|Mz$-TM;pW5SISzhZ(1HSjq0Q(@%l_8S!XTENFDU4fPek%nP zw+eu2#gfxE6=-o}%or8AMdFyuD|>15dR~W3M1tf=O%P}7_AfOnspSimK>P5_kO@WnrRuyHsk^siJtUh z#uO>G^wE+U=n)Wg@dEft*2DF(l&-esS-pYF?=9ZBGgX28a%=?;Tujp`yo*=@3)&l- z021^i9fcMtLTLda^*^T133ziCUGbzp^8Ev+9u=n5OZCAHn-WrB3+C5t9OLm20cxiP z%UvCUt#^U~j(dc?rF-}rJb_SP**2PiwdLGK_N1A%tI)_lf;4lU!zz6Itrux{8`WOe z=40koe=)Jny_0lohF zO_?e5%Ke%+5faP`TEY`c(}mpY*!&@PgGP^ye6@H}qULQ$IA>Lb@_P!G6^V{gs!qtM zo0jw#<8J-Qx5BD;By5^spK4k2Gw!5(7l$-gpT1GR#Ix95O=csp&IFWDUj~Onr z^~>rbWhn-l#SSQNN17Kmq?%kRdnW5qT=iWlANt+YWUH|i3Wi6!x&+E!GPq+Z?WkZR z&evA?xbs}rnH$6aH*a)>`%1<_O`#4UK%<+}d=iz%Qj-6MGC$UWYzToFAv#QON+emG zKpn0{cg@q;u76m=d`!SGqXy7YKtUFsfJQsf+H(k57a8_?Fke zMB|l}?359MZL8XsJub4Jp7iMab-GWhNz^o=&1Us7l~X(s&EN?R&QAWxT(NBd=Ckf+ zrfG02Z{If)qslEIXwJl+xlsE+S*q`#h*}0Xb7dwG)wwOd0ro^pS+Xqb-hk&P zlt)o_HAWpzVE1Oj2^grLF$&aRfUgl(UT&pdI+UNJ)%OZw-DQNz1UW@Xg{s3czkVWurTUqos^Y~58`Bss<5Q2#85;4rS=gw4ZK<$Wr+{Z z$hhz~Q=F%xSn~hHZf#;BJZPvAhwkj+MD~G?73)}2pMCBW=^P$oK$&RdR9VHf$PU4> zkmgMu+aM z9&B!?_f!6ZKTNq%6Q+&d=u@QTU;*dT_@H>6ccfu>wpm*ItOw629_psnIl{RU4PiTN zxH#*id>$L-gU=lsD8(aQmFo~ko#4FdXkoQA``Dc|no0tAl~%#Z@^OI12{#b{HDL|u zr}pK#GLjR11C|13J^BH=ftwT;42+7}@6D$>@L8P<|Hd_zvoa|< z=W7dS>A>->b#CAq8v%t%X-C8T^%Gtrz6yG2C*BJKKlaT-HzQ@05n@|ZWu8hPSh(W9 zG`Reg#H2cz>z8>DjIM^3DIe6G^N{qI8JI?Rt>c9x zR~a`4G{PAx?W#@0m?)8_v|G2(0{9E;Sw(i5%mZ1C71SkVZ?z~_UCe}1f@IX7^s*nC z-GiL=UGAQb%jO!24t2mLU%f)MiUdc?8&xgRGvmXU7;>B|?Rk~c1RBb53oYVS*{(3u zDK6|JkQXWCT!B~mcLxNCtbfeg)Hra3hNWj$|D%bP(mLP3sKu-3*gWK@StVbAwHgT- z0?13?l=9PBg&!-LBD7eNxb^9Bo+4GY=D{V3>3)zdXZjPNIXlP2*n3M;*)p`K1eT(8 zDEUE!A{K)!h~x@2Z33+dSeet@(a6o~?w$yDUg|2@lUJvUNlM#gfbru7E@I_^c#t-DtAvW62EM}Ia#-V*##@ut3rMBz!Hw$BNca;G*1`+J`6->rH)dK+2fe1N0|6_H$ zkc@*8qeM}0*=E=>p1JV0e+2+6PQ`0!VNzaJ&fSqS-UTS(4JYeD4?F>~0Llo4y8SEy z=GqZ=7gNA%u$pCY7R>>9BR+R*EXdCh4?{ZF6;8Ih*6QtmTx9LYrH8P8wUaUEzZhX$Ck!Mr9BMAYfLXQof*99Dra#u>FvB;CozyK#={Dp z;u65+bL;BP^4ilVY7rN|W#)Mig6OY^JYHWbPqLh}`}=yK#fQs#yZIrh#Hx~GeK)iO zPxeEYec4@{%2k=FB?qN3s!hT)1Aie5^Lsv9s;~0+sOyS2E(VUfGww;n_Yg|?xfyO) z#961b&^r3A$$Csi8wG0_@>$ z_pQ7JCAw4#v$rjfpk)6L8|wFpsDha$%Gvx#e(vrx-N!)lpW@*V@D1FRg4ok^xd>%| zR(Tp0+b-1i8u~-2q;#t{P(NLFJhkSo!D|ZU=PDA-p_phENDT}8h|27TglW7x1KO}= zi3ob%ld5HE6-~$20&7PD@6Hw786VXAmkEAvN|cooVwc7U0V-`1wuQzU|~ z)8w=WM7e%*%_(y7JkY1c!169i<-*iptzr=`H`bQc9riE9x+7spWkifuaX^su+i;hF zqrcz-PPsOmky2Or!kBFgU-39aj?JMnkLS%U$XS!iRS21EercVIo_RiLy?^K4uCNE; zb=C)d4(p?$1OEaM1|%9u>HBgKM|6FlYrb-5+M&f?o7&KZtI907W6$IwbKG}p|3O+hltP&C%1N~# zFuISp5Zmfc(6HuWYuNqSMlEs!K>&Ld?(N<2^(4YTQusCv&y{IZ=^>Jnp@Zzyl&;%I z-%r@^dr<|iEmc|q^!b(<%iK83AkcnXPesNqVN!?1E7mWT(3 zm?xHQatGTQ6CczC>0IbNByWFmtfu80TSiMHIk{!~ohHYQ&i1sUo1yh;t$BGV!cPgi zHp|Y}%%z2IB51LxeP^g+{~TuH#iZ}^bQeP$;7B9 z<`6w6;YUpaoE;*xSeK?poBE!AR~@{Y9BT+4G$He*Sg0`iC#0pJG0C6Xe=COYMYs#066Y??rryM8f^18cfAMSsxhR-+{XPBW^HT71hH#HLmHM zsAx{^O+<`^hslO7Ad0=;D0WJA6DP=dhB9A$h{~s`mALn9Bl5?6lgSn@$R-%~DOQVb9XZB}8gyRy@_aeaYam8r50m zgZc?gPR18uK}<>T5wspbKpR#0YcbaF62OLJl&O>|*iDUPk5CMIPcQ;sfuB`P z1e)57(})y?F}daGV4dN4uozT}JHQ)uacBVc2O^$mleNsdG*_6%qxHr;H_B9g3Z;b_L!XswSi;&p zie%F5%v2em)aArUMb49Ly1vdv*@F>~lN+zdmQf8q9Cs5j*HUo;9Za%!IKg*=Y!*Ka zbzgtNy}E+|RL@_Pc9_cP+-@G;R)cB?@&3&~%KB+TN(&|d7eWPW&cwB5mdtqCT#q80 zrMzT9(9#jbYW`p8npxSO5_j|CuU9zq&dR?e3_KNbfbl-N$LwCs6tDF7g$gA9ALPwr z<};jarm_Fc?6TtY1qr#vTz z(5kJXqu9P*&{wab+?W_v+YWP_o4xT?+ZZQ!fRgr!mKwzR^w1@tC=inOX~^2a9XZ6+_%&7rVe5CLV(+Z{VL<}kDQCo zRkG=Sn-(M-*(EC^VMaC??HW8kGE|KS^vmk&70zY_Aw(v-ZPF#SS77xk<)%QcN_UVq zMtLV1lQs_}Z-d2&@fPB-K1j54dL_Uzc$K>PO;WS176SSH=H~T6x+&9J?W$43s6Lv; zAi3uSPEV-+pl;HeezzF%3)3+pq)cj#$ILly!5NBn-tyMhV?~{+7*RYKf=ULwPRtKR zMMS=TZWIR~BKu3XHvpJ(>1zQbciuLO6b4K}*nV#Xxc08V62FIW6n7_b{>ue`=+OYY zty<2=cIMg>ApPgsHn)~Dd$7$B&8$8|015LXG$>pq z4(*X-R7aYYTjM}|2?6<4?~yl*_sdy{y$J4{!vamb7ouQX7=oD#6fl)3BPsUM^%!Op zgH3|Krx1*dr1DEpIxLUFq2{Es?+>Dt%wIiUp<}ewQNP{JPr%sRwN;s2Z>uf*x4cu{ z*uTAut&SjY(Zj+2pv@o0SBymKDvph?T1~ciNyqfq&EQiYx>pw=t>*BFO#|}4I$JXy4)N#(WTZL@bNpFjOOX7p5Lsk>tC@wRE`fpQTV1()R*0;tW;bKI5miVVEX=1duB&$H$zA}_Wc zp<6p9Dw+YhNdIzC?N`A~H`tJuTsH$x6|a+j-mU zdeeZaT4)I~V!po@q>m#4uSHXHqkIIks zAQ(U_;=XqiNDY|v@k=X#QOf0i9!|1|D>zYX&m7=8#U}d~;`eVju6itUD4gv%E*|Z2 z&xu~+P5Ow~v}N4@(0}88Zf6C)Z~Z30U;HidMca{5(?6JEas*vzneU6Ea&I^aUH+-q zkXczFU649oIv9 z5EqO;Y6D=h}qTrgxuM1HPXu&ml;hk}X!%-?g zjWRaQf1w3fn*5!($%Xqic**w#2qXpA*&h66KDpz>MJNmMU6Pq+U_lz-0khKIU@=>L zam>m4mz@k%<&PYp@W?K<4`zs6=BHBhH0zi^j2l8oa+B3XA(31;@u>iXMd|!*EDhOtw7EeMf4llB%swk*>InegeJyiGjFOYfsIBZ(qimZJ z@YU1p@oQA@_lpto3z8tM3)fzzzH4bHWdk3U_wFU6d(A?wwOY=oeu$P{xLOcAeo#D; zI@#n#VWZaNlbn^DFqzN8QJs)a(~QgEzK~hS=)b&ecQVK#;?#O1BU$vj21_iD*HP+S z_c4R?r-}zS*nFgN^kotN>5rY`86U)*W!v$U5<=asdS2~H=eej*3mv3plm>zT^+B6M zB6owCItISkS&#-cPHJC8A=R6aROX6Gt3>-AMmV%9t; zixife<3(+=2>XVll%J5GkEL^BSuQW|eAaRLs5C8h=zq5NCk<#M;@LDv%_GP(HpMWq z)Bh3N;gi($SXlX^U7Zg^Nyxm|`1aR{_jCmG)ALDNt@&P+v{a#vk^)+oZ*ji>|Eg>q zrdRJcjL8yn;Oeb5`@xF_ux(^Bf}==P%;z)!;C>*Oi<;&3vte@Zjk*>O6GoI-z2Jm1 zKIc13T!W}d2^vx|Arhz2V|_&krxGVhIc1T{Tp}0-o}u*l>?OKP2tSU7J2J zs3w@Z1a#bdsut{1}Dah=tOrK}%*topb zg<)s*9)$b3kXU4?Mb$@tU0bF(M}TVq?QvBrA5??;O{E=t%?ShbF@_0yMzSElsoOjJ zZVN?Fp|qyAv}PMhax=aD7SIN{%thB>R8o$&-NYw}o#FpM)72b@zIm z@UCYP!0X2zU-eK|--vA6p z%49%IM2_DY0QHh(zGzfr_A6ZS~7V9;9wd97gYX>Pb1erOKDHQ$a^vsQxm4kDU0%q(c*@NbZ zizdjw*SH1e&oRbu<#IfeE7)@4Tm{bp1-p7KsC>vY}M|Z#4sV6YWHh$6FgIoii za?ioWcO=gqB6;;1n+DN(GWUH@a{aBl`zx9y*c@l)A*wnm$hFJkY=vZwJUYn@U!SA? zkMJ{awTOgJqsz`VR63*O$_?CN8RI9cbJ8 zSGEgr4K$#xW_S;@C@-QzPW^;IreZk2dYl;bB5NCrqRy5?js`a=IyS2?i27Y70~z0u zkRBtA#omE3l0u_Ln|AGb1(eETw6o>u6>D!Kn{6I4&l03mfVYW5CLCSyvrx4+;VvkS zw}85H#Dhilk(!Q zMvvP@LcS>gWq0}(C~NGSSV29%gX@2I;0{#WbjW*n6WVzf($SSNP(k|nUcD1|*5#}? zF=cxHGBc8miR{linGUm~z{pt`3wdtIwpds$a$>ctjj$z(gGEJlk!TjeuaGE9R}b`I znNV_xJu1p89U4I@f(6x_Yfw5TL?n^%&sgk^$36F}glI6tWzMn2*W}xW{j~2#v>cmX z_|zCYKgUDvxr5yHu|g+Ti0wGL*yMa6IMFznKK#9KHTGo z!4W_-;|ao#`A4JHNR2o|m7_Nox{A&TC=859>S~M!zXYH?Kj&B`SO%nX7EBSXDJ6Tx zr8EL1DjLMLkEIzq@rRHJXz8{R3f`NRZ4(uj33(*geS^F8bs8q#MF$76=aBh2N##%z zT#jSyxZXb}WAGtyW_a)FRmF$?CzCxa2dRa9ITHZ^_OMA|Ri^YS;fps4d%K3CAbfq| zq;Li@uS8&yxYEUO%+CpRJ2-;+Kd(VeY0KfnGy27JxF zv$!kW>nJk+^2kdUoHsgWS_t{3_jb_8QpPq%DiV|?_pnS^^k^pmj&QqecJhAO9@lzq z?J?O`@+-vR2`X$vx{BVl4h{qTWHnrvqSy0i&ixRYIfBeZar6lzGoJKOm|s0Wm-tX% z8Uy*d`@emzyQy-ove`vNUcB=-7oFGSZuwE~be!o;!Z2(l6hZTnA_yDzR0U(TdBS*b z{u7+8#T=w)0(;7&ViaAARym<~7R~hl9EB_o*$2D(SOzn`Wz&-E5*Q)`+0Ff4iY_fy z2*wGD=|-DFb10g{>&oa0sn8irEsLq8?fiE<%}fU5*PQ_5;=Wy}D15$grm`0NF1l^s z>%gmY5oMIHUUIxvK;uw%(C92r1n}gHF+I%FhLl9Q^Z<$mXQ`1LI_znxmG-gLw=k=1 z+I6v4pe3jTXJs%2XS3X`Gk0aMoKf4vyhYWXu72?)1IIA`A~NNp6L1+~99{7Eob&DC zDv)av>j)V(PF6ss6kz{GxJ3!x2|^LRTN`8%C;e&3aM$U;6Z)-6Gh2=o-_!|91vf(G z!cnPz8Fn?;!A+W6qrl!zJv*%?ACk{&imckecPh_ zAwRd9J1y|7V@`;f52=})vSFA<8(entHmki;qa)OCE-GX~e3-wrep{q~&@AZA@cjfv z1W*%!cv;7fAiCX;c`kA`TDk-dVJfGCe|=QLxh@gh9ncd!w}P$U)l#;p=N=1Ut_-&&Ljdrv~mP;gC1N2rpOxEM+3Ci!C-jG0zy9$~Q-2C>%QzdWorSB<;mg zXI))1NUnhY`n~@2SwoL4Qd2UbyKQwvl3Qz<=?btE0f5$$W_IJ#c3+FK2;o0g;j##4 zumn%kUifvauf)6=S$ldw0k44d2~Eqe(j2p!UzFsz`Nt6z`@)Z!1!?5}AZLIlbLg?; zDoJy5O0@?RVgCQ;cq{tc6PS!9T{xpVZN2vn=5NFSjboNyIU?6I%BIt4b z@>*P^j;PL_W8aaAM9C^Ai$Y0!2Lupqj^LE_jrY%Ghb>A{F1i*72Om&b!{tdOFAuWM z?It=-$yRL}1U3&W_`(@elRrsOYH-K|#y${625%H*u*L$m5bOlp$g-p!_H;JKOO}~H zy=RCyZv8#vyb|o(K!bW_vHo@LINzlW2_oSZ-XX+&3|40vd2*UB2)@u zwgeG7%}JxiVHcQKgU z0D)O$Y>EAv5vYiFS$j6eeOGcaQJ?%VbRIEb2HaU&?p~*3Ga)wK6Ys3mY!tlkfmAQ( zPf&xfRPT5|D*3CFZ!qGRZeAkiU#M+1GJRNVa0Ky(ZOm7YRFito`!YOCP94YQe#*rcB; z0rxZ%h{ZrT?4KL}SX7mjL)^s=<2FRagl=xr>{9DeL9lwkR|JVX!LVOZ3HP=4&=H(O z-47L^?jKMfh7}Ioe?nmu`d1A@D`!>tHOGWtPaZQH+DG)W7JlSzzQ}lXJvQ`BR>3%g z`#B^BO|#iTT=`?1qi!;Ws2hh=SCQv;Be2f-rq8tQ0MM?~2o_o<`MEvpO7i^g@CZu0SEZB+d;MH)~wBFB0nPfIm#)X&c#>@N z<@V>2^9EX~oi5;QN0~-a4GMkEh`S%ZqNH$0%ejRr7USBA3i=dke`-0(>yTNQpD{=9 zu^f%Fe1;{5P2@vvx&t-yu@>C}_@1c#0TC=S1oPPv=ljdJ;7Oi0v2**l3Ye}A-e@!D zJw>CqDV2U*YYH>}pM-@S!a&#IYq5J}If@i}i<+{jP)M|B!N2brjeKc@m)yRpnMRHH zslp6gUKAV%0FWR9UHZlp&ercBlM>g~|KjmkaUC~0Xg)A+hJD`LYdv3!-0!*AK9C6~ zRuJoNlykw14B;*!ctVn4s2`3y8gN$vWLj7rz5#km%MCAd5H9gIXC%feg(#4`Mv)R2IPKC{K9mL=YUJDcE7O*Xh zJtE3FfPDvpdzrmRu!B_D;>J-Y`f$~hx9fII5fKhbhj!luu3;D-oRs!UuSJYi%rgpC zQ{hJTy*T5NQ@KAqS;AVeS24=U8=mtzoTKG5>kNTt*Z4Df`JQbK{h6ns*g46-TV9=O zP7}k#jS!}`CWE|zLiqy5JD;YL$i>di#+18w?s)9vquBwB!FA9JcBCY=T1NVvQjXo- zkfeVT|Hg))n}UZk{u`NR=7|UFc~kmvUnLyQ1#c{BKgHlBKWOS`+hn3E?qEyn=i00^ zmuaTlr7-nALU200w+HO42Xsw|4X~T zKQ|PN9Ya;4py8-Wlf6b2Pok5XSLak9b^swFxGyd@GiOot*^EoFy`3xv&H-N*f$+yx zoWVcU(R3zO)tF5P?dI~^O7Drs-c>e@6u^Zsa;^0qfnzhzy0C*ud|-F-LRx=BJdlJ< z`ASyCW%nT-GH0}LNu$usEi%A49ofOf$j}=V%+nfc*WC|)r|b_GCR&l)XM_FZO$HCI z@OZr%YLW$BL1F-%Vh@{ZAj&WgWO9QW%x${TCROd#5D39!_^=1-5qolE&hRSo}Y zl?dL7l1pGA{-uGbioNY*HEKb!j#mR0u4oA@kSdYL2UGX+Hl;mSgYwqZtwj&AV z7|*)EZR^2aZX_cM)C??_srwbfJcGJ=DNttM5ERH7)UGPh&Nvssw~}4sc-EDfQ7T27 z_>Z@`vx%rM6lG|L2Z6gff|h6d+u=7)$+}Y{r;IP-e*F6^-a23HCQxOi zYoL>k8;%t{k)IRB zX1g-~iDA!Q<_G&9VDS++cq_k4)19cz@M39ZM~#-UX}m3|e- zeP8FChM16|ZYoZ4*&#O>*%NNMJsf(y7G2SMOGC@@vcLGL%q! zQBPd;VcF0_qTuwMGn9aB$wz1V?RNa{p zc2E>PcwEgfbt;EElGRTj+z9W=(x<@C{z%czcUAR8B@)=m@c)eRP83A9PDf$tMxtm@ zJ*+&+cAT>9&rLqe5^pq}6^T#37JLmQ>XWfq!JoKy?}?XP!0?(+z7B}z-a5wK-Kwie zKS8t@>j{+pcHDOhVB$?xTSUttTQ- zu*>EZ7ek}4;hw1oy%%SA`sCJaiGgRg-Uhgt+dwcc0vmGg!dX8Gdi@J;P8>J}QNh z5Ju$LP+TA83Nccdm|do{np_`oqdTLkLR@X^dz*Y>wQk%g3so^2u_z;sUSjlT2Pxpe zom?Z0q8vil#xz0XSwAtPVl}$~x&(47nT+;>4}UsRMZ2z$47F@Df7=N-#@b0|BD2Rb%JI}D%&{nJ zdSN?Kn$$Oo@n<3S`IDyf8RHpi8V!G~2lbtCKIe)Xu=G=O<>s#nPed+>D=bZ#$_EPO z|4BZWHpf~UgZZEa8b{uWmJZe)lis$zbXi^&SoS1>YCTgFsRF!}>? zvFZJ^(USg}Du-0)f;M6NQ}FF_JFT{lWj^NDB0MvsX~A1CI9bk8gx@$L;9(nlli1rs zCb*KH=%@AaZAr=vU(&bo7n|4e&Wr?0Je!Mql$G$B&rem@ zaXdXo%Q+(-@SAd_NR;!^b}+|U7*AO5{ebH^B=c4yb7|P#Eb9H>lzG_c4zn-9#Gr7B zdbQVkX4(gi!6~T6uc+_;RLUV+Dm1|6502f-xgX48%2-2CEp#(tbNKk|okPP1KK{W( zxJy>WTPJzs5g-d9Elj9=*pp_Xx?0PhHdm8s!&d_0~i^d)hr}Up?>5I&El&Bd7<$%7Q3(H zj4vor66_&mMlO>Iu-G4r07#F3Pl}wH%_dcg$8c0f?XDdQd3ju-$F?imppOHE_0T3a z`uo(<879z;SFh>B#dJN05KYU4N@-ZUU{hX1-6IpUdCi*j7gXFJNrWG(17mfWEOjeK z8t#eFPsp37zlqBeg{}eRAqa*yZAdY_Xq<=?UpGu4m~GugyXn6$ewRtFnZaRn0~HJ{ zfU6n2#gGSJ+k(q(v&vSX@141}3A+lFf`gLO$y!yt5zKCS5Af&Yl|63=;@!ARpr6~v z!dd$nwg(p z0GJ^&&eNLQ&gzD387qs+lt?^G8%>Dw6KC&5`sbHJgUBS(|H#m3=>s> zHUdOz5W1ad!$SQiQ%tT8NQw*kGql_S%$GZ=Z6tsDyn2Z8UGl6oV>Uy~e&St8Sg=Lk z*;)S2d+eWv8r`pfszn|AYUBZCmW`LsvE;|QwFs<*Z!<3<5Nj5!VL^x$d3ii^pT)}6 z51#Opm&d}RIY}OO?d-xwx`Pm|$P6qID0O);Tueiqai1Ds7!0m-_*;1cr|TD2G0m|i z9)0}*gf=J3h)HD=a{ZuwO4iDbo~Pi;Op5x3F?Fc~EPYOIVwoV82GwLWlyPl+BJ5pv zwfBZh@v5MTXQC4fLAXMw zJ}|K7hR7UzPQ7SoHG1EAHHwTt2Boa0hH}}WdYS<4M~FLin%c-Qy9-V*av1~l6F+Yw zZiiV66Kx%|bYSOs1#D;mV22f@p_j~7IwC0JRw{t!R|h#ychd#5op<E}CTOHfJC9p{kpjcRDifl6Q@x421|Xl2sQSXsH8&K6vbUt9Jr514u%NFz>{=vA8p zWZ%lTkT)L|ZJ33D7@swq6LNUW5J_R^Lj<4ZU}hFkYKbIiilr z^vN>^YILL4(pgT?IY+n-!4U3~P~BOge?Wk#e6VQ`=aMZ?jQ+L}$b)H%SfFDp)#`Ii zImvG-;GvnDKAtB>QqX8ETU%Mo-AE3GljJvIDmEHA)n0z-E9KR$N-J0e*^iZ^yD6RP zG;R$Xu;5UtO5_&DjCFIZOXI#;@FF}#yChk_km+^AnLKNxVGzQoO_bBj z=yYB_=X=g@XP;tA8?6oQR}+SR0HHso3pt7g zY4?8`^kLziv<@Wh5z_cbgJ_?*VYuTc=^v4fRdA|BJPL6`c*(fyIsP7UtJBP~$T^|L zH8atN<;q4wb?=co%cZ>`4q=)qCD2BaRZns+49nY{+zv7PD%$r1Z&5hYbAZ57uzt^X! zV$$hhTtW=;4;6O)u1J1N)d%a4VdA2whBftPq}aXy&h~_TVlpuf(=d}bi{)6jH_17&Ya^PGL+NZw$O|7S{8$Vx;qvp9wjUmpl%(Ch zyKscGRX>ZcsO?G5aLFF?Wk`V3p#_u6c>G06n!id?+vZVL&h^COcys3X(d%U3GtHt5 zs7ZHPG>-m;R5u1f{*s8C8hQi7sxQHII>ZXK356>)-{(9ZJ;jsC`!8--bp8t&Oyoyb z#7uAU(1`VZ793GaBOA^liB)&^to>4ao1%Neh?D_f|JSId9AYLt5FVl^@gHZO*enoB z;Kf(-U%+B2X|-H>;<;t6^Ll)IXq>6Ifdfquvw@|jY|Z@{nV=m!(S4&zvo|F?=|)r_ z9|`=yA0=g31ZM6*E4qtUAsanGoZ2tkUwgPUoxZ$y~u@Tm&NAGv34lFu9ae=O{KM zh-9^&``Q7!JWa^CUJ%)LP*d%2(`|viUxypfV|&&s?+fLHGE%2du-oPiKi}n@lXxUKS!UO0Lp78b@d|7LenWQ)qe3A#al^d!}FqYyZ zeSA(66Sm^BT)h#mls}z9Y)#c0tCDCn+>YpVBib>>-W1Dg_uNuS+>V`c{^qC zA?gSQX(|*LbAw%ZD&IsWG(gROd>}_S`0Amgx%Xk;Lq1;X+h9|fx>;}#Vbo;N*Ivn6 zh3F{KeG>lHy=6P3-=`7Y?^#g$@hq{0jZS^*4ISU zw$>*_Nt0#d=!l9UK%kfluh})+g0H}oInHlwsjyQE+IR|Q1YR-k^9jrv3ia~u?2M}h zBBPC6(1aj;=*y&*knnoCV~)9(Rswvh@_r703HV@ACLtPrr9{LFkDYCZvCU)OFtZKZ zNYo*)q8w+K4U#)zz5u0r&OF);8wpuz$W#9=v%NkNRB@hr11mqa26IeTW^hE!zK2$OlhyqLJ;ZvgP$%mHd6YH;Wc>PrF^X&js% zr!L}|=2hc8e-_}BQ9gRMZpSDC%%6eUpBW;4Fk0eFYN4TiU7Xp~}J>kODCaz9%?i`g5PT#s^OlZQx;1)JtKDnSMLQK1QCrh$?|6i^UKv2h2Js&ZD3wyudO4#)p$o*fHaX*n?XPa5CoEEhe4ov5~VWV z9Wvn9rw1n;z+X@SqO)GZw48UYYdJL5hXCqGH7W(f5Za5i8>gO>yD?p{MwX#ApV5+j zjAi1HbDK-dD$->5@Voj{s$B4n@=1%WqDQ^xQh!=d54AGJSQj7SU&mJ-wSvM1CLXh9 zdA3e~WgO!^kk(EomX&!Yw8w|E+H0aDBdfZ(3oEq{q#}DHx*sI2db(2CWY7rx=52Hn zV%BggOVPF|7+{EXTle`9oGRN))J?+;>aN~4? zi=L#M1HmXjS0p8sOZ^`!kLW8USt{8{o#gqV)z(hwCWv?b8nwNhLBHHuaGKFQC3@P;@|bX z%Nj}4Gr|Xb_pLXl4JXc-rbg&V)i+>b$jixpPNH?5Ng|khdV&1o>Pg&Q@fyANSV0q?38YpPy zWg7IwgP zxQg%qb*5EU>L@_U)3f2TaRHDqOl@j8%NN%0O05UV$}AjT-ll>pV9M#i5op#~7V86N z!_@RqzimCjTlsW(_qh*bwhDklngTh||hszipre;OPgBJGN@^cfd`3 zAOISRO@$<^reES{vMJ+*$J431$c&F5z{`QWhFfINAg%yOjx=Pi`Pg85)ykAy0`H_U z1fBtr*v**6ZKlcVP7RF;@h0C2t1}$BBDRT;f;J|bgelWux4ZDI0~3+FgK-}i{??hV z@kse$U;`({9=l)LHP8;1rNt$d=yrdr(%!*q z84~!@F)}i5n`Y31(&62XRy#z-amv0(LPvIm`@hVy zPle8`Wm54r^xs=1M|QV-HttCYqv@ z`M0X9@#rZ1srXx4n_2Rt$PP6bZBNr6#P>}ly<(@35ba$}L92hsZi^3C;$vkJ7B?@_ z_nYScGS7A^%ssP_DqHufr<#kbok+x4K zJ4xZhEmm5}$7hIC^15GNBIHqVQYb0FPZDrS!1&YrpcVp%BOSyIpO@7F-HkTaYtptL zl~J#cF#L_$8Mqm?-?k$l>jtVLlAG*E#?t)rMcA;jP;iw1)z${nhWB-0-myj%L0`MO ztM25})n=(?3AZggcr+Z=Bl`F%kXBofGJy(fw<%AaX?3Lp}HG%@YHOJY^ zNU-?2{)f(tN>Zakv`ZbtN{{loW=ld^5+N_Lnq+E)AyIZA?^Sg1V1=yO7SziG{Q+7{ z{yf(}!*lC18Pi38lcQcg`Fs=LTF?Yq3BpO|*QJCA+^@8Wmi}1TJkOml86aNH0)qWy zerxPxwK_%Oif$lJsXf6_`%6YCh&b8k1hFe{8>|?&soT~Pm&VpXC;hME1P6hGWq?9r zE)2RN#B7uvJHw!=Iq=NqLx^)Rb#p>#qHRnfX-1o!K; z1%<0PI^JE@;w>-!1%}zu@y_SxpYY`b!=pYx^%QEMSDVVe%|EycD#Ahsuv4uvQ|HN; zCi<5utiI-1N32@~&&7~4lj9s5Zr?bj3~Uql(IMNBv&B7_R$J}QD1L%M@tC3}{h}g* zc**&tpHSdPaiHbxhPgl#X1W12+l-Xw#>02E3%YxlS*1LFBSkecA?K@QxFt>-EerbN z5=1}03#gPvvwX+5WcSj>O}1Jf3&sxfEJ?nj>D60lVT_qY=ANDPdH9a~ol7P3dC`4A zYLSO_`C#-3xU2<|#Y|#GYl0$C|2) zOl6$t75I`Wpscys5=k2%$aiadFO0_wfmm#rKk!0*K7f>`3mURLRm7dhmlHC)o4lBF zK!?(6Q&xn;GcAs+DDe?-Wl;^^@K(c7vnk8gY%F|V$e%fP0`IhfWTl6Fxfy`HeZ)4~ zb^2zXGM645Hp6xtYOQRL32O#u2ha`Gx((W@5FBq|8Ql}=xQ*JtI_aR!_$RFv50dBn z3gW2B^cXAreZ8;-*4SXd7q*fKo)9XoP;ha?29OS+-ABx1^^`9tmF4Nv2X{?*7n}Bn z4C-F;JFB@UTpm$o%pN;(P0q3=@mr-SONUGrp4Ca1U_6_Ub^nt@#^rXQ=r!L<~o>n&$R<&A*>lT7`kfV!BH&54x6EHos-1X z`5Gd|&qvbZD{A#d-zIhaf6e9IjE*VYUCVd;(7VW2i1^;LShh-fM0t#S>yev+c57t|qZWZ(3q{>osm#r>@z~ zZBR@y2}W&t!G?ECidmuPGu*m_CCvbiDVF6l;{iTe?l1_}^N1pt7p%0dh$TCk8$=1q ze3$;TGyx5x8d6g{k;=Gg`jLl`@{RssDKyX9`ig!N3JJZF+mr8n%=Mg$srtpcN6Ujk zf+M1S9U&sXCc#TL70y*KdYgC6Mj}Q-wlSVG3Mfiviv$ch#Mb!0`)PNUX=$z%@SP*HV1z=22+E3`3EH7C`p zH3y1Goywv!`^@B`*#kj~b4CUU+sU=rcz>mMNF=O_^>%<`PeMgaj?nAc@}j<)SDA=^ zb~|a-wU71?5qEuluF$+0i^2vbpf;kph*_M#K9?cu;(an zuKmJd6}n0ZpUV9W^4A#JfdN&G-U~ezPyShh`v0~}ww=S$b99~A!z9Cy@Z?E}h5Pe) z9WI3>Yk;CPM+MmhUureg3`-~fni~?VvY{kzgrFlWMalf_CB}G@T)^eg+(W0Igv0olhKdo?loz+Nw)%~hC;wQRRy zbD`}VzCPTbVZ9$l#Ew8W&9f1}AV6PPM6DL0zu=^rsd1)hvGA5ctR2v3a9L>L;+GaJ zv#eZ^1K~LGIxMfUbBp{0Y~WSXdp8LY5Nh1<-QUgnGP6hAln6kZ3VmN+k=qdCT~sKGsnqXbQFH#cNHM{ z>y&AC#P=kKzemeJg;*XP6=NDr&b{1nMsIlss1q?q@{0pt+FrTZ66E8+^@>w7v-PpF5{2> z*ZiAWdZk3nB=F1vmdbm2I$$WBb2axMyOa@@vIs5C!%2^H_>BWkY2B?3I%Z9r`>3X? zq#GI~>oz$UyaL1F(BO%OD0V#tauKc#?E@%_n@Ea^CG>rXP(lDvhvvDb`2J*$NzVd0 zMZ7N{=GUMIt|?-2WYu77WhSNh@%n9YlX)wnHT6_NqvU2^BZo#f1x{M(I&PLB?=4`A z%XYZiMi(|Hes+OUkwmQUlQ34{|D3rssxfL^0vx;3cH6X}6+PtSHP71-zXmb*u+9L{ ztp~Y98^mR8zX8h0xU`vrSHM@Cp^LHZaZgxN@`R$i4d9mVx(8xELa)xbt-M$3q0gC}J4y*RJNbodPmG6DQaX%DR<%EzI|^0!715;O?a&*ay;!{HUCKE`JP|JgH(d zj9t%XWCPZs%dlv+2*(VfD3zr(R2pg%4qG)5J&aQUArZI8J$-5d=IRPhs_zB~1RWgZ z0&1l7DLKU-#8cIy<{ui<0N?A0!_lygOe9(vuD*=C7#3}X1AJYw0tR+Oz;cl@1(l=j#&L`Hlo3okEsuZ$x|W#@UiK|mg}S+>hzq7zujCUuxsUOiLX?r|b5 z_^hBbRhr4zkOdw%|3BIx#;r8x)iI(~fY+nc<}GfFt$0~5fAORqpP0kaIMMYnFJUCC zk@5GVE01_E@3&(L%}q-Qb8~LJN}??sCRv$~Uswt-(L;y!e+2x{k#1dVan7( z?IvU>5@4B=l-ntr;}N_F3BK@es!eK2n~0t$$IQa~t^yz~GO||4Ks$-7{?lbT+r`~b zMNg37F&T@i&LgGp-`5Pz8IQGW8& z=wL3jUM$%FKnn##65Qfu{)<|kt+7~s=G)JDb zvH$mW|A)ph8*ZCP0XylQnmfBj3qDBT>JEfR8$wG*_TW;>u)ZW4YW&M>PAd09fC#pJ027%02#qv-Z^ zN1f5fbOzP{kn_1h&LoXAu1Z5UK-i$#UU>9pKr%vP8Km~z>*B?FeSCc04duxtzhwtG zk4p`K<$FlcB^Z0C^3uF!Edl1C3K|@5ydpK8pP-O@YX6 zxZ&A;#$}4l=#mxp7f!nuA>+?D^^#G*xsG{D8IJb`AHG4I$(nkSnnvw8u_JB`$SLt+ zqUHhRU!iB0HM}H-`_O>TN=x;9s(7zXJ*^g{z|W+$(n4P+VrVcqj^qB0YaD<13SSDZ zL6!f;GNWQ>^nS9iaE)TjY*@rNQzqjmR9RR9K*N)^esBt2Dl~ zj(P|b1|xr+Py(&yc!PL~MHUKjgSO_FQ5lb9sMxMdD0Dd+t_9O#7$xS@i&?hkn9hq`rAGw!?M(FjM93 za6NY-Kd`~7;Mb}izoTms&@G}T7du?8e`}>+%kiC)Tu1VtHb3se`!4SkWPQgG$Kn=y z?%I#H6xhvuk@oTL(5aH0)iQ@Un~d#l0iDMU#(W~Ug3-I29-M!ZCw$R?>T0*2bqa+8 zoAP}?e~h|eAeg7GRtwH#@+Y^mQmo;y(R>IU3S+^N!P{xOVNa%+;iYvJ*K992U)FV2 z;7kih{3en3TCs>k8~T^6;@1Nluoz;_00vbXd_2m^CqVJ|^af%=JF21Dn2bx+ zl?>lpJN9@w-{75y)f8Dg;eCPeTzUyfCfud@|LgM|l>PUjXn zUo9@miWHZpa&7hH6J(cDJ%H+f|>hVBpSns6wv2awe0h z!269yZ0UGYlhB#Q>v{kgF}401Qmc15c4dN6a}H|+a$0QU^LupWKvHq#!7a-I2IFaS zRr|M=L+SL~{a+OdE=)wt4{1Ox)S-k{x5uI=)!Q%M-QRGbpASGzP25oQw|J*RpHYNC zJfFmoz+W}d;=JQy))Jt>agf@>IC|;69@^0Vw-YBL2Wc79z|kRpe{@MT?0coJ3`uz= z8qbBqIWUndCkWlM91R|bKA3{negsvXi&ER-6P~syFX>U|P3yb;ukBmB5oXIgJ04v( z+sT)^*PuU|2y59hCSAcT_&PgE0plQF7N*4Aa#SyBP{3O(J` zy|D)U3fKWi45LFUHQ!VJ^nOM)R4M8KQQ zXHDaWNC1_21=;{ShwFrhd$Yl6Wu=Um>G>FTWgVPl)I6$)dBCy7m^d^J6RHEtaeH|d zmVfA@2mqD^F0o&0`nA9RV;3UX&dYno-IZPxp@%juK3q8Z1oA=tW}T+N@0z z_BAhP8nTl-Nlpl}=}x**l+?Kn8N7 zdqpO{DrbZTEfjqDzHvcvVgXFuIU1t{Vu(g&Ts*_iL@y;y2f&qy7*3AzD~We83Ya&C zwfQPDs&WxopA3WRv=mXAg@G_!k0gQQm7`Ld)TACJpOBHTp7ceO2+N8C?z4iIC%p-5 zRi2AZ7yjziXvjDE`MfT;L{yoy4#q8TDBf51URW>bNUaCg!_!Hu`|ZlkfpO|d0^k!G z>V2HQHYhJZ{3XCNy$FigY1v1cjfv+HGwxm}6#Fu(U|jYXH1myHXXtmy0ZVW9%z>ss*$Xtd1R}F?c>t*s9D}+YwRYo(+PZ+H99aeX~;sq z7uTlvWqkpb_8|vbcztM!cu^3>lU1*bjgqU+7U7SLVSnz$+x5~XNw5B>>cF35`7O&; zB9T0L%(!2SaRnQSbMl42;m3OI$HKCBk1FSxHiI(mn+*I z3K0V54N#iHs{imnEx<*VTufNorZ5j2`c5?h8^Td;Vn_A=X)y#rZBSCW+0;KT3t9I* zQzgHihd<2fqDxisk-AOdABU-8Jv6noU$iTHJJBqqIzt6iGt0y&R_x;Y%4oN;8N%yE zc0-r!U*@}$Esi2}PhNNC9-hr<&>$P?O0IkhkIo-YcHyXu7C*f&nY41hy68%Pf?+)= zeV+iL-;e>phr{&{@OmAnK@^*J(0*$}(J zoIZMn&Lj>4^}ywU)OK7!BAq4aE`#OV`r3TyM~cllQhh?aQ?mcD`&)(!V7A~UABiA} z6;H6K)b-{Z(Ccc(!#U2L;v91F=sXD0CAM|#gA6)-SPyS6MFv=YZTdF#S4?iL(_fwA zT?P#s6*Tt^}XK*H2fG&Z!CdzsIKp+V@X#9|>s z@vC0#z)rmr>zg$sbOYL*v@0Oqh>yq1dMbb9*%y2y%$??tQB(W(7|p5{Vr-wjUX z34txJ;~hs%fm6VD$kIHWD_*S-rZLoJOq`_0(g}8Q`^`1EiL28ht{r*-|7AxUBRWTX zs%K806GTeZbe@>xud;G^k~I6HN3!s;vWz(~)7 zIHm;yW)X)q)?&x^9lx#nPrK3-b~5_AGh||^?3|yDV6u+W^)e|p(R)5}tb&jpcR-~a zj6+}IEH$GWSC#nIRJRSbsB?s12KgJc!i-t{6dN|gPiU*y$KYHQ6n6`=LUpu4YJrJ`GO5jZsL=0u3*9;*o4{UC z$z7jAd}=|=dm3;3lDF}RkrmD7=o1U?M!_6l(E2}zt*j4S8LMPB(QWb;GW{{Ok(D1g zKRS$Dxo!U04e#@wlqX>jz8Hf4>}h@cD`#uSuP5eaQ-qyoo=k=2eUCH8b9M5em(cb1 z)z`Ulj3&@@ihdS_<|W{|l(<2W4tg27ql6a$DG z88NTac56>zlN7XgeL)Q92-NJ6@g4)lJ%baqVEsqCpea`&96`Ch7#-+SqGZadcq1?m zE-QauwrX)+4|}X*^Z$ov6-nuIVM~1HtEy5u@FeHDxv2$^?{9!XpXGtd@f+%VrQurx z?kYL^P^zzQ^QR>8a?HvNJ#tdSunTPgRe(XC3%tS7L>*O$I+>cFz5GkbFZ%Zz5@7q`9lM< zOn0$q#p>J{F9CDl<{Sgopv7?|>&92;z1dM<1$Xj)1Kwv`EE2IUc!<19RYu$SuCoIg z-JiKz0|?P$jl30S&?tw915=w194ii_ww6&w;avt_mdIFdkV)ik$S88+uQtQ4rS!X5$Ja`A^(=!fGgzmd0eQKIS|z7UM+Bugnq?`mL#8ajjq1K=|0X zq~c%0y)R=mR&QycG+)2J;P8g6t_^AbXiut858p!`kknT%Dqq|}p@EOXFm%bpF6s=) zI~|iwe(sz97?ayTcBe3H(m|BBHa8hKV(Br$>7Nii$?#K=J&iIuy^k&`B!hD|+tWb5 z>AzR(qe4H=8nxwSeKz)ZTQuy>SMkXvUKg=J-isMcumrkrYi)LVu}Wtqv^3Xg@p{A- z99)g+eeUWhW8=&5zYP&n&>gRDtDEMbsOrW~Hvx(@+r4UtFv3CRE!?RmOWfrnQ1Mq; z)IG^mqciSLS@QzLn)v_%V}Khf>8D1DT5`2Dc8b+DeY_v@*ru*Q(s~I9=T|!xo!5#k z^rm5xHT7pa2+&sFxCMCzvu(hnOt5)}HrZOn4HUU+gbjhD&M^pRuYJbZJ}YW8|uJu@Vnz68YH zX|G5f!kJ&{X~r1Im{%$lc@P|@kS`iyjHO#nESZp)F=GKH6)LGA41yZ~rSbM+_1vh8 zmgI)hNy{yb!WWYTfQ;^1;`sWONq(mZ8%RjaN&RZ0wPR`mMfULlCoGAD=y+J6$_p|@ zV|!Y|qEUeJs4(h?9n1__;!VOp=l=dFb_U(gLVn;Dk2p%hDvyzQXea(@MDebtbPX8< z)#fe5VoM()ui&$1g@lu!3T3PQ1=rQW5>k@$hF4;RmNh6ad5I9TfVCu~ zp`H(he^g0pc)xj1(4z{4rWgT9lD&@R7Rjhw*g^ANC^N2gngF_8Cf~4sqpWW>pRLSO z^N^)9iHi?=`ucV+(LXW_I(d%atudx@1^ z+LJE2!TJAF<=~2MtwwLT=MM_&i^Od?^PA2b|npo7MDXE zjDUK6#P^Gwm`j#kH|*F$DKH777?5=1SeH46>-?5O*&yn`VEuq`{F(4AaAn`V_OzlG zH@G42x(I7i*vZy5I~ILx>%2MM z>eC6zPKJ|99H@R5?u%C5SN^my!;mg{P$Ie z`6DdsO&H}^Tw?4{O3$IvpgjiqA@O)o)Xk{StBbXboj$}x4(aGjv2?fVY4&oQ)DdjEn!Rz+ z1=U&_Hne5*LIv5vtWUD8XN83d#Oye2UJ;Cd^P}TvVX9YrR>ID2bj1B2tct-i+H8Xq z(x?v;Czq^|olTfmST^GHzL3fmV1cBN^?VghQCuLpt>7SC{V58OD2&(MylSU*uPc6= zKix#Uy_y^7RN+B68k>#Q;^U*(rU#M|HrlxG&mQdoDilbCb7ToQi01m^>+vC&Z8yZ( z`aeGB&Y0^?C#u@3a}ta5fxVAYh?azGQpMSvf|k5`F*Q4Z;152rcp@3jS7F%N8oQ`; zHS07p@1ZEK^1&_V{Ft|Py-XfABu~E#9g726i+suk>V!-gC-LL*??`gzZ zz{U^Y@kH9VxMdHR$aT^mQ+cDgoSj<6WuArlw;R^K5qSrs^VsvFPqE-G!fKX&Z=$$W6r#tuAeQ>ecK?`5{3yKx9{ z?)ofHI45)AV3yi7QT(AcKC{v|aij28G>xqpy@<;yacuZq^nxV^ixA3#n-vt&rKo!- zbwce4SC9xv6jnwkr+Q+Yzi>2be`^eDfbX)3+_{HA_Nepyh6?OYz7GqJ7f8Hqp=Hvd zHggcPQoA7w;+Fjgd(gO~3b2&3|AQs>Qc4@&5#nU*%FDc&e5l}=s7E_7z5A#Yf0xPi zU%h9inmR*)G^OGTkG+kdQQ#YvHr>LhQ_uF1P!*Pt9B#|~_ z*ReE_sG2H(^Dy+OtY5?Tj5ajAQs~;sVebI>XL`I<$ov{4g`(7TP(}7YBp$cN*-Oxz32N6tH8mfAA7nX4P zrG3{e=g~c&@0Aj>M+W36h0{7%WgPo1IA1eE)IZB4PtcpmR2Enjn)|%49mWtH5$T8l zCV1qGi3)NsM@9llwcWG5-LcA)mor#SCDco8`8~iT)Q$Y1mX56VJb)yY95N9?=)!gW ztGpUR)FW$aUI=U(Y}%(5y2+hKR(kQCs;DX;Fd$Vzxe-|$4m{U^v?DyT+DSJ=ASr&8 zrw1M&MoHbATU40vqMwiMUvqO?7UA*CFhI$G^87ctMyQYw)7jq}5`b|C0Yz#>39j8MlxNBbjK!0Y0^Yuma!?vFB|C!tn0 z-i-;!4%p>ChU7bJS{Y*`mr9zEVV6D#!`qZfFy-aj-o@|F{AlZN7n6||)9GH(+DFpP z;#=dx%Y}AF-QNQRDW-6ikB>HUK^0#CBt|e-*XhJ2!hM7;v4lHY7_d)2kEO4y0so^2 zg^R_Zg}hc?oZ#UZzXl?wjKs51SG$+s-Z*sqVWL7GI?8^l`+>FrEGu&2$owI!;rXYu z_y&_n9`x{23$1zCY}wa^xhA=m{;j)_MH)8ERjng44pi!Wi)!t>6~$&ZA*U@=0? ze@q;Z^>&KaX;7z>73oXT+%#T27z_LvuMUdO_Gh{at9~TG=oE?Bfc(EM=Nzen=X$=smG;2d-oF5k>tHhSPDvZaKPl-?o!9eBw`Kf)$~4BS!u z4-FjMFx6rLOwHNBCKdmK$Ey>4wP@@jx9^PS{5ImzvO%cw_Fj@n@L&$D=HcB-e}}XE z&Gdux7X2}6zY|F)RV9w}HH(Glr#G?W7xe1}c2+@byoTjNs7{MXUCA}JY>`xd!JV&o zM5o%ft|CJA4T|9;638#c+6CX^cZdBRA9P7QNFf&`w=j>ZS|d<}C@OxD|k1ccd5|#nlmuf*EA(N_J@Bf&0Ja-^K&r8I+Izv+C9Z zx(J+x$=MbKQ#MuDUzJ}y~xa~z8; zkI~r`sKsRtKjbAUZ#=HSdwmo>t!#doQa|<)=xkSr;Go*X2Pi^2W!XT0eQz)YsQ|9dCh;r~>BO?C>{_ z9c(xNVVcHA1o4o|WmF6CO|B%>Z#sRjM|#qnxkwzV$hNYEkd1#kX%=L=h$6~9mAzNO| zuYdKG*~Q22OAN1q{iz}?y$e1{^J(NUfhGTy>hT3d5op-0T)vyiLbWAU-3!uM0`r97 z!hp{cVWA71VMkhmhiKk^KTuwqmfTP`dFkvFGAZt${RyTCjjZmVk5m)b5Oy>N=%pZT z<#pBX0Zjg|r5HciQu@H_yDq?83rEa7uOyKt!CDF(vQ*tE+32L-*aS!lN>y>W1{?IK zR}bHlKarW_h}&D|rnp9!|mg>ynpls$mQsXjiaP3vuOYvjW{WZ>{<+A`}Cb=>GcIE`j)zg}GRi1%v# zgW%taiB8-v3#+if($g!3d@KYuW4G@)HG%R!$DCe$JB&n~^g<%-1DqbJ!~4T-j4iHC zsik}S>7-qdjp;2W+h^wtgYpM(T--*l;~dKK$BJCru?30I z{7)mR2?j;mozetb4HpBuBO=Js(6%p1tgF7@e%<1B%dklQO3-C{^5eG)_4<{H1Wvb} zOz&DzQJ<0?X@#B9^7oG!6Be8`hkG-g2~ONTXZE*b#(QnGOZ6Pdks_;}`|OPnQVz97 zNmoQ@Ys*mE+Uw#XMVk3z>z4+!i-E1|XoUQR4K4Ai|I5qRSde4vDSRT4}A zPN#Sy%sA+1l>)qAthP`&!diDR@MKU@rftWNua zg>}>#FI*wSp5mNzoGkNieQo%zbSYpQ`6E2JN6x$F(HRZXZFuBt`%96+LL^De$RoPd zr?Q|fMtIUg(W`^VV!A#L(hR?~ExtPc$8nWKCbCYpnL#mV`PACS(3O1IYu+gqf?4V7!td{sZ!@&}^SCdefi046k-&|=I^>@m1q*Bh8x9ch*|D@MWN&gW%zY1iuYUvnE2MbH~ z^q&1tDx5@w;?kC1lEDxMc%8egNREt*^bA;?g5XX`%kif!5@3I^=i%kC+>c?wC#tso zbP2VgqxbPbAuh}$Gt-1l0m zuRb#bmOxoX=4uz115u{i{P6S7q=5(hGy^+Z*v7vY#ugkHndHq*8V!d%6UiCzfm2E9oE%nEdQp`z{Ir=6N<{y0=QHy&5TQO91gkf|3PjMaFU- zajNl`#SJrtQxxn>8i%B$sAKIw_EHR%-dtG%KX9YoW&y=;!-Nqej53w%Xq#F=e3I~M z)y#}d??>nxqMw}Zy*+p+ZOA4Fn51i@c6kDVR7L@WE@y>()}hF1aZc5q#MvT6%}rWb zt$&nCpM{5=-~;2n3ZzJIP9IwNHMBk%aPA3bj15 z1pX2%phUA0URXlF&RMY!zBgoE34j2v7Q6>s+l@~(dT1!ZxLWudKQI*PMgrK7CIP@% z@1E#&ZpSpc1wvVS)da-w{363{IahMNsfXiz7WRJ>_BC#gI4|WieuA&IL~qV88zCLZ zc|U47PGihxO2QT#<+O0481allQjOC@GkTyx`+8uga$mXgl<Yn`JV;FD*O|CEZX#kVR$Pda4`uxk+%1nILc5_ZXRT7 zcafk~)71R9Yshg-uA-;Y<7N^&9HdX#P+0dwZJB*kX+RDt+h2;C-`x`V5hzfyG_izS zbU-fn5}%P4$G&;c>xLTm7`!5X8}f>le>{RQN%?+}A0iSb|EP?d3&^;Gz6X~?C!y?9 zyba1YmK2?B;C86(F>$^48YCstD4x=lo&4NXCD&+;>Qz71g}|E1KT(Km8>dg)q#A$c zdBval$2lp!`(wq2YuL?LU|aE+#6}O`v~{xrpaZa=az{*q7Ihwc#+c${^-RDn-@dPz zZiB#f9i|1RZ9sz9HT0*;Nqben;p~t4t4KH-G0cVPI0A{lgBy1gui6c@(8d5A7z);5$smXbgs@!C3F(^t&o6TLVpo7bPwSZ zWhMUxh?(Su9x%cPqq|8k39oa!(lZ(>o}Yc|Jp(TBIRLD_r1TH$VmAi%XPO*nYh-^X ztmFUv8fCzs-biS8!!Ds}RbfzCJjh4X21KB)D{f> z-yu6o3gTO&%vlttU{qHnMH~Q+sRc3DyIIoAl4D*sYpv=qU|j7ijp_DEHMo;!C~~(I=87nBoUNF*f>5h6Ox2bD*s&!AAGoEG zhQ4->;ji0E_@del6OnSq0o=AeJ0_uHVPm&r2yHygO$64-GamRnJd7oc(`nVCLLx7+ z0}ON1#PNpuF;p2b1r*|C{O19Q-eB!YwCxzvm>{N}r?}&w^ULeGfj)ip{!>C?w{fg2 zwchl=Gh~_A^UI^HOFG72&}Y|>uM$s7*GdXv|MhJ}cKM1?Iw7uSdTB&}$X;lnR@>Kceo8HXF!M1Stbm8Oc%E;B)52IJLK7h*RT6|qB$hFu&=l>`Az7h_XC>8j1Q>T zvbDe|TG=@gvG17WIX3CNX%P4L%Da%_lf` zA%yx!&f-J)D=SNoPBN5P&7swbsSC_V85n4`J?y9|^kT&9b5h%>>*p~y2ZjbPdykw( zCpY6C@Rnyz>UiLfdd=?$AGTRugp=X(O?Ma5mVBji~gJN)}!yuVyX^OylL9 z@{Rmq|6r&Zw+Wo504=e0Af3}LSw6HW^wU;X2I}m2RQ{e3b%Xc6&yIOz$@O@gv|X)g zRudJWcK@jqkv3Ct0R-4ERGC-DnUYq}h(scQ1kC!O&gOR{HNUB4d54v8u&!=*Ml-wvYZL8 znVkaQBH%^GPL!EaK$(qO?yZJvTn3+{8{N1os0oVcw7`xCzS5KQohv3izvd3Ds4{9X zGv)cMi`phfkD<9{=Sf_4dk+Zj1u*-}tD zMm=rCqxBAMIo=F2v9P5PLTi@*RM+c*?6GA?t^|!9hc*rzCu=DVN=H39a5SrLWv{7a za4qL0$5!rFCYxi+b6m%P5;(k?9>PYJ2fNkN5%I*Uqf2&`a+vhi5dP4co42y1eLE(o zgiDbOluKB96&IVmkuCF)s~_(- zThOX}aLidWX%GQH?p22@4eAqyL0ys{a=8_jjk9Dz{QFTQV+*Pi(DWg&%LdbTgr1;T z4VhSsi7vf&RjC^ADXeEbL$&=10nzxReCl&uPAnvMbZy;2an0VHDYO^a%q$RTe*vTR zgO2-P{1RB3)R5Y#fD}mT*uf7y6cZfb4)mn1b*zHih|Tl$dM55h->W>#X64_X;8?<7 z8gF~c*n9_weCS78bK5Ybup5d`xob&#)VUn#x z>sYJiM^r!(J*@)`Vld}pN~)=V z@DeqxC&BR~PgQqQ2RYdUBVqy&aJ|3|n7x9C5^{g+h44C}4yaX@h<<@J_J%$NpMMa( z@AgFhL3TF>$B!$ZklQh3o^4&u+5aKOD-?VO2vAHGA&agACktM)dIwAfcK|8ac?_2H zlTu_5UcrRz$w#xY)jb1uMS>lb-7q+7>=%Vu%fBuQq8GB%A^+vI9K;>X=9Gn}mA9p8 z)O)#{nSB zveD?NL_JQ}OkpQegax#DoLa@q7mZ`dg{550z3C5>*6J)Kt#W*}Ia(_ADyu%H?xk6{@O+|eKH!U%@jFOw@z%eytdCw@^H{^)qmQwQr1A8^)VGFUG@oX4D_t>ju!8>NtPS#PCo z8LxVI?#;L>Ho}@IaZ%Cm{vte+hQ;_ro_8X%T;||4*6h=yU&w3|qpiYjIw4r^>{a0zby^28Xia1Hka<2pV6|cN}GTuQwz&2Jwk}+&JR19<#|$sKXU;k|I(5uZ=4|}T^Y6?Zpa}}0%YSOcRCQs` zMWkdT18;Y-{L3U$pD=8F2{;&}a&*W7W;R%k___R+9&qI~p*tih*LPn{oDG^9jDobG z@4E;%rN(QA14Mb%YnsW#?H?GUmgm$w{hLMhp+fJwGP^%=V@^T&!mmxuKiIPIq~njP zNVj~H()SfeHur7@;OmAE14_jDV(V(ZZY-F?<-d57qU=~ z%?^uGZN2S|GGm9G082hlOIhWQ7aG^~>)}2ilP|?s5>Wuw%UR8X!M~RDvrCs|nx|rd>S>0s#tuH@+%3TgX2OHGr(lQlToJ{f z)nd5l3^u@im<>!j*~M=Ds37B)xXmg!m_HRp+xOJ``hodfwFDlmQCVlaHA%k8<#Lb6 zZf`0J-fu+i!D%0ah@n3j9u*jm#WSN;_V!450A43cYg4cV`Cl|(Hkw;KToQQ=(V6Jq zg!+4@cn&>Mk6$Q!`s94mu^7bfFKpdk4E2EwSX#}0w@GxaTnM!m){vKME5!W4fVL<} z&ttZNi5y=9VyjtbIR$r1IS>l{Y3WZXTq#ck^+IAbaP#vE7-X4QYUmu?l)zk~>N(=^|0LZ!$#`U6-< zW#%OSqNp{}3borEPrCywTk`7LC9r;bA^!O zC&BcT@EpSy$YQ08%wl?DPLareqa7CB0(r3!H?2g^BM~Ccq9j8*`Qx0GI)EN86M_cY zhHGfu6Qs@^jY9dqqn7i(2BQm!7xilRHPA6*fF}Tqpq)Dq^8uj6BM8T zL~`k1jqSK`TwYN9L}|f%fQ>KXz{;ue{bxo=kB~l>O=C@dBRF*OX&MoLy#z~{Q=9^C zt}!yK7|4&%#fhS(x~{PgX43*hqLvfLchzqZd%WM94xNl##&9vXV}Y1*uB8Fg)GfED zr}YVl{TVuj$U-}Qs|E`}rT z@H}P>2%ERLi0qQs+INgTW<~+ZB}!60?_?YMpXZhk%N%HPO=E0aiwzncX>&YTHJC)fc;h0!8@`e2;R+uv|y67(d-jNX4M*bd+6{JF?c`F9eQRa+>vH#Wl)`679ef0JytcV=GL6xMrR?Q|9;=t-L)k- zY;_zIZ)@tlLz;PyZ&lX?CosYT&=4X7?H)w5i<;B|zkfLBgpaebex-~1j%IJlPg&kv zb@!GUeY#dlvu-heQdoO&mS6SMBe83^-=o>z8u1!|af1^Qh7%AgroM`+%6y$Vzqrqt zsk;jiC+`S+m;Jy7@e<>liHn;ez!&f{ivefJyq36ZQ%AQZ@i0fb`4;JCl#MRS-qj^c zfGbmMXE1%-%wp9bpoPqO;1aUVmcS`EI}*&Z&04HrW^OY1rH#*;kl?6^{&T2XAPp98 z&}ejQA$tD8vGxHg_sW${Qva(|Dlhsi@X^Hyutv!4joYzJ$ek;GtJNExkpF}lzTyp% zreTMrN>gi6N?8Wcf8wxdHV{xw61eu^p$(l&eeW%WqVNvOp&#_#tS}|~M(inZp#V0l z^h9UT(&QgZypG<6R-FR1b8`_3kqt$L`uyaKZBRZ5x1dZi=&(k@dszdgKh7u!rJE_@ zSa)o@sspca%m6PsXxa9;^%;diZ*+)qjl4VpayWdcE=coWk!M)O%bn}rQnkJEq?1_O z0GZTBdV$8@)s7M?dR}Jn)!!tw>VzC;qC zlSxv_^o0B5Y!k?rDoATrhA#S0#ru!M=A;76oxbLSiBHS`&CD^_d3HK59CnF5{w5J@ zph}NXnXX59&NS_G;_)P);o{63!B=VB7_VkTp3ckUg2A?}l=Bor{E&-f!{9jwi8Hl43A|&w< z!i>Sb@+2q#G8^_~f)*{ygP?JFBY*v|KM}~i*{U&kW;o5@QbBoc{1mg=+J(ztPwRZz z{sGytb^_$IF@@HKJ;EyksW(DJ93C2sz-Un-kccbs(RxT^i9Ig5Y|>*uYT(U9;IK1Y z3|tp%T}}zlqCI!xr?dfjQhGRz8y2VBo_|EnW|LB({tj;mwznC&i12(83f=74_*Jaj zZBtAFojxtVt_QP}QCZS@Rnm2<-&XU8`_Zw7a8PN0LA0<;7bwc z4qEn($vee_C3^nlnV zYaHvTbwq?YUeTnyifgQb#phn2#~b(WWC1dL5jKw#@2tqX5W~@I$bVE#&m8ba^;v=x zXm(q`w!7_ysJ^4q{vqLlRPbJ1ThOQX1!QHQlPPgoA<$e-3(N_Cyz1^hK6k` zZ1I~6uLlf@$ahT|bIE$+?i~??6ytt8Bi@PUi=-kh9m7yEM?~?lROn85+`x(TJMPV9 zcZS5$bzlq!s2ZhU7uy~%h)>Wh&ASJh@&bv53G zm{87JkpWK(g6=~0gQ_+NV~Ijp;g%Fpifl}Z8Pqw|%%=r~5lKhtsT*MTgre?Dw4gi7 zDo>SQu<8WcI!pHrKXs4JLr%D!<+y=2ITx2qmKTod5`J(s(LYK^QV0?c z9z6_=9F$pD8Bnx}r_Jq>0=gL$Nh;h~MIRdl3c&5pyv}=I4==~k-+EdcTJP9T_%hwS z%XV_fSSq^aYK85?+P(}5eKc?&^2e6Y!DEanyJ@y3QCP(1#mXpa?NrEKNJ8FmYC9)$ z=ic7l{Ym`;xT0sIiy5T5`-{&7_(+sn(!?)V0?i3i0zMW689lH}8!jZZPQ_$_yN;_r z_c(fE@~%;tZ;q3#RRN(CFC_A6Ijgb%16m_a0gn~CLs3eV>?*M!25>_FVHFW%qjzax zf%sb%c;hUFTb#6@VZ)UTsFk`}H|Y+SZd+weC6Kwc`b+2ZcTrkYRdqpI+D=rwtd<4n z7TCBtw4w9#uNk-th4|sak3m}h!i?LAoCbl6&k)n6kQKPxrgNdW5Cw*Olk~ zBc?Lgc0PF2St-I7Y+ehW%xEpa))SKDxV)JuemOzQdd@=2Xi+8As=P6S z;gBD$g+*j%<6^4Gn**lZ42&{zu4Ng?*h!WjfAiuWE(U-<34)-ug4xZIa20h;rL@yE z%@*+RaDl33ihI>;9UeY`f}VQ<%~Z0DVGVeJPsc>H9}Isl_G9gdb{~4=tu6aOmC^sO zrky{8Ur^(Zu=R{61$h2Eaf>k9l~;Kt@{_)IBptUdV!o~1_^I#pHbe{M(EYZnG&q8$ zt=r~tla;fgRW1;beag8I6OW)XA95qMAc{~Vg(7stn&;}(iNS5w2~9$Fe50PxzG&nS z`=f;4d~Htiz5wNXQjwNvmigA~;ysl+*6Nyjx(59{^=q^J=|!o2XG`ohd~IP0DNx|4!n7QB%XzVT-#fk|B|*}{_-33r zUAd(ma^z6(@A;|xnKHK(HyMSS=pgL`^1D%0x=;4Bcbd;KojYv78*=6`(KgXaH;FJu z-}<@6*XK}Gt1dgS{uWd2A&H`VtRtzTcZmfJ6z&2zHhuW9+xMt%U;Y zI)LT&B83y$9S?u`9%{cnHQ_?vz<B}L)(NOv5iAGlU(U+lkZiJ)a8t%0mn28Qq z0hEo?EsoKxd1tPz){+lN!o=AOFlN9vtazmSSVlJp-FK;XYtl8l5(1Vby2!-h)+LoFh&hIQ^UQ?XRuJ8!@ z8#X|aBhecjByOXpJyA;phm}}OrG_`>q-h^WENd=R-?b>;7IMP8EwE|4kF;YN4oLnYVm4+q0@xhrjO&BiR^iwcDqozz}RP!-9PWT!nh#C#B!Vu zNvPL5&H$saBw(XWoZ1yTpqtLLmu*t3U-sQ|)m)>|6wv_-VOAuX`w=T?De;sgR)ZNS_yZXSONQkbWddRp7 zA}etQwXr!`(GWS;h{-UHw<$o8G$v=!LZ0TY%T>11VPlqXD1?mOtO>#@pYY#J?vv2s zox6+=Cc-x`qcnO6T`v?N1mui7OyvX)Lq3a?X$~C+R6I?goH%*JVr>M~ z`J$qla%;QMJ<=Ky3wg86b(eLgAw0XG$l|Gk$+y1xB>|?fzAVAYjyV>le0*W-z4B4rYq)7CpDWn^yeG7`#fX(IC$c&^n_CcUce38h)8+=pwB zykdU&bLCjiUv7j95;Y8e|od8y6#b7hKOF~6dwL7&F_(zKA4*8x_5(ULwc zZq9DnL)9}4>;Q})np*6#-7G)^518&js%;QfnJ#`0EH*o|yGF}KOx71-IcHzSc3x9{)^biN1MmPsS!a zHL=3onvi#6(z5}flXAwVNdX981$&SL-_ z3|%M^v>;*pSq%~O5rFN9x-o4#ev5`e`#oJRIEd`(eKW3k7X>PDSMDDj9|4Lfj`8i5*I4NmqM0IWFMVKUzNj8nR zR2Wq{K2-h3wt-Ga4zX2~&S4^8weP&xrQ9Ooqu)&$p>$QL7>K9L`1Pvfh+b;13KdN` zmr;K!jg!opQlg_J^qu27A%4mzmmJa>ieZ*kBT`2OD2EL1*m->?e+GO`e3me;;5Dh6 zBvs_33k^(9IZb=;pan%2j01H2f_g7bEo-B^pnzPeYbhg?Cx(7#`bg)=;CV?|H*?IAQatDP55B0 z7zxd;-nOmi)^Gk4$p$j}jlVqUE2`?lI*2e$vUN>!mNR9QJ6*(IKiwVVpJol5Dfphz z&{*o;PguLbLT5ZcTaMs-# zo6g9K05c^t$b84SuMVeiha`l|ni8TCeLwQ80UyD3gu^{NoAPreKqMf?)_?Mot-Ia) zG;%2xyF772{!3NT=O1=dEpzyEiy+i~sWz}%Q=u^}q6|*(md5I!``+qR?xZ-f@{D<_ z8h_!eMJ`I8fA2Y~f?BF*eFDHL+|Bg$R6-#Z5z(3;Aw`L0XoXv`p19SWxawdITjCiI z{9};;t2b#jl~{?&Y71KIA8UCgI*JUiVt50a$*`wM2E>M?GWO2FWq`G}EW`>@gw_H-e+*gkAT7fMxf0cU9kFJRfN zX|jZX#6j2NLUK;hY5(P7Aeo%Cs%Y<1^g&S>G2(nM$i7bcnbW&?D&ll|*o&ro4&-kH z^9MwU6D)RFP$NnKmx9mgKy$L@CnLnZasS*16^Un4ZAl~QU4i*F;FOUH#^z(L&DsPVafk#?b7>D-{?u~*9v7No-V1k4%47I90VHN0e9*0#Oypu zGws8k6<`l$_I{cV%&ng7=BF>)hIn}6(VD@i?KNL8 z5~cih_R5Mru!lHy-u@|?^10|0SG6&oQ2gceYnMaCc^`WZJP~B53me8Ke^{#~Vb1&* zkI%Mdzh*zku%*J!&zoAF(+Ikkp2Dq)p1I)SyJtXiu#GKcs&9(~YCK9CD@Gz$s8i6!Z zG+*FyK@RdZtgOM-V5|7MMB2=9lKA4z_gzbndrTInrwD0 z5(oR9@`qRPZxQd9a3Sh6He5v1PWA0M-)<~tgjGFs2cJ`+YwQKdBMg*z zC{U8-5^FeVa2wWvOLfv~2>dq0&B&*?Sa-qU+Z1b2afC#=6kn%z5c;p|K^kemN{gHb zBjT9e)OVv1%)h^sah$4ZnZ`2`qX@%Bif%`-@C?kU#m05?B%M*dd zWA1U|oAvvgj(zSDfmBY9&@G^p zg7NN4Pj{+|j;GE}y3i0p>}W}dh3x_Za=}Y>2_L2N7vT;v6QD^-^=>&c8Jrt(U6(nW z-3o}FW|ORSryHZ7;zj`&cwD*c^IL&RJ}*e&G&U=)p!JVW$&27rZ*Mq=0SG^I1kMe% zQ7D1#l)YJ?`FUn+h>sz>tv)c!wbT^ov=t4k;dHCMfC@x7lvG+SWT^fW%v$AUw)z80 z_O2U(sDwAJ#rN!WU+bD1cFZN=|KFAs8Qj@irnG$ftD+}b*kE9Q5o+d>Tph|)fU!ij z$qdDrGVO8PFvE+;|E3^)=d3s20(4UWo7T3m^B@~eSU(tz0T0fe1JWrS#$Y=u_kN$2p<`jUmBCG86Tge9oy0nHDv zE}!h5ZWltue(N%V%42HSTY?4f{XZ+f44sX5>|`f@$^nd0B@#y0 zk`lAiu9h>~m%uizK-x8g`&bx5Kw52)DxFT1Mm;W2#+U@~?Ndjb1!@p79hIu3C$G<8 zgP24Ng~UM4sodieDXr2hvaJ8+Vn$>vk(j;=I_!$Xd6Vi)5n!j-$V~;#G;`HVrJyEq z15is?Umzo4%_*jcJqR}|(aZaiI)2*Op%@p}iWkc&N-)Cn8f>uEl1B3leDh#fT_x4s zxv<*Ou5=Ke1W8b&s+K@(1NVZT%LeDG+?fLukWErRste}!1e8D4bD3LNx0`_komJ^Z z*pe$K9%|#bufL8;vHz96sw?c{OufrU`*ItTw(7@F+ap7d-{FTT$>bbujgA0p2y>{! zu70oVF_%!t6&&3Fx7jWbj`165)CvN-mGhCFE&~P;*ZRsitkqM~4Tce*z3h_9#39*&z*++g5|u_z z%uw!BR)+h19w+{Bl`>WcHU6=z*YqV^YB4xghU!hjzqdKPU6CtWkOAo7y06bj5&y5u zacu48yNCK`(s(nZF4)wwL9<(EAnp}VSvj9hfKAXLDG82W4b!9iXIP09=r3Uh3<6o$ z@Zc6&7dmV$*EzIM&TLj$JDFgy2+CVrfE9zo+yk0%$tvrcw`WNOKwp{ zcLCUXkGEwlZLUFT_TKlh25ei^o=EBjHfmHs^dWqI+jd1B4Od}5j(u+M4=)!awF%%a z0VZ1GhlJGBkZI<^gvA#5j;WsMR}*IqbkW2%;5<4tE~`#0Nw<>5^{Pye6G4yzja(!b zdBCj$Y!HmWOWshATN2%lN!~P{Smi(IE{LPyTSo=EECoaoJZX*V7@uFX4uWTrB;Zxl z*64NF2wt%6?+CGNwF2C$4Xo- zyd388NZaco73=&H&QSjdJvne|OPp1v@J6sO1#fXa^U|w&ql&g>XB>*ty3(<3 z{b0Q&hDxuk(Gbn}!)Bv$`+FI1%IiyP{^kH+1rn$nHPpo+QKO&2Qj#&QC3>;y7DR{z^Mw5qPA2|< z+yD9_gaYPk5OBMHi4*BU2tEtOzQ|R+4#hhVaHw;iygTj&B*UA*QSB?~wUF5yM-|HB!W266fooBX|3BVpM0NQW;_J6x)A&ZC`OLjE1bYp3@UPyt_2R-=w0vJ5Z0n37w``N}q+sDviBnI+Fd zPXJ`E!4q&}zdWQfl3PQgmg8Kdk6dvqOjF+3EI;sKohN^;(W)Xix%w!(FeOdDL`f5E zDO{xLI*wQLYRTOu(wnnn%kS_h=Q67Q`d_zS&F5ZOVZPWXb*^Qqd@|RB{?0r1_xD38 z3i+4Xg;}2<=u7_v1%o#4V=3LtF`P*{El0XH4($2(rkMupLJ6!N2$|ggnTHCU04T{C z>mS@I)Jl5Av;4~T{TfUJI!PiUj#oV3zxk}8b|u1d6ZaOhj0>XBOoB}73oL2+KXFhc zObI!MB*-%e=?XS-2o@Sfn;y}iTT|$rLiiy(8_`{nNb3I5Msn59`{=@L;d19Nv8+nI zBiB1QaL7oC)96CbZ-xWSzP?1YV&jf)O}B%YjOY=MG{kkrKoxlE+K zalUq7rdZfzMY6y2;)xFG)@*tD>S0Vi9Z~M)7x|rfJN4fGCzuld59< z*~-u4pTZG5{|?a_);qH(q=tK`M63h(?YzU9b?}cbhE#liZKjn@KWLgp@*V z|6C*m0sW1}ucOC;Pt6CIODfg?&oGg9OM`4U>FdghaEH$C%IDNq+Z(kIQca!GcnkjT zhugHrr1{jrkc}mIuA#0p!%n)p7@1%cvDrlr3QdcNGxL9{(p(BogtG1JWjg;N2BK30 ziX+NDxfhMb0uQsG8ah7wz2E;L(+=FvKpcTV7!bmM;p%zPd!Qs4N{CjeN|bp_H33Pv zd`RsJO^PO0S`M#QMK@>w?Lai*5qD8L7Ub-nH#YD0lK45W+FMHBE0oJ90Hx^79Xdo_ z9qv5{)1fvX%(%)SNv?8^i(-!JR}>|7KQ?s3$Xe^?AZm3;B?+Q4%I5;sOaB&-mgNtL{ZWs95wmAl&GPgdal}>6tY0fytxC_)X|`DTC7k&Zg*&yVM_9{T4$K( zY6qCCp1uVdY1@O--G;yTzETCy09@;=*uJBa(+x45C*wN;Z)svD|J41W`|9h>`dHUE zM{_d9f*cE6M;Wu6;hdv!^#$|U;Nv+?C zsk4$dU;fhYD0$U>tHM}H;){|VL{yDmMOj*u!&SaX6UAJ>;yXH~6U{>5^sl1Sp(Rij z8qGVu#ulDUDN}ogxZxq)5|77jx?C=#)n7qZwNq)B3L^HNd7tweIXM&+W)UmQb0GeY zbuxL_Tm~C^l^a$S@phI4u@b`6jSEJ$K|M*=8*tm>OGJPf3?49ba6xni51|iGt0bFaD_E_{RH}&WHa@)3zNr^$S!o0Y8;?*OtD3BIRxbkzuL?pJqECu=myg6mupNwvUR zW)$^a6#>L!I-z3fZ+Q;DYQ}jZ7zvLl>=wZ^L>wxCTc1B}L4~tEE9e74jeJP!fI9Q( zc>Z=>CJ;a2KryEM_e;ofMajgDrO2GI+d?4a#AzC%KwAp_m|&_ z``RQ5a6K=UX!o6Z>towzM3V%j;x!@rtiw05N*k>My)a3GPZ?S+9ue(AqdMBuSBpiu zM@4=c_hAAu+|Z$phqFc@4tU~)5CR)#;N8G$kjyH}K#m{cFz`k9ZL7}Vt>z0{y^0=( z|C7Goe*e6IXGj_~NJSd6zx9zy#Y!%cmOD;R32t<`i`*Md1Dg44SU$?BG1U~_AQD8p zAzE@mK3Tk*XAB$_xQ65~XWALi!pt+2JCbM~0APwh+$%{~hpZnXOerQPrvCLO2ded$ zel5-YkG68YLUm)F{2BoBea#(;-b5K=Hi8naM(_fo!qz`$LDgnp(-^w%@B43Y1onj$ zdL#mZx>Y_XB1Qu*d@%TgvEGPfy+J`4ge}N`j-)qdDyoI!V&Cr7+H)u1=d(?AGO=1~ zoA61tiF?8OfH#khUdsu!u-Z$gur7K5_iqZ>6b8g}>fqIFx;`xD?HDV}RpoHaQ+C%_ zE-^wW7T6BAp;%_c7XlowMHGzPgKls@UiZ9L#na4po%H1uuWgF14*jW8LGJ)nqLK@0 z>1RR-{^5@uj!p|plokmx0rXm6MJefX!WlE(!5NXh)s@+MpU1U1fG&|AdSEVrU=$_Z z2Le`#C}&0pL~16~{SIcqQ}IWOF$B=2z9_=@^!Fy;ZGRQHx-63Fr}kY%su~Wl6fcq0 zi6#8)rnpdv395juP3_r#Da|izH_}vKGOa4!-N!2& z<<_q(YByJWU6HGK94nyE+dhFc$`tu$!Ua788%kh0B^=3AxpHQrZ-u4y`g`z&iBU-?P~(qa`G`Nbr;x@427> zp|Cu(T_|GF-F!1sjq43@XY3G{=^7`Rw2j4SispLRdMa8ZyRnP4D4TPc_>SXu$diGjD{d2focB*`Fgm#ma1aPEVY_39;N-~by+7Z@X+}FVo-6?KdFi~PV zxnBF_RO|1%`lg8(MsXU{)28B7B7NZ8UxnFqY?J6XH}y@)2D`o2ox+k6I%Ih>orrt}SSXeslYevZVZxXO5jTraSkr*iv?@y;8VR#3e;zx|V_Y^namR8X2 zz28Xa=*8Ayfm8wm5zopP1T&6$D3RmU({Ft+ zHj5VHIqt+>XB?1icRp-1E4LUb4l5a?>th2(@T8H$<&+L$UyZu=l2%ZRMeK5TCb*f2sGk;7j&+lo=*|=5EUfad&x9IGD!n^_G;I0 zKVM7JY0dF~3wK2BK1==0hTM1S)ol}xv8bcm-wc7wNP%xS2-2sesNRRpW-F3UGCA9# zd0&>_L|cjpe(R(2pp{!jp1Cs`wJN!EC8c27tk?vujtE1#^f5HFd-Q5Cw)1c~oia`j zmJ%OI@6T71gb?6hJ+8n_!=cwJZfj`~4T11$J&*kemaci`Glo)MY(17Wftm#94- zbQc^>HG2m~-yP-MJ<63-XU?*e`ZKG_F9Q?9>mH=iMn21*Y8STw=1DsG z**WRVxLAjo-n^1+6;G?V{DWOIcHu01`T93mH}Rx4IY54ng;9NVPOvB4HJW{LjwArF zD<)ua#2z4i)IBSdW=SB>UMXOYJ^ZqN3sXY(Yu;A5ZJ7vFL27st9nJZiAz$o2&nhej zGRGs%zsJTjSD)*g zs8of5k@;$S0uHvYuxV~Lf&XFepw4$3Sc*lJc3r45)Q}8m_1@jz@9UMg z-I$A`(MCdV{NOPDri1<2+Y{JWo))=H3`glERHXz2`z1r-yXHv$GxIQt#)mmSsw51r z&+l?V`G?+Q8b0XePIg=D_a_8m*{R=Q&Oa?XDFOnhcBao8#vUyFd6%m3P|qK#e5b7@ z3f70+;wdD)z2gF+D4H<5js^+0IZQvCY{XigKqb-GZKBLioBM~+VePKjS^X+3SpR-) zGu7N?zzmreFGH~!Y$I5gGj;0Eg(9R`!-V)+Lw(r8sXnj zFYF5VZ~M}lZCy4qST<)s-CIk8^-LGqc_c3Z<5Ns5ydrAu7-+rZiH<61kD81?Dv;oGD@cy?mhDJ!F8) z+G33s6%wTm9mZVKg)_seR_`xx}6pu!-MZn>4?9E+5~V8(rJ=^mf)z zaE7if&uegR&ijjAewJS@VgwhTL^=$5J9n?_E8i?z?j(WpuekTfVjGj6C608dR-Ju( za>l2dliDukXwD?Qs(~wl3QQXVI?Lm`Mq{?WvoHiU_SPQX72w(Pi6qm0dMZtJW*Y}8 zYt$Nt1c@(KhvFf76a4ola|p?6wd?-``yHI-%~1jMr)^K)V@6;~ed{ZCb+jo z_SevVgg$%O<(M3BSghJ3ju+})L;yL#8^QHAN%zMgDO$34^;-gu7JUqvrnkFDb~ z1kKW}Ut^>rc#oDg0E3WtemJkYd>z2wQPgN!kQL|?Nl^hRaS_`J2qBu0WbwN_GKTz{uwb>m^R#n?@_8AOTI3|*hVVbI*D$q)7G5JEZ-Nfv zFbzujP0EPCGi!}JG#af#yHVd?5EAL7NKX2*&5}s3rN}yjk39b-4*n_yGdc5M{5S)} z$aSpWV20Iyb{K~N7m!3I%+J5_T? z-R_D>5|<$=p>9n*wtn(#9(mnKLTS)HKCT>A^C0uoG^su<5gBr%-XMy>A&I%UyA{R} zb@EX=Oa>>UG-{iXd31xC=KU{QLn=d`y`(2qr>D^^6g$xl!m(y3c3y8v%5o)Krtoeu zQm^OmC+wPy`BVq3+b@-g$Y1=|(*gIeEGf9%a7h!9L?1k$D0Zb9sH_A0V2T+{_*L%L z^TzGG3r~*|;Q>xTlxu|JD5M^$hhBfT;-fa;uj|joeU42y9)$|xIwHatp&nYJS&ly!b+BOi1x&wF(zh*f>y-316$!MHEuYEz;QGW@}|edWw(&dw{+~R zEzhDnvfOy--JK+mLmA2c_>&!w`7}DpC*8-7u3C$fEK5^Z)M=zdcn9&f=0BN?vQAfN zvi9qgb(;juuG$rh=_h!^v(U}GI;|os%b0PvQ_GGF{Yv*(+%{jl9gNIM>=_;~*i8W+jDN7O^B42T0e5qUKQ$}cXNC)k zE7uYt1PHA?PsI0L9lmyloYxqsT$F+`6ZbPqUV5JwQ|@qV$^88l|N5rk?JmOAEgTz3 z+zQ8%Rf~OkdcycA^w;qEn^5J3IXK*d86g+dQ+NEwodJNY(pmjlg|X`%F7TPsH1AZ5HjQm7Pvbrg zHII~FRx7`Xa);(G@WFwRrMb7L=YK*DGkD=gH1!0=S!U8F$X=G!EU8Y{-LTAmMb zL7Ywh-US@ zQW9bd>G3f2Lxgc8mocg3_qGXJO`&i}BrW}g?2j2qMUQ3+35Iw*kGJSUZ1z+YwdkEJ z(w}B8XZxFA7ngO(_x5T*y^3lZe9M`&Pw0?6DD2ho{dcCyZ$gE;3|H))D~@g|deRrE zR{APhgrw<#U#{Ec=jWn$RD-`aqxDFo=hULhp2cDmui!G%owv7kJ<`>pxJch>H6hqiid!e^cTMBwszW5txpYU&-#;?#J+6)<(R^IqWA54L4)0J!VWoFGD5 zjY~_sfF|A?KBmakW@{c(ESAZ8f)i|1WD?jviKc$9Y5X!#gF=tAKtsTrI3=_m4QNKl z%><>`J>OzaX}Xb54-$M;DM%6YW+L;cp3Q|GuSA1uM`?zcYWYBEoaChlH^|;?jcp5I zHkgNMe@ujxKGN*3DIFJcgPd=Qz4=yPx5d`BQG}-U#sN~s&IQMumf(u5L7YDMXvoyq zL+N$nN*o^C2;WP?2ct(mI0jS-dhWaU%v;Wki^M8nGsz;xXp9e4dLgDvTFFtDSS7}A z{xO73RPF8xau%4yLQ)1urTkppn!z@;f&u`_F9pW=oz&vXUplZw|F{kbMw_bkMB30l zA95hZ1?=9+g7CGWDvW5c4Pk%RaHJ?XqtX>ZuYY#5{{Bt1rL$rVWTta!j^WR({>2sN z^#4rv7CP2e>6#)j4`D{Q%jL)Hz*ioqM`UN^M%g!HIrC(|WuKh)62`gq*pAs5MZu?d zImJEF@PK4DeMWH$Q3Jp!^I@=*?D*U(wu(46X}fd zhKM`)sNiMTtUZQB03yj$YRFj02EzD}6aE~%zyru_(2?#lor}TteRzkqDq?!h1hP4e zqWmYGQ!}??cCE?PrvvPBPYyG28x*R;!qm>J|H{WN98zOI;GV{+dumZh;F2MpLyftp zys&x}*NP0ve_{ZWZW?|k8731?IJa74v01a}&m3;iZ()-2;Z$O!A@$W_iv5-9`AJtK zD_%6UKZW`Z?$kv{-dmOW%_#gsky`Q&%iQKuY+p8x%xA%{M8)QmdJ9)F`2?2pH?*0V zI$T5Hn4f9#Nhou5nkhW|g??oI*u@<5B!bpR|8DJ;=Vc55|Ni?2I6(FSl51Q01w&-O z%npkw(+P*eFTBZGy&R9~`sk4i>ufe5p2-BC1Pc*K&5c`h{SAmr2Jv8-u{RC3t_!82)NG6#Ht^UMPs63?8jv{vdH0(XeP#8;u zzf=NIdK`HYu4_-v4U+b+D819jO{EJ*1-X92{#C|Qw|arBqK0li@j4?LJGb673y7xM zp?UAf^)evMacDJ)06AI%f#r%IL^>5JbTRRcWpMZpq3OJ>bsBQqVNePJU|FP7-b?|p zA>F33uv*r}KFC%a1FsrMiI;bvbL?lGDE?g2c_TpT8TjU`b8h$lZCinjTlv~4mpXGm`$qplv?+!Z0rNns=T@Bwq9Zn-pn`oWP+)43nv zDVB?Z^5?<&5566%(Nqh=^KgPZg;H&@eAw&Q20Nps>z(UPeeOK&#OB1^lmY#16@HVM z!M~FFdbUwunkgAMO)6n}f%VK}r;A3iAC_Fw3j4vaSJ@n@<7Nz=k3!j>>+UvGwp?eV z@p{LgD3ZfXsII+)XBkHqjCJi{PR;`o{`+WEp|GpJP9L3p7^L`)jf1pLwD=J(~ z8Rv=*OIn(Xw$(#Do|Knv(NfJ9%RCA1d|VsBviTH|Qs51v)He)2GOUkPS6Y&gdPECV z|71UBm-s`Gl;SXQH`|pswBJOG^#4|o-a1my&ipS#{yT>b{uUOQ2f5$aq-T;auNoII z4vOkFPg_b}F^6jo%R4ZdZ+GM9T$PI= zO@$_nb1cvF$)R!*V0T<6ajy|Q=b7kjX2i)Ymc|mJ>?)fi>&%VuAr|zz+T&Cokq$C$ z{pa~0noBry@6d=gA2$bz@35~gCNunV8JNLtT_w&9k@(9&PW|oN1d@CfA6f9v$K32?!vD-Ew!y_ta&eEFCe*j~)L3P^iN@*2dD%5>J7 zI@y7Di?jMukZQo#?>P4duWighO9M*(x%vyvyqi~N@#qIB4c;t|05Eo8NyV!-0BzZ3 zb~f!G{{Tz9#*?1g8Bi3CF9|dY+YmYtjPEb*C4cCHOfIJE;xLwzI1~BRCkQ{y7u&^HL`UW5BYFD z=X8Jrc)SfInwLLXMbbDd@WWMc+n%Z`LeR~&25+^h3=)PwQ8PLNvuiK}0Su{mZx?U3 zB($%})vJ;@k>;X%nT&RBJ{&Xie;#y~vnaLC2i?DI%a4^Z_vR?T;dWP=J7C@>2+Y}P z3Vw_Fq15;;hk2~U88_=OToS@e&mDg{^Lv}69EYj5Og_mD^{$b4AL*6RbO1vh#bc{84!3kGA5 zYW^34*|cc{;WfAUfPQL+!PZ2vT1*TICCYo`oY=-7C}XO;o6W-NZ{B|Kl}p}+)nt2t ztR~#%H9$v3?gl%v$SNH*slSb}V)?r=IX4Mz%9_;C@1C|xnhoG*fcw#L2uE{q3tyDf zI%dlVyc|ecc8>TqIAOjGY}`XD8HI-G1HbPTf?d1B6QV77(PB;E`YWKtV8@bfc;+yO z;+>!FgzXa{35;gjeI_A;pPGS^y!1r0q2Sw9=d2pW4R@~t|w*KN-B}#4|F_u$H^sRQ<%2Is;;jsg;RpsRyi=4w_7|BYLW7w ztI&O3)$p->>-mdbjSnkfeCX5r0=`-B7maipj-!BT39jOyPQ;U<(!dX7%i`noaVU2N zinFhBT(Jg^m2cR)h2kl_y)OI|l;n45IaaRB8gj8<^jruoPlsiyvL~Y6nO|Yv6!@+t0S8e(c}x%lC}}Vk5SlYO^9^PXTmBDtU@I!o9p> zE4_>%st`FJC8&BbKTYoKcJVunS@LPnonra0RBcON_b{aURnKT(CY2T}i05R?8qguSvJi0+i#$^Mr(Qr_@?-Sf)Yc)~ZRu&y zZa$Po-|=9e#D|^$?&+k*!^aBuFH{*uxAN1DbUekKsYmS^O=lFlOwNUtFFXa8%P(gu zR1;=2pD~Lv0p^!m2&%!sN&@)#)tSI|!`XL}MOzINpoU-P$!9kmpfTSNaA`wY&+`-=$ zZ{u9?QN=~Wq73*kgdxN>?*#-JZCh|x)l_Rv221)O1zw}J4e39RzTiesSfn|$oaET< z{rRax3J?nS(HoerA>32(uKOKfL5jj-if9rOf#W;OCjtJ{-uq0{M#6o8#0-MMOqCN1 zK5dV3uTmij&aeH^69y#D&^uA}P^i}C=tED>79hn}>ntt~?=1gE&LMMNZ%PrkNo_ai z0AEP*K!!pB!%gliZqJ1}{C{M?mNvX?l;(buv)@YzqCa2qJ60coPEp)vx;$xg`gpzO zj7@uzk-x4kESz${TZ^V(5Dd+fni1*b{t}GtUn7ACQM;c-%n#tathpWA zLP6EDel2K5f(gf$)dNW8k%baKD5aOzW!A@pbkGimTw&}MMesE`Pc(?(AcvH1tAgl9 zJ~F2Oz%j|>dnrH=0dgYZiy#cf>5ka#LCRlU2Nq0Cs5WZ+Q&v(dYatPX0Q1~}xtC)k zpJLqAWJ5!v|9JCWfZECDR}kDIc#a_>5{uB~gGAyzFy;bhQ3s+M+h17SWp-O{uwX1v zVO;{h~3L6W7ERAkswm_F`daeUf7cEvs^PnC7e1+ng_~k#vN!!8*ddwGe zy0$v*ityI$Jy1-B3Rz{WY;c+>fm8+V4z-q;w)?a?wmCwK5ucHNZrgy`O_p!$r@cS* z#X!@XkreZg=w&{S_5xVJz{5?8FysbQe!oOk|ZArDya zljay#BmvrV&I=3w+(Q%GnPeF*g8n`q7!j?<18y40y(4$Z2&)RBJnwoo_UCeDqBTH^ zf`&=$w>N%@#|t>IN=@w**9t$%#!G}lj5egW_d&m?fz4<>>ZRkx3t>e8oN+dSRqZqm zsO`M6+p|~~5v6|PU&sM%g}5FzUb{XYAIW(>@#kTUM4Qm|UGB|JE}~i_PHm!#(mej* z@89Cyuq;Ff+mgLN|9e&du~VY+`8CMM0M5tT;Z`*0AiWN@_*{G^LkbJ+Kq{bw0sWsP6iS7)TxhGwHfNBU|oXx zK5!Ze=bse*rX;;s%@Pi4c}IWj^UPFy>BGMjSwHz@Zuaj#uWZPo?ACuAHCLMmg7%Nx zaum2eFJf58aMW;?|pMjZxwlpt(qxrGo zM%qrdRirei8sF}i1$_%};0GzbmLO{pV(;&~X8Zby)aS_r5kjO94}whv$^@N=1=vPK zKZQxPp!Y|`nwrVJ7`VH;ml+SCXz^{pbApHC&@+@$lKla(c2JcdghW$qdD!4eqBubO z^yF;VrhBTWX5?Ch#|JgF7zhv{i5rcw+GI_sc}mie<2FP?5lQQWvPT^3UfVVqf}}3C zP<9}^O)!fkoK^eI3evc(7;C!o+6A))F*l0iUX;%sF7bo})=XYfKe}LS>>`@7GP|Da z#2BX=l9L1~1opwfIj)MKgzZi#1kz&hEnl$T~O~l9_TFcC_cqU-8bJWm54d$1kP9^VeAA zXJbzJ^ZY)d=EaB3P7+OLsIm0=Rppbc)gUTK*K!zHEFc$!aKI$=fP=i@zZko|(YX}` z0IGkv{g+zB!Sfr65T){!u(F;OPM(;**R@Cs@SSO19WN)Q$;i$ryw9DNxU3JCN&`#ut+yrF<0rzyxDrE8|UiqN5#FtsJbfOvygN#r{u4IjQG!6&{ zH%c>ZcMu6htVMf}R*wfR(+Zu&YES0XFtTrW~=(HZ77mNHZ`U)42msJ1Y(D--nDUMTt2W z3`kp%1;wEZG8Z?v!Zj%)3HP^vW)(aX0@=xeu^(&Yr0T#NuB)VynKV-4Ty+i)TA z@|IP4umeho8Ig@77-H=l7w@8=LuWK*wUyD)Z-C3t3-MWc&T^bH#Yd8_WW+#BFtKmXR({{Cd$BncnZqi!bUTnOCZu&HhqyGu;|w)Imz6SQ5J zQEx+eefW!!2Knh>h8}IP{&EUqC%_67{Jr`Q$$RMGF9vU$f;muC@qY}OD9}z7^b?`d z&xL17%`by%3s}ye;VjpLj3Rl4!o zRI{WAm64A1hN&ulQ&JwQqpQUg&IY!T4i3tQ{<)+W%;TE&wMySK^}F>1&usFMlj{eP z#l(#Dv*d?HHLmosg#vJ5*O}EYwsN%R8#W?8O=LpITf_v-M-}=mb+BB+a=o@MUwamf z$a%$KVR$&-!+U^hV2MSZP$?h;q+1PGG`=D>mcmA!TVr5qQ1cRPSF4Miw`u^GhqJHI zZ%0$(BQcAPT(WONNr-4mE1!I9_wcNtmIhPsowXM+0~cdhtJ56JG9K^X3EWfAWJE{pi`wtxMFi#?0N@+BV@l6~jez_Q`3J-})E|aK#G=uzPb*_lyay zR&{m6Y!Zj@9WkEI2&F#8nhFJ+LkNu7L@=IahcRNQ6Tq@IIq$M+wpUy9wYns#=fQG^ z3a&(*_an>A6OeyNfvU{))w4Dr@b@Qj!UJUvk0OO)D4f}oHPV@Zoz!j#j7=|6ssHs82p7OZx z2~%Wi7vV>84AB)D73ix|jJgbC&1>WUD48a;V*M2eUHc#Nq>qIxKUvZ%FGAQ)cA9X3 zD~W{5=|HaIDMNAxr*~ttRJC6_s_K`0IK^nq3Mh_#4LPAbm4V{9d=^i(r{`{@u&+WQ zy$;~D8_f7YhFSb}m6f$bouK|`ifsybsk>2T@8z+r*_4rAMLG7HzXp_DRG`kw1*AL) zu%)g;tb?hc5&%m8m~-vbAPBPkoMUOj^h^c_Z>P1}A=22j@G7&A$Bv>r#0gG2o1_Ym z5k~h7K7?p`EcXx7uUS{3M}%;_%Id|*Oz;-sIPOOJIV?POBlI1UfD22sY+|fbB@;e{ zNO@BsL?umY01K`ismoR4lTxe3_sy)DxuQ+0EnF~hSG~G}7N5naE)(RlJ&QUjD}vBg zy|b!hemwh|`;lZ+GFMW+o9xRer5~c9Q^X!O`(l?PF0TRy(9I%pivD}Ex_^1a>5kaV z;6FU-H`JPLE@A7r$W?rUr1rEJV%`Q!QrlRZ3E^2Vo|Fe_F@Zfine;@D8i@Mfospq%*hDm8GQQTZn*7WO?ad7XUe7J9pYhR2o0uT=T$QtHQ2 zZV`9A?^X91W6tWRX~sG{h5pmHCAXYml`?z-E+3+IAbSx@SQGIV@9Y~$2Z`fC3~Fpr zps0bxIXg1>99jd(vOw6nMMfUb!+(NM9muTD07n$4Ry_$3$43$#U08S&X$__VcxLsw z_=Vh=!}m3G>a^j-^`vl88W=!pf&&~)7lk~x2|ZUN0u)Q48z+a%iUsf?9JD^N3PupM z6xEm~6bK}GO8q0L7w_~e&Z1ObU$Z;fg_S`!#jiH90% zSm2_15}=#4*>&hqAVZhc=5GMVEm04LV`%kq{J?q%3Gu#w`RUdfaK2LRApE%VpgxqVZQb3Pd_pIr)V!FRA!5nIcZ`u55=*-FIuEJZK@<9ARp{Vp0#Ow# z)UiU|ZxVVD{1If>;hc(+mzQU@Vyq{IUcoX#f<BVU`M;3}ihs>r3JbWzJ-HF#wq z5zN0nc2{puAWroQZ1p$HulSO^5^jSo+tEI3%E;PGA6s{z*%x;M6g-cl?zCj38m?fK zVf6xc|FL7f){ChW>jb(FcBU(#TTD6bM+-?HmVzFxfp~#`wJn6H7tB&sB2u3q^eZmS zj3841Yz%%0N#@Vgw?Tw~Qi65z-n=iWxsKeN+sF5cqd^tMfF2e?VC6U%GNlOR^cr5C0TOu z>pQ2ppS}@d;ZD2?Pn_i%qyr!$l1`VFp0F@_!eqh)8cMKCJvR&0xR2sX1^G;loL9u^ z_z?-T%BB?Av@3l4ZA|3Z7icy}0K}!!9oomFvziocLhyK2b9Z4d3h~5P69EuG>TC$G#iufGsY-V#i=I>b> z&yIzs)6g1i^ak8Bj?-Y?9nbX&5;9CPG985=Izna?WTvURCuw!l@Jv9~4Diuu{~p(H z#@_y+#aFr6r$m34HH_WwE2X4*)!+o| zI$DfAT?!yh|H&3Tr%}pY6oz+~6v_$nAxGd7S=YxLq!bvT(9?ESFPS$0BRgP4`#->jFW12(NS1#HO}YVaBl@ku*A zDa8!x;H)zZ=TO=km7s108p-Bc?4NaHIkLLvpXo-fL7gJ#ffS^Q-Px zY2;UHMG%zB8RgQaIY*~M>4Pj1qFP$G1ciYP!_x=*wczrhiKMP~;`PtzEAB0=+b6^u zDNosy^qKc}SVbpow9+1lq(?A%X1L1bI5O zlO=Q1B~lDM*&~089(L`8ad__|*gIVAXS?tkk4-+rtM$x>Cdy|}jDHa|0k}Zl#s81- zTC8-}1%)@va!E3<6P|q3j)nfsWgHigHN197uU?ZK*{+dGcSKRBw2YNi+sxrN;xA@R zNVMT{Ory9}joEGzNXf=x-TFnB`+T{Mq3NZDtsl%O8N)*?8K7$Ltrn13I@;zm*N>@R zCWf)NubLgY9vB-I&e~{R^D@{Ya9n6iMz!;7z61P(R`7a?R9=ueg<}FkEe0pG#`Y@# zPCt@yaq%^rbqhvPJV5_P8!xRj27RM%L&ev zru-ZpL`{a2KXjy|&M7sJ$S6kY1wX>Z_vMZc3-m~f6SDQ3z=>F)@JS-n+5QLu8*fYiezK&T4AE1b@#1-EtsZp@LbU_u1UKl6Z~R#)DguHxv36G!CBhzt2ZSP~GBNc87GZttb_a?#JJB)3n5bHEBQNDEnHkr^ zK>AeAd!RH4@wsj#cs?|66!B@)@(b~RXeE!3sJ_4%1UcFp`JKn!LfvQhN6pQ;wpc1t zSjC7bHB(?-OQq?Qi2q-BCUdlMppj1%WXSY{mU5vU#RKpKVBNf~R}0~*$%TxzJ1G&2SGSSv00 zAo2Xf`l22nIDDZzG)k03SfzL*UB7VT4M6tax~oPetR+Qp?-|sjYo*=IBL55;hW~0{ z*p$6t1a6k{!e5MLBKq3si=YrLC<8s zLqt>qU0ByOqi;s2C(VD}N-0lLz7$wHhE}9g2A+X_t=HqvK=uGyM54H}0CW?nfvvD& zp8YR7KJ@XKqoq0dT3urgt{=s-(Yehzt&3UhfhrqHG7ydU1GX!IPCay3)z&qyGm7{3 zclOV}9|_(zYVZkcpxmr+f1s;j=rH|pdS0sfb4>8s!vI>ZkA17`-JNL)MFaQhZq0b& zW=3lM>6q%AlrO|{0vwNM*$}MtJG2Wr!x_(+&LbCdr?FB1hKCuMca6CF`9G%6q48UV z5t0+;{R>{(zMfHn({%~%-#$qxDdu`<=Ja#>QI~)Cwz4^KrXtJjWYWBH4-<#?8)Eht z`gFFwF+$Y6HW8bXeEi``{sc(rWW2+wy|m-6tz*walejst|} zr6L~DXXW*DcW1DINpkj4GQeO#xpgJ^!-TPY65C=NZ?vpOzp}H|njRvq!w>~(;M{bo z_Hp0N1mgmyjM(QXb6f)mSkqOQ_ZA zG^#eDVE(~n82$uZXt$9pA33qI6HM#YB)j<=Qi~@I{C7F+SH2H_uevGK_QfWGZvmjS zKO3+(kdp1BG<#BJ$^Li@6lDcD+5}i7SaI+)3@}_H_Jw)l? z`corJ%D*k?m!cf}UaAvs!<0zPwn7`XE4uMSn7U59z~W6|s2VU6j4`-GK4iJEYt#*z zID!cudZsaMG>-A9NhC4P6Vkn|Vm+n&a!bo-LBe_Afwsmp?-;E*4 zO(A3%2Oxc32>|o+_fR3x8bo9R+g=$IA~o-fC}19|$?pK~v|kyf(r%qtT_f)nxd)(6 zndu|=ocTu7{$L>i9>+;7mQ?7{68_sJrk&=lk!2r%#xy-TKnmZRF!on&GqamIF>K08 ze!Vv2!D+Wq<5VFA7;rc{adeAGhmmQ~sn@dPmirg1%!k8p7iT_7VPv)#Ud`uE&Uc~` z?f}p+awaw?1sszW?!R@mRFXU(nM<4VNN{Mia`m_9PaOe-bl&~aoSDJk?M4XjcIBh( zziSs%{f;ICh!hF*z={7iaAxxh>N#_F$b>iZo`9I9T7^u|3H1R!0A$B1y_TYEF`R}V zN{=T8CQe0J=(WwIrCLs18BEGAk1>$4i^=);Tt@(cf$hm*0Hw(9y2_jfdp=^df=^{0~9NxgLknw&!YG7M79@}UX(r)YkVGV z?%S8~B~PdbWl+zVj2eHS^4VzO)!xc=LQmY-6w@L$VDK74g&1!<0)+g#qJ}(FjZJJk zEGAhO@xX3B)`JbteGsuqNE|Bs7rfm1s9R%5oG-!{{$MnW6Gz#lC+A=Xef@i~5yiOT zKsrZ~m)eK1ba?Hr(mo~^n&Bfh{ajDjocv;2!<9efrnVD^kuKhx5^sNzi zjqB6zCnJtSP(Xe8V?E295zX8Kvz?{q3)gtPHF7d_{=Zhy#F>v8qR$p_l{SW*H^}qLgJdBrEopIi7(@`H1=lX)r%zd zdt8>bmYea{Xr^=Sr9iTgu#jS!^>|&tS~rV!+oI9C&G&q13&#LIwNd*!cIGO|fW&~# zi8fUL7Uet$RX^Pqp_gEJ$cGr;vo!dR(3*w82-5#$jJi#vhax+uC%?p+&k)`f*L&07Oe4>pMM*?idZt|`&29?ojJ|WwWCoOs8 z^{K#-6{GZv%8a0Y%DATRfa6$G>=Hh7)akOG@80|7%oMv8W;c3t{m^>3-174@du zu0DfBzZfE-qoWnnVmNHGDR`7If6|ZQPp?wFW*Enq1o07!5jm|!x(HNU+WQtnGY1vp z`km82Vz+Lrih&XY2R_71v!-qY-WJSH;Eh&ru4Bq5tNW%aS-G4m#jXJ0MiHrBcEPM~ zQ?RUcL(~xpMO$;HUsOb;@#lHqI$P{EHpqR9Sa0EPT~>yyd%NxwJ$2gvFEU)UL;$NZ zexXeG0G`cVPq(fM{(?K4ZKv5rh4VRUIF}|lcXsK8UQ*6_XJ!6pVGf^-?QpT>I`P-a zK~vHHqH1>HcF+udi?nl}+{8cook;lQar2AerBhcONrh=j2;KEg{kGv(fSF2i*)9H@ z)Rn`o2$sZ}A12Al2)t`t`1juk03*N+Gge(zXi2c|!Fw{IQ)uZ+J5lToU$}#QE?L~g z7!^hAWZ-T4ph6bBuURS60RaIwb_IEq>vyfx9QRY0l4QA;fv9Vb}m?hxl>`AmLV zi{lm?O#GsaYow}RC{7A*=tr`k zLy7YRMP&mLo9Osm&mv(z#Du|}1gWyaeUtb>9m*R#EU!A#wwi+?O1u=M>?_*op%{Z< zsIxRTX5Cl;-_0}A7L!{?2FG8v<#n{bCI)E z&cCW(&{y$4xJMB7yi=&l7)O=zsgynP*WP@ii2Df1U#YkZMu=pH)TXx#EzTC17zTum~YrRnBDJEZ84jG@oe z`);lSws6}O&Qq=~upM#x;^yf->Z>O=4{4nJ{tgFhm_pR+F>vb6=i+v!#vhLtoazIx z3|5z=WxO_ErhR$CA8j)x=>`?qh!}Lo*iDYrO+``CfSKDkpj!Fur*EU&8(|@(wR-Dl zhC}|6!5lWEkef)zkI6DsPBJO-$mY4$^s90B-SRd)<<7@W_|tWHUf zQONU9DPo(u>`Alu8KN9KDU&<*3y_--57C*i=3`FO0$xLop1=pj82(dE0*3BVA011= zCQ0N0>iYQSYh_*DdiF?r-XX<{6$rC0;CvUd7#xk{`2&2DwpkQ#FGm{h^x9j{q7XLkHJ%Z^aL0XKNLv66S_FusANv@>9+jt{`>4LmW@2FDv zCphZmu&i~ClF#pnOQ?s$Z_KNv6f;QZXljXj3H)g)$Z;>7wm1>lg#Sg-D?2|kd~gg( znjACA<9ZAXhTUKMZRMw*W0&mcs(__DHKcoY zeqeOZ>ECgK&MlHC+AzlHDfl=I8grng23^O3>H&f;wo-8^*=$wJpThU5P-vk?v<=o* z$zrJ&u%K|JbKwANnD-M%B7KH*81)pgPj(Q`(o9YA^QveOX!3Do7C0~As!|leprI&( zx|Q(hSj52w=J$G4gOqqfYq%|wvC6q1g>!|$53vkPs|3cB1r+^YZJ60y%jz4UluMI;+wi$(utveLagkiuy7^<^5jF+W<00 z?n(X7q`HVLOaKk?v@X#cVGRObpW11#aUgmWex6E~BU_uifk!ihP%FD6oAQ*Ccp;ts zsi>QF_3O92KOj9t^<3ueozhT6j3X&yn!VdqvqtbuG!Md7$05h4>pJ`p7N$5M#ub~< zM&9j)C*;>9Nj|ApfRQiW<84)g$7~)^5#z`=IaZseIoG$DV%*oLYm{#X9G);66lo2^ z(WRMc_6xzgyto;mX}OT`)(7gXzp}iP_hpb=+X5~d6NEU?7L$$Nbp4cY9-pYkDS(Y$ z_%IZuLekGGHDb}OpkQtEl!d~r&vZ)(Cwwt-b0M3BD_4Z zJ5tzoA;G+D(>`(gc_#p;pM>s@6=OBwT#rL93ru07P?)+qbXQ8#(1$EBCAj82WY`X7 zF@4Apaa)PuU&nZ7!%>T9hnJqsEP*H`eA9T_SLU335zQV+pb-Xg>~>WXKUVCyc)lh! za^wEOByiJoRs$~q);3%$LjX8o>n3KHSOMIb_?f(SwMq>)lSzo!o-+&UL{95ydQ5=`6wCY`NyzJ-+!Wy0HYz|A-VzT zfHgml6ZOrz^j)=nfpkgp&7cgt3Jhzbd!6X}CQZi0;r=y&`6bK@q<9cDJbQ!7eW-(3 z4rhXB`VPqO2`BfS7Y$}+Ru z0K?XE-|BG+=-!9r*1RR#auw$7BGA;^y6c|k#v`MVyW%U~Do~l90xu+C&ek=W9=d@p z7-vDAKNL{qn!g)>bIBj;VML+};GKSj5+>0nZoR<)h$E^%oS$dR_gCiWqX5WVixL_g zM>f7H$KzMR)&6d|DVK8gFwLtI_#_>#Ee|PAN zlJ!hL)fa}4OC^``;>UUK8L}D32Omuh8@=M<1m3(^WZiF@`kTW;DsA@+oJ1F!IGw z%V-^f8T1L=!-_s1TQl-*GErZA&(niYihhWI0*j>LnG+IG=EJ*|McrI&5XSgn5Ze(B!MLbj6A{ z8gv%J#Y+?wu~dZKX430TWN^-th_8z$fcBMmM9-t(>l}2jM^YKV?|Zmq;n=4t@T~l0#Ki16;F6u^ z${ImAFI|pwEoM+u4r3=H%I(^{glef|A)>sR zvS~QBEsDoM7-SW6@XGHuyR_&9zs@HuP0oxGjl(J(QhD;bjc&~Mrj z-N8Ko2chL#I1U%b?ud*UvFxsXLDD?UG~AT^B_}*fFPK#_d|V+TDQ1L8;AngTmeK-q z60+97w1UcG3P&GcDIst`9qVuN&I!_*;SG$x^5XO-ibBqpB_Zh6=W#|Wa4mW%GmfpBlsom|<$TFakzqZ4ZLr zBQ36<=6|e3_;6iJBQ%s4m>Rqrr$JTr6TYpZRT7_57qbLuqy=DUQ+Dw9ZTOjA5EYxG zi>J0HHTkMcR3^DnQ=F$!G^@b07<$qSmIYtNzJ2nPOZXxeWn>$-?gv^v)cqHKMM!qV zvd7>|dy^AM?}E3%8~i>zTiCTtzR-c-5PW#61yC9+xx#ZB1BIYBra*H(gKiyfWjrXc=f0Pc>=v|6o1qo% zdtW}Kd;B?cOiXQ8RWpDKO3kB1dnO<~7jdo;f!!-icAj9On4D&XaZfLWFyy*W2uZVm zb`%nj1RUK#jEXzXQRGhkOv^th(j;EN5xP^`;QG~=2E*HcjK{l|2O`nG^okX*yMq_1 z+C0igFRjpNrxlPig>Gr4dv9&H!IDCT7QNpL&}xlez0*mq&Fn3+vPMOWN++(OH;>Px zokwZ!dj$Gkl8lVyWw|st<~9M;{>H#PzHiQa>Q}qc>*|%jX9` zlzUNx1xfnNOnkIz<&rWbLm?>pU39(#cEtY_B^L0NrRA`I0fC1|1`ze88R&ODA>n}h=-U}XCeWs#dvfUqr&%`%q;b+jY5Q56d_ z%v}M0kF~+(puB}1<9|p^-|J7L9A}H{F0v-GT{;@!1ubo!OW}s%Fyj4sx3*=cD?CVi zDHVt>)U+T{Ok3mD5l-OXG%@J_uUJC!2`KI3L|LR?QyMSybE%;iWqQ`!!k z&>y-pqkv+|H@1gl&_K=`rpho#wCXCT+Vm3d*%R>Bn*5N=<>tEK^6=J)K?$Bf3hxs1 z@vt|8S^Pre!>9%GOA3>#x`be$!ypjYPc;O(3$G%YNnH=qE=7H}ob*CNN38Ql@vhR9 zri)|fmU(cBahCyIDyF#{31fvzRV3`03q{s(rZ7e>X1Xte0C)4 zy>+CW;n9#CJ9m&t9fi6XH4<9~1LYO`S;^B_oIk`h$<4)+nrc-snY?S~jgo-{L`QXgbPdQZL0>L-s*@F0 zl^5#~)Q+_XaH~je2Lo)U)g81=c%Ed;xk(d^(?)VuE#mCxnJR1`D{-PFNjZIl0$-{C zZVj}BHb_+h=py2kxmG+n#S3Jd_3M&Ee<2E-Jr(smQZ%&nTN4H-)+iWupZYpY-!ee*FUS(6~VV zP{1ENpR)TT7e9RMrFSRjqaB>a=*2&!HfzG-jymPwRuT(DT4tw=^$j#{#`Gnl5k*Nh zbH0xi<&kM|S<-v+eR+mBm>|RNB_jSO#EFBHSmfs{Vq^O@z;hCW(a=;q=y_5-M0L@i z$uVFNDNrRW*)MvC)^98hsGjfo&5hW{;R{fV=w`-8QU)Hx>7&yeq0mxSE)B0`mA3a| zg1gc|dap^46cV6Tfq1Bm#@Rf~m{x;?o9g*N)PD(K&;m&zDTk9ny*q1R*ow+hFPk2! z;`MleZl?yCmtu+u?BV@=w1ui|3TtZqNJ>S3ROcf47~uxL(`FGuf1@c(E(rU_OdtUuEN=+ z4lGie%|y@CX@o(GP{rAxS3*{4)I_?U7RiU4GbpS@=*5gNAwn!gLM z4#V*~y7KtRu3$`G4zVN`t}dA=g-Z|5~E-kTg3LZTD{ zX=Bb^(@wEDoJR5-IUyao^LBHta6G9P-k)xwyI671F8SM^k7_>4O>Uy0WjJEN${ z!jw6yhp48xtv_A#EqW5h{>Cg}r~7;btFasQs4T|jD&H#a!GuucVXlz%?7{@Yj8!qP zY2v(2tQL2#RnaBBs%FdaLz>g;1)n-Y*FA>pJ@D=K9D+E)O?@!-N>jb!m@ZJZ{G_QkZS6=L>lYPYI88}1%IGE5&Jw|T>i})nn z;2KV#2xy*}BRWij27EtvR)TNclozbjS$bS6LP~Rl^jNbjUeSs1^zkRFxGa`}2-GgB zco?D3z9NZ9m&YY<>|0K?-|BYfNVv?LL!5OS2RgyjR#7N%{_fOF3)oiliCFPIDG zP}^`euk^-@n3YP}my*y8KYQ=C6YQI`y&6pU=;#&ml#Ky zmbaMWc)K)!MZFVEB(;5`aLp5$f{ zu(sf*dAKn+cemFN^f~{L83xRg9*v<~3b^KBTW(V&XFOlhQGn@ZcYpxJUu4iijWh`i zH_h216jRe{x|bylNK5@iF@>UA9pwGTZ=4a7-3t0EwA$YnM$5eyn%E6Eskr|Uj zkrwp$1(aUYBr7J>u3?g)Yci*XT(~#81ebT}ZMgy92@tu^LB;OVaT7BcM&L1=^UE#& z9G9V)kH>*=@Diir_^f?+MIJsj_|q&IUi4I#6UC*=og=k|w^#Ys9s*r<_34RZNKmA9 z5(6ltvS(EW*c#0<_KPs!6ySK_1i+jll{(OL?+`T(PpDS|-2MM1hM}n3(CSfub%s=B zgKEczw}DXV(k7NjJCKe)DvC#EuXxB;jO-*0z?EywM|+%@8R<=Mt6g5WM>hG#UsrhUT_6H~giFWCTrmB5=D9G!Y()Vh z4xmYyhttHv5Ch*{Y&1;Z_$dc5OzW*ITrNuu78Faj(1AF@FVXkA;;}3a%iznUI!rQQn0DSvhMAYEQmuNQaM*vRH>TqRtC?l>hl02u|56aKK7R z9+OqdfTd(rKY}eyhc)usVxlsJh=>|K7_&MXI*+?r=Yit{Qp8EPq_*E>^0!>ww;f(I zXux=%)lk}c&}HgJDq^r@^NohgEpy^2Mu0ZgG#EHQ1b>O1p}BPN(JhN?SX*dQt9W6x3!78z&Qic)?Ipz@@$ z&kIVrtb~);B+i^0qjtsUq!yO235L$W(<8=>$6+2q(xs;KrzWx9q0I(kaSXLvRHSzx z$iX%Sj<_-e+UL6vpwQ?XDe@$x9Z=lIr%H+SD;yla#>fWG5*N_3m6g}&1R9lKUl)uO z2T$_H5Rg&${tc>%f(u|pHO82NzXzfXjn__~Yc)1*O3VDYzh5gHY>ItHM-oESxqm1F zLLWrwVw3f>gU~WGsGPp1gPh5&f)IUu;DvxA+RjFf5?MRYt3d#H$u`MyYswpeOBH=| z{O4a18%-==u~7hBZZMVE)n9x{v8LF656m9_Qw#aslyIS!WrE_BkpDu!10#R754Mt; zIRL4*{^YU+54mMoPbhBI(kIe_5X-IOrC$mCA(eCe%hYO_=1^{Xa>4`k>Kd&qgJBnl zd(aRvg7}!+&tLB}B7f8_rS@w%lZPdbO6>-ukAe=l;F)_lAi1Ip_B)e<==gi3w%&1^ z)-QjCga9A{5&wPZ3W1W&_|?eVA?~f`jel8m2R^6t{?lQMM^js2CZpNeREx!QJF@Su zES|?bhQCv&6{ic_m#-y8vBhe#E%=j94BpnSHj)gCGTEz72zvWo=hiunwyYig(sdg0 zC+d$U%9susCldQcpuab;xfqQJn5Ju7rU9T)-Cl}DiZm|?RFF!$ev!V-g_JgN6Y~~* z9G{kzJ;1OK2H1IrX2nb5qLhw8K3lbv7Nkt2H_~QPJikZT;5#F)WyZ%P%qeU>$+gMa z9#iLRZ+EWq@3@-u5^WEgTLQ=zUa24K)dN2uHPio(xJ-z`txMHy->w5(120B@VK6FIVD)c~hu0=mb<>Ygr8}Mf5qfKvh0JY>;oH4pENa zzWUZ;5V}LzTqxhci6MnlvbOzD--rTD;mPc9BedJM|JTpxD~G^qHE~oHea1P#=PM6& zY#v-na~PT&k{^nVF=a#8;p31N;PG0MO5TS)^uaFifGrCUb8sltKez6_3)lY#$`mMF z4Sxb>*VD>Np79q|WUps$P5=&NLb%b=wTR;v=Ic@ooi+$83>M%sT&yHpNEjhy{;EqH zrqc{@ zC}$QZ;`!RVu1k5j?2!g|!1{u&q33_0d^@!`^=BkvzHs{K1$N6#PDJ$8(WDlL}jQe^5U48K1>DOA;&cJWVMo4z7xr5fpGK@pl1fwU(YoGKR zBSE^rHHaqihX}F+=fgKsq;V?#uLc(vq?yg`nBK#wl`}ms|Hpt^bH)G}4OKVTpiVQ# zI-}S}T}$d@&UP0E4$?X7A*!oqS2<)u8unsos*Ip+gH+LlLt5Qp?Dg4Qo0}GX>-)4O zR;T}>SC+5t_Da26vajPJb%->c7=Mt}N$b3ZSo3Qc=0q*PENru_Y#cBsMCd?ZgRG0M}ypT z<60z0BN{2w`{esj7{6n+zy-!LxD?PWBTUBpkdHtN2T3Q!pt0 z6eD4;(H~0b5}Fm9XmKX?RdSQ&t~^e-x|j-(n|o70x3Z`}O~j8uO`|Bq3|s$nv3Leb z9rQ!Cc}7w09rZ z%6;lExm^j}1v*{t64ky>qK9#93+3${g<^U1hs@MT1IxeUZM zkemD!1A-K1%hB!GBB9L4cZ=JFjs|#K+p3lL$o0@h=UEMM-G9j(4Ud1x9c<;wDuV$v z82Koe{#wF$d^2DV0rc(rsny%A6M0=h>Wx#6~sosjWV;28P5Y=9hR#+Eaor7V6%f$bGH7% z-96YbFkfG*)DTIp8T%R|8-BII8@y*~M z8=QOhcqYQ&D`0*_^Wey_vMWH_J0pspn2{1_a$+Q5U^ zZk)|ECq4Whe;AkU+DsC8yUyze_4bAtVtOoUo5_)Nj82jOqMVp&UlCm_D?1r6;I)|O zu~TM{er^pK(qZ&1fA{CcV`{NS)teZ3IaL9`5uH2%`4qs4bb{rcQ@#89ftMgqP2 zcSS5)Ugsu;&zSR5ZHybNEj44Z*8T1t=TpAkjJujPr`t>&_6cmZ)4;;JZqlxWS1ovE z(e58j6Wvn0`D>1A4+(02xV^(|JP9bEK*f_5ELy1$MCKi_WaPb)wM+UU6UGM@MLweI zDlW%c+cPsn9~Z9<`wqX!+r`9?Vy{w?HCXEsjz%u4XL8OqwP=2UY`!y0=`GzFA3g44 z673h&P=5dK-31V@7lh7g8RBK8cBdrR+SnEt!=I+q8x@YSgeX#B-tD>kwjU*zpi*M5 z{xvyBBLvin%g2^_1niUK5W6uR(*tVpM3cY971J=EM~_^~DY@jBbSqttC;@c{>{G9V zrn*Q;{S>}CwiuP6IpMVaf}CleYf+>VZ3L5ey8992z&aa5cGQy<>V}u-$vWZ=f|uJS zGk>qlvRQR9)IMw3j{$4o2gL>WtUj8FO+rCXEd~l8v+{=V`XcK%_hJ7)GmK89l5Q0u zM!H`(Xh-PQL6+>ZMA!xiU5e%=tpi3eCfdBE{O)*>* z>`5uT5RFa!Tbv>8Ux}9%`pTbdIy$_s7(X^Jl`?f?PC$}^8}X9kU{=NF`U2MBJ}wgb z*qzyKeV}X-dVB9wWZ8p|6|LW`LPAbdyYs%!KU||)G3*Vf7pGe&IAw`>jA0ZRs42+ek0Ai? z9&tUB_8A5fGE;Sca3&5#BDrZ;``?{s<`)OEPWIn;o5MVs^r;xsDtem5+u4C9(>Vb> z4F_J^G%KfiP@K8q_Ol=#A2MR zoaVZI_wHZ5P~8MSdYF%M0=OLps~BNLhVzX6{&t69Pq=dOvB>ATXhhRhxaF``8TNU$ z;- zW*Lf@*~r;;ZYzfYvk!k%M$#ep*~L%SDLlHi8&4D=hQaxTegntiPmQ9O-M?@;;m#Ce z;d~jf7VFIh@zKkZ$PZB`>2_^I@O7_1U@x-_xvD2{9UbGJ^H-hovX~C^N-+_^wdgsi z4PjuA5$W{xJ0Tw;;F#)ob7EAeCDD$F{YJ#Z`0r%`CD0m*eUTwv27K}r^P(a~4F3R# zP-H)BY)-WJI!Jgn2r|B_mN4()Dq~Mi_MTbnpiaFqBP~Y41%ol@W1__9zyP;7)JO?A1l>p21 zI^{OZt^#SV1y{9S8XC@Z1eG-c=v8p$16@pK;^6>pH0!VBry7+AlbijGZl-Y8j4;G& z((SFajzf{#$!tzXbc=d86*2o9OFwZGKFMhGqYoVffZea$?kwYHn$w4Q{*Jod6H9FQ zB2M)jEG|)hLpV$xdb;xw(x3&Z;kuLO9w3EUz&o~md;Bbx5C_i8;crH@L&-D6H%wX` z)72`p^G8YQw{PNSB7C%qP2^nGW#4_eMu}dL?6)>&WUUVJo;T?b7ykRHomD4Rb=?RY zjx04KcO6t)u@cHtsY6FZGV)na4-&i(>p&KVEjjtk+&sFY?fvF{ibr3{_pOlA-J zv@pY^gTh`IjAqR2VqGHg8I;Olre>s7s>l83i)f%IAQ>q36qyxVDlVBag25ODvIR5D z2k(i{lnUeyVUJ1uTRxmiNo;G+X($Cm!u}6U@0>6PiZg#OjffSNiQAE^8|){+-&v`H ze&!{IAA%L`+~fcvZx7LXaR#qVh7PmW?OLQZ%bB0iSv2n}4-9<}{~pB9fl~%SAE&n* zF$4v^KN^OMX>@*Q8ztdoQ+vogq%St=(cd-Cik|vICXxE?!7BQMJCH}W)q1Vpl#Y}e zKsythQaY1E_l;ikNCrF>aMw(&a$LaTGMr0$6$49LEV~k4!I|K;9-%^^p>vBoP*~I= zTlKeq*i!ZGzC|x$gJOCD2Ks@DPq3Cr=FaH>+$3wkvf-k(;8IdP6Q>D?{RUOt8mNYN zRe(QaqJ+V^qGO|DoyY&B^plGR?ekh50^J1#Z+}NgE)=52FW(a}iSizKCv({q#Mq1B zS@J*pQBcY;A)7!C%Ua|{4?rHanLfy>)=CYT6ZBD7{#qx1BhAEvtLs1{@=o9SLeWc2OS8O2lzqHmNLa$GJ_7d zrY$+-cKu3ABr5+>AV14_EL*&AWc_H@9taw!6kLresA$_DEMPJXfY(`)qP^OOh|;vJ zkmFx);FhD5@#+-+cc-ylN-&uPRldsT3j?gKTQ(_N0oKFu#@CPj-{HTt*@YJwV4FyA zWzX8rAZr%*nG%Ix0TVk|B-IPuS^qK`h$2kEW-XX|d>kF&(*=x4Z&T#rGk)DqEieG{ z0Eo(Nkp7Lmhxn4CGDmDg)n|4ImQBlsq>EWM?l6^{g3KTr+q^HSSf}q~Y-uag816NFh5Qdr7m-HQVONF^!Tffa=D{9Rx=+dd%_bS9jRG#J zp};|Ia&$$K_HuXZ*D@ov79z0=r2UAta25ew%BPp|3tm4I- zOJ_2g5PDiPKvp#Z)#^o({%k^A9G_B65GW|4%W)*-^-v;Jn;zNYqz!36h-n{OB&*$@ zyfeAK96DX?bCVnR++yVB4EJ(0=_Vw8$Yj za`cSR=D9|mJo*Gfh&zYEk-hd*t2Yy!ACH(z5oQREz8M*jzI$L~$gH1ZLuU{?6oJyu zt4jXh>(_5$^0TUoJ!`%CXRCCI?f^80o_bLJ+r9AP(YIm-@tAGT>QJNhE61k<5O-IB zp#XPgEv>R|JxdF)54m@qzeNBE`ltdXUkeE#8k!RzxxvV5R^fS`M~$>yzRCj#K@-RG zyUbMKZCH0bTm2o7*E(0EtZ@m_@Dy)WqK|{ib(pc&?CZGzh)^@RfUL3CfGzSIm{Fs! zELyR>62pq7?3t=LwzbGa^)b~TY)V_PGpAS;KNI9qs3&!2ggH;~iTB1QdI;By?U*n~ zPn|=P8UErbFAtXI4p>C0feig}UxNfvqKVfW5DNvAXlUd@SmcfHlG9&oEnN0sryUaN z4r%5vS&BOKrfeC#Wxr~~<-B+-w6v#|c+UChnxa+RHBPkSF_bq`5Tm-~V`pptOaD!k z6x7zExBF3|>0#d=?Q+*Bge8e9B^NycrpI**)&2GILA;u*PBzXiKJXIOT6?h>iRKSqWti8 z0jwQ@-62Oi26qIVMPf&WL{oghW#uMFd4qH~Q{?!P!#Rp`9^hS4Zq277SIlr}jZ6H# zHo5go*TSXE^ zR2ybT0ty-Twuh-j&!k6r- z;TsPbrJq9XUY7fb_#5%XHossuyNg(zW`D+dHNjGNm*YmjETAsAGaEfeuw{=#JsU~2 z)W`_u&#D|*MF5Wf7YJjLrCh&uSwk+F|6u*aXG?*9xz69TP{hU|d?s^!+`^a9nI zPk-hD-1_k`J>SXh5ir&0D?$SpBB;vsNVogI7)r$gC!d#4K6&2UUu*0Z$+PcQpBB;_ zRzjc>8*Ql>r&z%D)?}v2kc#m1+g`lW961bE}#^^noK~E2l`CB48y(J)Xkyi`pPqf z+G!2QSK_Rn21|X|3DQovY1G3@&Q4gDNX>+q5%w0F;sw9~e2$KH+v>26GCN;!xc)U~ z75Oq$b0KNrY!S4@)tiC=>mu>^(N~w6hb<}!?NKlS+s`XzVr_Eks00QZbj8}{-R3%p~)>4ToXl?2i20!K_$7E2gD{L?WW?v&uPSqadirH#dv0 zab%G4|04OA4uc#pLSIta43vgKY!CD36C75kp^2Tk#Gi~e|BW$6h}z&qHH@v~eOGr6 z@&kcv71reHkgb2!r!XH~+-oEi77dQmn@_;gvP#>v_5il=S@Loi}X=8M6eKUlm40K;OUG{`w2zvyyOYhP#ObQ8x1r6BxA+$)f_TO2qQC!l+Z_FH3H$Lis|? z+EA{KV49Hdn450!e{yJXOb}6x4w3wOKIW=@L%b2BD+OM};NBeGIYc&+w4GIJ$`1CQ zcUboKS#$o?mZfVjX(bhfgol0aHrd%GLgh>X$a49w$h^fEWmU520u71z`Mi(N=i&*D zE~eA&UgD%m3Um;>Ut9TI&h0@A>@!}V3?FA$L1!5&u7SiY9LpE<`lyK^+dQ`lpjv1l zp*2YTtAN3p_kl#texe+_-6jJm+-{Bhx+?GZ{V!vX7R6n}2naKO%aF)@V8~`e(vr0= zSp?c~>*zp|C(N^X8XqB(s1$mYUmAf?`uUt-%VA9RamqjXtTb%E>gSz8p)c{_6PCXo z8{Lu^EdYhu3ThY{+V3>`iI58#ojIhdJbRzOYiQNP1VDG(sr`_HOhxK%>)UJ z)o8ou3Yecq3t*px*54Q0dJ>xBSA^=fyAO#IDBkV7Uj zlyXf_O)g;L-QuGq{N0Cz@z?LRY^lr zJCwL{0ZS>mfM#z;#k{8)iVc$4hb;2XUZ-E}Tyn!Ncl#%y*db_du!q0JTSE+jqjXM^ z23d5IRSAL`m+oDpLq3RE1Ui-Ov!BEY`}@wgKMB_Lwsh%096~&qN8aoOV9+F{^8GA6 z;+U}lgfhpKO_GdD-K(?HhZ7-a(1$wv2&1xe7suFZo^keGwa1C4sYN`k`w$bO-1(r) za4Xu(sCakj5eHc1>l)QGTC_DEZrdoj*MF|{2&Tl*el{~tkQ_kb6&(6obL>eDhs(LDAaz9W0bB$=*yRcXI#XzsG+W+ z*2uh~z*^#ac&WGByOj@$kDswnCvz$DZJyQ6d#x21P>c*-}PnH?cyi{JGskZJwO zFzMU;_F(>u2GJPv^RLCAvQONMwW+LUf_DXTctTt`XOXmqVXmUc1tdip(Jg`!_S#i$ zCq|iSTJ8htSbEmu%WIOh9IZr*ZU=OfF}nI$14OW~B%u$Q;Shujyn-B?Zx)+?79b&Y zLT)ef`#e3}lYKyUCjZJOPc}_!j9oX@5`m~~vLAZTTBaG?0 z^W1E0WEE|EWD%Z*W3r1huR z@cO6iH@7b$13&tzOjQut85Le;(E4YyBa0v`B??wqq(T$#KaB0?Q;11#Z6q0#JA{|t zEuGAqKTtBx+?;}7cFM0&pdcZmNGOEAi~QVEYw~wJvwT3dz8mwAc%J|Y+x)>0+HO+KXj1j=Pph&~)=X$MjDZ4_5*ceaB((Z;|^q&wkyT z!V;;D2T^5eY{7PlZnFv&VlI1Edi_T%#il6YsCrbvu!={H3G4S-ev^13eF zLAb(o0Ma>G(E`R(&4Az@$FpGT@V zc4kVQJ&FMjd{ZNODA?eCyM65hTDdU#2P$l$=WIyPuTVna+@~pSzGzZNZYS4*CiipdCfb_hy#Z>?FFQ+IfGH;U zO`|P(pNnW^^Ud>+fijZ%OO#i4ueyC3i;}&AAQqk`21|wUnXP5wpAH!HeoMF(;+|kx zS$hVbI0tFXw2WSbSq?sWqSmQsyUho@a;;EN-d;1l_-gs!b1+CX5NELF^9nEoSkV4( z+hWLx-JLRqkt#FYg}=_K@!2$Rfob!dgbxRMA27mogz^!z8CH_c#&V{7JPVhMrwf70 z@+q%}6Paazb_hk0U*p5-z3(D;Wh!|He0J=kr3g~4YDFAbqaB;aq1%0M?Vd@x$CdjGj3`g_AsCu^b8h^_n7n5{kJ3vG<4h~S}J7C&Viq$ z&<7$qka8-I=npth@sjdBV;9z8^qqKgWWB!3{juX>kP5OMqbmt)bbahhuqN0}wQ#JM zxFeTPf2i4XLX@!3WdyF=6!S&WRj>y$6QI*phFY`Nx)K8*TzV66gK`!`4-1cZ`l|UF z+GFC_F$^UR@IKC7gtXzOan)-Ih3~+*VAk`mdFY(~Wx> zct8OIUX0zeOf1KVq&ZVP)FsPoTJu7t3Y`2h>|x$cm{0G+lmp^mitIk zXuIAvy-!0@&#hana>1f(5PxUSdH$@m{7V^_vtZ0};!dBgL0qcE`IbFQ<#;%SMx1Gt zVClF9Pbt3NB{x&l{D5rg^$dZUO+1_e{G1br1D}qxYS&^u)$S$+z4-3WJB9cr`4a|# zAN`tx-uy~n>R6?vI#yLa9*>SFOYyLtmpa?UaEMrf&GSVVO4sCTW?n=lnZq>Smj{1I zCO_3d+=;U7MeM$vg;{Kaw$`@Yigv_*xZguK&D;eZaOuN_>kdZyWSgy2*lb=&krd^T zDhd-om%kq3i1QioeFe7ta7fXIj1mTSzS_=I@~;lMp;Lc zl#mPTC=>bpfku>Blp_nO>!?;q)UNy%NuRz|zl&ux3D<$Hmo*y;6`#DL+ zbAb#I-hdGn@oK0Yp_Gwie{`;%v)^@S_1e|BM1~`3n`&alKCl#LZ>^3-DeqZv{r4W} z@8?Qy)dTLswC^bnbV`VrHJJB~P;z?QH}tUH@4rqYHFk1%)Z|D%@f)e~k8(wNUs# zXy;fPW|8_tkARmTwe{-qVr?guF5AcbCPl;#7fs)R<%YXVr%B5wiaDaGXM^0Iz6Ik+ zpq)90e^$fJrlCEoQ$e`d-MYjZt*kR0T3}(7)=~CLH?L#c{>;!>a$?ZD+dQW_@=yGq zE1E+*vCAUE=>oL^k(BI~Wb)B*XV8Ii`%--1g97Iyr7&;alCUREY`EMFtB9+ewrawV zdA2GX_Rw)6fiJE^-?P4r`cn`g+UdEu@V#)C@~BQANhn#<{7IV7%Pt7I@+ z@?g@6pP0mWFCg_9LeA(@dkG~smUH${b0K)QBX+3Lu~u8&T{7tjf>X$B;-NG~o3Zlr zYwfz_27fJMf@47VLf8wzhLj}fXa%CeIGDn$@?g2y1D#*`X1Y9#%}s-afS-=S0ng%k zI*}E#Q_ulI7rTclca1lAx$|jb4S%OjZc+ELqPBTeGoE36lfVlqDG~<@1wT?-%-tp!UcYHw-T8 zl>9JVQzrX}Z#rVjGMl#o(X@RV_EU#lg^oX^NK7i= z``0;H)9C8_5R(|-TInLAH6y6nDh$byo=EbqafQ;MXHbyg=Fv2x)GR3tpk9Y*^|$@P za(ffpH*$g1JOsNlnnO-5zmnYhFjw&OPIZQ%{mgEwht_(=>QxBG$guj(oKM@xcJ)q?X97Z!|0Ms9xS=rTTZmn~1?UU$i_! z8r(=yF)4&IKgM{>{t#n()%kV%EPljIU&=P3%HYMzYI9fu;A5VN>b-WOqpS9YH4*Xx1;{i?b^5#J?GX zS3VtVDIH;!cLDyK2`d-4K)e7uCuIdE+h^UfA3Vc?gQ3Jh41Af$F%RM z%cI&B&O`=9p~?jAtT?llw?j~x*>VCU8{D5&SX3zJ_J~#o&zny1JiCtG4v3-F6PrY7 z)oTm6{BMIBz|5_EZh==uyGIpk+vjs{T=3F z-JoiTP#32}ZeK2MX?WjgT7u`ScZ>8I`l#br5D5i+FDKj4NTuuWgQqT7Y>EYLH(@{tq3uaY6Jxw7eJbIgC_vi%KQ+TeUIbx zc{B0T&?yIlwBk~pK?uq|290ZLDdRTaLL{~Lpm>`YH9!&9HR+jjyR>j$3_PtOZd8;@ zzt|dL(p6q*oAChPG0mbx@W#S|61<07?v|qd$xUn;!l8Tc%w9q7hD6yZRT}MDoY;Ml zPzXfAq~St-Oz2T&TAj^*B-!l;<*CW`0z@0eO2`)K2Y=ViT>SG7^8jF+H+o@OD8$j- z@@s_~c6t_b}hoLzlw5Y*J7R(GcLq0R)oGFrXCJ!=8 za_YPl=@qC!@5r>|I&EiBtN#Kr8z5FSi>qD!dD*M;augr~1jhkXnWo7tU!%%d_P;>I zcV$B!9Hl5W=}CT{op4$pUY5jFlqIMgxe^7t?r8ZxX-Q-TXk8VsI<|xJ7B&N)g6DGw ze+`emRv|eUwN199bFBGr0u}^A(CXv9023*h-lPHjWgF=pSalMVsTP`@Y~ed1pqCF7sH_=W;H)V6;mS7~E-kyJZufD6dxrBXQ5-pW}>X5rDeaZUUr)O=TSH$dqlqQIlA#V)WUHXH_e! z#M4&Wf*&G2&{w~<=6yD?Owmi)D)$RB5&}=Q>8d(!E;kZ*zOxctvxEL27z=~{XotsG zwN8@d3by5SI%rf_FniD#=Jtl^G6*#IU46sA^kjTfN?ZHowR!ytS!P`ZH?{bPSU&xF zb`lns-tpQcEL>!#8r7(B3!{M3C=J@rP7c{hd7b;M?!u9m3%Oao(KFBVYJr;CL8$`- zfR60Sm>%H0I$n3`?MQIMfX2pH%5*Ba_Z5Hkp-Zsb$DVh{QuQ-UFFf)%${rTD%Z(Y_TDFjASS~OOaZa$~--3U4if2z&zp{s0+6E}8&t+BB>27vre z#4=`-8Ca`E$)OB)yrSaHQcvI@Lj#ITIdcB^s=Mrb{b0$l=yAcR9f}#aDXJ5%IXBBE zaUNv*F3X$Cg%IwFjItR9iVb^TBVbc@BoOHVoSGaxvn_$wTMl;+SOWRZZheM@SI0Jm z13O+?ULhKf|Ns3Rn8Rj^TB@Np$Aqh8UDmk*5?}G8z#?J} z1`o6B_xgp&u{39K+)Rgu-S>F!p-@FVy!bLcPh!zJy1Kfy%YubL4gdyo4CYR*d1A=! zCKNHOWTQusqN#Tk=$+`r&irMzaER5 z<$sQ9UH)G!3eZD>G_))o91ldn(Li)%@mMO*pk5F;tlZ6OF^K~YwmE&?JLoXM02XF9 zd3vWs0JF!&PX4Hfhy^G-{AIVlsQ?XCRAVX8S2=h2XzcOnZonvt1SW(Ele;52#1HezmXE} z97G|JxR?lbdCE=wbhjwGET=xsi)>T~mzR$H3WgXVGW{~17AO$lKmY(e)lC6_03Hth)3#b?CWk#p(7JtFU7ha@vnfeKN-{Wa5qOn%EG?rGVBd62cLh8&g}@X z=?~WlY8`%j2v`+?sJ#?J%?q`OH2byTuhgMuQC_`kGL9oBUM`iPO~UUmA^)q5(mG^k-CUjV0x4!RCpr|1)IFYb3+X<;FFDGSjbc=jUr2KIIT?Fgn@)^in*^9t0b& zn`?X6F=C`3Vj@GdI~}+WO{f&eANRIl`x5g+Ii zDJfhN4xYBy=+4R*zG3oV&2dHbU`7#?=Jn(zKW8xo`LrJ!>;m=XQJ36~Zer0#gGn3M zvTgG~8l?f{kEk681pz%U#mz0Zro-bU$Q$K7|M<%-raRIX(>NVi+X&1(I@%*Vj#6ZbP?z!67x;(-oip#^lCt3hmmnOe+uM- zNK~VstMfuZNH~9hy`Vtz7&FRfTP~)!oaGfr*#U#`H%%=`EE)+`CH8Je8ur(;W0@e^ zH1Wc5gpM*K#x@-FNHm$k0A8;u%T=O9WJEPSBcJ(q4Ba%5Y)&xQW5pp1lU4|}@q!5$ zY4C7PRMwMpUhlRAUTD2%SY~&N7Yae-xYELM=D|wr}&*j!4B6DL`E@O@+@pfrxVUjTH*0lH*BgLzANBVsX0AeC?ZGYg~|E@EPUt8l*(DIWVo)XvkPkT zv=0w(2np&s2T-m7^EtM$Kte{N@iG+et9iiA<}HLxUfQCYsSVC{~g+g?A%iD_-l5USh8C<0Gfo&D;W6=f8 zygt^36Dqf>VxXMlv9TAB&;fW!@{@hA5gDxaL~m6`S|+k_E2UA~e*)s5yYJ6q+bZLZQu5ye5T`` zQH&K^%TE-_00T@N%bF0fp_}jXRR2?J>~OSXHPr%MHehV(Hkck7<+!SC9K+o;F+~xe zEXM#nY;177H%4?uDSC%Z*4wzO;l?EZn6a_(HAQBf9XoeXX5B5r~+Oj5X!uMrWa!-N-!Q}}3o4Y1|K z^Kx>k-Y}5)rf;sV{&c1Nm{F#2%Ds+?eZ)$^kNi0|Hd~9HKhK z0s-(T4G#g-t}F7`X7Y9$rMMgO2*m1Fq#)-R z1gw+$`a^0rgAJ#X1tu*?AS-2{pIJm{tRcb=Of^+Gy2hwtqZF#@-MOZ*%YP@W25Sn% zQQ;)_E>Vfgo>l=Ew0a5~#YDQUzUgrqc0J^4LA&dy?G< zUC7=Q3czQ}@xKea;d)td_~92S|emOb@LIgR&ocsMeIjX{u3>o=zr!uVE6)U!R3S*d1EnNY;fY zN?3NDP}2VWZ67f)_13i@*z#{U1HK+aq<#q|yPDt={Bdpm5KQaLfZ55U4VO&)H1c2D zr5jbYhztaBNT-Jsgql53$x!k3T7*H$5eck?n2jj()LP@>(}eUfJ-lYO)yR3C<*}{s z4CzfVYyKg4j%>L3Ynl;qMon~1nmhxY@0lj!-;%9Z${rD%s%MAdMXGiNFBZse+=HQn zJ9q#kKgw)2kGx<1ty48mID3^2cD3+L#^UpQE(w~tTw%L1tFe7A%?Uy^C|xcU?WmW) zl$P1?aisy1pnb&g0V^7);&JD@zVOo!B<$Z&8H>TUkZb11#faa+F^9?P+>O=9FrzR& z)>_K<%QS3lf9|Xm@@W1ggI!h2X!tPQ7>1O@xyJz-qLcB&OIJQToMb|-(S*=9z)o4f zN(+eLJ;4)|?{pkOx9QKx^W^Gav2D>j7Eyya0P1yeRLjI-Pwg0LU_JuF+k(mklC)Bg zI05(*leHMxml$-E)0q`D+?&ujJ4UT%B+#C7c`9P*vt=9Zwa4rg-+5poUVE8{vfJIF zdpcS9Si1UVW(YL*n8sKR{X;Rk&WxiO3-0D`82u02XY_otzuNV>pow^z*Mak!!ZW~u$y~^$SmS7Op`MH-TL@}ST%}M2XuO? zh&2W`KFfyPGt%L4I|qus3GCC(nEl)iErUE7yEDNpnKy9pi%qLQ?!_plr$uj;VlciF z_$nvj{iQ)cwH9UUjDqlgibLsZSk2f9Hccqr?Vtw3Wx&xAtcXHC@ejy{Gwb(KnM7L1 z+=58)SC<4is??x-VC^-WzFK_un$FrNP!~KH{FyLk>ay~JeAFQy|GBIrikYeH1+ewY z@EgL(1+!rY07FaU`IK;Z1=gow2GM{r;shuN;D7)Cz0ey#00ALT004(as*&cozA>$wBf@ZDiHnYhn%TLuS|8AbNL}=O#pB!MB^_6bqN*K#p`^4D zmC39$RedfLAia;4lOR(qsKodWvr~;!hAcZs$1+t7QEKm*SUC0GmPAVEU3(8~uu(Pc z4^jbY0@zYaoA0LF5G9D$GsSMNj3ng$^b)A0z?9g|DmVBJzie> z-Jijz=Rg%bCyO*|3N1R%@W8DxPP1@-I*Wjs_!pe(z&=1bj0*LtvICp{%^_bJ+n8j5 zd_ZdPT1ycv6m@;`arE711rNmXRh!%q%6}RRF8**W6~Bltm!ifR2&kVtwMClqj1r%> z;7J*9NTsg%WsZGhV$MeoJwR0$-eurt(O1#7=0Z`>4c?S|H9Fv&wryvQAG0kq3+&b_ zO~DU`lciaxQ_;JS${=Flye<*xoD-Kd@vC^iAo ziYmxvB5ub`-!n$U$RuCk3fKc7-o_);zLEDmlt$+V7V0>ruqg>#GW&#w4QU`Rf?2pp zS$z!L^3H95^9O!@j@w7P%pRSk?pywxYB%JrWde>Ug#c_VzmPK6*Wg}5GQV4aroBZ> zd0SL(JF6bX*snFmB&@!n4CKb zW&e1PozkD!NMP)+Fkz?&E|f4>;|0WPBV-FSNKjT(-@gP5MRleAsjJYMf%v0szz*Pt zG7e2sZ1K!LMmDx12ruxW+HoZ~kcVUhpLc-R+=lwj$7L(NO=Kftp) zktvW2z_&g&v}3V=9Lm=cRryBb60rwzE|+h?AaMB-$_T?DOm+`FHLp63 zwH^lBfHJHBC<1~20BF6?9>4$rAy5DSA2bEw|M72G^lpKZvd-;0Z5FGR0l}6$rD^({ zXZBr6APqFIIL={uQ(tPeMt5$|3o}hp5H{{QOu}%3s|YhyG1-?!q9lMDw^U@b(xJ5O z*fk7qa>+RJHxA%Mj*eE%8{ZU68m*2+5!&{qv8%(v92%h#f^1+9SegF}9%9R&5U(;7 ztj+PXR|BoCByC8Vl!U5{*K>+GDNnD!GEXoA$N(W32I`Uk005wn000I`?Fwd(q(B8r z5-H&V_y|lJg@~wxixUS0N}uzAe((j;Aka!ZOA6B(AM%%l`O~qodmH6gGhN1|{TV&Oq1v{7 zr5*9xEUEB<{^ExtlusN84XCM%(-6y-DOe~xV0k)58a$lwY5luGZFUkjQT^I}R~61$ zU(X*pA@m!gAH=AO>Z*ct8U-|I_H;tM(9O|-MCf2TTPjF!@%x_H!fn(5w1DJxKn*d5 zOhOS5!0mkAQyvBYh$yu{e9k@BhuUi#R>_rfI+Y8l%zjJ_5ry(}#~6E_GF1vV_H;!K z$f_wd>P1EmCHyF=)RBy-^+|Wqqe0dmS-)6D&85E8c`mPQClUt=38tbivW!9G6;E;! zq)_t&6@RJ}`u=p=2&~nmxh@&K>7UG+fBaf++<%Z|JJ+%*d?uoA`^bBfO(n~o^tVc7 zH4SD3O7xqh@!F3F_8JmnS7<|a!oHlxmPhd%QfPyj>ARWU7 zK$cR41p%=MwJjoIklBGy5>#n-sxqoORA;b)!xm$u$Ea?ItHtter1efK#vb;AqN;-p zCI0)^_PIG4G$uF%0o>+Wlrk0W-zF>5C!Wm@7%&}F0yF2X>J5B!{(fCc%<&g&(_nRb z!mhY^he9L?%IcNnEg>!i13>`6dfmL{+U<*`K+0ZB*@34O`hBStgGJwE+5j}fQ7IC* zX4wvVw=e>M08kskwdn7$Pf$6|164OXv?fO@CTz;9Vjl#4eUM%1`01^OQSedscN98_ zM@p@cRkQIY!wEba?l)fKQ?sA06c47^{_1C3YVP+79DJG6I_1CshC|Zo<*i%~S~o7L zf-?C5K~-lrjDQwRtx-`(m=>?9jltUyu8W2%4)N!mGJ9GiqB`{z*}T)2 z#rC+E02vhu+D5(0^aWkWs4yk3S^YAN0Wbzo5`fVL>Jk6|0HCM<025Pab>JWlf%D)$ z(`B)A{@gn-1Aq}wxQ8)5+KYRKqY@k+=I`gOOa)N5hMnNR3*iRY4?lKiox)X(jAxUAeDsPiWBYEYHvkv$G!4q1cW68a>Pc-4q#q zV2*mi;RYI{9Ye(sUmc<}DJ;g}H)C^-yD$cpge#!QL5IF&UI1XQq^oRf9ZxB3a1!a3 zZHl14bFEv0kAAt+R&p1cx1xia>HnyKRfo=Z?&&AZEM2hl9=A659nYfrwsL5q@n_Xf zYn>`@;Q7xBrx!>a9cTk}$J!>`cTBUyH?1dKe)CH$lCR{N?flIBT*S#zI1ya{TEifs4yV>KFJ(r4Zy8Bg1zi3j8Ov}DyBCmRn`ODR zjJyMX58PU1z66dEh_o>%H|n9~;OFiWzR{c^3X^4qlE+H0P-h)EwRqeslNF$10#a0= zEYf=(Owy0c>~*fWMaa}}{YQt4Wb=Mg!BKR667|LQJ!f&UFp{jJY9lUx3-qqRc;$j4 zC=m?6Ju~vyon&jbfd@B7+T3zd!_Oow zPG3o!{086}xTSw3>y-J3-(bxhzecOE$06;T?mP03MgSoX*O+sEsNnoiRjA^TXs9V! zvlt&yHbvCTZTCCR2mH##po&#B~k!&2PC>J6I-g6BuojrAfk2xhFfM z5}Cezd>>^3@qAA+8E6O)lIp9?n1i8#HE2kJ`%3ZK4aHSCB$l8Vd~H;$QM?(}Y0?LT z3rff(^-Ia;sor=->)q1S33Occ(dE8W`~MJsepxT_AdntnJSI&yIrx9aE}1O`0%beY zL$v2AJuQ~cRpHvOp5+Wa_bqS#ulb}86My16eMfe)!VrYyOZ;Dc##b%YHlqOw5UXGS zHFGO3P_-kCbY5}R{YMe;cq#ik)%s|cBb3~D^O-;;L>bx&0c27u>ysE}_gz+kVv!mr zS8t}~Ky+wL{z?%R7K)dHB-j049k6{dxBbaEs_9Q;n$sDP9w1%q+Yi;GTQu6D3c8%6 zE@(8e*E1A@@h#F01`ae39|}8`F@7PqfvhlsRcykDC^vj+ zx)UNuSXj;yf#ZYlGO7VE4n!W{nR}=|0007lpa1|DXW>NaZDLraX_%PC!s_l8f5f!v$Gg>D^^Wp0E<>U4NdmWy#35o~982 zLYo%jouCfdST`-2khr(QH@+O_5-sTs&1#++R9B=Lhj)>?;JmcPfWf8<48OLbS*W~Vqxg~ zv>IhjAy+eMIn^#Nb}B^<)z3phfZNwdfW)%t)G;I--eL^^X4+NqO4W~s!Ce&_wJKmt z?CpQ1goKzuFyOM+uoJ+C*`-7RRP~G=BES+1(!A2WBNf16kb=g5*9KD8I2}aR6CPnT z2bxLVm~Jn^GL`};45$SdyuHvIKmY+jPyhfmUMa^iehmnkGDCRHtPe=Be4VEBk#L*O zG8;=>P_M7+P|N78TeVN01(M8)_>~g zVVlRy8)^Bw1J&`*M-<}j3JTofXb4J~8XxJu2OiK28QZ?E4$RI9C1ppygV=4~u_R+Nu$(4M-haXmIT? z3M&Q>Kkr}>>E(K$d7{z2? zk0IvP?*xO~l-N8h=NN9Kcj>Z1RyY`#v_L2}U2BpWj6_K)r(r)vpqzasem9YTqf3}H zBp5L1))9JZJ<~F_0WcCs3UKjzs62oG0)n6b02g*{MSQ!niSzj?P^T3WvBBmXmnAJ? zX($n4sUc!SId3VRKSw!zVM4feLJ3__eRP@vkKE!Y3g}|Ffg-Ai$_Q8#GQFl>vmwmC zi@})O=^Zn5Bu`_cKittX($PBhD5DlYL^~EPbsINjIJS>t^Q?ET*^J2o7UazC)^2QF zphrduC79`Fq49M&8sav94!sFjao(pSJ(@gf37%Lcv}f|UR;;)o3X^4qnw&ncrz68M z41(}Q3#9_ppmq&MXwq*uc*!1hyk_e?V>N1n8R*%70RRDtYNftk{T`{9ntA>Wv0=?@Y#(?DcE@@&7fkz4Ipl^vE${J!7M#PS z&0|%yA|V=v*L0#@hCTh=JNk`}ej3Ph3R6Xdy}AY{8@l22KEcChPogA$ueOcV(FG5+ z&wie}x6c}9@0d$-0mf62$n)J+25h%b)}+A8d(1@Iv(;|3IRwQ}7FGn&S6g0eW~@V? zF^@~&m6_55mk$hsVS^e}T3UXy3MXF&8UeU6%>ghLU=G2Nd#F5s00M%b0016mz;u}a z<`^WzZ$)YLTkCA)_Ew_Kne=obvgCiIOQjWKw)F%b)YfuWK8-Cp?Inl)US|HlfeBT4 zcpxdF%VibN3gv4=>*AyXtT7GGEvdzo(?>1eo-{bEMnjHTFWR@*p%pQ{DxJ|$>C5P(pO zJcvUCc4MzrBx{fapE=ETLIe6y9qyZ4)>TX0yS0{%#6gl!9*eM0jzMM0b9KXK4^qd}lqPOp4D-umfUmll-Ey4ZC0Ey~PsGt6wIm{K6+ zkGWn-Xq9FegkrOVk+Q%iwU73NEQ20fI69Hep4X{{L>H#6kgY~?Rs`fJ?~bNJHx;pr zrAP*wsAd8vU6uSA0q7wLlSPginindvr!-@*03a5?mNIVE#~MC|^5}NDJ_U4b&ArQM z#UmY*f<-y-#RDYZGEsu?kOE_bC%#$Z&wpoD=!_injt`0Q~%ov1U0w?Dkk zk}ga(yS!NG3}SMGh=zZn5>l>zb zTKubP&*f~xlaLKAO2RqRl%y$u<_#RY^bFClAzs5!br?mgzc_l<*qtX}CJvix<$-aw5O!sAx7WyfWDVFd9J{(HVQFJAeQJ zf}j8ZDOnAmePT<~Nvf>Rt2JjFWTSSu&EZmf68%lY5R#k9AxhNbvx;CN@-qn*Luc++ z0>Ye9n{{g)(z83iu_TlQ_Dmf8HwVY!uf&E1P8jxo1z;U*sxIUm!-boU;Fq)--qii7HCAFg zCms6uCrGrQ#Ozf%NKg$*_GPBi7IcXOFA1Q$4o0Q+%>z+v+fan;2{c= zRhA6KBq7LXbJ*^t70zUA01Ai{7N!BIhdolinQUe|moi&Lvu9y%$$g$y$Pc~c?-1~< z6z~)np{6vlWfVRpPM35^A}u#R83MgCvI`H>>Y7Ub>we|LoCZ_0atdMam17E&iaIEa@XV{=&|JxYjL@xoD<6iUkBwVw4i*dE1{hqzSnb(r;QimDrTtd4|qjlfYGBE$C`^3_$a? zP=@9SbwJ^F?LW|=6=o9Ro4`7>vGms?*DY^k;n24uXhBo-`gTXc-?}C|wm8yztHCaI zS+?{^uh-O7j|BC*lQqpn;`!=P6g>d*()uli3qG3QnRrvs4Pkx~!L6fknZgkpJ{XEh zgMc#)sn;Y>%)l0h-KQ|u9vOk3d$2ECkkD_mZy;5}Gw+FKc3=%SqJbiz7ex;YJ7ItT zNTp&pNeN`Hl_)1D8#@=0>3X+e&~SPJLMBmVG2AWtlrfm z8uwvcl9#dBGco;~m^vGYfE;cI51J;ZQgE^4nJ)^X)fmRWsG zxsZVsvwj)@m>~+2ZHkn{MG;YF)Uhi>CcbOYzrubrp!M+TtJp5qo)Ktk zQR)>|eWFKcr1uin*C5;nh`G@ehv?W1-p*d0etZoA?EVeuN09}_&`XF#qn|pTHRr#c zK4bR2bHFVHlsQ~`P%86cj%K`*mnL3Bqr^saZR#HFAW|H&`FVW4Ao*D@&WxfDFBL&! z`yJ};yvAGMMTRG$&&PLDt62Cl_>KZ7AYltR89mTQL4W`$tpETLAd)U0#dECIr(%MZ zV^XF<0kv2vd0Y5pkyuB)`H4BKfdY2tLDu8p!^P7Z_T+9Il^{q^gJL*cALUnap<>G& z#HZjW^n6V0lC286Rt98)$DIJbd|rRu7wM!QdbO1i3=+VD$4^s5S85ZmY9X_iVhaXx z^KedA4ojA%39H(|U)CPltOTY}e zF-h+)zuDx8;uaVYDr14Db^A?%-?m^S-DQ1k&N*JYgTlgn!dOrF>%U-hn{e=X&v1aK z&8MtoQm8YrF%Y2X2O!hm*~**lSugLDPyPecY8EmYzC>3sC9N70=fVN8AehuBUG)+N zgX@U1DX^9uBLf9zb8@-fCrAY=?4^==rulP@WF-o#c28j(l@7hUty?qDh(Y0(-6#xl zT^;(TNy~6#Pr$=Zt{_CzK@ud4czO0veKdSxfY%P%6Nez5(d}q=SyUlNg%uI;Zese- zu@e4P2EX%koJ1UO&w{SH+s?JuseQ&(5Ack3=S^VE>deTQ3Bor<%8bFIGT_J|D&sns zcvJGurKV~np1;FZr@f&qK9$}1B!5ObUZ!ES&R(R$iE?r$OLUbA{p(*aI1eHR40|ih z#UM|i#a(s}On*TrJr1>sZ$=04?6t(xL24@$d6Kfl-;J`en4cJutA8a{O`RtqVodH) z2s+HSrj-pUsGj2VF0Os?(lpk&UndeX+cgr>qcnx>V04&FR=(B$%GD?aC3Y!ExPb)) z;h%FKMY87xO9TZD21>=+x%Fl^$qAm;)Rr!plw!=akCH=|(a54M5o|L=V(1D0g?GQ9 zb4=^qIC#2CU5NnN%nUp)7Z~=u^p-VhEbZCIWkjR8Nb6k0QEwCV0`bs%Psx}LxN^m9 zpl6;c=E?@h*b2^U1MRejzb{2{wQlD^Hpwn`HUY(6)0f3%)LP1!Xe3^7wc zE(7vfev){)&|DmIc*x2wdR+hSvIt$c#5z-iW>pE=s_Fzz93nTHT$#6y_IWuZ7UE*0 zU|}`}FbwlxjY;Flw?~Y&8SQ9dt&ULI@tkMFTDC0pB;ysM70vjA zqq65N40+U}++#n)ye+g4F8zIt#bWG99y$U>=7WM58Yb!U_AxE2wc!2sJhFXb-)fY4 z&>9Cx0Jgb(2-zN?uWed{i+nLW^$AIR*mcNZ^q1-cWXSqb%?HB6NW^*XG9`J3^c#Dj zQYW=C)j6^*dwB4QU>29)ajndWqtC8XLSAJRs+r!r1?Ozk6j_`%i}0ptP~)0lkaNb~7DrfB`QruYiVR0JJKrugC)(|Chs{Tx}0c#b^kM z0UFie>^>{dOn;Q4tx*){^E8E1$KSyRb=U%7vTqkAb?yaeea;z&$R-LbEQgVZ^F#=m zvHJ0wZWdn9Nj8F`jL@<4@NrCVqiuRB+QJrzs1zso@JDpJvSMr}l7@uKqt_nKW{D-{ zW5qSCKpaW2O_!GAt0oxIqZ$K{w(TAK15XLKv*3g`b-ZDV#`+mlWaL3?HR3*{MXkx} zZefUWQ8dJ*ARa3XE$>|p;c3Xjr|o^VUQ79&=pf`Hs4dE|>=r5+FfZ0chfxFJ_RuHOUF0HJ zkj^gHaEt#M07~9m=*$R^($zQ%bqK9LI#iiO43rrBZ#bSb{2(KtVC-`GzZg>#w_PF^ zLi$g^zEp8~c1hTc5f_U81nb!Y4OPr%rTA^Q8Y%l@~Z zxKQ0yxzR_nnuJDs8Jg`e_v^tj7IdA4xw|FN&@MALVHw{d^CI=BZ*MsLboOb`YZbK5 z;irB4j&z(-{%q-Bbxj368*LJYk0gSxWWe z>=GYFg5B_?4jQy0KJ#^s4}qKgpL2^%bfo}i6t;<(GELru%CSnLp+J&wwEI@60?-I7 zXVSHOK!g517`Bw==lUa}lP5f{W}o!{^MDe2VNlc5fej`(Wb){GO>+ec5mv6hFb<*P zO_X}sG?Z)D2PY`9H66G*gnX+A&-fb&C)RDz)pXNnT{$ z``4DhtJjnRc)QtL!I7fA(@95oUY6@c^MDM`@EBV%yhdm-soV1mH*F3b20KvNV$%0f z@#}eC&<<>tim>FTGtC%b2NZ<|oZDmis-WAkFYNN)zocSxjpg*Mb7r-J?AN|4 zk?~wvz?b&miR*Aux59ZGPU`o23O-GEdZJs&r)F*P<%?_s5`Hz7x}Di|^{!q?3C-EY za4)+Z3L)rvk6z{>^_E{&6K|?#dJ+Auqg>R=FXE}~hh^#D(*mbT&V#Ws`!s;ZT~B&H z?8g?7e9|XBIN=4OVdF2(0H}D~e`j{qLkbSH)y`K5|A_Y*PUDAa05>TzGIZa;pEPbz zV*NA$)7%wx>tg{Ddtjq*Xq)zknu~XSwRvopNaKWlwNTc*g?oMH48x?11brb#WttDv z_=7-Z*>jWK>mtK_4wgNe^+OVIxDS3SOTQp&c1Nb*gsW6K@Oihp$*kv((t>b zYO!ZR+&P7AXg`=4Y2z@xC0jK9orbD;JYGZ+K6V><4}NF@i_;UuM0nqk86yW95`4f+ zV(I=|LIHdqVIF@x*)Tm;ecyUcHD-Db*AsycsGmZuS{v0JjVO?_!+(t)R(Cc8285%`-x!rr8H=1yBu01dm>aTNlIlRBD}fvy#qL_CaZXWQlLzk zfcfjzXsw#M7{Z4*rvyf13O)6zq9H@HhZpn!@#o4Lb2m*vM3OP`9iqR6-W1?*81&J= zQ37B%47ZCjv586P&iR!wo*|@YDEtnkXW(s7UxM*YY_z+4VNdjxNtl4>!o8@Tc;Y3# zv2?0Rte-H<0L%}5rK`P#wU*b|Hx z5TdWUN~#daVY+apZ0(p(SF9U1Bu!k~k}r5S4v$T$?VWR@C-yV>V-HD-B-b%oSw=)P zt#<`0_OLSkVf%G#&AyG*34QY3bm@6+TKR#!WN>K%`g5C*?P?BM5KSntB#K-Qm?rfC zR?OetaHzF#H1TH4nS%bTunA;%sM;=i7L<#tkWT2H%vdK)?bK=sRnH*&LC6L%J-$nL z^Qq_>lbl@0W~Chh;iSDF)wZUVQ7#^4Y9iXG)ig8S-y1;7cA6VFC2*J~{_8wve0n6n6@Ow63L}Tp%2vkA21@FQG7V@OfN(QcZ zI&M);xs^WBJ{-YV1zNR2O4r;)-X4a-#cE|n$0mpOHX!zJ&Si`OFxYhXki)`Pol6xE zS|?vJt>?&FU?+kplPw4Qg^GQ^gDOku7#H8TeAP_zh^4FSRYJs+CW zZ;8FiZ=GSHhR4r6a>^LI|)3F?BYdd2lG7 z?*yY?Yl5ZFkA7@LAD@2wJ=gWzfbzT#J;ETXW(Lb7wBM&=pkfYE2(en!wVkrr&1EIz zOfK=(3_62yfr7O9RtrOxi9yJW?3yylN9NH;2B+CA2rwkM9qU2+YGPYGNmf~>_D{F{ zlY~6!Sm4hTfIn3n!^~8x!_b~qo@a;ys<>GteMxUUS;T!0fL%ZW_*Ky=b8!cRB`27SE zpFM|}y{X)xWRsJ*!7cKZjwKXR=y)%mu2=PeiIUe;%3qeF-FPDzbD00(a{L1oF@i28 zhTe~-Xx_`R@RBITz0>!4a5>W~4}PrW`&;}2NG+S|jYfs%GMa3Le|uLcmqv5u=8(<@ zVpHee=z-Mo%Zm7g7kBpq!!O#LEFt5%=d4&0C&Z@&p)CE1C3KKARSaB9fcg%5O(cTV&Jf@Kdh6ps-8~{s5 zSPTI~uW{^^4t!5!A}D@gn$pJ4J@UM!AS$PGW9O*vEe>o}eRs2S|GJYYc=utobDF3|0DeZpxqneyV){fr}jW z>5opcTL0Z%{h{wldgb zT{NwBo!h3sVgbY-a5dcS-B?Y8!F0T`a&^T-dxw1dIB#*S9k^%rNI~S@!S*c>-cbo& z@K^(00l9ykj*epYhpVrye3KY87bFn$ny!yJH7rRkkI66Z`}#lcUH|@IL~6T~`WEN3|q=QVngyugMS19j4-$`r}5F zg=b|PDWIyZK$6z1Mq`)3h3nkICf*vuIGV2Sty`(&9prl!KiA<1j5q#n>*txKc+s03c=Q?L|t#P3ZHk;T1j z2t*|ANW0vk`0U?xkI7JmeT>GjAqV6@6Cf|WV^CxaY*W)hF7V@7-(in~2Vf4dYpo;9 z4qcwnX?jXFj|m8ZCUGu`k$lp;T@EqqHt#cW$MC?po0;L%=6>k%*<{<;J2VvjU3_EusD9&%W+gs(? z7~{oPjJn=yw1_#+wjr0y9J)xUz2Nkg&OE@0GwszbnDxZc^nNDauk^l7Pw8DG)sqHt zZQ$qqVb=ELca;O%%kMw5C8!O1D0z|fi;*g(y8APOZv`^ag}?F8B5;sB35etvkLG$M zPpneu&WuP|B^aLl(I<@@*oV;JtLw7RWvduG?ZSNT@LX}Tv*N_0DF*U8pIEo!Lj8u4 zi0JbGwD~taRdEF`Fn5Rjw}z~ILWx-?*gPTkrqFFy9l@+M&2n4skvnb5dHY0(35Kd= zl8q=%z%<;JJT*v=($Ix>1CzQlD8Kw-Mth%T)-?jF1gMm2r{X zgwX`!(Oy0rPJTUtWZpy|(xw22+m|#vw7WtBd+F?KqLBn+&egh7wu=8Oo_aaKo7jXC zBMy?o@Hh{d5g@WhJylM%`4u>c@#H5rfOBL|8Qf_3yxw!OO+c!}^f#7+>{kSQUOTdY z3A6s!N0$AEvjgr_K2gs)N1LNH^z^&Vu+oF8iDbKprdM1$*0*%rCjKAP(`76yP6?2hxUDOd zLJjbDzjl4d@&7MwBVumwoc0}+&Cj_QC13is9Cy7jJLQCA9c7T02(p&>n41)QzgpB+ zD0$4{aO=S@JI0J!qEC?6%p^}C{L+@$nwVnBIRmxAtwanJfZht2*SK8q)UTdmi@9fw z>Gxp$M1Mf+N3-~?pSe|ueW6rjk;LL+qX_5LPv+qC+kqiX0WmLqYrtynNu>?PCzD@b z(|~rP7NiMbD=65)0`Dr;cz)hg{GEcjatY-tp90j> zKc2EmtRQ_FZ0AymY}Pj`tJ24J*cJOpnPfoN+2G7T$7f!3y>I#pt1szib$CmK4h*Sh znnO<+2$G=N)k`#kmbPp z7_Mlq0WaNnbn)?_zeloek+C7go`ZIHp+@XKV)cR2nGCb%u{0X$s>8xr z#W{udQRXyshWs_&?Zd@@aDBue6x6gzxdrnCg(z*uf&>Y5Dm}8er z1q;$3hSjePhfaOsF!Me_Y*$jwJ{Uc8)|dQh+7U?jzDB{VUfV+Stym)UWfFSVwSS(Z zo86r??o#_~ezA4&Gwf%q;EK?}V?~wQhTvNB8B^sw1jcTE1(E6d^;16fpc+l*Q-ZT3 zKX3)M7~0YQx%P1dW2ZOtm@Yo1oz8nZn|AsTn(2xI3J0TXjPC$BOfKdE7{lwE$iy6C z>EaY@7R;z04X)n`T_U_3HOLnQ92;{&jHuuSs9~ti=t`wzBB>C^z-8i)=dkif0mP6P z;0Fy(qg@BAUnp#G%QyTKzZP}SF?K7^9p3A597nUeH@(E$Pqtp9clWN%n%6xBe^%7| z+V=U4Pu>!4PnK>rQw>aZ^UAC0DdXKD*j9y@gZ3;$j06d}T}yMdFmM*Vx#Cqqw9ZXd zimcdl>!dw@ds2paYJ|JDbH?+5Lly(v1`ECK01HghLuJ}Q6U zElHNHH}VO zYeo;)4Lp^TF9VxB8dT0x^R9qub&^Zj{QLddNDAf0NQ4Tk3i!RK(ju>Z8Qpsa5$zoI zZRPw%RdkGD;y`f)*N_rLS>Q6~+f}ut?G(okoOT?|3!D{%%LbRT$dPjgn9T0!-)HFv zpGw^Z48flr)Zn}vZ?ao1ghK#7H#(8{$ZtRA02#3a{Ev9cxUK!eq(Eu6+9%Xvw6^Dt zf0@r-=CTYHq?Jx@&%ZH~VU*gkLo(i)Ef^}BD+2&1mRxFK2b4D7*YZj!e%{)YsO=%W zpWt~)fw-C+xqtH^9+L?e?sk$Hm_<+~!~xYQ>~|)x{gn zAfar`!9EMseF8bt{#V!zH%U5(Pyzx_C$iagC-}19lTHOK2B{3F$0&*u%?xr}vD942 zf7Pl~6E;c}s!^=VW%WZK02~hom0-@gfbU(MpjBlRLp#22!3>gaq8x@Qx%PD%UFunj zG;g3_Ywd45A$WCqR~GJz?+H7fGQ(aLF#JvwO#C z-HUKkc`Kzppl9Uh;3Hm+OL_iAfWvhN(t9dbEF>=L{FvXcM#J&G$+s}h@ou>s!Ms}lm>t4vp#qf!f?hhVpXCWZX?aMA5Wh8v+)1lM% z8DS?TLhs>oAs$zq%JOAhqR0)K_6hvA3_4RIv_AkdTWQj_T!YD{4Q-?3ekXoU@fLdY z>9IMD*;ZT^iP6`MTE57u!>v3)B}#cu$z)c?rhj)nCJe-m2t&)!wZ2qg;_&~FcK*F%xXwuw{5C^ zy;t-+glGgG6L1v-kQ0Ku*%bamc>G?r;JlcwnD__xp8|K6;gym`3@7n{hCZ zvVH{-qpetOg4C``%emo#Ww~xowAu^%(7rh+MLzry(A5TDV-al)ZriU5rjO!8g6x;%&?!F8H5ZXfq2?cSeA0;RjhZX9@y?0{*6avajMyGD)h#BYr!x(;|oqIk+Rg$3=w znQbA95h2k1Gr;AE4c8vkdv=T6hu->P$E%py9fh~l^!k-rsDqE=9rp2W8Z$$kb_V@9 z%<^vN0e!tuTAjKB%$5`B;H?euZ=ee7DTO~t6mV!^SA})V-A9?J7LfCJ_&4DD>DDS( z_&*i){5jaH2i#56Zg@#pE2v8@4(GZ!v}}J2qPod~2M$-S0I_L1U9#sM%n{VU)psbN zU_JZ3XCnwRkLLr(lRtFkvo)Zc<)h>evlBxz&l*WN^b8!M&s8jrJY3gEb(C!(=~YB? zc+MS~_6XVKrn-oqN1jO4CfDsI=)NIQ=XW%OZ!0nf@#Uf!1biAmFH}KB*xJp{&CBbF zNyI+LOl4soG5DZx)4WM@I^oXkbO+s6sRU0%jyWVA1XV!E;i8n4xeGfTCAu744W>~FhGniVjKPe}tV+3;1vE0**@G|@RCvCnq zy&17e@>!wVcsXY2j;P%ncpngiYZlPT@j@ir$ zrtIx5|Dk&ecD%!>;xEZ}zhI29-E5!Qfi0CpBpPVt?+FcNePPqEz6Llddt?NTpQSF0 z!B~+vo44QGSkTj0?@SCuVYz~W^5~z(n887S_@^YOWHk*$k+@|I z7gwM8jUFVbFlu|_VO-bSB46&G;?rT9kyiFP+W9G3i)xq)W?TaXV+ zEdOG$|MxK`NP4J%R3iV3iy{-9c6hD0`EMlZQvgLky1yF>oZx^-Bz*#5_0pgrw>0E3 z;h}5;A-eC6OphFf0^=|*3KILvyCq0Y>~Yb*N`&1fRk6=3(J~S743(s8HOlZLZ63rj zjznpjklnqJu`@>k8!bea>2+p7NzE|Fp0_d`&o}h-cGOvo+B^p;a+Eap=`6G!>NL)- z5OotPWMeqBW>S+5KgHj@k(hzcg_$8rX=Ft2__)cH){GYJN+z+Wp&uQtxJKtzX6%jW z8|g>Y-o?g!-jSM-T}cY;GOy8Bo~XU3w*;r`FkX@95s*t4 zrBE$z4XxvhY#sYy1SaI;so~2S^&F8x0Z(!B=>UEB9dx^mlJOkGd34GhnB5|k_^=h`1asigwNJ%wm zu1c@wOhiD`Xoi>XSy?ntiFQ^4-S4vN;WqYzTr-+AnIu5Izf1#9Y}?06#WLSb^tBQB zOe}7f{WaL!fCgG$Po8bQ{h8?RK4NqkbO4S=E!Ec?_FfVU6_#?(6Fu$iu^=%#n=BW6cqb6!xo6N6@x;s78=J zV??fc>-EI|Zr%WRtDRdWY1{FW8=|$+eUd1h zs*OQXn99v_K#8N5WqFM+`gog7xt|qOJ3={SQ=6CQ0L!EtHwGrHE}Vt4pZzC~xX8bN zoRKzxvndL^h7;kpQ#-F!GX0C}#l|r(_f~(^Aoz}RcP%Q=sTvReH+>AhQT?<0EP#Y$DNqHb+^(LHH7pl& zSi`5Yvt>#d3x*;Ok^5tX!BqxZ#xFtmDl;-#9_+T`|IM?3(*KKQ98rsr(D8HHl$7KF zdl;rz;GdGx*NLezGnd`1-q#vJGu? zM)lhAMKyR&#|FK^fTFw0;V4fmD=MG%s3H=*1zYxZ6FT!*75v_cEw4%UU943cZOzZ{ z1Dz1Bw+8tw{<;^-Ay-(EZu5X7JjpiUI}?OcW5`Y_YFVBIMJqi)l<$4sTZOP*9`1;G zy!G(h=rI0T@`&Cbg(Lzej900UoC8tL)V;iMNuCmSxUXYG5{Ja#vQSjmhlQLKbP=i^ zVcy?q_yPLe9AJ2!*01{do0}EK8-~<}qT8A&W|ONp+I@GT2m%Z(iQ%zlf=>~r32_t1%sbJcbaU<8*jOzr1Mk^wk> zwV3_jEbw2Vec3LyP!SG+4ph=xlgTopi-cm_CT6B*WbQPF$enpT-b1Xep17s2?GV~< z2O%WK;y>>T)GFgkcdg`P8cj?2_Ue%5V9T!BT zm`lrJv1`}r3RqslEi$^n?0PneqbfU52UeJoi3zU6C3MLQ>> zN%`E8y+8Je)bIW2X)f74OD))~xOIhL%&uStAMw!3vX$lTR%e7r7tcPO`1}oE|KKp2 zUrpQ&uW#_&OWKWU09aeRFZG)0i)@RU@E}i5W5D@pi5p!?A0L%7IR#GASFA_!kw6oQ z#9sk&O9F0_!e0=JE53f^9ozKm#y>@Z$v>V=S3x{b$l*j_w`d}IiUqFCxolb9IZH5$wI;|LZY$pC6Q$NH< zRm1=o$wQ&#jvtAG8-zkL6o`U)@={B3m#1~&aZVL(t4Ou$3d3RiwQgR<<&%S}%|wAZ zu)87P-(a9w%;Q1Q>^_UW`scmg!c@8JIvcj}(Se_gOFFxhAEtKn(dnp(K(LCY*b50g z2i44LFIa=Ej~>6-L8BWZPh7AmKGr6|Y$pV8_#+mG<56|P4N@?8TvROB(?{oL9iy1e zYT~~zda(;r?HyfHY-r4lqftF~R0{WWt+wpP8RnBDwhW5nd<3#@bI7ltgFW`=jOJ#% zgZ>3$_N`;S?H>TODw3|`g3OgL7vKZCZ<0E}! zO+Z8?yM#)sh{n?h?S+}jr|SN`{fRWRDvBj68iLSLa59$HYl=Ol?fw#7XnxY-WV{oJ16c@=W4?==8_D&IWMdS}jqdY6LQbHqal|t&Y z6b)?_8q)i@wGG%CeB-W|-ypQ)6;J)Nr|C$(82a|&5!lcBaatpO^81>{z>1iFjme3f zYOR0MtO6E!DU2x8PB;nlT)K672Ka&+jH&eDq#2c>kYvUJ7sf{a->=k!FAN8W@We=8 zA?Qc3+;c|C#w|2*McI)||FjT3r+7WvEbERoquo`pQ6sGw+vd#a3vh?%mQ(+t&aA?7w?l@H%C;`lS4dVPd=Ur+>Nc#DH^;d!pY$#Y4_XF1;?Pwikcu zeRGnf&8n+wP7Pnqv@LtK1w6TFGAnv|cB|Sr)&1d3l~(hCQ9+!N%Vov_^qc`sl^%K; zyu4SbJcm*au7xcBdqz-*Xphoq@f?GVgGK^pDu=ad6w;a;XmPf^F2jb*@hu0jXgU04 z@4lwYA#CP{)8moz6(=8-69Q`FUa*g68Fd`&7ht}gYSTS5nzTmCb5eO1(QyLgOW@5+J&wA~IIKD>Q454I3_vLOE2>^lDRo|jXr{nz4FqL%CL@T({JOHfl??;F zm5RY3ry04L?Wa+}aAItE;!X2{OLOK#iW6VDaY?*9&fc}!e$7TL9!H|L-0EInER4!Y zmXH3@*Q*=t31jv_^?@VQZMsdILxTjr(F)?VK?r1^VV$Ac6o6I&Ps8r>W>d#4Tr_z| zQR*`@?poZcB_O~nBg(Jg^#avRIv{6MlHA`w=KB5kyuJ>^MN8%(w)SP$q*swG*B>De zl%i5TM!j;=tyCIMZfG2Dy3{%p0%^-muw4xQ)9@1il=tdBdFi#YsydqxJj!S|Wu*WS#vQc1l9;n>oZ)fe4U zIS)$XYQ17~l0z&jn0!nh;`tt~W7lWAxCu3-x=t-=oRwJ^90M#MWv;o60r#aMtc=xX ztV`^9K-CSV`*59zcR9|(T7xZo=&wW&JN+!7!?t;JXCmmpurBa;_7-<6T+VJ#PzUb4 zg|%j3BU%52tjw84Dh&$`pm9C-XiVJc-@TuA1nHt*)_>IYGi~4U_*Q{y*!gGagUZmPwfr zjZXjkf2ozyF#jhlzPKos zD^>BnloG_~(7s`*{DxiC#kIkt+=QdYqnUb7J13qVn+wK1FPR?fMT~=U*p;z8mlJ#H zDYL0Y%-X-Z!eKPLB1XLn(WJ~~Z8I=Owe<*qkm26qO@&zNyP}H}vcpyvpkeLbls}~U zYu*`*+sR`4;hr&mrD9Hd{f(woa4|$mTUFA9shTw1Tqo%)e?P!@6??Q8mnHnF))>Tz zd{^NGBW_}qYCq~wZP2yz|9XrZvlm~I32^z0?jx9{YHz$&9Z|@(=#=A5)2tRGfK)?p zza0@9|A0NSZYK8<5Bq6(LoYv>jq{T}9_UhxeQGhSBp&n*|AJjjjs66JZZV&98ZRiB zN43I4as!h|H0nW-esqwkT~amp6;huS5mk7N?tFC`d?T9(If46t7dFC*lpaIWPEJer zKWQ9KP(pqu9WB4ly*&rvz`V0_PruqW7<))SMn%arlGbM7`zgYEPd7wNq!gPF$3t zRQF-toVoP3wBbjL<@VWD993+)PDZ&h(gaxWfYQSR%x0el0N=Ev8!>a*i2oBl{Y9PG zvd7oEBDX*n$qa{JuRyU2i7hycG$fLG!eB**Jlp~gsn>NiuHxg2ccjqyf?e`q(LUcR z;<1qIzHp`+_EwPfC*G;$1_$iJhZaUP0yA574}sfjoTq?(Nqkqc=&!jd9p7>dQ-|y7 z;N7_|fEj1TO}Wo5gyn>Co}5pTMni^{fb%Q!B0(+G!Z)=sm+A)n67>tLW~GE+2o{l) zi0?JbI8SxWIg_BZx%%3gP}?SCFEOqU_j{OwnpjXg?1lkf?h`*1x79j)O^-RR;9som zbCa?!Q=A9b{u;S5H5H`h-@Ow`6)*aMTy@}BA%wU;Mz-wHOQpJIx^-U($%wnJvlh27 z)Q~bhjl%Js%43_#hYt7*i3v$&Ov-DM5L_P`W4*P~pZxlI4=_`G6^)>pEC(6GN$|zU{BiYw73*V>AfYSyuk5qCZZ94ol zd{W6YYX4#7GW?H-r~9fygJXa_mOzqth&Th8fQgu~;u&gvE+h@@f}+uXSGX^pz0p^s zzRMq+TL&yvvJODiwtOxXE8@XpmbAlVxl2ai&a|sxJ1ksJ#RG98RLwW(%3FK|SxyU= z?(lcYT_2d*bYz9Gt~v8=-}Bt7tl@Rzc!qa}aDU#JKxin@V?W=!YHzh;Ho?LlNcTeM zEVwrMeb?|yZk@h57utFVhFD*5b@07?+e&+E9?Z04Jji9)71(Cdc=tk55)};d?l2j1 zG4c6_Fh;Bxu=Ah0!QDo*O!nAEQpC1lDrH(v-c{{%%QP9mky~F+06WjaVM#e8Cumy( zF#y}k_;Fcu>D40dB4&i8R?sp(UNXtmka}K3s+1vLu`)@eKPp&-3C$IvkOVm2+Eu-r z%vtq}g8Ng$Ltc`+DUpz9P3m1{nRbp1H~X|<8((CYJ#i7nW{z@YD9Q&f%I)^yQts*f z62KXxgCKH~9J@zv`W-3E-dN}g}WI0 zmF5qZ*iLN^12nW(zfT$p$ak*S@dPwD+9ahG5FuKpK^(qhoHb`*Dg(!#rpI?-`qs?X zvYiO0*xr=*<{TmpiGT^a&DEpL1Mt}o{-KRIi2P7?;aJMW^ z4M`HSII!@;{-N2a>GT@QDSi26b~0Kyj_(L@`73V<2ZWf83bTIQpT6}qEkmZz?1R@b zuAL==onr*7jR?th%H=8l--EFs*1-jM`D$Vm!`b6F*MY!%wiPQ{OC`ogZksdU+^W0x zU|V+=fGmt!JYRHFOTp@cPKC*ILHx3SaG0SkzXgNvIN%s`(wUMQYkDtgwHH$S2a&W& zVb?x6eY7;o1H`3i*K8S(1LrP@my;EZOtzu%FPMy|Zd#<*PVB*3CIX2G3$J6KYNj0h z4n)hH@|h#BS5X^4Q!~jYX_;sL4d)8~Yad$V=H4nBXs1y`QbU4*kH4<}!kXnrN=;aG zo&Yjh8{V%o5L_CN3)!Q*~!}Ow@$oe70Y>MWTb?u|)B^J(ThdHwx zDW7|-2fL~7Lt?e|2r(trao?PWqpA_mIf}z`_QZ8glBpE_`VGU2FPzdPE^)Vn@{N-{ z@SQonb(298noo7X!yt0a7#S)>j7Zx`QE5J8!=$Tb+Hc0Rpd6U0?`13|ltyvyT8L^M zl}rRGQ%!QTB&zp6Km7pd9Q+II^kV2~Y^!fM2?F=%QlD6K*=nhetmQ^>8pR z0hBer;|<(-dB<$85VD&L2?tZ}H$P_Wg#BU>2ehSI(x*LGa~X{dbDTAd4uv4%cXPLA zrA&tQR#E4=qB)j(%>3HV@_rN1m)Otq)6qXq(sH(6-b34fg)<0@rvoC1mhOAKt2cRB z5xkl6QU%Xdn+kw}GgY}RN?O@~(1@36`Pm=ViYSZ$ z-XwpXMwWcpw~5uyBOR>atVZ-6=lPt;wD-dU8r-ukPY({+4HKB+yI)oPLBY^0#zS=L zo*vMaUdy^GWf)~J0@Nf+h;dWn{bCdUn6>RgWzHP@fu8*5JFl{Mz;^$x9gG5^Xt+fuQ*?&4kw-5)-yz|p|*%3i8ex+#zqn3S+Q% z7ZwY^7pmPbJoe3zik*OYT+jN`S~vLYT_)&L=mby)@aIpNyH=?6Wv z|23t%0%yYpa@57fGs#z;c4HgLor??ElSKghEE=2v^H%lxwnJw5U;5r3Ogn2i7cj~T zYGa5>z>VfawK84LXUC4*D(O6dLSn6?xg#yZ9TX>`~y;82vg#d5M&*P}X+- zCOnsZ&lLBN7*U_>Qc7Z^s}2rNiDaO2f2PS^eA1%a+;)%J=V>ICUDXWnGttIDjXZjz z2Q4OmkTAw?WW>H;HQP%b3v#_=%i||F`&f z-#YDCY+Wqopr=mswi_Zyc;i8|j$BlWMhXU^);6xr4;{PIZdi8M=^hU3E(Nw)CjlfU zv(|F#Q&e68sLhOKO8NYK`j=rU_J(?v`=zz&!Fgx2;oMWdu8yoAs$UyunE|{q1LVc1 zL*L9dONvY@1G>dl274 zwE`BJJvH?+ClP!BLY1$@{Pq{f3VI#rfLi#71=i&V1R@Wl#N4{^S! zDCwA6N{$SXM~n{alWBEb*JNa2L|phBf=MTr28O+;xAu1E!u@$jQ8bG)lLxQwZ4qE$ zIQZJM>^W7l+z@2f0BE(^-;;BAG%b4SxpOXNiP7yFE|-N1;}6F03f63A&Na?D8xfl| zvKb--wN+$J7&%k|T>(dL)ZM4mxowK>2r!tVIARyR5AS0Gzr)CYN+u2W2;qmaw_Tke z;BL!~2-u|B2%WMFzjy@no0ci#yV5%;if$hmnFxGp803OYW|HGawExbA(DOXxLVCaw zOkBmy#~^hm8kk#FZM`oAZQw9_FsoB)3Re5af2g>YQ@;ODC8R)`3lNk?D$$=f9;c#h z#<}H$Rbd#)D56ubrznxy11{apT)EI@E(xd%1l!XiLyt0WaS6UB!Y%w%7| z@AuKLM8YP_)%`+k$t*dqwYrVp3}XqnIed{GY@Nw&q5|fU`2pZ>?z`!U-xXzq9YYO~ zU7H^UfZF|K5jW&}{>ah3$ug9|WYh3(htkJKhCoiBxUr>I7edTL*KeNR($RJ+Fg`1@ zwMAaM6Kzm~0{(JjNW@NI87Qtltn->_3C!A6!s5B~r^2m7tm{v;aCwZ4HipM93~ti6 zGp_Or)fw1)bl!m7w(J|sg{{^>^rj!j$k`u$E569`W~oXWRH2aH`>2385dmAI)f}q; zMgdw`>lm1xzr1@?;(5t?^^T;hpR?Ron$G0dM^4oo~un>E5bwVaoHV0 zC+?St7dsS2QG1p%K6RH{1R5dq@uWsfmMj0q2oZ*sE{QdF^z{Xv7c;lOJHBR7NmZ7@ z-Qv}hLoEL$;Ch;eT*hR;y)K&$V#HXu0AMkv6^=Y&E8CiHEkM`|0cxMl=drgkAJ+-9 z86<5feTRaS2%*48Xp5QYV!NzK?QF-~P`4IiId5q*=#9Lj-^pph`?LWGq98i-as;ph z-R6+Z^$h74X!3~kCk$QbYoL$bNTMo&bv835| zPla*51vtF)-^(0@eG}b@D6MY09z8M@1$WJ$C>a)>@Qu&G?IYo$D8TM~AOiWc#v`H! z5D{nyue01ORbCD05NJs`gMLXk?^5XI>w&Y@1yO(GY3*37w^?5 z?ZeOU>zbacRj7V3P(L7N%E^%#izpr^{)>@0{y~}dvt!AD9%}K@g|N^c$KuW@RmNWv zr5vb^dbbvo(^M62-pMgbLcU*1`&Vx&xER*8#}UNB(W^97AngYAJ&25bijY5(waoR^LQo3=Qwp0NGYcG{ZN4BVs zf7L?f9kFjOcm#?!ZJB_xL-7=cX>OAGoFECN*d0{!8-BI5KD=!ath*;cb!rvZ6)tBG zn*_wThX(KiYMAFj!H0vGD14M*3}JS#q)(#+WSI094hXb zgt5n)7tzlXh+Pv7ETKVy!d5DNcd^wPQmN{Op{9z|(Keg^j^pFz{aM_wa-(B(a^#|@fwcG(j+A|C?v4@=SpxpLCG1U<*!zGf+j&2wgc1kE8;Y2h zIlmR!0aSm?w7GyFm;IulBEN@Nmj_lCI(@j<5r#vqm^*61ze9Vz5NrSk@XdrVZ z2k6{bC&ZQD6;T=7pz&usY0)EeaEOj<#htV!+(d>$XA zQi9s(H1pE*C>nv+^3~2b4vPuLAs9ce*L;a6TOTpdjWyIi9TG_! zNlShZoGUErpbuzhasDM>^v-+?Qv2H2QM(gUe7X)s zbTO7!N%W#7Fx)N99OMt-a3S~I1-&ASPaSVS&5NzwPh-C?Sd_QJp=_SIStjgD3s*7z z(Ezgd{k5!IS4(*>paUo3gdo>_U=X(`F*H2*Cc#dPQp@$nxVMe}urdko&$5B75RV{A z)O?;fc75_TpWK3_zzmYnX32-q%+?S&q(ye>yZvawYI|T@T=bjsLH7vsU;3Y++O=j7 zZ(cXPjX`WIp|s(g)G_@Rl**GZ-UZT{#@cI3C{jI+LgPIGPB)6Pr{n+?2v_^VS~v;= z2YsvTu=HD5J7Qv-;uR~BEyQOH0X>Rp0flwSdUd>J4E>Sm^;hW5GbQ*$K~xqtL?WIM z`aSxHPQGUT{Zn5ct)DbCmK^sP7!o`WOzz(>OA1zv6h(8@{E=M65czQyLACrqqoh>- zm^=X=flYf1hadRi3&iqDK^lv#&MP1P2$9irULhp*U%8y510JkWlPX@({P>^QpOhVPZu`7i$EZgo6) zX%UUYF%psg$OGw`TTy%J?xm@6@q!Pnk$ctPlcMf-V|>Q}Hz=4Vh}`~Y7K~<4pMkO? zPF!8IHOp6JM1z5D^$t2O>%kAk0)qmhV6PcND)L{a-;y-v|2n&x`5EKt$O;ak*mabp z7vae;T0|~~ESrNlmmD+k{&HqP-h8738xmEsE6t*!Ce$TtH%EHWe40&R-cLZ41<$WG zxecXZGdl67JF~Q_=0*XmAnoPk(UM^LyoXAoijDyM8VN62S}uu8s~cy+e$Y_EkU2<$ z9sSy;E1`|qS@phCaBaqS{AQZP`b9VjThOg+0AF_$!CdLC=k9`T3i`As8+ZDnMo6kD zzDniQnKc@0N*(R>;8rpj=`5=eLhONcE`)>``j_ho{o_gzjPu!KyjQ}zlamMV=8XEX zb&=}b)+KiRJjaK5Kc*PcqIFU6d9EoI&Qa8JDWCPX0frcZz8B}BN z5-iAGh0$ zU*=UY4Z}a9d`TJ7{QXJ_T&=+axgXG-52^7qyvAOdgp>vCgcC&n0m1vP4(3|ULR+FO z$+H?!gQ9J!z^moiF8zMlLcZAJ#01vah3 zD%LXPOOs~-z|p86Ta7x|+}|7dL8YN~ds5pY{3|IEg&TvQ)Xii-H(U9cw}sbyWz|y9 zs!Hr3x(V!W^x?U`*A*Bg9)lJVe>d9S)p-Zx>YU8+`7f;izPV~ah?G7HoFAJontkb}6`9yxW%T#d~GWv(_Mx0b5$ z)|&3=9bjl{*uuEkK>s;u!glxT5u{y&0!#lo0sN5JxN$fFj3n(ywl!*LLnyK_tuOUz zCF~L)C`=@gPgx`|sKw5h|XE-JDZ76aMHmKvm^^V4?g+DtMo6 zgz|>L8C9?FffPe3KzD5+2gBoB)NY$!vZ%shg0N8>?H|@e94k+9+-chr=!*%1Y6Z-n zv*8)6)l8%Fi^QtSSnd(#!G`fR8#_3X%jA!_kjD#?Y3LA!HBy>t>*1Ue_T+a8|1hAa zei*7w6MNb-+Cf=_IpTJ7&&csiC4LRvz3@RC{06F#BcLzj=COhRM+ciDEXizHkORkK z1T+^N!6wN}PXcTeBBC}uy++0C`({6*arHSSY;eKa2ZhDuzECsC<=E`R9KYmO7)Ux>%Bh_?B79`}-ujp8?TW@VpQ>PC#lJI7sJRqP8v-9V|me zLwn|HB{D#1w%_G=Qj&R7Y|P;8rF{S#?i+8v7E6ZT{k@Uz6*_WD(ZH1sgbA?c{M>wV zdDNDWZ&0EqySl>A{S*uulD+OV9e#GE)c3&DT@(r*_zVZy2K0G9XY*`3tO8 z(kxpMd|&!yZUhOgx-ppA=W&3jlgTf4$SCrAqN?Q!@Jde=-wRJo(IX9ndpObq-nVBP zXwNP(eO&{Q_b=I^*g7mUCjRpLCq;>P*2^i!35?6I2%Kr0N5Q2S%9USY2*46a66U{L z;k1ir-Tu1w#$o1Z3$OucFuJms&2#w&puY`9N;3|kp@_TeIv*6M`n^eQ_z=A^_dj_1 zN<+79@Qn_)!?YmX?n4DGl2J1|LP*YauA`C0%&08$4QYl(K-f!>kkpxiL2SkAci>sT zcjE+yZ4ehFQ{(G9wJs(*V>XS5tA<7<9b4*O`R7*F4pW2tTMTV<%sgB}KwEGka24}a zz?l2v#|uKL;VNloagR|z!KZ!`t?eONMoKfY6R-Fc;6e5d#6`guosqgQlNbl~C=g!w zXmt;P@naY7fr1jsw#DH{9AT@g1C&kKy-9%ehe1RTkARSCpNR<{D~yV ze$V6f?F1UM+T~+=oF^f{p5+SH=ru`G0Q4elH_|`tG|W;1-ViKxlNow>(08t3w|}4dU_2A zG%b4th&Si_03lh(dcMJBuvJ2A3bzD#RhDr`C=7BHS<)D%seKIqjOT;WI$FB_hxt@ z8Em{?QhQ4U`sD)^GG>p z5g5uRTk9z@E8*Z%(6NMLS&lX!&GlEV40F`;OcRU1rX=3hs*Y6uIzAue4(-Cn(rSJ| zb#MX3-6)|$4mL%Y{o+2BIyq1de5pjqSKZK#P8HnXhJt)}UeTgU?wUAD#`C~t8&+sX zI!Uh3jXJ;zOa8AP``DBkkzpc*a1cZ73%vq4-q?6AJzta3gf0fuVQscf>z-iCLSK?8 zh5!(6-Uf-Mj@at603b0_dP>ky8q5E4MK^LZ>Q;p0+*O12xK|}D{Tk?~c((Tb`cP)1&)S8@m*wOr3vkBnKGvd=>Pt z1%D91wlZu^P-k`?+I;wx#!#m3`kPPgo>ifYT`Sl{P8}$;kpEjLgi*#J5J0D}ZVxM# zr2B3J8-0khc(MJT<~)%Apr8X?zO;RcZoJq@-Xlb3=8A`2*(_gx!=_4_Nt94DU}>@~ zq$G!j-*yIKX5=|bzTh_d*#P}HhK{zj4eT&!=BVEt@OCB^hwkSv+t+OlHYEC_el2G$<`FKeB#97qv{@sUwJ9FmFunG6Zka))miP8;Kz3ZYkIBPdPqwe@$(m+ zf+*j7rICU3ho-OVoPXQ-e9cjtMf1f_<{fzjFD-MZh|XVqTig5^SsrroFg`l5)~4JX4lQO}}oKFQ_8b(>&;_Q=Ih<01DyJ z*jg$Lsu4&H-k#a)j^nr!H^!-|bhb0O4M|9hPn@I>&84uZwsh0x`Lkga+5-c_y9J8+F2^3Bv6;JnQ1Vweah> z%pP9Tec{Cna;&zD)f^Ok!n-3^374zS2PgWh&90_eAqswySv~RnQ-r7}!sRZB+b<`w zMLuU(+#jN6gc7WzC9EZniKsM_^82ej=R^XMNA#0` z2(AvbEN=cFdp;7$?>2`eu4}yWpFcwO^5@V z8+*P9ARK)ZFka(Lt6|Tg{$q)YBX77`gXm4(>gs?zqW#;Z8Y@4x7h4u)2{%(u5bL&!t&mUoS6hFlpo=Mo zXPyVv$daRJDy>mAfN_vKZ2tt4hs1~VDQWc@n6aUWH-k=SoV?J{5fA{miGk8!?CDsl#uw)Z;{{x-1mVU9>8pmZV(DK==e zHA2y=23vu~^kc-cdf{>D_>rU`H2*lgA{c&4K~6_i!grJ2>_|{$61xs$Y@R2Rxw1cN zp6nXUqf5DwMB__f8g)k;`egZyJ5S%b)H55cPK0R@T)H(Ud}9byOW!r4JttcdF9WQ~ zim#|*E)J5`0Nzyt;_eJ_oK_Cy3=7AYLOP%_*Ek!`kQP4AEX7ObP}A1BF)Z@ z6`@RYZarG~@(U(;gxQ41Dg9CVx2WTcV(D-ww%!7g>StvH6;DuD9yYkMn`v4FghOnW z#+zfR@Ia5Uq~TsngVg(9-M1moWyQHO-j`oY&(}BDt%qo(`%0hc#eJJQ@4MW|dF4*D z?T00+vOG$57F@hA%~o8h%~F8;9re@g5b_)1-4b*7nfXStfrDb~tO$kZ?_e-AjW zjsAB0&YkD`V{p89Smq_uV{rDX+5vuAoMU80SB>tQ6-j(&EYq_;vZOT_8aQIv2ZYSM9g}zl{F;Z$hV^VNb3>Q$u^>EhOk@8!u*-R`}*k5GFc=~_n}O8>_4ZS1m$-t+5kirul_lFQgI z5TG8ndM4(>w*-%wu-!$ZQ4d+gBa&ZH%>~Vx<@zDaY!4=E1>9I2 z#oAb%j;7iYxkqxOpTG*9PJ{Xz^QvSoz#nbLd{do3p_G!(xxsMej2H zifK^wC4@s;0zhhwj548PmF>(JX%bA|%n4I}gg1i!q;iD9e}D1;N@QJc-a+@-noan; z(}Y~kV_aHthpf<4>jje1bK>~4RQhA-sW}`dzJ+Sr=xU+O^y?P`dZB4I_TY>-ZDMFD zZe^4KqXWA;*Xlm4T-OTM045IXu?OT>A3$Knk-W^J$-!BUD}PC?nMlT$^n&)9J|kn_ zcRfLZ1E=2cGnT>uT_N%W2!ZYSv@MXMRruYd!;v70%?}eJIRF-5iKS&DtDy^infYl0j-$8E?Ynx? z{okIC=aQ8zIVq;3|Ad~c;r9jOPGRQP4rh6J=8ge*fN`X3G4P)(cu_;% zFly2SSbr>$kBrZ|5j2KWjF>KXO3k8l|IUE${(i=y(uk zzkYHuYGHX1qg4)kj_fIQLu9KK4-@V~PIH1rnJzj$L(qXJv3b~(S!9%;AVC8qUzVBA zU7_0PoiJ~j^Upjuo%b2AD9P6Q5#+Tjr<-h-;S9R!mID-#SxTJ_iqEp z9T$VpL#YI8SxQY;c@_IsgtEW8>CV&4ofOa|uKPJ}oOz^*;6^aeGo5H}7E*j@+|5`+ z1BQ4Bav=-L>3IqbY-j(xx5e)W&>B6QF(l&3^dYa=@A)v~9R?I$OFKnAQI4HN*nAF0b#qVEdVZ?jNT-7YZ zI;yrZ)hD(4R^0$qK>Pz!Rl~0ht>Z0@HjCdy9Bmj$_%8JU_hm}R3p@L z`B~QlTbd9PL%(V@#0HVRIyZFHSsN$33}h(Tn->CJjN;G!BLOWu7w2YA#K#s|iFqbI z`e;sY%-D!AYNeF&e)kdOlWwt&GKVxQaM=b+Fpi^)f(>{DGAG`_m0Y*`o%X923eZDx z+JAZ};V%5rO5Fy47$QJXU^(1a$;X$r-s!o5U(M)c48ErDj4J;$7=KeEcGxz{ds`54 z5niq~a_-N`$ur2PI*?)=c2(^uA0VHpGOPPA-WUFS#4u0hhs*1{dGHsC2R(?fT1LD7 zIQ>cdmh!uht7m_n+#t?)8~|)pMyTFfCe@0AiRZ^-S^IZm=sBQ%sX6a%;f-m-m_liXO)l&dfIaCeC(bzs_ zlmCc|9MNx&xFN|%kzr(7eNz^w8kh=wt@yWhVQlSkr1)_A^Kw(mPRqUEQAs?tOQ@&w zpZCVT8PNiiX_C#r2l|m~Q<)It$;YwvwKWpWlxed@l<#`0Pm4FRd)Yp*PyADGJMiu< z!&zM}BX$Q;!Z(#Q=m9lbuIEBB&`_a5+3E_sZE}e!&0qzC{-w!YGlwB%U*c9Pu;~)u zLjOrjbpm}N)i7wMFSISUIi)NlA)M?2;)USGM8V`1RLN^^A{sn^(qPl@+M4$aQkq`k zePTl=7@4F%MWjV2peCQ`k&kj>Q#R_)sRGPs&$;6Qw$3%95}5ub^e*=JAC!oO+NfRw zDk;27y@Rqa+!7*{uaq%Ia#0p@dgu0o89Ry9YMPi-|dmk|<&CX^>ZtImSEj z&wR-%B=u&1$1@d>p+MpXY(*h-A>|U`V$-&y-A4DxAPelKH-?2QX+J##(sp_hb497m z^0{vC{QB*`^aREv)RBDKAoa>K_Gb5iVgvf`B-YZE^P09@rOB1e2sv^k%uf+f;oqEL zN^XWNaK+2JEYlV7-l^i5D!{XM${ZQ3Z&jaJ?BC)ZNTLQrf9{m+5qNNtT~8n(j#YCB zR^}i%6qNgC=@eY|1Ka?Lk9+|FRZ8cR6eG~>z{Rz~hz9Wt#^XWjp!j~(@aL~=wutmu zn`>T6qTm5$8{KT~?m~`M?26%_8dLx)dP6-686s*39p~lJD8*}EH2BHrXR&sp?3sHM zC$Fa9Xo7FTwCAC?aUVbbEj>P0_!#1rFt*^>`~F9U?{cSB|1cLXd)(*61c1poT9h$6 zLp=_&9IzIobQqAK1=4sMG8mil>l`LqIuELq1GJ{v>H!;?ck{P-!-gCUnc}D6fW0VJ`of%nEw6xl4dF#X`|r4BT;)NjdIDdWN$Hr4nP+Zg)_xj&ZFKg3O2sImo z_t)wpWsGW-%{it}z6`U1vqSpEq?4P<39p@(#NXHqS4VQ`$x>@%UWXxX_Z{E)48jd- z?zdJ`+dgts_!qkEBXnQ0zWcs@GfPDL){Dv|3kZ00BeD3nYvP_@{%s`%H#`w^f?W*< zx@rR$@-AVn{Qu5e0M=H=^*Z^!_fVh~Im)99vTjiWZBTOr8B8e{#a3UMnAwj&0r zX;@7BgW#hvwJ0H4X0jC*rZqu(Ou2K&v8)n#|0|^=r4?z(nUki;x#Tmw)x0v!cXT*H z5gb|&74U}^-;G?Hzem^`;8|gbrFZVy!Do*Q4oH%OSE}>R>O#DWqkd}IqfPo`{rYMZ zd&-oHQCyz2FAWxEw==u+Yh#58p^_h;%RZ8n0wZmyEQly!W2y|cZ%uH4o={C z11t`F?e=F5?i)u}*J#SevU)%#P4(EH!<(zyC63sR)6Pn_mZuOw?*VT^%55Gg;f!3oUA z%*lHqL&q4zpsM>ELOc&OxL5lKmp~AZE!7IIEAj4`Y!uS>q|M&&EU2Cc0QiqurvTC{ z)3Va3-x$sYsW&pIt<7`?z-uJ+nY!Aq>bsP+s-`S?borWfKD(rm02ki$Qq%qPnTUIl z37=^$lLsDQB(u2&-r{Iac;EnN!SL~~wO8H9SUTc2cnM#rB(s<8N{j6c;>-jonWHkb zX1naR1$|);&;<4zi|Mkv(1e=-lGCF=vJ*V1W`rNK^0kJn_B4w8p(>>!iKOcmF0)7? zFmM|a_QfcmWG(V-zzTu`A_#{r+1=A)kj;3F z(Lgc7??u;bBVVA?f`B8Ow?95&$xDD-8=i9_E%>X_qcnQkw_0@EUK^}|q$&a`(l=;AM@6d%OL%#Qd0fkagj?AfeK%j`0; z3qsNUhjIvMqo!R0=4r)T@c}m_x9Z+<)j;Yk&G4{2gfNyh`fvf_JfZpOCU+MG0?QLh z^rZDQC67QS5r8ZtHA!h*pbiPlFunV4^XOeBx;RdKecmJ8)3n}UJ~lg=;rOF+C0l)S zYZfArQP_{IrP!+Zn)25@n&;?%^VNNj#NoFemr6mao({;)jyHS*d!VS5HaN8@IEE#6 z7E@Gx?3AeWf=7XwEc>CST@w@nmhf+;dk5@EK)KH??RaR#jmyIdl%5f_&22i{pUR4} z6yFkei1I0r5uc8okNASDc_;>CUA=HeRTR zbLY)oA?EJa`0dPSNGBFrWc_uLoIl9wC+fLKmELuI*wM04HA1YmSKLX zMNh=#?UN7_!xtxi0dFOFX8h5|qvYY1myi-AYnYJ}8k~oOI{bKJ^dH69g)Ttp#u?4V zfQSOwekS#chBf>JKuU0HKF`3fVdT&x`nk`NkY~+Fs?YOfe}d%i_zKdvBXUcHZ2l%g zH$9+ojNl9O88(J_NNJn!pLaZH{v|$j?=_R1)A(lURjAAulwM?)UaMau(H0%WGcj#o zEShvhg8MFc!-uk(Su+nrT>S&%Ze{Wcd-r-@#_oAT;A*c%n&SKBS(X04#gh9uSc)R140MLRchY}UO8@ZniqUZk5u*|_4POS93* zOcBTbF1bMpS1o-HqcSENh@VjqhX(D z5S^rAaq~pXfjnB5?AXONKO#}8{UARc45LpNq#-%~Cb6i4IY@fycaD`cmm!LE>pU#a z%P-Kn<0-$G6BcV&s?=)H2aeq% zoe}2`o0pV49=^5qi_{o4Pe;ls9zqTSX*m%B1idr4G|q^}3~7=Q?mqTq?01-M4unL( z)xY-{_)cTIO2(xNT`KyNbBz^{GxK8)5XU-b{X-l7qA~ZsD7BJ2zdt|1{>m22vxa z-M|Coh%x7w%D7ygh?~o%VQU472t`5-1lu!s2~Uo(AktZ#wBC(2J2q}68gSz4%m#yu z{!R8iK_(BG6x6Q69J{}zw2u+l1uM18^-o5BcSkl4LO*8xB5TaQS9+6<0mtodMR*zD z(Lj=8q+ZIxW1^Q_^4ti)Ei5I~karlHldF3CX; z>|ndX`LzqXwNZ=loCl1hm?~@eH}B(-IeRiaf6awWkjRRn)rVUHcqP^BAGRB+Jtjw&HJGD#mz=F3c^#c`b{h$DlSTFsLJT^CUv@6LX;Nws!%^dSx zlo6~NMM6k~4UXj{;XYUq1muFo86}Rm1UvM60_{Lk5gXRSJ3fuZ?j*+dC4m1GejuBR z#|QP?T(iGVaf`2^+qkA1>Eii@BDZj#Y&oY~YW1Pzb9G{TQ8I8IDUqbxqG-%~6=cZB zl*LB~LD;I5JEMcQ+#Z51-mFtSmd3!q)5V3O;>qaq{pj3A>e&ZKvLl0DGbZ(Y*y>>I zj?H2L1H={5cW5YAF7Y8N@}tA=x9!-LWII!l7&?+klA5+@(x_l)WU4zYiShhw%yak5 zt>X@0SJyvAXG;e(rk~q70aBvHwzozOc+dA_gQD_8wcT}A3T&Pv{wh8`Uspk>N1e5O zjE0U=^nbeB{8Q3hKkP!)qSOcxOP_XFhtt?SM||uq^Z>62U&}r3OTy_(vL{k2DA4Oi z;@%VP0=BP#(qqBR_%EWFrzXn8Z&b}HprRvE!cgI~I_dN7cj+)8AyrurqKwS!Zye_N)vQn+t|VmlZjmr? zS|2EADs%%4dOh)KDfGS-y79X_`;lx+R>Irge%vN&-)h9qGAD#NJUZQ+N?ep|t57l`X8ua5oIe zc|d@H!AIDg7^Hd|AWEFsW&pe1`@M6qu*IsPPed>^Gg46Id<1?_OeajL$i(esuQ^4q zAGu_7(%_k<1;BBM=CJ`=|-j7ySvfN+J;krm%nUBm+$rTYpl6kJimiXF-RN=+cn`lL@OWG- z4w|c=Tx_$D!cl*=Hnkx+2_4p1@~XzYm#49D*iKJR&! z_fUFgxQ>eZJqKm}#dwo!V}5=*<_P`%y}V6N{`&)iT$8#I4T%$2=WOTih+U*4+)0!Y zMSN_o{V`3RE!_Ioq;dee;#m+unAXlXq^ZX@6WDEqQ3H;=>bkk2;YqR3?(*sbl(&bB z1GFq|tn6uXfS99elAJnasiRYPY-zKW15CpjKO9n>rUa>^hpWqfN{uHRYj6>-8{uZu z5K7UoULS0~T%Ws!8uRtFDK}^)w0yBcqG({|kVzm6b>x;>!V<^qToZ8_s`PR_g7>S* zHHb)GHEJXMdxKC8wvlfY)*T?B%=VXE6{jgWQzZc;`XEQ_Ee*-J!)}OxErc1^#3k*@ z7nw7Gv}OfR28$_$l^!qWj$c~@9@q^NLRNf~WLnp%Mg--}N-QarSZrrL* zz<_#7a#DryAR7*c**GyK?nUKQ5sER=A`EhSJczQFzl6?hK_$4%V_O~|9<#Q7Da>U- zCHhY7(>y%u-hY3+2w6zUQCVyeIbsc&R8%4q1*unZ^?DDTr2)M>Xt0C01ILPMhw*(N zbrRO^Vaz91d!xe$FZhcnQ{M-@o9NcCw#@A0SV8C+iKYa+7e7j6VrwU-+ql|#bp&OuzyuTa55BN6sPbLP<- zZ&lm5i6uDs*B{8uD@mNf`kP4`zAWLv7nWjazWLl`3@6o}f;8LaY?ab~C}LWm5kk$h zLJXKXkLM|uQB&TrD=LyRTm;cwthmn6Pbcd0TP`zkl=i~*b)jcQqtA8`>r{4F+FG1k zaY_Iq0TaTafF!&VU@)OyO9u7wYNb&N%05{0WEhdS4I zOl??;?%gvo?Y4ldCaUH-eOfMdR@3=XA!DfBPe8@x$Z%g8_RN3Tax5|1LUtpSUAPHp z&T?0I5k!T{)I1GsqpN(1diRZ{>tR^aF4gTq33;~&wl?E|(KG42ptmg);5ZcPdewELo>_1| za41|-uF5;3HN~`WI?-}pxXNlxDD2*qR^LNeXX)Ona$!EU(|T4yr0n`6(w+`4E+G13 zD54J>uEj`#c|lJcm4cqpfUH-1K#Vj<{tkjnfYk_RC3X*q(ceq3dURR^Sr0JmySaK|k;SL+SvcnM z=RcHG&RZQH_(MllWy`GEn6&0j^{ct$@Zc|~?YRMwg3HexC`9c$$e=|_{Ui|aN5!i6 zG7Xk~ws#z%%c6sJOZsMK{kmflSM!EV$%^0&5Z&m~zvd>&;CGptC2p4g0I!%1X-_o1 z7TgV>HPLB<{sBIPMRSSSB?7szN@pCQy@F5JHM@Zl8({{?_SN|Yha}?3Z0+6IU3o21 z=vcZLpiX%{1J|yjFXx#?TC*$Uq^n_j-HIS1jN{O1ui@i>rOo#k1kl#_CgGi@r0Qv) z>fPAg%%c%)kTr~ire3Gw)6n|KIZ&Xj*S=O-w#J1k0+U7*t`aC`sOG0Q!hCu^GW!)9 zMpT!e28)`7T1&%;0i+wO>vLU?5_um*O9hkWKbY1VOQ_d~{n&~wajw{VYzdyZ?eNH|KrP62P9NUP=gjsHT6i zV+IwsClKLycMZ@F(UY}ac)UA|Z>BJI9)zsjimTlb6`GpYIVgU!Sq9G0|Lb^y$L@+S z{P~eSdfQKmMA*)3AB0!Wef9`Yp5M?wUeqd*06|qo#q-t?cB!lqE_f1E3#0JV9rY=> zntdrtLt&&l`tagAyCnnEzftQWuw~F4eYGdyblG?fusc$zIqbyCU8o>1U3))o93GR= z@yu?>zD)|qGi=C;wLrh$+6O8)Pex^VUeVXl4zIZ1&u z{sP(TEuogAlT&Gv8%%9~*4&sD3^Nq7kQ-y^bEUFca{}ui2@|>lB?bd~;-R?9WEeV$e^5Yl%>R>#Be*wY@@aLh-7>gb!gMeIU(i=aol!fPVFv}FK0 z!cY?5f+a#2)DT*ZfPlaE%1w1L1aPGq1U=};L@b46i!qie=G*a4pV5^ZdbQJ_n>#TE z>2B70#N?$iK``jOhq!z_Xs8qkBV!-r5KZS;oP}(F}*yEbxMu7tP4W04;5?@i;d2&_60cuX%?^D7u;R?lT zJ|aiuKj(?H!Yn?*I65w`6ruwmv)IqS8x_V}c4Y-lywZ9VFvdZKO%P(9e^0?V=zxWj zIK?r(WgY5Mp_Hr7Jv;Oubir!D$so7*!L=73Cm;!9Ps*Z{HM_mpd(_m_M#%#6a1$io zM{Z&R{MR7xpQ0{6R?1G>i>0EnPV-%l>jQCgf;+tr{_gp2YD&X0xbCZ#<=;G8@6vte zl<#VkXVd7|Ll^cJKkClA1qhtm*1cS@2wk}hhVIHert`Xw!L{rU05fsgi( zaIyRMY7I0N&G^OIh1JL$;T*Y33z&C(P{mcdZ&n`Be+VF}@$+O0|7{>VMb@eH+38%b znz)i%X{!fB>~?sPIVUM+ANXbTasu(1Txn0Li8toa!`hP*hx*b2Sqw2&hC|)RL8fpb zJNBiNM;fjazSm8-)Ch@KDmc+_c!aUzLX>F+_z_n~!(dNfN^Y_pw@o3;JM9s{@ zGEKN6`t4XiN+h~4vlYh&U9St++O(@ewJHmukw(urO$(%x4jm-ZvPZ`HFQ`Db#q^7m zM*m3SoJZO_{agy9bs^15Ab#Nd23}i=Yctg-_}zz@4)rO(CRDONR1f{iF4_UG-L1zR zw`{DmUs}S0gQfUDl>#Q>fbrrz)cYM9s_a8|(U7FN#rg~XX_XZ$3n}{n#BkW$(I$q8 z!;jW2@L&)Tlt{H8kJ}7MOK7Pa69S#pobpH=txA!)0^B0!>qt#$yd4cyI;^D&NW^ZV zY^oTDSKilV{jruZov59L|ZcSFGXsa5QxNqQD z8C`*BCls{b-yUjqT*Z+n959o#CejqgyuBS2{1~!>D`5E4F)rcDGr2$cgErQBZj#!Y z0vwxr8pOXdIn5IvTj2&i8&C=pIAS0V6ck{PV-U3#1k>hKo)AwDPpRPUeuRQ*C=#Sy z-9<;_3QbsK0bl!N+p!YXT@xg0-k9w)f>UX;D>0h52QEC7IAF z7&x=RmkwK0LVN04yZX4u;PDj0z`z?yJe;;KvD$^5#h#Js+yRPaUe#K{I8&Q0zayiuYELTMb3{E`q0pAN^JRp zMqp~s+tK7!fOxbehtd{G$k1eji8k<@xY(V8eRY+bP;q)nFM03Sqlv9#&o2HZHN2Up z3EUDDl7YlI3t>M~(g>8(3ptiX!*#mO@0*n2Oc9#2-fJn@lkAJ$XN_P89GTzjXnxQM&w>kyj&r44+QMbatB+vUY1gRC;7+yeyZ&;P<%?n?-Ug=!YY z(A+0w3@1E5`jS?Ur3K2h^l5(Ku~Ie%j@q8J8U@@QB<9U9zF~t!0nH_6f@2s=g@4h9 z)%tf6k}eQQmgV02`jjqz7{8lGLKu=_u<<9cwvy($ymK5!pf7L^_iU3hN>>Yw+`2^y z0hLEu*Qk*AuF1^e{b`oH{sb~lgJXYT1@09c z(u9x8{)>ECk0ysewDkEGw6eK}!KYfD0*)e3PXdZ`1f{V@FKjs*17}G|j@5>HZMY0fcF(%R%%Z7-TfUhD68~9k)i#fC6aS*p;uPHK zAXCG=<86-Dfck*Ih@wlyd$o%01af4cdgJw;rW}c#1#DaMyLH@NUt~K`GB>gzs)}g0 zycYVXuqHR|4Sr~gWddCI_mVv6R!KthsEH21b`0E0GxZ?;ioNQ({E|Th!M*n+Dg?wo zna6B9jAa-hVLD6#<>NKQ9Is~T=)`QkS|&jBYtRo@yg6MgjalnysC*#}r=RN1`DeIZ zu4k3HrkL7t*P7LzC$ipH`wv<{Ka|1NXtK+O{3>lD32Vi>=@G3H%Wq`Uvo2$Nodo%J zlm&kMb@VF{6xFpwDAauv1uHTHt|Xuhp7NBmJzQ*ew6Tl$iC@B+znc>u96^8OXP4=e z)g7IG6^06|^v^ zxI}(K|G%Nu6>T=6jWW$jgd3w3Ay<$oX+;=GEtBY-AO@%%AcA0dG>eM}aE~pFc@*c< z`j5wkCrJfEA&*6;HkjGMT)aDJu7v_!XnI%frkB4dm}&FM4{$-k;$KyOjS|E`S#B-; z1g`~*2>T;yZWpq&MeIWL4b@|yFZN#sS*H<;Fy=_8hj^7>)qG2^6Y&V)pR|~Fzrb8| zxo-`GY3tY>6g?d{K+E|z%tdKYL1>vu{xt?O>7_+vrn7>~Dr;_-etsVUwUk)y+KOf! zNv;{-0aM^&+Z10D;nsDIhUQGXON;o=sJA@@o#r*!?u`BO#xZn|bH$f+VxOw$y-JHZU4BVBqH$u>ftAzQKhZgJ z{l^)DMC(RYM?bC=vJ@1*?UWP?BA{6Amg6`l1+4n=2qmqyZ}#eNZU=QtR_>DmHe{h} zr&=CZXguz6xT_j(TYm)?AM6;A0iF6PkjqpnS{_HvCls&V@(T~MA8rwzd42d6*#n8} zHlP85) z_Q9}_uU%-{qn#!f&Scob_NB%{I}NZu(>cSn6P}E9n`_O zVeQ1fAQ`v0T|)jbD7_B=c=44R%tv0{O)F-JAFZRsM9J{#61VlTTDw5B?-Fye7FNxc zyA=v8?54|@{&Xs1$6b;;C47GBlh+!)`Jg3M=K|1MJ0*-}t9+Irbl{#1bD!YOA9pR} zw48y&zMiHaJ*ws1X4hd#Bm0cH$RLLM2NqkYUAbpwVD49iw9)v|cUzPK>AD6rPn&yx zDwW6b^#U+9r+d>*o8`(wmJ3gq3n*K!oChkMNH$0gL&wzjsBJkCa51!sK|4a{F41%0;ln$B=C%cf~XJp^fb8ct5m zrEC5=%Wa&t)3E>)FPJjyJyE*-fNbj5`t)nqoy>B=_lX z2jCwtM$ug*xwYb5$$Xenva8a!#V=WxHlAyw`9$`Gzs~{w5R@EgSNi>5kt|tX^d*e{ zrbv^@1d-vq@+HKZr0ugwJ^G;xqUy#b1n=&Hi)U-{do6-rf;#BXP405p{c`-JukuX> z-3OT?zxxV4xC6IJ83_U4ug4D*w0TML`7AX1SaIAwY{T0Hgw|L&@GYO`_yjYFy!Eur z)6+%thiioj(cD1=gac`3aC?}1^)i8-IHJY8vt6eSMN;=EyKR?SZE~8^G^S>w{l~7% zR+^K*L=-!*y%{bD)h#k~O|)M<$e;Xi_2WmTjdZ4tBx-Si=|$P!pw|R@S#%taPV+jk z6WbHj@36L_sQ~|?BsUb`_a>8+7b`dxKN3*ga3h~v>{2>hNAMFFuxXWfa_n|LhZvZ8 z(hL7p=&=J!ie)6~*sg6$iB>Uvc%z2KoA+|;Y-q$vo%Sii46JIN$B~YjISEgd(sHdn zY@LShlJxBs4%jjdQ%8dr^C1QW<+1=|v5+Ei3(aJp9{!WhfkFH#)B+Fb1wxtbs-heY z;RKtoqI=(~Bk$)~YAPnvkl<(TTzxU`4? zoV#azEu3EttG!{Cs0eKk&x-U-U$T2Z0#=c!S`J4-(plh- zx9jO<5$hb$XxO$Dh?$mwVuTSTtU709OEDrIcWsLO+{!Y`9XGx<11cR;FX-|<&7$Ss zb+IfkUL)fEcDD7Wp75ex^6cvS^U0W%_Qz&Hb4QGm$vOCUe`+U3r_w21^OTD(?NRoXa5hWhnh>``x9=E0w~sor99Du?L{SE~ z=%%H3z+g*Ra;hKBP9PxT$b%+_0sEe3@KNS7 zj^LZ!?7n)fDl`jbsq?J?1~LD@PWA%tH#<><7ty}zF_SUSgNoM=$5C7dV#}5KS8w(#RFR@z6%29__VTPdBXEa_YL5=#IhF> zx^3v6qE=e-uY5h5Sm}aK2s4B9qGg((ehqBx1Dqhl% zfexd~48`p?G&QTM{HD${<_OVFjzF5gXO<+Iq-4_sh-sYw`exkWGpRewCEcfZrJJBh zKCBwXI#}*dB=+W`WOlv>C(KDAagq_5OWbd$2lTxTk);@X1rGU-Wstz&HO!-7QpY}# z4)m=rem4UmiP=6z0z^2E`&PPEEpooV&$K^lr=xLEl|`h)U(F za8uMaHrCJg4?#J|wKZPKJG2f;@j{Q;bg@JqbqP*Jm@aD?fAVGdk^9+<1$=(~a7jp_ zkihhfp5-xQhR80<#F#Lqex7Ts0y`Sh3Lpa!2pUk6cR4!%08n5)008d(g~vfdVr$Uj z*MzkL727wJj|D>?l`W^xNQ9-&0xI*N$t9oh{f^&H$TOtz7%#*bBeOUGBA++9dqi=U z*DC*&{MMP@TT=@RPp2n|H2owJqJ!`{0eOfC42PUno_<&wP2bodDop2R6o5Rt^NW48 zL%)EB5xLj0vEy7wumk?Ki$SS)y`ljXo^_k%Ta>cwT^Qe#c(*N27#DE}cgQkQH4~f2 z+BX9iS)t5QCtm8kLwSFF^`un@tXGS^(q3d4ay9^7rZ&G?sYfgZ!bSS?UemBafz z89Dew8Ec4cQ#IQr%O|d{zK76*# z23XgZ+|ITL#|NaoakmLRPw`K#5_pPkfzBDKz`PDYGbdTTCSFwAYzxx=Q>%3Gpn=S5 zh=V;q$wPaUq8U^>!Ti3wGW$=35=h`PD?A%gx365nIN1S&gnP#!Y^RaO#{e1>0KoRk z0zh69ub-<>hg*oxoLrRGyG>-he`mM{avF4R)|&=vyg^FQET>Y=GeyLu>r-iwkG*2n z)ET1EW-P;)Zj}g=Wq7Az5SlfEqW)a`Qdnu{-rz!2slCs$u#iV*mPV}_b8SZJv!7)F zQP5{4{_0h+jao35w3j_`+3(vvgay#{$!3qaLoBLiOV@Q8N(-6{6n@b$B76YNRUQUnGy=xD7~ry>VGXr}vQCr&5KQe;wsflC*!+Kx ziV4lm;(AIfsy|EbM?ggYw4zYhFIX0%U^?7UOMC;>TA@~zQ`J?6#&Bi4Bo>DiF)9=7 zkn$*K@w_r9s{^Y+aP`6@5n7Fgqu2U4bXa5cA1!JHqw&f~7xhsnX{`ZJk~6mj-mOGx zX@ii>#SkP{xAOK>XCnn6Yqvt_prs}ZCIyPr>&Y6y2^|b-XA|yL?xPL$lMg_G*C3nQ zLHapoU?SLm{^h#N@bXd?DLwGG(Zz0;A+zD2jc+|G>QK(!ZscPDmzcl5d$Kj)+VUN} z-p8^c$PFQs;vQpR03byGZub2Lxr$Ec3#@m-A&fY|BAI_|LEA=NFNr5OVFSoxBAr*+ zQJxU6R-5?W%1KJa9P0H0wp0?9-L8&!1Mp!BBT^77uORW<>X(30ssgpNaGTS zGsgIS$05!_3D>MtLRLPmjL`%ar&3M8k1AgSWo?2J3>GT@W(y|+`v?f!`^RZ{_7s$j z=WBp|;q#I|0Buu6H8IWFKDItbJn%lYX?w8eTJYi!;H!S0mJdIn$}Xyn!oL-j4u8R; zamhQvq7#YSAiERT3DiiIhd3tycR^ZE+06s(JRY}X{>`safwlECVr*P$7ZW<<{c2{0 ziWUbs%8_aH2V&q54-Nv$o#SKy7)T^((Y}Gw=eq&lS2h3;A^&IjSK*}xoL8{UG}uws zpI(Uvqx%XOX71C2^o`k|yQ!u@Bfe^ad_~0;-xnq~giXSieH_0QP`xgp_ z`^)fUCKWz=QZQU~5=Al?4ePAJYD_nz0{1zz^)ZM5n>m6lLmu`$SEkzy>$R-bMyLs@ z=)u9}N7i7}=}{;+kWi=gEF@?h>kV55rb5BbVdOVW^~UcEye^_WaHbF-3N#^D#e@G* zF6){org9o_jf#t2QIY7?rO>QCY#RIMc68E9|H%?h$b6wqSvq4pbcsLNcSn3saV@FD zUdQh~KIW?00d0%o?~ptYD#Wut1)swUkhKVNwL@n(XNMhoKL*kjBWDCRGA8OYUn6J- zuAYlD>-DJQa*zP(8uq!kL6Mt}aoOSxjV<+RyDnE;us>$e3A_H)Ob2HSl`2{*EP?qY zaybs|^^=1>0Zl2~5By#&b zr&b$M(HeTbx$RPki8}^|1Dsrg^{Ic*dN}veDZw=00YOkRuH#${{JIR zlI_0`$q+S$%#Jm&9q$~yprlXh16iw>mzyV!o~xa-!l?;kr+p-1wG{{xW=DG{%K*Db z6rH0>ZVecUX?qcTkYsf`*7R`)l@MwS0!~9;rVy)Gj>nsbzGlyZZtHvQ zb>yl<0mPzmK!hv>uS0gvn;4QLCa?yFP9@*wc{6XNpyDR$v|5B*U>_7>5b}sxk4}tN?AR{p-C< z&X?K~vZS3m!{p2Xw0NcCQr4lbr0=IbF_V3Kx(Zs@@G=8_AoHV{XEZ_}W9349b!a$}Q$H|00W#1@ zAQ}(-k0`0P4D)DlI>lkEpeVxn8c(4R93H78qy#|_Iz+7BcUt4${|j=UO~_dqAVSMW zAz;e*jhf}q?AZMb6?(JX+EoJAork4(NDLWk*Z}Iq&44TQhuI>AZ8opByt~5D;O`gt z_dsriU`0GnihR=m>M=#mS-J-}H!mosCLG_3p@MEB zLk`ms=vRbl>bWiU%-|wWq2!|zNvYBn;{RXuwhc{>Aj%K7C^~nuduoLNV=)AZN2_k3 zz;-`RH>%=@r92()d`RE0QGS5<@`|%bK(o;iq09&UYqOK0SIwJG14b(#m=2=!D5B$F zgf<%tCG)1L1i3xx?*DlC(o}lw9ygbI^&p|qik!r1k5Gxon!a5M%2Jj|5^L?aD^qYm zfx8lG)XFatkpg;kl7iUr@9NO6Pyt{KDyG(1Yf`y>^ddl}X|S#}nRTT|th5U}HqKE2 zt(Hrn&N}^vw4%8rcl(-7gwXhBtuVd2Gh_n*0RRAT!=U$EoznM2ngF`PG853y6_*l9 ze%u%Uc7V#XAWOwh6lW>8taozvRVsHlq%hE!XVDp%24NTvCot~oA5=?2{X?SlLdFoR zg^<)*&y(owT!%Ll;ltk zv5*z@4Ho;PyATCjMJ3fozO@7rd&}?B?}Y{U&XfU6fm05zh}g68|3tLZ@_4GVx8_zv zpty5A4gr$W`1>vgUN-a}VW_ zKCy{=g(`woORtQ5deEVOMEG={Q!AOuo>s=UHK;!}B7uhLogYGRpUH+3b<=Tc)$A%U z{i^}ev^8}#=JF}RSB~~(+X92jV@I%OtPF|(H5SZ!+%p1mdylzQSx{k%>*0j2egQp_hG7bBfil%xj8J5Io(ve*r5CoLjSX zlFsj`HB)^RN?Y}o=pY9poEpXe6w>oma)AEG-Epc;qc1Hn@hdHvd$gl_pwBoBX=;Uy zD^B*zrrW(~8v{`X+O&!>M+BC{UHrdoVk{qL-++|e5yyv3dHHXiD`RBU2)9*ed3|u-dI;%H2eD)KB<2@`?x>`7kmWbzMAM8b z$XE;_?mZhK1-&Xb<~>4EBRd?@dZ1VgdE!6+FlAXN#P4-57f~Vee4T)};r}^C z98jhP)B2;6b~c3-2h<~FwC>4RP#1G1Pk9LO9VPQWD|_xuZ?3V)AtVIj76tF67bz(d+9CU-2;HJKS`8UF!7$2xS3eajd<#{akg2LF z%rSix&Wkajhyt9FhH>PvuRvyC_(tyVSJRcR2IoSr7ox|bXR=O+!c4y%pikB33JW^^ z30ao~J(@08WZuQI$Fe-y#sdy67t5DAOP*@IlXD%o63JbV657*-S z9dIR3pLI&}3xq=Q=tW`;I7>k~Ky(sgfK7%MsKpdF&Ny?^j7_e}nB;!j{WT^JbX?QI zL0#(=GE9LWks*GGrn>gV+fV?YCv^Tmp65-Tp`rgQz-gIb*v2Od#6ogR?omuov|+gm zeP@<7YwsD(rJuYS!#*qQ{xiJ9ngDk7V>!U4B~x}}!mFYaC*^kfth?K-vqHqvy0=Wl zJk_<>yl87OTzAH5m!!$IaI=aw4LA1APK!9J{~B1JrwIE>*ME{_)?M{@Ed2J4{Wk#o z1$duS8|*m9{D%N`{R%aDBQG}`HL z8o_LC)U-mBQI*R1*OP%givAr-Lt(!=Jv`k!*G;5LDt!9q0#+|*d8ae!K90^~z0h$w zCB)c34#{24L|wSrVapX~Z@`lj)#f&SkN&e;1}p%u{Lj3PS!H1EDVqgdTmTu|kA5pt zYJHVI!uG{>D^Gy@uQ{`=YdUvD5~Z?yKpbNTbdxbzH#Nd#vJUSVYm_W#I>^P!v^e16r$bHwgJ83Ug+jIZSEYxOsjKl_HBx1#rC`3D2kCw$oub7E*kfFQeki@9kP51Br zYi-yhpqzvL*V@pocNF-%#NBo1ETlpgE zeWp`U#Xv>lrbc*;n0hLra7f09_S@R!NOY9^KLA!hslUJy8M_GI@n_#<8PRzs?)FVX1bGsrIEyGSs+ECG@1wps9i$PIFQs zgCl?uw)x^FxWk*kZ#O%3gebno(5jO4mNA>I zKwt<2C?-su`XAGg1+z#UL|8amJ%{D&ws#Xz+aH%deHEMLn>)mHBCcx$Ec7d8a>*iA+3TVK^PDYcZ?gtG-ZUxNzD&g4})07$$A2 z9+1vK2*bYhAD>dvN&YjsGI@-@W#^q?-c3bB6HtU__=r;+_R5CEumBf;d%yaBBgZ{k z`|)2-dh?8K)SY-Qc}m?O{Rj7bH!m;C3fG*!dOus;ASVT|$e<7ULF(XuR;_@XIKh2e z2TaE|0mU|b*_z@|6YaOT!29&a)8k_-N14=VyPzHKd4Wb|lhnJB)2(^JYT~yXQYv}o z&ZBqE`1|)2?7DGbhoYWC>8>%qFe<&2%Vaz4Cte>W>|N-1JL6JyEOiC?2p4 zVF|s^7r+1kK~MkyC)Z_oWjK=fT=K)J{cxjd%Ep~x2X;cn*1hr@X<@iZs{mxqJoaOK zfE^He_hWe~Al6X;A6WoydAH?emM2G`p;{gHLDwu`4HspzER+*iI~Xj!?69Z_8*a(y z@Hp$B<$x5b8Y8C$Gyq5dHg0yhkgUF7=*;cH{;PdCDay2$(_Jdx0lOryE7fv_z0+W3_9G11>zxc zl!{IYKr*udFgipUqr-ckHvj+vLZAQuADsn9qiXRjfcJR~Fy)|${rf>ExCN6|IgnCP z!(DIWlo%h9CAI}jL15)0HXfu$JW>lUOEZmhq%@`p8S>t>WW8!98xRLJR7BB?)RU?m z%Inh%ovF`L`qY`tB~s_fN_K-Y{NS~wTAb?ZIW$#XRXJww_G38(L_EaUzw%F|buACHLB|UK1!7m7;QZam zzG-uHoqh@J&^HNXHaWOUz^d0HZ*(JyWIcb4?WU_|g6Ey~{!@J{WqAEyqJsl3k0HA? zC$?5ztzew4O~{r+Kuubx^&A9FO74EXfOW88*#l*HU}YB=;*v(A-D(@0IpE(&OE&C! zgbL>ry&wr{p?_L7A8`n?M&xSSloamvI$0>fNkNfcLnC;tSXx#_skCO_GvYmNsLQvcvnW|MG>E#0l8Ugqr3X?USjEEy6 z$-992Gj=wtus{G7uC77N(s0@2mQqu{JuKc}9XCag-Tm^lCu!klSpZT%%MG55nmH(W zQU317`Q|X{nI@?_gQZJQS;SpLdoWzx^G8%axB(X)SkH(uju7H>+-Wl?fH0pMOxa-k zuMD>w>2SsKloBTl2N2?xdgI^-UfU||oTod$e&<`F1r|R5+z2YuyV>BZQp^16vd4AX8CVnm0crpj z4C*IOWkujnm(?2J0HJGdq~G~=C0V{i*J9Ik7Q9_{3>1mHsBm(e7&x*{vLdxAloKUG z2n$q}#Ha=(3;En%0$u9?2w+y^O)HcI`j|nM2z3m`KoiH~1S%lSHiNmj{Ff2-n~e^_ zPN3na&u{fkr3Nd|1<&{eo!%-n4d&_dtu=T#`r{uB*3XS=Xz?QAFy}JF0Wdy69#S)V zs5bxr0)n6b03p|q-fS6#qr=sUc>9$?C=G%7MAsu8*i|@iSW&+@p;cml7#MpRX3%(V z7Jd$_(09p`FE7RRf^h$>cEt)D)Nui~1Kak*0rCvjOftEoi63zYE&Wy>C9|*pJUyfG zJ1^7M#V#WKkhfW0B%y1uS=95|$0OQ&;9wtarsLES!Xk;@v#V-$l84<3SV>6_+dR$^ zZ?3o&ITqvL8#!~>?kN$vG!;OpDIOSq94F$#?Ilt3kQxEFAqtZvl9q`hqQO;)#jlu8TVhsTauK<0?M^?)!&FW`>GrKPW07Mrd$=I8TTHJr6w`JbvUBeLwRWOK z+8m0k78t1zWL4BG))zwA4x?M8I!8C%PrEn~7@Wt{)ygwr zEGCaX{J;TWjsvgCM|6pLjIfaxJ*$!7;G?t<<$ZDr;8W+622#s~$6~A;hslEyFhh-) z`mOOENB&GwIjOO8#~symo7%Kc16yThA{q`gB`x6~h(5X$u!5STO8}33lsBhl8C93W z{I}N%I`6=wzp7GRrDU=w@8G;f+4VXb%#2u)k*I$J$!F-Rx;(q~?%7*Z9u~F#yWDVC z47~J2*e%4Qs2K)s7jNK@wdh9ccj9J<=33g{Pbnsq3>qDaw}9YnFr$RS0x^>Ip&Z!l zlbsp&?;k4HMPXbSul4!FfT)+m^d&SGp3fQ&4yn^2-6$g{`4KU6;`}F`djD>o7l0h& z>-@D{7=;3BzX1!}ubPu{yvXwfv(5$qiZ>2`G_NW$G^;dyMtdCIdtbK`*Rs2m46HZa z^1#v(z4zg=u=t??32bYkOgwuw57}B;ad0K=@MY;QA#U_cCv=+Q%3c>@P?0+Xvy&iZT^ zfvF97zo&(}2N=l1XP!zc4Jm-ju;e#85L`H5^s5j|NZ^`jXbB>8!mC?<4W6uselKo@3f!FO z9EZ6WSPBcZQNniW|Xk-xU*?e3e=b&>PDVRbMbzntTHZBCNag zAyWQxG*z-?o5*fL5?L#ya+5BgIzu^A%P79bF`KhS4gQX>@iQWb zDqK1hMk*#nSs5wTwgLvLB_M=?b<8IC^{#G67VpGKK%(YN&5n&=fpx5r3^YPeYEyGr z=-UkeJn{$-2p$k+!%nEEz#Z_ zNeJ^+s!A#a<|$3?4aTwRE`$izz)~1zS8&Py{t~kIICiRSAbsME1=1THOX9F%9GeC>&;~Uk1(* zAAQ3u(5BYRPS*S82fbae)vXDNhG{4FQv*&^7&6k+FQ3!~;x2mZupCW>5w$0VZ#>R-@*7uA@rIKR8 zEV7P(sdq9BfRg0od_P>eF29js7=f+9yp^0a3PwpHlMBY#zr9b4m$FV+-i!fr(aJ;L z^fGo(u!b*u)}6ttt3b6_(Kws0-v=3SUDTN{IPV3o(PhAN;X%nxR$^rMDVWG=+)6bf zw1G|Cc10?69ad)YDP%EC9RcYUM=*;5-v24g7{e>$)EN^KmJ-dza-JbabnqBW^PO`GNJHAhcS9^W>4+pZk^74VKHReNX{fh|n)3yV-EprdU%xA7~eI&N5c}T>h@O zF@paT%u-c3yPSSpr1i8_zL;e5vUU@Xp85pL+x=$94nC?}e@nWV(kAwP^)~(2<7v*1 z!5dD7Sca9f*^fxeDZKVVS5G#LaV@DF$T z%f;%QlzwO2Upw0N-mG8Dr{?`^Y;tbGQNPzTV_6$;@tV-4^G*PT&?o_CG{vsh2(2(( zn1W^_^IYtpRhO+?{>l4_M(AyS?qDe0$DWe#hzkaayW}-PXAKGH!aU?xxI?!~y)qER z6Jz7{3hpv7)j77*_>aO(118hm9zt@GWmnrV`G zsFfh9@?RA(KE0E(0e%<;;i9_yu5?_AGFso}`@O$Th)yX; znD$N_+tc%yg(xua*Z#+{B%xq=ONI6;|DRLArWcu+fK&m$Ptm}IbD|LuZf>mdHFdiv zIY?!|BM@K#V)pI)-uHh}AaaVV&x{b%NS`aKs_dxh^ee?V-@miLD~q;`59s;Qx9v!* z7c#7~c{QoU*%M>{SW0q$q1$TEkU(B)ZC7ke-LGzz+>-|k$rSD2Is^t$P=4DCY>w`w zf{MsiAY@Wo-Xj76oZ+U)h*JIcW1@UV_AMdgljTC(Ft&0C= zQ6ah82}O-xOzt$?@AYB76*}(c^p^X9D2O5qsm8f0fnXGBF2~tGIcsx&+j; z3g-YJsS*61XiX&uJzl6201%l>ewxolLBap@TA&{aK?(z^(prD&HaY(s5jI7WCNw)U za!18Ye6QPBJvL`9NqYWH9#ZMidQyL@u1xxui$g< zAv{}T{J*xO*0L3Au~80b+h>DbA`dnH%A%NeH$g^&W=1&uD<2Tq*yJFM>yu$mes9I< zBP?3xWOP#2A_v>YG)8+&&C>u!EF!rRpJ8f}b%0DT>fyB|HXxYtUeH);X0N&E=-m}t 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 Cke;Ui literal 0 HcmV?d00001 From 7b9b878aeb762b04561bec19b24389c44cf5892e Mon Sep 17 00:00:00 2001 From: tonihei Date: Tue, 2 Nov 2021 20:21:34 +0000 Subject: [PATCH 04/10] Add missing RetentionPolicy for IntDef PiperOrigin-RevId: 407162673 --- .../android/exoplayer2/source/rtsp/RtspMessageChannel.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/library/rtsp/src/main/java/com/google/android/exoplayer2/source/rtsp/RtspMessageChannel.java b/library/rtsp/src/main/java/com/google/android/exoplayer2/source/rtsp/RtspMessageChannel.java index 526f508953..a877d72b13 100644 --- a/library/rtsp/src/main/java/com/google/android/exoplayer2/source/rtsp/RtspMessageChannel.java +++ b/library/rtsp/src/main/java/com/google/android/exoplayer2/source/rtsp/RtspMessageChannel.java @@ -39,6 +39,9 @@ import java.io.DataInputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; +import java.lang.annotation.Documented; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; import java.net.Socket; import java.nio.charset.Charset; import java.util.ArrayList; @@ -334,6 +337,8 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull; /** Processes RTSP messages line-by-line. */ private static final class MessageParser { + @Documented + @Retention(RetentionPolicy.SOURCE) @IntDef({STATE_READING_FIRST_LINE, STATE_READING_HEADER, STATE_READING_BODY}) @interface ReadingState {} From a9f7b943c823b9337ec19ad2510514b93ec942c9 Mon Sep 17 00:00:00 2001 From: olly Date: Wed, 3 Nov 2021 07:57:55 +0000 Subject: [PATCH 05/10] Prepare for adding ServerSideInsertedAdsMediaSource for IMA PiperOrigin-RevId: 407274072 --- .../android/exoplayer2/ext/ima/ImaUtil.java | 30 +++++++++++++++++++ .../exoplayer2/offline/DownloadHelper.java | 3 +- .../source/DefaultMediaSourceFactory.java | 27 ++++++++++++++--- 3 files changed, 55 insertions(+), 5 deletions(-) diff --git a/extensions/ima/src/main/java/com/google/android/exoplayer2/ext/ima/ImaUtil.java b/extensions/ima/src/main/java/com/google/android/exoplayer2/ext/ima/ImaUtil.java index 13952abd72..9a40ba74de 100644 --- a/extensions/ima/src/main/java/com/google/android/exoplayer2/ext/ima/ImaUtil.java +++ b/extensions/ima/src/main/java/com/google/android/exoplayer2/ext/ima/ImaUtil.java @@ -41,6 +41,7 @@ import com.google.android.exoplayer2.upstream.DataSchemeDataSource; import com.google.android.exoplayer2.upstream.DataSourceUtil; import com.google.android.exoplayer2.upstream.DataSpec; import com.google.android.exoplayer2.util.Util; +import com.google.common.collect.ImmutableList; import java.io.IOException; import java.util.Arrays; import java.util.Collection; @@ -134,6 +135,35 @@ import java.util.Set; } } + /** Stores configuration for DAI ad playback. */ + static final class DaiConfiguration { + + public final AdErrorEvent.AdErrorListener applicationAdErrorListener; + public final boolean debugModeEnabled; + + @Nullable public final List companionAdSlots; + @Nullable public final AdEvent.AdEventListener applicationAdEventListener; + @Nullable public final VideoAdPlayer.VideoAdPlayerCallback applicationVideoAdPlayerCallback; + @Nullable public final ImaSdkSettings imaSdkSettings; + + public DaiConfiguration( + AdErrorEvent.AdErrorListener applicationAdErrorListener, + @Nullable List companionAdSlots, + @Nullable AdEvent.AdEventListener applicationAdEventListener, + @Nullable VideoAdPlayer.VideoAdPlayerCallback applicationVideoAdPlayerCallback, + @Nullable ImaSdkSettings imaSdkSettings, + boolean debugModeEnabled) { + + this.applicationAdErrorListener = applicationAdErrorListener; + this.companionAdSlots = + companionAdSlots != null ? ImmutableList.copyOf(companionAdSlots) : null; + this.applicationAdEventListener = applicationAdEventListener; + this.applicationVideoAdPlayerCallback = applicationVideoAdPlayerCallback; + this.imaSdkSettings = imaSdkSettings; + this.debugModeEnabled = debugModeEnabled; + } + } + public static final int TIMEOUT_UNSET = -1; public static final int BITRATE_UNSET = -1; diff --git a/library/core/src/main/java/com/google/android/exoplayer2/offline/DownloadHelper.java b/library/core/src/main/java/com/google/android/exoplayer2/offline/DownloadHelper.java index 7fea1c5a43..e9d6c5829a 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/offline/DownloadHelper.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/offline/DownloadHelper.java @@ -891,7 +891,8 @@ public final class DownloadHelper { MediaItem mediaItem, DataSource.Factory dataSourceFactory, @Nullable DrmSessionManager drmSessionManager) { - return new DefaultMediaSourceFactory(dataSourceFactory, ExtractorsFactory.EMPTY) + return new DefaultMediaSourceFactory( + dataSourceFactory, ExtractorsFactory.EMPTY, /* serverSideDaiMediaSourceFactory= */ null) .setDrmSessionManager(drmSessionManager) .createMediaSource(mediaItem); } diff --git a/library/core/src/main/java/com/google/android/exoplayer2/source/DefaultMediaSourceFactory.java b/library/core/src/main/java/com/google/android/exoplayer2/source/DefaultMediaSourceFactory.java index a98b8f4a1b..0cbae12170 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/source/DefaultMediaSourceFactory.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/source/DefaultMediaSourceFactory.java @@ -45,6 +45,7 @@ import com.google.android.exoplayer2.upstream.DataSpec; import com.google.android.exoplayer2.upstream.DefaultDataSource; import com.google.android.exoplayer2.upstream.HttpDataSource; import com.google.android.exoplayer2.upstream.LoadErrorHandlingPolicy; +import com.google.android.exoplayer2.util.Assertions; import com.google.android.exoplayer2.util.Log; import com.google.android.exoplayer2.util.MimeTypes; import com.google.android.exoplayer2.util.Util; @@ -119,6 +120,7 @@ public final class DefaultMediaSourceFactory implements MediaSourceFactory { private final DataSource.Factory dataSourceFactory; private final DelegateFactoryLoader delegateFactoryLoader; + @Nullable private final MediaSourceFactory serverSideDaiMediaSourceFactory; @Nullable private AdsLoaderProvider adsLoaderProvider; @Nullable private AdViewProvider adViewProvider; @Nullable private LoadErrorHandlingPolicy loadErrorHandlingPolicy; @@ -146,7 +148,10 @@ public final class DefaultMediaSourceFactory implements MediaSourceFactory { * its container. */ public DefaultMediaSourceFactory(Context context, ExtractorsFactory extractorsFactory) { - this(new DefaultDataSource.Factory(context), extractorsFactory); + this( + new DefaultDataSource.Factory(context), + extractorsFactory, + /* serverSideDaiMediaSourceFactory= */ null); } /** @@ -156,7 +161,10 @@ public final class DefaultMediaSourceFactory implements MediaSourceFactory { * for requesting media data. */ public DefaultMediaSourceFactory(DataSource.Factory dataSourceFactory) { - this(dataSourceFactory, new DefaultExtractorsFactory()); + this( + dataSourceFactory, + new DefaultExtractorsFactory(), + /* serverSideDaiMediaSourceFactory= */ null); } /** @@ -166,10 +174,17 @@ public final class DefaultMediaSourceFactory implements MediaSourceFactory { * for requesting media data. * @param extractorsFactory An {@link ExtractorsFactory} used to extract progressive media from * its container. + * @param serverSideDaiMediaSourceFactory A {@link MediaSourceFactory} for creating server side + * inserted ad media sources. */ public DefaultMediaSourceFactory( - DataSource.Factory dataSourceFactory, ExtractorsFactory extractorsFactory) { + DataSource.Factory dataSourceFactory, + ExtractorsFactory extractorsFactory, + @Nullable MediaSourceFactory serverSideDaiMediaSourceFactory) { this.dataSourceFactory = dataSourceFactory; + // Temporary until factory registration is agreed upon. + this.serverSideDaiMediaSourceFactory = serverSideDaiMediaSourceFactory; + delegateFactoryLoader = new DelegateFactoryLoader(dataSourceFactory, extractorsFactory); liveTargetOffsetMs = C.TIME_UNSET; liveMinOffsetMs = C.TIME_UNSET; @@ -333,7 +348,11 @@ public final class DefaultMediaSourceFactory implements MediaSourceFactory { @Override public MediaSource createMediaSource(MediaItem mediaItem) { - checkNotNull(mediaItem.localConfiguration); + Assertions.checkNotNull(mediaItem.localConfiguration); + @Nullable String scheme = mediaItem.localConfiguration.uri.getScheme(); + if (scheme != null && scheme.equals("imadai")) { + return checkNotNull(serverSideDaiMediaSourceFactory).createMediaSource(mediaItem); + } @C.ContentType int type = Util.inferContentTypeForUriAndMimeType( From 113939919325e271c854e939bc713c7287aa3b2d Mon Sep 17 00:00:00 2001 From: kimvde Date: Wed, 3 Nov 2021 11:01:07 +0000 Subject: [PATCH 06/10] WavExtractor: split header reading state into 2 states This refactoring is the basis to support RF64 (see Issue: google/ExoPlayer#9543). #minor-release PiperOrigin-RevId: 407301056 --- .../extractor/wav/WavExtractor.java | 135 ++++++++++-------- .../wav/{WavHeader.java => WavFormat.java} | 8 +- .../extractor/wav/WavHeaderReader.java | 57 ++++---- .../exoplayer2/extractor/wav/WavSeekMap.java | 16 +-- 4 files changed, 121 insertions(+), 95 deletions(-) rename library/extractor/src/main/java/com/google/android/exoplayer2/extractor/wav/{WavHeader.java => WavFormat.java} (91%) diff --git a/library/extractor/src/main/java/com/google/android/exoplayer2/extractor/wav/WavExtractor.java b/library/extractor/src/main/java/com/google/android/exoplayer2/extractor/wav/WavExtractor.java index 97d98b5fcc..6d3fc254b1 100644 --- a/library/extractor/src/main/java/com/google/android/exoplayer2/extractor/wav/WavExtractor.java +++ b/library/extractor/src/main/java/com/google/android/exoplayer2/extractor/wav/WavExtractor.java @@ -61,12 +61,18 @@ public final class WavExtractor implements Extractor { @Documented @Retention(RetentionPolicy.SOURCE) @Target({ElementType.TYPE_USE}) - @IntDef({STATE_READING_HEADER, STATE_SKIPPING_TO_SAMPLE_DATA, STATE_READING_SAMPLE_DATA}) + @IntDef({ + STATE_READING_FILE_TYPE, + STATE_READING_FORMAT, + STATE_SKIPPING_TO_SAMPLE_DATA, + STATE_READING_SAMPLE_DATA + }) private @interface State {} - private static final int STATE_READING_HEADER = 0; - private static final int STATE_SKIPPING_TO_SAMPLE_DATA = 1; - private static final int STATE_READING_SAMPLE_DATA = 2; + private static final int STATE_READING_FILE_TYPE = 0; + private static final int STATE_READING_FORMAT = 1; + private static final int STATE_SKIPPING_TO_SAMPLE_DATA = 2; + private static final int STATE_READING_SAMPLE_DATA = 3; private @MonotonicNonNull ExtractorOutput extractorOutput; private @MonotonicNonNull TrackOutput trackOutput; @@ -76,14 +82,14 @@ public final class WavExtractor implements Extractor { private long dataEndPosition; public WavExtractor() { - state = STATE_READING_HEADER; + state = STATE_READING_FILE_TYPE; dataStartPosition = C.POSITION_UNSET; dataEndPosition = C.POSITION_UNSET; } @Override public boolean sniff(ExtractorInput input) throws IOException { - return WavHeaderReader.peek(input) != null; + return WavHeaderReader.checkFileType(input); } @Override @@ -95,7 +101,7 @@ public final class WavExtractor implements Extractor { @Override public void seek(long position, long timeUs) { - state = position == 0 ? STATE_READING_HEADER : STATE_READING_SAMPLE_DATA; + state = position == 0 ? STATE_READING_FILE_TYPE : STATE_READING_SAMPLE_DATA; if (outputWriter != null) { outputWriter.reset(timeUs); } @@ -111,8 +117,11 @@ public final class WavExtractor implements Extractor { public int read(ExtractorInput input, PositionHolder seekPosition) throws IOException { assertInitialized(); switch (state) { - case STATE_READING_HEADER: - readHeader(input); + case STATE_READING_FILE_TYPE: + readFileType(input); + return Extractor.RESULT_CONTINUE; + case STATE_READING_FORMAT: + readFormat(input); return Extractor.RESULT_CONTINUE; case STATE_SKIPPING_TO_SAMPLE_DATA: skipToSampleData(input); @@ -130,50 +139,54 @@ public final class WavExtractor implements Extractor { Util.castNonNull(extractorOutput); } - @RequiresNonNull({"extractorOutput", "trackOutput"}) - private void readHeader(ExtractorInput input) throws IOException { + private void readFileType(ExtractorInput input) throws IOException { Assertions.checkState(input.getPosition() == 0); if (dataStartPosition != C.POSITION_UNSET) { input.skipFully(dataStartPosition); state = STATE_READING_SAMPLE_DATA; return; } - WavHeader header = WavHeaderReader.peek(input); - if (header == null) { + if (!WavHeaderReader.checkFileType(input)) { // Should only happen if the media wasn't sniffed. throw ParserException.createForMalformedContainer( - "Unsupported or unrecognized wav header.", /* cause= */ null); + "Unsupported or unrecognized wav file type.", /* cause= */ null); } input.skipFully((int) (input.getPeekPosition() - input.getPosition())); + state = STATE_READING_FORMAT; + } - if (header.formatType == WavUtil.TYPE_IMA_ADPCM) { - outputWriter = new ImaAdPcmOutputWriter(extractorOutput, trackOutput, header); - } else if (header.formatType == WavUtil.TYPE_ALAW) { + @RequiresNonNull({"extractorOutput", "trackOutput"}) + private void readFormat(ExtractorInput input) throws IOException { + WavFormat wavFormat = WavHeaderReader.readFormat(input); + if (wavFormat.formatType == WavUtil.TYPE_IMA_ADPCM) { + outputWriter = new ImaAdPcmOutputWriter(extractorOutput, trackOutput, wavFormat); + } else if (wavFormat.formatType == WavUtil.TYPE_ALAW) { outputWriter = new PassthroughOutputWriter( extractorOutput, trackOutput, - header, + wavFormat, MimeTypes.AUDIO_ALAW, /* pcmEncoding= */ Format.NO_VALUE); - } else if (header.formatType == WavUtil.TYPE_MLAW) { + } else if (wavFormat.formatType == WavUtil.TYPE_MLAW) { outputWriter = new PassthroughOutputWriter( extractorOutput, trackOutput, - header, + wavFormat, MimeTypes.AUDIO_MLAW, /* pcmEncoding= */ Format.NO_VALUE); } else { @C.PcmEncoding - int pcmEncoding = WavUtil.getPcmEncodingForType(header.formatType, header.bitsPerSample); + int pcmEncoding = + WavUtil.getPcmEncodingForType(wavFormat.formatType, wavFormat.bitsPerSample); if (pcmEncoding == C.ENCODING_INVALID) { throw ParserException.createForUnsupportedContainerFeature( - "Unsupported WAV format type: " + header.formatType); + "Unsupported WAV format type: " + wavFormat.formatType); } outputWriter = new PassthroughOutputWriter( - extractorOutput, trackOutput, header, MimeTypes.AUDIO_RAW, pcmEncoding); + extractorOutput, trackOutput, wavFormat, MimeTypes.AUDIO_RAW, pcmEncoding); } state = STATE_SKIPPING_TO_SAMPLE_DATA; } @@ -234,7 +247,7 @@ public final class WavExtractor implements Extractor { private final ExtractorOutput extractorOutput; private final TrackOutput trackOutput; - private final WavHeader header; + private final WavFormat wavFormat; private final Format format; /** The target size of each output sample, in bytes. */ private final int targetSampleSizeBytes; @@ -256,33 +269,33 @@ public final class WavExtractor implements Extractor { public PassthroughOutputWriter( ExtractorOutput extractorOutput, TrackOutput trackOutput, - WavHeader header, + WavFormat wavFormat, String mimeType, @C.PcmEncoding int pcmEncoding) throws ParserException { this.extractorOutput = extractorOutput; this.trackOutput = trackOutput; - this.header = header; + this.wavFormat = wavFormat; - int bytesPerFrame = header.numChannels * header.bitsPerSample / 8; - // Validate the header. Blocks are expected to correspond to single frames. - if (header.blockSize != bytesPerFrame) { + int bytesPerFrame = wavFormat.numChannels * wavFormat.bitsPerSample / 8; + // Validate the WAV format. Blocks are expected to correspond to single frames. + if (wavFormat.blockSize != bytesPerFrame) { throw ParserException.createForMalformedContainer( - "Expected block size: " + bytesPerFrame + "; got: " + header.blockSize, + "Expected block size: " + bytesPerFrame + "; got: " + wavFormat.blockSize, /* cause= */ null); } - int constantBitrate = header.frameRateHz * bytesPerFrame * 8; + int constantBitrate = wavFormat.frameRateHz * bytesPerFrame * 8; targetSampleSizeBytes = - max(bytesPerFrame, header.frameRateHz * bytesPerFrame / TARGET_SAMPLES_PER_SECOND); + max(bytesPerFrame, wavFormat.frameRateHz * bytesPerFrame / TARGET_SAMPLES_PER_SECOND); format = new Format.Builder() .setSampleMimeType(mimeType) .setAverageBitrate(constantBitrate) .setPeakBitrate(constantBitrate) .setMaxInputSize(targetSampleSizeBytes) - .setChannelCount(header.numChannels) - .setSampleRate(header.frameRateHz) + .setChannelCount(wavFormat.numChannels) + .setSampleRate(wavFormat.frameRateHz) .setPcmEncoding(pcmEncoding) .build(); } @@ -297,7 +310,7 @@ public final class WavExtractor implements Extractor { @Override public void init(int dataStartPosition, long dataEndPosition) { extractorOutput.seekMap( - new WavSeekMap(header, /* framesPerBlock= */ 1, dataStartPosition, dataEndPosition)); + new WavSeekMap(wavFormat, /* framesPerBlock= */ 1, dataStartPosition, dataEndPosition)); trackOutput.format(format); } @@ -318,13 +331,13 @@ public final class WavExtractor implements Extractor { // Write the corresponding sample metadata. Samples must be a whole number of frames. It's // possible that the number of pending output bytes is not a whole number of frames if the // stream ended unexpectedly. - int bytesPerFrame = header.blockSize; + int bytesPerFrame = wavFormat.blockSize; int pendingFrames = pendingOutputBytes / bytesPerFrame; if (pendingFrames > 0) { long timeUs = startTimeUs + Util.scaleLargeTimestamp( - outputFrameCount, C.MICROS_PER_SECOND, header.frameRateHz); + outputFrameCount, C.MICROS_PER_SECOND, wavFormat.frameRateHz); int size = pendingFrames * bytesPerFrame; int offset = pendingOutputBytes - size; trackOutput.sampleMetadata( @@ -354,7 +367,7 @@ public final class WavExtractor implements Extractor { private final ExtractorOutput extractorOutput; private final TrackOutput trackOutput; - private final WavHeader header; + private final WavFormat wavFormat; /** Number of frames per block of the input (yet to be decoded) data. */ private final int framesPerBlock; @@ -384,23 +397,26 @@ public final class WavExtractor implements Extractor { private long outputFrameCount; public ImaAdPcmOutputWriter( - ExtractorOutput extractorOutput, TrackOutput trackOutput, WavHeader header) + ExtractorOutput extractorOutput, TrackOutput trackOutput, WavFormat wavFormat) throws ParserException { this.extractorOutput = extractorOutput; this.trackOutput = trackOutput; - this.header = header; - targetSampleSizeFrames = max(1, header.frameRateHz / TARGET_SAMPLES_PER_SECOND); + this.wavFormat = wavFormat; + targetSampleSizeFrames = max(1, wavFormat.frameRateHz / TARGET_SAMPLES_PER_SECOND); - ParsableByteArray scratch = new ParsableByteArray(header.extraData); + ParsableByteArray scratch = new ParsableByteArray(wavFormat.extraData); scratch.readLittleEndianUnsignedShort(); framesPerBlock = scratch.readLittleEndianUnsignedShort(); - int numChannels = header.numChannels; - // Validate the header. This calculation is defined in "Microsoft Multimedia Standards Update + int numChannels = wavFormat.numChannels; + // Validate the WAV format. This calculation is defined in "Microsoft Multimedia Standards + // Update // - New Multimedia Types and Data Techniques" (1994). See the "IMA ADPCM Wave Type" and "DVI // ADPCM Wave Type" sections, and the calculation of wSamplesPerBlock in the latter. int expectedFramesPerBlock = - (((header.blockSize - (4 * numChannels)) * 8) / (header.bitsPerSample * numChannels)) + 1; + (((wavFormat.blockSize - (4 * numChannels)) * 8) + / (wavFormat.bitsPerSample * numChannels)) + + 1; if (framesPerBlock != expectedFramesPerBlock) { throw ParserException.createForMalformedContainer( "Expected frames per block: " + expectedFramesPerBlock + "; got: " + framesPerBlock, @@ -410,22 +426,22 @@ public final class WavExtractor implements Extractor { // Calculate the number of blocks we'll need to decode to obtain an output sample of the // target sample size, and allocate suitably sized buffers for input and decoded data. int maxBlocksToDecode = Util.ceilDivide(targetSampleSizeFrames, framesPerBlock); - inputData = new byte[maxBlocksToDecode * header.blockSize]; + inputData = new byte[maxBlocksToDecode * wavFormat.blockSize]; decodedData = new ParsableByteArray( maxBlocksToDecode * numOutputFramesToBytes(framesPerBlock, numChannels)); // Create the format. We calculate the bitrate of the data before decoding, since this is the // bitrate of the stream itself. - int constantBitrate = header.frameRateHz * header.blockSize * 8 / framesPerBlock; + int constantBitrate = wavFormat.frameRateHz * wavFormat.blockSize * 8 / framesPerBlock; format = new Format.Builder() .setSampleMimeType(MimeTypes.AUDIO_RAW) .setAverageBitrate(constantBitrate) .setPeakBitrate(constantBitrate) .setMaxInputSize(numOutputFramesToBytes(targetSampleSizeFrames, numChannels)) - .setChannelCount(header.numChannels) - .setSampleRate(header.frameRateHz) + .setChannelCount(wavFormat.numChannels) + .setSampleRate(wavFormat.frameRateHz) .setPcmEncoding(C.ENCODING_PCM_16BIT) .build(); } @@ -441,7 +457,7 @@ public final class WavExtractor implements Extractor { @Override public void init(int dataStartPosition, long dataEndPosition) { extractorOutput.seekMap( - new WavSeekMap(header, framesPerBlock, dataStartPosition, dataEndPosition)); + new WavSeekMap(wavFormat, framesPerBlock, dataStartPosition, dataEndPosition)); trackOutput.format(format); } @@ -453,7 +469,7 @@ public final class WavExtractor implements Extractor { targetSampleSizeFrames - numOutputBytesToFrames(pendingOutputBytes); // Calculate the whole number of blocks that we need to decode to obtain this many frames. int blocksToDecode = Util.ceilDivide(targetFramesRemaining, framesPerBlock); - int targetReadBytes = blocksToDecode * header.blockSize; + int targetReadBytes = blocksToDecode * wavFormat.blockSize; // Read input data until we've reached the target number of blocks, or the end of the data. boolean endOfSampleData = bytesLeft == 0; @@ -467,11 +483,11 @@ public final class WavExtractor implements Extractor { } } - int pendingBlockCount = pendingInputBytes / header.blockSize; + int pendingBlockCount = pendingInputBytes / wavFormat.blockSize; if (pendingBlockCount > 0) { // We have at least one whole block to decode. decode(inputData, pendingBlockCount, decodedData); - pendingInputBytes -= pendingBlockCount * header.blockSize; + pendingInputBytes -= pendingBlockCount * wavFormat.blockSize; // Write all of the decoded data to the track output. int decodedDataSize = decodedData.limit(); @@ -499,7 +515,8 @@ public final class WavExtractor implements Extractor { private void writeSampleMetadata(int sampleFrames) { long timeUs = startTimeUs - + Util.scaleLargeTimestamp(outputFrameCount, C.MICROS_PER_SECOND, header.frameRateHz); + + Util.scaleLargeTimestamp( + outputFrameCount, C.MICROS_PER_SECOND, wavFormat.frameRateHz); int size = numOutputFramesToBytes(sampleFrames); int offset = pendingOutputBytes - size; trackOutput.sampleMetadata( @@ -517,7 +534,7 @@ public final class WavExtractor implements Extractor { */ private void decode(byte[] input, int blockCount, ParsableByteArray output) { for (int blockIndex = 0; blockIndex < blockCount; blockIndex++) { - for (int channelIndex = 0; channelIndex < header.numChannels; channelIndex++) { + for (int channelIndex = 0; channelIndex < wavFormat.numChannels; channelIndex++) { decodeBlockForChannel(input, blockIndex, channelIndex, output.getData()); } } @@ -528,8 +545,8 @@ public final class WavExtractor implements Extractor { private void decodeBlockForChannel( byte[] input, int blockIndex, int channelIndex, byte[] output) { - int blockSize = header.blockSize; - int numChannels = header.numChannels; + int blockSize = wavFormat.blockSize; + int numChannels = wavFormat.numChannels; // The input data consists for a four byte header [Ci] for each of the N channels, followed // by interleaved data segments [Ci-DATAj], each of which are four bytes long. @@ -590,11 +607,11 @@ public final class WavExtractor implements Extractor { } private int numOutputBytesToFrames(int bytes) { - return bytes / (2 * header.numChannels); + return bytes / (2 * wavFormat.numChannels); } private int numOutputFramesToBytes(int frames) { - return numOutputFramesToBytes(frames, header.numChannels); + return numOutputFramesToBytes(frames, wavFormat.numChannels); } private static int numOutputFramesToBytes(int frames, int numChannels) { diff --git a/library/extractor/src/main/java/com/google/android/exoplayer2/extractor/wav/WavHeader.java b/library/extractor/src/main/java/com/google/android/exoplayer2/extractor/wav/WavFormat.java similarity index 91% rename from library/extractor/src/main/java/com/google/android/exoplayer2/extractor/wav/WavHeader.java rename to library/extractor/src/main/java/com/google/android/exoplayer2/extractor/wav/WavFormat.java index ca34e32cc0..ca9e1d8dd7 100644 --- a/library/extractor/src/main/java/com/google/android/exoplayer2/extractor/wav/WavHeader.java +++ b/library/extractor/src/main/java/com/google/android/exoplayer2/extractor/wav/WavFormat.java @@ -15,8 +15,8 @@ */ package com.google.android.exoplayer2.extractor.wav; -/** Header for a WAV file. */ -/* package */ final class WavHeader { +/** Format information for a WAV file. */ +/* package */ final class WavFormat { /** * The format type. Standard format types are the "WAVE form Registration Number" constants @@ -33,10 +33,10 @@ package com.google.android.exoplayer2.extractor.wav; public final int blockSize; /** Bits per sample for a single channel. */ public final int bitsPerSample; - /** Extra data appended to the format chunk of the header. */ + /** Extra data appended to the format chunk. */ public final byte[] extraData; - public WavHeader( + public WavFormat( int formatType, int numChannels, int frameRateHz, diff --git a/library/extractor/src/main/java/com/google/android/exoplayer2/extractor/wav/WavHeaderReader.java b/library/extractor/src/main/java/com/google/android/exoplayer2/extractor/wav/WavHeaderReader.java index 147fba9c53..4541a305d6 100644 --- a/library/extractor/src/main/java/com/google/android/exoplayer2/extractor/wav/WavHeaderReader.java +++ b/library/extractor/src/main/java/com/google/android/exoplayer2/extractor/wav/WavHeaderReader.java @@ -16,7 +16,6 @@ package com.google.android.exoplayer2.extractor.wav; import android.util.Pair; -import androidx.annotation.Nullable; import com.google.android.exoplayer2.C; import com.google.android.exoplayer2.ParserException; import com.google.android.exoplayer2.audio.WavUtil; @@ -27,45 +26,56 @@ import com.google.android.exoplayer2.util.ParsableByteArray; import com.google.android.exoplayer2.util.Util; import java.io.IOException; -/** Reads a {@code WavHeader} from an input stream; supports resuming from input failures. */ +/** Reads a WAV header from an input stream; supports resuming from input failures. */ /* package */ final class WavHeaderReader { private static final String TAG = "WavHeaderReader"; /** - * Peeks and returns a {@code WavHeader}. + * Returns whether the given {@code input} starts with a RIFF chunk header, followed by a WAVE + * tag. * - * @param input Input stream to peek the WAV header from. - * @throws ParserException If the input file is an incorrect RIFF WAV. + * @param input The input stream to peek from. The position should point to the start of the + * stream. + * @return Whether the given {@code input} starts with a RIFF chunk header, followed by a WAVE + * tag. * @throws IOException If peeking from the input fails. - * @return A new {@code WavHeader} peeked from {@code input}, or null if the input is not a - * supported WAV format. */ - @Nullable - public static WavHeader peek(ExtractorInput input) throws IOException { - Assertions.checkNotNull(input); - - // Allocate a scratch buffer large enough to store the format chunk. - ParsableByteArray scratch = new ParsableByteArray(16); - + public static boolean checkFileType(ExtractorInput input) throws IOException { + ParsableByteArray scratch = new ParsableByteArray(ChunkHeader.SIZE_IN_BYTES); // Attempt to read the RIFF chunk. ChunkHeader chunkHeader = ChunkHeader.peek(input, scratch); if (chunkHeader.id != WavUtil.RIFF_FOURCC) { - return null; + return false; } input.peekFully(scratch.getData(), 0, 4); scratch.setPosition(0); - int riffFormat = scratch.readInt(); - if (riffFormat != WavUtil.WAVE_FOURCC) { - Log.e(TAG, "Unsupported RIFF format: " + riffFormat); - return null; + int formType = scratch.readInt(); + if (formType != WavUtil.WAVE_FOURCC) { + Log.e(TAG, "Unsupported form type: " + formType); + return false; } + return true; + } + + /** + * Reads and returns a {@code WavFormat}. + * + * @param input Input stream to read the WAV format from. The position should point to the byte + * following the WAVE tag. + * @throws IOException If reading from the input fails. + * @return A new {@code WavFormat} read from {@code input}. + */ + public static WavFormat readFormat(ExtractorInput input) throws IOException { + // Allocate a scratch buffer large enough to store the format chunk. + ParsableByteArray scratch = new ParsableByteArray(16); + // Skip chunks until we find the format chunk. - chunkHeader = ChunkHeader.peek(input, scratch); + ChunkHeader chunkHeader = ChunkHeader.peek(input, scratch); while (chunkHeader.id != WavUtil.FMT_FOURCC) { - input.advancePeekPosition((int) chunkHeader.size); + input.skipFully(ChunkHeader.SIZE_IN_BYTES + (int) chunkHeader.size); chunkHeader = ChunkHeader.peek(input, scratch); } @@ -88,7 +98,8 @@ import java.io.IOException; extraData = Util.EMPTY_BYTE_ARRAY; } - return new WavHeader( + input.skipFully((int) (input.getPeekPosition() - input.getPosition())); + return new WavFormat( audioFormatType, numChannels, frameRateHz, @@ -109,8 +120,6 @@ import java.io.IOException; * @throws IOException If reading from the input fails. */ public static Pair skipToSampleData(ExtractorInput input) throws IOException { - Assertions.checkNotNull(input); - // Make sure the peek position is set to the read position before we peek the first header. input.resetPeekPosition(); diff --git a/library/extractor/src/main/java/com/google/android/exoplayer2/extractor/wav/WavSeekMap.java b/library/extractor/src/main/java/com/google/android/exoplayer2/extractor/wav/WavSeekMap.java index 2a92c38431..1d5c8fdae1 100644 --- a/library/extractor/src/main/java/com/google/android/exoplayer2/extractor/wav/WavSeekMap.java +++ b/library/extractor/src/main/java/com/google/android/exoplayer2/extractor/wav/WavSeekMap.java @@ -22,18 +22,18 @@ import com.google.android.exoplayer2.util.Util; /* package */ final class WavSeekMap implements SeekMap { - private final WavHeader wavHeader; + private final WavFormat wavFormat; private final int framesPerBlock; private final long firstBlockPosition; private final long blockCount; private final long durationUs; public WavSeekMap( - WavHeader wavHeader, int framesPerBlock, long dataStartPosition, long dataEndPosition) { - this.wavHeader = wavHeader; + WavFormat wavFormat, int framesPerBlock, long dataStartPosition, long dataEndPosition) { + this.wavFormat = wavFormat; this.framesPerBlock = framesPerBlock; this.firstBlockPosition = dataStartPosition; - this.blockCount = (dataEndPosition - dataStartPosition) / wavHeader.blockSize; + this.blockCount = (dataEndPosition - dataStartPosition) / wavFormat.blockSize; durationUs = blockIndexToTimeUs(blockCount); } @@ -50,17 +50,17 @@ import com.google.android.exoplayer2.util.Util; @Override public SeekPoints getSeekPoints(long timeUs) { // Calculate the containing block index, constraining to valid indices. - long blockIndex = (timeUs * wavHeader.frameRateHz) / (C.MICROS_PER_SECOND * framesPerBlock); + long blockIndex = (timeUs * wavFormat.frameRateHz) / (C.MICROS_PER_SECOND * framesPerBlock); blockIndex = Util.constrainValue(blockIndex, 0, blockCount - 1); - long seekPosition = firstBlockPosition + (blockIndex * wavHeader.blockSize); + long seekPosition = firstBlockPosition + (blockIndex * wavFormat.blockSize); long seekTimeUs = blockIndexToTimeUs(blockIndex); SeekPoint seekPoint = new SeekPoint(seekTimeUs, seekPosition); if (seekTimeUs >= timeUs || blockIndex == blockCount - 1) { return new SeekPoints(seekPoint); } else { long secondBlockIndex = blockIndex + 1; - long secondSeekPosition = firstBlockPosition + (secondBlockIndex * wavHeader.blockSize); + long secondSeekPosition = firstBlockPosition + (secondBlockIndex * wavFormat.blockSize); long secondSeekTimeUs = blockIndexToTimeUs(secondBlockIndex); SeekPoint secondSeekPoint = new SeekPoint(secondSeekTimeUs, secondSeekPosition); return new SeekPoints(seekPoint, secondSeekPoint); @@ -69,6 +69,6 @@ import com.google.android.exoplayer2.util.Util; private long blockIndexToTimeUs(long blockIndex) { return Util.scaleLargeTimestamp( - blockIndex * framesPerBlock, C.MICROS_PER_SECOND, wavHeader.frameRateHz); + blockIndex * framesPerBlock, C.MICROS_PER_SECOND, wavFormat.frameRateHz); } } From d5a87d13b79004ec3039932946c63d0c4238634f Mon Sep 17 00:00:00 2001 From: ibaker Date: Wed, 3 Nov 2021 11:33:57 +0000 Subject: [PATCH 07/10] Fix broken link on supported-formats dev guide page #minor-release PiperOrigin-RevId: 407305661 --- docs/supported-formats.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/supported-formats.md b/docs/supported-formats.md index 8270866bcd..70b24416a8 100644 --- a/docs/supported-formats.md +++ b/docs/supported-formats.md @@ -92,7 +92,7 @@ FFmpeg decoder name. ## Standalone subtitle formats ## ExoPlayer supports standalone subtitle files in a variety of formats. Subtitle -files can be side-loaded as described on the [Media source page][]. +files can be side-loaded as described on the [media items page][]. | Container format | Supported | MIME type | |---------------------------|:------------:|:----------| @@ -101,7 +101,7 @@ files can be side-loaded as described on the [Media source page][]. | SubRip | YES | MimeTypes.APPLICATION_SUBRIP | | SubStationAlpha (SSA/ASS) | YES | MimeTypes.TEXT_SSA | -[Media source page]: {{ site.baseurl }}/media-sources.html#side-loading-a-subtitle-file +[media items page]: {{ site.baseurl }}/media-items.html#sideloading-subtitle-tracks ## HDR video playback ## From 0c4f5ebc910667a38892c51e316a90d68fe00e77 Mon Sep 17 00:00:00 2001 From: samrobinson Date: Wed, 3 Nov 2021 11:57:41 +0000 Subject: [PATCH 08/10] Fix END_OF_STREAM transformer timestamp matching previous. This cause the muxer to fail to stop on older devices/API levels. #minor-release PiperOrigin-RevId: 407309028 --- RELEASENOTES.md | 3 +++ .../exoplayer2/transformer/TransformerAudioRenderer.java | 1 + 2 files changed, 4 insertions(+) diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 586144ca28..cbf79d1a9d 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -90,6 +90,9 @@ * Rename `MediaSessionConnector.QueueNavigator#onCurrentWindowIndexChanged` to `onCurrentMediaItemIndexChanged`. +* Transformer: + * Avoid sending a duplicate timestamp to the encoder with the end of + stream buffer. * Remove deprecated symbols: * Remove `Renderer.VIDEO_SCALING_MODE_*` constants. Use identically named constants in `C` instead. diff --git a/library/transformer/src/main/java/com/google/android/exoplayer2/transformer/TransformerAudioRenderer.java b/library/transformer/src/main/java/com/google/android/exoplayer2/transformer/TransformerAudioRenderer.java index f20915c120..7efa0eb780 100644 --- a/library/transformer/src/main/java/com/google/android/exoplayer2/transformer/TransformerAudioRenderer.java +++ b/library/transformer/src/main/java/com/google/android/exoplayer2/transformer/TransformerAudioRenderer.java @@ -316,6 +316,7 @@ import org.checkerframework.checker.nullness.qual.RequiresNonNull; private void queueEndOfStreamToEncoder(MediaCodecAdapterWrapper encoder) { checkState(checkNotNull(encoderInputBuffer.data).position() == 0); + encoderInputBuffer.timeUs = nextEncoderInputBufferTimeUs; encoderInputBuffer.addFlag(C.BUFFER_FLAG_END_OF_STREAM); encoderInputBuffer.flip(); // Queuing EOS should only occur with an empty buffer. From 2d311002642d5410dbcb83b7a9f0f2c86becdc60 Mon Sep 17 00:00:00 2001 From: tonihei Date: Wed, 3 Nov 2021 12:36:06 +0000 Subject: [PATCH 09/10] Bump version to 2.16.0 PiperOrigin-RevId: 407314385 --- constants.gradle | 4 ++-- .../com/google/android/exoplayer2/ExoPlayerLibraryInfo.java | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/constants.gradle b/constants.gradle index 400eba8c9f..bd4a545c4c 100644 --- a/constants.gradle +++ b/constants.gradle @@ -13,8 +13,8 @@ // limitations under the License. project.ext { // ExoPlayer version and version code. - releaseVersion = '2.15.1' - releaseVersionCode = 2015001 + releaseVersion = '2.16.0' + releaseVersionCode = 2016000 minSdkVersion = 16 appTargetSdkVersion = 29 // Upgrading this requires [Internal ref: b/193254928] to be fixed, or some diff --git a/library/common/src/main/java/com/google/android/exoplayer2/ExoPlayerLibraryInfo.java b/library/common/src/main/java/com/google/android/exoplayer2/ExoPlayerLibraryInfo.java index 9f13465861..4784575659 100644 --- a/library/common/src/main/java/com/google/android/exoplayer2/ExoPlayerLibraryInfo.java +++ b/library/common/src/main/java/com/google/android/exoplayer2/ExoPlayerLibraryInfo.java @@ -27,11 +27,11 @@ public final class ExoPlayerLibraryInfo { /** The version of the library expressed as a string, for example "1.2.3". */ // Intentionally hardcoded. Do not derive from other constants (e.g. VERSION_INT) or vice versa. - public static final String VERSION = "2.15.1"; + public static final String VERSION = "2.16.0"; /** The version of the library expressed as {@code TAG + "/" + VERSION}. */ // Intentionally hardcoded. Do not derive from other constants (e.g. VERSION) or vice versa. - public static final String VERSION_SLASHY = "ExoPlayerLib/2.15.1"; + public static final String VERSION_SLASHY = "ExoPlayerLib/2.16.0"; /** * The version of the library expressed as an integer, for example 1002003. @@ -41,7 +41,7 @@ public final class ExoPlayerLibraryInfo { * integer version 123045006 (123-045-006). */ // Intentionally hardcoded. Do not derive from other constants (e.g. VERSION) or vice versa. - public static final int VERSION_INT = 2015001; + public static final int VERSION_INT = 2016000; /** Whether the library was compiled with {@link Assertions} checks enabled. */ public static final boolean ASSERTIONS_ENABLED = true; From bc3360e5d44238308d569dabbd26b472a01084fa Mon Sep 17 00:00:00 2001 From: tonihei Date: Wed, 3 Nov 2021 14:37:41 +0000 Subject: [PATCH 10/10] Update release notes for 2.16.0 PiperOrigin-RevId: 407333525 --- RELEASENOTES.md | 50 +++++++++++++++++++++++++++++-------------------- 1 file changed, 30 insertions(+), 20 deletions(-) diff --git a/RELEASENOTES.md b/RELEASENOTES.md index cbf79d1a9d..ae006ebdde 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -2,38 +2,34 @@ ### dev-v2 (not yet released) +### 2.16.0 (2021-11-04) + * Core Library: + * Deprecate `SimpleExoPlayer`. All functionality has been moved to + `ExoPlayer` instead. `ExoPlayer.Builder` can be used instead of + `SimpleExoPlayer.Builder`. + * Add track selection methods to the `Player` interface, for example, + `Player.getCurrentTracksInfo` and `Player.setTrackSelectionParameters`. + These methods can be used instead of directly accessing the track + selector. * Enable MediaCodec asynchronous queueing by default on devices with API level >= 31. Add methods in `DefaultMediaCodecRendererFactory` and `DefaultRenderersFactory` to force enable or force disable asynchronous queueing ([6348](https://github.com/google/ExoPlayer/issues/6348)). - * Add 12 public method headers to `ExoPlayer` that exist in - `SimpleExoPlayer`, such that all public methods in `SimpleExoPlayer` are - overrides. + * Remove final dependency on `jcenter()`. + * Fix `mediaMetadata` being reset when media is repeated + ([#9458](https://github.com/google/ExoPlayer/issues/9458)). + * Adjust `ExoPlayer` `MediaMetadata` update priority, such that values + input through the `MediaItem.MediaMetadata` are used above media derived + values. * Move `com.google.android.exoplayer2.device.DeviceInfo` to `com.google.android.exoplayer2.DeviceInfo`. * Move `com.google.android.exoplayer2.drm.DecryptionException` to `com.google.android.exoplayer2.decoder.CryptoException`. * Move `com.google.android.exoplayer2.upstream.cache.CachedRegionTracker` to `com.google.android.exoplayer2.upstream.CachedRegionTracker`. - * Remove `ExoPlayerLibraryInfo.GL_ASSERTIONS_ENABLED`. Use - `GlUtil.glAssertionsEnabled` instead. * Move `Player.addListener(EventListener)` and `Player.removeListener(EventListener)` out of `Player` into subclasses. - * Fix `mediaMetadata` being reset when media is repeated - ([#9458](https://github.com/google/ExoPlayer/issues/9458)). - * Remove final dependency on `jcenter()`. - * Adjust `ExoPlayer` `MediaMetadata` update priority, such that values - input through the `MediaItem.MediaMetadata` are used above media derived - values. -* Video: - * Fix bug in `MediaCodecVideoRenderer` that resulted in re-using a - released `Surface` when playing without an app-provided `Surface` - ([#9476](https://github.com/google/ExoPlayer/issues/9476)). -* DRM: - * Log an error (instead of throwing `IllegalStateException`) when calling - `DefaultDrmSession#release()` on a fully released session - ([#9392](https://github.com/google/ExoPlayer/issues/9392)). * Android 12 compatibility: * Keep `DownloadService` started and in the foreground whilst waiting for requirements to be met on Android 12. This is necessary due to new @@ -49,6 +45,14 @@ are not compatible with apps targeting Android 12, and will crash with an `IllegalArgumentException` when creating `PendingIntent`s ([#9181](https://github.com/google/ExoPlayer/issues/9181)). +* Video: + * Fix bug in `MediaCodecVideoRenderer` that resulted in re-using a + released `Surface` when playing without an app-provided `Surface` + ([#9476](https://github.com/google/ExoPlayer/issues/9476)). +* DRM: + * Log an error (instead of throwing `IllegalStateException`) when calling + `DefaultDrmSession#release()` on a fully released session + ([#9392](https://github.com/google/ExoPlayer/issues/9392)). * UI: * `SubtitleView` no longer implements `TextOutput`. `SubtitleView` implements `Player.Listener`, so can be registered to a player with @@ -74,7 +78,7 @@ requirements for downloads to continue. In both cases, `DownloadService` will now remain started and in the foreground whilst waiting for requirements to be met. - * Modify `DownlaodService` behavior when running on Android 12 and above. + * Modify `DownloadService` behavior when running on Android 12 and above. See the "Android 12 compatibility" section above. * RTSP: * Support RFC4566 SDP attribute field grammar @@ -83,6 +87,12 @@ * Populate `Format.sampleMimeType`, `width` and `height` for image `AdaptationSet` elements ([#9500](https://github.com/google/ExoPlayer/issues/9500)). +* HLS: + * Fix rounding error in HLS playlists + ([#9575](https://github.com/google/ExoPlayer/issues/9575)). + * Fix `NoSuchElementException` thrown when an HLS manifest declares + `#EXT-X-RENDITION-REPORT` at the beginning of the playlist + ([#9592](https://github.com/google/ExoPlayer/issues/9592)). * RTMP extension: * Upgrade to `io.antmedia:rtmp_client`, which does not rely on `jcenter()` ([#9591](https://github.com/google/ExoPlayer/issues/9591)).