Update: 2026-06-21 18:58:05

This commit is contained in:
Hamza-Ayed
2026-06-21 18:58:13 +03:00
parent b492b5076b
commit e73be65a72
8755 changed files with 92977 additions and 99 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 83 B

View File

@@ -0,0 +1,601 @@
<EFBFBD>r _generateId_lock_playbackEventPipe
_userAgent_useProxyForRequestHeaders_audioLoadConfiguration _androidOffloadSchedulingEnabled_androidAudioOffloadPreferences_active _platform_platformValue_nativePlatform
_idlePlatform_playbackEventSubscription_playerDataSubscription#_androidAudioAttributesSubscription_becomingNoisyEventSubscription_interruptionEventSubscription"_positionDiscontinuitySubscription_currentIndexSubscription_errorsSubscription_errorsResetSubscription_id_proxy _playlist
_audioSources _disposed_pluginLoadRequest_audioPipeline _loadFuture_shuffleIndicesInv_playerEventSubject_playbackEventSubject_processingStateSubject_durationSubject_bufferedPositionSubject_icyMetadataSubject_androidAudioSessionIdSubject
_errorSubject_playingSubject_volumeSubject
_speedSubject
_pitchSubject_skipSilenceEnabledSubject_positionDiscontinuitySubject_sequenceStateSubject_sequenceSubject_shuffleIndicesSubject_currentIndexSubject_loopModeSubject_shuffleModeEnabledSubject_playerStateSubject_seeking_positionSubject%_automaticallyWaitsToMinimizeStalling2_canUseNetworkResourcesForLiveStreamingWhilePaused_preferredPeakBitRate_allowsExternalPlayback_playInterrupted_platformLoading_androidAudioAttributes_webCrossOrigin
_webSinkId_androidApplyAudioAttributes_handleAudioSessionActivation_activationCount_removeOldAssetCacheDir audioSource playerEventplayerEventStream
playbackEventplaybackEventStreamdurationdurationStreamprocessingStateprocessingStateStreamplaying
playingStreamvolume volumeStreamspeed speedStreampitch pitchStreamskipSilenceEnabledskipSilenceEnabledStreambufferedPositionbufferedPositionStream icyMetadataicyMetadataStream playerStateplayerStateStreamsequencesequenceStreamshuffleIndicesshuffleIndicesStream currentIndexcurrentIndexStream
sequenceStatesequenceStateStreamhasNext hasPreviouseffectiveIndices_effectiveIndicesInv nextIndex
previousIndex_getRelativeIndexloopModeloopModeStreamshuffleModeEnabledshuffleModeEnabledStreamandroidAudioSessionIdandroidAudioSessionIdStream errorStreampositionDiscontinuityStream$automaticallyWaitsToMinimizeStalling1canUseNetworkResourcesForLiveStreamingWhilePausedpreferredPeakBitRateallowsExternalPlaybackwebCrossOrigin webSinkIdposition_getPositionForpositionStreamcreatePositionStreamsetUrl setFilePathsetAssetsetAudioSourcesetAudioSourcesloadaddAudioSourceinsertAudioSourceaddAudioSourcesinsertAudioSourcesremoveAudioSourceAtremoveAudioSourceRangemoveAudioSourceclearAudioSources audioSources_broadcastSequence_registerAudioSource_loadsetClipplaypause_sendPlayRequeststop setVolumesetSkipSilenceEnabledsetSpeedsetPitch setLoopModesetShuffleModeEnabledshuffle'setAutomaticallyWaitsToMinimizeStalling4setCanUseNetworkResourcesForLiveStreamingWhilePausedsetPreferredPeakBitRatesetAllowsExternalPlaybackseek
seekToNextseekToPrevioussetAndroidAudioAttributes"_internalSetAndroidAudioAttributessetWebCrossOrigin setWebSinkIddispose_setPlatformActive_disposePlatformclearAssetCache_convertExceptioncodemessageindextoStringcopyWithhashCode==
updateTimeupdatePosition errorCode errorMessageidleloading bufferingready completedtitleurl _fromMessagebitrategenrenamemetadataIntervalisPublicinfoheaders _defaultInt
_currentIndex
currentSourceeffectiveSequencedarwinLoadControlandroidLoadControlandroidLivePlaybackSpeedControl
_toMessagepreferredForwardBufferDurationminBufferDurationmaxBufferDurationbufferForPlaybackDuration&bufferForPlaybackAfterRebufferDurationtargetBufferBytes prioritizeTimeOverSizeThresholdsbackBufferDurationfallbackMinPlaybackSpeedfallbackMaxPlaybackSpeedminUpdateIntervalproportionalControlFactormaxLiveOffsetErrorForUnitSpeed#targetLiveOffsetIncrementOnRebuffer$minPossibleLiveOffsetSmoothingFactordisabledenabledaudioOffloadModeisGaplessSupportRequiredisSpeedChangeSupportRequiredandroidExtractorOptionsdarwinAssetOptionspreferPreciseDurationAndTimingflagMp3EnableIndexSeekingflagMp3DisableId3MetadataconstantBitrateSeekingEnabled#constantBitrateSeekingAlwaysEnabledmp3Flags_server_running _handlerMapportaddUriAudioSourceaddStreamAudioSource
_sourceUri _requestKey
ensureRunningstartendendExheaderparse
fullLengthlength_playerurifileasset _onAttach_onLoad_shuffle_disposetag _overrideUri
_effectiveUri_mergedHeaders
_loadAsset
_getCacheFileoptionschildrenuseLazyPreparation
_shuffleOrderaddinsertaddAll insertAllremoveAt removeRangemoveclear_init[]childcount_urirequestrangeRequestsSupported sourceLength
contentLengthoffset contentTypestream _response cacheFile _progress _requests_downloadProgressSubject _downloadingresolvedownloadProgressStream
clearCache_partialCacheFile _mimeFile_readCachedMimeType_fetch
controller
_completerfuturecompletefailindices_randomoffoneall anonymoususeCredentials
_eventSubject _position_index _sequence_sequenceSubscription setAndroidAudioAttributesRequest_broadcastPlaybackEvent_getDurationAtIndexplaybackEventMessageStreamsetSkipSilencesetShuffleModesetShuffleOrderconcatenatingInsertAllconcatenatingRemoveRangeconcatenatingMoveaudioEffectSetEnabled$androidLoudnessEnhancerSetTargetGainandroidEqualizerBandSetGainandroidEqualizerGetParameterspreload initialIndexinitialPosition shuffleOrder interruptedinitialSeekValuesresetInitialSeekValuescheckInterruptionandroidAudioEffectsdarwinAudioEffects
_audioEffects_setup_enabledSubject _activate
enabledStream_type
setEnabled_targetGainSubject
targetGaintargetGainStream
setTargetGainlowerFrequencyupperFrequencycenterFrequency _gainSubjectgain
gainStreamsetGain_restore minDecibels maxDecibelsbands_parametersCompleter
parametersnvaluereason
previousEventevent autoAdvanceE_uuid_pluginPlatformCache_pluginPlatform AudioPlayerPlayerExceptionPlayerInterruptedException PlayerEvent
PlaybackEventProcessingState PlayerStateIcyInfo
IcyHeaders IcyMetadata
SequenceStateAudioLoadConfigurationDarwinLoadControlAndroidLoadControlAndroidLivePlaybackSpeedControlAndroidAudioOffloadModeAndroidAudioOffloadPreferencesProgressiveAudioSourceOptionsDarwinAssetOptionsAndroidExtractorOptions_ProxyHttpServer_HttpRangeRequest_HttpRangeResponse AudioSourceIndexedAudioSourceUriAudioSourceProgressiveAudioSourceDashAudioSourceHlsAudioSourceSilenceAudioSourceConcatenatingAudioSourceClippingAudioSourceLoopingAudioSource_encodeDataUrlStreamAudioSourceStreamAudioResponseLockCachingAudioSource_InProgressCacheResponse_StreamingByteRangeRequest
_ProxyHandler_proxyHandlerForSource_proxyHandlerForUri _getCacheDir ShuffleOrderDefaultShuffleOrderLoopModeWebCrossOrigin_IdleAudioPlayer_PluginLoadRequest_InitialSeekValues
AudioPipeline AudioEffectAndroidAudioEffectDarwinAudioEffectAndroidLoudnessEnhancerAndroidEqualizerBandAndroidEqualizerParametersAndroidEqualizer
_isAndroid _isDarwin _isUnitTest_ValueStreamExtensionPositionDiscontinuityPositionDiscontinuityReason_getUrl_createHttpClient3 experimentalUuidJustAudioPlatforminstancedisposeAllPlayersDisposeAllPlayersRequestStringv4Lock reentrantFuturevoidboolAudioPlayerPlatformStreamSubscriptionPlaybackEventMessagePlayerDataMessageAndroidAudioAttributesAudioInterruptionEventMapDurationintBehaviorSubjectseededsyncidlezeroPublishSubjectsequence currentIndexshuffleIndicesshuffleModeEnabledloopModeoffdouble userAgentuseProxyForRequestHeadershandleInterruptionshandleAudioSessionActivationandroidApplyAudioAttributesaudioLoadConfigurationuseLazyPreparation shuffleOrdermaxSkipsOnErrorandroidAudioOffloadPreferences
Deprecated
audioPipelineandroidOffloadSchedulingEnabled _playlistchildren_setup _onAttachdarwinLoadControl$automaticallyWaitsToMinimizeStalling addStreammapevent
playbackEventdistinctplayingdurationprocessingStatebufferedPosition icyMetadata
isNotEmptylengthpairwiselistenrectoList
prevSource
currSource_idadd autoAdvance prevEvent currEvent millisecondssecondscopyWithandroidAudioSessionIdcode errorCodemessage errorMessageindexwhereerrorforce
catchErrordynamic AudioSessionthen audioSessionconfigurationStreamconfandroidAudioAttributes
attributescastsessionbecomingNoisyEventStreaminterruptionEventStreambegintypeAudioInterruptionTypeduckusageAndroidAudioUsagegamepauseunknownminscheduleMicrotaskstatereadykIsWeb DirectoryjoingetTemporaryDirectorypath
existsSync
deleteSync recursiveprinte firstOrNullnvalueStreamstreamListgenerateiisEmptyoneeffectiveIndicesallupdatePositionDateTimenow
difference
updateTimeonCancelsteps minPeriod maxPeriodStreamController broadcastTimerisClosedcancelcloseperiodicuriUriparseheaderstaginitialPositionpreloadfilepackageasset initialIndex interrupted audioSources_initcheckInterruptioninitialSeekValuesinsertaddAll insertAllremoveAt removeRangemoveclearsequenceChangedfilled
firstWhere_onLoad_shuffleload LoadRequestaudioSourceMessage
_toMessagepositionresponseloadingPlatformExceptionErrorthrowWithStackTraceststartend Exceptionchild completed Completer setActive
playCompleterfuture Stopwatch PauseRequestplay PlayRequestcomplete
completeError
stackTrace setVolumeSetVolumeRequestvolumesetSkipSilenceSetSkipSilenceRequestenabledsetSpeedSetSpeedRequestspeedsetPitchSetPitchRequestpitch setLoopModeSetLoopModeRequestLoopModeMessagevaluessetShuffleModeSetShuffleModeRequest shuffleModeShuffleModeMessagenonesetShuffleOrderSetShuffleOrderRequest'setAutomaticallyWaitsToMinimizeStalling.SetAutomaticallyWaitsToMinimizeStallingRequest4setCanUseNetworkResourcesForLiveStreamingWhilePaused;SetCanUseNetworkResourcesForLiveStreamingWhilePausedRequestsetPreferredPeakBitRateSetPreferredPeakBitRateRequestbitRatesetAllowsExternalPlayback SetAllowsExternalPlaybackRequestallowsExternalPlaybackresetInitialSeekValuesseek SeekRequestsetAndroidAudioAttributes SetAndroidAudioAttributesRequest contentTypeflagsvaluesetWebCrossOriginSetWebCrossOriginRequest crossOriginWebCrossOriginMessage setWebSinkIdSetWebSinkIdRequestsinkId synchronizeds_disposestopplayerDataMessageStreamonDoneplaybackEventMessageStreamProcessingStateMessage _fromMessageonErrorObject
StackTraceinit InitRequestidandroidAudioEffects audioEffectdarwinAudioEffectssequenceStream
configuration
_audioEffects _activatedisposeDisposeRequest
disposePlayerDisposePlayerRequestlistdeletedetailstryParseoverridehashhashCode runtimeType bufferingIcyInfoMessagetitleurlIcyHeadersMessagebitrategenrenamemetadataIntervalisPublicIcyMetadataMessageinfoAudioLoadConfigurationMessageandroidLoadControlandroidLivePlaybackSpeedControlDarwinLoadControlMessagepreferredForwardBufferDuration1canUseNetworkResourcesForLiveStreamingWhilePausedpreferredPeakBitRateAndroidLoadControlMessageminBufferDurationmaxBufferDurationbufferForPlaybackDuration&bufferForPlaybackAfterRebufferDurationtargetBufferBytes prioritizeTimeOverSizeThresholdsbackBufferDuration&AndroidLivePlaybackSpeedControlMessagefallbackMinPlaybackSpeedfallbackMaxPlaybackSpeedminUpdateIntervalproportionalControlFactormaxLiveOffsetErrorForUnitSpeed#targetLiveOffsetIncrementOnRebuffer$minPossibleLiveOffsetSmoothingFactordisabled%AndroidAudioOffloadPreferencesMessageaudioOffloadModeAndroidAudioOffloadModeMessageisGaplessSupportRequiredisSpeedChangeSupportRequired$ProgressiveAudioSourceOptionsMessageandroidExtractorOptionsdarwinAssetOptionsDarwinAssetOptionsMessagepreferPreciseDurationAndTimingAndroidExtractorOptionsMessageconstantBitrateSeekingEnabled#constantBitrateSeekingAlwaysEnabledmp3Flags
HttpServerport_player
_userAgentreplaceschemehostInternetAddress loopbackIPv4addresshttpquerybindrequestmethodtoStringRegExp
firstMatchfirst toLowerCaseendsWithfragment
mustCallSuper_registerAudioSourceAudioSourceMessagekeyskey pathSegments_useProxyForRequestHeaders_proxy
ensureRunningaddUriAudioSource extensionbase64encode
rootBundlebuffer asUint8List
createSync writeAsBytesFilejoinAllProgressiveAudioSourceMessage
_effectiveUri_mergedHeadersoptionsDashAudioSourceMessageHlsAudioSourceMessageSilenceAudioSourceMessageConcatenatingAudioSorcesourcecisishuffle_broadcastSequence_active _platformconcatenatingInsertAllConcatenatingInsertAllRequestofindicesconcatenatingRemoveRangeConcatenatingRemoveRangeRequest
startIndexendIndexconcatenatingMoveConcatenatingMoveRequestnewIndex replaceRangeexpandConcatenatingAudioSourceMessageClippingAudioSourceMessageUriAudioSourceMessageLoopingAudioSourceMessagecountencoderaddStreamAudioSourceHttpClientResponse cacheFileexistssha256convertutf8 readAsString
statusCode openWrite
contentLength HttpHeadersacceptRangesHeader
writeAsStringdata
cacheResponsemax
controllersublist removeWhereelementflushremoveopenReadRx concatEagerrangeRequestsSupported sourceLengthoffsetasBroadcastStreamresume rangeHeaderheaderfail
renameSyncreqresaddError
cancelOnError
lengthSync
ReplaySubject isCompleted HttpRequestendEx
HttpStatusinternalServerErrorsetcontentTypeHeadercontentRangeHeaderdoneforEach
hostHeader redirectslastlocation
replaceAllcontains transformdecoder LineSplitterlinereplaceAllMappedmtrim hasScheme
startsWith bufferOutputchunk
HttpExceptionSocketconnect detachSocket writeHeaderswriteRandomrandomindexOfnextInttoSet LoadResponse PlayResponse
PauseResponseSetVolumeResponseSetSpeedResponseSetPitchResponseSetSkipSilenceResponseSetLoopModeResponseSetShuffleModeResponseSetShuffleOrderResponseSetWebCrossOriginResponseSetWebSinkIdResponse/SetAutomaticallyWaitsToMinimizeStallingResponse<SetCanUseNetworkResourcesForLiveStreamingWhilePausedResponseSetPreferredPeakBitRateResponse SeekResponse!SetAndroidAudioAttributesResponseDisposeResponseConcatenatingInsertAllResponse ConcatenatingRemoveRangeResponseConcatenatingMoveResponseAudioEffectSetEnabledResponseAudioEffectSetEnabledRequest,AndroidLoudnessEnhancerSetTargetGainResponse+AndroidLoudnessEnhancerSetTargetGainRequest#AndroidEqualizerBandSetGainResponse"AndroidEqualizerBandSetGainRequest%AndroidEqualizerGetParametersResponse$AndroidEqualizerGetParametersRequest
parameters!AndroidEqualizerParametersMessage minDecibels maxDecibelsbands!SetAllowsExternalPlaybackResponseeffectaudioEffectSetEnabledAudioEffectMessage$androidLoudnessEnhancerSetTargetGain
targetGainAndroidLoudnessEnhancerMessageplayerandroidEqualizerBandSetGain bandIndexgainAndroidEqualizerBandMessage_lowerFrequencyupperFrequencycenterFrequencyband_restore bandMessageandroidEqualizerGetParametersAndroidEqualizerMessagePlatform isAndroidisIOSisMacOS environment ValueStreamThasValueHttpClientRequest
HttpClientgetUrlcontentLengthHeaderuserAgentHeader maxRedirects Exception AudioSourceIndexedAudioSourceUriAudioSourceStreamAudioSource ShuffleOrderAudioPlayerPlatform AudioEffectAndroidAudioEffect
ðúÇa¿°6ƒ†Ò¼š¯
dart:async dart:convert-dart:io? dart:mathT(package:audio_session/audio_session.dart€‡package:crypto/crypto.dart€¬package:flutter/foundation.dart€Öpackage:flutter/services.dart€þHpackage:just_audio_platform_interface/just_audio_platform_interface.dart<01>p<EFBFBD><70> experimental<00>Qpackage:meta/meta.dart<00><00>£<EFBFBD>¦p<>¦package:path/path.dart<00>ª(package:path_provider/path_provider.dart<00>Ýpackage:rxdart/rxdart.dart&package:synchronized/synchronized.dart3package:uuid/uuid.dartÀ11À<02> ,>RS€†€«€Õ€ý<E282AC>P<EFBFBD>ƒ<EFBFBD>©<EFBFBD>Ü2STjk½ðƒ?ƒUƒ{ƒË„„b„l„°„Â… …7…;…T…V…W…œ… …¨…Ê…þ††+††˜†Ì†ù‡ ‡&‡B‡J‡N‡š‡Ý‡ñˆˆEˆiˆjˆœˆ¸ˆ¹ˆø‰!‰"‰[‰\‰‹‰Œ‰Õ‰ÖŠ%ŠvŠÊŠâŠã'Hvw¸ßàŒ/ŒXŒˆŒ‰ŒÕŒú<C592><1D><1E>b<EFBFBD>²<EFBFBD>þŽ,ŽtŽu޾<C5BD><0E>Z<EFBFBD>ˆ<EFBFBD>Ê<EFBFBD>Ë<EFBFBD>ù<EFBFBD>$<24>a<EFBFBD>¯<EFBFBD>ï&W<57>Ž<C5BD>Â÷#XrœÂÃå“ “*“p“q““Û“Ü””$”i”­”Е•Q•<51>•ٕؕò+aË——8—q—r—¹—Η䘘˜?˜_˜h˜{˜|˜¢˜í™/™r™³™÷™øš;šlšmš…šžšÍEi²Óœœ)œCœnœšœœ×œóœô<C593><14><1A>g<EFBFBD>³žžBžHž•žåŸ$ŸqŸÁ  ] ª ÷¡@¡w¡}¡É¢¢W¢¤¢ò£C£”£Î¤¤>¤D¤¤À¤Æ¥¥`¥‡¥<E280A1>¥Ï¦¦¦f¦·§§P§V§¨§º§Ê§á¨¨3¨a¨•¨·¨û©9©k©©º©Ú©÷ªª4ª[ª”ªÚ««O««å¬%¬`¬˜¬°¬â­­­5­T­­Ù®®#®]®¨®¼¯ ¯,¯t¯¯ê°°b°…°Ð±
±'±<±b±±Ó²²²-²A²Y²u²Ä³³.³{³¼´ ´´d´u´£´×µ µ<µdµ¦µÎ¶¶0¶n¶€¶Š¶Ë·· ·(·d··Õ·Ü¸¸Q¸q¸¾¸÷¹7¹t¹¸¹Øº%º&ºfºº±º²ºâºü»!»L»u»„»˜»Æ»Þ¼&¼Z¼r¼¿¼Õ½½1½t½«½Ý¾,¾d¾¾Ç¾ß¿¿¿¿>¿k¿•¿Ï¿â¿îÀ@À@TÀ@qÀ@“À@ÂÀ@èÀA%ÀASÀA|ÀAŽÀA¸ÀAÏÀAÿÀB1ÀBPÀBkÀB»ÀBòÀCÀC/ÀCFÀCTÀCgÀC‰ÀC¸ÀCÞÀDÀD9ÀDPÀD€ÀD®ÀDØÀDïÀE!ÀEKÀEbÀEpÀE|ÀEˆÀEÀE˜ÀE·ÀEÜÀFÀFBÀFyÀF<>ÀF³ÀFûÀG ÀGOÀGYÀGcÀG«ÀGöÀHÀH%ÀH/ÀH5ÀHTÀHXÀHYÀH¦ÀHîÀI>ÀI<>ÀI¤ÀIÕÀIíÀI÷ÀJ(ÀJtÀJŸÀJ­ÀJåÀJûÀKÀKYÀKcÀKkÀK}ÀK¹ÀK¿ÀKÃÀKÄÀKûÀL=ÀL>ÀL^ÀLœÀL<>ÀL¿ÀM
ÀM ÀM-ÀM}ÀM~ÀM¢ÀMóÀMôÀN2ÀNfÀNgÀN<>ÀNÞÀNßÀOÀOLÀOMÀOsÀOªÀOÛÀOÜÀPÀP<ÀP=ÀPjÀP±ÀP²ÀPÚÀQ ÀQ
ÀQ.ÀQjÀQkÀQÀQ¿ÀQÀÀQèÀR"ÀR#ÀRQÀR~ÀRÀR®ÀRèÀRéÀS$ÀSiÀSjÀS¦ÀSÕÀSþÀSÿÀT;ÀT^ÀTÀT—ÀT½ÀTîÀU ÀU!ÀUrÀU<>ÀUÌÀUÍÀVÀV?ÀVlÀVmÀV·ÀVÅÀVæÀW4ÀW5ÀWWÀW¢ÀW£ÀWØÀXÀXÀXiÀX¢ÀXÁÀXÂÀYÀYBÀYCÀYŽÀY<>ÀYìÀYíÀZ=ÀZXÀZ<>ÀZÀZÀÀ[À[À[*À[nÀ[oÀ[¨À[ùÀ[úÀ\7À\`À\aÀ\ŸÀ\ÐÀ\ÑÀ]À]CÀ]fÀ]„À]<5D>À]ÑÀ]ÕÀ]ÖÀ]ýÀ^À^8À^lÀ^pÀ^qÀ^¾À^ÊÀ^øÀ^ùÀ_FÀ_[À_ŽÀ_<>À_¶À_ÿÀ`6À`jÀ`™À`ÏÀaÀaHÀamÀa®ÀaÔÀbÀbÀb&Àb.Àb4ÀbdÀbwÀb{Àb|Àb™ÀbÎÀbÏÀbîÀc0Àc1ÀcbÀc§Àc¨ÀcÓÀdÀd+Àd,ÀdlÀdµÀd¶ÀeÀe3Àe_Àe`ÀeÀeÕÀeÖÀfÀfSÀfÀf€ÀfÉÀfûÀg.Àg[Àg\Àg¬Àg½ÀgýÀh7Àh8Àh<>ÀhÌÀhÍÀiÀi&ÀidÀieÀiµÀiÌÀjÀjÀjWÀj}Àj~Àj¨ÀjãÀjäÀkÀk]ÀkÀkÚÀl+Àl>ÀlcÀlpÀlÀl¡Àl¥Àl¦ÀlðÀm<Àm†ÀmÔÀn ÀnVÀn\ÀnªÀnÒÀnöÀoÀo]ÀouÀo¯ÀoÇÀpÀp<ÀpDÀpJÀpoÀpsÀptÀpÂÀqÀqVÀq¤ÀqôÀr
ÀrÀr`Àr¯ÀréÀsÀs(ÀsdÀs Às§ÀsËÀsòÀt1Àt^Àt_ÀtšÀt°ÀtÓÀtûÀu#Àu3Àu9Àu:ÀuSÀuÀu·ÀuõÀv
Àv8Àv\Àv“Àv±Àv»ÀvËÀvÓÀvèÀw
ÀwÀwÀwÀwZÀwzÀw˜Àw­ÀwëÀwóÀwûÀx$Àx(Àx)ÀxzÀxÃÀyÀyVÀy\ÀyyÀyÀy‰ÀyÛÀzÀzÀz%ÀzlÀzˆÀzšÀz¼ÀzÛÀzôÀ{À{
À{#À{jÀ{–À{³À{´À{ýÀ|9À|?À|\À|bÀ|lÀ|°À|êÀ|ôÀ|úÀ}AÀ}bÀ}yÀ}˜À}±À}ÂÀ}ÊÀ~À~DÀ~EÀ~<7E>À~ÌÀ~ÒÀÀÀ¯À¹À¿À
À€EÀ€KÀ€’À€°À€ÈÀ€ÝÀ€öÀ<00>À<00><00><00><00>†À<00>°À<00>ÊÀ<00>ÓÀ<00>ÔÀÀÀ‚”À‚®À‚¸À‚¾ÀƒÀƒ)ÀƒHÀƒaÀƒxÀƒ—ÀƒŸÀƒ¶ÀƒÍÀƒçÀ À„5À„>À„?À„|À„‚À„ËÀÀ…iÀ…¶ÀÀ†VÀ†¥À†½À†ÃÀÀ‡_À‡vÀ‡|À‡³À‡¹ÀˆÀˆˆˆšÀˆÀÀˆÙÀˆðÀÀ‰/À‰<À‰hÀ‰ˆÀ‰ÉÀ‰ëÀŠÀŠ%ÀŠMÀŠˆÀŠ<>ÀŠÒÀŠ÷ÀÀ‹§À‹­À‹ÒÀ‹çÀ‹ëÀ‹ìÀŒ<ÀŒ…ÀŒËÀŒÑÀŒëÀŒñÀ<00><00>ˆÀ<00>«À<00>ÎÀ<00>îÀŽ ÀŽQÀŽdÀŽ~ÀŽ—ÀŽªÀŽëÀŽôÀ<00>À<00><00><00><00><00><00>«À<00>åÀ<00>À<00>À<00><00>ŠÀ<00>¶À<00>·À<00>íÀ‘‘À‘áÀÀÀ’œÀ<>À’íÀ“*À“SÀ“TÀ“£À“åÀÀÀ”/À”hÀ”iÀ”}À”¹À”ºÀÀ•9À•ˆÀ•¸À•ÀÀ•øÀ––À–ÙÀ–úÀ—GÀ—MÀ—‚À—³À—¹À—òÀ˜˜˜˜˜¢À˜¦À˜§À˜ÂÀ˜äÀÀ™BÀ™mÀ™zÀ™¬À™ÛÀ™úÀš,ÀšaÀš©ÀšêÀšòÀ À›ƒÀ›‹À›ÏÀ›ñÀœ Àœ)ÀœFÀœ{ÀœµÀœéÀœöÀ<00><00><00><00>•À<00>ÝÀžÀž&ÀžOÀžqÀžµÀžÐÀžñÀŸÀŸ3ÀŸnÀŸtÀŸxÀŸyÀŸ¾À  À   À ÄÀ áÀ¡À¡>À¡vÀ¡ÂÀ¢À¢ À¢NÀ¢pÀ¢‰À¢®À¢ÆÀ£À£BÀ£gÀ£<>À£­À£ÉÀ£åÀ£÷À¤
À¤À¤#À¤$À¤uÀ¤ÂÀ¥À¥aÀ¥®À¥ËÀ¥ÑÀ¦À¦lÀ¦¹À§À§QÀ§<>À§¼À§ÂÀ¨
À¨TÀ¨rÀ¨<>À¨¦À¨ÄÀ©À©^À©yÀ©¢À©·À©äÀªÀª*Àª3Àª;ÀªkÀª¡ÀªñÀ«
À«WÀ«šÀ«ÕÀ«ðÀ¬À¬VÀ¬¥À¬öÀ­­­ŒÀ­ÚÀ®%À®fÀ®<>À®§À®¯À®¼À®öÀ¯;À¯AÀ¯aÀ¯eÀ¯fÀ¯¬À¯¾À¯ÝÀ¯øÀ°À°5À°LÀ°jÀ°²À°ÛÀ°ñÀ±À±@À±dÀ±mÀ±uÀ±¤À±ÝÀ²(À²KÀ²~À²‚À²ƒÀ²¤À²ðÀ²úÀ³#À³MÀ³nÀ³ŒÀ³¿À³ÅÀ³ÉÀ³ÊÀ´À´´¦À´¬À´ùÀµGÀµ—ÀµßÀµýÀÀ¶+À¶uÀ¶vÀ¶”À¶ÜÀ·À·1À·5À·6À·xÀ·®À·ÉÀ·éÀ¸¸¸¸‚À¸—À¸ÒÀ¸íÀ¹À¹MÀ¹zÀ¹„À¹¢À¹æÀ¹øÀº1Àº@ÀºFÀºJÀºKÀº—ÀºåÀ»2À»?À»sÀ»ŽÀ»ÀÀ»íÀ¼À¼3À¼<À¼DÀ¼bÀ¼§À¼«À¼¬À¼âÀ½À½1À½cÀ½<>À½²À½ÖÀ½ßÀ½çÀ¾À¾JÀ¾NÀ¾OÀ¾ À¾ÙÀ¿ À¿&À¿mÀ¿–À¿áÀ¿åÀ¿æÀÀÀÀMÀÀhÀÀ‚ÀÀÅÀÁÀÁÀÁfÀÁjÀÁkÀÁ°ÀÁöÀÂ!ÀÂBÀÂ]À‰À½ÀÂóÀà ÀÃmÀÃqÀÃrÀÃ×ÀÃþÀÄ6ÀÄuÀÄ<>ÀļÀÄêÀÅ/ÀÅgÀŤÀŨÀÅ©ÀÅôÀÆ
ÀÆRÀÆžÀƹÀÆòÀÇ-ÀÇIÀLjÀÇÑÀÈÀÈ#ÀÈ$ÀÈdÀÈŒÀȽÀÈØÀÉ
ÀÉ?ÀɇÀÉ‹ÀÉŒÀÉÏÀÉùÀÊ*ÀÊEÀÊ{ÀʲÀÊÜÀËÀËÀËÀËnÀˇÀË<>ÀËËÀÌÀÌ*ÀÌ\ÀÌ{ÀÌŸÀ̯À̾ÀÌÌÀÌçÀÍÀÍRÀ͉ÀͱÀÍÛÀÍêÀÍøÀÎ;ÀÎkÀÎŒÀΫÀÎÍÀÏÀÏ6ÀσÀÏ<>ÀÏ£ÀÏ¿ÀÏÉÀÏÏÀÏÓÀÏÔÀÐÀÐ@ÀÐSÀІÀÐŒÀÐ<>ÀБÀÐáÀÑ ÀÑ ÀÑWÀÑ]ÀÑaÀÑbÀѲÀÒÀÒ,ÀÒbÀÒ}ÀÒ®ÀÒêÀÓÀÓiÀÓmÀÓnÀÓ¾ÀÓôÀÔ%ÀÔtÀÔ¬ÀÔØÀÕÀÕ
ÀÕ ÀÕXÀÕzÀÕñÀÕ÷ÀÖFÀÖ‘ÀÖÝÀ××׋À×ÔÀ×ïÀØÀØÀØJÀØjÀؘÀØ­ÀØòÀØùÀÙÀÙ#ÀÙ$ÀÙSÀÙ‰ÀÙ¤ÀÙÏÀÙÐÀÙìÀÚ+ÀÚGÀÚKÀÚLÀÚ›ÀÚÅÀÚàÀÛ ÀÛ&ÀÛ:ÀÛRÀÛwÀÛ¯ÀÛÏÀÛ×ÀÛúÀÜ*ÀÜHÀÜPÀÜrÀÜžÀÜ´ÀܼÀÜÙÀÜîÀÝÀÝOÀÝŠÀÝÁÀÝ÷ÀÞ1ÀÞbÀÞ<>ÀÞ½ÀÞ¾ÀÞçÀÞèÀßÀß Àß4Àß_Àß„ÀߨÀßËÀßîÀßïÀàÀàBÀàpÀà™ÀàÌÀàïÀáÀáHÀá{Àá¡ÀáÍÀá÷ÀâÀâMÀâ}Àâ…Àâ‰ÀâŠÀâÜÀã+ÀãuÀã†ÀãŒÀãÚÀãèÀäÀä[Àä{Àä¶ÀäÕÀäÖÀåÀå8Àå…ÀåÑÀæ Àæ^ÀæyÀæzÀæÇÀçÀçBÀçtÀç¥Àç¦ÀçÔÀçñÀè!ÀèTÀègÀèhÀèžÀèŸÀèíÀéÀéhÀé¨Àé¯ÀêÀê;ÀêZÀêtÀêŸÀêÍÀêùÀëÀëDÀëƒÀë‰ÀëŠÀë×ÀëöÀì Àì0Àì\Àì|Àì}Àì¸ÀìØÀíÀí[ÀíyÀí¾ÀíÈÀíîÀîÀî'ÀîLÀîyÀîƒÀî¨ÀîÕÀîßÀïÀïCÀï‡Àï‘Àï¼ÀïøÀðÀð^ÀðhÀð~Àð¦Àð°ÀðÓÀñÀñ=ÀñwÀñ¯ÀñÑÀòÀòÀòFÀòRÀò\Àò|ÀòÂÀòæÀòðÀó ÀóqÀó<>Àó¹ÀóáÀô(ÀôRÀô„ÀôºÀôØÀõ Àõ Àõ`ÀõÀõ¿ÀõçÀöÀö Àö_Àö<>Àö¢Àö¬ÀöÜÀ÷À÷=À÷IÀ÷šÀ÷ßÀ÷öÀøBÀøLÀø€Àø†Àø‡Àø½ÀùÀùYÀù§ÀùõÀúFÀúsÀútÀú½ÀúçÀûÀûÀû ÀûDÀûpÀû¾ÀûþÀü5ÀüiÀü›ÀüÑÀüÛÀý
Àý=ÀýGÀýHÀý^Àý§ÀýØÀýäÀýîÀþAÀþ~Àþ¬ÀþõÀÿÀÿmÀÿ²ÀÿëÀ²ÀêÀŸÀÕÀÀŠÀœÀÍÀöÀ”À¦À§ÀÊÀãÀíÀ³ÀæÀÀ£ÀÚÀÀŠÀ·ÀåÀ‘ÀÕÀáÀÀÃÀÏÀÙÀ À <09>À ¿À
À


”À
ÖÀ À   ¨À ¾À ôÀ þÀ    ºÀ ÐÀ
À
À

<EFBFBD>À
ÏÀÀ£ÀÐÀÀ˜ÀéÀùÀªÀÌÀÜÀ©ÀíÀ÷ÀÀ†ÀÐÀÀ†À‘À¿ÀßÀÀÀ À™À<14>ÀžÀÄÀ
À<15>À™ÀæÀúÀ<16>À˜ÀžÀ¢À£ÀðÀ–ÀÒÀüÀÀÀÀ<18>À£ÀëÀ†À¼ÀËÀÀÀ‰À¿ÀÅÀÉÀËÀÌÀÀ†À³À÷ÀœÀéÀüÀÀÀ£À¤À°ÀÛÀÝÀÞÀ“À¬À­ÀÙÀÚÀæÀ À À À‹À°À±ÀàÀöÀ÷À <20>À ±À ÄÀ ÌÀ ßÀ!À!EÀ!NÀ!OÀ![À!~À!žÀ!¯À!¸À!¹À!ÅÀ!éÀ"À"1À"_À"À"€À"ŒÀ"×À"ÙÀ"ÚÀ#"À#8À#\À#…À#†À#ÖÀ#íÀ$
À$ À$/À$PÀ$QÀ$lÀ$<24>À$<24>À$ÀÀ$ÜÀ$ÝÀ%+À%MÀ%NÀ%ŸÀ%ÔÀ%ïÀ%ðÀ&"À&FÀ&GÀ&<26>À&•À&ÝÀ'À'4À'5À'€À'†À'ÎÀ(
À(+À(,À(>À(oÀ(‰À(²À(ÝÀ(ðÀ)À)À)=À)QÀ)hÀ)šÀ)›À)ÞÀ)ùÀ*À*9À*WÀ*wÀ*<2A>À*­À*ÄÀ*äÀ*øÀ+À+À+/À+qÀ+¤À+ãÀ,(À,UÀ,‹À,ÄÀ,ãÀ-$À-TÀ-<2D>À-–À-—À-£À-ÆÀ-ßÀ-óÀ. À.%À.7À.LÀ.bÀ.<2E>À.”À.ªÀ.³À.´À.ÀÀ.äÀ/À/.À/`À/ˆÀ/¸À/ìÀ0À0:À0fÀ0¤À0ÊÀ0ôÀ0õÀ1À1À1ÐÀ1ÒÀ1ÓÀ2À2&À2XÀ2`À2aÀ2<>À2šÀ2À2ÓÀ2àÀ2áÀ3$À3-À3.À3aÀ3nÀ3pÀ3qÀ3»À4 À4WÀ4À4¦À4ãÀ5À5À5À5KÀ5tÀ5uÀ5¨À5©À5µÀ6À6À6À6KÀ6LÀ6XÀ6|À6¦À6ÄÀ6æÀ7À7À7À7)À7@À7UÀ7VÀ7˜À7¶À7ÐÀ7ÙÀ7ÚÀ8À8À8À8LÀ8MÀ8YÀ8ˆÀ8‰À8•À8¹À8ãÀ8ýÀ9À93À95À96À9IÀ9_À9vÀ9ŒÀ9«À9ÀÀ9ØÀ9ÙÀ:$À:FÀ:dÀ:€À:´À:ÎÀ:òÀ:ûÀ:üÀ; À;&À;?À;WÀ;{À;’À;®À;´À;µÀ;ÁÀ;ØÀ<IÀ<JÀ<VÀ<<3C>À<‚À<ŽÀ<²À<ÜÀ<ùÀ=À=9À=UÀ=‰À=£À=ÅÀ=ÇÀ=ÈÀ=ÜÀ=óÀ>À>À>_À>°À>ÙÀ>ìÀ?%À?.À?/À?kÀ?lÀ?xÀ?ªÀ?«À?·À?ÛÀ@À@#À@?À@_À@aÀ@bÀ@§À@çÀA5ÀA<ÀARÀAyÀAzÀA¯ÀAÚÀAÛÀBÀB-ÀB~ÀBÀBµÀBÑÀBÒÀBòÀCÀCÀC<ÀC]ÀC^ÀC{ÀCÀC—ÀC©ÀCÅÀCåÀDÀD-ÀDIÀDnÀDoÀD™ÀDÄÀEÀEÀEYÀE¤ÀEëÀF#ÀF5ÀF6ÀF‡ÀF¢ÀFÊÀFïÀGÀG,ÀGDÀGLÀGaÀGŽÀG¤ÀGðÀH/ÀHzÀH§ÀH°ÀH²ÀH³ÀHöÀIÀIIÀIwÀIxÀI©ÀIÙÀIÚÀJ ÀJUÀJVÀJwÀJ“ÀJ°ÀJÚÀJàÀJáÀK0ÀKlÀKªÀKÓÀLÀLÀLÀLÀLKÀLeÀL®ÀLûÀM.ÀM/ÀM|ÀMÈÀMëÀNÀNÀNlÀN¢ÀNâÀNãÀO-ÀO;ÀOaÀObÀO~ÀO´ÀOÝÀP!ÀP@ÀPFÀPGÀPŒÀPºÀPìÀQ4ÀQoÀQ®ÀQâÀQëÀQíÀQîÀRÀR8ÀR‡ÀR£ÀRÇÀRÈÀSÀS3ÀSWÀSXÀS¤ÀSÈÀSôÀSõÀTAÀTjÀT£ÀT¤ÀTÕÀTõÀTöÀUEÀUXÀU‡ÀUˆÀU²ÀU×ÀUØÀUõÀV/ÀViÀV²ÀWÀWÀWOÀW|ÀWÀWƒÀWÊÀWøÀX&ÀXdÀX”ÀXÈÀXöÀYBÀYrÀY{ÀY}ÀY~ÀY­ÀYÕÀZ%ÀZpÀZ™ÀZšÀZêÀ[5À[^À[_À[­À[»À[ßÀ[àÀ\1À\rÀ\ÃÀ\íÀ\îÀ]=À]zÀ]«À]¬À]ùÀ^À^GÀ^HÀ^’À^´À^éÀ^êÀ_À_>À_hÀ_¡À_ËÀ`À`FÀ`qÀ`¨À`®À`¯À`èÀaÀaRÀaŽÀa¼ÀaúÀbBÀboÀb ÀbÎÀcÀc Àc Àc Àc1ÀcdÀceÀc<>Àc”ÀcàÀd1ÀdÀdÎÀeÀehÀe²ÀeÈÀeïÀfÀfIÀfJÀf”ÀfßÀfõÀgÀgÀggÀg¢ÀgÍÀgÎÀg÷Àh5Àh`Àh<>Àh•ÀhÀhÎÀhûÀiÀi`ÀiœÀiàÀiéÀiëÀiìÀjÀjLÀj|Àj}Àj¥ÀjÇÀjäÀjêÀjëÀk"ÀkNÀkÀkÔÀkÝÀkßÀkàÀkûÀl(Àl)ÀltÀluÀl¼ÀmÀm
ÀmÀmÀm0ÀmcÀmÀm—ÀmÃÀmõÀn Àn Àn.Àn]Àn“ÀnªÀn°Àn±ÀoÀoHÀouÀo¦ÀoÂÀoËÀoÍÀoÎÀpÀp2ÀpMÀpfÀpgÀp”ÀpÉÀpÊÀqÀq3ÀqSÀqTÀq¤ÀqÓÀrÀr ÀrHÀrjÀr¨Àr®ÀrÑÀrþÀs Às!ÀsNÀsUÀsmÀsƒÀsµÀsÇÀsÎÀsÒÀsÓÀt#ÀtUÀtŒÀt°ÀtÓÀu ÀuÀuÀu ÀuXÀu¥Àu¦ÀuïÀv5ÀvÀv¿ÀvüÀvýÀw3Àw]ÀwwÀwÀw•ÀwÀw¯ÀwÑÀwæÀx,ÀxQÀxvÀx¨Àx×Àx÷ÀxÿÀyÀy+ÀyWÀyoÀywÀy{Ày|Ày“Ày´ÀyÏÀyåÀzÀz Àz
ÀzÀzKÀzeÀzœÀz¯Àz°ÀzûÀ{À{/À{0À{oÀ{¢À{£À{ÎÀ{ÏÀ{ýÀ|À|VÀ|WÀ|‹À|ÅÀ|üÀ}JÀ}nÀ}ºÀ}óÀ}÷À}ùÀ}úÀ~<À~WÀ~†À~™À~šÀ~ÅÀ~ÖÀ~×À À<>ÀªÀ«ÀÐÀ À
À€LÀ€™À€›À€œÀ€çÀ<01><01><01>À<01>¦À<01>¾À<01>¿ÀÀ‚£À‚ÈÀ‚ÎÀƒÀƒiÀƒ¸ÀÀÀÀ„iÀ„«À„±ÀÀ…IÀ…‹À…‘À…ÜÀ†*À†wÀ†ŸÀ†ÄÀ†ùÀ‡-À‡gÀ‡£À‡ÇÀˆÀˆˆˆˆÃÀˆÉÀˆÍÀˆÎÀ
ÀÀ‰0À‰6À‰@À‰uÀ‰À‰¾À‰øÀ‰üÀ‰ýÀŠ>ÀŠDÀŠ…ÀŠ‹ÀŠ•ÀŠØÀŠâÀŠèÀ‹žÀ‹ÆÀ‹ÚÀŒ ÀŒfÀŒjÀŒkÀŒ¡ÀŒ¢ÀŒ³ÀŒÚÀŒðÀ<01>À<01>À<01>À<01><01><01><01><>À<01>À<01>¨À<01>©À<01>ºÀ<01>ÎÀŽÀŽÀŽÀŽÀŽ<ÀŽ=ÀŽfÀŽgÀއÀŽˆÀŽ”ÀޏÀ޹ÀŽÅÀŽéÀ<01>À<01><01><01><01><01>€À<01>¸À<01>ÍÀ<01>ãÀ<01>äÀ<01>À<01>À<01><01><01><01><01>ŠÀ<01>À<01>—À<01>¾À<01>ÀÀ<01>ÁÀÀ‘€À‘•À‘–À‘âÀÀÀ’±À’¾À’îÀ’ïÀÀ“HÀ“YÀ“gÀ“ŠÀ“ÎÀÀÀÀ”+À”LÀ”gÀ”ˆÀ”ËÀ”òÀÀ•4À•pÀ<>À•ÛÀ•áÀ•åÀ•æÀÀ–´À–ÎÀ–ëÀ— À—&À—EÀ—bÀ<>À—žÀ—»À—ÛÀ—üÀ˜À˜˜˜˜<>À˜ÌÀ˜éÀ˜úÀ™JÀ™_À™lÀ™¹À™ÖÀš ÀšXÀš”Àš´ÀšÞÀšÿÀ›»Àœ
Àœ/ÀœAÀœoÀœzÀœ|Àœ}ÀœÊÀœýÀ<01>À<01><01><01>¦À<01>ÕÀ<01>ÙÀž)ÀžBÀžFÀž•ÀžÕÀŸ ÀŸ;ÀŸ<ÀŸVÀŸgÀŸzÀŸ‰ÀŸ<>ÀŸ¯ÀŸµÀŸ¶ÀŸÂÀ À À    ™À ¢À ¤À ¥À ôÀ¡À¡À¡UÀ¡lÀ¡¬À¡ÛÀ¡ßÀ¢/À¢À¢ÇÀ¢ËÀ£À£ZÀ£‰À£¤À£ëÀ¤/À¤0À¤<À¤yÀ¤ŠÀ¤±À¤ÒÀ¤äÀ¤íÀ¤ïÀ¤ðÀ¥?À¥NÀ¥RÀ¥ À¥·À¥÷À¦&À¦*À¦zÀ¦ÂÀ¦ÆÀ§À§UÀ§ƒÀ§<>À§äÀ¨(À¨)À¨5À¨qÀ¨‚À¨©À¨ÊÀ¨ÜÀ¨åÀ¨çÀ¨èÀ©À©À©QÀ©‡À©“À©¿À©ÀÀ©ÌÀªÀªÀª.Àª?Àª_Àª‹ÀªŒÀª˜Àª½ÀªûÀªýÀªþÀ«MÀ«™À«çÀ¬À¬À¬SÀ¬iÀ¬ À¬ÕÀ¬íÀ­À­­­­<>À­ìÀ®:À®~À®ÏÀ®íÀ¯
À¯&À¯JÀ¯jÀ¯§À¯ÏÀ¯ÐÀ¯ýÀ°$À°@À°dÀ°„À°ÂÀ°êÀ±À±À±À±5À±RÀ±uÀ±•À±›À±ŸÀ± À±¬À±ÍÀ±èÀ² À²)À²/À²3À²4À²@À²gÀ²ƒÀ²£À²ÊÀ³À³'À³XÀ³šÀ³ºÀ³åÀ´À´´´´šÀ´ÑÀ´êÀ´ðÀµ,Àµ0Àµ1ÀµQÀµÀµ¨ÀµÍÀµîÀÀ¶2À¶NÀ¶uÀ¶ À¶¾À¶åÀ¶ïÀ·.À·YÀ·rÀ·<>À·ÆÀ¸À¸À¸À¸À¸À¸¸‚À¸«À¸ÖÀ¸üÀ¹À¹6À¹]À¹ˆÀ¹¦À¹ÍÀ¹×ÀºÀºAÀºZÀºxÀº®ÀºîÀºöÀºþÀ»À»À»*À»^À»‡À»±À»×À¼ À¼)À¼EÀ¼kÀ¼ŽÀ¼˜À¼ÃÀ¼áÀ½ À½,À½8À½BÀ½<>À½¬À½ÅÀ½ãÀ¾3À¾sÀ¾{À¾ƒÀ¾‡À¾ˆÀ¾ºÀ¾üÀ¿%À¿UÀ¿‰À¿§À¿ÃÀ¿éÀÀ ÀÀÀÀAÀÀ_ÀÀ‡ÀÀªÀÀ¶ÀÀÀÀÀÿÀÁ*ÀÁCÀÁaÀÁ±ÀÁñÀÁùÀÂÀÂÀÂÀÂGÀÂ<>À¦ÀÂÏÀÂïÀÃ"ÀÃ@ÀÃ\ÀÇÀÃÈÀÃõÀÄÀÄ1ÀÄVÀÄ–ÀÄžÀĦÀĪÀÄ«ÀÄùÀÅ
ÀÅ;ÀÅdÀÅŒÀŹÀÅ×ÀÅóÀÆÀÆ_ÀÆŒÀÆ¥ÀÆÈÀÆçÀÇ'ÀÇ/ÀÇ7ÀÇ;ÀÇ<ÀÇ|ÀDzÀÇÛÀÈÀÈ^ÀȇÀÈ¥ÀÈÁÀÈìÀÉ&ÀÉLÀÉeÀÉ‘ÀɵÀÉõÀÉýÀÊÀÊ ÀÊ
ÀÊ,ÀÊEÀÊnÀÊ‘ÀÊ©ÀÊÆÀÊäÀËÀË+ÀËlÀË™À˲ÀËÑÀËðÀÌ0ÀÌ8ÀÌ@ÀÌDÀÌEÀÌ{ÀÌÉÀÌòÀÍ7ÀÍ[ÀÍxÀͨÀÍÆÀÍâÀÎÀÎ+ÀÎ5ÀÎ`ÀÎ~ÀΦÀÎÉÀÎÕÀÎßÀÎçÀÎïÀÎóÀÎôÀÏÀÏ=ÀÏ>ÀÏwÀÏxÀÏ„ÀϯÀÏâÀÏãÀÏïÀÐÀÐ$ÀÐPÀÐrÀÐÃÀÐíÀÑÀÑÀÑ5ÀÑdÀÑ“ÀÑ™ÀÑ­ÀѱÀѲÀѾÀÒÀÒÀÒYÀÒ‡ÀÒ³ÀÒµÀÒ¶ÀÓÀÓ ÀÓWÀÓuÀÓŽÀÓ¥ÀÓ¦ÀÓôÀÔCÀÔYÀÔqÀÔŠÀÔšÀÔ¨ÀÔ¹ÀÔÑÀÔýÀÔþÀÕ
ÀÕ1ÀÕNÀÕkÀÕoÀÕpÀÕ|ÀÕ<>ÀÕ¸ÀÕÓÀÕ×ÀÕØÀÕäÀÖ%ÀÖ4ÀÖnÀÖ‚ÀÖ’ÀÖ£ÀÖ¥ÀÖ¦ÀÖöÀ×׉À×ÀÀ×ïÀØÀØÀØÀØ/ÀØHÀØaÀØqÀØrÀØ~ÀØ¥ÀØÂÀØßÀØãÀØäÀØðÀÙÀÙ,ÀÙGÀÙKÀÙLÀÙXÀÙ€ÀÙ<>ÀÙ<>ÀÙ¸ÀÚÀÚÀÚÀÚTÀÚUÀÚaÀÚ¡ÀÚÚÀÚÜÀÚÝÀÛÀÛKÀÛLÀÛ›ÀÛæÀÛôÀÜ2ÀÜ?ÀÜuÀÜvÀÜ‚ÀÜ£ÀܾÀÜÐÀÜøÀÝIÀÝjÀÝwÀݤÀÝÝÀÝãÀÝçÀÝèÀÞ8ÀÞ‰ÀÞØÀß&Àß\Àß›ÀßœÀߨÀßìÀà+Àà-Àà.ÀàtÀà‚ÀàžÀàìÀá7ÀáˆÀáºÀáßÀáàÀâ,Àâ[ÀâvÀâwÀâÈÀãÀã#Àã?Àã@Àã<>ÀãžÀã³Àã´ÀãÖÀãòÀãóÀä&ÀäHÀäIÀäaÀä‰Àä©ÀäÊÀääÀäþÀåÀå#Àå%Àå&ÀåwÀåÇÀåñÀåÿÀæ8ÀæaÀærÀæ˜Àæ¸ÀæÍÀçÀç?Àç\Àç]Àç«ÀçõÀè7Àè=ÀèŽÀèÐÀèêÀèúÀé Àé!Àé2ÀéFÀé”Àé®Àé»Àé¿ÀéÀÀéßÀê ÀêUÀêYÀêZÀê¦ÀêÚÀë Àë+ÀëyÀë}Àë~ÀëÌÀëúÀìJÀìKÀì—Àì¾ÀìâÀìúÀíEÀíKÀíaÀí<>Àí±ÀíÑÀí×ÀíýÀî Àî?ÀîEÀîXÀîÀîƒÀî„ÀîÃÀïÀï5ÀïGÀïˆÀï«Àï¶Àï·ÀïåÀðÀðÀðcÀð³ÀñÀñLÀñšÀñ›ÀñÊÀñìÀò Àò8ÀòEÀò`ÀòfÀòjÀòkÀò½ÀòøÀòþÀóOÀóoÀóÀÀô
Àô@ÀôŒÀôØÀõÀõ/ÀõHÀõtÀõªÀõ«ÀõÏÀöÀöÀö`ÀöªÀöÚÀ÷À÷À÷^À÷dÀ÷ŸÀ÷âÀ÷ýÀø5ÀøNÀø”ÀøÒÀù#ÀùKÀùƒÀù©ÀùÕÀúÀúHÀúeÀú—ÀúÊÀúøÀû5Àû=ÀûCÀûDÀûWÀû‰Àû©ÀûáÀûïÀüÀü#ÀüVÀü€Àü–Àü¼ÀüÚÀýÀý/Àý[ÀýpÀý™Àý·ÀýäÀþ Àþ8ÀþMÀþ‡Àþ¾ÀþåÀÿÀÿ_ÀÿxÀÿÁÀÀÐÀõÀ“À¯ÀÉÀÀ–À·ÀÔÀåÀƒÀÒÀÜÀÀ¤À¿À
ÀÀ<05>ÀÉÀÀ½ÀêÀøÀÀ¬ÀÅÀÀ€ÀŒÀ”À±ÀìÀ À ”À âÀ ãÀ
À


¯À
ÕÀ À   ¡À ­À ÝÀ À  ƒÀ žÀ ÁÀ óÀ
À


‘À
°À
¼À
ÄÀ
ÞÀÀÀŽÀºÀÄÀÌÀÀ›ÀÉÀãÀÀ•ÀÄÀôÀÀÀÁÀíÀÀŠÀÅÀÀÀ<13>À˜ÀžÀãÀÀÀŒÀ¤ÀÈÀíÀÀÀ£ÀñÀÀ€À›À¥À¯ÀÆÀÎÀÒÀÔÀÕÀ¾ÀÀœÀìÀ†ÀŸÀ½ÀÖÀÀÀˆÀ«ÀÑÀåÀæÀ
ÀÀÀ„À…À¹ÀºÀßÀÀÀ‡À©À·À½ÀàÀäÀåÀ€ÀŽÀ”ÀÏÀÓÀÕÀÖÀ¾ÀÿÀ°À±À×ÀØÀ À À ‰À ¯À ÅÀ âÀ!À!À!9À!}À!£À!±À!·À!¸À!ÕÀ"À"À"PÀ"<22>À"£À"¤À"åÀ#
À#/À#uÀ#<23>À#ØÀ#÷À$5À$^À$kÀ$¶À$ßÀ$åÀ$æÀ%À%LÀ%†À%‡À%¸À%ÕÀ%ÝÀ%ÞÀ%úÀ%ûÀ&À&#À&$À&6À&8À&9À&<26>À&¤À&±À&ÑÀ&æÀ&ëÀ'À'1À'~À'ºÀ'ÜÀ'îÀ'øÀ()À(?À(<28>À(âÀ))À)EÀ)•À)×À*À*BÀ*‚À*ŠÀ*‹À*³À*èÀ+ À+TÀ+kÀ+¦À+°À+ïÀ+ðÀ,À,XÀ,<2C>À,îÀ-8À-rÀ-¼À-ûÀ.#À.jÀ.¨À.ÎÀ.ÞÀ/À/:À/cÀ/ªÀ/¿À0À0RÀ0iÀ0«À0ËÀ1À19À1zÀ1ˆÀ1 À1ÆÀ1ÒÀ1ÜÀ2
À2À2KÀ2eÀ2¥À2×À2òÀ3À3CÀ3MÀ3UÀ3{À3¡À3ºÀ3óÀ4À4>À4jÀ4«À4ÈÀ5À59À5PÀ5lÀ5‰À5±À5ÍÀ5ïÀ6 À6À6$À6?À6lÀ6œÀ6ÚÀ7À7À7À7HÀ7qÀ7{À7¯À7ËÀ7ôÀ7þÀ8'À8\À8fÀ8À8 À8»À8ÃÀ8ÉÀ8ÍÀ8ÎÀ8àÀ8âÀ8ãÀ9
À9^À9_À9¤À9ÜÀ9úÀ:EÀ:<3A>À:¨À:©À:öÀ;À;<À;=À;†À;¬À;ÑÀ;ÒÀ<
À<5À<6À<QÀ<aÀ<cÀ<dÀ<³À<èÀ=À=1À==À=XÀ=YÀ=¡À=¢À=®À=ÔÀ>À>=À>[À><3E>À>‚À>œÀ>ÏÀ?À?-À?UÀ?wÀ?{À?|À?ˆÀ?®À?ÛÀ@
À@+À@HÀ@PÀ@VÀ@˜À@×À@þÀA@ÀApÀAvÀAzÀA{ÀA‡ÀA°ÀAÏÀAêÀB1ÀB_ÀBÀBºÀBÙÀBöÀBþÀCÀCÀC ÀCÀC&ÀC;ÀC?ÀCAÀCBÀC<>ÀC¯ÀC°ÀCûÀD-ÀD.ÀD}ÀD¯ÀDäÀE%ÀEKÀEZÀE…ÀE—ÀE¯ÀEöÀE÷ÀFÀF\ÀF]ÀFrÀFŠÀFÈÀFåÀGÀGÀG4ÀGwÀG{ÀG|ÀGŸÀGÄÀGðÀH$ÀHEÀHcÀHŠÀH£ÀHÐÀHìÀIÀI+ÀIMÀIUÀIYÀIZÀI‰ÀI¹ÀIßÀIñÀIòÀIþÀJ?ÀJ[ÀJ\ÀJhÀJ¡ÀJÉÀKÀKÀK2ÀKQÀKÀK•ÀKÀK¢ÀKÛÀKöÀKúÀKûÀLÀLCÀL_ÀLcÀLdÀLpÀL¸ÀLØÀLÜÀLÝÀLéÀM.ÀMMÀMQÀMRÀM^ÀM£ÀMÂÀMÆÀMÇÀMÓÀNÀN1ÀNVÀNZÀN[ÀNgÀNµÀN×ÀNÛÀNÜÀNèÀOÀOFÀOkÀOoÀOpÀO|ÀO¯ÀOÝÀPÀPÀPÀPÀPKÀP{ÀP£ÀP§ÀP¨ÀP´ÀQÀQ(ÀQ,ÀQ-ÀQ9ÀQsÀQ¢ÀQìÀR*ÀR.ÀR/ÀR;ÀRÀR¾ÀSÀS#ÀSnÀSrÀSsÀSÀSÂÀSøÀT&ÀT*ÀT+ÀT7ÀTpÀT£ÀTÉÀTßÀTøÀUÀU2ÀU6ÀU7ÀUCÀUŠÀUÂÀUòÀV"ÀV&ÀV'ÀV3ÀVuÀV ÀV¾ÀVÂÀVÃÀVÏÀWÀWEÀWaÀW}ÀW¨ÀW¾ÀWãÀWíÀWüÀX$ÀXZÀXÀX‰ÀXÀX—ÀXÄÀXÈÀXÉÀXÕÀYÀYQÀYÀYªÀYàÀZ.ÀZVÀZyÀZ<>ÀZ‡ÀZ¶ÀZºÀZ»ÀZÇÀZþÀ[.À[JÀ[dÀ[˜À[ÅÀ[èÀ\ À\>À\gÀ\…À\¨À\ÛÀ]À]"À]EÀ]MÀ]SÀ]{À]À]€À]ŒÀ]ËÀ]ÿÀ^+À^/À^0À^<À^sÀ^ŸÀ^æÀ_!À_%À_&À_2À_}À_·À_éÀ_íÀ_îÀ_úÀ`IÀ`…À`·À`ìÀaÀa!Àa4Àa=ÀaDÀaHÀaIÀaUÀaœÀaÔÀbÀbÀb
Àb ÀbNÀbqÀbŒÀb®Àb¾ÀbÓÀbðÀc
Àc)Àc*ÀcAÀcaÀczÀcÀc«ÀcËÀcÑÀcÒÀdÀd8Àd9Àd[ÀdtÀd<>Àd”Àd•Àd²ÀdÐÀe
ÀeÀeÀeÀe`ÀelÀe­Àe®ÀeóÀf Àf?ÀfsÀftÀf†Àf¹ÀfêÀgÀggÀg”ÀgáÀh Àh]Àh^Àh‡ÀhËÀhÌÀhðÀiÀi5Ài;Ài?ÀiAÀiBÀi<>ÀiÞÀjÀj#ÀjmÀj¸ÀjüÀkÀk1ÀkjÀkkÀk|Àk}ÀkÁÀkåÀlÀlÀlÀlÀlWÀl—Àl˜ÀläÀm5ÀmÀmÓÀnÀnÀn2ÀnnÀnoÀn Àn¡ÀnµÀn¶ÀnìÀoÀo>ÀoQÀo<>Ào×ÀoÝÀoáÀoâÀpÀpÀpÀp4Àp_Àp`ÀpÀp¼Àp½Àq
Àq3ÀqÀq¹ÀqºÀqÆÀq÷ÀqøÀrÀrRÀrSÀrŠÀrÎÀrÏÀsÀs:ÀsbÀsuÀsÂÀtÀtÀtÀtÀt)ÀtnÀtˆÀt¨Àt±Àt³Àt´ÀtçÀuÀu!Àu"ÀuwÀuŠÀuÀu¼ÀuÛÀuÜÀv
Àv,Àv-Àv_ÀvÀv±Àv²ÀvÍÀvîÀwÀw)ÀwKÀwnÀwˆÀw¢Àw¾ÀwÂÀwÃÀwíÀxÀxÀxWÀx<>Àx<>Àx¿ÀxëÀyÀy"ÀyeÀy²Ày¸Ày¼Ày½ÀyéÀz'ÀzYÀz¤Àz¨Àz©ÀzÕÀ{À{9À{QÀ{oÀ{ŸÀ{ÏÀ|À|À|&À|(À|)À|\À|À|¸À|ÔÀ|ÕÀ}À}*À}+À}WÀ}<7D>À}‚À}¡À}ÀÀ}ßÀ}øÀ}þÀ}ÿÀ~1À~oÀ~<7E>À~²À~¸À~¼À~½À~ïÀ‡À±ÀÎÀðÀ€8À€OÀ€XÀ€ZÀ€[À€£À€ÛÀ<02> À<02><02>”À<02>•À<02>¡À<02>ËÀ<02>ÌÀ<02>ØÀÀ‚›À‚©À‚¯À‚ÓÀƒ#ÀƒBÀƒ’ÀƒÉÀƒÍÀƒÎÀƒüÀ„3À„VÀ„WÀ„cÀ„¡À„»À„úÀÀÀÀ… À…TÀ…™À…êÀ…ëÀ†'À†^À†‘À†½À†¿À†ÀÀÀÀ‡OÀ‡{À‡|À‡¸À‡ÝÀ‡ÞÀˆÀˆˆˆ€Àˆ‚ÀˆƒÀˆ±ÀˆÔÀÀÀÀ‰gÀ‰¢À‰±À‰³À‰´À‰òÀŠÀŠJÀŠcÀŠ£ÀŠÀÀŠÿÀ‹˜À‹žÀ‹ÂÀŒ
ÀŒÀŒÀŒ>ÀŒ[ÀŒmÀŒoÀŒpÀŒ¤ÀŒÃÀŒÞÀ<02>À<02>À<02>À<02>,>S€†€«€Õ€ý<00>P<01>p<EFBFBD><70><EFBFBD>ƒ<01>¦<00>©<00>Ü2/§¼§Ç §Î§Î§Ö§å§å§ê¨
¨
'¨¨7¨7(¨<¨e¨e.¨}¨™¨™¨¨¨»¨»>¨Û¨ÿ¨ÿj©B©o©o%©t©š©š©Ÿ©¾©¾©Ì©Þ©Þ©â¨-¨[¨ÿ©©
©7© ©d©<64>©´©ôª©ÿªªªª'ªª)ªYª<ªƒªgª†ª<E280A0>ªªºªœª¼ªúªâªü«+««;«-«>«K«L«x«W«z«Ã«£«Å¬«í¬
¬r¬h¬t¬Œ¬<EFBFBD>¬­¬ª¬¢¬¬¬­¬Ì¬º¬Î¬ø¬ì¬úœöœö«aŠg/// Creates an [AudioPlayer].
///
/// Apps requesting remote URLs should set the [userAgent] parameter which
/// will be set as the `user-agent` header on all requests (except on web
/// where the browser's user agent will be used) to identify the client. If
/// unspecified, a platform-specific default will be supplied.
///
/// Request headers including `user-agent` are sent by default via a local
/// HTTP proxy which requires non-HTTPS support to be enabled (see the README
/// page for setup instructions). Alternatively, you can set
/// [useProxyForRequestHeaders] to `false` to allow supported platforms to
/// send the request headers directly without use of the proxy. On iOS/macOS,
/// this will use the `AVURLAssetHTTPUserAgentKey` on iOS 16 and above, and
/// macOS 13 and above, if `user-agent` is the only header used. Otherwise,
/// the `AVURLAssetHTTPHeaderFieldsKey` key will be used. On Android, this
/// will use ExoPlayer's `setUserAgent` and `setDefaultRequestProperties`.
/// For Linux/Windows federated platform implementations, refer to the
/// documentation for that implementation's support.
///
/// The player will automatically pause/duck and resume/unduck when audio
/// interruptions occur (e.g. a phone call) or when headphones are unplugged.
/// If you wish to handle audio interruptions manually, set
/// [handleInterruptions] to `false` and interface directly with the audio
/// session via the [audio_session](https://pub.dev/packages/audio_session)
/// package. If you do not wish just_audio to automatically activate the audio
/// session when playing audio, set [handleAudioSessionActivation] to `false`.
/// If you do not want just_audio to respect the global
/// [AndroidAudioAttributes] configured by audio_session, set
/// [androidApplyAudioAttributes] to `false`.
///
/// The default audio loading and buffering behaviour can be configured via
/// the [audioLoadConfiguration] parameter.
///
/// [useLazyPreparation] specifies whether audio sources will be loaded lazily
/// in preparation to be played. Set this to `false` to make all audio
/// sources load eagerly in advance.
///
/// [shuffleOrder] determines the playback order (defaulting to
/// [DefaultShuffleOrder]) when [shuffleModeEnabled] is `true`,
///
/// When [maxSkipsOnError] is set, the player will automatically skip to the
/// next audio source on load errors, and will give up after [maxSkipsOnError]
/// attempts. This is supported on Android, iOS and web. For other platforms,
/// check the documentation of the respective platform implementation.
///
/// [androidAudioOffloadPreferences] specifies whether audio offload is enabled
/// on Android.Aˆ.ˆ2ˆBˆ<ˆ3ˆ>ˆ&ˆ #ˆ&ˆUˆG ˆUˆ¬ˆlJˆ¬//// The user agent to set on all HTTP requests.ˆ»d</// Whether to use the proxy server to send request headers.‰B‰$5‰B‰i‰^+‰i´‰ŽE‰´ŠÛŠÑ‰Ø<E280B0>ŠÑ€í/// This is `true` when the audio player needs to engage the native platform
/// side of the plugin to decode or play audio, and is `false` when the native
/// resources are not needed (i.e. after initial instantiation and after [stop]).kŠå€<C3A5>k`/// This is set to [_nativePlatform] when [_active] is `true` and
/// [_idlePlatform] otherwise.Ïyd‹Ï>/// Reflects the current platform immediately after it is set.Œw․Œws/// The interface to the native portion of the plugin. This will be disposed
/// and set to `null` when not in use.<00>Œ<E280B9><01>l/// A pure Dart implementation of the platform interface for use when the
/// native platform is not needed.ŽX<C5BD> <20>RŽX<C5BD>/// The subscription to the event channel of the current platform
/// implementation. When switching between active and inactive modes, this is
/// used to cancel the subscription to the previous platform's events and
/// subscribe to the new platform's events.<00>±Žw<C5BD>Q<01>±<EFBFBD>
/// The subscription to the data event channel of the current platform
/// implementation. When switching between active and inactive modes, this is
/// used to cancel the subscription to the previous platform's events and
/// subscribe to the new platform's events.<00>ÿ<EFBFBD>ÍU<01>ÿ<00>@<40>&9<01>@<00><><EFBFBD>cJ<01><><00>Ë<EFBFBD>±<<01>Ë <0B>ñ3 B(-BsY2s˜<CB9C> ˜‘®‘¾‘¿‘¥‘Ÿ!‘¥‘ù(TUD%1Dk_Z_ˆt&ˆ’²’ž"’²’Ø’Å’Ø’í’ç"’í“0“?“K“@“L“M“S“m“T“_“`“g“c“i“`“—“¦“´“§“µ“¶“¼“Ø“½“ʓ˓ғΓԓy“sf“y ”*”9”I”:”J”K”Q”f”R”a”b”
c
”„”“”<EFBFBD>”””œ”ž”Ÿ”¥”ª”¦”q”k@”q ”Ö”å”î”æ”ï”ð”ö•”÷”ÿ•”µ”¯V”µ
•%•4•A•5•@•B•C•I•N•J•• F
•y•ˆ<EFBFBD>•‰•Œ•Ž•<EFBFBD>•••š••Y•SH•Y•µ•ÕӕĕԕՕ¥•Ÿ7•¥ "(#•ú•ô5•úDSTZ^[3-23yˆ<E280B0><E2809C>ic1i®½¾ÄÈÅž˜1–ž–ð–ÿ— –Ó–Í@–Ó —>—L—b—M—c—n—h—d—j—]!——¡—¯—¢—°—±—·˜x—¿—̘e—Þ—Ö—à—á—ø—ì—ú˜˜˜˜˜6˜$˜8˜O˜G˜Q˜Y˜Z˜r˜n˜t—z—t<E28094>—z
˜½˜Ì˜Í˜Ó˜ê˜è˜é˜Ô˜ç˜Õ˜ª˜¤G˜ª
™$™,™*™+™%™)™&˜õ˜ï>˜õ
™N™]™b™^™a™c™d™j™o™k™7™1?™7<>™œ™<C593>™£™°™¤™¬™­™z™t=™z™Ø™ç™è™î™ô™ï™»™µ@™»šš%š1š&š2š3š9šišAšLšhšMšTšcšdš™úpšš~šsšošsš»š +š»šüšÔšÏ1šÔ> ? fNG NŠpk$p›«›˜›“˜›Ì›¹›´›¹›í›Õ/›íœœœœ?œ2œ+œ2œPœE'œPœ{œp(œ{œðœÝœ<C39D>TœÝ9/// Counts how many times [_setPlatformActive] is called.8ÀKÆÀKÆvÀL4/// The first [AudioSource] in the playlist, if any.ÀL@ÀL@[ÀLp/// The latest [PlayerEvent].ÀLŸÀLŸjÀ/// A stream of [PlayerEvent]s.ÀM
ÀM
oÀMA/// The latest [PlaybackEvent].ÀM€ÀM€rÀM¾!/// A stream of [PlaybackEvent]s.ÀMöÀMöoÀNB;/// The duration of the current audio or `null` if unknown.ÀNiÀNitÀN¨&/// The duration of the current audio.ÀNáÀNájÀO"/// The current [ProcessingState].ÀOOÀOO€ÀO#/// A stream of [ProcessingState]s.ÀOÞÀOÞ]ÀP "/// Whether the player is playing.ÀP?ÀP?qÀP}*/// A stream of changing [playing] states.ÀP´ÀP´TÀPç%/// The current volume of the player.ÀQ ÀQ ]ÀQC!/// A stream of [volume] changes.ÀQmÀQmQÀQŸ$/// The current speed of the player.ÀQÂÀQÂ_ÀQý%/// A stream of current speed values.ÀR%ÀR%XÀR^+/// The current pitch factor of the player.ÀR<>ÀR<>fÀRÃ,/// A stream of current pitch factor values.ÀRëÀRë}ÀS/8/// The current skipSilenceEnabled factor of the player.ÀSlÀSl€ÀS¹9/// A stream of current skipSilenceEnabled factor values.ÀTÀT€”ÀTJ9/// The position up to which buffered audio is available.ÀT™ÀT™€†ÀTÔ#/// A stream of buffered positions.ÀU#ÀU#€¨ÀU¢i/// The latest ICY metadata received through the audio source, or `null` if no
/// metadata is available.ÀUÏÀUÏ€œÀV*?/// A stream of ICY metadata received through the audio source.ÀVoÀVo€ÄÀV×S/// The current player state containing only the processing and playing
/// states.ÀW7ÀW7jÀWq/// A stream of [PlayerState]s.ÀW¥ÀW¥wÀW÷2/// The current sequence of indexed audio sources.ÀX ÀX € ÀX<>H/// A stream broadcasting the current sequence of indexed audio sources.ÀXÄÀXÄ}ÀY;/// The current shuffled sequence of indexed audio sources.ÀYEÀYE€¦ÀYµU/// A stream broadcasting the current shuffled sequence of indexed audio
/// sources.ÀYïÀYÀZcf/// The index of the current [IndexedAudioSource] in [sequence], or `null` if
/// [sequence] is empty.ÀZ“ÀZ“rÀZÓ,/// A stream broadcasting the current index.À[ À[ dÀ[> /// The current [SequenceState].À[qÀ[q€‡À[Ä6/// A stream broadcasting the current [SequenceState].À[üÀ[ücÀ\B:/// Whether there is another item after the current index.À\cÀ\clÀ\ª;/// Whether there is another item before the current index.À\ÓÀ<>À]Sm/// Returns [shuffleIndices] if [shuffleModeEnabled] is `true`, otherwise
/// returns the unshuffled indices.À]ØÀ]Ø€—ÀÀ^sÀ^s€„À^ÕT/// The index of the next item to be played, or `null` if there is no next
/// item.À^ûÀ^û€’À_f]/// The index of the previous item in play order, or `null` if there is no
/// previous item.Àb~Àb~OÀ/// The current loop mode.ÀbÑÀbÑ^Àc/// A stream of [LoopMode]s.Àc3Àc3sÀcm./// Whether shuffle mode is currently enabled.ÀcªÀcª€€Àcæ(/// A stream of the shuffle mode status.Àd.Àd.€†Àdw=/// The current Android AudioSession ID or `null` if not set.Àd¸Àd¸€¦ÀeH/// Broadcasts the current Android AudioSession ID or `null` if not set.ÀebÀebrÀe°//// A stream of errors broadcast by the player.ÀeØÀeØ€¦Àf47/// A stream broadcasting every position discontinuity.ÀfÀf€ØÀgv/// Whether the player should automatically delay playback in order to
/// minimize stalling. (iOS 10.0 or later only)Àg^Àg^€ØÀgÈ\/// Whether the player can use the network for live streaming while paused on
/// iOS/macOS.Àh:Àh:€‘Àh<>U/// The preferred peak bit rate (in bits per second) of bandwidth usage on iOS/macOS.ÀhÏÀhÏ€”Ài1T/// Whether the player allows external playback on iOS/macOS, defaults to
/// false.ÀigÀig€<67>Àiâb/// The `crossorigin` attribute set the `<audio>` element backing this player
/// instance on web.ÀjÀjtÀjdN/// The current sink ID of the `<audio>` element backing this instance on web.Àj€Àj€bÀj·'/// The current position of the player.Àl¨Àl¨ƒÊÀ<6E>ó/// A stream tracking the current position of this player, suitable for
/// animating a seek bar. To ensure a smooth animation, this stream emits
/// values more frequently on short items where the seek bar moves more
/// quickly, and less frequenly on long items where the seek bar moves more
/// slowly. The interval between each update will be no quicker than once
/// every 16ms and no slower than once every 200ms.
///
/// See [createPositionStream] for more control over the stream parameters.À”kÀ”kMÀ”•/// The playlist.2‡ó‡ó*ˆÀH[ÀH[ƒgÀ<49>@/// Old versions of just_audio used an asset caching system that created a
/// separate cache file per asset per player instance, and was highly
/// dependent on the app calling [dispose] to clean up afterwards. If the app
/// is upgrading from an old version of just_audio, this will delete the old
/// cache directory.À_¨À
ÀÀ_À_éÀ_ÀjÿÀjÿÀk
ÀjæÀ<6A>¾ÀÀsÀsÀsÀs,Às,6Às5ÀshÀsh6ÀsqÀs#ÀsAÀsGÀsOÀsaÀs\ÀsPÀs^Às}ÀsƒÀsÀs<>Às˜ÀsŒÀsšÀpvÀpv‡±À`/// Creates a new stream periodically tracking the current position of this
/// player. The stream will aim to emit [steps] position updates from the
/// beginning to the end of the current audio source, at intervals of
/// [duration] / [steps]. This interval will be clipped between [minPeriod]
/// and [maxPeriod]. This stream will not emit values while audio playback is
/// paused or stalled.
///
/// Note: each time this method is called, a new stream is created. If you
/// intend to use this stream multiple times, you should hold a reference to
/// the returned stream and close it once you are done.ÀzŒÀ
Àz“ÀzžÀÀÀzÀÀÀÀzßÀÀÀzøÀ À{ÀzîÀx+Àx+ƒ‡Àz€(/// Convenience method to set the audio source to a URL with optional headers,
/// preloaded by default, with an initial position of zero by default.
/// If headers are set, just_audio will create a cleartext local HTTP proxy on
/// your device to forward HTTP requests with headers included.
///
/// This is equivalent to:
///
/// ```
/// setAudioSource(AudioSource.uri(Uri.parse(url), headers: headers, tag: tag),
/// initialPosition: Duration.zero, preload: true);
/// ```
///
/// See [setAudioSources] for a detailed explanation of the options.À}fÀ}fÀ}mÀ}}À}}À}‡À}œÀÀÀ}µÀ ÀÀ}«À{¶À<C2B6>À}U<>v/// Convenience method to set the audio source to a file, preloaded by
/// default, with an initial position of zero by default.
///
/// This is equivalent to:
///
/// ```
/// setAudioSource(AudioSource.uri(Uri.file(filePath), tag: tag),
/// initialPosition: Duration.zero, preload: true);
/// ```
///
/// See [setAudioSources] for a detailed explanation of the options.À€´À€´À€»À€ÌÀ€ÌÀ€ÔÀ€áÀ€áÀ€æÀ€úÀ€úÀ<00>À<00>À<00> À<00>!À€ðÀ~GÀ~GƒÀ€¦0/// Convenience method to set the audio source to an asset, preloaded by
/// default, with an initial position of zero by default.
///
/// For assets within the same package, this is equivalent to:
///
/// ```
/// setAudioSource(AudioSource.uri(Uri.parse('asset:///$assetPath'), tag: tag),
/// initialPosition: Duration.zero, preload: true);
/// ```
///
/// If the asset is to be loaded from a different package, the [package]
/// parameter must be given to specify the package name.
///
/// See [setAudioSources] for a detailed explanation of the options.Àƒ-Àƒ-Àƒ9ÀƒLÀƒLÀƒQÀƒeÀƒeÀƒjÀƒ|Àƒ|Àƒ†Àƒ[À<00>ÖÀ<00>ÖgÀƒ<19>/// Clears the playlist and adds the given [audioSource].
///
/// This is equivalent to:
///
/// ```
/// setAudioSources([source], initialIndex: 0, initialPosition: Duration.zero,
/// preload: true);
/// ```
///
/// See [setAudioSources] for a detailed explanation of the options.ÀˆžÀˆžÀˆ°ÀˆÄÀˆÄÀˆÉÀˆÝÀˆÝÀˆâÀˆôÀˆôÀˆþÀÀÀ‰!ÀˆÓÀ„AÀ„A‡©Àˆ‰„
/// Clears the playlist and adds the given [audioSources].
///
/// By default, this method will immediately start loading the initial
/// [AudioSource] and return its duration as soon as it is known, or `null` if
/// that information is unavailable. Set [preload] to `false` if you would
/// prefer to delay loading until some later point, either via an explicit
/// call to [load] or via a call to [play] which implicitly loads the audio.
/// If [preload] is `false`, a `null` duration will be returned. Note that the
/// [preload] option will automatically be assumed as `true` if `playing` is
/// currently `true`.
///
/// Optionally specify [initialPosition] and [initialIndex] to seek to an
/// initial position within a particular item (defaulting to position zero of
/// the first item).
///
/// When [preload] is `true`, this method may throw:
///
/// * [PlayerException] if the initial audio source was unable to be loaded.
/// * [PlayerInterruptedException] if another invocation of this method
/// interrupted this invocation.À‹îÀ‹îƒ†À<00>¿<EFBFBD>¬/// Starts loading the playlist and returns the audio duration of the initial
/// [AudioSource] in the playlist as soon as it is known, or `null` if
/// unavailable. This method does nothing if the playlist is empty.
///
/// This method throws:
///
/// * [PlayerException] if the audio source was unable to be loaded.
/// * [PlayerInterruptedException] if another invocation of [setAudioSources]
/// interrupted this invocation.À<00>ÉÀ<00>ÉÀ<00>ÕÀ<00><00>x€ŽÀ<00>º2/// Adds [audioSource] to the end of the playlist.À<00><00>c À<00>gÀ<00><00>nÀ<00>zÀ<00>
À<00>
€«À<00>Q7/// Inserts [audioSource] into the playlist at [index].À À ÀÀ<00>¹À<00>¹€À<00>ü3/// Adds [audioSources] to the end of the playlist.À‘³À‘³ À‘·À‘¾À‘¾À‘ÐÀX€¸À 8/// Inserts [audioSources] into the playlist at [index].Às ÀwÀÀ€‡À_;/// Removes the [AudioSource] at [index] from the playlist.ÀÀ ÀÀÀÀ“"À’ŸÀ’Ÿ€³ÀüM/// Removes the [AudioSource]s from index [start] to [end] from the playlist.À“ÂÀ“ÂÀ“ÆÀ“ÔÀ“Ô À“ØÀ“VÀ“V€¼À“²L/// Moves the [AudioSource] in the playlist at [currentIndex] to [newIndex].ÀÀQÀ”>/// Clears the playlist.À”ÝÀ”ÝÀ”âÀ”ôÀ”¼À”¼ƒŠÀ”ÉÀ˜˜dÀ˜pÀ˜˜J[À˜OÀ˜ÆÀ˜ÆÀ˜ÚÀÀÀ™8À™FÀ™F%À™ZÀ˜©À˜©†ÎÀ˜»À èÀ èÀ òÀ ùÀ ù
À¡À¡À¡ À¡ÀŸ{ÀŸ{„§À Ø<C2A0>@/// Clips the current [AudioSource] to the given [start] and [end]
/// timestamps. If [start] is null, it will be reset to the start of the
/// original [AudioSource]. If [end] is null, it will be reset to the end of
/// the original [AudioSource]. This method cannot be called from the
/// [ProcessingState.idle] state.À¤&À¤&>À¨c„
/// Tells the player to play audio at the current [speed] and [volume] as soon
/// as an audio source is loaded and ready to play. If an audio source has
/// been set but not preloaded, this method will also initiate the loading.
/// The [Future] returned by this method completes when the playback completes
/// or is paused or stopped. If the player is already playing, this method
/// completes immediately.
///
/// This method causes [playing] to become true, and it will remain true
/// until [pause] or [stop] is called. This means that if playback completes,
/// and then you [seek] to an earlier position in the audio, playback will
/// continue playing from that position. If you instead wish to [pause] or
/// [stop] playback on completion, you can call either method as soon as
/// [processingState] becomes [ProcessingState.completed] by listening to
/// [processingStateStream].
///
/// This method activates the audio session before playback, and will do
/// nothing if activation of the audio session fails for any reason.À¯hÀ¯hƒÀ¯ÍS/// Pauses the currently playing media. This method does nothing if
/// ![playing].À²ªÀ²ªÀ²¾À²ÈÀ²ÈÀ²ÙÀ²…À²…<C2B2>CÀ²’À³ÌÀ³ÌƒhÀµî‚/// Stops playing audio and releases decoders and other native platform
/// resources needed to play audio. The current audio source state will be
/// retained and playback can be resumed at a later point in time.
///
/// Use [stop] if the app is done playing audio for now but may need still
/// want to resume playback later. Use [dispose] when the app is completely
/// finished playing audio. Use [pause] instead if you would like to keep the
/// decoders alive so that the app can quickly resume audio playback.À·‘À·‘À·žÀ·8À·8€ýÀ·‡?/// Sets the volume of this player, where 1.0 is normal volume.À¸¼À¸¼ À¸ÁÀ¸¸9À¸¦[/// Sets whether silence should be skipped in audio playback. (Currently
/// Android only).À»WÀ»WÀ»dÀºMÀºM]À»N€ë/// Sets the playback speed to use when [playing] is `true`, where 1.0 is
/// normal speed. Note that values in excess of 1.0 may result in stalls if
/// the playback speed is faster than the player is able to downloaded the
/// audio.À¼úÀ¼úÀ½À¼®À¼®<C2BC>ŸÀ¼ñ3/// Sets the factor by which pitch will be shifted.À¾ôÀ¾ô
À¾ýÀ¾QÀ¾Q<C2BE>À¾è€…/// Sets the [LoopMode]. Looping will be gapless on Android, iOS and macOS. On
/// web, there will be a slight gap at the loop point.ÀÀ7ÀÀ7 ÀÀ<À¿èÀ¿è<C2BF><C3A8>ÀÀ!)/// Sets whether shuffle mode is enabled.ÀÁmÀÁmÀÂ0€¯/// Shuffles the playlist using the [ShuffleOrder] passed into the
/// constructor, and recursively shuffles each nested [AudioSource]
/// according to its own [ShuffleOrder].ÀÄ<ÀÄ</ÀÄGÀÃtÀÃt3ÀÄ
€‡/// Sets automaticallyWaitsToMinimizeStalling for AVPlayer in iOS 10.0 or later, defaults to true.
/// Has no effect on Android clientsÀÆXÀÆX<ÀÆcÀÅ«ÀÅ«wÀÆ_/// Sets canUseNetworkResourcesForLiveStreamingWhilePaused on iOS/macOS,
/// defaults to false.ÀÈ’ÀÈ’!ÀÈŸÀÈ&ÀÈ&<26>dÀÈs=/// Sets preferredPeakBitRate on iOS/macOS, defaults to true.ÀÉÿÀÉÿ!ÀÊ
ÀÉŽÀÉŽ<C389><C5BD>ÀÉÞ@/// Sets allowsExternalPlayback on iOS/macOS, defaults to false.ÀËßÀËßÀËïÀËúÀËú
ÀËÿÀË!ÀË!„±ÀËÚ€£/// Seeks to a particular [position], and optionally to a particular [index]
/// within [sequence].
///
/// A `null` [position] seeks to the head of a live stream.ÀÏÖÀÏÖ€¹ÀÐ+E/// Seeks to the next item, or does nothing if there is no next item.ÀГÀГ€ÍÀÐðM/// Seeks to the previous item, or does nothing if there is no previous item.ÀÒ2ÀÒ2&ÀÒIÀÑdÀÑdÀÒ€›/// Sets the Android audio attributes for this player. Has no effect on other
/// platforms. This will cause a new Android AudioSession ID to be generated.ÀÓ ÀÓ ÀÓ´ÀÓÄÀÓÄ&ÀÓÛÀÓpÀÓp<C393>ÀÓ}À׬À׬À×¼ÀÕ
ÀÕ
Àךk/// Sets the `crossorigin` attribute on the `<audio>` element backing this
/// player instance on web (see
/// [HTMLMediaElement crossorigin](https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/crossOrigin) ).
///
/// If [webCrossOrigin] is null (the initial state), the URL will be fetched
/// without CORS. If it is `useCredentials`, a CORS request will be made
/// exchanging credentials (via cookies/certificates/HTTP authentication)
/// regardless of the origin. If it is 'anonymous', a CORS request will be
/// made, but credentials are exchanged only if the URL is fetched from the
/// same origin.ÀÙoÀÙoÀÙvÀÙ&ÀÙ&<26>$ÀÙb,/// Sets a specific device output id on Web.ÀÚNÀÚNˆ:ÀÚÔt/// Releases all resources associated with this player. You must invoke this
/// after you are done with the player.ÀäÀä ÀäÀä$Àä$Àä5ÀäDÀäDÀäIÀäQÀâŒÀ⌲Àãý<C3A3>O/// Switches to using the native platform when [active] is `true` and using the
/// idle platform when [active] is `false`. If an audio source has been set,
/// the returned future completes with its duration if known, or `null`
/// otherwise.
///
/// The platform will not switch if [active] == [_active] unless [force] is
/// `true`.ÀäÀäÀøÀ À ÀÓ#/// Disposes of the given platform.À¥À¥<>`Àd€¤/// Clears the plugin's internal asset cache directory. Call this when the
/// app's assets have changed to force assets to be re-fetched from the asset
/// bundle.À%À7À À ‚¿À…W…WÀs‡ã‚…/// An audio player that plays a gapless playlist of [AudioSource]s.
///
/// ```
/// final player = AudioPlayer();
/// await player.setUrl('https://foo.com/bar.mp3');
/// player.play();
/// await player.pause();
/// await player.setClip(start: Duration(seconds: 10), end: Duration(seconds: 20));
/// await player.play();
/// await player.setUrl('https://foo.com/baz.mp3');
/// await player.seek(Duration(minutes: 5));
/// player.play();
/// await player.pause();
/// await player.dispose();
/// ```
///
/// You must call [stop] or [dispose] to release the resources used by this
/// player, including any temporary files created to cache assets.ÀmÀ|À} ÀÀˆÀˆ À<1D>À–À
ÀÀm5Àµ€˜ÀI€…/// On iOS and macOS, maps to `NSError.code`. On Android, maps to
/// `ExoPlaybackException.type`. On Web, maps to `MediaError.code`.À ÀR€ÁÀ €¥/// On iOS and macOS, maps to `NSError.localizedDescription`. On Android,
/// maps to `ExoPlaybackException.getMessage()`. On Web, a generic message
/// is provided.ÀPÀc=/// The index of the audio source associated with this error.À¦À§À¦À¦4À¹ÀÌÀ̃ÀŒ€¹/// Captures the details of any error accessing, loading or playing an audio
/// source, including an invalid or inaccessible URL, or an audio encoding that
/// could not be understood.À¯ÀÉÀÊÀÊ ÀÏÀ¯À¯)À£ÀÀ£ÀÜÀÝÀÜÀÜ,ÀïÀÞÀÞ<>,Àa|/// An error that occurs when one operation on the player has been interrupted
/// (e.g. by another simultaneous operation).ÀùÀ À À À À $À )ÀùÀù{À¡ÀkCÀ¡/// The current [PlaybackEvent]ÀíÀ³AÀí,/// Whether the player is currently playing.À!QÀ!RÀ!QÀ!QfÀ!eÀ “ÀÀ ¢À µÀ µ
À »À x€ÕÀÀ!ØÀ ÀÀ!»À!¼À!»À!»€ÃÀÀ"‚À"ƒÀ"‚À"TÀ"•À À ƒÌÀ[H/// Encapsulates the playback event and the playing state of the player.À(.À(;
À(BÀ(B+À(GÀ(sÀ(sÀ(}À(<28>À(<28>#À(À(¶À(¶%ÀÀ(áÀ
ÀÀ(ôÀÀÀ)
À)
À)À)!À)!À)&À)AÀ)AÀ)FÀ)UÀ)UÀ)ZÀ(YÀ(hÀ(iÀ(£À(«À(¬À(ÎÀ(ÖÀ(×À)zÀ)oÀ)‡À)|À)ŠÀ)’À)“À)–À)—À(.À(.<2E>k
À#tÀ#:IÀ#t!/// The current processing state.À#þÀ#ˆ€€À#þb/// When the last time a position discontinuity happened, as measured in time
/// since the epoch.À$@À$
AÀ$@!/// The position at [updateTime].À$}À$S:À$}/// The buffer position.À$ÒÀ$HÀ$Ò-/// The media duration, or `null` if unknown.À%@À$ßlÀ%@K/// The latest ICY metadata received through the audio stream if available.À%áÀ%P€<50>À%áN/// The index of the currently playing item, or `null` if no item is selected.À&/À%òRÀ&///// The current Android AudioSession ID if set.À')À&I€éÀ')€Ì/// The error code when [processingState] is [ProcessingState.error].
///
/// Supported on Android, iOS and web. For other platforms, check the
/// documentation of the respective platform implementation.À(À'7€òÀ(€Ï/// The error message when [processingState] is [ProcessingState.error].
///
/// Supported on Android, iOS and web. For other platforms, check the
/// documentation of the respective platform implementation.À-™À-šÀ-™À-™<>À-­
À)ýÀÀ*À*#À*#À*-À*=À*=À*GÀ*[À*[À*eÀ*{À*{À*…À*“À*“À* À*±ÀÀÀ*ÈÀÀÀ*èÀÀÀ*üÀÀ+À)<29>À)<29>ƒøÀ)î@/// Returns a copy of this event with given properties replaced.À.ÓÀ ÀÀ.¶À.·À.¶À.¶‚=ÀÀ0÷À0øÀ0÷À0÷€ØÀ1
À"ÚÀ"ÚŽ÷À#(G/// Encapsulates the playback state and current position of the player.À5wÀ5À5ƒÀ À5ˆÀ5À5À5À5wÀ5w0À5À4¨nÀ5W/// Whether the player will play when [processingState] is
/// [ProcessingState.ready].À5cÀ5WÀ5c//// The current processing state of the player.À6À6À6À6FÀ6À5«À5¬À5«À5«UÀÀ6kÀ6k À6rÀ6NÀ6OÀ6NÀ6N€ÇÀ6hÀ3qÀ3qƒ¦À4˜<34> /// Encapsulates the playing and processing states. These two states vary
/// orthogonally, and so if [processingState] is [ProcessingState.buffering],
/// you can check [playing] to determine whether the buffering occurred while
/// the player was playing or while the player was paused.ÀÀÀ7åÀÀÀ7úÀÀ8À7ÜÀ7Ü2À79À7+À79À7PÀ7BÀ7PÀ8OÀ8PÀ8OÀ8O8À8cÀ7tÀ7tÀÀ7XÀ7X€€À7gÀ8À8À8À89À8%À8¨À ÀÀ8À8ŒÀ8À8€§ÀÀ7À7À7ÀÀ;À;À;À;À;*À;*À;8À;CÀ;CÀ;QÀ;[À;[À;iÀ;À;À;<3B>À;–À;ÀÀ:þÀ:þ€µÀ9VÀ9KÀ9VÀ9oÀ9aÀ9oÀ9†À9xÀ9†À9™ÀÀ9™À9»À9­ÀÀ9ÎÀÀÀ<LÀ<MÀ<LÀ<L4À<`À9úÀÀ: À9ÛÀ<39>ÀÀ;·À;¸À;·À;·€‘ÀÀ<¡À ÀÀ<„À<…À<„À<„<>@ÀÀ96À96„<36>À9<À?1À?<À?>À?>À?LÀ?RÀ?RÀ?`À?1À?19À=íÀÀÀ>ÀÀ>À?nÀ?oÀ?nÀ?n;À?À>3À>3À>FÀ>À><13>À>&À?ÊÀ ÀÀ?­À?®À?­À?­€±ÀÀ=ÈÀ=È‚˜ÀÀC™ÀÀC­ÀC­ÀÀCÉÀÀC×ÀCéÀÀÀD ÀD ÀDÀD1ÀD1ÀD?ÀD^ÀDPÀD`ÀC™ÀC™€ÔÀAoÀApÀAaÀAT#ÀAaÀAÐÀA|\ÀAÐ2/// The current sequence of [IndexedAudioSource]s.ÀBÂÀÀÀCÀBÔ>ÀC/// The current shuffle orderÀCIÀCDÀCI$/// Whether shuffle mode is enabled.ÀCŒÀC`4À/// The current loop mode.ÀAÝÀAÝ€ ÀB4/// The index of the current source in the sequence.ÀDqÀDq€£ÀD³'/// The current source in the sequence.ÀEÀE<18>ÀEÀ‰/// The effective sequence. This is equivalent to [sequence]. If
/// [shuffleModeEnabled] is true, this is modulated by [shuffleIndices].ÀF¦ÀF¦"ÀÀFÎÀÀÀFóÀÀÀGÀGÀGÀG0ÀG0ÀG:ÀFâÀF8ÀF8wÀF—N/// Returns a copy of this [SequenceState] with the given properties replaced.À@bÀ@bˆOÀAB€Ù/// Encapsulates the [sequence] and [currentIndex] state and ensures
/// consistency such that [currentIndex] is within the range of
/// `sequence.length`. If `sequence.length` is 0, then [currentIndex] is also
/// 0.ÀJ^ÀJtÀJ{ÀJ{ÀJ€ÀJ—ÀJ—ÀÀJ´ÀJ´$ÀÀJXÀJX€‡ÀIdÀI^ÀId1/// Bufferring and loading options for iOS/macOS.ÀIÅÀIz]ÀIÅ./// Buffering and loading options for Android.ÀJ4ÀIÜwÀJ4./// Speed control for live streams on Android.ÀJãÀ<4A>3ÀKÀH³ÀH³ƒeÀHüB/// Configuration options to use when loading audio from a source.ÀOjÀO{ÀOÀO0ÀO‡ÀO¸ÀO¸#ÀÀOáÀOá>ÀÀP%ÀP%ÀP*ÀO®ÀPÀOdÀOd€áÀMÀLg€ÅÀM€‘/// (iOS/macOS) Whether the player will wait for sufficient data to be
/// buffered before starting playback to avoid the likelihood of stalling.ÀMýÀM1€êÀMý€µ/// (iOS/macOS) The duration of audio that should be buffered ahead of the
/// current position. If not set or `null`, the system will try to set an
/// appropriate buffer duration.ÀN¯ÀN €ÀÀ/// (iOS/macOS) Whether the player can continue downloading while paused to
/// keep the state up to date with the live stream.ÀOKÀNåzÀOKS/// (iOS/macOS) If specified, limits the download bandwidth in bits per
/// second.ÀPIÀPI<50>¡ÀPbÀLÀL…ÒÀLQ0/// Buffering and loading options for iOS/macOS.ÀÀÀUùÀUù4ÀÀV3ÀV34ÀV8ÀVmÀVmCÀVrÀV¶ÀV¶HÀÀWÀWÀW ÀW ÀW -ÀW%ÀWSÀWS'ÀWX ÀVÀVÀV ÀV,ÀV(ÀV!ÀV*ÀVLÀVRÀVZÀVfÀVbÀV[ÀVdÀVŽÀV”ÀVœÀV¯ÀV©ÀV<>ÀV«ÀVäÀVêÀVòÀVýÀVúÀVóÀVüÀWHÀWmÀWuÀWvÀUÚÀ<55>§ÀR´ÀR:€‹ÀR´f/// (Android) The minimum duration of audio that should be buffered ahead of
/// the current position.ÀSDÀRÊ€ÀSDf/// (Android) The maximum duration of audio that should be buffered ahead of
/// the current position.ÀSÙÀSZ€˜ÀSÙk/// (Android) The duration of audio that must be buffered before starting
/// playback after a user action.ÀT{ÀS÷€ªÀT{p/// (Android) The duration of audio that must be buffered before starting
/// playback after a buffer depletion.ÀTâÀT¦MÀTâ./// (Android) The target buffer size in bytes.ÀUeÀTø€<C3B8>ÀUe]/// (Android) Whether to prioritize buffer time constraints over buffer size
/// constraints.ÀUÃÀUŠKÀUÃ'/// (Android) The back buffer duration.ÀW…ÀW…<57>õÀÀQîÀQÀR#./// Buffering and loading options for Android.ÀÀ_À_À_$À_À_BÀ_B$À_GÀ_lÀ_l3À_qÀ_¥À_¥$ÀÀ_ÏÀ_ÏFÀÀ`À`TÀ` À`uÀ`u1À`zÀ_8À_bÀ_…À_À_“À_žÀ_À_”À_<>À_ÆÀ_õÀ_ûÀ`À`À`À`À`À`NÀ`TÀ`\À`nÀ`iÀ`]À`kÀ`¡À^ìÀ<>ÁÀZÀY×€ÀÀZ/// (Android) The minimum playback speed to use when adjusting playback speed
/// to approach the target live offset, if none is defined by the media.À[DÀZœ€ÀÀ[D€/// (Android) The maximum playback speed to use when adjusting playback speed
/// to approach the target live offset, if none is defined by the media.À[ÌÀ[a|À[ÌW/// (Android) The minimum interval between playback speed changes on a live
/// stream.À\ÒÀ<> À\Ò€Ü/// (Android) The proportional control factor used to adjust playback speed on
/// a live stream. The adjusted speed is calculated as: `1.0 +
/// proportionalControlFactor * (currentLiveOffsetSec - targetLiveOffsetSec)`.À]‹À\ð€¹À]‹€‡/// (Android) The maximum difference between the current live offset and the
/// target live offset within which the speed 1.0 is used.À^"À]®€—À^"`/// (Android) The increment applied to the target live offset whenever the
/// player rebuffers.À^ÃÀ^J€<4A>À^Ãg/// (Android) The factor for smoothing the minimum possible live offset
/// achievable during playback.À`±ÀWÀÀY~ÀY~‰ŒÀY³./// Speed control for live streams on Android.ÀÀÀgûÀgû8ÀhÀh9Àh9%Àh>ÀhdÀhd)ÀhiÀhÀh*Àh+ÀhYÀhˆÀgÐÀgЀÄÀf7ÀeñVÀf7%/// The preferred audio offload mode.ÀgÀfL€ÎÀg€¤/// Constrains enablement of audio offload to happen only if the device
/// can fulfill any gapless transitions that might exist in the playlist
/// during offload.Àg¯Àg€¬Àg¯€€/// Constrains enablement of audio offload to happen only if the device
/// can fulfill any speed change request during offload.Àh˜Àh˜<68>PÀÀceÀce†…Àb/// Audio offload preferences for Android.
///
/// IMPORTANT: activation of audio offload depends on a negotiation between
/// ExoPlayer and the device to determine whether offload can be supported for a
/// given format and with given constraints (gapless, speed change). However,
/// several instances have been reported where the device incorrectly confirms
/// support for audio offload when it doesn't, and this can result in buggy
/// audio playback. Therefore, it is advised that you programmatically enable
/// audio offload only on device/OS combinations that you have tested and
/// verified to work.Àj…ÀÀj©ÀÀÀjËÀÀÀjÀjjÀj3Àj6Àj3ÀjhÀjN,ÀjhÀjíÀjí€ïÀkÀiìÀ<69>òÀÀl1ÀlCÀlEÀlE+ÀlJÀlkÀl+Àl+HÀlÀký)ÀlÀlwÀlw€•ÀlÀkàÀ<6B>.ÀÀnÀn+Àn2Àn2)Àn7ÀnaÀna0ÀnfÀn—Àn—ÀÀnWÀnŒÀn§ÀnÀn€¡Àm]Àm[Àm`Àm?Àm2/Àm?Àm<>ÀmŽÀm“ÀmrÀme/ÀmrÀm¤Àm™(ÀÀmÐÀmÅ.ÀÀnÀÀnÀn³À<6E>ÀÀmÀm‚¼ÀmÀpDÀp4ÀpDÀp_ÀpTÀpOÀpTÀpÅÀpÆÀp·Àpi^Àp·*/// Maps request keys to [_ProxyHandler]s.ÀpÌÀpÌ€†Àq=d/// The port this server is bound to on localhost. This is set only after
/// [start] has completed.ÀqëÀÀÀqVÀqV{ÀqÙz/// Registers a [UriAudioSource] to be served through this proxy. This may be
/// called only after [start] has completed.ÀtpÀtpÀtÀsÕÀ<73>IÀt[}/// Registers a [StreamAudioSource] to be served through this proxy. This may
/// be called only after [start] has completed.Àu1Àu1ÀuCÀu"Àu"€‚Àu&ÀvÔÀÀÀu¨À<75>SÀ<76>/// A unique key for each request that can be processed by this proxy,
/// made up of the URL path and query string. It is not possible to
/// simultaneously track requests that have the same URL path and query
/// but differ in other respects such as the port or headers.ÀvÿÀvÿ€•ÀwE3/// Starts the server if it is not already running.Àw˜Àw˜<77>âÀ/// Starts the server.Ày~Ày~€ŒÀ/// Stops the serverÀoÎÀoΊ>ÀpJ/// A local proxy HTTP server for making remote GET requests with headers.ÀÀÀ{·À
ÀÀ{ÃÀÀÀ{¥À{¥(Àz¨ÀzgFÀz¨4/// The starting byte position of the range request.À{*Àz²{À{*h/// The last byte position of the range request, or `null` if requesting
/// until the end of the media.À{2À{2oÀ{z</// The end byte position (exclusive), defaulting to `null`.À{ÑÀ{Ñ€„À|
+/// Format a range header for this request.À|­À|­ÀÀ|YÀ|Y<><59>À|§1/// Creates an [_HttpRangeRequest] from [header].ÀzÀzƒêÀzQ</// Encapsulates the start and end of an HTTP range request.À(À:À;
À@ÀGÀLÀQÀVÀ(:À~’À~Y>À~,/// The starting byte position of the range.À~ÑÀ~œ8À~Ñ(/// The last byte position of the range.ÀÀ~ÙJÀ2/// The total number of bytes in the entire media.ÀfCÀ˜&/// The end byte position (exclusive).À­À­^ÀÛ"/// The number of bytes requested.ÀÀ€‰À€Y</// The content-range header value to use in HTTP responses.À}úÀ}ú‚ À~BA/// Encapsulates the range information in an HTTP range response.ÀŒmÀŒxÀŒzÀŒz
ÀŒ‚ ÀŒ<>ÀŒ‰ÀŒ’ÀŒ<>ÀŒ•ÀŒšÀŒ›ÀŒ<>ÀŒžÀŒmÀŒm3À<01>¡À<01>À<01>¡À<01>µÀ<01>¨À<01>µÀ<01><01>R.À<01>^ÀŽ?ÀŽ?&ÀŽ\ÀŽiÀŽiÀŽwÀŽŠÀŽ‹ÀŽŠÀŽŠ-ÀŽž À†»À†»À†¿À†ËÀ†ËÀ†àÀ†éÀ†é À†ñÀ<01>ÁÀ<01>Á‡ À†·„³/// Creates an [AudioSource] from a [Uri] with optional headers by
/// attempting to guess the type of stream. On iOS, this uses Apple's SDK to
/// automatically detect the stream type. On Android, the type of stream will
/// be guessed from the extension.
///
/// If you are loading DASH or HLS streams that do not have standard "mpd" or
/// "m3u8" extensions in their URIs, this method will fail to detect the
/// stream type on Android. If you know in advance what type of audio stream
/// it is, you should instantiate [DashAudioSource] or [HlsAudioSource]
/// directly.
///
/// If headers are set, just_audio will create a cleartext local HTTP proxy on
/// your device to forward HTTP requests with headers included.
///
/// The [tag] is for associating your app's own data with each audio source,
/// e.g. title, cover art, a primary key for your DB. Such data can be
/// conveniently retrieved from the tag while rendering the UI.
///
/// When using just_audio_background, [tag] must be a MediaItem, a class
/// provided by that package. If you wish to have more control over the tag
/// for background audio purposes, consider using the plugin audio_service
/// instead of just_audio_background.À‰œÀ‰œÀ‰£À‰®À‰® À‰¶ÀˆÐÀˆÐ<CB86>+À‰—€¢/// Convenience method to create an audio source for a file.
///
/// This is equivalent to:
///
/// ```
/// AudioSource.uri(Uri.file(filePath), tag: tag);
/// ```À‹ŒÀ‹ŒÀ‹“À‹¥À‹¥À­À‹¶À‹¶ À‹¾À‰ÿÀ‰ÿjÀ<E280B9>\/// Convenience method to create an audio source for an asset.
///
/// For assets within the same package, this is equivalent to:
///
/// ```
/// AudioSource.uri(Uri.parse('asset:///$assetPath'), tag: tag);
/// ```
///
/// If the asset is to be loaded from a different package, the [package]
/// parameter must be given to specify the package name.ÀŒÄÀŒÄÀŒÐÀŒ¤ÀŒ¥ÀŒ¤ÀŒ¤vÀŒºÀ<01>À<01>À<01>À<01>0À<01><À<01>“À<01>À<01>˜À<01>„À<01>„#À<01>À<01>«À<01>¬À<01>«À<01>«lÀ<01>ÁÀŽÀŽ ÀŽ.ÀŽØÀŽØ ÀŽßÀŽ»À޼ÀŽ»ÀŽ»€<C2BB>ÀŽÕÀ€œÀ€œŽ®À<01>„€Ø/// Specifies a source of audio to be played. Audio sources are composable
/// using the subclasses of this class. The same [AudioSource] instance should
/// not be used simultaneously by more than one [AudioPlayer].À<01>æÀ<01>øÀ<01>úÀ<01>úÀ<01>ÿÀ<01>À<01>
À<01> À<01>æÀ<01>æ.À<01>ÈÀ<01>ºÀ<01>ÈÀ<01>ÙÀ<01>ÏÀ<01>ÙÀ<01><01><01><01>M<À<01>vÀ<01><>À<01>ŽÀ<01><>À<01><>0À<01>§À<01><01>3À<01>8À<01>À<01>À<01>À<01>1À<01>)À<01><01>L<EFBFBD>sÀ<01><>3/// An [AudioSource] that can appear in a sequence.À˜À‘¦À‘§À‘§À‘¬À‘²À‘² À‘·À‘ÀÀ‘À À‘ÈÀ‘ÍÀ‘ÍÀ× À‘êÀ‘ïÀ À‘óÀ‘ðÀ‘õÀÀ‘úÀÀ‘˜À˜vÀK
ÀUÀ\"ÀwÀ‘‡ÀÀ‘‡ÀÀ€ÛÀ’È€§/// If [uri] points to an asset, this gives us [_overrideUri] which is the URI
/// of the copied asset on the filesystem, otherwise it gives us the original
/// [uri].À’ñÀñ<E28099>,À
À”!À”"À”!À”!<21>ÃÀ”:À•ÿÀ•ÿÀÀ•èÀ•è…<C3A8>À•ôÀ›ØÀ›ØÀ›åÀ|€ýÀ›Ê>/// Gets the cache file for an asset with the proper extensionÀ<01>ÁÀ<01>ÁºÀL/// An abstract class representing audio sources that are loaded from a URI.ÀŸ>ÀŸTÀŸZÀŸZ ÀŸ`ÀŸkÀŸk
ÀŸqÀŸ~ÀŸ~ ÀŸ„ÀŸ<>ÀŸ<>ÀŸ“ÀŸ¡ÀŸ¡ ÀŸ¦ÀŸ>ÀŸ>vÀŸ2ÀŸ
,ÀŸ2ÀŸ¸ÀŸ¹ÀŸ¸ÀŸ¸€éÀŸ×Àœ}Àœ}„&ÀžÛW/// An [AudioSource] representing a regular media file such as an MP3 or M4A
/// file. The following URI schemes are supported:
///
/// * file: loads from a local file (provided you give your app permission to
/// access that file).
/// * asset: loads from a Flutter asset (not supported on Web).
/// * http(s): loads from an HTTP(S) resource.
///
/// On platforms except for the web, the supplied [headers] will be passed with
/// the HTTP(S) request.
///
/// If headers are set, just_audio will create a cleartext local HTTP proxy on
/// your device to forward HTTP requests with headers included.À£‹À£šÀ£›À£›À£ŸÀ£«À£«À£ÀÀ£ÉÀ£É À£ÑÀ£ÖÀ£ÖÀ£à
À£óÀ£øÀ¤,À£ùÀ¤À£þÀ¤À¤À¤À¤À¤"À¤À¤$À£‹À£‹€£À¤2À¤3À¤2À¤2€ºÀ¤QÀ ¥À ¥„IÀ£`´/// An [AudioSource] representing a DASH stream. The following URI schemes are
/// supported:
///
/// * file: loads from a local file (provided you give your app permission to
/// access that file).
/// * asset: loads from a Flutter asset (not supported on Web).
/// * http(s): loads from an HTTP(S) resource.
///
/// On platforms except for the web, the supplied [headers] will be passed with
/// the HTTP(S) request. Currently headers are not recursively applied to items
/// the HTTP(S) request. Currently headers are not applied recursively.
///
/// If headers are set, just_audio will create a cleartext local HTTP proxy on
/// your device to forward HTTP requests with headers included.À§…À§“À§”À§”À§˜À§¤À§¤À§¹À§ÂÀ§Â À§ÊÀ§ÏÀ§ÏÀ§Ù
À§ìÀ§ñÀ¨%À§òÀ§þÀ§÷À¨À¨ À¨ À¨À¨À¨À¨À§…À§…€¢À¨+À¨,À¨+À¨+€¹À¨JÀ¤ðÀ¤ðƒöÀ§[d/// An [AudioSource] representing an HLS stream. The following URI schemes are
/// supported:
///
/// * file: loads from a local file (provided you give your app permission to
/// access that file).
/// * asset: loads from a Flutter asset (not supported on Web).
/// * http(s): loads from an HTTP(S) resource.
///
/// On platforms except for the web, the supplied [headers] will be passed with
/// the HTTP(S) request. Currently headers are not applied recursively.
///
/// If headers are set, just_audio will create a cleartext local HTTP proxy on
/// your device to forward HTTP requests with headers included.ÀªÀª+Àª2Àª2 Àª:ÀªCÀªCÀªU ÀªfÀªkÀªˆÀªoÀªlÀªqÀª~ÀªvÀª€ÀªÀªqÀ©‰À©ŠÀ©‰À©‰5À©¢À©ÛÀ©ÛÀ©îÀ©ÂÀ©ÃÀ©ÂÀ©ÂSÀ©ÒÀªŽÀª<>ÀªŽÀªŽlÀª­À¨èÀ¨è‚À©Wh/// An [AudioSource] for a period of silence.
///
/// NOTE: This is currently supported on Android only.À®ïÀ¯À¯À¯À¯À¯*À¯*À¯/À¯NÀ¯NÀ¯\À¯DÀ¯À¯qÀ¯ŽÀ¯<>À¯‘À¯¤À¯¥À¯±À¯³À¯¹À¯ÌÀ¯ºÀ¯½À¯ÅÀ¯ÆÀ­­S{<00><>/// Creates a [ConcatenatingAudioSorce] with the specified [children]. If
/// [useLazyPreparation] is `true`, children will be loaded/buffered as late
/// as possible before needed for playback (currently supported on Android,
/// iOS, MacOS). When [AudioPlayer.shuffleModeEnabled] is `true`,
/// [shuffleOrder] will be used to determine the playback order (defaulting to
/// [DefaultShuffleOrder]).À¯ÿÀ°À°!À°(À°(À°6À°DÀ°DÀ°IÀ°hÀ°hÀ°vÀ°^À°šÀ°ŒÀ°©À°œÀ°¬À°¿À°ÀÀ°ÌÀ°ÎÀ°ÔÀ°çÀ°ÕÀ°ØÀ°àÀ°áÀ°òÀ°÷À°þÀ°úÀ°øÀ°üÀ¯ÒÀ¯Ò<C2AF>.À°*/// Creates the root playlist of a player.À¬åÀ¬éÀ¬êÀ¬ÝÀ¬×À¬ÝÀ­À¬ï À­À­À­À­À­­4À­AÀÎöÀÎöFÀÏ"!/// The number of [AudioSource]s.ÀÏzÀÏ{ÀÏzÀÏzgÀÏ£ÀÏåÀÏæÀÏåÀÏå<C38F>ËÀÏÿÀ±À±À±+À±À±À±À±€šÀ±À±¢À±£À±¢À±¢€<C2A2>À±»À²QÀ²QÀ²VÀ²6À²7À²6À²6ùÀ²GÀµdÀµdÀµpÀµ3Àµ3æÀµ`/// Appends an [AudioSource].À¸¸\ À¸`À¸¸gÀ¸sÀ¸À¸‚äÀ¸U(/// Inserts an [AudioSource] at [index].À»@À»@À»RÀ»À»ƒ<>À»9$/// Appends multiple [AudioSource]s.À¾ÓÀ¾Ó À¾×À¾ÞÀ¾ÞÀ¾ðÀ¾ŠÀ¾ŠƒzÀ¾É//// Inserts multiple [AudioSource]s at [index].À™À™ ÀÂ<>ÀÂÀ‚¡ÀÂ<>v/// Dynamically removes an [AudioSource] at [index] after this
/// [ConcatenatingAudioSource] has already been loaded.ÀÅ%ÀÅ% ÀÅ)ÀÅ0ÀÅ0ÀÅ4ÀÄ­ÀÄ­<C2AD>ÀÅZ/// Removes a range of [AudioSource]s from index [start] inclusive to [end]
/// exclusive.ÀÇ<>ÀÇ<>ÀÇ”ÀÇ¢ÀÇ¢ ÀǦÀÇ>ÀÇ>‚ÊÀÇ‹=/// Moves an [AudioSource] from [currentIndex] to [newIndex].ÀÊ ÀÊ 7ÀÊ;/// Removes all [AudioSource]s.ÀÌ<>ÀÌ<>ÀÌ¢À̬À̬À̹ÀÌGÀÌG«ÀÌŠ3/// Initialise without communicating with platform.ÀÏXÀÏX ÀÏ\ÀÏ@ÀÏ@6ÀÏUÀÑ´ÀѵÀÑ´ÀÑ´€þÀÑÓÀ¬iÀ¬jÀ¬tÀ¬žÀ¬uÀªþÀªþ§¶À¬¦<C2AC>j/// An [AudioSource] representing a concatenation of multiple audio sources to
/// be played in succession. This can be used to create playlists. Playback
/// between items will be gapless on Android, iOS and macOS, while there will
/// be a slight gap on Web.
///
/// Audio sources can be dynamically added, removed and reordered while the
/// audio is playing.ÀÔ[ÀÔnÀÔuÀÔuÀÔƒÀÔŽÀÔŽ
ÀÔ“ÀÔžÀÔžÀÔ£ÀÔ¬ÀÔ¬ ÀÔ´ÀÔ½ÀÔ½ÀÔÇ ÀÔØÀÔÝÀÔúÀÔáÀÔÞÀÔãÀÔðÀÔèÀÔòÀÓ¨ÀÓ¨<C393>T€¬/// Creates an audio source that clips [child] to the range [start]..[end],
/// where [start] and [end] default to the beginning and end of the original
/// [child] source.ÀÓnÀÓYÀÓnÀÓ‡ÀÓwÀÓ‡ÀÓ ÀÓ<>ÀÓ ÀÕÀÕÀÕ'ÀÕÀÕÀÕÀÕnÀÕÀÕrÀÕsÀÕrÀÕrdÀÕ‹ÀÕÚÀÕÛÀÕÚÀÕÚ€ÈÀÕùÀÒ¶ÀÒ¶ƒîÀÓ&i/// An [AudioSource] that clips the audio of a [UriAudioSource] between a
/// certain start and end time.ÀØÀØ,ÀØ3ÀØ3ÀØAÀØLÀØLÀØZÀØhÀØmÀØnÀØÀØVÀ×ýÀ×ñÀ×ýÀØÀØÀØÀÙƒÀÙ„ÀÙƒÀÙƒ€<C692>ÀÙ¬ÀÚÀÚ ÀÚÀÚKÀÚ"ÀØ<>ÀØ<>ÀØ›ÀØtÀØuÀØtÀØtnÀØ…ÀØæÀØçÀØæÀØædÀØÿÀÙiÀÙiÀÙnÀÙNÀÙOÀÙNÀÙN1ÀÙ_ÀÚWÀÚXÀÚWÀÚW€ÀÚvÀ׉À׊À×”À×¾ÀוÀ׉À׉ƒRÀׯÀÜAÀÜRÀÜTÀÜT ÀÜ\ÀÜdÀÜiÀÜrÀÜmÀÜjÀÜoÀÜAÀÜA3ÀÜ9ÀÜ4 ÀÜ9ÀÜxÀÜyÀÜxÀÜx<C39C>nÀÜ‘À߃À߃
À߈Àß<>Àß<>Àß”ÀÝêÀÝê<C39D>°Àßz<C39F>i/// Used by the player to request a byte range of encoded audio data in small
/// chunks, from byte position [start] inclusive (or from the beginning of the
/// audio data if not specified) to [end] exclusive (or the end of the audio
/// data if not specified). If the returned future completes with an error,
/// a 500 response will be sent back to the player.ÀßžÀߟÀßžÀßž€ŒÀß½ÀÛæÀÛçÀÛLÀÛL„àÀÜ€™/// An [AudioSource] that provides audio dynamically. Subclasses must override