@grafana/scenes 6.8.0 → 6.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +20 -0
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
- package/dist/esm/components/layout/CSSGrid/SceneCSSGridItem.js +0 -33
- package/dist/esm/dist/esm/behaviors/CursorSync.js +0 -76
- package/dist/esm/dist/esm/behaviors/LiveNowTimer.js +0 -44
- package/dist/esm/dist/esm/behaviors/SceneQueryController.js +0 -14
- package/dist/esm/dist/esm/components/EmbeddedScene.js +0 -59
- package/dist/esm/dist/esm/components/NestedScene.js +0 -95
- package/dist/esm/dist/esm/components/SceneApp/SceneApp.js +0 -27
- package/dist/esm/dist/esm/components/SceneApp/SceneAppPage.js +0 -176
- package/dist/esm/dist/esm/components/SceneApp/SceneAppPageView.js +0 -104
- package/dist/esm/dist/esm/components/SceneApp/utils.js +0 -42
- package/dist/esm/dist/esm/components/SceneByFrameRepeater.js +0 -41
- package/dist/esm/dist/esm/components/SceneByVariableRepeater.js +0 -55
- package/dist/esm/dist/esm/components/SceneCanvasText.js +0 -32
- package/dist/esm/dist/esm/components/SceneControlsSpacer.js +0 -17
- package/dist/esm/dist/esm/components/SceneDebugger/DebugDetails.js +0 -82
- package/dist/esm/dist/esm/components/SceneDebugger/DebugTreeNode.js +0 -72
- package/dist/esm/dist/esm/components/SceneDebugger/SceneDebugger.js +0 -77
- package/dist/esm/dist/esm/components/SceneReactObject.js +0 -34
- package/dist/esm/dist/esm/components/SceneRefreshPicker.js +0 -205
- package/dist/esm/dist/esm/components/SceneTimePicker.js +0 -139
- package/dist/esm/dist/esm/components/SceneTimeRangeCompare.js +0 -240
- package/dist/esm/dist/esm/components/SceneToolbarButton.js +0 -33
- package/dist/esm/dist/esm/components/VizPanel/VizPanel.js +0 -406
- package/dist/esm/dist/esm/components/VizPanel/VizPanelExploreButton.js +0 -44
- package/dist/esm/dist/esm/components/VizPanel/VizPanelMenu.js +0 -59
- package/dist/esm/dist/esm/components/VizPanel/VizPanelRenderer.js +0 -285
- package/dist/esm/dist/esm/components/VizPanel/VizPanelSeriesLimit.js +0 -45
- package/dist/esm/dist/esm/components/VizPanel/colorSeriesConfigFactory.js +0 -72
- package/dist/esm/dist/esm/components/VizPanel/registerRuntimePanelPlugin.js +0 -11
- package/dist/esm/dist/esm/components/VizPanel/seriesVisibilityConfigFactory.js +0 -164
- package/dist/esm/dist/esm/components/layout/CSSGrid/SceneCSSGridLayout.js +0 -124
- package/dist/esm/dist/esm/components/layout/LazyLoader.js +0 -103
- package/dist/esm/dist/esm/components/layout/SceneFlexLayout.js +0 -135
- package/dist/esm/dist/esm/components/layout/grid/SceneGridItem.js +0 -30
- package/dist/esm/dist/esm/components/layout/grid/SceneGridLayout.js +0 -283
- package/dist/esm/dist/esm/components/layout/grid/SceneGridLayoutRenderer.js +0 -178
- package/dist/esm/dist/esm/components/layout/grid/SceneGridRow.js +0 -190
- package/dist/esm/dist/esm/components/layout/grid/constants.js +0 -7
- package/dist/esm/dist/esm/components/layout/grid/utils.js +0 -36
- package/dist/esm/dist/esm/components/layout/split/SplitLayout.js +0 -17
- package/dist/esm/dist/esm/components/layout/split/SplitLayoutRenderer.js +0 -29
- package/dist/esm/dist/esm/components/layout/split/Splitter.js +0 -386
- package/dist/esm/dist/esm/core/SceneComponentWrapper.js +0 -57
- package/dist/esm/dist/esm/core/SceneDataNode.js +0 -43
- package/dist/esm/dist/esm/core/SceneObjectBase.js +0 -286
- package/dist/esm/dist/esm/core/SceneObjectRef.js +0 -32
- package/dist/esm/dist/esm/core/SceneTimeRange.js +0 -231
- package/dist/esm/dist/esm/core/events.js +0 -11
- package/dist/esm/dist/esm/core/sceneGraph/getTimeRange.js +0 -10
- package/dist/esm/dist/esm/core/sceneGraph/index.js +0 -25
- package/dist/esm/dist/esm/core/sceneGraph/sceneGraph.js +0 -178
- package/dist/esm/dist/esm/core/sceneGraph/utils.js +0 -64
- package/dist/esm/dist/esm/core/types.js +0 -15
- package/dist/esm/dist/esm/querying/DataLayersMerger.js +0 -46
- package/dist/esm/dist/esm/querying/ExtraQueryProvider.js +0 -6
- package/dist/esm/dist/esm/querying/RuntimeDataSource.js +0 -6
- package/dist/esm/dist/esm/querying/SceneDataLayerSet.js +0 -100
- package/dist/esm/dist/esm/querying/SceneQueryRunner.js +0 -468
- package/dist/esm/dist/esm/querying/extraQueryProcessingOperator.js +0 -46
- package/dist/esm/dist/esm/querying/getEnrichedDataRequest.js +0 -12
- package/dist/esm/dist/esm/querying/layers/SceneDataLayerBase.js +0 -112
- package/dist/esm/dist/esm/querying/layers/SceneDataLayerControls.js +0 -51
- package/dist/esm/dist/esm/querying/layers/annotations/AnnotationsDataLayer.js +0 -130
- package/dist/esm/dist/esm/querying/layers/annotations/filterAnnotations.js +0 -85
- package/dist/esm/dist/esm/querying/layers/annotations/standardAnnotationQuery.js +0 -121
- package/dist/esm/dist/esm/querying/layers/annotations/standardAnnotationsSupport.js +0 -211
- package/dist/esm/dist/esm/querying/layers/annotations/utils.js +0 -77
- package/dist/esm/dist/esm/querying/registerQueryWithController.js +0 -41
- package/dist/esm/dist/esm/services/SceneObjectUrlSyncConfig.js +0 -30
- package/dist/esm/dist/esm/services/UniqueUrlKeyMapper.js +0 -45
- package/dist/esm/dist/esm/services/UrlSyncManager.js +0 -167
- package/dist/esm/dist/esm/services/useUrlSync.js +0 -29
- package/dist/esm/dist/esm/services/utils.js +0 -71
- package/dist/esm/dist/esm/utils/ControlsLabel.js +0 -107
- package/dist/esm/dist/esm/utils/LoadingIndicator.js +0 -19
- package/dist/esm/dist/esm/utils/SafeSerializableSceneObject.js +0 -39
- package/dist/esm/dist/esm/utils/compatibility/setWindowGrafanaSceneContext.js +0 -16
- package/dist/esm/dist/esm/utils/date.js +0 -15
- package/dist/esm/dist/esm/utils/evaluateTimeRange.js +0 -16
- package/dist/esm/dist/esm/utils/explore.js +0 -47
- package/dist/esm/dist/esm/utils/getCompareSeriesRefId.js +0 -4
- package/dist/esm/dist/esm/utils/getDataSource.js +0 -18
- package/dist/esm/dist/esm/utils/getMessageFromError.js +0 -24
- package/dist/esm/dist/esm/utils/metricTree.js +0 -53
- package/dist/esm/dist/esm/utils/parseUrlParam.js +0 -41
- package/dist/esm/dist/esm/utils/utils.js +0 -11
- package/dist/esm/dist/esm/utils/wrapInSafeSerializableSceneObject.js +0 -30
- package/dist/esm/dist/esm/utils/writeSceneLog.js +0 -12
- package/dist/esm/dist/esm/variables/VariableDependencyConfig.js +0 -150
- package/dist/esm/dist/esm/variables/VariableValueRecorder.js +0 -71
- package/dist/esm/dist/esm/variables/adhoc/AdHocFilterBuilder.js +0 -24
- package/dist/esm/dist/esm/variables/adhoc/AdHocFilterRenderer.js +0 -303
- package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/AdHocFilterPill.js +0 -162
- package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersAlwaysWipCombobox.js +0 -20
- package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersCombobox.js +0 -640
- package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersComboboxRenderer.js +0 -65
- package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/DropdownItem.js +0 -146
- package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/MultiValuePill.js +0 -114
- package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/useFloatingInteractions.js +0 -68
- package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/utils.js +0 -146
- package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersVariable.js +0 -289
- package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersVariableUrlSyncHandler.js +0 -76
- package/dist/esm/dist/esm/variables/adhoc/getAdhocOptionSearcher.js +0 -13
- package/dist/esm/dist/esm/variables/adhoc/patchGetAdhocFilters.js +0 -47
- package/dist/esm/dist/esm/variables/components/VariableValueControl.js +0 -23
- package/dist/esm/dist/esm/variables/components/VariableValueInput.js +0 -33
- package/dist/esm/dist/esm/variables/components/VariableValueSelect.js +0 -228
- package/dist/esm/dist/esm/variables/components/VariableValueSelectors.js +0 -72
- package/dist/esm/dist/esm/variables/components/getOptionSearcher.js +0 -15
- package/dist/esm/dist/esm/variables/constants.js +0 -9
- package/dist/esm/dist/esm/variables/getEnrichedFiltersRequest.js +0 -12
- package/dist/esm/dist/esm/variables/groupby/GroupByVariable.js +0 -259
- package/dist/esm/dist/esm/variables/groupby/GroupByVariableUrlSyncHandler.js +0 -63
- package/dist/esm/dist/esm/variables/groupby/findActiveGroupByVariablesByUid.js +0 -13
- package/dist/esm/dist/esm/variables/interpolation/ScopedVarsVariable.js +0 -40
- package/dist/esm/dist/esm/variables/interpolation/defaults.js +0 -21
- package/dist/esm/dist/esm/variables/interpolation/fieldAccessorCache.js +0 -13
- package/dist/esm/dist/esm/variables/interpolation/formatRegistry.js +0 -296
- package/dist/esm/dist/esm/variables/interpolation/sceneInterpolator.js +0 -87
- package/dist/esm/dist/esm/variables/lookupVariable.js +0 -20
- package/dist/esm/dist/esm/variables/macros/AllVariablesMacro.js +0 -57
- package/dist/esm/dist/esm/variables/macros/contextMacros.js +0 -43
- package/dist/esm/dist/esm/variables/macros/dataMacros.js +0 -134
- package/dist/esm/dist/esm/variables/macros/index.js +0 -26
- package/dist/esm/dist/esm/variables/macros/templateProxies.js +0 -51
- package/dist/esm/dist/esm/variables/macros/timeMacros.js +0 -86
- package/dist/esm/dist/esm/variables/macros/types.js +0 -11
- package/dist/esm/dist/esm/variables/macros/urlMacros.js +0 -56
- package/dist/esm/dist/esm/variables/sets/SceneVariableSet.js +0 -254
- package/dist/esm/dist/esm/variables/types.js +0 -11
- package/dist/esm/dist/esm/variables/utils.js +0 -172
- package/dist/esm/dist/esm/variables/variants/ConstantVariable.js +0 -38
- package/dist/esm/dist/esm/variables/variants/CustomVariable.js +0 -60
- package/dist/esm/dist/esm/variables/variants/DataSourceVariable.js +0 -88
- package/dist/esm/dist/esm/variables/variants/IntervalVariable.js +0 -117
- package/dist/esm/dist/esm/variables/variants/MultiValueVariable.js +0 -295
- package/dist/esm/dist/esm/variables/variants/TestVariable.js +0 -117
- package/dist/esm/dist/esm/variables/variants/TextBoxVariable.js +0 -61
- package/dist/esm/dist/esm/variables/variants/query/QueryVariable.js +0 -139
- package/dist/esm/dist/esm/variables/variants/query/createQueryVariableRunner.js +0 -129
- package/dist/esm/dist/esm/variables/variants/query/guards.js +0 -28
- package/dist/esm/dist/esm/variables/variants/query/toMetricFindValues.js +0 -96
- package/dist/esm/dist/esm/variables/variants/query/utils.js +0 -124
- package/dist/esm/querying/DataProviderSharer.js +0 -39
- package/dist/esm/src/behaviors/ActWhenVariableChanged.js +0 -27
- package/dist/esm/src/behaviors/CursorSync.js +0 -76
- package/dist/esm/src/behaviors/LiveNowTimer.js +0 -44
- package/dist/esm/src/behaviors/SceneQueryController.js +0 -60
- package/dist/esm/src/behaviors/index.js +0 -5
- package/dist/esm/src/components/EmbeddedScene.js +0 -59
- package/dist/esm/src/components/NestedScene.js +0 -95
- package/dist/esm/src/components/SceneApp/SceneApp.js +0 -37
- package/dist/esm/src/components/SceneApp/SceneAppPage.js +0 -176
- package/dist/esm/src/components/SceneApp/SceneAppPageView.js +0 -104
- package/dist/esm/src/components/SceneApp/utils.js +0 -42
- package/dist/esm/src/components/SceneByFrameRepeater.js +0 -41
- package/dist/esm/src/components/SceneByVariableRepeater.js +0 -55
- package/dist/esm/src/components/SceneCanvasText.js +0 -32
- package/dist/esm/src/components/SceneControlsSpacer.js +0 -17
- package/dist/esm/src/components/SceneDebugger/DebugDetails.js +0 -82
- package/dist/esm/src/components/SceneDebugger/DebugTreeNode.js +0 -72
- package/dist/esm/src/components/SceneDebugger/SceneDebugger.js +0 -77
- package/dist/esm/src/components/SceneReactObject.js +0 -34
- package/dist/esm/src/components/SceneRefreshPicker.js +0 -205
- package/dist/esm/src/components/SceneTimePicker.js +0 -139
- package/dist/esm/src/components/SceneTimeRangeCompare.js +0 -240
- package/dist/esm/src/components/SceneToolbarButton.js +0 -33
- package/dist/esm/src/components/VizPanel/VizPanel.js +0 -406
- package/dist/esm/src/components/VizPanel/VizPanelExploreButton.js +0 -44
- package/dist/esm/src/components/VizPanel/VizPanelMenu.js +0 -59
- package/dist/esm/src/components/VizPanel/VizPanelRenderer.js +0 -285
- package/dist/esm/src/components/VizPanel/VizPanelSeriesLimit.js +0 -45
- package/dist/esm/src/components/VizPanel/colorSeriesConfigFactory.js +0 -72
- package/dist/esm/src/components/VizPanel/registerRuntimePanelPlugin.js +0 -56
- package/dist/esm/src/components/VizPanel/seriesVisibilityConfigFactory.js +0 -164
- package/dist/esm/src/components/layout/CSSGrid/SceneCSSGridLayout.js +0 -124
- package/dist/esm/src/components/layout/LazyLoader.js +0 -103
- package/dist/esm/src/components/layout/SceneFlexLayout.js +0 -135
- package/dist/esm/src/components/layout/grid/SceneGridItem.js +0 -30
- package/dist/esm/src/components/layout/grid/SceneGridLayout.js +0 -283
- package/dist/esm/src/components/layout/grid/SceneGridLayoutRenderer.js +0 -178
- package/dist/esm/src/components/layout/grid/SceneGridRow.js +0 -190
- package/dist/esm/src/components/layout/grid/constants.js +0 -7
- package/dist/esm/src/components/layout/grid/utils.js +0 -36
- package/dist/esm/src/components/layout/split/SplitLayout.js +0 -17
- package/dist/esm/src/components/layout/split/SplitLayoutRenderer.js +0 -29
- package/dist/esm/src/components/layout/split/Splitter.js +0 -386
- package/dist/esm/src/core/PanelBuilders/FieldConfigBuilder.js +0 -100
- package/dist/esm/src/core/PanelBuilders/FieldConfigBuilders.js +0 -75
- package/dist/esm/src/core/PanelBuilders/FieldConfigOverridesBuilder.js +0 -75
- package/dist/esm/src/core/PanelBuilders/PanelOptionsBuilder.js +0 -22
- package/dist/esm/src/core/PanelBuilders/PanelOptionsBuilders.js +0 -85
- package/dist/esm/src/core/PanelBuilders/StandardFieldConfigBuilders.js +0 -52
- package/dist/esm/src/core/PanelBuilders/VizConfigBuilder.js +0 -78
- package/dist/esm/src/core/PanelBuilders/VizConfigBuilders.js +0 -114
- package/dist/esm/src/core/PanelBuilders/VizPanelBuilder.js +0 -162
- package/dist/esm/src/core/PanelBuilders/index.js +0 -116
- package/dist/esm/src/core/SceneComponentWrapper.js +0 -57
- package/dist/esm/src/core/SceneDataNode.js +0 -43
- package/dist/esm/src/core/SceneObjectBase.js +0 -286
- package/dist/esm/src/core/SceneObjectRef.js +0 -32
- package/dist/esm/src/core/SceneTimeRange.js +0 -231
- package/dist/esm/src/core/SceneTimeRangeTransformerBase.js +0 -35
- package/dist/esm/src/core/SceneTimeZoneOverride.js +0 -63
- package/dist/esm/src/core/events.js +0 -11
- package/dist/esm/src/core/sceneGraph/getTimeRange.js +0 -10
- package/dist/esm/src/core/sceneGraph/index.js +0 -25
- package/dist/esm/src/core/sceneGraph/sceneGraph.js +0 -178
- package/dist/esm/src/core/sceneGraph/utils.js +0 -64
- package/dist/esm/src/core/types.js +0 -15
- package/dist/esm/src/index.js +0 -108
- package/dist/esm/src/querying/DataLayersMerger.js +0 -46
- package/dist/esm/src/querying/DataProviderProxy.js +0 -37
- package/dist/esm/src/querying/DataProviderSharer.js +0 -108
- package/dist/esm/src/querying/ExtraQueryProvider.js +0 -6
- package/dist/esm/src/querying/RuntimeDataSource.js +0 -49
- package/dist/esm/src/querying/SceneDataLayerSet.js +0 -100
- package/dist/esm/src/querying/SceneDataTransformer.js +0 -178
- package/dist/esm/src/querying/SceneQueryRunner.js +0 -468
- package/dist/esm/src/querying/extraQueryProcessingOperator.js +0 -46
- package/dist/esm/src/querying/getEnrichedDataRequest.js +0 -12
- package/dist/esm/src/querying/layers/SceneDataLayerBase.js +0 -112
- package/dist/esm/src/querying/layers/SceneDataLayerControls.js +0 -51
- package/dist/esm/src/querying/layers/annotations/AnnotationsDataLayer.js +0 -130
- package/dist/esm/src/querying/layers/annotations/filterAnnotations.js +0 -85
- package/dist/esm/src/querying/layers/annotations/standardAnnotationQuery.js +0 -121
- package/dist/esm/src/querying/layers/annotations/standardAnnotationsSupport.js +0 -211
- package/dist/esm/src/querying/layers/annotations/utils.js +0 -77
- package/dist/esm/src/querying/layers/index.js +0 -2
- package/dist/esm/src/querying/registerQueryWithController.js +0 -41
- package/dist/esm/src/services/SceneObjectUrlSyncConfig.js +0 -30
- package/dist/esm/src/services/UniqueUrlKeyMapper.js +0 -45
- package/dist/esm/src/services/UrlSyncContextProvider.js +0 -17
- package/dist/esm/src/services/UrlSyncManager.js +0 -167
- package/dist/esm/src/services/useUrlSync.js +0 -29
- package/dist/esm/src/services/utils.js +0 -75
- package/dist/esm/src/utils/ControlsLabel.js +0 -107
- package/dist/esm/src/utils/LoadingIndicator.js +0 -19
- package/dist/esm/src/utils/SafeSerializableSceneObject.js +0 -39
- package/dist/esm/src/utils/compatibility/setWindowGrafanaSceneContext.js +0 -16
- package/dist/esm/src/utils/date.js +0 -15
- package/dist/esm/src/utils/evaluateTimeRange.js +0 -16
- package/dist/esm/src/utils/explore.js +0 -47
- package/dist/esm/src/utils/getCompareSeriesRefId.js +0 -4
- package/dist/esm/src/utils/getDataSource.js +0 -18
- package/dist/esm/src/utils/getMessageFromError.js +0 -24
- package/dist/esm/src/utils/metricTree.js +0 -53
- package/dist/esm/src/utils/parseUrlParam.js +0 -41
- package/dist/esm/src/utils/utils.js +0 -11
- package/dist/esm/src/utils/wrapInSafeSerializableSceneObject.js +0 -30
- package/dist/esm/src/utils/writeSceneLog.js +0 -12
- package/dist/esm/src/variables/VariableDependencyConfig.js +0 -150
- package/dist/esm/src/variables/VariableValueRecorder.js +0 -71
- package/dist/esm/src/variables/adhoc/AdHocFilterBuilder.js +0 -24
- package/dist/esm/src/variables/adhoc/AdHocFilterRenderer.js +0 -303
- package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/AdHocFilterPill.js +0 -162
- package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersAlwaysWipCombobox.js +0 -20
- package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersCombobox.js +0 -640
- package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersComboboxRenderer.js +0 -65
- package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/DropdownItem.js +0 -146
- package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/MultiValuePill.js +0 -114
- package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/useFloatingInteractions.js +0 -68
- package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/utils.js +0 -146
- package/dist/esm/src/variables/adhoc/AdHocFiltersVariable.js +0 -289
- package/dist/esm/src/variables/adhoc/AdHocFiltersVariableUrlSyncHandler.js +0 -76
- package/dist/esm/src/variables/adhoc/getAdhocOptionSearcher.js +0 -13
- package/dist/esm/src/variables/adhoc/patchGetAdhocFilters.js +0 -47
- package/dist/esm/src/variables/components/VariableValueControl.js +0 -23
- package/dist/esm/src/variables/components/VariableValueInput.js +0 -33
- package/dist/esm/src/variables/components/VariableValueSelect.js +0 -228
- package/dist/esm/src/variables/components/VariableValueSelectors.js +0 -72
- package/dist/esm/src/variables/components/getOptionSearcher.js +0 -15
- package/dist/esm/src/variables/constants.js +0 -9
- package/dist/esm/src/variables/getEnrichedFiltersRequest.js +0 -12
- package/dist/esm/src/variables/groupby/GroupByVariable.js +0 -259
- package/dist/esm/src/variables/groupby/GroupByVariableUrlSyncHandler.js +0 -63
- package/dist/esm/src/variables/groupby/findActiveGroupByVariablesByUid.js +0 -13
- package/dist/esm/src/variables/interpolation/ScopedVarsVariable.js +0 -40
- package/dist/esm/src/variables/interpolation/defaults.js +0 -21
- package/dist/esm/src/variables/interpolation/fieldAccessorCache.js +0 -13
- package/dist/esm/src/variables/interpolation/formatRegistry.js +0 -296
- package/dist/esm/src/variables/interpolation/sceneInterpolator.js +0 -87
- package/dist/esm/src/variables/lookupVariable.js +0 -20
- package/dist/esm/src/variables/macros/AllVariablesMacro.js +0 -57
- package/dist/esm/src/variables/macros/contextMacros.js +0 -43
- package/dist/esm/src/variables/macros/dataMacros.js +0 -134
- package/dist/esm/src/variables/macros/index.js +0 -35
- package/dist/esm/src/variables/macros/templateProxies.js +0 -51
- package/dist/esm/src/variables/macros/timeMacros.js +0 -86
- package/dist/esm/src/variables/macros/types.js +0 -11
- package/dist/esm/src/variables/macros/urlMacros.js +0 -56
- package/dist/esm/src/variables/sets/SceneVariableSet.js +0 -254
- package/dist/esm/src/variables/types.js +0 -11
- package/dist/esm/src/variables/utils.js +0 -172
- package/dist/esm/src/variables/variants/ConstantVariable.js +0 -38
- package/dist/esm/src/variables/variants/CustomVariable.js +0 -60
- package/dist/esm/src/variables/variants/DataSourceVariable.js +0 -88
- package/dist/esm/src/variables/variants/IntervalVariable.js +0 -117
- package/dist/esm/src/variables/variants/JsonVariable.js +0 -193
- package/dist/esm/src/variables/variants/LocalValueVariable.js +0 -56
- package/dist/esm/src/variables/variants/MultiValueVariable.js +0 -295
- package/dist/esm/src/variables/variants/TestVariable.js +0 -117
- package/dist/esm/src/variables/variants/TextBoxVariable.js +0 -61
- package/dist/esm/src/variables/variants/guards.js +0 -27
- package/dist/esm/src/variables/variants/query/QueryVariable.js +0 -139
- package/dist/esm/src/variables/variants/query/createQueryVariableRunner.js +0 -129
- package/dist/esm/src/variables/variants/query/guards.js +0 -28
- package/dist/esm/src/variables/variants/query/toMetricFindValues.js +0 -96
- package/dist/esm/src/variables/variants/query/utils.js +0 -124
- package/dist/esm/variables/variants/JsonVariable.js +0 -96
- package/dist/esm/variables/variants/json/JsonVariable.js +0 -95
- package/dist/esm/variables/variants/json/JsonVariableOptionProviders.js +0 -70
|
@@ -1,406 +0,0 @@
|
|
|
1
|
-
import { toUtc, getPanelOptionsWithDefaults, renderMarkdown, applyFieldOverrides, compareArrayValues, compareDataFrameStructures, CoreApp, DashboardCursorSync, PanelPlugin, PluginType } from '@grafana/data';
|
|
2
|
-
import { getPluginImportUtils, config, getAppEvents } from '@grafana/runtime';
|
|
3
|
-
import { SceneObjectBase } from '../../core/SceneObjectBase.js';
|
|
4
|
-
import { sceneGraph } from '../../core/sceneGraph/index.js';
|
|
5
|
-
import { VizPanelRenderer } from './VizPanelRenderer.js';
|
|
6
|
-
import { VariableDependencyConfig } from '../../variables/VariableDependencyConfig.js';
|
|
7
|
-
import { seriesVisibilityConfigFactory } from './seriesVisibilityConfigFactory.js';
|
|
8
|
-
import { emptyPanelData } from '../../core/SceneDataNode.js';
|
|
9
|
-
import { changeSeriesColorConfigFactory } from './colorSeriesConfigFactory.js';
|
|
10
|
-
import { loadPanelPluginSync } from './registerRuntimePanelPlugin.js';
|
|
11
|
-
import { getCursorSyncScope } from '../../behaviors/CursorSync.js';
|
|
12
|
-
import { mergeWith, cloneDeep, isArray, merge, isEmpty } from 'lodash';
|
|
13
|
-
import { UserActionEvent } from '../../core/events.js';
|
|
14
|
-
import { evaluateTimeRange } from '../../utils/evaluateTimeRange.js';
|
|
15
|
-
import { LiveNowTimer } from '../../behaviors/LiveNowTimer.js';
|
|
16
|
-
|
|
17
|
-
var __defProp = Object.defineProperty;
|
|
18
|
-
var __defProps = Object.defineProperties;
|
|
19
|
-
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
20
|
-
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
21
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
22
|
-
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
23
|
-
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
24
|
-
var __spreadValues = (a, b) => {
|
|
25
|
-
for (var prop in b || (b = {}))
|
|
26
|
-
if (__hasOwnProp.call(b, prop))
|
|
27
|
-
__defNormalProp(a, prop, b[prop]);
|
|
28
|
-
if (__getOwnPropSymbols)
|
|
29
|
-
for (var prop of __getOwnPropSymbols(b)) {
|
|
30
|
-
if (__propIsEnum.call(b, prop))
|
|
31
|
-
__defNormalProp(a, prop, b[prop]);
|
|
32
|
-
}
|
|
33
|
-
return a;
|
|
34
|
-
};
|
|
35
|
-
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
36
|
-
class VizPanel extends SceneObjectBase {
|
|
37
|
-
constructor(state) {
|
|
38
|
-
var _a;
|
|
39
|
-
super(__spreadValues({
|
|
40
|
-
options: {},
|
|
41
|
-
fieldConfig: { defaults: {}, overrides: [] },
|
|
42
|
-
title: "Title",
|
|
43
|
-
pluginId: "timeseries",
|
|
44
|
-
_renderCounter: 0
|
|
45
|
-
}, state));
|
|
46
|
-
this._variableDependency = new VariableDependencyConfig(this, {
|
|
47
|
-
statePaths: ["title", "options", "fieldConfig"]
|
|
48
|
-
});
|
|
49
|
-
this._structureRev = 0;
|
|
50
|
-
this.onTimeRangeChange = (timeRange) => {
|
|
51
|
-
const sceneTimeRange = sceneGraph.getTimeRange(this);
|
|
52
|
-
sceneTimeRange.onTimeRangeChange({
|
|
53
|
-
raw: {
|
|
54
|
-
from: toUtc(timeRange.from),
|
|
55
|
-
to: toUtc(timeRange.to)
|
|
56
|
-
},
|
|
57
|
-
from: toUtc(timeRange.from),
|
|
58
|
-
to: toUtc(timeRange.to)
|
|
59
|
-
});
|
|
60
|
-
};
|
|
61
|
-
this.getTimeRange = (data) => {
|
|
62
|
-
const liveNowTimer = sceneGraph.findObject(this, (o) => o instanceof LiveNowTimer);
|
|
63
|
-
const sceneTimeRange = sceneGraph.getTimeRange(this);
|
|
64
|
-
if (liveNowTimer instanceof LiveNowTimer && liveNowTimer.isEnabled) {
|
|
65
|
-
return evaluateTimeRange(
|
|
66
|
-
sceneTimeRange.state.from,
|
|
67
|
-
sceneTimeRange.state.to,
|
|
68
|
-
sceneTimeRange.getTimeZone(),
|
|
69
|
-
sceneTimeRange.state.fiscalYearStartMonth,
|
|
70
|
-
sceneTimeRange.state.UNSAFE_nowDelay
|
|
71
|
-
);
|
|
72
|
-
}
|
|
73
|
-
const plugin = this.getPlugin();
|
|
74
|
-
if (plugin && !plugin.meta.skipDataQuery && data && data.timeRange) {
|
|
75
|
-
return data.timeRange;
|
|
76
|
-
}
|
|
77
|
-
return sceneTimeRange.state.value;
|
|
78
|
-
};
|
|
79
|
-
this.onTitleChange = (title) => {
|
|
80
|
-
this.setState({ title });
|
|
81
|
-
};
|
|
82
|
-
this.onDescriptionChange = (description) => {
|
|
83
|
-
this.setState({ description });
|
|
84
|
-
};
|
|
85
|
-
this.onDisplayModeChange = (displayMode) => {
|
|
86
|
-
this.setState({ displayMode });
|
|
87
|
-
};
|
|
88
|
-
this.onToggleCollapse = (collapsed) => {
|
|
89
|
-
this.setState({
|
|
90
|
-
collapsed
|
|
91
|
-
});
|
|
92
|
-
};
|
|
93
|
-
this.onOptionsChange = (optionsUpdate, replace = false, isAfterPluginChange = false) => {
|
|
94
|
-
var _a2;
|
|
95
|
-
const { fieldConfig, options } = this.state;
|
|
96
|
-
const nextOptions = replace ? optionsUpdate : mergeWith(cloneDeep(options), optionsUpdate, (objValue, srcValue, key, obj) => {
|
|
97
|
-
if (isArray(srcValue)) {
|
|
98
|
-
return srcValue;
|
|
99
|
-
}
|
|
100
|
-
if (objValue !== srcValue && typeof srcValue === "undefined") {
|
|
101
|
-
obj[key] = srcValue;
|
|
102
|
-
return;
|
|
103
|
-
}
|
|
104
|
-
return;
|
|
105
|
-
});
|
|
106
|
-
const withDefaults = getPanelOptionsWithDefaults({
|
|
107
|
-
plugin: this._plugin,
|
|
108
|
-
currentOptions: nextOptions,
|
|
109
|
-
currentFieldConfig: fieldConfig,
|
|
110
|
-
isAfterPluginChange
|
|
111
|
-
});
|
|
112
|
-
this.setState({
|
|
113
|
-
options: withDefaults.options,
|
|
114
|
-
_renderCounter: ((_a2 = this.state._renderCounter) != null ? _a2 : 0) + 1
|
|
115
|
-
});
|
|
116
|
-
};
|
|
117
|
-
this.onFieldConfigChange = (fieldConfigUpdate, replace) => {
|
|
118
|
-
const { fieldConfig, options } = this.state;
|
|
119
|
-
const nextFieldConfig = replace ? fieldConfigUpdate : merge(cloneDeep(fieldConfig), fieldConfigUpdate);
|
|
120
|
-
const withDefaults = getPanelOptionsWithDefaults({
|
|
121
|
-
plugin: this._plugin,
|
|
122
|
-
currentOptions: options,
|
|
123
|
-
currentFieldConfig: nextFieldConfig,
|
|
124
|
-
isAfterPluginChange: false
|
|
125
|
-
});
|
|
126
|
-
this._dataWithFieldConfig = void 0;
|
|
127
|
-
this.setState({ fieldConfig: withDefaults.fieldConfig });
|
|
128
|
-
};
|
|
129
|
-
this.interpolate = (value, scoped, format) => {
|
|
130
|
-
return sceneGraph.interpolate(this, value, scoped, format);
|
|
131
|
-
};
|
|
132
|
-
this.getDescription = () => {
|
|
133
|
-
this.publishEvent(new UserActionEvent({ origin: this, interaction: "panel-description-shown" }), true);
|
|
134
|
-
const { description } = this.state;
|
|
135
|
-
if (description) {
|
|
136
|
-
const markdown = this.interpolate(description);
|
|
137
|
-
return renderMarkdown(markdown);
|
|
138
|
-
}
|
|
139
|
-
return "";
|
|
140
|
-
};
|
|
141
|
-
this.onCancelQuery = () => {
|
|
142
|
-
var _a2;
|
|
143
|
-
this.publishEvent(new UserActionEvent({ origin: this, interaction: "panel-cancel-query-clicked" }), true);
|
|
144
|
-
const data = sceneGraph.getData(this);
|
|
145
|
-
(_a2 = data.cancelQuery) == null ? void 0 : _a2.call(data);
|
|
146
|
-
};
|
|
147
|
-
this.onStatusMessageClick = () => {
|
|
148
|
-
this.publishEvent(new UserActionEvent({ origin: this, interaction: "panel-status-message-clicked" }), true);
|
|
149
|
-
};
|
|
150
|
-
this._onSeriesColorChange = (label, color) => {
|
|
151
|
-
this.onFieldConfigChange(changeSeriesColorConfigFactory(label, color, this.state.fieldConfig));
|
|
152
|
-
};
|
|
153
|
-
this._onSeriesVisibilityChange = (label, mode) => {
|
|
154
|
-
if (!this._dataWithFieldConfig) {
|
|
155
|
-
return;
|
|
156
|
-
}
|
|
157
|
-
this.onFieldConfigChange(
|
|
158
|
-
seriesVisibilityConfigFactory(label, mode, this.state.fieldConfig, this._dataWithFieldConfig.series),
|
|
159
|
-
true
|
|
160
|
-
);
|
|
161
|
-
};
|
|
162
|
-
this._onInstanceStateChange = (state2) => {
|
|
163
|
-
if (this._panelContext) {
|
|
164
|
-
this._panelContext = __spreadProps(__spreadValues({}, this._panelContext), {
|
|
165
|
-
instanceState: state2
|
|
166
|
-
});
|
|
167
|
-
}
|
|
168
|
-
this.setState({ _pluginInstanceState: state2 });
|
|
169
|
-
};
|
|
170
|
-
this._onToggleLegendSort = (sortKey) => {
|
|
171
|
-
const legendOptions = this.state.options.legend;
|
|
172
|
-
if (!legendOptions) {
|
|
173
|
-
return;
|
|
174
|
-
}
|
|
175
|
-
let sortDesc = legendOptions.sortDesc;
|
|
176
|
-
let sortBy = legendOptions.sortBy;
|
|
177
|
-
if (sortKey !== sortBy) {
|
|
178
|
-
sortDesc = void 0;
|
|
179
|
-
}
|
|
180
|
-
if (sortDesc === false) {
|
|
181
|
-
sortBy = void 0;
|
|
182
|
-
sortDesc = void 0;
|
|
183
|
-
} else {
|
|
184
|
-
sortDesc = !sortDesc;
|
|
185
|
-
sortBy = sortKey;
|
|
186
|
-
}
|
|
187
|
-
this.onOptionsChange(
|
|
188
|
-
__spreadProps(__spreadValues({}, this.state.options), {
|
|
189
|
-
legend: __spreadProps(__spreadValues({}, legendOptions), { sortBy, sortDesc })
|
|
190
|
-
}),
|
|
191
|
-
true
|
|
192
|
-
);
|
|
193
|
-
};
|
|
194
|
-
this.addActivationHandler(() => {
|
|
195
|
-
this._onActivate();
|
|
196
|
-
});
|
|
197
|
-
(_a = state.menu) == null ? void 0 : _a.addActivationHandler(() => {
|
|
198
|
-
this.publishEvent(new UserActionEvent({ origin: this, interaction: "panel-menu-shown" }), true);
|
|
199
|
-
});
|
|
200
|
-
}
|
|
201
|
-
_onActivate() {
|
|
202
|
-
if (!this._plugin) {
|
|
203
|
-
this._loadPlugin(this.state.pluginId);
|
|
204
|
-
}
|
|
205
|
-
}
|
|
206
|
-
forceRender() {
|
|
207
|
-
var _a;
|
|
208
|
-
this.setState({ _renderCounter: ((_a = this.state._renderCounter) != null ? _a : 0) + 1 });
|
|
209
|
-
}
|
|
210
|
-
async _loadPlugin(pluginId, overwriteOptions, overwriteFieldConfig, isAfterPluginChange) {
|
|
211
|
-
const plugin = loadPanelPluginSync(pluginId);
|
|
212
|
-
if (plugin) {
|
|
213
|
-
this._pluginLoaded(plugin, overwriteOptions, overwriteFieldConfig, isAfterPluginChange);
|
|
214
|
-
} else {
|
|
215
|
-
const { importPanelPlugin } = getPluginImportUtils();
|
|
216
|
-
try {
|
|
217
|
-
const result = await importPanelPlugin(pluginId);
|
|
218
|
-
this._pluginLoaded(result, overwriteOptions, overwriteFieldConfig, isAfterPluginChange);
|
|
219
|
-
} catch (err) {
|
|
220
|
-
this._pluginLoaded(getPanelPluginNotFound(pluginId));
|
|
221
|
-
if (err instanceof Error) {
|
|
222
|
-
this.setState({ _pluginLoadError: err.message });
|
|
223
|
-
}
|
|
224
|
-
}
|
|
225
|
-
}
|
|
226
|
-
}
|
|
227
|
-
getLegacyPanelId() {
|
|
228
|
-
const panelId = parseInt(this.state.key.replace("panel-", ""), 10);
|
|
229
|
-
if (isNaN(panelId)) {
|
|
230
|
-
return 0;
|
|
231
|
-
}
|
|
232
|
-
return panelId;
|
|
233
|
-
}
|
|
234
|
-
async _pluginLoaded(plugin, overwriteOptions, overwriteFieldConfig, isAfterPluginChange) {
|
|
235
|
-
const { options, fieldConfig, title, pluginVersion, _UNSAFE_customMigrationHandler } = this.state;
|
|
236
|
-
const panel = {
|
|
237
|
-
title,
|
|
238
|
-
options,
|
|
239
|
-
fieldConfig,
|
|
240
|
-
id: this.getLegacyPanelId(),
|
|
241
|
-
type: plugin.meta.id,
|
|
242
|
-
pluginVersion
|
|
243
|
-
};
|
|
244
|
-
if (overwriteOptions) {
|
|
245
|
-
panel.options = overwriteOptions;
|
|
246
|
-
}
|
|
247
|
-
if (overwriteFieldConfig) {
|
|
248
|
-
panel.fieldConfig = overwriteFieldConfig;
|
|
249
|
-
}
|
|
250
|
-
const currentVersion = this._getPluginVersion(plugin);
|
|
251
|
-
_UNSAFE_customMigrationHandler == null ? void 0 : _UNSAFE_customMigrationHandler(panel, plugin);
|
|
252
|
-
if (plugin.onPanelMigration && currentVersion !== pluginVersion && !isAfterPluginChange) {
|
|
253
|
-
panel.options = await plugin.onPanelMigration(panel);
|
|
254
|
-
}
|
|
255
|
-
const withDefaults = getPanelOptionsWithDefaults({
|
|
256
|
-
plugin,
|
|
257
|
-
currentOptions: panel.options,
|
|
258
|
-
currentFieldConfig: panel.fieldConfig,
|
|
259
|
-
isAfterPluginChange: isAfterPluginChange != null ? isAfterPluginChange : false
|
|
260
|
-
});
|
|
261
|
-
this._plugin = plugin;
|
|
262
|
-
this.setState({
|
|
263
|
-
options: withDefaults.options,
|
|
264
|
-
fieldConfig: withDefaults.fieldConfig,
|
|
265
|
-
pluginVersion: currentVersion,
|
|
266
|
-
pluginId: plugin.meta.id
|
|
267
|
-
});
|
|
268
|
-
if (plugin.meta.skipDataQuery) {
|
|
269
|
-
const sceneTimeRange = sceneGraph.getTimeRange(this);
|
|
270
|
-
this._subs.add(sceneTimeRange.subscribeToState(() => this.forceRender()));
|
|
271
|
-
}
|
|
272
|
-
}
|
|
273
|
-
_getPluginVersion(plugin) {
|
|
274
|
-
return plugin && plugin.meta.info.version ? plugin.meta.info.version : config.buildInfo.version;
|
|
275
|
-
}
|
|
276
|
-
getPlugin() {
|
|
277
|
-
return this._plugin;
|
|
278
|
-
}
|
|
279
|
-
getPanelContext() {
|
|
280
|
-
var _a;
|
|
281
|
-
(_a = this._panelContext) != null ? _a : this._panelContext = this.buildPanelContext();
|
|
282
|
-
return this._panelContext;
|
|
283
|
-
}
|
|
284
|
-
async changePluginType(pluginId, newOptions, newFieldConfig) {
|
|
285
|
-
var _a, _b;
|
|
286
|
-
const { options: prevOptions, fieldConfig: prevFieldConfig, pluginId: prevPluginId } = this.state;
|
|
287
|
-
this._dataWithFieldConfig = void 0;
|
|
288
|
-
const isAfterPluginChange = this.state.pluginId !== pluginId;
|
|
289
|
-
await this._loadPlugin(pluginId, newOptions != null ? newOptions : {}, newFieldConfig, isAfterPluginChange);
|
|
290
|
-
const panel = {
|
|
291
|
-
title: this.state.title,
|
|
292
|
-
options: this.state.options,
|
|
293
|
-
fieldConfig: this.state.fieldConfig,
|
|
294
|
-
id: 1,
|
|
295
|
-
type: pluginId
|
|
296
|
-
};
|
|
297
|
-
const updatedOptions = (_b = (_a = this._plugin) == null ? void 0 : _a.onPanelTypeChanged) == null ? void 0 : _b.call(_a, panel, prevPluginId, prevOptions, prevFieldConfig);
|
|
298
|
-
if (updatedOptions && !isEmpty(updatedOptions)) {
|
|
299
|
-
this.onOptionsChange(updatedOptions, true, true);
|
|
300
|
-
}
|
|
301
|
-
}
|
|
302
|
-
clearFieldConfigCache() {
|
|
303
|
-
this._dataWithFieldConfig = void 0;
|
|
304
|
-
}
|
|
305
|
-
applyFieldConfig(rawData) {
|
|
306
|
-
var _a, _b, _c, _d;
|
|
307
|
-
const plugin = this._plugin;
|
|
308
|
-
if (!plugin || plugin.meta.skipDataQuery || !rawData) {
|
|
309
|
-
return emptyPanelData;
|
|
310
|
-
}
|
|
311
|
-
if (this._prevData === rawData && this._dataWithFieldConfig) {
|
|
312
|
-
return this._dataWithFieldConfig;
|
|
313
|
-
}
|
|
314
|
-
const pluginDataSupport = plugin.dataSupport || { alertStates: false, annotations: false };
|
|
315
|
-
const fieldConfigRegistry = plugin.fieldConfigRegistry;
|
|
316
|
-
const prevFrames = (_b = (_a = this._dataWithFieldConfig) == null ? void 0 : _a.series) != null ? _b : [];
|
|
317
|
-
const newFrames = applyFieldOverrides({
|
|
318
|
-
data: rawData.series,
|
|
319
|
-
fieldConfig: this.state.fieldConfig,
|
|
320
|
-
fieldConfigRegistry,
|
|
321
|
-
replaceVariables: this.interpolate,
|
|
322
|
-
theme: config.theme2,
|
|
323
|
-
timeZone: (_c = rawData.request) == null ? void 0 : _c.timezone
|
|
324
|
-
});
|
|
325
|
-
if (!compareArrayValues(newFrames, prevFrames, compareDataFrameStructures)) {
|
|
326
|
-
this._structureRev++;
|
|
327
|
-
}
|
|
328
|
-
this._dataWithFieldConfig = __spreadProps(__spreadValues({}, rawData), {
|
|
329
|
-
structureRev: this._structureRev,
|
|
330
|
-
series: newFrames
|
|
331
|
-
});
|
|
332
|
-
if (this._dataWithFieldConfig.annotations) {
|
|
333
|
-
this._dataWithFieldConfig.annotations = applyFieldOverrides({
|
|
334
|
-
data: this._dataWithFieldConfig.annotations,
|
|
335
|
-
fieldConfig: {
|
|
336
|
-
defaults: {},
|
|
337
|
-
overrides: []
|
|
338
|
-
},
|
|
339
|
-
fieldConfigRegistry,
|
|
340
|
-
replaceVariables: this.interpolate,
|
|
341
|
-
theme: config.theme2,
|
|
342
|
-
timeZone: (_d = rawData.request) == null ? void 0 : _d.timezone
|
|
343
|
-
});
|
|
344
|
-
}
|
|
345
|
-
if (!pluginDataSupport.alertStates) {
|
|
346
|
-
this._dataWithFieldConfig.alertState = void 0;
|
|
347
|
-
}
|
|
348
|
-
if (!pluginDataSupport.annotations) {
|
|
349
|
-
this._dataWithFieldConfig.annotations = void 0;
|
|
350
|
-
}
|
|
351
|
-
this._prevData = rawData;
|
|
352
|
-
return this._dataWithFieldConfig;
|
|
353
|
-
}
|
|
354
|
-
buildPanelContext() {
|
|
355
|
-
const sync = getCursorSyncScope(this);
|
|
356
|
-
const context = {
|
|
357
|
-
eventsScope: sync ? sync.getEventsScope() : "__global_",
|
|
358
|
-
eventBus: sync ? sync.getEventsBus(this) : getAppEvents(),
|
|
359
|
-
app: CoreApp.Unknown,
|
|
360
|
-
sync: () => {
|
|
361
|
-
if (sync) {
|
|
362
|
-
return sync.state.sync;
|
|
363
|
-
}
|
|
364
|
-
return DashboardCursorSync.Off;
|
|
365
|
-
},
|
|
366
|
-
onSeriesColorChange: this._onSeriesColorChange,
|
|
367
|
-
onToggleSeriesVisibility: this._onSeriesVisibilityChange,
|
|
368
|
-
onToggleLegendSort: this._onToggleLegendSort,
|
|
369
|
-
onInstanceStateChange: this._onInstanceStateChange
|
|
370
|
-
};
|
|
371
|
-
if (this.state.extendPanelContext) {
|
|
372
|
-
this.state.extendPanelContext(this, context);
|
|
373
|
-
}
|
|
374
|
-
return context;
|
|
375
|
-
}
|
|
376
|
-
}
|
|
377
|
-
VizPanel.Component = VizPanelRenderer;
|
|
378
|
-
function getPanelPluginNotFound(id) {
|
|
379
|
-
const plugin = new PanelPlugin(() => null);
|
|
380
|
-
plugin.meta = {
|
|
381
|
-
id,
|
|
382
|
-
name: id,
|
|
383
|
-
sort: 100,
|
|
384
|
-
type: PluginType.panel,
|
|
385
|
-
module: "",
|
|
386
|
-
baseUrl: "",
|
|
387
|
-
info: {
|
|
388
|
-
author: {
|
|
389
|
-
name: ""
|
|
390
|
-
},
|
|
391
|
-
description: "",
|
|
392
|
-
links: [],
|
|
393
|
-
logos: {
|
|
394
|
-
large: "",
|
|
395
|
-
small: "public/img/grafana_icon.svg"
|
|
396
|
-
},
|
|
397
|
-
screenshots: [],
|
|
398
|
-
updated: "",
|
|
399
|
-
version: ""
|
|
400
|
-
}
|
|
401
|
-
};
|
|
402
|
-
return plugin;
|
|
403
|
-
}
|
|
404
|
-
|
|
405
|
-
export { VizPanel };
|
|
406
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVml6UGFuZWwuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2NvbXBvbmVudHMvVml6UGFuZWwvVml6UGFuZWwuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdG9VdGMsIGdldFBhbmVsT3B0aW9uc1dpdGhEZWZhdWx0cywgcmVuZGVyTWFya2Rvd24sIGFwcGx5RmllbGRPdmVycmlkZXMsIGNvbXBhcmVBcnJheVZhbHVlcywgY29tcGFyZURhdGFGcmFtZVN0cnVjdHVyZXMsIENvcmVBcHAsIERhc2hib2FyZEN1cnNvclN5bmMsIFBhbmVsUGx1Z2luLCBQbHVnaW5UeXBlIH0gZnJvbSAnQGdyYWZhbmEvZGF0YSc7XG5pbXBvcnQgeyBnZXRQbHVnaW5JbXBvcnRVdGlscywgY29uZmlnLCBnZXRBcHBFdmVudHMgfSBmcm9tICdAZ3JhZmFuYS9ydW50aW1lJztcbmltcG9ydCB7IFNjZW5lT2JqZWN0QmFzZSB9IGZyb20gJy4uLy4uL2NvcmUvU2NlbmVPYmplY3RCYXNlLmpzJztcbmltcG9ydCB7IHNjZW5lR3JhcGggfSBmcm9tICcuLi8uLi9jb3JlL3NjZW5lR3JhcGgvaW5kZXguanMnO1xuaW1wb3J0IHsgVml6UGFuZWxSZW5kZXJlciB9IGZyb20gJy4vVml6UGFuZWxSZW5kZXJlci5qcyc7XG5pbXBvcnQgeyBWYXJpYWJsZURlcGVuZGVuY3lDb25maWcgfSBmcm9tICcuLi8uLi92YXJpYWJsZXMvVmFyaWFibGVEZXBlbmRlbmN5Q29uZmlnLmpzJztcbmltcG9ydCB7IHNlcmllc1Zpc2liaWxpdHlDb25maWdGYWN0b3J5IH0gZnJvbSAnLi9zZXJpZXNWaXNpYmlsaXR5Q29uZmlnRmFjdG9yeS5qcyc7XG5pbXBvcnQgeyBlbXB0eVBhbmVsRGF0YSB9IGZyb20gJy4uLy4uL2NvcmUvU2NlbmVEYXRhTm9kZS5qcyc7XG5pbXBvcnQgeyBjaGFuZ2VTZXJpZXNDb2xvckNvbmZpZ0ZhY3RvcnkgfSBmcm9tICcuL2NvbG9yU2VyaWVzQ29uZmlnRmFjdG9yeS5qcyc7XG5pbXBvcnQgeyBsb2FkUGFuZWxQbHVnaW5TeW5jIH0gZnJvbSAnLi9yZWdpc3RlclJ1bnRpbWVQYW5lbFBsdWdpbi5qcyc7XG5pbXBvcnQgeyBnZXRDdXJzb3JTeW5jU2NvcGUgfSBmcm9tICcuLi8uLi9iZWhhdmlvcnMvQ3Vyc29yU3luYy5qcyc7XG5pbXBvcnQgeyBtZXJnZVdpdGgsIGNsb25lRGVlcCwgaXNBcnJheSwgbWVyZ2UsIGlzRW1wdHkgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgVXNlckFjdGlvbkV2ZW50IH0gZnJvbSAnLi4vLi4vY29yZS9ldmVudHMuanMnO1xuaW1wb3J0IHsgZXZhbHVhdGVUaW1lUmFuZ2UgfSBmcm9tICcuLi8uLi91dGlscy9ldmFsdWF0ZVRpbWVSYW5nZS5qcyc7XG5pbXBvcnQgeyBMaXZlTm93VGltZXIgfSBmcm9tICcuLi8uLi9iZWhhdmlvcnMvTGl2ZU5vd1RpbWVyLmpzJztcblxudmFyIF9fZGVmUHJvcCA9IE9iamVjdC5kZWZpbmVQcm9wZXJ0eTtcbnZhciBfX2RlZlByb3BzID0gT2JqZWN0LmRlZmluZVByb3BlcnRpZXM7XG52YXIgX19nZXRPd25Qcm9wRGVzY3MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycztcbnZhciBfX2dldE93blByb3BTeW1ib2xzID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scztcbnZhciBfX2hhc093blByb3AgPSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O1xudmFyIF9fcHJvcElzRW51bSA9IE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGU7XG52YXIgX19kZWZOb3JtYWxQcm9wID0gKG9iaiwga2V5LCB2YWx1ZSkgPT4ga2V5IGluIG9iaiA/IF9fZGVmUHJvcChvYmosIGtleSwgeyBlbnVtZXJhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUsIHdyaXRhYmxlOiB0cnVlLCB2YWx1ZSB9KSA6IG9ialtrZXldID0gdmFsdWU7XG52YXIgX19zcHJlYWRWYWx1ZXMgPSAoYSwgYikgPT4ge1xuICBmb3IgKHZhciBwcm9wIGluIGIgfHwgKGIgPSB7fSkpXG4gICAgaWYgKF9faGFzT3duUHJvcC5jYWxsKGIsIHByb3ApKVxuICAgICAgX19kZWZOb3JtYWxQcm9wKGEsIHByb3AsIGJbcHJvcF0pO1xuICBpZiAoX19nZXRPd25Qcm9wU3ltYm9scylcbiAgICBmb3IgKHZhciBwcm9wIG9mIF9fZ2V0T3duUHJvcFN5bWJvbHMoYikpIHtcbiAgICAgIGlmIChfX3Byb3BJc0VudW0uY2FsbChiLCBwcm9wKSlcbiAgICAgICAgX19kZWZOb3JtYWxQcm9wKGEsIHByb3AsIGJbcHJvcF0pO1xuICAgIH1cbiAgcmV0dXJuIGE7XG59O1xudmFyIF9fc3ByZWFkUHJvcHMgPSAoYSwgYikgPT4gX19kZWZQcm9wcyhhLCBfX2dldE93blByb3BEZXNjcyhiKSk7XG5jbGFzcyBWaXpQYW5lbCBleHRlbmRzIFNjZW5lT2JqZWN0QmFzZSB7XG4gIGNvbnN0cnVjdG9yKHN0YXRlKSB7XG4gICAgdmFyIF9hO1xuICAgIHN1cGVyKF9fc3ByZWFkVmFsdWVzKHtcbiAgICAgIG9wdGlvbnM6IHt9LFxuICAgICAgZmllbGRDb25maWc6IHsgZGVmYXVsdHM6IHt9LCBvdmVycmlkZXM6IFtdIH0sXG4gICAgICB0aXRsZTogXCJUaXRsZVwiLFxuICAgICAgcGx1Z2luSWQ6IFwidGltZXNlcmllc1wiLFxuICAgICAgX3JlbmRlckNvdW50ZXI6IDBcbiAgICB9LCBzdGF0ZSkpO1xuICAgIHRoaXMuX3ZhcmlhYmxlRGVwZW5kZW5jeSA9IG5ldyBWYXJpYWJsZURlcGVuZGVuY3lDb25maWcodGhpcywge1xuICAgICAgc3RhdGVQYXRoczogW1widGl0bGVcIiwgXCJvcHRpb25zXCIsIFwiZmllbGRDb25maWdcIl1cbiAgICB9KTtcbiAgICB0aGlzLl9zdHJ1Y3R1cmVSZXYgPSAwO1xuICAgIHRoaXMub25UaW1lUmFuZ2VDaGFuZ2UgPSAodGltZVJhbmdlKSA9PiB7XG4gICAgICBjb25zdCBzY2VuZVRpbWVSYW5nZSA9IHNjZW5lR3JhcGguZ2V0VGltZVJhbmdlKHRoaXMpO1xuICAgICAgc2NlbmVUaW1lUmFuZ2Uub25UaW1lUmFuZ2VDaGFuZ2Uoe1xuICAgICAgICByYXc6IHtcbiAgICAgICAgICBmcm9tOiB0b1V0Yyh0aW1lUmFuZ2UuZnJvbSksXG4gICAgICAgICAgdG86IHRvVXRjKHRpbWVSYW5nZS50bylcbiAgICAgICAgfSxcbiAgICAgICAgZnJvbTogdG9VdGModGltZVJhbmdlLmZyb20pLFxuICAgICAgICB0bzogdG9VdGModGltZVJhbmdlLnRvKVxuICAgICAgfSk7XG4gICAgfTtcbiAgICB0aGlzLmdldFRpbWVSYW5nZSA9IChkYXRhKSA9PiB7XG4gICAgICBjb25zdCBsaXZlTm93VGltZXIgPSBzY2VuZUdyYXBoLmZpbmRPYmplY3QodGhpcywgKG8pID0+IG8gaW5zdGFuY2VvZiBMaXZlTm93VGltZXIpO1xuICAgICAgY29uc3Qgc2NlbmVUaW1lUmFuZ2UgPSBzY2VuZUdyYXBoLmdldFRpbWVSYW5nZSh0aGlzKTtcbiAgICAgIGlmIChsaXZlTm93VGltZXIgaW5zdGFuY2VvZiBMaXZlTm93VGltZXIgJiYgbGl2ZU5vd1RpbWVyLmlzRW5hYmxlZCkge1xuICAgICAgICByZXR1cm4gZXZhbHVhdGVUaW1lUmFuZ2UoXG4gICAgICAgICAgc2NlbmVUaW1lUmFuZ2Uuc3RhdGUuZnJvbSxcbiAgICAgICAgICBzY2VuZVRpbWVSYW5nZS5zdGF0ZS50byxcbiAgICAgICAgICBzY2VuZVRpbWVSYW5nZS5nZXRUaW1lWm9uZSgpLFxuICAgICAgICAgIHNjZW5lVGltZVJhbmdlLnN0YXRlLmZpc2NhbFllYXJTdGFydE1vbnRoLFxuICAgICAgICAgIHNjZW5lVGltZVJhbmdlLnN0YXRlLlVOU0FGRV9ub3dEZWxheVxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgY29uc3QgcGx1Z2luID0gdGhpcy5nZXRQbHVnaW4oKTtcbiAgICAgIGlmIChwbHVnaW4gJiYgIXBsdWdpbi5tZXRhLnNraXBEYXRhUXVlcnkgJiYgZGF0YSAmJiBkYXRhLnRpbWVSYW5nZSkge1xuICAgICAgICByZXR1cm4gZGF0YS50aW1lUmFuZ2U7XG4gICAgICB9XG4gICAgICByZXR1cm4gc2NlbmVUaW1lUmFuZ2Uuc3RhdGUudmFsdWU7XG4gICAgfTtcbiAgICB0aGlzLm9uVGl0bGVDaGFuZ2UgPSAodGl0bGUpID0+IHtcbiAgICAgIHRoaXMuc2V0U3RhdGUoeyB0aXRsZSB9KTtcbiAgICB9O1xuICAgIHRoaXMub25EZXNjcmlwdGlvbkNoYW5nZSA9IChkZXNjcmlwdGlvbikgPT4ge1xuICAgICAgdGhpcy5zZXRTdGF0ZSh7IGRlc2NyaXB0aW9uIH0pO1xuICAgIH07XG4gICAgdGhpcy5vbkRpc3BsYXlNb2RlQ2hhbmdlID0gKGRpc3BsYXlNb2RlKSA9PiB7XG4gICAgICB0aGlzLnNldFN0YXRlKHsgZGlzcGxheU1vZGUgfSk7XG4gICAgfTtcbiAgICB0aGlzLm9uVG9nZ2xlQ29sbGFwc2UgPSAoY29sbGFwc2VkKSA9PiB7XG4gICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgY29sbGFwc2VkXG4gICAgICB9KTtcbiAgICB9O1xuICAgIHRoaXMub25PcHRpb25zQ2hhbmdlID0gKG9wdGlvbnNVcGRhdGUsIHJlcGxhY2UgPSBmYWxzZSwgaXNBZnRlclBsdWdpbkNoYW5nZSA9IGZhbHNlKSA9PiB7XG4gICAgICB2YXIgX2E7XG4gICAgICBjb25zdCB7IGZpZWxkQ29uZmlnLCBvcHRpb25zIH0gPSB0aGlzLnN0YXRlO1xuICAgICAgY29uc3QgbmV4dE9wdGlvbnMgPSByZXBsYWNlID8gb3B0aW9uc1VwZGF0ZSA6IG1lcmdlV2l0aChjbG9uZURlZXAob3B0aW9ucyksIG9wdGlvbnNVcGRhdGUsIChvYmpWYWx1ZSwgc3JjVmFsdWUsIGtleSwgb2JqKSA9PiB7XG4gICAgICAgIGlmIChpc0FycmF5KHNyY1ZhbHVlKSkge1xuICAgICAgICAgIHJldHVybiBzcmNWYWx1ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAob2JqVmFsdWUgIT09IHNyY1ZhbHVlICYmIHR5cGVvZiBzcmNWYWx1ZSA9PT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgICAgIG9ialtrZXldID0gc3JjVmFsdWU7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybjtcbiAgICAgIH0pO1xuICAgICAgY29uc3Qgd2l0aERlZmF1bHRzID0gZ2V0UGFuZWxPcHRpb25zV2l0aERlZmF1bHRzKHtcbiAgICAgICAgcGx1Z2luOiB0aGlzLl9wbHVnaW4sXG4gICAgICAgIGN1cnJlbnRPcHRpb25zOiBuZXh0T3B0aW9ucyxcbiAgICAgICAgY3VycmVudEZpZWxkQ29uZmlnOiBmaWVsZENvbmZpZyxcbiAgICAgICAgaXNBZnRlclBsdWdpbkNoYW5nZVxuICAgICAgfSk7XG4gICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgb3B0aW9uczogd2l0aERlZmF1bHRzLm9wdGlvbnMsXG4gICAgICAgIF9yZW5kZXJDb3VudGVyOiAoKF9hID0gdGhpcy5zdGF0ZS5fcmVuZGVyQ291bnRlcikgIT0gbnVsbCA/IF9hIDogMCkgKyAxXG4gICAgICB9KTtcbiAgICB9O1xuICAgIHRoaXMub25GaWVsZENvbmZpZ0NoYW5nZSA9IChmaWVsZENvbmZpZ1VwZGF0ZSwgcmVwbGFjZSkgPT4ge1xuICAgICAgY29uc3QgeyBmaWVsZENvbmZpZywgb3B0aW9ucyB9ID0gdGhpcy5zdGF0ZTtcbiAgICAgIGNvbnN0IG5leHRGaWVsZENvbmZpZyA9IHJlcGxhY2UgPyBmaWVsZENvbmZpZ1VwZGF0ZSA6IG1lcmdlKGNsb25lRGVlcChmaWVsZENvbmZpZyksIGZpZWxkQ29uZmlnVXBkYXRlKTtcbiAgICAgIGNvbnN0IHdpdGhEZWZhdWx0cyA9IGdldFBhbmVsT3B0aW9uc1dpdGhEZWZhdWx0cyh7XG4gICAgICAgIHBsdWdpbjogdGhpcy5fcGx1Z2luLFxuICAgICAgICBjdXJyZW50T3B0aW9uczogb3B0aW9ucyxcbiAgICAgICAgY3VycmVudEZpZWxkQ29uZmlnOiBuZXh0RmllbGRDb25maWcsXG4gICAgICAgIGlzQWZ0ZXJQbHVnaW5DaGFuZ2U6IGZhbHNlXG4gICAgICB9KTtcbiAgICAgIHRoaXMuX2RhdGFXaXRoRmllbGRDb25maWcgPSB2b2lkIDA7XG4gICAgICB0aGlzLnNldFN0YXRlKHsgZmllbGRDb25maWc6IHdpdGhEZWZhdWx0cy5maWVsZENvbmZpZyB9KTtcbiAgICB9O1xuICAgIHRoaXMuaW50ZXJwb2xhdGUgPSAodmFsdWUsIHNjb3BlZCwgZm9ybWF0KSA9PiB7XG4gICAgICByZXR1cm4gc2NlbmVHcmFwaC5pbnRlcnBvbGF0ZSh0aGlzLCB2YWx1ZSwgc2NvcGVkLCBmb3JtYXQpO1xuICAgIH07XG4gICAgdGhpcy5nZXREZXNjcmlwdGlvbiA9ICgpID0+IHtcbiAgICAgIHRoaXMucHVibGlzaEV2ZW50KG5ldyBVc2VyQWN0aW9uRXZlbnQoeyBvcmlnaW46IHRoaXMsIGludGVyYWN0aW9uOiBcInBhbmVsLWRlc2NyaXB0aW9uLXNob3duXCIgfSksIHRydWUpO1xuICAgICAgY29uc3QgeyBkZXNjcmlwdGlvbiB9ID0gdGhpcy5zdGF0ZTtcbiAgICAgIGlmIChkZXNjcmlwdGlvbikge1xuICAgICAgICBjb25zdCBtYXJrZG93biA9IHRoaXMuaW50ZXJwb2xhdGUoZGVzY3JpcHRpb24pO1xuICAgICAgICByZXR1cm4gcmVuZGVyTWFya2Rvd24obWFya2Rvd24pO1xuICAgICAgfVxuICAgICAgcmV0dXJuIFwiXCI7XG4gICAgfTtcbiAgICB0aGlzLm9uQ2FuY2VsUXVlcnkgPSAoKSA9PiB7XG4gICAgICB2YXIgX2E7XG4gICAgICB0aGlzLnB1Ymxpc2hFdmVudChuZXcgVXNlckFjdGlvbkV2ZW50KHsgb3JpZ2luOiB0aGlzLCBpbnRlcmFjdGlvbjogXCJwYW5lbC1jYW5jZWwtcXVlcnktY2xpY2tlZFwiIH0pLCB0cnVlKTtcbiAgICAgIGNvbnN0IGRhdGEgPSBzY2VuZUdyYXBoLmdldERhdGEodGhpcyk7XG4gICAgICAoX2EgPSBkYXRhLmNhbmNlbFF1ZXJ5KSA9PSBudWxsID8gdm9pZCAwIDogX2EuY2FsbChkYXRhKTtcbiAgICB9O1xuICAgIHRoaXMub25TdGF0dXNNZXNzYWdlQ2xpY2sgPSAoKSA9PiB7XG4gICAgICB0aGlzLnB1Ymxpc2hFdmVudChuZXcgVXNlckFjdGlvbkV2ZW50KHsgb3JpZ2luOiB0aGlzLCBpbnRlcmFjdGlvbjogXCJwYW5lbC1zdGF0dXMtbWVzc2FnZS1jbGlja2VkXCIgfSksIHRydWUpO1xuICAgIH07XG4gICAgdGhpcy5fb25TZXJpZXNDb2xvckNoYW5nZSA9IChsYWJlbCwgY29sb3IpID0+IHtcbiAgICAgIHRoaXMub25GaWVsZENvbmZpZ0NoYW5nZShjaGFuZ2VTZXJpZXNDb2xvckNvbmZpZ0ZhY3RvcnkobGFiZWwsIGNvbG9yLCB0aGlzLnN0YXRlLmZpZWxkQ29uZmlnKSk7XG4gICAgfTtcbiAgICB0aGlzLl9vblNlcmllc1Zpc2liaWxpdHlDaGFuZ2UgPSAobGFiZWwsIG1vZGUpID0+IHtcbiAgICAgIGlmICghdGhpcy5fZGF0YVdpdGhGaWVsZENvbmZpZykge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICB0aGlzLm9uRmllbGRDb25maWdDaGFuZ2UoXG4gICAgICAgIHNlcmllc1Zpc2liaWxpdHlDb25maWdGYWN0b3J5KGxhYmVsLCBtb2RlLCB0aGlzLnN0YXRlLmZpZWxkQ29uZmlnLCB0aGlzLl9kYXRhV2l0aEZpZWxkQ29uZmlnLnNlcmllcyksXG4gICAgICAgIHRydWVcbiAgICAgICk7XG4gICAgfTtcbiAgICB0aGlzLl9vbkluc3RhbmNlU3RhdGVDaGFuZ2UgPSAoc3RhdGUpID0+IHtcbiAgICAgIGlmICh0aGlzLl9wYW5lbENvbnRleHQpIHtcbiAgICAgICAgdGhpcy5fcGFuZWxDb250ZXh0ID0gX19zcHJlYWRQcm9wcyhfX3NwcmVhZFZhbHVlcyh7fSwgdGhpcy5fcGFuZWxDb250ZXh0KSwge1xuICAgICAgICAgIGluc3RhbmNlU3RhdGU6IHN0YXRlXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgdGhpcy5zZXRTdGF0ZSh7IF9wbHVnaW5JbnN0YW5jZVN0YXRlOiBzdGF0ZSB9KTtcbiAgICB9O1xuICAgIHRoaXMuX29uVG9nZ2xlTGVnZW5kU29ydCA9IChzb3J0S2V5KSA9PiB7XG4gICAgICBjb25zdCBsZWdlbmRPcHRpb25zID0gdGhpcy5zdGF0ZS5vcHRpb25zLmxlZ2VuZDtcbiAgICAgIGlmICghbGVnZW5kT3B0aW9ucykge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBsZXQgc29ydERlc2MgPSBsZWdlbmRPcHRpb25zLnNvcnREZXNjO1xuICAgICAgbGV0IHNvcnRCeSA9IGxlZ2VuZE9wdGlvbnMuc29ydEJ5O1xuICAgICAgaWYgKHNvcnRLZXkgIT09IHNvcnRCeSkge1xuICAgICAgICBzb3J0RGVzYyA9IHZvaWQgMDtcbiAgICAgIH1cbiAgICAgIGlmIChzb3J0RGVzYyA9PT0gZmFsc2UpIHtcbiAgICAgICAgc29ydEJ5ID0gdm9pZCAwO1xuICAgICAgICBzb3J0RGVzYyA9IHZvaWQgMDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNvcnREZXNjID0gIXNvcnREZXNjO1xuICAgICAgICBzb3J0QnkgPSBzb3J0S2V5O1xuICAgICAgfVxuICAgICAgdGhpcy5vbk9wdGlvbnNDaGFuZ2UoXG4gICAgICAgIF9fc3ByZWFkUHJvcHMoX19zcHJlYWRWYWx1ZXMoe30sIHRoaXMuc3RhdGUub3B0aW9ucyksIHtcbiAgICAgICAgICBsZWdlbmQ6IF9fc3ByZWFkUHJvcHMoX19zcHJlYWRWYWx1ZXMoe30sIGxlZ2VuZE9wdGlvbnMpLCB7IHNvcnRCeSwgc29ydERlc2MgfSlcbiAgICAgICAgfSksXG4gICAgICAgIHRydWVcbiAgICAgICk7XG4gICAgfTtcbiAgICB0aGlzLmFkZEFjdGl2YXRpb25IYW5kbGVyKCgpID0+IHtcbiAgICAgIHRoaXMuX29uQWN0aXZhdGUoKTtcbiAgICB9KTtcbiAgICAoX2EgPSBzdGF0ZS5tZW51KSA9PSBudWxsID8gdm9pZCAwIDogX2EuYWRkQWN0aXZhdGlvbkhhbmRsZXIoKCkgPT4ge1xuICAgICAgdGhpcy5wdWJsaXNoRXZlbnQobmV3IFVzZXJBY3Rpb25FdmVudCh7IG9yaWdpbjogdGhpcywgaW50ZXJhY3Rpb246IFwicGFuZWwtbWVudS1zaG93blwiIH0pLCB0cnVlKTtcbiAgICB9KTtcbiAgfVxuICBfb25BY3RpdmF0ZSgpIHtcbiAgICBpZiAoIXRoaXMuX3BsdWdpbikge1xuICAgICAgdGhpcy5fbG9hZFBsdWdpbih0aGlzLnN0YXRlLnBsdWdpbklkKTtcbiAgICB9XG4gIH1cbiAgZm9yY2VSZW5kZXIoKSB7XG4gICAgdmFyIF9hO1xuICAgIHRoaXMuc2V0U3RhdGUoeyBfcmVuZGVyQ291bnRlcjogKChfYSA9IHRoaXMuc3RhdGUuX3JlbmRlckNvdW50ZXIpICE9IG51bGwgPyBfYSA6IDApICsgMSB9KTtcbiAgfVxuICBhc3luYyBfbG9hZFBsdWdpbihwbHVnaW5JZCwgb3ZlcndyaXRlT3B0aW9ucywgb3ZlcndyaXRlRmllbGRDb25maWcsIGlzQWZ0ZXJQbHVnaW5DaGFuZ2UpIHtcbiAgICBjb25zdCBwbHVnaW4gPSBsb2FkUGFuZWxQbHVnaW5TeW5jKHBsdWdpbklkKTtcbiAgICBpZiAocGx1Z2luKSB7XG4gICAgICB0aGlzLl9wbHVnaW5Mb2FkZWQocGx1Z2luLCBvdmVyd3JpdGVPcHRpb25zLCBvdmVyd3JpdGVGaWVsZENvbmZpZywgaXNBZnRlclBsdWdpbkNoYW5nZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHsgaW1wb3J0UGFuZWxQbHVnaW4gfSA9IGdldFBsdWdpbkltcG9ydFV0aWxzKCk7XG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBpbXBvcnRQYW5lbFBsdWdpbihwbHVnaW5JZCk7XG4gICAgICAgIHRoaXMuX3BsdWdpbkxvYWRlZChyZXN1bHQsIG92ZXJ3cml0ZU9wdGlvbnMsIG92ZXJ3cml0ZUZpZWxkQ29uZmlnLCBpc0FmdGVyUGx1Z2luQ2hhbmdlKTtcbiAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICB0aGlzLl9wbHVnaW5Mb2FkZWQoZ2V0UGFuZWxQbHVnaW5Ob3RGb3VuZChwbHVnaW5JZCkpO1xuICAgICAgICBpZiAoZXJyIGluc3RhbmNlb2YgRXJyb3IpIHtcbiAgICAgICAgICB0aGlzLnNldFN0YXRlKHsgX3BsdWdpbkxvYWRFcnJvcjogZXJyLm1lc3NhZ2UgfSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgZ2V0TGVnYWN5UGFuZWxJZCgpIHtcbiAgICBjb25zdCBwYW5lbElkID0gcGFyc2VJbnQodGhpcy5zdGF0ZS5rZXkucmVwbGFjZShcInBhbmVsLVwiLCBcIlwiKSwgMTApO1xuICAgIGlmIChpc05hTihwYW5lbElkKSkge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuICAgIHJldHVybiBwYW5lbElkO1xuICB9XG4gIGFzeW5jIF9wbHVnaW5Mb2FkZWQocGx1Z2luLCBvdmVyd3JpdGVPcHRpb25zLCBvdmVyd3JpdGVGaWVsZENvbmZpZywgaXNBZnRlclBsdWdpbkNoYW5nZSkge1xuICAgIGNvbnN0IHsgb3B0aW9ucywgZmllbGRDb25maWcsIHRpdGxlLCBwbHVnaW5WZXJzaW9uLCBfVU5TQUZFX2N1c3RvbU1pZ3JhdGlvbkhhbmRsZXIgfSA9IHRoaXMuc3RhdGU7XG4gICAgY29uc3QgcGFuZWwgPSB7XG4gICAgICB0aXRsZSxcbiAgICAgIG9wdGlvbnMsXG4gICAgICBmaWVsZENvbmZpZyxcbiAgICAgIGlkOiB0aGlzLmdldExlZ2FjeVBhbmVsSWQoKSxcbiAgICAgIHR5cGU6IHBsdWdpbi5tZXRhLmlkLFxuICAgICAgcGx1Z2luVmVyc2lvblxuICAgIH07XG4gICAgaWYgKG92ZXJ3cml0ZU9wdGlvbnMpIHtcbiAgICAgIHBhbmVsLm9wdGlvbnMgPSBvdmVyd3JpdGVPcHRpb25zO1xuICAgIH1cbiAgICBpZiAob3ZlcndyaXRlRmllbGRDb25maWcpIHtcbiAgICAgIHBhbmVsLmZpZWxkQ29uZmlnID0gb3ZlcndyaXRlRmllbGRDb25maWc7XG4gICAgfVxuICAgIGNvbnN0IGN1cnJlbnRWZXJzaW9uID0gdGhpcy5fZ2V0UGx1Z2luVmVyc2lvbihwbHVnaW4pO1xuICAgIF9VTlNBRkVfY3VzdG9tTWlncmF0aW9uSGFuZGxlciA9PSBudWxsID8gdm9pZCAwIDogX1VOU0FGRV9jdXN0b21NaWdyYXRpb25IYW5kbGVyKHBhbmVsLCBwbHVnaW4pO1xuICAgIGlmIChwbHVnaW4ub25QYW5lbE1pZ3JhdGlvbiAmJiBjdXJyZW50VmVyc2lvbiAhPT0gcGx1Z2luVmVyc2lvbiAmJiAhaXNBZnRlclBsdWdpbkNoYW5nZSkge1xuICAgICAgcGFuZWwub3B0aW9ucyA9IGF3YWl0IHBsdWdpbi5vblBhbmVsTWlncmF0aW9uKHBhbmVsKTtcbiAgICB9XG4gICAgY29uc3Qgd2l0aERlZmF1bHRzID0gZ2V0UGFuZWxPcHRpb25zV2l0aERlZmF1bHRzKHtcbiAgICAgIHBsdWdpbixcbiAgICAgIGN1cnJlbnRPcHRpb25zOiBwYW5lbC5vcHRpb25zLFxuICAgICAgY3VycmVudEZpZWxkQ29uZmlnOiBwYW5lbC5maWVsZENvbmZpZyxcbiAgICAgIGlzQWZ0ZXJQbHVnaW5DaGFuZ2U6IGlzQWZ0ZXJQbHVnaW5DaGFuZ2UgIT0gbnVsbCA/IGlzQWZ0ZXJQbHVnaW5DaGFuZ2UgOiBmYWxzZVxuICAgIH0pO1xuICAgIHRoaXMuX3BsdWdpbiA9IHBsdWdpbjtcbiAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgIG9wdGlvbnM6IHdpdGhEZWZhdWx0cy5vcHRpb25zLFxuICAgICAgZmllbGRDb25maWc6IHdpdGhEZWZhdWx0cy5maWVsZENvbmZpZyxcbiAgICAgIHBsdWdpblZlcnNpb246IGN1cnJlbnRWZXJzaW9uLFxuICAgICAgcGx1Z2luSWQ6IHBsdWdpbi5tZXRhLmlkXG4gICAgfSk7XG4gICAgaWYgKHBsdWdpbi5tZXRhLnNraXBEYXRhUXVlcnkpIHtcbiAgICAgIGNvbnN0IHNjZW5lVGltZVJhbmdlID0gc2NlbmVHcmFwaC5nZXRUaW1lUmFuZ2UodGhpcyk7XG4gICAgICB0aGlzLl9zdWJzLmFkZChzY2VuZVRpbWVSYW5nZS5zdWJzY3JpYmVUb1N0YXRlKCgpID0+IHRoaXMuZm9yY2VSZW5kZXIoKSkpO1xuICAgIH1cbiAgfVxuICBfZ2V0UGx1Z2luVmVyc2lvbihwbHVnaW4pIHtcbiAgICByZXR1cm4gcGx1Z2luICYmIHBsdWdpbi5tZXRhLmluZm8udmVyc2lvbiA/IHBsdWdpbi5tZXRhLmluZm8udmVyc2lvbiA6IGNvbmZpZy5idWlsZEluZm8udmVyc2lvbjtcbiAgfVxuICBnZXRQbHVnaW4oKSB7XG4gICAgcmV0dXJuIHRoaXMuX3BsdWdpbjtcbiAgfVxuICBnZXRQYW5lbENvbnRleHQoKSB7XG4gICAgdmFyIF9hO1xuICAgIChfYSA9IHRoaXMuX3BhbmVsQ29udGV4dCkgIT0gbnVsbCA/IF9hIDogdGhpcy5fcGFuZWxDb250ZXh0ID0gdGhpcy5idWlsZFBhbmVsQ29udGV4dCgpO1xuICAgIHJldHVybiB0aGlzLl9wYW5lbENvbnRleHQ7XG4gIH1cbiAgYXN5bmMgY2hhbmdlUGx1Z2luVHlwZShwbHVnaW5JZCwgbmV3T3B0aW9ucywgbmV3RmllbGRDb25maWcpIHtcbiAgICB2YXIgX2EsIF9iO1xuICAgIGNvbnN0IHsgb3B0aW9uczogcHJldk9wdGlvbnMsIGZpZWxkQ29uZmlnOiBwcmV2RmllbGRDb25maWcsIHBsdWdpbklkOiBwcmV2UGx1Z2luSWQgfSA9IHRoaXMuc3RhdGU7XG4gICAgdGhpcy5fZGF0YVdpdGhGaWVsZENvbmZpZyA9IHZvaWQgMDtcbiAgICBjb25zdCBpc0FmdGVyUGx1Z2luQ2hhbmdlID0gdGhpcy5zdGF0ZS5wbHVnaW5JZCAhPT0gcGx1Z2luSWQ7XG4gICAgYXdhaXQgdGhpcy5fbG9hZFBsdWdpbihwbHVnaW5JZCwgbmV3T3B0aW9ucyAhPSBudWxsID8gbmV3T3B0aW9ucyA6IHt9LCBuZXdGaWVsZENvbmZpZywgaXNBZnRlclBsdWdpbkNoYW5nZSk7XG4gICAgY29uc3QgcGFuZWwgPSB7XG4gICAgICB0aXRsZTogdGhpcy5zdGF0ZS50aXRsZSxcbiAgICAgIG9wdGlvbnM6IHRoaXMuc3RhdGUub3B0aW9ucyxcbiAgICAgIGZpZWxkQ29uZmlnOiB0aGlzLnN0YXRlLmZpZWxkQ29uZmlnLFxuICAgICAgaWQ6IDEsXG4gICAgICB0eXBlOiBwbHVnaW5JZFxuICAgIH07XG4gICAgY29uc3QgdXBkYXRlZE9wdGlvbnMgPSAoX2IgPSAoX2EgPSB0aGlzLl9wbHVnaW4pID09IG51bGwgPyB2b2lkIDAgOiBfYS5vblBhbmVsVHlwZUNoYW5nZWQpID09IG51bGwgPyB2b2lkIDAgOiBfYi5jYWxsKF9hLCBwYW5lbCwgcHJldlBsdWdpbklkLCBwcmV2T3B0aW9ucywgcHJldkZpZWxkQ29uZmlnKTtcbiAgICBpZiAodXBkYXRlZE9wdGlvbnMgJiYgIWlzRW1wdHkodXBkYXRlZE9wdGlvbnMpKSB7XG4gICAgICB0aGlzLm9uT3B0aW9uc0NoYW5nZSh1cGRhdGVkT3B0aW9ucywgdHJ1ZSwgdHJ1ZSk7XG4gICAgfVxuICB9XG4gIGNsZWFyRmllbGRDb25maWdDYWNoZSgpIHtcbiAgICB0aGlzLl9kYXRhV2l0aEZpZWxkQ29uZmlnID0gdm9pZCAwO1xuICB9XG4gIGFwcGx5RmllbGRDb25maWcocmF3RGF0YSkge1xuICAgIHZhciBfYSwgX2IsIF9jLCBfZDtcbiAgICBjb25zdCBwbHVnaW4gPSB0aGlzLl9wbHVnaW47XG4gICAgaWYgKCFwbHVnaW4gfHwgcGx1Z2luLm1ldGEuc2tpcERhdGFRdWVyeSB8fCAhcmF3RGF0YSkge1xuICAgICAgcmV0dXJuIGVtcHR5UGFuZWxEYXRhO1xuICAgIH1cbiAgICBpZiAodGhpcy5fcHJldkRhdGEgPT09IHJhd0RhdGEgJiYgdGhpcy5fZGF0YVdpdGhGaWVsZENvbmZpZykge1xuICAgICAgcmV0dXJuIHRoaXMuX2RhdGFXaXRoRmllbGRDb25maWc7XG4gICAgfVxuICAgIGNvbnN0IHBsdWdpbkRhdGFTdXBwb3J0ID0gcGx1Z2luLmRhdGFTdXBwb3J0IHx8IHsgYWxlcnRTdGF0ZXM6IGZhbHNlLCBhbm5vdGF0aW9uczogZmFsc2UgfTtcbiAgICBjb25zdCBmaWVsZENvbmZpZ1JlZ2lzdHJ5ID0gcGx1Z2luLmZpZWxkQ29uZmlnUmVnaXN0cnk7XG4gICAgY29uc3QgcHJldkZyYW1lcyA9IChfYiA9IChfYSA9IHRoaXMuX2RhdGFXaXRoRmllbGRDb25maWcpID09IG51bGwgPyB2b2lkIDAgOiBfYS5zZXJpZXMpICE9IG51bGwgPyBfYiA6IFtdO1xuICAgIGNvbnN0IG5ld0ZyYW1lcyA9IGFwcGx5RmllbGRPdmVycmlkZXMoe1xuICAgICAgZGF0YTogcmF3RGF0YS5zZXJpZXMsXG4gICAgICBmaWVsZENvbmZpZzogdGhpcy5zdGF0ZS5maWVsZENvbmZpZyxcbiAgICAgIGZpZWxkQ29uZmlnUmVnaXN0cnksXG4gICAgICByZXBsYWNlVmFyaWFibGVzOiB0aGlzLmludGVycG9sYXRlLFxuICAgICAgdGhlbWU6IGNvbmZpZy50aGVtZTIsXG4gICAgICB0aW1lWm9uZTogKF9jID0gcmF3RGF0YS5yZXF1ZXN0KSA9PSBudWxsID8gdm9pZCAwIDogX2MudGltZXpvbmVcbiAgICB9KTtcbiAgICBpZiAoIWNvbXBhcmVBcnJheVZhbHVlcyhuZXdGcmFtZXMsIHByZXZGcmFtZXMsIGNvbXBhcmVEYXRhRnJhbWVTdHJ1Y3R1cmVzKSkge1xuICAgICAgdGhpcy5fc3RydWN0dXJlUmV2Kys7XG4gICAgfVxuICAgIHRoaXMuX2RhdGFXaXRoRmllbGRDb25maWcgPSBfX3NwcmVhZFByb3BzKF9fc3ByZWFkVmFsdWVzKHt9LCByYXdEYXRhKSwge1xuICAgICAgc3RydWN0dXJlUmV2OiB0aGlzLl9zdHJ1Y3R1cmVSZXYsXG4gICAgICBzZXJpZXM6IG5ld0ZyYW1lc1xuICAgIH0pO1xuICAgIGlmICh0aGlzLl9kYXRhV2l0aEZpZWxkQ29uZmlnLmFubm90YXRpb25zKSB7XG4gICAgICB0aGlzLl9kYXRhV2l0aEZpZWxkQ29uZmlnLmFubm90YXRpb25zID0gYXBwbHlGaWVsZE92ZXJyaWRlcyh7XG4gICAgICAgIGRhdGE6IHRoaXMuX2RhdGFXaXRoRmllbGRDb25maWcuYW5ub3RhdGlvbnMsXG4gICAgICAgIGZpZWxkQ29uZmlnOiB7XG4gICAgICAgICAgZGVmYXVsdHM6IHt9LFxuICAgICAgICAgIG92ZXJyaWRlczogW11cbiAgICAgICAgfSxcbiAgICAgICAgZmllbGRDb25maWdSZWdpc3RyeSxcbiAgICAgICAgcmVwbGFjZVZhcmlhYmxlczogdGhpcy5pbnRlcnBvbGF0ZSxcbiAgICAgICAgdGhlbWU6IGNvbmZpZy50aGVtZTIsXG4gICAgICAgIHRpbWVab25lOiAoX2QgPSByYXdEYXRhLnJlcXVlc3QpID09IG51bGwgPyB2b2lkIDAgOiBfZC50aW1lem9uZVxuICAgICAgfSk7XG4gICAgfVxuICAgIGlmICghcGx1Z2luRGF0YVN1cHBvcnQuYWxlcnRTdGF0ZXMpIHtcbiAgICAgIHRoaXMuX2RhdGFXaXRoRmllbGRDb25maWcuYWxlcnRTdGF0ZSA9IHZvaWQgMDtcbiAgICB9XG4gICAgaWYgKCFwbHVnaW5EYXRhU3VwcG9ydC5hbm5vdGF0aW9ucykge1xuICAgICAgdGhpcy5fZGF0YVdpdGhGaWVsZENvbmZpZy5hbm5vdGF0aW9ucyA9IHZvaWQgMDtcbiAgICB9XG4gICAgdGhpcy5fcHJldkRhdGEgPSByYXdEYXRhO1xuICAgIHJldHVybiB0aGlzLl9kYXRhV2l0aEZpZWxkQ29uZmlnO1xuICB9XG4gIGJ1aWxkUGFuZWxDb250ZXh0KCkge1xuICAgIGNvbnN0IHN5bmMgPSBnZXRDdXJzb3JTeW5jU2NvcGUodGhpcyk7XG4gICAgY29uc3QgY29udGV4dCA9IHtcbiAgICAgIGV2ZW50c1Njb3BlOiBzeW5jID8gc3luYy5nZXRFdmVudHNTY29wZSgpIDogXCJfX2dsb2JhbF9cIixcbiAgICAgIGV2ZW50QnVzOiBzeW5jID8gc3luYy5nZXRFdmVudHNCdXModGhpcykgOiBnZXRBcHBFdmVudHMoKSxcbiAgICAgIGFwcDogQ29yZUFwcC5Vbmtub3duLFxuICAgICAgc3luYzogKCkgPT4ge1xuICAgICAgICBpZiAoc3luYykge1xuICAgICAgICAgIHJldHVybiBzeW5jLnN0YXRlLnN5bmM7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIERhc2hib2FyZEN1cnNvclN5bmMuT2ZmO1xuICAgICAgfSxcbiAgICAgIG9uU2VyaWVzQ29sb3JDaGFuZ2U6IHRoaXMuX29uU2VyaWVzQ29sb3JDaGFuZ2UsXG4gICAgICBvblRvZ2dsZVNlcmllc1Zpc2liaWxpdHk6IHRoaXMuX29uU2VyaWVzVmlzaWJpbGl0eUNoYW5nZSxcbiAgICAgIG9uVG9nZ2xlTGVnZW5kU29ydDogdGhpcy5fb25Ub2dnbGVMZWdlbmRTb3J0LFxuICAgICAgb25JbnN0YW5jZVN0YXRlQ2hhbmdlOiB0aGlzLl9vbkluc3RhbmNlU3RhdGVDaGFuZ2VcbiAgICB9O1xuICAgIGlmICh0aGlzLnN0YXRlLmV4dGVuZFBhbmVsQ29udGV4dCkge1xuICAgICAgdGhpcy5zdGF0ZS5leHRlbmRQYW5lbENvbnRleHQodGhpcywgY29udGV4dCk7XG4gICAgfVxuICAgIHJldHVybiBjb250ZXh0O1xuICB9XG59XG5WaXpQYW5lbC5Db21wb25lbnQgPSBWaXpQYW5lbFJlbmRlcmVyO1xuZnVuY3Rpb24gZ2V0UGFuZWxQbHVnaW5Ob3RGb3VuZChpZCkge1xuICBjb25zdCBwbHVnaW4gPSBuZXcgUGFuZWxQbHVnaW4oKCkgPT4gbnVsbCk7XG4gIHBsdWdpbi5tZXRhID0ge1xuICAgIGlkLFxuICAgIG5hbWU6IGlkLFxuICAgIHNvcnQ6IDEwMCxcbiAgICB0eXBlOiBQbHVnaW5UeXBlLnBhbmVsLFxuICAgIG1vZHVsZTogXCJcIixcbiAgICBiYXNlVXJsOiBcIlwiLFxuICAgIGluZm86IHtcbiAgICAgIGF1dGhvcjoge1xuICAgICAgICBuYW1lOiBcIlwiXG4gICAgICB9LFxuICAgICAgZGVzY3JpcHRpb246IFwiXCIsXG4gICAgICBsaW5rczogW10sXG4gICAgICBsb2dvczoge1xuICAgICAgICBsYXJnZTogXCJcIixcbiAgICAgICAgc21hbGw6IFwicHVibGljL2ltZy9ncmFmYW5hX2ljb24uc3ZnXCJcbiAgICAgIH0sXG4gICAgICBzY3JlZW5zaG90czogW10sXG4gICAgICB1cGRhdGVkOiBcIlwiLFxuICAgICAgdmVyc2lvbjogXCJcIlxuICAgIH1cbiAgfTtcbiAgcmV0dXJuIHBsdWdpbjtcbn1cblxuZXhwb3J0IHsgVml6UGFuZWwgfTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pVm1sNlVHRnVaV3d1YW5NaUxDSnpiM1Z5WTJWeklqcGJJaTR1THk0dUx5NHVMeTR1TDNOeVl5OWpiMjF3YjI1bGJuUnpMMVpwZWxCaGJtVnNMMVpwZWxCaGJtVnNMblJ6ZUNKZExDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SnBiWEJ2Y25RZ2UxeHVJQ0JCWW5OdmJIVjBaVlJwYldWU1lXNW5aU3hjYmlBZ1JtbGxiR1JEYjI1bWFXZFRiM1Z5WTJVc1hHNGdJRkJoYm1Wc1RXOWtaV3dzWEc0Z0lGQmhibVZzVUd4MVoybHVMRnh1SUNCMGIxVjBZeXhjYmlBZ1oyVjBVR0Z1Wld4UGNIUnBiMjV6VjJsMGFFUmxabUYxYkhSekxGeHVJQ0JUWTI5d1pXUldZWEp6TEZ4dUlDQkpiblJsY25CdmJHRjBaVVoxYm1OMGFXOXVMRnh1SUNCRGIzSmxRWEJ3TEZ4dUlDQkVZWE5vWW05aGNtUkRkWEp6YjNKVGVXNWpMRnh1SUNCUVlXNWxiRVJoZEdFc1hHNGdJR052YlhCaGNtVkJjbkpoZVZaaGJIVmxjeXhjYmlBZ1kyOXRjR0Z5WlVSaGRHRkdjbUZ0WlZOMGNuVmpkSFZ5WlhNc1hHNGdJR0Z3Y0d4NVJtbGxiR1JQZG1WeWNtbGtaWE1zWEc0Z0lGQnNkV2RwYmxSNWNHVXNYRzRnSUhKbGJtUmxjazFoY210a2IzZHVMRnh1SUNCUVlXNWxiRkJzZFdkcGJrUmhkR0ZUZFhCd2IzSjBMRnh1ZlNCbWNtOXRJQ2RBWjNKaFptRnVZUzlrWVhSaEp6dGNibWx0Y0c5eWRDQjdJRkJoYm1Wc1EyOXVkR1Y0ZEN3Z1UyVnlhV1Z6Vm1semFXSnBiR2wwZVVOb1lXNW5aVTF2WkdVc0lGWnBla3hsWjJWdVpFOXdkR2x2Ym5NZ2ZTQm1jbTl0SUNkQVozSmhabUZ1WVM5MWFTYzdYRzVwYlhCdmNuUWdleUJqYjI1bWFXY3NJR2RsZEVGd2NFVjJaVzUwY3l3Z1oyVjBVR3gxWjJsdVNXMXdiM0owVlhScGJITWdmU0JtY205dElDZEFaM0poWm1GdVlTOXlkVzUwYVcxbEp6dGNibWx0Y0c5eWRDQjdJRk5qWlc1bFQySnFaV04wUW1GelpTQjlJR1p5YjIwZ0p5NHVMeTR1TDJOdmNtVXZVMk5sYm1WUFltcGxZM1JDWVhObEp6dGNibWx0Y0c5eWRDQjdJSE5qWlc1bFIzSmhjR2dnZlNCbWNtOXRJQ2N1TGk4dUxpOWpiM0psTDNOalpXNWxSM0poY0dnbk8xeHVhVzF3YjNKMElIc2dSR1ZsY0ZCaGNuUnBZV3dzSUZOalpXNWxUMkpxWldOMExDQlRZMlZ1WlU5aWFtVmpkRk4wWVhSbElIMGdabkp2YlNBbkxpNHZMaTR2WTI5eVpTOTBlWEJsY3ljN1hHNWNibWx0Y0c5eWRDQjdJRlpwZWxCaGJtVnNVbVZ1WkdWeVpYSWdmU0JtY205dElDY3VMMVpwZWxCaGJtVnNVbVZ1WkdWeVpYSW5PMXh1YVcxd2IzSjBJSHNnVm1sNlVHRnVaV3hOWlc1MUlIMGdabkp2YlNBbkxpOVdhWHBRWVc1bGJFMWxiblVuTzF4dWFXMXdiM0owSUhzZ1ZtRnlhV0ZpYkdWRVpYQmxibVJsYm1ONVEyOXVabWxuSUgwZ1puSnZiU0FuTGk0dkxpNHZkbUZ5YVdGaWJHVnpMMVpoY21saFlteGxSR1Z3Wlc1a1pXNWplVU52Ym1acFp5YzdYRzVwYlhCdmNuUWdleUJXWVhKcFlXSnNaVU4xYzNSdmJVWnZjbTFoZEhSbGNrWnVJSDBnWm5KdmJTQW5MaTR2TGk0dmRtRnlhV0ZpYkdWekwzUjVjR1Z6Snp0Y2JtbHRjRzl5ZENCN0lITmxjbWxsYzFacGMybGlhV3hwZEhsRGIyNW1hV2RHWVdOMGIzSjVJSDBnWm5KdmJTQW5MaTl6WlhKcFpYTldhWE5wWW1sc2FYUjVRMjl1Wm1sblJtRmpkRzl5ZVNjN1hHNXBiWEJ2Y25RZ2V5QmxiWEIwZVZCaGJtVnNSR0YwWVNCOUlHWnliMjBnSnk0dUx5NHVMMk52Y21VdlUyTmxibVZFWVhSaFRtOWtaU2M3WEc1cGJYQnZjblFnZXlCamFHRnVaMlZUWlhKcFpYTkRiMnh2Y2tOdmJtWnBaMFpoWTNSdmNua2dmU0JtY205dElDY3VMMk52Ykc5eVUyVnlhV1Z6UTI5dVptbG5SbUZqZEc5eWVTYzdYRzVwYlhCdmNuUWdleUJzYjJGa1VHRnVaV3hRYkhWbmFXNVRlVzVqSUgwZ1puSnZiU0FuTGk5eVpXZHBjM1JsY2xKMWJuUnBiV1ZRWVc1bGJGQnNkV2RwYmljN1hHNXBiWEJ2Y25RZ2V5Qm5aWFJEZFhKemIzSlRlVzVqVTJOdmNHVWdmU0JtY205dElDY3VMaTh1TGk5aVpXaGhkbWx2Y25NdlEzVnljMjl5VTNsdVl5YzdYRzVwYlhCdmNuUWdleUJqYkc5dVpVUmxaWEFzSUdselFYSnlZWGtzSUdselJXMXdkSGtzSUcxbGNtZGxMQ0J0WlhKblpWZHBkR2dnZlNCbWNtOXRJQ2RzYjJSaGMyZ25PMXh1YVcxd2IzSjBJSHNnVlhObGNrRmpkR2x2YmtWMlpXNTBJSDBnWm5KdmJTQW5MaTR2TGk0dlkyOXlaUzlsZG1WdWRITW5PMXh1YVcxd2IzSjBJSHNnWlhaaGJIVmhkR1ZVYVcxbFVtRnVaMlVnZlNCbWNtOXRJQ2N1TGk4dUxpOTFkR2xzY3k5bGRtRnNkV0YwWlZScGJXVlNZVzVuWlNjN1hHNXBiWEJ2Y25RZ2V5Qk1hWFpsVG05M1ZHbHRaWElnZlNCbWNtOXRJQ2N1TGk4dUxpOWlaV2hoZG1sdmNuTXZUR2wyWlU1dmQxUnBiV1Z5Snp0Y2JseHVaWGh3YjNKMElHbHVkR1Z5Wm1GalpTQldhWHBRWVc1bGJGTjBZWFJsUEZSUGNIUnBiMjV6SUQwZ2UzMHNJRlJHYVdWc1pFTnZibVpwWnlBOUlIdDlQaUJsZUhSbGJtUnpJRk5qWlc1bFQySnFaV04wVTNSaGRHVWdlMXh1SUNBdktpcGNiaUFnSUNvZ1ZHaHBjeUJwY3lCMWMzVmhiR3g1SUdFZ2NHeDFaMmx1SUdsa0lIUm9ZWFFnY21WbVpYSmxibU5sY3lCaElHTnZjbVVnY0d4MVoybHVJRzl5SUdGdUlHVjRkR1Z5Ym1Gc0lIQnNkV2RwYmk0Z1FuVjBJSFJvYVhNZ1kyRnVJR0ZzYzI4Z2NtVm1aWEpsYm1ObElHRmNiaUFnSUNvZ2NuVnVkR2x0WlNCeVpXZHBjM1JsY21Wa0lGQmhibVZzVUd4MVoybHVJSEpsWjJsemRHVnlaV1FnZG1saElHWjFibU4wYVc5dUlISmxaMmx6ZEdWeVUyTmxibVZRWVc1bGJGQnNkV2RwYmk1Y2JpQWdJQ292WEc0Z0lIQnNkV2RwYmtsa09pQnpkSEpwYm1jN1hHNGdJSFJwZEd4bE9pQnpkSEpwYm1jN1hHNGdJR1JsYzJOeWFYQjBhVzl1UHpvZ2MzUnlhVzVuTzF4dUlDQnZjSFJwYjI1ek9pQkVaV1Z3VUdGeWRHbGhiRHhVVDNCMGFXOXVjejQ3WEc0Z0lHWnBaV3hrUTI5dVptbG5PaUJHYVdWc1pFTnZibVpwWjFOdmRYSmpaVHhFWldWd1VHRnlkR2xoYkR4VVJtbGxiR1JEYjI1bWFXYytQanRjYmlBZ2NHeDFaMmx1Vm1WeWMybHZiajg2SUhOMGNtbHVaenRjYmlBZ1pHbHpjR3hoZVUxdlpHVS9PaUFuWkdWbVlYVnNkQ2NnZkNBbmRISmhibk53WVhKbGJuUW5PMXh1SUNBdktpcGNiaUFnSUNvZ1QyNXNlU0J6YUc5M2N5Qm9aV0ZrWlhJZ2IyNGdhRzkyWlhJc0lHRmljMjlzZFhSc2VTQndiM05wZEdsdmJtVmtJR0ZpYjNabElIUm9aU0J3WVc1bGJDNWNiaUFnSUNvdlhHNGdJR2h2ZG1WeVNHVmhaR1Z5UHpvZ1ltOXZiR1ZoYmp0Y2JpQWdMeW9xWEc0Z0lDQXFJRTltWm5ObGRDQm9iM1psY2tobFlXUmxjaUJ3YjNOcGRHbHZiaUJ2YmlCMGFHVWdlU0JoZUdselhHNGdJQ0FxTDF4dUlDQm9iM1psY2tobFlXUmxjazltWm5ObGREODZJRzUxYldKbGNqdGNiaUFnTHlvcVhHNGdJQ0FxSUU5dWJIa2djMmh2ZDNNZ2RtbDZVR0Z1Wld4TlpXNTFJRzl1SUdodmRtVnlJR2xtSUdaaGJITmxMQ0J2ZEdobGNuZHBjMlVnZEdobElHMWxiblVnYVhNZ1lXeDNZWGx6SUhacGMybGliR1VnYVc0Z2RHaGxJR2hsWVdSbGNseHVJQ0FnS2k5Y2JpQWdjMmh2ZDAxbGJuVkJiSGRoZVhNL09pQmliMjlzWldGdU8xeHVJQ0F2S2lwY2JpQWdJQ29nUkdWbWFXNWxjeUJoSUcxbGJuVWdhVzRnZEdobElIUnZjQ0J5YVdkb2RDQnZaaUIwYUdVZ2NHRnVaV3d1SUZSb1pTQnRaVzUxSUc5aWFtVmpkQ0JwY3lCdmJteDVJR0ZqZEdsMllYUmxaQ0IzYUdWdUlIUm9aU0JrY205d1pHOTNiaUJ0Wlc1MUlHbDBjMlZzWmlCcGN5QnphRzkzYmk1Y2JpQWdJQ29nVTI4Z2RHaGxJR0psYzNRZ2QyRjVJSFJ2SUdGa1pDQmtlVzVoYldsaklHMWxiblVnWVdOMGFXOXVjeUJoYm1RZ2JHbHVhM01nYVhNZ1lua2dZV1JrYVc1bklIUm9aVzBnYVc0Z1lTQmlaV2hoZG1sdmNpQmhkSFJoWTJobFpDQjBieUIwYUdVZ2JXVnVkUzVjYmlBZ0lDb3ZYRzRnSUcxbGJuVS9PaUJXYVhwUVlXNWxiRTFsYm5VN1hHNGdJQzhxS2x4dUlDQWdLaUJFWldacGJtVnpJR0VnYldWdWRTQjBhR0YwSUhKbGJtUmxjbk1nY0dGdVpXd2diR2x1YXk1Y2JpQWdJQ29xTDF4dUlDQjBhWFJzWlVsMFpXMXpQem9nVW1WaFkzUXVVbVZoWTNST2IyUmxJSHdnVTJObGJtVlBZbXBsWTNRZ2ZDQlRZMlZ1WlU5aWFtVmpkRnRkTzF4dUlDQnpaWEpwWlhOTWFXMXBkRDg2SUc1MWJXSmxjanRjYmlBZ2MyVnlhV1Z6VEdsdGFYUlRhRzkzUVd4c1B6b2dZbTl2YkdWaGJqdGNiaUFnTHlvcVhHNGdJQ0FxSUVGa1pDQmhZM1JwYjI0Z2RHOGdkR2hsSUhSdmNDQnlhV2RvZENCd1lXNWxiQ0JvWldGa1pYSmNiaUFnSUNvdlhHNGdJR2hsWVdSbGNrRmpkR2x2Ym5NL09pQlNaV0ZqZEM1U1pXRmpkRTV2WkdVZ2ZDQlRZMlZ1WlU5aWFtVmpkQ0I4SUZOalpXNWxUMkpxWldOMFcxMDdYRzRnSUM4cUtseHVJQ0FnS2lCTllXbHViSGtnWm05eUlHRmtkbUZ1WTJWa0lIVnpaU0JqWVhObGN5QjBhR0YwSUc1bFpXUWdZM1Z6ZEc5dElHaGhibVJzYVc1bklHOW1JRkJoYm1Wc1EyOXVkR1Y0ZENCallXeHNZbUZqYTNNdVhHNGdJQ0FxTDF4dUlDQmxlSFJsYm1SUVlXNWxiRU52Ym5SbGVIUS9PaUFvZG1sNlVHRnVaV3c2SUZacGVsQmhibVZzTENCamIyNTBaWGgwT2lCUVlXNWxiRU52Ym5SbGVIUXBJRDArSUhadmFXUTdYRzVjYmlBZ0x5b3FYRzRnSUNBcUlGTmxkSE1nY0dGdVpXd2dZMmh5YjIxbElHTnZiR3hoY0hObFpDQnpkR0YwWlZ4dUlDQWdLaTljYmlBZ1kyOXNiR0Z3YzJsaWJHVS9PaUJpYjI5c1pXRnVPMXh1SUNCamIyeHNZWEJ6WldRL09pQmliMjlzWldGdU8xeHVJQ0F2S2lwY2JpQWdJQ29nUUdsdWRHVnlibUZzWEc0Z0lDQXFJRTl1YkhrZ1ptOXlJSFZ6WlNCbWNtOXRJR052Y21VZ2RHOGdhR0Z1Wkd4bElHMXBaM0poZEdsdmJpQm1jbTl0SUc5c1pDQmhibWQxYkdGeUlIQmhibVZzYzF4dUlDQWdLaW92WEc0Z0lGOVZUbE5CUmtWZlkzVnpkRzl0VFdsbmNtRjBhVzl1U0dGdVpHeGxjajg2SUNod1lXNWxiRG9nVUdGdVpXeE5iMlJsYkN3Z2NHeDFaMmx1T2lCUVlXNWxiRkJzZFdkcGJpa2dQVDRnZG05cFpEdGNiaUFnTHlvcUlFbHVkR1Z5Ym1Gc0lDb3ZYRzRnSUY5d2JIVm5hVzVNYjJGa1JYSnliM0kvT2lCemRISnBibWM3WEc0Z0lDOHFLaUJKYm5SbGNtNWhiQ0FxTDF4dUlDQmZjR3gxWjJsdVNXNXpkR0Z1WTJWVGRHRjBaVDg2SUdGdWVUdGNiaUFnWDNKbGJtUmxja052ZFc1MFpYSS9PaUJ1ZFcxaVpYSTdYRzU5WEc1Y2JtVjRjRzl5ZENCamJHRnpjeUJXYVhwUVlXNWxiRHhVVDNCMGFXOXVjeUE5SUh0OUxDQlVSbWxsYkdSRGIyNW1hV2NnWlhoMFpXNWtjeUI3ZlNBOUlIdDlQaUJsZUhSbGJtUnpJRk5qWlc1bFQySnFaV04wUW1GelpUeGNiaUFnVm1sNlVHRnVaV3hUZEdGMFpUeFVUM0IwYVc5dWN5d2dWRVpwWld4a1EyOXVabWxuUGx4dVBpQjdYRzRnSUhCMVlteHBZeUJ6ZEdGMGFXTWdRMjl0Y0c5dVpXNTBJRDBnVm1sNlVHRnVaV3hTWlc1a1pYSmxjanRjYmx4dUlDQndjbTkwWldOMFpXUWdYM1poY21saFlteGxSR1Z3Wlc1a1pXNWplU0E5SUc1bGR5QldZWEpwWVdKc1pVUmxjR1Z1WkdWdVkzbERiMjVtYVdjb2RHaHBjeXdnZTF4dUlDQWdJSE4wWVhSbFVHRjBhSE02SUZzbmRHbDBiR1VuTENBbmIzQjBhVzl1Y3ljc0lDZG1hV1ZzWkVOdmJtWnBaeWRkTEZ4dUlDQjlLVHRjYmx4dUlDQXZMeUJPYjNRZ2NHRnlkQ0J2WmlCemRHRjBaU0JoY3lCMGFHbHpJR2x6SUc1dmRDQnpaWEpwWVd4cGVtRmliR1ZjYmlBZ2NISnZkR1ZqZEdWa0lGOXdZVzVsYkVOdmJuUmxlSFEvT2lCUVlXNWxiRU52Ym5SbGVIUTdYRzRnSUhCeWFYWmhkR1VnWDNCc2RXZHBiajg2SUZCaGJtVnNVR3gxWjJsdU8xeHVJQ0J3Y21sMllYUmxJRjl3Y21WMlJHRjBZVDg2SUZCaGJtVnNSR0YwWVR0Y2JpQWdjSEpwZG1GMFpTQmZaR0YwWVZkcGRHaEdhV1ZzWkVOdmJtWnBaejg2SUZCaGJtVnNSR0YwWVR0Y2JpQWdjSEpwZG1GMFpTQmZjM1J5ZFdOMGRYSmxVbVYyT2lCdWRXMWlaWElnUFNBd08xeHVYRzRnSUhCMVlteHBZeUJqYjI1emRISjFZM1J2Y2loemRHRjBaVG9nVUdGeWRHbGhiRHhXYVhwUVlXNWxiRk4wWVhSbFBGUlBjSFJwYjI1ekxDQlVSbWxsYkdSRGIyNW1hV2MrUGlrZ2UxeHVJQ0FnSUhOMWNHVnlLSHRjYmlBZ0lDQWdJRzl3ZEdsdmJuTTZJSHQ5SUdGeklGUlBjSFJwYjI1ekxGeHVJQ0FnSUNBZ1ptbGxiR1JEYjI1bWFXYzZJSHNnWkdWbVlYVnNkSE02SUh0OUxDQnZkbVZ5Y21sa1pYTTZJRnRkSUgwc1hHNGdJQ0FnSUNCMGFYUnNaVG9nSjFScGRHeGxKeXhjYmlBZ0lDQWdJSEJzZFdkcGJrbGtPaUFuZEdsdFpYTmxjbWxsY3ljc1hHNGdJQ0FnSUNCZmNtVnVaR1Z5UTI5MWJuUmxjam9nTUN4Y2JpQWdJQ0FnSUM0dUxuTjBZWFJsTEZ4dUlDQWdJSDBwTzF4dVhHNGdJQ0FnZEdocGN5NWhaR1JCWTNScGRtRjBhVzl1U0dGdVpHeGxjaWdvS1NBOVBpQjdYRzRnSUNBZ0lDQjBhR2x6TGw5dmJrRmpkR2wyWVhSbEtDazdYRzRnSUNBZ2ZTazdYRzVjYmlBZ0lDQnpkR0YwWlM1dFpXNTFQeTVoWkdSQlkzUnBkbUYwYVc5dVNHRnVaR3hsY2lnb0tTQTlQaUI3WEc0Z0lDQWdJQ0IwYUdsekxuQjFZbXhwYzJoRmRtVnVkQ2h1WlhjZ1ZYTmxja0ZqZEdsdmJrVjJaVzUwS0hzZ2IzSnBaMmx1T2lCMGFHbHpMQ0JwYm5SbGNtRmpkR2x2YmpvZ0ozQmhibVZzTFcxbGJuVXRjMmh2ZDI0bklIMHBMQ0IwY25WbEtUdGNiaUFnSUNCOUtUdGNiaUFnZlZ4dVhHNGdJSEJ5YVhaaGRHVWdYMjl1UVdOMGFYWmhkR1VvS1NCN1hHNGdJQ0FnYVdZZ0tDRjBhR2x6TGw5d2JIVm5hVzRwSUh0Y2JpQWdJQ0FnSUhSb2FYTXVYMnh2WVdSUWJIVm5hVzRvZEdocGN5NXpkR0YwWlM1d2JIVm5hVzVKWkNrN1hHNGdJQ0FnZlZ4dUlDQjlYRzVjYmlBZ2NIVmliR2xqSUdadmNtTmxVbVZ1WkdWeUtDazZJSFp2YVdRZ2UxeHVJQ0FnSUM4dklFbHVZM0psYldWdWRHbHVaeUIwYUdVZ2NtVnVaR1Z5SUdOdmRXNTBaWElnYldWaGJuTWdWbWw2VW1Wd1pXRjBaWElnWVc1a0lHbDBjeUJqYUdsc1pISmxiaUIzYVd4c0lHRnNjMjhnY21VdGNtVnVaR1Z5WEc0Z0lDQWdkR2hwY3k1elpYUlRkR0YwWlNoN0lGOXlaVzVrWlhKRGIzVnVkR1Z5T2lBb2RHaHBjeTV6ZEdGMFpTNWZjbVZ1WkdWeVEyOTFiblJsY2lBL1B5QXdLU0FySURFZ2ZTazdYRzRnSUgxY2JseHVJQ0J3Y21sMllYUmxJR0Z6ZVc1aklGOXNiMkZrVUd4MVoybHVLRnh1SUNBZ0lIQnNkV2RwYmtsa09pQnpkSEpwYm1jc1hHNGdJQ0FnYjNabGNuZHlhWFJsVDNCMGFXOXVjejg2SUVSbFpYQlFZWEowYVdGc1BIdDlQaXhjYmlBZ0lDQnZkbVZ5ZDNKcGRHVkdhV1ZzWkVOdmJtWnBaejg2SUVacFpXeGtRMjl1Wm1sblUyOTFjbU5sTEZ4dUlDQWdJR2x6UVdaMFpYSlFiSFZuYVc1RGFHRnVaMlUvT2lCaWIyOXNaV0Z1WEc0Z0lDa2dlMXh1SUNBZ0lHTnZibk4wSUhCc2RXZHBiaUE5SUd4dllXUlFZVzVsYkZCc2RXZHBibE41Ym1Nb2NHeDFaMmx1U1dRcE8xeHVYRzRnSUNBZ2FXWWdLSEJzZFdkcGJpa2dlMXh1SUNBZ0lDQWdkR2hwY3k1ZmNHeDFaMmx1VEc5aFpHVmtLSEJzZFdkcGJpd2diM1psY25keWFYUmxUM0IwYVc5dWN5d2diM1psY25keWFYUmxSbWxsYkdSRGIyNW1hV2NzSUdselFXWjBaWEpRYkhWbmFXNURhR0Z1WjJVcE8xeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0JqYjI1emRDQjdJR2x0Y0c5eWRGQmhibVZzVUd4MVoybHVJSDBnUFNCblpYUlFiSFZuYVc1SmJYQnZjblJWZEdsc2N5Z3BPMXh1WEc0Z0lDQWdJQ0IwY25rZ2UxeHVJQ0FnSUNBZ0lDQmpiMjV6ZENCeVpYTjFiSFFnUFNCaGQyRnBkQ0JwYlhCdmNuUlFZVzVsYkZCc2RXZHBiaWh3YkhWbmFXNUpaQ2s3WEc0Z0lDQWdJQ0FnSUhSb2FYTXVYM0JzZFdkcGJreHZZV1JsWkNoeVpYTjFiSFFzSUc5MlpYSjNjbWwwWlU5d2RHbHZibk1zSUc5MlpYSjNjbWwwWlVacFpXeGtRMjl1Wm1sbkxDQnBjMEZtZEdWeVVHeDFaMmx1UTJoaGJtZGxLVHRjYmlBZ0lDQWdJSDBnWTJGMFkyZ2dLR1Z5Y2pvZ2RXNXJibTkzYmlrZ2UxeHVJQ0FnSUNBZ0lDQjBhR2x6TGw5d2JIVm5hVzVNYjJGa1pXUW9aMlYwVUdGdVpXeFFiSFZuYVc1T2IzUkdiM1Z1WkNod2JIVm5hVzVKWkNrcE8xeHVYRzRnSUNBZ0lDQWdJR2xtSUNobGNuSWdhVzV6ZEdGdVkyVnZaaUJGY25KdmNpa2dlMXh1SUNBZ0lDQWdJQ0FnSUhSb2FYTXVjMlYwVTNSaGRHVW9leUJmY0d4MVoybHVURzloWkVWeWNtOXlPaUJsY25JdWJXVnpjMkZuWlNCOUtUdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdmVnh1SUNBZ0lIMWNiaUFnZlZ4dVhHNGdJSEIxWW14cFl5Qm5aWFJNWldkaFkzbFFZVzVsYkVsa0tDa2dlMXh1SUNBZ0lHTnZibk4wSUhCaGJtVnNTV1FnUFNCd1lYSnpaVWx1ZENoMGFHbHpMbk4wWVhSbExtdGxlU0V1Y21Wd2JHRmpaU2duY0dGdVpXd3RKeXdnSnljcExDQXhNQ2s3WEc0Z0lDQWdhV1lnS0dselRtRk9LSEJoYm1Wc1NXUXBLU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdNRHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnlaWFIxY200Z2NHRnVaV3hKWkR0Y2JpQWdmVnh1WEc0Z0lIQnlhWFpoZEdVZ1lYTjVibU1nWDNCc2RXZHBia3h2WVdSbFpDaGNiaUFnSUNCd2JIVm5hVzQ2SUZCaGJtVnNVR3gxWjJsdUxGeHVJQ0FnSUc5MlpYSjNjbWwwWlU5d2RHbHZibk0vT2lCRVpXVndVR0Z5ZEdsaGJEeDdmVDRzWEc0Z0lDQWdiM1psY25keWFYUmxSbWxsYkdSRGIyNW1hV2MvT2lCR2FXVnNaRU52Ym1acFoxTnZkWEpqWlN4Y2JpQWdJQ0JwYzBGbWRHVnlVR3gxWjJsdVEyaGhibWRsUHpvZ1ltOXZiR1ZoYmx4dUlDQXBJSHRjYmlBZ0lDQmpiMjV6ZENCN0lHOXdkR2x2Ym5Nc0lHWnBaV3hrUTI5dVptbG5MQ0IwYVhSc1pTd2djR3gxWjJsdVZtVnljMmx2Yml3Z1gxVk9VMEZHUlY5amRYTjBiMjFOYVdkeVlYUnBiMjVJWVc1a2JHVnlJSDBnUFNCMGFHbHpMbk4wWVhSbE8xeHVYRzRnSUNBZ1kyOXVjM1FnY0dGdVpXdzZJRkJoYm1Wc1RXOWtaV3dnUFNCN1hHNGdJQ0FnSUNCMGFYUnNaU3hjYmlBZ0lDQWdJRzl3ZEdsdmJuTXNYRzRnSUNBZ0lDQm1hV1ZzWkVOdmJtWnBaeXhjYmlBZ0lDQWdJR2xrT2lCMGFHbHpMbWRsZEV4bFoyRmplVkJoYm1Wc1NXUW9LU3hjYmlBZ0lDQWdJSFI1Y0dVNklIQnNkV2RwYmk1dFpYUmhMbWxrTEZ4dUlDQWdJQ0FnY0d4MVoybHVWbVZ5YzJsdmJqb2djR3gxWjJsdVZtVnljMmx2Yml4Y2JpQWdJQ0I5TzF4dVhHNGdJQ0FnYVdZZ0tHOTJaWEozY21sMFpVOXdkR2x2Ym5NcElIdGNiaUFnSUNBZ0lIQmhibVZzTG05d2RHbHZibk1nUFNCdmRtVnlkM0pwZEdWUGNIUnBiMjV6TzF4dUlDQWdJSDFjYmx4dUlDQWdJR2xtSUNodmRtVnlkM0pwZEdWR2FXVnNaRU52Ym1acFp5a2dlMXh1SUNBZ0lDQWdjR0Z1Wld3dVptbGxiR1JEYjI1bWFXY2dQU0J2ZG1WeWQzSnBkR1ZHYVdWc1pFTnZibVpwWnp0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JqYjI1emRDQmpkWEp5Wlc1MFZtVnljMmx2YmlBOUlIUm9hWE11WDJkbGRGQnNkV2RwYmxabGNuTnBiMjRvY0d4MVoybHVLVHRjYmx4dUlDQWdJRjlWVGxOQlJrVmZZM1Z6ZEc5dFRXbG5jbUYwYVc5dVNHRnVaR3hsY2o4dUtIQmhibVZzTENCd2JIVm5hVzRwTzF4dVhHNGdJQ0FnYVdZZ0tIQnNkV2RwYmk1dmJsQmhibVZzVFdsbmNtRjBhVzl1SUNZbUlHTjFjbkpsYm5SV1pYSnphVzl1SUNFOVBTQndiSFZuYVc1V1pYSnphVzl1SUNZbUlDRnBjMEZtZEdWeVVHeDFaMmx1UTJoaGJtZGxLU0I3WEc0Z0lDQWdJQ0F2THlCVWFHVnpaU0J0YVdkeVlYUnBiMjRnYUdGdVpHeGxjbk1nWVd4emJ5QnRkWFJoZEdVZ2NHRnVaV3d1Wm1sbGJHUkRiMjVtYVdjZ2RHOGdiV2xuY21GMFpTQm1hV1ZzWkVOdmJtWnBaMXh1SUNBZ0lDQWdjR0Z1Wld3dWIzQjBhVzl1Y3lBOUlHRjNZV2wwSUhCc2RXZHBiaTV2YmxCaGJtVnNUV2xuY21GMGFXOXVLSEJoYm1Wc0tUdGNiaUFnSUNCOVhHNWNiaUFnSUNCamIyNXpkQ0IzYVhSb1JHVm1ZWFZzZEhNZ1BTQm5aWFJRWVc1bGJFOXdkR2x2Ym5OWGFYUm9SR1ZtWVhWc2RITW9lMXh1SUNBZ0lDQWdjR3gxWjJsdUxGeHVJQ0FnSUNBZ1kzVnljbVZ1ZEU5d2RHbHZibk02SUhCaGJtVnNMbTl3ZEdsdmJuTXNYRzRnSUNBZ0lDQmpkWEp5Wlc1MFJtbGxiR1JEYjI1bWFXYzZJSEJoYm1Wc0xtWnBaV3hrUTI5dVptbG5MRnh1SUNBZ0lDQWdhWE5CWm5SbGNsQnNkV2RwYmtOb1lXNW5aVG9nYVhOQlpuUmxjbEJzZFdkcGJrTm9ZVzVuWlNBL1B5Qm1ZV3h6WlN4Y2JpQWdJQ0I5S1R0Y2JseHVJQ0FnSUhSb2FYTXVYM0JzZFdkcGJpQTlJSEJzZFdkcGJqdGNibHh1SUNBZ0lIUm9hWE11YzJWMFUzUmhkR1VvZTF4dUlDQWdJQ0FnYjNCMGFXOXVjem9nZDJsMGFFUmxabUYxYkhSekxtOXdkR2x2Ym5NZ1lYTWdSR1ZsY0ZCaGNuUnBZV3c4VkU5d2RHbHZibk0rTEZ4dUlDQWdJQ0FnWm1sbGJHUkRiMjVtYVdjNklIZHBkR2hFWldaaGRXeDBjeTVtYVdWc1pFTnZibVpwWnl4Y2JpQWdJQ0FnSUhCc2RXZHBibFpsY25OcGIyNDZJR04xY25KbGJuUldaWEp6YVc5dUxGeHVJQ0FnSUNBZ2NHeDFaMmx1U1dRNklIQnNkV2RwYmk1dFpYUmhMbWxrTEZ4dUlDQWdJSDBwTzF4dVhHNGdJQ0FnTHk4Z1RtOXVJR1JoZEdFZ2NHRnVaV3h6SUc1bFpXUnpJSFJ2SUdKbElISmxMWEpsYm1SbGNtVmtJSGRvWlc0Z2RHbHRaU0J5WVc1blpTQmphR0Z1WjJWY2JpQWdJQ0JwWmlBb2NHeDFaMmx1TG0xbGRHRXVjMnRwY0VSaGRHRlJkV1Z5ZVNrZ2UxeHVJQ0FnSUNBZ1kyOXVjM1FnYzJObGJtVlVhVzFsVW1GdVoyVWdQU0J6WTJWdVpVZHlZWEJvTG1kbGRGUnBiV1ZTWVc1blpTaDBhR2x6S1R0Y2JpQWdJQ0FnSUhSb2FYTXVYM04xWW5NdVlXUmtLSE5qWlc1bFZHbHRaVkpoYm1kbExuTjFZbk5qY21saVpWUnZVM1JoZEdVb0tDa2dQVDRnZEdocGN5NW1iM0pqWlZKbGJtUmxjaWdwS1NrN1hHNGdJQ0FnZlZ4dUlDQjlYRzVjYmlBZ2NISnBkbUYwWlNCZloyVjBVR3gxWjJsdVZtVnljMmx2Ymlod2JIVm5hVzQ2SUZCaGJtVnNVR3gxWjJsdUtUb2djM1J5YVc1bklIdGNiaUFnSUNCeVpYUjFjbTRnY0d4MVoybHVJQ1ltSUhCc2RXZHBiaTV0WlhSaExtbHVabTh1ZG1WeWMybHZiaUEvSUhCc2RXZHBiaTV0WlhSaExtbHVabTh1ZG1WeWMybHZiaUE2SUdOdmJtWnBaeTVpZFdsc1pFbHVabTh1ZG1WeWMybHZianRjYmlBZ2ZWeHVYRzRnSUhCMVlteHBZeUJuWlhSUWJIVm5hVzRvS1RvZ1VHRnVaV3hRYkhWbmFXNGdmQ0IxYm1SbFptbHVaV1FnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TGw5d2JIVm5hVzQ3WEc0Z0lIMWNibHh1SUNCd2RXSnNhV01nWjJWMFVHRnVaV3hEYjI1MFpYaDBLQ2s2SUZCaGJtVnNRMjl1ZEdWNGRDQjdYRzRnSUNBZ2RHaHBjeTVmY0dGdVpXeERiMjUwWlhoMElEOC9QU0IwYUdsekxtSjFhV3hrVUdGdVpXeERiMjUwWlhoMEtDazdYRzVjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVmY0dGdVpXeERiMjUwWlhoMElUdGNiaUFnZlZ4dVhHNGdJSEIxWW14cFl5QnZibFJwYldWU1lXNW5aVU5vWVc1blpTQTlJQ2gwYVcxbFVtRnVaMlU2SUVGaWMyOXNkWFJsVkdsdFpWSmhibWRsS1NBOVBpQjdYRzRnSUNBZ1kyOXVjM1FnYzJObGJtVlVhVzFsVW1GdVoyVWdQU0J6WTJWdVpVZHlZWEJvTG1kbGRGUnBiV1ZTWVc1blpTaDBhR2x6S1R0Y2JpQWdJQ0J6WTJWdVpWUnBiV1ZTWVc1blpTNXZibFJwYldWU1lXNW5aVU5vWVc1blpTaDdYRzRnSUNBZ0lDQnlZWGM2SUh0Y2JpQWdJQ0FnSUNBZ1puSnZiVG9nZEc5VmRHTW9kR2x0WlZKaGJtZGxMbVp5YjIwcExGeHVJQ0FnSUNBZ0lDQjBiem9nZEc5VmRHTW9kR2x0WlZKaGJtZGxMblJ2S1N4Y2JpQWdJQ0FnSUgwc1hHNGdJQ0FnSUNCbWNtOXRPaUIwYjFWMFl5aDBhVzFsVW1GdVoyVXVabkp2YlNrc1hHNGdJQ0FnSUNCMGJ6b2dkRzlWZEdNb2RHbHRaVkpoYm1kbExuUnZLU3hjYmlBZ0lDQjlLVHRjYmlBZ2ZUdGNibHh1SUNCd2RXSnNhV01nWjJWMFZHbHRaVkpoYm1kbElEMGdLR1JoZEdFL09pQlFZVzVsYkVSaGRHRXBJRDArSUh0Y2JpQWdJQ0JqYjI1emRDQnNhWFpsVG05M1ZHbHRaWElnUFNCelkyVnVaVWR5WVhCb0xtWnBibVJQWW1wbFkzUW9kR2hwY3l3Z0tHOHBJRDArSUc4Z2FXNXpkR0Z1WTJWdlppQk1hWFpsVG05M1ZHbHRaWElwTzF4dUlDQWdJR052Ym5OMElITmpaVzVsVkdsdFpWSmhibWRsSUQwZ2MyTmxibVZIY21Gd2FDNW5aWFJVYVcxbFVtRnVaMlVvZEdocGN5azdYRzRnSUNBZ2FXWWdLR3hwZG1WT2IzZFVhVzFsY2lCcGJuTjBZVzVqWlc5bUlFeHBkbVZPYjNkVWFXMWxjaUFtSmlCc2FYWmxUbTkzVkdsdFpYSXVhWE5GYm1GaWJHVmtLU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdaWFpoYkhWaGRHVlVhVzFsVW1GdVoyVW9YRzRnSUNBZ0lDQWdJSE5qWlc1bFZHbHRaVkpoYm1kbExuTjBZWFJsTG1aeWIyMHNYRzRnSUNBZ0lDQWdJSE5qWlc1bFZHbHRaVkpoYm1kbExuTjBZWFJsTG5SdkxGeHVJQ0FnSUNBZ0lDQnpZMlZ1WlZScGJXVlNZVzVuWlM1blpYUlVhVzFsV205dVpTZ3BMRnh1SUNBZ0lDQWdJQ0J6WTJWdVpWUnBiV1ZTWVc1blpTNXpkR0YwWlM1bWFYTmpZV3haWldGeVUzUmhjblJOYjI1MGFDeGNiaUFnSUNBZ0lDQWdjMk5sYm1WVWFXMWxVbUZ1WjJVdWMzUmhkR1V1VlU1VFFVWkZYMjV2ZDBSbGJHRjVYRzRnSUNBZ0lDQXBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHTnZibk4wSUhCc2RXZHBiaUE5SUhSb2FYTXVaMlYwVUd4MVoybHVLQ2s3WEc0Z0lDQWdhV1lnS0hCc2RXZHBiaUFtSmlBaGNHeDFaMmx1TG0xbGRHRXVjMnRwY0VSaGRHRlJkV1Z5ZVNBbUppQmtZWFJoSUNZbUlHUmhkR0V1ZEdsdFpWSmhibWRsS1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnWkdGMFlTNTBhVzFsVW1GdVoyVTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUhOalpXNWxWR2x0WlZKaGJtZGxMbk4wWVhSbExuWmhiSFZsTzF4dUlDQjlPMXh1WEc0Z0lIQjFZbXhwWXlCaGMzbHVZeUJqYUdGdVoyVlFiSFZuYVc1VWVYQmxLSEJzZFdkcGJrbGtPaUJ6ZEhKcGJtY3NJRzVsZDA5d2RHbHZibk0vT2lCRVpXVndVR0Z5ZEdsaGJEeDdmVDRzSUc1bGQwWnBaV3hrUTI5dVptbG5Qem9nUm1sbGJHUkRiMjVtYVdkVGIzVnlZMlVwSUh0Y2JpQWdJQ0JqYjI1emRDQjdJRzl3ZEdsdmJuTTZJSEJ5WlhaUGNIUnBiMjV6TENCbWFXVnNaRU52Ym1acFp6b2djSEpsZGtacFpXeGtRMjl1Wm1sbkxDQndiSFZuYVc1SlpEb2djSEpsZGxCc2RXZHBia2xrSUgwZ1BTQjBhR2x6TG5OMFlYUmxPMXh1WEc0Z0lDQWdMeTlqYkdWaGNpQm1hV1ZzWkNCamIyNW1hV2NnWTJGamFHVWdkRzhnZFhCa1lYUmxJR2wwSUd4aGRHVnlYRzRnSUNBZ2RHaHBjeTVmWkdGMFlWZHBkR2hHYVdWc1pFTnZibVpwWnlBOUlIVnVaR1ZtYVc1bFpEdGNibHh1SUNBZ0lDOHZJRWxtSUhOMFlYUmxMbkJzZFdkcGJrbGtJR2x6SUdGc2NtVmhaSGtnZEdobElHTnZjbkpsWTNRZ2NHeDFaMmx1SUhkbElHUnZiaWQwSUhSeVpXRjBJSFJvYVhNZ1lYTWdjR3hoYVc0Z2RYTmxjaUJ3WVc1bGJDQjBlWEJsSUdOb1lXNW5aVnh1SUNBZ0lHTnZibk4wSUdselFXWjBaWEpRYkhWbmFXNURhR0Z1WjJVZ1BTQjBhR2x6TG5OMFlYUmxMbkJzZFdkcGJrbGtJQ0U5UFNCd2JIVm5hVzVKWkR0Y2JpQWdJQ0JoZDJGcGRDQjBhR2x6TGw5c2IyRmtVR3gxWjJsdUtIQnNkV2RwYmtsa0xDQnVaWGRQY0hScGIyNXpJRDgvSUh0OUxDQnVaWGRHYVdWc1pFTnZibVpwWnl3Z2FYTkJablJsY2xCc2RXZHBia05vWVc1blpTazdYRzVjYmlBZ0lDQmpiMjV6ZENCd1lXNWxiRG9nVUdGdVpXeE5iMlJsYkNBOUlIdGNiaUFnSUNBZ0lIUnBkR3hsT2lCMGFHbHpMbk4wWVhSbExuUnBkR3hsTEZ4dUlDQWdJQ0FnYjNCMGFXOXVjem9nZEdocGN5NXpkR0YwWlM1dmNIUnBiMjV6TEZ4dUlDQWdJQ0FnWm1sbGJHUkRiMjVtYVdjNklIUm9hWE11YzNSaGRHVXVabWxsYkdSRGIyNW1hV2NzWEc0Z0lDQWdJQ0JwWkRvZ01TeGNiaUFnSUNBZ0lIUjVjR1U2SUhCc2RXZHBia2xrTEZ4dUlDQWdJSDA3WEc1Y2JpQWdJQ0F2THlCdmJsQmhibVZzVkhsd1pVTm9ZVzVuWldRZ2FYTWdiV0ZwYm14NUlIVnpaV1FnWW5rZ2NHeDFaMmx1Y3lCMGJ5QnRhV2R5WVhSbElHWnliMjBnUVc1bmRXeGhjaUIwYnlCU1pXRmpkQzVjYmlBZ0lDQXZMeUJHYjNJZ1pYaGhiWEJzWlN3Z2RHaHBjeUIzYVd4c0lHMXBaM0poZEdVZ2IzQjBhVzl1Y3lCbWNtOXRJQ2RuY21Gd2FDY2dkRzhnSjNScGJXVnpaWEpwWlhNbklHbG1JSFJvWlNCd2NtVjJhVzkxY3lCaGJtUWdibVYzSUhCc2RXZHBiaUJKUkNCdFlYUmphR1Z6TGx4dUlDQWdJR052Ym5OMElIVndaR0YwWldSUGNIUnBiMjV6SUQwZ2RHaHBjeTVmY0d4MVoybHVQeTV2YmxCaGJtVnNWSGx3WlVOb1lXNW5aV1EvTGlod1lXNWxiQ3dnY0hKbGRsQnNkV2RwYmtsa0xDQndjbVYyVDNCMGFXOXVjeXdnY0hKbGRrWnBaV3hrUTI5dVptbG5LVHRjYmx4dUlDQWdJR2xtSUNoMWNHUmhkR1ZrVDNCMGFXOXVjeUFtSmlBaGFYTkZiWEIwZVNoMWNHUmhkR1ZrVDNCMGFXOXVjeWtwSUh0Y2JpQWdJQ0FnSUhSb2FYTXViMjVQY0hScGIyNXpRMmhoYm1kbEtIVndaR0YwWldSUGNIUnBiMjV6TENCMGNuVmxMQ0IwY25WbEtUdGNiaUFnSUNCOVhHNGdJSDFjYmx4dUlDQndkV0pzYVdNZ2IyNVVhWFJzWlVOb1lXNW5aU0E5SUNoMGFYUnNaVG9nYzNSeWFXNW5LU0E5UGlCN1hHNGdJQ0FnZEdocGN5NXpaWFJUZEdGMFpTaDdJSFJwZEd4bElIMHBPMXh1SUNCOU8xeHVYRzRnSUhCMVlteHBZeUJ2YmtSbGMyTnlhWEIwYVc5dVEyaGhibWRsSUQwZ0tHUmxjMk55YVhCMGFXOXVPaUJ6ZEhKcGJtY3BJRDArSUh0Y2JpQWdJQ0IwYUdsekxuTmxkRk4wWVhSbEtIc2daR1Z6WTNKcGNIUnBiMjRnZlNrN1hHNGdJSDA3WEc1Y2JpQWdjSFZpYkdsaklHOXVSR2x6Y0d4aGVVMXZaR1ZEYUdGdVoyVWdQU0FvWkdsemNHeGhlVTF2WkdVNklDZGtaV1poZFd4MEp5QjhJQ2QwY21GdWMzQmhjbVZ1ZENjcElEMCtJSHRjYmlBZ0lDQjBhR2x6TG5ObGRGTjBZWFJsS0hzZ1pHbHpjR3hoZVUxdlpHVWdmU2s3WEc0Z0lIMDdYRzVjYmlBZ2NIVmliR2xqSUc5dVZHOW5aMnhsUTI5c2JHRndjMlVnUFNBb1kyOXNiR0Z3YzJWa09pQmliMjlzWldGdUtTQTlQaUI3WEc0Z0lDQWdkR2hwY3k1elpYUlRkR0YwWlNoN1hHNGdJQ0FnSUNCamIyeHNZWEJ6WldRc1hHNGdJQ0FnZlNrN1hHNGdJSDA3WEc1Y2JpQWdjSFZpYkdsaklHOXVUM0IwYVc5dWMwTm9ZVzVuWlNBOUlDaHZjSFJwYjI1elZYQmtZWFJsT2lCRVpXVndVR0Z5ZEdsaGJEeFVUM0IwYVc5dWN6NHNJSEpsY0d4aFkyVWdQU0JtWVd4elpTd2dhWE5CWm5SbGNsQnNkV2RwYmtOb1lXNW5aU0E5SUdaaGJITmxLU0E5UGlCN1hHNGdJQ0FnWTI5dWMzUWdleUJtYVdWc1pFTnZibVpwWnl3Z2IzQjBhVzl1Y3lCOUlEMGdkR2hwY3k1emRHRjBaVHRjYmx4dUlDQWdJQzh2SUZkb1pXNGdjbVZ3YkdGalpTQnBjeUIwY25WbExDQjNaU0IzWVc1MElIUnZJSEpsY0d4aFkyVWdkR2hsSUdWdWRHbHlaU0J2Y0hScGIyNXpJRzlpYW1WamRDNGdSR1ZtWVhWc2RDQjNhV3hzSUdKbElHRndjR3hwWldRdVhHNGdJQ0FnWTI5dWMzUWdibVY0ZEU5d2RHbHZibk1nUFNCeVpYQnNZV05sWEc0Z0lDQWdJQ0EvSUc5d2RHbHZibk5WY0dSaGRHVmNiaUFnSUNBZ0lEb2diV1Z5WjJWWGFYUm9LR05zYjI1bFJHVmxjQ2h2Y0hScGIyNXpLU3dnYjNCMGFXOXVjMVZ3WkdGMFpTd2dLRzlpYWxaaGJIVmxMQ0J6Y21OV1lXeDFaU3dnYTJWNUxDQnZZbW9wSUQwK0lIdGNiaUFnSUNBZ0lDQWdJQ0JwWmlBb2FYTkJjbkpoZVNoemNtTldZV3gxWlNrcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJ6Y21OV1lXeDFaVHRjYmlBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lDQWdMeThnU1dZZ1kzVnpkRzl0YVhwbGNpQnlaWFIxY201eklIVnVaR1ZtYVc1bFpDd2diV1Z5WjJsdVp5QnBjeUJvWVc1a2JHVmtJR0o1SUhSb1pTQnRaWFJvYjJRZ2FXNXpkR1ZoWkZ4dUlDQWdJQ0FnSUNBZ0lDOHZJSE52SUhkbElHNWxaV1FnZEc4Z2IzWmxjbkpwWkdVZ2RHaGxJSFpoYkhWbElHbHVJSFJvWlNCdlltcGxZM1FnYVc1emRHVmhaRnh1SUNBZ0lDQWdJQ0FnSUdsbUlDaHZZbXBXWVd4MVpTQWhQVDBnYzNKalZtRnNkV1VnSmlZZ2RIbHdaVzltSUhOeVkxWmhiSFZsSUQwOVBTQW5kVzVrWldacGJtVmtKeWtnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdiMkpxVzJ0bGVWMGdQU0J6Y21OV1lXeDFaVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5Ymp0Y2JpQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJQ0FnY21WMGRYSnVPMXh1SUNBZ0lDQWdJQ0I5S1R0Y2JseHVJQ0FnSUdOdmJuTjBJSGRwZEdoRVpXWmhkV3gwY3lBOUlHZGxkRkJoYm1Wc1QzQjBhVzl1YzFkcGRHaEVaV1poZFd4MGN5aDdYRzRnSUNBZ0lDQndiSFZuYVc0NklIUm9hWE11WDNCc2RXZHBiaUVzWEc0Z0lDQWdJQ0JqZFhKeVpXNTBUM0IwYVc5dWN6b2dibVY0ZEU5d2RHbHZibk1zWEc0Z0lDQWdJQ0JqZFhKeVpXNTBSbWxsYkdSRGIyNW1hV2M2SUdacFpXeGtRMjl1Wm1sbkxGeHVJQ0FnSUNBZ2FYTkJablJsY2xCc2RXZHBia05vWVc1blpUb2dhWE5CWm5SbGNsQnNkV2RwYmtOb1lXNW5aU3hjYmlBZ0lDQjlLVHRjYmx4dUlDQWdJSFJvYVhNdWMyVjBVM1JoZEdVb2UxeHVJQ0FnSUNBZ2IzQjBhVzl1Y3pvZ2QybDBhRVJsWm1GMWJIUnpMbTl3ZEdsdmJuTWdZWE1nUkdWbGNGQmhjblJwWVd3OFZFOXdkR2x2Ym5NK0xGeHVJQ0FnSUNBZ1gzSmxibVJsY2tOdmRXNTBaWEk2SUNoMGFHbHpMbk4wWVhSbExsOXlaVzVrWlhKRGIzVnVkR1Z5SUQ4L0lEQXBJQ3NnTVN4Y2JpQWdJQ0I5S1R0Y2JpQWdmVHRjYmx4dUlDQndkV0pzYVdNZ2IyNUdhV1ZzWkVOdmJtWnBaME5vWVc1blpTQTlJQ2htYVdWc1pFTnZibVpwWjFWd1pHRjBaVG9nUm1sbGJHUkRiMjVtYVdkVGIzVnlZMlU4UkdWbGNGQmhjblJwWVd3OFZFWnBaV3hrUTI5dVptbG5QajRzSUhKbGNHeGhZMlUvT2lCaWIyOXNaV0Z1S1NBOVBpQjdYRzRnSUNBZ1kyOXVjM1FnZXlCbWFXVnNaRU52Ym1acFp5d2diM0IwYVc5dWN5QjlJRDBnZEdocGN5NXpkR0YwWlR0Y2JseHVJQ0FnSUM4dklGZG9aVzRnY21Wd2JHRmpaU0JwY3lCMGNuVmxMQ0IzWlNCM1lXNTBJSFJ2SUhKbGNHeGhZMlVnZEdobElHVnVkR2x5WlNCbWFXVnNaQ0JqYjI1bWFXY3VJRVJsWm1GMWJIUWdkMmxzYkNCaVpTQmhjSEJzYVdWa0xseHVJQ0FnSUdOdmJuTjBJRzVsZUhSR2FXVnNaRU52Ym1acFp5QTlJSEpsY0d4aFkyVWdQeUJtYVdWc1pFTnZibVpwWjFWd1pHRjBaU0E2SUcxbGNtZGxLR05zYjI1bFJHVmxjQ2htYVdWc1pFTnZibVpwWnlrc0lHWnBaV3hrUTI5dVptbG5WWEJrWVhSbEtUdGNibHh1SUNBZ0lHTnZibk4wSUhkcGRHaEVaV1poZFd4MGN5QTlJR2RsZEZCaGJtVnNUM0IwYVc5dWMxZHBkR2hFWldaaGRXeDBjeWg3WEc0Z0lDQWdJQ0J3YkhWbmFXNDZJSFJvYVhNdVgzQnNkV2RwYmlFc1hHNGdJQ0FnSUNCamRYSnlaVzUwVDNCMGFXOXVjem9nYjNCMGFXOXVjeXhjYmlBZ0lDQWdJR04xY25KbGJuUkdhV1ZzWkVOdmJtWnBaem9nYm1WNGRFWnBaV3hrUTI5dVptbG5MRnh1SUNBZ0lDQWdhWE5CWm5SbGNsQnNkV2RwYmtOb1lXNW5aVG9nWm1Gc2MyVXNYRzRnSUNBZ2ZTazdYRzVjYmlBZ0lDQjBhR2x6TGw5a1lYUmhWMmwwYUVacFpXeGtRMjl1Wm1sbklEMGdkVzVrWldacGJtVmtPMXh1SUNBZ0lIUm9hWE11YzJWMFUzUmhkR1VvZXlCbWFXVnNaRU52Ym1acFp6b2dkMmwwYUVSbFptRjFiSFJ6TG1acFpXeGtRMjl1Wm1sbklIMHBPMXh1SUNCOU8xeHVYRzRnSUhCMVlteHBZeUJwYm5SbGNuQnZiR0YwWlNBOUlDZ29kbUZzZFdVNklITjBjbWx1Wnl3Z2MyTnZjR1ZrUHpvZ1UyTnZjR1ZrVm1GeWN5d2dabTl5YldGMFB6b2djM1J5YVc1bklId2dWbUZ5YVdGaWJHVkRkWE4wYjIxR2IzSnRZWFIwWlhKR2Jpa2dQVDRnZTF4dUlDQWdJSEpsZEhWeWJpQnpZMlZ1WlVkeVlYQm9MbWx1ZEdWeWNHOXNZWFJsS0hSb2FYTXNJSFpoYkhWbExDQnpZMjl3WldRc0lHWnZjbTFoZENrN1hHNGdJSDBwSUdGeklFbHVkR1Z5Y0c5c1lYUmxSblZ1WTNScGIyNDdYRzVjYmlBZ2NIVmliR2xqSUdkbGRFUmxjMk55YVhCMGFXOXVJRDBnS0NrZ1BUNGdlMXh1SUNBZ0lIUm9hWE11Y0hWaWJHbHphRVYyWlc1MEtHNWxkeUJWYzJWeVFXTjBhVzl1UlhabGJuUW9leUJ2Y21sbmFXNDZJSFJvYVhNc0lHbHVkR1Z5WVdOMGFXOXVPaUFuY0dGdVpXd3RaR1Z6WTNKcGNIUnBiMjR0YzJodmQyNG5JSDBwTENCMGNuVmxLVHRjYmx4dUlDQWdJR052Ym5OMElIc2daR1Z6WTNKcGNIUnBiMjRnZlNBOUlIUm9hWE11YzNSaGRHVTdYRzRnSUNBZ2FXWWdLR1JsYzJOeWFYQjBhVzl1S1NCN1hHNGdJQ0FnSUNCamIyNXpkQ0J0WVhKclpHOTNiaUE5SUhSb2FYTXVhVzUwWlhKd2IyeGhkR1VvWkdWelkzSnBjSFJwYjI0cE8xeHVJQ0FnSUNBZ2NtVjBkWEp1SUhKbGJtUmxjazFoY210a2IzZHVLRzFoY210a2IzZHVLVHRjYmlBZ0lDQjlYRzRnSUNBZ2NtVjBkWEp1SUNjbk8xeHVJQ0I5TzF4dVhHNGdJSEIxWW14cFl5QmpiR1ZoY2tacFpXeGtRMjl1Wm1sblEyRmphR1VvS1NCN1hHNGdJQ0FnZEdocGN5NWZaR0YwWVZkcGRHaEdhV1ZzWkVOdmJtWnBaeUE5SUhWdVpHVm1hVzVsWkR0Y2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQkRZV3hzWldRZ1puSnZiU0IwYUdVZ2NtVmhZM1FnY21WdVpHVnlJSEJoZEdnZ2RHOGdZWEJ3YkhrZ2RHaGxJR1pwWld4a0lHTnZibVpwWnlCMGJ5QjBhR1VnWkdGMFlTQndjbTkyYVdSbFpDQmllU0IwYUdVZ1pHRjBZU0J3Y205MmFXUmxjbHh1SUNBZ0tpOWNiaUFnY0hWaWJHbGpJR0Z3Y0d4NVJtbGxiR1JEYjI1bWFXY29jbUYzUkdGMFlUODZJRkJoYm1Wc1JHRjBZU2s2SUZCaGJtVnNSR0YwWVNCN1hHNGdJQ0FnWTI5dWMzUWdjR3gxWjJsdUlEMGdkR2hwY3k1ZmNHeDFaMmx1TzF4dVhHNGdJQ0FnYVdZZ0tDRndiSFZuYVc0Z2ZId2djR3gxWjJsdUxtMWxkR0V1YzJ0cGNFUmhkR0ZSZFdWeWVTQjhmQ0FoY21GM1JHRjBZU2tnZTF4dUlDQWdJQ0FnTHk4Z1ZFOUVUeUJ6WlhSMWNDQjBhVzFsSUhKaGJtZGxJSE4xWW5OamNtbHdkR2x2YmlCcGJuTjBaV0ZrWEc0Z0lDQWdJQ0J5WlhSMWNtNGdaVzF3ZEhsUVlXNWxiRVJoZEdFN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnTHk4Z1NXWWdkR2hsSUdSaGRHRWdhWE1nZEdobElITmhiV1VnWVhNZ2JHRnpkQ0IwYVcxbExDQjNaU0JqWVc0Z2MydHBjQ0IwYUdVZ1ptbGxiR1FnWTI5dVptbG5JR0Z3Y0d4NUlITjBaWEFnWVc1a0lHcDFjM1FnY21WMGRYSnVJSE5oYldVZ2NtVnpkV3gwSUdGeklHeGhjM1FnZEdsdFpWeHVJQ0FnSUdsbUlDaDBhR2x6TGw5d2NtVjJSR0YwWVNBOVBUMGdjbUYzUkdGMFlTQW1KaUIwYUdsekxsOWtZWFJoVjJsMGFFWnBaV3hrUTI5dVptbG5LU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdkR2hwY3k1ZlpHRjBZVmRwZEdoR2FXVnNaRU52Ym1acFp6dGNiaUFnSUNCOVhHNWNiaUFnSUNCamIyNXpkQ0J3YkhWbmFXNUVZWFJoVTNWd2NHOXlkRG9nVUdGdVpXeFFiSFZuYVc1RVlYUmhVM1Z3Y0c5eWRDQTlJSEJzZFdkcGJpNWtZWFJoVTNWd2NHOXlkQ0I4ZkNCN0lHRnNaWEowVTNSaGRHVnpPaUJtWVd4elpTd2dZVzV1YjNSaGRHbHZibk02SUdaaGJITmxJSDA3WEc1Y2JpQWdJQ0JqYjI1emRDQm1hV1ZzWkVOdmJtWnBaMUpsWjJsemRISjVJRDBnY0d4MVoybHVMbVpwWld4a1EyOXVabWxuVW1WbmFYTjBjbms3WEc0Z0lDQWdZMjl1YzNRZ2NISmxka1p5WVcxbGN5QTlJSFJvYVhNdVgyUmhkR0ZYYVhSb1JtbGxiR1JEYjI1bWFXYy9Mbk5sY21sbGN5QS9QeUJiWFR0Y2JpQWdJQ0JqYjI1emRDQnVaWGRHY21GdFpYTWdQU0JoY0hCc2VVWnBaV3hrVDNabGNuSnBaR1Z6S0h0Y2JpQWdJQ0FnSUdSaGRHRTZJSEpoZDBSaGRHRXVjMlZ5YVdWekxGeHVJQ0FnSUNBZ1ptbGxiR1JEYjI1bWFXYzZJSFJvYVhNdWMzUmhkR1V1Wm1sbGJHUkRiMjVtYVdjc1hHNGdJQ0FnSUNCbWFXVnNaRU52Ym1acFoxSmxaMmx6ZEhKNUxGeHVJQ0FnSUNBZ2NtVndiR0ZqWlZaaGNtbGhZbXhsY3pvZ2RHaHBjeTVwYm5SbGNuQnZiR0YwWlN4Y2JpQWdJQ0FnSUhSb1pXMWxPaUJqYjI1bWFXY3VkR2hsYldVeUxGeHVJQ0FnSUNBZ2RHbHRaVnB2Ym1VNklISmhkMFJoZEdFdWNtVnhkV1Z6ZEQ4dWRHbHRaWHB2Ym1Vc1hHNGdJQ0FnZlNrN1hHNWNiaUFnSUNCcFppQW9JV052YlhCaGNtVkJjbkpoZVZaaGJIVmxjeWh1WlhkR2NtRnRaWE1zSUhCeVpYWkdjbUZ0WlhNc0lHTnZiWEJoY21WRVlYUmhSbkpoYldWVGRISjFZM1IxY21WektTa2dlMXh1SUNBZ0lDQWdkR2hwY3k1ZmMzUnlkV04wZFhKbFVtVjJLeXM3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdkR2hwY3k1ZlpHRjBZVmRwZEdoR2FXVnNaRU52Ym1acFp5QTlJSHRjYmlBZ0lDQWdJQzR1TG5KaGQwUmhkR0VzWEc0Z0lDQWdJQ0J6ZEhKMVkzUjFjbVZTWlhZNklIUm9hWE11WDNOMGNuVmpkSFZ5WlZKbGRpeGNiaUFnSUNBZ0lITmxjbWxsY3pvZ2JtVjNSbkpoYldWekxGeHVJQ0FnSUgwN1hHNWNiaUFnSUNCcFppQW9kR2hwY3k1ZlpHRjBZVmRwZEdoR2FXVnNaRU52Ym1acFp5NWhibTV2ZEdGMGFXOXVjeWtnZTF4dUlDQWdJQ0FnZEdocGN5NWZaR0YwWVZkcGRHaEdhV1ZzWkVOdmJtWnBaeTVoYm01dmRHRjBhVzl1Y3lBOUlHRndjR3g1Um1sbGJHUlBkbVZ5Y21sa1pYTW9lMXh1SUNBZ0lDQWdJQ0JrWVhSaE9pQjBhR2x6TGw5a1lYUmhWMmwwYUVacFpXeGtRMjl1Wm1sbkxtRnVibTkwWVhScGIyNXpMRnh1SUNBZ0lDQWdJQ0JtYVdWc1pFTnZibVpwWnpvZ2UxeHVJQ0FnSUNBZ0lDQWdJR1JsWm1GMWJIUnpPaUI3ZlN4Y2JpQWdJQ0FnSUNBZ0lDQnZkbVZ5Y21sa1pYTTZJRnRkTEZ4dUlDQWdJQ0FnSUNCOUxGeHVJQ0FnSUNBZ0lDQm1hV1ZzWkVOdmJtWnBaMUpsWjJsemRISjVMRnh1SUNBZ0lDQWdJQ0J5WlhCc1lXTmxWbUZ5YVdGaWJHVnpPaUIwYUdsekxtbHVkR1Z5Y0c5c1lYUmxMRnh1SUNBZ0lDQWdJQ0IwYUdWdFpUb2dZMjl1Wm1sbkxuUm9aVzFsTWl4Y2JpQWdJQ0FnSUNBZ2RHbHRaVnB2Ym1VNklISmhkMFJoZEdFdWNtVnhkV1Z6ZEQ4dWRHbHRaWHB2Ym1Vc1hHNGdJQ0FnSUNCOUtUdGNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9JWEJzZFdkcGJrUmhkR0ZUZFhCd2IzSjBMbUZzWlhKMFUzUmhkR1Z6S1NCN1hHNGdJQ0FnSUNCMGFHbHpMbDlrWVhSaFYybDBhRVpwWld4a1EyOXVabWxuTG1Gc1pYSjBVM1JoZEdVZ1BTQjFibVJsWm1sdVpXUTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2FXWWdLQ0Z3YkhWbmFXNUVZWFJoVTNWd2NHOXlkQzVoYm01dmRHRjBhVzl1Y3lrZ2UxeHVJQ0FnSUNBZ2RHaHBjeTVmWkdGMFlWZHBkR2hHYVdWc1pFTnZibVpwWnk1aGJtNXZkR0YwYVc5dWN5QTlJSFZ1WkdWbWFXNWxaRHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQjBhR2x6TGw5d2NtVjJSR0YwWVNBOUlISmhkMFJoZEdFN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVgyUmhkR0ZYYVhSb1JtbGxiR1JEYjI1bWFXYzdYRzRnSUgxY2JseHVJQ0J3ZFdKc2FXTWdiMjVEWVc1alpXeFJkV1Z5ZVNBOUlDZ3BJRDArSUh0Y2JpQWdJQ0IwYUdsekxuQjFZbXhwYzJoRmRtVnVkQ2h1WlhjZ1ZYTmxja0ZqZEdsdmJrVjJaVzUwS0hzZ2IzSnBaMmx1T2lCMGFHbHpMQ0JwYm5SbGNtRmpkR2x2YmpvZ0ozQmhibVZzTFdOaGJtTmxiQzF4ZFdWeWVTMWpiR2xqYTJWa0p5QjlLU3dnZEhKMVpTazdYRzRnSUNBZ1kyOXVjM1FnWkdGMFlTQTlJSE5qWlc1bFIzSmhjR2d1WjJWMFJHRjBZU2gwYUdsektUdGNiaUFnSUNCa1lYUmhMbU5oYm1ObGJGRjFaWEo1UHk0b0tUdGNiaUFnZlR0Y2JseHVJQ0J3ZFdKc2FXTWdiMjVUZEdGMGRYTk5aWE56WVdkbFEyeHBZMnNnUFNBb0tTQTlQaUI3WEc0Z0lDQWdkR2hwY3k1d2RXSnNhWE5vUlhabGJuUW9ibVYzSUZWelpYSkJZM1JwYjI1RmRtVnVkQ2g3SUc5eWFXZHBiam9nZEdocGN5d2dhVzUwWlhKaFkzUnBiMjQ2SUNkd1lXNWxiQzF6ZEdGMGRYTXRiV1Z6YzJGblpTMWpiR2xqYTJWa0p5QjlLU3dnZEhKMVpTazdYRzRnSUgwN1hHNWNiaUFnTHlvcVhHNGdJQ0FxSUZCaGJtVnNJR052Ym5SbGVIUWdablZ1WTNScGIyNXpYRzRnSUNBcUwxeHVJQ0J3Y21sMllYUmxJRjl2YmxObGNtbGxjME52Ykc5eVEyaGhibWRsSUQwZ0tHeGhZbVZzT2lCemRISnBibWNzSUdOdmJHOXlPaUJ6ZEhKcGJtY3BJRDArSUh0Y2JpQWdJQ0IwYUdsekxtOXVSbWxsYkdSRGIyNW1hV2REYUdGdVoyVW9ZMmhoYm1kbFUyVnlhV1Z6UTI5c2IzSkRiMjVtYVdkR1lXTjBiM0o1S0d4aFltVnNMQ0JqYjJ4dmNpd2dkR2hwY3k1emRHRjBaUzVtYVdWc1pFTnZibVpwWnlrcE8xeHVJQ0I5TzF4dVhHNGdJSEJ5YVhaaGRHVWdYMjl1VTJWeWFXVnpWbWx6YVdKcGJHbDBlVU5vWVc1blpTQTlJQ2hzWVdKbGJEb2djM1J5YVc1bkxDQnRiMlJsT2lCVFpYSnBaWE5XYVhOcFltbHNhWFI1UTJoaGJtZGxUVzlrWlNrZ1BUNGdlMXh1SUNBZ0lHbG1JQ2doZEdocGN5NWZaR0YwWVZkcGRHaEdhV1ZzWkVOdmJtWnBaeWtnZTF4dUlDQWdJQ0FnY21WMGRYSnVPMXh1SUNBZ0lIMWNibHh1SUNBZ0lIUm9hWE11YjI1R2FXVnNaRU52Ym1acFowTm9ZVzVuWlNoY2JpQWdJQ0FnSUhObGNtbGxjMVpwYzJsaWFXeHBkSGxEYjI1bWFXZEdZV04wYjNKNUtHeGhZbVZzTENCdGIyUmxMQ0IwYUdsekxuTjBZWFJsTG1acFpXeGtRMjl1Wm1sbkxDQjBhR2x6TGw5a1lYUmhWMmwwYUVacFpXeGtRMjl1Wm1sbkxuTmxjbWxsY3lrc1hHNGdJQ0FnSUNCMGNuVmxYRzRnSUNBZ0tUdGNiaUFnZlR0Y2JseHVJQ0J3Y21sMllYUmxJRjl2YmtsdWMzUmhibU5sVTNSaGRHVkRhR0Z1WjJVZ1BTQW9jM1JoZEdVNklHRnVlU2tnUFQ0Z2UxeHVJQ0FnSUdsbUlDaDBhR2x6TGw5d1lXNWxiRU52Ym5SbGVIUXBJSHRjYmlBZ0lDQWdJSFJvYVhNdVgzQmhibVZzUTI5dWRHVjRkQ0E5SUh0Y2JpQWdJQ0FnSUNBZ0xpNHVkR2hwY3k1ZmNHRnVaV3hEYjI1MFpYaDBMRnh1SUNBZ0lDQWdJQ0JwYm5OMFlXNWpaVk4wWVhSbE9pQnpkR0YwWlN4Y2JpQWdJQ0FnSUgwN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnZEdocGN5NXpaWFJUZEdGMFpTaDdJRjl3YkhWbmFXNUpibk4wWVc1alpWTjBZWFJsT2lCemRHRjBaU0I5S1R0Y2JpQWdmVHRjYmx4dUlDQndjbWwyWVhSbElGOXZibFJ2WjJkc1pVeGxaMlZ1WkZOdmNuUWdQU0FvYzI5eWRFdGxlVG9nYzNSeWFXNW5LU0E5UGlCN1hHNGdJQ0FnWTI5dWMzUWdiR1ZuWlc1a1QzQjBhVzl1Y3pvZ1ZtbDZUR1ZuWlc1a1QzQjBhVzl1Y3lBOUlDaDBhR2x6TG5OMFlYUmxMbTl3ZEdsdmJuTWdZWE1nWVc1NUtTNXNaV2RsYm1RN1hHNWNiaUFnSUNBdkx5QlhaU0JrYjI0bmRDQjNZVzUwSUhSdklHUnZJR0Z1ZVhSb2FXNW5JSGRvWlc0Z2JHVm5aVzVrSUc5d2RHbHZibk1nWVhKbElHNXZkQ0JoZG1GcGJHRmliR1ZjYmlBZ0lDQnBaaUFvSVd4bFoyVnVaRTl3ZEdsdmJuTXBJSHRjYmlBZ0lDQWdJSEpsZEhWeWJqdGNiaUFnSUNCOVhHNWNiaUFnSUNCc1pYUWdjMjl5ZEVSbGMyTWdQU0JzWldkbGJtUlBjSFJwYjI1ekxuTnZjblJFWlhOak8xeHVJQ0FnSUd4bGRDQnpiM0owUW5rZ1BTQnNaV2RsYm1SUGNIUnBiMjV6TG5OdmNuUkNlVHRjYmlBZ0lDQnBaaUFvYzI5eWRFdGxlU0FoUFQwZ2MyOXlkRUo1S1NCN1hHNGdJQ0FnSUNCemIzSjBSR1Z6WXlBOUlIVnVaR1ZtYVc1bFpEdGNiaUFnSUNCOVhHNWNiaUFnSUNBdkx5QnBaaUJoYkhKbFlXUjVJSE52Y25RZ1lYTmpaVzVrYVc1bkxDQmthWE5oWW14bElITnZjblJwYm1kY2JpQWdJQ0JwWmlBb2MyOXlkRVJsYzJNZ1BUMDlJR1poYkhObEtTQjdYRzRnSUNBZ0lDQnpiM0owUW5rZ1BTQjFibVJsWm1sdVpXUTdYRzRnSUNBZ0lDQnpiM0owUkdWell5QTlJSFZ1WkdWbWFXNWxaRHRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ2MyOXlkRVJsYzJNZ1BTQWhjMjl5ZEVSbGMyTTdYRzRnSUNBZ0lDQnpiM0owUW5rZ1BTQnpiM0owUzJWNU8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhSb2FYTXViMjVQY0hScGIyNXpRMmhoYm1kbEtGeHVJQ0FnSUNBZ2UxeHVJQ0FnSUNBZ0lDQXVMaTUwYUdsekxuTjBZWFJsTG05d2RHbHZibk1zWEc0Z0lDQWdJQ0FnSUd4bFoyVnVaRG9nZXlBdUxpNXNaV2RsYm1SUGNIUnBiMjV6TENCemIzSjBRbmtzSUhOdmNuUkVaWE5qSUgwc1hHNGdJQ0FnSUNCOUlHRnpJRlJQY0hScGIyNXpMRnh1SUNBZ0lDQWdkSEoxWlZ4dUlDQWdJQ2s3WEc0Z0lIMDdYRzVjYmlBZ2NISnBkbUYwWlNCaWRXbHNaRkJoYm1Wc1EyOXVkR1Y0ZENncE9pQlFZVzVsYkVOdmJuUmxlSFFnZTF4dUlDQWdJR052Ym5OMElITjVibU1nUFNCblpYUkRkWEp6YjNKVGVXNWpVMk52Y0dVb2RHaHBjeWs3WEc1Y2JpQWdJQ0JqYjI1emRDQmpiMjUwWlhoMElEMGdlMXh1SUNBZ0lDQWdaWFpsYm5SelUyTnZjR1U2SUhONWJtTWdQeUJ6ZVc1akxtZGxkRVYyWlc1MGMxTmpiM0JsS0NrZ09pQW5YMTluYkc5aVlXeGZKeXhjYmlBZ0lDQWdJR1YyWlc1MFFuVnpPaUJ6ZVc1aklEOGdjM2x1WXk1blpYUkZkbVZ1ZEhOQ2RYTW9kR2hwY3lrZ09pQm5aWFJCY0hCRmRtVnVkSE1vS1N4Y2JpQWdJQ0FnSUdGd2NEb2dRMjl5WlVGd2NDNVZibXR1YjNkdUxGeHVJQ0FnSUNBZ2MzbHVZem9nS0NrZ1BUNGdlMXh1SUNBZ0lDQWdJQ0JwWmlBb2MzbHVZeWtnZTF4dUlDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCemVXNWpMbk4wWVhSbExuTjVibU03WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUVSaGMyaGliMkZ5WkVOMWNuTnZjbE41Ym1NdVQyWm1PMXh1SUNBZ0lDQWdmU3hjYmlBZ0lDQWdJRzl1VTJWeWFXVnpRMjlzYjNKRGFHRnVaMlU2SUhSb2FYTXVYMjl1VTJWeWFXVnpRMjlzYjNKRGFHRnVaMlVzWEc0Z0lDQWdJQ0J2YmxSdloyZHNaVk5sY21sbGMxWnBjMmxpYVd4cGRIazZJSFJvYVhNdVgyOXVVMlZ5YVdWelZtbHphV0pwYkdsMGVVTm9ZVzVuWlN4Y2JpQWdJQ0FnSUc5dVZHOW5aMnhsVEdWblpXNWtVMjl5ZERvZ2RHaHBjeTVmYjI1VWIyZG5iR1ZNWldkbGJtUlRiM0owTEZ4dUlDQWdJQ0FnYjI1SmJuTjBZVzVqWlZOMFlYUmxRMmhoYm1kbE9pQjBhR2x6TGw5dmJrbHVjM1JoYm1ObFUzUmhkR1ZEYUdGdVoyVXNYRzRnSUNBZ2ZUdGNibHh1SUNBZ0lHbG1JQ2gwYUdsekxuTjBZWFJsTG1WNGRHVnVaRkJoYm1Wc1EyOXVkR1Y0ZENrZ2UxeHVJQ0FnSUNBZ2RHaHBjeTV6ZEdGMFpTNWxlSFJsYm1SUVlXNWxiRU52Ym5SbGVIUW9kR2hwY3l3Z1kyOXVkR1Y0ZENrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVJR052Ym5SbGVIUTdYRzRnSUgxY2JuMWNibHh1Wm5WdVkzUnBiMjRnWjJWMFVHRnVaV3hRYkhWbmFXNU9iM1JHYjNWdVpDaHBaRG9nYzNSeWFXNW5LVG9nVUdGdVpXeFFiSFZuYVc0Z2UxeHVJQ0JqYjI1emRDQndiSFZuYVc0Z1BTQnVaWGNnVUdGdVpXeFFiSFZuYVc0b0tDa2dQVDRnYm5Wc2JDazdYRzVjYmlBZ2NHeDFaMmx1TG0xbGRHRWdQU0I3WEc0Z0lDQWdhV1E2SUdsa0xGeHVJQ0FnSUc1aGJXVTZJR2xrTEZ4dUlDQWdJSE52Y25RNklERXdNQ3hjYmlBZ0lDQjBlWEJsT2lCUWJIVm5hVzVVZVhCbExuQmhibVZzTEZ4dUlDQWdJRzF2WkhWc1pUb2dKeWNzWEc0Z0lDQWdZbUZ6WlZWeWJEb2dKeWNzWEc0Z0lDQWdhVzVtYnpvZ2UxeHVJQ0FnSUNBZ1lYVjBhRzl5T2lCN1hHNGdJQ0FnSUNBZ0lHNWhiV1U2SUNjbkxGeHVJQ0FnSUNBZ2ZTeGNiaUFnSUNBZ0lHUmxjMk55YVhCMGFXOXVPaUFuSnl4Y2JpQWdJQ0FnSUd4cGJtdHpPaUJiWFN4Y2JpQWdJQ0FnSUd4dloyOXpPaUI3WEc0Z0lDQWdJQ0FnSUd4aGNtZGxPaUFuSnl4Y2JpQWdJQ0FnSUNBZ2MyMWhiR3c2SUNkd2RXSnNhV012YVcxbkwyZHlZV1poYm1GZmFXTnZiaTV6ZG1jbkxGeHVJQ0FnSUNBZ2ZTeGNiaUFnSUNBZ0lITmpjbVZsYm5Ob2IzUnpPaUJiWFN4Y2JpQWdJQ0FnSUhWd1pHRjBaV1E2SUNjbkxGeHVJQ0FnSUNBZ2RtVnljMmx2YmpvZ0p5Y3NYRzRnSUNBZ2ZTeGNiaUFnZlR0Y2JseHVJQ0J5WlhSMWNtNGdjR3gxWjJsdU8xeHVmVnh1SWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUk3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPMEZCYjBkUExFMUJRVTBzYVVKQlFUaEVMR1ZCUlhwRkxFTkJRVUU3UVVGQlFTeEZRV05QTEZsQlFWa3NTMEZCZFVRc1JVRkJRVHRCUVhCSU5VVXNTVUZCUVN4SlFVRkJMRVZCUVVFc1EwRkJRVHRCUVhGSVNTeEpRVUZOTEV0QlFVRXNRMEZCUVN4alFVRkJMRU5CUVVFN1FVRkJRU3hOUVVOS0xGTkJRVk1zUlVGQlF6dEJRVUZCTEUxQlExWXNZVUZCWVN4RlFVRkZMRkZCUVVFc1JVRkJWU3hGUVVGSkxFVkJRVUVzVTBGQlFTeEZRVUZYTEVWQlFVY3NSVUZCUVR0QlFVRkJMRTFCUXpORExFdEJRVThzUlVGQlFTeFBRVUZCTzBGQlFVRXNUVUZEVUN4UlFVRlZMRVZCUVVFc1dVRkJRVHRCUVVGQkxFMUJRMVlzWTBGQlowSXNSVUZCUVN4RFFVRkJPMEZCUVVFc1MwRkJRU3hGUVVOaUxFdEJRMG9zUTBGQlFTeERRVUZCTEVOQlFVRTdRVUZ1UWtnc1NVRkJWU3hKUVVGQkxFTkJRVUVzYlVKQlFVRXNSMEZCYzBJc1NVRkJTU3gzUWtGQlFTeERRVUY1UWl4SlFVRk5MRVZCUVVFN1FVRkJRU3hOUVVOcVJTeFZRVUZaTEVWQlFVRXNRMEZCUXl4UFFVRlRMRVZCUVVFc1UwRkJRU3hGUVVGWExHRkJRV0VzUTBGQlFUdEJRVUZCTEV0QlF5OURMRU5CUVVFc1EwRkJRVHRCUVU5RUxFbEJRVUVzU1VGQlFTeERRVUZSTEdGQlFYZENMRWRCUVVFc1EwRkJRU3hEUVVGQk8wRkJNRWxvUXl4SlFVRlBMRWxCUVVFc1EwRkJRU3hwUWtGQlFTeEhRVUZ2UWl4RFFVRkRMRk5CUVdsRExFdEJRVUU3UVVGRE0wUXNUVUZCVFN4TlFVRkJMR05CUVVFc1IwRkJhVUlzVlVGQlZ5eERRVUZCTEZsQlFVRXNRMEZCWVN4SlFVRkpMRU5CUVVFc1EwRkJRVHRCUVVOdVJDeE5RVUZCTEdOQlFVRXNRMEZCWlN4cFFrRkJhMElzUTBGQlFUdEJRVUZCTEZGQlF5OUNMRWRCUVVzc1JVRkJRVHRCUVVGQkxGVkJRMGdzU1VGQlFTeEZRVUZOTEV0QlFVMHNRMEZCUVN4VFFVRkJMRU5CUVZVc1NVRkJTU3hEUVVGQk8wRkJRVUVzVlVGRE1VSXNSVUZCUVN4RlFVRkpMRXRCUVUwc1EwRkJRU3hUUVVGQkxFTkJRVlVzUlVGQlJTeERRVUZCTzBGQlFVRXNVMEZEZUVJN1FVRkJRU3hSUVVOQkxFbEJRVUVzUlVGQlRTeExRVUZOTEVOQlFVRXNVMEZCUVN4RFFVRlZMRWxCUVVrc1EwRkJRVHRCUVVGQkxGRkJRekZDTEVWQlFVRXNSVUZCU1N4TFFVRk5MRU5CUVVFc1UwRkJRU3hEUVVGVkxFVkJRVVVzUTBGQlFUdEJRVUZCTEU5QlEzWkNMRU5CUVVFc1EwRkJRVHRCUVVGQkxFdEJRMGdzUTBGQlFUdEJRVVZCTEVsQlFVOHNTVUZCUVN4RFFVRkJMRmxCUVVFc1IwRkJaU3hEUVVGRExFbEJRWEZDTEV0QlFVRTdRVUZETVVNc1RVRkJRU3hOUVVGTkxHVkJRV1VzVlVGQlZ5eERRVUZCTEZWQlFVRXNRMEZCVnl4TlFVRk5MRU5CUVVNc1EwRkJRU3hMUVVGTkxHRkJRV0VzV1VGQldTeERRVUZCTEVOQlFVRTdRVUZEYWtZc1RVRkJUU3hOUVVGQkxHTkJRVUVzUjBGQmFVSXNWVUZCVnl4RFFVRkJMRmxCUVVFc1EwRkJZU3hKUVVGSkxFTkJRVUVzUTBGQlFUdEJRVU51UkN4TlFVRkpMRWxCUVVFc1dVRkJRU3haUVVGM1FpeFpRVUZuUWl4SlFVRkJMRmxCUVVFc1EwRkJZU3hUUVVGWExFVkJRVUU3UVVGRGJFVXNVVUZCVHl4UFFVRkJMR2xDUVVGQk8wRkJRVUVzVlVGRFRDeGxRVUZsTEV0QlFVMHNRMEZCUVN4SlFVRkJPMEZCUVVFc1ZVRkRja0lzWlVGQlpTeExRVUZOTEVOQlFVRXNSVUZCUVR0QlFVRkJMRlZCUTNKQ0xHVkJRV1VzVjBGQldTeEZRVUZCTzBGQlFVRXNWVUZETTBJc1pVRkJaU3hMUVVGTkxFTkJRVUVzYjBKQlFVRTdRVUZCUVN4VlFVTnlRaXhsUVVGbExFdEJRVTBzUTBGQlFTeGxRVUZCTzBGQlFVRXNVMEZEZGtJc1EwRkJRVHRCUVVGQkxFOUJRMFk3UVVGRlFTeE5RVUZOTEUxQlFVRXNUVUZCUVN4SFFVRlRMRXRCUVVzc1UwRkJWU3hGUVVGQkxFTkJRVUU3UVVGRE9VSXNUVUZCUVN4SlFVRkpMRlZCUVZVc1EwRkJReXhOUVVGQkxFTkJRVThzUzBGQlN5eGhRVUZwUWl4SlFVRkJMRWxCUVVFc1NVRkJVU3hMUVVGTExGTkJRVmNzUlVGQlFUdEJRVU5zUlN4UlFVRkJMRTlCUVU4c1NVRkJTeXhEUVVGQkxGTkJRVUVzUTBGQlFUdEJRVUZCTEU5QlEyUTdRVUZGUVN4TlFVRkJMRTlCUVU4c1pVRkJaU3hMUVVGTkxFTkJRVUVzUzBGQlFTeERRVUZCTzBGQlFVRXNTMEZET1VJc1EwRkJRVHRCUVRaQ1FTeEpRVUZQTEVsQlFVRXNRMEZCUVN4aFFVRkJMRWRCUVdkQ0xFTkJRVU1zUzBGQmEwSXNTMEZCUVR0QlFVTjRReXhOUVVGTExFbEJRVUVzUTBGQlFTeFJRVUZCTEVOQlFWTXNSVUZCUlN4TFFVRkJMRVZCUVU4c1EwRkJRU3hEUVVGQk8wRkJRVUVzUzBGRGVrSXNRMEZCUVR0QlFVVkJMRWxCUVU4c1NVRkJRU3hEUVVGQkxHMUNRVUZCTEVkQlFYTkNMRU5CUVVNc1YwRkJkMElzUzBGQlFUdEJRVU53UkN4TlFVRkxMRWxCUVVFc1EwRkJRU3hSUVVGQkxFTkJRVk1zUlVGQlJTeFhRVUZCTEVWQlFXRXNRMEZCUVN4RFFVRkJPMEZCUVVFc1MwRkRMMElzUTBGQlFUdEJRVVZCTEVsQlFVOHNTVUZCUVN4RFFVRkJMRzFDUVVGQkxFZEJRWE5DTEVOQlFVTXNWMEZCTWtNc1MwRkJRVHRCUVVOMlJTeE5RVUZMTEVsQlFVRXNRMEZCUVN4UlFVRkJMRU5CUVZNc1JVRkJSU3hYUVVGQkxFVkJRV0VzUTBGQlFTeERRVUZCTzBGQlFVRXNTMEZETDBJc1EwRkJRVHRCUVVWQkxFbEJRVThzU1VGQlFTeERRVUZCTEdkQ1FVRkJMRWRCUVcxQ0xFTkJRVU1zVTBGQmRVSXNTMEZCUVR0QlFVTm9SQ3hOUVVGQkxFbEJRVUVzUTBGQlN5eFJRVUZUTEVOQlFVRTdRVUZCUVN4UlFVTmFMRk5CUVVFN1FVRkJRU3hQUVVORUxFTkJRVUVzUTBGQlFUdEJRVUZCTEV0QlEwZ3NRMEZCUVR0QlFVVkJMRWxCUVVFc1NVRkJRU3hEUVVGUExHdENRVUZyUWl4RFFVRkRMR0ZCUVVFc1JVRkJjME1zVDBGQlZTeEhRVUZCTEV0QlFVRXNSVUZCVHl4elFrRkJjMElzUzBGQlZTeExRVUZCTzBGQk1WVnVTQ3hOUVVGQkxFbEJRVUVzUlVGQlFTeERRVUZCTzBGQk1sVkpMRTFCUVVFc1RVRkJUU3hGUVVGRkxGZEJRVUVzUlVGQllTeFBRVUZSTEVWQlFVRXNSMEZCU1N4SlFVRkxMRU5CUVVFc1MwRkJRU3hEUVVGQk8wRkJSM1JETEUxQlFVRXNUVUZCVFN4WFFVRmpMRWRCUVVFc1QwRkJRU3hIUVVOb1FpeGhRVU5CTEVkQlFVRXNVMEZCUVN4RFFVRlZMRk5CUVZVc1EwRkJRU3hQUVVGUExFTkJRVWNzUlVGQlFTeGhRVUZCTEVWQlFXVXNRMEZCUXl4UlFVRkJMRVZCUVZVc1VVRkJWU3hGUVVGQkxFZEJRVUVzUlVGQlN5eEhRVUZSTEV0QlFVRTdRVUZETjBVc1VVRkJTU3hKUVVGQkxFOUJRVUVzUTBGQlVTeFJRVUZSTEVOQlFVY3NSVUZCUVR0QlFVTnlRaXhWUVVGUExFOUJRVUVzVVVGQlFTeERRVUZCTzBGQlFVRXNVMEZEVkR0QlFVZEJMRkZCUVVFc1NVRkJTU3hSUVVGaExFdEJRVUVzVVVGQlFTeEpRVUZaTEU5QlFVOHNVVUZCUVN4TFFVRmhMRmRCUVdFc1JVRkJRVHRCUVVNMVJDeFZRVUZCTEVkQlFVRXNRMEZCU1N4SFFVRlBMRU5CUVVFc1IwRkJRU3hSUVVGQkxFTkJRVUU3UVVGRFdDeFZRVUZCTEU5QlFVRTdRVUZCUVN4VFFVTkdPMEZCUTBFc1VVRkJRU3hQUVVGQk8wRkJRVUVzVDBGRFJDeERRVUZCTEVOQlFVRTdRVUZGVEN4TlFVRkJMRTFCUVUwc1pVRkJaU3d5UWtGQk5FSXNRMEZCUVR0QlFVRkJMRkZCUXk5RExGRkJRVkVzU1VGQlN5eERRVUZCTEU5QlFVRTdRVUZCUVN4UlFVTmlMR05CUVdkQ0xFVkJRVUVzVjBGQlFUdEJRVUZCTEZGQlEyaENMR3RDUVVGdlFpeEZRVUZCTEZkQlFVRTdRVUZCUVN4UlFVTndRaXh0UWtGQlFUdEJRVUZCTEU5QlEwUXNRMEZCUVN4RFFVRkJPMEZCUlVRc1RVRkJRU3hKUVVGQkxFTkJRVXNzVVVGQlV5eERRVUZCTzBGQlFVRXNVVUZEV2l4VFFVRlRMRmxCUVdFc1EwRkJRU3hQUVVGQk8wRkJRVUVzVVVGRGRFSXNZMEZCYVVJc1JVRkJRU3hEUVVGQkxFTkJRVUVzUlVGQlFTeEhRVUZCTEVsQlFVRXNRMEZCU3l4TFFVRk5MRU5CUVVFc1kwRkJRU3hMUVVGWUxGbEJRVFpDTEVOQlFVc3NTVUZCUVN4RFFVRkJPMEZCUVVFc1QwRkRjRVFzUTBGQlFTeERRVUZCTzBGQlFVRXNTMEZEU0N4RFFVRkJPMEZCUlVFc1NVRkJUeXhKUVVGQkxFTkJRVUVzYlVKQlFVRXNSMEZCYzBJc1EwRkJReXhwUWtGQlFTeEZRVUZwUlN4UFFVRnpRaXhMUVVGQk8wRkJRMjVJTEUxQlFVRXNUVUZCVFN4RlFVRkZMRmRCUVVFc1JVRkJZU3hQUVVGUkxFVkJRVUVzUjBGQlNTeEpRVUZMTEVOQlFVRXNTMEZCUVN4RFFVRkJPMEZCUjNSRExFMUJRVUVzVFVGQlRTeHJRa0ZCYTBJc1QwRkJWU3hIUVVGQkxHbENRVUZCTEVkQlFXOUNMRTFCUVUwc1UwRkJWU3hEUVVGQkxGZEJRVmNzUjBGQlJ5eHBRa0ZCYVVJc1EwRkJRU3hEUVVGQk8wRkJSWEpITEUxQlFVRXNUVUZCVFN4bFFVRmxMREpDUVVFMFFpeERRVUZCTzBGQlFVRXNVVUZETDBNc1VVRkJVU3hKUVVGTExFTkJRVUVzVDBGQlFUdEJRVUZCTEZGQlEySXNZMEZCWjBJc1JVRkJRU3hQUVVGQk8wRkJRVUVzVVVGRGFFSXNhMEpCUVc5Q0xFVkJRVUVzWlVGQlFUdEJRVUZCTEZGQlEzQkNMRzFDUVVGeFFpeEZRVUZCTEV0QlFVRTdRVUZCUVN4UFFVTjBRaXhEUVVGQkxFTkJRVUU3UVVGRlJDeE5RVUZCTEVsQlFVRXNRMEZCU3l4dlFrRkJkVUlzUjBGQlFTeExRVUZCTEVOQlFVRXNRMEZCUVR0QlFVTTFRaXhOUVVGQkxFbEJRVUVzUTBGQlN5eFJRVUZUTEVOQlFVRXNSVUZCUlN4WFFVRmhMRVZCUVVFc1dVRkJRU3hEUVVGaExHRkJRV0VzUTBGQlFTeERRVUZCTzBGQlFVRXNTMEZEZWtRc1EwRkJRVHRCUVVWQkxFbEJRVUVzU1VGQlFTeERRVUZQTEZkQlFXVXNSMEZCUVN4RFFVRkRMRXRCUVdVc1JVRkJRU3hOUVVGQkxFVkJRWEZDTEUxQlFXZEVMRXRCUVVFN1FVRkRla2NzVFVGQlFTeFBRVUZQTEZWQlFWY3NRMEZCUVN4WFFVRkJMRU5CUVZrc1NVRkJUU3hGUVVGQkxFdEJRVUVzUlVGQlR5eFJRVUZSTEUxQlFVMHNRMEZCUVN4RFFVRkJPMEZCUVVFc1MwRkRNMFFzUTBGQlFUdEJRVVZCTEVsQlFVRXNTVUZCUVN4RFFVRlBMR2xDUVVGcFFpeE5RVUZOTzBGQlF6VkNMRTFCUVVzc1NVRkJRU3hEUVVGQkxGbEJRVUVzUTBGQllTeEpRVUZKTEdWQlFVRXNRMEZCWjBJc1JVRkJSU3hOUVVGQkxFVkJRVkVzVFVGQlRTeFhRVUZoTEVWQlFVRXNlVUpCUVVFc1JVRkJNa0lzUTBGQlFTeEZRVUZITEVsQlFVa3NRMEZCUVN4RFFVRkJPMEZCUlhKSExFMUJRVTBzVFVGQlFTeEZRVUZGTEZkQlFWa3NSVUZCUVN4SFFVRkpMRWxCUVVzc1EwRkJRU3hMUVVGQkxFTkJRVUU3UVVGRE4wSXNUVUZCUVN4SlFVRkpMRmRCUVdFc1JVRkJRVHRCUVVObUxGRkJRVTBzVFVGQlFTeFJRVUZCTEVkQlFWY3NTVUZCU3l4RFFVRkJMRmRCUVVFc1EwRkJXU3hYUVVGWExFTkJRVUVzUTBGQlFUdEJRVU0zUXl4UlFVRkJMRTlCUVU4c1pVRkJaU3hSUVVGUkxFTkJRVUVzUTBGQlFUdEJRVUZCTEU5QlEyaERPMEZCUTBFc1RVRkJUeXhQUVVGQkxFVkJRVUVzUTBGQlFUdEJRVUZCTEV0QlExUXNRMEZCUVR0QlFYVkZRU3hKUVVGQkxFbEJRVUVzUTBGQlR5eG5Ra0ZCWjBJc1RVRkJUVHRCUVM5akwwSXNUVUZCUVN4SlFVRkJMRVZCUVVFc1EwRkJRVHRCUVdka1NTeE5RVUZMTEVsQlFVRXNRMEZCUVN4WlFVRkJMRU5CUVdFc1NVRkJTU3hsUVVGQkxFTkJRV2RDTEVWQlFVVXNUVUZCUVN4RlFVRlJMRTFCUVUwc1YwRkJZU3hGUVVGQkxEUkNRVUZCTEVWQlFUaENMRU5CUVVFc1JVRkJSeXhKUVVGSkxFTkJRVUVzUTBGQlFUdEJRVU40Unl4TlFVRk5MRTFCUVVFc1NVRkJRU3hIUVVGUExGVkJRVmNzUTBGQlFTeFBRVUZCTEVOQlFWRXNTVUZCU1N4RFFVRkJMRU5CUVVFN1FVRkRjRU1zVFVGQlFTeERRVUZCTEVWQlFVRXNSMEZCUVN4SlFVRkJMRU5CUVVzc1YwRkJUQ3hMUVVGQkxFbEJRVUVzUjBGQlFTeExRVUZCTEVOQlFVRXNSMEZCUVN4RlFVRkJMRU5CUVVFc1NVRkJRU3hEUVVGQkxFbEJRVUVzUTBGQlFTeERRVUZCTzBGQlFVRXNTMEZEUml4RFFVRkJPMEZCUlVFc1NVRkJRU3hKUVVGQkxFTkJRVThzZFVKQlFYVkNMRTFCUVUwN1FVRkRiRU1zVFVGQlN5eEpRVUZCTEVOQlFVRXNXVUZCUVN4RFFVRmhMRWxCUVVrc1pVRkJRU3hEUVVGblFpeEZRVUZGTEUxQlFVRXNSVUZCVVN4TlFVRk5MRmRCUVdFc1JVRkJRU3c0UWtGQlFTeEZRVUZuUXl4RFFVRkJMRVZCUVVjc1NVRkJTU3hEUVVGQkxFTkJRVUU3UVVGQlFTeExRVU0xUnl4RFFVRkJPMEZCUzBFc1NVRkJVU3hKUVVGQkxFTkJRVUVzYjBKQlFVRXNSMEZCZFVJc1EwRkJReXhMUVVGQkxFVkJRV1VzUzBGQmEwSXNTMEZCUVR0QlFVTXZSQ3hOUVVGQkxFbEJRVUVzUTBGQlN5eHZRa0ZCYjBJc09FSkJRU3RDTEVOQlFVRXNTMEZCUVN4RlFVRlBMRTlCUVU4c1NVRkJTeXhEUVVGQkxFdEJRVUVzUTBGQlRTeFhRVUZYTEVOQlFVTXNRMEZCUVN4RFFVRkJPMEZCUVVFc1MwRkRMMFlzUTBGQlFUdEJRVVZCTEVsQlFWRXNTVUZCUVN4RFFVRkJMSGxDUVVGQkxFZEJRVFJDTEVOQlFVTXNTMEZCUVN4RlFVRmxMRWxCUVhGRExFdEJRVUU3UVVGRGRrWXNUVUZCU1N4SlFVRkJMRU5CUVVNc1MwRkJTeXh2UWtGQmMwSXNSVUZCUVR0QlFVTTVRaXhSUVVGQkxFOUJRVUU3UVVGQlFTeFBRVU5HTzBGQlJVRXNUVUZCU3l4SlFVRkJMRU5CUVVFc2JVSkJRVUU3UVVGQlFTeFJRVU5JTERaQ1FVRkJMRU5CUVRoQ0xFOUJRVThzU1VGQlRTeEZRVUZCTEVsQlFVRXNRMEZCU3l4TlFVRk5MRmRCUVdFc1JVRkJRU3hKUVVGQkxFTkJRVXNzY1VKQlFYRkNMRTFCUVUwc1EwRkJRVHRCUVVGQkxGRkJRMjVITEVsQlFVRTdRVUZCUVN4UFFVTkdMRU5CUVVFN1FVRkJRU3hMUVVOR0xFTkJRVUU3UVVGRlFTeEpRVUZSTEVsQlFVRXNRMEZCUVN4elFrRkJRU3hIUVVGNVFpeERRVUZETEV0QlFXVXNTMEZCUVR0QlFVTXZReXhOUVVGQkxFbEJRVWtzUzBGQlN5eGhRVUZsTEVWQlFVRTdRVUZEZEVJc1VVRkJTeXhKUVVGQkxFTkJRVUVzWVVGQlFTeEhRVUZuUWl4aFFVTm9RaXhEUVVGQkxHTkJRVUVzUTBGQlFTeEZRVUZCTEVWQlFVRXNTVUZCUVN4RFFVRkxMR0ZCUkZjc1EwRkJRU3hGUVVGQk8wRkJRVUVzVlVGRmJrSXNZVUZCWlN4RlFVRkJMRXRCUVVFN1FVRkJRU3hUUVVOcVFpeERRVUZCTEVOQlFVRTdRVUZCUVN4UFFVTkdPMEZCUlVFc1RVRkJRU3hKUVVGQkxFTkJRVXNzVVVGQlV5eERRVUZCTEVWQlFVVXNiMEpCUVhOQ0xFVkJRVUVzUzBGQlFTeEZRVUZQTEVOQlFVRXNRMEZCUVR0QlFVRkJMRXRCUXk5RExFTkJRVUU3UVVGRlFTeEpRVUZSTEVsQlFVRXNRMEZCUVN4dFFrRkJRU3hIUVVGelFpeERRVUZETEU5QlFXOUNMRXRCUVVFN1FVRkRha1FzVFVGQlRTeE5RVUZCTEdGQlFVRXNSMEZCYlVNc1NVRkJTeXhEUVVGQkxFdEJRVUVzUTBGQlRTeFBRVUZuUWl4RFFVRkJMRTFCUVVFc1EwRkJRVHRCUVVkd1JTeE5RVUZCTEVsQlFVa3NRMEZCUXl4aFFVRmxMRVZCUVVFN1FVRkRiRUlzVVVGQlFTeFBRVUZCTzBGQlFVRXNUMEZEUmp0QlFVVkJMRTFCUVVFc1NVRkJTU3hYUVVGWExHRkJRV01zUTBGQlFTeFJRVUZCTEVOQlFVRTdRVUZETjBJc1RVRkJRU3hKUVVGSkxGTkJRVk1zWVVGQll5eERRVUZCTEUxQlFVRXNRMEZCUVR0QlFVTXpRaXhOUVVGQkxFbEJRVWtzV1VGQldTeE5RVUZSTEVWQlFVRTdRVUZEZEVJc1VVRkJWeXhSUVVGQkxFZEJRVUVzUzBGQlFTeERRVUZCTEVOQlFVRTdRVUZCUVN4UFFVTmlPMEZCUjBFc1RVRkJRU3hKUVVGSkxHRkJRV0VzUzBGQlR5eEZRVUZCTzBGQlEzUkNMRkZCUVZNc1RVRkJRU3hIUVVGQkxFdEJRVUVzUTBGQlFTeERRVUZCTzBGQlExUXNVVUZCVnl4UlFVRkJMRWRCUVVFc1MwRkJRU3hEUVVGQkxFTkJRVUU3UVVGQlFTeFBRVU5PTEUxQlFVRTdRVUZEVEN4UlFVRkJMRkZCUVVFc1IwRkJWeXhEUVVGRExGRkJRVUVzUTBGQlFUdEJRVU5hTEZGQlFWTXNUVUZCUVN4SFFVRkJMRTlCUVVFc1EwRkJRVHRCUVVGQkxFOUJRMWc3UVVGRlFTeE5RVUZMTEVsQlFVRXNRMEZCUVN4bFFVRkJPMEZCUVVFc1VVRkRTQ3hoUVVGQkxFTkJRVUVzWTBGQlFTeERRVUZCTEVWQlFVRXNSVUZEU3l4SlFVRkxMRU5CUVVFc1MwRkJRU3hEUVVGTkxFOUJSR2hDTEVOQlFVRXNSVUZCUVR0QlFVRkJMRlZCUlVVc1RVRkJVU3hGUVVGQkxHRkJRVUVzUTBGQlFTeGpRVUZCTEVOQlFVRXNSVUZCUVN4RlFVRkxMR0ZCUVV3c1EwRkJRU3hGUVVGQkxFVkJRVzlDTEZGQlFWRXNVVUZCVXl4RlFVRkJMRU5CUVVFN1FVRkJRU3hUUVVNdlF5eERRVUZCTzBGQlFVRXNVVUZEUVN4SlFVRkJPMEZCUVVFc1QwRkRSaXhEUVVGQk8wRkJRVUVzUzBGRFJpeERRVUZCTzBGQmRGcEZMRWxCUVVFc1NVRkJRU3hEUVVGTExIRkNRVUZ4UWl4TlFVRk5PMEZCUXpsQ0xFMUJRVUVzU1VGQlFTeERRVUZMTEZkQlFWa3NSVUZCUVN4RFFVRkJPMEZCUVVFc1MwRkRiRUlzUTBGQlFTeERRVUZCTzBGQlJVUXNTVUZCVFN4RFFVRkJMRVZCUVVFc1IwRkJRU3hMUVVGQkxFTkJRVUVzU1VGQlFTeExRVUZPTEVsQlFWa3NSMEZCUVN4TFFVRkJMRU5CUVVFc1IwRkJRU3hGUVVGQkxFTkJRVUVzYjBKQlFVRXNRMEZCY1VJc1RVRkJUVHRCUVVOeVF5eE5RVUZMTEVsQlFVRXNRMEZCUVN4WlFVRkJMRU5CUVdFc1NVRkJTU3hsUVVGQkxFTkJRV2RDTEVWQlFVVXNUVUZCUVN4RlFVRlJMRTFCUVUwc1YwRkJZU3hGUVVGQkxHdENRVUZCTEVWQlFXOUNMRU5CUVVFc1JVRkJSeXhKUVVGSkxFTkJRVUVzUTBGQlFUdEJRVUZCTEV0QlEyaEhMRU5CUVVFc1EwRkJRVHRCUVVGQkxFZEJRMFk3UVVGQlFTeEZRVVZSTEZkQlFXTXNSMEZCUVR0QlFVTndRaXhKUVVGSkxFbEJRVUVzUTBGQlF5eExRVUZMTEU5QlFWTXNSVUZCUVR0QlFVTnFRaXhOUVVGTExFbEJRVUVzUTBGQlFTeFhRVUZCTEVOQlFWa3NTVUZCU3l4RFFVRkJMRXRCUVVFc1EwRkJUU3hSUVVGUkxFTkJRVUVzUTBGQlFUdEJRVUZCTEV0QlEzUkRPMEZCUVVFc1IwRkRSanRCUVVGQkxFVkJSVThzVjBGQmIwSXNSMEZCUVR0QlFUZEpOMElzU1VGQlFTeEpRVUZCTEVWQlFVRXNRMEZCUVR0QlFTdEpTU3hKUVVGTExFbEJRVUVzUTBGQlFTeFJRVUZCTEVOQlFWTXNSVUZCUlN4alFVRnBRaXhGUVVGQkxFTkJRVUVzUTBGQlFTeEZRVUZCTEVkQlFVRXNTVUZCUVN4RFFVRkxMRTFCUVUwc1kwRkJXQ3hMUVVGQkxFbEJRVUVzUjBGQlFTeEZRVUZCTEVkQlFUWkNMRU5CUVVzc1NVRkJRU3hEUVVGQkxFVkJRVWNzUTBGQlFTeERRVUZCTzBGQlFVRXNSMEZEZUVVN1FVRkJRU3hGUVVWQkxFMUJRV01zVjBGQlFTeERRVU5hTEZGQlEwRXNSVUZCUVN4blFrRkJRU3hGUVVOQkxITkNRVU5CTEcxQ1FVTkJMRVZCUVVFN1FVRkRRU3hKUVVGTkxFMUJRVUVzVFVGQlFTeEhRVUZUTEc5Q1FVRnZRaXhSUVVGUkxFTkJRVUVzUTBGQlFUdEJRVVV6UXl4SlFVRkJMRWxCUVVrc1RVRkJVU3hGUVVGQk8wRkJRMVlzVFVGQlFTeEpRVUZCTEVOQlFVc3NZVUZCWXl4RFFVRkJMRTFCUVVFc1JVRkJVU3huUWtGQmEwSXNSVUZCUVN4dlFrRkJRU3hGUVVGelFpeHRRa0ZCYlVJc1EwRkJRU3hEUVVGQk8wRkJRVUVzUzBGRGFrWXNUVUZCUVR0QlFVTk1MRTFCUVUwc1RVRkJRU3hGUVVGRkxHbENRVUZyUWl4RlFVRkJMRWRCUVVrc2IwSkJRWEZDTEVWQlFVRXNRMEZCUVR0QlFVVnVSQ3hOUVVGSkxFbEJRVUU3UVVGRFJpeFJRVUZOTEUxQlFVRXNUVUZCUVN4SFFVRlRMRTFCUVUwc2FVSkJRVUVzUTBGQmEwSXNVVUZCVVN4RFFVRkJMRU5CUVVFN1FVRkRMME1zVVVGQlFTeEpRVUZCTEVOQlFVc3NZVUZCWXl4RFFVRkJMRTFCUVVFc1JVRkJVU3huUWtGQmEwSXNSVUZCUVN4dlFrRkJRU3hGUVVGelFpeHRRa0ZCYlVJc1EwRkJRU3hEUVVGQk8wRkJRVUVzWlVGREwwVXNSMEZCVUN4RlFVRkJPMEZCUTBFc1VVRkJTeXhKUVVGQkxFTkJRVUVzWVVGQlFTeERRVUZqTEhOQ1FVRjFRaXhEUVVGQkxGRkJRVkVzUTBGQlF5eERRVUZCTEVOQlFVRTdRVUZGYmtRc1VVRkJRU3hKUVVGSkxHVkJRV1VzUzBGQlR5eEZRVUZCTzBGQlEzaENMRlZCUVVFc1NVRkJRU3hEUVVGTExGRkJRVk1zUTBGQlFTeEZRVUZGTEdkQ1FVRnJRaXhGUVVGQkxFZEJRVUVzUTBGQlNTeFRRVUZUTEVOQlFVRXNRMEZCUVR0QlFVRkJMRk5CUTJwRU8wRkJRVUVzVDBGRFJqdEJRVUZCTEV0QlEwWTdRVUZCUVN4SFFVTkdPMEZCUVVFc1JVRkZUeXhuUWtGQmJVSXNSMEZCUVR0QlFVTjRRaXhKUVVGTkxFMUJRVUVzVDBGQlFTeEhRVUZWTEZOQlFWTXNTVUZCU3l4RFFVRkJMRXRCUVVFc1EwRkJUU3hKUVVGTExFOUJRVkVzUTBGQlFTeFJRVUZCTEVWQlFWVXNSVUZCUlN4RFFVRkJMRVZCUVVjc1JVRkJSU3hEUVVGQkxFTkJRVUU3UVVGRGJFVXNTVUZCU1N4SlFVRkJMRXRCUVVFc1EwRkJUU3hQUVVGUExFTkJRVWNzUlVGQlFUdEJRVU5zUWl4TlFVRlBMRTlCUVVFc1EwRkJRU3hEUVVGQk8wRkJRVUVzUzBGRFZEdEJRVVZCTEVsQlFVOHNUMEZCUVN4UFFVRkJMRU5CUVVFN1FVRkJRU3hIUVVOVU8wRkJRVUVzUlVGRlFTeE5RVUZqTEdGQlFVRXNRMEZEV2l4TlFVTkJMRVZCUVVFc1owSkJRVUVzUlVGRFFTeHpRa0ZEUVN4dFFrRkRRU3hGUVVGQk8wRkJRMEVzU1VGQlFTeE5RVUZOTEVWQlFVVXNUMEZCVXl4RlFVRkJMRmRCUVVFc1JVRkJZU3hQUVVGUExHRkJRV1VzUlVGQlFTdzRRa0ZCUVN4TFFVRnRReXhKUVVGTExFTkJRVUVzUzBGQlFTeERRVUZCTzBGQlJUVkdMRWxCUVVFc1RVRkJUU3hMUVVGdlFpeEhRVUZCTzBGQlFVRXNUVUZEZUVJc1MwRkJRVHRCUVVGQkxFMUJRMEVzVDBGQlFUdEJRVUZCTEUxQlEwRXNWMEZCUVR0QlFVRkJMRTFCUTBFc1JVRkJRU3hGUVVGSkxFdEJRVXNzWjBKQlFXbENMRVZCUVVFN1FVRkJRU3hOUVVNeFFpeEpRVUZCTEVWQlFVMHNUMEZCVHl4SlFVRkxMRU5CUVVFc1JVRkJRVHRCUVVGQkxFMUJRMnhDTEdGQlFVRTdRVUZCUVN4TFFVTkdMRU5CUVVFN1FVRkZRU3hKUVVGQkxFbEJRVWtzWjBKQlFXdENMRVZCUVVFN1FVRkRjRUlzVFVGQlFTeExRVUZCTEVOQlFVMHNUMEZCVlN4SFFVRkJMR2RDUVVGQkxFTkJRVUU3UVVGQlFTeExRVU5zUWp0QlFVVkJMRWxCUVVFc1NVRkJTU3h2UWtGQmMwSXNSVUZCUVR0QlFVTjRRaXhOUVVGQkxFdEJRVUVzUTBGQlRTeFhRVUZqTEVkQlFVRXNiMEpCUVVFc1EwRkJRVHRCUVVGQkxFdEJRM1JDTzBGQlJVRXNTVUZCVFN4TlFVRkJMR05CUVVFc1IwRkJhVUlzU1VGQlN5eERRVUZCTEdsQ1FVRkJMRU5CUVd0Q0xFMUJRVTBzUTBGQlFTeERRVUZCTzBGQlJYQkVMRWxCUVVFc09FSkJRVUVzU1VGQlFTeEpRVUZCTEVkQlFVRXNTMEZCUVN4RFFVRkJMRWRCUVVFc09FSkJRVUVzUTBGQmFVTXNTMEZCVHl4RlFVRkJMRTFCUVVFc1EwRkJRU3hEUVVGQk8wRkJSWGhETEVsQlFVRXNTVUZCU1N4TlFVRlBMRU5CUVVFc1owSkJRVUVzU1VGQmIwSXNZMEZCYlVJc1MwRkJRU3hoUVVGQkxFbEJRV2xDTEVOQlFVTXNiVUpCUVhGQ0xFVkJRVUU3UVVGRmRrWXNUVUZCUVN4TFFVRkJMRU5CUVUwc1QwRkJWU3hIUVVGQkxFMUJRVTBzVFVGQlR5eERRVUZCTEdkQ1FVRkJMRU5CUVdsQ0xFdEJRVXNzUTBGQlFTeERRVUZCTzBGQlFVRXNTMEZEY2tRN1FVRkZRU3hKUVVGQkxFMUJRVTBzWlVGQlpTd3lRa0ZCTkVJc1EwRkJRVHRCUVVGQkxFMUJReTlETEUxQlFVRTdRVUZCUVN4TlFVTkJMR2RDUVVGblFpeExRVUZOTEVOQlFVRXNUMEZCUVR0QlFVRkJMRTFCUTNSQ0xHOUNRVUZ2UWl4TFFVRk5MRU5CUVVFc1YwRkJRVHRCUVVGQkxFMUJRekZDTEhGQ1FVRnhRaXh0UWtGQmRVSXNTVUZCUVN4SlFVRkJMRWRCUVVFc2JVSkJRVUVzUjBGQlFTeExRVUZCTzBGQlFVRXNTMEZETjBNc1EwRkJRU3hEUVVGQk8wRkJSVVFzU1VGQlFTeEpRVUZCTEVOQlFVc3NUMEZCVlN4SFFVRkJMRTFCUVVFc1EwRkJRVHRCUVVWbUxFbEJRVUVzU1VGQlFTeERRVUZMTEZGQlFWTXNRMEZCUVR0QlFVRkJMRTFCUTFvc1UwRkJVeXhaUVVGaExFTkJRVUVzVDBGQlFUdEJRVUZCTEUxQlEzUkNMR0ZCUVdFc1dVRkJZU3hEUVVGQkxGZEJRVUU3UVVGQlFTeE5RVU14UWl4aFFVRmxMRVZCUVVFc1kwRkJRVHRCUVVGQkxFMUJRMllzVVVGQlFTeEZRVUZWTEU5QlFVOHNTVUZCU3l4RFFVRkJMRVZCUVVFN1FVRkJRU3hMUVVOMlFpeERRVUZCTEVOQlFVRTdRVUZIUkN4SlFVRkpMRWxCUVVFc1RVRkJRU3hEUVVGUExFdEJRVXNzWVVGQlpTeEZRVUZCTzBGQlF6ZENMRTFCUVUwc1RVRkJRU3hqUVVGQkxFZEJRV2xDTEZWQlFWY3NRMEZCUVN4WlFVRkJMRU5CUVdFc1NVRkJTU3hEUVVGQkxFTkJRVUU3UVVGRGJrUXNUVUZCU3l4SlFVRkJMRU5CUVVFc1MwRkJRU3hEUVVGTkxFbEJRVWtzWTBGQlpTeERRVUZCTEdkQ1FVRkJMRU5CUVdsQ0xFMUJRVTBzU1VGQlN5eERRVUZCTEZkQlFVRXNSVUZCWVN4RFFVRkRMRU5CUVVFc1EwRkJRVHRCUVVGQkxFdEJRekZGTzBGQlFVRXNSMEZEUmp0QlFVRkJMRVZCUlZFc2EwSkJRV3RDTEUxQlFUWkNMRVZCUVVFN1FVRkRja1FzU1VGQlR5eFBRVUZCTEUxQlFVRXNTVUZCVlN4TlFVRlBMRU5CUVVFc1NVRkJRU3hEUVVGTExFbEJRVXNzUTBGQlFTeFBRVUZCTEVkQlFWVXNUMEZCVHl4SlFVRkxMRU5CUVVFc1NVRkJRU3hEUVVGTExFOUJRVlVzUjBGQlFTeE5RVUZCTEVOQlFVOHNVMEZCVlN4RFFVRkJMRTlCUVVFc1EwRkJRVHRCUVVGQkxFZEJRekZHTzBGQlFVRXNSVUZGVHl4VFFVRnhReXhIUVVGQk8wRkJRekZETEVsQlFVRXNUMEZCVHl4SlFVRkxMRU5CUVVFc1QwRkJRU3hEUVVGQk8wRkJRVUVzUjBGRFpEdEJRVUZCTEVWQlJVOHNaVUZCWjBNc1IwRkJRVHRCUVhSUWVrTXNTVUZCUVN4SlFVRkJMRVZCUVVFc1EwRkJRVHRCUVhWUVNTeEpRVUZCTEVOQlFVRXNSVUZCUVN4SFFVRkJMRWxCUVVFc1EwRkJTeXhoUVVGTUxFdEJRVUVzU1VGQlFTeEhRVUZCTEVWQlFVRXNSMEZCUVN4SlFVRkJMRU5CUVVzc1lVRkJhMElzUjBGQlFTeEpRVUZCTEVOQlFVc3NhVUpCUVd0Q0xFVkJRVUVzUTBGQlFUdEJRVVU1UXl4SlFVRkJMRTlCUVU4c1NVRkJTeXhEUVVGQkxHRkJRVUVzUTBGQlFUdEJRVUZCTEVkQlEyUTdRVUZCUVN4RlFXMURRU3hOUVVGaExHZENRVUZCTEVOQlFXbENMRkZCUVd0Q0xFVkJRVUVzVlVGQlFTeEZRVUU0UWl4alFVRnZReXhGUVVGQk8wRkJOMUp3U0N4SlFVRkJMRWxCUVVFc1JVRkJRU3hGUVVGQkxFVkJRVUVzUTBGQlFUdEJRVGhTU1N4SlFVRk5MRTFCUVVFc1JVRkJSU3hUUVVGVExGZEJRV0VzUlVGQlFTeFhRVUZCTEVWQlFXRXNhVUpCUVdsQ0xGRkJRVlVzUlVGQlFTeFpRVUZCTEV0QlFXbENMRWxCUVVzc1EwRkJRU3hMUVVGQkxFTkJRVUU3UVVGSE5VWXNTVUZCUVN4SlFVRkJMRU5CUVVzc2IwSkJRWFZDTEVkQlFVRXNTMEZCUVN4RFFVRkJMRU5CUVVFN1FVRkhOVUlzU1VGQlRTeE5RVUZCTEcxQ1FVRkJMRWRCUVhOQ0xFbEJRVXNzUTBGQlFTeExRVUZCTEVOQlFVMHNVVUZCWVN4TFFVRkJMRkZCUVVFc1EwRkJRVHRCUVVOd1JDeEpRVUZCTEUxQlFVMHNTMEZCU3l4WFFVRlpMRU5CUVVFc1VVRkJRU3hGUVVGVkxHdERRVUZqTEVWQlFVTXNSVUZCUnl4blFrRkJaMElzYlVKQlFXMUNMRU5CUVVFc1EwRkJRVHRCUVVWMFJpeEpRVUZCTEUxQlFVMHNTMEZCYjBJc1IwRkJRVHRCUVVGQkxFMUJRM2hDTEV0QlFVRXNSVUZCVHl4TFFVRkxMRXRCUVUwc1EwRkJRU3hMUVVGQk8wRkJRVUVzVFVGRGJFSXNUMEZCUVN4RlFVRlRMRXRCUVVzc1MwRkJUU3hEUVVGQkxFOUJRVUU3UVVGQlFTeE5RVU53UWl4WFFVRkJMRVZCUVdFc1MwRkJTeXhMUVVGTkxFTkJRVUVzVjBGQlFUdEJRVUZCTEUxQlEzaENMRVZCUVVrc1JVRkJRU3hEUVVGQk8wRkJRVUVzVFVGRFNpeEpRVUZOTEVWQlFVRXNVVUZCUVR0QlFVRkJMRXRCUTFJc1EwRkJRVHRCUVVsQkxFbEJRVTBzVFVGQlFTeGpRVUZCTEVkQlFVRXNRMEZCYVVJc1owSkJRVXNzVDBGQlRDeExRVUZCTEVsQlFVRXNSMEZCUVN4TFFVRkJMRU5CUVVFc1IwRkJRU3hGUVVGQkxFTkJRV01zZFVKQlFXUXNTVUZCYlVNc1IwRkJRU3hMUVVGQkxFTkJRVUVzUjBGQlFTeEZRVUZCTEVOQlFVRXNTVUZCUVN4RFFVRkJMRVZCUVVFc1JVRkJRU3hMUVVGQkxFVkJRVThzWTBGQll5eFhRVUZoTEVWQlFVRXNaVUZCUVN4RFFVRkJMRU5CUVVFN1FVRkZOVVlzU1VGQlFTeEpRVUZKTEdOQlFXdENMRWxCUVVFc1EwRkJReXhQUVVGUkxFTkJRVUVzWTBGQll5eERRVUZITEVWQlFVRTdRVUZET1VNc1RVRkJTeXhKUVVGQkxFTkJRVUVzWlVGQlFTeERRVUZuUWl4alFVRm5RaXhGUVVGQkxFbEJRVUVzUlVGQlRTeEpRVUZKTEVOQlFVRXNRMEZCUVR0QlFVRkJMRXRCUTJwRU8wRkJRVUVzUjBGRFJqdEJRVUZCTEVWQmIwWlBMSEZDUVVGM1FpeEhRVUZCTzBGQlF6ZENMRWxCUVVFc1NVRkJRU3hEUVVGTExHOUNRVUYxUWl4SFFVRkJMRXRCUVVFc1EwRkJRU3hEUVVGQk8wRkJRVUVzUjBGRE9VSTdRVUZCUVN4RlFVdFBMR2xDUVVGcFFpeFBRVUZuUXl4RlFVRkJPMEZCYWxveFJDeEpRVUZCTEVsQlFVRXNSVUZCUVN4RlFVRkJMRVZCUVVFc1JVRkJRU3hGUVVGQkxFVkJRVUVzUlVGQlFTeERRVUZCTzBGQmExcEpMRWxCUVVFc1RVRkJUU3hUUVVGVExFbEJRVXNzUTBGQlFTeFBRVUZCTEVOQlFVRTdRVUZGY0VJc1NVRkJRU3hKUVVGSkxFTkJRVU1zVFVGQlZTeEpRVUZCTEUxQlFVRXNRMEZCVHl4SlFVRkxMRU5CUVVFc1lVRkJRU3hKUVVGcFFpeERRVUZETEU5QlFWTXNSVUZCUVR0QlFVVndSQ3hOUVVGUExFOUJRVUVzWTBGQlFTeERRVUZCTzBGQlFVRXNTMEZEVkR0QlFVZEJMRWxCUVVFc1NVRkJTU3hKUVVGTExFTkJRVUVzVTBGQlFTeExRVUZqTEU5QlFWY3NTVUZCUVN4SlFVRkJMRU5CUVVzc2IwSkJRWE5DTEVWQlFVRTdRVUZETTBRc1RVRkJRU3hQUVVGUExFbEJRVXNzUTBGQlFTeHZRa0ZCUVN4RFFVRkJPMEZCUVVFc1MwRkRaRHRCUVVWQkxFbEJRVUVzVFVGQlRTeHZRa0ZCTkVNc1RVRkJUeXhEUVVGQkxGZEJRVUVzU1VGQlpTeEZRVUZGTEZkQlFXRXNSVUZCUVN4TFFVRkJMRVZCUVU4c1lVRkJZU3hMUVVGTkxFVkJRVUVzUTBGQlFUdEJRVVZxU0N4SlFVRkJMRTFCUVUwc2MwSkJRWE5DTEUxQlFVOHNRMEZCUVN4dFFrRkJRU3hEUVVGQk8wRkJRMjVETEVsQlFVRXNUVUZCVFN4alFVRmhMRVZCUVVzc1IwRkJRU3hEUVVGQkxFVkJRVUVzUjBGQlFTeEpRVUZCTEVOQlFVRXNiMEpCUVVFc1MwRkJUQ3hKUVVFeVFpeEhRVUZCTEV0QlFVRXNRMEZCUVN4SFFVRkJMRVZCUVVFc1EwRkJRU3hOUVVGQkxFdEJRVE5DTEZsQlFYRkRMRVZCUVVNc1EwRkJRVHRCUVVONlJDeEpRVUZCTEUxQlFVMHNXVUZCV1N4dFFrRkJiMElzUTBGQlFUdEJRVUZCTEUxQlEzQkRMRTFCUVUwc1QwRkJVU3hEUVVGQkxFMUJRVUU3UVVGQlFTeE5RVU5rTEZkQlFVRXNSVUZCWVN4TFFVRkxMRXRCUVUwc1EwRkJRU3hYUVVGQk8wRkJRVUVzVFVGRGVFSXNiVUpCUVVFN1FVRkJRU3hOUVVOQkxHdENRVUZyUWl4SlFVRkxMRU5CUVVFc1YwRkJRVHRCUVVGQkxFMUJRM1pDTEU5QlFVOHNUVUZCVHl4RFFVRkJMRTFCUVVFN1FVRkJRU3hOUVVOa0xGRkJRVUVzUlVGQlFTeERRVUZWTEVWQlFWRXNSMEZCUVN4UFFVRkJMRU5CUVVFc1QwRkJRU3hMUVVGU0xFbEJRV2xDTEVkQlFVRXNTMEZCUVN4RFFVRkJMRWRCUVVFc1JVRkJRU3hEUVVGQkxGRkJRVUU3UVVGQlFTeExRVU0xUWl4RFFVRkJMRU5CUVVFN1FVRkZSQ3hKUVVGQkxFbEJRVWtzUTBGQlF5eHJRa0ZCUVN4RFFVRnRRaXhUUVVGWExFVkJRVUVzVlVGQlFTeEZRVUZaTERCQ1FVRXdRaXhEUVVGSExFVkJRVUU3UVVGRE1VVXNUVUZCU3l4SlFVRkJMRU5CUVVFc1lVRkJRU3hGUVVGQkxFTkJRVUU3UVVGQlFTeExRVU5RTzBGQlJVRXNTVUZCU3l4SlFVRkJMRU5CUVVFc2IwSkJRVUVzUjBGQmRVSXNhVU5CUTNaQ0xFOUJSSFZDTEVOQlFVRXNSVUZCUVR0QlFVRkJMRTFCUlRGQ0xHTkJRV01zU1VGQlN5eERRVUZCTEdGQlFVRTdRVUZCUVN4TlFVTnVRaXhOUVVGUkxFVkJRVUVzVTBGQlFUdEJRVUZCTEV0QlExWXNRMEZCUVN4RFFVRkJPMEZCUlVFc1NVRkJTU3hKUVVGQkxFbEJRVUVzUTBGQlN5eHhRa0ZCY1VJc1YwRkJZU3hGUVVGQk8wRkJRM3BETEUxQlFVc3NTVUZCUVN4RFFVRkJMRzlDUVVGQkxFTkJRWEZDTEdOQlFXTXNiVUpCUVc5Q0xFTkJRVUU3UVVGQlFTeFJRVU14UkN4SlFVRkJMRVZCUVUwc1MwRkJTeXh2UWtGQmNVSXNRMEZCUVN4WFFVRkJPMEZCUVVFc1VVRkRhRU1zVjBGQllTeEZRVUZCTzBGQlFVRXNWVUZEV0N4VlFVRlZMRVZCUVVNN1FVRkJRU3hWUVVOWUxGZEJRVmNzUlVGQlF6dEJRVUZCTEZOQlEyUTdRVUZCUVN4UlFVTkJMRzFDUVVGQk8wRkJRVUVzVVVGRFFTeHJRa0ZCYTBJc1NVRkJTeXhEUVVGQkxGZEJRVUU3UVVGQlFTeFJRVU4yUWl4UFFVRlBMRTFCUVU4c1EwRkJRU3hOUVVGQk8wRkJRVUVzVVVGRFpDeFJRVUZCTEVWQlFVRXNRMEZCVlN4RlFVRlJMRWRCUVVFc1QwRkJRU3hEUVVGQkxFOUJRVUVzUzBGQlVpeEpRVUZwUWl4SFFVRkJMRXRCUVVFc1EwRkJRU3hIUVVGQkxFVkJRVUVzUTBGQlFTeFJRVUZCTzBGQlFVRXNUMEZETlVJc1EwRkJRU3hEUVVGQk8wRkJRVUVzUzBGRFNEdEJRVVZCTEVsQlFVa3NTVUZCUVN4RFFVRkRMR3RDUVVGclFpeFhRVUZoTEVWQlFVRTdRVUZEYkVNc1RVRkJRU3hKUVVGQkxFTkJRVXNzY1VKQlFYRkNMRlZCUVdFc1IwRkJRU3hMUVVGQkxFTkJRVUVzUTBGQlFUdEJRVUZCTEV0QlEzcERPMEZCUlVFc1NVRkJTU3hKUVVGQkxFTkJRVU1zYTBKQlFXdENMRmRCUVdFc1JVRkJRVHRCUVVOc1F5eE5RVUZCTEVsQlFVRXNRMEZCU3l4eFFrRkJjVUlzVjBGQll5eEhRVUZCTEV0QlFVRXNRMEZCUVN4RFFVRkJPMEZCUVVFc1MwRkRNVU03UVVGRlFTeEpRVUZCTEVsQlFVRXNRMEZCU3l4VFFVRlpMRWRCUVVFc1QwRkJRU3hEUVVGQk8wRkJRMnBDTEVsQlFVRXNUMEZCVHl4SlFVRkxMRU5CUVVFc2IwSkJRVUVzUTBGQlFUdEJRVUZCTEVkQlEyUTdRVUZCUVN4RlFYbEZVU3hwUWtGQmEwTXNSMEZCUVR0QlFVTjRReXhKUVVGTkxFMUJRVUVzU1VGQlFTeEhRVUZQTEcxQ1FVRnRRaXhKUVVGSkxFTkJRVUVzUTBGQlFUdEJRVVZ3UXl4SlFVRkJMRTFCUVUwc1QwRkJWU3hIUVVGQk8wRkJRVUVzVFVGRFpDeFhRVUZoTEVWQlFVRXNTVUZCUVN4SFFVRlBMRWxCUVVzc1EwRkJRU3hqUVVGQkxFVkJRVzFDTEVkQlFVRXNWMEZCUVR0QlFVRkJMRTFCUXpWRExGVkJRVlVzU1VGQlR5eEhRVUZCTEVsQlFVRXNRMEZCU3l4WlFVRmhMRU5CUVVFc1NVRkJTU3hKUVVGSkxGbEJRV0VzUlVGQlFUdEJRVUZCTEUxQlEzaEVMRXRCUVVzc1QwRkJVU3hEUVVGQkxFOUJRVUU3UVVGQlFTeE5RVU5pTEUxQlFVMHNUVUZCVFR0QlFVTldMRkZCUVVFc1NVRkJTU3hKUVVGTkxFVkJRVUU3UVVGRFVpeFZRVUZCTEU5QlFVOHNTMEZCU3l4TFFVRk5MRU5CUVVFc1NVRkJRU3hEUVVGQk8wRkJRVUVzVTBGRGNFSTdRVUZEUVN4UlFVRkJMRTlCUVU4c2JVSkJRVzlDTEVOQlFVRXNSMEZCUVN4RFFVRkJPMEZCUVVFc1QwRkROMEk3UVVGQlFTeE5RVU5CTEhGQ1FVRnhRaXhKUVVGTExFTkJRVUVzYjBKQlFVRTdRVUZCUVN4TlFVTXhRaXd3UWtGQk1FSXNTVUZCU3l4RFFVRkJMSGxDUVVGQk8wRkJRVUVzVFVGREwwSXNiMEpCUVc5Q0xFbEJRVXNzUTBGQlFTeHRRa0ZCUVR0QlFVRkJMRTFCUTNwQ0xIVkNRVUYxUWl4SlFVRkxMRU5CUVVFc2MwSkJRVUU3UVVGQlFTeExRVU01UWl4RFFVRkJPMEZCUlVFc1NVRkJTU3hKUVVGQkxFbEJRVUVzUTBGQlN5eE5RVUZOTEd0Q1FVRnZRaXhGUVVGQk8wRkJRMnBETEUxQlFVc3NTVUZCUVN4RFFVRkJMRXRCUVVFc1EwRkJUU3hyUWtGQmJVSXNRMEZCUVN4SlFVRkJMRVZCUVUwc1QwRkJUeXhEUVVGQkxFTkJRVUU3UVVGQlFTeExRVU0zUXp0QlFVVkJMRWxCUVU4c1QwRkJRU3hQUVVGQkxFTkJRVUU3UVVGQlFTeEhRVU5VTzBGQlEwWXNRMEZCUVR0QlFUTmpZU3hSUVVGQkxFTkJSMGNzVTBGQldTeEhRVUZCTEdkQ1FVRkJMRU5CUVVFN1FVRXdZelZDTEZOQlFWTXNkVUpCUVhWQ0xFVkJRWGxDTEVWQlFVRTdRVUZEZGtRc1JVRkJRU3hOUVVGTkxFMUJRVk1zUjBGQlFTeEpRVUZKTEZkQlFWa3NRMEZCUVN4TlFVRk5MRWxCUVVrc1EwRkJRU3hEUVVGQk8wRkJSWHBETEVWQlFVRXNUVUZCUVN4RFFVRlBMRWxCUVU4c1IwRkJRVHRCUVVGQkxFbEJRMW9zUlVGQlFUdEJRVUZCTEVsQlEwRXNTVUZCVFN4RlFVRkJMRVZCUVVFN1FVRkJRU3hKUVVOT0xFbEJRVTBzUlVGQlFTeEhRVUZCTzBGQlFVRXNTVUZEVGl4TlFVRk5MRlZCUVZjc1EwRkJRU3hMUVVGQk8wRkJRVUVzU1VGRGFrSXNUVUZCVVN4RlFVRkJMRVZCUVVFN1FVRkJRU3hKUVVOU0xFOUJRVk1zUlVGQlFTeEZRVUZCTzBGQlFVRXNTVUZEVkN4SlFVRk5MRVZCUVVFN1FVRkJRU3hOUVVOS0xFMUJRVkVzUlVGQlFUdEJRVUZCTEZGQlEwNHNTVUZCVFN4RlFVRkJMRVZCUVVFN1FVRkJRU3hQUVVOU08wRkJRVUVzVFVGRFFTeFhRVUZoTEVWQlFVRXNSVUZCUVR0QlFVRkJMRTFCUTJJc1QwRkJUeXhGUVVGRE8wRkJRVUVzVFVGRFVpeExRVUZQTEVWQlFVRTdRVUZCUVN4UlFVTk1MRXRCUVU4c1JVRkJRU3hGUVVGQk8wRkJRVUVzVVVGRFVDeExRVUZQTEVWQlFVRXNOa0pCUVVFN1FVRkJRU3hQUVVOVU8wRkJRVUVzVFVGRFFTeGhRVUZoTEVWQlFVTTdRVUZCUVN4TlFVTmtMRTlCUVZNc1JVRkJRU3hGUVVGQk8wRkJRVUVzVFVGRFZDeFBRVUZUTEVWQlFVRXNSVUZCUVR0QlFVRkJMRXRCUTFnN1FVRkJRU3hIUVVOR0xFTkJRVUU3UVVGRlFTeEZRVUZQTEU5QlFVRXNUVUZC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
|