From 3c47e4f3bb553675439c0aaa6464b6bce991dfeb Mon Sep 17 00:00:00 2001 From: grechka62 Date: Thu, 4 Apr 2024 14:04:59 +0300 Subject: [PATCH] Revert "Support prototypes in android" 8162da5a9c891a7adc34b1a35c231702b2e419e8 --- .mapping.json | 67 ------ .../generators/kotlin/generator.py | 125 +++++++++-- .../generators/kotlin/kotlin_entities.py | 199 +++--------------- .../api_generator/schema/modeling/entities.py | 1 - .../references/kotlin/EntityWithArray.kt | 6 +- .../kotlin/EntityWithArrayOfEnums.kt | 6 +- .../kotlin/EntityWithArrayOfExpressions.kt | 6 - .../kotlin/EntityWithArrayOfNestedItems.kt | 14 +- .../kotlin/EntityWithArrayWithTransform.kt | 6 - .../kotlin/EntityWithComplexProperty.kt | 12 -- ...tityWithComplexPropertyWithDefaultValue.kt | 12 -- .../kotlin/EntityWithEntityProperty.kt | 6 - .../kotlin/EntityWithJsonProperty.kt | 6 - .../EntityWithOptionalComplexProperty.kt | 12 -- .../kotlin/EntityWithOptionalProperty.kt | 6 - .../EntityWithOptionalStringEnumProperty.kt | 6 - .../EntityWithPropertyWithDefaultValue.kt | 20 -- .../references/kotlin/EntityWithRawArray.kt | 6 - .../kotlin/EntityWithRequiredProperty.kt | 6 - .../kotlin/EntityWithSimpleProperties.kt | 22 -- .../kotlin/EntityWithStringArrayProperty.kt | 6 - .../kotlin/EntityWithStringEnumProperty.kt | 6 - ...yWithStringEnumPropertyWithDefaultValue.kt | 6 - .../kotlin/EntityWithoutProperties.kt | 2 - .../tests/references/kotlin/WithDefault.kt | 2 - .../tests/references/kotlin/WithoutDefault.kt | 2 - .../not_templates_kotlin/EntityWithArray.kt | 6 +- .../EntityWithArrayOfEnums.kt | 6 +- .../EntityWithArrayOfExpressions.kt | 6 - .../EntityWithArrayOfNestedItems.kt | 14 +- .../EntityWithArrayWithTransform.kt | 6 - .../EntityWithComplexProperty.kt | 12 -- ...tityWithComplexPropertyWithDefaultValue.kt | 12 -- .../EntityWithEntityProperty.kt | 6 - .../EntityWithJsonProperty.kt | 6 - .../EntityWithOptionalComplexProperty.kt | 12 -- .../EntityWithOptionalProperty.kt | 6 - .../EntityWithOptionalStringEnumProperty.kt | 6 - .../EntityWithPropertyWithDefaultValue.kt | 20 -- .../EntityWithRawArray.kt | 6 - .../EntityWithRequiredProperty.kt | 6 - .../EntityWithSimpleProperties.kt | 22 -- .../EntityWithStringArrayProperty.kt | 6 - .../EntityWithStringEnumProperty.kt | 6 - ...yWithStringEnumPropertyWithDefaultValue.kt | 6 - .../EntityWithoutProperties.kt | 2 - .../not_templates_kotlin/WithDefault.kt | 2 - .../not_templates_kotlin/WithoutDefault.kt | 2 - .../reference_clean_unused_definitions.json | 21 ++ .../references/reference_merge_allOfs.json | 21 ++ .../reference_resolve_references.json | 21 ++ .../reference_resolve_structure.json | 21 ++ .../shared_data_kotlin/EntityWithArray.kt | 6 +- .../EntityWithArrayOfEnums.kt | 6 +- .../EntityWithArrayOfExpressions.kt | 6 - .../EntityWithArrayOfNestedItems.kt | 14 +- .../EntityWithArrayWithTransform.kt | 6 - .../EntityWithComplexProperty.kt | 12 -- ...tityWithComplexPropertyWithDefaultValue.kt | 12 -- .../EntityWithEntityProperty.kt | 6 - .../EntityWithJsonProperty.kt | 6 - .../EntityWithOptionalComplexProperty.kt | 12 -- .../EntityWithOptionalProperty.kt | 6 - .../EntityWithOptionalStringEnumProperty.kt | 6 - .../EntityWithPropertyWithDefaultValue.kt | 20 -- .../shared_data_kotlin/EntityWithRawArray.kt | 6 - .../EntityWithRequiredProperty.kt | 6 - .../EntityWithSimpleProperties.kt | 22 -- .../EntityWithStringArrayProperty.kt | 6 - .../EntityWithStringEnumProperty.kt | 6 - ...yWithStringEnumPropertyWithDefaultValue.kt | 6 - .../EntityWithoutProperties.kt | 2 - .../shared_data_kotlin/WithDefault.kt | 2 - .../shared_data_kotlin/WithoutDefault.kt | 2 - .../testing-generator-config.json | 2 +- .../div-data/div2-generator-config.json | 2 +- .../div2-shared-data-generator-config.json | 2 +- .../div/internal/core/DivItemBuilderResult.kt | 13 -- .../com/yandex/div/evaluable/Evaluator.kt | 2 +- .../div/shimmer/DivShimmerExtensionHandler.kt | 5 +- .../DivSizeProviderExtensionHandler.kt | 2 +- .../DivSizeProviderVariablesHolder.kt | 4 +- .../DivSizeProviderExtensionHandlerTest.kt | 2 +- .../widget/DivLinearLayoutManager.kt | 4 +- .../core/DivCustomContainerChildFactory.kt | 6 +- .../java/com/yandex/div/core/DivPreloader.kt | 2 +- .../div/core/downloader/DivPatchApply.kt | 54 ++--- .../div/core/downloader/DivPatchManager.kt | 12 +- .../core/expression/ExpressionResolverImpl.kt | 22 +- .../div/core/expression/ExpressionsRuntime.kt | 4 +- .../expression/ExpressionsRuntimeProvider.kt | 7 +- .../expression/triggers/TriggersController.kt | 2 +- .../variables/LocalVariableController.kt | 33 --- .../variables/VariableController.kt | 127 ++++++++++- .../variables/VariableControllerImpl.kt | 138 ------------ .../div/core/player/DivVideoActionHandler.kt | 4 +- .../com/yandex/div/core/state/DivPathUtils.kt | 10 +- .../yandex/div/core/timer/TimerController.kt | 4 +- .../div/core/tooltip/DivTooltipController.kt | 57 +++-- .../com/yandex/div/core/util/DivTreeWalk.kt | 78 +++---- .../java/com/yandex/div/core/util/DivUtil.kt | 2 +- .../yandex/div/core/view2/BindingContext.kt | 8 - .../com/yandex/div/core/view2/Div2Builder.kt | 10 +- .../com/yandex/div/core/view2/Div2View.kt | 91 ++------ .../com/yandex/div/core/view2/DivBinder.kt | 105 +++++---- .../div/core/view2/DivImagePreloader.kt | 2 +- .../div/core/view2/DivTransitionBuilder.kt | 29 ++- .../yandex/div/core/view2/DivViewBinder.kt | 6 +- .../yandex/div/core/view2/DivViewCreator.kt | 4 +- .../view2/DivVisibilityActionDispatcher.kt | 29 +-- .../core/view2/DivVisibilityActionTracker.kt | 61 +++--- .../view2/SightActionIsEnabledObserver.kt | 11 +- .../core/view2/animations/DivComparator.kt | 15 +- .../core/view2/divs/BaseDivViewExtensions.kt | 57 ++--- .../div/core/view2/divs/DivActionBinder.kt | 116 +++++----- .../core/view2/divs/DivBackgroundBinder.kt | 55 +++-- .../div/core/view2/divs/DivBaseBinder.kt | 38 ++-- .../div/core/view2/divs/DivContainerBinder.kt | 185 +++++----------- .../div/core/view2/divs/DivCustomBinder.kt | 18 +- .../div/core/view2/divs/DivFocusBinder.kt | 21 +- .../div/core/view2/divs/DivGifImageBinder.kt | 25 +-- .../div/core/view2/divs/DivGridBinder.kt | 37 +--- .../div/core/view2/divs/DivImageBinder.kt | 87 ++++---- .../div/core/view2/divs/DivIndicatorBinder.kt | 8 +- .../div/core/view2/divs/DivInputBinder.kt | 22 +- .../div/core/view2/divs/DivPagerBinder.kt | 62 +++--- .../core/view2/divs/DivPatchableAdapter.kt | 24 +-- .../div/core/view2/divs/DivSelectBinder.kt | 33 ++- .../div/core/view2/divs/DivSeparatorBinder.kt | 19 +- .../div/core/view2/divs/DivSliderBinder.kt | 8 +- .../div/core/view2/divs/DivStateBinder.kt | 78 +++---- .../div/core/view2/divs/DivTextBinder.kt | 76 ++++--- .../div/core/view2/divs/DivVideoBinder.kt | 34 ++- .../divs/PagerSelectedActionsDispatcher.kt | 14 +- .../view2/divs/gallery/DivGalleryBinder.kt | 66 +++--- .../divs/gallery/DivGalleryItemHelper.kt | 11 +- .../divs/gallery/DivGridLayoutManager.kt | 8 +- .../core/view2/divs/tabs/DivTabsAdapter.kt | 24 +-- .../div/core/view2/divs/tabs/DivTabsBinder.kt | 41 ++-- .../view2/divs/tabs/DivTabsEventManager.kt | 18 +- .../div/core/view2/reuse/ExistingToken.kt | 39 ++-- .../yandex/div/core/view2/reuse/NewToken.kt | 32 ++- .../yandex/div/core/view2/reuse/RebindTask.kt | 17 +- .../com/yandex/div/core/view2/reuse/Token.kt | 9 +- .../core/view2/reuse/util/RebindLogUtils.kt | 8 +- .../core/view2/reuse/util/RebindTokenUtils.kt | 2 +- .../div/core/view2/reuse/util/RebindUtils.kt | 7 +- .../view2/state/DivJoinedStateSwitcher.kt | 2 +- .../view2/state/DivMultipleStateSwitcher.kt | 4 +- .../internal/core/DivCollectionExtensions.kt | 61 +----- .../expression/ExpressionResolverImplTest.kt | 6 +- .../triggers/TriggersControllerTest.kt | 6 +- .../variables/TwoWayVariableBinderTest.kt | 2 +- .../variables/VariableControllerTest.kt | 2 +- .../core/tooltip/DivTooltipControllerTest.kt | 27 +-- .../yandex/div/core/util/DivWalkTreeTest.kt | 10 +- .../DivVisibilityActionDispatcherTest.kt | 25 +-- .../view2/DivVisibilityActionTrackerTest.kt | 31 +-- .../yandex/div/core/view2/divs/Assertions.kt | 10 +- .../div/core/view2/divs/DivBaseBinderTest.kt | 19 +- .../div/core/view2/divs/DivBinderTest.kt | 4 +- .../core/view2/divs/DivContainerBinderTest.kt | 16 +- .../div/core/view2/divs/DivFocusBinderTest.kt | 6 +- .../core/view2/divs/DivGalleryBinderTest.kt | 13 +- .../div/core/view2/divs/DivGridBinderTest.kt | 8 +- .../div/core/view2/divs/DivImageBinderTest.kt | 42 ++-- .../div/core/view2/divs/DivPagerBinderTest.kt | 19 +- .../core/view2/divs/DivSelectBinderTest.kt | 12 +- .../core/view2/divs/DivSeparatorBinderTest.kt | 8 +- .../divs/DivStateBinderReleaseViewTest.kt | 10 +- .../div/core/view2/divs/DivStateBinderTest.kt | 62 +++--- .../div/core/view2/divs/DivTextBinderTest.kt | 20 +- .../PagerSelectedActionsDispatcherTest.kt | 11 +- .../view2/state/DivJoinedStateSwitcherTest.kt | 12 +- .../state/DivMultipleStateSwitcherTest.kt | 23 +- .../div-container/item_builder/step0.png | Bin 12455 -> 0 bytes .../div-container/item_builder/step1.png | Bin 9437 -> 0 bytes .../div-container/item_builder/step2.png | Bin 13567 -> 0 bytes .../div-container/item_builder/step3.png | Bin 15174 -> 0 bytes .../item_builder/item-builder.png | Bin 12455 -> 0 bytes .../item_builder/nested-builders.png | Bin 7610 -> 0 bytes .../non-unique-matched-selectors.png | Bin 1373 -> 0 bytes .../div-container/item_builder/step0.png | Bin 29238 -> 0 bytes .../div-container/item_builder/step1.png | Bin 21965 -> 0 bytes .../div-container/item_builder/step2.png | Bin 31533 -> 0 bytes .../div-container/item_builder/step3.png | Bin 35098 -> 0 bytes .../item_builder/item-builder.png | Bin 29238 -> 0 bytes .../item_builder/nested-builders.png | Bin 17721 -> 0 bytes .../non-unique-matched-selectors.png | Bin 3031 -> 0 bytes .../div-container/item_builder/step0.png | Bin 17786 -> 0 bytes .../div-container/item_builder/step1.png | Bin 13375 -> 0 bytes .../div-container/item_builder/step2.png | Bin 19238 -> 0 bytes .../div-container/item_builder/step3.png | Bin 21413 -> 0 bytes .../item_builder/item-builder.png | Bin 17786 -> 0 bytes .../item_builder/nested-builders.png | Bin 10811 -> 0 bytes .../non-unique-matched-selectors.png | Bin 1882 -> 0 bytes .../div-container/item_builder/step0.png | Bin 55611 -> 0 bytes .../div-container/item_builder/step1.png | Bin 41234 -> 0 bytes .../div-container/item_builder/step2.png | Bin 58984 -> 0 bytes .../div-container/item_builder/step3.png | Bin 64809 -> 0 bytes .../item_builder/item-builder.png | Bin 55611 -> 0 bytes .../item_builder/nested-builders.png | Bin 39667 -> 0 bytes .../non-unique-matched-selectors.png | Bin 6528 -> 0 bytes .../div-container/item_builder/step0.png | Bin 43134 -> 0 bytes .../div-container/item_builder/step1.png | Bin 32229 -> 0 bytes .../div-container/item_builder/step2.png | Bin 45760 -> 0 bytes .../div-container/item_builder/step3.png | Bin 50397 -> 0 bytes .../item_builder/item-builder.png | Bin 43134 -> 0 bytes .../item_builder/nested-builders.png | Bin 24847 -> 0 bytes .../non-unique-matched-selectors.png | Bin 4172 -> 0 bytes .../div-container/item_builder/step0.png | Bin 24709 -> 0 bytes .../div-container/item_builder/step1.png | Bin 18323 -> 0 bytes .../div-container/item_builder/step2.png | Bin 26152 -> 0 bytes .../div-container/item_builder/step3.png | Bin 28932 -> 0 bytes .../item_builder/item-builder.png | Bin 24709 -> 0 bytes .../item_builder/nested-builders.png | Bin 18049 -> 0 bytes .../non-unique-matched-selectors.png | Bin 3063 -> 0 bytes .../div-container/item_builder/step0.png | Bin 18742 -> 0 bytes .../div-container/item_builder/step1.png | Bin 14061 -> 0 bytes .../div-container/item_builder/step2.png | Bin 20144 -> 0 bytes .../div-container/item_builder/step3.png | Bin 22314 -> 0 bytes .../item_builder/item-builder.png | Bin 18742 -> 0 bytes .../item_builder/nested-builders.png | Bin 10803 -> 0 bytes .../non-unique-matched-selectors.png | Bin 1880 -> 0 bytes .../div-container/item_builder/step0.png | Bin 26413 -> 0 bytes .../div-container/item_builder/step1.png | Bin 19661 -> 0 bytes .../div-container/item_builder/step2.png | Bin 27999 -> 0 bytes .../div-container/item_builder/step3.png | Bin 31054 -> 0 bytes .../item_builder/item-builder.png | Bin 26413 -> 0 bytes .../item_builder/nested-builders.png | Bin 18764 -> 0 bytes .../non-unique-matched-selectors.png | Bin 3182 -> 0 bytes .../div-container/item_builder/step0.png | Bin 20344 -> 0 bytes .../div-container/item_builder/step1.png | Bin 15261 -> 0 bytes .../div-container/item_builder/step2.png | Bin 21805 -> 0 bytes .../div-container/item_builder/step3.png | Bin 23903 -> 0 bytes .../item_builder/item-builder.png | Bin 20344 -> 0 bytes .../item_builder/nested-builders.png | Bin 11301 -> 0 bytes .../non-unique-matched-selectors.png | Bin 1987 -> 0 bytes schema/div-collection-item-builder.json | 11 - schema/div-container.json | 11 +- schema/div-gallery.json | 5 + schema/div-grid.json | 5 + schema/div-pager.json | 5 + schema/div-state.json | 5 + schema/div-tabs.json | 5 + .../div-container/item_builder.json | 1 - .../item_builder/item-builder.json | 1 - .../item_builder/nested-builders.json | 1 - .../non-unique-matched-selectors.json | 1 - test_data/test_schema/entity_with_array.json | 7 + .../entity_with_array_of_enums.json | 7 + .../entity_with_array_of_nested_items.json | 7 + 252 files changed, 1461 insertions(+), 2356 deletions(-) delete mode 100644 client/android/div-data/src/main/java/com/yandex/div/internal/core/DivItemBuilderResult.kt delete mode 100644 client/android/div/src/main/java/com/yandex/div/core/expression/variables/LocalVariableController.kt delete mode 100644 client/android/div/src/main/java/com/yandex/div/core/expression/variables/VariableControllerImpl.kt delete mode 100644 client/android/div/src/main/java/com/yandex/div/core/view2/BindingContext.kt delete mode 100644 client/android/divkit-demo-app/src/screenshotTest/screenshots/API23_HDPI_480x800/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step0.png delete mode 100644 client/android/divkit-demo-app/src/screenshotTest/screenshots/API23_HDPI_480x800/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step1.png delete mode 100644 client/android/divkit-demo-app/src/screenshotTest/screenshots/API23_HDPI_480x800/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step2.png delete mode 100644 client/android/divkit-demo-app/src/screenshotTest/screenshots/API23_HDPI_480x800/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step3.png delete mode 100644 client/android/divkit-demo-app/src/screenshotTest/screenshots/API23_HDPI_480x800/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/item-builder.png delete mode 100644 client/android/divkit-demo-app/src/screenshotTest/screenshots/API23_HDPI_480x800/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/nested-builders.png delete mode 100644 client/android/divkit-demo-app/src/screenshotTest/screenshots/API23_HDPI_480x800/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/non-unique-matched-selectors.png delete mode 100644 client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_XXHDPI_1080x1920/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step0.png delete mode 100644 client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_XXHDPI_1080x1920/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step1.png delete mode 100644 client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_XXHDPI_1080x1920/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step2.png delete mode 100644 client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_XXHDPI_1080x1920/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step3.png delete mode 100644 client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_XXHDPI_1080x1920/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/item-builder.png delete mode 100644 client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_XXHDPI_1080x1920/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/nested-builders.png delete mode 100644 client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_XXHDPI_1080x1920/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/non-unique-matched-selectors.png delete mode 100644 client/android/divkit-demo-app/src/screenshotTest/screenshots/API25_XHDPI_720x1280/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step0.png delete mode 100644 client/android/divkit-demo-app/src/screenshotTest/screenshots/API25_XHDPI_720x1280/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step1.png delete mode 100644 client/android/divkit-demo-app/src/screenshotTest/screenshots/API25_XHDPI_720x1280/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step2.png delete mode 100644 client/android/divkit-demo-app/src/screenshotTest/screenshots/API25_XHDPI_720x1280/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step3.png delete mode 100644 client/android/divkit-demo-app/src/screenshotTest/screenshots/API25_XHDPI_720x1280/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/item-builder.png delete mode 100644 client/android/divkit-demo-app/src/screenshotTest/screenshots/API25_XHDPI_720x1280/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/nested-builders.png delete mode 100644 client/android/divkit-demo-app/src/screenshotTest/screenshots/API25_XHDPI_720x1280/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/non-unique-matched-selectors.png delete mode 100644 client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewPixelCopy/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step0.png delete mode 100644 client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewPixelCopy/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step1.png delete mode 100644 client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewPixelCopy/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step2.png delete mode 100644 client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewPixelCopy/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step3.png delete mode 100644 client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewPixelCopy/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/item-builder.png delete mode 100644 client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewPixelCopy/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/nested-builders.png delete mode 100644 client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewPixelCopy/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/non-unique-matched-selectors.png delete mode 100644 client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step0.png delete mode 100644 client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step1.png delete mode 100644 client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step2.png delete mode 100644 client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step3.png delete mode 100644 client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/item-builder.png delete mode 100644 client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/nested-builders.png delete mode 100644 client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/non-unique-matched-selectors.png delete mode 100644 client/android/divkit-demo-app/src/screenshotTest/screenshots/API27_XHDPI_720x1440/viewPixelCopy/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step0.png delete mode 100644 client/android/divkit-demo-app/src/screenshotTest/screenshots/API27_XHDPI_720x1440/viewPixelCopy/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step1.png delete mode 100644 client/android/divkit-demo-app/src/screenshotTest/screenshots/API27_XHDPI_720x1440/viewPixelCopy/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step2.png delete mode 100644 client/android/divkit-demo-app/src/screenshotTest/screenshots/API27_XHDPI_720x1440/viewPixelCopy/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step3.png delete mode 100644 client/android/divkit-demo-app/src/screenshotTest/screenshots/API27_XHDPI_720x1440/viewPixelCopy/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/item-builder.png delete mode 100644 client/android/divkit-demo-app/src/screenshotTest/screenshots/API27_XHDPI_720x1440/viewPixelCopy/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/nested-builders.png delete mode 100644 client/android/divkit-demo-app/src/screenshotTest/screenshots/API27_XHDPI_720x1440/viewPixelCopy/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/non-unique-matched-selectors.png delete mode 100644 client/android/divkit-demo-app/src/screenshotTest/screenshots/API27_XHDPI_720x1440/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step0.png delete mode 100644 client/android/divkit-demo-app/src/screenshotTest/screenshots/API27_XHDPI_720x1440/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step1.png delete mode 100644 client/android/divkit-demo-app/src/screenshotTest/screenshots/API27_XHDPI_720x1440/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step2.png delete mode 100644 client/android/divkit-demo-app/src/screenshotTest/screenshots/API27_XHDPI_720x1440/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step3.png delete mode 100644 client/android/divkit-demo-app/src/screenshotTest/screenshots/API27_XHDPI_720x1440/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/item-builder.png delete mode 100644 client/android/divkit-demo-app/src/screenshotTest/screenshots/API27_XHDPI_720x1440/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/nested-builders.png delete mode 100644 client/android/divkit-demo-app/src/screenshotTest/screenshots/API27_XHDPI_720x1440/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/non-unique-matched-selectors.png delete mode 100644 client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_1080x2160/viewPixelCopy/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step0.png delete mode 100644 client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_1080x2160/viewPixelCopy/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step1.png delete mode 100644 client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_1080x2160/viewPixelCopy/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step2.png delete mode 100644 client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_1080x2160/viewPixelCopy/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step3.png delete mode 100644 client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_1080x2160/viewPixelCopy/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/item-builder.png delete mode 100644 client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_1080x2160/viewPixelCopy/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/nested-builders.png delete mode 100644 client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_1080x2160/viewPixelCopy/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/non-unique-matched-selectors.png delete mode 100644 client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_1080x2160/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step0.png delete mode 100644 client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_1080x2160/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step1.png delete mode 100644 client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_1080x2160/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step2.png delete mode 100644 client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_1080x2160/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step3.png delete mode 100644 client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_1080x2160/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/item-builder.png delete mode 100644 client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_1080x2160/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/nested-builders.png delete mode 100644 client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_1080x2160/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/non-unique-matched-selectors.png diff --git a/.mapping.json b/.mapping.json index 7bd6f393b..8c8a47eb2 100644 --- a/.mapping.json +++ b/.mapping.json @@ -557,7 +557,6 @@ "client/android/div-data/src/main/java/com/yandex/div/data/Variable.kt":"divkit/public/client/android/div-data/src/main/java/com/yandex/div/data/Variable.kt", "client/android/div-data/src/main/java/com/yandex/div/data/VariableDeclarationException.kt":"divkit/public/client/android/div-data/src/main/java/com/yandex/div/data/VariableDeclarationException.kt", "client/android/div-data/src/main/java/com/yandex/div/data/VariableMutationException.kt":"divkit/public/client/android/div-data/src/main/java/com/yandex/div/data/VariableMutationException.kt", - "client/android/div-data/src/main/java/com/yandex/div/internal/core/DivItemBuilderResult.kt":"divkit/public/client/android/div-data/src/main/java/com/yandex/div/internal/core/DivItemBuilderResult.kt", "client/android/div-data/src/main/java/com/yandex/div/util/DivDataUtils.kt":"divkit/public/client/android/div-data/src/main/java/com/yandex/div/util/DivDataUtils.kt", "client/android/div-data/src/test/java/com/yandex/div/data/MutableExpressionTest.kt":"divkit/public/client/android/div-data/src/test/java/com/yandex/div/data/MutableExpressionTest.kt", "client/android/div-data/src/test/java/com/yandex/div/data/VariableTest.kt":"divkit/public/client/android/div-data/src/test/java/com/yandex/div/data/VariableTest.kt", @@ -961,11 +960,9 @@ "client/android/div/src/main/java/com/yandex/div/core/expression/variables/DivVariableController.kt":"divkit/public/client/android/div/src/main/java/com/yandex/div/core/expression/variables/DivVariableController.kt", "client/android/div/src/main/java/com/yandex/div/core/expression/variables/DivVariablesParser.kt":"divkit/public/client/android/div/src/main/java/com/yandex/div/core/expression/variables/DivVariablesParser.kt", "client/android/div/src/main/java/com/yandex/div/core/expression/variables/GlobalVariableController.kt":"divkit/public/client/android/div/src/main/java/com/yandex/div/core/expression/variables/GlobalVariableController.kt", - "client/android/div/src/main/java/com/yandex/div/core/expression/variables/LocalVariableController.kt":"divkit/public/client/android/div/src/main/java/com/yandex/div/core/expression/variables/LocalVariableController.kt", "client/android/div/src/main/java/com/yandex/div/core/expression/variables/Observers.kt":"divkit/public/client/android/div/src/main/java/com/yandex/div/core/expression/variables/Observers.kt", "client/android/div/src/main/java/com/yandex/div/core/expression/variables/TwoWayVariableBinder.kt":"divkit/public/client/android/div/src/main/java/com/yandex/div/core/expression/variables/TwoWayVariableBinder.kt", "client/android/div/src/main/java/com/yandex/div/core/expression/variables/VariableController.kt":"divkit/public/client/android/div/src/main/java/com/yandex/div/core/expression/variables/VariableController.kt", - "client/android/div/src/main/java/com/yandex/div/core/expression/variables/VariableControllerImpl.kt":"divkit/public/client/android/div/src/main/java/com/yandex/div/core/expression/variables/VariableControllerImpl.kt", "client/android/div/src/main/java/com/yandex/div/core/expression/variables/VariableDeclarationNotifier.kt":"divkit/public/client/android/div/src/main/java/com/yandex/div/core/expression/variables/VariableDeclarationNotifier.kt", "client/android/div/src/main/java/com/yandex/div/core/expression/variables/VariableSource.kt":"divkit/public/client/android/div/src/main/java/com/yandex/div/core/expression/variables/VariableSource.kt", "client/android/div/src/main/java/com/yandex/div/core/extension/DivExtensionController.kt":"divkit/public/client/android/div/src/main/java/com/yandex/div/core/extension/DivExtensionController.kt", @@ -1033,7 +1030,6 @@ "client/android/div/src/main/java/com/yandex/div/core/util/validator/ValidatorItemData.kt":"divkit/public/client/android/div/src/main/java/com/yandex/div/core/util/validator/ValidatorItemData.kt", "client/android/div/src/main/java/com/yandex/div/core/view2/AccessibilityDelegateWrapper.kt":"divkit/public/client/android/div/src/main/java/com/yandex/div/core/view2/AccessibilityDelegateWrapper.kt", "client/android/div/src/main/java/com/yandex/div/core/view2/AccessibilityListDelegate.kt":"divkit/public/client/android/div/src/main/java/com/yandex/div/core/view2/AccessibilityListDelegate.kt", - "client/android/div/src/main/java/com/yandex/div/core/view2/BindingContext.kt":"divkit/public/client/android/div/src/main/java/com/yandex/div/core/view2/BindingContext.kt", "client/android/div/src/main/java/com/yandex/div/core/view2/CompositeLogId.kt":"divkit/public/client/android/div/src/main/java/com/yandex/div/core/view2/CompositeLogId.kt", "client/android/div/src/main/java/com/yandex/div/core/view2/Div2Builder.kt":"divkit/public/client/android/div/src/main/java/com/yandex/div/core/view2/Div2Builder.kt", "client/android/div/src/main/java/com/yandex/div/core/view2/Div2View.kt":"divkit/public/client/android/div/src/main/java/com/yandex/div/core/view2/Div2View.kt", @@ -1706,10 +1702,6 @@ "client/android/divkit-demo-app/src/screenshotTest/screenshots/API23_HDPI_480x800/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/base-properties/step5.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API23_HDPI_480x800/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/base-properties/step5.png", "client/android/divkit-demo-app/src/screenshotTest/screenshots/API23_HDPI_480x800/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/base-properties/step6.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API23_HDPI_480x800/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/base-properties/step6.png", "client/android/divkit-demo-app/src/screenshotTest/screenshots/API23_HDPI_480x800/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/base-properties/step7.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API23_HDPI_480x800/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/base-properties/step7.png", - "client/android/divkit-demo-app/src/screenshotTest/screenshots/API23_HDPI_480x800/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step0.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API23_HDPI_480x800/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step0.png", - "client/android/divkit-demo-app/src/screenshotTest/screenshots/API23_HDPI_480x800/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step1.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API23_HDPI_480x800/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step1.png", - "client/android/divkit-demo-app/src/screenshotTest/screenshots/API23_HDPI_480x800/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step2.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API23_HDPI_480x800/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step2.png", - "client/android/divkit-demo-app/src/screenshotTest/screenshots/API23_HDPI_480x800/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step3.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API23_HDPI_480x800/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step3.png", "client/android/divkit-demo-app/src/screenshotTest/screenshots/API23_HDPI_480x800/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/separators/step0.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API23_HDPI_480x800/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/separators/step0.png", "client/android/divkit-demo-app/src/screenshotTest/screenshots/API23_HDPI_480x800/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/separators/step1.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API23_HDPI_480x800/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/separators/step1.png", "client/android/divkit-demo-app/src/screenshotTest/screenshots/API23_HDPI_480x800/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/separators/step2.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API23_HDPI_480x800/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/separators/step2.png", @@ -2016,9 +2008,6 @@ "client/android/divkit-demo-app/src/screenshotTest/screenshots/API23_HDPI_480x800/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/horizontal-orientation-with-between-separators.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API23_HDPI_480x800/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/horizontal-orientation-with-between-separators.png", "client/android/divkit-demo-app/src/screenshotTest/screenshots/API23_HDPI_480x800/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/horizontal-orientation-with-wrap-content-constrained-children.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API23_HDPI_480x800/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/horizontal-orientation-with-wrap-content-constrained-children.png", "client/android/divkit-demo-app/src/screenshotTest/screenshots/API23_HDPI_480x800/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/horizontal-orientation.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API23_HDPI_480x800/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/horizontal-orientation.png", - "client/android/divkit-demo-app/src/screenshotTest/screenshots/API23_HDPI_480x800/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/item-builder.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API23_HDPI_480x800/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/item-builder.png", - "client/android/divkit-demo-app/src/screenshotTest/screenshots/API23_HDPI_480x800/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/nested-builders.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API23_HDPI_480x800/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/nested-builders.png", - "client/android/divkit-demo-app/src/screenshotTest/screenshots/API23_HDPI_480x800/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/non-unique-matched-selectors.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API23_HDPI_480x800/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/non-unique-matched-selectors.png", "client/android/divkit-demo-app/src/screenshotTest/screenshots/API23_HDPI_480x800/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/known-match-parent-cross-axis.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API23_HDPI_480x800/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/known-match-parent-cross-axis.png", "client/android/divkit-demo-app/src/screenshotTest/screenshots/API23_HDPI_480x800/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/match-parent-inside-wrap-content.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API23_HDPI_480x800/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/match-parent-inside-wrap-content.png", "client/android/divkit-demo-app/src/screenshotTest/screenshots/API23_HDPI_480x800/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/match-parent-lesser-than-paddings.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API23_HDPI_480x800/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/match-parent-lesser-than-paddings.png", @@ -2520,10 +2509,6 @@ "client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_XXHDPI_1080x1920/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/base-properties/step5.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_XXHDPI_1080x1920/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/base-properties/step5.png", "client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_XXHDPI_1080x1920/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/base-properties/step6.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_XXHDPI_1080x1920/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/base-properties/step6.png", "client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_XXHDPI_1080x1920/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/base-properties/step7.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_XXHDPI_1080x1920/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/base-properties/step7.png", - "client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_XXHDPI_1080x1920/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step0.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_XXHDPI_1080x1920/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step0.png", - "client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_XXHDPI_1080x1920/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step1.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_XXHDPI_1080x1920/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step1.png", - "client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_XXHDPI_1080x1920/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step2.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_XXHDPI_1080x1920/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step2.png", - "client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_XXHDPI_1080x1920/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step3.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_XXHDPI_1080x1920/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step3.png", "client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_XXHDPI_1080x1920/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/separators/step0.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_XXHDPI_1080x1920/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/separators/step0.png", "client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_XXHDPI_1080x1920/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/separators/step1.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_XXHDPI_1080x1920/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/separators/step1.png", "client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_XXHDPI_1080x1920/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/separators/step2.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_XXHDPI_1080x1920/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/separators/step2.png", @@ -2830,9 +2815,6 @@ "client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_XXHDPI_1080x1920/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/horizontal-orientation-with-between-separators.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_XXHDPI_1080x1920/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/horizontal-orientation-with-between-separators.png", "client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_XXHDPI_1080x1920/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/horizontal-orientation-with-wrap-content-constrained-children.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_XXHDPI_1080x1920/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/horizontal-orientation-with-wrap-content-constrained-children.png", "client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_XXHDPI_1080x1920/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/horizontal-orientation.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_XXHDPI_1080x1920/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/horizontal-orientation.png", - "client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_XXHDPI_1080x1920/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/item-builder.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_XXHDPI_1080x1920/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/item-builder.png", - "client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_XXHDPI_1080x1920/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/nested-builders.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_XXHDPI_1080x1920/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/nested-builders.png", - "client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_XXHDPI_1080x1920/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/non-unique-matched-selectors.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_XXHDPI_1080x1920/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/non-unique-matched-selectors.png", "client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_XXHDPI_1080x1920/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/known-match-parent-cross-axis.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_XXHDPI_1080x1920/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/known-match-parent-cross-axis.png", "client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_XXHDPI_1080x1920/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/match-parent-inside-wrap-content.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_XXHDPI_1080x1920/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/match-parent-inside-wrap-content.png", "client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_XXHDPI_1080x1920/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/match-parent-lesser-than-paddings.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_XXHDPI_1080x1920/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/match-parent-lesser-than-paddings.png", @@ -3334,10 +3316,6 @@ "client/android/divkit-demo-app/src/screenshotTest/screenshots/API25_XHDPI_720x1280/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/base-properties/step5.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API25_XHDPI_720x1280/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/base-properties/step5.png", "client/android/divkit-demo-app/src/screenshotTest/screenshots/API25_XHDPI_720x1280/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/base-properties/step6.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API25_XHDPI_720x1280/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/base-properties/step6.png", "client/android/divkit-demo-app/src/screenshotTest/screenshots/API25_XHDPI_720x1280/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/base-properties/step7.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API25_XHDPI_720x1280/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/base-properties/step7.png", - "client/android/divkit-demo-app/src/screenshotTest/screenshots/API25_XHDPI_720x1280/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step0.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API25_XHDPI_720x1280/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step0.png", - "client/android/divkit-demo-app/src/screenshotTest/screenshots/API25_XHDPI_720x1280/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step1.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API25_XHDPI_720x1280/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step1.png", - "client/android/divkit-demo-app/src/screenshotTest/screenshots/API25_XHDPI_720x1280/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step2.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API25_XHDPI_720x1280/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step2.png", - "client/android/divkit-demo-app/src/screenshotTest/screenshots/API25_XHDPI_720x1280/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step3.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API25_XHDPI_720x1280/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step3.png", "client/android/divkit-demo-app/src/screenshotTest/screenshots/API25_XHDPI_720x1280/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/separators/step0.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API25_XHDPI_720x1280/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/separators/step0.png", "client/android/divkit-demo-app/src/screenshotTest/screenshots/API25_XHDPI_720x1280/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/separators/step1.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API25_XHDPI_720x1280/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/separators/step1.png", "client/android/divkit-demo-app/src/screenshotTest/screenshots/API25_XHDPI_720x1280/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/separators/step2.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API25_XHDPI_720x1280/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/separators/step2.png", @@ -3644,9 +3622,6 @@ "client/android/divkit-demo-app/src/screenshotTest/screenshots/API25_XHDPI_720x1280/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/horizontal-orientation-with-between-separators.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API25_XHDPI_720x1280/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/horizontal-orientation-with-between-separators.png", "client/android/divkit-demo-app/src/screenshotTest/screenshots/API25_XHDPI_720x1280/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/horizontal-orientation-with-wrap-content-constrained-children.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API25_XHDPI_720x1280/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/horizontal-orientation-with-wrap-content-constrained-children.png", "client/android/divkit-demo-app/src/screenshotTest/screenshots/API25_XHDPI_720x1280/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/horizontal-orientation.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API25_XHDPI_720x1280/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/horizontal-orientation.png", - "client/android/divkit-demo-app/src/screenshotTest/screenshots/API25_XHDPI_720x1280/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/item-builder.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API25_XHDPI_720x1280/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/item-builder.png", - "client/android/divkit-demo-app/src/screenshotTest/screenshots/API25_XHDPI_720x1280/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/nested-builders.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API25_XHDPI_720x1280/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/nested-builders.png", - "client/android/divkit-demo-app/src/screenshotTest/screenshots/API25_XHDPI_720x1280/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/non-unique-matched-selectors.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API25_XHDPI_720x1280/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/non-unique-matched-selectors.png", "client/android/divkit-demo-app/src/screenshotTest/screenshots/API25_XHDPI_720x1280/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/known-match-parent-cross-axis.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API25_XHDPI_720x1280/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/known-match-parent-cross-axis.png", "client/android/divkit-demo-app/src/screenshotTest/screenshots/API25_XHDPI_720x1280/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/match-parent-inside-wrap-content.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API25_XHDPI_720x1280/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/match-parent-inside-wrap-content.png", "client/android/divkit-demo-app/src/screenshotTest/screenshots/API25_XHDPI_720x1280/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/match-parent-lesser-than-paddings.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API25_XHDPI_720x1280/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/match-parent-lesser-than-paddings.png", @@ -4148,10 +4123,6 @@ "client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewPixelCopy/com.yandex.div.Div2InteractiveScreenshotTest/div-container/base-properties/step5.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewPixelCopy/com.yandex.div.Div2InteractiveScreenshotTest/div-container/base-properties/step5.png", "client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewPixelCopy/com.yandex.div.Div2InteractiveScreenshotTest/div-container/base-properties/step6.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewPixelCopy/com.yandex.div.Div2InteractiveScreenshotTest/div-container/base-properties/step6.png", "client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewPixelCopy/com.yandex.div.Div2InteractiveScreenshotTest/div-container/base-properties/step7.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewPixelCopy/com.yandex.div.Div2InteractiveScreenshotTest/div-container/base-properties/step7.png", - "client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewPixelCopy/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step0.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewPixelCopy/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step0.png", - "client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewPixelCopy/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step1.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewPixelCopy/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step1.png", - "client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewPixelCopy/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step2.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewPixelCopy/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step2.png", - "client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewPixelCopy/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step3.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewPixelCopy/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step3.png", "client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewPixelCopy/com.yandex.div.Div2InteractiveScreenshotTest/div-container/separators/step0.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewPixelCopy/com.yandex.div.Div2InteractiveScreenshotTest/div-container/separators/step0.png", "client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewPixelCopy/com.yandex.div.Div2InteractiveScreenshotTest/div-container/separators/step1.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewPixelCopy/com.yandex.div.Div2InteractiveScreenshotTest/div-container/separators/step1.png", "client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewPixelCopy/com.yandex.div.Div2InteractiveScreenshotTest/div-container/separators/step2.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewPixelCopy/com.yandex.div.Div2InteractiveScreenshotTest/div-container/separators/step2.png", @@ -4458,9 +4429,6 @@ "client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewPixelCopy/com.yandex.div.Div2ScreenshotTest/div-container/horizontal-orientation-with-between-separators.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewPixelCopy/com.yandex.div.Div2ScreenshotTest/div-container/horizontal-orientation-with-between-separators.png", "client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewPixelCopy/com.yandex.div.Div2ScreenshotTest/div-container/horizontal-orientation-with-wrap-content-constrained-children.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewPixelCopy/com.yandex.div.Div2ScreenshotTest/div-container/horizontal-orientation-with-wrap-content-constrained-children.png", "client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewPixelCopy/com.yandex.div.Div2ScreenshotTest/div-container/horizontal-orientation.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewPixelCopy/com.yandex.div.Div2ScreenshotTest/div-container/horizontal-orientation.png", - "client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewPixelCopy/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/item-builder.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewPixelCopy/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/item-builder.png", - "client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewPixelCopy/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/nested-builders.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewPixelCopy/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/nested-builders.png", - "client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewPixelCopy/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/non-unique-matched-selectors.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewPixelCopy/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/non-unique-matched-selectors.png", "client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewPixelCopy/com.yandex.div.Div2ScreenshotTest/div-container/known-match-parent-cross-axis.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewPixelCopy/com.yandex.div.Div2ScreenshotTest/div-container/known-match-parent-cross-axis.png", "client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewPixelCopy/com.yandex.div.Div2ScreenshotTest/div-container/match-parent-inside-wrap-content.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewPixelCopy/com.yandex.div.Div2ScreenshotTest/div-container/match-parent-inside-wrap-content.png", "client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewPixelCopy/com.yandex.div.Div2ScreenshotTest/div-container/match-parent-lesser-than-paddings.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewPixelCopy/com.yandex.div.Div2ScreenshotTest/div-container/match-parent-lesser-than-paddings.png", @@ -4962,10 +4930,6 @@ "client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/base-properties/step5.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/base-properties/step5.png", "client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/base-properties/step6.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/base-properties/step6.png", "client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/base-properties/step7.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/base-properties/step7.png", - "client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step0.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step0.png", - "client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step1.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step1.png", - "client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step2.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step2.png", - "client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step3.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step3.png", "client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/separators/step0.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/separators/step0.png", "client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/separators/step1.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/separators/step1.png", "client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/separators/step2.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/separators/step2.png", @@ -5272,9 +5236,6 @@ "client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/horizontal-orientation-with-between-separators.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/horizontal-orientation-with-between-separators.png", "client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/horizontal-orientation-with-wrap-content-constrained-children.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/horizontal-orientation-with-wrap-content-constrained-children.png", "client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/horizontal-orientation.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/horizontal-orientation.png", - "client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/item-builder.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/item-builder.png", - "client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/nested-builders.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/nested-builders.png", - "client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/non-unique-matched-selectors.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/non-unique-matched-selectors.png", "client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/known-match-parent-cross-axis.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/known-match-parent-cross-axis.png", "client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/match-parent-inside-wrap-content.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/match-parent-inside-wrap-content.png", "client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/match-parent-lesser-than-paddings.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/match-parent-lesser-than-paddings.png", @@ -5776,10 +5737,6 @@ "client/android/divkit-demo-app/src/screenshotTest/screenshots/API27_XHDPI_720x1440/viewPixelCopy/com.yandex.div.Div2InteractiveScreenshotTest/div-container/base-properties/step5.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API27_XHDPI_720x1440/viewPixelCopy/com.yandex.div.Div2InteractiveScreenshotTest/div-container/base-properties/step5.png", "client/android/divkit-demo-app/src/screenshotTest/screenshots/API27_XHDPI_720x1440/viewPixelCopy/com.yandex.div.Div2InteractiveScreenshotTest/div-container/base-properties/step6.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API27_XHDPI_720x1440/viewPixelCopy/com.yandex.div.Div2InteractiveScreenshotTest/div-container/base-properties/step6.png", "client/android/divkit-demo-app/src/screenshotTest/screenshots/API27_XHDPI_720x1440/viewPixelCopy/com.yandex.div.Div2InteractiveScreenshotTest/div-container/base-properties/step7.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API27_XHDPI_720x1440/viewPixelCopy/com.yandex.div.Div2InteractiveScreenshotTest/div-container/base-properties/step7.png", - "client/android/divkit-demo-app/src/screenshotTest/screenshots/API27_XHDPI_720x1440/viewPixelCopy/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step0.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API27_XHDPI_720x1440/viewPixelCopy/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step0.png", - "client/android/divkit-demo-app/src/screenshotTest/screenshots/API27_XHDPI_720x1440/viewPixelCopy/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step1.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API27_XHDPI_720x1440/viewPixelCopy/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step1.png", - "client/android/divkit-demo-app/src/screenshotTest/screenshots/API27_XHDPI_720x1440/viewPixelCopy/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step2.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API27_XHDPI_720x1440/viewPixelCopy/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step2.png", - "client/android/divkit-demo-app/src/screenshotTest/screenshots/API27_XHDPI_720x1440/viewPixelCopy/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step3.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API27_XHDPI_720x1440/viewPixelCopy/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step3.png", "client/android/divkit-demo-app/src/screenshotTest/screenshots/API27_XHDPI_720x1440/viewPixelCopy/com.yandex.div.Div2InteractiveScreenshotTest/div-container/separators/step0.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API27_XHDPI_720x1440/viewPixelCopy/com.yandex.div.Div2InteractiveScreenshotTest/div-container/separators/step0.png", "client/android/divkit-demo-app/src/screenshotTest/screenshots/API27_XHDPI_720x1440/viewPixelCopy/com.yandex.div.Div2InteractiveScreenshotTest/div-container/separators/step1.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API27_XHDPI_720x1440/viewPixelCopy/com.yandex.div.Div2InteractiveScreenshotTest/div-container/separators/step1.png", "client/android/divkit-demo-app/src/screenshotTest/screenshots/API27_XHDPI_720x1440/viewPixelCopy/com.yandex.div.Div2InteractiveScreenshotTest/div-container/separators/step2.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API27_XHDPI_720x1440/viewPixelCopy/com.yandex.div.Div2InteractiveScreenshotTest/div-container/separators/step2.png", @@ -6086,9 +6043,6 @@ "client/android/divkit-demo-app/src/screenshotTest/screenshots/API27_XHDPI_720x1440/viewPixelCopy/com.yandex.div.Div2ScreenshotTest/div-container/horizontal-orientation-with-between-separators.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API27_XHDPI_720x1440/viewPixelCopy/com.yandex.div.Div2ScreenshotTest/div-container/horizontal-orientation-with-between-separators.png", "client/android/divkit-demo-app/src/screenshotTest/screenshots/API27_XHDPI_720x1440/viewPixelCopy/com.yandex.div.Div2ScreenshotTest/div-container/horizontal-orientation-with-wrap-content-constrained-children.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API27_XHDPI_720x1440/viewPixelCopy/com.yandex.div.Div2ScreenshotTest/div-container/horizontal-orientation-with-wrap-content-constrained-children.png", "client/android/divkit-demo-app/src/screenshotTest/screenshots/API27_XHDPI_720x1440/viewPixelCopy/com.yandex.div.Div2ScreenshotTest/div-container/horizontal-orientation.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API27_XHDPI_720x1440/viewPixelCopy/com.yandex.div.Div2ScreenshotTest/div-container/horizontal-orientation.png", - "client/android/divkit-demo-app/src/screenshotTest/screenshots/API27_XHDPI_720x1440/viewPixelCopy/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/item-builder.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API27_XHDPI_720x1440/viewPixelCopy/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/item-builder.png", - "client/android/divkit-demo-app/src/screenshotTest/screenshots/API27_XHDPI_720x1440/viewPixelCopy/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/nested-builders.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API27_XHDPI_720x1440/viewPixelCopy/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/nested-builders.png", - "client/android/divkit-demo-app/src/screenshotTest/screenshots/API27_XHDPI_720x1440/viewPixelCopy/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/non-unique-matched-selectors.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API27_XHDPI_720x1440/viewPixelCopy/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/non-unique-matched-selectors.png", "client/android/divkit-demo-app/src/screenshotTest/screenshots/API27_XHDPI_720x1440/viewPixelCopy/com.yandex.div.Div2ScreenshotTest/div-container/known-match-parent-cross-axis.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API27_XHDPI_720x1440/viewPixelCopy/com.yandex.div.Div2ScreenshotTest/div-container/known-match-parent-cross-axis.png", "client/android/divkit-demo-app/src/screenshotTest/screenshots/API27_XHDPI_720x1440/viewPixelCopy/com.yandex.div.Div2ScreenshotTest/div-container/match-parent-inside-wrap-content.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API27_XHDPI_720x1440/viewPixelCopy/com.yandex.div.Div2ScreenshotTest/div-container/match-parent-inside-wrap-content.png", "client/android/divkit-demo-app/src/screenshotTest/screenshots/API27_XHDPI_720x1440/viewPixelCopy/com.yandex.div.Div2ScreenshotTest/div-container/match-parent-lesser-than-paddings.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API27_XHDPI_720x1440/viewPixelCopy/com.yandex.div.Div2ScreenshotTest/div-container/match-parent-lesser-than-paddings.png", @@ -6590,10 +6544,6 @@ "client/android/divkit-demo-app/src/screenshotTest/screenshots/API27_XHDPI_720x1440/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/base-properties/step5.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API27_XHDPI_720x1440/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/base-properties/step5.png", "client/android/divkit-demo-app/src/screenshotTest/screenshots/API27_XHDPI_720x1440/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/base-properties/step6.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API27_XHDPI_720x1440/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/base-properties/step6.png", "client/android/divkit-demo-app/src/screenshotTest/screenshots/API27_XHDPI_720x1440/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/base-properties/step7.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API27_XHDPI_720x1440/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/base-properties/step7.png", - "client/android/divkit-demo-app/src/screenshotTest/screenshots/API27_XHDPI_720x1440/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step0.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API27_XHDPI_720x1440/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step0.png", - "client/android/divkit-demo-app/src/screenshotTest/screenshots/API27_XHDPI_720x1440/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step1.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API27_XHDPI_720x1440/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step1.png", - "client/android/divkit-demo-app/src/screenshotTest/screenshots/API27_XHDPI_720x1440/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step2.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API27_XHDPI_720x1440/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step2.png", - "client/android/divkit-demo-app/src/screenshotTest/screenshots/API27_XHDPI_720x1440/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step3.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API27_XHDPI_720x1440/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step3.png", "client/android/divkit-demo-app/src/screenshotTest/screenshots/API27_XHDPI_720x1440/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/separators/step0.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API27_XHDPI_720x1440/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/separators/step0.png", "client/android/divkit-demo-app/src/screenshotTest/screenshots/API27_XHDPI_720x1440/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/separators/step1.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API27_XHDPI_720x1440/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/separators/step1.png", "client/android/divkit-demo-app/src/screenshotTest/screenshots/API27_XHDPI_720x1440/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/separators/step2.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API27_XHDPI_720x1440/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/separators/step2.png", @@ -6901,9 +6851,6 @@ "client/android/divkit-demo-app/src/screenshotTest/screenshots/API27_XHDPI_720x1440/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/horizontal-orientation-with-between-separators.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API27_XHDPI_720x1440/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/horizontal-orientation-with-between-separators.png", "client/android/divkit-demo-app/src/screenshotTest/screenshots/API27_XHDPI_720x1440/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/horizontal-orientation-with-wrap-content-constrained-children.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API27_XHDPI_720x1440/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/horizontal-orientation-with-wrap-content-constrained-children.png", "client/android/divkit-demo-app/src/screenshotTest/screenshots/API27_XHDPI_720x1440/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/horizontal-orientation.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API27_XHDPI_720x1440/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/horizontal-orientation.png", - "client/android/divkit-demo-app/src/screenshotTest/screenshots/API27_XHDPI_720x1440/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/item-builder.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API27_XHDPI_720x1440/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/item-builder.png", - "client/android/divkit-demo-app/src/screenshotTest/screenshots/API27_XHDPI_720x1440/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/nested-builders.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API27_XHDPI_720x1440/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/nested-builders.png", - "client/android/divkit-demo-app/src/screenshotTest/screenshots/API27_XHDPI_720x1440/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/non-unique-matched-selectors.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API27_XHDPI_720x1440/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/non-unique-matched-selectors.png", "client/android/divkit-demo-app/src/screenshotTest/screenshots/API27_XHDPI_720x1440/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/known-match-parent-cross-axis.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API27_XHDPI_720x1440/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/known-match-parent-cross-axis.png", "client/android/divkit-demo-app/src/screenshotTest/screenshots/API27_XHDPI_720x1440/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/match-parent-inside-wrap-content.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API27_XHDPI_720x1440/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/match-parent-inside-wrap-content.png", "client/android/divkit-demo-app/src/screenshotTest/screenshots/API27_XHDPI_720x1440/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/match-parent-lesser-than-paddings.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API27_XHDPI_720x1440/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/match-parent-lesser-than-paddings.png", @@ -7405,10 +7352,6 @@ "client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_1080x2160/viewPixelCopy/com.yandex.div.Div2InteractiveScreenshotTest/div-container/base-properties/step5.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_1080x2160/viewPixelCopy/com.yandex.div.Div2InteractiveScreenshotTest/div-container/base-properties/step5.png", "client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_1080x2160/viewPixelCopy/com.yandex.div.Div2InteractiveScreenshotTest/div-container/base-properties/step6.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_1080x2160/viewPixelCopy/com.yandex.div.Div2InteractiveScreenshotTest/div-container/base-properties/step6.png", "client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_1080x2160/viewPixelCopy/com.yandex.div.Div2InteractiveScreenshotTest/div-container/base-properties/step7.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_1080x2160/viewPixelCopy/com.yandex.div.Div2InteractiveScreenshotTest/div-container/base-properties/step7.png", - "client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_1080x2160/viewPixelCopy/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step0.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_1080x2160/viewPixelCopy/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step0.png", - "client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_1080x2160/viewPixelCopy/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step1.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_1080x2160/viewPixelCopy/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step1.png", - "client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_1080x2160/viewPixelCopy/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step2.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_1080x2160/viewPixelCopy/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step2.png", - "client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_1080x2160/viewPixelCopy/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step3.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_1080x2160/viewPixelCopy/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step3.png", "client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_1080x2160/viewPixelCopy/com.yandex.div.Div2InteractiveScreenshotTest/div-container/separators/step0.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_1080x2160/viewPixelCopy/com.yandex.div.Div2InteractiveScreenshotTest/div-container/separators/step0.png", "client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_1080x2160/viewPixelCopy/com.yandex.div.Div2InteractiveScreenshotTest/div-container/separators/step1.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_1080x2160/viewPixelCopy/com.yandex.div.Div2InteractiveScreenshotTest/div-container/separators/step1.png", "client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_1080x2160/viewPixelCopy/com.yandex.div.Div2InteractiveScreenshotTest/div-container/separators/step2.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_1080x2160/viewPixelCopy/com.yandex.div.Div2InteractiveScreenshotTest/div-container/separators/step2.png", @@ -7716,9 +7659,6 @@ "client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_1080x2160/viewPixelCopy/com.yandex.div.Div2ScreenshotTest/div-container/horizontal-orientation-with-between-separators.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_1080x2160/viewPixelCopy/com.yandex.div.Div2ScreenshotTest/div-container/horizontal-orientation-with-between-separators.png", "client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_1080x2160/viewPixelCopy/com.yandex.div.Div2ScreenshotTest/div-container/horizontal-orientation-with-wrap-content-constrained-children.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_1080x2160/viewPixelCopy/com.yandex.div.Div2ScreenshotTest/div-container/horizontal-orientation-with-wrap-content-constrained-children.png", "client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_1080x2160/viewPixelCopy/com.yandex.div.Div2ScreenshotTest/div-container/horizontal-orientation.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_1080x2160/viewPixelCopy/com.yandex.div.Div2ScreenshotTest/div-container/horizontal-orientation.png", - "client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_1080x2160/viewPixelCopy/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/item-builder.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_1080x2160/viewPixelCopy/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/item-builder.png", - "client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_1080x2160/viewPixelCopy/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/nested-builders.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_1080x2160/viewPixelCopy/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/nested-builders.png", - "client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_1080x2160/viewPixelCopy/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/non-unique-matched-selectors.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_1080x2160/viewPixelCopy/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/non-unique-matched-selectors.png", "client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_1080x2160/viewPixelCopy/com.yandex.div.Div2ScreenshotTest/div-container/known-match-parent-cross-axis.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_1080x2160/viewPixelCopy/com.yandex.div.Div2ScreenshotTest/div-container/known-match-parent-cross-axis.png", "client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_1080x2160/viewPixelCopy/com.yandex.div.Div2ScreenshotTest/div-container/match-parent-inside-wrap-content.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_1080x2160/viewPixelCopy/com.yandex.div.Div2ScreenshotTest/div-container/match-parent-inside-wrap-content.png", "client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_1080x2160/viewPixelCopy/com.yandex.div.Div2ScreenshotTest/div-container/match-parent-lesser-than-paddings.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_1080x2160/viewPixelCopy/com.yandex.div.Div2ScreenshotTest/div-container/match-parent-lesser-than-paddings.png", @@ -8220,10 +8160,6 @@ "client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_1080x2160/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/base-properties/step5.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_1080x2160/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/base-properties/step5.png", "client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_1080x2160/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/base-properties/step6.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_1080x2160/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/base-properties/step6.png", "client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_1080x2160/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/base-properties/step7.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_1080x2160/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/base-properties/step7.png", - "client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_1080x2160/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step0.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_1080x2160/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step0.png", - "client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_1080x2160/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step1.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_1080x2160/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step1.png", - "client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_1080x2160/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step2.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_1080x2160/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step2.png", - "client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_1080x2160/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step3.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_1080x2160/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step3.png", "client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_1080x2160/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/separators/step0.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_1080x2160/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/separators/step0.png", "client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_1080x2160/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/separators/step1.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_1080x2160/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/separators/step1.png", "client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_1080x2160/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/separators/step2.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_1080x2160/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/separators/step2.png", @@ -8530,9 +8466,6 @@ "client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_1080x2160/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/horizontal-orientation-with-between-separators.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_1080x2160/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/horizontal-orientation-with-between-separators.png", "client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_1080x2160/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/horizontal-orientation-with-wrap-content-constrained-children.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_1080x2160/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/horizontal-orientation-with-wrap-content-constrained-children.png", "client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_1080x2160/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/horizontal-orientation.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_1080x2160/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/horizontal-orientation.png", - "client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_1080x2160/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/item-builder.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_1080x2160/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/item-builder.png", - "client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_1080x2160/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/nested-builders.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_1080x2160/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/nested-builders.png", - "client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_1080x2160/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/non-unique-matched-selectors.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_1080x2160/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/non-unique-matched-selectors.png", "client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_1080x2160/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/known-match-parent-cross-axis.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_1080x2160/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/known-match-parent-cross-axis.png", "client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_1080x2160/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/match-parent-inside-wrap-content.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_1080x2160/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/match-parent-inside-wrap-content.png", "client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_1080x2160/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/match-parent-lesser-than-paddings.png":"divkit/public/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_1080x2160/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/match-parent-lesser-than-paddings.png", diff --git a/api_generator/api_generator/generators/kotlin/generator.py b/api_generator/api_generator/generators/kotlin/generator.py index b82dd729c..22282a947 100644 --- a/api_generator/api_generator/generators/kotlin/generator.py +++ b/api_generator/api_generator/generators/kotlin/generator.py @@ -16,6 +16,7 @@ from ...schema.modeling.entities import ( Entity, Object, ObjectFormat, + Array, ) from ...schema.modeling.text import Text, EMPTY @@ -58,24 +59,95 @@ class KotlinGenerator(Generator): result += ' }' result += EMPTY result += entity.value_resolving_declaration.indented(indent_width=4) + else: + prop_names = map(lambda prop_name: prop_name.declaration_name, entity.instance_properties_kotlin) - if not is_template: - additional_fields = entity.declare_additional_fields() - if additional_fields: - result += additional_fields + prop_filter = ['items'] + is_div_state = utils.capitalize_camel_case(entity.name) == 'DivState' - if not is_template: - result += entity.hash_declaration(self._generate_equality) + if is_div_state: + prop_filter.append('states') + + generate_properties = True if len(set(prop_filter).intersection(prop_names)) > 0 else False + + result += EMPTY + if generate_properties: + result += ' private var _propertiesHash: Int? = null ' + result += ' private var _hash: Int? = null ' + if generate_properties: + result += EMPTY + result += ' override fun propertiesHash(): Int {' + result += ' _propertiesHash?.let {' + result += ' return it' + result += ' }' + if len(entity.instance_properties_kotlin) > 1: + result += ' val propertiesHash = ' + result += self._generate_hash(list(filter(lambda it: it.declaration_name not in prop_filter, + entity.instance_properties_kotlin))).indented(indent_width=12) + else: + result += ' val propertiesHash = javaClass.hashCode()' + result += ' _propertiesHash = propertiesHash' + result += ' return propertiesHash' + result += ' }' + result += EMPTY + result += ' override fun hash(): Int {' + result += ' _hash?.let {' + result += ' return it' + result += ' }' + + if entity.instance_properties_kotlin: + result += ' val hash = ' + if generate_properties: + hash_text = Text() + hash_text += 'propertiesHash() +' + hash_text += self._generate_hash( + list(filter(lambda it: it.declaration_name in prop_filter, entity.instance_properties_kotlin))) + + result += hash_text.indented(indent_width=12) + else: + result += self._generate_hash(list(filter( + lambda it: it.declaration_name not in prop_filter, + entity.instance_properties_kotlin)) + ).indented(indent_width=12) + else: + result += ' val hash = javaClass.hashCode()' + + result += ' _hash = hash' + result += ' return hash' + result += ' }' + if self._generate_equality: + result += EMPTY + result += ' fun isHashCalculated() = _hash != null' if self.generate_serialization: result += EMPTY result += entity.serialization_declaration.indented(indent_width=4) - if not is_template: - result += entity.copy_declaration - if not is_template and self._generate_equality: - result += entity.equality_declaration + result += EMPTY + if entity.instance_properties: + result += ' override fun equals(other: Any?): Boolean {' + result += ' if (this === other) { return true }' + class_name = utils.capitalize_camel_case(entity.name) + result += f' if (other !is {class_name} || (this.isHashCalculated() && other.isHashCalculated()' + result += ' && this.hash() != other.hash())) {' + result += ' return false' + result += ' }' + result += EMPTY + for prop in entity.instance_properties_kotlin: + prefix = "return " if prop == entity.instance_properties_kotlin[0] else " " + postfix = "&&" if prop != entity.instance_properties_kotlin[-1] else "" + result += f' {prefix}this.{prop.declaration_name} == other.{prop.declaration_name} {postfix}' + result += ' }' + result += EMPTY + result += ' override fun hashCode() = hash()' + else: + result += self.__manual_equals_hash_code_declaration.indented(indent_width=4) + + if not is_template: + patch = entity.copy_with_new_properties_declaration + if patch: + result += patch static_declarations = entity.static_declarations(self.generate_serialization) if static_declarations.lines: @@ -95,6 +167,29 @@ class KotlinGenerator(Generator): return result + @staticmethod + def _generate_hash(props: List[KotlinProperty]) -> Text: + hash_text = Text() + for prop in props: + hash_type = 'hash()' if prop.use_custom_hash else 'hashCode()' + + prop_hash = '' + if prop.should_be_optional: + prop_hash += '(' + prop_hash += prop.declaration_name + if prop.should_be_optional: + prop_hash += '?' + prop_hash += '.' + if isinstance(prop.property_type, Array) and prop.use_custom_hash: + prop_hash += f'sumOf {{ it.{hash_type} }}' + else: + prop_hash += hash_type + if prop.should_be_optional: + prop_hash += ' ?: 0)' + prop_hash += " +" if prop != props[-1] else "" + hash_text += prop_hash + return hash_text + @staticmethod def __declaration_as_interface(entity: KotlinEntity) -> Text: result = Text(f'interface {utils.capitalize_camel_case(entity.name)} {{') @@ -103,9 +198,6 @@ class KotlinGenerator(Generator): in_interface=True, with_comma=False, with_default=False).indented(indent_width=4) - additional_fields = entity.declare_additional_fields() - if additional_fields: - result += additional_fields result += '}' return result @@ -171,6 +263,13 @@ class KotlinGenerator(Generator): return result + @property + def __manual_equals_hash_code_declaration(self) -> Text: + result = Text('override fun equals(other: Any?) = javaClass == other?.javaClass') + result += EMPTY + result += 'override fun hashCode() = javaClass.hashCode()' + return result + def _entity_enumeration_declaration(self, entity_enumeration: EntityEnumeration) -> Text: entity_enumeration: KotlinEntityEnumeration = cast(KotlinEntityEnumeration, entity_enumeration) entity_enumeration.__class__ = KotlinEntityEnumeration diff --git a/api_generator/api_generator/generators/kotlin/kotlin_entities.py b/api_generator/api_generator/generators/kotlin/kotlin_entities.py index f6a1833b3..6dbfe3037 100644 --- a/api_generator/api_generator/generators/kotlin/kotlin_entities.py +++ b/api_generator/api_generator/generators/kotlin/kotlin_entities.py @@ -1,7 +1,7 @@ from __future__ import annotations from functools import reduce import dataclasses -from typing import List, Optional, cast, Dict, Any +from typing import List, Optional, cast, Dict from ..base import declaration_comment from ...schema.modeling.entities import ( @@ -253,177 +253,50 @@ class KotlinEntity(Entity): return static_decl @property - def copy_declaration(self) -> Text: + def copy_with_new_properties_declaration(self) -> Optional[Text]: + generator_properties = self.generator_properties + if not generator_properties: + return None + + general_properties = generator_properties.general_properties + if not general_properties: + return None + + kotlin_generator_properties = general_properties.get('kotlin') + if not isinstance(kotlin_generator_properties, Dict): + return None + + new_properties = kotlin_generator_properties.get('properties_to_patch') + if not isinstance(new_properties, list): + return None + result = EMPTY - decl = ' fun copy(' + result += ' fun copyWithNewProperties(' method_params: List[str] = [] constructor_params: List[str] = [] + def append_arg(name: str): + constructor_params.append(f' {name},') + for p in sorted(filter(lambda prop: not isinstance(prop.property_type, StaticString), - self.properties_kotlin), key=lambda prop: prop.name): - property_name = p.declaration_name - property_class = p.type_declaration - method_params.append(f'\n {property_name}: {property_class} = this.{property_name},') - constructor_params.append(f'\n {property_name} = {property_name},') - - decl += ''.join(method_params) - if len(method_params) > 0: - decl += '\n ' - decl += f') = {utils.capitalize_camel_case(self.name)}(' - decl += ''.join(constructor_params) - if len(constructor_params) > 0: - decl += '\n ' - decl += ')' - result += decl - return result - - @property - def equality_declaration(self) -> Text: - result = EMPTY - if self.instance_properties: - result += ' override fun equals(other: Any?): Boolean {' - result += ' if (this === other) { return true }' - class_name = utils.capitalize_camel_case(self.name) - result += f' if (other !is {class_name} || (this.isHashCalculated() && other.isHashCalculated()' - result += ' && this.hash() != other.hash())) {' - result += ' return false' - result += ' }' - result += EMPTY - for prop in self.instance_properties_kotlin: - prefix = "return " if prop == self.instance_properties_kotlin[0] else " " - postfix = "&&" if prop != self.instance_properties_kotlin[-1] else "" - result += f' {prefix}this.{prop.declaration_name} == other.{prop.declaration_name} {postfix}' - result += ' }' - result += EMPTY - result += ' override fun hashCode() = hash()' - else: - result += self.__manual_equals_hash_code_declaration.indented(indent_width=4) - return result - - @property - def __manual_equals_hash_code_declaration(self) -> Text: - result = Text('override fun equals(other: Any?) = javaClass == other?.javaClass') - result += EMPTY - result += 'override fun hashCode() = javaClass.hashCode()' - return result - - def hash_declaration(self, with_calculation_flag: bool = False) -> Text: - prop_names = map(lambda prop_name: prop_name.declaration_name, self.instance_properties_kotlin) - - prop_filter = ['items'] - is_div_state = utils.capitalize_camel_case(self.name) == 'DivState' - - if is_div_state: - prop_filter.append('states') - - generate_properties = True if len(set(prop_filter).intersection(prop_names)) > 0 else False - - result = EMPTY - if generate_properties: - result += ' private var _propertiesHash: Int? = null ' - result += ' private var _hash: Int? = null ' - if generate_properties: - result += EMPTY - result += ' override fun propertiesHash(): Int {' - result += ' _propertiesHash?.let {' - result += ' return it' - result += ' }' - if len(self.instance_properties_kotlin) > 1: - result += ' val propertiesHash = ' - result += self.__generate_hash(list(filter(lambda it: it.declaration_name not in prop_filter, - self.instance_properties_kotlin))).indented(indent_width=12) - else: - result += ' val propertiesHash = javaClass.hashCode()' - result += ' _propertiesHash = propertiesHash' - result += ' return propertiesHash' - result += ' }' - result += EMPTY - result += ' override fun hash(): Int {' - result += ' _hash?.let {' - result += ' return it' - result += ' }' - - if self.instance_properties_kotlin: - result += ' val hash = ' - if generate_properties: - hash_text = Text() - hash_text += 'propertiesHash() +' - hash_text += self.__generate_hash( - list(filter(lambda it: it.declaration_name in prop_filter, self.instance_properties_kotlin))) - - result += hash_text.indented(indent_width=12) - else: - result += self.__generate_hash(list(filter( - lambda it: it.declaration_name not in prop_filter, - self.instance_properties_kotlin)) - ).indented(indent_width=12) - else: - result += ' val hash = javaClass.hashCode()' - - result += ' _hash = hash' - result += ' return hash' - result += ' }' - if with_calculation_flag: - result += EMPTY - result += ' fun isHashCalculated() = _hash != null' - return result - - @staticmethod - def __generate_hash(props: List[KotlinProperty]) -> Text: - hash_text = Text() - for prop in props: - hash_type = 'hash()' if prop.use_custom_hash else 'hashCode()' - - prop_hash = '' - if prop.should_be_optional: - prop_hash += '(' - prop_hash += prop.declaration_name - if prop.should_be_optional: - prop_hash += '?' - prop_hash += '.' - if isinstance(prop.property_type, Array) and prop.use_custom_hash: - prop_hash += f'sumOf {{ it.{hash_type} }}' - else: - prop_hash += hash_type - if prop.should_be_optional: - prop_hash += ' ?: 0)' - prop_hash += " +" if prop != props[-1] else "" - hash_text += prop_hash - return hash_text - - def declare_additional_fields(self) -> Optional[Text]: - if not isinstance(self.generator_properties, KotlinGeneratorProperties): - return None - - additional_fields = self.generator_properties.additional_fields - if not isinstance(additional_fields, list) or len(additional_fields) == 0: - return None - - result = EMPTY - for field in filter(lambda f: isinstance(f, Dict), additional_fields): - field_name = field.get('name') - field_type = field.get('type') - if field_name is None or len(field_name) == 0 or field_type is None or len(field_type) == 0: + self.properties), key=lambda prop: prop.name): + property_name = utils.lower_camel_case(p.name) + if p.name not in new_properties: + append_arg(property_name) continue - decl = f'var {field_name}: {field_type}' - field_override = field.get('protocol_name') - if field_override and len(field_override) != 0: - if field_override != self.name: - decl = f'override {decl}' - decl += self.__add_default_value_to_additional_field(field) - else: - decl += self.__add_default_value_to_additional_field(field) + item = p.property_type.property_type.object + item_class = utils.capitalize_camel_case(item.prefixed_declaration) + method_params.append(f' {property_name}: List<{item_class}>,') + constructor_params.append(f' {property_name},') - result += Text(decl).indented(indent_width=4) + result += '\n'.join(method_params) + result += f' ) = {utils.capitalize_camel_case(self.name)}(' + result += '\n'.join(constructor_params) + result += ' )' return result - @staticmethod - def __add_default_value_to_additional_field(field: Dict[str, Any]) -> str: - default_value = field.get("default_value") - return f' = {default_value}' if default_value else '' - class KotlinProperty(Property): @property @@ -740,9 +613,7 @@ class KotlinPropertyType(PropertyType): if len(values) != len(declarations): return None joined = ', '.join(declarations) - return 'listOf<' +\ - item_type.declaration(GenerationMode.NORMAL_WITHOUT_TEMPLATES, supports_expressions_flag) +\ - f'>({joined})' + return f'listOf<{item_type.declaration(GenerationMode.NORMAL_WITHOUT_TEMPLATES)}>({joined})' elif isinstance(self, Object): if self.object is None: return None diff --git a/api_generator/api_generator/schema/modeling/entities.py b/api_generator/api_generator/schema/modeling/entities.py index 8f289c422..d1e21ce0b 100644 --- a/api_generator/api_generator/schema/modeling/entities.py +++ b/api_generator/api_generator/schema/modeling/entities.py @@ -982,7 +982,6 @@ class KotlinGeneratorProperties(GeneratorProperties): ): super().__init__(general_properties, lang, mode) self.public_default_values: bool = specific_properties.get('public_default_values', False) - self.additional_fields: list[dict] = specific_properties.get('additional_fields') class DocumentationGeneratorProperties(GeneratorProperties): diff --git a/api_generator/tests/references/kotlin/EntityWithArray.kt b/api_generator/tests/references/kotlin/EntityWithArray.kt index 6fdedea3a..88fca46dd 100644 --- a/api_generator/tests/references/kotlin/EntityWithArray.kt +++ b/api_generator/tests/references/kotlin/EntityWithArray.kt @@ -40,10 +40,10 @@ class EntityWithArray( return json } - fun copy( - array: List = this.array, + fun copyWithNewProperties( + array: List, ) = EntityWithArray( - array = array, + array, ) companion object { diff --git a/api_generator/tests/references/kotlin/EntityWithArrayOfEnums.kt b/api_generator/tests/references/kotlin/EntityWithArrayOfEnums.kt index c6373c350..9fdce23d0 100644 --- a/api_generator/tests/references/kotlin/EntityWithArrayOfEnums.kt +++ b/api_generator/tests/references/kotlin/EntityWithArrayOfEnums.kt @@ -51,10 +51,10 @@ class EntityWithArrayOfEnums( return json } - fun copy( - items: List = this.items, + fun copyWithNewProperties( + items: List, ) = EntityWithArrayOfEnums( - items = items, + items, ) companion object { diff --git a/api_generator/tests/references/kotlin/EntityWithArrayOfExpressions.kt b/api_generator/tests/references/kotlin/EntityWithArrayOfExpressions.kt index 434727fef..828e6a008 100644 --- a/api_generator/tests/references/kotlin/EntityWithArrayOfExpressions.kt +++ b/api_generator/tests/references/kotlin/EntityWithArrayOfExpressions.kt @@ -51,12 +51,6 @@ class EntityWithArrayOfExpressions( return json } - fun copy( - items: ExpressionList = this.items, - ) = EntityWithArrayOfExpressions( - items = items, - ) - companion object { const val TYPE = "entity_with_array_of_expressions" diff --git a/api_generator/tests/references/kotlin/EntityWithArrayOfNestedItems.kt b/api_generator/tests/references/kotlin/EntityWithArrayOfNestedItems.kt index c9e99da70..90166b19e 100644 --- a/api_generator/tests/references/kotlin/EntityWithArrayOfNestedItems.kt +++ b/api_generator/tests/references/kotlin/EntityWithArrayOfNestedItems.kt @@ -51,10 +51,10 @@ class EntityWithArrayOfNestedItems( return json } - fun copy( - items: List = this.items, + fun copyWithNewProperties( + items: List, ) = EntityWithArrayOfNestedItems( - items = items, + items, ) companion object { @@ -101,14 +101,6 @@ class EntityWithArrayOfNestedItems( return json } - fun copy( - entity: Entity = this.entity, - property: Expression = this.property, - ) = Item( - entity = entity, - property = property, - ) - companion object { @JvmStatic @JvmName("fromJson") diff --git a/api_generator/tests/references/kotlin/EntityWithArrayWithTransform.kt b/api_generator/tests/references/kotlin/EntityWithArrayWithTransform.kt index eeb1ccd7a..3b356ee40 100644 --- a/api_generator/tests/references/kotlin/EntityWithArrayWithTransform.kt +++ b/api_generator/tests/references/kotlin/EntityWithArrayWithTransform.kt @@ -40,12 +40,6 @@ class EntityWithArrayWithTransform( return json } - fun copy( - array: ExpressionList = this.array, - ) = EntityWithArrayWithTransform( - array = array, - ) - companion object { const val TYPE = "entity_with_array_with_transform" diff --git a/api_generator/tests/references/kotlin/EntityWithComplexProperty.kt b/api_generator/tests/references/kotlin/EntityWithComplexProperty.kt index 5f2077f35..eda3ef8b9 100644 --- a/api_generator/tests/references/kotlin/EntityWithComplexProperty.kt +++ b/api_generator/tests/references/kotlin/EntityWithComplexProperty.kt @@ -40,12 +40,6 @@ class EntityWithComplexProperty( return json } - fun copy( - property: Property = this.property, - ) = EntityWithComplexProperty( - property = property, - ) - companion object { const val TYPE = "entity_with_complex_property" @@ -85,12 +79,6 @@ class EntityWithComplexProperty( return json } - fun copy( - value: Expression = this.value, - ) = Property( - value = value, - ) - companion object { @JvmStatic @JvmName("fromJson") diff --git a/api_generator/tests/references/kotlin/EntityWithComplexPropertyWithDefaultValue.kt b/api_generator/tests/references/kotlin/EntityWithComplexPropertyWithDefaultValue.kt index f2948b8a0..95c1282c0 100644 --- a/api_generator/tests/references/kotlin/EntityWithComplexPropertyWithDefaultValue.kt +++ b/api_generator/tests/references/kotlin/EntityWithComplexPropertyWithDefaultValue.kt @@ -40,12 +40,6 @@ class EntityWithComplexPropertyWithDefaultValue( return json } - fun copy( - property: Property = this.property, - ) = EntityWithComplexPropertyWithDefaultValue( - property = property, - ) - companion object { const val TYPE = "entity_with_complex_property_with_default_value" @@ -87,12 +81,6 @@ class EntityWithComplexPropertyWithDefaultValue( return json } - fun copy( - value: Expression = this.value, - ) = Property( - value = value, - ) - companion object { @JvmStatic @JvmName("fromJson") diff --git a/api_generator/tests/references/kotlin/EntityWithEntityProperty.kt b/api_generator/tests/references/kotlin/EntityWithEntityProperty.kt index 95b4035d6..bac65bd08 100644 --- a/api_generator/tests/references/kotlin/EntityWithEntityProperty.kt +++ b/api_generator/tests/references/kotlin/EntityWithEntityProperty.kt @@ -40,12 +40,6 @@ class EntityWithEntityProperty( return json } - fun copy( - entity: Entity = this.entity, - ) = EntityWithEntityProperty( - entity = entity, - ) - companion object { const val TYPE = "entity_with_entity_property" diff --git a/api_generator/tests/references/kotlin/EntityWithJsonProperty.kt b/api_generator/tests/references/kotlin/EntityWithJsonProperty.kt index d92c532e5..886f6f5c0 100644 --- a/api_generator/tests/references/kotlin/EntityWithJsonProperty.kt +++ b/api_generator/tests/references/kotlin/EntityWithJsonProperty.kt @@ -40,12 +40,6 @@ class EntityWithJsonProperty( return json } - fun copy( - jsonProperty: JSONObject = this.jsonProperty, - ) = EntityWithJsonProperty( - jsonProperty = jsonProperty, - ) - companion object { const val TYPE = "entity_with_json_property" diff --git a/api_generator/tests/references/kotlin/EntityWithOptionalComplexProperty.kt b/api_generator/tests/references/kotlin/EntityWithOptionalComplexProperty.kt index eaa2d78be..6696d7136 100644 --- a/api_generator/tests/references/kotlin/EntityWithOptionalComplexProperty.kt +++ b/api_generator/tests/references/kotlin/EntityWithOptionalComplexProperty.kt @@ -40,12 +40,6 @@ class EntityWithOptionalComplexProperty( return json } - fun copy( - property: Property? = this.property, - ) = EntityWithOptionalComplexProperty( - property = property, - ) - companion object { const val TYPE = "entity_with_optional_complex_property" @@ -85,12 +79,6 @@ class EntityWithOptionalComplexProperty( return json } - fun copy( - value: Expression = this.value, - ) = Property( - value = value, - ) - companion object { @JvmStatic @JvmName("fromJson") diff --git a/api_generator/tests/references/kotlin/EntityWithOptionalProperty.kt b/api_generator/tests/references/kotlin/EntityWithOptionalProperty.kt index a6804e395..cd58245ff 100644 --- a/api_generator/tests/references/kotlin/EntityWithOptionalProperty.kt +++ b/api_generator/tests/references/kotlin/EntityWithOptionalProperty.kt @@ -40,12 +40,6 @@ class EntityWithOptionalProperty( return json } - fun copy( - property: Expression? = this.property, - ) = EntityWithOptionalProperty( - property = property, - ) - companion object { const val TYPE = "entity_with_optional_property" diff --git a/api_generator/tests/references/kotlin/EntityWithOptionalStringEnumProperty.kt b/api_generator/tests/references/kotlin/EntityWithOptionalStringEnumProperty.kt index c6c441805..5794e138f 100644 --- a/api_generator/tests/references/kotlin/EntityWithOptionalStringEnumProperty.kt +++ b/api_generator/tests/references/kotlin/EntityWithOptionalStringEnumProperty.kt @@ -40,12 +40,6 @@ class EntityWithOptionalStringEnumProperty( return json } - fun copy( - property: Expression? = this.property, - ) = EntityWithOptionalStringEnumProperty( - property = property, - ) - companion object { const val TYPE = "entity_with_optional_string_enum_property" diff --git a/api_generator/tests/references/kotlin/EntityWithPropertyWithDefaultValue.kt b/api_generator/tests/references/kotlin/EntityWithPropertyWithDefaultValue.kt index 87de1e658..3df6481e1 100644 --- a/api_generator/tests/references/kotlin/EntityWithPropertyWithDefaultValue.kt +++ b/api_generator/tests/references/kotlin/EntityWithPropertyWithDefaultValue.kt @@ -46,16 +46,6 @@ class EntityWithPropertyWithDefaultValue( return json } - fun copy( - int: Expression = this.int, - nested: Nested? = this.nested, - url: Expression = this.url, - ) = EntityWithPropertyWithDefaultValue( - int = int, - nested = nested, - url = url, - ) - companion object { const val TYPE = "entity_with_property_with_default_value" @@ -109,16 +99,6 @@ class EntityWithPropertyWithDefaultValue( return json } - fun copy( - int: Expression = this.int, - nonOptional: Expression = this.nonOptional, - url: Expression = this.url, - ) = Nested( - int = int, - nonOptional = nonOptional, - url = url, - ) - companion object { private val INT_DEFAULT_VALUE = Expression.constant(0L) private val URL_DEFAULT_VALUE = Expression.constant(Uri.parse("https://yandex.ru")) diff --git a/api_generator/tests/references/kotlin/EntityWithRawArray.kt b/api_generator/tests/references/kotlin/EntityWithRawArray.kt index 79967c57d..fdce48b30 100644 --- a/api_generator/tests/references/kotlin/EntityWithRawArray.kt +++ b/api_generator/tests/references/kotlin/EntityWithRawArray.kt @@ -40,12 +40,6 @@ class EntityWithRawArray( return json } - fun copy( - array: Expression = this.array, - ) = EntityWithRawArray( - array = array, - ) - companion object { const val TYPE = "entity_with_raw_array" diff --git a/api_generator/tests/references/kotlin/EntityWithRequiredProperty.kt b/api_generator/tests/references/kotlin/EntityWithRequiredProperty.kt index be407886b..309004140 100644 --- a/api_generator/tests/references/kotlin/EntityWithRequiredProperty.kt +++ b/api_generator/tests/references/kotlin/EntityWithRequiredProperty.kt @@ -40,12 +40,6 @@ class EntityWithRequiredProperty( return json } - fun copy( - property: Expression = this.property, - ) = EntityWithRequiredProperty( - property = property, - ) - companion object { const val TYPE = "entity_with_required_property" diff --git a/api_generator/tests/references/kotlin/EntityWithSimpleProperties.kt b/api_generator/tests/references/kotlin/EntityWithSimpleProperties.kt index c39c40891..60d2a9ac0 100644 --- a/api_generator/tests/references/kotlin/EntityWithSimpleProperties.kt +++ b/api_generator/tests/references/kotlin/EntityWithSimpleProperties.kt @@ -64,28 +64,6 @@ class EntityWithSimpleProperties( return json } - fun copy( - boolean: Expression? = this.boolean, - booleanInt: Expression? = this.booleanInt, - color: Expression? = this.color, - double: Expression? = this.double, - id: Long = this.id, - integer: Expression = this.integer, - positiveInteger: Expression? = this.positiveInteger, - string: Expression? = this.string, - url: Expression? = this.url, - ) = EntityWithSimpleProperties( - boolean = boolean, - booleanInt = booleanInt, - color = color, - double = double, - id = id, - integer = integer, - positiveInteger = positiveInteger, - string = string, - url = url, - ) - companion object { const val TYPE = "entity_with_simple_properties" diff --git a/api_generator/tests/references/kotlin/EntityWithStringArrayProperty.kt b/api_generator/tests/references/kotlin/EntityWithStringArrayProperty.kt index 847ce7ace..109f19701 100644 --- a/api_generator/tests/references/kotlin/EntityWithStringArrayProperty.kt +++ b/api_generator/tests/references/kotlin/EntityWithStringArrayProperty.kt @@ -40,12 +40,6 @@ class EntityWithStringArrayProperty( return json } - fun copy( - array: ExpressionList = this.array, - ) = EntityWithStringArrayProperty( - array = array, - ) - companion object { const val TYPE = "entity_with_string_array_property" diff --git a/api_generator/tests/references/kotlin/EntityWithStringEnumProperty.kt b/api_generator/tests/references/kotlin/EntityWithStringEnumProperty.kt index b9ec3a85d..203db5f27 100644 --- a/api_generator/tests/references/kotlin/EntityWithStringEnumProperty.kt +++ b/api_generator/tests/references/kotlin/EntityWithStringEnumProperty.kt @@ -40,12 +40,6 @@ class EntityWithStringEnumProperty( return json } - fun copy( - property: Expression = this.property, - ) = EntityWithStringEnumProperty( - property = property, - ) - companion object { const val TYPE = "entity_with_string_enum_property" diff --git a/api_generator/tests/references/kotlin/EntityWithStringEnumPropertyWithDefaultValue.kt b/api_generator/tests/references/kotlin/EntityWithStringEnumPropertyWithDefaultValue.kt index b996e3075..dda9f97b8 100644 --- a/api_generator/tests/references/kotlin/EntityWithStringEnumPropertyWithDefaultValue.kt +++ b/api_generator/tests/references/kotlin/EntityWithStringEnumPropertyWithDefaultValue.kt @@ -40,12 +40,6 @@ class EntityWithStringEnumPropertyWithDefaultValue( return json } - fun copy( - value: Expression = this.value, - ) = EntityWithStringEnumPropertyWithDefaultValue( - value = value, - ) - companion object { const val TYPE = "entity_with_string_enum_property_with_default_value" diff --git a/api_generator/tests/references/kotlin/EntityWithoutProperties.kt b/api_generator/tests/references/kotlin/EntityWithoutProperties.kt index 9af0277e7..5751afd24 100644 --- a/api_generator/tests/references/kotlin/EntityWithoutProperties.kt +++ b/api_generator/tests/references/kotlin/EntityWithoutProperties.kt @@ -36,8 +36,6 @@ class EntityWithoutProperties() : JSONSerializable, Hashable { return json } - fun copy() = EntityWithoutProperties() - companion object { const val TYPE = "entity_without_properties" diff --git a/api_generator/tests/references/kotlin/WithDefault.kt b/api_generator/tests/references/kotlin/WithDefault.kt index 2a7950738..a8c42016e 100644 --- a/api_generator/tests/references/kotlin/WithDefault.kt +++ b/api_generator/tests/references/kotlin/WithDefault.kt @@ -36,8 +36,6 @@ class WithDefault() : JSONSerializable, Hashable { return json } - fun copy() = WithDefault() - companion object { const val TYPE = "default" diff --git a/api_generator/tests/references/kotlin/WithoutDefault.kt b/api_generator/tests/references/kotlin/WithoutDefault.kt index 454cdfad3..a24dbbc8d 100644 --- a/api_generator/tests/references/kotlin/WithoutDefault.kt +++ b/api_generator/tests/references/kotlin/WithoutDefault.kt @@ -36,8 +36,6 @@ class WithoutDefault() : JSONSerializable, Hashable { return json } - fun copy() = WithoutDefault() - companion object { const val TYPE = "non_default" diff --git a/api_generator/tests/references/not_templates_kotlin/EntityWithArray.kt b/api_generator/tests/references/not_templates_kotlin/EntityWithArray.kt index 6fdedea3a..88fca46dd 100644 --- a/api_generator/tests/references/not_templates_kotlin/EntityWithArray.kt +++ b/api_generator/tests/references/not_templates_kotlin/EntityWithArray.kt @@ -40,10 +40,10 @@ class EntityWithArray( return json } - fun copy( - array: List = this.array, + fun copyWithNewProperties( + array: List, ) = EntityWithArray( - array = array, + array, ) companion object { diff --git a/api_generator/tests/references/not_templates_kotlin/EntityWithArrayOfEnums.kt b/api_generator/tests/references/not_templates_kotlin/EntityWithArrayOfEnums.kt index c6373c350..9fdce23d0 100644 --- a/api_generator/tests/references/not_templates_kotlin/EntityWithArrayOfEnums.kt +++ b/api_generator/tests/references/not_templates_kotlin/EntityWithArrayOfEnums.kt @@ -51,10 +51,10 @@ class EntityWithArrayOfEnums( return json } - fun copy( - items: List = this.items, + fun copyWithNewProperties( + items: List, ) = EntityWithArrayOfEnums( - items = items, + items, ) companion object { diff --git a/api_generator/tests/references/not_templates_kotlin/EntityWithArrayOfExpressions.kt b/api_generator/tests/references/not_templates_kotlin/EntityWithArrayOfExpressions.kt index 434727fef..828e6a008 100644 --- a/api_generator/tests/references/not_templates_kotlin/EntityWithArrayOfExpressions.kt +++ b/api_generator/tests/references/not_templates_kotlin/EntityWithArrayOfExpressions.kt @@ -51,12 +51,6 @@ class EntityWithArrayOfExpressions( return json } - fun copy( - items: ExpressionList = this.items, - ) = EntityWithArrayOfExpressions( - items = items, - ) - companion object { const val TYPE = "entity_with_array_of_expressions" diff --git a/api_generator/tests/references/not_templates_kotlin/EntityWithArrayOfNestedItems.kt b/api_generator/tests/references/not_templates_kotlin/EntityWithArrayOfNestedItems.kt index c9e99da70..90166b19e 100644 --- a/api_generator/tests/references/not_templates_kotlin/EntityWithArrayOfNestedItems.kt +++ b/api_generator/tests/references/not_templates_kotlin/EntityWithArrayOfNestedItems.kt @@ -51,10 +51,10 @@ class EntityWithArrayOfNestedItems( return json } - fun copy( - items: List = this.items, + fun copyWithNewProperties( + items: List, ) = EntityWithArrayOfNestedItems( - items = items, + items, ) companion object { @@ -101,14 +101,6 @@ class EntityWithArrayOfNestedItems( return json } - fun copy( - entity: Entity = this.entity, - property: Expression = this.property, - ) = Item( - entity = entity, - property = property, - ) - companion object { @JvmStatic @JvmName("fromJson") diff --git a/api_generator/tests/references/not_templates_kotlin/EntityWithArrayWithTransform.kt b/api_generator/tests/references/not_templates_kotlin/EntityWithArrayWithTransform.kt index eeb1ccd7a..3b356ee40 100644 --- a/api_generator/tests/references/not_templates_kotlin/EntityWithArrayWithTransform.kt +++ b/api_generator/tests/references/not_templates_kotlin/EntityWithArrayWithTransform.kt @@ -40,12 +40,6 @@ class EntityWithArrayWithTransform( return json } - fun copy( - array: ExpressionList = this.array, - ) = EntityWithArrayWithTransform( - array = array, - ) - companion object { const val TYPE = "entity_with_array_with_transform" diff --git a/api_generator/tests/references/not_templates_kotlin/EntityWithComplexProperty.kt b/api_generator/tests/references/not_templates_kotlin/EntityWithComplexProperty.kt index 5f2077f35..eda3ef8b9 100644 --- a/api_generator/tests/references/not_templates_kotlin/EntityWithComplexProperty.kt +++ b/api_generator/tests/references/not_templates_kotlin/EntityWithComplexProperty.kt @@ -40,12 +40,6 @@ class EntityWithComplexProperty( return json } - fun copy( - property: Property = this.property, - ) = EntityWithComplexProperty( - property = property, - ) - companion object { const val TYPE = "entity_with_complex_property" @@ -85,12 +79,6 @@ class EntityWithComplexProperty( return json } - fun copy( - value: Expression = this.value, - ) = Property( - value = value, - ) - companion object { @JvmStatic @JvmName("fromJson") diff --git a/api_generator/tests/references/not_templates_kotlin/EntityWithComplexPropertyWithDefaultValue.kt b/api_generator/tests/references/not_templates_kotlin/EntityWithComplexPropertyWithDefaultValue.kt index f2948b8a0..95c1282c0 100644 --- a/api_generator/tests/references/not_templates_kotlin/EntityWithComplexPropertyWithDefaultValue.kt +++ b/api_generator/tests/references/not_templates_kotlin/EntityWithComplexPropertyWithDefaultValue.kt @@ -40,12 +40,6 @@ class EntityWithComplexPropertyWithDefaultValue( return json } - fun copy( - property: Property = this.property, - ) = EntityWithComplexPropertyWithDefaultValue( - property = property, - ) - companion object { const val TYPE = "entity_with_complex_property_with_default_value" @@ -87,12 +81,6 @@ class EntityWithComplexPropertyWithDefaultValue( return json } - fun copy( - value: Expression = this.value, - ) = Property( - value = value, - ) - companion object { @JvmStatic @JvmName("fromJson") diff --git a/api_generator/tests/references/not_templates_kotlin/EntityWithEntityProperty.kt b/api_generator/tests/references/not_templates_kotlin/EntityWithEntityProperty.kt index 95b4035d6..bac65bd08 100644 --- a/api_generator/tests/references/not_templates_kotlin/EntityWithEntityProperty.kt +++ b/api_generator/tests/references/not_templates_kotlin/EntityWithEntityProperty.kt @@ -40,12 +40,6 @@ class EntityWithEntityProperty( return json } - fun copy( - entity: Entity = this.entity, - ) = EntityWithEntityProperty( - entity = entity, - ) - companion object { const val TYPE = "entity_with_entity_property" diff --git a/api_generator/tests/references/not_templates_kotlin/EntityWithJsonProperty.kt b/api_generator/tests/references/not_templates_kotlin/EntityWithJsonProperty.kt index d92c532e5..886f6f5c0 100644 --- a/api_generator/tests/references/not_templates_kotlin/EntityWithJsonProperty.kt +++ b/api_generator/tests/references/not_templates_kotlin/EntityWithJsonProperty.kt @@ -40,12 +40,6 @@ class EntityWithJsonProperty( return json } - fun copy( - jsonProperty: JSONObject = this.jsonProperty, - ) = EntityWithJsonProperty( - jsonProperty = jsonProperty, - ) - companion object { const val TYPE = "entity_with_json_property" diff --git a/api_generator/tests/references/not_templates_kotlin/EntityWithOptionalComplexProperty.kt b/api_generator/tests/references/not_templates_kotlin/EntityWithOptionalComplexProperty.kt index eaa2d78be..6696d7136 100644 --- a/api_generator/tests/references/not_templates_kotlin/EntityWithOptionalComplexProperty.kt +++ b/api_generator/tests/references/not_templates_kotlin/EntityWithOptionalComplexProperty.kt @@ -40,12 +40,6 @@ class EntityWithOptionalComplexProperty( return json } - fun copy( - property: Property? = this.property, - ) = EntityWithOptionalComplexProperty( - property = property, - ) - companion object { const val TYPE = "entity_with_optional_complex_property" @@ -85,12 +79,6 @@ class EntityWithOptionalComplexProperty( return json } - fun copy( - value: Expression = this.value, - ) = Property( - value = value, - ) - companion object { @JvmStatic @JvmName("fromJson") diff --git a/api_generator/tests/references/not_templates_kotlin/EntityWithOptionalProperty.kt b/api_generator/tests/references/not_templates_kotlin/EntityWithOptionalProperty.kt index a6804e395..cd58245ff 100644 --- a/api_generator/tests/references/not_templates_kotlin/EntityWithOptionalProperty.kt +++ b/api_generator/tests/references/not_templates_kotlin/EntityWithOptionalProperty.kt @@ -40,12 +40,6 @@ class EntityWithOptionalProperty( return json } - fun copy( - property: Expression? = this.property, - ) = EntityWithOptionalProperty( - property = property, - ) - companion object { const val TYPE = "entity_with_optional_property" diff --git a/api_generator/tests/references/not_templates_kotlin/EntityWithOptionalStringEnumProperty.kt b/api_generator/tests/references/not_templates_kotlin/EntityWithOptionalStringEnumProperty.kt index c6c441805..5794e138f 100644 --- a/api_generator/tests/references/not_templates_kotlin/EntityWithOptionalStringEnumProperty.kt +++ b/api_generator/tests/references/not_templates_kotlin/EntityWithOptionalStringEnumProperty.kt @@ -40,12 +40,6 @@ class EntityWithOptionalStringEnumProperty( return json } - fun copy( - property: Expression? = this.property, - ) = EntityWithOptionalStringEnumProperty( - property = property, - ) - companion object { const val TYPE = "entity_with_optional_string_enum_property" diff --git a/api_generator/tests/references/not_templates_kotlin/EntityWithPropertyWithDefaultValue.kt b/api_generator/tests/references/not_templates_kotlin/EntityWithPropertyWithDefaultValue.kt index 87de1e658..3df6481e1 100644 --- a/api_generator/tests/references/not_templates_kotlin/EntityWithPropertyWithDefaultValue.kt +++ b/api_generator/tests/references/not_templates_kotlin/EntityWithPropertyWithDefaultValue.kt @@ -46,16 +46,6 @@ class EntityWithPropertyWithDefaultValue( return json } - fun copy( - int: Expression = this.int, - nested: Nested? = this.nested, - url: Expression = this.url, - ) = EntityWithPropertyWithDefaultValue( - int = int, - nested = nested, - url = url, - ) - companion object { const val TYPE = "entity_with_property_with_default_value" @@ -109,16 +99,6 @@ class EntityWithPropertyWithDefaultValue( return json } - fun copy( - int: Expression = this.int, - nonOptional: Expression = this.nonOptional, - url: Expression = this.url, - ) = Nested( - int = int, - nonOptional = nonOptional, - url = url, - ) - companion object { private val INT_DEFAULT_VALUE = Expression.constant(0L) private val URL_DEFAULT_VALUE = Expression.constant(Uri.parse("https://yandex.ru")) diff --git a/api_generator/tests/references/not_templates_kotlin/EntityWithRawArray.kt b/api_generator/tests/references/not_templates_kotlin/EntityWithRawArray.kt index 79967c57d..fdce48b30 100644 --- a/api_generator/tests/references/not_templates_kotlin/EntityWithRawArray.kt +++ b/api_generator/tests/references/not_templates_kotlin/EntityWithRawArray.kt @@ -40,12 +40,6 @@ class EntityWithRawArray( return json } - fun copy( - array: Expression = this.array, - ) = EntityWithRawArray( - array = array, - ) - companion object { const val TYPE = "entity_with_raw_array" diff --git a/api_generator/tests/references/not_templates_kotlin/EntityWithRequiredProperty.kt b/api_generator/tests/references/not_templates_kotlin/EntityWithRequiredProperty.kt index be407886b..309004140 100644 --- a/api_generator/tests/references/not_templates_kotlin/EntityWithRequiredProperty.kt +++ b/api_generator/tests/references/not_templates_kotlin/EntityWithRequiredProperty.kt @@ -40,12 +40,6 @@ class EntityWithRequiredProperty( return json } - fun copy( - property: Expression = this.property, - ) = EntityWithRequiredProperty( - property = property, - ) - companion object { const val TYPE = "entity_with_required_property" diff --git a/api_generator/tests/references/not_templates_kotlin/EntityWithSimpleProperties.kt b/api_generator/tests/references/not_templates_kotlin/EntityWithSimpleProperties.kt index c39c40891..60d2a9ac0 100644 --- a/api_generator/tests/references/not_templates_kotlin/EntityWithSimpleProperties.kt +++ b/api_generator/tests/references/not_templates_kotlin/EntityWithSimpleProperties.kt @@ -64,28 +64,6 @@ class EntityWithSimpleProperties( return json } - fun copy( - boolean: Expression? = this.boolean, - booleanInt: Expression? = this.booleanInt, - color: Expression? = this.color, - double: Expression? = this.double, - id: Long = this.id, - integer: Expression = this.integer, - positiveInteger: Expression? = this.positiveInteger, - string: Expression? = this.string, - url: Expression? = this.url, - ) = EntityWithSimpleProperties( - boolean = boolean, - booleanInt = booleanInt, - color = color, - double = double, - id = id, - integer = integer, - positiveInteger = positiveInteger, - string = string, - url = url, - ) - companion object { const val TYPE = "entity_with_simple_properties" diff --git a/api_generator/tests/references/not_templates_kotlin/EntityWithStringArrayProperty.kt b/api_generator/tests/references/not_templates_kotlin/EntityWithStringArrayProperty.kt index 847ce7ace..109f19701 100644 --- a/api_generator/tests/references/not_templates_kotlin/EntityWithStringArrayProperty.kt +++ b/api_generator/tests/references/not_templates_kotlin/EntityWithStringArrayProperty.kt @@ -40,12 +40,6 @@ class EntityWithStringArrayProperty( return json } - fun copy( - array: ExpressionList = this.array, - ) = EntityWithStringArrayProperty( - array = array, - ) - companion object { const val TYPE = "entity_with_string_array_property" diff --git a/api_generator/tests/references/not_templates_kotlin/EntityWithStringEnumProperty.kt b/api_generator/tests/references/not_templates_kotlin/EntityWithStringEnumProperty.kt index b9ec3a85d..203db5f27 100644 --- a/api_generator/tests/references/not_templates_kotlin/EntityWithStringEnumProperty.kt +++ b/api_generator/tests/references/not_templates_kotlin/EntityWithStringEnumProperty.kt @@ -40,12 +40,6 @@ class EntityWithStringEnumProperty( return json } - fun copy( - property: Expression = this.property, - ) = EntityWithStringEnumProperty( - property = property, - ) - companion object { const val TYPE = "entity_with_string_enum_property" diff --git a/api_generator/tests/references/not_templates_kotlin/EntityWithStringEnumPropertyWithDefaultValue.kt b/api_generator/tests/references/not_templates_kotlin/EntityWithStringEnumPropertyWithDefaultValue.kt index b996e3075..dda9f97b8 100644 --- a/api_generator/tests/references/not_templates_kotlin/EntityWithStringEnumPropertyWithDefaultValue.kt +++ b/api_generator/tests/references/not_templates_kotlin/EntityWithStringEnumPropertyWithDefaultValue.kt @@ -40,12 +40,6 @@ class EntityWithStringEnumPropertyWithDefaultValue( return json } - fun copy( - value: Expression = this.value, - ) = EntityWithStringEnumPropertyWithDefaultValue( - value = value, - ) - companion object { const val TYPE = "entity_with_string_enum_property_with_default_value" diff --git a/api_generator/tests/references/not_templates_kotlin/EntityWithoutProperties.kt b/api_generator/tests/references/not_templates_kotlin/EntityWithoutProperties.kt index 9af0277e7..5751afd24 100644 --- a/api_generator/tests/references/not_templates_kotlin/EntityWithoutProperties.kt +++ b/api_generator/tests/references/not_templates_kotlin/EntityWithoutProperties.kt @@ -36,8 +36,6 @@ class EntityWithoutProperties() : JSONSerializable, Hashable { return json } - fun copy() = EntityWithoutProperties() - companion object { const val TYPE = "entity_without_properties" diff --git a/api_generator/tests/references/not_templates_kotlin/WithDefault.kt b/api_generator/tests/references/not_templates_kotlin/WithDefault.kt index 2a7950738..a8c42016e 100644 --- a/api_generator/tests/references/not_templates_kotlin/WithDefault.kt +++ b/api_generator/tests/references/not_templates_kotlin/WithDefault.kt @@ -36,8 +36,6 @@ class WithDefault() : JSONSerializable, Hashable { return json } - fun copy() = WithDefault() - companion object { const val TYPE = "default" diff --git a/api_generator/tests/references/not_templates_kotlin/WithoutDefault.kt b/api_generator/tests/references/not_templates_kotlin/WithoutDefault.kt index 454cdfad3..a24dbbc8d 100644 --- a/api_generator/tests/references/not_templates_kotlin/WithoutDefault.kt +++ b/api_generator/tests/references/not_templates_kotlin/WithoutDefault.kt @@ -36,8 +36,6 @@ class WithoutDefault() : JSONSerializable, Hashable { return json } - fun copy() = WithoutDefault() - companion object { const val TYPE = "non_default" diff --git a/api_generator/tests/references/reference_clean_unused_definitions.json b/api_generator/tests/references/reference_clean_unused_definitions.json index 8b21f143e..6c333d874 100644 --- a/api_generator/tests/references/reference_clean_unused_definitions.json +++ b/api_generator/tests/references/reference_clean_unused_definitions.json @@ -162,6 +162,13 @@ "ios", "web" ], + "codegen": { + "kotlin": { + "properties_to_patch": [ + "array" + ] + } + }, "properties": { "type": { "type": "string", @@ -195,6 +202,13 @@ { "entity_with_array_of_enums.json": { "type": "object", + "codegen": { + "kotlin": { + "properties_to_patch": [ + "items" + ] + } + }, "properties": { "type": { "type": "string", @@ -247,6 +261,13 @@ { "entity_with_array_of_nested_items.json": { "type": "object", + "codegen": { + "kotlin": { + "properties_to_patch": [ + "items" + ] + } + }, "definitions": {}, "properties": { "type": { diff --git a/api_generator/tests/references/reference_merge_allOfs.json b/api_generator/tests/references/reference_merge_allOfs.json index e0e24bcc8..a3b190761 100644 --- a/api_generator/tests/references/reference_merge_allOfs.json +++ b/api_generator/tests/references/reference_merge_allOfs.json @@ -105,6 +105,13 @@ "ios", "web" ], + "codegen": { + "kotlin": { + "properties_to_patch": [ + "array" + ] + } + }, "properties": { "type": { "type": "string", @@ -135,6 +142,13 @@ { "entity_with_array_of_enums.json": { "type": "object", + "codegen": { + "kotlin": { + "properties_to_patch": [ + "items" + ] + } + }, "properties": { "type": { "type": "string", @@ -187,6 +201,13 @@ { "entity_with_array_of_nested_items.json": { "type": "object", + "codegen": { + "kotlin": { + "properties_to_patch": [ + "items" + ] + } + }, "definitions": { "item": { "type": "object", diff --git a/api_generator/tests/references/reference_resolve_references.json b/api_generator/tests/references/reference_resolve_references.json index 9f0769f2c..0ddcc862b 100644 --- a/api_generator/tests/references/reference_resolve_references.json +++ b/api_generator/tests/references/reference_resolve_references.json @@ -162,6 +162,13 @@ "ios", "web" ], + "codegen": { + "kotlin": { + "properties_to_patch": [ + "array" + ] + } + }, "properties": { "type": { "type": "string", @@ -195,6 +202,13 @@ { "entity_with_array_of_enums.json": { "type": "object", + "codegen": { + "kotlin": { + "properties_to_patch": [ + "items" + ] + } + }, "properties": { "type": { "type": "string", @@ -247,6 +261,13 @@ { "entity_with_array_of_nested_items.json": { "type": "object", + "codegen": { + "kotlin": { + "properties_to_patch": [ + "items" + ] + } + }, "definitions": { "item": { "type": "object", diff --git a/api_generator/tests/references/reference_resolve_structure.json b/api_generator/tests/references/reference_resolve_structure.json index e0e24bcc8..a3b190761 100644 --- a/api_generator/tests/references/reference_resolve_structure.json +++ b/api_generator/tests/references/reference_resolve_structure.json @@ -105,6 +105,13 @@ "ios", "web" ], + "codegen": { + "kotlin": { + "properties_to_patch": [ + "array" + ] + } + }, "properties": { "type": { "type": "string", @@ -135,6 +142,13 @@ { "entity_with_array_of_enums.json": { "type": "object", + "codegen": { + "kotlin": { + "properties_to_patch": [ + "items" + ] + } + }, "properties": { "type": { "type": "string", @@ -187,6 +201,13 @@ { "entity_with_array_of_nested_items.json": { "type": "object", + "codegen": { + "kotlin": { + "properties_to_patch": [ + "items" + ] + } + }, "definitions": { "item": { "type": "object", diff --git a/api_generator/tests/references/shared_data_kotlin/EntityWithArray.kt b/api_generator/tests/references/shared_data_kotlin/EntityWithArray.kt index 27ddb5319..711d3dd49 100644 --- a/api_generator/tests/references/shared_data_kotlin/EntityWithArray.kt +++ b/api_generator/tests/references/shared_data_kotlin/EntityWithArray.kt @@ -20,10 +20,10 @@ class EntityWithArray( return hash } - fun copy( - array: List = this.array, + fun copyWithNewProperties( + array: List, ) = EntityWithArray( - array = array, + array, ) companion object { diff --git a/api_generator/tests/references/shared_data_kotlin/EntityWithArrayOfEnums.kt b/api_generator/tests/references/shared_data_kotlin/EntityWithArrayOfEnums.kt index 9b518f1bf..71cc9741a 100644 --- a/api_generator/tests/references/shared_data_kotlin/EntityWithArrayOfEnums.kt +++ b/api_generator/tests/references/shared_data_kotlin/EntityWithArrayOfEnums.kt @@ -31,10 +31,10 @@ class EntityWithArrayOfEnums( return hash } - fun copy( - items: List = this.items, + fun copyWithNewProperties( + items: List, ) = EntityWithArrayOfEnums( - items = items, + items, ) companion object { diff --git a/api_generator/tests/references/shared_data_kotlin/EntityWithArrayOfExpressions.kt b/api_generator/tests/references/shared_data_kotlin/EntityWithArrayOfExpressions.kt index 7aac543b4..1e39762ab 100644 --- a/api_generator/tests/references/shared_data_kotlin/EntityWithArrayOfExpressions.kt +++ b/api_generator/tests/references/shared_data_kotlin/EntityWithArrayOfExpressions.kt @@ -31,12 +31,6 @@ class EntityWithArrayOfExpressions( return hash } - fun copy( - items: ExpressionList = this.items, - ) = EntityWithArrayOfExpressions( - items = items, - ) - companion object { const val TYPE = "entity_with_array_of_expressions" diff --git a/api_generator/tests/references/shared_data_kotlin/EntityWithArrayOfNestedItems.kt b/api_generator/tests/references/shared_data_kotlin/EntityWithArrayOfNestedItems.kt index a171dab92..c69e49ab6 100644 --- a/api_generator/tests/references/shared_data_kotlin/EntityWithArrayOfNestedItems.kt +++ b/api_generator/tests/references/shared_data_kotlin/EntityWithArrayOfNestedItems.kt @@ -31,10 +31,10 @@ class EntityWithArrayOfNestedItems( return hash } - fun copy( - items: List = this.items, + fun copyWithNewProperties( + items: List, ) = EntityWithArrayOfNestedItems( - items = items, + items, ) companion object { @@ -61,13 +61,5 @@ class EntityWithArrayOfNestedItems( _hash = hash return hash } - - fun copy( - entity: Entity = this.entity, - property: Expression = this.property, - ) = Item( - entity = entity, - property = property, - ) } } diff --git a/api_generator/tests/references/shared_data_kotlin/EntityWithArrayWithTransform.kt b/api_generator/tests/references/shared_data_kotlin/EntityWithArrayWithTransform.kt index e90a2468b..557ed8233 100644 --- a/api_generator/tests/references/shared_data_kotlin/EntityWithArrayWithTransform.kt +++ b/api_generator/tests/references/shared_data_kotlin/EntityWithArrayWithTransform.kt @@ -20,12 +20,6 @@ class EntityWithArrayWithTransform( return hash } - fun copy( - array: ExpressionList = this.array, - ) = EntityWithArrayWithTransform( - array = array, - ) - companion object { const val TYPE = "entity_with_array_with_transform" diff --git a/api_generator/tests/references/shared_data_kotlin/EntityWithComplexProperty.kt b/api_generator/tests/references/shared_data_kotlin/EntityWithComplexProperty.kt index dc8e479e2..f7aca653d 100644 --- a/api_generator/tests/references/shared_data_kotlin/EntityWithComplexProperty.kt +++ b/api_generator/tests/references/shared_data_kotlin/EntityWithComplexProperty.kt @@ -20,12 +20,6 @@ class EntityWithComplexProperty( return hash } - fun copy( - property: Property = this.property, - ) = EntityWithComplexProperty( - property = property, - ) - companion object { const val TYPE = "entity_with_complex_property" } @@ -46,11 +40,5 @@ class EntityWithComplexProperty( _hash = hash return hash } - - fun copy( - value: Expression = this.value, - ) = Property( - value = value, - ) } } diff --git a/api_generator/tests/references/shared_data_kotlin/EntityWithComplexPropertyWithDefaultValue.kt b/api_generator/tests/references/shared_data_kotlin/EntityWithComplexPropertyWithDefaultValue.kt index 56f3aa1b1..395286f3f 100644 --- a/api_generator/tests/references/shared_data_kotlin/EntityWithComplexPropertyWithDefaultValue.kt +++ b/api_generator/tests/references/shared_data_kotlin/EntityWithComplexPropertyWithDefaultValue.kt @@ -20,12 +20,6 @@ class EntityWithComplexPropertyWithDefaultValue( return hash } - fun copy( - property: Property = this.property, - ) = EntityWithComplexPropertyWithDefaultValue( - property = property, - ) - companion object { const val TYPE = "entity_with_complex_property_with_default_value" @@ -48,11 +42,5 @@ class EntityWithComplexPropertyWithDefaultValue( _hash = hash return hash } - - fun copy( - value: Expression = this.value, - ) = Property( - value = value, - ) } } diff --git a/api_generator/tests/references/shared_data_kotlin/EntityWithEntityProperty.kt b/api_generator/tests/references/shared_data_kotlin/EntityWithEntityProperty.kt index 5937af481..68edd043b 100644 --- a/api_generator/tests/references/shared_data_kotlin/EntityWithEntityProperty.kt +++ b/api_generator/tests/references/shared_data_kotlin/EntityWithEntityProperty.kt @@ -20,12 +20,6 @@ class EntityWithEntityProperty( return hash } - fun copy( - entity: Entity = this.entity, - ) = EntityWithEntityProperty( - entity = entity, - ) - companion object { const val TYPE = "entity_with_entity_property" diff --git a/api_generator/tests/references/shared_data_kotlin/EntityWithJsonProperty.kt b/api_generator/tests/references/shared_data_kotlin/EntityWithJsonProperty.kt index 882d58416..ceaf61f90 100644 --- a/api_generator/tests/references/shared_data_kotlin/EntityWithJsonProperty.kt +++ b/api_generator/tests/references/shared_data_kotlin/EntityWithJsonProperty.kt @@ -20,12 +20,6 @@ class EntityWithJsonProperty( return hash } - fun copy( - jsonProperty: JSONObject = this.jsonProperty, - ) = EntityWithJsonProperty( - jsonProperty = jsonProperty, - ) - companion object { const val TYPE = "entity_with_json_property" diff --git a/api_generator/tests/references/shared_data_kotlin/EntityWithOptionalComplexProperty.kt b/api_generator/tests/references/shared_data_kotlin/EntityWithOptionalComplexProperty.kt index 731e490d3..2b327e686 100644 --- a/api_generator/tests/references/shared_data_kotlin/EntityWithOptionalComplexProperty.kt +++ b/api_generator/tests/references/shared_data_kotlin/EntityWithOptionalComplexProperty.kt @@ -20,12 +20,6 @@ class EntityWithOptionalComplexProperty( return hash } - fun copy( - property: Property? = this.property, - ) = EntityWithOptionalComplexProperty( - property = property, - ) - companion object { const val TYPE = "entity_with_optional_complex_property" } @@ -46,11 +40,5 @@ class EntityWithOptionalComplexProperty( _hash = hash return hash } - - fun copy( - value: Expression = this.value, - ) = Property( - value = value, - ) } } diff --git a/api_generator/tests/references/shared_data_kotlin/EntityWithOptionalProperty.kt b/api_generator/tests/references/shared_data_kotlin/EntityWithOptionalProperty.kt index 79114aaa3..070888e1d 100644 --- a/api_generator/tests/references/shared_data_kotlin/EntityWithOptionalProperty.kt +++ b/api_generator/tests/references/shared_data_kotlin/EntityWithOptionalProperty.kt @@ -20,12 +20,6 @@ class EntityWithOptionalProperty( return hash } - fun copy( - property: Expression? = this.property, - ) = EntityWithOptionalProperty( - property = property, - ) - companion object { const val TYPE = "entity_with_optional_property" } diff --git a/api_generator/tests/references/shared_data_kotlin/EntityWithOptionalStringEnumProperty.kt b/api_generator/tests/references/shared_data_kotlin/EntityWithOptionalStringEnumProperty.kt index b18fe36ea..b5ddb6ac4 100644 --- a/api_generator/tests/references/shared_data_kotlin/EntityWithOptionalStringEnumProperty.kt +++ b/api_generator/tests/references/shared_data_kotlin/EntityWithOptionalStringEnumProperty.kt @@ -20,12 +20,6 @@ class EntityWithOptionalStringEnumProperty( return hash } - fun copy( - property: Expression? = this.property, - ) = EntityWithOptionalStringEnumProperty( - property = property, - ) - companion object { const val TYPE = "entity_with_optional_string_enum_property" } diff --git a/api_generator/tests/references/shared_data_kotlin/EntityWithPropertyWithDefaultValue.kt b/api_generator/tests/references/shared_data_kotlin/EntityWithPropertyWithDefaultValue.kt index edd875b5b..76a9d3cc1 100644 --- a/api_generator/tests/references/shared_data_kotlin/EntityWithPropertyWithDefaultValue.kt +++ b/api_generator/tests/references/shared_data_kotlin/EntityWithPropertyWithDefaultValue.kt @@ -24,16 +24,6 @@ class EntityWithPropertyWithDefaultValue( return hash } - fun copy( - int: Expression = this.int, - nested: Nested? = this.nested, - url: Expression = this.url, - ) = EntityWithPropertyWithDefaultValue( - int = int, - nested = nested, - url = url, - ) - companion object { const val TYPE = "entity_with_property_with_default_value" @@ -65,16 +55,6 @@ class EntityWithPropertyWithDefaultValue( return hash } - fun copy( - int: Expression = this.int, - nonOptional: Expression = this.nonOptional, - url: Expression = this.url, - ) = Nested( - int = int, - nonOptional = nonOptional, - url = url, - ) - companion object { private val INT_DEFAULT_VALUE = Expression.constant(0L) private val URL_DEFAULT_VALUE = Expression.constant(Uri.parse("https://yandex.ru")) diff --git a/api_generator/tests/references/shared_data_kotlin/EntityWithRawArray.kt b/api_generator/tests/references/shared_data_kotlin/EntityWithRawArray.kt index 6cdbef757..2b2cb6ea1 100644 --- a/api_generator/tests/references/shared_data_kotlin/EntityWithRawArray.kt +++ b/api_generator/tests/references/shared_data_kotlin/EntityWithRawArray.kt @@ -20,12 +20,6 @@ class EntityWithRawArray( return hash } - fun copy( - array: Expression = this.array, - ) = EntityWithRawArray( - array = array, - ) - companion object { const val TYPE = "entity_with_raw_array" } diff --git a/api_generator/tests/references/shared_data_kotlin/EntityWithRequiredProperty.kt b/api_generator/tests/references/shared_data_kotlin/EntityWithRequiredProperty.kt index e94c2d8dc..398c708d1 100644 --- a/api_generator/tests/references/shared_data_kotlin/EntityWithRequiredProperty.kt +++ b/api_generator/tests/references/shared_data_kotlin/EntityWithRequiredProperty.kt @@ -20,12 +20,6 @@ class EntityWithRequiredProperty( return hash } - fun copy( - property: Expression = this.property, - ) = EntityWithRequiredProperty( - property = property, - ) - companion object { const val TYPE = "entity_with_required_property" diff --git a/api_generator/tests/references/shared_data_kotlin/EntityWithSimpleProperties.kt b/api_generator/tests/references/shared_data_kotlin/EntityWithSimpleProperties.kt index 8de679948..1840b606b 100644 --- a/api_generator/tests/references/shared_data_kotlin/EntityWithSimpleProperties.kt +++ b/api_generator/tests/references/shared_data_kotlin/EntityWithSimpleProperties.kt @@ -36,28 +36,6 @@ class EntityWithSimpleProperties( return hash } - fun copy( - boolean: Expression? = this.boolean, - booleanInt: Expression? = this.booleanInt, - color: Expression? = this.color, - double: Expression? = this.double, - id: Long = this.id, - integer: Expression = this.integer, - positiveInteger: Expression? = this.positiveInteger, - string: Expression? = this.string, - url: Expression? = this.url, - ) = EntityWithSimpleProperties( - boolean = boolean, - booleanInt = booleanInt, - color = color, - double = double, - id = id, - integer = integer, - positiveInteger = positiveInteger, - string = string, - url = url, - ) - companion object { const val TYPE = "entity_with_simple_properties" diff --git a/api_generator/tests/references/shared_data_kotlin/EntityWithStringArrayProperty.kt b/api_generator/tests/references/shared_data_kotlin/EntityWithStringArrayProperty.kt index c433b2ddf..19b49702d 100644 --- a/api_generator/tests/references/shared_data_kotlin/EntityWithStringArrayProperty.kt +++ b/api_generator/tests/references/shared_data_kotlin/EntityWithStringArrayProperty.kt @@ -20,12 +20,6 @@ class EntityWithStringArrayProperty( return hash } - fun copy( - array: ExpressionList = this.array, - ) = EntityWithStringArrayProperty( - array = array, - ) - companion object { const val TYPE = "entity_with_string_array_property" diff --git a/api_generator/tests/references/shared_data_kotlin/EntityWithStringEnumProperty.kt b/api_generator/tests/references/shared_data_kotlin/EntityWithStringEnumProperty.kt index 99babbb34..8e4afbaac 100644 --- a/api_generator/tests/references/shared_data_kotlin/EntityWithStringEnumProperty.kt +++ b/api_generator/tests/references/shared_data_kotlin/EntityWithStringEnumProperty.kt @@ -20,12 +20,6 @@ class EntityWithStringEnumProperty( return hash } - fun copy( - property: Expression = this.property, - ) = EntityWithStringEnumProperty( - property = property, - ) - companion object { const val TYPE = "entity_with_string_enum_property" } diff --git a/api_generator/tests/references/shared_data_kotlin/EntityWithStringEnumPropertyWithDefaultValue.kt b/api_generator/tests/references/shared_data_kotlin/EntityWithStringEnumPropertyWithDefaultValue.kt index bd1340e53..45c83553e 100644 --- a/api_generator/tests/references/shared_data_kotlin/EntityWithStringEnumPropertyWithDefaultValue.kt +++ b/api_generator/tests/references/shared_data_kotlin/EntityWithStringEnumPropertyWithDefaultValue.kt @@ -20,12 +20,6 @@ class EntityWithStringEnumPropertyWithDefaultValue( return hash } - fun copy( - value: Expression = this.value, - ) = EntityWithStringEnumPropertyWithDefaultValue( - value = value, - ) - companion object { const val TYPE = "entity_with_string_enum_property_with_default_value" diff --git a/api_generator/tests/references/shared_data_kotlin/EntityWithoutProperties.kt b/api_generator/tests/references/shared_data_kotlin/EntityWithoutProperties.kt index 8de5b8604..f0a45bd45 100644 --- a/api_generator/tests/references/shared_data_kotlin/EntityWithoutProperties.kt +++ b/api_generator/tests/references/shared_data_kotlin/EntityWithoutProperties.kt @@ -17,8 +17,6 @@ class EntityWithoutProperties() : Hashable { return hash } - fun copy() = EntityWithoutProperties() - companion object { const val TYPE = "entity_without_properties" } diff --git a/api_generator/tests/references/shared_data_kotlin/WithDefault.kt b/api_generator/tests/references/shared_data_kotlin/WithDefault.kt index dc47783d1..ef76de76e 100644 --- a/api_generator/tests/references/shared_data_kotlin/WithDefault.kt +++ b/api_generator/tests/references/shared_data_kotlin/WithDefault.kt @@ -17,8 +17,6 @@ class WithDefault() : Hashable { return hash } - fun copy() = WithDefault() - companion object { const val TYPE = "default" } diff --git a/api_generator/tests/references/shared_data_kotlin/WithoutDefault.kt b/api_generator/tests/references/shared_data_kotlin/WithoutDefault.kt index 9870422a5..198575946 100644 --- a/api_generator/tests/references/shared_data_kotlin/WithoutDefault.kt +++ b/api_generator/tests/references/shared_data_kotlin/WithoutDefault.kt @@ -17,8 +17,6 @@ class WithoutDefault() : Hashable { return hash } - fun copy() = WithoutDefault() - companion object { const val TYPE = "non_default" } diff --git a/client/android/api-generator-test/testing-generator-config.json b/client/android/api-generator-test/testing-generator-config.json index bcfd80aa5..10d96f658 100644 --- a/client/android/api-generator-test/testing-generator-config.json +++ b/client/android/api-generator-test/testing-generator-config.json @@ -1,5 +1,5 @@ { "lang": "kotlin", - "header": "// Generated code. Do not modify.\n\npackage com.yandex.testing\n\nimport android.graphics.Color\nimport android.net.Uri\nimport androidx.annotation.ColorInt\nimport com.yandex.div.data.Hashable\nimport com.yandex.div.internal.core.*\nimport com.yandex.div.internal.parser.*\nimport com.yandex.div.internal.template.*\nimport com.yandex.div.internal.util.*\nimport com.yandex.div.json.*\nimport com.yandex.div.json.expressions.*\nimport com.yandex.div.core.annotations.Mockable\nimport java.io.IOException\nimport java.util.BitSet\nimport org.json.JSONObject\nimport org.json.JSONArray\n", + "header": "// Generated code. Do not modify.\n\npackage com.yandex.testing\n\nimport android.graphics.Color\nimport android.net.Uri\nimport androidx.annotation.ColorInt\nimport com.yandex.div.data.Hashable\nimport com.yandex.div.internal.parser.*\nimport com.yandex.div.internal.template.*\nimport com.yandex.div.internal.util.*\nimport com.yandex.div.json.*\nimport com.yandex.div.json.expressions.*\nimport com.yandex.div.core.annotations.Mockable\nimport java.io.IOException\nimport java.util.BitSet\nimport org.json.JSONObject\nimport org.json.JSONArray\n", "generateEquality": true } diff --git a/client/android/div-data/div2-generator-config.json b/client/android/div-data/div2-generator-config.json index 7f7ba057f..b4fba2826 100644 --- a/client/android/div-data/div2-generator-config.json +++ b/client/android/div-data/div2-generator-config.json @@ -1,6 +1,6 @@ { "lang": "kotlin", - "header": "// Generated code. Do not modify.\n\npackage com.yandex.div2\n\nimport android.graphics.Color\nimport android.net.Uri\nimport androidx.annotation.ColorInt\nimport com.yandex.div.internal.core.*\nimport com.yandex.div.internal.parser.*\nimport com.yandex.div.internal.template.*\nimport com.yandex.div.internal.util.*\nimport com.yandex.div.json.*\nimport com.yandex.div.json.expressions.*\nimport com.yandex.div.core.annotations.Mockable\nimport java.io.IOException\nimport java.util.BitSet\nimport org.json.JSONObject\nimport com.yandex.div.data.*\nimport org.json.JSONArray\n", + "header": "// Generated code. Do not modify.\n\npackage com.yandex.div2\n\nimport android.graphics.Color\nimport android.net.Uri\nimport androidx.annotation.ColorInt\nimport com.yandex.div.internal.parser.*\nimport com.yandex.div.internal.template.*\nimport com.yandex.div.internal.util.*\nimport com.yandex.div.json.*\nimport com.yandex.div.json.expressions.*\nimport com.yandex.div.core.annotations.Mockable\nimport java.io.IOException\nimport java.util.BitSet\nimport org.json.JSONObject\nimport com.yandex.div.data.*\nimport org.json.JSONArray\n", "kotlinAnnotations": { "classes": ["@Mockable"], "constructors": ["@DivModelInternalApi"] diff --git a/client/android/div-data/div2-shared-data-generator-config.json b/client/android/div-data/div2-shared-data-generator-config.json index 93e0d0434..b1d6fba9d 100644 --- a/client/android/div-data/div2-shared-data-generator-config.json +++ b/client/android/div-data/div2-shared-data-generator-config.json @@ -1,6 +1,6 @@ { "lang": "kotlin", - "header": "// Generated code. Do not modify.\n\npackage com.yandex.div2\n\nimport android.graphics.Color\nimport android.net.Uri\nimport androidx.annotation.ColorInt\nimport com.yandex.div.internal.core.*\nimport com.yandex.div.internal.parser.*\nimport com.yandex.div.internal.template.*\nimport com.yandex.div.internal.util.*\nimport com.yandex.div.json.*\nimport com.yandex.div.json.expressions.*\nimport com.yandex.div.core.annotations.Mockable\nimport java.io.IOException\nimport java.util.BitSet\nimport org.json.JSONObject\nimport com.yandex.div.data.*\nimport org.json.JSONArray\n", + "header": "// Generated code. Do not modify.\n\npackage com.yandex.div2\n\nimport android.graphics.Color\nimport android.net.Uri\nimport androidx.annotation.ColorInt\nimport com.yandex.div.internal.parser.*\nimport com.yandex.div.internal.template.*\nimport com.yandex.div.internal.util.*\nimport com.yandex.div.json.*\nimport com.yandex.div.json.expressions.*\nimport com.yandex.div.core.annotations.Mockable\nimport java.io.IOException\nimport java.util.BitSet\nimport org.json.JSONObject\nimport com.yandex.div.data.*\nimport org.json.JSONArray\n", "kotlinAnnotations": { "classes": ["@Mockable"], "constructors": ["@DivModelInternalApi"] diff --git a/client/android/div-data/src/main/java/com/yandex/div/internal/core/DivItemBuilderResult.kt b/client/android/div-data/src/main/java/com/yandex/div/internal/core/DivItemBuilderResult.kt deleted file mode 100644 index 421538f99..000000000 --- a/client/android/div-data/src/main/java/com/yandex/div/internal/core/DivItemBuilderResult.kt +++ /dev/null @@ -1,13 +0,0 @@ -package com.yandex.div.internal.core - -import com.yandex.div.json.expressions.ExpressionResolver -import com.yandex.div2.Div - -class DivItemBuilderResult( - val div: Div, - val expressionResolver: ExpressionResolver, -) { - - operator fun component1() = div - operator fun component2() = expressionResolver -} diff --git a/client/android/div-evaluable/src/main/java/com/yandex/div/evaluable/Evaluator.kt b/client/android/div-evaluable/src/main/java/com/yandex/div/evaluable/Evaluator.kt index 9a38d13e6..12b681b13 100644 --- a/client/android/div-evaluable/src/main/java/com/yandex/div/evaluable/Evaluator.kt +++ b/client/android/div-evaluable/src/main/java/com/yandex/div/evaluable/Evaluator.kt @@ -6,7 +6,7 @@ import com.yandex.div.evaluable.types.DateTime import kotlin.math.abs @Mockable -class Evaluator(val evaluationContext: EvaluationContext) { +class Evaluator(private val evaluationContext: EvaluationContext) { @Throws(EvaluableException::class) @Suppress("UNCHECKED_CAST") diff --git a/client/android/div-shimmer/src/main/java/com/yandex/div/shimmer/DivShimmerExtensionHandler.kt b/client/android/div-shimmer/src/main/java/com/yandex/div/shimmer/DivShimmerExtensionHandler.kt index 37293f236..f2cab31ff 100644 --- a/client/android/div-shimmer/src/main/java/com/yandex/div/shimmer/DivShimmerExtensionHandler.kt +++ b/client/android/div-shimmer/src/main/java/com/yandex/div/shimmer/DivShimmerExtensionHandler.kt @@ -48,12 +48,11 @@ open class DivShimmerExtensionHandler( if (animationStartTime == 0L) { animationStartTime = SystemClock.uptimeMillis() } - val resolver = divView.getExpressionResolver(div) val drawable = ShimmerDrawable( - data.createShimmer(resolver), + data.createShimmer(divView.expressionResolver), animationStartTime ) - data.observeTo(drawable, resolver) + data.observeTo(drawable, divView.expressionResolver) imageView.setImage(drawable) view.setTag(R.id.div_shimmer_drawable, drawable) } diff --git a/client/android/div-size-provider/src/main/java/com/yandex/div/sizeprovider/DivSizeProviderExtensionHandler.kt b/client/android/div-size-provider/src/main/java/com/yandex/div/sizeprovider/DivSizeProviderExtensionHandler.kt index bad0a2ab6..904c712a4 100644 --- a/client/android/div-size-provider/src/main/java/com/yandex/div/sizeprovider/DivSizeProviderExtensionHandler.kt +++ b/client/android/div-size-provider/src/main/java/com/yandex/div/sizeprovider/DivSizeProviderExtensionHandler.kt @@ -41,7 +41,7 @@ class DivSizeProviderExtensionHandler( val data = divView.divData ?: return val variablesHolder = variablesHolders[data] ?: DivSizeProviderVariablesHolder() - .apply { observeDivData(data, divView.getExpressionResolver(div)) } + .apply { observeDivData(data, divView.expressionResolver) } .also { variablesHolders[data] = it } divDataCounters[data] = (divDataCounters[data] ?: 0) + 1 view.setTag(R.id.div_size_provider_data, data) diff --git a/client/android/div-size-provider/src/main/java/com/yandex/div/sizeprovider/DivSizeProviderVariablesHolder.kt b/client/android/div-size-provider/src/main/java/com/yandex/div/sizeprovider/DivSizeProviderVariablesHolder.kt index df22e2241..cd19075d5 100644 --- a/client/android/div-size-provider/src/main/java/com/yandex/div/sizeprovider/DivSizeProviderVariablesHolder.kt +++ b/client/android/div-size-provider/src/main/java/com/yandex/div/sizeprovider/DivSizeProviderVariablesHolder.kt @@ -28,7 +28,7 @@ class DivSizeProviderVariablesHolder : DivVisitor(), ExpressionSubscriber override fun visit(data: Div.Container, resolver: ExpressionResolver) { defaultVisit(data, resolver) - data.value.buildItems(resolver).forEach { visit(it.div, it.expressionResolver) } + data.value.buildItems(resolver).forEach { visit(it, resolver) } } override fun visit(data: Div.Grid, resolver: ExpressionResolver) { @@ -65,7 +65,7 @@ class DivSizeProviderVariablesHolder : DivVisitor(), ExpressionSubscriber private fun DivSize.observe(resolver: ExpressionResolver) { val size = value() as? DivFixedSize ?: return - val sizeExpr = size.value as? Expression.MutableExpression<*, Long> ?: return + val sizeExpr = size.value as? Expression.MutableExpression<*, Int> ?: return addSubscription(sizeExpr.observe(resolver) { changedVariables.addAll(sizeExpr.getVariablesName()) }) diff --git a/client/android/div-size-provider/src/test/java/com/yandex/div/sizeprovider/DivSizeProviderExtensionHandlerTest.kt b/client/android/div-size-provider/src/test/java/com/yandex/div/sizeprovider/DivSizeProviderExtensionHandlerTest.kt index 3bb419a8b..9b220fe96 100644 --- a/client/android/div-size-provider/src/test/java/com/yandex/div/sizeprovider/DivSizeProviderExtensionHandlerTest.kt +++ b/client/android/div-size-provider/src/test/java/com/yandex/div/sizeprovider/DivSizeProviderExtensionHandlerTest.kt @@ -47,7 +47,7 @@ class DivSizeProviderExtensionHandlerTest { } private val divView = mock { on { divData } doReturn data - on { getExpressionResolver(any()) } doReturn mock() + on { expressionResolver } doReturn mock() on { viewTreeObserver } doReturn viewTreeObserver } private val underTest = DivSizeProviderExtensionHandler() diff --git a/client/android/div/src/main/java/androidx/recyclerview/widget/DivLinearLayoutManager.kt b/client/android/div/src/main/java/androidx/recyclerview/widget/DivLinearLayoutManager.kt index 0e8eb87a0..95276c59e 100644 --- a/client/android/div/src/main/java/androidx/recyclerview/widget/DivLinearLayoutManager.kt +++ b/client/android/div/src/main/java/androidx/recyclerview/widget/DivLinearLayoutManager.kt @@ -5,7 +5,7 @@ import android.util.AttributeSet import android.view.View import android.view.ViewGroup import android.view.ViewGroup.MarginLayoutParams -import com.yandex.div.core.view2.BindingContext +import com.yandex.div.core.view2.Div2View import com.yandex.div.core.view2.divs.gallery.DivGalleryBinder import com.yandex.div.core.view2.divs.gallery.DivGalleryItemHelper import com.yandex.div.core.view2.divs.gallery.ScrollPosition @@ -14,7 +14,7 @@ import com.yandex.div.internal.widget.DivLayoutParams import com.yandex.div2.DivGallery internal class DivLinearLayoutManager( - override val bindingContext: BindingContext, + override val divView: Div2View, override val view: RecyclerView, override val div: DivGallery, @RecyclerView.Orientation orientation: Int = RecyclerView.HORIZONTAL diff --git a/client/android/div/src/main/java/com/yandex/div/core/DivCustomContainerChildFactory.kt b/client/android/div/src/main/java/com/yandex/div/core/DivCustomContainerChildFactory.kt index d49fdd5cb..2b8ba8525 100644 --- a/client/android/div/src/main/java/com/yandex/div/core/DivCustomContainerChildFactory.kt +++ b/client/android/div/src/main/java/com/yandex/div/core/DivCustomContainerChildFactory.kt @@ -20,7 +20,7 @@ class DivCustomContainerChildFactory @Inject internal constructor (){ divStatePath: DivStatePath, divView: Div2View ): View { - return divView.div2Component.div2Builder.buildView(div, divView.bindingContext, divStatePath) + return divView.div2Component.div2Builder.buildView(div, divView, divStatePath) } /** @@ -32,7 +32,7 @@ class DivCustomContainerChildFactory @Inject internal constructor (){ divStatePath: DivStatePath, divView: Div2View ): View { - return divView.div2Component.div2Builder.createView(div, divView.bindingContext, divStatePath) + return divView.div2Component.div2Builder.createView(div, divView, divStatePath) } /** @@ -44,7 +44,7 @@ class DivCustomContainerChildFactory @Inject internal constructor (){ divStatePath: DivStatePath, divView: Div2View ) { - divView.div2Component.divBinder.bind(divView.bindingContext, childView, div, divStatePath) + divView.div2Component.divBinder.bind(childView, div, divView, divStatePath) } } diff --git a/client/android/div/src/main/java/com/yandex/div/core/DivPreloader.kt b/client/android/div/src/main/java/com/yandex/div/core/DivPreloader.kt index c5894d185..938ce19a3 100644 --- a/client/android/div/src/main/java/com/yandex/div/core/DivPreloader.kt +++ b/client/android/div/src/main/java/com/yandex/div/core/DivPreloader.kt @@ -81,7 +81,7 @@ class DivPreloader internal constructor( } override fun visit(data: Div.Container, resolver: ExpressionResolver) { - data.value.buildItems(resolver).forEach { (item, newResolver) -> visit(item, newResolver) } + data.value.buildItems(resolver).forEach { visit(it, resolver) } defaultVisit(data, resolver) } diff --git a/client/android/div/src/main/java/com/yandex/div/core/downloader/DivPatchApply.kt b/client/android/div/src/main/java/com/yandex/div/core/downloader/DivPatchApply.kt index 6a2e81086..c7b1489cf 100644 --- a/client/android/div/src/main/java/com/yandex/div/core/downloader/DivPatchApply.kt +++ b/client/android/div/src/main/java/com/yandex/div/core/downloader/DivPatchApply.kt @@ -9,6 +9,7 @@ import com.yandex.div.core.view2.divs.widgets.DivPagerView import com.yandex.div.core.view2.divs.widgets.DivRecyclerView import com.yandex.div.internal.KAssert import com.yandex.div.internal.KLog +import com.yandex.div.internal.core.buildItems import com.yandex.div.internal.core.nonNullItems import com.yandex.div.json.expressions.ExpressionResolver import com.yandex.div2.Div @@ -75,23 +76,23 @@ internal class DivPatchApply(private val patch: DivPatchMap) { } private fun applyPatch(div: DivContainer, resolver: ExpressionResolver) = Div.Container( - div.copy(items = applyPatchForListOfDivs(div.items, resolver)) + div.copyWithNewProperties(applyPatchForListOfDivs(div.items, resolver)) ) private fun applyPatch(div: DivGrid, resolver: ExpressionResolver): Div.Grid = Div.Grid( - div.copy(items = applyPatchForListOfDivs(div.items, resolver)) + div.copyWithNewProperties(applyPatchForListOfDivs(div.items, resolver)) ) private fun applyPatch(div: DivGallery, resolver: ExpressionResolver) = Div.Gallery( - div.copy(items = applyPatchForListOfDivs(div.items, resolver)) + div.copyWithNewProperties(applyPatchForListOfDivs(div.items, resolver)) ) private fun applyPatch(div: DivPager, resolver: ExpressionResolver) = Div.Pager( - div.copy(items = applyPatchForListOfDivs(div.items, resolver)) + div.copyWithNewProperties(applyPatchForListOfDivs(div.items, resolver)) ) private fun applyPatch(div: DivState, resolver: ExpressionResolver) = Div.State( - div.copy(states = applyPatchForListStates(div.states, resolver)) + div.copyWithNewProperties(applyPatchForListStates(div.states, resolver)) ) private fun applyPatchForListStates(states: List, @@ -159,7 +160,7 @@ internal class DivPatchApply(private val patch: DivPatchMap) { } } return Div.Tabs( - div.copy(items = newTabItems) + div.copyWithNewProperties(newTabItems) ) } @@ -196,21 +197,24 @@ internal class DivPatchApply(private val patch: DivPatchMap) { ): List
{ currentPath.add(currentDiv) return when (val currentDivValue = currentDiv.value()) { - is DivContainer -> - currentDivValue.nonNullItems - .pathToChildWithId(idToFind, resolver, currentPath) + is DivContainer -> currentDivValue.buildItems(resolver).pathToChildWithId( + idToFind, + resolver, + currentPath, + builtByBuilder = currentDivValue.items == null + ) is DivGrid -> currentDivValue.nonNullItems - .pathToChildWithId(idToFind, resolver, currentPath) + .pathToChildWithId(idToFind, resolver, currentPath, builtByBuilder = false) is DivGallery -> currentDivValue.nonNullItems - .pathToChildWithId(idToFind, resolver, currentPath) + .pathToChildWithId(idToFind, resolver, currentPath, builtByBuilder = false) is DivPager -> currentDivValue.nonNullItems - .pathToChildWithId(idToFind, resolver, currentPath) + .pathToChildWithId(idToFind, resolver, currentPath, builtByBuilder = false) is DivTabs -> { if (currentDivValue.items.any { it.div.value().id == idToFind }) { @@ -244,8 +248,14 @@ internal class DivPatchApply(private val patch: DivPatchMap) { idToFind: String, resolver: ExpressionResolver, currentPath: MutableList
= mutableListOf(), + builtByBuilder: Boolean ): List
{ - if (any { it.value().id == idToFind }) return currentPath + if (any { it.value().id == idToFind }) { + if (!builtByBuilder) return currentPath + + KAssert.fail { "Unable to patch container which has items built by items_builder." } + return emptyList() + } forEach { val newPath = pathToChildWithId(it, idToFind, resolver, currentPath) @@ -261,12 +271,8 @@ internal class DivPatchApply(private val patch: DivPatchMap) { ): Div { return when (val currentDivValue = currentDiv.value()) { is DivContainer -> { - getPatchedDivCollection( - currentDiv, - currentDivValue.nonNullItems, - pathIterator, - resolver, - { Div.Container(currentDivValue.copy(items = it)) }, + getPatchedDivCollection(currentDiv, currentDivValue.buildItems(resolver), pathIterator, resolver, + { Div.Container(currentDivValue.copyWithNewProperties(it)) }, { DivPatchApply(patch).applyPatch(currentDivValue, resolver) } ) } @@ -277,7 +283,7 @@ internal class DivPatchApply(private val patch: DivPatchMap) { currentDivValue.nonNullItems, pathIterator, resolver, - { Div.Grid(currentDivValue.copy(items = it)) }, + { Div.Grid(currentDivValue.copyWithNewProperties(it)) }, { DivPatchApply(patch).applyPatch(currentDivValue, resolver) } ) } @@ -288,7 +294,7 @@ internal class DivPatchApply(private val patch: DivPatchMap) { currentDivValue.nonNullItems, pathIterator, resolver, - { Div.Gallery(currentDivValue.copy(items = it)) }, + { Div.Gallery(currentDivValue.copyWithNewProperties(it)) }, { DivPatchApply(patch).applyPatch(currentDivValue, resolver) } ) } @@ -299,7 +305,7 @@ internal class DivPatchApply(private val patch: DivPatchMap) { currentDivValue.nonNullItems, pathIterator, resolver, - { Div.Pager(currentDivValue.copy(items = it)) }, + { Div.Pager(currentDivValue.copyWithNewProperties(it)) }, { DivPatchApply(patch).applyPatch(currentDivValue, resolver) } ) } @@ -319,7 +325,7 @@ internal class DivPatchApply(private val patch: DivPatchMap) { itemToReplace.title, itemToReplace.titleClickAction ) - Div.Tabs(currentDivValue.copy(items = newItems)) + Div.Tabs(currentDivValue.copyWithNewProperties(newItems)) } else { DivPatchApply(patch).applyPatch(currentDivValue, resolver) } @@ -345,7 +351,7 @@ internal class DivPatchApply(private val patch: DivPatchMap) { itemToReplace.swipeOutActions ) - Div.State(currentDivValue.copy(states = newItems)) + Div.State(currentDivValue.copyWithNewProperties(newItems)) } else { DivPatchApply(patch).applyPatch(currentDivValue, resolver) } diff --git a/client/android/div/src/main/java/com/yandex/div/core/downloader/DivPatchManager.kt b/client/android/div/src/main/java/com/yandex/div/core/downloader/DivPatchManager.kt index e8edf9f22..2bbb40645 100644 --- a/client/android/div/src/main/java/com/yandex/div/core/downloader/DivPatchManager.kt +++ b/client/android/div/src/main/java/com/yandex/div/core/downloader/DivPatchManager.kt @@ -5,8 +5,8 @@ import com.yandex.div.DivDataTag import com.yandex.div.core.annotations.Mockable import com.yandex.div.core.dagger.DivScope import com.yandex.div.core.state.DivStatePath -import com.yandex.div.core.view2.BindingContext import com.yandex.div.core.view2.Div2Builder +import com.yandex.div.core.view2.Div2View import com.yandex.div.json.expressions.ExpressionResolver import com.yandex.div2.DivData import com.yandex.div2.DivPatch @@ -24,15 +24,11 @@ internal class DivPatchManager @Inject constructor( return divPatchCache.putPatch(tag, patch) } - fun createViewsForId(context: BindingContext, id: String): List? { - val patchDivs = divPatchCache.getPatchDivListById(context.divView.dataTag, id) ?: return null + fun createViewsForId(rootView: Div2View, id: String): List? { + val patchDivs = divPatchCache.getPatchDivListById(rootView.dataTag, id) ?: return null val listViews = mutableListOf() patchDivs.forEach { - val view = divViewCreator.get().buildView( - it, - context, - DivStatePath.fromState(context.divView.currentStateId) - ) + val view = divViewCreator.get().buildView(it, rootView, DivStatePath.fromState(rootView.currentStateId)) listViews.add(view) } return listViews diff --git a/client/android/div/src/main/java/com/yandex/div/core/expression/ExpressionResolverImpl.kt b/client/android/div/src/main/java/com/yandex/div/core/expression/ExpressionResolverImpl.kt index 3a3f42226..506eda554 100644 --- a/client/android/div/src/main/java/com/yandex/div/core/expression/ExpressionResolverImpl.kt +++ b/client/android/div/src/main/java/com/yandex/div/core/expression/ExpressionResolverImpl.kt @@ -2,13 +2,10 @@ package com.yandex.div.core.expression import com.yandex.div.core.Disposable import com.yandex.div.core.ObserverList -import com.yandex.div.core.expression.variables.LocalVariableController import com.yandex.div.core.expression.variables.VariableController -import com.yandex.div.core.expression.variables.VariableSource import com.yandex.div.core.view2.errors.ErrorCollector import com.yandex.div.evaluable.Evaluable import com.yandex.div.evaluable.EvaluableException -import com.yandex.div.evaluable.EvaluationContext import com.yandex.div.evaluable.Evaluator import com.yandex.div.evaluable.MissingVariableException import com.yandex.div.internal.parser.Converter @@ -24,11 +21,10 @@ import com.yandex.div.json.resolveFailed import com.yandex.div.json.typeMismatch internal class ExpressionResolverImpl( - private val variableController: VariableController, + variableController: VariableController, private val evaluator: Evaluator, private val errorCollector: ErrorCollector, ) : ExpressionResolver { - private val evaluationsCache = mutableMapOf() private val varToExpressions = mutableMapOf>() @@ -213,20 +209,4 @@ internal class ExpressionResolverImpl( observers.addObserver(callback) return Disposable { expressionObservers[rawExpression]?.removeObserver(callback) } } - - operator fun plus(variableSource: VariableSource): ExpressionResolverImpl { - val localVariableController = LocalVariableController(variableController, variableSource) - return ExpressionResolverImpl( - variableController = localVariableController, - evaluator = Evaluator( - evaluationContext = EvaluationContext( - variableProvider = localVariableController, - storedValueProvider = evaluator.evaluationContext.storedValueProvider, - functionProvider = evaluator.evaluationContext.functionProvider, - warningSender = evaluator.evaluationContext.warningSender - ) - ), - errorCollector = errorCollector - ) - } } diff --git a/client/android/div/src/main/java/com/yandex/div/core/expression/ExpressionsRuntime.kt b/client/android/div/src/main/java/com/yandex/div/core/expression/ExpressionsRuntime.kt index d359bcbd2..7bcfbb0fa 100644 --- a/client/android/div/src/main/java/com/yandex/div/core/expression/ExpressionsRuntime.kt +++ b/client/android/div/src/main/java/com/yandex/div/core/expression/ExpressionsRuntime.kt @@ -2,12 +2,12 @@ package com.yandex.div.core.expression import com.yandex.div.core.DivViewFacade import com.yandex.div.core.expression.triggers.TriggersController -import com.yandex.div.core.expression.variables.VariableControllerImpl +import com.yandex.div.core.expression.variables.VariableController import com.yandex.div.json.expressions.ExpressionResolver internal class ExpressionsRuntime( val expressionResolver: ExpressionResolver, - val variableController: VariableControllerImpl, + val variableController: VariableController, val triggersController: TriggersController, ) { diff --git a/client/android/div/src/main/java/com/yandex/div/core/expression/ExpressionsRuntimeProvider.kt b/client/android/div/src/main/java/com/yandex/div/core/expression/ExpressionsRuntimeProvider.kt index a1f9823d5..6d24fc339 100644 --- a/client/android/div/src/main/java/com/yandex/div/core/expression/ExpressionsRuntimeProvider.kt +++ b/client/android/div/src/main/java/com/yandex/div/core/expression/ExpressionsRuntimeProvider.kt @@ -9,7 +9,6 @@ import com.yandex.div.core.expression.triggers.TriggersController import com.yandex.div.core.expression.variables.DivVariableController import com.yandex.div.core.expression.variables.GlobalVariableController import com.yandex.div.core.expression.variables.VariableController -import com.yandex.div.core.expression.variables.VariableControllerImpl import com.yandex.div.core.expression.variables.toVariable import com.yandex.div.core.view2.Div2View import com.yandex.div.core.view2.divs.DivActionBinder @@ -112,7 +111,7 @@ internal class ExpressionsRuntimeProvider @Inject constructor( private fun createRuntimeFor(data: DivData, tag: DivDataTag): ExpressionsRuntime { val errorCollector = errorCollectors.getOrCreate(tag, data) - val variableController = VariableControllerImpl().apply { + val variableController = VariableController().apply { data.variables?.forEach { divVariable: DivVariable -> try { declare(divVariable.toVariable()) @@ -126,7 +125,9 @@ internal class ExpressionsRuntimeProvider @Inject constructor( } val evaluationContext = EvaluationContext( - variableProvider = variableController, + variableProvider = { variableName -> + variableController.getMutableVariable(variableName)?.getValue() + }, storedValueProvider = { storedValueName -> storedValuesController.getStoredValue(storedValueName, errorCollector)?.getValue() }, diff --git a/client/android/div/src/main/java/com/yandex/div/core/expression/triggers/TriggersController.kt b/client/android/div/src/main/java/com/yandex/div/core/expression/triggers/TriggersController.kt index 711a0852a..b1d0f968c 100644 --- a/client/android/div/src/main/java/com/yandex/div/core/expression/triggers/TriggersController.kt +++ b/client/android/div/src/main/java/com/yandex/div/core/expression/triggers/TriggersController.kt @@ -155,7 +155,7 @@ private class TriggerExecutor( logger.logTrigger(div2View, it) } } - divActionBinder.handleActions(viewFacade, viewFacade.expressionResolver, actions, DivActionReason.TRIGGER) + divActionBinder.handleActions(viewFacade, actions, DivActionReason.TRIGGER) } private fun conditionSatisfied(): Boolean { diff --git a/client/android/div/src/main/java/com/yandex/div/core/expression/variables/LocalVariableController.kt b/client/android/div/src/main/java/com/yandex/div/core/expression/variables/LocalVariableController.kt deleted file mode 100644 index af3d308d6..000000000 --- a/client/android/div/src/main/java/com/yandex/div/core/expression/variables/LocalVariableController.kt +++ /dev/null @@ -1,33 +0,0 @@ -package com.yandex.div.core.expression.variables - -import com.yandex.div.core.view2.errors.ErrorCollector -import com.yandex.div.data.Variable - -internal class LocalVariableController( - private val delegate: VariableController, - private val localVariables: VariableSource -) : VariableController { - - override fun subscribeToVariablesChange( - names: List, - invokeOnSubscription: Boolean, - observer: (Variable) -> Unit - ) = delegate.subscribeToVariablesChange(names, invokeOnSubscription, observer) - - override fun subscribeToVariableChange( - name: String, - errorCollector: ErrorCollector?, - invokeOnSubscription: Boolean, - observer: (Variable) -> Unit - ) = delegate.subscribeToVariableChange(name, errorCollector, invokeOnSubscription, observer) - - override fun addSource(source: VariableSource) = delegate.addSource(source) - - override fun getMutableVariable(name: String) = - localVariables.getMutableVariable(name) ?: delegate.getMutableVariable(name) - - override fun declare(variable: Variable) = delegate.declare(variable) - - override fun setOnAnyVariableChangeCallback(callback: (Variable) -> Unit) = - delegate.setOnAnyVariableChangeCallback(callback) -} diff --git a/client/android/div/src/main/java/com/yandex/div/core/expression/variables/VariableController.kt b/client/android/div/src/main/java/com/yandex/div/core/expression/variables/VariableController.kt index 13e5001b6..a17b5300f 100644 --- a/client/android/div/src/main/java/com/yandex/div/core/expression/variables/VariableController.kt +++ b/client/android/div/src/main/java/com/yandex/div/core/expression/variables/VariableController.kt @@ -1,32 +1,141 @@ package com.yandex.div.core.expression.variables import com.yandex.div.core.Disposable +import com.yandex.div.core.ObserverList +import com.yandex.div.core.annotations.Mockable import com.yandex.div.core.view2.errors.ErrorCollector import com.yandex.div.data.Variable -import com.yandex.div.evaluable.VariableProvider +import com.yandex.div.data.VariableDeclarationException +import com.yandex.div.internal.Assert -internal interface VariableController : VariableProvider { +import com.yandex.div.json.missingVariable + +@Mockable +internal class VariableController { + private val variables = mutableMapOf() + private val extraVariablesSources = mutableListOf() + private val onChangeObservers = mutableMapOf Unit>>() + + private var onAnyVariableChangeCallback: ((Variable) -> Unit)? = null + private val notifyVariableChangedCallback = { v : Variable -> notifyVariableChanged(v) } + private val declarationObserver = { v : Variable -> onVariableDeclared(v) } + + private fun addObserver(name: String, observer: (Variable) -> Unit) { + val observers = onChangeObservers.getOrPut(name) { + ObserverList() + } + observers.addObserver(observer) + } - override fun get(name: String) = getMutableVariable(name)?.getValue() fun subscribeToVariablesChange( names: List, invokeOnSubscription: Boolean = false, observer: (Variable) -> Unit - ): Disposable + ): Disposable { + names.forEach { name -> + subscribeToVariableChangeImpl(name, null, invokeOnSubscription, observer) + } + return Disposable { + names.forEach { name -> + removeChangeObserver(name, observer) + } + } + } fun subscribeToVariableChange( name: String, errorCollector: ErrorCollector? = null, invokeOnSubscription: Boolean = false, observer: (Variable) -> Unit - ): Disposable + ): Disposable { + subscribeToVariableChangeImpl(name, errorCollector, invokeOnSubscription, observer) + return Disposable { + removeChangeObserver(name, observer) + } + } - fun addSource(source: VariableSource) + private fun subscribeToVariableChangeImpl( + name: String, + errorCollector: ErrorCollector? = null, + invokeOnSubscription: Boolean = false, + observer: (Variable) -> Unit + ) { + val variable = getMutableVariable(name) + ?: run { + errorCollector?.logError(missingVariable(name)) + addObserver(name, observer) + return + } - fun getMutableVariable(name: String): Variable? + if (invokeOnSubscription) { + // Any on variable changed notify should be executed on main thread. + Assert.assertMainThread() + observer.invoke(variable) + } + addObserver(name, observer) + return + } - fun declare(variable: Variable) + private fun removeChangeObserver(name: String, observer: (Variable) -> Unit) { + onChangeObservers[name]?.removeObserver(observer) + } - fun setOnAnyVariableChangeCallback(callback: (Variable) -> Unit) + private fun notifyVariableChanged(v: Variable) { + Assert.assertMainThread() + onAnyVariableChangeCallback?.invoke(v) + onChangeObservers[v.name]?.forEach { it.invoke(v) } + } + + + /** + * aka "adding references to global variables" + */ + fun addSource(source: VariableSource) { + source.observeVariables(notifyVariableChangedCallback) + source.observeDeclaration(declarationObserver) + extraVariablesSources.add(source) + } + + private fun onVariableDeclared(variable: Variable) { + variable.addObserver(notifyVariableChangedCallback) + notifyVariableChanged(variable) + } + + fun getMutableVariable(name: String): Variable? { + variables[name]?.let { + return it + } + + extraVariablesSources.forEach { source: VariableSource -> + source.getMutableVariable(name)?.let { + return it + } + } + + return null + } + + internal fun cleanup() { + extraVariablesSources.forEach { variableSource -> + variableSource.removeVariablesObserver(notifyVariableChangedCallback) + variableSource.removeDeclarationObserver(declarationObserver) + } + onAnyVariableChangeCallback = null + } + + @Throws(VariableDeclarationException::class) + fun declare(variable: Variable) { + val prevVariable = variables.put(variable.name, variable) + if (prevVariable != null) { + variables[variable.name] = prevVariable + throw VariableDeclarationException("Variable '${variable.name}' already declared!") + } + onVariableDeclared(variable) + } + + fun setOnAnyVariableChangeCallback(callback: (Variable) -> Unit) { + Assert.assertNull(onAnyVariableChangeCallback) + onAnyVariableChangeCallback = callback + } } diff --git a/client/android/div/src/main/java/com/yandex/div/core/expression/variables/VariableControllerImpl.kt b/client/android/div/src/main/java/com/yandex/div/core/expression/variables/VariableControllerImpl.kt deleted file mode 100644 index 88fb2d58b..000000000 --- a/client/android/div/src/main/java/com/yandex/div/core/expression/variables/VariableControllerImpl.kt +++ /dev/null @@ -1,138 +0,0 @@ -package com.yandex.div.core.expression.variables - -import com.yandex.div.core.Disposable -import com.yandex.div.core.ObserverList -import com.yandex.div.core.annotations.Mockable -import com.yandex.div.core.view2.errors.ErrorCollector -import com.yandex.div.data.Variable -import com.yandex.div.data.VariableDeclarationException -import com.yandex.div.internal.Assert -import com.yandex.div.json.missingVariable - -@Mockable -internal class VariableControllerImpl : VariableController { - private val variables = mutableMapOf() - private val extraVariablesSources = mutableListOf() - private val onChangeObservers = mutableMapOf Unit>>() - - private val onAnyVariableChangeObservers = ObserverList<(Variable) -> Unit>() - private val notifyVariableChangedCallback = { v : Variable -> notifyVariableChanged(v) } - private val declarationObserver = { v : Variable -> onVariableDeclared(v) } - - private fun addObserver(name: String, observer: (Variable) -> Unit) { - val observers = onChangeObservers.getOrPut(name) { - ObserverList() - } - observers.addObserver(observer) - } - - override fun subscribeToVariablesChange( - names: List, - invokeOnSubscription: Boolean, - observer: (Variable) -> Unit - ): Disposable { - names.forEach { name -> - subscribeToVariableChangeImpl(name, null, invokeOnSubscription, observer) - } - return Disposable { - names.forEach { name -> - removeChangeObserver(name, observer) - } - } - } - - override fun subscribeToVariableChange( - name: String, - errorCollector: ErrorCollector?, - invokeOnSubscription: Boolean, - observer: (Variable) -> Unit - ): Disposable { - subscribeToVariableChangeImpl(name, errorCollector, invokeOnSubscription, observer) - return Disposable { - removeChangeObserver(name, observer) - } - } - - private fun subscribeToVariableChangeImpl( - name: String, - errorCollector: ErrorCollector? = null, - invokeOnSubscription: Boolean = false, - observer: (Variable) -> Unit - ) { - val variable = getMutableVariable(name) - ?: run { - errorCollector?.logError(missingVariable(name)) - addObserver(name, observer) - return - } - - if (invokeOnSubscription) { - // Any on variable changed notify should be executed on main thread. - Assert.assertMainThread() - observer.invoke(variable) - } - addObserver(name, observer) - return - } - - private fun removeChangeObserver(name: String, observer: (Variable) -> Unit) { - onChangeObservers[name]?.removeObserver(observer) - } - - private fun notifyVariableChanged(v: Variable) { - Assert.assertMainThread() - onAnyVariableChangeObservers.forEach { it.invoke(v) } - onChangeObservers[v.name]?.forEach { it.invoke(v) } - } - - - /** - * aka "adding references to global variables" - */ - override fun addSource(source: VariableSource) { - source.observeVariables(notifyVariableChangedCallback) - source.observeDeclaration(declarationObserver) - extraVariablesSources.add(source) - } - - private fun onVariableDeclared(variable: Variable) { - variable.addObserver(notifyVariableChangedCallback) - notifyVariableChanged(variable) - } - - override fun getMutableVariable(name: String): Variable? { - variables[name]?.let { - return it - } - - extraVariablesSources.forEach { source: VariableSource -> - source.getMutableVariable(name)?.let { - return it - } - } - - return null - } - - internal fun cleanup() { - extraVariablesSources.forEach { variableSource -> - variableSource.removeVariablesObserver(notifyVariableChangedCallback) - variableSource.removeDeclarationObserver(declarationObserver) - } - onAnyVariableChangeObservers.clear() - } - - @Throws(VariableDeclarationException::class) - override fun declare(variable: Variable) { - val prevVariable = variables.put(variable.name, variable) - if (prevVariable != null) { - variables[variable.name] = prevVariable - throw VariableDeclarationException("Variable '${variable.name}' already declared!") - } - onVariableDeclared(variable) - } - - override fun setOnAnyVariableChangeCallback(callback: (Variable) -> Unit) { - onAnyVariableChangeObservers.addObserver(callback) - } -} diff --git a/client/android/div/src/main/java/com/yandex/div/core/player/DivVideoActionHandler.kt b/client/android/div/src/main/java/com/yandex/div/core/player/DivVideoActionHandler.kt index 8911cec61..8c538db71 100644 --- a/client/android/div/src/main/java/com/yandex/div/core/player/DivVideoActionHandler.kt +++ b/client/android/div/src/main/java/com/yandex/div/core/player/DivVideoActionHandler.kt @@ -59,8 +59,8 @@ internal class DivVideoActionHandler @Inject constructor( return null } is DivContainer -> { - div.buildItems(resolver).forEach { (item, newResolver) -> - findDivVideoWithId(item.value(), id, newResolver)?.let { + div.buildItems(resolver).forEach { item -> + findDivVideoWithId(item.value(), id, resolver)?.let { return it } } diff --git a/client/android/div/src/main/java/com/yandex/div/core/state/DivPathUtils.kt b/client/android/div/src/main/java/com/yandex/div/core/state/DivPathUtils.kt index d45b65628..e6d46f659 100644 --- a/client/android/div/src/main/java/com/yandex/div/core/state/DivPathUtils.kt +++ b/client/android/div/src/main/java/com/yandex/div/core/state/DivPathUtils.kt @@ -4,7 +4,6 @@ import android.view.View import android.view.ViewGroup import androidx.core.view.children import com.yandex.div.core.view2.divs.widgets.DivStateLayout -import com.yandex.div.internal.core.DivItemBuilderResult import com.yandex.div.internal.core.buildItems import com.yandex.div.internal.core.nonNullItems import com.yandex.div.json.expressions.ExpressionResolver @@ -110,7 +109,7 @@ internal object DivPathUtils { } } is Div.Tabs -> value.items.map { it.div }.findRecursively(divId, resolver) - is Div.Container -> value.buildItems(resolver).findRecursively(divId) + is Div.Container -> value.buildItems(resolver).findRecursively(divId, resolver) is Div.Grid -> value.nonNullItems.findRecursively(divId, resolver) is Div.Gallery -> value.nonNullItems.findRecursively(divId, resolver) is Div.Pager -> value.nonNullItems.findRecursively(divId, resolver) @@ -127,13 +126,6 @@ internal object DivPathUtils { } } - private fun Iterable.findRecursively(divId: String): Div? { - forEach { (div, resolver) -> - div.findByPath(divId, resolver)?.let { return it } - } - return null - } - private fun Iterable
.findRecursively(divId: String, resolver: ExpressionResolver): Div? { forEach { div: Div -> val state = div.findByPath(divId, resolver) diff --git a/client/android/div/src/main/java/com/yandex/div/core/timer/TimerController.kt b/client/android/div/src/main/java/com/yandex/div/core/timer/TimerController.kt index 99c36a0f2..b963ea7e5 100644 --- a/client/android/div/src/main/java/com/yandex/div/core/timer/TimerController.kt +++ b/client/android/div/src/main/java/com/yandex/div/core/timer/TimerController.kt @@ -88,7 +88,7 @@ internal class TimerController( UiThreadHandler.executeOnMainThread { div2View?.let { - divActionBinder.handleActions(it, it.expressionResolver, tickActions, DivActionReason.TIMER) + divActionBinder.handleActions(it, tickActions, DivActionReason.TIMER) } } } @@ -98,7 +98,7 @@ internal class TimerController( UiThreadHandler.executeOnMainThread { div2View?.let { - divActionBinder.handleActions(it, it.expressionResolver, endActions, DivActionReason.TIMER) + divActionBinder.handleActions(it, endActions, DivActionReason.TIMER) } } } diff --git a/client/android/div/src/main/java/com/yandex/div/core/tooltip/DivTooltipController.kt b/client/android/div/src/main/java/com/yandex/div/core/tooltip/DivTooltipController.kt index 08459328b..4a465544e 100644 --- a/client/android/div/src/main/java/com/yandex/div/core/tooltip/DivTooltipController.kt +++ b/client/android/div/src/main/java/com/yandex/div/core/tooltip/DivTooltipController.kt @@ -26,7 +26,6 @@ import com.yandex.div.core.util.AccessibilityStateProvider import com.yandex.div.core.util.SafePopupWindow import com.yandex.div.core.util.doOnActualLayout import com.yandex.div.core.util.isActuallyLaidOut -import com.yandex.div.core.view2.BindingContext import com.yandex.div.core.view2.Div2Builder import com.yandex.div.core.view2.Div2View import com.yandex.div.core.view2.DivVisibilityActionTracker @@ -73,18 +72,18 @@ internal class DivTooltipController @VisibleForTesting constructor( accessibilityStateProvider, { c: View, w: Int, h: Int -> DivTooltipWindow(c, w, h) }) - fun showTooltip(tooltipId: String, context: BindingContext, multiple: Boolean = false) { - findChildWithTooltip(tooltipId, context.divView)?.let { (divTooltip, anchor) -> - showTooltip(divTooltip, anchor, context, multiple) + fun showTooltip(tooltipId: String, div2View: Div2View, multiple: Boolean = false) { + findChildWithTooltip(tooltipId, div2View)?.let { (divTooltip, anchor) -> + showTooltip(divTooltip, anchor, div2View, multiple) } } - private fun showTooltip(divTooltip: DivTooltip, anchor: View, context: BindingContext, multiple: Boolean) { + private fun showTooltip(divTooltip: DivTooltip, anchor: View, div2View: Div2View, multiple: Boolean) { if (tooltips.contains(divTooltip.id)) { return } anchor.doOnActualLayout { - tryShowTooltip(anchor, divTooltip, context, multiple) + tryShowTooltip(anchor, divTooltip, div2View, multiple) } if (!anchor.isActuallyLaidOut && !anchor.isLayoutRequested) { anchor.requestLayout() @@ -95,9 +94,9 @@ internal class DivTooltipController @VisibleForTesting constructor( tooltips[id]?.popupWindow?.dismiss() } - fun cancelTooltips(context: BindingContext) = cancelTooltips(context, context.divView) + fun cancelTooltips(div2View: Div2View) = cancelTooltips(div2View, div2View) - private fun cancelTooltips(context: BindingContext, view: View) { + private fun cancelTooltips(div2View: Div2View, view: View) { @Suppress("UNCHECKED_CAST") (view.getTag(R.id.div_tooltips_tag) as? List)?.let { tooltipList -> tooltipList.forEach { tooltip -> @@ -109,7 +108,7 @@ internal class DivTooltipController @VisibleForTesting constructor( popupWindow.dismiss() } else { forRemove.add(tooltip.id) - stopVisibilityTracking(context, tooltip.div) + stopVisibilityTracking(div2View, tooltip.div) } ticket?.cancel() } @@ -118,7 +117,7 @@ internal class DivTooltipController @VisibleForTesting constructor( } if (view is ViewGroup) { view.children.forEach { child -> - cancelTooltips(context, child) + cancelTooltips(div2View, child) } } } @@ -139,24 +138,23 @@ internal class DivTooltipController @VisibleForTesting constructor( private fun tryShowTooltip( anchor: View, divTooltip: DivTooltip, - context: BindingContext, + div2View: Div2View, multiple: Boolean ) { - val div2View = context.divView if (!tooltipRestrictor.canShowTooltip(div2View, anchor, divTooltip, multiple)) { return } val div = divTooltip.div val divBase = div.value() - val tooltipView = div2Builder.get().buildView(div, context, DivStatePath.fromState(0)) + val tooltipView = div2Builder.get().buildView(div, div2View, DivStatePath.fromState(0)) if (tooltipView == null) { Assert.fail("Broken div in popup") return } - val displayMetrics = context.divView.resources.displayMetrics - val resolver = context.expressionResolver + val displayMetrics = div2View.resources.displayMetrics + val resolver = div2View.expressionResolver val popup = createPopup( tooltipView, @@ -165,23 +163,23 @@ internal class DivTooltipController @VisibleForTesting constructor( ).apply { setOnDismissListener { tooltips.remove(divTooltip.id) - stopVisibilityTracking(context, divTooltip.div) + stopVisibilityTracking(div2View, divTooltip.div) divVisibilityActionTracker.getDivWithWaitingDisappearActions()[tooltipView]?.let { - divVisibilityActionTracker.trackDetachedView(context, tooltipView, it) + divVisibilityActionTracker.trackDetachedView(div2View, tooltipView, it) } tooltipRestrictor.tooltipShownCallback?.onDivTooltipDismissed(div2View, anchor, divTooltip) } setDismissOnTouchOutside() - setupAnimation(divTooltip, resolver) + setupAnimation(divTooltip, div2View.expressionResolver) } val tooltipData = TooltipData(popup, div, null) tooltips[divTooltip.id] = tooltipData - val ticket = divPreloader.preload(div, resolver) { hasFailures -> + val ticket = divPreloader.preload(div, div2View.expressionResolver) { hasFailures -> if (!hasFailures && !tooltipData.dismissed && anchor.isViewAttachedToWindow() && tooltipRestrictor.canShowTooltip(div2View, anchor, divTooltip, multiple)) { tooltipView.doOnActualLayout { val windowFrame = div2View.getWindowFrame() - val location = calcPopupLocation(tooltipView, anchor, divTooltip, resolver) + val location = calcPopupLocation(tooltipView, anchor, divTooltip, div2View.expressionResolver) val finalTooltipWidth = minOf(tooltipView.width, windowFrame.right) val finalTooltipHeight = minOf(tooltipView.height, windowFrame.bottom) @@ -195,7 +193,7 @@ internal class DivTooltipController @VisibleForTesting constructor( } popup.update(location.x, location.y, finalTooltipWidth, finalTooltipHeight) - startVisibilityTracking(context, div, tooltipView) + startVisibilityTracking(div2View, div, tooltipView) tooltipRestrictor.tooltipShownCallback?.onDivTooltipShown(div2View, anchor, divTooltip) } @@ -210,7 +208,7 @@ internal class DivTooltipController @VisibleForTesting constructor( popup.showAtLocation(anchor, Gravity.NO_GRAVITY, 0, 0) if (divTooltip.duration.evaluate(resolver) != 0L) { - mainThreadHandler.postDelayed(divTooltip.duration.evaluate(resolver)) { + mainThreadHandler.postDelayed(divTooltip.duration.evaluate(resolver).toLong()) { hideTooltip(divTooltip.id, div2View) } } @@ -219,18 +217,13 @@ internal class DivTooltipController @VisibleForTesting constructor( tooltips[divTooltip.id]?.ticket = ticket } - private fun startVisibilityTracking(context: BindingContext, div: Div, tooltipView: View) { - stopVisibilityTracking(context, div) - divVisibilityActionTracker.trackVisibilityActionsOf( - context.divView, - context.expressionResolver, - tooltipView, - div - ) + private fun startVisibilityTracking(div2View: Div2View, div: Div, tooltipView: View) { + stopVisibilityTracking(div2View, div) + divVisibilityActionTracker.trackVisibilityActionsOf(div2View, tooltipView, div) } - private fun stopVisibilityTracking(context: BindingContext, div: Div) { - divVisibilityActionTracker.trackVisibilityActionsOf(context.divView, context.expressionResolver, null, div) + private fun stopVisibilityTracking(div2View: Div2View, div: Div) { + divVisibilityActionTracker.trackVisibilityActionsOf(div2View, null, div) } private fun View.getWrappedTooltip(): View = diff --git a/client/android/div/src/main/java/com/yandex/div/core/util/DivTreeWalk.kt b/client/android/div/src/main/java/com/yandex/div/core/util/DivTreeWalk.kt index 726ab86f9..a6c5343a4 100644 --- a/client/android/div/src/main/java/com/yandex/div/core/util/DivTreeWalk.kt +++ b/client/android/div/src/main/java/com/yandex/div/core/util/DivTreeWalk.kt @@ -1,6 +1,5 @@ package com.yandex.div.core.util -import com.yandex.div.internal.core.DivItemBuilderResult import com.yandex.div.internal.core.buildItems import com.yandex.div.internal.core.nonNullItems import com.yandex.div.json.expressions.ExpressionResolver @@ -19,11 +18,11 @@ internal class DivTreeWalk private constructor( private val onEnter: ((Div) -> Boolean)?, private val onLeave: ((Div) -> Unit)?, private val maxDepth: Int = Int.MAX_VALUE -) : Sequence { +) : Sequence
{ internal constructor(root: Div, resolver: ExpressionResolver) : this(root, resolver, null, null) - override fun iterator(): Iterator = DivTreeWalkIterator(root, resolver) + override fun iterator(): Iterator
= DivTreeWalkIterator(root, resolver) /** * Sets a [predicate], that is called on any entered container div (div-container, div-gallery, etc.) @@ -62,103 +61,106 @@ internal class DivTreeWalk private constructor( private inner class DivTreeWalkIterator( private val root: Div, private val resolver: ExpressionResolver - ) : AbstractIterator() { + ) : AbstractIterator
() { private val stack = ArrayDeque().apply { - addLast(node(DivItemBuilderResult(root, resolver))) + addLast(node(root, resolver)) } override fun computeNext() { - val nextItem = nextItem() - if (nextItem != null) { - setNext(nextItem) + val nextDiv = nextDiv() + if (nextDiv != null) { + setNext(nextDiv) } else { done() } } - private fun nextItem(): DivItemBuilderResult? { + private fun nextDiv(): Div? { val node = stack.lastOrNull() ?: return null - val item = node.step() - return if (item == null) { + val div = node.step() + return if (div == null) { stack.removeLast() - nextItem() - } else if (item === node.item || item.div.isLeaf || stack.size >= maxDepth) { - item + nextDiv() + } else if (div === node.div || div.isLeaf || stack.size >= maxDepth) { + div } else { - stack.addLast(node(item)) - nextItem() + stack.addLast(node(div, resolver)) + nextDiv() } } - private fun node(item: DivItemBuilderResult): Node { - return if (item.div.isBranch) { - BranchNode(item, onEnter, onLeave) + private fun node(div: Div, resolver: ExpressionResolver): Node { + return if (div.isBranch) { + BranchNode(div, resolver, onEnter, onLeave) } else { - LeafNode(item) + LeafNode(div, resolver) } } } private interface Node { - val item: DivItemBuilderResult + val div: Div + val resolver: ExpressionResolver - fun step(): DivItemBuilderResult? + fun step(): Div? } private class LeafNode( - override val item: DivItemBuilderResult, + override val div: Div, + override val resolver: ExpressionResolver ) : Node { private var visited = false - override fun step(): DivItemBuilderResult? { + override fun step(): Div? { if (visited) { return null } visited = true - return item + return div } } private class BranchNode( - override val item: DivItemBuilderResult, + override val div: Div, + override val resolver: ExpressionResolver, private val onEnter: ((Div) -> Boolean)?, private val onLeave: ((Div) -> Unit)? ) : Node { private var rootVisited = false - private var children: List? = null + private var children: List
? = null private var childIndex = 0 - override fun step(): DivItemBuilderResult? { + override fun step(): Div? { if (!rootVisited) { - if (onEnter?.invoke(item.div) == false) { + if (onEnter?.invoke(div) == false) { return null } rootVisited = true - return item + return div } var children = this.children if (children == null) { - children = item.div.getItems(item.expressionResolver) + children = div.getItems(resolver) this.children = children } return if (childIndex < children.size) { children[childIndex++] } else { - onLeave?.invoke(item.div) + onLeave?.invoke(div) null } } } } -private fun Div.getItems(resolver: ExpressionResolver): List { +private fun Div.getItems(resolver: ExpressionResolver): List
{ return when (this) { is Div.Text -> emptyList() is Div.Image -> emptyList() @@ -171,10 +173,10 @@ private fun Div.getItems(resolver: ExpressionResolver): List emptyList() is Div.Video -> emptyList() is Div.Container -> value.buildItems(resolver) - is Div.Grid -> value.nonNullItems.map { DivItemBuilderResult(it, resolver) } - is Div.Gallery -> value.nonNullItems.map { DivItemBuilderResult(it, resolver) } - is Div.Pager -> value.nonNullItems.map { DivItemBuilderResult(it, resolver) } - is Div.Tabs -> value.items.map { DivItemBuilderResult(it.div, resolver) } - is Div.State -> value.states.mapNotNull { state -> state.div?.let { DivItemBuilderResult(it, resolver) } } + is Div.Grid -> value.nonNullItems + is Div.Gallery -> value.nonNullItems + is Div.Pager -> value.nonNullItems + is Div.Tabs -> value.items.map { tab -> tab.div } + is Div.State -> value.states.mapNotNull { state -> state.div } } } diff --git a/client/android/div/src/main/java/com/yandex/div/core/util/DivUtil.kt b/client/android/div/src/main/java/com/yandex/div/core/util/DivUtil.kt index e5e98626b..36fa1d50f 100644 --- a/client/android/div/src/main/java/com/yandex/div/core/util/DivUtil.kt +++ b/client/android/div/src/main/java/com/yandex/div/core/util/DivUtil.kt @@ -131,7 +131,7 @@ internal fun Div.containsStateInnerTransitions(resolver: ExpressionResolver): Bo } return when (this) { is Div.Container -> value.buildItems(resolver) - .map { it.div.containsStateInnerTransitions(it.expressionResolver) } + .map { it.containsStateInnerTransitions(resolver) } .contains(true) is Div.Grid -> value.nonNullItems .map { it.containsStateInnerTransitions(resolver) } diff --git a/client/android/div/src/main/java/com/yandex/div/core/view2/BindingContext.kt b/client/android/div/src/main/java/com/yandex/div/core/view2/BindingContext.kt deleted file mode 100644 index 36477aeb7..000000000 --- a/client/android/div/src/main/java/com/yandex/div/core/view2/BindingContext.kt +++ /dev/null @@ -1,8 +0,0 @@ -package com.yandex.div.core.view2 - -import com.yandex.div.json.expressions.ExpressionResolver - -internal data class BindingContext( - val divView: Div2View, - val expressionResolver: ExpressionResolver -) diff --git a/client/android/div/src/main/java/com/yandex/div/core/view2/Div2Builder.kt b/client/android/div/src/main/java/com/yandex/div/core/view2/Div2Builder.kt index 7e6f886df..b7fa37f73 100644 --- a/client/android/div/src/main/java/com/yandex/div/core/view2/Div2Builder.kt +++ b/client/android/div/src/main/java/com/yandex/div/core/view2/Div2Builder.kt @@ -20,18 +20,18 @@ internal class Div2Builder @Inject constructor( private val viewBinder: DivBinder ) { - fun buildView(data: Div, context: BindingContext, path: DivStatePath): View { - val view = createView(data, context, path) + fun buildView(data: Div, divView: Div2View, path: DivStatePath): View { + val view = createView(data, divView, path) suppressExpressionErrors { - viewBinder.bind(context, view, data, path) + viewBinder.bind(view, data, divView, path) } return view } - fun createView(data: Div, context: BindingContext, path: DivStatePath): View { - val resolver = context.expressionResolver + fun createView(data: Div, divView: Div2View, path: DivStatePath): View { + val resolver = divView.expressionResolver val view = viewCreator.create(data, resolver).apply { layoutParams = DivLayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT) } diff --git a/client/android/div/src/main/java/com/yandex/div/core/view2/Div2View.kt b/client/android/div/src/main/java/com/yandex/div/core/view2/Div2View.kt index c65686796..9066c2089 100644 --- a/client/android/div/src/main/java/com/yandex/div/core/view2/Div2View.kt +++ b/client/android/div/src/main/java/com/yandex/div/core/view2/Div2View.kt @@ -27,8 +27,8 @@ import com.yandex.div.core.DivViewFacade import com.yandex.div.core.annotations.Mockable import com.yandex.div.core.dagger.Div2Component import com.yandex.div.core.dagger.Div2ViewComponent -import com.yandex.div.core.downloader.PersistentDivDataObserver import com.yandex.div.core.downloader.DivDataChangedObserver +import com.yandex.div.core.downloader.PersistentDivDataObserver import com.yandex.div.core.expression.ExpressionsRuntime import com.yandex.div.core.expression.suppressExpressionErrors import com.yandex.div.core.expression.variables.VariableController @@ -59,7 +59,6 @@ import com.yandex.div.histogram.Div2ViewHistogramReporter import com.yandex.div.histogram.HistogramCallType import com.yandex.div.internal.Assert import com.yandex.div.internal.KAssert -import com.yandex.div.internal.core.DivItemBuilderResult import com.yandex.div.internal.util.hasScrollableChildUnder import com.yandex.div.internal.util.immutableCopy import com.yandex.div.internal.widget.FrameContainerLayout @@ -70,7 +69,6 @@ import com.yandex.div.util.getInitialStateId import com.yandex.div2.Div import com.yandex.div2.DivAccessibility import com.yandex.div2.DivAction -import com.yandex.div2.DivBase import com.yandex.div2.DivData import com.yandex.div2.DivPatch import com.yandex.div2.DivTransitionSelector @@ -108,7 +106,6 @@ class Div2View private constructor( private val divDataChangedObservers = mutableListOf() private val persistentDivDataObservers = mutableListOf() private val viewToDivBindings = WeakHashMap() - private val divToBindingContextBindings = WeakHashMap() private val propagatedAccessibilityModes = WeakHashMap() private val bulkActionsHandler = BulkActionHandler() private val divVideoActionHandler: DivVideoActionHandler @@ -124,8 +121,6 @@ class Div2View private constructor( internal val oldExpressionResolver: ExpressionResolver get() = oldExpressionsRuntime?.expressionResolver ?: ExpressionResolver.EMPTY - internal var bindingContext: BindingContext = BindingContext(this, expressionResolver) - internal var divTimerEventDispatcher: DivTimerEventDispatcher? = null private val monitor = Any() @@ -187,7 +182,6 @@ class Div2View private constructor( if (oldExpressionsRuntime != _expressionsRuntime) { oldExpressionsRuntime?.clearBinding() } - bindingContext = BindingContext(this, expressionResolver) } private fun attachVariableTriggers() { @@ -404,33 +398,18 @@ class Div2View private constructor( } private fun trackStateVisibility(state: DivData.State) { - div2Component.visibilityActionTracker.trackVisibilityActionsOf( - this, - getExpressionResolver(state.div.value()), - view, - state.div - ) + div2Component.visibilityActionTracker.trackVisibilityActionsOf(this, view, state.div) } private fun discardStateVisibility(state: DivData.State) { - div2Component.visibilityActionTracker.trackVisibilityActionsOf( - scope = this, - resolver = getExpressionResolver(state.div.value()), - view = null, - div = state.div - ) + div2Component.visibilityActionTracker.trackVisibilityActionsOf(this, null, state.div) } fun trackChildrenVisibility() { val visibilityActionTracker = div2Component.visibilityActionTracker viewToDivBindings.forEach { (view, div) -> if (ViewCompat.isAttachedToWindow(view)) { - visibilityActionTracker.trackVisibilityActionsOf( - this, - getExpressionResolver(div.value()), - view, - div - ) + visibilityActionTracker.trackVisibilityActionsOf(this, view, div) } } } @@ -733,7 +712,7 @@ class Div2View private constructor( } if (bindBeforeViewAdded) { - div2Component.divBinder.bind(bindingContext, newStateView, newState.div, DivStatePath.fromState(newState.stateId)) + div2Component.divBinder.bind(newStateView, newState.div, this, DivStatePath.fromState(newState.stateId)) } if (transition != null) { @@ -762,7 +741,7 @@ class Div2View private constructor( isUpdateTemporary: Boolean = true ): View { div2Component.stateManager.updateState(dataTag, stateId, isUpdateTemporary) - return divBuilder.buildView(newState.div, bindingContext, DivStatePath.fromState(newState.stateId)).also { + return divBuilder.buildView(newState.div, this, DivStatePath.fromState(newState.stateId)).also { div2Component.divBinder.attachIndicators() } } @@ -774,16 +753,16 @@ class Div2View private constructor( ): View { div2Component.stateManager.updateState(dataTag, stateId, isUpdateTemporary) val path = DivStatePath.fromState(newState.stateId) - val view = divBuilder.createView(newState.div, bindingContext, path) + val view = divBuilder.createView(newState.div, this, path) if (bindOnAttachEnabled) { bindOnAttachRunnable = SingleTimeOnAttachCallback(this) { suppressExpressionErrors { - div2Component.divBinder.bind(bindingContext, view, newState.div, path) + div2Component.divBinder.bind(view, newState.div, this, path) } div2Component.divBinder.attachIndicators() } } else { - div2Component.divBinder.bind(bindingContext, view, newState.div, path) + div2Component.divBinder.bind(view, newState.div, this, path) doOnAttach { div2Component.divBinder.attachIndicators() } @@ -797,8 +776,8 @@ class Div2View private constructor( } val transition = viewComponent.transitionBuilder.buildTransitions( - from = oldDiv?.let { itemSequenceForTransition(oldData, it, oldExpressionResolver) }, - to = newDiv?.let { itemSequenceForTransition(newData, it, expressionResolver) }, + from = oldDiv?.let { divSequenceForTransition(oldData, it, oldExpressionResolver) }, + to = newDiv?.let { divSequenceForTransition(newData, it, expressionResolver) }, fromResolver = oldExpressionResolver, toResolver = expressionResolver ) @@ -816,11 +795,7 @@ class Div2View private constructor( return transition } - private fun itemSequenceForTransition( - divData: DivData?, - div: Div, - resolver: ExpressionResolver - ): Sequence { + private fun divSequenceForTransition(divData: DivData?, div: Div, resolver: ExpressionResolver): Sequence
{ val selectors = ArrayDeque().apply { addLast(divData?.transitionAnimationSelector?.evaluate(resolver) ?: DivTransitionSelector.NONE) } @@ -833,8 +808,8 @@ class Div2View private constructor( .onLeave { div -> if (div is Div.State) selectors.removeLast() } - .filter { item -> - item.div.value().transitionTriggers?.allowsTransitionsOnDataChange() + .filter { div -> + div.value().transitionTriggers?.allowsTransitionsOnDataChange() ?: selectors.lastOrNull()?.allowsTransitionsOnDataChange() ?: false } @@ -849,28 +824,18 @@ class Div2View private constructor( } @JvmOverloads - fun handleAction( - action: DivAction, - reason: String = DivActionReason.EXTERNAL, - expressionResolver: ExpressionResolver = getExpressionResolver(), - ) { - handleActionWithResult(action, reason, expressionResolver) + fun handleAction(action: DivAction, reason: String = DivActionReason.EXTERNAL) { + handleActionWithResult(action, reason) } @JvmOverloads - fun handleActionWithResult( - action: DivAction, - reason: String = DivActionReason.EXTERNAL, - expressionResolver: ExpressionResolver = getExpressionResolver(), - ): Boolean { + fun handleActionWithResult(action: DivAction, reason: String = DivActionReason.EXTERNAL): Boolean { return div2Component.actionBinder.handleAction( divView = this, - expressionResolver, action = action, reason = reason, actionUid = null, - viewActionHandler = actionHandler - ) + viewActionHandler = actionHandler) } override fun handleUri(uri: Uri) { @@ -928,18 +893,12 @@ class Div2View private constructor( return _expressionsRuntime?.expressionResolver ?: ExpressionResolver.EMPTY } - fun getExpressionResolver(div: DivBase?): ExpressionResolver { - return divToBindingContextBindings[div]?.expressionResolver ?: expressionResolver - } - - internal fun getBindingContext(div: DivBase?) = divToBindingContextBindings[div] ?: bindingContext - override fun showTooltip(tooltipId: String) { - tooltipController.showTooltip(tooltipId, bindingContext) + tooltipController.showTooltip(tooltipId, this) } override fun showTooltip(tooltipId: String, multiple: Boolean) { - tooltipController.showTooltip(tooltipId, bindingContext, multiple) + tooltipController.showTooltip(tooltipId, this, multiple) } override fun hideTooltip(tooltipId: String) { @@ -947,7 +906,7 @@ class Div2View private constructor( } override fun cancelTooltips() { - tooltipController.cancelTooltips(bindingContext) + tooltipController.cancelTooltips(this) } override fun dispatchDraw(canvas: Canvas) { @@ -968,10 +927,6 @@ class Div2View private constructor( viewToDivBindings[view] = div } - internal fun bindDivToBindingContext(div: DivBase?, context: BindingContext) { - divToBindingContextBindings[div] = context - } - internal fun takeBindingDiv(view: View) = viewToDivBindings[view] internal fun setPropagatedAccessibilityMode(view: View, mode: DivAccessibility.Mode) { @@ -1040,8 +995,6 @@ class Div2View private constructor( internal fun unbindViewFromDiv(view: View): Div? = viewToDivBindings.remove(view) - internal fun unbindDivFromBindingContext(div: DivBase?) = divToBindingContextBindings.remove(div) - private fun rebind(newData: DivData, isAutoanimations: Boolean) { try { if (childCount == 0) { @@ -1057,7 +1010,7 @@ class Div2View private constructor( } divData = newData div2Component.stateManager.updateState(dataTag, state.stateId, true) - div2Component.divBinder.bind(bindingContext, rootDivView, state.div, DivStatePath.fromState(stateId)) + div2Component.divBinder.bind(rootDivView, state.div, this, DivStatePath.fromState(stateId)) requestLayout() if (isAutoanimations) { div2Component.divStateChangeListener.onDivAnimatedStateChanged(this) diff --git a/client/android/div/src/main/java/com/yandex/div/core/view2/DivBinder.kt b/client/android/div/src/main/java/com/yandex/div/core/view2/DivBinder.kt index f56e6eaa8..bc8717390 100644 --- a/client/android/div/src/main/java/com/yandex/div/core/view2/DivBinder.kt +++ b/client/android/div/src/main/java/com/yandex/div/core/view2/DivBinder.kt @@ -87,17 +87,16 @@ internal class DivBinder @Inject constructor( private val pagerIndicatorConnector: PagerIndicatorConnector ) { @MainThread - fun bind(context: BindingContext, view: View, div: Div, path: DivStatePath) = suppressExpressionErrors { - context.divView.currentRebindReusableList?.pop(div)?.let { + fun bind(view: View, div: Div, divView: Div2View, path: DivStatePath) = suppressExpressionErrors { + divView.currentRebindReusableList?.pop(div)?.let { return@suppressExpressionErrors } - if (!validator.validate(div, context.expressionResolver)) { - bindLayoutParams(view, div.value(), context.expressionResolver) + if (!validator.validate(div, divView.expressionResolver)) { + bindLayoutParams(view, div.value(), divView.expressionResolver) return } - val divView = context.divView extensionController.beforeBindView(divView, view, div.value()) if (div !is Div.Custom) { @@ -105,22 +104,22 @@ internal class DivBinder @Inject constructor( } return when (div) { - is Div.Text -> bindText(context, view, div.value) - is Div.Image -> bindImage(context, view, div.value) - is Div.GifImage -> bindGifImage(context, view, div.value) - is Div.Separator -> bindSeparator(context, view, div.value) - is Div.Container -> bindContainer(context, view, div.value, path) - is Div.Grid -> bindGrid(context, view, div.value, path) - is Div.Gallery -> bindGallery(context, view, div.value, path) - is Div.Pager -> bindPager(context, view, div.value, path) - is Div.Tabs -> bindTabs(context, view, div.value, path) - is Div.State -> bindState(context, view, div.value, path) - is Div.Custom -> bindCustom(context, view, div.value, path) - is Div.Indicator -> bindIndicator(context, view, div.value) - is Div.Slider -> bindSlider(context, view, div.value) - is Div.Input -> bindInput(context, view, div.value) - is Div.Select -> bindSelect(context, view, div.value) - is Div.Video -> bindVideo(context, view, div.value) + is Div.Text -> bindText(view, div.value, divView) + is Div.Image -> bindImage(view, div.value, divView) + is Div.GifImage -> bindGifImage(view, div.value, divView) + is Div.Separator -> bindSeparator(view, div.value, divView) + is Div.Container -> bindContainer(view, div.value, divView, path) + is Div.Grid -> bindGrid(view, div.value, divView, path) + is Div.Gallery -> bindGallery(view, div.value, divView, path) + is Div.Pager -> bindPager(view, div.value, divView, path) + is Div.Tabs -> bindTabs(view, div.value, divView, path) + is Div.State -> bindState(view, div.value, divView, path) + is Div.Custom -> bindCustom(view, div.value, divView, path) + is Div.Indicator -> bindIndicator(view, div.value, divView) + is Div.Slider -> bindSlider(view, div.value, divView) + is Div.Input -> bindInput(view, div.value, divView) + is Div.Select -> bindSelect(view, div.value, divView) + is Div.Video -> bindVideo(view, div.value, divView) }.also { // extensionController bound new CustomView in DivCustomBinder after replacing in parent if (div !is Div.Custom) { @@ -134,68 +133,68 @@ internal class DivBinder @Inject constructor( pagerIndicatorConnector.attach() } - private fun bindText(context: BindingContext, view: View, data: DivText) { - textBinder.bindView(context, view as DivLineHeightTextView, data) + private fun bindText(view: View, data: DivText, divView: Div2View) { + textBinder.bindView(view as DivLineHeightTextView, data, divView) } - private fun bindImage(context: BindingContext, view: View, data: DivImage) { - imageBinder.bindView(context, view as DivImageView, data) + private fun bindImage(view: View, data: DivImage, divView: Div2View) { + imageBinder.bindView(view as DivImageView, data, divView) } - private fun bindGifImage(context: BindingContext, view: View, data: DivGifImage) { - gifImageBinder.bindView(context, view as DivGifImageView, data) + private fun bindGifImage(view: View, data: DivGifImage, divView: Div2View) { + gifImageBinder.bindView(view as DivGifImageView, data, divView) } - private fun bindSeparator(context: BindingContext, view: View, data: DivSeparator) { - separatorBinder.bindView(context, view as DivSeparatorView, data) + private fun bindSeparator(view: View, data: DivSeparator, divView: Div2View) { + separatorBinder.bindView(view as DivSeparatorView, data, divView) } - private fun bindContainer(context: BindingContext, view: View, data: DivContainer, path: DivStatePath) { - containerBinder.bindView(context, view as ViewGroup, data, path) + private fun bindContainer(view: View, data: DivContainer, divView: Div2View, path: DivStatePath) { + containerBinder.bindView(view as ViewGroup, data, divView, path) } - private fun bindGrid(context: BindingContext, view: View, data: DivGrid, path: DivStatePath) { - gridBinder.bindView(context, view as DivGridLayout, data, path) + private fun bindGrid(view: View, data: DivGrid, divView: Div2View, path: DivStatePath) { + gridBinder.bindView(view as DivGridLayout, data, divView, path) } - private fun bindGallery(context: BindingContext, view: View, data: DivGallery, path: DivStatePath) { - galleryBinder.bindView(context, view as DivRecyclerView, data, path) + private fun bindGallery(view: View, data: DivGallery, divView: Div2View, path: DivStatePath) { + galleryBinder.bindView(view as DivRecyclerView, data, divView, path) } - private fun bindPager(context: BindingContext, view: View, data: DivPager, path: DivStatePath) { - pagerBinder.bindView(context, view as DivPagerView, data, path) + private fun bindPager(view: View, data: DivPager, divView: Div2View, path: DivStatePath) { + pagerBinder.bindView(view as DivPagerView, data, divView, path) } - private fun bindTabs(context: BindingContext, view: View, data: DivTabs, path: DivStatePath) { - tabsBinder.bindView(context, view as DivTabsLayout, data, this, path) + private fun bindTabs(view: View, data: DivTabs, divView: Div2View, path: DivStatePath) { + tabsBinder.bindView(view as DivTabsLayout, data, divView, this, path) } - private fun bindState(context: BindingContext, view: View, data: DivState, path: DivStatePath) { - stateBinder.bindView(context, view as DivStateLayout, data, path) + private fun bindState(view: View, data: DivState, divView: Div2View, path: DivStatePath) { + stateBinder.bindView(view as DivStateLayout, data, divView, path) } - private fun bindCustom(context: BindingContext, view: View, data: DivCustom, path: DivStatePath) { - customBinder.bindView(context, view as DivCustomWrapper, data, path) + private fun bindCustom(view: View, data: DivCustom, divView: Div2View, path: DivStatePath) { + customBinder.bindView(view as DivCustomWrapper, data, divView, path) } - private fun bindIndicator(context: BindingContext, view: View, data: DivIndicator) { - indicatorBinder.bindView(context, view as DivPagerIndicatorView, data) + private fun bindIndicator(view: View, data: DivIndicator, divView: Div2View) { + indicatorBinder.bindView(view as DivPagerIndicatorView, data, divView) } - private fun bindSlider(context: BindingContext, view: View, data: DivSlider) { - sliderBinder.bindView(context, view as DivSliderView, data) + private fun bindSlider(view: View, data: DivSlider, divView: Div2View) { + sliderBinder.bindView(view as DivSliderView, data, divView) } - private fun bindInput(context: BindingContext, view: View, data: DivInput) { - inputBinder.bindView(context, view as DivInputView, data) + private fun bindInput(view: View, data: DivInput, divView: Div2View) { + inputBinder.bindView(view as DivInputView, data, divView) } - private fun bindSelect(context: BindingContext, view: View, data: DivSelect) { - selectBinder.bindView(context, view as DivSelectView, data) + private fun bindSelect(view: View, data: DivSelect, divView: Div2View) { + selectBinder.bindView(view as DivSelectView, data, divView) } - private fun bindVideo(context: BindingContext, view: View, data: DivVideo) { - videoBinder.bindView(context, view as DivVideoView, data) + private fun bindVideo(view: View, data: DivVideo, divView: Div2View) { + videoBinder.bindView(view as DivVideoView, data, divView) } private fun bindLayoutParams(view: View, data: DivBase, resolver: ExpressionResolver) { diff --git a/client/android/div/src/main/java/com/yandex/div/core/view2/DivImagePreloader.kt b/client/android/div/src/main/java/com/yandex/div/core/view2/DivImagePreloader.kt index 16199a741..f7ef70506 100644 --- a/client/android/div/src/main/java/com/yandex/div/core/view2/DivImagePreloader.kt +++ b/client/android/div/src/main/java/com/yandex/div/core/view2/DivImagePreloader.kt @@ -88,7 +88,7 @@ class DivImagePreloader @Inject constructor( override fun visit(data: Div.Container, resolver: ExpressionResolver) { defaultVisit(data, resolver) if (visitContainers) { - data.value.buildItems(resolver).forEach { visit(it.div, it.expressionResolver) } + data.value.buildItems(resolver).forEach { visit(it, resolver) } } } diff --git a/client/android/div/src/main/java/com/yandex/div/core/view2/DivTransitionBuilder.kt b/client/android/div/src/main/java/com/yandex/div/core/view2/DivTransitionBuilder.kt index 7063847cc..4d5a5af7a 100644 --- a/client/android/div/src/main/java/com/yandex/div/core/view2/DivTransitionBuilder.kt +++ b/client/android/div/src/main/java/com/yandex/div/core/view2/DivTransitionBuilder.kt @@ -17,7 +17,6 @@ import com.yandex.div.core.view2.animations.Scale import com.yandex.div.core.view2.animations.Slide import com.yandex.div.core.view2.animations.plusAssign import com.yandex.div.core.view2.divs.toPx -import com.yandex.div.internal.core.DivItemBuilderResult import com.yandex.div.json.expressions.ExpressionResolver import com.yandex.div2.Div import com.yandex.div2.DivAppearanceTransition @@ -52,8 +51,8 @@ internal class DivTransitionBuilder @Inject constructor( } fun buildTransitions( - from: Sequence?, - to: Sequence?, + from: Sequence
?, + to: Sequence
?, fromResolver: ExpressionResolver, toResolver: ExpressionResolver, ): TransitionSet { @@ -77,14 +76,14 @@ internal class DivTransitionBuilder @Inject constructor( } private fun buildOutgoingTransitions( - itemSequence: Sequence, + divSequence: Sequence
, resolver: ExpressionResolver ): List { val transitions = mutableListOf() - itemSequence.forEach { item -> - val id = item.div.value().id - val outgoingTransition = item.div.value().transitionOut + divSequence.forEach { div -> + val id = div.value().id + val outgoingTransition = div.value().transitionOut if (id != null && outgoingTransition != null) { val transition = outgoingTransition.toAndroidTransition(Visibility.MODE_OUT, resolver).apply { addTarget(viewIdProvider.getViewId(id)) @@ -97,14 +96,14 @@ internal class DivTransitionBuilder @Inject constructor( } private fun buildChangeTransitions( - itemSequence: Sequence, + divSequence: Sequence
, resolver: ExpressionResolver ): List { val transitions = mutableListOf() - itemSequence.forEach { item -> - val id = item.div.value().id - val changeTransition = item.div.value().transitionChange + divSequence.forEach { div -> + val id = div.value().id + val changeTransition = div.value().transitionChange if (id != null && changeTransition != null) { val transition = changeTransition.toAndroidTransition(resolver).apply { addTarget(viewIdProvider.getViewId(id)) @@ -117,14 +116,14 @@ internal class DivTransitionBuilder @Inject constructor( } private fun buildIncomingTransitions( - itemSequence: Sequence, + divSequence: Sequence
, resolver: ExpressionResolver ): List { val transitions = mutableListOf() - itemSequence.forEach { item -> - val id = item.div.value().id - val incomingTransition = item.div.value().transitionIn + divSequence.forEach { div -> + val id = div.value().id + val incomingTransition = div.value().transitionIn if (id != null && incomingTransition != null) { val transition = incomingTransition.toAndroidTransition(Visibility.MODE_IN, resolver).apply { addTarget(viewIdProvider.getViewId(id)) diff --git a/client/android/div/src/main/java/com/yandex/div/core/view2/DivViewBinder.kt b/client/android/div/src/main/java/com/yandex/div/core/view2/DivViewBinder.kt index d12668ea2..2e75d24b4 100644 --- a/client/android/div/src/main/java/com/yandex/div/core/view2/DivViewBinder.kt +++ b/client/android/div/src/main/java/com/yandex/div/core/view2/DivViewBinder.kt @@ -13,9 +13,9 @@ internal interface DivViewBinder { /** * Binds div's data to templated view */ - fun bindView(context: BindingContext, view: TView, div: TData) = Unit + fun bindView(view: TView, div: TData, divView: Div2View) = Unit - fun bindView(context: BindingContext, view: TView, div: TData, path: DivStatePath) { - bindView(context, view, div) + fun bindView(view: TView, div: TData, divView: Div2View, path: DivStatePath) { + bindView(view, div, divView) } } diff --git a/client/android/div/src/main/java/com/yandex/div/core/view2/DivViewCreator.kt b/client/android/div/src/main/java/com/yandex/div/core/view2/DivViewCreator.kt index 058fbfa8f..4e7529f46 100644 --- a/client/android/div/src/main/java/com/yandex/div/core/view2/DivViewCreator.kt +++ b/client/android/div/src/main/java/com/yandex/div/core/view2/DivViewCreator.kt @@ -118,8 +118,8 @@ internal class DivViewCreator @Inject constructor( override fun visit(data: Div.Container, resolver: ExpressionResolver): View { val view = defaultVisit(data, resolver) as ViewGroup - data.value.buildItems(resolver).forEach { item -> - view.addView(create(item.div, item.expressionResolver)) + data.value.buildItems(resolver).forEach { childData -> + view.addView(create(childData, resolver)) } return view } diff --git a/client/android/div/src/main/java/com/yandex/div/core/view2/DivVisibilityActionDispatcher.kt b/client/android/div/src/main/java/com/yandex/div/core/view2/DivVisibilityActionDispatcher.kt index e26ba6b9d..83da89b45 100644 --- a/client/android/div/src/main/java/com/yandex/div/core/view2/DivVisibilityActionDispatcher.kt +++ b/client/android/div/src/main/java/com/yandex/div/core/view2/DivVisibilityActionDispatcher.kt @@ -10,7 +10,6 @@ import com.yandex.div.core.dagger.DivScope import com.yandex.div.core.view2.divs.DivActionBeaconSender import com.yandex.div.internal.KLog import com.yandex.div.internal.util.arrayMap -import com.yandex.div.json.expressions.ExpressionResolver import com.yandex.div2.Div import com.yandex.div2.DivDisappearAction import com.yandex.div2.DivSightAction @@ -29,34 +28,34 @@ internal class DivVisibilityActionDispatcher @Inject constructor( private val actionLogCounters = arrayMap() - fun dispatchActions(scope: Div2View, resolver: ExpressionResolver, view: View, actions: Array) { + fun dispatchActions(scope: Div2View, view: View, actions: Array) { scope.bulkActions { actions.forEach { - dispatchAction(scope, resolver, view, it) + dispatchAction(scope, view, it) } } } - fun dispatchAction(scope: Div2View, resolver: ExpressionResolver, view: View, action: DivSightAction) { + fun dispatchAction(scope: Div2View, view: View, action: DivSightAction) { val compositeLogId = compositeLogIdOf(scope, action) val counter = actionLogCounters.getOrPut(compositeLogId) { 0 } KLog.d(TAG) { "visibility action dispatched: id=$compositeLogId, counter=$counter" } - val logLimit = action.logLimit.evaluate(resolver) + val logLimit = action.logLimit.evaluate(scope.expressionResolver) if (logLimit == LIMITLESS_LOG || counter < logLimit) { - if (divActionHandler.useActionUid) { + if (divActionHandler.useActionUid == true) { val uuid = UUID.randomUUID().toString() // try to handle scheme if it is known, otherwise log val handled = scope.actionHandler?.handleAction(action, scope, uuid) ?: false if (!handled && !divActionHandler.handleAction(action, scope, uuid)) { - logAction(scope, resolver, view, action, uuid) + logAction(scope, view, action, uuid) } } else { // try to handle scheme if it is known, otherwise log val handled = scope.actionHandler?.handleAction(action, scope) ?: false if (!handled && !divActionHandler.handleAction(action, scope)) { - logAction(scope, resolver, view, action) + logAction(scope, view, action) } } @@ -65,28 +64,22 @@ internal class DivVisibilityActionDispatcher @Inject constructor( } } - private fun logAction(scope: Div2View, resolver: ExpressionResolver, view: View, action: DivSightAction) { + private fun logAction(scope: Div2View, view: View, action: DivSightAction) { if (action is DivVisibilityAction) { logger.logViewShown(scope, view, action) } else { logger.logViewDisappeared(scope, view, action as DivDisappearAction) } - divActionBeaconSender.sendVisibilityActionBeacon(action, resolver) + divActionBeaconSender.sendVisibilityActionBeacon(action, scope.expressionResolver) } - private fun logAction( - scope: Div2View, - resolver: ExpressionResolver, - view: View, - action: DivSightAction, - actionUid: String - ) { + private fun logAction(scope: Div2View, view: View, action: DivSightAction, actionUid: String) { if (action is DivVisibilityAction) { logger.logViewShown(scope, view, action, actionUid) } else { logger.logViewDisappeared(scope, view, action as DivDisappearAction, actionUid) } - divActionBeaconSender.sendVisibilityActionBeacon(action, resolver) + divActionBeaconSender.sendVisibilityActionBeacon(action, scope.expressionResolver) } fun dispatchVisibleViewsChanged(visibleViews: Map) { diff --git a/client/android/div/src/main/java/com/yandex/div/core/view2/DivVisibilityActionTracker.kt b/client/android/div/src/main/java/com/yandex/div/core/view2/DivVisibilityActionTracker.kt index 3083036c6..9a6870a7b 100644 --- a/client/android/div/src/main/java/com/yandex/div/core/view2/DivVisibilityActionTracker.kt +++ b/client/android/div/src/main/java/com/yandex/div/core/view2/DivVisibilityActionTracker.kt @@ -15,7 +15,6 @@ import com.yandex.div.core.view2.divs.duration import com.yandex.div.internal.Assert import com.yandex.div.internal.KAssert import com.yandex.div.internal.KLog -import com.yandex.div.json.expressions.ExpressionResolver import com.yandex.div2.Div import com.yandex.div2.DivDisappearAction import com.yandex.div2.DivSightAction @@ -35,11 +34,11 @@ internal class DivVisibilityActionTracker @Inject constructor( private val trackedTokens = DivVisibilityTokenHolder() private val isEnabledObserver = SightActionIsEnabledObserver( - onEnable = { scope, resolver, view, div, action -> - trackVisibilityActions(scope, resolver, view, div, listOf(action)) + onEnable = { scope, view, div, action -> + trackVisibilityActions(scope, view, div, listOf(action)) }, - onDisable = { scope, resolver, _, div, action -> - shouldTrackVisibilityAction(scope, resolver, null, action, 0) + onDisable = { scope, _, div, action -> + shouldTrackVisibilityAction(scope, null, action, 0) } ) @@ -75,7 +74,6 @@ internal class DivVisibilityActionTracker @Inject constructor( @AnyThread fun trackVisibilityActionsOf( scope: Div2View, - resolver: ExpressionResolver, view: View?, div: Div, visibilityActions: List = div.value().allSightActions @@ -90,9 +88,9 @@ internal class DivVisibilityActionTracker @Inject constructor( action = { // Prevent visibility tracking when data has changed if (scope.divData === originalDivData) { - isEnabledObserver.observe(view, scope, resolver, div, visibilityActions) - trackVisibilityActions(scope, resolver, view, div, visibilityActions.filter { - it.isEnabled.evaluate(resolver) + isEnabledObserver.observe(view, scope, div, visibilityActions) + trackVisibilityActions(scope, view, div, visibilityActions.filter { + it.isEnabled.evaluate(scope.expressionResolver) }) } @@ -106,47 +104,45 @@ internal class DivVisibilityActionTracker @Inject constructor( // Canceling tracking isEnabledObserver.cancelObserving(visibilityActions) visibilityActions.forEach { action -> - shouldTrackVisibilityAction(scope, resolver, view, action, 0) + shouldTrackVisibilityAction(scope, view, action, 0) } } } fun trackDetachedView( - context: BindingContext, + scope: Div2View, view: View, div: Div ) { val actions = div.value().disappearActions ?: return - trackVisibilityActions(context.divView, context.expressionResolver, view, div, actions.filter { - it.isEnabled.evaluate(context.expressionResolver) + trackVisibilityActions(scope, view, div, actions.filter { + it.isEnabled.evaluate(scope.expressionResolver) }) } - fun startTrackingViewsHierarchy(context: BindingContext, root: View, rootDiv: Div?) { - trackViewsHierarchy(context, root, rootDiv) { currentView, currentDiv -> + fun startTrackingViewsHierarchy(scope: Div2View, root: View, rootDiv: Div?) { + trackViewsHierarchy(scope, root, rootDiv) { currentView, currentDiv -> val isViewFullyVisible = viewVisibilityCalculator.isViewFullyVisible(currentView) if (isViewFullyVisible && previousVisibilityIsFull[currentView] == true) { false } else { previousVisibilityIsFull[currentView] = isViewFullyVisible - currentDiv?.let { - trackVisibilityActionsOf(context.divView, context.expressionResolver, currentView, it) - } + currentDiv?.let { trackVisibilityActionsOf(scope, currentView, it) } true } } } - fun cancelTrackingViewsHierarchy(context: BindingContext, root: View, div: Div?) { - trackViewsHierarchy(context, root, div) { currentView, currentDiv -> + fun cancelTrackingViewsHierarchy(scope: Div2View, root: View, div: Div?) { + trackViewsHierarchy(scope, root, div) { currentView, currentDiv -> previousVisibilityIsFull.remove(currentView) - currentDiv?.let { trackVisibilityActionsOf(context.divView, context.expressionResolver, null, it) } + currentDiv?.let { trackVisibilityActionsOf(scope, null, it) } true } } private fun trackViewsHierarchy( - context: BindingContext, + scope: Div2View, view: View, div: Div?, trackAction: (View, Div?) -> Boolean @@ -155,14 +151,13 @@ internal class DivVisibilityActionTracker @Inject constructor( return } view.children.forEach { - val childDiv = context.divView.takeBindingDiv(it) - trackViewsHierarchy(context, it, childDiv, trackAction) + val childDiv = scope.takeBindingDiv(it) + trackViewsHierarchy(scope, it, childDiv, trackAction) } } private fun trackVisibilityActions( scope: Div2View, - resolver: ExpressionResolver, view: View, div: Div, visibilityActions: List @@ -176,13 +171,13 @@ internal class DivVisibilityActionTracker @Inject constructor( } visibilityActions.groupBy { action: DivSightAction -> - action.duration.evaluate(resolver) + action.duration.evaluate(scope.expressionResolver) }.forEach { entry: Map.Entry> -> val (delayMs, actions) = entry var haveWaitingDisappearActions = false actions.filterIsInstance().forEach { - val actionPercentage = it.visibilityPercentage.evaluate(resolver) + val actionPercentage = it.visibilityPercentage.evaluate(scope.expressionResolver) val needWaiting = visibilityPercentage > actionPercentage haveWaitingDisappearActions = haveWaitingDisappearActions || needWaiting if (needWaiting) { @@ -194,10 +189,10 @@ internal class DivVisibilityActionTracker @Inject constructor( } val actionsToBeTracked = actions.filterTo(ArrayList(actions.size)) { action -> - shouldTrackVisibilityAction(scope, resolver, view, action, visibilityPercentage) + shouldTrackVisibilityAction(scope, view, action, visibilityPercentage) } if (actionsToBeTracked.isNotEmpty()) { - startTracking(scope, resolver, view, actionsToBeTracked, delayMs) + startTracking(scope, view, actionsToBeTracked, delayMs) } } } @@ -207,18 +202,17 @@ internal class DivVisibilityActionTracker @Inject constructor( */ private fun shouldTrackVisibilityAction( scope: Div2View, - resolver: ExpressionResolver, view: View?, action: DivSightAction, visibilityPercentage: Int ): Boolean { val trackable = when (action) { is DivVisibilityAction -> { - visibilityPercentage >= action.visibilityPercentage.evaluate(resolver) + visibilityPercentage >= action.visibilityPercentage.evaluate(scope.expressionResolver) } is DivDisappearAction -> { (appearedForDisappearActions[view]?.contains(action) ?: false) && - visibilityPercentage <= action.visibilityPercentage.evaluate(resolver) + visibilityPercentage <= action.visibilityPercentage.evaluate(scope.expressionResolver) } else -> { KAssert.fail { "Trying to check visibility for class without known visibility range" } @@ -244,7 +238,6 @@ internal class DivVisibilityActionTracker @Inject constructor( private fun startTracking( scope: Div2View, - resolver: ExpressionResolver, view: View, actions: List, delayMs: Long @@ -266,7 +259,7 @@ internal class DivVisibilityActionTracker @Inject constructor( divWithWaitingDisappearActions.remove(view) } } - visibilityActionDispatcher.dispatchActions(scope, resolver, view, logIds.values.toTypedArray()) + visibilityActionDispatcher.dispatchActions(scope, view, logIds.values.toTypedArray()) } } diff --git a/client/android/div/src/main/java/com/yandex/div/core/view2/SightActionIsEnabledObserver.kt b/client/android/div/src/main/java/com/yandex/div/core/view2/SightActionIsEnabledObserver.kt index c978f71b0..94bbf9a47 100644 --- a/client/android/div/src/main/java/com/yandex/div/core/view2/SightActionIsEnabledObserver.kt +++ b/client/android/div/src/main/java/com/yandex/div/core/view2/SightActionIsEnabledObserver.kt @@ -4,15 +4,14 @@ import android.view.View import com.yandex.div.core.Disposable import com.yandex.div.core.view2.divs.allSightActions import com.yandex.div.internal.core.ExpressionSubscriber -import com.yandex.div.json.expressions.ExpressionResolver import com.yandex.div2.Div import com.yandex.div2.DivSightAction import java.lang.ref.WeakReference import java.util.WeakHashMap internal class SightActionIsEnabledObserver( - private val onEnable: (Div2View, ExpressionResolver, View, Div, DivSightAction) -> Unit, - private val onDisable: (Div2View, ExpressionResolver, View, Div, DivSightAction) -> Unit + private val onEnable: (Div2View, View, Div, DivSightAction) -> Unit, + private val onDisable: (Div2View, View, Div, DivSightAction) -> Unit ) { private val boundedActions = WeakHashMap>() @@ -23,7 +22,6 @@ internal class SightActionIsEnabledObserver( fun observe( view: View, div2View: Div2View, - resolver: ExpressionResolver, div: Div, actions: List = div.value().allSightActions ) { @@ -36,12 +34,13 @@ internal class SightActionIsEnabledObserver( }, onAdd = { action -> cancelObserving(action) + val resolver = div2View.expressionResolver subscriptions[action] = Subscription( disposable = action.isEnabled.observe(resolver) { isEnabled -> if (isEnabled) { - onEnable(div2View, resolver, view, div, action) + onEnable(div2View, view, div, action) } else { - onDisable(div2View, resolver, view, div, action) + onDisable(div2View, view, div, action) } }, owner = view diff --git a/client/android/div/src/main/java/com/yandex/div/core/view2/animations/DivComparator.kt b/client/android/div/src/main/java/com/yandex/div/core/view2/animations/DivComparator.kt index 57471cfa9..38c7445bf 100644 --- a/client/android/div/src/main/java/com/yandex/div/core/view2/animations/DivComparator.kt +++ b/client/android/div/src/main/java/com/yandex/div/core/view2/animations/DivComparator.kt @@ -1,7 +1,6 @@ package com.yandex.div.core.view2.animations import com.yandex.div.core.view2.divs.isWrapContainer -import com.yandex.div.internal.core.DivItemBuilderResult import com.yandex.div.internal.core.buildItems import com.yandex.div.internal.core.nonNullItems import com.yandex.div.json.expressions.ExpressionResolver @@ -44,6 +43,8 @@ internal object DivComparator { return areValuesReplaceable(old.value(), new.value(), oldResolver, newResolver) && areChildrenReplaceable( extractChildren(old, oldResolver), extractChildren(new, newResolver), + oldResolver, + newResolver ) } @@ -71,22 +72,24 @@ internal object DivComparator { } fun areChildrenReplaceable( - oldChildren: List, - newChildren: List, + oldChildren: List
, + newChildren: List
, + oldResolver: ExpressionResolver, + newResolver: ExpressionResolver, ): Boolean { if (oldChildren.size != newChildren.size) { return false } return oldChildren.zip(newChildren).all { - areDivsReplaceable(it.first.div, it.second.div, it.first.expressionResolver, it.second.expressionResolver) + areDivsReplaceable(it.first, it.second, oldResolver, newResolver) } } - private fun extractChildren(div: Div, resolver: ExpressionResolver): List { + private fun extractChildren(div: Div, resolver: ExpressionResolver): List
{ return when (div) { is Div.Container -> div.value.buildItems(resolver) - is Div.Grid -> div.value.nonNullItems.map { DivItemBuilderResult(it, resolver) } + is Div.Grid -> div.value.nonNullItems is Div.Image -> emptyList() is Div.GifImage -> emptyList() is Div.Text -> emptyList() diff --git a/client/android/div/src/main/java/com/yandex/div/core/view2/divs/BaseDivViewExtensions.kt b/client/android/div/src/main/java/com/yandex/div/core/view2/divs/BaseDivViewExtensions.kt index bc70a39dd..64f63a6d4 100644 --- a/client/android/div/src/main/java/com/yandex/div/core/view2/divs/BaseDivViewExtensions.kt +++ b/client/android/div/src/main/java/com/yandex/div/core/view2/divs/BaseDivViewExtensions.kt @@ -26,7 +26,6 @@ import com.yandex.div.core.state.DivStatePath import com.yandex.div.core.util.doOnActualLayout import com.yandex.div.core.util.isLayoutRtl import com.yandex.div.core.util.toIntSafely -import com.yandex.div.core.view2.BindingContext import com.yandex.div.core.view2.Div2View import com.yandex.div.core.view2.DivBinder import com.yandex.div.core.view2.DivGestureListener @@ -38,7 +37,6 @@ import com.yandex.div.core.widget.AspectView import com.yandex.div.core.widget.FixedLineHeightView import com.yandex.div.core.widget.FixedLineHeightView.Companion.UNDEFINED_LINE_HEIGHT import com.yandex.div.internal.Log -import com.yandex.div.internal.core.DivItemBuilderResult import com.yandex.div.internal.core.ExpressionSubscriber import com.yandex.div.internal.drawable.CircleDrawable import com.yandex.div.internal.drawable.RoundedRectDrawable @@ -509,7 +507,7 @@ internal fun DivBlendMode.toPorterDuffMode(): PorterDuff.Mode { } internal fun View.applyDivActions( - context: BindingContext, + divView: Div2View, action: DivAction?, actions: List?, longTapActions: List?, @@ -517,27 +515,27 @@ internal fun View.applyDivActions( actionAnimation: DivAnimation, accessibility: DivAccessibility?, ) { - val actionBinder = context.divView.div2Component.actionBinder + val actionBinder = divView.div2Component.actionBinder val tapActions = if (actions.isNullOrEmpty()) { action?.let { listOf(it) } } else { actions } - actionBinder.bindDivActions(context, this, tapActions, longTapActions, doubleTapActions, + actionBinder.bindDivActions(divView, this, tapActions, longTapActions, doubleTapActions, actionAnimation, accessibility) } internal fun View.setAnimatedTouchListener( - context: BindingContext, + divView: Div2View, divAnimation: DivAnimation?, divGestureListener: DivGestureListener? ) { - val animations = divAnimation?.asTouchListener(context.expressionResolver, this) + val animations = divAnimation?.asTouchListener(divView.expressionResolver, this) // Avoid creating GestureDetector if unnecessary cause it's expensive. val gestureDetector = divGestureListener ?.takeUnless { it.onSingleTapListener == null && it.onDoubleTapListener == null } - ?.let { GestureDetectorCompat(context.divView.context, divGestureListener) } + ?.let { GestureDetectorCompat(divView.context, divGestureListener) } if (animations != null || gestureDetector != null) { //noinspection ClickableViewAccessibility @@ -602,7 +600,7 @@ internal fun View.bindLayoutParams(div: DivBase, resolver: ExpressionResolver) = */ internal fun View.bindStates( div: Div?, - context: BindingContext, + divView: Div2View, resolver: ExpressionResolver, binder: DivBinder, ) { @@ -621,7 +619,7 @@ internal fun View.bindStates( val divByPath = div.findDivState(path, resolver) if (divByPath != null) { val parentState = path.parentState() - binder.bind(context, layout, divByPath, parentState) + binder.bind(layout, divByPath, divView, parentState) } } } @@ -645,36 +643,21 @@ internal fun DivImageScale.toImageScale(): AspectImageView.Scale { } @MainThread -internal fun ViewGroup.trackVisibilityActions( - newItems: List, - oldItems: List?, - divView: Div2View -) { +internal fun ViewGroup.trackVisibilityActions(newDivs: List
, oldDivs: List
?, divView: Div2View) { val visibilityActionTracker = divView.div2Component.visibilityActionTracker - if (!oldItems.isNullOrEmpty()) { - val newLogIds = newItems.flatMap { it.div.value().allSightActions }.mapTo(HashSet()) { it.logId } + if (!oldDivs.isNullOrEmpty()) { + val newLogIds = newDivs.flatMap {it.value().allSightActions }.mapTo(HashSet()) { it.logId } - for (oldDiv in oldItems) { - val actionsToRemove = oldDiv.div.value().allSightActions.filter { it.logId !in newLogIds } - visibilityActionTracker.trackVisibilityActionsOf( - divView, - oldDiv.expressionResolver, - null, - oldDiv.div, - actionsToRemove - ) + for (oldDiv in oldDivs) { + val actionsToRemove = oldDiv.value().allSightActions.filter { it.logId !in newLogIds } + visibilityActionTracker.trackVisibilityActionsOf(divView, null, oldDiv, actionsToRemove) } } - if (newItems.isNotEmpty()) { + if (newDivs.isNotEmpty()) { doOnNextLayout { // Shortcut to check children are laid out at once - for ((view, item) in children zip newItems.asSequence()) { - visibilityActionTracker.trackVisibilityActionsOf( - divView, - item.expressionResolver, - view, - item.div - ) + for ((view, div) in children zip newDivs.asSequence()) { + visibilityActionTracker.trackVisibilityActionsOf(divView, view, div) } } } @@ -832,7 +815,7 @@ internal fun View.bindAspectRatio(newAspect: DivAspect?, oldAspect: DivAspect?, } internal fun View.applyBitmapFilters( - context: BindingContext, + divView: Div2View, bitmap: Bitmap, filters: List?, actionAfterFilters: (Bitmap) -> Unit @@ -842,8 +825,8 @@ internal fun View.applyBitmapFilters( return } - val resolver = context.expressionResolver - val bitmapEffectHelper = context.divView.div2Component.bitmapEffectHelper + val resolver = divView.expressionResolver + val bitmapEffectHelper = divView.div2Component.bitmapEffectHelper doOnActualLayout { val scale = max(height / bitmap.height.toFloat(), width / bitmap.width.toFloat()) diff --git a/client/android/div/src/main/java/com/yandex/div/core/view2/divs/DivActionBinder.kt b/client/android/div/src/main/java/com/yandex/div/core/view2/divs/DivActionBinder.kt index 9cc0f291c..b5316ca95 100644 --- a/client/android/div/src/main/java/com/yandex/div/core/view2/divs/DivActionBinder.kt +++ b/client/android/div/src/main/java/com/yandex/div/core/view2/divs/DivActionBinder.kt @@ -20,7 +20,6 @@ import com.yandex.div.core.experiments.Experiment.ACCESSIBILITY_ENABLED import com.yandex.div.core.experiments.Experiment.IGNORE_ACTION_MENU_ITEMS_ENABLED import com.yandex.div.core.experiments.Experiment.LONGTAP_ACTIONS_PASS_TO_CHILD_ENABLED import com.yandex.div.core.view2.AccessibilityDelegateWrapper -import com.yandex.div.core.view2.BindingContext import com.yandex.div.core.view2.Div2View import com.yandex.div.core.view2.DivGestureListener import com.yandex.div.core.view2.divs.DivActionBinder.LogType.Companion.LOG_BLUR @@ -63,7 +62,7 @@ internal class DivActionBinder @Inject constructor( } fun bindDivActions( - context: BindingContext, + divView: Div2View, target: View, actions: List?, longTapActions: List?, @@ -71,18 +70,18 @@ internal class DivActionBinder @Inject constructor( actionAnimation: DivAnimation, accessibility: DivAccessibility?, ) { - val resolver = context.expressionResolver val onApply = { applyDivActions( - context = context, + divView = divView, target = target, - actions = actions.onlyEnabled(resolver), - doubleTapActions = doubleTapActions.onlyEnabled(resolver), - longTapActions = longTapActions.onlyEnabled(resolver), + actions = actions.onlyEnabled(divView.expressionResolver), + doubleTapActions = doubleTapActions.onlyEnabled(divView.expressionResolver), + longTapActions = longTapActions.onlyEnabled(divView.expressionResolver), actionAnimation = actionAnimation, accessibility = accessibility, ) } + val resolver = divView.expressionResolver with(target) { observe(actions, resolver) { onApply() } observe(longTapActions, resolver) { onApply() } @@ -92,7 +91,7 @@ internal class DivActionBinder @Inject constructor( } private fun applyDivActions( - context: BindingContext, + divView: Div2View, target: View, actions: List, longTapActions: List, @@ -106,20 +105,20 @@ internal class DivActionBinder @Inject constructor( val divGestureListener = DivGestureListener( awaitLongClick = longTapActions.isNotEmpty() || target.parentIsLongClickable() ) - bindLongTapActions(context, target, longTapActions, actions.isEmpty()) - bindDoubleTapActions(context, target, divGestureListener, doubleTapActions) + bindLongTapActions(divView, target, longTapActions, actions.isEmpty()) + bindDoubleTapActions(divView, target, divGestureListener, doubleTapActions) // Order is urgent: tap actions depend on double tap actions - bindTapActions(context, target, divGestureListener, actions, shouldIgnoreActionMenuItems) + bindTapActions(divView, target, divGestureListener, actions, shouldIgnoreActionMenuItems) target.setAnimatedTouchListener( - context, + divView, actionAnimation.takeUnless { allIsNullOrEmpty(actions, longTapActions, doubleTapActions) }, divGestureListener ) if (accessibilityEnabled) { - if (DivAccessibility.Mode.MERGE == context.divView.getPropagatedAccessibilityMode(target) && - context.divView.isDescendantAccessibilityMode(target)) { + if (DivAccessibility.Mode.MERGE == divView.getPropagatedAccessibilityMode(target) && + divView.isDescendantAccessibilityMode(target)) { target.isClickable = clickableState target.isLongClickable = longClickableState } @@ -167,7 +166,7 @@ internal class DivActionBinder @Inject constructor( } private fun bindTapActions( - context: BindingContext, + divView: Div2View, target: View, divGestureListener: DivGestureListener, actions: List, @@ -195,23 +194,24 @@ internal class DivActionBinder @Inject constructor( } if (menuAction != null) { - prepareMenu(target, context, menuAction) { overflowMenuWrapper -> + prepareMenu(target, divView, menuAction) { overflowMenuWrapper -> setTapListener { - logger.logClick(context.divView, target, menuAction) - divActionBeaconSender.sendTapActionBeacon(menuAction, context.expressionResolver) + logger.logClick(divView, target, menuAction) + divActionBeaconSender.sendTapActionBeacon(menuAction, + divView.expressionResolver) overflowMenuWrapper.onMenuClickListener.onClick(target) } } } else { setTapListener { - handleBulkActions(context, target, actions) + handleBulkActions(divView, target, actions) } } } private fun bindLongTapActions( - context: BindingContext, + divView: Div2View, target: View, actions: List, noClickAction: Boolean @@ -225,20 +225,21 @@ internal class DivActionBinder @Inject constructor( !action.menuItems.isNullOrEmpty() && !shouldIgnoreActionMenuItems } if (menuAction != null) { - prepareMenu(target, context, menuAction) { overflowMenuWrapper -> + prepareMenu(target, divView, menuAction) { overflowMenuWrapper -> target.setOnLongClickListener { val uuid = UUID.randomUUID().toString() - divActionBeaconSender.sendTapActionBeacon(menuAction, context.expressionResolver) + divActionBeaconSender.sendTapActionBeacon(menuAction, + divView.expressionResolver) overflowMenuWrapper.onMenuClickListener.onClick(target) - actions.forEach { action -> logger.logLongClick(context.divView, target, action, uuid) } + actions.forEach { action -> logger.logLongClick(divView, target, action, uuid) } return@setOnLongClickListener true } } } else { target.setOnLongClickListener { - handleBulkActions(context, target, actions, actionLogType = LOG_LONG_CLICK) + handleBulkActions(divView, target, actions, actionLogType = LOG_LONG_CLICK) return@setOnLongClickListener true } @@ -270,7 +271,7 @@ internal class DivActionBinder @Inject constructor( } private fun bindDoubleTapActions( - context: BindingContext, + divView: Div2View, target: View, divGestureListener: DivGestureListener, actions: List @@ -284,32 +285,31 @@ internal class DivActionBinder @Inject constructor( !action.menuItems.isNullOrEmpty() && !shouldIgnoreActionMenuItems } if (menuAction != null) { - prepareMenu(target, context, menuAction) { overflowMenuWrapper -> + prepareMenu(target, divView, menuAction) { overflowMenuWrapper -> divGestureListener.onDoubleTapListener = { - logger.logDoubleClick(context.divView, target, menuAction) - divActionBeaconSender.sendTapActionBeacon(menuAction, context.expressionResolver) + logger.logDoubleClick(divView, target, menuAction) + divActionBeaconSender.sendTapActionBeacon(menuAction, + divView.expressionResolver) overflowMenuWrapper.onMenuClickListener.onClick(target) } } } else { divGestureListener.onDoubleTapListener = { - handleBulkActions(context, target, actions, actionLogType = LOG_DOUBLE_CLICK) + handleBulkActions(divView, target, actions, actionLogType = LOG_DOUBLE_CLICK) } } } internal fun handleBulkActions( - context: BindingContext, + divView: Div2View, target: View, actions: List, @LogType actionLogType: String = LOG_CLICK ) { - val divView = context.divView - val resolver = context.expressionResolver divView.bulkActions { val uuid = UUID.randomUUID().toString() - actions.onlyEnabled(resolver).forEach { action -> + actions.onlyEnabled(divView.expressionResolver).forEach { action -> when(actionLogType) { LOG_CLICK -> logger.logClick(divView, target, action, uuid) LOG_LONG_CLICK -> logger.logLongClick(divView, target, action, uuid) @@ -318,8 +318,9 @@ internal class DivActionBinder @Inject constructor( LOG_BLUR -> logger.logFocusChanged(divView, target, action, false) else -> Assert.fail("Please, add new logType") } - divActionBeaconSender.sendTapActionBeacon(action, resolver) - handleAction(divView, resolver, action, actionLogType.toDivActionReason(), uuid) + divActionBeaconSender.sendTapActionBeacon(action, + divView.expressionResolver) + handleAction(divView, action, actionLogType.toDivActionReason(), uuid) } } } @@ -333,26 +334,20 @@ internal class DivActionBinder @Inject constructor( else -> DivActionReason.EXTERNAL } - internal fun handleActions( - divView: DivViewFacade, - resolver: ExpressionResolver, - actions: List?, - reason: String - ) { + internal fun handleActions(divView: DivViewFacade, actions: List?, reason: String) { if (actions == null) return val viewActionHandler = (divView as? Div2View)?.actionHandler - actions.forEach { handleAction(divView, resolver, it, reason, null, viewActionHandler) } + actions.forEach { handleAction(divView, it, reason, null, viewActionHandler) } } internal fun handleAction( divView: DivViewFacade, - resolver: ExpressionResolver, action: DivAction, reason: String, actionUid: String? = null, viewActionHandler: DivActionHandler? = (divView as? Div2View)?.actionHandler, ): Boolean { - if (!action.isEnabled.evaluate(resolver)) return false + if (!action.isEnabled.evaluate(divView.expressionResolver)) return false if (actionHandler.useActionUid && actionUid != null) { if (viewActionHandler?.handleActionWithReason( action, divView, actionUid, reason) == true) { @@ -367,23 +362,24 @@ internal class DivActionBinder @Inject constructor( } } - internal fun handleTapClick(context: BindingContext, target: View, actions: List) { - val enabledActions = actions.onlyEnabled(context.expressionResolver) + internal fun handleTapClick(divView: Div2View, target: View, actions: List) { + val enabledActions = actions.onlyEnabled(divView.expressionResolver) val menuAction = enabledActions.firstOrNull { action -> !action.menuItems.isNullOrEmpty() } if (menuAction != null) { - prepareMenu(target, context, menuAction) { overflowMenuWrapper -> - logger.logClick(context.divView, target, menuAction) - divActionBeaconSender.sendTapActionBeacon(menuAction, context.expressionResolver) + prepareMenu(target, divView, menuAction) { overflowMenuWrapper -> + logger.logClick(divView, target, menuAction) + divActionBeaconSender.sendTapActionBeacon(menuAction, + divView.expressionResolver) overflowMenuWrapper.onMenuClickListener.onClick(target) } } else { - handleBulkActions(context, target, enabledActions) + handleBulkActions(divView, target, enabledActions) } } private inline fun prepareMenu( target: View, - context: BindingContext, + divView: Div2View, action: DivAction, onPrepared: (OverflowMenuWrapper) -> Unit ) { @@ -396,11 +392,11 @@ internal class DivActionBinder @Inject constructor( val overflowMenuWrapper = OverflowMenuWrapper( target.context, target, - context.divView + divView ) - .listener(MenuWrapperListener(context, menuItems)) + .listener(MenuWrapperListener(divView, menuItems)) .overflowGravity(Gravity.RIGHT or Gravity.TOP) - with(context.divView) { + with(divView) { clearSubscriptions() subscribe { overflowMenuWrapper.dismiss() } } @@ -408,13 +404,12 @@ internal class DivActionBinder @Inject constructor( } private inner class MenuWrapperListener( - private val context: BindingContext, + private val divView: Div2View, private val items: List ) : OverflowMenuWrapper.Listener.Simple() { override fun onMenuCreated(popupMenu: PopupMenu) { - val divView = context.divView - val expressionResolver = context.expressionResolver + val expressionResolver = divView.expressionResolver val menu = popupMenu.menu for (itemData in items) { val itemPosition = menu.size() @@ -428,15 +423,16 @@ internal class DivActionBinder @Inject constructor( KAssert.fail { "Menu item does not have any action" } return@bulkActions } - actions.onlyEnabled(expressionResolver).forEach { action -> + actions.onlyEnabled(divView.expressionResolver).forEach { action -> logger.logPopupMenuItemClick( divView, itemPosition, itemData.text.evaluate(expressionResolver), action ) - divActionBeaconSender.sendTapActionBeacon(action, expressionResolver) - handleAction(divView, expressionResolver, action, DivActionReason.MENU) + divActionBeaconSender.sendTapActionBeacon(action, + divView.expressionResolver) + handleAction(divView, action, DivActionReason.MENU) } actionsHandled = true } diff --git a/client/android/div/src/main/java/com/yandex/div/core/view2/divs/DivBackgroundBinder.kt b/client/android/div/src/main/java/com/yandex/div/core/view2/divs/DivBackgroundBinder.kt index 2482618d9..cdad5eec5 100644 --- a/client/android/div/src/main/java/com/yandex/div/core/view2/divs/DivBackgroundBinder.kt +++ b/client/android/div/src/main/java/com/yandex/div/core/view2/divs/DivBackgroundBinder.kt @@ -19,7 +19,6 @@ import com.yandex.div.core.images.CachedBitmap import com.yandex.div.core.images.DivImageLoader import com.yandex.div.core.util.observeBackground import com.yandex.div.core.util.toIntSafely -import com.yandex.div.core.view2.BindingContext import com.yandex.div.core.view2.Div2View import com.yandex.div.internal.core.ExpressionSubscriber import com.yandex.div.internal.drawable.LinearGradientDrawable @@ -46,14 +45,14 @@ internal class DivBackgroundBinder @Inject constructor( @Suppress("UNCHECKED_CAST") fun bindBackground( view: View, - context: BindingContext, + divView: Div2View, defaultBackgroundList: List?, focusedBackgroundList: List?, + resolver: ExpressionResolver, subscriber: ExpressionSubscriber, additionalLayer: Drawable? = null ): Unit = view.run { val metrics = resources.displayMetrics - val resolver = context.expressionResolver if (focusedBackgroundList == null) { val callback = { _: Any -> @@ -69,7 +68,7 @@ internal class DivBackgroundBinder @Inject constructor( (currentAdditionalLayer != additionalLayer) if (backgroundChanged) { - updateBackground(newDefaultDivBackground.toDrawable(this, context, additionalLayer)) + updateBackground(newDefaultDivBackground.toDrawable(this, divView, additionalLayer)) setTag(R.id.div_default_background_list_tag, newDefaultDivBackground) setTag(R.id.div_focused_background_list_tag, null) @@ -101,13 +100,13 @@ internal class DivBackgroundBinder @Inject constructor( stateList.addState( intArrayOf(android.R.attr.state_focused), - newFocusedDivBackground.toDrawable(this, context, additionalLayer) + newFocusedDivBackground.toDrawable(this, divView, additionalLayer) ) if (defaultBackgroundList != null || additionalLayer != null) { stateList.addState( StateSet.WILD_CARD, - newDefaultDivBackground.toDrawable(this, context, additionalLayer)) + newDefaultDivBackground.toDrawable(this, divView, additionalLayer)) } updateBackground(stateList) @@ -160,7 +159,7 @@ internal class DivBackgroundBinder @Inject constructor( private fun List?.toDrawable( view: View, - context: BindingContext, + divView: Div2View, additionalLayer: Drawable? ): Drawable? { additionalLayer?.mutate() @@ -168,7 +167,7 @@ internal class DivBackgroundBinder @Inject constructor( this ?: return additionalLayer?.let { LayerDrawable(arrayOf(it)) } val listDrawable = mapNotNull { - it.toDrawable(context, view, imageLoader).mutate() + it.toDrawable(divView, view, imageLoader).mutate() }.toMutableList() additionalLayer?.let { listDrawable.add(it) } @@ -305,30 +304,28 @@ internal class DivBackgroundBinder @Inject constructor( } fun getDivImageBackground( - context: BindingContext, + divView: Div2View, target: View, imageLoader: DivImageLoader ): Drawable { val scaleDrawable = ScalingDrawable() val url = imageUrl.toString() - val loadReference = imageLoader.loadImage( - url, - object : DivIdLoggingImageDownloadCallback(context.divView) { - @UiThread - override fun onSuccess(cachedBitmap: CachedBitmap) { - target.applyBitmapFilters( - context, - cachedBitmap.bitmap, - filters?.map { it.toDiv() }, - ) { scaleDrawable.setBitmap(it) } - scaleDrawable.alpha = (alpha * 255).toInt() - scaleDrawable.customScaleType = scale.toScaleType() - scaleDrawable.alignmentHorizontal = contentAlignmentHorizontal.toHorizontalAlignment() - scaleDrawable.alignmentVertical = contentAlignmentVertical.toVerticalAlignment() - } - }) - context.divView.addLoadReference(loadReference, target) + val loadReference = imageLoader.loadImage(url, object : DivIdLoggingImageDownloadCallback(divView) { + @UiThread + override fun onSuccess(cachedBitmap: CachedBitmap) { + target.applyBitmapFilters( + divView, + cachedBitmap.bitmap, + filters?.map { it.toDiv() }, + ) { scaleDrawable.setBitmap(it) } + scaleDrawable.alpha = (alpha * 255).toInt() + scaleDrawable.customScaleType = scale.toScaleType() + scaleDrawable.alignmentHorizontal = contentAlignmentHorizontal.toHorizontalAlignment() + scaleDrawable.alignmentVertical = contentAlignmentVertical.toVerticalAlignment() + } + }) + divView.addLoadReference(loadReference, target) return scaleDrawable } @@ -369,12 +366,12 @@ internal class DivBackgroundBinder @Inject constructor( } fun toDrawable( - context: BindingContext, + divView: Div2View, target: View, imageLoader: DivImageLoader ): Drawable = when (this) { - is Image -> getDivImageBackground(context, target, imageLoader) - is NinePatch -> getNinePatchDrawable(context.divView, target, imageLoader) + is Image -> getDivImageBackground(divView, target, imageLoader) + is NinePatch -> getNinePatchDrawable(divView, target, imageLoader) is Solid -> ColorDrawable(color) is LinearGradient -> LinearGradientDrawable( angle = angle.toFloat(), diff --git a/client/android/div/src/main/java/com/yandex/div/core/view2/divs/DivBaseBinder.kt b/client/android/div/src/main/java/com/yandex/div/core/view2/divs/DivBaseBinder.kt index 2f125d495..09a120678 100644 --- a/client/android/div/src/main/java/com/yandex/div/core/view2/divs/DivBaseBinder.kt +++ b/client/android/div/src/main/java/com/yandex/div/core/view2/divs/DivBaseBinder.kt @@ -17,7 +17,6 @@ import com.yandex.div.core.util.isConstant import com.yandex.div.core.util.observeEdgeInsets import com.yandex.div.core.util.observeSize import com.yandex.div.core.util.observeTransform -import com.yandex.div.core.view2.BindingContext import com.yandex.div.core.view2.Div2View import com.yandex.div.core.view2.DivAccessibilityBinder import com.yandex.div.core.view2.animations.DivTransitionHandler.ChangeType @@ -45,35 +44,31 @@ internal class DivBaseBinder @Inject constructor( private val divFocusBinder: DivFocusBinder, private val divAccessibilityBinder: DivAccessibilityBinder, ) { - fun bindView(context: BindingContext, view: View, div: DivBase, oldDiv: DivBase?) { + fun bindView(view: View, div: DivBase, oldDiv: DivBase?, divView: Div2View) { @Suppress("UNCHECKED_CAST") (view as DivHolderView).let { it.closeAllSubscription() it.div = div } - val divView = context.divView - val resolver = context.expressionResolver + val resolver = divView.expressionResolver val subscriber = view.expressionSubscriber if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { view.defaultFocusHighlightEnabled = false } - divView.bindDivToBindingContext(div, context) - divView.unbindDivFromBindingContext(oldDiv) - view.bindId(divView, div, oldDiv) view.bindLayoutParams(div, oldDiv, resolver, subscriber) view.bindAccessibility(divView, div, oldDiv, resolver, subscriber) view.bindAlpha(div, oldDiv, resolver, subscriber) - view.bindBackground(context, div, subscriber) - view.bindBorder(context, div) + view.bindBackground(divView, div, resolver, subscriber) + view.bindBorder(divView, div, resolver) view.bindPaddings(div, oldDiv, resolver, subscriber) view.bindNextFocus(divView, div, oldDiv, resolver, subscriber) - view.bindFocusActions(context, div.focus?.onFocus, div.focus?.onBlur) + view.bindFocusActions(divView, resolver, div.focus?.onFocus, div.focus?.onBlur) view.bindVisibility(divView, div, oldDiv, resolver, subscriber) view.bindTransform(div, oldDiv, resolver, subscriber) @@ -424,10 +419,11 @@ internal class DivBaseBinder @Inject constructor( //region Border private fun View.bindBorder( - context: BindingContext, + divView: Div2View, newDiv: DivBase, + resolver: ExpressionResolver ) { - divFocusBinder.bindDivBorder(this, context, newDiv.focus?.border, newDiv.border) + divFocusBinder.bindDivBorder(this, divView, resolver, newDiv.focus?.border, newDiv.border) } //endregion @@ -435,28 +431,31 @@ internal class DivBaseBinder @Inject constructor( //region Background internal fun bindBackground( - context: BindingContext, + divView: Div2View, target: View, newDiv: DivBase, oldDiv: DivBase?, + resolver: ExpressionResolver, subscriber: ExpressionSubscriber, additionalLayer: Drawable? = null ) { - target.bindBackground(context, newDiv, subscriber, additionalLayer) - target.bindPaddings(newDiv, oldDiv, context.expressionResolver, subscriber) + target.bindBackground(divView, newDiv, resolver, subscriber, additionalLayer) + target.bindPaddings(newDiv, oldDiv, resolver, subscriber) } private fun View.bindBackground( - context: BindingContext, + divView: Div2View, newDiv: DivBase, + resolver: ExpressionResolver, subscriber: ExpressionSubscriber, additionalLayer: Drawable? = null ) { divBackgroundBinder.bindBackground( this, - context, + divView, newDiv.background, newDiv.focus?.background, + resolver, subscriber, additionalLayer ) @@ -514,11 +513,12 @@ internal class DivBaseBinder @Inject constructor( } private fun View.bindFocusActions( - context: BindingContext, + divView: Div2View, + resolver: ExpressionResolver, onFocus: List?, onBlur: List? ) { - divFocusBinder.bindDivFocusActions(this, context, onFocus, onBlur) + divFocusBinder.bindDivFocusActions(this, divView, resolver, onFocus, onBlur) } //endregion diff --git a/client/android/div/src/main/java/com/yandex/div/core/view2/divs/DivContainerBinder.kt b/client/android/div/src/main/java/com/yandex/div/core/view2/divs/DivContainerBinder.kt index b6043c9b2..67ab7f789 100644 --- a/client/android/div/src/main/java/com/yandex/div/core/view2/divs/DivContainerBinder.kt +++ b/client/android/div/src/main/java/com/yandex/div/core/view2/divs/DivContainerBinder.kt @@ -17,7 +17,6 @@ import com.yandex.div.core.util.isBranch import com.yandex.div.core.util.isConstant import com.yandex.div.core.util.observeDrawable import com.yandex.div.core.util.type -import com.yandex.div.core.view2.BindingContext import com.yandex.div.core.view2.Div2View import com.yandex.div.core.view2.DivBinder import com.yandex.div.core.view2.DivViewBinder @@ -33,7 +32,6 @@ import com.yandex.div.core.view2.reuse.util.tryRebindPlainContainerChildren import com.yandex.div.core.widget.AspectView import com.yandex.div.core.widget.ShowSeparatorsMode import com.yandex.div.core.widget.wraplayout.WrapDirection -import com.yandex.div.internal.core.DivItemBuilderResult import com.yandex.div.internal.core.ExpressionSubscriber import com.yandex.div.internal.core.buildItems import com.yandex.div.json.expressions.ExpressionResolver @@ -71,25 +69,18 @@ internal class DivContainerBinder @Inject constructor( private val tempRect = Rect() - override fun bindView(context: BindingContext, view: ViewGroup, div: DivContainer, path: DivStatePath) { + override fun bindView(view: ViewGroup, div: DivContainer, divView: Div2View, path: DivStatePath) { @Suppress("UNCHECKED_CAST") val divHolderView = view as DivHolderView val oldDiv = divHolderView.div - val divView = context.divView - val oldResolver = oldDiv?.let { divView.getExpressionResolver(it) } ?: divView.oldExpressionResolver - baseBinder.bindView(context, view, div, oldDiv) - view.applyDivActions( - context, - div.action, - div.actions, - div.longtapActions, - div.doubletapActions, - div.actionAnimation, - div.accessibility, - ) + baseBinder.bindView(view, div, oldDiv, divView) + view.applyDivActions(divView, div.action, div.actions, div.longtapActions, + div.doubletapActions, div.actionAnimation, div.accessibility) - val resolver = context.expressionResolver + val resolver = divView.expressionResolver + val oldResolver = divView.oldExpressionResolver + val errorCollector = errorCollectors.getOrCreate(divView.dataTag, divView.divData) view.bindAspectRatio(div.aspect, oldDiv?.aspect, resolver) @@ -104,97 +95,49 @@ internal class DivContainerBinder @Inject constructor( divView.unbindViewFromDiv(childView) } - view.bindItems(context, div, oldDiv, oldResolver, path) - } + view.tryRebindPlainContainerChildren( + divView, + div.buildItems(resolver), + divViewCreator + ) - private fun ViewGroup.bindItems( - context: BindingContext, - div: DivContainer, - oldDiv: DivContainer?, - oldResolver: ExpressionResolver, - path: DivStatePath, - ) { - val divView = context.divView - val resolver = context.expressionResolver val items = div.buildItems(resolver) - val oldItems = oldDiv?.buildItems(oldResolver)?.let { when { div === oldDiv -> it divView.complexRebindInProgress -> null - DivComparator.areValuesReplaceable(oldDiv, div, oldResolver, context.expressionResolver) && - DivComparator.areChildrenReplaceable(it, items) -> it + DivComparator.areValuesReplaceable(oldDiv, div, oldResolver, resolver) && + DivComparator.areChildrenReplaceable(it, items, oldResolver, resolver) -> it else -> { - replaceWithReuse(it, items, divView) + view.replaceWithReuse(it, items, divView) null } } } - bindItemBuilder(context, div, items, path) - applyItems(context, div, oldDiv, items, oldItems, path) - } - private fun ViewGroup.bindItemBuilder( - context: BindingContext, - div: DivContainer, - items: List, - path: DivStatePath, - ) { - val builder = div.itemBuilder ?: return - - val callback = { _: Any -> - val cachedItems = builder.result ?: emptyList() - builder.result = null - val newItems = div.buildItems(context.expressionResolver) - replaceWithReuse(cachedItems, newItems, context.divView) - applyItems(context, div, div, newItems, cachedItems, path) - } - builder.data.observe(context.expressionResolver, callback) - - if (items.isEmpty()) return - - builder.prototypes.forEach { - it.selector.observe(items[0].expressionResolver, callback) - } - } - - private fun ViewGroup.applyItems( - context: BindingContext, - div: DivContainer, - oldDiv: DivContainer?, - items: List, - oldItems: List?, - path: DivStatePath, - ) { - div.itemBuilder?.result = items - - val divView = context.divView - val errorCollector = errorCollectors.getOrCreate(divView.dataTag, divView.divData) - tryRebindPlainContainerChildren(divView, items, divViewCreator) - - validateChildren(div, items, context.expressionResolver, errorCollector) - dispatchBinding(context, div, oldDiv, items, path, expressionSubscriber) + view.validateChildren(div, resolver, errorCollector) + view.dispatchBinding(divView, div, oldDiv, path, resolver) items.forEachIndexed { i, item -> - if (item.div.value().hasSightActions) { - divView.bindViewToDiv(getChildAt(i), item.div) + if (item.value().hasSightActions) { + divView.bindViewToDiv(view.getChildAt(i), item) } } - trackVisibilityActions(items, oldItems, divView) + view.trackVisibilityActions(items, oldItems, divView) } private fun ViewGroup.validateChildren( div: DivContainer, - items: List, resolver: ExpressionResolver, errorCollector: ErrorCollector ) { + val items = div.buildItems(resolver) var childrenWithIncorrectWidth = 0 var childrenWithIncorrectHeight = 0 items.forEach { item -> - val childDivValue = item.div.value() + val childDivValue = item.value() if (this is DivWrapLayout) { div.checkCrossAxisSize(childDivValue, resolver, errorCollector) @@ -221,73 +164,47 @@ internal class DivContainerBinder @Inject constructor( } private fun ViewGroup.dispatchBinding( - bindingContext: BindingContext, + divView: Div2View, newDiv: DivContainer, oldDiv: DivContainer?, - items: List, path: DivStatePath, - subscriber: ExpressionSubscriber + resolver: ExpressionResolver ) { val binder = divBinder.get() + val items = newDiv.buildItems(resolver) var shift = 0 + val subscriber = expressionSubscriber items.forEachIndexed { index, item -> val childView = getChildAt(index + shift) val oldChildDiv = (childView as? DivHolderView<*>)?.div - val patchShift = newDiv.itemBuilder?.let { NO_PATCH_SHIFT } ?: applyPatchToChild( - bindingContext, - newDiv, - oldDiv, - item.div.value(), - index + shift, - subscriber - ) - + val patchShift = applyPatchToChild(divView, newDiv, oldDiv, item.value(), index + shift, resolver, subscriber) if (patchShift > NO_PATCH_SHIFT) { shift += patchShift } else { - val childBindingContext = BindingContext(bindingContext.divView, item.expressionResolver) - binder.bind(childBindingContext, childView, item.div, path) - childView.bindChildAlignment( - newDiv, - oldDiv, - item.div.value(), - oldChildDiv, - bindingContext.expressionResolver, - item.expressionResolver, - subscriber, - bindingContext.divView - ) + binder.bind(childView, item, divView, path) + childView.bindChildAlignment(newDiv, oldDiv, item.value(), oldChildDiv, resolver, subscriber, divView) } } } private fun ViewGroup.applyPatchToChild( - bindingContext: BindingContext, + divView: Div2View, newDiv: DivContainer, oldDiv: DivContainer?, childDiv: DivBase, childIndex: Int, + resolver: ExpressionResolver, subscriber: ExpressionSubscriber ): Int { - val divView = bindingContext.divView childDiv.id?.let { id -> - val patchViewsToAdd = divPatchManager.createViewsForId(bindingContext, id) ?: return NO_PATCH_SHIFT + val patchViewsToAdd = divPatchManager.createViewsForId(divView, id) ?: return NO_PATCH_SHIFT val patchDivs = divPatchCache.getPatchDivListById(divView.dataTag, id) ?: return NO_PATCH_SHIFT removeViewAt(childIndex) patchViewsToAdd.forEachIndexed { patchIndex, patchView -> val patchDivValue = patchDivs[patchIndex].value() addView(patchView, childIndex + patchIndex) - patchView.bindChildAlignment( - newDiv = newDiv, - oldDiv = oldDiv, - newChildDiv = patchDivValue, - oldChildDiv = null, - resolver = bindingContext.expressionResolver, - childResolver = bindingContext.expressionResolver, - subscriber = subscriber, - divView = divView - ) + patchView.bindChildAlignment(newDiv, oldDiv, patchDivValue, null, resolver, subscriber, divView) if (patchDivValue.hasSightActions) { divView.bindViewToDiv(patchView, patchDivs[patchIndex]) } @@ -297,14 +214,12 @@ internal class DivContainerBinder @Inject constructor( return NO_PATCH_SHIFT } - private fun ViewGroup.replaceWithReuse( - oldItems: List, - newItems: List, - divView: Div2View - ) { + private fun ViewGroup.replaceWithReuse(oldItems: List
, newItems: List
, divView: Div2View) { + val resolver = divView.expressionResolver + val oldChildren = mutableMapOf() oldItems.zip(children.toList()) { childDiv, child -> - oldChildren[childDiv.div] = child + oldChildren[childDiv] = child } removeAllViews() @@ -314,9 +229,9 @@ internal class DivContainerBinder @Inject constructor( newItems.forEachIndexed { index, newChild -> val oldViewIndex = oldChildren.keys.firstOrNull { oldChildDiv -> if (oldChildDiv.isBranch) { - newChild.div.type == oldChildDiv.type + newChild.type == oldChildDiv.type } else { - oldChildDiv.canBeReused(newChild.div, newChild.expressionResolver) + oldChildDiv.canBeReused(newChild, resolver) } } @@ -330,15 +245,15 @@ internal class DivContainerBinder @Inject constructor( } createViewIndices.forEach { index -> - val newChild = newItems[index] + val newChildDiv = newItems[index] val oldViewIndex = oldChildren.keys.firstOrNull { oldChildDiv -> - oldChildDiv.type == newChild.div.type + oldChildDiv.type == newChildDiv.type } val childView = oldChildren .remove(oldViewIndex) - ?: divViewCreator.get().create(newChild.div, newChild.expressionResolver) + ?: divViewCreator.get().create(newChildDiv, divView.expressionResolver) addView(childView, index) } @@ -586,7 +501,6 @@ internal class DivContainerBinder @Inject constructor( newChildDiv: DivBase, oldChildDiv: DivBase?, resolver: ExpressionResolver, - childResolver: ExpressionResolver, subscriber: ExpressionSubscriber, divView: Div2View, ) { @@ -598,7 +512,7 @@ internal class DivContainerBinder @Inject constructor( return } - applyChildAlignment(newDiv, newChildDiv, resolver, childResolver) + applyChildAlignment(newDiv, newChildDiv, resolver) if (newDiv.contentAlignmentHorizontal.isConstant() && newDiv.contentAlignmentVertical.isConstant() @@ -607,29 +521,28 @@ internal class DivContainerBinder @Inject constructor( return } - val callback = { _: Any -> applyChildAlignment(newDiv, newChildDiv, resolver, childResolver) } + val callback = { _: Any -> applyChildAlignment(newDiv, newChildDiv, resolver) } subscriber.addSubscription(newDiv.contentAlignmentHorizontal.observe(resolver, callback)) subscriber.addSubscription(newDiv.contentAlignmentVertical.observe(resolver, callback)) - subscriber.addSubscription(newChildDiv.alignmentHorizontal?.observe(childResolver, callback)) - subscriber.addSubscription(newChildDiv.alignmentVertical?.observe(childResolver, callback)) + subscriber.addSubscription(newChildDiv.alignmentHorizontal?.observe(resolver, callback)) + subscriber.addSubscription(newChildDiv.alignmentVertical?.observe(resolver, callback)) } private fun View.applyChildAlignment( div: DivContainer, childDiv: DivBase, resolver: ExpressionResolver, - childResolver: ExpressionResolver, ) { val childAlignmentHorizontal = childDiv.alignmentHorizontal val alignmentHorizontal = when { - childAlignmentHorizontal != null -> childAlignmentHorizontal.evaluate(childResolver) + childAlignmentHorizontal != null -> childAlignmentHorizontal.evaluate(resolver) div.isWrapContainer(resolver) -> null else -> div.contentAlignmentHorizontal.evaluate(resolver).toAlignmentHorizontal() } val childAlignmentVertical = childDiv.alignmentVertical val alignmentVertical = when { - childAlignmentVertical != null -> childAlignmentVertical.evaluate(childResolver) + childAlignmentVertical != null -> childAlignmentVertical.evaluate(resolver) div.isWrapContainer(resolver) -> null else -> div.contentAlignmentVertical.evaluate(resolver).toAlignmentVertical() } @@ -679,7 +592,7 @@ internal class DivContainerBinder @Inject constructor( (view as DivHolderView).div = div val binder = divBinder.get() div.buildItems(resolver).forEachIndexed { index, item -> - binder.setDataWithoutBinding(view.getChildAt(index), item.div, item.expressionResolver) + binder.setDataWithoutBinding(view.getChildAt(index), item, resolver) } } diff --git a/client/android/div/src/main/java/com/yandex/div/core/view2/divs/DivCustomBinder.kt b/client/android/div/src/main/java/com/yandex/div/core/view2/divs/DivCustomBinder.kt index e33fe0e81..4788fd3b1 100644 --- a/client/android/div/src/main/java/com/yandex/div/core/view2/divs/DivCustomBinder.kt +++ b/client/android/div/src/main/java/com/yandex/div/core/view2/divs/DivCustomBinder.kt @@ -10,7 +10,6 @@ import com.yandex.div.core.DivCustomViewAdapter import com.yandex.div.core.DivCustomViewFactory import com.yandex.div.core.extension.DivExtensionController import com.yandex.div.core.state.DivStatePath -import com.yandex.div.core.view2.BindingContext import com.yandex.div.core.view2.Div2View import com.yandex.div.core.view2.DivBinder import com.yandex.div.core.view2.DivViewBinder @@ -29,13 +28,12 @@ internal class DivCustomBinder @Inject constructor( private val divBinder: Provider, ) : DivViewBinder { - override fun bindView(context: BindingContext, view: DivCustomWrapper, div: DivCustom, path: DivStatePath) { + override fun bindView(view: DivCustomWrapper, div: DivCustom, divView: Div2View, path: DivStatePath) { val customView = view.customView val oldDiv = view.div - val divView = context.divView if (oldDiv === div) { - view.bindStates(divView.rootDiv(), context, context.expressionResolver, divBinder.get()) + view.bindStates(divView.rootDiv(), divView, divView.expressionResolver, divBinder.get()) return } @@ -43,16 +41,16 @@ internal class DivCustomBinder @Inject constructor( extensionController.unbindView(divView, customView, oldDiv) } - baseBinder.bindView(context, view, div, null) + baseBinder.bindView(view, div, null, divView) baseBinder.bindId(divView, view, null) if (divCustomContainerViewAdapter.isCustomTypeSupported(div.customType)) { - bind(view, customView, div, context, + bind(view, customView, div, divView, { divCustomContainerViewAdapter.createView(div, divView, path) }, { divCustomContainerViewAdapter.bindView(it, div, divView, path) } ) } else if (divCustomViewAdapter.isCustomTypeSupported(div.customType)) { - bind(view, customView, div, context, + bind(view, customView, div, divView, { divCustomViewAdapter.createView(div, divView) }, { divCustomViewAdapter.bindView(it, div, divView) } ) @@ -65,7 +63,7 @@ internal class DivCustomBinder @Inject constructor( previousWrapper: DivCustomWrapper, oldCustomView: View?, div: DivCustom, - context: BindingContext, + divView: Div2View, createView: () -> View, bindView: (View) -> Unit ) { @@ -77,10 +75,8 @@ internal class DivCustomBinder @Inject constructor( } } - val divView = context.divView - baseBinder.bindId(divView, customView, div.id) - divView.bindDivToBindingContext(div, context) bindView(customView) + baseBinder.bindId(divView, customView, div.id) if (oldCustomView != customView) { replaceInParent(previousWrapper, customView, divView) diff --git a/client/android/div/src/main/java/com/yandex/div/core/view2/divs/DivFocusBinder.kt b/client/android/div/src/main/java/com/yandex/div/core/view2/divs/DivFocusBinder.kt index 919b26a33..c440d341d 100644 --- a/client/android/div/src/main/java/com/yandex/div/core/view2/divs/DivFocusBinder.kt +++ b/client/android/div/src/main/java/com/yandex/div/core/view2/divs/DivFocusBinder.kt @@ -4,7 +4,7 @@ import android.view.View import com.yandex.div.R import com.yandex.div.core.annotations.Mockable import com.yandex.div.core.dagger.DivScope -import com.yandex.div.core.view2.BindingContext +import com.yandex.div.core.view2.Div2View import com.yandex.div.core.view2.divs.widgets.DivBorderDrawer import com.yandex.div.core.view2.divs.widgets.DivBorderSupports import com.yandex.div.internal.util.allIsNullOrEmpty @@ -19,7 +19,8 @@ internal class DivFocusBinder @Inject constructor(private val actionBinder: DivA fun bindDivBorder( view: View, - context: BindingContext, + divView: Div2View, + resolver: ExpressionResolver, focusedBorder: DivBorder?, blurredBorder: DivBorder? ): Unit = view.run { @@ -29,7 +30,7 @@ internal class DivFocusBinder @Inject constructor(private val actionBinder: DivA isFocused -> focusedBorder else -> blurredBorder } - applyBorder(border, context.expressionResolver) + applyBorder(border, resolver) val focusListener = onFocusChangeListener as? FocusChangeListener if (focusListener == null && focusedBorder.isConstantlyEmpty()) { @@ -45,7 +46,7 @@ internal class DivFocusBinder @Inject constructor(private val actionBinder: DivA return } - onFocusChangeListener = FocusChangeListener(context).apply { + onFocusChangeListener = FocusChangeListener(divView, resolver).apply { setBorders(focusedBorder, blurredBorder) focusListener?.let { setActions(it.focusActions, it.blurActions) } } @@ -68,7 +69,8 @@ internal class DivFocusBinder @Inject constructor(private val actionBinder: DivA fun bindDivFocusActions( target: View, - context: BindingContext, + divView: Div2View, + resolver: ExpressionResolver, onFocusActions: List?, onBlurActions: List? ) = target.run { @@ -86,14 +88,15 @@ internal class DivFocusBinder @Inject constructor(private val actionBinder: DivA return } - onFocusChangeListener = FocusChangeListener(context).apply { + onFocusChangeListener = FocusChangeListener(divView, resolver).apply { focusListener?.let { setBorders(it.focusedBorder, it.blurredBorder) } setActions(onFocusActions, onBlurActions) } } private inner class FocusChangeListener( - private val context: BindingContext, + private val divView: Div2View, + private val resolver: ExpressionResolver ): View.OnFocusChangeListener { var focusedBorder: DivBorder? = null @@ -126,9 +129,9 @@ internal class DivFocusBinder @Inject constructor(private val actionBinder: DivA } } - private fun DivBorder.applyToView(v: View) = v.applyBorder(this, context.expressionResolver) + private fun DivBorder.applyToView(v: View) = v.applyBorder(this, resolver) private fun List.handle(target: View, actionLogType: String) = - actionBinder.handleBulkActions(context, target, this, actionLogType) + actionBinder.handleBulkActions(divView, target, this, actionLogType) } } diff --git a/client/android/div/src/main/java/com/yandex/div/core/view2/divs/DivGifImageBinder.kt b/client/android/div/src/main/java/com/yandex/div/core/view2/divs/DivGifImageBinder.kt index 93c90f17c..144fd2773 100644 --- a/client/android/div/src/main/java/com/yandex/div/core/view2/divs/DivGifImageBinder.kt +++ b/client/android/div/src/main/java/com/yandex/div/core/view2/divs/DivGifImageBinder.kt @@ -4,6 +4,8 @@ import android.content.Context import android.graphics.ImageDecoder import android.graphics.drawable.AnimatedImageDrawable import android.graphics.drawable.Drawable +import android.graphics.drawable.PictureDrawable +import android.graphics.drawable.ScaleDrawable import android.os.AsyncTask import android.os.Build import androidx.annotation.RequiresApi @@ -11,7 +13,6 @@ import com.yandex.div.core.DivIdLoggingImageDownloadCallback import com.yandex.div.core.dagger.DivScope import com.yandex.div.core.images.CachedBitmap import com.yandex.div.core.images.DivImageLoader -import com.yandex.div.core.view2.BindingContext import com.yandex.div.core.view2.Div2View import com.yandex.div.core.view2.DivPlaceholderLoader import com.yandex.div.core.view2.DivViewBinder @@ -41,26 +42,18 @@ internal class DivGifImageBinder @Inject constructor( private val errorCollectors: ErrorCollectors, ) : DivViewBinder { - override fun bindView(context: BindingContext, view: DivGifImageView, div: DivGifImage) { + override fun bindView(view: DivGifImageView, div: DivGifImage, divView: Div2View) { val oldDiv = view.div if (div === oldDiv) return - val divView = context.divView val errorCollector = errorCollectors.getOrCreate(divView.dataTag, divView.divData) - val expressionResolver = context.expressionResolver + val expressionResolver = divView.expressionResolver - baseBinder.bindView(context, view, div, oldDiv) + baseBinder.bindView(view, div, oldDiv, divView) - view.applyDivActions( - context, - div.action, - div.actions, - div.longtapActions, - div.doubletapActions, - div.actionAnimation, - div.accessibility, - ) + view.applyDivActions(divView, div.action, div.actions, div.longtapActions, + div.doubletapActions, div.actionAnimation, div.accessibility) view.bindAspectRatio(div.aspect, oldDiv?.aspect, expressionResolver) @@ -69,9 +62,7 @@ internal class DivGifImageBinder @Inject constructor( ) view.observeContentAlignment(expressionResolver, div.contentAlignmentHorizontal, div.contentAlignmentVertical) view.addSubscription( - div.gifUrl.observeAndGet(expressionResolver) { - view.applyGifImage(divView, expressionResolver, div, errorCollector) - } + div.gifUrl.observeAndGet(expressionResolver) { view.applyGifImage(divView, expressionResolver, div, errorCollector) } ) } diff --git a/client/android/div/src/main/java/com/yandex/div/core/view2/divs/DivGridBinder.kt b/client/android/div/src/main/java/com/yandex/div/core/view2/divs/DivGridBinder.kt index 78fdf8ef0..4ff07c63b 100644 --- a/client/android/div/src/main/java/com/yandex/div/core/view2/divs/DivGridBinder.kt +++ b/client/android/div/src/main/java/com/yandex/div/core/view2/divs/DivGridBinder.kt @@ -8,19 +8,17 @@ import com.yandex.div.core.downloader.DivPatchManager import com.yandex.div.core.state.DivStatePath import com.yandex.div.core.util.expressionSubscriber import com.yandex.div.core.util.toIntSafely -import com.yandex.div.core.view2.BindingContext +import com.yandex.div.core.view2.Div2View import com.yandex.div.core.view2.DivBinder import com.yandex.div.core.view2.DivViewBinder import com.yandex.div.core.view2.DivViewCreator import com.yandex.div.core.view2.divs.widgets.DivGridLayout import com.yandex.div.core.view2.reuse.util.tryRebindPlainContainerChildren -import com.yandex.div.internal.core.DivItemBuilderResult import com.yandex.div.internal.core.ExpressionSubscriber import com.yandex.div.internal.core.nonNullItems import com.yandex.div.internal.widget.DivLayoutParams import com.yandex.div.json.expressions.Expression import com.yandex.div.json.expressions.ExpressionResolver -import com.yandex.div2.Div import com.yandex.div2.DivAlignmentHorizontal import com.yandex.div2.DivAlignmentVertical import com.yandex.div2.DivBase @@ -37,28 +35,20 @@ internal class DivGridBinder @Inject constructor( private val divViewCreator: Provider, ) : DivViewBinder { - override fun bindView(context: BindingContext, view: DivGridLayout, div: DivGrid, path: DivStatePath) { + override fun bindView(view: DivGridLayout, div: DivGrid, divView: Div2View, path: DivStatePath) { val oldDiv = view.div if (div === oldDiv) { // todo MORDAANDROID-636 // return } - val divView = context.divView - val resolver = context.expressionResolver + val resolver = divView.expressionResolver view.releaseViewVisitor = divView.releaseViewVisitor - baseBinder.bindView(context, view, div, oldDiv) + baseBinder.bindView(view, div, oldDiv, divView) - view.applyDivActions( - context, - div.action, - div.actions, - div.longtapActions, - div.doubletapActions, - div.actionAnimation, - div.accessibility, - ) + view.applyDivActions(divView, div.action, div.actions, div.longtapActions, + div.doubletapActions, div.actionAnimation, div.accessibility) view.addSubscription( div.columnCount.observeAndGet(resolver) { columnCount -> view.columnCount = columnCount.toIntSafely() } @@ -69,7 +59,7 @@ internal class DivGridBinder @Inject constructor( view.tryRebindPlainContainerChildren( divView, - items.toDivItemBuilderResults(resolver), + items, divViewCreator ) @@ -80,7 +70,7 @@ internal class DivGridBinder @Inject constructor( val childDivId = childDivValue.id // applying div patch if (childDivId != null && !divView.complexRebindInProgress) { - val patchViewsToAdd = divPatchManager.createViewsForId(context, childDivId) + val patchViewsToAdd = divPatchManager.createViewsForId(divView, childDivId) val patchDivs = divPatchCache.getPatchDivListById(divView.dataTag, childDivId) if (patchViewsToAdd != null && patchDivs != null) { view.removeViewAt(gridIndex + viewsPositionDiff) @@ -99,7 +89,7 @@ internal class DivGridBinder @Inject constructor( } } childView.layoutParams = DivLayoutParams(WRAP_CONTENT, WRAP_CONTENT) - divBinder.get().bind(context, childView, items[gridIndex], path) + divBinder.get().bind(childView, items[gridIndex], divView, path) bindLayoutParams(childView, childDivValue, resolver) if (childDivValue.hasSightActions) { divView.bindViewToDiv(childView, items[gridIndex]) @@ -108,11 +98,7 @@ internal class DivGridBinder @Inject constructor( } } - view.trackVisibilityActions( - items.toDivItemBuilderResults(resolver), - oldDiv?.items?.toDivItemBuilderResults(resolver), - divView - ) + view.trackVisibilityActions(items, oldDiv?.items, divView) } private fun DivGridLayout.observeContentAlignment( @@ -174,7 +160,4 @@ internal class DivGridBinder @Inject constructor( ) } } - - private fun List
.toDivItemBuilderResults(resolver: ExpressionResolver) = - map { DivItemBuilderResult(it, resolver) } } diff --git a/client/android/div/src/main/java/com/yandex/div/core/view2/divs/DivImageBinder.kt b/client/android/div/src/main/java/com/yandex/div/core/view2/divs/DivImageBinder.kt index 4c20900ea..a8d787a2f 100644 --- a/client/android/div/src/main/java/com/yandex/div/core/view2/divs/DivImageBinder.kt +++ b/client/android/div/src/main/java/com/yandex/div/core/view2/divs/DivImageBinder.kt @@ -9,7 +9,7 @@ import com.yandex.div.core.images.DivImageLoader import com.yandex.div.core.util.androidInterpolator import com.yandex.div.core.util.equalsToConstant import com.yandex.div.core.util.isConstant -import com.yandex.div.core.view2.BindingContext +import com.yandex.div.core.view2.Div2View import com.yandex.div.core.view2.DivPlaceholderLoader import com.yandex.div.core.view2.DivViewBinder import com.yandex.div.core.view2.divs.widgets.DivImageView @@ -37,32 +37,24 @@ internal class DivImageBinder @Inject constructor( private val errorCollectors: ErrorCollectors, ) : DivViewBinder { - override fun bindView(context: BindingContext, view: DivImageView, div: DivImage) { + override fun bindView(view: DivImageView, div: DivImage, divView: Div2View) { val oldDiv = view.div if (div === oldDiv) return - baseBinder.bindView(context, view, div, oldDiv) - view.applyDivActions( - context, - div.action, - div.actions, - div.longtapActions, - div.doubletapActions, - div.actionAnimation, - div.accessibility, - ) + baseBinder.bindView(view, div, oldDiv, divView) + view.applyDivActions(divView, div.action, div.actions, div.longtapActions, + div.doubletapActions, div.actionAnimation, div.accessibility) - val divView = context.divView - val expressionResolver = context.expressionResolver + val expressionResolver = divView.expressionResolver val errorCollector = errorCollectors.getOrCreate(divView.dataTag, divView.divData) view.bindAspectRatio(div.aspect, oldDiv?.aspect, expressionResolver) view.bindImageScale(div, oldDiv, expressionResolver) view.bindContentAlignment(div, oldDiv, expressionResolver) - view.bindPreview(context, div, oldDiv, errorCollector) - view.bindImage(context, div, oldDiv, errorCollector) + view.bindPreview(divView, div, oldDiv, expressionResolver, errorCollector) + view.bindImage(divView, div, oldDiv, expressionResolver, errorCollector) view.bindTint(div, oldDiv, expressionResolver) - view.bindFilters(context, div, oldDiv) + view.bindFilters(divView, div, oldDiv, expressionResolver) } //region Image Scale @@ -136,9 +128,10 @@ internal class DivImageBinder @Inject constructor( //region Filters private fun DivImageView.bindFilters( - bindingContext: BindingContext, + divView: Div2View, newDiv: DivImage, oldDiv: DivImage?, + resolver: ExpressionResolver, ) { if (newDiv.filters?.size == oldDiv?.filters?.size) { val filtersAreTheSame = newDiv.filters?.foldIndexed(initial = true) { index, result, newFilter -> @@ -149,32 +142,31 @@ internal class DivImageBinder @Inject constructor( } } - applyFiltersAndSetBitmap(bindingContext, newDiv.filters) + applyFiltersAndSetBitmap(divView, newDiv.filters) val allFiltersAreConstant = newDiv.filters?.all { filter -> filter.isConstant() } if (allFiltersAreConstant != false) { return } - val callback = { _: Any -> applyFiltersAndSetBitmap(bindingContext, newDiv.filters) } + val callback = { _: Any -> applyFiltersAndSetBitmap(divView, newDiv.filters) } newDiv.filters?.forEach { filter -> when (filter) { - is DivFilter.Blur -> - addSubscription(filter.value.radius.observe(bindingContext.expressionResolver, callback)) + is DivFilter.Blur -> { addSubscription(filter.value.radius.observe(resolver, callback)) } else -> Unit } } } private fun DivImageView.applyFiltersAndSetBitmap( - bindingContext: BindingContext, + divView: Div2View, filters: List? ) { val bitmap = currentBitmapWithoutFilters if (bitmap == null) { setImageBitmap(null) } else { - applyBitmapFilters(bindingContext, bitmap, filters) { + applyBitmapFilters(divView, bitmap, filters) { setImageBitmap(it) } } @@ -185,9 +177,10 @@ internal class DivImageBinder @Inject constructor( //region Preview private fun DivImageView.bindPreview( - bindingContext: BindingContext, + divView: Div2View, newDiv: DivImage, oldDiv: DivImage?, + resolver: ExpressionResolver, errorCollector: ErrorCollector ) { if (isImageLoaded) { @@ -206,15 +199,16 @@ internal class DivImageBinder @Inject constructor( } addSubscription( - newDiv.preview?.observe(bindingContext.expressionResolver) { newPreview -> + newDiv.preview?.observe(resolver) { newPreview -> if (isImageLoaded || newPreview == preview) { return@observe } resetImageLoaded() applyPreview( - bindingContext, + divView, newDiv, - isHighPriorityShow(bindingContext.expressionResolver, this, newDiv), + isHighPriorityShow(resolver, this, newDiv), + resolver, errorCollector ) } @@ -222,12 +216,12 @@ internal class DivImageBinder @Inject constructor( } private fun DivImageView.applyPreview( - bindingContext: BindingContext, + divView: Div2View, div: DivImage, synchronous: Boolean, + resolver: ExpressionResolver, errorCollector: ErrorCollector ) { - val resolver = bindingContext.expressionResolver placeholderLoader.applyPlaceholder( this, errorCollector, @@ -242,7 +236,7 @@ internal class DivImageBinder @Inject constructor( onSetPreview = { if (!isImageLoaded) { currentBitmapWithoutFilters = it - applyFiltersAndSetBitmap(bindingContext, div.filters) + applyFiltersAndSetBitmap(divView, div.filters) previewLoaded() applyTint(div.tintColor?.evaluate(resolver), div.tintMode.evaluate(resolver)) } @@ -255,34 +249,45 @@ internal class DivImageBinder @Inject constructor( //region Image private fun DivImageView.bindImage( - bindingContext: BindingContext, + divView: Div2View, newDiv: DivImage, oldDiv: DivImage?, + resolver: ExpressionResolver, errorCollector: ErrorCollector ) { if (newDiv.imageUrl.equalsToConstant(oldDiv?.imageUrl)) { return } - applyImage(bindingContext, newDiv, errorCollector) + applyImage( + divView = divView, + div = newDiv, + resolver = resolver, + errorCollector = errorCollector + ) if (newDiv.imageUrl.isConstantOrNull()) { return } addSubscription( - newDiv.imageUrl.observe(bindingContext.expressionResolver) { - applyImage(bindingContext, newDiv, errorCollector) + newDiv.imageUrl.observe(resolver) { + applyImage( + divView = divView, + div = newDiv, + resolver = resolver, + errorCollector = errorCollector + ) } ) } private fun DivImageView.applyImage( - bindingContext: BindingContext, + divView: Div2View, div: DivImage, + resolver: ExpressionResolver, errorCollector: ErrorCollector ) { - val resolver = bindingContext.expressionResolver val imageUrl = div.imageUrl.evaluate(resolver) if (imageUrl == this.imageUrl) { return @@ -295,16 +300,16 @@ internal class DivImageBinder @Inject constructor( clearTint() loadReference?.cancel() - applyPreview(bindingContext, div, isHighPriorityShowPreview, errorCollector) + applyPreview(divView, div, isHighPriorityShowPreview, resolver, errorCollector) this.imageUrl = imageUrl val reference = imageLoader.loadImage( imageUrl.toString(), - object : DivIdLoggingImageDownloadCallback(bindingContext.divView) { + object : DivIdLoggingImageDownloadCallback(divView) { override fun onSuccess(cachedBitmap: CachedBitmap) { super.onSuccess(cachedBitmap) currentBitmapWithoutFilters = cachedBitmap.bitmap - applyFiltersAndSetBitmap(bindingContext, div.filters) + applyFiltersAndSetBitmap(divView, div.filters) applyLoadingFade(div, resolver, cachedBitmap.from) imageLoaded() applyTint(div.tintColor?.evaluate(resolver), div.tintMode.evaluate(resolver)) @@ -318,7 +323,7 @@ internal class DivImageBinder @Inject constructor( } ) - bindingContext.divView.addLoadReference(reference, this) + divView.addLoadReference(reference, this) loadReference = reference } diff --git a/client/android/div/src/main/java/com/yandex/div/core/view2/divs/DivIndicatorBinder.kt b/client/android/div/src/main/java/com/yandex/div/core/view2/divs/DivIndicatorBinder.kt index 085a10bf7..4b1a0b6da 100644 --- a/client/android/div/src/main/java/com/yandex/div/core/view2/divs/DivIndicatorBinder.kt +++ b/client/android/div/src/main/java/com/yandex/div/core/view2/divs/DivIndicatorBinder.kt @@ -5,7 +5,7 @@ import com.yandex.div.core.util.observeFixedSize import com.yandex.div.core.util.observeRoundedRectangleShape import com.yandex.div.core.util.observeShape import com.yandex.div.core.util.toIntSafely -import com.yandex.div.core.view2.BindingContext +import com.yandex.div.core.view2.Div2View import com.yandex.div.core.view2.DivViewBinder import com.yandex.div.core.view2.divs.widgets.DivPagerIndicatorView import com.yandex.div.internal.widget.indicator.IndicatorParams @@ -24,7 +24,7 @@ internal class DivIndicatorBinder @Inject constructor( private val baseBinder: DivBaseBinder, private val pagerIndicatorConnector: PagerIndicatorConnector ) : DivViewBinder { - override fun bindView(context: BindingContext, view: DivPagerIndicatorView, div: DivIndicator) { + override fun bindView(view: DivPagerIndicatorView, div: DivIndicator, divView: Div2View) { div.pagerId?.let { pagerIndicatorConnector.submitIndicator(it, view) } @@ -32,9 +32,9 @@ internal class DivIndicatorBinder @Inject constructor( val oldDiv = view.div if (div === oldDiv) return - val expressionResolver = context.expressionResolver + val expressionResolver = divView.expressionResolver - baseBinder.bindView(context, view, div, oldDiv) + baseBinder.bindView(view, div, oldDiv, divView) view.observeStyle(expressionResolver, div) } diff --git a/client/android/div/src/main/java/com/yandex/div/core/view2/divs/DivInputBinder.kt b/client/android/div/src/main/java/com/yandex/div/core/view2/divs/DivInputBinder.kt index 8ac86201d..5b3664f3a 100644 --- a/client/android/div/src/main/java/com/yandex/div/core/view2/divs/DivInputBinder.kt +++ b/client/android/div/src/main/java/com/yandex/div/core/view2/divs/DivInputBinder.kt @@ -21,7 +21,6 @@ import com.yandex.div.core.util.toIntSafely import com.yandex.div.core.util.validator.ExpressionValidator import com.yandex.div.core.util.validator.RegexValidator import com.yandex.div.core.util.validator.ValidatorItemData -import com.yandex.div.core.view2.BindingContext import com.yandex.div.core.view2.Div2View import com.yandex.div.core.view2.DivTypefaceResolver import com.yandex.div.core.view2.DivViewBinder @@ -53,13 +52,13 @@ internal class DivInputBinder @Inject constructor( private val errorCollectors: ErrorCollectors ) : DivViewBinder { - override fun bindView(context: BindingContext, view: DivInputView, div: DivInput) { + override fun bindView(view: DivInputView, div: DivInput, divView: Div2View) { val oldDiv = view.div if (div === oldDiv) return - val expressionResolver = context.expressionResolver + val expressionResolver = divView.expressionResolver - baseBinder.bindView(context, view, div, oldDiv) + baseBinder.bindView(view, div, oldDiv, divView) view.apply { isFocusable = true @@ -67,7 +66,7 @@ internal class DivInputBinder @Inject constructor( textAlignment = TextView.TEXT_ALIGNMENT_VIEW_START accessibilityEnabled = accessibilityStateProvider.isAccessibilityEnabled(view.context) - observeBackground(context, div, oldDiv, expressionResolver) + observeBackground(divView, div, oldDiv, expressionResolver) observeFontSize(div, expressionResolver) observeTypeface(div, expressionResolver) @@ -83,9 +82,9 @@ internal class DivInputBinder @Inject constructor( observeKeyboardType(div, expressionResolver) observeSelectAllOnFocus(div, expressionResolver) - observeText(div, expressionResolver, context.divView) + observeText(div, expressionResolver, divView) - focusTracker = context.divView.inputFocusTracker + focusTracker = divView.inputFocusTracker focusTracker?.requestFocusIfNeeded(view) } } @@ -120,7 +119,7 @@ internal class DivInputBinder @Inject constructor( } private fun DivInputView.observeBackground( - bindingContext: BindingContext, + divView: Div2View, newDiv: DivInput, oldDiv: DivInput?, resolver: ExpressionResolver @@ -129,7 +128,7 @@ internal class DivInputBinder @Inject constructor( val drawable = nativeBackground ?: return val callback = { color: Int -> - applyNativeBackgroundColor(color, newDiv, oldDiv, bindingContext, drawable) + applyNativeBackgroundColor(color, newDiv, oldDiv, divView, resolver, drawable) } addSubscription(nativeBackgroundColorVariable.observeAndGet(resolver, callback)) } @@ -138,11 +137,12 @@ internal class DivInputBinder @Inject constructor( color: Int, newDiv: DivInput, oldDiv: DivInput?, - bindingContext: BindingContext, + divView: Div2View, + resolver: ExpressionResolver, nativeBackground: Drawable ) { nativeBackground.setTint(color) - baseBinder.bindBackground(bindingContext, this, newDiv, oldDiv, expressionSubscriber, nativeBackground) + baseBinder.bindBackground(divView, this, newDiv, oldDiv, resolver, expressionSubscriber, nativeBackground) } private fun DivInputView.observeFontSize(div: DivInput, resolver: ExpressionResolver) { diff --git a/client/android/div/src/main/java/com/yandex/div/core/view2/divs/DivPagerBinder.kt b/client/android/div/src/main/java/com/yandex/div/core/view2/divs/DivPagerBinder.kt index 76b511c6b..08d47a2b4 100644 --- a/client/android/div/src/main/java/com/yandex/div/core/view2/divs/DivPagerBinder.kt +++ b/client/android/div/src/main/java/com/yandex/div/core/view2/divs/DivPagerBinder.kt @@ -25,7 +25,7 @@ import com.yandex.div.core.util.doOnEveryDetach import com.yandex.div.core.util.isLayoutRtl import com.yandex.div.core.util.makeFocusable import com.yandex.div.core.util.toIntSafely -import com.yandex.div.core.view2.BindingContext +import com.yandex.div.core.view2.Div2View import com.yandex.div.core.view2.DivBinder import com.yandex.div.core.view2.DivViewBinder import com.yandex.div.core.view2.DivViewCreator @@ -62,26 +62,25 @@ internal class DivPagerBinder @Inject constructor( ) : DivViewBinder { override fun bindView( - context: BindingContext, view: DivPagerView, div: DivPager, + divView: Div2View, path: DivStatePath ) { div.id?.let { pagerIndicatorConnector.submitPager(it, view) } - val divView = context.divView - val resolver = context.expressionResolver + val resolver = divView.expressionResolver val oldDiv = view.div if (div === oldDiv) { val adapter = view.viewPager.adapter as PagerAdapter - if (!adapter.applyPatch(view.getRecyclerView(), divPatchCache)) { + if (!adapter.applyPatch(view.getRecyclerView(), divPatchCache, divView)) { adapter.notifyItemRangeChanged(0, adapter.itemCount) } return } - baseBinder.bindView(context, view, div, oldDiv) + baseBinder.bindView(view, div, oldDiv, divView) val pageTranslations = SparseArray() val a11yEnabled = accessibilityStateProvider.isAccessibilityEnabled(view.context) @@ -103,7 +102,7 @@ internal class DivPagerBinder @Inject constructor( } view.viewPager.adapter = PagerAdapter( divs = divItems, - bindingContext = context, + div2View = divView, divBinder = divBinder.get(), translationBinder = { holder: PagerViewHolder, position: Int -> pageTranslations[position]?.let { @@ -155,13 +154,14 @@ internal class DivPagerBinder @Inject constructor( }) view.pagerSelectedActionsDispatcher = PagerSelectedActionsDispatcher( - bindingContext = context, + divView = divView, + div = div, divs = divItems, divActionBinder = divActionBinder, ) view.changePageCallbackForLogger = PageChangeCallback( - bindingContext = context, + divView = divView, divPager = div, divs = divItems, recyclerView = view.viewPager.getChildAt(0) as RecyclerView @@ -435,12 +435,11 @@ internal class DivPagerBinder @Inject constructor( class PageChangeCallback( private val divPager: DivPager, private val divs: List
, - private val bindingContext: BindingContext, + private val divView: Div2View, private val recyclerView: RecyclerView ) : ViewPager2.OnPageChangeCallback() { private var prevPosition = RecyclerView.NO_POSITION - private val divView = bindingContext.divView private val minimumSignificantDx = divView.config.logCardScrollSignificantThreshold private var totalDelta = 0 @@ -508,39 +507,38 @@ internal class DivPagerBinder @Inject constructor( } val childDiv = divs[childPosition] - divView.div2Component.visibilityActionTracker - .startTrackingViewsHierarchy(bindingContext, child, childDiv) + divView.div2Component.visibilityActionTracker.startTrackingViewsHierarchy(divView, child, childDiv) } } } private class PagerAdapter( divs: List
, - private val bindingContext: BindingContext, + private val div2View: Div2View, private val divBinder: DivBinder, private val translationBinder: (holder: PagerViewHolder, position: Int) -> Unit, private val viewCreator: DivViewCreator, private val path: DivStatePath, private val accessibilityEnabled: Boolean, - ) : DivPatchableAdapter(divs, bindingContext) { + ) : DivPatchableAdapter(divs, div2View) { override val subscriptions = mutableListOf() var orientation = ViewPager2.ORIENTATION_HORIZONTAL override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): PagerViewHolder { - val view = PageLayout(bindingContext.divView.context) { orientation } + val view = PageLayout(div2View.context) { orientation } view.layoutParams = ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT) - return PagerViewHolder(bindingContext, view, divBinder, viewCreator, accessibilityEnabled) + return PagerViewHolder(div2View, view, divBinder, viewCreator, accessibilityEnabled) } override fun getItemCount() = items.size override fun onBindViewHolder(holder: PagerViewHolder, position: Int) { val div = items[position] - holder.bind(bindingContext, div, path, position) + holder.bind(div2View, div, path, position) translationBinder.invoke(holder, position) } @@ -578,7 +576,7 @@ internal class DivPagerBinder @Inject constructor( } private class PagerViewHolder( - bindingContext: BindingContext, + divView: Div2View, val frameLayout: PageLayout, private val divBinder: DivBinder, private val viewCreator: DivViewCreator, @@ -588,29 +586,23 @@ internal class DivPagerBinder @Inject constructor( init { itemView.doOnEveryDetach { view -> val div = oldDiv ?: return@doOnEveryDetach - bindingContext.divView.div2Component.visibilityActionTracker - .startTrackingViewsHierarchy(bindingContext, view, div) + divView.div2Component.visibilityActionTracker.startTrackingViewsHierarchy(divView, view, div) } } private var oldDiv: Div? = null - fun bind(bindingContext: BindingContext, div: Div, path: DivStatePath, position: Int) { - val div2View = bindingContext.divView - val resolver = bindingContext.expressionResolver + fun bind(div2View: Div2View, div: Div, path: DivStatePath, position: Int) { + val resolver = div2View.expressionResolver - if (frameLayout.tryRebindRecycleContainerChildren(bindingContext.divView, div)) { + if (frameLayout.tryRebindRecycleContainerChildren(div2View, div)) { oldDiv = div return } - val divView = if (oldDiv != null && frameLayout.isNotEmpty() && - DivComparator.areDivsReplaceable( - oldDiv, - div, - div2View.getExpressionResolver(oldDiv?.value()), - resolver - )) { + val divView = if (oldDiv != null + && frameLayout.isNotEmpty() + && DivComparator.areDivsReplaceable(oldDiv, div, div2View.oldExpressionResolver, resolver)) { frameLayout[0] } else { val newDivView = viewCreator.create(div, resolver) @@ -623,7 +615,11 @@ internal class DivPagerBinder @Inject constructor( frameLayout.setTag(R.id.div_pager_item_clip_id, position) } oldDiv = div - divBinder.bind(bindingContext, divView, div, path) + divBinder.bind(divView, div, div2View, path) + } + + private fun getPagerView(): DivPagerView { + return ((frameLayout.parent as ViewGroup).parent as ViewGroup).parent as DivPagerView } } diff --git a/client/android/div/src/main/java/com/yandex/div/core/view2/divs/DivPatchableAdapter.kt b/client/android/div/src/main/java/com/yandex/div/core/view2/divs/DivPatchableAdapter.kt index 502b8c9a5..b25d82dfc 100644 --- a/client/android/div/src/main/java/com/yandex/div/core/view2/divs/DivPatchableAdapter.kt +++ b/client/android/div/src/main/java/com/yandex/div/core/view2/divs/DivPatchableAdapter.kt @@ -3,15 +3,14 @@ package com.yandex.div.core.view2.divs import androidx.recyclerview.widget.RecyclerView import com.yandex.div.core.downloader.DivPatchApply import com.yandex.div.core.downloader.DivPatchCache -import com.yandex.div.core.view2.BindingContext +import com.yandex.div.core.view2.Div2View import com.yandex.div.internal.core.ExpressionSubscriber -import com.yandex.div.json.expressions.ExpressionResolver import com.yandex.div2.Div import com.yandex.div2.DivVisibility internal abstract class DivPatchableAdapter( divs: List
, - private val bindingContext: BindingContext, + private val div2View: Div2View, ) : RecyclerView.Adapter(), ExpressionSubscriber { private val _items = divs.toMutableList() val items: List
@@ -31,7 +30,7 @@ internal abstract class DivPatchableAdapter( activityMap.clear() indexedItems.forEach { - val isActive = it.value.isActive(bindingContext.expressionResolver) + val isActive = it.value.isActive(div2View) activityMap[it.value] = isActive if (isActive) { @@ -43,7 +42,7 @@ internal abstract class DivPatchableAdapter( fun subscribeOnElements() { indexedItems.forEach { item -> val div = item.value - val subscription = div.value().visibility.observe(bindingContext.expressionResolver) { + val subscription = div.value().visibility.observe(div2View.expressionResolver) { item.updateVisibility(it) } @@ -73,8 +72,9 @@ internal abstract class DivPatchableAdapter( fun applyPatch( recyclerView: RecyclerView?, divPatchCache: DivPatchCache, + divView: Div2View ): Boolean { - val patch = divPatchCache.getPatch(bindingContext.divView.dataTag) ?: return false + val patch = divPatchCache.getPatch(div2View.dataTag) ?: return false val divPatchApply = DivPatchApply(patch) val appliedToListPatchIds = mutableSetOf() @@ -85,7 +85,7 @@ internal abstract class DivPatchableAdapter( val childDiv = _items[index] val patchId = childDiv.value().id val patchDivs = patchId?.let { - divPatchCache.getPatchDivListById(bindingContext.divView.dataTag, it) + divPatchCache.getPatchDivListById(div2View.dataTag, it) } val isActive = activityMap[childDiv] == true @@ -98,7 +98,7 @@ internal abstract class DivPatchableAdapter( _items.addAll(index, patchDivs) - val activeItemsInserted = patchDivs.count { it.isActive(bindingContext.expressionResolver) } + val activeItemsInserted = patchDivs.count { it.isActive(div2View) } notifyItemRangeInserted(activeIndex, activeItemsInserted) index += patchDivs.size - 1 @@ -118,10 +118,10 @@ internal abstract class DivPatchableAdapter( for (i in 0 until _items.size) { val childDiv = _items[i] divPatchApply.patchDivChild( - parentView = recyclerView ?: bindingContext.divView, + parentView = recyclerView ?: divView, childDiv, idToFind, - bindingContext.expressionResolver + divView.expressionResolver )?.let { newDiv -> _items[i] = newDiv return@forEach @@ -135,8 +135,8 @@ internal abstract class DivPatchableAdapter( } companion object { - private fun Div.isActive(resolver: ExpressionResolver): Boolean = - value().visibility.evaluate(resolver).isActive() + private fun Div.isActive(div2View: Div2View): Boolean = + value().visibility.evaluate(div2View.expressionResolver).isActive() private fun DivVisibility?.isActive() = this != DivVisibility.GONE diff --git a/client/android/div/src/main/java/com/yandex/div/core/view2/divs/DivSelectBinder.kt b/client/android/div/src/main/java/com/yandex/div/core/view2/divs/DivSelectBinder.kt index 3057e36a3..e3b4d6989 100644 --- a/client/android/div/src/main/java/com/yandex/div/core/view2/divs/DivSelectBinder.kt +++ b/client/android/div/src/main/java/com/yandex/div/core/view2/divs/DivSelectBinder.kt @@ -4,7 +4,7 @@ import android.widget.TextView import com.yandex.div.core.dagger.DivScope import com.yandex.div.core.expression.variables.TwoWayStringVariableBinder import com.yandex.div.core.util.toIntSafely -import com.yandex.div.core.view2.BindingContext +import com.yandex.div.core.view2.Div2View import com.yandex.div.core.view2.DivTypefaceResolver import com.yandex.div.core.view2.DivViewBinder import com.yandex.div.core.view2.animations.DEFAULT_CLICK_ANIMATION @@ -22,22 +22,21 @@ internal class DivSelectBinder @Inject constructor( private val variableBinder: TwoWayStringVariableBinder, private val errorCollectors: ErrorCollectors ) : DivViewBinder { - override fun bindView(context: BindingContext, view: DivSelectView, div: DivSelect) { + override fun bindView(view: DivSelectView, div: DivSelect, divView: Div2View) { val oldDiv = view.div if (div === oldDiv) return - val divView = context.divView - val expressionResolver = context.expressionResolver + val expressionResolver = divView.expressionResolver val errorCollector = errorCollectors.getOrCreate(divView.dataTag, divView.divData) - baseBinder.bindView(context, view, div, oldDiv) + baseBinder.bindView(view, div, oldDiv, divView) view.apply { textAlignment = TextView.TEXT_ALIGNMENT_VIEW_START - applyOptions(div, context) - observeVariable(div, context, errorCollector) + applyOptions(div, divView) + observeVariable(div, divView, errorCollector) observeFontSize(div, expressionResolver) observeTypeface(div, expressionResolver) @@ -49,16 +48,18 @@ internal class DivSelectBinder @Inject constructor( } } - private fun DivSelectView.applyOptions(div: DivSelect, bindingContext: BindingContext) { - setAnimatedTouchListener(bindingContext, DEFAULT_CLICK_ANIMATION, null) + private fun DivSelectView.applyOptions(div: DivSelect, divView: Div2View) { + val resolver = divView.expressionResolver - val itemList = createObservedItemList(div, bindingContext.expressionResolver) + setAnimatedTouchListener(divView, DEFAULT_CLICK_ANIMATION, null) + + val itemList = createObservedItemList(div, divView.expressionResolver) setItems(itemList) onItemSelectedListener = { position -> text = itemList[position] - valueUpdater?.invoke(div.options[position].value.evaluate(bindingContext.expressionResolver)) + valueUpdater?.invoke(div.options[position].value.evaluate(resolver)) } } @@ -79,15 +80,11 @@ internal class DivSelectBinder @Inject constructor( return itemList } - private fun DivSelectView.observeVariable( - div: DivSelect, - bindingContext: BindingContext, - errorCollector: ErrorCollector - ) { - val resolver = bindingContext.expressionResolver + private fun DivSelectView.observeVariable(div: DivSelect, divView: Div2View, errorCollector: ErrorCollector) { + val resolver = divView.expressionResolver val subscription = variableBinder.bindVariable( - bindingContext.divView, + divView, div.valueVariable, callbacks = object : TwoWayStringVariableBinder.Callbacks { override fun onVariableChanged(value: String?) { diff --git a/client/android/div/src/main/java/com/yandex/div/core/view2/divs/DivSeparatorBinder.kt b/client/android/div/src/main/java/com/yandex/div/core/view2/divs/DivSeparatorBinder.kt index 085690bf3..27f3c8aee 100644 --- a/client/android/div/src/main/java/com/yandex/div/core/view2/divs/DivSeparatorBinder.kt +++ b/client/android/div/src/main/java/com/yandex/div/core/view2/divs/DivSeparatorBinder.kt @@ -3,7 +3,7 @@ package com.yandex.div.core.view2.divs import android.view.Gravity import com.yandex.div.R import com.yandex.div.core.dagger.DivScope -import com.yandex.div.core.view2.BindingContext +import com.yandex.div.core.view2.Div2View import com.yandex.div.core.view2.DivViewBinder import com.yandex.div.core.view2.divs.widgets.DivSeparatorView import com.yandex.div.json.expressions.ExpressionResolver @@ -17,22 +17,15 @@ internal class DivSeparatorBinder @Inject constructor( private val baseBinder: DivBaseBinder ) : DivViewBinder { - override fun bindView(context: BindingContext, view: DivSeparatorView, div: DivSeparator) { + override fun bindView(view: DivSeparatorView, div: DivSeparator, divView: Div2View) { val oldDiv = view.div if (div === oldDiv) return - baseBinder.bindView(context, view, div, oldDiv) - view.applyDivActions( - context, - div.action, - div.actions, - div.longtapActions, - div.doubletapActions, - div.actionAnimation, - div.accessibility, - ) + baseBinder.bindView(view, div, oldDiv, divView) + view.applyDivActions(divView, div.action, div.actions, div.longtapActions, + div.doubletapActions, div.actionAnimation, div.accessibility) - view.bindStyle(div.delimiterStyle, oldDiv?.delimiterStyle, context.expressionResolver) + view.bindStyle(div.delimiterStyle, oldDiv?.delimiterStyle, divView.expressionResolver) view.setDividerHeightResource(R.dimen.div_separator_delimiter_height) view.dividerGravity = Gravity.CENTER diff --git a/client/android/div/src/main/java/com/yandex/div/core/view2/divs/DivSliderBinder.kt b/client/android/div/src/main/java/com/yandex/div/core/view2/divs/DivSliderBinder.kt index 569adb513..92c7983fb 100644 --- a/client/android/div/src/main/java/com/yandex/div/core/view2/divs/DivSliderBinder.kt +++ b/client/android/div/src/main/java/com/yandex/div/core/view2/divs/DivSliderBinder.kt @@ -9,7 +9,6 @@ import com.yandex.div.core.expression.variables.TwoWayIntegerVariableBinder import com.yandex.div.core.font.DivTypefaceProvider import com.yandex.div.core.util.observeDrawable import com.yandex.div.core.util.toIntSafely -import com.yandex.div.core.view2.BindingContext import com.yandex.div.core.view2.Div2View import com.yandex.div.core.view2.DivViewBinder import com.yandex.div.core.view2.divs.widgets.DivSliderView @@ -41,15 +40,14 @@ internal class DivSliderBinder @Inject constructor( private var errorCollector: ErrorCollector? = null - override fun bindView(context: BindingContext, view: DivSliderView, div: DivSlider) { + override fun bindView(view: DivSliderView, div: DivSlider, divView: Div2View) { val oldDiv = view.div - val divView = context.divView errorCollector = errorCollectors.getOrCreate(divView.dataTag, divView.divData) if (div === oldDiv) return - val expressionResolver = context.expressionResolver + val expressionResolver = divView.expressionResolver - baseBinder.bindView(context, view, div, oldDiv) + baseBinder.bindView(view, div, oldDiv, divView) view.interceptionAngle = horizontalInterceptionAngle diff --git a/client/android/div/src/main/java/com/yandex/div/core/view2/divs/DivStateBinder.kt b/client/android/div/src/main/java/com/yandex/div/core/view2/divs/DivStateBinder.kt index 0357e366e..bdf617cf9 100644 --- a/client/android/div/src/main/java/com/yandex/div/core/view2/divs/DivStateBinder.kt +++ b/client/android/div/src/main/java/com/yandex/div/core/view2/divs/DivStateBinder.kt @@ -22,7 +22,6 @@ import com.yandex.div.core.util.androidInterpolator import com.yandex.div.core.util.containsStateInnerTransitions import com.yandex.div.core.util.getDefaultState import com.yandex.div.core.util.walk -import com.yandex.div.core.view2.BindingContext import com.yandex.div.core.view2.Div2View import com.yandex.div.core.view2.DivBinder import com.yandex.div.core.view2.DivTransitionBuilder @@ -67,26 +66,24 @@ internal class DivStateBinder @Inject constructor( /** * For example, to bind state to path 0/content/expanded/comments/expanded/comment_03/collapsed you should have: - * @param context includes Div2View and ExpressionResolver for current Div. * @param layout layout with path 0/content/expanded/comments/expanded/comment_03/{any_state_here}. * @param div [DivState], corresponding to path 0/content/expanded/comments/expanded/comment_03, * Exact stateId will be set via [DivStateCache] or [TemporaryDivStateCache], and this class will * handle receiving corresponding to the state [Div] by itself. + * @param divView papa-view, it always the same. * @param divStatePath path 0/content/expanded/comments/expanded, so to previous [DivStateLayout]. */ fun bindView( - context: BindingContext, layout: DivStateLayout, div: DivState, + divView: Div2View, divStatePath: DivStatePath ) { val oldDivState = layout.div val oldDiv = layout.activeStateDiv - val divView = context.divView - val oldResolver = divView.getExpressionResolver(oldDiv?.value()) - baseBinder.bindView(context, layout, div, oldDivState) + baseBinder.bindView(layout, div, oldDivState, divView) - val resolver = context.expressionResolver + val resolver = divView.expressionResolver layout.fixAlignment(div, oldDivState, resolver) val cardId = divView.divTag.id val id = div.getId { @@ -120,7 +117,7 @@ internal class DivStateBinder @Inject constructor( } else { null } - val transition = replaceViewsAnimated(context, div, newState, oldState, incoming, outgoing) + val transition = replaceViewsAnimated(divView, div, newState, oldState, incoming, outgoing) if (transition != null) { TransitionManager.endTransitions(layout) @@ -130,19 +127,15 @@ internal class DivStateBinder @Inject constructor( if (incoming != null) { layout.addView(incoming) if (newStateDiv != null) { - viewBinder.get().bind(context, incoming, newStateDiv, currentPath) + viewBinder.get().bind(incoming, newStateDiv, divView, currentPath) } } if (outgoing != null) { divView.divTransitionHandler.runTransitions(root = layout, endTransitions = false) } } else if (newStateDivValue != null) { - val areDivsReplaceable = outgoing != null && DivComparator.areDivsReplaceable( - oldDiv, - newStateDiv, - oldResolver, - resolver - ) + val areDivsReplaceable = outgoing != null && + DivComparator.areDivsReplaceable(oldDiv, newStateDiv, divView.oldExpressionResolver, resolver) incoming = if (areDivsReplaceable) { outgoing } else { @@ -153,7 +146,7 @@ internal class DivStateBinder @Inject constructor( layout.addView(incoming) } if (incoming != null) { - viewBinder.get().bind(context, incoming, newStateDiv, currentPath) + viewBinder.get().bind(incoming, newStateDiv, divView, currentPath) } } else { layout.releaseAndRemoveChildren(divView) @@ -168,8 +161,8 @@ internal class DivStateBinder @Inject constructor( divView.unbindViewFromDiv(outgoing) if (oldDiv != null) { // We pass null instead of outgoing view to mark previous state as invisible - divVisibilityActionTracker.trackVisibilityActionsOf(divView, oldResolver, null, oldDiv) - untrackRecursively(outgoing, divView, divView.getExpressionResolver(oldDiv.value())) + divVisibilityActionTracker.trackVisibilityActionsOf(divView, null, oldDiv) + untrackRecursively(outgoing, divView) } } } @@ -177,7 +170,7 @@ internal class DivStateBinder @Inject constructor( if (newStateDivValue.visibilityAction != null || newStateDivValue.visibilityActions != null) { divView.bindViewToDiv(incoming, newStateDiv) incoming.doOnNextLayout { - divVisibilityActionTracker.trackVisibilityActionsOf(divView, resolver, incoming, newStateDiv) + divVisibilityActionTracker.trackVisibilityActionsOf(divView, incoming, newStateDiv) } } } @@ -187,7 +180,7 @@ internal class DivStateBinder @Inject constructor( // applying div patch if (childDivId != null) { - val patchView = divPatchManager.createViewsForId(context, childDivId)?.let { views -> + val patchView = divPatchManager.createViewsForId(divView, childDivId)?.let { views -> if (views.size > 1) { KLog.e(TAG) { "Unable to patch state because there is more than 1 div in the patch" } null @@ -202,7 +195,7 @@ internal class DivStateBinder @Inject constructor( if (patchDiv.value().hasSightActions) { divView.bindViewToDiv(patchView, patchDiv) } - viewBinder.get().bind(context, patchView, patchDiv, currentPath) + viewBinder.get().bind(patchView, patchDiv, divView, currentPath) } } @@ -211,7 +204,7 @@ internal class DivStateBinder @Inject constructor( layout.swipeOutCallback = { divView.bulkActions { actions.forEach { - divActionBinder.handleAction(divView, resolver, it, DivActionReason.STATE_SWIPE_OUT) + divActionBinder.handleAction(divView, it, DivActionReason.STATE_SWIPE_OUT) div2Logger.logSwipedAway(divView, layout, it) divActionBeaconSender.sendSwipeOutActionBeacon(it, resolver) } @@ -266,21 +259,21 @@ internal class DivStateBinder @Inject constructor( addSubscription(subscription) } - private fun untrackRecursively(outgoing: View?, divView: Div2View, resolver: ExpressionResolver) { + private fun untrackRecursively(outgoing: View?, divView: Div2View) { if (outgoing is ViewGroup) { // Also, unbind every child outgoing.children.forEach { childView: View -> val childDiv: Div? = divView.unbindViewFromDiv(childView) if (childDiv != null) { - divVisibilityActionTracker.trackVisibilityActionsOf(divView, resolver, null, childDiv) + divVisibilityActionTracker.trackVisibilityActionsOf(divView, null, childDiv) } - untrackRecursively(childView, divView, resolver) + untrackRecursively(childView, divView) } } } private fun replaceViewsAnimated( - context: BindingContext, + divView: Div2View, divState: DivState, incomingState: DivState.State, outgoingState: DivState.State?, @@ -289,11 +282,9 @@ internal class DivStateBinder @Inject constructor( ): Transition? { val outgoingDiv = outgoingState?.div val incomingDiv = incomingState.div - val divView = context.divView - val resolver = context.expressionResolver - val oldResolver = divView.getExpressionResolver(outgoingDiv?.value()) + val resolver = divView.expressionResolver val transition = if (divState.allowsTransitionsOnStateChange(resolver) - && (outgoingDiv?.containsStateInnerTransitions(oldResolver) == true + && (outgoingDiv?.containsStateInnerTransitions(resolver) == true || incomingDiv?.containsStateInnerTransitions(resolver) == true)) { setupTransitions( divView.viewComponent.transitionBuilder, @@ -301,10 +292,10 @@ internal class DivStateBinder @Inject constructor( incomingState, outgoingState, resolver, - oldResolver + divView.oldExpressionResolver ) } else { - setupAnimation(context, incomingState, outgoingState, incoming, outgoing) + setupAnimation(divView, incomingState, outgoingState, incoming, outgoing) } return transition } @@ -331,13 +322,13 @@ internal class DivStateBinder @Inject constructor( val transition = transitionBuilder.buildTransitions( from = outgoingState?.div?.walk(outgoingResolver) ?.onEnter { div -> div !is Div.State } - ?.filter { item -> - item.div.value().transitionTriggers?.allowsTransitionsOnStateChange() ?: true + ?.filter { div -> + div.value().transitionTriggers?.allowsTransitionsOnStateChange() ?: true }, to = incomingState.div?.walk(incomingResolver) ?.onEnter { div -> div !is Div.State } - ?.filter { item -> - item.div.value().transitionTriggers?.allowsTransitionsOnStateChange() ?: true + ?.filter { div -> + div.value().transitionTriggers?.allowsTransitionsOnStateChange() ?: true }, fromResolver = outgoingResolver, toResolver = incomingResolver @@ -348,13 +339,13 @@ internal class DivStateBinder @Inject constructor( } private fun setupAnimation( - context: BindingContext, + divView: Div2View, incomingState: DivState.State, outgoingState: DivState.State?, incoming: View?, outgoing: View? ): Transition? { - val resolver = context.expressionResolver + val resolver = divView.expressionResolver val animationIn = incomingState.animationIn val animationOut = outgoingState?.animationOut if (animationIn != null || animationOut != null ) { @@ -378,21 +369,20 @@ internal class DivStateBinder @Inject constructor( } } - val outResolver = context.divView.getExpressionResolver(outgoingState?.div?.value()) if (animationOut != null && outgoing != null) { - val animationsOut = if (animationOut.name.evaluate(outResolver) != DivAnimation.Name.SET) { + val animationsOut = if (animationOut.name.evaluate(resolver) != DivAnimation.Name.SET) { listOf(animationOut) } else { animationOut.items.orEmpty() } for (animation in animationsOut) { - animation.toTransition(incoming = false, outResolver)?.let { + animation.toTransition(incoming = false, resolver)?.let { transition.addTransition(it .addTarget(outgoing) - .setDuration(animation.duration.evaluate(outResolver)) - .setStartDelay(animation.startDelay.evaluate(outResolver)) - .setInterpolator(animation.interpolator.evaluate(outResolver).androidInterpolator) + .setDuration(animation.duration.evaluate(resolver)) + .setStartDelay(animation.startDelay.evaluate(resolver)) + .setInterpolator(animation.interpolator.evaluate(resolver).androidInterpolator) ) } } diff --git a/client/android/div/src/main/java/com/yandex/div/core/view2/divs/DivTextBinder.kt b/client/android/div/src/main/java/com/yandex/div/core/view2/divs/DivTextBinder.kt index 68769c039..aefbfbd58 100644 --- a/client/android/div/src/main/java/com/yandex/div/core/view2/divs/DivTextBinder.kt +++ b/client/android/div/src/main/java/com/yandex/div/core/view2/divs/DivTextBinder.kt @@ -29,7 +29,7 @@ import com.yandex.div.core.util.doOnActualLayout import com.yandex.div.core.util.text.DivBackgroundSpan import com.yandex.div.core.util.text.DivTextRangesBackgroundHelper import com.yandex.div.core.util.toIntSafely -import com.yandex.div.core.view2.BindingContext +import com.yandex.div.core.view2.Div2View import com.yandex.div.core.view2.DivTypefaceResolver import com.yandex.div.core.view2.DivViewBinder import com.yandex.div.core.view2.divs.widgets.DivLineHeightTextView @@ -86,22 +86,15 @@ internal class DivTextBinder @Inject constructor( @ExperimentFlag(HYPHENATION_SUPPORT_ENABLED) private val isHyphenationEnabled: Boolean ) : DivViewBinder { - override fun bindView(context: BindingContext, view: DivLineHeightTextView, div: DivText) { + override fun bindView(view: DivLineHeightTextView, div: DivText, divView: Div2View) { val oldDiv = view.div if (div === oldDiv) return - baseBinder.bindView(context, view, div, oldDiv) - view.applyDivActions( - context, - div.action, - div.actions, - div.longtapActions, - div.doubletapActions, - div.actionAnimation, - div.accessibility, - ) + baseBinder.bindView(view, div, oldDiv, divView) + view.applyDivActions(divView, div.action, div.actions, div.longtapActions, + div.doubletapActions, div.actionAnimation, div.accessibility) - val expressionResolver = context.expressionResolver + val expressionResolver = divView.expressionResolver view.bindTypeface(div, oldDiv, expressionResolver) view.bindTextAlignment(div, oldDiv, expressionResolver) view.bindFontSize(div, oldDiv, expressionResolver) @@ -110,8 +103,8 @@ internal class DivTextBinder @Inject constructor( view.bindUnderline(div, oldDiv, expressionResolver) view.bindStrikethrough(div, oldDiv, expressionResolver) view.bindMaxLines(div, oldDiv, expressionResolver) - view.bindText(context, div, oldDiv) - view.bindEllipsis(context, div, oldDiv) + view.bindText(divView, div, oldDiv, expressionResolver) + view.bindEllipsis(divView, div, oldDiv, expressionResolver) view.bindAutoEllipsize(div, oldDiv, expressionResolver) view.bindTextGradient(div, oldDiv, expressionResolver) view.bindTextShadow(div, oldDiv, expressionResolver) @@ -612,33 +605,34 @@ internal class DivTextBinder @Inject constructor( //region Text private fun DivLineHeightTextView.bindText( - bindingContext: BindingContext, + divView: Div2View, newDiv: DivText, oldDiv: DivText?, + resolver: ExpressionResolver ) { if (newDiv.ranges == null && newDiv.images == null) { - bindPlainText(newDiv, oldDiv, bindingContext.expressionResolver) + bindPlainText(newDiv, oldDiv, resolver) } else { - bindRichText(bindingContext, newDiv) + bindRichText(divView, newDiv, resolver) } } private fun DivLineHeightTextView.bindRichText( - bindingContext: BindingContext, + divView: Div2View, newDiv: DivText, + resolver: ExpressionResolver ) { - val resolver = bindingContext.expressionResolver - applyRichText(bindingContext, newDiv) + applyRichText(divView, resolver, newDiv) applyHyphenation(newDiv.text.evaluate(resolver)) addSubscription( newDiv.text.observe(resolver) { text -> - applyRichText(bindingContext, newDiv) + applyRichText(divView, resolver, newDiv) applyHyphenation(text) } ) - val callback = { _: Any -> applyRichText(bindingContext, newDiv) } + val callback = { _: Any -> applyRichText(divView, resolver, newDiv) } newDiv.ranges?.forEach { range -> addSubscription(range.start.observe(resolver, callback)) addSubscription(range.end.observe(resolver, callback)) @@ -662,13 +656,14 @@ internal class DivTextBinder @Inject constructor( } private fun TextView.applyRichText( - bindingContext: BindingContext, + divView: Div2View, + resolver: ExpressionResolver, div: DivText ) { - val resolver = bindingContext.expressionResolver val ranger = DivTextRanger( - bindingContext, + divView, this, + resolver, div.text.evaluate(resolver), div.fontSize.evaluate(resolver), div.fontFamily?.evaluate(resolver), @@ -744,15 +739,16 @@ internal class DivTextBinder @Inject constructor( //region Ellipsis private fun DivLineHeightTextView.bindEllipsis( - bindingContext: BindingContext, + divView: Div2View, newDiv: DivText, oldDiv: DivText?, + resolver: ExpressionResolver ) { val ellipsis = newDiv.ellipsis if (ellipsis?.ranges == null && ellipsis?.images == null && ellipsis?.actions == null) { - bindPlainEllipsis(newDiv.ellipsis, oldDiv?.ellipsis, bindingContext.expressionResolver) + bindPlainEllipsis(newDiv.ellipsis, oldDiv?.ellipsis, resolver) } else { - bindRichEllipsis(bindingContext, newDiv) + bindRichEllipsis(divView, newDiv, resolver) } } @@ -781,15 +777,15 @@ internal class DivTextBinder @Inject constructor( } private fun DivLineHeightTextView.bindRichEllipsis( - bindingContext: BindingContext, + divView: Div2View, newDiv: DivText, + resolver: ExpressionResolver ) { - applyRichEllipsis(bindingContext, newDiv) + applyRichEllipsis(divView, newDiv, resolver) val ellipsis = newDiv.ellipsis ?: return - val resolver = bindingContext.expressionResolver - val callback = { _: Any -> applyRichEllipsis(bindingContext, newDiv) } + val callback = { _: Any -> applyRichEllipsis(divView, newDiv, resolver) } addSubscription(ellipsis.text.observe(resolver, callback)) ellipsis.ranges?.forEach { range -> addSubscription(range.start.observe(resolver, callback)) @@ -819,8 +815,9 @@ internal class DivTextBinder @Inject constructor( } private fun EllipsizedTextView.applyRichEllipsis( - bindingContext: BindingContext, + divView: Div2View, newDiv: DivText, + resolver: ExpressionResolver ) { val ellipsis = newDiv.ellipsis if (ellipsis == null) { @@ -828,10 +825,10 @@ internal class DivTextBinder @Inject constructor( return } - val resolver = bindingContext.expressionResolver val ranger = DivTextRanger( - bindingContext, + divView, this, + resolver, ellipsis.text.evaluate(resolver), newDiv.fontSize.evaluate(resolver), newDiv.fontFamily?.evaluate(resolver), @@ -935,8 +932,9 @@ internal class DivTextBinder @Inject constructor( // TODO: refactor to SpannedTextBuilder scoped by div context. private inner class DivTextRanger( - private val bindingContext: BindingContext, + private val divView: Div2View, private val textView: TextView, + private val resolver: ExpressionResolver, private val text: String, private val fontSize: Long, private val fontFamily: String?, @@ -945,8 +943,6 @@ internal class DivTextBinder @Inject constructor( images: List? ) { - private val divView = bindingContext.divView - private val resolver = bindingContext.expressionResolver private val context = divView.context private val metrics = divView.resources.displayMetrics private val sb: SpannableStringBuilder = SpannableStringBuilder(text) @@ -1146,7 +1142,7 @@ internal class DivTextBinder @Inject constructor( private inner class DivClickableSpan(private val actions: List) : ClickableSpan() { override fun onClick(p0: View) { val actionBinder = divView.div2Component.actionBinder - actionBinder.handleTapClick(bindingContext, p0, actions) + actionBinder.handleTapClick(divView, p0, actions) } override fun updateDrawState(ds: TextPaint) { diff --git a/client/android/div/src/main/java/com/yandex/div/core/view2/divs/DivVideoBinder.kt b/client/android/div/src/main/java/com/yandex/div/core/view2/divs/DivVideoBinder.kt index e7913837d..4b0a63812 100644 --- a/client/android/div/src/main/java/com/yandex/div/core/view2/divs/DivVideoBinder.kt +++ b/client/android/div/src/main/java/com/yandex/div/core/view2/divs/DivVideoBinder.kt @@ -17,7 +17,6 @@ import com.yandex.div.core.player.DivPlayerView import com.yandex.div.core.player.DivVideoResolution import com.yandex.div.core.player.DivVideoSource import com.yandex.div.core.player.DivVideoViewMapper -import com.yandex.div.core.view2.BindingContext import com.yandex.div.core.view2.Div2View import com.yandex.div.core.view2.DivViewBinder import com.yandex.div.core.view2.divs.widgets.DivVideoView @@ -32,12 +31,11 @@ internal class DivVideoBinder @Inject constructor( private val divActionBinder: DivActionBinder, private val videoViewMapper: DivVideoViewMapper, ) : DivViewBinder { - override fun bindView(context: BindingContext, view: DivVideoView, div: DivVideo) { + override fun bindView(view: DivVideoView, div: DivVideo, divView: Div2View) { val oldDiv = view.div - val divView = context.divView - val resolver = context.expressionResolver + val resolver = divView.expressionResolver - baseBinder.bindView(context, view, div, oldDiv) + baseBinder.bindView(view, div, oldDiv, divView) val source = div.createSource(resolver) val config = DivPlayerPlaybackConfig( @@ -90,23 +88,23 @@ internal class DivVideoBinder @Inject constructor( val playerListener = object : DivPlayer.Observer { override fun onPlay() { - divActionBinder.handleActions(divView, resolver, div.resumeActions, DivActionReason.VIDEO) + divActionBinder.handleActions(divView, div.resumeActions, DivActionReason.VIDEO) } override fun onPause() { - divActionBinder.handleActions(divView, resolver, div.pauseActions, DivActionReason.VIDEO) + divActionBinder.handleActions(divView, div.pauseActions, DivActionReason.VIDEO) } override fun onBuffering() { - divActionBinder.handleActions(divView, resolver, div.bufferingActions, DivActionReason.VIDEO) + divActionBinder.handleActions(divView, div.bufferingActions, DivActionReason.VIDEO) } override fun onEnd() { - divActionBinder.handleActions(divView, resolver, div.endActions, DivActionReason.VIDEO) + divActionBinder.handleActions(divView, div.endActions, DivActionReason.VIDEO) } override fun onFatal() { - divActionBinder.handleActions(divView, resolver, div.fatalActions, DivActionReason.VIDEO) + divActionBinder.handleActions(divView, div.fatalActions, DivActionReason.VIDEO) } override fun onReady() { @@ -119,14 +117,14 @@ internal class DivVideoBinder @Inject constructor( if (div === oldDiv) { view.observeElapsedTime(div, divView, player) - view.observeMuted(div, resolver, player) - view.observeScale(div, resolver, playerView) + view.observeMuted(div, divView, player) + view.observeScale(div, divView, playerView) return } view.observeElapsedTime(div, divView, player) - view.observeMuted(div, resolver, player) - view.observeScale(div, resolver, playerView) + view.observeMuted(div, divView, player) + view.observeScale(div, divView, playerView) if (currentPreviewView == null && currentPlayerView == null) { view.removeAllViews() @@ -167,11 +165,11 @@ internal class DivVideoBinder @Inject constructor( private fun DivVideoView.observeMuted( div: DivVideo, - resolver: ExpressionResolver, + divView: Div2View, player: DivPlayer ) { addSubscription( - div.muted.observeAndGet(resolver) { + div.muted.observeAndGet(divView.expressionResolver) { player.setMuted(it) } ) @@ -179,11 +177,11 @@ internal class DivVideoBinder @Inject constructor( private fun DivVideoView.observeScale( div: DivVideo, - resolver: ExpressionResolver, + divView: Div2View, playerView: DivPlayerView ) { addSubscription( - div.scale.observeAndGet(resolver) { + div.scale.observeAndGet(divView.expressionResolver) { playerView.setScale(it) } ) diff --git a/client/android/div/src/main/java/com/yandex/div/core/view2/divs/PagerSelectedActionsDispatcher.kt b/client/android/div/src/main/java/com/yandex/div/core/view2/divs/PagerSelectedActionsDispatcher.kt index fe9652da6..979f36443 100644 --- a/client/android/div/src/main/java/com/yandex/div/core/view2/divs/PagerSelectedActionsDispatcher.kt +++ b/client/android/div/src/main/java/com/yandex/div/core/view2/divs/PagerSelectedActionsDispatcher.kt @@ -4,7 +4,7 @@ import androidx.annotation.VisibleForTesting import androidx.recyclerview.widget.RecyclerView import androidx.viewpager2.widget.ViewPager2 import com.yandex.div.core.DivActionHandler.DivActionReason -import com.yandex.div.core.view2.BindingContext +import com.yandex.div.core.view2.Div2View import com.yandex.div.internal.KLog import com.yandex.div2.Div import com.yandex.div2.DivPager @@ -15,7 +15,8 @@ private const val TAG = "Ya:PagerSelectedActionsTracker" * Responsible to dispatch item's `selected_actions` for [DivPager]. */ internal class PagerSelectedActionsDispatcher( - private val bindingContext: BindingContext, + private val divView: Div2View, + private val div: DivPager, private val divs: List
, private val divActionBinder: DivActionBinder ) { @@ -67,14 +68,9 @@ internal class PagerSelectedActionsDispatcher( private fun dispatchSelectedActions(div: Div) { div.value().selectedActions?.let { actions -> - bindingContext.divView.bulkActions { + divView.bulkActions { actions.forEach { action -> - divActionBinder.handleAction( - bindingContext.divView, - bindingContext.expressionResolver, - action, - DivActionReason.SELECTION - ) + divActionBinder.handleAction(divView, action, DivActionReason.SELECTION) } } } diff --git a/client/android/div/src/main/java/com/yandex/div/core/view2/divs/gallery/DivGalleryBinder.kt b/client/android/div/src/main/java/com/yandex/div/core/view2/divs/gallery/DivGalleryBinder.kt index a926bd21d..a6bcb324a 100644 --- a/client/android/div/src/main/java/com/yandex/div/core/view2/divs/gallery/DivGalleryBinder.kt +++ b/client/android/div/src/main/java/com/yandex/div/core/view2/divs/gallery/DivGalleryBinder.kt @@ -16,7 +16,7 @@ import com.yandex.div.core.state.GalleryState import com.yandex.div.core.state.UpdateStateScrollListener import com.yandex.div.core.util.doOnActualLayout import com.yandex.div.core.util.toIntSafely -import com.yandex.div.core.view2.BindingContext +import com.yandex.div.core.view2.Div2View import com.yandex.div.core.view2.DivBinder import com.yandex.div.core.view2.DivViewBinder import com.yandex.div.core.view2.DivViewCreator @@ -34,6 +34,7 @@ import com.yandex.div.core.view2.reuse.util.tryRebindRecycleContainerChildren import com.yandex.div.core.widget.DivViewWrapper import com.yandex.div.internal.core.nonNullItems import com.yandex.div.internal.widget.PaddingItemDecoration +import com.yandex.div.json.expressions.ExpressionResolver import com.yandex.div2.Div import com.yandex.div2.DivGallery import java.util.WeakHashMap @@ -51,24 +52,23 @@ internal class DivGalleryBinder @Inject constructor( ) : DivViewBinder { @SuppressLint("ClickableViewAccessibility") - override fun bindView(context: BindingContext, view: DivRecyclerView, div: DivGallery, path: DivStatePath) { - val divView = context.divView - val resolver = context.expressionResolver + override fun bindView(view: DivRecyclerView, div: DivGallery, divView: Div2View, path: DivStatePath) { + val resolver = divView.expressionResolver val oldDiv = (view as? DivRecyclerView)?.div if (div === oldDiv) { val adapter = view.adapter as GalleryAdapter - adapter.applyPatch(view, divPatchCache) + adapter.applyPatch(view, divPatchCache, divView) adapter.closeAllSubscription() adapter.subscribeOnElements() - view.bindStates(divView.rootDiv(), context, resolver, divBinder.get()) + view.bindStates(divView.rootDiv(), divView, resolver, divBinder.get()) return } - baseBinder.bindView(context, view, div, oldDiv) + baseBinder.bindView(view, div, oldDiv, divView) val reusableObserver = { _: Any -> - updateDecorations(view, div, context) + updateDecorations(view, div, divView, resolver) } view.addSubscription(div.orientation.observe(resolver, reusableObserver)) view.addSubscription(div.scrollbar.observe(resolver, reusableObserver)) @@ -86,22 +86,22 @@ internal class DivGalleryBinder @Inject constructor( view.overScrollMode = RecyclerView.OVER_SCROLL_NEVER val itemStateBinder = { itemView: View, _: Div -> - itemView.bindStates(divView.rootDiv(), context, resolver, divBinder.get()) + itemView.bindStates(divView.rootDiv(), divView, resolver, divBinder.get()) } view.adapter = - GalleryAdapter(div.nonNullItems, context, divBinder.get(), viewCreator, itemStateBinder, path) + GalleryAdapter(div.nonNullItems, divView, divBinder.get(), viewCreator, itemStateBinder, path) view.resetAnimatorAndRestoreOnLayout() - updateDecorations(view, div, context) + updateDecorations(view, div, divView, resolver) } private fun updateDecorations( view: DivRecyclerView, div: DivGallery, - context: BindingContext, + divView: Div2View, + resolver: ExpressionResolver, ) { val metrics = view.resources.displayMetrics - val resolver = context.expressionResolver val divOrientation = div.orientation.evaluate(resolver) val orientation = if (divOrientation == DivGallery.Orientation.HORIZONTAL) { RecyclerView.HORIZONTAL @@ -153,15 +153,15 @@ internal class DivGalleryBinder @Inject constructor( // DivGalleryItemHelper type with DivGridLayoutManager, resulting in // casting DivLinearLayoutManager to DivGridLayoutManager exception. val itemHelper: DivGalleryItemHelper = if (columnCount == 1L) { - DivLinearLayoutManager(context, view, div, orientation) + DivLinearLayoutManager(divView, view, div, orientation) } else { - DivGridLayoutManager(context, view, div, orientation) + DivGridLayoutManager(divView, view, div, orientation) } view.layoutManager = itemHelper.toLayoutManager() view.scrollInterceptionAngle = scrollInterceptionAngle view.clearOnScrollListeners() - context.divView.currentState?.let { state -> + divView.currentState?.let { state -> val id = div.id ?: div.hashCode().toString() val galleryState = state.getBlockState(id) as GalleryState? val position = galleryState?.visibleItemIndex @@ -170,7 +170,7 @@ internal class DivGalleryBinder @Inject constructor( view.scrollToPositionInternal(position, offset, scrollMode.toScrollPosition()) view.addOnScrollListener(UpdateStateScrollListener(id, state, itemHelper)) } - view.addOnScrollListener(ScrollListener(context, view, itemHelper, div)) + view.addOnScrollListener(ScrollListener(divView, view, itemHelper, div)) view.onInterceptTouchEventListener = if (div.restrictParentScroll.evaluate(resolver)) { ParentScrollRestrictor } else { @@ -218,13 +218,12 @@ internal class DivGalleryBinder @Inject constructor( } private class ScrollListener( - private val bindingContext: BindingContext, + private val divView: Div2View, private val recycler: DivRecyclerView, private val galleryItemHelper: DivGalleryItemHelper, private val galleryDiv: DivGallery, ) : RecyclerView.OnScrollListener() { - private val divView = bindingContext.divView private val minimumSignificantDx = divView.config.logCardScrollSignificantThreshold var totalDelta = 0 @@ -273,13 +272,13 @@ internal class DivGalleryBinder @Inject constructor( if (position == RecyclerView.NO_POSITION) return@forEach val div = (recycler.adapter as GalleryAdapter).items[position] - visibilityActionTracker.startTrackingViewsHierarchy(bindingContext, child, div) + visibilityActionTracker.startTrackingViewsHierarchy(divView, child, div) } // Find and track recycled views containing DisappearActions that are waiting for disappear with(visibilityActionTracker) { getDivWithWaitingDisappearActions().filter { it.key !in recycler.children }.forEach { (view, div) -> - trackDetachedView(bindingContext, view, div) + trackDetachedView(divView, view, div) } } } @@ -287,12 +286,12 @@ internal class DivGalleryBinder @Inject constructor( internal class GalleryAdapter( divs: List
, - private val bindingContext: BindingContext, + private val div2View: Div2View, private val divBinder: DivBinder, private val viewCreator: DivViewCreator, private val itemStateBinder: (itemView: View, div: Div) -> Unit, private val path: DivStatePath - ) : DivPatchableAdapter(divs, bindingContext) { + ) : DivPatchableAdapter(divs, div2View) { private val ids = WeakHashMap() private var lastItemId = 0L @@ -312,7 +311,7 @@ internal class DivGalleryBinder @Inject constructor( } override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): GalleryViewHolder { - val view = DivViewWrapper(bindingContext.divView.context) + val view = DivViewWrapper(div2View.context) return GalleryViewHolder(view, divBinder, viewCreator) } @@ -324,7 +323,7 @@ internal class DivGalleryBinder @Inject constructor( override fun getItemCount() = activeItems.size override fun onBindViewHolder(holder: GalleryViewHolder, position: Int) { - holder.bind(bindingContext, activeItems[position], path) + holder.bind(div2View, activeItems[position], path) holder.rootView.setTag(R.id.div_gallery_item_index, position) divBinder.attachIndicators() } @@ -338,22 +337,17 @@ internal class DivGalleryBinder @Inject constructor( var oldDiv: Div? = null - fun bind(context: BindingContext, div: Div, path: DivStatePath) { - val div2View = context.divView - val resolver = context.expressionResolver + fun bind(div2View: Div2View, div: Div, path: DivStatePath) { + val resolver = div2View.expressionResolver if (rootView.tryRebindRecycleContainerChildren(div2View, div)) { oldDiv = div return } - val divView = if (oldDiv != null && rootView.child != null && - DivComparator.areDivsReplaceable( - oldDiv, - div, - div2View.getExpressionResolver(oldDiv?.value()), - resolver - )) { + val divView = if (oldDiv != null + && rootView.child != null + && DivComparator.areDivsReplaceable(oldDiv, div, div2View.oldExpressionResolver, resolver)) { rootView.child!! } else { val newDivView = viewCreator.create(div, resolver) @@ -363,7 +357,7 @@ internal class DivGalleryBinder @Inject constructor( } oldDiv = div - divBinder.bind(context, divView, div, path) + divBinder.bind(divView, div, div2View, path) } } } diff --git a/client/android/div/src/main/java/com/yandex/div/core/view2/divs/gallery/DivGalleryItemHelper.kt b/client/android/div/src/main/java/com/yandex/div/core/view2/divs/gallery/DivGalleryItemHelper.kt index 688bc9e55..16f8148d7 100644 --- a/client/android/div/src/main/java/com/yandex/div/core/view2/divs/gallery/DivGalleryItemHelper.kt +++ b/client/android/div/src/main/java/com/yandex/div/core/view2/divs/gallery/DivGalleryItemHelper.kt @@ -10,7 +10,7 @@ import androidx.recyclerview.widget.OrientationHelper import androidx.recyclerview.widget.RecyclerView import com.yandex.div.R import com.yandex.div.core.util.doOnActualLayout -import com.yandex.div.core.view2.BindingContext +import com.yandex.div.core.view2.Div2View import com.yandex.div.core.widget.makeAtMostSpec import com.yandex.div.core.widget.makeExactSpec import com.yandex.div.core.widget.makeUnspecifiedSpec @@ -24,7 +24,7 @@ import com.yandex.div2.DivGallery import kotlin.math.min internal interface DivGalleryItemHelper { - val bindingContext: BindingContext + val divView: Div2View val view: RecyclerView val div: DivGallery val divItems: List
@@ -55,7 +55,7 @@ internal interface DivGalleryItemHelper { ) { val childDiv = runCatching { divItems[child.getTag(R.id.div_gallery_item_index) as Int].value() }.getOrNull() - val resolver = bindingContext.expressionResolver + val resolver = divView.expressionResolver val parentAlignment = div.crossContentAlignment val orientation = getLayoutManagerOrientation() @@ -226,12 +226,11 @@ internal interface DivGalleryItemHelper { val itemView = container.children.firstOrNull() ?: return val div = divItems[position] - val divView = bindingContext.divView if (clear) { - divView.div2Component.visibilityActionTracker.cancelTrackingViewsHierarchy(bindingContext, itemView, div) + divView.div2Component.visibilityActionTracker.cancelTrackingViewsHierarchy(divView, itemView, div) divView.unbindViewFromDiv(itemView) } else { - divView.div2Component.visibilityActionTracker.startTrackingViewsHierarchy(bindingContext, itemView, div) + divView.div2Component.visibilityActionTracker.startTrackingViewsHierarchy(divView, itemView, div) divView.bindViewToDiv(itemView, div) } } diff --git a/client/android/div/src/main/java/com/yandex/div/core/view2/divs/gallery/DivGridLayoutManager.kt b/client/android/div/src/main/java/com/yandex/div/core/view2/divs/gallery/DivGridLayoutManager.kt index d4098d00c..1f33dbf46 100644 --- a/client/android/div/src/main/java/com/yandex/div/core/view2/divs/gallery/DivGridLayoutManager.kt +++ b/client/android/div/src/main/java/com/yandex/div/core/view2/divs/gallery/DivGridLayoutManager.kt @@ -4,19 +4,19 @@ import android.view.View import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.StaggeredGridLayoutManager import com.yandex.div.core.util.toIntSafely -import com.yandex.div.core.view2.BindingContext +import com.yandex.div.core.view2.Div2View import com.yandex.div.core.view2.divs.dpToPx import com.yandex.div.internal.core.nonNullItems import com.yandex.div2.DivGallery import com.yandex.div2.DivSize internal class DivGridLayoutManager( - override val bindingContext: BindingContext, + override val divView: Div2View, override val view: RecyclerView, override val div: DivGallery, @RecyclerView.Orientation orientation: Int = RecyclerView.HORIZONTAL ) : StaggeredGridLayoutManager ( - div.columnCount?.evaluate(bindingContext.expressionResolver)?.toIntSafely() ?: 1, + div.columnCount?.evaluate(divView.expressionResolver)?.toIntSafely() ?: 1, orientation ), DivGalleryItemHelper { @@ -26,7 +26,7 @@ internal class DivGridLayoutManager( get() = (view.adapter as? DivGalleryBinder.GalleryAdapter)?.items ?: div.nonNullItems private val midPadding - get() = div.itemSpacing.evaluate(bindingContext.expressionResolver).dpToPx(view.resources.displayMetrics) + get() = div.itemSpacing.evaluate(divView.expressionResolver).dpToPx(view.resources.displayMetrics) override fun toLayoutManager() = this diff --git a/client/android/div/src/main/java/com/yandex/div/core/view2/divs/tabs/DivTabsAdapter.kt b/client/android/div/src/main/java/com/yandex/div/core/view2/divs/tabs/DivTabsAdapter.kt index 6c069e875..8d8b78b47 100644 --- a/client/android/div/src/main/java/com/yandex/div/core/view2/divs/tabs/DivTabsAdapter.kt +++ b/client/android/div/src/main/java/com/yandex/div/core/view2/divs/tabs/DivTabsAdapter.kt @@ -7,7 +7,7 @@ import com.yandex.div.core.downloader.DivPatchApply import com.yandex.div.core.downloader.DivPatchCache import com.yandex.div.core.state.DivStatePath import com.yandex.div.core.util.expressionSubscriber -import com.yandex.div.core.view2.BindingContext +import com.yandex.div.core.view2.Div2View import com.yandex.div.core.view2.DivBinder import com.yandex.div.core.view2.DivViewCreator import com.yandex.div.core.view2.divs.toLayoutParamsSize @@ -29,7 +29,7 @@ internal class DivTabsAdapter( tabbedCardConfig: TabbedCardConfig, heightCalculatorFactory: HeightCalculatorFactory, val isDynamicHeight: Boolean, - private val bindingContext: BindingContext, + private val div2View: Div2View, textStyleProvider: TabTextStyleProvider, private val viewCreator: DivViewCreator, private val divBinder: DivBinder, @@ -49,7 +49,7 @@ internal class DivTabsAdapter( private val tabModels = mutableMapOf() fun setData(data: Input, selectedTab: Int) { - super.setData(data, bindingContext.expressionResolver, bindingContext.divView.expressionSubscriber) + super.setData(data, div2View.expressionResolver, div2View.expressionSubscriber) tabModels.clear() mPager.setCurrentItem(selectedTab, true) } @@ -59,10 +59,10 @@ internal class DivTabsAdapter( tab: DivSimpleTab, tabNumber: Int ): ViewGroup { - tabView.releaseAndRemoveChildren(bindingContext.divView) + tabView.releaseAndRemoveChildren(div2View) val itemDiv = tab.item.div - val itemView = createItemView(itemDiv, bindingContext.expressionResolver) + val itemView = createItemView(itemDiv, div2View.expressionResolver) tabModels[tabView] = TabModel(tabNumber, itemDiv, itemView) tabView.addView(itemView) @@ -71,12 +71,12 @@ internal class DivTabsAdapter( override fun unbindTabData(tabView: ViewGroup) { tabModels.remove(tabView) - tabView.releaseAndRemoveChildren(bindingContext.divView) + tabView.releaseAndRemoveChildren(div2View) } override fun fillMeasuringTab(tabView: ViewGroup, tab: DivSimpleTab, tabNumber: Int) { - tabView.releaseAndRemoveChildren(bindingContext.divView) - val itemView = createItemView(tab.item.div, bindingContext.expressionResolver) + tabView.releaseAndRemoveChildren(div2View) + val itemView = createItemView(tab.item.div, div2View.expressionResolver) tabView.addView(itemView) } @@ -87,23 +87,23 @@ internal class DivTabsAdapter( ViewGroup.LayoutParams.MATCH_PARENT ) } - divBinder.bind(bindingContext, itemView, div, path) + divBinder.bind(itemView, div, div2View, path) return itemView } fun notifyStateChanged() { tabModels.forEach { (tabView, tabModel) -> - divBinder.bind(bindingContext, tabModel.view, tabModel.div, path) + divBinder.bind(tabModel.view, tabModel.div, div2View, path) // ... and a little bit of a magic tabView.requestLayout() } } fun applyPatch(resolver: ExpressionResolver, div: DivTabs): DivTabs? { - val patchMap = divPatchCache.getPatch(bindingContext.divView.dataTag) ?: return null + val patchMap = divPatchCache.getPatch(div2View.dataTag) ?: return null val newTabs = DivPatchApply(patchMap).applyPatchForDiv(Div.Tabs(div), resolver)[0].value() as DivTabs - val displayMetrics = bindingContext.divView.resources.displayMetrics + val displayMetrics = div2View.resources.displayMetrics val list = newTabs.items.map { DivSimpleTab(it, displayMetrics, resolver) } setData ({ list }, mPager.currentItem) return newTabs diff --git a/client/android/div/src/main/java/com/yandex/div/core/view2/divs/tabs/DivTabsBinder.kt b/client/android/div/src/main/java/com/yandex/div/core/view2/divs/tabs/DivTabsBinder.kt index 68a28be0d..52ae534f5 100644 --- a/client/android/div/src/main/java/com/yandex/div/core/view2/divs/tabs/DivTabsBinder.kt +++ b/client/android/div/src/main/java/com/yandex/div/core/view2/divs/tabs/DivTabsBinder.kt @@ -14,7 +14,7 @@ import com.yandex.div.core.font.DivTypefaceType import com.yandex.div.core.state.DivStatePath import com.yandex.div.core.util.expressionSubscriber import com.yandex.div.core.util.toIntSafely -import com.yandex.div.core.view2.BindingContext +import com.yandex.div.core.view2.Div2View import com.yandex.div.core.view2.DivBinder import com.yandex.div.core.view2.DivViewCreator import com.yandex.div.core.view2.DivVisibilityActionTracker @@ -69,9 +69,9 @@ internal class DivTabsBinder @Inject constructor( viewPool.register(TAG_TAB_ITEM, { TabItemLayout(context) }, 2) } - fun bindView(context: BindingContext, view: DivTabsLayout, div: DivTabs, divBinder: DivBinder, path: DivStatePath) { + fun bindView(view: DivTabsLayout, div: DivTabs, divView: Div2View, divBinder: DivBinder, path: DivStatePath) { val oldDiv = view.div - val resolver = context.expressionResolver + val resolver = divView.expressionResolver if (oldDiv === div) { view.divTabsAdapter?.applyPatch(resolver, div)?.let { view.div = it @@ -79,8 +79,7 @@ internal class DivTabsBinder @Inject constructor( } } - val divView = context.divView - baseBinder.bindView(context, view, div, oldDiv) + baseBinder.bindView(view, div, oldDiv, divView) view.clipToPadding = false @@ -107,7 +106,7 @@ internal class DivTabsBinder @Inject constructor( }) view.titleLayout.setOnScrollChangedListener { div2Logger.logTabTitlesScroll(divView) } - bindAdapter(path, context, view, oldDiv, div, divBinder, view) + bindAdapter(path, divView, view, oldDiv, div, divBinder, resolver, view) view.addSubscription(div.restrictParentScroll.observeAndGet(resolver) { restrictScroll -> view.viewPager.onInterceptTouchEventListener = if (restrictScroll) { @@ -120,18 +119,18 @@ internal class DivTabsBinder @Inject constructor( private fun bindAdapter( path: DivStatePath, - bindingContext: BindingContext, + divView: Div2View, view: DivTabsLayout, oldDiv: DivTabs?, div: DivTabs, divBinder: DivBinder, + resolver: ExpressionResolver, subscriber: ExpressionSubscriber ) { - val resolver = bindingContext.expressionResolver val list = div.items.map { DivSimpleTab(it, view.resources.displayMetrics, resolver) } fun setupNewAdapter(selectedTab: Int) { - val divTabsUi = createAdapter(bindingContext, div, view, divBinder, path) + val divTabsUi = createAdapter(divView, div, resolver, view, divBinder, path) divTabsUi.setData({ list }, selectedTab) view.divTabsAdapter = divTabsUi } @@ -179,7 +178,6 @@ internal class DivTabsBinder @Inject constructor( subscriber.addSubscription(div.selectedTab.observe(resolver, selectTab)) - val divView = bindingContext.divView val isDataTagTheSame = divView.prevDataTag == DivDataTag.INVALID || divView.dataTag == divView.prevDataTag @@ -200,16 +198,15 @@ internal class DivTabsBinder @Inject constructor( }) } - private fun createAdapter( - bindingContext: BindingContext, - div: DivTabs, - view: DivTabsLayout, - divBinder: DivBinder, - path: DivStatePath, + private fun createAdapter(divView: Div2View, + div: DivTabs, + resolver: ExpressionResolver, + view: DivTabsLayout, + divBinder: DivBinder, + path: DivStatePath, ): DivTabsAdapter { - val eventManager = - DivTabsEventManager(bindingContext, actionBinder, div2Logger, visibilityActionTracker, view, div) - val isDynamicHeight = div.dynamicHeight.evaluate(bindingContext.expressionResolver) + val eventManager = DivTabsEventManager(divView, actionBinder, div2Logger, visibilityActionTracker, view, div) + val isDynamicHeight = div.dynamicHeight.evaluate(resolver) val heightCalculatorFactory = if (isDynamicHeight) { HeightCalculatorFactory(::DynamicCardHeightCalculator) } else { @@ -225,7 +222,7 @@ internal class DivTabsBinder @Inject constructor( } return DivTabsAdapter( viewPool, view, getTabbedCardLayoutIds(), heightCalculatorFactory, isDynamicHeight, - bindingContext, textStyleProvider, viewCreator, divBinder, + divView, textStyleProvider, viewCreator, divBinder, eventManager, path, divPatchCache ) @@ -238,10 +235,10 @@ internal class DivTabsBinder @Inject constructor( private fun TabTitlesLayoutView<*>.observeHeight(div: DivTabs, resolver: ExpressionResolver) { val applyHeight = { _: Any? -> val tabTitleStyle = div.tabTitleStyle ?: DEFAULT_TAB_TITLE_STYLE - val textPaddings = tabTitleStyle.paddings + val textPaddings = tabTitleStyle?.paddings val layoutPaddings = div.titlePaddings val lineHeight = tabTitleStyle.lineHeight?.evaluate(resolver) - ?: (tabTitleStyle.fontSize.evaluate(resolver) * DEFAULT_LINE_HEIGHT_COEFFICIENT).toLong() + ?: (tabTitleStyle?.fontSize?.evaluate(resolver) * DEFAULT_LINE_HEIGHT_COEFFICIENT).toLong() val height = lineHeight + textPaddings.top.evaluate(resolver) + textPaddings.bottom.evaluate(resolver) + layoutPaddings.top.evaluate(resolver) + layoutPaddings.bottom.evaluate(resolver) val metrics = resources.displayMetrics diff --git a/client/android/div/src/main/java/com/yandex/div/core/view2/divs/tabs/DivTabsEventManager.kt b/client/android/div/src/main/java/com/yandex/div/core/view2/divs/tabs/DivTabsEventManager.kt index 6c7bfd688..eb3ac088c 100644 --- a/client/android/div/src/main/java/com/yandex/div/core/view2/divs/tabs/DivTabsEventManager.kt +++ b/client/android/div/src/main/java/com/yandex/div/core/view2/divs/tabs/DivTabsEventManager.kt @@ -3,7 +3,7 @@ package com.yandex.div.core.view2.divs.tabs import androidx.viewpager.widget.ViewPager import com.yandex.div.core.Div2Logger import com.yandex.div.core.DivActionHandler.DivActionReason -import com.yandex.div.core.view2.BindingContext +import com.yandex.div.core.view2.Div2View import com.yandex.div.core.view2.DivVisibilityActionTracker import com.yandex.div.core.view2.divs.DivActionBinder import com.yandex.div.internal.KLog @@ -13,7 +13,7 @@ import com.yandex.div2.DivAction import com.yandex.div2.DivTabs internal class DivTabsEventManager( - private val context: BindingContext, + private val div2View: Div2View, private val actionBinder: DivActionBinder, private val div2Logger: Div2Logger, private val visibilityActionTracker: DivVisibilityActionTracker, @@ -30,7 +30,7 @@ internal class DivTabsEventManager( override fun onPageScrolled(position: Int, positionOffset: Float, positionOffsetPixels: Int) = Unit override fun onPageSelected(position: Int) { - div2Logger.logTabPageChanged(context.divView, position) + div2Logger.logTabPageChanged(div2View, position) onPageDisplayed(position) } @@ -44,13 +44,13 @@ internal class DivTabsEventManager( // This assumption is safe as long as we display only one page in ViewPager. if (currentPagePosition != NO_POSITION) { val previousTab = div.items[currentPagePosition] - visibilityActionTracker.cancelTrackingViewsHierarchy(context, viewPager, previousTab.div) - context.divView.unbindViewFromDiv(viewPager) + visibilityActionTracker.cancelTrackingViewsHierarchy(div2View, viewPager, previousTab.div) + div2View.unbindViewFromDiv(viewPager) } val selectedTab = div.items[position] - visibilityActionTracker.startTrackingViewsHierarchy(context, viewPager, selectedTab.div) - context.divView.bindViewToDiv(viewPager, selectedTab.div) + visibilityActionTracker.startTrackingViewsHierarchy(div2View, viewPager, selectedTab.div) + div2View.bindViewToDiv(viewPager, selectedTab.div) currentPagePosition = position } @@ -60,8 +60,8 @@ internal class DivTabsEventManager( // TODO(MORDAANDROID-90): handle case with menuItems != null KLog.w(TAG) { "non-null menuItems ignored in title click action" } } - div2Logger.logActiveTabTitleClick(context.divView, tabPosition, action) - actionBinder.handleAction(context.divView, context.expressionResolver, action, DivActionReason.CLICK) + div2Logger.logActiveTabTitleClick(div2View, tabPosition, action) + actionBinder.handleAction(div2View, action, DivActionReason.CLICK) } private companion object { diff --git a/client/android/div/src/main/java/com/yandex/div/core/view2/reuse/ExistingToken.kt b/client/android/div/src/main/java/com/yandex/div/core/view2/reuse/ExistingToken.kt index 1acc597c0..71bb32cdc 100644 --- a/client/android/div/src/main/java/com/yandex/div/core/view2/reuse/ExistingToken.kt +++ b/client/android/div/src/main/java/com/yandex/div/core/view2/reuse/ExistingToken.kt @@ -6,7 +6,6 @@ import com.yandex.div.core.view2.divs.DivPatchableAdapter import com.yandex.div.core.view2.divs.widgets.DivPagerView import com.yandex.div.core.view2.divs.widgets.DivRecyclerView import com.yandex.div.core.view2.divs.widgets.DivStateLayout -import com.yandex.div.internal.core.DivItemBuilderResult import com.yandex.div.internal.core.buildItems import com.yandex.div.internal.core.nonNullItems import com.yandex.div.json.expressions.ExpressionResolver @@ -17,14 +16,14 @@ import com.yandex.div2.DivGrid import com.yandex.div2.DivPager internal class ExistingToken( - item: DivItemBuilderResult, + div: Div, val view: View, override val parentToken: ExistingToken?, childIndex: Int, -) : Token(item, parentToken, childIndex) { +) : Token(div, parentToken, childIndex) { - override fun getChildrenTokens(): List { - return when (val div = item.div) { + override fun getChildrenTokens(resolver: ExpressionResolver): List { + return when (this.div) { is Div.Text -> emptyList() is Div.Image -> emptyList() is Div.GifImage -> emptyList() @@ -35,12 +34,12 @@ internal class ExistingToken( is Div.Custom -> emptyList() is Div.Select -> emptyList() is Div.Video -> emptyList() - is Div.Container -> itemsToExistingTokenList(div.value, item.expressionResolver) - is Div.Grid -> itemsToExistingTokenList(div.value, item.expressionResolver) - is Div.Gallery -> itemsToExistingTokenList(div.value, item.expressionResolver) - is Div.Pager -> itemsToExistingTokenList(div.value, item.expressionResolver) + is Div.Container -> itemsToExistingTokenList(this.div.value, resolver) + is Div.Grid -> itemsToExistingTokenList(this.div.value) + is Div.Gallery -> itemsToExistingTokenList(this.div.value) + is Div.Pager -> itemsToExistingTokenList(this.div.value) is Div.Tabs -> emptyList() // Not supported yet. Only full rebind - is Div.State -> itemsToExistingTokenList(item.expressionResolver) + is Div.State -> itemsToExistingTokenList() } } @@ -51,16 +50,16 @@ internal class ExistingToken( return simpleItemsToExistingTokenList(div.buildItems(resolver)) } - private fun itemsToExistingTokenList(div: DivGrid, resolver: ExpressionResolver): List { - return simpleItemsToExistingTokenList(div.nonNullItems.map { DivItemBuilderResult(it, resolver) }) + private fun itemsToExistingTokenList(div: DivGrid): List { + return simpleItemsToExistingTokenList(div.nonNullItems) } - private fun itemsToExistingTokenList(resolver: ExpressionResolver): List { + private fun itemsToExistingTokenList(): List { val stateDiv = (view as? DivStateLayout)?.activeStateDiv ?: return emptyList() - return simpleItemsToExistingTokenList(listOf(stateDiv).map { DivItemBuilderResult(it, resolver) }) + return simpleItemsToExistingTokenList(listOf(stateDiv)) } - private fun itemsToExistingTokenList(div: DivPager, resolver: ExpressionResolver): List { + private fun itemsToExistingTokenList(div: DivPager): List { val tokens = mutableListOf() val pager = (view as? DivPagerView)?.viewPager ?: return emptyList() val adapter = (pager.adapter as? DivPatchableAdapter) ?: return emptyList() @@ -72,7 +71,7 @@ internal class ExistingToken( val childViewIndex = activeHashes.indexOf(newItem.hash()) val targetView = view.getPageView(childViewIndex) ?: return@forEachIndexed val token = ExistingToken( - item = DivItemBuilderResult(newItem, resolver), + div = newItem, view = targetView, childIndex = index, parentToken = this, @@ -84,7 +83,7 @@ internal class ExistingToken( return tokens } - private fun itemsToExistingTokenList(div: DivGallery, resolver: ExpressionResolver): List { + private fun itemsToExistingTokenList(div: DivGallery): List { val tokens = mutableListOf() val adapter = ((view as? DivRecyclerView)?.adapter as? DivPatchableAdapter) ?: return emptyList() val activeItems = adapter.activeItems @@ -94,7 +93,7 @@ internal class ExistingToken( if (newItem.hash() in activeHashes) { val targetView = view.getItemView(index) ?: return@forEachIndexed val token = ExistingToken( - item = DivItemBuilderResult(newItem, resolver), + div = newItem, view = targetView, childIndex = index, parentToken = this, @@ -106,11 +105,11 @@ internal class ExistingToken( return tokens } - private fun simpleItemsToExistingTokenList(items: List): List { + private fun simpleItemsToExistingTokenList(items: List
): List { val tokens = mutableListOf() items.forEachIndexed { index, item -> val token = ExistingToken( - item = item, + div = item, view = (view as? ViewGroup)?.getChildAt(index) ?: return emptyList(), childIndex = index, parentToken = this, diff --git a/client/android/div/src/main/java/com/yandex/div/core/view2/reuse/NewToken.kt b/client/android/div/src/main/java/com/yandex/div/core/view2/reuse/NewToken.kt index 3662dfe60..6bf8869d2 100644 --- a/client/android/div/src/main/java/com/yandex/div/core/view2/reuse/NewToken.kt +++ b/client/android/div/src/main/java/com/yandex/div/core/view2/reuse/NewToken.kt @@ -1,20 +1,20 @@ package com.yandex.div.core.view2.reuse import com.yandex.div.core.util.getDefaultState -import com.yandex.div.internal.core.DivItemBuilderResult import com.yandex.div.internal.core.buildItems import com.yandex.div.internal.core.nonNullItems +import com.yandex.div.json.expressions.ExpressionResolver import com.yandex.div2.Div internal class NewToken( - item: DivItemBuilderResult, + div: Div, override val parentToken: NewToken?, childIndex: Int, var lastExistingParent: ExistingToken?, -) : Token(item, parentToken, childIndex) { +) : Token(div, parentToken, childIndex) { - override fun getChildrenTokens(): List { - return when (val div = item.div) { + override fun getChildrenTokens(resolver: ExpressionResolver): List { + return when (this.div) { is Div.Text -> listOf() is Div.Image -> listOf() is Div.GifImage -> listOf() @@ -25,27 +25,23 @@ internal class NewToken( is Div.Custom -> listOf() is Div.Select -> listOf() is Div.Video -> listOf() - is Div.Container -> itemsToNewTokenList(div.value.buildItems(item.expressionResolver)) - is Div.Grid -> - itemsToNewTokenList(div.value.nonNullItems.map { DivItemBuilderResult(it, item.expressionResolver) }) - is Div.Gallery -> - itemsToNewTokenList(div.value.nonNullItems.map { DivItemBuilderResult(it, item.expressionResolver) }) - is Div.Pager -> - itemsToNewTokenList(div.value.nonNullItems.map { DivItemBuilderResult(it, item.expressionResolver) }) - is Div.Tabs -> - itemsToNewTokenList(div.value.items.map { DivItemBuilderResult(it.div, item.expressionResolver) }) + is Div.Container -> itemsToNewTokenList(this.div.value.buildItems(resolver)) + is Div.Grid -> itemsToNewTokenList(this.div.value.nonNullItems) + is Div.Gallery -> itemsToNewTokenList(this.div.value.nonNullItems) + is Div.Pager -> itemsToNewTokenList(this.div.value.nonNullItems) + is Div.Tabs -> itemsToNewTokenList(this.div.value.items.map { it.div }) is Div.State -> { - val stateToBindDiv = div.value.getDefaultState(item.expressionResolver)?.div ?: return listOf() - itemsToNewTokenList(listOf(stateToBindDiv).map { DivItemBuilderResult(it, item.expressionResolver) }) + val stateToBindDiv = this.div.value.getDefaultState(resolver)?.div ?: return listOf() + itemsToNewTokenList(listOf(stateToBindDiv)) } } } - private fun itemsToNewTokenList(items: List): List { + private fun itemsToNewTokenList(items: List
): List { val tokens = mutableListOf() items.forEachIndexed { index, item -> val token = NewToken( - item = item, + div = item, childIndex = index, parentToken = this, lastExistingParent = this.lastExistingParent, diff --git a/client/android/div/src/main/java/com/yandex/div/core/view2/reuse/RebindTask.kt b/client/android/div/src/main/java/com/yandex/div/core/view2/reuse/RebindTask.kt index 9af120a0c..b0040b4d0 100644 --- a/client/android/div/src/main/java/com/yandex/div/core/view2/reuse/RebindTask.kt +++ b/client/android/div/src/main/java/com/yandex/div/core/view2/reuse/RebindTask.kt @@ -8,7 +8,6 @@ import com.yandex.div.core.view2.DivBinder import com.yandex.div.core.view2.reuse.util.combineTokens import com.yandex.div.core.view2.reuse.util.logRebindDiff import com.yandex.div.internal.Log -import com.yandex.div.internal.core.DivItemBuilderResult import com.yandex.div.json.expressions.ExpressionResolver import com.yandex.div2.DivData @@ -56,16 +55,14 @@ internal class RebindTask( newDivData: DivData, rootView: ViewGroup, ): Boolean { - val existingItem = div2View.stateToBind(oldDivData)?.div ?: return false val existingToken = ExistingToken( - item = DivItemBuilderResult(existingItem, resolver), + div = div2View.stateToBind(oldDivData)?.div ?: return false, view = rootView, childIndex = 0, parentToken = null, ) - val newItem = div2View.stateToBind(newDivData)?.div ?: return false val newToken = NewToken( - item = DivItemBuilderResult(newItem, newResolver), + div = div2View.stateToBind(newDivData)?.div ?: return false, childIndex = 0, parentToken = null, lastExistingParent = null, @@ -95,10 +92,10 @@ internal class RebindTask( val combinedToken = combineTokens(existingToken, newToken) newToken.lastExistingParent = combinedToken - val aloneNewChild = newToken.getChildrenTokens().toMutableList() + val aloneNewChild = newToken.getChildrenTokens(newResolver).toMutableList() val aloneExistingChild = mutableListOf() - existingToken.getChildrenTokens().forEach { existingChild -> + existingToken.getChildrenTokens(resolver).forEach { existingChild -> val newChildWithSameHash = aloneNewChild.find { it.divHash == existingChild.divHash } if (newChildWithSameHash != null) { @@ -126,7 +123,7 @@ internal class RebindTask( private fun doNodeInExistingMode(token: ExistingToken) { aloneExisting.add(token) - token.getChildrenTokens().forEach { + token.getChildrenTokens(resolver).forEach { doNodeInExistingMode(it) } } @@ -139,7 +136,7 @@ internal class RebindTask( doNodeInSameMode(existingWithSameHash, token) } else { aloneNew.add(token) - token.getChildrenTokens().forEach { + token.getChildrenTokens(newResolver).forEach { doNodeInNewMode(it) } } @@ -159,7 +156,7 @@ internal class RebindTask( bindingPoints.forEach { if (bindingPoints.contains(it.parentToken)) return@forEach - divBinder.bind(div2View.getBindingContext(it.item.div.value()), it.view, it.item.div, path) + divBinder.bind(it.view, it.div, div2View, path) } clear() diff --git a/client/android/div/src/main/java/com/yandex/div/core/view2/reuse/Token.kt b/client/android/div/src/main/java/com/yandex/div/core/view2/reuse/Token.kt index dd49c3015..976d421ec 100644 --- a/client/android/div/src/main/java/com/yandex/div/core/view2/reuse/Token.kt +++ b/client/android/div/src/main/java/com/yandex/div/core/view2/reuse/Token.kt @@ -1,13 +1,14 @@ package com.yandex.div.core.view2.reuse -import com.yandex.div.internal.core.DivItemBuilderResult +import com.yandex.div.json.expressions.ExpressionResolver +import com.yandex.div2.Div internal abstract class Token( - val item: DivItemBuilderResult, + val div: Div, open val parentToken: Token?, val childIndex: Int, ) { - val divHash: Int = item.div.propertiesHash() + val divHash: Int = div.propertiesHash() - abstract fun getChildrenTokens(): List + abstract fun getChildrenTokens(resolver: ExpressionResolver): List } diff --git a/client/android/div/src/main/java/com/yandex/div/core/view2/reuse/util/RebindLogUtils.kt b/client/android/div/src/main/java/com/yandex/div/core/view2/reuse/util/RebindLogUtils.kt index b9ccbe4dc..90ab76674 100644 --- a/client/android/div/src/main/java/com/yandex/div/core/view2/reuse/util/RebindLogUtils.kt +++ b/client/android/div/src/main/java/com/yandex/div/core/view2/reuse/util/RebindLogUtils.kt @@ -23,22 +23,22 @@ internal fun logRebindDiff( """.trimIndent() ) bindingPoints.forEach { - it.item.div.printSelf(reusableList, bindingPoints, log) + it.div.printSelf(reusableList, bindingPoints, log) } log.appendLine("\nreuse [${reusableList.count()}]: ") reusableList.asList().forEach { - it.item.div.printSelf(reusableList, bindingPoints, log) + it.div.printSelf(reusableList, bindingPoints, log) } log.appendLine("\nremoved [${aloneExisting.count()}]: ") aloneExisting.forEach { - it.item.div.printSelf(reusableList, bindingPoints, log) + it.div.printSelf(reusableList, bindingPoints, log) } log.appendLine("\nnew [${aloneNew.count()}]: ") aloneNew.forEach { - it.item.div.printSelf(reusableList, bindingPoints, log) + it.div.printSelf(reusableList, bindingPoints, log) } log.appendLine("-----------") diff --git a/client/android/div/src/main/java/com/yandex/div/core/view2/reuse/util/RebindTokenUtils.kt b/client/android/div/src/main/java/com/yandex/div/core/view2/reuse/util/RebindTokenUtils.kt index 689127d46..da3459758 100644 --- a/client/android/div/src/main/java/com/yandex/div/core/view2/reuse/util/RebindTokenUtils.kt +++ b/client/android/div/src/main/java/com/yandex/div/core/view2/reuse/util/RebindTokenUtils.kt @@ -7,7 +7,7 @@ internal fun combineTokens( existingToken: ExistingToken, newToken: NewToken, ) = ExistingToken( - item = newToken.item, + div = newToken.div, view = existingToken.view, parentToken = existingToken.parentToken, childIndex = newToken.childIndex, diff --git a/client/android/div/src/main/java/com/yandex/div/core/view2/reuse/util/RebindUtils.kt b/client/android/div/src/main/java/com/yandex/div/core/view2/reuse/util/RebindUtils.kt index 5e43c4509..0eeb34769 100644 --- a/client/android/div/src/main/java/com/yandex/div/core/view2/reuse/util/RebindUtils.kt +++ b/client/android/div/src/main/java/com/yandex/div/core/view2/reuse/util/RebindUtils.kt @@ -3,7 +3,6 @@ package com.yandex.div.core.view2.reuse.util import android.view.ViewGroup import com.yandex.div.core.view2.Div2View import com.yandex.div.core.view2.DivViewCreator -import com.yandex.div.internal.core.DivItemBuilderResult import com.yandex.div2.Div import javax.inject.Provider @@ -19,15 +18,15 @@ internal fun ViewGroup.tryRebindRecycleContainerChildren( internal fun ViewGroup.tryRebindPlainContainerChildren( div2View: Div2View, - items: List, + items: List
, divViewCreator: Provider ): Boolean { val reusableList = div2View.currentRebindReusableList ?: return false removeAllViews() for(item in items) { - val foundReusable = reusableList.getUniqueViewForDiv(item.div) - val viewToAdd = foundReusable ?: divViewCreator.get().create(item.div, item.expressionResolver) + val foundReusable = reusableList.getUniqueViewForDiv(item) + val viewToAdd = foundReusable ?: divViewCreator.get().create(item, div2View.expressionResolver) addView(viewToAdd) } diff --git a/client/android/div/src/main/java/com/yandex/div/core/view2/state/DivJoinedStateSwitcher.kt b/client/android/div/src/main/java/com/yandex/div/core/view2/state/DivJoinedStateSwitcher.kt index 8a8fd99c6..da31a2315 100644 --- a/client/android/div/src/main/java/com/yandex/div/core/view2/state/DivJoinedStateSwitcher.kt +++ b/client/android/div/src/main/java/com/yandex/div/core/view2/state/DivJoinedStateSwitcher.kt @@ -37,7 +37,7 @@ internal class DivJoinedStateSwitcher @Inject constructor( path = commonPath } } - divBinder.bind(divView.getBindingContext(div.value()), view, div, path.parentState()) + divBinder.bind(view, div, divView, path.parentState()) divBinder.attachIndicators() } diff --git a/client/android/div/src/main/java/com/yandex/div/core/view2/state/DivMultipleStateSwitcher.kt b/client/android/div/src/main/java/com/yandex/div/core/view2/state/DivMultipleStateSwitcher.kt index d4681c182..cf401562d 100644 --- a/client/android/div/src/main/java/com/yandex/div/core/view2/state/DivMultipleStateSwitcher.kt +++ b/client/android/div/src/main/java/com/yandex/div/core/view2/state/DivMultipleStateSwitcher.kt @@ -28,12 +28,12 @@ internal class DivMultipleStateSwitcher @Inject constructor( rootView.tryFindStateDivAndLayout(state, path, resolver) ?: return if (viewByPath != null && viewByPath !in boundLayouts) { - divBinder.bind(divView.getBindingContext(divByPath.value()), viewByPath, divByPath, path.parentState()) + divBinder.bind(viewByPath, divByPath, divView, path.parentState()) boundLayouts += viewByPath } } if (boundLayouts.isEmpty()) { - divBinder.bind(divView.bindingContext, rootView, rootDiv, DivStatePath.fromState(state.stateId)) + divBinder.bind(rootView, rootDiv, divView, DivStatePath.fromState(state.stateId)) } divBinder.attachIndicators() diff --git a/client/android/div/src/main/java/com/yandex/div/internal/core/DivCollectionExtensions.kt b/client/android/div/src/main/java/com/yandex/div/internal/core/DivCollectionExtensions.kt index 7af63eada..72f924135 100644 --- a/client/android/div/src/main/java/com/yandex/div/internal/core/DivCollectionExtensions.kt +++ b/client/android/div/src/main/java/com/yandex/div/internal/core/DivCollectionExtensions.kt @@ -1,72 +1,13 @@ package com.yandex.div.internal.core -import com.yandex.div.core.expression.ExpressionResolverImpl -import com.yandex.div.core.expression.variables.VariableSource -import com.yandex.div.data.Variable -import com.yandex.div.internal.util.forEach import com.yandex.div.json.expressions.ExpressionResolver import com.yandex.div2.Div -import com.yandex.div2.DivCollectionItemBuilder import com.yandex.div2.DivContainer import com.yandex.div2.DivGallery import com.yandex.div2.DivGrid import com.yandex.div2.DivPager -import org.json.JSONObject -fun DivContainer.buildItems(resolver: ExpressionResolver): List = - items?.map { DivItemBuilderResult(it, resolver) } ?: itemBuilder?.build(resolver) ?: emptyList() - -private fun DivCollectionItemBuilder.build( - resolver: ExpressionResolver -): List { - result?.let { return it } - - val result = mutableListOf() - data.evaluate(resolver).forEach { _, json: JSONObject -> - buildItem(json, resolver)?.let { result.add(it) } - } - return result -} - -internal fun DivCollectionItemBuilder.buildItem( - data: JSONObject, - resolver: ExpressionResolver, -): DivItemBuilderResult? { - val localVariableSource = VariableSource( - mapOf(dataElementName to Variable.DictVariable(dataElementName, data)), - {}, - mutableListOf() - ) - val newResolver = (resolver as? ExpressionResolverImpl)?.plus(localVariableSource) ?: resolver - val prototype = prototypes.find { it.selector.evaluate(newResolver) }?.div ?: return null - return DivItemBuilderResult(prototype.copy(), newResolver) -} - -private fun Div.copy(): Div { - return when (this) { - is Div.Image -> Div.Image(value.copy()) - is Div.GifImage -> Div.GifImage(value.copy()) - is Div.Text -> Div.Text(value.copy()) - is Div.Separator -> Div.Separator(value.copy()) - is Div.Container -> Div.Container(value.copy( - itemBuilder = value.itemBuilder?.copy(), - items = value.items?.map { it.copy() }, - )) - is Div.Grid -> Div.Grid(value.copy(items = value.items?.map { it.copy() })) - is Div.Gallery -> Div.Gallery(value.copy(items = value.items?.map { it.copy() })) - is Div.Pager -> Div.Pager(value.copy(items = value.items?.map { it.copy() })) - is Div.Tabs -> Div.Tabs(value.copy(items = value.items.map { it.copy(div = it.div.copy()) })) - is Div.State -> Div.State(value.copy(states = value.states.map { it.copy(div = it.div?.copy()) })) - is Div.Custom -> Div.Custom(value.copy()) - is Div.Indicator -> Div.Indicator(value.copy()) - is Div.Slider -> Div.Slider(value.copy()) - is Div.Input -> Div.Input(value.copy()) - is Div.Select -> Div.Select(value.copy()) - is Div.Video -> Div.Video(value.copy()) - } -} - -val DivContainer.nonNullItems: List
get() = items ?: emptyList() +fun DivContainer.buildItems(resolver: ExpressionResolver) = items ?: emptyList() val DivGallery.nonNullItems: List
get() = items ?: emptyList() diff --git a/client/android/div/src/test/java/com/yandex/div/core/expression/ExpressionResolverImplTest.kt b/client/android/div/src/test/java/com/yandex/div/core/expression/ExpressionResolverImplTest.kt index dc22481e3..6df0e101d 100644 --- a/client/android/div/src/test/java/com/yandex/div/core/expression/ExpressionResolverImplTest.kt +++ b/client/android/div/src/test/java/com/yandex/div/core/expression/ExpressionResolverImplTest.kt @@ -1,7 +1,7 @@ package com.yandex.div.core.expression import com.yandex.div.core.expression.variables.GlobalVariableController -import com.yandex.div.core.expression.variables.VariableControllerImpl +import com.yandex.div.core.expression.variables.VariableController import com.yandex.div.core.util.EnableAssertsRule import com.yandex.div.data.Variable import com.yandex.div.evaluable.EvaluationContext @@ -56,7 +56,7 @@ class ExpressionResolverImplTest { private val globalVariableController = GlobalVariableController().apply { declare(*globalVariables.values.toTypedArray()) } - private val externalVariables = VariableControllerImpl().apply { + private val externalVariables = VariableController().apply { variables.values.forEach { declare(it) } @@ -78,7 +78,7 @@ class ExpressionResolverImplTest { private val withFuncGetCallback = { callback: () -> Unit -> ExpressionResolverImpl( - VariableControllerImpl(), + VariableController(), Evaluator( EvaluationContext( variableProvider = evaluationContext.variableProvider, diff --git a/client/android/div/src/test/java/com/yandex/div/core/expression/triggers/TriggersControllerTest.kt b/client/android/div/src/test/java/com/yandex/div/core/expression/triggers/TriggersControllerTest.kt index ae6b98343..c83b43cdd 100644 --- a/client/android/div/src/test/java/com/yandex/div/core/expression/triggers/TriggersControllerTest.kt +++ b/client/android/div/src/test/java/com/yandex/div/core/expression/triggers/TriggersControllerTest.kt @@ -41,9 +41,7 @@ class TriggersControllerTest { } private val errorCollector = mock() private val logger = mock() - private val view = mock { - on { expressionResolver } doReturn mock() - } + private val view = mock() private val env = object : ParsingEnvironment { override val templates: TemplateProvider> = TemplateProvider.empty() @@ -110,7 +108,7 @@ class TriggersControllerTest { private fun verifyActionTriggered(logId: String, times: Int = 1) { val actions = argumentCaptor>() - verify(divActionBinder, atLeastOnce()).handleActions(any(), any(), actions.capture(), any()) + verify(divActionBinder, atLeastOnce()).handleActions(any(), actions.capture(), any()) val actionsWithLogId = actions.allValues.flatten().filter { it.logId == logId } Assert.assertEquals(times, actionsWithLogId.size) diff --git a/client/android/div/src/test/java/com/yandex/div/core/expression/variables/TwoWayVariableBinderTest.kt b/client/android/div/src/test/java/com/yandex/div/core/expression/variables/TwoWayVariableBinderTest.kt index 8c683f379..72588cc8a 100644 --- a/client/android/div/src/test/java/com/yandex/div/core/expression/variables/TwoWayVariableBinderTest.kt +++ b/client/android/div/src/test/java/com/yandex/div/core/expression/variables/TwoWayVariableBinderTest.kt @@ -31,7 +31,7 @@ class TwoWayVariableBinderTest { on { getOrCreate(any(), any()) } doReturn errorCollector } private val variable = Variable.StringVariable(VARIABLE_NAME, INITIAL_VALUE) - private val variableController = VariableControllerImpl().apply { + private val variableController = VariableController().apply { declare(variable) } private val expressionsRuntime = ExpressionsRuntime(mock(), variableController, mock()) diff --git a/client/android/div/src/test/java/com/yandex/div/core/expression/variables/VariableControllerTest.kt b/client/android/div/src/test/java/com/yandex/div/core/expression/variables/VariableControllerTest.kt index fbd12853d..1a2c5f246 100644 --- a/client/android/div/src/test/java/com/yandex/div/core/expression/variables/VariableControllerTest.kt +++ b/client/android/div/src/test/java/com/yandex/div/core/expression/variables/VariableControllerTest.kt @@ -34,7 +34,7 @@ class VariableControllerTest { @Before fun initVariableController() { divVariableController = DivVariableController() - variableController = VariableControllerImpl().apply { + variableController = VariableController().apply { localVariables.forEach { declare(it) } diff --git a/client/android/div/src/test/java/com/yandex/div/core/tooltip/DivTooltipControllerTest.kt b/client/android/div/src/test/java/com/yandex/div/core/tooltip/DivTooltipControllerTest.kt index 27b456826..822f26a0e 100644 --- a/client/android/div/src/test/java/com/yandex/div/core/tooltip/DivTooltipControllerTest.kt +++ b/client/android/div/src/test/java/com/yandex/div/core/tooltip/DivTooltipControllerTest.kt @@ -13,7 +13,6 @@ import com.yandex.div.core.DivTooltipRestrictor import com.yandex.div.core.asExpression import com.yandex.div.core.util.AccessibilityStateProvider import com.yandex.div.core.util.SafePopupWindow -import com.yandex.div.core.view2.BindingContext import com.yandex.div.core.view2.Div2Builder import com.yandex.div.core.view2.Div2View import com.yandex.div.core.view2.DivVisibilityActionTracker @@ -22,6 +21,7 @@ import com.yandex.div.core.view2.errors.ErrorCollectors import com.yandex.div.internal.Assert import com.yandex.div.json.expressions.ExpressionResolver import com.yandex.div2.Div +import com.yandex.div2.DivDimension import com.yandex.div2.DivPoint import com.yandex.div2.DivText import com.yandex.div2.DivTooltip @@ -86,8 +86,8 @@ class DivTooltipControllerTest { } on { getChildAt(0) } doReturn anchor on { childCount } doReturn 1 + on { expressionResolver } doReturn expressionResolver } - private val bindingContext = BindingContext(div2View, expressionResolver) private val tooltipView = mock { on { width } doReturn 100 @@ -142,7 +142,7 @@ class DivTooltipControllerTest { fun `tooltip is shown`() { prepareDiv() - underTest.showTooltip("tooltip_id", bindingContext) + underTest.showTooltip("tooltip_id", div2View) verify(popupWindow).showAtLocation(anchor, Gravity.NO_GRAVITY, 0, 0) verify(popupWindow).update(400, 225, 100, 50) @@ -153,9 +153,9 @@ class DivTooltipControllerTest { fun `visibility tracking is started on show`() { prepareDiv() - underTest.showTooltip("tooltip_id", bindingContext) + underTest.showTooltip("tooltip_id", div2View) - verify(visibilityActionTracker).trackVisibilityActionsOf(div2View, expressionResolver, tooltipView, div) + verify(visibilityActionTracker).trackVisibilityActionsOf(div2View, tooltipView, div) } @Test @@ -164,7 +164,7 @@ class DivTooltipControllerTest { whenever(tooltipView.height).doReturn(div2ViewHeight.inc()) prepareDiv() - underTest.showTooltip("tooltip_id", bindingContext) + underTest.showTooltip("tooltip_id", div2View) verify(tooltipShownCallback, times(1)).onDivTooltipShown(div2View, anchor, tooltips[0]) verify(errorCollector, times(2)).logWarning(any()) @@ -173,7 +173,7 @@ class DivTooltipControllerTest { @Test fun `tooltip is dismissed after timeout`() { prepareDiv(duration = 1000) - underTest.showTooltip("tooltip_id", bindingContext) + underTest.showTooltip("tooltip_id", div2View) verify(tooltipShownCallback, never()).onDivTooltipDismissed(div2View, anchor, tooltips[0]) ShadowLooper.runUiThreadTasksIncludingDelayedTasks() @@ -184,7 +184,7 @@ class DivTooltipControllerTest { @Test fun `tooltip is dismissed on hideTooltip`() { prepareDiv() - underTest.showTooltip("tooltip_id", bindingContext) + underTest.showTooltip("tooltip_id", div2View) verify(tooltipShownCallback, never()).onDivTooltipDismissed(div2View, anchor, tooltips[0]) underTest.hideTooltip("tooltip_id", div2View) @@ -195,18 +195,18 @@ class DivTooltipControllerTest { @Test fun `visibility tracking is stopped on dismiss`() { prepareDiv() - underTest.showTooltip("tooltip_id", bindingContext) + underTest.showTooltip("tooltip_id", div2View) reset(visibilityActionTracker) underTest.hideTooltip("tooltip_id", div2View) - verify(visibilityActionTracker).trackVisibilityActionsOf(div2View, expressionResolver, null, div) + verify(visibilityActionTracker).trackVisibilityActionsOf(div2View, null, div) } @Test fun `tooltip is dismissed on cleanup`() { prepareDiv() - underTest.showTooltip("tooltip_id", bindingContext) + underTest.showTooltip("tooltip_id", div2View) verify(tooltipShownCallback, never()).onDivTooltipDismissed(div2View, anchor, tooltips[0]) underTest.clear() @@ -217,7 +217,7 @@ class DivTooltipControllerTest { @Test fun `dismiss is canceled on cleanup`() { prepareDiv() - underTest.showTooltip("tooltip_id", bindingContext) + underTest.showTooltip("tooltip_id", div2View) underTest.clear() reset(tooltipRestrictor.tooltipShownCallback) @@ -268,3 +268,6 @@ class DivTooltipControllerTest { Assert.assertEquals(expected.second, actual.y) } } + +@Suppress("SameParameterValue") +private fun divPoint(x: Int, y: Int) = DivPoint(DivDimension(value = x.toDouble().asExpression()), DivDimension(value = y.toDouble().asExpression())) diff --git a/client/android/div/src/test/java/com/yandex/div/core/util/DivWalkTreeTest.kt b/client/android/div/src/test/java/com/yandex/div/core/util/DivWalkTreeTest.kt index d8b2443cd..ca98d5421 100644 --- a/client/android/div/src/test/java/com/yandex/div/core/util/DivWalkTreeTest.kt +++ b/client/android/div/src/test/java/com/yandex/div/core/util/DivWalkTreeTest.kt @@ -24,7 +24,7 @@ class DivWalkTreeTest { val rootDiv = divText("lorem ipsum") val divWalk = rootDiv.walk(resolver) - .map { item -> item.div.type } + .map { div -> div.type } assertEquals(listOf("text"), divWalk.toList()) } @@ -39,7 +39,7 @@ class DivWalkTreeTest { ) val divWalk = rootDiv.walk(resolver) - .map { item -> item.div.type } + .map { div -> div.type } assertEquals(listOf("container", "text", "image"), divWalk.toList()) } @@ -59,7 +59,7 @@ class DivWalkTreeTest { ) val divWalk = rootDiv.walk(resolver) - .map { item -> item.div.type } + .map { div -> div.type } assertEquals(listOf("container", "container", "text", "image", "text"), divWalk.toList()) } @@ -80,7 +80,7 @@ class DivWalkTreeTest { val divWalk = rootDiv.walk(resolver) .onEnter { div -> div !is Div.Gallery } - .map { item -> item.div.type } + .map { div -> div.type } assertEquals(listOf("container", "text"), divWalk.toList()) } @@ -101,7 +101,7 @@ class DivWalkTreeTest { val divWalk = rootDiv.walk(resolver) .maxDepth(1) - .map { item -> item.div.type } + .map { div -> div.type } assertEquals(listOf("container", "text", "container"), divWalk.toList()) } diff --git a/client/android/div/src/test/java/com/yandex/div/core/view2/DivVisibilityActionDispatcherTest.kt b/client/android/div/src/test/java/com/yandex/div/core/view2/DivVisibilityActionDispatcherTest.kt index d378121ce..dac8ad3a5 100644 --- a/client/android/div/src/test/java/com/yandex/div/core/view2/DivVisibilityActionDispatcherTest.kt +++ b/client/android/div/src/test/java/com/yandex/div/core/view2/DivVisibilityActionDispatcherTest.kt @@ -40,6 +40,7 @@ class DivVisibilityActionDispatcherTest { private val divView = mock { on { logId } doReturn "card" on { dataTag } doReturn DivDataTag("tag") + on { expressionResolver } doReturn resolver } private val dispatcher = DivVisibilityActionDispatcher( @@ -53,7 +54,7 @@ class DivVisibilityActionDispatcherTest { fun `action dispatched to handler`() { val action = DivVisibilityAction(logId = "action") - dispatcher.dispatchAction(divView, resolver, mock(), action) + dispatcher.dispatchAction(divView, mock(), action) verify(contextActionHandler).handleAction(eq(action as DivSightAction), eq(divView)) } @@ -63,7 +64,7 @@ class DivVisibilityActionDispatcherTest { val action = DivVisibilityAction(logId = "action", logLimit = 2L.asExpression()) repeat(4) { - dispatcher.dispatchAction(divView, resolver, mock(), action) + dispatcher.dispatchAction(divView, mock(), action) } verify(contextActionHandler, times(2)).handleAction(eq(action as DivSightAction), eq(divView)) @@ -74,10 +75,10 @@ class DivVisibilityActionDispatcherTest { val action = DivVisibilityAction(logId = "action", logLimit = 2L.asExpression()) repeat(4) { - dispatcher.dispatchAction(divView, resolver, mock(), action) + dispatcher.dispatchAction(divView, mock(), action) } dispatcher.reset(emptyList()) - dispatcher.dispatchAction(divView, resolver, mock(), action) + dispatcher.dispatchAction(divView, mock(), action) verify(contextActionHandler, times(3)).handleAction(eq(action) as DivSightAction, eq(divView)) } @@ -87,7 +88,7 @@ class DivVisibilityActionDispatcherTest { val action = DivVisibilityAction(logId = "action", logLimit = 0L.asExpression()) repeat(10) { - dispatcher.dispatchAction(divView, resolver, mock(), action) + dispatcher.dispatchAction(divView, mock(), action) } verify(contextActionHandler, times(10)).handleAction(eq(action as DivSightAction), eq(divView)) @@ -98,7 +99,7 @@ class DivVisibilityActionDispatcherTest { val action = DivVisibilityAction(logId = "action") whenever(divView.actionHandler) doReturn viewActionHandler - dispatcher.dispatchAction(divView, resolver, mock(), action) + dispatcher.dispatchAction(divView, mock(), action) verify(contextActionHandler, never()).handleAction(eq(action), eq(divView)) } @@ -109,7 +110,7 @@ class DivVisibilityActionDispatcherTest { whenever(divView.actionHandler) doReturn viewActionHandler whenever(viewActionHandler.handleAction(eq(action as DivSightAction), eq(divView))) doReturn false - dispatcher.dispatchAction(divView, resolver, mock(), action) + dispatcher.dispatchAction(divView, mock(), action) verify(contextActionHandler).handleAction(eq(action as DivSightAction), eq(divView)) } @@ -118,7 +119,7 @@ class DivVisibilityActionDispatcherTest { fun `action doesn't dispatched to logger when handler intercepts it`() { val action = DivVisibilityAction(logId = "action") - dispatcher.dispatchAction(divView, resolver, mock(), action) + dispatcher.dispatchAction(divView, mock(), action) verify(logger, never()).logViewShown(eq(divView), any(), eq(action)) } @@ -127,7 +128,7 @@ class DivVisibilityActionDispatcherTest { fun `action doesn't dispatched to beacon sender when handler intercepts it`() { val action = DivVisibilityAction(logId = "action") - dispatcher.dispatchAction(divView, resolver, mock(), action) + dispatcher.dispatchAction(divView, mock(), action) verify(beaconSender, never()).sendVisibilityActionBeacon(any(), any()) } @@ -137,7 +138,7 @@ class DivVisibilityActionDispatcherTest { val action = DivVisibilityAction(logId = "action") whenever(contextActionHandler.handleAction(eq(action) as DivSightAction, eq(divView))) doReturn false - dispatcher.dispatchAction(divView, resolver, mock(), action) + dispatcher.dispatchAction(divView, mock(), action) verify(logger).logViewShown(eq(divView), any(), eq(action)) } @@ -147,7 +148,7 @@ class DivVisibilityActionDispatcherTest { val action = DivVisibilityAction(logId = "action") whenever(contextActionHandler.handleAction(eq(action as DivSightAction), eq(divView))) doReturn false - dispatcher.dispatchAction(divView, resolver, mock(), action) + dispatcher.dispatchAction(divView, mock(), action) verify(beaconSender).sendVisibilityActionBeacon(action, resolver) } @@ -155,7 +156,7 @@ class DivVisibilityActionDispatcherTest { @Test fun `dispatch actions runs as a bulk`() { val actionArray: Array = arrayOf(DivVisibilityAction(logId = "action"), DivVisibilityAction(logId = "action2")) - dispatcher.dispatchActions(divView, resolver, mock(), actionArray) + dispatcher.dispatchActions(divView, mock(), actionArray) verify(divView, times(1)).bulkActions(any()) } } diff --git a/client/android/div/src/test/java/com/yandex/div/core/view2/DivVisibilityActionTrackerTest.kt b/client/android/div/src/test/java/com/yandex/div/core/view2/DivVisibilityActionTrackerTest.kt index ebb9ecf2a..ddb448c0e 100644 --- a/client/android/div/src/test/java/com/yandex/div/core/view2/DivVisibilityActionTrackerTest.kt +++ b/client/android/div/src/test/java/com/yandex/div/core/view2/DivVisibilityActionTrackerTest.kt @@ -40,6 +40,7 @@ class DivVisibilityActionTrackerTest { private val scope = mock { on { logId } doReturn "div" on { dataTag } doReturn DivDataTag("test") + on { expressionResolver } doReturn resolver } private val view1 = mockView() @@ -79,7 +80,6 @@ class DivVisibilityActionTrackerTest { verify(visibilityActionDispatcher, never()).dispatchActions( eq(scope), - eq(resolver), eq(view1), argThat { this.contains(action1) && this.size == 1 } ) @@ -92,7 +92,6 @@ class DivVisibilityActionTrackerTest { verify(visibilityActionDispatcher).dispatchActions( eq(scope), - eq(resolver), eq(view1), argThat { this.contains(action1) && this.size == 1 } ) @@ -106,7 +105,6 @@ class DivVisibilityActionTrackerTest { verify(visibilityActionDispatcher, never()).dispatchActions( eq(scope), - eq(resolver), eq(view1), argThat { this.contains(action1) && this.size == 1 } ) @@ -116,12 +114,11 @@ class DivVisibilityActionTrackerTest { fun `visibility action is not dispatched when view become null before deadline`() { trackVisibilityAction(view1, div1, 100) updateViewVisibility(view1, visibilityPercentage = 40) - visibilityActionTracker.trackVisibilityActionsOf(scope, resolver, null, div1) + visibilityActionTracker.trackVisibilityActionsOf(scope, null, div1) Robolectric.flushForegroundThreadScheduler() verify(visibilityActionDispatcher, never()).dispatchActions( eq(scope), - eq(resolver), eq(view1), argThat { this.contains(action1) && this.size == 1 } ) @@ -135,7 +132,6 @@ class DivVisibilityActionTrackerTest { verify(visibilityActionDispatcher, times(1)).dispatchActions( eq(scope), - eq(resolver), eq(view1), argThat { this.contains(action1) && this.size == 1 } ) @@ -150,7 +146,6 @@ class DivVisibilityActionTrackerTest { Robolectric.flushForegroundThreadScheduler() verify(visibilityActionDispatcher, times(1)).dispatchActions( eq(scope), - eq(resolver), eq(view1), argThat { this.contains(action1) && this.size == 1 } ) @@ -167,12 +162,7 @@ class DivVisibilityActionTrackerTest { trackVisibilityAction(view1, div1, 100) Robolectric.flushForegroundThreadScheduler() - verify(visibilityActionDispatcher, times(2)).dispatchActions( - eq(scope), - eq(resolver), - eq(view1), - any() - ) + verify(visibilityActionDispatcher, times(2)).dispatchActions(eq(scope), eq(view1), any()) } @Test @@ -230,7 +220,6 @@ class DivVisibilityActionTrackerTest { verify(visibilityActionDispatcher, times(1)).dispatchActions( eq(scope), - eq(resolver), eq(view3), argThat { this.toList().containsAll(lottaActions) && this.size == lottaActions.size } ) @@ -245,7 +234,6 @@ class DivVisibilityActionTrackerTest { Robolectric.flushForegroundThreadScheduler() verify(visibilityActionDispatcher, times(1)).dispatchActions( eq(scope), - eq(resolver), eq(view3), argThat { this.toList().containsAll(lottaActions) && this.size == lottaActions.size } ) @@ -257,21 +245,18 @@ class DivVisibilityActionTrackerTest { Robolectric.getForegroundThreadScheduler().advanceBy(101L, TimeUnit.MILLISECONDS) verify(visibilityActionDispatcher, times(1)).dispatchActions( eq(scope), - eq(resolver), eq(view4), argThat { this.size == 2 } ) Robolectric.getForegroundThreadScheduler().advanceBy(101L, TimeUnit.MILLISECONDS) verify(visibilityActionDispatcher, times(2)).dispatchActions( eq(scope), - eq(resolver), eq(view4), argThat { this.size == 2 } ) Robolectric.getForegroundThreadScheduler().advanceBy(101L, TimeUnit.MILLISECONDS) verify(visibilityActionDispatcher, times(3)).dispatchActions( eq(scope), - eq(resolver), eq(view4), argThat { this.size == 2 } ) @@ -283,23 +268,17 @@ class DivVisibilityActionTrackerTest { Robolectric.getForegroundThreadScheduler().advanceBy(101L, TimeUnit.MILLISECONDS) verify(visibilityActionDispatcher, times(1)).dispatchActions( eq(scope), - eq(resolver), eq(view4), argThat { this.size == 2 } ) trackVisibilityAction(view4, div4, 0) Robolectric.flushForegroundThreadScheduler() - verify(visibilityActionDispatcher, times(1)).dispatchActions( - eq(scope), - eq(resolver), - eq(view4), - any() - ) + verify(visibilityActionDispatcher, times(1)).dispatchActions(eq(scope), eq(view4), any()) } private fun trackVisibilityAction(view: View, div: Div, visibilityPercentage: Int) { updateViewVisibility(view, visibilityPercentage) - visibilityActionTracker.trackVisibilityActionsOf(scope, resolver, view, div) + visibilityActionTracker.trackVisibilityActionsOf(scope, view, div) } private fun updateViewVisibility(view: View, visibilityPercentage: Int) { diff --git a/client/android/div/src/test/java/com/yandex/div/core/view2/divs/Assertions.kt b/client/android/div/src/test/java/com/yandex/div/core/view2/divs/Assertions.kt index 5da292afe..7643c0223 100644 --- a/client/android/div/src/test/java/com/yandex/div/core/view2/divs/Assertions.kt +++ b/client/android/div/src/test/java/com/yandex/div/core/view2/divs/Assertions.kt @@ -2,7 +2,7 @@ package com.yandex.div.core.view2.divs import android.net.Uri import android.view.View -import com.yandex.div.core.view2.BindingContext +import com.yandex.div.core.view2.Div2View import com.yandex.div2.DivAction import org.junit.Assert.assertNotNull import org.junit.Assert.assertTrue @@ -12,10 +12,10 @@ import org.mockito.kotlin.argumentCaptor import org.mockito.kotlin.eq import org.mockito.kotlin.verify -internal fun assertActionApplied(context: BindingContext, target: View, actionUri: Uri) { +internal fun assertActionApplied(divView: Div2View, target: View, actionUri: Uri) { val actionCaptor = argumentCaptor>() - verify(context.divView.div2Component.actionBinder).bindDivActions( - context = eq(context), + verify(divView.div2Component.actionBinder).bindDivActions( + divView = eq(divView), target = eq(target), actions = actionCaptor.capture(), longTapActions = anyOrNull(), @@ -25,7 +25,7 @@ internal fun assertActionApplied(context: BindingContext, target: View, actionUr ) val action = actionCaptor.firstValue.find { - action -> action.url?.evaluate(context.expressionResolver) == actionUri + action -> action.url?.evaluate(divView.expressionResolver) == actionUri } assertNotNull(action) assertTrue(target.hasOnClickListeners()) diff --git a/client/android/div/src/test/java/com/yandex/div/core/view2/divs/DivBaseBinderTest.kt b/client/android/div/src/test/java/com/yandex/div/core/view2/divs/DivBaseBinderTest.kt index c36ac3e48..1881cb587 100644 --- a/client/android/div/src/test/java/com/yandex/div/core/view2/divs/DivBaseBinderTest.kt +++ b/client/android/div/src/test/java/com/yandex/div/core/view2/divs/DivBaseBinderTest.kt @@ -2,7 +2,6 @@ package com.yandex.div.core.view2.divs import com.yandex.div.core.asExpression import com.yandex.div.core.dagger.Div2ViewComponent -import com.yandex.div.core.view2.BindingContext import com.yandex.div.core.view2.Div2View import com.yandex.div.core.view2.animations.DivTransitionHandler import com.yandex.div.core.view2.divs.widgets.DivLineHeightTextView @@ -38,20 +37,20 @@ class DivBaseBinderTest { private val expressionResolver = mock() private val viewComponent = mock() private val divView = mock { + on { expressionResolver } doReturn expressionResolver on { divTransitionHandler } doReturn DivTransitionHandler(mock) on { viewComponent } doReturn viewComponent } - private val context = BindingContext(divView, expressionResolver) @Test fun `do not apply paddings when same`() { val div = DivText(text = "text".asExpression(), paddings = paddingsBottom1) val oldDiv = DivText(text = "text".asExpression(), paddings = paddingsBottom1) - baseBinder.bindView(context, view, oldDiv, null) + baseBinder.bindView(view, oldDiv, null, divView) clearInvocations(view) - baseBinder.bindView(context, view, div, oldDiv) + baseBinder.bindView(view, div, oldDiv, divView) verify(view, never()).setPadding(any(), any(), any(), any()) verify(view, never()).requestLayout() @@ -62,10 +61,10 @@ class DivBaseBinderTest { val div = DivText(text = "text".asExpression(), paddings = paddingsBottom1) val oldDiv = DivText(text = "text".asExpression(), paddings = paddingsBottom2) - baseBinder.bindView(context, view, oldDiv, null) + baseBinder.bindView(view, oldDiv, null, divView) clearInvocations(view) - baseBinder.bindView(context, view, div, oldDiv) + baseBinder.bindView(view, div, oldDiv, divView) verify(view, never()).setPadding(any(), any(), any(), any()) verify(view, never()).requestLayout() @@ -76,7 +75,7 @@ class DivBaseBinderTest { val div = DivText(text = "text".asExpression(), paddings = paddingsBottom1) val oldDiv = DivText(text = "text".asExpression(), paddings = paddingsTop) - baseBinder.bindView(context, view, div, oldDiv) + baseBinder.bindView(view, div, oldDiv, divView) verify(view).setPadding(any(), any(), any(), any()) verify(view, atLeastOnce()).requestLayout() @@ -90,7 +89,7 @@ class DivBaseBinderTest { transitionTriggers = listOf(DivTransitionTrigger.STATE_CHANGE) ) - baseBinder.bindView(context, view, div, null) + baseBinder.bindView(view, div, null, divView) verify(view, never()).clearAnimation() } @@ -103,7 +102,7 @@ class DivBaseBinderTest { transitionTriggers = listOf(DivTransitionTrigger.STATE_CHANGE) ) - baseBinder.bindView(context, view, div, null) + baseBinder.bindView(view, div, null, divView) verify(view).clearAnimation() } @@ -116,7 +115,7 @@ class DivBaseBinderTest { transitionTriggers = listOf(DivTransitionTrigger.STATE_CHANGE) ) - baseBinder.bindView(context, view, div, null) + baseBinder.bindView(view, div, null, divView) verify(view).clearAnimation() } diff --git a/client/android/div/src/test/java/com/yandex/div/core/view2/divs/DivBinderTest.kt b/client/android/div/src/test/java/com/yandex/div/core/view2/divs/DivBinderTest.kt index efa37b342..77952de3e 100644 --- a/client/android/div/src/test/java/com/yandex/div/core/view2/divs/DivBinderTest.kt +++ b/client/android/div/src/test/java/com/yandex/div/core/view2/divs/DivBinderTest.kt @@ -8,7 +8,6 @@ import com.yandex.div.core.dagger.Div2Component import com.yandex.div.core.dagger.Div2ViewComponent import com.yandex.div.core.extension.DivExtensionController import com.yandex.div.core.images.DivImageLoader -import com.yandex.div.core.view2.BindingContext import com.yandex.div.core.view2.Div2View import com.yandex.div.core.view2.DivTransitionBuilder import com.yandex.div.core.view2.DivValidator @@ -51,11 +50,10 @@ open class DivBinderTest { on { handleUri(any()) }.thenCallRealMethod() on { logId } doReturn "id" on { config } doReturn mock() - on { getExpressionResolver(any()) } doReturn expressionResolver + on { expressionResolver } doReturn expressionResolver on { oldExpressionResolver } doReturn oldExpressionResolver on { divTransitionHandler } doReturn DivTransitionHandler(mock) } - internal val bindingContext = BindingContext(divView, expressionResolver) private val divExtensionController = DivExtensionController(emptyList()) internal val visitor: ReleaseViewVisitor = spy( diff --git a/client/android/div/src/test/java/com/yandex/div/core/view2/divs/DivContainerBinderTest.kt b/client/android/div/src/test/java/com/yandex/div/core/view2/divs/DivContainerBinderTest.kt index abf64e8e3..ef55a5320 100644 --- a/client/android/div/src/test/java/com/yandex/div/core/view2/divs/DivContainerBinderTest.kt +++ b/client/android/div/src/test/java/com/yandex/div/core/view2/divs/DivContainerBinderTest.kt @@ -35,9 +35,9 @@ class DivContainerBinderTest : DivBinderTest() { val view = viewCreator.create(div, ExpressionResolver.EMPTY) as DivLinearLayout view.layoutParams = defaultLayoutParams() - binder.bindView(bindingContext, view, divContainer, rootPath()) + binder.bindView(view, divContainer, divView, rootPath()) - assertActionApplied(bindingContext, view, Expected.ACTION_URI) + assertActionApplied(divView, view, Expected.ACTION_URI) } @Test @@ -47,9 +47,9 @@ class DivContainerBinderTest : DivBinderTest() { val view = viewCreator.create(div, ExpressionResolver.EMPTY) as DivLinearLayout view.layoutParams = defaultLayoutParams() - binder.bindView(bindingContext, view, divContainer, rootPath()) + binder.bindView(view, divContainer, divView, rootPath()) - assertActionApplied(bindingContext, view, Expected.STATE_ACTION_URI) + assertActionApplied(divView, view, Expected.STATE_ACTION_URI) } @Test @@ -60,13 +60,13 @@ class DivContainerBinderTest : DivBinderTest() { val view = viewCreator.create(div, ExpressionResolver.EMPTY) as DivLinearLayout view.layoutParams = defaultLayoutParams() - binder.bindView(bindingContext, view, divContainer, rootPath()) + binder.bindView(view, divContainer, divView, rootPath()) verify(visitor, never()).release(any()) val children: List = view.childrenToFlatList() - binder.bindView(bindingContext, view, otherDiv.value() as DivContainer, rootPath()) + binder.bindView(view, otherDiv.value() as DivContainer, divView, rootPath()) verify(visitor, times(children.size)).release(any()) children.forEach { child: View -> @@ -83,9 +83,9 @@ class DivContainerBinderTest : DivBinderTest() { view.layoutParams = defaultLayoutParams() view.layout(0, 0, 100, 100) - binder.bindView(bindingContext, view, divContainer, rootPath()) + binder.bindView(view, divContainer, divView, rootPath()) - binder.bindView(bindingContext, view, newData.value() as DivContainer, rootPath()) + binder.bindView(view, newData.value() as DivContainer, divView, rootPath()) verify(visitor, atLeast(1)).release(any()) } diff --git a/client/android/div/src/test/java/com/yandex/div/core/view2/divs/DivFocusBinderTest.kt b/client/android/div/src/test/java/com/yandex/div/core/view2/divs/DivFocusBinderTest.kt index c9e5c782b..aa303d0ab 100644 --- a/client/android/div/src/test/java/com/yandex/div/core/view2/divs/DivFocusBinderTest.kt +++ b/client/android/div/src/test/java/com/yandex/div/core/view2/divs/DivFocusBinderTest.kt @@ -3,7 +3,6 @@ package com.yandex.div.core.view2.divs import android.content.res.Resources import android.graphics.Color import android.view.View -import com.yandex.div.core.view2.BindingContext import com.yandex.div.core.view2.Div2View import com.yandex.div.core.view2.divs.widgets.DivLineHeightTextView import com.yandex.div.json.expressions.Expression @@ -56,7 +55,6 @@ class DivFocusBinderTest { } private val divView = mock() private val resolver = mock() - private val context = BindingContext(divView, resolver) private val defaultBorder = DivBorder(hasShadow = Expression.constant(true)) private val focusActions = listOf(mock()) private val blurActions = listOf(mock()) @@ -365,7 +363,7 @@ class DivFocusBinderTest { focusedBorder: DivBorder? = null, blurredBorder: DivBorder = defaultBorder, viewToBind: View = view - ) = underTest.bindDivBorder(viewToBind, context, focusedBorder, blurredBorder) + ) = underTest.bindDivBorder(viewToBind, divView, resolver, focusedBorder, blurredBorder) private fun setViewNotFocused() = whenever(view.isFocused).thenReturn(false) @@ -379,7 +377,7 @@ class DivFocusBinderTest { private fun bindActions( onFocus: List? = focusActions, onBlur: List? = blurActions - ) = underTest.bindDivFocusActions(view, context, onFocus, onBlur) + ) = underTest.bindDivFocusActions(view, divView, resolver, onFocus, onBlur) private fun onFocusChange(hasFocus: Boolean) = focusListener?.onFocusChange(view, hasFocus) diff --git a/client/android/div/src/test/java/com/yandex/div/core/view2/divs/DivGalleryBinderTest.kt b/client/android/div/src/test/java/com/yandex/div/core/view2/divs/DivGalleryBinderTest.kt index 4d9e2bd18..76d6e8671 100644 --- a/client/android/div/src/test/java/com/yandex/div/core/view2/divs/DivGalleryBinderTest.kt +++ b/client/android/div/src/test/java/com/yandex/div/core/view2/divs/DivGalleryBinderTest.kt @@ -56,27 +56,27 @@ class DivGalleryBinderTest : DivBinderTest() { @Test fun `scroll to default item`() { - underTest.bindView(bindingContext, recyclerView, divGallery, rootPath()) + underTest.bindView(recyclerView, divGallery, divView, rootPath()) Assert.assertEquals(DEFAULT_ITEM, recyclerView.layoutManager.shadow().position) } @Test fun `keep scroll position on rebind`() { - underTest.bindView(bindingContext, recyclerView, divGallery, rootPath()) + underTest.bindView(recyclerView, divGallery, divView, rootPath()) (recyclerView.layoutManager as? DivLinearLayoutManager)!!.instantScrollToPosition( DEFAULT_ITEM + 1, ScrollPosition.DEFAULT ) - underTest.bindView(bindingContext, recyclerView, divGallery, rootPath()) + underTest.bindView(recyclerView, divGallery, divView, rootPath()) Assert.assertEquals(DEFAULT_ITEM + 1, recyclerView.layoutManager.shadow().position) } @Test fun `set default item when has current state without visible item index`() { - underTest.bindView(bindingContext, recyclerView, divGallery, rootPath()) + underTest.bindView(recyclerView, divGallery, divView, rootPath()) Assert.assertEquals(DEFAULT_ITEM, recyclerView.layoutManager.shadow().position) } @@ -85,7 +85,7 @@ class DivGalleryBinderTest : DivBinderTest() { fun `restore previous position`() { whenever(divViewState.getBlockState(any())).thenReturn(GalleryState(DEFAULT_ITEM + 1, 0)) - underTest.bindView(bindingContext, recyclerView, divGallery, rootPath()) + underTest.bindView(recyclerView, divGallery, divView, rootPath()) Assert.assertEquals(DEFAULT_ITEM + 1, recyclerView.layoutManager.shadow().position) } @@ -96,7 +96,7 @@ class DivGalleryBinderTest : DivBinderTest() { galleryJson.remove("default_item") val divGallery = DivGallery(DivParsingEnvironment(ParsingErrorLogger.ASSERT), galleryJson) - underTest.bindView(bindingContext, recyclerView, divGallery, rootPath()) + underTest.bindView(recyclerView, divGallery, divView, rootPath()) Assert.assertEquals(0, recyclerView.layoutManager.shadow().position) verify(recyclerView, never()).scrollToPosition(any()) @@ -112,7 +112,6 @@ class DivGalleryBinderTest : DivBinderTest() { return Shadow.extract(this) as ShadowDivLinearLayoutManager } - @Suppress("unused", "UNUSED_PARAMETER") @Implements(DivLinearLayoutManager::class) class ShadowDivLinearLayoutManager { diff --git a/client/android/div/src/test/java/com/yandex/div/core/view2/divs/DivGridBinderTest.kt b/client/android/div/src/test/java/com/yandex/div/core/view2/divs/DivGridBinderTest.kt index 3fb4c8255..bfc19156c 100644 --- a/client/android/div/src/test/java/com/yandex/div/core/view2/divs/DivGridBinderTest.kt +++ b/client/android/div/src/test/java/com/yandex/div/core/view2/divs/DivGridBinderTest.kt @@ -24,18 +24,18 @@ class DivGridBinderTest : DivBinderTest() { fun `url action applied`() { val (divGrid, view) = createTestData("with-action.json") - binder.bindView(bindingContext, view, divGrid, DivStatePath.parse("0")) + binder.bindView(view, divGrid, divView, DivStatePath.parse("0")) - assertActionApplied(bindingContext, view, Expected.ACTION_URI) + assertActionApplied(divView, view, Expected.ACTION_URI) } @Test fun `state action applied`() { val (divGrid, view) = createTestData("with-set-state-action.json") - binder.bindView(bindingContext, view, divGrid, DivStatePath.parse("0")) + binder.bindView(view, divGrid, divView, DivStatePath.parse("0")) - assertActionApplied(bindingContext, view, Expected.STATE_ACTION_URI) + assertActionApplied(divView, view, Expected.STATE_ACTION_URI) } private fun createTestData(filename: String): Pair { diff --git a/client/android/div/src/test/java/com/yandex/div/core/view2/divs/DivImageBinderTest.kt b/client/android/div/src/test/java/com/yandex/div/core/view2/divs/DivImageBinderTest.kt index f1e9f2db5..cc361366f 100644 --- a/client/android/div/src/test/java/com/yandex/div/core/view2/divs/DivImageBinderTest.kt +++ b/client/android/div/src/test/java/com/yandex/div/core/view2/divs/DivImageBinderTest.kt @@ -49,18 +49,18 @@ class DivImageBinderTest : DivBinderTest() { fun `url action applied`() { val (view, divImage) = createTestDiv("with_action.json") - binder.bindView(bindingContext, view, divImage) + binder.bindView(view, divImage, divView) - assertActionApplied(bindingContext, view, Expected.ACTION_URI) + assertActionApplied(divView, view, Expected.ACTION_URI) } @Test fun `state action applied`() { val (view, divImage) = createTestDiv("with_set_state_action.json") - binder.bindView(bindingContext, view, divImage) + binder.bindView(view, divImage, divView) - assertActionApplied(bindingContext, view, Expected.STATE_ACTION_URI) + assertActionApplied(divView, view, Expected.STATE_ACTION_URI) } @Test @@ -73,7 +73,7 @@ class DivImageBinderTest : DivBinderTest() { highPriorityPreviewShow = true.asExpression() ) - binder.bindView(bindingContext, view, divImage) + binder.bindView(view, divImage, divView) verify(placeholderLoader).applyPlaceholder(any(), any(), anyOrNull(), any(), any(), any(), any()) verify(imageLoader).loadImage(eq(divImage.imageUrl.evaluate(ExpressionResolver.EMPTY).toString()), any()) @@ -89,7 +89,7 @@ class DivImageBinderTest : DivBinderTest() { highPriorityPreviewShow = true.asExpression() ) - binder.bindView(bindingContext, view, divImage) + binder.bindView(view, divImage, divView) val nextDivImage = DivImage( imageUrl = Uri.parse("https://foo.bar/foo.png").asExpression(), @@ -97,7 +97,7 @@ class DivImageBinderTest : DivBinderTest() { highPriorityPreviewShow = true.asExpression() ) - binder.bindView(bindingContext, view, nextDivImage) + binder.bindView(view, nextDivImage, divView) verify(placeholderLoader).applyPlaceholder(any(), any(), anyOrNull(), any(), any(), any(), any()) verify(imageLoader).loadImage(eq(divImage.imageUrl.evaluate(ExpressionResolver.EMPTY).toString()), any()) @@ -107,13 +107,13 @@ class DivImageBinderTest : DivBinderTest() { fun `do not bind image when imageUrl did not change and bitmap was loaded`() { val (view, divImage) = createTestDiv("with_action.json") - binder.bindView(bindingContext, view, divImage) + binder.bindView(view, divImage, divView) reset(placeholderLoader) whenImageLoaded(divImage.imageUrl.evaluate(ExpressionResolver.EMPTY).toString()) val (_, nextDivImage) = createTestDiv("with_action.json") - binder.bindView(bindingContext, view, nextDivImage) + binder.bindView(view, nextDivImage, divView) verifyNoMoreInteractions(placeholderLoader) verifyNoMoreInteractions(imageLoader) } @@ -128,12 +128,12 @@ class DivImageBinderTest : DivBinderTest() { highPriorityPreviewShow = true.asExpression() ) - binder.bindView(bindingContext, view, divImage) + binder.bindView(view, divImage, divView) whenImageLoaded(divImage.imageUrl.evaluate(ExpressionResolver.EMPTY).toString()) val nextDivImage = DivImage(imageUrl = Uri.parse("https://foo.bar/foo.png").asExpression()) - binder.bindView(bindingContext, view, nextDivImage) + binder.bindView(view, nextDivImage, divView) verify(placeholderLoader).applyPlaceholder(any(), any(), anyOrNull(), any(), any(), any(), any()) verify(imageLoader).loadImage(eq(nextDivImage.imageUrl.evaluate(ExpressionResolver.EMPTY).toString()), any()) @@ -148,7 +148,7 @@ class DivImageBinderTest : DivBinderTest() { preview = PREVIEW.asExpression(), highPriorityPreviewShow = true.asExpression() ) - binder.bindView(bindingContext, view, divImage) + binder.bindView(view, divImage, divView) verify(placeholderLoader).applyPlaceholder( any(), any(), anyOrNull(), any(), synchronous = eq(true), any(), any() @@ -161,7 +161,7 @@ class DivImageBinderTest : DivBinderTest() { preview = PREVIEW.asExpression(), highPriorityPreviewShow = true.asExpression() ) - binder.bindView(bindingContext, view, nextDivImage) + binder.bindView(view, nextDivImage, divView) verify(placeholderLoader).applyPlaceholder( any(), any(), eq(PREVIEW), any(), @@ -177,7 +177,7 @@ class DivImageBinderTest : DivBinderTest() { imageUrl = Uri.parse("https://foo.bar/foo.png").asExpression(), highPriorityPreviewShow = true.asExpression() ) - binder.bindView(bindingContext, view, divImage) + binder.bindView(view, divImage, divView) whenImageLoaded(divImage.imageUrl.evaluate(ExpressionResolver.EMPTY).toString()) @@ -187,7 +187,7 @@ class DivImageBinderTest : DivBinderTest() { imageUrl = Uri.parse("https://foo.bar/bar.png").asExpression(), highPriorityPreviewShow = true.asExpression() ) - binder.bindView(bindingContext, spyView, nextDivImage) + binder.bindView(spyView, nextDivImage, divView) verify(spyView).resetImageLoaded() } @@ -200,7 +200,7 @@ class DivImageBinderTest : DivBinderTest() { imageUrl = Uri.parse("https://foo.bar/foo.png").asExpression(), highPriorityPreviewShow = true.asExpression() ) - binder.bindView(bindingContext, view, divImage) + binder.bindView(view, divImage, divView) whenImageLoaded(divImage.imageUrl.evaluate(ExpressionResolver.EMPTY).toString()) @@ -210,7 +210,7 @@ class DivImageBinderTest : DivBinderTest() { imageUrl = Uri.parse("https://foo.bar/foo.png").asExpression(), highPriorityPreviewShow = true.asExpression() ) - binder.bindView(bindingContext, spyView, nextDivImage) + binder.bindView(spyView, nextDivImage, divView) verify(spyView, never()).resetImageLoaded() } @@ -222,7 +222,7 @@ class DivImageBinderTest : DivBinderTest() { imageUrl = Uri.parse("https://foo.bar/foo.png").asExpression(), tintColor = Color.parseColor("#ffffff").asExpression()) - binder.bindView(bindingContext, view, divImage) + binder.bindView(view, divImage, divView) Assert.assertNull(view.colorFilter) whenImageLoaded(divImage.imageUrl.evaluate(ExpressionResolver.EMPTY).toString()) Assert.assertNotNull(view.colorFilter) @@ -231,14 +231,14 @@ class DivImageBinderTest : DivBinderTest() { val nextDivImage = DivImage( imageUrl = Uri.parse("https://foo.bar/foo.png").asExpression(), tintColor = Color.parseColor("#ffffff").asExpression()) - binder.bindView(bindingContext, view, nextDivImage) + binder.bindView(view, nextDivImage, divView) Assert.assertNotNull(view.colorFilter) // with another image url val anotherDivImage = DivImage( imageUrl = Uri.parse("https://another_image.png").asExpression(), tintColor = Color.parseColor("#ffffff").asExpression()) - binder.bindView(bindingContext, view, anotherDivImage) + binder.bindView(view, anotherDivImage, divView) Assert.assertNull(view.colorFilter) } @@ -250,7 +250,7 @@ class DivImageBinderTest : DivBinderTest() { preview = PREVIEW.asExpression(), tintColor = Color.parseColor("#ffffff").asExpression()) - binder.bindView(bindingContext, view, divImage) + binder.bindView(view, divImage, divView) Assert.assertNull(view.colorFilter) whenPreviewLoaded() Assert.assertNotNull(view.colorFilter) diff --git a/client/android/div/src/test/java/com/yandex/div/core/view2/divs/DivPagerBinderTest.kt b/client/android/div/src/test/java/com/yandex/div/core/view2/divs/DivPagerBinderTest.kt index 15096919c..9ea0cdae1 100644 --- a/client/android/div/src/test/java/com/yandex/div/core/view2/divs/DivPagerBinderTest.kt +++ b/client/android/div/src/test/java/com/yandex/div/core/view2/divs/DivPagerBinderTest.kt @@ -5,7 +5,6 @@ import com.yandex.div.core.ScrollDirection import com.yandex.div.core.state.DivViewState import com.yandex.div.core.state.PagerState import com.yandex.div.core.util.AccessibilityStateProvider -import com.yandex.div.core.view2.BindingContext import com.yandex.div.core.view2.DivBinder import com.yandex.div.core.view2.divs.widgets.DivPagerView import com.yandex.div.data.DivParsingEnvironment @@ -57,24 +56,24 @@ class DivPagerBinderTest: DivBinderTest() { @Test fun `set default item`() { - underTest.bindView(bindingContext, divPagerView, divPager, rootPath()) + underTest.bindView(divPagerView, divPager, divView, rootPath()) Assert.assertEquals(DEFAULT_ITEM, divPagerView.currentItem) } @Test fun `keep selected item on rebind`() { - underTest.bindView(bindingContext, divPagerView, divPager, rootPath()) + underTest.bindView(divPagerView, divPager, divView, rootPath()) divPagerView.currentItem = DEFAULT_ITEM + 1 - underTest.bindView(bindingContext, divPagerView, divPager, rootPath()) + underTest.bindView(divPagerView, divPager, divView, rootPath()) Assert.assertEquals(DEFAULT_ITEM + 1, divPagerView.viewPager.currentItem) } @Test fun `set default item when has current state without current page index`() { - underTest.bindView(bindingContext, divPagerView, divPager, rootPath()) + underTest.bindView(divPagerView, divPager, divView, rootPath()) Assert.assertEquals(DEFAULT_ITEM, divPagerView.currentItem) } @@ -83,14 +82,14 @@ class DivPagerBinderTest: DivBinderTest() { fun `restore previously selected page`() { whenever(divViewState.getBlockState(any())).thenReturn(PagerState(DEFAULT_ITEM + 1)) - underTest.bindView(bindingContext, divPagerView, divPager, rootPath()) + underTest.bindView(divPagerView, divPager, divView, rootPath()) Assert.assertEquals(DEFAULT_ITEM + 1, divPagerView.currentItem) } @Test fun `do not log page change when selected page for the first time`() { - underTest.bindView(bindingContext, divPagerView, divPager, rootPath()) + underTest.bindView(divPagerView, divPager, divView, rootPath()) divPagerView.changePageCallbackForLogger?.onPageSelected(DEFAULT_ITEM) @@ -104,7 +103,7 @@ class DivPagerBinderTest: DivBinderTest() { @Test fun `log page change when selected next page`() { - underTest.bindView(bindingContext, divPagerView, divPager, rootPath()) + underTest.bindView(divPagerView, divPager, divView, rootPath()) divPagerView.changePageCallbackForLogger?.onPageSelected(DEFAULT_ITEM) divPagerView.changePageCallbackForLogger?.onPageSelected(DEFAULT_ITEM + 1) @@ -124,7 +123,7 @@ class DivPagerBinderTest: DivBinderTest() { .getJSONObject(DEFAULT_ITEM) .put("visibility_action", DivVisibilityAction(logId = "test").writeToJSON()) val divPager = DivPager(DivParsingEnvironment(ParsingErrorLogger.ASSERT), pagerJson) - underTest.bindView(bindingContext, divPagerView, divPager, rootPath()) + underTest.bindView(divPagerView, divPager, divView, rootPath()) divPagerView.changePageCallbackForLogger?.onPageSelected(DEFAULT_ITEM) @@ -133,7 +132,7 @@ class DivPagerBinderTest: DivBinderTest() { @Test fun `unbind view from div on previously selected page`() { - underTest.bindView(bindingContext, divPagerView, divPager, rootPath()) + underTest.bindView(divPagerView, divPager, divView, rootPath()) divPagerView.changePageCallbackForLogger?.onPageSelected(DEFAULT_ITEM) divPagerView.changePageCallbackForLogger?.onPageSelected(DEFAULT_ITEM + 1) diff --git a/client/android/div/src/test/java/com/yandex/div/core/view2/divs/DivSelectBinderTest.kt b/client/android/div/src/test/java/com/yandex/div/core/view2/divs/DivSelectBinderTest.kt index b24727460..b9dcc5511 100644 --- a/client/android/div/src/test/java/com/yandex/div/core/view2/divs/DivSelectBinderTest.kt +++ b/client/android/div/src/test/java/com/yandex/div/core/view2/divs/DivSelectBinderTest.kt @@ -25,7 +25,7 @@ import org.robolectric.RobolectricTestRunner @RunWith(RobolectricTestRunner::class) class DivSelectBinderTest : DivBinderTest() { private val divTypefaceResolver = mock() - private val variableBinder = mock { + private val variableBinder = mock() { on { bindVariable(any(), any(), any()) } doReturn mock() } private val errorCollectors = mock { @@ -48,7 +48,7 @@ class DivSelectBinderTest : DivBinderTest() { @Test fun `bind value_variable`() { - underTest.bindView(bindingContext, view, divSelect) + underTest.bindView(view, divSelect, divView) verify(variableBinder).bindVariable(any(), eq(divSelect.valueVariable), any()) verifyNoMoreInteractions(variableBinder) @@ -56,7 +56,7 @@ class DivSelectBinderTest : DivBinderTest() { @Test fun `update text after variable changed`() { - underTest.bindView(bindingContext, view, divSelect) + underTest.bindView(view, divSelect, divView) verify(variableBinder).bindVariable(any(), any(), captor.capture()) val (optionText, optionValue) = divSelect.options.evaluateLastOption() @@ -73,7 +73,7 @@ class DivSelectBinderTest : DivBinderTest() { fun `update text and variable after option selected`() { val viewStateChangeListener = mock<(String) -> Unit>() - underTest.bindView(bindingContext, view, divSelect) + underTest.bindView(view, divSelect, divView) verify(variableBinder).bindVariable(any(), any(), captor.capture()) val (optionText, optionValue) = divSelect.options.evaluateLastOption() @@ -94,8 +94,8 @@ class DivSelectBinderTest : DivBinderTest() { private fun List.evaluateLastOption(): Pair { val option = last() - val optionValue = option.value.evaluate(bindingContext.expressionResolver) - val optionText = option.text?.evaluate(bindingContext.expressionResolver) ?: optionValue + val optionValue = option.value.evaluate(divView.expressionResolver) + val optionText = option.text?.evaluate(divView.expressionResolver) ?: optionValue return optionText to optionValue } diff --git a/client/android/div/src/test/java/com/yandex/div/core/view2/divs/DivSeparatorBinderTest.kt b/client/android/div/src/test/java/com/yandex/div/core/view2/divs/DivSeparatorBinderTest.kt index 0f0303f41..216247b54 100644 --- a/client/android/div/src/test/java/com/yandex/div/core/view2/divs/DivSeparatorBinderTest.kt +++ b/client/android/div/src/test/java/com/yandex/div/core/view2/divs/DivSeparatorBinderTest.kt @@ -21,9 +21,9 @@ class DivSeparatorBinderTest : DivBinderTest() { val view = viewCreator.create(div, ExpressionResolver.EMPTY) as DivSeparatorView view.layoutParams = defaultLayoutParams() - binder.bindView(bindingContext, view, divContainer) + binder.bindView(view, divContainer, divView) - assertActionApplied(bindingContext, view, Expected.ACTION_URI) + assertActionApplied(divView, view, Expected.ACTION_URI) } @Test @@ -33,9 +33,9 @@ class DivSeparatorBinderTest : DivBinderTest() { val view = viewCreator.create(div, ExpressionResolver.EMPTY) as DivSeparatorView view.layoutParams = defaultLayoutParams() - binder.bindView(bindingContext, view, divContainer) + binder.bindView(view, divContainer, divView) - assertActionApplied(bindingContext, view, Expected.STATE_ACTION_URI) + assertActionApplied(divView, view, Expected.STATE_ACTION_URI) } companion object { diff --git a/client/android/div/src/test/java/com/yandex/div/core/view2/divs/DivStateBinderReleaseViewTest.kt b/client/android/div/src/test/java/com/yandex/div/core/view2/divs/DivStateBinderReleaseViewTest.kt index ecbfc3937..e0c03874e 100644 --- a/client/android/div/src/test/java/com/yandex/div/core/view2/divs/DivStateBinderReleaseViewTest.kt +++ b/client/android/div/src/test/java/com/yandex/div/core/view2/divs/DivStateBinderReleaseViewTest.kt @@ -67,32 +67,32 @@ class DivStateBinderReleaseViewTest: DivBinderTest() { @Test fun `initial bind do not call release`() { - stateBinder.bindView(bindingContext, stateLayout, divOne.asDivState, rootPath()) + stateBinder.bindView(stateLayout, divOne.asDivState, divView, rootPath()) verify(visitor, never()).release(any()) } @Test fun `rebind do call release on old views`() { - stateBinder.bindView(bindingContext, stateLayout, divOne.asDivState, rootPath()) + stateBinder.bindView(stateLayout, divOne.asDivState, divView, rootPath()) val allChildren = stateLayout.childrenToFlatList() - stateBinder.bindView(bindingContext, stateLayout, divTwo.asDivState, rootPath()) + stateBinder.bindView(stateLayout, divTwo.asDivState, divView, rootPath()) verifyAllChildrenReleased(allChildren) } @Test fun `change state release old views`() { - stateBinder.bindView(bindingContext, stateLayout, divOne.asDivState, rootPath()) + stateBinder.bindView(stateLayout, divOne.asDivState, divView, rootPath()) switchToState("second") val stateToBeSwitched: DivStateLayout = stateLayout .findStateLayout(DivStatePath.parse("0/state_container/first")) ?: throw AssertionError("failed to find state") val allChildren: List = stateToBeSwitched.childrenToFlatList() - stateBinder.bindView(bindingContext, stateLayout, divOne.asDivState, rootPath()) + stateBinder.bindView(stateLayout, divOne.asDivState, divView, rootPath()) verifyAllChildrenReleased(allChildren) } diff --git a/client/android/div/src/test/java/com/yandex/div/core/view2/divs/DivStateBinderTest.kt b/client/android/div/src/test/java/com/yandex/div/core/view2/divs/DivStateBinderTest.kt index 0423fbcc3..650fe4657 100644 --- a/client/android/div/src/test/java/com/yandex/div/core/view2/divs/DivStateBinderTest.kt +++ b/client/android/div/src/test/java/com/yandex/div/core/view2/divs/DivStateBinderTest.kt @@ -68,7 +68,7 @@ class DivStateBinderTest: DivBinderTest() { @Test fun `first state path applied when no defaultStateId`() { - stateBinder.bindView(bindingContext, stateLayout, divState, rootPath()) + stateBinder.bindView(stateLayout, divState, divView, rootPath()) assertEquals(pathToState("first"), stateLayout.path) } @@ -80,7 +80,7 @@ class DivStateBinderTest: DivBinderTest() { val stateLayout = viewCreator.create(div, ExpressionResolver.EMPTY) as DivStateLayout stateLayout.layoutParams = defaultLayoutParams() - stateBinder.bindView(bindingContext, stateLayout, divState, rootPath()) + stateBinder.bindView(stateLayout, divState, divView, rootPath()) assertEquals(pathToState("default"), stateLayout.path) } @@ -88,7 +88,7 @@ class DivStateBinderTest: DivBinderTest() { @Test fun `selected state path applied`() { switchToState("second") - stateBinder.bindView(bindingContext, stateLayout, divState, rootPath()) + stateBinder.bindView(stateLayout, divState, divView, rootPath()) assertEquals(pathToState("second"), stateLayout.path) } @@ -96,14 +96,14 @@ class DivStateBinderTest: DivBinderTest() { @Test fun `empty state path applied`() { switchToState("empty") - stateBinder.bindView(bindingContext, stateLayout, divState, rootPath()) + stateBinder.bindView(stateLayout, divState, divView, rootPath()) assertEquals(pathToState("empty"), stateLayout.path) } @Test fun `default state bound`() { - stateBinder.bindView(bindingContext, stateLayout, divState, rootPath()) + stateBinder.bindView(stateLayout, divState, divView, rootPath()) val expectedStateDiv = divState.states[0].div!! assertStateBound(pathToState("first"), expectedStateDiv) @@ -112,7 +112,7 @@ class DivStateBinderTest: DivBinderTest() { @Test fun `selected state bound`() { switchToState("second") - stateBinder.bindView(bindingContext, stateLayout, divState, rootPath()) + stateBinder.bindView(stateLayout, divState, divView, rootPath()) val expectedStateDiv = divState.states[1].div!! assertStateBound(pathToState("second"), expectedStateDiv) @@ -121,7 +121,7 @@ class DivStateBinderTest: DivBinderTest() { @Test fun `selected temporary state bound`() { switchToState(stateId = "first", temporaryStateId = "second") - stateBinder.bindView(bindingContext, stateLayout, divState, rootPath()) + stateBinder.bindView(stateLayout, divState, divView, rootPath()) val expectedStateDiv = divState.states[1].div!! assertStateBound(pathToState("second"), expectedStateDiv) @@ -132,17 +132,17 @@ class DivStateBinderTest: DivBinderTest() { clearInvocations(viewCreator) switchToState("empty") - stateBinder.bindView(bindingContext, stateLayout, divState, rootPath()) + stateBinder.bindView(stateLayout, divState, divView, rootPath()) assertStateNotBound(pathToState("empty")) } @Test fun `the same state rebound`() { - stateBinder.bindView(bindingContext, stateLayout, divState, rootPath()) + stateBinder.bindView(stateLayout, divState, divView, rootPath()) clearInvocations(viewCreator, viewBinder) - stateBinder.bindView(bindingContext, stateLayout, divState, rootPath()) + stateBinder.bindView(stateLayout, divState, divView, rootPath()) val expectedStateDiv = divState.states[0].div!! assertStateRebound(pathToState("first"), expectedStateDiv) @@ -150,11 +150,11 @@ class DivStateBinderTest: DivBinderTest() { @Test fun `new state bound`() { - stateBinder.bindView(bindingContext, stateLayout, divState, rootPath()) + stateBinder.bindView(stateLayout, divState, divView, rootPath()) clearInvocations(viewCreator, viewBinder) switchToState("second") - stateBinder.bindView(bindingContext, stateLayout, divState, rootPath()) + stateBinder.bindView(stateLayout, divState, divView, rootPath()) val expectedStateDiv = divState.states[1].div!! assertStateBound(pathToState("second"), expectedStateDiv) @@ -164,9 +164,9 @@ class DivStateBinderTest: DivBinderTest() { fun `rebind adds swipes`() { val oldData = UnitTestData(STATE_DIR_AUTOANIMATIONS, "old_state_no_swipe_actions.json").asDivState val newData = UnitTestData(STATE_DIR_AUTOANIMATIONS, "old_state.json").asDivState - stateBinder.bindView(bindingContext, stateLayout, oldData, rootPath()) + stateBinder.bindView(stateLayout, oldData, divView, rootPath()) - stateBinder.bindView(bindingContext, stateLayout, newData, rootPath()) + stateBinder.bindView(stateLayout, newData, divView, rootPath()) assertNotNull(stateLayout.swipeOutCallback) } @@ -175,10 +175,10 @@ class DivStateBinderTest: DivBinderTest() { fun `rebind removes old view tracking`() { val oldData = UnitTestData(STATE_DIR_AUTOANIMATIONS, "old_state.json").asDivState val newData = UnitTestData(STATE_DIR_AUTOANIMATIONS, "new_state_incompatible.json").asDivState - stateBinder.bindView(bindingContext, stateLayout, oldData, rootPath()) + stateBinder.bindView(stateLayout, oldData, divView, rootPath()) val child = stateLayout.getChildAt(0) - stateBinder.bindView(bindingContext, stateLayout, newData, rootPath()) + stateBinder.bindView(stateLayout, newData, divView, rootPath()) val inOrder = inOrder(divView) inOrder.verify(divView).unbindViewFromDiv(child) @@ -189,10 +189,10 @@ class DivStateBinderTest: DivBinderTest() { fun `rebind to empty state clears everything`() { val oldData = UnitTestData(STATE_DIR_AUTOANIMATIONS, "old_state.json").asDivState val newData = UnitTestData(STATE_DIR_AUTOANIMATIONS, "new_state_empty_state.json").asDivState - stateBinder.bindView(bindingContext, stateLayout, oldData, rootPath()) + stateBinder.bindView(stateLayout, oldData, divView, rootPath()) val child = stateLayout.getChildAt(0) - stateBinder.bindView(bindingContext, stateLayout, newData, rootPath()) + stateBinder.bindView(stateLayout, newData, divView, rootPath()) assertNull(stateLayout.swipeOutCallback) assertEquals(0, stateLayout.childCount) @@ -202,38 +202,38 @@ class DivStateBinderTest: DivBinderTest() { @Test fun `rebind from same state do not untrack visibility actions`() { val oldData = UnitTestData(STATE_DIR_AUTOANIMATIONS, "new_state_empty_state.json").asDivState - stateBinder.bindView(bindingContext, stateLayout, oldData, rootPath()) - stateBinder.bindView(bindingContext, stateLayout, oldData, rootPath()) + stateBinder.bindView(stateLayout, oldData, divView, rootPath()) + stateBinder.bindView(stateLayout, oldData, divView, rootPath()) - verify(divVisibilityActionTracker, never()).trackVisibilityActionsOf(any(), any(), eq(null), any(), any()) + verify(divVisibilityActionTracker, never()).trackVisibilityActionsOf(any(), eq(null), any(), any()) } @Test fun `selecting state causes untracking`() { - stateBinder.bindView(bindingContext, stateLayout, divState, rootPath()) + stateBinder.bindView(stateLayout, divState, divView, rootPath()) switchToState("second") - stateBinder.bindView(bindingContext, stateLayout, divState, rootPath()) + stateBinder.bindView(stateLayout, divState, divView, rootPath()) - verify(divVisibilityActionTracker, times(1)).trackVisibilityActionsOf(any(), any(), eq(null), any(), any()) + verify(divVisibilityActionTracker, times(1)).trackVisibilityActionsOf(any(), eq(null), any(), any()) } @Test fun `rebind from different state untrack visibility actions`() { val oldData = UnitTestData(STATE_DIR_AUTOANIMATIONS, "old_state.json").asDivState val newData = UnitTestData(STATE_DIR_AUTOANIMATIONS, "new_state_empty_state.json").asDivState - stateBinder.bindView(bindingContext, stateLayout, oldData, rootPath()) - stateBinder.bindView(bindingContext, stateLayout, newData, rootPath()) + stateBinder.bindView(stateLayout, oldData, divView, rootPath()) + stateBinder.bindView(stateLayout, newData, divView, rootPath()) - verify(divVisibilityActionTracker, times(1)).trackVisibilityActionsOf(any(), any(), eq(null), any(), any()) + verify(divVisibilityActionTracker, times(1)).trackVisibilityActionsOf(any(), eq(null), any(), any()) } @Test fun `rebind from empty state inits everything`() { val oldData = UnitTestData(STATE_DIR_AUTOANIMATIONS, "new_state_empty_state.json").asDivState val newData = UnitTestData(STATE_DIR_AUTOANIMATIONS, "new_state_incompatible.json").asDivState - stateBinder.bindView(bindingContext, stateLayout, oldData, rootPath()) + stateBinder.bindView(stateLayout, oldData, divView, rootPath()) - stateBinder.bindView(bindingContext, stateLayout, newData, rootPath()) + stateBinder.bindView(stateLayout, newData, divView, rootPath()) assertNotNull(stateLayout.swipeOutCallback) assertEquals(1, stateLayout.childCount) @@ -256,12 +256,12 @@ class DivStateBinderTest: DivBinderTest() { private fun assertStateBound(path: DivStatePath, div: Div) { verify(viewCreator).create(eq(div), any()) - verify(viewBinder).bind(eq(bindingContext), any(), eq(div), eq(path)) + verify(viewBinder).bind(any(), eq(div), eq(divView), eq(path)) } private fun assertStateRebound(path: DivStatePath, div: Div) { verify(viewCreator, never()).create(eq(div), any()) - verify(viewBinder).bind(eq(bindingContext), any(), eq(div), eq(path)) + verify(viewBinder).bind(any(), eq(div), eq(divView), eq(path)) } private val UnitTestData.asDivState: DivState diff --git a/client/android/div/src/test/java/com/yandex/div/core/view2/divs/DivTextBinderTest.kt b/client/android/div/src/test/java/com/yandex/div/core/view2/divs/DivTextBinderTest.kt index fdbc5e487..dfe20c730 100644 --- a/client/android/div/src/test/java/com/yandex/div/core/view2/divs/DivTextBinderTest.kt +++ b/client/android/div/src/test/java/com/yandex/div/core/view2/divs/DivTextBinderTest.kt @@ -33,18 +33,18 @@ class DivTextBinderTest : DivBinderTest() { fun `url action applied`() { val (divText, view) = createTestData("with_action.json") - binder.bindView(bindingContext, view, divText) + binder.bindView(view, divText, divView) - assertActionApplied(bindingContext, view, Expected.ACTION_URI) + assertActionApplied(divView, view, Expected.ACTION_URI) } @Test fun `state action applied`() { val (divText, view) = createTestData("with_set_state_action.json") - binder.bindView(bindingContext, view, divText) + binder.bindView(view, divText, divView) - assertActionApplied(bindingContext, view, Expected.STATE_ACTION_URI) + assertActionApplied(divView, view, Expected.STATE_ACTION_URI) } @Test @@ -52,7 +52,7 @@ class DivTextBinderTest : DivBinderTest() { fun `apply hyphenation for text with soft hyphens`() { val (divText, view) = createTestData("with_hyphenation.json") - binder.bindView(bindingContext, view, divText) + binder.bindView(view, divText, divView) Assert.assertEquals(Layout.HYPHENATION_FREQUENCY_NORMAL, view.hyphenationFrequency) } @@ -62,7 +62,7 @@ class DivTextBinderTest : DivBinderTest() { fun `set hyphenation frequency to none if word break is to long`() { val (divText, view) = createTestData("with_hyphenation_long_word_break.json") - binder.bindView(bindingContext, view, divText) + binder.bindView(view, divText, divView) Assert.assertEquals(Layout.HYPHENATION_FREQUENCY_NONE, view.hyphenationFrequency) } @@ -73,7 +73,7 @@ class DivTextBinderTest : DivBinderTest() { val binder = createBinder(isHyphenationEnabled = false) val (divText, view) = createTestData("with_hyphenation.json") - binder.bindView(bindingContext, view, divText) + binder.bindView(view, divText, divView) Assert.assertEquals(Layout.HYPHENATION_FREQUENCY_NONE, view.hyphenationFrequency) } @@ -83,7 +83,7 @@ class DivTextBinderTest : DivBinderTest() { fun `apply hyphenation if text has ellipsis`() { val (divText, view) = createTestData("with_hyphenation_ellipsis.json") - binder.bindView(bindingContext, view, divText) + binder.bindView(view, divText, divView) Assert.assertEquals(Layout.HYPHENATION_FREQUENCY_NORMAL, view.hyphenationFrequency) } @@ -93,11 +93,11 @@ class DivTextBinderTest : DivBinderTest() { fun `reset hyphenation after text has no soft hyphens`() { val (divText, view) = createTestData("with_hyphenation.json") - binder.bindView(bindingContext, view, divText) + binder.bindView(view, divText, divView) val (newDivText, newView) = createTestData("with_action.json") - binder.bindView(bindingContext, newView, newDivText) + binder.bindView(newView, newDivText, divView) Assert.assertEquals(Layout.HYPHENATION_FREQUENCY_NONE, newView.hyphenationFrequency) } diff --git a/client/android/div/src/test/java/com/yandex/div/core/view2/divs/PagerSelectedActionsDispatcherTest.kt b/client/android/div/src/test/java/com/yandex/div/core/view2/divs/PagerSelectedActionsDispatcherTest.kt index 8d042ad0b..6d4d4a424 100644 --- a/client/android/div/src/test/java/com/yandex/div/core/view2/divs/PagerSelectedActionsDispatcherTest.kt +++ b/client/android/div/src/test/java/com/yandex/div/core/view2/divs/PagerSelectedActionsDispatcherTest.kt @@ -2,7 +2,6 @@ package com.yandex.div.core.view2.divs import androidx.test.core.app.ApplicationProvider import androidx.viewpager2.widget.ViewPager2 -import com.yandex.div.core.view2.BindingContext import com.yandex.div.core.view2.Div2View import com.yandex.div.json.expressions.ExpressionResolver import com.yandex.div2.DivAction @@ -28,13 +27,12 @@ class PagerSelectedActionsDispatcherTest { private val divActionBinder = mock() private val divView = divView(logId = CARD_ID, divTag = CARD_ID) - private val bindingContext = BindingContext(divView, ExpressionResolver.EMPTY) private val bulkActionsArgumentCaptor = argumentCaptor<() -> Unit>() private val div = UnitTestData(PAGER_DIR, "pager_selected_actions.json").div private val divPager = div.value() as DivPager - private val underTest = PagerSelectedActionsDispatcher(bindingContext, ArrayList(divPager.items), divActionBinder) + private val underTest = PagerSelectedActionsDispatcher(divView, divPager, ArrayList(divPager.items), divActionBinder) @Before fun setUp() { @@ -45,7 +43,7 @@ class PagerSelectedActionsDispatcherTest { fun `no actions dispatched when selected item has no selected actions`() { val divPager = UnitTestData(PAGER_DIR, "pager_default_item.json").div.value() as DivPager - val underTest = PagerSelectedActionsDispatcher(bindingContext, ArrayList(divPager.items), divActionBinder) + val underTest = PagerSelectedActionsDispatcher(divView, divPager, ArrayList(divPager.items), divActionBinder) underTest.whenAttached() underTest.whenPageSelected(0) @@ -157,12 +155,11 @@ class PagerSelectedActionsDispatcherTest { } private fun verifyActionHandled(urlStr: String, times: Int = 1) { - verify(divActionBinder, times(times)) - .handleAction(eq(divView), any(), urlEq(urlStr), any(), anyOrNull(), anyOrNull()) + verify(divActionBinder, times(times)).handleAction(eq(divView), urlEq(urlStr), any(), anyOrNull(), anyOrNull()) } private fun InOrderOnType.verifyActionHandled(div2View: Div2View, url: String) { - verify().handleAction(eq(div2View), any(), urlEq(url), any(), anyOrNull(), anyOrNull()) + verify().handleAction(eq(div2View), urlEq(url), any(), anyOrNull(), anyOrNull()) } private companion object { diff --git a/client/android/div/src/test/java/com/yandex/div/core/view2/state/DivJoinedStateSwitcherTest.kt b/client/android/div/src/test/java/com/yandex/div/core/view2/state/DivJoinedStateSwitcherTest.kt index 16470380c..03ed2f2fc 100644 --- a/client/android/div/src/test/java/com/yandex/div/core/view2/state/DivJoinedStateSwitcherTest.kt +++ b/client/android/div/src/test/java/com/yandex/div/core/view2/state/DivJoinedStateSwitcherTest.kt @@ -52,7 +52,7 @@ class DivJoinedStateSwitcherTest { stateSwitcher.switchStates(divDataState, listOf(notActiveState), resolver) - verify(viewBinder).bind(any(), any(), eq(div), eq(DivStatePath.fromState(0))) + verify(viewBinder).bind(any(), eq(div), any(), eq(DivStatePath.fromState(0))) } @Test @@ -62,7 +62,7 @@ class DivJoinedStateSwitcherTest { stateSwitcher.switchStates(divDataState, listOf(activeState), resolver) - verify(viewBinder).bind(any(), any(), eq(div), eq(activeState.parentState())) + verify(viewBinder).bind(any(), eq(div), any(), eq(activeState.parentState())) } @Test @@ -72,7 +72,7 @@ class DivJoinedStateSwitcherTest { stateSwitcher.switchStates(divDataState, listOf(activeState), resolver) - verify(viewBinder).bind(any(), any(), eq(div), eq(activeState.parentState())) + verify(viewBinder).bind(any(), eq(div), any(), eq(activeState.parentState())) } @Test @@ -85,7 +85,7 @@ class DivJoinedStateSwitcherTest { stateSwitcher.switchStates(divDataState, paths, resolver) - verify(viewBinder).bind(any(), any(), eq(div), eq(commonPath.parentState())) + verify(viewBinder).bind(any(), eq(div), any(), eq(commonPath.parentState())) } @Test @@ -99,7 +99,7 @@ class DivJoinedStateSwitcherTest { stateSwitcher.switchStates(divDataState, paths, resolver) - verify(viewBinder).bind(any(), any(), eq(div), eq(commonPath.parentState())) + verify(viewBinder).bind(any(), eq(div), any(), eq(commonPath.parentState())) } @Test @@ -111,6 +111,6 @@ class DivJoinedStateSwitcherTest { stateSwitcher.switchStates(divDataState, paths, resolver) - verify(viewBinder).bind(any(), any(), eq(rootDiv), eq(commonPath)) + verify(viewBinder).bind(any(), eq(rootDiv), any(), eq(commonPath)) } } diff --git a/client/android/div/src/test/java/com/yandex/div/core/view2/state/DivMultipleStateSwitcherTest.kt b/client/android/div/src/test/java/com/yandex/div/core/view2/state/DivMultipleStateSwitcherTest.kt index dc17bb95a..beb41d4f2 100644 --- a/client/android/div/src/test/java/com/yandex/div/core/view2/state/DivMultipleStateSwitcherTest.kt +++ b/client/android/div/src/test/java/com/yandex/div/core/view2/state/DivMultipleStateSwitcherTest.kt @@ -57,7 +57,7 @@ class DivMultipleStateSwitcherTest { stateSwitcher.switchStates(divDataState, listOf(activeState), resolver) - verify(viewBinder).bind(any(), any(), eq(div), eq(activeState.parentState())) + verify(viewBinder).bind(any(), eq(div), any(), eq(activeState.parentState())) } @Test @@ -67,14 +67,17 @@ class DivMultipleStateSwitcherTest { stateSwitcher.switchStates(divDataState, listOf(activeState), resolver) - verify(viewBinder).bind(any(), any(), eq(div), eq(activeState.parentState())) + verify(viewBinder).bind(any(), eq(div), any(), eq(activeState.parentState())) } @Test fun `switch to single state of missing state layout binds root div`() { val inactiveState = "0/state_container/second/second_state/hidden".path + val div = rootDiv.findDivState(inactiveState.parentState(), resolver)!! + stateSwitcher.switchStates(divDataState, listOf(inactiveState), resolver) - verify(viewBinder).bind(any(), any(), eq(rootDiv), eq(DivStatePath.fromState(0))) + + verify(viewBinder).bind(any(), eq(rootDiv), any(), eq(DivStatePath.fromState(0))) } @Test @@ -87,8 +90,8 @@ class DivMultipleStateSwitcherTest { stateSwitcher.switchStates(divDataState, paths, resolver) - verify(viewBinder).bind(any(), any(), eq(firstDiv), eq(firstPath.parentState())) - verify(viewBinder).bind(any(), any(), eq(secondDiv), eq(secondPath.parentState())) + verify(viewBinder).bind(any(), eq(firstDiv), any(), eq(firstPath.parentState())) + verify(viewBinder).bind(any(), eq(secondDiv), any(), eq(secondPath.parentState())) } @Test @@ -100,7 +103,7 @@ class DivMultipleStateSwitcherTest { stateSwitcher.switchStates(divDataState, paths, resolver) - verify(viewBinder).bind(any(), any(), eq(firstDiv), eq(firstPath.parentState())) + verify(viewBinder).bind(any(), eq(firstDiv), any(), eq(firstPath.parentState())) } @Test @@ -112,7 +115,7 @@ class DivMultipleStateSwitcherTest { stateSwitcher.switchStates(divDataState, paths, resolver) - verify(viewBinder).bind(any(), any(), eq(firstDiv), eq(firstPath.parentState())) + verify(viewBinder).bind(any(), eq(firstDiv), any(), eq(firstPath.parentState())) } @Test @@ -125,8 +128,8 @@ class DivMultipleStateSwitcherTest { stateSwitcher.switchStates(divDataState, paths, resolver) - verify(viewBinder).bind(any(), any(), eq(firstDiv), eq(firstPath.parentState())) - verify(viewBinder, never()).bind(any(), any(), eq(secondDiv), any()) + verify(viewBinder).bind(any(), eq(firstDiv), any(), eq(firstPath.parentState())) + verify(viewBinder, never()).bind(any(), eq(secondDiv), any(), any()) } @Test @@ -137,6 +140,6 @@ class DivMultipleStateSwitcherTest { stateSwitcher.switchStates(divDataState, paths, resolver) - verify(viewBinder).bind(any(), any(), eq(rootDiv), eq(DivStatePath.fromState(0))) + verify(viewBinder).bind(any(), eq(rootDiv), any(), eq(DivStatePath.fromState(0))) } } diff --git a/client/android/divkit-demo-app/src/screenshotTest/screenshots/API23_HDPI_480x800/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step0.png b/client/android/divkit-demo-app/src/screenshotTest/screenshots/API23_HDPI_480x800/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step0.png deleted file mode 100644 index a5027b1cda49d3be24f983318aec2a01479e5e6e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12455 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 Q_mx2K8-~}5H0|&GA6?Evx&QzG diff --git a/client/android/divkit-demo-app/src/screenshotTest/screenshots/API23_HDPI_480x800/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step2.png b/client/android/divkit-demo-app/src/screenshotTest/screenshots/API23_HDPI_480x800/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step2.png deleted file mode 100644 index 05d0928fc746ee20c0a5dce331d81876dfe613af..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13567 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 Z!g770sZW^`IMD=xX&BrnQn!2fzW{>aWgP$j diff --git a/client/android/divkit-demo-app/src/screenshotTest/screenshots/API23_HDPI_480x800/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step3.png b/client/android/divkit-demo-app/src/screenshotTest/screenshots/API23_HDPI_480x800/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step3.png deleted file mode 100644 index 1a74db9ac5816b5048992dfb95092c81720591be..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15174 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 diff --git a/client/android/divkit-demo-app/src/screenshotTest/screenshots/API23_HDPI_480x800/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/item-builder.png b/client/android/divkit-demo-app/src/screenshotTest/screenshots/API23_HDPI_480x800/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/item-builder.png deleted file mode 100644 index a5027b1cda49d3be24f983318aec2a01479e5e6e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12455 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 gDk#j9`5?yQfJ`Z=eF5oJ5a~rgB`AUrY7}3p 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 Z>Le+7$(Ch8E`P=X3?Zg^7@ddF{|lD8n2!Je diff --git a/client/android/divkit-demo-app/src/screenshotTest/screenshots/API23_HDPI_480x800/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/non-unique-matched-selectors.png b/client/android/divkit-demo-app/src/screenshotTest/screenshots/API23_HDPI_480x800/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/non-unique-matched-selectors.png deleted file mode 100644 index c8ef3436cf90cbcb16e0424366233de3b7df7fb3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1373 zcmV-j1)}3A%qY@2qAK|3Z{^tUFfu0)5tQC#Ytq)iWTmWu|vjr+XN({2`U$kl;ja|bX3 zSOa{8?Y;*oAA<-XL`zYP0X_uWNO^INWITj_@$Pr!l^Eb{*rJ_mvmZDoP_G_WmXz@) zaAlxwAu>9E&A|JZ;Ym`70dCY-M`X3@1P%g^dD^XXWu5MOk-6){&cl8EcIW6Tgb)*s z$N;a$7Rh+JI9AVR6iV0*a1~}$BDMi<1E*r{%c;Pbj6F*{-L>xx(6P_e{RUVJ9D^Bx zJ6wK9xq^-{6t4GSMbYw<0n^C~ANkG1j5&u4e2ld4Ll=^+V^b4fqLo#ZzyUt2e!n_Cg5J zq$F=aF9ps^q>lpRZ1v>bh25b24%ml<)vUnIE34sSPu>>yOuEpMdY$H;pJd4G%IUur zGOD4GW1Yu)z$mu+k5~#EaAisI=57WyzR@35eHF^y z3d{qp03HDj1Fr&4Rwz%TGhSo;2kF5ThsuEln+zt^eHzv?7c2q79u(Kz5DOu{ZD zZ3dnIuE);&?gUP%LhePLyi43OD})Nny$Nt(hTI*VvRcciHT4?n5C*YZ&)wJ=bT8>I z5XqanQD7JFIQE--X-};b7ea{fq+SMiGPW~Xh@II@#x4y-At%u}<-hJZ4~u{83ef3U z;4OSl~F|Ds0goq3kA2)2)b%Mo`bO4r%uxW;B;! z?&seqyOopV&D}r10B{d*8|Id7$1Y;c#oX#b2+>kh6NXfx9BvXZ3D}PRQrCJ{4sbLU z4;n9@f}cL@!cxCS=3dM|y_8b6yacKbCK@P?0W$6|wqY>0|tV7#v#Qqp`18-%>3Yoh-*iG*> zSUm6nSHB-S;}${)(O{xolxRNMvH0ih92pY~nmZwcID&d!!V=9-7wPfeCG2G$S!hm?LbMcm!M>=5A>b_c`3uIr{YnTSLuJ00000NkvXXu0mjfypx02 diff --git a/client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_XXHDPI_1080x1920/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step0.png b/client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_XXHDPI_1080x1920/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step0.png deleted file mode 100644 index e66fadfb6d10e127566cadbfa3a77cf674351c6e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 29238 zcmce;cT`i`xAz^26e%i5Zz2H{q^N*MJ<>x}x>OPA9qAp3C?Eks6A+LlM7q*z02LAG zO{qaZdMC6{-W5FO-gAG?Gwyi*d0z)(M6&l@Wv;o({(j~p;=ZOb)p_Rg5D0_{rlOz? zfe?#BAVef&B;Xr{c9C)LLHtw>rb`C?1&}>?34vUJz!dK3`n*}0@P7lf@?F?8r@Gyx z*g+ksq+p@mpa{KT|I%AY<325|*Q?v{8kdu<`MqKoR_nc{9RBvEAB`z(1OE-5pSPt` zAG$;^KR0!0u^d!<^`*d#KGuix!*Y7M#nREHm%N52wz06@@Auwuz~M*Zp&>o35f4uT zX>3yu%T0xEbM8_LjL_oX+qZA`y|s*m!jOX*av7h}zQ*b*@W_B)bAR!D>Zl{9g0+2x zzW~4MvJy$&b>T#na~Kj*e{yTMa3wN3?^9V%(lHPOsx*#6*GF#K@CGf?aB^=#Ln7>IO?+Ls2QF z^lyyD1S79p=WmPU4lUnkQZLHCBX@o`In~IXSud zlbaNiVjuk@9X}>oHgLOk@LUj~8Sh#7wTp|3(!MU{$gQffGGV6nO;#oW$v>qY$BjjJ zr+@l#axJndMYcRBJLO^f7w;`}gnNQdPV#MQy?4YJ#V^ zG;BO~@#Z<&IeH?QI4;iEzKQtx^JlG@i!w6OIVdPdFfw};YVYxS7H`z8zK^u49);23 z2qB?F)iD89K07XB6BAZhkA+^uwa9MG?mK;)z$#dMEzPolj_7NVX2R0ajX4aodj1jkt%1!+H0wiBXma+oT$(7!y5Gt%qGmztLX3!IGFJcTydYt2G*W92#3O0 z2JmA8Ec;$F?abIlBV|U-T<=u0Pw#$+#6Qub@8HUM1K2%HhzGW$KZhIkJF_Lr5|6lc z@f|NiU0vj%rM>;qU##tt?+3i};=og>4teL=Pw+$9Kokd^DADCxh3sCCIP+b@C*VPE ziups@NGR%kzrAybgcJXn^~$XU#CLnXe_vTqzJkoHSONA!o5~>Et8o$6d%!q&DndRwlv2ilVrI%1t z`M168lfQfNK%%8wm2>kx73{=v-*>vyRRhWJE zx*h2Lb>m^-a&QU!$Xh}6BBmt6kh+f^To%wfU02})-}bK#S6~>Kn95zMp>&3~TJSbo z^zwRuA3X4ki^elcKR>^okY5G!Dp%GvXKXyHJiQFk!$CIRsm0z@ zg0*W^^%{80s_dMyFku6&IEy%e&w0+DZa*NF$XsR}9UU+31W@j+*BG)jaw$&H^*(e2 z(M!C2fR}d=D_!lh z`8j2?64DH@1zX<+-x0f4mA1c zHFRY+m`j;31{y%!iJlKRhW8AOgv1a96R8umSJZTq`COSkZV21>c|^Z4^Q}3PU{Ynj zXfh|-&_7UJkB!vv+@w*&DhWmzog7k45KMWb%HpO9I>dJ^>Xp~JIK~x|^lfJoZB8rb zRk%CoyUG^wG}Pe!DdAIES6NJ7gs%ZnDG|Lyq>m3Pg;acOz-YqeQF`c$i%1U0DRBeq z4+EP(S#A@?V4j=nS?DOTjy&rOB^46gV+vOoMd@<2B#q#>IpKJH_pP*$DM(QDt>dSy zHcRVdPO}q#-0pv%V8q}hZEcHUl6)DZ;Q75zK6CUXJ~)e z5q+as**2@ZvgKChIkWUs@0+eh@t&v5(=K|Rv9UMq4nB4~b`Qp=Vpa#WoS)o1UlY=M zi)&Q|Z4m0MEnEAbXFF62!dr1rr-?wlj}I**li#-HzSEB&mHBI*b}e%*b-}ybb>Wou)nxlnglb59Ph%b20>X{tM=EwIbl_E!Bmq3F-=s z7x#OpXF5CE$R_Rw6-IeJF~xAmf3dPh{(v}NUJte-}{lXj^_2bHN_f!bHX)MmGFj}meR==>#jdJAg>fBLhPk_=LlWWNa}^vtM_>?*s?#mND>!L_h7@{XthnoWJ$Ydud^{hQ&v ze)wtCA6rhM>~h3`siqy6;uV=cy}aQhXVIQJrJ)fV>6&%0{mS#SVr!pZLlGkluOrl2 zl~{W0Ctb-<*#m`=Ics#Ca!xxRn>}JEQ&~79nkGCrfFJTalu_KTKURD^c@C{iK4JKN z?ZT1MX+2TEzV_5xb{RrO$U`P?EHfeLR8Zea>T* ztx$*D8`_vkr%$~2Mm`F^+44X)lb5pNz$}%QKPWEMIbW>BFKKPKTt(%iVu`Cr!|)B{ zP5+|<`>bBzk_`R28ERgIK9X6&j(xebk{s{6UXMB#dFBR6t?;gFGZs8D-5$7kGS8AwOn%Cvaw0fb>}9Ug*97zNpWyYR= z)I`6paN%)>ykE1aT2sX9OLB#;l?j^fsg$uQGnVtD+b$|ewhyxL-Gq9M4$b-0_PiR4;oj8uY)UJPo@|?wDc;S@ zOl^)4ZdG}Zw>RefbhMi+EAi7gIA>JU6P+&&9G>M($FDK?qf$7+RF}jirC0RV9da(u z@$ps%cJl8;9NAvbBnxj3&1I*2Iu-qU-?*-OT@`Me3VPEfh9I6KUU}!!LG{%+FJ5qV z3}IG*Ki?q-ZFs~<){W%$Uix1Q#|4O$#gEG6!kX1=Kf5`0mtzOC+>O?Qt82zBLz}<9 z4wl8VPCg%ax_CUS$=RcCN-4$v0=uhPw|3scpv}4=YUIpIF4D4o-h7I&ZzW@#hcqh{ zlx~P)=+NHUotcD3in2uCf3^(n%#(lSst-&s{;^w*HfE6uX5Ww$Xo?9^s}@rk$zB*n zp`&j7Ha{=LR3q!kiy>>>gSk)b6;>+i7bZH_NflQQKLBm-4}bJ5r{*z6skMNbfhaB1 z`(2VR{ZA}u_=CE<&tYT?UA|Ev%>--duf5qTx#CRZf;{Ew;!0}W&NoJH!%&N1=$z1e zq9}NujWf?69Cks&-|)hW?X1mUP*5t>1(P1>vJ-G}Mv5e;yHdt*5D8g3CBrq)(xkMS zJ%Ne6k$Lu%KDHcHk{UIJrK400mwYtsYjKy1`Y(4Gpo*v5jV_F2IzQj!!wj%Bi3#1z z64dCYl{6W#tbc_+5cP+=#xM$!hMcN*EzkA73EO#!$wB#^M)kH{72>5averGmutA8? z$3&q!bvj-0eN6S731r@+?!96!k(H)gO*Rgg5a;9^5%Sj=(Bh`F97Av|x_rkEr{7oN z_D7DSh$W1tGL8LHs1=@=r;rUDY^Wie&wiMUM4PBsIu7Hi)Qy;VY?6ceqgK3 zt?Q=ayNiQU`4DfSlDGArba_umeVptkp&K&x##y;+1P#nSu=TbxXBGm^Y;$}1*RnBs zickj)_S;u9oLO$rX~F#zG%j=`cX(4~=|WgtLTVFfSy->*DVZF>*ZNC>w)1tqT+-ve z&s)46&&>bbjEF4~=kU4g>fM@ta7m6ox}Iitf`itGdW9FNv}VBD9Z!yHSi-^MPPxRPOZYwvn>~7JA$u6{7XsN6Ja$Jn(LDMK!%)Y)?DpdIL_Bpi6rN?aN5Ih0a z-P|6^es)#|VQBxuOGUu=x$OMOoo?8h3x>B?VKqK#GTqbsUmWx#w##i%%=Ig((%}|qBJHO5p0}G?QbM(kAm7@HMH`ea^Dyy^-8MTMIbknNKBM zB{nLl&2YCcrtnKqpf)HK6D@1lrf=)Tg2n8l;{7WduB~kA){_^c;zy&7DvC;&@O>?X zdW89$tNhHBb^zUgJ__$$&0C6t%OUmdxcYadTbJZ{=_WGt))aobvU@5ccPC?>V5D-h zZkcR-o{g!eF|$`=3CGlv7Z|c}&`@{lc=gj$_bP6Ig=twL z{C*DS;@t|bJ~OP6+^^Z25x%E??T@h)Y^MSPhQR~9n6g*~+Q@NhK9~&n%!v}FnXEXZ zgvVp7Hm^lOR^>;v77t}2?g~a6V=ZU!rib8E0lat9Dw*>_liq(JpD@_km6w}{zH@08 z2hGBLi-1ErgXC7D3qxYccGqnv&R*}y6gy_}PE@dvE`*uVnbwWH7MOv}fDX|BIsJpSZcX1@zv;pFR~Ucv{MV zes%XPs7%1{;lrPJ=?=`5s~^t&(+&q3*22OHP3 z4~E1Dyi`YdjUJ{=RPVK#3Pirgy>4f16(Mxs-;4nw9+QbUGS?3|)q{A8KXMl9-Hudc zZ3p)HFEyc)nP+$B^Jm4VA297u-KJzM4v#Z+=7ANrxS^TZu3#3F?&VY`zD~<(ZgJ#s z?TmN^tBMFRSG{B1YS{%}U*#=h&;t+aW+2rJ&F_5xW*IcJen!M-ZfN*=#RiBXjzF?9 zhB$EH$BU{6=9*iFGWl`p3WeD{xSVcq+&rO!H>D%i$Q7bK3WOGt!Yyg3yBHvmAah#_ zVXn}1>XMQYv*9W52&`k>0thgmB&?`?%e~8rv~%vh#+i@fpxgn>7FJnPBc5?|Qi;Xyx`T#o^sE<++`jkp^k6xG@jhqCzo;7X!+VFlX`AG;IrqCI zM|WkJ2REA<8jcQ4xZHng~RQb)q0zd53 z6#-jsirNXJz%^@g8BSRL7ahUmJ46N+6I8%(D6ZmRj0!VpiIIs(MQ{xi`_~+9r)n18 zr`+AjH=srhR&z76CcYOwP&;|ltJfcRYAu$}o(y!V#HgfuxCkb9CJ&h!A_sM?J|%Pw z;nhUYC>sfhI88dXiMzLNKh=!+6_-nu)$cxo6@Ppt-_f#Vs^=qFabLcCVZSXZ>iL%R zCak|MX(8!x=ULgxbrM;c+;>?`6_KebF-e3xckm4|TX=FgaV(c2hR`4p42r2D6t=88 zhwD3QZbDcI4Qp)5Y>lIZ#dPbLj0&6c-@K*nj33q7g`XXs@9WQ_yUWYV84Q!<`<0UP z)Gz04ngg7EO zq!y@%o!dV$pmZHaM@K)=CctAl4*oRrXx8gPdY{#EaG#QrQg=#5#$^167q{JgdU|>u z0|NsgHC{3FpEg&IYt?+DVMAwJixj-o$7v^RXlN+@v7gTB*72K&GfT)Gdi^rx?Q?_t zU~AvZ&_?YLP#{&ANur{nW?oRUN!*UihCQN)U}n+d5yPA4WC=&^ldhmV#QtcnxO(z1 zwAi>>5X%cBIOmZPQ`#47UO!Uc@Gnn*1n-EqOW4ga+D)Da>R;k!k=eG_5i>+wTwFMa zzJWn<_BA6yMi!R(FZ3KpzpPsc%hw@ptXi*Ly;6r1m6SLmvTdahGZ95~%&)DT~<^Bq9p+U8f$4lU5#~!1(N!WKmOuK0&cmAm?00j7AZzFgC=%;oa6a=1sI_J zE%q2*0efuea#^t+NUdHj6Lp>_^P51{9jkO0`LwXGkR*<%hUAYJcPrpmf08^G-fT}A z7Sb8t60n5%`@MYow(q z{6Fysl&V?P0YMSJt&ZmgsN_1C+V2a<4^CcQUf$KqiO^!9#8FnsvQGR;;@&$HVZ~Ql z&hZ0mh#yPqfgP6hYE337S6a@R;a4;h|Luu87eE-QdHuOqFiE;}m)ut(vKJDT{_vM2 zeP!MRKv?EJe*8G*M;`~Zo9N_|u|K0L6SlY~{a~u141Ukgd#B=AgtpMDijS^!#*rOV zFzq{_&|QFDP@4J5b9j$78ghTeWqQ9tmrr9?h85PYbPK<_ZTY*GN%WjGNTN@l0udR8 zrl*Kh1=DKF{}$}(A8t~Z2iSnaH?bGb5}{b_Id3a}&ryB+wrOuLK&;GH>(+hFK(U@bSTxUZ7AYB0v}lG{^MtZ+XSG|HdPz_y58pR59O)m6x1yYmgYg@WEFrjr+QM0$VUx;So|d=Z@DDVR{-o^X-0T{whV!Ml>D#$^Vxjnnnw=;Mbxd~8+S{NB%b@T#M z5)jY^Ivt4?3%3U_?YIL;{I;wPj&;EFEV@^aP|=xnJcwB8VCK;WW&r2Wf>*hGef~D; zNL|B!(GgXnfoGOao_uQR0_PXiv-4>#w7vkpi~~9VjCT|8MVr6eDrOL9+7Jc;$xtn# zQ|fWzBgz^AAQuT@ghHo?5Nrx>`EqYvmdrQ2FS|-@lnoy3L0q_?3M&q8_63|^}A^sk= zbK?Xxq#Mg!o95thlAvG<*dm23#9DEzEZD+v%7A>^~FzNKU_EZE-t%s0qvktEC{5##-BsQypLW}fxS?e0G-xHtYu3#~5#HQl2cKDzN%Wjd>^)xfhc~w+leM=~34Ag7y?cB( z1-BGgh02*`5AZKH}zCLj}x~@%S3I zKtpl`kn^stL|HF46YRHra_B_O+l-BSjXo6kbbo#QhdO&^i}I6(wP)d_H4{HkBY~{f zxHEd5npbee%q-c;J^TICsj2!7AVyuevdJ%aGbA%&#Z_favw4>J`)~F?J$EvJAIvLs z`wDKfl?-0Zkf7!ZV?h@;s7C8!Q8HCkHPJYt)6zDlPiP93BAl*~mT)e|Danx%#b!P& zs|$2|;-r(h>fmOpq8+~`&!DB9Hw%NoFP0=?<&4ah=5C)ZI}NjK2XqWgCkJFL&FCE& zIYJ6ih=btj4d)HWik+EZ!Gi1BDZw-w#jiZYR9!ExGA`BNIsXJnDkkDFc#rEhP!X zU$}0Lm)s87HZoizfUk*MSb4<4aKAZ9p-&yTZnH52r@-Xic_7;%qG}uAs{VMAg4{GZ z5?VU5#F)x^jrlHEOTcgY=8M~3&F-6_{pYSu%>O+1`Kl! zF0-q=`^cXbT~FTC7heJ$|J=Zkb?O(9{emfG8;+#Z*FZLKDh z2`u3}+s&E_yKbBtSdz_CBkq$N?d|6CZ`5iYF_#wYG0J&|&l5~(3ItP@MfHj_>E#m! zr@d~9>_uXl;D_fe;c;&4Bn@0M*x-9JYd2@m0P<9)kuz8WCGWjszMtE^`tVw*8kqo> z-{SdJMK^`j&(nDk^ZhY?qP#p`PjBzjw%Q0RwxHFPZUhT%vQqHmefNj;o*!Sf$r;#+83{5VQhA^Efj}F4a>M(|V6RGZ zm062Q!D==#KDXPqTH+0llpwy`>pw9T~5NdJ# z()j}!_L@6C*BuxUaT$!yrUZbGQMJatxi(3@??1Y%)s*S#7Hl6i=Hv54B4b$TRd8(i zu?KR_f@#dhk7djjTIe&Y=+q!{75A)qa$?+%98pB^=|;{VedxHp%}+^Mr6HJLee&+w zQS&>^21QlZotfLOD;fB1*Qu74M)QkGhOOfLbCv7GDuMAcQ_yh07ui!E!N!XmZI$`57MNjk&<*M}-N7%F+xNaTAx`qxShUk+b$V`Qh zC$(Lxx~4y;mk+ZzGF$uvc_?9NJKjab+Z&FpZU!R2_ri9V<+M?Bf3FnGOBF7@apQ8= zzIuyJug#Pa#t@t&RC3AcHiq5zzT$f?nH}|rQoJ|p2l9AoV5}x-(p31J(Bo!;@!sjW zq>%NCk@Y+y&82Nv&t+=(C2pjIlTxs>MRVr3p2ERGyG>aJ5j;+IY3QYoKo-67r8!>{ zD<)3p5&O9#63!NPR*O%m9@%*;#Z}`W(NACDcW^2y2MUBz(}g4RR<^G8IBDV~KyBtM zYFosb#@bfLuZyO$XMZqVj4IqY#M%7=uuL1ow2t>F#kPdta!q!)5QAO8HyNGVHLA>< z9z-~)tg0{EaQY|l@I#qKb>|9)99Aw+leYZw&6YS1?hOS@u=aN5m(i0A<@t)^S+@Nh zv7qs`)!dPZ)$~&jr&nI~q&r6X6mYNlRwy=GPk|i_v?EX9mASaf^?3#v?RrCTa6j4l z&=<31C(cd@mI|P7d)r1{@hg;yb$}+4VJ0IMGiNJSPo2x6&3LH#89cE{Ty}bgB|hv7 z(Z#AG2_dd6KT*zm8fN&CXUoy%*58{sTrJjH7i*89u{^3);R-F1HLZnKPvU8uNbNdqXw>o_JF#%L z#Cg8hF8g#k;9bk1Q1fUp&%-H1XTfyhIg8G~UQX5i<3i0RPN988*u8wB@r_E&E)&6tzm^PGe&q80_g-dHZyp0#HRn}&-p_~w> zF=*8nZrE>=gF8Cp@*Y*-xcIq|oRxLZW4q?r zXwrRi=S|O;f|H7cfU8BM2&&`xsiiZRslGIDW>eVQyqg?=;p z_5Ssu8&gaE`~=Mxjvm;b458)hCl%qjiV}#5oRCv_C%IYeN9Iv(bBn$&eT zHD_iPozZk2$*-3_mHnB)K|m)m38a)rN+`X!M##%C#W~KD&I6S~aKCw@oEW@*{)j#+ z2t9wxjDvQGV$fkXm@n&*`Jt#eQ8y|3x$$&Y0}psCV-5cX1QWww&Zg2J=uq&*pJ=M{ z$Cv!jkNoS)jB-@rH(S%!aggA@Z2LYme+U@l)9Pdhi z>v}a35awF0-@}BOJFRT_fNkKZL~OI%kkqVsq}6`Fg&}O6I)44lUov&WtcQE>0!q*y z;^V!9ZLAx(kY%kT(d2!x?mX)~mAZ*&*Gtj{Hf+Es8R{x#y2%IZ(L&F9dS1@EQ6;^Y z#2@@UP14iKyG_S4{(wF>@$?0n&Oi}t9Sid(b4>vpFWX9(g}9PmHoDmuEJn<^gqhdg z2~qoP?vqWoHpTs9cNSXyMbrA(Vp!2pGNy=_6fSsIcFld_&LyQy+uSK~>X3Lt|INv@ z8Ap2|Lx0~*FXEpa*+t5AlB(L^xXcyWlbe*{ywyZaDwF8f72I1h1}oiFl-v?8L2$EP zSS^|Nhr=!1&2su)`o&>FesOR~KfwGs#@vsqFL30p=ZED_{f4X4Q4*@$2D z<8VmZf`e5xR|B)D6;< z?z47nv@ow9mCbRsTL~(Wvi(I-!Y#tm4Dk`pD#a0zb6r-yc$mPUQA2jbxnT~kPd4Wi zDRi03hIU4yKf@nzX%~GnhpeW?d+W@v5biuK0LL8L%+B2kKJXj z;hkQ8YB?tz80y-$!_>-#wGINWr2Ag2&sTHEaBJ{y{`-PiX6+38%SSibp3d*SfcLbe zk&&msVq`!jrgf~va~87V0!g8&_5uH1$n%|DP)z^a67}sGSuOuhKsKF${qsnKib>!G;m?;9ZFVIu0vT=78{7-) z0-P>n6EA)Tkz9poCmkFd2!vE-fx8EL@j=*W-<}^|PzLeb+1DgW4}0K+WsFSb%4Rh~j@(VVx<^GSASPJ zg7HkGWTs9br*;6sD~TOozETG`%QJE&I#70w6t2&Tm&^n40ml#kaw;bNl&IV$`S||= z3;Ri`{>c7EY<%)CAas{{su{_0)I~5hZ+(c@Sa0@|_niQ3F`mc?Jsy(Q)M_2-_z0yBH6(V^i}`E1$!2O22o7wBK}*ZGC#+h@YpdMsNlo zm!dV59@J{oZCrE3^MGMJ1!S%#P^TZAHMe$wuZ185hUf%HPH@Gm5hPXQY}LCmodLXr z_>6RucXfr36;>7&|4`4nP`jCLd_3pRE)M!j%eJVG%mFaozO%EV*f@!RqH6FY7a*N( zKX8+f(U+>~| z@vYGksGact0SmX1apX4o*+f5R75fx(y)<+ zOaN^eq=RsjT|q(VrvAn*-5^zg=7(JN7p25Awum*J()w!|D)D|7Qt#4;9lqd*2U4=& z^qBe+52P#rE#%?My7|!ME-jwvGAD$lzZ8RcfVOG_1m?!d0YdeEl9tug)m>KXqrt;% z(W?E}+%>&$cj+N=?x||C{OvDdL?FirxCk*oifN&4j|j!f`y|x8@GqXNU%#rogjL)62dcbbV6~l9*&w@>SeSOtf+v5SA zBM{3=zS)OwcO}mr?L5f6YJ70HOG8U*y~7`e6uE(SIuMG%m1FhdjLxCT$2DIsL&bKL zA5?UKksC6Ad8|Nl%>G=x4q)N8{|O71AAre5@;y%V?<^^M>=E?tf51YqNU#{!0(2Q) z&}VVRuZ#+9c)u>{v$%m+1HQy6V{u(%9UgNAE%auwfnbjGH!f$%Tj%}UAHUIbR(P=U z4CH^YH5yif^pM11RtBE=l(Re`zgW!If1^UH!olA^LQVC71Lcl+c*?y|bzUK@!mn=2 zf?$%~20-6y`pDA0X>e`ZtVYQTz{5 z=xK>3bFA$Qdij4h)7H>x3XnoOpFfFIV#t3dQt?H8+pEIj1D`552Q^%Cja*jB3JRc9 z$^StLmml)ubE3MtyXOFZL+t?yO8w{$`$BFdrGTiBxwK`iYan8yu%apLA5^%k_mQ3z z2ZB_*cDX=alnme0%vmN?f1N%)lWHRB?@X$>s|SJ3XArSiIob$hFo6JyfzrRAume;; z<~rM-P$IKoC_d5a_aS>U2w>}2_cX=>PP<0b$g`QZ#dn}~fvA8|jz6$aoBdy@R7VHL zc>0H30_xcN+7G;FWCb;tp!whofWns`{V!UmEsM{kLMMUYs!K@3{E)=M-1RsWq`SdE zkhcgPE*49kot_%%d11@1r?$b!8pQxyD7%8kg#p}Pp9<>vlS~ETv_bY6J|2VWD(HT& zZqxkUpR*1sxt|=7caNA8wp5>YkMs(DS<(K(3r87`nv(I=fB5fgswIx*b#NZ4n0!J- z%Mb1aVT`&;+H^aOIlM3yd~m|hsU#9lGKa%N1;jxJ%1XQdxbP>Ps+jcul1`<980~f*ogXzE$-6jq^TBu0m0P z=)<>&J)P5Eva9mwc$$HA!tNzsg@YRQ8X6zR$CE?o{=c%XBmPdbimulhXTbM)kkI%% zEuqWok#RD9D%Bh0EZV$Qkf<98T3iae)N zs`@h{f~bnn<(!QCHJ?K+j2e0@M3y8d@3W`p(hcWem*jUDxZA^PIkPi1PL4BwCtksu ze`=r^LV}6S$lj=K&-_B5lXcvV_+6hwxxFgebzw57G98Km5(O7|<^kYIC#+>0;*bEU zeesPuXc1TSsO487q%@N~k|B-gYO?nJYO>6>JA_)KYkf*Z%LivKqJtrdN@?}no2R6Z zQX=-u^6@@&BOt&hsjhBb1k+cAFSHZ9;Qb}p^kHK5Vy%B_(TpMH038*Qb1OqO+_eQj z5mQW0=mjsy6cRY3N=JQ`e9ZBnj|GxDJ4@qr<1&-HVEW86APkODM!OXdT0a@ACW8% zgJOE+EFHqEWGEUWMAsi1XPG#l6=U+qH|+SAFALZED$UAoEzM>@laSCN+VtT-)pQ zE?hBLkuD2!8m{*d$cDAD9pb$95BCVQoHvdNLmhOsCl!u!hp%mr413M^aBgI>eMwG! zaj7orNS|T(YaLoPe3$kzjF*;1@I~b&a|~X&vkMb$=`)Gwoyheg-Q#ObKgJPyL%xK7 zuK-)|XdU6S;+Vv2(nG!>-`< zUrjmbX(%uEJBE;SrcSJ%dBqH|++*J3gPNobGY-`s=E|33xMtv=T4+Nl9^&rWJ&B0D zGAd{L^TF|VHULhnF}`R|)JQskR7v#S$BZ)p5Ecy%QZ;!)GZ3p4&;>$fNpPOvkai~C{ z9$wtX1S?`6!i|Ji^O{@%;T&ozH!6P-%iSAzA_WlHkrJLdu?3vs-}b9PTITXQa_@Z? zrw`+E@CR3rYl&(K8)J#Vr9>wQ_ot@k;J^2$2$OU=r&3%ulXkAReztAA#QQ#oydmKW zL$czgt6XPD?nkl-mek|p(Z5DB{)q*UQB%?8PS==u)=+x&6%TU9+S#S{srWP^=mVl{ zn~cltaz|UiDsr1rF0^OI29=?Q$wA|8W#E8PWUDw}-xaq^c1|r`ta{&Q z5l_X5txm-?-W8p&e|qFKK`BL7)AV_6z|?9|-l;RpI*8!NDXnxdA1K+4oAh!Fq58!% zYoolP{9?Xz7CwWy+vJK0@j1l-6h05rHh1KOc8$$~QbF?9yXb$-wHI)TB(I~>-8Ct7 z#K$Ju{pv4B;UYHJUoY=UPsUz!g~$_9z~#js64qZdzQH{Gf|zplF?rli6Gyo+)>fLY zp<)zIXbHt;FEXdF$;*io{`h?!-bt;@PXCOXY!-w39^Qr=!nKcu`P=(h*V!Dt&*+)= z{oSXlVSts)TU>kZ(zw1ZE&3|lV>9~(2lYoJU&oC7@?=H#d|d;MX*n6BOdV~xDail36qIUb#z=aTEDAWP zW2|fLeOFg4ef@&F)3 z2P9{e>O{Jq1UMag!h)W@6<{tpbi*CRX4vrLC4YJve}sw6uxu3TbRdR6-XTLQw-<(q zvZk``q?7dVKW6M^?GM5o1lH5#HhA*ju==vjcc`cDI;YQa!-A~IaP07|EoK5p2r8GP z{r7{?>v0Jb-B{+|--TH=D>+y9GW`O^4`3($$=E#=_eD(VZCC8fuoh>JnY3&?i!(HB zUX&05(Sf1MeLd>An&YNfZCoCWSxA@}2L-EcevJ<5+S?ef*4lbecoblc6kmkkf*^Vh2JR9F3V z?A;LjO>w(S4;IAVF(Em;+PRgYVwO5RME>)oUsp8Fx@5H(uYUi8#_-la^SZKoV+zHT^~I(v`HXHxn)!*W!K>edHn zPm%N*J1pbQv)!F#%j*R4`J~jYr&u#aA(gEXPiM&+X>y{+RJ^;dcFR{@uPJd>$YD9iJp@;( zC69|^uO5r*J85(Z$NQQ(H$nUFt)zsgbxk3yy`NnA?snl**d`f;tf|M*r9}ek8e6o> zE}G8qiRS#q+V7qpcOyKLp?CYskC4!Hl+(!a{lsYYsGx@TRY&jy%R6LKMFLY=gl66}aTcs5e&{ah$tXs>)Y ziJOZ|u-K2f|hoCd4|H;e#3ii!6jEmnc#%EHX`=) z*&J9#+AP6!X^JZ7-P;|F$Rpiv_oL=3ID(}*GO5a=mF+vdVeVI~3ebz!6?uD9YhO-I zS>fVg8F6`);>g)O?bb+h&8;%1w`%Qe+4z378S3lJ>$Ez4)T|ohN^9kElI!WS-V#Zt z+*a>mbxhg)O}}lfdccqzW)@RXh`}VBH2twHx3B)U_40+C1WQ*ZWInW3>)TZO@a_l# zIu$?bcHL7{Ch^vwRaMox_i$2=7P%HZQQE*LPFiSgeP!KUZ9T5qabs`EfYyu)0{N>e z$?Z-^oMe)_!IAWJ>C5!1>RU&_V8lgva1`zq+48+WvcI6B?tk72)ZK zD}=gZ#Cavia%A=fLY-fl!dEFnC_w;ah)s#cpF#ZIrD-e5P*0d4q^~!T* zv2*fw>ka}``#KojQMQQ7R3y=rs%;HCWWO=!$wJ+~$acN$N=EYBXReX0-2`@qr`Oxe z=%q#SVrR31)tPp+g~&#`ls^XOC)(Ixv-rX!=#Ogz^YS}BA_J;oR%Oz*a7S**nT>)S z=N?KBTXUCcZN);@9fVHh+k2ejPwY`eBe~5=5J(7hc!8s{xjO3l##TZqSv~Si+O5^a z#p|NiWD;hVpf2D0EiUKONFGNf#7<{>;np&4sbikPWM0oY!A`PY90zb(8MdhDv?54( z4nh+~>AW@F$Dro0#p@fJyG>Jxv+<_8mACVhq$&m8}#ghYC5@WO~1j6}OAZ-KrR^6u!L^*xKva z!s}Sc$+X#0?Z{7FBuc@VdGb%Zpa=8ONAA+8JNVJ;)$i)*3C3N0?Ce~^Y-0&wWLrN4 zYX_~oF8FgsAzx@+!3QLo7lZ#`)(F8=;UiI zexNKPuP`e9=~fM@C$X~zOX5D${BJr|Fm#`NWjDKlJiecMpr2`n7ZZPmkzVLVpadYV&@Ex4Hihp~ z*}NqokVmoB$UM58YR8}M)BCAJ=rYfyp0s=CAR%_;j`WH8h1?j(>&KJx1d!KC6YnAd zKee_#`}Gu}Q*eB8^3tsuG>W9y7#&B;t65V|D*U{mnFu0W+{EVUfoOBCG^+p7&kPBF zzkO_aOa=B`*a$nTo}Q`jQaD67U~&qSsc%YzfJ&ZOCxMFKQ4N3s9u_pBNf5|uRbZA; z;Y2m%DON~$-uw4~QBy1#gb;MaLlmhpa-~0t=#fOlRF8LbEfWMHEYeAc=&tw6*G#Vq zsOTbi#3(VaX>h9?=m&&e!2onPY!C;^#D!Jwb21nSFN__Aa#qfWqU|a-eHueDvR2 zv*fa+g%Fj2e>0yVXz%1oixy3?0JDD-^>?jU6?gmfNiBSo214@wxT(={d=)s(14B_v z!Nh9)kNb2X*0#;&<_$GPd*Cl@4V2{5P9n1SU|WN=wYB`=1FR6S_tLmTI|~BH4_!Z* z#nqz!r?~HqYclKB4WKd(Am7*!X`=?1j0g(Sn+_s`A__yVN)-qlA_)ngBg}{d2mu8o zs5GSu0ul(I48(vmDWL=qNu(x`ND)FgJAUQdd+z<6a?f{vC;tTA?Cf{1wf8D}J zDS&(g#eYJjJqAWR)e8X`q2f9S{WG|pJa z@LUCr`K)B2m8g$amRk7&3Ean@QDAKil|%ln2g$$^J&cXCFIKF7@~d?M3uvkl$tg`- zj)4q-f~%1gyt<{NWVC1X4bYcEke?#eHKD9v$X_NaD=T^dbXp-f{6+Bm#B^ICGFK;Z zfs3k2`!+0jBg1R#qY==CqLPxXJu;Abt(dQ$_p+Y+)VN@HC=jf$h09TInttgERifIK z+bw1z#_Py#7p*FmmU%(!jn?S0P5}o({wYctg?_3^0 zfi37*12PqK6qM0dQ8AG80{x6dOgfONy9bnm6{yc`ihD{+{7p)SvRQWa`RN|OoQHi+ zUMZk`uL~*4x(fc)2s&w1vRAhC{2@Oe%LnxZsPkum^MCvZKKduV9%6@HN%f_G^)L)v zW0m8(?r!x3H9@d85htzO_DVw1%|8o3TA|s$r~ewi??U)~J>Vercp>HC;-|JFi`)5JF{Us&JM*|@il~H}6 z#-zc;zeE5xr(~qvzjQE2+Oj$p*yFwHdUB9-Uo3X#Ba~+&qVpSwO`>hBR;mHh--hME z0Xh)g)`OgH15Y5W+1p0Kb^If~(}qBfy^PQG7)B#Nys-}+uVWp&Ya{?3!~3=%Wq=vM zau@dkt%!DBxT3T;ec9Hwce2K}H~!+1RNQ<&yF2vetj-A#yzW#@r*|qFSu0NhW3rW+ zP=O3Qcg>l(AnGUp@rcui_{C8~6Q|G+0>(;8R^K0YQ`68e)(szUk^zBuTo}fvj!FiB zAuQGdt1u^vK~O^#U7?n?w(G7giu@+z;mDJq3pX;7Gnphjd=jFO9Mo=d7l>JAGNqUX zY;_+C7_U8Fq>r?_ zjYzqG*a~U)Z+ChuhgtpLr%Pn~ve#JPSi#zCXGH{Gn|-B35QX{(NtSy>TF<^TbXRtC z8BPMTjGWaIBYmGgD9tz3X)9Rz4sfjcOw+sw*d@BICpkh~U9o%sk($W6zXJFL% zwByngAZ8SGOk61LwO=gz83nYmvIC)=ta;$4pTBSYiN9hUN{4i+UIjh_=P#Dd7YbAQ z$-u43MHxXJ2Z6B*Zk(Nm|eA8^lwBLNPzj9C>y>rGp3JTb5ScvfV7&8<(bfM zjbP#}D&z%B%GWz~((3m??D{quzBP|Lz4}3`0>r8Gg6)Qg7=9%4Pz3?hseITrKj=G1 zS^MlE2;}reRO_`x_Trv{aevs@4yl8W=s?vSbhiz9w10N95IO9#xs zzF}ob36hc`C-<+~UZOXI|3lm2(pqP$q9#Jx#Ika8W!^TIlpKGHl|BsyoZa)6BjD{n zyZ`%Vide!=i$1=g(_PeiI-u0T2X13dylZ`VUCNDtOR?jv9+qRXAjHkodeg<8jkm<^ z{&jx-D%etr{~jLf4Bnxk*7dR3IR9Z>t# zWB;QDpXC1+U2W{vtrGtq8;?H=@6q<9TRL?7)x)lQ0OR{_c-UaIebS&#{0iDaWb~%T z{79X}Z#m;tpc|(6dc|mCe4cq27SB0mZmu{LgSVs5CYLpQ=hy_sJ*Y{#^p&ul?}%Tn zIil|G`t0c)Ee(|x2N9xzA5czN%a3L-it&0UsKZBOkvULgU~DXwvRNswO$hs8eGRH9 zUYKD~odvD5;LfdaC-C$WOpce@j=q*G*b`hD71h`3vE(K|Ii_LP><(z!h5O+1EV!9a zj#=1ntCNWhUA^AroeJs}zJ}753IA{lDB+Ozm=I1;abp~sBJ;sO?h&I-h%VQCwY&;D z=5BO46r}fYf2ejF{fa$D4X*rLQ(v^waVr)dYZ2zzd6rNP-*E-W`wj+=hDLkfDaE4h z*S~DKn5jJOd1B5n5A(`EG^?4Tc`=A&iY66>1EH|B&my38`Ov&<(3UNJH;tixIuNN! z)x^iZsKqw7Qwt7DVI1(j&5k@W8uY*~oFEdZss(cy8Fji3X28 zCDZ@jqi5?f2EK!Qu&QFgZ7SmkF5SYnSa3TCy2BLOgiiKSIBZ(-?hJ^k7WZ$8Xq7-! zdbrcjmaKz8FEw86+I1@N{dnu1th(EApvd@YjI>_7GCAV+iXVn8o`G+WhBUtpLEYsd zjlh+-{;Z<7nKd}JsgBJ_ZwePhz&k^-I98wr8vBSbMtD=GS+|Qp;vW?Lriz^RZ21Bs zUvq*tSH1D!U@IB(bD__>SgWu~+4YG^Hyq_D&1;_H6w7Jw#k-qvWAQPnOyt*J@TE2h4s#{+Vhc}l}rk)Q}xwTCYXNB>4x>Q?ug?X3~bC+ug$DW~LNP+9i z^e_v<(b@1x11cNZlBc@Fwt=;07^a53+i}M8yh#S9Kn#rn1)lQu%Fuf6JF*X$63H!E z2~m%-!Y-~%Dzh9}i?Ip~M&dkj$EFV^LG4S<0^}rsDGRDl-Ie;OLR{I$Ykw zX=)CdzH4q%WGGv(x=*?ssyn`jEO7B!=jv`<#H;!9axJ+e**fw$YC39*oUnbIz4Dmw zWA%gW7Nz>Fonr6#fI`~Xg?g*`p{O#-Y>X%V%jQ<@WuJQnEnv$Qcax-x+*MvQIR8;2 z#tNSzAMK47UT`G6LK%d5vLtWlX;mMHP%oq*0o4i47RJB-W2 zG$gV(d8)>1BKSbgvi7bGKBZuV4L0Mw^h8q*8YlGzD?&MciN#Xcy9Jr9ARp@(fZAELsm6w0Ke3G zCQ@Yw=B+ihKATAtLz-zTYYx`wt5J!v~P!5U1hVWAhu0@2gDicHQ;=gz<6xYo`(ue>Lm{Q&||7$DrgK8a^~Qg(wx zS+_jQTZ;=u)gEDyjWSiIpvzcK-!PgWvCX+ zSCj_sa%#4Ak=P81I8QwWm3dUyb!&5@Y&&*C2yW2tJzl$0ca)^JQ;fRREN8~8tYu+6 zlM$Ew&AwS#>dpDr{pG1%DxU9!S#9u7*6jO}gEJa=mJM->gI3pCcKcrBDFUcs+o>}( z!%9*68hVRmt!$x7R-+!O=9VcXHD@uj9rfczpY_UbwA4nf1J&4e%B&fSz*^A7yQvu% zWaa_Kub1$>mHi#?Dn+I;&mYN7w~kmFsEwQzEi~S4)bWlY4(+g=U`7U{1_SwDdGw#h zV->m*Z%5>$dG%Mhw^_aAIwIBz4?DRo?sAP_t2&z-ycpBWW&^x+BIAg@-W0kzW`R{) zu%{C&>d+$j4|7p(wrkVsZ)_YUl1a^VbPge%V>REiJL`y6+DR$;O*)sDwsX&)Z3X*N zOLW5Lx38~lWn+5@#GjKUGa2Qz6up=X*5Wk0vgX?TfgPy*+SieESgoCo7)m2!^{bDW zI6(@1Ybi~6@d|X~j};A3R&YQUvb)nbEOGldvGh!f+C<`=GKQL??A3}Q0}KBX6N%ep zjAYo8si%$J(cQ;^&;D-UV8|dE1||0%JiC9#9np|?e80OTcgAsBIjVT`^KXV-??oQE z#hjvYRvIh~7bFTA?V^{A{JS`a*vQQnWic0><#xF7w$2*Z-P9d)UrcQseX%d;I_hHP zaD-#GW@8!J4WF|1YWu|)7oqxfz1hvJO}Dy9;T^}DMLZlSGG8u1DX(r?@7TSv{|9vB z&t1M6PFB}%0H;g3xnHX}i+O_LA1P5pO{$Lh?u}UqLGmXZ^3B{{9xgJ7mb5wX8C`t1 zXX%rPPV=s**)?j5Iaftyk&~9;oAULEIuZRo=A6980_FMj^Imr}bVTRGFnUqe*j-K+ zH(QJ2NWnIzF}n5j*mNaUdF08$di$1z>29Z56xh8g6?rSIcEj%SbSUI081pvPrG3`N znjK-F`PN#xaFBj-Wb$gY-@nE zpVZAwD~#{{Xw3NoT4|NF;oX0yCT8q|TFp!3+hygH>tBwq1bnTlWiF=2+{{HRG9#T; zG8@&q&^2Wym1;X6PcgMLZ%rd4ee8+zM0YyyHV@<4G}6QRx9MeWx;LarV&fZ~`__=> z+km<<-WxG)<05AZ(Fojlgc5Q%`<0Hl5DsAB#t2?`Kv(PpHb|rXIyqr+K(*3#5UEby zb7XZ^iV$QZ2+D>_Mc%)gS^F41D|K%@FkYVCq(`;QY6>|ukDaZZnm&-bFI4lE{AvYn z!si!&@2#%K_xvsU@D>JogoVkNF zvGxyB8Y43I8p~aE-Z33nO4vAFAuI%f$o3qwR64mi$Wkq z>XrhOdi>UP#6)hoUeu*t_gLZ#T$ad~hYjdpRlP|)!QRo+0|N<@q>oe8TkJ(taZHnW zf=#Sve~ZF~2f}ssi~g&%nxL9%O{H~P4{;n$HltBD(=c^aBF0Ncl&9{Z;?by1y|WqY zbHyr{6R=9#+#VkX=+Cd&MRBL#Zn@08pWO(_k$X9|+XvVp)mws%G(=)yhAJU{z>}n3 zCCsOekY5$m#q8oZx@h+p)d^q2jd7)I^hgGyacqiqC%2RrENkO4QaP>SyRlO7z$+So ztJO0glZ!D*g&N&YSNDNTx$nDyqaiU0)TDq#b|#}xaw)ef2pO3LmHsDn9K)?~Y3B~6git7R4| zHVpmD(>qNKsD6=@y!tgPb3F`f?>d!Q?zkdRcnO7#jMti_rB=St(<9+Fw{gab)iGux zS60WQ4Ku^i>PkH)3~TcO`W7VKiNBk>H~GHhT2n#`kzJWLWhHswO92#V6`eAMw;o)1 z4ace#novJpeds2FX;$y@eTa(0`xdvjA;#17w3+%LwVptco@&VgCf3S(qI{#@E|cNP zR`b)#<1l?)cG~-znPHg3;c**Myy5vm-Sxa83+>JKW!Tx5lSv=8pdcws8XK_o5!6

J*tHJEN)N(W=yO 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 M8|)+aKKk;10l5o+w*UYD diff --git a/client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_XXHDPI_1080x1920/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step2.png b/client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_XXHDPI_1080x1920/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step2.png deleted file mode 100644 index 58d6ef5277f35516cfe623679f51010a691d75b5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 31533 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 diff --git a/client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_XXHDPI_1080x1920/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step3.png b/client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_XXHDPI_1080x1920/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step3.png deleted file mode 100644 index 887f0db8bf92a37f3094bf47ca4d0328a591d2c3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 35098 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

J*tHJEN)N(W=yO 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≀$XVOoP!aIP(@F+APH!(Dvoc!KUE_)BV789$ zrOYHV)h2Z~5=#Kq=>PonqxWBuXWYLe&wojt|B^iaC3*f!^8A1&&4)jn`~@xK6e>eKB2 diff --git a/client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_XXHDPI_1080x1920/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/non-unique-matched-selectors.png b/client/android/divkit-demo-app/src/screenshotTest/screenshots/API24_XXHDPI_1080x1920/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/non-unique-matched-selectors.png deleted file mode 100644 index 4c2ff62e49036c9df95761c8f747a95835641a15..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3031 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 Wz*qOb)^j^`0MgpQ>ZPS`%6|ZAxYWu3 diff --git a/client/android/divkit-demo-app/src/screenshotTest/screenshots/API25_XHDPI_720x1280/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step0.png b/client/android/divkit-demo-app/src/screenshotTest/screenshots/API25_XHDPI_720x1280/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step0.png deleted file mode 100644 index 4d541b3d3de9ecfb90723d93b7b10ede1ee1950c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17786 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 diff --git a/client/android/divkit-demo-app/src/screenshotTest/screenshots/API25_XHDPI_720x1280/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step1.png b/client/android/divkit-demo-app/src/screenshotTest/screenshots/API25_XHDPI_720x1280/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step1.png deleted file mode 100644 index 56efa831e71d83712c89992798ab0181f20a862f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13375 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 diff --git a/client/android/divkit-demo-app/src/screenshotTest/screenshots/API25_XHDPI_720x1280/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step2.png b/client/android/divkit-demo-app/src/screenshotTest/screenshots/API25_XHDPI_720x1280/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step2.png deleted file mode 100644 index e18e24722c8828e53a2f1306443941c584d8e10e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19238 zcmeHvc|4SD-}fL(*;A5j!l3NRmbEA~2q9!_iDcjRWw?|j7cxS!jIzhr8M~=OQTBaL zSx5GLFz+#4*L`2t``qvSywCG~-anr{`uLc0JC5`G9l!JUU49d#t9^_96#FR%1VRtL zeM1idA@2tNEorF0Ct2wRi{RG@4^_AU4fq#GV;u>BT!6rDTsQDdTb@9snHpUu5{D)n zll1gb^)f}DdiUr(NfL<6)XltPa*0L?|Kaym@ljT&$DffjZ5?rb;wNcihrOa|yECwY+ z;k}O+Myb8;xlSg-J{L2+pVTX;Y(@~C8=~B68OUppOm z@k!}Jdwcr`(GESy&CN{*MyPUwG#rJ&MOi*ig4r2Y9g(HGxH0gUHrLen4$OT`W%SH3 z?0xwvJv}|+<;xl&I7+jkjjk63qff3@e(CYeZ?`Aw7M49NXN9zjd6oSD!}Mv18=5F7 zty9R0^Y1rjbM)+NeG2(5m6(cIP?=JPKL&%j*#Z5u-_!|5IgVG_^-WG1!1X4_$H&8& z-is}BfO+Y@e4L}pnxRG`OTj_crAN$O#nLYly4DB4Ei26xy}!SvC@o#}j#(!A-R)aT z!>O>(@}>MHsO;-@1(c&}BJ`7AzI=ICP*CttvsNCMyMZuEKXXLy~O-Z@> z686~!$5Zcq8zsf&)lA;0oR$Eq?N;vUb%l$Ij8k~eK8F=d*;ikik9d1UQS*afkcBye zxxq!aUbFPl`?4{&jGS+YO)5T&b=)XeOsWl;yu(*{|E-0=W20Mo%p-(;LomyOyhpU2 zG~fL5=99vwNO$rHQ!&(22?l2u)Fk(mS!(U?e}U=hjWjkjZ8&v{bVZk>s%sHU-g4II zQu4iq3tVBv5it1o8RL*nlak!r+`|h=>RLNZRcFCWCkvfJCvEW+QvQ!Xq{yqihQW`@ zVAllUo=^~n_L7+Bd zfpfv9nz0O|sbDJ zd~j5@+m)*er_LB~?NJ{w;$|1S>O-2LZ=AL}E)L!YONuY-RJRMnysy=t5GqU7%+LVc zvyv4a2;a?Bamn0-jC}oT mu8=7m7ZePxH$`7Z`vi5$#+SColsN+X5^X4y< zcN@nao^+L5b54p~h`&$aNL9?|&AiX;YFmd^p$w*!E3;1z=smK|c(>7`HaR}C+P7HE zP1$g2@1mP0YOHtG2ojfHp}pgC3Wt^*-eI5iu&eDNZ}TbWj7d9jNad=u<~M_nKhiFt z;2yG^s0hX2oTnXd6FAurziED)9sQuw{4kj@r6R5GxwWUBM_uHrkc@syB#2{!#E#kS zJUis(hv5NQKFnkOYt&Z53d}D%ly(H~%??pmJn-8qY&tr(Ha+gYTUn~z12OYN?DA2y ztK%o=6`Nb@^l=%cwey1oi0Y#cxbOA4^XjLqT$>u7IyKkWPv}R5){pr6ke?eELH0bP zp8nQiIrSKAlsAU&knrvv+O34aAKINkWFowTB#RE+)90aDjs=09v}5vIa>bh4OW|;< zj&+CB7Yby1w3!Cmdk-vWU15zx@1)}}$XZ41Pa@gc>QBS!nJ-h8E4{NE zQKAWqJXEs-IFp&0zAozHD*G`;%SD)&Z1(OZ)~MRJ%e&f(a;?F0pQfy8*VM|=oVMtp zUGyT9xnBK85ZQ2&m=23z{^uedZws=$6Qx+nZ+V!^m$r;RhvTstim!;Aq5}sh6>FoB zW(h|iVDDbe6ywB{^zCy*?q-wk`veMNlJI8H)_M`XHK+y2E06KuOStE?SH(KGU-p*3Sg>wfwdp|^ zzW;rnx2?0zv^ETv%9brk47&gAqBQR!ig0=2$ftas+ z;tHz^<&Mn7dX~Khbq%juH+Rb_Rn`?Ek6u?4bCd{F8|?Oe&p)KNqRBZ`pHg4AGIjrZ znLWBo)Ck*ZO}-Q(o{(H43;bO}HrBk|B28}S!_jyu!r6OVR>3>t6=Kp1 zYj9JTc;+@Ln^`g+azvH1n}TUl%KQ+-X}59MmS0JiakC-hXJJdp4;4Doo6FRQRfogt zSHXDBzw&wNr)9FUMKu<9#Z3zJrLjefUS&x;k)wSG&%x#Fz~zQY_nTIUEU`Iu>3RF8 zt<&>hbF78gvosJN#XWye13W|VI21fcak4nh(&-wdE`K}oCBIcNJiB2nd`GKV_*s5mq zxAQ{C4(cl7ral*a7`&J1{4ON@WXlQ#^n&@dUCx1IBLL6B7AX=2TEHJPbrOTHs&XQ3_+kL-lL?VC^UhP0hVEE(zVAJy+Wb%-u@ z^*tV!7U*j?{!UtEY?*k1^14-dv(73}(QS0@di^ErVI>2$>QqgV+}k$U$fJnOEcb?l z95WGr9u@gkEe`zrhsBPlhvvwrVLdeT>TH@!wON;-d&l-8w=WJhk3sbz#oK!I8c}Ag zRKVu+^bgN{xh1TXaw#Iw{s97-)%)|Cy_HY2VLyA_&&xsy&l+gO#3lQXXSv0NoFdA%6;@2+}&4Ciqlvh*qUdFJjxqlqL}b&DJYG8?1k_-O*mBL z^j=Y)5%I(K`Iqo|o5@AVwQjhO6TfT}6nF7f53157@9XYS3Gv-B{oMO{bF{#NFXFyD z?aYcNF-}lBw*1+!?17e5O$LAXpjH#@r$n57uYZw%_DImBwa;7Yhq~VBHRpXT>H<%@ ziL4|u5mQn$@Bs{Ns;?MN-`akRU9AI^fDFZ}sI^xDHXL?d0`CQ-M>^4cfiyLTm_e=J zRcGB}O3L88H)HY)du_jMPoWS<>Gk)YidJ_&i}*Znp3u=JkT*LYAG?UG)&D>wtWpQo zKJ}W^I27bzB6<%z<5Ym;krPL(f-I<(-=)y-!%di5Ybg(;`!jlLlZ?oai0|uI<~H(` zaNe;49$j+pO5@{%mSSj%a7c9D>^Tab0b^UnGB56F+k8{ql%cOv!~vYk-DVE;$z+cX z72fb|b$nyQoR8m#%&yEOANqCPudAL9&>*O2e&3Yq_JJg`)Z3YAakj6R zPWxKncQ7qc8s20Ug%vR+6gmRc=E@0jLLZDGD>#F*ErXspVp2%mq?;O>IUEM;X>VB=dK6cK!gt^Aymsva${` zl8^w#v-*$oang22M@I*53&+$jz2C~jUx4>&$leu7M0t*s1m`d(Q!b1Xz-hfk%2*d* zaL3Rj^|aN8pio*h4grPw_!PO4nOHKY@M7}+fB=ivhtyEniO%FgNBjw} z5sB{6+xCc^<0@hWsOPGz+3K0zw_d+@L(f)~CYgaWsF<)Nw@h(Yfh%@f*{g_pOE{{Z zx{cg(r)u@vhX^b~u{>%tzR~4p6R06qMN^|B;3(0Gii$pp{OD|%FP)v*pa8Y$-hK|V zGZi`6ZHFHi1%+rKl|C2zX3pwRRkboG5}_R?nPezfEhv)h_Hr;?=8B-MhKka5-xnTi zX=$lCDv8bJHN=>BaSiX@M`Z`U9U-TG4*T5dUK@BH3QEtA+S*zSF8tTb-1M;nZ%xIh zLtt>RUr?fH;I^K=hldA;Dop@x&=yqTm~YfB>~9#!&n0Q(932&)venyXH~cLb&E+n_ zd$0BXd{35m_i6|}&GIID!&Z zn!dZ%uz34cEaylCQ&% zf}|Kc$I4p$gsIxf0!%F2WJo!)&?I}8LLoFr8^=446#LkNtgLE(ctM7Wv>h>|l3)0n z6web1TrqfbVIVN6QLw9!QvdCxRHuSLjpW#g1_ppdl_Vu48*6H6Sckz(J)4T&fywuD z_c1OnNr>8AQUmdol~)3tq_U4upa6e>Rq@~aiD}A4D+nidyhale)bAG=k_*pcT+ zDRa$*fbk2Wa6O{e;kQ)U&InZ+1pvgnhs#B_I}Z;JM?XX`y4*oo3%l~NWrKu~SFPf? zDcZ^N1b^<_xsuTazs=C%ehoc+(h^}|VKL%|yW8!&yiUSz4)_l;=Q4bt;8_;FyU(6B zGBUDwuh8%(M2t)gq>@I%y)dv{Ts%=jp&r2n|0$H*kxVue$^(uyx8GNjnHstZN5!Pd zIE{{_3c>A%{sy1*y0j|wF4A`KJV_0u54W|G%US(OzZfu3HVlRsnv2o@3qF5Kj_og# zg`>PIHNizE`t@ilzujjSCEdQf+}zkI0OYe*?AS8<2Itk_DAPy2N$MRWYz>wh1;a=p z$So@cgevEqPyoT7?)W9C8~H!@#$755%Fqej3QBnugLH5{r^SFh_q8{wa8%vvyXRsj zVmC!Fbc+FgyP0?%kn2iCuGxwj+=}C#7$q*Gatw-YBUO*<=Q4G|HRK(%Ow1qO~TKviH4=i zO3tK{|19_eKUbE2{qlv=GaQU<6#Ex`Rsl~-;aBojA2?yq)K1T{%=Op_wtaKQ9LoVF z_wn!eIVhoN$c5_{vcLHUes0*yNQM>AgTzVmE}A+=awfnWmA#{79drQ%sl;^M?WL?` zB^MR&=6H5>klZOGsWp1l4~(F~Q2-1C2H)nQ?It~11)TrwrHap=;kPE@!TF9JhX%_r z)w!m&J8kA}mAQE9mYncaa^-Nn=gUvAv4{A&`^ z1GuYUm{_m|)!+Td6qdL)Kvev_SA``xPi2+-IQaS5OO|KwB5+itmJ0cnQ~xTr8}IX= zn80&unacfw6;NN6H9U?GD!$`3mG19yut}vZ_%_A{bjQXbU-GlL6_c(ssM_hdrpHF}JDPPt# zv1!`H12p9%nPS0+cz=tMUHauN%l*gvF3zRLSs_MbP=0Srt*BWr`jy);~#)cDen0Iv_ zd>sM42)>lu@gPKhKjSw4jUX(}|Nhz$?>aifsMnXKVOO`lUPG8np6SDM6wY*|Or@Z# z^F!1(%w4l$ZR}8|uFZWmC(pvO>Z`ZtUc?O6bNB|wc;$sC)w*|K^s$bFh|o5l*PSu2 zmg&F%+Oc4_fx5iY6h0N(D<{O>RuCU3%8Xu~-fadYt6e|g8j)sCbmn77Oas&2i8Ujq zm3afJ!f)bI7d=j`F{ZfiMDk)=&hWX77u}zO4V>tRWlJsjOiP=YMA%5 zi@$V{m)uDvLiToJ9VUhyLVt=T9esXFm}mOnbA^#g`FT<^=6da2Wf@SZaHu!Zwta}i zBu|kAGy1~Hgx{US>5w54gvUg#$+*)?UN};a{2fhk=zK2)t9$ZxMC1fTCvWvJH)EQn zU?>O6DnD+;MVj$#G(j9Slk=ij zx~&Hx$X8-W^5LGR^0FI_N#XN<;A^(EIOipuK9{siVF%W@x^x9_t+18mWUi z>#e}7jGh!Zd<>_u*=$}d8T36q#x>8jD+&iG;_KX?Wl;Y-FK6rWw+zjL@8wkty@)*0 z+=br3&QJvhMU^jY>O9`x02xx$|w|!coS62!*53jg) zl<=5q8Fe{Z722sNrVqb8wPtAP5>~Dd3eD}{uvbJvH3=-uVZ%^)eBHXem8O@t62so2 zr(cp>u+J4AqlxB<)`tViXhgAdOo`0fws08SzAvA80TF_9(i4C>F2%I=d{MYBkGfHn zH<#ptEp0UX%|cdD65CJ+AA#!HMXA(lr|3|)XeA?mYhOK(6q=Cpzl3y~F=gEKaB;33 z39vSZBi+E@O#@W zw0(5h_YcbY;Dq7xR`cUs_qqCXI43{#V!DCkI5R}-cD3=D)zY*HXqF2Xv0lrIx-jhteu+Rf9|Jr zU)LJlhXB$-l{ueT|2=7I-cD-e__?1aBOaB!df8RJBO-TX=f7z;?x{2+f!$E*R@~#BZf}q`Fe; zF*@w6^uhn1<0GL_+yRvh`s>DG&e%3ipbPoC1~#HFYC_cHuERogN4}QO2Jdu03$yOA zM9^{>PS|AFy8^6;f8g7%7Hqzz&intww+_0bU|3=X10APp5I0kflAGMnj12X9Hf#YH zfNVY}EOxxxnP?qSlB6J)k)*DIlJx>Bp_+p zbz03qV2bjG#`GmSB|{2E!SD^8+_?FOa{P_vUpLZ$PnqQb=KP7mBO7O^!zo8Wm9g;z zli{v{mix?VwAf^_fXB${S|31x(!OoyrapWaz1{ANaL1QWDZfxYrl0=7zFjMUUCAp5 z3blxrm)&e7Z`N#*-VeqlBaG)UEy&a4>n=u4FXLiV)1q`y*)xuzD;Z;<=)84DBopGs z6j@+iSWsh(T(PTgFwKh)F3}_+tPFo^?$q>*=l(~Wne^a@+A@@W?Me&lp#9CI@h^p; zQ*VN0e{T?=SflO|HUn{9&b3!J9Ck>i>F#UL*22q zF>3GLab9ovO_TA$ATHm_W&B$yi^@$XX9Aye`xHgPi{Vp;jx)=?wiJwa@NN!uE4QMK zUd83&(=~JAHtQord$t=g_5#r9V#vrG{eW|T$_te{^+~ZbUe0E}wxyWECueLzEiI_b z|9zqkbA5b6h+KTT4pZ2XVCXJ6R0oShm>i#}%d+?t64K4@6I+v4k)Uj-ATfP^$D5#R zIBWS|fvHltBslX2*n9IgVA}OhU>d`V_yger{{Q30o6Vhxt+#0&_;-5&Sa;^m3ymC@ z*$&>+?ssc4c^`)7Fu17PAbC10O0>I|ZCyzmt`|Vk4c_yI6-8zrZ~XdTL$teZ)_ug8 zvzP5+atA&EmcsoP1k|L>Y{u9xSWUa8Tc4h99x0)_DH9 zu))1JilESn1h_EbfE!y6@VJvaYi31>J4wOvavg~8cNhs6U*P}{!FELJ36PdjfFQ+v z%?!3Zyu7^ZiGm@h%osrdG=hSpSKr2@12xND0vx8f7!ZKLbb;es?$b(L10vDrDN&4w z9lio6AE^G~EE7cFdU-$}qJY86%Yd*o*am94_`dahVSIM+tJKsnCe>kzUpSbaUPY^qDTt}2lmt9<5@BANwWj8b%kOBZ zL7o1p&P*=zvJkavI!n>*EdHP_^N4Q%Vinu7WqJ%k0T_+rF=3}C;k!7_tL4s=!}G)pAVKkoUx;QL=mHr%#`5LwKGnGQ9@@>JS=(OW7|Ew}Z2*m?^9qQO*a!QOl=zmPtZgeH9~|z4Bj# zU3MrJdd=hAzAnv!w*LNp21F8nOxXVZepLh`bn+GKv*Gj&iQAgJa*qi&(EpNY=9;)&;DJSO75%WN@ zrH?J;fnzlPrs^90mSmDi-v#gtiPq59*KadJ1%)Y)fZ$mSkeB+QBs8A>S{J3>1yUDK`T=2w zYV843S?Bek>nMXS0H7+H8XE(4QV;r+Y3H{IIhfsxA3)&!`LWyUb*4i}qYUJ!^Ga6t zonEF(Ae2H8zh;HsAR7e?89QB9GYEu#XuZ7<-{ZvWp3CugA1pFcIzC%65s)gS&`Ma$ zvxlPH02fz>-0p=~1EN!kJ?ZO>i{Qmm&;;HieYtl6sEt98B7lFv`*lJ#vlVS6jQ-^n zoJQ|s$$!tBhQK&#nhk{b8;9RjJB_8WSw=ceH8l#BRAhH<9hi#1m)^M7a{4P0?p<^r zE4R_S*dBCdG$Na)Kf&_Ftg59eKo z%3aGNl}{K#OYxBQk;KheX%WU6v4PXm+c+nj^x~2B_>DuQ=8rU$}DNbulKfo1+dQc(KbJa0TKwJ3z0Yf*WnM(0tcj9y7WAlRT$y&umCG75i z-P^^O+;_7M?WgNo3>(Hm?|D_%Q`N+^-##64;L-(< zx4JfYFhvdbp5mI4P;(nTq)pm**U?hAlw*(GRdy|=Qd^u%+o5zNy4N2mzH3ZwO4pDo zH=`z67-CDdO5XImn0SAh3zxvYT#^#pB(tsFSrd^X+R$aW7!B znNKcZ-@yvK2x%QE;INIv+34K<+!&dyVldEro&pk&+T~b`{Aq; zN|r4K3T$O#l|rtB zAnnRyjF^eJXw6j%ge@XHjj_%-vJ)gnf$&;Nb}QlGLXX`ky7A_(PIt(W3=P%rT9%Mz zh{nA*q&zmzIo%7b=S4h+f1wb~rdWs_dp2}B?9(OD7k}r)uF*Bcq-oIAHIHY0xzuvJ ztm9IS8GZ)V+w4D_ z{*0rDGCLnDSlz9ZuvafKINZwBGIazzDJ_F-11;0;l507Y<0o zRPn@oJ%p1tI0(sFw!P{*SiIi96bm z;8T04rX%yBhZsTtsy3h4}uVAhf~F* zTi;^YuE2E9qPw?<(&dRxw?z-5(-z+yLi_s4t4zEUl%Tg!ts_i9PR50_x8_dP&NJxM zd%XoZKtiMiJ@vH2`iJI>z;jP6zA7DOj(?Z!H(uQu-*jmgC2GW!@6RKSbTdvIi()5B zs!BWK?oA+X$F#joM~}62vUklBl}8-zts+9bM1m%Q-@XeLFBo->7vntgcY5`e`z2=g z8|zYZ(lhP{8G&2lhU!7 z)rC;svU}UZ{VJ))iYFSr}Ok?j5at8OjFd60^hr2R)L#dSzqFqv6| zN9t2TGvAIZX8Y__kw)EB=@#XJUk)4W!|swhc^Qm>Ih`IV5akpx=q;Dl8$_pRl_ka9 z+3^ig9BuxQ{}gJh)$`Zj#lDDI+&LV~$_T=Zu`5o+Y=*+@evi=z2_L@fd#mm+wVy#{ z`v)T1NBRs_9z;ibbNSW%}EIJyvt_s<~>2Z#W=#cfY;{^Y|YoR z#wGay9vxp};Uk6YrZ4`+1oejf-8^8)VXJDEEd0Y&Jrx(tG6CYm-MYJ1Nk) zB;xa&tP%sls#rh2e$XJOR_^Azyjm+UzZ zdN<>;BAYea$3eaYRZc6bgnPTq&k>zi8kJWX#tmglf+Ae=dkykq4s%b&-5bSNz83Ms z=9WTzDN5sq-+EhRCCWd4nz34Ke4N3sBmHSe{j1mJu){36!Q@=`qdG6;=dhT9yR_Z6 zjOAaw!$%oy%6jB~J({@dMa1LG7Tud@;jHhQG#W0@SwTA5=OQNB4^sYM%7)9bnXD3xg><$$zbEK`M<8g)He53OhzGP?t9Jq z-W7_xionP+f9z7(Z|Cv@kD6oU${_}-!_GpOhajcZ@=tWK3sp46JKMf~T4&poh&Wy+ z$J^uC> zBi&YLj1VDZd}CjPo`!H~&ci@pr{={Vxm^=-(XDpY|3gK(>d%6ju|(*^H};ty{M(AD zv-)x8r1OVzM=2CckvWU4WxJF@S(RxwIK5_bTA~bAk|#UK&8ZHr#E858oZG*Kk_uOs zzNVJeDbE4j4V>}(v^@@A4m-KV(h~hCIGJrh8y4GN`f87CUv5UikEr#tAfovNBA7RE zaFy}yqEYI;zkisVf@ScNyez4abo12PMGu}oFGQ-BBDzSjGjD-d{;Um z@4{crNj)=FXcGLWT5!O(X|$llvQHz(LVekU`JxQV19NeU)JIpCn^F&&$7oME3$KcM zjNR{3-8bBc|9WHC@kau><7fT-kS|@%FNZJ>8Lf!KpgYwb=gX$Nyqm#T7FPB%h5t;% zFA$kL)h3OFAInuvXc#<_a+ zH3Vud#YOTI_xP{!c*k6QIqBk483(F85~J+Gq}HjBzvbj&RE-7+&4n-450g{pw;Ytf zwj@q={F|Kj9+8Q-?#EG9g%m71dsScfh4&^YiCvlCbbFv%ED+3;F|Ili5P2jpb!XXw zU@&7`$;cmjFHm^xl9lFYGx;sNW1c@MMj>Ct+0|k8T4m6;o7IHLMaqcxZ7 z+|EhrF7tGj8Y+Ej&x@R(HHRoh?`>~mqrOcyw$T10cl|{KfB!{JQvq_?6rD7?1KZbPp#Z5OFbV`?mvxU-w5fvVg9z+oH5-QWu7C-Vt0PTli~6g8bE4PgaJ zi~F1MbX}-QUMafnt9TL%-Nqye|M&$sZj{`AeBw@X(?uEno=YY_WKw?oDV{H&w}giu zeus3z{WV8?1q?$civCg&eJV5zj{4&J;5BR@`IlLW$`-JLXS3H%DxJ&zrvZjNXpt#1 zc3T84Y=98l5xD{SBt*r;nmkFykUA4#IQw;y$z~CDi311tJmGs|g1e@gQn=2nTXD{^ zw>8;s*||3h;p9Q7!+c|pv zykRlG+Xx*#x$HsC3KxdUpYEY-8Jv5Vb^3f7zg?i`(G!ca*(Z58A>Mbiv^W9htoX}; zG*D;5P38;pCOlBhZu-6J4#m=Kfcw(Yh2^JB{`OZ@F;%mXTn4#Cxds-$-fp zo3rlwm#5`PT}XyaNh%8)LFvHz_)CRp1pdFfQnIpGVD6$NsDmA9q6|;je7pL@^-Afx zHIV`nfAitz8G@YD=BP?5X(yicf0EJ#@t)bSjc`;E1p?5|!aACw-M}h{c?H5pPFmWl zh}3_S2z-Nokxxm~NQ5~Gc5Zb3zMeuaE$wcI*;N=^_|{j} zg+pC0aK4`!UC`vPb7wVBhOz2qa^4D^71`Q3^YIhEdVwa&fmI4~;~!Qjlc@5|C_qGK zCuaV$)u>;TWFKTwtqCTr`2vol6AO<0F$D#e5NLj{fti_^dvZb%Fgr?P&7*nn_w^S%1exXRt5>f!D75u-tmn@mUIV7R=ualv-v)$A=9M!VDD{bdGSR)h zKyDenx*!h@k2;wjm|j;}3fS0weGny3KbYtx+Adk}v}EG(5j7+xT1tjwMBE7jPdxWeCYlDm z6fFX%WvOTXCnox#wYz(-*h5ryybWz-c9Tb|KD_thmH&*1PW_bm7ZZK)!9SR21A~$- zCD7}n1+u472EE9cTBnh6{xh@6r+%ujp9+%O1#@R1nMVG9(Zv4Tz{mE~xv#Ge5YP*A z$|lVumi@|~e&PR;|M*`R!T&%c!bxv}9KB169~l7c&gx%gR%J`r`KjcWp7X{(Xa(5K zY};quKPi9mhyBlV|L5rfMdbftc>i|+#|y#;i2kG!M9N$dEEV-c(f`yr|F;vd?LdMA z)`(=QR6AtEljG^fnYk7X;Kdo?-Kg}k`SaaDdSXzQM(9U(h z&c2_-F01!TP%Y4gHdAQ}mv-7uf5Z{Vc6Ktgzvmx}MVU+)nr0j~(C!f?4f6_qkK|PzH{emkF2q>LnA{y;~RcBL?qwa@sySMlF<3y$&2hU>IZv|55^IF zgp=!tXyTnfvnJZ{mxJ?n@8L7(OvwVD`;L!ih^fTQ5ubSfd)j*U;`F_i=Fd)xKeKSc zA-5`Zp>R|y0wgRzWJ`&U=&R`P`%awV9Lo8bp+Uzo@U8g3ThR4xx>LhNqZMDPVKk{B z@;{K#gt2jd+ks0JuUn7pQ^*-|Z6=MjO)DT13x-^o6;46%dvRmJsYOKYXGpbPjgVlK z^*w*vu%Ib=MSio@yuP0U!UQ9)rIDD2jMH>hvN`HwzQ87RP`hsFHyAFhyf!ZmIh0seedjDky%)pUuEe$nk=&DU7m{2!b`QIp2Z54hOj;vK z$bzv?>jpL!$2V%d+7)w_j>QKr`LM2|e_Q&w(;gQx#cRGc^ocg=VW7|0ho}z|jrrG8 zSR$u5wJ3-;z8j9rlcm}#PR2Z3Ju^f2Hvh`;dkiiI2VXoQ*uO|Qam?xKl;D&OIi%FJ z*V9I2mr09|9mLnpihKHv`7j~W#L2le9D_{n(21SXKQFvT@?ARO*{9EiAO)!!JdC-2 z+cbkPFgG`;L=PYMC`zt9!n`YSm_J7jT#Lb`z@n>x}oxt%y>a7Xxi`_urs@IXim@yo=X;xUM}R^>0-8Ry?lK?Ig^!r_}8VISml&N5ry}5 zPYEHr`0N@x@9Z|R8n^Yj=pRRFTmTJWerg-iOU^pZwP=}R8L&Ql6zVy{;q zkW(K?-wWWNh+cgk?{%jJneK$?NL08@_hj2tuWEwVOpf~nVl|w-3!M>ge5ZESqTsF! zG0@A>UM9e@dNKl$?@^7pmImLD^lHbDH66_^fZ>7&Sr6HOqeaWgURuS%FFN@a$ z^V%k#*3K42P5JjH+;Onz>WjimGKs$#AIn_U7Bb71k-8`d?;U1Of}}G#GcIg4ZH6|E zO!3vP6=nS4OgJNz-~pVDp;Gc4x8v*6V+JOX=#F06N$u=jql52U{W+0;dRvXh z&c|fM2NX=$qd)I96V;MpoAiD**Xt&0ZI@xiu!oGIj(9Y?;%>|MMzO%yK3O8`VFh9s zq{@f3#^j#COb*-v3mv+8psTIrflRF^qM-tJ3mSA^gt_x7lx%R{==MhPFdC<9*@*w5* ztV8Xrv-ao4aNoOAXU)bR@!en8caEN2U9_~=j~0dM*s!+U(m%N&Yk2fTj>@Zg#m}oc zuk%k5_#;&p#%axzZ_35|1}b~~iil|Ueu$5xWT2;-%7-fk0!TmI=vjru;tj9qV$Z8n z*sH18vxP0u+ZV#W7dZysu3SbZu0n{|u)4>!+HsAC*vpv86DmdTJR(Mm)MN#(fDwLV zOM)Ev36ZUwVUMdAe`_a1HfKKb+%As4x)qaqdE7)6@vY)-{H;l5uk=GMw|?sU6F(fS z0Rt$GlrTHKIiqrML@O|R?EXTgn2G(XPH-(*^6l2O&H(MO`HhJvZQK3lVcX7_Wh0O} zu7K1LA(CFZg7FL{(^pPwN|P)8nH-66+b{Lijv#y{+;HBn_0qg|Xc9r_&YCPdsF+{O(XA~M~McA=)3q<>*p(-^{L;;QZQ9ZYsk*9r4V0nMG`zZ z=9$$DWtPWm3)_PQuz|{&AI5^^`=V)8Zruk0o%k9N>x1NRpSTBUYi@=Q@*32uzP`b% zZo+iNlW-xDss8NQpyvXQsWx;+d3WGi_62(v@-wG39q>9Mm{fF&rj`As0pOjS2RCO4d_zZ9rutoGnrKL zH1m7HmhG;&UPrqpzeXLdGJPPD?mxFG8CY&5OI-kPLz@U?H<5BBPv2*s?9Ie|ialOt zk%rWT%j?=!`o!<(? z?3qp8Eh2nqIq}|t<$71mc0qTFHFeM1qK4@`(ezjIy#q6pYkuBXIDzAPt={3jme0$%i=2j|3m)#*C8FK8};T_Tx}Nu~$u!KRk}%{nixYa7B-`i*BJl z9P3E?r^B|ZR83kZX0v|hO@`Sme$hA=+pBrQY(;!Q%bajJYv_iLk8q7vWfVbooxML` z&+U!!c7@j5Z!?m-z75ed+8ILTM}Y|!YmK3swnwzSp){5%H}eSU&B|?8nJZN^##_aq zmVp_K?{@N!wen0~_iVZ_Ry5@BB#iEw3x;o|J@j4ts742kC1<{dOk-OQroJmsg`WDo zGzJFOv`xC)og<9Pi<+#>qVh%xl2=EYSp=lMM$D}zuiYS@Rc)rfwRNIr)1>~6`&2-Ruf&$}wCxScW0#qk zA18UokQtwNlMkvI18DQfbYeGXnF!q#e9pq~UcHnmI!`;=J+d`@-c9ecnu$YYUfsYj zHqLcL*Qf>F9+&YAeqIH_S+LP|z42Tqn&o^yr!QvsI93@g8EX{U#bid;bgeQ;LEUQ@qfi})1%JD0EHl|8|8yMn-uO+4&p|F6 zd-vAav+Egxx@p#l%wGK}0`_ZhER6W3U2DJ<*O zvupm^h4M|@*3pfz`sUN3%g1Uj><%;7+C9=1w#u$1-iv)rmsuaHf`WaGNk1L?0(Jhe z-Hs!(6C--k<%8eMIv^Cfyfx%D6q{XM(Z*LQDo)-;&5dY7()Hdxy8q~WM0ToBM|sr? zJ+DzbscH4>LO)OLi^04)b~tT`Vy7`t1pdmXo~q!7U$B)4IG%Gu5otN<@Eo>y!C#Ph z^7|7BxU8mIV3~myN@~cPd||_TsmfufQ`_Y#iuJx-pnEDzo92 z%Da?7ldK6%0QtgY1%m>EVBfut_{zvw&a3VWML|h0(eS48k3(McMu~KAE4EbKHn|p~ z{#~S0`KK57f}2Ye71!@4%|b5a1n8v8Z;!vm-0pq-tw&VJ43zC)D> z2UQPhr_WKw2!R=-(grSM(flBah2rHNlfr?~i_RSyz1;VcFkaMMkI?+^=*K@25c|43 zrHOj-i(yYub!QprWTMK&NoRat_l?EW=)#dM#!x|JWcK!}TQ@s21C%sTN$-sX>n=xj zZXTw1*B^aa?8}oCtP_HJyf!Z}isre5w*-8z3ByD5a^2+~$b5-K^RXF)o!!+lp_|xH z>W-50ir^F+DuRf}oBw*OmwW*NjIMwRMe+K>}Ty6~>_d%|wqyVSU>= zTbyD(l$OCVeh$&&H_y#G*3kE~4R;?^StJllzI+mB&4Dbwxq1bTRbxNDzUURewYRrN zKYE)pqPyjMeDPYw`~VOyoUmhsxTqI;RRIVJFuU^l0>Sr_mL|P{mmh<#*7>fh^Ngy$ nH&DWoy3tsW9Spws3Ie~WeWO^_^0)s5WcC~j diff --git a/client/android/divkit-demo-app/src/screenshotTest/screenshots/API25_XHDPI_720x1280/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step3.png b/client/android/divkit-demo-app/src/screenshotTest/screenshots/API25_XHDPI_720x1280/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step3.png deleted file mode 100644 index f44cbdf6bd6ceea4d1d589f1aa36dc64162bc4d0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21413 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 Zzm1uDPbzcLKH#~V44$rjF6*2UngCO^P-OrB diff --git a/client/android/divkit-demo-app/src/screenshotTest/screenshots/API25_XHDPI_720x1280/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/item-builder.png b/client/android/divkit-demo-app/src/screenshotTest/screenshots/API25_XHDPI_720x1280/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/item-builder.png deleted file mode 100644 index 4d541b3d3de9ecfb90723d93b7b10ede1ee1950c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17786 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 diff --git a/client/android/divkit-demo-app/src/screenshotTest/screenshots/API25_XHDPI_720x1280/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/nested-builders.png b/client/android/divkit-demo-app/src/screenshotTest/screenshots/API25_XHDPI_720x1280/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/nested-builders.png deleted file mode 100644 index 2a8e8d29a29612a148038cab557b0029ced2c70c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10811 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 diff --git a/client/android/divkit-demo-app/src/screenshotTest/screenshots/API25_XHDPI_720x1280/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/non-unique-matched-selectors.png b/client/android/divkit-demo-app/src/screenshotTest/screenshots/API25_XHDPI_720x1280/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/non-unique-matched-selectors.png deleted file mode 100644 index 6dbcfec4466a7710cd817f60a3942e95a94ef5ba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1882 zcmZ`)c{tnI8qR{K^(w|Lom8SoiBYLLDoRbsrK+L!J)@rJwbfF)q?ZcSn6{SQxuM!x zroDuiSR$lBHI~+P$JogPLoBJG1S#&X_j&H~+<)%-$2sSp_k7^P4cKH79PwWA05asir-DE*HN2C9R|N~f-Rw`!eO%}&MN62G6Vo!XR82HO&b=;=drXhpjCqynt={~`LL z1(GY%faKmDg5bb7=>3UC2Ei|rEaLfxUK|0tC6d;NU)ayyebW#NN;?Q1$3kuNQlR@y zavy!JrIK8sji;aL*x0`Uc!SV(-FoSf1yv9f87oo1(rn%;c9^`J)zeXaqFJG(Zk zYj+SMs@lG_hhA&krRC!SD%C~RQ>?&B%wB0wB=aR?cLQ?tGKvKgkYERr#}V~9}*c(tK? zf%8VoQ^{iM`~2IxC_7uq8*+NkkuEcTp@)lQ)%^8}I@a$zXq__Z`#DY>BR9D;hP@F; zx;9-}7cnepUZM4I2p9OvndlnB)Q^jp>H)v28Jva$(eS}ggn{c(W4Z^(n;0G2joMZx z#|BLoYiz0mQt1EmPNp4%Mqc{$Fush7>6MmPQOrR@vCOxsne=Kp(>&ASx91p(wokV+R+?zlA`N@_U1j#~ zs4_10g&UxG|0^Tu6y_iiHyk4m*Jr$pSgSFEUB!NXU_O%R>CqE{z$>_vNl* z_a_1?Ua5&fXL>ZrWzZGZ=4yJ=zs}u-l;`1w2<~UMatEz&KVao=`@n*Fl7L`7a|=%p z3?1Q^?G5cbKuqyXsr|aUV1mlBo>Uz)ht12XgsPWT^K9DP15LxM;?Rgq&=ylF(V?)~ zu!ZsbVdDIRnPiQiSr;}{Qe2C3UyR*w&IYy0jlCnz9MsDkpJHP-eWT*}*lzo$;=7`w zS?L#Z({is>8i(5|<#bM)?$0}uNs|ieQG!2VAP>yuARW26CSC(wr$w+?OLQQ@&7#1p z&^dfNmDH7=+Bv|e_Ls!_&!<$#Deaa^3{BNF36GM|>tFiCxA-`u-)VKHuV&P z0I)tJPzDXk>h=bId?iRPNyAXJg16GUw~uAB5>H}i{VUa*c;A@jK}NIxUc5htiBE(V zFi%#9Ven{kJ2$}ayUX$~?CIE0`zCZ%6a}#RFM*xLBU${$BZ?2Gm6K3EI_1f!SZy13 z;Ax5%7HZG!K<{=Kp@t*GZRfvZkDGIXU(fOVI)t=@M*PMS?*K#M6F9cP^!frI(Z|NS z^vkeTiyhkyT37u-$2c3!{COolqwb%P4BMEu-dCS&bA=&JDH~B%aUo|KYP|vmOl&Qp zfC~qvCEAUlI9`(i}iWw94JGsJrct~^3(oFCR+I&^ysTPR#Zr0uZ^o71X7OyJ0pO9P+ zuX>z^Q+ZNDAEjiRS378;A<2r31};J|zv;jAwkxB%VL5O;+^k;8ghxm7P+5OF%OLe8 z$JrFtujSfdr-toC-~i=l=w4V+RItN-jtNPRH;sc!UuVJh;%Lo0bT@qLH~d&BD?+ul zMU~Kh1@4UZcZc?>nr=GfVS$%afG6iCVu!X9|XgfM4Wxi_2-3ug{mF>gw(HS3!J(kGk40pH^WL-1FJ$HzK~ zk)pcmNx%%K;*7}nw?9xpd$S39p)(UnkabEVCDzoJ3vm7iE(#~$4+JFp!pXgCU|0f! L&fSUO7<%vD+Ovbu diff --git a/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewPixelCopy/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step0.png b/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewPixelCopy/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step0.png deleted file mode 100644 index de3ef6a0ae8eb1ebdc74b2d6521ec8a05f30fa82..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 55611 zcmc$`XH=D0w>5aomV%Z6R1hi4EP{#z$wm+r6iJd*B*OtEXG~ZM7(hVDh)4z{XHZH| zksJ;=DmhBdJ@-N1d%rtwkI_H6N1t)WeJwaV&kk#^HP>8o?MIiTB^cMRtf5dSjFRWh zT%k}_1W_o#~_ik115Hw5~ioD1Lvq z_ur?O3{QS!wz%`>#=o5J?>_g}AJ^R_2iVoGxC^*Sc0Qm>`sP4>FT&jCln{q;J^;`OnhFqChPi#8AjN;>R zf`$H_30;{bJi*5(xwWf9=wC5mi(4P$%Od#D+4`KzrJSu`ndUoT0^f-H=frT z#t!RHP88lqsFjnE+38!PFxUC`@fx*EE1A&H(1QmKM9dp2DJg|??)ir-6eV{mlh282 zIJAA+wup6Xg8KypmCMS??ti5?=`%4g9o)aa^wlw)7lDCsYqxOm^c?@FOCOY9UhmQ_ z=es%ywb3tMzU+y6_Uuo7`IQvi?yq0JzVP-AYiLmQ7cdp)^Nnem`{VWEuw7}(OUG7} zFuR<6|NebX&HIoWH*R#@UP(FrO*`Sh;lq~%1O&bo70I7Hd)9wuj z4cN77S5??0cJrRfFK$drD6=va7RgVx3tSoGW?NoH9}th5#ImmRkDb*qDp8jLMIXDk zn3|rYP#i6%NA=i5?XKdf&h>u;(?_B!{B(J#`HB*wxpA+wGpp1O3f88VXTWCPF89=wmQ9 zRiUUUPHtyskNfxEGb>iEOb=n8P<)~@GgViu+g|!;(>^@*6n$dXzHu%|l$qSVVMB26 z>4%X<^~tfKA{2_W%+;&mBDUjOo5G*{xw!qdT#P}zJvP}rkx?&RzTEHe<$I*;GD^!v zPfyRf9LF5)W5*bOk9CNhYi*F*N3tp8p_&CxVvp~kP^car9wBNO7GJazYK?Z?r|)`; z5Z530YUk(A=l1N|$MN^yA8W&wQF3=--8_AKzPfLxPpI-kHyLF^w!N*I{a6*ZZ&9%@ z6NRz^Zy2po)QAWQ%B8aIq)$G#S%BAxZ%v?(MPK-vH@mBCS5hXUzkWS$)SRuBmX>Bw zzj|@)=fCOE9~q;<&&a~_d0PeMQWY5)`NGTVt;fDgb-xEV$q}}^RJ_%6uqmr5#aKfk zY$YY=tbke9vnM-5^!cS%Gm-%gNvvCiFO4`YSymY$v0mcs3QEu?L5seZ>$V@i_Mb2D zujBlts@Qp~6=x`Ltglu!%XT7}l|P-jlsu!Q(1+~=Yu2NIx+IQ5DtttQadY%uIa;(P$iUJ#$+%fP@8NpI z6DOQxA1|fkZdty3x$fjp>*L3dBacdNSzIR#9s#G=xwis1xx2(&pMCkBsI5<-*g1c> zS^m$4U7J~0lr{Ypx4vb)&kGisLxSCuRMMv#xAbKwlu7s8+!J}toB#ebG{J{;UaJ_k z1}VfS3q&#FF$(p`MxHNUc6D>pM`jWwzN$1SBk_i&W>uE0W!RSG6sNeJvXF;uZEgCl zWh)j}QLCuOY2EtuidU|M^VcVGN^fXJ$i1G3)1wo}ZiH`0KCSA1mN- z4`1BtF+JX|qUp*-_g+qi_2gEWojG$KtDvez9cC&Yyo;|z#p9jS0zFQ`E{P`Q2@TE@ZS$7_CDgqa1beBzja7|dI6uZJYg z^zRWKSIc56#gB%EhX*28P$)T7F)Ar6?33{ftH=y;w^Xv8ub#uXGAm9VVNkdK3ltJpsY1E*nzH~D-;)aZwv zA}y;!De}EWp)?fUc)x$|-u&Og<*CA=X^gnJxtZG@#dI?2Xc}Iv^aV}4X>M^M#kjf2 z-yHvaYYrpE7nt)Xg2KY8*q(t{GKVe9%=x@q$*)?DF)Zr}58rP|!-makn3*MpT_8WF z5Z&TOU2VMtc%XxGUXo#NiD4dP^W`S|gpunczR z+2#!!b|%#J{kG|sY818|I|d%%B<3=u?x5SK-I66ZUh4n!V)SGU|2%<(fAIU4ck~c^ zc~@HHt))11R%P#?WvefSmyM-M7%5I$+HB}1IJClIiJ6JXyL~-)hGNTq{V=iCaQqA# z=C)?9N8=v4Uv^@CNWni2-+X^nSdH#TDC0kXM{e0JL@HUFNy5VqK;Tp4TTMlw@jhpG=+2X4f zUB;H0tc=k1uW38%hE8UU6bn^39!6MJG0qBwgXL69ue|5Egp#?9ef6)U&`VhR%9(Z#2V+!RTm*_(mzf!f1b!FMSQrKq|BJ&>FsS$5+Fj2UA_2QN<%>$^GnrK zli;@(U$rHV?Ag8h^Nsi6uU~(p`qmmM+_>?&9!GcaV;Qon?m@amf8=m`0V_45{fW?K zHn#qb$C($R6k;~-*rDFun_N#FF;h}k@s4YS;~<}wnc2u?b(@;3+8NEe%g^GQSE$t3 z*RNmmSoB>LS(qKcBDF^=L>=VdFmT1_Y{PvPhN{!;7@Kt#-`Xre>Aw*i9PGny9MDnZ z+u04^NB`u;T)j(Q0Q^_WMq*HlAMd}M7OkH`NnLJmV&-L$FTcT$uby>jreVc?0wL`M zPx+^7T(%t6pZfV@x+f~`MLSo$3JMImN`qPWsebMr9wKV- z8ed9EXkR@!lI&+J*aU8$L2wkb9Pk5fy2<^D{L#C2M?U@gZ#dopz)`7Y*%&&|n882e z_i!Csxeu=a36!p`3_m(Mqr$__DMZNwPqntTu35WQ7VZ~bDyTK@p+Vcfj~@T?k4f9E zxWHX;0^YtS6L}ntF26-iw#zRZkM+`eA8b)C1vZnHA8V9l0o25Lt~B`e^=rAG zfN3JNQP5w+Hu=Mx!P+%z%HLhjGb>=T>~fs%blkjo^UYKZSc#m1LiP74w{L-B8c&6P z{v+G*(@c%sVKSJRQ~3?h6R-_$&r2sK%AP%Y^l+roVT~;2-;5n+RI-LXuC-`~H&ss3 z_oSx%@Y-8tU)!J39D7M@E;0Wl;%@W&IKR}(Bf&P`Dw;bx>fT+y$9z~l`f&E-DeS+L zAm9G|=MdIuFAm6>b^2TK^}PJ}@l@9QbnkRm$kRlfl7OCtK-MUP0u~{Q=#FCls3&Yf zeBD(aIYc1Km1D$R>i#b>($=hb&7zI^$joNTC+ z@KHxHUOA>NUdu)M+sojx5D9*Rb&fAyy^3I8m@M!)a{X?yVQqQWkdiyBGEuW&os{2k z8OvsS%aBt!&2s~mEP`g?jaJsyY2>eQ5cgIcmULm}j9(kLM-OJi`?1q&|FL7T8UfDB_?ad4GDSM@SDqB{q0Cx8gG>@Df?GDiiuol6?D%?Til#bWo;gIA$rtsW-k^zZWhu@!E%_Zd;F@!k-oi@-NyT z`_eAvw-#G@^vZW<&HgOJQ8fOk`c!26Wq?)NANDi-Da8jbO-)Tn`xbf|)x0|yBJNh6 zZrVyqDESc|E})KfF0RFVz##uu@4?%3)em6sfO z5i^518XOAIy4AuLybhId#AUW!o_y4yltT62EA1EV=eIqqD9yN86b5+`?qzJi+t1H1 zb+_woPL92V)Lz~+r3GGHql`E6pQc2&AzzeqSRA0AN_}{h?hm!>K)8Aw5H}NUax?0PLJ0co45V@ zM`&1BZ*N>qH5?^8RrQ-6yJl;F#mpDxCTO)kST=5a&1#$}LsPenabC|J3(wZu_Q^%? zR@?n#YGWihavBa(q1P1$aE3;|dtB;y>Nu;J#ry5mF$q>a!_s1ZAp_TXL%z9bT23`D zO*N#etIMX-YP?owY|wF`o@!T@sFyyR&)O?e?Q4&pPFKY_$m{4(FJFEJ@9X*E#Tz)s zC?rPMIggKdc}OS^kYyn0S+@O5BG#Qv*s3&my)_;bLQuYdfYP#6>*Nd#qubisnc%oG zGljLZwR>{!ESvsWczEoGw?+?UU}1`wc``w#q}p~cix$n|H|%3tyX&d&Yxq7|T9%YA zU;03LFOT-Otz+F45TT=U1mC1I*+hMC>Ybe$;ho>HapR3GZ`2*<#+(h-WVj3UlB0`IsF~U? zAvXQoVPU43W9QBfRFxEJqgj6vt>@9cfYL1*cEJyK*nEB$g}5D>KA1hjV>Q%b(|Z+I zftooio)I)w86j&k+4?Zaur^-ssg#ryuj&m=#6D+!fy{3zfeVF*QM@qSJg(awU)}&T z^u90HQ4w_V9>de8j~~15ZZxZqs?rp)9H^`}&WS+~(EtJA7MW+r*NdoJ-DueyGc%A8 zSL|z(44bo`9xdZcX?U%%Fioq=vP~JtS#Ur?-b`(VUzdYLBL3;hF)H59H+VAID7AKB zwo{CidhFH3bRZ~R%K=q$IOY6guooNU5D()jc%_s{ieEO2KA2UY1;xg5@} zY1y9V%vh1PUd%Ans47z4262ZWMJYyMu17KFiln5Z+b}YBPW8;x4K9v1kVz zw;BGlWo#g0uo^?y0}BCbQ;D<4WBv2H%>*L@LnVncdKG&y%TAk?JF9va0^Jz4ai4*= zj9vFJPVUN;*H6XfQzer$I$UYnyEBSyL(D?}#)+rQnj5dTXia#I5M$7u?>0UB)UhGD zU=edQxKPp`2sqAX!lQF`XXN(4SjusvMk{46@unJn)DkyXU-0k0UHinQ9-U4iPD3_K z+FW;?hE|gDSeV${7n6F#S03B(zP&}XWFwU<1Po^bPUD()!5@->_H@6}36Md4+Gr&& z@2Oqn6WZ5jm|=8DWb8$Gd3j%cpxw_eD>GuVYB4l2dlsrK=EpXFEfk(h`Q5dXSu>fi z9px;WB=`Ye`v5FSPi)2jcLO5yfOb*0E6q>UM3kQUZ@@$G5#z$i*W)ITU*U zVy=5US)ArTr{a=PARCgQ4k=n$r55ZsjS(F@cyKdZo1%uj{Nb!o_fw}&`|=cc`n!5# zsq>Zge9VQFD(0Qw-?{VTNJo)DwO^LaSo!2|dw+h3zfjmy(dlp*(?hDMr9;gl-4$VD zrKi_dZJn7NDMSn=Lh&_0E~q^2p2NaAV~!HnGDwaTCnW4m}R19)-xJ<}RnI8jW%G z;!V8cj~+dWNJz-oGX;0umyb+&v_|u(br4HIWs+-QO0z?6X=agq5kb9xE`9mS@P*Ne zOG0w8r%v5P#Oo^k6(5rjAA{I&eAcbdWD_)d$I5Z&P$m9*mBiOmY;YY04M+Op34+R= z88FoyFo;bPhrL_0Z`-!bEkJX;uaNC#TiBsHfU^-b%)D1WQ_< z50`CM@WbuXf6~))N-Fabv$Z6u9ygms5MV3_v>gx-nQXcD_1iZyU5Coism?%FuEA$7 zUVJw(VTK9)^UvyxVQ?7ydI5^+)}KrcJh^*!DZyaI*;8*DlLKeJ@AKi&yW&yY?v_2- zwl;6rYpZC+W1#j7i+=9yIjzpDJ|dl->6U|3tJBhpVSx=x^_K+gvH$T~uR)$RTAe-n zz>7;Qa>=rlT{F!K*$z{M8a-n)4H}{yn_ys0RBwlI^Gwr(A9qffY3)njKh-0!o#O+I z1~d`dDtX0jPepaTa)HdMJIhuv6sY`^V)8F~PV*ZbHOm`LPap8T*9poKpFypht?$;W z{K^iyxrGPn4C1QZNO~}2DDU}#WEOl6(kh*?tE#Gg(-VVnh@joXcLRV-B~6HvINv%+ zVvys!owr{C(B_wdZvi4If%fCCT5s=E1QaPpeo+Mn-{I9MpFP#Vnm3G{&M)$;Dg5%K zjO0y@3l3~z4ys|&{&0kkxYRSlk-J64$Cp>^;oHy8PosV_e%IfB`%N!#4#{C!qzhCZ?m0dy2V^2TH!3^Vrz3Vu^<(hP zEnKRl`EIPdrX3ge?A@#X#eEM~csc*pn1w$5qJHU1=g*hJ`}8(6#c7Bk)iN#OEaU(a zTsprvonSdCwOIei%dkUtk-YNNEAd3pHF zN7U3-XKl-)I$B!YF#c-$iN-K2s9@Sxuei+2hW<`NTC7^aQxT-+{`Ca0*w2jf+ER^g zj?Uh{e?K+r36`!0;Lmu}cu(Tyfyw!DP%8L1P2Bino$hE?8HDiI^h)FqCP=l3s-Eamfpbatxx`W^hmGz7C9dZv8qa)<49JKXsQu3 zP1RH1cjQPZ^;2FLDFqj@2f%Fgb^zd+fTOpY80aPl-b!@YbTg?f|GTYV+&Y zf1j0*$VmS#zLtUEMU{Tc(GIK$h9TRz=+}!+Q{40$)6FY3T@sd=o4B`Xy*>i)`3n~+ zfV9l|YTnz>R(iepQRrd)Trf;uLHl&*y6!{6rB9A@iqNXDP+Hk-;ueP~4ow|E5 z`4)b<=lJC?z~)}EBe2H^IQsp-;m8|Gzkl%nE|TxObvS31`@${N;MgBW@ahIt$vJQ~ zuV-gxSu}w!oM*UHQ!fK;m`W&d(ZJwmy#M+0ww8`g#*bO#Skv&q{rRY?B-u^f7MY)H zms%6Z!NK9L6p-gi<-_?kv@-qJ@p>7Z?4k^wrMQVBH@|ZJ{9{7h^fzUxpp4}_^W(=4 zJ>U~+Y_V;X`Mt#G=tC3CSDsprbm&#Qm9l6@96cJHlbD#;^M_Q=gGi4|om=Y=MpLPb#qddSM%vf)IC5_rtS8=oEv zE{pH4PsvF8dk`eI?(qT6<`85*-4i(rS&fr!{7vD_vmN}?bAyhDJ-*C`{>{lLMbNaw zBd#i(m%L#R|LH$wBO)R!G{FZD_~XOdtP^P8p(`m}6{UDMZ`fbRQm}tJP{^%1Rr+zs zOaN$d%5WLfK`h!cEC(%mxR)2*8g4r)*mQ?_3tujC6dte9L?y`4 z?LFv^B7Y%85u4HQ9V+jx-N6yiwzN}HdbPv)`v!nVMeiQ&l!n_bt=!vDrZKso(~nA5 zU;f{J|Lwy|Gl&)FZA^jbIkrS;wNga45(x(E-B5##%5Hbr7kZY zimj>+POAX&2F4TQSq#V~oJ)1ZOtA}a#`z|VwH-B?)(Ndvh@LFMd?*1>zp)DHsmajh zCYp_Fs%$#GZIcQRt_@BzP|3DSyM6n1PvbtEtYg~WE~7^1HjJaIa5zh*9$bflPE1_Z zxUxrvQdajAF;}3zoBZ=1RCVV2!#DoOfU{9dT8fga+wSr=6m`Nd& zMQSxQ(#gstajO=IgszorTF0SJtx_cm&vu^XahSEr7>oX4EonwdeC5mq1~l z@hZx=>bCt!Hcw~TTn@8n=pIXrj0J!T2Woe&CvX!Gt|y76Zg6|ckTWCe3wQU|7u z9wLDBG%f(-@Mp?2-v47$PiAe47AiwFQ$M^JmleZ<_weUTNrm)|CwDFYlkqb&qarmr z61Z@A{~fpAS^!m`Kck;Tykawb$8ccnL2Q`#vsW{)@_jRzjY(-L7aGiz9V8Bug;)QD zC_s46`=%^ggIuR2QjryG0S?o8d7;*T{{+(-l)sU5o2Im3p=jYUA&Fo}dfpTCGIVbP zee+wa4^{Sd{`~nfQMc@GAo;6sND9bmrpJ22kSiS&6;+p!kwGs8L)EVXsF}B=IfdSvuSi$*)2>QoG;!j=E^fo&tDCt{?9dTTl|4 zE_=#jGupMXb2zy(XE77IGmtf*u9j{Vk)IqN&z*(Psr>%N1M+?jP%YRs1;lYsE%Hc2 z0h&2*H1UcmP;`lecfX^5^X8jY>w>53aY&|X?1!!)eav09UKerryrg6qn8vDDH6esK zgPHMuWsqt>R~0M^UMK-}e0voFJXq@=Hh!C9U_69o=ZxDL`0>5dOQ{eFYZr zcL_q-X>4HCLw1L7Qrb5v#u?OyAxW*{_CBOk9?r^~?ic5 zkUCLcwNDd5&2=3ccspOaWvPX+h!zA3nA9UPPI8!=UfDTR-RTIoK#B?g+AC3WIW8Os zjgF;~JGC*ryNJIz+SF~xd3LfutQx$u+}sEEGB-xHwAS!rXV0AJ^0*{g2J(|pELYbR z;T?xt${1wZ*jE0XbU2?YwBf`|gfBH+5~yYxxnFE=Y=$(%Dn&kFigD_60t%Er5*FU6 zNy452)uI-q>R))Tl6ljniti&loXMJpWVXpVZ|jFhwOtg~i_bO)4rIrf>+xLW58aUvip2-t78?t?s`F+0gyeK@f* z&{3VxzQi6zv!u?QD@EinNYNG`#a?`x4qQW#lXpPei(aH^Iaym&F$ykWe5xuzU9z6#08fgYUt?06>NliXI{i6JYoFnBqV`c=(V5)pWQ;nT7c|l7k}bBq%L$ z#93~#?qut)d4C%DZsffB8F6t0oAV@@2V2VDjikzae%YAQw{I7-KyX#@R|%VTxFS|) z@%b`ATm*uCY_M4aG)%@o_6+rscdtScEw6)xjxKfeRzp=WbY-zt>g4rg&vE*);{S1- zq$~nZ3dQ7)rHh&`7W1GYU{6ULP35HdDG(O|CLAISECpu)C$W0 z0;VpdX_6;99foXx}5X z`sA~7xty|1TJJ9E3x1WQCzobW(&OXZ`Lm#aD1ESYi=2{D_kWW*a7rSzABe>mX2oLj z=d0d>X*FfvvQKHT~VrNf#R|J z0S=Br|1mtm8&e7sU9Xir39q8v({ zv2@J~B6M?jVq)cQ5zR*PmC#zn0Y3e!jOibj(b5Xd1{=eoX$Bb(K6a8Jf_Mft1e|4T zG||nt16qOI_&w1=Xn$w}9|i3u-(hU3%6~#a6BHeN5gMnMqv8|C$WwA@Jn74n-3|GC zp>k`9RK^yu0_%7bY5$&Rs@y%ud8pCg$eEa#)1&{wtJQ!g8;k6_9TpAawYd2SnuBbn z0gX#uPA>Hg`HB))M2mq2B~8~Mx|XUX$|rGoffiCtFv#AE$}sqHmze`(7?fG@kY!zU zjY>!bk*jzm^g`05LuckL1;+kou-?2;%ckR@kLU%jS4{Lyfq3D+Zg%uda|n|pYAsIR zqPOt8u&FTS6*$Ogc3IK*9F_h(W8So7>EpgX+S+b}zI_Yi|5fiSbX^?y*9#w?NR$9r z+V9itlj2w!z2~@oj-IG#2Lu0}<&@l9H9q^sv1q>Y zpARfayt)09Wq+MKLBY@v9+O@|aiU?49`x?hgphZvAX#E9Frb@x?Z@*9vDpO=!7hq9%S@1qWV`&BoexRAdS$|xcV z0y{nMSavC;g%1lLXf+gsGx(pU4zYQ!D0RQJnp5)Dty=_YEM2xt%^adf)z?tQA}u5e zpjL}t&z;W;T{5aAe$ou0o0Uj%uzl&%qc~1yku1XEgOE047%gAi?Hbby6wazfMmEG- zKsZzkzOiXRHhdF+hZF^octah#IJs-zjFu$IS*|wXennI=_wO%%b#bqy=Q7HPER5Ft z`{xa)U9-lH9s0Exm)W8G^{!$%1D$mwQF&Cy_=2YJjlwjA_%S-e%qSfqpP4 zZmrKL)A8wdyINYVjdhisR#Y?h#Cnszn2ZAXMh*wo2VxE9nLmZ;CQ@p(gE1&H{j{#+ z8r0_G71ctK=^O;X=_U`E^CMIPN&baQ4N0Tm#4bDf=?&5o-f==hLE}#&KHsX~)2m<` zWN8nTETNdZEYhwZB_#MJ;QF{?-he%K7dOnO&|qm-Vb9vvp$qrRjvhU#PmA>j2k_(V zSDb)Ga0ce%eM$t#fM8}ExHLpJA1BRB#H{GxzoxleKD`Fok#|heuR0HQh%0s-rKO() z6eI;GeD|PeTLoj1mysz8*Zd=Ze!flC#W4oORn{Dtjt9)aUq((tYkUflCH$Xuf|7PZ z8sdtR*C*|Sh}W-Ap$aoy0&+7QK@#j`5abjPIfa*9AJMvBOt-q@8ZN7Y4jbtI$w)bI zdiAfD_%kz|(0Fu&g;J{e>uaeJE{s72yPmD2R6fXE6o!@zy`rRZEw7-oh^_Xa4{nG{ zl>I+&MmX<#_hMdv_hdi%{}bCR|Njm){XclLOW0bIBqVuO=}0h?6JNa8e94=>^t!=I zqZJH1!(2>O-qnVL)a4o-|CK)b)v(Z_w)zcyU6Yc+DL$p!u&sBnC;0r8JjrT(tcH>t#rtXWdUKqy+~UY0mzU~Wh@XV&J2W}r~p}PK7+#qr==sm5J8L>{vLU)vQZI$scN2yvzM_TJ*t?Y#fjc7w*PJy za56Ue-`W*g_8@$ix8yECaq;8tAtc&S>FoljWfE;T$OrSWZbYXoq(%#m#b7LVZc&oY z>3acv80i6^$77KSe!j__)>BEL1g(gOj;_Q2JYT)iOZ8t|1m(R54C1ZWk7|&UNb2_~ z`fWsTGy%jS-W!=tU-F`Q{6t~9JEd;F-4j<=x!bqnNg8G^hvL-%4~zghsdr;*;g4~+=P-^tl0)TcZ9PO`HgqYl-eQ{+{f~YHO85n!4$!R7t%kF-o1G*P%4tIHHnjakYKy|7ogQEGim;!Q zG0=l7M{nFeb?TJ9>+k95UC~#ak@Ej?^9uF|kx$kIL)JZa?OG627yY8ke|1z0wqCCP zNqRO=2-B&;S4wxoqU4eK{t~JOt#d;TV!7#4etsktRQfQ~$w3FeBwn|aJ+;^gkSoL! zwTwv6A%-a?a6CxKc^z9M#IwJ!baPP_wN0g%Oo!{ zQ47n<(1R<@AZR8Y|34ZRT4+7}PJFK}LalD82+O5NFE%c`Nmy)LNL9>QVg^_X$?o@9 zW&GX`IOZ~3^Uz}c)smvW9Qn~*xU0VE8|3#f<0Z#_kFBzH3D6A62hi(~-*KTM1N};i z>*J&mdCaM!2!45J1$GhO<(DPTUNMJp(qsUH8`S|=oH#1y)10;FG)AsSPoERDIXg?J z7Y{Vq<`7GdP9^B=$ji%P+PJZ8fV@fdZ*<~7PyYLfPp(tgn3#SH2$J7DUThdK5%aj2 zv+i$Wcn+tyh`A*~y>#5*)LTYs-Lp&C-_eiC4AN8#4{Gdya9Cun7TnZ-bze*}Wl(%b zW;J=xp_o3DiNBGoQylIEn&MrQ+$=&CI5oF)(giUlhh_VPa!2wptI5bZvChhQ0lG%N zMU~z{kn^ELfc#a9`hV+LFcJ9uUzd%U~C3EaX6c9SFE~=%#r*cHsj~X5%G!X#A=OIRr;%|I| zvce@Xh9D*B0O1J4f;zXSD4{`5Hh$tPCDSu5Tb(pn;4|=J%Mvp%iC%}4UW02sfs^f7 zq#b4H7*%x;JQ&hoe-!%2AkthpV&q{=3A5wIRplONe>L7c`-=!U^tAeRFwp6q7M%#5uLfX zV#NySh;2iw@S1p)dvka+ZC{{WTkvDMO}~02TBPi_oE#tslvhyD=HG#%4-u!#df_3b z(<5PT-t3298QczOq(J}Jk5W6Q9B{edJ)@68L_83zZ@1;Y9yGA`K3$|U36WchbynsvLk67`=ihh94Pgx@V3 zXn^!YcWQb06+#c;ETe)37ezz$g_qiJ9Nmo>Z=N9V$Ec=VfjgxEhQ09hje?H{B0*J1 zlJw7_dE(+lR~y7`G;R`&bWc-OMqVcu%mFgFFjPzk&_Z`=6(Q)<)nkK#{vvr0JTThR zp3-$Es0u(qlC)`uc{`hkjU1Y8lEJ1#fE^}9BqXHd1fl5+U9ZGk-FAp5i_O%QfMy4s zMwoZ3m%NQlIx;gfyxho24w7|->O%aMZ%WI21~tIRjwJ$fm#W4oZ)IS>mn z%E~^Fe~=Dc99dNPl@2izJ{c=PA{#_@L}-oP)ATWZJ=CyN=LW}7Q4mBa*rT&$41omu z#<)}=`l`$>e$O7BJ8`7$b|9#0q{=fb*?c9BNwPJb!U31su5kWKfJvXVzJ z8}!s@W0EHVNaXr8-$%}uLohK)D#vb);MX2Mc@jH6gUo*H+p!W-;{)2(t!#k8p|t(! z0=uo{4n^}<3kwU@H8)LZoBvgNe!g%;%I!RE4sqGSiz6XQ0#fZ>TD&2z1bnoAoO1cW zQ}M#bQ}A!uw{O#o?>}Cf7Tn6bW`N`0>A4X0`THZHxdMKSRt?7d)F0+q&9s?McTAU* znELn5r3YAdZ1dI6Xao<#tC`P0OsTuO`;%apxEl*0G|&XGTTDz$vK-}q$l*36XhK+n z8h~1xps`}amCzeB1Lc3R3YK@{QKS0-;0w zVK6c@RO&cC!p^w;_>h8c6uXX!fNgOa(qd91M8&Kh$ERn@-YEH~w-5qLz2ZKLnva6N z(9O?(+GE|O>d*rdGSOsP(pLjvORv9WQyBm-wd(5o8)x%oSg&4T>0GM=0fcq7qjyKM zJu!mZM$ZV&-7IJ4NN;az1Z{ph;XxB*P@o?tQ-2lh=sf|_Kx7yB-$Dlu5 zVTD^~NgxecUE*z_$@UI+F8{Z-B*t;Jon61;t(%gqw)R_fhbb+!wA-H|r$fcmw;tFk zdZ8S0^Pdk&LZ2se`hEX?)6I8Y6#;hfUH~+oz!%sc;B01RH?GLIL9~UaGKWK+M2h59 zovdz(rD$%5#eDUkisj2OeK@svfT&;PD2=bruFV@qwUbo!%x?2~#V93+!@Z%5tMw>( z)fe=(L-arZJ=!#s?H%B8(#^VG59TbWBjMqr-Le%yv1@!6bZbh2_u`to_% zMCgvHr*!P+21qt}VJjK2pPN#Q198f&ICwapz>VsoHGtW;q3hht#GoRo`s0Jm#5qA(%=gUj!=QEi7K}K`DNc2)bTGS>&n@KYmq&g&CgnA zxOP5Koodhr=7afb)=Z!bsE4+Ht3R3Cg4FneG1XC0^o)S@bf(HA$qWgIb@1LJp6a> zB=7~V&8V(R)OR~OyGjW5;KfN-*_w6h6#NCvHv`Q>l|dwwfBf-B9o7u-33Ztw>90f!vn*(iC+uRe5O*0slvkH}D`exwjSMAH=q{AKBoZ3v zFdcD*pCJRzMcw*`r(J78TwEM!>m)D_&OTBlC3YaSeI1y0eaN;*B^x1(VOcWncpx&y z=g*&iN}orGc5P!y=6TP9geN6Nj#Lcd%rlCys%3~iiD-8;YDksA3KS|X0C16z#fr^!E32U{ym(O&ecvbZ*}z zA1NmTFH?n;YBVhoiB!u-2G)y1x&I)54bnouvC_9vzKK|DB6>Ihjx&MC$aQsb(}_=Oo;fl*vygP;WBt>s3JLBIyKN01SeLBZkM8IVPWA)=n%8U z>kRZ^maT!`j0i%&Vd;X#QwCL(;F*qfJA`Z6&gVe4&)9RWatbab;|eos{t zT?LuaW@}|dQcWLjt;Z}px|h3-!%&He8%0gUu3PS=)Po(py#~xf7K2TVCUKeuX?dm> zrgudTpfG>Elt>NpwiNvQH$T6Js8b>B`k9oXS0N5?b$B#A#q@i-;abHK0n!AD;`w(B z0YP7%RKlUphiN}Hk7>-XG{7ly9<2Gi_Opx4`@*ih_p#np*t^Qm3tJL69cJg|2(yiY zB93&5h}v z$w$;a9p|L;T{@aZw6;D2=Kjm$4frghrp(%*w>seEZP25(R>ToKkIpBb z;S4l6F4%J_Cw`9n>zq4!#lTC4;yCINxAk-eQ%^MOzLJM#gbb|psO)>RVUigV)!NXI zN!~oIZx-&uV^>_Rh7aycdH@-X1#^wRHvkr zR29sNXt7CW53*_4)iVNBV2(AR0T8O$#dN5S8Rz0s{j{E(#oi zFYC2(mBiH3+l~&qf?3rEo)<)SfKoFQ|G|@!Rte)|wrM?e{%JPF&)*oHM)YL>&gTznsH(7;zj#2)3gkEE(oWIAt?ZgGg==2$= zRbuK^9mmZx(6rG=Lk*h2h~LCUR}pRA?N%Ufc~k-tye~;pedra(1rvGiT0hP1eY?DtkK&bOQa&9t{l* zdkDjPAc2QOJ(}g-qAgu!c~MJIp4MbJMRv#8_vBgx(le`J zH~gTg{g6uXw|8?ySzL7|uOIbPgPLq)`g!9}X%$Bo-Q@0uTr?rgxecnsJFQZAM7D${ z$DGlWICCZ(tc5lSFnrAo98d$HY?Yk0_kyu?j?Gx)CsQbPNUGK{ZptEWRIg@K<92fyKF0fv;e$uFH=bz6Q zDyN?$ypciG*rB88Wv|QJ%IS#8GM}*+(!-mnbK($Y_S>+95aUm})h?c)ULXVBn6aKS z=5^9pz3gDMlVpe&udCeZYs{b-ju}FB$D>ocJu0>}7QXuh^Pbv3pI;|L`9%h0+5%}| zRYHkqR9w!yGQbUywvtvRbA+R-9M?>d0vJ>ug1oo1?dU#fzaxf$$l(!f&(A)0cfY}B z0fmMVDztOjS0zBkxXcP)K>zTUcXI$R$-U->R@8|{#Wj|pep^&0EF#kX(_&hfG~v}> zjqQM6e7!lDsh}T^BlI7)0Zy00al|1xjzXUVfvdniKj3L5=PoB` zODTH$um5cvL$}SB47>r1O=;TU0D%v}>p8??MW_v-#AhfWbuu*5lAAW*?i1z_B!m*R zcd4s)XjG$<^<|Q^t!H4^Q z#R}3CM}QpDrcJV4>Myq(RH$L1 zDj$|?{IyP_e>rhEgG$xM@gr>#hjt|BR~A__7U4mSMplRrR z^5y}BM27#}uR7YM8zFWKF z!}vUlQuPJ8clel56&kE35*hP zg9yeh=6On%zfy($oL83^g%T}2v*JmXnD~TIuQ_DYwMntB(IS)=&51iRNSDkc`g~%I zYN%!&@$T<<)S(Ymi)-I6ZhI9IX^cH-ucTboMaGjk+2*1hr6aZ1qxC%~%)0lQ508Dl zeH=q^2OSZIRjM|ZO+tzq7-UQdM7DH_mD%eByUl5+pCoQ zr~+uEU+K#8Ll52+*K7d@baw8~nf>Xa7U%Ko*|nOcaG70X&s^_LLnemXGd@sh`#D3Rn6zo9()!MKE);zc(^v?P{#Fa zG6u>E=H;b)?-KQkyEr>>$qv8pI1X2`fz;VFh>{uVVe7p^1`s$^nS2Th&8<-oZ%0%? za4w3a-Fg8e$C3=}Q9-5EpbF8Lf18&Cqj;#7iLzC@pOAipnETby$!e@6s-AVQg2n1PU@N|h-MR1!V}O%k(V;g4@d@-mr%&NJq9Xl=YC** z54C(ThuKuMyaS4+-ko00k>ukBlaGCB8vx=;A*ugMvZpyGhhR{vd8o|05kFw}gG?-L6r5pa&#W!QsXR?D|^20`_OMx#ZGh>A9G8AmOEx`miR zq3u?~17s1dnaDs%9+%CBZlMFRZ%Io|N*!sdN2Gk|9|%z*WJd>a4$DFXU86ev;G=z$ zaG_xxPc>+UNa8&I`>6NJE*S-BVh)e~P`w?&K#_!-jHgeZezHGH?kve02lD^eI@T0R z5SS4Vm~;K|ntJdy3@NOH`A9;`;6}GBlB&>sPDO=miSWq9NBI_SiBZS06oGpO&bh#2 z0snziLGJa@hUb_Ib<3trA&vl4+WlyzsRj|?9Tx-mO>k!G`2qZ_2YrDiSN)4yz6uoR zW~Tw^RkZ^eh@-nCMMBcz(|`QF93|`akMjtqAE;6KYsvLcpWdTmJOp=J=4Ar}vBqXz zK%#@fLcel5jKkp8gK^U2n>QCl09_9fkM{;_E6n?9WJvO>WQ%N6{K@tR@aOeB1Gq_m z2Mh)@X1-&D;S?5bcza9jQ~5+5EdTuGgXHcTbn3jDva>x>w<_}uhh5{3G*5D=3`rzw zUF1OUrX)A*Cs{4C0l2wKG3rG<{}j|J!1xc!N8YUVf^HlIZYEn-6ba`vbyG9(ZOy`T}2REFZQ=!R^ihv_*haU@eI#K z@Oi9KfP>HL-~TgnVSdJ$-!nmrW1WO>aWXL7rtRAet<)|Y zUcT9EZrWS~t2Cufd1tmvS@A&OuOrsC-xL59>OWF|0eL}8CQPf)tCpu2n0E|)Xpt!0 zPorYT@brhIZgtmWuv*ba-wc9q9_Lsj~tx5JZy!K!=Z29bRo7Aktk7fA{RyQWnxi< zm_QK=a=^@7GXS}qG!S@VtHlOu?0N{{Sdf@ilUgllX@cPK`NM|~;m+d#a1J6*Asuj_ znaoDJWD<^|yTcqkiz=DK(d0#NFh5`zzq?bQBwtCA=wH{ z*#iZz%Ux3>bBAIYH?-*tzZ52ylz~@eN*IUBP{DOS`p-L6+|kHLZmLQWL&omBQ|lzA z!NqeVS~ZPGn@HmsDMIR(zj=hRNHk$?p%Nm@Ex9GBudh#~b8>1*4}1^d@RVw{Zrk?i zu+{DRI8|HK^Jp|ha(PAI{OCTCY!aRnJ%;2jaig0q5=W4`%E6i$(`iKJMG7jww%=$? zNS;We36KV7;=C}q#{`#|8B`Cnw}+tdy%%k-hi)@Sh~l7q@Al? zvqmK4_}4aYe26$D6NBZm8S4qMNX_78I?;@)3BXC2)r~>3GWKbUMmWOtC(+LKr()Hl zdl{U;!zy_>ioaq3iZs-Ttm`goaB~d&bq}Q1r;}Ht;^v<*ba_S~gZL!aq_#{~k~pR$ zEQhbbeq9iMKDbbW+%1;C;V9HFFO%7Q_IT`bsAfJ0G>I}5hYGR1262JXDA;L;?*J=p4tn|7vrI{&!3 zCf0Xq{wrS+Bk8gC)q@f`wXDn}3Q|hY|Cr7bJA3=0X`)|4r7r99(d~1`>%TIY7Nc34 zL1T5iIBtd-McBUJ9w`@bqdE}S;`MNUXmrtki#5ar@KGDWky8p8Hh%>J)s50g6`~!v zh^=BP46%Z6(vbaSRLLWSK&|sKNaU1McIrteBuGVI6s?_*5PGJrymYDLhS7$h2G0%mejQF4?h@o2Y- zf?%tN5(E=U7KsuK2)0PhNt7%}ksO4(_JRJsf9}kkx^t`Mulo;GT}9(LZ+OCfc35j| z=xU+35LXrAVzLMfW3nG`*@YLZ^LmTiYxDcRsE}ou`0_{CX_CBv6qn$Y>)*QC)IPZ$ zFG6wDWPt7S4?Ccn$!d48ly~4mtjV?RZ!#A!DwG6%t_b$hq%ZwD#BDZj*w9+>scxUR zSc08_mXUzh^wDAtKgjMr%?#OApzWU^%EF@7TF+gG#1vKu3DPAXMM!EFfCFqTzDs5e zmVo4xH$#Q_d#k~_#js0sf?#zgZZWP~1hAn1} zXG2NA2>{7MG9{hhodM#JMlmlb%go!0NSYce7F= z51tD1vr5!op{qtP03?9k1`cqUK)#6-5!Wl-X&#fpYN+a}x;W;ZrllD$<(8k_eXnL# z>JIo6rC9TX%SU{p0uBQzqc=&a5^{ZrPew*ZKQuJxPfSc8D|{3yrySn#-hKNzz^Sz{ zc0-(1L8cx60VT*05fK;`%MWfWeRp{HePQ8YyxIwzP;@Ba=!|S=)DM!%{5h!IUH7t2 zjSpwm(S7?aBfwpbIvbP8pyLR9@MIL)VgXzA-(;R=+fyg$2EmG&Ot&-=WFyc!7BJY> zx8do+1$zwKKW?K;-XA2E!cRBUMMv!iN(z_;%ldWOQMwbi`gHs0)2BFvRnr_S>S58y zHX%az+;MI`Ws0bJ4-1kpkXZ2d-$#MR1gfx%UUttOQZ`xd{5lue*qFvB9N7gywh)p? z1jHFfC`SHxGQSsQJpxNN6(tdpks{r!xXFzjGtZi2J{KP(ycvVhwppAY=FDkQT)~MA z$)D-(^pnE>Z}j=Z=m}0e$}e{nCar z>_7w&=)kjDOSpsbfS{^Sr62eXFi+71l$xkEQ^Oiu?j*Sh>&^y`TE%v3i@dd z`OEF`ZxXyyV=m#Z$q2r6>+MPqHbOtXbm$I1QcPz`yZN?&A(F?sDb}y6SzlR}#p0zg z`_Augb!4_J#LFD1ST_DM?DIEyx*ucAU^cxV$M8?qoCg)|U}oAhT?SMrh$OF>yB|ZT z5$Ua%DUt6Fe8dHWNA>L^As=}!H<-~?UWr=HE}A{GOU7j|s?-bbX8k9ahpv-`lPpq+ zHM^HUDCFh+f`hw15}LA05X4v{1^>C~daoIFYHBMYX(qyRy=c}Th&?j1{i2nkEb`aK z>6*`zVNTk{#A~hSpP79cIy1KYjMG1j4H-{r!_Om;XxD{N_~)wI;u)iZs=G)!7xA|+ zm}iXVf$)+5+#agP(wrh_6{xn)n<4~a6oZHm$gFQ}Zf-{&=b!5&u9?+Nmqzenw{IKn z?O;1TY?HKvHNzaj3qt2-$_@ZJF!CvL9-g}Z*<5>++FUKnvv5l+0`+FxA{Eg&@XdUz zVbvW+xs3i2nMa>so+~`f(6#m}0?49jK2|_V2GCy6nB1Yy6UkzJy%N2aI8*DUWnIea z>#q1htu*9Y@PA)ArX<|AtYHeKXd%nH`{3cjj>fxi(Iosv(q4UuaihSK0;l@4N+5Lo zW(+-`0X{^s3*AFiCs;rADGKHA{3gm2lnaihNU^ys;1WXw$cywV=~P#x6;%uu)5 zGUUTf;kV_`?8k$)nr)ooO%0tcUBNqhG6hk5OW2=ya1#VuAP@$`UY}w-)*Ze&$jq!q zu{{xyfD0RT?nz@fx5#Qb*t15OdHT5|Q%vhDHo;@iH2j~@`zfJjPfZWv9n@GvPo~S3 z;(5l8t;@a5(+Kqy&0Fq`dIvBIt!q@=BlORdE3dJeDUr(VWi${pb(Z+Fj z>&lh-9!CI&KU~1NqrqFh{#}&s)H58Mn>L4tdAiYBq9lF-khf^ii(T9x>A3iJ!%pn3` zyX^I_0h@>5ns0#&A`nmi`tYd4R@R3PfQoz!u0Tt7clR@;Sq$c}bx5LOaS=(8ZET7u z8ESXVm=T=2$#ZaEpq$jEap)@QgO!mI2P*>I(p`Y&8M;jo1dpVGm2qcl?By8E_%Jxm z>j8W+x{ak@myOV$@~WsX@C;5d1QouvfmZo~_jlkUHX&$58T$t+`D&6_DYIciNVNx= zY}`HnPy`h;zmzege4nhUfqwzC#!-Y_z&m_xj=(-%i>kB$;E|y2iq=`~UgJb&nE4`S z{R}&PrCoNH<}D{g0}_S%_4M=(#lXH)9S3C1{pWx>q27o{nma`jRH$w)VLg`;RrFDN zeGH)1``X&ttKbMSZvsD81STno+adz;%AMM$3e_z?7*dB%?Mi^VLGT^;*^0Y%?J~!S z$qXd+E84pBqa3jr3!;&~aGJw-d#>eDg|^LGJ?~6R?ns5}8le^)0N1AZ@drHpUnski zIwEmFF(7~CE@iP86-K@Qgns|w#daCI3%*ek?F%3fWguUd&tM#pBT-=Bz*3>efnxh( zqz%BhjMQjbGX3?Yq#6C)*Le1|^&*&ja?sDx?Uy-oKtocxfB(KAk;6R9ga1MXgd*R` z5d4Dd=~uYFsYvD_-*T+$x#U80$idHTt0!xi1qK%22Qqa2_{`d~tNdP|e)eZEmI%l1 ztYb@I*Ap?Opr-=taoZYe*7>;X$;V%c?krNC#W(^{FS-;%+i!%kuCS&T%6O@{Zn?4 z$Sg+C^^>f@W4`gLVFZAL`Pp)sANW4@#OxvvHBr==;s-L1EmF|tks2Er`Fq;Q|Ml0D zfk{k0EYi)VPmMAs=Q0#-LNowCf`2apq}%J$&mSiY3nFFvzE%~$yq3G@OflgU&bKCk zZtzDNdBjLi6WY ztESpB-Bv~apKX^4aXzYnf`w=xNC#q4J~lXDQJ~$Az(uHQnpbsuFPi#nn_Wm5AAA-E zba(SLoSQxrslb6qbsc$eN`4pILL4$%ZA=*!o1J1%8bgXO1~I4h{54(J2ny@3-#1!@Z_LRNHML>ahdt4ptRq z{8-jG*#SB%gj)W-@6r@cjal;X!Hk3_s)aZlP9V3~44@ZT{UZ_Z(#RD6zhr0E#_3_$ z$IfbPg!63$)^)cWp05REwE4%2;!^cS4g@^)RMCXrAcP)By3CW^I-zCxV1y9*E zw1C0%g8?K-v`*+o<0Jz$2nMp`6;59?ObXpKi&8P*$PK3a!eF!<0>hoMl2D%b=P{XS z@k$JfWpd&O7y$)0I&cMc=q9B^fkVBUI7O*r)M;L&8@~kF$P`%V1D9b8XY+zy07no0 z0qd>|N7aYd?`?~A-2gY|)da+3A7Z`VO9W$(W!hfxRq-nD{EX9%)ss!C$6bSQG-gsGhJV;Q0Q#SjRnYXU^FoBRr(bd-+b zT02oe0xdioG3Q8)=2Sx=YjL%?Mewr*hKAIEWp4g*D*0U*mfWxW{QRW81N_gAf4$&U z)o`2F@}{!DMgqwR?niavCYV?eD=VwFj;p472i5JpdS@GAXB}*VBqE=^I*4qcDvDmZ z)2(f${7w~$s&S^i?;-!TQ^c}P17{xm&glo6D;CXU|Mk}+sL5xT;S*v66$jSvpR0^4 z6M(mUZHtUdkQ=;nYakEw47an#&tsXg&!&6l;JuuXvx&he*YW%!rrZJ=^j8^F}~_bls>=`V<&p#ZEqyRan%A> zi>N8mVao4t=jYCu0};3P#dr>e^l$U#-OS3$nx4_ywwK{zs~$r}&Hf+=gRkVkhJkhw zqKfI)HQyVR9QN1L}6-h>ZO^25lwSx-B|=RR)5a7jfVh1dnpUSTu#@B=s}DN~QB zAgP8B47p!gYnrS_Fhk)ZljCOfWmbswS^3hOBF8$LD?pY65xeraFs8lUCYNtI3^;PA zWq#=Vm}|)T*qG8YPRyH-F`6DF&8;y^veGE23)5t>FIu*29k%gw$g}Cn);UGvaq}1o z)t_5hNW&!UpU1MpEDt;AOdLVKu&!rVNtqt;aZ(4gKMABQe9Tcl!kWM}K2 zG+fEDkjzJMGr18MUgWrohei--xIzKzp1^g>X^iF~F-SS0f2L`z;S3S9E@PbKkZ+s% z0_ANKB;ORCr>`@G$r(A~^W7FcFaj`TeoCEJzFHZE+v?8tDBu{ErGH>BTuxI)pyk(p zE^}sug8H)~uURRGji1{PVd2g0eVj>7J1f}{#0=@9KQfGns2Ixo<)6=d*ux+Qo)RGO zmc5HXme6QI5zN?W95%15SuxU88jVf9R6al|F-DM$8MryJ4`B9cUw78kc*B%`DSEDg z=$`l)SR4B8?(TpMRS=2@#nQA?5eD-Q>PSKo1UOP8PYU8XI1W1{rUsZXC)rYYT!JT>wsa%uW@s8v!}rI zc54#$3+i)ESjP`;k65Q}HoS7y&n6{}8M=pP%i!D;?s7rmUlk6>M)ebeIH3<gWF{BUd%6<{d1+sWGHG z2LQc;kF6_(Tm%&~q5g+}LmMw#AQzY2=pCt}>Qzb#oq)rLn++i%#dLQ&M?*&c2omGhG{+!V7YWVV zuN7H9W`_f7(GJ+{33!lkIY{!v5t4@rlxpSue{T#i{&-i&up3=_41zZmy zgS|n&7KH;+(7wl)<~(3ZO~6Q!@|^ADutOyL9FltO(td_@ zb2C`>gh4=Qq4#ufA2jtkP%;rR8yXy}0AP6lbR7*<$NPjRL-mhUq3?&1u_DqK>E*2* zNK}KSSd5x46cL@_v6n{Jx`E*Wna&Jgo`8_?i2J`$+uAB@<5K8c{g2$XJl8Mo0QdiJ zTX_3v$WPW%Z%dIW6-;lpY~F z1ZeAFYWsj=Jc>PJJ<>nBVNr^KFYt1GunIu}YEMVtwtsT&+y+8hZNE-B;^h@vHA3NE znM{n2sD)UG=DDuL%CrrJJVev85%QO9;1Ar77) zv^DW`fjLS_O2@Hg2|f|{d#cRbh5RP~qNC9W%-yt&c*UrUfZSNp$~ZjQG)C}t7{oHb zBD`eW(I4i=(2%&9JZT<%n0&)4VXXilr>L0~s?-EdD%a@QuwlbKR5puI0ErC>3R>dp z52h{L`(@~?byz+ctmThk95cNigGrR_xp+PMgK6yTrj@^j>VAZQL7-BBM4{3$&enTG zOODbwb>%~pqsuFjxuSL_dzxg?XJQmM@q=1-9?Sn8zk2uOc0_UxT!nl@%cSiJ!&9GA zH$^skhVz8OnSjV_$+mwzrfxe}-vWc8ia@~txdNtTZ|_m`J%c}|)n!wcPu7bsrifvbQSTM(e(lWejmZ2x`EBWj+s_0YsV@TCO1ZkmE$VP53H1ta9^B#X zGMGIQD*=>*Yz7gP;PP?Be7KI44B)~53j52n-a^YH(J-GI2P|(_H z=M99pDF)848^Os5?6Y~YmBECtBXR$CelOt&kWmIphSYZ{2*#7am=@uCq|gSq4Icb3 z;lW`^jy>dvLf!ZwG>RioU?+AD#m?jjAgg!+8uQqBR13s&l8!v&EQNWR;J_iYxk)-~ zfu{eOhE+_5IOtce)89nRnQ-ut23S`WvP}d=CV_1tn#qoJ#RJM6^3kUj#XHj20jTRr zghl6bM3CG4t5iGM1mf z#H-!fpmIz{r!LySn}56FW~a4En1pyH=pa3pUHG)ku-uVs5dDv&v9c&?kI?}Mj){q( zEHn5BaPn_|iKr-)pVUE#^Eg7WdC_aZQ3LXE$9%2Bm}{IQ2lU+r{NC9@@q#V6${69x z7ZvtCi9Va8cVGh%!tAYTGsRhuJ%F^fC=ehe-^by>E8PSY;(@jW^;fz$dwxF&gi#XC z-pSdSS_M;ER-g^3cz(@(2BU6FaY}05sy<&dkK)~0F_gr8Bn`z{Thf@ zP=}^w5iCSLSQlRCkOX|4fRxmz+9LNfxK8b;O^2u^woSuiLtU|GX94O)4KC1h?^OAD zI94?Nry4-l?LHcy3RpF@?>gY|rye!6!)Wy9@K`N-Iq>^^xP$=~Uv3zIov+mM?(x|AvL z%5kWpF^6u>RZq_y=A;&_()6#@j2@|kXT#BH(KmAEla`*fzK#*~{+puod_vZc&P~>W z11|5*voQFJK#4rtW03L)nG>$0NstQ?r9P(VLL8c{HW{?IsJ{8N*9-`>g`;iVS7f6| z5ZfKY;+l)PPF~}Oo|0zxi^68;Qs#`lYdS|%{?@3;X@Qfqp4)$VNMBrM)Vu@iK@z@J zUTdFO*|Sqs_k)8i`tGhT26r;>Z6a>JdE2)9s0{pqgGl=~fm;A@s6ISWQI95ds~gx# ze*mGr8%tK8xC%hFJHT~ljsfs{O*RKC&@vn?Z!`ZV{GWK7=vHzNuXf zIt%>Oe6>RKUfYjb#dUD^pe*(JdB#?^g?EIeWeGI-zXk9Gk034-J+m z^DbS=cRiPLDOa#fh!D4Mf$Z`*YKpi?3(THs>&3F~g#|rlWgEk$v1e zg4;PqFk_y1~Wh&Wf1ZC!1Ab1#~`6zAANT_ZCWYBsXq9hh(+I+{*T~KRVZAjrZ0_^4h4aJELd3xjM zNY~Z>#rDrmnlrl1h7 zJ)|a;Z=cHoewh@N!ZeJf0R$BC`5RuGRnh@ZSIA>xJSnN-3zdt@U;G?NmxjgiwJng` z2rSgyUi9tS>)LTV&ij*N`8M`2Tgz));^Uz>oqlQ>`9+P-@do&dycY- zQF^t8wms-X`4(5=5M1#(zA&REJ54~;S{)NWZgIE@2evFM(o3BLzZ7Is!pcp}%nV?j zB=313@zRSB>Ph)n|JS9c&-x0)q&!spV!M0yZn0W3@#*>hrO1vG=<)-R<&~AW&?N9n zluSLC!c{!ZR)T0Kx=!rHe3<;a;cs}A%ClV_FdJ#e^YP(3G^i)^YXB2Dl_N@_) ztr|DfQ02V}ZdnRACtntN7+Wc6woI=XMgV)$vqwH3G$tD+e>OyUPofF#S<#>m$v86h z!6<0`1d8=zhuAL`aY&Qgm9jUj;m<(W?2Xs~?ZPsD_{C;(83p~-J3U^16+=%0&)D(ku6@5;h;?{+e0o^?y8|(hgGQtH5aB%CEXUABmct$EZ`Q|)D%&i zlan+2_hI*vm^lCK`uxx}IhmHz?m01NH7REB6B(r}1MqAlds<_0`0`DTgiPL3lkZL_ zZA3pa=UX-42{gi2EJ(RI25B24{#H4&w_4y83*PfbnTFn}f~Jyp&IM*72VI0Cv!3c_;0v|^oJ zTheHbc;;ew?fWC;f4pDY8`vB2U`c(*xqfQsf4w+j8T9kk~m{0@dr1BUcMQ_f< zliwFk-sr8u&RMQMTH@bGd$W=kWp*DVoU+0HO{>j#vi)WAO(($O1IwTk(F9lTV+!9p zhe?e4o!+o>7S-3*Uafo??IZK!y#yEpr5)F=U+?X<@{s0-x8!hr5-qK=p-=4BTZPj? zxS+OZ|H<4s4dvq$^br-F z6GSLg9jKdZ>yZw}TT*8V?=LR)_V%vbX8K-;Qgd)`Ezwq5Pbr@-&OeP}n+-<$jO$0C zT;5x8696J-$GQ(h>iWP_Y@`=J-$EC~Zssg@&)o}U6I9(=e^<|#di}p9j!QRJgKf;s zq33ie=hgGLI3f7?i_uusNjXSD2r0N_WJSFBWu@dm0C0ljP$Oo^3maCdwJ>Dmz`%g? z{aS=b!^OVt%YeXk6Fh8m}zsZG9K=)MSCysJ9fgRthfh0<|F80(|2j0 z;3sWCuC%Nx1^JL`WS$G;#=4$`haZsE)70c@7%6aU!~*aJa$b%#;dlrGw7R+mKS>&^ z!vM}z9L`4#2t;kwe6fyvqWv2Bm}VL|H9#A+LNQ+&uza~-EImuxC^ z9iQ-xAzbFiBbWwZs?+#3(tsnfT!GeONIHCITvF}$@udK%S|R1R)<=F~SOT$} z0Y)8WaWP05R%jx;9=&AwkcPgFuy-?H@k_u-ICe`R5&RskHX`>l-O;u@;L^0(@8CNa zQeJv>S`bw~u zd?nB^TZ|rip5z2H^>%c0+!Zxb`-pJoodIeUEkdW>{AoBV?Qt;1Lq$#9Qk~wR-ci2} z7LO|gPSQE)u{RueL+Vlc=!AA-3I+h%84+ z%N^~9aJ{zi8zJq`3szSyLY0!o_YXd4Ol$aQxmDx&D%1!P^Mr1?2G@4v=}(+Pth*s5 zrSY1#KyhSbB)yyvQp-{K=dlp7k;M_tT#=ZV*o&-eHr$GmhjE$cf}Mlp$Nk>Kyvm81 zkh0~mgn2Det-AOJyBWC2Lg2nedE2AY$UF4ZUb^_6Rl%M4&?70R89B2P*o5IBkIA9z z!6?8Mt#jhAPHOJTd$?=;G}9l`Qob+qQq{J=Vx~NvnBU>? zsOstQXN}c=Yea&qkaK_19+Y!+&i%dK27}u3tfepPG->EHf>L$Je0;uO$|_1y-`#QQ z_lg|UO^kwI33}mvhINZ#xg5?#ldOQjpg-89o|TI;YkP!4MwFHDcujFwaog#u^*(>~ zch;%31=$|@7%0B|kkr@5n>KAS9wJXIt?tel9o`5M3dSFUrNzk(Z49UT)W298VnaEor~ zj+3^^xM`*PmF45;?s^SMNI;#aIg&Xe9kU%GVTPbu^O{fmZ}=9v=JlzfcyI{)%UoW- zwd4x#x&1*7H70bVHK*0n9_U`$qw~c_nU#9_d z9`p9uqK?&wkaY{>K>6VZzVY!0!4}{DBfu?*mDJ7E@P{@lCiGTge~r~1(-teFO1{U`ll%{FFCWMm%HU=`TQDk~L{Ma--v z4>@rE{Ls$M&c5Qgj2p8)83Q-6%0G%ZhiREzNmb@^e*-+SB}BttwJo7sZ9^bb6`Ftfuek7G6j+O zR5_}zAM#BM|I)s%WM;dkC)~K^)P;;yr!q6?am+3)UVJ=E+2mONtSt;XS!oZqhLKJJ z$DawLH&7WKMFC$S=InydWb^7J*e{icw0=X%{we?-t!ab?OTFhk!){MDd~MrmjLa(i zN<8}eD||Eh3&s?HDc#VP&tUwm0k`m$Z}%i1Q3`@0X){wH58ly8iA~+p!FzGsjGa2hn!qxqBf<}9Lz%ND8lTtl!L(bJKVBBy6hspAmuLS|k z6=HBvsm9o`yzMMSbujrvhfFroS?%USL4P$X~+1nczUCdIhc zavUWimKaT@Xq-1f9jjMzD_(wE%Gtd6k6S#)-&z9{T zS1}2$$+YSg7hhyJx2aNY{Ti0bx{5`NA~Dp6eBp}39?0*YGW?J5y#k?*6JP8RLmpLE z_us#pq0m`gUj7c5(10=)8oF6KGU;=bC1$`xzIi5NB;L6AVHK5RXfrW4Xz?n1OTT7{ z$vui@e*>2p%nFFjdLtSU4`;Cx6cmeqfUiXgT7-H^nqy8Aj$vVJ#UC0ha1Dih(epwb z^}seST7+y#`p?iAs}^ES8N9wYyBH()*ph|W=i3{puJCPqcQ>%tO-Lj8BDjhYoz3Xd z!pK_Z`QZjbWVl3`OtpRRn z`d?}s)Uu`Mue0l!KJR&d|AzdL5DJ_)iQnfeV-$76+s{G7%}INtMu@;M3_jfon1GL~ z`%&+1yldcd6-+gAm065>AT)NfPL~+nKnG>kn;P9HXGpEF{k1;JV^RXi=|>1t0*}v7 z@K@E==0TAX>5~+p?z;q%XBMpKgav3_gbp{KY`WrdbNF4l{_6h92vrJ?iSdDSUp7{F zsSgXA-mbjlx6rjauN2`d7jo#Tq8NM0@tF!whY+#mU`6t>v9X!tvR06t*wxuZi|_5m zp27JjfiRJ3#NpvHLXU?>M_&it?;ZG$JNc(Zf@?juf|dVfPr+^5u2UEQsr!Kben!y) zI?l*5W%>3S2xA^9oOgi1S3GXoPG=xofrkL6a9A)DuEZf9tbs&Elzx_6lMQRsf^`cp zYOTB5!5`%mHdMx0z5)KfZ8!MTt|L*yT~g3N_3TW?sIsON}WaZh)y_V zo$b6ih1TE&&ebhvtc%0}3}82};M%-HeTK&83cfV<bvYvxI#KkVi48`eGHz1e#NH-#7>l6h7|skLB=}X zMMja;Jf?kAN|}*SA9E4YfCW>9$mTRC_QhBj2pD9~m2ol73?h~A4jgd#s2|uM$tsNP5>M&JDb#?hr1@cC!V-?bV zoY?2voMQ-^&g=<$JEth5tYn9C8iE13rNj8-O!KDh~iaXd8Tz(6{1wt)SU8nsL_hqeV_zQkgH%yV!7+0sc zem8#oFY^b_MpyA02}E#Bo6Tt7iT3C>zft3Z_C52Cg`Y6U417OlmoTH*myqgAWho2B zHtRV|AEi||`W5zUoF96rfKfE^>mv+AYApLog=8_i9@y~Petvt=#I?VtUK-@6htT6V zs-we;Juf|x_VXJ<;rP@%v7-11%6=f_<^_RovJ{Tv)i@@+a+mLcfwPn66JuJMe6ItO zkP||jU68I50vrl`Y?_bg>gv))#dkPJq0hV~A$)J)(tY%`g?xg{PrBcAPMlbVYRISF zr$E9hVg;lfM?4CLxW4ykW~RHpF9+);7JM6+pH#o=;29}hh^$o(qKrqVVqU>_EU=ic@upS27%Y{7sfjDe=U#0iT*4mroc&u8pIUY!yH%&I`sfy&Fl2}g3y`w zH|V3yHL!N4A&S}yXosPUAfdk7$6;&4Ib?>qs)gAln{QNs6n(CI9;0YiI>NO$yRRiU zNw|FHKg9e<#RknT%D+@dnFGkWi6K*eu6PckXa-prvb?Z54mnMP5N8%_-Z;Z9?E6c^ zBtB9d&)Pv9D=D4D2+l^5;xsC$TvjJG{Ym$CMO`IOdmx<*5TF^4AV~%T%{&zG;K6Fh zZ*rqv@z3pjvuCy|f3ZdKg4e$6s1Ps(>%x9vq~4%WO)x$RkK`#I3({@Je)X54dvDt0 z+(xruCwNd*slLz7XnzQ4cHa3bwmx4!7el|%Z-60nd|1Z%^D7CEcgSAifMV1uz>vux z%hiio_CFUi*JKM7zEp^E^z}!+ay9OS423}Q>`+Wy3EQdg|^u(2W8eA3E|u=SSGj9`qd1ZqFr+n9gX4Bz;7#eLIJd- zgEfdgPwQzAM<~F8?roxx27_q`#e_9<8YQF>t~}Jhq%!AYezfZfoaP6B6tUyQ6-@?| z8v?NhZ^&D)!&6`;J1@ z_He8MTCf{Lr@n5G42M|$IY2)$2vGbrb~6~=q9fRp}K%B;fD#k7GatmtMeIp(3 zj@I+)D9trT;GwedOEwTQep5r^w*iAIaDfmprG_A8B=il5sZk%Db&=J}i|~Tj>VM^7 zNSC1D9rZ_?9u8wMCcl*3vz0{*rr;Ay7^LokrmlFMqQcJIINIn`AUWG(|J5o$BE+)6&AY`|}1>W!K11~?j&6o)x0>-M9<6%hoDOfJs_xPJzyZZ4N z%ouYhGONfX5pi5$XMiqRv=phHkLSap5l1jh4hUMUDk7C7iNp*4zg{p;X+Eu43-G@~ z^U%`LkrkS^|JXSP`%E|Z+j-pk=0?E9Q`a{Tczj)~bz55I*r^4Kc6Nt}`$lcwuHvu8 z^5Et(E&m=O(D~nV$-%CBi1r!hKK$!X=vMv%=?H~G%U6WC@c;>~a0e*@rX_8IhHdzs z-FYNcLbWLa!C3X*{BANMp~_y z2gZRtyH4OT|NiKYWtMkhLWqYD|=ha5U)KoSH~@3B8g?VJ!`Ldp;qk&-f*fBLC;EWaNVyZQ=B-`)4I1-`Oik zQyMC%1_BX&{tE?m|DAFA*B>?&IL_);W!Wc|srn+LRd7B*2Z@6JV^^{Oxd4i+HYp5B%62hx2G?n@+mOmlruL#ew2#6iild^UF|_*!AEc$S$Pup zsNTGiJAIJ;lxVqq9GQ+a4Nr@^QJ0k#LJ=on6qU>-WM1-jE1r1^x(Qdq*r%bA4$|9g zg4m`zzZCH)+cSSDvgikZop1qszOsWFR2MoHUM9FQTJT7OVuGN zgaz4^9Iz>nY|DnA)?K@?B0+41nDieXoB((}jWiEEp#;icO-Z$uUH}oeCRd(yq7)0W z;1Hw!AiDH;A^|E#btL@${=;2-A8^=Z01011(p>bA#Fsx)nr|vK+J=njsO4NSA0t3W z7V5ALuIbQbMc_O4A%aL?9WrGcDiWu!UBF)y{oPA{d=1s)Q&6XVu|n=!R8o={vb!9p zWLyP^cjL~v35v+DQ`x*J4sh69APH_X`J`@$rHoI}@?S%>Pa@%9L)Bb>GFf1nd+{g) zB-c7C$fb{VMCQ9&Rv;?AxnAj9-O23+`ZNHHUMSb@+mnrC8V6?Bi}G5Z5E?oGvI@|^a;h;<#Q!c_L5&iMlpc$T z5$x80%S?gDLS1`VJ<30YqDK1d4f;|wqBh&mqQ;5Pjx{Z)2k2Nkdt>$uVn8 zR}B)!F9xK@$Ti<$ICD(&uAGdk{{9m2JWws^z=H4uu=#60gj9zOu9=I=qR}R>X6kjI zqV^(rn{-}ze+}{<4gwzJQ@Q@i0BHq8!8^qp{+U3=p(DH8&)bQ)lQ z5z8k^eXNHL4rWOGflLCSL2mcbFw%3`0NSuo%mZW$)Y@bAo4exmP>0#{(Qy`EF`j7= z)rXwAfR8*RLYa5$mMy3;g-1kO!yeew6bC%_sHzj|TPt47&OPKl(HD}7{j!sPtiUmI zDaxoHY!su1C@GIz{b@k?Xl9*I{(h92Duwq&zZgX-)FQ!*kc^*l`4FAX)ierTjhpJ~VM;7w|M@r79ee5fP1*Srhi-0Ezg3{*nt?hXI%+a48o-l|jhq`{yc;$)8P+ zZymZOTqsj|zouRXURcg3K+sL-GjWYF<0x7^#3P_Iv;+xaicgRS^P$A}A-R#}VU%hE znqq8?2z&^{#7=^aP=*<8<~C8C80j)}A>g6sU3y4jwIE8tlz#Kd(Ltv!!g9n}e|baL zmlNvhxmcc*K?j|3>0DlG1zymVZ6MW3nAvy-LB6ltDWGRLq4U*gP_!u7#a9^)N2(p6 z5v8F4uUH!Lv&*On@Tb4O+B*SXCmr(^nIlT!&b5xOU3dDtF zoUdtx>9OORjUIc(<7ZB>YV1#TOEh|}Z3GZUC2}F3ln8A-q{kKcQ)@C%(#nP=&QgTS zK43=fF)(QA3F-e0?Gk-yrGo#~(6Oq$&bIJ6VK`Mx0jx0@@64Jot1&>Ujox8@j}iZ2 z2ui0v%B2JqqF*hU2CB56e~AIX2QYkE{XqbE<^Zq619)k-kN9G$7*Z{u#sETEyclI; zud(W2+@Fv*r5)JSy+8>=E*yl)9Apn*m!I$jikKW5?{UmB8@P+Els4m)9zWH!+>m~= z0lDL8xyN99$U7kX0@Nk}>g6RgW{xCn?G=+Q-35?z<|N!|jsXE9UB9_BC`C2^tl4{b zvj4EOocotc9F1s*=_^0}Wg!xr4G+&NUgut}u4A*eAnA)qUT1ne0na30AOg!+g@ULk z^J8G+X^!{FPuj}hKHHr62p<6<$MZVKXywa=0odR^{B|YbN`&3-_m~46=1qtbf{fP7 zB}tB?&oTV*K_E7p_AgMmRBl-zYXs3g7K|2rW`Nxtb18^=jGaQ#=+n!oP-jUa6#q86VhTq#SJSb6cO1^1FT$& z4xu%T0cL0vd00k>A8L|nm+nzrRNM09dLO`1sc;n7Y8koKM*?lLwv=?B{^NsLc~ai= zb1*r}Laa<1<;2KbFHfhD7XMOH91e~--(SX$Hcw_H*E?tjo%^tva7ruYS}*p{Eq0+T zbcsXn?jEnJV*tbixQ^F0Oo(kb6vPP>mq~Bub0DNrIwB$)A9@LXaB>~&swVK&T}fL* zuQzR;p1^ISbSKp|Hs3nzgWoaEX+BPDa02h9&AJ;rtDVr@WY3>PM_ZISQSP5GX|!Si zh_SHMr<%9xm-+ghIL(vKdnZXW-`EW_D&|nlms-Axx|rk86*4LaQuBQYdy-It+_Sdq zA;lzFW+sgYti7@7j^P6Y(8O$JJ7)F;nJg~Ap>43(n`kF{CRzlj~$!x6vi|gXKPaxAf16Oz)){&Oej56yIAJic+Rdp z1TfSVZH0dIX{hAVJc?z_;Owm|oJ4j~gz$`jvK|V|g^LtAwn)L_4Q$5UI6dT~0L=Yh zBfhP)Wcg*5FPMAQUw4I7dhfo#+~G5vcEx)+5=YeEC6A2(`8y2h@P-&60wwDb;wKKS zQj~Y)5)4P4hEea7h@ zoY?IGjyErdjy2vrXHq`z!v`&y3Xq4IqT&l`dRupkVLN$T#Tdrx?vln5ssAHzk^398 zV-l`_7g4|2QZ9vvKTV!%eLM+C#4g?SoD(^}E_i$-97$D36fjw(2@<-O0SBBg;0Z#& zZ7w6&zD$47Zi|jD@V&e}Jqg0ugQ;`~E~N1zAZdIq*pxgQgRFm74iMSQF7y2rnP57x z@L@ixVp9XhUaZ%bf5!%9p)g{Du6oIlu@zME7OoJsaElWFmW+@OR{p-{;rM9F8g2*~ zEqkgZdPp&u_8%na0{$#STCw+Dq3Z@T&RUeqYpc8f31`@ySPe{5dVh&hFBa`PvWk`$ zimIwO#T#60feMuLe_CuwfdM?M_yfg|c3l>0ES!&2<7N zOW5)-+BPS#b~YaTypBWlS(TivTee&ShARgId0qfMTq$ml!#ilC+L;iy47p-&Z|#9S z9<+%C7=udp1em7LN71X>sQ{L5 zF`aWcH!>0u685?gIzuqE{h^_{r~jQhIYbHw8Tn{LMS#iJ43~voFA65*CoV3Y{cfqr zwZ_fMul=}jZ@tN-dwwai4PRQE)v8Sj9!#zI$ZqJCUy>(QTXM+dd1RTn*DeG zEK3bD;qO(Lx5?=j$=??AjXnCDYuzwQ_-zogttmD216Hrmr?u9(>8-X|@}O_}!;2n3 zNrzfEYNa_u15hcgdg26U0m79?J7*uW?Y~BiZr*NC}_;q={n`u=Qwq zSAiY3^{fA?Hn2^SI{zAnW^w9xY8^F&C3b3&Tr+asTLc9iMrW}bsa=3asf}J};@#2~ zIZ+!O;5XW%>?CEM8IMld-4ndr+@`-Kq8aG}Jg0O2d4UYDZX7%&A&7($;vGRCR^AfH zAre6fNhT3(l-lT(e)9*NMF4_=@SpX88RdRE%+}q(T@9EDs6rv?+W1u8 zUq1E%s{UoLnaaMzg2l3N#?e@w=4kb{7ufMFa&mh3UJw*BNZ5mV+o|S)7-q(OLwoBT zEwhMz@T)->uk5dadpCf60!nF3LJW^($}WNgQ5PRH{4TNEJB*0r893sS>3OU~4nxa& zyaV51cbPx;TngzrgMSTV)*;ei04BJx#PBMB;U#dX?O}kqd{FD^KtSsd8G}aI=p6gV zbbZ1)qL7maJXDwy(HDb&KBUOSc6JLIfz>Bi*})}Yv4g+7xpet^^+zaH5_z4}dn_~V zkD{_B%qHdK<)zy(t6TY7M@dPEmip<66V<;zNX-*W+qz1;KFSx3Dh_1*a*-NNprC3x zDjL2SGXVWq@D>BV+$}dPhe?&yjZjxjGLF;O>fGX|o&Z7fr!h7-*fPI{-9{ZgK-lO| zdB_!Zz6iL_F$D{E&=MfEd0=C9@`8~PI}mfFW9Ap`VK`@ZllU=b#Ry9iPQJdV6>IAU zD!?4-Ibu051Q)s9(w5@AnoHGw$m_FOF{0s|h-=Jd%ohBiN>CuqN~mdRMPQk{jUJua zZ?k6f$9@z$6=OzU?SPY=eQA> z9<99nO-<0Q3W=Mw^$2AJgVm3ln1mw+;43wN@Ba)1;Isa%W{?9Qw)SWudWt{bK$VHX zc(r5gJ8j==n|A3x5a(P0PjIpv7=b$TBC z1R@~7XW>e@biJQ}4Nx+N6n2VRW*YFsr=|2V>~~p^%*@*@KM6Q*x7xRpn(p!~=lv4e~C!4aRX`@>vFO!oiWZ`?B6C~gY(Nif6_I&h^9OA*(i^OaVHDYZGT zoMY6J3g2Zpule|2!krh)a-vjo0by32l@4}32))q-l95B%F=yg5BAkuHH^7RGf)dp+ zIO3y~QPyR_*RGXh{?#Gx&zhb&=W&+Wm!edXQ1YUI9kHlx#EPeEc}gL#klU*P!D?u_g%^5*50lo3`Gf1K5=cn z&M3nFwbT|0ppj{I|LzNLsGZN)rejIJ&|B>-4X~Ug_i00jEaKd;zi+i-lP{O>K1fH1 zxTOp8tO&43uRvkbIXZp82~^N;Cf^LkUAx&MMS4p`$X`@3SG&n`OyX`u>I5=o|AjEEVaBn4!5=C|8H+o5imJ<{3X% z8L0>1F!Az(P}qBF{dGk*=lC$R3-WQ3PZfD3t`% z#!5==bhf9K*^HUNu`w46D>olN2h-m7<2RcsRwddj^G1?5O^;`7MNZ|m+7Q))~p9Je%%{MhP!S-Ck|V=m>f~^qsTJ>&0PV9 zh1K^j@nOyhdOWklu)L7Z}|CB$K}q65%9e6xQS;CZcrUfRMK?Qk<8C;xpst zvh!l2URltD{EdjY>86pV+r^HoMBmKIfBt#b$K~AYbEi%{z+H9aGq#~gMccG>;KY4} zwC`;>aAo02H7K$9Muuyn=M}Qrau8t);K%U}jpHT}+g4=~+aOU*oKI0DCCA>%U#Kw5 z-dfe$Z+HU|-~7Ran!qoK@-^U0`#OwtH=6;DX*}CRiCUy8#!uM$>Ep+D2hE{bBOE>B z*F6)NbEHO(bm8a{ENt1IpSCjSi?0LceRFA+%A&E3ag9bkT+ye<7INhvdP~4iBZIx$ z{n>{&9ITz-vs~^)YR?pnov6d2vdcX2U*I(Ch#K$fw`hS|LC-{DH?Sb9k2FAK`%4_u zFa)FIkxJ!^AS^&Jgwncms8c#M2jdUCd-oX#d^JTYPC{CNm@VBofM1(RWFZm6EqU&7 zY3!`;;vQI1mtuUxX4qYkK9%&yVK3?>MR1UH8g8-{mGy4|p^;n=_JBm%S!Z(ynaIV2 zIndAnM9tO&FRlWqhcNtC@#OQ9hY#P}YAFw_Hv9vdBP?)fYM#D8=(O|8oder%+Af}n z7L1zFYH4whO1fK63+GhV=H2qkz2s?Jj)VRKcMi5fd(*W!YZt{_Agvib@iep7x`y(R z_BLhgZ=?7?&%n>8eGFX{TwBGZ^WZU4(}S|Njnf3M+AJ&PK^=D>Yn`F&N(Hlcl?O-rO^nNK41*fvu zE*&8YQb)ZOLW%pK7vzlw;O*d1*_c6bW+-c5+ux5qs{N|e8hO6HF3 zMsl4YfpVx6u(#RUx%>qGqU-)!^IIbEDhn z2Ty#2Klc22<1tyFWN6XiM+Zan7AxMa`mFywerh@V5@C|2Y zjMV{t1X1eud@6NTcg4UB_PtykL;64PIu|sRXJvusbhe5!8nEI-%RxVAA%T{QD>Z_1Q~L3YS^$cOl}jP zlv5!ozG&0T7H$b>(3LK{1(ahH+}z@5$@O1R8FVz8_4@&eZqdhttqCBb8TK1lt1Z-I z6;sRx9iJq1%9GCb8PeX>i~WKu!{zeW^4W8Fvh1LHBPd@8-<1@q{0sY%V2e$`sJmdCw&7Y|UZN|{TN}mX zu2~nh9ErIAuBz8ty&|iOfjcD8=ie3t9U@RqS{+nw+JRXU;NyXYJC<{a?*U!$KNvL^ zUfQ;inpIdXsJ6l+%?bhYz7MvOIHiCO4ssv;y77uH=I{Ectxy=oL1R059?Dh&Na6ir z&PkcPyFMOZlMc*#K)Lvc@>dh+M!c%D7r9!rJjne%0DEd@YMY4sPQBgURuoQ1@eq1- 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 O7`ydOw)xiEkN*dkD{IOC diff --git a/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewPixelCopy/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step1.png b/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewPixelCopy/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step1.png deleted file mode 100644 index c9d5a8074022973e9ac2a38e5d4a482c3bf628f6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 41234 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 diff --git a/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewPixelCopy/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step3.png b/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewPixelCopy/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step3.png deleted file mode 100644 index aeabfca188ca4e9c4a8b1b239804fbba3ba6737b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 64809 zcmdqKc{JB++dllQcEfH)62ji3LWpQ0v@0r2rX*95%p^l8({9+AHKEK=G8D-?HyA2q zC?b^l%8)Vh%zK>Q?)zEmUF&`S`9073u5~}wy4P*n-{JaP*Lj`8aUAEly^b7GS+bC4 zA%nqKvTyHhbp~T@6#nP1U>^SR=dzqW{NHc(f9=y;fFG9yr#u;qKN$OV@6 zwpPvEEnhPe)^Aw2AocBKzr}*<*Gtcxzr5I!M~UNjbEDK!Gj_kKqs9&Uqt%-Csu){! zZ&leiTXg3fwIgi9i&7Q>@AA!SzD zGyLN?$KE-NXGxEh=T`n@%J2wLUA2V4$c?ZNPzv7ckfibO(D$}B6*o7x>c_fU`UeJL z4ux-5OFa7c)$7-v#%IK5<}v>G6nik#XrT37it|A0GO7eeC*@c z`LVb@-O~8wKTCvrw3pL|`&;lT1Ad|l>raB#5pzQ9?GBkH`Htvp-G zf=i#8lo=I!bJ9w>6%6Rh|Br`}C70$dG8*cr z@oKnQiGvu>+Q-n>``P&9m@vRN(5+`(?*j zdwa2%#SBJ5iXZQm5?$MTP65|JwG}H*yB*;CYYs!{ow~>@2lY|CWP|)V_nD~}wHRe{ z0e*%D&*_>3Eh*FTu%fFASxdFQ&!fb(rNcR3$FL{=jtje;oScqdo5zUyXQDOK)~Kg3 zJH@Oj`d@39R$ml#>qQ&3wa&J1DjKJ5zM36pR{8#cYV%O7VF32k#EOHye<)}_BYcHI zZL*=__;5EbwkEOt2!Q;}G59y<=TtZwZU z7*NN<7qjUjcU@bW(pxa0eDvtiJ*#m!qMtn3c)B8jkG82~^Pf0+O-W96rFB;;^m81% z@`vja^YpRq=&^ye(%jyH&?*Vmr^PhVHa5nn1hm(s7(3_8Wq9yi=*=HtKF<8|#*B;g zs7I2#?)vbKZE(T1Nq1$pMN~ad4fY+rUlGq>D7A>$Gr|Y&73k+W#eQZmqSU+7YYnOj zTqk^;Sc}L%>*q0@v{L-|ZXA_pf*gafJ|$wuMP)ouVh#@Y1h2`$s7$_t@6*gbw10Sb z_>_r>)?PIj508$Hj@`3a^LO7`d(b)JkgK0yk3x!yg$ZS_0R7`$v)ipzd6fs9(K0rTTkGL~?jKx$XAXR*sd1({ zK}+nyVEc`u;#l&xoO8YW+qP}f(udpbx|zYNWGlD*KCY}qS*`&@7uw_TsRQ% z_orE3;s;u#R ztZmV!PoGk14K8w;Z=wf%uN}QR+aUh}cETsk63(|e&FYhM$H&LIH6{$kGYMfSk1tL# zd+7wk#1hpPVi__x%RO!7;XY~Hbb3GPzb$D0?9?D$pJA=bO{+-2Z@jtP8M<1*v*1#F zeHq)$2UD{nXEExyPnnvQMqKRC`St0>xv$US=BC*;6+E?|FL!LOy!UGGZ0tAe@u1Zf zk1wtxpM|z;$^7+iTUuL7dUAUWe!cnLUOZiUz-H@uO$#Y(Aa}-8m?dq@{g^toN<1d{ zx;Kw-_@aAYmO|^+J!G9-xIxM+2ZRZi_464g9%|w@xQacjwaVo`h9ze5ZMOZA_udB! zdh@iqP5;9gJXEom({B!`r{9UDF2$|Zgv;=I^ym@Gnw%`sZ}K3X@H#s?2kNWd{odLd z>*o7rwD>+Q?~w7?I+!B1_MgC=*7~rd0>7)75NOt^(0?L&e6xm)iP~9 zC&bZnYUN)T68x{{JgUqP$K^hu%^Z-#uBb4U;6UHC88R4q0~quvAr*!Al!z{C?eXDR ztMP}|8IkUpQ!co_x5L?RkGkHwOv7~yp8Bnlb)MBYPpucMPdKd12)}hpgOe5=_^P~o zbT8hexqKG(KR1o;rQ`1m#*+{1So9OsO;|MJy^seM6MXtNI-+$#9-C+XhOhLRwF+zC zH-}%uPyBMc9zWL?(g)$^|KtyGS~YWTYr}(fl&;^f;lR|Y@|f>oDzB{@v!rkW_))U+ z#ZvI|2j^_~X#A-E`Jej-wZw!)>yux+cu^g2BQP*IClJaXfF8A{X=y^$Lu#^_!%-@v2tas+u}C0vpC?*HjQ`2;RfJpw<`Y+7}5WP zA^uN%#xG+&dGcgO>8m$y_W#?Mkxk!s!;M4S^{1PPpZkB|g5yU?^tb=qKfrIyYJnBQ zj2A9iq@noF!1`@CVBRe@xX1K#{|k*dkrgHoRUiD@m=`WwsIJKJP%BCo{O5b9|8lPB z2{|79Z&+r0_3G7lftSv=!v@x8qZYtDrqlgjXv|tij$9v?`sJR;GcTj(jN|_QD*_!l zL&OcwZNhQoSD)=EySM_6Xn}GA7#xVh_O_M%(g!UsE+_Uuk#PxGzO8j_(v%0@s6Y!TT7>&Lu zHhXkNFGloQ8#m%p$N`4F-@8afMO*~-ObXnsZ|`cn=A1R@j_-Z>>w8Zx^jFVn3DRYD zrB)=RH9Ph+ZnLOK;0)bt{iZJH)-8_Dx#yD8jx#b^c(k_3BS&XcpHf!RHpW)?+z?V( zYa=&YXB?xGdOA=~ZKyxL*Hx0T-tUFjo1BEQOZv)t^kedZGb<`kg)uCog|H=Zy?L7` zw+)c*-@8FKV?&6HIXkcepTy*XoCMXxvvcRp?L%p|!n`5N&X`kcPHwDsma?;C@0~~_ zXN+pi+3gldz$onA$<`Lh*6L~0JYbwUA@xRbBX|AaFnjLKR}6oacTnp(Ih?Y=F)%wZ3AcFFV1b@$1<#RsM=3K#e~Gp ze{yp2RYgTW>$^~uUpx9v3mj10`}9BV^Vg^qB}b-I_2T`sq#IRf58!8 z&+f;^)1!e)+(5z$h`_HrTuvoY!IgQ1O8myS1YHN(f33u@qMn`F)kUmK9qj z=dVO*Yw*Y*e>)*NChGSD<=Uod3kwebx%$@z=oD?`+j}&$6>55zpS9Q#pCjrog|3dq{JKO9}ZvcAI>6ic?PlrJG4mP3` zcF(^q;=IuVgKH?Ia)-9(p$Ivaeb(fWZl(kxA1X~nGOzB2%z&wpCPii6RcyG4kJIYu zdPrI}X4zeBvRy?Wwe;vt{CT!=FsGEyOdM+%8Tsxe8yI6?P;f zG8JbA6f<*sU$2W??LO6M=#w^uf9KhmT&U2Ta(Ks(=H&E9VE~uG`9BvfDs^2+iOQ;M;6y^ zlsFEF>Sf$o?uLJs^6>;HPM?pTz(HVu+A(8$4=K22D>r@Bj2_KNi`}rd4=Zi%?u5a-Y=9a>- zg9k!nMEV?a9?x6CQ)K=yd?mj5^HKrbu!OvMYwvEcHPEwvCoARL|DA4(*DxU(VSxYo zIt^!X_D=l1E^IkDs~Z{LUS2EBvTJ^$*#Q5>Lk|*ca3Q`Zc?v~rJ3OV{ndfuufQ1D8 z$f~I+^5XDu>E48FT63|+nJ%N7vzb1U1zVN$EhAnh&rLR`7 zv0)RX>|5Vb#4vhw{ZEsQnC-{Y%+!2WZ{7;nEL?|e4?Wt*pMWN2HYyTT#)z9PQq z=t74d?^o@(;NZ|*FFQR^I3ow7OTVMnv?w$A#zar9HejgUuWzjj9(5j_9H?l1uPW)cseG%D-30uS(bs2xOSw&sveRxPYA5@L z+7@j4XE8TBewV0H(A6xp{A%ky(XjRBvpL4Ny~0Z)g#?4dbyo)KJL#-;{(ghp-sA43 zsgaey7Q`L(eO8Kl3rzpKW;fYaTKe|xCe@*O$qgHP5wMEsSYwp^L~8_=0He^q#kjzg zYQ5?_(`#MH!7ZOxAX(nvXvn4Spr&{BwJ`TiWoMw(PhX5D?5DeRdFl4`5qRw=fYLXg z4N+MffLG297<+x#jh&F=_+6pQN5@hGl>_+odl<2ThW2bthlZqGMt^1v*ISmY=&nl%TSye{P3X1@?x@Ah2o6-+QSig9SU3c)$``F#VCGkJn#i7N<_2L!3SyXfUI#nlfZE?C^XTy(J~ zdtFjaM}naBvK@m*!W`c3GbxCrb1$CPP#k}#_8Ib&Rk9YEdX6<(DW~6sNY`$(u20+A zddE0pUd28|TX^?l2?|JHSf?kV5qo=VnFm`_!SuQVca{Tf^$SoKk9#|XxGSePYfz#! zxA0D+T?w~If%OQUG61KTtyh@W^QfnAW_oMOZ4Gvnga`5Wg%+ze8_tYthv8cH0g?*J z4)DJ4&YBe%r{PG069dGLK03y>F4E%z{w_^7C$c?B0>lfUBh=-Ij5fc(ne30}#)BUv~pEm#m< zF%Ga!L_?q~STaD$xMYn@84?1DM@!{@K5MT@)OP5o7Qsbl^W%~AMrK&VW$3~t;5K@4 zgI?CgFK!dv=Me{thPysJ$eGIAK2fST&89drR^h{UR~M*edqbuz5L7w3=ZH1laE&Us zn9a=rivFBpM~jFbuq_xnoj2ARDg{XH?A%jJcsKhJ&I~@mIMQ|4ixB9E;qDlqX{@{f zJ|}PJqi!D}e+hyMFY=>`_GUymR)nCKEM0SiEje4fTybXdd`J94@6TUAcWnKBeU}li z$0`J}I&7sekpDi!=n`E1Rhv$~^+aI2_o}m-R#qmF`$*3*u*7559QKA=u?2MzcQ=`q z;G~~^F3p2&Kj_)?dZch>N_|M(S66qa)8suR3-dTM;g7|XP)+&O;_ zZf!L3suZvg=i9>1F%k28RQR3O(6;*)d_;~yo^5ih!rgzMLa}gfB*0}Uv&yJd(x>(= zUbXQLO5jFo3#U1WvB7NLM%TIGdD&!)*ZRK+4{KN#qM;kKQ9^>7>zU5Oq$9eCymrD~o#FMsj_vk%mEgkBS%s0alJD*Y)Ia_dr`k0Q}FnYlV&OLp9oa3d+mM%0~B`|M~TKA94zt%*eDy z$J0g2cZ@U^sht3zEOqw#tE~2DpJ>yH2(O7P=I_@C3NBTg{Q1~AxnSI)@m!N@ANDhS z@2Zp?*lVJO$TNjG)teVfbkxPE#Sm3D`E|acCwxb3-*{(oDYt1D8}|R*`L0`s6}XXO zdLcCqjQgiI!LwGcDAQ-y*#BL23w&J`(_75@ z?TyI__vzH?Hm#$V=P#q2-B(dP4?&c6_wgd3p1u2&|E>t#BB=mxQ{?>c)|z)-`p93& z@b{;=@6#H(I0kmFQc2Jj05cY(>v)tc6n2Qe-ZHeRtwD z9+rTGI(~|+iK-FMQyhl7s5U{lQM|1!i~}U13sb(G936O570{`wE(Ti8OOV2y_T`h? zY^Muo*Oy0DGzm{m^j696Qoij)V0u_NE^;w$R+^wHnV;r3fv*Z#bsfB{Rc5R>LK>gg z(MNk5oxa~tDRHdT=L(lQcj!^)*UQWNRVA|5L^!wJ-P)Tsz^-xyCiK~^-uxlw#bD4T zPdcUNmP)iD*Yk!OwBifoVIwkZG4sLL zc{||Ie41vaM~J@MI?`ybn(yw&S|GF7XH)$^e?N1X`{*wD(XW?_|EVbcfn=-^Nqk?u zWpc5|!!S6NR?r@B1x9d_eS;qkm)70=O1>noqxE;=@0nf5Z z(aj~zx?!_%1M0+PuXPb|?dlroCf-3{U9+hCfa}|!=7HOoxlUsL7^;w>C0iPw40TRV zO_ah>=e|@tL1`d`**M)yo01G#2$`Q5exY5|y2xokNl7@!-a%;Pv z&*ztdU-b5!HbCWc_hB~Wf<9M1>7sNjHVM{W$+7OxfyI%TvhaH6d$QY%W~N3e>W&^c zvfO?2rNA3a0UWG7hf=Rm!FWgF;{kQrXcWL)6muq9w-kE81qH?h+|L#Y-D1m6HGx4= zJ&&x#3h=5D+5%cFpU*XkJ0-oR`oHn{1uU3}BCN5;m_qQKjVJ#?ik$hj)VwxHe{!@` z@lfN@pl#klqOGzcuY>}M@UD=o?x$rEK8qyto@mO}#A~c82@nvN&*yL?emHSGF0ZZ8 z#eEOoQaz0X@ZnxvxKrldSKOOU-;S$5rc{E;|4x;G-eXyPT#3nA_bF}iyASG7{$7x> zsE#YL-lw5a{Tr9wnVot72p-h8;foJg&A^I;m<>n9ki+>Y`|$+E6%t2?8VCytKlepM zO+d?aNtl$ea>}C1NC2|!s`hXNCIrDFlp0R=2XAG13hhsC$^bgUbf0c>XU`0W%eE`# z)V`fih|eSRCv-F)ej_0pM1#lT+3o71#gcAph^`VN?)zf$L{*Xek)8th1T(;W(wK4? z;er--pI-k{pQGUlIJJ!Y92%@Mh07;gir7>%>*IP*k815zL=wK=O47#vBVW8{Z6i(~ zyw2_G-}8ekr&}RN5a-!qqt`lBmVjcuu*19TN}%1ZM}K^;`mT!aGk;X zw)BMLzt4Sk)MkcF!Ill^d5m39s&0(nsBp-*sjtG1mzr92UA z=%$m9D}mx&|1#3`q0pwuwTE^LRZDm4CLV3A{)SvehsoTV>kaQGA0rN~wOZ&)!eyq- z%W2eJZ)$9H4DH3VlMaO05cnZcIN5);raIfc?X38jqerjtIUNJBYT$OO_1VFjGFqk2 z{+`1zClB@PRs%R+zTvUY+fp(iQxK6hoG6dR&9eJ&a7&=`3^Vq^CnuZE4hituZ#CA+ zz%$fYn}*pb6QJ;*Cl!bTHc`LwiS+Fuo@0%l=e32|AIk19|Mb)(yJzEt!73Gwh6?y> z^%<$3x#arlre7?Qyq$fR0pZCSk1uoi94dFVEL28h9P!Pd3ZI-}#8Zn$KR!Gx#iNE* zeL*~5we`#iPEAdP$GVw^tPb<=>8hjF+cDlAy$#P^mKleFOPJjB=^2S*x3@7J5?g+ue| zE}Zz>%Y2kt?!CunWnkh=NGtsIKC5J}Z}!LE420mG*0MLCrm2)38PkUqsxU7dH&+dL z5e1|Os-=w2Q(s&L-XSV1^G-{LXB{8u6+n7-%BA;WQ(4`^HH%hC9D5SATefGhQ^p?7 zGEouv4avRkGZTb;E$q$A5woeb)lt5*4(Z`RWa;tM6I5t;eb_bB^EtQC{d^+yQ_PX= zBAy6uPS&&A^^Z8Wy_WxWg@c_-t^qm)0==qm4OVSDp%jLS14YQWHS=`kZe@PCAeNF3 z-9ez%$mH#&T$2@+a05mNRb_Rir~|xW zUS*y~Qq1v?E6)1_zeV)@x$;7yPD_X2GIFaYR%D(r+9NIzGN|)R@Cu5NjGMjpgsa3e z8`(`GU7fUo)mkWX+}c;f(G0(|uh9U$oN})le>^rR3!*wyr6OWSjQh+q8N~j`;XlM9 zUHbPKP5eEd|JdumQ^#{0%zXtE64?b2i$mp7p z(fUBPBs@IUXkQ_mv5a5-d~Ujuqqa`%v-_QzyLSUa6}>;>$$U8PQv~x;AHr&e-XbBJ z!zPFC0%_KCpKbQ$J9$JxQ@u_eyLnh~N`{iQ#~&6EC`Ym+mDP5;!yG^A$c_h%;!>HU zK^UQoi;)l&Vhe-X)mJz(QP}rJEV-y~dMH^mF-CBW-`mGHF{n}EUihnh$({Ws8hccQ z;5mv)$vdrZpj=K3M8#;t`t|Ey-MP6&Qd07tWda35oiYB~MUxO8eO)8n#(x;iY5$aJ zYMLf%`$gVPMz;F5K-VQ3dX`@9e=A!+5Y_Dqk=DtQf%me;o)a<=EV6a|Es7eH+^!3E zP-lu~$@RkrP}pX|RrtadOS?0hBK`^tBpDtzCG=WHUT0?NV&k?R+SYQL0=I?B=xR2v zwj)&)FzJ;?uK-mxNqel5x)#9TjnPp6se(t74fO9@!_WA^-&;*VO!K8G!@9xO)$qcP z2S%ND6y4pFb#-h;t|c7RVu1!l!`^yDsmP8Wd|78c-Imt9;oKImAw%x4wPU(nbBS+;%*v7a8@OY|Ql+akm});{ z_n62RYDvxBF3749x{JllHam7y`)1JH*l z4EZJUoxrRBNB{uG&1ae_PUv_C#tMm?-^;@p9(#2WR|yibRjkDK3v#usJz336& z--_T~n*q1@0!Hzj0TrMVpWeF{kDwYX@wjq&e*(~V@|IhhPp5)Cz)w=ab(v%&0>dDoZGq=P`b5I zO@K2NxQpFu;b5z&3n-PgCd`pG);vvj@a zL`EA@rHzC_`wkNzii&X+@I*JiaMO#KpPkCif7Tov&~5zdra3Q)T=LGpb)bGIJKsfc zDrGkBKjt`g78OfeTPDC?I9`)19XprYQL}d8xYmsffNLgQk>D$K{j*r4&sj+;vBUC& z-91Y?A4bp~ofloqSg{ZwnS>U$h(q5JwcFQYtt{1$1P1#ORz+1Sp(QX5O5fE_mDgK; zcKC2m)T@NDINKAXZL`m3NfM0Q z&hEw2gao$AB|I{oppQ(_+!1*Dkh^i3U&L?5c)~sPC=PDb+2Yq25H#G~sr;I8zpHCwC=ES1JDSLnaMUqpEMNI_S^v|Esvy34TC(1u^#Jhp|V8K8Ujrx zFN;eZ3ETDN-1=h6_WIna+r^~Qq*Qyztyug?&iOv(*`vSVN}Qc-marSjE`n2w|Cs|! zZNIR#rW5Xis+D`Q-xkr9QNUPdm33`wY{F34nRN6D%#5lyt0o-TCv-*VrpiE&mYuzX z_CH_p0bkl)bZeNWgACQ5O-Ok~gRNa=t>RF%#vcD0X?u^q7yRdlzScF%uc$KFd;f7p z>PHZ?NkVh3P5#hFUlGUsfM1RgYJ9ga2}gM7SAkvpf37k=mbUUJ3^`@OiwK&>7>C zX-Kk7bA4Qafo-r$2n8f{va|4(@(oi{)6ki_JP&g8<}BOZ9#u3wl0R?$K*LGsB zjxCr5>06AjcjU`W(dt(>goF?pVq6i*Ii;7BqWVsBDDQ(+?m_h$3aZkWb;mukyu6FXr1W z6JrhgxBKi^`@pTMtLtrMALu=;4mXOPS*;`4`+^o!wKm~DICe~HAy4JeC38?N0#_}-82Gtkk}Q7pa(xzJ<~Ers-?=ZHByd$0d^)xoY#gbrUj9{%!%(v zL%o3C2vYv+Yh8TM`DSd#ph0Xaf$2n}L8HwvfdZqf8BFc^Dx*u-R3F@lB1D~>ba8Y4 zA2+u)`)&e8l6)*By3W#4XUF8vmnq>Fo zXL4pfX*yQ}X>E*kAG6pb>7hJur$SbhbP+`%i@idXdOL9j$ozT<5C%oo0EhR>_nf=z z(+v-OaPs>)MG@)nJ?eK10#R*hS#7)k_%8UusgpZ*?gTJo(YehO5>*t6Z*))J<=hf5 zNkyNm~GRe|5!<5k11bNROJ`f@A+*yDe#tx)jaC|HQ zQ$^%y(Aa{X$P;Qp=h_UjN?OXfekHl7f5i@6OY z8glAve7t5Q*jFKCUr#7@#f{04;WLb`xl(UJ4B^6k#8Tx>5Md=OnYMy5wW91OgigMP zk!}}!`FG@0`-n}0ulFPZfM|ECWA0FdtjTCX*s=p4Vw*XGl&%yW!sz||eYy=f4me-o z-CDV@0FH;JKcN(0A$VYyg4Ug0dHF%}^Ov&f4K>|70KB)@obwK&+x`9Zt>$PS z3GZFYcF0V3H%*IgcW7TuC?*RfE#f$Q>aD8#j|ahPB}9*_6BW(W8(?F*weGP0-*e`d zM8ZL-H#u)a7C`}P@#?J`iGfjpE#0+5m~b+XwT#wJ2&WzlxGNSB4d8Ki@0a`-08ONY z-a`z+zFTWaNK5%JsSx@=kCgy*X+|RBk5vi}I|GK;4YK~+`7Su(b#@E?_L0b04`B+2 z3ZJ9qVArQjJe#dn5p73&03OPi06RF`;EBe}8pM7=r<$uZ4*L=Rz9$17<}GudE}x77d{HF?OlVcRy5QrfWz$YGKD z%!qp_{wzA+AnnlkQJfShg4R@ImFUldCc`VH+h-F2aY#|U(>QUne*apiyGtw123Ibq zqH?0$`jAf+qdYYxy$9&pV%WTPga&S$6WeUF{lW-|DXwsD#G+A! zkUee-4M!u=HQ@_gz$n93MYB!`DSH;Oc8(F%<4+QzSEE`_L0b$FnH(xNA47LSe40k= zf%qrJ2#lL3M;_H9`3>B7VKF&#_94gj`_>gBesV5y~ER!k0j>kiL>X#e@?oA;1rrNQPp*HmDJdz*=BhHohZ#oxjo*x$~g2jry!-AZY9Xb?TZgBc;x+Yq^%TY?S!3nyD7S*K-_+kG_F4HtR^D9m1C5N1`m z=X%w9o8Z9iYl{v^XtH810AJh^CF5V5fmt!~wKo$qG zOS=Q$#ak;P1%Tptqu441CSi`^=Fj@7P%RfI1sOgstRis(aGf^1nDJR~(FC)|yKCI(+m z?OCf(GZ8NNAjc#-nvxKHnA3T@&=?_$MS%ZHdxuP+8aWn8&PaPl@IJ*C;t=;cHVm(% z!l)4mAj#TBN1FpO6}YGfg*_Kxb-Yx4gu!$;-J`Wmpj_!gK)2CfVMz^)usT4=#8U#; z6gPqs^EdY27F&1bT1QMyVQ~DkQ;FpXL{jOMQ@CaZSnWEK@ojzj)R|Z~)on}6mi5%w zAk5BYirWCVRUB>`Wi((DIpF0ycV3}qf$9dmiQ-ZFmN|@hu9z!XI z;(Mtln-H4gUa4fX!%Kh`jqy&X&$jxKw~Zf4K|yP3?1)>%t#M{W<}1kJ1A9X(lU^@~ z6xv^KUPP{y)ewUo6mqRv=xRCA{22rUZQ#PrUJB8`>$k<^Lr5uWvG7L6AyU@=kU|$r z)Fq;$2^S?Ml!&hN_KFqq0|zJ!k)0NGQwfbd3e0x*?jPeq-^;C(19{87G8iT!c;phO zCj>^C+})|;6V96(d><(SRVW7mGG7I=kE3k^+R{f#T4+6uu*{Sb&o7Zek_k5@kud`< zq_{@gP~XcmZD8Qnx3DRNUYf&*G9qPa1a_TtWn%XW2`52@+eS|N>R@T+zdCvjJSVG6 zh?~Rk=q3mWdX71EfL*j5MdbJ*-DffW*zpNZBKiIa5Dih$xs0gOEKKG5cTKZMG`q1F zVPpl{zS-~3n3~M(ZZifR(j~2|v?%J^Ov<^YlSj4Mrk^#5JlnY9!S4&|ly>jA?0sTa zah+huu_PW<-wUz^#s?&-iY7NmRqc*WQP#-w60wj`i#cIc$0;W&8n-}DbpQN4_Ya@J zTQGz^941RvI5ja+p%z%(`fIPG=BLd+!|*8K1wT(zGPaX*nfy;B(r=KC?an6CL!?Uu z9^CHaRsF0N?Oz2iOD;Cyh$dM zG&yeq#RjOUFwNX+mc#BM(9WUM#AbHXhfC5wAtAwq+VrgJa~L_pF6WTI+YTFH71`Bp zUu0*{mi67>BU>ev@euB}QafG99(?}WaJel_CRko*u&hT?T%0Fjm8_{a7PJA#py?C5 zPUbStEQjs@J~tTRyW`M`%UnYaTRmDo$P1OT|05whC2HE`P{zE|!fNl^AkRxV^X&y| zLA+P7hf`GoT3TA9#Mx}R18+(|JlTjPe{{7T#M16REN81^V>mv~N{KY!l+6 zgY}u;uv^$XV8(*MBU9sqDDrPZWyPhq>> z#eAVH5)~6OhG#Ud!3wsGeAKn2?JuA%RKNH0=tFi<=5`Fh$71d*hEfux=*CjkG3d99 z8mqSa&7u3+AeE1A%E~lEfWe-<7ac8VfEwTVC75dXNve6j2HgwR5M_Cz`KCwd9` z6ZhFGCHJEI@gkj@_GfHSem)7xK-02Jr22h38dPOo6G(tKX{o*wt6UCoQUHtU;H9G& ztG&-wxo_DJwBt5!Lu3<0KF`L-;5RWGU__M!+AKYS?nOaN`#Nzx!J{$OP!Xj->LinH ziN?FZa=Bho@JrWU#RFEJ{l3P-fA7+JnRP}!br32m?-0Tkb(Q<%!neQqr;k)_+&GmbF}wHh6=x3qJpgqbBu5?KSu-KV38cuy&c% z#m=&kZ1vxxgl_I?kB*L}l-~-NC##2kb357)Jc<55Mz!hJB1}}pSq~>9NEt_NPmU$P zPKn36aL#W6u?*7d6HL(fYu6-e7&*t)m+Pymvjcdxw*m#nYWY9fN)ld51W_E}qa*Nq zLuNsY?Sd0#?a((ALypA$;K74;YH)4hbrdGw+!jdzI$XrE3^V-@tm75`UtGX&NHUBA zQ9E|5POpWG5bk0#kqxBKXX;h3v7XW|1gX2H_#+2(vJ{fsy3?W7(OFqpcM~y-!5WUO54x8kWUSGT z9&PB8y+rqIs-H(m<%sS1`SSQ6I9B zgY_=|(Zj2dX!O=urM_cDFMQkS1k9KiA4jrk^yB>l^1FBB&h^YQlspe(&WJCbTUoPt z#cpje2?>9&bSlW`qN$@E?_4h;vM+l(rZ`aPOB!Zal^>LM8we8P>0+v@z#6l02F|(K+4Om~Fp;i;JwdWM&p)?@=8cZoETHM<=_d0>4lS<~Rdq@u)mI z?AC&COt5IK5=G<8k|mgCVYclzT%RX>=327`$FEf3+#@UTn44`LZ}vz!_{S2)b@$oW z;uEgcYdy-9H{zc!UOJ6frcm$luii+v6|K2Q-tkkv_P^0${6Epz`QP{qZ>9^^^^Cse z(zaY6TyepGD5aZ(;bsqU-VO}ZYRUD~TP}n9c9iC+m_0sj%@99>-fLsw>zMVBZl*OW zjke8#T^X;rnLf(Mxp&VV`AbY%n#_Jx)fjkgwd2QmfROq!nM~Y(<0CU26w&Mx5a^Kx z#65bXH`0cr=olKkNx(`yM3ATWl4=*%wexfGA80TSiYuO1IkY4q*Wm|ysC9-8DWFj{ zaPHZ&M?@R9_FW7j5h0w5xFmd0OcVp^>P(N^NNB~_RK~1aH~{Pf2-X04UZabOoczHkq55lv3HbIvfJkMDKr1N zO7k?{U$pNp?BdtVle5Bs^wJ*CcGUl|{ajC2Cx)mn{C-mXgP?A;AL*z1tpV1n z5M)UOtfr?IR)!%ejDwnR3Fs40-*7x_y>aMrJbLUKbDGKmSzfD@%jlVb9Wcd3=_t<5 zL*;0M4m9otn))HL2ch!*Pv^wP8Q!RETB0xFN%kORpw12|auG$aJ7$lb58b-pCu#aPt z>8}AQ9v>}%6Qp2gOw!ivn8Et=dH9sp?QpS4DPBnfR6I7H0B0BgC5v>7J_dj&?UFJ7 zZE&2F?@-mMCgtEH`vIt(B&(vdL`m#p91`-lYf!tFP_2s;Vcj0=&zLsQUdXR64z^dt zDCer-!K<||BM)2_ifD+Pytw=1$?|ywa*E@(ldR2ES6Bb_wXQPjWs|0^6U-~5;!oE* zY~@^(2CI=wP+R2b#oO619p=fO2YE8&9oj4FVC-ipIj{T+Ah@^_5T;+N)9A(O+W%2- z9WUD4V0CNY5}q;098ECXKI}Z03xW-hot*wt@phIcU(VD zMTzeJyv3_3S0hzsJg!`+YjrZ^EQ7&r@*B2DjM9UJi#qd<{)uh6A%Z#-07(mL6Qj1@ zYJu#d4o)F7k(M8bl;yF-hT}FoxMG5vmn+$3d^$~FQ!8tO9#G0bu9)hFsH^d8O11nC zDpAUw7N@1O4B(dc_t-7r6{Qj6*V{TN@G^Sw-eZP#>c)`dN8i7H zKiks$Hg59+H&UTg2dHUjv8Gr|r3VhI7ZX#Z#{W(+adAI?KDm+vt;BwP44V>HVlHS0 z=_zxL4`0R08oX1pP)NGXWZ)Tmvdq!$5sucs=P~NebI$^J^ZoV+2h>$%3!;2{d??Nd z&{kV3;p}7L;?}bcdp5?L093XJDn@4EkwF5vF$vuJm48Ti(C#ek6~pKtR@fH#S%676 zo}Mr2#ndkzfoX;$3{QC1_hJrG-PTpCFAN*uWH5HG`K=O!_bV0FBAKo*Qnue`IUxH{ z=%B5*{^EsiCJ%#Qb%ka&D3x<^aj`=BaRwzP*X^mcU(RZuS3f~>Q}E`r8+dvp4emNr zAiMuH@_~{42dxn9?!Pn8L@lg$c1QyJ%#bk(E!Hps_wtx&svCa|BRFMDYrxO{$yApA zM!NIg83yzJ`n8lpRZ>A2FYs$N&(?r(d;THJjS2cSN8}IQ|4n04RfF8E9#2MtY<#MKh!4Qk(`$&|F3~ZoBubB#93c{Zq`9OC(VeVXZ~j( zPO(kR9jI8m0J0ti<0&Ea`1y~XbM)^KO?&JL7MUgd-vi^efN?QN$-}=U;#~Lp-!uTo zdq7`FgLO}RS-$C;d`E>d9i~zzD+1!T|F5Hu!yFp@V3YGBmUK?cXLFYM@;TN0Nr+3R z)zf{*V3n^e<%=f15giMZdl{oE-%rSYs~|?H@IvR?WDL%1Oku8B8ueg6^%mLJq^80b z*!$k>Z#_xt50G=*8MU7pN_G$LeUB$H`qM~{9S8%KqUJjjQN zYp||Hs6c4shNmaWz+GKvAR^v|y27}@<5>D@Ac+;h%Ojza>PvQ?5?d*uw+jD;)p(gy zI6dBuWVN8oa+3=nL&p1c9$!3&x~KM?B6P9dyfqEdmxC%W8f8gxIu^;irSZ(JL*w(J ztVbhf#v-%8k=DBA18vJfyDdwr(xy1GEg&#mya3red4mia1Stj3af0HlhX3tASb^OQ7%n_?9#MAnV=lb}_<>iH4`n8pP<9+!c(?f@lFb z1b9Q(2DTpnvLxfxt*~+fxP_>5yO{Sj>G&Nbm71T2<juDM@-e`xCjqUm)7pXEuWkgueidVSM(_~7PGYuv^^M8=+di&E|3dr5pWL#g2R zsM=fB#S<7rp@O74H2ar_{&J?5!QuL05d-M&}pVm5>kJ;o~$}ByrC{#WUY{lb4%v^{0k!zcF;bOvKwy6 zjK)Vt3FT^#`Nfo!L1@`F3lCi_XYL8E2})CP21;0eQ2*|%?> z72Ks1TBoTK8(y>A6A*n(Vg-$>AoiICfRJ8{&|(r{ynp|mM(0@JzzDJ^(lHI^glyTl zy!?Ui=Q$V~v7AOx$V2H*z2%N0@!){kp?acm0rQseuckg65<aT-QwJD1w> z{2YcLmU*i!?mR;J9CG5m!`QA;%rqG|QuWVgQawUWSAy=~6$mp!^$$_-kZ4YE^4qfJ zJI4O6_wiw<@Uh9BbA>Dw9H7llQLg9<6d)ZYT!x%Kl*#i1F7|(a&2o;A2~|fKp95q- zS`=y@HbOhT%}+ZaL7Tk368eL5Jq^d;ne_sA6QAP5rwS%$0bkV97lw9#HK3^}Oc2%9 zn%12cp%-aJ>y9r?b)u%0WLI)q55vyx*Msh^3NySsJqgSr6()BwAN9jR`F1cV_0N!r z5R#xYqHT=inIy5~ne>UL78?=~fhw{+v)tj0$ipJV>AnCSYtno(p*V3Yv0Qg3Y!$Ub zFd<<+rfm$4o4qZwA~s!LlF&lZt;Xa744|e1*{nkHpJ*|Rfsq+E{CRCPJIuC_x3P^5 z5gjsy()CUF^174P_@wJ88kUlZ+IJX(6E?6EeEc!s0*0oYtzSW%$c!u+GaFbEWy1;2^u!L+qQK&P$GgF1< z(bU~B~IE~ z3Uyw99M8O)7~epYB5%{EGL2K{gAc8pSaPVyUD@Fwb9WbFI{rSYYA?=2_ zTzbnXuF;kCoBpnBnP&hQZ)u0d%C$C; zXt#!RSHTWqxY~&(Y6qldQvs4FLlN`HU_#T5osW| zc0GA%aUeHHX09$e2zm9iRh>5jL<~|!d?FM$#T9yvz7LVpX?GJ}_fV4`c@=a{HQxWR z6V8bV*_6+&rQ6mh;7sTBD&hi?BDEPF-V>DB<{bZ_PG<QZ*jUa53Lt%<>o%VF21>M=Cz@v5E|2JgcA=R;)aAcf^#0>v zoMZ`^59!fkCSC<1GElqSWM6>0)fux}@4%BZqlwe}EJH)igLsW*bhr5+k|__>)+YyJ z?v_-_6a=qUXAB+nISln5KLnP<`fmgfwFhVW}L7t0e z#p0x7k&%2C-R!e1Ifln(Fwe(Vtx#BHR68r(>hWm8t=pspA2Vc z1a4zn_c^%mzVu{Q@#f|aexxa2r5F(4T2(HHv$6r*Fz=cH+FteK(NuX*!Kui7_GOJj z+k`<`h25Iw5i+dRlTazqrrGc`m;%j+RqYBNmtCe|aLVqQdB-gaX?#j>(J(mu{O7Lu zkght~xC4>rscxc{NTd@LW=%+fd8-erLZ6kJg|0&;Db-%r|L&LFoBkWko*{|qIdl`R zJ?wRsMh6m8!8UWZzxiU*gu$%|(oF-F=Noc!Rn3_nfeA_5LJLg6h12+oJ-gRTPi+tv ze|*mHU;8JDWbGlYnjQReF(n+n)~KbWAZ4VxPXpu32E(2oq^`WJ$PrTg{}L4u@uI0w ztUe7Xqus>*r(o3LC~`##7@i~+XANz+5ksnc>d~Wi9;+w*@CY&m(2<(*34a0zO=T;n9w;H^X3MMx1bBui?7E=)roJkAWw5_XX4)GUZp-M^n2l6^?U zPyc}jYTU2_OimQ|d60%I$v@4unD+=f!z&2}s{)P`rGx6pm{*;jv3 zn=y$pNpy!fXEEm?+oLsj(ZC?(DS9w;3B=86y4v`#;)vLOYn>-vGrLB`J>@h#aQ3BhgeW z=nqVO6k1B%Wh`Y26d-)i6<7UH$CLN8pv)~SLY2f`AtcDec?3{?$=kKA!3gsK3f=tz`U1E&t);4s*r?P(qL9(; z!GBo3Z+8imm3N>_8SKSFDXc|u#wr;#7t>@YxQ`MLsr004aEV(&s~w7ra8{0et+%VH~lq zhyltXWBTuE5YJ1QG0AeMqD|?|IGayOFqA!^eX8C>$AHqV75B~hlcvovnf{%YsEjDj zxBK#A4J#dhtW>rhJw@zLjFnyBlQpr+v%n#7-}^Xg{%Y26!u;WiwGFPeU~LonM$%xJ zeu15P76=J0MK7ac%=bm;cSBn4g&8mwm)p+JAR(}*H>4;zij7K|ifNzSp_3oWa0seRzo9~`X(F&;WPk7^7`GSFTzIj`yK?%mX*0Il^3VnjZF>f#wcA z40k$C20@%_Q8%UyHg)U}aJ<>!icK^^%MT64vfg;b%abOrv8I}yc;?}2jXH??&!ab~ zPV+ix1k8h?fG0N9`tnJm-9=QS(rnDs>6^m)6q2(&XAX#MM6f%Lbfy^>%{R4td*YYp zs>p1=HzDVtYTVbF%3WA`;m&mJ2^5M{ek8Lg*k-o`Q5Ge0x;%`V+KO3?(!%8$f8 z){_Lja9~m{1A9O3-5mYM?8LG+Z#q_c>F5rvSlHQskihG}mp-q?{qTTY)BnZZcLr6J zMq6IY2@$gdF)J#lWF&U0C?X~V6$DxkB_kP0Vyh?;Oc=;0l9Nc1j0qG;k~1hu&KVS# zwXfatUe)}4RWq;V@uSPu%em)#=lgb8d+oIiG=mbTJS%eb0AlF zn>qo=@^A!YtwP+=rpJ%KAJmxyiy3XRD8ixu)Y7@QoG>=De!3y86k_@m^bh*twV1-6 zZduItO*dqh35n}8rzAhJr=k^kJCH^>kv{x7GO^IlO5xkEgLpK zCcuNKmiztVeRt_Xa<>!=eM`#8KY^5jk!ri#6vQsFq3-0dse7F?0W&6a4JtpMhB1FX zGI7+4TBRr#)lYcj>A7i2tq+u_+B4{N`#TwlGp1Yv3ZzF=M-25S>pvJ z98#L*AkKY5$Z*)V(-aMs@bN7yo&)d@bzM`EhHgemgA@mB$L8};qlTVaizU1`VRXK0yt;}YOQ zUDjE}mdvIIG6^tGLMYB~q+i9X6Y5Q(c54xGM^$)t&48s1uK!Gdr&?A^IyoX@msObv zIa5GrQxZUf=|WxXV%@&Bpd9kHOBX2%)AYs}z{^3ateGbS(2sizZ>{HC zP5b@>6%NQTJjEPj(GE=g$L=wkH&nQHnHZ0!x0vzO=DsBP&@IDu|48)KG)>lg8#W_J z#q;M|WDMlZo3_Y%M`$BOkzdq@xKk-s^Y~`SJ-9~byZPAQ!~kuJs? zOTed6_o2z<05mGDS^-m~1lVxZQwM3EV z*=wvtGj@ICXhd5g5y>H-%GEetXiW_U!~PE~5Wl*x$l=S#mm8eoD<|PD8)<-kdAfG6 z#MI-srklt_lm;tC1WCiecvemM_1bUUIvD`D7?-RIx?PgR6uH$m@%~Zqgzv^74*9d) z$jPZiUnhZ$QzYusdWZe*VKZxAh?cWH>NVi6{H=UdS!A(~tb^RGexq(%m$9PUUl0Gx zCp+7psiJl=kc7tx&U`vHL2}*K9k%eLivZi&;+}38&Ri}+$K>u_-o?+4eGZb%^-znj zr1lV>ElHcclH_!b%xg$tQh@F!tEK-liyt{K6SJ|IOItapkDB_JEv zdNXATq}qptAQ0HSqZ78h}f)n{y30ma*}>OksYb68TBGnAnKZ>pp%L32TbfdBL-;6w!CU( zLgIlHoRM)^VKJYv`t@z$A*%6)L5`e)OC{x}rzV$GUaPwIc)$?#hUlA&)N4dUe*OJ{ z0(!9hZxj4Y!oZ|)`^uy16OBfr%*N<)OunJ(;CFqN$QK_HAFNCz9nNo4v?Gpognh=Q z@DZELLCMJ6*7wB}0ELc>sxz4d2-f1HPMef%^loic=L@JjXYj={r z?b<1jAJWs}hU{@o(-o0&b0lz;J4PDO$uMeoK zbEY;GlF?;W@|)*aQ*&i zj-DrS%uDq{3~HA^G`ErT{U}8SBDAGP2}DOyuc3?>{iP4$93Y4gUg5h*Z*d+|NDiOk zPeO}8S?8ybISC+Ni%T6%no|9otMO1yl^P?lu#e-lg>>Es#qU&+ui#d7!@-$&@ZU#_G0(C zN|~S>x8(*=I9!P|je^F+y+@MUO{rNVTfoMehT&J4REiDi1~{C**RK#c=Mow@_hsZ! ztbK6Ku3*Ynkj{Lp8buzKr%JkU55GL_JZ3Cw{;^W(B@pX4sVA;BR$#op`I+F!bX@}iHwBw^t%C2TH`kU(*Ws*Q3# zQN&sr+PmkLc(kH)?=@89@bMq>zN5}7^qatozEcf5^@nb>dK*<-TPp>+_t~ za_%`7cAGv}?f2B?)zdF~Tyk``d=WEUS~)LfnTtW)h7B8B7p|M}_q>l=YUWj0mDXp; zNcIJ#MFc)cRWC1SHTTHv8CA&`4R0|^8SV~kkU+teWXDdNxIfT{&FY;v!mVeN`#EVb z)Oiz{AzFP@LK-NPXB=>s5Vv48%~S+EB;oAY59mUm+dI0w;(@dMqfYa`LNxE_nCnHQ z1~`V@wNGIJw{QP8E1=@ID`@he^#n|iZu)V9ouvoAZG~^u9DBR!m4@b)_CKpyCg$m* zqF>?>s`f64SD@fYqz(^91o~!q{mxZS3FcX7XK(sG@U-?DDZYaS8|+3Bj|4kXn0`8z z)1xJ*!YbXclk!v|GS2G2TFYPQLe*CrHOIspQfC^u_=J=dcpw1G8*qopd`yLu=s4iP zp^{k$yFA2Op4w(D{+M_!V5Z>B7%$@)Rjb|S#}EFfA>eZXcX2`2XU!?I9MMzld))*a zz6;bJ%zT)DJT2IbVt>^AmNr@=LMZhJO_Ntwy5POb$3SrlZ#_o^RM0=_A8+*Kj!uzm z*&v;9t&aAjKm*`VX5c}!q2qlI+T~uPl+<`UF|x$-jleT`_7mEVLY;xT6p{{{JwpxA-=|7#!ffdu@KCS9zFE)3iw^63sCiNJfkV14ZJHL?*m~j-`ye z{Hih(fobvCGe{8^iS0|}O#P*Qp*Fh#&J`lm~q#z_&*{ne|GMDAUdKz<#0 zwad%P`$-$QqKdKt&s=vzkIm`rk5AB)I!Q=8CFY=G@pP>BI?W&N#CMmz(rK4IUreQ- z+sJAn-xPg*VnFdN@2q0+d*RyK>L1K(Pwn2Yf%>$gDiSu*F_)M^jebjJFTQ7xbo2!L zd3PH}Sqx%K*LxyOV8{ZkacsAYAIm zaS?68)Tk{I;bBydjLSXs%jL{-6gDZWcPhMg#M-16Z!)h6pC)Wb#~!imS^uNk zBs8OoU*5hE3gZg3H`C$nqHfyKT#%YzZW02)-+#`Neqe>#ODK12ZGZI{dUg6@DH~}= zl}t-@BQ6QLdkbPW(+2wTXUnmTQmIm!koDRYfFb4rp=cRex7rB#cWqBWCQ)U;N>Nxt zx^l^melf1;FJBf<6eVmMH(UIxu2uSp)h}Qkx@Goi)C7TAn7^EqsAdeIe!)v*MdK;u zY)%aWd?vr97UjB9tG|t*C=1<$)TqiQpPpn61t%zMK;=H;Y$}(a<@#w1b;-;7m0V}0 zP;-~Vq&H{`D!*g>)JWmkPs(pPXK#|~J{54b6e($@NVgEG>=}pHQA9rm8JIX>(jkvM zm7}|D!VReL9k^kLn@O5bPLld(HG34v>c7^tzx@fg-=TBw0LCL6scrx$1cW(zajUca z{avluJ=e9F{ZR-v0I5bp6T5a3@XRFD7ywoisQFdTOC= z$$F(*n!WE(1*_C!`p2%T^63pmsN9(HYU5b;M`})P?{^4*Qs;>?PiORTB9UvS#X;}&ABO!;Tuu;@uv)*_+j)|yj{oJTE$-=Mb; zHOhrXw0*TEA~y`?4ge@X=%-HoC~+G)TlA^eRO69PVFOf2ub+V$eqPcM z1^-RF>hA7mdmsBLN&C&b3Mz~o2og2pH1vVu&<;z%HzejGztwL!@b~75I17U#l?VSh zs_UF$s14N>=)D+0ps$fU$B$g3sao!+stIc!w}tDtXy1d*h;M{s=3F_pxBZ2uWr^}8> z#=VibPIXg)ibfO-aMMgkrPzMF2|4HI)fVc2zFB*gN1_W1;vz(<7bssJ7-mGJc=BIGaK+-y5BzMw^vCOh~6lTPH2+VI9b>W;329qo#tmj?k2?T z7>pq?!9pgjHAk|zn?yedc-d1owE4YA)l*8_NYa{(JY3)NbQ+{Ii$@X~%kD(w#4 zIlV%vNHqeMq3XOC4zM<=d};w|XlSEqc94GFZ*x9>R`D9pGdTN!wTPm}XEl`zz9ECv zEt90M)dcV!=|>mFILS zf;N7q09Wka_J8un#E9ccl0PafoR9cZ8(6|TNT~=;t zEW8FAIBE6dBWX;LE){cl019N4z#J(KOKn&W0hNPEZm zg)IXg1C?NkHxLbw<~9(cfXY*(`$a9i|5hoiKvHD3BEnI?m#?BGKWa)wB_R1{4)bGF zevybGaZIL8Kb2?`J|Cc7`ApzXIl$?eq9Fd^kwQdsjZ(jLFtszgS>;S8>KVeP%&{0a&C20sZN;E*aGT^LPFM$ zWbZvGe1Xt*myCS(VDec0CFy09Nndy5AO8-2dv_uK>vcvSPr=p`I!!qW(L%^F6YxZi zojI)qN-|U;V~XS>wMU$nIGjR2YJkGo9;1J`0FzypOu?KHZvFhJdXFfM7jXlXrlwR* zoqB&@mHKkZY>7#O;wCYCn7}Wn3?#kh4w6??MPn(Jld0S#T5qA0=U5UwztLB@C&6^`zN)`Uv3T&Ipmf66s)!jPtKR1j9Fcq)Sv*-W_sDa^V1Z)8Rl>l)_= zCX+EEz5SeSpo>(&^xPd3M+89xb^)bU)*1or`Bz)I!3Zqj7r*z3MoQs*A8QY*!-37y zX2XKcIpr%wCbOnF8F?@v-wCNG@C`Z?F!(6+r&k1iH@v6^~knB z3bkSKe6){T%HpI*hmLp<&`k~~zruzLkvK%eABY@m$pg8s8O4gvdFSYbGU;=-heSj4 z7pI7|#Gpb3Vw04&P%a|z6@-3rv$Lb#E?=!7nw|fM61V%t;cga$PtGYw12L%LCs*0I z>6kKMlmenAy51slwUb~E5rv6wBt z8dIkvkI{Zlu0>jg%~kR)@N=kFP|?Lth(O)MWmlHKroB6?ZCK1ogaJ&e%l-pYoh7F|_)m=Z~V zKsbOZ7?g3rO)~={K&GjdJD-^R?ep^~Cuk495ak#Rnf3!c+01kVq78>D&-=9JyeNo9 z#K+E#V{3@B*wtrBaVMvwwZosCn7Cf{GyU-mDvFD%&A9P+S3nUg@?tj`jCLYPE#|-v zvOefjJU~5u$Tk2oJ%?M}gC18Jqeb;PW;v52zEuY=q^4-53YR7SvsrlN2bNM%6&#MO zq{B@I2HRq-qIWDRsRTn48mfi-rJu;?tQ}GEt%27U-vP+Dmp)HJ<$`*5HUey7I$xMH zciV^JTJLYuNhGB`s^N%6cp&!Afr{!a4M~&Tp+YN?mqVY`K(icg^5IZ*Mjd|tP1n9?K?!q&%`b(%0 z- zP~x-=U71AX1yoBj7ny7rDCLuhcBx1vjYRlTgcEC+Y-Z%!R3<<`zLtI;X)TjT4Y3k> zFmmj~sROJYuaS!on3DqLioIZ~qsY5~HV~`;O+TXJtc6mx`-vdA55V)i9|=FHM9%^a z+_57dFB4OnICW4oI|wrlR?!xsVYMOgA!8*C0&Y%a=18LNoP8-Tsf7W|^5ll^x)}OJ z)3hLXK->nZwP@3~ATr+5>@#d%>YEGWSo)1nR^srXU`q4F?sjx^P(hhQFGm`|0DxI* z29QxOwXon?g-v=_KBY@zsDG`*D27^F$EcVX4^ooCpa#+rppcCscJE&bCsji$Y!-9D zc;qQg(`-ttyvabKJW_)ns`WqT+QhOjUJlC74?G4IxUIE3rS?M@7O?RsGJvq~a7$h; zDmRejfoP5;NYi&n#V;|3`r;%4JU5F8)VrYvRn?WGA2-{3giRMHRPSN-wH|^}2s$mE zqi^_7C$R&mBxICHkqurHup*N4OT2L?a~budKAVXyVM%LZQWL2h+}6A3M0oLKka*?H zeiS+kRzDFIYk@c8?jKN-9*a0)!-gMLE&R(NyC6z|2UP@2!GmJfwFsW4IhBa)Xo3TE z!jn%YbH+@s5Qfq8Rh;@|RNZ81bs+?H8yp2GoZ2ET+8>AxIHod#vE=?1C#z@k7_!pf zBl>F$(b-Gv?dMtp*p)|;+uG zgW1Nrf4K+BzZKaCK+R5}|MtaR6ko`!MVhZf13H-yIG(H8Hvp6K?ts13>h98=Sk9W%t;$~*qzGq>J6tExciH&x~uM>Y1xN_JxJuA z2;a?U_i!QpBBkqCT|y#1pg0Es3<1cna)BE}s+-KM_@8ySmoq&f9}Us<== z$>TO@)cB;~K?5K4IieYwZ^6csy@$I0rjJLZ_HOOSgo@T*t+Y`XAGh~zMQ8K|BL>L# zIbmU8x;?5`?3FQyE8tB$JJBfrahcxCw%bgu>?P`!-qGZMzUtZ<4%tfeCr0S?D9`{3 zTKo!H&=D1*6<5*Poubp_q=6O*bO$T|4(BT)f*jQ=m{;@i zWZ2g7-}LtOCaEp+3S2Znme`5-o9M<)$2p93T61v;cIrBTNoWZpMS^QsG-?J*Aw>eo zgm;VyM2IfPz(PrkjG-EcLeH60HilC|$sF7oe=@p0RCz*i@!Mk-)tMkgR&d1s!lJ8n zy_^X#F<1~Hs=k1j7(?|bX&U2LnlazXc5Q}wvcY-S{tD;{Fp?r*X22>d=O~4ORd!NG zISV&?oN2S1=t}%*?dBWn+C^nMCp3?iwQ zm6ctH-bP=AKfQ+&pcj#tLt@^~J;MK|nkls~uZs`~{lO0XL%=BL11Rg{H8!r-D1 zDi$`K(a9&7_beo*0#UJ{^%iKNVD>kH3TM~_jgCWy6crWok(W?QoF`Ksj$?-bbiyW< zq+;kH$((Q7nO`%x7}wlM8;r7SNHUyEqUY4T6E&xpy?tLB3DY9ZUkQ1L>N?0E6z>Pc zjIt>jOP(k46>z%ZqhUySIn1kvKc^{)RH~_Nz`-w`N0}E*qM}5E`Pu4whahVveS;s4 znH&WCsn>f_X0Ww|s0w^g!)+Y6-?#f}a~$)!-0URsE7lfxoj5Y#>Nrt)NY@aG2vXyi zUh+cR@W+t-Gu!w|W`9AH>`GiO0|ItZ0l2#{2+FnjA_c8a^^~fI< zwMj# zSVBefk*Ry@Jo>7XhoUS)D{B`%-zd!*1g#o&L`!zWgP=%^q{kR$2B;~Jnk?np5RuZl zb$1ms)$SQwStV-{7qrgS73wr?NM9)WWp>(fLgf)SDAm;sB) z109` zBbEOeR5GF;W#c71jwqj1>@|;6xOiuwa*-esE&Y#Dhv))xb?S`7M;|h9MQo(~|Mq;} z_;2$U`%PmO9;zWSYUffYk%hv&|44=3Ugx?1^fY}l_5C9Ayjd8kyWU_;5{~eRIIR?$ z$>>U-g|_EnfrK!IY8#H0`db7XA2qM=$chSC7z0$J9&6-X5FlDlO`2d9Kp%<==z`jG z)(-=`v`RSkAe@T-cxi}`v{7HB0G=!d`8Hs2ol>Mk#uzx(z*HiWK(hgJBO>QWweDSu zE6#@!nXGv=whn0mlDHUCE)-LtHHwzu&B{7{Ok>y{d}EHZ2WXUb=T%CnNs8=aA{uDU zAi$)m0R191QmsQeeV^G5lNoK@vx`U{2aq9U9{AmTPjE1Rt*s#NkGi=@Togur4bP6- za6@$;uP`z)no>wK2~SS*aRo8xMphvKK?>yQr>vf|FM(>9>>%l3L12qIjnT6T$5Woa zf`w6B5)COfN`7$oVc?*36*&HVlT+bxN$O4{Z6t6&3|kOc>Kc)|B*}Y9$naSRp{=`8 zz#)5Sfj{gCCuta?b{CX#7y^7-X~K05y#89$MgIA$c)?11HsB|Q($Qx@$tN)~C%@xZ zQOeo@G5f(3BJH^6b`jb9%_5?hQe}s*+85Sr(6V7?=BUU^OB=$DLlcWp{Y01H7v6b= zAY$qhhVeWJaW1C>1W_bNdY7DGJwL5gm;6qrqpPIJBvG>%kXm`ICz!HgLS0EG9xM)V>?~mntR;7=v z1E*6{W_(~vVpzC=^Se(=nca_9{mzpB{b)SyDtLTDZ2S6JZk=5x6&%hF5>iVtO7 z%b`VPT$u|Da3%3Y5iUe6hnpD>1RR52YZ4xa6pmSlo!=4qhQ*@ZwHv4amGy#N?lveW z!v#e#Fp5U0xx+`6bF9LnXL|@ki_Gr6I<&|LC5N?-A}z9UC_)jZ@6mvZ%z9W2L(PXZ zkLlS_k0?~(!?luW53L4*NFkxq%3w&+*7tajP#Q%B!-!tjX|keW0S80b;K(Xm<3dH) z;x-z_f^O9ZB+|96mm6M#M7k*V2s{vWn!?Iv!GLi$ODtg(FO-;a!3jL~`}bcYzhk8K zd>8_ImI)n3t;6xR##6hZ0$jnte3KD#_}-9}0*-Mg0$NRCPLf}rW%>5 zH{KaH(u)r(@Cx4A})0yf_-N z!@RI{QY{O;Nz^z@V(8XCaA4<0=dgah4B6ntGun``N&&<1CYdtbIQ&TqFjo=tcTZDV zmL>!cs5a^YzEeSEbmA<%Hi=05!bTBcgmLPb>Zj<(Ldnl!u9`xfQ3Q{rqIp% zQ6lw>NvC^E4DRh9;m&>s`WD$OdjoOD^xXdiU-y6e8p~T#okAkQ!~flE?>fU|VuPj- zH7#vKe2YbWPSDAJ&#>_SSls`4x&QNWv6uhns_VE^gl@}Aw{kI;#!3-JGsi3WON z&jb9*rI%@<;pO4y=WxSW;%C!83Y@YV{*fO1ul@`6ewpb(8LE|~kC^~t(lba$&rFH* z6bZKoPA6CyqpGU-v-L7YV*N-J8o1XSY-uJ9pY1fUOtw^)m~2p#lA-D01T8@uC6}Z+ zh!AY4C%drqSBc~=UwG9+s&K!7KcGdFxq=8n6}<>eIZ?;6JB8E+Y0=|%c}|ZD$Ahno ziDL=w32_$-<&o$8e>v;mero!oS-(PKS4eFM7~K|~bRa!(;2|1%K29e145@S+z!^^? z1Y*?R%5`dX!kofg1@DRw*E+QX&h(aRM^%T!kh+tIhJpOP0cmmcfuzD+MDRmO{jB2Z zR^Q8iiYOR;@y*3U>n`3KsFwf{6JgRmVfH!#8ziiW=6#<7+bxBkRrl*FQ^#;n-heTx zYGWf*^CuoKUke|-P7lu)Oh%Ro%Y&XZ0mIsdUn3W$C2b8p^1agxiwYNYcFWRou= z#?;FNOKO$Rvz3IPHVdILv@7=u*!LT!*87^fyx|4oq~ikg?Z52CpEf!HiyUb|3T z7ELSlP2wsT{6Z2)R2TcV+)5}2+VGx}$`!7Jw`9!)J_=2;B0>M9Hk+#xG2e&yW;F4E ziAn;{__s<6$Py`1>Tn_}(o@Q2sFy<<127GTq#+gfS=d$mAS_au9-}CEK|xrarD8x6k88{6gB?>csOdhBku^eEI^ znA5ZpbC^x7;Boj3R1v>xsxxb92aS&k!?>Eu-6%}cB>CYOOVmwG!P3tGvdMue{;+K! zrSnAa`Gpa`?nu54?thPZD+x>S-o=YDlmw}DIA$v+O_Ks~VQL9gD^ZyV|D(tV^$!wv zr*8CIl;BlkTj^^|Kl3HOCmj~#UJVnMPH2+c9&(x-JYjj$x{v*@9Ed@O-4Nn7ifI4@ z6U`|~M!WZFbOZu^eqo3rp5Gr-FvjcD%F*Autt$*uo!KNpz*%nl6t~_V1NEAj94*K=J zX9Jl-wfT~-sT|R26LUz*0VF%aQ${pNidwyCCrz}VO8^O@u$4(MtcZHV{9x*!yTq&SIF#)VdyJvf$f-4gTZVbKVaOFS=-3P_TuwYNbRE8k)7ahq%+r}69c)E|RCM^>6AeFUKo zA|*8w_XzX_BksnLPCoR;C(o%&1kYnE?{wx;YD7d=Tks#b zj;M8!6)6NMTdX^wlw(L?AB=j|{6MwWeAjZ(8O2UCzUvLQjU#~skZ`~ly1ji01~^_A z2ijDez4U=d!Wf2OSY}TZN;>>RHn62ckA0LyPoAhW((FfGym!bfq z=pTz~l4?%3bPGD--I!8Z&lI-+>hOU0jF7mKX?j@_bZ$bpufkk&N>+||xKPO-#A8m$ zR_tvr0TKAYIYkePR7=NS$DxqEoY2qPxA8hesij?Rt_zKtZC;f%b|5;Av>-`(;0)x7 zf?7xjLvT*5*Y{HKmtfZ%#rOx11RU8B80cEC5+91>3)HT+re=vjX%u$hdJB#6(*}-B zik2c1tDM*&yheg$T;Rdc{Aal$LL{1HsZjm0+vg{< zwSi}{{u>=M(50t!_0O{R>;2U?U6t0`7Lk`Q*?f9?_|VFEiV=tA?qe@rrx?e$Gf!Zh zNBT}(D zV2~-RGv@R@`CB!~P*1fn!!EhNz^E}Z<6|@6-2}Z1?D5RA@v|V3m7_#~9j{foPEb_zGztpJARE<<>l}Ij;t9Ijr5#cs z*0Ata1*T{LE|`n30Q zlM_4)2~V}dr!Ss;0d#$3P$kOnTTuEug5#j+UM#pjIWcQ(vX+-U+c&o~wYtsqIed~l;*lK#!noJCD~f`E76TMJZ6q{P zc_cRM*>eJ&I6If<%gM<_;PGJS0Hd=#l*3ORVC4`xjsSDhf*0LX6LinpI^JBcVv{^-Dn+r~bty`k4#ST!QNNyXe*cLXGiE@b$!@r} zQ4<6}zTLeeR*2G-@Hi+iu%WAK;-OVZxwFP5bZNcao0*>zG$O=zNuUN>qP7F<<3KP(K zVvRkUVipYU$}`XfS}Hk248u^C^3J@4)e8rR-Hr&a0!98Kt%1E&ar;*7(m3^KyK>Z2 zs^k?munZr97_MiVUsQAq+pH2zJj$qZzw5_a*dZdKLS*zrpe^$pj$BAC7`^8~l(Ew<4!owPi8lT$Ql-*`x&eo{*^73MK9qruU`Z3l zcu|jIFdFW%b8W5z#f)BCF^Xk+;Gc(_KX@L`=PhdD54&()?6IF;G4PZ)aaRSRjkMWddU1;^%eg5xuuBPm4*$j}LA#@bG==^gp z7$Ssy%C^7ybGs*OeRV)Q9lu(bym0>fFX-%wB~!U5fDhGNcL;pq!&Z9WN*>4*ft)`^ zQkRf{vmMr_j+vF$R|&#&lz_P~c)hPSI3%P4-u7kqsARh4f(5Ls!jmR4sDFfr7gyxR z6n^};&1~z%^H(-5H@3!2)(%N;pKssp*mXOdosWfuWdc0S5c={Jfmgv14q*$H#QY+3 z>v>Q2B7r6~4A)5(Icz>5xR0B+ZgG0Rh^!b7zg2tXom3wJ0-yG_`>4(+`ih;PiRt%8 zQzU8WL5@)VYjhNqzpl0B#BZ5#-fFFkjEp$o^#D(-}Au-U2#z6k8AM-ya5+WJqql^nz}EWWGfKMr)QYe}ULq9~E?n zuqB@gKe;&)-40hXAr_!#YX~MXhm>uCqSQ@iXMNC!$Pg;Fiho9czO!(ZVm=hR>gg}s_7JQDAqF&cu3<+~7b+L)yi7{j%Ba_#nA zXI{$UJjd&2AVN8aD$Z^xtD&|NkrjPIQkP-|dnP)(At?ajPEhive8&yPl( zRS-O5(x}|QkD2r!g`I@SCCzOEIBb=>tRDwag!QTbPvCp8WCJ8Zj)T0G{L}tmjDg5# z3chvmt)dEYZ%P#|?(V|TYTjQ|xf*tn(+e4{J-BMQ4!ASUqiX1hQnc=0IU4v@5;wGS zH>bqijpzME2Os^63xfSO*t<4V45l>EX6MeGM{u0N+mC*GjyZ{i3C7*Mk)gfUn17c) zg$*p+1CEKx-7j%vr?s@6KWhm5W2U0NWOa-%_{Xs*L2`5et%+|}!nk1uBYh!@ z#r##=+|gtvtO88*5@f%gjp!LdLAf1ImpGmd$jHlst#5F!6i$_^BOHXI#ZoWxG-Rg6 zf}XXswq6?a5HcF0I09?yey;?ZqeJkl_e585~| zgH~YyVA2xf+$tdJuQxMFCy?M64zkTO0U4L4bOPI~TVoj>%;^%l?32sXVP|A}`{en@ zQ?E>tw7+m;z?h-+>s0#9xx9(GU*7VvNpQlz?YkPDM1hdyNY~kY8HhJJs^WrbCoVrm zY~xeGeI>Tvkv9zJN67jXbp2Q$i_j_(UFgYkkZyC-Mq(&llEj}uND^{AC$o7}zO1qwGAl&Ek$e5+!n+-7LY4NC# z+4n>Dff-T;a}Rsm@c z|0taRV?uY-I~l!U9_=$9oYR5r4jF#1S~_h(@2ZXQ>~pY*sg3=9D{Rv-$QtZC9(f|j z850L$VFJ&<*ogRQ7tCCEmrGnr`EF)*Wl!#iz(O`|OYquxH*9#@-f1hLkmlH3J>PiC z-o2`bNRr3X5o7vz+|q~TeJ5kHknCr?$ii=Qi=K;S758oT$ggp`dsj4CqH|YANpITS z`X3O3UfcVow%>8jtL3(8wpCjGAa}pneM!V*m4U8q817Izp2Z{uLi1JKy5#+u8g0)~(Ct zZC*ZrGjbHsoJEc80dW{+y$r0Paf;&!Fi?a{8YC%p!ZMTrPI~0+9Rb`6u_N!+t+}Oq zD?e8@?7BiRb7^WYkM8&C*QPXac$pu+${A1(x_oCn5*l zSF5sXQ##k`S_M3Kfxq0VF045AG}vr|@0rb8Oq-9+yWe_fP0;`pf)Q4Yo_ zo`AA5|8W`Hp)dgffg`#5FI>2=TJFJ(8#ls$XpT=$L9Im>JtWTNP$@Lp;D@6-LCgZEr#4z9Z$P57=q~U(!>Ppk~~V} zv-Q!Fei|{`z;p)eSOhlR*E-;)s$I?4+|J%oJfm|Z3zSB);l@f+1$n-$S+hoOQ2gRx zfOdxv=6aV zU=sqBKlmAG>#fnhXnqL*RS3|Q)g90(7mzGFuH`I#cAW@PyqI~{Jlq&# zR4Z_;yrAsZ4qR&VqBPZSU3R{Nc7g)7f0AGax7Rrz{LJ;gc`0nl7 zGGsK7S&OqvC9!Fir>fe{3zX`bAJ6B$L-o}K7o>bGx(al6_KPHF-PW$P9&Ax8y;V^C z*-t_hP=jum&c%z{_w4z?S9#af6~Y;x7Y%>>cnH*CYg@2#4HsybnVI=k`@ggAo-|7n z(8&t}p6@(?sDf~{8Ho_Q-6kQCCd;>FOO8eTcIAjLAU@6$XwqO!M54Gx9}KMv9y<;% zGI>3>B0~9dg7HZBY&);XWK}MO=H2-@{d996C)mp&kYr8l>N13IT7_QawvKBCg%{h` zEA@Eq+Y6)cqoswTV^`+bbLfz24cda}VJ4?`wArBd$y>xU7sGyh|K0|qhxd3b^1!c_ zNZ3|Z8db*lJ+tcnc7XZ~WV@ljsWLpvW(V%XdvbJ(*VVV#Yq5dQqw}<&^{j0+S#vJt zyL8&M!O6L3cWpnfS8rj$li)R}F~zSZdZ{;?gsRLMeF)Q06MvVg2?*dGN#9T5 z^z%mH9EA+O)ztjDZikrI8Bp5dUdIIAt=xtEn=PEb_QA!GCHu0~5M}Nb5vdp|-F=IV zrvfo=cSo}o6mWODmBl$%Z(YAh58WIdNuZ!GvgfkPzPprQTwjx*VUru0anx_`kFv|J z#DMJzMVr(leB!GVUAP1wMg*3jCXvFOCS8T2KWJe9w(}$2+~~?v8_FDZ z44l_Q{CyHff6*{(KKC<*sJ>I|v5$t-*U%MhNz7EhgW2#w~zpKLt|OyUsJ6&u*<1;C_eLba8T5 zR0ha7&sMUtpRZH}f35_rpxj2E!m+PTov$nC(#_qM_WNJaDugp~qB;QtYSXWota3V(fVZkq6=pvwcu%Jh^a1c4{inN&O zUNu`=+o{DxNJ%+7)FwVkH$|uaSc@yOxyA>|j5W&2V?gcBbJ^ZuMO8rm^I52zeT+R;krez?fR(qlW&E*nj z)srV5cpxqq=74SH5V&x=(wUvP4*^Gn3}Z94L%s;OjqEjBm_%i^(@>7gJz{+!=4`wi z#f3+G#mkSxO z6by+*6X@PjdD`S8dAG7sJ$ z9mXhE(*(uHME&x^*gC>x=H}+Yh_4C)WE!6h7x{_@!MTBDAi=}mLt@XW1eM#`!)#(FJygeuy|6; z^0jM?!>}Rpx*Y;9420PI1rM-O`qyrNY8YXD`p6MCAl*UO?Xqy0#}S$%3`szbjbebb zI_+%Gw-O+k@XH+5R>-FBuQXe1!X$r4*_CRe8lj9a#ft=6j6gOFg?XTGG5;}Yw~WKP zvEO`gQ@p!(7auRm%PT>kE~Hz$F7nSXglB{Sz&GW`0*jJI&}Mxx?SnVcxAvWFz->sB z5B=4zmo8goq-qWe!?D*Q3{YnHU74w>Az?xb^(GNwmw|fgdQJvqH@1A`fPlTGT*aV{YiFBAU)pUx=+W7@9eAnX!rSo*ftDeJqnPyQ^C5T z2sJ5>IVlg%^G^cZ)|)tf!a(uq?l%?{>6_?RV71Cnk}#b5{sysCIn+@J`$Q{$yqURq zcMtl`7*4HglvV}autNc17%hoD&PNa*6F^5`RaMoQVQ{b!f2zQMQ7Zyo>|wwsq6iE~x3gbN{E8+1yFq2Ex3 z2l?>+eHhxN4j(yE29T6MU_ees+S}X5TgQI>G=O%9x43!8*S%;)Sp2I;tPro~CgQR) zKs$MlOI#UvVcd{@HgM(g*L{P&lsz<>$`z0$ID~p8h~wdOX$?x z&!?Jj95~IRd-noyOL|Zj#gO)B=$(AM=J8cAy??D39Oq=w^sl>07xQIkN8y)ITe(`5 zA&0jt}^{dmlq??S@vDD&Bj->Z;Tdr0>tL z>D$omv%6mYF)#X?cL7oVZISKEbz%3cNyAkKBJOhOvz?BRC_Co-hBacIbb zgd9V94}SXf)%^9KO|#T)xM;Gz1ndFcX^i3VoHc7!8=-nAxw_i>RWGs>L=`U#I<8UZ zZrdg(SUMyOkh&B&Fl8z}KPd=4KG2_RI2MKclaT47XAJ;yafllGZW^4cl=2Qy2SDDP zk9KJ`7*+ZL_5lL-wU`4%HYdU?6dvR~<}(n}5X&A~4!ib!59g!vA@FP>(P}a0#Dz^7 z>LMzWOd158RGwJJG)hH~uDx&gRh z`g^71_>(3C(|W*kY|)q#-QcI<>Ey(ql=>S1n4M5IdMVZ%F9vh;nnr0%H}S=DC*3^w zhs~W`nVOqOR0f=d?IV`JloGBO8T{GV)YP=0Q9EV?LLyfTXU#i|QQ&j&nobi)vUsgz z7@+44h^^4MrUC-K4L&FwT@(6suj43~2b1G80`>r^WY6e4WBWRwdeQK6R60+g!`iwd zeH5{_UbYiU%_|+(dbF0}NAfOmITPers>nOQB!9#+<4h2qi#$HqI4XfX?XuKtqMB+E zj!`+0C>a!o#PS|PNnjX#zJzU(XS-uh;WmbqtD;Ne^U!&RivXH}2w1`{-0@N(78rta zB>>^_q!#sj9BiP#C-EG2>=m(q; z?C{0wdHs5a=cWcnHa8EC3Uus0L(bHWJS^4h2Tj@{tMvW*1v-1E(w=~GRV+Go_^?29 z?O@{{2>%iQq>{zBxTVeP__R%vjp(o8C3ojmv>ZmHqQvnw26r8Wji*lz}V(Px}+8 z@Cgw8PerQm!5>EAT-~{SyEry$Dgvj6Dvop6)|LTxMuqSqx3qoLw+U?iQZSV2##W3= z|Ne#}Gj!#M4P}!I8?Fn_gMh?KsbUApQ4mgARvvY>l(+M%wY?_Rgz?m^>Cmxbqs)iy zb3!KDiS8p6yl|=dJ4Iia>mobQi(=8Wx7Z0%Wee~-`S9q<0Pv5h3+~>19F?gTB8FA6 zV_h3=X2tUVauCHwE^po4<+Q~K58TI3rUQ(rXV7r_6aL#$HyScNkpR?@U$|qHg4)`2 zw_3Wq9m^yDdAAo!fhZXEjD}F)O?V3raja0~kEiXoLAyNEZ$xSWj;#`EFB=5}V>e^+o;@dJw=c`K|(=~`opG6U$1 zI=1dw6Y$Xi_jFf?t~>VkTNaD2y~+5Dlf=#T#cgu1DAYF8NtBe!BS#n-sq1B~b_-9!csve=e=NR1w!-mzB#R9@cX|!n>oG)GIn%lx; z8R}!r*Kp`9Nq3VWEC2ZEQ(SXR7W3ZyaLtn5!A=1|!TNGEH!+TDp(bK-_~_9Q3r_s6 z)9F34ij#XwJ|ay+pjuZ=&v<+T#d?T`#-|H=(9_BYe9Dbg`!!~Y-2ZhD!RCSc^FDq0 zg1AJgo}Q%1@(yd@Re*DT;^sNr8TcE<<`P_QwK|dWpYCQ2TzK`|ZfWVv?A-Zu_rLf> zMJr$a^y;U3$nL#U&%!4U$tv`@m|6aQbaM!pA?f>EYJ^WPG(KrD)NLwrQ2u{9oA!L& zmaSV4B4^`2u02YR-FG#rhJ|l3bKwM(Sz@{S%N)N~E)lqyS3*J!_4Lcizi%ZD)B;#GyHxt(?8p_Iva1?C z+<*Es4CIs4sP*)hwd$Gn)qVGjti{0_2Ye^i>R##~7!LoO(qV zyEJ{M#gOC8{ZJ5x2NPsQO+jUy{rh}2%7vn+kF+!xm9$LsgRYGfliY+Xw zf=mH}apq#>;x9d2!588y~37@cB5GbgN&)=*F%|Ck117W ztQkg0og2YhKpbZo##}>AE@}HS@RQDa(|%t@JYi-{mrpNf2Az1R9y@9K+LR%BIU=gE zgt>-E{hvR6ygb%^jY@)L6kGz$sQnU5cacnl64YHThAsR3S@XjTKCfHF2oX=g4E<7tJ zBe)BNy}P7|E_cRDOtHCxg$_ZuzsBSD4)HLTXWlW)w0_A87ueC}I|_7R6-r_jbBP7w zX5Q^#zLjk8bIdzV*aX6FIHC%~gl6T;g;0Wt#dkg7Kll1CTi-sWQC$0EPVtrezuSt7 zj|&^soWf(85C5Q5lRpW^PM3x^f4Apvdg0mQbxR@LVZHBk#3^|^&M9yMBx>j%xVH%l zE2Br8GM08`_d6q7xDNO6c%Saot5=0}i)F!VxCh&wR)dQ>-Te%k0S4&`9v+juoo6>N zm+#!CXcmjL3V&E2w8lb(;#PM6`zlb!Z)BgofQSOSB=;_lD0lLDc67Wm7(Gq*8GG*r zuS-S6mS6~ISnYh=62XWZ`D?@WbO=ubfky953QlxD17DP|#YZm$9=y1CaoW12|C@`)C{j z9td6A1TNB|Ifs?}F{%|Rw+gPz^P@-XRoXD4O)_Z?g`1hW3)acKU{d8PwX4~6&FYs6PtFF<)9Tyls!Z4cu1`ThrpZ+MOWf@x; zz{d1k_%p-*Yi~Q|9<54tbZus*b?}&i(!W_N859kBK(v!+H%^EM%N}fk@Nem=+#C2l`;!J`P(f zE0ir>w2qCI5xtD{CH1iA(ByvRao+Sahq&4 zIAzs1B@coRMrQz#J$Ci}utjw=6TxD9KxgyTt$@E2Qb9RWZe@oG0R6mn#%}&Fy9m23 z0{P;U4EC{c$0AwzhuFoSdvzcTLKvcAWo30gb}PEn>E|+kEP6Z__|KdosNYJDVTTn-h#I+YG|_c=}%rlI|AR$+_`9%2~r z+JGPx1>)ZeaCTBtHZrVJ308qnNCXIzkk<7 z5_|a2q1{qP|9Pi>d3~Ot8{a1mtALlT0{r)!sXXJd7lKV>bYvLdu>M(wmUByGeQp-r zzkeUGK{Un|_&SI)F1!8{E4Y3C{R&<_D4mHbrhpa=LQMw94Zc@+8JE+r&5WvF9YB#* zgli)N0qAGj$8eT}vt#F?RfR!;biPu=u$Mb})C1s44AyqF2Rr)R>E{zp|KfYGF;AH^A@+StJnWN6xqGL%v(eOtPG9Q-EAd|rgGG&Ux2c=rsLn| zI65z|;B70whzNiP6isZ-LHugjl+Ciwk7S7OQ`gSLk#DHiD)?2WkhijP9h6cKuY^m#mcaLfoMYwYbQ`PAL71Cu*p-8Yg{b${V2Z$BA4+nz zX?8&pZ-23yt@X$>#^!jFdoJW$aDo;-Bp3>N-e2@@zDV}#-YUsGO^I$trJll zuOfr_aHIKl5fB%ZP;#RO6@*sp({pokJ0^{;y!>hcyov#Z63+M4( z?gB2nT0zsz7Qz|lS31>fH+x~$t5cy1I9ik^;+ z&MBi~#}dy|5KFH%zP|sF-zK5nwU`1}B>MAQJ9U;VT}t!`N~EArg^sd`bA(nUqaJP7 zQk+laLj+0Q#eb+gK{L@cj(9&#BR@CyJC*ZNdf;ER?0Q#^)$cxf~xqNM$af@k+l)quGSkG9c`ML{4_;>e>@-Kxmr!FCDVTX zMpT{Pnmm!V7qUjeoCPu$7>y#7Xh|ei0)pLm2)6IU?dSGH0uIpiF?7o-xLx_ywGse^ z{21`!1d5kH?|9n+0Z7o!J)Nj29C{Bh^QpJc>q{lTAyDOJONhbg_$GmRo;z}G zX<3CnqYir_Hf#r^GM`np7iyFc-aGWMCiEbpzop&KLPDxI>O($`UIHj*4Ah9Cwv}92 z@qXv1C3^tdZVBK2u$+o$z<4T{S2BPNe%v!?conN9ALs{~FMz-cR}G`l<0QebM0*es zdV|Y{X|^z!x+?G5p{+5tW+%jf)(C9Au?^SiX)ery^7vj9P9JvQT0oLfT^hk_@@vWY zOP4LP9UJ^WJda7pmaf9qqz_T}1ugnr0JE}C13$6({qeG2(V&8Nq`&zfXplK+T05yY z1sF{nR_EK{pDrScNcB-Wpk=`N>?>xcB#|9C&v?rV9rP5`BG;N0Hx4j#S!x#!7dgd( zh8hcy$NaA>s+wbEo?{{ZF^pB$?ADLkRX2KE%Qm7XTN09OZ}YAf8kU~SMnsxUz%wN! zCBCd1NN&J)_;LIu8gFPqayp=owKXsT1rCC6d=MyhVyK}~K7nG?K5S#tULXKd5Qh+K z+BDWbin1>#BvDtLzQdgJlrf;i=(oTWz66pHT}pq?Qy2wV1#Jqt06yJbo{0pBH%dr* zLa9t*bl3dU%O)`ty!`RMY56d3RPQGYv$wdT9EVl34fzzeUU#_-8zRd)h%N#+eK(|y zJ+hpA7HtLq;@NGLrr4+`?;hz17%skyD=Uyl2l(R^0LQm;B-l%XVG?>?ptx>w;;RC_ zajC>a1D-&J@urr5sR?qekkmweEfM@W($J*L^{Xs1$KutVNC0|+sGxu{`w}0J`cBha zpwjVUvNeJZVoXpb8V9w|y=q`t;t?*3^gy_XI2%E#O}8K#;>7sUAok?naNrIv<47guzez1r+Hl0(5ew{6|W1o{X##;b2lsJM+sB<}+9g+D8^Lpa--K|Ivt#JWL-y<0x zPuyyc9wsLlP!NoF z*atRM=1YGX>cPn{*axyuQ`4c^BnugABv$wTo<0CAYF!nNK0T0*2*!)Kw+93RzFF?Aa9LW$ApOX+!Zp1%^J+ z9!N410?mlGeE9S!3s^k1#lt7BsDU883r4F6>BS)5+Yj0JTZ~t!pp>GC6)uwaAvZcY z8oaMG+_#YE=H2?okEf%+V$NdT$3a6(g{n+v2toEtO;k)-dml&Jvzux@1>I~O1Nyd~ z8>Cp4G@rAZMvh^Y<#?m9nuj4%ZjVL?8_(8WZA{!FN*f9Iycd@jYoKz9#1<;A3E1s+ zh=2()m(CZxjFN$nuZ>-`FWFr2Iw}?fHco6EGC{HjkWiSwrqunrvF8eqE{DMHhBAz4 zPeW2@)u18Eud~c>Obq@Mn7&$6^3MK{yA-u)Tr=YZjs}OOrtdbPc1fVeDLflh!8fRV z0hiYn%@j6fz#~=iLnDC1-0S3=_N}qm$-+lcQ7skjL5V>`#UmZi8{Qf;kzNbcf`vV# zR-IjvSq7R`jlA`9u?9;-voFAd5;NKY)HR|PFxOC-t;YdDEV_~`10aRf(3&i<2F#`t zO*e_&@qWA5ztTH`#9v;u#yFq5BI89fgFIw&qXCW`Ec_&7>YLrZTM?A9-_F=PF>KJl zETjsys#lJwJuHP8Er!M{R5~H7XPjRRx`q$|o}z(SgUs6+J>xR(e6%2tdSH*0mkID_ z%ahEq1|Z9Altb?PI~fANz?YdLIJU5q6W|R`po=e|A%sLk>>5PSPd9=M*XDcXIEg*C zAB}ZNYN-eShxMxrEYNzF?F6%{ zkxpft&l#2WgnM?j_T2d=rcT6;a0q~@@Dw`-C&;d&jG{(wIoh!jeCNbw>VAf$d@XhW zaSX6kN{zJT<$-WJ|B8JV$Ri3eRo>57v!7Ff9R0JGrZTm$TuSC69ilW%ttBu^2}DI(KQJ5V z=-r(efehD>5?LAOhG^HEeYXykb(~!Xk^1R7QJWSC>y?L=gex|AS^yAu2ac94(ma&< zrn9E8aUTXtdhOaha08+ovJWj-XR^ML(lQ(TrF3C5$PG%$;4COc)8asn9IA0n+&p#a z%Y-a2+@^2}4eabvtC~td((9>@KVO#NbsP3sm;kw{h+KJ!$6Njxod4l|=(3;RJm8l? ziipMigO-O4$2L@!!DX{zgV|f(yui%VV@2A1J_)ln0?fzT=IaM{>FRE3M5a=;?(wIO zz=(9mE!H?^10=$-&A!*ISPF`u^}YCM0Vl+0^P3fOdkqjm{Y}u(Ep6$P*y8`LJ)6#T zP`Ny^`hR{p>5DADyVe>6%frwrvBjTqs3=%{@8jr=?@~03Wjs=fkxyHlg+r3{6M{@T z{m@vCXnR#3QHUh>1wQw3ALAiqJngxgZ!&ETQsp{k>rZZ|5;uGV$*&l6&&JgKt10_H zKt*zlkrQ}eZ=kPFWU_;W$McbbIcjA!ADn^FP14ejQ+hd%Q0b0Gc>1E~6eO(apmZ3h z&Ve!RLPNEE4h{}ivYJs+Bl<45?L{eaO-Q(g#dZv2O9MK)kvICcFzI;MFQUFs+QVM= zxqj+C=?B`*)~LvPUtY>trKSAzgfA3>apj_W*W!q5iJ{d$brXkEw>_l$Gm(=ij$eBt z?ND}HELE!>KHOHw#yBF1kZXk7K7xE&H!x&(rG1}2e(ZeAhfmJubsJy=dn9#iWIUkK zN3Sq3?7U;$T()Rm;^HW^9o=Sfz}dA=)&(LlZwe16G=BHjs}GL{pIut`%pwZI+?_du z4Y(JKk!-Ir9AZlGYm-utH;YAi@&wC2_eR#Y_0!oGZ_{Bi`mK;umCXPJw&mIF@Mh>| z5_DLj3|D5sb4>?IQ+IN*x^O#yszkRA`O!2LHY;%ic*5d8Sa3b$h*C2A>s*=F`K{Pc zV!%U#*b7d=J=dg$%xr`=Nf}f%#;XZOSq@xrgqPZmjgEFL(c)zj{gP#9Fmb~WSZ3w!AM&wf;5`~%Fp>G&YBGL5nz@u{{~7w zkKXdB!@<80ym&vLV$QM9MkJB+B4*ejMN@}^YLBN2P$dT)%SNvM#&SCk*HYLHnd8Lx zosrLump(>C`o!T*M5lCu${D$&!hwz$*iifLfN;*RSC-9+F*OJIEwRMt+O=y60B0v1 z?nR0f+e!aQ);%D34*T>g5PvlJAiy;N!7%^wX)}QkkG8(N8uAK#*HIb#vm|w|yWkX*F~9N}wp_@DX}7&IiWd`#9VHV)0=S9vxcOMld); zcJv$n$#H86=f_!Wl=D`1bb-D*cK5z2QXQ<$EmO84PJ}}zN@T`B3CcI;j8IF#b@u=6 z1&x$!mPi3qkgnQ}MIm(ppP|-wur2}6hr-w%X5Q_uwok6P&Hv-g&Hd0#2aUcL zz$In>Z$;$nV$+{!Dc+Cba$)g#+%$Qt=Pnn6_yOL*&HeUnpIS}PJ*pIqO*I~5lfnUz zh<8!18Eo$xD27NXR3Dg_VHz9 zY6wGbVFPRU!h@8WT#KRswb@#L%$3nAKTXF%eH$>EEma{zpcGKKUS57aFE1~eY*bVG zfOk$0c%6}$tf7W2pDLz83JMCwkmw-E?`(vxJCYjCZz=q)0&@}{oIB1oT;^A&cTI1B zeo!_*q$f#p#oT;RXH8#gnF>k!fH&~$>jd`oLQ_*ysSr}0MppeJng@%Gx?{Tup^g>QP_e%$$^IelK#1brk)wZ1JPpdugM`Nd@$FYV#V?0(A zSob4W>T>uicp4WGL|cgm05}|9Uhc0ximpZ%!Oc>FX^(IpfF9kYB;-tzo07A#LZJzC zM16Ga8JK};fb+%k^YdqvbOK&13{|FTS<{bbaDbEkB-}TW;z=Ju+rL^_(=BEqA|ii& z@vDHh(++fG$c1+@u4HY@djw+vAUQ;tbIFV1i959?T_wk26qR(2;Q0m*=-*+P&Ta9kJE{z!*Lab2g$OcO#{UdDz1X+>_-Z(3_kf0EnEZd`PMo4cI7VWLZ z^m*>2Mg^@=_1+!SJNSWT>{vfq7IM#Al zzbfrtPeS(Vs9#@K#=)R|>edQ_x!uoi;!Jq~ilxEG3of#+b>X4{rnz@`eO=x9c3yYv zOPN<|jwWDFA_KYr(oNZ5n$hO2n3`14PuX{;p?eJNx936EjoP-=z+8NcyR?ql!tOcw zH8{l%5AYcvaZO80%f6P9O@IUmL})L^2_WR|?oNF&XwRY##S*mSG#wm&+uZySC4wL< zl7Yd|q>>U9*4MA`#l_0>4bpIzd#)(8uBh!abgNcVPq4^+ZH~u}2V+ynkaEdu9Iqd; zsv?zK+wWY{3EI8x-qK7&q|^{?XllXQ)308=f?O9rU&TIG9G~?~O$!h;Lz1XZ5pn;= z({tBd00~Bky4hKT8tcW6KKPm^Cf(}`1%3%DS2Owf z_3`7gYY*e+nE7u`bDPf@WJ4Tx z?ZrhC^#A#y$rgarOYw<8xM@c`BP^@Fwza4Z)EUNnJ@}bc8zL-1$xFQKX~>1XO7MEmMsdd+_v&CjNa~U$oWB~h zm~mE)6`{h4AjHplQ$sFZJ*%jD_?emVWMPbtk54?RnsvF1u-p4q3HkZ?RY_0)u}Dyf z+ilxJ5JU_gDKVa0wO)%~>OJA(>8ke$0nxg!?Exd~7J%J?0R>ZRc+swE6RtA2TsRcY zM$U*y$8v^%xo&n1zR1||G@Q%Z$*FFYP2lwLtyB)v>(QLvRX;W21Ko!i;xl6+^9l_T~YIX&D93|lF1 zidtr7W}F9Ic|n$YxJ$^3Qa5EWTp?SRU%QCh`_GEUM%bhDq&j~Zn%5K-Zi0xon4OSX1t|W zP%R##mG!!}tLp;B+_#onZ-YNPny#)cVdtkkgief!)V7;3d>8c&Y1pXCS%!>Vnx3A8 zHwtKF9(7db@*aLt=B6wTV(lKRl2X1I>u)DCblbr8XfKy*FXG(gy@)~FCD$Ji+p2&4 zS{Oc(m*^bxVw`+I;No`m_KG^2u+fT7>hBb^35)9k=-HWYh9USFEuyQDz}FO;$6g99 z?%F=gDPyek<1NJsW;eLQJy13jfuWNAB8)p?7*yZkcFPpg;Z+9dc~b{zmE*ig-JXXQj|}r5gQ^(Dak@c_y(-zb_fTBBJw_Zn|)Qr zVZW|)@K@^cc(rI5(*ldP9ZtTZUj|xk4VAK&*ZP8O+{1TG7JGxH!0zgbMuOLe`?;3W z;fOe>b4P-{Vdok49mKER5f~!uqc9BJNiphHhaFokV95~M@9600i-ngB%0pyl75l@V zr4Ql5D(VNnw}FEC6OuxElbsow*#0!RukX29KQD`t;ym8Pl{SGA8xLH_gpUR;|3iq& zh~p5O5jAJ!!EQHYBV*(Ed-s$&Jwye6rQKU;HGdhCUv%|0N$3SS!w0B>BC9Bx=Fk@w z03i1n^QX0Y_wM1*(avweA82CC{|v&!RENMAVL+Ur;Y#ffRsrs8DXEI;US7Y+4=wHZ8PY*WGQCg-0R%votTCN(;`Xjh6yez;asekiEsY9Zc zb8pOY?Ffci-;Tw~?NhSe@bdN=8;iohSX*aR>E;SyH!Of4*lX-l#h#kEWC$4J3V%!+ zz8inG>j<6!pZ6JSLM7Z1voc$kM_VCf->Tx0lK8Z=)##F)Mc+p$&Dk%Ljf}k!lWObpv9*Q8#Dd+F{l-R7&#rH1n5U+u z=1jLVFd*T1Tw*yIPl3VXXf(a+$UNS9M*M8{-JO-om^NH-vA*);MS`?4s$@@a58IrU zU$5;%rZQY)*K%g)_V9Brma+LE+9#Gtav&%xLxL>$=^G5DElz3r0kZA?XK&&E^%CtB Y=V!heH(ppoXA)!QcAagR>gK2a1G}$M*8l(j diff --git a/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewPixelCopy/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/item-builder.png b/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewPixelCopy/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/item-builder.png deleted file mode 100644 index de3ef6a0ae8eb1ebdc74b2d6521ec8a05f30fa82..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 55611 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%0DEd@YMY4sPQBgURuoQ1@eq1- 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 O7`ydOw)xiEkN*dkD{IOC diff --git a/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewPixelCopy/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/nested-builders.png b/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewPixelCopy/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/nested-builders.png deleted file mode 100644 index 60d3103847f5f8e1d74ec307795e0c125f6539c1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 39667 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 diff --git a/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewPixelCopy/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/non-unique-matched-selectors.png b/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewPixelCopy/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/non-unique-matched-selectors.png deleted file mode 100644 index 8daa84dd22aab40b992886ddf764c4d9eb16f52c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6528 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 bW3Jd_e%f}5QAzNX3PeFhS-Rw@k>9@n3vYyy diff --git a/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step0.png b/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step0.png deleted file mode 100644 index 8d02b5b5b2db1549127ca0b25bbda605c19ad2f9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 43134 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 ACIA2c diff --git a/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step1.png b/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step1.png deleted file mode 100644 index 58099610c4a25d245ad6d7e6e63932a520eecf9f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32229 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 diff --git a/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step2.png b/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step2.png deleted file mode 100644 index 4d4ad7dc521d49db6557b0af1287c66e8f0cbd23..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 45760 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

d@T8UyGYr)0Ik8EvAfP(Z+&^01evPkLcU>- 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 GkN*HO5~!R2 diff --git a/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step3.png b/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step3.png deleted file mode 100644 index 24a63cb5b4a8a355e0b8b91fc92ad5456cd92771..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 50397 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 ^hrGmn-u1#1gV3TQ!^ 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 P42C*ubB1!--!rU% diff --git a/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/item-builder.png b/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/item-builder.png deleted file mode 100644 index 8d02b5b5b2db1549127ca0b25bbda605c19ad2f9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 43134 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 ACIA2c diff --git a/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/nested-builders.png b/client/android/divkit-demo-app/src/screenshotTest/screenshots/API26_XXXHDPI_1440x2560/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/nested-builders.png deleted file mode 100644 index c598fe1fa6824c2e199ae7e9333060c158f87b36..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24847 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 diff --git a/client/android/divkit-demo-app/src/screenshotTest/screenshots/API27_XHDPI_720x1440/viewPixelCopy/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step0.png b/client/android/divkit-demo-app/src/screenshotTest/screenshots/API27_XHDPI_720x1440/viewPixelCopy/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step0.png deleted file mode 100644 index 0c3cf38c9314ab64761e9147bb7a771743d401cc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24709 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 E-=X_KMgRZ+ diff --git a/client/android/divkit-demo-app/src/screenshotTest/screenshots/API27_XHDPI_720x1440/viewPixelCopy/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step1.png b/client/android/divkit-demo-app/src/screenshotTest/screenshots/API27_XHDPI_720x1440/viewPixelCopy/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step1.png deleted file mode 100644 index 3e4c27467ac4eec937b0368a8a018f6f84fa06d0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18323 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 UsoD=$1aRT$^QTfyT)g=|00{XElmGw# diff --git a/client/android/divkit-demo-app/src/screenshotTest/screenshots/API27_XHDPI_720x1440/viewPixelCopy/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step2.png b/client/android/divkit-demo-app/src/screenshotTest/screenshots/API27_XHDPI_720x1440/viewPixelCopy/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step2.png deleted file mode 100644 index 2f7d916191f8f4c548bee9aebd4ee693d458e6f9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26152 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 diff --git a/client/android/divkit-demo-app/src/screenshotTest/screenshots/API27_XHDPI_720x1440/viewPixelCopy/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step3.png b/client/android/divkit-demo-app/src/screenshotTest/screenshots/API27_XHDPI_720x1440/viewPixelCopy/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step3.png deleted file mode 100644 index a2278ed208d7a9adc7b50d1eeca34d6bde996197..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28932 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 E-=X_KMgRZ+ diff --git a/client/android/divkit-demo-app/src/screenshotTest/screenshots/API27_XHDPI_720x1440/viewPixelCopy/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/nested-builders.png b/client/android/divkit-demo-app/src/screenshotTest/screenshots/API27_XHDPI_720x1440/viewPixelCopy/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/nested-builders.png deleted file mode 100644 index 291d7504d3adb667572688c01cf243a01344023b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18049 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�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 CVEXL< diff --git a/client/android/divkit-demo-app/src/screenshotTest/screenshots/API27_XHDPI_720x1440/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step0.png b/client/android/divkit-demo-app/src/screenshotTest/screenshots/API27_XHDPI_720x1440/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step0.png deleted file mode 100644 index cd4927f041bb1be7505506fa0efd15ac4ccd0457..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18742 zcmeIacUY5KyY8ES6s220sUks?&ZJ5gRE!8HT|!qudXo+zNEZPO0@6`XK%`4=QJT`F zhK?XbLPrP?Le7YD&b8t zUekp@DEh#^W3<%Z74f}uZ^5r)9%^uXTJRM>`ydhmIS+wfyQ=S#wle9P_P`*JL>ei~ zILC5>g@yXG>zx*eAhUN2^cY|CqckgfKUKG{I_jsd!e%KtE*xWO{CPC>5Ugw6cBa-6qmnM6|8OLuZ;&zdoB-N zIj;Wlo!!}m&79G9rlJDbMOV?V9h)pR56bevlwcEd&gK9<+B>B0P-x}}4DNh_*YTKh zvA!S&n~2Frx6!hP9E89CJDDr%_1l#}ORpm;#S(6f3&6{iO3dEsj!MJP4>6~b1Q`l8fc6zb$Z z5AI$_qw5`^q)F_YN6;Y9IX8xjEt=+j{rV+~Qu@RU8kP4_-gMoNzPJCTh(+UJBIv3R z)VPLOGz`9duM=WM#8~F*`{jSX$KEjCnKZ4Nug^%y?I@1Rg~8dMyo1W)Uw_I@)4G$Q zbWuQ{DHHa!z^Xjz84TXfEJfc}6TNj#$f(FvrNs~CY1#Vpj2>@j`R_tYDwaRH1=g4< zdp=6IDflCt!�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 diff --git a/client/android/divkit-demo-app/src/screenshotTest/screenshots/API27_XHDPI_720x1440/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step2.png b/client/android/divkit-demo-app/src/screenshotTest/screenshots/API27_XHDPI_720x1440/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step2.png deleted file mode 100644 index 09b96cc82677e1af5655326437e9cd75b664b724..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20144 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 diff --git a/client/android/divkit-demo-app/src/screenshotTest/screenshots/API27_XHDPI_720x1440/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/item-builder.png b/client/android/divkit-demo-app/src/screenshotTest/screenshots/API27_XHDPI_720x1440/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/item-builder.png deleted file mode 100644 index cd4927f041bb1be7505506fa0efd15ac4ccd0457..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18742 zcmeIacUY5KyY8ES6s220sUks?&ZJ5gRE!8HT|!qudXo+zNEZPO0@6`XK%`4=QJT`F zhK?XbLPrP?Le7YD&b8t zUekp@DEh#^W3<%Z74f}uZ^5r)9%^uXTJRM>`ydhmIS+wfyQ=S#wle9P_P`*JL>ei~ zILC5>g@yXG>zx*eAhUN2^cY|CqckgfKUKG{I_jsd!e%KtE*xWO{CPC>5Ugw6cBa-6qmnM6|8OLuZ;&zdoB-N zIj;Wlo!!}m&79G9rlJDbMOV?V9h)pR56bevlwcEd&gK9<+B>B0P-x}}4DNh_*YTKh zvA!S&n~2Frx6!hP9E89CJDDr%_1l#}ORpm;#S(6f3&6{iO3dEsj!MJP4>6~b1Q`l8fc6zb$Z z5AI$_qw5`^q)F_YN6;Y9IX8xjEt=+j{rV+~Qu@RU8kP4_-gMoNzPJCTh(+UJBIv3R z)VPLOGz`9duM=WM#8~F*`{jSX$KEjCnKZ4Nug^%y?I@1Rg~8dMyo1W)Uw_I@)4G$Q zbWuQ{DHHa!z^Xjz84TXfEJfc}6TNj#$f(FvrNs~CY1#Vpj2>@j`R_tYDwaRH1=g4< zdp=6IDflCt!�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 PzDj^(VMnYtcfb8_I8u6| diff --git a/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_1080x2160/viewPixelCopy/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step0.png b/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_1080x2160/viewPixelCopy/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step0.png deleted file mode 100644 index d4fc93be07bd90c5a1fe726b57e41bef0c770bbd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26413 zcmcG$2Ut{F7A0H=X2l39pr{~9HjqRKCa^>hkQ^07p@@G}Wn@qJJ6)~$2TJ!kK=*IN5rQCCx5IFD-{g+f_K z-M?3pLSd7kP-d{rnT6ksyM-Ua|JWRNQ?=&czcX`=U#3vjQmA`(X}R71(d1#IHB>P5 zbHr!iW}~3Z994UpZo7%9mZ`*7XJ`r!>OHbebqUGc`KqeolR~+OGw-%-qDjZM{@uGWEl(litGIWOlsJW%xVwmT zxW)XbLDEczz__?gC%flm30%B*F*}D1gQLXVIw-lyez66`oUf1ko$|`wt>~0<+~@A@ zq@p54eG$&nZf+|VrPYhz=hmCAubWtF{mz}6p`WCKpZ0IxxUN5bEV5zaM&WJSDwE}o z&L;QJ3M-xw5c%xVg9i`JojbRD`Eq^*1qEfNMOE8F#Z7fIH3RXV)9-%sHs^Efbf<;+NE2y!tu`0<>nr=}Z`G_%Nt>Bg|8e_xV zmBGTgbGDQFMJ(W8m$8nLO3v+(ZSorHo;PPsT={d#@&l@>+Sb;O`}_O(x7=k8@qp$- zpJGm1H+T00yOsi@z!@_2?PZ~Kt6H)4uV44C|4Q!WlNiixU-x{Wsj2BucZ2SlHEYxa z7x?7gzt8jX#fwdHa>jo~x4d2Frc!u#IHNLl(dSvMyU#3QA!BhepT(0gcb~^dkLaO8 zhfY?rMJ&ffITOPTcr7RVl4p?b2wGxarxtFTKcw^f_wVgVYboXfBO|&aJxv>~++YrL z^3W9)-|pym&#~co^X56wc2P=e^G-Wrq-uY@e!sb2Yv0h2HfADBf4J8_Vk zk3TTOXKP!NjdNx5S5i1mZoN|#qq2hP_l5kc&r)T339Fie{@l_oE}|5n_)~2qv`^{r ziDl$pDWPfeWg;UZkK;4hjwf}iSt9~vU3;*`UTk76iXns4B|OibJ?kGHcG)LNNho^t zN;%1Z?%=$Ne7aRrsp#m~P^RiVDKX($iq+{h4LVC5PmzC$EBv8kuP4I!dvr7>fs>;B zwW~|`+RHDDt>hnz%zw-X`1bBzZUQ@{8Y}ZFW9js-8>1C2(Pz(^m6N`bqJ45~(%}x- z)jp%IS3Wx`bByz>VN#X*#C>xeLv1a-q{kNPu@5355ar-=Z8;YL$ zidd@Fow-h4aFwo$s|JgD?oT-qP1H@di?+J`ZVxq=x+gr5)mt#;C;wO{an?dEvbmaE zTRgGFB@MQ<&Jh$8Ecw|Oe>j$_X$1>e-aezHN#g>w0g_fV7Ow(Um%e#Zu50QUGt^a^ zo5SCF*KF$@BV*=b$=b`RyFz`HZn9CTNBDyWy^#mzO?2CN-{POi#%9sem|c6&^t~px z6&VhtN>yyGOixainCH)zD}tMQ%9VMm?@C%N=jKifm-ArYuSsVaLOlAX>7isp`jTz4d13`lTsx4Nax)%^5}TnK!X+bY_n#ST1zErL@B+jx#;U# zW-V1_mbx;<{Nzci;UD#k>cr5d)%w-}Jli9ww*=yqudgA?ON8^TBw z8YK9s(7Uin3R}a)HF5vJgCZ^?p$b#KKXAA!RCikyUs}i|WqsQq(^eGIh&>YT+*QLR zeyQMkY7^bA#e{{01<@g}u&{9Vo;{N8gBG4+-I+1A zhQY^_11l;juunvWdYTMX?@HW!X{MpBexoOEKrMf$#!!1yfjJ>sCP_JaV z%#RBKJcNdzrF0`sEqey-unj%DZJj}8fBs4wU}fl zeBX|k$*cR-)M~O$wWVXfn{~avzddT($@iONWeq-m{%nw8eWz)3=6ufYxxEF49UPv1 z`SNA?k|htfJAPZOT5+)LFwapFK%`cy$Z0be55)$)-sjcSs5E@ zpuF$;YU-y9n|meKc~dZ&y8Q6FcN40rv|g5!Fa|y-)Hc`^8plt~C)1$VUY)aqhr_wA zbr*8js*Q2F*Zlpf(>}->nq{4$-@ku<9^EnI+6r-6U+c3Cm$>(}cXSAE-KzOPZsdMb z7h*;AkNPx!!>eNYPxq##rn=aKi0GRQD!BC>L6CZXwl^Z{bFpt%{z$Vhr)|&+slXQk z0s@a-*tgMi615$_y%ls_6WSku!Dc(gDh2T9i!^3^3N`hL$Lb3<` z@0qi7*)opBizA+$pWPMi(WB8);ORev=_q)bmbQT-yiZ}^?KZB>M|=$Ev<+$Xk6XOP zR7t9NAGU*TUdEYQ;OOAM|0e5T6t<46%MZO^#^VE~%QmW2on@WPPZhXDofsXeJa%2~ zk)d6_cHz`yE;d9If`IPSXl)@swKsnxyu@!+)IGa``tN)@cN%d^+iE#Er9XZ8RN{31 z@rl0TMS=6gRa5=HTVUBXpBZ?^rLgVOgqz=vu6t<6ZtOU zt?6mXr8{@&@ZA<9o6@znnGD~3q$ladjm4)=pYHr#9yR*qn)u+idv-#iqN>(d61!@6h~w@L7}demwf5t~J(3Pz_YeK3Kb)PNO{P;P#UyF<4wvOSyvQ_C z0y+YH+7eR=p57~d$ZuL@^Ty&C+EZGkB^z;}!J$@zJ?aSO;sVF7?ia3oZ3C~fd{NYbl z<~@tZe5iXm4=)XN>HgGNc}PL@C!2O))A7KCTtQ(2zkdDNw03RL!y#=Fe*Ma1Mn`&0 zMH)BJzP-IuV&R)8zUyXmYwMBR-YA#+JVct zxD4>AH`Tk8QcUs>EReoR2JheQ=jXSzA;k5Eb#q?5o);Fy)r;Kw-i7VZ&1`Zpyfemx z5L%{T3uV@LkDtOS2+k?cO))9y$G%NLV6?ysJ82|4w{Bhk zz`!jn89_^`z`@%QEUdHk3*EorI63}1FdE6(>htr90h_W9=DPMuh0I>arFCpfP<9ss zFs#(tusL-AH|H+nnCr9V^w*p7wC0crienFD<8f_r4t=a+b>}+6D13c^5m>}d}!Irnq~`Xod{#@X3xKHlH%=)|asr&WKpIQb!5GUS2haJ^aP$^6lqAt3_P zk~2#-=x5nKM0&8;>FVfMnRj{sSw+v$?(0-^bo9zHthL8Froy_(Ranj(TwJt9fsF4{ z`}PIb4u5%hEs%fFqD4)PALQDHYYV-n=Jhh;gSw=%3!C!kyu7^h(*q||@5_|;>@A3h zP`q;G%BLLXL=st>9LhxRO526c7p8~axuYM`T`Ft2Xztw9F@?Ut!75ehCastWEuHd_ zwyrM27oY>P|g3N;e7bbVG)B{?&K1 z?X-?g$fJXIG%AoNtDnoYN!`mNrfqcAaeE9!tysA%1jnXB8kW9_PjFqek9+#(t4 zwnTTe`B> zV>X&SM~tbO`0dx;UU6p7#jw@edSel9OZu^|gz`P{%u8&uva>C}e|&h=&#wyDBPcM? zEN{xO-?~x?O#*}N-9soDO=uiOluargUPu3LHy0avGjq_L z-PZydS8g%8P?Kz&SRSREh%Z;tN!K zS&C|ythRCh&rN>S@SXa2ft5jmhpSRd6{r=MOd+TE1J2D;eV>c{*M326(%8FqZ*~LE zPPdPGVzR4j$`zyHZr{E=Z^%$%&!q)hLNK0K4q=_3Pc8@-8=50mkf~|a8+BpGOTsu&1;LO{ruuy0kQUR>rBuyV_8J|(}8fGg?VQ(iGKF`bRsj#sZ;JAC|j zbhtZ1kZxJ2l#)Muw`mf^!Qivmy!!*)hkwMc+IC`P7pJJf@kVWPU|9E#FxLcaNBz5) zVa(xMH+ihCCJe}+;7s zDXO`9_c^57*zShRt~)2g%WtgPGYF{h=H0t3zGHQ%$ExEGZ=`CPn1qLWjavGzkuxYS zFF!z~mIGN20^V8zVvv0bK(yol6SUHl0H0fh7IH~^M5szft=IjDp4d2y@3T*>-MxEv zI#LR?0yEexuzum9MJZZx!JSr}6)`zo$+=EnUd%;BZPS>gfn5E#uYe4#8 zjYWpiFI>FXi5;zJU~rcJO`A^=SnWx5QUHL}Z*FZ2zI|Kob57|~x1VNmgCF;lzJ9Il zompADC{U0}`7w*->Og@=rx3-1Oc)Z;-)VR-Ik@rIc9ibO@S7ZS0Y9t=rd(}-5Kr&QZwuHl zh=Fl(S3A;yR}ED{#gh6(?U`?a<1qFX;Q#kmyxvv#$HaAeF2#W@=b14himqdIPmYfMYP((y;3H{Wr;azNj@9jq#fG4HG&mvlsVDgy zndO?t`cVi$2{sKGB$wf?dHMO(sGLd6zq`XVnVm-_qHw%j95}1(iN6HUk?)E3_w{M2 zc6mQ9oiZypJ@CzJ8BMl-!UNc8Vx*;()MO|SFJ8KofCLSg6pBi~-u?+A!?WgBUjc1BBKA(teLUs_uFw1)?YH>0lH3dJ3n! zx|?!!u@|b}Nw-*!^Get@>LGA_JU4TGI)ElByOp8iWY<$@mn;!YW@>&`_omQI!G`b` zRFdB_LfvkB)oL~#@+(S24PPts4;1hZoDA+n9ps~?Nw}z#N#lgYhucGwA5_@|y zwkj{SU~+ecu#!E+dCo3UR->>L6%jeOlx4R1in@YV8NHI^imDYQa{{m$vY)b3*l&b{ zeEU=4qgdzLu;FE}GsT`#@QPf?5aw(Bg{gP``DLGO&5Q^xF_XNw7VoL1YIE|>DB7vs zMkyas3KhG}$0oNnMUCx3r7?<&)+`X2*_YOUxt}T-_wudSl+6fV{k&Sgk7Cw{L%+Fjr9!kIJ!ZS+OzmCappsu%zni z>#tt9qT%A=qFT!uu^fLTDMNeDPv0*#|RcUNqHy zJ`DhppR@S-i+-OocdiC9idFO`iYAsQ`Y^LeTz+j?Vi&UT={I7H+` za9Hf(3*tVI0%1CTQP(#zuk6d{mj}OlS4<;C|RDW>X+`JQD^1#7^5+;1p1Gt*#Qgrm#d|9L!Z20IB ze{SwYuCA`iKW4;jBV@qj`01EOkA#5XL&c2EmTHi(#Le=Z$s@H-*=fHw+ZuU!`KNj! zNFgCF&A=_(1m}W#@wqNC+6E#cC@d@q1g^Qcx!|^KhxPUKkpP~|m$05AMQ#+q;8|n8 z+}XK~rD)AV=E!A~{Acm#^7SctDn~Fkxnyztp8%k!YVYVgz40m4;IYUJD1R3Mme@0Y z<705$=T9_o|8Jv-r2V(|fCu-pcYu-O8O*||cB}7f9$jCq z=H}*k3l;?7`F(wTckbMITcUA}|f}j?)dy=?1~~?pf^w07JHW{Pyj^+~EsM z8aY{#eZI`qS=?S;Ubs{f>mX6kr)+aN$QKo~j z)ZD-SGIGOeO&%YsLrO}Q0@lbS0Ba^hMD%@_y^F~|>n1uBX-L$8cD@LD$UIe##{d`W zf-zxVEgM}Kdx$$_3G>eO!T*BLR^I{CE-Wu^^5)H(z-gj7ODTpm0Bk?1>v+RVTT;2I zR?mzGp&mR~Rp2@1)LzQ5n;DwbbU*tPOVQc@K`Og5TatZze8_(3z6A;fySu%;ooXh* z9AihkdePDO(mUnkNO}~bvZyEEk*xr&Kq%ha`9qtxJ1r)n{ zR>Uwa&^UO|ucESY!x9HFL2;*TIV`_+cE%$|FSez`EuK6Xs*{a(P%khu7)>pnPv(rLC+arFTLVg!#>0mX{n*I5 zRFAp}&A?PI*QJ{=Xa=4WZ_zl%>E<6=S~3dJ6THCTwi5p^Z`x1o5}O;p0um>Y6|0KM8w)@Haa5U)UC;t zLTgs8{9b`aS(H&IY4nIBp&|{xB|In6^nnudg^@!Jv9YlM0{zJV&XgSEMl<4p(m8(o_?-rE(*mPKJNuZ7B_t~#5M|&d*rJ{9cl1^fD)Zsg z^$KkHPffqqZ`o3w)pn`-XNSU6c2##`zrO#fZ6)7xLDj?zdwzYr1dH<^mN4+Htk-zf z9-5enbHKer^1t_jLem6T0sFdETwMJ3*qE?{gcfpoO=gRiAtM7!H&zawt;7mw<1R=+ z_aR2iSWj-si*8y!GwV`x9ZQ+J^w@9gkm{R!%FCB7)l8DVb?cU-ZKI4$OF@2J4yfwy zD8sG>1n9WAWuYL}G2;aiL1?cj4HiZ=>8?TeTs2|cQebTA^*aU>r%kPZn3x*I80`fn z#LRQ!h7DNCRKpDGa;$~)Grt|2QEyd^9HSdJgXN!S7xyl|t}tnl*@Ie7_sp3*l(zI^ zuh>a(H90x?acr<1G7Kh;S)+ z{a3+_86WG7m3{RN-e9{LNd5Df1d4{sQCk<*T}gqxAI6@!=$=e zH>s_9RvvqZm+$NA($b3JMG8hqbN7k^VS^G6b$f24g*tORAD>D-|A}9HpWQ)OUk!^6 zc_FpF=o^R&QjUX$OdbZ|X-Ue*xfWEQ!l4(-4lSQAolMxocel4h)phM~?WuZwlkZws zkx6%%cwtpE^;T(8y+*>AzNF13EdX^XTfv;;ZvxF;y${@=;x{=P@(e=u_P*82b;H^S z!N1#e7PPaw+fD|68PqwEixn?Kc*$UZ1CpS=Q zja|baKg5%@4rRP5rEoFE}Km3(Jxa}clR9rH{hDU@YG&f$Q^Y1HUYu3msdG*I>J2;G!?8z zLH0w9ft4zlSWO$rl6`Ie;v~nKHOafq&!P$~cr9=!-1_kjhp(5nL`ETUxDULOPBeDZ zPw;5mA6Rd#Gc`Feg!pBJZAnTMO-;?^%a%nEQYZ8jN*ybFk$KHF@P-=%1cboj6E%uX z3kIKNRa>&^6%%@9-DTFNfy+5Lb=r2^Q}8Z0@gY13lD%0Mc$j1ovkpCw2S^SAD`a5C zi`iy0WTrqQ1>Pl>LUszSa{=*P@}~L1++~9$+;;l|iA;tmVv^v4gO!J@etvmrUb6-i zzLD8e_aWNEP>Of3mfO?Op4?tUGK~$kD?rDA+Fp6lnEEr1NE1^NBhGF9(wtpo z^{CiNULE_g9=> zByS;d^7!$f`V1h8QM_Q41=7)0Bhz7C*^ySXj)T3kCF@iaLaQW5L~uU)p~9wG-9lxA z*sI4nYr#k9mNUmPlfSo%v`;X&mo8loshD~()Ti!8bAE$fhViKSs(s=QH+5Yo|Cah{ z&9)GgT%K2EsYH7=A3i*2yB31_mXK@jSv7Co8jn1yqKeULS78N894VrJ6m`HFG}Zk4 z{lUfgD`X?TZq**iijRw27R@TOb~`=-Q&67n)?8L3QA6Y%Y+PaBQMb_$a}7fs-4 z4D#GkPkjkNgqiyNU~0=J^Ajg@;-?}vp4&GDmr0VA!m3rPNJYWVmmW9A&d!c{G3sz> z?vIG4L^zFqYubMe)y%~`Bc@zrSo5Kb%-@Eh#JN&cTH8_~SUaq( zvT_&5+yjRW=_21mm8LuXZ6<3E7HL!=z1T=EdR90&Bz`P=>%-j|`ws25IeK1e*y3y; zw6&E3z9`DI-F6rn5-joSmlo|odumwTC$$r0j-!K?zCDE!0lyw64@3E6fUqeUc>MUW zgLwC;AO?@L6m&*WDN7609G&Y-KxUtAwYBv|w8BK^p^|>QZNGL>&zGS>6Ll&3P_YJC zw8Uj!$G8llb&S>gIdg9C6ZQZsrby-l(2LdhsA;;Fa`xnC*9IzTyHQ4BijdazZ8Bfd zglJtgN$w*}t{bRe@ovFrz;D^{KFr|BkzM|U4;X8t!Cot6eg5|C5fM(HiF*wH(7-zQ zIeE<_P}}%_zONu3K6&|qiiZ0#r=CMI=y*@jYuyCdQ*0yR@xGx3+~@`3|5Nmd6xn)x~EhX6{1t1%x-UMiy}ab#F11l zNPaGSJ7~L|uiuO0lUDLu`4E|mHu$}qR8LE4_E&&CPSCYj^7rFAR{zvI2lOwr+fVc8 z*8>7-pv2O4in|-W1DmS{IW;i)_3Qn3^SW^#Ky$AuLt2wo+vNSbeFZ>hQ0@dWV0T8Q ze!e?he)3nFW~L!>O%t{4@)ABFEj#lCtG2$-Gs(0KGmdbe-`RFD#ErWqVN>tZ*;sH= zgh>S+sU7D%rLFu~c59m`Q@;MwJdst(gCANiYjbW28E#~gmbqQG3|0EW#Q zXWMZX+yX=tp>^wak?576otW;_sTmcY~C|#sf_xxSlDllJ~m9ZxVh!| z$-fhQ04mb0>nrpok?dgATfc#y|2ssaPX(U2;itc?TDWTK-olCDdyS1e1JzE$({U)- zjG)`I{BVs_*QuGfcW#&%@t$&x$#jGr0qS4^i1knTUf9u1&b7uap{YS90ZQ=(uKzIM zma&g0`2FqPJe!s%RyYldA*GRmat%5# zRIKLb_VqA7a?lK$KG6EVzQIxoNBn)cp>} zQYGpGCkPMJi>@hHzG-AZAPc3ikD7`!V4LZb8o0a2afY(=bRP-QD&T162XBW3f6_|5LhoQi~+PbO~y{w=AV zg2Tq|{{%Me`wmy;QGzb0Xb})8bG1@n6;leJ#0mblH1FR;BlQn`(u7Cy;akPxTTOF@ zxstJJ@*DXgdw#yw*KgjO`d@$b?%h9L1tm)C*&HV06!4XklT+Y|537%3{p7d0$yo%c zC_1m?lMyq{`C2MVsoG{~X_+j>{Pk)xHXhXIOx~-wg-PKB9B1P};>(3v^t}|^;j$It zCRJc}dj4>D>uf7{Yl{Z12~kcynMgW1$xQtLUvviFpnNmdp6%m)VKed1`b2>%Tp?z3 zq)x_%>t#EW9;clnveDJQWTU2&W8B5R} zx3(4ueMByZI~6mFNAu`ws1&gXV}ctuzS5UuiDUf-;YeoR9jGTTOd#?>zc8*GqQtQR z9nu{;)L?zi$zgui(1kZNI%iPrCV=EX(Eadv5H6_J?I?v7`%l7=eZah#JQcj_e8Dr@ zX18;qKz^z;pH+Q~UqFBcstWSic-rnPG7&}kLOk|$b>{-$dm|N^($yL2xv&y{CnAsg zU>yHB<_mwX+v&4sl<%tr_&X92f%JCdZKlxo&}a$6NFV9x64VRKS7Q`)fW>!E`Sm&~ z3J(oL`mY@w9Z#N9j2b{cI>G7~Cg)M(=5J44v`?be_SPqYTu#V;^pNf4FDbvOg&59!qGrH6<&g+M?)`V zj||19V*Ae4EZM5Q;b9%5b#U#7>wdoV)*<)-XZ*G2tN~G3!TI3_XuO0^SXc%5y!7qc zbgM&kPUONkBlUv$OM$ zu2tpv55f_htwo=F$B-%_g3a!7IN<<5D-km6Dfm9pqJhY%sj!Ow}?`^YBgLA$vK3MW}je3s(7&5(d9Vy^KkO?M^SJHYd-9DM=+@^$reO584> zX&tyrrlTjNYECY5;=vRFbdUf}Q%CeP-+E^yQ~rr~FDP}64}?1y_2f8w@xafY8i_hd zM$F(#k-3k&;Z<$}%wKkuMSTE%YT+x{Of9BL)P+w5s~2jQvG#n*MpW6PW#&&Gg}Mui zG9D3WiLw!~{*MyUs*W7Cr<#?O)!1MG1(vni?1LnmD;gj5Yu$YBT@ETxV}0CgE^5?z zYnMMa+pJXd?EAt9FH4w;6IF0Mh2pzqMgXD@F=MEG`h>A^w)x2M{5)u9df{_ zMTS;-009ETe)Zjz)igSRqwwWadX6-0Osr;H&NN(yYf8q5U{pDL&FaCn>kFsNDb806 zf2%Sc{mbTvqIgh;e?5q0D`SQc$U9+|4+8@O##+?&e`t;nOMYZVJNAx@)aO%F32OlG zU5NYdSEx0e%S1Ex2a={C?93Xc?U$5!J+-WA9&4ayh?v{(*DA}gRa*Xad?7*5Z8oitLrBEod<1!upsOdRTIcqX7bS z8Xp0m#Qp|z#g&FoXXy~wi|)KTftcP#hbHtcT+T4xeW(H-(lvVk$O8j$2r+aEsNO}m z-vsNGYxC*YX7{cnTD~dvQ|=B^q(jc!hPP`sId7*9x`cr>ExE@Ok0<>#(G(R`4;@F5gk~DH72fA6{w=;sT$|a^NF5v6e-fzNjUt2xhm)f| z$@IyQvjt;4J4inqgq|f!mOxcdOZCEpMgwxZKEAaxSl2`YOpVo#3B4p8;^2gVSVXE& z1p)JCI4SR7w$x12O_8ec21QFmOn?Q`$1Q;WFdQGmqabG78yqQ|GKMceoF0&4Z%x*m zqOnFI`mHQJDiT^vpR^_*8bUzu6YA{%GMP7j{x-EEDo=rtpw~RDoBN}>V7y-ih$Fs~ zu2u8$+6qaxzSgD1{*l-=9H6+t`@ioQBIZ4ar6r>KLPhi=;Rwi;QV9{+GRnKt?FkS~ zN0F;~BWSOoW{=)r+0!-}88`W*wrtsg-V5C{rlz8nJ&<1Y?HJjz6h@%IYI}GUtRU%P zr*g?U#bN2hlBPY3khGt`{otPgks-d{>(QYH$;dh|sBHpqjYwAk*17xBK`1RGAIwt@ zSpd11TgqD9%q)_4DnNvMN2f)+jwtL#E*pnL4Ksoe2|SEeA15FBck)cdt-r}L7kquK z5IX{+0ch}g>h)Y9H6Gimj0H+M8+3BNJ!L95|7X>vvS+IRHw;UY6JuR4(-M}}879w| z=xCDDU}{uHp}B$Ml03wsO=;m)?SHqJ&8B%W6v#A`T`pZPkCJW-5NfIb8YHm;@1ii% z?wt7Nwg{L{xz?S7BN5##ksHI^o+rN}9R=t_QhgwA40EkPj8)uKY(8Q()jXQD#bekS zRs6eTRje+umbV-$vA`<=3tNtG=L{{Uf$jmZAl+lc7G@(FwloP9C*IvPceN}9^#a4^ zH7*YYNFcT7Kl1N@PLPgv1MAw7mKIa#X16GGfy5ykY?7C6w)HIZniy<7zbFCk{pDyc ze39;h-`9asC*I+}Ql2~Os+<3;m%9dXC^^=zUyrT>DRd2x*v3yV7nMrY{-g|x#vm%{ z5Vsk^)O*r)QX#x(2r%3D^&=7%4f_+-@ z{TgWS|EsQunwr0jay98URK2q`=B?De-quq{5<=Y_KVR{RJAQpdyzU~pU-_q?V#I5% z4yON?eGoRGZ>ugq6$o*CTlM$fETd9>Bbpy2Xb?YX)pZmMiUE@!uqn~#-!wIBQNF0< zme@=z6`MCd`PTe;3NyMT1XgstqyotK@q{Fnkf_R1wJx8!b~PbsT7s*Rq`R{RSnWgY z#jow=b^Y%B*vPoIZ{G^p=+;m@;B%V6%Id%QMP=n-P!NZMhY#!TYq_41Vi!Cr18J}% zV0GdHuhBOe=E0qRl+}pjqinvcAmnT|rv2#~IQB$OMEg_nu$63vh;c11bBa|P-9|-XRAtqODSh;~3$R%xSEnQVa4j~EoLv~BpK)GKzG#v@biD76bRNuD}VR3 ztiS)VBd>3)E9uX1?n*a%c~!Fk*(&Wt!xNo-r$gm-j`tN4+b};8sF18|&hCjG=$~~~ z{}E-q^~^7OzRSe*4>nk%M+!2zLN4FSkm`Kap7ogPSKL*uZFX zebB%NmgKy1`wg=~6+&9jjT;fLR$HPRaQ}AaBx#4hOSD5t@m9CE{?C@sZQS>A z7wN6?UE{u=XjdOT)Q%2y(Y+={mo^XslEQf3d9Wmj=_w!#u#R5U^+I3scZSC8Vgpq; zf;$wg_-mQx0wm=2_IbTsh_LSPi@@zB4na)RApNziCqgyR{J0;! zB5h273c@lnS>W*6t94DQLAeZq$=n}UFga>P%uq2I;_mt?pmzxKjYk&*`41dX36b}z zO(il**v`|MXhPyhP869c%=cInkWetCF!{-c`{~?uH|D5PSS)?ku64MXXta0L%!K(@ z=g=NkCnOz+=e*s!cV@z=l5$#-1)YNvmVc}p&fE)H6|QbUZzZ0+J1+1&!C zyuH6>`Yz1AQD)*G_2Jc9_LHs(9`e06ZiUs?dWlWuF^SsOr`5l98PsYlKdFVO-xNDN-s zAd;isQ3B#k#v=PwS+wN3+IeED5N`v)H$Z5lJryfj1Eo-oOLqb~LDUF^05&JgwOKHp z#^vh~{friH6x!_85DdF{%MA9|%2lsrDZf^EGmE}+SC-hz@B}ELC*T7n zWyW-)x|{zJ`@W;IEsW<#l98}2Lr*}`@`nQWv(J&GW|<8eFrp;?F}vmoa$gGN#0kGv z8FaU)c?y60{Z(MQ2w)_-`@*n-w0fx7)ri}VzO*~*n{&Q zq;nLzS|<%pPB4kSXX{@KyoY==10}S=`nTB2l*QHwGkKtGov4#t{PlJKp-0!Q1a<8Z zHwrp_@e?!3ukbOu`<+Z;_Z;>0#YM+Yo-FHhngvIw{5N|Uu$rsCZzbPY)P+0Y9R>#n zqwUH&g2B?dXKbWb*W7$Vlr*`3EsTp#hM(YPAwj{PuA-DPaambJk!{3k7bUL?q7pc+pcn6_$FCd4C)0RXd+XM%PEf17YuJiZ-iOO2qL2xUpT5E* zjKx=r!$C_+%K}xFkg)K8t|}$3=(9aJ<${BQW10s&XOhq2YiMa152LWQfdQk-o#M6& ze?{w=kZ}i^c8n@iPP?U~L7? zVZNAjHPv}C(F5yz`HBA*E)sQgxYf>MRWE%0d^fo%!u;kne9Y#7j|P(4TkQuH$bySX zM!g^m`&s=(mN;W7^$N;{SR4t`wq=@DPBKnoWtVpScr;aSIR{6~?b|EcYOvewoLJHi zU?vGAj{**4OaKA|elXxSW~pvz9z{V$ zVxfR5+M1e?fq_fmSWS$M-V0+;^^Aqm)88HUzKg{-c78ECMO8VDxgnefEQ?O91Eu?U z4*YBo2|kZ=O%oH8U%U55FnjhfwPMp$3+2dPj{l;;KP2ye9XtMLN=1X8M$^*JckHLV*uEFKOS9 zR$H`I5d}8d2NL1Z>%t)eC2i9u&=>@sn9b93q}VJq4&I5Y*RSg$(Cc1h{rD7buM>Sa zvS)rhF-lIzWIxB$rbKt$VrBnuBnp-gMr{i3vsoVxK+?B@&`zX@tMMSh_Tlw7}u61qt(gu6zZr3iStV zyUW%wc{d*m`=ZZl=%?On2qiinGTE@@QOes5kdv^V65`@+ys%)7Z?ZbVr+Bq3nj48X z!2G~G9|NcpI@r}{9=XH6d-@{Ba^^+T_6BVWi#XGHtVh()WC9ybEnEux(`^8K*Kb^s zAnG@;+ny|z)=0NPvWOPX8Jfk@Gn1GglVI`qohU#NK%2o1;xk1NSh8s|xvDQl7JW@u zgN?DR*MPznkB#WuS+U`xIr;D$v+5ZERaI5AmW&xbnG1kyIj>!u_Wz%WM0XnSsu0A4 z#dKVW4aoqd6;Vb$xH#Gm-V=N^oCUa}M-UzGO- z=i1N>NRMlZt36)31S140Kw|Z$IBrjg@mXvJPEHcFOs9Fuwi)b7c9g!*2NOR|{<-Z9 zu)1+^aY)M%9G$RNP4BwJ$9Fdlw8Hbpif(|K=M!GVvP{7=?T8%lcZTPr>Tsvp$-*){!hmSNg z%|0@*zPsVc+vvZ0X*kn6GoehjGzg_$;>^6c} zn}N~DK-2<{UNQwAbJB;LXM-iR)EYxQY6(NJzq|iSvxnDb35ko_X?ZZG>8+0-b0bpz zKTL)HybcCV6Nt^_e2f3u%ZllpO}<@mvl$yRjQ#(+yhSiOV$`P%-SVAlw{NfC*s-sY zf5V2EIc$o7a0m#!aqX2OqcI50DCjxzCUAp4tq^uD7?-m&Qd0Fq2Fn#ear)DkjeI_< zHt!<}6zYzDQAzwKukSx9No+iu&Z7Jqv_dTCELQepe&c_=AL-wH_)uwsL#PG=TLt%+ zGoy+M)tSgppno2cc5V*u;m3t!%jJSXRF12=4AM^R-4TTAT-}~@A0Tp3gFto z&sC!+r=@oTtbv<}6+HZCe;}~#P-x-!KFCiahWXFL&`Az^{HcgCi_L#~cFtw?2p_^(PI2h{ZaVd9_2`eZ4~#Q5P%qG;U@dj;rygn@as&pBk2?Tk-=3rt z)B#oCiU_ktiU_HDs>tl%H1C_hoF*_OLe515p2X+DVQJ~<=~?AM*CUM`x#>G$0d)@F zwr<_Snt^Ki02TBFtV8}|5J!|0dK%D4W@=@+Ze53XHgS;RbT6O~U)+XN72xfu(LYzunNxbz{j1t>9q$EMpw&^{YWF74}_M3U;x(B5_d4jb+Mt>_SB{B!JJ(O z%!A2T!b+)wAiGi-0 zn@zSUIvzdn=aCK?bSgbURfv|)L*8QzE$K&|%{b+?+42()1j8uGyBM}?XC6IoqO$mKD3@n+HAts>vs7aY+m^ zL#*E}-dBr7r0Bes{P_u_j{0sFzQ(wB(D@``Zsp?LFFpwIm{<;SEo|tkaD>>Y@s_E{ z%o-`w5Q#3{0Q&Td2C%ZJZI?Svd&YofbBAZt>H_x)=zqHOnJ4pOAON95&D-C;_^`Qo z48ja}QYB)SmW0g&VgWrM;AaUvG(0?c2Rx^dwG|Ml2YnUBccB6ajQ;rXBbN=V4ibpP z2E_{xfm(sWojC}S&^X}LzA!QP^qw{9Kd8R>4QP3*{klDYZlIU=V)CnFvD$PS0$ zogqhd9ec4GgTU!P-R>WPVUosMAuKqK4kb-sIHWL=?#U&U1;M* zWv~h#5!I3i=NA|h5>gZWpc5R$)__8|D-0TbG-e;xtX7iqP(V2Ob! zW8Q(x4`i&qvyMuh6jzakHe;81bIEX1oB;H5-BY|MgB+*$9vu8dvw`n53UL@MMN}LG zXmrb4?899#a{LKt(6m7re3+^orG%5&43d&^O{lQBn%!bpF2JtDfoX((zANY9Lhm3g zLQu$v!JOT95B8-tA~p!vJcIM^PE?X7BHnB_5gbWDj+P;tadNCzC1KunVzLSe(di!X z1XEA?bjS&T{N%_y$x(|QdM1PrPlS}fgyb0FzD65|DP0N#P8CcBgyt6(6pa5A#D56$ zR0HjYU;85WA-SO-avoOFI}TkVa=ryIt`l|_Ntm>Sp>Zp##*s98E2>nkSF(2#+q7!U znjZQ<0GDJ!&7#}kq&vPX3sqcm28qvzjHXsu>$Ful>~p&_8fX`|!?Cj@&0bt~A4@EQ zB7;(wFP>36gyfJYH-!_Bs0pJ-?gs@OKNDrzknV>LFqOa@bV0PDKYj>Ht#*!dBc8h& zsD~O@)=rMh%x|7Lc3nqHAO~7I(ypO-@JYum+AGl9s4J+bHNU)CLLhiX9`ZF)eoW=v8G{bFW%e z|JZ<$I}D}Iu+0r?ZiQT}zjU)+hhunGN>#?%q*zdkZ5^fW-sM{`iH?t&>6d+q9XkSW z508m)a#AM_FUDaoN35$mvtumx7(Y(hu@mR*O4iiJeZZr0HI7_N&g(zWRyV+Eee~$V zCFy?PL;@wO>o!xhtxmd$_58*`a4TP-37zI3`mA)Dn^nRi6OWVc?{5icDl8m*@#0*^w=p4?CTY#XHx4s8qxRnlVuya4#``@ z=8b_Ej3Vtr-TOh1-0ynIk^or(`F)Eujv4!XI)f%C)gED-mP$^j(2|rqf#?(Xe)dXo zmRiACuq=|Cc{^d6CiAvEOpR|pnk6!IT~jQ(^GObp11OxwP58D9thsrIL0Xd=ff&TEk7r(17$E|L@$#6 zrHEFH?9_~AHG z_Wza6hcz@FlAbQKag(@5$^#IxU?<3#Ahpjg&gWRFIr5+%QPN*h7DhEuSXxqdDfo79 ziISK8v4VbipHfW1y5FP(Ac7iRJ;-fQ9PWTt7NX2c09y}rRw~17uKnluAFzl-rWl3d z1_oHuhJQCk?cWAlO#&5&ckklw?a;fgdz>A8x9nRM5GoN>d2m7M*2%d#6Cg#=h|U+@XpqKsCx)c znvTkm#(NokVJ*>l?6@*hr zZlb262 zz%Jp`zGz4u9GslQX2EPotR;s=qEA6bO)Wsz>r$wRI~7xq_Vb|==_Y0uSV7VwF~gy| zTVO~M)&z1QI>=~1CUQL8&tDgjcAeUTbxGGF0;)D?VDH3YwD~9%O}}#edM)tQ2JMN) za6XI19rSdi=A7aGQQMUV!+D1BZxQRNqs@r0blXgg#E}Y%PFu7{&_qWa>99pdCbmeO z)2vWJM(Ik5bP^_|n-Gz%YbX&%GaI@ZQAaazR7D(1aFj#&W1?SD1Au$gL-xN?^oHmYsf`o z2QS4T7`~Alj12T5XY%v3b#(*KxFnbgkY6->Q0Ri)_aLHvLr`wSxgb%YntCstLDUJs>I z7!c(jyHf7=%!F8sJ#YALVQO{sk4cAc{C3{frm9}n1$FR<%s?C$WPmT%O-j& zsn}711!4S2{0O2x;2j8ufTt93K9C^iQMkpeHfd9+KRLh-{%(L#Av`4EGRwuVihxop z!{=l=dM_uD?|y!Z&@OVz*0x&~6Vdc18tRcYZO#{>n0v^ktB#_aGo+oQZ21_2m$e3) zx{1ex3LkCW8W70S=Pqn#Y_C!N!G|zUUQDRBD7P_-ZWRyWNGn{xWqELK{U?_|m1PP>_lUm8_|CDvy z-YeUH=iYOpIqtS*zN}T*(9@WB$CoINzXYXlRr6GF=yy2v?8agE37RXwf=c&c^@*qG zwTlsm2W_4ZNEQ}m2W$j|GVl*CfXFw=tOs?KAf_ig<8Ab+e&4^-tyWIArM;`TED?nf z;ReR!lmo*K-t4aSS~%WqjQG1YpMo74i!4lT+#}8&wDzdU)bRX);InA|P`78Qgii(9 zg$I5;=9Vz!>7K_id^A?>{BZ_bTsUWo$3Go$VZx`sWbgFOKwTFfh-^42dGEhLB3@mkuMTc<8qW8DjK!;v{BU`MuS}>OT z@hvj;^~rb*mC~vvS235|YBywssmDnSi6B$7qVdH{Hs?(#3M*@zDt?s#FE4yfF>p_+ z38mFq!8TM~sGIzukWC9QVUpegz6pZL_M)nJ+iaEA$xYxg5ue00Us_sfosw9meYBZb zj&Bi;wjHj6yC(nZ2)bSF5st9v>&xNc1`hyGg~8zTN(X}$Xl)I%pM2o5Zy2#x)+(`N zuk67pR3YTF0&W-s@V*7VL$pk|M0JRdv)6X#|0g0ZO2N>GTwS0{G08V#*>EE5Gv-7b z(8n$StA_N!%{b!3<+@CIFzOeiR+8mmIiQQ{<>k`xD=KU^j=!Ap&1^v**8&J&!|$;$ zBrobc_$>fFj0qvvaBkxcc-s|y0Jav!kN#i+pv)j}9$(R!UzuHHqx$r<4M_g3Ckx4+ zt#}5>%XunDzW7AAI-AEBCR|IKJua|--VKAk{{dkdf2z(gt3TaX(H)5^F+N^?p0)2s GWc>p%?o9Lm diff --git a/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_1080x2160/viewPixelCopy/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step1.png b/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_1080x2160/viewPixelCopy/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step1.png deleted file mode 100644 index 9389df041fe6de82ec91f6f049c5c465be0c7692..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19661 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 diff --git a/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_1080x2160/viewPixelCopy/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step3.png b/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_1080x2160/viewPixelCopy/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step3.png deleted file mode 100644 index b19482f1c02b96871033a8451e66308bc63dd961..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 31054 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%0A6h`L+yAai=GG_85!`E$GR%owcueW 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 KToOO`TlPOJUP-P1 diff --git a/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_1080x2160/viewPixelCopy/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/item-builder.png b/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_1080x2160/viewPixelCopy/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/item-builder.png deleted file mode 100644 index d4fc93be07bd90c5a1fe726b57e41bef0c770bbd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26413 zcmcG$2Ut{F7A0H=X2l39pr{~9HjqRKCa^>hkQ^07p@@G}Wn@qJJ6)~$2TJ!kK=*IN5rQCCx5IFD-{g+f_K z-M?3pLSd7kP-d{rnT6ksyM-Ua|JWRNQ?=&czcX`=U#3vjQmA`(X}R71(d1#IHB>P5 zbHr!iW}~3Z994UpZo7%9mZ`*7XJ`r!>OHbebqUGc`KqeolR~+OGw-%-qDjZM{@uGWEl(litGIWOlsJW%xVwmT zxW)XbLDEczz__?gC%flm30%B*F*}D1gQLXVIw-lyez66`oUf1ko$|`wt>~0<+~@A@ zq@p54eG$&nZf+|VrPYhz=hmCAubWtF{mz}6p`WCKpZ0IxxUN5bEV5zaM&WJSDwE}o z&L;QJ3M-xw5c%xVg9i`JojbRD`Eq^*1qEfNMOE8F#Z7fIH3RXV)9-%sHs^Efbf<;+NE2y!tu`0<>nr=}Z`G_%Nt>Bg|8e_xV zmBGTgbGDQFMJ(W8m$8nLO3v+(ZSorHo;PPsT={d#@&l@>+Sb;O`}_O(x7=k8@qp$- zpJGm1H+T00yOsi@z!@_2?PZ~Kt6H)4uV44C|4Q!WlNiixU-x{Wsj2BucZ2SlHEYxa z7x?7gzt8jX#fwdHa>jo~x4d2Frc!u#IHNLl(dSvMyU#3QA!BhepT(0gcb~^dkLaO8 zhfY?rMJ&ffITOPTcr7RVl4p?b2wGxarxtFTKcw^f_wVgVYboXfBO|&aJxv>~++YrL z^3W9)-|pym&#~co^X56wc2P=e^G-Wrq-uY@e!sb2Yv0h2HfADBf4J8_Vk zk3TTOXKP!NjdNx5S5i1mZoN|#qq2hP_l5kc&r)T339Fie{@l_oE}|5n_)~2qv`^{r ziDl$pDWPfeWg;UZkK;4hjwf}iSt9~vU3;*`UTk76iXns4B|OibJ?kGHcG)LNNho^t zN;%1Z?%=$Ne7aRrsp#m~P^RiVDKX($iq+{h4LVC5PmzC$EBv8kuP4I!dvr7>fs>;B zwW~|`+RHDDt>hnz%zw-X`1bBzZUQ@{8Y}ZFW9js-8>1C2(Pz(^m6N`bqJ45~(%}x- z)jp%IS3Wx`bByz>VN#X*#C>xeLv1a-q{kNPu@5355ar-=Z8;YL$ zidd@Fow-h4aFwo$s|JgD?oT-qP1H@di?+J`ZVxq=x+gr5)mt#;C;wO{an?dEvbmaE zTRgGFB@MQ<&Jh$8Ecw|Oe>j$_X$1>e-aezHN#g>w0g_fV7Ow(Um%e#Zu50QUGt^a^ zo5SCF*KF$@BV*=b$=b`RyFz`HZn9CTNBDyWy^#mzO?2CN-{POi#%9sem|c6&^t~px z6&VhtN>yyGOixainCH)zD}tMQ%9VMm?@C%N=jKifm-ArYuSsVaLOlAX>7isp`jTz4d13`lTsx4Nax)%^5}TnK!X+bY_n#ST1zErL@B+jx#;U# zW-V1_mbx;<{Nzci;UD#k>cr5d)%w-}Jli9ww*=yqudgA?ON8^TBw z8YK9s(7Uin3R}a)HF5vJgCZ^?p$b#KKXAA!RCikyUs}i|WqsQq(^eGIh&>YT+*QLR zeyQMkY7^bA#e{{01<@g}u&{9Vo;{N8gBG4+-I+1A zhQY^_11l;juunvWdYTMX?@HW!X{MpBexoOEKrMf$#!!1yfjJ>sCP_JaV z%#RBKJcNdzrF0`sEqey-unj%DZJj}8fBs4wU}fl zeBX|k$*cR-)M~O$wWVXfn{~avzddT($@iONWeq-m{%nw8eWz)3=6ufYxxEF49UPv1 z`SNA?k|htfJAPZOT5+)LFwapFK%`cy$Z0be55)$)-sjcSs5E@ zpuF$;YU-y9n|meKc~dZ&y8Q6FcN40rv|g5!Fa|y-)Hc`^8plt~C)1$VUY)aqhr_wA zbr*8js*Q2F*Zlpf(>}->nq{4$-@ku<9^EnI+6r-6U+c3Cm$>(}cXSAE-KzOPZsdMb z7h*;AkNPx!!>eNYPxq##rn=aKi0GRQD!BC>L6CZXwl^Z{bFpt%{z$Vhr)|&+slXQk z0s@a-*tgMi615$_y%ls_6WSku!Dc(gDh2T9i!^3^3N`hL$Lb3<` z@0qi7*)opBizA+$pWPMi(WB8);ORev=_q)bmbQT-yiZ}^?KZB>M|=$Ev<+$Xk6XOP zR7t9NAGU*TUdEYQ;OOAM|0e5T6t<46%MZO^#^VE~%QmW2on@WPPZhXDofsXeJa%2~ zk)d6_cHz`yE;d9If`IPSXl)@swKsnxyu@!+)IGa``tN)@cN%d^+iE#Er9XZ8RN{31 z@rl0TMS=6gRa5=HTVUBXpBZ?^rLgVOgqz=vu6t<6ZtOU zt?6mXr8{@&@ZA<9o6@znnGD~3q$ladjm4)=pYHr#9yR*qn)u+idv-#iqN>(d61!@6h~w@L7}demwf5t~J(3Pz_YeK3Kb)PNO{P;P#UyF<4wvOSyvQ_C z0y+YH+7eR=p57~d$ZuL@^Ty&C+EZGkB^z;}!J$@zJ?aSO;sVF7?ia3oZ3C~fd{NYbl z<~@tZe5iXm4=)XN>HgGNc}PL@C!2O))A7KCTtQ(2zkdDNw03RL!y#=Fe*Ma1Mn`&0 zMH)BJzP-IuV&R)8zUyXmYwMBR-YA#+JVct zxD4>AH`Tk8QcUs>EReoR2JheQ=jXSzA;k5Eb#q?5o);Fy)r;Kw-i7VZ&1`Zpyfemx z5L%{T3uV@LkDtOS2+k?cO))9y$G%NLV6?ysJ82|4w{Bhk zz`!jn89_^`z`@%QEUdHk3*EorI63}1FdE6(>htr90h_W9=DPMuh0I>arFCpfP<9ss zFs#(tusL-AH|H+nnCr9V^w*p7wC0crienFD<8f_r4t=a+b>}+6D13c^5m>}d}!Irnq~`Xod{#@X3xKHlH%=)|asr&WKpIQb!5GUS2haJ^aP$^6lqAt3_P zk~2#-=x5nKM0&8;>FVfMnRj{sSw+v$?(0-^bo9zHthL8Froy_(Ranj(TwJt9fsF4{ z`}PIb4u5%hEs%fFqD4)PALQDHYYV-n=Jhh;gSw=%3!C!kyu7^h(*q||@5_|;>@A3h zP`q;G%BLLXL=st>9LhxRO526c7p8~axuYM`T`Ft2Xztw9F@?Ut!75ehCastWEuHd_ zwyrM27oY>P|g3N;e7bbVG)B{?&K1 z?X-?g$fJXIG%AoNtDnoYN!`mNrfqcAaeE9!tysA%1jnXB8kW9_PjFqek9+#(t4 zwnTTe`B> zV>X&SM~tbO`0dx;UU6p7#jw@edSel9OZu^|gz`P{%u8&uva>C}e|&h=&#wyDBPcM? zEN{xO-?~x?O#*}N-9soDO=uiOluargUPu3LHy0avGjq_L z-PZydS8g%8P?Kz&SRSREh%Z;tN!K zS&C|ythRCh&rN>S@SXa2ft5jmhpSRd6{r=MOd+TE1J2D;eV>c{*M326(%8FqZ*~LE zPPdPGVzR4j$`zyHZr{E=Z^%$%&!q)hLNK0K4q=_3Pc8@-8=50mkf~|a8+BpGOTsu&1;LO{ruuy0kQUR>rBuyV_8J|(}8fGg?VQ(iGKF`bRsj#sZ;JAC|j zbhtZ1kZxJ2l#)Muw`mf^!Qivmy!!*)hkwMc+IC`P7pJJf@kVWPU|9E#FxLcaNBz5) zVa(xMH+ihCCJe}+;7s zDXO`9_c^57*zShRt~)2g%WtgPGYF{h=H0t3zGHQ%$ExEGZ=`CPn1qLWjavGzkuxYS zFF!z~mIGN20^V8zVvv0bK(yol6SUHl0H0fh7IH~^M5szft=IjDp4d2y@3T*>-MxEv zI#LR?0yEexuzum9MJZZx!JSr}6)`zo$+=EnUd%;BZPS>gfn5E#uYe4#8 zjYWpiFI>FXi5;zJU~rcJO`A^=SnWx5QUHL}Z*FZ2zI|Kob57|~x1VNmgCF;lzJ9Il zompADC{U0}`7w*->Og@=rx3-1Oc)Z;-)VR-Ik@rIc9ibO@S7ZS0Y9t=rd(}-5Kr&QZwuHl zh=Fl(S3A;yR}ED{#gh6(?U`?a<1qFX;Q#kmyxvv#$HaAeF2#W@=b14himqdIPmYfMYP((y;3H{Wr;azNj@9jq#fG4HG&mvlsVDgy zndO?t`cVi$2{sKGB$wf?dHMO(sGLd6zq`XVnVm-_qHw%j95}1(iN6HUk?)E3_w{M2 zc6mQ9oiZypJ@CzJ8BMl-!UNc8Vx*;()MO|SFJ8KofCLSg6pBi~-u?+A!?WgBUjc1BBKA(teLUs_uFw1)?YH>0lH3dJ3n! zx|?!!u@|b}Nw-*!^Get@>LGA_JU4TGI)ElByOp8iWY<$@mn;!YW@>&`_omQI!G`b` zRFdB_LfvkB)oL~#@+(S24PPts4;1hZoDA+n9ps~?Nw}z#N#lgYhucGwA5_@|y zwkj{SU~+ecu#!E+dCo3UR->>L6%jeOlx4R1in@YV8NHI^imDYQa{{m$vY)b3*l&b{ zeEU=4qgdzLu;FE}GsT`#@QPf?5aw(Bg{gP``DLGO&5Q^xF_XNw7VoL1YIE|>DB7vs zMkyas3KhG}$0oNnMUCx3r7?<&)+`X2*_YOUxt}T-_wudSl+6fV{k&Sgk7Cw{L%+Fjr9!kIJ!ZS+OzmCappsu%zni z>#tt9qT%A=qFT!uu^fLTDMNeDPv0*#|RcUNqHy zJ`DhppR@S-i+-OocdiC9idFO`iYAsQ`Y^LeTz+j?Vi&UT={I7H+` za9Hf(3*tVI0%1CTQP(#zuk6d{mj}OlS4<;C|RDW>X+`JQD^1#7^5+;1p1Gt*#Qgrm#d|9L!Z20IB ze{SwYuCA`iKW4;jBV@qj`01EOkA#5XL&c2EmTHi(#Le=Z$s@H-*=fHw+ZuU!`KNj! zNFgCF&A=_(1m}W#@wqNC+6E#cC@d@q1g^Qcx!|^KhxPUKkpP~|m$05AMQ#+q;8|n8 z+}XK~rD)AV=E!A~{Acm#^7SctDn~Fkxnyztp8%k!YVYVgz40m4;IYUJD1R3Mme@0Y z<705$=T9_o|8Jv-r2V(|fCu-pcYu-O8O*||cB}7f9$jCq z=H}*k3l;?7`F(wTckbMITcUA}|f}j?)dy=?1~~?pf^w07JHW{Pyj^+~EsM z8aY{#eZI`qS=?S;Ubs{f>mX6kr)+aN$QKo~j z)ZD-SGIGOeO&%YsLrO}Q0@lbS0Ba^hMD%@_y^F~|>n1uBX-L$8cD@LD$UIe##{d`W zf-zxVEgM}Kdx$$_3G>eO!T*BLR^I{CE-Wu^^5)H(z-gj7ODTpm0Bk?1>v+RVTT;2I zR?mzGp&mR~Rp2@1)LzQ5n;DwbbU*tPOVQc@K`Og5TatZze8_(3z6A;fySu%;ooXh* z9AihkdePDO(mUnkNO}~bvZyEEk*xr&Kq%ha`9qtxJ1r)n{ zR>Uwa&^UO|ucESY!x9HFL2;*TIV`_+cE%$|FSez`EuK6Xs*{a(P%khu7)>pnPv(rLC+arFTLVg!#>0mX{n*I5 zRFAp}&A?PI*QJ{=Xa=4WZ_zl%>E<6=S~3dJ6THCTwi5p^Z`x1o5}O;p0um>Y6|0KM8w)@Haa5U)UC;t zLTgs8{9b`aS(H&IY4nIBp&|{xB|In6^nnudg^@!Jv9YlM0{zJV&XgSEMl<4p(m8(o_?-rE(*mPKJNuZ7B_t~#5M|&d*rJ{9cl1^fD)Zsg z^$KkHPffqqZ`o3w)pn`-XNSU6c2##`zrO#fZ6)7xLDj?zdwzYr1dH<^mN4+Htk-zf z9-5enbHKer^1t_jLem6T0sFdETwMJ3*qE?{gcfpoO=gRiAtM7!H&zawt;7mw<1R=+ z_aR2iSWj-si*8y!GwV`x9ZQ+J^w@9gkm{R!%FCB7)l8DVb?cU-ZKI4$OF@2J4yfwy zD8sG>1n9WAWuYL}G2;aiL1?cj4HiZ=>8?TeTs2|cQebTA^*aU>r%kPZn3x*I80`fn z#LRQ!h7DNCRKpDGa;$~)Grt|2QEyd^9HSdJgXN!S7xyl|t}tnl*@Ie7_sp3*l(zI^ zuh>a(H90x?acr<1G7Kh;S)+ z{a3+_86WG7m3{RN-e9{LNd5Df1d4{sQCk<*T}gqxAI6@!=$=e zH>s_9RvvqZm+$NA($b3JMG8hqbN7k^VS^G6b$f24g*tORAD>D-|A}9HpWQ)OUk!^6 zc_FpF=o^R&QjUX$OdbZ|X-Ue*xfWEQ!l4(-4lSQAolMxocel4h)phM~?WuZwlkZws zkx6%%cwtpE^;T(8y+*>AzNF13EdX^XTfv;;ZvxF;y${@=;x{=P@(e=u_P*82b;H^S z!N1#e7PPaw+fD|68PqwEixn?Kc*$UZ1CpS=Q zja|baKg5%@4rRP5rEoFE}Km3(Jxa}clR9rH{hDU@YG&f$Q^Y1HUYu3msdG*I>J2;G!?8z zLH0w9ft4zlSWO$rl6`Ie;v~nKHOafq&!P$~cr9=!-1_kjhp(5nL`ETUxDULOPBeDZ zPw;5mA6Rd#Gc`Feg!pBJZAnTMO-;?^%a%nEQYZ8jN*ybFk$KHF@P-=%1cboj6E%uX z3kIKNRa>&^6%%@9-DTFNfy+5Lb=r2^Q}8Z0@gY13lD%0Mc$j1ovkpCw2S^SAD`a5C zi`iy0WTrqQ1>Pl>LUszSa{=*P@}~L1++~9$+;;l|iA;tmVv^v4gO!J@etvmrUb6-i zzLD8e_aWNEP>Of3mfO?Op4?tUGK~$kD?rDA+Fp6lnEEr1NE1^NBhGF9(wtpo z^{CiNULE_g9=> zByS;d^7!$f`V1h8QM_Q41=7)0Bhz7C*^ySXj)T3kCF@iaLaQW5L~uU)p~9wG-9lxA z*sI4nYr#k9mNUmPlfSo%v`;X&mo8loshD~()Ti!8bAE$fhViKSs(s=QH+5Yo|Cah{ z&9)GgT%K2EsYH7=A3i*2yB31_mXK@jSv7Co8jn1yqKeULS78N894VrJ6m`HFG}Zk4 z{lUfgD`X?TZq**iijRw27R@TOb~`=-Q&67n)?8L3QA6Y%Y+PaBQMb_$a}7fs-4 z4D#GkPkjkNgqiyNU~0=J^Ajg@;-?}vp4&GDmr0VA!m3rPNJYWVmmW9A&d!c{G3sz> z?vIG4L^zFqYubMe)y%~`Bc@zrSo5Kb%-@Eh#JN&cTH8_~SUaq( zvT_&5+yjRW=_21mm8LuXZ6<3E7HL!=z1T=EdR90&Bz`P=>%-j|`ws25IeK1e*y3y; zw6&E3z9`DI-F6rn5-joSmlo|odumwTC$$r0j-!K?zCDE!0lyw64@3E6fUqeUc>MUW zgLwC;AO?@L6m&*WDN7609G&Y-KxUtAwYBv|w8BK^p^|>QZNGL>&zGS>6Ll&3P_YJC zw8Uj!$G8llb&S>gIdg9C6ZQZsrby-l(2LdhsA;;Fa`xnC*9IzTyHQ4BijdazZ8Bfd zglJtgN$w*}t{bRe@ovFrz;D^{KFr|BkzM|U4;X8t!Cot6eg5|C5fM(HiF*wH(7-zQ zIeE<_P}}%_zONu3K6&|qiiZ0#r=CMI=y*@jYuyCdQ*0yR@xGx3+~@`3|5Nmd6xn)x~EhX6{1t1%x-UMiy}ab#F11l zNPaGSJ7~L|uiuO0lUDLu`4E|mHu$}qR8LE4_E&&CPSCYj^7rFAR{zvI2lOwr+fVc8 z*8>7-pv2O4in|-W1DmS{IW;i)_3Qn3^SW^#Ky$AuLt2wo+vNSbeFZ>hQ0@dWV0T8Q ze!e?he)3nFW~L!>O%t{4@)ABFEj#lCtG2$-Gs(0KGmdbe-`RFD#ErWqVN>tZ*;sH= zgh>S+sU7D%rLFu~c59m`Q@;MwJdst(gCANiYjbW28E#~gmbqQG3|0EW#Q zXWMZX+yX=tp>^wak?576otW;_sTmcY~C|#sf_xxSlDllJ~m9ZxVh!| z$-fhQ04mb0>nrpok?dgATfc#y|2ssaPX(U2;itc?TDWTK-olCDdyS1e1JzE$({U)- zjG)`I{BVs_*QuGfcW#&%@t$&x$#jGr0qS4^i1knTUf9u1&b7uap{YS90ZQ=(uKzIM zma&g0`2FqPJe!s%RyYldA*GRmat%5# zRIKLb_VqA7a?lK$KG6EVzQIxoNBn)cp>} zQYGpGCkPMJi>@hHzG-AZAPc3ikD7`!V4LZb8o0a2afY(=bRP-QD&T162XBW3f6_|5LhoQi~+PbO~y{w=AV zg2Tq|{{%Me`wmy;QGzb0Xb})8bG1@n6;leJ#0mblH1FR;BlQn`(u7Cy;akPxTTOF@ zxstJJ@*DXgdw#yw*KgjO`d@$b?%h9L1tm)C*&HV06!4XklT+Y|537%3{p7d0$yo%c zC_1m?lMyq{`C2MVsoG{~X_+j>{Pk)xHXhXIOx~-wg-PKB9B1P};>(3v^t}|^;j$It zCRJc}dj4>D>uf7{Yl{Z12~kcynMgW1$xQtLUvviFpnNmdp6%m)VKed1`b2>%Tp?z3 zq)x_%>t#EW9;clnveDJQWTU2&W8B5R} zx3(4ueMByZI~6mFNAu`ws1&gXV}ctuzS5UuiDUf-;YeoR9jGTTOd#?>zc8*GqQtQR z9nu{;)L?zi$zgui(1kZNI%iPrCV=EX(Eadv5H6_J?I?v7`%l7=eZah#JQcj_e8Dr@ zX18;qKz^z;pH+Q~UqFBcstWSic-rnPG7&}kLOk|$b>{-$dm|N^($yL2xv&y{CnAsg zU>yHB<_mwX+v&4sl<%tr_&X92f%JCdZKlxo&}a$6NFV9x64VRKS7Q`)fW>!E`Sm&~ z3J(oL`mY@w9Z#N9j2b{cI>G7~Cg)M(=5J44v`?be_SPqYTu#V;^pNf4FDbvOg&59!qGrH6<&g+M?)`V zj||19V*Ae4EZM5Q;b9%5b#U#7>wdoV)*<)-XZ*G2tN~G3!TI3_XuO0^SXc%5y!7qc zbgM&kPUONkBlUv$OM$ zu2tpv55f_htwo=F$B-%_g3a!7IN<<5D-km6Dfm9pqJhY%sj!Ow}?`^YBgLA$vK3MW}je3s(7&5(d9Vy^KkO?M^SJHYd-9DM=+@^$reO584> zX&tyrrlTjNYECY5;=vRFbdUf}Q%CeP-+E^yQ~rr~FDP}64}?1y_2f8w@xafY8i_hd zM$F(#k-3k&;Z<$}%wKkuMSTE%YT+x{Of9BL)P+w5s~2jQvG#n*MpW6PW#&&Gg}Mui zG9D3WiLw!~{*MyUs*W7Cr<#?O)!1MG1(vni?1LnmD;gj5Yu$YBT@ETxV}0CgE^5?z zYnMMa+pJXd?EAt9FH4w;6IF0Mh2pzqMgXD@F=MEG`h>A^w)x2M{5)u9df{_ zMTS;-009ETe)Zjz)igSRqwwWadX6-0Osr;H&NN(yYf8q5U{pDL&FaCn>kFsNDb806 zf2%Sc{mbTvqIgh;e?5q0D`SQc$U9+|4+8@O##+?&e`t;nOMYZVJNAx@)aO%F32OlG zU5NYdSEx0e%S1Ex2a={C?93Xc?U$5!J+-WA9&4ayh?v{(*DA}gRa*Xad?7*5Z8oitLrBEod<1!upsOdRTIcqX7bS z8Xp0m#Qp|z#g&FoXXy~wi|)KTftcP#hbHtcT+T4xeW(H-(lvVk$O8j$2r+aEsNO}m z-vsNGYxC*YX7{cnTD~dvQ|=B^q(jc!hPP`sId7*9x`cr>ExE@Ok0<>#(G(R`4;@F5gk~DH72fA6{w=;sT$|a^NF5v6e-fzNjUt2xhm)f| z$@IyQvjt;4J4inqgq|f!mOxcdOZCEpMgwxZKEAaxSl2`YOpVo#3B4p8;^2gVSVXE& z1p)JCI4SR7w$x12O_8ec21QFmOn?Q`$1Q;WFdQGmqabG78yqQ|GKMceoF0&4Z%x*m zqOnFI`mHQJDiT^vpR^_*8bUzu6YA{%GMP7j{x-EEDo=rtpw~RDoBN}>V7y-ih$Fs~ zu2u8$+6qaxzSgD1{*l-=9H6+t`@ioQBIZ4ar6r>KLPhi=;Rwi;QV9{+GRnKt?FkS~ zN0F;~BWSOoW{=)r+0!-}88`W*wrtsg-V5C{rlz8nJ&<1Y?HJjz6h@%IYI}GUtRU%P zr*g?U#bN2hlBPY3khGt`{otPgks-d{>(QYH$;dh|sBHpqjYwAk*17xBK`1RGAIwt@ zSpd11TgqD9%q)_4DnNvMN2f)+jwtL#E*pnL4Ksoe2|SEeA15FBck)cdt-r}L7kquK z5IX{+0ch}g>h)Y9H6Gimj0H+M8+3BNJ!L95|7X>vvS+IRHw;UY6JuR4(-M}}879w| z=xCDDU}{uHp}B$Ml03wsO=;m)?SHqJ&8B%W6v#A`T`pZPkCJW-5NfIb8YHm;@1ii% z?wt7Nwg{L{xz?S7BN5##ksHI^o+rN}9R=t_QhgwA40EkPj8)uKY(8Q()jXQD#bekS zRs6eTRje+umbV-$vA`<=3tNtG=L{{Uf$jmZAl+lc7G@(FwloP9C*IvPceN}9^#a4^ zH7*YYNFcT7Kl1N@PLPgv1MAw7mKIa#X16GGfy5ykY?7C6w)HIZniy<7zbFCk{pDyc ze39;h-`9asC*I+}Ql2~Os+<3;m%9dXC^^=zUyrT>DRd2x*v3yV7nMrY{-g|x#vm%{ z5Vsk^)O*r)QX#x(2r%3D^&=7%4f_+-@ z{TgWS|EsQunwr0jay98URK2q`=B?De-quq{5<=Y_KVR{RJAQpdyzU~pU-_q?V#I5% z4yON?eGoRGZ>ugq6$o*CTlM$fETd9>Bbpy2Xb?YX)pZmMiUE@!uqn~#-!wIBQNF0< zme@=z6`MCd`PTe;3NyMT1XgstqyotK@q{Fnkf_R1wJx8!b~PbsT7s*Rq`R{RSnWgY z#jow=b^Y%B*vPoIZ{G^p=+;m@;B%V6%Id%QMP=n-P!NZMhY#!TYq_41Vi!Cr18J}% zV0GdHuhBOe=E0qRl+}pjqinvcAmnT|rv2#~IQB$OMEg_nu$63vh;c11bBa|P-9|-XRAtqODSh;~3$R%xSEnQVa4j~EoLv~BpK)GKzG#v@biD76bRNuD}VR3 ztiS)VBd>3)E9uX1?n*a%c~!Fk*(&Wt!xNo-r$gm-j`tN4+b};8sF18|&hCjG=$~~~ z{}E-q^~^7OzRSe*4>nk%M+!2zLN4FSkm`Kap7ogPSKL*uZFX zebB%NmgKy1`wg=~6+&9jjT;fLR$HPRaQ}AaBx#4hOSD5t@m9CE{?C@sZQS>A z7wN6?UE{u=XjdOT)Q%2y(Y+={mo^XslEQf3d9Wmj=_w!#u#R5U^+I3scZSC8Vgpq; zf;$wg_-mQx0wm=2_IbTsh_LSPi@@zB4na)RApNziCqgyR{J0;! zB5h273c@lnS>W*6t94DQLAeZq$=n}UFga>P%uq2I;_mt?pmzxKjYk&*`41dX36b}z zO(il**v`|MXhPyhP869c%=cInkWetCF!{-c`{~?uH|D5PSS)?ku64MXXta0L%!K(@ z=g=NkCnOz+=e*s!cV@z=l5$#-1)YNvmVc}p&fE)H6|QbUZzZ0+J1+1&!C zyuH6>`Yz1AQD)*G_2Jc9_LHs(9`e06ZiUs?dWlWuF^SsOr`5l98PsYlKdFVO-xNDN-s zAd;isQ3B#k#v=PwS+wN3+IeED5N`v)H$Z5lJryfj1Eo-oOLqb~LDUF^05&JgwOKHp z#^vh~{friH6x!_85DdF{%MA9|%2lsrDZf^EGmE}+SC-hz@B}ELC*T7n zWyW-)x|{zJ`@W;IEsW<#l98}2Lr*}`@`nQWv(J&GW|<8eFrp;?F}vmoa$gGN#0kGv z8FaU)c?y60{Z(MQ2w)_-`@*n-w0fx7)ri}VzO*~*n{&Q zq;nLzS|<%pPB4kSXX{@KyoY==10}S=`nTB2l*QHwGkKtGov4#t{PlJKp-0!Q1a<8Z zHwrp_@e?!3ukbOu`<+Z;_Z;>0#YM+Yo-FHhngvIw{5N|Uu$rsCZzbPY)P+0Y9R>#n zqwUH&g2B?dXKbWb*W7$Vlr*`3EsTp#hM(YPAwj{PuA-DPaambJk!{3k7bUL?q7pc+pcn6_$FCd4C)0RXd+XM%PEf17YuJiZ-iOO2qL2xUpT5E* zjKx=r!$C_+%K}xFkg)K8t|}$3=(9aJ<${BQW10s&XOhq2YiMa152LWQfdQk-o#M6& ze?{w=kZ}i^c8n@iPP?U~L7? zVZNAjHPv}C(F5yz`HBA*E)sQgxYf>MRWE%0d^fo%!u;kne9Y#7j|P(4TkQuH$bySX zM!g^m`&s=(mN;W7^$N;{SR4t`wq=@DPBKnoWtVpScr;aSIR{6~?b|EcYOvewoLJHi zU?vGAj{**4OaKA|elXxSW~pvz9z{V$ zVxfR5+M1e?fq_fmSWS$M-V0+;^^Aqm)88HUzKg{-c78ECMO8VDxgnefEQ?O91Eu?U z4*YBo2|kZ=O%oH8U%U55FnjhfwPMp$3+2dPj{l;;KP2ye9XtMLN=1X8M$^*JckHLV*uEFKOS9 zR$H`I5d}8d2NL1Z>%t)eC2i9u&=>@sn9b93q}VJq4&I5Y*RSg$(Cc1h{rD7buM>Sa zvS)rhF-lIzWIxB$rbKt$VrBnuBnp-gMr{i3vsoVxK+?B@&`zX@tMMSh_Tlw7}u61qt(gu6zZr3iStV zyUW%wc{d*m`=ZZl=%?On2qiinGTE@@QOes5kdv^V65`@+ys%)7Z?ZbVr+Bq3nj48X z!2G~G9|NcpI@r}{9=XH6d-@{Ba^^+T_6BVWi#XGHtVh()WC9ybEnEux(`^8K*Kb^s zAnG@;+ny|z)=0NPvWOPX8Jfk@Gn1GglVI`qohU#NK%2o1;xk1NSh8s|xvDQl7JW@u zgN?DR*MPznkB#WuS+U`xIr;D$v+5ZERaI5AmW&xbnG1kyIj>!u_Wz%WM0XnSsu0A4 z#dKVW4aoqd6;Vb$xH#Gm-V=N^oCUa}M-UzGO- z=i1N>NRMlZt36)31S140Kw|Z$IBrjg@mXvJPEHcFOs9Fuwi)b7c9g!*2NOR|{<-Z9 zu)1+^aY)M%9G$RNP4BwJ$9Fdlw8Hbpif(|K=M!GVvP{7=?T8%lcZTPr>Tsvp$-*){!hmSNg z%|0@*zPsVc+vvZ0X*kn6GoehjGzg_$;>^6c} zn}N~DK-2<{UNQwAbJB;LXM-iR)EYxQY6(NJzq|iSvxnDb35ko_X?ZZG>8+0-b0bpz zKTL)HybcCV6Nt^_e2f3u%ZllpO}<@mvl$yRjQ#(+yhSiOV$`P%-SVAlw{NfC*s-sY zf5V2EIc$o7a0m#!aqX2OqcI50DCjxzCUAp4tq^uD7?-m&Qd0Fq2Fn#ear)DkjeI_< zHt!<}6zYzDQAzwKukSx9No+iu&Z7Jqv_dTCELQepe&c_=AL-wH_)uwsL#PG=TLt%+ zGoy+M)tSgppno2cc5V*u;m3t!%jJSXRF12=4AM^R-4TTAT-}~@A0Tp3gFto z&sC!+r=@oTtbv<}6+HZCe;}~#P-x-!KFCiahWXFL&`Az^{HcgCi_L#~cFtw?2p_^(PI2h{ZaVd9_2`eZ4~#Q5P%qG;U@dj;rygn@as&pBk2?Tk-=3rt z)B#oCiU_ktiU_HDs>tl%H1C_hoF*_OLe515p2X+DVQJ~<=~?AM*CUM`x#>G$0d)@F zwr<_Snt^Ki02TBFtV8}|5J!|0dK%D4W@=@+Ze53XHgS;RbT6O~U)+XN72xfu(LYzunNxbz{j1t>9q$EMpw&^{YWF74}_M3U;x(B5_d4jb+Mt>_SB{B!JJ(O z%!A2T!b+)wAiGi-0 zn@zSUIvzdn=aCK?bSgbURfv|)L*8QzE$K&|%{b+?+42()1j8uGyBM}?XC6IoqO$mKD3@n+HAts>vs7aY+m^ zL#*E}-dBr7r0Bes{P_u_j{0sFzQ(wB(D@``Zsp?LFFpwIm{<;SEo|tkaD>>Y@s_E{ z%o-`w5Q#3{0Q&Td2C%ZJZI?Svd&YofbBAZt>H_x)=zqHOnJ4pOAON95&D-C;_^`Qo z48ja}QYB)SmW0g&VgWrM;AaUvG(0?c2Rx^dwG|Ml2YnUBccB6ajQ;rXBbN=V4ibpP z2E_{xfm(sWojC}S&^X}LzA!QP^qw{9Kd8R>4QP3*{klDYZlIU=V)CnFvD$PS0$ zogqhd9ec4GgTU!P-R>WPVUosMAuKqK4kb-sIHWL=?#U&U1;M* zWv~h#5!I3i=NA|h5>gZWpc5R$)__8|D-0TbG-e;xtX7iqP(V2Ob! zW8Q(x4`i&qvyMuh6jzakHe;81bIEX1oB;H5-BY|MgB+*$9vu8dvw`n53UL@MMN}LG zXmrb4?899#a{LKt(6m7re3+^orG%5&43d&^O{lQBn%!bpF2JtDfoX((zANY9Lhm3g zLQu$v!JOT95B8-tA~p!vJcIM^PE?X7BHnB_5gbWDj+P;tadNCzC1KunVzLSe(di!X z1XEA?bjS&T{N%_y$x(|QdM1PrPlS}fgyb0FzD65|DP0N#P8CcBgyt6(6pa5A#D56$ zR0HjYU;85WA-SO-avoOFI}TkVa=ryIt`l|_Ntm>Sp>Zp##*s98E2>nkSF(2#+q7!U znjZQ<0GDJ!&7#}kq&vPX3sqcm28qvzjHXsu>$Ful>~p&_8fX`|!?Cj@&0bt~A4@EQ zB7;(wFP>36gyfJYH-!_Bs0pJ-?gs@OKNDrzknV>LFqOa@bV0PDKYj>Ht#*!dBc8h& zsD~O@)=rMh%x|7Lc3nqHAO~7I(ypO-@JYum+AGl9s4J+bHNU)CLLhiX9`ZF)eoW=v8G{bFW%e z|JZ<$I}D}Iu+0r?ZiQT}zjU)+hhunGN>#?%q*zdkZ5^fW-sM{`iH?t&>6d+q9XkSW z508m)a#AM_FUDaoN35$mvtumx7(Y(hu@mR*O4iiJeZZr0HI7_N&g(zWRyV+Eee~$V zCFy?PL;@wO>o!xhtxmd$_58*`a4TP-37zI3`mA)Dn^nRi6OWVc?{5icDl8m*@#0*^w=p4?CTY#XHx4s8qxRnlVuya4#``@ z=8b_Ej3Vtr-TOh1-0ynIk^or(`F)Eujv4!XI)f%C)gED-mP$^j(2|rqf#?(Xe)dXo zmRiACuq=|Cc{^d6CiAvEOpR|pnk6!IT~jQ(^GObp11OxwP58D9thsrIL0Xd=ff&TEk7r(17$E|L@$#6 zrHEFH?9_~AHG z_Wza6hcz@FlAbQKag(@5$^#IxU?<3#Ahpjg&gWRFIr5+%QPN*h7DhEuSXxqdDfo79 ziISK8v4VbipHfW1y5FP(Ac7iRJ;-fQ9PWTt7NX2c09y}rRw~17uKnluAFzl-rWl3d z1_oHuhJQCk?cWAlO#&5&ckklw?a;fgdz>A8x9nRM5GoN>d2m7M*2%d#6Cg#=h|U+@XpqKsCx)c znvTkm#(NokVJ*>l?6@*hr zZlb262 zz%Jp`zGz4u9GslQX2EPotR;s=qEA6bO)Wsz>r$wRI~7xq_Vb|==_Y0uSV7VwF~gy| zTVO~M)&z1QI>=~1CUQL8&tDgjcAeUTbxGGF0;)D?VDH3YwD~9%O}}#edM)tQ2JMN) za6XI19rSdi=A7aGQQMUV!+D1BZxQRNqs@r0blXgg#E}Y%PFu7{&_qWa>99pdCbmeO z)2vWJM(Ik5bP^_|n-Gz%YbX&%GaI@ZQAaazR7D(1aFj#&W1?SD1Au$gL-xN?^oHmYsf`o z2QS4T7`~Alj12T5XY%v3b#(*KxFnbgkY6->Q0Ri)_aLHvLr`wSxgb%YntCstLDUJs>I z7!c(jyHf7=%!F8sJ#YALVQO{sk4cAc{C3{frm9}n1$FR<%s?C$WPmT%O-j& zsn}711!4S2{0O2x;2j8ufTt93K9C^iQMkpeHfd9+KRLh-{%(L#Av`4EGRwuVihxop z!{=l=dM_uD?|y!Z&@OVz*0x&~6Vdc18tRcYZO#{>n0v^ktB#_aGo+oQZ21_2m$e3) zx{1ex3LkCW8W70S=Pqn#Y_C!N!G|zUUQDRBD7P_-ZWRyWNGn{xWqELK{U?_|m1PP>_lUm8_|CDvy z-YeUH=iYOpIqtS*zN}T*(9@WB$CoINzXYXlRr6GF=yy2v?8agE37RXwf=c&c^@*qG zwTlsm2W_4ZNEQ}m2W$j|GVl*CfXFw=tOs?KAf_ig<8Ab+e&4^-tyWIArM;`TED?nf z;ReR!lmo*K-t4aSS~%WqjQG1YpMo74i!4lT+#}8&wDzdU)bRX);InA|P`78Qgii(9 zg$I5;=9Vz!>7K_id^A?>{BZ_bTsUWo$3Go$VZx`sWbgFOKwTFfh-^42dGEhLB3@mkuMTc<8qW8DjK!;v{BU`MuS}>OT z@hvj;^~rb*mC~vvS235|YBywssmDnSi6B$7qVdH{Hs?(#3M*@zDt?s#FE4yfF>p_+ z38mFq!8TM~sGIzukWC9QVUpegz6pZL_M)nJ+iaEA$xYxg5ue00Us_sfosw9meYBZb zj&Bi;wjHj6yC(nZ2)bSF5st9v>&xNc1`hyGg~8zTN(X}$Xl)I%pM2o5Zy2#x)+(`N zuk67pR3YTF0&W-s@V*7VL$pk|M0JRdv)6X#|0g0ZO2N>GTwS0{G08V#*>EE5Gv-7b z(8n$StA_N!%{b!3<+@CIFzOeiR+8mmIiQQ{<>k`xD=KU^j=!Ap&1^v**8&J&!|$;$ zBrobc_$>fFj0qvvaBkxcc-s|y0Jav!kN#i+pv)j}9$(R!UzuHHqx$r<4M_g3Ckx4+ zt#}5>%XunDzW7AAI-AEBCR|IKJua|--VKAk{{dkdf2z(gt3TaX(H)5^F+N^?p0)2s GWc>p%?o9Lm diff --git a/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_1080x2160/viewPixelCopy/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/nested-builders.png b/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_1080x2160/viewPixelCopy/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/nested-builders.png deleted file mode 100644 index f0ace91e8322386f9718b679ff7d10d47c6f8d53..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18764 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 B1^WO1 diff --git a/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_1080x2160/viewPixelCopy/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/non-unique-matched-selectors.png b/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_1080x2160/viewPixelCopy/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/non-unique-matched-selectors.png deleted file mode 100644 index 28247887e0f5677967f41908795b0f4d36d14317..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3182 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 A#Q*>R diff --git a/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_1080x2160/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step0.png b/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_1080x2160/viewRender/com.yandex.div.Div2InteractiveScreenshotTest/div-container/item_builder/step0.png deleted file mode 100644 index 20416a9f0e97dad81f2033e12478cbba51b434ae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20344 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 TG?{Sj7XVSzP^fri{_%eS9@bS0 diff --git a/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_1080x2160/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/non-unique-matched-selectors.png b/client/android/divkit-demo-app/src/screenshotTest/screenshots/API28_XHDPI_1080x2160/viewRender/com.yandex.div.Div2ScreenshotTest/div-container/item_builder/non-unique-matched-selectors.png deleted file mode 100644 index 5e04cee5d48c78a1a917b8920058bea92c85a7ea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1987 zcmaJ?dr%VS76&m&lT1r3Q+t?OY3gWdn3&nsHRPcMn<*))WlDrvgqawEmalx|nqo@V z9;BvbScs2YV7t^NwpMCk_@a!I^0D~DkXUi%&fLH5H)p=@oB7T;bI$pl-}!Pv(18#m zDy= zFE&Eu!oU}vwB9MI%(Q2mab8~g&P~h7GKcgs*rmu`Pj>}8=eD`#Ey&%$44xgQ@AzyE zATY;p?{LI94Lbw7GvfNfGfEp?S%h6ykC2^*pMLv&fjXr*(Dgh1Z}|_}0&Avqbb$J! zb##dAeE7E=@c$zz@B7xwS}pP9Vish{T4m2UlTLXT=cL~NNCFn>f$7&U<&xt%d-oX& z<1m_SV$kHi_)t9;ARi2KXN=_c)N^BOIW~RRK7kvPwmotr%uAqCXB&17$y(y1<_{V( zYDT=PB8p7QN_g$A??#kZ<|yDALyoC^UDMTB&%*1%>()0`8)TtVT~Pft!iZLlw){}U zO59fA%ze<(H~5N^gm~?m9)1E_TM16x(83(4_JUdV=`F2;u3oxThUVC`Y=C;maj3cS zt-+9*5h{j%aea@IGw=)DSFaF&2RrZDE#X4gyaac%$aj61&o5IN2Rvk6CB)02uUCA{6s5%x_&mIc$(H$W&4Dd-)WpnUNbjA zBL->D$Kxe@ZW$EpBlEmFfyic*UZW3Ja}hXhunu2rlr_lOM|N5)`L03+3GO^sW^R&= z0YgJSFD3^Gyqh1vH#Z;^YA9cGvu8~3A*B71O>b#KW2kA5|D@dk<^GqPmHeNITDRWc z!cMJy9g6v0K~}fT-*+4{!8$qYp6R;5uiIXw%m2aEv-EqD&5a?a-~2U&nZ-}JNLkb4 z;GwncxBYCgHpx^@9M1OFirM~ir==1$WEg(Qx$bb5YUzxL>U5O$HqUtd)BGqf^z=uo zi#bmKDvJ2Yo$I{xI0>+zvY@xg<+8UX4IXf_WVdD`8nc2f`o-nF6k`=GK#Gq3*dYP> z>J_ZpcVi#O^88Z1eAfU37EzR>uL}FFetwnP=EqK`0?WnKGY^uSH<3=9{_(o7g=r>)5vzP`C_45 zwArW`7z`LS`(`x&TB4U_x;hk^9QOT<7t`Y>W*yQRYKlD;A9FtmJGjxo-Rwu_aA9eD zYp7jw8b*2ywTaNrjO^tc(6R^9YgcG^O8V$OTR?mS%nxtaZq%|?wO6@8^DjHt`)Q!! z!)#8Pd)|VtELbrWqx1Tw)eD=8q!X)vt4+N&43Q5LGoB8{x#Dse(gICOj-+G4A;!J0%3F`84*dtUw z6(?HuP1v;HG5HBcph8?MkJB9=5(>U2JMR?FSTrLRNHM7Xo z9+NF9R77yEt9tr5NOU2`WF5xdf}KL!BgtHY<3$-N=lu(RM3-Od{y`C;;$51mlkI$K zoFYzE2Be11(`2mjw%ANfu6WOh5jWDOv-gGrQ-qd|)07EBCmsJr5Saj{ln1kVJcQLX zX+-~(26)2;LmN6voYb1kSm&;mh8@FvAmvqjP_t?9o4SI9KMuA2M51pDc^RMANuy%w z@BTzmm{AeVn(shLmU3+(@~ah-us)WwZMZErH9~DBbj)^n*?X%H7ye(Gc7v<|qrghL zAuJTR=W8I6CCl6}t<3T< q7+9NXs2W^7g3vwxuUs%&^cCKB_4o3x41foq{TmMbn*I-L%F#ps diff --git a/schema/div-collection-item-builder.json b/schema/div-collection-item-builder.json index e8325f581..15dac37ca 100644 --- a/schema/div-collection-item-builder.json +++ b/schema/div-collection-item-builder.json @@ -1,15 +1,4 @@ { - "codegen": { - "kotlin": { - "additional_fields": [ - { - "name": "result", - "type": "List?", - "default_value": "null" - } - ] - } - }, "type": "object", "properties": { "data_element_name": { diff --git a/schema/div-container.json b/schema/div-container.json index 7422ac035..a851a3c67 100644 --- a/schema/div-container.json +++ b/schema/div-container.json @@ -30,6 +30,11 @@ "swift": { "generate_optional_arguments": false }, + "kotlin": { + "properties_to_patch": [ + "items" + ] + }, "typescript": { "union_interfaces": [ { @@ -135,7 +140,11 @@ }, "item_builder": { "$ref": "div-collection-item-builder.json", - "$description": "translations.json#/div_collection_item_builder" + "$description": "translations.json#/div_collection_item_builder", + "platforms": [ + "ios", + "web" + ] }, "aspect": { "$ref": "div-aspect.json", diff --git a/schema/div-gallery.json b/schema/div-gallery.json index c2b1cb68b..56963db99 100644 --- a/schema/div-gallery.json +++ b/schema/div-gallery.json @@ -4,6 +4,11 @@ "codegen": { "swift": { "generate_optional_arguments": false + }, + "kotlin": { + "properties_to_patch": [ + "items" + ] } }, "allOf": [ diff --git a/schema/div-grid.json b/schema/div-grid.json index 5b5110327..ce11f8362 100644 --- a/schema/div-grid.json +++ b/schema/div-grid.json @@ -4,6 +4,11 @@ "codegen": { "swift": { "generate_optional_arguments": false + }, + "kotlin": { + "properties_to_patch": [ + "items" + ] } }, "allOf": [ diff --git a/schema/div-pager.json b/schema/div-pager.json index b25ff5359..f4c03995c 100644 --- a/schema/div-pager.json +++ b/schema/div-pager.json @@ -4,6 +4,11 @@ "codegen": { "swift": { "generate_optional_arguments": false + }, + "kotlin": { + "properties_to_patch": [ + "items" + ] } }, "allOf": [ diff --git a/schema/div-state.json b/schema/div-state.json index 0445613c4..3e0710f7c 100644 --- a/schema/div-state.json +++ b/schema/div-state.json @@ -4,6 +4,11 @@ "codegen": { "swift": { "generate_optional_arguments": false + }, + "kotlin": { + "properties_to_patch": [ + "states" + ] } }, "definitions": { diff --git a/schema/div-tabs.json b/schema/div-tabs.json index 295332865..327ee4add 100644 --- a/schema/div-tabs.json +++ b/schema/div-tabs.json @@ -4,6 +4,11 @@ "codegen": { "swift": { "generate_optional_arguments": false + }, + "kotlin": { + "properties_to_patch": [ + "items" + ] } }, "definitions": { diff --git a/test_data/interactive_snapshot_test_data/div-container/item_builder.json b/test_data/interactive_snapshot_test_data/div-container/item_builder.json index 5c4b01b09..d02ba7ef5 100644 --- a/test_data/interactive_snapshot_test_data/div-container/item_builder.json +++ b/test_data/interactive_snapshot_test_data/div-container/item_builder.json @@ -1,7 +1,6 @@ { "description": "Container with item_builder.", "platforms": [ - "android", "ios", "web" ], diff --git a/test_data/snapshot_test_data/div-container/item_builder/item-builder.json b/test_data/snapshot_test_data/div-container/item_builder/item-builder.json index bfa2cef57..2c0d07d69 100644 --- a/test_data/snapshot_test_data/div-container/item_builder/item-builder.json +++ b/test_data/snapshot_test_data/div-container/item_builder/item-builder.json @@ -1,7 +1,6 @@ { "description": "Container with item_builder.", "platforms": [ - "android", "ios", "web" ], diff --git a/test_data/snapshot_test_data/div-container/item_builder/nested-builders.json b/test_data/snapshot_test_data/div-container/item_builder/nested-builders.json index cbab9bb6d..87bcbde37 100644 --- a/test_data/snapshot_test_data/div-container/item_builder/nested-builders.json +++ b/test_data/snapshot_test_data/div-container/item_builder/nested-builders.json @@ -1,7 +1,6 @@ { "description": "Inner data_element_name should override outer one.", "platforms": [ - "android", "ios", "web" ], diff --git a/test_data/snapshot_test_data/div-container/item_builder/non-unique-matched-selectors.json b/test_data/snapshot_test_data/div-container/item_builder/non-unique-matched-selectors.json index ae1544072..ac79f168b 100644 --- a/test_data/snapshot_test_data/div-container/item_builder/non-unique-matched-selectors.json +++ b/test_data/snapshot_test_data/div-container/item_builder/non-unique-matched-selectors.json @@ -1,7 +1,6 @@ { "description": "Only the first matched selector should be used. Zero matched selectors means no error.", "platforms": [ - "android", "ios", "web" ], diff --git a/test_data/test_schema/entity_with_array.json b/test_data/test_schema/entity_with_array.json index 8e8523a60..c0e7df0c6 100644 --- a/test_data/test_schema/entity_with_array.json +++ b/test_data/test_schema/entity_with_array.json @@ -5,6 +5,13 @@ "ios", "web" ], + "codegen": { + "kotlin": { + "properties_to_patch": [ + "array" + ] + } + }, "properties": { "type": { "type": "string", diff --git a/test_data/test_schema/entity_with_array_of_enums.json b/test_data/test_schema/entity_with_array_of_enums.json index c1ca71f34..589968083 100644 --- a/test_data/test_schema/entity_with_array_of_enums.json +++ b/test_data/test_schema/entity_with_array_of_enums.json @@ -1,5 +1,12 @@ { "type": "object", + "codegen": { + "kotlin": { + "properties_to_patch": [ + "items" + ] + } + }, "properties": { "type": { "type": "string", diff --git a/test_data/test_schema/entity_with_array_of_nested_items.json b/test_data/test_schema/entity_with_array_of_nested_items.json index 7e7576192..1bd7b3c58 100644 --- a/test_data/test_schema/entity_with_array_of_nested_items.json +++ b/test_data/test_schema/entity_with_array_of_nested_items.json @@ -1,5 +1,12 @@ { "type": "object", + "codegen": { + "kotlin": { + "properties_to_patch": [ + "items" + ] + } + }, "definitions": { "item": { "type": "object",