From 94812b2b2c035996bcbf4b1e72a2e7b419908a28 Mon Sep 17 00:00:00 2001 From: Ari Archer Date: Tue, 23 Jan 2024 19:07:56 +0200 Subject: [PATCH] [docx] split commit for file 1600 Signed-off-by: Ari Archer --- ...etypieStaticEntitiesCacheClientModule.docx | Bin 0 -> 37589 bytes ...typieStaticEntitiesCacheClientModule.scala | 70 --- .../com/twitter/home_mixer/param/BUILD.bazel | 9 - .../com/twitter/home_mixer/param/BUILD.docx | Bin 0 -> 36788 bytes .../param/GlobalParamConfigModule.docx | Bin 0 -> 36822 bytes .../param/GlobalParamConfigModule.scala | 10 - .../param/HomeGlobalParamConfig.docx | Bin 0 -> 37180 bytes .../param/HomeGlobalParamConfig.scala | 34 -- .../home_mixer/param/HomeGlobalParams.docx | Bin 0 -> 37553 bytes .../home_mixer/param/HomeGlobalParams.scala | 86 ---- .../home_mixer/param/HomeMixerFlagName.docx | Bin 0 -> 36933 bytes .../home_mixer/param/HomeMixerFlagName.scala | 13 - .../param/HomeMixerInjectionNames.docx | Bin 0 -> 37339 bytes .../param/HomeMixerInjectionNames.scala | 46 -- .../home_mixer/param/decider/BUILD.bazel | 10 - .../home_mixer/param/decider/BUILD.docx | Bin 0 -> 36777 bytes .../home_mixer/param/decider/DeciderKey.docx | Bin 0 -> 37188 bytes .../home_mixer/param/decider/DeciderKey.scala | 52 -- .../twitter/home_mixer/product/BUILD.bazel | 28 -- .../com/twitter/home_mixer/product/BUILD.docx | Bin 0 -> 36997 bytes .../product/HomeMixerProductModule.docx | Bin 0 -> 36815 bytes .../product/HomeMixerProductModule.scala | 11 - .../HomeProductPipelineRegistryConfig.docx | Bin 0 -> 37166 bytes .../HomeProductPipelineRegistryConfig.scala | 60 --- .../home_mixer/product/following/BUILD.bazel | 95 ---- .../home_mixer/product/following/BUILD.docx | Bin 0 -> 37690 bytes .../FollowingAdsCandidatePipelineBuilder.docx | Bin 0 -> 38129 bytes ...FollowingAdsCandidatePipelineBuilder.scala | 108 ----- ...owingEarlybirdCandidatePipelineConfig.docx | Bin 0 -> 37326 bytes ...wingEarlybirdCandidatePipelineConfig.scala | 54 --- .../FollowingEarlybirdQueryTransformer.docx | Bin 0 -> 38114 bytes .../FollowingEarlybirdQueryTransformer.scala | 84 ---- ...ngEarlybirdResponseFeatureTransformer.docx | Bin 0 -> 37179 bytes ...gEarlybirdResponseFeatureTransformer.scala | 38 -- .../FollowingMixerPipelineConfig.docx | Bin 0 -> 40098 bytes .../FollowingMixerPipelineConfig.scala | 299 ------------ .../FollowingProductPipelineConfig.docx | Bin 0 -> 38390 bytes .../FollowingProductPipelineConfig.scala | 131 ----- ...oFollowCandidatePipelineConfigBuilder.docx | Bin 0 -> 37578 bytes ...FollowCandidatePipelineConfigBuilder.scala | 65 --- .../product/following/model/BUILD.bazel | 22 - .../product/following/model/BUILD.docx | Bin 0 -> 36944 bytes .../following/model/FollowingQuery.docx | Bin 0 -> 37476 bytes .../following/model/FollowingQuery.scala | 51 -- .../model/HomeMixerExternalStrings.docx | Bin 0 -> 37393 bytes .../model/HomeMixerExternalStrings.scala | 87 ---- .../product/following/param/BUILD.bazel | 14 - .../product/following/param/BUILD.docx | Bin 0 -> 36914 bytes .../following/param/FollowingParam.docx | Bin 0 -> 37368 bytes .../following/param/FollowingParam.scala | 85 ---- .../following/param/FollowingParamConfig.docx | Bin 0 -> 37078 bytes .../param/FollowingParamConfig.scala | 34 -- .../home_mixer/product/for_you/BUILD.bazel | 101 ---- .../home_mixer/product/for_you/BUILD.docx | Bin 0 -> 37698 bytes .../ForYouAdsCandidatePipelineBuilder.docx | Bin 0 -> 37956 bytes .../ForYouAdsCandidatePipelineBuilder.scala | 94 ---- ...uAdsDependentCandidatePipelineBuilder.docx | Bin 0 -> 38130 bytes ...AdsDependentCandidatePipelineBuilder.scala | 111 ----- ...rsationServiceCandidatePipelineConfig.docx | Bin 0 -> 38189 bytes ...sationServiceCandidatePipelineConfig.scala | 138 ------ .../for_you/ForYouProductPipelineConfig.docx | Bin 0 -> 38439 bytes .../for_you/ForYouProductPipelineConfig.scala | 142 ------ .../ForYouPushToHomeMixerPipelineConfig.docx | Bin 0 -> 37612 bytes .../ForYouPushToHomeMixerPipelineConfig.scala | 74 --- ...ushToHomeTweetCandidatePipelineConfig.docx | Bin 0 -> 37564 bytes ...shToHomeTweetCandidatePipelineConfig.scala | 81 ---- ...ouScoredTweetsCandidatePipelineConfig.docx | Bin 0 -> 38437 bytes ...uScoredTweetsCandidatePipelineConfig.scala | 155 ------ ...ForYouScoredTweetsMixerPipelineConfig.docx | Bin 0 -> 40551 bytes ...orYouScoredTweetsMixerPipelineConfig.scala | 376 -------------- ...coredTweetsResponseFeatureTransformer.docx | Bin 0 -> 37839 bytes ...oredTweetsResponseFeatureTransformer.scala | 103 ---- ...TimelineScorerCandidatePipelineConfig.docx | Bin 0 -> 39331 bytes ...imelineScorerCandidatePipelineConfig.scala | 241 --------- ...rYouTimelineScorerMixerPipelineConfig.docx | Bin 0 -> 40910 bytes ...YouTimelineScorerMixerPipelineConfig.scala | 403 --------------- ...elineScorerResponseFeatureTransformer.docx | Bin 0 -> 39184 bytes ...lineScorerResponseFeatureTransformer.scala | 199 -------- ...uTweetPreviewsCandidatePipelineConfig.docx | Bin 0 -> 38350 bytes ...TweetPreviewsCandidatePipelineConfig.scala | 143 ------ ...oFollowCandidatePipelineConfigBuilder.docx | Bin 0 -> 37456 bytes ...FollowCandidatePipelineConfigBuilder.scala | 56 --- ...bscribeCandidatePipelineConfigBuilder.docx | Bin 0 -> 37407 bytes ...scribeCandidatePipelineConfigBuilder.scala | 52 -- .../for_you/candidate_source/BUILD.bazel | 24 - .../for_you/candidate_source/BUILD.docx | Bin 0 -> 37020 bytes .../ScoredTweetsProductCandidateSource.docx | Bin 0 -> 38803 bytes .../ScoredTweetsProductCandidateSource.scala | 174 ------- .../AuthorEnabledPreviewsFeatureHydrator.docx | Bin 0 -> 37681 bytes ...AuthorEnabledPreviewsFeatureHydrator.scala | 72 --- .../for_you/feature_hydrator/BUILD.bazel | 28 -- .../for_you/feature_hydrator/BUILD.docx | Bin 0 -> 37093 bytes .../FocalTweetFeatureHydrator.docx | Bin 0 -> 37734 bytes .../FocalTweetFeatureHydrator.scala | 84 ---- ...lineServiceTweetsQueryFeatureHydrator.docx | Bin 0 -> 37533 bytes ...ineServiceTweetsQueryFeatureHydrator.scala | 62 --- ...viewTweetypieCandidateFeatureHydrator.docx | Bin 0 -> 37634 bytes ...iewTweetypieCandidateFeatureHydrator.scala | 72 --- .../product/for_you/filter/BUILD.bazel | 15 - .../product/for_you/filter/BUILD.docx | Bin 0 -> 36904 bytes .../for_you/filter/SocialContextFilter.docx | Bin 0 -> 37706 bytes .../for_you/filter/SocialContextFilter.scala | 76 --- .../filter/TweetPreviewTextFilter.docx | Bin 0 -> 37263 bytes .../filter/TweetPreviewTextFilter.scala | 44 -- .../functional_component/gate/BUILD.bazel | 13 - .../functional_component/gate/BUILD.docx | Bin 0 -> 36855 bytes .../gate/PushToHomeRequestGate.docx | Bin 0 -> 36957 bytes .../gate/PushToHomeRequestGate.scala | 16 - .../product/for_you/model/BUILD.bazel | 21 - .../product/for_you/model/BUILD.docx | Bin 0 -> 36916 bytes .../product/for_you/model/ForYouQuery.docx | Bin 0 -> 37485 bytes .../product/for_you/model/ForYouQuery.scala | 52 -- .../for_you/model/ForYouTweetsResponse.docx | Bin 0 -> 36752 bytes .../for_you/model/ForYouTweetsResponse.scala | 5 - .../product/for_you/param/BUILD.bazel | 14 - .../product/for_you/param/BUILD.docx | Bin 0 -> 36914 bytes .../product/for_you/param/ForYouParam.docx | Bin 0 -> 38002 bytes .../product/for_you/param/ForYouParam.scala | 215 -------- .../for_you/param/ForYouParamConfig.docx | Bin 0 -> 37297 bytes .../for_you/param/ForYouParamConfig.scala | 60 --- .../for_you/query_transformer/BUILD.bazel | 16 - .../for_you/query_transformer/BUILD.docx | Bin 0 -> 36949 bytes .../TweetPreviewsQueryTransformer.docx | Bin 0 -> 38002 bytes .../TweetPreviewsQueryTransformer.scala | 92 ---- .../for_you/response_transformer/BUILD.bazel | 13 - .../for_you/response_transformer/BUILD.docx | Bin 0 -> 36890 bytes ...weetPreviewResponseFeatureTransformer.docx | Bin 0 -> 37125 bytes ...eetPreviewResponseFeatureTransformer.scala | 32 -- .../product/for_you/scorer/BUILD.bazel | 10 - .../product/for_you/scorer/BUILD.docx | Bin 0 -> 36795 bytes .../product/for_you/side_effect/BUILD.bazel | 24 - .../product/for_you/side_effect/BUILD.docx | Bin 0 -> 37043 bytes ...edCandidateFeatureKeysKafkaSideEffect.docx | Bin 0 -> 38236 bytes ...dCandidateFeatureKeysKafkaSideEffect.scala | 112 ----- ...dateFeatureKeysKafkaSideEffectBuilder.docx | Bin 0 -> 37006 bytes ...ateFeatureKeysKafkaSideEffectBuilder.scala | 20 - .../ServedCandidateKafkaSideEffect.docx | Bin 0 -> 37341 bytes .../ServedCandidateKafkaSideEffect.scala | 50 -- .../ServedCandidateKeysKafkaSideEffect.docx | Bin 0 -> 38193 bytes .../ServedCandidateKeysKafkaSideEffect.scala | 111 ----- ...edCandidateKeysKafkaSideEffectBuilder.docx | Bin 0 -> 36997 bytes ...dCandidateKeysKafkaSideEffectBuilder.scala | 20 - .../side_effect/ServedStatsSideEffect.docx | Bin 0 -> 37824 bytes .../side_effect/ServedStatsSideEffect.scala | 90 ---- .../list_recommended_users/BUILD.bazel | 53 -- .../product/list_recommended_users/BUILD.docx | Bin 0 -> 37247 bytes .../BlenderUsersCandidatePipelineConfig.docx | Bin 0 -> 37496 bytes .../BlenderUsersCandidatePipelineConfig.scala | 68 --- ...sersCandidatePipelineQueryTransformer.docx | Bin 0 -> 37442 bytes ...ersCandidatePipelineQueryTransformer.scala | 49 -- ...mberBasedUsersCandidatePipelineConfig.docx | Bin 0 -> 37810 bytes ...berBasedUsersCandidatePipelineConfig.scala | 98 ---- ...rBasedUsersResponseFeatureTransfromer.docx | Bin 0 -> 37010 bytes ...BasedUsersResponseFeatureTransfromer.scala | 21 - ...stRecommendedUsersMixerPipelineConfig.docx | Bin 0 -> 37951 bytes ...tRecommendedUsersMixerPipelineConfig.scala | 111 ----- ...RecommendedUsersProductPipelineConfig.docx | Bin 0 -> 37944 bytes ...ecommendedUsersProductPipelineConfig.scala | 102 ---- .../candidate_source/BUILD.bazel | 13 - .../candidate_source/BUILD.docx | Bin 0 -> 36900 bytes .../BlenderUsersCandidateSource.docx | Bin 0 -> 37319 bytes .../BlenderUsersCandidateSource.scala | 45 -- .../SimilarityBasedUsersCandidateSource.docx | Bin 0 -> 37262 bytes .../SimilarityBasedUsersCandidateSource.scala | 40 -- .../feature_hydrator/BUILD.bazel | 15 - .../feature_hydrator/BUILD.docx | Bin 0 -> 36911 bytes .../IsGizmoduckValidUserFeatureHydrator.docx | Bin 0 -> 37610 bytes .../IsGizmoduckValidUserFeatureHydrator.scala | 66 --- .../IsListMemberFeatureHydrator.docx | Bin 0 -> 37425 bytes .../IsListMemberFeatureHydrator.scala | 53 -- .../IsSGSValidUserFeatureHydrator.docx | Bin 0 -> 37501 bytes .../IsSGSValidUserFeatureHydrator.scala | 65 --- ...RecentListMembersQueryFeatureHydrator.docx | Bin 0 -> 37347 bytes ...ecentListMembersQueryFeatureHydrator.scala | 43 -- .../list_recommended_users/filter/BUILD.bazel | 13 - .../list_recommended_users/filter/BUILD.docx | Bin 0 -> 36879 bytes ...pMaxCandidatesByAggregatedScoreFilter.docx | Bin 0 -> 37223 bytes ...MaxCandidatesByAggregatedScoreFilter.scala | 37 -- .../filter/PreviouslyServedUsersFilter.docx | Bin 0 -> 37202 bytes .../filter/PreviouslyServedUsersFilter.scala | 35 -- .../list_recommended_users/gate/BUILD.bazel | 12 - .../list_recommended_users/gate/BUILD.docx | Bin 0 -> 36866 bytes .../gate/ViewerIsListOwnerGate.docx | Bin 0 -> 37145 bytes .../gate/ViewerIsListOwnerGate.scala | 29 -- .../list_recommended_users/model/BUILD.bazel | 16 - .../list_recommended_users/model/BUILD.docx | Bin 0 -> 36864 bytes .../model/ListRecommendedUsersFeatures.docx | Bin 0 -> 36855 bytes .../model/ListRecommendedUsersFeatures.scala | 12 - .../model/ListRecommendedUsersQuery.docx | Bin 0 -> 37114 bytes .../model/ListRecommendedUsersQuery.scala | 31 -- .../list_recommended_users/param/BUILD.bazel | 12 - .../list_recommended_users/param/BUILD.docx | Bin 0 -> 36866 bytes .../param/ListRecommendedUsersParam.docx | Bin 0 -> 36924 bytes .../param/ListRecommendedUsersParam.scala | 23 - .../ListRecommendedUsersParamConfig.docx | Bin 0 -> 36977 bytes .../ListRecommendedUsersParamConfig.scala | 22 - .../product/list_tweets/BUILD.bazel | 61 --- .../home_mixer/product/list_tweets/BUILD.docx | Bin 0 -> 37319 bytes ...ListTweetsAdsCandidatePipelineBuilder.docx | Bin 0 -> 37937 bytes ...istTweetsAdsCandidatePipelineBuilder.scala | 93 ---- .../ListTweetsMixerPipelineConfig.docx | Bin 0 -> 38653 bytes .../ListTweetsMixerPipelineConfig.scala | 162 ------- .../ListTweetsProductPipelineConfig.docx | Bin 0 -> 38407 bytes .../ListTweetsProductPipelineConfig.scala | 130 ----- ...imelineServiceCandidatePipelineConfig.docx | Bin 0 -> 37497 bytes ...melineServiceCandidatePipelineConfig.scala | 59 --- .../product/list_tweets/decorator/BUILD.bazel | 15 - .../product/list_tweets/decorator/BUILD.docx | Bin 0 -> 36910 bytes ...ConversationServiceCandidateDecorator.docx | Bin 0 -> 37410 bytes ...onversationServiceCandidateDecorator.scala | 49 -- .../list_tweets/decorator/builder/BUILD.bazel | 10 - .../list_tweets/decorator/builder/BUILD.docx | Bin 0 -> 36836 bytes .../product/list_tweets/model/BUILD.bazel | 19 - .../product/list_tweets/model/BUILD.docx | Bin 0 -> 36893 bytes .../list_tweets/model/ListTweetsQuery.docx | Bin 0 -> 37212 bytes .../list_tweets/model/ListTweetsQuery.scala | 38 -- .../product/list_tweets/param/BUILD.bazel | 12 - .../product/list_tweets/param/BUILD.docx | Bin 0 -> 36866 bytes .../list_tweets/param/ListTweetsParam.docx | Bin 0 -> 36925 bytes .../list_tweets/param/ListTweetsParam.scala | 22 - .../param/ListTweetsParamConfig.docx | Bin 0 -> 36981 bytes .../param/ListTweetsParamConfig.scala | 23 - .../product/scored_tweets/BUILD.bazel | 40 -- .../product/scored_tweets/BUILD.docx | Bin 0 -> 37117 bytes .../ScoredTweetsProductPipelineConfig.docx | Bin 0 -> 37698 bytes .../ScoredTweetsProductPipelineConfig.scala | 74 --- ...redTweetsRecommendationPipelineConfig.docx | Bin 0 -> 40024 bytes ...edTweetsRecommendationPipelineConfig.scala | 340 ------------- .../candidate_pipeline/BUILD.bazel | 37 -- .../candidate_pipeline/BUILD.docx | Bin 0 -> 37083 bytes ...edScoredTweetsCandidatePipelineConfig.docx | Bin 0 -> 37282 bytes ...dScoredTweetsCandidatePipelineConfig.scala | 53 -- ...TweetsBackfillCandidatePipelineConfig.docx | Bin 0 -> 37794 bytes ...weetsBackfillCandidatePipelineConfig.scala | 94 ---- ...coredTweetsFrsCandidatePipelineConfig.docx | Bin 0 -> 37638 bytes ...oredTweetsFrsCandidatePipelineConfig.scala | 72 --- ...weetsInNetworkCandidatePipelineConfig.docx | Bin 0 -> 37644 bytes ...eetsInNetworkCandidatePipelineConfig.scala | 82 ---- ...redTweetsListsCandidatePipelineConfig.docx | Bin 0 -> 37757 bytes ...edTweetsListsCandidatePipelineConfig.scala | 86 ---- ...sPopularVideosCandidatePipelineConfig.docx | Bin 0 -> 37732 bytes ...PopularVideosCandidatePipelineConfig.scala | 82 ---- ...eetsTweetMixerCandidatePipelineConfig.docx | Bin 0 -> 37951 bytes ...etsTweetMixerCandidatePipelineConfig.scala | 100 ---- ...oredTweetsUtegCandidatePipelineConfig.docx | Bin 0 -> 37456 bytes ...redTweetsUtegCandidatePipelineConfig.scala | 62 --- .../candidate_pipeline/earlybird/BUILD.bazel | 21 - .../candidate_pipeline/earlybird/BUILD.docx | Bin 0 -> 36965 bytes ...tsEarlybirdFrsCandidatePipelineConfig.docx | Bin 0 -> 37537 bytes ...sEarlybirdFrsCandidatePipelineConfig.scala | 69 --- ...ybirdInNetworkCandidatePipelineConfig.docx | Bin 0 -> 37433 bytes ...birdInNetworkCandidatePipelineConfig.scala | 59 --- .../candidate_source/BUILD.bazel | 13 - .../scored_tweets/candidate_source/BUILD.docx | Bin 0 -> 36857 bytes .../CachedScoredTweetsCandidateSource.docx | Bin 0 -> 37046 bytes .../CachedScoredTweetsCandidateSource.scala | 24 - .../ListsCandidateSource.docx | Bin 0 -> 37084 bytes .../ListsCandidateSource.scala | 27 -- .../AncestorFeatureHydrator.docx | Bin 0 -> 37608 bytes .../AncestorFeatureHydrator.scala | 61 --- .../AuthorFeatureHydrator.docx | Bin 0 -> 37841 bytes .../AuthorFeatureHydrator.scala | 86 ---- .../AuthorIsCreatorFeatureHydrator.docx | Bin 0 -> 37688 bytes .../AuthorIsCreatorFeatureHydrator.scala | 79 --- .../feature_hydrator/BUILD.bazel | 70 --- .../scored_tweets/feature_hydrator/BUILD.docx | Bin 0 -> 37569 bytes ...achedScoredTweetsQueryFeatureHydrator.docx | Bin 0 -> 37480 bytes ...chedScoredTweetsQueryFeatureHydrator.scala | 50 -- .../EarlybirdFeatureHydrator.docx | Bin 0 -> 38563 bytes .../EarlybirdFeatureHydrator.scala | 151 ------ .../FrsSeedUsersQueryFeatureHydrator.docx | Bin 0 -> 37599 bytes .../FrsSeedUsersQueryFeatureHydrator.scala | 64 --- .../GizmoduckAuthorFeatureHydrator.docx | Bin 0 -> 37988 bytes .../GizmoduckAuthorFeatureHydrator.scala | 83 ---- .../GraphTwoHopFeatureHydrator.docx | Bin 0 -> 38108 bytes .../GraphTwoHopFeatureHydrator.scala | 97 ---- .../IsExtendedReplyFeatureHydrator.docx | Bin 0 -> 37355 bytes .../IsExtendedReplyFeatureHydrator.scala | 45 -- .../ListIdsQueryFeatureHydrator.docx | Bin 0 -> 37416 bytes .../ListIdsQueryFeatureHydrator.scala | 52 -- ...tricCenterUserCountingFeatureHydrator.docx | Bin 0 -> 37661 bytes ...ricCenterUserCountingFeatureHydrator.scala | 72 --- .../RealGraphQueryFeatureHydrator.docx | Bin 0 -> 37390 bytes .../RealGraphQueryFeatureHydrator.scala | 48 -- .../RealGraphViewerAuthorFeatureHydrator.docx | Bin 0 -> 38037 bytes ...RealGraphViewerAuthorFeatureHydrator.scala | 123 ----- ...raphViewerRelatedUsersFeatureHydrator.docx | Bin 0 -> 37670 bytes ...aphViewerRelatedUsersFeatureHydrator.scala | 73 --- ...meInteractionGraphEdgeFeatureHydrator.docx | Bin 0 -> 37530 bytes ...eInteractionGraphEdgeFeatureHydrator.scala | 61 --- ...onGraphUserVertexQueryFeatureHydrator.docx | Bin 0 -> 37394 bytes ...nGraphUserVertexQueryFeatureHydrator.scala | 48 -- .../ReplyFeatureHydrator.docx | Bin 0 -> 39242 bytes .../ReplyFeatureHydrator.scala | 242 ---------- .../RequestTimeQueryFeatureHydrator.docx | Bin 0 -> 38115 bytes .../RequestTimeQueryFeatureHydrator.scala | 122 ----- .../RetweetSourceTweetFeatureHydrator.docx | Bin 0 -> 37691 bytes .../RetweetSourceTweetFeatureHydrator.scala | 76 --- ...rsEngagementSimilarityFeatureHydrator.docx | Bin 0 -> 37714 bytes ...sEngagementSimilarityFeatureHydrator.scala | 75 --- .../SimClustersUserTweetScoresHydrator.docx | Bin 0 -> 37943 bytes .../SimClustersUserTweetScoresHydrator.scala | 86 ---- .../TSPInferredTopicFeatureHydrator.docx | Bin 0 -> 38567 bytes .../TSPInferredTopicFeatureHydrator.scala | 148 ------ .../TweetMetaDataFeatureHydrator.docx | Bin 0 -> 37512 bytes .../TweetMetaDataFeatureHydrator.scala | 61 --- .../TweetTimeFeatureHydrator.docx | Bin 0 -> 38123 bytes .../TweetTimeFeatureHydrator.scala | 112 ----- .../TweetypieContentFeatureHydrator.docx | Bin 0 -> 38441 bytes .../TweetypieContentFeatureHydrator.scala | 144 ------ ...weetypieStaticEntitiesFeatureHydrator.docx | Bin 0 -> 38595 bytes ...eetypieStaticEntitiesFeatureHydrator.scala | 161 ------ .../TwhinAuthorFollowFeatureHydrator.docx | Bin 0 -> 37843 bytes .../TwhinAuthorFollowFeatureHydrator.scala | 85 ---- ...hinUserEngagementQueryFeatureHydrator.docx | Bin 0 -> 37679 bytes ...inUserEngagementQueryFeatureHydrator.scala | 72 --- .../TwhinUserFollowQueryFeatureHydrator.docx | Bin 0 -> 37673 bytes .../TwhinUserFollowQueryFeatureHydrator.scala | 70 --- .../UserFollowedTopicIdsFeatureHydrator.docx | Bin 0 -> 37685 bytes .../UserFollowedTopicIdsFeatureHydrator.scala | 76 --- .../UserLanguagesFeatureHydrator.docx | Bin 0 -> 37390 bytes .../UserLanguagesFeatureHydrator.scala | 46 -- .../UserStateQueryFeatureHydrator.docx | Bin 0 -> 37383 bytes .../UserStateQueryFeatureHydrator.scala | 53 -- .../feature_hydrator/UtegFeatureHydrator.docx | Bin 0 -> 38052 bytes .../UtegFeatureHydrator.scala | 102 ---- .../AuthorFeaturesAdapter.docx | Bin 0 -> 37628 bytes .../AuthorFeaturesAdapter.scala | 92 ---- .../adapters/author_features/BUILD.bazel | 18 - .../adapters/author_features/BUILD.docx | Bin 0 -> 36932 bytes .../adapters/content/BUILD.bazel | 18 - .../adapters/content/BUILD.docx | Bin 0 -> 36898 bytes .../content/ContentFeatureAdapter.docx | Bin 0 -> 38629 bytes .../content/ContentFeatureAdapter.scala | 273 ----------- .../InReplyToContentFeatureAdapter.docx | Bin 0 -> 37343 bytes .../InReplyToContentFeatureAdapter.scala | 75 --- .../adapters/earlybird/BUILD.bazel | 19 - .../adapters/earlybird/BUILD.docx | Bin 0 -> 36884 bytes .../adapters/earlybird/EarlybirdAdapter.docx | Bin 0 -> 40251 bytes .../adapters/earlybird/EarlybirdAdapter.scala | 457 ------------------ .../earlybird/InReplyToEarlybirdAdapter.docx | Bin 0 -> 38219 bytes .../earlybird/InReplyToEarlybirdAdapter.scala | 206 -------- .../adapters/inferred_topic/BUILD.bazel | 13 - .../adapters/inferred_topic/BUILD.docx | Bin 0 -> 36846 bytes .../inferred_topic/InferredTopicAdapter.docx | Bin 0 -> 37060 bytes .../inferred_topic/InferredTopicAdapter.scala | 25 - .../adapters/non_ml_features/BUILD.bazel | 15 - .../adapters/non_ml_features/BUILD.docx | Bin 0 -> 36870 bytes .../NonMLCandidateFeaturesAdapter.docx | Bin 0 -> 37335 bytes .../NonMLCandidateFeaturesAdapter.scala | 44 -- .../NonMLCommonFeaturesAdapter.docx | Bin 0 -> 37304 bytes .../NonMLCommonFeaturesAdapter.scala | 48 -- .../adapters/offline_aggregates/BUILD.bazel | 13 - .../adapters/offline_aggregates/BUILD.docx | Bin 0 -> 36887 bytes .../PassThroughAdapter.docx | Bin 0 -> 36913 bytes .../PassThroughAdapter.scala | 12 - .../SparseAggregatesToDenseAdapter.docx | Bin 0 -> 37019 bytes .../SparseAggregatesToDenseAdapter.scala | 17 - .../adapters/twhin_embeddings/BUILD.bazel | 16 - .../adapters/twhin_embeddings/BUILD.docx | Bin 0 -> 36855 bytes .../TwhinEmbeddingsAdapter.docx | Bin 0 -> 37318 bytes .../TwhinEmbeddingsAdapter.scala | 68 --- .../AggregateFeatureInfo.docx | Bin 0 -> 37258 bytes .../AggregateFeatureInfo.scala | 37 -- ...AggregateFeaturesToDecodeWithMetadata.docx | Bin 0 -> 37540 bytes ...ggregateFeaturesToDecodeWithMetadata.scala | 68 --- .../offline_aggregates/BUILD.bazel | 40 -- .../offline_aggregates/BUILD.docx | Bin 0 -> 37277 bytes .../BaseAggregateQueryFeatureHydrator.docx | Bin 0 -> 37630 bytes .../BaseAggregateQueryFeatureHydrator.scala | 76 --- .../BaseEdgeAggregateFeatureHydrator.docx | Bin 0 -> 38073 bytes .../BaseEdgeAggregateFeatureHydrator.scala | 93 ---- .../EdgeAggregateFeatures.docx | Bin 0 -> 37581 bytes .../EdgeAggregateFeatures.scala | 118 ----- .../PartAAggregateQueryFeatureHydrator.docx | Bin 0 -> 37220 bytes .../PartAAggregateQueryFeatureHydrator.scala | 35 -- .../PartBAggregateQueryFeatureHydrator.docx | Bin 0 -> 38245 bytes .../PartBAggregateQueryFeatureHydrator.scala | 144 ------ .../Phase1EdgeAggregateFeatureHydrator.docx | Bin 0 -> 36932 bytes .../Phase1EdgeAggregateFeatureHydrator.scala | 19 - .../Phase2EdgeAggregateFeatureHydrator.docx | Bin 0 -> 37001 bytes .../Phase2EdgeAggregateFeatureHydrator.scala | 28 -- .../offline_aggregates/Utils.docx | Bin 0 -> 37273 bytes .../offline_aggregates/Utils.scala | 36 -- .../real_time_aggregates/BUILD.bazel | 26 - .../real_time_aggregates/BUILD.docx | Bin 0 -> 37055 bytes ...AggregateBulkCandidateFeatureHydrator.docx | Bin 0 -> 37248 bytes ...ggregateBulkCandidateFeatureHydrator.scala | 40 -- ...RealTimeAggregateQueryFeatureHydrator.docx | Bin 0 -> 37172 bytes ...ealTimeAggregateQueryFeatureHydrator.scala | 36 -- .../BaseRealtimeAggregateHydrator.docx | Bin 0 -> 38311 bytes .../BaseRealtimeAggregateHydrator.scala | 138 ------ ...uthorRealTimeAggregateFeatureHydrator.docx | Bin 0 -> 37506 bytes ...thorRealTimeAggregateFeatureHydrator.scala | 52 -- .../RealTimeAggregateTimeDecay.docx | Bin 0 -> 37468 bytes .../RealTimeAggregateTimeDecay.scala | 50 -- ...ementRealTimeAggregateFeatureHydrator.docx | Bin 0 -> 37621 bytes ...mentRealTimeAggregateFeatureHydrator.scala | 64 --- ...ementRealTimeAggregateFeatureHydrator.docx | Bin 0 -> 37554 bytes ...mentRealTimeAggregateFeatureHydrator.scala | 60 --- 400 files changed, 14397 deletions(-) create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/module/TweetypieStaticEntitiesCacheClientModule.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/module/TweetypieStaticEntitiesCacheClientModule.scala delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/param/BUILD.bazel create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/param/BUILD.docx create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/param/GlobalParamConfigModule.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/param/GlobalParamConfigModule.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/param/HomeGlobalParamConfig.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/param/HomeGlobalParamConfig.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/param/HomeGlobalParams.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/param/HomeGlobalParams.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/param/HomeMixerFlagName.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/param/HomeMixerFlagName.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/param/HomeMixerInjectionNames.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/param/HomeMixerInjectionNames.scala delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/param/decider/BUILD.bazel create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/param/decider/BUILD.docx create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/param/decider/DeciderKey.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/param/decider/DeciderKey.scala delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/BUILD.bazel create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/BUILD.docx create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/HomeMixerProductModule.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/HomeMixerProductModule.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/HomeProductPipelineRegistryConfig.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/HomeProductPipelineRegistryConfig.scala delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/following/BUILD.bazel create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/following/BUILD.docx create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/following/FollowingAdsCandidatePipelineBuilder.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/following/FollowingAdsCandidatePipelineBuilder.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/following/FollowingEarlybirdCandidatePipelineConfig.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/following/FollowingEarlybirdCandidatePipelineConfig.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/following/FollowingEarlybirdQueryTransformer.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/following/FollowingEarlybirdQueryTransformer.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/following/FollowingEarlybirdResponseFeatureTransformer.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/following/FollowingEarlybirdResponseFeatureTransformer.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/following/FollowingMixerPipelineConfig.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/following/FollowingMixerPipelineConfig.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/following/FollowingProductPipelineConfig.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/following/FollowingProductPipelineConfig.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/following/FollowingWhoToFollowCandidatePipelineConfigBuilder.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/following/FollowingWhoToFollowCandidatePipelineConfigBuilder.scala delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/following/model/BUILD.bazel create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/following/model/BUILD.docx create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/following/model/FollowingQuery.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/following/model/FollowingQuery.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/following/model/HomeMixerExternalStrings.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/following/model/HomeMixerExternalStrings.scala delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/following/param/BUILD.bazel create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/following/param/BUILD.docx create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/following/param/FollowingParam.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/following/param/FollowingParam.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/following/param/FollowingParamConfig.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/following/param/FollowingParamConfig.scala delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/BUILD.bazel create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/BUILD.docx create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/ForYouAdsCandidatePipelineBuilder.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/ForYouAdsCandidatePipelineBuilder.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/ForYouAdsDependentCandidatePipelineBuilder.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/ForYouAdsDependentCandidatePipelineBuilder.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/ForYouConversationServiceCandidatePipelineConfig.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/ForYouConversationServiceCandidatePipelineConfig.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/ForYouProductPipelineConfig.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/ForYouProductPipelineConfig.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/ForYouPushToHomeMixerPipelineConfig.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/ForYouPushToHomeMixerPipelineConfig.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/ForYouPushToHomeTweetCandidatePipelineConfig.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/ForYouPushToHomeTweetCandidatePipelineConfig.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/ForYouScoredTweetsCandidatePipelineConfig.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/ForYouScoredTweetsCandidatePipelineConfig.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/ForYouScoredTweetsMixerPipelineConfig.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/ForYouScoredTweetsMixerPipelineConfig.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/ForYouScoredTweetsResponseFeatureTransformer.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/ForYouScoredTweetsResponseFeatureTransformer.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/ForYouTimelineScorerCandidatePipelineConfig.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/ForYouTimelineScorerCandidatePipelineConfig.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/ForYouTimelineScorerMixerPipelineConfig.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/ForYouTimelineScorerMixerPipelineConfig.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/ForYouTimelineScorerResponseFeatureTransformer.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/ForYouTimelineScorerResponseFeatureTransformer.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/ForYouTweetPreviewsCandidatePipelineConfig.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/ForYouTweetPreviewsCandidatePipelineConfig.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/ForYouWhoToFollowCandidatePipelineConfigBuilder.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/ForYouWhoToFollowCandidatePipelineConfigBuilder.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/ForYouWhoToSubscribeCandidatePipelineConfigBuilder.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/ForYouWhoToSubscribeCandidatePipelineConfigBuilder.scala delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/candidate_source/BUILD.bazel create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/candidate_source/BUILD.docx create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/candidate_source/ScoredTweetsProductCandidateSource.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/candidate_source/ScoredTweetsProductCandidateSource.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/feature_hydrator/AuthorEnabledPreviewsFeatureHydrator.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/feature_hydrator/AuthorEnabledPreviewsFeatureHydrator.scala delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/feature_hydrator/BUILD.bazel create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/feature_hydrator/BUILD.docx create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/feature_hydrator/FocalTweetFeatureHydrator.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/feature_hydrator/FocalTweetFeatureHydrator.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/feature_hydrator/TimelineServiceTweetsQueryFeatureHydrator.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/feature_hydrator/TimelineServiceTweetsQueryFeatureHydrator.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/feature_hydrator/TweetPreviewTweetypieCandidateFeatureHydrator.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/feature_hydrator/TweetPreviewTweetypieCandidateFeatureHydrator.scala delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/filter/BUILD.bazel create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/filter/BUILD.docx create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/filter/SocialContextFilter.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/filter/SocialContextFilter.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/filter/TweetPreviewTextFilter.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/filter/TweetPreviewTextFilter.scala delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/functional_component/gate/BUILD.bazel create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/functional_component/gate/BUILD.docx create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/functional_component/gate/PushToHomeRequestGate.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/functional_component/gate/PushToHomeRequestGate.scala delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/model/BUILD.bazel create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/model/BUILD.docx create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/model/ForYouQuery.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/model/ForYouQuery.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/model/ForYouTweetsResponse.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/model/ForYouTweetsResponse.scala delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/param/BUILD.bazel create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/param/BUILD.docx create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/param/ForYouParam.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/param/ForYouParam.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/param/ForYouParamConfig.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/param/ForYouParamConfig.scala delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/query_transformer/BUILD.bazel create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/query_transformer/BUILD.docx create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/query_transformer/TweetPreviewsQueryTransformer.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/query_transformer/TweetPreviewsQueryTransformer.scala delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/response_transformer/BUILD.bazel create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/response_transformer/BUILD.docx create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/response_transformer/TweetPreviewResponseFeatureTransformer.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/response_transformer/TweetPreviewResponseFeatureTransformer.scala delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/scorer/BUILD.bazel create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/scorer/BUILD.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/side_effect/BUILD.bazel create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/side_effect/BUILD.docx create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/side_effect/ServedCandidateFeatureKeysKafkaSideEffect.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/side_effect/ServedCandidateFeatureKeysKafkaSideEffect.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/side_effect/ServedCandidateFeatureKeysKafkaSideEffectBuilder.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/side_effect/ServedCandidateFeatureKeysKafkaSideEffectBuilder.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/side_effect/ServedCandidateKafkaSideEffect.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/side_effect/ServedCandidateKafkaSideEffect.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/side_effect/ServedCandidateKeysKafkaSideEffect.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/side_effect/ServedCandidateKeysKafkaSideEffect.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/side_effect/ServedCandidateKeysKafkaSideEffectBuilder.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/side_effect/ServedCandidateKeysKafkaSideEffectBuilder.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/side_effect/ServedStatsSideEffect.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/side_effect/ServedStatsSideEffect.scala delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/BUILD.bazel create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/BUILD.docx create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/BlenderUsersCandidatePipelineConfig.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/BlenderUsersCandidatePipelineConfig.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/BlenderUsersCandidatePipelineQueryTransformer.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/BlenderUsersCandidatePipelineQueryTransformer.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/ListMemberBasedUsersCandidatePipelineConfig.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/ListMemberBasedUsersCandidatePipelineConfig.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/ListMemberBasedUsersResponseFeatureTransfromer.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/ListMemberBasedUsersResponseFeatureTransfromer.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/ListRecommendedUsersMixerPipelineConfig.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/ListRecommendedUsersMixerPipelineConfig.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/ListRecommendedUsersProductPipelineConfig.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/ListRecommendedUsersProductPipelineConfig.scala delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/candidate_source/BUILD.bazel create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/candidate_source/BUILD.docx create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/candidate_source/BlenderUsersCandidateSource.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/candidate_source/BlenderUsersCandidateSource.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/candidate_source/SimilarityBasedUsersCandidateSource.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/candidate_source/SimilarityBasedUsersCandidateSource.scala delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/feature_hydrator/BUILD.bazel create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/feature_hydrator/BUILD.docx create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/feature_hydrator/IsGizmoduckValidUserFeatureHydrator.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/feature_hydrator/IsGizmoduckValidUserFeatureHydrator.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/feature_hydrator/IsListMemberFeatureHydrator.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/feature_hydrator/IsListMemberFeatureHydrator.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/feature_hydrator/IsSGSValidUserFeatureHydrator.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/feature_hydrator/IsSGSValidUserFeatureHydrator.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/feature_hydrator/RecentListMembersQueryFeatureHydrator.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/feature_hydrator/RecentListMembersQueryFeatureHydrator.scala delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/filter/BUILD.bazel create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/filter/BUILD.docx create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/filter/DropMaxCandidatesByAggregatedScoreFilter.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/filter/DropMaxCandidatesByAggregatedScoreFilter.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/filter/PreviouslyServedUsersFilter.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/filter/PreviouslyServedUsersFilter.scala delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/gate/BUILD.bazel create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/gate/BUILD.docx create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/gate/ViewerIsListOwnerGate.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/gate/ViewerIsListOwnerGate.scala delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/model/BUILD.bazel create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/model/BUILD.docx create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/model/ListRecommendedUsersFeatures.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/model/ListRecommendedUsersFeatures.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/model/ListRecommendedUsersQuery.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/model/ListRecommendedUsersQuery.scala delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/param/BUILD.bazel create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/param/BUILD.docx create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/param/ListRecommendedUsersParam.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/param/ListRecommendedUsersParam.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/param/ListRecommendedUsersParamConfig.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/param/ListRecommendedUsersParamConfig.scala delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_tweets/BUILD.bazel create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_tweets/BUILD.docx create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_tweets/ListTweetsAdsCandidatePipelineBuilder.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_tweets/ListTweetsAdsCandidatePipelineBuilder.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_tweets/ListTweetsMixerPipelineConfig.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_tweets/ListTweetsMixerPipelineConfig.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_tweets/ListTweetsProductPipelineConfig.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_tweets/ListTweetsProductPipelineConfig.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_tweets/ListTweetsTimelineServiceCandidatePipelineConfig.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_tweets/ListTweetsTimelineServiceCandidatePipelineConfig.scala delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_tweets/decorator/BUILD.bazel create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_tweets/decorator/BUILD.docx create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_tweets/decorator/ListConversationServiceCandidateDecorator.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_tweets/decorator/ListConversationServiceCandidateDecorator.scala delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_tweets/decorator/builder/BUILD.bazel create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_tweets/decorator/builder/BUILD.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_tweets/model/BUILD.bazel create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_tweets/model/BUILD.docx create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_tweets/model/ListTweetsQuery.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_tweets/model/ListTweetsQuery.scala delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_tweets/param/BUILD.bazel create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_tweets/param/BUILD.docx create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_tweets/param/ListTweetsParam.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_tweets/param/ListTweetsParam.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_tweets/param/ListTweetsParamConfig.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_tweets/param/ListTweetsParamConfig.scala delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/BUILD.bazel create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/BUILD.docx create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/ScoredTweetsProductPipelineConfig.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/ScoredTweetsProductPipelineConfig.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/ScoredTweetsRecommendationPipelineConfig.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/ScoredTweetsRecommendationPipelineConfig.scala delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/candidate_pipeline/BUILD.bazel create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/candidate_pipeline/BUILD.docx create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/candidate_pipeline/CachedScoredTweetsCandidatePipelineConfig.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/candidate_pipeline/CachedScoredTweetsCandidatePipelineConfig.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/candidate_pipeline/ScoredTweetsBackfillCandidatePipelineConfig.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/candidate_pipeline/ScoredTweetsBackfillCandidatePipelineConfig.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/candidate_pipeline/ScoredTweetsFrsCandidatePipelineConfig.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/candidate_pipeline/ScoredTweetsFrsCandidatePipelineConfig.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/candidate_pipeline/ScoredTweetsInNetworkCandidatePipelineConfig.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/candidate_pipeline/ScoredTweetsInNetworkCandidatePipelineConfig.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/candidate_pipeline/ScoredTweetsListsCandidatePipelineConfig.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/candidate_pipeline/ScoredTweetsListsCandidatePipelineConfig.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/candidate_pipeline/ScoredTweetsPopularVideosCandidatePipelineConfig.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/candidate_pipeline/ScoredTweetsPopularVideosCandidatePipelineConfig.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/candidate_pipeline/ScoredTweetsTweetMixerCandidatePipelineConfig.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/candidate_pipeline/ScoredTweetsTweetMixerCandidatePipelineConfig.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/candidate_pipeline/ScoredTweetsUtegCandidatePipelineConfig.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/candidate_pipeline/ScoredTweetsUtegCandidatePipelineConfig.scala delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/candidate_pipeline/earlybird/BUILD.bazel create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/candidate_pipeline/earlybird/BUILD.docx create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/candidate_pipeline/earlybird/ScoredTweetsEarlybirdFrsCandidatePipelineConfig.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/candidate_pipeline/earlybird/ScoredTweetsEarlybirdFrsCandidatePipelineConfig.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/candidate_pipeline/earlybird/ScoredTweetsEarlybirdInNetworkCandidatePipelineConfig.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/candidate_pipeline/earlybird/ScoredTweetsEarlybirdInNetworkCandidatePipelineConfig.scala delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/candidate_source/BUILD.bazel create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/candidate_source/BUILD.docx create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/candidate_source/CachedScoredTweetsCandidateSource.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/candidate_source/CachedScoredTweetsCandidateSource.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/candidate_source/ListsCandidateSource.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/candidate_source/ListsCandidateSource.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/AncestorFeatureHydrator.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/AncestorFeatureHydrator.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/AuthorFeatureHydrator.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/AuthorFeatureHydrator.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/AuthorIsCreatorFeatureHydrator.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/AuthorIsCreatorFeatureHydrator.scala delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/BUILD.bazel create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/BUILD.docx create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/CachedScoredTweetsQueryFeatureHydrator.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/CachedScoredTweetsQueryFeatureHydrator.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/EarlybirdFeatureHydrator.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/EarlybirdFeatureHydrator.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/FrsSeedUsersQueryFeatureHydrator.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/FrsSeedUsersQueryFeatureHydrator.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/GizmoduckAuthorFeatureHydrator.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/GizmoduckAuthorFeatureHydrator.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/GraphTwoHopFeatureHydrator.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/GraphTwoHopFeatureHydrator.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/IsExtendedReplyFeatureHydrator.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/IsExtendedReplyFeatureHydrator.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/ListIdsQueryFeatureHydrator.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/ListIdsQueryFeatureHydrator.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/MetricCenterUserCountingFeatureHydrator.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/MetricCenterUserCountingFeatureHydrator.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/RealGraphQueryFeatureHydrator.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/RealGraphQueryFeatureHydrator.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/RealGraphViewerAuthorFeatureHydrator.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/RealGraphViewerAuthorFeatureHydrator.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/RealGraphViewerRelatedUsersFeatureHydrator.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/RealGraphViewerRelatedUsersFeatureHydrator.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/RealTimeInteractionGraphEdgeFeatureHydrator.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/RealTimeInteractionGraphEdgeFeatureHydrator.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/RealTimeInteractionGraphUserVertexQueryFeatureHydrator.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/RealTimeInteractionGraphUserVertexQueryFeatureHydrator.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/ReplyFeatureHydrator.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/ReplyFeatureHydrator.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/RequestTimeQueryFeatureHydrator.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/RequestTimeQueryFeatureHydrator.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/RetweetSourceTweetFeatureHydrator.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/RetweetSourceTweetFeatureHydrator.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/SimClustersEngagementSimilarityFeatureHydrator.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/SimClustersEngagementSimilarityFeatureHydrator.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/SimClustersUserTweetScoresHydrator.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/SimClustersUserTweetScoresHydrator.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/TSPInferredTopicFeatureHydrator.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/TSPInferredTopicFeatureHydrator.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/TweetMetaDataFeatureHydrator.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/TweetMetaDataFeatureHydrator.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/TweetTimeFeatureHydrator.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/TweetTimeFeatureHydrator.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/TweetypieContentFeatureHydrator.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/TweetypieContentFeatureHydrator.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/TweetypieStaticEntitiesFeatureHydrator.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/TweetypieStaticEntitiesFeatureHydrator.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/TwhinAuthorFollowFeatureHydrator.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/TwhinAuthorFollowFeatureHydrator.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/TwhinUserEngagementQueryFeatureHydrator.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/TwhinUserEngagementQueryFeatureHydrator.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/TwhinUserFollowQueryFeatureHydrator.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/TwhinUserFollowQueryFeatureHydrator.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/UserFollowedTopicIdsFeatureHydrator.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/UserFollowedTopicIdsFeatureHydrator.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/UserLanguagesFeatureHydrator.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/UserLanguagesFeatureHydrator.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/UserStateQueryFeatureHydrator.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/UserStateQueryFeatureHydrator.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/UtegFeatureHydrator.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/UtegFeatureHydrator.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/adapters/author_features/AuthorFeaturesAdapter.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/adapters/author_features/AuthorFeaturesAdapter.scala delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/adapters/author_features/BUILD.bazel create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/adapters/author_features/BUILD.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/adapters/content/BUILD.bazel create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/adapters/content/BUILD.docx create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/adapters/content/ContentFeatureAdapter.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/adapters/content/ContentFeatureAdapter.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/adapters/content/InReplyToContentFeatureAdapter.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/adapters/content/InReplyToContentFeatureAdapter.scala delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/adapters/earlybird/BUILD.bazel create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/adapters/earlybird/BUILD.docx create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/adapters/earlybird/EarlybirdAdapter.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/adapters/earlybird/EarlybirdAdapter.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/adapters/earlybird/InReplyToEarlybirdAdapter.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/adapters/earlybird/InReplyToEarlybirdAdapter.scala delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/adapters/inferred_topic/BUILD.bazel create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/adapters/inferred_topic/BUILD.docx create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/adapters/inferred_topic/InferredTopicAdapter.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/adapters/inferred_topic/InferredTopicAdapter.scala delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/adapters/non_ml_features/BUILD.bazel create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/adapters/non_ml_features/BUILD.docx create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/adapters/non_ml_features/NonMLCandidateFeaturesAdapter.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/adapters/non_ml_features/NonMLCandidateFeaturesAdapter.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/adapters/non_ml_features/NonMLCommonFeaturesAdapter.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/adapters/non_ml_features/NonMLCommonFeaturesAdapter.scala delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/adapters/offline_aggregates/BUILD.bazel create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/adapters/offline_aggregates/BUILD.docx create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/adapters/offline_aggregates/PassThroughAdapter.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/adapters/offline_aggregates/PassThroughAdapter.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/adapters/offline_aggregates/SparseAggregatesToDenseAdapter.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/adapters/offline_aggregates/SparseAggregatesToDenseAdapter.scala delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/adapters/twhin_embeddings/BUILD.bazel create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/adapters/twhin_embeddings/BUILD.docx create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/adapters/twhin_embeddings/TwhinEmbeddingsAdapter.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/adapters/twhin_embeddings/TwhinEmbeddingsAdapter.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/offline_aggregates/AggregateFeatureInfo.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/offline_aggregates/AggregateFeatureInfo.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/offline_aggregates/AggregateFeaturesToDecodeWithMetadata.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/offline_aggregates/AggregateFeaturesToDecodeWithMetadata.scala delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/offline_aggregates/BUILD.bazel create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/offline_aggregates/BUILD.docx create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/offline_aggregates/BaseAggregateQueryFeatureHydrator.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/offline_aggregates/BaseAggregateQueryFeatureHydrator.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/offline_aggregates/BaseEdgeAggregateFeatureHydrator.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/offline_aggregates/BaseEdgeAggregateFeatureHydrator.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/offline_aggregates/EdgeAggregateFeatures.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/offline_aggregates/EdgeAggregateFeatures.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/offline_aggregates/PartAAggregateQueryFeatureHydrator.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/offline_aggregates/PartAAggregateQueryFeatureHydrator.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/offline_aggregates/PartBAggregateQueryFeatureHydrator.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/offline_aggregates/PartBAggregateQueryFeatureHydrator.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/offline_aggregates/Phase1EdgeAggregateFeatureHydrator.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/offline_aggregates/Phase1EdgeAggregateFeatureHydrator.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/offline_aggregates/Phase2EdgeAggregateFeatureHydrator.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/offline_aggregates/Phase2EdgeAggregateFeatureHydrator.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/offline_aggregates/Utils.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/offline_aggregates/Utils.scala delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/real_time_aggregates/BUILD.bazel create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/real_time_aggregates/BUILD.docx create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/real_time_aggregates/BaseRealTimeAggregateBulkCandidateFeatureHydrator.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/real_time_aggregates/BaseRealTimeAggregateBulkCandidateFeatureHydrator.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/real_time_aggregates/BaseRealTimeAggregateQueryFeatureHydrator.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/real_time_aggregates/BaseRealTimeAggregateQueryFeatureHydrator.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/real_time_aggregates/BaseRealtimeAggregateHydrator.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/real_time_aggregates/BaseRealtimeAggregateHydrator.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/real_time_aggregates/EngagementsReceivedByAuthorRealTimeAggregateFeatureHydrator.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/real_time_aggregates/EngagementsReceivedByAuthorRealTimeAggregateFeatureHydrator.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/real_time_aggregates/RealTimeAggregateTimeDecay.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/real_time_aggregates/RealTimeAggregateTimeDecay.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/real_time_aggregates/TopicCountryEngagementRealTimeAggregateFeatureHydrator.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/real_time_aggregates/TopicCountryEngagementRealTimeAggregateFeatureHydrator.scala create mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/real_time_aggregates/TopicEngagementRealTimeAggregateFeatureHydrator.docx delete mode 100644 home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/real_time_aggregates/TopicEngagementRealTimeAggregateFeatureHydrator.scala diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/module/TweetypieStaticEntitiesCacheClientModule.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/module/TweetypieStaticEntitiesCacheClientModule.docx new file mode 100644 index 0000000000000000000000000000000000000000..44b97638f4d0a184ddc9a4f537e30d748a4637b9 GIT binary patch literal 37589 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 tp} -import javax.inject.Singleton -import org.apache.thrift.protocol.TCompactProtocol - -object TweetypieStaticEntitiesCacheClientModule extends TwitterModule { - - private val ScopeName = "TweetypieStaticEntitiesMemcache" - private val ProdDest = "/srv#/prod/local/cache/timelinescorer_tweet_core_data:twemcaches" - - private val tweetsSerializer: Serializer[tp.Tweet] = { - new ThriftSerializer[tp.Tweet](tp.Tweet, new TCompactProtocol.Factory()) - } - private val keyTransformer: KeyTransformer[Long] = { tweetId => tweetId.toString } - - @Provides - @Singleton - @Named(TweetypieStaticEntitiesCache) - def providesTweetypieStaticEntitiesCache( - statsReceiver: StatsReceiver, - serviceIdentifier: ServiceIdentifier - ): TtlCache[Long, tp.Tweet] = { - val memCacheClient = MemcachedClientBuilder.buildMemcachedClient( - destName = ProdDest, - numTries = 1, - numConnections = 1, - requestTimeout = 50.milliseconds, - globalTimeout = 100.milliseconds, - connectTimeout = 100.milliseconds, - acquisitionTimeout = 100.milliseconds, - serviceIdentifier = serviceIdentifier, - statsReceiver = statsReceiver - ) - mkCache(new FinagleMemcache(memCacheClient), statsReceiver) - } - - private def mkCache( - finagleMemcache: FinagleMemcache, - statsReceiver: StatsReceiver - ): TtlCache[Long, tp.Tweet] = { - val baseCache: KeyValueTransformingTtlCache[Long, String, tp.Tweet, Array[Byte]] = - new KeyValueTransformingTtlCache( - underlyingCache = finagleMemcache, - transformer = tweetsSerializer, - underlyingKey = keyTransformer - ) - ObservableTtlCache( - underlyingCache = baseCache, - statsReceiver = statsReceiver.scope(ScopeName), - windowSize = 1000, - name = ScopeName - ) - } -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/param/BUILD.bazel b/home-mixer/server/src/main/scala/com/twitter/home_mixer/param/BUILD.bazel deleted file mode 100644 index 25e9a2e31..000000000 --- a/home-mixer/server/src/main/scala/com/twitter/home_mixer/param/BUILD.bazel +++ /dev/null @@ -1,9 +0,0 @@ -scala_library( - sources = ["*.scala"], - compiler_option_sets = ["fatal_warnings"], - strict_deps = True, - tags = ["bazel-compatible"], - dependencies = [ - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/product", - ], -) diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/param/BUILD.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/param/BUILD.docx new file mode 100644 index 0000000000000000000000000000000000000000..fe43f4009f12b05ef898912c60c399f082a3ec40 GIT binary patch literal 36788 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 PTqVem2+SVw-5?$SR-fMO literal 0 HcmV?d00001 diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/param/GlobalParamConfigModule.scala b/home-mixer/server/src/main/scala/com/twitter/home_mixer/param/GlobalParamConfigModule.scala deleted file mode 100644 index 304e7bdc8..000000000 --- a/home-mixer/server/src/main/scala/com/twitter/home_mixer/param/GlobalParamConfigModule.scala +++ /dev/null @@ -1,10 +0,0 @@ -package com.twitter.home_mixer.param - -import com.twitter.inject.TwitterModule -import com.twitter.product_mixer.core.functional_component.configapi.registry.GlobalParamConfig - -object GlobalParamConfigModule extends TwitterModule { - override def configure(): Unit = { - bind[GlobalParamConfig].to[HomeGlobalParamConfig] - } -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/param/HomeGlobalParamConfig.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/param/HomeGlobalParamConfig.docx new file mode 100644 index 0000000000000000000000000000000000000000..adf27af3245662d185744ff86c5cd826b5e2024e GIT binary patch literal 37180 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 bl*Le6hXLNKz#Ih1Re}tO!0d6f2gCya_BDOa literal 0 HcmV?d00001 diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/param/HomeGlobalParamConfig.scala b/home-mixer/server/src/main/scala/com/twitter/home_mixer/param/HomeGlobalParamConfig.scala deleted file mode 100644 index 6fbd28fce..000000000 --- a/home-mixer/server/src/main/scala/com/twitter/home_mixer/param/HomeGlobalParamConfig.scala +++ /dev/null @@ -1,34 +0,0 @@ -package com.twitter.home_mixer.param - -import com.twitter.home_mixer.param.HomeGlobalParams._ -import com.twitter.product_mixer.core.functional_component.configapi.registry.GlobalParamConfig -import javax.inject.Inject -import javax.inject.Singleton - -/** - * Register Params that do not relate to a specific product. See GlobalParamConfig -> ParamConfig - * for hooks to register Params based on type. - */ -@Singleton -class HomeGlobalParamConfig @Inject() () extends GlobalParamConfig { - - override val booleanFSOverrides = Seq( - AdsDisableInjectionBasedOnUserRoleParam, - EnableAdvertiserBrandSafetySettingsFeatureHydratorParam, - EnableImpressionBloomFilter, - EnableNahFeedbackInfoParam, - EnableNewTweetsPillAvatarsParam, - EnableScribeServedCandidatesParam, - EnableSendScoresToClient, - EnableSocialContextParam, - ) - - override val boundedIntFSOverrides = Seq( - MaxNumberReplaceInstructionsParam, - TimelinesPersistenceStoreMaxEntriesPerClient, - ) - - override val boundedDoubleFSOverrides = Seq( - ImpressionBloomFilterFalsePositiveRateParam - ) -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/param/HomeGlobalParams.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/param/HomeGlobalParams.docx new file mode 100644 index 0000000000000000000000000000000000000000..27a94f2dfcb69558b78cf0c44f040442c841af50 GIT binary patch literal 37553 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

_Z*@i9xge;{OI7mVhZKds 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 CAvC-I literal 0 HcmV?d00001 diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/param/HomeGlobalParams.scala b/home-mixer/server/src/main/scala/com/twitter/home_mixer/param/HomeGlobalParams.scala deleted file mode 100644 index f19817bc9..000000000 --- a/home-mixer/server/src/main/scala/com/twitter/home_mixer/param/HomeGlobalParams.scala +++ /dev/null @@ -1,86 +0,0 @@ -package com.twitter.home_mixer.param - -import com.twitter.timelines.configapi.FSBoundedParam -import com.twitter.timelines.configapi.FSParam - -/** - * Instantiate Params that do not relate to a specific product. - * - * @see [[com.twitter.product_mixer.core.product.ProductParamConfig.supportedClientFSName]] - */ -object HomeGlobalParams { - - /** - * This param is used to disable ads injection for timelines served by home-mixer. - * It is currently used to maintain user-role based no-ads lists for automation accounts, - * and should NOT be used for other purposes. - */ - object AdsDisableInjectionBasedOnUserRoleParam - extends FSParam("home_mixer_ads_disable_injection_based_on_user_role", false) - - object EnableSendScoresToClient - extends FSParam[Boolean]( - name = "home_mixer_enable_send_scores_to_client", - default = false - ) - - object EnableNahFeedbackInfoParam - extends FSParam[Boolean]( - name = "home_mixer_enable_nah_feedback_info", - default = false - ) - - object MaxNumberReplaceInstructionsParam - extends FSBoundedParam[Int]( - name = "home_mixer_max_number_replace_instructions", - default = 100, - min = 0, - max = 200 - ) - - object TimelinesPersistenceStoreMaxEntriesPerClient - extends FSBoundedParam[Int]( - name = "home_mixer_timelines_persistence_store_max_entries_per_client", - default = 1800, - min = 500, - max = 5000 - ) - - object EnableNewTweetsPillAvatarsParam - extends FSParam[Boolean]( - name = "home_mixer_enable_new_tweets_pill_avatars", - default = true - ) - - object EnableSocialContextParam - extends FSParam[Boolean]( - name = "home_mixer_enable_social_context", - default = true - ) - - object EnableAdvertiserBrandSafetySettingsFeatureHydratorParam - extends FSParam[Boolean]( - name = "home_mixer_enable_advertiser_brand_safety_settings_feature_hydrator", - default = true - ) - - object EnableImpressionBloomFilter - extends FSParam[Boolean]( - name = "home_mixer_enable_impression_bloom_filter", - default = false - ) - - object ImpressionBloomFilterFalsePositiveRateParam - extends FSBoundedParam[Double]( - name = "home_mixer_impression_bloom_filter_false_positive_rate", - default = 0.005, - min = 0.001, - max = 0.01 - ) - - object EnableScribeServedCandidatesParam - extends FSParam[Boolean]( - name = "home_mixer_served_tweets_enable_scribing", - default = true - ) -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/param/HomeMixerFlagName.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/param/HomeMixerFlagName.docx new file mode 100644 index 0000000000000000000000000000000000000000..b7f68eea8b2fe0a178fab08bbc76dabdaf1dcddc GIT binary patch literal 36933 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 Vz?&7AgFv}TkRcJ6J|M<5U5wN{ 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 l9WQkK=G2+QR?< literal 0 HcmV?d00001 diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/param/HomeMixerInjectionNames.scala b/home-mixer/server/src/main/scala/com/twitter/home_mixer/param/HomeMixerInjectionNames.scala deleted file mode 100644 index 5ea87f5ab..000000000 --- a/home-mixer/server/src/main/scala/com/twitter/home_mixer/param/HomeMixerInjectionNames.scala +++ /dev/null @@ -1,46 +0,0 @@ -package com.twitter.home_mixer.param - -object HomeMixerInjectionNames { - final val AuthorFeatureRepository = "AuthorFeatureRepository" - final val CandidateFeaturesScribeEventPublisher = "CandidateFeaturesScribeEventPublisher" - final val CommonFeaturesScribeEventPublisher = "CommonFeaturesScribeEventPublisher" - final val EarlybirdRepository = "EarlybirdRepository" - final val EngagementsReceivedByAuthorCache = "EngagementsReceivedByAuthorCache" - final val GraphTwoHopRepository = "GraphTwoHopRepository" - final val HomeAuthorFeaturesCacheClient = "HomeAuthorFeaturesCacheClient" - final val InterestsThriftServiceClient = "InterestsThriftServiceClient" - final val BatchedStratoClientWithModerateTimeout = "BatchedStratoClientWithModerateTimeout" - final val ManhattanApolloClient = "ManhattanApolloClient" - final val ManhattanAthenaClient = "ManhattanAthenaClient" - final val ManhattanOmegaClient = "ManhattanOmegaClient" - final val ManhattanStarbuckClient = "ManhattanStarbuckClient" - final val MetricCenterUserCountingFeatureRepository = "MetricCenterUserCountingFeatureRepository" - final val MinimumFeaturesScribeEventPublisher = "MinimumFeaturesScribeEventPublisher" - final val RealGraphInNetworkScores = "RealGraphInNetworkScores" - final val RealGraphManhattanEndpoint = "RealGraphFeaturesManhattanEndpoint" - final val RealGraphFeatureRepository = "RealGraphFeatureRepository" - final val RealTimeInteractionGraphUserVertexCache = "RealTimeInteractionGraphUserVertexCache" - final val RealTimeInteractionGraphUserVertexClient = "RealTimeInteractionGraphUserVertexClient" - final val StaleTweetsCache = "StaleTweetsCache" - final val TimelineAggregateMetadataRepository = "TimelineAggregateMetadataRepository" - final val TimelineAggregatePartARepository = "TimelineAggregatePartARepository" - final val TimelineAggregatePartBRepository = "TimelineAggregatePartBRepository" - final val TimelinesRealTimeAggregateClient = "TimelinesRealTimeAggregateClient" - final val TopicCountryEngagementCache = "TopicCountryEngagementCache" - final val TopicEngagementCache = "TopicEngagementCache" - final val TweetCountryEngagementCache = "TweetCountryEngagementCache" - final val TweetEngagementCache = "TweetEngagementCache" - final val TweetypieContentRepository = "TweetypieContentRepository" - final val TweetypieStaticEntitiesCache = "TweetypieStaticEntitiesCache" - final val TwhinAuthorFollowFeatureCacheClient = "TwhinAuthorFollowFeatureCacheClient" - final val TwhinAuthorFollowFeatureRepository = "TwhinAuthorFollowFeatureRepository" - final val TwhinUserEngagementFeatureRepository = "TwhinUserEngagementFeatureRepository" - final val TwhinUserFollowFeatureRepository = "TwhinUserFollowFeatureRepository" - final val TwitterListEngagementCache = "TwitterListEngagementCache" - final val UserAuthorEngagementCache = "UserAuthorEngagementCache" - final val UserEngagementCache = "UserEngagementCache" - final val UserFollowedTopicIdsRepository = "UserFollowedTopicIdsRepository" - final val UserLanguagesRepository = "UserLanguagesRepository" - final val UserTopicEngagementForNewUserCache = "UserTopicEngagementForNewUserCache" - final val UtegSocialProofRepository = "UtegSocialProofRepository" -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/param/decider/BUILD.bazel b/home-mixer/server/src/main/scala/com/twitter/home_mixer/param/decider/BUILD.bazel deleted file mode 100644 index 5974c186f..000000000 --- a/home-mixer/server/src/main/scala/com/twitter/home_mixer/param/decider/BUILD.bazel +++ /dev/null @@ -1,10 +0,0 @@ -scala_library( - sources = ["*.scala"], - compiler_option_sets = ["fatal_warnings"], - platform = "java8", - strict_deps = True, - tags = ["bazel-compatible"], - dependencies = [ - "servo/decider", - ], -) diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/param/decider/BUILD.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/param/decider/BUILD.docx new file mode 100644 index 0000000000000000000000000000000000000000..7ad5baeea21fe1e0b4f7b6d35f27f0da7fa81661 GIT binary patch literal 36777 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 RAW*InWJm;N52J1n4*)iY$VdPH literal 0 HcmV?d00001 diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/param/decider/DeciderKey.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/param/decider/DeciderKey.docx new file mode 100644 index 0000000000000000000000000000000000000000..e6fdced5055f77f40d9f9f87a9722fae6cb97374 GIT binary patch literal 37188 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 literal 0 HcmV?d00001 diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/param/decider/DeciderKey.scala b/home-mixer/server/src/main/scala/com/twitter/home_mixer/param/decider/DeciderKey.scala deleted file mode 100644 index 91f7646d9..000000000 --- a/home-mixer/server/src/main/scala/com/twitter/home_mixer/param/decider/DeciderKey.scala +++ /dev/null @@ -1,52 +0,0 @@ -package com.twitter.home_mixer.param.decider - -import com.twitter.servo.decider.DeciderKeyEnum - -/** - * These values must correspond to the deciders configured in the - * home-mixer/server/src/main/resources/config/decider.yml file - * - * @see [[com.twitter.product_mixer.core.product.ProductParamConfig.enabledDeciderKey]] - */ -object DeciderKey extends DeciderKeyEnum { - // Products - val EnableForYouProduct = Value("enable_for_you_product") - - val EnableFollowingProduct = Value("enable_following_product") - - val EnableScoredTweetsProduct = Value("enable_scored_tweets_product") - - val EnableListTweetsProduct = Value("enable_list_tweets_product") - - val EnableListRecommendedUsersProduct = Value("enable_list_recommended_users_product") - - val EnableSubscribedProduct = Value("enable_subscribed_product") - - // Candidate Pipelines - val EnableForYouScoredTweetsCandidatePipeline = - Value("enable_for_you_scored_tweets_candidate_pipeline") - - val EnableScoredTweetsTweetMixerCandidatePipeline = - Value("enable_scored_tweets_tweet_mixer_candidate_pipeline") - - val EnableScoredTweetsInNetworkCandidatePipeline = - Value("enable_scored_tweets_in_network_candidate_pipeline") - - val EnableScoredTweetsUtegCandidatePipeline = - Value("enable_scored_tweets_uteg_candidate_pipeline") - - val EnableScoredTweetsFrsCandidatePipeline = - Value("enable_scored_tweets_frs_candidate_pipeline") - - val EnableScoredTweetsListsCandidatePipeline = - Value("enable_scored_tweets_lists_candidate_pipeline") - - val EnableScoredTweetsPopularVideosCandidatePipeline = - Value("enable_scored_tweets_popular_videos_candidate_pipeline") - - val EnableScoredTweetsBackfillCandidatePipeline = - Value("enable_scored_tweets_backfill_candidate_pipeline") - - val EnableSimClustersSimilarityFeatureHydration = - Value("enable_simclusters_similarity_feature_hydration") -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/BUILD.bazel b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/BUILD.bazel deleted file mode 100644 index e4fa669d2..000000000 --- a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/BUILD.bazel +++ /dev/null @@ -1,28 +0,0 @@ -scala_library( - compiler_option_sets = ["fatal_warnings"], - strict_deps = True, - tags = ["bazel-compatible"], - dependencies = [ - "3rdparty/jvm/javax/inject:javax.inject", - "finatra/inject/inject-core/src/main/scala", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/model", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/model/request", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/product/following", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/product/following/model", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/model", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/model", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_tweets", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_tweets/model", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/model", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/product/subscribed", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/product/subscribed/model", - "home-mixer/thrift/src/main/thrift:thrift-scala", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/model/query/ads", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/product", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/product/guice", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/product/registry", - ], -) diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/BUILD.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/BUILD.docx new file mode 100644 index 0000000000000000000000000000000000000000..7781516a7fe08645707d4a47e1bf121071a05838 GIT binary patch literal 36997 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 literal 0 HcmV?d00001 diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/HomeMixerProductModule.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/HomeMixerProductModule.docx new file mode 100644 index 0000000000000000000000000000000000000000..5ed2e206a7cfa00a8654087d33174114ecafd900 GIT binary patch literal 36815 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 O+Wy1zCcTBLXQSj3x@81 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 MBm%R?_8t%q0KhAvGynhq literal 0 HcmV?d00001 diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/HomeProductPipelineRegistryConfig.scala b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/HomeProductPipelineRegistryConfig.scala deleted file mode 100644 index 5db4bd7f6..000000000 --- a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/HomeProductPipelineRegistryConfig.scala +++ /dev/null @@ -1,60 +0,0 @@ -package com.twitter.home_mixer.product - -import com.twitter.home_mixer.model.request.FollowingProduct -import com.twitter.home_mixer.model.request.ForYouProduct -import com.twitter.home_mixer.model.request.ListRecommendedUsersProduct -import com.twitter.home_mixer.model.request.ListTweetsProduct -import com.twitter.home_mixer.model.request.ScoredTweetsProduct -import com.twitter.home_mixer.model.request.SubscribedProduct -import com.twitter.home_mixer.product.following.FollowingProductPipelineConfig -import com.twitter.home_mixer.product.for_you.ForYouProductPipelineConfig -import com.twitter.home_mixer.product.list_recommended_users.ListRecommendedUsersProductPipelineConfig -import com.twitter.home_mixer.product.scored_tweets.ScoredTweetsProductPipelineConfig -import com.twitter.home_mixer.product.list_tweets.ListTweetsProductPipelineConfig -import com.twitter.home_mixer.product.subscribed.SubscribedProductPipelineConfig -import com.twitter.inject.Injector -import com.twitter.product_mixer.core.product.guice.ProductScope -import com.twitter.product_mixer.core.product.registry.ProductPipelineRegistryConfig -import javax.inject.Inject -import javax.inject.Singleton - -@Singleton -class HomeProductPipelineRegistryConfig @Inject() ( - injector: Injector, - productScope: ProductScope) - extends ProductPipelineRegistryConfig { - - private val followingProductPipelineConfig = productScope.let(FollowingProduct) { - injector.instance[FollowingProductPipelineConfig] - } - - private val forYouProductPipelineConfig = productScope.let(ForYouProduct) { - injector.instance[ForYouProductPipelineConfig] - } - - private val scoredTweetsProductPipelineConfig = productScope.let(ScoredTweetsProduct) { - injector.instance[ScoredTweetsProductPipelineConfig] - } - - private val listTweetsProductPipelineConfig = productScope.let(ListTweetsProduct) { - injector.instance[ListTweetsProductPipelineConfig] - } - - private val listRecommendedUsersProductPipelineConfig = - productScope.let(ListRecommendedUsersProduct) { - injector.instance[ListRecommendedUsersProductPipelineConfig] - } - - private val subscribedProductPipelineConfig = productScope.let(SubscribedProduct) { - injector.instance[SubscribedProductPipelineConfig] - } - - override val productPipelineConfigs = Seq( - followingProductPipelineConfig, - forYouProductPipelineConfig, - scoredTweetsProductPipelineConfig, - listTweetsProductPipelineConfig, - listRecommendedUsersProductPipelineConfig, - subscribedProductPipelineConfig, - ) -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/following/BUILD.bazel b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/following/BUILD.bazel deleted file mode 100644 index 4771fe655..000000000 --- a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/following/BUILD.bazel +++ /dev/null @@ -1,95 +0,0 @@ -scala_library( - sources = ["*.scala"], - compiler_option_sets = ["fatal_warnings"], - strict_deps = True, - tags = ["bazel-compatible"], - dependencies = [ - "3rdparty/jvm/javax/inject:javax.inject", - "ads-injection/lib/src/main/scala/com/twitter/goldfinch/api", - "finagle/finagle-memcached/src/main/scala", - "finatra/inject/inject-core/src/main/scala", - "finatra/inject/inject-core/src/main/scala/com/twitter/inject", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/candidate_pipeline", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/functional_component/candidate_source", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/functional_component/decorator", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/functional_component/decorator/builder", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/functional_component/decorator/urt/builder", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/functional_component/feature_hydrator", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/functional_component/filter", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/functional_component/gate", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/functional_component/selector", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/functional_component/side_effect", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/marshaller/timelines", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/model", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/model/request", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/param", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/product/following/model", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/product/following/param", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/service", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/util", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/candidate_source/account_recommendations_mixer", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/candidate_source/ads", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/candidate_source/hermit", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/candidate_source/tweetconvosvc", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/decorator/urt", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/feature_hydrator/candidate/ads", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/feature_hydrator/candidate/param_gated", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/feature_hydrator/query/async", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/feature_hydrator/query/impressed_tweets", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/feature_hydrator/query/param_gated", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/feature_hydrator/query/social_graph", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/filter", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/gate", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/model/candidate", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/model/candidate/ads", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/model/presentation/urt", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/pipeline/candidate/ads", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/pipeline/candidate/flexible_injection_pipeline", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/pipeline/candidate/who_to_follow_module", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector/ads", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/side_effect", - "product-mixer/core/src/main/java/com/twitter/product_mixer/core/product/guice/scope", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/configapi", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/decorator", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/decorator/urt/builder", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/marshaller/response/urt", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/model/common/presentation", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/model/marshalling/request", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/model/marshalling/response/urt", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/model/marshalling/response/urt/item", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/pipeline/candidate", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/pipeline/mixer", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/pipeline/product", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/product", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/product/guice", - "src/java/com/twitter/search/common/schema/base", - "src/java/com/twitter/search/common/schema/earlybird", - "src/java/com/twitter/search/common/util/lang", - "src/java/com/twitter/search/queryparser/query:core-query-nodes", - "src/java/com/twitter/search/queryparser/query/search:search-query-nodes", - "src/scala/com/twitter/suggests/controller_data", - "src/thrift/com/twitter/search:earlybird-scala", - "src/thrift/com/twitter/search/common:constants-java", - "src/thrift/com/twitter/suggests/controller_data:controller_data-scala", - "src/thrift/com/twitter/timelinemixer:thrift-scala", - "src/thrift/com/twitter/timelines/render:thrift-scala", - "src/thrift/com/twitter/timelinescorer:thrift-scala", - "src/thrift/com/twitter/timelinescorer/common/scoredtweetcandidate:thrift-scala", - "src/thrift/com/twitter/timelinescorer/server/internal:thrift-scala", - "src/thrift/com/twitter/tweetypie:service-scala", - "stitch/stitch-gizmoduck", - "stitch/stitch-tweetypie", - "stringcenter/client", - "stringcenter/client/src/main/java", - "timelinemixer/server/src/main/scala/com/twitter/timelinemixer/injection/model/candidate", - "timelines/src/main/scala/com/twitter/timelines/clients/relevance_search", - "timelines/src/main/scala/com/twitter/timelines/injection/scribe", - ], - exports = [ - "home-mixer/server/src/main/scala/com/twitter/home_mixer/product/following/param", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/decorator/urt", - "src/thrift/com/twitter/timelines/render:thrift-scala", - ], -) diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/following/BUILD.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/following/BUILD.docx new file mode 100644 index 0000000000000000000000000000000000000000..ea569d7be80aa82273e087ed276acb005755ebce GIT binary patch literal 37690 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%0Ab@Jd-Mx#dlU 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 b2NPTE9opN7fflrARdRqkXddK*#ee?*&Nxz5 literal 0 HcmV?d00001 diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/following/FollowingAdsCandidatePipelineBuilder.scala b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/following/FollowingAdsCandidatePipelineBuilder.scala deleted file mode 100644 index d4898eb31..000000000 --- a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/following/FollowingAdsCandidatePipelineBuilder.scala +++ /dev/null @@ -1,108 +0,0 @@ -package com.twitter.home_mixer.product.following - -import com.twitter.adserver.{thriftscala => ads} -import com.twitter.home_mixer.functional_component.decorator.builder.HomeAdsClientEventDetailsBuilder -import com.twitter.home_mixer.functional_component.gate.ExcludeSoftUserGate -import com.twitter.home_mixer.model.HomeFeatures.TweetLanguageFeature -import com.twitter.home_mixer.model.HomeFeatures.TweetTextFeature -import com.twitter.home_mixer.param.HomeGlobalParams -import com.twitter.home_mixer.param.HomeGlobalParams.EnableAdvertiserBrandSafetySettingsFeatureHydratorParam -import com.twitter.home_mixer.product.following.model.FollowingQuery -import com.twitter.home_mixer.product.following.param.FollowingParam.EnableAdsCandidatePipelineParam -import com.twitter.home_mixer.product.following.param.FollowingParam.EnableFastAds -import com.twitter.home_mixer.service.HomeMixerAlertConfig -import com.twitter.product_mixer.component_library.candidate_source.ads.AdsProdThriftCandidateSource -import com.twitter.product_mixer.component_library.decorator.urt.UrtItemCandidateDecorator -import com.twitter.product_mixer.component_library.decorator.urt.builder.contextual_ref.ContextualTweetRefBuilder -import com.twitter.product_mixer.component_library.decorator.urt.builder.item.ad.AdsCandidateUrtItemBuilder -import com.twitter.product_mixer.component_library.decorator.urt.builder.metadata.ClientEventInfoBuilder -import com.twitter.product_mixer.component_library.feature_hydrator.candidate.ads.AdvertiserBrandSafetySettingsFeatureHydrator -import com.twitter.product_mixer.component_library.feature_hydrator.candidate.param_gated.ParamGatedCandidateFeatureHydrator -import com.twitter.product_mixer.component_library.gate.NonEmptyCandidatesGate -import com.twitter.product_mixer.component_library.model.candidate.ads.AdsCandidate -import com.twitter.product_mixer.component_library.pipeline.candidate.ads.AdsDependentCandidatePipelineConfig -import com.twitter.product_mixer.component_library.pipeline.candidate.ads.AdsDependentCandidatePipelineConfigBuilder -import com.twitter.product_mixer.component_library.pipeline.candidate.ads.CountCandidatesFromPipelines -import com.twitter.product_mixer.component_library.pipeline.candidate.ads.PipelineScopedOrganicItems -import com.twitter.product_mixer.component_library.pipeline.candidate.ads.ValidAdImpressionIdFilter -import com.twitter.product_mixer.core.functional_component.common.CandidateScope -import com.twitter.product_mixer.core.gate.ParamNotGate -import com.twitter.product_mixer.core.model.common.identifier.CandidatePipelineIdentifier -import com.twitter.product_mixer.core.model.marshalling.response.rtf.safety_level.TimelineHomePromotedHydrationSafetyLevel -import com.twitter.product_mixer.core.model.marshalling.response.urt.contextual_ref.TweetHydrationContext -import com.twitter.timelines.injection.scribe.InjectionScribeUtil -import com.twitter.timelineservice.suggests.{thriftscala => st} -import javax.inject.Inject -import javax.inject.Singleton - -@Singleton -class FollowingAdsCandidatePipelineBuilder @Inject() ( - adsCandidatePipelineConfigBuilder: AdsDependentCandidatePipelineConfigBuilder, - adsCandidateSource: AdsProdThriftCandidateSource, - advertiserBrandSafetySettingsFeatureHydrator: AdvertiserBrandSafetySettingsFeatureHydrator[ - FollowingQuery, - AdsCandidate - ]) { - - private val identifier: CandidatePipelineIdentifier = CandidatePipelineIdentifier("FollowingAds") - - private val suggestType = st.SuggestType.Promoted - - private val clientEventInfoBuilder = ClientEventInfoBuilder( - component = InjectionScribeUtil.scribeComponent(suggestType).get, - detailsBuilder = Some(HomeAdsClientEventDetailsBuilder(Some(suggestType.name))) - ) - - private val contextualTweetRefBuilder = ContextualTweetRefBuilder( - TweetHydrationContext( - safetyLevelOverride = Some(TimelineHomePromotedHydrationSafetyLevel), - outerTweetContext = None - )) - - private val decorator = UrtItemCandidateDecorator( - AdsCandidateUrtItemBuilder( - tweetClientEventInfoBuilder = Some(clientEventInfoBuilder), - contextualTweetRefBuilder = Some(contextualTweetRefBuilder) - )) - - private val alerts = Seq( - HomeMixerAlertConfig.BusinessHours.defaultSuccessRateAlert(), - HomeMixerAlertConfig.BusinessHours.defaultEmptyResponseRateAlert() - ) - - def build( - organicCandidatePipelines: CandidateScope - ): AdsDependentCandidatePipelineConfig[FollowingQuery] = - adsCandidatePipelineConfigBuilder.build[FollowingQuery]( - adsCandidateSource = adsCandidateSource, - identifier = identifier, - adsDisplayLocationBuilder = query => - if (query.params.getBoolean(EnableFastAds)) ads.DisplayLocation.TimelineHomeReverseChron - else ads.DisplayLocation.TimelineHome, - getOrganicItems = PipelineScopedOrganicItems( - pipelines = organicCandidatePipelines, - textFeature = TweetTextFeature, - languageFeature = TweetLanguageFeature - ), - countNumOrganicItems = CountCandidatesFromPipelines(organicCandidatePipelines), - supportedClientParam = Some(EnableAdsCandidatePipelineParam), - gates = Seq( - ParamNotGate( - name = "AdsDisableInjectionBasedOnUserRole", - param = HomeGlobalParams.AdsDisableInjectionBasedOnUserRoleParam - ), - ExcludeSoftUserGate, - NonEmptyCandidatesGate(organicCandidatePipelines) - ), - filters = Seq(ValidAdImpressionIdFilter), - postFilterFeatureHydration = Seq( - ParamGatedCandidateFeatureHydrator( - EnableAdvertiserBrandSafetySettingsFeatureHydratorParam, - advertiserBrandSafetySettingsFeatureHydrator - ) - ), - decorator = Some(decorator), - alerts = alerts, - urtRequest = Some(true), - ) -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/following/FollowingEarlybirdCandidatePipelineConfig.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/following/FollowingEarlybirdCandidatePipelineConfig.docx new file mode 100644 index 0000000000000000000000000000000000000000..32275947129ef3be95608dd9ee630a63640a6d55 GIT binary patch literal 37326 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 literal 0 HcmV?d00001 diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/following/FollowingEarlybirdCandidatePipelineConfig.scala b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/following/FollowingEarlybirdCandidatePipelineConfig.scala deleted file mode 100644 index addb298c2..000000000 --- a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/following/FollowingEarlybirdCandidatePipelineConfig.scala +++ /dev/null @@ -1,54 +0,0 @@ -package com.twitter.home_mixer.product.following - -import com.twitter.home_mixer.candidate_pipeline.FollowingEarlybirdResponseFeatureTransformer -import com.twitter.home_mixer.functional_component.candidate_source.EarlybirdCandidateSource -import com.twitter.home_mixer.product.following.model.FollowingQuery -import com.twitter.product_mixer.component_library.feature_hydrator.query.social_graph.SGSFollowedUsersFeature -import com.twitter.product_mixer.component_library.gate.NonEmptySeqFeatureGate -import com.twitter.product_mixer.component_library.model.candidate.TweetCandidate -import com.twitter.product_mixer.core.functional_component.candidate_source.BaseCandidateSource -import com.twitter.product_mixer.core.functional_component.gate.Gate -import com.twitter.product_mixer.core.functional_component.transformer.CandidateFeatureTransformer -import com.twitter.product_mixer.core.functional_component.transformer.CandidatePipelineQueryTransformer -import com.twitter.product_mixer.core.functional_component.transformer.CandidatePipelineResultsTransformer -import com.twitter.product_mixer.core.model.common.identifier.CandidatePipelineIdentifier -import com.twitter.product_mixer.core.pipeline.candidate.CandidatePipelineConfig -import com.twitter.search.earlybird.{thriftscala => t} -import javax.inject.Inject -import javax.inject.Singleton - -@Singleton -class FollowingEarlybirdCandidatePipelineConfig @Inject() ( - earlybirdCandidateSource: EarlybirdCandidateSource, - followingEarlybirdQueryTransformer: FollowingEarlybirdQueryTransformer) - extends CandidatePipelineConfig[ - FollowingQuery, - t.EarlybirdRequest, - t.ThriftSearchResult, - TweetCandidate - ] { - - override val identifier: CandidatePipelineIdentifier = - CandidatePipelineIdentifier("FollowingEarlybird") - - override val candidateSource: BaseCandidateSource[t.EarlybirdRequest, t.ThriftSearchResult] = - earlybirdCandidateSource - - override val gates: Seq[Gate[FollowingQuery]] = Seq( - NonEmptySeqFeatureGate(SGSFollowedUsersFeature) - ) - - override val queryTransformer: CandidatePipelineQueryTransformer[ - FollowingQuery, - t.EarlybirdRequest - ] = followingEarlybirdQueryTransformer - - override val featuresFromCandidateSourceTransformers: Seq[ - CandidateFeatureTransformer[t.ThriftSearchResult] - ] = Seq(FollowingEarlybirdResponseFeatureTransformer) - - override val resultTransformer: CandidatePipelineResultsTransformer[ - t.ThriftSearchResult, - TweetCandidate - ] = { sourceResult => TweetCandidate(id = sourceResult.id) } -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/following/FollowingEarlybirdQueryTransformer.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/following/FollowingEarlybirdQueryTransformer.docx new file mode 100644 index 0000000000000000000000000000000000000000..425da6c9d23ca3164c4d1860e84cf893eb68a4b4 GIT binary patch literal 38114 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
Z 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 KJiHUX{rf-gjASDK literal 0 HcmV?d00001 diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/following/FollowingEarlybirdQueryTransformer.scala b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/following/FollowingEarlybirdQueryTransformer.scala deleted file mode 100644 index c388cfa92..000000000 --- a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/following/FollowingEarlybirdQueryTransformer.scala +++ /dev/null @@ -1,84 +0,0 @@ -package com.twitter.home_mixer.product.following - -import com.twitter.finagle.thrift.ClientId -import com.twitter.finagle.tracing.Trace -import com.twitter.home_mixer.model.HomeFeatures.RealGraphInNetworkScoresFeature -import com.twitter.home_mixer.product.following.model.FollowingQuery -import com.twitter.home_mixer.product.following.param.FollowingParam.ServerMaxResultsParam -import com.twitter.product_mixer.component_library.feature_hydrator.query.social_graph.SGSFollowedUsersFeature -import com.twitter.product_mixer.core.functional_component.transformer.CandidatePipelineQueryTransformer -import com.twitter.product_mixer.core.model.marshalling.response.urt.operation.BottomCursor -import com.twitter.product_mixer.core.model.marshalling.response.urt.operation.GapCursor -import com.twitter.product_mixer.core.model.marshalling.response.urt.operation.TopCursor -import com.twitter.product_mixer.core.pipeline.pipeline_failure.MalformedCursor -import com.twitter.product_mixer.core.pipeline.pipeline_failure.PipelineFailure -import com.twitter.search.common.schema.earlybird.EarlybirdFieldConstants.EarlybirdFieldConstant -import com.twitter.search.earlybird.{thriftscala => t} -import com.twitter.search.queryparser.query.Conjunction -import com.twitter.search.queryparser.query.search.SearchOperator -import javax.inject.Inject -import javax.inject.Singleton -import scala.jdk.CollectionConverters.asJavaIterableConverter - -@Singleton -case class FollowingEarlybirdQueryTransformer @Inject() (clientId: ClientId) - extends CandidatePipelineQueryTransformer[FollowingQuery, t.EarlybirdRequest] { - - override def transform(query: FollowingQuery): t.EarlybirdRequest = { - val followedUserIds = - query.features.map(_.get(SGSFollowedUsersFeature)).getOrElse(Seq.empty).toSet - val realGraphInNetworkFollowedUserIds = - query.features.map(_.get(RealGraphInNetworkScoresFeature)).getOrElse(Map.empty).keySet - val userId = query.getRequiredUserId - val combinedUserIds = userId +: followedUserIds.toSeq - - val baseFollowedUsersSearchOperator = new SearchOperator.Builder() - .setType(SearchOperator.Type.FEATURE_VALUE_IN_ACCEPT_LIST_OR_UNSET) - .addOperand(EarlybirdFieldConstant.DIRECTED_AT_USER_ID_CSF.getFieldName) - - val followedUsersQuery = - baseFollowedUsersSearchOperator.addOperands(combinedUserIds.map(_.toString).asJava).build() - - val searchQuery = query.pipelineCursor - .map { cursor => - val sinceIdQuery = - (id: Long) => new SearchOperator(SearchOperator.Type.SINCE_ID, id.toString) - val maxIdQuery = // max ID is inclusive, so subtract 1 - (id: Long) => new SearchOperator(SearchOperator.Type.MAX_ID, (id - 1).toString) - - (cursor.cursorType, cursor.id, cursor.gapBoundaryId) match { - case (Some(TopCursor), Some(sinceId), _) => - new Conjunction(sinceIdQuery(sinceId), followedUsersQuery) - case (Some(BottomCursor), Some(maxId), _) => - new Conjunction(maxIdQuery(maxId), followedUsersQuery) - case (Some(GapCursor), Some(maxId), Some(sinceId)) => - new Conjunction(sinceIdQuery(sinceId), maxIdQuery(maxId), followedUsersQuery) - case (Some(GapCursor), _, _) => - throw PipelineFailure(MalformedCursor, "Invalid cursor " + cursor.toString) - case _ => followedUsersQuery - } - }.getOrElse(followedUsersQuery) - - val metadataOptions = t.ThriftSearchResultMetadataOptions( - getInReplyToStatusId = true, - getReferencedTweetAuthorId = true, - getFromUserId = true - ) - - t.EarlybirdRequest( - searchQuery = t.ThriftSearchQuery( - serializedQuery = Some(searchQuery.serialize), - fromUserIDFilter64 = Some(combinedUserIds), - numResults = query.requestedMaxResults.getOrElse(query.params(ServerMaxResultsParam)), - rankingMode = t.ThriftSearchRankingMode.Recency, - resultMetadataOptions = Some(metadataOptions), - searcherId = query.getOptionalUserId, - ), - getOlderResults = Some(true), // needed for archive access to older tweets - clientRequestID = Some(s"${Trace.id.traceId}"), - followedUserIds = Some(combinedUserIds), - numResultsToReturnAtRoot = Some(query.params(ServerMaxResultsParam)), - clientId = Some(clientId.name), - ) - } -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/following/FollowingEarlybirdResponseFeatureTransformer.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/following/FollowingEarlybirdResponseFeatureTransformer.docx new file mode 100644 index 0000000000000000000000000000000000000000..90b37d5ff52e0068e44fc8a9eb62fb8da48d2530 GIT binary patch literal 37179 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 t} - -object FollowingEarlybirdResponseFeatureTransformer - extends CandidateFeatureTransformer[t.ThriftSearchResult] { - - override val identifier: TransformerIdentifier = - TransformerIdentifier("FollowingEarlybirdResponse") - - override val features: Set[Feature[_, _]] = Set( - AuthorIdFeature, - InReplyToTweetIdFeature, - IsRetweetFeature, - SourceTweetIdFeature, - SourceUserIdFeature, - ) - - override def transform(candidate: t.ThriftSearchResult): FeatureMap = FeatureMapBuilder() - .add(AuthorIdFeature, candidate.tweetypieTweet.flatMap(_.coreData.map(_.userId))) - .add( - InReplyToTweetIdFeature, - candidate.tweetypieTweet.flatMap(_.coreData.flatMap(_.reply.flatMap(_.inReplyToStatusId)))) - .add(IsRetweetFeature, candidate.metadata.exists(_.isRetweet.contains(true))) - .add(SourceTweetIdFeature, candidate.sourceTweetypieTweet.map(_.id)) - .add(SourceUserIdFeature, candidate.sourceTweetypieTweet.flatMap(_.coreData.map(_.userId))) - .build() -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/following/FollowingMixerPipelineConfig.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/following/FollowingMixerPipelineConfig.docx new file mode 100644 index 0000000000000000000000000000000000000000..4959847645b290bd806994f4ab54515c3fa37e4b GIT binary patch literal 40098 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 literal 0 HcmV?d00001 diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/following/FollowingMixerPipelineConfig.scala b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/following/FollowingMixerPipelineConfig.scala deleted file mode 100644 index efda03595..000000000 --- a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/following/FollowingMixerPipelineConfig.scala +++ /dev/null @@ -1,299 +0,0 @@ -package com.twitter.home_mixer.product.following - -import com.twitter.clientapp.{thriftscala => ca} -import com.twitter.goldfinch.api.AdsInjectionSurfaceAreas -import com.twitter.home_mixer.candidate_pipeline.ConversationServiceCandidatePipelineConfigBuilder -import com.twitter.home_mixer.candidate_pipeline.EditedTweetsCandidatePipelineConfig -import com.twitter.home_mixer.candidate_pipeline.NewTweetsPillCandidatePipelineConfig -import com.twitter.home_mixer.functional_component.decorator.HomeConversationServiceCandidateDecorator -import com.twitter.home_mixer.functional_component.decorator.urt.builder.AddEntriesWithReplaceAndShowAlertAndCoverInstructionBuilder -import com.twitter.home_mixer.functional_component.decorator.urt.builder.HomeFeedbackActionInfoBuilder -import com.twitter.home_mixer.functional_component.feature_hydrator._ -import com.twitter.home_mixer.functional_component.selector.UpdateHomeClientEventDetails -import com.twitter.home_mixer.functional_component.selector.UpdateNewTweetsPillDecoration -import com.twitter.home_mixer.functional_component.side_effect._ -import com.twitter.home_mixer.model.GapIncludeInstruction -import com.twitter.home_mixer.param.HomeGlobalParams.EnableImpressionBloomFilter -import com.twitter.home_mixer.param.HomeGlobalParams.MaxNumberReplaceInstructionsParam -import com.twitter.home_mixer.param.HomeMixerFlagName.ScribeClientEventsFlag -import com.twitter.product_mixer.component_library.feature_hydrator.query.social_graph.SGSFollowedUsersQueryFeatureHydrator -import com.twitter.home_mixer.product.following.model.FollowingQuery -import com.twitter.home_mixer.product.following.model.HomeMixerExternalStrings -import com.twitter.home_mixer.product.following.param.FollowingParam.EnableFlipInjectionModuleCandidatePipelineParam -import com.twitter.home_mixer.product.following.param.FollowingParam.FlipInlineInjectionModulePosition -import com.twitter.home_mixer.product.following.param.FollowingParam.ServerMaxResultsParam -import com.twitter.home_mixer.product.following.param.FollowingParam.WhoToFollowPositionParam -import com.twitter.home_mixer.util.CandidatesUtil -import com.twitter.inject.annotations.Flag -import com.twitter.logpipeline.client.common.EventPublisher -import com.twitter.product_mixer.component_library.feature_hydrator.query.async.AsyncQueryFeatureHydrator -import com.twitter.product_mixer.component_library.feature_hydrator.query.impressed_tweets.ImpressedTweetsQueryFeatureHydrator -import com.twitter.product_mixer.component_library.feature_hydrator.query.param_gated.AsyncParamGatedQueryFeatureHydrator -import com.twitter.product_mixer.component_library.gate.NonEmptyCandidatesGate -import com.twitter.product_mixer.component_library.model.candidate.TweetCandidate -import com.twitter.product_mixer.component_library.pipeline.candidate.flexible_injection_pipeline.FlipPromptDependentCandidatePipelineConfigBuilder -import com.twitter.product_mixer.component_library.pipeline.candidate.who_to_follow_module.WhoToFollowArmCandidatePipelineConfig -import com.twitter.product_mixer.component_library.premarshaller.urt.UrtDomainMarshaller -import com.twitter.product_mixer.component_library.premarshaller.urt.builder.OrderedBottomCursorBuilder -import com.twitter.product_mixer.component_library.premarshaller.urt.builder.OrderedGapCursorBuilder -import com.twitter.product_mixer.component_library.premarshaller.urt.builder.OrderedTopCursorBuilder -import com.twitter.product_mixer.component_library.premarshaller.urt.builder.ReplaceAllEntries -import com.twitter.product_mixer.component_library.premarshaller.urt.builder.ReplaceEntryInstructionBuilder -import com.twitter.product_mixer.component_library.premarshaller.urt.builder.ShowAlertInstructionBuilder -import com.twitter.product_mixer.component_library.premarshaller.urt.builder.ShowCoverInstructionBuilder -import com.twitter.product_mixer.component_library.premarshaller.urt.builder.StaticTimelineScribeConfigBuilder -import com.twitter.product_mixer.component_library.premarshaller.urt.builder.UrtMetadataBuilder -import com.twitter.product_mixer.component_library.selector.DropMaxCandidates -import com.twitter.product_mixer.component_library.selector.DropMaxModuleItemCandidates -import com.twitter.product_mixer.component_library.selector.DropModuleTooFewModuleItemResults -import com.twitter.product_mixer.component_library.selector.InsertAppendResults -import com.twitter.product_mixer.component_library.selector.InsertFixedPositionResults -import com.twitter.product_mixer.component_library.selector.SelectConditionally -import com.twitter.product_mixer.component_library.selector.UpdateSortCandidates -import com.twitter.product_mixer.component_library.selector.ads.AdsInjector -import com.twitter.product_mixer.component_library.selector.ads.InsertAdResults -import com.twitter.product_mixer.core.functional_component.common.SpecificPipeline -import com.twitter.product_mixer.core.functional_component.common.SpecificPipelines -import com.twitter.product_mixer.core.functional_component.configapi.StaticParam -import com.twitter.product_mixer.core.functional_component.feature_hydrator.QueryFeatureHydrator -import com.twitter.product_mixer.core.functional_component.marshaller.TransportMarshaller -import com.twitter.product_mixer.core.functional_component.marshaller.response.urt.UrtTransportMarshaller -import com.twitter.product_mixer.core.functional_component.premarshaller.DomainMarshaller -import com.twitter.product_mixer.core.functional_component.selector.Selector -import com.twitter.product_mixer.core.functional_component.side_effect.PipelineResultSideEffect -import com.twitter.product_mixer.core.model.common.UniversalNoun -import com.twitter.product_mixer.core.model.common.identifier.CandidatePipelineIdentifier -import com.twitter.product_mixer.core.model.common.identifier.MixerPipelineIdentifier -import com.twitter.product_mixer.core.model.marshalling.response.urt.Timeline -import com.twitter.product_mixer.core.model.marshalling.response.urt.TimelineModule -import com.twitter.product_mixer.core.model.marshalling.response.urt.TimelineScribeConfig -import com.twitter.product_mixer.core.model.marshalling.response.urt.item.tweet.TweetItem -import com.twitter.product_mixer.core.pipeline.FailOpenPolicy -import com.twitter.product_mixer.core.pipeline.candidate.CandidatePipelineConfig -import com.twitter.product_mixer.core.pipeline.candidate.DependentCandidatePipelineConfig -import com.twitter.product_mixer.core.pipeline.mixer.MixerPipelineConfig -import com.twitter.product_mixer.core.product.guice.scope.ProductScoped -import com.twitter.stringcenter.client.StringCenter -import com.twitter.timelines.render.{thriftscala => urt} -import javax.inject.Inject -import javax.inject.Provider -import javax.inject.Singleton - -@Singleton -class FollowingMixerPipelineConfig @Inject() ( - followingEarlybirdCandidatePipelineConfig: FollowingEarlybirdCandidatePipelineConfig, - conversationServiceCandidatePipelineConfigBuilder: ConversationServiceCandidatePipelineConfigBuilder[ - FollowingQuery - ], - homeFeedbackActionInfoBuilder: HomeFeedbackActionInfoBuilder, - followingAdsCandidatePipelineBuilder: FollowingAdsCandidatePipelineBuilder, - followingWhoToFollowCandidatePipelineConfigBuilder: FollowingWhoToFollowCandidatePipelineConfigBuilder, - flipPromptDependentCandidatePipelineConfigBuilder: FlipPromptDependentCandidatePipelineConfigBuilder, - editedTweetsCandidatePipelineConfig: EditedTweetsCandidatePipelineConfig, - newTweetsPillCandidatePipelineConfig: NewTweetsPillCandidatePipelineConfig[FollowingQuery], - dismissInfoQueryFeatureHydrator: DismissInfoQueryFeatureHydrator, - gizmoduckUserQueryFeatureHydrator: GizmoduckUserQueryFeatureHydrator, - persistenceStoreQueryFeatureHydrator: PersistenceStoreQueryFeatureHydrator, - realGraphInNetworkSourceQueryHydrator: RealGraphInNetworkScoresQueryFeatureHydrator, - requestQueryFeatureHydrator: RequestQueryFeatureHydrator[FollowingQuery], - sgsFollowedUsersQueryFeatureHydrator: SGSFollowedUsersQueryFeatureHydrator, - impressionBloomFilterQueryFeatureHydrator: ImpressionBloomFilterQueryFeatureHydrator[ - FollowingQuery - ], - manhattanTweetImpressionsQueryFeatureHydrator: TweetImpressionsQueryFeatureHydrator[ - FollowingQuery - ], - memcacheTweetImpressionsQueryFeatureHydrator: ImpressedTweetsQueryFeatureHydrator, - lastNonPollingTimeQueryFeatureHydrator: LastNonPollingTimeQueryFeatureHydrator, - adsInjector: AdsInjector, - updateLastNonPollingTimeSideEffect: UpdateLastNonPollingTimeSideEffect[FollowingQuery, Timeline], - publishClientSentImpressionsEventBusSideEffect: PublishClientSentImpressionsEventBusSideEffect, - publishClientSentImpressionsManhattanSideEffect: PublishClientSentImpressionsManhattanSideEffect, - publishImpressionBloomFilterSideEffect: PublishImpressionBloomFilterSideEffect, - updateTimelinesPersistenceStoreSideEffect: UpdateTimelinesPersistenceStoreSideEffect, - truncateTimelinesPersistenceStoreSideEffect: TruncateTimelinesPersistenceStoreSideEffect, - homeTimelineServedCandidatesSideEffect: HomeScribeServedCandidatesSideEffect, - clientEventsScribeEventPublisher: EventPublisher[ca.LogEvent], - externalStrings: HomeMixerExternalStrings, - @ProductScoped stringCenterProvider: Provider[StringCenter], - urtTransportMarshaller: UrtTransportMarshaller, - @Flag(ScribeClientEventsFlag) enableScribeClientEvents: Boolean) - extends MixerPipelineConfig[FollowingQuery, Timeline, urt.TimelineResponse] { - - override val identifier: MixerPipelineIdentifier = MixerPipelineIdentifier("Following") - - private val dependentCandidatesStep = MixerPipelineConfig.dependentCandidatePipelinesStep - private val resultSelectorsStep = MixerPipelineConfig.resultSelectorsStep - - override val fetchQueryFeatures: Seq[QueryFeatureHydrator[FollowingQuery]] = Seq( - requestQueryFeatureHydrator, - sgsFollowedUsersQueryFeatureHydrator, - realGraphInNetworkSourceQueryHydrator, - AsyncQueryFeatureHydrator(dependentCandidatesStep, dismissInfoQueryFeatureHydrator), - AsyncQueryFeatureHydrator(dependentCandidatesStep, gizmoduckUserQueryFeatureHydrator), - AsyncQueryFeatureHydrator(dependentCandidatesStep, persistenceStoreQueryFeatureHydrator), - AsyncQueryFeatureHydrator(dependentCandidatesStep, lastNonPollingTimeQueryFeatureHydrator), - AsyncParamGatedQueryFeatureHydrator( - EnableImpressionBloomFilter, - resultSelectorsStep, - impressionBloomFilterQueryFeatureHydrator), - AsyncQueryFeatureHydrator(resultSelectorsStep, manhattanTweetImpressionsQueryFeatureHydrator), - AsyncQueryFeatureHydrator(resultSelectorsStep, memcacheTweetImpressionsQueryFeatureHydrator) - ) - - private val earlybirdCandidatePipelineScope = - SpecificPipeline(followingEarlybirdCandidatePipelineConfig.identifier) - - private val conversationServiceCandidatePipelineConfig = - conversationServiceCandidatePipelineConfigBuilder.build( - Seq(NonEmptyCandidatesGate(earlybirdCandidatePipelineScope)), - HomeConversationServiceCandidateDecorator(homeFeedbackActionInfoBuilder) - ) - - private val followingAdsCandidatePipelineConfig = - followingAdsCandidatePipelineBuilder.build(earlybirdCandidatePipelineScope) - - private val followingWhoToFollowCandidatePipelineConfig = - followingWhoToFollowCandidatePipelineConfigBuilder.build(earlybirdCandidatePipelineScope) - - private val flipPromptCandidatePipelineConfig = - flipPromptDependentCandidatePipelineConfigBuilder.build[FollowingQuery]( - supportedClientParam = Some(EnableFlipInjectionModuleCandidatePipelineParam) - ) - - override val candidatePipelines: Seq[CandidatePipelineConfig[FollowingQuery, _, _, _]] = - Seq(followingEarlybirdCandidatePipelineConfig) - - override val dependentCandidatePipelines: Seq[ - DependentCandidatePipelineConfig[FollowingQuery, _, _, _] - ] = Seq( - conversationServiceCandidatePipelineConfig, - followingAdsCandidatePipelineConfig, - followingWhoToFollowCandidatePipelineConfig, - flipPromptCandidatePipelineConfig, - editedTweetsCandidatePipelineConfig, - newTweetsPillCandidatePipelineConfig - ) - - override val failOpenPolicies: Map[CandidatePipelineIdentifier, FailOpenPolicy] = Map( - followingAdsCandidatePipelineConfig.identifier -> FailOpenPolicy.Always, - followingWhoToFollowCandidatePipelineConfig.identifier -> FailOpenPolicy.Always, - flipPromptCandidatePipelineConfig.identifier -> FailOpenPolicy.Always, - editedTweetsCandidatePipelineConfig.identifier -> FailOpenPolicy.Always, - newTweetsPillCandidatePipelineConfig.identifier -> FailOpenPolicy.Always, - ) - - override val resultSelectors: Seq[Selector[FollowingQuery]] = Seq( - UpdateSortCandidates( - ordering = CandidatesUtil.reverseChronTweetsOrdering, - candidatePipeline = conversationServiceCandidatePipelineConfig.identifier - ), - DropMaxCandidates( - candidatePipeline = editedTweetsCandidatePipelineConfig.identifier, - maxSelectionsParam = MaxNumberReplaceInstructionsParam - ), - DropMaxCandidates( - candidatePipeline = conversationServiceCandidatePipelineConfig.identifier, - maxSelectionsParam = ServerMaxResultsParam - ), - DropModuleTooFewModuleItemResults( - candidatePipeline = followingWhoToFollowCandidatePipelineConfig.identifier, - minModuleItemsParam = StaticParam(WhoToFollowArmCandidatePipelineConfig.MinCandidatesSize) - ), - DropMaxModuleItemCandidates( - candidatePipeline = followingWhoToFollowCandidatePipelineConfig.identifier, - maxModuleItemsParam = StaticParam(WhoToFollowArmCandidatePipelineConfig.MaxCandidatesSize) - ), - InsertAppendResults(candidatePipeline = conversationServiceCandidatePipelineConfig.identifier), - InsertFixedPositionResults( - candidatePipeline = followingWhoToFollowCandidatePipelineConfig.identifier, - positionParam = WhoToFollowPositionParam - ), - InsertFixedPositionResults( - candidatePipeline = flipPromptCandidatePipelineConfig.identifier, - positionParam = FlipInlineInjectionModulePosition - ), - InsertAdResults( - surfaceAreaName = AdsInjectionSurfaceAreas.HomeTimeline, - adsInjector = adsInjector.forSurfaceArea(AdsInjectionSurfaceAreas.HomeTimeline), - adsCandidatePipeline = followingAdsCandidatePipelineConfig.identifier - ), - // This selector must come after the tweets are inserted into the results - UpdateNewTweetsPillDecoration( - pipelineScope = SpecificPipelines( - conversationServiceCandidatePipelineConfig.identifier, - newTweetsPillCandidatePipelineConfig.identifier - ), - stringCenter = stringCenterProvider.get(), - seeNewTweetsString = externalStrings.seeNewTweetsString, - tweetedString = externalStrings.tweetedString - ), - InsertAppendResults(candidatePipeline = editedTweetsCandidatePipelineConfig.identifier), - SelectConditionally( - selector = - InsertAppendResults(candidatePipeline = newTweetsPillCandidatePipelineConfig.identifier), - includeSelector = (_, _, results) => CandidatesUtil.containsType[TweetCandidate](results) - ), - UpdateHomeClientEventDetails( - candidatePipelines = Set(conversationServiceCandidatePipelineConfig.identifier) - ), - ) - - private val homeScribeClientEventSideEffect = HomeScribeClientEventSideEffect( - enableScribeClientEvents = enableScribeClientEvents, - logPipelinePublisher = clientEventsScribeEventPublisher, - injectedTweetsCandidatePipelineIdentifiers = - Seq(conversationServiceCandidatePipelineConfig.identifier), - adsCandidatePipelineIdentifier = Some(followingAdsCandidatePipelineConfig.identifier), - whoToFollowCandidatePipelineIdentifier = - Some(followingWhoToFollowCandidatePipelineConfig.identifier), - ) - - override val resultSideEffects: Seq[PipelineResultSideEffect[FollowingQuery, Timeline]] = Seq( - homeScribeClientEventSideEffect, - homeTimelineServedCandidatesSideEffect, - publishClientSentImpressionsEventBusSideEffect, - publishClientSentImpressionsManhattanSideEffect, - publishImpressionBloomFilterSideEffect, - truncateTimelinesPersistenceStoreSideEffect, - updateLastNonPollingTimeSideEffect, - updateTimelinesPersistenceStoreSideEffect, - ) - - override val domainMarshaller: DomainMarshaller[FollowingQuery, Timeline] = { - val instructionBuilders = Seq( - ReplaceEntryInstructionBuilder(ReplaceAllEntries), - AddEntriesWithReplaceAndShowAlertAndCoverInstructionBuilder(), - ShowAlertInstructionBuilder(), - ShowCoverInstructionBuilder(), - ) - - val idSelector: PartialFunction[UniversalNoun[_], Long] = { - // exclude ads while determining tweet cursor values - case item: TweetItem if item.promotedMetadata.isEmpty => item.id - case module: TimelineModule - if module.items.headOption.exists(_.item.isInstanceOf[TweetItem]) => - module.items.last.item match { case item: TweetItem => item.id } - } - val topCursorBuilder = OrderedTopCursorBuilder(idSelector) - val bottomCursorBuilder = - OrderedBottomCursorBuilder(idSelector, GapIncludeInstruction.inverse()) - val gapCursorBuilder = OrderedGapCursorBuilder(idSelector, GapIncludeInstruction) - - val metadataBuilder = UrtMetadataBuilder( - title = None, - scribeConfigBuilder = Some( - StaticTimelineScribeConfigBuilder( - TimelineScribeConfig(page = Some("following"), section = None, entityToken = None))) - ) - - UrtDomainMarshaller( - instructionBuilders = instructionBuilders, - metadataBuilder = Some(metadataBuilder), - cursorBuilders = Seq(topCursorBuilder, bottomCursorBuilder, gapCursorBuilder) - ) - } - - override val transportMarshaller: TransportMarshaller[Timeline, urt.TimelineResponse] = - urtTransportMarshaller -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/following/FollowingProductPipelineConfig.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/following/FollowingProductPipelineConfig.docx new file mode 100644 index 0000000000000000000000000000000000000000..f492526faa143da2f19ccd38ed288d99571ea1a5 GIT binary patch literal 38390 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 literal 0 HcmV?d00001 diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/following/FollowingProductPipelineConfig.scala b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/following/FollowingProductPipelineConfig.scala deleted file mode 100644 index 28c7cd6a0..000000000 --- a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/following/FollowingProductPipelineConfig.scala +++ /dev/null @@ -1,131 +0,0 @@ -package com.twitter.home_mixer.product.following - -import com.twitter.conversions.DurationOps._ -import com.twitter.home_mixer.marshaller.timelines.ChronologicalCursorUnmarshaller -import com.twitter.home_mixer.model.request.FollowingProduct -import com.twitter.home_mixer.model.request.FollowingProductContext -import com.twitter.home_mixer.model.request.HomeMixerRequest -import com.twitter.home_mixer.product.following.model.FollowingQuery -import com.twitter.home_mixer.product.following.param.FollowingParam.ServerMaxResultsParam -import com.twitter.home_mixer.product.following.param.FollowingParamConfig -import com.twitter.home_mixer.service.HomeMixerAccessPolicy.DefaultHomeMixerAccessPolicy -import com.twitter.home_mixer.service.HomeMixerAlertConfig.DefaultNotificationGroup -import com.twitter.product_mixer.component_library.model.cursor.UrtOrderedCursor -import com.twitter.product_mixer.component_library.premarshaller.cursor.UrtCursorSerializer -import com.twitter.product_mixer.core.functional_component.common.access_policy.AccessPolicy -import com.twitter.product_mixer.core.functional_component.common.alert.Alert -import com.twitter.product_mixer.core.functional_component.common.alert.EmptyResponseRateAlert -import com.twitter.product_mixer.core.functional_component.common.alert.LatencyAlert -import com.twitter.product_mixer.core.functional_component.common.alert.P99 -import com.twitter.product_mixer.core.functional_component.common.alert.SuccessRateAlert -import com.twitter.product_mixer.core.functional_component.common.alert.ThroughputAlert -import com.twitter.product_mixer.core.functional_component.common.alert.predicate.TriggerIfAbove -import com.twitter.product_mixer.core.functional_component.common.alert.predicate.TriggerIfBelow -import com.twitter.product_mixer.core.functional_component.common.alert.predicate.TriggerIfLatencyAbove -import com.twitter.product_mixer.core.model.common.identifier.ComponentIdentifier -import com.twitter.product_mixer.core.model.common.identifier.ProductPipelineIdentifier -import com.twitter.product_mixer.core.model.marshalling.request.Product -import com.twitter.product_mixer.core.model.marshalling.response.urt.operation.GapCursor -import com.twitter.product_mixer.core.model.marshalling.response.urt.operation.TopCursor -import com.twitter.product_mixer.core.pipeline.PipelineConfig -import com.twitter.product_mixer.core.pipeline.pipeline_failure.BadRequest -import com.twitter.product_mixer.core.pipeline.pipeline_failure.MalformedCursor -import com.twitter.product_mixer.core.pipeline.pipeline_failure.PipelineFailure -import com.twitter.product_mixer.core.pipeline.product.ProductPipelineConfig -import com.twitter.product_mixer.core.product.ProductParamConfig -import com.twitter.product_mixer.core.util.SortIndexBuilder -import com.twitter.timelines.configapi.Params -import com.twitter.timelines.render.{thriftscala => urt} -import com.twitter.timelines.util.RequestCursorSerializer -import com.twitter.util.Time -import com.twitter.util.Try -import javax.inject.Inject -import javax.inject.Singleton - -@Singleton -class FollowingProductPipelineConfig @Inject() ( - followingMixerPipelineConfig: FollowingMixerPipelineConfig, - followingParamConfig: FollowingParamConfig) - extends ProductPipelineConfig[HomeMixerRequest, FollowingQuery, urt.TimelineResponse] { - - override val identifier: ProductPipelineIdentifier = ProductPipelineIdentifier("Following") - - override val product: Product = FollowingProduct - override val paramConfig: ProductParamConfig = followingParamConfig - - override def pipelineQueryTransformer( - request: HomeMixerRequest, - params: Params - ): FollowingQuery = { - val context = request.productContext match { - case Some(context: FollowingProductContext) => context - case _ => throw PipelineFailure(BadRequest, "FollowingProductContext not found") - } - - val debugOptions = request.debugParams.flatMap(_.debugOptions) - - /** - * Unlike other clients, newly created tweets on Android have the sort index set to the current - * time instead of the top sort index + 1, so these tweets get stuck at the top of the timeline - * if subsequent timeline responses use the sort index from the previous response instead of - * the current time. - */ - val pipelineCursor = request.serializedRequestCursor.flatMap { cursor => - Try(UrtCursorSerializer.deserializeOrderedCursor(cursor)) - .getOrElse(ChronologicalCursorUnmarshaller(RequestCursorSerializer.deserialize(cursor))) - .map { - case UrtOrderedCursor(_, id, Some(GapCursor), gapBoundaryId) - if id.isEmpty || gapBoundaryId.isEmpty => - throw PipelineFailure(MalformedCursor, "Gap Cursor bounds not defined") - case topCursor @ UrtOrderedCursor(_, _, Some(TopCursor), _) => - val queryTime = debugOptions.flatMap(_.requestTimeOverride).getOrElse(Time.now) - topCursor.copy(initialSortIndex = SortIndexBuilder.timeToId(queryTime)) - case cursor => cursor - } - } - - FollowingQuery( - params = params, - clientContext = request.clientContext, - features = None, - pipelineCursor = pipelineCursor, - requestedMaxResults = Some(params(ServerMaxResultsParam)), - debugOptions = debugOptions, - deviceContext = context.deviceContext, - seenTweetIds = context.seenTweetIds, - dspClientContext = context.dspClientContext - ) - } - - override val pipelines: Seq[PipelineConfig] = Seq(followingMixerPipelineConfig) - - override def pipelineSelector( - query: FollowingQuery - ): ComponentIdentifier = followingMixerPipelineConfig.identifier - - override val alerts: Seq[Alert] = Seq( - SuccessRateAlert( - notificationGroup = DefaultNotificationGroup, - warnPredicate = TriggerIfBelow(99.9, 20, 30), - criticalPredicate = TriggerIfBelow(99.9, 30, 30), - ), - LatencyAlert( - notificationGroup = DefaultNotificationGroup, - percentile = P99, - warnPredicate = TriggerIfLatencyAbove(1100.millis, 15, 30), - criticalPredicate = TriggerIfLatencyAbove(1200.millis, 15, 30) - ), - ThroughputAlert( - notificationGroup = DefaultNotificationGroup, - warnPredicate = TriggerIfAbove(18000), - criticalPredicate = TriggerIfAbove(20000) - ), - EmptyResponseRateAlert( - notificationGroup = DefaultNotificationGroup, - warnPredicate = TriggerIfAbove(65), - criticalPredicate = TriggerIfAbove(80) - ) - ) - - override val debugAccessPolicies: Set[AccessPolicy] = DefaultHomeMixerAccessPolicy -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/following/FollowingWhoToFollowCandidatePipelineConfigBuilder.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/following/FollowingWhoToFollowCandidatePipelineConfigBuilder.docx new file mode 100644 index 0000000000000000000000000000000000000000..421b997b53d712bd4e72f2d8427a82926425fbb7 GIT binary patch literal 37578 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

|>KrtElauV+6G`Y6J?`NBeo>OcR2 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

_Z*@i9 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 literal 0 HcmV?d00001 diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/following/model/FollowingQuery.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/following/model/FollowingQuery.docx new file mode 100644 index 0000000000000000000000000000000000000000..b0fb590a0506256d989318f8c1831b7dd51691e1 GIT binary patch literal 37476 zcmagEb9`jWx<4G-p4hhSWRi((Yr+mDwkEc1+qONK*qUIHiS1v{-us-h_qq4J??0GPi;>hhbvx_am%f>%ycRX_IN+Z8>Tj^ z7y`u@mzj3&O}JJs(CyVssUs$Ss;8H!Q9ue_;#IJb&v<6ewJ#AzBE2NFM=(DGRoj~B z^F69E*{9-{uDCtni4-dv}T(2vGYA4|+aaB0V1%L9XIFAoy3` zOTBaz?>nyrCJ_{(_QV-Idp^OJRD2K@?0Z=%+1M8vzbDOq#*otoQT#_0 z-6>^+AAr@{1Oowq2Ywnjn%OupG5)?*#ZP?#XF>5h7nB&KD6wl+6E9rR7eA6K6zol% zJS(>Ikt$y8?otxh)5Pi{JUrhsF<;Cmz+0v(wh7cQ)>;V2Tk6x?qPcABFj$94hVAqx zaZ}w5(y~d9xFtgpHlw`fG*>4Uq}xOv(xGWMn-!@R6*r)@l|m{FDoa4Uf&W6S;q1*Y z2Y>=d$~JR^msGX=uyGB45NiG+W#}h-9BYrNk|uA;g3VosB<+BHBPM+~6I~wLmWkE= z)S>uUr{a?FC{Rp6McWp9|VSsl*vePh5MSpFc;HFA3^2yxDLmF`vun2+8O1!_hv}DOh zl*T9#$%K$@m-Mp1kSMql0MCxtJvF1{}tXp>vFTUhJ6C8 ziwy(_2+H5$48`R6%5)pX*TDDOIR3mOVh-IX|5*)l;xT_z(P0CwsV02nU~TG<)Cr;-vJ6vw z2vyI)U}n5(0g3_kOPYpa^|&W#gYo1gA+)`d0^Q7)RV3lfM$h67d3&#KFJ{6Lzg+4b z1}~Bno0d0Im6#R6E5KiCK3BMx&IoXP+`B#2N=`yVk_0n)WrLV-udt+E36;c_BgSJf z?7Eoz3}FTD`Q^6W^e1Yrg{=-Y{~Vd{2_e1x)f~dZAlwgZlfrFbpKrI4_7z!Y)N3Hv z;f*H^#47b=8lhKFr?EYnA|tsx9N@2F)RAM~$&##$0DU*8Ihy|K4zaCw4P|_>NHTXw z5Knxf%P&~sw5wv!+61u)&1vYqb>o2RUtHV>2~}6%nxNrVKb{Y=YS9ygE%8^{QOUih zX9XqdCTc4_?J`!92viSKktY*88x!Htnb4eR93F}-Y3s@BL}BJ|;G()v>;(I?f$jsS zAQP!8qd)zQ(PIXqv0n{4cOg7-lUbf zc|}Rl(i$?y^Y&r2dw|m2sFi1fDg-lRuucD3y*$>iNe+}Rmr%TLQ{S<-1_ME%N7t86 z-b&8^XVBk=dqs(Tj872V|G;mcg5+1k%%ak?NjQNBwHH6e#kIct>(gyC7u!?VFrC{1 z0uflwj|jAEvUkoA{d-U>2l{eMWPf`V^RU97UKJx{#bxV5=I!1UX606PHf(n24r-SH z!WROaaCjUo=A7Vc5p@CJi9vm)B!$CHNTI@eqwb~_Fte77W2;?icd1tQPjuoHhGCDn zY$@Bn-Y$v^qRf!_RJl9*;ln`!Ei@*z%eyowZ&;0%zCl2cBUWKcPZv3{F~tQrj*OVE zf0@4SAb*b0Oeio5i(lOYi3rQX-EFflnIg3oovgb@av0 z4x@>VUKo)R7k`a|N91Z!_b(_Z(!hC+t>~I`F{+{$uS%VI&)>-oSmv1~qGrP+7}G|4 z(uXNxAX`>u+Pz5^A#F3=Wx{RmKdw(Vo;_ces7<~Wd*8`t8C`rLA#2TC=>S+xbL zzR3;f9w`^VX;aH{<77ElZ!`S)l5*-_iU1**hIOj`S{{}MQ9EH{5@BN{+#I?LMt5L4 z07_&K7_=b=Q&$rojXS70yb1o>;8qKKp@`Ja7D4q#{H`-1r?)t}e1r z69wlF1mHxu1;%dWq6401$L;Mmod_?TWA||-Vi5#W#4rB-;R&3BrlnYv1GQOzIB0rK zg0WT7{yT9qbW!L$M!As z`_>wLUd`gnVq5O0_A6KPJcOJbif&4?JeMDPzO0(4S6*sinysHGQh9J>zuWdL@!k4p zBFR&jzynDnp{bIH`w7KsF#qzWX?VGCP^z%Sf&>`v$N}8cRRlz%uZ!TC*mtm0RkIt`|(j8 z63qBY(M`h0ov$qcQKM$W*|Hpy3t!`q1La%z2ycCPa9uxrSLHKq**YbP`m~FHWj0^1 z=TnpO+O8C_vc=qv`^6(9WJHgP?d#nPQ|{>@`lboh$S25~z0K>$4?2U*XJD#y3GFkM z^Egp7U%_0zx%;Hn#S}J1osl+awV+`4(?D4n(Q#3cp?~Ox6yw=6%%f=_$>l$Gg@@c< z9Zi4iq3(Gz6MVt`=k#pnhlj=rT(>8H>oz`c-Tq^G{&Uy)_euKC9cZG6LLf8F*Yh{H z{@?_RV!MbBzw#+NXeDckyn-cHBV;a_wG5pbEs_RrtVZ0H~Dbr8b1Ya zM}i?^%mpi&q48TFr=0XQNU4cfR}sVV*7k9BE%S@Y&7RgJeXczGlqmNCSJy@{SPw_u zlxHX0hFKj|cqFM3|Fxb=8%#@lHa^uTBq#feM+fQURCViBSEco~&_=pb-?n^%dO$xa zMBVa&p&l6rh2ie`;kVldQ+(f7Xni>I#sz$_;(h-YIo&8U0|@o|Oz;7=2Sdy8J@Z8q z5OLQYu@o`ZqS{QA9q_9Xwg?e!iu!bwAnV`{Q`X#8H?xU@9`dkXJfXpa_5>qK@OOC# zG_92;G(MgP^k1Z+`4dywVmYmrsvj7x%W$vW%+^5gJO+Me`e&}ADzNw>m_R`E)gVET z|CMW}FYY#GPQMpI;L}yYu4KJ;Pfvb*xjac zuKrvyb#~nW@Oj1Y;(I(ebJIS{PF{Ppdp*k#S{eboJ;uC0J};d|mk70-?CCu`Zd`Vx zEOa~{&i%aY2npFcc7Ltsf3tmW-wbB*StZg>F1eT)I1EYI-+Mqb$`cw{|9)fHpzZm*ur}f08ZPv1uL&4Hz3C$FS0p^qTBFQxC$JN#Y8+~wJc>%^W_!z0coL}<5_ zAd{|~)98%ni=^8tw{!xoiJJ%?M+T2q9uKnXgo-^HXZLRR)pa3p(HP%grnm0(?v9qq ziKHPGU)zp#?`~b4^X}JMu_tro6v6?AtqmsREuT~gA}^`zQz%H)QZ zFWMnKsOc2AUpipBE;eyHQiOcmBUC%Q_)gJDYQkb~YLOv}Le9{5XF?i~Lu#spUTY1! zwS>I6gPA%zV$6cEeP7=W2h4q8UT-#DzohHF)cUM+Zt)9Lxt^beq;Q>Ob19s>d+VS3 z2vq0TExn@;b|*)+uJ)YDAFjm!b{~Gc*J<}iX5)3Y>qv4w(meHYdfc;6P`y2@9k_5E z!t<0}4!w7T;#1xkOS|hc72x#Xsl%o3!qlhkeL^&F^US0gg66dV-y4yEx5 zo%3;a>Ao2`wH%^?(^q{A3z$>&$=@bR%Asx*-=~5jR0KBl(FrNl0)XER=wAn|KD_Ha zOiC?73);!AIh%pu(iXRqpKiT&^3w|uCD+Wj&aP|6Dzo;7w2UMyS0OFf-46V$-SV!+ zFwwFyeo0w6+;?!Q#40R(ib1_-dtNfSR;95TOtW|heDBn&UYvP8oqMvscX%C*6n}Br%_)l%z`0 zloQ!1g6Q`#=tyK3mOjD6%eVJb`flMfJ*ba&j$kZScCus?fGXKs=Cr();ihVb)4x4$ zSa$JMpAQzUgx9jLZAmX{+U_Qx6mo)pf>F+Zqk!l;6n7vwPACYXZ_-j0ja~ghLjq&5 ziP38Sb6xC*5#+8S47b`zLkw@bS(#NJ1*1$xhZbNT-{MD{`9qH{CJv=AyR#yAn*so; z#XY7Yj3R%9g%Xs|2|3CjdW97m5Zeh^nESi)Gq4luU!4#;-)EN2oRsEf|RVkI+A#ajlIH3IVS_DGH81gs9Lda|jux4w+&y1hRX$H6jbVkJlsCG8LyXX>VeOO|EM^3}z71X!D;!R+Zhj#Q>y#eP zQ2sQLvHcQX&IL&$ws1~(m?GahW8TU3593cYl9!F}SB9U9)<_m$zq`pD$Sg=Hb= zzNU$<*KJGh!~gE;;FGTwM8)K4*->DK+hP7Pi(~!ujWBR>Z68MdBb$$6>MUgnU0KvP z`hphYe9O=+Is9A#J*a}QY1LCE-HL_YzOEQq<^(L|K--8@bthdLf`%ii?$|+leALfR z&3VWKGO?U{`_-&%#T?wDR?Mj$=j zK#*55+*<`947NI2Qbuk`9+l&sISki>3QEtMoRB2sCMYLz?oyDXBJtWgRnM}O+hhU( z->Mg$U(kDcyp;SdIkaEY#2*`p9}xl1n6+4RxA9QTpAc>(8P)mpe;xu#e@-wy%@=~XucxFtwsD~8a%Qd?&AE0H@ zl#@i6KR)pg%ri|GI_Vf!sTX9nmAqzpumF`{v2MkUL=_Ogn9tYJn$W98(SoKusE4G1 z-6n^$#Kpp^7(>7Q;^@R)%vM2}tSWxttvSqN zkojJ>g4N@upg&J0QtEZ0W}m!M>c@c(wTPlSPMr?Vs{Z3K!b)=ViC|0aMivfNCyn48 zwW!;9cLI-NskDX`6QjzE&o6g#a6hKh4V7VtNLAsr9$8>Z==DR3*t8JfroTxJ8&{gYc!Z)p)M}?j-+#&3(PBKyvN&|RVD8)pz9wO)HsR&rZY5u- zt8d4zJvgr{lSWyECBLq_@cqk=&@zgzCPyBR4sE=@(rznKj*>`Y+I>KROIaKHmO=1o zh}%!x0Oy}GYZ*83z79-i;H|qxG8u$iY#ObAm+TUt4>SIl9*btsYN?x1|Ue3{2I zU=r^V*+j}vuM%vT8ZX3`>u*}VGODBdX~|> zD62-jh$yaRY&UM)cs_oWJBzyZ2VWR)?a*foKXz%MGO1&-_c)G5<)+W{L)M40B z%(Wt|?Wk)t#u864LeN6~CdnnuCjV)QTZDD55Z>Izq9LtNprq(7lXS&t71GnHbtghD z7HiD?-o2ta{zNf;P*aoLcvZpqaJ#CKtab0;7)J{SE~b~n1bGyt9{NYK&H0yQwq_=Z zlzr03zG`|93OPFXC(Whk!bj+i?%bEp%GO68$kA{mrDc>|+DJU7=_OZ47^*9u440Zp zdPO!=dN-G?<#29S$_Va{qV9RJ-^-C~1#ry!%!};udDG1C>-+f%1A3I4&9PVkOY0Ev z=XI6oAHR;Ob&MIt(_fdSUyDT2o}1_jV0wtrQR$X3fTXw0Rr#`y=U66R z*HCg<*c)&np^!eZrQD{qO;(+$dwFB>InvR|ViuN`$8@bgE0rlJINTKvsJ1wmajcG7 znU+Cz?q6+1$P8R{!hN5b)Z!hr`<}i*6_KHwPdA$eA(16sGdP0D ztQK$Q)#v`Cw0}>F!+`jM*JKj-q;tFTqW5L}LjjmAlJe*4<|+1{8K6&<)YE3ZPv0HD zZ+4~_8wa1dR!4jTy-+x~ZwNjdK*$g)Z-O!|80ZqP@4y`40G<}v3G zjeP;t$fGZemB&?2pT}j=8%7j#@q?4ExKH}d%3v0+JOE=B&$>hqysM7umv!{!@Y#Gl z_AdxiSJ*DO!|TV-IE#0R{fIEf^P~pbFF}2Pgu% z<@${>&0_UgaL4<%>Cy%IZUrAGkM$;@t50q)Z$I5deCt?27(FQqmcv#80K>5myd}H- z2rvCBeE#3zN58`Z2}Qfgy*Y2}zJp(RSiR0k%x5%MH9Je>C^12HD)you7x9QAr<7yg z#-GO8lmvLVcSU_K#ok;FRjje{MeEAI^Y6^orgTQVJ*Z5#eVnzJmjPwMxCrvFM4BBa zI+o}%vRJUGNE9s4hjYvGqnej- z3MFJzyKdL7Cx|{(Rb;A3QOCXQ$FoE|Ryz$TaAjkNT~djtX3XErRBK=`e~R>=*$xKF zR%DtY@n}`;DowEoG3B$If36ug2n%%COUWg^ukTM2X5^qo{lK<#jqE(XrTCG8m=T&9 zxzERyS27S^BV%ers_6X8Ao+cRXmdvNTD+iAERu!KF8L?+>ksXlC#M_911gOXmE$X~ z>qcpevQXox$fLYzk}2!G6&HTNTm=QXeckM4Qx+R^QvwAl!z$H-)J?N*=CBzzX-gv6>A)NXX5HuEW z(oib?YSTz%Urk!0RQ!!~<7~#AD)oudhFi*{o6;5LU@;e;Z%y2iLjrK!l!5-*R@P>G zVWg23p8n?sAEyZsW4p^O+hV*5)XGchW)?J_$a3Ze509zAu2yGCBK$7yu2muEmoryq z;3DB@!Qf)(J`~L}=7bYce&lL_DV1@nP!l-*B`z-^%Uqa8vAb^2=agN$nQyGgYJ}EDx%gJIvo!)G1Hd9Py;O`e*Y<= zdc(}q-XM?W--V~AO{v?Y@sVAT&UXwsPENv0SQlGOO5yyxfM|r2cFMI zObfLxEOj8r*Q8hFi-}Dh8;IA!PC4zL%8Mn0ucFk;vWEpVOcaE#cm%wvqe*k=6d^kC zePktsgGh-9^cena4vwHnPNFv&TVOKE&JI;Elie-A*aD`Wl3=qveipmITFF$DUExQw_UyXB#-^ME59NM0)9&3H!jpn_( z;3=pH@uEKJJCL;@4Qm8GP=(Y?-&4RBrqeueG{VHJ>loatS9g&l_vMPIsfh%EyRn4& zq=9C3FCtI?s4Y1zC;Jm?krcir#GAT{a`3d#D-$ONj4BUbuNd|TRH9k$`bqiA5}@$- zje(Ow4XXcuL^b#cXOK5)L&bU$0McgS-vBLnpVk&zfVX`#XoxHHtjC2^uo8B!U7xz! zcfyYaF65J?DNBOK7;xz|Y1wFJ7}~#z2p{n0^TRXbb^%%iU^u){0S45i))jxA&mN+b$xouOnHCK zRSd8=uryI(M-UYlafHyJQFv0UIZQ0ExD|QRMMyA5Xg0H$U&m|_BpKz=%IW-2{;d)Mv@X?n zr0u5{^MR=twk@2$6sYqv_^5y5J9wx+feA4~sHUujCW3@HUz`>;%;@diq>K0Ie-PK$ zJIf%7HP)=EG-dazeICqxN_q-|J+)`|@BBjuin6nN>y-?(dda?j+fK(wTqoxeIb=m_ zYMAPf9%fNKFNYO!S-xp2<<02EQFR-wEGzA%t#qOki(YKD8ETZ#z@T&1P4G#-pqvFr zt4sBufqrwo`S1lPf9>^b5mi^2_p+GnLR8+tpeEd8Y8&Eol`3DRUGPj%4(Ao_$1@wQs6k|2sX=x#|7d5Rkd|G9YBr&o4m0!G%^Xfc5YP{E zTFlq}-QR)88tQah;%PRmZ#TYPYhY1EE=GNNJoKQb1OB10!5xSatC3lP1E}D)(NNO-Yw%tUYcg(4v9VweIMF@QP^*4nLnt}fYi`3zjxo0 zZJUdT$%cPWyO>S@srfknr2bBU9)a|KP+xWr!ghw`7;JjAee5!XJ+3P6L$jO9rl^iWf(bR=(P@n#dF}pv<1krbIA#Lp^wG z(2XJ1ANE$XcHWZ&h2jK+0)2UsUg)H$NemalseT~rT7el zjYatZ9@XdXDrz6~HtoX~eGJg1q_tn+NYkP6EinyJ%kICDq%VS|Q+`_)@j0`uFoA%% zx#@6?7GalLd>Ixi;k8URT}PLj3oV9So>raWlAkLqDUWXN++nYJ6_iV#Yka~KXGavD z8}~HRI_|0uEq3-RhGp-F%XwZs&IJb(cs-*qN0Ce5=(+q>CZA6E;a+@>J>L?nnN96F zYL5M9S$P2?fLG4C3y^ijUgZLbDhEE>c(v)D>~SufZ%L4A2{zU96SYVbt>T|l^sqBK+9=n`J`Elt4p8VYE`Cb{1T!n#%_?$3%RcA_h z(WXq&XKm=u>B4N{y#epZy!8Dp9yjevmH+aneP28_^f$0;&pFdSO#WoAy6qlrpKDzG zmq{6&T1pOkBR` z3?nm22Ylcg<@&I-{oR$*L(tZBDhBWyiKIphDNIdmDaMcmx`P&vA)N6$)9cDlTLwms zk8VCz-;{X3#QL;mQRZ|ed30dFVc4G^V{vLA{{ZPSv zL^BqFkS)RFSiHbp$2NEdn?B0vq1$-X1T{1UA5nR+MKn5n^#pU8=GOlPtd+F2I-_c94F>d!t09tyex2}JAs zjpim&1+5)&`5TSN{tjwtm`!7OVs#L{w59wjcB}10y&LEzRLq4a$*;pZW0sv?i;ZbU z$bIlAG$@@Qap1l1C@jRCAlT$#*gqg|A(^N-_I@(!`?(|RK;E_JWgkvq_3JNE>I-+N zadh^cjwBAjU--xdVTa2-1dQ2C=fNVe{Sv8q15p;XwE}e{)*}XPGu%KKrO=p0;g4bU z6;I%1jXFWDar)t9nKGcSNi3SkC;lTYO60dVoS+NQOY6}w<87W_wL~lfgpEF+#E`!) z(DlFzRI?8#y_CyqKx1zAHe}K17{M?+a|}smuRaFzm89Ua4pVYUQ@ao7wfe#Zm}`g! z7E`ZlDY`!OnQO*0w2Az32QYc3<-p{f!a$Gu+q6RbGkLZ-x_>3Fw#%kFb!s_*`7ecV z1MvGN_&XDLR8zg+R)#86xn*wDFdk+2Xkcoz(2(2l<18Y?;`XZ2gG#4f-hS9ofDYA9 zptT_EEUqe?|MT=#Ak z{z}D6T`Hh(TN~@czfjPRdl4E*^bOg0@(x`AWxY|AmvlSBInGzQ)!_NmE^_qyUiRH4fOmZb-Yxo60b-JToON+d0( zH#b+3c40vDsaQ1z&N_jVx7tP{vE0G4|3&+Az<01~c*^cW&wd5z$r%uPnaP?6N#cVL z6YPl$Pp8YqP10-Y9+7z7YZVEaZHJvA|JC0-bN~^vvX)%ZgC)=duB@3uvT1!6yzv(Z zD9EPPQbMfnv-uvXn&9xW4rb44s!?m$2TNXj6`ZMC)IWTF!BL&iggvH#*o8ehe}fr( zQT&B=i*m7C#AvP!hI+o9REX&8ZXuXi=ZL;3@a-gv(`%M`@DK%LGJ_%s8&ziTJ zlMUikJOCyy=n)nH-p~iEARsm8qBVZ9#&JEHxd#guy}9p&UI=CxQ+`ne?V1f_9qsxg zA2sxGhq)&X`@zO=M)rh(wdXD)xtvW%EfI_m`xo);pHx_j$^dv^62K>C(q^#WQwZ|N zsISp+FdAoSJTylIdybWio?paAk~R)CIP45k4Xzo?*H#V>p;UHC$PX+)S}6{eB*;*% z#p)usu3vkx6i#fEBX$FG;P(i*S9W4gIv>m` zh`A`Q`$c!~dO!RHCZ$7rBwP`3w_`hW8;k z*K{~pPMOr?K1jaFp1YqC`YY%Dh19%uIK<#!Yzw}aadrqUs#$=)1d>k)8Az7O$9 zJMlS!HXmn(e6_8bDG8YuDUM29$k`ND-b z&L3J;Y;K8lO#u?2gh-V~uvv>H6*-Gy6oQ{nRCiC@!fKM(9KMJ=9Y70UKB5%gtdF6u z;N-IAbZ-L26PNG~OGI9@S55x;-I< zREad`9+HU0Y$}MxWd8zo>#Io$jQJO^V*3}{ox9D6oyvyF(3PESHmy3 z>oPa3U!N6^ZsrH#A{3wI_J=_s9%w-#)+*gGkwD$02s0Xo&@}Xnuet%|u~p2%CE{v& za5xIcr8@cdH%-Vh6D1rl`KHtW0i)hU@@kPL_7UApe9Pmoad0(E8y|a+O3?kU$Fs9? zYG9>`J!-Hb>tpvPVuDxQUM)VbwgKA^eJsR{Ppc1BYh)k==kU8_}GGd(c9d8myG=mOZE5@ z2M{2Amsry(_P{s(gNUN`>u#Pm(9v8)llr|5x@NS!m%IM)klaXuvhmw)IoqulkE{?Q zu+grl(R|%}jmvU(w(9a!-1-e7zu)ysL_3ghZ({y8fP=zsfa9<~0POEw1NIIuGv)0&%>yIBEO@iS@Pf8mFYk_!@d2OGy8QN9$5s9Ih6Zrp?D4%&!22!* z`y6&QEB{iU6F56a-~{Hk?FMf>5`u2Qi_Hbo=dgD=OT@jI$m$6?;*eAZG7?c04{wjZ zPMP*6{UQ5b^d%-1{M(Q~^9MVvfQ|^zj)Nig{|=`CAK80&y}?4pr}P8E?dkM!bqB|Y zFo>0g*W`zmicd_EBxlI8FFHGK>xv&!DdLn#E^^(>#Vn`&ShX!8Q|xh(S~R7ogzM{+ zo<|$?s(2A0@5r$g<&%a%;(fZ_>deg%)m=7d)3GtqAn4HyUtz!$)XTCqMTad15~=uj zkq6~bB3JUg-8}2!TcpPcxbAU6-@dVA4FlIOI8KU#UEt4V+q^eB)Lg-&DicNqCV z#*3E_G%$*~EAA)EP9;7&&re84iOIVU~Vp7!0<*0cM@~BOL zbfqk5*Fj=N1{!0^iJ2K9PO4^_{GzalS@y}AQyfyqX+wSRp*!294ugf+F+%Y&TIz`5 zc9wrwA2Aya=nLbFAw(`_P~RviC(vcz(WK$;T|iUWulSH@791@}1%zTggkh~^r<5fQ z0%+yil)fMTqGAS8;Y9wXVvZOx-maVBG6C9TO?77`@~|-;ZC88Jm(EVY?iBwkd zRoa|IuY=-wusoxn|BcZ@OA8!|QoT5V{}fb07a5W9ADD9^9GmF*p55|RcaeK%2HuP5$w|Kr*1B^X*F9>NM9@j z0Zwp}O{*-$yuuP?T-shdT2$2|Xw}c%((+rm{mVIw_+gZ;O=7|8h-SH>dB|iUkO6S% z!jMcCl$lwMKoPX6IPRbpLXg+$CqZx&QG(wUK{xjUb48hQMd7pXo}e(ntZk5&OA?ti zMwgH<9l2Dy!vb@`L?HEY12E&9cXStywS&{np_?D77GW_zx#X1Ofq9+qhy?2k2V*s( z-y_m4PY-6)ofJ=EQTwvNmP085Z2a}kgs_r2PxhOc8 zAM>1tV4d2h%3k$UIl3|9i$86TQA6NlxUvtt@-GY-f;#AEFKDHDLP)M zEw&Xh!6a~cnz2)!)ACY$XR{7Mv2n$amB4R+$I0^#kr0Dzxa23_>(^hVlm|YeN)#&A zW3xtKY6JQO^d3SxDi%M%Ab!#UB25v1xpf?k^ju|I9COOKk><0)UFBF!_lP}C|Rx1?%#-Wxxk^Jev5SeN^ z@wExZi7k9q3Ydu@of5_8ur3cm#>!BPPj@24abR9V(&5I7EK>UH=s49MZBw{}ir5`^TkAqIcwfp4&Hc518ZO00D8Tfdaw( z=ed0i%P*fL%+1YAzWjNF-&-%GK(hYy`4O|}ct{~T8H8kP!h0GGY*>F{?=tP~L9n7? zUN5~m{`eDZ3-A=baE>3^XpGco(5X)q-#0h+?q~0|jVjKQ`z?fb z&W8iLHlJnw>cyNb-|KUOJpk3#`srQ7?cT0?gMRn>!OZ?y#{1*>`_tQrYsYKO%*2M? z)${FHM@KO+#3KnBgHjCAx9l~!qtFlZNzoj zkemCZXX*67sBMj6_#oo;JYwUutStr6z?vx{$* zewoVGPKc^!*~i`UmDBRtxz4~_SD@z3x7hYE#oWi&_q|!q*VSroZNj^-=aI3^|J=vd zUC^Mjto_cdpyZwB-FU(&VI(IgBcvr|-@~`H%XMwv$#Ed#_RR9u4$GM;??@w-sMN8nGwDkI|uGS`UB=P_wkCZdLW#`sQd!rv)Xx${VG0H|t`>b-iPGnJ$}~5_0bI(z$7aO_YYW;*egX#7M901pSst(fnTfr_vfq|_D^I> zN@4yQ>RVk{Pj>h1Zkhykrk9pIvWv~84=NQi6&UQ(%R=v$H7#Ezu>j9f`JwloaNN>+02F(>yoLcK!TM8v5fkeqn z6-4SWF%!4X&pVI(w{yo1kMG&ZC%)&&F-v>zcti*9WkVrTYaYH{xiZiK=Y$19gvm8O z^D}kp^$Q1HoSrHUZ>TyV>%{N?6(&`rjEw|SjY7nRl?EWnnA=BAYjb0(rD8p=irx(^^zhvRC_^FhodF>4M_wzvJz}*1*aj~AyQX0Erv9|RP+y!^N`JHpU__-Z0SRtqATlw^otNiKsCJ-J4_aW0q0N3CGJ`rGAtL<@egn8WSiMG3_VC*m<7LetNGhtp z4w_Y92k|MeBNo_EE7=NZ|8EHVMVJG-d`mbTV z06X|?W{IZXI2&Nx2;YC>{C&XRJl9G#LeA@uZUTp)0f+szhGgwnA^n7OcYPK89K27m zuS5A#Bc0F*;^Q^%%OJ$iGI0w&a>9V2J~KmWn7oU4W7zQMIC3xTrxSqB;#mgf6Nbv>&alRv9t^Z6%ZHFR@_X?S)uA;NB(kn`RNB4OnG*2=!Vya2Q5 z*3>OtbH!^+glXkl8)Mhb?NyBT&#}XWr-{cOD>pBebyK>I1fkc#Ds5-nnbTgVX)m{C zZCsw*zA_6ABr&-@P|~_)X8bCZ=$l+20=6=J<#|&YjPs@U^Xr zo{^2OFI8=&c(1iTC=9h!{T%xa&~XAjzpkYdPW!Hua32VAhfEz4qJU!DQoWvyeU)fm|iiYy0{S zZe{{Tdt`^FC60_(wcB2WF^}C2U+?Gk&0OPz5~m?i`_#k+0V?|fB8iNe!;=}_6ZQ3) z+}ZnY*e#H+RPg6U%?iAVJyXPOyo&4>_5J&IH?6XcZsDldk}TMFrtaU6Pr@(sjJO#t zTc=AZoxKU29cnmpY`)o>y1}TRume7s6F5)vd>WPejVdA%-2MpTG=aJgM!F26D1oAv$ZtZoEMu(glKW)3}zK8*~Ry@wyyUBc=6WXvD zwlA~O@_0(%kH_a*4fR3w1shJ)C-((vGGtb&lL#SEy$O2{W6a5poz;h|eeAn@MN03} z(Hxo;rHvn_J$_uQrDR0S=-pZxup5GY;h_sCJ4hK^ylt*=;$2e>OtmjDkqZLu18Z7y zgA%$tVqA``#g)i#q%|cyGB~p*-Ssl1Up^_|b#9IakLrZ8UpH%peW^{!&d!Bm(x(HNW>nX=N1bIO zFD}~Sk2hbyWbO1o@%(wkQ-1~%^R z8;zZ}bC_7Fe%iam9*)PQ?WDmI&bV4EZ+_A@+Qg_mQz|%FbM#O0sy82MQp&j?` z<6%}(D5`+1xtvp!+SOz|NnB^?JISxIlaq>`lS%Zbb3I>4>vujsTGp){7prqI@44_` z{icov$?JM{gx1vAJn3e-@EGc`*wIya{Pv7@VBV`(##Q{yoWI5T+<s zxbEHLwtg!)YMc4&3=MYwPK7W~N#5WZoA^tI8waoByVLi8GxlD4_lZ`aZ?-Ba8c1R5 zjxLWS2e#v#cgkag9^GkxMp1pwii;Qz;wf1V6ryMC&?itFbRy{(<2GQm#FN!*3 zJzcP`bLDGpwq-FtTsJ$rZPKY}IkPQ9QE zXRfjd9>24YHHDM#Nj#q7Bovt}A-i&99tb;bzP&j8oEY2sG1iWs^z$vq5{+p-$#ZWT^UHDE*8^J0|C zBWNfI>(=no;6SF|+p{SzQB#;HJ06fmAoo>)b%1n!4U9ReIWva>^)eTomxrarUuU%Z zX7TK_ac^>4q9L)O?uiEmlT{gei4%xY=M6Gr0nSOm_&FFCIjo{dzuPZ8wR+;Qs=DWD z%7(B^UnUHly}BA>&nqS&#G5sK-pOm>58BBdc`H{1e67h+3AwybbNza~@c7KMZkvaG zZm?Z&KVZ3=;%fPxblx`TD+PCxx!ucXF1EJyy@T#qQPr2J&LVrE6M*R{#b%ZVBROj4 zU^>~U$(b@GbaLXQGVME!RZMp!CBeq5@1<#QcpUq zvje=M*>X5`sLLnEc9@Z7AouNz*)xw`#c`dFgk;4x|!{>pG7VrNTs7{ z6TEs)+ws7_^cS zVMlJiBae|4FM0KuJ0T(V*)rGoXxn}H4FUWzA=0>9;vffal+p9$x{pgKi%sNxsW7aA z^j_CK2fu(0QZ{nP@e?w);WFH6R?U|luU_6d#5u_B<^8|c@Tu)ZO%bb+}~pbW!`JMHsvu;4iFt((_Bq!o3cn^XNAb=h*67;g4F zJJzr|eC|%lmhVM&r9brI35k)8*R{MZX-K=AjK)&>H;hnx*K9uqNlu9&Fn5kN)};q( ze;QrKrm3eKT!*rgXVmrFUn5xLYk7TO!k7+~1jvfQY1tJkUm`ISr8wI7545tvtd_1; z^SKW3M8Z{fjxX7gT+3VeqKA5`BpesxU(YPLd|jpY-YDw3Mm*7BS?FTVs&U{8Z94$NlOf?N>7&r-5I zL+;J21|hdiUT>qb?ki0{;Z+^7$w=v(!W3FiSDjX zudf1*#5Qmwl&@zLsl|7 z!Ac8?eJH8DgbD3vz*qS-YIhG17#$GOE3aGAYCv6)oCcx+gSXbfMDYl9E@?%j88s1` z(Ga!G0yX_EV_pxsz81QEhEJ*`A#XnZH#Yg6(?R~G1^yud7FVR^s}fKgMsU$(ohrHh zoW~WKMu#+Sn|njxdKUxrX64kyBuYU@l+9rZ@QLCnv~8uhO}$@75SO;Qg{qtLxprl)!RB2b@J4DzvgqJwrj@qDF}VJ*+LYr}|cPXMb@vUTnWn z1=(|QuZHui2JbV&!OrsyHLXd@@sf%}cBqkdsPS*}Au|9{^su>uJ#Z@ya^Tq$cr1i> zn2~Wnbm^btooj7_GHgabpmn(Vv9WBDlIG4+cb#p9p487P%J-hScuS1Ota>uH`09X{ z876C$E87vneeuR*=l!!@`z;e``}gm(5kIaCVsluOh0!!vz3eOXsLP2{SB6g?$@=53 zM?>~`yad%m8Y84un?~o#zNZE2u!UMtn3A*wPf4me1)L9d`-PK`$2AfuBe7>xLF)-Y@cXHD21`sd2e}&|G3SDZj_*ckmC=@c`@O~uu{#@nB5>hZ1Yg!vjoDJH? z7!;8xm2_q?!&!_`1bZVWaxueO@*t$Ou2fe#F%UybsL*_`b4ev0pxVkZ`)kWDpCN?v zu`(BF!WzI1?LuKdoPUed@{8@>hQc(yeEJMA8VvI*s%L82F=55*xJ~LeT9Zz(X9Y?? zJLtej&?3lZ2pH700$9gcoGp6wt4uXKG8Fa#m-PiYmb*GT7*tnNxcd;8%Z$PF0meTb zF!-9zfqJhd0zzOw5N7&OR1}7Ivc;03YO1}?k7C`a#Xume3wUFkap;A&&BH-R+K3N3 zMIp$yQ3ha0!O%q^^jWfIWv$iY;Cutc=vV_*O3)%;o0*d&^te#F~fVKU}AY^^YHo>#eoVfffWcx_NM*+W=^bkYZ4P&Hr2^TD5L zDRbaZL2xnyNXv8i<{7?GoAzZ+0?&s39-3us2#}6Pl2t;o8&6RP!Osv>p)mWmOFw1i zj<8=LZgH6wI;UT;tPG6Zqd1r`$xygS+C3cc{wE(9Q3zuyS0){8NQw6rMAE=mIip^b zfKMto?Cl}A(I^2UaR_{dKeQJrP(b|)aB+;!tq3IadD{OBnD762zyO3~zsByI9-r=j zb>H;OS727aqwn&i^Yof5fF1(6F$DpIAphCdF#er>-@5OWT*ddTJr&Yvz$iW(Y7##Q z4skLoDFS^`C+YW-@FdY7$Z-fLoxqQwfFb|90aW65dZgcDBSUGk8#6kCVfU#U-c1V5 zd>q})9KG!vJ>621VIi_G<@dWc1_6A;KMXR+@iEa@)RM=dFJGgVXvf>gA{OyeR2e(c zI-W`1#&nMx$D%O@p#)>_}+V=>ic~kicMe5dy_)e?_<^f5Fmm+NHkUj96?dG zoY7|_t>2{}$k_gpc`EMq)rz`#*?Z*Pf1FZ?7{$)OO3gUN#xptH@L|F8u&vusvar5+ z;qCUFp4pz3_js%EepAZ!s0K^~rhS5|+v(O1Ud?-|r$2tQ_~h>KHtO*fz@Mieb1vJS zf}gxpT4xF{pVDBXY1pG*Pr7?CV;sB)Tipp?Wfr2uGceWGG|x1!j4p6kB!Q98IH8f< z(RC|@s>>U?_*>ZOPVedu;1x`#b<-%h_n5T`WV%T7G~E4OEsIpQgHz{+r(iA;!EmK! zuc(~Wo5-8NXfTmK99n0pFnN*I0#iql`v!^|-{*Y-JK(8o>A;|=IqdR9+H z*3HYt&zG7yPrJcZBR?gxsGj%4g&s3~A#qRxkGJ(HOSoTvpn-PNpgVeQnhJS?iEP!c zNSHxvM|`T66PTc>&HooY=SWBJ`UC&eQhjS_ebYWN9>&+mg3A6oz9pspj0 zY;q}C>};$}OmuAN6)8}S7$#pr5LH5BFQIRV+kR!g`Ll~Z=vFQ+GnU|WOZ%+kTUp*a zR;HE)@!$V~IO86&jhnsc?v3CW z#>v2bW@*AMMVTf^U+;Kz15wV2cYKKD5My^4rVKZK1Od+owS>aJq0DsZ)t1mA!79{x zVhcA%nIXx1bP2&W@&8mg3_CxqpZ=L6$kP1eZWUC@?epL~{{qU)G-?`2<}x^fDPAG2 zqG7V-sD{CML3JI%JcBo`82cZLmyW?G)_x+)#t=($W;xPK5soI8=L?WxKGMBYLaT7| z<8WD&nR8GmHpF=Z8WtIj1A2vP#Z>ArOQ49tzcBtK;#^pi)?LpeepM8qisRbtCdTmXWH8EXxjd< zz}w)hS>r3;_3-vKwJ(%)h1_K7B<*08!SbY+=jbI|-*jl=b!DJISkpZaiY?oICY2 zqbU{rNIcv8?httSqV5npoDQ=Q%KYx^tDw8UJ1#H|MSbzop{?1}7z!F@|2c%C$08a6 z*5?8n`lIEaQs>ESo#8UMcgm`Ypht|lmUu^uruE+#>4`v(j%g)U6tD?K|zjUbNp8$2dyZl?n`^07=8`=MZgj=Cjw%^F(i(;y>{@1^( zKu`Z;#gp>CA)d;CR-pestQa*q3>i6uItgn`y0iA7@SL2wUB??)weB@SX#3;~;$9Q~ z#*k$_mpN_CD-+#pXV(GI)%R`d2Zq7)`Wxp?1At5FSS`_#FBeb10o2+WVD#p>i(4xb zWUFM_Ka65xhj-?#{DIFlYa&cQ`)pw{g*WC`O?q#R^lh zenzW?bcOCo?eu#eBvE+^!xiU!Is?hNVm#Z;)~AJhg32F5zf=Ee)-Kd99Kn*Tx_!AmJV z{|mJtG+|&NQ{W*7%SIaqDx8x5#ag<0uUvgsQJvmj6TBg`SUHeqm9-cth@nFw13H{D z8-@|nW*BW!M})qMX(b#HcNj06Q`>(zPKjHmT8S1qutJ~j6vYOIE`SqLwUcp$L+C$T zl`O^zs++(Ypo|fvV~Cwod?aQDqIa>LZw)6ici-%$J-mCXXT_ZrIj)eA| z!(K1zEW2X`60f)kVGW8 z1tzk*FBe_P7)r>LLdhsLfC^6<-Qs`*>6tnmQB3K8yh3HmAN~5A8HS$l?V%UG8k|2dr5--(L zr6a2T%L3hcpalu=Sbr>->55ExCV5zk+Aa4&P4?1I8p&Sjill=w+g4L;p#E7~*eO2$ z1(WhGz6X$hkhi)b?_3a6=cOun@I#8i-$J2n0@sBxIRz8>)T+OUrIkfuWSk0PHl@uU zI%GiwIZcqAY5*w%Yr)gfW*$JwNrjUCgEAS|KPmI1&zjrnk7OEhDT>F$Q7B;Y3R)EW ziZol`V;74xHsNKGB+kynqHcb*o2u7%U!g3g^E*)PR&DkaL7Q9_z_EaKzLH|Jc8*p$ zgq%Mlws1f!J3kbO`NX{zvR}NRq$6yPWly1`-k(tzWrQ_{C$+h0P<+!Kf{lW~J!(_? zzEA64_Vs2O`Qz3ZRD)1<+)W*EN(Ss2{W32FLw6nolmwqxNLHDS{*>)C4EJZ@i-sSFdr-Rxbr^(VMTy+gb}9Ck6GAd{+m1<2p3k9qKdQi+LX<9J zf`{%S5zR(5rFh~UC-2jdB*5!Tm7L(BMaY(GgfEmc>>$6VNt@Eob?a_x8-W*ESwABP z51xssYok+Ud!U6Vjc*ymJCf|_hHg8K5uhQ(gTa>l*mW8tLHPCT4~Z80$#X!OlE9vg ziFxnl{wtVW!}DJ;6DGC_rVo)|q0s=I3**3r1|{voCYVY5I6d85rz)P(AElviK&2F_ zK&1dhLGXA-z68c?DOd{(1(|Ja<40@?0x6!f0`5)Luwd|FASGUp1%^0MezAc=a4adF zr=<&$6vy_7_U_=J*`Khz7dE~a-sF3Zs+vwT^wq+H0l_Ng2MSQVY0{7>I;!1ZCMao+ zV%lj5j$+@_;vK~@(-Iwr5n*I_vY|-!Tni(k63}ANM_BoBhR>P*IK?FD&~5^xFBK5H z=yD@g#1gxf%a(+!NwT-5A{nJRxJPwxhlV7yqXBIWU$lk~8&-6eA*%I^fQCeoeP>Gh zr;xiIHCf(|L*cv!)6A3tFPZ-}Lzf3^X6k4Vm5U@3K5Q0*A{(Hp!LBqIF}N02w)qAL zH0zt$DdLxD(mfE`ct#M|JERtnNo&FA?%D5T0^*ZDb{dTDSjSWaPBRH}aaNH0HAa|baJpk-Mi*T88)++k)%MF{S?w!#HL zR>K9;S^Jg_kYj~k_mqcmZ=r{YQT*~b0)GX8-iFa2ZN}N9>?7}5gbOvx)gA}U z_nZ9QK@y6qTnJ~eK=td-Zn5}A_U`{H2$4tp74#N*ku~xcFv|Pp+O4gCN!kz7j;(MZ zU?8Et0|`W=e!GP>)%^^7Zy5hDaVMVNO%ctsh8_>|((?joxR8Gy>AN9BM<$dAi?Kxr zr4&fiFYtZj^d|Qitv}rALCeC0NZt+kBvAc8O6G_^!w)%*GU*OGcLD#dMfGDb@vRsm z76|wy%EjaV=Rg0vd#>b{C{9?C<)Ci)r_s+bzrcUt?jtiMRRM2<$VB>iz6w;zkPl`9 z>AS4t^8OW%YZv2>7jk1X`^fni-$@CE2UrLkfu8-B6!L&yLok0kCj44Zbqh_MIr5zB zaT3D!p$74{V>lwU-G*FwO+rkBxA*0AF)%Jzx6spC-p34oh^_gn{E@^$SOk=Bm|VL2P^_FDXub4K^#PZ*2PQHFmwQWwmHwt*R_bRW48otrsDpKo6KdN z=N-Klw?Uu)moGWTK$x;WFlB$k=mE-}m8S^*{GU$tu@wqL5v|L1$NF9{5E>WYLhNqL zd>4k)HP|rqJz|gJ%bFF@Zv|ajZAK54eeBCSlW;K$eW?kBj^LQtb-~dV0Le3> zhbP4|^Mp`bzUZR~E!0COM+r~6VIgSX`lVN9%j8?>4%asmrkj&ReJ7RpaaDs1NWg94 zQb@B_8Gz<+##nCC=iaQw#g)}%L8VQ90CpL_uDV!KIrh=LgN)l*+XOB@kZwqO?d^eh z@y9nJ{uMX^0O`^kv&2)q{~(4yV2KaZf)r<=TH{f$sh!7E(FnDcNXw)h0vC5qWgLU7 z2Q5;Kk*EdKj>gX3EHrLW2D_Eq6(L+VYcpa0%u>uq=4Y$d?@xO|0R5xiV#pLs-Y`Bi znePWaByc6ZJ#w_nKVOfWo$i=eK5BgIUez(g6V4}%#hrp1`*Bng2SYxoNW(q$I@hS2 zQjlHA(omAkh|-^BsH2SnrUBGYEx``zqKpCB#(CQN(>>4WIrG?F5mrbHJ4jkM3xk4w zf}4fL3sA@T8RH_gISSvjLBj2qDblA;P-ofKi?XJHleENU9K_Ku!clQ?w{C{>XC*VF zN$I`8Tv}?fnkgFUKOw1sA$iZzoY52tS?H=PJi1^%^9DGB9f=`0nA1@oG_ZeJ`+>-A zLn^}CkGtwIM;NAte7RECp=LC z561=B4|2S?BT3WDkh76qJKcvVeVPhl|m6aRh$n(pq zVPf(f3!Lx*!tohuQNw9a*zf{?H(`K>`#Bh|QdAx#f~JtW*RJF_m|#w@Yw-ypH0YRo zdb|McFW`OE9(7cFNHM#wbJ`q%gYj5T&-Z&+oPk^{&@sYD&Na5ob|7MH5-fSM&_=9T zlDtEWBIGdphB%ES1S{lwS8(jxwKNq~TBX^F$*aN6%I$MJN5zWT6W7CjYC8_8 z)+hF_t3LL*U$i_z366TD3pIQ|u6oVS6z^9OT18lPo#;Hpsg&CSx63KiLS~ho0l$E^ zNIG)bRVnG+d^vr8#r+J>eTP;yD##8&Sd^u$!U;^pVuE12GEw72QTh9&Cm|xoiSp+b zW@2(etMVdCxWsMzM?xlLnOjR?<6&~4BF4DY-skv5L9A;~UdX>*%Vrpds^Gja`@y-5 z2B3y^G+gnEYp_8qyMD#y6IOb>u?)N=A0#Yr=pcEdhjeFr@px2zc%`9VU~(3jB)z)e#gg zChmk2M~*j`xPlx-S%}4W!eZ8fC`lPfnT&)8z%BUkz)?9-I;^EYQv@Jsq?;(_|133= zxY()MrR6M>V1a$u>_|FpMSPzdm>t=HYx0G~B$ncS%Hl6lmG{X0*@4+~xRAWdB7huK z%foF&TavOphDhVIzYSSO_`@d!i13#orK#XRKGLgM!R+n=F&T4fV$RyYapLWfrblvy zbFMT6x+Hlw!Ez@flheS3fj@3_C$*Ru=sGQF?VtVrwacrTv?NS+siPd8DYGv=KB|!_ z^Lq0eH3Hd{^ILb?^!z*sdujpyD={-6aIUqDlnY;CP!`C@d(^YkUeLeJrHfY6Qpln4 z6Yj@CnBuf?R5$~4^5GVL@L0f#`zmjVDQ$pP%!z#~2Aq{7OXu|C!(#_>KZS71P|wxp z@Ioa$3m99>Lw(_BN3Su9`}0j<0d~aKhLqlg8Ir#$Bu&ig{iK|NXrNKmQ@zP%2^i~X z{bWE4@uv`R8H>*P9C3*vL$v4)VgiPRctCTiIN;Ojm-XnZjGC%hhQ=5m4%v_gS8hWe zk=YC;zGm^LB$;7?n^j^XLn4_xnx^UA=lb#9da1KyjMk>{xwuXLH)HyXfdMkaGcg;j z!?ip6POU=$gdyAy-G%^hU>O7qODk=bW{QmV4mUs?cs55}B1R?85E}7E zWzU`jC2I6(AtPZ~Nl|N0kx2r};7uwBEJ;mI8RD(;KqONX=%K_}3r&|1D6ERx1Q<a~jx17K8VD#>k8Mg14 z!?rrf9nhXp)NjjE*#aLD0Mhss#O{GR5urd~hkPS)BGo+o>Jszr`CDJF%kY>2b2g%T zK4OZoARKexJct-AJssEm{A!u)s}ToFYIr0It)U>FKknDg_p1XzPD4iP3{Wo=s-q*H z_7?S$qzKx!{)movIEX--3f_ia72N262bY@BlEX+%ZAFPIBQ!`6w#&`&=lT`0E8S>b z#ug4|yBuk{RU7TkKMxomc%5{TN*HXA2DwnF@o|-m`c{}9GQ~Jw+??+sF7wbDKWIJCtxx%p>K?$b zyf(Zt7*8l*y{5D#w6L&(r!9$?vQ@zq|8^^k)YvL1wH*t~hZStn;85O|h}jNiEkD~A zSD=8l@dO}=P^qzkRH&Wk_{1_^Kbq|ugs-%A7lvYHT%%zLD+yMqK7XEohf3cczrEf#5s&00&_3kRlOc z!qo{5mN`hv#~Uu9Ht}rv4udTw@$%dhiko}yZb&*S&!VRtF_A(r#5C&AI@7J^jBik- z?Ke@25N{@;hfM=X_gpf9x;;N2TcRM(q2k5^w4HeuXX0Wo=)egc2Y@r>sQU?}`7RQ# zCD_fyoW78|X9pmfm%MM??)RuhrXc)LVOFEA?m+BBqrAjlO z2G|o(32q&HKK3XB%-*UQ$%Y6%2J8CrkxXRePGhAm{)fi#sn~~7eXc9BhP08M%Y`W> zZ>@c^h$K6wSI*i?i)>Lp*Si)|x$A z^ru81>}w@A#tk!=g4EzemLn7J`qn5j+4q1fPVe6_wL{sBUKa&qslVQCM%yzY{Eqgw zfprSMdvNBLlcPe$D5an%xjk9ak|$tli8ZR}>KRrPRwh9-B7z1f{R^&5DKEl0{mP9SJB|TY#IPW?p`>YjNRpJy4OJkydQ`;mt7ZN*DauZ_fs$ zzMp@&WJ>%aY|CVn28JId1}pOtF8OMsSichT1?h8m%rKd81zV%^2@3F0$rHHI`2>V( zngsLssK)2i_Q66qTYy3*vT}VZ%-Yvl8lr`m+cp}WSeZfg$tF}VqYPWr1XrvOOqig@skLSoR z2+msUbI4Ep(lZrmLL2jpA{mIjlYx4)*~+ZFXin3vp4yR9MFsEUUG28%s)rd3J5)(! zJQ#xmH&M@(=6uM;AVhU*Mxq(bNjMjNo)HDo-spnw86E{AiWjdzCWW)d*RzvC!4?}> z#Tv6bY3CKbp*n8FATFHDrem&jJjQZlgMWI3!-^+WAXaW;&i)*!Oz*-EaTYG#IudxC zg^G=aOt!xEss8O-CKs=H>AUYJ6q!tkYBVc$q;Qdf>NZpB9(08Jx9<37{Qy1>P=R|<^Fy^8u(I99@0T!cUOk9)wH3PD z0_{T=rI8w5uEh~6+IJH?jGhJej$q~E6FTbMZb$vPX4&?+BWGuO8;e88 z7q|CiW6TC0O4wXai-}eq+;rHT%;*bwBc{kh@!JVTZYG0>!gC<2W-+iI5GbG8Si5)% zsjSpQE=pp;7shj_E$bO9bL^$(kSxdh;JzEbyRd$=wD%cI_vH!N%OOO(&fZa>Nk>#q z;Zink+)rJ_>9--9-lig8A=L($&(;&W!o5BkNxs&a~x$tv+#je`=s~9xlCXxJ7n~ zU#?xPlp>DbaJk(^QVB3?Q5`x|Z555Zlw4%OEP!(T4EW!e+ABApuG(5^?) zC^;XG$bYAV9wU1e@aZ#9zFEEqBLe*$?j-m2qEYDR={mk=Y16a<~P zLSACsvB}_x@*C@>Ang0f);!Dx3<5@p+Z7my%R5m5aqq4*13?SyM$1r6k`#R=vIdWL z%CpL^>9THFoVBoGyNNeKFBajjK`;nsQtI#Oysu3%tdi2?2^eAwg>rL`Lqa)BA}BJN z%V%pIIQMEVkB?JXR#ugn9FRBqb*oou3tiNEbFC%f^v@WNzEum-((zy;9FU2wQ!&n4 zQb{SLsR~WoXRde`RGHeLrMU`=bleyCYUuKxL>Fo5Uf>@qF!a5K#Xs|*TwS}hg_c)knyDc9lw{$HiJH0e-!EA3t$Vx z+x_(m2f>f~FlzC3M5r+7O%U(!ApTR3OGO1bgJw#+M#=(k?0pK?A!3(PQAno1$Ka}g zYdO*Yaet%*LdU!bW1aAJR?l+UmW##+sj<}1_9HJm<0$2Yg6cJpwqzXX4f)qwu#Pnf z*fn6&O2uk>x?ry);bT0e&Eg9(`4l^{BDmOuI0!`-SL6b+SMX@g4_l)wC4eNDKz}~C zQv)fq2hH?p)>=|*F4iQIs7%x8%GbGqV#gu*<~mW+&d zLXLPD?Z^iT?t8PTkgSy!Y6@1K)O)4IhP>~Gcg7`XHh$h3GFc^vwl*JxbHP;V36-0G zDI9jMBsKTSI{&gJq~3RL+9kVToAL%|O<3I#eCy}i3T-wrYApM`@maXD%8l0LCTxC* zYj1c*f-PXy`@5$C{|_sR@-oJ1nW`VAUaOJUe)nBl^KP>`t{eD9pWR22^EY%I{B<)& z&!*Ok<}C#dqnHZ===-d{Cr4{W5U}GQfk})|YqobWAr#AD(zgty+cXXrk>u-c=P`bz zGbn%PJblARO+~`yeE2EJM~tDf6tS{Ac^pzuc>h&pKQ+0#gKlYQg}OxI>dvY{DFR19 zDo*Ag-RtnzmBATmO!1&x&dXtjLaG$4d=s7(brTxeVL6LDKY@*X2rvvf-8k&O(9S3SQ!NuEfWe zJ_WAj_TFzAP%+D<#(Z-Omg@V%q1jyjTD#CF|PHGbv9en@}L?ur%<7BX`Sr@#n?az$v#dOtVb&$q%T5yoh zZ#P1szbi(0)2R1nZDkMD{n%$J@R4T*KCvILZ-ie)}moa zw+Mei#Vt49R<&>R=XU_CcUJAWfN^nFudeL1fAsaBt?V3CD5@0rCWh^L&8yKlq38%P z+9~W$=P4F@$+fBBLyBMb5gmim=;jL^dcv`1klK zN{Tc7*({w86p>g4mU|usAhmyDED$dmkvkk@r!FIaT*1C92@~g~t?nLx+@hV|6)l^O`rIUvf}jSkM2lm%#w*9LMuk zr}qo`pSf7BKi_H@@BGo;ow8Efy@e{^xNO^mA3t5}{E(~KMX2KD%S$U${7)SpoVd;{*8J>KNLrnm=_Ods zL5p9mi#`olcbHn@!;dZc;In+!rqA;kXlcY`s^J+4g2N8DK_>VKwHFu$z@Ps|4H*iD_9OJG@&7!=k%d5#%bg2uy zt-gW%b3j|V2S=B`Ml~nC!9IuuL;Oqc;NAWNYd(Y}Mz|CR zt%%G$=H`#*Xw0|0->W|d&BBEI_h~U3K-QY{({i#?mkWq z@^QXeK0zx;-i{#3F)|)k_Z_FPnnfrkB#Jwtql}r`)6H&+=~i+ndu}hNqal6#i5#Js ze%GBSEV?Zwv}6+}9I9%)Zdu=PSn?lOz+I)zuWH;*nPy6#FI*Pp*w(L4Wz*F;?DqAv z@)VR>82g-1NtyvKS3V)zwTBTk+auv0NZpYa6c2{K1h!edIU36*p?}?{lKuK0tF-vJ zum~GqO(p`E-Ti0HVee*VY~~EC%KX*HU31HRp9iOBr%X6OLboL%i35V8xlmYLFGhmA zpDoM zY)6#gSay2l;QeRXDb?jqW!QBzv~P3me!^BCd+%|xzfm_9AkpaR%4jtCzEj_>eV59J zw&joE4j+6--PgQHt~<1wu9(rFCm{Ep9a(TE+%?sR*kzSb8DS5xg;uG`FM4I;f;+fd zaLZQQGEsNxt_!CQuh@-*hb!sCvbbR~m3qSuS8D zSL?Twl+KvGaK8T>RUj5F8#ztNPUJvq%tk+p6bjNauSgnu^Jgmy?jr&YhJ{EdF_H>4qma5NY6;5SWqDE;`YqJ$QYHQkubm}5 z++P%?8jeh98AfC=H$>Q43oqHzwOeE77!!WMe<^9=V);OH< zZ-!Ae$r_`Ii(vW@ky9SN9YJ&BQp!0oam_6|5}k{82TzfV+}n-yyLFGk6Xp>pss@Xg zk=)+^9#`ED(WtB6Eyfp)KaIPn8ct$HVu=Fq5qhL0jj3nvgez0}c2(1Ad!;>A9|mD< zdgk`7dv4_P#bSDHKJP#e=xOMU9)@^}Gegm)CC2A4x@_ zn5BEW|Ka!kfz(VKVI0nrRH4op)9`|I>yr-;U^^AFdNBuMugGh_RE-2?yCF_rs17!d zucosU3fFzU$2k2^m@~opv@^qZ*P_S$8>SbE%An`C#tG_JiR0o_IMe6T4sO?Ni<-qN zOf8aJZD@>M4sTNb*XiGDm;9_(W4FJ}Bq55{Hny)>Dtn6b_&R60o>J(J4l z%VH`ZC*cL;F-*YcqX9$JHQPyXK9EmYTv!qs1s(%ul+5~;QvkyN{C0Dz7*;Vj!Qk8F z*7{p-_WhR2EU)*8ec@Q4!O+|tnl~&90=Sun$U}4QlzmIBBTtpgB_@|E$Z1>0;2ww# zm?gqwVbhYacBgHJ^bR~jbRfrgC`XzO95ycjrhkz2UZ>L;3=0Ob0`cZY9r+A!76hS! z^c*Mez)xrcxdHv6nGEV`F{eMr5SDQ9LoAonIBd9|uL{f;k%S&f4eK<}IxHE`wP z8Q(^lr=Dh7r?790G&xR#85nr_CCieTzj|@heG0b)=}{akcMHNBZ=B-v)dczRa$`p=pAFs8#cyI zD~5VzDST;HwlIv2qa44t5;47@4ifV2V4vVPiID_8H^e-_KjRn_GhpS>r)5^!-SX53 z+LYjhp=)$b5{@?|)S-)hqvN!wRe?$7TmH4VU4I#V)c*(#o`PvDXN*EoA~C}B+j?@T z!!$LTSt&<0)%%U|DZQ7GK=Fy}SfVu&)xu8BWsdT@%rehmAWC)2$f2Z{?nv|h+IHg! z=bMlAaI|+v0b+m0bYgLRh3$1 zKeu-^&$_^H3+c-(9%6=*YxX>!z-2UDWP+2y#Gg;>jQT|uZ=G;Pa>i?qsQK$k%M{LO zbtHtWisqU2_2$GmN2=aF;@bcFz~txaX36f-OIMudU&QWki0{bM%adQ*KV8 zt>^8ov`#7sU;Bc0-Fd%?4E2_+Q>SY!tc^O9Wta8u=AGnwIrp;ueVnDoe@it_czg5j zhTA9KKC)vM-ah;FGrK3>fVKB~)xE2w-}g6`ufHO_ep(gV>#Yoo%|{Jx85|7Ak;tBr zvclttaf)OSZ)%(73rX7#_aQ^x9RR}4ey@ra7w={`nv1DlG&@YuRMKqO0)m@^4U%MoN8{ZyH)y5Iz&Nb<)qhh z*1fUX75?&#+EMjJ;624gwi#;|e#p8Q|9-M>W!mSQV8OaoER$_t%riXugp0+e%iE~4 zNu|TLDV^=Y`vp}l@g-XK&DB0T98%L~nem%@UL?Elwx@y(*Hs(V%;b#bo7brv$MRy< z)4mShjmGm6_c2V^^Rx2R`V#JWzRMR~?5>D=Y0eaLPoVeTUCG|KdrcqxncncZ{C3#3 z^~YWYZt+XO@<9y-HxFFCS#dtujsJs?8asc%smO+{bqa>nsX1>q-N+Zc$!E4MVcv@e zkLH9fxhR~l^uJtQ_63FQ(#@Uk*pj)rHH&%#Ba{zI&U_&!(Y^E2DusWEsS$l2tZGk9 zxMCvmMuJP{aG}n_ig^i{XP95GCp~HJJ*|6*H~z_`{`jdAx2GL`HidKA+q=qh+Ryo( zSucFMeMwqcugp~2%uiG1>|SYB&Pmd~qucJukX`h~@(uT77uOTE2%{obF~Zd>20+@Ae> zUBBJE&nNHI{K{H@zd!cZ-+uf5i%Ja- z@J_MIh`qtmrrM%h6(xSyEVyyvhsQ;whr7gH#;$JbKOa4LQsT`GmDS%TaQ-}3to-VT z^U9gR>EC><{Jn#wj=6bF1nrE54U9c^1m)Ek6sMdhwNP;9u6nCY7 dsp} -import com.twitter.home_mixer.model.request.DeviceContext -import com.twitter.home_mixer.model.request.HasDeviceContext -import com.twitter.home_mixer.model.request.HasSeenTweetIds -import com.twitter.home_mixer.model.request.FollowingProduct -import com.twitter.onboarding.task.service.{thriftscala => ots} -import com.twitter.product_mixer.component_library.model.cursor.UrtOrderedCursor -import com.twitter.product_mixer.component_library.pipeline.candidate.flexible_injection_pipeline.transformer.HasFlipInjectionParams -import com.twitter.product_mixer.core.feature.featuremap.FeatureMap -import com.twitter.product_mixer.core.model.marshalling.request._ -import com.twitter.product_mixer.core.pipeline.HasPipelineCursor -import com.twitter.product_mixer.core.pipeline.PipelineQuery -import com.twitter.timelines.configapi.Params - -case class FollowingQuery( - override val params: Params, - override val clientContext: ClientContext, - override val pipelineCursor: Option[UrtOrderedCursor], - override val requestedMaxResults: Option[Int], - override val debugOptions: Option[DebugOptions], - override val features: Option[FeatureMap], - override val deviceContext: Option[DeviceContext], - override val seenTweetIds: Option[Seq[Long]], - override val dspClientContext: Option[dsp.DspClientContext]) - extends PipelineQuery - with HasPipelineCursor[UrtOrderedCursor] - with HasDeviceContext - with HasSeenTweetIds - with HasFlipInjectionParams - with HomeAdsQuery { - override val product: Product = FollowingProduct - - override def withFeatureMap(features: FeatureMap): FollowingQuery = - copy(features = Some(features)) - - override val timelineRequestParams: Option[TimelineRequestParams] = - Some(TimelineRequestParams(homeTimelineType = Some(HomeTimelineType.HomeLatest))) - - // Fields below are used for FLIP Injection in Onboarding Task Service (OTS) - override val displayLocation: ots.DisplayLocation = ots.DisplayLocation.HomeLatestTimeline - override val rankingDisablerWithLatestControlsAvailable: Option[Boolean] = None - override val isEmptyState: Option[Boolean] = None - override val isFirstRequestAfterSignup: Option[Boolean] = None - override val isEndOfTimeline: Option[Boolean] = None - override val timelineId: Option[Long] = None -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/following/model/HomeMixerExternalStrings.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/following/model/HomeMixerExternalStrings.docx new file mode 100644 index 0000000000000000000000000000000000000000..c427ce0c81cbbb39d10f8d186b22e01ec10c83ac GIT binary patch literal 37393 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%0DU;R@B!*Dd!OVZ_dKm+4Mh}*K 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 PTqVem2+SUhy&xU{26@>E literal 0 HcmV?d00001 diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/following/param/FollowingParam.scala b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/following/param/FollowingParam.scala deleted file mode 100644 index e43990507..000000000 --- a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/following/param/FollowingParam.scala +++ /dev/null @@ -1,85 +0,0 @@ -package com.twitter.home_mixer.product.following.param - -import com.twitter.conversions.DurationOps._ -import com.twitter.product_mixer.component_library.decorator.urt.builder.timeline_module.WhoToFollowModuleDisplayType -import com.twitter.timelines.configapi.DurationConversion -import com.twitter.timelines.configapi.FSBoundedParam -import com.twitter.timelines.configapi.FSEnumParam -import com.twitter.timelines.configapi.FSParam -import com.twitter.timelines.configapi.HasDurationConversion -import com.twitter.util.Duration - -object FollowingParam { - val SupportedClientFSName = "following_supported_client" - - object ServerMaxResultsParam - extends FSBoundedParam[Int]( - name = "following_server_max_results", - default = 100, - min = 1, - max = 500 - ) - - object EnableWhoToFollowCandidatePipelineParam - extends FSParam[Boolean]( - name = "following_enable_who_to_follow", - default = true - ) - - object EnableAdsCandidatePipelineParam - extends FSParam[Boolean]( - name = "following_enable_ads", - default = true - ) - - object EnableFlipInjectionModuleCandidatePipelineParam - extends FSParam[Boolean]( - name = "following_enable_flip_inline_injection_module", - default = true - ) - - object FlipInlineInjectionModulePosition - extends FSBoundedParam[Int]( - name = "following_flip_inline_injection_module_position", - default = 0, - min = 0, - max = 1000 - ) - - object WhoToFollowPositionParam - extends FSBoundedParam[Int]( - name = "following_who_to_follow_position", - default = 5, - min = 0, - max = 99 - ) - - object WhoToFollowMinInjectionIntervalParam - extends FSBoundedParam[Duration]( - "following_who_to_follow_min_injection_interval_in_minutes", - default = 1800.minutes, - min = 0.minutes, - max = 6000.minutes) - with HasDurationConversion { - override val durationConversion: DurationConversion = DurationConversion.FromMinutes - } - - object WhoToFollowDisplayTypeIdParam - extends FSEnumParam[WhoToFollowModuleDisplayType.type]( - name = "following_enable_who_to_follow_display_type_id", - default = WhoToFollowModuleDisplayType.Vertical, - enum = WhoToFollowModuleDisplayType - ) - - object WhoToFollowDisplayLocationParam - extends FSParam[String]( - name = "following_who_to_follow_display_location", - default = "timeline_reverse_chron" - ) - - object EnableFastAds - extends FSParam[Boolean]( - name = "following_enable_fast_ads", - default = true - ) -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/following/param/FollowingParamConfig.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/following/param/FollowingParamConfig.docx new file mode 100644 index 0000000000000000000000000000000000000000..5a18639c6dc3c7310d7f858be78265e11ff527d1 GIT binary patch literal 37078 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 Vyjg)c2$ZV?84`inBfba30{|wxYc2o) literal 0 HcmV?d00001 diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/following/param/FollowingParamConfig.scala b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/following/param/FollowingParamConfig.scala deleted file mode 100644 index df3b54801..000000000 --- a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/following/param/FollowingParamConfig.scala +++ /dev/null @@ -1,34 +0,0 @@ -package com.twitter.home_mixer.product.following.param - -import com.twitter.home_mixer.param.decider.DeciderKey -import com.twitter.home_mixer.product.following.param.FollowingParam._ -import com.twitter.product_mixer.core.product.ProductParamConfig -import com.twitter.servo.decider.DeciderKeyName -import javax.inject.Inject -import javax.inject.Singleton - -@Singleton -class FollowingParamConfig @Inject() () extends ProductParamConfig { - override val enabledDeciderKey: DeciderKeyName = DeciderKey.EnableFollowingProduct - override val supportedClientFSName: String = SupportedClientFSName - - override val booleanFSOverrides = - Seq( - EnableFlipInjectionModuleCandidatePipelineParam, - EnableWhoToFollowCandidatePipelineParam, - EnableAdsCandidatePipelineParam, - EnableFastAds, - ) - - override val boundedIntFSOverrides = Seq( - FlipInlineInjectionModulePosition, - WhoToFollowPositionParam, - ServerMaxResultsParam - ) - - override val stringFSOverrides = Seq(WhoToFollowDisplayLocationParam) - - override val boundedDurationFSOverrides = Seq(WhoToFollowMinInjectionIntervalParam) - - override val enumFSOverrides = Seq(WhoToFollowDisplayTypeIdParam) -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/BUILD.bazel b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/BUILD.bazel deleted file mode 100644 index 5f597c78b..000000000 --- a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/BUILD.bazel +++ /dev/null @@ -1,101 +0,0 @@ -scala_library( - sources = ["*.scala"], - compiler_option_sets = ["fatal_warnings"], - strict_deps = True, - tags = ["bazel-compatible"], - dependencies = [ - "3rdparty/jvm/javax/inject:javax.inject", - "ads-injection/lib/src/main/scala/com/twitter/goldfinch/api", - "finagle/finagle-memcached/src/main/scala", - "finatra/inject/inject-core/src/main/scala", - "finatra/inject/inject-core/src/main/scala/com/twitter/inject", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/candidate_pipeline", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/functional_component/candidate_source", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/functional_component/decorator", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/functional_component/decorator/builder", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/functional_component/decorator/urt/builder", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/functional_component/feature_hydrator", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/functional_component/filter", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/functional_component/gate", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/functional_component/scorer", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/functional_component/selector", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/functional_component/side_effect", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/marshaller/timelines", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/model", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/model/request", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/param", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/product/following/model", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/candidate_source", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/feature_hydrator", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/filter", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/functional_component/gate", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/model", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/param", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/query_transformer", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/response_transformer", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/scorer", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/side_effect", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/model", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/service", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/util", - "home-mixer/thrift/src/main/thrift:thrift-scala", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/candidate_source/ads", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/candidate_source/earlybird", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/candidate_source/timeline_scorer", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/candidate_source/timeline_service", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/decorator/urt", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/feature_hydrator/candidate/ads", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/feature_hydrator/candidate/param_gated", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/feature_hydrator/candidate/tweet_is_nsfw", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/feature_hydrator/candidate/tweet_tweetypie", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/feature_hydrator/query/async", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/feature_hydrator/query/impressed_tweets", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/feature_hydrator/query/param_gated", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/feature_hydrator/query/social_graph", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/filter", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/gate", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/model/candidate/ads", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/pipeline/candidate/ads", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/pipeline/candidate/flexible_injection_pipeline", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/pipeline/candidate/who_to_follow_module", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/pipeline/candidate/who_to_subscribe_module", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/tweet_tlx", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector/ads", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/side_effect", - "product-mixer/core/src/main/java/com/twitter/product_mixer/core/product/guice/scope", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/candidate_source/product_pipeline", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/configapi", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/decorator", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/decorator/urt/builder", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/marshaller/request", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/marshaller/response/urt", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/model/common/presentation", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/model/marshalling/request", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/model/marshalling/response/urt", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/model/marshalling/response/urt/item", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/pipeline/candidate", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/pipeline/mixer", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/pipeline/product", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/pipeline/recommendation", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/pipeline/scoring", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/product", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/product/guice", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/quality_factor", - "src/java/com/twitter/search/common/util/lang", - "src/scala/com/twitter/suggests/controller_data", - "src/thrift/com/twitter/search:earlybird-scala", - "src/thrift/com/twitter/search/common:constants-java", - "src/thrift/com/twitter/timelines/render:thrift-scala", - "src/thrift/com/twitter/timelines/suggests/common:poly_data_record-java", - "src/thrift/com/twitter/timelineservice:thrift-scala", - "stitch/stitch-tweetypie", - "timelinemixer/server/src/main/scala/com/twitter/timelinemixer/injection/model/candidate", - "timelines/src/main/scala/com/twitter/timelines/injection/scribe", - "timelines/src/main/scala/com/twitter/timelines/model/candidate", - ], - exports = [ - "src/thrift/com/twitter/timelines/render:thrift-scala", - ], -) diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/BUILD.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/BUILD.docx new file mode 100644 index 0000000000000000000000000000000000000000..5ed0a2212dceeb6a63c2f1edc203020e5abaf177 GIT binary patch literal 37698 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 literal 0 HcmV?d00001 diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/ForYouAdsCandidatePipelineBuilder.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/ForYouAdsCandidatePipelineBuilder.docx new file mode 100644 index 0000000000000000000000000000000000000000..447d5b0f796a3be8a5efd489cfb64703176c8cac GIT binary patch literal 37956 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 HUOW2-DjW`@ literal 0 HcmV?d00001 diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/ForYouAdsCandidatePipelineBuilder.scala b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/ForYouAdsCandidatePipelineBuilder.scala deleted file mode 100644 index 99ed0f584..000000000 --- a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/ForYouAdsCandidatePipelineBuilder.scala +++ /dev/null @@ -1,94 +0,0 @@ -package com.twitter.home_mixer.product.for_you - -import com.twitter.product_mixer.component_library.feature_hydrator.candidate.param_gated.ParamGatedCandidateFeatureHydrator -import com.twitter.adserver.{thriftscala => ads} -import com.twitter.home_mixer.functional_component.decorator.builder.HomeAdsClientEventDetailsBuilder -import com.twitter.home_mixer.functional_component.gate.ExcludeSoftUserGate -import com.twitter.home_mixer.param.HomeGlobalParams -import com.twitter.home_mixer.param.HomeGlobalParams.EnableAdvertiserBrandSafetySettingsFeatureHydratorParam -import com.twitter.home_mixer.product.for_you.model.ForYouQuery -import com.twitter.home_mixer.product.for_you.param.ForYouParam.AdsNumOrganicItemsParam -import com.twitter.home_mixer.service.HomeMixerAlertConfig -import com.twitter.product_mixer.component_library.candidate_source.ads.AdsProdThriftCandidateSource -import com.twitter.product_mixer.component_library.decorator.urt.UrtItemCandidateDecorator -import com.twitter.product_mixer.component_library.decorator.urt.builder.contextual_ref.ContextualTweetRefBuilder -import com.twitter.product_mixer.component_library.decorator.urt.builder.item.ad.AdsCandidateUrtItemBuilder -import com.twitter.product_mixer.component_library.decorator.urt.builder.metadata.ClientEventInfoBuilder -import com.twitter.product_mixer.component_library.feature_hydrator.candidate.ads.AdvertiserBrandSafetySettingsFeatureHydrator -import com.twitter.product_mixer.component_library.model.candidate.ads.AdsCandidate -import com.twitter.product_mixer.component_library.pipeline.candidate.ads.AdsCandidatePipelineConfig -import com.twitter.product_mixer.component_library.pipeline.candidate.ads.AdsCandidatePipelineConfigBuilder -import com.twitter.product_mixer.component_library.pipeline.candidate.ads.StaticAdsDisplayLocationBuilder -import com.twitter.product_mixer.component_library.pipeline.candidate.ads.ValidAdImpressionIdFilter -import com.twitter.product_mixer.core.functional_component.common.CandidateScope -import com.twitter.product_mixer.core.gate.ParamNotGate -import com.twitter.product_mixer.core.model.common.identifier.CandidatePipelineIdentifier -import com.twitter.product_mixer.core.model.marshalling.response.rtf.safety_level.TimelineHomePromotedHydrationSafetyLevel -import com.twitter.product_mixer.core.model.marshalling.response.urt.contextual_ref.TweetHydrationContext -import com.twitter.timelines.injection.scribe.InjectionScribeUtil -import com.twitter.timelineservice.suggests.{thriftscala => st} -import javax.inject.Inject -import javax.inject.Singleton - -@Singleton -class ForYouAdsCandidatePipelineBuilder @Inject() ( - adsCandidatePipelineConfigBuilder: AdsCandidatePipelineConfigBuilder, - adsCandidateSource: AdsProdThriftCandidateSource, - advertiserBrandSafetySettingsFeatureHydrator: AdvertiserBrandSafetySettingsFeatureHydrator[ - ForYouQuery, - AdsCandidate - ]) { - - private val identifier: CandidatePipelineIdentifier = CandidatePipelineIdentifier("ForYouAds") - - private val suggestType = st.SuggestType.Promoted - - private val clientEventInfoBuilder = ClientEventInfoBuilder( - component = InjectionScribeUtil.scribeComponent(suggestType).get, - detailsBuilder = Some(HomeAdsClientEventDetailsBuilder(Some(suggestType.name))) - ) - - private val contextualTweetRefBuilder = ContextualTweetRefBuilder( - TweetHydrationContext( - safetyLevelOverride = Some(TimelineHomePromotedHydrationSafetyLevel), - outerTweetContext = None - )) - - private val decorator = UrtItemCandidateDecorator( - AdsCandidateUrtItemBuilder( - tweetClientEventInfoBuilder = Some(clientEventInfoBuilder), - contextualTweetRefBuilder = Some(contextualTweetRefBuilder) - )) - - private val alerts = Seq( - HomeMixerAlertConfig.BusinessHours.defaultSuccessRateAlert(), - HomeMixerAlertConfig.BusinessHours.defaultEmptyResponseRateAlert() - ) - - def build( - organicCandidatePipelines: Option[CandidateScope] = None - ): AdsCandidatePipelineConfig[ForYouQuery] = - adsCandidatePipelineConfigBuilder.build[ForYouQuery]( - adsCandidateSource = adsCandidateSource, - identifier = identifier, - adsDisplayLocationBuilder = StaticAdsDisplayLocationBuilder(ads.DisplayLocation.TimelineHome), - estimateNumOrganicItems = _.params(AdsNumOrganicItemsParam).toShort, - gates = Seq( - ParamNotGate( - name = "AdsDisableInjectionBasedOnUserRole", - param = HomeGlobalParams.AdsDisableInjectionBasedOnUserRoleParam - ), - ExcludeSoftUserGate - ), - filters = Seq(ValidAdImpressionIdFilter), - postFilterFeatureHydration = Seq( - ParamGatedCandidateFeatureHydrator( - EnableAdvertiserBrandSafetySettingsFeatureHydratorParam, - advertiserBrandSafetySettingsFeatureHydrator - ) - ), - decorator = Some(decorator), - alerts = alerts, - urtRequest = Some(true), - ) -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/ForYouAdsDependentCandidatePipelineBuilder.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/ForYouAdsDependentCandidatePipelineBuilder.docx new file mode 100644 index 0000000000000000000000000000000000000000..8361a032ba04ca599576dabd32126677e22d502e GIT binary patch literal 38130 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 V*h+vF^u?+a0T0kTsEjZF{sj{`T3-MF literal 0 HcmV?d00001 diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/ForYouAdsDependentCandidatePipelineBuilder.scala b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/ForYouAdsDependentCandidatePipelineBuilder.scala deleted file mode 100644 index ef65d7062..000000000 --- a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/ForYouAdsDependentCandidatePipelineBuilder.scala +++ /dev/null @@ -1,111 +0,0 @@ -package com.twitter.home_mixer.product.for_you - -import com.twitter.adserver.{thriftscala => ads} -import com.twitter.home_mixer.functional_component.decorator.builder.HomeAdsClientEventDetailsBuilder -import com.twitter.home_mixer.functional_component.gate.ExcludeSoftUserGate -import com.twitter.home_mixer.model.HomeFeatures.TweetLanguageFeature -import com.twitter.home_mixer.model.HomeFeatures.TweetTextFeature -import com.twitter.home_mixer.param.HomeGlobalParams -import com.twitter.home_mixer.param.HomeGlobalParams.EnableAdvertiserBrandSafetySettingsFeatureHydratorParam -import com.twitter.home_mixer.product.for_you.model.ForYouQuery -import com.twitter.home_mixer.service.HomeMixerAlertConfig -import com.twitter.home_mixer.util.CandidatesUtil -import com.twitter.product_mixer.component_library.candidate_source.ads.AdsProdThriftCandidateSource -import com.twitter.product_mixer.component_library.decorator.urt.UrtItemCandidateDecorator -import com.twitter.product_mixer.component_library.decorator.urt.builder.contextual_ref.ContextualTweetRefBuilder -import com.twitter.product_mixer.component_library.decorator.urt.builder.item.ad.AdsCandidateUrtItemBuilder -import com.twitter.product_mixer.component_library.decorator.urt.builder.metadata.ClientEventInfoBuilder -import com.twitter.product_mixer.component_library.feature_hydrator.candidate.ads.AdvertiserBrandSafetySettingsFeatureHydrator -import com.twitter.product_mixer.component_library.feature_hydrator.candidate.param_gated.ParamGatedCandidateFeatureHydrator -import com.twitter.product_mixer.component_library.gate.NonEmptyCandidatesGate -import com.twitter.product_mixer.component_library.model.candidate.ads.AdsCandidate -import com.twitter.product_mixer.component_library.pipeline.candidate.ads.AdsDependentCandidatePipelineConfig -import com.twitter.product_mixer.component_library.pipeline.candidate.ads.AdsDependentCandidatePipelineConfigBuilder -import com.twitter.product_mixer.component_library.pipeline.candidate.ads.CountTruncatedItemCandidatesFromPipelines -import com.twitter.product_mixer.component_library.pipeline.candidate.ads.StaticAdsDisplayLocationBuilder -import com.twitter.product_mixer.component_library.pipeline.candidate.ads.TruncatedPipelineScopedOrganicItems -import com.twitter.product_mixer.component_library.pipeline.candidate.ads.ValidAdImpressionIdFilter -import com.twitter.product_mixer.core.functional_component.common.CandidateScope -import com.twitter.product_mixer.core.gate.ParamNotGate -import com.twitter.product_mixer.core.model.common.identifier.CandidatePipelineIdentifier -import com.twitter.product_mixer.core.model.marshalling.response.rtf.safety_level.TimelineHomePromotedHydrationSafetyLevel -import com.twitter.product_mixer.core.model.marshalling.response.urt.contextual_ref.TweetHydrationContext -import com.twitter.timelines.injection.scribe.InjectionScribeUtil -import com.twitter.timelineservice.suggests.{thriftscala => st} -import javax.inject.Inject -import javax.inject.Singleton - -@Singleton -class ForYouAdsDependentCandidatePipelineBuilder @Inject() ( - adsCandidatePipelineConfigBuilder: AdsDependentCandidatePipelineConfigBuilder, - adsCandidateSource: AdsProdThriftCandidateSource, - advertiserBrandSafetySettingsFeatureHydrator: AdvertiserBrandSafetySettingsFeatureHydrator[ - ForYouQuery, - AdsCandidate - ]) { - - private val identifier: CandidatePipelineIdentifier = - CandidatePipelineIdentifier("ForYouAdsDependent") - - private val suggestType = st.SuggestType.Promoted - - private val MaxOrganicTweets = 35 - - private val clientEventInfoBuilder = ClientEventInfoBuilder( - component = InjectionScribeUtil.scribeComponent(suggestType).get, - detailsBuilder = Some(HomeAdsClientEventDetailsBuilder(Some(suggestType.name))) - ) - - private val contextualTweetRefBuilder = ContextualTweetRefBuilder( - TweetHydrationContext( - safetyLevelOverride = Some(TimelineHomePromotedHydrationSafetyLevel), - outerTweetContext = None - )) - - private val decorator = UrtItemCandidateDecorator( - AdsCandidateUrtItemBuilder( - tweetClientEventInfoBuilder = Some(clientEventInfoBuilder), - contextualTweetRefBuilder = Some(contextualTweetRefBuilder) - )) - - private val alerts = Seq( - HomeMixerAlertConfig.BusinessHours.defaultSuccessRateAlert(), - HomeMixerAlertConfig.BusinessHours.defaultEmptyResponseRateAlert() - ) - - def build( - organicCandidatePipelines: CandidateScope - ): AdsDependentCandidatePipelineConfig[ForYouQuery] = - adsCandidatePipelineConfigBuilder.build[ForYouQuery]( - adsCandidateSource = adsCandidateSource, - identifier = identifier, - adsDisplayLocationBuilder = StaticAdsDisplayLocationBuilder(ads.DisplayLocation.TimelineHome), - getOrganicItems = TruncatedPipelineScopedOrganicItems( - pipelines = organicCandidatePipelines, - textFeature = TweetTextFeature, - languageFeature = TweetLanguageFeature, - ordering = CandidatesUtil.scoreOrdering, - maxCount = MaxOrganicTweets - ), - countNumOrganicItems = - CountTruncatedItemCandidatesFromPipelines(organicCandidatePipelines, MaxOrganicTweets), - gates = Seq( - ParamNotGate( - name = "AdsDisableInjectionBasedOnUserRole", - param = HomeGlobalParams.AdsDisableInjectionBasedOnUserRoleParam - ), - ExcludeSoftUserGate, - NonEmptyCandidatesGate(organicCandidatePipelines) - ), - filters = Seq(ValidAdImpressionIdFilter), - postFilterFeatureHydration = Seq( - ParamGatedCandidateFeatureHydrator( - EnableAdvertiserBrandSafetySettingsFeatureHydratorParam, - advertiserBrandSafetySettingsFeatureHydrator - ) - ), - decorator = Some(decorator), - alerts = alerts, - urtRequest = Some(true) - ) -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/ForYouConversationServiceCandidatePipelineConfig.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/ForYouConversationServiceCandidatePipelineConfig.docx new file mode 100644 index 0000000000000000000000000000000000000000..380b79c7370a056a29cec2c108a1aed32df95024 GIT binary patch literal 38189 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 literal 0 HcmV?d00001 diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/ForYouConversationServiceCandidatePipelineConfig.scala b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/ForYouConversationServiceCandidatePipelineConfig.scala deleted file mode 100644 index 494d3a584..000000000 --- a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/ForYouConversationServiceCandidatePipelineConfig.scala +++ /dev/null @@ -1,138 +0,0 @@ -package com.twitter.home_mixer.product.for_you - -import com.twitter.home_mixer.candidate_pipeline.ConversationServiceResponseFeatureTransformer -import com.twitter.home_mixer.functional_component.decorator.HomeConversationServiceCandidateDecorator -import com.twitter.home_mixer.functional_component.decorator.urt.builder.HomeFeedbackActionInfoBuilder -import com.twitter.home_mixer.functional_component.feature_hydrator.InNetworkFeatureHydrator -import com.twitter.home_mixer.functional_component.feature_hydrator.NamesFeatureHydrator -import com.twitter.home_mixer.functional_component.feature_hydrator.TweetypieFeatureHydrator -import com.twitter.home_mixer.functional_component.filter.InvalidConversationModuleFilter -import com.twitter.home_mixer.functional_component.filter.InvalidSubscriptionTweetFilter -import com.twitter.home_mixer.functional_component.filter.PreviouslyServedTweetsFilter -import com.twitter.home_mixer.functional_component.filter.RetweetDeduplicationFilter -import com.twitter.home_mixer.model.HomeFeatures.IsHydratedFeature -import com.twitter.home_mixer.model.HomeFeatures.QuotedTweetDroppedFeature -import com.twitter.home_mixer.model.HomeFeatures.TimelineServiceTweetsFeature -import com.twitter.home_mixer.product.for_you.model.ForYouQuery -import com.twitter.home_mixer.service.HomeMixerAlertConfig -import com.twitter.product_mixer.component_library.candidate_source.tweetconvosvc.ConversationServiceCandidateSource -import com.twitter.product_mixer.component_library.candidate_source.tweetconvosvc.ConversationServiceCandidateSourceRequest -import com.twitter.product_mixer.component_library.candidate_source.tweetconvosvc.TweetWithConversationMetadata -import com.twitter.product_mixer.component_library.filter.FeatureFilter -import com.twitter.product_mixer.component_library.filter.PredicateFeatureFilter -import com.twitter.product_mixer.component_library.gate.NoCandidatesGate -import com.twitter.product_mixer.component_library.gate.NonEmptySeqFeatureGate -import com.twitter.product_mixer.component_library.model.candidate.TweetCandidate -import com.twitter.product_mixer.core.functional_component.candidate_source.BaseCandidateSource -import com.twitter.product_mixer.core.functional_component.common.SpecificPipelines -import com.twitter.product_mixer.core.functional_component.decorator.CandidateDecorator -import com.twitter.product_mixer.core.functional_component.feature_hydrator.BaseCandidateFeatureHydrator -import com.twitter.product_mixer.core.functional_component.filter.Filter -import com.twitter.product_mixer.core.functional_component.gate.BaseGate -import com.twitter.product_mixer.core.functional_component.transformer.CandidateFeatureTransformer -import com.twitter.product_mixer.core.functional_component.transformer.CandidatePipelineResultsTransformer -import com.twitter.product_mixer.core.functional_component.transformer.DependentCandidatePipelineQueryTransformer -import com.twitter.product_mixer.core.model.common.identifier.CandidatePipelineIdentifier -import com.twitter.product_mixer.core.model.common.identifier.FilterIdentifier -import com.twitter.product_mixer.core.pipeline.candidate.DependentCandidatePipelineConfig -import javax.inject.Inject -import javax.inject.Singleton - -/** - * Candidate Pipeline Config that fetches Tweet ancestors from Conversation Service Candidate Source - */ -@Singleton -class ForYouConversationServiceCandidatePipelineConfig @Inject() ( - forYouScoredTweetsCandidatePipelineConfig: ForYouScoredTweetsCandidatePipelineConfig, - forYouTimelineScorerCandidatePipelineConfig: ForYouTimelineScorerCandidatePipelineConfig, - conversationServiceCandidateSource: ConversationServiceCandidateSource, - tweetypieFeatureHydrator: TweetypieFeatureHydrator, - namesFeatureHydrator: NamesFeatureHydrator, - invalidSubscriptionTweetFilter: InvalidSubscriptionTweetFilter, - homeFeedbackActionInfoBuilder: HomeFeedbackActionInfoBuilder) - extends DependentCandidatePipelineConfig[ - ForYouQuery, - ConversationServiceCandidateSourceRequest, - TweetWithConversationMetadata, - TweetCandidate - ] { - - override val identifier: CandidatePipelineIdentifier = - CandidatePipelineIdentifier("ForYouConversationService") - - override val gates: Seq[BaseGate[ForYouQuery]] = Seq( - NoCandidatesGate( - SpecificPipelines( - forYouTimelineScorerCandidatePipelineConfig.identifier, - forYouScoredTweetsCandidatePipelineConfig.identifier - ) - ), - NonEmptySeqFeatureGate(TimelineServiceTweetsFeature) - ) - - override val candidateSource: BaseCandidateSource[ - ConversationServiceCandidateSourceRequest, - TweetWithConversationMetadata - ] = conversationServiceCandidateSource - - override val queryTransformer: DependentCandidatePipelineQueryTransformer[ - ForYouQuery, - ConversationServiceCandidateSourceRequest - ] = { (query, candidates) => - val timelineServiceTweets = query.features - .map(_.getOrElse(TimelineServiceTweetsFeature, Seq.empty)).getOrElse(Seq.empty) - - val tweetsWithConversationMetadata = timelineServiceTweets.map { id => - TweetWithConversationMetadata( - tweetId = id, - userId = None, - sourceTweetId = None, - sourceUserId = None, - inReplyToTweetId = None, - conversationId = None, - ancestors = Seq.empty - ) - } - ConversationServiceCandidateSourceRequest(tweetsWithConversationMetadata) - } - - override val featuresFromCandidateSourceTransformers: Seq[ - CandidateFeatureTransformer[TweetWithConversationMetadata] - ] = Seq(ConversationServiceResponseFeatureTransformer) - - override val resultTransformer: CandidatePipelineResultsTransformer[ - TweetWithConversationMetadata, - TweetCandidate - ] = { sourceResult => TweetCandidate(id = sourceResult.tweetId) } - - override val preFilterFeatureHydrationPhase1: Seq[ - BaseCandidateFeatureHydrator[ForYouQuery, TweetCandidate, _] - ] = Seq( - InNetworkFeatureHydrator, - tweetypieFeatureHydrator - ) - - override def filters: Seq[Filter[ForYouQuery, TweetCandidate]] = Seq( - PreviouslyServedTweetsFilter, - RetweetDeduplicationFilter, - FeatureFilter.fromFeature(FilterIdentifier("TweetypieHydrated"), IsHydratedFeature), - PredicateFeatureFilter.fromPredicate( - FilterIdentifier("QuotedTweetDropped"), - shouldKeepCandidate = { features => !features.getOrElse(QuotedTweetDroppedFeature, false) } - ), - invalidSubscriptionTweetFilter, - InvalidConversationModuleFilter - ) - - override val postFilterFeatureHydration: Seq[ - BaseCandidateFeatureHydrator[ForYouQuery, TweetCandidate, _] - ] = Seq(namesFeatureHydrator) - - override val decorator: Option[CandidateDecorator[ForYouQuery, TweetCandidate]] = - HomeConversationServiceCandidateDecorator(homeFeedbackActionInfoBuilder) - - override val alerts = Seq( - HomeMixerAlertConfig.BusinessHours.defaultSuccessRateAlert(), - HomeMixerAlertConfig.BusinessHours.defaultEmptyResponseRateAlert() - ) -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/ForYouProductPipelineConfig.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/ForYouProductPipelineConfig.docx new file mode 100644 index 0000000000000000000000000000000000000000..7e9382fb55954ee74b487c62702d9969f9994cb6 GIT binary patch literal 38439 zcmagEb9^1$*Eby7Zfx6VjK;Q|h9_ujHMVWrww*M#8Z>EaKd0CA<9$ER`~EZeWY4TG z)|xZ3_MWXM0}g=!0s;a9a+k`bS*2VQmjns|G7bd-f({(j5e3+NGqd|p(n?L~2=bpI~7Ks(dM; zDD!^p0IvaB@P$aOc0iKm6G${wRg5|s(Qq(~GXFSaXidQ!S6(NXy{hubDAhjQ*Mo6I zm$yk@SJEd@Kk@9h6-G++Eb9!oc7N{FFvCkViSLGu@qm<3juvVT_3M2_NN&UM z0F)m;ZF?DACp6ejpz6yaZ&kFn(5!-go&l_bC~N1B!Lv0!?D%p|*VXC1c4})yt9o0W z1WMw1JcuG?p7sXNP&JU~B|@dMcE(hB1w9NrJkS)ykPAGmgz7&m%*)wMs`-r~f9FsW ztW)j~j!7P4+Lv_wE!k;HUN%8uWa;LV7tgf?UISMDVYEkbLbb zK5$+S$TyLtPo~j%OCl&l?TIsb@qC6asrV!&(D%ArvUwml{y>`lf+435qWE7`bf=UN zdIVN)3k(DV9{AV5(agq)iSf^|Dt<~DoCU@2LO^_!qQtIQO{{QLU+h?}P@p$;^1Rs2 zN3wXWyGuz-PZO(;@aSUS#C$2E0B?n^*d|cJSZgsLZ@Eu%o93#q!(am@8Mf1(#7%WC zNXsTY;*JbS$c*xV(_EccfNl$YNQb83d``GpM9hHJRuZW+s4M~X7XBNxhO;-rJOBzH zA=}ImUQ*Te)5bOYQLy=&q@kbCNvu7pN}9YW3pRHll9U7bt*F$|Omul{TP9ZfbBE$r zor){Q<3Ldb6@54ITd1i{v_Wo*#?K{lt@~dN8OX_|G(4uwowov&eC=lle>2ymTxd7N zta!tW&FOGn{C9#vzr(9o0&nvl|CP3Tb`Ck4iEPfP?fpVq?OZw+!fn2h8+(CGuBH}nli>JZ zqL8=?f75VyEzI|IW2}vrY;jtis-&R)i{9t?Yf1}VlkwgNC0qo!+H7#C3>H1vrBGh7 z!Fmq%h40fOS*^;&dB-9usB){{)rI1z+sP1#4=`wc`TG-wC6L88pq8~16M|%-mga$m zB@Y_OPU}O=uT;PWI_}y)xZqZ6E9@O_>9F9gHzTfpt8ITaxn}Y8A<#w)`u%0dQ28*^ zjJg(z75~iT2@(Mrlubw}P1&_oopmSt%*oMVd&UJ^uL7YZ1OX}eQ{LQJX{As=9?XW0 z%NAg;sBUCoVQ+)MiNa6tn`tXsE&5yY1UFTRkx%Ak9@2;_zeNaaR^r3$l_g6?q7+7n za3+LQyW|i0?y3Ca2H%e_@1Iui=^nYRAaG7Bko0NhT}9tt`>*l-yDqou>)5Bjy4XN~ zfS~+mU5xDQ|0;{>gxxwbO6Ln5gxG}iUIG4A^R>dgbcUbf%l_SoR&o*|k_4F18ym!gdxa(SYN!OZ95Eh?Vb|s4 zR|qS3&u@42roT{gEo^nLKhKj1of6X9U(X{v4#NG!HYwZ@@|nGpu&>BEr(Ora4sSed zAXcd_(+IteI*aYm6duXt;Q)UVrH&l?L6&4?1n9d(&C&GVaENWaZz$u7MUuHkf_UZ= zS$V}0qg@k))+UHeXih`-ts4j2{O00DNT|97*8~l}{`qp4Rg0b|WQo7pj!N!5JtrVu zH&I(5y~kKd!e2d1MV?IXVoZcbXF_wXadafQtgR=n6NQ<>fs5)wu^a5u26_OXf=smL z$5H&^qP<7-@D=wBh4IRkne9`*f7~(K|oSv|Ng*hUO#KBQi9A>p1FnR*BxwmoXUas@J6D1m@12B&}30 z0UmBq7*@z)u5#1^ka0RN&VYcIJj>HHmqu?Y`!pa`#u{Z(?qq!i1t~!0;CtWYN$Rucz!(wkfR>pfe0C&o$`AnLTtn7dUdhC%JQ65W7~c$p^foqI86>p|FJUgVZp=N^yMAw^HPp4%^_{88@W5dT+R+ ze3RXS^-6-!@V_X@%4Zh$5gdBEhhsCA#Nb!=XP#jDqO8_E_7GM~yD{fc|0Wks&RAA= zSE_e;8i0ip0LV+4QgZ%k#n1f45^V%3Ug*TKC$d+8g5p0IH#fQlt64&~t1#ti^Kn=B z^ej7D=oC0$cP8yu-y*Ny9M1cqkTaO7yN@dF*Ef$|%#pOEDfSJgPNx+D!bhYLx|}&P zeDHQTIb7D#8+~NS^;Sx$o*GMe#*aL}LS5J0BCPTIF01;MJ%6O@bp;G0LMiS(bCApw zDK4vgk}Gd=K!jo>PT#I2X;Lha+o~gYX^?`b!Ve}`wKYEM>mJfyMe{9cha~~l9vuz{ zJ)%Q=D(?ae_A|bARix)y{-24?8gGoJOBm8*aX@1e_X;R+A^sPpYDva&#gq8%XB_ zoRrv^%A^`g(M4AeCI^5`S#X>B^4!?mT$0}f1fjF3aN}dyBVJ0{BkOG94woI;3e9(8 z<|qlwl6sB^MzEndUeX!KZmJ3Wo7n*+C(MHam(LM z3xks#;k_ty`I{D?CSmuT(m9B_;_u_(hL1&?Ok$s#52d;Pz`(l!rRH`k{XFGhfMK={ zog^;#)a>Fp>-c5nu@okEV>p^lM2a9G#V2ge ziSGsGl>+;CUZ*VYY5n=FwFcFt4}Gpds_@-}ffouIJs#u`G#qHgMYFQ<&P%0v8fBkP z5mkL5z8_BJ7Z}TaZGn2>P56@6gdPMIVHo?XOKy5Btx-3;I6>IE)@Yt*i4Q%rL6Yd} zA>k3huNAGt2hKH+;UE5(q2u}AMc-lObYLjFf|IR2MxJDS(bXK!<@Uilb+K<`N2qR{ zWtw-Zg+*e?DT1J2JPKIFjwfTP~i~I zMYq<@f*v-zjV~;z>ZOa>-%m5q#4wT@j`k-OtIaP(ZqS|qah|Og-IZuopo(#kcqJ}1 z8b%9%WD$1Swdz7B&M0k00REf@e#p1>RNH!koTocX6l6rGc6oUuMKYSaV5p0a*f_Lj zb`lRh6GWei)~vZLLw$!)a zjdCM{R#S6TNWxF`SCB4QWrV!@hYj8#E+2fXbakSVd^LPEwE`7wVksmnw6a(;Lg^-R zTxq_$INWrw{&Y?78ISpj<9W<=lz2K$St>%(k>qRIf|Q-WtcF-UuR>ZTWbH{lliH8QT+74NE*AKfLuTd`1MKaS_eW9TaH)ar@7~ICBy|jNwDPTG;7WIw_ctOX>#RSr6H-FiM#A)-kF%D_!jaTQe-;d z;T|gCQfqnaa*~U!-v9na;+0P0ib(3mPZC68zTgWduh*bsKivRXy=p;P?DGUt)I?)g zGS5@PMH9woA+?j{-k8>GB&Cs4o1(@o#jSfj z$?~10o$dFe=`<_20tWGB1kcWSu?}u7VEc$KJc38>T)qWRTpYycfJd)}^q-E5Y&oD4 zG-e#vo_$s%jkipQ@(H1I}0$SJgENg7OTo1L_~cyzOd)AugO^|4>E^F)Og zEl&UXadcMkLf?)ZaqMHdnd2FJlvDWbT5iHSKeK+hT76g~q_0UVSRc>e`|0YVU0wF7 zkMVdl&xF9~)A0GV{F-?h9TQ^%`+AX}x`Fw-Ds4%_@(B^smSW;@c2Ki2%ZGQ%l3h*? zApueL@^yYTd+=Go{oJml{z`~^^X=v8+cbktkieU*8y)7_RhWu-RLg6A8**XQ#sT*(^0TdApyDwqQEuZ*EMIeh- zBhxvXSFnF_rOJ!04^GRX3%R>3OhY6}59k*QF3r>Ws{H;5`0ozO&JPcb71(-D09$W- zVC(%?hxPZw@jv^lzbBE2!U}=RINvYc;rfFUFpBLWKK;(8?4XsXDe?-ISc|_GJ=oUS zG^H2a^WT5q^vmp=*>5;En`C#+VOQG(-Drft+&M+aReXY+XeR%Uj#W z*|qXnL~ib^F6nFKk#wTmD_mV0#b7-gc~hR9P#b1-RN=9NO8obFE^RO^vAOtEqmZ2J zZyp__S5wuk*Ikv?JA#|(PJKJ_4e9~?s1S84i-vk+92ACo7e}*qkEZy(Z_xU1=8cQ^ zqQwXPuX4IkXa*4K51HTtY>$SPqg3 zyPd0n;CTxC!Svs`j;g@oi(mo)(N}{6LH=j1oxZu-m^uB`%j)SR>`Byn_w?i!7`*

gYV3T8;|2;d4{Wa#yz?XtVh)7LYOinhy;PZy##rJf0?xua7oxJ{L_jaBk zxI6-Qe~S5ddRe}RE)i@w-Pe13+PvyWS?qW@n*Vjz5fZY0;{I0u`Q7%TeJhyBXN^cd zx#V(Y;3y>JV0U8uw58&0;`F-FeZz*UM3AVmueVF#J5Ok2{l~3kgSO|(;`)S#Yq;Qt zy(VA)^`T?`=J3w#(^}#ruXiR?v9qqiKHPGU)zoi?`~b4i|)5O(Pwkz6v6?A?M)`+ zZJ$(eA}`78Gm?+Nnx`J)zM6?e%H)REZ`vU~sOc2A-#TEsF1K(yQUrb6BUC%Q_|DKt zYQkb~Ymp&~Le9~6XF?i~Lu#r8-)arKwFJGngPA%zV$6cEec#@X2F!h7-flPFzNPEF z*7~e=Zhz*la=kbYN#Q!r=2AHQ@YcWZ;jhlITmC>F>`snsUF$iMKU$9g>^=VcsMGF| z$j0k#*OB0SqIvG+^mt&Qpn88?KXlF^US0gg66c`lq4yEx5o%eBe>AoE~vmBy=(^q{83z%2+$=@MM%Asx* zJD`FiR0Iz7(FrQm0)YP=(!UK_efrRQoRnOF7O<0FcQymVr7dnJKihum{7f%Mlw338 zI=7)6tIXOT(lU~;QiZf=cQ^2>cH6re!$ix<_%&tu=)l3L605NEIR^Ez?Pb~MMwP~D zFwNpI@S{_&dTHk6Z2sB)!QpL0>i$OX>_Q+@Nuo(_ap7{{@aE>%`G8Xg>TIh3_TNvO-2nN`w`}Y^XI|cx|~jw-9O^s2HJ9A!~QUIYfz zQjtYu+zA2~<`rtA8)C1jBr(#GN|L2$%86_hLG%Y0bR;qi%hE9M^6fp9zT5arkLu%{ zBN$7Soh%szph`AZIW2ExxT)IV^zSd5mR)?+7lVbX;k7Jm+fplscUA=NPyj%+xW{yaP~@+%P=XRVAx9ZRuCZbRVml!VbN`(D z3OtGR&yx_l7<+Ap;Q_D}3H_IO|@G4MK?ze2TvXu&|-{|fz^ z3Zjha!ivQ0e-K_Lc-4OjbHM}ZQAPoJ#c2G= zKn&0DKO`~`!%(@y!~CUsA;Gl?rSs2K{~9WE5^bDz>F7q+&*l}=UL@`&RCo5icmnm+ z^3^6<>PYI9h79ax@p$@{wEcBAt+JfBmu>sIq?Q9$A7;BYK|_c3Z)P_N}qj40Y}k8xEf zNjLg}BM$fD#U4SF!F|RMg?^)qAai?YgZTd3$7Lnc6>(_2o6&b9N7DAxG5)CS_h2}n zX3xJm2Bpl#oBDJA&66YjiNmM0%Wb};d0Vayrj*m8IINk8pC(-Jx?3!AE`+9CfqA&w z1oDSrR`FdXB?tQ~Pag-~O5<=BEU!1tzFw{utqJ7FMO#jxwM%ylD(eK~e+`#WLa1bR>fW7DeVOuAJIy#rlQ zvdjrs%7L~Kr|M3+HUtevRNb+|_V}n@(#?6*rp^ON7+Hh6ykUXA$fNxdHY78e1x!v) z*fMT>*DrHXmjfkI3E5A+L-RblDGtlfk04ENOTg^pIr!~xF)jmiWqTYtcDcyBUyI3? z*)PORsU@vC95OKGiCVTVNI%}w7dmEKpKnL5->-*X5BNr&Wu2Myn`UGX1KQsKp1Ryw4{vOkvu8Ky>J+A1QnE? zJ2@eV%S}*Dy>8&}_ zXq-N@8g{bQ!U5Pig~$1I!m4RG9FThutC0Cow~E!{rl7w-CS2-us%D?OTk6Mw54D7% zJ5HSr&#M0ODZ)x(^qF8=?p78KS0|0&1GT8zd2a%bW4W}3789e&jL$E3Yw#eZ)D4wk zh)7l8tsa?wTk!2ui|Di<;I_X_$#JouSnr+{fBbrU)#g~P^E$qFcAQ>UCFb`ex_weU z?wUrE#&Ku~N@-fe>4II1YL{}<9mIjmk6Jlz@!_%ZVct{0RVw;9ykxdZ83+z{QHQeC zv$AsRj5@+RFEyLeytZmW06>{VcH)&--1& zAF~59+s*47>lYXC%js$ZNpRmk9^apr@UbgpkTaRNdsf`oYt@W63gF~b$;-d;a<7!v zo~jQiTs>sk$dT9l$_-Is^Vks^c^dL47)WowUqDw3UXP^Zo&(POmyS`?hg$8_==-lY zJ6eqASeAzF7R{aez}LkM)h4_=+^ys*b@lB&YY#3c%cN0OVaadkF8=uTGqjB2yUDS~ zlS3Qt@3gy$l;b4Qn06nK;8NDcz7-IB8shd-H^9Z$%v#1Ryzc`O8h9J7kxT|5ms>`w z;3azm=);UZC;4nFR2@p>xjQJIu3i@~4Vc8bgtw3~*vjN_k#(!d#cttdYq55c>>n!W ze!fxpU=}U8-YC(WWZzeDE{-8}-pnz&7iHC`7ZJtPjP1pZ8!yDKac5E2{^Sb-zB}|8 z!%tjVs7$OB7T1+2cj%^I#Le!B51pO0X7-7zjvQM1(!}Il7>cqD+W50S)<+LTfUAen zRoo)=d!_K|mA=-=g=ZVe>ur+FP926F#aydW+K#$bV=VC$BLpqv?-E>6Z1U1m+`_E; zh4AJ!77b~I{3S*AnWU>uYmlB+t-BF&u~=j75AGG!@u!OMgPNM`#%l`BM>|!OWUc#$ zCpcO-a523kCdi{G_0T_?Z7#m8ur)JLq#Te&_Epn^P{`52KWi>W7d}CEbmzW)Rkl9< zM2?0lAtj^i(njJrO)s%Z!cblLY`EN1(kr~F(z~@{Er)ZrT1N129QDAH{ZWo&%a3E; zXI^BN&zokBU*FGH7|^5SY>veWSl)n$zo@HB|MGoQtz*nEp8lpZ{YE&F_QFJ$AJapW zj!L(T0VKU`zRH(?ETB%G)!QsAmK()oejAL!o%Cro!^Wb_rLT2E)6Yj^=buRix@rGp1r90tUnye5;tna|cQcs)tKL2n4zulc;Y#e;hxAk-A0qP@4wUab}<}vROjeQB#$fGZWmB&?2pT}j=8%7j#`ID2cxKHZd z%3uz!JOE=3&$>haysM7uw{`T^@cBYL_HPJNSJ*DOqnoF%9=ykUO1JK_JAXg!Ehj<#6j}cXXFjJVKfaOQPNw9WQtpJ1a8>R+gI0kv^P%XIe$`AIEQz%Ga^Z}u}>s!sC@vt{OIlc z?TeZ+-^-mXl=9k62yP@h(yJpmMX2v}x{q#kx0k^0?S9#@T#B@BG?}fAoN|Dq6uDh< zzw(l|_5G>ch;c*}nECR1{@D&oxY46B zOd0Gt+v)OEbue#<7K}>~PzCCgLll19a{We`X3_dAxRZmsbg2S;w}MZUCwi06)u*?Z zchdI}vmL7lqo-xTa@a}$U^o_nw?x-p;idlwU-(z}@t^QOLXoa=Z_Zo0AK=#>R&Vp- z3mFYo&CcREN=%TQioNJ3MLc52DdpIA@n^9%B>^7pT~R+uvA0%26>F?~(YiA5{5!L? zDV&=9PQ<%R`N-GHa`p8UO4(0>xq?U+D%O_8FNzgw zo%t86$^%QeEEa7l5(NtM;oS24s1{_LLJ1kwZrb(h38K$b6`5*M)N$|n@hnkK)XqW* zT-g|6msKLF8S}R?)fyPgpCdhJc7nmO6`7_;JX%$|N>gk?O!+JqUTOvo!vbCQQ*wzP z>ig4#7&)j>Kd~*}AUiK?D}JFMW`w3j?(=cwl?cSw$e0?DEV?*1NdDL)+L{r$5i6(^ zjb!1oOa6uZ_EY=z+38l|kV<1j<>cDyrcnx`EYx@^@;GmrWXgJf)kUM+{A*I2l92bq zGa3Z_aB0*8m}NQV!}eR)mx5T8gVqI=dfN=C1r6-L;|E^5c67UEZ8n1GF*4a)yS3*u zai1kQLD8y3wOgI2t^6%OQn>2^0FjlpG?eOdwP~cXuO_WgD*on%aW>;_mHI>}@B?Sk zZRsj=u&9gAY!kP{5InMI9f zvYh$BqZ4Yd>$RDZ2*1nw8&wGUmCUsnxJWo!Ft`}HPeluiIpKtqU$|OeN@d(C)c8++ zi^+=%@p}6Alkf>1Yl{_-53g8ZL6^7~TQ zpt~hkim0`QPA9`m%(SI2)Idv#KYj_T-ZJyFw}}hs_3KofC>{0Dt3s&KgPq_YV<4$Q zEL^_7uza$_@>;_J9dn6qPM{fW?Y@YrCbK|}mNi&xgpur?qg|X|IXa;Oi=VOFb8^N2 zbq_%=2D%!6ErZdlUa=-3haRU2=(UuQ%5ytvS#))X*_cAzBxfM|r2VO2lObfLxEp;Hs*QM6vi-}F18i?1!&N%I#%ZtT@ zuA|h;vWEpUOcaE!dHB7mqe*k=6d^kCePqRjf=G!8^cenS4vwHnPP{i7n}0IO&JI;E z?pQ{Z!=n4?!R6-!KFg)thF~HD3p=0o%Ufo5K+?Ok=rY0N&?#2@8lLngEy@Wskptj_=n(R-kMN;^l5O3-(!okx< zuS}dAFseL!vufDKUx{YD=O^heOMt@THwI1$HK_g*64l@roI&2G4HfHY07#pOe*?6{ zLt0yG0p8B>pdqf{iyjwJ!D`rpc75tz-|1&8a6z9eO<58=#(*oYNy|p-JUJ2+n%snG z5J%!KIiQ2R(e^1=V)Vsy^xsJvvPLUwV$*n*nLYQ+a`PF(4%Hz*6hY@*^O0=v(lRqG>aFTGLs?So82S zr`*MVs63STqf&*a5vXzi`j1Ko(7IIPk+xr6%!j6;*tT%~lAz8n;G_PHAK;<>1SZ4` zp_;N9nh4_Nd~sUXFr#<(lP=z8|3+MA?<|8T)>yZy(v&@@_IWh-Dd{N;_SBv`xc3hs zD9X<6tyePC>LvRzyOWNQxIxY(e8h^_)G*Z{HO!)XQ4TBUvU1y2%A3)Rqv|$VSytLj zTj@k88oktPGt?-ffkEf2o8XgvNjV3QQkU#O1D$og{qzkffBo%z2~}5__o|rfQbgXt zpeEd8Y6s$MjWQ)4v6kTuYGsf!%oc6^x3+Y=mW`P{y769y<}g*aW#-uIeiDuaLpjB? zRA$3EaUgezPrJrp=Awa3c?%sCa4><}Vp%zU(A3s&;_F@}FlhSkAnyMilr(j~aCdk; z$P?y-cJzlTwGz?hQZ5sH;&G5CitUp}C)!b^c+;QrE_kLWM+*uM4Sh{S`&oe!bH67m_9Y;+n zR7aOA96TLb7DSp`*E2Dfl&tD=c;G`#fBRi`KF}|9-Yy=+16_Zo4}7psF+j}$kiKVM zFnd=uHyp0DDiI%+S|$1p6Q1Z@!v^gH#Oju8{>%gJhcW8YHm)0mqc zwcftPNGhXl-a^wjcWcfN*orssd#YI8TfNjm+^H`b!nSOhV&3zcOC_jt3dxn-onC;9>MtkAfGdo+Ifmj+1_yc z2YJ7t)RVHtBb-Ky62_1IZ$F@qRodd1x(xKUyZqbu9~;@);j#!m+K<=lnnZCS zT%I@S`iZS5t$p^5RI+}`vYv-!TZ+v<*jSVw;!%D5p`!LhZ_7S>$;SX~N=o|;jx-%A z-xAXxwd~HY&!g^U-f({*g&t2jT(No6DZuA%karw=B4j<@wjbYuKcG* z?T6yAq5lB8@timP%j7Tis=Myt_W8!Of0~rhIq512``ctl(jSxD@PABp+5Z2TC}|&M-2gbifC$DA$LrAMCB39f7uPP%(htiYGN< zNMdSgOEQKm(jB&V4B?F5o8DAPZyOjnKDqf=%_{MLiS}vDq0H+{^60>T!@zm2n4-MF zd91V!1-haDFkm3d(*<%!{5|F^`k{jTh-NGTAzOmUv3P-9#}0TXK8T24D5w!cE3s4} zF;giOw{X>+X-FK{qzMcibC(TgHgtAtN>dn?B0vq1$-X1T{0gk|g?cyGn5n_=Gm#VL zn9gJ^w6iSupVuVBs6YEWcqr&DBoM9h51N~B6|{E9)gLq_`+KOVVK$AGiM2ua(w6e? z*sZpg^=_bBP%)PxB)^aDjahboFEyqaA@{+f(4cgJ#DVw1qp%Qnf?$(}VgH1@gJh!S z*#E_>@8^!N3wht7mwhya)vv!qsV~%}#?je(Hj+35f9WF|gdHyT7%*ltod=7=_FK5> z9Yk5k)(X^-SdSRkX1IYeN}@51!k@tEE1ts58Fhl(;Pk`GGG##DkXSU4PyAb4l<*&M zI6;>pSJtCr#ydQ}Yl&C}2pfGsi6Q?SpzDDLsAeBfdP$eJfX3YJ9mt}yF@j-u<`|OB zUVRMaYYBlD9j4@zrgk6D8}-FYFxL8*lwOuydsZ%Qn%>PgbHvoTdioZL7M>W+8Ze^%Km0RXU4dYRUj|Qej z3k|swKh7ddEM~7NHK=sv^qq>Cx|Cnxt~S=^^I}0i?qz5+-MT}G)kd~` z7gqChOW%EGFWd_Jb?61^Hd%K`6l&;2-pWwM3)yry=_ZcBi!H|jPY$g#Xbikd>~oVH z?@h&{h(ebGEK3g(bI*_=yFE9mm2g^4Z*Hyx?c#vQbFpd+oOJ>zZ?%m^V!4B7|Eu=b zfFEEt@RZ$0p8X0^lQSUpGLtnC62ylgCfE}ho=#VdTckJEJ;L$4H!9*ZI}W=={%e1D z=m5fIWi7d+hs&UcTv;@ZnrG!{N=JGvMHNoNM9L!$SRHN3h50}08 zDmYWOsek(XhNC*A342Ndu?u^0o`o5FRs4;1hjO`6#AvP!hXY`qlk zZL;3{cBru>JF5(!l$@*qp9HYlXD!&x%Lef(9s-jW^aP6lZ|DP75RjU4*&07t4%iI%({b*x2BYVog+H;?gT+Sw_mIy|O z{hRpiZz`-MWdJ-d3E-16X){>xDFk_B)Hmoj7>zSE9-5;9Jts;=FRx-FNt;I+9Cik& z1~&}m>#IjcP%676AN15T zOWzrF@%q}ko7k)MKT9=}8Qs^J~vxhFzJ1u7IxqkD$wDq1h56xC; zq_N%@>~dOyRHCZ$7rvFU`3e(^hW9Bs*K{~pPMOr?AxOT-p1YqC`a9>rrR0KkIK<#! zYzw}qadrqUs#$=)IFe5Z8Az7O>96Ndi2#qp)))8z5EgUib8p}!Q%uJ9Pn?!0Xb!m zf`1F{`y=@BkKk&&Q)d^JC-qaCZcj)-RU!?#$0VXLn+l>a*?$1L_0=Q=#{3glvHhEA zH1^am2fhgqXyx8QWECM zcD_IgBC0@OzT(ulzIA%)U3NbSD?kcHa+zdkD--ONwKB`7}4olk>;JkSC}tW~;W z!hyQW5oROLg)eZkv#2CQ3M9@=d7${6@V??68c_?9POcsH^v@LMFp^;hCc=WFfirKi9W| zjP#ADq2phm<6{f-MelI;T`~4MEZ5^t972HfU13eD*aKJm2N6Z=H{3jLp`*EqCiQzA zbj@gculD@oA-RzRWaD?-a&}rTpI9MAV5418qxrh|8dv1*ZPn$exb+)^|E%?kM>~*k zZ(;sV00)IX04HI80oXsd2JAzObij<9^%6#}Y`gJRX3E=lng>RLS@33u;RWrqUfmxf z;{&AAy8QNA$5s9IhX!!q?D4%&!27NQ`W$w*D*vHCCva|%zzNK6#|_?kBm~`p7n=*F z&td;;j);3Jk<}A)#388+WF(?09^M{*gEH-J`Xly#(3hB4eBOZsnm^oa1$0D!b{r0| z|Ict5@R9w;w_7Y^d`dqs+@4M!S9frX2!mKDc+JnylJSX2666ed_C@CxZC&wWDn*{JrcvuugBhg@!h1nrD1 ztl^MUCf41EPIlib+FFUnNrgqAUyfsCD+Pl_$HD6DhmfEkEM`N#0i!d#08mg$$W|7} zPHJ;Uuym+EJFuuRCac)lNw?}&r$liW8t$3!YJo?^O;JSzGdb3rIn}Sa5xR9>R-w@) zSeOkB7k^fVx&TO5PC}?t0^gTOWBH1WN?}Qslj8wl7f+pxtwWRYm64iS(3-1mHVpLl zxH#q?V#a1@zc@-ZbPe?wmnX(?nVIWYvnu_E$6x2XSSnR{e#eJQv*2h+C?FK`Aq;D+IHfFe5I`&6rS$#$Clxc03McXp6?4Rp@lM?gmkH1& zYpOdlk%x`(XuI08zEpM+CZFhy=BG|!_BvKm_2kp%4a35v~_7Dt+CLch`IPO0e{hRF0EDoADNPjR~ z1Q;5d0SgI0PCj)P@Kj;77O`yM z$rvJj#++2;eDC9Ag-`7#n!{_Fu)_$4Eyu$tnQ;tqWulCoMUI{I`l1~G3xN(pi6R@@ zTx#J7T0-V$C)AhmQea5!Q{gNU9ABMoSqcIulTysXR?G|L41>Ugp+!+8E+zKuwMGem zyw^ah)Lo=hg`o$WPYnT@6_?s#v((B6X6vTt`(02E0gaePVZE*e})V>|K? zRH<#`C`*MDg|SO_p1ZlwrqygkAbqhA_&LE%wyd%g^9oCpacO(;Xi-&9a%oSnE6@kyfdxpXUv$jEADM@737+prfbmUU)4hzf$6Nc2w4Zw_Z-ql?^(GE_# zfNp-QT7t!tcF8Hp1M@oN5f0WD3dU+ie?X*NnI6ojJ1w5XqWYH#c;vrT1oz$$$X6(- zS6ew(1so~xAnK;Igd<_TJFk4cA`y9|#rU)mgfO1|V_}*9fP|?$BUa4p0tF^EQO<6U z4sD;PuLH_PBqd|-08D&_s=9|H;IYQ+2S^vj zY%j=Olt`Y?o%!go-bn@tEFKDHDLP)MEw&Xh!6fkUG-IbcujQrq!DbzVV&jS-D~{g) zkCW#gA}$KsaP^sdzh8faQXV)*6)#k*$7YSf*zqKRr9n|HMW-n}!?HrAc`SG`6~OAg zkS7j)&e0+(WCng4Hykmk$gHe>Q>!*8*lwU7RQkTsO^5GH`1_0==2Q4a_)^F^N%jWj{a= zd7+SGo_t|$vsx)XFb=ikndEN=hR9UYiEm9fPHf?GlE6$1>69qGgmrlkGFFCSNZ$(= z$ANhfk&{4*z&VpbHf4#N0pnse=YbABCUHq1w_UJV2^b?K;1EC4@A;=V=a7~i`KNFd z+CME{5q%*4_r85Y_kejG4iFHh8YmFl|K7K+VfpQ=xVgER$+y3^@O$f}6iC#cy*yzy zoeU{tCxeiTO?XeEfeq_V>|dqbKMGV-Ea;_I$Dc^kwg7kW3+4EsjmAih2A%n&(g=Nu zZDVs9K?;3*_kDMB?|$)a+pOX|eb`3$;Cwu^Yx7z8T)mXD?R#@!un(Zx-Z;CDxZB@z zZ_w}lIGi~+&-i${_;`Llb?tb|nVHzsyMDPl@2IIkzPQM_2X5`(>RRXj%wT}k(bH8) z*qpI>IR6en&PZ|1P{>h7o^UnbS|4$pHst1h?O8rMG-_L?7(R@+yNK9)D{D(ZG_Yoh z2)X%ih6jp z?Q&f|aB>{TxI4GJ^El&LU5ZaoIFg_x;=ZXhFbK(B%MDo{TK?%&riTd$V>G3!}*nOtMZ|vqh_1I1-W9eX6%iks;3f7RB&>sW6|5uylv&oqGOTN zla-f1W=60Go7MNJcHIIAx?*JUtt0bp(_l=khben|n{Rrm?5XD1CJSS3D{A(#7% z5HjTk+g6qAoK2zV3kxoo{g+k5|3lbYfW@(_-NLv95AN>n79_Y0?gV%DV8Pwp-QC^Y z-3jha@BjgFhwOdMJ^TFM{r+bjdLE{$*SprL?w+dZsd{rBymjvW7h`Sk=wkQ&gy8^^v*FU9L z`s=)~U;10kmW|?rmf^TPjFl*3wOsgyg_>=o0hgDo#^%OWbNR5QM}FLE3;+@LQd~YEx(G(_n9`XL4VZlI^fkZ9F2}bbmxbq#a*qwE-EvXBH(kE$)tM zTxcCi^Jd684LU=U?&IOEx=qtG=XCl-akJ^AiZLDM5u?i^ftbyA-3Yr%dc#)kY^{JF zCP+x3!eijZi;L<#38!^*dSNEtFqkCj`QsTNJti*-!2IQE3gOgASF|82P^{{}me9Ux zc}a_`Rrv_{y{h%#^or5xMcRoUZhuqeWeKJ(!%yu;yNH_5k8u&V845ZAAR$JxQ?(T}wIuzfXF+602Aqzv3a{T;Z2=mNMS z2Dqa}tOe5U-w=39FwG#ZX}I0wyYGemb@Y27*GX$oyrPnKl!kZsKPdlM;6G9RXBJrO z&5(8}dEddfWM*wZ@u19`K@j}|fMD$Z;QBYE?_j6&D7L_2u)t!Le;4bqwfV5kB-;3n zvjN5hKlhIFp9TIybB$O7Q)6+D1NxKMldi75Z!#^c`wEXaxJ<6k}%O`gVO9X7;BP_S{ zejmMD1|J+`j`jWg7=bG(;5zQL>B8mme96=5`TNLn?$q*uy>fVu^F#61aU{&QN7pBq z3kQ#r*Y(UUbiT~?&0i-BRnSfCMqyc11n|490?vD92m}!eTdM~;fKNhp=S$MD_2tT~ z}l_#TfwpxzB{_9#A!Ibw}T9n~swAl^u6ZcE@m-{@R{Va8fk8q$ zB4TD(GoRfw5e`blsN{Yj9)v#0FSTJ=ioObiRSgQWAfo%GDn*r!7e55UD@{Df$3>RG zbqL#EsS3>U%l0Z?vjwBc-q#kj_d74%0$g@41o)3~(qCTpcrx8|<$AmJ;`!ccM-ZGH zRz06yUZO?$(+|9EHDBlV#_C=g1avs?WXc#`T2_B>GUCzOAlW`Fu%$++TzAP0yKc97 zc|5hOXBos6+V>0FB*oS8QP|`Xh^1EUA5C%}sjgOLP2WyoHbTBod^pu_kmHu`94Bn% zmS;Vy>Dj%xYLd2d4ne^bXTrQOa+yLp3OW0t&q;UQG*MXQ;DPU8TgjejIb~zy45Nh1 z3ixD#=P<$bX-MW5ijYu1%RP+!D9SDv@gj_Z(|A<15;OF@tCYWhi&@JOHm=Fmt zvRxyuZL|@G`t9pJZ8~W`ivTv3Tu)j$NW2_kn=$D&&oh#456+*B+~m z?ebNoN-b5y<3pl&;CJmunvfhisPa&4x| zst5X&i^jKjFR^d_x}nmZdqvqV$)?ay#veEjtbWBAO5pr}ele;FTP)R%+KBi-_r!*H z+uewE@sx14XN{z*rF9j)p_q4`yki( z*7mZ)*C(7klP>vUj)Ex@-bRa4U7p2;QO1Q*=&>!q>NmsdnvI0;O~#WGRM_1cC44^x zS=~!a!mq8)Y}|Hl_TPO^Si5XoMwI$JCXr)!a8oH zXOXUi$CmO(cz6B!!5Y+KR+XX+;f+S7-eRLqDYe_C58!+{6s{t?~`%|jvQoc zj4U$LK!B~}U?lU)7v3WtuLl3}X*cF6Eix&1UXr9Z{krZ)2^6M#or|`yaxGFPwt9sF zOM+Ug{*(Bi@L+UU^%mH9b9!C%wcL@B8f*}2cBEoSC>1$=^$Kn>9LU65O9uHlN+Kh9 z>mA}CTc%V_L^-cI+?x2pEmb-Nx)sD zZFbR{h^%aUZ>4#XSN3A4HqDr81E9M}umG2m5g)R)H5zMEXHOg#I687yn(&&yD4@BJ z5MyCf@b1W@OKU!1C|>nCaOXUUyT1Bfd=lGW_C+$es2EA~V$6drouamEOAJiN;`zlf zIB0*K8Y=x_&q2!-^E3ufJ2Z)Hw4UL)n@%dkPobr38L)g%W`3Aaq)?f-$bNH zrD$%7`kRsddDjnPuZgu%?~-N@nqiHHEYqTenrE=>50B1i7(OpUL$7}0PusF!SrbvJ zO+9#c*WT7$P{5vM@S<+=6h20BN`GMJ>h}-MbQ=6;Vtr#mk zHLbt?f&l)Q5OG8%u8)m7T>t5O)zh(v$ujJ=ND$Uma;JTljh9agF#{>^@BxWaZxL=e zz4B|Pdlz>#!VF|b!ls};C4KjPbDT6{4~@&k^){p1dFG5NWX}=g74%DEaCbjg3g65p zP`Uy6t(MtnSa7VjruEAolJeTn4M{$B+ALWNbXPlWtt%L4ClE1&i;1ePq zu4=fSQxUh@>klXPtmz|rtyul;BRVF8K;Jr8Tb1ms`l){zm8_b$cNxS=np)j?dkJrv zqv8G=9mc4?&{tX*PQ$uD@f?vZKhe(8r?-h2X1Qp&g2$tm3IQtV*??&aiyeA6guCw%eQX!m7B9Xzk$RCFJY4dNtPY zeVr%l)ltAT^>j5flGKi(`#Ni#uwd5H=Vbihe-@GK=y9&6*9thVb9->wd7N*`_!D8t zjz5cTbnaLYULvgHI*eH4CmDRz!)^@l0Ecgi6l&poJzVrc3nZnec5xKn*;MBNa*L$g z-ZWy3cA4wM9^7=|GyDOyoCEm1o<7?1(*&T=UDD2(anaxD>miJ&VZHE2YLcDpAE`f! zmOFSN`X$-)Z!8$UqFqK7_6u%rMnJ5mTXD<-+Bh%mc4fgIZ0wxne;sYQ_FD1({QqYM zU<<#^{<`kK-olB21n%px_o0Pz6;2`3$(Cd}8%ZjUb6Gae`%;!K>se=%L4%Hjw*G@- z6VgwpO9XDCMg{3w-kJ!_zD`i6wIQPQbe-E%u85ABl$vs2O>6>dLh*7^u6(0wte87P z?WbX#`BH@BqfK*iZ+3JmUwub!YnE*>8>-~bMfSEtg57@aL4~&#*T);Tb~ov!Ob?FW z?RCGF>Wo&C^-D2+`@y(aR^7<(1^_%R(Epxl4`6HbKNTVusX1zTae5C|z7Z zV6;GpFWj$Qeq#9{2Iq&++!-F*zYNToi(0(Sr*wYL(0MWZo}P)!8O{Sl;RZ`@3i;S4+o^ zhT(Do!YsDqfKOx(LCs4A&8j_G{MghTjT9a1PX)_7ikh4mZ0YW^fz2j`%|YCH$9QII zTHs8YP(fwQs;P2(XO#+MAA_5dIxDV~w|3{JV?=iAl#txUb}HFVD$%c!rYqrWD`9PA z`GcFI;5QJCK#Fyob}BVaD)kYuc%Z*OEP+HM`R1NhsuYP&yIZ2Q&hAtiGg|UFwm#mm zk}{?4%>XwxR{`Bq+iSOuDy|O^Cs06NO7lf)Kq;r zR-khS{$e4Vp@W^alYIhI_(*VV6US$kg-N-yacuuy!#0w{@l!|RxpCxCB4)N%kWpoF zrn^KKl5M4=ZKY4MCy6eQqO0W%?4EOhzb)4e-+kT(+es-~1jn8k?wO`$D7^-Fcxu~= zA8U(-iODWp)t4E@ALDztg?ZkR=C28H7?qD^=3i`a(t@SUv!q)iInQ1htUZ3#XuhT) zZvOg}Jm}4_MrZ?0<}S6^L71GMX%%B zRoFa@aCC9%+=qB&tz7my>)pID$iqsp#KEW&k+SQR>yee`3oW7Jdt$Wc69S^kfIf*^ zq30h4)LMdc9uq5h89iUxm5YS33_xq}L2!F0w)zSaJ+n>$C(a3rnM4<+jKa>8!ezX* z9kySfAd(RmipS_ZW1g&k-d|8NDbn1hE9r}rTde><@nGKQ0s3h2{qR9|NGF6&JwuHJ zO2i-_!mLaKX!A1&dsJ;JW6PD31Q!4%5SWF}jyMNQsy-c)Js^TM0wd1BFf`I(Cc+SC zB*>b(S#gwDPtfJnb}1X zThy7*3xGi;0l}}ar$12+0qL26hiATL3lruv!gLxXya0s!XGmnwe}z0-F$IQnKK~Pv z=OJjJ*7Wa?8BoY1f+0PKvOQUfV}-7&n?x*4kTtKyD#Wt5_Uq3?#=3u1FQw7(8?OO-IfH?dTs^S&d zz7B$^d;atpVkiLSF}!np!Y+2n_^?^x7izs$fm*KT*uWp8m60SYZw$KBe>f@nDf-WlwSIG59qv%W#L}-|OmkLosVH+6Z#bk2aS~Vg1phW5uuCWC}K#0M3*+4I`^F0R3zSNIdqQIoi zv|5>?V?8Z%1i#Cy6hSb%*9$+TW)3i4Ag-|)=GrD+FwAugT*BEH z(MgawiCSFkaQ>T*lrV$=g%g98CZyO~BLcBsl#G5CvhOD)EY_Al>;u~(u;Yc-L>d`Ayx8vZApT(@70e9ff~b&heH@kj}QGgrWOC|L2!(q59BZq zl!os|zi+=!b}tIy8!h6m;lcjo>9t9%zTn%WHII5Z2OhSL2DYviw$2WTvEV>yn3CJ= zD_vh6!XLV+q`2s)OezV(5$7)v3)CacB%$-TiOTe?$*oUBufy7hb;A+py)r8_nkT}a zBMUP}D-Q>ra%1H6%b zccJ{&@seWe8fmDRVC$a265i}^Wr44XjzNg+owpsDA6`G7Tn`xDY8xhO)5jAf|Df|g z<>__nj-uoJy+0~tIr~)tNvE4x=Qke#^j@5SGT;D;yzzuKHGcIb5njsbQR<Urm$bN7B+E_4Vp6(cG25EIAnc+Hau$JMHOOTpCQ>Y2O4YhrS9Le}-Q(&JSj!?gl1 z>X-Zpu6nCOCtx}Ip@#PG-t?1;>+6u~t1oZ1oYbjwOCoNb zawAMNp^i7HPWMZKnP;rIeyX`wE^|;9It|W|w0ZxTEpXMbKlUwewJj44?U1D<(7CSW zUp-HriMqZHvwZ%n^SkgAxx*{I9Sh#m#jZ>j;Q~>bkzJj+?12koM6bJ-@Qx7MZch29)cEVBlk9mm&3 zF4aVthHqIQXjD0ZviKj%>`vrWTLQF`I^i9#_gO}aU$u7zvGk&)U_Ud}V-_J#5T&fP zzBq#@X2#gvMX`ynIu4MBnB0Sarv{lpp<$7y*>`D*X%J!LX*{rmm>^FQrQJIQVjB8< zDjR^EozO}7%;s-qa&)r{D&hROZ*6p9657M_Yp zifxZp?ovL9GT00#BJU5z-y%*0h1uRk09pO-A|eMw>ZLn%{u02P13L>(+d*Kmmd|pE zJb4~S{Z7k;!5iO4nUV~zlN4cg0?!`U#`x4DSVWu#3Mm$9(v@Q70$f>e_D_5$HsUn> zz~ut5h~lo{2l5xN3F5TSU9>!G?7ze~{6EE*sj>YsZ!D)yP1O-nq+tD}smXh)PEf~v zg;}PV-IGmgnF-!Gsi}qio%`9xkcGMt@k^CVGA+Z#nrr>$k2&sI5A{kf+4j5F*YRC} z^b4eVBYR0(^Hiqat2T`zSrLHYxm&rDzzJRc^M};_-c$RAtKOKw3ycrZyqO`>wQ=j!cdd_roE^W{bN-*20dlV3#| zKgED$AJ9O0?>8nmZwuLdz)Taf`{2wa_svczM9IB(*NTt~ldKsf$M=wi1@F?U$%;(K z88krb*ycFM9*r4XrwLUjGP(fZR{o*&keX2xT}^(oFR(~q^D}zodfhIvyw22vkeiSj zE+`IFHOc(WrRlgBY67O9S-_2$eIN4b>cEZoMQ#TUp=9QbYO?;gl1>7+<9Dn_3f_=Ed=Dm><=Tua)6#h((V3C(RG zQdu{O%JQHG^x9@P2lPfYQ}nb1pa%z5gbA1l?<#I+Sn&T+;RYIDqGJ`(FRA?UcJm_d zqWHHCrJN(6jyK1D>3ADmuVW$kUr0FTX=Hd0-apGHDe8RtW5vgmcPkzg{{`_-0<_}e z|6;|E{(j)#KGacgUHpxOCz;#W`1LBz;Ic)RK78{hFA$f?m{+=Vii>a9iIJ>S?{&8rhO4I1qo)D!qpRM6~v2=Zj|=Fc0uA4 z$I+ay-X>BJjSppDSdmR6>RiI=@q``x#^Njr@B#(omsWEXl@$)ZbBS#pvj((HrW{4Bk;IeAWL(9mGj2IQ@fK8x-3+m&SLOiD9XU z1r@@MhioBPu~VYDEw4)JqYhphRG{d`wai?A=ug)wmI@uho&iITZaIKDrX@t%&af1M zfIWZ{!mjDF7_GpmRiQu)?N_S9bBt_>MdQnkuG~hy#3t}>t_r5ZxfS)`wNM5Kl97b= zRfZCf#2OBfV4^@VD4H}&A&H-B{Zw7PRG{Fpyenz|DJRUgX;RNu9D!5nbebVvV(RLy zEqYKZ9!$ds0yRK@4$wrk|}e5v)qf5$BN5 z_=wiP#jQ6h;8Hz+!~SJrwU^dh&>b5*lH`O1iT?N*F*17?COH zNBL6VNPaZkBSL(lOhFJ)*dr}f8axd%ax0Tih=o^X_Q00KuXe?Ykai&CSq#rn{sNEg zsF>KL3_q4&p-@XHiVjN$rzolso)h+5F6l#KawRN=j(&($k{7GY9AUbbI{m5FDktpy z{zap@EIg_t8s<)w6Sg`oQDU$?brc^rA#HO{LM4ozI58?OO74%UtT38|rb1RjC4p{C z??-bwZH!Qs(u;(xqMTxw6DFoO=!O+k&;1jk-j@b=CvYxP&y4&ehfZBr>rZ3Cm`}}x z`QB3NK38G%Q-su3o{&r|P-3Q1Qj!?_Cu#xgKT(MggUAUNYA8|=l>fFsy9Q`M><5f@ z3ntsc;-84_R>HSS+))zT)f5IZ7TUvTpo}+Flxrz}R^_#c&VEHF|HF3=@*R1jJ?zF2 zUU^ocj0-m~KjbwC+R|@T5S^Vrjz^_pN+h{B3@!Co5WPNmcHcG~%HMvJdotxh@_c6?Pj)zqw%D|ADL7Xrn z4TG}b#d^F(?QMy?gvNVMu|v7RO$c>tkq^rh+TlWi-ohb5VIOjKpU~76q4;!PDDo5M zO5kq6nu3;~4TcSwf@)7{UbsHS435P5x^BT$OCTmP8t0H@)!Qz$Pw}^_38dfG4xnoI z(j(5Q2;)*J6r`*YYl63UcG z=h~DVjC~)B>!?4lF(&hCtoWF98S#T7Tl2)ePD!j%L}aGC)b3Q5{MYCxaZ}0XLl>MU|ygpFjJTjpFHVnadNL_*}#%}C3 z1yKyV+DO43E<%W8u~P6%G1VIKd$Obv?M#RErlvl4p1H*nykOsnh^ppC@(fqhK!uSF z-55Kf9qph^yJ0+3#27Hx;vd`geMIn&Pd<>SQJ>s;CCTw@SQr?0u5Q19S=T=Oi5WY( zkvp-E2n&r0aGM(eb~MPT@7BQ#V@7CcX4;f-6yB8v!2y+$DFc-PbHh!X8uMq4@p`lo-w zcAZ&zp?Q$**eR>qQ_)rk_W1@Vo$kp&btOweCTb~nfEgku+lgo<$J&W}PmZw@NlT8i z8$f`O;>v&`+HuMY3y(#O`Z&nUi#2e{`0f;gux*PWkiLX(z`Wy?NIp~4N)}5zk~-1O zijsJ^a^DWc-VG|Ez?K@c$%p(ET-f0Jn^a+qCwNpuvWy!e>i2=%)$p;B9xO749he4& z#1G;*-%_=?z$V8J`cOEC(mn)FgOFtal+{=j`a=6wqKnsGfeUk^P8lB~e4QZP0ilku zb4Sdw!vN-(n1-f{u{$rdl}!H-oE$MO&Gq7$O@s-!{VOaN@6w%GTlsS|M{$dGKgiK2=52vvbY=Ec929@B-EOEEU3-~BrtA<)=^#Apl*R{_K zr%o76hF{M&z))_(ToE=n{qMLSDU;C#N91@>cwA_uwneG)7gQV@^V~Pb+>?A1o<@y` zLLU^}gL4qDCxvGM))i@uMVx96IKf`?Y1v!UjJ4ecCG#N_@;44BQ;TKk%p1eg_F_|K zJF6t!F?m$gok`T~;OkkJAWAD8S(A{DtmQO#Xj5u~Ce-0(=a#6~2As-3cy{{q{B8<8 zbWf-yAdOV4uTDca%0K4Dkyu4Pc^{2JeDb06zauQJx6VOCQpSz4=rn;ZUj1&8{Ml#c zF6uajbjHq0{O-Aqgak2!i)hy;M7Ws*F&B4;ymSS{5rkKGqF2yDrDQELyFP@6=yc{w zGMpoZeJ}=vviC0H^UtKLKD1b9X{N9haH>ETnCT%Qyqoro5Pp#55dIYA?u9+1D8ZK< z#R2SV=mA1x?;JM2M}N@kU@F9om{(%_@)EvXq;1m>fd-kXL;u+x!(Us70?}o2Axx$y z-aQ$Orc)$uK9BwgT%s?a*UcRp%cRCT zw;Ism5CNh$JsvR>Z;-+n!p|T2?S>e%2OQdg|5u@SGZ}i74iobEJ_>Vi`Me+bUV5hR zQ5Y*Y-mFi%|G@K_;TQ55UDV4w->%LDbl_SAbrQBEbc$?IJVK=y^tBE z+C|Di`%a8E(948p2lVVeq>%bP_QU+;nBYrp`870U+Tc@y>ro)jZxx8Y9K#Z->d@oJ zt`}gyzrHP@iG*>)xQ3q4@HnJ=`hI1FGhkX~xWP%Y0*s|jFWZt+|?~i!0+TL$|z}4>>!@U8>AeKwo zH&csp!p3O#am`3K_V4!&)M(OutDQzDGD&P9kDKDrZA^t{zo00JyK}cHX^n;KF(YCL zAfybY(npSB)=fZB~y22MUUY^8WRR^l+3-wEl$lD;eMBb;5|Q~0Ezf-pv+#g-Dqi52(HOj zhqR5Ifpn-BJ)p=h#jOZ*K(sl*KJzA1BJ|9|xYG45x~=IHn94u8!t)?3H3hlyy@f0oQR0fejkP0IK~-1DSQtTjNSc zCuYYvrDmO8*hSpxiUM)PsC$=I5>5wAL%1A2ntsid*E_=bA5#RpOK^Aq;)NMTv45OtY@$r%wQH(qik;5C;SB2L%Nk+Nlno6^s$bBzO9clfS+P{33W`0dTJMf9KmVM2&I)?b?! z68hbW1F}0(&h1h@vuFnvB;Y;%w*<);Y^0dHqGGKKX--K6Ok|E-u04)#2rgX}N(dD) z3yv@FAq;SHI|Jihgu?E5 zMw892F9ze`>2?Q$-H(F_I#LkPq0)-c8bqX7j468>TAw*xoV&kHh!kd5538;aZ;5p0 z0*-aFimJ3+qbNf@VL8A-v1Nwqpg>-eR2=7J{e~fNmQ?qGW%;=T*jyAt0yY;}++o;| z4hnR~B+-VvCN`IE8*_3pU}!1V!{a_JV2nwsC44kJpB_4g!LEnFONbvgS4xckn-d4C zdxH-*6{SOrC1t+&2awsU*?y${kWALd!5S-hfJwd`S}i2Q5~&b3voJR`b(JQN(t>*6 zUz9{d@Q~F2B2L)Y2O+F1k!kXFhog%~CL z{e|c}yMfN!6+uA01|R$?7~<_80&d&&`w1kle18+5IDq0t#~!t3%k%&fm6IVW4m2H! zoll<=CMqT>mJ$;JI0xMC*(t_J1~=xa3jxISwc|v5o+KvY=G&CpH5{a3O)>Wy?1)Fq z32(FfGQwK14ZkuOMv>i)oBknHc8lbb;g>;!4avPI1jtl2+uxM8A}ZdY3o}Um%aB$0 zcRql=hFU1WJg*EWf8Ih?1z)4|(WM&WU2TVWChd@p#%9)x>Zm9StJ_FNPsIP1-A1jTc z-+w90$BOV$o7gosN%Uugq@HoLhnSro6*RnJyeq*t7Hu`ThXjZr`Vc58W!hGgDJqt) zhZ@mJh(|XU187JR1$|)>J<-6TR;9YCwC|+e?CQB4VkrzmmE8AQ+3BdD2&qUSQvGqFT1&P;RO3IJpRKT0zs`SuKI-w2n%_P?PF7e?fiTDncL9(mff2hOudsion z{D0M1!2{KC!F2k(o}&L7%xM4FG1jU0FCZHXZ0Ot72-((ukz%2{x$%zAeEI!fiA?ha z#B{sCK|qdxssG;dbpA<7<7n*UWNu^nXP#A~>W0I2F0`(#V!f6f6WAtunLX+gvYJg< z3M=3u0U&kXK&0bTxdsd(>Jm?SZ7MoEL&=R z{<%kg$8E0_Ur1+(*vElFiGy`W6u7Er+`;*#+ezGV4{-T`Ub{DOcG15b;qX&Yts3K~ z;0Qh;i5$xxb0AeNCXC;l#G8V%ck5}Q%5JQx9nwYDYQap)~z7P8ab(YbP{YYzaTP^C(9 zNV%%f)=x|$HA5L*{W^2JU!q- ztKv=;Z_rpGEz+DjPk8#2ntu^A3UH?(xLVc{ zb<8BdtJ?4aGQ@JTZA-6QL0cHNu}07O{P*lXU;(hk?X*83H{68bGzK_3n$YHPc5VTL zvlDhLTD~tc5)i7UR^yi3&OHvPDX0OnXcK!n#s;Wl%eb z&QA%RZ#FpkLB|4lGUFDI&hGImvZ_C$&iyQxBYN#bO)cas}6F5%ceGAU`d~}dU zAFkjZF0&(TRQLdFT4D^TJGlkt2N#PG3<{w_N6i zb{fXmJN4#`&?wCxX~JpWQTng zIsuAnV5(%swp3bdAGL|U6a^}dzF>CjbHRTa~ zI#Iy{7A+Hn!(pZaOWflNEM^>uT#*t>6V|6NMOsH*h?5Y}ra`~MbQDZfB$C~=p%EKh zb=9eu&9W%63~^3-YJ@y<{cNvi-}TOHNS=8+AqF=+$a88HbX`5O4%%V z70pH#ogd+EUpr!+bbNVSLHTZlP4-o;z>2r;zn{Z6yLTc~SCwjW^0oAz6@{s}!?I=@ zx;ZoBriiNAYu=1<(Yxi|+JTjfjB2TNI3M(A8)w*L4W69rtj+f$on7A+4>RiiR>0(V zn2$4e<)p!EWBfRmJ!pi~AF~;&?`+tIAUFfEY#a&u8v^-LGjlsv9)-Dz&{<(*$lORK zrCAM~S*DHT45HacH{5rFH%I2*jV;}}6W!VTHZt&`FVi;^sFI--W4KIiyfGW*H%S6b zI@`*6cKf|axBN*;!xc5Vwvb?qleIq%zJ*RXza)22oE5vvR*98;yZ)~f&Iv*!EknTU z@$EDqAn5-(C7sNSt&JJ~Y?=RLIMbB1UE{#&`l*K8w!iSa<{Z{0dcJb8RD^)qEF9e+ zqGd&;Ky*UZg>YftY6H?fh@i2l%VOQeMst?P7d$iFbI za)ZAwZOp=~!N8*xI$wZ+IKC0Y5_WA{(BU=0t~K^&#!JwqA*peBBt9uUP84@YW32=i zSdYHqyE6#}_klq;5L13v<$kG`ViuPqjYSio%afV8?-$5q5JHwxUp!fH#ky5_zP}$& zH#aX!V}rcXsb0QNnQN!qnQ1B%rF}xX_bQ*0l#BrzWP^-z8jp0?kcdw#N|LMJJaNJ~ zqe#;XD$0_Zr{O%qRrx6UNqC;BM%FZc%{t8t2RqG#U-tKnd%aD8Ifa?F-)pBQDthCI z;5-p3Q{KJ_v$S+wgW_y;{(?k?i#u-318U|5IUEiMe){>`t%f%UWK0O~S?hRKHylO*q z!@k<1z8(HzeDivyemr~nYMbTR2r?4iv*rDK-mKfL?Sm{ia8{lDdcC`PX3PKkHkeYh z1pz8pavj7Y#Gm&V?Zs_fm$~SJVe_4&N?& z)Ickwh1soyy789DY(urMQQK$57Fd!rOq-riADvp&8B)m+YpV6nqAtY~OL)V9 z@I}ldXm@x6Zp4oa=@v8_agFvuM%J;V#lk5)9)U4yF>_=_@t4kDjv)u#^|xgG_;)>6 zl!#V}^3?guj%wVKq5|J`L)xNa)$2ZQ^cybYMOc{h!8xKUbOyEHENe$vr2pgG{r7&@xS))Yy>sv>(>?kTKg>6R_;vgcojUmz_By1CC1`A?eX1B zj`xSTX-P4Cg;eyI-xDI#L-AO#5W&O-Db-ur8Q=?K&}kd{Q!MKS@`-Y^H?!%#(dd@kwH?2rB_$zZ zvfup_=OIMXS_oZQ96Jom&Aa`kw40RB(Mq$hutZrXc5!1~st}4LClM{Rm*T$vc%gfO z5?RnElli=#DwiZdEnAOcPFatNx?jR13;D#CG3^kc=8!>v(l#SBtdU&fRp`=`U&2(H zJoB?5ud;*cd!L_e$wt@`Cx+9mzkgHXW(fzKUVn~t8RUhY|BEn@yHbS_x6Pp;W5sJz?{Yq-l2|L0)st1ZN`q*aTkae5%01lQIsj;r!NP-hT^)6waYte z&T{+_adt{W7%d$D7DO3W1N~Tlv~l|fZL6QD9rG#5392A}w)?CKjXkoK0KK)`?nJhHfxAqz z3NEDRWjDbgIF)t||Gpa>YdR5aeiu(Q(s9%TFS4$RPXz_0R{b0S5@KPbrbgw$rbYPA zA0!s?L&tgbPe~*wmfSzLtST}CNN7VEgNPU4pT2cSC>a)cq38fQ2gW7XW1fstct8;d zrC>Q{VE_`lM+ST`!l79M{?@8ed`P9Ni{dcR?ivmerikVPTSBBhnZm*(1$p`p^QGqp zMn@8LD>KZN*4#_j!8?N3tZK=IQ5sIE2c%~lUaP-6LjSWZmgU2< zTnzleg95f*KLXzkogJNQt<|lq7|orGt^a)ORYugp^)aD={PYqXjTY16qo)*C4JTgd0=%5T)L4%z~btE>Ea(dSnLGqp#a}P! zGP@2H5hB5EWh%C<9HmF5Q%NC88V}%BXE4liuDdiaok?$dn|taeZl_ej6C=IVw<^FQ zfZeRMPwViXUMzE7!T3+p|^UXhqaep8iIktuCg6?k2K1^Z`(Hnz*i z?f?ZF0EJ`yL-@O7c?VlN$3L~28B=TH&x9uWwX5%Dca%8?!VE1$0)*OfQR)l6s}H#q z>6%Dn*_($f54+*;*D9yWMP59Cg8&=7iWwTpSqd^3<#OKKpp1@gb~e%xo+=)Gb4c!1 zfAV1xE+>~Q`{BxYC$?N0w4%3MyQVAPQcc_DY9o*4Ofyo}Ht#AyQ4F=Q% zLwhWWiZ30~UL&xiKQMr^N*!KQIPKGn6+WLi&dso_ULH%QsIpn_e$mL5Q)r~`wnrgq z06brK25wgEhgNP5hWtkC2syiFo`{I6bG%uH~oC2&k86xh1^ zcb~(?+1kL^0XQo2-nyGq->})`!s^^A7K|0sZVZiQgJ5gO6IA^YDMs3O3qpZabDBNE z%(Q+fePK9BTahVH62>Zn>M|br(R+*g%@gnf`S^0>AGe7Ziss01>91A1B}{iHJ+ZX+ z_A~jI;{2x~>?$hi)J%)Fp!x5ex9I6#C~I?&s5I5ZRO&q6DX&+)OQc3v@kVln^xY-x zs$V5k?^{olPO8!3k$OxI&bi=k8>xkEGfOEAvIbf~E0yQuzp!w??cK~dXUK0Ds@iu{ zhfs!;Zijtjq#=0CI~$oMS!eBD7OgyX@l& zqT0^v$q&BijtYSxTw#1oEBV~(3p-=5gTVW^XSGn=p10!m> zL22|gA(p1RbJi5irl=YE*vAjwiEkVv-|sokb-nL-?&rSdytfQPRTGo);C3o$2_+KJPPe#LWM1itSsENM zz9DspuLbtin5-Ewf?g*9|G;$>U!9@mbZ}mz%RE**U2b1Oi#kl!nN~xNX}UPv74OqK zX))?4YDHVWiqW~1zdSOuG89xaB}axzRH6vveEJ17zblLr3G?(S2b%XMhkA+1DFXSX zNQ4kq=lD#Y1rRk5}nr0H4&IS#BXytHk>>FQbTsm)~M`&Eq9b;>;Hn)CEjmDmo zgL>uhA%`0gO)b}XlmnQ#nw@41EFaz`XYd^AmHxK67{1PcKiq%aAx=|;U%377q z-UOAfZJaFkfleAL)26kvLo~(&>zAv{Q2(+M;pd4l1nWHY)aKA``fEPhAoGy1eWA#y z(whN{CYZq~E+L_DI2)6Z&6Q6<*2{iXE8|*7YZ;}~ymhbOcOJE*irbDTJE9n!VVoY zZuYY?l=jeszZH0{lT@LLekFy$Ob+n!QOOK-$A-4~f6T-R;zGhLs*UJQRIQVH(FsY0 zJM3aH>f&C`FmenLHY_xW8@>F&FE|lka z-#+o-bFb8>c%J(NGWB%u74pLxrKH|S@(ma(yUsq%QJ$zSJ7&o={0;@KgTW1NV)U{hM|M%yuend@xjgkT6u&rE~2ryn$XLrGyDpvAq`VWoQj#eNxJgMU#Oaj ziM)STC3OpC(au;F5d8y0d!*y+OiQh}GCmF^=e7sWPjEh>H>XY!v-i~&$*8LIOzFZ<%T}}|dVT1PBgKP)USG~W z!aXeRg{X<7<3^s&PiV3sYI10kn$$Jm?Y$`8SSGZX7!gS77b0Z@LupkIrbx2nA;?DzU2FDj~<3MTg~IWE@s0zo&El1oI#~h zfqfGsso@J|mgEP^H@H{yJR!(tMwR&rg@>>{DoC)Q;Fk@V=iqvD?dqz}jS!f?3zPj9 zaq>gWFNcD99ZzvD?UrEU_U^ols|piUz&d-(|MU7P-w^yL(Jp`b?L@9w@pFXT9fpXP zd!J~HP~`Oms3T{B)U_MCEX3LbZ%vErNvK^Z634DC$nSLU7D!zt6|BQqY9 zZ|By{GR@{djU{x+zSwC?eUWIJo?PS7HkrneF+VDn8{1>hO+t*s7Q46*gwr+LR?>3o z@Afoc2j=jt*!$$_loyIvjK9JBg!t#+QIQs_#Z^)o^^A#c*X%&7NEr2b6-@*i^6u`v z{IJQPsr>Ll->!j7n=t2*GE(E0fstbrOpW^#F;SDU`jiq%*ZMZs)n@xqSUvdur=YQ! zt34s~(NEt{;cDUI6QoDhU%w@4F^c>Zns=sYx>~;2)K8u9U2z#lC zp`yNczdr}}tKhzihwgQ~9r4ElLn&^pRm(`9iJ6yWqdd+I`Ix0@QGW4GaypQqb^h_) z?ZLpf7?_D0aLIE3xM9w1HXPFw(DUov<9PMj_ewMv{$XT9fCj)lSRoLeO)PN6F@*y? zzu@-X-haC5fMq2RhnI2Qd!H4Y{K3*9XOM9l95f0DgmF0gjo;^K<^ool<21hasp))tFc+|Q_N m6JB6EI3L`?HzoWw#kOaMM*2H|8MHC0c0ufc=~0oq@#{Zp?Dkp! literal 0 HcmV?d00001 diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/ForYouProductPipelineConfig.scala b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/ForYouProductPipelineConfig.scala deleted file mode 100644 index e1cf2161c..000000000 --- a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/ForYouProductPipelineConfig.scala +++ /dev/null @@ -1,142 +0,0 @@ -package com.twitter.home_mixer.product.for_you - -import com.twitter.conversions.DurationOps._ -import com.twitter.home_mixer.marshaller.timelines.ChronologicalCursorUnmarshaller -import com.twitter.home_mixer.model.request.ForYouProduct -import com.twitter.home_mixer.model.request.ForYouProductContext -import com.twitter.home_mixer.model.request.HomeMixerRequest -import com.twitter.home_mixer.product.for_you.model.ForYouQuery -import com.twitter.home_mixer.product.for_you.param.ForYouParam.EnablePushToHomeMixerPipelineParam -import com.twitter.home_mixer.product.for_you.param.ForYouParam.EnableScoredTweetsMixerPipelineParam -import com.twitter.home_mixer.product.for_you.param.ForYouParam.ServerMaxResultsParam -import com.twitter.home_mixer.product.for_you.param.ForYouParamConfig -import com.twitter.home_mixer.service.HomeMixerAccessPolicy.DefaultHomeMixerAccessPolicy -import com.twitter.home_mixer.service.HomeMixerAlertConfig.DefaultNotificationGroup -import com.twitter.product_mixer.component_library.model.cursor.UrtOrderedCursor -import com.twitter.product_mixer.component_library.premarshaller.cursor.UrtCursorSerializer -import com.twitter.product_mixer.core.functional_component.common.access_policy.AccessPolicy -import com.twitter.product_mixer.core.functional_component.common.alert.Alert -import com.twitter.product_mixer.core.functional_component.common.alert.EmptyResponseRateAlert -import com.twitter.product_mixer.core.functional_component.common.alert.LatencyAlert -import com.twitter.product_mixer.core.functional_component.common.alert.P99 -import com.twitter.product_mixer.core.functional_component.common.alert.SuccessRateAlert -import com.twitter.product_mixer.core.functional_component.common.alert.ThroughputAlert -import com.twitter.product_mixer.core.functional_component.common.alert.predicate.TriggerIfAbove -import com.twitter.product_mixer.core.functional_component.common.alert.predicate.TriggerIfBelow -import com.twitter.product_mixer.core.functional_component.common.alert.predicate.TriggerIfLatencyAbove -import com.twitter.product_mixer.core.model.common.identifier.ComponentIdentifier -import com.twitter.product_mixer.core.model.common.identifier.ProductPipelineIdentifier -import com.twitter.product_mixer.core.model.marshalling.request.Product -import com.twitter.product_mixer.core.model.marshalling.response.urt.operation.TopCursor -import com.twitter.product_mixer.core.pipeline.PipelineConfig -import com.twitter.product_mixer.core.pipeline.pipeline_failure.BadRequest -import com.twitter.product_mixer.core.pipeline.pipeline_failure.PipelineFailure -import com.twitter.product_mixer.core.pipeline.product.ProductPipelineConfig -import com.twitter.product_mixer.core.product.ProductParamConfig -import com.twitter.product_mixer.core.util.SortIndexBuilder -import com.twitter.timelines.configapi.Params -import com.twitter.timelines.render.{thriftscala => urt} -import com.twitter.timelines.util.RequestCursorSerializer -import com.twitter.util.Time -import com.twitter.util.Try -import javax.inject.Inject -import javax.inject.Singleton - -@Singleton -class ForYouProductPipelineConfig @Inject() ( - forYouTimelineScorerMixerPipelineConfig: ForYouTimelineScorerMixerPipelineConfig, - forYouScoredTweetsMixerPipelineConfig: ForYouScoredTweetsMixerPipelineConfig, - forYouPushToHomeMixerPipelineConfig: ForYouPushToHomeMixerPipelineConfig, - forYouParamConfig: ForYouParamConfig) - extends ProductPipelineConfig[HomeMixerRequest, ForYouQuery, urt.TimelineResponse] { - - override val identifier: ProductPipelineIdentifier = ProductPipelineIdentifier("ForYou") - - override val product: Product = ForYouProduct - - override val paramConfig: ProductParamConfig = forYouParamConfig - - override def pipelineQueryTransformer( - request: HomeMixerRequest, - params: Params - ): ForYouQuery = { - val context = request.productContext match { - case Some(context: ForYouProductContext) => context - case _ => throw PipelineFailure(BadRequest, "ForYouProductContext not found") - } - - val debugOptions = request.debugParams.flatMap(_.debugOptions) - - /** - * Unlike other clients, newly created tweets on Android have the sort index set to the current - * time instead of the top sort index + 1, so these tweets get stuck at the top of the timeline - * if subsequent timeline responses use the sort index from the previous response instead of - * the current time. - */ - val pipelineCursor = request.serializedRequestCursor.flatMap { cursor => - Try(UrtCursorSerializer.deserializeOrderedCursor(cursor)) - .getOrElse(ChronologicalCursorUnmarshaller(RequestCursorSerializer.deserialize(cursor))) - .map { - case topCursor @ UrtOrderedCursor(_, _, Some(TopCursor), _) => - val queryTime = debugOptions.flatMap(_.requestTimeOverride).getOrElse(Time.now) - topCursor.copy(initialSortIndex = SortIndexBuilder.timeToId(queryTime)) - case cursor => cursor - } - } - - ForYouQuery( - params = params, - clientContext = request.clientContext, - features = None, - pipelineCursor = pipelineCursor, - requestedMaxResults = Some(params(ServerMaxResultsParam)), - debugOptions = debugOptions, - deviceContext = context.deviceContext, - seenTweetIds = context.seenTweetIds, - dspClientContext = context.dspClientContext, - pushToHomeTweetId = context.pushToHomeTweetId - ) - } - - override val pipelines: Seq[PipelineConfig] = Seq( - forYouTimelineScorerMixerPipelineConfig, - forYouScoredTweetsMixerPipelineConfig, - forYouPushToHomeMixerPipelineConfig - ) - - override def pipelineSelector( - query: ForYouQuery - ): ComponentIdentifier = { - if (query.pushToHomeTweetId.isDefined && query.params(EnablePushToHomeMixerPipelineParam)) - forYouPushToHomeMixerPipelineConfig.identifier - else if (query.params(EnableScoredTweetsMixerPipelineParam)) - forYouScoredTweetsMixerPipelineConfig.identifier - else forYouTimelineScorerMixerPipelineConfig.identifier - } - - override val alerts: Seq[Alert] = Seq( - SuccessRateAlert( - notificationGroup = DefaultNotificationGroup, - warnPredicate = TriggerIfBelow(99.9, 20, 30), - criticalPredicate = TriggerIfBelow(99.9, 30, 30), - ), - LatencyAlert( - notificationGroup = DefaultNotificationGroup, - percentile = P99, - warnPredicate = TriggerIfLatencyAbove(2300.millis, 15, 30), - criticalPredicate = TriggerIfLatencyAbove(2800.millis, 15, 30) - ), - ThroughputAlert( - notificationGroup = DefaultNotificationGroup, - warnPredicate = TriggerIfAbove(70000), - criticalPredicate = TriggerIfAbove(80000) - ), - EmptyResponseRateAlert( - notificationGroup = DefaultNotificationGroup, - warnPredicate = TriggerIfAbove(2), - criticalPredicate = TriggerIfAbove(3) - ) - ) - - override val debugAccessPolicies: Set[AccessPolicy] = DefaultHomeMixerAccessPolicy -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/ForYouPushToHomeMixerPipelineConfig.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/ForYouPushToHomeMixerPipelineConfig.docx new file mode 100644 index 0000000000000000000000000000000000000000..69a356b6ab5415c89d3a2ae31512461ccef07243 GIT binary patch literal 37612 zcmagFWmp{9wm*!!dvJGm2`+))?ruRF2@Z`1cXxMpclQw7EkFXn-T$4LIp@rrd++;x zDIWG->nCef*WOiKtt1Nxg#`u%1_ySN%A-}KQWTd24hA+30|tf(8r2mC*nc*+|7@t{ z;b88p&+Kkz+ms})xF&-3b^oaV6K6Nnbbe2XQ~i?3ZO`YK<(L41{)n-qbLob9JdNMvd`<&ULO+3=K|}>W=km zeMKnl!-xR1Z{O{DncXHdIgViJ%ObB;bv7}qgTJ2uY=Wq3=YBwDYrfeFG9!C!yfeDPbr`>n}3sb$@~KbYKjLVl@n%|j_`Ym?8ef zT97-RJ8(~=Chyzp@Rx!1~64}0ysFcm;#*4f1l)8@e>LI ztZ0&V-jeh38evyxaFR0g;78#frLp{%+ip3z@F3hi`q8C;3C1V*kLgf@7Z zS|Ck>G`UXg8I*TALlNqE%{Bydn1(bkq~OLA!Rby z^yL;q`6&kLxj5&)Op|4`subt_5K~2$U-_aT5>MMsflRuOMfcO+pExXmBEA8=tfiP3 zEEByn4?HY+&{%HT0BUZz0zS}b#}>*JzgkCe_s6C#8~$1|^4jOx_D9o8HeVo-4sy`1 z4?{*O2bt!ywJ_|2C$10BNT}c(BFbqhZmk;Z+urBp6e!`#4S~+SlUz#U)X;O@VnHza1BW{A0A@Es=ch?tI zY#E6%SS6yFP%`b(-x#~6@_#h=zI}Low@k=z&vOBVcVvlTKsVORJ2?E&7PSfcHCD9FCk80}&*4_EqRM#j0gIxu;v4w2@tH02g-asbfz(pL3Gj8`qdFu{LL(^RS+_abjFnYnEAYlBC^@&RotQA;QjU4TtxDh zYu)|ed6H7o@@A?st73Qs%RP@ z1Z+lK=aZkHtP#CF-_)D^M9;Of)5U#1MJm~5JpA(e(?M1(W}=7{;YvF? zrO))NkYwFNZNR}qnWTGb%5&{NOx>L==L-8dYeFfbp>>Mt9bXTgKU|<{g zK7a-~(MAwY>4U4zF3H^|{1-Il3p=*M?FSb@#3MHtUSMkjJaNhiyzR?aZE0&J31k7UFaGjE5_Nw}qQuB>y}y^d??U?xDfJ z*ctx(z`6mP%veC5S{FOe;`IB>SkSR^Ugbr51@?&Tq2jV9;7dC-9#;HBwDL@AYi^4N zwvL(M86zrD$O_4Pamac)Yq>z>pqTIJpP`tq_ z7Ub1m;{Aizr>)KVb{CE=sx2mMdr&YP!{xgCWo{yD50M1{ZV8UkVP8&crb$XCM4_v? z6CJ*`9`Z;gZ%||{8}7)2HJ7+dG3ffZB+7z7XF-J&{o`o7N<8JhHQb^LL|2b;Um8rP=t}RcWbpHj?oIWs#N~gcgyI zV404+_0uM*TTq`o$D~H>M5x7?RT4(dkK$Ru7+djY9qe05J_ZgeQ=9EU9um7^aL>49 zTqB0jIHV!2!*u5$A!r47Hw;>sM!aJqx1ebDuPx;ekEhxCZdE)+;MSU9w}>U! z$4c`VNR3F?XKGgDoaoEhM38z47gFm7G1G?cMCO8> zWxN!W44frFsV9sHx<<&QLVV-lT*3I&SMr-+*5liO%5L`MM|5+c#I5^RfodwMqi_Z$ zQ8@RP78%q1URS)n`aom#H`HEW{JHFNiOFVA7^5|4YQ@RsEf zLk1Fp)V|W8t-tn{@rjt;DocboIZoh}qT=L1B1DnMrP$yPGoM&%_U5N9h5@+~@f-g!> zo{Df7R>T7z^R5TqmCZ)o6GfLmn~Bz7b}U9K+o6Wbe;H6FyA8GJJB81iP1Ujsf{~Tp z9qP1T;$vv#xe=m6cTvMjsqRM&Se zw~%!e4_H6z811g4=GI8mPujhi=>i>7Yj>m;OuYO;bleFz1ATh>I)|nnTA3TKt4+7LC7g^QW)prjg~L8 z`oX>HU8ljvI*59%v8B~#zKJLwq{>(8c+coc(!efZ2dX$qtx41Vfl6wgiCc(tYblYd z58xLjW9{?So-3`|4&?h!?Pt{O6Cr*|agX9ZBxyO%KC9~L{*)avfK%u!kpy6kjG4~> z$H6fK`XJeuA5zg|6aj;RW7o;Ym6Ij5$ou0p**%Qz^7^;qbkPWi))N*NM?&Z|dqqdz zaBEYx^cuiC_%wLwR*MWky7Gxj$1-*1T!rqSn zgB`Sgm;mh`2toUYKbDCPj@u`P#%^xvR&{Yx0FR;ZV*qa?1S-~Cu#!2(drQ=mzDBi*@gTcJTCpdTHoZh65-pMs0ZX!q>!>&?9x zq3;W<0fI&20-<>EzW=klUKEBQl*U~qn{NonkG zoL5UV4vf}ic~`GzYoPcZ0>82Rv(`}+I06wYU|=Jd@PTz z7wFH%QKH+|%t}x*e|gFA?X*1u8j?h3yqs?E4D=v(x9Of~Je5qHUUdL~FL>Sp4+p32 zI;YvmYcKXMry0UaBY@Y3n74s00ZcE9eY;?H}3CFDn>sU-i4Gb4FH>jhzBfzE7>Dn+V-wX#$ObS zb5o{{YK2dQvtDt8x zB-nZJOZgH5g(!WgeTUuoj=Uv9)7 zEmTs72OPIHSWvfssgfk#(%C0uZ-X@tJtloM6ARSI4bPu-LV)P$RQR7e;JeN@@jFt4 zfgTZR9o_;bm}E6!vDdYz&_yAq82mFK4X7bC)xs~ehCbTDKD@y!ogFde!MMIJuZIH` zzHl$s8!w;J^`2{iE1g^K1*_c7PD4_7PP2IwkKcR@&VYi|Ird9$n1kKPk*%veCklsa zF@W9s?{9TFJyO{O-R-(k+z)h*z1*I6Y*aL__iG2PJco#UWfwzl9ifEOwvE>AP_Cse2!hjVn-hN>SNVNcz=DOe%#2C455ZyhG=JF0S3zBPUivGzbQ24`Bgw zYQX$$iliLcR*8KY1Y#x7P#=S^axDP#-vQ&xp!K^q{rgGjWmqA5g*6v*2z>hDcFL2j zm(KT$!X(KxGj6l%IWpm(4_?yZcg1}=c|HGW$B;=p4BF9P zlik976ZIxCq?L&*qTo#sIb-hxish(#-Gr0x@xDh1s1I!P`^-aBbc(T@f^eOB}SIgih#DCb3JL z*nrqh=)&CJlb=A7IRBc2+Mxu1i~bc~-GooY48`JsINC3>3GpxN6V7;0Dk&(A?vGR* z5Lz$@_aCW$QbCo`oLQ5({};iTG6iS^;SUwbozP}^|3l(`pkh5Qt8oHSKv91e=1Kt4 zqk;zViq-g?i4>9Pza%n|!qIpj!u_FoKEbUCt@C%(zlRE)#T%zxJGwCqviT)+7D&5^ zHC%ko9>9IIeRW6{JCb@oB1rnD&?Lr|wl=$WZ~3-i>Mq+k6G~{!A2@cbj7-?RGDZqA z>n1;+4Q)K#xU}ip4|$0`4=hc(=6zarztX)Qp3AA(aj*HgAf$M>e=wH6b04)Otlx4Y zK@x4h%e*3zq!)e06^H-!^P!k-|Zkb$pj;$^IVO!`r@(@;Jg7+w+x+ueaM-YXT)|(WY}~?cxoS>KYN{ zczdMgasp0=bv?yY+iTxO+_3U3z1o0N()#AniTi5LV07|bZsNB~YTlmDZmOTAQO0mW zkINg~A)!X-)p2&p3>Py3US0>!ixm$i*f&2Dhjq$~XQ+If$k=|4FXw@#6JI=&m*FR2 zZDo?kJm_t-TvTs&UN5qm%dT|eREeZ5B?$MzoQUeT<3(*`#k zT{7wM<_OGJ529gl zv+5`?!tbznp2f5I@=6>yxwa3d@PPxUlsZeD!cZ19j=7-CJl`^OLy0(-zzD8rVpjE- z$*^Lnzpp1wkvRcRJ(p&C5U85zynYW${%u9!u>V@DR##~YrF$e2&3xN!WzGejG6s)Muy6Me+z zi^=Ig&zb7HPs#V}z0>zaTe2HNfU@!(4T1Zgju}{UBrRKKBZTq_@SB$GM-+M-HsUov*FJS+^|DGb7NRuVAPv86K@dP=;F_Eh!^6WDhEF zPh3XpK?S9!&dw;3@)Oh(Ikzb&(vbx1ooc7qDs8fXfUngHPtTY=J>JTG7hF2e>Jkr) zqz}k|C+u1rhMRbp=8wp>Wbc-b()|f4l4aB9n7K-#%oIA@4uZsfT^(h23QlXX)w;Y_ zc~?t}0_Hq({QNVv5Bfs4pm=6XrKpFT(AzD$Fdv|8+LV(-oj*QtAIvvR96IR~SE(Ol zzLmUYcCY}GV7YG1i$W6+z??78(wfk#PSt{;GpLWEiQ6WRvc$v2uN1?${_Nz;S2(yT$H%^<5$gc7IA;MZ}^pR*w{#p(JUpI~D4ZWz_Wp{#rYpJw`9viF5T);1P zb8tVV)E%8^h(t~Cr5;sqOZeqoi}(y=;zBblI$!I(R)K_i$2pO z@;O5s$YKLz6f!V+5k4X0#@&WDsxhb2ggSjreJUk)qyvu_X-7 z7-UHtdEM?9efv5vv(>!DwRUzEzm%>%kc9B%?f&&~kr2017B!QVw`bX%vsT@hs{lbk zjk5d`KkssR?Xkv?;>BI2tvqGT&)g7Y4$p0gk%uAAf`Rn*+j&f-;I&A4-r2a){KX$= z8bhu2>Wuvt+#M|@vuuk)HwzXneUNLCM(PvZo*vc;m3jvD?{x;}Rb9mVloWTAFFu9>UT>KH7b2=k_%7PRo2?1o1Ht1I*NH#WOSVLtjE~msYZxeC|{*` zWH=N)PVtJe?-e3i*jhHE6$+LV-DZ-nIIlu`S-0*)$j9Q0dE9waRL37H#Sdy}ahj|u zx*Tp-RZ_I>9US3l;~~WKl9{58qSeEGZ?--Ayv)(eLY1;l9@$sT2u3B(fcU7j6kYfL z+tHo-{7J>;$2&?4d?^`O71uU0uW3f96*8vk%15K6rjlOK4b|SwWgB_Co0T%6yB|?^ zeA#d1D0YH)7JU{)_WAs27KHWv0)+uR$}Sc-?0}_psQ9zG%JdIkM%6pUjN%!uO4F}I zBk9jf^#rj!#TjVy%9y~?+vci#IY)Br0ZI!A$g^{7lP_y%xon&bc#$wDA2?EO(%L4g zPBpxJumzkL804@EOUq-rR$!IOlocIsiwD$N9L>2_N3G4upgZ?3w<2T*E;|vvO-*X^ zkJ^7oAtk$MWTE3GNh@{?6XA)-P|0VQO@ormlBgLR!DdyDxA*SzcvRlMqsL=H{?2bY z3A)p{*?HFgy#B5L!VX2{(^c~n=g$oA$4c61bKl2rj*!S)Z37rD%8WI2VJfEBz%v0+Q1LDhb>gTID z3j)lpA9vO_q}{1mR0TGNs}V$c<}zi6FR$mCXA6+Q7F*NtP6~7q9fV(ph0Z0MD`9@H zSy1a>-mfCXw@Z%u1uZvbtU-5z+qvS#N|r`3%8pLqecD|y*nZ;s6raQK6uF^X#m4>&M_MI9Hx=aKm;d`r=Bs7$Fw($ zBBbI5Wpz6QKavyW*@==W)b}zSs8`+XE%a-vUv4ayD(y2} zW~&poJRm7We#gSEyyRtVZ)!mw!C5->4li>yGB21xW=FDKdyX4YbU8em?t(9399b1^ zuKZT;YljuW=wTVQEN-3Mboq(~gpX7U*0~tCB5le6nxI~}L8EN5czqVa(f&=kOo4%W z!8__B{YlvB<7@1jkGBzDJ64cJkIRDPag_m}bQ~lfsjffLOaDrr|9AS2-|2zGVqN7v z+}HNsATK?wU*;s|Ga9U$T_kgqS)e+avlZq z1d-2ItS(8O6)V-c2+muV2bS_!F4$Hi3KbY2xaaxN%*#555;Ln`wHwqEMW3iCvDBn! z;NSEUSfL-OpM(^+aWKU$sYX;Y=Wk}JH!xW|Mtah12Sa2lu}qP9wyJfNrr3s<30TcP z)eIbj1-kB~vb(!B%`ang>3`>jJ2Xy0?3MACbm>Q8TIy*H? ze%m0~oDsW{D5w;VWD~GY{)zkYUFZ7I`C96LMsq~<=+gVDQ3k6l)MP61N8U8ql+E6X zt7f^yr=&P#5udw93@FCo(x?dtt8(tUt(UM51+l98t@En&b{R7Bnz(^K?)dH7G3_69 zIEbdlDCBbOS0B?Pfs69O;#CXk*Sb-g`I~^GaJP8?GCO@~D9!t7vq%+REqdcr!i{y4 zZ04ORjfv8R8|tL%(iPTVaaZ8iCSIu_L4ZB|1-l6)5OTJ-Q`wo zG2R90JnX5AhkqGn<2r&%risqSf!ilLr z@U*~{%DPvm3m*NFP>>Yi_ww&26A=EPBT+z33T>FsCqfhX2}BhTN#fo-a+;miRc?hI z`)?j7%75`F?8)GQ@0469q1PHY9}Tmx(wD-~f-EI|`zfk+&C1u_CMlxduUmDbeAvgR z2BpRbafFA8g`x&EfByQ!_Rb2&dld(K%r(9_fo`<5`z)%O!V)!F&Tyd-PP%)ReqnC; z@Q48-e#UCo*#!&SBLuS;Mwb3wBd*Kqi$ zq{dnYigN2y(vj6K=NoMBu|v*_HvVwG&W7|kNs)W)DNqsZ!AlzOD?S9@Kw%MSy3Pq@ zG097!1{P#&VJan@YuE;8?A3LF2v6Wkjo&NrDxoV4Je`f06>6Vb=|WMi$*d|AlbSv> zkgkQDa63Gf7fXs-ze2wn^tS0R!RQ8#B;PL3sfXIxt|D}1X;eNu^Iotpi zlI#@49U`0<7@;2Tl+J1g=5zBiuB116sx8s$j2741Pv_1Esj%Ct?TtuEW%@b@g_q1s zP|ZLk6(sfN@AQOL-3hcWCb^`qV->HCZI71^wZ4eP^FCdORJ6ndQ6CH(DcVqmH3RQy zLTaY(s1OU&=^nWn;bPWx4evCnyU3FJa>dovMS~#S*+PM7;F;ZvNK^n?E3S*l{=`}o z#V-l*W*%Z(d~J*>q{#uJD#KSRMty>n7&g0p(*ANpXncNSkmN9f8sDMO4SymS=8f9Y zupbA2wVC=iz)IbvwZ#??Z2uTE!WVwh=Rql03A@v&Pu=Z1evbnw49wD!BO_oAxbU8| zYP89dCqtvlO_&CABK?p9KG+-Wkb)z@Sj@oqg}fnaw6Z2Pjcc1=|orD`}}o6OjT3eMaaVSr%7 zb*W<9nJ@_}nW}S+UyIQ~vA+5zfbqp*(t?|aFiIJq)umR~;)PGTk~c7;#R_PXdmTvs zO(R7`x{h-3Ql89j-z$Q@efNcE$vOI*n6aG`x^ff#>05FP1PMB@)%vh~3kV(h96Y3C z){L3fbP_SvJUq=UfA%+(2U5RPs**HFhcL(P=6z!tovSW< z$Fc9BHYDDM(pSEy2CHpr@+@Avl@%SgMf7`x{_(K2(Zl%GA>5f0tc)k47lLNxy3RPq z@;KJ?pMsV~2 z|Ipar4rIyI$Sk1&bjX`%7@7BLh~7Ec3-ic{xtrzqj61g~)BPCk6y^a`t+kX(k!+X| zIPV7;La4M%cp1^_9a@ZKGV10mwM=q1XN^Ex@diOJRjXU;r&_2RjRhn4mJJJ>>uPUY@C=8%>M`Z ztdY$2Lv+g4y3=3e{YEkmDw_8Qnk~v$-}*m)gZ-h}7RS_#3g>c`q_Fs$(!J z%;iZ&;p3(zaeOG(#|?&lQfq1(;GVH+)^|Df)39tSi5Vzc%kl#Pnor+U)j#NOI)pC* z4Kb!_404~v)ZTcw+= zW6IBk7Q-)3t4;AJ%oUcDN4IzGa8|tt$*0dXK4MF7B1_DTdzot=b=8L!yZ9Bub9Th# zJgpw(LP7|>oKjh!$tQ62TzoB4NT+^xCo#vFZw1lJp?(!L$N96Yynq?NFK^QY$U5b$ za)m~hhn#J^-1JZOJQK;cBFeRbnCkg{*xk$@?k}R)lRPp;%^EaF#Rb zQ@Y=Y+=BNWr@UwRQRxJM!rbcFUKyW!g`ud#oCs%CXG(d|rfkwD9oSFlA{-LE0dL9t zjQy^j*X>J{|MIAFS3EZKH?S+OIkP`Z{^YE>=^k#MYh3-8Nm<>auA;C%O@<`>Hpz?l z+hmvB|DQ=-d7GY@jswmrAjl+UvDF*DZFVaWaRDwizCd(_u{pIPA?S&6ec0Om?#js_ zchk=bVEK1>b=Np>_U7a~G|G)d{)yjmF||3o|v$ zp}9PQvLI*Ws-R+s?1W#x!HpK14J+v`(-%$X-M=HquTo zT*@%q@6b2UEVNvEKUod@Jdk#vZ(H=U52tYY4Hl^lM7q?uI(tt>5{D4afpS5(;qvzZ zW46nc{VfhJ=v?f=W^~MCo9|aG3EKd1BM_Vv`u7309&~_d27)t6yS@Z8=5}vG z7oCg|4I{F~kahMNV6k3G2|ekuB&RgB1HrE}7S18uLOgL;dfiGf4QNl@GNxfo6_z_d z#XBhn74HNNcGTat73!bGv&+%@t9Z3tw%w^y%L%N1DMT1R+&?DVnINE<>V>p6Ql-f) zbEk##EF;8#P^X85-i{w<6D5^!P?H%{KJoVP!;J!TsC@*leK+7%VAy9#s8CeWjDQq$ zHy98));}sIXkR-Qj=bP?g9m`ZVePhlel>|&$F7$pD;g2br`t&8R<-0dvz*rrmjit{ z4DX;;YdT+bc1v&y_A~RVtDCG(hrmS#%DDhdD$?P)PqWAu8dlm;LB*TeSm67Gf`0t- z&}fD=#}e!HY=2UH5Ji{kDu6e#3 z`j6l-h_11ZP4@g(758F_U5@ZQxl;5C17eTGYB2~l3FQ3M zwwj6Mj$ZxGI-df*L0lnHcOQE7E6PmHfH}xc)u#U)l7C#`9mP zO44mR?iBg2{^nr-h?%^Xrp8@LjTKSRMlH?@`$<9wUV_f*q@M4WXr ze^OVATEjh9@)oGzPTivY4*Z2cb4(ZZkOpQS_TcgrZtz*@7sd_R`En7ng$^L@p=s+# zA?u+mAM3pJT(Y;xX5;gL=BC_N6#%vLWDVpbfZZW$-hNIlh+pXdRJ@=EcqBw4AVfhx zYR-9U{A7*OdNykh4nAgc-!r2y+%mSpqAJD}2iQ8s)p0(0=)(?cPaN*Ot7g1TpR}(wjf2a28bnh@c`sPR^vw;2@?DSjwF8?6Wji zCBDh#=!2pm3Fs;GwvOTmIbwcUMLFFDw0^PT`*MZCg*fi-+EpCxiFHi@lA**Xl|SIK z7ELR17R9NAKBB4Z9=nItByl)?7JWQ`6~ul(E52SI!(743WzXr}1dJyx5ge9?<&*^r zT@#kp;3}1&E-b74;&6FXcA=P3;Go#D&YE(oSr0kdvxe@u6koNy5nnCc{y-Oi03>3$ zZ*sy)XLjFu&MgTb=`YL{aG)iCR6CzrdXi7O^xS(^JLhQH4#|eRxq+a+&%@6^02V6< zj}xU{^AE;*SGaI*bp?==$5dcH)8C$!=S;~!3x7mcJ3sd9tBJy7b?JNhE%+IY`evQa z86-I1KY{~t%Ake+6x{b)@cD1S)da^bu51q)$F|*G(86jYnhf_zBxAM}Bx7=a0lW9r zBn8I&3s|ZBvspCm)G!$K^Ysl-wYYPWR~Y+Qj_E${P{gOp4*^&@Tnr+bizz3tay1kD z2XNFN0x%_Ewru+Yv@o(N6!tS-joVA7m;QP8gQz03a3r_IifT~7^60u?eE{%1%G-4#b%>~Rdr5Tb$P?seWB~zKt<^VE6hH!! zCJ!o!Y3HU*`M`^Lm*wY?qJW&?e>L-et&MBJgUPTq z?f5PVsJ^)Xm#%G4N7l!+a$C)3LA%1$F>DJfK`I;e>s|+l~;!-Rq9cP7hNB_I~EtZ?DlQ} z!rKLGL-nyuk5Zv2kak9pt~>qeHD_Tb#oL5IYS~a`H3wXglWvOnaT>+Eid+;Yt{}2T zSI9y08oaM>2OH@dQO6`a!z9EN>Wkjy?Ym&^cU-C`oH&32>$||2R&@Y9@gGDMb69ux zx`vJBDVj9sb<{Jb@4eXdkB8<(5t57FcF);vJ%3<_8i9{?Lys2d7HC|SzqQj)py4%W z5dHnEUozT}jCT|JzX2Q-e*+wa{Q=-`=N7OBHPQh$a?(p2y}aelUzw@k&}k7E31P{f z9Yzqe-Fk8R1C#Z)lTv6R+gSH(TBMm~H&4?9-EJ3|&Yf}uk@?eol59fI>o+a`n-`Xv*&c8-_9z*IK zCG_o^NYya$3`63jINAsPY_`jLr9>_grBv)R!F+>L2xLBg4#9w+s=MTU#O_oU(YI=e zc7R@Lg9h)6Ev(^^Rw30}k52a3E!td;$4iArVqA)2=O~4M#l*wu?T3=0A};1Yy@Fsc zIs;HqOUYFh$W7|-MzD3L!aB04GbgLs+kb4;t4@jHGBVmV<=2LcikqT|2xf7rIdQIE zaVK`~KCi-HNU$^?8ZLgX0dofUSUCx$K@D0jlg9Fu8kNJ6tR}|;!pf-AF*VOVUUQB^={RYq4?gtZxX@*?G(SQrUdBirG1|`Z59=f4zyp6~o-u;T#SZEl zCFcgY?E5ik^m`Z3RQ4-AWSR|6TS^hBSO95Qd)YZSV=r>O-9?*9}Q%(lduKEue9EEigMPmn`tB;KPIR7>CrMwxVTOu z@tYJGG#Zn6)s}yt(kNzQxa#UfUQSSI#(Kvr_t-+1fFb9XqbOv^widd zgrU|bPT=~grOkSm$=AUF17b`_g1#DxbXMR$)(A@qtF8YbK`n$GVHo_aW@6et-!Mxk zx9p;Lt4ZN~(Fl)rRc=ceV8-_LbN~9c4z2mfBxjyP(f7gnhf5vG64QG7nj`JhK|#=Q z+7jrY!@1%&hqf6*q>tE>YTU1V-0X;{{UoylO%wK5;qc`IcqKDVL2fM6v0qVRzj}Yr z34n*fgri22i)}8o^a3xT@Us``%Xlg%g1N(>u;J*@ z)JRK7eS2-t0-$d-F)H;IsMX*Y0jE<#fF^}frEf<}$k^LHn{f2kko25e9Tfm2vPe8% z^18DI*V5RIJR~(*TY2hI5hYRF((T7?9*k*qJ27Zq93(+*NYhR0ETz1{5*2*5U8SrzA1rk?g!?IvE+&&W)VEXU_;p0qAr&tvTBYlp*oew z$GPn2Egb0tr=7tz-&ZZdV}EqbDanKIKIRh*HV_HMX~w)mreB^O%&0pqp2VT~w+ckm zKUDR$K;tgOBq+7RwMHeH1YMqH>{aHpy_McL zY=Y2i-LT{&2^$dc^87<2#o-$+-c#=N8!S^RfbLNx3zh0|*`u(wy~yC{&{Rq>=}J#< ztWoLi3m(jbaJtVFNP{19v?&T%LEnvA43Hlzsu#qGL83;u*?wjvm{~@w)CK{m`~`&l z8%X!xKz6@@=6xr-fYN!dmWyz7ksD>^5$|nrWB)*SUje$dII`Gc(t)1)k*m`whmW_3k!48&wswc z@1vhmAXR_z^nl%TG^CiF3`RCK;WLc^F>Elgcae5`FH})6ub*BWfAo>Q1@sobNRA)I zXpHn|&{W^dP{!Jzx?U}pa`?eX>4t>YzUW@1DC^6BQZqoxM+>@4RN^lJZR z*P7saCPSQ#o~}yb=8TPlxmN&cMv7a8VvYvtgqtDH+KAh<5ijp^&(g_(aoZZz@Il1Q zS;WRmSz8LSp$$t!$km$*OrXr=owbkE-fc8@&4i27<($P+{W6WOy)aGBGSI{8h1=@N zrOwbtPq60Jx7h9>#RBN-`_`=Q>t?;THsMp)^T6EZe+KmR5Hjp6Yrl0bD0$<1GnsHs z7|99B2x&>#_w;S;a$DPXb{fdIIkmd+JmFbcj89NJl%gl$y{a`d49Q;24Otsn`tDne ze7XL*ckzK`W<;RI-jR13FRn3cg2mmQ3~=R5qkZm^bewK`2-G-U>jCfpYL*r?tgBvH zU!ANNv|%Jx`Jb#5iY`I_kE~cvqXWd7+HAf$h_Gw98>RM$==!$n4T(osJ{Mw zW%Bai?bP;qyG2rem&SL^#`f?Etb4f~__f-9cgDWq@JO+w9Okd7vDJn1Xn)u4u0>>T zc45^cx7ciUuUauvfyFt!Ec|v+)AD%|2k<2S%52c!7RQrDOow!|({?vTe!J6(ONGlQ z{L<)gU+?`~tEkY~Bdn!}^7=Gl*jzEit-ZdrrC3rDNRrG_L81{8Gja3uwDZt^Gk4_p z@Rpr??0c3Rv$Xd{KyvU_HWV_o=IQI5D+?=lMqD6FoLuuWKU1&Xpm5;X`LW{gnx-SN zPMiQxam+-7iX}&a^7_`WvC~#CE+@!@`?K1Ir?QEgs_}r802eSqWj#V+Z7DGytvElO zTABr~ETB5%dYchKq0(U2s+yg%ArgIN$pg3dw1S*_4|EMA>CV~c4F(PU*ai*ZfrdD4 zZ-l+H2w%G&cBGNGda7?{CRT6kr0X)XZ__#qan^_b@55?LD2cqYY2Gmq?6}8=)uXp; zhOX0NGdCOFAM9$`H_!0QWSo?=Se~kzGx8j=xZV>>*{>Q#I#e;4w(;fY2Ax@;qK1i& zLz*uvX!Rx@)iWA}TlnCxN;fDW;!$eVL0673ZM^BccCTi^x7@d$v3IuI;%vmDpqsG2 zJvFZ^C76YXwck5-8CJVZ2nZ!GLwik~6hZ_l))paXQ7r31SEAe2Lo8ys=>laX)~fwP z170+H@%yA0jiMYr9Blij39yIIl@p~6V4Xxy8ppbRupbV=sFm85gV&;1hv2P5w+ElP z*M?XOZT9n&9n=L25$$L48^GVe={1gWK-@kbFKY%vQB?y?(5-?dNKZf$v7m`ssa9x* ze?t&1!nJ_Cq!aW|?fwq>SN889_bEGY!s623D2>12|3LYBz~52+cNKVCEzl0B`Ku7T zaATX|fX#GplD#Q^JIsg;~4+^vSE36k_kGRb$+4LJ{1A-Un+i#q| z2mH-*tyClQye|1BC=3G>_S+hYjZ=lpBg*a7W%N_d9(LMIr|d)}8xn5kvr z26E(>2}@&UhTbT77x~(#;lXL-PR36+fRN3rB4(yyYNx1F7=RRMvt{&l_qbIVmVvd4p1;x>Vb`+D#G0C(c#_48#ts~h`$ zR>$VkPv&aa<_@#)>}q19-8NyDy<=qJ$oZ|6eFFtSRMty0UHS7LHZ1ZQHJ(V(r+rjfyI^ZQHhOI~CihxGJgO?Km&NS_+vJeuYL2&HQB`G zYV}U)w~dZp^24pwXX6X@+RniB>qZ9QjPFK9jPZ4>$Mr4I!rSgEeT`s5DKrGpcfL!E zA3v}{<@PGR82;(XG3Aq`PoeP2Q_l(s z(G_rAB91p|g7X4${VKQYq3Cjt^(CEyuFLlTxBV+Yfs?$<*S7=SY!7|;{+@$G{`dMZ z1XrhZ@8{RoSTTXjBcFS%x5a~rhSw%RJx+Yt3dYyA^&ebJ_zZSP_D@Uf=`pIeJ@TXO zyX`(+&uyDIM)AdtgCce*3HAJxcKL+j>D7lP(>y0?>(x24_cK_{kgt@V&JCO7c@(-Q ziCTFS*e>e&_U~?5WE@<>P_QJJvF=RVW{^(8E_4mK=r3EQiYuJF2%PMzIkK&1>`Yu? zl#$s0pUv={rno&P9Nct`!rPhCIu;@$0_$87i-Dsk<+@j z7W!-kpkKLZ{Ywv$2NrLesvUXOR02}$ij8Fhf&0K3*Ic0lFOL|OV`^~3(;a9`NRIT+ z>_~P!P3V@-iK$95^j~f#^Xi0`?^x4&;5cJ_2~ii=I%z(8O{vfBh^+It*mVnF58Qt@ z?O`%+G~|YTc5TQX^o-3m`!?~}+*N*oK_NB&;Ck&2QNd>8`s~R#wn4qTftWKu@?>zDJ zu3L?Z{lUE|{_NMynn7<$W0I3ofvD7Je}*aL_3cqd>F|rQ*4X3CS8!R1tK@|0V-?Y& zJw|5&!5qZ44x7uS6;lf9ll)21lltpM*PJPq9uZb&d@m*Bunk##DBIAAefM@ZEiMp|$I@8NE==icw3;BQ zweXqXQ{Kr=LCek{eAK?4ub}ZgpC2jh(u$4IzL@t|c(8g?LxtpVIXgma>}Z;BHCcEJ zabIljtT=vq#yv3WQ7Gjsnla;RwmR46U2Ym@S}KR0*b%CIH@>agN{ZZOIy*y!-M>>N z2vC&Mzs4f^+V0BE?Rt-3i9C}p$U_;ctOCdH%%qKB#Ju8=_3_4x4W;jz7mow|0l_P0O0S0a8L!S(Zg+;c{BO6Z~#X=&zd!;dm3EYAiv9aEKhq;4FI zDks(?^?1W)iD8l9*ofL4u*=rWhT2>C6BBjV5VqWCrLu5p3WC}-yi_=lsrR-lic6Ga zCW`h4#9_#N6<{48jZYnYj&jb_K3}cWS^MQ-Y4O(?4WDTo8%^w+?3PGyjEGypf&N5g z`d-2~g5-I<^r*j6Vh~<7`b9R2NaF9dOApQNILykfx$4qEOp}*!11HbUhM4p62?((! z^`Ccgns@`YGDluYmHywVGnIocFH~K=T`xR7Gp^g@qMhq+=im2R>?XTdyeFQw4){pI z-DGU{Fqnz1ZGCU2eO6HMVXQUJTIc{^cu2CE=E6vf*xH*+bZBrSPYRx#cq&i%Okoz$ zUP+3xGAa6YWz%Q0o-vlL`y6?4oh97fd@ntVZ?e#pN-Zfx61$r4V$Y6SjJJ zbq)`@ygG2wcE>u81JsX9cCol8jd_O`G zy?QNKn4$S*VtCo}!_;SLqujTw)r)pi^C`!?WU1~2Z1>YI*9=U**O8I8fXU}wIk23m z7`2u@eEeHq+a4(3N;7m>KXrxxGc|26IDGy4Cs%sS#01#k+wVxDq(w`fy=IPx2)#B; z)!tgRUw=aYzf6cYCYvz8&J$_)e7WxJT*7P}abF??YcI9exzEnWuZ@_66ny-I#AUDy zx0+e~wcE3YrxsxjvMXs@$dHPm_pmiV2CTD6P7Si}1o8&@wK=qR5G;*< z?lUO;kit&ed@L+D_Iu0b^$#fp9q6VMKL;Jw97g(^J&*P^%y#d)lhWmT;a#Z@-8cdw z#N%~M&r52OPDjJh zmOf}9Udr*uMR?cKOU~a`>AW@yd#@2rw3!z=nSW?=I@s@SD~PD!HKTWePnJ<^;u+N0 z!Vh$xan!~D9}K3ishOgF5-K$bkBfmGqYaMb(6=7%fah%TQ-mw zTW<12Y^!_EhUgk$6VGYPsxZaqs{u}PkQX?7OSEts*W2;34|*^eWv!dD#NM_BFOXX_ z)$XFd-SEze=_~qmbn&3j?sgQ!W~L42BA|oo+F@S~{K?M2RpIx^wtK&gz|a4G zb^!Ls``oXaP8@Aqm`LFMUI(ArxYpqmvt8^-S96i13%FM03Vg5S_;X(L#u+u~N$DCt zIkzDFgt|uHF=s!OY@1dhZua3qwjr{ycRdL~MF zvebVXH(0JjN&T{GP3_N(ZRc<7>Tl1nFJ(uS`nk-}kxaNh=sT?V-sb-6&ZE;qrX|~p zGjw+|pe^+t?0bVHb8_o!4j)2nW^3%~*>z<#h3Bg97G3^IGqPO>iJiDH&4~Xuxiu;` zcMuqD5Rxm;Tazk4ZK13>fM=D~Q;FjWpod4(wzA*0dT#Gj&ied z>TDb-FDSxlKMD9u{uI)>Qq-!}r!9a()74Db#qnIU%B!TsmBpUvIUn3=R@@rGV{nRZ zv7rsltOXTP(W;g%&wo*^NRAfTn$lf$tFp7dI2$Lr-=K`-F|k+8aaN6SlQLTkXI~9# zFDDS%8Uw$DZ~{`Q=dxF=c~)(Rh|LTA{b>axD#btlyjrzHV%F0dy?uVK+LXzf-?{zQ z0~L08nQk2L7M4uEM0eNHBaj_@Q@k*mTnG^ zLQ{h>PwV9M?Z$0fv5K$m*6WkF@k^Q_D&-OUq+kDB(;q|TqanlDYGPm-~6eL_sC zQ?orKBarN?rR=NyTD?j2ffU`X?_dvHivsPr_xK+RKG{!8+aoyl&GF2&v_cs)!Nb$o zU;WrvHcn1;!1P2 zd*PQKMl{+&^j=eI1zCN%ohl{5IYyv$1R!{Qlsf~($=*5VfHT*mD!XSLe1JW6hOW#Oy zkunJghzJ|=5c=XA!U1*1+Qe%0G~pG183bnOi!<&KvzlMmbRUS2o#2>jC=9Jkgqa8g zI)xYt>6l(fLP1Cpy6N*-2RsZTA$3HC_Ag}8I$gB7(h6P6u)eGYH!a8!w+cp5(Ybwe z@nyX!gCH1WQV@bVM}{+%Fp$1EczBja_6QL!6D*f;qANhye}_Z{{ddTVHFID{*UP^` z@;-$u)tmn-WEK=MsZdxSqFi5&(nK){n6nj)H3s$u&0{pOaHMh?lc>Qg`Ut$8ArzUY z!7W)J;#y~l3#}-Kfdy1Zp69uQA~#TNMXBAj#n&$oLV1`Oi`1d@V28FLFd$C9g=_dk zcW*;r8eTqsffxyb`4!ncIpq+)VtU*v`5U!SyU3#)*}o06e>iXv80%340G!z}g| zo!V7~DlRE9TfX!90xk1htt||SiwWF)FwAB8Kw3Y;9}nn#Oy)qnRucfhFd*>LeaOo4 zgWOr7iILS+p65p~Zd9Tm5LWp-(N5TOLfd9xAjGXihaDmiWZTI7FeG4TA`p7anX@uh zYO!!W0iv`l{wu|(;jm3iiQ=+(9_?BX15l!kNw+vcVIU-6eC(jtIE7xr6}pWR)+jLP zbL}>k7}(FNoIxm_REP>i-{V*sRuVZ=OPc;;lGDwSqlQB{gHT;fb_;g1VZ2o1Z4=!{_WCF>A54USBP62#)XclS4>NNBezI) zCJa(!F5)(K2i*V3M_L5Jh|+~oTMJVBy%~WdAV$`(2igC#GB#UVFisS*|8OikufY$k zg>qz2zkD2QqjO7qaXs#~KLh6Te;zOZ0qL*NJIBYTJ7C>6ZSxhF6>#f0f9*KECiSO- zfNn^JN5;>4_A!Wir`xyceI--&d2367bnG{b3xk@#ON2w1$V?1Jo6t`D{UkI&H~?}S z3`)!YW6*!lFSj3s=$#Jn_vr9o>g>j}_CV-;%7#~?yb~{bR}*_r8+&(`(T-BI)(A=zZ`LLLVd;sQ`|kD4Ngc(i7M3lHsLoen~$Sb@^yU z-n{HRa_v7(%7>3&rDLX~A7kMfpKf?F@IkKGo43Kbn7bbAKCgfAi>+Bzzj`dasf}tlhz`^~IGp6Aq`pQngc1%IrztNoUX>&l?J%qi|LtdMw9IdM=V5&e{C>mVmkU z2*ew@NXZ{U>+ph3HAo(M4 z`>mIVfTj#J=)fnC3e9Ro@M@H>6Jqb*2P@t*eo29yN9tK*k}_CXn41`ASW+vJpz6_# zJ_H~t1V)~MGYQ+irN8;IiauypE-urTKIxS7TFSLBzqhYUF7@YuVp}xn?K!_SbE_rG zHhs$hL8s0Wk|RK?a5z&?YYWmz>4ta0Ib;;n<@ku1Snpp!viaW`;aXobl)!jAiWixnc-* zeo8Ox3wxl2*~#51sHE$cfqA|KjF!Ktj z(Zo^8-ZGu}W8JQKEGG&ux^ORl7CfadaQT!z*njT09FbdwU^axuAY!QGR3B2$MG#tL z?tr@;h~c$fp{Rncf43nba?K+o1P>-fq(xlm@lw0nN#nfFC#(!{hfl8D^4}bk!<0Sy_ic#CvB+Cd^8Al!S@ExZT5QOLT|tAy zPwh@a9MM_8^;%H%qGO8y9+jWkk7=01Fw_;c2ZBo!x4&RiZ#L{BE9lKU33~{8;DO>& z*OD&oU7Jseqb6YqSp?mQI}RYPuMgcxT;+G+5=mv>sihiDD(gky+T?Wwf08Tg3dY55 zHyx(P>&m(cybHMF1Y=jw6Dt|qnoWr&r)Kh-gFkvKq{e4?&bOvJTK*|{p48eACY^Jq zq@n!F-#XsMHyc<<{~sh=3pBHQhaX=QQk3+*{bdDO+8-;Pl>QCzR0gyH?f+rL zh~Z)I@FCPmXhY(il{dM^#N_Qd?(nKrk0E^PXCDx^>bN)hOslz!DJvf7s3u$6c8Jd2 znXMn_`cvy~96R*@PRV1{1Pk6ATz-2{D=UEEo5wCrjdY-mqDkKnvav1hnVZrF9_y^N zL^Pq=8@6+Z#QIp=1>i@hr5^9$*u3w?Ma!WmxuPTsO!4{|jVj_5ng^BR?|qO2rAc%b z?Dwg3MAKtg7&c@x$p*KGMtl*cfQbaFBK%;X!SFdHe{uTue2k=q3)JYfIN>6H$wEkt zH*D8NQ{3dGrnK|oK*aoz+m0%Zb#Fd~WNXPgxkzUM zkp|7l1Z(oi5RE^m_2TplwHQqe7e;?jtNb>HyLdWu7)KTi1BUew>V&p1T_@v87y`}^ zZWxD_-*T)Xmv)sR4Rk=c9`7l#H8!n32Zl-q!wS3Lf4C}|kLFi3g4aVCAxK3NIo23U zLXv1YMT3a}#h_@>u7o9jsSi+d)2%|mWBsG338a#!(5^+JP-zTKx!YxqWQDn>x4z^_ zy>vJOGX&HK0Xj$v)tZ}jh$jhSpLj*6iliJsbvxdQ)BM9^oJ0CTxN1+-!ea(EpHxq6 zZlWfV!$<@Q7(5!&;L&(#8q-=un%Sr#6_IxcH$>V%Zh68kl4BYPdSxb=9m3Y^7$^6rDn9`XO9EP)Y=c(GgX3Ua~Hh^-u`B5yB8IL*MymSti3u z89LI43KM}#7)O*|Yst3L|0auzZvEb)`&muhU%Hl<=AGS6H}fp3U=Lxz*GBck`-b~# zAU8B~xj{@9OL?mD;q>?r=210<+Fi)y+e%QkK*eXI=Vl3K-Qj@>#%j)Q^becfqiV@X zF0h(~9iq`B&zA}7?qc4rW+By%g$V+PKMynD7ksl4tv7R8=ib3->V#@C@+3GVHPO(U zn7wdd8Swukdrd0nJS-}#R3Zq#3@lEB!b|BPuCIVtIH?&XqO3OuP0|QT(1cvkFvgz} zR|?JifEe+aDh)wY@qnycdH6iS#G^t|F&_$W!1LGLGtRP;6CCdCDefD#|O@8wqdzThCUC9L$d3Ljk3rK=A4qG)R7k^(^(Ry7 zy;NliP=eG^nUYE_Qf8r6R+b$8Cu$MwKT(MhLnw%r>L}9?RQ_dwP94yK_)nOBEST<$ zNPH%KSc}{(^F&GVR976%TI!6Tg)-e%RjH@?SyRv*l!3M2DJfHT zAmzjYiT^>F6zrdrxzlFNZ1jdR3^*0UqGQSBF?a;b^M6H{F7UF6#uyp%FiH?*WnfY@ zz1mLJslTsKl+pSgD0Qhcc?hFUEc0WVLpxnbGFUl9DIP-39}=0{Bb1&W3P*qDS_|GU z+ECOMvct3^S5)guFNie6oWqse+|)0+X$!_eM&}x_u6f_5@hkmyGlleV>jbJ!AT#Ew zhA=4&c8zwKn~bhA4+2VzM13M70!6HJHcll~kcZw$P#C zWa|H9+CcM(ohem7bIs49$3y@e*_Jo{ZANmPGAcXmtsW`}4~FZ7pB9Gei_k^=4}?9a z-S}E`0@1<*t|{AOyUTGwY1(avL`RS3klY`Y;ElnGm(f9k_YnxDBN~$2aSjvrX^7(B zwI+&=a8bgf%hf^`O6j(c-&3Vb=;pd~wzUkw3oNak;e`gyMAfv=D6-s9gB8cN^y3_e z_jE$G9Y*m{5#zvMOMmP-4iLltdiH}vjrr`+FGYcG$I8gGcXR&@%(njdubA=UTlrIm zh_KM80FQ++;6j6f=3x`eIBtxNcCJGOSMiV15ICSxauuLbfPw&coC9w>!?q->Il8>` zwwBQ&7CF8ocWOS@CQE1#coC2ikNX0BED4`z{~mVHv3e#h6fv3c$Y4s`3#SWNS<|PLi4APyB;}F)`v~*v7{b?md%kF2l46i-8E94 zSiEW)uA~|c@QrLM5ard*Y$?bmw(^?1bZPY=QyOsd3oA4mLoO8{yn6!%0e8h-`e!tf zkS40OH|JrTm1y}1q&Bh7z9-`lpZ%x;ABajDZSxS3RPbV~y3OEA*T0*ke(~FTh&hcT zn{)7ycz9_bB}EM5Cf@f86KN$y%*Pv{C|^Ty2H_K#>KC$7E!)V>Z4BcjKA+P~g>%Mq z48^2W@!dy!`I(Y4fF2Jm!yK^&P95w9Gdm)Tf7iJcCIGS;CXmL`yL5mQBlNnbG=y^t zJw$};o5vpTD-iTHlp1j>?u~??vW$NpY1ceVut~P&IB>qt`1cN?U~I)g7_&KwZ(mlk z`3&j1->*OfZn0O;Tj)iWh+n`c@0)A4HvGn^KTO)U!UTbV1pf}iAD%LE3vHtF1^C`j zz9FIxT;H2Q>M3lGvw3>{JRFlm)Y2-e3Xda|Cb0Sx8I-t{PXU);$I@z zp@|j)I%S_nzC`~5|An)U#E@7CybU59;p_3rUm;C4kOidgypqH7S3J&L^gmw6j#BR< z<)MEk!5`{p#&-aE_Fq!S{C^F?{Oy>~YkuV|G*!m%bCUZ>Fz<&d#NUo#3)gfRaOO4& zG7{Y0m(fPUIAh*IPicA`)Bhp1=BNBe5;H*|P`1)(?FTcQ1PWi!$Un7s`~M1z{g0CQ zUn0PwmsB42>@hz%Ddq_U2tbzl ztAY-e>DTo!TVac9_WpWM+O8WB6zGln>dLT7J*e0+r1-Qy&TODw6;cVWj#JY>?@+ZB zN-!J!?a3?EAqD4P&C-1RQQ|f!8v^3mX?F97vkoM*T?QOBbv?&l#U+CPP`d8F2)v{? zOFaaz5%^mcFHJ(x0Bl)i+|%FI!oQ8);x= z{tcrGD1BC%B>3}x+F8ez$Pk4z&fD$ldqF^G9Dp;Cn-SApC}QV8{p9!XJ@&6_mW02R zN3-w$&tRVcr92n&1C}9+Ho=Qi$_iNjqO%^pwMG!L_QTtwDjOT%9GZQscquo^=EK}) zd0n%(35B`K{?(Frk9~tJE&|{zm4A;{nw~et^G6DT@8XmqB;tR7vimLeV`bDJxToKo zGPd@HGNE1#fFgBE+Y#u2XbVCEmM!MQ7}>`O=UH3;Hepi$_q0PsrfY_WbZQ@v7<_3v z6W^`NWi+%Y9az?}56^V`#Vqut1{4~+Lq_KXd#gVr_p~mqB=__ad{Nn=w+6IeH-Rk0 zCz=g&0ezRRJ+k~ayCe2a+_2IOU?56jge^QLS9V1#y^K2zVzr@&In<8&&fY9EPGLHm zrR)^}To+3dLErRJ^l-)(%h&Hudx8MHqu-)PDdL3G-arlw6>0S(HPxSxRKSot zXQ@u8@&(MamFDi9uwQumoxqMn;qA?6sSfJdzOMa1V6!F>=4sF3ROO+8w>0eLA+l5C zu>^Nk02~spPCP9@3AxZw%~PjATtbM_hnNOBp^h}(M!k7ZU&QBSrR8TOEn(9u1E{4D zzVOiKSY$aVQM1L7A?Vq8q$&d7l0TfPJA+qDlhERyD1e9K{HzCA9-QICFam+G)nR`p z(yA;6Cg~>yZE7lAMS%Fc`yu8|YYlZ62iUdPI3X%@bRHe9Ki60A-YWN6N?ye1-PbuS z_JDyn%%|u3Jxq=OPG;z6Aw;KY8zx&2(N=Nh+*xQtmP`qr!3JS6n0*86hGP5`vb`%f zw(T0~@=DE;EQO@iASb1^Iqst(1uZfO+}F)J#^iZ2{VUehmoi|wD2@b77g;@F*pZHk z^e3dyM|`HXSMQti^0Hv)s5T=LJ}+TTNU0~GnP1M1T*BZq!r&(*PFgA_C;p2QC!1%J z9}hK^Q=Bzbp~NSU`JDMdq`|Okw&>wH8wG$_p#yq7B;yL1Fb|6e4-HL?7Ld}CM)2R1 zL`CtD)d8X|I5ISu-t2Da3kaf@rPfy}$UMP}oc zx;!!TJjG?hpiWwC$cIg_%_u?uF>zK+tb%Z%8EUj~%RL;Y!v{)dyfK=w@&v^=WrD+{ z*aC;4?))_&K%pi-{5lxo{a*w;b{h|qNMZT^MS$`MiU$K{+>t%o3rtL2mb^6Bd@O!3 zb3uf-l(3a3CM4)yyC^H~#4KxiwKIE#NrubW718I>9+rm;hapxEp7_la|h|=S0UF zv%HgBObBq9lCbj2djHnxSw&JDDznsH_K7j0H!d!+fimNIbA}3@^vdb2D|Kpq9)v9= zpYN53i2yj)+C<2PEzv9Sr{_NET4*ikUFXn7scOn+Q~L__VZu*xSUbp{0Xlebiaxl_ zVa0ruwnP;-z{}@EXNmx4#Ys}xeR!X+0=S-nxumJ)>auyD5})~v%;%xLvbUjCo5ue6 zrZ7Jn!fSnU&%!kEUlo!@ru9A&4gplq$g0VnB-42G_0&F6Acojeu$Z)YM_sm*tDZ-hkwdUbkE-$0JzQ0(@f_jJMAwT>e z&WBFDzZkF#0*0xXI!irCN^^(fF9tlDBQFsmlcos_`69DsPXZIvdo_^|F)byjv?fU< zfMxJTWq9Vq#;0_#mU$qO2{QCx!mPQ5^Dq=<`E5LmhKcTeK7C}7BtHbEW*ahn0~5Ux z?|9%9J?qV29eF1He+U)vWw|Rqb&^f#fP6EHw|z){`bjFWM{ShqZt!2~a033Q6G8sp z>TKYF>bPOL{oc+o{sU%m_~IPzQu;TL9VQO+{d$yK`@c!C(%;?rCT72W{Eu#og@WSx zz2G1qC$Rt3yUf|t#l_Oj{I7jh&1zdt-?`Cyc1jJ}_RL^g9Ayt^&dBSwFTX>!5iy=(mUeZCarZpa+v7YmD$kUK;FgDwY$O236fh4WN<&A>c|X5e zYV&Hy&YTh!!AxTy!0U(et>gXbK!C%5!73fp6Pfbp$h)mstvE59rnN7;Jq`{cz`C5L z{#Q8{8sNdXdZhR;LPJYI{K^m&QkeB}bL_cph4e}%iie?@-N`mvigwjn>&wprh6f%; z?ZjewYs3Lg6e?WoW8&a-CDSghcl~aXwnu>54~+VQsf(+@-6*G@O6s+kCq*alNhuWA zfmlQ7@^KLY4zGcQt7}-;opkk%!N-PkSuaxvd{pt6o_WEPFAiCdOpBe-aT)0F$0Ac^ z?$J>%loUjliv+?akl2}ud|BKek?|LssGnf)AftFZ5oMqtvac4SDe=>fD5B*ct(Dk* zi$-ipA8pMPg^F`3-xff4H*&Pqm>1_r=~U8Fzf25?}duvDn2SeO404NiQn z?57-EjihT}eZLWtzEBO^<;TE_=z}3A25Xnv2w`%i! zR3()c`Y1Q8)^e#0w>mpe9pJvEFRw#N@@g-S+|-8MbdXSBsF>y3dI0YF6=;_1HG?OT z9NZGe8v12@9R@wLh9@%a{R;_aN6^j1ocC*0Fot4iHJCtHXbiqq&`MZ<+Mb7 zI4`|bUDem1%wIaQEfHB%_z+zG--(t>Y_4&82ykh_B0C zvx)3={!8VkFS6_8rrb|C+hYCkEhx?_vu#w!Nw*y`B2&6kLJ+pK;v1v-X$%1>@Is5> z@lSeI$kSQ(fJ_dr-_bRLSq+{S`J^eo-fl+P(!+g^_P2p`3g3Hhrk9hW0)|M%z)0CW z8I$5CU}}juqT%8ZS{Pa?PB<)#3Musqu2uM&d%aI-Ue6I1V$1KP*J5=C^q<=+PqmJe zL4Yl&T7W-)`s)7Gg6gZOk@A0C@X>SqR)fs&Aah||JiTP3Z=H6ce!Lj^dof3c!U~;4<;Hj z;}S0EYNJT60`dj%OIY*}sZlv=gVYH!@KMR*I8k}{1Zx`j^LQvm=TvqYVH{60k(-oP`nk7Yhei#hUtm<*p|%#hEwPhMKHy#(Np_b7*pT$ zyLTd!qz6gv5Prf&+a@K)F8YG^21blW| zADXKp0s?d~38wY?$%gG6u8x8~n_1}(}0s9WC7#i99)s1y4rQhy5 zGycerZxPg~S<*I%&FCn!BOy(bhztT5Qiqg`y{piDWpdSEdDe^w#BYNqc3^AsOenyrE zK-)=2IofPt(pog5Zc|HX&#t8WJM$Vx9rd233n z5ye3;7j~W=3DVZ!jOP&+2_u3Vr%oz~y~o?VlT6MU6Hv(#y*y#-8MdJ^W=Jn4l*FoS zrg%Kcd}NJxdWFq`E154^W^Kmy9HB(#%m;B6Ce|_>aGZ&Pg^EPFzcDgqr>~(lGn2u| zV^;F+GXg~_U91wtf)ycDDDQB%k#}g^d9mJ)EhF~e$w_NLV#c0PO`c_;h-_RDcq^T0 zAeCB4e;N@Jl~D$|R@Fa4JJ-7B26;7AZm%A&R9dg=AIx(WsBJe=0ki6)FJgA6dIMIv`}qA5#?`YMp|+-6hl{^$@S-F_-4m8A*Vx0A1usoZ z%~9)aoSVTT|K0(tY;0Uxt;_YOPscRNE@$}cY;R+65b5IfzI2pH|3eXr^Jy``(w&PI ztAhz`A$QmWX)ta(-q6)}06}ODWYshp_5%X>b1O?HcLAlPs_;c|blAdJHkCyky+yX2 z)EuJ4STEdnqjzVPkLI>s{i)tu0Xtdv@YmTpN>r)vstG)155Bl9%exf87QI~+1Bb)@ zlzV{`<7TBG%ARrk3 zJ|$f&Ol?h>{yMV!)!|G_&VGXvyXU7ma>wD)%Z6)2huG!X)k+BhYO6?Wlc=^0wIcBu zc@M&sW1pYlR^1@nWy@e)wa}-_g|`elf)>P6eQcWb2x>*A<6*h)6wsrj&-~uK`bsy; z7omipzr!45-=4INlspiKcS;bSMz5N^0^f&MaCgC85XqM$u9|7~tygPx+u&+pusmQS z+h%L~T8`jQbZC;>7(z*UMZpgz+fhsj(eL7;We@|Q6IRHIt=c!~J&=E6-sFdVU)h?6 z*?@sZFLu2G195&Qj3?^ZwW7ywhTUi$%ubY~%Ro}+_DX(M{xwzFC4;>dT4X!^M&QXT z6gmI~;Y339U5)3pQJO_UiYy*ol)gZA?r~5sn^729T4VWa%^mw*_2uz#GSkwsB7+_B zMz41DN_C-=YHzNkSd8u&{n4j#K}sqPY?vJ~!DTYqX-hIOxgnR~`zs}w^gh2FEgy{5629p`^uoS5qP`#h zW_tH|q4{<3{MA0kyBTCGv2Vxs<+4@3SH}-oYUrXi_w9Cn{lZ@0<35y1tPKGwRB98% zD=d)j6y#Dto>sq!0=I!89~^6+++~o+`BVgwG2k(%vj19^#9z!0ae=@gcic!jtc}H^ zjHdabAzX4aC8X`h6W1tGX(7LA4Wu;*TWUk@^%kssjU0B(-=SBb%8oY3Gg0UmmvOV` zf>bWqmb4HqCO#HI!Px~VpY# zArF#YjG0!nTM5mM!X~!y<)tENeO|$F8*vNdCW+Usx~GuCo`ySe0RsD8tjfe|B?TG+ z6(@C`DKWwC`(Yii@fr1A6uU!Y$6*SF+$u=SJTuR~t_iC3-kWsF zY}h2f0b1f$cLd)0c(+2D3=JDfe{Xyd>Zo+3alQ$iU*g;w+7V~T0K5T3Vqh7Qec)ELRN2mY0l`K1lOC{B@;&h7w&gAe;Si zm@c0pNh8;YYf06Jih5YaEC>0_pEc_grS6nPh|)19JgS*m=Tq#~Qdq`Zo;vrlsi3-x z`ujkDec4vT3Kyo!eqdlr^L800y}@9fZS*05gwG>bJCS-dN<#fki%tK+ywxS-=+Ah& z->%LDrQp>zS}E2~Sv6=2P*IU`V_RX|I>{}Jw+JN_oaYl1mCdS_%UVlX$v;&iPsfq> zEZD!aFpGN_(KfrX8`E~WkRormW`i@6qqTq+yPhlZ@}^CKYr4MonfRB_vZ^xO9D}9! z{ID-`-uog6hBX5RpzGZhby<%JJCgV6&%2vDm%T-A*Cc!~v z45O_Fz=o*cZeo}Sk}>W4q+|0ly=yT|B}omWA&mwc1Fpkm``gqiL${{-@j;5GpCt{J)z)~8EvcBHTdz_1J*k# z_ng5vIjUAy_S!yryHQtmj>;93^L-LRcRlA-X&sTZ1sQDR_os3diacdoRq-Iju6qfO z!Krof1P(pm*fNRf3VV2KkxpZ#_>lEg{i-Ojv>O))kr0ccwKS`jwyh$6{vfqd7&$Fy zd`=-nvF7=?V^ftKL`oOd973`L|NN~>QrWn~2SpFiJv1rF5%+AG#tVu-Bn`_o4+D_g zKQZEu6A8~53ba*|=0_@LTb6){_0)8VGDox=+7Tx6%N7wKEh;d4S}eajGC7fKSes+9 zw&hvD3EdOIVN*{vj?r{UKPsm+L);-}GN6J=CyOzmCWj}?7BgZBY0+<&Pi>k9%S}-~ zUZgO-3G${zOuezZ9KLzY9oH*9$Tz6t``AmThjohOeyi2}1^v%lEXR*`wG{Y)2L;St z(SW~=U7cO*Z8dCdm@HjPZU6e%tB$IN8(>BU`ROAzo-kg*8-~89giM8!4_71g@*OIn zE1}5fV>_&O*Zr%*=&`NbI~Wl=FQ8RS%Gm+V>q;Cz^z;5$=pH%vB3KwYs|MLZ*<3=? zwap!pL>?TAc6=QDK!*i$2|_Ih%-o?I;j}so_HE1oyD0#zVmKhuMm@!gvY8!Mg6Y_j zqIca_jR0E#<%O{Ziret2njvS4BDl5ondEN;U^g-LPR znM>`f#~G06Rnv%5CWCl17>#pW8?KGa=Q2Cq7oK}bI;oWL#mVjsZHll7VYllYGr9r^ zI;{Q1m}r|iQH{AnAJgjDBl?eV)+A?<-__()Wy?F&1m9NQ!2UU)&7HDxdqBZPK;hW` z5dKH9f|I?2^IxNy9anD`$c!%bwP)aNf1D)`!U8=^5`@NjSz4FC-H*bCY(q4<;@wM* zm&17UYmLkGG9SL+QIMTM)f_F=JS91dN+n-@NLE)b2RqpqZw;@2B_vOKAjK#tw~O13 z<7o9F6eA+}9pO>>^zG?pm-$o+nWP<;C)ClP9^QDi;B=qMP9!Gn79(nsu_HERm2Q`e z&loJ(4@}^$Qm0o{F2@X0#V;4m3v;aN*QYXRYV5ZAx|+H2ip>nYjwr-UfR`)p;O&~j z@apa1un)wphzs%ugJ1mHEMDvlr4!J?MyvH%_#E^eOll_WVxE()ou5P8l{dB2^Rhjc$L4t!W98sGFl>T$YS zbBGzp7>fuvM=4nQReCy}Z@-?Vi+C`;ZUHs~A$KSxI5%Ui!n@UUD$rgL)%WJlRuv$hmm zvZZOY#LO|o|N8Wu?0Y_3~IVG)0I{Y2| z@)t5KIYz}O8gh*OPcMqY0{$CT@3p`kxE2)mXNQ?%a7w@FM_47Q4a+Zr=!S()xp{X4 z%#2DX=0wFbwrq*DFW&7vgwu0wH`edg-3v~bhM_3y&7+5Negn8&bUs8PuYNZhT{!$S z>ZGhci5`w2^v8qmmXa`{n!OXMNbcQLNv-LTa$kKIfVJ+P+q>?*k<}B8?!Ni51KqEy zt~+uV>?OtoWtWY?`@I{jr#~E--3<)B&*WTAt0`|d1(|%7_U-~^1!F7b-H;$4LBt>+Sil(z*tq+zX$rXV0$!hXhL$#rRt~1-S8CP{XsYM}onBlt zw$sSe4Cv4UoveLD3}5KLI4!@IBykoo)H;SpCCZ^?P#S(+OaWxazkoc3@_T>OqpP@N zIV#Kt@G6N3NkAiiLdPBHVvEwK`0?T#>m?7;#)y(K)-4vfx4K_ z>CMrH#$Wsp%^@)g7@JO7t?Wv><4tB#W#<6UIb}rlUpafkwUXqjrJB^r?^_{Gj8S6* z1e|`&v|z$F8oNM(kviKR`W9Kpf*fAU1@*(FJl_-42(fyLDuu_mYw)T;l`J>R+gGDS z;kU`5pct-IWSl&tL8!-Yf|ly+_QrXoW&l50`zX_fwb9dxfv#yXZ|arJ{~CvG!7-EH zcPEKfvpt?T{}bmoE>n3v8>fxE-?)ED#4phio3A~6)~ei(7HjRYmrAt@hwnNidt&p% z^}^2Qv`o|21#?WXy87eJy$x?Vo*wwh&OB8#%O^=dWvSayz28}fxAC1c$m~XLNw-fT4q1DcQwztz;Fxc z%Pk&ahLdadJfFa2G+ktZlflHFPwb5PMHX+Ja7J>*Ymcb;>q^TM&S`Zdgsh6@nfCSO z#5qT*-ag{m|NFq?=j&$4?$S$FoabM}?r@0j$kfY|U*Es}?cWKP9=S`U{~vy-%?&8s z{O?oxkGg&A^Y{Ka+0tZxaQ>0i;#~&Y8zu!R->XyQ*VJr&BDL$|w1chZ?XI*=DhXfv zf_L3{zlsd?maS8#Yb~seI+SIX_3!4LhVx$@i}wWUt%>y!dKi^MMCiBa?rjb4 zp6+l;zbyK?>%fxPtF*5?eRWE+|M~LSP5Yc`Zmqjj`c67TL1pEn*K^jrvDy{>@{QV2 z^+w=5#YVOnYZrdVx)}d{vTtSD=bT`{x>YQbZC}hYJo|);#iz^LsIy6>!?!7&?ZW#7 zRW9)*TKCP>K06#z(`T9Sn|od)yYRNBf(_SI8`jL^jOLrysT{}hV%F2X4&RN&^Aqk;7hUYGhYq{#0$IF(_t9y3y`Mmmt#iy@LkE=_)y?XuLpVw|%->cl7{d`@&-M!Bz@74ac z|NG|j;rOpImQ`!MSKNP@f3D{D-S2n-XZK3cy&_SfHj`~Qnd4G-{6vCD|P!P2JM zqFfave%LIyapH%^MWu(k#9qd(ZtFiEJ$X{%%?*{+-zRYXJXfsz>WK5onZoJce69Sw zgSB>VJ#_1Ta4K`F>MJY0moj-4%IPgX3!ZxMm2BW&*2E^2v7iwv@!z=P+adb^Z$>5& zX3+3B2gBDH<`HXymQI`sY@wb4j=6!l9Wc-U6k}kBb_Naxr{*IS|x*G`Fn_Quf-K=0@x47h<}0Jd%~ zx>@LbM}%1yo6#ME=t-iRg5K3anDU|p8Y(CqFLeFr?Lmb8<_@GRhT1v|@MZ<(AW*In NWJm;NkJ3I64*<0hTc!X2 literal 0 HcmV?d00001 diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/ForYouPushToHomeMixerPipelineConfig.scala b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/ForYouPushToHomeMixerPipelineConfig.scala deleted file mode 100644 index ac529f582..000000000 --- a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/ForYouPushToHomeMixerPipelineConfig.scala +++ /dev/null @@ -1,74 +0,0 @@ -package com.twitter.home_mixer.product.for_you - -import com.twitter.home_mixer.product.for_you.model.ForYouQuery -import com.twitter.home_mixer.product.for_you.param.ForYouParam -import com.twitter.product_mixer.component_library.premarshaller.urt.UrtDomainMarshaller -import com.twitter.product_mixer.component_library.premarshaller.urt.builder.AddEntriesInstructionBuilder -import com.twitter.product_mixer.component_library.premarshaller.urt.builder.ClearCacheInstructionBuilder -import com.twitter.product_mixer.component_library.premarshaller.urt.builder.OrderedBottomCursorBuilder -import com.twitter.product_mixer.component_library.premarshaller.urt.builder.OrderedTopCursorBuilder -import com.twitter.product_mixer.component_library.premarshaller.urt.builder.ParamGatedIncludeInstruction -import com.twitter.product_mixer.component_library.premarshaller.urt.builder.StaticTimelineScribeConfigBuilder -import com.twitter.product_mixer.component_library.premarshaller.urt.builder.UrtMetadataBuilder -import com.twitter.product_mixer.component_library.selector.InsertAppendResults -import com.twitter.product_mixer.core.functional_component.marshaller.TransportMarshaller -import com.twitter.product_mixer.core.functional_component.marshaller.response.urt.UrtTransportMarshaller -import com.twitter.product_mixer.core.functional_component.premarshaller.DomainMarshaller -import com.twitter.product_mixer.core.functional_component.selector.Selector -import com.twitter.product_mixer.core.model.common.UniversalNoun -import com.twitter.product_mixer.core.model.common.identifier.MixerPipelineIdentifier -import com.twitter.product_mixer.core.model.marshalling.response.urt.Timeline -import com.twitter.product_mixer.core.model.marshalling.response.urt.TimelineScribeConfig -import com.twitter.product_mixer.core.model.marshalling.response.urt.item.tweet.TweetItem -import com.twitter.product_mixer.core.pipeline.candidate.CandidatePipelineConfig -import com.twitter.product_mixer.core.pipeline.mixer.MixerPipelineConfig -import com.twitter.timelines.render.{thriftscala => urt} -import javax.inject.Inject -import javax.inject.Singleton - -@Singleton -class ForYouPushToHomeMixerPipelineConfig @Inject() ( - forYouPushToHomeTweetCandidatePipelineConfig: ForYouPushToHomeTweetCandidatePipelineConfig, - urtTransportMarshaller: UrtTransportMarshaller) - extends MixerPipelineConfig[ForYouQuery, Timeline, urt.TimelineResponse] { - - override val identifier: MixerPipelineIdentifier = MixerPipelineIdentifier("ForYouPushToHome") - - override val candidatePipelines: Seq[CandidatePipelineConfig[ForYouQuery, _, _, _]] = - Seq(forYouPushToHomeTweetCandidatePipelineConfig) - - override val resultSelectors: Seq[Selector[ForYouQuery]] = - Seq(InsertAppendResults(forYouPushToHomeTweetCandidatePipelineConfig.identifier)) - - override val domainMarshaller: DomainMarshaller[ForYouQuery, Timeline] = { - val instructionBuilders = Seq( - ClearCacheInstructionBuilder( - ParamGatedIncludeInstruction(ForYouParam.EnableClearCacheOnPushToHome)), - AddEntriesInstructionBuilder()) - - val idSelector: PartialFunction[UniversalNoun[_], Long] = { case item: TweetItem => item.id } - val topCursorBuilder = OrderedTopCursorBuilder(idSelector) - val bottomCursorBuilder = OrderedBottomCursorBuilder(idSelector) - - val metadataBuilder = UrtMetadataBuilder( - title = None, - scribeConfigBuilder = Some( - StaticTimelineScribeConfigBuilder( - TimelineScribeConfig( - page = Some("for_you_push_to_home"), - section = None, - entityToken = None) - ) - ) - ) - - UrtDomainMarshaller( - instructionBuilders = instructionBuilders, - metadataBuilder = Some(metadataBuilder), - cursorBuilders = Seq(topCursorBuilder, bottomCursorBuilder) - ) - } - - override val transportMarshaller: TransportMarshaller[Timeline, urt.TimelineResponse] = - urtTransportMarshaller -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/ForYouPushToHomeTweetCandidatePipelineConfig.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/ForYouPushToHomeTweetCandidatePipelineConfig.docx new file mode 100644 index 0000000000000000000000000000000000000000..6b8e666483527e93821c500b45a6f17bc25cca08 GIT binary patch literal 37564 zcmagFWmsIvwm*z(a1HM6?hb(jcZZ-s8wn1L2X}XOcL?qdA-G$RK%jA#e`jXSIWy

#{m zn1W4%N1KJi*h@g$uF%qOeS3PGD&#_Q-IQJD2j3`T_Tsvk0wTliVCH02^oDIp^o>yWKPb2Im7 zlk<50IOm!7IiJsa&i8rV_k2I!&ok$Zi_eBTXeGxKB9)wP3C}CPGLW}6-hVb$akoSR z?8{j?`g%WZg$Dcs*HvL*f|=PYbdIh3RQ-5~V<9VaFa7Yi4r&m633FGW)9|R(z-2ib z*2)#a;afR#{k`+O{`q4nbSSbEOQGkm&*XatqfxPa0c4x=l|N-QA(|bzvrCg#&-IBMK9#lT>(Ki&FYUaxU;T?2P)j zq1%^B+!}?sr4r`RK(-s^eGU2k?dWt{rb&KpU?0VM#-!6p^3dRO)O?w(Hd~+$inOmC zE%Anqp4DWH>t_TW8kDM@E3?4MxlHXYe)hMW!7i_uHIlMdJOkc)RMH;YcEUPPr6jxS4{A(Np^G1$ zEsBly)PHDuaCnolYE#X&H}%54?hbiUP@KaNjW*q|-aVW=1_!o&#maAfjjiQ_Ktkmp zkS)N91#H~?ZJ7d;7cf6P9o;#V*>=Wm2tX8it*k`bp z`+!^D-Q)uW`)JL2G9g^6!{ zx(hd_bx_=%XYTDlfuLzyCCO-UTUL&hsA8;2n7+^)hc`477>)>R&rCkJ85v1HBWaLqIup)I;H5~Lfr zp(^hQ0abAklO1n4H2LSiDhNUH5t`*Ir4uS3vs~A#lDY8MPPP*Va`qrx%qi= zPjOB9JSs)SLR0I^UZ0GZhG}0ye8tY(^J&gBlVKdZrTGsDGI{)3rmKn!rkN!oaB_n2 zBq-)DHPI-VHgpDGm>0l>ftL*IN!4|#X`24qLOwS#FvP0dlk(xyEG_IW+kWDg`t5TWlAa_0pXg|v3S4;qwG z7GcXtnwnB{#aJj0NO(_BNLmz`KoBBOmna3^#*YW4p{`*fTS+61YN%59w)e2JLS$RgVf{3Ex z4d%A0xzvWR4s>@|BHprOd=s_fjKAxi(6W>?rMw{PMjRTq()-ql;laSI%w_Bs=~M7T zRNP>b`u~|8M)M;oGFhW&<|6R+o>8bRmY#{bevQ^GO-l`cvdSP_H|VN;stu+dTiw&0 z|99evhO?B%cz6>W5rQ@@8>e_A^Pwgi8w^W@5obyh(?~bJU(Qg?LX#8>vT;cSjnNvCz($ z+X065c%?yYQ}k0>7zBlRed?%xu$f#*cY+wqQPjNFVgF4f3&tb@eY zEE6Vacvz0{z5K2if4d27?u!gj%F2Kg#g0LqGvS_s8?yDw%a&>(uq`jlcAO)r_SV1b z_3v;xCNjGj$uHv7a)DG9ET=|v@tFSm%@v7W_yMXz&iK3GEQ^9Jgu@+Q1MYwJADp<-9>^Z} z{1qFb6EZYRdu;pVYn&b@-%qW6Q!?7s_6={iLa2Oz^_HdsX4eyD-~0GAMN3ZD7Kg`m z*d!%7_C6pGKgSC$xBJRZJ~>i&3xQoUMwu9yDOHy>_HoQyc)}DWQSb>FPaSz|=(5+y zDLDRt$XzmYo9pfC8y+|sk&BIbrbb-c;ykP6aRJDubZx7Wb9WL_fDE+-sJX4mj-QPL z^g$ptM}T6miznXRoZ#i+YrC4Afe8pmBmE`dQU*{*hW$hXXA;*_fZ}_O|1Gr#10%y> zW^TYGT>x;^ocq~GTw_4buXm5r6`yaFXfXU^fBzO10Qca9Ktz9HfisCK1nBt%cl7ew z=&rktcHTwz)&*l2452S0ssEwzmsej z1xm5xpD`*Bh@Ax=1c3f(BrazlDBlfBJi)`|n_UTx0r-QGKhY#EnZxVApwCN!dB8sD z8V}{_PoCdQ6fhiYysW{A0YBg%8wSh(HX_y-N{Bxg*4YwZJh*DShSv}Nfd|)+!4zQq zy+)xMwxJpa6M%*88i82&?*tpkUN9F}JFamFMf}dSUP*#kz*1|CWoP7%sH_uSU_3Y< gT*KGI{5HkbXNRUne83D^omFBGM__tT6IOry2bUxQ{{R30 literal 0 HcmV?d00001 diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/ForYouScoredTweetsCandidatePipelineConfig.scala b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/ForYouScoredTweetsCandidatePipelineConfig.scala deleted file mode 100644 index d7716e190..000000000 --- a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/ForYouScoredTweetsCandidatePipelineConfig.scala +++ /dev/null @@ -1,155 +0,0 @@ -package com.twitter.home_mixer.product.for_you - -import com.twitter.home_mixer.functional_component.decorator.builder.HomeClientEventInfoBuilder -import com.twitter.home_mixer.functional_component.decorator.builder.HomeConversationModuleMetadataBuilder -import com.twitter.home_mixer.functional_component.decorator.builder.HomeTimelinesScoreInfoBuilder -import com.twitter.home_mixer.functional_component.decorator.urt.builder.HomeFeedbackActionInfoBuilder -import com.twitter.home_mixer.functional_component.decorator.urt.builder.HomeTweetSocialContextBuilder -import com.twitter.home_mixer.functional_component.feature_hydrator.InNetworkFeatureHydrator -import com.twitter.home_mixer.functional_component.feature_hydrator.NamesFeatureHydrator -import com.twitter.home_mixer.functional_component.feature_hydrator.TweetypieFeatureHydrator -import com.twitter.home_mixer.functional_component.filter.InvalidConversationModuleFilter -import com.twitter.home_mixer.functional_component.filter.InvalidSubscriptionTweetFilter -import com.twitter.home_mixer.functional_component.gate.SupportedLanguagesGate -import com.twitter.home_mixer.model.HomeFeatures.ConversationModuleFocalTweetIdFeature -import com.twitter.home_mixer.model.HomeFeatures.InNetworkFeature -import com.twitter.home_mixer.model.HomeFeatures.IsHydratedFeature -import com.twitter.home_mixer.model.HomeFeatures.IsNsfwFeature -import com.twitter.home_mixer.model.HomeFeatures.QuotedTweetDroppedFeature -import com.twitter.home_mixer.product.for_you.candidate_source.ScoredTweetWithConversationMetadata -import com.twitter.home_mixer.product.for_you.candidate_source.ScoredTweetsProductCandidateSource -import com.twitter.home_mixer.product.for_you.feature_hydrator.FocalTweetFeatureHydrator -import com.twitter.home_mixer.product.for_you.filter.SocialContextFilter -import com.twitter.home_mixer.product.for_you.model.ForYouQuery -import com.twitter.home_mixer.product.for_you.param.ForYouParam.EnableScoredTweetsCandidatePipelineParam -import com.twitter.home_mixer.service.HomeMixerAlertConfig -import com.twitter.product_mixer.component_library.decorator.urt.UrtItemCandidateDecorator -import com.twitter.product_mixer.component_library.decorator.urt.UrtMultipleModulesDecorator -import com.twitter.product_mixer.component_library.decorator.urt.builder.item.tweet.TweetCandidateUrtItemBuilder -import com.twitter.product_mixer.component_library.decorator.urt.builder.timeline_module.ManualModuleId -import com.twitter.product_mixer.component_library.decorator.urt.builder.timeline_module.StaticModuleDisplayTypeBuilder -import com.twitter.product_mixer.component_library.decorator.urt.builder.timeline_module.TimelineModuleBuilder -import com.twitter.product_mixer.component_library.filter.FeatureFilter -import com.twitter.product_mixer.component_library.filter.PredicateFeatureFilter -import com.twitter.product_mixer.component_library.model.candidate.TweetCandidate -import com.twitter.product_mixer.core.functional_component.candidate_source.CandidateSource -import com.twitter.product_mixer.core.functional_component.decorator.CandidateDecorator -import com.twitter.product_mixer.core.functional_component.feature_hydrator.BaseCandidateFeatureHydrator -import com.twitter.product_mixer.core.functional_component.filter.Filter -import com.twitter.product_mixer.core.functional_component.gate.Gate -import com.twitter.product_mixer.core.functional_component.transformer.CandidateFeatureTransformer -import com.twitter.product_mixer.core.functional_component.transformer.CandidatePipelineQueryTransformer -import com.twitter.product_mixer.core.functional_component.transformer.CandidatePipelineResultsTransformer -import com.twitter.product_mixer.core.model.common.identifier.CandidatePipelineIdentifier -import com.twitter.product_mixer.core.model.common.identifier.FilterIdentifier -import com.twitter.product_mixer.core.model.marshalling.response.urt.EntryNamespace -import com.twitter.product_mixer.core.model.marshalling.response.urt.timeline_module.VerticalConversation -import com.twitter.product_mixer.core.pipeline.candidate.CandidatePipelineConfig -import com.twitter.timelines.configapi.decider.DeciderParam -import javax.inject.Inject -import javax.inject.Singleton - -@Singleton -class ForYouScoredTweetsCandidatePipelineConfig @Inject() ( - scoredTweetsProductCandidateSource: ScoredTweetsProductCandidateSource, - focalTweetFeatureHydrator: FocalTweetFeatureHydrator, - namesFeatureHydrator: NamesFeatureHydrator, - tweetypieFeatureHydrator: TweetypieFeatureHydrator, - invalidSubscriptionTweetFilter: InvalidSubscriptionTweetFilter, - homeFeedbackActionInfoBuilder: HomeFeedbackActionInfoBuilder, - homeTweetSocialContextBuilder: HomeTweetSocialContextBuilder) - extends CandidatePipelineConfig[ - ForYouQuery, - ForYouQuery, - ScoredTweetWithConversationMetadata, - TweetCandidate - ] { - - override val identifier: CandidatePipelineIdentifier = - CandidatePipelineIdentifier("ForYouScoredTweets") - - private val TweetypieHydratedFilterId = "TweetypieHydrated" - private val QuotedTweetDroppedFilterId = "QuotedTweetDropped" - private val OutOfNetworkNSFWFilterId = "OutOfNetworkNSFW" - private val ConversationModuleNamespace = EntryNamespace("home-conversation") - - override val gates: Seq[Gate[ForYouQuery]] = Seq(SupportedLanguagesGate) - - override val candidateSource: CandidateSource[ForYouQuery, ScoredTweetWithConversationMetadata] = - scoredTweetsProductCandidateSource - - override val enabledDeciderParam: Option[DeciderParam[Boolean]] = - Some(EnableScoredTweetsCandidatePipelineParam) - - override val queryTransformer: CandidatePipelineQueryTransformer[ForYouQuery, ForYouQuery] = - identity - - override val featuresFromCandidateSourceTransformers: Seq[ - CandidateFeatureTransformer[ScoredTweetWithConversationMetadata] - ] = Seq(ForYouScoredTweetsResponseFeatureTransformer) - - override val resultTransformer: CandidatePipelineResultsTransformer[ - ScoredTweetWithConversationMetadata, - TweetCandidate - ] = { sourceResults => TweetCandidate(sourceResults.tweetId) } - - override val preFilterFeatureHydrationPhase1: Seq[ - BaseCandidateFeatureHydrator[ForYouQuery, TweetCandidate, _] - ] = Seq(InNetworkFeatureHydrator, namesFeatureHydrator, tweetypieFeatureHydrator) - - override val filters: Seq[Filter[ForYouQuery, TweetCandidate]] = Seq( - FeatureFilter.fromFeature(FilterIdentifier(TweetypieHydratedFilterId), IsHydratedFeature), - PredicateFeatureFilter.fromPredicate( - FilterIdentifier(QuotedTweetDroppedFilterId), - shouldKeepCandidate = { features => !features.getOrElse(QuotedTweetDroppedFeature, false) } - ), - PredicateFeatureFilter.fromPredicate( - FilterIdentifier(OutOfNetworkNSFWFilterId), - shouldKeepCandidate = { features => - features.getOrElse(InNetworkFeature, false) || - !features.getOrElse(IsNsfwFeature, false) - } - ), - SocialContextFilter, - invalidSubscriptionTweetFilter, - InvalidConversationModuleFilter - ) - - override val postFilterFeatureHydration: Seq[ - BaseCandidateFeatureHydrator[ForYouQuery, TweetCandidate, _] - ] = Seq(focalTweetFeatureHydrator) - - override val decorator: Option[CandidateDecorator[ForYouQuery, TweetCandidate]] = { - val clientEventInfoBuilder = HomeClientEventInfoBuilder() - - val tweetItemBuilder = TweetCandidateUrtItemBuilder( - clientEventInfoBuilder = clientEventInfoBuilder, - socialContextBuilder = Some(homeTweetSocialContextBuilder), - timelinesScoreInfoBuilder = Some(HomeTimelinesScoreInfoBuilder), - feedbackActionInfoBuilder = Some(homeFeedbackActionInfoBuilder) - ) - - val tweetDecorator = UrtItemCandidateDecorator(tweetItemBuilder) - - val moduleBuilder = TimelineModuleBuilder( - entryNamespace = ConversationModuleNamespace, - clientEventInfoBuilder = clientEventInfoBuilder, - moduleIdGeneration = ManualModuleId(0L), - displayTypeBuilder = StaticModuleDisplayTypeBuilder(VerticalConversation), - metadataBuilder = Some(HomeConversationModuleMetadataBuilder()) - ) - - Some( - UrtMultipleModulesDecorator( - urtItemCandidateDecorator = tweetDecorator, - moduleBuilder = moduleBuilder, - groupByKey = (_, _, candidateFeatures) => - candidateFeatures.getOrElse(ConversationModuleFocalTweetIdFeature, None) - )) - } - - override val alerts = Seq( - HomeMixerAlertConfig.BusinessHours.defaultSuccessRateAlert(), - HomeMixerAlertConfig.BusinessHours.defaultEmptyResponseRateAlert(10, 20) - ) -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/ForYouScoredTweetsMixerPipelineConfig.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/ForYouScoredTweetsMixerPipelineConfig.docx new file mode 100644 index 0000000000000000000000000000000000000000..f6f38777d0c75f47abfbd40d624126d8ac43d2a3 GIT binary patch literal 40551 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

5Iu71P`eqtMLF$vrYb)Zn= zHiRvTOcs0PC8HF|npjuN&-X-69}jR{1#*nynXhJoOU0CJ0@F?^$6;yQBEs96pR)>U zUPin>#ZoAsZD%G-dtI@T*aQERb{q&xf`z$ehGFJZT|(V(O5phf9-`z$?j=~HDbor+uVzN*#XWc^f60()ZcpobPp%keKgNz zPfGi;EBk4$Jxs1Q-5Ma$1Tg}(chx3gA5krF_1uJ)nF-KQ|3y0tW8jk_7K4<$Lnp*- zAf)~XWlKF8qY{c75?LI{5hiWOX>^$(^#B7IZ=nqkXu6Eu93^(<6s5qB{GbpnI|?7` z2oIl*+rnSFiw51rP>l3~&G%)4;00R|T^-4TP!?Q0U0l;Yo?d?(W<=a+ne`eGmT>nM zqLX5MNqWiRmb!$S9EFHTW6g1zO_+J_TD^$s6k`Oa^9gPTdi=f@woqC)NQ^~ENH(P7Hz75(QU|c)Ns=ThqACD*Zbi8Z` zKl91^T7;3`y09p0#NkSm7)bACA~vratKR;q<@>5Ui2BKAw&saJTXB^x5RuGDz_Qfn zDxs zZ^wHv(vp}gjYNlJ9r#jeE_l6Mjqo)HjlkmFoKuQdX-QaAnO)1 z#UjK7(thhH7h@R+2P?G7`~CYd1wtM6V(%unk|ENn?V%(XlTNXY^Xwk7mHy;D$jSi4 zP(IyxO;9?{!8&iit*0RvYF4qFXU=gJ$WeAKk7l=08>tSUz3Hd)T`k;du@%*Uv3^ux za8(*wBW1WNcAGS!E-RfCa=nIw0d|uE5nY&`kA>VAFV1vjpLnR#MUynPjXp=sar8|c zs+@=9(h{w+x4xm*+zGSTSh)XWh%ya&6Xfo2oFY=Fe>wfVdui+BTN|xAQsslR);B`% zRC%{83-HoJ<+TN>@ob{JrEOZ?^W4XXXOQ4&n(s`+DDFVYu8U!->oP^6=Q#%RhlWVj z&w(GF*c0F$xXE5=W55UeKOijfxee9?CBHYB`K-jBR|@M+E)t3EkMgnY-k}lKe`q8k zmxB#Pl5~{!sdNc4(8LJN=z=&1v=@3%YQ(7>omX@XO`9Y*_ko;OPw~g zY@zm&`g$%z%tb-zJt!^7r@M*;icdh7Um!i}#bZ)6{YO`-lP$V{VgK?E(Tb%6Ym!r~^bM*ZK5 zj>h7uP36P^Q7EEgkl(rYoM)g#65QcLmL9^m0#@$j9V5FWielRJI=(5E2xz&1!%lvl zrwB)~0JOUwP^R)&M{Q zr(tw)b1-J&cUPI$i2ZniCVoWT`%{|l{5+;jq#YW=WRr&XSJE42oa>T635+ag_O*sx5bGV;$7R8 zfk9$g4HMaID%w+^=}=a46%ZQdVl6VksMC-&sz_o`y%6&HMUf%4dGEzV!Og}9%$N#2U#-Mvvb=T>~_+V6osd*|I3U( zo;rc&JYrj^@SAb$)CFx@27=Q3i(KA=u{&p)!j>rYooUE0K^_rtZkRk`Oe*C~U52kT zMqdCz&GG}aGPY=qe%dYRoJ_I%=jnA29p9CKS7*1u*+x@EbQoDTkXSj{i8oPTRaw}r zk>2&uuC36F{z7#eTm=sDdn5`BMMcd1JS$*>J?}fGvb!LpyAPP-=-p2y6F4C?!coEj zkt4|FsV$5+Eq(cM%+h+Zc-j>M!+h(h*4y&4>YP0ySGyia-hRKl04q^Wk zjqk&Z6@9pF0Ht)5R`pgpL99psi6^C!?}z;+o)z73 zv!-)k0*>soOkU;f?hf?QdbJT&>Pp^H8pC9KN}eqvd397aH&5E1#xtnF>Y8lp3dU;} z2Xy5yqhW;OoK$l&_lD6hby?rnOr(7bY`A5oerssK;WI3gC)bB)C3oUyH_er$PZ)?` z$%FmSZ{8#>ZgY}WIkIATmIgmoNqLyHWLy&8)z*~JSXGhV=y-Gm9Y^ZK<#)4W9ycm- z{S=@$$6_8ChtD^2sj!3}d}93#k9+gR9oAQ%fqm4cj*>`n_V7~2^O8u~`8#$)ecE)- z>a+819uh#&MJ`BN?tuJPAxi2cH_@uv@s{+`fNI*bD(Wr;PG=5VrWV1j;kU~>T(Wn< z3l%eyLi%CSxv@KMbeGy!YuQE)`6^6`n$k}fYr^W)OOo`IcpTkdQ7`O|EiVzN&JX^j zOZzn0@-s@^4bb`5Zk9>1RYyakW+gJ{)~EXcj7|-X^DA+JOI<4F2eklmHLjk^JL{Pw zKoc*#7*IHq$z-IYW|C=6TVyGZwOkZcF;e);kHTnMRbKO;2oGC2o}X^61g(Y-5=+-^ zuU%7vOWD7!$P+SHq!*6#^Xj^8GNR#ZcWs)I2Qh%TiuNFJ$bPcUSH7QW{Y2A-`f!krcYbRBOE}<;Zn&7OwqVRD9k2 zRl7XeX5|gu{RP!&OCIfgENw4aJ|A?eqnm$eqHAred$d13IPrCI_)5H7oU+;Kc5VEs z#)1FvEuMR?Os>}HTu~$;yL!#u>c7-h1ZV@e0NUz#XQS($i=4d{I!OK*aATPr0VSKb zBLFbzQtfz41ol(inPz9 zltBUD|LL`Zqnnkn!{5Cy?f6}hIbR+rwocv0!^7aMH--LPG) znwKiC#giAe?Y7?U7@l0u2N$jy7g6rj>3mDWwja;YpU)BT6R$@@FwYp2cS@8hR84Q}gJ zY{h(d6}>&3vOhUOBI-Wx%gHE}-r9px#0S@#m)M8YXYdpHp?&W9;?!k)&!YYrLjo4u zbtTZSGy6O${q-vG{>C*8hi&{W-1`TO`#Xm_(QSPB9)*)zm)q((pV0ScpCG!AuJx|= z=8EyeK?Wb|_I0l=EzQfW_j|z?6NO~le*3KrI`}Q`6k$A1v8;1~&w=XaZiC+H@deVP z`Zq_7U~j}U5=_T-$j+-x%=TnHZ?|xzc2BNzWP<9@n7bNy(8AygB+lvJdidb#D!%s` zT`zS$FZLk1j`nEdAatMikHdZwABgw6jd#a1t+yKQm5wcLo=TU?i{NCoi!3(T(@!s* zOK+a4Y@4M|?IGBt4+i3HI&}FM-B>D6X}b`0DSHyI`sMIDCGZRiczw!v1{J&mLS7*h zo*{GIPR?C-!{_FMWKcRv&!PTvO5SE9|*SPZ0^J_USsXjd&xzn;&%*ge|64~swC z@||DuX2^>)YA?)R^&i~c9$)l3WH3_&wPF{lMt=4mxR&8&+>$E?K(EZ~Kau!c;VsFg zHz$W%fXswgQiau&3A6Jf#sUiA>K8C}^}M(DToYl1uYal;d-}a*mqggAM$=`Qcf>S@ z1udy@I-|dye_S0~Q)S=|{X+CaC3t}NCE$spOD-N!NW>n`dudXxJhCqIrbG}eAtoK4*^m3dR3AkK(UTjW4vIFWmnK{hJD;l5IV{tGI`{iX`dKl$sde;4MA^`%Dv;VV~^hTk;!&@}%gkp>@v%ncgiFV*w$E{zBs zf6n@!p#lfNhAHRvE@Yi7P9cp2{4QJ-C$GzAKp%A<4ZOwn#2yJKVZUUugqV_+CfBYl zpH^heWorj)A+`Af`}URLajOsN2p(F^q_@k#jn{jpR&AR>4}rJ-r3vR;vt`#?&8MNc z?CKrY>f;4o*~9&V(Y&3f$SpqY=6fN$D4Si{75+r6s7sbu%+FUl7(p7hX*~q$^-`RS zt-*EthYN4#(d``hplG=VYbz~epS&3rB+_#+ohFh-(z_G-1m|ngSupR zyLIyMbh&JaCx$QFbO@i?0rzIk%) zy4pPumGqdC@au+@z1z`6(QFEC6fNYmticr+WSCMJZKqUsG2Q?DW8kVt_HdkW(-Akc zLwqb0Cxo<*=g7T%d8?An!>IMFu(y8!P9)~zL27bPP%+tJ z#gRrb?Jfs_-_LGOvO0LCR2gcVxD~$D;KBhoOrO3T$Mk|;YvvbCk17;)6JmS1WEJGu zsv9XCjvnWr{P12OUr z7=%mMb<^5;($si6OE{FCAnF2d6bT#-KnIejw&Jqs4{pZ&w?7^^IEzkr)itBJB1NXv zCMw0DA272wn%4C=$%9}bxjh)-2c~s0g-$#kcJzMD^iOX!t+A|KUdAn@DfcHr{rr6T zcv-|ouaJb#pl9!1c4e+n)@R9wl2IZqGvj1mE~`0J8I-+#%&?Lsu0GBQmS=L`78-sY zbkFZkYkQbSmJ3>opk$woEy-IvLQolOu~DY(yJl@~Hkf5t9K2sJaq0zL6V_86_jGr& zkg3qpvEkMjm{*WYC9Oo0S=UvSSA&muPdyziZwa3 z>$MlLt%z&<(6Sh1h$9)sX(s*m5UotQ)4z*m32DYuB;$x**iGFP{)9Z?jbOQA3>-C|J`JD>A1|) zL`RamPZ-f#MGZhAO$Gg;wiH$H4Bp?|f|9c6&J}R^Qh8bXhoXL^W_x3n z)e#G$QqYe5o2_uk{+kY{Uy~E+oFg`($@m2K4RjQ&c&SD9q5N#&=?ZyNv#B7$nL^bA z!>IJiaW=WSimYd@pzm|XkOu=hR&QTj!i$da*hs2z*F7XzDEE7DQM%!D> zMu*O{rixd!SCG$SLfL)RJ(b*E44>Xz_3}+;kI7qfsmA6G=I9!us+GsLE)fa%EOb7Laqgwe>};p3It@<&>?p&jv$)E6mhzq+?Bz*UA6Oo)Kl8j{%0qB>CH!GxIO>5Z zCbVvKu2*(7@`Xja4(`nr>D%p`2^Mna(WAvZepgB+NxtRbYB-LTv3Tj>`^S~) zH&~Rn4kp=uEGn4AI@}%>!&~3O6V}t%hg^E{a&i<^R^WQQw+2&K-44c#V1|49K}-_j zbCc$+Rn_Imd$!dlHJU?`>PV5%@`F{{HZfUx$Hcd+_N}t;dGY}Q zk5-vZgJhFnT_)7Y{(YKwzK(1DH_{XB3Gk}ZJJfrLhwz#96_}CJ(jaMcdE2jWG#D?D z&cDJ-{t-U^KjBAz!UJ%>cb0jv-r4*DzHzsBpA()>ueWG&63&*V1MQIOK|U$u5Q0xG zL%)wZkFhHDcX#WI{8fU!xf~)_ZQ+B|nU3Yxk)=WEgm`~Yk!JloYdS9pNQZJ2=xz=- z+h2Gh+-bx`yjGf{qa$0wd=kVKNH|}~wSDmbadEbX+j(DPc9-QyOL=&^57+yu2x0#__Ph;{D;ZCs~ z1e7I5H%Z{$qSRTEY!z(8Wj_B}-G2}o;JlZdga269m&#AeLXP;2Y3UZ;X?{yilmwp^ zoE*N_+l5mk09!SEa#*bJ@!gUN`a+$n-d%e@t6)iM*a#8`QLug4c85bB|l$Z;U^GSixoT*VFsT`ZtmsDZzMQJ|4$_3>+&B)EXP20pUmw8)Q zM#_>9GVUs)2n8QCO8peEdwTtA|@95bEWO z)oG{*C`urxXsU08^R(GvxTK!vjM6Pac^)adg0);%hm?8a;=TAv$`>5(x6IloEa& z3n<;ubF{Sz^K18MR-VWo_EIZ>C{Y8QV8ElmDS^yieY`S!Ge`4WMFSjlj%$ji7-{Lc zjI1Iug^!ZbU1)$1>zbupm|H$Pp#qAVHs5t{LIHFOMlSlwsvoixLal}aM~3)cZ2DpU z#m3?E|H(!^;_AnCO|}$Ue`r=*ZJ_}|yk(YnVt(duj|wO=amA}efZRZ!^Ib?}Gw;a11qFn#$ z<*-qK`jxpR2=SWus!S2S;d4FyTIe~e-Ah@KF#k=YN@>;*ud1Oe{|yI^XH^to4wW28 z2e!AAFn=H+K8`lc|0D;6((Vvg zbmZ7SBE9whQat)FU%skrR$Dr}tYq089JFXK-fqw2jw(CaE8|O+#7`TNErGlAX6Fa9 zD+j0)@a@&M1{k?gZ4Ib`8(JEWCT}?f80EL$l-TB7@#OCYIrtx=OHg8C{DoB(~({EY}l#2{mxCKjY(!+`hALv{EbJC;5*k4Bf8i_3~68S?>CZ`AOj* zaQKb_6M_w>{02qTJ%-ZF9kC)~JoN`?HT0_o7kNx=jmgK_J{r)&5Zf9MGnlwYk zk98FVC>AL7JN^#tn(!X}&v>uC{UxYP+f4#fUVBT;#phJ4XduK1t4S9t#9-5abXW$$%v#Bhb}%!>VY z-om3_kY5Le8ZU-l{vm^oL4$HeO~|Q@=i#GGLsP8Mm;a{nK;(}~MZAVDmHpsd!7Fa zagDj76r@OX&7x9GYQM_+$;7+3yCBFzV|M?+FBqpVE32nYUQfM;=-1448cM=CF`K|4 zBWz>+WV`qfgTiGQB%ky0U26$vdKZS0>qtduNf%{>1F2xtVw2TigQO}7m6KMyciI){ ztgX0;ST_>jjMLpWN4UJT_lreDEd|c&BBrbFGWNRFVTP02Am^*3$$79fH1}Z31FWIe zNNZ;r5^?HQ#yZFbyXk5}WL@SNqceMn7^XC3BvaxU^=tS6?8V+~ss|Yhx>jY)RAgU+ z@$9Bc3ULEQ)_UV+yBS|WQ-24s|L>s0$$gspgPQ@4PzR*LKU66duvS;n8OY;L100b| z-`qQp4l9Hk|I9mM86h0b%RY`})ZdT;NWPN;>}LEmPD3ItwFuT^NH!H}?75pUlnTS6 z6Y8*-r}1aL9hNb~;iTBZcuL*PE}+oc4%lAiukoZfBUXmgCGKo?vZU)!2TW7OJ6Dn^ z^>B;7l(3HAPnBk0ByyPUGhijXFkt;lVJ^-AjuU?d^5owNo&UGOn~dAw$=Iz5R(JVa zf%B4YKSqC)Xo24hsn@FrNZl^GSgh4W{HK6>8T z=%)T`=j+H0lE)C&3Pvz@UZpVxOb|o3(}enRQ9;RoPU3u-YPze^6qP;4_4KqJ0Ay zxa}XKRlM;#SE15bzgL@s8W6GHFC-?Y9aeZXB9pft5%@j|Oq_cS+A~{yVIDRiXR{2G zdgno5st?JP$k?BxrG|JZf&n=kjeCG9m_*Hhof@&uuKDXRwc0sTHG`bZS-r2Vcs-AY zqWOcxYYoV~%7Pwb^M(mpQjdo<5_NA7NvpSZs#?Pifer_CFH*mL=pSmyzo?PEsKF)w z?7k;jHy2@(^!}oDHX8q;=3@Pu`WFduINbk(`nqcXvLiHGchj>~v{MiAq_V6R$!0E# zn%d9hj6lu5qlvivln*(a$TdV2PO@gePL0rL$EH7y)v$QFW`MtQuNUdhF1zqsv&THl zKgb`PM!v`u!T%y}W?)7Rr~QAB&+3V9KSw2Rt^fE3d7qy6vx4dqlxnj)%CA1hU*JcI zt+8~Sx;k5(eyu!D4NPrNnK++qM`IFs_fJc^DV;?i#Rad_YH(r4k+!u7Lte`{0+g#9 zDs%Zh(w&)=C)X}b2Qk#9Wt(#V8uI6jQnENsF8yn&jh*nib!js!_XTY{rFKMC#k@%y zDnX+It~4=zkoVtf<~;}yNKOGrke4T@`A!=f1u;RKUpA=v@GVF!z4!DLGk;4lUW8_u z3r&MqnU)=3k(vEcR2J3VvET7hvQ`)lAHuHkH(is#{8hEzhX45ap{gOY=94E&dXtMkFVOJApm><7v zw+9ub(45hvEw^J?e3AGN&n$DKS(@*;)Pm<8v$T8JNy#{t%-rhbUMYukxvqfF96xhq zM{-%=reva-2Dn)oKa)_8|7Q{>b)U2QUE5N{KXcT0EE*mBH?UieIitUlJZ7%E?;2{G zYgqkfl9HMyorR%)CmEdhCrNhbKS_34|NkY)E^XO8-G0Da>HU=?a*_Ebr&U%94sJd= zDkfJ{y1p@~J@!{exh`~Ve|P2l5U^#Pj0X5lII#gm3{_1-j5c_I>Y&+u5M%7Y=(a*) zOIQELv#Ynoj64UBV6XZt!kp#=hb9Ct1eC|J5yCr^`*O=*fD3{x3Iu3b8gDj%pZlC? zA6Sqt-n3}|Xmb!T8t2!pV;eXG8{oTd2%tVl3%+;)K3xeJyFlf=QE)8KgdqeKeWw*` z7I;=ma$_i(oUJk}on3ph$u&^NEBQ{40bRWwH=YCQsOCfsxRVs{pJftc#E*FnI0SG9 z^b4)y51Ok$CAdcL^&d1ky9cnzAtu%3@znw7lIF6X=q=V)b*_M$V9{6K3C<253>bFK z78_Fa;d`MGC=faTVu5?05g7100MLm;(SL*9gVK?+>>bnV_`1RDfIc*9XB|$W_312< z>hO0evvl;F4<`&lUwKOfqK8R8`HxynURL#V)Q{v(WQgm5|}m;kN-7=c&cuPsML4YoPXYVa8PaT~k= z@j?F_!0WyaU`^hD)MC!>{tY=@+n|N#qc}s*^w9(zJvu1#HzK^RnsiCYjcwk5w<-%) zKrX@VXmmX;CCEDD7cS{j;D$2G?O*1dmwlOc4go&mXVn7opXOO-YyHE#nog^(l*#3I z`hO^d>WAJx#oigmBAe_1w$M`~%PDmwhj1^&Mgmf%1P9%Y8)Fc_7qU|lACN!y^zucI zv~5?C0Id1e?~)&;n9;jvLn~+PyEuyaC zNW_rK+~vXaSE8vf!VL`FS8JAej%-Q^z-Vaan3qNy&fD^*@3NitkPO{$^xcDc%y#UE z76Pf+JvlidlnedeUy78Xp)BJGIjgKx6Uyv8`rb6m{C@%6LX&nKdi2SPPfP>YNlsLU zi{Kvw8={Y=dpKM-Y!cpDb_>LD-YN=HY}@Y?`mO%qp|TY)E^W>sJXiueV9T67B%0E3 z#u|GA0RwGpDZxeiHJj(Iqy`KGz$WzB zX$E58P3{co9^q=akk&-QHukx3>qI8=xik;us^vyPAZU7?%>P3z-LGpXgzPBeE*c}tCqNl>L2S_^xbHf$W6U()O--js4|O+NViM? z>qxh!d59s;JM`VL=ucL9(^982jNK3ENo7oY$_YTY=x6x%e^a3?D%e7QnE*U7ojQ#M zos5%9M1G5mfzmKt?XEV$+kGOh|N160oVanQ%3`CNqI*kYvbJ(~2&TAGOnhJp&_Z&s zBus>GD_9%OcKhCgCVOgqackN6&fLe#C;W$~Yr5LGGJWc849ipV1h(tT1K(%Rz0y-V z!ucRZK0g5g*x~ZvpgZ(xT+~GwEk~`Diyh^?hrs8?8S0M6%eS|lorE6s|1Q;Zw)>d^ zI#Xry$lEHP82>-~vjZ>HJ}qMGzIpe$vi6!Y3CWUgps-vY=yX^Fl_#t96Sxz%GJ^<0 z!upn!V>FZ`tw3n_7%0q=GB+FeU zQ?L-r`dht{$u*(2(O)xP||2!x88D!{qgz=vbgNXv4EAX=9XTiQ*Ye& z-juGG8n=V9fbZ{tD4%jM)1kbJWcbE#Qtmhh;ylZpShqU;@yephQQs&ZF3Pee#X{UiA5kKih-QzvJJXO&Z{ zE)P&XB|KHCr$oF_t8%7i)b#o49ncvi040mBL|?oljCPgw?#quU==}7-!Q6O-a9AaCL zh*Pq?B(Qbj{*}-00+e@^TJLnBKi-!#=`TwRJ2v%t>8?D3Z(+esTO25#j#2NFt^`x& z1Fq+tmfwa8{j-PuSrog=rRO~K zi(OUUpw8=@)IJ?XEUM|>u!~?^YTMri_&C6M@fa($Mg;=2mcorG>_bwK(|>CDo5WPo z^A`&#YeQkk!k1{~J>E6KPmdR~K;#*b+w$o5ED~1GEv$hP3wI2I*y(8X-ZD!S4viU;lB|V@$`0kFf~` z)4U;1Z)|%@h`;&Wmsv0Rga5iHVFj8#s$2?`U5C4_4Pdx;SQ#1n5*Ztvw>N5=z4w~7 z&wi;6d;9qN-`oUU7hKyaOUf@r!UpUI1fPEA7zX9xJ{{WnX{smz7=;FTz zGTaU^eBOf_wY=rZS&<=Q*I^P60c6UV6^a$O-E#eK1dnYik=p6I*D|K$yEoX60cD5n zi2&St&D(3gvsv*E1)2e~12_&qzT2+Qmczlwrkv<(5WV($=d*b1n+c2_fW!8Qr2xa> zm2uE^*z2UJf72f_|AW5R(3E={^eg#;ofg~naKQG1LFWGsrvM(_dwRb^gU2TI1;Xs^ z@OE(nMhVxA5rGg1h&a+p%WNbaVqM2bmlA1uCcIpsNuokJJr?$E?N$M^d61;`jge~n zzG_U0A1)zr|7FeutWmub-C7NR3K=6&Ep@8G3gw2;xszs1uEwE43g0<2(J3J@^6h%W zBpZIjDqp-pim>w_Aw3<5Hu?V$_7=c(>}r>&nK@==W@hHt+Zc1q%*@O&vt!1XnVFdx zV&<4*jM=k&&bfE){ol;I+U2ftx3s>smbz7vT56q|m>^<**GK~_2^*PYpRPH@BekE` z*M%H;uw7|0n3(0khDLWvO;Kl+Py`i3UJ zg0w?UIrR|qQem|cwRS;X8o_(Ct{ZRrVrX(*QL#dtIXt%Q)Auczq@EQNKsr4Ju}%7) zB?=~F?|mPf_6k)Abhb%Wq@sea!uld+9Td-#fd9uZmu6*d zbE)05^}Tc7`dqulLR7L7SCR;S$k(Igb|vvCodfmZHp<{&$aqb0)bOEPvAZMdj6vcj zj0siFw_Z+G`0ss0vv`f;w&)SCWq8=d(~iMzOq6jm$Z<2?Qd)tq5T9TuQRL#9O3b`K zi^=?Lg?lre3-qad%Uwi65~|WINNY(4wdkmk|5)SfK<$-m9Zk z=qysI!qD4YOb*&L0!kF;P8bj|wtY5XXm7!3*|*xu?G#C(u>DADFY8@P;@a~NRH?1y zDNBSEMX*Y?pSrlvroPySLi%AM2ylWMZCYk2<`otzt%}k^yYx_O0YF z;(w!bYZMDvM>NS5%|j*=feeI87lvf|O_`bH2qZzPitPbvCIoq-b{Y&v5iK~U2)cO? zlq<@VD+-^5_XLFjW@U}MQk=xBKC+C2;mD=h^(`nDOa$_4ZXiay%Z|?CiB?G3C3Mq6 zwjk4T8Fa0q78r$30aD^mj*wWmcBm{k8}0gwDQi;$ih0zkQvT9u_s zW#Ewl528+5a|9B`o68FS6^ZBzEjrFhFv3{++`_WJ0SQxCMx40GB??SjlDzFM9oimI zZ#$H=Xllmp0hq)zRaG}h*zbbFg;B2s2-e91s_dU$D!*<@%%h1YgMO*cyn}S2&-8%o zMvLYN-xZ=Y|Iip2j+|2m!2aBBZ%=b8XNgC1skcV`7*Q^v;O z{F@zeMygweLXH~pxSJl=+OXS{J~#JE_wxCnLF*dD&|&1=W#q>Twsx>v_}Xx)mxvTOq3M6<-gpS5Au?ms&j^9f9h5zapE*R8wC+ zzxSrEer}d~YvVqJ-H(i|0hhjh9)fxurET}_1;y_??}p<}iNiU;8DY(-2cCW{oo;If zPLBNi539@wJX$z?QJ@pm=cY#y6Fa2Y>CY zPJn=qke7)6-Q|UEvjVtiwt9=f6}fz|di0f|vbzFJOlV@MebL9!v~}g&tbLKxid=>e!S^kYtx85zDD~*r_;bf=v&nW5rP74+V7QN7GgU3Ui_e+feprczz zLjmdSd04Nhe3DaheQQghxHyO?g{hoKEjD)i?)iD=vF~pF#NqKhJLS~xG9`9-?;Vfm z@V#^}Y;w)h&pY=sw7?}{fe>Lz^>KctPMvOH|BKU8`Oz&^dsM9$o?ZDV0|7F+91+sn zd;P{vYr&YD00Y)>l@C`%BPT_}Au}G9-7tmaFqx&9_(F`r!qoSYELbHzl|k40j4(3g zdYcxN?3@kZm`gJ*n7!v!#M}p8*C3*ZfrG|4{Lc9B)nD*^)XFHh8@fw0;dXgKD#^)>z2jmaJdo1 z;FtLJzjR;r?N7ZZ`$`6*R-PQ~;7e0vf6OF?}+a4S` z^{U*)`2-UgA-yKg3&DaEYJR|JkgaG#R-jtffi0oCY5RT_U#s#L34B%W!R?i#*N?WB zI^6bA3mdiXL-QQftJck^R9B5O%RLdlGfcSbZ_%R4EG>_kb51%rit4&YS z>Zj}?-s;ysIu8Gl@z)N-XYneJoi3l;`B5TdhY)48rT>2PauIfLkTur#=Tj7(jF9`d z@1`ra>(d2qtM~hn)!d2IJxAs69v6JE+c+}T+k^Wf%(y`TT&{=h5g;3O^&bl`f}w~s?S>6gTi2Qv3^KH21pwLSH2mQ49@1^po!l;X|hZypRjr}!Az$b zXMQfhh#<#cHUsYSa?ntpHwDqLOtht8!vO^&s~O)PcROpp{FM@J^AZYM5Q0 zxoCBm_cqxZamWFfY*jM%eAM2=E;4s(!NA3kP>~&RNptKOQ4cM|gHlOqg=eILZ;y&g zZP->4uVP?TgJP^m7y)T2F{R_h_hASs6OW1s(PeNQVh+F6gk}ZhdsVO4!_ejLYKz+Y zT^4TuuDj<#f=9U-FRy#NSsr={y|XzF`fTqKj*2D4jCF17 zI)!``e)`pbi~g)>;zyaI7lET)B}bOkl&!G~j0y@HK)@8=ae`Z5NbVU`L?pQ74#r^= zbr+0e5k|>*Jf>QO1^UiiHb}_Tyk!Xo&vffXWi3}PXqbP#U9rCZavuMt*lp}hwzIH( zFD1Jx$q9SPsQYGW+0Da?-gg_x9j6Z#{dA$$Lz_RxJ^IR42WhC^p-y1aS?5U{u(9NR z+|ohn>lojRMZbBLnVQ4>1O9Miwn<+XR9CR}m)h7ae`T8NQbi&GB&rud*M77q>7k=q zzooZryRS&m&381r21Oaey9xKp)0O13$jPr)=6Y=Upl;l>0mXaCee+ihl@2^Bs(~rC zKaAvpfa}2OS6rZk&JGwBW2$f@)9h)CNe=XmZArF0jp-Ioh^dOw^`5TAb8AEvuUXT& z;5cLb2+`))+Gzy5Ce)|5#8!EnZ94_A`)+=kbTOIL8*sxuy42@lKYhFg>KQ?)>pD^SHosBJo_FeDg{2IJS^ovgDC#aChW{`eb#n zy9FCY==Lh8_T3peDj_382&&qTYjpDQP7;4zcdBu*-?~@CA3ywF(eF;FPjYn37nk|f zn{GmRadpsEJox0KHFEdc4P1`mJUOBAP*uEehtY{ZC>yDz&HAii$%Mk{C~sUmWwNN< zn)`dhl3DNC%}t%5<7O5kbNL@zmze#L*wn35c!Ei1v&D4*U4wP>s$-?%1H#JmpT&e6 zHlfS6C2Lx-Z{F@EKk~&CurwC43R2qZEyswe&3(uCRJO8GK4qm7-f3UVmeKf~%nlWI zXvM~8pU!&B-CDk?p+WLEA0MFAw>6Bp7|-2>y3e<^mmR)7;_jJtDHd}UPMPvGTAt|f zE;fuZEtEo!Z3$Pu8C}(EBt>pA9Ur5??p~`91S-kvU0@NpwYsqL*uOda3^-=%vUMG8 z5}LABNmfS+TeWw(`>|&|(sr#pOyJ&;3aAs)^(Z}!b|)JD?5^Ug-FlxTt;#h?ao_Zn z0J2uB;oOtF8u_aZm{0YiI*g--DyxW3OE5QxLzYy6=Q`rHJR!opmSe@u@Y(eq&D-7g zXNm~1{zmw?f&>d%A(Zv2-QFFc`!LqF9>4SGYo*+NZwE!Ir%t|&%yGrOv*R1DR>DWG zR^28wJX43j_VqVF+U)b>lMhnQ!?CE>L_Uo@t4u3|6H!g=;@Dl%s zqI}x(l#3c=VS%Dd|4c>#6D}h_Ou6s>{T3W0)Wifue5ipCN5#=t?l}O#D-pkj;No#N z?lC<&C2U@Xv^e9c?y>|5%d^f^$3(Rjxf4gD!jUyeJ>K9^YEW!2Hllh9?5sJXuKG&h z$XFdVlr1M(x#Sx)1wr)+UMd{O#9K=y#TjZc6GiJS(jernDsUX&JD)oG4CRc8U7lL8 zllIf?!u-QA4WCII8%^x1+=f_4jF@Y}p59n_+D^hKqV!3v>~Mf%VlZA7`e_!6SmJZb znTKX)9A3eu%UEreIoAfj z@Q`LT$$^m?vavHBYt!IJ9v3<~@>H4doxm)lJ(rebWm59%$f8egK4vUl^*!+9I!?Iy z{j>NuzQO#fOlnavvc&nA7kdU}ZP}J2n26=mi&I$W{yYs-#`&J3wma5I9H4e+632Kw z(|b3AOhk}UTh%If`Jl|=FtbRhGI@~~=jQ>k`1woG+!T$EvB6o_rHSvvTB%=2vls2K z=6$wV(L&7=*f#uwOFE|i%h1qk;P~UVJXrQbj9OC$ zMa)(aH$}p*b}~EdyX<`Y+DMtmA&2+KT>6V}%Ndn!ot|Ah)rd2Y9Z8$Q22>2)`^^cT zk$Pxd&#$(bJkGLa)F69~Ab&%@G=_EegMH_p5dfthP~2*njfDlrersC4xRg=Ufo@3g zx7T6KW~BeU2Ouk^NgCL-N9fuxo6D)#dpQ}y^r`8 z5d_B8!P=@!Z`B`zix>Pv zo-rpEgz%?`bVr|SJ)>60Wu3>1%iim3Q!a=YTYmgWVxx1%n&<*?9nW#ZvLMCKO&_N* z*b5w?DO#k3>-BKa7d?cGvf9;2YG+e}7sxG|YJ1a|E!K6e6K8PKncwIVYB?A1zMe7K z^T!mR**`q-nG8m(&z{yT7FVDO&E}jp~74`}1Mu-}yjzqhq_QG7nybnmqm{PX|M4!|CHljFAT$kD=ui3}d#wFlqAwF;+{ z>l>)P(#8>H?9+xKZhIEniKPR$nJ5)Y=g7 zdWP=J33pUS&G(veU`cEOOG5c#QlWgKYpj?jQ~i%ooyAg=%!6%nYHv<#D}Q}QZ)>() zF*};fpGA(gWWwEkzd@z97Wap1k9LpGO<7)?VcYA0EvYwPKkF=*lbffr`4D3>nq!xb zFUl(^JeNf_=<=2tQEWp=Y$c6oh5~%#SEyXwL145&NX|X4j4J@u1#;?$dh}kJd!vPe zRM{k@WhPXFtOos5R&!Kz+YC9KpL8`p>85$7m=o~i;!Uy2cmC?*tDocR$7gm%YB>J^ zip>Bnwy0e$*OPU(L|tc>>ScAK5A5%vqyAp{1d?v;CL)t=2h0>%4E;*oDFF<{m~rCqyG!vd`%miSqmz(tXVBhf&a8piTqPob4q8$ zmFm{+{B)f7Zk-CU$JkCK$8jab@096EIJ-(%J9)vd<`{$x#3PVmUFV%j&ErY~By3*j zpZ7~3Q7Hj=CzW4{q^3Qs&|7DBDovQI_?=oGZrRA0+Rhfle!93@$$MG>*G{Pn_Gw%7 zX(uYkRFUnt_tQ+4VtsYDQuDO>4jwuc(A3ERQedKA;%Sw>)8D^cd=ZnZj&t1!TL zMOuerv1w9FSU1wIZFSq;$iI1=W(TCWQ#op;u^cbdxr1=N5XsoVLD$JK0V;MRytaw! zKg-Ij+Sxd^f2U~|P3k1j(RgMOeUyxq;~Q#RnVRJ(9f53DDPvdZ-|S7Q2c+n3bq%}c zQW#{%y~BT(4{tXqYlrC6Gs82})C{HHfPg?_cYe9HXq24l%3XbtY4RzthewR}EoJ_S z2$xCqXlDM!4mUmQvqkpj)@ZKNS4JDJKQ&sf=}4Q;lcoNGj;uqbmwsjy!&&($K& zMt?ce3%n=kj=UW7+vf1#R}iWXl31)8oGAPL%3Foa*NnuFqRG2YRMpPoxV72MAA>xs zluRCsITkOwTDcloc{A-gg-Wc9ueQVPD-=X3(n9eVgLmAc&7Zq-8fInM zy9^Zr@p9`G04P4p8w0=qU9le_^cMM;$hl{zu~3Bs1VoIDc>sNW262zNZDnk^a+2^I zzzhPjAnJsBz^vxqG1&tmY%4V45(Y#2Il@#70-Ztvm2^ZmG$B7U3EkxJxD5e@k&rqf zUHburwC3xln&Psr7U4aab*@^FL#}0vq~bHX=#q=N6Z*k0D5M|+H4Y5Ns^K6#GYAMQ zckB^jT*g?=qeSO`@c#^n0{X9zrz>W_kS=F`h2*^tU8pttCuAlR3aM~-50ZROw({5y z5-=xA8Y>L!HJZC<6p=`k?@Z$Q)96D8wgymS;`&!)K}aj@DbBRwAo}J|p}C$XQcB!F zwPnS&7v^rF5W=~b>GRZKwP5=;p)eqh&mvWP;@elDFm+D?q7XyDFb|QP;}iDrOD2cS z($8r1+JzpaC;=^?y@NsXAfga3s4ID}_S4uKbZY16UvNoL*z%lK=V+O)t8HLVosHpc zLSW9)`o8xve0V_bYdiz$wVVJ5fdN67>_Jgc=;zK9PmHXr@H{z)aitOmfw0WuiFU-M z6W%lp2O(}I+HVtsAlpRgg&_g^BnF|&oH6~`QY{wFH&C3GC1B|X+Bet+rbJ1(T#r^Q zh(0Ls`lKry;cyTVFg|wB3!DP4!LqOQV^*jzX)~?X78ux%%bdY5ysRNSR;U_mAuK`K z-+N(DHC{$?!SAamvfxlbu+sxbO0s!p>8GfSyVJ*jcf)@c&7u|rNb4Q(G6Cst4>1Tq zQ3%RVnBA*|Ke96iST7J)IE-^`6EBz+dWNo%>`WM>C|txX?)JF|e+?Y>{l5MJY!z_pI=Qv|x*!dpgMh9}MnJ*Oee~6jd!yU6?0z9r@qKMc zfpq9Khzo}r!%Kui9Lq@j_GwHz@%dhOjIa;nFa(sA|FS=z-#@1pmFSHQ>3MjtKXrO- zQoAqgCS}d5Ucr%tA)L@LwYPMqcD2qR%o@3#YCfjWQ|rH4&>Qe%SHJX@bIp|# zLD%ee02oKUMaRx~VEucJEH7}pB+Lw@f~LpA zsEUn4jPISd8=4xy{Go}z41iV_50Z$^L;tzRT^2hn??7X zpAdR4!B7=&07cPwOqZ6pdYz0QYyBX5U)bTR8TtEZ=Z*_5fGt1vkJRQChlbaLr?yr?zuS%Kj6@byeQ~|i^tq$Gb<(&H(y2Cp&0ay3e zA@|n+z8nSFlg};5cu5OI)y4qRadlSe+8w&p#Oo&$hQ8CV<*o2#CLs!3J!35m({w%a zs64xQVi-yFBkIpvIxa;})j9pAe+ygQ>RP@8KEbq_zw4xS?lP8vOy>#j2Rhy=J|k6c zVORU%Dwv9Vqd)&*tEimOmB5q6pf{R35L#`lFm{^S2vbd@>qn;B{gPzv9dBWfX5pL1 z65549i+l9hqW{#c@840{mWhUT$kUVP-B$~KKTV!WxW5jwii+yK|2RSE@J;M^yD}Dp z5x9rqC|l1hgXf zdArEDzXDzRp3#|>@%w4*&r@Z!hfQCTfuE8|WanGLT&IbykOZin`|IksIotyvsJF#9 z=$ej;x>R0oG*i_F2_uO0fLHZw6azG+;s2uN1nB@?xA(vG*!kgnCTl`GJtf!rb$4TO zRUo~Ydbhi?56|=1Ux!Gepl<1=JmtDA(icR2N8EblB_^o(nHsbY9;8gOQVF~gHT;O! z`+0B4o5nvWsQo}alT7+ERwm{;#wRS9C23IgXhvTG5LE(0Pob%VO~2x2zRbdR+NIO8 zv;}ybqHYWMCg!)+rSXN{Tu^ND2HhQ}*G6u&WVr^PY!GznTw!^FPi6MUifS#vIw_q9 zjyU_QBPOppJA>Hzv9hqD%=K7BC=~CY(#o3$&D8fzeK)};N&7sh- zDbgLfv?Mi&G4nO=S;I|HCW+JUoIL-~Gsq3xgRa7I)(tF{EvwdJZwf04_^blgyg_xT%$&sXsu-7|1 zo`MwelI;8)T>ia3iv%`D5lN2hS1m_ik14iu697sfv#PK3qSKSTgo z{l7&-4~W-)?$rHT081|HECO8zq3K!y>j}!_SqRMsEmuZA0)JI1a{Nv*#Muda2VfgR zphvifBpnn|@|$VbcXL-7Hz1#n_)zR5=>{Rog_2RlUBmYjFJKcS>ECwI^Ko$g7UTGT z6=SZ>{%p}$PLr0VE22!v_N=AFccMX9$MYMjOe?1+ht4VsymL}Z8|Np_lfMxwO(W9R zD!EiT#*H=i`pwHZo?0)BN?-Z*+t=6eU7?I~W)OzgYMGKMy59AgnAio6urLCc z43QRbxyMuWb~6DHjn~=oqUZbDX7r?+c%wiZSk3`0q~CsHlFPP;Jv>&rq&>U~w}Owo zO1O$=@2)iwITm>{YHq+GEi3+oZ<95-hzn@2T1&YoeQ&ZNwg#^Ve{Z?Nryg^)zyJ( zsq?%JTq2pQYqeB^aTVPNTXripzFYEPB3;wU5TRpjp>wV za%v|38H9to0&0Ag$2=>#gT+76CrQn1;j-D+%BqT>2MjvqxCaczHB$_9grElp)TH!aR-+z zy9^MT1$;qVE8|}2Gc0G)CoFknqZ({%S|QrIr#3Fp^(IzdIksv6oYIG163ltCarx~) zEiC~CuO8btRkA_WO2$0{C`LB8$F9onc&yV_QqhEJuh>qZQmZ3zr+~{a3tis*ky*dB z)24lKawTaNm>;XhG+&U;KY36&Jnw=eD37B%W4}$LA(de2970I z7UG8p_kWvF4v?g8&BI8lJ4K6Li4!RdkS>7Kc*S<9H^EI_X!w5eBM2!k^s23bW7V6F zVX=W30mX`&cp*Wf|K=LOWXdd@1I0@ET0YW=K&(!4Ji&^5JXGTYwN{dzp&Fy1?$q!D zwIV>{AJjqI|Wh!<`)V3AX==?RnYeNf_1G$%3 z3Xy{7TP4$=!#Ofx7%;2`(8jby=-L^V!Vz%>aKkyY{1;=DxU?&jXrKd2b$NfGSYgu! zaA2smF)XnQ{hOGM(J$NmYA)-t)kwcY{G$e_pV>FlqPz(>fY zJk}3I4It%21-4BZ1cxZUn4zGCh|s}WXja^`13XC>yTnVv z6(pqqs;kjvoW@JzQ4ZNtk%}F0bB`(9JW^e?nX#%!4nr|0VDM;6{X3(DNlYtMS!Tns zR3zR3+)!D4`Nc8YNRCNl@Bv&Tm`3s?`vp!HYO4%UplM>t>R&QXv6UOYr05h-(+}VR zf>RfHWzI={%^9l=vHrC zUj@|E17xd-Y2Mgvzh)d~=I`d5 z_PP|@DOe_e{Mabv^mVYWjIol_hyHfmdsrCb*T!kk}bqSbnK^UNDKO^t9>dae|wwB{%D24*iDSO)x$#$JOeIuDB~E0q``umu(; zM&YG=8`qOhERxg+6H(Hg{YlyoO30X8$si_x5?AJv*&Z>{Bh`0Aaiu-7QkB7z2xE^j zX{C4sRTeKCd4g(p{HV{4M7)cUxvF0gFr1W=yHpXzk}Q>KsU$F9>EV5%|`!1UPCR7VZsnddopc;SoXaa8Rv`Ycca`0N##Kg?9h6i zKM?f+w7{CcrA#9$T0jAVrmi-K)|9D$h8ydnrPh7+g(*-OQb%<{Cb>|Bg<3^Ldhowd z3t|5ol^7|Mf@q zWb=z^E!Cf@{5FYMHw=ou`0hb|AaArsTstAC&PtbYPx~c|QJ*@yZvimiobc6u^>2# z4R8GGl=LcPRMz*`TBu+=7_KLNS{N=-;nUhn#2u*Z_-b?l@qz@d37cfwvr!>g+D-dJ z2am_loXc|X`VghF=-~dF2t<=14QcK;`>~tvNRr^y#!3!wQ6i*^mBOdWX*Q5QQ)P_l zW;%2>wG6=XEi4}qg!_)g)wDiQWV)k;D2;6B#n}_@=!9X>c;iYnY(sa1NCdUu@P&tXy;lrju$TI<| z>TF7V-}+W!i`QQvfo4sa{6ch_AlU(-iL>`a%C^S@?ol-jO&@1}R%$1c0UwqcHU63V z#XE->3vlyySkh84&3N>`!t$o=m0l*()A|OmNGB;{n13yEEE9fa4N-ocEwpE+)w7`mLGen7C1!iI%1Y*@xWaY4RM#u^?` z;K$%|qnFwhrOlsHb8gJ@T>s*kB2Ynj#dh{xnS$_20RT`4vYtWA7_<`&36tiWJUGyz3t>)=Y|& zhc`q~x`OHi!Y4M-D{T3tWGySFKAe~MWaeusoD-%)7$&8v-!9VApOoxA^mypc%n>W# z)FG}g(?cTo*Xp2q`HfO9jaxUug@A#C{tm?dEoJHo+E_;vm^O@WfT#`E?{@+9g!)%*riI5jl5ipa z9FjMEh}Lu{5oSZP5DICK$OrIU9Tt zIJN`-uR`@>Hu5bUCgKlx5aZsM41NZ~ZE;2)6Iq)@z zY=oc33xAm`SzjiQzSB}R&tLI4x6wbmkQ=7nMb1V4NrFGn%ZzUi^z1*RkOe&S!~E@- z@Jn9#6*N`);A4{eQ3&t*7l^+d!xpLP(C5sl7h)v1x+$TJhH=8Yf}YUyI;8&~w&Jhy zA&Hrw04Q7eSM@tHoD?cw@X&v2@eX(hiv72e*#|M;pqET8_w;X|U?H)WUKmG=*pDt; zw~sI3mmjDGAEm)#HT@yy3L4KISQ@*?MMgk5ig2$eNQdtoi!W6GwV;Ta-Ib~78t*3QKYdmC+IWcQ686_0H6+wLj%QWHh?*@0Bxj3zq-zFos z)dUhY=Jm*MprGj3Kb7Gv5qFsH9hGv00|gFk50vYIZ-|DsR>d2?=(` zxw$ZGQ}-)14Jh63jxy`3SA>=$sN+=C(c4#Sgb_?f``mk_+Na>`tyq|?-br00WkEn( zI8Lu0aMpl?wSESNOyY^g6-BIn z=&XL*SRsg6x%Bp^$ifCVg=HNooyiZg`7-xdTvW}kLt$>SyIBzLu&=SjMF5;+@^0{o z({e|6KBOS}%}*#nBK;dEtJi!t_OluU_vEW%`o_*c2Gol_P~_L*Rz!Lr+MIBoMUxpZ zM%H1%NhTM7O~eGiJ!zkw;gaqlo7w{;hEUwf#CPR<77cAe2bOv0%QG2&It_iM0rd&N zKE3^vy*U7qd-5x;H235^LSf0gw+6IOCxILVJk6S!pq{f^m+XeoRM8galo8|aqj_Bi zmADaAy);O`Rl-6@gJv;+dVkVTZr%IFq|(Wm#c58ZS+^H<5wE(UP)a%G&b5`4%Tdb+ zE;o?2Uu)&{mT3NRijZ#!4j(|WFvBEyU*q40&L8;08){CPBmYa?L9nrn`*^`1m8MAJ zm<<9aS5{dp{bzR?q)G!ZGpH@~t(|FToPsnq3%PRwxDJ*Ef}Y8R=)rVRi8JXWJy=`99&?Vwe#tbDKg6n#)RTKI` z1XN_;?z$W+Req6^o`0sMAe|JWJ5EzW8v;xKsGu5y?bO5=0<;Wsw00*tAHQeKVtIbE zK%(D5(!`$Y6Z8{Y&o`WdI?PQQ5vj^jn9>3Xw_POvK5>LP&9+*QF#)WkCD&si4h9eo z3JW`Q(i}yVOpwN8cKWhus7Ncvsi{6fQUOEq9H%;>DdaQLmYcb^!;10*ID#FBBiNbJ zQtj2Uxvg9xvRRRc@U&)fe&L}(urTQ4A+lBCu>f~c1nd(pkKNBf2|LqK%~F4dID-(U z4>bvLL>sEVihA{+K8?@K{GOMYw17>o0-%;f6y>4OG0${Vre=#HL)5kPNL2#BCBHjX zwuda4Bz=m%rvM%f^D=MccyI<2!wCdOmInhINh>n#nPl%3wW+DTDgh*C-S;uKnyaY8 zArJN)f2tl7G8cyUym_}s926o>i15S*>F_~9e^_xqeoMx+UCM7B>&S`>tmEIMNylKL zB^8yGYvsstODbTZbM5mSa09~e=&Mk}sZm&Q1As4KfQOqI7|$Y9ZYBKskn5NBq#2lC z4zLS}Q9?B6=v+G704_K1?h5y6N?xSs?UxxX_Q1Y4%=^ci9ZZfuPG;z6VI;>&YbF~I z@n%WpoM~tSmJBJL{yGsdm|cDBx*zyUWIN|@Y@1corRADMnTkov!H&u;Gu#J-idtk+ zxG(G1jLEZPdgrXmPbI+Sq9ih~xyb4X!;XAVs5d5qKIA*GxqQ=@o0|zkN3|ZAAh3Wr zCZnG8$?R-;=nMv@9tJ-taoj>BIq@G(oNS&A{yfxFj&W901yb-Jv)Qx#$o=72Y|(=? z)`|er0(aL2M=nhS7pF1 z^*t%4`e^qz;9a7@v!k1Ime-^RXv@!pcpD+AffcAnBmQp|n8}GiXAZ>w?TjNDbRJfX zQ(hf*3gVay{)8D@lVhJJIW?6H4V6%(>oacazWuj0@dWuyxNpH~qygiWGNmd;E8@xR zyv_($!bS0XPOBLLY(C50w%Kl)?xFYxT{8LV-XP~)rpJmmOYu!2%-asM9ukzw&4HUG zl@0PTLlEXa)0ATereHEcFq|8G;XzUP z`}b8+M2-XH;}vE?Qhby0Jaf3@Ror`gIz_QdV}9L!QobVkh{cX*+`J&>1t<^XU%y2Y z^nF!up6K1+>^ePAeH&`dxcL>>Am(kqLeo);uRJmIJU>bXK^?VPQ1%;Q8&QP;5|XT% zSozH-TTI}FB?%z^6;f>IYlqM*}sSxZh#OB)%bmpxH0}3?x5mv#FZvG{))Q3v)cFE9xOIr8EVvyu4uj5#slV&Y<1NfCfc@ZFxha)L})W1fZx zK*~TTLEQgQdNN_YO|@OqQ8wNTYrnysWW<8#COa@Qq7}!;joB!M{AS$jFH&VU$o`pu znY1{NJc}ZLELHRUO+{bGSw;BZlMF=o%aEcJa3CL<<&0o9SN`a123HspDF|#|45R_>cNA@ z3go&E;gY4AsmbDjN_^xuG@FHTV{iFXX%hP}Q<$F(@ufDoYi^SGuMv`Zrqv!24nZ`~ z$cpicpu8g=FPC{?0ADM|=_kT5{ zJMHZyMLZU_(%fIk;bm0N3y^494Q-60=_3|Hnq?1wxW~-QXY~N3j2~ZLpJxv$KV**0Pmn{O z!7>fh6NU2Nz`LbU?MLD_n&zHwt#NP=fmWqFwGX9Sp8&T`l|w)FBQ&%WCC?4eAVpZu z)<+&|mPpTaqIeh@*&S`NWN4SIv_${xG2HSvXea)lw?gXUM5V&TJ|qrVRW|A1deiG9 zX}JTqUSiblO`M+hZ$~-)QC6?UJSsdwNJ^o=4#FBpQ;3TYw0{XISYE-xZl|kt2st#E z$$XkXJI24;Ob&rmEqNE@?n+X)iHtv8 zM}vpKgN)+wMEVQ`k##;FO^Kg&KoKnuX{F5eEFQ5gd$2K;pBpmHFk9G=>m(t2+Z5Ml zIohF1@t)!uK)<*$u+$evz;C&tv?4S&w}h)Dg_yii${F{1C5%+pBqhBW1IvpUY*cGk z(w%_O0%j>c-5r~!fVOrIApWLOX#uHFHQFk`JW?~1=^KQnw6Q#-e7l0s!({wh7mQeE ze_A@SI4BSy{50(`Cy)axg{4eQ)vEMTJS6e4yq9u#Ig+l9_3gKW?CF=FZO-h;B7$1{ zpJcu4fWCe51c*^*2RK-!AWd&CxNlVn$BWnKtkDT)C&o}*TsznOG8s8$oh^t74@%DwZt7WNeF7Te1J^Jyd1mI-|nC-OxxI_r+q~VV?0hEU82;9bC7bjD?e6G$dfLKn_u4Rkg-4{{?;rCLLN-gK=ZBiFTI*X^Yg8Oo;lHg18degzw)yG;>@r297{u?8NjF2bP)R`A3|y&sTqwuD@r z&3N4^LNJudOuTDhkHjRowDEY^BK0u3$|t32zwy#r)|3pUBP+KVDz)?7){TtE+!pC_ zo}1LB4tAc+jWc>_?wWi{v~hUhs5&#t6!UYwZZwv=$a^Xu_Cs+QUzh(QZ}UTMbOVa> z+;kHSa@=)`jL3xU7a<7S%8%cMwUZcvRNw{XgQM`emMD{%H-HQdujlBh{>(bh(>&6Y zhu7ajEotBU4t6(z;}m{3;7m_P2l)(5o%Cou-xDXruPu=FrTcH2FEz&Qo0~HY97F12ZKlFbsuXHmpRQZnwK6<9t zvY#0NWX7wjZ$Ck0&p3)jG=UYHpgl>X3E3W>f~66-7;5tA51S?@cKav6XwBvt^1mH>=E-$3 z0s{egh64dX`#b+JMd|o5derprwc}_P$4jKr9<18i(+;Q-I`qA+H_LV@Z*^R!A zQk<5y<+2CYp1u#9rOcM&wlh(W`b&Fa`YgRcWyth|{ z%ewPdj40UtGD^d~Xl%IA8qQS5eO7uQ$}1CMjVKO+nedaeNRXB~Cp?evNEk8PICWBK z>>b|Dtz>f6n80$D=*2M`&+s+X5d(S&;UrdVQ>DXU<^wCdU+35?xYBvzC03?vj}gjr zPJ9r@;Sx=QfrlBWSZK(kyK6%uwt5vE&ZoO5$c|>Y&k|AE-ZN8CDa_Wu1C2UJo0Yr!AeF(wbeRY4tjJ< zGHtU5kB@iO=KGOPuWpKmne^V3usHAM6D-`hXtCOuKF#F}8YB0|ZN?k881*3v&wwnO zM8m#Apa?Xxv~%ZET6_^X{Sh5LHJJ4et~ z4&mF&^fe`#%(sd$JZ2BRxDAWz6rm>FZB>2y{oa%t!4#F@ike+JNHC_!+RFojG%CW(-?3_*c_w9|rsVEpTrbT&7!F=6`a$nw_?XIk=hYn<3! zf7DUh_7|SkTq4>e&Q{KsiV)G7#bO)8wXLa@h>yv;5YHWY{0%m0`r*!+`fDnM;m_t? z(`^Zwkbdc5)2v2ND>)tx%KxN*9wvR{_wLqH{=Ik_MhN;G?jZMiuXUj8fk?bngmgcA z-slzdHn@bl4fcdYz94npNV99TT>Z5Lt{Mi*14g=Ky1J+701j1$Cb@+njHFu}e1E(Z z)r1iJIzIX{QV?{)64?*S)^&OhlxNJ}d0{`7HfCYgU=YxMxSWH5IK2_Z6LoD{(&IP6 zt~K^&B}&t!Bdc?JB|oY>OcZx~#$E|4v>AOR@MIPa>jQ&uB%%7L#`97y%OWL17LP7Y zpD#Ca*DsXCD1suZv3R`Vj(zjx>F#bk!@{C0ogMPGZuRo{m$`PTotdT|5_FH~cfRFw zGBR;sgY1wA&g0RJ8`6o%MJWpPo5#+$r73d+AFPilQ^JI4 zoDWT;yp(#{umOv{0&R$!i`qa@1rJNe>P;@v0@pi`u#h=n(xlr%CUID~WwC<4FH-+Rx;tT%tmU31sn`^

    Dee2#+RN~sF)>tQR-75F^EiUs5D(CL#5Yu|yaTetPr#qkI9(tFL%+S4$ASe@L zCO@X@_hUNa%dzKLN`bh^T013Imdj^#2Sg+-CQY(hr|x>0Y+yqDE#PXQQY!&M+Kh8$ z#rjfJ>#zMY5+W{Fz^#eN`VDeReO9w{arRGp@jNKBIwDmEafDi=B9_1SId_-+ zLRy@DG@URtA({e|L;r0XA3=#K1vjKG%b}tFC1as6tbq3!ms!Pe>&69nMg}33=<%r{ z@HV;8RP@aB&{{-M@zFEwm5j9Z7OttO8IDqgokP1yt!QcurNl>HviuQeJ7!-=;!Ao} z^L`+*H8PYq)!y8)<9I_#il`7!!~A|Pcg#Ib&pnrcq;*{Oy+P*dpi=LqmlXn)nd7I8 z#Wn4B7J5TnDwbkq#3?;j!or#$unI9A^S(l-cm%y-&^NS}+j=!5DfRFs$DYXv`)$nk zr^(LeULM8e=rxXp84f48wPcf6aj|LxOJE7(^d`Q8n`KpEn?r2X5FNW|!zsh`Q=Qn2 zLE>dw5xFJ-1wTtJh?j^JSDPm@@uF8Ax&SL#6MCuFrWO#GHH>cHb=htGymCxPhkt(! zEhA{prNU!bP6>@_6i=PI3--WsJ`TL95zte3IN>^^P~Bj%L%+aR-jKVvd+a1$O+TP0 z%3+0LWU5Y$Q6!Lp2 zTD|OnCMNo7c4qnQRaXb;41BdxQ@bcACF-;PgbtS*v5_>dlg7$Ofo6%nYO@Y4=EL1C zhBfp%#)VP{KRn?aM(&rLz&fIhgps?%W;!9S*r|-(OfnD=mc|Pjo?miLn6qx1X2oOB=EBdQdhR>Vp4H*k*w5!&^`Wm!V<t$Lc7e|${LK~jWQtNddD zE2TZ9#PSLT?)vQO#qcxc$;)tyXS?t_eVq0yH zqJh_2UrZ(qbSkdFLGmxgf|OGjy5VRb*UFn4HDKI}0axnAP_im$Xsn}NMgTiR^a*6!ic^C)pi4XsXhAmiac#>H?guK({2 z`%iSgw}y=$t4Hc{Vyw>{8cdD0RW_hIMfxYCX!CNeOw~zaP2f_pRuv^!XR$UqjS!6f z>eRz2n5g=#EPLWaMOjsP$cF2&o7g63F4#GpvB|BGTR~v+M#+!em-l<@TdZvlq94dI z)3gYbyVMNw67%R}F=h;hOX~Ak<$E>kT7t%NS}!NRcQLhbXwxaM99cM)P&44d>fK(n zhtan>gbeU=HMWsjNko0isuzjrS)-X#8Y8~cRnt+eY}1v#n7u%|enTN`s%p!~fGv@M zQ(p`GSIC;~F0LNG?`mFBy>plV`9q)1-ouqa!9omMa&)w;}bkeKg&gQSixi}`+S#h3J-z|#FZSN8lVHp6{0;TLQC0oMS-ZM*h zdc)n`*L=j{BV;{fSk3-$u<@xKG}6SPu$CU+V6I{*v>G1a$|zTqaq;7!sW-f+5maETd}@ufPI10obVxX-;gvo6&u()#Ii;T_nh&(`~D$oISGTek2!L^Z=|9 zGr}ay;KFGs#63m{t_YP>5toqMoJmu|6lYW3iPR8l(+Gi&9%qLHh|=Nma|UOJ-5KPr z17VC}CfLT{xhdni%<^zcK07=4P$Eg;v!uQ#jR|L06#JC06WyU}Tt)ViP;YtS>&&D# z^qz}(F(GlhqK3meOk-l5r6Kh{TT45{eKdyaSFJgDpehuLvO-P8 z+rn9fO$pcsqRI8|&enJ)o|u$JXfB!-TglF4olS7a zGcCtrsK%!i$H_|3ga1PdD)oHP{<04F1gZxTJ+xUZr`b$oXMq8IIezMv52aEHE^S;IF{7@|RdQdzx|6EO%!IChVT zp2<5zM8HFSEayB5;6evkXHPV-h&LKRxAmr)VPhdQgP3)U>*8oH`0|Rd@piN&SR%Dj zS2Vu<2jxLvA-=lM#sj+_Ptk-c3+gGJ#30pfgqsihmrrXuBRLwy^MMQTZhIQzR+RVQ zAApAt6Y+DLPAqn_jtqqwMf%oAwZ3hq?&`+FNLe<*Hc#}NI)b3{^=W`Th zzIuUh`e(rPss!(=PJA^50$SQ-LhKuwrpBkfCI_C7!)0lp36F4U-lenu7sr;m*M(Lf z^I96psqTBi+qGCHyYEj()@HkRM_$X`#5tWl z5Z~b?$L?(t>Mr4x<3Zv2)lNQtK*F{b-v)%oDKD+|s)Ya6q#q7%F}REZU*e%@X=4Z;RzZy z9p{Nk-r9SR&tw@o@F8usx;^UwBC5{q{vx(#$HOnFnW;cG)4EP$#h!3z;0{G- z=!Q>@EkB**z!njX@>f{@v)Gq{#L;!)SbLt8MgBJ|32T-(G9<0q`*s?1SPH;_!TL>_ z=hg`6hqvrwlQb~Rqx_&LhB{-g#m#Di(0gPp@A(%UEKg?4O>EMEnLCa+ysqy=&X-as z08&U-z1AW6fj7x@Wb&h2 zqM%xBoHXF{*(ccRZSZRMH*EBD3VT&cV%AaxDBrpL&{T_cMjXFZo=Qf*1=~qhCoi4m z3GdY!*%$3xmetW8lcrODz$H51XTLq=jM% z5-|I>e~tneVjSby9tiu$pf6y}N|GbDLXGja@s`euuO_I~(vzV57_LMqm>Sr=o`ffq zNuDGpko+AXC6q}15|T7RleMK}SWxTb%{a;hHh)rOM3C`qJ~_AFe`f`+>%2R4z4irt zD<6m{U&9?+rkAik{bTADeD>sW;6WV2q}SE*@iQk)uQ!*6ptGP(?1GM;gW;jlJq7*M zR51e0At_ocupl-fPR=mIt=5B#o`^B2sfZL$y_$`iwPWhOwjAM*^h~azXNJA@Qudeg zpR8bxF#F4c7koquY|doOVdo)>gF7oy*ksK)TWeB?6Xfc>$JS9zyO;Rfr*4Y2F2f&d z3j(+i1{GKk=+ShfcF3}>Q0f=9rg6V%6Un(jbAKO}GOJPxB^utR+1vc=P}z#y_^QaD zQsyy`E_`}+`)bZnC=x+>F51=?E2g_7r;2-Ob#sU_alJezv{No{p?1M* zm-Y!GYh}t-ZtXU(RqyLIJCx%&a-U+M`?fVj`}PxNd#P%EPmdh6NrI{{Qtxl%3w}W0 zVW`Ha2t|jog4IGnSmS$z{twJNx!~gLM>4(a{1{p1`1uCdWKF9iA+u~Dud;EC2=k*^ zOffcItR{ff>V*p|Isr-T-~Bf0Jn{3@%8MsreNDfLqZz}9<1d$J;!R^wDH*Fi^*~99A)2TG;3(>;s<-B~6Kt zZ&Ty(^ttgY`{tY5ji7H}TOy+3hj}M&njt0=&C-*bpZ2Y#;b!bCvE)XLs*Ti0* zeHu@fe&6meEw`;~v^`*EJG3|86|^a3QYgUBOKoR`?aY6Pp~q-avico*i^?66*&CHq4~7yi{{H1K@s^a2zt5xl%o*JbkKB2oIP*h{ecW}1|($s9%`TR4lqAyuE4 z_VeWZFYaD_F_d3Tsv{G}j8ao9=3n~-oF?IZAN63_?3b_1CIg+Q0X0;#x!NGT3s>4U z=n-t2K*Fzd&Jrx3@b9jxj|e?q6P1Nx-Lfrw{-0l0!r+r$X-$(&IRQZ&~8{ zHIGY^(~$~w2$^&HWjp@i%;<_vi$44Fs9 z{~L`whTM3Er1-za|1IrNf#67dZ9C*86G$M*HQ+k(%s*?7m5clDOf)L|cyWeskrZA|$k_i2?i@l(Duir& z7}*rvwZ?%+ss9`P|H%JM@}IpBUrl*8mLC8x)xiW1U1KVv`HRWJ)6dc7cexU^4^Uqy z`8Ph~hN<#3Fv{yCQF&17qT7OuqlK$$IYsL!|kE#d%;4f4EHN>u~LroP- ca} -import com.twitter.goldfinch.api.AdsInjectionSurfaceAreas -import com.twitter.home_mixer.candidate_pipeline.EditedTweetsCandidatePipelineConfig -import com.twitter.home_mixer.candidate_pipeline.NewTweetsPillCandidatePipelineConfig -import com.twitter.home_mixer.functional_component.decorator.urt.builder.AddEntriesWithReplaceAndShowAlertAndCoverInstructionBuilder -import com.twitter.home_mixer.functional_component.feature_hydrator._ -import com.twitter.home_mixer.functional_component.selector.DebunchCandidates -import com.twitter.home_mixer.functional_component.selector.UpdateConversationModuleId -import com.twitter.home_mixer.functional_component.selector.UpdateHomeClientEventDetails -import com.twitter.home_mixer.functional_component.selector.UpdateNewTweetsPillDecoration -import com.twitter.home_mixer.functional_component.side_effect._ -import com.twitter.home_mixer.model.ClearCacheIncludeInstruction -import com.twitter.home_mixer.model.HomeFeatures.InNetworkFeature -import com.twitter.home_mixer.param.HomeGlobalParams.MaxNumberReplaceInstructionsParam -import com.twitter.home_mixer.param.HomeMixerFlagName.ScribeClientEventsFlag -import com.twitter.home_mixer.product.following.model.HomeMixerExternalStrings -import com.twitter.home_mixer.product.for_you.feature_hydrator.TimelineServiceTweetsQueryFeatureHydrator -import com.twitter.home_mixer.product.for_you.model.ForYouQuery -import com.twitter.home_mixer.product.for_you.param.ForYouParam.ClearCacheOnPtr -import com.twitter.home_mixer.product.for_you.param.ForYouParam.EnableFlipInjectionModuleCandidatePipelineParam -import com.twitter.home_mixer.product.for_you.param.ForYouParam.FlipInlineInjectionModulePosition -import com.twitter.home_mixer.product.for_you.param.ForYouParam.ServerMaxResultsParam -import com.twitter.home_mixer.product.for_you.param.ForYouParam.TweetPreviewsPositionParam -import com.twitter.home_mixer.product.for_you.param.ForYouParam.WhoToFollowPositionParam -import com.twitter.home_mixer.product.for_you.param.ForYouParam.WhoToSubscribePositionParam -import com.twitter.home_mixer.product.for_you.side_effect.ServedCandidateFeatureKeysKafkaSideEffectBuilder -import com.twitter.home_mixer.product.for_you.side_effect.ServedCandidateKeysKafkaSideEffectBuilder -import com.twitter.home_mixer.product.for_you.side_effect.ServedStatsSideEffect -import com.twitter.home_mixer.util.CandidatesUtil -import com.twitter.inject.annotations.Flag -import com.twitter.logpipeline.client.common.EventPublisher -import com.twitter.product_mixer.component_library.feature_hydrator.query.async.AsyncQueryFeatureHydrator -import com.twitter.product_mixer.component_library.feature_hydrator.query.social_graph.PreviewCreatorsQueryFeatureHydrator -import com.twitter.product_mixer.component_library.feature_hydrator.query.social_graph.SGSFollowedUsersQueryFeatureHydrator -import com.twitter.product_mixer.component_library.model.candidate.TweetCandidate -import com.twitter.product_mixer.component_library.pipeline.candidate.flexible_injection_pipeline.FlipPromptCandidatePipelineConfigBuilder -import com.twitter.product_mixer.component_library.pipeline.candidate.who_to_follow_module.WhoToFollowCandidatePipelineConfig -import com.twitter.product_mixer.component_library.pipeline.candidate.who_to_subscribe_module.WhoToSubscribeCandidatePipelineConfig -import com.twitter.product_mixer.component_library.premarshaller.urt.UrtDomainMarshaller -import com.twitter.product_mixer.component_library.premarshaller.urt.builder.ClearCacheInstructionBuilder -import com.twitter.product_mixer.component_library.premarshaller.urt.builder.OrderedBottomCursorBuilder -import com.twitter.product_mixer.component_library.premarshaller.urt.builder.OrderedTopCursorBuilder -import com.twitter.product_mixer.component_library.premarshaller.urt.builder.ReplaceAllEntries -import com.twitter.product_mixer.component_library.premarshaller.urt.builder.ReplaceEntryInstructionBuilder -import com.twitter.product_mixer.component_library.premarshaller.urt.builder.ShowAlertInstructionBuilder -import com.twitter.product_mixer.component_library.premarshaller.urt.builder.ShowCoverInstructionBuilder -import com.twitter.product_mixer.component_library.premarshaller.urt.builder.StaticTimelineScribeConfigBuilder -import com.twitter.product_mixer.component_library.premarshaller.urt.builder.UrtMetadataBuilder -import com.twitter.product_mixer.component_library.selector.DropMaxCandidates -import com.twitter.product_mixer.component_library.selector.DropMaxModuleItemCandidates -import com.twitter.product_mixer.component_library.selector.DropModuleTooFewModuleItemResults -import com.twitter.product_mixer.component_library.selector.InsertAppendResults -import com.twitter.product_mixer.component_library.selector.InsertFixedPositionResults -import com.twitter.product_mixer.component_library.selector.SelectConditionally -import com.twitter.product_mixer.component_library.selector.UpdateSortCandidates -import com.twitter.product_mixer.component_library.selector.UpdateSortModuleItemCandidates -import com.twitter.product_mixer.component_library.selector.ads.AdsInjector -import com.twitter.product_mixer.component_library.selector.ads.InsertAdResults -import com.twitter.product_mixer.core.functional_component.common.SpecificPipeline -import com.twitter.product_mixer.core.functional_component.common.SpecificPipelines -import com.twitter.product_mixer.core.functional_component.configapi.StaticParam -import com.twitter.product_mixer.core.functional_component.feature_hydrator.QueryFeatureHydrator -import com.twitter.product_mixer.core.functional_component.marshaller.TransportMarshaller -import com.twitter.product_mixer.core.functional_component.marshaller.response.urt.UrtTransportMarshaller -import com.twitter.product_mixer.core.functional_component.premarshaller.DomainMarshaller -import com.twitter.product_mixer.core.functional_component.selector.Selector -import com.twitter.product_mixer.core.functional_component.side_effect.PipelineResultSideEffect -import com.twitter.product_mixer.core.model.common.UniversalNoun -import com.twitter.product_mixer.core.model.common.identifier.CandidatePipelineIdentifier -import com.twitter.product_mixer.core.model.common.identifier.MixerPipelineIdentifier -import com.twitter.product_mixer.core.model.common.presentation.ItemCandidateWithDetails -import com.twitter.product_mixer.core.model.common.presentation.ModuleCandidateWithDetails -import com.twitter.product_mixer.core.model.marshalling.response.urt.Timeline -import com.twitter.product_mixer.core.model.marshalling.response.urt.TimelineModule -import com.twitter.product_mixer.core.model.marshalling.response.urt.TimelineScribeConfig -import com.twitter.product_mixer.core.model.marshalling.response.urt.item.tweet.TweetItem -import com.twitter.product_mixer.core.pipeline.FailOpenPolicy -import com.twitter.product_mixer.core.pipeline.candidate.CandidatePipelineConfig -import com.twitter.product_mixer.core.pipeline.candidate.DependentCandidatePipelineConfig -import com.twitter.product_mixer.core.pipeline.mixer.MixerPipelineConfig -import com.twitter.product_mixer.core.product.guice.scope.ProductScoped -import com.twitter.stringcenter.client.StringCenter -import com.twitter.timelines.render.{thriftscala => urt} -import javax.inject.Inject -import javax.inject.Provider -import javax.inject.Singleton - -@Singleton -class ForYouScoredTweetsMixerPipelineConfig @Inject() ( - forYouAdsDependentCandidatePipelineBuilder: ForYouAdsDependentCandidatePipelineBuilder, - forYouConversationServiceCandidatePipelineConfig: ForYouConversationServiceCandidatePipelineConfig, - forYouPushToHomeTweetCandidatePipelineConfig: ForYouPushToHomeTweetCandidatePipelineConfig, - forYouScoredTweetsCandidatePipelineConfig: ForYouScoredTweetsCandidatePipelineConfig, - forYouWhoToFollowCandidatePipelineConfigBuilder: ForYouWhoToFollowCandidatePipelineConfigBuilder, - forYouWhoToSubscribeCandidatePipelineConfigBuilder: ForYouWhoToSubscribeCandidatePipelineConfigBuilder, - flipPromptCandidatePipelineConfigBuilder: FlipPromptCandidatePipelineConfigBuilder, - editedTweetsCandidatePipelineConfig: EditedTweetsCandidatePipelineConfig, - newTweetsPillCandidatePipelineConfig: NewTweetsPillCandidatePipelineConfig[ForYouQuery], - forYouTweetPreviewsCandidatePipelineConfig: ForYouTweetPreviewsCandidatePipelineConfig, - dismissInfoQueryFeatureHydrator: DismissInfoQueryFeatureHydrator, - gizmoduckUserQueryFeatureHydrator: GizmoduckUserQueryFeatureHydrator, - persistenceStoreQueryFeatureHydrator: PersistenceStoreQueryFeatureHydrator, - requestQueryFeatureHydrator: RequestQueryFeatureHydrator[ForYouQuery], - timelineServiceTweetsQueryFeatureHydrator: TimelineServiceTweetsQueryFeatureHydrator, - previewCreatorsQueryFeatureHydrator: PreviewCreatorsQueryFeatureHydrator, - sgsFollowedUsersQueryFeatureHydrator: SGSFollowedUsersQueryFeatureHydrator, - adsInjector: AdsInjector, - servedCandidateKeysKafkaSideEffectBuilder: ServedCandidateKeysKafkaSideEffectBuilder, - servedCandidateFeatureKeysKafkaSideEffectBuilder: ServedCandidateFeatureKeysKafkaSideEffectBuilder, - updateTimelinesPersistenceStoreSideEffect: UpdateTimelinesPersistenceStoreSideEffect, - truncateTimelinesPersistenceStoreSideEffect: TruncateTimelinesPersistenceStoreSideEffect, - homeScribeServedCandidatesSideEffect: HomeScribeServedCandidatesSideEffect, - servedStatsSideEffect: ServedStatsSideEffect, - clientEventsScribeEventPublisher: EventPublisher[ca.LogEvent], - externalStrings: HomeMixerExternalStrings, - @ProductScoped stringCenterProvider: Provider[StringCenter], - urtTransportMarshaller: UrtTransportMarshaller, - @Flag(ScribeClientEventsFlag) enableScribeClientEvents: Boolean) - extends MixerPipelineConfig[ForYouQuery, Timeline, urt.TimelineResponse] { - - override val identifier: MixerPipelineIdentifier = MixerPipelineIdentifier("ForYouScoredTweets") - - private val MaxConsecutiveOutOfNetworkCandidates = 2 - - private val PushToHomeTweetPosition = 0 - - private val dependentCandidatesStep = MixerPipelineConfig.dependentCandidatePipelinesStep - - override val fetchQueryFeatures: Seq[QueryFeatureHydrator[ForYouQuery]] = Seq( - requestQueryFeatureHydrator, - persistenceStoreQueryFeatureHydrator, - timelineServiceTweetsQueryFeatureHydrator, - previewCreatorsQueryFeatureHydrator, - sgsFollowedUsersQueryFeatureHydrator, - AsyncQueryFeatureHydrator(dependentCandidatesStep, dismissInfoQueryFeatureHydrator), - AsyncQueryFeatureHydrator(dependentCandidatesStep, gizmoduckUserQueryFeatureHydrator), - ) - - private val scoredTweetsCandidatePipelineScope = - SpecificPipeline(forYouScoredTweetsCandidatePipelineConfig.identifier) - - private val forYouAdsCandidatePipelineConfig = forYouAdsDependentCandidatePipelineBuilder - .build(scoredTweetsCandidatePipelineScope) - - private val forYouWhoToFollowCandidatePipelineConfig = - forYouWhoToFollowCandidatePipelineConfigBuilder.build() - - private val forYouWhoToSubscribeCandidatePipelineConfig = - forYouWhoToSubscribeCandidatePipelineConfigBuilder.build() - - private val flipPromptCandidatePipelineConfig = - flipPromptCandidatePipelineConfigBuilder.build[ForYouQuery]( - supportedClientParam = Some(EnableFlipInjectionModuleCandidatePipelineParam) - ) - - override val candidatePipelines: Seq[CandidatePipelineConfig[ForYouQuery, _, _, _]] = Seq( - forYouScoredTweetsCandidatePipelineConfig, - forYouPushToHomeTweetCandidatePipelineConfig, - forYouWhoToFollowCandidatePipelineConfig, - forYouWhoToSubscribeCandidatePipelineConfig, - forYouTweetPreviewsCandidatePipelineConfig, - flipPromptCandidatePipelineConfig - ) - - override val dependentCandidatePipelines: Seq[ - DependentCandidatePipelineConfig[ForYouQuery, _, _, _] - ] = Seq( - forYouAdsCandidatePipelineConfig, - forYouConversationServiceCandidatePipelineConfig, - editedTweetsCandidatePipelineConfig, - newTweetsPillCandidatePipelineConfig - ) - - override val failOpenPolicies: Map[CandidatePipelineIdentifier, FailOpenPolicy] = Map( - forYouScoredTweetsCandidatePipelineConfig.identifier -> FailOpenPolicy.Always, - forYouAdsCandidatePipelineConfig.identifier -> FailOpenPolicy.Always, - forYouWhoToFollowCandidatePipelineConfig.identifier -> FailOpenPolicy.Always, - forYouWhoToSubscribeCandidatePipelineConfig.identifier -> FailOpenPolicy.Always, - forYouTweetPreviewsCandidatePipelineConfig.identifier -> FailOpenPolicy.Always, - flipPromptCandidatePipelineConfig.identifier -> FailOpenPolicy.Always, - editedTweetsCandidatePipelineConfig.identifier -> FailOpenPolicy.Always, - newTweetsPillCandidatePipelineConfig.identifier -> FailOpenPolicy.Always, - ) - - override val resultSelectors: Seq[Selector[ForYouQuery]] = Seq( - UpdateSortCandidates( - ordering = CandidatesUtil.reverseChronTweetsOrdering, - candidatePipeline = forYouConversationServiceCandidatePipelineConfig.identifier - ), - UpdateSortCandidates( - ordering = CandidatesUtil.scoreOrdering, - candidatePipeline = forYouScoredTweetsCandidatePipelineConfig.identifier - ), - UpdateSortModuleItemCandidates( - candidatePipeline = forYouScoredTweetsCandidatePipelineConfig.identifier, - ordering = CandidatesUtil.conversationModuleTweetsOrdering - ), - DebunchCandidates( - pipelineScope = SpecificPipeline(forYouScoredTweetsCandidatePipelineConfig.identifier), - mustDebunch = { - case item: ItemCandidateWithDetails => - !item.features.getOrElse(InNetworkFeature, false) - case module: ModuleCandidateWithDetails => - !module.candidates.last.features.getOrElse(InNetworkFeature, false) - }, - maxBunchSize = MaxConsecutiveOutOfNetworkCandidates - ), - UpdateConversationModuleId( - pipelineScope = SpecificPipeline(forYouScoredTweetsCandidatePipelineConfig.identifier) - ), - DropMaxCandidates( - candidatePipeline = forYouConversationServiceCandidatePipelineConfig.identifier, - maxSelectionsParam = ServerMaxResultsParam - ), - DropMaxCandidates( - candidatePipeline = forYouScoredTweetsCandidatePipelineConfig.identifier, - maxSelectionsParam = ServerMaxResultsParam - ), - DropMaxCandidates( - candidatePipeline = editedTweetsCandidatePipelineConfig.identifier, - maxSelectionsParam = MaxNumberReplaceInstructionsParam - ), - DropMaxModuleItemCandidates( - candidatePipeline = forYouWhoToFollowCandidatePipelineConfig.identifier, - maxModuleItemsParam = StaticParam(WhoToFollowCandidatePipelineConfig.MaxCandidatesSize) - ), - DropMaxModuleItemCandidates( - candidatePipeline = forYouWhoToSubscribeCandidatePipelineConfig.identifier, - maxModuleItemsParam = StaticParam(WhoToSubscribeCandidatePipelineConfig.MaxCandidatesSize) - ), - // The Conversation Service pipeline will only run if the Scored Tweets pipeline returned nothing - InsertAppendResults( - candidatePipeline = forYouConversationServiceCandidatePipelineConfig.identifier - ), - InsertAppendResults( - candidatePipeline = forYouScoredTweetsCandidatePipelineConfig.identifier - ), - InsertFixedPositionResults( - candidatePipeline = forYouTweetPreviewsCandidatePipelineConfig.identifier, - positionParam = TweetPreviewsPositionParam - ), - InsertFixedPositionResults( - candidatePipeline = forYouWhoToFollowCandidatePipelineConfig.identifier, - positionParam = WhoToFollowPositionParam - ), - InsertFixedPositionResults( - candidatePipeline = forYouWhoToSubscribeCandidatePipelineConfig.identifier, - positionParam = WhoToSubscribePositionParam - ), - InsertFixedPositionResults( - candidatePipeline = flipPromptCandidatePipelineConfig.identifier, - positionParam = FlipInlineInjectionModulePosition - ), - // Insert Push To Home Tweet at top of Timeline - InsertFixedPositionResults( - candidatePipeline = forYouPushToHomeTweetCandidatePipelineConfig.identifier, - positionParam = StaticParam(PushToHomeTweetPosition) - ), - InsertAdResults( - surfaceAreaName = AdsInjectionSurfaceAreas.HomeTimeline, - adsInjector = adsInjector.forSurfaceArea(AdsInjectionSurfaceAreas.HomeTimeline), - adsCandidatePipeline = forYouAdsCandidatePipelineConfig.identifier - ), - // This selector must come after the tweets are inserted into the results - DropModuleTooFewModuleItemResults( - candidatePipeline = forYouWhoToFollowCandidatePipelineConfig.identifier, - minModuleItemsParam = StaticParam(WhoToFollowCandidatePipelineConfig.MinCandidatesSize) - ), - DropModuleTooFewModuleItemResults( - candidatePipeline = forYouWhoToSubscribeCandidatePipelineConfig.identifier, - minModuleItemsParam = StaticParam(WhoToSubscribeCandidatePipelineConfig.MinCandidatesSize) - ), - UpdateNewTweetsPillDecoration( - pipelineScope = SpecificPipelines( - forYouConversationServiceCandidatePipelineConfig.identifier, - forYouScoredTweetsCandidatePipelineConfig.identifier, - newTweetsPillCandidatePipelineConfig.identifier - ), - stringCenter = stringCenterProvider.get(), - seeNewTweetsString = externalStrings.seeNewTweetsString, - tweetedString = externalStrings.tweetedString - ), - InsertAppendResults(candidatePipeline = editedTweetsCandidatePipelineConfig.identifier), - SelectConditionally( - selector = - InsertAppendResults(candidatePipeline = newTweetsPillCandidatePipelineConfig.identifier), - includeSelector = (_, _, results) => CandidatesUtil.containsType[TweetCandidate](results) - ), - UpdateHomeClientEventDetails( - candidatePipelines = Set( - forYouConversationServiceCandidatePipelineConfig.identifier, - forYouScoredTweetsCandidatePipelineConfig.identifier - ) - ), - ) - - private val servedCandidateKeysKafkaSideEffect = - servedCandidateKeysKafkaSideEffectBuilder.build( - Set(forYouScoredTweetsCandidatePipelineConfig.identifier)) - - private val servedCandidateFeatureKeysKafkaSideEffect = - servedCandidateFeatureKeysKafkaSideEffectBuilder.build( - Set(forYouScoredTweetsCandidatePipelineConfig.identifier)) - - private val homeScribeClientEventSideEffect = HomeScribeClientEventSideEffect( - enableScribeClientEvents = enableScribeClientEvents, - logPipelinePublisher = clientEventsScribeEventPublisher, - injectedTweetsCandidatePipelineIdentifiers = Seq( - forYouScoredTweetsCandidatePipelineConfig.identifier, - forYouConversationServiceCandidatePipelineConfig.identifier - ), - adsCandidatePipelineIdentifier = Some(forYouAdsCandidatePipelineConfig.identifier), - whoToFollowCandidatePipelineIdentifier = Some( - forYouWhoToFollowCandidatePipelineConfig.identifier - ), - whoToSubscribeCandidatePipelineIdentifier = - Some(forYouWhoToSubscribeCandidatePipelineConfig.identifier) - ) - - override val resultSideEffects: Seq[PipelineResultSideEffect[ForYouQuery, Timeline]] = Seq( - servedCandidateKeysKafkaSideEffect, - servedCandidateFeatureKeysKafkaSideEffect, - updateTimelinesPersistenceStoreSideEffect, - truncateTimelinesPersistenceStoreSideEffect, - homeScribeClientEventSideEffect, - homeScribeServedCandidatesSideEffect, - servedStatsSideEffect - ) - - override val domainMarshaller: DomainMarshaller[ForYouQuery, Timeline] = { - val instructionBuilders = Seq( - ClearCacheInstructionBuilder( - ClearCacheIncludeInstruction( - ClearCacheOnPtr.EnableParam, - ClearCacheOnPtr.MinEntriesParam, - ) - ), - ReplaceEntryInstructionBuilder(ReplaceAllEntries), - // excludes alert, cover, and replace candidates - AddEntriesWithReplaceAndShowAlertAndCoverInstructionBuilder(), - ShowAlertInstructionBuilder(), - ShowCoverInstructionBuilder(), - ) - - val idSelector: PartialFunction[UniversalNoun[_], Long] = { - // exclude ads while determining tweet cursor values - case item: TweetItem if item.promotedMetadata.isEmpty => item.id - case module: TimelineModule - if module.items.headOption.exists(_.item.isInstanceOf[TweetItem]) => - module.items.last.item match { case item: TweetItem => item.id } - } - val topCursorBuilder = OrderedTopCursorBuilder(idSelector) - val bottomCursorBuilder = OrderedBottomCursorBuilder(idSelector) - - val metadataBuilder = UrtMetadataBuilder( - title = None, - scribeConfigBuilder = Some( - StaticTimelineScribeConfigBuilder( - TimelineScribeConfig( - page = Some("for_you_scored_tweets"), - section = None, - entityToken = None))) - ) - - UrtDomainMarshaller( - instructionBuilders = instructionBuilders, - metadataBuilder = Some(metadataBuilder), - cursorBuilders = Seq(topCursorBuilder, bottomCursorBuilder) - ) - } - - override val transportMarshaller: TransportMarshaller[Timeline, urt.TimelineResponse] = - urtTransportMarshaller -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/ForYouScoredTweetsResponseFeatureTransformer.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/ForYouScoredTweetsResponseFeatureTransformer.docx new file mode 100644 index 0000000000000000000000000000000000000000..22a6429dd51f104b9ce1fef147d2d75f761415af GIT binary patch literal 37839 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 literal 0 HcmV?d00001 diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/ForYouScoredTweetsResponseFeatureTransformer.scala b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/ForYouScoredTweetsResponseFeatureTransformer.scala deleted file mode 100644 index eafc09352..000000000 --- a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/ForYouScoredTweetsResponseFeatureTransformer.scala +++ /dev/null @@ -1,103 +0,0 @@ -package com.twitter.home_mixer.product.for_you - -import com.twitter.home_mixer.model.HomeFeatures._ -import com.twitter.home_mixer.product.for_you.candidate_source.ScoredTweetWithConversationMetadata -import com.twitter.product_mixer.core.feature.Feature -import com.twitter.product_mixer.core.feature.featuremap.FeatureMap -import com.twitter.product_mixer.core.feature.featuremap.FeatureMapBuilder -import com.twitter.product_mixer.core.functional_component.transformer.CandidateFeatureTransformer -import com.twitter.product_mixer.core.model.common.identifier.TransformerIdentifier -import com.twitter.product_mixer.core.model.marshalling.response.urt.metadata.BasicTopicContextFunctionalityType -import com.twitter.product_mixer.core.model.marshalling.response.urt.metadata.RecWithEducationTopicContextFunctionalityType -import com.twitter.product_mixer.core.model.marshalling.response.urt.metadata.RecommendationTopicContextFunctionalityType -import com.twitter.timelines.render.{thriftscala => tl} -import com.twitter.timelineservice.suggests.{thriftscala => tls} - -object ForYouScoredTweetsResponseFeatureTransformer - extends CandidateFeatureTransformer[ScoredTweetWithConversationMetadata] { - - override val identifier: TransformerIdentifier = - TransformerIdentifier("ForYouScoredTweetsResponse") - - override val features: Set[Feature[_, _]] = Set( - AncestorsFeature, - AuthorIdFeature, - AuthorIsBlueVerifiedFeature, - AuthorIsCreatorFeature, - AuthorIsGoldVerifiedFeature, - AuthorIsGrayVerifiedFeature, - AuthorIsLegacyVerifiedFeature, - ConversationModuleFocalTweetIdFeature, - ConversationModuleIdFeature, - DirectedAtUserIdFeature, - ExclusiveConversationAuthorIdFeature, - FullScoringSucceededFeature, - FavoritedByUserIdsFeature, - FollowedByUserIdsFeature, - InNetworkFeature, - InReplyToTweetIdFeature, - InReplyToUserIdFeature, - IsAncestorCandidateFeature, - IsReadFromCacheFeature, - IsRetweetFeature, - PerspectiveFilteredLikedByUserIdsFeature, - QuotedTweetIdFeature, - QuotedUserIdFeature, - SGSValidFollowedByUserIdsFeature, - SGSValidLikedByUserIdsFeature, - ScoreFeature, - SourceTweetIdFeature, - SourceUserIdFeature, - StreamToKafkaFeature, - SuggestTypeFeature, - TopicContextFunctionalityTypeFeature, - TopicIdSocialContextFeature - ) - - override def transform(input: ScoredTweetWithConversationMetadata): FeatureMap = - FeatureMapBuilder() - .add(AncestorsFeature, input.ancestors.getOrElse(Seq.empty)) - .add(AuthorIdFeature, Some(input.authorId)) - .add(AuthorIsBlueVerifiedFeature, input.authorIsBlueVerified.getOrElse(false)) - .add(AuthorIsGoldVerifiedFeature, input.authorIsGoldVerified.getOrElse(false)) - .add(AuthorIsGrayVerifiedFeature, input.authorIsGrayVerified.getOrElse(false)) - .add(AuthorIsLegacyVerifiedFeature, input.authorIsLegacyVerified.getOrElse(false)) - .add(AuthorIsCreatorFeature, input.authorIsCreator.getOrElse(false)) - .add(ConversationModuleIdFeature, input.conversationId) - .add(ConversationModuleFocalTweetIdFeature, input.conversationFocalTweetId) - .add(DirectedAtUserIdFeature, input.directedAtUserId) - .add(ExclusiveConversationAuthorIdFeature, input.exclusiveConversationAuthorId) - .add(SGSValidLikedByUserIdsFeature, input.sgsValidLikedByUserIds.getOrElse(Seq.empty)) - .add(SGSValidFollowedByUserIdsFeature, input.sgsValidFollowedByUserIds.getOrElse(Seq.empty)) - .add(FavoritedByUserIdsFeature, input.sgsValidLikedByUserIds.getOrElse(Seq.empty)) - .add(FollowedByUserIdsFeature, input.sgsValidFollowedByUserIds.getOrElse(Seq.empty)) - .add(FullScoringSucceededFeature, true) - .add(InNetworkFeature, input.inNetwork.getOrElse(true)) - .add(InReplyToTweetIdFeature, input.inReplyToTweetId) - .add(InReplyToUserIdFeature, input.inReplyToUserId) - .add(IsAncestorCandidateFeature, input.conversationFocalTweetId.exists(_ != input.tweetId)) - .add(IsReadFromCacheFeature, input.isReadFromCache.getOrElse(false)) - .add(IsRetweetFeature, input.sourceTweetId.isDefined) - .add( - PerspectiveFilteredLikedByUserIdsFeature, - input.perspectiveFilteredLikedByUserIds.getOrElse(Seq.empty)) - .add(QuotedTweetIdFeature, input.quotedTweetId) - .add(QuotedUserIdFeature, input.quotedUserId) - .add(ScoreFeature, input.score) - .add(SourceTweetIdFeature, input.sourceTweetId) - .add(SourceUserIdFeature, input.sourceUserId) - .add(StreamToKafkaFeature, input.streamToKafka.getOrElse(false)) - .add(SuggestTypeFeature, input.suggestType.orElse(Some(tls.SuggestType.Undefined))) - .add( - TopicContextFunctionalityTypeFeature, - input.topicFunctionalityType.collect { - case tl.TopicContextFunctionalityType.Basic => BasicTopicContextFunctionalityType - case tl.TopicContextFunctionalityType.Recommendation => - RecommendationTopicContextFunctionalityType - case tl.TopicContextFunctionalityType.RecWithEducation => - RecWithEducationTopicContextFunctionalityType - } - ) - .add(TopicIdSocialContextFeature, input.topicId) - .build() -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/ForYouTimelineScorerCandidatePipelineConfig.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/ForYouTimelineScorerCandidatePipelineConfig.docx new file mode 100644 index 0000000000000000000000000000000000000000..32ae4c6250a81fa05c95ea4f9ebf0d6b82ec570f GIT binary patch literal 39331 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%0AtG1NA2F$< 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 literal 0 HcmV?d00001 diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/ForYouTimelineScorerCandidatePipelineConfig.scala b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/ForYouTimelineScorerCandidatePipelineConfig.scala deleted file mode 100644 index bb93a4110..000000000 --- a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/ForYouTimelineScorerCandidatePipelineConfig.scala +++ /dev/null @@ -1,241 +0,0 @@ -package com.twitter.home_mixer.product.for_you - -import com.twitter.home_mixer.functional_component.decorator.builder.HomeClientEventInfoBuilder -import com.twitter.home_mixer.functional_component.decorator.builder.HomeConversationModuleMetadataBuilder -import com.twitter.home_mixer.functional_component.decorator.builder.HomeTimelinesScoreInfoBuilder -import com.twitter.home_mixer.functional_component.decorator.urt.builder.HomeFeedbackActionInfoBuilder -import com.twitter.home_mixer.functional_component.decorator.urt.builder.HomeTweetSocialContextBuilder -import com.twitter.home_mixer.functional_component.feature_hydrator.InNetworkFeatureHydrator -import com.twitter.home_mixer.functional_component.feature_hydrator.NamesFeatureHydrator -import com.twitter.home_mixer.functional_component.feature_hydrator.PerspectiveFilteredSocialContextFeatureHydrator -import com.twitter.home_mixer.functional_component.feature_hydrator.SGSValidSocialContextFeatureHydrator -import com.twitter.home_mixer.functional_component.feature_hydrator.TweetypieFeatureHydrator -import com.twitter.home_mixer.functional_component.filter.FeedbackFatigueFilter -import com.twitter.home_mixer.functional_component.filter.InvalidConversationModuleFilter -import com.twitter.home_mixer.functional_component.filter.InvalidSubscriptionTweetFilter -import com.twitter.home_mixer.functional_component.filter.RejectTweetFromViewerFilter -import com.twitter.home_mixer.functional_component.filter.RetweetDeduplicationFilter -import com.twitter.home_mixer.functional_component.scorer.FeedbackFatigueScorer -import com.twitter.home_mixer.functional_component.scorer.OONTweetScalingScorer -import com.twitter.home_mixer.marshaller.timelines.DeviceContextMarshaller -import com.twitter.home_mixer.marshaller.timelines.TimelineServiceCursorMarshaller -import com.twitter.home_mixer.model.HomeFeatures.ConversationModuleFocalTweetIdFeature -import com.twitter.home_mixer.model.HomeFeatures.InNetworkFeature -import com.twitter.home_mixer.model.HomeFeatures.IsHydratedFeature -import com.twitter.home_mixer.model.HomeFeatures.IsNsfwFeature -import com.twitter.home_mixer.model.HomeFeatures.QuotedTweetDroppedFeature -import com.twitter.home_mixer.model.HomeFeatures.TimelineServiceTweetsFeature -import com.twitter.home_mixer.model.request.DeviceContext -import com.twitter.home_mixer.product.for_you.feature_hydrator.FocalTweetFeatureHydrator -import com.twitter.home_mixer.product.for_you.filter.SocialContextFilter -import com.twitter.home_mixer.product.for_you.model.ForYouQuery -import com.twitter.home_mixer.product.for_you.param.ForYouParam.EnableTimelineScorerCandidatePipelineParam -import com.twitter.home_mixer.service.HomeMixerAlertConfig -import com.twitter.product_mixer.component_library.candidate_source.timeline_scorer.ScoredTweetCandidateWithFocalTweet -import com.twitter.product_mixer.component_library.candidate_source.timeline_scorer.TimelineScorerCandidateSource -import com.twitter.product_mixer.component_library.decorator.urt.UrtItemCandidateDecorator -import com.twitter.product_mixer.component_library.decorator.urt.UrtMultipleModulesDecorator -import com.twitter.product_mixer.component_library.decorator.urt.builder.item.tweet.TweetCandidateUrtItemBuilder -import com.twitter.product_mixer.component_library.decorator.urt.builder.timeline_module.ManualModuleId -import com.twitter.product_mixer.component_library.decorator.urt.builder.timeline_module.StaticModuleDisplayTypeBuilder -import com.twitter.product_mixer.component_library.decorator.urt.builder.timeline_module.TimelineModuleBuilder -import com.twitter.product_mixer.component_library.filter.FeatureFilter -import com.twitter.product_mixer.component_library.filter.PredicateFeatureFilter -import com.twitter.product_mixer.component_library.model.candidate.TweetCandidate -import com.twitter.product_mixer.core.functional_component.candidate_source.BaseCandidateSource -import com.twitter.product_mixer.core.functional_component.common.alert.Alert -import com.twitter.product_mixer.core.functional_component.decorator.CandidateDecorator -import com.twitter.product_mixer.core.functional_component.feature_hydrator.BaseCandidateFeatureHydrator -import com.twitter.product_mixer.core.functional_component.filter.Filter -import com.twitter.product_mixer.core.functional_component.scorer.Scorer -import com.twitter.product_mixer.core.functional_component.transformer.CandidateFeatureTransformer -import com.twitter.product_mixer.core.functional_component.transformer.CandidatePipelineQueryTransformer -import com.twitter.product_mixer.core.functional_component.transformer.CandidatePipelineResultsTransformer -import com.twitter.product_mixer.core.model.common.identifier.CandidatePipelineIdentifier -import com.twitter.product_mixer.core.model.common.identifier.FilterIdentifier -import com.twitter.product_mixer.core.model.marshalling.response.urt.EntryNamespace -import com.twitter.product_mixer.core.model.marshalling.response.urt.timeline_module.VerticalConversation -import com.twitter.product_mixer.core.pipeline.candidate.CandidatePipelineConfig -import com.twitter.timelines.configapi.FSParam -import com.twitter.timelines.model.candidate.CandidateTweetSourceId -import com.twitter.timelines.service.{thriftscala => tst} -import com.twitter.timelinescorer.{thriftscala => t} -import com.twitter.timelineservice.{thriftscala => tlst} -import javax.inject.Inject -import javax.inject.Singleton - -/** - * Candidate Pipeline Config that fetches tweets from the Timeline Scorer Candidate Source - */ -@Singleton -class ForYouTimelineScorerCandidatePipelineConfig @Inject() ( - timelineScorerCandidateSource: TimelineScorerCandidateSource, - deviceContextMarshaller: DeviceContextMarshaller, - tweetypieFeatureHydrator: TweetypieFeatureHydrator, - sgsValidSocialContextFeatureHydrator: SGSValidSocialContextFeatureHydrator, - perspectiveFilteredSocialContextFeatureHydrator: PerspectiveFilteredSocialContextFeatureHydrator, - namesFeatureHydrator: NamesFeatureHydrator, - focalTweetFeatureHydrator: FocalTweetFeatureHydrator, - invalidSubscriptionTweetFilter: InvalidSubscriptionTweetFilter, - homeFeedbackActionInfoBuilder: HomeFeedbackActionInfoBuilder, - homeTweetSocialContextBuilder: HomeTweetSocialContextBuilder) - extends CandidatePipelineConfig[ - ForYouQuery, - t.ScoredTweetsRequest, - ScoredTweetCandidateWithFocalTweet, - TweetCandidate - ] { - - override val identifier: CandidatePipelineIdentifier = - CandidatePipelineIdentifier("ForYouTimelineScorerTweets") - - private val TweetypieHydratedFilterId = "TweetypieHydrated" - private val QuotedTweetDroppedFilterId = "QuotedTweetDropped" - private val OutOfNetworkNSFWFilterId = "OutOfNetworkNSFW" - private val ConversationModuleNamespace = EntryNamespace("home-conversation") - - override val supportedClientParam: Option[FSParam[Boolean]] = - Some(EnableTimelineScorerCandidatePipelineParam) - - override val candidateSource: BaseCandidateSource[ - t.ScoredTweetsRequest, - ScoredTweetCandidateWithFocalTweet - ] = timelineScorerCandidateSource - - override val queryTransformer: CandidatePipelineQueryTransformer[ - ForYouQuery, - t.ScoredTweetsRequest - ] = { query => - val deviceContext = query.deviceContext.getOrElse(DeviceContext.Empty) - - val scoredTweetsRequestContext = t.v1.ScoredTweetsRequestContext( - contextualUserId = query.clientContext.userId, - timelineId = query.clientContext.userId.map(tlst.TimelineId(tlst.TimelineType.Home, _, None)), - deviceContext = Some(deviceContextMarshaller(deviceContext, query.clientContext)), - seenTweetIds = query.seenTweetIds, - contextualUserContext = Some(tst.ContextualUserContext(query.clientContext.userRoles)), - timelineRequestCursor = query.pipelineCursor.flatMap(TimelineServiceCursorMarshaller(_)) - ) - - val candidateTweetSourceIds = Seq( - CandidateTweetSourceId.RecycledTweet, - CandidateTweetSourceId.OrganicTweet, - CandidateTweetSourceId.AncestorsOnlyOrganicTweet, - CandidateTweetSourceId.BackfillOrganicTweet, - CandidateTweetSourceId.CroonTweet, - CandidateTweetSourceId.RecommendedTweet, - CandidateTweetSourceId.FrsTweet, - CandidateTweetSourceId.ListTweet, - CandidateTweetSourceId.RecommendedTrendTweet, - CandidateTweetSourceId.PopularTopicTweet - ) - - val timelineServiceTweets = - query.features.map(_.getOrElse(TimelineServiceTweetsFeature, Seq.empty)).getOrElse(Seq.empty) - - val timelineEntries = timelineServiceTweets.map { id => - tlst.TimelineEntry.Tweet(tlst.Tweet(statusId = id, sortIndex = id)) - } - - t.ScoredTweetsRequest.V1( - t.v1.ScoredTweetsRequest( - scoredTweetsRequestContext = Some(scoredTweetsRequestContext), - candidateTweetSourceIds = - Some(candidateTweetSourceIds.flatMap(CandidateTweetSourceId.toThrift)), - maxResultsCount = query.requestedMaxResults, - organicTimeline = Some( - tlst.Timeline( - timelineId = tlst.TimelineId( - timelineType = tlst.TimelineType.Home, - id = query.getRequiredUserId, - canonicalTimelineId = None), - entries = timelineEntries, - modules = tlst.TimelineModules() - )) - ) - ) - } - - override val featuresFromCandidateSourceTransformers: Seq[ - CandidateFeatureTransformer[ScoredTweetCandidateWithFocalTweet] - ] = Seq(ForYouTimelineScorerResponseFeatureTransformer) - - override val resultTransformer: CandidatePipelineResultsTransformer[ - ScoredTweetCandidateWithFocalTweet, - TweetCandidate - ] = { candidateWithFocalTweetId => - TweetCandidate(id = candidateWithFocalTweetId.candidate.tweetId) - } - - override val preFilterFeatureHydrationPhase1: Seq[ - BaseCandidateFeatureHydrator[ForYouQuery, TweetCandidate, _] - ] = Seq( - namesFeatureHydrator, - tweetypieFeatureHydrator, - InNetworkFeatureHydrator, - sgsValidSocialContextFeatureHydrator, - perspectiveFilteredSocialContextFeatureHydrator, - ) - - override def filters: Seq[Filter[ForYouQuery, TweetCandidate]] = Seq( - RetweetDeduplicationFilter, - FeatureFilter.fromFeature(FilterIdentifier(TweetypieHydratedFilterId), IsHydratedFeature), - PredicateFeatureFilter.fromPredicate( - FilterIdentifier(QuotedTweetDroppedFilterId), - shouldKeepCandidate = { features => !features.getOrElse(QuotedTweetDroppedFeature, false) } - ), - PredicateFeatureFilter.fromPredicate( - FilterIdentifier(OutOfNetworkNSFWFilterId), - shouldKeepCandidate = { features => - features.getOrElse(InNetworkFeature, false) || - !features.getOrElse(IsNsfwFeature, false) - } - ), - FeedbackFatigueFilter, - RejectTweetFromViewerFilter, - SocialContextFilter, - invalidSubscriptionTweetFilter, - InvalidConversationModuleFilter - ) - - override val postFilterFeatureHydration: Seq[ - BaseCandidateFeatureHydrator[ForYouQuery, TweetCandidate, _] - ] = Seq(focalTweetFeatureHydrator) - - override val scorers: Seq[Scorer[ForYouQuery, TweetCandidate]] = - Seq(OONTweetScalingScorer, FeedbackFatigueScorer) - - override val decorator: Option[CandidateDecorator[ForYouQuery, TweetCandidate]] = { - val clientEventInfoBuilder = HomeClientEventInfoBuilder() - - val tweetItemBuilder = TweetCandidateUrtItemBuilder( - clientEventInfoBuilder = clientEventInfoBuilder, - socialContextBuilder = Some(homeTweetSocialContextBuilder), - timelinesScoreInfoBuilder = Some(HomeTimelinesScoreInfoBuilder), - feedbackActionInfoBuilder = Some(homeFeedbackActionInfoBuilder) - ) - - val tweetDecorator = UrtItemCandidateDecorator(tweetItemBuilder) - - val moduleBuilder = TimelineModuleBuilder( - entryNamespace = ConversationModuleNamespace, - clientEventInfoBuilder = clientEventInfoBuilder, - moduleIdGeneration = ManualModuleId(0L), - displayTypeBuilder = StaticModuleDisplayTypeBuilder(VerticalConversation), - metadataBuilder = Some(HomeConversationModuleMetadataBuilder()) - ) - - Some( - UrtMultipleModulesDecorator( - urtItemCandidateDecorator = tweetDecorator, - moduleBuilder = moduleBuilder, - groupByKey = (_, _, candidateFeatures) => - candidateFeatures.getOrElse(ConversationModuleFocalTweetIdFeature, None) - )) - } - - override val alerts: Seq[Alert] = Seq( - HomeMixerAlertConfig.BusinessHours.defaultSuccessRateAlert(), - HomeMixerAlertConfig.BusinessHours.defaultEmptyResponseRateAlert(10, 20) - ) -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/ForYouTimelineScorerMixerPipelineConfig.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/ForYouTimelineScorerMixerPipelineConfig.docx new file mode 100644 index 0000000000000000000000000000000000000000..63497f1c9c550126cdd8d9b4e75bc61e0d0bdcd8 GIT binary patch literal 40910 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 MQ{?c_&HnZ4e?K ca} -import com.twitter.goldfinch.api.AdsInjectionSurfaceAreas -import com.twitter.home_mixer.candidate_pipeline.EditedTweetsCandidatePipelineConfig -import com.twitter.home_mixer.candidate_pipeline.NewTweetsPillCandidatePipelineConfig -import com.twitter.home_mixer.functional_component.decorator.urt.builder.AddEntriesWithReplaceAndShowAlertAndCoverInstructionBuilder -import com.twitter.home_mixer.functional_component.feature_hydrator.FeedbackHistoryQueryFeatureHydrator -import com.twitter.home_mixer.functional_component.feature_hydrator._ -import com.twitter.home_mixer.functional_component.selector.DebunchCandidates -import com.twitter.home_mixer.functional_component.selector.UpdateConversationModuleId -import com.twitter.home_mixer.functional_component.selector.UpdateHomeClientEventDetails -import com.twitter.home_mixer.functional_component.selector.UpdateNewTweetsPillDecoration -import com.twitter.home_mixer.functional_component.side_effect._ -import com.twitter.home_mixer.model.ClearCacheIncludeInstruction -import com.twitter.home_mixer.model.HomeFeatures.InNetworkFeature -import com.twitter.home_mixer.param.HomeGlobalParams.EnableImpressionBloomFilter -import com.twitter.home_mixer.param.HomeGlobalParams.MaxNumberReplaceInstructionsParam -import com.twitter.home_mixer.param.HomeMixerFlagName.ScribeClientEventsFlag -import com.twitter.home_mixer.product.following.model.HomeMixerExternalStrings -import com.twitter.home_mixer.product.for_you.feature_hydrator.TimelineServiceTweetsQueryFeatureHydrator -import com.twitter.home_mixer.product.for_you.model.ForYouQuery -import com.twitter.home_mixer.product.for_you.param.ForYouParam.ClearCacheOnPtr -import com.twitter.home_mixer.product.for_you.param.ForYouParam.EnableFlipInjectionModuleCandidatePipelineParam -import com.twitter.home_mixer.product.for_you.param.ForYouParam.FlipInlineInjectionModulePosition -import com.twitter.home_mixer.product.for_you.param.ForYouParam.ServerMaxResultsParam -import com.twitter.home_mixer.product.for_you.param.ForYouParam.TweetPreviewsPositionParam -import com.twitter.home_mixer.product.for_you.param.ForYouParam.WhoToFollowPositionParam -import com.twitter.home_mixer.product.for_you.param.ForYouParam.WhoToSubscribePositionParam -import com.twitter.home_mixer.product.for_you.side_effect.ServedCandidateFeatureKeysKafkaSideEffectBuilder -import com.twitter.home_mixer.product.for_you.side_effect.ServedCandidateKeysKafkaSideEffectBuilder -import com.twitter.home_mixer.product.for_you.side_effect.ServedStatsSideEffect -import com.twitter.home_mixer.util.CandidatesUtil -import com.twitter.inject.annotations.Flag -import com.twitter.logpipeline.client.common.EventPublisher -import com.twitter.product_mixer.component_library.feature_hydrator.query.async.AsyncQueryFeatureHydrator -import com.twitter.product_mixer.component_library.feature_hydrator.query.impressed_tweets.ImpressedTweetsQueryFeatureHydrator -import com.twitter.product_mixer.component_library.feature_hydrator.query.param_gated.AsyncParamGatedQueryFeatureHydrator -import com.twitter.product_mixer.component_library.feature_hydrator.query.social_graph.PreviewCreatorsQueryFeatureHydrator -import com.twitter.product_mixer.component_library.feature_hydrator.query.social_graph.SGSFollowedUsersQueryFeatureHydrator -import com.twitter.product_mixer.component_library.model.candidate.TweetCandidate -import com.twitter.product_mixer.component_library.pipeline.candidate.flexible_injection_pipeline.FlipPromptCandidatePipelineConfigBuilder -import com.twitter.product_mixer.component_library.pipeline.candidate.who_to_follow_module.WhoToFollowArmCandidatePipelineConfig -import com.twitter.product_mixer.component_library.pipeline.candidate.who_to_subscribe_module.WhoToSubscribeCandidatePipelineConfig -import com.twitter.product_mixer.component_library.premarshaller.urt.UrtDomainMarshaller -import com.twitter.product_mixer.component_library.premarshaller.urt.builder.ClearCacheInstructionBuilder -import com.twitter.product_mixer.component_library.premarshaller.urt.builder.OrderedBottomCursorBuilder -import com.twitter.product_mixer.component_library.premarshaller.urt.builder.OrderedTopCursorBuilder -import com.twitter.product_mixer.component_library.premarshaller.urt.builder.ReplaceAllEntries -import com.twitter.product_mixer.component_library.premarshaller.urt.builder.ReplaceEntryInstructionBuilder -import com.twitter.product_mixer.component_library.premarshaller.urt.builder.ShowAlertInstructionBuilder -import com.twitter.product_mixer.component_library.premarshaller.urt.builder.ShowCoverInstructionBuilder -import com.twitter.product_mixer.component_library.premarshaller.urt.builder.StaticTimelineScribeConfigBuilder -import com.twitter.product_mixer.component_library.premarshaller.urt.builder.UrtMetadataBuilder -import com.twitter.product_mixer.component_library.selector.DropMaxCandidates -import com.twitter.product_mixer.component_library.selector.DropMaxModuleItemCandidates -import com.twitter.product_mixer.component_library.selector.DropModuleTooFewModuleItemResults -import com.twitter.product_mixer.component_library.selector.InsertAppendResults -import com.twitter.product_mixer.component_library.selector.InsertFixedPositionResults -import com.twitter.product_mixer.component_library.selector.SelectConditionally -import com.twitter.product_mixer.component_library.selector.UpdateSortCandidates -import com.twitter.product_mixer.component_library.selector.UpdateSortModuleItemCandidates -import com.twitter.product_mixer.component_library.selector.ads.AdsInjector -import com.twitter.product_mixer.component_library.selector.ads.InsertAdResults -import com.twitter.product_mixer.core.functional_component.common.SpecificPipeline -import com.twitter.product_mixer.core.functional_component.common.SpecificPipelines -import com.twitter.product_mixer.core.functional_component.configapi.StaticParam -import com.twitter.product_mixer.core.functional_component.feature_hydrator.QueryFeatureHydrator -import com.twitter.product_mixer.core.functional_component.marshaller.TransportMarshaller -import com.twitter.product_mixer.core.functional_component.marshaller.response.urt.UrtTransportMarshaller -import com.twitter.product_mixer.core.functional_component.premarshaller.DomainMarshaller -import com.twitter.product_mixer.core.functional_component.selector.Selector -import com.twitter.product_mixer.core.functional_component.side_effect.PipelineResultSideEffect -import com.twitter.product_mixer.core.model.common.UniversalNoun -import com.twitter.product_mixer.core.model.common.identifier.CandidatePipelineIdentifier -import com.twitter.product_mixer.core.model.common.identifier.MixerPipelineIdentifier -import com.twitter.product_mixer.core.model.common.presentation.ItemCandidateWithDetails -import com.twitter.product_mixer.core.model.common.presentation.ModuleCandidateWithDetails -import com.twitter.product_mixer.core.model.marshalling.response.urt.Timeline -import com.twitter.product_mixer.core.model.marshalling.response.urt.TimelineModule -import com.twitter.product_mixer.core.model.marshalling.response.urt.TimelineScribeConfig -import com.twitter.product_mixer.core.model.marshalling.response.urt.item.tweet.TweetItem -import com.twitter.product_mixer.core.pipeline.FailOpenPolicy -import com.twitter.product_mixer.core.pipeline.candidate.CandidatePipelineConfig -import com.twitter.product_mixer.core.pipeline.candidate.DependentCandidatePipelineConfig -import com.twitter.product_mixer.core.pipeline.mixer.MixerPipelineConfig -import com.twitter.product_mixer.core.product.guice.scope.ProductScoped -import com.twitter.stringcenter.client.StringCenter -import com.twitter.timelines.render.{thriftscala => urt} -import javax.inject.Inject -import javax.inject.Provider -import javax.inject.Singleton - -@Singleton -class ForYouTimelineScorerMixerPipelineConfig @Inject() ( - forYouTimelineScorerCandidatePipelineConfig: ForYouTimelineScorerCandidatePipelineConfig, - forYouPushToHomeTweetCandidatePipelineConfig: ForYouPushToHomeTweetCandidatePipelineConfig, - forYouConversationServiceCandidatePipelineConfig: ForYouConversationServiceCandidatePipelineConfig, - forYouAdsDependentCandidatePipelineBuilder: ForYouAdsDependentCandidatePipelineBuilder, - forYouWhoToFollowCandidatePipelineConfigBuilder: ForYouWhoToFollowCandidatePipelineConfigBuilder, - forYouWhoToSubscribeCandidatePipelineConfigBuilder: ForYouWhoToSubscribeCandidatePipelineConfigBuilder, - flipPromptCandidatePipelineConfigBuilder: FlipPromptCandidatePipelineConfigBuilder, - editedTweetsCandidatePipelineConfig: EditedTweetsCandidatePipelineConfig, - newTweetsPillCandidatePipelineConfig: NewTweetsPillCandidatePipelineConfig[ForYouQuery], - forYouTweetPreviewsCandidatePipelineConfig: ForYouTweetPreviewsCandidatePipelineConfig, - dismissInfoQueryFeatureHydrator: DismissInfoQueryFeatureHydrator, - gizmoduckUserQueryFeatureHydrator: GizmoduckUserQueryFeatureHydrator, - impressionBloomFilterQueryFeatureHydrator: ImpressionBloomFilterQueryFeatureHydrator[ForYouQuery], - manhattanTweetImpressionsQueryFeatureHydrator: TweetImpressionsQueryFeatureHydrator[ForYouQuery], - memcacheTweetImpressionsQueryFeatureHydrator: ImpressedTweetsQueryFeatureHydrator, - persistenceStoreQueryFeatureHydrator: PersistenceStoreQueryFeatureHydrator, - requestQueryFeatureHydrator: RequestQueryFeatureHydrator[ForYouQuery], - timelineServiceTweetsQueryFeatureHydrator: TimelineServiceTweetsQueryFeatureHydrator, - lastNonPollingTimeQueryFeatureHydrator: LastNonPollingTimeQueryFeatureHydrator, - feedbackHistoryQueryFeatureHydrator: FeedbackHistoryQueryFeatureHydrator, - previewCreatorsQueryFeatureHydrator: PreviewCreatorsQueryFeatureHydrator, - sgsFollowedUsersQueryFeatureHydrator: SGSFollowedUsersQueryFeatureHydrator, - adsInjector: AdsInjector, - servedCandidateKeysKafkaSideEffectBuilder: ServedCandidateKeysKafkaSideEffectBuilder, - servedCandidateFeatureKeysKafkaSideEffectBuilder: ServedCandidateFeatureKeysKafkaSideEffectBuilder, - updateLastNonPollingTimeSideEffect: UpdateLastNonPollingTimeSideEffect[ForYouQuery, Timeline], - publishClientSentImpressionsEventBusSideEffect: PublishClientSentImpressionsEventBusSideEffect, - publishClientSentImpressionsManhattanSideEffect: PublishClientSentImpressionsManhattanSideEffect, - publishImpressionBloomFilterSideEffect: PublishImpressionBloomFilterSideEffect, - updateTimelinesPersistenceStoreSideEffect: UpdateTimelinesPersistenceStoreSideEffect, - truncateTimelinesPersistenceStoreSideEffect: TruncateTimelinesPersistenceStoreSideEffect, - homeScribeServedCandidatesSideEffect: HomeScribeServedCandidatesSideEffect, - servedStatsSideEffect: ServedStatsSideEffect, - clientEventsScribeEventPublisher: EventPublisher[ca.LogEvent], - externalStrings: HomeMixerExternalStrings, - @ProductScoped stringCenterProvider: Provider[StringCenter], - urtTransportMarshaller: UrtTransportMarshaller, - @Flag(ScribeClientEventsFlag) enableScribeClientEvents: Boolean) - extends MixerPipelineConfig[ForYouQuery, Timeline, urt.TimelineResponse] { - - override val identifier: MixerPipelineIdentifier = MixerPipelineIdentifier("ForYouTimelineScorer") - - private val MaxConsecutiveOutOfNetworkCandidates = 2 - - private val PushToHomeTweetPosition = 0 - - private val dependentCandidatesStep = MixerPipelineConfig.dependentCandidatePipelinesStep - private val resultSelectorsStep = MixerPipelineConfig.resultSelectorsStep - - override def fetchQueryFeatures: Seq[QueryFeatureHydrator[ForYouQuery]] = Seq( - requestQueryFeatureHydrator, - persistenceStoreQueryFeatureHydrator, - timelineServiceTweetsQueryFeatureHydrator, - feedbackHistoryQueryFeatureHydrator, - previewCreatorsQueryFeatureHydrator, - sgsFollowedUsersQueryFeatureHydrator, - AsyncQueryFeatureHydrator(dependentCandidatesStep, dismissInfoQueryFeatureHydrator), - AsyncQueryFeatureHydrator(dependentCandidatesStep, gizmoduckUserQueryFeatureHydrator), - AsyncQueryFeatureHydrator(dependentCandidatesStep, lastNonPollingTimeQueryFeatureHydrator), - AsyncParamGatedQueryFeatureHydrator( - EnableImpressionBloomFilter, - resultSelectorsStep, - impressionBloomFilterQueryFeatureHydrator), - AsyncQueryFeatureHydrator(resultSelectorsStep, manhattanTweetImpressionsQueryFeatureHydrator), - AsyncQueryFeatureHydrator(resultSelectorsStep, memcacheTweetImpressionsQueryFeatureHydrator) - ) - - private val timelineScorerCandidatePipelineScope = - SpecificPipeline(forYouTimelineScorerCandidatePipelineConfig.identifier) - - private val forYouAdsCandidatePipelineConfig = forYouAdsDependentCandidatePipelineBuilder - .build(timelineScorerCandidatePipelineScope) - - private val forYouWhoToFollowCandidatePipelineConfig = - forYouWhoToFollowCandidatePipelineConfigBuilder.build() - - private val forYouWhoToSubscribeCandidatePipelineConfig = - forYouWhoToSubscribeCandidatePipelineConfigBuilder.build() - - private val flipPromptCandidatePipelineConfig = - flipPromptCandidatePipelineConfigBuilder.build[ForYouQuery]( - supportedClientParam = Some(EnableFlipInjectionModuleCandidatePipelineParam) - ) - - override val candidatePipelines: Seq[CandidatePipelineConfig[ForYouQuery, _, _, _]] = Seq( - forYouTimelineScorerCandidatePipelineConfig, - forYouPushToHomeTweetCandidatePipelineConfig, - forYouWhoToFollowCandidatePipelineConfig, - forYouWhoToSubscribeCandidatePipelineConfig, - forYouTweetPreviewsCandidatePipelineConfig, - flipPromptCandidatePipelineConfig - ) - - override val dependentCandidatePipelines: Seq[ - DependentCandidatePipelineConfig[ForYouQuery, _, _, _] - ] = Seq( - forYouAdsCandidatePipelineConfig, - forYouConversationServiceCandidatePipelineConfig, - editedTweetsCandidatePipelineConfig, - newTweetsPillCandidatePipelineConfig - ) - - override val failOpenPolicies: Map[CandidatePipelineIdentifier, FailOpenPolicy] = Map( - forYouTimelineScorerCandidatePipelineConfig.identifier -> FailOpenPolicy.Always, - forYouAdsCandidatePipelineConfig.identifier -> FailOpenPolicy.Always, - forYouWhoToFollowCandidatePipelineConfig.identifier -> FailOpenPolicy.Always, - forYouWhoToSubscribeCandidatePipelineConfig.identifier -> FailOpenPolicy.Always, - forYouTweetPreviewsCandidatePipelineConfig.identifier -> FailOpenPolicy.Always, - flipPromptCandidatePipelineConfig.identifier -> FailOpenPolicy.Always, - editedTweetsCandidatePipelineConfig.identifier -> FailOpenPolicy.Always, - newTweetsPillCandidatePipelineConfig.identifier -> FailOpenPolicy.Always, - ) - - override val resultSelectors: Seq[Selector[ForYouQuery]] = Seq( - UpdateSortCandidates( - ordering = CandidatesUtil.reverseChronTweetsOrdering, - candidatePipeline = forYouConversationServiceCandidatePipelineConfig.identifier - ), - UpdateSortCandidates( - ordering = CandidatesUtil.scoreOrdering, - candidatePipeline = forYouTimelineScorerCandidatePipelineConfig.identifier - ), - UpdateSortModuleItemCandidates( - candidatePipeline = forYouTimelineScorerCandidatePipelineConfig.identifier, - ordering = CandidatesUtil.conversationModuleTweetsOrdering - ), - DebunchCandidates( - pipelineScope = SpecificPipeline(forYouTimelineScorerCandidatePipelineConfig.identifier), - mustDebunch = { - case item: ItemCandidateWithDetails => - !item.features.getOrElse(InNetworkFeature, false) - case module: ModuleCandidateWithDetails => - !module.candidates.last.features.getOrElse(InNetworkFeature, false) - }, - maxBunchSize = MaxConsecutiveOutOfNetworkCandidates - ), - UpdateConversationModuleId( - pipelineScope = SpecificPipeline(forYouTimelineScorerCandidatePipelineConfig.identifier) - ), - DropMaxCandidates( - candidatePipeline = forYouConversationServiceCandidatePipelineConfig.identifier, - maxSelectionsParam = ServerMaxResultsParam - ), - DropMaxCandidates( - candidatePipeline = forYouTimelineScorerCandidatePipelineConfig.identifier, - maxSelectionsParam = ServerMaxResultsParam - ), - DropMaxCandidates( - candidatePipeline = editedTweetsCandidatePipelineConfig.identifier, - maxSelectionsParam = MaxNumberReplaceInstructionsParam - ), - DropMaxModuleItemCandidates( - candidatePipeline = forYouWhoToFollowCandidatePipelineConfig.identifier, - maxModuleItemsParam = StaticParam(WhoToFollowArmCandidatePipelineConfig.MaxCandidatesSize) - ), - DropModuleTooFewModuleItemResults( - candidatePipeline = forYouWhoToSubscribeCandidatePipelineConfig.identifier, - minModuleItemsParam = StaticParam(WhoToSubscribeCandidatePipelineConfig.MinCandidatesSize) - ), - DropMaxModuleItemCandidates( - candidatePipeline = forYouWhoToSubscribeCandidatePipelineConfig.identifier, - maxModuleItemsParam = StaticParam(WhoToSubscribeCandidatePipelineConfig.MaxCandidatesSize) - ), - // Add Conversation Service tweets to results only if the scored pipeline doesn't return any - SelectConditionally( - selector = InsertAppendResults( - candidatePipeline = forYouConversationServiceCandidatePipelineConfig.identifier), - includeSelector = (_, candidates, _) => - !candidates.exists(candidate => - forYouTimelineScorerCandidatePipelineConfig.identifier == candidate.source) - ), - InsertAppendResults(candidatePipeline = forYouTimelineScorerCandidatePipelineConfig.identifier), - InsertFixedPositionResults( - candidatePipeline = forYouTweetPreviewsCandidatePipelineConfig.identifier, - positionParam = TweetPreviewsPositionParam - ), - InsertFixedPositionResults( - candidatePipeline = forYouWhoToFollowCandidatePipelineConfig.identifier, - positionParam = WhoToFollowPositionParam - ), - InsertFixedPositionResults( - candidatePipeline = forYouWhoToSubscribeCandidatePipelineConfig.identifier, - positionParam = WhoToSubscribePositionParam - ), - InsertFixedPositionResults( - candidatePipeline = flipPromptCandidatePipelineConfig.identifier, - positionParam = FlipInlineInjectionModulePosition - ), - // Insert Push To Home Tweet at top of Timeline - InsertFixedPositionResults( - candidatePipeline = forYouPushToHomeTweetCandidatePipelineConfig.identifier, - positionParam = StaticParam(PushToHomeTweetPosition) - ), - InsertAdResults( - surfaceAreaName = AdsInjectionSurfaceAreas.HomeTimeline, - adsInjector = adsInjector.forSurfaceArea(AdsInjectionSurfaceAreas.HomeTimeline), - adsCandidatePipeline = forYouAdsCandidatePipelineConfig.identifier - ), - // This selector must come after the tweets are inserted into the results - DropModuleTooFewModuleItemResults( - candidatePipeline = forYouWhoToFollowCandidatePipelineConfig.identifier, - minModuleItemsParam = StaticParam(WhoToFollowArmCandidatePipelineConfig.MinCandidatesSize) - ), - UpdateNewTweetsPillDecoration( - pipelineScope = SpecificPipelines( - forYouConversationServiceCandidatePipelineConfig.identifier, - forYouTimelineScorerCandidatePipelineConfig.identifier, - newTweetsPillCandidatePipelineConfig.identifier - ), - stringCenter = stringCenterProvider.get(), - seeNewTweetsString = externalStrings.seeNewTweetsString, - tweetedString = externalStrings.tweetedString - ), - InsertAppendResults(candidatePipeline = editedTweetsCandidatePipelineConfig.identifier), - SelectConditionally( - selector = - InsertAppendResults(candidatePipeline = newTweetsPillCandidatePipelineConfig.identifier), - includeSelector = (_, _, results) => CandidatesUtil.containsType[TweetCandidate](results) - ), - UpdateHomeClientEventDetails( - candidatePipelines = Set( - forYouConversationServiceCandidatePipelineConfig.identifier, - forYouTimelineScorerCandidatePipelineConfig.identifier - ) - ), - ) - - private val servedCandidateKeysKafkaSideEffect = - servedCandidateKeysKafkaSideEffectBuilder.build( - Set(forYouTimelineScorerCandidatePipelineConfig.identifier)) - - private val servedCandidateFeatureKeysKafkaSideEffect = - servedCandidateFeatureKeysKafkaSideEffectBuilder.build( - Set(forYouTimelineScorerCandidatePipelineConfig.identifier)) - - private val homeScribeClientEventSideEffect = HomeScribeClientEventSideEffect( - enableScribeClientEvents = enableScribeClientEvents, - logPipelinePublisher = clientEventsScribeEventPublisher, - injectedTweetsCandidatePipelineIdentifiers = Seq( - forYouTimelineScorerCandidatePipelineConfig.identifier, - forYouConversationServiceCandidatePipelineConfig.identifier - ), - adsCandidatePipelineIdentifier = Some(forYouAdsCandidatePipelineConfig.identifier), - whoToFollowCandidatePipelineIdentifier = - Some(forYouWhoToFollowCandidatePipelineConfig.identifier), - whoToSubscribeCandidatePipelineIdentifier = - Some(forYouWhoToSubscribeCandidatePipelineConfig.identifier) - ) - - override val resultSideEffects: Seq[PipelineResultSideEffect[ForYouQuery, Timeline]] = Seq( - homeScribeClientEventSideEffect, - homeScribeServedCandidatesSideEffect, - publishClientSentImpressionsEventBusSideEffect, - publishClientSentImpressionsManhattanSideEffect, - publishImpressionBloomFilterSideEffect, - servedCandidateKeysKafkaSideEffect, - servedCandidateFeatureKeysKafkaSideEffect, - servedStatsSideEffect, - truncateTimelinesPersistenceStoreSideEffect, - updateLastNonPollingTimeSideEffect, - updateTimelinesPersistenceStoreSideEffect - ) - - override val domainMarshaller: DomainMarshaller[ForYouQuery, Timeline] = { - val instructionBuilders = Seq( - ClearCacheInstructionBuilder( - ClearCacheIncludeInstruction( - ClearCacheOnPtr.EnableParam, - ClearCacheOnPtr.MinEntriesParam - ) - ), - ReplaceEntryInstructionBuilder(ReplaceAllEntries), - // excludes alert, cover, and replace candidates - AddEntriesWithReplaceAndShowAlertAndCoverInstructionBuilder(), - ShowAlertInstructionBuilder(), - ShowCoverInstructionBuilder(), - ) - - val idSelector: PartialFunction[UniversalNoun[_], Long] = { - // exclude ads while determining tweet cursor values - case item: TweetItem if item.promotedMetadata.isEmpty => item.id - case module: TimelineModule - if module.items.headOption.exists(_.item.isInstanceOf[TweetItem]) => - module.items.last.item match { case item: TweetItem => item.id } - } - val topCursorBuilder = OrderedTopCursorBuilder(idSelector) - val bottomCursorBuilder = OrderedBottomCursorBuilder(idSelector) - - val metadataBuilder = UrtMetadataBuilder( - title = None, - scribeConfigBuilder = Some( - StaticTimelineScribeConfigBuilder( - TimelineScribeConfig( - page = Some("for_you_timeline_scorer"), - section = None, - entityToken = None))) - ) - - UrtDomainMarshaller( - instructionBuilders = instructionBuilders, - metadataBuilder = Some(metadataBuilder), - cursorBuilders = Seq(topCursorBuilder, bottomCursorBuilder) - ) - } - - override val transportMarshaller: TransportMarshaller[Timeline, urt.TimelineResponse] = - urtTransportMarshaller -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/ForYouTimelineScorerResponseFeatureTransformer.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/ForYouTimelineScorerResponseFeatureTransformer.docx new file mode 100644 index 0000000000000000000000000000000000000000..41a081af9383677598215bd87aa1c246bc91dffa GIT binary patch literal 39184 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%0D%2U>fMB~Y-b4l;citk#H=;hq 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 n91~uoc+zSm8&`y- literal 0 HcmV?d00001 diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/ForYouTimelineScorerResponseFeatureTransformer.scala b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/ForYouTimelineScorerResponseFeatureTransformer.scala deleted file mode 100644 index 236ca9a26..000000000 --- a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/ForYouTimelineScorerResponseFeatureTransformer.scala +++ /dev/null @@ -1,199 +0,0 @@ -package com.twitter.home_mixer.product.for_you - -import com.twitter.tweetconvosvc.tweet_ancestor.{thriftscala => ta} -import com.twitter.home_mixer.model.HomeFeatures._ -import com.twitter.mediaservices.commons.tweetmedia.{thriftscala => mt} -import com.twitter.product_mixer.component_library.candidate_source.timeline_scorer.ScoredTweetCandidateWithFocalTweet -import com.twitter.product_mixer.core.feature.Feature -import com.twitter.product_mixer.core.feature.featuremap.FeatureMap -import com.twitter.product_mixer.core.feature.featuremap.FeatureMapBuilder -import com.twitter.product_mixer.core.functional_component.transformer.CandidateFeatureTransformer -import com.twitter.product_mixer.core.model.common.identifier.TransformerIdentifier -import com.twitter.product_mixer.core.model.marshalling.response.urt.metadata.BasicTopicContextFunctionalityType -import com.twitter.product_mixer.core.model.marshalling.response.urt.metadata.RecWithEducationTopicContextFunctionalityType -import com.twitter.product_mixer.core.model.marshalling.response.urt.metadata.RecommendationTopicContextFunctionalityType -import com.twitter.search.common.constants.thriftjava.ThriftLanguage -import com.twitter.search.common.util.lang.ThriftLanguageUtil -import com.twitter.snowflake.id.SnowflakeId -import com.twitter.timelinemixer.injection.model.candidate.AudioSpaceMetaData -import com.twitter.timelines.conversation_features.{thriftscala => cvt} -import com.twitter.timelinescorer.common.scoredtweetcandidate.{thriftscala => stc} -import com.twitter.timelineservice.suggests.{thriftscala => tls} - -object ForYouTimelineScorerResponseFeatureTransformer - extends CandidateFeatureTransformer[ScoredTweetCandidateWithFocalTweet] { - - override val identifier: TransformerIdentifier = - TransformerIdentifier("ForYouTimelineScorerResponse") - - override val features: Set[Feature[_, _]] = Set( - AncestorsFeature, - AudioSpaceMetaDataFeature, - AuthorIdFeature, - AuthorIsBlueVerifiedFeature, - AuthorIsCreatorFeature, - AuthorIsGoldVerifiedFeature, - AuthorIsGrayVerifiedFeature, - AuthorIsLegacyVerifiedFeature, - AuthoredByContextualUserFeature, - CandidateSourceIdFeature, - ConversationFeature, - ConversationModuleFocalTweetIdFeature, - ConversationModuleIdFeature, - DirectedAtUserIdFeature, - EarlybirdFeature, - EntityTokenFeature, - ExclusiveConversationAuthorIdFeature, - FavoritedByUserIdsFeature, - FollowedByUserIdsFeature, - TopicIdSocialContextFeature, - TopicContextFunctionalityTypeFeature, - FromInNetworkSourceFeature, - FullScoringSucceededFeature, - HasDisplayedTextFeature, - InNetworkFeature, - InReplyToTweetIdFeature, - IsAncestorCandidateFeature, - IsExtendedReplyFeature, - IsRandomTweetFeature, - IsReadFromCacheFeature, - IsRetweetFeature, - IsRetweetedReplyFeature, - NonSelfFavoritedByUserIdsFeature, - NumImagesFeature, - OriginalTweetCreationTimeFromSnowflakeFeature, - PredictionRequestIdFeature, - QuotedTweetIdFeature, - ScoreFeature, - SimclustersTweetTopKClustersWithScoresFeature, - SourceTweetIdFeature, - SourceUserIdFeature, - StreamToKafkaFeature, - SuggestTypeFeature, - TweetLanguageFeature, - VideoDurationMsFeature, - ) - - // Convert language code to ISO 639-3 format - private def getLanguageISOFormatByValue(languageCodeValue: Int): String = - ThriftLanguageUtil.getLanguageCodeOf(ThriftLanguage.findByValue(languageCodeValue)) - - override def transform( - candidateWithFocalTweet: ScoredTweetCandidateWithFocalTweet - ): FeatureMap = { - val candidate: stc.v1.ScoredTweetCandidate = candidateWithFocalTweet.candidate - val focalTweetId = candidateWithFocalTweet.focalTweetIdOpt - - val originalTweetId = candidate.sourceTweetId.getOrElse(candidate.tweetId) - val tweetFeatures = candidate.tweetFeaturesMap.flatMap(_.get(originalTweetId)) - val earlybirdFeatures = tweetFeatures.flatMap(_.recapFeatures.flatMap(_.tweetFeatures)) - val directedAtUserIsInFirstDegree = - earlybirdFeatures.flatMap(_.directedAtUserIdIsInFirstDegree) - val isReply = candidate.inReplyToTweetId.nonEmpty - val isRetweet = candidate.isRetweet.getOrElse(false) - val isInNetwork = candidate.isInNetwork.getOrElse(true) - val conversationFeatures = candidate.conversationFeatures.flatMap { - case cvt.ConversationFeatures.V1(candidate) => Some(candidate) - case _ => None - } - val numImages = candidate.mediaMetaData - .map( - _.count(mediaEntity => - mediaEntity.mediaInfo.exists(_.isInstanceOf[mt.MediaInfo.ImageInfo]) || - mediaEntity.mediaInfo.isEmpty)) - val hasImage = earlybirdFeatures.exists(_.hasImage) - val hasVideo = earlybirdFeatures.exists(_.hasVideo) - val hasCard = earlybirdFeatures.exists(_.hasCard) - val hasQuote = earlybirdFeatures.exists(_.hasQuote.contains(true)) - val hasDisplayedText = earlybirdFeatures.exists(_.tweetLength.exists(length => { - val numMedia = Seq(hasVideo, (hasImage || hasCard), hasQuote).count(b => b) - val tcoLengthsPlusSpaces = 23 * numMedia + (if (numMedia > 0) numMedia - 1 else 0) - length > tcoLengthsPlusSpaces - })) - val suggestType = candidate.overrideSuggestType.orElse(Some(tls.SuggestType.Undefined)) - - val topicSocialProofMetadataOpt = candidate.entityData.flatMap(_.topicSocialProofMetadata) - val topicIdSocialContextOpt = topicSocialProofMetadataOpt.map(_.topicId) - val topicContextFunctionalityTypeOpt = - topicSocialProofMetadataOpt.map(_.topicContextFunctionalityType).collect { - case stc.v1.TopicContextFunctionalityType.Basic => BasicTopicContextFunctionalityType - case stc.v1.TopicContextFunctionalityType.Recommendation => - RecommendationTopicContextFunctionalityType - case stc.v1.TopicContextFunctionalityType.RecWithEducation => - RecWithEducationTopicContextFunctionalityType - } - - FeatureMapBuilder() - .add( - AncestorsFeature, - candidate.ancestors - .getOrElse(Seq.empty) - .map(ancestor => ta.TweetAncestor(ancestor.tweetId, ancestor.userId.getOrElse(0L)))) - .add( - AudioSpaceMetaDataFeature, - candidate.audioSpaceMetaDatalist.map(_.head).map(AudioSpaceMetaData.fromThrift)) - .add(AuthorIdFeature, Some(candidate.authorId)) - .add(AuthorIsBlueVerifiedFeature, candidate.authorIsBlueVerified.getOrElse(false)) - .add( - AuthorIsCreatorFeature, - candidate.authorIsCreator.getOrElse(false) - ) - .add(AuthorIsGoldVerifiedFeature, candidate.authorIsGoldVerified.getOrElse(false)) - .add(AuthorIsGrayVerifiedFeature, candidate.authorIsGrayVerified.getOrElse(false)) - .add(AuthorIsLegacyVerifiedFeature, candidate.authorIsLegacyVerified.getOrElse(false)) - .add( - AuthoredByContextualUserFeature, - candidate.viewerId.contains(candidate.authorId) || - candidate.viewerId.exists(candidate.sourceUserId.contains)) - .add(CandidateSourceIdFeature, candidate.candidateTweetSourceId) - .add(ConversationFeature, conversationFeatures) - .add(ConversationModuleIdFeature, candidate.conversationId) - .add(ConversationModuleFocalTweetIdFeature, focalTweetId) - .add(DirectedAtUserIdFeature, candidate.directedAtUserId) - .add(EarlybirdFeature, earlybirdFeatures) - // This is temporary, will need to be updated with the encoded string. - .add(EntityTokenFeature, Some("test_EntityTokenForYou")) - .add(ExclusiveConversationAuthorIdFeature, candidate.exclusiveConversationAuthorId) - .add(FavoritedByUserIdsFeature, candidate.favoritedByUserIds.getOrElse(Seq.empty)) - .add(FollowedByUserIdsFeature, candidate.followedByUserIds.getOrElse(Seq.empty)) - .add(TopicIdSocialContextFeature, topicIdSocialContextOpt) - .add(TopicContextFunctionalityTypeFeature, topicContextFunctionalityTypeOpt) - .add(FullScoringSucceededFeature, candidate.fullScoringSucceeded.getOrElse(false)) - .add(HasDisplayedTextFeature, hasDisplayedText) - .add(InNetworkFeature, candidate.isInNetwork.getOrElse(true)) - .add(InReplyToTweetIdFeature, candidate.inReplyToTweetId) - .add(IsAncestorCandidateFeature, candidate.isAncestorCandidate.getOrElse(false)) - .add( - IsExtendedReplyFeature, - isInNetwork && isReply && !isRetweet && directedAtUserIsInFirstDegree.contains(false)) - .add(FromInNetworkSourceFeature, candidate.isInNetwork.getOrElse(true)) - .add(IsRandomTweetFeature, candidate.isRandomTweet.getOrElse(false)) - .add(IsReadFromCacheFeature, candidate.isReadFromCache.getOrElse(false)) - .add(IsRetweetFeature, candidate.isRetweet.getOrElse(false)) - .add(IsRetweetedReplyFeature, isReply && isRetweet) - .add( - NonSelfFavoritedByUserIdsFeature, - candidate.favoritedByUserIds.getOrElse(Seq.empty).filterNot(_ == candidate.authorId)) - .add(NumImagesFeature, numImages) - .add( - OriginalTweetCreationTimeFromSnowflakeFeature, - SnowflakeId.timeFromIdOpt(originalTweetId)) - .add(PredictionRequestIdFeature, candidate.predictionRequestId) - .add(ScoreFeature, Some(candidate.score)) - .add( - SimclustersTweetTopKClustersWithScoresFeature, - candidate.simclustersTweetTopKClustersWithScores.map(_.toMap).getOrElse(Map.empty)) - .add( - StreamToKafkaFeature, - candidate.predictionRequestId.nonEmpty && candidate.fullScoringSucceeded.getOrElse(false)) - .add(SourceTweetIdFeature, candidate.sourceTweetId) - .add(SourceUserIdFeature, candidate.sourceUserId) - .add(SuggestTypeFeature, suggestType) - .add(QuotedTweetIdFeature, candidate.quotedTweetId) - .add( - TweetLanguageFeature, - earlybirdFeatures.flatMap(_.language.map(_.value)).map(getLanguageISOFormatByValue)) - .add(VideoDurationMsFeature, earlybirdFeatures.flatMap(_.videoDurationMs)) - .build() - } -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/ForYouTweetPreviewsCandidatePipelineConfig.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/ForYouTweetPreviewsCandidatePipelineConfig.docx new file mode 100644 index 0000000000000000000000000000000000000000..46bfcfa6eb38af293310146427c87ba6000d1d96 GIT binary patch literal 38350 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 literal 0 HcmV?d00001 diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/ForYouTweetPreviewsCandidatePipelineConfig.scala b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/ForYouTweetPreviewsCandidatePipelineConfig.scala deleted file mode 100644 index c60278bfb..000000000 --- a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/ForYouTweetPreviewsCandidatePipelineConfig.scala +++ /dev/null @@ -1,143 +0,0 @@ -package com.twitter.home_mixer.product.for_you - -import com.twitter.home_mixer.functional_component.candidate_source.EarlybirdCandidateSource -import com.twitter.home_mixer.functional_component.decorator.urt.builder.HomeFeedbackActionInfoBuilder -import com.twitter.home_mixer.functional_component.filter.DropMaxCandidatesFilter -import com.twitter.home_mixer.functional_component.filter.PreviouslyServedTweetPreviewsFilter -import com.twitter.home_mixer.functional_component.gate.TimelinesPersistenceStoreLastInjectionGate -import com.twitter.home_mixer.model.HomeFeatures.AuthorEnabledPreviewsFeature -import com.twitter.home_mixer.model.HomeFeatures.IsHydratedFeature -import com.twitter.home_mixer.model.HomeFeatures.PersistenceEntriesFeature -import com.twitter.home_mixer.product.for_you.feature_hydrator.AuthorEnabledPreviewsFeatureHydrator -import com.twitter.home_mixer.product.for_you.feature_hydrator.TweetPreviewTweetypieCandidateFeatureHydrator -import com.twitter.home_mixer.product.for_you.filter.TweetPreviewTextFilter -import com.twitter.home_mixer.product.for_you.model.ForYouQuery -import com.twitter.home_mixer.product.for_you.param.ForYouParam.EnableTweetPreviewsCandidatePipelineParam -import com.twitter.home_mixer.product.for_you.param.ForYouParam.TweetPreviewsMaxCandidatesParam -import com.twitter.home_mixer.product.for_you.param.ForYouParam.TweetPreviewsMinInjectionIntervalParam -import com.twitter.home_mixer.product.for_you.query_transformer.TweetPreviewsQueryTransformer -import com.twitter.home_mixer.product.for_you.response_transformer.TweetPreviewResponseFeatureTransformer -import com.twitter.home_mixer.service.HomeMixerAlertConfig -import com.twitter.product_mixer.component_library.decorator.urt.UrtItemCandidateDecorator -import com.twitter.product_mixer.component_library.decorator.urt.builder.contextual_ref.ContextualTweetRefBuilder -import com.twitter.product_mixer.component_library.decorator.urt.builder.item.tweet.TweetCandidateUrtItemBuilder -import com.twitter.product_mixer.component_library.decorator.urt.builder.metadata.ClientEventInfoBuilder -import com.twitter.product_mixer.component_library.feature_hydrator.query.social_graph.PreviewCreatorsFeature -import com.twitter.product_mixer.component_library.filter.FeatureFilter -import com.twitter.product_mixer.component_library.gate.NonEmptySeqFeatureGate -import com.twitter.product_mixer.component_library.model.candidate.TweetCandidate -import com.twitter.product_mixer.core.functional_component.candidate_source.CandidateSourceWithExtractedFeatures -import com.twitter.product_mixer.core.functional_component.common.alert.Alert -import com.twitter.product_mixer.core.functional_component.decorator.CandidateDecorator -import com.twitter.product_mixer.core.functional_component.feature_hydrator.BaseCandidateFeatureHydrator -import com.twitter.product_mixer.core.functional_component.filter.Filter -import com.twitter.product_mixer.core.functional_component.gate.Gate -import com.twitter.product_mixer.core.functional_component.transformer.CandidateFeatureTransformer -import com.twitter.product_mixer.core.functional_component.transformer.CandidatePipelineQueryTransformer -import com.twitter.product_mixer.core.functional_component.transformer.CandidatePipelineResultsTransformer -import com.twitter.product_mixer.core.model.common.identifier.CandidatePipelineIdentifier -import com.twitter.product_mixer.core.model.common.identifier.FilterIdentifier -import com.twitter.product_mixer.core.model.marshalling.response.rtf.safety_level.TimelineHomeTweetPreviewHydrationSafetyLevel -import com.twitter.product_mixer.core.model.marshalling.response.urt.contextual_ref.TweetHydrationContext -import com.twitter.product_mixer.core.pipeline.PipelineQuery -import com.twitter.product_mixer.core.pipeline.candidate.CandidatePipelineConfig -import com.twitter.search.earlybird.{thriftscala => eb} -import com.twitter.timelines.configapi.FSParam -import com.twitter.timelines.injection.scribe.InjectionScribeUtil -import com.twitter.timelineservice.model.rich.EntityIdType -import com.twitter.timelineservice.suggests.{thriftscala => st} - -import javax.inject.Inject -import javax.inject.Singleton - -@Singleton -class ForYouTweetPreviewsCandidatePipelineConfig @Inject() ( - earlybirdCandidateSource: EarlybirdCandidateSource, - authorEnabledPreviewsFeatureHydrator: AuthorEnabledPreviewsFeatureHydrator, - tweetPreviewsQueryTransformer: TweetPreviewsQueryTransformer, - tweetPreviewTweetypieCandidateFeatureHydrator: TweetPreviewTweetypieCandidateFeatureHydrator, - homeFeedbackActionInfoBuilder: HomeFeedbackActionInfoBuilder) - extends CandidatePipelineConfig[ - ForYouQuery, - eb.EarlybirdRequest, - eb.ThriftSearchResult, - TweetCandidate - ] { - - val identifier: CandidatePipelineIdentifier = CandidatePipelineIdentifier("ForYouTweetPreviews") - - override val supportedClientParam: Option[FSParam[Boolean]] = - Some(EnableTweetPreviewsCandidatePipelineParam) - - override val gates: Seq[Gate[ForYouQuery]] = { - Seq( - TimelinesPersistenceStoreLastInjectionGate( - TweetPreviewsMinInjectionIntervalParam, - PersistenceEntriesFeature, - EntityIdType.TweetPreview - ), - NonEmptySeqFeatureGate(PreviewCreatorsFeature) - ) - } - - override val queryTransformer: CandidatePipelineQueryTransformer[ - PipelineQuery, - eb.EarlybirdRequest - ] = tweetPreviewsQueryTransformer - - override val candidateSource: CandidateSourceWithExtractedFeatures[ - eb.EarlybirdRequest, - eb.ThriftSearchResult - ] = earlybirdCandidateSource - - override val featuresFromCandidateSourceTransformers: Seq[ - CandidateFeatureTransformer[eb.ThriftSearchResult] - ] = Seq(TweetPreviewResponseFeatureTransformer) - - override val resultTransformer: CandidatePipelineResultsTransformer[ - eb.ThriftSearchResult, - TweetCandidate - ] = { tweet => TweetCandidate(tweet.id) } - - override val preFilterFeatureHydrationPhase1: Seq[ - BaseCandidateFeatureHydrator[ForYouQuery, TweetCandidate, _] - ] = Seq( - authorEnabledPreviewsFeatureHydrator, - tweetPreviewTweetypieCandidateFeatureHydrator, - ) - - override val filters: Seq[ - Filter[ForYouQuery, TweetCandidate] - ] = Seq( - PreviouslyServedTweetPreviewsFilter, - FeatureFilter - .fromFeature(FilterIdentifier("TweetPreviewVisibilityFiltering"), IsHydratedFeature), - FeatureFilter - .fromFeature(FilterIdentifier("AuthorEnabledPreviews"), AuthorEnabledPreviewsFeature), - TweetPreviewTextFilter, - DropMaxCandidatesFilter(TweetPreviewsMaxCandidatesParam) - ) - - override val decorator: Option[CandidateDecorator[PipelineQuery, TweetCandidate]] = { - val component = InjectionScribeUtil.scribeComponent(st.SuggestType.TweetPreview).get - val clientEventInfoBuilder = ClientEventInfoBuilder[PipelineQuery, TweetCandidate](component) - - val tweetItemBuilder = TweetCandidateUrtItemBuilder[PipelineQuery, TweetCandidate]( - clientEventInfoBuilder = clientEventInfoBuilder, - contextualTweetRefBuilder = Some( - ContextualTweetRefBuilder( - TweetHydrationContext( - safetyLevelOverride = Some(TimelineHomeTweetPreviewHydrationSafetyLevel), - outerTweetContext = None - ) - ) - ), - feedbackActionInfoBuilder = Some(homeFeedbackActionInfoBuilder), - ) - - Some(UrtItemCandidateDecorator(tweetItemBuilder)) - } - - override val alerts: Seq[Alert] = Seq( - HomeMixerAlertConfig.BusinessHours.defaultSuccessRateAlert(95)) -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/ForYouWhoToFollowCandidatePipelineConfigBuilder.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/ForYouWhoToFollowCandidatePipelineConfigBuilder.docx new file mode 100644 index 0000000000000000000000000000000000000000..d0131b22222da82781e2e41bfda6b757363c1b01 GIT binary patch literal 37456 zcmagEWmsIvwm*z(a1HM6?hb+A?ruRF2@Z`1cMA@|-QC?G1b3G}aQA;_X3jY?=id9i zUv@uTRqH2f?XIf5yOd-hp)kR~z~I1czH)0-s1(E{frEjK!hnHcfLe9M0rsEG?LQl; zc{rFm>od9A*)}A}E3Sy3emQ%=N@f-!@e)VDD&2OVabSqUlc-9+;n7}XK9PfXxEtpS zQ=e7}fnkcvNWJqRTB#N6^lqfm6_+^C*U!+*BZDmR&RhG&bZWu9CmBa7vmm`gI6DAS z-JIe5eu@j6Wv9B2&k#NMOe{wyAW7>1ESkC^MgyIAFc?lna1=VUDsP%Qx1HQUP335q zdWZhg-l&r6%eb!_*@L*BWY)_f6O~4$O*%rWKhM`NqjPnsFGlt8{mwP66ZCaXmg


    X}2xEX_B2{+#0#4f;>* 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 H=mqfr3h3=| literal 0 HcmV?d00001 diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/ForYouWhoToSubscribeCandidatePipelineConfigBuilder.scala b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/ForYouWhoToSubscribeCandidatePipelineConfigBuilder.scala deleted file mode 100644 index bd4437b7c..000000000 --- a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/ForYouWhoToSubscribeCandidatePipelineConfigBuilder.scala +++ /dev/null @@ -1,52 +0,0 @@ -package com.twitter.home_mixer.product.for_you - -import com.twitter.home_mixer.functional_component.decorator.urt.builder.HomeWhoToSubscribeFeedbackActionInfoBuilder -import com.twitter.home_mixer.functional_component.gate.DismissFatigueGate -import com.twitter.home_mixer.functional_component.gate.TimelinesPersistenceStoreLastInjectionGate -import com.twitter.home_mixer.model.HomeFeatures.DismissInfoFeature -import com.twitter.home_mixer.model.HomeFeatures.PersistenceEntriesFeature -import com.twitter.home_mixer.product.for_you.model.ForYouQuery -import com.twitter.home_mixer.product.for_you.param.ForYouParam.EnableWhoToSubscribeCandidatePipelineParam -import com.twitter.home_mixer.product.for_you.param.ForYouParam.WhoToSubscribeDisplayTypeIdParam -import com.twitter.home_mixer.product.for_you.param.ForYouParam.WhoToSubscribeMinInjectionIntervalParam -import com.twitter.home_mixer.service.HomeMixerAlertConfig -import com.twitter.product_mixer.component_library.decorator.urt.builder.timeline_module.ParamWhoToFollowModuleDisplayTypeBuilder -import com.twitter.product_mixer.component_library.pipeline.candidate.who_to_subscribe_module.WhoToSubscribeCandidatePipelineConfig -import com.twitter.product_mixer.component_library.pipeline.candidate.who_to_subscribe_module.WhoToSubscribeCandidatePipelineConfigBuilder -import com.twitter.product_mixer.core.functional_component.gate.Gate -import com.twitter.timelineservice.model.rich.EntityIdType -import com.twitter.timelineservice.suggests.thriftscala.SuggestType -import javax.inject.Inject -import javax.inject.Singleton - -@Singleton -class ForYouWhoToSubscribeCandidatePipelineConfigBuilder @Inject() ( - whoToSubscribeCandidatePipelineConfigBuilder: WhoToSubscribeCandidatePipelineConfigBuilder, - homeWhoToSubscribeFeedbackActionInfoBuilder: HomeWhoToSubscribeFeedbackActionInfoBuilder) { - - def build(): WhoToSubscribeCandidatePipelineConfig[ForYouQuery] = { - val gates: Seq[Gate[ForYouQuery]] = Seq( - TimelinesPersistenceStoreLastInjectionGate( - WhoToSubscribeMinInjectionIntervalParam, - PersistenceEntriesFeature, - EntityIdType.WhoToSubscribe - ), - DismissFatigueGate(SuggestType.WhoToSubscribe, DismissInfoFeature) - ) - - whoToSubscribeCandidatePipelineConfigBuilder.build[ForYouQuery]( - identifier = WhoToSubscribeCandidatePipelineConfig.identifier, - supportedClientParam = Some(EnableWhoToSubscribeCandidatePipelineParam), - alerts = alerts, - gates = gates, - moduleDisplayTypeBuilder = - ParamWhoToFollowModuleDisplayTypeBuilder(WhoToSubscribeDisplayTypeIdParam), - feedbackActionInfoBuilder = Some(homeWhoToSubscribeFeedbackActionInfoBuilder) - ) - } - - private val alerts = Seq( - HomeMixerAlertConfig.BusinessHours.defaultSuccessRateAlert(70), - HomeMixerAlertConfig.BusinessHours.defaultEmptyResponseRateAlert() - ) -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/candidate_source/BUILD.bazel b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/candidate_source/BUILD.bazel deleted file mode 100644 index 540823800..000000000 --- a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/candidate_source/BUILD.bazel +++ /dev/null @@ -1,24 +0,0 @@ -scala_library( - sources = ["*.scala"], - compiler_option_sets = ["fatal_warnings"], - strict_deps = True, - tags = ["bazel-compatible"], - dependencies = [ - "3rdparty/jvm/javax/inject:javax.inject", - "finatra/inject/inject-core/src/main/scala", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/model", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/model/request", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/model", - "home-mixer/thrift/src/main/thrift:thrift-scala", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/model/cursor", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/candidate_source", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/candidate_source/product_pipeline", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/pipeline", - "src/thrift/com/twitter/search:earlybird-scala", - "stitch/stitch-timelineservice/src/main/scala", - ], - exports = [ - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/candidate_source", - ], -) diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/candidate_source/BUILD.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/candidate_source/BUILD.docx new file mode 100644 index 0000000000000000000000000000000000000000..dff94835410de410a64dcd53f5269922cfb8620b GIT binary patch literal 37020 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 Q0_7?}hD2cYQ0)Qn03C2UssI20 literal 0 HcmV?d00001 diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/candidate_source/ScoredTweetsProductCandidateSource.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/candidate_source/ScoredTweetsProductCandidateSource.docx new file mode 100644 index 0000000000000000000000000000000000000000..33eaeb4ca9783c6c83f5210d2ae0a3f216570823 GIT binary patch literal 38803 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

    %R98#?_)<)mS#gQ zaWAJqLH=D{Mr7J$7j2`lf+84vZ`baZ(q0}zUciqxk0#;0Jh(9d&S*bPZg9vCEA~ik ziP<-cc}ybhm=FNh_;)d)5$JFcIR%AkDdMc6GN|w@n`~PwpI~g73Z!5PL?$dBz)cvy z=4J}YtpJHb9;Y_o`lU5)3d)}ql5jRg|;0Mt~SkNi@y@H~+ zRIMOQE^g7^PN8XvV=qrmomdp>W%ZgaewtYOjA`+?2#_v{AOO-uCO0S+guOiN5pk3O z&$0EzoBFJ*G$?BF)zFwPb7&*tDsi8UPbUXXp)hNqaN=S|O%>x~|K`NT>{jQ^NkMKG zWlo+e`Uz+{W4afiH#nU+yuZpqPR1zL2BjLDZh=^UlTnb9lCnY_Kxs}j;4ex-LO6&j zGC~fRn0rEbKcE2{R|@i11(|J%dm=WK;m)6cqePW+ODpa)yFpH-B_|E+Z3w>#`b#Y` z!9Q7`#m54i*%SJ=Gj_<3+2~dF*)D#KaLB@kz?Lp(>t1L&;7 z=t%BnA-X|;Vbhk%RhUen(RaOwtSG6aiUMZHI-kQO@D=hW=R z<;bB7nQncJn&m}12j&F-^O!e8*;NAN4Bz(8sL=-2v7}&&nq7kSW7zb{Ga5Gi&KW_& znP1coY^UCYxLX%lkHjw{EW)IQp7WD`g5vYA=@zEl?k$-;_7LSzag2PFBJS>7WR6W= zd-f8)Os*Oa>@o=a%^w1;o3*=fM9@5c6Cm4z;6%k7wq;3o2N9N)A}I_o9*Uk#oe?A` zBq)>+5s-28zuU1tJD95Thf$?#1J zX~xudX3&oyxfwP7L#pHk!8^@2jS3T-b6!9uUCCs3UCx4_aEm5HFYzx!mSI2m!~+oi z7*db`3g9EYnCj2$#1o!8wIpPx4(KP&c5!NWI~cnX1At4S*TW3g5)$dvY$(`6rq^P# zF}@CCqGsM{Z$Dby$_Vp=Bb2JJ($(eWGP1I+!&NHaOzNyKkQ+V-rp}~%_n%l@8$+U1`=Dl+mLkoK< ztO?1lfEG^)P2|ZO<;RJqcVT}*_hr8iV3#1Ds!HdCh<)PGGoFTUW@-9dZW#ITO<^8p zxR>hqj+t?SKQkn?^vhj@th~s;p=F~TafZ<-%ZXh?01V;#0AUH^ma24Nkz5_*ux5N5 znwcn>x&&dFFN@C0VX4XGrIR!@;Q$<>UKh5E>P|evaa3&8ya7=nooGkXm>QZGB57n* zgRQSsLmgFOM{y_(wL?>ptKP4A)F<8DL~ut!=4!i3nOtRc8SU zP{#q)?)`d<`fo6U-Dmq~hr+*rtk5taZnV*{lALF=JJVXcY*>+ zEJFWBiA8%u2M1Ft<3H=H>Xp~*esQ35Y!vD=Z5cr~*h=kC9+6b7OOsguek1^><_D1F zEqe@Xw(JJ+O2}}6QPSBd>h;q^XNP^?pe%hFoKqHDydEzMz3()T5G6Gg+s*W1p~Z_X z3qwM12m_@KFPAswkCwNy9bQ%)TC-$eH$<|%J&&e(<^0&6l#N|Ko1MGwR!Q&U0g!PXr->U4cOP6N_!rI<0g+rbIS@Kd$vgfr=M*Nk4iy--4`4)atRN6 zCL_f^oy8S60LMs`=T74Q3XMKlMg9bZ4Iakn1}_N#mVP!HPKJ}bM;a~-Zmz)mTPS2z zVsC9CCo5o-b~>*v%U)RGwjrv=Y`9H}^gY4Jhh~1MZ=oj&m&a^Leu-~pW&ulG6fS

    ~LO);F;FIL1OkY;?1jZ6&CG+A7p@7(@(r&WB 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 W&_IV4SV3P`6&uL*>+(qZ`tARj$*H6O literal 0 HcmV?d00001 diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/candidate_source/ScoredTweetsProductCandidateSource.scala b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/candidate_source/ScoredTweetsProductCandidateSource.scala deleted file mode 100644 index d1daeb93e..000000000 --- a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/candidate_source/ScoredTweetsProductCandidateSource.scala +++ /dev/null @@ -1,174 +0,0 @@ -package com.twitter.home_mixer.product.for_you.candidate_source - -import com.google.inject.Provider -import com.twitter.home_mixer.model.HomeFeatures.ServedTweetIdsFeature -import com.twitter.home_mixer.model.HomeFeatures.TimelineServiceTweetsFeature -import com.twitter.home_mixer.model.request.HomeMixerRequest -import com.twitter.home_mixer.model.request.ScoredTweetsProduct -import com.twitter.home_mixer.model.request.ScoredTweetsProductContext -import com.twitter.home_mixer.product.for_you.model.ForYouQuery -import com.twitter.home_mixer.{thriftscala => t} -import com.twitter.product_mixer.component_library.premarshaller.cursor.UrtCursorSerializer -import com.twitter.product_mixer.core.functional_component.candidate_source.product_pipeline.ProductPipelineCandidateSource -import com.twitter.product_mixer.core.functional_component.configapi.ParamsBuilder -import com.twitter.product_mixer.core.model.common.identifier.CandidateSourceIdentifier -import com.twitter.product_mixer.core.product.registry.ProductPipelineRegistry -import com.twitter.timelines.render.{thriftscala => tl} -import com.twitter.timelineservice.suggests.{thriftscala => st} -import com.twitter.tweetconvosvc.tweet_ancestor.{thriftscala => ta} -import javax.inject.Inject -import javax.inject.Singleton - -/** - * [[ScoredTweetWithConversationMetadata]] - **/ -case class ScoredTweetWithConversationMetadata( - tweetId: Long, - authorId: Long, - score: Option[Double] = None, - suggestType: Option[st.SuggestType] = None, - sourceTweetId: Option[Long] = None, - sourceUserId: Option[Long] = None, - quotedTweetId: Option[Long] = None, - quotedUserId: Option[Long] = None, - inReplyToTweetId: Option[Long] = None, - inReplyToUserId: Option[Long] = None, - directedAtUserId: Option[Long] = None, - inNetwork: Option[Boolean] = None, - sgsValidLikedByUserIds: Option[Seq[Long]] = None, - sgsValidFollowedByUserIds: Option[Seq[Long]] = None, - ancestors: Option[Seq[ta.TweetAncestor]] = None, - topicId: Option[Long] = None, - topicFunctionalityType: Option[tl.TopicContextFunctionalityType] = None, - conversationId: Option[Long] = None, - conversationFocalTweetId: Option[Long] = None, - isReadFromCache: Option[Boolean] = None, - streamToKafka: Option[Boolean] = None, - exclusiveConversationAuthorId: Option[Long] = None, - authorIsBlueVerified: Option[Boolean] = None, - authorIsGoldVerified: Option[Boolean] = None, - authorIsGrayVerified: Option[Boolean] = None, - authorIsLegacyVerified: Option[Boolean] = None, - authorIsCreator: Option[Boolean] = None, - perspectiveFilteredLikedByUserIds: Option[Seq[Long]] = None) - -@Singleton -class ScoredTweetsProductCandidateSource @Inject() ( - override val productPipelineRegistry: Provider[ProductPipelineRegistry], - override val paramsBuilder: Provider[ParamsBuilder]) - extends ProductPipelineCandidateSource[ - ForYouQuery, - HomeMixerRequest, - t.ScoredTweetsResponse, - ScoredTweetWithConversationMetadata - ] { - - override val identifier: CandidateSourceIdentifier = - CandidateSourceIdentifier("ScoredTweetsProduct") - - private val MaxModuleSize = 3 - private val MaxAncestorsInConversation = 2 - - override def pipelineRequestTransformer(productPipelineQuery: ForYouQuery): HomeMixerRequest = { - HomeMixerRequest( - clientContext = productPipelineQuery.clientContext, - product = ScoredTweetsProduct, - productContext = Some( - ScoredTweetsProductContext( - productPipelineQuery.deviceContext, - productPipelineQuery.seenTweetIds, - productPipelineQuery.features.map(_.getOrElse(ServedTweetIdsFeature, Seq.empty)), - productPipelineQuery.features.map(_.getOrElse(TimelineServiceTweetsFeature, Seq.empty)) - )), - serializedRequestCursor = - productPipelineQuery.pipelineCursor.map(UrtCursorSerializer.serializeCursor), - maxResults = productPipelineQuery.requestedMaxResults, - debugParams = None, - homeRequestParam = false - ) - } - - override def productPipelineResultTransformer( - productPipelineResult: t.ScoredTweetsResponse - ): Seq[ScoredTweetWithConversationMetadata] = { - val scoredTweets = productPipelineResult.scoredTweets.flatMap { focalTweet => - val parentTweets = focalTweet.ancestors.getOrElse(Seq.empty).sortBy(-_.tweetId) - val (intermediates, root) = parentTweets.splitAt(parentTweets.size - 1) - val truncatedIntermediates = - intermediates.take(MaxModuleSize - MaxAncestorsInConversation).reverse - val rootScoredTweet: Seq[ScoredTweetWithConversationMetadata] = root.map { ancestor => - ScoredTweetWithConversationMetadata( - tweetId = ancestor.tweetId, - authorId = ancestor.userId, - suggestType = focalTweet.suggestType, - conversationId = Some(ancestor.tweetId), - conversationFocalTweetId = Some(focalTweet.tweetId), - exclusiveConversationAuthorId = focalTweet.exclusiveConversationAuthorId - ) - } - val conversationId = rootScoredTweet.headOption.map(_.tweetId) - - val tweetsToParents = - if (parentTweets.nonEmpty) parentTweets.zip(parentTweets.tail).toMap - else Map.empty[ta.TweetAncestor, ta.TweetAncestor] - - val intermediateScoredTweets = truncatedIntermediates.map { ancestor => - ScoredTweetWithConversationMetadata( - tweetId = ancestor.tweetId, - authorId = ancestor.userId, - suggestType = focalTweet.suggestType, - inReplyToTweetId = tweetsToParents.get(ancestor).map(_.tweetId), - conversationId = conversationId, - conversationFocalTweetId = Some(focalTweet.tweetId), - exclusiveConversationAuthorId = focalTweet.exclusiveConversationAuthorId - ) - } - val parentScoredTweets = rootScoredTweet ++ intermediateScoredTweets - - val conversationFocalTweetId = - if (parentScoredTweets.nonEmpty) Some(focalTweet.tweetId) else None - - val focalScoredTweet = ScoredTweetWithConversationMetadata( - tweetId = focalTweet.tweetId, - authorId = focalTweet.authorId, - score = focalTweet.score, - suggestType = focalTweet.suggestType, - sourceTweetId = focalTweet.sourceTweetId, - sourceUserId = focalTweet.sourceUserId, - quotedTweetId = focalTweet.quotedTweetId, - quotedUserId = focalTweet.quotedUserId, - inReplyToTweetId = parentScoredTweets.lastOption.map(_.tweetId), - inReplyToUserId = focalTweet.inReplyToUserId, - directedAtUserId = focalTweet.directedAtUserId, - inNetwork = focalTweet.inNetwork, - sgsValidLikedByUserIds = focalTweet.sgsValidLikedByUserIds, - sgsValidFollowedByUserIds = focalTweet.sgsValidFollowedByUserIds, - topicId = focalTweet.topicId, - topicFunctionalityType = focalTweet.topicFunctionalityType, - ancestors = focalTweet.ancestors, - conversationId = conversationId, - conversationFocalTweetId = conversationFocalTweetId, - isReadFromCache = focalTweet.isReadFromCache, - streamToKafka = focalTweet.streamToKafka, - exclusiveConversationAuthorId = focalTweet.exclusiveConversationAuthorId, - authorIsBlueVerified = focalTweet.authorMetadata.map(_.blueVerified), - authorIsGoldVerified = focalTweet.authorMetadata.map(_.goldVerified), - authorIsGrayVerified = focalTweet.authorMetadata.map(_.grayVerified), - authorIsLegacyVerified = focalTweet.authorMetadata.map(_.legacyVerified), - authorIsCreator = focalTweet.authorMetadata.map(_.creator), - perspectiveFilteredLikedByUserIds = focalTweet.perspectiveFilteredLikedByUserIds - ) - - parentScoredTweets :+ focalScoredTweet - } - - val dedupedTweets = scoredTweets.groupBy(_.tweetId).map { - case (_, duplicateAncestors) => duplicateAncestors.maxBy(_.score.getOrElse(0.0)) - } - - // Sort by tweet id to prevent issues with future assumptions of the root being the first - // tweet and the focal being the last tweet in a module. The tweets as a whole do not need - // to be sorted overall, only the relative order within modules must be kept. - dedupedTweets.toSeq.sortBy(_.tweetId) - } -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/feature_hydrator/AuthorEnabledPreviewsFeatureHydrator.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/feature_hydrator/AuthorEnabledPreviewsFeatureHydrator.docx new file mode 100644 index 0000000000000000000000000000000000000000..5fcaae04adf018089bb7d0ddeaf304ecbb6edce6 GIT binary patch literal 37681 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

    Yr2)rBvsZByRsjaIQoK9D(~oMN$W(N$&rU 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 literal 0 HcmV?d00001 diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/feature_hydrator/AuthorEnabledPreviewsFeatureHydrator.scala b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/feature_hydrator/AuthorEnabledPreviewsFeatureHydrator.scala deleted file mode 100644 index f93a5041f..000000000 --- a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/feature_hydrator/AuthorEnabledPreviewsFeatureHydrator.scala +++ /dev/null @@ -1,72 +0,0 @@ -package com.twitter.home_mixer.product.for_you.feature_hydrator - -import com.twitter.home_mixer.model.HomeFeatures.AuthorIdFeature -import com.twitter.home_mixer.model.HomeFeatures.AuthorEnabledPreviewsFeature -import com.twitter.product_mixer.component_library.model.candidate.TweetCandidate -import com.twitter.product_mixer.core.feature.Feature -import com.twitter.product_mixer.core.feature.featuremap.FeatureMap -import com.twitter.product_mixer.core.feature.featuremap.FeatureMapBuilder -import com.twitter.product_mixer.core.functional_component.feature_hydrator.BulkCandidateFeatureHydrator -import com.twitter.product_mixer.core.model.common.CandidateWithFeatures -import com.twitter.product_mixer.core.model.common.identifier.FeatureHydratorIdentifier -import com.twitter.product_mixer.core.pipeline.PipelineQuery -import com.twitter.stitch.Stitch -import com.twitter.strato.generated.client.audiencerewards.audienceRewardsService.GetCreatorPreferencesOnUserClientColumn - -import javax.inject.Inject -import javax.inject.Singleton - -/** - * Hydrates the `AuthorEnabledPreviews` feature for tweets authored by creators by querying the - * `GetCreatorPreferences` Strato column. This feature corresponds to the `previews_enabled` field of that column. - * Given a tweet from a creator, this feature indicates whether that creator has enabled previews - * on their profile. - */ -@Singleton -class AuthorEnabledPreviewsFeatureHydrator @Inject() ( - getCreatorPreferencesOnUserClientColumn: GetCreatorPreferencesOnUserClientColumn) - extends BulkCandidateFeatureHydrator[PipelineQuery, TweetCandidate] { - - override val identifier: FeatureHydratorIdentifier = - FeatureHydratorIdentifier("AuthorEnabledPreviews") - - override val features: Set[Feature[_, _]] = Set(AuthorEnabledPreviewsFeature) - - private val fetcher = getCreatorPreferencesOnUserClientColumn.fetcher - - private val DefaultAuthorEnabledPreviewsValue = true - - override def apply( - query: PipelineQuery, - candidates: Seq[CandidateWithFeatures[TweetCandidate]] - ): Stitch[Seq[FeatureMap]] = { - val candidateAuthors = candidates - .map(_.features.getOrElse(AuthorIdFeature, None)) - .toSet - .flatten - - // Build a map of creator -> authorEnabledPreviews, then use it to populate candidate features - val authorIdToFeatureStitch = Stitch.collect { - candidateAuthors - .map { author => - val isAuthorEnabledPreviews = fetcher.fetch(author).map { - _.v.map(_.previewsEnabled).getOrElse(DefaultAuthorEnabledPreviewsValue) - } - (author, isAuthorEnabledPreviews) - }.toMap - } - - authorIdToFeatureStitch.map { authorIdToFeatureMap => - candidates.map { - _.features.getOrElse(AuthorIdFeature, None) match { - case Some(authorId) => FeatureMapBuilder() - .add(AuthorEnabledPreviewsFeature, authorIdToFeatureMap(authorId)) - .build() - case _ => FeatureMapBuilder() - .add(AuthorEnabledPreviewsFeature, DefaultAuthorEnabledPreviewsValue) - .build() - } - } - } - } -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/feature_hydrator/BUILD.bazel b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/feature_hydrator/BUILD.bazel deleted file mode 100644 index 87a260b7e..000000000 --- a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/feature_hydrator/BUILD.bazel +++ /dev/null @@ -1,28 +0,0 @@ -scala_library( - sources = ["*.scala"], - compiler_option_sets = ["fatal_warnings"], - strict_deps = True, - tags = ["bazel-compatible"], - dependencies = [ - "audience-rewards/thrift/src/main/thrift/common:thrift-scala", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/marshaller/timelines", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/model", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/model/request", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/param", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/service", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/util", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/feature_hydrator/candidate/tweet_tweetypie", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/model/candidate", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/feature_hydrator", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/util", - "src/thrift/com/twitter/socialgraph:thrift-scala", - "stitch/stitch-core", - "stitch/stitch-socialgraph", - "stitch/stitch-timelineservice", - "strato/config/columns/audiencerewards/audienceRewardsService:audienceRewardsService-strato-client", - "strato/src/main/scala/com/twitter/strato/client", - "timelinemixer/common/src/main/scala/com/twitter/timelinemixer/clients/feedback", - "timelineservice/common/src/main/scala/com/twitter/timelineservice/model", - "util/util-core", - ], -) diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/feature_hydrator/BUILD.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/feature_hydrator/BUILD.docx new file mode 100644 index 0000000000000000000000000000000000000000..ea474c77a6d8ece04f063e697b761fb61a739cb1 GIT binary patch literal 37093 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�T`Xwh^*ni*(9->A8=3mfG|B*Euv%YFY}}RK9|J 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

    Fox1Zaa^BM^A~yPd?yb=&+0!;qVumx z*cToZ%RiExTk5@_Re|&@l8S*@)U?XJdYVdxoo`n@i6)uxWN5!z`9OU%6Fb_l%*~!D z>T$_Q=x~t%%vVWShf2#S8+c+Wte>+D|bMYmTpcZVMVW_1Fiv z`c8`gN1?`JQ8#q&CY9|cUAEAY?v6ARQ%eu79Z%s?&lXA1S4~}|A=Q&b9#p2hk<6Jk zw9Y35-jHusj&- z*Rvx?Zdmo5=`kdY4m`c*5OrnJbIIX1$vx8KEG*Y_C4?=4qB@}3XzC^5nd9<@VT*=~ zq@MsPT4_R3XP%nYXGEe1w#`e0 zm(joU(cPlc@ePG{N{{r6PPHl}k3YOasMil3APoe5k-jQ_xFl^lk2IrQV=+0SKv4__ z&M8*cajPhp_vo~rOE<>2E_s;=hn8}r>r4>U{-N=4T#7eRk0Tt8H720B-p<{_Ua${P z{-~+2q}QaN!jZ$^Ct7jCsz!zJeF%K{ZC)EFF%E9WF_AlZE7th2M!sV`B&Bv0Ger*I zCmKJz-tVr8dWH1eMmCNj!IZC**62dz|gCzT&aWbi+7nFynTos? zoIjwzE$G{7g|7^iSHq#aW}m#jF4_-0MRFicd>Y9!FYJUl6m7`)c)pddmX3(~!sX1D zpyZb*Yzc3cygeZ&k??G>RDRtNWqE5}JES$G=Y+_N1mDr--;WLl5gpv$uupJ1(PEO? zj&%vx)4G!FGgGTwo5wPEvu20jc`@zAZ^*F0m_k?AB$-Sd_r;97=f&-{xZW8;6Rw<6 zmDZ(>!vq@7jv!XBLvoEab4%n5nxUD0+f;9iTqv!xa#{`-{JHocF?6hdoETQ%-`1OL z7m6AzBiF6=4xXW6sy)X^$w=zbYibBXcWtJv*?w8(G`9R((8tN^?ZJ$pZ)@l8gYw_k&X5p#xpZx-x!@60~=;2_9(=ZHgrWJwoCmU;qiI=jr6@HM*rB!pIk(NQW9Neh+8_{{^FT5f zt7eU`&9h~3>kg|+<6Yr zx>Y#<6oKBr*!RMH@X`m=fzI22u4Gs`mlfE?zmI&kWY1YhDib@CpaOx|nR7w}Sxj-z zZIgch#tXGot_05k_=S=?Jf7_wk_866UJ~p9*GZY4C;mI0T}2cy4lcYf@q0J7aZnis zYycM`n1-&PZ39bL0?dQ6#!McC+vdSJWUvApe=`+!ggv8iumBwBG6kn1b_@0jd%-Sn z?8tPfMDBL6Mv`C)IMiZV45GGYg(dI;^Wgm;lOK-VwZvF=ho(lHzzW)2Rl*QQV0m=k H+PwN7+OU)= literal 0 HcmV?d00001 diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/filter/SocialContextFilter.scala b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/filter/SocialContextFilter.scala deleted file mode 100644 index 5b007969b..000000000 --- a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/filter/SocialContextFilter.scala +++ /dev/null @@ -1,76 +0,0 @@ -package com.twitter.home_mixer.product.for_you.filter - -import com.twitter.home_mixer.model.HomeFeatures._ -import com.twitter.home_mixer.product.for_you.param.ForYouParam -import com.twitter.product_mixer.component_library.model.candidate.TweetCandidate -import com.twitter.product_mixer.core.feature.featuremap.FeatureMap -import com.twitter.product_mixer.core.functional_component.filter.Filter -import com.twitter.product_mixer.core.functional_component.filter.FilterResult -import com.twitter.product_mixer.core.model.common.CandidateWithFeatures -import com.twitter.product_mixer.core.model.common.identifier.FilterIdentifier -import com.twitter.product_mixer.core.pipeline.PipelineQuery -import com.twitter.stitch.Stitch -import com.twitter.timelineservice.suggests.{thriftscala => st} - -object SocialContextFilter extends Filter[PipelineQuery, TweetCandidate] { - - override val identifier: FilterIdentifier = FilterIdentifier("SocialContext") - - // Tweets from candidate sources which don't need generic like/follow/topic proof - private val AllowedSources: Set[st.SuggestType] = Set( - st.SuggestType.RankedListTweet, - st.SuggestType.RecommendedTrendTweet, - st.SuggestType.MediaTweet - ) - - override def apply( - query: PipelineQuery, - candidates: Seq[CandidateWithFeatures[TweetCandidate]] - ): Stitch[FilterResult[TweetCandidate]] = { - val enableIsVerifiedAuthorFilter = - query.params(ForYouParam.EnableVerifiedAuthorSocialContextBypassParam) - - val enableTopicSocialContextFilter = - query.params(ForYouParam.EnableTopicSocialContextFilterParam) - - val validTweetIds = candidates - .filter { candidate => - candidate.features.getOrElse(InNetworkFeature, true) || - candidate.features.getOrElse(SuggestTypeFeature, None).exists(AllowedSources.contains) || - candidate.features.getOrElse(ConversationModuleFocalTweetIdFeature, None).isDefined || - (enableIsVerifiedAuthorFilter && isVerifiedAuthor(candidate.features)) || - hasLikedBySocialContext(candidate.features) || - hasFollowedBySocialContext(candidate.features) || - (enableTopicSocialContextFilter && hasTopicSocialContext(candidate.features)) - }.map(_.candidate.id).toSet - - val (kept, removed) = - candidates.map(_.candidate).partition(candidate => validTweetIds.contains(candidate.id)) - - Stitch.value(FilterResult(kept = kept, removed = removed)) - } - - private def isVerifiedAuthor(candidateFeatures: FeatureMap): Boolean = { - candidateFeatures.getOrElse(AuthorIsBlueVerifiedFeature, false) || - candidateFeatures.getOrElse(AuthorIsGoldVerifiedFeature, false) || - candidateFeatures.getOrElse(AuthorIsGrayVerifiedFeature, false) || - candidateFeatures.getOrElse(AuthorIsLegacyVerifiedFeature, false) - } - - private def hasLikedBySocialContext(candidateFeatures: FeatureMap): Boolean = - candidateFeatures - .getOrElse(SGSValidLikedByUserIdsFeature, Seq.empty) - .exists( - candidateFeatures - .getOrElse(PerspectiveFilteredLikedByUserIdsFeature, Seq.empty) - .toSet.contains - ) - - private def hasFollowedBySocialContext(candidateFeatures: FeatureMap): Boolean = - candidateFeatures.getOrElse(SGSValidFollowedByUserIdsFeature, Seq.empty).nonEmpty - - private def hasTopicSocialContext(candidateFeatures: FeatureMap): Boolean = { - candidateFeatures.getOrElse(TopicIdSocialContextFeature, None).isDefined && - candidateFeatures.getOrElse(TopicContextFunctionalityTypeFeature, None).isDefined - } -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/filter/TweetPreviewTextFilter.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/filter/TweetPreviewTextFilter.docx new file mode 100644 index 0000000000000000000000000000000000000000..28cffe39584ad20dc67ddd3cd3bda1156bb9c47a GIT binary patch literal 37263 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 z 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 - val text = candidate.features.get(TweetTextFeature).getOrElse("") - - text.length > MinTweetLength && - text.take(PreviewTextLength).count(_ == '\n') <= MaxNewlines && - !(text.startsWith(HttpPrefix) || text.startsWith(HttpsPrefix)) - } - - val filterResult = FilterResult( - kept = kept.map(_.candidate), - removed = removed.map(_.candidate) - ) - - Stitch.value(filterResult) - } - -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/functional_component/gate/BUILD.bazel b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/functional_component/gate/BUILD.bazel deleted file mode 100644 index 9a1d186dd..000000000 --- a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/functional_component/gate/BUILD.bazel +++ /dev/null @@ -1,13 +0,0 @@ -scala_library( - sources = ["*.scala"], - compiler_option_sets = ["fatal_warnings"], - strict_deps = True, - tags = ["bazel-compatible"], - dependencies = [ - "home-mixer/server/src/main/scala/com/twitter/home_mixer/model", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/model/request", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/model", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/common", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/gate", - ], -) diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/functional_component/gate/BUILD.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/functional_component/gate/BUILD.docx new file mode 100644 index 0000000000000000000000000000000000000000..a19c4a55361a3449fc6003e84f07dd363eb5ffce GIT binary patch literal 36855 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

    M{GP{ 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 literal 0 HcmV?d00001 diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/functional_component/gate/PushToHomeRequestGate.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/functional_component/gate/PushToHomeRequestGate.docx new file mode 100644 index 0000000000000000000000000000000000000000..9298c55ad85e35d02783b9d394f7d498e77920e4 GIT binary patch literal 36957 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

    I5vW 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 literal 0 HcmV?d00001 diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/model/ForYouQuery.scala b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/model/ForYouQuery.scala deleted file mode 100644 index dda427350..000000000 --- a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/model/ForYouQuery.scala +++ /dev/null @@ -1,52 +0,0 @@ -package com.twitter.home_mixer.product.for_you.model - -import com.twitter.adserver.thriftscala.HomeTimelineType -import com.twitter.adserver.thriftscala.TimelineRequestParams -import com.twitter.dspbidder.commons.{thriftscala => dsp} -import com.twitter.home_mixer.model.HomeAdsQuery -import com.twitter.home_mixer.model.request.DeviceContext -import com.twitter.home_mixer.model.request.ForYouProduct -import com.twitter.home_mixer.model.request.HasDeviceContext -import com.twitter.home_mixer.model.request.HasSeenTweetIds -import com.twitter.onboarding.task.service.{thriftscala => ots} -import com.twitter.product_mixer.component_library.model.cursor.UrtOrderedCursor -import com.twitter.product_mixer.component_library.pipeline.candidate.flexible_injection_pipeline.transformer.HasFlipInjectionParams -import com.twitter.product_mixer.core.feature.featuremap.FeatureMap -import com.twitter.product_mixer.core.model.marshalling.request._ -import com.twitter.product_mixer.core.pipeline.HasPipelineCursor -import com.twitter.product_mixer.core.pipeline.PipelineQuery -import com.twitter.timelines.configapi.Params - -case class ForYouQuery( - override val params: Params, - override val clientContext: ClientContext, - override val pipelineCursor: Option[UrtOrderedCursor], - override val requestedMaxResults: Option[Int], - override val debugOptions: Option[DebugOptions], - override val features: Option[FeatureMap], - override val deviceContext: Option[DeviceContext], - override val seenTweetIds: Option[Seq[Long]], - override val dspClientContext: Option[dsp.DspClientContext], - pushToHomeTweetId: Option[Long]) - extends PipelineQuery - with HasPipelineCursor[UrtOrderedCursor] - with HasDeviceContext - with HasSeenTweetIds - with HasFlipInjectionParams - with HomeAdsQuery { - override val product: Product = ForYouProduct - - override def withFeatureMap(features: FeatureMap): ForYouQuery = - copy(features = Some(features)) - - override val timelineRequestParams: Option[TimelineRequestParams] = - Some(TimelineRequestParams(homeTimelineType = Some(HomeTimelineType.Home))) - - // Fields below are used for FLIP Injection in Onboarding Task Service (OTS) - override val displayLocation: ots.DisplayLocation = ots.DisplayLocation.HomeTimeline - override val rankingDisablerWithLatestControlsAvailable: Option[Boolean] = None - override val isEmptyState: Option[Boolean] = None - override val isFirstRequestAfterSignup: Option[Boolean] = None - override val isEndOfTimeline: Option[Boolean] = None - override val timelineId: Option[Long] = None -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/model/ForYouTweetsResponse.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/model/ForYouTweetsResponse.docx new file mode 100644 index 0000000000000000000000000000000000000000..5789aaa566529382682259d41fb2499b58ed58a7 GIT binary patch literal 36752 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 literal 0 HcmV?d00001 diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/model/ForYouTweetsResponse.scala b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/model/ForYouTweetsResponse.scala deleted file mode 100644 index 68b0d6736..000000000 --- a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/model/ForYouTweetsResponse.scala +++ /dev/null @@ -1,5 +0,0 @@ -package com.twitter.home_mixer.product.for_you.model - -import com.twitter.product_mixer.core.model.marshalling.HasMarshalling - -case class ForYouTweetsResponse(tweetCandidates: Seq[Long]) extends HasMarshalling diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/param/BUILD.bazel b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/param/BUILD.bazel deleted file mode 100644 index a56e3a1fd..000000000 --- a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/param/BUILD.bazel +++ /dev/null @@ -1,14 +0,0 @@ -scala_library( - sources = ["*.scala"], - compiler_option_sets = ["fatal_warnings"], - strict_deps = True, - tags = ["bazel-compatible"], - dependencies = [ - "3rdparty/jvm/javax/inject:javax.inject", - "configapi/configapi-core/src/main/scala/com/twitter/timelines/configapi", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/param/decider", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/decorator/urt", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/product", - "util/util-core/src/main/scala/com/twitter/conversions", - ], -) diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/param/BUILD.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/param/BUILD.docx new file mode 100644 index 0000000000000000000000000000000000000000..c0cd1080c2ce088516dceac80b47c9c3ed0adbdd GIT binary patch literal 36914 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 literal 0 HcmV?d00001 diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/param/ForYouParamConfig.scala b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/param/ForYouParamConfig.scala deleted file mode 100644 index 001ee57ad..000000000 --- a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/param/ForYouParamConfig.scala +++ /dev/null @@ -1,60 +0,0 @@ -package com.twitter.home_mixer.product.for_you.param - -import com.twitter.home_mixer.param.decider.DeciderKey -import com.twitter.home_mixer.product.for_you.param.ForYouParam._ -import com.twitter.product_mixer.core.product.ProductParamConfig -import com.twitter.servo.decider.DeciderKeyName -import javax.inject.Inject -import javax.inject.Singleton - -@Singleton -class ForYouParamConfig @Inject() () extends ProductParamConfig { - override val enabledDeciderKey: DeciderKeyName = DeciderKey.EnableForYouProduct - override val supportedClientFSName: String = SupportedClientFSName - - override val booleanDeciderOverrides = Seq( - EnableScoredTweetsCandidatePipelineParam - ) - - override val booleanFSOverrides = Seq( - ClearCacheOnPtr.EnableParam, - EnableFlipInjectionModuleCandidatePipelineParam, - EnablePushToHomeMixerPipelineParam, - EnableScoredTweetsMixerPipelineParam, - EnableServedCandidateKafkaPublishingParam, - EnableTimelineScorerCandidatePipelineParam, - EnableTopicSocialContextFilterParam, - EnableVerifiedAuthorSocialContextBypassParam, - EnableWhoToFollowCandidatePipelineParam, - EnableWhoToSubscribeCandidatePipelineParam, - EnableTweetPreviewsCandidatePipelineParam, - EnableClearCacheOnPushToHome - ) - - override val boundedIntFSOverrides = Seq( - AdsNumOrganicItemsParam, - ClearCacheOnPtr.MinEntriesParam, - FlipInlineInjectionModulePosition, - ServerMaxResultsParam, - WhoToFollowPositionParam, - WhoToSubscribePositionParam, - TweetPreviewsPositionParam, - TweetPreviewsMaxCandidatesParam - ) - - override val stringFSOverrides = Seq( - WhoToFollowDisplayLocationParam, - ExperimentStatsParam - ) - - override val boundedDurationFSOverrides = Seq( - WhoToFollowMinInjectionIntervalParam, - WhoToSubscribeMinInjectionIntervalParam, - TweetPreviewsMinInjectionIntervalParam - ) - - override val enumFSOverrides = Seq( - WhoToFollowDisplayTypeIdParam, - WhoToSubscribeDisplayTypeIdParam - ) -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/query_transformer/BUILD.bazel b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/query_transformer/BUILD.bazel deleted file mode 100644 index 17e99c46c..000000000 --- a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/query_transformer/BUILD.bazel +++ /dev/null @@ -1,16 +0,0 @@ -scala_library( - sources = ["*.scala"], - compiler_option_sets = ["fatal_warnings"], - strict_deps = True, - tags = ["bazel-compatible"], - dependencies = [ - "3rdparty/jvm/javax/inject:javax.inject", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/feature_hydrator/query/social_graph", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/pipeline/candidate", - "src/java/com/twitter/search/common/schema/earlybird", - "src/java/com/twitter/search/queryparser/query:core-query-nodes", - "src/java/com/twitter/search/queryparser/query/search:search-query-nodes", - "src/thrift/com/twitter/search:earlybird-scala", - "src/thrift/com/twitter/socialgraph:thrift-scala", - ], -) diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/query_transformer/BUILD.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/query_transformer/BUILD.docx new file mode 100644 index 0000000000000000000000000000000000000000..dc077532a5ecc751532817a93268595ddc25556f GIT binary patch literal 36949 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 literal 0 HcmV?d00001 diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/query_transformer/TweetPreviewsQueryTransformer.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/query_transformer/TweetPreviewsQueryTransformer.docx new file mode 100644 index 0000000000000000000000000000000000000000..47b7ef922603739d9d06c3f671934baaf0fb8eb9 GIT binary patch literal 38002 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[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 scr} -import com.twitter.search.common.schema.earlybird.EarlybirdFieldConstants.EarlybirdFieldConstant -import com.twitter.search.earlybird.{thriftscala => t} -import com.twitter.search.queryparser.query.Conjunction -import com.twitter.search.queryparser.query.Query -import com.twitter.search.queryparser.query.search.SearchOperator -import javax.inject.Inject -import javax.inject.Singleton - -@Singleton -class TweetPreviewsQueryTransformer @Inject() (clientId: ClientId) - extends CandidatePipelineQueryTransformer[PipelineQuery, t.EarlybirdRequest] { - - private val MaxPreviewTweets = 200 - private val EarlybirdRelevanceTensorflowModel = "timelines_rectweet_replica" - private val SinceDuration = 7.days - - val MetadataOptions = t.ThriftSearchResultMetadataOptions( - getReferencedTweetAuthorId = true, - getFromUserId = true - ) - - override def transform(query: PipelineQuery): t.EarlybirdRequest = { - val candidatePreviewCreatorIds = - query.features.map(_.get(PreviewCreatorsFeature)).getOrElse(Seq.empty) - - val searchQuery = new Conjunction( - // Include subscriber only (aka exclusive) Tweets - new SearchOperator.Builder() - .setType(SearchOperator.Type.FILTER) - .addOperand(EarlybirdFieldConstant.EXCLUSIVE_FILTER_TERM) - .build(), - // Include only original Tweets - new SearchOperator.Builder() - .setType(SearchOperator.Type.FILTER) - .addOperand(EarlybirdFieldConstant.NATIVE_RETWEETS_FILTER_TERM) - .setOccur(Query.Occur.MUST_NOT) - .build(), - new SearchOperator.Builder() - .setType(SearchOperator.Type.FILTER) - .addOperand(EarlybirdFieldConstant.REPLIES_FILTER_TERM) - .setOccur(Query.Occur.MUST_NOT) - .build(), - new SearchOperator.Builder() - .setType(SearchOperator.Type.FILTER) - .addOperand(EarlybirdFieldConstant.QUOTE_FILTER_TERM) - .setOccur(Query.Occur.MUST_NOT) - .build(), - new SearchOperator(SearchOperator.Type.SINCE_TIME, SinceDuration.ago.inSeconds.toString) - ) - - t.EarlybirdRequest( - searchQuery = t.ThriftSearchQuery( - serializedQuery = Some(searchQuery.serialize), - fromUserIDFilter64 = Some(candidatePreviewCreatorIds), - numResults = MaxPreviewTweets, - rankingMode = t.ThriftSearchRankingMode.Relevance, - relevanceOptions = Some( - t.ThriftSearchRelevanceOptions( - filterDups = true, - keepDupWithHigherScore = true, - proximityScoring = true, - maxConsecutiveSameUser = Some(5), - rankingParams = Some( - scr.ThriftRankingParams( - `type` = Some(scr.ThriftScoringFunctionType.TensorflowBased), - selectedTensorflowModel = Some(EarlybirdRelevanceTensorflowModel), - minScore = -1.0e100, - applyBoosts = false, - ) - ), - ), - ), - resultMetadataOptions = Some(MetadataOptions), - searcherId = query.getOptionalUserId, - ), - getOlderResults = Some(true), // needed for archive access to older tweets - clientRequestID = Some(s"${Trace.id.traceId}"), - followedUserIds = Some(candidatePreviewCreatorIds.toSeq), - numResultsToReturnAtRoot = Some(MaxPreviewTweets), - clientId = Some(clientId.name), - ) - } -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/response_transformer/BUILD.bazel b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/response_transformer/BUILD.bazel deleted file mode 100644 index cf629b665..000000000 --- a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/response_transformer/BUILD.bazel +++ /dev/null @@ -1,13 +0,0 @@ -scala_library( - sources = ["*.scala"], - compiler_option_sets = ["fatal_warnings"], - strict_deps = True, - tags = ["bazel-compatible"], - dependencies = [ - "3rdparty/jvm/javax/inject:javax.inject", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/model", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/pipeline/candidate", - "src/java/com/twitter/search/common/schema/earlybird", - "src/thrift/com/twitter/search:earlybird-scala", - ], -) diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/response_transformer/BUILD.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/response_transformer/BUILD.docx new file mode 100644 index 0000000000000000000000000000000000000000..c5e5c38ae6254971a883b378bb74c1fe104e2fa2 GIT binary patch literal 36890 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 literal 0 HcmV?d00001 diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/response_transformer/TweetPreviewResponseFeatureTransformer.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/response_transformer/TweetPreviewResponseFeatureTransformer.docx new file mode 100644 index 0000000000000000000000000000000000000000..2458a5367af862319da186a10e1a695a6bb0d157 GIT binary patch literal 37125 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 st} -import com.twitter.search.earlybird.{thriftscala => eb} - -object TweetPreviewResponseFeatureTransformer - extends CandidateFeatureTransformer[eb.ThriftSearchResult] { - - override val identifier: TransformerIdentifier = - TransformerIdentifier("TweetPreviewResponse") - - override val features: Set[Feature[_, _]] = - Set(AuthorIdFeature, IsTweetPreviewFeature, SuggestTypeFeature) - - def transform( - input: eb.ThriftSearchResult - ): FeatureMap = { - FeatureMapBuilder() - .add(IsTweetPreviewFeature, true) - .add(SuggestTypeFeature, Some(st.SuggestType.TweetPreview)) - .add(AuthorIdFeature, input.metadata.map(_.fromUserId)) - .build() - } -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/scorer/BUILD.bazel b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/scorer/BUILD.bazel deleted file mode 100644 index c320c8838..000000000 --- a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/scorer/BUILD.bazel +++ /dev/null @@ -1,10 +0,0 @@ -scala_library( - sources = ["*.scala"], - compiler_option_sets = ["fatal_warnings"], - strict_deps = True, - dependencies = [ - "home-mixer/server/src/main/scala/com/twitter/home_mixer/model", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/util", - "timelineservice/common:model", - ], -) diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/scorer/BUILD.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/scorer/BUILD.docx new file mode 100644 index 0000000000000000000000000000000000000000..b8281c019dbc2a8824618f0e84170fcb348d70e8 GIT binary patch literal 36795 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 lywLTdw+9jWz1onn7;5Vm(iS$oeP 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 literal 0 HcmV?d00001 diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/side_effect/ServedCandidateFeatureKeysKafkaSideEffect.scala b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/side_effect/ServedCandidateFeatureKeysKafkaSideEffect.scala deleted file mode 100644 index bfa7dd52e..000000000 --- a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/side_effect/ServedCandidateFeatureKeysKafkaSideEffect.scala +++ /dev/null @@ -1,112 +0,0 @@ -package com.twitter.home_mixer.product.for_you.side_effect - -import com.twitter.home_mixer.model.HomeFeatures.CandidateSourceIdFeature -import com.twitter.home_mixer.model.HomeFeatures.InNetworkFeature -import com.twitter.home_mixer.model.HomeFeatures.IsReadFromCacheFeature -import com.twitter.home_mixer.model.HomeFeatures.PredictionRequestIdFeature -import com.twitter.home_mixer.model.HomeFeatures.ServedIdFeature -import com.twitter.home_mixer.model.HomeFeatures.ServedRequestIdFeature -import com.twitter.home_mixer.model.HomeFeatures.SuggestTypeFeature -import com.twitter.home_mixer.product.for_you.param.ForYouParam.EnableServedCandidateKafkaPublishingParam -import com.twitter.home_mixer.service.HomeMixerAlertConfig -import com.twitter.product_mixer.component_library.side_effect.KafkaPublishingSideEffect -import com.twitter.product_mixer.core.feature.featuremap.FeatureMap -import com.twitter.product_mixer.core.functional_component.side_effect.PipelineResultSideEffect -import com.twitter.product_mixer.core.model.common.identifier -import com.twitter.product_mixer.core.model.common.identifier.SideEffectIdentifier -import com.twitter.product_mixer.core.model.common.presentation.CandidateWithDetails -import com.twitter.product_mixer.core.model.marshalling.response.urt.Timeline -import com.twitter.product_mixer.core.pipeline.PipelineQuery -import com.twitter.timelines.ml.cont_train.common.domain.non_scalding.ServedCandidateFeatureKeysAdapter -import com.twitter.timelines.ml.cont_train.common.domain.non_scalding.ServedCandidateFeatureKeysFields -import com.twitter.timelines.ml.kafka.serde.CandidateFeatureKeySerde -import com.twitter.timelines.ml.kafka.serde.TBaseSerde -import com.twitter.timelines.served_candidates_logging.{thriftscala => sc} -import com.twitter.timelines.suggests.common.poly_data_record.{thriftjava => pldr} -import com.twitter.timelineservice.suggests.{thriftscala => tls} -import org.apache.kafka.clients.producer.ProducerRecord -import org.apache.kafka.common.serialization.Serializer -import scala.collection.JavaConverters._ - -/** - * Pipeline side-effect that publishes candidate keys to a Kafka topic. - */ -class ServedCandidateFeatureKeysKafkaSideEffect( - topic: String, - sourceIdentifiers: Set[identifier.CandidatePipelineIdentifier]) - extends KafkaPublishingSideEffect[ - sc.CandidateFeatureKey, - pldr.PolyDataRecord, - PipelineQuery, - Timeline - ] - with PipelineResultSideEffect.Conditionally[PipelineQuery, Timeline] { - - import ServedCandidateKafkaSideEffect._ - - override val identifier: SideEffectIdentifier = SideEffectIdentifier("ServedCandidateFeatureKeys") - - override def onlyIf( - query: PipelineQuery, - selectedCandidates: Seq[CandidateWithDetails], - remainingCandidates: Seq[CandidateWithDetails], - droppedCandidates: Seq[CandidateWithDetails], - response: Timeline - ): Boolean = query.params.getBoolean(EnableServedCandidateKafkaPublishingParam) - - override val bootstrapServer: String = "/s/kafka/timeline:kafka-tls" - - override val keySerde: Serializer[sc.CandidateFeatureKey] = - CandidateFeatureKeySerde().serializer() - - override val valueSerde: Serializer[pldr.PolyDataRecord] = - TBaseSerde.Thrift[pldr.PolyDataRecord]().serializer - - override val clientId: String = "home_mixer_served_candidate_feature_keys_producer" - - override def buildRecords( - query: PipelineQuery, - selectedCandidates: Seq[CandidateWithDetails], - remainingCandidates: Seq[CandidateWithDetails], - droppedCandidates: Seq[CandidateWithDetails], - response: Timeline - ): Seq[ProducerRecord[sc.CandidateFeatureKey, pldr.PolyDataRecord]] = { - val servedRequestIdOpt = - query.features.getOrElse(FeatureMap.empty).getOrElse(ServedRequestIdFeature, None) - - extractCandidates(query, selectedCandidates, sourceIdentifiers).map { candidate => - val isReadFromCache = candidate.features.getOrElse(IsReadFromCacheFeature, false) - val servedId = candidate.features.get(ServedIdFeature).get - - val key = sc.CandidateFeatureKey( - tweetId = candidate.candidateIdLong, - viewerId = query.getRequiredUserId, - servedId = servedId) - - val record = - ServedCandidateFeatureKeysAdapter - .adaptToDataRecords( - ServedCandidateFeatureKeysFields( - candidateTweetSourceId = candidate.features - .getOrElse(CandidateSourceIdFeature, None).map(_.value.toLong).getOrElse(2L), - predictionRequestId = - candidate.features.getOrElse(PredictionRequestIdFeature, None).get, - servedRequestIdOpt = if (isReadFromCache) servedRequestIdOpt else None, - servedId = servedId, - injectionModuleName = candidate.getClass.getSimpleName, - viewerFollowsOriginalAuthor = - Some(candidate.features.getOrElse(InNetworkFeature, true)), - suggestType = candidate.features - .getOrElse(SuggestTypeFeature, None).getOrElse(tls.SuggestType.RankedOrganicTweet), - finalPositionIndex = Some(candidate.sourcePosition), - isReadFromCache = isReadFromCache - )).asScala.head - - new ProducerRecord(topic, key, pldr.PolyDataRecord.dataRecord(record)) - } - } - - override val alerts = Seq( - HomeMixerAlertConfig.BusinessHours.defaultSuccessRateAlert(98.5) - ) -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/side_effect/ServedCandidateFeatureKeysKafkaSideEffectBuilder.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/side_effect/ServedCandidateFeatureKeysKafkaSideEffectBuilder.docx new file mode 100644 index 0000000000000000000000000000000000000000..2aa60500d506a703a3f8352be6e1a03c89944507 GIT binary patch literal 37006 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 "tq_ct_served_candidate_feature_keys" - case _ => "tq_ct_served_candidate_feature_keys_staging" - } - new ServedCandidateFeatureKeysKafkaSideEffect(topic, sourceIdentifiers) - } -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/side_effect/ServedCandidateKafkaSideEffect.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/side_effect/ServedCandidateKafkaSideEffect.docx new file mode 100644 index 0000000000000000000000000000000000000000..6edc6b62a0364a8d0e601a23ab29fdb5584988c3 GIT binary patch literal 37341 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 sourceIdentifiers.contains(candidate.source)) - .flatMap { - case item: ItemCandidateWithDetails => Seq(item) - case module: ModuleCandidateWithDetails => module.candidates - } - .filter(candidate => candidate.features.getOrElse(StreamToKafkaFeature, false)) - .map { candidate => - val servedId = - if (candidate.features.getOrElse(IsReadFromCacheFeature, false) && - servedRequestIdOpt.nonEmpty) - servedRequestIdOpt - else - candidate.features.getOrElse(PredictionRequestIdFeature, None) - - candidate.copy(features = candidate.features + (ServedIdFeature, servedId)) - }.toSeq - // deduplicate by (tweetId, userId, servedId) - .groupBy { candidate => - ( - candidate.candidateIdLong, - query.getRequiredUserId, - candidate.features.getOrElse(ServedIdFeature, None)) - }.values.map(_.head).toSeq - } -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/side_effect/ServedCandidateKeysKafkaSideEffect.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/side_effect/ServedCandidateKeysKafkaSideEffect.docx new file mode 100644 index 0000000000000000000000000000000000000000..f3e5e161c1c01eb73e53041778b1de829ce4437a GIT binary patch literal 38193 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%0AdXDxtvZz8ep<{qkl#FqOcy zLkN%ocX@^!4rqLb3=1GKA!Q2FlGD^ek}?;F*T#h#zP%fF^*Q}F;woo*8C0?6s&$o? z+S7C^k&dmN@KqygBc6N8YvXOQ-#n0)jbgZN`N*=L8cI2jp383sCo631P zyol@4Om z?qq_3CjSoN{og^!6Z=fJ2Uq=k;m#O`f2h7!BHLcbXJU>$^z%h?eDG|?IINUv`g7iu zz!dFpPVs&;v*C&s?DH!v*iPnO<4jbtatkocCNz`bX5KrQgK0=Y2I0;N`8t2j1CiOo zoR3Sq%qF!x9D<5`9UvVQ{u)n7Fy&@TTNKRUrAfIAcgDA1zj3FU)Q+_NO9}Td>10{X zSu&r+J{v*G6C1(573L8g5V?qEVov<6(Di>Syvn=|orvG8BNM8mzXh@ry+5W>!r6Cefc6`si_Uy^HZ3DAJx2qKqf2 z7m8-(y2d!m@-)(PbbELdJ+4?CQ!=;zcwki!Wo}c?!dgeQ(V5L==^q|x_$#0POSpNz>cq=eYuVj5MPo>KB zOOHMuBRG0rKv-M|5Ls#^DoeNz9r88?MpkeY(K|Grb2VC)H@YV*}k(`wu%GvH(F!RY%E{)hVWU(^^NYS_@b2qt}5@ru%FFlWDIcoO{Nvt-b@KR z5y6b4a1YZ&`CQxYpha%FZQqx`ZBjB-+b`O&+k^3^%P#uR;x&i#5Ar*gVGy}0>|f+9 zY@C>p%>NJa86(-P$C%X3HK%`&_ZrDQs%SnSXtpS0{p|hv6ZS~8EuN*r&|tG8piStZ zk>dwK7Sa2UqtQ?Kw-1Xu-#dz-N(!GDwNN5{MFZ-R27Q)t#pqY~G-eC@tVp>(i&XZVP`1l{rw@mI$Y;YlMvSyEDZFz~743 z&UulcQJsKMVJ?j`ikvhxN#H}dKCLtKl3G*S`0jpD&DxV=KMT*clAMCFwJ1Lzpt1a^ zs{T=b!y#h9*AQbuR_7IgJRK(A3fu5|+5I=N^ab#A>ghEx-!q#E6DYWw8=zZ^7^nQg z%b-LFzg4>F8m9bgSTX$4q}l|J!fatldCZUYZO*D!Vfpmg#wTn^PGrg1Q7<#?lu|fntUQx*X4AXLOS(_d&ybOd@G1%4)yEkS99azhB zQ4Y!O!1ok>#$H#?n;(mn|MaMHUpzAKA7IyBv!;KU{KZ*y+d24SwsGa3CO_*QcNB&H zZ89|Zk4av{KPEfu{{Kw!%G-2J0S`E==IZL?d6hzoGB@daWszL-%v5`x|+ z*N3m}?<}7lg14^GFhSl(B{yQpU~B2fFo(`F9JF{2;EmpyURQqFH2mW9=of`cwk7tSFI@SL^ig$eN|nX(9iZV92p z;RkgcTaaOdVB-E^;9sCxNoA8rSxRYm#j0*iL*pUFP2d<*|vW#G^Tw)?LkDNLu&_% zhwMf~V*BYp_6VAljkM)!uzNlr(^N z;VT!68zKJ?IAS}Q2am$>Tde90Ohwer8r+FgpA^()xPvpxV6Y4$9>W_bogmD7X$QN; z>qV4f$$-5kvuL6m`?t7gu|MMQf-l4`ZH7mTxA=b7lCbp=H~NB;LjO6y)`Jc(&A#A_ zGOn+Ijk%p$&_$;sM1zQ|v1IMt23V|D(!$TWEGel?KYYQjHRdlM+(JEZSi0RxF%4+X z+%hI%O%#@ZpyZvFgOYa&2Rj^K+Y0sH$+OGR`$zI>J8V0@Pb?*}{zD-`AL9NA;r18- z%|th(wUH`KZkanRoM#y!28232Ec8~wD4Q6mq=TAlzw)WKk3ViS0I2o}y!Jz%TY+JZ z1))MwNizac@O^(^*hufNoREF(Yy|SW*DW3Z3Wv4R`sK|ydJVh⋙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

    LP(SB>k=&S+(5+#*^r{ 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 p|2`{=0xvKR_6HaEhS* sc} -import com.twitter.timelines.suggests.common.poly_data_record.{thriftjava => pldr} -import com.twitter.util.Time -import org.apache.kafka.clients.producer.ProducerRecord -import org.apache.kafka.common.serialization.Serializer - -/** - * Pipeline side-effect that publishes candidate keys to a Kafka topic. - */ -class ServedCandidateKeysKafkaSideEffect( - topic: String, - sourceIdentifiers: Set[CandidatePipelineIdentifier]) - extends KafkaPublishingSideEffect[ - sc.ServedCandidateKey, - pldr.PolyDataRecord, - PipelineQuery, - Timeline - ] - with PipelineResultSideEffect.Conditionally[PipelineQuery, Timeline] { - - import ServedCandidateKafkaSideEffect._ - - override val identifier: SideEffectIdentifier = SideEffectIdentifier("ServedCandidateKeys") - - override def onlyIf( - query: PipelineQuery, - selectedCandidates: Seq[CandidateWithDetails], - remainingCandidates: Seq[CandidateWithDetails], - droppedCandidates: Seq[CandidateWithDetails], - response: Timeline - ): Boolean = query.params.getBoolean(EnableServedCandidateKafkaPublishingParam) - - override val bootstrapServer: String = "/s/kafka/timeline:kafka-tls" - - override val keySerde: Serializer[sc.ServedCandidateKey] = ServedCandidateKeySerde.serializer() - - override val valueSerde: Serializer[pldr.PolyDataRecord] = - TBaseSerde.Thrift[pldr.PolyDataRecord]().serializer - - override val clientId: String = "home_mixer_served_candidate_keys_producer" - - override def buildRecords( - query: PipelineQuery, - selectedCandidates: Seq[CandidateWithDetails], - remainingCandidates: Seq[CandidateWithDetails], - droppedCandidates: Seq[CandidateWithDetails], - response: Timeline - ): Seq[ProducerRecord[sc.ServedCandidateKey, pldr.PolyDataRecord]] = { - val servedTimestamp = Time.now.inMilliseconds - val servedRequestIdOpt = - query.features.getOrElse(FeatureMap.empty).getOrElse(ServedRequestIdFeature, None) - - extractCandidates(query, selectedCandidates, sourceIdentifiers).collect { - // Only publish non-cached tweets to the ServedCandidateKey topic - case candidate if !candidate.features.getOrElse(IsReadFromCacheFeature, false) => - val key = sc.ServedCandidateKey( - tweetId = candidate.candidateIdLong, - viewerId = query.getRequiredUserId, - servedId = -1L - ) - - val record = SRichDataRecord(new DataRecord, tlmServedKeysFeatureContext) - record.setFeatureValueFromOption( - TimelinesSharedFeatures.PREDICTION_REQUEST_ID, - candidate.features.getOrElse(PredictionRequestIdFeature, None) - ) - record - .setFeatureValueFromOption(TimelinesSharedFeatures.SERVED_REQUEST_ID, servedRequestIdOpt) - record.setFeatureValueFromOption( - TimelinesSharedFeatures.SERVED_ID, - candidate.features.getOrElse(ServedIdFeature, None) - ) - record.setFeatureValueFromOption( - TimelinesSharedFeatures.INJECTION_TYPE, - record.getFeatureValueOpt(TimelinesSharedFeatures.INJECTION_TYPE)) - record.setFeatureValue( - TimelinesSharedFeatures.SERVED_TIMESTAMP, - servedTimestamp - ) - record.record.dropUnknownFeatures() - - new ProducerRecord(topic, key, pldr.PolyDataRecord.dataRecord(record.getRecord)) - } - } - - override val alerts = Seq( - HomeMixerAlertConfig.BusinessHours.defaultSuccessRateAlert(98.5) - ) -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/side_effect/ServedCandidateKeysKafkaSideEffectBuilder.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/side_effect/ServedCandidateKeysKafkaSideEffectBuilder.docx new file mode 100644 index 0000000000000000000000000000000000000000..8aa036872b29ed3862be3b2330690d224b7e4338 GIT binary patch literal 36997 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 "tq_ct_served_candidate_keys" - case _ => "tq_ct_served_candidate_keys_staging" - } - new ServedCandidateKeysKafkaSideEffect(topic, sourceIdentifiers) - } -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/side_effect/ServedStatsSideEffect.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/side_effect/ServedStatsSideEffect.docx new file mode 100644 index 0000000000000000000000000000000000000000..dced8abb1693f959a71fff7b1a0c943fa362cab0 GIT binary patch literal 37824 zcmagFb9`Of);}EEZfx6Vj3$k3tKkkBTa9howrwYktp-gR+rQm&&b{}X`#jJ4{Zr@;YGd7)C@a4vg!1kD6*GxRfY?J68MAEHj@phs7FVn~{gzvEndwvp?D2krH&k_2 zAsC7=HY4@ki*T)uzss|UQd?B)R981cJ)ac3*fW14kMYcmYhOH;L~2QLk6?Zfs-`8w z^TRYJDDz%TKd(Mo(78yCmVctgBS;igWwaU^(NGYK68{)vNOk@!S8fNHor==&2-P0l zm;EsX=hq1z7t%*jU-7KhWkyQ1OsjObHb3r^P=gCqiEjoCaRZLE&XaWY4(6)%b!)wa zNUlTh0F>`PYq9P}P&@CP1aJc0^Zt2HyAI-_sOElM6g9hv?nU&&k?MsQQi| zf8$UUtW|0kj!qh7&oh>xPomL&O(ZBl?T$5k_IQFXF8?4V(EGAfysq<+v;l7OhL6RwEqk917|6*c)!nDeoHhd#ee9+Qe=*l4 zpKCQnFMGj^&T4a>|Fb|L-{6%kfVcT9ut2E50+|4e6&wI|j!eb?2h-m-d1lqn0)o5rSl( zmgItlCJh+MOzA<)EtkUvIP6$MIOA4n$?qO*YO~<3H6gBjt!aBQzGCt5CeT6*{Pk(j zKTTAzIwjrhOy@*VKe9kxi6}id0}kfoSv zgQ&Xp`qN{T3s4NOUsKf;s>VD>>y0KZ38C#A<>{ust|AF-Hh2`Z%h`F(yqF4!|8lN< z7`RAOXk6Y*QDl}6D+hnA{!;E%GR@ENY47$}Gbs@fNdnC9l?`Itt=xioB}4*SmKcx4 zpz~tl3xp-S$Jg6Blb@(L<~G{cALqz~P6+AkuI3OP2H<{R8y9Q~dC%NR*p+9VQLlku zhc%qk6D!x1s)t-fp2l=*2oLA*aDcyxQb&w_Crh+61oYmZW^4GZ+sCxr)tBINc)Q$nJe{pdm#8+N{Yk-Db{dhjetU*r@vcO+yLnZf` zniUYQ9j__>yvtZY!e2E+MV>_PY(#`dXH0XZet0Olq@^pT9f_IEfs5))u@mIo3c3%V zf=saD$5Hs?thGyY{{{CIh4Ipc<#7Aai68#h1&Z6dr5=_r`4rarbu?m}(67aMD>+eM zQhke@FE|5R)x%moHhEx8O0ZD=Q)fpy(+d;f1#J4`HQxKe?JuH#-WVA-E7cRgHR+7y z&kw8%z`=wG_^EZW0WMCz?~GGz8~HU!lsE70zOmpq$L4> zj=`+e-Pe!1KOV~oL}~l*cO9W#Ghs(En}fSMKHTHmegb7SC5EK**qb@y`t~`fQ|{BM zC`<@DxFtMeYq?B1G{IRL@FSf9UtDkHRQbS&u?|IJ-%8deA;ziX0IDCMCG_i;^HQDO z4x1@Y7OLN zo75Ney)U`7uroJtlPKZ7GDRKonuPr)Fc+xI<_?nm{s8&HZ<+lOBLR4fHqQ9Y_sQr_ z9>PPeG%$={TT+ye-u^F!VY*hJpY;U{)FJ`}~@4+C!V4-ryR?4UZoxn!R zND;I^EkSBqXweo?qqRkAbzTSZz#8EO>Xgv*Fq#fr_lmVg9`nw09~yv*vvuQ-jbTdD z!?l2SJ@Rp8fGEa-SY*{j=P39#Ta14b$`C!0XM7mM5z6FEA7Bmnh+NQ?5?I5DQ(uOM zCJc5R81Ccx6>E!VD~Pz{4yJZ&Ao6xE4C7Yz<`u~)1nltxk(CzvzEE4$-964Mv(xDu zp6~!UWX-00pcr}Iy^uYt43a?}a zf_bTWBLZ2OW(dEiY7^x!tDfnMzlRCQSZe9hmi;1Wll0Qu!POrLSx-&ynjOAn@0u6) z@@2giwr?s0`O%C?B3ZH`5c?g+7sn61J-4p_r<)?fx+$WF9-4#Sn0Cmb5+oQ&#RDy0 zID&2uJ=_&H80xJz6YM}Te+))n?x)S#h}=x#<@q;ql}7BS4z!T9o)rnhf!K7%ik8{z zwRP(Ru?3B|Yq~8%>LVCLtBzhgQp3-(cAu2BOg`hGcbbi+(+DVlCAP~2(TXOBYjB6( z5I$kp>SjQ?>0r08k+hk*Xee_TpqkLbKbf6xs8q8`+gGbk_b@nF z;k@p!wz=Alefl9la8dmIhQpGtC{i8-uQ>f=uOf%A==DvxB~5O_l0TSO<-S0{BBZX8 z;6&3Z-Va$x4*}NW@=Jz~3ENUsqZR)L>!nrR$Wc*TXq|vSSCI5ZsDOl^*tpIy0~BK) z{v1}y3RE5GPlLRbtuGTLZ6dvlAAG!nF||tPRR+a&)99Ffsem&h%z<+xDvq0x5-a;h ze+MZ(vPfmTWr4KTOIJCVCP*ypWr&VcG zvprn+@|6|*!Ch08xx;cv=SI>=nh!G*ZRwl>B{7*L*32YG&8^3}$aEIh~ zmy>5Qypp##6G9ADP#*d04zXJu#uZqxYISq05hZf!5>#Q~-8$iPI114xTc#GK;H65i z8a+A(6K&6$@oe_U%vV2*+;1E4p3W15PGf=5i4!2}2BS@tKdI6g@U}S{tep&;9V!ay zE=T|DE3slf{aG@7bdOlhQLLilMr!G-?MN(eyqT4YTP@W#d1E-T$is=pUxm)p1!Ak?h~BSI`12J6!ro3q6=qhCX>!h+`ffZ>T}IP zYEP|*(qYF|O+|cufd0K4uI60oOyr`UQ;kak2a=uAdRw#441Y*B4pL_?*Dr#5yp4?w zFX?Ff-Pdq+*DWci7pWWGu;AscEw2yg`I`!u(J-o)Ij(oT47W&r+`eD*&W3*IPO1K! z4Oe+dVKjHtH?pEt<)^fDZg~|}_%t^Zb0~wo_Y~O)PG_pn7x}>X2+^keQarTt{?Db) z))xat2+IdB<9s`RgX;^5$0)K5|L`l1vYl3< zy3jL7Vm0ngbbm{G!-QUR*KhBh(<__GW^VFMd2y2uhpyqXKX(KeGR9nxf+^ZZbL8Zc zo_a}DVXI1FSl*gm&d%kJBC@lmwTWLU4nHTzzQEPCQVi6=kvHbr3bkTZMHU=MD93%P z&-P$oF}7#6Xbd9e(k+@S%34^Hp}Yfr zRm>JH%uP|3rW|M$^kLG9+wx{MVZdDu_NxapnBbm3L^1v@4}pf2;<);!6aK!76f{3# zDjO`v)e^M>gLP@{)tlLB2%g7)?@a%!b!0gfUpNy8h@L7W2=c#b?fBKr+SKunO@^*+ z{H{cuS9f<_zW&P(o0ve5;VD~?IA?rAkIt;xb2eGFxnDCg*k7Vg^?fKvgosp?RMkG0 z#ntikWnn4M?5k(StC+sNX8UwlpL^>QMWw%BX+fFpQ}9=Po7=31H4~xJoz3E z&Rn(5vXa(bZC}sQ1(${aZ;#RMkIzfzQN@DICwsaNj~kcm$qVhzhjTw~+k=Dmj@@4C zKEBz!w`~S7d9M=bB^6&x_a6o)@9&JSoivxfj-OmLxUE}r6$=to^!9Yhf8z;>sC&P$ zsMqp%URWD%3(6 zP0lbUdGfeM@JulC4NE}A;nStU&Tw$RgFe&RGf$=U zCh&`ojR&uU523dJxeuk!;5+-h3L8Yj0dx7Bq)F_CDWAf~sj^{)2jit)rj79X4Tb+0ZR?enhJ zThS*orDVc>`>hQo)C zW6HLd}=XB1*fO- z80tT#;+?lmmY7Z5BDPNjN2mZC>ZKD@tN{RjJD`6Zu>A0@`!FH73@u<|H1Y3 z&$E8V40gJpR{TQs$oKvO*D}J4YiiX1_?4Oc2MV7Hq9ytC=Hzfoh?x*8y0Druac&{h zSWq!S!vfZ>p4axCOESFh^>+{Cx(vdh z@2H-bBzG|1g*^%Msih(c$++VM&dthIN7lt&R7j#fODam1peZG=l?T%AW6+UEGc0|E ziIZ#VuJGByXL?W@>lnsZtmt4#&j(eszRYfZEyYdI3Zs8}-mvK8t2!SjSP83PVcU{g z*09-)M=9V0{|uv)4o3mednjg4avYx@NZ+WbBoedwm4*byd=sNbALhEq7bDP3SqN^m zgN7L1X0swQUlK-%j1JA;F0R>^IOB&dUvw-=K~_h3&^84CRFivDTL?w&3JWDLz5{ZE zLF5W6#y_S5vLNU8eh!zCI{YUDbR1l?9=awX{|3z@FNCq5%`$I)i2c${v|B(0}s2KOFDlGqGVAS7* zIpYEKD4_toVl@0G&P>@1X)m(S|AK_AYe2EM76K z1>!D3H7Bq0M^GP4A1$KA_QamgaN>T+R0%O9ElsXnTRyGm+RHYM_+lFK2lnkN!{gR( z^b!1w+DR|xgB#DcPOZAOgC4>!{Yw+hxnGuDueBeB=CZ4IT&sUB2*@AqAB^VhJVb5@ z>Neks5k=YVGOh?E>O`G$#Nxg`+aZWDxJ?_N(65&gWNZzt6W^VAJ1=LrAP%l|G5QQ= zOWK?`#2vQ&8VCba@A_3mqm){EQGe{aesrKew*RntvBkGIXT#Oblzeg+i#0v|!lJR$J6D!C7v9)aMLlQX7QFm zd5wU4tSv%)IUcLsvW{%B^{sa!c1ZD#R;Aw|aeedn)OEFcAS&rTC*k`QC3p8%7v(Qg zNTXOGCuI$;;1I*Ks#rUv`itrQuWthvMe>K^team6Lp!9#(v?1sr*FT+m2pARh%TPX zO7Rl0*3Y?F2`5UQF8XAMp{bJ>&99i$x$TQ_x||qV(*=& z8c4fgz7pQNh@wd$1<@WIJ&& zI_j|3H>0!u?sMgNui_tBduJaDx1=`)0i|U-YJ3kr?b9*lh?=*~N#Ebn=G&)To^FP( z-mZoQ-P>R7-MsJL65kh3pXPqP9NRG)cD%I+X5KNqObbhmL(O`j31Nj@wer}^QPCrPKxF>(|~n#i@g90ZE|x<1b8;Ga@w zsd4(K^r40j3B+;wc;nFFwS0*~|am{r4K$UkR4Mn2=cb_J{3RbFqNOt{4J zMAa^7r^J^7A8HXrXN)=xo>lF~W4NWn$P>Yq?2QZ@u68QHJ8EH<)9yGP$5Kf(Eha{# zDW7l7=D>b*i7P6@Ad!mvYaKHGmf-7$X3;4@z)fGPqQgRdk?tKU{@B&niuI9f$5mX< z%ox3na`dkWbi2en+*S2P^`nqtl#?=`Ys;zOflL%b(~D^&Ee zcu8y*(hwYOqV}aLr=?}s>9vHpo~oLWemOZauux_PqnL_13aw4M-} z!Y?!lJdR)o(wG1#`Sd$C)BbCRdmi4RV*yR=Xue2^X^n|WDfm0w?2V>%177MNgvgH` zEb#-=dYNL!9(Owi-)H)#x0=>C*3Qr4meN%F6XCwSKfFCH;$v4xBWEykcQ3oL*QgqD zwY=Dsa9{5a^I-=EfYH;=9mv=%|jJsVq+ zw|Io2HrQgTO5baii>y;c zE_MSqQ-iggXm?*h_v4ky8?$iH2SNUf~;ll;21{}2QIpY#29%5r4IT>llA%6Wws_JisXILh~6rC5DHm3_$Q5} zsDel6_O6_lFG^NNAIQ;gC8VU4oLfmersySBNEoUro(z^6i+hAOlzTRptz>a-S4s)) zk0S4Rvfj&(Z1{1^dd&)L^LSIu@ay{c3jDhjoy@RU0ZZ!;ap$!aX`jB0sJ4$9#L-`u zq+JU~(4HIX@MF4*(oyM@GJvGD&Qdlt(w43L%~;Ry{C`$*dY@>)Gq}q_}@ii^G8U zgV%Th_)X__=SBDH`iFcl8ziMK*G-e`Khr^Kk1bDsV z=6J`iC18Nl2$)jy)CSgKP&nnGv1hD*eu+Sr3m#8n?5*Zv!e(1jC#u>j$Y(R7?f%t0 zmE2y8oZema^g(Zr&HEGg$9Do8RDm6CtHI`$UA!#{C=M28+oGpOyVsfG$sJd?NRR2S zgYZA6?!JRPP?WPLtS_%Xs*NV9R%XRyfjOt!*qp^mKdLLX>SVRQX`elbN)RDqGw>H6 zjs-CN!gcco-fz7s3=Fr)E9riB>6BpP{*~9C{FJm4G zc3{=`Ni*qDjvc;SIg^)QbugW=rm&r<;Bq=!_YyL8M&?y_Se=HnlBk`S)5~UgTz7tJ zY5C2H+cLv!&R}hcKX`pNDZ!UgH9MdosV>G0VLN|v55v2Hui`TihtJ??0=tj}TRb!;WmozimoT=5cv&+ZQ+K zYXopoX`~kcm}rUs4t&wavmsX?bq0CrmyQsXfiRPpqJXNR4|KoxIHXM zw7y3qZlJXfyY%4Y^!1af65sQ!4V2RAb}()PJJO2-IYo%iRhqX>RhOs0udP0r(Hx4@ zuQVAg4xF-p#AMkWGvBh}*R{RL1zk8t$&`DXjM<3XAUdfX@jA^pPH^Gnuq>KOp71e5 zWth3LJN}t=3%HTPQcP*=TAQh|6*Vv~iDrxo5m0&R+wb64?v}4};`8bCmQ7CL*@{e%9SS|@$Avs%$jN2cw{fR2*2VtrZk>_eORzVW zLlmkleb747@%%cnv?!fWZx1TcY#wLL=cPfJFfIb!Es$pW3y;M+P58*yN^|t|IkAvRTP-2 zlhtr<`|vDKk5x~D^Ig~&VwRM{s~Gb(GgRvt%$_3LX|{vFvJ{vmN!(jhI!ltRgH8A> z=AWzk4?+W+_mXpn@9X+fg%~-gQ9rOPT_ZcqZz+7DAZCQ7M(*`?;gtx$S5KcDmMlC! z(@%QeAljT3xfaW>5RG8rvrYPm{rW@e=E?C!;($thSo!$M^SVI_qcp^5GU6zAie%Di zZ^c=?%msd;tmfTMd}+ctFD zCoMLDsZlbS9NX2WRB`V`SwYdt1=Snv$j!V>Kw_B7JOGiEwj_k=W0gsSl8*+hVG91n zx=|M6PNmv-N&PKl;!Vj4bC9UB_e>+V#2`Oh7iEB-mZg;`UnpsWxrg7m{--HI#F(x! zi`Hn*eATkz+UW)LC$j9hfx}~Ju&dSS;&9)KyK5B)`sIw(X}AbDS}?e1x(|i(jM-s? zl%KeoVM?T3%T@W0e~HP73-NmR^^x!i9%+f?lM+Mf$M*_RMSKBL`9~1BHVvO;rFNEC zpvL^02ZH=xJaT(d*q}SbmkOvg29C!=Ow6<;Fw{Ux3EzJTtK2a2w6%&0>Go+?9xER9 z(yKtI(1RW0AY&k@K+IpfJ+pkU!17$h0v&aZYl^2CY3VwTtRgcLInx$Qs zTRuFd1B;us*mZQm0CfvSF9N#ihb@KCsNo@yBmWPZVc37M@i_f|vQdw?`f*)SEydO! zekrcD)Pf-2`jU8T@yqcR6Lj>D{j!xe%(tUHZBAV1L30vVL|f3}dff6)LAMYX1nSOn z0+|f5;>ZE{>09Uu@fT{={%U)*oj}4<*b>8!3fu~)3jNRL!zKlq7Z%zOc;XyS3LZlRZ*llbP5n1_}((&LV={j1iB3WHU~%0 zC@bC*h0Q+^X={tBkbI$5?hX?~g$cSw^M6*8dITct+%@223({zwI2vH0*R}QU)v7v4l6rGQRaJ!p!ChHGyi-9lx)u>A0Mr&7mlJ&n zHAwQ`;^R!*L^ya_>6M6+{700Au2&3t`76+@c6}xNWC&1rd`H1ap$61`K%(mZgwxL* zv8G}@@ds%&_N#}MxKC}3$;aD18Zf{WeAeYc%3le+*Q!g|?LGO31up2FsUbsx$LN3Q zIbqRYl`BhvLX#6e1>!*bDI0X4C(14vON_pVj{X~Iedb6-bxbPH60^syX|^T;Pa9~I z9KFOAcs$-`gEWGba*A-8Ec|g}mWylS&_Rs4opn8W$_zO_&Q%PsSg=$PVh0dq7%_y9 z!4Y^;tT{|9(byF^lSN1{2WU3a=wHWd;Uu59dS*ihk34pbmFXp_*`OOuSO)XYUFo5` zK?rM8L^v~`;#V@1=j>;SP(mRG)X-U zB>$$7tUOIiv1ln*>bLI|{@=cPgEeIAy-rP7F7TZ>@&EKKJ_>{cURY|pSibv*41Nt7 zR4{2mPi;I6A8i_%;*>rAo5}-;-zt@f8h|SMp?|A{0If|i8gBjR$$VfUifseuCkg8G z3_jx5@D3j0M_^3M5TYTYu7MzK#uuxJ4Ks3kH{tAc`X9tK_Ks4BBK0-PN)4I)D(?p~ z@8a%)AP=qC{X4&4g2Jqh&dWEg zCA{ffI4Z6q6{RIzv=xq&qEU-Y)`Jbw>KJrRI`Q6V7nHLADK*J%G|(BRn-5=+^44C@ z7EyJScrT0CE=1()^{c~-C$}L^S1FV85NjB2p_T_YLv7I3erbJ<)3i3#LpRz@*BGMe zvd9>n*-OMRXDFkXlFF!GBM#s$_HI)@$XL*~E^DTv0uIJ=n=dKF4Vc&%jDOk9047cS znZ*4+lM*NQ8Ey}*26#dp(GGu8rBonVU&v;lk3S6XM6!Kw??5}O5O4fF?~G@HayT!4 zKbBE{MGYeTN)57`@y9p=g_O)9RFg5)RH&)vZpKh50>56U<6@rH@A-B_))2?zVh__P zO*gxMLT@{8d$~Wxlj2M`SyGoiW^+>|U4}a1nzP=xQcP)vTmGShbA))RH2W-($9$g! zFX@Q|?>`E22@VLHgfh@4|5WJwKNVhOTnA6aZdGu)E9MHHmV9s+btut+z8c8=&M-1p zRq%mr-%Vvuv=^zjY*7VT)7t1ov}P+aDt3$D_X>UVxV6zu|K2XxksYLnBc&6JV&S|_ zKgaYm+IVz(coaDyUlmn6zyEk(kso1ZRma3!T)d*k;f@bA_4QZnS%06@S(|ty4|LtF z9`M0F$pAGAK>C(-&g@m$RDZDAqDXvDVwvDGM0l)w1sk~SAEQ&e@grBM(%GAMH;AIuTQ^msVTVMIhrSoB-!Swywe%mEFBWiPp_U#3X}1sGUv5fz*7Q ze^P&^Ko3XyKd3Le24Fivv-LMUTR(Lgz#dnY^`hC%Wzp07x%?v0@b73MZ$A-44<~aC zQAd)l8L-nJHQBN4kK;5ho~{`X>fGx^`@PF9{Lt(%kMI}yozn=ATp9Wg@@5ux^l--i zgM8LNYWp!Nd28L_FY-PEsYfOC2RQX+MU3x#U%x{iDYwQlb?WPFb^5jPKQyql!DSM> zw;hdr&bxhB+D+*!f+#L{rq@6U`xyzSO&Ic8&Jm_vm##k>}2 zChO?3b0I~r%Tp?oTyk>-#br@#9XsrmuL81Za}7_JV(f@wb7LN+n#Y}WAw^EUMX>Dc zvDwe7$2s6&{I6#eW+<}p9Nm{QrE+PMAMVBG*z+vFn%GpYBj?zEmX_r+0(fPuIsuty z?3K=tsIuU*4Og3fN$%%Dc@_jY7GRUzKMuQ^c*FdJM(kkuBF37Ml}duk1)JE8LV${GtW@B~6G;tjGU7 ziI=|5+5M(%sp4NAweE{X2mc0k?J;NahsmGpmA73(ZF3E)|1v49ecV|X`lrd@#NQ^l z;eVU#wE6!t$t`QuJ>7o5Ug-@qiC$#!&TF03LO__0jfu+_m2PNCX^#(lqg)rdw!gb_ zdI;LGPQ?IzBc9lRA&IG>CCM1PKzGpWK8Q1RXL4Qfc}w5W;nCIGaz>E{Ote>X7G+L* zf=3$$90tx~*#zYk&V9LMFu(-`fB^$pmL`x*;^#hR-Uk)rOEhgB0NETwj>QYyb!>x& z;DdTJ`y={j%rWTKs(8R|6V2`M*P_4z(YWHAc1HdztLQUE1|W5FMp#k+1)`+ z4zZ~(kFO5Emo%4s!)~#;sB;C~go?fpA^CN9XT-AeYq25K5V;o~g$AVqBo@2}9)*Rt z0|c8q6#EC{EhG~)$KFq7JzqD39mu<8-K@h&tUkR(Ndaup27*-tYHVpHBKMA3{yJv zHHmp6`S^dtMGF5GhZA@qa%nX(YP8MstA>cBpRmCjlo;~&1-cG+fok#wrI&Pm^>4`O z+J-DV9VHloXO1T6=+VPqzLF4l)@DjdZfx@gy;fVe0CNd;$71SnDM8nxK66Q*f;N_0 zZU+|cvRxhz!4N&0HAbg2ycm00N7-%kt&TC~_UMPMV}}STK)fBZ*VloYTa7UOP+% z_{U*bJCz#a`O5Pbz(J5HTT|i^uR5{Uxl2bZjp5rN1}$D=PnPXKa)*`k#6AVKihE3 z^JLS0291Vyj(KXd<-IO{5Rvb+hh^zTV(uO^V7KE&wG>Xx?#aoKpk3$}c`8zghO>$% z<*l+-PbjnZ=zG!n;{P4&8lJN2(4$XYYGNA1PI{s`T!Q!@*cf{}-NW&+VUzUQs#`dY z_gYz;X4`(J&~NoO4;?_*w6r;g^k50}fGczQkZelN8E@8s!HS<_Q8@TUpZ&W7WEJBUvN|>G@*~FAhw~8PBSnAFABfVZc#3l3mMI{0I`pa zTgP&lkEMAS7cCd!J&jfyUk}tbWoDEBl#&zG;1d8=yUcmpIhjCSg#%#m0v}-!;0?UN z^8Hh?FIwUzsvXv|n7grX(VKc-=mlYxG36GO(XQD**3qs{@=!w_cbL0lu^+4rre#hT zSiA4ilgiixRTIDnv40WY{z-+ks04rq76E)>I&~TgKA9kwjQScK2cu!S+FfHrp!--x0^Oa8>>?AogH zmAy|uQ2aMh*L1aWW%|_17@nv0F=7|62ELDwd!;9Kr1L?nf_}onh{NTy3++vqPILWopx z1e>{NT%NrsN+IwWMP>KIHMBaB&Hk(K(*ZO;<|9hc&H5<%3Qi7dcGo6gEMW=nuvjF! zG)UkEzoZ&lp%i&xS>+d-)03hT*`ypB*_LJIq)YXB@bR7{WcQWms`ahtYRUE|8hON_x%E~q>e%EK#C(xqc*s2z^6K=3^DY@G0us$dm*H7B zoACbwIC22aJ2`%~bo&#eAfhq^<_k`>%WH>+?nT$5usoz-1gF`Ga$!A-5Tu}2=T-tu zHP;kyR2km;h(|%6DF^7fwshP4_$Gh7AMhj6(|IFhkf3CHNqFnn9q4Cx0nWQhqj$Q{ zp9m;T7FZJFj!lDJrVG#DYecA%7Dw8LpO`l)7osWi0hjYm%P+%){@FwSYUcl18|VB- zqajV|v0Wr!eRBX#o!h{UvO)?1+#argM`37H9`mrzcGZ1@Ixlll`}A1x=%#-lE<*8X zY=0OK$@bXkGCtsQYNzjB%b1Gq-e5ltoE^R=3V83OK(GDIX2o9$v;$@b2pqwD zw_V|_hJ(?~d9k@*dhPd4XNkBs6IeY!hwT$fL59OCd{wvzmvi9Qiu6v! zAn`g~Z*k)0i0mpIux{TNt`~4`f-l!+3hZH7o20{*1&L62yvT)eFP1I--e#70F%#i_ z0lPaC12hCj}OPekqoftpp4j9S5tY4?=>1u!s%$ z8jQ~196&)SAybhrGoi&D&eE<7ZO@|0n51lL`?*D@DmjwFz+l&yR}(xkc9JSQh{>V) z)Uj^GmC&{8q7scR-rRI>sOX~_)H&dD#RP;JC2+k=9L-Z`Pz+79m>Ba9J%8+AY#E%8 ztBBChgw|MbwPv8d!^JUs7c(+N`^izfu4ACfxHLY7%gkKMnpxpDH1;y<$!ZQ@H<1mo zsbghIi8TKuzFeVAp+-497WQi6R)Mg2kfiZ}m2UjDYD`85DIszHY0eC)QL_}=MgxQn z9VbyEb*jP|Rc=wp*fi^8%`q0K{j|O==+KSrQk%it^cbON87*blU^~+jBR>VSg-Pwb<9Iw!XX@01YD)bAD?u44Ie(214qH2T{ZwA;N z$!ebcgQCFk{j__71%QE(DX@_Mll>1mX%%xeG(_9Lew!Zt?xBk6dV?H9$kt;#?W03CQQoEwql+M2Ta2sV{ zAY`nj7;4B+j_B>7b^0Lj6Xt{p=UXo)D||{H(JWr$xGhE)Y#AO-@w7vr3ln9`406nj z=O-CpCwdfTC_MUvBZ_rb)csj9k3f-mw9=0`o|Ay_B(sj^l*l#i}U zzC;pH1{|r+yn}RN%=CclMvCML-I|RY=^m$(z~Z5BmZ0O6*kD^C6HEXfPt&$abDEwC z?`&3qDAq0*GUE94@Hn}C!Q!H@^_L&X_xkjfDdm9QQN;@s>abZOF}6KOU};d4O3-Oa zPO&VJX&&+)O$4yI&gF=Mp0YK`3YdX^8#n7GJy=xDj}-w&4tKHs%8WO?3}2xM1XB77 z2=h0P_P>E_egn<>Omuon=DwLP!q7x)l$wTrw8oD41L0#i@Y!O|WQ|S(eD6o9M7;u= zDgk$q854*BLo*+Sk#Gms7>sc&D5oV@@P`i!2|qT1dY61=4;`FH3|v=@4l-~nK?2?B zfOX7Rkx_{eb|qgxAbEk1WUgF6PLpa0KQIrq_=)6C2L{MgQwgt)IF4*#vy#9{3~CoE zJco9=6EaqWV0^w4E{X;7BqAq)6oGRhg>1|eIR)lLZ_EK5yieegKyEo>vl1{yNWdX} zq~G;RcFHC#J@iZFDzJN8x+Ho>{^z-U12_LU9u5!?$7(1L+<%_iSGV~3McmBH)cEV4 zNBF&Tlk+9&PM;q!8;=L&vywnaM#sIT(7=ZD#`i8$?;Zro%jb2|s^X46(>4Q7@e5`9 zqK!mLjs%{1r_cy}h-qbW97YOxc=LI4b?bWeYTc;hJh|UOc;|dLux<5T{#dn`z2$R# zuD=JM+FC!o3%}jlb*tCwdOw)nKTCgqJb!(e;;bHba=4l^d#+oi^05`9>R$GC^LXX7 zxOS@5_tN37zVj)vc}zC*_VIad()Dq%+*=#>D(HS>Z1p?$_Hh%?? zkNmcTef!0OYuDb%ggp3bZ*}|xe1yD2AK#r`_%co1oy>D~X zAh0#LwCI*uY%+OJE}t&PV4qqRe7~%2{yKpLc$R%*)T?)i?r5(a1^BaKMa*4H%}d9450g7n_fg zpPx!8$%IwpQyz4_OAjVfs<&xT&dS~piaIyvg4ugsLCksZb`Buw%HHS+0uCK*1BY;c zLu_}qf*u<9Z(WZ&k_a5#Rd>_ltG70iwHaA=sqOk$YlDZUySG0X_aV88j?*45?(C;s z=0yF|-)gpOmF~2S$L(RP#hI$*!#6C|0g*=B-m;pT8(Yog!&)Bsaj%s_eN5Bg!TWOu zz@vhl&rXlSdS$WMTrNaW_$A&wu}uFHO><4BpB6WppQ)PCa~(1{KM+dTuIfkFRWca2@?>iVo|_>f zhl-AYn=UM9^dubD(Hn%Bd0{b2)+@l{kZaUJR*W)iylcI6t!BbDKeU{)b~N8%ZNwp= z8nM1VH?1tin*@urJ=k~ZSGkPy3B)r(dQ6@cfCb3c6vAncEo(zopjy{~En>K6drOP0 zRrw10zpD4(_DawjMB05i*!EK4V-2P$BS`JXIE|VxjB);CI~0soBe5+5t3kF7#$ADG z3p)9r3APy08PsW^F<7p)8s~kOBgMU>yI@`j@0tuww>P05A*|7-scXSP#G!ew$gm@i)!}7&pTA z-#C8{_?zb%i3Z4dZPHC(7#c9_w>2ayhjOVWq`T{@sOO-4l6`H;muji_4iIn8c^?Kr zhUW2G@ZppHN7y?+SGH~4!m%p0ZQB)8tR367QBlRVZQHhOr(!!5S0xp^UFY0;-#y>| z-uv5bS!ro)r;pzITx;$z$J%oZ26VOASz3dXeS`;t#%HI|pHhC>0r)Ilm9evx(|g5b zg7)xH);k6tC$HC`M@QKc13%HC@T3IYCw;cvxZPf^dE31|POKNst)DomM-R9@m42N> z!g~MZ{tR>FeWew2l)&*nO~a`!#pgj5kX9>!WGA z_Zv@p@7G{s!RnPs-KX8h!SUEh`Apk|Z`+4{GmBr7QaP?29*=EveMFxZf6S)xwQqj8 zCY#t?t=>ufw$brRez>*zY<$69+Znii-N+!E@!iOXF}{xVxV|M?c-wuYuMvzWg@z#d z&UcCN;|Er#+`cFG7WN_!&PkMsKyEfVz(gP?+r;Z)Nd(Tot)l(&H2$ds7Lzeyj_G8c2fj-yC7I?nAkgk`CHT#0|FI)c1B8UJSzcReXf zbK;Bd2RBNnx&p3C#PLQ=a9%*JU*(oP6kYDIzNB-|b@?9PwtpokaFUn#`gXvZ?V&H<-*b@2 z|6V_a;OeyQ{rvhGD<+V6-<@|E(_xnYw$ zk3#n(Q7exE+eKa9{@qQBjDu?!3YG*j)}4vl4AM#1g{~nN{bkEkafOo?fs=hTN4E8h zorx=qGBO+Bvl+hA6!+&5+21I_!a;41FplFW`(Px?Fp4gdF}2Dp(2wrYfr4%pZ7Vo< zW;^%F8+rPHqx_4V3XOw57V+;(zfQbMcNcXYq~!D@Ib+Wl_ukK}e)aI8_t`~s#~FY{ zzgVjG(B{u|kG{3jK^z%$Z1}wGqVpmO*jjNvYwIHQaf)xnqTjyEO3mdi{&YMx-(sK# zswYr?sy4CDU!5+!Qk6&miQ+}ja~N$#dhDb&Xyt9!=_6cnpN4ARq#$MVIOYE1Vl6p6 za$5J+LZ8h5^eZ>5f9XN;z~XIFwIk1(N$xTUY+pr9cy|I9A~UAA?gBKC(UQCDfQVMk#!yyyKVvO zf&1^KJxu0}hTO2vt_}Hvp0U|x-zGkryUH&xD5T~eT(8|Bs`vxO@y=JNFg+x)AN}xu z%T41x*gVe{?9@#pyH){oIPyu_bhkkJl2WuwMfSfD5~WXMQh!lXVEQy%)I zJ%A&Jn3^Jsjx-VCC_9DYR2EK6K~TGfmkI|m_1>06 zafy=5MA80$I1IV30;~h1@u{QFQO=p#=c|=EYri}!E&e*A;WLe6qltZ!-4Y3o5phd6 z(4VMG-%A)rkUX!K9`$!h48qGszsP10N&MY*>7m&jhgsP*S6w=YY4S2|;N;oa5OZEW z0U_3;{_{>w6K}v)=EzH_(*Ij^rgHG*g{sT9>xIW>#&w%qv~&IK{QG{3-DDSw_r&wo z0Ut@Yn~d!q1~bvMt?%u$&k8C&jJ4)j3mpIq4@p+jTo{QFTYHm<4h@dvNx_p7Pvt3} zDa<0;D@k!yCPm+_Z2FAWGse<&pCeDMvxM85@1ZPi!@M~R|iho?pWt>fclYX9Fxr~@BK_NVF5~Q73-kYqYBI8tP;iQ|rnEFg@l>3&odeM$*KINE~EY-b$?SA^@nt|!}Ix_MWF!{VI z2bMDxqt?=gkALfH+XDq$X@)NAr_K;yrlt)Bhp&JCu(6)mkANaWD^G1c_Iy;FW0@DOPH-A?n{JV?WOiQ_u2XQwGp$Bf{&k& zxD1xzRx_)=c6;{l)FRA5b|q~K8B#Iy9=0aPAokI^UES_7d0b}CsX_LgK;A&VHiz~O zf~E1#eFmi;QrKymkA(%tes9^l{voBH1KpJ3=b*!y!$^O#=h41~+3tOJQo4LEyesvg z8%IEdc)YIZc}Y#u>1a5b+_zzf?6YR`F+hAu1c9-0w6QMLU-Q%OIwn;u`QSQ)jV!&k z`~DiIe1-e z%LWo-%T2zBZFTS25M3i|;yI036{Z+{HNa^O@&bo%i570-dOKeBK@TRQtaWpi*xT0N z1#*j~+TAu`i*;M*#u?sr;Wz#PwVDU`*vuU7`)LNy>@Dl$%DNit_V*G&)U;jtOKOUP z{a;dlmaKO1Mh!}_8{SzleMP^HE*=!x-Hw9T%(UTL1axp+JM7DWKiN6BD*Qg#cJH?l z`1$|O4!|CHpZj&wiKC4R6A9ek>)=xx*E*bHwu?RKYA%v=0oSTrf$y~(f6j~EIHM*# zDP7|y=N6=&P}c}NCe4a6^?Y?vS_9pnP#Yt}o0)p|=iE_Ub!l~#z>(Mnj)ciz#yRNLJ@LUz%qRU@tMz#wfu@g6@8S(!n zw?^gW4g#YMLUQGKYf=TMEtFM9(5Ls(JQyz;rph5HuP~(|WHlV5vRpmUeYh2(P#AkLvY`Q82#by8(S=O$U?aO{#p>D8G^|HP<0Iqk@ zQEpaFosA>q1w~lxCjpEWNHblIrR#33=4qV<9x~(K z(#-)dj#jcIi9(eRw#oe zcz7E7s~;Q7#>uH}+_l$Prf7+MJR-dBDT}v6xJ)W1bBnL`xEY}`mN_!*(OegAjJ94s z>$Ki75VwE-P965;+#oW8MP3+5h1JcvQj5GCKXsx1{E?(L_IfmEm&=1+MW{YZV!3H} zuHcqMgt2V7p&10eM_4o;)0LCR%a3c00EAa-}VN`bdHvdqzln z9W)?$FZ}Yuh(=q8-fL>DAgfQeQ>8>W#|X5J00gg(a%Z48**oVPaORq{oK1XX&LrYW zB~rmx-({~01(AxlR64=n9rtYe^YMy?S&8;BQ`u0o(q;_+iVyS705C*X7=#abKsqCG z=^JS-QYHZb5n*E)$CcFYLgTO3(amGDjR`ctc?gJ6B6C865g`t&+ zFcX15rw~IS9n%X*CjkY{)J3hr;AosTA^zh)|b`brUg0TR>4Rr zI=7E5zN|N85Cnrv3PMol$Z)0-2GTbN56|+*9wEYIg5@$!bOi|e?~ur#{|sU%z{ED6$F|xYK^ZY2rjY<>*!YZF9+6kLZXxl6dgt(RHutNlbY#X^Bh6D^v1VWEF zb5_PmEf&rvK$Monf29~T9JYxmQCv39qg@MP07|qm=@v&Q41@%Xj~(~6ifO5D zmP>u}hmyd&ObZ&_+uE*W>XTW^^&jSV^ApJFZ=lJ+^2dw+1ZN37t0&YF$uN|k? zr2cde&<)A($oP5BJ_d2`bo*AluVl(TZ*3`%j{SylVNerziEs!LnTg?O6WWQtpM)j| z2SAR4L23Da4EhiH<@Tcxz0)E79vvP`o!yw$9tgcp+3;$Vcj9I5YGUtcWAE;goCpn; zfhoJ+z0vpQCHkSCPKJkp%B-3+8g=;^wL~-4N*cb1m#o6jp4$FQ{5Gm{+%Ou2(J#A3 zt92&wCAv6!y!v=3SMTY-<#@LCwZD>Up^^x?vA?UxsTitPZ#-*Ct=2@rs8YRw>S$|H zE65k=qX*?f&qtcQXRN7iioJIZTV%V-ofW<&HVz@af6;zqadh)?dNXKrr(=|;!w_GL z;*;JJwYSf`CyJi$_raL7)!a8pB)wi1y$^mu=z|0!6~GY`Me`Y5dgA(BGQ70SFX^YE zE+5Uvo0q*uuKmYJ`S1~}bj+0WV=P?b(+zKCTz8w=9Yu4in-`ugpQ-8XDLMDIYOgoN zEcYtFctGlBxZ0gAy`a_Hr#iahNAu5a?r$URZ~lC_^3vxrZOM2^OC_}?0JBMTR_gja zy7k1n7gL6Ti_q1buvI2O3S4~?Ee*2_eT%4k`$b|HarF~wnH?S15~$kT!Hd6zt?u-! z{s3OVw3;^!5_^xCt3alUgik|V?^QC0wL93gzPR#c!r}B+s&)!WnLPZ3vPYhgMDM;{ zc=IxSA?E%z%KGJt-be8{a+gnH*ZZxB0LL^uBBymr)S>0Z2WwwuJy1TXfgCv zG>zYY&w^JYY_YObtJP$S?(8#M>eN~!q+Z7%N zB!47szx5Ik(3GJD9ry%Np;@g6UX2oVLhSwfV8xrpFDbC|NIi>8QU)sva}xs%OKL?D zR6Ux}hX6!{z{pc@CSlvR^fzBt(Fg6y#bx@^C!LaBOSu;2_x6>^rT#onY>OtnJ?FP( zZnb3Drf)eQ=+t>aas+4<4rdB#Z9zII-SAF0hpc0!Z#sL!*aorEuwR%Pu}YAqh||{F zUtK|zvf~^cV%SC5oQEjF%pO6&(?cwv(6K2p9DB6HHHk3`G@n?*%#f#vGaj9Tv5fsb zR}8_G=FHhG5QktsZf#QcatH^PvJWPbBxb@LM0>_ppfF>W<6;ZZZuzkeE!6TVkgNk z3|=h~k1FjMeWG{;n1Q|TDDHryMxe=P9Sduder$aOxvy-n^5 zW?msRnm9_?Tc$IAtlKq@O<0n4u6cxn;K8Jbw1_J`UTSw+35aOCE?1X5Ki;>ar@x9e ze~tsoJ)(v5J#0>L-4%BDgq0!g@X3{1{+okxn6hX8z6}vM7I`a5p8qi|EB>`liw(K3 zD`=4TsoiOaBRUJXUJI&TbZim8qw-VxF%6R#hPuM`KyZoT_7{xm&4zts1-+RkVGm&s zJWyQfTGGY6Yx7BQ)Fdn+i=aDk#{uN^^`Se7tNbopBB|^;vLf9rs3`X*HKIWyK>M)nsei z4$;{=v-JaAe`@`WW2YX#DS51#V8NS%%Wn^AWd$&N^Vr3ykq)#`H0c{cHnzn*b5r`j zW1Y2@h$d8f!*&jlSRaeK0Q?BG)Z;xIoA=$gXgL%mSCnLdDPBLLQANB$^PqD4y$_P0 zG>Ptl{XUhBXnHIQ!-i}o+29t@h%e$4Fp*$YgdZ$47(S=uFHYZ{kCD`Hff~IQCtTz& zSqQ1|hV9yDikrODly+Vmh?pO8+fl`_?#;)r+{6rzY|Tx)l%O$qe+O?mV;;tVY%O^w z7wJqO(x5q+U`;+5qVWf{UYwqx7Ne=*!sribmA}TnP=|4oi_ZT-tq+OsU&!Ep$i}qR z!iEatz(=-{s@f}4+f`7b^V0yY4=GX#;9g}ZLJXvD7f*){ttLB zL%z)YE6tbY_Wfm9L|+O=pDDviM@ce~7ytT6ZV z)|Wh~mkwuOhJYF&KnH1|T65D5@g!mF6R!wWk(2|dZpT}3ntzy#b4XtZSM7;fc+BAD zlj^C>P1Hnk7>PgugGXZ;JQ^=eV_K_7GaFT;BJvL5hDaO8El=1*a!ezE58)!hG?TA5 zEOEM0TW5X&nkJ&8u9|g$t<VIpt|1feKdY(xOV<+9ytCWsW}amg>>(`p+Nhp* z-*A5oE|TM6nGsQ8TZ+$`a&J3LUqSk3v3{$bO5 zR4qBl1y-}LLo}M?`7&YMUCjH{ETr18FhKzE=V1o?f^Sx$^=3}%+&ef;ols3io&=|) zCK`GZvlk951OA_6uSo@+hed^zN(2FzfyIeXcqu)^^%W2cCpE)Fl=bGINg6>3nvg3R z#`sg>N}-t_5F16-H3=|U>swY6~wEsM42C?&wlQ=$&2_i zf6=O~ii|6ZMR-!@MXXOsmKp8NoFpbp$=E%TQj1_DPmL>xQ3Rr@D30f#tCH7IOJbNZ z1kj$(nj%!B^&{b^s-zj`MTjd6dtiq&^8AEo^rr>R1g;et+0mcnF=!g<18L2e3Te2p z{$y&sm#RzwN{~7#Q&P!A$}H5%%96wXL@k2-Cn_;w2nEqn9c3DV%D*hosRLRN{|WPt z1=F1oiO<9jYmvKUo+wG4>WafzOPvw4P^R0eD)m%9YYIBV=D%W4{KfYG@(=P>XT+T| zyvn>}1vg%BVc1&;v~|F`5C(@p08U!9GO!jr zC1vUkq?}kF@job&g8h>+ciOC(joxsE0jGjkbS$|%29JPw{;vqr1ztAM7$ajIMhT*< z3{0w~SKG-t_4gHuGFsmQr7o2w4`I}aWqxdPXs0Vl1}mp1#Y4#XLn3o~gwpdv;pop? zYr*?P8;aUOc9?eLifVo71(AlBbGVY5oBBmJZNXT`=v*V#HSha0ex=`TrjR~voj}zI zWX4?85GJL;uF)=YlhJkNK|qP|hy-PnXz5N_U(?UuK8K?mww57yfu+?mywJdzsG1fUMV32iu;SR3 zew+jGo=(WN!zex~VjLK3>5pB<0b=-H&wh}oF`qs9r6}<2SQ(l2ZtlN<+15Y*6*GQ( zD}U+`5f&O1;IS|UTxd|xJZyp)$Bog^&UL8ZD*jO#0tZw|t^!mFP!Ir*bKs3<*p`Gf zN0*o0)-rm;BFC5HPR-}qWC;xdF9K5HabKX1CE*k8KLp2=L99>8t)+bJvGijG$S>^ zVF&?6nmY@Mc+aIEA~GH|25p#y4}0jG>5o&4BKB>@K>CvYL5t2eqJ_*cYdNfmNE*a@ zYswOlDg%3z2Y0B5f;;NaW}gbz@L)p=@6tsypW#sv$+PZEX#Ny(*CQv&`mo8J_F$SA zlRru1eM{Hj2AiHd8bIMB&iE8M3qqa+P*G=790(s+i!I%Jg9Ms2V|t44b&6yUgeK0x z6EVjD6Zr7|S!nt=hs$z%smxEIsZo$|F6${?gJLM z4I=2W0tWs;#`0U1O0c1s|B4HeHXUnpLV+KH&y8MgUy{CfMa{Xj$a8nfGtE!wZPJV= z{7K0(G!Fr1T4XM0Q;E)0)TRE23+%0sj-yT8RL5gjst{7KaO;RFy;P3gvNBCVu|`FJA~e`_1VC291kzY~mky9(gkJZQ zhH!47hlr4U^VkD^1%lp&QX_7~y^#=9mhtZ+?V5)PHp$i;2hR5y|K33qjICG*V>U@8a;NOAx!&7E%p-ptY z0N)$RH$>Ed>w8m3J*BS8&9wBqKoTbCmrL?)0MVWSCCqGO9!wz#68Q^!A1STTZCdjW zw>r?$FhSyX172|yUy$NCqA#BY9Yz>+hMYQqf7hV+G8_Apj}r0w{}SQk_WSdnf8IS; z{7VEoG|^%}r|k2{m*`*Mzi{@E7!oUiw?U*Md_7+IE2PN=vVioRS8{m%ipRN&{>Ka1 zQR;o9JoN7*_(T27_zpnN{!0p(|F1!qza0~L&9A(Lrpg$8PI5m9=KWBG_}ejT;hHW3 z&fG>pMuOY>GTLYuXUtpZDNV0q`ai_h{FMJlVkRgA%2qn9{a}WZK;a7-`KK0d|6hTz z|4}mkO9WW-lFH+ry#Wdq6nX83al(lGvxMvY=0m7jjAHm_GI+#53DabtqKyM`UtK2jgYK9boK6A-X%&F9&&d8089@oc?w(DI0T&^?Z43y?)3 zpK@rS9^-<8+3Dw=m1!C{=o_rrqW@k$i%?>g+(wZw!>iw%4$pB#S(5PJX;ao757}oy z%o;>S359P>&=|ooOZfYy$z5k5PAlccbnKy)K+M*n5eW_y6dn7!(kCl~J?1AT#XO+^ z0mxE+RnWmQ{klG8D{OJi-d_(&+jS#?0=;oxT^V+%2Nhd}6rc9TnGMvdLMq|aacUaq z9jdlM31*|eJ$a=%q~IK^S(>juO57%8LqJ?R&2AoX)`5h!%YehCuIKoxxMUCjO4t1t zftM6#sfPeI0)NZmrAa6nfGx|6d-~g2__xtp{8ke&zr{_aQjhcYo{QT+P=NE->|-EI z=^vQVzhQI%rO!%}1b_ZdJL}jI8KRKJdAogmF9-;Y18^pCGh(_6MeH1?pZp%a$NqKA zlJK|kX!ia88SFEll;>i8z%pdfCU|j5Spn-`bk@VS)(B$Oet3ISWn%-JL$i++FXcwr ze3<(zuWJ@Jp)hyZzgiOSv2U=&MF5cE81btc)52 z_w<`n#@60YCe*6|P^4~YI|4lrZ9!cEpDY}v(iCotbml=$l@O9?tk;`TG57PY|GY^jj2(oY4!$n>yqDz?&GZ*r!{ThUw?) zk(1*cBlAbKx9zJMx>)@AgprtIP(vTKO2RI7w$ZM`sa3OGrNZ^l9#4Z$B36?N&PJAF|!MVye@8_1!dBCVdJruq|- z3K){-EY%5BzJQsw(%iih_6v`{6WEa`yuBGM)j>Vm*R>xAY}O>gJndPWsysCCmWJIt zM0Scimf+3`fJ5TdiKhi9As0HTdFnKXO9)Z=5Ys>>)RD&9s5cMli}<{(wEV23C2V?S z0JSv27akfNi!3K4YPL8s1U);CR7C(>@`qD(XYh(?5?cHd1@Lg3pYkkIO--e%2oRrlKg8T=t)UKsJUVpxu5whwTonB6-MdZfs0d+7m?u6^ zhYu3^j}=Gc4`f`s<@^@0POM14IsQYEbOJV7TtP{xUY0DctO_PN&mrFt*FOx8z6K?X z8krT>A9xc6c(|W~@hm~%R>W@%zI*LVnu7`A0J|0&Cq#vg&ZEQi=lTlXTjgF$$%`1h z`#Pt^9xxDx`Sg6hhshDZ$qXGWgy>Xl!(vu}XiP>jDq zws!@`wp~MAUa47V0!wUKR`;)n;VE=OxSuDfJ{Y^UK+hOBkF+82qHfNlWGA#D8(( zWbzRrs3<8X;6Y9GrUclhej?>mAMXtZo+TPQdwNNi`7H{7j)E+R z_c5Y6*w2lq#Q$W0nVbl8=1BBE&N!h$=VR45=Qm)dAWTT%Pnol|I1PA`Q&ZW}PzhGM z{l;xSbO`SdO_0li3lCBw^`EqoDpxjM6HV^qb%DPXDv9TFUeEl@_HEVMF6XPJdkFqf zk5qxWH^^0w*_p!qN_>kj^R6SUhZv<&Yru9HxoYsN;xphE@D@pXcAE+XovROr&#%~@ z{yOi_N{0Da!SIVRG?mx^DVU593|GdgJjlv_zjVcgWjT=l+`>#qif>U`WDXO*jr)kt zpeS{1E@(JRDo{Wlv)ual9vXX zkHs%$E{G795|>Jg3j~us5>|d$@83E-t4NANWtQ5@J~3wW#>GW8P-a|j&QQUVUOByWrB2Py zgRrIK^Su%=5dh~}n+VykC3+?P^xQ{X3#|pc>m1rBRZaP9YG0u~O!!F-YX|u=KnE{Q z(FeCVteB6|mZ;(ec=?>@OcCI$I7uqI5APFJ0M}D6mo(K}T{aI?;xoUI`8?ED_BOO? z)7U@X6y|3`c&$(FS(qmNt3uMqwBAR;A%F@RSvA>{WEzjYp4vwW#1MN57LzvbsLK`; zFEl`nYA3>{Ux))VrHBDOuYO&R%1p1WoTYDw2I7zox^w2#_Y#^;W8i5NjYyCh#JgH1 zG|(rI%AsnQ?0u;l>#37GOG0mH9Gi>X^m{X+yXfyHMK}|+);wIxArllm6 z)+DI}ungX)49}d{_>?ZzG7m&DL53bom^IgM9)`j!zm12{Fwx!5r;jX>Q-kZ)%3whzfqKS?F_sEtzH4gO0VPQV{^ zBFO(+oeext9XCw3-`hFHf51!*U!3DzO8*A3!^DBUUyqV&|2HXC`nx;d#O&9P|IuNx zP*7aI7aRoS1oprBu{oQ%xLDem|FzGmS#8VdJ2!gIPN_lLo*8V5qwE3A8F}5d9HkBL zApsx_-#~01xDw#=<#)(7BF0n9(ylHs?w)6Qdz^Qp`b-Z642yhrMSfzt{B2yk6dABvI6(@$%wDyI!$H74a zSeNtE|0?G~13Wlaj}#w9XlN;jUm2o83bS5rjy>0{kY4FT@h~*AJK1JS(XLu+effF7 z@WA7!omfn7jX1!GLWPTcOdPzfWZK2`uHQ}4_6TtMfl+@jb#XPg8|Cytzaok18J1GcTC(#UTrlX|XdpE(0C@ zSY*n~Jv!=zl7i@RkwEwa5<63oFN+%_GX7!{^%D#pWE77lq6`#7_SIrEC4Tx5MYJ5G zwG!KJ(TGjyqpg{Oyx>WO`J$#gXEEuAmbd|{@h&}zj}$k5`sKBum4P?{eycUbHNl02 z68DOvAU5gpFljtt<@2whc);+&C> z!HLh6{gk7tk#r5L?>A!77pj4~oH^4a1oime$@LJchgKP`-DkW5%B{Z%n+16?5ZtZniM!^K z;MMH-09oSsx%TBZ?x1Z55Qf&0?m@W zX7EIkgInTQL%*!A!=Q)O@I=PFe<9)Q2)enL^M0)g#!##<^{$6K5fSIo#^Ys+)W_(l zoR+8$=cTu*D;v&0QtB{L?BsiB7@LfFDAD7*GObS??!H`@Wc1S9Hw{m;b$sQhxirrb z@pZXtHj%x~f2kbxMRuLsl=~@XTdY661;u$~wv7ro>9#{gWJ-5R2*S2jd}CBUjUhk< zUT85q{z=aYc{=MJkjdfoJGy2ttHJXkpETvy+s#N@dbsb={x+~q;d>9x^m1}kz!0ez z7%96aV^aJCOf4}-G+aDF3qwoA35SJIA*Fu7wF+NzulFg<>p9{=Z27(PTCDDX{&Rcf zsn(G)2(SfJ3-ISpui(F0P<=HuQvRZC~7J#$BoWKl|-jq15*CE|*M*euQork5I$# z!9-(bT*4(?Z4~KMK)xV;35y;gH7aLqkUBvIJ}P+}Cn^u0U`+#m9uLLnoXRdpFnbG7 z;7D4gXNghsT0>2^5PjQ9%^f2>z&6ncinro%Ei8e;Fg-CJ+p<}}a0-2*2&ULIdTKul zW9plJ_fBMz^dQL{!cW*}+oa^!MZYq3nuMd-4Z!R^}jx$lPP?1RYH%7+n^flCG zW->T=%u3#UMxaQgi&dgnup)#C2L0q*5#CPa|TYGRi>Ls`_VW=UVsNAg`v%?bQR8O6zs~gL%#Zwe3bq;FWV(3#wX8 zth&+Q@87!Op7s2B-9h>9Ma&LWZ@@}-AHQG1xO#RY)Yg>iaPhYdUX(6m8OxKJn^zO{^(cIRnKh>KnU?&S7{yKX{i7FLdHG#+M!56n>d6y#CqPMGJ z;BeTVaxajgJX%$^Zx0E^G+qDW=v(-V>uYKc7-S_xw~x?l@d}*>H{M5W8HvS}8$5Z54@a64kb$ zRwO{4L9OU?JS_K}0(zA6ncurt zU+HG~B9svHcbKE>+mqIjk_Q6uP6^`E=vA{<;QR0j?k?C1BKeZURWr@L^=hqd8(b|6 zmIsVv+iY!L%Ml!k4oz|!LnukFDEQ%IJBleG`dxgq3}PU3!U|cjRr@Br2l8*soBYu4 zD_iq08!+(b#jaOiAkOcE@kBklR`mGIup7;T*@=>L8A$5fUdhkOzotsNWU$vli)_c= z2t1jELI=PgoJgp?tMR-xO0!5vk;S8n(ih0iJq`+HGYTV1Yb>9wxntj}zC1ooW?EWS zWUxct=+&-XsV;Od;Hjd?eHK}yu9Gt_+_25Cz{SZh6OjA3^K7&$vZS=o33%)FM#X486Ivuj zWiB{0W08?*Xi}Q5EnJe!a&sh&DPzJkDS#$YT1mZV+JZ%2gEqp=LusO@`2P;@( z2G>87u#`1@f0Cr(w*e1bVEYYUNYf~0rRUr8!A9zAf29PI-shL2<%7{$!Z#g=Uf4HB z)c51xOz%D~G`}vMzuM<`H-n5N_U-t-T(;`>>i8i`4PDgczTNJxU)T$L+=o($wIM)- zN^OF8g$44Rf?O)d)9N=-;5Ja?gJbQJy9^RJpNc>-20R8;_Fv1A_>1`=E)Y26jvHx* zwXt}V(KKH)giDU5gtQ%b;u=LNE#z0NfwU%JOKr%#-h#ESk;AU}JM=14+0h1hCJG(n zGHw=Kkjf?7k`}_n#K%G?IJ+R_lfHsSaeUYqW-0*G!UN~>Te;CPB;7`|U z^*t#{BOIR%8xc%=m`bCqlM%j17K5&NFwMGQsE{~MXFHeS8?AoXL&xbGdP)i+7RSR+ z30@*}?WORQ<%#3q{DS*$%KIrvUG20>ODj~x;#YT;<%;3h@{+OA2Wg&%zpnJpP@;jQ99;?M>SLHe2U##3d@+wQ|Ep* z6;yXoe;)|2FWZV(;lgy;4-9N+-Y(;$HyF&bjXorh@OcDlCsMCQNvPjxvFTr!x4MKJ z{TXlf+tsp3>8A}_oHm)CRxhe_9 zBsi#yVYKxC*bo)mO$-x3GNzrMbZma6cP*x=B&mTkq|tzbe0jSO6!~2~!jnq1KWig% zs49E8%VMCxX}HH4)G|D^{b9E%z3iR`^J&c{Q8sw$`xi}W<}~xLCls7Aqiq$t20uP~ zzmcH;se5@K<*mS*+RwpHZMAEZ_a zBc}z8&ncuR);vFVY^t(@Na@0wLr9k3pTBiUDjS#hpy&a*hbARC;+{>@ctH_}q+z+{ zVE~f*Cr12nBH=khfwpSW{7B_&%MviLo|;Zk=7^R9sZH}> zxhd+$ixkE;LEf~8sW+CF!#A(F<9fvh`37}-AA9NauuieuZ?(F=p#PbR<@oWgmI6QU zpn%yc8t}KVtFw!}t%j`)lckHP?Oz{z)lv0u1I*|kKYhf;6UIw;!_XI%kf~7e;cBE_ zzC$H+B@`KbY=`ykx_@;TJ+_s52P0zV1+Do-6IEI1PeoF)gW6a zn@ecAwz)%+$b)0ij*p`s=&)ceL8t|RnLCstoK}ayzKuCxHwBQHnZbO zFdbV`^sf7=5nwBzyfD^4aT{J$GvsVh1lP8~WtunzEwBF%T>=wF%iTadR6t#X|Iqb! zci8`^`>Qo<^lUvaKSzez?UpBLvZydMr_R@SLIqp@;y_XvH`@|cjMgC|x!qHs435LP zP4My4+13}SvQ3yWcD}5nBH8cM;lYvf+~_6l zMpqy~hqd1r6Kzu`sxf!yV_H3XME^0)n&d3kd4=C6O zC>;AA!v9ECaI$xB{%cgTG20gyd-tq!=aT zc5&Nr9Ial2VnigrBRooh!A0<(Ofr_~pWRVUBhE`cx)Ojoo%%S2I^$v6-RQ5rw!3@N(rH zyj^n`UcEgW_JP~30P%Wj_=yL+cpC|+ErIXsaag1xCgNKH3doUHjCgc7^%Ja>$RdGlK4 z%6OWtDqFBDf=w3HZ893ocZcWQ8}JJG>-8ouVH+_V-I?<`P`h+Tg#K7&YUSYlXX+{C zJf!Sv+$7Z= z+D?^EtJC3=dCd+lxDo7{sE6;eNGlJs1=~O?SLPMIvU0*5+%33fDQp?5Id;{CQH7Q7 zMtp)R?!d4PMy}mB6nCUl*oUOlAY@lpn79i0?bp+E5f8@KEx?8#@af-PU$!O2&+W3VfjT6-LUW} zH}8&snNbPFoT!+_mMyXN#k;+SaC*+|#`@j5d%+3QFcf9IdGv73ZveN8&WA|k)$eAb z3x}UZos{(_(Zex>{&?`+QW8c~vv)!j$-TQOsWm-P?yC<2u-4skd)M7JvU;M?-8Wx$ zp!;>zbw>_^y~LQH?6NU+k2Z~a^`?%T>>R6He;#4TZ`|}P?=WVm9`72BfqHIk_v~D&}V&Au^ z-)k89?&{t<1mAd1Dq`F|dOpdC!{g!YAwq*H=;{1)*S&RVzS|Sz)um@k%zn4?Jg{l6 zt;;huH>knETfwceXaj$APjk5Mi6*30|lA z$lw0>^v@ZqU~I*_8xjO0h!_L}3pir|8+ZRTO#xS4!0Xe_(9(v{%E8q9O3m5;WOe!t7T=Um?XzVDoOuifkPcB#Tu9(b)_kW4Xaj5W)4 zl~>=XrAm&*zO6btEN7$wvs?RWj)`~%{0l;Kr3sCQN=+IIG9hu^IYR=EX>)Hgh@U-mQ9 z@^0kAv(+!DFTI=RUS7C)bclH=N6xyG%rK>7p{(jJ5@EUX}m{c!uPi5Z^JMgWdsCsx0S zgSbe2lJ}c5J#Qu1E7QGG1vm;dk%&HLc_pP}1>=a5x#sg2Yc=EaubHeX5bew|2>Agq+i9(U12$R_wYW>vIn+uYow$FaJnblRn7ET~oCcvyN^T zBx_X%ZOD9{&VSu4m~GsbtlbeZ_x4lxY5S0Svs0Mqh=;QI5B_@+L$R#QZzxeuG-8p{ zjv%-ZNSK~pG;ej)WLE8kR#fMOG`v&UkRqe?aH!wLnDWeQ{ep0pIxGr1+w;nYi{oNv zCv&&LdXWKeR1(*-(_m z&tr^QR5=Zg>asUR0p}E(?Di`wn83DsjHlZYPJYBWC`S}arSBf18$aX8OC3tIF-f3o zh_|I+WZK5B68CxF^}R(o4%-q4WfVyVOwbz{Pmm zJEr+w4IiA@br{Y@agWoVXh&Po`*P?mjh@ zk$3-QOEsx$lu}13Wmlwin2-n|wqyOsX=0ytt?T$lW(LpNA-H*@D^5Ft*Iv%oCWXDb zd5a$LzGsjgSrFXZmF*sZ=9DlW%ye;faS1H{K}ITy`|$}kTxj`qw7K5nv(`>x>6g&g z!)IE;gneJWVj|5W-}W;fx&8Y!)pG7yh;fZ#2FlOvrBp0320?UDuix$vMVojR6jGn4 zHtbdso7(D{p61nan?U+PT|Uzij2LOyTXYGI5!hPT**NImFR$yJb3jX8K#o{IhqVIC z5tx{nz=4BM{B77xip*-it5Hk7&6&mv>MZSTB$la2&Zo!aAcCA7&SggnX_>$dwF$_% z&4(R7USyyR0&(37B!kfbc#mU*KyXo560lmbAZ-wl>Qg{GabEOH;c{9+JmRRTMiVOJnkuR1kISVNz zYP*sQArN;*X$VZrGzVQU1>*@g^tW;)cn-i1l>EVyC0Hmi81#5aum@Zx6?rz{e|Q!Z zQNTF3@FK$1LKkpQ83t?s7a~LkYr=v-tSkZM!C7Mw&mk@F;2bho0gk^#icZRs(KuKD z4s=C=(&)v4rNUmY3miL&T!k@*a8l - suggestTypeStatsReceiver - .scope(expBucket).counter(suggestType).incr(suggestTypeCandidates.size) - } - } - - def recordContentBalanceStats( - candidates: Seq[ItemCandidateWithDetails], - expBucket: String - ): Unit = { - val (in, oon) = candidates.partition(_.features.getOrElse(InNetworkFeature, true)) - inNetworkStatsReceiver.counter(expBucket).incr(in.size) - outOfNetworkStatsReceiver.counter(expBucket).incr(oon.size) - - val (reply, original) = - candidates.partition(_.features.getOrElse(InReplyToTweetIdFeature, None).isDefined) - replyStatsReceiver.counter(expBucket).incr(reply.size) - originalStatsReceiver.counter(expBucket).incr(original.size) - } - - def recordResponseSizeStats( - candidates: Seq[ItemCandidateWithDetails], - expBucket: String - ): Unit = { - if (candidates.size == 0) emptyStatsReceiver.counter(expBucket).incr() - if (candidates.size < 5) lessThan5StatsReceiver.counter(expBucket).incr() - if (candidates.size < 10) lessThan10StatsReceiver.counter(expBucket).incr() - } - - private def getSuggestType(candidate: CandidateWithDetails): String = - candidate.features.getOrElse(SuggestTypeFeature, None).map(_.name).getOrElse("None") -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/BUILD.bazel b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/BUILD.bazel deleted file mode 100644 index 3a52b15dc..000000000 --- a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/BUILD.bazel +++ /dev/null @@ -1,53 +0,0 @@ -scala_library( - sources = ["*.scala"], - compiler_option_sets = ["fatal_warnings"], - strict_deps = True, - tags = ["bazel-compatible"], - dependencies = [ - "3rdparty/jvm/javax/inject:javax.inject", - "finatra/inject/inject-core/src/main/scala", - "finatra/inject/inject-core/src/main/scala/com/twitter/inject", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/functional_component/candidate_source", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/functional_component/decorator", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/functional_component/decorator/builder", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/functional_component/decorator/urt/builder", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/functional_component/feature_hydrator", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/functional_component/filter", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/functional_component/gate", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/functional_component/selector", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/functional_component/side_effect", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/marshaller/timelines", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/model", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/model/request", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/candidate_source", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/feature_hydrator", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/filter", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/gate", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/model", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/param", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/service", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/filter", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/gate", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector", - "product-mixer/core/src/main/java/com/twitter/product_mixer/core/product/guice/scope", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/configapi", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/decorator", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/decorator/urt/builder", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/model/common/presentation", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/model/marshalling/request", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/model/marshalling/response/urt", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/model/marshalling/response/urt/item", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/pipeline/candidate", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/pipeline/mixer", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/pipeline/product", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/product", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/product/guice", - "src/thrift/com/twitter/hermit/candidate:hermit-candidate-scala", - "src/thrift/com/twitter/search:blender-scala", - "src/thrift/com/twitter/timelines/render:thrift-scala", - ], - exports = [ - "src/thrift/com/twitter/timelines/render:thrift-scala", - ], -) diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/BUILD.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/BUILD.docx new file mode 100644 index 0000000000000000000000000000000000000000..20d2d47e117d924a7e3863b0852cf458fd35c305 GIT binary patch literal 37247 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 z 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%0A5-vQGU`u>Ar5 z&l#(5e8r*%5(Ffe1Ox;dIAZ}DcmFj_0asqY>(k!I%9hF6(ahpX-Nq4J4MVWYo14~d z28D(Z1A4HFt-qM@Gd&oW)%Vh5u42YIr%>r6dGt&wqc4l8fSiOEkjF3qpN|F%Ro84M z#rZ%!WpQCiXcTx1oKZ6CTTTHC1Mu6;tzuZk-~@wjms{&^z1jC$F0;JeC-#M7g$6@& zcWB9nw4S4AFrc z4de#&i)J#YtHqrD z979;b#SgJuQscn!ndH@~?({pp6lOIJP5`}gX4Jryi)VZrX`XtTX`RBpHPYlb4Q62A z>6a`^W&-2!3uGASv+d!pQAMmM5p~>9KU^ycyg-eSYPP6Tc}=>9t{TlxyKdl(*nWgZhUD?7gI*xMu-b%#u zhB`>dyMuj#<0M8B_}mcl1pkaRMgqkr zvSW$XNK^|uIhQ%g?=s6ghk+>7F(ZePUb-XAZS3*0K_k)d5HKQyf?FuTQ-)yF$$^lp z2xMN}yI~;O5D##cx9nep!M{VT@?rp6p+`0b2|3oG7ZC^@cTH2sPyw2Oyfsk3jrI18djha)$+F5{yC3SF1N*Z0k*Z;MsLs@oN z|8Cw%zL#?^>)*#&di=Lk^MtoI|8BT_^6eu#cH!-_Uq7>Z@(oyfzgOM6TKau|WBK|k z((9*HvAy2Pz}S4$;FiI`fEh4eE;e} z_R3wri?0?&u5<{pl4-em{muUyIYw4l`Zv@^`Y-F3UcHxJti}CL#`&OoX z&IuN*Tg5Wj_QgEIvro8Ke7d}iI-68Fe4EnQF1%k*Cd=v%?`ZeU=%&x#vZ) z3vYWW*l=C7Va-g=Xuf%!%5f|&WTk zG4}*||J{}Bjl0+M(VyuJpUZEDZCiirW#AUS6f7UqU~u!m<(n1flim0~2&u927o3W0 z*jlGxSe=^lcGHb~(VKi`>k{U@c<^XW=#q=V2}}RW1N`Hn4_t6Q_EM=(P9 zu;k1aauVG;Kdn;umzWyS_ra?6)PyT0B5x$PbPgBlJgk_Pka>pr1$)wy_TJOFmw4l! zTaN_u==Y!3PkG`ITzvY~wRX9>Cl|NAmaDFLylnZrx@R|^&#PZp zeEQn-xVqHatJm-SdF{6Ky~^#`&)4E0=W2f6 z{r)$--lG2DqxJh^fBo&Z|G%iz@Br@=yNuWyEN!YS%2iR~hs}Z;Cw_QbRC>5e>}Blg zw*K?clP4wK+)!EleFEptbH&Q9jySKJDV+Yz*UH~JSZnvzL%041r!u#yzOv$bDU)ZR zoZj-Y;Hej1$p-#qO>9yb3mUN!|BXAo9kLJbW@Hj!1`UsMFnpU~9BOnP7V0VB zm>a0u0Rs&{F$RWcXW(FPYFT@5+M{diXyXpf1S+`*)F_Ce@i|ZgUiT#D7lB8j(Y1fMeOvrBPbH8~}|d%?0`$oA$g0X(1z^<)?v0$e>sr1PlYP zc8JfB4Z#`;y{pBnyY(3u;zC&&_)$#S#{)H~xTG>C6+B&u9tP+KO2YIvFqYY%Xhu6; z65Sm1c~XQq&kJGZAWfp6Ye%1WL1@2P3e}D_4TEk1`a}f61om>M2`JMN==#w|jS>21 zRYLWnk0GNQf!_Z{7%{m4Yi}Ig0Q8P7!hq~XWCO5ud(q88?>i#QN@+qi3$-VSZVGx= u3t>uiGc;6CI$r4d(c6Ov{bKD%Sq!yx7~stc%t4@BCCHEn%pM%QARYi@b+p(3 literal 0 HcmV?d00001 diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/BlenderUsersCandidatePipelineConfig.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/BlenderUsersCandidatePipelineConfig.docx new file mode 100644 index 0000000000000000000000000000000000000000..cbe8559aa4d0fa49e095adb6969266a3ccc73b33 GIT binary patch literal 37496 zcmagEWmsIvwm*z(a1HM6?hb+A?h-U;<4)tj-QC^Y-8}?%3y?r?_kU+*&N(yZ-uu2^ zc0XNJ>nCgNuByGelw={HFu}mU;J|KExwWcPisF*M!NA60z`!s-t-9g>J7+UHXG1j) zdow3}CU;w#rX+dAH4)S=XD?XE%t9ny;wV_w2ssjFf%(20kG;Zy|2p+jp5X1Vh^$?ertjz+2X z=s)j|E4jW*`nr)li2F%qzbrFRX=GVvAhi4Qq=p%tt4n<`YK$Lrs&k#9Z*a6wcc@?M zD?)Z3Mg*XK`)=FI-Ta)q?WDTj zD9RU3b>TXd4$+w8F?L?=H-{r}GM}5=Al(&S2?d`{2}3~|f0042`wQf!gHO<_xcBe; ztM8IVmk{cEUMktx7aqSO%YVX@Hvm)m zM-@G&WJT^l)!T#s149IT8akTUI59K*zE;IgeS~C1^*a-i9HlI=YgU&iTrrUNAzvue zn>u+~YzLGsUhVEumeAM2?jt%p+cPm=%qYNLrZ2V$)HK#!2*_LN)7qlFXzVathf9X< z^e1&!+YQpTNsqW8M;0-oy5lm}AQ7V9#2C`0Z8)73trn9oq_dSqE)6P6K)XhCrqOiq zVVncN0HoxaIm1h;+P>Skh2IM|J4+k+i5$h+qp7ATn6l#V6e7zwU|fsK9L_|S$F^l+ zw?B3$eb%kGVEPd#uBd9@PH_!0)rmgHW6>y3GTXZM;ee5Xd`i=E+T3L`P}$dhhUgbd zUCNnGQ_Qjt+}Nxx*V#W46#4~G)e>}@&w>(!21<}Az(mOrVDH3i0&q0@eUoR!Pbdtq zpi16(OU}z{gk7P+Ny^ZHABBIE#`IrqyXD}Nx0%T1n%decwAIO_cO}~5AGxv@+Td<# zfiww@4<-(YJM%XUN7Tl8T{FgBf6A7mObp!oV%p5;4>NTjZnsWhftdhDU-pf zFSi)VM?P53$ua+Bnl!6br8w`0m@1n5$`=ihc$#){B$9nh+MoXZL}3Z!@eOEYEyYA& znP{bX;9<#wpX87T=0+a!h?}5A2z*xJ-Svef zYeu3BW{GGfluWzyH-_%1{2vXzZy#RYFB8z;b6-H=9$6q8(9XGuzdrY0;{UTQ*K2Dy z$Dq2{K!Jgw{=F`r?Ct+3i`sR1yG`J+k>8wgD`;UfoYQ-@?uQ035N zSQB1w@#%#fYQm$!l4d1T3P+v< zpVg@AeDX7t6{45(O}*()v|I~YT^xZqa*<;q2K&poclUz`-*HR|w?%+oZ=~!ivQBB% zz;MDFj~hr->&rAlFQZOkd$dGHa(Ou+U&Lu5$G(v#S$zWZU8Ch_`L8>~w%#_B@y8;| z-XcRi@{27$V@uGjio@y<#wIkUVffaK1Fn8?^Sn!_x`fmM55N5WbdXhxktkwGu+ol3 z;WIreBw066Tk&z1sghK%dYGCbnefS&7@yvR_EhumP<%;8UqLqtD~A&g&6RQ|7}y5B z51@ulv=+ow`rxXwOMLek?**0V!j|=L`@uyJ@yHE^2iV#GPn2>3Z}T!1IYH##YO|G+ zBs8VDMZq7EiKFgiqZpSmxF#c9r1+t$GlTh=ndlroTDi3P!)|u+(XM0liGJlE>Ufp8+@)?O~uF;5N zU8Zc2vCtYOve6XcpAWmAs%%W8!HAJ)>^*vY8&_XEijrJUI(_a?gFj0Y83%Bq9NC?K zDJulc+}C>8`?$OwO@XW6IT42h%pLRvl?S?28E!@k8pcxO>ydx$P2!H0nS*bP?y^#k z^OMqQLnBwAVg1U4rmX%BCi3f%mUNG&Ud7V41}y}!BnT&q)R+4nx zFUX}x96szY2{~R4%&-9veO%@Pw{aPhG~ersd{dBtHMot5i&amgrv`q?$xiPoD5wFXBG)lRL z_-1H14;z>1eptwI%HfQ(ykE(f)#6L3roeEquf&@#gHOV`+m2J;J?Oam*c;Ew6t~)y z++Jm=2K8;k^4Q?(4FI{XMm%)*8R59br=yFG&LBC~&k63sT6Risbi}SN_Y4 z$EcYHz;I*1pWmJY;@bm*FcM04Yc*MzR@`dynH#n$BX}}A z_z}0%KO;t5lb>}>Cf74r<6$!6LRauK4(g>*WKSb~4jJMw%`E00UXU}+(Pl3DC|2bv zmcdM0yM}PeMy$2s#~5gXW6KPSbJ%>C+zDOH-Un;*IZQ^GL1z250dsZ1-xRV64!O=N zDf@8jhO$es^qX$s{g)5-eP+-2!QN$AL^hUZV&K>+jQ7^ufs*f-#5h zJaZnJ97E}JS!}F6DT?;N7g;mV;u0yB1S|QvyzDcMOyb2bu+_aWH3&3HF`B2;6_&F( zQ%;3ox1r{v;7Q5nVO<>!mpcS$U`um-7vFL zmV|!m1JyNa^LB?#ea8SUB443ESEuK2fFoxyz|wLomq102BD&*l62G63^vTQ1dL_?K zNn2%5L!%3hZ{50QQ+VuGirhlUSkDHQ$A{y(A}Hr1(bU3ynFUvRrVgi2hVP#unCb13 z?c9ETG37UsRT=iVEtfl9zWl0J>B0zGa`U`XR1b^cCv47+!|6+SBuu1R!$KT{5GQ^; zBczD)na3gz7~jd>#}6)HBDls^g{;3K+r02}Giy>poVQuE|A`yFRsBPyGRi7a{x{>9 z{Qa(J=kU7)qDOWve}{(qP0tfc&x~qf4OrFmT+>xCv;7mF3M>LdnS*q`fvsKeo!|)mP z;qce0Bv-Kg$v1fnr6$Z8~`WfS97GFK`s0*Wt&FCXzWEmVBgu-F1Pr>$% z7Pk0^G8rMUw3B{1Vv+Z|EL5H#O!OcZoO-1#=6l-eTI~7flx^pSkIn{K%O^l>H z#CQGo?znt%sBPz_ZdDgI`EltRKL+qbLZD#I1uL1M3s|6}9QQUztBYD!k-+oS_HlJB z3y8_jp426Mt~~shDF2L5*G4&5k3i9sXD8BzRUK9MLrOLNOFg#^gto+NeCnr=oNQ;$ z4zi1>>ekDyO6zUmjdZ8JZG{GnfPOTny5$8UeR57pqusN^uQ&Im1imk@1_DdKEJwVA3rke4Ow5u!Yl_35fX*1_+m zta+@iXA=iK72ut{U?GI}gd$4_c6kZ4td%D;KO778pQobxlTh1YJFS*#92l+3@~mFZ z)en~OJ~s~!Y#*p`u7hT7ab`J9Z!dIKW{ohLiUb4Ug`y2ZQt5AgPDP=#0JSF z=Q9I`Au0Pi6KlsU6)zLVmyI6lHryq`#Fc%$U5a0LLnG_ot}PpMyq*@;COqB3h2QM8 z00U@u9eY;?H}3CGDn>sW-i4Gb4FH>jhz2ZxE7>Dn+IFr>pS~!3%1xO%sueyJ&U(cb zl5_lUp|mp+5_oUOy!HeV<+kO!d4e)Aa`L$0!}Ik;SZqr0L~|3gVYl_-lkz133Q_n{ z`3}7y-geAgoF2PP>{&HD;C@7cbzccG>B>2Y&UiXcy18^uC*+>EjsQ9`dcN>_l3yiM z?9sY-bbG9>3rmQ__y#k-cCUALv{X(c4YB&#cC7n!>*=0#zubsFnyaJ`4LEFVFr#b% zQzePLrL#{+-v(x6<*TVsGU$~d+jTh&1z2{os zO6Qhw)&Mm&@~xm6H1Pe(k`O`w)@0>|*GxBb0#Z)>y{FfVlv-2VVmreHX4ib?+n6 zrwWvvQWRDd;(m2v<4U1H37=3}@6b7*i);7w$cg0;HG+ZKLs-C^8ZdvGJSm5!RbrnS zfk+9|)JHF@TnhkwJ79Pjw0i%he?KX`3@c=(u;yY0fk#)|PI0pJ(kZ|oOq^UZ<2Jjl z6RX13AJQ_Cuv~?_V0Sa{vv$j;8q-AE%J?~D>2Tk{sS>-e^f3nQyzOb})0G;n)nJ;% zec)TCe)Zza)5+YU{hh>BDQwC3!^9;=m<{J{7Wc_r7%WUXbHQ ztiNfQdHX-*ltuzHW0`0%{=_BMBno ze@SE{fur_7g!@DFe1cmOYUl4!|86RD5^tP#?dZlZ$mWyKSs>{q(s1!PdjR*<_SGR? z>`3bUh#={oLY){}+S=^iz2)16p}TDBL?EFxf8fxuGBRQF$`C2Yq?`PFHnj0{PyJg_wBn)i9x{Yv+KcrK@A$Gzs~f{^0j{=r!O&VAIDuzt&p1aY+8F4Kxgl3w%~ zXB^(!ll?n!MvoaIREG63!pyCqb&}gtpzCs`8`98PH}k|XQ+If$k=|4FXx7)6<<7)m*FF3Ynbz}7EO{pS@g}6 zK-Z)wo?kJo_t-TxTs&UN5qm%Z&7W}czTTscV|$Ntuc%hNX@i>%E*bZ>Pc5q7nS`Ia zyAVF|%MA_h?)%DeVSiwDtU%(C@Zo01CXhIRNw3gQ%I^EISH}@H)(&XK}5+ zyb=XYuIn^rw$(yv(P@9T+^XHLLV z4YZ9oRd>?2z0-6=(;GWzkB|EKu{p2W)MX$EGiz{%FD&pUMYLbSx^zafkje28d&ZUT z+IcS8QlL~S5y#ONSl&l>rD0iy5#;GDDY)%C2fuA@rX_%$T#rM?4mY{ab1}sd$C;!_ zHBJ<3*XMO4X2+;=G7Hp~gRUQ#N4p2&#N5gs3V6RD%C|Cc^f~9raO-`pj6tNeuLciv zLPGVn9KR`|EoPSQ*pbEX@rGw5{KTtMTsZ#V8KR9b)j?8%fi~jv#rSlf=S+3pr{sI~ z-l;&*mh8q5psajHga7`gLk8v?am&^j+1qRSe8-I2*er}XUB_!2k`DS>22}k zaqj2ykv+?&&evAqtXt;inGtBuS1^>743AbJD8sFemXwhj(g&5eCr+dFpn}pYk_RNf6ILxY{Y^Yf z^G75b()Y_p>Hhc?$+GElOq?ZArV1Ty2SH-Lu8y)h1*bJxYh46X-q#W#gE`F{KmUyF zgTBx$D4rQpDe563@OH~C%m-+jH02~w<&RI?2lGx7g-$xgRq6+sZ6&Xn9xT8lSgc#| zAX5hfFy-^Nv?lbbQ?{V%4C*6m;=h!@{gGoHRZ?*D1lEY)=!+giWE7T0L_{r?&vQV5J;tpjiCuQY0 z8FfT?-s;*>{=QkqcI<<(%1*dsO9b^Z`uXw<#5+rbblyoQ>vnBR-nocToaftOOS%9FRMp6Emk7v2O_E=*` z@!~GiMxLVPXKsixyXUsV$it9l!9aTZ?L3B3@LD7t&um<2{^Ac*jiFXMb%y>6u8tPt zS=Pm&n+0>1KFBpmBlQVyPY)}FN<9NR0iD5l71=bZDr|*yy@hYi-$TnNznJ{+d~j&v z`;~T6k@6#nET$a@7F^2K*tZNuKugko><&2loLS4XiT`C_LKA=8Et1(VBqQ}~f< z3$=-r;=-B=)i(VUoTS+;$$^WD_RJnh)uBUcUz&u1D`Qc%VVhv~+uG=Xm<)aN$0{DN z`rT4QjY?nZQt zxCk-5q$Vh%sP(Yln{CdVm)V<{DO2{zBKxWtz$oSE5g)adq6;5jJGyh9KdV^(cu#?j zCnY1R;@U>)HO(NkLdsZO`DnD%RMIQDq1wB-Y%Py_vrbo*+cI7 zY>`zyUo}s0{LBDhv6*8mYtqZEd zq;$zg=g3_D_#BC$5HgX@)K|mJjKjXBNnE{GSio*h*Ym4qI;EooC8MYM@x8$wJMaUK zz#Abhn$Ql9^-xReF8&rJ3@0m#UGd|C{ma*qsU3HOD6bjkA;h24x8ES{DJwV<*OynI zHO7+EtFmLWAzU+TZBOH5A2gNQ^s+l%bx$9~rHD~*7zGQF##oPCWi(E*)%T2$&W^hK zVe*LrIOa`KZ$o;jP!5wKunsKn5Djbcd~#|qPOUl&h%V2mp0DQ2@iDr7+*#d_bf;!f z7FZvyMiA22wZmkSw z@yi1+XYs8|gdn@>xPMtkZw{Z%*W>(xGIfLRl0Uq9_&n~VWDik8ko+|x+NslzJ9p{= zq8_d*&J4aQ4N^gG>rP6}-q@o07Q5>coith(*37bbKKHHvT6#f?^0wRvyDLO{(sw?; zO)AKxH0@4UXzKIvPw-toc}5W3Ay)~QNg}@DYlE;^w+9hB!-PKtU{E_X)%-wG7Y+Ym zOYvn>iYlMmi^rkZ354T+h@8u9A*9Qow;33K;l5uRwCS9=2g(t^MXiZJ3}C7)1~~A; zn8<-%fz})1ZCLt&qzZzW!V(8mhy9pp*%1Mp2> zKy3PPjUbMaT}vfXUYoz;ffv}ixWuQsax%~Poua~7{KM@LY2x)gVo4*NefXt&9~b8j z>MHzCH?}Y;tJ@)XksQd+jue!kzL)7hz3Ognp{{L9hL~AhhkqYMCrW54r}>iQ$R^sn&we~1709Ue#|)>ZDqb#3RTz!=5nY~jg>EYR|dX+XSNQN z3);;=WxDOdti`-6I5XyXkf$Z`>_E|xWS1#F#adaefq`Nv$5AkM5ZQdi>XPJHu~Myz z;Jj6NU@5o7f=xxDP=Nu0d!8TlysT3w5tI5=yFoo+^og1hb4`i{-c3KgCEAhtNl1Yk zJ7esUYD6_t{${3n1Ecw4q$llmFhsTz^AxFPt6EoSicN?qzvcW>&A>repzB^rF3DYe zf0_srCk@(r_N6Nnm-#KF50oTKurw%rKsP?AKmyH-sS)X-vs1(5w+-UW8L=ygf=cm7 zR(`wWpExhyb*>+suB8sBHAhsBF1@cBWiZP^ji(}iMChgp^w+VnHscQ?i?s0aKQsI=O@tKNU2fSH<6WR$UQ#!+p!rCi zGdFm6L<4cTI#UwicYb@N2F0+PxjKUoi9iQ|5JUgIXr3u2oQUcJcMDvptb2vJ;L$G$ z1xXP;FaLg0e&HWF5(Q)=(1re#O}=_r`c&;<(6o%|K@?B_!p1Do(vB7 zPRWH5TCI`O(J(U$T`3$5$Wr3BpQ38lEWGV)k|O&3x>ZNYhkXocP-+YiN4O}M$ZAmY z=dVw!?=7*tSFypzT;rP)Xh&PS&!VcyEl{H63>O;Vq`PP77Uq@@kLV%dXDoM}Trj~s zLNJO!t_I-C;IwLa2^A>*!}clszu0(P{y*7hM&13nFQ}K|8V)~~)L7|2QEYuqI|4*EyjqMtMn;z=Dh|45fr~ z4VwUsy}B+C;R$@{CjliMB{Zdhr?U~$LhW-)T_}n*nN@{i5|f7plC`iCF8jywVo8z9 zD2=l0VIfTuMUhKhLGS8lvRry4s7?Z)oTNw)84002#%Bh=%a z(phcKbZ&OWne=8yxg~m?(c*gh`P>O16?S{Iz44t=nZ6D};UyCzR5MUX<(>NTcRB*g z?gW|_<6M&0v5HrRw#UndT3^IZ^FCdOlr%*6Q6CH($lH*IH3RRdLu#h)C=mdovMS~#SSwn$o;F;Zv?rO_&CA zB>9j7KG+*=pMovHP)yJ8g{&cKw6Z2PjdzK~Yu7AC`yFpPc(ek8)D~m{{zs#9!j%fj z2-<9d2@}@yE0eGx%=(>m0|u&01%IwpOo%v$G%*rKFjY8-ccDY0h-BDvSlHrmD+;EI z&=8KW>}D~)j@TneKXCWXh7JAj+BH#Skg8#aZ8BvYDmZgzfB}LL)uoDYWx^z^WU9_N zd@V)|#r*1@0LB}OK?80q!XRaUT9;Z~iyJ=aO4h)H8q2Ru=5-+bH;v>K={m~AOL;QC zeXj`q_T3kvCFkICV#<0>;L1htr*FwI5G3frTI<95Eg*ErIe19Pv>79<=_F#Td3c&j z{_Jlm52SvpR3&Z%sT_d)tr7~nF4cIX?WZ@(fvGr-ErP!^xXTmdsDI-dWT-!(2?=AU zmYk;6J4ti?IBgub(VN>zSD%yrAg*zAmO&M3u31%S$?aDI@6CZFJ%zzuIR=Wpv}JxsO(sm3Grr zI#G#7FE-l@HOgvY(!1y-0MpN@W&tu9(mm+lUtO->J0s_>y__zh>8bEt6tka;DL5F` zgquulL!GQrrQ{>kGTy)}4|0XsqObkZ`53QlV`hM1yqlplOx}6YA+OGw;sE{_K*$=f3zpZ zn{u(HEeYiCP$yr6IpJBbUAt3GYe!i9p@eIcWV$TpG>O+@pA|p(krn?x3iAjL2wg-n zF{b`h==whuUS?i}OvP{^*08fiG7L@W)^__CHsuU zr>eQ(V6|15zMDHB!g?XgJ+|6=4hMilL>3(!~a?|CNLGvpY=J@g5K1j$9tN~} z`<72K8Fh0OTE@AXvqqq;c!Qvqs^zWKQ!Uhu#)1)i%Z532a<7*yIzwMDWgAdGO{;N- z)PR?v4}IWM*l%jtKd8|`)UdL@ci)q3n~O-vMt@MdnofYI`MLh2{zi!rf&70^Uvv+` zcZTH{ZhE(U=rV#osw(e8x0}mmVDNYQMXD9h*-X)KEQ}FB?jEX%EL%HhuSI6MV>b}b zWl}OzJ1Ek%*N6UlmtFL}#cTfEU*xwgqabos*gwcySUE5vnEns)StFV4hv<~8b;rNR z`;BBCR5b4qG+UH0zx6wRgZ-h}7RTIWXt34g-zIq9$li{SMfleKWBgc`s5_%40A}jO9rN;p3(zaXcv3 z#|`>^5-Tce;NB^3Erws7R-58h zm@6zPk8bbW;i!5Ml24y&e8iIAK$4gn_cGHy>Z%VdcJV8Q=je#bd0IWng@h1%Ii)m5 zl~3U8x%gV9kWTgfPGXKD-x8vkUHvL*j^k%pc>xoEPu{u{X-x#^$m zc_xx?NtkO1G1c?^u)CQr++Reo$BQ0MV$O65AmCh{P%JYnILi_BIoZozwxL*BFe zsB{8fVQ%$ouZ&l|!cbIVPK2YXGo`#}Q#R?d4(#W25q62*fVX5mhJIJi>-MF}e|glo zD;^vA8`zcCoarAXe{xjabPu=BHLm{4q^#~yS5erXCPR{bo8&?KZL-Vu|IZ|kymik^ z#{owb5M&ag*z%3fCcBl8r~n5Gk3Tx&lNpr*0qBi#ec0Om?#js_c93mkn1oY<6o(Qy8`qKplzMz9Yu`0;2PYW+&K~xxq+)*okXQ zcd{1NMGo@!G6^;6&oKuX3cdpkLhJmE<}O+Vs}pkZ8;#li7G`RgU2}P2br7+%rThy{ ztL=HcJNPC{%()opuftno)}3FAjcK1y`VdiRQ9HrnAbSx}SxGv{PZ?H&ZAkwAI+1YzCk~oBT4wMVR375YQ7_*tqgGXlnC0g|g zrXpf%1@1_qPXgLzxPvoEqce{p9>E(Z9V5(s>IA#O?MIYj&VaolwP>Q4_>Z_K(cj{5 zgU-b+tVhR;w|Rfn60;5vH3Gp&pnqRr>p>ToW*|6&wChViV{Z30bkWHe;V>dg3~6Vt z0Vd0(l+cqdb8<>kI}rRzW8oaaEyNR>x!0`}!+_@0En^ziL}9rDl)RI2Q1VXTU`PFJ zTA}`#Jlh<-zmiwmWz(HHwVc56mqLUA#QkG}oe6yEsa{AcBUS3$GIts{&oTmZ2z5GG z=sa-&q(vjb`Lr9!T&fmarWW(M;c}oqhvDtjYE9;=&TjEf z!G30bb#;^V>EOTUKtAWEPJMT{?$a#tg_?z?R8aAzHWnzbP|%Ne9vV%*=1^j_o^9WS z-8|jWciY*Eu#9*adWN<|-dz%f7J8PqJe2W7J{?ZBfou3=%Q?@RL-!Fp2GKS4vB{3_ zs^VTuvC9FTwFjA{XUK@do(IiJG%cq$H&=>oVL4yBQENB{OWyny zT&Y_$-+{jnsE=vG9@4<mbJv40{DP%pAg7}mUK*T+e3d z!N$XA?t5kshFiu`SX4#7Vh3ACzdFuG3w_vO>50R+w=tTLJ7#3-xy?u}XBSpagdoEC zMRM~e751VE01=b~$jOlc7~~j zSB&OsD~E?LsyihV2Nqzhlm|*X}x}E401{M@^f*sJ~DrJBj{{H21!Uez-Cyecd$@>l-sVaxQ7i`jZEUwqDOedf$Vvy~fZ zt=9*;oED*#sq6ejuVrjL!v&+`zfaCJ9Zr^4Av3uPQfRX0>8FDI!nJ=cJ+BiEH8>dC zLLhFO9fF5u7T_<53@jlB%Thi5`B-izF-O=2bYaX_->R9Clzo=wti&_k9DPtUBnG{O z-qukZAw$eBt0<@4fYvWo6ew3HT!`cPu3g3Mo>veUl?*I+Od>b8blh zaerYpzda2;q}uu1(vy7JrRUzW+BtjEc1Skl%?$+IeI8y002etRm3DK3!Xhv^Ct*pjK5x;16CUL*`tN z>$5C~wz|)FHys?IqEzBTtZ@kp%=`wN~FuQ2;SWnmi~aCY_r`eaz?H zAy-H+$E{9u_dl_&)y~CJ=L0Y1U6!9miUM+m|5eQYH8-vW55~jVG~>I-p#0_nT)MVF z6=j1K26)_Gf{wz_sXgT5obGD+1$SNKru7@J;nUB2M_Pp8*V=wRD9j5hM9fyDHzpdW zw-jMU>kyiTk?}<@z&y5!MWjSRT^|8g5v5c&|L(d8WoDv;6E5GB1|ayUcafr6w25Ox zZ39m@u24^|1j|K(_QR$d*VRH;WDUUYrz?pR#tvfH}_2yYv(4b{gwJxYnH zK++jOvhMh+*NmBs1a}kWUCV|tiy7dGjAT>HkHaYDRpg>LaRrejx+_R41)kis4se(r|*KP-(jhqVB!D@tnUJQTGbx(#(xk=%zoY7>l!wiyJ*s&*Fn#W zuJ>ZsKOUL~Sx7E^+dXHy_56ViY6L#o4K13#o4;{c{?=AQfttslLG<^#e#vMDQl3q$ z{|0bS{0(pv_6LCdom;>j)JO;1$Vo3z^zxQFUuC9(eW!U~B!mTDb{KxpcI(CM4-^8x z$FwfLz1DFxzrCRWTm*XpZ&b*>3!y%Toz2R>6zB%d4iY*+_-(r*T91TaSn%O+!}U4r zoy-#RY$mdKfsZ&Om4S^!RK+9O6RcCE{Yihw@fUrGiG{#6G|2qHPAi}z0=(m3h~vM* zX(31U?q9C4Q3$B~Anj#Z(4oKf9ngEk!- zBMm~H&4?9-%t5`ZYg6<%@?eol59fI>o+a`n-`dTy&c8-_9z*IKCG_nZOVu!P4@2Un zIM@aLY_`pNr9dhYrBLiN#(0BM2xK~c4nc>Yth?lS#OhQQ(YI`gwufG7g9h)6Ev(^` zRw2<_k52a3E!td;$4!NQ$FLN~#$E~mi-C*X+Ycp0NmR^^as@$ebOxZLl9H<|kek%u ziD2zeg>_(6XG&JJv-{YpSDg~YX=Jo(!lw-x6*om45zOpZbK+FL;!fn=eO`r5pI~7& zG+Zp80dofUSUCx$K?Pbblg9Fu8kNJ6EGNeU!pcZt-x< z-z1F9(0_84tm_%+Gc8SwXQ==??NiJ9FQfg4m zjEBG2dQ`sKJV@4h&qhCSQ#~#xf}EJN|2St3)1+O7W2*&5kAa({l{Q^zgL%p3+Qqo0 zRO?hJN8%cm

    a^?WgEo`W)KQy^0*N7i+an2~|blyYolhJ>4{m8P&LVq%tkyyg^# z+;P%SAAIP+exb`~VRrPcco{u)#ArLqKdg_09T)tWX~qaD7b~c5l#C1HvhT;F(eGVA zQ`xWhkZD$2Z7Icf#r*GvwU?bzmN*GvRc=!HzWP zC^d>%>94wak(Lvbnz1YnwbDd>q0=AJ&^HX9+DulDvf+OPl}EaUcmJR`XktJ8&S(K( zWNZd1BmgD(*h9!mmCahr#sy_@6#v1dexhC7*zB^ha+xG^WPIDFKP-u~fel=NY-Sv4 zo9youg%Gy)z70xyfvEyzw)vxIWhH;5&1v*HIKC(A6Dr2v7(KPMAz`RAiW4}$YH73F zW%72g!+;nQlAy1KBApcYjy1xP!fNY(NKgr3MHmKutC^U#%Qwst$}PJn-fB`1C>r6` zuF7pG1I*amI`^-C>(H8yOmgB*6cq^8KV0fimYCMt*Boi53JQXb)0RLB9nKZMIkd?b zB6-A`RO5Q><6=Wh?I)haZu;@fMD8UTH( ziC(FZkxHkw)VBlGU9xxR%CtA4_C1fl|Znf^Pz+4DXX#Ly(tT>k)y@ey4;IuQ? z=KHEec&v}EIVE`z-p9P6!3HA1*v%MsNOa57gBf+l#go|7|5kyB@~4X6-YY_d3T2II zE0?N(Lq%RBy|k8aWUN=0Wq}J)v1dBW_sc==#?!yeFA46GGM8t>N|>FY!o?=a+wIb$ z?-BQPz}SeTWbE!kNX}4K_mGC17aYuwdCfzyP3==>uX?HexGMb|MNAd=L-Xq!SQqBk zUa;LLu{@C*^U)vrM;WB>_^4c^82F{OI94cxlc4Eo#!h8U+gs_4-8u->#tlgwJL0fu)ZG}R6U+`cmgx!6n zKob0zqfK7O0{U;6&BmDpe`Xo6QX2%M@)r=+Zy?=&1KIutn)jXT z0!rt-S}elRMsAduMF`m7#QuRGPyw1-9GGn|XhHA&$W&-n;M1fK&a+~JFyUzD!!Z+Y z5t>3UkAxL;gbV-hfhpzBPT1g9z~ZHc8-9w+%23RYx1z;y z5Z=TTq|jmrE@aS6Sz;%kxR{MOkb}2LJW}W_R~$A%rbsCSBmst9{}h)Tva&<}6z)R% zhouYRHUBOROYnMQ{gHkjDENV~lks;HRPPp^(Y`bgITI>j%Nh96~TcaF4h`2e6*mx;xOF=TUW{wEC zdUJsZl)1dK^0C~zjpnMEaB;kxGk>aIruMZHrtVn=dU(BXSzfu+8T#l6*4+9Q+dib2 z1ATqpn)Q9%toGI>d5ih~o zYrP;LKM^0Xz?;i6|7PV~M@P*Tqbo|qLe1C9UyLNXiLOat7%O1JKX48AsikS*b zj_GCLw~Lw<=Sgh9ll&`_L4#WycN!7xyQ7`9yD_rcomL!590uW+Mvwb?@8?=Yh0Y#f zEk)$lrxC;EiYYGb^{p+%l9E8;WabKDjhL8;o2RFphyI(nBZr5#?BrwLv*ehiy*GT~ zgSWDwkf}9KU+-L5Siv)*0%4-$nxFZZdi4f{1J6#66^GZ<9g%h7_<)LIMnV)!Ib!73 zw}y?Kwt{gvK}MXP)jr&nO@)jbvS4Qj$ornx%3zOFZ3wY}hxn!?RK001EjZK{ z=bh3YtqK@XtxG^gm>GynjItL9t1+e^^veaP&3Pb6ixY8Yu>#c0yTo1+_aW{!dqCO!^nwy>bpn|M^uU=(id zgUuq{poEA^p;ZT6ImWp0rt{jpng!o--+IQ@*>a1$5s!>!%=Y%wyt0&F8Y0$y@6csf z?KZ(Ll)wb-HFZ)55vW*OgrG&ftP5RXKbi0P&al$BVk_7e?w(d@)V3VF7Wp~^PbHci_|&~N#A0Z(pQr4gE?9_Y zKcn9O-VS!}rzm^G?ep=nW-w$`HBblbDyW0x1k@1=>Zp}!g|`1U1i>O)3)o9Keh=mD z??L~H{yoTj$`+iUxb!zl<8SysQ2svP?X#3RsRR|urSvzn77|Rwgh z80SB<{v~M@;)oFq02&4l8fN|1uwH;2;x>z9({G#&2%dM}e&hUoz~4OAN;N{y>ymAP zhM|Lo{kDc|?N}l6h8T}NzPr9#5^;{#9&cyJuKlkw9HAYk>Xh?%LF+9@g(2E2>3-ZFYSd_E1?-_IKFzr%>cml1ZK0B*YS zxIUipwRyiCT7NsTzU8bM+2ckmahpKFdA)akfID&Y`uVb+)r}>P)v@{Xlc^fExx+L( zyPD|TZkw>n-Z2tUWau*2PZA$Jdvtwo-i7+V2&ITB?4IeFNw^fu3L2(ut;h z*V3a+PGdYyFNnXrY(Fzp3x}7$LJ_a>|H3*u!wHe!_2k*Wo#TCf7-=e$lZB~ZDwLgN z>UBIXj$q{a{|I{r=*qUOTR66D+ja#NYsa>2R8+BT+qP||VpVLX;;N*Ax9gmH@4M&w z-+O=CEh{ap?ex)mpKHxM=2&~KQ8{pF3DHCjas2vX0Wz+T2kjE*vql>4eQSynY(~Ny z&}@KYm4~%p&snS&6Yu^T!m7+6zBHgr15rVNT;LO_hrYCx1j_>FWF@vOMgiDM)FCJI(NBFct@8IYk8TQODk6o#NO{j8W6Qwi5C>U5(nG%qMW zpnA&@h9UphP}()*wtNq8-@g(PJju^`eLLXG@ib5v=sidhcyAa-baP(!d47G36Bo=n z^1au7TRfO-d~Fue=OU1+WO{91|G~{nz-W)`@U+B{5vz9Ft1#xV+u`f|+`gG>oKWI4 zBx;|U*dRbUXwd}{|&nZ@|6ny+^AWBSFvY`xQ$nl{i42q|L&$$ z*3m5-6N!)5DqNu{$lp|e8`XO7J`ds8G;Dr;b3LN6f9gF4E|b zQ{$&?SKSvez}AY#S$j8`uX92hHpBL1c3K`!3Hvssrux;Kuw0sN_7$; zB&s)I?_rEN*|D?wkhPC}m#;|aeL9*$v!b-||Nmq(1tv9-7o8IH83q(=s4_N2RBru56_B-Evu z1~0c$`Sl{pcWfEGa9nYIL}&}_U9_LPr!{7GMAvy;?Rx}q2JgR{^)g#D8S%hAyEPUJ zdBx?Jf1Uhf;ij;_sF+r8aJ_biq#6L2z&~H5#`2WRdGsgvQNRtJ7lrTk;#){sz`29$ zmLrc`kGCf$G$^Bw(}{@LRi~%RP%^uEl+y$ip9Xj{e7dc^L7psOVv+%x7fq+xU`)#c)}T1i{;Hv`bL`= zwP#9YM?^K5-^++N?Lt={$~Uy*-hDjGN(x04ur-%+ic-6ptS5=?%$~p1}e!LTw@b|>2TxV zb$oaF9&pCqYwteMD)h}(B}D@%Y~9i2vE;yZyz@?ZjL@Sy4bUj6?^$sX<3T(n>!ISS z)A5uerOG`+`P8aM2-zUoeC0(^hpeXy_O?y^;%d>m$4x(r84*f^4B;KhPl;O-(Ho@a}7P6*r53lqDyH377svLUrh${s4{=YG#HaHrh;ttKw`b z_d5W=JBgs4@cMZ_{y8%yHEdCutSsxc@kconwpXLOu9<2Bau2R%wKH3?MuO3^S{WP@rDsqVw{wwD{|cmftL%oi^@GZc8*IR@6Q5z+kc}V=r+6QR=)wW-P!t zDHuNo<06MuH0gKyrKeU;JXTfrTus>!mg&ocp|e+4W9)gwB!qag#?L!>E&M?{*&}b| zs(`OGSt=oy7iz9wuNNMlnbvLd(9aFF3+@LjcT-#~-;>VU27RUAZZfxf8O_Dkw!U}J zJu9mEGSyjRFLVMhJ*C*p@?a!K?Ho)eJ2g2|ri4yTyi}%rr?HCZuB0T`n3epxa~Lw) z&X~&9eUH4j&k}EMzL%XPG+XLPrvrCm~QkMB}zaJrsUA>kre53tpYINEA z!_0Sjqr$Je&6{pa>nYcwbgBLYY#08QTPBwO>*(lP;MDW3JXr2@ta@ud0l}@GT`v@H zr5UztkoJubD=mE}Bx3zLyc>g7QX=fg?RVrcvf?GLK657|#6DZ*8Xs-DFTWvxUnWEv zmrESv;EghRzFhZlDP^&Vye}1ob&%fc+UMXG&_T*Z4mo~8<~Cf0Tg|HZ(&N?3TZcFY z*`2&CY(&l2ci5IFi_}l&es#Oc?0K0prw-YF0(k@d+7i|`1ePu^_X(6?SaGL)J`NTf z=e>3F`iHclE_8FMzoRZ&E)&Deo@d7zR)^2sN!jwf$gcEUmy^+0 zO8)15)l!NO~cJhq6p8IPAi+nAw4@?--p^^Yu zQ8+ETV&zLDhN2Wl8~=e;R+!b&)oMQ1A)ZLM>dx`y-Azpa1c+;SD_`_bZ4@_|ED=XtFOF^JNs&=C%{`2Ny~2OFR7`H4u47gS-RTI7d<4+VRUEB z`~~AWresKXcRLzlGs~815zxtf?YJ)w{$%gyruh40+hf31@aO+OI{-)2ecqQ%XU=wR zEM)Ki?*sUD?sYh&99IXj)jVXGLhe=hLceQyf!r7U2_`KDGWsTXmsaGTP}hjOrY%ac z4gB@d+JilyP#dEpn_2qz=RDEf_38Chz>(Mnj)d~{j6&5`?_?Qow#HABMyr)*>0kD3 zX#;t29Rf|=10A^zWgKYIKbJW>Q;7D5{6>`C+dY2Wd3Jfqw&r+qh3#$zwx`{LeQ&g4 zNokwSM2#K;eOaVSo zJcYKc6t}7O>j>h~cDGPrsXhVfowy9?* z2wc=CQJ{ylrS??cs_yJB&c=)FH>x0ePVUukp4DL9q|VmBIn=;9$P0$G#UgAWo`96; zyYAI!oz)m2;qXC!e_8>FP7NqHuTd+Nob|H7=$PNDF=Mt7aOwEbsP{(FaCrLrNmVD1+h<2s|ThGHr-ODB&JoH;YYY!(#k(pt+mrct0cGEVV zc;y!loAoI?g<+;!vPN91ZL>0>#_=H?n}@Czf$h5t2O!10nh6Wd)dZoQJ%p>JD5h>s z`X0_{P|*|Njcq*tc{Uc+o|ehOM=ggKGM7)?Eth67Cn?x@zM-ZyX*pg}k;o1;(hfEL zZ9ZfMK#CqVcd!R;#X$}{djgMz@D4LF4u~%ObG&n{ZBT~I2ne(eS3fqEO;Xa_dFrmS z&Crwjc}4l&Qx|WE@t9Rl<`!Qa@G`?>t#V~MVz@8fnC!fN)@#3IB5nWvoi^gfwLxqS zi?T492CJ8Sr5<%Taq7zO=_6Tx{Pk$aK9856nn+`W)N0e{T-o=uU>&wlD+*JRw%{pA zRi}XS!EV2B67sl4B4s4@Osw*D?RI?a}!I(Sg(UgYJ6F|Cd;gZK1W zVRpY>mujgo$G?eedXd{3cE4Ho|jnGJ

    1F^XVs1Vt`pcuO9HwAPjCN+$+l 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 UserCandidate(id = candidate) } - - override val preFilterFeatureHydrationPhase1: Seq[ - BaseCandidateFeatureHydrator[ListRecommendedUsersQuery, UserCandidate, _] - ] = Seq( - isGizmoduckValidUserFeatureHydrator, - isSGSValidUserFeatureHydrator - ) - - override val decorator: Option[CandidateDecorator[ListRecommendedUsersQuery, UserCandidate]] = { - val clientEventInfoBuilder = ClientEventInfoBuilder("user") - val userItemBuilder = UserCandidateUrtItemBuilder(clientEventInfoBuilder) - Some(UrtItemCandidateDecorator(userItemBuilder)) - } -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/BlenderUsersCandidatePipelineQueryTransformer.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/BlenderUsersCandidatePipelineQueryTransformer.docx new file mode 100644 index 0000000000000000000000000000000000000000..ae78b1a5f196806e69d53bdec9aeba2b7c94e3cf GIT binary patch literal 37442 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 J*pV{-?SJ7s*Bbx; literal 0 HcmV?d00001 diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/ListMemberBasedUsersCandidatePipelineConfig.scala b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/ListMemberBasedUsersCandidatePipelineConfig.scala deleted file mode 100644 index 756c58d72..000000000 --- a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/ListMemberBasedUsersCandidatePipelineConfig.scala +++ /dev/null @@ -1,98 +0,0 @@ -package com.twitter.home_mixer.product.list_recommended_users - -import com.twitter.hermit.candidate.{thriftscala => t} -import com.twitter.home_mixer.product.list_recommended_users.candidate_source.SimilarityBasedUsersCandidateSource -import com.twitter.home_mixer.product.list_recommended_users.feature_hydrator.IsGizmoduckValidUserFeatureHydrator -import com.twitter.home_mixer.product.list_recommended_users.feature_hydrator.IsListMemberFeatureHydrator -import com.twitter.home_mixer.product.list_recommended_users.feature_hydrator.IsSGSValidUserFeatureHydrator -import com.twitter.home_mixer.product.list_recommended_users.feature_hydrator.RecentListMembersFeature -import com.twitter.home_mixer.product.list_recommended_users.filter.DropMaxCandidatesByAggregatedScoreFilter -import com.twitter.home_mixer.product.list_recommended_users.filter.PreviouslyServedUsersFilter -import com.twitter.home_mixer.product.list_recommended_users.model.ListRecommendedUsersFeatures.IsListMemberFeature -import com.twitter.home_mixer.product.list_recommended_users.model.ListRecommendedUsersQuery -import com.twitter.product_mixer.component_library.decorator.urt.UrtItemCandidateDecorator -import com.twitter.product_mixer.component_library.decorator.urt.builder.item.user.UserCandidateUrtItemBuilder -import com.twitter.product_mixer.component_library.decorator.urt.builder.metadata.ClientEventInfoBuilder -import com.twitter.product_mixer.component_library.filter.PredicateFeatureFilter -import com.twitter.product_mixer.component_library.gate.NonEmptySeqFeatureGate -import com.twitter.product_mixer.component_library.model.candidate.UserCandidate -import com.twitter.product_mixer.core.functional_component.candidate_source.BaseCandidateSource -import com.twitter.product_mixer.core.functional_component.decorator.CandidateDecorator -import com.twitter.product_mixer.core.functional_component.feature_hydrator.BaseCandidateFeatureHydrator -import com.twitter.product_mixer.core.functional_component.filter.Filter -import com.twitter.product_mixer.core.functional_component.gate.Gate -import com.twitter.product_mixer.core.functional_component.transformer.CandidateFeatureTransformer -import com.twitter.product_mixer.core.functional_component.transformer.CandidatePipelineQueryTransformer -import com.twitter.product_mixer.core.functional_component.transformer.CandidatePipelineResultsTransformer -import com.twitter.product_mixer.core.model.common.identifier.CandidatePipelineIdentifier -import com.twitter.product_mixer.core.model.common.identifier.FilterIdentifier -import com.twitter.product_mixer.core.pipeline.candidate.CandidatePipelineConfig -import javax.inject.Inject -import javax.inject.Singleton - -@Singleton -class ListMemberBasedUsersCandidatePipelineConfig @Inject() ( - similarityBasedUsersCandidateSource: SimilarityBasedUsersCandidateSource, - isGizmoduckValidUserFeatureHydrator: IsGizmoduckValidUserFeatureHydrator, - isListMemberFeatureHydrator: IsListMemberFeatureHydrator, - isSGSValidUserFeatureHydrator: IsSGSValidUserFeatureHydrator) - extends CandidatePipelineConfig[ - ListRecommendedUsersQuery, - Seq[Long], - t.Candidate, - UserCandidate - ] { - - override val identifier: CandidatePipelineIdentifier = - CandidatePipelineIdentifier("ListMemberBasedUsers") - - override val gates: Seq[Gate[ListRecommendedUsersQuery]] = - Seq(NonEmptySeqFeatureGate(RecentListMembersFeature)) - - override val queryTransformer: CandidatePipelineQueryTransformer[ListRecommendedUsersQuery, Seq[ - Long - ]] = { query => - query.features.map(_.getOrElse(RecentListMembersFeature, Seq.empty)).getOrElse(Seq.empty) - } - - override val candidateSource: BaseCandidateSource[Seq[Long], t.Candidate] = - similarityBasedUsersCandidateSource - - override val featuresFromCandidateSourceTransformers: Seq[ - CandidateFeatureTransformer[t.Candidate] - ] = Seq(ListMemberBasedUsersResponseFeatureTransfromer) - - override val resultTransformer: CandidatePipelineResultsTransformer[ - t.Candidate, - UserCandidate - ] = { candidate => - UserCandidate(id = candidate.userId) - } - - override val preFilterFeatureHydrationPhase1: Seq[ - BaseCandidateFeatureHydrator[ListRecommendedUsersQuery, UserCandidate, _] - ] = Seq(isListMemberFeatureHydrator) - - override val filters: Seq[Filter[ListRecommendedUsersQuery, UserCandidate]] = - Seq( - PreviouslyServedUsersFilter, - PredicateFeatureFilter.fromPredicate( - FilterIdentifier("IsListMember"), - shouldKeepCandidate = { features => !features.getOrElse(IsListMemberFeature, false) } - ), - DropMaxCandidatesByAggregatedScoreFilter - ) - - override val postFilterFeatureHydration: Seq[ - BaseCandidateFeatureHydrator[ListRecommendedUsersQuery, UserCandidate, _] - ] = Seq( - isGizmoduckValidUserFeatureHydrator, - isSGSValidUserFeatureHydrator - ) - - override val decorator: Option[CandidateDecorator[ListRecommendedUsersQuery, UserCandidate]] = { - val clientEventInfoBuilder = ClientEventInfoBuilder("user") - val userItemBuilder = UserCandidateUrtItemBuilder(clientEventInfoBuilder) - Some(UrtItemCandidateDecorator(userItemBuilder)) - } -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/ListMemberBasedUsersResponseFeatureTransfromer.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/ListMemberBasedUsersResponseFeatureTransfromer.docx new file mode 100644 index 0000000000000000000000000000000000000000..9035f29d9e5fc552d04e54a3f7d0767d562d76ea GIT binary patch literal 37010 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 GfOr7F`99zP literal 0 HcmV?d00001 diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/ListMemberBasedUsersResponseFeatureTransfromer.scala b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/ListMemberBasedUsersResponseFeatureTransfromer.scala deleted file mode 100644 index 7153d1f06..000000000 --- a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/ListMemberBasedUsersResponseFeatureTransfromer.scala +++ /dev/null @@ -1,21 +0,0 @@ -package com.twitter.home_mixer.product.list_recommended_users - -import com.twitter.hermit.candidate.{thriftscala => t} -import com.twitter.home_mixer.product.list_recommended_users.model.ListRecommendedUsersFeatures.ScoreFeature -import com.twitter.product_mixer.core.feature.Feature -import com.twitter.product_mixer.core.feature.featuremap.FeatureMap -import com.twitter.product_mixer.core.feature.featuremap.FeatureMapBuilder -import com.twitter.product_mixer.core.functional_component.transformer.CandidateFeatureTransformer -import com.twitter.product_mixer.core.model.common.identifier.TransformerIdentifier - -object ListMemberBasedUsersResponseFeatureTransfromer - extends CandidateFeatureTransformer[t.Candidate] { - - override val identifier: TransformerIdentifier = TransformerIdentifier("ListMemberBasedUsers") - - override val features: Set[Feature[_, _]] = Set(ScoreFeature) - - override def transform(candidate: t.Candidate): FeatureMap = FeatureMapBuilder() - .add(ScoreFeature, candidate.score) - .build() -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/ListRecommendedUsersMixerPipelineConfig.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/ListRecommendedUsersMixerPipelineConfig.docx new file mode 100644 index 0000000000000000000000000000000000000000..057966420f932763f489a42467e70e48ec9baca4 GIT binary patch literal 37951 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 literal 0 HcmV?d00001 diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/ListRecommendedUsersMixerPipelineConfig.scala b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/ListRecommendedUsersMixerPipelineConfig.scala deleted file mode 100644 index 8c72aefec..000000000 --- a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/ListRecommendedUsersMixerPipelineConfig.scala +++ /dev/null @@ -1,111 +0,0 @@ -package com.twitter.home_mixer.product.list_recommended_users - -import com.twitter.home_mixer.product.list_recommended_users.feature_hydrator.RecentListMembersQueryFeatureHydrator -import com.twitter.home_mixer.product.list_recommended_users.gate.ViewerIsListOwnerGate -import com.twitter.home_mixer.product.list_recommended_users.model.ListRecommendedUsersFeatures.IsGizmoduckValidUserFeature -import com.twitter.home_mixer.product.list_recommended_users.model.ListRecommendedUsersFeatures.IsSGSValidUserFeature -import com.twitter.home_mixer.product.list_recommended_users.model.ListRecommendedUsersQuery -import com.twitter.home_mixer.product.list_recommended_users.param.ListRecommendedUsersParam.ExcludedIdsMaxLengthParam -import com.twitter.home_mixer.product.list_recommended_users.param.ListRecommendedUsersParam.ServerMaxResultsParam -import com.twitter.product_mixer.component_library.premarshaller.urt.UrtDomainMarshaller -import com.twitter.product_mixer.component_library.premarshaller.urt.builder.AddEntriesWithReplaceInstructionBuilder -import com.twitter.product_mixer.component_library.premarshaller.urt.builder.ReplaceAllEntries -import com.twitter.product_mixer.component_library.premarshaller.urt.builder.ReplaceEntryInstructionBuilder -import com.twitter.product_mixer.component_library.premarshaller.urt.builder.StaticTimelineScribeConfigBuilder -import com.twitter.product_mixer.component_library.premarshaller.urt.builder.UnorderedExcludeIdsBottomCursorBuilder -import com.twitter.product_mixer.component_library.premarshaller.urt.builder.UrtMetadataBuilder -import com.twitter.product_mixer.component_library.selector.DropFilteredCandidates -import com.twitter.product_mixer.component_library.selector.DropMaxCandidates -import com.twitter.product_mixer.component_library.selector.InsertAppendResults -import com.twitter.product_mixer.core.functional_component.feature_hydrator.QueryFeatureHydrator -import com.twitter.product_mixer.core.functional_component.marshaller.TransportMarshaller -import com.twitter.product_mixer.core.functional_component.marshaller.response.urt.UrtTransportMarshaller -import com.twitter.product_mixer.core.functional_component.premarshaller.DomainMarshaller -import com.twitter.product_mixer.core.functional_component.selector.Selector -import com.twitter.product_mixer.core.model.common.UniversalNoun -import com.twitter.product_mixer.core.model.common.identifier.MixerPipelineIdentifier -import com.twitter.product_mixer.core.model.marshalling.response.urt.Timeline -import com.twitter.product_mixer.core.model.marshalling.response.urt.TimelineScribeConfig -import com.twitter.product_mixer.core.model.marshalling.response.urt.item.user.UserItem -import com.twitter.product_mixer.core.pipeline.candidate.CandidatePipelineConfig -import com.twitter.product_mixer.core.pipeline.mixer.MixerPipelineConfig -import com.twitter.timelines.render.{thriftscala => urt} - -import javax.inject.Inject -import javax.inject.Singleton - -@Singleton -class ListRecommendedUsersMixerPipelineConfig @Inject() ( - listMemberBasedUsersCandidatePipelineConfig: ListMemberBasedUsersCandidatePipelineConfig, - blenderUsersCandidatePipelineConfig: BlenderUsersCandidatePipelineConfig, - viewerIsListOwnerGate: ViewerIsListOwnerGate, - recentListMembersQueryFeatureHydrator: RecentListMembersQueryFeatureHydrator, - urtTransportMarshaller: UrtTransportMarshaller) - extends MixerPipelineConfig[ListRecommendedUsersQuery, Timeline, urt.TimelineResponse] { - - override val identifier: MixerPipelineIdentifier = MixerPipelineIdentifier("ListRecommendedUsers") - - override val gates = Seq(viewerIsListOwnerGate) - - override val fetchQueryFeatures: Seq[QueryFeatureHydrator[ListRecommendedUsersQuery]] = - Seq(recentListMembersQueryFeatureHydrator) - - override val candidatePipelines: Seq[ - CandidatePipelineConfig[ListRecommendedUsersQuery, _, _, _] - ] = Seq( - listMemberBasedUsersCandidatePipelineConfig, - blenderUsersCandidatePipelineConfig - ) - - private val candidatePipelineIdentifiers = Set( - listMemberBasedUsersCandidatePipelineConfig.identifier, - blenderUsersCandidatePipelineConfig.identifier - ) - - override val resultSelectors: Seq[Selector[ListRecommendedUsersQuery]] = Seq( - DropFilteredCandidates( - candidatePipelines = candidatePipelineIdentifiers, - filter = candidate => - candidate.features.getOrElse(IsSGSValidUserFeature, false) && - candidate.features.getOrElse(IsGizmoduckValidUserFeature, false) - ), - DropMaxCandidates( - candidatePipelines = candidatePipelineIdentifiers, - maxSelectionsParam = ServerMaxResultsParam), - InsertAppendResults(candidatePipelineIdentifiers) - ) - - override val domainMarshaller: DomainMarshaller[ListRecommendedUsersQuery, Timeline] = { - val instructionBuilders = Seq( - ReplaceEntryInstructionBuilder(ReplaceAllEntries), - AddEntriesWithReplaceInstructionBuilder() - ) - - val metadataBuilder = UrtMetadataBuilder( - title = None, - scribeConfigBuilder = Some( - StaticTimelineScribeConfigBuilder( - TimelineScribeConfig( - page = Some("list_recommended_users"), - section = None, - entityToken = None))) - ) - - val excludeIdsSelector: PartialFunction[UniversalNoun[_], Long] = { - case item: UserItem => item.id - } - - val cursorBuilder = UnorderedExcludeIdsBottomCursorBuilder( - excludedIdsMaxLengthParam = ExcludedIdsMaxLengthParam, - excludeIdsSelector = excludeIdsSelector) - - UrtDomainMarshaller( - instructionBuilders = instructionBuilders, - metadataBuilder = Some(metadataBuilder), - cursorBuilders = Seq(cursorBuilder) - ) - } - - override val transportMarshaller: TransportMarshaller[Timeline, urt.TimelineResponse] = - urtTransportMarshaller -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/ListRecommendedUsersProductPipelineConfig.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/ListRecommendedUsersProductPipelineConfig.docx new file mode 100644 index 0000000000000000000000000000000000000000..221bd0d613f576c46081f456262cd6b20d330836 GIT binary patch literal 37944 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

    =*}TAq9g@nxh9j!t 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 literal 0 HcmV?d00001 diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/ListRecommendedUsersProductPipelineConfig.scala b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/ListRecommendedUsersProductPipelineConfig.scala deleted file mode 100644 index f0c2ac70e..000000000 --- a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/ListRecommendedUsersProductPipelineConfig.scala +++ /dev/null @@ -1,102 +0,0 @@ -package com.twitter.home_mixer.product.list_recommended_users - -import com.twitter.conversions.DurationOps._ -import com.twitter.home_mixer.marshaller.timelines.RecommendedUsersCursorUnmarshaller -import com.twitter.home_mixer.model.request.HomeMixerRequest -import com.twitter.home_mixer.model.request.ListRecommendedUsersProduct -import com.twitter.home_mixer.model.request.ListRecommendedUsersProductContext -import com.twitter.home_mixer.product.list_recommended_users.model.ListRecommendedUsersQuery -import com.twitter.home_mixer.product.list_recommended_users.param.ListRecommendedUsersParam.ServerMaxResultsParam -import com.twitter.home_mixer.product.list_recommended_users.param.ListRecommendedUsersParamConfig -import com.twitter.home_mixer.service.HomeMixerAccessPolicy.DefaultHomeMixerAccessPolicy -import com.twitter.home_mixer.service.HomeMixerAlertConfig.DefaultNotificationGroup -import com.twitter.product_mixer.component_library.premarshaller.cursor.UrtCursorSerializer -import com.twitter.product_mixer.core.functional_component.common.access_policy.AccessPolicy -import com.twitter.product_mixer.core.functional_component.common.alert.predicate.TriggerIfBelow -import com.twitter.product_mixer.core.functional_component.common.alert.predicate.TriggerIfLatencyAbove -import com.twitter.product_mixer.core.functional_component.common.alert.Alert -import com.twitter.product_mixer.core.functional_component.common.alert.LatencyAlert -import com.twitter.product_mixer.core.functional_component.common.alert.P99 -import com.twitter.product_mixer.core.functional_component.common.alert.SuccessRateAlert -import com.twitter.product_mixer.core.model.common.identifier.ComponentIdentifier -import com.twitter.product_mixer.core.model.common.identifier.ProductPipelineIdentifier -import com.twitter.product_mixer.core.model.marshalling.request -import com.twitter.product_mixer.core.pipeline.PipelineConfig -import com.twitter.product_mixer.core.pipeline.pipeline_failure.BadRequest -import com.twitter.product_mixer.core.pipeline.pipeline_failure.PipelineFailure -import com.twitter.product_mixer.core.pipeline.product.ProductPipelineConfig -import com.twitter.product_mixer.core.product.ProductParamConfig -import com.twitter.timelines.configapi.Params -import com.twitter.timelines.render.{thriftscala => urt} -import com.twitter.timelines.util.RequestCursorSerializer -import com.twitter.util.Try - -import javax.inject.Inject -import javax.inject.Singleton - -@Singleton -class ListRecommendedUsersProductPipelineConfig @Inject() ( - listRecommendedUsersMixerPipelineConfig: ListRecommendedUsersMixerPipelineConfig, - listRecommendedUsersParamConfig: ListRecommendedUsersParamConfig) - extends ProductPipelineConfig[ - HomeMixerRequest, - ListRecommendedUsersQuery, - urt.TimelineResponse - ] { - - override val identifier: ProductPipelineIdentifier = - ProductPipelineIdentifier("ListRecommendedUsers") - override val product: request.Product = ListRecommendedUsersProduct - override val paramConfig: ProductParamConfig = listRecommendedUsersParamConfig - - override def pipelineQueryTransformer( - request: HomeMixerRequest, - params: Params - ): ListRecommendedUsersQuery = { - val context = request.productContext match { - case Some(context: ListRecommendedUsersProductContext) => context - case _ => throw PipelineFailure(BadRequest, "ListRecommendedUsersProductContext not found") - } - - val debugOptions = request.debugParams.flatMap(_.debugOptions) - - val pipelineCursor = request.serializedRequestCursor.flatMap { cursor => - Try(UrtCursorSerializer.deserializeUnorderedExcludeIdsCursor(cursor)) - .getOrElse(RecommendedUsersCursorUnmarshaller(RequestCursorSerializer.deserialize(cursor))) - } - - ListRecommendedUsersQuery( - listId = context.listId, - params = params, - clientContext = request.clientContext, - features = None, - pipelineCursor = pipelineCursor, - requestedMaxResults = Some(params(ServerMaxResultsParam)), - debugOptions = debugOptions, - selectedUserIds = context.selectedUserIds, - excludedUserIds = context.excludedUserIds, - listName = context.listName - ) - } - - override def pipelines: Seq[PipelineConfig] = Seq(listRecommendedUsersMixerPipelineConfig) - - override def pipelineSelector(query: ListRecommendedUsersQuery): ComponentIdentifier = - listRecommendedUsersMixerPipelineConfig.identifier - - override val alerts: Seq[Alert] = Seq( - SuccessRateAlert( - notificationGroup = DefaultNotificationGroup, - warnPredicate = TriggerIfBelow(99.9, 20, 30), - criticalPredicate = TriggerIfBelow(99.9, 30, 30), - ), - LatencyAlert( - notificationGroup = DefaultNotificationGroup, - percentile = P99, - warnPredicate = TriggerIfLatencyAbove(1000.millis, 15, 30), - criticalPredicate = TriggerIfLatencyAbove(1500.millis, 15, 30) - ) - ) - - override val debugAccessPolicies: Set[AccessPolicy] = DefaultHomeMixerAccessPolicy -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/candidate_source/BUILD.bazel b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/candidate_source/BUILD.bazel deleted file mode 100644 index e1fa1de1c..000000000 --- a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/candidate_source/BUILD.bazel +++ /dev/null @@ -1,13 +0,0 @@ -scala_library( - sources = ["*.scala"], - compiler_option_sets = ["fatal_warnings"], - strict_deps = True, - tags = ["bazel-compatible"], - dependencies = [ - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/candidate_source", - "src/thrift/com/twitter/hermit/candidate:hermit-candidate-scala", - "src/thrift/com/twitter/search:blender-scala", - "strato/config/columns/recommendations/similarity:similarity-strato-client", - "strato/src/main/scala/com/twitter/strato/client", - ], -) diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/candidate_source/BUILD.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/candidate_source/BUILD.docx new file mode 100644 index 0000000000000000000000000000000000000000..2be57c3aa1ce78a3d1c6cddea1c6f1decd51edd7 GIT binary patch literal 36900 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

    LYV1~zv@m0 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 literal 0 HcmV?d00001 diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/candidate_source/BlenderUsersCandidateSource.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/candidate_source/BlenderUsersCandidateSource.docx new file mode 100644 index 0000000000000000000000000000000000000000..a247327fcb573781b3880ae1936c3883829b789b GIT binary patch literal 37319 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 PRe}tO!0Zvw3*rF)t!mUm literal 0 HcmV?d00001 diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/candidate_source/BlenderUsersCandidateSource.scala b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/candidate_source/BlenderUsersCandidateSource.scala deleted file mode 100644 index 3b7ac39fc..000000000 --- a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/candidate_source/BlenderUsersCandidateSource.scala +++ /dev/null @@ -1,45 +0,0 @@ -package com.twitter.home_mixer.product.list_recommended_users.candidate_source - -import com.twitter.product_mixer.core.functional_component.candidate_source.CandidateSource -import com.twitter.product_mixer.core.model.common.identifier.CandidateSourceIdentifier -import com.twitter.search.adaptive.adaptive_results.thriftscala.AdaptiveSearchResultData -import com.twitter.search.adaptive.adaptive_results.thriftscala.Result -import com.twitter.search.adaptive.adaptive_results.thriftscala.ResultData -import com.twitter.search.blender.adaptive_search.thriftscala.AdaptiveSearchResponse -import com.twitter.search.blender.adaptive_search.thriftscala.Container -import com.twitter.search.blender.thriftscala.BlenderService -import com.twitter.search.blender.thriftscala.ThriftBlenderRequest -import com.twitter.stitch.Stitch -import javax.inject.Inject -import javax.inject.Singleton - -@Singleton -class BlenderUsersCandidateSource @Inject() ( - blenderClient: BlenderService.MethodPerEndpoint) - extends CandidateSource[ThriftBlenderRequest, Long] { - - override val identifier: CandidateSourceIdentifier = CandidateSourceIdentifier("BlenderUsers") - - override def apply(request: ThriftBlenderRequest): Stitch[Seq[Long]] = { - Stitch.callFuture( - blenderClient.serveV2(request).map { response => - val userIdsOpt = - response.adaptiveSearchResponse.map(extractUserIdsFromAdaptiveSearchResponse) - userIdsOpt.getOrElse(Seq.empty) - } - ) - } - - private def extractUserIdsFromAdaptiveSearchResponse( - response: AdaptiveSearchResponse - ): Seq[Long] = { - response match { - case AdaptiveSearchResponse(Some(Seq(Container(Some(results), _))), _, _) => - results.map(_.data).collect { - case AdaptiveSearchResultData.Result(Result(ResultData.User(user), _)) => - user.id - } - case _ => Seq.empty - } - } -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/candidate_source/SimilarityBasedUsersCandidateSource.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/candidate_source/SimilarityBasedUsersCandidateSource.docx new file mode 100644 index 0000000000000000000000000000000000000000..cc386bae22c039a2a830bf77d9f7597cf0bdbac6 GIT binary patch literal 37262 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 t} -import com.twitter.product_mixer.core.functional_component.candidate_source.CandidateSource -import com.twitter.product_mixer.core.model.common.identifier.CandidateSourceIdentifier -import com.twitter.stitch.Stitch -import com.twitter.strato.client.Fetcher -import com.twitter.strato.generated.client.recommendations.similarity.SimilarUsersBySimsOnUserClientColumn - -import javax.inject.Inject -import javax.inject.Singleton - -@Singleton -class SimilarityBasedUsersCandidateSource @Inject() ( - similarUsersBySimsOnUserClientColumn: SimilarUsersBySimsOnUserClientColumn) - extends CandidateSource[Seq[Long], t.Candidate] { - - override val identifier: CandidateSourceIdentifier = - CandidateSourceIdentifier("SimilarityBasedUsers") - - private val fetcher: Fetcher[Long, Unit, t.Candidates] = - similarUsersBySimsOnUserClientColumn.fetcher - - private val MaxCandidatesToKeep = 4000 - - override def apply(request: Seq[Long]): Stitch[Seq[t.Candidate]] = { - Stitch - .collect { - request.map { userId => - fetcher - .fetch(userId, Unit).map { result => - result.v.map(_.candidates).getOrElse(Seq.empty) - }.map { candidates => - val sortedCandidates = candidates.sortBy(-_.score) - sortedCandidates.take(MaxCandidatesToKeep) - } - } - }.map(_.flatten) - } -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/feature_hydrator/BUILD.bazel b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/feature_hydrator/BUILD.bazel deleted file mode 100644 index bdd2de735..000000000 --- a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/feature_hydrator/BUILD.bazel +++ /dev/null @@ -1,15 +0,0 @@ -scala_library( - sources = ["*.scala"], - compiler_option_sets = ["fatal_warnings"], - strict_deps = True, - tags = ["bazel-compatible"], - dependencies = [ - "home-mixer/server/src/main/scala/com/twitter/home_mixer/model/request", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/model", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/feature_hydrator", - "src/thrift/com/twitter/gizmoduck:thrift-scala", - "src/thrift/com/twitter/socialgraph:thrift-scala", - "stitch/stitch-gizmoduck", - "stitch/stitch-socialgraph", - ], -) diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/feature_hydrator/BUILD.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/feature_hydrator/BUILD.docx new file mode 100644 index 0000000000000000000000000000000000000000..9a6867146c040d0666cfb86e1ded337e63e8fe32 GIT binary patch literal 36911 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 A!T0=A1Kg?!E8( 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 N84`inqqq;m0{}nbS~&m! literal 0 HcmV?d00001 diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/feature_hydrator/IsGizmoduckValidUserFeatureHydrator.scala b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/feature_hydrator/IsGizmoduckValidUserFeatureHydrator.scala deleted file mode 100644 index 80a41adf0..000000000 --- a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/feature_hydrator/IsGizmoduckValidUserFeatureHydrator.scala +++ /dev/null @@ -1,66 +0,0 @@ -package com.twitter.home_mixer.product.list_recommended_users.feature_hydrator - -import com.twitter.gizmoduck.{thriftscala => gt} -import com.twitter.home_mixer.product.list_recommended_users.model.ListRecommendedUsersFeatures.IsGizmoduckValidUserFeature -import com.twitter.product_mixer.component_library.model.candidate.UserCandidate -import com.twitter.product_mixer.core.feature.Feature -import com.twitter.product_mixer.core.feature.featuremap.FeatureMap -import com.twitter.product_mixer.core.feature.featuremap.FeatureMapBuilder -import com.twitter.product_mixer.core.functional_component.feature_hydrator.BulkCandidateFeatureHydrator -import com.twitter.product_mixer.core.model.common.CandidateWithFeatures -import com.twitter.product_mixer.core.model.common.identifier.FeatureHydratorIdentifier -import com.twitter.product_mixer.core.pipeline.PipelineQuery -import com.twitter.spam.rtf.{thriftscala => rtf} -import com.twitter.stitch.Stitch -import com.twitter.stitch.gizmoduck.Gizmoduck -import com.twitter.util.Return - -import javax.inject.Inject -import javax.inject.Singleton - -@Singleton -class IsGizmoduckValidUserFeatureHydrator @Inject() (gizmoduck: Gizmoduck) - extends BulkCandidateFeatureHydrator[PipelineQuery, UserCandidate] { - - override val identifier: FeatureHydratorIdentifier = - FeatureHydratorIdentifier("IsGizmoduckValidUser") - - override val features: Set[Feature[_, _]] = Set(IsGizmoduckValidUserFeature) - - private val queryFields: Set[gt.QueryFields] = Set(gt.QueryFields.Safety) - - override def apply( - query: PipelineQuery, - candidates: Seq[CandidateWithFeatures[UserCandidate]] - ): Stitch[Seq[FeatureMap]] = { - val context = gt.LookupContext( - forUserId = query.getOptionalUserId, - includeProtected = true, - safetyLevel = Some(rtf.SafetyLevel.Recommendations) - ) - val userIds = candidates.map(_.candidate.id) - - Stitch - .collectToTry( - userIds.map(userId => gizmoduck.getUserById(userId, queryFields, context))).map { - userResults => - val idToUserSafetyMap = userResults - .collect { - case Return(user) => user - }.map(user => user.id -> user.safety).toMap - - candidates.map { candidate => - val safety = idToUserSafetyMap.getOrElse(candidate.candidate.id, None) - val isValidUser = safety.isDefined && - !safety.exists(_.deactivated) && - !safety.exists(_.suspended) && - !safety.exists(_.isProtected) && - !safety.flatMap(_.offboarded).getOrElse(false) - - FeatureMapBuilder() - .add(IsGizmoduckValidUserFeature, isValidUser) - .build() - } - } - } -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/feature_hydrator/IsListMemberFeatureHydrator.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/feature_hydrator/IsListMemberFeatureHydrator.docx new file mode 100644 index 0000000000000000000000000000000000000000..15a4f3e9b57f8dc5f505741b08591131ed29d7d1 GIT binary patch literal 37425 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≤EQHAUXK)mQIx}n{ViWLezs8BGQ!k8%#-MG<5;&3 z_Jg75HBwu0@LJ?+5IhxV_TUru+7Jt2P5xf8{kmYGqP>j%eR$j0-NsQ4h+F5QrA=VS zs%oGP+7(a-$qA?<7SvHA)dKDCZwP_~xMr}IH2f~go!^8075#gV$Ald?K~c$Xl!o8% zf1vz*z~52+cNMst&Cm{C^Hv~uyc)n)Wk z$R6pQF4c3jOhP*t&}Yt%QJArL>;`h^m=RNBYKqP%c?ap*sQ$re=uXC8H;{nUyF6y9 zd}6z>L>TZc(q_}>?cn(|bZ;+nwD%4p5?@BxV+^?A#^d&Q%Gc`ic3|`U$mW)_a%h(u zvDkeK1?TnN;{oo($@}NaT4pDfKxW&<(@&-<*rqnKFIiPY?{->+U3ZU>h$81Um-h@5 z1X;{BCvNbY%3oq4%qm`6nL4&_E@OOujvUNCjy?QXzJ9i6|P(u)4$!i=^Kd|Q%tw}?z{2Be{$A6F@^Kg;bz}18z}KGdp4EA z-?}DtNK=g4<}t~2QQbv2D>(r+~_+VnKW^YnuF`^(ldLzVEC zVpu5R75-mXXJ$tPL?++r)gt9X+70iUPGR?e?=fn|=+{$`>eS)edhuVLB zv;-Sg%!YLi^jRW}^}aB}4K^oX4rnk$w#vr-ZqHeu9~JBN1Z7nWh%E{z)XKQ@$h4Y@7f1Kjto zgal9WvtHj0_;NfA6b5<^k_6rx#u43|*L|K}U*p6DvyOc4wci#GCL3Ryh4i@ys<{BrII1P!~rzSQCP}vs{No3RX_a+!3rEG4WWl~Ob^nHZ5`Lj) z#LaNoI$cuf>`mzGP{WyH^UdDW4Mqip9q`GVzCND~i{ybj2#ayC)ZnQjkmnI|Yp;tmI^@*&Y1>uzMGUaD;&ImAP3G&I z(1y*heVLt>$5R4-JU-uQs1K?y*l?;oxi3(YA+u7QL%Fm~5KMv4&DcAeGh7UG{Lo!<4Rb8|d+R41JMx>+;qOKnPab}kf?J{`z3qq@F5 z>MR?1anT-sy!iqyM|qW!SaYl@R=mgLLMW7r)ZS@(*}P&#X>(FAC6+o<+GWd=-n?Ql zuyKFiXzaY5!^Bec)7~xia6B$;Ck>u(#?@kZ^OL^OCPwX-kDrzw`OgvTp6TSe=V` z&xHr;H+3{fUe~iDw5HDHNjKAl$54;Oj;_k%w`aTq^IpX=uHtXz{4Lh!27JrS6U<8$ z(33mDb?+v(^;^kN+stQYXt4WtDujVb@&?z~#9unxICvf3oxTU0vG>}$PqYesvsFpa zKnh!Tba^Z}upRHbQywGq=uQJPit2k-T*P<~Psw_y`08{#JdUVh&Eq& zQPd&p>4JT&d)9z)_EcpP`Pv@L1LBk;ndr5NxGPVD@TBcreLr@2cR>68nEsnGQgo;V zKE5c?icSb+^LBq=Pv|L(t+U_nD&|fpf5^v4(dMOxe=B=Raq#l&-n)b7*}Fsk5iE&! z>IG#ubCpf-_??BUDV&5);_(zGp~z$j*_9*nK-h8f?ZxTm#Msu4v3C5VpPy0C54_}} zCsRI*&Jvm} z^`z5E%aFydCcQbbs2VDFB)~+hUtV3pLJt>dp|Y+HoOL{~&*K3Nqcgaso7q15S>z&u zR643Q!K+7=R>#?;N;N6Ve7N6_kj1WEOBcS;el<0^?EPWpJH1iiSKj7LH>UNJYf-vX z{{prP|H~~C%l~zB^eu4ec~>4RcRE(RwV#0C*3YgN3OLdXTQ*4hMu?S`J`@tM{vF

    4s!5D89iUF`?!>{*hJo! z3d1@`?{)2S@C)c5Wg~|iKOu7)F2k*6)qLsk>gBCNoP+F6-WE2ZX6!p`OO!?Gr*pr$ z-DUQ?%$ZY%>_36LfqrcX>l*?~7nu75$}p_B(>@;u3y$;Nx_SLWT2U9eIo01$mo1lx z;bzaXV-2gr=kBCz`CepK`a>_CkQnKBUCZl|hP2DcXe_0F!wAK9&GuuE+KK*d(JrPVu8DB8E9#xYMjIk_B6QSz-(qM$OR$% zEG64B4LHPjQ}EsCUNxAd3PR7Z!ur2Z^j?dFRflIAeFvu6H+aUD}KB)q#F4Y8SJ%e4sT zcOs(hi}wY)&?i~acYy(?D`Fcj7YO8m$j5k~3r%9vLO0@JZ`?j=!ytod5rtX1`T!%6aH0htq zoSi8|`$K*sO7HC+zwSJ{JY`#Ryt%@5Hv`+#?!mq{TCt?G&F1nW#$~m|t)5+1)lhn^ zifqvrthAumhmzV$n9z;}e3f6LcJ}~*(E%a7^13yx2GkYFX&@RfcxxR@6pv8nl2%lj zQ4_Hl4N==HP}A=+=JlZKYoY6B_@r7A^5)}zW0UVW9prCX;2$DjaYbsrDgnh|1Q%V_ zsgmo@d0e4sbV&2Ixi)QI!`fmIwh&K1%Jg0LYP8O3jF52npuaz@fJCPT z6r9(nl}gTf**U4{dY;$F>!h30C4P|qI1)lw8wHz$1$=QOD3iSWiYp8q@>i)v5H z1LkyYAr|y^$F4)0(s#FR4gmhZ<>z8viyQG6Nt*51TvK1GnNJ2cA8F z$3l3A85svem;O24xz;u)!)62oT8FD28_OmsY3@9A*V$(1N&UQ{eDA4?x5RkNswZ=c zuMT*bVX{`avK=wp7jH~<-aqTL-!hT5fB#M!@#EScHit!77)^uK%f3>Nx|}$5W%%@w ztUvyGG-RL0OHfUuF+ys!X>_jads?s#Tc{OpZBXaskiV=54L~P9VE$=}fJpa%t!hO|^R$>0Fy!t(hUZ0LKI=q)VIrc5%+&dXLRPPb zUSC$JXBFO`-RQ0jIqF`?L?$-3k0G(FKW!KcgF*&ESntGmrWy{?KZk(8`p6L}%5946 zIzfB|2>rnSMu z*`R%lK@o{kNoN)_oW&SLus4Dt7c;yi4?kVWuBNMPZ01TP!K6rrPWLDAt`?3=Id&Nonujx}JV1T6x#nK?;9F5k058)6VjtSR{x zS2!Gm6pWt(^cuIwd!$mYY0?H2CS$I{)(R8nd6g>|hL0_T*9KLSJ%lw#Cw%}0Rr7T` zAN;A7G6xP71Sd0qv^TV{7ME$EbNUs_%D~t?ih~)G427Gd-NO;@fAWzLg)pXaWzx}xlz4AJBn^y} zGwMYN_@siv-X4M*jS?^thrnm}LwlhD1=PO)7svSAiar`MW9dWB>jF8o+KIsISv7(6ZkO{Fyx;%fJ*#MkMw(NWGHQRV@78%>^^nF zyGg;BkE6Spqqm)-r(0?=EJPNj{C@YwAb^kfhd~B8J|-HATJl)*nC@}oSTyE<+!~$snds-3lAMW} zs6PFP>}mBnQ$^z{jYjIDttstbKje>I)DL}M8IIoZ=K5)lzBwGx?QRb?gxa`x#DsxG zhtb8c&C8k1;IW;~G2%`m0&z-s{U;h9-+M1qeZTKRvFWRMZ&JwmeXRN)0z}XUiN>mc zBPhz2Gy06A^}7@V8QWhnPsQE7T2VJIdym}vk5dW}qu3c(sTs%EcqXSCJ}h`1wskv7 z7S=Z}yxqRjGuzYh9&a_?Z%Wx7)qsh>v`=t#JKg%ht9eiL^v91DpWHp(Mm^pF`12HG z&Sl$E@ROHH>r4UWQyOeE4SV$KNp~-1jDr_pt2^PV%tDlS2BzAY=9vbT(FG2RBrp;h zCp5A0SK+yn^YpZW<-`9=9-=yyMTT?-pPft*sm7Dp+ zTwf_&l!+fJaFU;k6-IJ5zq}=4?L7kVhA-0c&|;X`7#Y}Sm^nu0+CC=?`nbt?ya8QH z&+5s@x_R07`BGEoX*bwvi=?*G9{2YS z;d!5j8WCv~G_1cUe{3A`F*hBL+hU$ z)ODnhO)e#iosG4LiHm9FdAj&!Mjt{XMV(c!%l;P%&AmACHmQWZtl$lPw+7enM zScO_oY~ki8GbEXhE+N<^{+}v`Vdtmy(?4?rS(=~Rt%6FqeIA_WUqG3eMolBhTn0xl z#Vf>BG)%S})i78usIEhpXYj@qWB-Hk(lHpt+E0Yp7-DJ8EJvCt!qMdNd;wC-N4j@P zXccaL94?D8a}El{hB%Kv!y?0RK(BDEm`WXH2^3NI7skItoC}L`{1E|U_5T(TGc495 z+oS)t0M>lic?9}yBJ+(RwsVx3%MjW>wA`8e2>n&5DF}MV5$C4~oPasTr+(p5(o9fD zi3s!FbW3;IFF-zj;zMzeW*UX87E45z^^QGJzJg7YW=8B|6yoCkEynr(D#lWSUa_zKAjv`)_S+{&P*DM&29jO6|PfcpJPmYkcLq9^T%j_Jy*pkef`Mq#dj>SU%S6TgG#v0b>jI3TGkH27;GQ8AAi- zPRo&b<%s6P_>7`P%FYd;4cvrb)fSF;+d-J#>y=8X7zTG6qN3Nl!omn((!|;%Rh}<( zyKRKTwBDDi%U&Pv+c7g=#9BVZgXJC3LHZrGB)jd3IKpFRN;ty1@hE(CR0&t{8rZib zrog6XL(LC3rehOP4Ryj`1=nvy(~pTO26$G%cO26)i(_giZV!f( zDs6wptl4bbM^V)O_9Wsd;)xH6M^i_(xOZ(aC4rWVEo>QlC*d@Rvc5iiCwW!SjYlk< zbElqWG^L^+iD#SN9Re?3)E$C{(_uD3nctm#6?7MP#|6frs4reRv^AR=LqWsrKZkJi zSVTj>`dnZ`f3*Bl>O8rvGh8P3PFYnE^oUW{67Pu7wEi0-JrU^9ku7mDcJdz;cXVuo zf2;5W4K~-e4Ih$LeSN=sRdiSWmkyQu6QGWFmw)ScpV(|o|99z>v$up*1bjuZJ&HW z+-u_B7_zMAGN-M1Wulwy>^dO2`o3-bz%ZCzf8*R~0B}hit0h|U<>CoAfLdDvjNUwV zacgCQY?Vy=hfz%I@Xp+oKk(URZ6sre)ZcJiLM7M7<1YX|!mRZ94#(&HHZEEZ#VC}d zSYb-m&uG<Y|NItNZBS{D<92oFWf zDF;X}bQEAFH(sE{ti_8I2S^n`YQEvPHJRb1EH$T}mjoddgx+>mbFTaFGcGr?AfVXr zkSrx?4&C1&n0>Pd=R~oQx|5G`Arx)Yno6{xmw?1SW8#$m8pkvlEqj-brX04lrf@o46#$Ki4-KMmU9f4I8Y3#Hr+~i%IAhab$7jLRD8BSikd;H zh>Pr7HH(zT;Z%BD=SWvrdixqmpESxwGOQD|EX`oqsLHSySEeEH4daE% z7|JhC+DCEDAcGI%A;GjztT--lxzX5UeFmB)s;r@weSxFgqL!*#M8hzQ2MA7$)^97_cK+XF@i1)Od-Xo4YXr#D zk7q9>Sjkkw^_Aga(`QUQCD|2LtEf{fhV=O|aot1Q=hZy4#;GV#5b5V(Cc=VW zc9P9zZrj{DIBmUfZDzhCmy{MdMl*{yE-WL#pJcCD6@!;mm5o{y5txC+i&Ag~DP~l0VTO5!eJyWM6iYXnCSE!7fN1A$8N+~5EsIq$F z$`jUk5Jby56Z0)c<*Vu;V7e%$^r|9ECR-~tP>W;2GQcT|YenTpzEny3)0y9hN?>9h z|9AwOX8nDfe{L_EYsjrGosE9{;(d0+2Pf3**W<>yHI9U6D!8BoAv*yX9V}$zB>tBiTz`k#taI+iI!})IVzr zJH_X}U{e0Y_W<$_@>W;moeP5Myi_F*en?UHTPU=$n+=?L3n*;6Q~_h%GF8DY)gNo{T#6yLOmV54Ag zkJ{9}@6-C1eZ84R{8(x&ut-MZV_M&N~3 z*3SsSgJ)vu+US(o9%vy-<68#tjwE}!q1%pQ1ZYU{V6bIBcAW-E5Pm)TL!!lg@*I$+ zB(P^=V&1#C{|aW;@cdWIgo&+!=|dz~Xf%N5!Z>iCK}q|t31$*MPER-2sfwrcM`L*KY$%dF*TTrC1hiQ65mtVj;dACcPBDo(w3`6w zO9ccky4;8rvBa+BvLzvFlI*RiNJgm+?ol1wp&<$FXh5687p>vLh85jqh-y6}pdnFY z-naEv_nk?_fp>W=VX=X}+m(2f~q00j{Gj%kG%0-e1A2tg@kquDQU{@N97+i}h z+kArrn)S`>6!FV6=^hAeyrUOVt|Jz3xA|FUhIq%z3J2*d_^`C-DOsLZpF9$5!2RE0 z$tpy(5-|P>%a?Ib@gs$S&NqNnDp?uRQm@jvQusGph%#hmT2&OCt#C5}T^^_uPfod) zbzv~NWP=7;iRu5>XMT@COT0!=3^_r=fM64aEh}Z%u&jT@1xcTYGd`gth$Y~`sBkFF zSiGX)+FInjJLR1bpz<+oK@x#i_6o~K#GMhH3*J4XjzuXHE@~`cbM5x5rVs} zt#Cn*)o{Ud*1n|!_BCTj*h86u*3qz+XY2w_!9$Tk&tCgjMAN`^dW%;X=)F zwZ}p8{U*P6kc8qY7s6RAQ2qL|TP(hjz5D+PLgW#D1-*q{WR3g*2 zV=G(;7)a>vKmrk|-)^Bzbw2|?8^%9O+==IRQ$#bZp~u6#^t?bCF65s_`fdo(kqITj zVr&sYDFqVs3w$3ry~%w>>kqej(6VqLl6ONs2~|kDQP3os?jBfQ7&j=-GcsArJU91oO9J!mkBYx6ss? zBhSemCn0=6{I-C%vTed1h~bf`vq12Vk5rzeo7q2dZlUoVfvvHRTxtT8qX_qgf^^)JsNkV#&%KY_&$*9mKFtgSY+v(zwrbgE z3PL(t?;5f?;u-RY=iLHilPaVhT580);$n6Adt_&s1r7OyXtf%=H_RfIny0i=CVt~H zXvsj}yrL>ieDJa@??`~`wJP)8_kXW4`d z2MUUT^IaL<8gY;1$yq61I8YF>EIyMJR$vF@Z*Uqz>M_lzF zVI8vIuxabL0jjQY8& z#O}t-cVS3fgAG&PBlbAHtXUELRvF8=|38C$0+jJy%nw?HF4~4HPOB(l|BKFg#MT;N z?Ai|>&*~f;fJ<1;vC^gd7`rb^ztwf^;wBWP$+>eu0hv1ocbI#n_8_t4yH3W*(E9*dH0HQ4j4_dWakYMH z1K35(06a5}nOSa`o-%3uKw=1G9nAc;X7pg$$G*HX2^X`_mzq%M2#%Ru7aVN? zkUTSbcv3twPYA{3i$0prLOq0Xl<>407J>$@UwUP>Oum)waD6jjx;a_YcT$NTS2f6h z1l%Srg*0oG0cZ|qjO8|c?#*gkTv=TfRNC|hV3+ahs*5F+V;|i+$he)gP2lna>4vn| z-X4e-e|#h2Ux6b4kS@(JOFY&44`K)emiRy|NO2abH68_<+IdVBjZkZev`pF|aB=5U z#xclx&?40siCRGIXzc9GLgN-?uv^Jp5yEw|HWT*GEX9muezto3{5hrzqsGVXRUJb-;e66q+$p%RA4fHDFyxbpG~8pa zbB)R=1=*D>4JFx(DE(Q6I@%~;8bA%z66~NZ${3(+oTt4%-SeEDGmq^RVTHu7gQSJC zFevCJxLIht0Ck+7F)mV@qwq}|B;0t;BA zRx(4Hl-?W6rKKjTnWCZo6OtMjlJ_jl8BL*(g|5oNqYL&kZ-6t{kr;x5IUV&u1N)b? zABgNWq$0c>*<5P8v84KDzA69#y=pM&u#MdeWD8 zPi}CIOcy1Pf$1Wf7YqmTQL(|KG{&g!^!Dm~OMZSf3_bN`RN|*4tVwB&WOR$m z+0jcF+$I=;~e9p)Qhy2bs^EA3`1q&tZ=lskc=Gm=`%> zG(a+~kc;rLit^IZ)@lPOEop}QO-W3Q07U~J=8B7ZBv$+t7I^Tap?*^a?9)7vacNBS zMF7tdP2N5Ik>s<;OaZ(W{ zr3t1j*jt?ky(nm??P#fmYTSS0bsRcIbc!X)XTwDVtCIyxSxZ-_n5>DVbn&?&+zOW_ z@Vl&MePaK*>SLe#Mav_U;HX!+P{Rl0s@MEX@qQ(tRfJ{NiOy4;O1Uj?yPQHTWLD`J z@C$g0q$8(Ym6G1gm(%xG+|K~rcW7m!g6t54MOoS^oWN8pCJ4qW6E$8GmA@Z)5+ZV( zD1UBYCMGAeDlf8xOWekPBxF*SxwRBF9wrwmVvJkueU4ug#JUFMh5YNWY=&{D3eFp| zADr800BUGQ!xg`{1{=h(>sM?(VWr0#%fMSwJ_72j-HvkD9M^&>3=o%K)50!{5dKDk zK4GwNe?<$^y>J6@5f6t6;fxD;3DINVdPCJZRj5F7TAZ)j-=yO#P_*@*^wQ%CSO=gVkz#YEdC-@d5`R$9hgmr3(31I z0?1LdJls~aB`Mouh%`?7+mLmHKYUVv2!9z;nhFl&BfXjx%x@a{m zg&Z0`;eITHDNY+lg)=}WA8zpnj|Hr_ukx0d(gt|NoY=Qwz*$MMbWT4$Ja!=WQwX;V z^;~@pFI3XAfU(6q)EAC+^cu6cKmQaKU`KpyNa>6Ash1G z%5CT)GMmA~*DM~DBr{BKvr24aNFP*|R4>i5h)c$VgaLQq7QufA74v6%s62I%PXkNOm?zjh zq&)p3liZ^*PV+GQFLk(qf7FSh{BL!(2tai_Fg^Zn=a~NiGd+B9NpLOu8^|6D7y5oZ zTE64oq}Ukl?);K+UO)avNy8!`34=ax5Rent|0)3HV&>{kZ(jzq?)H+U1Hunf9vaY86Hz$ z&PH_4M@%smgkuhz2N9#Cr{lVxUoEqJHR51N4Uc4@H5BCY$Nk#*esv(oX~<}u0qTW9 zb#&y@-lATT6hYh8AJGvH2N7sf!Q1ewf*T$1;8HVMau}(pttfG2ga#?XcDXtJT)#qg zr5nx5*uvp#mm^KLYNP%6=K*U5=oczV;>$%skrPOqEG7PI9+0Sni%m3m7<|ZR zUN0nBD2SY^#TY7rj3dezc}N>&_TOTWn=(gR-wN|XrWogooAX`7Wgc4N2dyW%^(jA6 z-2)hw*M?UH;|T?<*Ob&Xf{15PT;e-~bFB zQY1o5xH`eXG6!k-c*8~1CY~+dVX(y{UY?smadYq84M}I^S@g6cCQ=B7m_{91XS(&A z@eQi9{U&M=;>|?#uxTLao=Zkhx910BOBCceRNQ!gwlnYIOk4~G9XP?`0C1)pbw8mr z-$mlJ1iQJI(-(60>;OdblJ~9K{T|iG6ofx2%xbh<>msbr4%7yDt{E!ok(0eUDxx-Z zU^g8l6&WjM`L`Z`t9}Jrr25Peh^2qqcU|yOHRgxnHnl1LQ{Jw`U}6i3>&ko^4RXqT zhn(1q{*(xWeXZoixM2oUkQ%(ma%2Kt-x_5m`yPHRyVb||~i>!N@x_1D|YXnRJ4 z-_iayaGt{N9-R5*AuM0kAZoqno1p#Ev zyLa#~QRToin)P!c8xCPtvPdhkBLO9A3ve;i%*#)9EiRm{2P)Dt(u!?Aycwol>4HD& z?b)Ez_wz58Oo@MlZJCVH!0^MwU}avyC0}h6>sLa)Abk#x874EXU~7~==+Jb@dX zPe8b)NidI(YJ5&@A1su!1t@ePE7!NetbMJeAzFyJZKL6dl^JB8Yy!n!@w^t1L}i?r zoR4eWEMz=|K2ZWw>K;3Fn1wO(%eZ?dHcftz;t3TXYO-rqcIswW89zpl7Z+u8K_5_t<2hs<}~ffgR)a`Bp%zWa_sk;#;(Mzdl^3KuCj9&Y3xnsi;P58%j( zKX`G`S(2J_WY$n*TPmTLR0iG3WEo1QRWY1K#ztqBgRWH%e50Fd+jED!nyzrr2wW;_ z&yCfc58(3v6}T5QKUBK`E8BhiehK5|)q_}9 zTcOJ>&^~lg8mZw0%bsWA>BfqmF0SsReK*0w=vi>@2v$Bmp`+gIcGRzHmTjLqa(1@2 zu{eZ$aeH4j#%%DRgw6G|m}up}O^4mdjJ}XJVv0Nzznx&@W-^E*$6k64$#T38?z{233+qQqd!NB{U!I`7974qF>>U-F zbVT(eK8q)R{Fc>Ss!*%`uBxHq;XvxWV5-Vkb^X2rBpCBd!;hn{5#QWi(|V~c%Dm)j zB`Uw({*Pj=$s%O!qrf`SU34HInEyT{T`kS*%$WZ=vi?=!Ok3VzgA1qkrv^&r;nK^7 zTV$vB<=WLsDI!{%Xk4?HjxCK6$r(j2;+0dsztL9x5ZqW<(fw2{E!r zLC}dSPzp-u#!oII;&BJWKAYhcZU4enPyb~o5_wHIV5VXKwB$UG> zf+C~2e75F+bFcRD_&AkiWmTEU0ePcew|b?v&_%sB*IFV@|BUhITeTo99S=6b0h#DJ z72~`mm6TGNs?fB3=8AVgm8l(Cnyau#$9;jXhA#g}bdjcB-lAy3F4GbZH`82D{^QQ8 z$-dZ%%2GG*t;Yuqv*k>9kpzvU@X(x9R<^NOdA_b_Nh;gji7d998OyW~npk-y?V@=L z7Gn+C7%v~SnX(ohmWa)VLZlsTU^sCpd*=QmS<`<50lLucD}k_sX_JT?=sRQ>?b93-(G9KE`9(EWRLe4Q&Ob{vv#t`jxw{H)v#OO}ak-yh+x-=IE6 zEHQiQXi<5|{T|z~fXnMbQNc=|p0)=VP zwVU24c>V5a7U9uatDQ|$*gw-9vw|>5@&}Ji}#4LBx`A)>*?lBAe?!;7 zUpI5~Y-+t|-csN&in%a=zR&u5aILNR3vQ9ho6#s#27kD5i84+#~}rU_g_`^Q;$#ley$*j}8JwZU6c5Vfyc}jIq)O4sH{n@PH=&^&mb1u1J_}^eI!9|bXA_}z z&WVg^rPceExVILSvs9$b{cJ9*>8ANU80b*G6}iHV<+>jf)Y`IL&c$Fjly4VvNGR$1 z2-ZQYQG=S;u+wTgurP0Z2|4yN!Tz_KOJNy!jjeX7%~N(Q`T|sRl>GQsIFD{hE7L7v zX(iYBBxO~Ln$@!Ql6J~ZwW!kxls!w1&#f#Hp2l=7ZX70bU9My(8*Vw^EEMRi;3aP7 zN_>3jQ{Y-|@BO9$6|-z=%s0nislGoP%3bz8OMzj3g9Fg_ZHu|CM~5FNcn{>?%{xv? zR5j{d5q@VXYs}ubez4=NA{>|Gq&9)k(Ffo_RPr=4P6o@Gb;0Y}{>F z1qb>3b|WPEyJD0#je399R`yU$?sAvaP?O7Ok1e=$WP1CRr^MNeh0vMXVsny7#C;t>dIdGM_&)x%Fa=RqDp~pV%Vs`r1*6o(J?rUZoc55Cmeeg34Kv7Umfyk>@+`$ftr6c6}C>( z0ueG&NsP8u&C<4Y)XyJe){3L2g-y??WT-a0KX+`abArj}!&^d0mk^%6c1x+4l=`CT z1A2z1q&VZB&C>Zm5s77Bx#wX3Qu`;y0`Z~|xx+zr>M{bz73|BBFmYa5&e0Y~R>M0Y zUT z0K`A!eQUW z9dVii(JMy+qii)&y{TF_@Fba!ttk7}{nQC@6j5K8YN2?Hu4))_w+g+VQyBy}p7SCh#k*RAo|*kUfL^L^pD zkF<+gg+PM*-pIBXhX{7N!6~ylh_KVff1H`FxeLvNC+so3fg^I@7G#=g|LUN7?#2pt968&=QJQO{FRz^GR77ldYa z_i=KNkMq^?30gt&b_7w5k@2{??>LRsEJ86MQQQ$7Wz5{3ZgyKtw~|ZQb9+G@4e8@g zW;jicrg4Wu+8et(O5PK{p&uJ?AQMo zrNz&MMc4r6WFmms-G9a$_HK5@X3oG_nZK&CYi`-^^WgOClnEzD=(a>8aX@f17YeKE z#Ym91+=Ecz)Su^#v$AYn%U+qx&{yXOl}ED6p}9}Rp!@CczWV@PA%DHz1SM`GMPRsa zT?gru?T9iQ%TBKxy#Gu)rMmp747-ko_HC}+PuS{X?>%nzH|oX$BpO{^8I302ck0`< z?@}4jw)`>N;e!vU`Y)un-9)MpD6M6jB#OEkU`vEKlk}zlFM8s>HwH zwX>v$`-{RAh6r10;U#;zc5Cb$W5O@^@1%FmQi>Tx*ivEzAQ^HdM^#YKnPwo|F)V*3*Oq5eil(K&9DsjO8W9ZGuzs%tuE4dVygxh4 z8i!N<%`nO)Sz}aj5llZKa>~QEBWP}1N;xMcuDNALqI2=?;3<-kd%LlIx9(AR!aM>+ z)nE}blKUIL-u!2>qt#^4iV$ zBdI79vvhCwKm6W5keZ1jjKg`7D%3e+8eXt&ee&S}Y^P#YFXmwE6?qMqs*%8KH^k`+ z)xqZR)pV9Z;kwWF7^fc!b0%1yc4qkQTJ*So!}LN?8T1_2I6)mNaa^1VXZn2F!R@+j zQL}i3sYQ~j4UN&u;Z5rQI{kYM)4)T+XNT}B-$`Yx`$sRlyaWP1{vHxEsG`2^PY=CY z*Ot3IAwE3@_N1J5d#?lAj=K7M6AQyyT&$&j0rtyUsHf|(C)DHB{_E*_5kv--p>Djj zegqdA!vb6=YeP}?Y2J`^>W_l$5BPufScT&&7Cn$4Ai*RcAlSej3s|`OuWkxB@&aC; z_C{8=OxBKO7FX&vj_7I_f?eL+w01KnG>jO~gI#R>#f+cn!MLoxmnL%+GuAnUN+-#q zXHpq`Sxg1wB)ot;h6(t5G+?N@W;-d)2l6S43rj+yz+>Qyl3Cw!3Sbz3-)?Rd!zuvTGUVZlIFAm03_BcB2G zf*@3op5x>l_z7(wH=tiMlR;fA=Je+n!V)fih~<(R2aeAquU2)Z-|?j|t8s7w=$$j8 z2CiH@{2d!$_ZP4}Xm+VnvClIg)i;O7KYJrl;ihSBBnRgK|=PU(F_OUNhL|V#XB>lK2CO{#w9HDo zTb>$0n-aV*bdAnQ!tthrI&{%*betBoDlo}>%fB|a>o3EP`X8aeQ!uUNj8P~`Bu1Ei zTTd=^n5ITEE9J`zmM5&G$Ih6F$9cgZ3 zkDm=1iH3)O5g`=ZLJ6KS1fxz4gk(h^^XlFW1JQK zf6abw?`ocPf#DX?ms>o<3@6v@c|L*5Xu8M*CxeMUpV%4oi!9zc;f&;r*B(*x*Oitj zoYU$^2w4@)GwtimiF1xry?w;B|M!8(&)3b8-KCeVIM2U`-Qf`5k*Sv_zrKI{+rJYo zJ#v>y|3Cavn;THN`QNAXA9efK=kNV)*{g$@g;ZW&Qg&OOOASYM$`+ z=HCssPriL*$1c2m_UmVMPrd#}VTc$s*p=Hq953wjb_Iy6(O1DF5jXlJ8$V$X>Y%c=6T3$dwL3Rx&MDufO?! zBgd%iiO_G;-P;=8J>B7yep&Q&*MTLoS7~2)`s$Qs|MTUuoAx=?+*)_5^qq8wg38KC zujj0LW3?;%W#pAij8bD)-L>zbus?^WZ%lP&pE+@b*oq=+rF4*c=ibwi%*xg zQD>7%hi_9l+lBWFs$AkrwCa)NKKe7g;dA-z zux;y)y$syqmxASk8Vqh8xO}tXe6kz=2O%|f{(@7H4O{CJ469Rf-fp^)FM5;DY+b^< z7Y`oI30-ngIAQ63xxDNP3frZdJKwP-b9HML^$12NAC{c?LQbN4=ciQ){}NLp`aW3I zo|aQzvduJN#@4=d`zXmFKjd z^F6a(_;&k}w6tECskWJ)rp(#B?A)H}Yj2tkRj)a^ZPF#9>dI2zw~thRRNa+382$e9 z`YBI5f{RbTy4EgN_vGT%*K*Z0kC!c|M$)5!|`8bEUVUhuekp*|6I-QyWjt&*IU#-e6)Ul?61H5_Wu`^ z8Xn-CVwVwngQZQiMY$?U{IFSYin;R;tzfa)&d9GOb z)e+~FGlkQ?`C9pV2W#!#dg#{w;8f;T)mK)0FJ(+#8>7>@ysfVA3NyR0VIjP|3O7t*5KTr~;zkyN17DY4K@sjA~pwE*c%$ZpPGY4rB1zkJ( z#0x@udl^(a+B6Kh3Fs3M2orXeLrp-LmO$5!K5C56?^6ZUk3NQsZUlP&8)1ZNBi7zH zx&i1NU4#L$O~?jd>-M6Xh2D2Wm?hSXY!+%y65SN^t`@=+-4ILxt-nRtI literal 0 HcmV?d00001 diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/feature_hydrator/IsListMemberFeatureHydrator.scala b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/feature_hydrator/IsListMemberFeatureHydrator.scala deleted file mode 100644 index c9e529de5..000000000 --- a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/feature_hydrator/IsListMemberFeatureHydrator.scala +++ /dev/null @@ -1,53 +0,0 @@ -package com.twitter.home_mixer.product.list_recommended_users.feature_hydrator - -import com.twitter.home_mixer.model.request.HasListId -import com.twitter.home_mixer.product.list_recommended_users.model.ListRecommendedUsersFeatures.IsListMemberFeature -import com.twitter.product_mixer.component_library.model.candidate.UserCandidate -import com.twitter.product_mixer.core.feature.Feature -import com.twitter.product_mixer.core.feature.featuremap.FeatureMap -import com.twitter.product_mixer.core.feature.featuremap.FeatureMapBuilder -import com.twitter.product_mixer.core.functional_component.feature_hydrator.BulkCandidateFeatureHydrator -import com.twitter.product_mixer.core.model.common.CandidateWithFeatures -import com.twitter.product_mixer.core.model.common.identifier.FeatureHydratorIdentifier -import com.twitter.product_mixer.core.pipeline.PipelineQuery -import com.twitter.socialgraph.{thriftscala => sg} -import com.twitter.stitch.Stitch -import com.twitter.stitch.socialgraph.SocialGraph - -import javax.inject.Inject -import javax.inject.Singleton - -@Singleton -class IsListMemberFeatureHydrator @Inject() (socialGraph: SocialGraph) - extends BulkCandidateFeatureHydrator[PipelineQuery with HasListId, UserCandidate] { - - override val identifier: FeatureHydratorIdentifier = - FeatureHydratorIdentifier("IsListMember") - - override val features: Set[Feature[_, _]] = Set(IsListMemberFeature) - - override def apply( - query: PipelineQuery with HasListId, - candidates: Seq[CandidateWithFeatures[UserCandidate]] - ): Stitch[Seq[FeatureMap]] = { - val userIds = candidates.map(_.candidate.id) - val request = sg.IdsRequest( - relationships = Seq( - sg.SrcRelationship( - source = query.listId, - relationshipType = sg.RelationshipType.ListHasMember, - hasRelationship = true, - targets = Some(userIds))), - pageRequest = Some(sg.PageRequest(selectAll = Some(true))) - ) - - socialGraph.ids(request).map(_.ids).map { listMembers => - val listMembersSet = listMembers.toSet - candidates.map { candidate => - FeatureMapBuilder() - .add(IsListMemberFeature, listMembersSet.contains(candidate.candidate.id)) - .build() - } - } - } -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/feature_hydrator/IsSGSValidUserFeatureHydrator.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/feature_hydrator/IsSGSValidUserFeatureHydrator.docx new file mode 100644 index 0000000000000000000000000000000000000000..3e06376f842938ba358a9dd27c8afcf2b8ecd731 GIT binary patch literal 37501 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

    _Z*@i9xge;{OI7mVhZKdsg+ki| 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 literal 0 HcmV?d00001 diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/feature_hydrator/IsSGSValidUserFeatureHydrator.scala b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/feature_hydrator/IsSGSValidUserFeatureHydrator.scala deleted file mode 100644 index de70d45d8..000000000 --- a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/feature_hydrator/IsSGSValidUserFeatureHydrator.scala +++ /dev/null @@ -1,65 +0,0 @@ -package com.twitter.home_mixer.product.list_recommended_users.feature_hydrator - -import com.twitter.home_mixer.model.request.HasListId -import com.twitter.home_mixer.product.list_recommended_users.model.ListRecommendedUsersFeatures.IsSGSValidUserFeature -import com.twitter.product_mixer.component_library.model.candidate.UserCandidate -import com.twitter.product_mixer.core.feature.Feature -import com.twitter.product_mixer.core.feature.featuremap.FeatureMap -import com.twitter.product_mixer.core.feature.featuremap.FeatureMapBuilder -import com.twitter.product_mixer.core.functional_component.feature_hydrator.BulkCandidateFeatureHydrator -import com.twitter.product_mixer.core.model.common.CandidateWithFeatures -import com.twitter.product_mixer.core.model.common.identifier.FeatureHydratorIdentifier -import com.twitter.product_mixer.core.pipeline.PipelineQuery -import com.twitter.socialgraph.{thriftscala => sg} -import com.twitter.stitch.Stitch -import com.twitter.stitch.socialgraph.SocialGraph - -import javax.inject.Inject -import javax.inject.Singleton - -@Singleton -class IsSGSValidUserFeatureHydrator @Inject() (socialGraph: SocialGraph) - extends BulkCandidateFeatureHydrator[PipelineQuery with HasListId, UserCandidate] { - - override val identifier: FeatureHydratorIdentifier = - FeatureHydratorIdentifier("IsSGSValidUser") - - override def features: Set[Feature[_, _]] = Set(IsSGSValidUserFeature) - - override def apply( - query: PipelineQuery with HasListId, - candidates: Seq[CandidateWithFeatures[UserCandidate]] - ): Stitch[Seq[FeatureMap]] = { - val sourceId = query.getRequiredUserId - val targetUserIds = candidates.map(_.candidate.id) - val request = sg.IdsRequest( - relationships = Seq( - sg.SrcRelationship( - source = sourceId, - relationshipType = sg.RelationshipType.Blocking, - hasRelationship = true, - targets = Some(targetUserIds)), - sg.SrcRelationship( - source = sourceId, - relationshipType = sg.RelationshipType.BlockedBy, - hasRelationship = true, - targets = Some(targetUserIds)), - sg.SrcRelationship( - source = sourceId, - relationshipType = sg.RelationshipType.Muting, - hasRelationship = true, - targets = Some(targetUserIds)) - ), - pageRequest = Some(sg.PageRequest(selectAll = Some(true))), - context = Some(sg.LookupContext(performUnion = Some(true))) - ) - - socialGraph.ids(request).map(_.ids).map(_.toSet).map { hasRelationshipUserIds => - candidates.map { candidate => - FeatureMapBuilder() - .add(IsSGSValidUserFeature, !hasRelationshipUserIds.contains(candidate.candidate.id)) - .build() - } - } - } -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/feature_hydrator/RecentListMembersQueryFeatureHydrator.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/feature_hydrator/RecentListMembersQueryFeatureHydrator.docx new file mode 100644 index 0000000000000000000000000000000000000000..1294db70cdf75d0fec7feb825eada1f9c9c67646 GIT binary patch literal 37347 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 literal 0 HcmV?d00001 diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/feature_hydrator/RecentListMembersQueryFeatureHydrator.scala b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/feature_hydrator/RecentListMembersQueryFeatureHydrator.scala deleted file mode 100644 index 81a5ce504..000000000 --- a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/feature_hydrator/RecentListMembersQueryFeatureHydrator.scala +++ /dev/null @@ -1,43 +0,0 @@ -package com.twitter.home_mixer.product.list_recommended_users.feature_hydrator - -import com.twitter.home_mixer.model.request.HasListId -import com.twitter.product_mixer.core.feature.featuremap.FeatureMap -import com.twitter.product_mixer.core.feature.featuremap.FeatureMapBuilder -import com.twitter.product_mixer.core.feature.Feature -import com.twitter.product_mixer.core.feature.FeatureWithDefaultOnFailure -import com.twitter.product_mixer.core.functional_component.feature_hydrator.QueryFeatureHydrator -import com.twitter.product_mixer.core.model.common.identifier.FeatureHydratorIdentifier -import com.twitter.product_mixer.core.pipeline.PipelineQuery -import com.twitter.socialgraph.{thriftscala => sg} -import com.twitter.stitch.Stitch -import com.twitter.stitch.socialgraph.SocialGraph - -import javax.inject.Inject -import javax.inject.Singleton - -case object RecentListMembersFeature extends FeatureWithDefaultOnFailure[PipelineQuery, Seq[Long]] { - override val defaultValue: Seq[Long] = Seq.empty -} - -@Singleton -class RecentListMembersQueryFeatureHydrator @Inject() (socialGraph: SocialGraph) - extends QueryFeatureHydrator[PipelineQuery with HasListId] { - - override val identifier: FeatureHydratorIdentifier = - FeatureHydratorIdentifier("RecentListMembers") - - override val features: Set[Feature[_, _]] = Set(RecentListMembersFeature) - - private val MaxRecentMembers = 10 - - override def hydrate(query: PipelineQuery with HasListId): Stitch[FeatureMap] = { - val request = sg.IdsRequest( - relationships = Seq(sg - .SrcRelationship(query.listId, sg.RelationshipType.ListHasMember, hasRelationship = true)), - pageRequest = Some(sg.PageRequest(selectAll = Some(true), count = Some(MaxRecentMembers))) - ) - socialGraph.ids(request).map(_.ids).map { listMembers => - FeatureMapBuilder().add(RecentListMembersFeature, listMembers).build() - } - } -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/filter/BUILD.bazel b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/filter/BUILD.bazel deleted file mode 100644 index 72a5f251f..000000000 --- a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/filter/BUILD.bazel +++ /dev/null @@ -1,13 +0,0 @@ -scala_library( - sources = ["*.scala"], - compiler_option_sets = ["fatal_warnings"], - strict_deps = True, - tags = ["bazel-compatible"], - dependencies = [ - "home-mixer/server/src/main/scala/com/twitter/home_mixer/model/request", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/feature_hydrator", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/model", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/filter", - ], - exports = [], -) diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/filter/BUILD.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/filter/BUILD.docx new file mode 100644 index 0000000000000000000000000000000000000000..ca3eb26a273fc569298c6caf5d86c34a636de013 GIT binary patch literal 36879 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 z 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 - val aggregatedScore = candidates.map(_.features.getOrElse(ScoreFeature, 0.0)).sum - (userId, aggregatedScore) - } - - val sortedCandidates = candidates.sortBy(candidate => - -userIdToAggregatedScoreMap.getOrElse(candidate.candidate.id, 0.0)) - - val (kept, removed) = sortedCandidates.map(_.candidate).splitAt(MaxSimilarUserCandidates) - - Stitch.value(FilterResult(kept, removed)) - } -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/filter/PreviouslyServedUsersFilter.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/filter/PreviouslyServedUsersFilter.docx new file mode 100644 index 0000000000000000000000000000000000000000..633e6e1cb016773fcaf94236f24cea2b1d77f77b GIT binary patch literal 37202 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 excludedUserIds.contains(candidate.id)) - - Stitch.value(FilterResult(kept = kept, removed = removed)) - } -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/gate/BUILD.bazel b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/gate/BUILD.bazel deleted file mode 100644 index f8a7083b9..000000000 --- a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/gate/BUILD.bazel +++ /dev/null @@ -1,12 +0,0 @@ -scala_library( - sources = ["*.scala"], - compiler_option_sets = ["fatal_warnings"], - strict_deps = True, - tags = ["bazel-compatible"], - dependencies = [ - "home-mixer/server/src/main/scala/com/twitter/home_mixer/model/request", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/gate", - "src/thrift/com/twitter/socialgraph:thrift-scala", - "stitch/stitch-socialgraph", - ], -) diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/gate/BUILD.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/gate/BUILD.docx new file mode 100644 index 0000000000000000000000000000000000000000..de7bddfee75270838ec3db8305cfde6e744dfe71 GIT binary patch literal 36866 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

    Ahv1>4xw0UL_FM}hBI8kFP=}d$v4+kW|2V}U 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 literal 0 HcmV?d00001 diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/gate/ViewerIsListOwnerGate.scala b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/gate/ViewerIsListOwnerGate.scala deleted file mode 100644 index e7ab3084e..000000000 --- a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/gate/ViewerIsListOwnerGate.scala +++ /dev/null @@ -1,29 +0,0 @@ -package com.twitter.home_mixer.product.list_recommended_users.gate - -import com.twitter.home_mixer.model.request.HasListId -import com.twitter.product_mixer.core.functional_component.gate.Gate -import com.twitter.product_mixer.core.model.common.identifier.GateIdentifier -import com.twitter.product_mixer.core.pipeline.PipelineQuery -import com.twitter.socialgraph.{thriftscala => sg} -import com.twitter.stitch.Stitch -import com.twitter.stitch.socialgraph.SocialGraph - -import javax.inject.Inject -import javax.inject.Singleton - -@Singleton -case class ViewerIsListOwnerGate @Inject() (socialGraph: SocialGraph) - extends Gate[PipelineQuery with HasListId] { - - override val identifier: GateIdentifier = GateIdentifier("ViewerIsListOwner") - - private val relationship = sg.Relationship(relationshipType = sg.RelationshipType.ListOwning) - - override def shouldContinue(query: PipelineQuery with HasListId): Stitch[Boolean] = { - val request = sg.ExistsRequest( - source = query.getRequiredUserId, - target = query.listId, - relationships = Seq(relationship)) - socialGraph.exists(request).map(_.exists) - } -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/model/BUILD.bazel b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/model/BUILD.bazel deleted file mode 100644 index 78302f75b..000000000 --- a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/model/BUILD.bazel +++ /dev/null @@ -1,16 +0,0 @@ -scala_library( - sources = ["*.scala"], - compiler_option_sets = ["fatal_warnings"], - strict_deps = True, - tags = ["bazel-compatible"], - dependencies = [ - "home-mixer/server/src/main/scala/com/twitter/home_mixer/model", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/model/request", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/model/cursor", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/pipeline", - ], - exports = [ - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/model/cursor", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/pipeline", - ], -) diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/model/BUILD.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/model/BUILD.docx new file mode 100644 index 0000000000000000000000000000000000000000..a06801e75187adcb9a12d85df35c04bf0069f9f3 GIT binary patch literal 36864 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

    Ahv1>4xw0UL_FM}hBI8kFP=}d$v4+kW|2V}U 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 literal 0 HcmV?d00001 diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/model/ListRecommendedUsersFeatures.scala b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/model/ListRecommendedUsersFeatures.scala deleted file mode 100644 index baed8171b..000000000 --- a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/model/ListRecommendedUsersFeatures.scala +++ /dev/null @@ -1,12 +0,0 @@ -package com.twitter.home_mixer.product.list_recommended_users.model - -import com.twitter.product_mixer.component_library.model.candidate.UserCandidate -import com.twitter.product_mixer.core.feature.Feature - -object ListRecommendedUsersFeatures { - // Candidate features - object IsGizmoduckValidUserFeature extends Feature[UserCandidate, Boolean] - object IsListMemberFeature extends Feature[UserCandidate, Boolean] - object IsSGSValidUserFeature extends Feature[UserCandidate, Boolean] - object ScoreFeature extends Feature[UserCandidate, Double] -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/model/ListRecommendedUsersQuery.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/model/ListRecommendedUsersQuery.docx new file mode 100644 index 0000000000000000000000000000000000000000..e666fb7fa68c263e3e1ff5ed9d7ee68dd917d27b GIT binary patch literal 37114 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 Pxk`{B5tu!Wc7u2T>Rbd_ literal 0 HcmV?d00001 diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/param/ListRecommendedUsersParam.scala b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/param/ListRecommendedUsersParam.scala deleted file mode 100644 index 3822a1987..000000000 --- a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/param/ListRecommendedUsersParam.scala +++ /dev/null @@ -1,23 +0,0 @@ -package com.twitter.home_mixer.product.list_recommended_users.param - -import com.twitter.timelines.configapi.FSBoundedParam - -object ListRecommendedUsersParam { - val SupportedClientFSName = "list_recommended_users_supported_client" - - object ServerMaxResultsParam - extends FSBoundedParam[Int]( - name = "list_recommended_users_server_max_results", - default = 10, - min = 1, - max = 500 - ) - - object ExcludedIdsMaxLengthParam - extends FSBoundedParam[Int]( - name = "list_recommended_users_excluded_ids_max_length", - default = 2000, - min = 0, - max = 5000 - ) -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/param/ListRecommendedUsersParamConfig.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/param/ListRecommendedUsersParamConfig.docx new file mode 100644 index 0000000000000000000000000000000000000000..426e45d6f88884a60f6be5a2e8ea9340bf86037d GIT binary patch literal 36977 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 TD=-Iva+M%MA~1XW>IU%utfU{s literal 0 HcmV?d00001 diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/param/ListRecommendedUsersParamConfig.scala b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/param/ListRecommendedUsersParamConfig.scala deleted file mode 100644 index b162ef755..000000000 --- a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_recommended_users/param/ListRecommendedUsersParamConfig.scala +++ /dev/null @@ -1,22 +0,0 @@ -package com.twitter.home_mixer.product.list_recommended_users.param - -import com.twitter.home_mixer.param.decider.DeciderKey -import com.twitter.home_mixer.product.list_recommended_users.param.ListRecommendedUsersParam.ExcludedIdsMaxLengthParam -import com.twitter.home_mixer.product.list_recommended_users.param.ListRecommendedUsersParam.ServerMaxResultsParam -import com.twitter.home_mixer.product.list_recommended_users.param.ListRecommendedUsersParam.SupportedClientFSName -import com.twitter.product_mixer.core.product.ProductParamConfig -import com.twitter.servo.decider.DeciderKeyName - -import javax.inject.Inject -import javax.inject.Singleton - -@Singleton -class ListRecommendedUsersParamConfig @Inject() () extends ProductParamConfig { - override val enabledDeciderKey: DeciderKeyName = DeciderKey.EnableListRecommendedUsersProduct - override val supportedClientFSName: String = SupportedClientFSName - - override val boundedIntFSOverrides = Seq( - ServerMaxResultsParam, - ExcludedIdsMaxLengthParam - ) -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_tweets/BUILD.bazel b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_tweets/BUILD.bazel deleted file mode 100644 index a7d22148a..000000000 --- a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_tweets/BUILD.bazel +++ /dev/null @@ -1,61 +0,0 @@ -scala_library( - sources = ["*.scala"], - compiler_option_sets = ["fatal_warnings"], - strict_deps = True, - tags = ["bazel-compatible"], - dependencies = [ - "3rdparty/jvm/javax/inject:javax.inject", - "ads-injection/lib/src/main/scala/com/twitter/goldfinch/api", - "finatra/inject/inject-core/src/main/scala", - "finatra/inject/inject-core/src/main/scala/com/twitter/inject", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/candidate_pipeline", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/functional_component/candidate_source", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/functional_component/decorator", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/functional_component/decorator/builder", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/functional_component/decorator/urt/builder", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/functional_component/feature_hydrator", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/functional_component/filter", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/functional_component/gate", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/functional_component/selector", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/functional_component/side_effect", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/marshaller/timelines", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/model", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/model/request", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/param", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_tweets/decorator", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_tweets/model", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_tweets/param", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/service", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/util", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/candidate_source/ads", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/candidate_source/timeline_service", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/feature_hydrator/candidate/ads", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/feature_hydrator/candidate/param_gated", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/feature_hydrator/query/social_graph", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/gate", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/model/candidate/ads", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/pipeline/candidate/ads", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector/ads", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/side_effect", - "product-mixer/core/src/main/java/com/twitter/product_mixer/core/product/guice/scope", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/configapi", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/decorator", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/decorator/urt/builder", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/model/common/presentation", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/model/marshalling/request", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/model/marshalling/response/urt", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/model/marshalling/response/urt/item", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/pipeline/candidate", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/pipeline/mixer", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/pipeline/product", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/product", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/product/guice", - "src/thrift/com/twitter/timelines/render:thrift-scala", - "timelines/src/main/scala/com/twitter/timelines/injection/scribe", - ], - exports = [ - "src/thrift/com/twitter/timelines/render:thrift-scala", - ], -) diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_tweets/BUILD.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_tweets/BUILD.docx new file mode 100644 index 0000000000000000000000000000000000000000..ee3b8e885f9220710b00670a19233dbb00ed9d27 GIT binary patch literal 37319 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 z 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 z zMT8XFRc_T5<6WR$UQ#!`p!r0eGdFN}OapPXI$aXse{pxM2F0+PxjKyyi9iQ|5JUg5 zXr3wOI}z0d)@hrJAHP-+Yi$G9k%$ZAmY7jMt3AFZ&xSFyoIUE`Y*Xh&MR&ZDZyEm5N73>O;V zq`PM67Uq@@kLe-er>%CKT`<8tLNSU#uKMB2;IwLa2^A>*&1U@lf3Weo{C~31jJOAI zUs5l{H5`5^sj=39qS*S9bZqt8`4$U&^pNASjqkgEM??CYq{xHzBq)jY;3W-s6`w+G zp)d(GUFU?d8095Vf(kOWFq9H5G;9Mk_Ubx8gs1SO#sW$_N@z;`&*#Hth1wTZx=<8r zGOG&3B&LrIBx~WPTn$ zzWWPT=Wqd-iL+A_cL=d#V1&B8Q#z_0m@drEIg{S)DYry#GFn{kzFasXq{42mwl{uI zD%00ND7<1~glhIxQu(0%@{^9hsw;u!)g+hXZM5RevF+*VvDOdKc;2TIk&=c8KkAc# zBY7M0kY>;Wb!g4hJtbmcI_(o@BV5e7uHn5#bth?ZZ?3qyx@a(@J8PJ48hB>c;s;6q zjTPtRL|K6_Vt@5tX6q6{B9kN_3lDf9U`@LR4P=QAjeF0ga!~ zXokNK4D&{8so72f!P-m%8epaF)7oMS@VAc!jPQh?^|_G?R>JRf>Qi@nPXw?bg?+QM zd?Rbf8mX*_P2*i+@!B=d z(f+{O4j!$*AhiXVfdAPjop7asGJ-anVBD1T;@UKP5VL+~-GG5AQz3wB6%!&3B2A3M z2}~7E;zQWr2qGEw92T~C+=_zPA~b{(EW3Hk?_>4|(oftyv*CkBUc08M3{o}huuW#H zg9YdA3^2Z6M0KfRT$wNlE19Zujx)umVVE-k31Gaj7&PD}A`DUnsCB8;wYc9WT*(@k zP-FSE$-EAv|3f2rMY@i1@lu}5AKxp2e|-0bYRNhJoSLy-5V&#?{OwzE6a)#nu-5vp z{s;^k{2DT-WY&z4)^r*%+B`JHC4c@ODi5Uos8l6x1gY$Y{i6~Jye`#bxb2rW%Ym6V zjvYdPG`Pz%#uNOlHFxNf1woZ@cC}=7OPZc?&%?s4;=Za!DnAz|78Q z{L5}8C}`^MAfEpnlr*`|czbX)z#Hz2e)xwfwGzqpLOv5?{9%AMiv6Q!2l`>9WYeF1 zS9~+n!+FK~vCM`m8Zg;c8nE5WzuFloW#krNnoX&v!p*&RGl$YX2pWVtFXrp~=?5aQ zg*hLWc$rUWdpHCY`8q&4D*V-+9B;@+O4eUxGlmzBlOYZ)FD+ia={yv$r zcF8DS*!o)o(2ISN5oQ*E{4M*O#iy#d;b65@ndG34=ve;>K6pDYRkvqQnk9Xey)YO)mSis zZ`rWGPVVutLucp>p=|TjPt$7LAvNG-=tb{04*x?f`xiAjh#FS*&+L1mZF3PR+2}87 zSF>>tH9yzi)ITUOB9Q+d)R$cY@EzefhMV4PpE`};kE_ai(e3B585jcGev@hib~IA} zPlPcd$lb#NH?^}Es-*ClK@0i&uP8uW;*igBt|;9quf|+~pL}Ol)$yfU z^Fb_wW%=eDn2z#klbj-Y7MVSV}x=WSuTV3`BCZHZ9whDONffIDMs0Q{|3 z?YtK$D&+|nCC2gugYZdHlQ(d5(ABi=UjqjeZYSvFVwzKeTD~V|+Tg&nTeCjVh zRMkJ}Z#sNm^fg4El+k%bAWMhIx56?^ExZ3ln!X60PBpVG>U(BWVG0Fza|3jX7Uhs% zd>Ili;j>CNTgQ-}3oC|So>H6SR+uX+DUWXN*x{&p6_QV%Ykb0z;6Rd?8}l;PKJKg! zD|YcOhUWmr>$Cn&bFYR$jma z;FGuM1Z16YRJlT<$wSUIUTp>>d!CErTM_13K}>f4JnU-b`yL>o*zHA+CoyL>2@v>N zo=_|^Bsj|v^(Ec^RBpk0k3-(G{J3-+Utw>YVNbuPz)U9D>)f8R{#7=W^>{kQ*uh6ArpOT_}e%z;n*B4<^K)c-k@ux+R1H zn-4VW*oF)v02A{M12=|hC6P%aVJ@ZS5v{s43yp)AFomOM>9pm_hRtqGX$r?y0;nS~ zI{;%WE+IOeX?8+Pm>Y})h@H7cbth_JUF0DD43khJ0UUFXVcmK^Aq|Onwf@k?-z@KzsH9i=(`sE?88ayK7&On1CdU3&W@hb;lx42 z3tzclobU1vfupuldGN^WzeTIwz*I!+tihc~^hrR|40muQX>{fh#AA2^r4xi%;|{QE z+&)A(<_y?tQp+Za@qdep68$3%H~2#A(q?4TWSjSQEir39QKK(73G|-}Y(3}#)9ee* zAnp1Z*qGb34PA6PN;rhb5<}Y2V}QwWB_;H%%bc9j)b0y@t+8+c;TGzN&D`TwieW%= z=9V!9YpSpe1SRjZ9F)9MIM|T@+g7OmPM%$k-anF8+iBaCI=P&{@(+aw{fPS~1UuvS z)RR4s)<&w-xn=G&aGqrZ=n(33u+ZD_W2~Yi5)NuI1Ink~KK?jS0HE4u@Y;|4ZUu(D zmIMk#CCvyQg6{_c!$$i?jUJ!1R`JXQ>T77T=!`f`9{q`Q!1!< zTN~>uuu#y4cM%p%zvftCy`JsRiQPQa(tFp@gRqQv6?TrcMc!2sg%)<6w>+5fOg{CU zYy;Qu*^YCbH;3*scnqRz>{F9H-*v@HOZT7=hXW6qwP;#SPj0Rh-9o?E zQ?XhMf=vP$U$w1fV!5MN-;2(dz#kCTh*VvNUVVx(6VqT0vJ*8CQX~hVra0pnUe1?| zn`GBE-J*{@9nGKB)uPsL4wk(6E4Wg(Xny+sMxZ{S4S!4nvk!lCnSmR4QTmO3i+ZtK z#AKlZhI#$SfEX&8dXuXi^X|mb)dZ4)}H=_celAfr6oB*&nWX;>p$p!N%9e|P- z{0RR6(a0B~ATTxOqBVY^#%Vp9r5hU$qq+BmK^SfsOJPwJ{hA$Y9sT+wA1&;0how6X z=fT!!TJD6At@|z`xtv{CJrRNk=Qqji-&EL(DgZ=K5+En0)26WzQwa0OX|6GFF&n3A zJheuIx{sBOpI;<~lQs@DIqeNo4X+t3)>aM=VN`cYC=M*aS}6~fB*{^)#p@!tuU~tx z6;JHWu5CJBIr@ZzCI1k0P1m?qWlX({;d|>IBXxmt;Qt7{S9an+HXp(!93U!+G+YrH za)VPtgte%k_f>D@Y)5_XF8Hx&hM^dVdpbv5tgmoNNck`(CNGgtxR1PAbKNX`voop9sgr;uGvtsyb77= zeXv5415Y0n>^H9c3+Z{C?@$8+u`LARCfT8QXy$M`?Iq?2+k9OZ z^VPR%CM9KGq&X|`Og2Xz6%C0&yU^P@io;}x`DGR5v>VX+#fk#u3WW=CTtBs|*xeKB zngS)mh>$Cf;IkG@D{>aaDTO|xs_mY*hu0*rJAM^?I)D|#dPFV0Ss%q%!OdmM>DmO0 zB`)C~mWbt)g$Ugcl-A%Vm7y#wtNmtoc~W*EpHyHc-?Gk{bgNkpJ>Ij1?!FRVwY?Qz zE#3Y^8;Iab$o$acgqhCdzV(t@5=h)vn9c7%gAb{8F}L(ApLXTB_o8;e-n1Q>4S9PD zLHCe{mx170tROr_n0muE5bs^#!nM^INL(IMf%QUncUGP=DFZG18BOit#Iv_13WLR^ z_xX?D7gVa-bzWzX;J|+i4$LWo7XDjs?;pVze*{vW`h3(95sO8o02eFw*3iO7)cch>jk&Q?X|;8|Dx+rR1sP@lFMR6wWxtr z1X|dqb1RXyhI8F1pEyD0?ZGRjP=7kj^W~sbGaK356y!tBp1K!p0nM0@yG@>3?J==7R}$q z-?%J)XQ!b+&129Y`e(0SGTM=pXA|px0yrxE0XPo-3&7#tEpQKN7zj6f+Cvn*yyebU znW^B=VG$GwVab;rjvu_;dUr`of(;ssD zgTBPnQeYbzWd2~M6#$F?2ObP^{LgS&$l<+**BfjU0xEw9yzUNPHxEe62*X$zL@fbW z>G;GXDGJ6shoZCdw$Aub)gmt03MWfuSypY z3Qn9`QNC%Iq&}zXtu8#AQC(#Nw!n?y1|iR8#0o>^;2zesNqQW4ut=rHi#!<568VxJ z?G{-VGm)Mrkb1`nz56CoHH_Rtkhm$1_Cddz?eg9zkcvbp6gx~X-r*F2m@ZyI(IF`7 zu6UlXI+R89ty-cTpqJX9!8>9LYdED~J7 zCaEJrn4M})o$FWJiQKy`s?g~ZEX@apiUl-a&H)?b!Wu%ritk#OVEhEDn9#Qv6WN|6xdb**Rs2lMq(rHl_FH zKdD$iRJf6Us8}KfO}6W%xlKVf*-|}Nh&^phM%vY%3}mvCu=vHVwLW%;a@4VzX(XRK zC8zo8(a?{(xK4fGGbu7?G$!?`E&oKRQOrtz-Pwb*oS@WIjE2Tl;jf+Aum-n8!=lKl*JMJN89@Gc6Af; ztIEn{lFZ?;ZJ)mIB+>>pa0RmIF{o{_|Ews4u!HwqaM~+O6)3aKpG7Mx`73SDqSwLk zJz1YoG5&+mQ(GGnhDxJ2fpbPno8>-}7sw6+VoXSaz8;KpR^U6)2u}*Htv`~W62giw z4Ea$rK4qV8m?e~3c3HgDq##f<%&lFO+foLYw!Qn>xBdgDH6NMe%$+DI5Tbv$1XPxo z(%aV@Zl?+khK|#gKnokn6~8^S%@`zk!kSRydh6w4Lrm=>p2cq(x5xYrUyhGkGVK)X z#!MAEgAzOA{YfVf9ts1F3RNz)xzy4NyoB7}UZgkUxxk3Vx57m%B)&S`suT=RCZm*x zqm&oI6%K_3M~A9LQcB|2V}lw9eW!_DskcC-2FCz6n;Zl*DU>SxIA%n`+Vo?OV=aA_%8)YZ4DxM>5Y9%R?a-g$_hW7lCHJpvug0 z0*Rng!}S2S6o$UmI0;6ej1u~x1irZ+lq<%ZD~6bb{{({tVPlK3T$0G5IkJR|<;1Pl z6&{oeAquUZ8;BL>vZJ?ftP_%U4%_@twFr;(*)^vm55oI|S2V;xBm}z|;~t4_d1@e| z?xc7EoBCfW5K;bC5z=!_s8FG-QElx~6?mw~i=>y<@*NrL&1G5Ol2q)44)f!3@Q1PV zAM;Cs`=rd}8L<-P=csV8iSqWl^yquUy+9aSv6PJ6eF({E>gsON(2IhD`BATVD7MLc z>g-i7)uZduFHyu)K}VW1?_iynGd*CtQDS)_w-zHu`o|fh@c5`)r5O07b~x53gcG3G z)3m+HoVK^pJG)IVs;wKQoFqX5B5qzlsH8Z2!=(VlUZ24-l>%suDp{yhkHZ#)x$Q*? zPm8Kjia}d?ifxTT`%v&`CWPH}u0Rs|C2WZ}JqSIG8@6B=%jy7_m%sfKC7AN*E1c3_ByTy^&7K0YF z??aD-8;l7@JO3Rs@eZLW6!TbEK}WdoFCUmv0qlegZUrn}dbm-TcsWDOqf#RrD*k|Aib4_TJcYvCX7y4*P#jvx6Y1X$j8Lej5?`Beo!P(7 zN`o>ns9U1+9Ny_k#8erE`T0(?I1a*_n1U2q48esAx+zQS6ciV;F$Z$+K7mIHz2%C- zM#vN?g@7c$up5x#l0#N@7?8qU=QXo}-`uvF1bUdh-oeV}gI_@)t4l!gfzIT~+_aIbJF|VIq9e@0p zt_5_8UnIvLeI!PDB>2=fl~&|qY#Y1tFml+#o8OzeN7u7Y+eQ`F$^F)ccdmy6`!?TY zf$GJaEx+q?!#x1?*81sP#O>a$M}tAv`@!`7S;qV0`TNt`i5u`WXL@`?|LXbn3|Lcx za(eMyyVM!_=n2-``4!terdas;`Mo#m`?*=~t&RH>c0V$;1)Tf(c?cPHl(pZv z7nHp7zMG6YCk*EVXN0z-?0fpPcDk+YJ3IAf+@4w8dY*ExEXF4&9!k*>^IX>&8ir=C z=7z2fF8%bYM!H&m+q?Y4JUz@`WADhbjT_e(KF;iJPYSs9rq;gjNjgclJ@nN$S?dOH z18SBQHLR;%Ti=|l=(S-aR{5fo?`B=CxvzJuF4N_5Q$o*uUph8zafovg_&P4myDj4S`!wDgR@TQi-@4bk{@<&8_vdUI4o~Du%HaW;8e5&% zPxkli?plQQW|vmoa*NGo52_W@6_^}T%fj!MH7#E!umR8VZ%hUaZgJdcM6@4{ciQep z$?kSqaVT*ZgkKvy9_qbcY84eax`nkAk>8$&4Vx<_xwO}}wiHWBf{2ruD~L5>V#aTu zpLZVnZs(32AK$Z+PyEi4W0v;b@re)K%LYRy*F62ab7f%#&xs0ziIQu6E8x;1x zI6qY!-cSQ0>%{Q^6(@{@D424@$Zzir8#`?UV{(FwIKQfWxGS5uC>sx0@Nodcl-9%K z)|L|U(Tej^sij%)%KWN>u6G%sMq>X&Y~j zZt%GU3QD;67^L~af>uxBaXo|4cMBhE7U>2hL|h83I_Sz##*KHKx31MJ_?Cy(bGD9_ zJM4{kWHb}D_vhx7r3AB3vGxbYPQz-qaeko$CTOq8(?W|p{g|iG6UMQwpX`T1(QBo)<>0l* z*CBW+(d@w|AG9GB!$$(kX6+{9ki>U4w6$) zM=YqLR;m@+;a?C0i*PMquj%;Rl)L|ju(yDUYuUPmaSI;Y-Q6unaBJM%-6dFXcXxMp zcXxtYaCd?y5acyE=iYbE{lEA9qX)YOV^q&I=d8V}SJm#?>%GyxKKi8j6CY=CjW&%NXPXM_LHTr1WHxu8X|32cT6Z1ye<(aNzx@(J_ z&x)Aoim9EVQUN>oNUJUVx1;CFkb{G)@&2D5BXK1K+$Ov?UAbJJE_vF#-j1y1POTo; zt48)XKa_l#K*D_e<@N}3;plntvYyqA&X?7(`TK;S8oIf|I6S+W0DiYkz-8|Yfgo~W zYxO`E@QKNIYw8}ix#A@z!npFajiGDj{wC(@$=K22)5PQc>fN(N-ITT?e&}tGQrjh0 z<~J{twC8)1Hm?`%ww^CRMgmn!6FLvu_XA@w6LJ|gb6+?2eZS3rNlanCw7);J$?+C> zoc}SM!rQj~`I2;eeYt8Y|%@kO4JbK z&(Z=A3l$F?uIuHwpasI zUV~EVz2(QlLRh+PWmQ2$pcdd(i88p?9kB8PIkZdYsRm~E>s*u?%v-zEtq9~GOtvzq zTRuu(LN}?KHNXF2P_WRBh?qIn%x8B^go83MD!Jc?2Vsx$OYK-zqA$W=)kDH8i0FQ4 zO3`H#B@ZF+N|TTB@loY)ox%=Rssgk8vVF?eY$0f}_jSb`11^iV0N33M0sf=hjOUj< zo-B7gxxVhb1ish0Q3MyqRjZrg3%o{z2T*@kgN4gphIa7|Jdf@gj_Z^F(xw5;OF@ zn^b^+t9k1ZHm>Q`tj&n+mbKiuTouw9ec^y-HA?E-;8>0zb$`p z_oVaQMs&mOhebPEsB_oi%W;dkw$(-)9&o7twCSwB_Ty|NDJ^13=h|G4RUh;V7mZ)ZUQ+-3bz_wS_lmNAvTc!(OaO2nSi_17l)(7` z{bF=Awpf}ywK4I5-ia;owudq8;wcejak}2q^+ay1(BchCS~na=j1K|o9BT*lC(lW> z=`G<^ZfDyreysl6?^9XS*BmdKbg76&C$!J05g#E9C?Jl(X65`X^n3b+qaeg^~k;s`T$A1nf4!%Xg(~nlZ0lZYD+f z!g84Ei&+K99SxS_gf-^g(h2UhE@#WBeNJbGOFA`UqP5Ou-RJHsUsO>c zxt&iAP#fAC$6bu)?t|Ut+d9e*UmkJxOuOYvI10a+@-|tX>hUZ#jxjEjL62_<*1Q^B z*KQ<6Y%-plpu+CnDB=4n$m(5U5`JlOVdJ)cb@=Xg!rE=?I@T=k%~~l*4KZZZ-s!$* z&w8}|MsWn+tuqBsFRbfcb{6GEI3ew(({$|I|2_OEbYBM7g09~xdUDf@>Wk>yc?Ml^8M#0x1MbTkDhJ1_h1R!6Hmy4>B}tq zhp$W|4WUFlV)w^baRo*TNX~5OdxG}sFHa6X$3`}OjI`n={QQjkanD00a*UZ7iXvT_ zlo%#d@)HrozHjOsIC8Lw39`s=BLTLOqp{3yKX}gsyjuLr$KBY+^r+;Jc}bFzjO+Rz zrBIk2^{(0`%5_Lx*y@#zEQxAy29M%H!b36PHCtfkEgAJS*K$Y3YOukqIZ=wGVN~S! zH7mF&a3GVft(oNKC`pXuZFh)6kh{vjb%0b}HMALu856ra)eo(uJL<%;}vN;@nZ-Qr*%>zevS!&xLIgtS6Ps_$3L>tw9-pFd;_S;Awcq&%-eXYt+3OYYiasGNacmK$+YMt}(RBtoy zw$FS!$=Uoh;k2dSTLSJXeY2b1RAgo2dmGK8ys|e#jalYgI{@8Xg2f~UMts=D&Un0C zojqwn;ONLhY0`TVqmbr8LX3q`!KX8eF1_W1p=8zjz=QK7{`%^B$w^$JxsGH?aS4*> z#keP121Q-@mKd0j<jYcsaWHI=iNU{yeHSnd`eq9X+|_2vdxMYYM;QiKm2k@ z$MAg~9)9tkc-)o+%btu@ZSKXxyY{i^h62tsLl*T?zTsn}qz(jyt$zRDLZ^`s4?A@I z9chH5aKWR;)BzEp$C|OqOVj4dZwTOz2@ywS;``aSBMctTSG}BynXJNZiv?lrBzHP? z*?9T15Hpd24j+&>^%vomGpfFHd31BvAk08^CTu0;L<2-)fzWfd$8UZC=0pAt|p7-I(laug#LpKzFs{-nN3# z=5=#avUn@BE%~Msi%*DnxT@iCPDR||U@(%@yJmpwy<+{=PjpNOfxdOHwkp|I{nOww zIz=^U?=qN`G_9uV_7dJKSHt5C9maT|$WK}rPQ#{9@f?w^Aj#g!x38HQX1RE|lE-;~ zD;%z}eROeqU7Zge;!@Va`(v=DQrux7?&Z{i)7NEM&$WV{ON1jWrnwHLA6gvtcH5is z!m7AUXdU1arR3|l`n5Lj{aq*QHPOJQtLbTIB&!|8^mo-cW5KLv%*h16|12ii(dS&x zs1tBm=l0~Z_dMT}2_V9fop=)6=-RO+yhK>XbsV)UNH+YUkKGjL2@c;JCDh9Ka=7S? z7DP%>PVIT!G@o-x+@(-ff5Q`*6qc`?xC z=P8V+VYBc@YO=lEAE`f!mpgeP2PD}HZY&wUpj}244G3;;MnbG-SaZw++Bq-ncV)pJ zZ0%j-e;;kS^;z@({QqYMV2ilT`LgcF-pYxA1n%d#_o0<@6;2_`*^Xp62T3ZQb6Gau z=Teq0`$>0%ZvfzbjXzVNs$sn{VUBkIkI5Oa@uCP6iymBfQL93xH|u_h zs@^We)9O|qINwD>xmr4QGK!EB5N5HP0DK~Q2yR&_Y*Fpi;>V`$Y@+C7e=J<)QPkwj zWXtfF4QeqhY6<4nKgKg((*kGGgbFTiQB9NMJF8M4`xw%a+*Nt4ytO+&9V@b1uY}}2 zzEj11QiXn%JY5B6R|RV)%OBDb4ZneK1X7~wyi=udQe}XM#RL8QVF@HM*)Q+3N~KtQ z+QSO1ZFZ;1gwcx6sqNPtD;Z<^`GW9w7dIZvkJ z9XBgg535x0;BS7-UF;wQCiai_0O-cyrM+da5 z?mC+IHgD4GfE0JC#>~{0;{>{P;4c;;7&_T$yVxf|g^vW+HgSAsS(uc&n#T9k zB3rsGiu3G+!N&7vt>#NQ;^yz)DMLOSYlNn-$aBLfusWF+suAa7$If)0-V$|3pAQCX zbGY#;3Dky&E!GWA6}^x1R$=osBGARD^BxkEwer~SYl7^yBM9QyMu18m% zF0_P>?}^c3P6&uD1N$Xzg`R#GQfmp)c}}k6XZGrJC>IN58-mv2gW&d3Z1ooLZh0A&CI_-3zAW{$)O2+BEVjpdO-d|8NDbn0$C>e-USg!y;@nBx* z0S0LD1MtCjNGF8Oy~9m~O2i-_!mLb#X!A1&dsOW!*u!UI0S> zGbA$Tze1j^m;pn&oc{^Q^ANmHXZCl*KJg3z;8m5~X8yFO4W4PNOnDey$)IR!m59qv& zXFxrd;{ic1An;SY$VzepT$v&X5ml8Qrw7rllp-JymU-M!j##vUo2H>4L@k8-?ZObG zo5+1I#9$wVA#|BCrll=aW8l2~MQE7)mWoirU>g||#AI^a+cY8ip+p)IudxL~L5RV4 z*+4I`3p|I)bsEO4P+-z#+N>?mu^yK>0%3Sqg1D_v)LDa=1GG~6U{KVbM{~g+s>!q9 zP(ZNK{fJAmd1mRpQ5yH8j|0z!|LmGYO$d;-d!l80k}G#%2>#Cy6u~gN*9$+TW)3i) zA+E6*=GrHpF)Z{9T_e~S(MgawiCW$4asHc+lrV%Lg)@VeCZyPF69Tb+w2VPFvfn2q zEY{W_>_}w4p%{1`{U4fhWyqkudDvKnrxti(x?HXA9p?Q%cNhSl;*5){lLq-L>p_CROr&X-$T7=rf27g&N0AfI}G1 zNC^8lu9finL2#U)ALK9yl!ouefZu>`P9F;4D=p&hk)eT<>9r}X{*c?`HO~e)M;^A$ zMz-!&wysWz@sJ>Cn9|$rD?L9R!XJ8Rq`2s)Oe%>Zk>}5m3)G`6Bw_QoNy_wXDQ%BL zFC*HA^&^q!eKIRFnkT}aql&V|styNpbRYJd52tIM`zko+DhQz)`Z^08i=cXR$1*2X zYmDU$E7a;K4>l$=1AUO*x>4SAy`|W?M;mJ=*?MNMgf~0gSm3K;ViDr{=Iw^(N7m1$ z)&obj+D8c64e&(CKj=PCd3oP@py>L1ABav}&UukQ((Pf^ed8m5-itR>1{^?tJ&(*4P4H7sHHu;H~Zx3_A>1D;>VjKCv_^_nuMFU zP+VgSFr83ip{m=VT}`-oGNJE33t8R@U1k&@$I&y^R5wl6Gmp%(nciq58xF{qj6O)zH^_k3}iY_@G#i^PJ?qKZ830W*Z=P* z?aPG2J7npJbZ)B!S5H%CqHZrEET2E?z7?G!cX}suzFr&i!+d&xVlQ9ME#&x0?xaX~ zUxt$U;xYI>pE~Jk#(*0J-3(D33Iq#fPlVM^yDZgLZL`g={m^YunPq zLSHT@mU*M@j?+sMmuiws9!F+TMQ789p~LW+f%cBh)V zQhx#Rd5;gpMx1UCv|K0_S<*f7K>iFiNt_E>X}Us+ z6s*5BHF;0f3F^78Fv~S_dUI&4vcS8hG_|n5b3geSu~0W5>Qu|5&@ybSxixJ5nB%VV zRIl=u?YMh+nb;M`xIk(!c968QNMm|iwQU;Bjs%R%-O8N=P3rNVKco%xojNRr=aeFt z4&u@a8z?%~1=n%nhg6!`<7@_?d#;u%D5L4!tO*NWatjK=gGmx<5>>cA)oi!m6H3QLeGzH;6bqJfKm+Ns-<0UGEoA=zGhNL7gA143S9_&UC6B&cYeF(ivKEwF zze5@pyi4z9Yce4h&_Jnp%m_mSi#fP>-YDQ6XHTli{pkjs1&*)X_ z^}EROy5Amz+=bk6L2;;RNalAg%_hW96EOwN18>9}`jJ;x2XDkL@;Y${C9`f+Qw%1Q zbi;A1b321R$QE=4;b66y43Xz{W?lr`_}_4VvB~R-77uJpCr6P{G5XHHAKVvE;W0nv zS<10)Lmh?GC)`+ik-3jgT(9B`En9XQz_)zz263&5eWA;+ zoJpUw-WMTLkYI)>T0Nmw zLA?0rPU-M_7bISB0?irgbutanmx-Zi`dPuS6aJl?VpFGz48Y(~*fjIJ#Y zJ+b}_HEJbRsL)TM08;%0%ca2tCuyNE^|UAeF)#SKy^?*^iC=UVY&9 z2HxbGStvWQmBfu~gcH7Sy~aem71>0v`a5c!7#)2LdSm^W;X7)jpZedZLpVu=r+-lE zg5&z;()sSPFswAOphDU4kS!%EcS=>a<2OcW>vMU!SJH0g7lzpATFB?>OfyP`&r3c>>0X7vKa zQ8=Y8=NaN9rtY4);s>>op>&L3P(uXhKuuIDE}B8^MD$&vCBaJKG63cESPOR3592X* zsWYL<9T9W)Z#a1*x~end)e-E5!cf5AQ5gF7MhjCIR?1RLhUF=UJcBsFQu?xsWX zCz<&>2y;HxDo0*dTwemXpqa|_qdS?)Qk3?m#s)DCs?b$$g3n);0=xLjKOsFfi96{G z^_MeLaeSq_TlX4KO-giz)hK8ei6VYHk6(2Y^?Ei9u5u`d=STdxpAJ9glbK+(p4~F@ z3Qk=sSe>3L&LN@k5v`HQ6C0Ku?>*UTR7T@wR%W3TMgV4DvBKn@ig&TS`9wmAO)%l5 zJ=q^6450*!$rKEt{U~rGKbq|kAwE*3B8VvLk(Mb9orW8`mrE$b!7DR+V$0&!xZy=g zI}-9NM&v5%z@s}UCUq;rk0)9x)KQ9}!_vViifTmUhCfwE`qG$Q35%hlA7Yi}$0;*M zn(d`cf9kW&4SyfMXjGSl$CO0FJ*aZSS0^M&4Y$7?CB#ok+uoB<38N=Xj>(IX2cRk| zjAf&#kkwL2pqtS9)0|G5Ae5)}Az`a1ryAvkizyDdV+A*G|Ac7pqXCWtF6HW3QJ>_{ zsq5CDB7oVJLHAw&+hsrn zIE;}Ts{ttk*McV{P27N#6Y|CXi!uq=KPhviPMccm4yEgJ$cskBkjbHQ^PA=U3OAYK zVHJrsG~#9uC(KO8plp1$nW$BJT_P`~@!3=CRBm(^LLFb^!!m<*ypW)`bc|Hkhn(Ff zG_yk}Io%hE`oy^sv|G5Qpe1OFVN0f<+MAXiVSq7%BeA}&S9sMLgo%vCIc!z^x=Za_ z^7U#G>FwGPR1IHx)I}9xLJI8i<9SXJn)WORC=o89fV3hF?J>)9+6mtHq%*Q5(Ly5S zLKNjdE}Lg!xiaZoyRxH+--Ag#^#?Y_6n>2rU-NEbesE+Pp17B95~~!ES*b5|P=UBG zoKJi-Fr1$S&+2|4>_BbD)u7>v6vT5*+9cVYj|oW8Y}zL{xIYHx{HOqL2vRtY3LLl% zM=%*ym*9%EAHPjS6a%j@R&aoe1U}@sO7KiE%?9#&ili~^OsDpyrU7`qh2VE>7T zs^&-XOgGdZh0zVYSbL%!?ch!O5j<4HSTNXCD(V=dSSPm=>G!If3&VVNKJQM^tK zwaEDY>oc!gzd265Fq#a%zF(k`+=hiBY)Ho6aY0h2VhoSS@uKm#(8}zJ)8;RzI5y_F zZ;rXA_$a)Ln-GOQD0+nCB4AGm&jhY3(wc}k*Bx+zy%f;0x2ltJqwfhH_MV%!?}%*jLS&y@HveA%pw}T(h#Rpl#P}7Ze7i{7W}yO&GS!Cxv%N;Y zw-5zl%I89v%usxKGn>r5k-Yl;3P9izeFnXTo@WmK1&s2#zH)8NXO!~8xNRd;02oN% zuRwfZ$=|M_jkP}m+lKHC61L;`Toq7Fs_AesEV+Zj6Y7`$PBk!^iLO#D= z!W>+_@1J~cJyY~c7%L>fykEQY)9~l0U*Ny6cai85DuA~^q{4mNpZUtANc%H^^qrQn zx&OrD*hYKzLS}?&7bzF*J2Bp19}}KE(6j%LLhAQx0Ol{p1fTONuAwQ@haMB%j)HjJ zR3QFx3`?lGQ=cQJL4X1O`nHrN3dRZJ8hTR0^N{YH*ov>xyCf$30-$Wg5c6*(v%iFai(ZnsT+>%T!2-h1eK3ybG4E5jp0C~nDn%#;@4dloHT^E< z8XDIg*c-b@#YR9m@^CN6h=&dFa&GFjoV!T9?7K*&lZ-&X))ntZi>9@P0K}8kjsc4U zt^v1L?hQaDv0U=LxmvU{Hb#f9TV{qyz<^JXMzh{)-84e6X;LeB{5KxGrZjl=3yR|S zI}hv9wm8UMb0U^NQVJ+MEBuCV=4pc8SB-AkbFrGqS09q)i$eHf1&2 zPuV#gA5gODHxIm|I7;04u@Ly0=g*BpJ_1-XO}VDNu7rIZxyEZT7WJK9XDo3)ZReaSim!j!zjl>7yw11Nb^oWOtooL1(c1u{edwbN$X>P{dK8XMq5=xWG#6N1>$ zUpMhRY=`a3iUq-MrID=L{~7EPpoIHuw%;On-a2T0Qb`{3Z#t`C8!PzHD?hy4E3>cw zP9a%`3g@yTtlmt$7MIoY>rfcmY+o#hcG%WfW5WSXl6kkdC26^%-0xBleC8(=AQAr! zl+|ax8zZd>!8P^bn7*+ym;v>y4-~0W(uP0>M4J=rw`evaLeDykKh5L>unL&~xTfsW zGhEW$rBZr<#NbQX7v!s)1K1efbiGoZQhaz{A-;~N3* z5*!|YcwvT7?4j1TAC1qy$O~#tf<0fQ{vgoU#%-cth*CqSY1{^$gEOlG3q-mtL=CLDetsYR^?buQ zsKeZ}QK9NAxo?^vp|*=;sgp-2)2yon8I!<4T5LTA;$RT|ps=u0JI(R4f(hcdiG98rfGt|MREsm|hZ zGgI?26Bn@PlmJvx2%ovBwaqgf6{%QbNfC5y-BT0*a7k~DRUJV~CW#;89>{@*!@SHp z8E)*Mgiw6`(d8jON0Q1+dq$}Tc`YhR9R+~ctlK`uR!cQiDCEJu<9FqQLZ-r?udiOM zq6dWtlS15a0ouHf(C=0pklm4TZkO?y$2hVe0mt|^36gQxC^30O#X1?%+|o*zs9gIz z2OPgpT)JwMP%2~=96#Vq7~tV{2F9Zpg-ZdiA?W70BXI^MkR9w&bc_HMIx3eI$B*+1 zcu%EU4FwNk)b{g?CYyhMEXKp*?G6UJKL-kQXHp}Z!kIL`C>4MWl_son+4@>3}= zT@*tCri&~dFl>xd3Y~{p>y%fIm5eYhi8pD++U(fx zK}JPsLrp1A<@y_^ZQnkuT_j#M6D}-JmBeqtQnF0RXhkHcgU1>ETCg~d*J(B56YJMy zFWc-d8g9XO2i=nSYF;20-KHnd(v)AnpO`O?Hfpi+Id+~O;}Vn`^3QA01Z`g#oI7eaFuPt4RNsb* zBX)iTHh^i{r_glFLWet=j=QLI2-H!t6?wlgrU^w5AS%Y9ftepB_>Jo0n8gmZU{~IXAfP~l4}KL4@%9e^_w9!LL=srOzX?zrKyjmEk2$bq zd4h?`$&i%xT>?aCb* zj#6=EnEQ?P#G@93x7q%g;ceJPUzm)d$!;gi{*WraMe@z`&!oYIaka$SV9hpCll{A47_h!GU}vmooxcUHPKYW>!QTHG%!a-6ctj=m_UnZVYru z{AP^lMoKEHjsp#M)Z#{BKHlGXQryxv^Yv?oM38$ zBo~e^ohg&EvmmU=dA!erjQGH@);e4!bb(HhFD>U@$6Rwx_cEI%Qbj{9i^@l^7XyBR z-O66>1klcdUHHaj1}o~VxFMpj23|HJ@~seXQj{o})r>M*(q22HZHZ>v{-GrqFTK z3x~x?^y6GC;_K<+Nn}ygjdwoRj&|2doFt+(H;m52toyzg(w_D8kszFiSZVC9G_E^&#AR*?DN47V83bC`H2FTLBKFHQl_aUNT_eH{X~IhbHq79MB)^_0dGX+^ie>( zT8{=2B8G(orRD^QIB*%fK?$BIq2VD-w0RbYWQ+_w5I=3E?lc62QFa{%qi(FTn@1N> zD8UDTq0x#=SISs);$*8>g$as>My1>l@aoSiLf&Hn7OYEs>B{LY2ey;Y*$x?>94>>#s8 zeL_~dDNA7ud`JLD{Z|m1JI;9cJh?5>weYcI)6|P|^qa?TJ>5=&BXW$H2(GyZNrwDz zjQ+DABGj}r9JjN}CDzXdY)r|a;Y`%}{5-zcU)x_V_W0TL=`GVhJ&-954!l~MRErYA zs9So&+G61#{H@Bk>wcASegxb(RSg&IhpTJKi(MF?LJF~*ua7>~E|FYlM{?6Qu{qjg zNzyD^X@35>M}Nodpp{TWXNB0$fkKIcbx0Jns%X;5`Ks4N+kV} zl5xHxDmEPr{!n<*)GaFViGrN)d>&uu2oftpfj5&2BqHu?9rXhYE@ULP2ck3-MApT8 z6a`+|0eO@xq?ID;Z;|kIse_Gg`ME(8^s|MHxlW=|cg?Z=mSdf|Ff z_*bHa;R$$ z0HQFZDho)t>an&@Ory2Knce}o3LDGAigzpUy^O|Jx?n`w`_mE;B?12Mp=W82IsWXJ z$;{=d%2s7RM1m3?EBYu#mLq8ESzfP1rOs3WwmGt=it+34zLWN`0s8mJ;vvSI9pGRY z12num;lirpPZn>`Sfb+3PmQ5CId^UbBr|f%x>^z9$@qheBla!RUAj(q`juLK6Eq2M zrz5yo)e&{hB*LrO@&Yo&@^b9TuG~Od8Mm><&iVuP96n$HuqN!aKOr~XgyS>?x;UBA z=5uy!0fciBcP(3e?o~+S1mDU`sx+Nz!YohrRQkCt>B?%65BG$EF*X_mS>C2~i zH|~JDe)*dudQ9O7B?dOcFb98GU4}vruHXufdHq7d-V$(iHskqH8HBD-ZsJu3dn7Ez zsfEkK8li{YT`?tI7sf+pSz9`kj-=RbsL;WCS3f!teOIi@abZ%IGSqcGH^Jbkv1<~R zVB_%2UVUzsDeU8X(_}1jnfFvN;)Comu`c^l)}}~rYy*np!gLcAa>8|sl+c9sm;i)z zrRd7AZVH{B61>2CXzYWoCGu3}Eg*y4^LJGBKxVziSsqF9ua~Rg*0eC6gWXNwI)%?I zIOEgNK|XziLO_JfjF_xUhrgnZH;ap6 zcuHv-D3G-Q$af$q)wMvcey*k>n2Wk@q2h{`>SrBq0L5K$zZ4Qjp`RL`jcH!br$2^1 zQUFuv967d|hB5I;yLlxvPP~)g3g#nduxV6u=%ia3Jx;{d=mKDL9ka7p1kQ07(0R+7 zM@_6<2iZOPio<8M_I`A6KtO;lBF3@?k||}K(1eCUGaTGFfr#q~@)55VV=eANux;-5H(u)) zri)t1jys!Jj|>+-IQ^ptv?6QjcWEp9wupivVe@cfxfKjerrxiB%(!z}n&I+Dam0iT1Bxj#?bI z@d#a09yOp76-;E&GF3PnVLGtFJ-)zV#*xSqDYY_XeGFHmb>f9M2^DP~@;}T#!9+zO z*Nr0B^ za52164oiMzi?LH)CA%?s>QNV5OsDTB@Bc2ff-RnYP(OCnq~=^8-j{*S94j zjCyYhm>duD@fL2JG??v-ALnw0jFARnH{%RkjQSA-XF!%sqF~=3kUzCBcW~uXSf~h{ z6-9;4jb>4r*V371*-FkJnveFteK&k{Vt#9C?a`a;$>Fz^fe(A0zM(*s467W+Wpd|@ z-LSYx7HHPpR@S%Q?@PYrPgWYKtlhPP1Y?}4`*H9!?3>GTN;kz>iHB^pSozoM|0?F2 zC`8ga46GyGK?4GU{;yNg+1$j&gz?Xj`A>y2OF^wWx)>H~aCuH3S7Y@C?1{<{laOcefwN-*2&gWjzZSk8CkM*#qSHr0k91n+N zzmr3ckUa8v_2?;HEuMuCfc_43ka>B~JWzB;AlfQMd>FZC@(g$#TEf`|dqN~z5Wi@m z-nCk;(P@RNfx&c#k!YQ+>1{rML(!&AYNZb$?hygspJ+odAwau{i;_kRfR0}xEwXG| zr*lXCjd7J1@_lJz7G@0w9<9jb0u03Il^~9=d)tx@uL*XoX&@^>f;JsVjmtCXQR&xY zNvAZ{N=Tv2*bBY~lVC_c7=$A+<#$!?=LRWeaY@oRG!eRdnVI_mfh-0gWGVH(O(@pth-)=k_Yzr+Y%(eYr zy1Y=)n@$AhiBOsH_f46lrRy6NXKM-;Br;tcNTN#_F^uz}2^E)8&Kfsh(N>@hadJ@_ z$*VuW60mrY3AMuY4aP5IPTd|Qs{5|NL+9Ik#S_#pj9%*g`nb22GTm1p&Zzt8>0ohh zq=w){8=?pH#R2v8@HgYD_Y?K6v&S!X*gB;F0Wa)&?000C6zB-du2pI$~%y zs>$Pwm4xVQjBy5GsfOdFuQPdt_5-qwHNwX2pA}nSNzyTGd&7Kn>r`h*B}Z+j)<287 zmP{_;jRe6LGn1g*;SIVI|6<6nq}hmXau71Mi7P7+PVMy!id~DHBQs98bkRA69P%*O zlJ)1`^<+^ZS}D#~=Py61^+=8mdfg3ekBL*S|GY6^w2T*NY1$9xgs#vPEHeg^Kj>Oc zZ0eD5`ej8xwddBjLwe0R=>^anx4gyw(#x|E+-P7>U-EnHvtWCL3$@c#$m{~g&fu09 zi{G^8cXv779~Ne%CG?e26+etUmcuW7ZaX$+U8c31*KiF!yACDhu4&u(YNrpMOsp2n zn)B^PFy{Nw_E>&Tj8qT9W5q%Q6C0vbZ|z`!FO)&2Z5l|msvj&M%GKV?q5n#wS9;fe z{DPL8jEKp8_fwpQ5KU_#Y-w@)Feoqo_N&rva$;v2&BDSGWs%s$jYXM47?zwwjMQGL z$NsMiy%UtE!hV^or~Nd!WC?271{@2@22|AjQYKl*N50Hy$4E8DOahel8KDu4lv?j1 z*XDv!rm~copN;udomAiZ{q0IO!k0KPoOc5PnwvIDIq38Ua&4ma@x{IG!P*Gbs!-zV zwwkT`=4LI=AxD13+5UEM$}a)0verztddRH)I0qFOAv?Me%B7vu%y5lRT+VSiPF~TZ zVzH>XpqcbjCE|DtdB>dXb2F2eyCF@J3!4#5hcgNCnoAZq6WPaR@FJH}1so7I%DEcp#{;EJIzDJy|4i$gPgPD-1*uP^1_$~4awQ=A zyKI;{g>rY=T6$ka=6su3U!B8Xhb6FiXmaz-c3EoCEf?m)igkia(B${e8dOZFW}y!# z*rkS>%C_~symo-q_KF=RFb?+0<)xk0x1KK4rLBW9d8It>_>gUnSrr-wWGw-D8@b)d z9Qi^InHCjXNYTq4fh~e{NY{D z8H1bk+T>CiXTfrk)eh&$jjjT{Xb@AbEY63no^!@@i}v#LYkA*x(&%6vW4K;wbbkF; z0o80@p5+qY7akNad;JJ}H*#@uwzE;Uv1YVzHnI8hwO18c2iMPp2J+KebS!?Xm?so% zUJ;oRB@eDz^65KNd}n;2;oD|t&$ina`;kK%*;g<^HXcBWsHBrUoacoYfbi$-q2MiY z&{>cWbY?ZOxssW-A60xTd6XxHYA7y)iz@o;4f3FxR=5mf$H2wa|I)=jez4dD z)I$l>Meq+@e^rP5x4J*2VWXz&fcZHx)OME~aie*;i5XR%`U5K1>Suf6irDF9V4?JO zX^GA5d?j#fmQDP(pH4PDNENL@6fv`<#pOx9$M$y)9H(Y0KDJ3j%?^#UVoax?g-@3S zpZYA@jLomZM1)AN+n7r1s>bM%=~PmQk|zSW)ftSkUFt6l&1N#%U*{fsh&w2i@We=O z4Xg{X2w*qs9MU@j@Y}6?M;U1vJ5Y_dLhe)R*uwh`u~#IfkzZA1RbvE zTsL*d$nF3I8v=!6{X_V>WO+wBd#69WniX4T8^DAn`lY-7W_OG^7s4DZR04$BYEeoD z-_4iYnsiMhs{GYcmWSPFW*$u%#+SK*&dZ*cBGpU3vrw7!*fG+M>mcUf6^Hu}~ z%?1N%qLBj@MWs%swD%}1=?@Ixu2RQm6;6kA6NS%bPIEIXtCz>psj6%?yE+;Djew^Mub|E9{jjRdq0l$P&hRs`JN;jLo6MeU^(EubziyLBe*M=hEp{d(%nGKnGZTv%OOC4zBc+D%~zY!GaX`GTrCQDUS`w;&W) zwWm3w%uMT-(icWkw3S%`rQxhHsIC)HAAPpCU%dd&kiVX<0^&Cj!_b^KE(5emwuI>p zr6-s6UVo+>Q=I=)gk42N{WjC;BWUrq^BOb#8)a<{5|yT=gi4*~JLUDtcZsw}Yu+f% z(EhvRUG=NPnthwevMDuMJW|i;p*dIlZDX~tZDuK@A=V&kXr+qWf@c;ExV@V>mrVH$ zBUOjano!EnvhDB>a7FFtRzb)$Yx`mj6!N=}6zT+QYVxz^!%M2Q3VjYri+RkXD!u07 zl4+A?j<=s9@LY!kg`Xa1L zRlEG-Gosqg?8(xc>kyxvem){{l(?MLFr+rJN}OV6Nsh#sZWCpzM3HaZb9+%2=NGw& zx&vcsx*=)wH6fPf{Bzb+&F1JC`nX>oz7yX#O30@bU{X+Je48hemB7yQ=uMOR${7=z zg{aS-7*R$+W1I$mL$~;uR8y8gA(EO5z3;=5!VtgTn&oQ^a0jkA`R&Pm#weWPZ@OU? z@hXF|vq0J*p<^zdEq+tOV)7XgQS}WQBCWGmJ9nY9?CZ7Fn^m{`BgP>piaN8Xq3quP zE@$mG;fRahO@?RoKMgx5>W-p@q6z$P;kzWo4JoH@1k00pwv|(=yCvP0@A_e_x@LAR zyRKw(MWVW{K5s$y>8R-p?+1B`GD6vAq4Rw2`qi?@wJfI&T{#?>?FKn~q1anLyqL_8 z%U|{S9_8>uZpH}X)7BKvO_L7iZ%j7HG`$S ziP?p!mHkH*H2w}xPHLMeWGZ?z=>86t-a`7%v|t<---{DD3h8Scf+Z9FPg`dm)Wj7A z@Z~-YU^oR4jbK5PTY<_^uUZj7k%~|VR|p0~giuJr5d#v=Lbyc?g`$=#(OO7Bq?{H( zxdj0e1%n(3aw$hspbNzUJLHdK_Rao&Z}-i-?EAiNW}h`YTf;55E93lK%HP0e^0CmB zN3xf&IX7%ONTwH0S$-=bEg`G;Y#(OY=$I^0VEPTSK+HCZf^6k7`@7V${S;%y0TI>d)}zm zJ}kQ3rCpm$;Y^;S?sX?My-e#ZuF9G*P1mtEG&+AUAUnQxA`q9%*qi%(rYGHI2m@T_Au zhg59m_I)^A9w&pob}q18z5nbhV>U^;B(ahGE&hkb-x&tUZIO)$5`v=N>^5ggN42=} zA4nq!=}GRxSG^+xj)I@Wy{8R=Ed~08drf4)tx)6es2?rvCKgN5E?hQN?ut4iua_EH zHIgi@pDCMsT$i%QHrG#*{iQ7Vg;EyhjAJe>=ts3ytr*u!MNX0#pZh2|4fu&6@jrPr zsUx)P-Ia&Yd#N@7B9?WqhV-sf&fDI(<))Jfs+~bAgP+2#*#PiG&N>R0!JGa`A!f#(xL<|1&$9nJ@H_8j>1o>YHYtUQ@?Gnn43 zOwYgzbIJg|$VT0M-CA2;MV~CsU(Ylccq#?#Kt*egDw$2OQhKdujZ!UBN|WR7dzjF(=1pNbkdvv_IIme>JDKnz!Bn$R zs@_YsxZt@sEB#o~{upZ#TDX1kXZ%SdR_pCijakb&4IRNOo&@!Z2)uk)hS;l4EV(V_ z1f#|xTm(n6hkuH(eq@mARt+RqE#k)MSP822gZz&85SOu|{6Day6PKAvi7qVCv<*KO zc9LgVUbgTQkWlEf+jEhq+gH=o7t-c&T54*ihKQ7Z^A%!QxSAdT+5oTup=~A z>gc_=e_@p#RE1Q`cJz0&PbRmJ#J0f z$=!ysTt#v1`WxDVAyn6^F9b$K+}Y&BmP4I8knGMRWIBc6RsSJPEMtO+$RW2{zo5eh z$OT?ri7M%4S7*|4p4@M(BJ^-cb%c_}@{~?}0xrmUVn}@f&s42-nw+JlvCr5Awv6|X zRm0gGWgJyP===K*sNo;_MyL^afh|3mF5#$wV*1m?o`J7fIEK#%EyKgP6HG3tKBbep!Ll^tdQ6pLNus z^x{2AI=Dh@26Jw!VaJyb5o`khrxRc@80CjWUc&jK0-aY^XHWr7!^(02Je39JktM#+ z;4hKy8L0SgjlZ_Ehk`ND5_VU?Q#wFUW(zn1w*3F>@wgtamWhVqp9TgLI3VsT2msPs z@CdNwf85RAf4i%mFY&4}69EAJBhb#Xz=2q+9Ds_TYv8?ahx-wgcj|+kw}4%#Z0TGO zwvPXI=bI(ljzVIw{MYe10N`RT1W0W$`GbdR7ZQlY`J&d!mC!MOzEJWDPvrZ`Vhap; zy(H8Ft&?teZezcAHWg8zIJEGxfs;elaYz{kYJe6ZHVhTGb;Fjj1eAwnjW_snq3b*} zhYVFfCXTF literal 0 HcmV?d00001 diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_tweets/ListTweetsAdsCandidatePipelineBuilder.scala b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_tweets/ListTweetsAdsCandidatePipelineBuilder.scala deleted file mode 100644 index 9e5a4e541..000000000 --- a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_tweets/ListTweetsAdsCandidatePipelineBuilder.scala +++ /dev/null @@ -1,93 +0,0 @@ -package com.twitter.home_mixer.product.list_tweets - -import com.twitter.adserver.{thriftscala => ads} -import com.twitter.home_mixer.functional_component.decorator.builder.HomeAdsClientEventDetailsBuilder -import com.twitter.home_mixer.functional_component.gate.ExcludeSoftUserGate -import com.twitter.home_mixer.param.HomeGlobalParams -import com.twitter.home_mixer.param.HomeGlobalParams.EnableAdvertiserBrandSafetySettingsFeatureHydratorParam -import com.twitter.home_mixer.product.list_tweets.model.ListTweetsQuery -import com.twitter.home_mixer.product.list_tweets.param.ListTweetsParam.EnableAdsCandidatePipelineParam -import com.twitter.product_mixer.component_library.candidate_source.ads.AdsProdThriftCandidateSource -import com.twitter.product_mixer.component_library.decorator.urt.UrtItemCandidateDecorator -import com.twitter.product_mixer.component_library.decorator.urt.builder.contextual_ref.ContextualTweetRefBuilder -import com.twitter.product_mixer.component_library.decorator.urt.builder.item.ad.AdsCandidateUrtItemBuilder -import com.twitter.product_mixer.component_library.decorator.urt.builder.metadata.ClientEventInfoBuilder -import com.twitter.product_mixer.component_library.feature_hydrator.candidate.ads.AdvertiserBrandSafetySettingsFeatureHydrator -import com.twitter.product_mixer.component_library.feature_hydrator.candidate.param_gated.ParamGatedCandidateFeatureHydrator -import com.twitter.product_mixer.component_library.gate.NonEmptyCandidatesGate -import com.twitter.product_mixer.component_library.model.candidate.ads.AdsCandidate -import com.twitter.product_mixer.component_library.pipeline.candidate.ads.AdsDependentCandidatePipelineConfig -import com.twitter.product_mixer.component_library.pipeline.candidate.ads.AdsDependentCandidatePipelineConfigBuilder -import com.twitter.product_mixer.component_library.pipeline.candidate.ads.CountCandidatesFromPipelines -import com.twitter.product_mixer.component_library.pipeline.candidate.ads.StaticAdsDisplayLocationBuilder -import com.twitter.product_mixer.component_library.pipeline.candidate.ads.ValidAdImpressionIdFilter -import com.twitter.product_mixer.core.functional_component.common.CandidateScope -import com.twitter.product_mixer.core.gate.ParamNotGate -import com.twitter.product_mixer.core.model.common.identifier.CandidatePipelineIdentifier -import com.twitter.product_mixer.core.model.marshalling.response.rtf.safety_level.TimelineHomePromotedHydrationSafetyLevel -import com.twitter.product_mixer.core.model.marshalling.response.urt.contextual_ref.TweetHydrationContext -import com.twitter.timelines.injection.scribe.InjectionScribeUtil -import com.twitter.timelineservice.suggests.{thriftscala => st} -import javax.inject.Inject -import javax.inject.Singleton - -@Singleton -class ListTweetsAdsCandidatePipelineBuilder @Inject() ( - adsCandidatePipelineConfigBuilder: AdsDependentCandidatePipelineConfigBuilder, - adsCandidateSource: AdsProdThriftCandidateSource, - advertiserBrandSafetySettingsFeatureHydrator: AdvertiserBrandSafetySettingsFeatureHydrator[ - ListTweetsQuery, - AdsCandidate - ]) { - - private val identifier: CandidatePipelineIdentifier = CandidatePipelineIdentifier("ListTweetsAds") - - private val suggestType = st.SuggestType.Promoted - - private val clientEventInfoBuilder = ClientEventInfoBuilder( - component = InjectionScribeUtil.scribeComponent(suggestType).get, - detailsBuilder = Some(HomeAdsClientEventDetailsBuilder(Some(suggestType.name))) - ) - - private val contextualTweetRefBuilder = ContextualTweetRefBuilder( - TweetHydrationContext( - safetyLevelOverride = Some(TimelineHomePromotedHydrationSafetyLevel), - outerTweetContext = None - )) - - private val decorator = UrtItemCandidateDecorator( - AdsCandidateUrtItemBuilder( - tweetClientEventInfoBuilder = Some(clientEventInfoBuilder), - contextualTweetRefBuilder = Some(contextualTweetRefBuilder) - ) - ) - - def build( - organicCandidatePipelines: CandidateScope - ): AdsDependentCandidatePipelineConfig[ListTweetsQuery] = - adsCandidatePipelineConfigBuilder.build[ListTweetsQuery]( - adsCandidateSource = adsCandidateSource, - identifier = identifier, - adsDisplayLocationBuilder = - StaticAdsDisplayLocationBuilder(ads.DisplayLocation.TimelineHomeReverseChron), - countNumOrganicItems = CountCandidatesFromPipelines(organicCandidatePipelines), - supportedClientParam = Some(EnableAdsCandidatePipelineParam), - gates = Seq( - ParamNotGate( - name = "AdsDisableInjectionBasedOnUserRole", - param = HomeGlobalParams.AdsDisableInjectionBasedOnUserRoleParam - ), - ExcludeSoftUserGate, - NonEmptyCandidatesGate(organicCandidatePipelines) - ), - filters = Seq(ValidAdImpressionIdFilter), - postFilterFeatureHydration = Seq( - ParamGatedCandidateFeatureHydrator( - EnableAdvertiserBrandSafetySettingsFeatureHydratorParam, - advertiserBrandSafetySettingsFeatureHydrator - ) - ), - decorator = Some(decorator), - urtRequest = Some(true), - ) -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_tweets/ListTweetsMixerPipelineConfig.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_tweets/ListTweetsMixerPipelineConfig.docx new file mode 100644 index 0000000000000000000000000000000000000000..f62eb8cbe738511cdd1b7f2f4554c88cd6e91575 GIT binary patch literal 38653 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 literal 0 HcmV?d00001 diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_tweets/ListTweetsMixerPipelineConfig.scala b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_tweets/ListTweetsMixerPipelineConfig.scala deleted file mode 100644 index 2d7dd3b31..000000000 --- a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_tweets/ListTweetsMixerPipelineConfig.scala +++ /dev/null @@ -1,162 +0,0 @@ -package com.twitter.home_mixer.product.list_tweets - -import com.twitter.clientapp.{thriftscala => ca} -import com.twitter.goldfinch.api.AdsInjectionSurfaceAreas -import com.twitter.home_mixer.candidate_pipeline.ConversationServiceCandidatePipelineConfigBuilder -import com.twitter.home_mixer.functional_component.feature_hydrator.RequestQueryFeatureHydrator -import com.twitter.home_mixer.functional_component.side_effect.HomeScribeClientEventSideEffect -import com.twitter.home_mixer.model.GapIncludeInstruction -import com.twitter.home_mixer.param.HomeMixerFlagName.ScribeClientEventsFlag -import com.twitter.home_mixer.product.list_tweets.decorator.ListConversationServiceCandidateDecorator -import com.twitter.home_mixer.product.list_tweets.model.ListTweetsQuery -import com.twitter.home_mixer.util.CandidatesUtil -import com.twitter.inject.annotations.Flag -import com.twitter.logpipeline.client.common.EventPublisher -import com.twitter.product_mixer.component_library.feature_hydrator.query.social_graph.SGSFollowedUsersQueryFeatureHydrator -import com.twitter.product_mixer.component_library.gate.NonEmptyCandidatesGate -import com.twitter.product_mixer.component_library.premarshaller.urt.UrtDomainMarshaller -import com.twitter.product_mixer.component_library.premarshaller.urt.builder.AddEntriesWithReplaceAndShowAlertInstructionBuilder -import com.twitter.product_mixer.component_library.premarshaller.urt.builder.OrderedBottomCursorBuilder -import com.twitter.product_mixer.component_library.premarshaller.urt.builder.OrderedGapCursorBuilder -import com.twitter.product_mixer.component_library.premarshaller.urt.builder.OrderedTopCursorBuilder -import com.twitter.product_mixer.component_library.premarshaller.urt.builder.ReplaceAllEntries -import com.twitter.product_mixer.component_library.premarshaller.urt.builder.ReplaceEntryInstructionBuilder -import com.twitter.product_mixer.component_library.premarshaller.urt.builder.ShowAlertInstructionBuilder -import com.twitter.product_mixer.component_library.premarshaller.urt.builder.StaticTimelineScribeConfigBuilder -import com.twitter.product_mixer.component_library.premarshaller.urt.builder.UrtMetadataBuilder -import com.twitter.product_mixer.component_library.selector.InsertAppendResults -import com.twitter.product_mixer.component_library.selector.UpdateSortCandidates -import com.twitter.product_mixer.component_library.selector.ads.AdsInjector -import com.twitter.product_mixer.component_library.selector.ads.InsertAdResults -import com.twitter.product_mixer.core.functional_component.common.SpecificPipelines -import com.twitter.product_mixer.core.functional_component.feature_hydrator.QueryFeatureHydrator -import com.twitter.product_mixer.core.functional_component.marshaller.TransportMarshaller -import com.twitter.product_mixer.core.functional_component.marshaller.response.urt.UrtTransportMarshaller -import com.twitter.product_mixer.core.functional_component.premarshaller.DomainMarshaller -import com.twitter.product_mixer.core.functional_component.selector.Selector -import com.twitter.product_mixer.core.functional_component.side_effect.PipelineResultSideEffect -import com.twitter.product_mixer.core.model.common.UniversalNoun -import com.twitter.product_mixer.core.model.common.identifier.CandidatePipelineIdentifier -import com.twitter.product_mixer.core.model.common.identifier.MixerPipelineIdentifier -import com.twitter.product_mixer.core.model.marshalling.response.urt.Timeline -import com.twitter.product_mixer.core.model.marshalling.response.urt.TimelineModule -import com.twitter.product_mixer.core.model.marshalling.response.urt.TimelineScribeConfig -import com.twitter.product_mixer.core.model.marshalling.response.urt.item.tweet.TweetItem -import com.twitter.product_mixer.core.pipeline.FailOpenPolicy -import com.twitter.product_mixer.core.pipeline.candidate.CandidatePipelineConfig -import com.twitter.product_mixer.core.pipeline.candidate.DependentCandidatePipelineConfig -import com.twitter.product_mixer.core.pipeline.mixer.MixerPipelineConfig -import com.twitter.timelines.render.{thriftscala => urt} -import javax.inject.Inject -import javax.inject.Singleton - -@Singleton -class ListTweetsMixerPipelineConfig @Inject() ( - listTweetsTimelineServiceCandidatePipelineConfig: ListTweetsTimelineServiceCandidatePipelineConfig, - conversationServiceCandidatePipelineConfigBuilder: ConversationServiceCandidatePipelineConfigBuilder[ - ListTweetsQuery - ], - listTweetsAdsCandidatePipelineBuilder: ListTweetsAdsCandidatePipelineBuilder, - requestQueryFeatureHydrator: RequestQueryFeatureHydrator[ListTweetsQuery], - sgsFollowedUsersQueryFeatureHydrator: SGSFollowedUsersQueryFeatureHydrator, - adsInjector: AdsInjector, - clientEventsScribeEventPublisher: EventPublisher[ca.LogEvent], - urtTransportMarshaller: UrtTransportMarshaller, - @Flag(ScribeClientEventsFlag) enableScribeClientEvents: Boolean) - extends MixerPipelineConfig[ListTweetsQuery, Timeline, urt.TimelineResponse] { - - override val identifier: MixerPipelineIdentifier = MixerPipelineIdentifier("ListTweets") - - private val conversationServiceCandidatePipelineConfig = - conversationServiceCandidatePipelineConfigBuilder.build( - Seq( - NonEmptyCandidatesGate( - SpecificPipelines(listTweetsTimelineServiceCandidatePipelineConfig.identifier)) - ), - ListConversationServiceCandidateDecorator() - ) - - private val listTweetsAdsCandidatePipelineConfig = listTweetsAdsCandidatePipelineBuilder.build( - SpecificPipelines(listTweetsTimelineServiceCandidatePipelineConfig.identifier) - ) - - override val candidatePipelines: Seq[CandidatePipelineConfig[ListTweetsQuery, _, _, _]] = - Seq(listTweetsTimelineServiceCandidatePipelineConfig) - - override val dependentCandidatePipelines: Seq[ - DependentCandidatePipelineConfig[ListTweetsQuery, _, _, _] - ] = - Seq(conversationServiceCandidatePipelineConfig, listTweetsAdsCandidatePipelineConfig) - - override val failOpenPolicies: Map[CandidatePipelineIdentifier, FailOpenPolicy] = Map( - conversationServiceCandidatePipelineConfig.identifier -> FailOpenPolicy.Always, - listTweetsAdsCandidatePipelineConfig.identifier -> FailOpenPolicy.Always) - - override val resultSelectors: Seq[Selector[ListTweetsQuery]] = Seq( - UpdateSortCandidates( - ordering = CandidatesUtil.reverseChronTweetsOrdering, - candidatePipeline = conversationServiceCandidatePipelineConfig.identifier - ), - InsertAppendResults(candidatePipeline = conversationServiceCandidatePipelineConfig.identifier), - InsertAdResults( - surfaceAreaName = AdsInjectionSurfaceAreas.HomeTimeline, - adsInjector = adsInjector.forSurfaceArea(AdsInjectionSurfaceAreas.HomeTimeline), - adsCandidatePipeline = listTweetsAdsCandidatePipelineConfig.identifier - ), - ) - - override val fetchQueryFeatures: Seq[QueryFeatureHydrator[ListTweetsQuery]] = Seq( - requestQueryFeatureHydrator, - sgsFollowedUsersQueryFeatureHydrator - ) - - private val homeScribeClientEventSideEffect = HomeScribeClientEventSideEffect( - enableScribeClientEvents = enableScribeClientEvents, - logPipelinePublisher = clientEventsScribeEventPublisher, - injectedTweetsCandidatePipelineIdentifiers = - Seq(conversationServiceCandidatePipelineConfig.identifier), - adsCandidatePipelineIdentifier = Some(listTweetsAdsCandidatePipelineConfig.identifier), - ) - - override val resultSideEffects: Seq[PipelineResultSideEffect[ListTweetsQuery, Timeline]] = - Seq(homeScribeClientEventSideEffect) - - override val domainMarshaller: DomainMarshaller[ListTweetsQuery, Timeline] = { - val instructionBuilders = Seq( - ReplaceEntryInstructionBuilder(ReplaceAllEntries), - AddEntriesWithReplaceAndShowAlertInstructionBuilder(), - ShowAlertInstructionBuilder() - ) - - val idSelector: PartialFunction[UniversalNoun[_], Long] = { - // exclude ads while determining tweet cursor values - case item: TweetItem if item.promotedMetadata.isEmpty => item.id - case module: TimelineModule - if module.items.headOption.exists(_.item.isInstanceOf[TweetItem]) => - module.items.last.item match { - case item: TweetItem => item.id - } - } - - val topCursorBuilder = OrderedTopCursorBuilder(idSelector) - val bottomCursorBuilder = - OrderedBottomCursorBuilder(idSelector, GapIncludeInstruction.inverse()) - val gapCursorBuilder = OrderedGapCursorBuilder(idSelector, GapIncludeInstruction) - - val metadataBuilder = UrtMetadataBuilder( - title = None, - scribeConfigBuilder = Some( - StaticTimelineScribeConfigBuilder( - TimelineScribeConfig(page = Some("list_tweets"), section = None, entityToken = None))) - ) - - UrtDomainMarshaller( - instructionBuilders = instructionBuilders, - metadataBuilder = Some(metadataBuilder), - cursorBuilders = Seq(topCursorBuilder, bottomCursorBuilder, gapCursorBuilder) - ) - } - - override val transportMarshaller: TransportMarshaller[Timeline, urt.TimelineResponse] = - urtTransportMarshaller -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_tweets/ListTweetsProductPipelineConfig.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_tweets/ListTweetsProductPipelineConfig.docx new file mode 100644 index 0000000000000000000000000000000000000000..2264af1742e181d91e74e571adfd1bae824f0929 GIT binary patch literal 38407 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 urt} -import com.twitter.timelines.util.RequestCursorSerializer -import com.twitter.util.Time -import com.twitter.util.Try -import javax.inject.Inject -import javax.inject.Singleton - -@Singleton -class ListTweetsProductPipelineConfig @Inject() ( - listTweetsMixerPipelineConfig: ListTweetsMixerPipelineConfig, - listTweetsParamConfig: ListTweetsParamConfig) - extends ProductPipelineConfig[HomeMixerRequest, ListTweetsQuery, urt.TimelineResponse] { - - override val identifier: ProductPipelineIdentifier = ProductPipelineIdentifier("ListTweets") - override val product: request.Product = ListTweetsProduct - override val paramConfig: ProductParamConfig = listTweetsParamConfig - override val denyLoggedOutUsers: Boolean = false - - override def pipelineQueryTransformer( - request: HomeMixerRequest, - params: Params - ): ListTweetsQuery = { - val context = request.productContext match { - case Some(context: ListTweetsProductContext) => context - case _ => throw PipelineFailure(BadRequest, "ListTweetsProductContext not found") - } - - val debugOptions = request.debugParams.flatMap(_.debugOptions) - - /** - * Unlike other clients, newly created tweets on Android have the sort index set to the current - * time instead of the top sort index + 1, so these tweets get stuck at the top of the timeline - * if subsequent timeline responses use the sort index from the previous response instead of - * the current time. - */ - val pipelineCursor = request.serializedRequestCursor.flatMap { cursor => - Try(UrtCursorSerializer.deserializeOrderedCursor(cursor)) - .getOrElse(ChronologicalCursorUnmarshaller(RequestCursorSerializer.deserialize(cursor))) - .map { - case UrtOrderedCursor(_, id, Some(GapCursor), gapBoundaryId) - if id.isEmpty || gapBoundaryId.isEmpty => - throw PipelineFailure(MalformedCursor, "Gap Cursor bounds not defined") - case topCursor @ UrtOrderedCursor(_, _, Some(TopCursor), _) => - val queryTime = debugOptions.flatMap(_.requestTimeOverride).getOrElse(Time.now) - topCursor.copy(initialSortIndex = SortIndexBuilder.timeToId(queryTime)) - case cursor => cursor - } - } - - ListTweetsQuery( - params = params, - clientContext = request.clientContext, - features = None, - pipelineCursor = pipelineCursor, - requestedMaxResults = Some(params(ServerMaxResultsParam)), - debugOptions = debugOptions, - listId = context.listId, - deviceContext = context.deviceContext, - dspClientContext = context.dspClientContext - ) - } - - override def pipelines: Seq[PipelineConfig] = Seq(listTweetsMixerPipelineConfig) - - override def pipelineSelector(query: ListTweetsQuery): ComponentIdentifier = - listTweetsMixerPipelineConfig.identifier - - override val alerts: Seq[Alert] = Seq( - SuccessRateAlert( - notificationGroup = DefaultNotificationGroup, - warnPredicate = TriggerIfBelow(99.9, 20, 30), - criticalPredicate = TriggerIfBelow(99.9, 30, 30), - ), - LatencyAlert( - notificationGroup = DefaultNotificationGroup, - percentile = P99, - warnPredicate = TriggerIfLatencyAbove(300.millis, 15, 30), - criticalPredicate = TriggerIfLatencyAbove(400.millis, 15, 30) - ), - ThroughputAlert( - notificationGroup = DefaultNotificationGroup, - warnPredicate = TriggerIfAbove(3000), - criticalPredicate = TriggerIfAbove(4000) - ), - EmptyResponseRateAlert( - notificationGroup = DefaultNotificationGroup, - warnPredicate = TriggerIfAbove(65), - criticalPredicate = TriggerIfAbove(80) - ) - ) - - override val debugAccessPolicies: Set[AccessPolicy] = DefaultHomeMixerAccessPolicy -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_tweets/ListTweetsTimelineServiceCandidatePipelineConfig.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_tweets/ListTweetsTimelineServiceCandidatePipelineConfig.docx new file mode 100644 index 0000000000000000000000000000000000000000..79fb5644d7f6951454ec196c28f9c71e671b9d17 GIT binary patch literal 37497 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 t} -import javax.inject.Inject -import javax.inject.Singleton - -@Singleton -class ListTweetsTimelineServiceCandidatePipelineConfig @Inject() ( - timelineServiceTweetCandidateSource: TimelineServiceTweetCandidateSource) - extends CandidatePipelineConfig[ListTweetsQuery, t.TimelineQuery, t.Tweet, TweetCandidate] { - - override val identifier: CandidatePipelineIdentifier = - CandidatePipelineIdentifier("ListTweetsTimelineServiceTweets") - - override val queryTransformer: CandidatePipelineQueryTransformer[ - ListTweetsQuery, - t.TimelineQuery - ] = { query => - val timelineQueryOptions = t.TimelineQueryOptions( - contextualUserId = query.clientContext.userId, - ) - - t.TimelineQuery( - timelineType = t.TimelineType.List, - timelineId = query.listId, - maxCount = query.maxResults(ServerMaxResultsParam).toShort, - cursor2 = query.pipelineCursor.flatMap(TimelineServiceCursorMarshaller(_)), - options = Some(timelineQueryOptions), - timelineId2 = Some(t.TimelineId(t.TimelineType.List, query.listId, None)) - ) - } - - override def candidateSource: BaseCandidateSource[t.TimelineQuery, t.Tweet] = - timelineServiceTweetCandidateSource - - override val resultTransformer: CandidatePipelineResultsTransformer[t.Tweet, TweetCandidate] = { - sourceResult => TweetCandidate(id = sourceResult.statusId) - } - - override val featuresFromCandidateSourceTransformers: Seq[CandidateFeatureTransformer[t.Tweet]] = - Seq(TimelineServiceResponseFeatureTransformer) - - override val alerts = Seq( - HomeMixerAlertConfig.BusinessHours.defaultSuccessRateAlert(99.7) - ) -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_tweets/decorator/BUILD.bazel b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_tweets/decorator/BUILD.bazel deleted file mode 100644 index 4258ffc36..000000000 --- a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_tweets/decorator/BUILD.bazel +++ /dev/null @@ -1,15 +0,0 @@ -scala_library( - sources = ["*.scala"], - compiler_option_sets = ["fatal_warnings"], - strict_deps = True, - tags = ["bazel-compatible"], - dependencies = [ - "home-mixer/server/src/main/scala/com/twitter/home_mixer/functional_component/decorator/builder", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/model", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_tweets/decorator/builder", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/decorator/urt", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/model/candidate", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/pipeline", - "timelines/src/main/scala/com/twitter/timelines/injection/scribe", - ], -) diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_tweets/decorator/BUILD.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_tweets/decorator/BUILD.docx new file mode 100644 index 0000000000000000000000000000000000000000..3c0afa0a192c8ae7a8837217f5a8fd2d631cba47 GIT binary patch literal 36910 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 literal 0 HcmV?d00001 diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_tweets/decorator/ListConversationServiceCandidateDecorator.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_tweets/decorator/ListConversationServiceCandidateDecorator.docx new file mode 100644 index 0000000000000000000000000000000000000000..ff399b2d22e40b8336bbff1ea33afc9936f07bec GIT binary patch literal 37410 zcmagFWmsIvwm*!!dvJGmcL)S`m*Cz=aJK-#-QC^Y-66PpkU((ve`jXSIWy6i zO`Y@@-E3_d6Xg`vgi*epzhWja2@-pXA!C;9+Ed%p$Kr}tr{8jGEi;|Uf<4|(@P?_) zD26~W#%846dlRnJ33PciQR;|^pX%vlXylWE7klMzE|^-3qBXk(GEz|d<2Q2s*F}gBN_^ZQ5G1346V+e;mYkGvsYC<9--Q! zv)CU~ba|cdbtQci^OMMWU1p?I&$Ld5YxCz$2{XJoQ4K?`W>(P`B1w zh~zc|4?vmyVcWy#IWL|HR;1fHewZpW8%vZhXF(V?vs zrRr^Y94LkBaW96Hanch&Lsd_rmjIQ<+7Vsp6?ET!e@{~wO)mJj9IAgmKPP89q2@P& z{FOsZs8+dMBsyu7jfd;q;aH5+`!**?XN5;x-n&EGK!Dm`c);`F66yKiGvq4H1A>3m zz0^x*(Z2IqK%TKIeG-k%Ya&4bYIp4CXU`}2;_?sTg1s+G#T)xVWA~(a&lqz0Ad3H} zqC2IG@B^@Vn_wUy@W8(Yj;1zFOpL#;m2s1wz*$iI&IKh#D2nZx)Wi!`^u>?l3Iuyn zCeDiNe58t2yE>J`^)#`12@lWrjLjC)^YNDHifjTkjImtss*);i!h+3RfF$jJej_G*I2~0M)0%0271?Oppn{SkVz+@5E#ba5VjWlV`?_%l9** zNZfl#%*&~VU8BHANYjEIfBPhb;lJE^$Ic;VGoHmcxwThdtDQsVLb$~@d~Gkd!PVFd zZX6sJOcWA(?r-u9UJLVW%?NA#IZJ|;r!q09@4V+}?uyc!*LbWaTnQHet|kjyI-NyN zb}^KfY@m*Veg5kdNoI?3QSOnb3aZ@7S9Rey>NYY&;(ZL7pZ@-YVew>f^{A!IMT8(3 zs3p0eVMzm@WvBEZ=9bH0108p4AY5>(v=w%bHg#BV*P0O5zSOim8DFvZ`VeR%2L1Xt zXsCRUVM<*C#fpFG@(78549X^~l&b97qRzVg?bON9VQbn2T(2CVIRpVI=|k?!X-S1} zKrYO>j>{%sps;p$etvhI!HL38=!;1UTMhba(>OO(@@Jonja;N*R{`@7*vy3cn@dZU z^aN>)Vv!68={BiZ`mV{mqk7->k8dBA@#!A8E+KG^&5`tJ=3K?zUiz-^{#loswKeP$ zU|nn=KtNFbUYF1I_J5Q`b=+=^8KvWy4nptCH%n*{C7if`MUfe?4cwZzjOO_<(oeAv ztt`7f-jAV}JYSh^!}#j?o*TxVmqg5<8{{q2FvlPBMid=3;2NvH4Iivc9+EmiltGqa zst=;-IT%cjRW3j=z9P^=pBB&|1^xFm$OcT%96{<4ZByxHJc)GlxD_5HH)n`EO4QjTg|GGm=%UyjbUksAW z9TLP7pXl-nmN@OI7_>G)Ong%+x^L|m;QALAH$r^n6}Tqox2qq|2bneK3Bs26D{ZLc z-cvJz61C$s<)3yLD@X*YhN#Gs2%e3I@aT+b&NL1W#g?@7feOf{H z0aTC))&e++A6>L}iS8|MUr`t@ZCMVtADso@k6od-eOl^a36oD@ZC*zs#tHpfY_^gU z1t&GO$oWDtu+=~I2nhlL zAo}wI>k4o*VFG??oo#`O)9*WDLCY4f#);B3`&J`_=8i2|+)W8l!|`h^Axl2(NTFlPaLg&Idz2h=TD?V#5Vw`H3w z;mo1n2vc$07##hmmWZ0KWeA^xI%EbwM=&(!NK93yBPv`-%yxOgBKT4x0>MH)%z=Vr zN)KF3dFgFoSlo?#9FY?)5}RTjW9axwjsSA48CjZgeWz-9;g|uh#kVtSQk>`9v5}W8 z%^y6hyG?l!_(gF*`Ns)GQyN}HD5_G#GDKhA6u$JzLyDaP@#SfCiJsEMZe%)8JcDFz3E9`KOE;< zng^sFBJkjN=6kMEZ>|V!U@mv}lZg2BE~u1o#Ga*m{K1*Gl>-A4FtEg!|7q)(hQtsF z^b*wnU{-2Qy-1cq=#%drtg-S0JDTos2yt}WGM5rqy$<>=ap z+7(zE#nzxOR!3=eq?)1gS^c%iiw`qCAa9-#edE`#FPWgSWAov;5pKdMg}(v}Go|v@ zP0tuxqE{MgV|`+r%VD(45l*wOZ@M?ur&iUSm+S6#Q`#p6=r;iPi_RVz zS9e@NZa0Fq_u`ia<;Xkele4-)Z#UyEyW?YP?PmQ3HW-EUS8!zj#}L8@tR76BpBk#n zzI(;~FS4i{#OHSKlee)qIdU8dv;FONM?*+VtVqv9%s1K447CEG>^4Wsm&9d(Rkf}H zvE94tul|)=7Gq^lB0nHz#WW~BOJV#l+`84Aja9F~!f_W0dE(-3czf1{{Xm2(8Y8Ft zDTzf&i3!kg^h`&>@zZU%E#(l#(vm_Rn}p;i1PCckL=t*>A5&}y7D3}#$^Z_M`ZdYa zX4E7DFIii>x8_M0pHTeK$uE-zR=Iu(53cHa9^4LBHv3$=uM zI(1xn{BYrVmiwpGdX-n`uZ_)xeD5GmjkA$@%L$zcIpB0BSNCJ5yCiISuSUtEzIRfY zjGC%bX_Ho!V@2iqlyxM{jGa6a84q_WYS!?#OJR)i_EiH0o3&<(<#B?0th8S8cWN0l)1Nqz<7?<*&2r z%qUEgcMY_sPZELM{KYFBM~%J$ZT441be6d3r)JM3$y`W=F}4D{cFn7I@sTjl?>%d! zhYd)`(dk8pIAh%z!mY6`Ed!F#2VkqwI)Dmh+^E|QI7N==17}Ie!e--uUQ7PN$y`jK zUESoe&v~{SDu+%*IUG75bHkj_>%L5uh9+XTjuMT?)X}Sx5jhEnInfSFq%2+@09|md=I=z1Xh*-aV&xHkIw%0i52ry)fxnM<8G=6jB zm{pMlN0KUW zU+cKE!L-C@;!-|`WM_TxXeYg#tZKRHtgzk|+DLQi-IlLc59mXMs9jz#)Fb1dFx)*q z{C@jjg75nZtq*6`uz)XCwD12SryGf80HJ=L0p8E{U}!nEXSQezBJSEPmMq3vSd*c$ z1AbM^7B0d~QJ1C?WF7or(wf`qW+q|4Lmu{vCp4JQo?t{V{w@!JrnSW$ZzKawz ze_|?IET`2H^#j9o8Sd4anQ920$G};pf95)}9E&fU2?Ru64H5+TU%7Vr;%;N=^m`ct zJ{!gFO4fOIcjx6By!^0@2?80OvIB{8!T;>pnN@qvCdW4S>-%?Xi|A7WUkVaoA~j_- z^-pDSb$oqUSc)|J8kzB`rmwHrz8yB_J_bZl>91!ST>agMU9CFj>d(cKXV>ijpI00& zzQ=Cn9+Mdq~YvUfS--O=nH39vo_w9Sv2e)n?PRmCu4DLgUm->Ag1qu7jeO9uDJ+i^eE9Tf!<+m2tB~lV zz^TS2aBFSr$t&qg=p#t(OX)lK4u97^cX@W=I=*LB|A_Mm5!!7f$hb56G%Ef1BJuXh zEscO{{3hJTk-_7Y$Aj!TzI>0y*}cnsbzMkYG}8)$MtG&5mJaLf4*S3A#yGvK+ zyzBK=?8!_ynXunsYl8`S%O^#G$V)2gl;nM&`mx)nw|abmGO7OMi*|?)Y8nOZmv-3B zi%s12WFa5-aMgA%zEgCP>adub8f3`AkTW#i>5zKlkm@R-*BS$FEg^62V5W}tXwzV9 z-`BUpeluT~*PD&kFKN0jH9jjHTl@l*uIFbV$y{eyTnZ=e-umZ00#(^|OYi6dT}crw ztKFyahilP*-G?9Vwc6d1S$JJ-I+C1^G*3O89``I1RBsP!2QFNP@I0lLgYWI3_>^}> z((d|9`8eHp>TqehFm)+=pAbKnBkz8n151dF_?^D4MDgv8&>4cPO0Koqa=wAn{KD_HaOh_$53);!AIh%sv z(iXLmpKiT&@Y4$sB~?$m&a7+4D6{s3G!MrwS0XLg-S+>i+48Q!FxIj%dP!b7+;?!Q zz$z$tiblO?eO~%}tx97xkZS%A_}-ycwK)BJI`?FM@9;V-eRnN%dM=ouB-yC9Fn`g1 zaDDyrtluevoi4Z)zfdFcz5l?ij4co7&-OGgxvamNduo0Y4Ltc$;>l0<)!Qj#h`Q%+zj52D}4pd*oC zSo#DLC*Rgx;k$*;^q@Z0F^sWT(ZQ0Q52|Eynce(aikqVSjsERU^MJk{G{o?>n-!V)QZUM7bZ7zgam{|j89(&+qGM4CvO3CxwL!YJ}rSSUg9 z9grgoqE}ck0Wlqr1v$SvEr6X^|LTO;AqRkp{58I+5to7yg2^3zq)&Pi>|fZY>~X+Q zV&FKMKSH&EXu&|-e}w)?1yM?MZbjnuUj*k$WWW}WeRYFWjOOspImTxP%&a$l&zPRT6fkXSs z@VLzzeS`p`PSVTy;KuWyj(l`dbysr#FHZzZaRh5 zEZ#DxtPzlpwMA$w$78iy)saoMzV&Xz4k_Kys`fi3u5TWnx~+B(L?zwlB+On>a(91m zRk4^t8pR4dDQj>8hZv?+!`dk|SWFLieH*waQaBuE-TXor)*(HXuKZ~{efuS@j0=)R zZ1G%9nwN;Re$L%mBvIyc(KkaJO@q8>e#NBDeb>Zb@nk7m^br|2f5OQ5dW}4d?mf-D zp;+~#4s1F&r$5*}H>><$6ng3Eg!{xNJ2QJ^^wVu3(H*4eN7WzugjL+hyUHx z!6#2Gh>FS8vOV7rx83Yz2FLpA8)4wY+CGf@M>ZeDlo`roy3)uo^aU-(`R2h}a`?G; zdQb%;lgg(Ix)pQ1eO)oKjB!}X{?=iqst&qV1Pw=2-O+=#xX7QMnsTd5ocj|oG6!~e z!vcSjNBPCCOQkmn8lN1qrC~O>ah1$qqF|*bCr4T;vZRiXZ(d*G8=<{(y|?OzK5R<=@@fF&0FWB?{8`I?bEJL zH^WzNS3`py?XM2*KKE~l?~A8Tb3b2>?U_G!ytN2r-Z8yQ4?}vqfgrD>ySE5J7;LpS zClB9}JSxXNa~Q4%<(Hf}IUz~NjZ=?gzo2(_dnx%{ za%jJ(i9a?FKOzF2F>A2sZsVYuJ|WtWd{{nC^T#Vsl1ZCmC~a^h?0B`A1F(4lkMr}GRnu}PAZI^DA>+Mv1*_XlL4Tf1 zq{Qn)%|2ODQb{!} zCPt+xpI^@AzNk zRb0>aF?wB<=wB1)_KA78s~U|ON1??iC8^;j^LEjyoyw875c@K-HFDk(L!)IwyeC2{ zRP-}=No*G~5FGAe4y7xnrDfRZwS>7|YFd&0zL_U>Yy&Y$PB^4X_;u5Id2;kbJ4*z# zUJzO$FEj}}PGAQzm;h;o^gDOc{%gm39^Rs3K`otVzDUVw&525B_&eO}jiz-&Ug}_k zNPbV2_ z*Zy%0ymi+ICWDZR&Ce^~#k&OPLySKr_-xEo9g5|-+bJI}U*<6ln8Z6pHj&cVO675p zb*sq5Z{WVyU~MPb-&fH6c%|~eEL?QGR-!r1x~t?|7)9#1o?&z^%&b-~B#Nyb-HjbH znvYxM&ZMsS!50QxJMlErD0B@U>1VI9*p>Yn5tpYBy{z;#!f`cGR^RWr?F0 zCTJ#qljM?Slm9fyEyB820B>evUY}YZP+WMILAv6!3h8OpvJ);BgEi`Y?_ORNccK_K zpsC4jw5s5IxLsL6*0OhSjH87E7u`c*j68x;2mPbT=KRYtTN4vS@;+%qZxuZVg&ZCH zljc%X!6S5gSI&!tvh~piax`2?X&GggRua!CddU?MhN_Au!==XJ9+3@|p3P-zIh@;- zQiA)V$a|iw_cA0~0UWblvqHN(-c&REx<0;wfNmvcGb~oX(mF)kd2L17$FC!5?W2Zq z^w%Y6*CG+L=f=7Mm>yzuRJx@MAZe|0mA>r5*>(WMg?Pl7IhKjnHIy6{_IjKMD5Q^U z$+xMk6P0J`Uf!5|j&yXgm<1(e(VZ*MN~KB)4tGWUs?83j9IGQ%CZ&)a`&V1xGW}N_ zaI=#WTD&86ACrkmZX1|rIEhk=9KwXT!qb)W=w?zOBr?UT2Zk}3)#B{DdflIt_U~zN z7!ZH(8czV9bZ&QE^uDZr$Op4UQnt8mnq>c(4*FC88?aRObo|7Fvo>AsLu7yu0}tzYS$;c zx}bcyo-@Nk?>xGsGHigT2w5pT!;J|uV{ z?o1?y);yjrvzF_Zb=2n2*?b-LF9;J?*iN~_>qm<* zPepsMYW$?{=}}G{eq1?|mtb`;ow25{ovGmRx?A^>vi3&iRd-mOpJ}B~J29u1&GNYJ z{MXX*o0Ya@huK`f+7f^8`fXBzFQsaAKtobpjD3df{K-8G?*_h#&qN&l9Zw60&9XfJ z-w`JCIRKr?sj>P9QBCCAkuCYxO-af;E>CWUA}1h@{~=Nim${%0z3ygU0J__LP0;3- zj6GnE0M4q7^r8S0Em6RMANqJU6SAYbIX1KZ)KDGK17x&+(w;~a(`A-$1IqPQ_b;D+Vjy1c@py>>Fo{+*(N8N9>o zVJV{ZJt7H1?S0s#2XE&uAJvrko^NfTlvlSya3k1}UL46OLVd5&d~~b2yaa!3^~sLr zP^5mL$!KxplmjFt%k7x?l@-6P?M*J|!8u8#+~Z`-MC1n3N$*J1Y0Ythi!6W3qPgS= zA461unJc>!_}*>_H*#2tDT7^WJ5{!#4(2V{jBz0fsz9B5fFhtf{FV_S0SX_x2Tpk(1J3Icy~WFdPfPTe9mk^gBF| zP_(nmoAbtQ7W~S?>UBi3zepu?PLQkVhOjxeWU@?li`xIKacbGjg^B zdviHdvD(TPtur0ZzavYV(i!#kpd!uoamIXJ29ycoBFMuMX{NvMSfbN}k9@5(M_*r| zg#9>}D~NQye053UyhyReSzz9(EU<*je8HwXK`>t*&MnuEYF@@El#o&Fx=p{1AnH_A zk*PXa9rv~m&l2@m?KC9cm5m{0NhQ3BF>fBHxLyaaQj&i3+ zCaw2YTr|qeED~dtguU;d&>-lCN+QR>EXz3Ww_d|O=Etb)x6G^5*``a+YhVW+-SgVD zq1!!avk^>5LszULaF$xOd^zhHEBPm z;BTxOWijqls*jh{-%=*tl&mlZi@ErGZ{(I76oBiZ4D{EwvNq)lBaJZk^glQFI7NsU z(^Y2K8ts*@R#sd)y`b?#mOVFccuWm;wK`oK?ssu_tqMWEoUu9$7Xe2L1{Y2Dp>Uot z`x_zUN3Ld=5*fF0HG$(_;_?#0yq^AjBz!_g+T!`7#E=H@y~0!x7C@?i2qL$p;j^sN z&N55Xn1Ay?kpGKEeoq=3bf@@I5w*t9>3E2VnYILm8fYnD_NR#I4Kq($tAwy#pHAhm z(qS*XDugOM*f9<=29heo{KeZd%Lhv=uT?D2QJ1);c$$%xuJgz$GIQi8S%ZZJ7^$uq z+J(90!(%$IxM|B>Cua;$_Ym|VpsRk^QW(t|9s+st|FC`j_Frr~&i|im)FW>GT$fZ! zvGs=*#no2Y5ae4HiN}_|oNh5eM-SOATY10vb=0TLNeDk^O#+i>2U=W@TmCWl76OAn z!(~n|lR-`bIWRwc3tch(Lfs}neXq6?NO%fc@|jU|M`5_q(JM!QU`*3O?p+n zh}ihCo_HkKy0u z;0PM!BzmH-1tucx>`)bxFVxFDV1lVILDy*h&umhUKxCb}1)hxj42Vc?{a=d5{LN3O zDw`9)M3j}RutR_q4JFv^mE2Kf&v;>a&XM?TN3kVxliuudXK~>Kmjb=L+SY)eSgNND zS8&D10MX>5sEnZY@`D!NvMZkY)hLJfZM6K&q4nwNvBnqv^SpN_JOwo&UgSr82eMYA zA&tNXs*vibdkXl1G@2)l2AJq|9fN!Is!o!m-W)MCHIX22Hp zL|;M;lET;cI1_hK4xUzeW#XiO5#^!l6~kVE3N-6oKPi7%0u&y!Bs@Q(I&5@wSf!3~_~?^|+AoSHkYK>r!@mPx!IGg?utKWl8WD z11`NLEE}wIgAVjW*(YO((-+ave|N#$8$_S`ki)zFN^iX9iUKN`}gu!}lVTP>k>X@gO`g=+vM_!t|2*D77h7H8|fUTuAE~QDXSC zNIegv{-%+vJWX4vXen3vx9=5!-@bc8G-VyUPfb`Z@Lf3Z|MV>}3WNk+SZcgkW&=V8 zzXT5|nlz!OHlBu$HVsX2%ANmB<$>gHl`2FHK$ZQ_zg0qj)}|N@xBm2EJ}?o(wuSST z0(E`{AMtN^2M_fpFeYXQ)s)rHM36A!i`Bx08M(ciaPdC<58@hoM=3;+#+p^7rtE%| z&x4syad$zmr}oVLoqq^HVOCa8osywe583SZ?KF&pb#g9|LsrDb`pI_bAr|HHGFTy( z<(t+L-t;aURkx9f(vmLP3MWdjsKq9m!3G%(3_54sc%QTj${B#Px>PqB=y&Iv4_}b- z)?UvRQFWDhFN@eNMCBa}s=paeZbO`|QYPmi)-c>cEe~*p*`lre(*6{uWn-$3ZnT@O zIYiZEnKAl(FA>L_p^RcmI-`D#IFP&8r%mG^W5K|tteK7q*ci`kzN8#CU}9@HZn2vI z44V2gi2HvAB~I=$+#XyF@Ps*`9sZ_DsX(;3kjp?He;DA2Wc%RJfp%CS(fGUH1i ze4hm`>4^pJKMHdR4hWouGtejhROs?Q6<%drhfKz9Rd9MJ<%*n^d~h6fEYXF&8pxex z7@4ao_`tUBt~w~zi_}}Ts0yuRWAq|cvy~YYyG8JOg+6-R+UTZ#Zx`yw4pzdE)(t_i zbXljLV|p5GJi0wRikwiWiYlJpe>||vk1(^YV`45YUeV|9z=xXp@~if&zfbzCO(K#9 zy6#pVII&MMK+OPdsjBqAFQ@05g(LTCHM{z9_wAf25kq#=oWAM$W^X%`P{3= zLl27D?;jcy+>R)*8j&g3j|zSp1trbD2Je-vwJ?vEkh58aOTTlcJk^KhMrIm7(NaUc z6v2WXj>SJf7eb+F#7&P{XW#r;I=yzzT+=9LbH)(36|WcYRI$9Xdai-ERbMcKZQd}$ zO6u{nMWgQxrfBuiOVw=HA<^fd??vnX9QK=9<_~H#AT_ki@7?!A>*gY2lHniJE+*qZ zYCg_Csb?wB!;$_E>dUSH*p9GlgH5m2kDZ3F$CYKhXm)d1^z{C&zeqF#I-1DaPlV9J z$=pIUkYs8G>@`VEcI^7&IE{;^YX*cn_j=KO@3IR&G<(h?{6&7}JOU(Ff&PQMnS~ua zobmr4pD~o)evC@qT6g@5yw6bjQCZ^wPNP`~W47BLTGuL*C0dBDAYK>T~(Na-Er#$Cs{62Ql>K zWt(##+DfO5vI+#wuKjBojh)B_b!p!@ZVTE3O6|#PiUpH4)PqL{+!$i~VQ)oi<~>PJ zC{92q(3dCZg-#k9#c&~9o;K+Eh^;8CefB=9Wd4w4JqydS6rYB$F)us7qq3M)QTwR3 zY5#4}#{g|oTKg4_Gz}`x64M~1^!_VJ+9GHg<@a?FpEK)nV+fd=n|9YI5q7!7mm#rY zUduF-b#%G8&?4C7Db-0X`MHAPvZ%I>9rnssLAkWKh9^vMc0}>HF;7#iEebMOP-@vXt=S==E`IEi!wri+uu3`0GCS`PvI}5}9G#Qfk z+ax#qZXA<*d7>+Yi_)eSjv>i!9%HZL(Sj2=lQqarvUsKbulI-~-<%*M+U^ z@2;F4g0`$vF@WDlBsO43VQOkiF@`MA9W;9k;*8yyTvvSBGWhKH=;mYfU5N)wtXFFW zWlm>;M+XKR2F`QY1mzXZW4UE8&=m!M0RvfP*x?JIjLqUM3+%{MqNgLqT^SfoL7S(cDBTp|wLUf1@$k z-$6|dv1u%iuMWVMG?#tFZn3?na|7LkioOsf`E___#Io~iu_5&{axXjz4N3<{EO-w* z3JY-u2sU{b_7BKgNG58Iy`Rkbe(nf6kax{`S%;HYefo=(`of)R934HU!wG}%7e2B< z*x%$H0!D47a$%9!eu-4RfhY^xT7fze>k$LD8E&AAQfN#g@W-(FiYIV0pF2RVar)q8 znbM)JNz5C`$NwWPQslQdoS+NQOY4zQqivpFHAF1^gbhBR#E`!)&~?BIRFe-Vy_Cyq zKtoQ~He})HD8Udsb2Lduk3I(Tm89Ua4pUNcW1A1?wfe#Zm}`g!7E_OF3A#S@nQQtK zw6XkhJ1}{tWx(W}!a$Gs+q6LZGkLbzx_>3FrqiY?WpX*5`7ecV{qXxI_&eixRFgg6 zR)#86Ii+sYFdn7&Xkcoz(2(14V=N-X;`XZ214^e}-hSATfOgeSpfw-*UGoik&GF?6 zi<{sOg6;aNWB}_$w7Nb%}t&ZB2|1 z|3ZEr?nP)6-I_zO)q0kFCsxx`bMIY858N{RRp>eD7FkzuBx>k+?($&zGuhNP(hVGg zXIqYWo^0ArpwaLyF;9(lyw~Lqq6(c3uq@q3%-w^A?DpKKRwAj{Jvlj&v_u+C4^YBGkG4W zn&9v=4yMm)s*!8h2TNXj<(w&7)IWTF!BL&iggvH$*o8ehe}@@(QT&B=i*m7C$Y`bw zh<$9_I+o9TEX~8XXt|I8o>bfTa-gv(`&}78DK$|IJ^^60&z!fLlMUikJOCyy=n)nH z-p~guKOiOhq9tyk+HpOLxf=@?y{Y$wUI=CxQ+`ne?V1f_9qsxg4>k00hq*fz`@zO= zTK0s2wfinTsf>Q>U@ulL>OksISp+FdC+-Jv2uI zyN{JVKfj0%CvF^SaM&577+f=$t*sm$LaFQ&lOLFav``!@Nsysji`9m6UBC8VDV*4z zU0Zj)viAuJN&F`2nyz-KOrLrg!}HQPM(hIS!0!=quk^&8bUv6>$X`SRakxAr_y)V0 z5OYyp_lxez*^b)YUC?9WclwUV^Ou*NorE5(|1Q;Zw#P4JY_`hgk(X5=DdE5JXAfPf zcT&XKef8>nVe36-7Mi8hKx4f=(CM@YsYF%lFLEPoV*wM4hW8;U$7Co;PMOsBK1jaN zp1Y3{`YY%Dh19(EH;93Om}Y!2qpT2IRMP-|2_&ClGLTG_lb=szcH(mctv=2Sd1_nL zlM*s7QXCbyMw=s#3I;^Lx6s?#3d5xEd8OrLG#ik5MGE|7@&yaAoIkWG+1wIp8v`Ul z36Uy}U^5qu%d;27C(=1`FQcmsDdbmLe}KtNvnheo}HKo0MlG+p@}>bgf^zVw)K)z96;1pki}##1%7)AM*EP9 zn-1qwBrh~ZkaEL25a(6y%(>MWKvWi8j`>1+cUG1?DGe#~303vt#G|)55}nz(_xZQr z7Zl3dbsi_6;DG-K4#+Nr6#7$e?{C2uzXey}ojAL&JgT4Aba_GwsS;_>JtPv1+LRNG z%KioH)?1wz82v9`#kMadQP`71Aeb*Vw>~OG9h=-jm@l#n54nfJ-kpAMJ|#m%K%%+m zGCWHc6M=sKM-IUGB*)K`ZhwRnLR5jke8H)9eeLknyXblpQGgVR;51uNDXeD^h7|Jd z+)ALS=9&Vws=)gk@hBQFB7wR~;ifbWp{eNUUv&e_Vk()1i^bLS;BXX>OLX$?ZyJ%O z$BQ{&@=T}!0-t*p$*V*f*@tyE@hy+T#=zAuZG7xODnR$Y9?#6ksezR!cB{dPtdHKG zhzVYGc{TgM+6HVx^s-EiP@u>YcZ3tKJO1i1Wnv}9*@Qx9-cVvT1zeL7Z;JY{8%Dng zUlt{-z%xgc%R+MN^VhY34EGMJq2r&U<6{fO_y@~nX01gVj0gl7|0I-g4uu$dI@1 zFbj+TGw00;!wcGOxx70<#s_>#?eyDg8B_J!8|=q{v&Z*B0q?yO>~+}LtoTcTPTW zlAIyezVPh4wKHy1rI1r5snB&Z2eXX!W97DpOp(V$O5voU60WaPS}twmtKvntyd%d} zq)#daiTCMxi!(PzWLN2cP5Z`hy`V=Ee7ONrP!G%6BptRKNQC0!MJ|*_v0U+Nn_1?? z_Xv*@aNXnh-hCs5Rw#x zMQq5|V04D(018S;*@}GG32p9hmUb0r2NpHPBo#ZmPc6Dt$&nm}hP%eRTHukflT_is zOpev3PIW78gl=6Im1uPF=B9%~Mf~be=YUTY6Af+{hH|Cr9zRuAv^|()buIGjlC#W`+OI*vpI;t2uz( zL@v~}j+H4T()^dia)l0sI_31(w^v*D3WUvrB+U=3bmO;GW3s|X35okpb7oMDTBX>w znjm!OIEk96Qx!HCSFA3b3~P!tP8G7mE@6qz35k&}mm_A`$RjrS(iO6#od*f&>1d3} zC#I%|I4PQ`@{7X8rdcOzPO(Vsr}cHghwf~bIt=Ef#|TBsXeq;n+nN4hy~J!dpf8Nm zh7dWJLA@iSoIsboM-zs>cL9y1zv4osSa7r?6%dN}5QemtosyS02%wd3lY4*si;5XY zg%k0ciaC7HXuEcr%NS^rHN~Bo$iv2Hq)qKfUpgxhlTYkg^FxOSdo8PpdeX^LQmUUW zHQl(g%M=2yQK5drXA;kvvX2z%MJ#mJojr)l@rq5D=7*Z8!oSeyPN?bXht6y!szzAx zz5~l6Rn4=1P!u%2pLTD!05CK%1r`#3oOI$Y=&8bLEo$S8yf}jQXj3=dre$B~e^AU+oTnQrl!Fq>F?MmWPy89Z# zZInSlkg;0gsG&nSVz-Aj>4U^im=mg;Z@rwX@F{&nGkA^Tb{OAa%kXfDryYY_nJ8nv zBgcIA`luZM3xN(pi6R@*RATN4T1@6=C)}IGp99NZQSpotml~&BfR?H3N z41>Ugp+!+8E+O{qu|^4iywgCd&|RQZg`o$WO%4JY>?-6O2rv}n%Pl_h6 zsQ#@29{Eod!9CXm^5shERaVZG0f!1ah`OoG-;glhoR|48Nkm_0F+MB@A&jNX&Myh< zlQ5N~$B3Jrqrk)@$l2}Eq3sd%wnN#7Ca3T2gGo$NRdthuT;w0jk9y8Suukq%WvzOu z99@@KL=sU39%+1k2kFH4-UG55DVi&MYc_JEcbrZFi-*Elf{s^Wi*1EWFaeyNrtOsH zw7eAG*{p+5Y+Ny9CGhLvadQ1bB*b9rFZs#$`t+A6<$=$r5(SEN*sPHl+nyw_G$_g? z=rkp#SXRh15BZNKf>>SW^2EVU*;-@;%)sx)&H70X7S-}&MZuB7U2VQF<4rHaS7-r& zl>Y+4{0*e@Zy?*>K=Zy6ojy{zZ{~|IG!Yx6rs4cH*fD<~@RtMU76&F9bQ<7$KT>7t z71&fsxQon~APg9q`EM8rcW{j%7{@}u-xU@7;R8d`pN*j2HJ{m27bg+}*G;p74BT3X zKyNy59Wz#RRC0t}*$)szULY)$D_@Y)q*fvTj6*GcBKgySAu`oe!fPXr6Wg~LDPSfB zb&3_A!#X_(87o3DKHZ5F#e#Vek&{4*!a0*dHfD;R0^_1L=70{~CvZt1w_LDU2^b?J z;Sl-hcm0!{vq?)2{gb&0>>rmdiQbX_d2Zj(Jz$Q90|dmW8VUsWpXc^9EWcPtn3C@t{Ih5(vrYxc3wq*pUAC-ev0DgJ602yk1&W-0>&cX5cA) z;cP#&k!Y!rpi`d|8sQHyt!z%iNTCmJzHe^sUC-XF8oDTG2J{tLNLZ_UdZn^YiRG z;L-lg&NTsk1_P}2?#>Frru2=2xiTzest2wjhx@9U~J0Ys>WgmCX zS5C`o=UM}AU4iO5-y++`WHTRM-}fdxUstQWwQ=u)?nlN}|8pN-cR_=W(zZLd{Ni_> zccXEq_~GoJ^pNJ{eGlK3PS>@4C&&Ku+cV2sk5jId#khEdLrGd9?&}%@gOIG%oRGD_ zr60akh*#@xdzT-Xrib~e?Hstbabg?7#+lsgNC4MfR9Y9_i6?0`hd$~jYux}YK=sn1 zx>e%*QOUI@SHc@sw-zSe3Mu{J*64D?X@3h{JlHTpK zU{hez3%xeDKh$}>)F{YzbPH)JAiX^g8#I+qa%!z_Z7CEN2NESQl@qB)M~~k=Kkq#D z-Oe35Jiccoo%o(7MKA5W;}IRamkx$Zu6g)+<;Xw_oD=2?5hhjt%*)WN(=X_Mae690 zyrF83s1?Hll%FsVAY;f9A-%oVZ|t<@kI4!!VE?T0=BjAqq-Z!`#=`~-Q&hyIUboP5ig6#~mpIj_#_v>G9QDTdCTNth>~91FW^d!_(c{pN#vETt&xej~90i z)2?%30qJiwTXxEKI>zG;Fg6lQ)e7MoRvLgvBW@o#t<8F|*K zxdY%)!Omyr$6@`l*laFWqA2_lpB`9`{o;kg;#a-C5F&T_CkpUh(;vkPb_RglAGs~` z_J~ymU>msb@0x;DoBC4%gT1j{$$e2OfMJ!|cqF*#{)mJ~d;YL$BXR<-EUFK5csp)! zVRfj@o1yEpn2b#Z4+p!Nc1_b<)9I(h&E{unru1BgOfCG5%!e~#;rWrIzi`V z$jD)0W8kI>3z|I%$943E-^{$Rn5F6!;c>_{YauH}88+Uv-?~;aVVfUX&RIK}@31!F zkWh_S-=CXSmf}r9MB5%5It{8^$N2=~86iC19MG|85AAS+O9>cAE;Ty=b8 z#Mi3)L;_wldT@Is=?x?8KOSs*tMaji(3BCR_G6qzO?-}V`Diy3f>tBBEeoqjwhqQ! zfocaj`Je^17~16LAv2%@5+c&a;Mb44gVpmn(jI>MVyv_Y1W82|*g>-j>>xe`cEkWX zY9w1A?f(sdzX;O|@|uR%O|koX(7&R84|1Ed1;sBa`Hj->8~zWJzYq93%Kxqchoc$N zJ|%Azj9Yfb4iq2CvKa&^FbD|7@ei$kNm>OvWeJJ-hDp1KH-`0(j>GrTemVj8ES}}j)8&&pg(X4&gb3>`!}r6N zvylD$%(1?E^awm@A-8d#O&4yLr!(GGulGai*<_RZF8E^Cab)bb2e(I{X>%L_1@Y)#(cHI=_chnrNq zwK8_@++Ia{{~SGBcp88Fv2ycbSv#rgNDz7*tkQbMoiXKwn)-5U+UoVn)7tGCY%El{ zIIefMecL}8J+6>$JL|pq!*6QNH6fYf%>MSkHrq%1aqfINnXh$S^o(q5eW`LQ*?X<+ zL1D1D^5^I*K*tIA{JNG#IOV&R7G-=E?S6JiH2b>!LSH5Htr!}DXqE35=J`2xh}^CR z_Xf@!&xgYZ6T$3E40#j5tV|QnlX)>XLzlANUltJcWDo~0Pv#&a3fa(30ba`_F`kzu zI6dXX_M&k&ZyfS4lxVhuzE1u}jC5;uKmOLO9rRm2swGi0`H z{<5#vQe+t){~uxR0A1O(bqmL~ZQHJ(V(r+rjfyI^ZQHi(RIG~aR9ux*@OGVZ?|t97 z|9kImyJe-NwVghC?{lrW#~f?VHNJ*5SqNsk)Vm6B3q~#yTzU{Jf-ToURo0=F`|bqr zu@RSV+SpW)5NQN?RHF_b^aic{Knd>=d8vch|GE&P0rSx*b1w!t43n!$?oo(3kkm`= zVJjH891<$BCnjNuGxyn38}X<@f=1yt(ow{-;z}oujrf}=SnY@?8xm$fhDvP3RM}G) zg39!>Vq#1sT(_vxjk?ghp!|U9Ek_uJ{9{9D*O1%tJ-~hcN=Wb|KkN1FfG@|>Kw+Tw zAW7i8VI0xTdEMvv^)*ghFzd+oUi)qFV6ySGSxBFYK(3PMwSD~uH!}gFJ+i~o5=Ta? z+HJ4Gn8$91ulIBNX0CBUiPMm%eQIKZ0F`|Kkwiw#;mHi|iTZj??(F?H>=wvZD)@7w zW(8iwo+;usUPbnc`u_d9n^svzw{TQ!NfzuoQ}=JkC*c=*M%)aSta<^<> z!NoVQ}Z=bK62{kPRGp56?;yGS0m zgRmGEOAVen0(l-WxAwY7qeD)OpSE3fU&H`gD;{U<-DJMb32oR6+n3pCc|0ZX$K&&@ zhWeoTf(@tYlluZS88R!?NraH7-h{n}G3I2)&gw(fKK5O{BBl4~Xb#Pa(#DU|9zQPD zQZk}u^lmK;*bPCy@X!U69i$8{-Zs}b@vf-`rrMX7$OQrSfiC=HsGpg&`qt3FC7Z>gE$D1$Ua+Fso zi8aTnV#Rw*E`&n4NbQ}rm(43?lr|>?Q(~zzrCqi>>CGz^0~`1EjmFN~IZP~7KkeOO z569!ucGBPpXIw3oH$UkcZDQ1(DU}@&)ntAzBjU6RU41Cu(2jfe@h~eX6ji|1T+S&< z?P{`~B(Agco#a>9$w@`e$s~Hzxt_12^*f&*E$h~fi`BW9_gr|eep5$-_YCDzs~#a_gJ|=W7eyVio-Wwex@Qd-XHQi& zk+1E+JRnXvl8IiMh`aJc2v6G1)%RnUcL%iZkLkZDBSnW=;Ny!Dt>}bMHgER__Jp3o z*gE_Du43+#@`rq!6m4F5__wmB6bCQQ?!7yRp1nKtAHkA%r(RHoGgsLJkKb9yn!-u= zBpy$35{gWgkX<=44}={z-(H-4PK<5+7;DE*`uQ0J{lH5udV-Y|iYil;>{XA@8q@c2km5!yp^j0zSd-^gj`;zxqiJ~czkABx6MO8H`p$?AF$j_akYF; zI&T~Fm4ds;-0o#G7hBu<-a+@QsOrm9XOX?o3BdG}Vl&HwksP&iFrDnwy1?8gP=;Z}o%Z=SSa6*8*3Ii5(u%s!&8hy5x@@^j3^#k89cx$}K6fW&%l9I? z(jR*9gv3b4>snryG^AZlMq?@c8%8L;YqlSQB&Wm>m^()s>(T?YKaH+q)6`QAu0z?$ zGwOQouMsTrwY)wsVN8cg0%S$uwCswNFOe9EQXFmk2U=NSR!di_`CNy1BH^k#$Cr0E zH3bkLuH~(K(L=pe5{`@UuV^bACiv>PT%RoyjRpTUXu&2Ql2WB&CK`sd4XDQj9A@^ohgOJ-MuQ#`& z_vN-+5DAX_)Qk95&z>#uHR2||^SE_Us__>?+?HT(aD>(vk#_F4<7Hor5OS(IcNfXM zZB0HPw;1Z(ZBzC*_k|wZk!@E2lOIs4`GAkjtcm`g<^Zj}@-FV|tD&9%Z&4&IyQROR zraC(OCG}_NYByi>kTi$Uoi+0pjO&<^A>rNaXo$@$TdqYwC-=4EzC8Goy`!7r?~`qh z0b9YJ|Nra&98vdqUpAdN+qtoj!2`Sx;M=*^;goV*9mrPmkYx(FSLF-+uH^-CU-T!K zv>3?fo8Vnqk$*y6Bl4QID9JYP*GFp)_JBfdjFN0->EEC8M0eMx*H-~YVjDOT%GWar zRa?E2WxUxMKTR5~R-&bU*|(()8QF?Fp_;u&m z|YPL*7L&f^MAqeGgv&AlOT zy^Dc*vvTTU5~Uy{%H}Wy_(bs(+O|^Mrrxh3h)dhuLexcX(q>-L z7RqaQN?^I61J0ri6%Lb!key_%i z*+#&n^Lb?=l>K z6!&T-EHqaWgnIT6u9l*hx;g24IHy5HPlPwN@%-o6SX6sjCJ!IA9Ad~^K6STTn#G)? zVCVUUn%1P{cu7SfJJd)!)cCjgkQo3edf42-9=H_;Iq>WWJQl(`%*Z$(y7bTS&b78d z88#yz&^lcG*jP46Npt6^yUsR4PwM9t<$F(Eyd}nCRy~^OjS*6- zO`~&V-_wG1*g~x+Oi9{;rzBOK0?r4!{lZDe;~I&Sk=Qe_%GHRz(`$v<{d!%hr6Re;p!I|x`2AEngC!|Gx#xg0x8&ss3h_JoTxLX(u zoouAJC_&HO$Wix7 zCNisd2e}&|G3SDZj_*ckmC=@c`@O~uu{#@nB5>hZ1Yg!vjoDJH?7!;8xm2_q?!&!_` z1bZVWaxueO@*t$Ou2fe#F%UybsL*_`b4ev0pxVkZ`)kWDpCN?vu`(BF!WzI1?LuKd zoPUed@{8@>hQc(yeEJMA8VvI*s%L82F=55*xJ~LeT9Zz(X9Y??JLtej&?3lZ2pH70 z0$9gcoGp6wt4uXKG8Fa#m-PiYmb*GT7*tnNxcd;8%Z$PF0meTbF!-9zfqJhd0zzOw z5N7&OR1}7Ivc;03YO1}?k7C`a#Xume3wUFkap;A&&BH-R+K3N3MIp$yQ3ha0!O%q^ z^jWfIWv$iY;Cutc=vV_*O3)%;o0*d&^te#F~fVKU}AY^^YHo>#eoVfffWcx_NM*+W=^bkYZ4P&Hr2^TD5LDRbaZL2xnyNXv8i z<{7?GoAzZ+0?&s3IW)`K5Fj0oB&&pEH=d#pf}bI%LSgoAmww939bvyh+~P7VbWXow zSs56+M{zJ?lA&;uw0k(>{Wl*OQ3zuyS0){8NQw6rMAE=mIip^bfKMto?Cl}A(I^2U zaR_{dKeQJrP(b|)aB+;!tq3IadD{OBnD762zyO3~zsByI9-r=jb>H;OS727aqwn&i z^Yof5fF1(6F$DpIAphCdF#er>-@5OWT*ddTJr&Yvz$iW(Y7##Q4skLoDFS^`C+YW- z@FdY7$Z-fLoxqQwfFb|90aW65dZgcDBSUGk8#6kCVfU#U-c1V5d>q})9KG!vJ>621 zVIi_G<@dWc1_6A;KMXR+@iEa@)RM=dFJGgVXvf>gA{OyeR2e(cI-W`1#&nMx$D%O@ zp#)>_}+V=>ic~kicMe5dy_)e?_<^f5Fmm+NHkUj96?dGoY7|_t>2{}$k_gp zc`EMq)rz`#*?Z*Pf1FZ?7{$)OO3gUN#xptH@L|F8u&vusvar5+;qCUFp4pz3_js%E zepAZ!s0K^~rhS5|+v(O1Ud?-|r$2tQ_~h>KHtO*fz@Mieb1vJSf}gxpT4xF{pVDBX zY1pG*Pr7?CV;sB)Tipp?Wfr2uGceWGG|x1!j4p6kB!Q98IH8f<(RC|@s>>U?_*>ZO zPVedu;1x`#b<-%h_n5T`WV%T7G~E4OEsIpQgHz{+r(iA;!EmK!uc(~Wo5-8NXfTmK z99n0pFnN*I0#iql`v!^|-{*Y-JK(8o>A;|=IqdR9+H*3HYt&zG7yPrJcZ zBR?gxsGj%4g&s3~A#qRxkGJ(HOSoTvpn-PNpgVeQnhJS?iEP!cNSHxvM|`T66PTc> z&HooY=SWBJ`UC&eQhjS_ebYWN9>&+mg3A6oz9pspj0Y;q}C>};$}OmuAN z6)8}S7$#pr5LH5BFQIRV+kR!g`Ll~Z=vFQ+GnU|WOZ%+kTUp*aR;HE)@!$V~IO86&jhnsc?v3CW#>v2bW@*AMMVTf^ zU+;Kz15wV2cYKKD5My^4rVKZK1Od+owS>aJq0DsZ)t1mA!79{xVhcA%nIXx1bP2&W z@&8mg3_CxqpZ=L6$kP1eZWUC@?epL~{{qU)G-?`2<}x^fDPAG2qG7V-sD{CML3JI% zJcBo`82cZLmyW?G)_x+)#t=($W;xPK5soI8=L?WxKGMBYLaT7|<8WD&nR8GmHpF=Z z8WtIj1A2vP#Z>ArOQ49tzcBtK;#^pi)?LpeepM8qisRbtCdTmXWH8EXxjdr3;_3-vK zwJ(%)h1_K7B<*08!SbY+=jbI|-*jl=b!DJISkpZaiY?oICY2qbU{rNIcv8?httS zqV5npoDQ=Q%KYx^tDw8UJ1#H|MSbzop{?1}7z!F@|2c%C$08a6*5?8n`lIEaQs>ES zo#8UMcgm`Ypht|lmUu^uruE+#>4`v(j%g)U6 ztD?K|zjUbNp8$2dyZl?n`^07=8`=MZgj=Cjw%^F(i(;y>{@1^(Ku`Z;#gp>CA)d;C zR-pestQa*q3>i6uItgn`y0iA7@SL2wUB??)weB@SX#3;~;$9Q~#*k$_mpN_CD-+#p zXV(GI)%R`d2Zq7)`Wxp?1At5FSS`_#FBeb10o2+WVD#p>i(4xbWUFM_Ka65xhj-?# z{DIFlYa&cQ`)pw{g*WC`O?q#R^lhenzW?bcOCo?eu#e zBvE+^!xiU!Is?hNVm#Z;)~AJhg32F5zf=Ee)-Kd99Kn*Tx_!AmJV{|mJtG+|&NQ{W*7 z%SIaqDx8x5#ag<0uUvgsQJvmj6TBg`SUHeqm9-cth@nFw13H{D8-@|nW*BW!M})qM zX(b#HcNj06Q`>(zPKjHmT8S1qutJ~j6vYOIE`SqLwUcp$L+C$Tl`O^zs++(Ypo|fv zV~Cwod?aQDqIa>LZw)6ici-%$J-mCXXT_ZrIj)eA|!(K1zEW2X`60f)kVGW81tzk*FBe_P7)r>L zLdhsLfC^6<-Qs`*>6tnmQB3K8yh3HmAN~5A8HS$l?V%UG8k|2dr5--(Lr6a2T%L3hcpalu= zSbr>->55ExCV5zk+Aa4&P4?1I8p&Sjill=w+g4L;p#E7~*eO2$1(WhGz6X$hkhi)b z?_3a6=cOun@I#8i-$J2n0@sBxIRz8>)T+OUrIkfuWSk0PHl@uUI%GiwIZcqAY5*w% zYr)gfW*$JwNrjUCMVSojpOkshXU%Q(M=}k$6vboWC=@Vx1uY7GMVc+}v5UnToA5G8 z5@%;(Q8&NZP1S3>uTYlL`5h>Ct2TRzpiM3d;8;LAUr8}qJ4Y)WLe3u&TR0$=oga$C zeBxdU*)QHu(h;`DvZqi|@6RZVGQyg}liJ)gD86YA!A8O09<`}`->3C2`+75t{Bi3H zszE3_?xv17B?ESiewmkop*s%(N`g-;B&$qEf6DfnaYisX?TTVevXo4{6hl3f&*7b1 zsY<@ksp@PN@MP9V3(vuvCaAUMZ`o@q2##XMm+^cpSApCmvheV70$#JqQN{}s%x;rXwa z2@_id(}zf~&}ab9g>m3QgOc`P6U-!joSts3Qx#9?kJ3;$pi&A|pi+RMAb7kZUjpN{ z6s!e?g3PwI@gp_`ffP?#0rw_rSTJ}okP@%Q0z(`rzu3SbIF=O8)6xY=ievjkdw1~A z>`&O<3mabyZ}L4yRZS-v`fB09fMAvL0|ltwG-=2b9o23y6O=SZG3~SjN3ri|@s47d zX^D=*h%hod*-#{Vu7#0N323qCBdq*5!{^L@oMIAnXg2}UmkJ18bh!~LVu@YLWlKWV zB-vY2k&IFu+@m_ULqihU(SSCGFIvNg4J*3K5Y>7{KtrO)zB8r$Q^;M9nk?_fp>W=V zX=X}+m(2f~q00j{Gj%kG%0-e1A2tg@kquDQU{@N97+i}h+kArrn)S`>6!FV6=^hAe zyrUOVt|J!k@$$3K4DpVa6%Nu_@L_4uQ?fj-K6xbAfcwA0l2wRmC1Cs&mM`O=;ztSt zoo@iERI)OrrCz0TrSNaI5M{{Bw5ljNTj6E|x;#)Ro}6+o>%w4k$p#Iy64U>$&-@;P zmUxY#7;=J!0l_8;TUN@jVOjr*3z9w)XM93Q5KF*=QQ=UUv3NzpwYA85cgi~>K;>iF zf+Pa3>=l-eh&v-X7rd!VZzks2aKsJvRz%O)u3@I@IU-#IsZ_LeM4eG4&tTOOm3fem zG2c@w?S;*!uIWam>4?z8z5-EE_H zy@%M-c=9<%U&)7;Mlv#_a2}F<|8UVZGNc0hQOb%nR2L9_(dhwUYqj!?oV=!RK9ch} zy)-x%ET=FmDpkLIq?ezmxq}!9(6TI%Yv42??l7~XA_R9`Tj7ErtKov_tbI!d$g#q& zd&V5{kH;jLnxD(Isrif-*Lyw1f>3M-PT*yC<^xY7mBNIx5#n>W*QVJyM7x+GMdXxK% z)*o*5pk?7gB=3fN5~zM4C3D1|;fEYYnRJJpyMTY!qWZCz_*RS&3k3WU<>K-G^Phj- zJy-He6eldna!|MY)9B}zU*NxR_mLTss(`maWFq}MUj-^<$Op55^j%hRdH;&XwTtn` z3%N0xedK(M@1z9711toNK+pb%6!L&yLok0kCj44Zbqh_MIr5zBaT3D!p$74{V>lwU z-G*FwO+rkBxA*0AF)%Jzx6spC-p34oh^_gn{E@^$SOk=Bm|VL z2P^_FDXub4K^#PZ*2PQHFmwQWwmHwt*R_bRW48otrsDpKo6KdN=N-Klw?Uu)moGWT zK$x;WFlB$k=mE-}m8S^*{GU$tu@wqL5v|L1$NF9{5E>WYLhNqLd>4k)HP|rqJz|gJ z%bFF@Zv|ajZAK54eeBCSlW;K$eW?kBj^LQtb-~dV0Le3>hbP4|^Mp`bzUZR~ zE!0COM+r~6VIgSX`lVN9%j8?>4%asmrkj&ReJ7RpaaDs1NWg94Qb@B_8Gz<+##nCC z=iaQw#g)}%L8VQ90CpL_uDV!KIrh=LgN)l*+XOB@kZwqO?d^eh@y9nJ{uMX^0O`^k zv&2)q{~(4yV2KaZf)r<=TH{f$sh!7E(FnDcNXw)h0vC5qWgLU72Q5;Kk*EdKj>gX3 zEHrLW2D_Eq6(L+VYcpa0%u>uq=4Y$d?@xO|0R5xiV#pLs-Y`BinePWaByc6ZJ#w_n zKVOfWo$i=eK5BgIUez(g6V4}%#hrp1`*Bng2SYxoNW(q$I@hS2QjlHA(omAkh|-^B zsH2SnrUBGYEx``zqKpCB#(CQN(>>4WIrG?F5mrbHJ4jkM3xk4wf}4fL3sA@T8RH_g zISSvjLBj2qDblA;P-ofKi?XJHleENU9K_Ku!clQ?w{C{>XC*VFN$I`8Tv}?fnkgFU zKOw1sA$iZzoY52tS?H=PJi1^%^9DGB9f=`0nA1@oG_ZeJ`+>-ALn^}CkGtwIM;NAte7RECp=LC561=B4|2S?BT3WDkh76qJKcvVeVPhl|m6aRh$n(pqVPf(f3!Lx*!tohu zQNw9a*zf{?H(`K>`#Bh|QdAx#f~JtW*RJF_m|#w@Yw-ypH0YRodb|McFW`OE9(7cF zNHM#wbJ`q%gYj5T&-Z&+oPk^{&@sYD&Na5ob|7MH5-fSM&_=9TlDtEWBIGdphB%ES z1S{lwS8(jxwKNq~TBX^F$*aN6%I$MJN5zWT6W7CjYC8_8)+hF_t3LL*U$i_z z366TD3pIQ|u6oVS6z^9OT18lPo#;Hpsg&CSx63KiLS~ho0l$E^NIG)bRVnG+d^vr8 z#r+J>eTP;yD##8&Sd^u$!U;^pVuE12GEw72QTh9&Cm|xoiSp+bW@2(etMVdCxWsMz zM?xlLnOjR?<6&~4BF4DY-skv5L9A;~UdX>*%Vrpds^Gja`@y-52B3y^G+gnEYp_8q zyMD#y6IOb>u?)N=A0#Yr=pcEdhjeFr@px2zc%`9VU~(3jB)z)e#ggChmk2M~*j`xPlx- zS%}4W!eZ8fC`lPfnT&)8z%BUkz)?9-I;^EYQv@Jsq?;(_|133=xY()MrR6M>V1a$u z>_|FpMSPzdm>t=HYx0G~B$ncS%Hl6lmG{X0*@4+~xRAWdB7huK%foF&TavOphDhVI zzYSSO_`@d!i13#orK#XRKGLgM!R+n=F&T4fV$RyYapLWfrblvybFMT6x+Hlw!Ez@f zlheS3fj@3_C$*Ru=sGQF?VtVrwacrTv?NS+siPd8DYGv=KB|!_^Lq0eH3Hd{^ILb? z^!z*sdujpyD={-6aIUqDlnY;CP!`C@d(^YkUeLeJrHfY6Qpln46Yj@CnBuf?R5$~4 z^5GVL@L0f#`zmjVDQ$pP%!z#~2Aq{7OXu|C!(#_>KZS71P|wxp@Ioa$3m99>Lw(_B zN3Su9`}0j<0d~aKhLqlg8Ir#$Bu&ig{iK|NXrNKmQ@zP%2^i~X{bWE4@uv`R8H>*P z9C3*vL$v4)VgiPRctCTiIN;Ojm-XnZjGC%hhQ=5m4%v_gS8hWek=YC;zGm^LB$;7? zn^j^XLn4_xnx^UA=lb#9da1KyjMk>{xwuXLH)HyXfdMkaGcg;j!?ip6 zPOU=$gdyAy-G%^hU>O7qODk=bW(wG&3O7I;cs55}B1R?85E}7EWzU`jC2I6(AtPZ~ zNl|N0kx2r};7uwBEJ;mI8RD(;KqONX=%K_}3r&|1D6ERx1Q<CY?qtk&-E*0SGv)>j4d3_b~(~?t2Wx7 ze;zPC@H*)vl`z;K4RWDU_6Aw?p@gsT%AEOU^Sk2hRI zZQ|MT9R^!W;^nz16gT(Y-H>!vo<&bPVj_iLh-uWJb*5X-8Q-8v+i#*4A>K?x51R&( z?zv_Bah=bE9S9y!^&qatck2X@m@QjxK8mVfI3xa(K2 zMXJvnfmmv2O9FfNm(6uJ^za(K=!DNNWZWGgcUKF(FV!KKN|k0l4X`Jo65KlYeC$yM zn7vgqk_{1j4A%AKBbms`oyJOC{11)eQ?U=F`dn9L4QV4imkU!&-dg)+5lMDVubj1) z7TKbHu6He_a@PefRbzfAZd04`KjrO83?{aqxUS5%(IBVXcgTs&=ue42*w;#Kj2mV! z1*yS{EJr5b^{r86vhM*|oZi1h zQA$Bka(l9-B~QTA5^Ge`)ibOptW1JvL<9{|`WIZA$TiP;zw*4k6CT8t|4X0c>dt?) zpgPq)QUL+BplSvF{OLyfR|~2yX2vT2(Ta?j1Z#R5>t>X8oMVhC|qu zEYgbXNI=Qj0^AHW^YW8jiwmdgfr|8uv|`&2Z-!}Cy5P@#dp0Qb{rt-%Q{o?CTPCA4 zF#IqvSech_$yXc2`jwC`NT0)FhRKX8*czozP=Jq0p1_UHCm>wYB$&rXH9n`d4;ISV z0u(xtmFrt!*1p!#5G};qw$bp!$_%nkHi6==cwUQ0qB71*&d0TG7BZefpD2MTb&s7o z%)*%YW!$|JnI~J7x~-)~jk{Z2MOa z)2-A2`|m6Sqd&ez(xhd}*e11Lpwf+oHcuhpdxM}8)MITVTnTq9{Qkyo8^>~0FWvQE z7w>gNKTQD|2!rb?Dg{o;`!V}${PFNcsNMF3p^-|Aj;{SjKb|AQAUJEW&mlkYOV3oO z32n?Xiew=AP6q1HW-GJyqB%{wdTK{b6&1XXceUH5s~%=F>`*0@@n8%N+(bQBn)4wW zgAmoN8Hr{zC*fT9c}5gSd!q}!XLuBhC|H4$q@7pzhU&Nx zgSc=qn~u5C@fgdI4gTpB4lABifmpeXIs0>@GQA5w#96p_>qy{n7AiIxGTHvd=(xRs zruw&UnOwZ)rSHC@P-HSCs?n_2k-|j^j)xohhbCPY>jOBl;tyV2be5#%9GNu~*_KKu zCY3?AGFgVwX;loTk+IR4<)CZT1K;T8+V_ zc)GFTr;DpQY2QuoFnSi;JA##uPw1$3yB+oGnq}MPj+~wCZ7dEUU)IxhRPVUl`A! zwybBc%(0iAL$Vz2gZpm$?!x-f(%xq<-Iph5FNYBEI(tWjCLK{diO=H6AHQXFmnzh% zzpHBKcsP)HFPN$_R$agE013uC)9~ZyYs5FV*R)=$i!v|yT8YZ9xBu0>HCcqLeH7R@ zx{D431oPjgq^qTwof-3AN7lbOoN3Dg8+GFJ{?tI}JY0I&aEt5|zg)XoDMdtU6OC&Y z)3K#dA~~bzMZ9wA_cz+AAA-AV9jdPphQC~R%d{tKMLIRWpM6#ePji17wiRzVoCC|0jI>V-{BWuR)r<(^E+Ix1DF`}og}lVNW0S!XsGJS7P_eS=2}a{>7OwkeXACvrQ^XyI3N>Ur(&G9q>@rfQx%%F&s^~? zs4}%fOLG+#>9{ZO)zIZXi7wLA%Ucv}*kxMc;bxi(%75H>HQ5(iQCaE+zV-N^VYZwJ zFOs0K6dszh%E~r2E6>*zElFj&JCVhfGh>++LK7>mq+K*`!D6gI8{_4pHdEHZ!xFLi zP>8g{4GbqPWzXE7By0L_AV3$|eI*dqGLBv8{rY^ckv2O}CCRM+>E&qoV62YlO&6jM z_RR_H{rETYyYCC_uZ!m|4!J%pAmd5>JAN;hZ3cb1{wUJJ7j=1WxBKfC4uT)|VbtR7 zh)`kDn;_odLHws6mx>B>2F;Xsjg$r8*!vW&L&PqpqL561kHJ*~*K(u*;{HergpPR= z#ya8cte)kxEf$1|uxkO1eTvogbirOp z!pC?_o5dGo@+o#?MR2hRaS)0wuE+&sui(*~AGStWN&rbPf&P4Orv_4J51Q%IthJ=r zT&zhZQJJRGm9KLJ#g0Sr&2^%tou8H4VaYPF?fWDA^&8aZ$fd{aXf{8KyO&L`5R8Q& zl(LdxJP-_flKx`KvZmWgY;h7XwM(cd6HV{;4vF80U!X8ex^~k$g&grR+K~?w-1lZv zAz3Re)D)~dsrO2a4SC-W?~F^(Z2Y`6WU@*SZEZdX=Ypx!6Dl_WQ#kBiNowwub^c{d zNWJggv`cowHsuY_ny|Vf_}0(2720fM)L8a=TsQEIKD&=3=Wpmb`0Hklo=vS6&07i_Mllx# z(Dzw?Pmb1%AYjKq0+Se_)@<)$LMWEQq;DBYw`m+MBFWd?&SU&aXHfpodHRNtnu>(Y z`S4Scj~GK|DPm=L@;IcR@cygHerj@e2i?-r3U!IZ)tyy^QUs2IRGiE~y4T^aD}yuC znBqaXoR`B4g;Xh8`6fIo>LxU_!*UjR$Y+7&N-1Wt+aaI68F}ka+Zp; zxu4C2HQhAd2Lm0-w<1@#v0V3qf?8X)%efc~hw|-W4hbcFAHh0^HEK{38+KZ42Nve7 zFCoW%CfNUWb15tXud&rmwRy^}MPGo5j*=hW3g^*HX=S=aEUn}^pQNm6QL|dsUeZqa zsTOrQfwE`G@wt^n!qb?p#f`&+uFI7SWy388oP`3t6}-glT#1h_eF|L5?Y-YLpkkIy zjrrynEY;1@D3UyLrb+iK<4uE5h$gWsTVz*AI5w zRfOY`oYW>TI{E+{h)SMj#>rq=vo3gD+n*WTi|MM#>L88jwBR70-)@9Ne^-q1rcv+D z+R7fP$zATU8ftPG?Xd;7j!bWV*ssbgd*s8wuh}Nag-n0{tVP3;ZV~>3id$~Ht!m%s z&+hH}_vemnbxtrDeRxYK=@P>8*KR2llTu$)eL&CfloV(DvspSHC?c^8 zEcZMNKx+TQSRh_BB6m2*PF+R-xq^LJ5+=?|%Q@Nt$!d58FM|QrIgaP8PVX1=KXb8Mf4tnAbx&dyG1q0-#ulPjbL@8f5#-cI`HEID| zt@O)xsKoBXV&jkP@V;G-FOFl!cJl9F#2kEpHgRbeM>y{*2>|iW`(xpIl#q)M5$Nn% z6iXEgNiDZ_4@go4aBRAX35)|>R;(om^Go;ow8Efy@e{^ zxNO^mA3t5}{E(~KMX2KD%S$U${7)SpoVd;{*8J>KNLrnm=_OdsL5p9mi#`olcbHn< zMu>@!;dZc;In+!rqA;kXlcY`s^J+4g2N8DK_>VKwHFu$z@Ps|4H*iD_9OJG@&7!=k%d5#%bg2uyt-gW%b3j|V2S=B`Ml~nC!9IuuL;Oqc;NAWNYd(Y}Mz|CRt%%G$=H`#*Xw0|0->W|d&BBEI_h~U3K-QY{({i#?mkWq@^QXeK0zx;-i{#3 zF)|)k_Z_FPnnfrkB#Jwtql}r`)6H&+=~i+ndu}hNqal6#i5#Jse%GBSEV?Zwv}6+} z9I9%)Zdu=PSn?lOz+I)zuWH;*nPy6#FI*Pp*w(L4Wz*F;?DqAv@)VR>82g-1NtyvK zS3V)zwTBTk+auv0NZpYa6c2{K1h!edIU36*p?}?{lKuLxRa*R9ScDC*CKCb7?*6mp zuy?aFHgg76W&UJ$Gn!lW`#d;3J7vNN61puBNgNOy&4t41dNC5@E%zW)IQ8dwTG3b6fyzf4MSIA$lH$jQpND&w=T-QN5Wjmq_$FkEa2k$@A zPN^<`D#Na$p?#Zc_Y=1I*n5wg{f)Y@0EtFdS4N}B_nrE7?YmS)v@L%Oclh8#>b~Yp za^0cbbj6GYJpsA*?8t&U;jXDh#4f9h$_RUiEwoBie$gu%7u>-ofz0!b_%5niKxmv%aq;$sgh4cOA zr~9b|ME_V>bF(tnl(cURiD)-t(1Yc}Q+b>8nr$t}X@too^2r{@$Dfu*|f6 z89_7?^mP^x-ymZxBjKE+VI5W(=y|{XdYUQb#r(1b*bsu;p_1g04-N!A!uTm;jP zh@A59?FgD1mr~A&iED1zk?35!J9vs@rKTo-mICs5=#_-kI*A6X-qwPCtR7*x2u{~+biv{`Y;G<(=)es-E$+SFBa2t z^LYn)Ku<$&^f1I*oEgeK2b1r64|?xF1PX^c7(&14xx99B{zxhc#Vp<1{SUwQ52R+| z2;*>`qzZM;n1&auTc3P*0NbgU)r&b8dqrLYrfMWG+YNF0LUpitd^Me=P`K{%J;v#W z!kh`#r=1zTyB0m}-!Q#UR0ciAHBL~+N*oub!kIpwc5u6HThuIGVQP`&YC~i6a(I*a zzfS*N!!+>F@Yx~!%6C#3>;BOTFE4?BkH3cm4XUWG`_n`3*0tqsPl!*Cfjueb-QMfK zwxg~--^9YO78h%&Ux59x7V7DG>9DDW6Kqh!{%oB|jI;J2Gw#juLO2?pOTx7Oc!v+uWDW_i6& z>`)Zr|es59eJu`E-|@WK~CE`2KPX0z$_6a3!9dVwL5J) zq<7#Mq60a`LpjoP;IMfKF#Ut9_d1=d0q+vmgi+q~|z!2Yx~u$PMTh z&16tli#h!{hOmT-A7Z(r#)0EA$*Wb}>34i7%xWB*0D9-lsDUdN&-gadJoPlwI)!~} zq{(p_%)r3YFIkq%1jgeR$S~4p+rwX@ida!1>bRkPxKK<^l1-mo!#S~1i!OW{kqvV~!E z9Od}Em5AvLb&!yE2m1uaNsJ`$xgq8W{u#%hm;oz~J}tA-?v|%U(53`03|*shl5o5! zp$=X28y%-btqM#s-}0}`?fT2`qy9%|@DxmIIb#%x5{VI}-`0~$9j2+#%t|@3sormt zPwBmk1d2~&#}ciPs1|l|E_0OMWtMpk15v7DMh+#tbVr)o*yCq|Mxx;%U_=N7w@`wo z48f?A10h)v$h^9D!$7nl9^fo**}n*be}`J-#Q?TKjr1~e7s`pLLa0^J;K5%Emik{4 zGn`zr=lKLKqv;|OoD3%Zd}3$RFS2;+gfo&eUVB8%UsqbDa89cuA!JoF&$O>MC(b!i z_4X0h{@({CKVLUXc9&kd;ynK%c85cJN2Xq${QCa&Z~soX^vGQ*{r~VwZEis6=6|2k zf7I<`pTGCd$(APjgY%E97Vk3H-Y_Xp`CgqWzousM6RBMvryXoPZ+E42Qc3vQ7rg7v z`&DG9w``p{U29=&)S)c9tbaG}B;U)qm-X-CEIs~Ps(HfOn}0XlKKb^M9lP-M*{`43 zJ^2Q#z2B?uT`m2-zp;G%73uZUs@Ps{WngSRYH-WoU_g#U_KcJj9!HE*B#U@c+caND z+J3k<>ALs2qx`2oNWOpdAbaI5;Kf%9BUd^ES;@3qz5eF^jU1!4CqlnXcW-NW_jHF- z`eo7AT?dxTUZs8I>8n$k{m+-rZrbNmb8FqL(s$A!3Mwlny`Hn~jn%I3mv7XLsy71f zDK@grSiA5;*2VbulYJ}GKIa4r)~#ZhZ2MxK;n^o#EIwV{Mx9M69llNJY!}`ysB(!f z(YkN0_SxZ(nm)^n-`w*e*@d?~6>PY!+OTFOXEfiuPUSe37qg!Bb@*;Ho}ajnVZxrD zm9N&9aL@ByzUX3iMchksrkHyIz5nh?_Qu_7`smN}hR@}+asw+!<-#$|PQFT}DVD$UX>!&>N2rfST>RP*8-II%3 zU&~e3JYKeZUfr{s&*#-IEIxg0dR$%V?bYk|{=9bE`d;Ps?C0zH?e2X(d9U`j{ogmI z566F%v8-D2z2g4M{Bt$G?|%QAUT;zV@X`AHvA_QI+y7rwYIuNmid{zR4VE_57Uila z@xx}pjT1jSE-F3TCH69QbzA@W=*g23Z*Hip{yu^8=ec6#S4W&z&J<4n=4<8e9jvu` z>!Dl!gHxGXRbN^0y_CtbP)=|8S@6`0uVe%NvL-gEj0KHYiT}nO-wxRacr!AIFoTB2 zIT(J-FppRpv~=QBU<>sWaLf(V?SO#>pcn%~v@>upI5n>%KBTfBwKx{kIzu<0Qq9}p z2TK^X9AU61ZosS(fAxF0Yg&DD{zBaAR>#M&E2Hvqk(i!gw%3E2Q_-ClIF z(EE-Ev)G%F%|h)-qML%=)k2se*8&X{l#Um=e)RSrLjTToq%4NoIt=h;1?C`7t`cNO L1ZI!by&xU{iSPr; literal 0 HcmV?d00001 diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_tweets/decorator/ListConversationServiceCandidateDecorator.scala b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_tweets/decorator/ListConversationServiceCandidateDecorator.scala deleted file mode 100644 index a02b628e8..000000000 --- a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_tweets/decorator/ListConversationServiceCandidateDecorator.scala +++ /dev/null @@ -1,49 +0,0 @@ -package com.twitter.home_mixer.product.list_tweets.decorator - -import com.twitter.home_mixer.functional_component.decorator.builder.HomeConversationModuleMetadataBuilder -import com.twitter.home_mixer.functional_component.decorator.builder.ListClientEventDetailsBuilder -import com.twitter.home_mixer.model.HomeFeatures.ConversationModuleFocalTweetIdFeature -import com.twitter.product_mixer.component_library.decorator.urt.UrtItemCandidateDecorator -import com.twitter.product_mixer.component_library.decorator.urt.UrtMultipleModulesDecorator -import com.twitter.product_mixer.component_library.decorator.urt.builder.item.tweet.TweetCandidateUrtItemBuilder -import com.twitter.product_mixer.component_library.decorator.urt.builder.metadata.ClientEventInfoBuilder -import com.twitter.product_mixer.component_library.decorator.urt.builder.timeline_module.StaticModuleDisplayTypeBuilder -import com.twitter.product_mixer.component_library.decorator.urt.builder.timeline_module.TimelineModuleBuilder -import com.twitter.product_mixer.component_library.model.candidate.TweetCandidate -import com.twitter.product_mixer.core.model.marshalling.response.urt.EntryNamespace -import com.twitter.product_mixer.core.model.marshalling.response.urt.timeline_module.VerticalConversation -import com.twitter.product_mixer.core.pipeline.PipelineQuery -import com.twitter.timelines.injection.scribe.InjectionScribeUtil -import com.twitter.timelineservice.suggests.{thriftscala => st} - -object ListConversationServiceCandidateDecorator { - - private val ConversationModuleNamespace = EntryNamespace("list-conversation") - - def apply(): Some[UrtMultipleModulesDecorator[PipelineQuery, TweetCandidate, Long]] = { - val suggestType = st.SuggestType.OrganicListTweet - val component = InjectionScribeUtil.scribeComponent(suggestType).get - val clientEventInfoBuilder = ClientEventInfoBuilder( - component = component, - detailsBuilder = Some(ListClientEventDetailsBuilder(st.SuggestType.OrganicListTweet)) - ) - val tweetItemBuilder = TweetCandidateUrtItemBuilder( - clientEventInfoBuilder = clientEventInfoBuilder - ) - - val moduleBuilder = TimelineModuleBuilder( - entryNamespace = ConversationModuleNamespace, - clientEventInfoBuilder = clientEventInfoBuilder, - displayTypeBuilder = StaticModuleDisplayTypeBuilder(VerticalConversation), - metadataBuilder = Some(HomeConversationModuleMetadataBuilder()) - ) - - Some( - UrtMultipleModulesDecorator( - urtItemCandidateDecorator = UrtItemCandidateDecorator(tweetItemBuilder), - moduleBuilder = moduleBuilder, - groupByKey = (_, _, candidateFeatures) => - candidateFeatures.getOrElse(ConversationModuleFocalTweetIdFeature, None) - )) - } -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_tweets/decorator/builder/BUILD.bazel b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_tweets/decorator/builder/BUILD.bazel deleted file mode 100644 index 3ed81a196..000000000 --- a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_tweets/decorator/builder/BUILD.bazel +++ /dev/null @@ -1,10 +0,0 @@ -scala_library( - sources = ["*.scala"], - compiler_option_sets = ["fatal_warnings"], - strict_deps = True, - tags = ["bazel-compatible"], - dependencies = [ - "home-mixer/server/src/main/scala/com/twitter/home_mixer/model", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/decorator/urt/builder", - ], -) diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_tweets/decorator/builder/BUILD.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_tweets/decorator/builder/BUILD.docx new file mode 100644 index 0000000000000000000000000000000000000000..4d817946fe1286010b4108c37936cc13818d52d5 GIT binary patch literal 36836 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 bk+K+S>oCBZ6_|rSxk`{B5tu!4yFokvr4i?K literal 0 HcmV?d00001 diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_tweets/model/BUILD.bazel b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_tweets/model/BUILD.bazel deleted file mode 100644 index fac4ba949..000000000 --- a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_tweets/model/BUILD.bazel +++ /dev/null @@ -1,19 +0,0 @@ -scala_library( - sources = ["*.scala"], - compiler_option_sets = ["fatal_warnings"], - strict_deps = True, - tags = ["bazel-compatible"], - dependencies = [ - "home-mixer/server/src/main/scala/com/twitter/home_mixer/model", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/model/request", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_tweets/param", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/model/cursor", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/model/query/ads", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/pipeline", - ], - exports = [ - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/model/cursor", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/model/query/ads", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/pipeline", - ], -) diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_tweets/model/BUILD.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_tweets/model/BUILD.docx new file mode 100644 index 0000000000000000000000000000000000000000..2581f4a4f9a394f322e1a1003330a7e44f0154bf GIT binary patch literal 36893 zcmagEWmp~Awl<2pdvJGmcL)S`m*Bo|XW;>YdvJGmclQw7EkFXn-M^LY-g|fNbI!eg ziibJJcx8;LS+i=DvK%B778n>99N7IA9_=dCqWENRFtBkLFfdHesGbDC!PVTs)kxjT z(cHy=+0)*xDOo{jO%(0Z*$Z|Gi!iB=1S)pGrGqs+C=J)8q%MP8xsay>fEOo8k{XPoa)#5 zicma<5dmo5zT5XQdrW9?9KqC=MO~}uZerMkem?=&hEUhe{eaBYdUFuSJzmpfu_r8-r$vo~2qN8abGf09-XYY)y@(sBgxVxh(ilr2OSPnP5o1as#pVSB# zMg7F3AyTK>Ar_l5#=*z)=5!=M?st50GqV0cXNeqf{jh%^H%0D~6Ik6bglV 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 literal 0 HcmV?d00001 diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_tweets/model/ListTweetsQuery.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_tweets/model/ListTweetsQuery.docx new file mode 100644 index 0000000000000000000000000000000000000000..92db3e2bb4d887525127165922728df63bf20905 GIT binary patch literal 37212 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�TT)cKgZIcoymiZ_UOt6SgL zJl4WoYb}@{wrp77rSy8+V=?!I(6j*!({vhlD2xP{`>+N+g#V^~{|7Y|m>T~5@7?!g z+vXx_ipd|;Ze|l;Y9Zb~slU-+N22{7)aTuUh@Ig%#+yEEZ@WwokE+W1upH*HnVAFJ ze^KZJb~aOY9E)K`Qh9`FqrI;kbkw0V+i@63;599osT~yW+Uvvmy~{3o)8ajk@)!Ay z>nNC99sUpU77lLgNY?*@eAYyM`#vUhYu))T@_rNfdo}GlB<&VeoNxV~zQO-cZ;NN^ zGB(=k3TP9#YvgK2$|8Af|1th9|N3re_e)nXOiAG*vkqFs&uBnh(y;Gxt_0(%fYw}r zpJG>5)zP_o^FbW5W%=eDgr4e2lY%mdtNXy3c2gI+aeew%p6kMPkuparyAsiq4Xu!| zK@XO=0K{v_+IepZ44PvI8tmmsX0hX@CMiM~w}%a;esUXHTj1UY^{np-oTuU0*3vUD zc9!J_M08f))HUB4ZaPLR0*$ezFoi+5 zy6SL`k>FNbd>WQ25wuP>TgO(M3oAxkp4OP+Q<^I*DUWII+~KZz7FA52Yka_!=0=sC z8}~NXJ?g3tD|YoSM&#~@&v{%u%7um!c|N7Fz)(!&={f&erj$NS$P2~Kv2=P3y^inUF8OgsR%vWc(ECf;sp}Vw(kDEHcX-ZI$kSqOjnz$F1m9epEU^q%^k*+A9-KtT2|4o)hP;>P#&! z+I*jEr3Y`7F3u(08~B+a$9xyIFh znS8H*)KwJzr^(Rd-zNEyf1B*G|Nk?|uV~vd({aFE1q7SKF1CIZw99TKAuYhiB@~Lu z_+U=!L=1kTTpzx+zq@jB2-&($#{zvNliY|ShpVF}#~Ql8bkO28L@<71c3Jsu%lL!y zy$8_dtEvE$RG;oF#+?47fIb2=0+RQ#8OAe`*K+GnkUItd2LZM`T{MRxz-!L3A1=h7 zY{oJOwk3obPY}H8*oF=xhLH3RgZu!~N-m#7&Q?mtFHv=E78(yVX^Oza-et#|4WHeb z+7ynb0?z%%#0Nu{wxc+EV@*zt#S%-UD(IF7`~4;@9ELM~o;1YH4^XA z{?;|nLPU(gTInj+hy1NWokK*{V#<` z1IYWw#5)s2bW^?1HYVzHxn&;o2wr8xSWudb@UYtn;~Wy?(vBMPgQ_P!zW(^pfDVm! zkhO0H+zX8REQythN}7>Sf^P={!^ZkY6+|3r=OR!SysrrWFnH|UHcu}fqt|ik-%}Kg zh~+bEr0}X+@|s!B>qjVnzZ^z%)TlL`uL9i=okIM~{OacZ-nT>OyaVk_i0%u@;ks|L z_-8tH`ce_)>)JS=@Ipa9;aOM=)0$I>&3d+D7hdypOW#drFVZsdMHmQki>kXM8Z!)( zw>*^bNHrZnxj|t3XwNe*ki+;6G8Wk_?xD#+@Ur4gQn||sk)sEVy=TaT+mRpBMj|bz zH#b+7abZC6p;#jp$u^Nvu-Z;LsocrC|4Gj(@Eg=6GHv&vcfYdyzI#SBIFU!X{Ydw?cZL;0?bfCSd@Kp^!D>qpKJqh4+%$j$Y zQwSDRIRGaw_#P1j*#rnx5cnnMtTkb>#(6!Py$6pFySeX)SqxzrS7}il>yis%9qaNq zA2aNJhrK5r|IW^2M&X!+v*#uwrJPGlGYN_m{}=i7pHz5@Y5-(#5}+q%(q{0GQ%Ulu z=r6Gea2jW7ymUrIdyZ5;JU&T}BySvQ^EeoPF}`H6SX((fgj3%sp+2yLXr(z=lA*%5 zl&Xv5yL|4&Q$Dsoy|nFm=I$32lle{5JyYXWl`;J^PUNG1gxU?xf&V@1UfHoD<$MUI zSb&5C>PSUs$Q6DKDej_@!6$>2(;dydo8bGVugsm%pr@zaouppf|1Q-`j@K_We6FgN z(Wg~0Iq|>p=LlbBcwEfcbMfqZX74*^5tgmm$Y8rZ*yXYat4dcFAaNycXN3@gMf4^m z*K9aNQH|2{Hdv|2k-wi7{xk3XncTcy1kB)ITnn+($Lvr-O!L4188l!C6-1W$@y~~H z2kAMIHlQm@zUEfVl+61lIi5q$|ID>`DGR53>&b9#md6vN`(vY zyx(=JxIB{TngV6QNYN^PAZ9I^R^%*7(TKjo(AYip2(L-za{46kZ~!lYdyi3kwLXTu zLXgXu)4d58Pg){6ERoD93lY5{F0H{=DMMda*7(Kc`k?AcHKoKwwPlkvjFZmlvGtT&5=hoxm@VW;PXw)THn;Ssn0Dc{_oQ*g z)wCU&4SjtL#dw!Tn1KW=RuUU0`En&VnBY_4%DdGSNLC(Of&0XGb6TD=B@Zk14pZao z*sHH58k^m<@A0?bCk)!_bpaQ!;K2U~4$LWo75h_g-*3TZzXewl9lN@5+-n`%b$i2# zX^?3%-6fNa*;SB@Df|WO(N~ik6#Fk=mG)0&G5Ax%5V%iQ*Fg2+&P{$X+$RN=ySzhj z-!6Y7VCir%m}oAxoXFbEOynQH(Su09)Wq4c?YFREsOm7dPXsmY&z;_eXWjP_%CKTl zycR3!MGYL{uwuSlTS*KxeAD1ob!6ZV0TpAmT(Il9vTe(wtAh0b!1rh$w~a4DB&FL+ z5?e=JU_T=ZNWf~HzL}yxGO#p7a7s)&H%wC6oygbJ|F*dSKB|N z>pVBD--wflY34iXBAk%U_M1U50eDd|&MJd3i6DceNOK0Kur%z9&jx`OaaHW%CDNLP zNCe90rTY1|S54?M6D2$d`DXM0kq^C#)YTGA+#?2?#MVdQtnaaQlb~#J}p2*`@n6OK91>88Vn`!&Peig=U=_%Y@Fl-n{X&C8>;N) zfJ;j9O-X-llh_yW^WvlxWcHW}1z3I~;re!nk-ia4Y+?{LF}`SD%r<}DIcvYuQa$m+ z0SrXnIo`CoBlwN~AgZL}x`+1_d<J9~(0%8k zeNH=@m47MF51Jh$ae?yR_CU5B3B|S)#OFikbJ{zZCF9>r;`D|baY`TS(Kz1Zv zr%n5l{*e1G`Vv!1;cZy3`GcKSKu08G$H5Tye}^+bkL=w&U*Vw>)A~aZ_H+W>J)v-)Y?k*d&>)04+5cO(Ct}tc`?&VmUV!~I1h*G&f z%Y*YOQ7rk^Zjp8NHOlK4+TbX$Z~vog4GZ5eG(oD9L(tD=`@9!w)FKIL<<5`TuLw#( ztY=T5SWq-|7yJ*novPx7)-5rPuuE;QkezXbH9T@^46mB+VYpoa-}|v7VXS<#IwC;CCcVOiq0EOritt7aRqU- zq~!gFISaTZ-7yhn`&L`Ye{_M<~V1SYJj= zwzC4l`^dQnAfH%gOki?xgZoA)dBHCGeoUJD-UT$3{YnU(<{;3ORYoZmLK)Uwc1d00 zA%R!BPVM{tFDiC06+zT*D)z{skK1)Ke5PQVoL@ZI$-L}7j<#z)7|CZR;|fV#>b&Wc z;I88|(@HshNJ;ZIpl6zJb(=;J{8(hv_<_Q^w)`!PRxt|x{7#~> zQmE4IG-e%=$cy6<1N(1`Ub?!_aI{**i9BC*blGn+1vJB>u$MzoE=q#OTH(pz zwe>%wX+?1(jYGcGOiVlE8)u2;mYo-GH7N-fjqvGK<+hXoX6$Z0^{;>H(3y`)cHv8s z5DqasTJ*xaLwzZ^#lVe+TitjK=~KdSHdCWJp4F zx^*c8piEvR4__rOgf|=p7l9E&gS?d7uh$kM5cWnJtI}YBRs(?Xuj9%I#myVI>Zyb#IaiSw}U`mCQq@l7J0F zN*9M^JEP6aat4cF)FAMLv=oEA)H)7EqKOv$rUJRSACxP}mMe*zMf3oN3uSAEzFd;T zu06VhhU?6y(H$O?3nc+-m>Y;2@492KaHJQK27+(Ct6D_Fedm@_k_Y8;EFckLBp!m- zjD3sBxI8_WQFmNCiAVQu70Bp+stD=5BvGnR)vC5}tqMF;7C<#fYl%R^eQ{kDKBtg; zV#Il~9E>ua{%w9qWS@eqJR?rp9E5=om!#;h%Y?N@*4F`NCz+bDyALHZLs#8H5qef| zFhAx!55qaNPnW&wt^VV()GC^cHt2`;*H?%xoUgqQyU~();@1|VKMapDC=iJ-cuTQ~ zO6~D&&`Bo2)6L%8fV*^0+9hjtrVM~^aRfao#C$F-b@s)8>B=Y@{prTRmcwhZroyk@?cT3AYKw0 zJ<{Fo6Fbq&GIFIZ7)b3eAl% zuakrnuv>2UoFuGKvPh`H%)0@pt~r!thXJX4g^u@2=VY(w|2(&E;u$z6zykr{QUeD; z_|J3u+SZ?}WGpPqO+Wp4gx}XNwLrH11aqfI|YJbY{GXM3u@SCV(&cd=1#Pt zV%{*lI^pOYV+;5czj%&6)@ZEUXz&T}3xoKZxHc}A5wx(o7rz$|&+bRxwv8&@Idb%n}n=>{J=3W5k8L93W$~ju-6Yj=*Ya{N{ zCj9(QJxeDCAKKPvh7TgIL6IBJWo@ab#G}kdp9w>H50DR7jqVm z^~-dA4q|jY%Ro=>XI|?|*E(Zg1Cg2=zhe9QR12V=-)pm>pS#W8+JtXm&pm5f00`*k zDQetV)_&trQ1UA9`f@=BeW%T-^;JH%YAL%#d#p(`qcW`>x6G*F(Fa;P?nL5 z|FYKDI5c}TH*{@i>APPw>c#rY-uYX$nGvBH2Pgh*g80Vp2{sQ03c#fgo$i@$@^QM| zAyDghtp~sds99RnvZ;D*eQ~yC(uI>=6^vHBnRT<_yWFupPglrI4Fv(8Iydd`$#N2f z-g!N-%6xzJdtKTvtQQt>Ano5T8CtsprjiN}uf5cZkO+|qk_o@MJ_&7B-gb1<3DTUD|skB0G338w#CT^YZh_eGe}JA}tUjO{w{r zpJ`BUR5~O(&cX>}1$#lp{B6v;ol{`GJbMn;Tm#6(f4y z1qshp!~JYCk)iu@2jHWEU5~E!BSz)%IehM9F~p_7UPQ0`l7+*PXT$zbGEe3Q8t6Xr z?oHq4!`2ybS(}aT4t8}MnrHZCGEPcbEKfDfnfVUc-0nza9afE_ z9IIGN+XQm-gFzPP=;2c1(B=yZI=x9p^~@#_7QT4wat$iT1k^fpu$5yh8?SmV-K$xM zEqART&d!z_yp04j%#WO}kIgGfiDsda?RQRH#?|fVS3`oQ54L?Zgg8SP%1P1&a86<-Kg7Acbr=rC zs+HYVK-8gHhvKiqbby??(}h|LYxehgKd288D$&p4KR~#H*ZU#b5qbM;ysQ}lO(f5f$R~C}0Db2DSj1RbCa$4Jj#+TDW@Z>oQg%_VOd9T;M{ec)^#h4Hyend7DyDXd zO2q&uQMOwquZK^kq5Jz;8VdDP#%GHx~-IRedN!VqGdfO>~=CluH+S9dp zo6oaATaSB)saVzGgyGHh^}tx{gmQ-cH{Z?g{?l{rNvS-ij@JkFIY8smVLwBK5KjOl5t=jl1wx99CA=4!Es5_lN0 zRiR(FAP|12;;t9}2Em-bo5LtG(VQ$CB{R|NEHm%pc_}0lxAMMURxk}zFb7W$mJp-L zIq)ulKFbtw-sffn!RF*_0gc9J);W0J9C!*1qvPBjVXR94am4{8+NjFPRKg+@9!B!k zmgL8)s4JSM=v>>v<)1I*s50OBhBjD=X1dgV66O<)m?Qq>K|BYwPy<(9gINmP3J~NZ zD_ys>tsp1W4)UnP9Ng;;S_WZ+bxAzbAnf{ni`GVXZGU$u4LgXCtwH6HkJ*>lP32)H z8n_VhSz%ygy+wO^&=wWWg)AOESmZ!0DU-w?3 z@Jrn&s;l#g&;8R=?EfR|Er8#wt7%H|T3-+Dqml@=funRpSZidU2 zsp1M}FG6RBYR+t%8GBPV7!?$Dz$bG8=P8~~BXYk{MMQ$y9$}ouQTM?}mtmA#Cu3?= zSfL-?Wdeo1ShlU;;+yZ>t8C;M1da+Ub}BXw{#YcqFa0|4F4JAqd61IRljMRkW72y+ zv-;J;i@|3X$sKn97UN>6-a|(q*FE~yUKeR((5d0mwyW-o7+`C~{j9Bv%*Q#t6`NuE zGAlKgrx^ZtY`(=%A5>qk{#1QpU!Xc&W~C~T5E9jku;(z^ob1?HebCz5zSBpf@YGkelqPgDBka}w&341<^3$-Fv|}w$LSSp8lyj`qCRwI z?5c*05FxDTJgd_!z&}qsz3W!z=6GZ+)0QW#X~m*{w|tHtu>Cw-$$jG8m0(j%hkjPIpHoOU6r4`mzLvG3mQ zX2k`f3fP*<*@Y>cjn)&ywU#~;{3<)yDd^c5M2|Yx^A)td=kp__UD~lRIv4XE3lG+B z>S&O>u4hMRjU7!BZl(*5A?}OqofXG#&v*ysJ&L7VMKk97&DQ4ze9KMa%uD6a6Fb7S z?U)%5M7tAD%DSug=(Im&OQ~{CQ$Drm5kl6BHeGpA)FSKY zf_3!;JJyoD^G;*r0raFKYDq0K>Plf_M0+7bg&sdt}wxh zP6%c5cE5j5=qZ$~qtEv$`c5ft(A!DT=B1l|D{E45;PUL=tDWfCt6l#QERlEe1!X8> zl}+&YorSD1jD%0(@f0V%&}0eOl_TRo*m3ji#p&nx=+=+XHvGh&pHa{cJmsRsSy`c| zGGxg~VZx+8kx(7_r9FV7gqWG3h>bK6;i@>B%Ki37@Jb}8BfNgzk9*FDP6=IZ0@Vu(bH=jF#Ul zj-594O>RpxI7akK!hyj=W%^#iIHJ^fz09b;b7ByFHpWFZt7ziywo4DK?l`QCXJtW@>=)D$Xe(CV0uWgndQPrj@UVv zPIPE;CQk~ToOr5C`AlII(OpSNurVw7c4aeUw4O1QuKOH$a-SvK-h3}Ti*K^jlTIxu zMHauB@Z!j%s;}6Q028r(d36a5Ib5WL%Dg&o)^W!^j|0??OyinvW_j;tl8XpZ>8RQS ztsYfa9cPs&RVOd=;eJ0t7Q1>aS(u^yW@>cV^TW(%YNOn@tksKdRO>0nqGYM=1#B1o zms+xbh?SZ)7#zO-9o~&WD=`6f z`1U*UC|S{xXRo;v5@N3{bG5g&-Phj`z%LUbjmaepaPUSNJzuVSyOgllMBJAM!#YUs zb?$TU3+NzaAqO8nA#)op!>wjkf9>|{;jKlSgX~J$7B-@0>^*EvkVWdF`*L-=%j|KP zJ*N)YcLI3>{n{MbI|!C0F!u?RVMuYOZ9Wzj9Ou1d^ZJLhqAqk(il3t{TMiS$&7Md5 z8dkga-AU>4y~wWghh7{ZG1Bq6mggl6X{VFXXma0%5sJ^6?Z*JgDKP}*&e6uYbbrlH zqwAPd_2h%=5O(tP+V1;n1dBW^&ksx()4^hYSy4DGyCUUFB!<|XJ&p2yifDfWF(9%lLIEfwTu6MIxh)q+f+IiqBEHqVXG?sIxQXvPW?h(K{M8V*Iminfp(R?Rjr;9* z*#{$-oT~PVi{#$6CLfSnH1+PbDSPafg>Ky8ZC3%4A5g1#fRD}0@xGtt0IlA#PVTI$ z!ES#qQ6w$9rN5-6I6C|#^=HXy7hlw%G>6fhHS<@D>*(S^;oa>hh|Nq}u0=ox_qF4` zJouBnqnqOIlWq5YTfv|I|Lg!9k@vY@H=Q}#xUrDI{k;z0+ql=^l(JnN$X0WaWeT`g z^VYNqP+KUcfoQS+l{WTg|46OonlGIn}&8nisc*@EV>HSZ?TmvuHzwRJ5w6D+pXvD^Z|_wx)Df-Ky^FFV4n^?Kh|( zdra(AbDmXW-lWV{!#PyLI>-x#w#FcAA)bJg>bve$Yn@daA>r^re}7s5iAwR$Kd)9R zk(~9k!Dye~t2Se{5pZe$^}tTS+;O=i`rXalM&8o~xOYlrctFQyKqpZ_x`uqueUNs# z99z%bM%~jU4LoGVzonZKq|nT;%+n@$eYeOscsR(3;YH5dRzgBND10Y3rn>*M8x1vA?o;`ub0(ggM z83#m{zB%5xmR2akCIkdphpQhO%O=UGUwCS-v&_&F`*=n9-cuHDiSd|KPv#b19q=+j zWvy~#+oQQJ-k9vXe%5KfWgu<;{+&AP%e6sl4vVrdk_xMrb)_D8IezNO@aZE-f9&;W z&_0)!po&OinAB?1=v>+7G=CkoKr0eck~aS-QB^0O^TBSvU;^^ES|WKk=1i>OcI|d- z?d3{GR#mKhcT^=FoW0BT0vHyUZ-k_NRBaR9U%yQAJxu4ak6*L zIpEAKX*rwZ%7R(cjasyVzrM>s4+9s?AkZdT%hj>8Ku{N<xk zHQfgyY%etC779Zr8(}UAfk7#bN;ak+l28zmgkko4)`0-SL_`yjq4NuctWFQTuCzkW zDy%Q7;fprp$d?KxGO@XR42fm^DZ?Nb6fzLPIw!_6)i990IRpgOM~(%k7~LSR6ge~Z-ci|yWqz%;yk`V27=1oJDhdveM#e#Pv#Rq8idqfU`WIf{Q9 zX#a5FBFJY57}T|VSjSnMEqe8<3^hD56!v_V^#wYXyIMOKR992D`(T*M^ntW~#y=h~ z_?XUtdaWh^f?+@qru$G-6b5;+#1bQ`t31z-V!lv|fk0U2^F}-4&j3vHGtRqlLpZF(*pM<$1JgLkvKPH74ES3WtG^ zg7I^JUgH*e4Oi$jPS~Krq|de6T4CZmuW|*!@UaE++MsH(2eSt1r1is~YQB!;fj`wy zX2YR^;AHrdmgVrxGt5w%_GU}~&xZe*nq_SWkoHHCRYI~G4^arg&k$50F#ESlKV{~Q zuwNl=ahVo6re3kE42-`-axi0(p>UJ5xjW+hHy;^M2xBT&CLL`^iT7qi(tsE_qaGCh zPbxUhM@ag5Kc2qg4*+WsWW=l`5A03q40(L1Ndr#s-f zZ`$T7uqxouclp|JdQIj}4*}hfjDSLr_v~XB_fEfW-TO+e;`7#)0_oIm6c+|Hfu9J6 zIFXqcjy|E2`1?tCf@lEbI2e>p;K!i5``sG@e?HZUk)=Ws-~yWH6jYGUIM&?mbcUeZLRJq^;(@Ng?a^vg&^b5J4X#7^?z~peUQq z=+hI|?~)N@Y=6l-6?OS&Mc%yZJ#z0qPAY_tV5eiHq#tABnVfETv*5Yg*6t`-Sl_(x zcKJ+AZ%@g)zg2s^DP_4=0mcJTKf%@Rbm<4J=04TYA3s`r`r`gJ;{N8(pQ|8qF58xj zpR`m`YYH%*)L^5j-=kkoyn8WY9JmNw-3eP|7NW#6FxA#H&oHoz%6C{KfsxQSp^@Fu zbt{3Y%^ke>TiEJO&*~506-=jf(;&I`n7ImMx=8di)b(B^i&VRVQ|pVTU@j8QaHVFi zsGQl8z?;r!FrGIQQfsO(ago{#Q%kJxORnGhnq=u6Z)KEj<&)1E(t}BdcOq*wc;PVc zpC}!x#3OqY8A%N8>xDNj(--3IZ=-CVKkI)KpQCj7BzC>unhL^vdV=Dt*vu>9`bO!Z zO#E1mlk{AqFr2gb^(_Hw?-7VMbdj2i7R}7Y$iP0$%rP?8`Z<2U+fB~>4d_~0W_Nn# z&CABmm+D#%yMY!XUnR51?)QX+ZZmx$aZm&IxAjR&xL<(4{x;LVJ9=)Ka(RRCEY)vF zn1O6Ze5#k@n4l?5{}(;yNJsGc{r}YC;EO9u-hy~>L7{#6cyD%FD7BsXxW9J@&-*;s zfJm#LVf|Hk=F6_gKp@2g&LfR1 zaw%EtEUZmTbZqGrDNv1QCLcl&RYGG=p_znj-_qawSw$aoD;JmPOYpiSy;kxqEbr|r zlS}=1pg5LI`g<;K%{=PKa!ucIKrm?Xgyjj*D;&=h)!Tw}Q@RnHaSz$X%-(eOhH(sI zWne$EG-8*aOp&Cmx4*i9C}+nxKE!Z{vAYaWhM7NtfTxF8LSf)gW;pd|OK6c`6=*%N zg_)yFlVm))1Y?`{eX1COouATA`^*t&X?}9I3M%FHd0?J@0cCm$HI*b|863eBuK-uk zFv)U6!(ctXsup3M!3$T6{SU@V`#>aX9}#9lu%$V(9BGCKN2AO01xOJe>E0=!Rhap4 zm@LZlIVcnx;yeNkiwwsBy~4F(3U#O@P(;CB82=J+E-cFNM+A`7|64@#kXWN^xBlM( zSo2`#5$L;!%r^?z&QYc>gK7WJ`oiQ(=%-3eLC{T(I6p<;1gtSW^$C}dW`IIUgq!!I zS$?7Y3gq)AJ`@LOhEecpkwjE!&*&57E7%liM)*EP0WR*}Vx0f4Vk|W{ep@wH(x#{D zizrjE|JK&#Ki4E`;Jv}F(9Z44rMJlj@1EAy!Trwr;%CA}+l-`FBbQ3gw6)>hxcy^+ zx86&$+DE?g;q7g5UnuhmxzW@~+QBNFcIJ zhG;&7&nRl7>|7sG&rKLwW#Ndo9f;|*UZJFlVQ{x0DtgT;EQ|mqO{`5)>G4v#+e%1G z>vg%h?D_G&9X)aQzlE{pi>tfJY^K`!OxEIHrc;_CRon()MS} z>dl6I6h-}+ClL=34}4HOnp(2Oy=#j}3A7|^VauR938w*+_4T1U$*cS>JYwnWJM~nf zNfrGFJlnjkV0ih$u3$WzcC%s1ysoUPz`KAuE-(&7eesgPt=W`l3L0j=IfSFfLK*_r z=X@LbqvfAc=Si&{VKO;)%BqT>M~u3bct?z;bu*0gM4(4Uw!}%;Nq#~WU??lD4W{p17kr8@47 zA=7#;W6GLWCaTHKt{tMYcV_DchQZYO8|O|vfJ^FFEy0p62T#BO)Y=+g^yaaPTO$)_ zt7O_YgkoZcclJg31D|cyMlza6{SC(@L~?yB?gH>5)JmW4aBSXpGwWJg7PGWE6)2=I+EG391J^(xm3fKh(-cY=YWX>>mq_+;lc1ZWq%2V z_I%8wh6}XlwK$O?f2l%9%{LskMl-zRrKYs=;y|SQklT(b&UJ5o#^oj!1QZ({lBERA z!TUP|vl)vpP81udJNZZ#LeU1T$pjmU$q>yysPz&IjJ23e4Hw3LP^BB61Ps35-oHfdaiM*S zW})&JoJzOr9O(*6Pj7w6lSb)q2382DF(P!3Hku6&-4JgQ=03@aa207efckd46}S0^ z={Tp%g-F$&n5D-IUOt(=`rJfKB&V?`6fk%+mf@qx(lnNhstk*9MJf{C5MGFkq5SfM zeI(~JGWZZ45==A2isKTO8;wooXP{}K${K1}7dXnzYAL#fGz>#{fS{BJPU9o$>bzt< zY@4AF1Y^V@JjTBB(Xvd&l`;(E5mjbF*D%f~{nnCg=l@L>55wlYNAHumhQCZL3GF+F zy2DG_iQ$!ZH&4DfXIFF?d;3*{DSkffZPsD5aP3LtI}0iAYj2 zOhj344!V>vl#nTfl2MF56`nM@#Q_P@Gj$rGn9>1xxytZ)gsDe`lu|r`DytW+JYlUn zL6odBG2e1zo~j-Kri*fNk1E1MlC@GjwKyg$1DvwBR%BkpOQp0Qo%xNZ1SaM&PFX>` zDr=O*LHg{ce%ri=KjRmj`l{%-ig<)4Oe-X7bdyqBvzB znyS)x4u%><9gP&G8Djw5`K%dYMOr^Hu9|9^NnV76@~{U^NF(o0h(>=p;7H(Bp_v{1 zNdc3#p+1n#oVk#e2m4Q@)_bYO9H0!Tt2!l}T%^KEqoN`;{7=*(*ngsuAcas8FV#_{ zA*%k%0^K^G1@Z7$e=L~pj7WSYd030wE%QW8^3+fo&RXh>po22oR#UB~{#jGdAwK^V zlkzXV2atb|w>l&4To6>}r7C#vgA2pnLZEE|)`c-S1rzwxs%FGeOCvDSPlYiXQ|AvI zGNA&U#>q}KfRur2!Bf&^?m)_k1(N?onGEcolzGx-&29CEGYq*D#iL^>6fk)OE%JXw zm@V+Ji^Uk5@G?mfXJuefH@(_T)@i)2P?pj89w>LIHhGAkO)LxGSU@{pNikYGM=2db z&L0w6I3SjuABseO;$92hFWOMj5w^#&r%+PwOD~8t!kWXA+T1iKx@il>M#117v8j3A zr}ZoSb~A$;gwXOO1{vc>TKr!WY$0n&%vB3sI}&2*<&gQj$+3b|28AFP8F4%_ErxS zgb&00B0vYj{aN^;{s-b7)NXt&2BBDC0{4_%vi;?_kPO|nW1^GCb4c!wO7O;DrOW7` z!TShAvk^@xo;b&e`!pm8@LE$PC%7mPvgK;w3*~e>$nUArru1`Ny4%`D;00FJ&j`W; zXJYEw=#*LRXu(QjTLy8CBzw9c+m53IXh?Bju%$nCod!q{em(m^qQ!jj=$ED>uxDdp z-n+T~24+|P{8!BQ@vZ!+LnK&eG=Rs#7;vINN&Bz~W)e3>PdC@0il_8PX$TxpDTOLf zDL_#WJkF6Xo^e|W)&fI8W?S3%5u1WQiYGOndy_RZ2)qbLiPwFBA(oV1tp5-kON!@d z>4GHLv2DDqD`;@`Cv4A!jSq$w`JSVyrV|Z)mGFRnkjnXi0#r|`G-R@lY8RLZN~)un zc51w%*!R>pN3o351jivn7#W@{D3U$bf{4g?v>5bZR(_nJbLKxzF^M{~nE>fa`3Eh! z+=vyj#H{78B_eB*?5(LtMyd|%Q61c&AqnkhK%2uCuHnOm7T%?cYCR*MAyH)AnbQ7Q z$X$<|DC@(aaNdJyVoHXW%=?zE%L6t&c{G5^MUnv@ItxOP1yI#sR~iT(Sc@&)e1im< zHDh*)_;reO4}><((Gw}h5exWW_E~6#ILFI!2kA`s(A20&S)Nz#ToP=+{oi59%0;!} zG5!k6mwr(GBbkBD$DdUyNg2~pufn-P_%~ayGGs<-Wh9-ga1#PuE~pewcA2MjK@hrR zy#`vb>HpVfe)j=OyarJWIYC4JAQOcxD`nWw%zwoNNt=!}KA|LtA>hF%cPL3;yrSXS zTI9Vu<((Fw@-}To5`kCt49!Etofe%7+Ek`D6LYOU;s$#wq~~nYFw^xImM(-;D%?7v zPA`>buxgIXIEYW5@2-*d#O71ibR*MrL}+ARfhezbVNXFhu~X3Eqfe_3nbL%tUs$2t z7;>!u;oBQ947e-yGB~4^f;3gLyEzZzszlFEAhV5q_B|Pg_~b_&_&{9RXqShCtco9F z-EEFgy8hif^|RmJL(FL$`JAJVW+Zeti9$@!dKDx3?JQz#ads_#D1%g>aY0gQNPS(b=3aGKyRFtZ~f1b3ZVVS*s5 zVS;I_y-NqkF~YBV%0sxf&_l#1zIhx0zXCyTLurt<;@(IJE6W7-k#{Y^gqq}PjsxfW zOn&bm3B^_{gt1tl`u1ftTg;HX`~3<; z{C|mZ@%a7u&p+>;EB+;l6Pjo_pj-B79{dL!Cljydmp)vb067!iWvylw&wF})x6Odh;+8z zIcRmnGw2@2y9LN1RY*Cs)QEA##p?8P&&o6l9P|y=YB6}PpG7P&Pi~`3nBg;MPDkLp zqAE#v@U$&!kB98DBw-68r-CA|A#99bohABx)8wwZ5T~7TV>b3sODJw<*@z4W3W|aA zT^ZgQagXK6St(CAKoGLjUk!Ay%%HB1#TrLKtM}J~@^;;bkYI1zS2xC8nn9(OA*HAN zaTY_3s*p+q4cwXr2FI$cP{P^hZ%^>}gR@XI)n^0K09AB+S_Bb}!<01eq()suJrRjNNynm!1`Yui> zK_dMJD7)WsKUP*9f@k{8Ib&;YC==?{5GYcwv>lNFh_)a+VAWzlf|-4saGu2tU>7k1 z@Ju^qWV&T|$fWiGi6NA>GxOiNUPeQk(Sv0j`|wW3U(7;ZYC@qSIA(NSaJ2eE@=WXD zN%2fSArzG@dTT-pbrZ@_!qaY82pYJ4?UC6snJL-fnlWLzIa$iX@d|9>27caXV|9z~u$d4Qj8wJrFPc zm?7d{fg=ErF3mAZJk|LPUhdqXWqaTcgG90i%$xla}jQ)`JdPuL-Fac5V=GRV5q zB2^oST0re+?Ci}#;})i~TghD!!gaAW5%x_lMGt3uwtD^kv?m16Kl&|(Ou^&@<4u$C ze&9_4SM1X*N6Y;4^~l-jj)~=?+S~3`9YZ|+e8O1VDX5_jM>Sy}_>+n>++&Y(waO_4 z*_A8}CE2tn{aLy?+6Z6@Kn>L#Xb)1(zCQ_5FFry6;X1`34Hg$qJ%f4QiIRzY~B{pLrj)oA9ii)~))15ynnITO` z?+xV8Qj=9r(op{iNev9idzR{qrcl5_S83ti3HzDX-x=&k48g&ij{2aU{p;EfM0Oie z5#IJJE;U|S1S_L%USfMCUMp}HMZh7+>crCml&~v3^*l`)#3h6nLx@?RGulYwZPc3w z%|(1(R$6{m(h?4X3V=oi@iQ;2u4R_9G7WniIikM3N2(G4F8RZ`x-)piED1gSi4u4? z&d+*~>h5o?uT$(@BZV$GD~ z9c&OGhuJs8X(%RGA>X@#W8bc!DX-Kj$x=*O4RTg)o8vhuQq(4w#CzSmV@jSUH@IS3 zeJKN$ixSAda*@pwh6DMi$Y4SmW5j1_d-c9KFE0y*o_aGf;nNbXl zMR-|7d1+~Dw1JeCG=u-9Bqm0Hq5%+d#l<}mEBXctJb2JhzbOOuX`aZqG{$?wfoF*( z@1B0rWqykyprarQ;(d&`4)#+c8p%IdU?nF4ojDTwk2B6_(D~SPF8K{ODTou&1XC95 zEzSd;6g1R!wA4b?Uw-4YA3BD2h$YBp!G#B@llf0tOP8ydtcfLe^0^}13YWz5yR2t^ zV*j@4ZJ+a1%RPkPs7Ja$!yDwP$NWt3ekHy|gk{%>&O@9^xiw(Bj6yAVR_Ph=3wVp9 zJ-bbnlHSdS)8|+0Pk-HaXl0}PtYCyiS=vgRfD|ky2*xWDHC_~zzh8P1B66H4e{NwW zB*nKVFS3M5+{S&xXHb^9H5W7-CKV`Rj9Kk{j$0JOx(4Ni{Oh%BhHx7x#X zK762Z!5^a?D^F00Qz1NDiY;&)>ds#i1{7)uAgqHS-Ty_vW4G}zi40cYUj(R*pm;HH z$DKH`y}-m3p zZY$c7lip9p|VTuW$;WHy>W4o4OAJ| zn={l1WLM5_U8z&^^C0Xg`TVcM%!I(P);2;eY>7cxAU*d{&r*9q|2l^*N=-{4o5okT z4+~+E)5cNZ4A8-cTlB$W0W0pKyd|cz0bV{QHd6#RD^8Nm?!$-24&Z(Y=9ZzJtIOtv zN_-YDwwQMpjMsB$>rytf%&o z0Wrj%g2iPlI_k2;B?=AEqS}cG7#89HO)27lPpe=`Z^G$q>)PY_ty7 za`~7P4E)7g7Bo7v4h0YfaX)nH{l$UHAYfQpsk1bbWVCm<{^G#1Ir0)QGHII7h(9uG z_9QStqgM+V3Cl`~T6>aA61WWBsDi+f*!Yw#-ZBqFGDU$NOqjLMbQy-iD!+|~(KOZD z&u54%k`jQx(rQCtXkcbg<{J;ZVqm)&tfR;z_z$5X{w#Nur%v)IU660)@pcc%Pd~{d z_h^h$-3|YTI^2Li>O@igw>nz{pgJCyZojv4%>RIy9=^E5yO#b9WRHaleZL+h-~Mk> zYz%jIzKPkdAOF?;uTV(BpcfnjH26{nqh*bs)%T$Y`Ao>WM;ibmZOE ztX`ZLPTSfS-W~@B5nxl!TmP$^8y)cAQaw_97@?`HC~;+k1}VaJxjFV+w?cNM8^z1m z%;9X8Elsy-qy72k0pkO&lTKnWgALLE7b-O#&M`^wy0Tdp_q#ziY1<><%MZ-@gQ<(F z!QCk5pUN7wSSLj%2uUfFIDyzh=?ZZXf{w3&g{y1WIGyzMPQk}Ub6GD_i2T&?Se|*o zR4fV&o=CD# z5ZPCY(NqNKN0ia>kT%Nfzr`XpWsbIH3i5&{8Rv_d@?6Aa9$MlCtjD|bDL+!a_%kf8 z4Xq5s5eitZDXj@DEUe&ZOClz3m2<_t-3lW$v`9*A$H4Mo1)0=4l=UWHwt-p8&-TXV zE1+#W0Z77Cs;wXuYR20?v5eJ?WcdW*D{ZZgC_k(r^f8;>=!22y9?nWdmIekOgk7XR z=LT?Mr?6J2tJ;+R5DQLxuI#58U5%t~V0*t2m$^_2+~vxdE+MQZ_)gx>0T?)>NPrl3 zb%KLs4%G7Yf(x%nI9tBMV2e(;JU4~n=H9y-l+Mhx=x#$ypb!i;jXbo@aO*zf8&GNe zP1G#Jn}O(VQ%}-0mxQ2h&kx9w$j@~szi|g`W8TFXzZeKSaDvAH;7mH|enM%wi@<9R za&s}KFW~Op0f^=%?OV6`KB|!^2!E8DRcpJ}hFhN9yCd|))q?M9RWPPfg_(Cf z?1`uZw+=oZd!zwoPvx{^eK;S3bzRwT2C{O8u~H}hL&Ml)%tMJj*Ogg)>Tvhv!X%TI z*1lPIqMg$#XU(NWmZ-1mU9+j&b^c4`s4t4!EAwqM$jL7|)kM_5L z>lD8C;LI;4M+JkX4ORweX4(LC(SDtDgsek}mP_+Pm{`7JEs|D3pGh>zialuE=^;-|JAb`wy^$Z*) zs2rF^v3^cq!y)WU5@|tpB%ow%25yF$e)-9+#f8)PKt*~+TE6XzH_fywo&RUQJsXtz ze%|GhDe;fcEt3%%7=D;&tc**zq^pf0{R+qzq|af|LuAI~Yz@*UD8NT0kK;z=5fH9v z63pYH8lO|!2MJ|w0ScVR%Ji);YhG(;h!&!6TWNS=WCqwL8bR?_Jg!9~Q5mNv=3`qn z3m8wKPn5uvx<*eOW?{^H)9>DiO_Ls^ctQk-8ts~tow^uS#!i!PwYmXV-KU%!RzV9~ zMhrfRmeG?Nx4{n2ev$~;ZGGr&PKb!m#iUp^?^EFy`&akRt(1QI?<@o(KfXoKq-M$3CN^WB(v5^PO(NlYfuIxAVQs`;3AZo& zp5eERWx1-8?tHL|^Sq*;q5utm!F3gt0w?ADn0+?>cz7e!ZvD#8KqW>;*Y=|i&yisO zoVCdNke~Radosj?Hu@PwG5~!i9rb9lg;{&ioTg1Zr9Hcn3f|kR%5BqC4>JmOu!72X zAQ}g5ypAi?`H+o4i0amiL^Fz$a4zgTJrbm?!3EzVED}Z(FHVC@3TKb6dncKKEheCn zHF|l%&NFO7bUE?YrWtEqK2I>P;1SKPC{Kc73Oz`dyXq1p{t>F(qAOBgrLZp7M}a$RnL zw!w>%2n|nI_FNMWH&*;Kadju{yKx>ykNkT_u(Gjn9rZ4^qdr};Ec=|{v$MU8#X;nY z+xyZ{W`hqUY_6xp1S@xLI_wT+^o87EQ{=(8?RXcCn zSv>gTwyf?_gj)1>RSg{v`%~@(Q&dK)>h>KV!I-D(e;j=apK*Il?V-9T^^~uXsQ7mK zUwu!LM9A7kfGw9h=|Dg*|9wijTAJCJG5>XB{j0;7w!Fgz7f#Pl4U~?E2lm`qpi9@xXYHox@uwg%Z0ZLd%_l^Qv)2@^#~dz z=i_1d@08G^WX}TLy#~rR%NL=!?89Y#aW8LJ3eqY&|huMHZz$kXR0t0b*CyFQT*|laMXolTr9?VXZqR&9q;PFa+ zR{1qm+9iv#7FuLC{zmA@A{;sZ2H{Lf{au~+wNZvuQkpy-LyVz7ZtihVD4R(HMMiV^ zY|S0#UhU=aaWd1&sv?5}@g}n74L#7Lp!7-M`4kU`vPALUH+5kB2AsVMd5~Bh9w?uhPj~p$DL=ReUTNF zrEb7mw>KJQ^O^7>2^vemp*gFpY(tasd~M;9RMr57Dj5TOu zygbw<${KiBA~tUdkv6#gp@gNZ>HCu;O}`BU=mNWM1j1UzF)Kaao)0!sXZtH9ne{)t z94#M=))KwxLiEDEIibBD|7L#od7=Gv@%+^x$GaJ1EU|CL_vNzHpjX!qMSAF>Huvpz zfBnKi@Z&y|TD%PrDpYzC#49Y2{}kj>QGw2&i4w1YG9Mg!pTc#J*yU6dk}2RZsIvcB zj?`b=4{3qWF?ZZpC#;Rtql~usq9I&rG$o|%$P>>vQh6c2Y7L|{2}gQE{`D5DeT@Qk z&EK(CvC5t<$TLy+7>{YQ=z>f>*^aCbE+#$}Lea$)IiKtmJc{$f)+kd6APFYWmj~`t zPYUf$Gj*D|mKc+RHNhk*(|Ee_Z7#paaZtXgR@AiPvvM0OSq8R!U$~!sz4{!v^q3vZ z=4bIQrBf>eqrnIztYjDu1VbLAznC(u>9!J@okUFS;>$}#)B3!E<2K?JC`=Qt-Skc& zhdqsURW>*L!BX)-cuDE+1K?a zO|BQtTM8UTG8g#M_ga5XiqZ@xV8=lMlNhGfZ0lq~D3ZgZZyrpuX&5Rb$W!l-O|zub+N?NomII~IF5o; ztjs~0=i#p_gEQ3Vq5-+=m&0_06e(KyMm#I(Ml`g;G8TErXMwC)=O_*5EF#p7IgwGV z)H-Eaj!DL=Lq#-p3u!gPyRQo(gT zL0Q?XX0@!nq@DazE%J06WzUl1a|?@vhcR8V8;1#9rz;uChFdl`3k7-$c(L2L5+7gM zB)FE_d!MO)`7E0n^UX0>iq8*+GMBy2QefCKZ~*$=Z86vNsIVgiul~HddB+Kf$_BkF z!tYF_4Otu44|d#@gkzGN)Fv=G`T!h=3Z5p$i6B|CPIz70pXptTX{t%;APs4>;2@vh zZiGaCmyhtKQt!{&${wo8UGB0PYH}Ivu?4jZPi=qLugWaD=fS|Q*(S;bPksNaMZ=P2 z5%z?NTV}kiYTw|;?*LfusN8b_A2;KFZSEF-6(Gg;_ zQ`n!%RV?z9YgNOC6u<5zItHiF%@aKIfMd@jp)c&=t3^JInc_z=Q1h#z!q#bAAVNke zj@H(yUfQ;f{P}~-T5;sGpz%3{4AqAB=ZH zl&q-0=xMS1^2qc=s$p%8)y9r@1vhk07?)im)g(sCHT|fZ&Kzlng4vK7DxEyWl!gL< zC|lf^Ii$s)T_Lq;9xOLS<9LzMT>wzHFsRU_#oe~j{jpXodMQ4mglWj z?-%qxYq1vj-$tR^6y~89DIOQacLJvIIk-S0P)ZJ zW8r(0;EP}p=&TwPOBD-AEw?szNKyrGY`XDrj00U(tR)EbATSHZa>Uc>Fxa;-N1Ubr z^orqtNL!5*FREq^JW1wbE6Uz=Uv)wpMbsCj8Ymv4t7^uaEz029Hn>bv=b+{F|I#Hm zakShG)I$x_Mf49{e|LxdkGj8F!$!~61M71XsNHS_(k9CaGYgu0%_lUl_0Nu^m2tBz zVa4bjvQpbU1uEdUY}AMN5!3 z--A%$)Sc&!v9fGl%U+pG(^q8+l|``2p?#T*M)%#}efI{uLjHQa2~5~V3deBax(?JS z-4SItmYrHTc>kGtN_F{D8Fn2FZDy{`SJ>)f?>%<*H|oX$BpO|9DUBxIck0`Voa{gEjx!>}yoh6r0r!6kc|c1z40WBf1p@1%FmQi|z?*i3ed!9{ zxMSn8kqkMLBFm}hOw$qW7?wYiYs)h!MbT1V_QSs@4Ga2jSijc-ci>u5-k%+2j=?Ga zW*A|UtTrmY2%;YrIpyKo5i~b0p_~&F*W9ur(Ybhc@DNGQx!qX5TX!!wVIGE}s<((9 z&iM`Can=10jlBBZY<%JP)3}qW{v>)hhR7cup<7zgn0oe3xFWfCS2eY!N7{Y$VF1>q zdv5Q#`$kS*EV}#V^A2>so`&AYVX&7tGn9QcCg1mN^q&536pk-o2z{pK^4d*#!zm~f zvvhCwKYZUmkeZ0Yjl*~n%hfrf>tC>Lz4PD!Y^P#YFXmwE<+=5ksu93yH`wVb)xqZR z)l{ZJ!MgYNXr~_vb0%1ycBc96n)SGU!}LH=8FU|4J3$>Qaa^1VXLx_w!R@?lRyf35nLr=1uJTHuZZA)4*NBdx!8F-$_NxmyaHJc?kr3{5>RSP(^*+pYD3MuFZFQ zLVS7*?1|a$_MQi}?X`7zCKiS@xL8Yl0_>MHP*2yRPpHSMeb-ZUB8UtugI#!QeF!c# zhWWTq)`p_&Q@p|J)F1iVAMpPiu?ogkEV>~K(K)$7O-*mU&9n|<^{Yy?TxH# znXDbnEUwgT9MRP<1UtRBY3-&_Xc#e|2RhmMiWooBgK=4XFG=DmVytxvkxrCH&!95; zx|jmUj(-7p3>EPHsK-!s&2mzl58zW47nX!ZfyclZA+x^a6u>Y5zunv_f>jKPH<-EH zT7T=wy5Dk{<@GwTFBmN_7@WI9^MYkT05@|Nd1&gHv~R9)u@@QVZlIFAm03_C7%Y4f*@3o z9%JO~`0=eEH=tiNlR#Z9=Je+nLgO!fh~$L) z;#x^_)l*Gt751%>CdOzm0|HLJW?C{67>`{b!$_ZP4}FU)WJL+D<%as=IyK5qWIhNP)HolIxInJ@Lq7KYJrgyZ*C0;U(#L458V>=PU(F_OUN`sgS4XB>kf2CQ8A)Qk$dTb^n` zn_|3Bbd8P)!m-BqT6EDFI!=ok6__Nx9?0K(Zo`d3NoFf@niLz**k1e-#G*4ztRc^=fM^ z-|sAb`Sd{NcE64X1qk)$4pm}Du(bLmD3NdbP$JXP1|H&d+@|yg&k8ODC%9@GHp64_FIYzprnaY};;Izu#ssA%CZ|M{f=M?YA+0wJ!*b-kN!FEO__? z{Pg}o`M0XY)cGg4M~95GIjEaFXV(|jRm z`{CZC>)z{*@}K@7`To^|?3KHK7hf%mTmwQy{+Nh(;ZIf zmqlN99au7ZmG+gVuTE+9KVLq(X`fTgt#!9b-${oksH~jydd|8xR=dJqzEL}>-Uz&> z*vK|x?ZOXP7vtYg_N`3&oD(cqw~A%5?TdMaXP%O_#XNN;-`YbbkbI*%p7vA<%u;IFD!)+Nk)@!-*%&?Ogz6PEs$%ger? zuwA;j^Br3t1MBYen=^QT9c~~(o zA@dCL3-+WZ?Y*aUFY(4dxzry&b>jB4!_TI0PJ4S-c~1K|-!tolZ?`W=OY4=HYMc3K z%ADQH&h4qb_NM7j^_rvGCS5YBt}OL^`$+Xi)m^!R(eFR6pYp^bxcKy|YwdD%PcCkK zEmvLhc-iuKbpRen;yZ8Czz1rXQf8U%w z9RF3uvTDuuiu*6~&(-|C`~7cvy+!@QN9*^;{`%W*|9?@b;Q`($b{VlZSlU!ul&hk| z51R!yPWQYOzrIlbj)!Ba23k`4UJn%JZ=7Bpfd{u_6EJ7gc=&B!Fe3>qHi zVE8e^JYsFo(uq@nE!0!MF*i`R0|pv^Vhjw?&cMOo)Vz}TkjjG8;#g4Y4BdcAHE)L> zK&AJ9414CRWD+51@NwayNCKZ=d=A?qB zE78LM{Xj{W{szWi8x+lG$4jD{gFa7+Fy}}i%p9ai6m;$A6E6tun@XYD(WYV0O+cTB zK$!5P3~B<(v;?|-^igAk{_;wwe)KV9bR*FF-v}cL8qhm$;C>sr0q7lFgaICn$Od5R z_M)4G-giWp<=BL57O3-#=t-iRg5K3am=e(p4HcA*7rK7*_8>z4=QgA)hT1v|@MZ<( RAW*InWJm;NkEcB#9sn&0rJVo( literal 0 HcmV?d00001 diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_tweets/model/ListTweetsQuery.scala b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_tweets/model/ListTweetsQuery.scala deleted file mode 100644 index ce8c73c0a..000000000 --- a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_tweets/model/ListTweetsQuery.scala +++ /dev/null @@ -1,38 +0,0 @@ -package com.twitter.home_mixer.product.list_tweets.model - -import com.twitter.adserver.thriftscala.HomeTimelineType -import com.twitter.adserver.thriftscala.TimelineRequestParams -import com.twitter.dspbidder.commons.{thriftscala => dsp} -import com.twitter.home_mixer.model.HomeAdsQuery -import com.twitter.home_mixer.model.request.DeviceContext -import com.twitter.home_mixer.model.request.HasListId -import com.twitter.home_mixer.model.request.ListTweetsProduct -import com.twitter.product_mixer.component_library.model.cursor.UrtOrderedCursor -import com.twitter.product_mixer.core.feature.featuremap.FeatureMap -import com.twitter.product_mixer.core.model.marshalling.request._ -import com.twitter.product_mixer.core.pipeline.HasPipelineCursor -import com.twitter.product_mixer.core.pipeline.PipelineQuery -import com.twitter.timelines.configapi.Params - -case class ListTweetsQuery( - override val params: Params, - override val clientContext: ClientContext, - override val pipelineCursor: Option[UrtOrderedCursor], - override val requestedMaxResults: Option[Int], - override val debugOptions: Option[DebugOptions], - override val features: Option[FeatureMap], - override val listId: Long, - override val deviceContext: Option[DeviceContext], - override val dspClientContext: Option[dsp.DspClientContext]) - extends PipelineQuery - with HasPipelineCursor[UrtOrderedCursor] - with HasListId - with HomeAdsQuery { - override val product: Product = ListTweetsProduct - - override def withFeatureMap(features: FeatureMap): ListTweetsQuery = - copy(features = Some(features)) - - override val timelineRequestParams: Option[TimelineRequestParams] = - Some(TimelineRequestParams(homeTimelineType = Some(HomeTimelineType.HomeLatest))) -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_tweets/param/BUILD.bazel b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_tweets/param/BUILD.bazel deleted file mode 100644 index 18867ad9e..000000000 --- a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_tweets/param/BUILD.bazel +++ /dev/null @@ -1,12 +0,0 @@ -scala_library( - sources = ["*.scala"], - compiler_option_sets = ["fatal_warnings"], - strict_deps = True, - tags = ["bazel-compatible"], - dependencies = [ - "3rdparty/jvm/javax/inject:javax.inject", - "configapi/configapi-core/src/main/scala/com/twitter/timelines/configapi", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/param/decider", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/product", - ], -) diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_tweets/param/BUILD.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_tweets/param/BUILD.docx new file mode 100644 index 0000000000000000000000000000000000000000..a777011cab10b6d88f3bd70dfce612a4ad154fb7 GIT binary patch literal 36866 zcmagEWmsIvwm*z(a1HJf+}$M*++BhOZQN-*xCaRC?k}(s86qHs((LbL)<0P{PlX**^;goGV&^a*16G&F4U-RlLvK-4p-QSM$ zhignLhr%((XQbZxlC0DTb^0{X=t)Q(8yIA0`KLx%Pz?55YG<4 z)wE>zyq)5PWZkLh<2S+#ITg>*4NTI$hlruAjMc;>9SlKG6&i&NtInV1$!(`}P**)1 zrrlxqv^%Qo_B`(APH`{cFO~JY$V{V|X_JoB7Qp*8-1tmG`m=FELcepZ+XO?slck1Z z-AYd(s>dKQ0R8(9yKZLpF)fZmxVqA)D>dD9OzV&z#{ipPnwpsd=q#;Qdx4yz6-|au z?YcTK>b_QoK{5nhw-TrsN8N$+wDsf$U*OW%+hZ$zf^Yk7Z|MtTsf6zr!whd{XB6zl zHT;LsK67b^)T)BSVv|QW_;_9&4<#skuXBR+miQzUecL6Cgy;f9`@QeZQ6Kj{!Y33PT>e&4xaVo1cx_i?^p+y;5nI6! zLirzE^rVp!y#se|9SQ;h8T{AC$=ueNh57eqWx~VuL>SFsQ4atHfL&*b$ z0^#nj<0nP-K$)WD&JGnx18v+MlKs;iQ;YfZe8NSBBHJJ>6P>xh+=U+P4f^v2kkKka zGGcoGxrh38u#Rn71+n_^I`my{dHWNv!5r)Gh0-Pau3ASFcg+PYl=WtF(QvuE$2O(uA_&Qq%Tedco!gB-TX< z{`G#qSamPMoUR6ro#@!@9`+3yB!{RF(c2#xU<_O$tl-5|@Dl>(#ik|J2x<~CnrBBT zKE%VcvTXx>@56BTKC@hh3)BldHjF+lh*`ilD1Oqw8N1ILR(4!NYOIbJ+FO~}r*MWT zgDu6;9KbMeG@2T%oP%RRbV=1xt{U~Gs5couCxLfxR$`cPSw@RfSb4q8$3U`ct`Q$&?V+`&m1sgp5<0_OJUM@ z3S@+A#vNzlpJ1$!yW89+5CQT+F<=>qq*5XIii+3jB60?NFY1 zLbn2e7twH3Po`E^sugw-eH_=NEjEP6#Za}i*;QE!C+ zTOoG=w6I@ngz%N$yXkI|-hLu@MrS^^W82@ncNIcDbcf>ww$vk%q#PsKK959=kp#5Z zZloj$PiSpW34~_gX?WWz#i#VI$chvyz3*sGXL({FIYUgpza)H}yZ%M`&kG|o`S~6d z8hlZ_`SXT#2RNCrfbUvYJMhEl_m$D1xdB)qLkDgceY~e$X@H~s`F*l%CRDTXhP6}| zRBRQ2K*LQB=MvZQ)2IttK%_`kXPNOjXlwHXbc)K`(&AHQ*05{9_Cv~o+D2F{$8z|3O%x<+;!%L(gqE4eZn`)m9xpD9=J)T>C z>xa686mf)d4y@qh1fmJSVZWrzRx*iA%V!<4b0YO+lZ*;ak92Irg2)e5U#^+gK7U%N zU^FI8h#qlGzYvXuNRiQI&_k*pS+SXRsM8Pl^~Qr?arsISP4CJkhl`uA+xK8UT7{Z$ z4}{@8Lc*|3K9BpTd^fWnF>Ju(9tkfSOZ~ec^QnmQS^WL_=M| z#B+t!j^a-EHao~ei%tu7*{bh%TZ(d6TW=OQE1-K;dG`ms{rvevszlyL(u^be?l~F! zq!w|@!6(<^TQAPj+0W;{G!pDq6NhA}S<0i}Xv=~;_g@Ay2~O~A#h>UCE=T9^n9n#Tm@WA;?75L)jas%zWwaDq~^g`A=zi}|^ZNVig>o1O`qyO`}78xvDZlg*}UFRSo4 zKPGZQyz^Xmfm3=JOwd844vuxCP)%`pWn(Nd1O>t!^=Y%0kR`D=Q(I~E1S6{e4C zlRj1KfB2&CgjCx~-Cu`9)tGB9+KN*ZU2q_+mhicbM;A&*aysGb$I$F77cUUS`9xLA zMMs6rrpQ{FbI+z?y=Gu922AbZoUs8V7q#*B>HfFtJ2N7`XLv&-i-tKOiK5+rCk6dz zOd}Z0+YIPFjyq$k(H)CqSC z`n?npUA*C;M0SLuiix)Qh_!80#$wZnB@F45dGUX|lrzM8Iv;kys| z&hpP%N0;LYM6y6Y7;3;mp#7`X&Muy|=FY#DDe&Gmaa+31x2r2J-{|RwU0g84(4;*? zf*a9C?~bh6Qw{}=nP1<&;eCodHu9q;7bVqD)zJJx&JLg{SPJJozFo;bM#0f5i=J_7f9Cmy;dS;;HU_RlBjA`3%+m;2b) z`^SaTm|~IUqaB00`?YgW${gr%f9B^kC^U5E(DS)Y@Wt-6Z9RkqxJ+u8Tzodww;!6a zyEV3Q)Li~Nc68C;xoXQ(EJ9k*)7_!;nJ+A=?)A#5Uf26^Ze`5NJwoKwK^xGAaSPhH z+`IO8dt5&J$>=t;c%cv2C`{6430%q=^476;Tln}{@ncTP#9@udiAd%PuCTn*`*Y>3 zq0pc^BbJp%uqgKpzx89Zv7zIKHDBIu&m!UzLdRO`;H{ILH@~zW2~e2IkH&A{75N4< zbAEER#R*t8@2I41q^Eb02fBaN76>?#uI#N_qN=S6v$SiVE=>e=bJ zyec9o9_tsv^3u8532LqwOB!JFvjeUAcIxY$c0ONAJXolvkn}ljtg)bN0KZC+`p9G* zlfU*?-*=hxRFBQkB-cN==!OC@(x?esK!_b@>ja<_5uj(JI><-h7>m3*JnpIn4Yn}! z1e1R%v>q+Ax=Q4^#>iJk#FsaOr5zM&9)joh{IcI?;fL^iwf5|irvFp}Tx#DC6smMT zJqbW!o>jV)b_>N3|?>9V_my!~(YOe!SM|c1dRucDCtBbKlcH zbaQ*%vQg8%+^y`n@$4h>m7Wj0g2ISsZcJo74O#N>y9hOr(zX%mzV3WL`B;v&Rf5K* zO4_SIYEmKGFXo%;8r+S`EW!)hE3UYjLlL|yYNI;dcy1SD6d_Hno^qdF)s0hS?+tAp zN?fc&owL90`&qN$TZL_^V{P)3varAF=v;wYQ1TFqan|~{@bOZe-nu{4@-FDL-JoiI z>hXBy!Qs~Nc}Vu=QsnqlI73Cc(O_=&tZ(n~^5;pPa|S0vNGnmHR`hG%o<|u;#wDFb z5c1Nu-8*W(Gtvd6^yZXEYnX3gHVhFpWm3GN81ayjBp(adJG-Aj-RG2qk*lxT<~{+B z*(Ff`tyq>!tM<6&h>!(semA_w1b<#u{9WV`i>%zPOHRZ0fTK!=28f3l1p z1_H71=mlBr|@RZa4H!%j{c8ST`*b*822Bke^SAe(wAxg0ks;7} zA|w2vdN$F$5xxC))W3%coFy72-9VjKhFScQx^rZmB$}?ir}vP4I)1vO^Pr^e4@go0 zDYReWN?MvcIyd}UvGf-0oQWj0XZIXIOG9I}FN{$_%zDXBrvqz`*RHJw_5WpJuda`24}LXw>+wU&Iv2+@9vG{ZQVt0h!`|qOOnReZ!<56Ch5nVa>Wz8K03US zVDg+YMrT|tCC=CwSS7nT0lF<_xT6fLbTa!5Wy{zdIVJ43{_2kaRBs1V#iEzm`qByZ zUfw$~9y-2VKHCtOpRwZsv7{XB$Ky_o{V?T0)?a5+a3eA62+AecAXeN9w@&CVE#BQ> zyMNvFRT)J(WqZ1G_49E*ZAqj;D_nODtC_!MQd=RW8f}ZxT1>W@jj&H3{Ef`+%t#a->wB$km;hw)G>vcb`Gq8Cd}S9w z@jVAn`Rg=I3PWl1DAt?~^KA3LH5KwqA|s@diCN`C2E&r2!LGgpWyTmHO<(Jfb5%P- z>l-a64E>S4wuI=PADVKj%v}4DurvF&_``#KQpNZuuF9l037Z}ra-?7St(@gxECfk^ zCE+~$4A1xAp*$$ZID|U6A&sz^>*&A9!@K~{m+x`}ZShe0J{3_daGpw;R^dgnb$nVy zVR4E+qp(DO-s?EPKHT1uAmvecpU?LhS)qlQv&SV@mPh|nMJzJCLltC@GYYzo)#!C0 zeG!WSXiE;u*9Vb}_#>ZgQNifFSEvrw1cM|%SXlkoJ;pfL-M|X>>dU1h*N{haGe0x^Z~_|{O#gl zS^!~rvRv8>Ggoo6nIg!2FIfE7u;+UDMN=cH zgo>L#_S}TywS0{5WY#0uyLpO3WH$tjpP-xy*ao<%T;S$RNBBm<~)Js zmc(ui>Sj#cegjl3yjBI&1s*nj%da1;(7=@j#+hc@W3nkU>aIh=Q1^jc?`*&kYJTRCBNY#~|>(GQYM4sO^ zOH7IYu6kQloaXY23~tzoMlVK}Y!4LLFA}=HjWX)1#r_({a!AS}Sk`LPItVL9FG-C& znzfHr?@*1thS`<-UZdbEH8@f>$bTfVM9Vl$n9Ok|2gBtl;aIwKTv~>gUQ3eeqoETW z;Fo!1&(R;J;*3wRKvXwnkf*>%y0t+3&Id+E?1}yhpEJ~+91cKMDgDONyzkQKmXE*a zP*_JVRv=n>N_)Ig7WsxCd#!2Jn4d1>O|+mlTVnr|VW#Av_sy2^_iueu8%--*E2pOk z3uzjCNl2ex?_M6}iSR1q&@xzgyB0k-YcxJ`qQ;k79_bU)yg-Jp}sM|lQDwj%AiL1D(Klk0`M_4KKXVU|(d&gG(U#ZvSDF;au zv28$zkP`NWo<#^Eda|}755VcCj2h;3!q0tUT7;|aQ7lHGXX_uApo_POu?Crcj0@OW zsyh}d@`7mY&!1*-j94T)#MV*MIZ71?(DbXQB(IRZ)!=R>Iowt-{CK7X;uOxiU#id_ zX5CbB&yAqAUrsZ77G_p!7LvwSk8H<}n#?9F^Jdc3{16BSKRXPWBM#k~X-%z_=2lc` zHW?-mq|9%~_FP?crgq3G_Z?e$QY97LmWxR`}T@ z7aXsuuC&TDIfINrMLbKgx=#AmBWwxOL&VKgFVZ}+9Eu+%c*WRv3Xm;qE$dSYgo+Dq zGANdumtnoFTecz<;&4YiZ#~Pa5{{G;`n9z=O_r5h_ctpmC|h>+4)JyHkz%{aP0@zY z>)?Mh*`B&Aax}3}r|eQh^;9uJP%AJXKWHz+6x_puI&+>rsoEU8rNShTmX%X=YbE!d zWRzYaXR4}rFkWaZ?iO29>t0{9QNX`mDkZ)>h`!~^dM!h>6T-LXu_(09<4?69s_PXf z2<%dEwZLTuEUdyLoYq#Pz5hI{0U9w*V7x3zyA+FhcWSCHgySW_K&xNM1d-M{Q|ZS! zlx+`Co=ZfTo?#n*UO~@cEnwd;KaZnk5f=m7Td7|uTrX_ z&eJvV7;kz=?hPh`4k z9>a7hj8vv%b^j0!t44yoPmkw=%I@tud?u71{HEjJZ#vgoPX;clZ}Xw-P*p!&HcfE; zOox1^pqn)Jd-(1MeYG{g+|d8fu{`7#upPO{Y9424>=>h*9(MM^<&gw(&YFI` z3GJ#x+fRzb*|Q`-Hmc6`&925eu?88ET%6H7UCvk#Vs#wcT3?fOe$AxLx7lBgB-S^V zE!}^9Inz3wgATFSm`rd|q?ZH{eH#=$lXR|tJ7BY*(Z#x3ev{B9HR>O{*pR*g+YV{x zh8HJQ63r+#Jc0jdd&zL~k?&JNHpgSsnles7*t)jfCjLQm2bQAq6}PMHf}6(%jw?b3 zq7OZs>}FCQrq_&P4Bi=B1D~NNZZ1z9V=j+rcQ|SA*$-}kq8`~BYolqxvOw%0je09PKvfeZe@l;XZujTOnK*~4L+FS%N9;(2 zR@C3Pm6mrfv8=km?fCdk2BQOKYSAK(=O$n!Ex%c1Q+|lU4XQ2a2fzP14fH~)PCGm- z?b+x@#Ezf5L&zS`%S0?>k>3b)z}Re?{mAX%A|C^>Xq_9Y4^TA3A`a}RKCesD;#L48r6_D!_?Hzwuk1|B86Y{! ze7(ibn2yQ~VUXRDs?(X_h8A0l$f7^ziyTE!LzpSM5&8zQLK@yL#gW6SwVNzk(uDGr zZpJKNXGiq+61?@rFy(4%Kg^DF!hrTHT^d)6>%EFJyZdR& zSvg1+?6Y7mE7a+}!b7PJGXbiV(i}rWr4r7=5T0O)+4AKDsna6m8dsrN>$0E{9?Ln~ z@-M>qhDaW{{dGwDDVhY=y@Xa6hZ@JB`R*J{aSLjZRm^$o z85;FW77tNg^qV12S;{OEZ3{{2HbsEg&P z;z<9qn@e>V#>I@~DWoW*cTh;N3~vi(nX@BEXx{TQBb3N_lxqkb{*qLb66N;}=p`2r zInb5NryzqhO6(D(jrs(p3XCH4Xc{`nO6@4K!if7f4-D16cocVJ@gTQ~&y_K1jGYe$ zSy2B?H7t8HgjY)H>gtRk?hKEzT4 z?HWE}MXLX>eT?`oHa^$?Pd2(?j{u%?+J*S~{ZGZ!*19lM8=sO6t$sOQ<3Nt=bDp>I zNBFnbr_D%--swz$i)as7Tu)H`KI9q(n^?KYasBIq^)>Hc)e?wgXIf zj9BtfP?=X5L%HwqbjYkg=gdkEhH6E2S+R)B^uC^KCH$D%;i0TZO7tRHvovc^Sj$vN z^ny>wrz(abhd~*pod_r|B^pdYMr^?JZ*xe*jS5oTF?d4b(f0Nj$|+}>4sslPCbH-hJOY|rMLbs&0~%57pcnT2C$H3r6_F?k)?+qO(TTutKg6?QTt0!-%kqgr3AGjJ2VpsKyZZ)eq z$dh|=Bs4U{f}uUw!hore8J+WQr~!0VT<7DxUusa5J|`xad5UxKwKA%bB?k_x4qh%9 z_Xt&B+HCvF1jrMk^ZAcJQ^56W{(!|W`iW$eJ8VnKeiR7NY8p@vFMXTZ8kbMFdC+f6 zAo6IygPOk-eydyeb-U+C5Eohmn5ivKPRJa1?lW%HV3Vsrj!vJGI0@lI_C6c3zdObu z1y_=>h=K7lMSbRQMRi;%-vX=mwt2SB8@@Kk7)3_u4d_I|55{T4OXbv&^jSn>rfg@I zrr`tFbz7^3j5HaF0o=>jQ1MWy;$%(`Y6y~V!Ul$sDR5_Sa3$iG6wT&gp`743%wvBY zazv89=jomfA2{&dHdSMkuI7MmG-DgcKlNaQ145A0eii4=fJ4$?%FQQ8o__G?uQe#E#NMLjcmoPZ96_nyq(G*XtQ>8cbh0O<1Xo$B`pVgOl6}r+-tqC;eNc z8fgPqWgq-+l`xRCUrmNufBLZQnMvT;AqB`lx;{b=2Q<7whXoLuk}-v8%WG-Bk+Kko z*TF*=zP=fE^F96#;tFSbDNK>pigl&7{B9NS&H`B6RS@E>JH2}o5K3H_mDOFRVyx3m z`Tg5w8uph}DjuhYG(c8UrVA7Do9oqE7u39!=aYF1eO3PRB91e0MMtCR2-As8nB!%d zlsuFgrfayxe(rEP%#~ld9};wI%?+_kw$rr-X*;blM!xMN;af75QBTTd)US{Q@fHKy zwDvOQjBLxA8ECGO)((`uUoT?pH`P{+@RuG(+E?Rk|I`sK20tkb95?5DI&k^I@^K`J|4gLr@{m0oqaVkMZOLGj6uj1;K1y z+T`L(#3=RvBkl9!44uuJ;e3$CavLif4E4_pI`x zENtpnSc{9747t3B;3i#u)t>bA%AT}IMf1VeT^oWI_6a7qX#ncytW#Fs%BK3g-_89OnLSpmLQ6td|imZr!L(_F{Tang>$1)KD!%v0+8x3idOEQfr&=GGf#@G=G#$ubr{f zHpy9^HU@9S>xI14tZu9yYhbQ5=Zq1X*DP?8yS?o&8GAygTY(0t+6`OehJ1`Yn0+6^ ze^bl-L5&HfhL`)j`yOvypGQeH{)5`hYz#~-!2KuncWSIi)c=F}yt5y%Jv`fJ-KX_^ zhcV(|WmylV{Y(}kV}ScFa_zwOCMwX82v#JeN0=6>Tur}&Hig-ieP05%Y4KD|zi7u! z59aS(cH!G*@7Xthk>9uugUQw4{~&K>hK%%kFvSHRUW?bvdXuA5A3;!KEsisa95psd5Wu)StTFVGS<~16 zcRs3R{*Y%s3D2^UoPx2nEZZZb{q$W;wU!6Pt2V7=)`Ukb8_6r^5WxphPjhRhroSOhIv3Ok4XF zXXUf7LfTBj1CAsoisa0wx4F(?M_pKvtA7z9Cn!GqarrO@8cOK-gxUgKA(5-={9CDF z8qM2V$r;W(E2t(8jmzj6&Yz`a`OE-*1)B~)<_Tw|8!Uzb^mN0;dO)(*sc4=RagG(# zMAwh~&L;kd08ynbZw3O%8M6t1pi5a|k?f$*G-vduH2-7yIiDR)1+TKhk}*QXndQ@+ zQa*)pBQePtQO?Ttl(NEgxuj3J@SoB|IV8ISUz7P6d)>UQ+7>GQ3ERa(agyh2eji3{CoNk{9{6$qu{!Ka;!)HeFMoJKRBTNgK>=!bY5?Wrd%4@UG zc&Kqx1P0a)Tkb6Qtd^9-nR`TUyawJ?9{TrV z5@tAna|SvLatjuW*8UsKL#z^BH}w2B8jHgX+{7S<*5cT5KXOTP*=M{KyR$kE$aT2b zGjZ}?`!^-k+nnMQHA6EfW3xgq2t>5$!h5D`DP3D zrr98Ce*(AHaGu6cv_pfdz596R%K-8jP(BzhLg6lO#C9?l5tZYYSmg_Zs;Hecq!XC| z8F-uF0m&?b$uf+5h-j#Mgf#uJ9pVzd7g?Sq9sZKsvXN@+KjNarev88oJ`+E;86Gj& z~Oi;1j%DMac+-aR7P8Y85g=!Uj7R-?@+^`JxWDkZ{%(s&0CyO}V`CPpUd zpf205a_r;lj~5L9segd1dE4inZ`5N+q*z$og!Cr(wm&dzq<2_e$i8MK0%gwo8Xo|I z%i3xE^kNddic=>?UN|I@N57WLt!Bw>W;v@DArJm>7|}t!#&ovw^oH;R;%CM;H+MN- zkiazn;m-zL$|w5)U`LQ2;)aX`Vj{9b~yuo#9F$71W%EQb!oAz#` zMdXXHQ;ZGD&f;i{u+!Ydf%Hep$q0%ye4|G@u35h9cOM{Qk=^1R8twTn%kRXMIvf$% zx=>lW28=l!crmQSQnR~ra-`qQ^@%?esmCJOBvSBK*=l_$bM)?g()|?p9qJO9rgPuB zS4nn!3c^8dygE{vY%kOlZ!F#0`MhDB;?kx|EP?-0O^SZgajP(3`8N*(K+L?fIfr6z z0dkKgb84S*($I}?^a%zIwy~vz1o!)No|n2dH1f2g`J;w<^a|eIf{#Es_ty=&AHZKo zv`6&e_o)!};rFiJ5c;2#e_>vupDh+LTj&Df?;AG`6*KQk^RUla&ZN2Nf@toTFqkZ!X?0J>Um-m zL0H65oL9rV*rn{~mUy^vHo?HiTUyKuio}s5~^}3a^?3XI@d?MStmJOJnCI_`dNQV|(=J(^L1> zmu{W^Zq-z_*DqB(j>_iYr)3ct(ZA~F0AFfwRK(tO@$7qM=R0E&mZj1_Z?oFp;XDtk zLR%Xkb|q{32_XcN@NIIA*Osxw^64YaZEldc%sSlWH;CC6SKUmXnUi{{`&PQ=JqP`!8VSHW#xPyoo^woTsa6 zpjuJ;ISdl1hizT(fdNxs55#NrDFZ9(sli*P`WZ(gxvJp!T*mZ5`rsd&P z{%RlKN3@UI+SdW%lFbFNjYBW6pP@MkO>d=jDqk`+3190uw1b37jRs`UA zcL6>M^G^Lf5AS4K%Ri*!JSVl+ke!fW>Icd^oPhS`+kO!~cwtiZO8pVBApM0%b9%?H zRIK#R`hga4m8_!0k{Sj`_)2IcdU>~3jc8M2#asw^W^@3dkKOZBRbq{tL;CAPR)^uE z&>A?lKnI8l$lcF})6)tXP$kM;8i-=6BezEq!WW%B%|JxEz)hGQw#i{?bVaiENU~L@ zU)|;`>}2@saBrH|R9MXcmlR~{;{Ke*u`i)IfOdWJNxh)%JH z@PvC}HhFu_nR^`<>WIenU?6(VaVOOrz;FEfQN$fqJ-n~rV|WV34Z9un&EIvOZwDm6 z@}dgMCv19TZ?>G>v%?G_#<*j|2y_ZGEGpdCX)4n48rF;be%CJ*<4DfCj`QCDj!M4) z4#WQdaJY33+<_SaAq*XNlf*1;c<@(bC_1!T1Vuqv@@It;25+{U-yEP30Y0R5`0uog zs{8K@^x-2p5c!}(_nZs&IBu<1{G~uIXu6-+8Ondt1KDOM6w8tyj|ZX0ap!oNlz06L zyEo*JV^S%^P-JBSvIEg7P3oWY`<#E#7n@oNZo-1i?`^dJK#`E3y#dbuPN#<++PQna z!bKyZ@rNSlY6rS|LSsi7#mORT3&P7Jd`Xg~V#;+WJUMOcNElHoXHTJ+P}H>-ybn0-DxwBf%`pzJ3$3t_?QsRwTr#R;`l~U? zp4)}%iwXE&5#KN_#ItjhK*3|-<97GLNK=y(aiCp7F&Li$sA;6-EAr*Xb$KJ%Kx*)g zY#PkTYWDUYTJ)<@qPdKXw@vwVprhj_Xd^>doT`tV>y|u7JUY)RF&Ppq%?AdH1U2DK z0Us*HVKiyL&&#BdJmm(J@Fc78(ZKN2`*!A*fpNu(C~X~h?IjOeCdL~Ae2Z5}6LZX; zT*a&U#sYrkb@7`v_-l@~?*lC=9UV*%HwQ;KJ&4Z(ngpQN2SSz(KP!S2?^9 z7M|q#B`NypeAprzZP+$nwnCnwWA96PIwo_G?R}Wl2iTl=@`ab-6r4gn-m&0d?fd-DSJ2GSz&$dqu%xyJ@$^a{yx#b8sU8 zXvs&O!rp4^HsZFfX!FB__qKIoZ5k%#7ZnwYWEn%Fo4&o_N#ynHkct#jqcEEkfA1)i zh=b2faOyK$CAhLpAH*su1S)J#Vpbsuz1SYnvHr&BrK1B4N26Jk$n{NIhxImt55xfn zW=u?iy&Q;gR^&g@3{MKLsXLIQ5ypu$3i)0=Hff({lqsB3dS0~As3=%C#G_N0(_9Le zvb}NXUHuNyo{dU!=J_Hf7-F!$08){h)Zf(_YNH7bhK<*e#0VSAk+|NsO&=h8z!_KP ze(B+6NB-JNI!)L(W{(|#SVo9nJmnPZ&O#IS4K41Q&wJfKL>Mdt8g%)%rV>kU$YM%= zd(ocs$9!WtV7aS!NJ3SbRS5*3R8~0`PdPV)I~)cF;T^g{g4R-XVZ5b;oTMVJI)PIIY5~_3g3^S_O#xuBo37OMxD-9fu=-M zSq!ga^P!Umb5g@j9M%u_jSx4q>AH2Ma&AGfD#5#M!gmT8hA4Y90k6QAZ1ZSB6~Q4ayN` z$q`4+Bz%CwfwHkhTP*&eZdJ5lkS2>S} z^T92!0;=U-@Z!=)-koJJ! zY{gU3w|AkWrf93W$V1Qa_hv`DXJObUc4@Pgz10pbOFl)D(gYo7eS3xI!2Z?^u^la* zD|&4)d|+^xPL4>3&Rv2XGqt145-F z5bMtcsdjn|7ikp1-%+Isl%=$r0(%RZFnwOOA1^(dh5;@6Cj9J5LqKLLRbp zC<|D@zl~e;QS8lYb$Xr1x(iyWc>we&ZcLncNr4 zc?9~XwNmp)L0i1IKM(}V!E1{ni!ByC_`M&6D%}!dsx;DBW?V2f0{v_R_Lm!^#!&1- z5k*~*f@ndja?Ai?2!Rt5yIqZfT9y>8}lr$2GAmesGifcAS>3%>8Pl3bz!a3gI?B111|(yB2|--p|}tm#(!&zWPGdH-1HS_bC=YKfl)| z13!1`os}`)g06e!)__x>pQo@b=(bK+2TaC&HS%C47RONaZ)uCr5L z`t^y`wbwDv(tJXq(!TUNQr^oNBcsr)<($x!frTG_RVWv$FFWV&S*C^rs_h+lH}T^e z!pB%V?8yO_KD0V#zDY-Ew);TMqm?cI51@KsUemhrx#h*lia`fXa+yC`O4(8CnfY0_|(2`i$|KBDDc7SiCOB$v)}8&nn9hQkUdH7Zt=j%B`}4Ak7(tkPKa25 zgr8LK)%8hWz2X)Gs@`C7Lo1)F9(ks&?5e<&5E-8b&G|Z6v@RZ7g61f^+4+g(rbG(y z*!}KnRxDBB%ZKKkK^fO;Mk5+sELj^H0+SP^_f=OvE=`{AeVkffZZ=5kZd3WL*x2r0 zfVIyzeZQ7_Z%^6R93ChaRKf$aG&eeMAM9`2JhX}J&Cad5YLpb)yF|2=P+uO0 zjGD?PxOG-HHk68sgGiHE%1Je2W5=!^AGhv%uV)S&?_aZ$kNi%PV;6Q_2}$=}O9w(H zR=oUta^&EJPD%1bNRq36=4I&D85Z;)=etN2zO;*|9JcQC-W{WPtjr8{n?G3ZCVERkVhP~>Ip6Qq)f~^!wwNm7o zwH6@Sgcqowv%a>`Tt1}houBYrIoQiG6&boavj;vZ*zxFkKV(=IpUvY=8bee9>_+t3 zEuPyiem3Y0CG}){poZ=-|4}?=Zv@Ewk=w%PfKp`ywMKyasx4f#Za674&=c>I(i@`& z7*eZEL`9nFi~17nAQ)b4LPhM8Mf;Y4aLXehybhyzJ#6(I4s(;y-QKpgebW@rRQhpo zv*n3~IU~^TG)yarnOhym(Jx(#OAw}Q}*`e8{D-7R16dL*T<%%g+#MZ@wPk14x=jfF#+L3 zW?1iu;{vE4rJ6z{ZOTPG*a{5WI;eSUcRiq-9nZLdANS{QC&D zaJxT7J0NeKjg~e+psJ~ZC+L^K6J*EWi8$~?jdTmF!@nVj<`J49p3?}ssJDLy{VV%- zkjI1_BvDbxZc&s|GNr&u4Y(=uX)Q*yz%PtRLz^3}%Ap+|)OS^`OLab&R6W4@I<1O!{D?K3$u)`aJWscDaX`id4>z8Qg4M_l?AkDW%(e_g(+tKRM(6C57w6 z;d;+58z^}{b2^nG(7GyqLOHs+P`Q!fyV7>2G|*i6bL2Zf&l&vvbtR2t(r+a##`GlC z^W>cL`}5`#W0gomF+2?EvcNB#(^I@qg>5h1HT)UAxBF3M!r7VFie|!DnP%Qcvl2+g zZe=~cKEc#e!t6agSV9adWy3oM`Ye*id7qo%2b+_z1T+|-T4m#Yx92J_h>ml6gt00H z#1#b;YoRD9Q3?u?dl<@ES&|(sqbzBhpmA&pmVLgIq0D&i8(MEEoZ(#KBFG~gF+=pr zgJ=e7t{Sea8lwcb5x~z*TC!?mQ%**r735KY(ZACfw0Mdh)*<##jj-+eJz5Llwe7>D zBy2xImO7n+wg6qo+Y5F z1|--~aRO4+VoJw~Z$jUwjo&LLM3*78OE{isicAYD^r)Y6hGHvR*A{{LT<0zo-L{WK zg!gmOpPqO4Gd+!zdOCL!1z&21QCyvteD0r~Vx@%BcY&9>&oeutbx#c3KZ6(JjXh?7dq+H*3Izx0>>^}PPp`!q_lbqH0#TkFn zwCi$m!QIoF5x9x!@wOKc`)Ib-Q%^A4Bl_H4A9b+Lu})~+MgKukac$n?XG=Q;&?&wd zk8%B1MoKnsA@bhvbd#|mq@i%_f#&G8U}fru`HDnhSPXCC&L7bh6njpZebzqqAfQ;$ zuE~6bWTKBl40<2JDFD}v~q~$#&)P}-#cN7qW=CX=+tt3CA8X)#-K>YvqS1&8`q`}^f6y~F+x+{)7YjFq zd3wdv{DbS&I|NmK`ElIy6-o>biR?!|yr21;pt+H_ZZAFs#QE$yh;G?(h;=x7vH}Cr z`dGdEO=GkNRg{PB^j+295kmMioo98r1-R#lr+3}zoNN#7Rq9or0R3LGY+^Jy${Pdpj>4qTqyd$kih zd$sF7f+TWJz90={tg!GOe=w0Wh7s|IKb~U67n&?0y0T>)2s&=Qzc~FGAKm&n+J>9> zOBf0Dz*9DAoS7MdB149h7%EKa3lYVkU)lpGQiz!ulITbi0k(>>sqCvioL3@V9sc$6 ze%y0LbV}%g6iI33ZNtwp2u#n0uexTc^@!crnpMs$NgDA+&l1BT!?6*yJ0O>>nGLnK z3MZx-&>^h3(aL4vROI-ztGKB!KvN%WS>%_<$&BRf4+z8H`>KFCKpL+G+APJanM1yM zsf*6b!{Wm4GiqM5I9BS|ciAnG;24pw2?qufmFas4Qe-EkO|U9;7tgBYeS|~C-lq>zeS7)jOUtXxW ze!rf7d}dg)%|$&o*v`N2x7D5@a;O{C`r+xXRo;v0(`G6W3{)o-M3dTz?TUT#$*!)*tjE&o-fzD zT}qg2BJN8Bp&g|5I``Rl`E(Gn5QC4O5IGH(U{*4#zjb@|aM!}mf_Eit3mQ?<_a3$; z$RPC5e7(BeW%Rhro>d3$I|09ed}|Kv9Rx|^oBaYzH>9}JHWv#GiuKX5dHqvLQ5Ui) z#m`ZfC5M6TX3wL26{Fqz?xb|-UT9b9Q!fsm5aD=D%kz?oxYNmKG`VlX2+3#F_H%&f zln@Mk=V)V1s=wx!(REC!dh)?_2rFrNZTI~(oJF3N=O;Rp>0q(Hj0lXDU6Jx70$pLU zqm5sG3p3P8$x0QE>mXMIOjXC&((a}v9~{`VoRtr1h?h$IaS`tI^rFl66qCvn9NS-^6tuvo1_A{$_~X z9OMNG*Agw%#`%7{TgOMPhGTlLx>pnsRsBlr{G2d^h&+wkw~>Pl%N~`OnSF z@xEW?@>;!Rot#-$gWdjKA_!V`i+@Q?adh}g>aUWOE}p1CDK?`!YsPPA*U`m;g1g&M zV4In?91HRtoY#)~a-dK4j&6#tC)@7*w*0^T|Jlj2Mc(Ir+jM4cn zQOb68AX&*plrG?0kt^`MmgCEL(I02fq9dVggmq~_`~`6h&u!YQBva2@7o|PW4Ggg{ zLbREwe}B#u)m4{PR|y!2ZNNwj z<50?mBK2#Dy(5`mf6#YW>7&j4_nk+lhfGVh7f0ysWB2(i7m3H6Bocez!{ukJulIzYr%p0}n|^0kGs8t?{mURnp^ zMZ=Ui#N`!clmskBgOoP&l(f6_x!tJxTB!Qz-YJ&&+BToIbC zih;4{K}D8yDrNh!AD5{b98$e(?hOI!T{PsI}vNCg2A7KcgsFJw<4t;U}!= z*wkIk6kY7kMJqhY+MHQznVxgOt>(q8A>4+ic$OPFpiJ5jAr-Ca=?Z)o)kdEZFn*&ZpsEk#POnWrv#XEzY*RMM5_Y8#X*VoixUycnzb7-XbkyL2CtSj}% z%kfiJx-Xwe`eScLgZ8=HcvS=%!^BpbM(4^tr}=Bp1zM5l64d!miK;sJ><@PP1ry-M z)#Ay+F=wI`x2v~ft1nkNLZ^?!Xt8GmMAtzBlJ`O{KaHt%1nIn{RtvKF^g2~bgmR35 z>+pea`zUq>ij%!_&gIYCl9sZGt}GZu+$cpVchha?n)B%zr-pLM`NF%VEi zWa#`xBB|3utt+k2vkL3WYWS)RKJvAKfkbq6A5DBof66cj3W)>=zs`yNOf?LsZx#-Y z`H?L`gwqt$b)4`@KJ33kA_4z9S{uMF{0*OR0tPer1FGqQz zm>9&xn%V{(YlHeR8c8TpC5=(ka0YDz&fW-uRMha6G!S96GsTrg6v)sLA|%iATtbNp zpthpa{@U`JFqmK-M#chFXg$cGT?iDA^Q%w|ujuY=2voz%7h$lGAgJGw-IG&}@ylk% zt&*=OjXFghuu~^nW~{^D&(T_F74h4~7DQo9;tWQ5fXP5>1S(uJSxTiup<@3It}I&mHZI zMJu>%9tK3zN_f~I0!F%x)DJ}rf+_;0&y+bMW33(w;}alC!|cCYj1msr#F!{9o9EH4 z4K@HF+L&~UEf@ww48qF>e2rb`HC&T$aN#NB4u$v^Qe{a5nt+&@5?#0kuC8t>BZ~c!+@U z3xiRFK<(cy{*se|8ucLge^J3=Z41VZLh>Juh2t^&sXbqg1nifOjb(gpg(t4h)%It=eE!b^ zCXY|@d-Trf@#zjw_f6Y;17rnU`Yzu(POnM)X~7^HlHri>@}7MR<34Ejt$W`{Reavt zQox=1jpD)}CU6sB;3qN@!%-)65?`MLCkO_Bj)Q?|_DXrMgWn$!;RMf~hR{?zx8X6qSis+(f#oy8K_?s8{= ztBH++kMCb_7+DzIyqw+)8r|s_CG0T56C;P!f1>jCx%WiY_gx>1Nn6Q%mqgU>W!C@X zBY-?eFjkd6f*@}`qfJj-yGw?Xw*4*rRMh386?yZr_sF^bIH?dmf|-tyl75VdV{*FT z&4lA_Tf3uVVSV$$-Q_biy*(x8{$B0%u9W3oB|jdJ`UR$Tr%OL*CHJY0_W04_%UAdJ z5%+h0-dqLgbD6ee+@!^lT2p!RNevdN`aRmU#Jd+W`hknkm7TB^Mgejh15<5H^9%#a zsC5k!f?*!xAz2$y+;7v&_!x4N;D%2Jss;bBiqPqt8n~) zx0|f{JHWNH%F>F`H*={c%Qk(_0Yan76O_Y8t#CY3RBsE?P3eYn z#y(^jGke$F8^$t>m4+5(YQ!u-nj%VDYkzYCQqGQZe28HaWpx=M4>NxR0!`%*CkJvXJFCd?LSX?}9I0xan!JTS*Qk2F1n zoJy3j1PW)0Q-G~#m}EJkVX&58RSP#q=Y=iG`Um5seISy#j{vI>%BCqedIbH-rpzp1v0M?8%>?09IVorKG*D<$8w_NN9XSq&Vr{5 z_%EN*2m8;RmLhV?;LV3{=|zl`o$EvDIq^fQEF5vR1JS+KDwI^w4DL2WM6S671>r!X z2(^hSJzi>eTk#30y)IXlJU>6Sqo==#Hh+l&$vvV0_dRS*a@!ShgvHDdcZ7B0Quywu z5~kwWzi&%OhDp|noacW`!-9A1(_%{|-E5dVuPf^+@Gjtv1B6XcU#w(sYbGU{ zjEd237VhY=kP46aIp2o%Xz7>ac~Wafm~_savZ^BR5xuS@&Jn$7-4A+N0^p+~Tf!vF zq(3U|Xjt(7R^b60WUg-;HYla~_Hp;7_*MB|I#lvb06IQg{;lI z_ZY#oe(?eNS{?UJmuWqlF=fpy9o1xK*ACX%`(x`Tn!(iCJNr((Jcs15T7o4{4i29K zu(h?k(Ywbkc8zqPt&(Zq5R!=<&e>PxPh6H68;NKF^>-|n5Q(+1xC{B8p;r1lhhuZT z8y78yqGU>v%uvN^XVhv4SEwG8POtkw3Cfdbu2>&a=?G@WvQVr@=8_FxBO38UoC78j ztc&o11qZ`tmHox(+Vjzq8ZJ6eDtB9A;Z|Spy<(UhEOJSglIb%mc!t&hj7B!wf&Z2l{j^(l&B#C%Jq3pk!-MN z{Mpe}JLs3$1pdQS$zn9Wsu8pv!WdpEn$W4nL=v1>%Q+fE3?K$sn`SvIS-3tx{i|LT zGA_#>MNL4JgoXAknuW?^Fe=@yv&73xJ-ziMPa37e85kkJ#_*6q+9)<$G(+4;==(&= zf>p%j@|3sZt=P>!O~=`#FNCW0L@hmj;N+9&tItl=G8_F$B*hjKYBZ3a$AV4*fEjuo9xKY_;3Ij|NQPxn)y1-IyR!h+>q@o+b zkq=6VU^hOZtjbD!+3RJVWfknf&->b{op|4HeGBA*WGXj|>0&NVRXLmgKQbg81Al;i5M@P{B~m@ty8r(|c4sIms1TtFS{fn)vxLVa;94`^`M0+Nm&s zAK}+w2Hd=FR-(;jPV4LkD0Q7+O-7ysholxNS`(8OHZ(onpJcB|6^)x&m4#9S9*}{> ziI96KKg9JF5D6tULq(MJ=AcR%LkO6XDH+B1Q{YIUS{x7|JX5B@iz*$Ema7b(N0@q4 zNGip{sWN+E%i-6$<3-6h6Y?xY=Betzp}Qz2_o%{6Bv~ufQ;MNO)4?c9@^`_%naesIQ2OtB6H-QsqUgO-hy-@BTPROqi0f ze=;L{U{5&p}fotD}-cH=_@rIiE3uuSn}h#8y*HGs%k(S047j3Tfp2 z1=i?K1DFZiDm1gBzbK$nH`E8xm@^hqb7B6;)Os(~7z32SbycUNl8aQBsZ>-XhyRIM z1pQA`B7_if!o@m@GhF_p_Bi`_W=A4@>XZWoeP}moMZ(TZg64PdkCaWz?vXBJAVR?TGbEH z)Y1sF^ix6f#?-k(hfIh-r*V=~4FF|8EqF@G%pE{Eu|VQ~P$mKSCuOd*8FO3x;S56# zMX~5uG6i&QevACy5oYr|tfDc-Cfp1XgjpFFlud7TlXV&&%j9J=z6Z)(s!bk3C=*M3 zSQe1ZSCaJB&QVH-;B$wB77p;G=Z8YkUpQBT_lq`^bOh}&?8%hW`_c;{jWA|$BsVt= zif-D1F_F+XM{H_7_No0!zu!zDe%?9*Yv9X_xv9fXN`qXZUgjpF>COQG6X6mH$SBj$ zp0d29pW#hRxguE;EhbSeMpF*vv3Vs`sFKcis5+bZKbbX9!?H1^@@uX7S@xLngCg1S z#J~TLT%(A}PJ6G12*QQpeBq;k;uIFVsQ(GS2eBJpi-s>+n7}z@mu!DIE+9>_?U?A~ z@f?!-vl6s1Sm`o4Xz)G)-fTouk}J+};yw*Q9JJO{$q6P(h-9f+@IpD=4tzaT%9M7t zOLtq_2(-Y;`Wa4e;7n9q8U zaFm!Y9{p0}c=jv|jC(it-$Cr^pZ|&(KfaYeb%+2Bi6ZYYKL%K6kW)Wwf|$gO(bCLz zsNyL7Q5pgRP)eo>P%5v;4;tsl6HmV_32lLO8j$9&g{!#Gp@nzp zB3jRICT3b|{M6J>o^WX^j~O$^Df5_#X#b-6&MCyxe@Ifyb~LuY`byoGD#WTQm?|fLhzL(SQ$JcwK9^%RJee~^j7mX$JeXy(7-0;NsI8lRBk z#o%$Fl{=KAFI-V^Y%Or#opMj}QFxm+BM8ANdxqx0V^53B25lI%wE`ya=83Q86H z6>4Tg2=A_QD~um#C5%6fxp(mZF-GuhPk9LY7IKIX$v2NJ;CCSKZ73DOR@^%=eq|Zo zKH{!Lm_UE4jvTt8jv&9dR55M1m@LXbVz_*YK%n`og;Y}-dR&Z)&-27#0)Dx~ zABJG<84yBD#umZkl0cEaLH7~U8oy3!{oz&zTpA`o^kK*&j_eCmJWD7HJLovVpgZK; z3HZAP*_X-0r+k!<&;Pdw2bbTU|NQgr+2Y?KSfPoQ1G;5jMuek(gZ{?eN2E`z1l$IZ zj_~z(jh8($#0u1=K_hmHEP%ap^kW*S-$8>*)t@^3_ zk;H^w2#~FOTKmZaBZ15tH1ba^-u}M>WB;RM?zae_=p~iMHFE0pa3yJFp7>#|z5)*(NMVNOagyY5p1$Rw*&V9r__I*V2DMkQb z+p5pARr5w;Ai~*N=b+UQ*PweG_m+GXu|mqBrACY^Hb$qPdse1d;Gl1?R*S(${S17G zd2$8~nxy<{5(5nPU|=+?b!Av<_&ug4XQe#B0DkaNe>LF2GK0E4CTlElt=``c%G-4#0{p#k z-`wbTsRor=hLoQ6$C(T@szNH^G_Y$L=p3uILh)y!zdw1UI;LPBtXf&DJxbgrWrKlT zJI`z$anu2Yw#$G*r>^DrtGZ_3%a^YCF90qnj#3YPEO@?_g-g>=RC(4cbFS&{tKr{A zZ}D19#rzgF8B0CR+j}l<1A*mTzGWW+U`qeMl>QB)Ctv!kJc|) z*Y<({(Ae@WgkOyr??Mqe2kIx+!}r*}ty&Shs*Gme|DVCW$d__o%newDEZ7DwOsObh z{)^69_|__Z%<4~XkE(1ed6&@aW2H;EQC1(OKCA1Rg-r;IUAAvlM0;!-tZ@ijT zxTWcNW88nF!22#tDS;#W2PnJWaz9o^9gJ)G-8o}xZzvPu%@80`ue2SW4uCcv|atX+{f@b?n1E9e*(cd8rA3 z3g?*7dBN7|56(5Mha<@~{RCH3w&1M^DbS5COAbrDVZm?U`mINL%j8GN4#y7@hMSWG zeJ7Q;F;#?IfJe z+9oi00W^c!tM3nl3qOAl@GisP$rCTmGKxRd`3<1)1r&Qj%uBKts5Kk~ncBHe77kNt z2{ljH!EtbASH#lExKkrk8;Mvz>}c%l%|K!orn6efUg5)ZF*o7&O)o|dX9!!ptv~Gv z$m<`yiXxIRctLqnWqcfX6TuYwbjwmR{(3udcDiF=`mFZ0ds9afi$9+*7IO+}=)+P? z7zqBNA_eo<<6NzBN=9-eLq$$9Ekb*iu8uMyKP68I(H!KUE<*3GZJevUKh^!5mOY2* z8E%C@w}YUCH9x@b%fDG*JP&c4mp&#`ldbSW8z{_vi7ajE1bK#atuS*6FiDGV#)2IU z!5tM9b?K%%3oDr+Oi1kwWrdLz(iAN;ob=?%54Y3e+dlrWpH#MA#QrD=p<5RT|hO zm?&L{S)en@NaJnPy9d=pd|p;sepb>V7M+Sbl{CCCH?^*1ma{SyYaA)OzP(4Pk~~cE zr*m~@@UmGFYWx#9;BcIu^&rcQJ)9VZ&p);@?C(rcmF37N{iLWvMX9GGFFxmfh_TaJ zLlp*obm+XUdQ`+z6#V_eyG`t<2!2Y4J3dgC7aa1B6-Q(bq@26ue3r4!EQo+P{!@}< z0ycLl?`T|-q~sa2Atn6wh)tlT!sbyTFN zO)7!&wt2^pJV$D9#j^5J21pmh5drBUizgHt;!%;ogcRC{&(!wHeRE!378EVzW@N&b zMT`k4jU-fy%bAf&DC|ZkyrjfQE0yHLe{teq^=$IvrlNF?v!N`MfCZY%nHxkL49jMX z9vF z;w)O21>u4}s8GkP_OP7~A1GXK$Ee536O`gq@DCSb3mk{K^H&As3$^&*)<6*M|03YA z+jy8n0?qd?0u)CO-00ZjPHfp;AYux#WTn9tWAO`_^CCp0M5WT=Lh^1wj|Yy*2~wfW z`IJBcNlRzfbD-glS=~u4Bm}rlNm%=3eSGiqtRgNB zm04^rgJsC*jf;zHpvbu1{6Psva^?Kql{z&y2gI6^&-+Hmh!2=+Z6jpE7U`7v(sLj6 zEVbwLuXAXk)U*_`seA?dFyJQHZ5$QOn$ z_u;}~25>$Fb4pXr)@5@;BtG*QTg*XxV{1dLHjDl9O<_J(__zAxp808_zbYh+jB9Wnj=F3y@j^qCsCGg;y7@TyrW7&xFDu{HqB7H~ zD`)5$q5(K0gYFzT^}PgU)9ARGMI#aI~H+3H2Se zzZl?bj=Y4AOq#|w;*HFjISEYA=+#0*z_5~})Se`f0F=QSRp6Ks8=um}TIK*qrbv*3 z2{RU&F2fKQ<+t%rnx=aD`E-#*l6+toT5U*l4UBZkJmY~^bSyW6b!3@%{~=Vwo8_+Z z)JZy}3-sMQ-tHm!=@*H_9+h#byWxMS!w&ePP6X+HtFwgzsN;g__Ip1^{|}hy;fqVW zYw6!W_88cZ_iIsd?f)jlLU(uPo0$Ff`9FHp6$*$0IxztOok0IrM<*9ES63^0i@)|+ zHLGtquXCaG?35a|?U_TjILRJRpOMvV%Td?@9uff5@EyqRfinRvUtx!IBVs(oJniZd z{qFfkZ;#8+r~+da{MS7AWMh69#(+5>QEFNmj{CWlQrkBpHl~!Y2qtPnejY#U?;Rgk z2mI`Y^w#OXo=6l&N8WAC>cxrS)UAEt?Qt+*0XF5_^}owGQRN?8sz-_sBQ&)Y#jlJ| zz=c>YH^-jqmPxL3qqymt*_`dNrD#@cw1s~i&_8fH=_D4@*&qyXAXDOC9TNqwDVue1 zei(EUw>`>#{fSWE-8f^D-d%iT_G-l-|;Q5aAg$}tCP0g zDfrlEHtS^yo|iHn!!s|K;>9rwoN=KuIxYhZ?pS2X+&wz#g@T;$asglH1RN_~*)`De;kf4ZgBq2+-%d_L<{rB#9X`DGk!3Hao#a*nw7TS0_|775Ai7-$}h zAd`BBvfc#rHV|vMncmoZ1(b~^d7^NYYAbMsn(_88Ok;H;Sw4ZdN?R)<$`7k>eT=3z z`XEHQhcl9qrGWu(VHfGoxdH5$Da;k>sy5|6MS~NcEBh%%S0ZT}SUzsVq%YJ0cR6yV zOYrOQ)=B%>&X(@bSfUdy&rKmXIrr`cr809Zy4&Cr z$oPXzBM+@J+`7+r22@&K37Q4CGvM8A>WR8$li<|tdF8Xj^K%`_Z`^^~7HN)B#`V-EecxekLITE!I^_x_ED zy(93|)q>|+RWQ0zg_(Cf^ofW#rw%R;Yoq~sPvx{keK-%DbzRwT2BLC@u~H}RL&Ml) z%tMJj$CX)q>Tvhv{3L^y*1lPIqMg$ld(EXqmWZ$GU9+j|b^c4`s4tS+@X4<`q=aU)rvyN(tHn3Q_0#D5l%R!{!{e~})=1M?_wt$SUa!$LgINup z7x^S9zu#|0+S0>)kM_3#bqe2mP{x;&qXPO!rNBtpJsH#DCqQb6F{0_}5n32pDo!vg zgaR)08>Ut0nrp33c~0L62W-plrPp$02l$`cD^InLRDb|2s9FF&f4YtS)q?7qnX$@$ zUGUMf{nmp_a6q$OJp+dcDhH-f%)$vQSoobuLM@1nc;w8@fXz_TFTYr|IIub&D2UI9 z%eQ@TrWtmn^8f6&XMs@P&%0bSCHxt>Wimnq#S0aUk#Px=bhS~WUjhDtARHDwL}Fad z(jaw$1b9^PICfMX9{#E(-W)En@j0b^kU;j9e1Q{5nZ6Zz&07r>!F=>>D-~Ca^Z@Hb zBQWl=$F-0IGX3<#Tx`o`0sSfDi4urX*XXIk43wE~`rQYiY0`rvR|p?Lqg|7-Qy1Ox z*l7~BR<}Gx_bEG@RnR<#5uJ~sW%T66ZLq_$p9EZXTOX>M6FfX*F)@bC$H|7>9r!;T zd*#k^F#)uve1!o5Lix92=74Ujsz%1PfAy%`O6j*>XTlr#`8|RvHA~tyu^A1SW+bF( z5&_o>2oo>Xv3Q-!Gwx4}Cj&uW{%thXZyo4{^lOZP5(a%T{0jN9a$VZzkjM@w4RBh@h?b($S zu-;x(Zkw)p=uyyv6%@t;(O59!bsVYAhb(jg6t`wXno;cdvtj4ykw9$?F1Q|Hkx(Ky zaT+9&SbIF(JIQ1$F#(m#(MuC{o?#oRV@7mhf=Mho=1Rw-Oh-1jr&n0aIFk9IWj5xl z&k@SBF1%o8VPY-A0mqrhm?(%O`x_%;_6C~jKYnCzaGRHW_>4f1NEfR{F=Ivu7AiO% zZsZ-BbY86WW66j;cyiEK5}UJSRFh>{Dj}Iv1l~$#8cL;B(w#=cL}io#uU7T{pqXvm z`wD(FRqmh>uvl8J=O4^{7N}!CQUa%v%TiF)YHHn$3U~kB75A*~&*KivcQ0aosCENV zy8F0(3FYS54PRSRuFJ{SHh57Iq2US5nrq_W#*CXLrtYMDH_k=xk$>+9QZ_cOqu%9q z)Te8fWuG&AcDA>%Fo<|@dtW-rXz;0o$?>$1VCBw9gW17|I-fgiiZ~dz9dG1jG5{|) z3$$Vu4gCp*^re-#ldFKjN=@jZI67>8ESu7@j?OaMUTPM>a;z6--T1?W`LnsL*I=qQ zm)~9%F8pogjsit0ylMiM$%8j;%jzygphbUI)zI;_%+N)_WeowNZA9PXr~0> zY4obuEAV4@8D|&d1%Yf);;NZ?-)5y&uMMUa3ey8hvTdfeujL2^S(iGwjXspPR}}Pc zvK`rs0PQY5S_UByGGUpt*t&g_&I9Qc<0e0JeR*pRY6A)mt=R1f1jyxsAfB*i*P0Hm z8G566FgsC_HUm+E%PaX=<@Z!+mkicwXp!CcJH98AVCVn{m@_fux;pn;qcpRG6lpw~ zC|!ZMFt!AjehOQmD+qK<=$*du^8<$+M`e9 zyp&WN$S@mtg6m|o^Oj^{a!HCp=&ILt=c1TH%!U7HF1+E&Z+!v7rsyaD~!VS9& zOC0PBbAGwcJI_Y@A}b0@-GKLQZxr2?+QLQ2tglWaF=dPx zrUj6M%FC%2OVJ7TS~?i5C3x2b>xF)ILisp;W&H4Yq5ggG{LLZ9yBTOKv2Vxs z<+9bFSJw|oYUrXi_x*N%?ZSco^FEYPtPLI_RB98*D=d)r6zEb>fySVT9H)Ui9~5(+ z%yp2^c8nvj19^*k8;KVIJQxcidPftc}^DjJo-vAzX4aC8X`h6UR7Gc|N~t z6{s}{OKL;z?G~hcl?-~--?3M*%AO|3Gg0suhhekmfNImTF(wCNft!ou-Mnqsb##;V7L-y60`@rArIo;44Kw6TM5lhLZ)`{<)tEN zeO|$F8*%ewris^XdZ*ySo<=)z0sQ-3EGk5+B?X%N6(@C`DKWtx`(Yii@tO_7TZ1Mm zcv05o128V=O5Gu{<4^@dUn_{sJu}b0tqQ33-kWyHY}h8h%eTa@?C`($@oa@O85uQ{ zzHSH$c2v4iyWE7%EpqG)?TEAZ&v>nSDDeKYvM4L1uad6(Y3jKWaqWBGxi#lDqvN`P zYb5-2I4N&K*TGLWW8`ddt#Hng?=X_Fz@N6)dOayhGaQc<3jsuYm{PN?lL4+s7M-?v zFwLf6sE{a6cRQElvL&xbmT1pB6Ci}xL2_8Z;oyG9wrHSL<{DS-MD*Gu(UF|fB zi_4V7;#YT8tkUM6DMzvDwe2Txe6qYfSr_TOrDyZ(FS|12-DBFry=EQK_4-9N+-Y(;y zGaSsbi$27c@OcDjC)B7$PN?5$vF)Fqv%Ul${S|Nj>gG~V3R-QeonrHpRf9SY5fv#n zwiU*uo7}>13tv*faXvv_*{o)@q`jz}{7WtJbR22Vl1;dUN!-JjrrC|ngr?J#1Zl%9 z8`p0Fec<_{Qo+TLwZ*R`my zBL%Piyt_Ha3GvDXy(|26hSG+tjq3+H&Px0-33f^oC>?!yEU*f$Ci;mW8M97UUE5#j zT?=WdN$NliY1E)V!tXZ%BCq8m+^LlNGqy5^YO*uV$2sO5}q>@Xs0gChgiXD21k%BX3QAUV$iOT+B64}o1$^NKyGpqMI5Gc94os2wtr+dTy;px7+i_@BRA?0gX`+k_}$=gLYdlKoB{ADlSO zEmnQ)lZjfKnrOwD&Vh?wt_#2PTeq89-iC_`kzltol{!?9(<9NTr4gk}261aLnB=%M zTpL@=W_EncKlc)MQmWvIlinNI7GV)UZ`V6zbOqvf*!Ybx(lm9Vm~e$Yrq#1W^dDod zO3omCsLQFzmUpTPysx~2{BuB?J7wke0D_GH!m<7#{Ey_nTEYJ{s@ZY%_JK@jV&8fO z?)Jx-^S~_8!X$yHZI-0<@ZJ5$ZAmvoqbokVOp9`ydr&KUrT(>zq zkqwNksX$O&FIt?m`5uS@tL{8^jG1ZkTIR}Rnzkxipe%w_7Uk}%d6)gIbSl}~HX;*omI49|bX-!;_;-({9o8Dbpw+Tk7-8d9?qEOrir_dx|(@>nd z99dScQ|fn8S;}W7RqL~qkV>DraK0Cg%oh!liI^g0C2*iNW}%(I2rCQVmf_^$K3`6f z1Lq`{x(ZR?=v46A`SFnM=f#c(%}DK=9!ND#TWbOK13bnu0>()S+F^x`miznfr|BYY z^lw}88v@`v6cQYpF<0T;>be!EZwMNDb7#x*Ux)b|3=0sDq9qh;M!PI z^qVQ$B#Zs(-#UuBIln1P)*qQt(+$g@ZwRrp6kM{VX}848(#QXXT_?VCmQ+kH#H66g z{INhLCyAZq*_W>HoijEr8^Mr0DYBe`#xx!7j&4bqR9lWgDTmgmD;xqTV8UIOkQK%T@PNB=YLD+4#comvJXW{Ymt241qr`T(^{jG3CsiU`2B8 zu4-yckCgk$!vM5R_w3$v_l>N+Xmt0D@D60Zo`&AYVX&7NBZPf6I?sAHYEOSS65Cf0 zxIWW!Iqjyr;S?mY8JhR|pS~ZT2u+0H#$jBE9b^MK?GQP!JIi5GG*80yOUa zYnlSAya3myy^)nIgSDfX#g)2^BdQu2f2S8GwcRul6+If{KqpII5xp=i2#3{rNfJj9 zeXUc7RH7Ve28GeLg%tVh_!pqZP(JU^dNftnEGNae03KyAK?z7CSTw8=66;%bJ~RW+ z+s&;aXvLs-gCCb$YwtZ-_ggMA++HX41)~K9gR^%iUeHW%pl0qu4^2Ij_RTepT$R$7 z=p3#*S+dq6fImT(gVjf=+G9k%UKJFs+70c>L-Y^gdhnA~{ieu36|9ZqLZOlXJ- zgqxqWq|<;|5QqZYV~n&NH@+3<2Kbw160obqto|%rX#B-b(HvsqfU)VMmCCNPJDy}l zH8ys6TIY<&{wo)cxK`p^^;FYZg?(#;i7_hlfPm9)nU;)r#$y+VP*P{xL*F9{nUTV4 zIU#pu)S_2pnE|a#OK~YKf$mQBJc^nbSa#i!&6yt=VYIIECk2S{EqKf>WVYjGJflA_8`n|bbcNuon_Xr7^jBYJ! zj6_x}KFsiHJ+atsni9pRlr59u^-lhj)#B~^eR24mZ zDB-C)+|?ks-$^g!lzzl{e42=wO;RboakwfZF}k#75tBT`cb9^!P|rt}BT z@Gk}@xN20N!q?2myIWEQH7BRihbXqAiw9nrWHj5UVM+ zGrU;{^(pq3o9%=ZnVMn5$s6pS=esuL9e~DH`C8?I$~<^MODmV3tF|m5hbXV?oh^RX zM{U9u3+NXSeMOlSw2MdQ6V$OMrI`Ue!rtpO>u%S$szhYv2^U#4mpmOBXO|Sil>UG| z#VlVetMhNH=L~)(%6XXI+o~Y@RDdOZIn807K7;|2jgVmp4O8ENmymge`2~B@ zllI=zx|ew4pIqvXpE_}S+TmwYIH$e6t30RuobQ?S!nfO(q^0%BOtsDYG-b~2W#{%( zUwhMZsCv!OZIdn;Rach!zI~+nqw22Q!RYs&*H3xk5nO!w)wOoHx+fR6zLu-5dAw}- zyt-#MpUbCy#(UT`7-rP`G{e1%G&vV7fuZ}pcoGG0C&DYA`J6LP?)}cZ-&IBsC2-GNuqVYLU1YY+f=NExTqS3W~xqVywHBfsF z3j>1yiuQV-2wZz&K>;>bw@>@~lMmPm72rX)dn=B^!_)(2(fysy>WB{&^x*a1Kyz+fUVn$ZWemq5npRBca?dsj7^bryY3k(bl4($F5k5-jRQG7Bu7}z)r7#JpKR96CE?_zH6VyNcn zVD7BX>|tlylq|2fCW`j?>;*f8MVQoE0u{S_*MZi7F&9dmCAXJJKX>v634f{Vmt|&ZjVzlCg!Ta5FX2Y#>e8Q$8WRSc>)fUo8k{WE9qZTn zicma;5dmo5zT5ROyH99x9KqC=MO~}vY+_i4d_Mu$1XI_}{eaBYe6ttGJzmpb_|&PR z9i!%Jbrd9n?{z1El6l-4NJrB^rk@0p&fXbYvJF ziu##LU8GK>Lo7CBjDwHo&GATr-1jCoSa*d_Qo*-V(ol#tKy=Xi{sQIcz!-WJ?;a_j z`cCG#t9ajaEim6yjxmK!_a&LA5WOef_{sYbv83Xiq;TK!Qpv`?$oL(3{u7qG0hrQ1 zy68#$QS=_vy-f%(FhtN_Lnm`vXBOt)pH&G{A0XM#{Lh4?MyX2do7E)?R}3V7$QKIt zewjQiwg<`-uXcASOX_Rk^bsGP?U`CEW)u)CGZfnfX_{y+1m-REX>HM6GMUUbf&{fkE%-C>w3sGbpF|Q?L4`*V^ckl2wQLkDnQh&Bf51dZF{SA>ZQ;5Zr0nM~L;Q=i zF7-^ODR$WxZfsVU`|O_u3j2(xY6ZH?XF&x*2NlQ+V5;NBp9PpjAZla3u9@JhKV?hN^Hn7W_n-AX&RtSl@|%wLMk?bYA=G9=%4V?X z%PofSQw-K~an669Cd+D7DbD*Lu8JxSPfwr9jnRFkE?q@&%ad;v{LIZkPOEEE6 zCVFWeczDX7vD~x))ZB6fe2~+QEtDI6wT|NMk4;@R{IzD}HJ94$FzkdUZV%8%sNfu;%4sU@ts3mx5hu=0j$1Qskopx!Euly#Dev-TPf9CA z1M}e4b=@`rgGF^C^YgpwOwLsPA}(gF9JQD)%@e#dsm8#}jXabQcOlDA_^hP6>kBKk zj3imC60uAu*>;(4jNMcDKN|er-oL(ECS0s}+)dtZzl9R6sF+JyZYD_Z9h1C+i?gcYoqGG0R9qS&m&27YZqX3P9I`GW@|eoNINAN8ATex_=N*%!n4APb|p+2SDuuB z&8X{q@)MLbqPNRUz1dInTuVD$T){aC(PLsphs!yn`$2^7xTb~MqQI{=(he0_r?hKe zxDk!V4Wz2|Wtw4^(I;^|T4E!)d|Z$(60}ic-zbu;jRAev=s8*e>yB})w+&?iaVQ^e zQJ@|L#Fw9OBh zXrPm9gz%K!yXowb+{e_a1}y4a);pswl=^Mr=GyuzKlgp5C^o{Zlxv* zPibyZ3WR3js(afi#-|Rh$%+&yzVGVHV0mUCK8MeExFUF4xcNo$&kN&0o$^i=5)2Fr z_0JpD9pGff0=jEm?LZHw-&e+z=9>K)FPiUG4chgtzLBY{!jVPD@({N^F8FGHSc9UJ z@z-4$6AA-Sm6W;sw@orC!-(bpOd6{fqYHNDgY(I_{Aq(q4{Sy;0_vgC)ayM1F!IEt zaFh9`H)|)CRm3Q&z=RJ7csKUF*9K8;Xj>I ztgOuJpVGd^PdcZF&CAFah-D6T7d1}y;vu;!3?_W34cc=O;Z&%1bw(R0S++C@x)7o$ z6Wumr=AyyrXctBG)vur!R2!^^uK3dBs5O8*>4deYQ%E#C`#JPVHeR&-`@*W$ro|e@ z39$`o7wXvJzB)}?39eOXTrF0ynRUgQ@2o?;UeJ2`cGeI#Js%(A&l*mv^E&ADP+_|) zj|KJ~BDV0m(XgOpk6#iyYhP@rJBF6l71Q+{BL^CNtIVsKKmB5DM0D)x>kryy*3yr0 zOSM3u;9v;vM;>gr&PP*8lnRMby69Cm;~k!}BKsNbP5;KTaC*UpnC>E5uG|`@^=tN? zadq-RL_mYGgBluYG!H;v!Sn-2$2ZBRYmE8sD}TdF#5;i&WU!PV@^pt#GofsI{!(3zZJEG;PvQ{Lk!v63aI`_|-+(bv|qlI%nvany2zM9kx z>5(bSVJe(E71?oH>Y3kuN@M@PD3^BW2`trld%(`0lU3TMh0x$5{Arl_=2p%FH8^#M~r04Fl^_HO_v8^Wly1Z(1^L^2KmiNYl ziqoNQgo^z)U)4JLJn&FsXO@CETrLYnXa>xFoT-<8@$J{{q@)Szll{f`(N;uY$Za0K zlZrVe*&|g^A>oiX3cF~-ExtV2XRU^GD~%~YNtAmAmRLCT+o?Z3g_b7FGeEHnJ{ zFzVjOPn)UI0XG1>1&5iZV3a_B4wp|u7p?T#*~*3HKkqwxe*z44(1JVxT964r3-TZL z-Jjcuzu$d-ZY`3;6oXjtKA*iJ^oJy3728L?`;|}KK`&iX$%Y+=@xHqyI-?LaW1(S5|kw}$bFRIN{-GRI;;fNIDrK(R?4Ymn+H)X?X zeLb5r=%oPf;tdNSvL_r>Lb%IEq-CQ#q51w;sQ>&6MgS>|9gg#Asm6iP`bXZ?>)9G8 zzK5W1EdQ)^bOnw;BnudrfjTr8Xqo%7*3K@Tw&u>iS2)nNIdNCI-nXYGzrgVMyIou` z*vPa!Sb`g&v3FN?-5G~G$K0>4UvWRho*4R3k%^M1tEg*yC{L&t=+DMcqTAQZN>np{ zdCBqXv^@hFlEh@ZoNn+8^dNV)>7Hpkl}w#pbpU`bcs>FT2d5r7r`aiMFZM5|86ry~ zfY*oEw}+>tvzQW*mg7DB`-hE-j?{&Yr^C6QHyxp&dq=AEmd$%Ry&kDx5sZ&R_BBvr*uQzrKiwPYIo9Zi04QcHaEbe#AgwNxKus56G|{E5W8+IVUk0Pv^-ummcXvJQLTEKqn@z7d|hFtHg>u zI#D71-LvkO8;M5?l~m#Z$E^(()Ggo_ zDH0!<>=UxL!J3C2lfIgX1?rTBXBVANAbL6#zDoyu*ZC%XN2&DD)JAe`sYlUF|thI9!Vb?B0KWtJCR`&L-$? z*OlgepnL4)_PS%EqItbvJ8G7<%gnBc#4Hk@YlSDZuL?&_GDvg{%Lv_W{|s z0(GYpl}&}DU!BCHQg~3(H;m3FY!2w^)_py4Vl_mAV4(I89yq54%-^O+&Y^9U+^0bx zRss$6F^DMF0zm&AFun|0zkAcapOjgK6}DGcb2W#+r!Q`&JlT5b6l4@3NvWA}pIz69 zQ(^B9Z5c^iu0mO`zZv*hyX9MrWvXp$@|?PKxbNs(iBnkm7>j=1_OxVtrAB8xm}Yq& z^wz0gy*Tr9GWY0k=lC)rdwV5vaweRqEZwBPFn>O9aCP zH!X9YfTx_&D1c@xOO{n90hW|w;g7Nif!>UW5`fRXpC8Cy%V@q~f%WgLjt&kh?1Dr|*0u@x> zp`;_(QDQ+bW0SUuc-*QB9T}YECRVQ@+*PqZR{Ms;em+hPhCAH=c96MG+ zyv3demL}cuJ}rA(>D~{|<<#tW)cjl!Ry^E47|Y+ekKPi|Z@G~qiLu{hUJ*^!i#g+p z$A5crK$2kcoH0UUTrVTa+!|UZy*&lGEoZtT53O}G`;Fwt*d0419Jc)$i~!W^22{tQ zmD&2z3ie+;I58eMzFR%t5?GwG)?5@;^74QrVDX+r|fu!%7=-J?dODY9%wp=#WQ(XeiHVEIZqq0jb$^XM}y-=l}p@JGfGl<6&Lxa~Yg|7{-TC4in>k7LIU4~6e@G365HnUrZY zZZuohr*&i&r|5HXOSG4Rt{+%Oy9W{^Jj(A2_&y`bw=#3~x#Y?6=zXe;MWl161`l#Z zM)R>6zbT?CW|8mM`H1Q31J6ce%%@XaIR4-js*O3-L0W=|KH~e?ygXX%i$rfju%Hy;N5HT+v3UN z+|TDD2Ug?G*H)3NTbAdU5ooVhFw~U{&sJe5!>x{%)R7yq2bK6IE~E9}g3?oGXA~*< z3F?WQ+f)>pD1!D*wbN{swvR!8uhk1r&zL{=X#n*^BV z56HG;@0O3!0|+WoKBmtxbCpD!DRj6W1dIQ=I?C=8n$~2ibrn>3S4)fn<~(!!{4=f( z`a-v$cxFtcsE3@;$343+AE0g8l#@)IKR$6E!Z%GEHt7^!sUK{2xo*vi zLK7IsoG;MQn%JvO)qg45%nXfRJ9R_b%C?vS!m>d!?8vxufQPMeO% zuJQdL(pq}-k!VZ)S`GnUH;w2Gy{OxDcY=UxskDY38>`A(z(03$a6h)x1D$DzL{0If z9#v>dTZXp!Pq0tCjba8XhYj=06r$p<$dQNZ~mD2*u?o;aIkEQdW+e zQAeETqplqt;Foo5&oLOM?2JdgL|8wgpD)iyva>`)?*pYR_Dq+==L~W15gQ<@m~rcA zK5*r9$H!lMB&@9)D-bO`qcvG2i+GElv(db6#7`T76fNk@mN+JKFaAK&7;3dwXY9Y=?r1TY zWm_D&S+H>JgItp`QlIeg^0Zc{)HARb)ES&t`Itssg`=>pxA4v7dsrFOXVV{E4~}j8 zztV0hQhy|q$F>8(LQ2^i`~L4f@co4b zh+VYkex*!zlzm&py)cH-c{R)IS(H_yQA847GqxK)ZZe;+%9}-7`&}R$^z1NTjyQ5_ zp)s{qTv$_~-e#DBlQO?0J#cl^p4lUDkYlA?9*;0R9} z4=xV4daPcurdkTF$PJ{m1GmGp{jsP=9y+sNbHtdtSm{fNHf%YG|Iu@l0x=(8xY z&*x9GAgu2fC=BdTcD2A^2P~~aC7jh&roaC@s@^eXl)!jZntmk~MSo_hCxq=K!9b%| z#srq$Hdp1xIg(=!P+CYto}FWxd|5-wW#eqXi-JLU&yjkQ);3vns^Q~{E#Sn!ActL8 zS{~cA0;^o6tmt@KJfPO%XwJ1dYHd~q-MN3c75Q=CvJ>Ik)TB25sQvp?QnH&y7CLT{ zv|`6_QJ%;Qm3)TTG$^So$(q3tY*zIId!IhfN9FxHdORlN@BF5dpl>=iJJ0$q>+cF6 z>`+ubT{TZ}{>%V>tfZYb_j~;22zk9T#oRdf*tI(17v%e#mkUf>OTvPr6E>&is|&8f zqH@j0;LKeA@EnDy5IT|0+*iZHg3Ga{Nm9L6SioUH-}9?yI<=z&HKV8c@twgQ2kO=#eevUi!^_u_sT~i5Xzv-9A;h24x8ES{sVX>=)|XeH zHO7+FtFq&=A>1`vo9K4>bp>1B7k>YhGINRy!AG6@wTkFg!Q$!eTrtM3^hpB;7g z!{ieOa?YE6xee{9LOo25#6GaZM>MR-^UbNjJhkpHAig}Oe!iNsAi(VUac6x)+WjSq zs=(%OHIhirT(<1+<@H?iYymRFVrx3VNr6tXgYfIH@VTUOCCm>t3u+zA`&FcbcBygy z;N`}QHRw)oJ2%`osnTf1kE2s~pLSOawx9SuCFF2CMQtcy7lv(W>2Blwi0;BvaK7et zwOw-a*ur*&>w@>8gOS}%9>DOLbBw_~hiT+95XH&ksb|dNG3^Z}2|oYMEl}Jiduwet zOHdw&HA`SqA`ID8$Mef3W^?#-z8?1%l$kqxm;B+?!>4g?B?pKa!j!KWG0vU-Jh@XB z5cP0f@#gSdX^;wfTX)iO4knh>w>VwK^fKsO*fYx(`8>A)Yv~0o%G+`y9BvTp$=~_? zH>n|)(zH8ap=r*?jp4g~@{S;SK&}$9kVbwb&<0_%Z4V-LhKm>nV$wJ_)%-wK7mN5| zNBMbEnmV7yo7b_}8H5vXh?2`=DXhz=w;2?O>9JoMyy=p;2dWXkRjr9p9AKs`4mj|~ zoXCM*fz})1Ygqb$tO|me!j=G3hyR#r*%Ynu!Qu9Z49WT)iIkDfKK#UUj#R@UN|Yxv^ZTG#9$eRwr(GKys@5j)i}D z$;;Z_)Pg>Ov&@$}yv*6CybuQ29jSWlIc`X?<%n#$3%`*=9aadVhh^9w zaqH}+%U3iYe5G5k&c(qMX;Tl-g!IY{8b3Bm)Mp_a?cb!!78rOGyrVwSpM1@w;Q|8$k34^x`H#+F#LVhf?FRKkF(+zDEH$Yb_&5CoR_I6SC!q!I z987Ubs*%;q`J0*Q4NMk~QC@W0ArRS0EK_7&t!iDRskWhJ0#@@+H3J9XL2i4gxukdX z{b{1iT(s!#IF_zZUFWxy-cyk>!_uPm0p0nfg9tS9rde+BDLGzQ)c5WY z1B!9DGm~esL7eJ->%3~cU54zuCT`G=JAV6iO#4S24x;HX3b|bS)yFg` z;G(>UMAd@&wQlrg{w5$f!hIfq%uZh#Mk82l7Nz2+MQ{9taAVyhn|Y^7W1_U-hC2DW zbcHoU!VUPfiC20^2%(!gC_u;B##|trJj&8L;LPy-G%<2qcezzttWSY@c}d;Og61Pd z&fMVP5iP{!>P$(b|M~5e8WiJl=IRVW6aqa2LM+3(qIu?=2x98@JS}jgA3ZA6g^qqn zDoBa)dk6HB35fjAkt`r5g*Hs=6Qzmz1fmLzBJpS*In7S%Dz`$9`!^31<-d3o_GEFv zcSbM*R48IKI~&ugHmIJIKo54LQ#X7 zKYx8W#q_nvAx$M^{Qc z*QoG<3!%XVU!(g!t4TWwm3`(BbUgYqFe;<%e`y|Tguh624mW^>Bs*1chX^MYM!3f( zwX@oR`P}@BEBVcyYD?@oqs8s^)44Ok7ufC9_C_S7GJPF{!b@f*sAiy&3X=NscX~pr z?nK%blU&l*v5Hs6w#UndT0cbNdEYKXDq3QK==TPW6m2NOnnCw8p*7QYREUM?bdOw( zaIx#UhIbm(U1TYJxf1H?V!@CeY+=AO@XYQ-Bq{){71zaNe^M=q;^)K!Gf#0YzBWb` z(v-kamEo%uqduWZ44YklnE*K=G(P_^NOG7#jqlLthCdMu^G0oH*pCCj+Dro)V5RTU z+Tscbwtoy7;fp-!^Pm*0gx~4Zf7$Ij7Q}%R0cL5*kr6NlUieH}HQMCKlcCY&CQgGn zk-pCXAMA~BNX3z4EM{Q*Ox}<+T3Hj9#<#@ky=$JMjl|au9;3i0y#<*_@WCjZXr+QG zk}jKY!j$d&$~1fktA1zQfRQ>=A%J@o3nCsOO`OyTOchQNDQsvIksN0Z8%H93MZs(l z8o~*d!#wua5l1B1d!F9e@Sz{xyQZp)(ls2gO=fIE1!o?NFhDTkx-a6~nJ|efnW}S+ zUyISgu)YQ)g7L*+(t?|aGD;hu)qSb1#fzA9BX3|vixbc$_dbyMn?{O?bRFg5r99c+ zzE^~P`|bzH{X;0Ag*zCmO&M3u31-U$?aDI?=65OJ%u6OIR=XLRGKd5l(;m3Grt zI#Wx;EH>K?HGb5@VsO<<1g4);&jMsMWO^{bzq($(b3w^pdpTW1*HhuYDCRg9S8z0} zi7=hohB{fLPR&QIWx9b`9^?+U!&v*J^C3ao*4zNoWH&==n5Nq*bL{J0GM*(vUGpGw!O*t6g@Fb%n8<6nq>?abW@j|8Ae(gautsQCohZ62l(&@6C(_}u&eKvxWM>c~0D9j@|AaWJW z#GLw5q1*pdc$s+>Iu*ZF$?c__Cw5Z$&S}i4R1fxYFz*}F=v;N-JC1!%wIPWv#^$wtQc^45yDKn{Hi-0=$Achmx|_tt-mna`#I*_GSqq2kt z&>?SPU}Oc?5PfpA7v_lwNN;4930?sy3j0npWcu znE@YTAI5-j_;2cue^6t9s9`_;-hEHDZ7w3G82v%*W;Ow$7U2Gq`WqEyB+CCmebGG# z-x;1`xargOzRL*ysH(gV!+tKCkukvi7nxRIXESBTu?S`)g-4hs%E#J42Q6~59s7X< zZqt&P+CkB-y*`ZJyX>NOE#C7;f05t1j)KTlVgDd+VdKP%Wd1+MXN_dHA7WCs)}8($ z?>CZtP|>_c&}>o0`quCA4fcm>TRcmbp}|&HK%3BgBS$+z7SUV#kMR%rH}^}sU%HB+ zN(!GCwNN5{Mg!`ShJBZF#pqZ0H0BEY(jq--4wP9l{rw@mI$Y8XoQRndN9QWz~6}1&U=%gQ5}O(VJ=THiX1mJN#H}d zJ#H}clUh^T0QZblv%br*pN3~!NzOpoT9zLW(0ux)s{USo(;;FJXoxW-tMh_Do(_|5 zg>Cqy?CvvJ`XYEb_1ASV;Hgc8DHPoGb%%S57^nQ=^RPq-zg4=~I;Q+wSTX$awAvJp z!dziVc}#of4rkSiuzdPl<0G~tC$i++xVO3XQCEFfv8#VEJZDFI&eQ5qE+mA|%PExw zntUQx&&Ag=g>>q7can3Q`Bo6k9O_rmbDTfR$_tnQ{PH$kfUHx_DmQ3!dC1wu%gulk zuQSnnE23O0h^e0MhuzKm5dor#J>CrXl5=KL06~}X#A4ZDp;^x8PwDA-$U7v+%b4SY-CXY6p{Fg_a zyW+8-zkywO&zb#U@+W82P4{s7T;uA$On%fo>M9EV(`0D!Z##T~&VAGBkF2@BmtWRpx_`=+mA>o6`jy@_>VcL-1ZULwiB+ zT5cT*az_JT!9ka&3+Ippc+FY%!-V*g%vc6Nw}epQ@Pl?8+mK;|VB-E^;Kop`q_Rn* zETuHOVpTV0q45xtrf>|bUAElWu-UDtP2o670Ci**hmKf_3y97q+MN&+mIfn15@+r) z-N{;5S2@Vvk4dP}0M0qcFz_8{5L)MNG!L;VSe?*|-)Jljw=h$~9Gc4$tAmK8E#;qa zTkX#4J-|0%V$a3NejVPLuY)mso?L$PPL+b>KhwMc}VORVY@ zOhwer8r+FgpA@vs@Bn9)!C)ChJc2h+I!2f^?gYES>qnGh$$-5gvuvWA_>Z_~vESnG zg3rY-Y(~dSw)uY5lCTXBHv+*)p?`nC)`LD^nt|YqGHx${jk(?1&_yR>M8k-zv1FaS z23V|@(!x)=EGel??LhD=jfHav_fRh!mR|Q#Oat0e_l#*+Q-$RYQ1MR6LB%_PgB=a9 zZH4-0@$7Q+{wiK=mu>f#spUl0zZ4=2AnqR%?o1HSO!Y!q8>!OdmU+;^d6f}jK&aEh zLT@LGvx$*PI;hDGDxdiH`r}3eI@CUZ*S;HYFEH%0BvdFWX+}T_z8ee-8|xpH6SA+J zi$GrRzQF@P;jngFKfjtpuVdGLBr6&b$*0>$;a0WeHnW`9jgSNVI1KNgR%<$6b#_Z| z3idPetDE~r-wuI`4wQ2NnlDI)>%PsRpJ`ZWONA6~YU6-{3kCi7=V37nYmOz>>)8%n zIL*^7eYc&x2+N3 zuPW}v6}uea*?Le|dxnfS9eB~L#nN(mb91HX7Y4*1i`8NgY!b=&t8F!t${oG?pLIS3 zeuKC|r0zcS?pKtZoB?zAI9U@ZO?nV&iaU|v?R?R=Nq%M1BbLB_r7A_Y?YL7Eu=<;a z0U%~x){;wpumpaT;RF#Ze$1KreGN{sVuHs4E43leeG(fmnWEqV?2V97_I zg8R!B?RVfW1e#;I@P{-o`|t;p` zO*R`Y2b!C5UsV9qGLtoslK^&yta!15ojTAK;M?jermZfnRdYTN5U0oYu2h zdvNeEoBN&_Mc|gP6&6)7t~kKfF|LmD(Ze2gSbO4e?`@4{TlOTw3 zf05q&Nrkhh0zd>60djICZ3YK1l_-yb_6idZt8u2rOKViP=SbQ3=~;3ldE-!%%ii#d z;T4m`+REV}jOtDa<$)zwE7if06b0IqL|r7$)k`mq;<4T7l}*<0>s3SM=C-?u5oLKu@@EeT=Z5>chvW8gCCl{ zGImCvJwNyEB=u_lcdKS{yndAegKXdP&%gpOUKn)JY zwGc{}WQXFTn+FC+p#V!Lz_L`2e?FGmOU@Cs0bQB$)wgPqxC8j^tC zLT~FRj*uhfmsOP0Z9wZ6D+-n?6fVSbf7hXMydP(pS5UOk+Ud4CHw(R zZTHwCye65$(M9a>09FY50j>CYeGGF2FPA;1dlN98v_x=NBA!zgB799)T7#=phPtq< z_KU;yQQ4JZN`Zr7%Q|byy=Fc1XwMqD=Tc(T_C{j0bo)JBAOetx<-W-YE1lV6>p8b1 zkfgsbTfl*q08;IIZs|!r?b2)SS?!#oX*)C<^5zDD{yq;s0|8j9ATmz$<(hvm!KcEN zd#fvuq&&6)`Mt_FuqC?Jj09 zxKqPm*w5EDK-J>TO2NWKXfC##z{<@`=pVq*g9yOX#M!d# z_s}B9s!-U^cs1@Xo!~UX7AvYn4Q!&&BEDT)Npv+l)1XmRMBooTB}0~6 zkn6g#ZOfzUg7pEw_h=utjW0t)rQ1tlTSs0XKO+kWz-q0&nW8`vkTiKvNlZI8jrv&5 zeL}C0VUAm!>FYtxSJqJZj~3vlh) z26dDjS_I&Ee+fDYL$CIbk9)eS=^xT{k(<_Uz)rw0^Bs8+MnG%(-Jl2`tS||CmEM?G zkls?HIh|uz8fM04y+Dh&Dpt`FNp*b$JVn$}-Tb@jCe)dU5-zxWGg^RJ1O2K3{uO6GOIb@ikx&)+@I4Z_Eq$vIB5luHKsxin%6+Ez8!3& zZ$urF@C=g>SGX@`o44S=?dW!}}UGhNo!Kpx05) zoWA#BHy{C;7e!buVcR2TyY>8m9clzV#vMIIpj)7ES^m~eLxG0Zph4{SyMCz{M>5_` z?EeOERQwHa6#fT*!<~EJ9@Iz&+{j5Uam@0T2Y+RzfO%?=VdL-=odAli(CVp{U!^1$^u z?w!n%@NOotdxMWSCYOPYL{=prIuNc?r~OHP$oUt2iK(UFHZ;im!A>inBNDvhV2Ja- z)9D~b_U>PiX*E*rG% z*cfRL_G(6~Fk}htWm}tKz?BD!QhGSggYhbnFZtGPk#+tx%Ig?X?urfs=fV(R=w)fXf7k8T~mH-$msYfn#d3qrY4F~7dy{Nq|JjAt#|AU6F1f4a-t|n$@`CU7BEfPWw>@)U<{ae$y#aCm9|)y>~395 zYf81wm2#wR;mNK^$yr|z)tdT<|+jTQMrXZW_ zUp!e!ylhQI+tnWpWV4g81thMt-gSy`*0Gyuq#Qq{r1|U7GEBI-O(XG}6d5!clX=&c zzo*hDW@EVO>P22oRBFbyJk&}P{e{7BOv}(Pd}=#cJ<3k-71SP?8ovF5;^2w>^gE*k zfRTwgsF48Flw(g}Z&h|1aa&i^#ZiI>+xm%ibrbW;%F1QZ%#rbJ-~RAqvIcf=1@f73 zsBQAUcN9Xz!RIzO?FFU^RN3YaVwIHwmA0ob>)-@lY)@#Ie`EC0)`o9+EJ4$RJyryKIRReDj8m{X3w7LA)VQxc?{xy^ zTTP5gy#;DDI7Yzf)DWOap;YPH5fd`@w(lk!{WT;#=T=7rK#430&yT$Btii1`t|Jdg zjn-D4x>Qt247YUqv6}~DTHQ_@+7Aawh#S&$(>hBjudqY~pT3uX9$oDRtlFn;S%t0K z{^cBI!fdY)BkO+D;JWp^-5$G$8<6s1;XyI>4 z;G6qFx#BFj;)q!Uk1*H}HnynCB}uHBqf02*PCRPe;X%0&V$k}zf!Oh`J9-O8Iw5Ii zu+8^Xi}2VV+;U3tAbgJb#6k>2LvWfg?~v)2rw23Yj*BO8X#TAN5%o_MA-z{b3Khy4 z)z+?6frpBG$a-ll5h&QNuFHZKWa7{CSnrmDk;c=%%`XYt)r)KQ#LrBfgRQHgDo);X_9+y2DYulR)o(@f=6qBy>1jibc?!Mr`OcLWyf`Fkq`R#PE5Xb%Vx=|+NaZge?B77T{|2)A4K(jJ z*#(rzd$nAIql?-oGmjLs#f|#|L9ha}wm7obV$y-$`;n{AuE3{BBb;Z&1!KX{%|~D* z-6AxFVjYPn=!g{l;R8!LfP<*Py@1tQ4=)-E-$SdD0@6l=NPi}19XnopOnQ`4#UBt% zStu%#r%;&NtX?Vv%0n-CB>U5W5h~4e(n}MbGe^X%45$)Ax+O|a;ay(D%#~qSA8y5p z;~{)VD9ND35nRcko3g}DKzXqnb07zAllWxNTW+}QM9fjr2*`qry8)@LIpk%B0jWHN z4i8HgByXtyJhyM;892ws1qS9^0|SQt&vW~lRxY2UEG*1TUH&}6@2j6$AYFg*^nl%T zG^CiF0!B7A;X921F>Elgcae5`FI-VEub*C>aP)z`1$2sEG{+xfG*)Ib_yqWcPV`+| z8;A1Zjb_mgkiMiuw*-4@at_x*u=8*o{$dNF6q@9NBO4?wfEesUXmv$yNn zV9@<`FtdM}@%C``_V{}2-tm$%GqIt6`E+yIQB#9@c9wGsI@-V4wI(FUWQfzz(^W~_ zoUw5*_X-v%qHMT}MaF7Lyxl#X`;43sqH5C5D8^8Y}Z>g(@UCNB>@PHnHZTO{>& zX?)jgY!9!%x|iF5U#tChXY3mej}%MF;Q^W&TU|Jh_IK?bT156{7gjxTi_K>DsueR8 zSe(<#B5xNpEiRKdfG7D^W`hRzc%C$3I;5kWw!1O%+nrWiDqKd9mqyR~dY|W7MTO2D z5iLcO*QXJ~=87q9?e(oK#gdXBk`$H-5{=l{iJPaVornILxg*Dix9pT-zq6FsrM))- zl7qLhq0p%{FF&8$kFY{##04V6DK$UyGxh2X3J0E@A1e;8X*#0nBnSW%$4o@1SaKvN zuWt<-J8cEyazaeFKdXItDx0{e8V^_rZ~-G!)*}?wmXh-^iu2Q7O0(dV1yqOJZZkqD zR2uABRkL$8L}Sh@dEoY*R*-Y=fo?%0-8mb*A)uij+n^yl&=AM%jfl4v;cNH9jtml4 zPxbB0#OjTmOkHO7ZCZyR&f3u7$?nZh=6z_M;-mD3^IOLm_c@8cjMv&NdzD*V(+Nj7 zTPcFHl~4b7QNeVnoNgAmOEIxSwSvGIW3L0CZHa>&f+D#GpJrhsT{H zhOiXa3-7gGvT#`PqTe4%;>q|(1=(l*y=1}O5Rmshua(gOx!Mq710V5COSpQ|U|MLX zFWx7$KSmWWqFR@Tf-o}>l@#qD7+zySN#v7F^NxXF$0H%U9=&BVY@HsPx!LgkU{}k& zd4^{uJcNk>`-b?VecLe$_C_p^C}0jW0(x_{;(oHC$pG(tKe-t2gPWp3x}6 z!WV~Cra=i2k5a1+x^j$Z<4xzado>Hb<-YZdy|d*OXCnax-Gu$^sd;57(JWNF{ob+5 zu-bh>Ksb>Z+I#Ax5F$viwg^FsVp$iu65X~QViC(-7x+$crA)`2;NF`d+@1yZHUFNW`D1bgSud$ zV*O111Nb{Qy~fcFh}-AmWzAqHs%oGKx>e8w=?Q2e4m43K-3smSZwSIgxE8RNbb=nL z-QPj~%KjbXF=Yo%SX}xWrSUiXA1Hqh_&dt~t^$v%1=`_D{wf5o+^jt~A&gZE7)nqu z2#o6=TK|%?3US1Q4giJ0gTie73hM>fBW|-wHT}lffZ#>?_8aH#0e|ycE8Pe^uS>oO z3c~<}{kDc;<5VI0h;n;%8S@mfPqwd1{ahoP*a-&onfGH7VQQJUfgCwz!qS+Tp*Kp| zMZPv_cyJoIll9jPBxLihh@GjJ+9@g(0U$-$Y#F^BKA(o}?`Mto-(f}($clJO05{!u z-5yW*+kD;*ZN44Z+;UZo?C~I$xKE(szTSI0z@0dG|9n}`>c$q#>ezhx$y^QF++h}x zT}_O%+a}_=cZ^INHNUm8Z=fK=YPL0XL(p9D5*uk&`P#-%%;aN%*{;rq(< zvsK-co)b~nRfuZaDR1Vq4|>}3jd`2T3twB0dx)t>)#8Ny?e@*USnPyihTS*c&F}ux zbM8s0T&E5<2X;9?$%nbKnN)$cb@5Y*@%5#utyJH&_It&lma3m)-vGMKpzp71>BQ51 zYw0njr?H-=7bM?awx1cRMIuUIp-5H*eqo=T;fBiZdhu@H&GEfEj4~6>$-+`F6VA>u z^FE%JKrnJE@B8%$s(}LP;Q7%KY*aA^);Z8;nJmux!VE9ioRlS?(GbNd2j`nTSD}7% zoZAzWRS6)jIG{umSy7QfP>9UKK-S8V^mr9{Mg0_&V_UHN^OX!m=6m1J220^g=UNv* z9^r^N!e1VQa}WzPFy%GqrNFHKes+@5bsL)sQew>@k4p5xz3!mpGqkWSvBw&?UEgof zns9IJAFd>!2jQ~SC_M7f`x3h;JZyyn7eYRZ?MO<0!uu-jse`;a^nX@cbMrC7iJjywZ7@+Z(TcZWJ-# zCX_2@er{bk<6$9WvPT8n&U2>4s9$s|j(BXh0lgnu*RxIHiyQ|e>{Alz1gY)wh^5o2 zz8_BU9crvpWzSqq<2FG*QzIT3H!AWebxn}8@F{T|*Y@sSo;QDVa1BGpeb0(}Y34SK zdKh-BZ_LB^t9i1h+{v5B2~fqAWixGW<_f2Z#-Si&LFhEeD>N+kgf1o)+@pEkqsj(*LYppnkCF--iyl8) zJIR4g@h$(4uy=s2tlPGQW81cES8Ut1ovNr}+qP}nPQ|vJimT$ctG;v3yXXGzy}#|2 zm6q0a`slsSwdNjktUcGjq}#sCO3mdehCLpeYcbRZ*5|K3RiD`Bt4^0*u1drQNA|++ zIgBl*hDrEun(+p)eS=6@`!#ZrUqL)-I3aq_{iYQo_N>Oly>Qyh_WQZ;N^BQ zuTE&`jwQVZh9lOO0A-%FllqI-l*Y`C$Qrk+eK$YW!2P;e52Hn+5f}8cTSNY!XKc3l z_lYkSZVL1CimCYr*Q<93s{ZohxaTXB7#@1#vgHu# zaQ0*c2Bh_|dik5iXb-9=58dgzs=*_K@M}8H>U0Zm&l6AYy45+^9^9+q&wk&m8uq3% zCOJD7h)SLIXP8l3-yU_84!^i)k3HUe1C=GeN=~RgRuwJUV{pM2$U$i9u)Sw&>ruzi%*h-p*!Vs{Cc|7IQcjo4S(*3I0zYh3k~I)Q*Bo6Qiw|taI_{K5@!h*pE_+anp7OP zJiGU5CwTU1*M9^_E<;XnRhB54dG;t_v5#fmR9SwwVY%Qz5p+efhH}RJ+66%4cY}7b2GXzD33@I^GnA8^{ibKD&2T-ICGczR7ktPCc6=ze~SARIK zM7%ou>*xKr=Zxr-&;==y(#+e2pJfo3o(*4h%~b0VyRkK^oLQ1I;*FjqhDC;BBWia* zE?YAjYHt-zOf{fGSaYM5%fhM1@oQIcQ(=InKH9R#FOicO$=e?ghQaq$0d;^hUJbNa zidi#E%)UoffTOz?RB3}~@3??em_Y%h8CC}@nNBx}>gK)Fa zF0z?L5?|XcJ+!*xFeo$J^%R3ux6W!dTy|tf8TGpo9t@&k$B!Z;3Elhld;`HZ!WsJwcbwitf=b4 zP-~Gj-yx6gA<1Hv3nejP=U_U~p~;>+DR6S)sWRm=g;7LvB`MCrsN~y~O_$Mn#!$NE zbL7c+mT-HsUV0YaWT_{WT2hKAb~WL}mPt`xu_F#5Wc~8y5*l*2Kn;<3b>OVyj(Hv@ zUq3R9ZMvD|y`M=c#8084Y7?|_RAF_TRiad#yu^dOeuOA`^;RMebEc(=ZGJrIDEX6TYZ z>JNO3)U?6i@U?YVH#)7v1nA-0b;MDUqD9YMb0-A&UR%a$Z*9A8uV8>L6C#YsCJeA~ zM;bj}u6etZFxf=hmk2^TNbPm*v+?rjAY>s1A3q^-8ZN=CWLAIc_Uz%Vg`WlQO4=4Q zqNMLVY)z0s=%e|1b-T;xahW}<4&HYHegpZ|9NIewlEydt1(C(N>uGFVq96lk!@tT(BB^7a}lhJ5$--Z#A z&#LX`0MRKS82Zl9#+p=r%`cpbSTroVt*MC7%jUZ zpW&% zm}30R5W6|Z3ly#;TBwcl{dma-Etr&|_N$A;-nJ$WfLk=>?zSmw?AQ5j?BQ)!K9ipi zD|zyto0;Q%zs%*eddoUFv#tia{k=pGwCooDN=4p^V1xQ6F8ZB~-0=dFv< z9_R*!*cc(&%+$X>=Zfm8ORK8{jKnrzB$ThG6)LxSCQ7-pG=7;hSS?3M{kCsS?az&E z=WFchZ_jZkWkZqrwZz_$Ot3%bJFN84=KlN6qtipCCEJT5baykLE%hE`y}^npxpgLo z7d|$#HFo9fy0V(wb46&2Hh;Mp$v%YGUfhIw#Q(e8D&<#qASfLm;w#Tv(<=GeLRk%X z13E9QgYlwa${gbI3NuOq7NbE*n|VswUHaT^RDCT}{dDgXOMLD;+#f7*-KPV*jq|*N zcucMcO;^RhSoEMGOFEUZec6x8R1FTPUN-lJfb}jK^3C$8i%Fz{fC!7jr2H4Mr;yg= zqE_`j9e!-;u4alZ_UED%9%XILEVfL~x!_jw;?@vu!&5xV4INM>ZHSPHR`qlRzKd!l zGStx4laZ`z2BA4L()>s& zv|iSgdgSH!sVm)=&m{e^x1&M(TyDH70*zr}t4*VGWuMdhHRuAZNOTG6{HH`!oqYBO zyZwR*@Z)On#=v#>K)8JrI|IeZ-Z|&;XKqPL*+f?sj3RE7A{D&#T@HE>V5ta;r4#htanE+Y z97mw@R_IxU^<_1D)dnB=TERdfI=hc1zN9~87zBkx0)$`ZM1Q6l z2GlnT2gm%#79qlEis?E|cqJe9-$Nn+|5wP1RSQ5!x68jFd7eTR>n;8jG7AEUL@=xm zL9Q=Hd7_vY#KoH01|4gI`Y{?wC{iVjQPgk-Z3NEV2!d49@Rl?XVYM^Gl|~fE&=Mjf z&+}YDi3^~%qSXG{@|!T2U>-)s0##@|$e~>b6p-_)Pz|r>?rjKE!^;<8u#q6B-;v#u zQ;zY=X2-3PuPBW=MIPly{%yeh!+{Gx!eCIytNGB5Ggw=+>Q@c8zg_$#J$r=t26l_hFyArthGAu3{56t|5uF5ylc>$z5$AvMkrn|n zrf_A@(FPa)Xoe>ah>rjc`xwT3(C%CJ zzLBcgKqkSeK99^6}UVS{2tN(Q1dOTD6 z)?djvUr7kr*xyy;Tny2xKb|$EUTdmoT&dAOd9*dD9psDn*@OJ4?<39DGuBi$#nwBE zC9>V+&H`5x8wVfXzu+*kFuHj;y%{vR(=kfeVT30}4y*q}lKU=+ zsNc)1|H(%Hd5~bNDt`n)-h4)zp15|G3@2^-Tl%S}%SS8n=4J1ZbN_KtA$$Zg9U~?E z7!$|jbi*LmxAL`2!1bfA1UJ=K4au;R7$8xNs=OTsSoXv0V2^f2i0KB1#)LfKkMizQH)@eqz zk=a(^_yKP>S@(B6te#8^2zvYd!1+T8w;^%p$u#66U+j^aaF#4cysH}(|xk+AJs`pTPC z^hvXPahbjdt6S1*CD+3A(Y`#n*q;ZCW!a>^=kngnrJgL?^gRa%jVe!24j;9`@k~*@ zEl4+|8_pT~kY&v5U3YI7%P>|NT9~O3vjl01C~d9%%?(I7JI?VThE0^!Wr#e?{1FH= zJ;V|M4U0U(sYhE}iwL7Y>xm`I9BG;; z3?a5gm*)$hA|B$sQ+%s1^W!iXr0H{D2p0G`I4UM-wgXy)YsD1GP)mS_g1;F55^*jl z!uCf5fYtw7MD&noqfEE{KLVKZpy%Ldy9mrT3R%vPrZ0o3|Iqr%;EV64N=b&-O$t9Z zh35pwF~0N(mJnwEgNuio_oP{VrTzxs^Cvz88*zqF@Jf+*RB6xX6Zsp+6mdrQK3V}b z_CI2r|F2>!HP~LQnk%W()AfavDOg{%wRz7q2^zR>Fe|ik`*LY*vO&A2wRN!9xnKND zSg4y3^lD^NX&JUQ+#9!l&U4p$X;%Blbw0emPwoq3ULiJ`I!QTLr89l5**A~nM9GiN z-z%I2PZ{uEKBW)#pF1r@fk+W*6IFV=)b6(86H&B(<-BBe>#j}6kmXHjStQ9%W|Coja@7kxumQ2VEI7s}|{xrl1jTuzG1w}tPwn*Ni z61M%Ano$g0Lvec`xI}4N7`=M4VIN6R|HqS%hmZ#@Fb-8M$->^X#iTe&5~iSK(4Dx` z0Mgpp(4E9peisg*RQ8>Es?ns1eguwfURN-zTwzx*4pzI_FnL~A)>YtLz#Rt&o1(s0 z$>7#ZN;DZ2qu(st(PJSM9`kd)4eim=FUj+y){ZdgoI7PzMc^ZPT}zxJdegce^t1%P zM@P1VNtj80RNT?9;Qyn-131WB-!^PeO7-pI?oIKl^1pPbGK?p&G~Lzv>b|(DM>Oz6|bF9t07#WdQdvO?gJ$#PolYEeN3ezm>tVPu_BpEHhhg} z#1nB2m`JcL!V4B044+l@7pH5_M^9?FK#5+B6DsnTECknl$8u{l!%1FjN;@wOM92@h z?Wkg3^X8>rYGQ&zvf(0HOwb&>zk@UTVG+iTWFvVe7wLj8(x5e&U_&+;qWK54UYw4; z7QLzA!uStrmA~e{P=|4ni_ZU|)`!IR&u8#GWMkN9V?l(m;~`l~Rqd6j?<%U(`e}mJ zhZHFXaIG*GAq3L3i>E_|v1dWiquUIjOy~&Fb}}r7!DA2Mgt2S;EyXHv>QpIFLk5)V z^PD2tVA1%qqpNn%FS7~!o2!z=Xns{AXg!26yi_!yQ;mrvII)&8~L46-)Oa#*r( zeSrE`y((l}mOqM`fGPr0+AN{2HrLV%6oA%nD0Y`AEK zxRcQLiIxSch|A?EZ^v7)n}3>)vrAtHRqcsddi=o2C(&1*ov4XqHx_{a1dqlrd^A~{ z#;{S9W-_iwMc^6236VCGTbi(sWS>R^9l}9?Y9?EDT;y=0vdI(%m?omEp_X-lrQEER zqFYEsH-sY}loG*id_-BDm#l|rGZX@63_pZJ-*-M*mPx-{hK4wz%82h8#vY~LTC(l@ zzscgD*?jcqeNor&m#!tE{$R7$%RI{}*n^+DNZJP8g-EmX87CNFGgdb~f$UXv;sH?t}W zr3gGA1B(+O_fmd{>nk7~}`Ra4L*Hunvk{4d`F@IS~~oe_5~aH?~X6F1mr&{bEVCg z+v*Qz7;-3zMaPmUpmXzEFQf52Q0`J~ z@(@CqSmML7fONi+q_=jCQaS{mJ0!GlfG<5i6pH@Bxf;A*w4tOUXpdn}rlj7NUJz-7 zF^eO)xoJ>z(-w@0gvL2yQ}eM;?N|E!W(x81))`m>UuMir9ez?8}iE=TTaxjn0E2%=2biPB?+06gRtbrPqjWLy9Yt_%P z$CMuw$&M%f{fFclMO1d$dp$%DE)?er9}N_zu;4}gPxw8E-S}EGe9^)L&MCWO`^#|w zX_{@vL?@5uklde@ppC&wm(f9k_Yv@BBbt(2agG!BX$az=wWdl=Fi}DzOVxrG%IS9C z>#0(vw6k5h+uBB;1y0yHFwyvO_)V4*=y{jdpQ z5;sOmGuxqxqx45<2n;|enJPf3ydpnnoFh*>{k9~u1)75NwzlyjCK;Y2S86`zCUa;I zXc2%CxBEO@EHSTW{~;)bB-hj81yQnN+jv`7(BRB3=$;E3A2cu0Jx5hdCo0-1!2$mu zmGc7yh@Mm_@MIm;E)Wx>R7X+m)ObhH_0%{=(Tvmt$02wqX|5~?qCMAwh{$-97}Q~A zUaX;W#y?Imh&Z&F0O(8l2Q9eVh!!%%tmd#JB5D%tt*S^wst)W?9NeKG2<&J;n!^^Z z;zEZO-ldCZJ;R|OkY(MOQvWIBu0>9i^ z0V2ziSJhxu8VDa)jV;}L2M3t-!|W9P+Z6F05OtiRCqj-R2H?r#Gmvy~j+f;QQkk%! zsZo!}AD@(94ct&bv zB#o_L6C6!0uq0P@nWuF@5UNDI21>E%|JP?;_W?_s1`#w_enbBt6NN1+W$4h%f5in# zn~pU;A;*is<3cNUC`n(qqT<+E;J!QMp5~+QHf=@_f>rhm&4b6D7MTs&RHii(b*(?* z1bHu{WpC3k)AbmZDg;+5+&ZF6FO{RSYL3h}h)#nmxq9;iW_6yZ4Otuwr-v(?6>z2a~elF>*yo#@X|m+f)K_Y_8tg@|mRmG;QAs695Df_$Lrwc*>7kNK;*5zjlGXZ zpI8aF4I&-k>+!}{Ax%1v1)%S;oWuP$9>*@)A1`D_srC``(AJ6ZhWeTC908vFHz}n4 zzXzfIaZK@ zGkWZwC0y@!9|E;vWTQW$!EH11N6sxIt|MSH_7O`=0CE&z-jNWF8xs`VHSIa~5&PKp z5zVI<0f23*KF?Oo8;yYoXKS5#?RDTkICF|ODcoqq0FnP!25zQI~8 z1|Rh^@FnKSZR80*cnq4;;n=SzN)jGCZOhu@!TT(USb|6?AniU?hvBb4{e?KU1 z*Nq79_r`s5qu-?(RB9PgdfFdnGSsLFsf5$Ou4$litlA32pNanda0}7qGmgBGLnt?B0y5_$CxTH8rJ@~QU`C1k(O+!)TS+mT! zroXR-e;>WYYc&<~Ti9eQ^*C?uxws7kmUsD9g`A{-6KT$vU<| z0xP6;*=}Fk3j#o6%exSMHD3qKNq~I&0xutN1aiKfOJwva#e{LbH#RF6Bm9eVF>Ju4@)HAux8?zF86Nv2C!% zMaa8I<=^9$rss`u|B(XkyD+5$j__}w?0(DrSQ&LNuIYE@jIF()Oo%r_fJnX4c6d4f z+PvU^Rf`1?diHU`c^0QUtB{#I*R*3srdx)GbZQ@f7+h&PBk!&2Wi+H2ElAd}5BGHZ z#SG-7CIl*+V@Br%TdO}f*R&pvB-iv4Tv6GAw2Dea5`(7z~lwc3~H~wKM*eb{6WCG41*_6yg17!{#55TfW{Y4>-} z=RR3DOsOT*JYfgN!I@nVODE$_jZkeQVga$Ev9mV=iCvh^Y9)Jx57Wimgx@#47(JXJ zZ1uMOv?n01fAlJfNXFm={N0KYH)W`XfM#BpBwm{3i&!VhhrF#9F4w5b#18P>JJ%qhSm zExs8Gb~FTcR8-WZo9-;EWQH&ywKtGMO-WKcNk#c5Bqbmu_gShlib4SsO{IlS>$laP@T@k(Lfq|H9BSOua8^d$+=TW@+*Y72it>j zlyg*RV3%N`bRlMe&L|^|w^8pNR2T7iS!wxMNsCx?D)Lm)@WR~Gx|Uha%2cdzr11Lo z9;r(5Fv*|J)t$l1W=W{=Pvn5Zaemf=EI0OWVi-RE*vhcKGf7pJBct?_q7D_Mo|3%y zockfhPHPQS82Hhl^SbI$5mQm{_Ydzjv7;jRDIxCoKwVyN$Ujybkv))d?w0de#yYbg z0_ONnNsuk^zPfNHe0|z9LCf0{T>E;00$Ff zv><|WwJoC^kZ7woQ|=6;5p$*l_h5q%Db&6pRzoq~GU?tG4C{6cRe7aWNtR;LN|3X1 z+bq{nk)k%K1kT&$9YgXQslgS?%1ap_T@*(Iq>C(`P;7`tMFta6Xd^yT+bj3Yd3jk- zw3M5X311d5CZsfyP%SQJMlPYS8=>%$5+|)xk`w>MiG$U%$&Z_g(mBqCvQPpRXf9`N z5OFXpn>Bj4&Q?+0ywDM?9-LvBREV2dgqxbWMjJqBQ8V}-N}{58NE-5@uGrW|qD9}K z0S6B%%6Db?eX1uC4vq2NaKKrj$-SqabeZ3xDBn?#1@buRf0SSj!mQg~AqtS!z1o@7*%cGQ#t)n8w6+7BJWJ46%YvS7l4)Jgm& zt)S$m7Lbihu!CQ>@R=a4@hOB{H$QO1sUo}tbh~@ z1~B?76E$umm49A(;zF|QNPli&CM3nTC@(ODiQmS3#%GY1x-}Ox93~YgqK#SY3CAt) zV_XAsga3UknV}u3f^tXi2jw&v02|s-al|dGLI*PK`WBgwTj_Df&~X=+4FfxCw;>%i z#Wo`g%8QA!XkiwF3;v)&9k<%Uc0PQdaKRm;9xG2!ic`TqT#PMn9O}+r6_hX3;)7cQ zLAd`*z+<=ZFo^`3?_UHcjv%Fk)L9!aPTbv6vev+Fs~aL26fBo`6_T&EPVKD?v4G+M=T_TTHyr5GAUe5RYy?PQEEcO#aKt zx3#Fu^y^<5il*tFaNSr>o#a^( zT1(^DZ0x4ryD{xWe?JNQnW&A{;c6}qgMxv-Sj)Udht?q<+#vR+ZoR)4pbP?np_MvA zHAzB!hwU#0IGZCc;Ukl#@r`&Rvt~{L6Eu3Y5D_q}Bq_BgNhAPe@J1Clro_glbg`B> z0Fo&ZgZ z74c@dt2}j*PU!-DH;=b_NPhZ7BC$thoa%1)-_&6T{81-@^uN{F!U5EAL3R7RpQHa9 z%=GZZCEm64A0T@SY{>hyD7p6kBE>>?cjud!{r34k+S?Thh#T|*nn9gF|F>pPE@rN- zR`wQu_gOWoZ#l1Xq4n&P8n*43L$^4|9#Ef=)osgB*a99B0Mzgu$nJqN0WM!*hjb%i zJjFci>Jt6#`A2V$%h0F-V;20^Josc|ei+7pIUrGLS{jb~xs_7eHzPKtl&}aUYD0b= zKkV-vA6Ezb?1uE#>A;>y6h}wiZO!V%iQ&|(ec|nKFkk^T<=pkZ%Q;cyA6%+OiVq_+ zwH3v$j8MRZSS~lmp6ixLu5_cg>6_V{?Xsn4R&2C|e;v?2a69QF7Sq`v3~(S*;$R&U z1+OWab#ZqkLe@Fe|Q zQB$6anDj$S+<^6Xmp=Jt%2$87rPZP3fjE3V>s6&yf%*Am9Bm2s0dQd#>Cd?V?3gLc73!)s+#k}``P3N4#^V0#$BCYpcw;yVizV zpB<OgNgN+{A-%ALicRloph&ZPXE)Q#@0eVm6v_yS451n;g*>DD;a)+@} zC+|bU*ksH@i9W}bS$*no_vQQ~gO}F6S$LwI(;IuurA3yAuj^g2sqA(BOXa99lH25_ z+%Gx1VuSH52#zcBZ4~gyuRElKX0)dSK&-39H^%kT==_wRg_gtPu=>_W(^>cOne1M# z(KUlv4W1YIBq_h&Z${eE!+nqTw*hqu-+NHTmy@Fc`bed~NZCCZ)8Z#UYKbwT>FN<$ z7+NY$Ff4=uF7+FxRp^>)txtJQ-w6k7%kQPva%BhjKetz&Y9FZp0a{SC0Dk^7D*fAn z>YJId%744yqi6fA2bti2X1#g_4ii)kOrw~E6IihDJClT35FPQznVSKdp{8Gcv1)N( zbv{rKpAnaD`{GP9>`LYT*>BGRp}wDYxoArGGjz*jgbIomDjFl>5+>I4b!sN`|%s60IURZYA(Tx8>OO8X#z>@E2MCz3LKEA*PT8Y+VM=-XB* zt{CY7)`>=7++~kzAqiyq>4~}6mdyhCQ^*q~5T&lsQ->KSGvD;P4?@$V2T86FK7vNO zCS|8Cy5+IcBy6p2d5rE;b~dY^c@85wA4SXP$&K4!hi5+txa_t*R5vGhc*tU644aRW z4ZAz=|8(q?JI}=g(An}81_%h{zZ^3MG;&onGPeEO-f}CY-+rA5Z{+9q2&&X9Y1_nR zG-R5QkfuolTrVJ0ygH1H_$$Ho`PU!3wy{iCbyA%Vc5$9pv{Pij0Z`bkB9frQ+@CYg z#-9)G_}Z=C=o%8FjEvbEXsZACk-@=jUh?5H0zo2OtQy6P z86jAx;CQ%^cWBaivDS|zBlh6QL1Rg5&X!S4mSw4gWKt1$E1hX5m0C%68W9tfQ3kwP z)&GNLwsr3-_|;UogGRt&X}z9*F!x!Yj{QgpoJuZBK~<}%bvG*9{d-s3v%Wu%J22n9 zi20$~4M^$k7rjURy(383 z*tm{*m)lXFu346S&hXjU-p0Zp;>GQK=_sSYrxGT|(?WukJ0}fh2P5iy?yxE1VBB`R zk(_mUYK>`4;SXo z=C)pgsoq?Eds(>fx0yQ%6shp430x)*-ncERyA**I{asZ<$HV@Vd;S!a(W<(A2XGL^ z>H42X-@|{ny`}b0T$Fms)rePozx^MLJ(Gk;+C~69g*$10fYATzlytQ;vomA-du0CG z;Y?f3VS@v!=a&Xj$Km43hFe63*yZZgatS<2t4M5bS=;35LvKax|U3|0*LLg+qGHJ1O`zDNeL4j-rAtY(drL$Fctb4VW$H&P`E31kOHt-w$+LbG{`A*8c*_L84 z+Gn&!pUQbDsW^~fHt+=3$!O;-$;9N66otm^Ggq7oiVW?Lk{pEv8qNz`HB`ATA`4V? zau$Ufb{Up9*cs;ha-VmejrK)W6qdRH@7>-g=*?$>3q&YP1&8L$GBOQK%5$}ai;`Ji zok(KJ7%@x>APJS1Q!kpfpwU(#jdAjjo5*Wmp$S;L$%NWq`iBx0v!?G)k~IA`;2;a^ zzT*jM8OJR5e1AUJNS*1glwj2V@^Z9vFj`CSt_#)+{qBVFas0~o;qyZM`{MbVLymVd z&{$&Mj_=E5t3j`>AClD2MQ!f;?f%+@1OMlJD5Y2%JVdC}CXiQHAnz&ArJ@3jK@&Mn z19?6u=02J0Afd~t2slH)V^C%PwJfo}m>3r#+@lDq^6Utb=mQ#~=HJJr-_=4xV04#ot7h;-xW^7q;NBF90wrdkox z4q@dsXp#&}`@V2L{d)CTQmHXJs!d_BuccGVc%#8^CCnsf4|qc!#J?Fbt!cIrnw^A9 z?c&QzMbi4bg5x&g=E+PGuif-c!G}GKcH{#1_q|wDh*nDqH2Et|>O50of|-iEG&pKiv;+2mT`oF(63Bx8X;ZLjruQj}&m9xE0Ci1;w2W?Lr% zT#+m~ZS!E7O~X(jQJ(I0F8y~JgR+N?(|5F#6a-B6hhGvrglIa8;mb=C$HDmp_up0a zQ&1y+|Q9JpUTIA_C(w-%oa0`>ThcQjF8=DDD zrz;84hFdl$6B%j?XtCS55)V(>B&e3#N1v&G`3#F10$!k&<^%Z#^G?Hl}f9pu+KD)(GKIM}OJmiO8|d%IDV zcaF*xRq}ljLU%pq)M%WLbOh+_6!xcb6^lG&Th(yE#jbk^jzOt(^Y{-vU|2JWXbXFI zY7tLkrg)JI)cmR_Fm)Q|2@nyAqqViF7q_h=fBht}RvbAkXnal~LAK%kwPRbA9YjJK z)*M2-2>1NGOH#$8#0OblzI$j=l0EL(ER6>ko=_T^a}G*ga{t7bFHR&pXDHB4U78QE zoOMY8D%MlWIm!aTYG_A@)Gu2^grumz=xL$+^2qc=vSD?W*~X5089Q`O5Svva)g(sC zHT|fZ#vEaXjM0!1BAqnGl!^?FAY06sF{H(yT_Lq;4kR~4<9LDGT>wz zEq7eM_#oe~j`wpfoetVLmg~J%?>FRs=3+U1JS(Mu4?GA!_KFJlZQ|zQ>R_j7XUk~i zYG(KMW3M`@9%g_E4d|DT*m%Nt2~QZ>f-({%az0Fr)XO?VLRUhO@#l6}@2>kd$I)Xu zxepLRHXiv_F)0^E7_TdFdBR`!$Ab4r!56_okXbcImMRt!T5fIb;KT}`m^9<#Xa~B? z7>i))K_C{6O?W&3Vlqg zXN%}R#$J`2LHbaaQXdHU(Lq|94cg8m<3bHq> znx&zfqacG)t>n!Q$?EE5XCocsso~+b0_ScIBp)T=a{apFG+Mm?!GJ(^M{txreS5mu zWii!4DrwK@32`*2k2{_%Fx}_66Ny2y#ekAz;)F#}rPn3nGX_oi69cfT)cH+~(<#GD zN%+ELewJnJ`cx)Ooy~4vPb*hJshPgl37M!#{^iO$c)R8>yn1^$>=U6Y;)3kK@HgK! zvlm-K=>+8O`xKJj|6`RFHyavm1E|S_1G2k+uQ}}9?2OHv0acm59lABQ?Dx5_x_3$i zHTaCeJ$M?drN@dXz11G-uerL(0D9O;YWl-BkIs1}z?`*Ua$zSNvU5jqqJ& zX_aBtU|UF)%Dloi77mz$yLq=P#Vr$cr>@#C%CPd?2w0fn4s@Gfq}q)`aVHAJeQ*j* z0yYiBxyzAd^*W_~CzYjqW>U32O9`p;sSD?O;mCZ^Fqw!cVpakNYGW4K8H}*90B#vh zF7ET?Bsp+Sa;d8j1&&Syznvcs>3&}9c+ia0zUhHfJ7-D7 z^g>Jus>~k?WO9<&S)P6A3g0BjZ4U9Ma49??1*$OJ{&xR z(sOP%*6!Ba3r-k^At>rCqK9){<+)sSKSd(1UYm_C9Df;iQq-SB562MrWfBq-w5wO_UmcrjT{Dhi7`UhXQT71ccb?7 zha<6l1%c}`J(tsN${S8WBAcOkzyIm`@rlqx7;YTKl~}IM9$o)}aqFE2E6;K&YV~3c z!djkNkFFX4$aaIBzEK=(9$!smDio}FuSYxmRG2lv__8z2bJwiL`3ltoL1EB+TM4XOq~wk9N6FPl5D@B7s2D!PHYhW8Hscb=1qn6IBbuyW#X zxVU==kid%iy1(4@Ze5%2_5^tJ=vWi8KkPjZY};$=@=PoYYp^jE`}kNdYapJkN1u?7 zSNg7}>V)9wmBWSf{vy*C;>pw?AS3bH*wdTej#12LcKr0s_JW z%vgZN-G8Skz{(47ecBsY*)mu=nps?_+c=`Cq49TmaZ=k&BT><#K@N1X^cB$y(}HkV zt(PQm6w%i@g-9jJp=MAReOpM8&yIfqdJN_B{;Wq+bX1 zW#>aP0KMJZDuPxFiZ}RixwZD*lXbu4GQ;h4VqY*?U@$m)hvEgz1P5y7F7(jUGil#k zz1QJ% z2E~Mis6e>+SxY(%m<53-z&*xD+i~Mtfo_1mX(j=?TFmOt(uKxf{1nY0HVzn@PFkt# zO1tApW>jNim#1~ki0r>|@rY|B&Q(t}tyS2!Mwl3*LJtTy{g!FTh-W-@fe0mawmtMc zvXB`myp|KC$KR>^%i9cw@KIFRf8I7ZkV^PW{cvh>7jraj&)?50=QwQ$8dtS z+RXOGd8JkWA8Pw3 z>@$`@5gkS@ZE8k^-7Qx&zfCbtD5^%s1pZiKd@ZWT4;prh8WpG{o~7TL+jW;=M}3cw zpvmagvc^bc#p1&ZuhtWb?WQSFj7r%uDPHg7PiZ~$c#2OX$Kov!$QE|8F0uD!qq5gaN#ZlNn$W3dUu_~!LX#F#R)UTKOge5#G(~8$4z0U zT}W!@*0_Bo`au(Bs9K=|m-4t4pEcxpwGY$#+Lw4zlY!sCU_qRt;0!4^fH0K2ka)4P z^7Jt#8bvVg_PO`)-A>W1@#D_ow@(jbZui@GP=G*x?ocIW1XHVDf)eSr4>=+=b>JaR z$8Ab~@C^TAaDuBw^(lPKjJ&%gWl(c+Doy@(?E!0k>yNcflWp5=>yO(E2E=u8d(_sz zSHF$%t9^b*)Yi<4WB$V@X9vfhcLe zF-++X=u^z{#j-m8#(K`+XQG^k`Ms?QvQGtA;+NAL=IKKiFxdzhmhb?wFu4E=h}oZc zo}vb>G&`IW_ksfyj9_W6usK?gs4Yjxek+{?`m{ z9=Lq7;(W3j{|6y8cK(7>kqukx6b!3VbKY*ckuQ3a&um@7ycZ81%?Vv{Q8;1gf4RKu z3kut%n>*jJC3AIa7WD{5C?A%b`9e;jd*`QB3jY#QBld z^Aa-8Fu!0=deYu|TK5uf{F6)l@lz*mPdof<3g@)9ca`U~pYuJlUifzVlC-p5nW?s! zpQg;&z3kkc>T7SB4ppx?x^2=Wqw301-?xuce^lL-I~e``^ZF@IJc5f)zq-~gSNG)N z*4J{?HIJ7qpI7(n=JR>=3yV)*n;ut}dVBTyy+5zrw!T-nJ^T5(e!F|0Pu{EjZU6Vp z>BI3~Wh|@Ke6P6wGXGr7@4Mgsrq^54KYX-)f9$Wn{r3MCl^P!4onn^}dxND-wMDrq zO8l@{aO1=ekBdqVcZt1>UES7yK6>(`#G4x`tG`d+{CTce`PC8Ul{1CYzxi7Edk1Un z-g@ZP|KL>SR@GNld@p74ER@q*eil6S;w#y}zpRN(Dq}$-R^q>L$G1cF0p5&EBFv!S zaSnzbGt48_1}&X971%;O1srn&bvt070Vu}65bX>c3{K4}i4UnPNG*;9wa(BDs8sWI z_yJUU4>*p@4bu&z8yJrPjexZA!A*N~jU8>=!I?lM7l9fDQ8YdWioolhYt%1-#vk?P!WD~%Vz)s0z7j7G@>*Y=yz<| z^BSaujDVJ(23jS9Vz~ftC>^XF;&Ws}u!chKYBB3>eFlcOP*w(@Ti~F9u?85LV3UeV zDsxi7)0OC9fPSDPOm_pLi8YF5wBsew%|V|hMVPa+0A>!-BnrBA^obXQ_Q@qs?P$|5 z=q8{~L?BE!S_(A*Wm*DVKl-RKLVrXBR6qI{GP)7y{cnU3f%RB>Sq6MW$s zGs>YbOmP{hcfLfcb%I?!O;mc~5+?=*8Cv;dki|av>v>G47To)iailVf(z}FngD^EM z89wi)xxiU=Yx?<&&_m9|a&!Zev>(8tsVieN(TRsb;8X?2pu?*3XSj1a$Q{*Hk4C6> z>8W9x{i^a;M}zq_L?jG+*ESPC<|o10azpV06h zLHW$7AzZ84E*g_O%FfIE=5!=Z=6jP9thdZ7q3GKoVI)WsATr>6e}VjT@DX|i_x@c# z)t&TnXVJdvYG9tJJVP?A-b)f;0a|z5$0zSc#NzVz5<dm9j7V2GfBn-5%dx;Luc1rZDytHdOX=9zi*3!o zZhLH3w$dxVVEPdxuB2w@L2(T;*?~U5W7!~3JkzrK;ee5Xd{WD6%EEOcNX5@_n&=lx zZOWN$W6Y8-+~|xR*V#V{6!sZW%^Gx?&wvVq1}cylz*N~8;ON3^3UD_6eUfL!k1O`G zpi18PNX{u}hF_t=Ny^ZHAAOOP#tc|$z2)Fkup7_fn%vwiu-DC@cO%;5AHH%FTIX(T zhBOU{4Nk9?qxlVk4l6lrFQYEkYFF*P)W<IWp$MGF4) zVbEChAj6!d28NB`#O(q49SS(Rh)Sxedy6L9)|V3(XQ$0+H%No>cg>;ikdxo%&YYA~ zhy>=st?9XK00s(chv(*Y))-wV{e?f7wXoM1vJK*_X8e`n~L%==OA_x9oS{SpEFJ@*9^?vW+3A?>WY`0I1uCH_DAa=p5W za}4T>9TXTC>fihF(b4gbwy2Lgtg@hXJkdiLeEMPyE2@GUAGjboBfgGT6Q9vMH%2BK z2i3~D1N40e!{YtSd=t)J&;Qgg_OvK!0o$NxrGYj6kT;_2w2shN{bl%Ib@GtR1*#0X z6iagu&A`cMdaQCDh7tZ#s+Mxqm^WFy$;1T_tfPw({q(05WRZ;q@1k}^N1t!c<|2~6 z+-mO!&XbfImo~ntuqb^ghkU8FD)%gz7UcY}dvm0doP>ld1@ZBP9ctXO+?r-NObSPV z1fSKo^L)Yz$_CN<(@mY(PqZ9Mdp#V1S#ptMA_m9H*?0E?2zxlD1zRG(Z#Pno<(a26 zt6(@^8jkBp)apvL!Y-puV!O3PhjVy2Az#F4B1gZIC)s=i^j@Q7YX_`3#kSnmm-5FV z%iSVFJ@Sh!J!4DIt%$?w62>MprDFKijsdQIar3-OsJw*K2LE!o_jHh1gOMm=O|aaC zM&Ua(BP3ZnUQ;f+!&E^kST#gVkxckxLX1yuN_(nxcqqQ8YoMqXg_X^Thvr7P9Rh3x z-v>}bC)x_)Dt~a(-66iS!h1nwy0B+G+Pz}vlyMvfB&wAgK? zBneGwZBp=uX5eUe+bPAR46Mos7b<<|>_}&RW+pm^Pk*?=f1AJgMf}eb;|oV&cK{@4 zB?Fxmzb{yKfU_Ah=&E(K2i=^0pBaf^GH~%ktsQW zqiT#%`ntkN<|HX{Sz^j^lYuHc@6xlrvq76Ww$ftJ+jJmTB|haQajbv(@X;fj4M#7M z`MnG@1Z;|G%3NLvd&4*PBtCI@Nk*gdz*X;1&W*kblj`qeM=VoK0vQUyP-sYY^q~TM&?3HI9q;m#z2guO60)UN z(}sJ~Y=KOku&2HaPB;653PW{PG9dEX?tpm#ckfX{?5~Z+GS7)dTL(4O5A?bN8)7DP zunFbH{0joVBxbIoEkt620JaW{R>CQiK6DRw?IZpgr8kHUzo_*fjrnNGtbfMZ1r_Vf z0d)C20u{znQesy@pVu`fLQfe-nq>U}Y^D zMfxT^%SAbIypS-Rh4I|G5@`I{CzWq+njF>XPSLEUWtTITqoo5JAQm=oRl#Zvr@QN2 zT`pmlB8B!KP$<2o_9>*ixjFgKZ*alqq~ZfbEgoc;ypl3vR)&VRy%niBxcWr=UFJgU zeee_oMZjkE%lOIF^OKu4C2kEq&RW)Vns4TkQ*kRSvF=3=O+(?2>im%J#`9^m84<*j zzr=rqY}@exJ%z5g%39sV90{VQi}B3^rJ`=1O#}$It4rwQUVBuYH*lk+aB|aAP2Yy) ze!-puyU$gcQUbA&m_IY)v1IMLQIl!Vk7w%l)N!Xl4%%ROGfN>otIDoo)Q@qQH0#qL z2CXoGIVk22ojr4Z)kR(#`UDh09Nem;9e=nF}}EOLl=|0|EGoldH{&?iJ{CH_`?e^YPW zj6r-SVE2y8H=EjicJfwjVS^u+zCkvSClUe$b2dcT99_T?CFQuMURp!cwvq&%ucnu) zb4frwQX21^9e%sHHzV+Sfi*<1XqYDu zFWL`yR?v?^H-gf<%Yf`>zc;oX+qGCQ1(R^^7EcjpE3C;-+lIU>W{(i%p{z?&3$_h; zKWWQjb3Kzd;H3!v$r~0zcvmR0m|%yOP}^2zTzQgO-iM&?%>S%)R5><(1Tz?zp$0S<%D-yu^2yWA+~xPm2-`2x5c6aCH8$IvY z#|DE9PdR|ayAgc!?#!w^V^?6G{q^k|j#bQwksl?g2(gB$hNf&;d>wyZ7Pd0&zE);} zy7|jXwqJ+c8PJG0I{oEzox8sqsjF4*O!KLD^7N`50DQsq;eR+d_0T=dN?v_&csWfM zUK|FzKE%8|JT0C@7YjEZ?;6}ctY5UJ%(p)s&i=e<4-MTt@_eZic(s3P+X!I>t`Hk0 z7oSh}ABLvvZ;!7YHy|04Y6 zs14{xyKCRQI=Jz8e^NeTWpo!>yx0$H6e8-k1TJR{d+Rv3Eq?s0_%SDC@~B4mR5Pa0(Pvu|JX?b6pf>w38nf3#3dA?kP9TxUkv z1b&qy_L0syA$=RDe&{yotsbAJO0IwYq#FuEOQXd5)DGWyzJb@CA`JA5P;d9)Kfxfa z4v)RAL4hs|Jw@l64y{KCt*#P&sWI}^5%%Q?VeV*;F%QAB}cZbbe||5uEqd%?)Tnmb-Sgq z@Vnadq_`evAA7jG?pP_QU+-5B+_(=Bc}p(_-`c|nsBTSUJPn!ial7#~5z=b~yE zB7H1J*)Bn0RVD7zAU3HG8j$b}qxA`!1-iO*T@RmF4^kr-sy~DW&Z-0Rw#bvRX<8)q zsS${jK|{Ut!YVZY(0>OEF9SC3-wf_2q?cfY928ew%^~pUirOenHeWgf7=($FtEb&( z)^uZ4+4@48hZB}6k>?$5`hV7J`c`3@>e!e(rz{@sJGoR~7nD54pq;lqEq=UGr?nYK zwY(2{>oBNVn0`8$eRRBYdKs3vy%Ih-6UtDLYBZRiJMTZZy83zA?~=hmAJR%ts1^0r zf8bF@lyOC)5rnw>ZU3Iq@0@s1DZM!*!UpPFm@WO6nlecq5wtjP38Ie$Y+XGs?L8Od z_z`Pw+U7n1PuV4r0IeA2OzV!=<}V?O+I(&}PbaVEKkex=h=#tS`CyUW!hIL@AvB_q zi7X`NNf0`-DAyQSlXzAqjgggBkuE`3O=K?*X4uE1CzWGdl!c2|Z0oM@+azGV*Bt8@ z#$2fAU`@{lSFyXuZhk4n`>Oke;q__Vx|6@^Y@lHIOARagrp%JI{Z0aE0T-k!oN77( zB~gq03j5=8rrip+dzI8}0b z^gze>W`B~5Jp=xjIMjlyj`EN#N&vVH�aVs^TR!YH&ga^a!KaC3b9JYzK5f&hJSp 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 WVSqO)Fb9Ehl^{bRFnj##2Jrx%8Yt2L literal 0 HcmV?d00001 diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_tweets/param/ListTweetsParamConfig.scala b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_tweets/param/ListTweetsParamConfig.scala deleted file mode 100644 index 01575db92..000000000 --- a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/list_tweets/param/ListTweetsParamConfig.scala +++ /dev/null @@ -1,23 +0,0 @@ -package com.twitter.home_mixer.product.list_tweets.param - -import com.twitter.home_mixer.param.decider.DeciderKey -import com.twitter.home_mixer.product.list_tweets.param.ListTweetsParam.EnableAdsCandidatePipelineParam -import com.twitter.home_mixer.product.list_tweets.param.ListTweetsParam.ServerMaxResultsParam -import com.twitter.home_mixer.product.list_tweets.param.ListTweetsParam.SupportedClientFSName -import com.twitter.product_mixer.core.product.ProductParamConfig -import com.twitter.servo.decider.DeciderKeyName -import javax.inject.Inject -import javax.inject.Singleton - -@Singleton -class ListTweetsParamConfig @Inject() () extends ProductParamConfig { - override val enabledDeciderKey: DeciderKeyName = DeciderKey.EnableListTweetsProduct - override val supportedClientFSName: String = SupportedClientFSName - - override val booleanFSOverrides = - Seq(EnableAdsCandidatePipelineParam) - - override val boundedIntFSOverrides = Seq( - ServerMaxResultsParam - ) -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/BUILD.bazel b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/BUILD.bazel deleted file mode 100644 index 4bbbec94d..000000000 --- a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/BUILD.bazel +++ /dev/null @@ -1,40 +0,0 @@ -scala_library( - sources = ["*.scala"], - compiler_option_sets = ["fatal_warnings"], - strict_deps = True, - tags = ["bazel-compatible"], - dependencies = [ - "explore/explore-ranker/thrift/src/main/thrift:thrift-scala", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/functional_component/feature_hydrator", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/functional_component/filter", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/functional_component/side_effect", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/model", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/model/request", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/param", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/candidate_pipeline", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/offline_aggregates", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/real_time_aggregates", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/filter", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/marshaller", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/model", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/param", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/scoring_pipeline", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/selector", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/side_effect", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/service", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/util", - "home-mixer/thrift/src/main/thrift:thrift-scala", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/feature_hydrator/query/async", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/feature_hydrator/query/impressed_tweets", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/feature_hydrator/query/param_gated", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/feature_hydrator/query/social_graph", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/filter", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/side_effect", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/pipeline/product", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/pipeline/recommendation", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/product", - ], -) diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/BUILD.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/BUILD.docx new file mode 100644 index 0000000000000000000000000000000000000000..c7a50c98d1e8d2e0cc4f0a7295907ec03beefdfd GIT binary patch literal 37117 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 literal 0 HcmV?d00001 diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/candidate_pipeline/ScoredTweetsFrsCandidatePipelineConfig.scala b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/candidate_pipeline/ScoredTweetsFrsCandidatePipelineConfig.scala deleted file mode 100644 index f25a839b7..000000000 --- a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/candidate_pipeline/ScoredTweetsFrsCandidatePipelineConfig.scala +++ /dev/null @@ -1,72 +0,0 @@ -package com.twitter.home_mixer.product.scored_tweets.candidate_pipeline - -import com.twitter.home_mixer.product.scored_tweets.feature_hydrator.FrsSeedUsersQueryFeatureHydrator -import com.twitter.home_mixer.product.scored_tweets.gate.MinCachedTweetsGate -import com.twitter.home_mixer.product.scored_tweets.model.ScoredTweetsQuery -import com.twitter.home_mixer.product.scored_tweets.param.ScoredTweetsParam.CachedScoredTweets -import com.twitter.home_mixer.product.scored_tweets.param.ScoredTweetsParam.CandidatePipeline -import com.twitter.home_mixer.product.scored_tweets.query_transformer.TimelineRankerFrsQueryTransformer -import com.twitter.home_mixer.product.scored_tweets.response_transformer.ScoredTweetsFrsResponseFeatureTransformer -import com.twitter.product_mixer.component_library.candidate_source.timeline_ranker.TimelineRankerRecapCandidateSource -import com.twitter.product_mixer.component_library.model.candidate.TweetCandidate -import com.twitter.product_mixer.core.functional_component.candidate_source.BaseCandidateSource -import com.twitter.product_mixer.core.functional_component.feature_hydrator.BaseQueryFeatureHydrator -import com.twitter.product_mixer.core.functional_component.gate.Gate -import com.twitter.product_mixer.core.functional_component.transformer.CandidateFeatureTransformer -import com.twitter.product_mixer.core.functional_component.transformer.CandidatePipelineQueryTransformer -import com.twitter.product_mixer.core.functional_component.transformer.CandidatePipelineResultsTransformer -import com.twitter.product_mixer.core.model.common.identifier.CandidatePipelineIdentifier -import com.twitter.product_mixer.core.pipeline.candidate.CandidatePipelineConfig -import com.twitter.timelineranker.{thriftscala => tlr} -import com.twitter.timelines.configapi.decider.DeciderParam -import javax.inject.Inject -import javax.inject.Singleton - -/** - * Candidate Pipeline Config that takes user recommendations from Follow Recommendation Service (FRS) - * and makes a TimelineRanker->Earlybird query for tweet candidates from those users. - * Additionally, the candidate pipeline hydrates followedByUserIds so that followed-by social proof - * can be used. - */ -@Singleton -class ScoredTweetsFrsCandidatePipelineConfig @Inject() ( - timelineRankerRecapCandidateSource: TimelineRankerRecapCandidateSource, - frsSeedUsersQueryFeatureHydrator: FrsSeedUsersQueryFeatureHydrator) - extends CandidatePipelineConfig[ - ScoredTweetsQuery, - tlr.RecapQuery, - tlr.CandidateTweet, - TweetCandidate - ] { - - override val identifier: CandidatePipelineIdentifier = - CandidatePipelineIdentifier("ScoredTweetsFrs") - - override val enabledDeciderParam: Option[DeciderParam[Boolean]] = - Some(CandidatePipeline.EnableFrsParam) - - override val gates: Seq[Gate[ScoredTweetsQuery]] = Seq( - MinCachedTweetsGate(identifier, CachedScoredTweets.MinCachedTweetsParam) - ) - - override val queryFeatureHydration: Seq[ - BaseQueryFeatureHydrator[ScoredTweetsQuery, _] - ] = Seq(frsSeedUsersQueryFeatureHydrator) - - override val candidateSource: BaseCandidateSource[tlr.RecapQuery, tlr.CandidateTweet] = - timelineRankerRecapCandidateSource - - override val queryTransformer: CandidatePipelineQueryTransformer[ - ScoredTweetsQuery, - tlr.RecapQuery - ] = TimelineRankerFrsQueryTransformer(identifier) - - override val featuresFromCandidateSourceTransformers: Seq[ - CandidateFeatureTransformer[tlr.CandidateTweet] - ] = Seq(ScoredTweetsFrsResponseFeatureTransformer) - - override val resultTransformer: CandidatePipelineResultsTransformer[ - tlr.CandidateTweet, - TweetCandidate - ] = { candidate => TweetCandidate(candidate.tweet.get.id) } -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/candidate_pipeline/ScoredTweetsInNetworkCandidatePipelineConfig.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/candidate_pipeline/ScoredTweetsInNetworkCandidatePipelineConfig.docx new file mode 100644 index 0000000000000000000000000000000000000000..4bfd7fe316aeaf79372608c6c9f36cd97a789f1e GIT binary patch literal 37644 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 literal 0 HcmV?d00001 diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/candidate_pipeline/ScoredTweetsInNetworkCandidatePipelineConfig.scala b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/candidate_pipeline/ScoredTweetsInNetworkCandidatePipelineConfig.scala deleted file mode 100644 index 63bd1add8..000000000 --- a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/candidate_pipeline/ScoredTweetsInNetworkCandidatePipelineConfig.scala +++ /dev/null @@ -1,82 +0,0 @@ -package com.twitter.home_mixer.product.scored_tweets.candidate_pipeline - -import com.twitter.home_mixer.product.scored_tweets.feature_hydrator.IsExtendedReplyFeatureHydrator -import com.twitter.home_mixer.product.scored_tweets.feature_hydrator.ReplyFeatureHydrator -import com.twitter.home_mixer.product.scored_tweets.feature_hydrator.RetweetSourceTweetFeatureHydrator -import com.twitter.home_mixer.product.scored_tweets.filter.RetweetSourceTweetRemovingFilter -import com.twitter.home_mixer.product.scored_tweets.gate.MinCachedTweetsGate -import com.twitter.home_mixer.product.scored_tweets.model.ScoredTweetsQuery -import com.twitter.home_mixer.product.scored_tweets.param.ScoredTweetsParam.CachedScoredTweets -import com.twitter.home_mixer.product.scored_tweets.param.ScoredTweetsParam.CandidatePipeline -import com.twitter.home_mixer.product.scored_tweets.query_transformer.TimelineRankerInNetworkQueryTransformer -import com.twitter.home_mixer.product.scored_tweets.response_transformer.ScoredTweetsInNetworkResponseFeatureTransformer -import com.twitter.product_mixer.component_library.candidate_source.timeline_ranker.TimelineRankerInNetworkCandidateSource -import com.twitter.product_mixer.component_library.model.candidate.TweetCandidate -import com.twitter.product_mixer.core.functional_component.candidate_source.BaseCandidateSource -import com.twitter.product_mixer.core.functional_component.feature_hydrator.BaseCandidateFeatureHydrator -import com.twitter.product_mixer.core.functional_component.filter.Filter -import com.twitter.product_mixer.core.functional_component.gate.Gate -import com.twitter.product_mixer.core.functional_component.transformer.CandidateFeatureTransformer -import com.twitter.product_mixer.core.functional_component.transformer.CandidatePipelineQueryTransformer -import com.twitter.product_mixer.core.functional_component.transformer.CandidatePipelineResultsTransformer -import com.twitter.product_mixer.core.model.common.identifier.CandidatePipelineIdentifier -import com.twitter.product_mixer.core.pipeline.PipelineQuery -import com.twitter.product_mixer.core.pipeline.candidate.CandidatePipelineConfig -import com.twitter.timelineranker.{thriftscala => t} -import com.twitter.timelines.configapi.decider.DeciderParam -import javax.inject.Inject -import javax.inject.Singleton - -/** - * Candidate Pipeline Config to fetch in-network tweets from Timeline Ranker's Recycled source - */ -@Singleton -class ScoredTweetsInNetworkCandidatePipelineConfig @Inject() ( - timelineRankerInNetworkCandidateSource: TimelineRankerInNetworkCandidateSource, - replyFeatureHydrator: ReplyFeatureHydrator) - extends CandidatePipelineConfig[ - ScoredTweetsQuery, - t.RecapQuery, - t.CandidateTweet, - TweetCandidate - ] { - - override val identifier: CandidatePipelineIdentifier = - CandidatePipelineIdentifier("ScoredTweetsInNetwork") - - override val enabledDeciderParam: Option[DeciderParam[Boolean]] = - Some(CandidatePipeline.EnableInNetworkParam) - - override val gates: Seq[Gate[ScoredTweetsQuery]] = Seq( - MinCachedTweetsGate(identifier, CachedScoredTweets.MinCachedTweetsParam) - ) - - override val candidateSource: BaseCandidateSource[t.RecapQuery, t.CandidateTweet] = - timelineRankerInNetworkCandidateSource - - override val queryTransformer: CandidatePipelineQueryTransformer[ - ScoredTweetsQuery, - t.RecapQuery - ] = TimelineRankerInNetworkQueryTransformer(identifier) - - override val preFilterFeatureHydrationPhase1: Seq[ - BaseCandidateFeatureHydrator[PipelineQuery, TweetCandidate, _] - ] = Seq(RetweetSourceTweetFeatureHydrator) - - override def filters: Seq[Filter[ScoredTweetsQuery, TweetCandidate]] = Seq( - RetweetSourceTweetRemovingFilter - ) - - override val postFilterFeatureHydration: Seq[ - BaseCandidateFeatureHydrator[PipelineQuery, TweetCandidate, _] - ] = Seq(IsExtendedReplyFeatureHydrator, replyFeatureHydrator) - - override val featuresFromCandidateSourceTransformers: Seq[ - CandidateFeatureTransformer[t.CandidateTweet] - ] = Seq(ScoredTweetsInNetworkResponseFeatureTransformer) - - override val resultTransformer: CandidatePipelineResultsTransformer[ - t.CandidateTweet, - TweetCandidate - ] = { sourceResult => TweetCandidate(id = sourceResult.tweet.get.id) } -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/candidate_pipeline/ScoredTweetsListsCandidatePipelineConfig.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/candidate_pipeline/ScoredTweetsListsCandidatePipelineConfig.docx new file mode 100644 index 0000000000000000000000000000000000000000..ddcdc6824521afc7c23059201569f7552b2c618e GIT binary patch literal 37757 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 t} -import javax.inject.Inject -import javax.inject.Singleton - -@Singleton -class ScoredTweetsListsCandidatePipelineConfig @Inject() ( - listsCandidateSource: ListsCandidateSource, - tweetypieStaticEntitiesHydrator: TweetypieStaticEntitiesFeatureHydrator) - extends CandidatePipelineConfig[ - ScoredTweetsQuery, - Seq[t.TimelineQuery], - t.Tweet, - TweetCandidate - ] { - - override val identifier: CandidatePipelineIdentifier = - CandidatePipelineIdentifier("ScoredTweetsLists") - - private val MaxTweetsToFetchPerList = 20 - - override val enabledDeciderParam: Option[DeciderParam[Boolean]] = - Some(CandidatePipeline.EnableListsParam) - - override val gates: Seq[Gate[ScoredTweetsQuery]] = Seq( - NonEmptySeqFeatureGate(ListIdsFeature), - MinCachedTweetsGate(identifier, CachedScoredTweets.MinCachedTweetsParam) - ) - - override val queryTransformer: CandidatePipelineQueryTransformer[ - ScoredTweetsQuery, - Seq[t.TimelineQuery] - ] = { query => - val listIds = query.features.map(_.get(ListIdsFeature)).get - listIds.map { listId => - t.TimelineQuery( - timelineType = t.TimelineType.List, - timelineId = listId, - maxCount = MaxTweetsToFetchPerList.toShort, - options = Some(t.TimelineQueryOptions(query.clientContext.userId)), - timelineId2 = Some(t.TimelineId(t.TimelineType.List, listId, None)) - ) - } - } - - override def candidateSource: CandidateSource[Seq[t.TimelineQuery], t.Tweet] = - listsCandidateSource - - override val featuresFromCandidateSourceTransformers: Seq[ - CandidateFeatureTransformer[t.Tweet] - ] = Seq(ScoredTweetsListsResponseFeatureTransformer) - - override val resultTransformer: CandidatePipelineResultsTransformer[t.Tweet, TweetCandidate] = { - sourceResult => TweetCandidate(id = sourceResult.statusId) - } - - override val preFilterFeatureHydrationPhase1: Seq[ - BaseCandidateFeatureHydrator[ScoredTweetsQuery, TweetCandidate, _] - ] = Seq(tweetypieStaticEntitiesHydrator) - - override val filters: Seq[Filter[ScoredTweetsQuery, TweetCandidate]] = - Seq(ReplyFilter, RetweetFilter) -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/candidate_pipeline/ScoredTweetsPopularVideosCandidatePipelineConfig.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/candidate_pipeline/ScoredTweetsPopularVideosCandidatePipelineConfig.docx new file mode 100644 index 0000000000000000000000000000000000000000..ab93cb904541d34fd96d2e61be742e7402c8ec7f GIT binary patch literal 37732 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 literal 0 HcmV?d00001 diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/candidate_pipeline/ScoredTweetsPopularVideosCandidatePipelineConfig.scala b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/candidate_pipeline/ScoredTweetsPopularVideosCandidatePipelineConfig.scala deleted file mode 100644 index c8b28b0ff..000000000 --- a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/candidate_pipeline/ScoredTweetsPopularVideosCandidatePipelineConfig.scala +++ /dev/null @@ -1,82 +0,0 @@ -package com.twitter.home_mixer.product.scored_tweets.candidate_pipeline - -import com.twitter.explore_ranker.{thriftscala => ert} -import com.twitter.home_mixer.product.scored_tweets.feature_hydrator.TweetypieStaticEntitiesFeatureHydrator -import com.twitter.home_mixer.product.scored_tweets.gate.MinCachedTweetsGate -import com.twitter.home_mixer.product.scored_tweets.model.ScoredTweetsQuery -import com.twitter.home_mixer.product.scored_tweets.param.ScoredTweetsParam.CachedScoredTweets -import com.twitter.home_mixer.product.scored_tweets.param.ScoredTweetsParam.CandidatePipeline -import com.twitter.home_mixer.product.scored_tweets.response_transformer.ScoredTweetsPopularVideosResponseFeatureTransformer -import com.twitter.home_mixer.util.CachedScoredTweetsHelper -import com.twitter.product_mixer.component_library.candidate_source.explore_ranker.ExploreRankerImmersiveRecsCandidateSource -import com.twitter.product_mixer.component_library.model.candidate.TweetCandidate -import com.twitter.product_mixer.core.functional_component.candidate_source.BaseCandidateSource -import com.twitter.product_mixer.core.functional_component.feature_hydrator.BaseCandidateFeatureHydrator -import com.twitter.product_mixer.core.functional_component.gate.Gate -import com.twitter.product_mixer.core.functional_component.marshaller.request.ClientContextMarshaller -import com.twitter.product_mixer.core.functional_component.transformer.CandidateFeatureTransformer -import com.twitter.product_mixer.core.functional_component.transformer.CandidatePipelineQueryTransformer -import com.twitter.product_mixer.core.functional_component.transformer.CandidatePipelineResultsTransformer -import com.twitter.product_mixer.core.model.common.identifier.CandidatePipelineIdentifier -import com.twitter.product_mixer.core.pipeline.candidate.CandidatePipelineConfig -import com.twitter.timelines.configapi.decider.DeciderParam -import javax.inject.Inject -import javax.inject.Singleton - -@Singleton -class ScoredTweetsPopularVideosCandidatePipelineConfig @Inject() ( - exploreRankerCandidateSource: ExploreRankerImmersiveRecsCandidateSource, - tweetypieStaticEntitiesFeatureHydrator: TweetypieStaticEntitiesFeatureHydrator) - extends CandidatePipelineConfig[ - ScoredTweetsQuery, - ert.ExploreRankerRequest, - ert.ExploreTweetRecommendation, - TweetCandidate - ] { - - override val identifier: CandidatePipelineIdentifier = - CandidatePipelineIdentifier("ScoredTweetsPopularVideos") - - private val MaxTweetsToFetch = 40 - - override val enabledDeciderParam: Option[DeciderParam[Boolean]] = - Some(CandidatePipeline.EnablePopularVideosParam) - - override val gates: Seq[Gate[ScoredTweetsQuery]] = Seq( - MinCachedTweetsGate(identifier, CachedScoredTweets.MinCachedTweetsParam) - ) - - override val queryTransformer: CandidatePipelineQueryTransformer[ - ScoredTweetsQuery, - ert.ExploreRankerRequest - ] = { query => - val excludedTweetIds = query.features.map( - CachedScoredTweetsHelper.tweetImpressionsAndCachedScoredTweets(_, identifier)) - - ert.ExploreRankerRequest( - clientContext = ClientContextMarshaller(query.clientContext), - product = ert.Product.HomeTimelineVideoInline, - productContext = Some( - ert.ProductContext.HomeTimelineVideoInline(ert.HomeTimelineVideoInline(excludedTweetIds))), - maxResults = Some(MaxTweetsToFetch) - ) - } - - override def candidateSource: BaseCandidateSource[ - ert.ExploreRankerRequest, - ert.ExploreTweetRecommendation - ] = exploreRankerCandidateSource - - override val featuresFromCandidateSourceTransformers: Seq[ - CandidateFeatureTransformer[ert.ExploreTweetRecommendation] - ] = Seq(ScoredTweetsPopularVideosResponseFeatureTransformer) - - override val resultTransformer: CandidatePipelineResultsTransformer[ - ert.ExploreTweetRecommendation, - TweetCandidate - ] = { sourceResult => TweetCandidate(id = sourceResult.tweetId) } - - override val preFilterFeatureHydrationPhase1: Seq[ - BaseCandidateFeatureHydrator[ScoredTweetsQuery, TweetCandidate, _] - ] = Seq(tweetypieStaticEntitiesFeatureHydrator) -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/candidate_pipeline/ScoredTweetsTweetMixerCandidatePipelineConfig.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/candidate_pipeline/ScoredTweetsTweetMixerCandidatePipelineConfig.docx new file mode 100644 index 0000000000000000000000000000000000000000..8412589ba691a3d1014b7c21e6222ed4fcf40761 GIT binary patch literal 37951 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 E2Pg;jC;$Ke literal 0 HcmV?d00001 diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/candidate_pipeline/ScoredTweetsTweetMixerCandidatePipelineConfig.scala b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/candidate_pipeline/ScoredTweetsTweetMixerCandidatePipelineConfig.scala deleted file mode 100644 index df16e3f11..000000000 --- a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/candidate_pipeline/ScoredTweetsTweetMixerCandidatePipelineConfig.scala +++ /dev/null @@ -1,100 +0,0 @@ -package com.twitter.home_mixer.product.scored_tweets.candidate_pipeline - -import com.twitter.tweet_mixer.{thriftscala => t} -import com.twitter.home_mixer.model.HomeFeatures.AuthorIdFeature -import com.twitter.home_mixer.product.scored_tweets.feature_hydrator.TweetypieStaticEntitiesFeatureHydrator -import com.twitter.home_mixer.product.scored_tweets.gate.MinCachedTweetsGate -import com.twitter.home_mixer.product.scored_tweets.model.ScoredTweetsQuery -import com.twitter.home_mixer.product.scored_tweets.param.ScoredTweetsParam.CachedScoredTweets -import com.twitter.home_mixer.product.scored_tweets.param.ScoredTweetsParam.CandidatePipeline -import com.twitter.home_mixer.product.scored_tweets.response_transformer.ScoredTweetsTweetMixerResponseFeatureTransformer -import com.twitter.home_mixer.util.CachedScoredTweetsHelper -import com.twitter.product_mixer.component_library.candidate_source.tweet_mixer.TweetMixerCandidateSource -import com.twitter.product_mixer.component_library.filter.PredicateFeatureFilter -import com.twitter.product_mixer.component_library.model.candidate.TweetCandidate -import com.twitter.product_mixer.core.functional_component.candidate_source.BaseCandidateSource -import com.twitter.product_mixer.core.functional_component.feature_hydrator.BaseCandidateFeatureHydrator -import com.twitter.product_mixer.core.functional_component.filter.Filter -import com.twitter.product_mixer.core.functional_component.gate.Gate -import com.twitter.product_mixer.core.functional_component.marshaller.request.ClientContextMarshaller -import com.twitter.product_mixer.core.functional_component.transformer.CandidateFeatureTransformer -import com.twitter.product_mixer.core.functional_component.transformer.CandidatePipelineQueryTransformer -import com.twitter.product_mixer.core.functional_component.transformer.CandidatePipelineResultsTransformer -import com.twitter.product_mixer.core.model.common.identifier.CandidatePipelineIdentifier -import com.twitter.product_mixer.core.model.common.identifier.FilterIdentifier -import com.twitter.product_mixer.core.pipeline.candidate.CandidatePipelineConfig -import com.twitter.timelines.configapi.decider.DeciderParam - -import javax.inject.Inject -import javax.inject.Singleton - -/** - * Candidate Pipeline Config that fetches tweets from TweetMixer. - */ -@Singleton -class ScoredTweetsTweetMixerCandidatePipelineConfig @Inject() ( - tweetMixerCandidateSource: TweetMixerCandidateSource, - tweetypieStaticEntitiesFeatureHydrator: TweetypieStaticEntitiesFeatureHydrator) - extends CandidatePipelineConfig[ - ScoredTweetsQuery, - t.TweetMixerRequest, - t.TweetResult, - TweetCandidate - ] { - - override val identifier: CandidatePipelineIdentifier = - CandidatePipelineIdentifier("ScoredTweetsTweetMixer") - - val HasAuthorFilterId = "HasAuthor" - - override val enabledDeciderParam: Option[DeciderParam[Boolean]] = - Some(CandidatePipeline.EnableTweetMixerParam) - - override val gates: Seq[Gate[ScoredTweetsQuery]] = Seq( - MinCachedTweetsGate(identifier, CachedScoredTweets.MinCachedTweetsParam), - ) - - override val candidateSource: BaseCandidateSource[t.TweetMixerRequest, t.TweetResult] = - tweetMixerCandidateSource - - private val MaxTweetsToFetch = 400 - - override val queryTransformer: CandidatePipelineQueryTransformer[ - ScoredTweetsQuery, - t.TweetMixerRequest - ] = { query => - val maxCount = (query.getQualityFactorCurrentValue(identifier) * MaxTweetsToFetch).toInt - - val excludedTweetIds = query.features.map( - CachedScoredTweetsHelper.tweetImpressionsAndCachedScoredTweets(_, identifier)) - - t.TweetMixerRequest( - clientContext = ClientContextMarshaller(query.clientContext), - product = t.Product.HomeRecommendedTweets, - productContext = Some( - t.ProductContext.HomeRecommendedTweetsProductContext( - t.HomeRecommendedTweetsProductContext(excludedTweetIds = excludedTweetIds.map(_.toSet)))), - maxResults = Some(maxCount) - ) - } - - override val preFilterFeatureHydrationPhase1: Seq[ - BaseCandidateFeatureHydrator[ScoredTweetsQuery, TweetCandidate, _] - ] = Seq(tweetypieStaticEntitiesFeatureHydrator) - - override val featuresFromCandidateSourceTransformers: Seq[ - CandidateFeatureTransformer[t.TweetResult] - ] = Seq(ScoredTweetsTweetMixerResponseFeatureTransformer) - - override val filters: Seq[Filter[ScoredTweetsQuery, TweetCandidate]] = Seq( - PredicateFeatureFilter.fromPredicate( - FilterIdentifier(HasAuthorFilterId), - shouldKeepCandidate = _.getOrElse(AuthorIdFeature, None).isDefined - ) - ) - - override val resultTransformer: CandidatePipelineResultsTransformer[ - t.TweetResult, - TweetCandidate - ] = { sourceResult => TweetCandidate(id = sourceResult.tweetId) } -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/candidate_pipeline/ScoredTweetsUtegCandidatePipelineConfig.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/candidate_pipeline/ScoredTweetsUtegCandidatePipelineConfig.docx new file mode 100644 index 0000000000000000000000000000000000000000..a0581e18946725136b7f8d46a41ab5cb923f442e GIT binary patch literal 37456 zcmagEWmp}_wm*!!dvJGmcL)S`cMH0a;IQ%F?he7-Ex0>`;BG+z!QKBmGjq1`G@n)T$=|aQI~5@X1Ks z)6v4kfZ4;|t|?hTX;l>M^Vth_3X3qQw*)G7`Hmy4BV#!yS4rNMi?Py;(5A($=VNKF*H@NniwQQA#kcfW6)tW1v5PP9Tbl0sz)O< zy9^)q#+2P&Cj8vVA0+&xa$c60sWr20GZDT9@TP?upKC~eHf~H9aH(^fWN2`<(r~I@ z?JYv_7(xV~eg9$K!|Xn;#c>2vUlw((rn`Y*6Y}E(U>i(bJ9`M3qxI$>kaxVQ$?&m5 zS0_f@*ZL?(2H)#W0wwFXCyb7%3M>uTT^GkL}oI=z=|Z|9uwe_yK-CO<&3q4}Q)ON~&KI5cZW7A_k~9x4@p&6C{RQ#sPDKfHA#gTHZTYE=o(IE#Hz(5jp*%VP)dW#649>_KhbKr z`ZCP|U;xtc&0G;BRc$})+#~Kqnm@@H`->jMIijnjE1I+6@)n}VI$>T*$R13`l*hGY z;e35;SN^D1alw2TB%!2c=s|f6GueSLz-!egSTfVP`+lE^l44TJYs%7fBS^*1ahmuS zYhCJ@Zd2@%FWl&i9{1Tl6BPCtQOz23o6mp}gbqrOIlxTW8Q|!`Vg_)w_*!AZ%|gC9kFkiiOAYP;p+Qm`A(;hx;wEwtCoV{jwh6d1m86kg|P zYJoHhNeCecjXw)8k3iJHeqA-iS$oQnqUWnh4(>bad7QnZw&FJ%>xopsM?$F0ft1Z; zGmu{hs#=_XD6WRCu>4t5G=cUj1v2R#7TwQ)0OIgOii8IAvX)|E zuq^b_eDLs;0TcNtL#WxM3iu%BZ96D8{AyjLox=@1HvH9QbwZ$+HAI6G}lyFnUMAhm=dp`^UapE)V5 z6b;OWThnvf01On>4bRQ(tTDMz`HOrqZ{?`Pd}$u%rAajbX07L=47&?ig~Dei-CbW; zvt=g9VwH$xLCJoV`Oeri`Q@;|@9q8TyCp(~d!7p@ydx_VL%LaaiPz`8OM-va<$84$ z_ZUU_OvKw3EQanQ3HGY;me4!(>g*^O~mm2>f`~r3sgCD z8Mfvix`C6?^jOtA3={mPbS>rTF>mq)(}@dWSVtEnhUrf$D54vU-o@>Tjy~U>Ekvb$ zxz*hdoF^+cEp4Q!uqs7VK)%#`tne(I7UFupdvm0dl8lTZ4Po-a0X6PfVNJUnCXK5= zO2B5^c|P$G$_CN<(@nkkPxL%1dp%siSqjl(Vn)ZyS)}^`gdezOg zt6;bhjmHh7YV~DWVVBV-aoyTt!+CsMkS`LnQKR1}l5I=?z1Qfu+5u}$ajmxvWdd<1 za6m_XV}Pq)JiJJWRhN+3;1QQUp7yhAF_T2C375a3 zQ~FNL2uszC*H(PkVXh<-sve@DOd)zQB_UuiqdV0)IFMM>HBi)x#?Ix!M|Y#z4gt1- z?*V9_lWc|Xl;6AQ?vUJl#D76!zOZLI*m`gkLOgPZ;RUufz!RsQz}vlyMvW5(wAyW^ zCJRq$ZBhz^X5ngh+bPAT4y?+G6e+#$?8sz!W+6U@&wRKdc$>fZMe@%ZLoT3yRv#J+ zOpWr-AFMmT*_;LRt97*pEl$7hj7i;1rCnY$V0U-lQ9t&#gvK7%HbM)np1?Q@0^W|SSyW!q8M*!56_bxg2cS{w|MVMm5NLQc`95>G^LU- zw>gNpD;Bj%R-ZHqIroKQph_l>Fg4}@q1{ACf<|$M@@>+j0Sth+ILo36*PXU%aszy` zy@4p1e91f_a#JlRaEdu1xS#C;OBTt6)$n2Pv%S@4JK=yk4wlrYF_r$evbGrlH2|`pbj~8Bi z6r6^kV$p_S$In@?=KOn<1#5jSRMB9yTjk>k=m3&rnC$iZxO7BjMz^@RI~l$SBz(j<*6FZY#*h7W+JDCgCJHyTV)Vx>PPhT>^{VsS4hwtG_ z$i>hCk+m))=y)akBu7G>wzeBb-m`TGKAZ8Ogu!$re3_yH0;2nUV?kKl+}R;`(H0t1 zAH`K&adt2jr)d^`?@B~!S%SNmlL#wK$n=h+%!}|f8JIhe9T?S%@tSNe7}PwtaPA~n zcW(Wo(M~U7f0H;_={PXaID8k^k=ah}gI3+k71_kvr74}^gOfk%5Riz8O^f<-Un>KS zo@8p;rkZD!^+$UjF8q4t%7k*L81+X8hj=~6TXup^AL>qJb%lQ+*?wLtq>qboS`S~U z8n`S&3rISY6(`C@UyD!K)`FYvEU>Vug!lNm>~bHo#~a#AuAIOx7K@oEw_TbTlx2Pc z$MBVSqgbr5w|(HF5KGLC!{|HR)msnTF_TaFDp0xznsB0>G8IjElg*W3X1zrFkeWEP zi=sIPz7>!>@;wM-77&YdTi}RteVj-gI%~cQ2BQ#Fa51bluf#{)aj!Mz^Ko%2*gL^| z!c@lOKeGyzGVvHyUWiV2--liZAi(}?^G%}agtqpRY}z^=t6HzBqNk`R$9D)1YCdv{0mjwe}~yb=q4dbv0l{94F$HCmxjg;+tRJK4|ka1zVDLDC0q=Dk8&%{Q!^ zl_L80A9uR$ip)b+*s$IvPs{wS8&x~``ZaBrA5(Hvl(gJ}au%_&N=z_(>8S{P;4BMN zs&^E;9%yyMCRJrK@;wXKi5uw=PamA&i`K9neDz`(P96}Eh`XW&VYewOxyY5fU4e8hi?6Yg7l10=o zod*3(l2J;XIzf$!MT*<1T>Ez+^X4j^T%*0_KP!dMF+Vid@R{wi`1sjC%IPs@5|LBO z+3aO_HQo6quR}x~2o^LN=BQ>QcN&uWe*=Sz>?hP)b`-xid8O9<5N{_&23?|_bchIV zR%H5W(V$w9P0aJUCRBx#$y{h%$z>D0zH4HJNWHwU-YMN_^2V4QTxIl4;G^b|fPgm_ zM?K=1->?4mOqBcZXksRekDC>KO?}!+^94%&$Arm<*;>kQ3~@gNX7!%3)tlJrvnqh?ITWOzC)Jx6&2~4m7x=;QKmXTM?BGv; z!46uZ$3bf}A!v>MV=Df0hxzvj`On>El9*BuE8gd`SA@QhM66;&xIar@@d*w0Shsx52?;4w6Q2;_}|K*gF3QMSMkv_efi?rD(G z5VNf!h3BvBjcTACfwC#zL9`9KI=b*sS}oyoJ&!Jg zj^s>2nn`GG&L^*S@{7sp*2~UH+bxmx442+5#Rkp5K6I$MrFmlm3N9++owI{)H}~d* zelM_w2$qfWgc8Mj0nZBh(HKThns-@{{T%nk)?>St3ua)F?%fip66{5_S!&ymmn9sL zV!TxK8EV0{A@3$_d2Oy|k_NmK;Xir9LWt}NN0kun@DXX-s*G#BKNjjcPs0cxrLo6x zSt-@rH(rzDUAdmAf#Q1z`p)vtWiPq{M<9{~49rji8VvPcxpw*FX=mZ`d(i_uNhR(` z*ZX#Ne%3^qLF0G8lJXyVWjn6X{N~HFyQqe_U++m@hql9q~&t5XzJef`08;>#mo5dWuxbs9Z!h}No8+Or_yJ>u&DaCYwHGG z@2C0IaWD4>kvB(eKtK9j`|j2LjmNu_ijj{-ccCSV{lF$+;(jaOa?Y@~j)U8x$!A5A zywu5~T9H$c>{lFNdFS^R%G<-CLH9;1t4|0-{2eKZTsxS>9PCxu1&)O-Unn@kL6&q&fJrj%%}6@n@f)jBA)T< zNT4&5*9)H)#Z_X(E}g4qm*>iwh@^O|UkJ-<*IHM5OXYa-Ae*0k`1p&_|4bw3@B8c>#+ESInb37)w=es$lC=Kztf>|*e(J&ch0)>PKhkfi{x zn?MsGV+XE2ZTADRNd@Y5DJq*PNuLIZX{GRhq;D9VPuMKb)vfD#_{4gU2EkDMAv|za z9r$I7A~~0~RdSC8fmj*T)XN~EQVRh6x6k-8VDs+H;C@1830Bxaan;oV0-wJ4E9J@N zONSt%2uVuKwEN7OZk#H6Uues4;!+jLyu(fZ&)QAjYAiDy8`J01#e+R3mr9(%(#Kfz z^R}l&lPh&Pn}Kwz`=GZDgX)Fpr<2)7$2+H&VcFX&k&`pwEEVY{gZa7h{{5?~pQrsU zS)2?ZZG=Ty(Qp0x9_7SYSF{>Ih|Ayh?y3CFNfwndTT&x!puUCKGDOstOYw@L$Ae1} zn-sEl^}MwATu=~1uDxkn_yj!VmPP@zVp+1SJK|a*LKe08-Ef~yUeABpGh`7DeMk4f zCcB0EF6KjIL@OIrM8TUVd}djpF|sE4tWFmDK}JQU6hk$Mqav7b4~v0Jj%o1&T!P}) z?n=K+LY8~Yv5sM^g~|@L%mQ!~yNleGmooe`-3Z3lr*-R2f$Fn?!sUosHjYi%C2jki zM6^O~$PaL;nFv%+y$6y`WJiew!Hi8hs^W1gpXkWotTwQEjNq<{{jq{Q)kG0iI_O9d z?Kdj33uNF_DHt#U9TQsoNwa>^+eGWFLBU<6FZ>Lz?DW+)a<#F0MP4TyhXpKvCCLP7=R z1)+t2aQ_kdClyo~&6y3E$A1x=sZfAg5dKh+(gAIr|34)D2P)3%vKl8a6*TJa!rTZz zdQ{OsUa=Z~Fp(lM{g*^0QaBn_No_3x%a7m3CxxArbf!yJA|-Feb3 zVog`yvj=cL9Y0-?h4$p04+v5LsWeG(rLD~#U7LPwn0ib0E`*ZWbNf#1%fsV#uZ&Sb z%z7!$XM^icH?D044ujre&;5%NZuuXVJg)Tahh}qYwmoWo&I>CY?Cp)a(RQ$D)9=XGuLih{u^8|6#_1sK3Fc z;6`lT8I+H|Nu;gVHr)|yC(TD0L3R=aS+q_#># zIrcS5Ybg<@-KL&mvhB5ZJ$^{#mR`NzIeBg4=)_~Cdmtv|E-&f(B{gsNCwH}vQz)Z2 zVaMf-9*|JO^cpzZWkw5`fiJHE=fz3~6G345+;6B=~cGXe$Q+?{}5G=gbZ z+^yRSjPctopJ(uFKfe+OO|0(0DZb|bDyPj*r!tg9k73U1FweCN-cTaWCNhF6nVMHU zW-%;V8SLpxP-Kn6Q}?$GyHs~Dv>|CZqwA0Ee@%$~`Jp+#+T68287q5Wn?F40CuNL( z;+jlmv#{Cm5l7~g-|BfD`eKlD8Zqb5XIQ>R59J{_#$lAHO=-BTd?)`c9_B@WzI?Y+ z`!)}S?{hKbBIlWuSv77nTj$3$WESV>b8;)Rm;KH|tfQTM2@)Qa_XT{P5fxgQIeS0l z%kt=dtc*pZbF2mrazRG(u^ziAqAO-mXy2B@^!0&fBQoLBEiN2;@CwzzoNOm8!9*YS z{cL*L-+iVw=Ueh4XZKXFXj5)|5KvaWttoK-(R@-d3qSy>lF-jIn%RM7|Lj~y(M+{hU`H# z{)x+YEx4fc)WrowN@1LOJoh#gMJ9^iYlr%2j%u4+5a3(&{L?dLcejs<{{@%svxekD zBk2P&;0e1Hhv6mxruhT19of63ql^H8iWIqwS!S-1XmiDO_x)h;Usp#t9YRxDY_+a} zs_$xvQNUcLkDq_W^+I3h6%7^c3XjA0nU5mt&2;jP}O~rY>pxEG+op9`OY}xKmq2n^4=i3;g zzFO?B2~5Z2FZe53O4-hk zCGojH?8{*TWR)^+JuUjLobUMfi;skL^kM~~rKhzgs$>yw@pIRk*NpjTLy)2cz1b26 zrVX%T9r^=4W203WwL0##{Vn*rXuw)nLPF@5G>#+ym>|<6f^9I4^{&6jW zHTNhMqtNpWlV!+~9U{yj<{uLRc2??6C5pW5)DIWWbJ#{KlAU53D485(iukDd)s&Lg z2;XXPwvrw1Dj9yf&;YTE7Tm8?=#Fx3tGMS!Q97<>m_3WKYcz{U;%i2C;>S$q5>|M# zX={H7goD-&L*|Ghw-y>R8>RVGRq8EB^jeOlsZW}!;mBaiB>W(1>BU_gA-UW_Sx zfNk%}d;X|ud-#qL17BKJPSvfA%zKJadYO!=y7JL@v8kj-Y+bEqW64$l?`FA-=u)8?~@Zc z{38zUQ%T8g8d>PLNz#j*!bN!^GgZGZ%%np}WlPo!3}druBslo=dOoV`-O=MQA^+ev zn*crO+-yG^d|G=~0AY`!`thoHlJjRK_+usQl!f2pcPGf}?Mddwfyd63VZR{X=lnci z;%X8WB%QDYEni)59Tt`A7Yxpa=roH`XyxfD9N}GO8`>WpRql7dGDlU^yA@V5O zv74;sNsh*@G4k0_S0Bt5;y}(hv$WgL?kd!S8*V-EeN4#Zc#2wA#x4xo z(AL|+JB;qcRCKxKcC}k{^Vr08h3ka(p@Wg#O76$-nsti7J%?%JGZe+i=c#AR=P~OE zCka0P!7WhSD|>5WG(%7xh&4lCTOthES;zCsHfCe!bgmxv7nHd>e5b;})x*azZ)Hb_ z8p4!snK3RM{yce;7ZCMuo$(g%o#~K@`kQys@{Xof)wejECiF7so!HY$mS1>o16DH% zT2!{=hdJCJz9#?R_urs~Tuj&LfQ6g}2AK_n{ee$DuROz4S zvRa+F6#&Vp3fq?cdcX(MdQTZVZvfEPiI3H0*pjQ(DVyRj6e zTw~*h(V0mQ(2=7{?TUW0UzuV5Fk>|*2hM_Z9_(d}GSgplB-LpyK)G6$XK1KY%6SyR z6HGo=v9c(2R;*m>Dl}(P9#qO>HE&muBwS#K;F0f7GbiT~M$D{n_0_PRDCR_6nWZLG z6aS`wbpCU$%>ngWy zi}fkcC@-m-p4WP$$ekTHIHHBPT$wJ3^gqA7Qioz(%37I5h(e%;K!{~{S2V|*8$nF{ zo~H$_RL-M9L+I$2q@t84zjr_%nSjWlu4Dl@DYQ{yuP9B_M-WwD6p2Uk@M%tZXSp?c z+`oCCDF4NyxGRebzFl&mj9zQ(ax}!kN?!^`3$m2-{im4vH7noOHYrhqKE0|Vm4jYJ zbtrX4h$B2yEEIL9x%1a2ws+PzJ}WrjqizY!iF6~aU1!nN6jrD)@<#KGa57yp^z*Yz z2S*GL3Ded)F0NSMo}rkP?Vb=laH)_x!hobj~;MdwDCvycQjCMP8_VEVT?1fnJd zsh${Ip^0b*2Xy7sbIl4bxDXm_@Kw71Gn=#{P&sEFLB}IM1EVtA{+HshM)-?V=W+vB zNODq@wux|JVT8MVQah?0na?fGxRT!-s5Zr}Gh5tlKc2fFq`_{jd~HNhE;GVcfCr^uIs8tyK5eJ>SP%zN1emQYPe#BTc;Pc) z-DsPyK!!$_mpBFHO!__-e4r=BF%?IWv6zAJGkHVyNM%i2I^QCz_l`xb4iev2@EAo# z=}pK)f)BEfi$U}|uZNMVB` zh~zl4*fx7Myu7!T`aD z>(a!zvtSaJv(#ptz7?Z|VSNio1mlatqy;w>Wt28Vt4ph{#fzA5BX3|vixbcx_uiNJ zn?{O?3|*Dt#eCV{zL$l5`|b_ZmUr?!F=sm`bmJ!c)3?+p2oiK*tMz639vC+GDP&OD zycsjS=_GQrd1#7T;p}fJ_oaWUR3m8wsqBaStr7~nF3ohf?WYgxzPSXhJwkvCxa$+- zNI>HoWLN-^87Whkw!D@$l9Z)Dybdnh$j$A9oA1eg5LY=n%Akt1R&A=Z<@c(A_m;qt z?!pjn-I=}HfKZ~MoSdF|6=R(qitpdHGO&`?D0##V*pZtWCfj9)*i_HT;YHk*uG>oa zGrREAJw__aO1tPQU8p5u7Mkq_8|AdH7+m!eff?u2GXPmlnQjd5Z?4zxKB0VBeK}n~ z*H`7gDCRg9S9CI}i7=bof;w5DPW^&h%X9;?G{7BhkFoko_d|k?orNK$=}xBh5KWhL z*66q0WIQXTa;hoWtcF$6Al?$-SFQc5c_X{>76uwnVVQLKf!u{QzGy$2+eMjDt$4rr-T;1ml~8k=g3P zcN}}3>Vp!!D81zi>aaR?rq2?!o7pk(n?%1?=);H2^=`(uc9D+U5EVRG{ZKS(w>8FD zmdDYi!<&P{=n19jn3B1@hkfgUC`;RV7S@uIWkW76LYS#fzv@o=`(#hQN=5U**54R{ zCiY1tm>B@d=bSTE->T+@{gqY~(*07KB)=izBZEu$;H|(o{gU+``KncJCcOrHjNs_~ z0by|=?Z{FqQQ5-%=#V!tFtUQHh(5VG^K-~ac^l>UjN7-WQ+*g76c&M0pwHEdQEZrz zID!KVp;X$Yyo~7ejx8p#nRT;P+NOCMGsd8;c!Q9)n)R*CQ!Uhu=Daa{%eo~_N{_ca z24imsRU6PCUAu9c%#e?<7o*=K{5Q4SAJiBiYFN47yYGp%jRoWs<3Fg~%*R300^EO6 zf2YEXMEO6cFS-WcJHm5~HhkLNcN)VVRh9Q*ILziSG6uN+BGV4+Xr^pG7Qu|9@CegF zk*ghW)FwCIcIZ#wHY=H~9T4r@?Zx=L%PxA?;ys7-7x}I02#8z__7CzFHcre)=Kq6y z##naiAtrTm&G|3#K4aMjRjqpjtrium?|q-X!yc-&#j|u88E$q4v(S>{SejKA!`Nk}m zuF6T1yb_VCd;h9dQzxoXea1Jgo5HU`WsVefCBiA|njxbD9!zlo@HgVMbKYcVRL5Xc zm`f9kBF9Zl68KPVkLwJ5q&C#Hz+Dry>>u*%r{Ou)lG9LjR^|HyG#|gKX}mYsaEw?0 z8evSz>b@Y5XTW^1#x_bTyZcO*u>hVy{cTMQcxqc=1_gJ0-R>SE#;LIIJS0)VZ=GSj zhN&S0AC-<1D9)~&?UwN=R2Yd#&WdtYb)=RTZOA2m)P?<+A<7}y6Zn?G z&)DbYb^Ud*@?Rcx?}|qU{|0vDJ!}4l$)B86H(f(tXB$`kWl~P>sIw^iPm`g^zfJNY z{x;cZ|Nm!_SHZS>x_zIs3J5ZZS#15rZ(3oz5+KY%rht>fW57~o=#zxu! zhD#Za`vdw0nuV5Y_b02NzbDc*^lghl&cP&3pWy+IZ!?rH$ve) zaMW%pA0CC{msr&+n5w9~4Y)I@0V!yk;Q`JpgTXR_cm!{#e2g$-(gAjb*M}(2k_mf7 zX4OPF{vUDCV!y@V1)qyw*p7^vZt?x9C1L9)ZUlmpLjS(N)`KoE%|LKQ8Ml|f#=NdA z=%SNRq9H`qSh9{DLoC)yY2hb5mXy?{uR!oC&G~Z(_fRh!mLB&~OhejJ_sl6+GsUHL zQ1VX7LCHITgB=O5YlZq}^6Yc<|4LqMr(IXtx5o)+CVL=ljMZrJ z$~QrL0mgCro(>&GEd)v{2u!MLSc80!5(Nz+S9(I<$G?@8BF%?0+j%V~_&o#%F zOaB2p7SS#4vB`n|s^VT;snZFbts8~4d(fEEkr&-YEIqd;FHf3&zF+*YSUncOHj$ja z+DaGLtJ|)?SX)s5*iJC}h()~~~-0@6rmy5;?@+;eJu>}4r zH7U9+r|qJEmESxJ05OZQmOS$PMeu!|?CArFDML4cv1ce4=%&_EVw~?YU%b?{ArWVs zES@yfqgQeF7kvaOxYIUie*k|W&>Yi+Kcs^>gg>}`gBy5O{)KUacD_`^Y^e)~e`wk~ zQp|oR`+{}edM?$|WV`-pUu#4Dn<{`>W}*gi0>JK=J?AhhAIz`34@zF}13VI=8g z_6dtf{U+*~u5qi%oO&K3@XlQ5mZQ>0XS+7g>9PQ=LQ@wYb}ei75iSIS;9W|d`A~|2D!JKRuws)VZyz=6 zXYRdonK|7EsDXjF7D5TroKSppi@*RW6krJjShm{n&&P5H$yuT{pexfCjm?@#DY<7E zu1b8BNEVC=q+8PVRFPTWfkRg>(BCE?;LxC*CcZ|eG+@zhZVwpKr6mp8^v74%VW>&+5n6tEfO4*i077t z2wxMH*5E3aq0TR<|Kf0cRB@%4ROF!8w8@@yuUQK{+O>i1zLZ$8yOCHa-FijD%3$``e9kKgBfK)%9U3^kVzx3LDRzK%x+6v8qyt#p(zt6|dL;w~m zii{DZUGonl_*A%ZZ*~Tfl*d+JKhxiymgi2&LW_JrS3f`Y>aB^!WOeO*`YrewjrwMd z&jlnn@IQhBbIYJb{uJE%Tk!dB!PNxEu5N4(n#Xos-q0fIBw7sj$t0t86(pnbe*t^+ z)+7hT{tH<7>nHOV+{qy@?C0wnpjvUq2CoSAvpmy%{(-1(r#}L)bf_3aG#gt^VC`lu z^bg?Z0R&)b;!N4rduS14H7M+7yc+kH4sV0=t_LwCXptyx%Vo8q1~yS>5#P?uB)S@& zDNw5#BJhw;*@z_%naWBicPv{jg%yFv={rykuYxQ%9w7H;*IoGA<;iACYp??+gf6a|s!Gr0L z4(-?u3MjvM0N2hfP(|6HMF5`nm!P9C^y&{^a8Gx%{6jh~^3wYZ*$Eh?e;_Zw2xxD; z8xY}x6((V?(jOHI(qD|UpmPdK$ISe!A7~j@#VT4NsbPSCr-WLn_vP-o33YnBgbVJA zIW0iQq-TM$TC9n4Sbu}i`Y3!1QUlu#=m=H`zW4cPW=25+qExwC172)x^zK+f__E8V z1qg2+xCPbAHZ?+prbyZmNxJ6ztH*+cofK~a2B~FTh1CLZMNYaQ?$2o)`zm@-oV1L{ z8dD(;&1)!F{}pVwcUS|H@C=g>SGYH3i?{cJxzA~_o^X603as}6XG+Zx^u~VxS=@2W z!}}UGhNo!4u*XT?g1+ZsCm;cu7e!b;Vap?TtM&YW9cmap#vMIIpi7`}N#WLBQ;~+( zutDtiyMCz{Cocam>=D2Y+RjqGN|;P!xm} ze@-|-@K)=^?I9{5;6r++|8DD;y8rHAKOTZ3p${5l?}c!$)AmN?UkdbsW(J5{ApEyH z5N(G;F|GJUgv2=lgcXiel8jL^wBTM=aGueT$|CrbSyI8 zleJb?Uash_vH`pH_2C9#uV%ywBbMMEw$(`nTm`Tw<%jcp7_SnAlJ8$Fv(LXpc^yOQ zA0_tgnM&6%@eD!Yr8+qT{cN_+f2Bk&5~Eb=FvWa>Qw(B0e-6cfpsKs%eZ=li5jC)G ziE)HpY=Z{xh%2n&l2IkqUyDic+$q{vO2A8lM`B!zXXhw|fW^ea>FI-#rXnupK)r%s zFg^oNQA^8L7RXQN@PjEjT9I+$ArClo8A zv~^&$mp$y57;o|MEZ-zeEiis^m8|I-8!#`9kKwbj*0E<-1`Lfo&-k!g0XWSS!tCqW zS<<4den~A=>QQM@Pme{s*n3tYZS1FLzhh?@zo{OR7ez@*-g}(2glW<#!?o82W5C2q z)=r5_jc{MsALzOBr(AdgM-C(70D_6J+0xd)WN~f z@j8;|VMBQmHwSi^gQSnx6YAWrz1-}GX?-L!1Wn@(SP}5$1b8LW&cW_1)N$WX2Dj3<_IxCDS~~^mQc-0w+|sSbE*^|24SR8DKO7_>Zb-8Yn{4I$!V*<{`W^y$ zboE16^^aY$iko?TOS#O1;neO;5+Q5I7J1_Ns1#z*fe0C*&@AWFS=r7Y5%lVKp5Rs@ z&{vwr!3b2*!rzs_H}-<^#98vh5wi&%VXz@=?NFCWl32Ay7E!RBdDOeYgYqE6pbhc@ zvEyC0_2-XtL(Ypk?daj5RD^xVAZCtAY50v>D1ZaAic2J$w@lk%` zunk7DbH|dGB5Xj!%MS>Zl7Mfx5TxAgGhCup1U;il6)M-`vPWZWd6U7@p{bT)(v_az z*r3wg7d)5?<8+-Vl7>9y>QEH2g1(Jg_LJ`~XcWYYL!w5y+kIjsm|jAx)Byph{sn~n z8%XcpK=!|Z=KLl)fin58Rts=+QR`(Ek%D%(aep8PR)FRfCl)(QI?#JRa#h-8_;hK6 z^X#}_EI7Kk2&|-Agr-oeBN0Vik-|TGU`YpX5H+|LuzKs`MPuQ6Xm?OR+KLbvOb4xD z$BU0jk8rB`1A-|FMP>383-g*aN`*ji=p~P2e>yNmrI|{4X~J{ih?tQ9WnxgTMENPa z(~Fq7G7Rg(typn9gbxWN8MHWpD>-yiw)hDsE_Qtuj%V>yI%K zD>D*&0!*V5eHYip;WCU8cK_=4>fzb-p1| zM!xz&HMf4n_7AC+KtI2?W&=NWo88rM-@@((=C*({pr5C(QAgR=TaSX0H@-L1ahJs5 z+~Ca6mef5jzt&Fo)jb#I{>+l?2Vp5=vvM5P01dJ^8NS|g*-oRz%L)xpIde$~jA zYp=T(?^&jY1!^3ec(?H48^gz0JRHaXS3Wd4=f26u8FmLi&EwT>01u#MaY56j>ZSG7 z*_uHIMskHeTIF`e&4%Y{+xj9yJ}))&4EWr!VTVhSn<((X>zP^V$BWJ>1Rn2&JvwO)uwfS8{|@XhsEV59P`y}f3W$qlt)zGn1=s;avZLqcR?p?%)h z*|Kfv#HxLs+?$=BNN!rB2$$XOp?1{@1-4>%{-r(ZX5DC1qnjmXb5meyvh1Py`p1>& z%Y%<|+w1KnN&Q_q-!&WC!z-}v<+lIVO5fcX`?}*J#iB}hfR^TFC(fh8-B%B7A_wye z>u&jlX7hWsis=e0&Z#Alw~LyVPZKzRCxusL!v^`^`=4DND-Nz{+N0_u z2mlqwOhl+y@+2s)Zw>3)Z3ScULQJ?nt9^MYo4BbO_gM*W0mD=_!xT1Fl5;Uib5m)h z+3+d?YJ+aKnV}S_4fd^SIl1eiF=tjhaJx^-$a(ibw;+Y-Z`lZ2 zqsL}$HoD*6(ROH_=9$hsDQU4f)v#dXIbd)+J#bK3cP)5X~)UJcB9A#R6(|zq)$%b#aZ#`r0Xt~8%Pe4I8Wq*5W zUS3Qz4;BA<@6>5j?LICboX8CAJ$X_H5u{XGgrH5aqz7GzZdVVnfaR_Sl#^Vo_7@9$ z(dxnPm1Z=Kc6`6T<*P2h9!ghEl-`eZ5;I{E=l0%VC={bsdP^Q&n_>-uw-Vg}eDYog zVj-;A-%D;l4=hxykIBCue;cRAB-#;i>wK)N84N{D9n?X$0_q?=0d>TII%=g`p&kDX zLAU_d0``(Y&`q`Td(gk4e-HAQvDHejO!m-|B|!5Wr%kgts!9-N2oWc~F53E8|WVy7!6w~I`?&GMqulF7ga3{{*KVR0eyRZeb z+c%zmGFQVkx0^@gR1+iZw28Rx9wQS+&229487c~~nr}|t5Hwf3#73G|zP2%UZr@zS z`u-d}n1399__2KbY+X00?@SbS6{6O5%9}OigP#6;W6|dG!q?XA9%3d^wJ>gQyLHn) z8au9(Y5(1KGu3zX>%G!oOV!WO z?*Kg)(DUnR2Jw{NYDSFNX{_hz1$may^rT45RBc*dw+d|YM_AHe}1$A8&S%IbqVxYB8&6BFvknFAY}zsSj_>FWF@vOMgiDM)FCJI(NBFct@8IYk8TQODk6o#NO{j8W6 zQwi5C>U5(nG%qMWpnA&@h9UphP}()*wtNq8-@g(PJju^`eLLXG@ib5v=sidhcyAa- zbaP(!d47G36Bo=n^1au7TRfO-d~Fue=OU1+WO{91|G~{nz-W)`@U+B{5vz9Ft1#xV z+u`f|+`gG>oKWI4Bx;|U*dRbUXwd}{|&nZ@|6ny+^AWBSFvY` zxQ$nl{i42q|L&$$*3m5-6N!)5DqNu{$lp|e8`XO7J`ds8G;D zr;b3LN6f9gF4E|bQ{$&?SKSvez}AY#S$j8`uX92hHpBL1c3K`!3Hvs zsrux;Kuw0sN_7$;B&s)I?_rEN*|D?wkhPC}m#;|aeL9*$v!b-||Nmq(1tv9-7o8IH83q(=s4 z_N2RBru56_B-Evu1~0c$`Sl{pcWfEGa9nYIL}&}_U9_LPr!{7GMAvy;?Rx}q2JgR{ z^)g#D8S%hAyEPUJdBx?Jf1Uhf;ij;_sF+r8aJ_biq#6L2z&~H5#`2WRdGsgvQNRtJ z7lrTk;#){sz`29$mLrc`kGCf$G$^Bw(}{@LRi~%RP%^uEl+y$ip9Xj{e7dc^L7psOVv+%x7fq+xU`)# zc)}T1i{;Hv`bL`=wP#9YM?^K5-^++N?Lt={$~Uy*-hDjGN(x04ur-%+ic-6ptS5=< zEPW^WRd#Yx(Q`719(AtgD{1}C=SR!Bwc}!SF6KQK9<1Ng(I9zU&yLWVI-4imOcx$Q zJr+B?%$~p z1}e!LTw@b|>2TxVb$oaF9&pCqYwteMD)h}(B}D@%Y~9i2vE;yZyz@?ZjL@Sy4bUj6 z?^$sX<3T(n>!ISS)A5uerOG`+`P8aM2-zUoeC0(^hpeXy_O?y^;%d>m$4x(r84*f^4B;KhPl;O-(Ho@a}7P6*r53lqDyH377svLUrh${s4{= zYG#HaHrh;ttKw`b_d5W=JBgs4@cMZ_{y8%yHEdCutSsxc@kconwpXLOu9<2Bau2R% zwKH3?MuO3^S{WP@rDsqVw{wwD{|cmftL%oi^@GZc8*IR@6Q5z+kc} zV=r+6QR=)wW-P!tDHuNo<06MuH0gKyrKeU;JXTfrTus>!mg&ocp|e+4W9)gwB!qag z#?L!>E&M?{*&}b|s(`OGSt=oy7iz9wuNNMlnbvLd(9aFF3+@LjcT-#~-;>VU27RUA zZZfxf8O_Dkw!U}JJu9mEGSyjRFLVMhJ*C*p@?a!K?Ho)eJ2g2|ri4yTyi}%rr?HCZ zuB0T`n3epxa~Lw)&X~&9eUH4j&k}EMzL%XPG+XLPrvrCm~QkMB}zaJrs zUA>kre53tpYINEA!_0Sjqr$Je&6{pa>nYcwbgBLYY#08QTPBwO>*(lP;MDW3JXr2@ zta@ud0l}@GT`v@Hr5UztkoJubD=mE}Bx3zLyc>g7QX=fg?RVrcvf?GLK657|#6DZ* z8Xs-DFTWvxUnWEvmrESv;EghRzFhZlDP^&Vye}1ob&%fc+UMXG&_T*Z4mo~8<~Cf0 zTg|HZ(&N?3TZcFY*`2&CY(&l2ci5IFi_}l&es#Oc?0K0prw-YF0(k@d+7i|`1ePu^ z_X(6?SaGL)J`NTf=e>3F`iHclE_8FMzoRZ&E)&Deo@d7zR)^2sN!jwf$gcEUmy^+0O8)15)l!NO~cJhq6p8IPA zi+nAw4@?--p^^YuQ8+ETV&zLDhN2Wl8~=e;R+!b&)oMQ1A)ZLM>dx`y-Azpa1c+;S zD_`_bZ4@_|ED=XtFOF^JNs&=C%{`2Ny~2OFR7`H4u47g zS-RTI7d<4+VRUEB`~~AWresKXcRLzlGs~815zxtf?YJ)w{$%gyruh40+hf31@aO+O zI{-)2ecqQ%XU=wREM)Ki?*sUD?sYh&99IXj)jVXGLhe=hLceQyf!r7U2_`KDGWsTX zmsaGTP}hjOrY%ac4gB@d+JilyP#dEpn_2qz=RDEf_38Chz>(Mnj)d~{j6&5`?_?Qo zw#HABMyr)*>0kD3X#;t29Rf|=10A^zWgKYIKbJW>Q;7D5{6>`C+dY2Wd3Jfqw&r+q zh3#$zwx`{LeQ&g4NokwSM2#K;eOaVSoJcYKc6t}7O>j>h~cDGPrsXhVfowy9?*2wc=CQJ{ylrS??cs_yJB&c=)FH>x0ePVUukp4DL9q|VmBIn=;9 z$P0$G#UgAWo`96;yYAI!oz)m2;qXC!e_8>FP7NqHuTd+Nob|H7=$PNDF=Mt7aOwE< zz)r#3dATI|-Oa;B-pdBKcS>bsP{(FaCrLrNmVD1+h<2s|ThGHr-ODB&JoH;YYY!(# zk(pt+mrct0cGEVVc;y!loAoI?g<+;!vPN91ZL>0>#_=H?n}@Czf$h5t2O!10nh6Wd z)dZoQJ%p>JD5h>s`X0_{P|*|Njcq*tc{Uc+o|ehOM=ggKGM7)?Eth67Cn?x@zM-Zy zX*pg}k;o1;(hfELZ9ZfMK#CqVcd!R;#X$}{djgMz@D4LF4u~%ObG&n{ZBT~I2ne(e zS3fqEO;Xa_dFrmS&Crwjc}4l&Qx|WE@t9Rl<`!Qa@G`?>t#V~MVz@8fnC!fN)@#3I zB5nWvoi^gfwLxqSi?T492CJ8Sr5<%Taq7zO=_6Tx{Pk$aK9856nn+`W)N0e{T-o=u zU>&wlD+*JRw%{pARi}XS!EV2B67sl4B4s4@Osw*D?RI?a}!I(Sg( zUgYJ6F|Cd;gZK1WVRpY>mujgo$G?eedX zd{3cE4Ho|jnGJ1F^XVs1Vt`p zcuO9HwAPjCN+$+lXbBaX?{zMz!~;}YS!RE2`QsuC{YGojDfR?DYpNY|U?gY}RJJ;<1Ee= zz4}$A8Xg%6dx6XP0v*d;ogECSt0~-l2+U>1VEO>#9}gIOP3J(pR}%ptFdzss{U|C5 zLp<4HNl`V`Ugt-#?$lx+5Y`2}G0r&j!rSKIAS7+Xhn=DjTz(sfns#50V^eF5wOk7NfL7To*mi{gHU2k$+x(|;UJ`7{2ZXyxJBM0m3mE+HmEQe za~-x;m^ja?T){AWY$3chsG95{tU)^I12CwXujBdPPqmaeaHt?SnE|BbxqR~s->6Od zGADs&!+#IWvNi-r$0NxqA=!}weRPQP#6_e!qf`_`Tc=`>&z9}YE%p9F_EnUxfQKB<%R`$>3`Xb|K$ z1e8wT$56nKf8GEp@jE@z@3E1gwAqarox!mC)D7<@1!q2v?q-hOc8;EIsmZVqS(x(s z-5Y}dKH?t+8RYnwXe?^UW6_td(Mz=BZDbLP_$jK49cdlUByVH7$Bkprm;-WablPX4 zpJPgLCTfm{^Yot%T#sk#UI(hU7pjP%n+CdzolBtl^e3{X)$2?ZjjJ>osgJg%w1fSS zKYCF=^nGPGddHjVr#brOa74GeJ=hRx zXncI{y-@Z2z7NHwujai;A?x?C>VF6jK_4UJ*DMXB7XJDmf9Ao2|oNoBA;Ca~A?I>AT-@Nd4`%cenPs@9})p)-tWqVWu zCIZtw!PV__>j$sqJ=N16KU#cp_jnuicnjdqQ;<2AZBM~ZUMj6K1(;81u+cQ^(XS`n zy_hi$UWBdggs(CSQQ{exYHONj8dydbI4qLDNNAkU$nNO6l|t3!4PE>#Y;~u1^#||@ zrqjAEnp4p#iYYKk+mASa2Whgl+IP+(LIXHWCoA*qMMhQ z3vrLPF}Ba2^*>6^QM!GTy5Db21z|otL2*`Y<`;8)rF2myeyqSrelAuR$=&?&mWZ|Y z2*ew{NXtWuVP<1wV4q>;7@ceToG|F)Cg<@6bS*urCnM|TW#i{dO`WIRV5^azl37&G zd*VWmnZA%XsDa1Z`jjQyFF?>hyJ^rJJvU8-yun1a>Q^MpAhshu)yoM?(A4Jti=K0& zBY6FRf9i4Y!<8j(MZCD6&^~>Y6FV7;Ka4q=|b8&{0| z55`N!U=(XV5oTkEr8%=4X{HEAlgsl3NHHJj-YKC~xcPCoEXvF|C=?swJOT}i495Yz z!nI;5b(kekMB!f;{}OR7EXwgm1d!GLTSUyTSd(mz{@(&v^I_)^=(~x`H;UNKQD!bf zX#dc1XYwQTSEZ&P=pjd(pC)hu<`|#)g-b~@K_Mj~%zM)<-D$r7`TU6w#X*{B6tY?@ z5na|h_C)y#Hcgrtv5!%Ri~F}2=l`o1OAU_SRxMSu85#N_%2e#XwYB-rHHjK|Z?G%1 z^ZN7XZF0bSX0&y1zw^HMo3PQgAnDc0rO`8OZFn?o|5)H{@YbyHmG63Zdz;!9%DO^s zGIf%6u*zWhShsH(&y5C*E!-=dg-ja=UOr_E4V*hIN9L6ynh)bMiW(_9H-t8D6NXh= zIO1&wVS2AuDyd=^+--=8Uh@hIBY;U0Ym-!YzSQlu5famSU#>2DeY|hS%zP1R`4kV9 zcSHy2ci58bwkzTYkDV#u2=B(D@YPWzT*Yf(-MZ(;&+F`tY6PRY5l%v2@OzdYaLcihd-XZGLwMynIo22p&#{ z*$8ERclK4#UEm!T7>A<1cN zRYlMvMqNw1BSzEuZ;bRrphrix#L3vne^lJju@U~Q!V@&uT;Dc)NLuyv{q9xKUHM-+ zRPs-NI^JFWt>b-SvyqML|3Sj7P%GPSfO@&$3PiGO3rvYyMFw&sa4fSKHQfflnCFH#&JRRpQ| zhU3;`hL^I`oPJ&sgj5iE+gZ)I?!(Wx+{}W2V#7nSl&Cp$e}`c9%_5u=#YXB*KFWnq zv{7p+(S~9wRPzsNg9HO(9cFXmh4CNM>Hy7up^o6C6rcZv+7OyBu#hS6kb`BTjRO_V zNq}N4UA>2aMSU190%Ybbrv zC>zPd3I#Prgbvn5v*Do|=1s=jCs`4$CanNa-%hmQw)`-i;FP%#sooQ_^!$cbK&G!g zH(49SX)Fo_3?74J_-L{;gJq*C!(v>ShQv3F7b;^YzdUIl#W{lvK8%M1(?YT0xWwf~ zW0Un6Xqu?9hFbOoj&h4ys%{Yt!!RBoI5m>f_=vhDKSdAQW;hhV7;zYnvHyImJd1Iq z90Pe&m6^~roHJU#t#sS@f0M<-uzBy*`=qWBAX7&|`_5snmvxq1xQDplXRCJNbHno` zhzFXb!Z5a*wIWUBaAsl{>!=1({Vw$KZ6&xzu<{e~bBm;l-pF7jQw`TwhKEg`G4+&W zS6Hp0PO%u$=gY)(4{@JY^UxZnqC`QYpNE+U3x3&2Hk-L^bMN4^^}@B8`I1~xTId+f zEZ(@Vj0As@y=GMmURG5$YEeXB1{N<$>8<<_-(N@~lH39lS>Bh6E@ccQWJ;lA6dOQ= zCyj1#K!Ws4osKA`bURBnJlz^bh>WwQ;Sm!|yE$d9ow;YwPs)vB-qMXvJ ziZGdMt<*p*jtR>Er!1}&l^^+1CGAgVej_S@iFu4uUYMZD8f|fqG5cx2Hb3&u{6(j} zDmtMe9_dAsAGtmyRc^fd?IbC2TGsxNj7AhQWqLwUoH7VaRcRs@Lye-IMher6F_7+j z)(o*SeE=C(O*P#lKT<+@#1kj9iT5W&Qve-sCUC3N%!&D=fJxif5JYFrTtv%*{U=lF zyHsNiREE@5ot921R$--4QIQ(?Cu%Y5KT%1LLMe%t>Z#HZRsUsyZavU~1bD1J7R+=- zCOwlptVQjXd!Z(KX()|kFLg!IL78oW8x?jFnI+n3VubJE%336#TuLNGD#9=XJSz| zzuHaJYrL;emectiD0izidy1ekO(vC_C<^ zjyNR)c8z|Smx7@?4+2VpPb?&>Ohij)<_G_!JHF2t2x3!JH3$3i55rhZN#MHIXDYHG$LX^h04B{P0 z_H;wH9mfdJkmA8$%YN)S4U!=IdiIAzi~Zy|AWcbN&&I^OcXR(0%&y`2ub2rFTLsgH zNU+do0MCVS;6j6v_F)suBz~NpZmv@mPw9`+P&lAc3RR#|fTAFHydz%%ZJx5hdCmQ-{;lY4lmGc7ysNOVb$P^vbZZH#+G)FP*v;;@7?`iRlVwq`)j>CvB zGCbK(Bzvxfkx>a~vFIbL{5Zqs%zvC>5_M=d0n(QW2wrr#5i4SeUCU)lLe?bNTT_vY zQXSl*I=Dka657##His`-!-owky2}vNdPYD)qR758rTtULU5}b9@5iBV-h*joN`aTm z|C*u812!{tG>FPYk_jI+3qp|%P}N{p8jKiRi!0lFg9MuO&FmEM%QWd82yMKh7gDYx z7Vu&8v(OCjj+Ye<(pm6fY0*=%Jg+`^B-nuazr&JMh-xKZ{1uijkV$a{CnJ0n2lW7>iw0{M}Qcvs?Wa7HTy zX{u&-a~{rBgXppwz-$)6o$_4h3cP+w&n&oPbgXa59e(xX&#Z@kZvsj?|^=G$O zd?S1J{}qJDBmN3{3%$r1`3o53eRJ*BR=_0fhiS)FxDYUq(BFXsB2vHILYwM-2EI3p zf0(!v&+n#)W?Dm!hk5CFfizsmKacd?5TYX!N`%GOB7{;3B5Cf7hb=v6%Q)j1db2{1WBj@&EImf8IS;@=Fva zEXi_ExBS!S=a^sMzi{`F8I!7jw?Skg{XAaPw_nf@<_1@4g$m)n^$RnP23y@8!ka}pT z5$lSJ)#dMzon;m@*@)x@Hmr%GLuGftM6l znWrEQqCo57rD+&CfIZusXXfi##MiM~f;Lle|HVz_GSBml-izBHP=L#qoMRwN*&mp) zzhU$MWzWh}gn#}|C;Qk61)_-7WxHd2FBk}o3veNJH)g&IL+ToAnED>E$MI#&is-k> zSkC?b8SE3FjQ3)G&?1M*>`=3-0mDGV;fH|42dfTbx#cMEVa<&Vc29oUA$o&&->1 z=GNYD7SyXDP^4a22Oaw8Hrau6?j9*t>EU6s(=-xrb?W}DAmmf$sq`mg`K)m?l8xj8s907oIX^vUqsosAO zLm;rk2Wmlzvrw(^DA?4_W2$I`T1%v5(hh-(JEt;^LDqv7sm4gu0%}KNXKxl7wUkpH!sb9($c@R8A?#u4HK_$!0|9&ob1}Mgh|R zYN(cA2X#@#0Bz$u?fvPV=k%O;Y_A9_B!(R%Eu4ixK|jIGLgNLfrBkJ3GrYQm7Qa+q(x_C~N5zQKBD@Jfy8MvP zf2=s7cp&HAtq`z`b7n&Z&hZ~oWRtKl5{k;o4RYl9<<&4T`Hlrncmd(~47I4?G$?F% z0l=Fuz{C9ZE*9t*VI=1oTV^{Du{H^oyjf@?)+|Zhp+*sMn0-T>#u9=R^1UlK z_U&4liYl$rY{lf&U}xp_Ii90pMQw6Pyw}Y;rj&VdgDbYxmvUgbD1i)27umdEIFOHu z4JM^AMt!HZSMOW$^Rr>-sW+n%KP_QRN^2yeTU^eLUc%ru!4M=TOjsM7rR%p zKQ9fnbG!|8kt96GeD3@Z@=$mVd(23^ts=m@$PuFfl4*rpgqKy6mzK6x8%SwMGvsed zVqyd+8UQg@T-+nE;;*p4gC`C3n=)XZ=823;W1=qtc$R4L?&&9A7PKk?It#NQ-p7gS zVLvsYk^GYdR!S1knIp0PIOB{4U4UKhQqYK#ia04vFm1u!>OAO0K|^gvOD$C6{u{63 z&@rM@EKxoiE+SZ+EMUr7xZGqe66lx)}O3#2_z*{68Iqj;H^lrYKzQ5vr2I#&+ zD;pJLhafD<(pKRFreZNcFkYFc@uH~w{nC>Vk>f=9a|<&uIiXc~ktJN>HvS_ald{aM zrLgfZxlj>f+-mQ0{GuS%H7GCSU$12|j6+p$-kAO1+(rXXLpvI-_{BBYAeLRfV)F?r zJ>FOb-jebWP-pFSl*8t@7F1z?xCEOPc436@HyZQ_t36!j!v`uC{BhdxibSP&6~e=% zxI)L_o`N-DK#`UJ!a5kz{a*w;cbg8A$zTQkMS$uEiWd`i!igit8%$h5j-o8YVmx6n zYeAHxjHFCPLImIz{CMD~oG2aEQlKdUkTlXw6!U+Unn_&jRPEAomPxR{K5TX*9k(LB z&kf9u?7%ho!eSCjaX)487pcm7WdH2IY&u*>-enO$j;iJ1wxTUb*&airaoXR8tRwv4 zlLAEe%aGDka3CM))vRE4cY&CUxiv9oZQwZZ_DItsIm0`tjkh1G%3T`IZlAZ;OE#{%VaI~Y>n8p41 zrmz4z;%h@n@4^hpUlo!j=JkG3PC+!#sOqWSWU~Z}^|XF6Acpu;h`5YJXMK*iM3Es{ zbO$j3!$LfuIaM6+Y4yu`bXG=9)ht6}3=oHG$b&1lp^wOH1`}VicvO zOdd_sbnkQhcyGPbSu#dz)A(H6rvIBU{l&ll8RD6kjn?5>9v_o}L4bJcf<~v-p#Z`V z?uTwefH<%W0*0lPHcK-_Mtg@FAPzj6qb?Dnl4l5w_@lCCPl6IP`m~Udu&ku0wWr7= zfo1R}6$F-~rl$TD5!>Udy!{NK(o{{v=v_~Me_TJ|@PJr*wX{d%-~$G=IjG2GqxCFQ(+{Ev=@MM4q= zec&JwbQ< z%=XoYgC#XQl7-e#kk23YYv=pbfgqPL;EI2{6-H`om6Y0!h2_HvHfeAu?@PpN2eX!+?Taf=K-+i%kVL4|SV1b(PIP=? z8LuDB_6@>U+FBh|epo~3XEwdj2P4rvoRx|y3kpOCzsPvb3*^L3Wvx_KwW;_a7LxQ_ zH9$4C8b#m8_I@KSbD~Yxot0vyo)n&F&K2<1djv2nR3+qgwlK$iPsYB=3-7?$lbF85Y0>8w{G`) zR3lRm{-`jk(RQtius%Cb8|1lWsHjIy_U@>N+SGyFbd*$NteoZFdI0YF6>O2}Ge;nn z8rqV;9{y!>9S%LbhA%qd^9vbwN66jPg6~Up2&Ph{nNI`kiKqm(4n7}ylmTXM)r@3A z1RsNSefdZxvT~=fQWyV2qUL#aO3m03gDNYCZM6qC2szF9<)ozp94?WIMwsGsXy zi>cgo!AsScABx-5ruLl$q>%Ko+O>@0i-5>_)GP0fukVBhvE~2LXSuoq`p@l^r`ks< zAix$>t-zl@y=(t!LG{JVSmnPi_?Wo?>me2dkU8((!NWwA1Jh{M&xvd}gk8xZt;mi9 zl&mel%}_HhKiRdoaJn9-NY6+sw*ByCn0BQL{_MABgHqqmzg#jU{t>oiGD-u(4-q@`Dslr~pxuU9+-NH^a*KX)>->4*;v@l#|0Mc!A4^!B^2TW@_U$#NpXr5+SF( zAKlFf5fQqC6wBuQWW(+b@}G|V=FN980X94R4F>{(_HW0`fxUfIjf`#o>Ug@9I$-~u zg<$l@*GQVQY#H0677SFn(a`28Bz$iWbb@-Ujf5-Vj)mXf_-*4@uIi<`9_-@1uIQ&J zKm%cLT}7q9NqIkJpN&5r-UzkZzA!XWiP6!u|LDhaWEcczE%rI&Cw}Rf3N@jPc}9^8 zMBm9kJ=$z#)?PHHX;)9}$f=@&_wlZF+jP~#jD{Vmq%t0i!GW8o=Sp)vWMdGbx-}!w zjOHYq3qQ|@0%>n_!S@W0f)T}w*C3O^+2iZkNugki4Xk2~S)R1>3g1v2H)0SMPG-|F zS2`YJIkLe&y~1I|1NLPsw=rjbj#Q?1;fFX27jGR2JkCPJMnfjs-xwXYH_%l7_AQf( z*Sz%IcNB_DrbIQG6+2S6NWt-NBmdB(>tcNXM^^m7i;K>Z)SM%;h9cWi3B{x`=vF4n zP&%!O;WRQfI^6?2B^=`MLeqFO{``nSUv%QVQA>@nO`?4`+gAXNauBXLBD-Uiu z>`rF%g}f0{kX5r7*bfMlPi?GSJcU$NY9bdUG2sj2In8u2xDB(b`1gn#FW%X_QFL zD0&gEocjHZw(5uAE?bA{YlPu17v3`M30sj)4RC1JBWaYJk4NOcQ$mlCJq!5s87SW@ zUxX2X{tkDNdwbG8Quah7*(pVO8oO%o4tgJ1!P^CUL84faylSD{w^^;zYlo|Y!S;la zYM-s^Z#{xT)ul~oXAC3l69Ye->OeIk!njL_kwprEPFx``vF_Mp@I?8IbyE=bePwGN zW&;KRqr~kB48-M~D1o?l*P4N#1$LulC?`pZJ`-7k$2;X&<=1psw=B+DSh3y28=)7A zaM&Oigfl7icXi&^CK*;qY4QXNF@{39xyK=)93~MI8O`OhH4mJ7wU@`osVpn2%1jQ( z8~wV~E476#>b<$v5^?%xj7Q(91!?Jcun`W(MAxYp=PjwEl+sj%rtLFVybG#K?aC;g?3*Fgtd%gS9-rbA8e$}4pd1p>wkJVT0R)7BYM+?=!1Q8LVG{{ z&HV2BLi_9D`HMrYPYcL+QvZ(M%VnEEpRPZO^zcPp-rMc|`h|nw$9)*Jcsn9gnDi!y zcX$y0DafUw0-ZrKC0-+C0XX(Ph3gQp%c&?NQ{ZE8)xfnJX@Iyt(gLAl-h{DEcsr|S zIc>{DV}#ULYH0hB7oKsH@n&Kv8U^fHfMcIxwLM+1SCa5C9@A#= z1(|$`9a#}vY(gA_qKhkX0of~fH0Ot{QI--w5=@{!AKa;d6xxGk`ZQ}TDK-~tl1Wsi z>2&4mTtTtpkbHBUsA=bC<#t%IOl}xD#}FD`@KWrH{us4Op~tN^iCm1yo`3_0|ocJ*;Gi@N((gw zD^KdZQe#8j_rp8m5;Pk>Zw;BO5=2{@55l=%D)ofQO~4cmyH}E$du5$}Srbz4yEpBU z-LOr01GFZr?g+m1^KFGT8yPj0{oeR2+*##D>v9t|zr?jSyd%LDFzfx@Q-S}7l|^|O zW3^1x4^ywz$ZNm*uB~~uSsm96e523qBgy$2x(@!jnWJY@>qYaH0*6t|g#q+^*58w( zH6sYvage|yMyNI0yOLDS)M!&DJZ=EsB5m$xb74(4 z&G*4Thw`n+6>coo{h*-MmhEyb2E(CzyO={lN#94X4q}ZO)Wn9JR@;GvdFxBav7ZU{ zzujC4%fM@FwNq`LvTM;7prWJX$G5_HbW>WHZV^i>xy~mkt6J2ombI6(Q+}#NolcMhKyL*vaXVMy<4d0c*K&LBHw~zmWm99mIR;Dh z{ozpVviDgE4Eq}#fWB{A%ym6F{7AujApdUOaZ;kHQSXZIJ5yO>_Qv&t9d{MsxFjdF z35=V>&H3$mh2kA<^Fzqr7R<`?I#PhiY<{ zyR3$qTt<6r!L1|H+aLC;GRq$MFz{=(Npd06-#=^7u%ugrKcV858*i)HH~RBC0M; zdQK%nwc-7_V_TgQOhzBx5=y#+@cgw~O2wqq7gZn7Gdv~58UJjS&IgJ}ECb6u4+D_e zKQR`F7mdgr4zg315kRhBUzUW4^U`vTwm`BP-Vq`9&k+?RD=sv8TCBJ{GCh%MT$^LH zvEyCA4cimOW!FeEiPdt=II5sCN7|uaHl&8iAdfYrp+F$Y5jSQIZ8hjnNNb)4%S+Wb zUZga+3HG5wO1rVT9JzVTo6s*gC@`$&|Jci5fOU@Jd8^a=1^v%lEZ3iJwG8-y2L;St z(Sg5B++188>@@9cnXO#S?Ed=LtBG!a8)U%%`ROY@kvLJx7ml&0j6#iC09Pyh@*OI% zJF(dKV>`TW*W-)h*s-1bI~XwsAD~TK+Qkvh`$_^p{PX@;_#P$XB18l_yB5V##X?fc zt=$8XQ~?~DZejxCK$jJ32|_&>%)+q(@w6r!_HEn|r#TS4awIUyRwLD$s)YkjlKI$* zvTxl_oe)P6^@XVxipS`xhB0@GGNi5@F3Z$8czOMQ=n|YfTJ8brp$6(A`iHK+yTkrR z-CwO?V`dwG`8f*IZjSwa(ZNiVA zE_Qy%RqY~Far5P+l_~zGjt@>;=N4;z_9-N-PR;ZZEa#xbFV{t%2CO?wEpH>lM96SE zSjrq~CKyo|)Y3^(r-FGknM`us8n2Bl=CV597oPh_yQozNB*^cLY>RP-V7D8bGP{Ea zJ8k^OndzFl&`fy39@85*A_tCf*Q91q-qq#Rsi4zW0wO+TZ z?>H>^4=muWQs-ASZl_E$rOy{G3v+Di*Qc`S>Ku0adRlo3N-d0iPN*c!fR`(uknP&T zh??z@@DHT!$P0=G!(Rg1tlk`rWs}gq?o-Kr{f|{z{9IUs4X`E?0nG0Hv*xgOvokhx z23BSMYTB;3WxvmZ)3Z}1oFJjw5|P9K!O>hOtgaU$LEdr?LWNU*o;S|QvUx3gWimrw zog-8p$u5WHJ{5!Rx5NAH19*k}^?DPOxQ!Hn;lgztq*Jyd%5W?@y>jsWGwqb>@~1NF zIvU!yxpqHctB<|+xY^&R8w-$VbaiDkntb1>Z`Zy{WklQZ$8d)aKBVqz-Xzx@+D%u? zXwVaod(Vz6xD)Q0YDDa^%BYO6huA`^ROJ`FvT?y3+%33eD{h&nJ9XEEQ-@dVM#96D zbYj|spww*~N;pv|?n6>(5^-oK&R>qMsMjkEIH@cbu#&6wTS`i2OkX(Pe~u~;3zvz5HkGeKWx z0r3qo)-n>#NgCE+m4Tl3>#wJoVqVNITYwEA$Q>$4uFcr1h#qy_O7vGGjlKD^l?C?^ z0SCiEB$OCQ1)EVwT@UOCT|AyDjk{<3a3R4Y7rnC$rvX~npY^{Zt z?CILAv2%=<-Z@JtW)xvl(PVvFq>z`w&GzcgQ25Fn7oUS<$eA2fK}BbpfpEvL z{Fz)^o=GX1mI8AC{zYj-Fkr*_y$-ko*OK!7>@aH_PWd;(D4S%BQN=|t{fNjZ58sZU zxp67woS3-gmK}-C#k+&2NJj4M#`@j5N8t(c2ozO=Ma)R~k>rzW1Q_4n&}ExPu||o1V*SH|LL}qEO7zz1{!td;dUcCXO%;=Siwi z=ZtB1!MgRyhX=5oidnswgRxiSHDIbn0<+x^r!Q0oo5xqvSqg>gKHp=UekjbDV13$| z;k#?m$XMB;uWSANv<|DMlXjqssHQr?=?&V z4-KCk!moTMm9g$0z3}o92>AGWNYJ2)`no?o^ln{S?)HTE^cdKaa^CH|4s1K>>hn!3 z3~O<*mih(QFKeNmuE(BGk5~Jzr|U%!8CZt8@z(kgTx<*raG|UXMcJo$L)NK33bsGs z|2bn7j;~nsK!Sh-lYoF=17|E?Osd2`d+ z&7jaQVn7devGo@-ex?WGvie?{%vH=-=M*ZPB#)j+W%Ok+6_Atg0`eFp;PcUdq3W9L zq&OeQrz|ck35^1efip^Geak6;VE}%+xm66S7@T16?Q(1VtvCCA%Vn0=`^3I*tk7U+ z?hefxmIVRa%tPd%xp&IGrPh(BO6C%i%N69btz&Qx#0Ja~VY0Ak$ymG7wnKUco*_Dr zV?2~2O$QE}mjKg0$a=5S=?sPi16hH1^P`S@1~?0XP(gZ*lXu`Jw1M1!e$h+@b+wq& zpJND1xcDKKOKKcAK9js!)t!FFm%^;Z!3m&u&Wswka`B9BBh6D!Gp$qDw?>*Ar@;&i zJpGbo$xL88et`@leYQRPHL8deC8CZS>W6DZffuMTQq2~1Dz8cR&{d-vd0x1WpJuD# zZ_`5|aXjm&cm+tqFwc=hZME6$jq@t4KmqiQG3E^$;YU$`;Sk@Esh20ezJLAOzY{J!a+gZ~Km1ag8&JCW->38+b^F-o z@BMSKrOE!_{3ENyy9~BBObS%KSEtIasoDHQYS+hU2V2kEU1^t}XPz5#3R z_o{nWOTX`LEMI>`di}I2w%1!37@Ln8+%h;AkRy>jBV~oh5#toeBHq+C%@>lkAMQ=M z?!E3P|LG5s?_WL0Ubzc+@zuh}l@38xGA&oHzxjV7$EfXz&~MY-+Zx_I-QkpeS@d<+ zfhDt7XXc^x^X0Rf_BqwuT6e4TopgwT%F0Qv=d62UwJZGP8?~eAjlg?~jcha4 zF8q*nG5-Bz-^#SlIl+Q;t5_!6zL;lt_6Zk@PnWk*XOl{YZ&Nzkh4%}pT;fZ#?whN9 zb~vP_&objT_q<4U;cZU^8?LK1teMFf%{Q-8IgaJUtfze)z8j6_C+=gIu;*vxtMw(^ z^L&>ty4YP2_tKmx=AJV(VTk8}It5b8{Zn}{#dXvv=UBbK<4<5}4U2;)4Vd;OlyzC1K+ohX3 z-?1fgb!!&&2u3I$mYn%QPNI9~r&S975>q4kK3LVBnsCKL#6w6}Ma=d_>mJ+of;cKedFv|gF1wwa%%%-Ox{ z+@9)dZ<-EOuQ|GH(j}wn%2MCAk5qqD-IY5S{r>a%DNj6ti%-A0)-G4~U(uidu3SGhg=`MQ3)d!J9%w0?i=ufP5F{}+`S9^jo~ml1n|rA@U(xhhKhuvu{9 z#1D^)N)LC5y^LMm)_*>F@}$I@8!D^6PvHD{u2}ii5$BaNh10+JTKRhiYwg~8=+^(> zROVLIS5|y4W%4YP(_4NPJoVx$*}%W7iA^eFK_gb;zj4R6L-qmQj7%cTpy6>2h95J` zBi05joj4WPLOlf>a|3ldV4wjg#=sEm3>*wj%`1rysVqn>js>;O&<&_m^LF?FRC*6M zj?4|y4Wt_wj{%Kz?HNBJfBwy7n)(Z;QVM zYR_R|U=TpjUJn$3YfmgFz~*Z2#>1CmfK^?v3cBSpfB^xXIRF|_nhW$hHtl&0(n3Z+ z%TEKXl0mUtnFp#J;&Ws}u!chKYBB3>eFlcOP*w(h6qEXSp(YiVROY0Drz_FJ0R2Eo znEnPvcUu(AXva&Un}a@2iZEwK5zHK(A&`m&}h(MTdqa11i z%CrQ!e)Lgeg#PR*sDAV@WOO6Y``-v7QW~-L#?cKx@8}{7uxUaz09&^g-7NIJBf>1x zW@NKady?p;pm((pruei#Lj|Sdg{~jHJ&4f%yd5cvp|%bKyjg)c2$ZV?84`in<7O|2 F2LM}F6ixsD literal 0 HcmV?d00001 diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/candidate_pipeline/ScoredTweetsUtegCandidatePipelineConfig.scala b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/candidate_pipeline/ScoredTweetsUtegCandidatePipelineConfig.scala deleted file mode 100644 index 9178d0789..000000000 --- a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/candidate_pipeline/ScoredTweetsUtegCandidatePipelineConfig.scala +++ /dev/null @@ -1,62 +0,0 @@ -package com.twitter.home_mixer.product.scored_tweets.candidate_pipeline - -import com.twitter.home_mixer.product.scored_tweets.gate.MinCachedTweetsGate -import com.twitter.home_mixer.product.scored_tweets.model.ScoredTweetsQuery -import com.twitter.home_mixer.product.scored_tweets.param.ScoredTweetsParam.CachedScoredTweets -import com.twitter.home_mixer.product.scored_tweets.param.ScoredTweetsParam.CandidatePipeline -import com.twitter.home_mixer.product.scored_tweets.query_transformer.TimelineRankerUtegQueryTransformer -import com.twitter.home_mixer.product.scored_tweets.response_transformer.ScoredTweetsUtegResponseFeatureTransformer -import com.twitter.product_mixer.component_library.candidate_source.timeline_ranker.TimelineRankerUtegCandidateSource -import com.twitter.product_mixer.component_library.model.candidate.TweetCandidate -import com.twitter.product_mixer.core.functional_component.candidate_source.BaseCandidateSource -import com.twitter.product_mixer.core.functional_component.gate.Gate -import com.twitter.product_mixer.core.functional_component.transformer.CandidateFeatureTransformer -import com.twitter.product_mixer.core.functional_component.transformer.CandidatePipelineQueryTransformer -import com.twitter.product_mixer.core.functional_component.transformer.CandidatePipelineResultsTransformer -import com.twitter.product_mixer.core.model.common.identifier.CandidatePipelineIdentifier -import com.twitter.product_mixer.core.pipeline.candidate.CandidatePipelineConfig -import com.twitter.timelineranker.{thriftscala => t} -import com.twitter.timelines.configapi.decider.DeciderParam -import javax.inject.Inject -import javax.inject.Singleton - -/** - * Candidate Pipeline Config that fetches tweets from the Timeline Ranker UTEG Candidate Source - */ -@Singleton -class ScoredTweetsUtegCandidatePipelineConfig @Inject() ( - timelineRankerUtegCandidateSource: TimelineRankerUtegCandidateSource) - extends CandidatePipelineConfig[ - ScoredTweetsQuery, - t.UtegLikedByTweetsQuery, - t.CandidateTweet, - TweetCandidate - ] { - - override val identifier: CandidatePipelineIdentifier = - CandidatePipelineIdentifier("ScoredTweetsUteg") - - override val enabledDeciderParam: Option[DeciderParam[Boolean]] = - Some(CandidatePipeline.EnableUtegParam) - - override val gates: Seq[Gate[ScoredTweetsQuery]] = Seq( - MinCachedTweetsGate(identifier, CachedScoredTweets.MinCachedTweetsParam) - ) - - override val candidateSource: BaseCandidateSource[t.UtegLikedByTweetsQuery, t.CandidateTweet] = - timelineRankerUtegCandidateSource - - override val queryTransformer: CandidatePipelineQueryTransformer[ - ScoredTweetsQuery, - t.UtegLikedByTweetsQuery - ] = TimelineRankerUtegQueryTransformer(identifier) - - override val featuresFromCandidateSourceTransformers: Seq[ - CandidateFeatureTransformer[t.CandidateTweet] - ] = Seq(ScoredTweetsUtegResponseFeatureTransformer) - - override val resultTransformer: CandidatePipelineResultsTransformer[ - t.CandidateTweet, - TweetCandidate - ] = { sourceResult => TweetCandidate(id = sourceResult.tweet.get.id) } -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/candidate_pipeline/earlybird/BUILD.bazel b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/candidate_pipeline/earlybird/BUILD.bazel deleted file mode 100644 index 618c4a081..000000000 --- a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/candidate_pipeline/earlybird/BUILD.bazel +++ /dev/null @@ -1,21 +0,0 @@ -scala_library( - sources = ["*.scala"], - compiler_option_sets = ["fatal_warnings"], - strict_deps = True, - tags = ["bazel-compatible"], - dependencies = [ - "home-mixer/server/src/main/scala/com/twitter/home_mixer/functional_component/candidate_source", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/model/request", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/candidate_source", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/gate", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/model", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/param", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/query_transformer/earlybird", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/response_transformer/earlybird", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/candidate_source/earlybird", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/filter", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/gate", - "src/thrift/com/twitter/search:earlybird-scala", - ], -) diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/candidate_pipeline/earlybird/BUILD.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/candidate_pipeline/earlybird/BUILD.docx new file mode 100644 index 0000000000000000000000000000000000000000..370e2c2826f83f109c987f8e61cafbc383b77415 GIT binary patch literal 36965 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%0DU;R@B!*Dd!OVZ_dKm+4Mh}*K?8`foa4`#gsR@OS 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 eb} -import javax.inject.Inject -import javax.inject.Singleton - -/** - * Candidate Pipeline Config that fetches tweets from the earlybird FRS Candidate Source - */ -@Singleton -class ScoredTweetsEarlybirdFrsCandidatePipelineConfig @Inject() ( - earlybirdCandidateSource: EarlybirdCandidateSource, - frsSeedUsersQueryFeatureHydrator: FrsSeedUsersQueryFeatureHydrator, - clientId: ClientId) - extends CandidatePipelineConfig[ - ScoredTweetsQuery, - eb.EarlybirdRequest, - eb.ThriftSearchResult, - TweetCandidate - ] { - - override val identifier: CandidatePipelineIdentifier = - CandidatePipelineIdentifier("ScoredTweetsEarlybirdFrs") - - override val gates: Seq[Gate[ScoredTweetsQuery]] = Seq( - MinCachedTweetsGate(identifier, CachedScoredTweets.MinCachedTweetsParam) - ) - - override val queryFeatureHydration: Seq[ - BaseQueryFeatureHydrator[ScoredTweetsQuery, _] - ] = Seq(frsSeedUsersQueryFeatureHydrator) - - override val candidateSource: BaseCandidateSource[eb.EarlybirdRequest, eb.ThriftSearchResult] = - earlybirdCandidateSource - - override val queryTransformer: CandidatePipelineQueryTransformer[ - ScoredTweetsQuery, - eb.EarlybirdRequest - ] = EarlybirdFrsQueryTransformer(identifier, clientId = Some(clientId.name)) - - override val featuresFromCandidateSourceTransformers: Seq[ - CandidateFeatureTransformer[eb.ThriftSearchResult] - ] = Seq(ScoredTweetsEarlybirdFrsResponseFeatureTransformer) - - override val resultTransformer: CandidatePipelineResultsTransformer[ - eb.ThriftSearchResult, - TweetCandidate - ] = { sourceResult => TweetCandidate(id = sourceResult.id) } - - override def filters: Seq[Filter[ScoredTweetsQuery, TweetCandidate]] = Seq.empty -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/candidate_pipeline/earlybird/ScoredTweetsEarlybirdInNetworkCandidatePipelineConfig.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/candidate_pipeline/earlybird/ScoredTweetsEarlybirdInNetworkCandidatePipelineConfig.docx new file mode 100644 index 0000000000000000000000000000000000000000..4ef96c5695b79bb7491010980284709ca0845f3f GIT binary patch literal 37433 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 eb} -import javax.inject.Inject -import javax.inject.Singleton - -/** - * Candidate Pipeline Config that fetches tweets from the earlybird InNetwork Candidate Source - */ -@Singleton -class ScoredTweetsEarlybirdInNetworkCandidatePipelineConfig @Inject() ( - earlybirdCandidateSource: EarlybirdCandidateSource, - clientId: ClientId) - extends CandidatePipelineConfig[ - ScoredTweetsQuery, - eb.EarlybirdRequest, - eb.ThriftSearchResult, - TweetCandidate - ] { - - override val identifier: CandidatePipelineIdentifier = - CandidatePipelineIdentifier("ScoredTweetsEarlybirdInNetwork") - - override val gates: Seq[Gate[ScoredTweetsQuery]] = Seq( - MinCachedTweetsGate(identifier, CachedScoredTweets.MinCachedTweetsParam) - ) - - override val candidateSource: BaseCandidateSource[eb.EarlybirdRequest, eb.ThriftSearchResult] = - earlybirdCandidateSource - - override val queryTransformer: CandidatePipelineQueryTransformer[ - ScoredTweetsQuery, - eb.EarlybirdRequest - ] = EarlybirdInNetworkQueryTransformer(identifier, clientId = Some(clientId.name)) - - override val featuresFromCandidateSourceTransformers: Seq[ - CandidateFeatureTransformer[eb.ThriftSearchResult] - ] = Seq(ScoredTweetsEarlybirdInNetworkResponseFeatureTransformer) - - override val resultTransformer: CandidatePipelineResultsTransformer[ - eb.ThriftSearchResult, - TweetCandidate - ] = { sourceResult => TweetCandidate(id = sourceResult.id) } -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/candidate_source/BUILD.bazel b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/candidate_source/BUILD.bazel deleted file mode 100644 index 4461d8460..000000000 --- a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/candidate_source/BUILD.bazel +++ /dev/null @@ -1,13 +0,0 @@ -scala_library( - sources = ["*.scala"], - compiler_option_sets = ["fatal_warnings"], - strict_deps = True, - tags = ["bazel-compatible"], - dependencies = [ - "home-mixer/server/src/main/scala/com/twitter/home_mixer/util", - "home-mixer/thrift/src/main/thrift:thrift-scala", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/product", - "src/thrift/com/twitter/timelineservice:thrift-scala", - "stitch/stitch-timelineservice", - ], -) diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/candidate_source/BUILD.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/candidate_source/BUILD.docx new file mode 100644 index 0000000000000000000000000000000000000000..73a9a92c229abe175a1e3501ad57eb47fcd781b1 GIT binary patch literal 36857 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 literal 0 HcmV?d00001 diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/candidate_source/CachedScoredTweetsCandidateSource.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/candidate_source/CachedScoredTweetsCandidateSource.docx new file mode 100644 index 0000000000000000000000000000000000000000..9c9d38fa0c8442454a48e4c130e62b7e2c5c9170 GIT binary patch literal 37046 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 lU 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 m|x&n;sF5u%0yQH literal 0 HcmV?d00001 diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/candidate_source/CachedScoredTweetsCandidateSource.scala b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/candidate_source/CachedScoredTweetsCandidateSource.scala deleted file mode 100644 index a5f556e7c..000000000 --- a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/candidate_source/CachedScoredTweetsCandidateSource.scala +++ /dev/null @@ -1,24 +0,0 @@ -package com.twitter.home_mixer.product.scored_tweets.candidate_source - -import com.twitter.home_mixer.util.CachedScoredTweetsHelper -import com.twitter.home_mixer.{thriftscala => hmt} -import com.twitter.product_mixer.core.functional_component.candidate_source.CandidateSource -import com.twitter.product_mixer.core.model.common.identifier.CandidateSourceIdentifier -import com.twitter.product_mixer.core.pipeline.PipelineQuery -import com.twitter.stitch.Stitch - -import javax.inject.Inject -import javax.inject.Singleton - -@Singleton -class CachedScoredTweetsCandidateSource @Inject() () - extends CandidateSource[PipelineQuery, hmt.ScoredTweet] { - - override val identifier: CandidateSourceIdentifier = - CandidateSourceIdentifier("CachedScoredTweets") - - override def apply(request: PipelineQuery): Stitch[Seq[hmt.ScoredTweet]] = { - Stitch.value( - request.features.map(CachedScoredTweetsHelper.unseenCachedScoredTweets).getOrElse(Seq.empty)) - } -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/candidate_source/ListsCandidateSource.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/candidate_source/ListsCandidateSource.docx new file mode 100644 index 0000000000000000000000000000000000000000..93cb19cbec8be44d65b5d224e516cdac834bdad0 GIT binary patch literal 37084 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 tls} - -import javax.inject.Inject -import javax.inject.Singleton - -@Singleton -class ListsCandidateSource @Inject() (timelineService: TimelineService) - extends CandidateSource[Seq[tls.TimelineQuery], tls.Tweet] { - - override val identifier: CandidateSourceIdentifier = CandidateSourceIdentifier("Lists") - - override def apply(requests: Seq[tls.TimelineQuery]): Stitch[Seq[tls.Tweet]] = { - val timelines = Stitch.traverse(requests) { request => timelineService.getTimeline(request) } - - timelines.map { - _.flatMap { - _.entries.collect { case tls.TimelineEntry.Tweet(tweet) => tweet } - } - } - } -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/AncestorFeatureHydrator.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/AncestorFeatureHydrator.docx new file mode 100644 index 0000000000000000000000000000000000000000..c780826948442746f0e9161c86ec383dd6a77a7f GIT binary patch literal 37608 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 L2+SUZeIOnH2a9sp literal 0 HcmV?d00001 diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/AncestorFeatureHydrator.scala b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/AncestorFeatureHydrator.scala deleted file mode 100644 index 9c5e8f3ab..000000000 --- a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/AncestorFeatureHydrator.scala +++ /dev/null @@ -1,61 +0,0 @@ -package com.twitter.home_mixer.product.scored_tweets.feature_hydrator - -import com.twitter.home_mixer.model.HomeFeatures.AncestorsFeature -import com.twitter.home_mixer.model.HomeFeatures.InReplyToTweetIdFeature -import com.twitter.product_mixer.component_library.model.candidate.TweetCandidate -import com.twitter.product_mixer.core.feature.Feature -import com.twitter.product_mixer.core.feature.featuremap.FeatureMap -import com.twitter.product_mixer.core.feature.featuremap.FeatureMapBuilder -import com.twitter.product_mixer.core.functional_component.feature_hydrator.CandidateFeatureHydrator -import com.twitter.product_mixer.core.model.common.identifier.FeatureHydratorIdentifier -import com.twitter.product_mixer.core.pipeline.PipelineQuery -import com.twitter.product_mixer.core.util.OffloadFuturePools -import com.twitter.stitch.Stitch -import com.twitter.tweetconvosvc.tweet_ancestor.{thriftscala => ta} -import com.twitter.tweetconvosvc.{thriftscala => tcs} -import com.twitter.util.Future -import javax.inject.Inject -import javax.inject.Singleton - -@Singleton -class AncestorFeatureHydrator @Inject() ( - conversationServiceClient: tcs.ConversationService.MethodPerEndpoint) - extends CandidateFeatureHydrator[PipelineQuery, TweetCandidate] { - - override val identifier: FeatureHydratorIdentifier = FeatureHydratorIdentifier("Ancestor") - - override val features: Set[Feature[_, _]] = Set(AncestorsFeature) - - private val DefaultFeatureMap = FeatureMapBuilder().add(AncestorsFeature, Seq.empty).build() - - override def apply( - query: PipelineQuery, - candidate: TweetCandidate, - existingFeatures: FeatureMap - ): Stitch[FeatureMap] = OffloadFuturePools.offloadFuture { - if (existingFeatures.getOrElse(InReplyToTweetIdFeature, None).isDefined) { - val ancestorsRequest = tcs.GetAncestorsRequest(Seq(candidate.id)) - conversationServiceClient.getAncestors(ancestorsRequest).map { getAncestorsResponse => - val ancestors = getAncestorsResponse.ancestors.headOption - .collect { - case tcs.TweetAncestorsResult.TweetAncestors(ancestorsResult) - if ancestorsResult.nonEmpty => - ancestorsResult.head.ancestors ++ getTruncatedRootTweet(ancestorsResult.head) - }.getOrElse(Seq.empty) - - FeatureMapBuilder().add(AncestorsFeature, ancestors).build() - } - } else Future.value(DefaultFeatureMap) - } - - private def getTruncatedRootTweet( - ancestors: ta.TweetAncestors, - ): Option[ta.TweetAncestor] = { - ancestors.conversationRootAuthorId.collect { - case rootAuthorId - if ancestors.state == ta.ReplyState.Partial && - ancestors.ancestors.last.tweetId != ancestors.conversationId => - ta.TweetAncestor(ancestors.conversationId, rootAuthorId) - } - } -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/AuthorFeatureHydrator.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/AuthorFeatureHydrator.docx new file mode 100644 index 0000000000000000000000000000000000000000..6ecb4ac575cf809600a5a276caffb58987735ecc GIT binary patch literal 37841 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 literal 0 HcmV?d00001 diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/AuthorFeatureHydrator.scala b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/AuthorFeatureHydrator.scala deleted file mode 100644 index c8dd6a934..000000000 --- a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/AuthorFeatureHydrator.scala +++ /dev/null @@ -1,86 +0,0 @@ -package com.twitter.home_mixer.product.scored_tweets.feature_hydrator - -import com.twitter.finagle.stats.StatsReceiver -import com.twitter.home_mixer.param.HomeMixerInjectionNames.AuthorFeatureRepository -import com.twitter.home_mixer.product.scored_tweets.feature_hydrator.adapters.author_features.AuthorFeaturesAdapter -import com.twitter.home_mixer.util.CandidatesUtil -import com.twitter.home_mixer.util.ObservedKeyValueResultHandler -import com.twitter.ml.api.DataRecord -import com.twitter.product_mixer.component_library.model.candidate.TweetCandidate -import com.twitter.product_mixer.core.feature.Feature -import com.twitter.product_mixer.core.feature.FeatureWithDefaultOnFailure -import com.twitter.product_mixer.core.feature.datarecord.DataRecordInAFeature -import com.twitter.product_mixer.core.feature.featuremap.FeatureMap -import com.twitter.product_mixer.core.feature.featuremap.FeatureMapBuilder -import com.twitter.product_mixer.core.functional_component.feature_hydrator.BulkCandidateFeatureHydrator -import com.twitter.product_mixer.core.model.common.CandidateWithFeatures -import com.twitter.product_mixer.core.model.common.identifier.FeatureHydratorIdentifier -import com.twitter.product_mixer.core.pipeline.PipelineQuery -import com.twitter.product_mixer.core.util.OffloadFuturePools -import com.twitter.servo.repository.KeyValueRepository -import com.twitter.servo.repository.KeyValueResult -import com.twitter.stitch.Stitch -import com.twitter.timelines.author_features.v1.{thriftjava => af} -import com.twitter.util.Future -import com.twitter.util.Try -import javax.inject.Inject -import javax.inject.Named -import javax.inject.Singleton -import scala.collection.JavaConverters._ - -object AuthorFeature - extends DataRecordInAFeature[TweetCandidate] - with FeatureWithDefaultOnFailure[TweetCandidate, DataRecord] { - override def defaultValue: DataRecord = new DataRecord() -} - -@Singleton -class AuthorFeatureHydrator @Inject() ( - @Named(AuthorFeatureRepository) client: KeyValueRepository[Seq[Long], Long, af.AuthorFeatures], - override val statsReceiver: StatsReceiver) - extends BulkCandidateFeatureHydrator[PipelineQuery, TweetCandidate] - with ObservedKeyValueResultHandler { - - override val identifier: FeatureHydratorIdentifier = - FeatureHydratorIdentifier("AuthorFeature") - - override val features: Set[Feature[_, _]] = Set(AuthorFeature) - - override val statScope: String = identifier.toString - - override def apply( - query: PipelineQuery, - candidates: Seq[CandidateWithFeatures[TweetCandidate]] - ): Stitch[Seq[FeatureMap]] = OffloadFuturePools.offloadFuture { - val possiblyAuthorIds = extractKeys(candidates) - val authorIds = possiblyAuthorIds.flatten - - val response: Future[KeyValueResult[Long, af.AuthorFeatures]] = - if (authorIds.nonEmpty) client(authorIds) - else Future.value(KeyValueResult.empty) - - response.map { result => - possiblyAuthorIds.map { possiblyAuthorId => - val value = observedGet(key = possiblyAuthorId, keyValueResult = result) - val transformedValue = postTransformer(value) - - FeatureMapBuilder().add(AuthorFeature, transformedValue).build() - } - } - } - - private def postTransformer(authorFeatures: Try[Option[af.AuthorFeatures]]): Try[DataRecord] = { - authorFeatures.map { - _.map { features => AuthorFeaturesAdapter.adaptToDataRecords(features).asScala.head } - .getOrElse(new DataRecord()) - } - } - - private def extractKeys( - candidates: Seq[CandidateWithFeatures[TweetCandidate]] - ): Seq[Option[Long]] = { - candidates.map { candidate => - CandidatesUtil.getOriginalAuthorId(candidate.features) - } - } -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/AuthorIsCreatorFeatureHydrator.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/AuthorIsCreatorFeatureHydrator.docx new file mode 100644 index 0000000000000000000000000000000000000000..8ea939f11c8834b6104275b82dd42462ef84d24d GIT binary patch literal 37688 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 literal 0 HcmV?d00001 diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/AuthorIsCreatorFeatureHydrator.scala b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/AuthorIsCreatorFeatureHydrator.scala deleted file mode 100644 index cc66983cc..000000000 --- a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/AuthorIsCreatorFeatureHydrator.scala +++ /dev/null @@ -1,79 +0,0 @@ -package com.twitter.home_mixer.product.scored_tweets.feature_hydrator - -import com.twitter.finagle.stats.StatsReceiver -import com.twitter.home_mixer.model.HomeFeatures.AuthorIdFeature -import com.twitter.home_mixer.model.HomeFeatures.AuthorIsCreatorFeature -import com.twitter.home_mixer.util.MissingKeyException -import com.twitter.product_mixer.component_library.model.candidate.TweetCandidate -import com.twitter.product_mixer.core.feature.Feature -import com.twitter.product_mixer.core.feature.featuremap.FeatureMap -import com.twitter.product_mixer.core.feature.featuremap.FeatureMapBuilder -import com.twitter.product_mixer.core.functional_component.feature_hydrator.BulkCandidateFeatureHydrator -import com.twitter.product_mixer.core.model.common.CandidateWithFeatures -import com.twitter.product_mixer.core.model.common.identifier.FeatureHydratorIdentifier -import com.twitter.product_mixer.core.pipeline.PipelineQuery -import com.twitter.product_mixer.core.util.OffloadFuturePools -import com.twitter.stitch.Stitch -import com.twitter.strato.generated.client.audiencerewards.audienceRewardsService.GetSuperFollowEligibilityOnUserClientColumn -import com.twitter.util.Throw -import javax.inject.Inject -import javax.inject.Singleton - -@Singleton -class AuthorIsCreatorFeatureHydrator @Inject() ( - getSuperFollowEligibilityOnUserClientColumn: GetSuperFollowEligibilityOnUserClientColumn, - statsReceiver: StatsReceiver) - extends BulkCandidateFeatureHydrator[PipelineQuery, TweetCandidate] { - - override val identifier: FeatureHydratorIdentifier = - FeatureHydratorIdentifier("AuthorIsCreator") - - override val features: Set[Feature[_, _]] = - Set(AuthorIsCreatorFeature) - - private val scopedStatsReceiver = statsReceiver.scope(getClass.getSimpleName) - private val keyFoundCounter = scopedStatsReceiver.counter("key/found") - private val keyFailureCounter = scopedStatsReceiver.counter("key/failure") - - private val MissingKeyFeatureMap = FeatureMapBuilder() - .add(AuthorIsCreatorFeature, Throw(MissingKeyException)) - .build() - - private val DefaultFeatureMap = FeatureMapBuilder() - .add(AuthorIsCreatorFeature, false) - .build() - - override def apply( - query: PipelineQuery, - candidates: Seq[CandidateWithFeatures[TweetCandidate]] - ): Stitch[Seq[FeatureMap]] = { - OffloadFuturePools.offloadStitch { - val authorIds = candidates.flatMap(_.features.getOrElse(AuthorIdFeature, None)).distinct - Stitch - .collect { - authorIds.map { authorId => - getSuperFollowEligibilityOnUserClientColumn.fetcher - .fetch(authorId) - .map { authorId -> _.v } - } - }.map { authorIdsToIsCreator => - val authorIdsToIsCreatorMap = authorIdsToIsCreator.toMap - candidates.map { candidate => - candidate.features.getOrElse(AuthorIdFeature, None) match { - case Some(authorId) => - authorIdsToIsCreatorMap.get(authorId) match { - case Some(response) => - keyFoundCounter.incr() - FeatureMapBuilder() - .add(AuthorIsCreatorFeature, response.getOrElse(false)).build() - case _ => - keyFailureCounter.incr() - DefaultFeatureMap - } - case _ => MissingKeyFeatureMap - } - } - } - } - } -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/BUILD.bazel b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/BUILD.bazel deleted file mode 100644 index 58a566de8..000000000 --- a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/BUILD.bazel +++ /dev/null @@ -1,70 +0,0 @@ -scala_library( - sources = ["*.scala"], - compiler_option_sets = ["fatal_warnings"], - strict_deps = True, - tags = ["bazel-compatible"], - dependencies = [ - "follow-recommendations-service/thrift/src/main/thrift:thrift-scala", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/functional_component/feature_hydrator", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/model", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/model/request", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/param", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/adapters/author_features", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/adapters/content", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/adapters/earlybird", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/adapters/inferred_topic", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/adapters/twhin_embeddings", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/model", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/param", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/service", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/util", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/util/earlybird", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/util/tweetypie", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/util/tweetypie/content", - "home-mixer/thrift/src/main/thrift:thrift-scala", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/candidate_source/recommendations", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/candidate_source/timeline_ranker", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/feature_hydrator/query/social_graph", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/candidate_source/strato", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/feature_hydrator", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/pipeline/candidate", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/util", - "representation-scorer/server/src/main/scala/com/twitter/representationscorer/common", - "servo/repo/src/main/scala", - "servo/util/src/main/scala", - "snowflake/src/main/scala/com/twitter/snowflake/id", - "src/java/com/twitter/ml/api/constant", - "src/scala/com/twitter/ml/api/util", - "src/scala/com/twitter/timelines/prediction/adapters/conversation_features", - "src/scala/com/twitter/timelines/prediction/adapters/real_graph", - "src/scala/com/twitter/timelines/prediction/adapters/realtime_interaction_graph", - "src/scala/com/twitter/timelines/prediction/adapters/twistly", - "src/scala/com/twitter/timelines/prediction/adapters/two_hop_features", - "src/scala/com/twitter/timelines/prediction/common/adapters", - "src/scala/com/twitter/timelines/prediction/common/util", - "src/scala/com/twitter/timelines/prediction/features/common", - "src/scala/com/twitter/timelines/prediction/features/realtime_interaction_graph", - "src/scala/com/twitter/timelines/prediction/features/time_features", - "src/thrift/com/twitter/ml/api:data-java", - "src/thrift/com/twitter/onboarding/relevance/features:features-java", - "src/thrift/com/twitter/recos/user_tweet_entity_graph:user_tweet_entity_graph-scala", - "src/thrift/com/twitter/search:earlybird-scala", - "src/thrift/com/twitter/timelineranker:thrift-scala", - "src/thrift/com/twitter/timelines/author_features:thrift-java", - "stitch/stitch-gizmoduck", - "stitch/stitch-socialgraph", - "stitch/stitch-tweetypie", - "strato/config/columns/audiencerewards/audienceRewardsService:getSuperFollowEligibility-strato-client", - "strato/config/columns/ml/featureStore:featureStore-strato-client", - "timelines/src/main/scala/com/twitter/timelines/clients/strato/topics", - "timelines/src/main/scala/com/twitter/timelines/clients/strato/twistly", - "timelines/src/main/scala/com/twitter/timelines/common/model", - "timelines/src/main/scala/com/twitter/timelines/earlybird/common/utils", - "timelines/src/main/scala/com/twitter/timelines/model/candidate", - "timelines/src/main/scala/com/twitter/timelines/model/types", - "topic-social-proof/server/src/main/thrift:thrift-scala", - "topiclisting/topiclisting-core/src/main/scala/com/twitter/topiclisting", - "tweetconvosvc/thrift/src/main/thrift:thrift-scala", - "user_session_store/src/main/scala/com/twitter/user_session_store", - ], -) diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/BUILD.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/BUILD.docx new file mode 100644 index 0000000000000000000000000000000000000000..bb3b78e3497032071edd77b94dd80971aa6d73f9 GIT binary patch literal 37569 zcmagEb9`Of);}EEZfx6j(xkDCh7EVn*lKLswr#sSbNR6*PeGg9xp2v_R_x;&dGb;QI^_4G0{@=3vqJ@eP|7|+bO_9bFTq!*=j3FZc&YFaWp zKTLCiGVj*(^BSN9or~sZ`zLBXf<#eOMysO{4F$m{3yeXAROiod<#v$SsVX0jQ0>xv z*&kDMex2}fA$=6{mB@NsVx&~hv`U9-^W#nlHM~%h{ASn?H{e+7JV{sYV6J9gx7u5X z4v})5GX8uEBN;RaY8uqoTcmW*M}13a|>KteHIm&(e6e<;yu)Rj2#Xp{*6A z>Sb{pAcgCGFNTzH(&JAG|L@-$1u_oR8x7;^d`ivQ@M z8>Ni!1F(A=U?3pyz`q6#rq+&3jK8myag(3GSx|h>1tmr(ifx@b!h6(W<;t)#SLg}q>xGiOXE>*;J;F9IC(M5 z0-ykrvP~Re#g(ml)-GWWLQP+#41I-Qsqrpu(=D6r0vmf#H0_Wqsn4hGqBp8 z+7-X(lwUF)1&ArA=)02NKuva_4RD(`@E6at?0!68ASavDaGx@B+6Ykcv709R#ax?w zuH6{DPzw4ldfpQJGSmRj%FIpnOzvp6R=cMEK^bLgB2H~EII?F84k8k@n5 zgW`gSf@9D9Ov2!`FyB^NwcvzD<#2wkQ|n9*L@;$}N9W7mlNDBSR$K$DsM?=SLVCPZn2?TH0Jh2$F$X zk_#G|H1Jt=N*`i&sT?-IVcQzQ8MjJXVdrQ=hXr@F332snP1}?46^oBIfi_~`uaAR< z$_E*y)HP77_@~Z~kO;`2Y{E*Z$}TPHtXpBHjt=&l)6U>}WI#x_N&TSjn#?<@_j&*L_F)O1?t$wP0_WHqNuOrcMeOaR?+WjqeYsg(#XbS{ z#To(x1m*92`D|zRM_W|KZC9C5I-cnu^uC5!K#M5h#Q86X%!sYy*2HBr&yA6OiiK!p z+41&z48i32#&jFXSI_s{F!sDCVg}tH|3wXR{4sAt(S9ASu{vz{V0H44)DfZ#vJ_K& z5LM6KV0x@_9*P0>YpRA~)tCoqz0t%aA+(*N0^Ri26(r$}29Kh4c{|VVFQ&p0znp6y z1}+j68<#dxl$aI5%E4c&zm&U`Obc*)+`T>4N=igTk_7ww$_6p+R&GJP93qJ=M~uf} z*m*JW1;P^Ezvo-zJ>|Pz`zkYw(V zAfEU{mtL^MX;;LcwFzS4n^MtzYR3TAzqq&&;w!JfH9^C!_MQ(iYtR#fE%2AyP|3Zf zW&|Z_$7{+z?J!o52viMGktY#68xi5r8Pl9;93F}-YU|1CL}F%h;G#NHYzKL_g6;#T zAQP+va1=i}Ywr- z)Yv5F3(mk+^RQNkO&(a47AjQu*x8ZJ^uk1V0h|7KjrTr(`-|wGHwJs)XXQyq5Re?! zKR>W800$E$;HTEf2Dmu=zBAT!WE@vHQM&FmzI?S`rI8zT#!N=12`-r0i}|3Ck;O}Z z1mRC^gdz;87;$yd4)PE~Hq4}kVM8Pirb*v5XlxK@(EX@gGZRKF2boPI7ftn%tglvz zdivm_k5?DWRJ7y@aTYNpcPde3sGxiO!%rtn3b16zZ8He`mMGfL!`(HU4?(#@JTx(a zjMVC);dA)LN`a(uG?bqyRME0zi_q^W6MMw1aLyQZ=n958+C}*zbo}hD-C0vJ#8R)4 zhB-+|V1tKLOTa!*mm#>9oG3%}sE~>!Cn(i7b(k@v&wJ|963+AcV+Eh0gZh3^tNEt6 zCUN4o5M31P4kNX>uP3mNq+bF9-s69gF=o4wHHL_L{cSW83;?4u`g7Sf{7pU=j*y@~ zxJSXW*xzl>#W6#ku!b~AVs)1U#Wrf0czMlpezwTW(V>3*;I0#`@K?*sdW+ZAA_J2m zMD(^=^-R$hcP?fPo;W*SIDD^>7R4{4AgB`$BWEL*U=6d%~d6-7m zm&!e6$k^5WO_Q%FK|>+ADKmwlmap|TTv4CgR)!rL&^~IDB7hW(aP*fOYinL9 zY-69i#{B+>5Lh?#Js$;A@S}J*&s7m1)jZ;#8 zF|Y+Xijjn{fk)h5{-~BCU>Kw%))yeX^$*SDD+nJ-#NjXlpi0D*jkv8espAHUNOP>4 zIjus_$a9O4lq?)_chZEr$!BV|pyZEb&_am^7i8e{cj3{(t`ev}(vS}_Nwcc#Ckz*8 z#*y0-PSwZTTqNx}F9m4KHkz}WgcRlm=(~lVyHSe=&z(**76cevBmMNFKN8Lh(ypJ& z(H<5m$-ikgYdFL8S!{&85Q}gXC6OYnjUMVh2P;md%*uuQoDi=`;w|S6n|MdPk<=Mn zGU$MjA{v-NLw+qLRWf262zIQ~zf##aI|TRW3CSy-(N#|#_sPYuZQm8E=Gox`hJE51 zx6=pi&2y5ZGqdit^!X0|d(hRSAV`uf@a4^|sU9LjJI1nv+!H=7)sNyH_J{NdOkbSP z#d}4`OK&}Y9S-a35``Oka9R?35tOcquz$lNr46YnnXTeNqrXG1;*;$(i^&30j}?r( zRzcMcOYvWF?)sq>d- zL3*c#Zks1kI}as8#2e6Dm@W*d<-N+zdr|ceF{wFOrMV7#+(J2`qZ$ayY>>#_!9ufB z7oD4cr#Ds_A>m3`W$x$|jE!DUj^ciE8g~Wm^#IEg9X;@x=1FJ|=)+teh!3yoOCT3* z@3~$@g+glX#uxh6ErO3m1g8mR7lx+2r-D+{pb`aAkZq-OK3Ds6?=~c3A+59&O4w%( zL)j5#w;cUF^@z;*0;Vp2Wbhl$&g5!@z?~VhT%U+_o^~?H(-3}Uy~APA`_nq?{8qB5 zH{H8ouv;W^fB`-cY&C~Ude$Wh_S$CQPY(MB^1vMN=S$Z0nTkkB;zX36>SY(g*(vy} zP|!b~lGB5>y7o>e?U|%1=j$H{b2TcH9gcoFMpZUxIGz?NJ5DFqsGNV;eRmjlyd1Zc z?W>BWT+*e@QA?xDKG+@I+d2IeJsWPX;#6wAZ^D_H*=0jpofBU!AdoI+eil_fQPm}4 z#X+Q?AU{Q!#2S3RIlV1#13?r^0L@7=mn~<&W5zx%rvXtSiJ_Mo`!%0~ikigtU_R71 z8}2h_n3jcZEg{kxEMns=t|qQVCd`Ze%)k{?rK3e=^W(!;&Qhw8>2Dsl$xZ!dJ~CME zp#OaK+xp_6u>v;*E$!b|fIqjl2_gys%sAi9-{AU!;xUSB!$17W zqim;@tSV7%h|caFDf^4TATQ#;_y>~+zVW7E5$$^9C>4|t#B)5Rb;`D zq)ObkIxcN6E%BMSl+VH0Szq1TNiQd>TCO@PthR*K(;R!ZaKhyCgS4JNcJ7*UMB!$Y8Hr8KVb@kF5S zA_dKln92sraiv84z;I25d*x=P8iMCB;0Mz`YaLmR#TU*50-~=534;8uT04Gqvo>}7 zy~+Z=y2bBE)_HYz=j9u`?AgQwf(%dDg2XxFfA;9isy%0uW1Ic;{X6!T=u-n93KC%= zHDxvRPi1j+e0^D1iZuHgnenQoudmrY9oFaG21HTmuV?FA{oRONtvcuG&&88x*X;oB zR~%2i$AdFh?X#?;)mPisvvi@wVZhsC^!wxU;(1iDQ1i*I-oxYiWqa~``}5)K&)fFk z;N4@l*E;?;oABK@S|i|PKu;N<=7@zs;&^4IZ`s|L3%4O4M;}m&(`1EPri~IYl zkm#hqsm2Cy=WpY|E9pb%ElBP|=`;8af7d>Hd3NG5zH3?ki1P^%+I2b5xHJ1SD*gE) z@%G9!jeu+XCfwVB!TpuTo$NZke3!<_t;=m?O-Nic+9!zVt!u5Ty}4pMagfEwrhUz; zOIPQ->-ARb$xJz!u-|@joe6oJ(dVHQTss81wcCa^U8U^mx zcG%8~4czu*A#b;E)pk$5Q*@H*(3qPVWXQtcGc?}m;CkfX>MEhv8UrsaAusMArjGV# z(;#f0*SEudGas1OoAuYPX}T{p-pd`E`~sCO=V!smTxVHa3McPg`sdyPRoS+S@8|d+hrRb&?QY2|yskDKNzO-_ryfrCdlm|+w};gOXRbqdp3=*~_x2Ec z$~z-zH+`mjoNhdIxU?OZx|H2dh@Z=mw@Z*&l!^M(h>R)(2gJQXXgot^y`7x9ZiY`S z2C3lmRUbqBXH~uPw#X8*sawSNso)3|fkVA?LP|9N;C~17uLG7J-t`_Pq?VusZRJ;; zOu=wzi`vLfH(xvW>4k`rs;6CM*0f`kS^I*UhvSzjk>+i0`+wGKdR1WN=YnWaA-y>{+!Eq@h!tH} zO_>C@FlsEQIN|34)~=q{_MS^JyzsSmO;b<5=j@UQfJQV^rbS0gb6C)#Ca*L0^Xc2g zPaC=n!l56io|q(eFh4{*2@I&EBMQm5;|0&n%GE~J#9vfNqCZI~NtK`}C$N1A~RnKMwyHb&EGDr*_SwDPmeD;7NsDoqdaJf0syMTJ*p#&B7cR2 z5*XhBIl>@%g%#r;(*aqK^Lz3Oa1!fZlMvhF08o*?;;R~QDHtJ`+~7z0q&L9+g?-8% z2TUaf#?kzdstrU70^(v{0~%&`&AW| ze=;!Y@4}q%fO?csfL<{g_85ra8U9Nm12GJh8$8S(s^{We8c{laNBw)Kz)`GW%DKG@ zT|bLgTzj6li%{Lk>--VaN6SZ>XrVo^=M$WSUourfOi4?VYuBbvE4t2-jU&Fe=G=jO z`||L(^&5SJ0HaRQ%lY8?^Q}{>p6#HA$V>m?gmdnfCD&`6hoRZ*>TTERpYwtWhx-Sk zdD{<>n?iccx8g)mwmXc=!il<3=Nz%P@6UD!VhnE6hA8xFr34w9gKNZhXWq_B87_!} zt6hvf!`V_cCk}Ckt-l7s0M$EwRnaJ=)?U>7eb?J6;0g{gOsj^qU23q9?*IBWa8aaiIL^B9l`ynJdMsV}(|G#UOI#Tj zB#qd@xtugF5o`Udo0UkS%;|zphB%rAdC}amNuAq{iNV6jVz%fbGVu8cBj@8e@-({p zH2a2P*^@f3VegdwVDsFpvd1X&($xv~iBEQLXlLI?h7;=}lLHr)xuDysCca*m4ZS!2 zyNkVdo?0LklZ!=rz9DYA*~<)$)wegofQi+882OKE-ij$Rl*x3Zkz?rdT8wkegSX`H zv+?wx3PvWCPZ@N}=6d_OVq_WPu$29+!;V!Qbgc*)4yd}L2W@eYKR-3)R+%{UCt_p{ zZ1aW&{3MU^jbD>WZxS>>0gi|$o)%-bg)~J>a_!qP=w6<%ECio?4E%y|{>W$m8v7jDX|4+2Wdw$=F_e%hyF%n~(ko|C@6rOmZZ zyFA?tU%g!o4Z63#+Pit*za_peoIcI|d^xsb{@n4_B9wW@^fEmR>HY?SyqxaVA_!ry z+1{Kyd`t4E9Q({+xE7dSa^~oWBq29WIi7u&j3gC-*VdtWmZjV(69D*LHUIpA-ren~ z64eAF};wNI{8J@qsoQdr1+jLSp|6jE#t=QM9RFe@rNLu zDZ-Emhu8|eK-0~nRg;5xsCe@=OKv18e}Be2zUG$r9yN+)H0=RBBn|9VIiy7{7GA|@ z`n4AaNA@DNa>^uC@e41_=?0^;!R657m1YjW#tA&m&tq0iiy{A<{TPLe_u6HwZdV2U zIWmzF&l5Gfr0o)44t%Hu6x}iEGe`HoQ;9~=n_{{hCw1#h1WV{flZ;;56xmzLV%mTRwak|{35+OR{XK6v1RKc zxsI#2p6_Gyx+>AXCeZB?^Ke%*8a0kWicv~Z!%yaHqg6YVBX1%0Wq#Dic}Wb7mJRWq z2rX05&)_AoUC2OixQW@9E}xc`VW-y;=6b4WMf&+raIH_Wtnpw1AIYA%mR3%-y}@ z%3h=PnIj)gUX{G;3orLlSvDZUvWxj)*s^8QM_El)m5B#mzK1_>%*ZRlMB!KWc^J8=b^f61s} z+`#+RKdynd<`ThV5PY%mc^SNThX8$uac_dp+FaGXSf0C`^6~Oz4%2{1yi;TYDV?oU z9v4}+id_5#?t2Z^R-)Z~1>N2&l{aSLg3GlM&2iRUCFlGoQpfcSqg!ESwR#~@Z1w0) z?3mG9+zNLlbMHZ!?I;NTrLJ{)a~A_yejTQ zF>XLplig@V!Rc_TvVyE-_uv>u3kNQ`hr}3p1f>pougUuS>k?ZN6GieqX+&=oJqU#y z9sHB#VpPE+bbD9M%NJ#nc4POIC6? zx67pj_eYWUJX!B$NHzjEX1!*Gwt2j%X83h|dV+6R)c%IV|k;I1x}t zAK8*`Q(Gr0&(uA=F!>zl=wvYqO3I=;m!XwPl@#pniuzTX?M*pWMl4NAAv^Z3Hp6B5 zuR7pY+Lm7X!rWPcyikn zF4ANA>mdBksk32RHskm{p}YL!{Q_eIX>Ha2ImGLITct-4w5Z#rjBVvJxbOzmxn9}T=x3Jg z`h-^(lrPt_W_akGNB5Su#9b+w6!}(%E8zsXrqZQ{uWuI`=kwq}W}8!S4)QeO?fBn^ z1TVxLE1-^8%qX?dA65|J+9bw&1D6`oS0Ot4f#9fs)=z>_>B-wU5HSfNJ2;7skrv zs-w^4GVTc_3cT3k@h8m-i!|)@dH6~sS9rA7j%L}vOH?p} zcephyMYOg{Bw?t%54-r_<@EKVnlj(>tqqj&%2qIL1Uu4;135*A&sCbYZdI43;IGX- z+0h(|)UPxdEe@P=fW&0EZ8P7p;@8#P$$33EN2!#1oQ#=>+#ovXZHYRqSx#_~rLZiT zOP=sCL=~9XvO9tA?G|t&hozV@*tIrOWy|VdUXsli7owmF)X4`Z0=i}T4Kht)b(wI- z`?qP*`TDN;A1IIYCZMZMZZK~@-GzT|Uq%=?DGidtRssOiu@Jl@JO4;8`73?y-|0uc z(*p=aJIlN{Z)|^nU%6Yp&PvRs*IPC@Nn|TAL3SwipdT0Vh$APLVc*7`##k5oySsHp z{wTrTSPD_Bw)8>kOvm%<$kL{CLcKkxNV9pIF`ttGWx}`!bhkj7=`TE%=rrLYUoFki z*HXE1w;aHrV{0?Sflnj~>=QSB^A zwhlJovzU9X?mq|(aNbSMA-=EcOBH71pho?`ws?)~G`Fevk%E{Jni{#++l5y$0AC}0 za#*VH{LCQfeVu4yTJ%~xzd|g6h0iwWC-&=}_RW*yjpPB9#<0rqmFIPXG)8HN(PYF? z?i9(S)$X#hMw!`{#8@R^ulpx72>PLt$Z;@>GS2(W*U*poF)I5lb1HQ<>C$r=*a1iP zytZxVwolq@1XH7AvN^UZPpJ~#3vxnYmGf#hI*}WB8-T(O=a9xxEe%h8+rhK8K5#}C#=LR3A z2oYnt$}C!=J@eJdifgCmHJ-?_X9o_Csll#Rri;UUFYc~YA?TMfR;J-1;Ap|%qUk;q z&M{_(5mJ8SYKAG1aV=L9IQ}IrFCon9;nzpPCv>DOo=-{)X%OElOcn73NaY_v>ZypHpfAPrgN@Ig=7hfu())+b-4>2**mcUR0EhYT;DWZDA%+uB?A*|P@ zQ+cd(*h{Ypp-K;SjDw7UqzW;2@%GH}!2-*31q*c4Ij$+5W~8O-JhF<+963tXV7>uH zs%wUJes<~bm<}v%+G5Ai2?NwE7`+JSsvou#Mze;8K%V?RY@fsai;c(W|C5b+#MO`M zl4>!w{_sn2wWT%$`R13zV~byox0s-#hwPWFykWi_^=Y#b!Vg-Lz#`g$7T4pJe+;^X zz#!0Yo)yewkdr_T$WPxySB$?%Hh!!pUJX6vw0kNmk`TU%R4>gM64WqO5WeCO@T`g=&7o6-=)m`ul@JajB__~g z__sMYf<`%so+xaAiAY;pRK?^A^>TNZASz7IRhs{^n$#l@S?8_+CnG=oBhp*{m*z2t z`3hBKa{`!%vXT|H39zD}1iL+xJF4s$FHFxl65nkpHbrjIo1O2zTsXp|KyR(IH6SRK z>S@CjTro00GuA6bSLj)f3n_m&^j^CzWvBOq9}8T_J5y7Z z1dq}G(sRP1!75jd1cfFiehS2a_+vKcKu?riGL|@f5gq+E()!Giit3nDo<(Ml9n)+r z1fDj~D0zCxP4IZUPljm(%jFc|G+FrL#w-`t#-W24b=zzD^pqL$ew-^9V6kASqQnj$ zDlp;*A%i3Eq*$|2{+aUk_Kjb!C%+Db)>xzfLVFAMzk-5abaYwvYx!g7J{%!&V}Z;4SLB=Evg7X*1|&+Om%1rrozW%bl48EW;A{rJ9>hLNyF&Lwilir82`*)BcAqI_Nk zE9AU%(^|rt-i4#;I#N+u(nVY0NGTSz&}2Q>Aftgn=cF6&opwPv1CUmi>P7?o?sW6v zD^lL->)8UTt}^ds5!;2RyuCqnnDOKm#OVrUavow0!!6X(0B5KT+UhUuPjOn-ruyhc zJL#H3R9zMsqu+NEam*RYD5j({>Q{*axQo5pG!8Q64Xn$W>8OB%@!aN%%5eiGHiqM0 zb~1oTQ-3CL|Iehv$$f^~gR23aP)D@G-&83Th}IW!8R+8=13ZyzAKW|84l5)Yf6qJP znV=lbDcp}`)L&79$h=a6>}32g&Ojk8y8zW>Of?m1>ba9Kl!_prAL_V}r~P}r9g#J} z@wnK-bV|$3E}+oc4%}Y;kMX296Hb=YMgDAVs-(+MM_hB(8&`@ct#HdflyHs^PnBk$ zCGwc>v*0B?vEcnjVJ^V|fs=3s`sAMqo&Tr8tBmX5$=J;bPIskTk<*e74xlyIbV zgHbG;*XU=No<-^*P+}p{Bn6sy*xPlRj&c zh~$B;yVVCi*e4mFW&lXvvd)>kDx2yLR$7#Z4@xW(e1-^*^{!w8xBO#ti`VyZl`EY; z_v-P`gQE8Pg~SB4BTB49WD549g5O3#N%OD5duD6R&mkt{Y?R^BZ{I0T^`W_vnfg<- z)Q~Smu%L%y@ej}iQ)n7-)1%heHGh^)ubnm5G|JhSF$8YK>jgYiEbc6yYanjb=M7<- z*Uhk!dOU2<=zD`GTD|pBH5;}`^m*ue(fU7!{-&1sgBlG;4K4F~_dU_Nv4EIl_y@JK z$vBXjkMmFJ9~9`}NdE`*W!C^~M`*UehG*-?PD9w^%CcTG+u1C7dOw$6B%1ymP2}w- zLg?XSt|1yoGBpEsnxrP%w*7IO#>LY$1HzrVy=cF8*@YjPJ?0SpBENGQ0g|gg|3Ti& z!j2x!_zgu}^uo4~sh~okbAE1<&-FNMS!C0ksK3UQ0P5v@1O7v-v)9otc%#mo7~Q zG4$qT8?zwVN~evo3It9r{i_;{oyZ1tY2P_+3)%!q?Z~W)1(Vj*gGL8j8DjikZ$)e7 zJV;O|PCzKomnP_iP8u7<_GYT^lxp`EWn!B)UG3E*?*Rnk&XA~b;4=+Z8-7Xd=fZgw1UVL9lihoVT}`}Ue!>df9(1_kvnG=O{;y^6 zMbbk8GwhLH(tJ;4=RJ4X<=o4TOUCi!XIIX5OL^qV4MfCeh1n}RlFJG=WD>tfn9sdn*3q%Cwt{>*HGJR!^*!*%IF+-7KZ+5 zGC1+KNpASxCOd8Z|4eerS#?jhAFx+?15KhAS-kUFXSEOz=3`^x@cC`P(x(0 zYmYX&1nYRF-VQQisyE~(a^xJ#kxr$UmYX@Kc zMq{$OgPI&-(^wi`8GtWoF8hYvVslaF3c3LmeIZKn>+sHqW&77cL+WSbUU(E5ln#(s z@E&*+7UB*NZ1Pa-J;+-~CTfn|pUnEcZV20ucg=cPhm%-+`U{l$!kuay9X+SR34`z# z-m-z%VR8@tqt;Wout;pbL@M7vl!a|9K^=(oh=JP-S5QVNG^P>wV_1E~6S$er9U#{@ zeekkO>Co3C=8fdz{}C4{@>?8E;DzX=)ySyP7SFF5B9?x_25(Se$ln*}I^YGW$s3ej z%K6p5A*X8#vhZ}2UCDhW-_XGYRqkSW?0=6}?VTkh{w>SU@EaooDmp7xxHOx90lEPu3Jeu_+P8D-b z6Z1KpFj?S_!?1R$HO6z5=XZE#AU`v{JG;nuwewxJBVF)Or63%xc{K@tqhh8m5m30T ziSg#2&+o&%2#KOwwJ)|@%d+dlYMN^9z3b?KTY|p|IY-?j>ne^!4LQ$U8ccsCn+hXc z$1!-e;h5veru_sO4euQD)M(3lUH%}d&}k3L(v8I2J!r^o$Bk+!lA7IDzdM0L0%@j9tk2NF49AiUiG;{dS?>%5NSzfQV^na}MdjBIp5E=JX-il)f|G*b4*{WMfMSA=ZzX zJa<)1aQGQ}(`Pl+$W`ovMNhtR&Xi5+J?~#|R3|i{kEtNGp^r}AVFq3lf1%x?Tr3qb znrQ=K9~(E1fW-@Z zghhZi^ajiKPszS$iJPc)Sj%GW#==E!>V2UXf?2|pUr<52W&>G6yFST74SC#V?vBNN zur{2QJz-$&zDrLkV-r$K03*cyMSS}w71n|>03KKb@QLZvX)O3;f?P7{YjhlphUsc| z%@M)wW2Mi}FXF?A>xUW~wgxE%*9>N>%ZGC6tQ++y?R~Pc+HxHWGOY!Sgj3oIxaveQPuj1+(=u0feAvx`;e4lGL$5zOlo`| zDBozu-A4)ijdTA(YEC;0VqhSq8DGpOD;O8m)Zb46$-9^gBva+&=Tn)j_$)!Iw-ZC2 z+Gh2ngv^T+M+L6Y#>k_B0TJ*m^p>{5Fe!XqX?YpVI;38a0)Lr&!F(*|o>nEBYeH?K zzeETjQpFK$=7Mo~_JSCN;3pK-ofFs4>O?mCuOd$e&;po`C`C7Gqv*>xIjq@T8-THd zMZCje(d^P7!5jRNYHY<)>Xw}P|4Z*Re9 zA98Wi;k=9Fg~kX{Zg>acJj{I!0-UZkh)EbfG^HP?{XDB*q;ZhP_M|p263MP$w;pv=2WqZ&WYDQsx3K=bV;ah70|(hyK;f z|Ft&G`Hx0JTGV4ZNWl8$0Gv9vfE{Ip6au(CTmg^5(5gP>VV~`2_y%=e=A`!Nv*OWB z?;$Qg@o8>-7!cxt79?V=)EyNG&|M5SrLhl5MNj{x>u(lQ$t+wfuBHcvqkvqZlXrj9 zh&(-B%mI^ULJbi3+_OMlCDO<~th<44aU41Zu7+vtZ3j{Ty8rEXW=2j8tVFR}4OV1r z^!`Ll@T$wR*&Eize+#0QWom>1MV`1LoOsRQSC1(ZD>2Rn6hia560<4bnv{4$)R)~b z`c3$M?kSNIKZ9Qp@<-Mx$dF2ry<%r zW(Eix!F;z|;jM;)(am|WxnO$jcTZ=CxHl45JwS);6H7sc!z<(9?eNzqQ~#ttWdDo4 z*w~zZ3leDlV7mp-9uC@mFv$Mj=``TOyAQ87SjhO4zF@fB9o{Z(;27ZsG1Bmw{LoTy z35k;A47qlNXXmY*aic1QoH9v;E*m+RWwakFw?t%$+%HlJCl!@&eH_zrX(L}1FT&*= zI5s1_Q!z-qPS;wTxH%%bN(Zdl*N5u`-J9Uc4VVIZSXL+Lu;oA^6dx~gq1=n*ihs13 zWnO%ba6bXpJ&y0)HLyB3w?wo|yV6o-=ni$K2^%gR;)291t`)zb$d zNkLe|hI|c1XLt^vpp=xY$d{ea<_>3RSAn)?QDaO}v9M<^kkKr;i*Rp0-_zjJ{%y_bz z1K3UELTu_-nNlLne@QG==uoIrPLGAX+PGC9Y#bzMeqf~=zpWaR6-G)(+<%%igKE?& z#kSD|p+m<>)J&bKu*SGzb?#(XRjhHWkR^5wO>{~~jC{EqG0R3CvCfySkR|OrNJvjd zV@y6VHATcp(M*+J5H>c=I$3p$MQT5-uM0YKW4qL0FgHC$C|W{G88+O?^b74JX2St} zVVpLE$iWQk9UXe|8|7d*v+qa~?;P{fBYq_yOjyvRWSt$dr@yZ0|D zW*`+##BVC*@Ij-k+G#FhpiR~kH)bMtYon1iwI_Y)tVB#cv1`o_9U|~2)ssx`VF5+JZj25Qm7ZP&|P=-ATGr#Hes3{YNiVRLZdsOrmG)1v!19L zVa59nY>!km&;CJC;P`&pz2Q8-(8v_nNC0xuiJPE@3agcGT-H7U|zR3MORdc^8=a3OqJlA=~sxq@sea!ul*~4HVCv zP7J!-!-+E?=yJX*`R=o@rjVvgAtDMyeI0RiJ>)hN8*%%nBfLN zKdQ&4Z1W5<1#?O-i#8kO`3r}+v?_C&O99i?cVGL~eza@OMI<_MC5Z3`=^ZY%D~V6( z?rRLUQ3eJ=#%hV9h79G1-5y$}4-!9NPN;Ie^>VVpr}Poc;5ClhVuZn#;o%fdI|RBg zQO0~nj`{BSQQIFD0v(1DMK-3X#M}e4n9SE!xHtVd-;mn7+(|Sjt}4x<1O!kjt(c3g zm>a|y3V{hji=s+gLhRFHh2jr+r-4?XJ5Q+!Lk~Ec90WAVmni-?Wk6~*E^TQwC5tIQd`SWmIy0~V3%w?b#b9hso97^`d}dlaDp3eSY|5b z78EPv()QrdqN*N2tA6Q{mfy_jTgqm{52bWz6bo8IG|dssMJ5x0^oL6mhGe>+%*b>A zil9}+aRW6Mg1lBg3527F6#StGy0IUSBg&K`3ZIGh1ceD^WsSU4oWQIxvWSG~z@^$1 z8ju4f0;!kdj~VNfb8hk^fW?)N@TBU#_HHW$9Guf2hENsGHgxhJ^X%w8Vc&BKks$@nI*PLF z){2M9(RIm}NFvIBBaQFxAe|WBdq8#~MRSF3%|?#&j?+nC@lZHR(D6!auq}}ZCV-Ep zX%6|c2{sz+dH;~P5pgEt3PH(B)H}eG;nuzsM({O%k?3h0g_{)LM7JDXZbQ<7$ zKT>7tW!O|nxQon~Knxg~xiE}`JGjPRjAJ2rZJ~lcd|*iWu@Tg}- z0#;&Br&#ehw9}oCu_6TH)163BESM(|ISHgFoD(TzW2WdSFfV$27Ur?s4&w=pFf==k^WV{AYPMKtLR;p+Io|d2V0B;_DX) zGc!};uYVrl_tHzwm#jN|e#C4%9#qIm0wEb4_nJZj8`2-&y-dA(5G*gB(@U$0JN`u5 z3_Qgzob8J?5-l|nc)ESyy^{0feiPxH^Wng@)q9D* zY9V{m=la}W7eKYSc6t|nySw97uiy24Fui}4{{DFW{`7X@(*Bw~J-)7Y^?ZBQUR{lR zex7{?Jlem}xhlZVV1U)$-C04{l)ip2`vyQxPj*RH$W})lcQN2v9d?;A9V@-=+K{jduDO#e#*7H5Erj-C`n7ieO+T<5S+D= z6TCXOxaU)ac(wMnd-;)RdYG@;)}DI{C$=GUoXORe1aR$1rFG$zc#>v)=&gRT+6~|W zR4*>5TUNfdyg69VX+epv@J1@#%{W_fU2j`lrpe|c2cLVtbZl5-6J^KqeR6+cl-PUq zd0$-DtK%22CG6WT9$dZlPA25RUwx|+AmAh9CE|Z~dg0rsxNmQ--ehn_E}yR+eWj@E zu0RtLnpkL`_i`|6T{<;ypC|QTu6@1h|FzP0f6lsY_e8d+6zZp;zS)WO zWP9J{s!3pLa%s^myU=9vpi(|vj=?^)B=mk+-TZX|3-B!W#;9NK63dlJNP}>^-FiPt zdbizzO@U1>^xEL|Q0MtlqafeWEu^V{^!7Y#&{RIjskOGbsZd-TK$OH(PNW_kJ%0QA zy#3gBJ9}*Z_@0$?;&Yx9y}0|1M|ALBIv6~;>h9y2BLgjPPM9x5m{k2UFGIIZzo7rc z@u~dqhN?ZHRtyhNe!@V2j3G;e^!8rAzTKKXCM&>z{j$vdmnu1ju`cndfy|JFjeNifaVU^l=B)IARh=fQx{?KY8astmRst8Hib=4WcA^jwEb&JTo=wkrk^c9jgqtvuN} zf#+t($f06m;HLBQnmq}}b@YZ|W?op#QuT`PIOLkOkQJj0>+jlcT`QTe%?~Z-tR2mF zSnF{}s79>s&rQpV@g~8dZ4dUH230QOe1h?ekRFq#1z-URHHC1RWJ@}b6{yyAU<(*7 zI^Htkt5v=t{;wK6xV@6}hLLt354OBi`B;N#$_P^XF;1fggYtC8H2h1Dcm z1LLkhwFRAg&;nZsY4UZK8PEX<7U^T~?Z@55>iHaL2fuYOR@wxDq@oI(pjiP<5T61k zVt^Ahk}Z&S|AxR{fN2JKO~dP^*!dmwuk7DJu9G&P_(dhZQ5t^3|AF%NfWM>s?<#OO znj!5{@>amOWoK+b@u4i5L68ChfnXf}(E6986|iFlQ~)px78qvrS6C0g7JiFaqVYG* zIv6*?kKZ_d5BQts8p#I8IUUjsU>F)O?6)-}D~EFFC#1XUtElIoeUg10%9m>C_zn#6~q1BILt2>U$;ax8HVwZ7b?6(KkN0?Iw zkDsq=nO&Itne7|TKN+i_o7zpnvZ@FXc3Op;c25uqBjz@j_x0rkm`ye(Z}FPSU!%iK zD&ATdJGXDIqP>2O9?n0FKkhBxyjavu>N*gFTnDMNo^fYPd7`Gi+?uv}zVftoy95~v zRW6L{-EH0Wk4BFxq}%-P+Sv1*nsrG?<~XyvJ+R647Jr;QpHAj$T@yVc8(Ukf+)Vab zZF~5CguMfFW!u&*9NQJ!wpFpQW7{?=s@S$|+qP4&Dz;N`RZ_v*bII=exxC@dGPNe&36G3wx0V=Oo%xATI|UU@DNCW9ogeBnoHfUO8}S3DHCbas2vX z0Wz+T2kjE*vqlo{eQSyxY(~r!&}@KYm4~@t&rz%w6Yu^T!m7+6zBHgr15rVNjQ=x< zhrYCx1@Xmq#C5f6WVT)Y%Fuf$vTVt(VNDhS*)H|2{9FQ&i};rw_={l6bx@UcsO7#p z0lch4<(oD(Rm6lEK_1np!w0=VYd=uJdxT%=VD`T*#Av{LbjsX|K@P*@s*-sWq7EeW zl6lw)1TKe!3h#+YSYpqKcxodaRY*`P{6;#8cvf8L#I_NC69uas5oJZf2*^;0t(Yo% z3PVttepXD3sf6nmb-Ga(oEMNEP`zajLzjPSDD4_@TfPUl?_UWDoaAS{z8&!9cp4}S z^d2Pfzc-8{x;d}=Jiorii3?;M`QB^4EgnoZzBUW$bK=WYGQPI2|KMW6XRt?hcv@o5 zh*i7oRT%Tw?eO(}Zr{u`PAG92617iFY~ZJ~FCdi2s5v~D;W<%XugRUg|Ay59`AP|Y zZq%&6qu4V=)W)O8c2VEIe|OU=>*yAaiY3X6b!Y1S4f!PeLeGec{<3wtq|(`&z}caO zBgf{Oy{Q|F3JM$GvpK%=H23FGx!AU~7`o+_m-gg(t z17{Ex{bH%XQ-?p#Bj(m#7io0Jsqyo+tL}>!U~9$Wti7Am*EyjLi+=kuJ1vj91pat@ zzSU44R9~RsRDE)vza~Rwr86)QsM(r2(5E=ofC!NuF=8YiAL)xcEy5)-)~;6AXXH8&{1%Oi&6*jgNk z3`ZJMk|TpNdy-u*Q@Z7IVye{CeT#JJyU|ILrv-ofAFYIIQw<8X4se7lcA={e-)8C5562SenZ@ zMX6m)){{hamcEmGDmyu;pK>w@A9b$hD{1`B=SR!Bwc}!SF6KQK9<1Ng(I9zT&yLWV zI-4imOcx$QJr+Be2PD`aeR0B9&pCiYwteMD)`M-B}D@%Y~9i2vE;yZyz@?Z zjKHHi4bUj6?^$sX<3Thf>!ISS)A5uerOGu!@zknE0NEhgeC0)6hpeXy_OY>?y^;%d>m$4#H>e4*f^4B%Y}kl;O-(R)OPpX40l` zVqS^IQ|yEylO<$V_RIqz$IZ7Fr=JsJTR+Cy@sfUupnN*;l8c^TVS%E|lqDm9377s% zOnK;^{s4{=YG#HaHrh;xqvC8T_d5W=I|;v@;QDz#{y8%yHEdCuv@Gkk@kconmRF;@ zu9<2Bau1GXwKHq7MuO3^%KaP@rDsqVw{wwD{|chR-aXjVA6*Zc8*I zR@6Q5z+kc}V=r+6QR=)wW-P!tDHtyY{UV1&H0gKyrKeU;JZ4q*Tus>!rs>Osp|e+4 zW9)gwB!qag#?L!>ExbWH*&}b|s(`OGSt=oy7iz9wuNNMl8P{#|KAjtE7u*k6?xwg} zz9*fx4f;yK-DGa}GMJ04ZGG>ceO6TUWvsKvUg!j1cuKLF<-tgf+Buj`c4~5@ObMQx zc&SYLPGc6+UP(!?GAa3W=g?=ioiUcJ`yP35oh9Dhd@nmoXtvaoPAe@#7QdSGX3wH* zsN9hN6SjVNbqNbST%>`@x;k*y@xVHd2Q-Y%;FxY^`|M|t2@6o_sM-Xt9#vW$XO}9~ zq%8B|d_O`KyLv5M_(t>9)abJJhnes6MulH_n>X#4)>E!U=~Dd**e?7pw@gg`*U{0p zz^Uh5d9d8+SoPL^eEeHKyIv^ZN;7QPAnh9gW?K4CNW}VgcsF{jq(s<}+waI@q{T~K zedbO`h<&z9H9p#QUw%UXzf6cUE|)mS&J$(ye7Wx9Qp#)-d0#37>ma??wa?DSuY;70 z9CG}G%w@O?x0+S+rN^t6rw(xrvO9TO$cT!e@31XV7O9`s{pxm?$@4O2P93uU1o8&@ zwI!@?2rQj{?lUO;u;Nbpd>kw|_IvB*^$%%9UFhaie@9)`Tt@nvJQAP6yG)5k3r&7A_$C~qm6axf!d!&*Rg5pDF@e~ zY-AaAJ@?lL7WrCU9~dyELnQ&SqHtPv#mbjR^hGI-HvR*xEHJC3tJS=&L)?*Y)t%$Z zyPKN)2oTruR=%G?y;Ty9i}9{!mR!EB(s^$b^<5*L=rAvIG5^rvbadF=RuomoYeDY< zpDL%=#51h7Lm2Ei7F6iW>$ls+a`}U zm!tRPwp;Y(o8s@2 zZI1z4fuH~X>;UXh_jzA7ojKaMFp_d$1;sv;#9qRL zW;Ecd{2GtLdIgesS$qSB0tkkx32%4UIzZkHji z=aatHC;becR7(P$e7tY0@;#@6d`$~{L-@?DNX=Izpx6xHqRTo}a{W1vE7Xk+Y2G&X zhQReMI_k~Jsf$UJf}kj?!xZ2%`BP}yN^zTdzm5P7O?L}rH^+1FDzCCOS2lZ=*L+Bu zc}ZI+kKrl4<%SM8vo=&{Wt)120{=yg68WdFw$z^LTh*QY#o2hV{YDjJ&&jDjt+N^en>Le*h*OKjd4AIO~VCi|-sC(I@ zgNJ?#Xzk$uDKaxG_p(V@-)`E*6|el_VY5Dkt1!%XOWKHIwQW{L*f>6 z<|G9x&o|VxCN0NHDiYbDM%tmqzs-l#07%ip<_`A2tvJYmdyoII5Z+-%#sSf#e~xFa zwGGO!83BRD;p)f6vPnvsJ9pi6w%MnoejZWY_teE(B3vfblexuL2i(jsS*u*xju@_s zH%2?}pY_^rnMm8ef2WQ3ac&Tq!=fyVrorlEU#Ul3PMo^ZfBs0;AAda>vd`neuO`$O zA+g#tI#>2REm(&w)QZB8q$zkxQq?Koc(B_qoP<2Ckw_VdJrk?EUArA$d%4mPK7AxX zk2@nIz78Igx)*-=VN9bVMDIPlR+!zd*QHu2oNEkPPXL0~Pq{N#lH!wl4mfj5Ud|!D zvS1Q*qY|y;Yv^{+gMvsyS}L1l@QHu6`}uf9!>mmEn5AMQR%N>e0L6!SX8;(XD-I!q zJ|LeFx%Q8?6swScfQYg&52G*6As$e7u1&7i%n)7ym_cBcL|kx>nAQEeXZk^e>;=c& z!eD4+Bh5u2&?&@GNyqg=6AMF=(aoOEIuT$P38^D9b$+3c*6RVEBvq+r72coS=&lVp z>R!o6DmJ%|F0rgXZ5RxLLJC4q@5FGX8V=Gwhk(HH$Q~)mWs2oGL39NO|DPdIK>r=` zV$A{=((UrEki1W!OAQwP3YiUsLMjyAk0jrpt2|jk0_I{(V}pUcLGu`cA{?cX&Ln0y zi$02AZv;gqW_U{$gtXR`>PjmHVrU5!n(uWksl*LbTUlm*ZTUq6LMR_IbCEi%0qoE& z6b8ikw{R_=*zRp8OykRE5s1-Xm|synQ`3$KD`v-SQoqrfbc#JIPy*UP2S$PxK|~;6 zP}d4z9cQt(=+v(=)o@8s*a}?M7igL9>g-@pT}|QcLtrj52Ga)^{&+y|YdQz&y_yIJ zfdN67=|@pf7~;+rONy$g_Bua`b*B;ofv_&%iE+lJ6WTTp2O(}FI_wmMAlpV6fFS|< zBnqL=oHZ+JtsV#G8z@H060lN&76IGLlq4aS@7bXZF$g8rlzfXL6b?cH#>WnNjZ@@3 zQmNN8X@d%rG1p;hg@OIN${7s9%NoLCgR03E!V;vDJ^+KN`8u8t{!~km1BVKNof$w< zp36H=|BcGDFLM%jHvG?_S=NRC>3AewB_O@=6on8FfuIb9*}q--DKmG3^$Kx|!?@5n z{fcR2VC){n&V)gV!bRNf;fVX+d}Kr+j453ib+jQR-dhk!0%PTjdQk#Ct6;OWhu}n` z1dPNX@EZQmUZ_9;^)JA|Ha@q)m(b^K|1)5||K|Y%5Rm>FyK{Pcx&zjI(>Gs%Spm1c z%a_j6YtjHZ2?`N}Ju7(HRW8Pu=itQgG&F?`~%AZD;T4 zmYNI;k%cM0-@P#i;3fKDkU@rrfyS(sJQjWV8ofj_-bNa+h?k^hO#C*cd)zn{ zjWHm%Myq`$DiTwYGf{IqoTvYE;Ceh;_c~C;wNOO_-89f$>|6rXr$3QBtzKuUXk4Yy zNOiO|r5)^t{Lzd0q3gHwdk!$~PN+DttD+4n%;}{Fqd* zME-DSovFg)MOq6?9g)5tnSS4EvZYUgl~IP3ZvjhaF9t2{iLBMog~Q-~qI9kjjqZ_W zCewSY7u~$fT!?$Tjj@V|=zo-)qjdWwb-&-53c!4Rg5s#$%rEBrO5vhR^jLwN{9LRs zlDqlkEfI6?5r{W@k(P%R!^Fx!&o;xvK04PXk}&AwCg<@6bS*urCnM|TW#i{dO`WIR zV5^azl37&Gd*VWmnZBSnsDa1Z`jjQyFF?>hyJ^rJ9T#Q^L;Al4&Z)yoMC z(A4Jti=K0&BY6FRf9i4Y!;vLxMZCBm*FJr`H@hv8+D?1i-#dioc^+y+q*2hY{-XTN zeOGuei2RYb~P>mQyUjh(S0%I@1Z;9J}Wxx5di$7>rE-o{c;B`y;tmIpn-#b>OmIm@cu`QeR z_gvmuxYbkSn!o0Ppi}1y$rF64bUag3Zx7Z@?LlzHIbsS1q?ngv@07qQ-26CP7G>rf6p9sb z9)X%!hW&s};aV}3D$EinqVO+_e~CC35@r7*0?6wBEh1)EtVy;<|8D^-`LOc{blrsJ z8%3<=C^MHKG=FHhGx`zut5T8U_mCmZPvbiQbBxdZLZu{`ppX&~=Dq2b?lfP3eE!6T zVkgNo3Rx|dh%W0Ld!l#+nh-+5mAO;~AKko0Qh(&!ksHawcPe=P7ccx%@9%6C1y zy-n>4W?dmSnL0^3SYds`0A(?!Pt2Z~EwN4mIoZ80T*mW(B28GI+EdkK71#6RnUz~B%O1oo@O+qq92KCo8KJ* zFJIIhf{Wc@HbRl#oqZK_7kI}B#;&L@UOKcjn;Jt-&E!9aaP(M2jnDF2U_*Db{8Q>Y zxveu?CihNRRT1=vLDv%Zh{3e}8v`97=+TiaQ8HHY9~F1BtOS3n@B|Gu*S8HHl2(0v zzk5}5SN@j{mHZQ+j(3-T>v*5oY-A<fO_62dTiGQQdvYyMFw&szE zZnm@QfavP`w)F$uV0!(HW2XVYDRr!tXvv$4%kKbcZ4EGb^W4R$l?k#{GVLEmF|orv zb65VrW1Y2;j3HEi!*&UkTpy3W0Q?BE(&s%KpZD9iXgw4oSCV3ZDOo?GQA4`== zu8VOc91&+2H=IM;e>qNxOQ%|i20E}ppZ65S2Aej314FfwVTE1rKU|e8#tN#Nz#E{9 z5v5~@oN7&^AW5{GW5C3LVo>2aMS zSz+$&YbbrvC>zPd3BiXNy->X z(3D)sC^mo+SNfC10Ws1uRXU=W(g9h8%E)=7sb{5>QUZc1i#LuuL7fMFw5&4`?{ZYW zsvZJ{i*ib@D#B#4wNe9>I0h^|oU*u9RDR@3m9#&t`HiRq2F5XVd0~PoOSHv7#_Z<- z+x*Bs^B1l9s_2A@c%&C~e&qU;RJrl)x09sAX<7S6Qfg6*l<5gYaf%=`Ri%ksbT#sN zYAFmehCtf$Su@1S^Z{fXHPv*J{74Dq5l`&UCZ3-VO#!sPnZT`5GbiS=0tQWELlCVw zQxOd})}KtR?^2B^P#IEJby_;5ScQdJMMY}lpQy#K|3oE53Z)=gs;5jxRQ;C)y7fQ{ z65uiaSTNHSnej6~bsrn?H2Of(mk)AU)Lp zQU=z7r=`t2fRvL8CI5>uDcC*(;k9_g3dK+Q~SP8<6rjmW*Yh9 z))`cTKz7_s9dSwq?E2GXUJAPIJP0T;9+9A|GA-RH>ubgt{^YbPiZ$_4GSyNH)lfdW zcXFjF*+QqPvsu8CStAWRJ5!o~)|$U%uc-hyiXCsl+c&9o%IKW*w+5(SJQ%JQep(nV z5uuBQABcNUy9ssZ1Y$*rT+?6p?N>5z?(vpE@Og+?jsS+Mm43l z;~gjO(~%^=>r9oL;G%^|murMBlr!ugzo$u?(#>`2ZfhHX7g||ABM1$iiK%OUqR93@ z3sD;1GKhC1-qQ`;b{xY;Ly8B3E&H+SG)Ro_>)9U?E%vkLfHVcZJu4&A-p&12FuR85 zzhWj#Y!yr&BEdqV0X!GRfeQ@^nukp=llXBu+PO|uT%|usL*al*$yI?$0g3|P@s7L+ z4BJw$7U&8x+uFvDSmgLp+-U_|n=E0$;Ke{nJRS@5aU^_V1Bc+4Qru5V7sM%!?Gx?Y z!9%k@VS6uZe9^th_8e6;ov7)mg$4tHRn89-pnB7!AyafzyTMFQ(j3LK(-IuTzNf`I zie;uHIu0Yk$Z%&v5%0McMn)x|#eN!L;lmz2XZqt5qo_l>36Q>2K=7i=jaU(L>{>2s z60#=o-kOSJl*MeynBO& zfp;a|24^%O+2tc4tK!94_n0G;t$#O9 z6Y<}Bh&_!bn{)J)e0XUjB}EG7Cf@fC7i}X&D!?11s8~aF0pSy!9uTrtE8ob;YYOKj zKA+P|gLA=j3d5vS_1i~!`I(wKh@Jo~%N)4|P95S7Gdn7bf7i7YE&#F`E|AXBw{(CU zEA+ajJdAS-Jxqk+m(L#fD+u&9j2dYx{*8p7s+@lxdDkLbuvxD5IB34#)2nksYTIoabRg!e-Y;%~>W zg=@PFIrEwX83}Ih%V}d^Trh8;r?tF~>HiR0^H=#JiJ71XC|mio?t>Xl5|uA_^q*RM z0)7R>{YT0CFHvC8OFEx>_68_eQ1o>G#u+2-&l0Zht1qEi398Yb(crO}{UhfV8qX0p z8vDqlCO|ogaBnC`$4!X}9-8)C`^fzq`^e_gOhCZ)HQ#5emW`$$q_g#|A*&T zEkHJjLh7NVMyx9iW|zN5c9vPtkY9*atHFE2EMlp7N;^g3H(rC53U^djK4y{7a zz^QGdcdXtDBbbf(`sAJFn2K|-W@WMdD0!Ql0|9aEJiB?sSq~D{Aqx(hww@cH>Y7Oa zC|eI$1YS~{Wu5}qi2SXKm!@H#0BqUj+%sR-BEF8@;6%Tk9~tJJ`&&}U2u?ioE?DejpkgyQl= zA5Cb%9s)TEc$y6h0Rz`By)s)S-%58lznL)JoGj`)sl<<~8e~8MZWEV6nzhOR)Q2<1 za+^N)W;HIZEG`QwZTbVS%XoFw#gfXgkM13$T+Z4iaQT6>L)vR^4@8SUz7g`Rz~KW( zmgblwp6dMv(fI>Qe4rMjI11GokAh9@Jf@09sI-JzChZV7xpFGw=w&@IuK{_K! zcb1`!HVT*qP(if>JE)5?1ZW%QY41<>Jg4W(V|hhbA<^$3X<;u63it_Z78)-=9p`6^ z3)ki-eA5OAw_hetpFTmIWm_-Gng&kN5}R=lN5cq5#l_va8O|a~W=NCLdxN<&RHQXi z)Kq^$QUOEqoTWLVDHJl(R#|v-!HVz%ID;LDAvl=RQXMp~eOdc~$Yw(#%+rz0sm4Qt zU}e<9Lu9YSV+HP_2sk8OoqSq=5^|-Znx{^OxP%a+4>b#NMjLIqjehf_zDUT=PA|w# zUc#nV0Z_{zity0rT4p;dQ?tdBA?n+ErYQm7Qa+q(xoZ~;FNGD-qBovjE8|29H%d25x@*NADa09~e z=xb5KsZm&Q1AsSSfQS1z7_U-PZYBJtkh|Be%4d9%<)ELoB~Lyf{@F#Cqs zjV1UiWP4X|Y}>We6;)cL*^0@l!OqI0kNQq;uim%h=V!yvQEf&geqO?yl-5Z8WN|q=dI^Km1cRTPG-aid zlJqZ5oNQjr{yfxF&ha)>MUwC!^SSdw$V1^dY%wGCwu%7rB1iNFNX8X1VICGy9vYfj zZ6Kv3&5*w-iHYH(XaK}qad3{rioe1F51!OiZ_0pu>L*f8jfuVp;8~){v!|bYSXO6`F>~p_p zd4%F0^-33N_<&sXnx84&uOzezGw(XldWusjw*_vOldFZyDm?>!0dJ9X{))2`Ba(Z!mEM zIr6d)i}8fTtOZfxGU75B31NU+@Z*7_a-wutOM#{^K+;GzQOy5YY9?{9Q?*OWSth{( z>#*68WZa7AJ~uEsvIEED3$sZq`Tdl|U!*GUk^Qp+vuSZ4d6tC%IjWY2+lsctWqb6I z#%X^WvX1bFPYMv>FGEUG!GV0FSF?iI-1%cN=GMfVwSnWr(<4oXdXQ{oQf1OJkt)``rL+vNjkBKnFVdJQ9 z2I%C)DgNNLfED*u-V#&V0I!%6`&JA%D@m5l>Bob|3gmhU;gX@6tIy$qN_yruwwQ zh6!#~iH-D$r1EH*rh6jwkdAy7Y1_9!& z3mTnThx`abI3KzV0ph?i2pFbT+AQ@HDa{>DfH?4Mj=DsQN}eGw;)}|jJqb$G=+i<* z!nBg2(w-uf1eU>@R1lbxnw~PmTjzmDrYO)uiL(}(E+bHw6}Jg6nx=aD1@uwHQv48@ zTJ0$GjZE~)yc0oJ^sF~S_2gOj{~=V&m+hhQ)I~O}3-Z-G!R{gD=_je=9<_0rhvENF zhZFcmohZuxR%eR@jhm@7JT{JN`|ImHzI|FDd8s zE{?3iwyHjS^zGn{G>LhnSb4Fgj zEl+6+d`JLD<5v*72d+ef0)-v2jmU{q^Yp7rjJxM=eZ4NjV+u^!i0=7_DaHbDOo8(t zVl;HLocHsqWwx(I?98d*k<2uP0=)h>UpwEg4g@$18LTrvy-+BRj(pl%)Ju{gXxjQC zI^y9V0&OaI8h%x9eF8kV)QpxKMrvv+N?aMCK?<{8ZjL|KuaI8pM)NSVushr3NYk#` zXp8(jV0hqh(n%_zw?P`@M5V&TJ|+%XS2pYBdN=4HX@3N`|G;QCn7+6g+KqPpsjN|l zc~X3Wkeo_^9fUQUp%5P_;P@I;w7Q0c-9^{n6mo1dm;Ex0$VZic>6ITs`Qn%j$+XxN z6Q7BWa4b4)?hzCHLPq?^+dNm#Yd`p0R8gX@XBC30l)Q{ z(wgAH!V0doBx1@|1!w%*tq@XUtEAL+EG#c(ut|eMd0!$%JD9cnY+qb~0@}tCfH*>> z#tKrQcB11m^LYJewr>!g($?yz^1~WJKa=T=J{Ym?;jC0tSx_KC_(jHZULXfnDodrh zs!hcYv5=(assYNe)hN0~*7qB6nG3a`UC!K@Qi2Bj?_>k)fWbrZM2HDjCpcK9AT1wn zxQN=sv*kN<)|kZ0b5kfTuD!b<>8w19o_54Ua)A)js6*>ax1KZJL6x@Oge`(RnTQ@X z4aD7Z$q4H9e1L3;f;@+c8xPQSrd{lbi@~4+CwOcC_LQUUXO!lr)&p?Y zuRx1bpE&}N)Xu~7dH9XM?pI^v0JA&@67QA1oLok#o&3qbQPediSbntlD zq6{#4t7aq{B6#Vo>&r(nk(E1*mAd#I8po$%A4>H(ugn_KMtUw6rWn1o_RS)a?3`XX zYA-FaMg3gwT1@4x3tpeOLlE{ip z(3LFQitLC_!O{ZU3^nuelTC{gyX%3H2lX0|q0GK_e9PC!X3!FyuzKWJHQyaG- z4$uCQ2s!QjpWK`f5ur;+Fm2vXHtg;o|G6RcH&4Ec39!5BZ#WPTw0}Eh4s0f@YGiEt zSBurH)B*eN%=n`}zD81~Wy{zmwVnz0e8R8C+(@_*>R9;wjn6iY`Kn&J z>%lJG>xyog95fIH$5m7coP_6N_SyL3;f+AM?F)S)r5G)3`;UHHNBTiv4K@AG0T&7Uf~<6 z<3{x2LdmQ;=1Rw7%ttnOr&ri4xKagTMQ&ymV>E_@JY;o_|$fyY^>SZK(k`x~R< z_6C~j-@avX@|c&t`;J19%9N-^vtUIE6)89#ZsZ@DbX}|uV9Sa>cyZENl9;n+){tjg zDxsKE2HnbJ8A_*B(Vs@fMrW3Tu2m0wqn&HpbBDZ|u5i!@Tq}+piaR~Y1_P%V4$>2i? zi}PtQ(aM917ORu#(?Z^eDe_SKc7ldPZl9=#? z@f<44dV0$od+9kO%ke(A@5b*gEFUfHeFoEgc>?xw2obNdca&(-5!I7;%$|JlTUK|e zg01?ys)mk-1F81{sVZaD_4^KxU`#U&KaRded~!rLX^OCQXsQh~SU(IEcg-P2- zfqkvJXhA?Q{(VZiTAJCJG5vL9`K!a3w!FgzCpNH;C`#wy(#wWhWT*J$+SN)aB3heh zT(g*tEwvKy8F??_l~cdJ(N_Hs+-2)feT@+O<-%L0JwYqdsR1_4dL*@y^YMuMcM9k+ z(r133J_F^O<%=*v(BI)sa&J%CN6Mav#5<)(Ph(dt-a+ppE4aI0FG%D|l2`!=g} zdhKv^Fj$^2Qth*K{jEoEsJb*M?F?ZgePZB;Qyr*ggy?q(F|tTO(1|N#CDt9A^qwfc zF>eaOzOQV}!)(AHpqIE^fq}TZ6DAP#?po91x4>?+4CN$A(PbiQaC@gbtNfZS>z2h{ z3oEvpcq8y)777~#gK#FH`mWCN+9bmwDNUAuE=FG{H}^Osn8PTHBBQx{w&sC-ulDlz zIF)5(Rhh{Sd81#qdZo6|MYT8AS|U#OjQ;3bwID4W4>rOMndmwdp*f4JY-6+Xd|lC!RJOYlX>2(YrfDHGk@8B~Me`Oc`Wmz`Za!)=MJ+rm zA*&C$a68<7BSrvC;4bfMi>d?794*p=R|&j%Z6vjbIImO- zA^Kq7oY3Bne>1)NzR>)-c>dy$>(c@s$PwqNIzs$r$(;Ts3elM-m|JkF-GG zm^Wdp6W-3^Sx(b((HJ2$mKxfAXLceLuW2EpLZ*?*~qA|?DvLu%>Ue5Exgf9O1YLr+ab z!s2-NDalKOuCo-evOIYlQc!sRRb@Xlxx0gQX=#P3MB?hsszNCOTR|#L<{;hc@Yj{W z8EQ=Npj^(&VTMAg6pefnt`$`i8roqwvpnQ8fA*|%w1#swA!_HG@R(Lwy>E$oYf(9K zMcUlY=E9n8>hFVr4&_^sD_oea`$0jiE!*Xs^oB$Eb}@$plD>~%9Yh*6sEG|bt+oRT z^VXM;V?Pt@f4jL9mVwvUYNy&fW!HXMfQpWiAKwb+)=g<;yhSXnqG5K>ppld?*HL{?(LNI!z0N$VeqI+FCVB+tyJ( ze~?-$j-D1aJ*SeQ+VK3`v8~PtCZ!8+2_;!Vc>dZgrD9U*i>eRk8J?2jh<`Rq=LJP1 zl7Z!#hXF|KpBVGUi$>%Q2id91@FQ2SEla}0d1*OETOe5t?+BCm=ZK1u78e>lEmm9} znVv{BuFbL7*zv63gzX98uxX^3#A>-_997VoBkhng8B#%Ikj0u(lOqu3h#ND7wi!#c-tzt!peg8pYNmg~>E zS_b^Ug92u+pMbwj++188>@@9cnXFvR?Ed=LtBG!a8)QZY`ROY@kvLJx8;-uHj6#K4 z09Pyh@*OI%JF(dKV>`TW*W-)h*s-1bI~Wl=FQ83a+Qkvh`$_^p^z;5$=pH5HB19NE zyB5V##X?fct=$8XL;)O&c47kkK$it`2|_&>%)+q(@w6r!_HEn|yE*VvI-8n6t~e;4MXl0MMzycT$ZVG@bdb9=@OVcTJ8brp#th6 z{D-c;yTkrR-CwO?V`dwG`8f*IZjS;uEZZGw-VE_Qy%Rqeu*ar5P+l_~zGjt@?p=N4;z_9?`zPR(=@%;%uRFV{t%2dq0x zEpH>lgh_Ean9Ce$CKyoY)zXPmr-FGj8BKEC8n2Bl=CV597oPh_x~Np}CCKiLY>Tl8 zVYeHcGP{EaI&J*NnP{84&`h|)9@87xBL|Lg)}&@p-qq#RaWR!2UU)EnRZ* zdqBa)K;hW`5dKH9qO*ge%U`3K6W?GT#EdTfrFZade}W|+!V*1P3WUaHSw@e*!=J*I zY(p%j^4(jWm&0W2ORekmG9SL+QLw#X^&BnLJS91dY878WXm)oW2Rqp~Z!NEY6(mnb z5XBfNx2yY((^$N%H>k4@}^$Qs-ASE~iX0C6No4g*n#s>r>fub#}XbJ*_+ir51)hCsg8Q zz{{0S$ad{vM9ua{_y6L@` zpJ}I*mp_$Z*U`|v&9(apS$*ui$Ibpm-B^G`qpd5W*5v(8b-VUmDkIvKFNQ08@F8_y z^Cr3O&~Cb7MuQHY%zJiZ!JS~&R3l=SMMhkOEL=8nnuLwefyS7XZWc4VJdj70i<{?sC0QPli$eM;RDrWg!GGu5Lx#UM2RY}J6D0i3TNnPl-P_;{y_&2jh$mi_yzx+&Je((9zI}m}w?hb~~Z+b4T-JCy?ib6h1`*#1s@BIU* znJB_IoI9yPog=2<1@qP?A0EJZDrWU!4#rlI*MOlK3CwmwoW4*VY#v`tXDJk}`+Sda z`k^pqg86x8hWD;TkLx!~FBGLg&vA_t)Ugu##i>xH&*vSSuG3RK~i0^uo(aAmHKcAwh#G>g)dW(7SbQx!V)u)uU%i%6Yf< zI0q-P%L#$D@2aIrBgz=5(h6lI&{ z30bH5DA@jh|L2TVIKE=h0|^2WObh~o1)Q;fjl2JvrhqFi;Pq*5WM#`}?Pz9krEcT+ zNex|~%bSbFZU%*#0Udg7m&v= zexHv9bXC`EC&l?dUS)A1NoW*!bnH=5>stkZO8=*S90n;&&#Gr(C8gc8zooU8*cp$+5) z^owRPsH?@C{v3T+!o?49g(OuTe!TC=qpBP(NHN3cNs#k!rT6Qh7|ehprmc z$nwH{{4`q?f14f(isM>G#VbG>hIx)8YOBp|Z=6?Y1@eFD7-QP7F@9Px)H6%rO}ny% zVQ?H}|Gkxn;SF_=kaq|B1jj*y#4pki^928lZBR^)nMaqFS!s96T_a%gzqVAWT{wK# zDcKX7C$1NEKBr}xzAl(!iq+L0ckXR?)A97cS9a#9qFFvk0xC=0j_Uo+I(21d%CsK+ zz`5Sjs{g8fo3T$d0n-5(j>5^_vjP%s+gl&wi{14-+Z)( zn}x$s*6yxA%jpCr^(jrPhCE7DdmgkiM6rC~%J^tp?!bJD?YgB1@G8`x46sGhTZ{&0kkqrf^QHBOzo} zG|#lJHz&?HQuX!`*Z$uJCO=;{OLmuDy5c6=9xb(E?f*(tp(LW1qkG&&if1`-Ah3tQPMw*xoQHQ2Ab+D!-;?^Ao9EAEzB`J#TlV zby7+A+84a*&ihqlsJCpLI$djFZPcMGyR3gV??p-bYzQ3`2{T1o;)2i5BZ)IR?K5B5w;9x+GMD~o76&^>7 zQzVOcQ`{+an*Gn0&u-f1RC8~_}3)Zb-nQZ%Fp5fUiTr56a-bS5GDjmK} z>1-F?FQ{^fFVVVhuJ+mCkeWWrjNjbzBH4wvJr!)YuG+9>CTBF?yiVmfmKU?0_I3Df zG@hThk72@|pOvrHmvGPXUB2jIcSYPwbEcSk0=@t4O7_OxYx?NV^oGynx5KurKlUZ-c_E{e$MyIdg0sc zOVZMMWv1F@ews38_p)<)s;|9iI#j*p=(b6hjH)Y3ecwJ({ZVyS?qKx$&+Df=@dz$H z{pwn~T-}q4TVKmn*F0Xfd|utNo6qOfFDyQNZF*c?>h0C*_x`+g+xlMR_Uz~D`t9z0 zK6$V9xBcHYrw_+}m9eZ^^S$E!%lvaSzwdtkn_h2G|M1cJ{jtCP_S^qoRBCvDcZyv` z>WPpH%vE>ZeTnHGy>Ab2RH4}HFmUd2WJA6Tm)(qMA7&hC<3p0 zlJkqeBhl#Ezudkp{u-z~hlPPb07ZK}Pz0_$v7i8(t4&%GgU$l0x&=n)md^kN1bF5E zXhdl)(C^r^=QT(R838Rn4YW!I#qudUQ0)+(BO8J>6na;SS$FF*FvNwjGVr6A#J~qN zsko#vClx$hi5>>%2TH>9H!$w7MbV6Qyd=6g=<}oqb2N)#<{(X?ple5;ctL0vFNbPJ zn}$I*0evC@VS;A`)C81i33UDFqs9pRcdDTJ(Z`U{jX>{zBaFD(h_yG4ZUA~m7h%BK zCS(J!b$ijxLhm~w%v#orY!+%y65SN^t`@?Sy)DpCLFss*>ql=7BJ@XeAZ0Ps)?t7* TD=-Iva+M%MA~1V+^?`T*!fiy< literal 0 HcmV?d00001 diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/CachedScoredTweetsQueryFeatureHydrator.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/CachedScoredTweetsQueryFeatureHydrator.docx new file mode 100644 index 0000000000000000000000000000000000000000..f09f31f6468c192488dc3505aae2f664e425751b GIT binary patch literal 37480 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 hmt} -import com.twitter.product_mixer.core.feature.Feature -import com.twitter.product_mixer.core.feature.featuremap.FeatureMap -import com.twitter.product_mixer.core.feature.featuremap.FeatureMapBuilder -import com.twitter.product_mixer.core.functional_component.feature_hydrator.QueryFeatureHydrator -import com.twitter.product_mixer.core.model.common.identifier.FeatureHydratorIdentifier -import com.twitter.product_mixer.core.pipeline.PipelineQuery -import com.twitter.servo.cache.TtlCache -import com.twitter.stitch.Stitch -import com.twitter.util.Return -import com.twitter.util.Throw -import com.twitter.util.Time - -import javax.inject.Inject -import javax.inject.Singleton - -/** - * Fetch scored Tweets from cache and exclude the expired ones - */ -@Singleton -case class CachedScoredTweetsQueryFeatureHydrator @Inject() ( - scoredTweetsCache: TtlCache[Long, hmt.ScoredTweetsResponse]) - extends QueryFeatureHydrator[PipelineQuery] { - - override val identifier: FeatureHydratorIdentifier = - FeatureHydratorIdentifier("CachedScoredTweets") - - override val features: Set[Feature[_, _]] = Set(CachedScoredTweetsFeature) - - override def hydrate(query: PipelineQuery): Stitch[FeatureMap] = { - val userId = query.getRequiredUserId - val tweetScoreTtl = query.params(CachedScoredTweets.TTLParam) - - Stitch.callFuture(scoredTweetsCache.get(Seq(userId))).map { keyValueResult => - keyValueResult(userId) match { - case Return(cachedCandidatesOpt) => - val cachedScoredTweets = cachedCandidatesOpt.map(_.scoredTweets).getOrElse(Seq.empty) - val nonExpiredTweets = cachedScoredTweets.filter { tweet => - tweet.lastScoredTimestampMs.exists(Time.fromMilliseconds(_).untilNow < tweetScoreTtl) - } - FeatureMapBuilder().add(CachedScoredTweetsFeature, nonExpiredTweets).build() - case Throw(exception) => throw exception - } - } - } -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/EarlybirdFeatureHydrator.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/EarlybirdFeatureHydrator.docx new file mode 100644 index 0000000000000000000000000000000000000000..1fd801a262e756484a313149e1d57839470128e7 GIT binary patch literal 38563 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 H`EvAsSmQYm literal 0 HcmV?d00001 diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/EarlybirdFeatureHydrator.scala b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/EarlybirdFeatureHydrator.scala deleted file mode 100644 index cc3c2aeeb..000000000 --- a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/EarlybirdFeatureHydrator.scala +++ /dev/null @@ -1,151 +0,0 @@ -package com.twitter.home_mixer.product.scored_tweets.feature_hydrator - -import com.twitter.finagle.stats.StatsReceiver -import com.twitter.home_mixer.product.scored_tweets.feature_hydrator.adapters.earlybird.EarlybirdAdapter -import com.twitter.home_mixer.model.HomeFeatures.DeviceLanguageFeature -import com.twitter.home_mixer.model.HomeFeatures.EarlybirdFeature -import com.twitter.home_mixer.model.HomeFeatures.EarlybirdSearchResultFeature -import com.twitter.home_mixer.model.HomeFeatures.IsRetweetFeature -import com.twitter.home_mixer.model.HomeFeatures.TweetUrlsFeature -import com.twitter.home_mixer.model.HomeFeatures.UserScreenNameFeature -import com.twitter.home_mixer.param.HomeMixerInjectionNames.EarlybirdRepository -import com.twitter.home_mixer.util.ObservedKeyValueResultHandler -import com.twitter.home_mixer.util.earlybird.EarlybirdResponseUtil -import com.twitter.ml.api.DataRecord -import com.twitter.product_mixer.component_library.feature_hydrator.query.social_graph.SGSFollowedUsersFeature -import com.twitter.product_mixer.component_library.model.candidate.TweetCandidate -import com.twitter.product_mixer.core.feature.Feature -import com.twitter.product_mixer.core.feature.FeatureWithDefaultOnFailure -import com.twitter.product_mixer.core.feature.datarecord.DataRecordInAFeature -import com.twitter.product_mixer.core.feature.featuremap.FeatureMap -import com.twitter.product_mixer.core.feature.featuremap.FeatureMapBuilder -import com.twitter.product_mixer.core.functional_component.feature_hydrator.BulkCandidateFeatureHydrator -import com.twitter.product_mixer.core.model.common.CandidateWithFeatures -import com.twitter.product_mixer.core.model.common.identifier.FeatureHydratorIdentifier -import com.twitter.product_mixer.core.pipeline.PipelineQuery -import com.twitter.product_mixer.core.util.OffloadFuturePools -import com.twitter.search.earlybird.{thriftscala => eb} -import com.twitter.servo.keyvalue.KeyValueResult -import com.twitter.servo.repository.KeyValueRepository -import com.twitter.stitch.Stitch -import com.twitter.util.Return -import javax.inject.Inject -import javax.inject.Named -import javax.inject.Singleton -import scala.collection.JavaConverters._ - -object EarlybirdDataRecordFeature - extends DataRecordInAFeature[TweetCandidate] - with FeatureWithDefaultOnFailure[TweetCandidate, DataRecord] { - override def defaultValue: DataRecord = new DataRecord() -} - -@Singleton -class EarlybirdFeatureHydrator @Inject() ( - @Named(EarlybirdRepository) client: KeyValueRepository[ - (Seq[Long], Long), - Long, - eb.ThriftSearchResult - ], - override val statsReceiver: StatsReceiver) - extends BulkCandidateFeatureHydrator[PipelineQuery, TweetCandidate] - with ObservedKeyValueResultHandler { - - override val identifier: FeatureHydratorIdentifier = FeatureHydratorIdentifier("Earlybird") - - override val features: Set[Feature[_, _]] = Set( - EarlybirdDataRecordFeature, - EarlybirdFeature, - EarlybirdSearchResultFeature, - TweetUrlsFeature - ) - - override val statScope: String = identifier.toString - - private val scopedStatsReceiver = statsReceiver.scope(statScope) - private val originalKeyFoundCounter = scopedStatsReceiver.counter("originalKey/found") - private val originalKeyLossCounter = scopedStatsReceiver.counter("originalKey/loss") - - private val ebSearchResultNotExistPredicate: CandidateWithFeatures[TweetCandidate] => Boolean = - candidate => candidate.features.getOrElse(EarlybirdSearchResultFeature, None).isEmpty - private val ebFeaturesNotExistPredicate: CandidateWithFeatures[TweetCandidate] => Boolean = - candidate => candidate.features.getOrElse(EarlybirdFeature, None).isEmpty - - override def apply( - query: PipelineQuery, - candidates: Seq[CandidateWithFeatures[TweetCandidate]] - ): Stitch[Seq[FeatureMap]] = OffloadFuturePools.offloadFuture { - val candidatesToHydrate = candidates.filter { candidate => - val isEmpty = - ebFeaturesNotExistPredicate(candidate) && ebSearchResultNotExistPredicate(candidate) - if (isEmpty) originalKeyLossCounter.incr() else originalKeyFoundCounter.incr() - isEmpty - } - - client((candidatesToHydrate.map(_.candidate.id), query.getRequiredUserId)) - .map(handleResponse(query, candidates, _, candidatesToHydrate)) - } - - private def handleResponse( - query: PipelineQuery, - candidates: Seq[CandidateWithFeatures[TweetCandidate]], - results: KeyValueResult[Long, eb.ThriftSearchResult], - candidatesToHydrate: Seq[CandidateWithFeatures[TweetCandidate]] - ): Seq[FeatureMap] = { - val queryFeatureMap = query.features.getOrElse(FeatureMap.empty) - val userLanguages = queryFeatureMap.getOrElse(UserLanguagesFeature, Seq.empty) - val uiLanguageCode = queryFeatureMap.getOrElse(DeviceLanguageFeature, None) - val screenName = queryFeatureMap.getOrElse(UserScreenNameFeature, None) - val followedUserIds = queryFeatureMap.getOrElse(SGSFollowedUsersFeature, Seq.empty).toSet - - val searchResults = candidatesToHydrate - .map { candidate => - observedGet(Some(candidate.candidate.id), results) - }.collect { - case Return(Some(value)) => value - } - - val allSearchResults = searchResults ++ - candidates.filter(!ebSearchResultNotExistPredicate(_)).flatMap { candidate => - candidate.features - .getOrElse(EarlybirdSearchResultFeature, None) - } - val idToSearchResults = allSearchResults.map(sr => sr.id -> sr).toMap - val tweetIdToEbFeatures = EarlybirdResponseUtil.getTweetThriftFeaturesByTweetId( - searcherUserId = query.getRequiredUserId, - screenName = screenName, - userLanguages = userLanguages, - uiLanguageCode = uiLanguageCode, - followedUserIds = followedUserIds, - mutuallyFollowingUserIds = Set.empty, - searchResults = allSearchResults, - sourceTweetSearchResults = Seq.empty, - ) - - candidates.map { candidate => - val transformedEbFeatures = tweetIdToEbFeatures.get(candidate.candidate.id) - val earlybirdFeatures = - if (transformedEbFeatures.nonEmpty) transformedEbFeatures - else candidate.features.getOrElse(EarlybirdFeature, None) - - val candidateIsRetweet = candidate.features.getOrElse(IsRetweetFeature, false) - val sourceTweetEbFeatures = - candidate.features.getOrElse(SourceTweetEarlybirdFeature, None) - - val originalTweetEbFeatures = - if (candidateIsRetweet && sourceTweetEbFeatures.nonEmpty) - sourceTweetEbFeatures - else earlybirdFeatures - - val earlybirdDataRecord = - EarlybirdAdapter.adaptToDataRecords(originalTweetEbFeatures).asScala.head - - FeatureMapBuilder() - .add(EarlybirdFeature, earlybirdFeatures) - .add(EarlybirdDataRecordFeature, earlybirdDataRecord) - .add(EarlybirdSearchResultFeature, idToSearchResults.get(candidate.candidate.id)) - .add(TweetUrlsFeature, earlybirdFeatures.flatMap(_.urlsList).getOrElse(Seq.empty)) - .build() - } - } -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/FrsSeedUsersQueryFeatureHydrator.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/FrsSeedUsersQueryFeatureHydrator.docx new file mode 100644 index 0000000000000000000000000000000000000000..8ae74f428d674fa40bb689a0afaa277909edd1b1 GIT binary patch literal 37599 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%0D&!0muAgF3Cc^|RcltlC_o1*NY=Ubq`+hX#o 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 Dk%eM? literal 0 HcmV?d00001 diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/FrsSeedUsersQueryFeatureHydrator.scala b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/FrsSeedUsersQueryFeatureHydrator.scala deleted file mode 100644 index 2508067b0..000000000 --- a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/FrsSeedUsersQueryFeatureHydrator.scala +++ /dev/null @@ -1,64 +0,0 @@ -package com.twitter.home_mixer.product.scored_tweets.feature_hydrator - -import com.twitter.follow_recommendations.{thriftscala => frs} -import com.twitter.home_mixer.product.scored_tweets.model.ScoredTweetsQuery -import com.twitter.product_mixer.component_library.candidate_source.recommendations.UserFollowRecommendationsCandidateSource -import com.twitter.product_mixer.component_library.model.candidate.TweetCandidate -import com.twitter.product_mixer.core.feature.Feature -import com.twitter.product_mixer.core.feature.featuremap.FeatureMap -import com.twitter.product_mixer.core.feature.featuremap.FeatureMapBuilder -import com.twitter.product_mixer.core.functional_component.candidate_source.strato.StratoKeyView -import com.twitter.product_mixer.core.functional_component.feature_hydrator.QueryFeatureHydrator -import com.twitter.product_mixer.core.model.common.identifier.FeatureHydratorIdentifier -import com.twitter.stitch.Stitch -import javax.inject.Inject -import javax.inject.Singleton - -object FrsSeedUserIdsFeature extends Feature[TweetCandidate, Option[Seq[Long]]] -object FrsUserToFollowedByUserIdsFeature extends Feature[TweetCandidate, Map[Long, Seq[Long]]] - -@Singleton -case class FrsSeedUsersQueryFeatureHydrator @Inject() ( - userFollowRecommendationsCandidateSource: UserFollowRecommendationsCandidateSource) - extends QueryFeatureHydrator[ScoredTweetsQuery] { - - private val maxUsersToFetch = 100 - - override val identifier: FeatureHydratorIdentifier = FeatureHydratorIdentifier("FrsSeedUsers") - - override def features: Set[Feature[_, _]] = Set( - FrsSeedUserIdsFeature, - FrsUserToFollowedByUserIdsFeature - ) - - override def hydrate(query: ScoredTweetsQuery): Stitch[FeatureMap] = { - val frsRequest = frs.RecommendationRequest( - clientContext = frs.ClientContext(query.getOptionalUserId), - displayLocation = frs.DisplayLocation.HomeTimelineTweetRecs, - maxResults = Some(maxUsersToFetch) - ) - - userFollowRecommendationsCandidateSource(StratoKeyView(frsRequest, Unit)) - .map { userRecommendations: Seq[frs.UserRecommendation] => - val seedUserIds = userRecommendations.map(_.userId) - val seedUserIdsSet = seedUserIds.toSet - - val userToFollowedByUserIds: Map[Long, Seq[Long]] = userRecommendations.flatMap { - userRecommendation => - if (seedUserIdsSet.contains(userRecommendation.userId)) { - val followProof = - userRecommendation.reason.flatMap(_.accountProof).flatMap(_.followProof) - val followedByUserIds = followProof.map(_.userIds).getOrElse(Seq.empty) - Some(userRecommendation.userId -> followedByUserIds) - } else { - None - } - }.toMap - - FeatureMapBuilder() - .add(FrsSeedUserIdsFeature, Some(seedUserIds)) - .add(FrsUserToFollowedByUserIdsFeature, userToFollowedByUserIds) - .build() - } - } -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/GizmoduckAuthorFeatureHydrator.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/GizmoduckAuthorFeatureHydrator.docx new file mode 100644 index 0000000000000000000000000000000000000000..bb910f8340cff269d85e1b4593d9f03a31cd04d9 GIT binary patch literal 37988 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 literal 0 HcmV?d00001 diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/GizmoduckAuthorFeatureHydrator.scala b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/GizmoduckAuthorFeatureHydrator.scala deleted file mode 100644 index 7c96ef474..000000000 --- a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/GizmoduckAuthorFeatureHydrator.scala +++ /dev/null @@ -1,83 +0,0 @@ -package com.twitter.home_mixer.product.scored_tweets.feature_hydrator - -import com.twitter.conversions.DurationOps._ -import com.twitter.ads.entities.db.{thriftscala => ae} -import com.twitter.gizmoduck.{thriftscala => gt} -import com.twitter.home_mixer.model.HomeFeatures.AuthorIdFeature -import com.twitter.home_mixer.model.HomeFeatures.AuthorIsBlueVerifiedFeature -import com.twitter.home_mixer.model.HomeFeatures.AuthorIsProtectedFeature -import com.twitter.home_mixer.model.HomeFeatures.FromInNetworkSourceFeature -import com.twitter.home_mixer.model.HomeFeatures.InReplyToTweetIdFeature -import com.twitter.home_mixer.model.HomeFeatures.IsRetweetFeature -import com.twitter.home_mixer.model.HomeFeatures.IsSupportAccountReplyFeature -import com.twitter.product_mixer.component_library.model.candidate.TweetCandidate -import com.twitter.product_mixer.core.feature.Feature -import com.twitter.product_mixer.core.feature.featuremap.FeatureMap -import com.twitter.product_mixer.core.feature.featuremap.FeatureMapBuilder -import com.twitter.product_mixer.core.functional_component.feature_hydrator.BulkCandidateFeatureHydrator -import com.twitter.product_mixer.core.model.common.CandidateWithFeatures -import com.twitter.product_mixer.core.model.common.identifier.FeatureHydratorIdentifier -import com.twitter.product_mixer.core.pipeline.PipelineQuery -import com.twitter.product_mixer.core.util.OffloadFuturePools -import com.twitter.stitch.Stitch -import com.twitter.snowflake.id.SnowflakeId -import javax.inject.Inject -import javax.inject.Singleton - -@Singleton -class GizmoduckAuthorFeatureHydrator @Inject() (gizmoduck: gt.UserService.MethodPerEndpoint) - extends BulkCandidateFeatureHydrator[PipelineQuery, TweetCandidate] { - - override val identifier: FeatureHydratorIdentifier = - FeatureHydratorIdentifier("GizmoduckAuthor") - - override val features: Set[Feature[_, _]] = - Set(AuthorIsBlueVerifiedFeature, AuthorIsProtectedFeature, IsSupportAccountReplyFeature) - - private val queryFields: Set[gt.QueryFields] = - Set(gt.QueryFields.AdvertiserAccount, gt.QueryFields.Profile, gt.QueryFields.Safety) - - override def apply( - query: PipelineQuery, - candidates: Seq[CandidateWithFeatures[TweetCandidate]] - ): Stitch[Seq[FeatureMap]] = OffloadFuturePools.offloadFuture { - val authorIds = candidates.flatMap(_.features.getOrElse(AuthorIdFeature, None)) - - val response = gizmoduck.get( - userIds = authorIds.distinct, - queryFields = queryFields, - context = gt.LookupContext() - ) - - response.map { hydratedAuthors => - val userMetadataMap = hydratedAuthors - .collect { - case userResult if userResult.user.isDefined => - val user = userResult.user.get - val blueVerified = user.safety.flatMap(_.isBlueVerified).getOrElse(false) - val isProtected = user.safety.exists(_.isProtected) - (user.id, (blueVerified, isProtected)) - }.toMap.withDefaultValue((false, false)) - - candidates.map { candidate => - val authorId = candidate.features.get(AuthorIdFeature).get - val (isBlueVerified, isProtected) = userMetadataMap(authorId) - - // Some accounts run promotions on Twitter and send replies automatically. - // We assume that a reply that took more than one minute is not an auto-reply. - // If time difference doesn't exist, this means that one of the tweets was - // not snowflake and therefore much older, and therefore OK as an extended reply. - val timeDifference = candidate.features.getOrElse(InReplyToTweetIdFeature, None).map { - SnowflakeId.timeFromId(candidate.candidate.id) - SnowflakeId.timeFromId(_) - } - val isAutoReply = timeDifference.exists(_ < 1.minute) - - FeatureMapBuilder() - .add(AuthorIsBlueVerifiedFeature, isBlueVerified) - .add(AuthorIsProtectedFeature, isProtected) - .add(IsSupportAccountReplyFeature, isAutoReply) - .build() - } - } - } -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/GraphTwoHopFeatureHydrator.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/GraphTwoHopFeatureHydrator.docx new file mode 100644 index 0000000000000000000000000000000000000000..f9fa9c4e3cbd54d6c8094f6e18881ae8482f70c5 GIT binary patch literal 38108 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

    Rwbvib0r|kqB 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 gfs} -import com.twitter.home_mixer.model.HomeFeatures.FollowedByUserIdsFeature -import com.twitter.home_mixer.model.HomeFeatures.FromInNetworkSourceFeature -import com.twitter.home_mixer.model.HomeFeatures.IsRetweetFeature -import com.twitter.home_mixer.param.HomeMixerInjectionNames.GraphTwoHopRepository -import com.twitter.home_mixer.util.CandidatesUtil -import com.twitter.home_mixer.util.ObservedKeyValueResultHandler -import com.twitter.ml.api.DataRecord -import com.twitter.product_mixer.component_library.model.candidate.TweetCandidate -import com.twitter.product_mixer.core.feature.Feature -import com.twitter.product_mixer.core.feature.FeatureWithDefaultOnFailure -import com.twitter.product_mixer.core.feature.datarecord.DataRecordInAFeature -import com.twitter.product_mixer.core.feature.featuremap.FeatureMap -import com.twitter.product_mixer.core.feature.featuremap.FeatureMapBuilder -import com.twitter.product_mixer.core.functional_component.feature_hydrator.BulkCandidateFeatureHydrator -import com.twitter.product_mixer.core.model.common.CandidateWithFeatures -import com.twitter.product_mixer.core.model.common.identifier.FeatureHydratorIdentifier -import com.twitter.product_mixer.core.pipeline.PipelineQuery -import com.twitter.product_mixer.core.util.OffloadFuturePools -import com.twitter.servo.repository.KeyValueRepository -import com.twitter.stitch.Stitch -import com.twitter.timelines.prediction.adapters.two_hop_features.TwoHopFeaturesAdapter -import com.twitter.util.Try -import javax.inject.Inject -import javax.inject.Named -import javax.inject.Singleton -import scala.collection.JavaConverters._ - -object GraphTwoHopFeature - extends DataRecordInAFeature[TweetCandidate] - with FeatureWithDefaultOnFailure[TweetCandidate, DataRecord] { - override def defaultValue: DataRecord = new DataRecord() -} - -@Singleton -class GraphTwoHopFeatureHydrator @Inject() ( - @Named(GraphTwoHopRepository) client: KeyValueRepository[(Seq[Long], Long), Long, Seq[ - gfs.IntersectionValue - ]], - override val statsReceiver: StatsReceiver) - extends BulkCandidateFeatureHydrator[PipelineQuery, TweetCandidate] - with ObservedKeyValueResultHandler { - - override val identifier: FeatureHydratorIdentifier = FeatureHydratorIdentifier("GraphTwoHop") - - override val features: Set[Feature[_, _]] = Set(GraphTwoHopFeature, FollowedByUserIdsFeature) - - override val statScope: String = identifier.toString - - private val twoHopFeaturesAdapter = new TwoHopFeaturesAdapter - - private val FollowFeatureType = gfs.FeatureType(gfs.EdgeType.Following, gfs.EdgeType.FollowedBy) - - override def apply( - query: PipelineQuery, - candidates: Seq[CandidateWithFeatures[TweetCandidate]] - ): Stitch[Seq[FeatureMap]] = OffloadFuturePools.offloadFuture { - // Apply filters to in network candidates for retweets only. - val (inNetworkCandidates, oonCandidates) = candidates.partition { candidate => - candidate.features.getOrElse(FromInNetworkSourceFeature, false) - } - - val inNetworkCandidatesToHydrate = - inNetworkCandidates.filter(_.features.getOrElse(IsRetweetFeature, false)) - - val candidatesToHydrate = (inNetworkCandidatesToHydrate ++ oonCandidates) - .flatMap(candidate => CandidatesUtil.getOriginalAuthorId(candidate.features)).distinct - - val response = client((candidatesToHydrate, query.getRequiredUserId)) - - response.map { result => - candidates.map { candidate => - val originalAuthorId = CandidatesUtil.getOriginalAuthorId(candidate.features) - - val value = observedGet(key = originalAuthorId, keyValueResult = result) - val transformedValue = postTransformer(value) - val followedByUserIds = value.toOption - .flatMap(getFollowedByUserIds(_)) - .getOrElse(Seq.empty) - - FeatureMapBuilder() - .add(GraphTwoHopFeature, transformedValue) - .add(FollowedByUserIdsFeature, followedByUserIds) - .build() - } - } - } - - private def getFollowedByUserIds(input: Option[Seq[gfs.IntersectionValue]]): Option[Seq[Long]] = - input.map(_.filter(_.featureType == FollowFeatureType).flatMap(_.intersectionIds).flatten) - - private def postTransformer(input: Try[Option[Seq[gfs.IntersectionValue]]]): Try[DataRecord] = - input.map(twoHopFeaturesAdapter.adaptToDataRecords(_).asScala.head) -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/IsExtendedReplyFeatureHydrator.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/IsExtendedReplyFeatureHydrator.docx new file mode 100644 index 0000000000000000000000000000000000000000..e238a4fbedbd56d419475f6ebe8d442bd0964745 GIT binary patch literal 37355 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 literal 0 HcmV?d00001 diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/IsExtendedReplyFeatureHydrator.scala b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/IsExtendedReplyFeatureHydrator.scala deleted file mode 100644 index fb114e55c..000000000 --- a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/IsExtendedReplyFeatureHydrator.scala +++ /dev/null @@ -1,45 +0,0 @@ -package com.twitter.home_mixer.product.scored_tweets.feature_hydrator - -import com.twitter.home_mixer.model.HomeFeatures.InReplyToTweetIdFeature -import com.twitter.home_mixer.model.HomeFeatures.InReplyToUserIdFeature -import com.twitter.home_mixer.model.HomeFeatures.IsExtendedReplyFeature -import com.twitter.home_mixer.model.HomeFeatures.IsRetweetFeature -import com.twitter.product_mixer.component_library.feature_hydrator.query.social_graph.SGSFollowedUsersFeature -import com.twitter.product_mixer.component_library.model.candidate.TweetCandidate -import com.twitter.product_mixer.core.feature.Feature -import com.twitter.product_mixer.core.feature.featuremap.FeatureMap -import com.twitter.product_mixer.core.feature.featuremap.FeatureMapBuilder -import com.twitter.product_mixer.core.functional_component.feature_hydrator.BulkCandidateFeatureHydrator -import com.twitter.product_mixer.core.model.common.CandidateWithFeatures -import com.twitter.product_mixer.core.model.common.identifier.FeatureHydratorIdentifier -import com.twitter.product_mixer.core.pipeline.PipelineQuery -import com.twitter.product_mixer.core.util.OffloadFuturePools -import com.twitter.stitch.Stitch - -object IsExtendedReplyFeatureHydrator - extends BulkCandidateFeatureHydrator[PipelineQuery, TweetCandidate] { - - override val identifier: FeatureHydratorIdentifier = FeatureHydratorIdentifier("IsExtendedReply") - - override def features: Set[Feature[_, _]] = Set(IsExtendedReplyFeature) - - private val TrueFeatureMap = FeatureMapBuilder().add(IsExtendedReplyFeature, true).build() - private val FalseFeatureMap = FeatureMapBuilder().add(IsExtendedReplyFeature, false).build() - - override def apply( - query: PipelineQuery, - candidates: Seq[CandidateWithFeatures[TweetCandidate]] - ): Stitch[Seq[FeatureMap]] = OffloadFuturePools.offload { - val followedUsers = - query.features.map(_.get(SGSFollowedUsersFeature)).getOrElse(Seq.empty).toSet - - candidates.map { candidate => - val features = candidate.features - val isExtendedReply = features.getOrElse(InReplyToTweetIdFeature, None).nonEmpty && - !features.getOrElse(IsRetweetFeature, false) && - features.getOrElse(InReplyToUserIdFeature, None).exists(!followedUsers.contains(_)) - - if (isExtendedReply) TrueFeatureMap else FalseFeatureMap - } - } -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/ListIdsQueryFeatureHydrator.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/ListIdsQueryFeatureHydrator.docx new file mode 100644 index 0000000000000000000000000000000000000000..8bdc806c34bd6c39ac84443e65cede497feca82e GIT binary patch literal 37416 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 sg} -import com.twitter.stitch.Stitch -import com.twitter.stitch.socialgraph.SocialGraph -import javax.inject.Inject -import javax.inject.Singleton - -case object ListIdsFeature extends FeatureWithDefaultOnFailure[PipelineQuery, Seq[Long]] { - override val defaultValue: Seq[Long] = Seq.empty -} - -@Singleton -class ListIdsQueryFeatureHydrator @Inject() (socialGraph: SocialGraph) - extends QueryFeatureHydrator[PipelineQuery] { - - override val identifier: FeatureHydratorIdentifier = FeatureHydratorIdentifier("ListIds") - - override val features: Set[Feature[_, _]] = Set(ListIdsFeature) - - private val MaxListsToFetch = 20 - - override def hydrate(query: PipelineQuery): Stitch[FeatureMap] = { - val userId = query.getRequiredUserId - - val ownedSubscribedRequest = sg.IdsRequest( - relationships = Seq( - sg.SrcRelationship(userId, sg.RelationshipType.ListIsSubscriber, hasRelationship = true), - sg.SrcRelationship(userId, sg.RelationshipType.ListOwning, hasRelationship = true) - ), - pageRequest = Some(sg.PageRequest(selectAll = Some(false), count = Some(MaxListsToFetch))), - context = Some( - sg.LookupContext( - includeInactive = false, - performUnion = Some(true), - includeAll = Some(false) - ) - ) - ) - - socialGraph.ids(ownedSubscribedRequest).map { response => - FeatureMapBuilder().add(ListIdsFeature, response.ids).build() - } - } -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/MetricCenterUserCountingFeatureHydrator.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/MetricCenterUserCountingFeatureHydrator.docx new file mode 100644 index 0000000000000000000000000000000000000000..b152860cc0677f8b2581046ee9be80de7d5f97f6 GIT binary patch literal 37661 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 rf} -import com.twitter.product_mixer.component_library.model.candidate.TweetCandidate -import com.twitter.product_mixer.core.feature.Feature -import com.twitter.product_mixer.core.feature.featuremap.FeatureMap -import com.twitter.product_mixer.core.feature.featuremap.FeatureMapBuilder -import com.twitter.product_mixer.core.functional_component.feature_hydrator.BulkCandidateFeatureHydrator -import com.twitter.product_mixer.core.model.common.CandidateWithFeatures -import com.twitter.product_mixer.core.model.common.identifier.FeatureHydratorIdentifier -import com.twitter.product_mixer.core.pipeline.PipelineQuery -import com.twitter.product_mixer.core.util.OffloadFuturePools -import com.twitter.servo.keyvalue.KeyValueResult -import com.twitter.servo.repository.KeyValueRepository -import com.twitter.stitch.Stitch -import com.twitter.util.Future -import javax.inject.Inject -import javax.inject.Named -import javax.inject.Singleton - -object MetricCenterUserCountingFeature - extends Feature[TweetCandidate, Option[rf.MCUserCountingFeatures]] - -@Singleton -class MetricCenterUserCountingFeatureHydrator @Inject() ( - @Named(MetricCenterUserCountingFeatureRepository) client: KeyValueRepository[Seq[ - Long - ], Long, rf.MCUserCountingFeatures], - override val statsReceiver: StatsReceiver) - extends BulkCandidateFeatureHydrator[PipelineQuery, TweetCandidate] - with ObservedKeyValueResultHandler { - - override val identifier: FeatureHydratorIdentifier = - FeatureHydratorIdentifier("MetricCenterUserCounting") - - override val features: Set[Feature[_, _]] = Set(MetricCenterUserCountingFeature) - - override val statScope: String = identifier.toString - - override def apply( - query: PipelineQuery, - candidates: Seq[CandidateWithFeatures[TweetCandidate]] - ): Stitch[Seq[FeatureMap]] = OffloadFuturePools.offloadFuture { - val possiblyAuthorIds = extractKeys(candidates) - val userIds = possiblyAuthorIds.flatten - - val response: Future[KeyValueResult[Long, rf.MCUserCountingFeatures]] = - if (userIds.isEmpty) Future.value(KeyValueResult.empty) else client(userIds) - - response.map { result => - possiblyAuthorIds.map { possiblyAuthorId => - val value = observedGet(key = possiblyAuthorId, keyValueResult = result) - FeatureMapBuilder().add(MetricCenterUserCountingFeature, value).build() - } - } - } - - private def extractKeys( - candidates: Seq[CandidateWithFeatures[TweetCandidate]] - ): Seq[Option[Long]] = { - candidates.map { candidate => - candidate.features - .getTry(AuthorIdFeature) - .toOption - .flatten - } - } -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/RealGraphQueryFeatureHydrator.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/RealGraphQueryFeatureHydrator.docx new file mode 100644 index 0000000000000000000000000000000000000000..82ddcfbae35346bb2c6c5a0312bc17ed2dd39003 GIT binary patch literal 37390 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 wy{m;Vg|7t~DkvQ ig} -import javax.inject.Inject -import javax.inject.Singleton - -object RealTimeInteractionGraphUserVertexQueryFeature - extends Feature[PipelineQuery, Option[ig.UserVertex]] - -@Singleton -class RealTimeInteractionGraphUserVertexQueryFeatureHydrator @Inject() ( - @Named(RealTimeInteractionGraphUserVertexCache) client: ReadCache[Long, ig.UserVertex], - override val statsReceiver: StatsReceiver) - extends QueryFeatureHydrator[PipelineQuery] - with ObservedKeyValueResultHandler { - - override val identifier: FeatureHydratorIdentifier = - FeatureHydratorIdentifier("RealTimeInteractionGraphUserVertex") - - override val features: Set[Feature[_, _]] = Set(RealTimeInteractionGraphUserVertexQueryFeature) - - override val statScope: String = identifier.toString - - override def hydrate(query: PipelineQuery): Stitch[FeatureMap] = { - val userId = query.getRequiredUserId - - Stitch.callFuture( - client.get(Seq(userId)).map { results => - val feature = observedGet(key = Some(userId), keyValueResult = results) - FeatureMapBuilder() - .add(RealTimeInteractionGraphUserVertexQueryFeature, feature) - .build() - } - ) - } -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/ReplyFeatureHydrator.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/ReplyFeatureHydrator.docx new file mode 100644 index 0000000000000000000000000000000000000000..674ea726d6a6dec6120dcb862dc7fccfc1aedec2 GIT binary patch literal 39242 zcmagFV|ZQN*DoB~Zfx6j(%5!m+h$|iwr$%G$rZR0p8*;L|t2!_m^3AV8(;G zL2iANkW1k_t-xfBXP_90>R2@tf{_p?CB6ypu-d|Tj{GhXdljYAF^U5k^TP=R*Y_zu zH{xdzf3ckRReEx@Y^zL|jsVWIaDyvV@$Uvr2}4fxuG2J)j%KP34IBN%2<{`Wc1S;d z+Vs)8O{%k;LNt^|-6?BrqgaOgJh!t7Ca+sK0nJhWwB^Y=+fbu1@6ytYQSq@j4U)k2 zd=x>*I_nFhqG%-2O@hc^?uxDU4t^Ybe55LlCFOr!4byvET#&VyQuQB0{LZE-P_NV} z6q_>6!o~6Fa4JIVbDtNiy~ZUf=hG#s&qo;`IOO$ojqrN(4SXHz2`-@KQR1z;(yc>*iAUmsS2S5YAcg;`q6fLO;1i&F z+aN$duz80;x*8b$_{WzAMyAV|g*dA;CDuXehMG%(`78YzJ5<+Ao%)+lDbQU3MD8m4!J5_? zk@qABf+pmT?51jj{50FB!`f7h7xO|j!lL@rHWCPB!R3j_cd*Ws>MlNX3w988;xa94 z5vA4bKds#&o&;K)B@FxpPvh*7mDA;nnJ_tv5F{N???fbzXJabj+Ose^UOE-bwJWdb zPl80`mG#_7?;xhTP=+|ons`g++YY`S(UFo&t9#Cvx@-q2`q|Io|7NUDz0_)sUG;$) zpVwx;{O<&XeTP-H06gaNfCM1}5@c*=q~K_0@5Eqa=Vy|w4x;%IIKH3~@xAqb7X z3^0y>)kOc;FvQq=%@L#Ks!k3bxa@mbxFI*=Hk#;*RK$jZsmlSC%w*D)Sq|eS8ERl- zUHm>nl-;IOl7Awsj4ZqMT}?27vV#Pk@DPpaS3m%Mcp^zcBXW6b2|iF3a#=obc*@W> znHfE>h1E*vAjdsxFjwpvE&2VEZEYs(jTZO~=emv;qZ=kaUpy`N;NM?|4U~?uOepIh zm~qctpTXe}fms9<)0N!X)R=c8&Yc_`c4l2cbt~aoL*WoozU0rJmsJS{=0k02yKdVJ z71xh0F79vAIg$AbI2*UI)SHO`rsLgb7e3fiHwaGOwnk|D)N^R-_wlGn{D3y=oz!IhY4sgap3p2z zRWED#_|%~dNr7Vduiagl3~vnhSJ0Wyw>Y0m_rD4L`@!%$0aI3k0|NT){r3mf&Cb!7 z0r07Hu>nj@f1ZqU-E-v)PV7%#zYubQm?BVwIr@!Bw%68b4q85_a~796&^+OfhB!aeE~M_&m4oS3MpleX#O)2Ea`e{j6r!wuDI?)4vve z^E*2m{x!2fM@kyQi(40V*NPvu`f_+>cR9ir+b$_V9G({2!obl-Fs5yY+2;A_I2Ku{vaR+U?QJZD+s@ z8{KA#*pMlFw`kTqjLiE`q%CNN{2HO@i;<+Ax!_@tmMVUD5=%+ z$IY%7TNpM0#O^ZMYq+uqvb=~>2Ej&1d2{F4@FXMGvOr<}`w|YuXGl#8@VEGjW>ufr zPWRW-Vh7uJ2rtz*5L4TH-Yax7zx-|(M=t2_QNXZpxk{8!E}}FfYD7E{JN^5lb$&sm zI_&FCG7f+8icWs z2F6M}kBy?a4a@gS?dZ*dcfvGsy77h2%a>}Qy=J`5)0YWv*l zIyROm8ghL-!LBw4?H=3>gINh&L7d9KD&)(c0zty}jPNFbk{^WJ1wHgoKCSBc_t!&W z-^071)?%S`%03_S-zXg41)_t(`z4FCO4W4Mu>D<{n9m3;=XoXDE`AsjU<$^dw|v6y z?0JQX?}SzE1K)qExCaKC1&*g7lc&a}hXqMs9_h^+b$(#;;$?aA^yHngT})F%E;YwX zU#H(k7n(ffWlP>V3CHRz+5zE04&I4hCJKz+6fr-BPP%u|yx(e_Kh{9LXb?}<*R4+X zOf=N-Y-0~sJ64xhyh<0<0s<5D3&t*pN&iKQte;N+kxe$O<3&*T7`gpT--Jo z*y2~@FY>tNZfZntv#e~DiKoJG`fax%JRC7RY}W*aQVn<8u!%j4zt+>6UQd&`5_*I& zNdotSM`e(Pyh*>R+=0kuT5nD5GeGea8Wu$o zfR00ix;1CSwj|s^tx}s^kfcZ!GBHXgZZ<-)cS9$BIgK z%yO>UOz!(y{?R@Roaj#z+uPdK`THgGC?tfI=o=-Y%{H5+vqKPHX{@7A3ij|iazy6^ zQqrS4xpX-)!tzFSrNOd6GiTCt7Tuc0Wb7&(XYKGw?%XZh-yY|t>ACrB;G)tMAa~(n zL*!Wy)pfqiY*eskSGH)cwoOmasl!8+Z5D+7=nOOSD@~!hR8*LA0oegDviy5!*SKnHuUFK98fJX(D8u?e<4htR? zmW(*ojlM)s_ujsm*x(I1AB`KImKTChHv4;*?Ew?5Bg=!$fBmp1W9dGE+C)FXsHf;l@TToxQu1*&lKFihZybFfPRUl6 zB+DkrCPNDrq49A|Elpxv~_%+5nu@m<;sZabALGKLJaH&|3V z@4KrX_EW(r(i%|Gi_SJHS5>>Nxn7d>?4y*6CeDhqCB2vn2$*6zo@(Hn5^@<{fVfAt zKAz;%vi?u)(YE{S{TWY(X0~S>1L;NfLbBg3-D62>^QcZPqK(m3%S0G)wFNo8UlvkA zB3+LLP%dr!f70#JOH*P*?CR6uUA3Kz8alIZSlw|B8;?US1{g0y&miBrXu#cp%8&%AUy~k?9GRO&TU_)+c?=b6eYyfd1TjHPe@LEaNXIAEG z9p830I?Fuzbxg)rv2HTMU9G5fE2ZBpD*>+NvSL*KCD@dgq!W0^ZlXu)SNp}YZK4y* zN6|AkdH0M|7YV`JLParGB*YN<$RNV)1=WGG1PShmA|CuW)l>HHtNgl?afcCq?_yMC z#RoSYn&GdQs8XdH;|c$eg(l#zY?~taBsR0tyy_%qDW2Sr5LX5CcoFp5hB4F_<4@E1 zxvp2`YbllNxIKK1Xu*`ja#vT z_uoI$@;z+ELLC)pL2#SEKBaJ1M1Z3`Q=IO!3}~;CJp*jV8F*068oe5wH=fs0;Qcz5xA?dQLH=oB?SW_6hs@SlQ%mg;L!OoHU=+Ni+xfOO}3gWs)uT zc1va9e76QkN3t=U2xis%Yuw%R><&v=9FXa1O&yl{?^+1KWJXOvH5?kZCoSqva;`!; z9y5Dd^kt95JL_9~eEd(NXA5e+Cs~z2osgZ7wXwHBply-_KJP~cmx7-OHoUlRh%+&- z)!py!9G#~V$iF}DFdjO8f%h6M#Tql=`ZYc_+D0LKZFqxGAcLK}1iq%2srX6`mG|tS z&vD5@PSJyaTHb5A)lQ3K&zcG363zdc>5)T@Z;3s6tljfatM~rJfP+Lq3cfq@gVnC} z4g7lW6ZF3~A-4WFD9nJ}=_FuxiVN7C{)FwJAn z_5H|*1PN4?RMn&^5*m00axfIA4%M?0RZQOBbN#xkFMah1Vlv+^wm1fR;d|P(FV$X4 zr!Q_h?R?*{ym_9FF5I;)a#A+lZQn041y)AwKAvMgpI=ulV@d^D&kl5-p0}<$Qq0UD}xRbc+!9wAZj3M1Jf%xIMae|8ibAX0HDjTDmgm+suzY zXy&_?GwP*j>$>voyWF?D)albYfeV4`4-9@8$FJ84d!wO2Px=fSuK-bQJAT{eh?Aq| zFIzsGbMFGe(|qUZ+khh|8!v8gKYU+)Qa^IP;ZN9y&V}oXGq=eD%f@FcDR@ZtwP2&} z-1C^s*Q@0F8}|%6j>)@7Uq?F6cP>wo+r-KPDi@C)kM&IfQQ=s>5QdMQ&7RKIs>$SG zCO@0bO`jee?aQ9`dyyAYrBwVuhn+13#2w!>F#>OioO7bjq1xwO!~WXICGwQUH)pL- zU*rrjZ0Ans?yGI=&Qt+kk4TkHZ=Q2hqT2AdyE;Vh;?N5e?%B{r#L(Irf%iInA58%t z&Jc#K&RCNWOuzS!<3UqDsQ0_AcjpY9w>saot{q;!YPZXa&{U3#91i)jPanNYU%r}L z+m%n$p`Mhew)Ng~x#NvkyZxu1pY>Y3;yE}y9opjT&r~mc?4FNIWE3Ay8%M4j$FN-G z*TbKkVYuWEhLRq7424*|IBGB%`%n#O2U76gDiQa}5Sf$+22=?QtN4dReZr``!xns9 zTzl?D&n<>2VDwa;!vhyod<%9-l5;8BL=P!o@D%_}{WJoKb#{RNj%eS9EWdo}K21ri zLh{?nZMc|#U{jZLke=_nck$8+5Tw-3y3KED#VIilgtm?*u2v%~+1?NSs@w6YK{L{{ zG<-{4IX-l7s=_ELdx=H9YJXk%cB?{VIh1bp6!h7pTeCd-dcN>t|LE{OD*13LaDK_3 zr6}I4yR>*UcyxRF>tfI;i9k3(Skjc1!2~^s0d+gwyUxWC7_f@Xix&}6I%TVvwrIG#Kt2P<#bhs?2_35YjTcj z3nIzgU?2r2c7c!43EyDE1;%xO7v=rwGzWBI{Ie5mkJJuW=pXmjG-H#|gE4r(jtxj| zgZvZwoHYRuN(i`*>aS2O09ptD_rF5_rUEOcxU?j4{~rXGiX?y*n7>q{bb%Y^|1XLE zhKlpNslfE(Y!d!6xdX$g=UeTI<(hVmHwU!8b@YP&=E}wz@H2t&)mOGRCq+rAXQYn(+%Gz4odv^TVQMFfX zoNz@o7LOb{*G4C;KWL-)=(SVcE{C^X?_Jt;ZHK*t-Ue5uT=UIW-EXy@Miz2w_uOlL zE%D1AA0CYt>^(*A29FH+O`O}C4R%e?@))n8lJ18G}2T$%O+%lotsPyoF>G|`}M{xq?lIiW%#n0RA zvMrGmv3T1ltZw<9PI&{5bfP0leKirI)3SkNy8WYnD}F@rfm&tIF?nDcPJ+1 zF)!)I4LN78vzxN{48k}@*jYuBJ1E#FwJOG5x&Cry;QPnWRf+uZB=fd2et4JUM5dC| zWajQ$LInpnmB{j?tRy!9bK`=Cl~A(u`LbV@D2h61$>N%EgU7zH{_@#MuJAJ=VElxV z_46Kk89#Vg_&~DkOCQ>HaLIhKd2LnxNiXo$(+wlVBQrd*f9NO8j`5Yjkpshw-(y1q zSGUK8)|dCw&B3=oHJF0I&7!l=0K3!lZ63?&`v-o|)W#u{+*cM~g|vC{RGRYW3DhM` z`o-4ads5hiL|R~ZL*wd~ESfbl-9sG_lB`K+^1=2|rIm^Su$_^Hm>rJSAxXT@L5m4Lvp>iD~w3fjv~zL zh(qn>JNWN%(689($n-jN?s1U#yp@oyuwIH8)nG<5b(?R(GdMzl^Rl*?KxhIY4;|yWz!P@1^phPwCH`gA3l`9qFxMyYh-XHJ+zm4w+~R1g$%l z#GfA-i=DG>FL$FiA2%bzo}KRw9=?ws$)C&TFAKlkPVE`Lb$zr6WIr&x&5nY5egGk^ zWqP#ngX!;dwx*8W6Fn=%zp@!@1{aoHI5{DR$xf0_=02n%NJQaubg5kAD78xm+0E4~ zy}qIL_IfM&U$bewsfs=~5kAA)y`tA)(A+0Lv`E2Q6Mb1d%?QA$Op(r5pl2(MHkRvj zI|>&5eS4bI#W$nQROiC0^ra3T0my0g?Cn=vKlrtFVae>cQgJUauD4rGQGuPNQFCrG zdBMcwQwY}#e%O>_e3fpn$xh0K@zD}QqS>Y;Cjv!aAbkN(Yg=NUDp@Ov){riOI%c~p z!U_iyw?ZuK=9{AvYY9swd5VhYm5;`3lVQg2TKMUDE1TW+87$VXQ)Uf|k-)seIQgv4 z`ZbJRcX_=<5}`8hGgbSPy)u6`T!>{Poe9beSZ1}K&ykkmV=s6+vUf5t*xKoMpUA~M zF8h->Y%688)aYo{COrOm+e3%3W$wsy!vrew?+u82I|A=tT193A?Cu8I6&;rfOLQNY zaVKsj)~rutyKWNt<|b%$lw*HSq1q=GV6Uq;tDl6GB9)~_o-NwOs&p$w--8`W|EQDo z5gQq=7~wt>Sfikw$4Ozik_Kb*5OFA9J1?)m%&f=H_g2-64)Du9vt=2IQ*^>2Ucqgc z)h&>vCD>cRqxJ^V6ndjd;&K8xl18_al+S$dFd4jceB|OTIpx>Xj^&9KpVgSEmV|x4 z&fRL+G~lKTfs5w#VoDsE)yoz=^?KMd_%Sy)yVJ74wsCoxu#%xVm<;p%^XcPd85grk z8ZnEJvv<{R$!Ir6TM& zbGN%R&#I%}#`!)tsgASh7R8_+dbRy+4YYJ04|Rn8=M;~%nTkWH9A_u_^Yz;zx;}$w zx6n31CQG>-Hlj`qspuWdTph-4vi)Nf&ChoVU-aT-w_CtoKIfsDeQ6w_>vo>rqd2=( zt(YLbc6>j6!f-KRoim%V?k7(;VD8YPk2rO0r7*ITU)oS2-=&#`5;J)qJaTc-oIN0{ zK6Ys9PZyPQr7OJjl&rC zc=V{ONjOtT7}C&SHC&f>Io_?VB56A~I>pk&f{E=TGC~|fYJmLNVtwhn%F@C>mU>7W z)n7vkL?%lE`=YTDQ}hhk*^~EXu4Hxcg%kx_TvA%ewVlXohE{xyh_0sU#bBkmv`=VD zxo>;bN*3#WtsL+1B>Isn=d%LAh7ZfM-?Z4afIHn3w_$*%D6m)2#T0|tZePsUXK6FnJ8Va3qI-rd9g=#<6(Og?Qg{4IJ`30t__YI^x zCe}u*C-w65Tg3P_YxFmpFtAazth-70}G5gNbE})((xLGpZ)o zdiQ(0C>}miW6{C?~!w;-gKQezZ8PlASjvNwoJ4B$^?F?qMR}Dd->r2dbc-C z-!$~ny*}y} zFJ45%2@o;q_=@1ina*4#)y{KN4-DWhPkRO+3h)D27md;$LVK$bkCP+OkIb-P^=tEe za%)j9EIak^Z?4GSZWl~(P`ghaE$<0?(z3}4t&Z0t@pMci%a7kbuGBA=KtoJ-W)d9b zs6;z)=SKLiM4hT2PMA!|wNRhd;SxH;Cj5g}n=&`RyMS$6G2_I_qG_earm@WT*YtK@ zxy%!CSze>I6wr&pwl%bOu}-49QRSTO*j=nwT-|rjU7)(5y{RB1casNEJQo~dFs~q* zxby@u@;Mr4^Er(A!U=+}ezNnF^h-Wi>d)g;1ftF3Se5dFcGq+Kwu;#vxmaw#{0(O8 z2Hh=teEV!Z;iX^?Qj421ml@;K<V0mle=9A^C5v^v{C zfvE0>b-~-tSqFd|*}14R(+b-eYYN*P`J+zeg0F$=40AQEoWLssV5ZSU>}tYKrdzj$ z{gu5s4~r4bZN|bo0*C=H4q>1R_`=;4KJ0h4KR|ChE#DW!7Bd?yTU^9)6&b+06#7t4i@8J*Q!6m<6VBtT zO9MSUx}$%TVQ#O6Db!l}p>${B1a#$Sk-H$@A5~@8JkOggN&_>XT?KnuAj}UIpNe%G z^N?V8uM5zzSa&Ng$KDFq~;MmHVmW-(z8(_e_>g5rz7w^68EDZIdKg zd6?mJ)Jgsf(X`dUnyY$+sd;j|qM*;?3kn$RNLlnGh(!hat@)jRFz?SgH)tX z8sjJ>KMm?{X}DXPhB@?m)oPPvjrZiqcV%mgAtJ86bIqLM!+bD3)<9aGA+GD*7RVzyCXP4ApNOBj3j!!8;Zq{c@BmJ))ZdJf&SF_ewj{6r680kNG1v$k+L_<&kTfF*sW%^=);k}LlJnov%l1Mey)^izMLt=&) zBcs361SQckPrbCTdVER)k}zwr@8p68>=BAu0&q15T@IyD$Au?H`fs*x5&wgY%jN%* zjdILAfa98CCBE_4ytLL*3ygHfJo(h(x6?g3@c1$7bvt*2e^+D1f|%fw<}@IQw!o#0 z*p**H?!nOT)Lj?&v*~2T5Q7RccTg1)uhgsq)eh>r0fgt!W#4!eI2Di;2462njf*s| zEVRK$Hze2PN(haf8woeU&)Mx?DoVrzZ=%)8b4K{pjpPMyxcIzlVu&w->JVMIOXi6XRi=8+7xD1+*StqCf2Q(OO0t)`nOr9V$ZRaGb$)SW5JHyt>u zXBm#nj?#kddTJo44nh8VVuG=UFdJ7ptrB5M;F!|L?V3S9UloegzQ06(3?34f|2QZy z#E{xgaAf^oF#7pp))dTVfk5p>0gaI2kLm4kg*dw>Lk8Faueuxvg=^uDS`BIY{b#%w zpaQKwHHy=KH;8X zbYc+1EPyX@tEs5}z?qf(im37~Qi@{dX|;QBPf(e_{7 zj7P>Im^Ls062LC6pko0|pP*p@ct(VDVHz^(8gOE!Jn@>CP-FKGQ?5Se|3=(k?J5T= zQQxqv){r@@@qIG&E$uA|@zR<?8Rxx0`{Mv`NY#bj%Fj+&JAS zIl`oLSphBJx_Z}M#+})NrQ$wTRbJLZUFAeB60_W5J=`R%jz;66ljxgqMLusQsV32j z0zBt(_r)2ZVB`H_8Cge(`?`eXN?6W8zc#{XdKc_`ojkPwzK-r5Vs(f;+y-Uix0Y0b zrnQM4s^Na7#t21^Mb`M-K{A#ZT?N^UWLDz_VGw7jZ-@F(){?$;MJo*jpfQotY(*(y z$k@hU(tJM)5H$055a<66N}fKXyFa=a;tF>{IsQYHRt0Z;C7Xph`8328&GN;w3+1>< ztocvBD~>VJ@uK|WL{{SsC6M$xCD4A>U+r{ck}}H>Ek+bG;U?buStIFie0t$d%LQ70 z`a9v7!<Zfv2Z=nKoChsv->KSF=SvI?Z8wc(pc-A;B){0`oq8T#aTXRDX?vs0ie zH$)LjQYRG2!gZ5&f#GGm`Q-liBzj7|CZ=@p@cGE1Fv`@bfq}8KbWM-V6BlB}`FH)r z;DF>shgdWhWW&84U|^r7gP6BN_?~mg=u_R&c(mT8NO)9cndCQuf2w-}9lRSDr&GH1 zGheCN^;^F#7cDUIU_e-0NGH75dQ>+5ATsEE41^@_2CR3k=F%d3Qr>n2HtpVn(#!yg zJBdjkSz8_HN)!`nBnIygO(>a$AtxGGBc;#F28Fgigsk0HH(jG?k4TS;wjX8iTlgPp>A$E^0MwAue^%d9?c2-n zDF%O0yBbddsCn4`rv5>O8j0}#puX-Ig6;~>)!+7R|JrQ;eOg`7k7B!!LrWXr_M1o} zu&af%^GpCWlEghs9YMNo$XeFktmZLaYvx@BnAT7o7W*K=r7q`I;_2zCw{f3M=w)>(EzH)mK>r(!dEwzyGA$PjC z0O)(+xl(7t)K|Z%B(DZ^X$_g*KFyUpQ zdD`6&R^sAc0?pbPpZmIgngaNs^;%(_< zb1g{o3_%vrzQE5EZrTA?&%2J5s(*UadMp_q{tvKQuLa}3O#Wi6zV8|7SZG@Rr%7q; z)9&K%zfFcF|1rr4`^RLr&HtZCPFbto+0G-@YF~g!)DnwNZtI*jJp4jTbZnlO%x@;- z4!D35<%aN$!~M1MW8k(;3Odj`vE(K+33LrD3Hs0_nxj_FVXTP<UH>$NUL?56(czcJPZ)&))-X5B#B3H|Ka7V?b}2Tu-oDm94Aq zd^Bko_R3c#7&AilDRA6+CLbDs<+o7v2auAWjU})np)Mg{nc)shFM+}^273yvr*H-{ z|E&w?7Ha@jh9ML3mdLD`bn@TgqJ{p5!wS9KNGR6{h_35E8-iY(RYBQvyHh1^}->NNLfw+ZwVlec% zm7(fUUbtn>KpM%db^?-jUI9qnITYkrfOQ+#e<#l-SLYwetLwJzNt<3xWc-Ihm_gXX zGu*vN9E#~aP)h@4io9}nN+{2AToe#hYDnEcJ(h1DhS8ho4bnu#qXGp~ zTPf_yX6(jhi`o$~fG>xk?N#cG7OO8Ga4vv;WzD&|N&9s2Tz4W|@ld3}9dG)y2!5wv zq%7l;zpsn)VsK@y$QQS-XZBJjYbZ;%wHYO zd?lHQAl|~#f3;y-V72E&wiHUw?aRv( zr(PNqekoCjg|SK`=B}|;PpWY68hFz(5Bvdg3rpT}>@^@SIW-GpFFjQoDNcA4YJ@qN z>E(3Yv`u_#)hm?1eXA@+wd=4~9I*a}hsI9Gq`Wnc_-FF*K(^t}E^|;rZwkLr z?vbumi|I|Z?BbuBcTVN9pUVr-uG+4|`kJk_oR8GEW#*LZ$R(y~L8t7P?Xwqc7i5CD z6^;PO3x0-%gEjC4DGW@@y=qICs&(AVVeG}gMs4YTqZNQ!MVDJvM!97H+C;fMD?ko= z-ec^I$9%Fjn3XxBWA1&(OsQZIP)!2C$NWur|2GxJvXUJvAPJyTv+1)Ku&H?YB$T(P zSZGbNwVoPd{Jp1&-(KHDN0YaX)!A(I)AVoYOgGk!k0F%zN=c8*fZE88R>Vko36rI|b?j|j zKtk{z`Ll;C*F7s??!9^Uxw7$DFb&I5Y@)K-9O`yj23Mr04-mSOv^IwdLBaWwl4m@U zBCAAf^cXDHY|lAB4*8w^@JeD)D*|k2D6SP(#4slm8`&f`Gw&C{Jv%Ee5;1qgSOMa9XwxGPSf@%v~w?v+|Lat~jp8cn0 zHH&*veRH5#7(PPP33T?dQDyG32pPW=lFI&>dw6X!i-WV!%Mm0W`ZH3=-R3yz8de^2 zZqK&eMA8b*aj9@_c?ka*K`mls7Bl4&^>k{!$JX}8+V(9;7;@ZKAd zb?bYP^|IZsRDm$QcnnX?j%XS5?mKUJrGW$kML9h7lsKR&R|_kzvgtRT2X87@EX}*2 zIiUCVAkDuNLK!1~=d&)l+^y&78 z@huxE0T3<3R^V8;8uR@ZaP$z2Z))Ov`R-S60eEFF^f#E#rL2v<|?wus6T80ROGpxw`CZ`ZA~VZ5^46``F| zPk^7%B^citjsDrcU{j zBbI3wJl-`U&Q6xHK@}KN+VOqsTPCd$YGxhP*~Yav4W9s2MYr~~2dV--{C+w=FRKbt zrqHVjEwnlQcqYPs)8pOh3vCm)3)asxGe(9aN7xlfxas)2&xC=Q5NjI(u60Y1(ZueS zm~dOzpVc7tL-4vJX$_V!rcwr+Q;)Zy18B5=R23EX5)~JdzdvS|v;UfYz+t5Uck&1f zsQ(&cM%f;4;y(m0Y`^L5bq5*4Q9PyB=b&Rk-FLkokO0n!z%P@q>z=#YcJ<5*HVPf% zh8)Aw!_%}X`(UFcN5QGrDD>y7Uo6Ifh;tkLe*!qj{{c7+{|mtW(Jk-*Y_t<<^t=y0 zW_8D%yDCf0zRNTy3dD>%Cmbhux9$4j1QFLxD!tqPplw3M|6q6!3&tMT8ws@kn!n#+ zZ@cOr3bcdfhwz+0{CC}9twuvp&A2f+p!yvS&gTg@x09H?fJYsY%YjBCs}o@DaW~1+ z|E51?{Re%iks0qUIKceTUYlKKByi`^Fzf#erve>4czVCXK*S~Y2f^;`@^$k7MT^vr zlZ4gag_KB0N){)j%eODSxNPrE7*{T4mrf~m+s;F;p#ECDD1;w=b`!KED;xwuSKq0E#PXCzanGNc2ODt(Hwt*um>PEBewn}NZ; z5w|92bo?|$WC(*}?YUFKnmfLG&s8-FO`@5}@JI=-8pNfYRMixi8aZITOdc;#Xi^MM zwwRg-48MHtqHi0XlB86f>F8#{n1U4gMJ#%(d zz{tegyf?F%9jmcym`wvSLt3=iZ?V-XZ8A0T*@=jE8;>fu?V}WpFU&NP_caqTf(S{; zhc64J5Y3w9m^KeiCh%Bk8tHP&f<`7eXB$rO2%YDR4I#%KEZ5p}W+ta_C95cDqXxU# z0pb0GELgyA^s@$FdFa9YW5nzLm;EPG27guo&E>xnLT8w;G{xoNN_gN#G*_KcSJ?0% zmF`pffBut-5kQ3%^@oZva@cUUewM=sV3Rq`gOR|~+HkBx^+iuICmEebJke9JgVyUeh-sueyq_WNIZ$G`HP-@T-XmE$C*)8tH<+QE1L6 zX&Of^tfy+mm~rL+<&mi6Iy@=~o;=KWG+44TFf;)a(hf1@%!A)cnb}I%+68fW4CmRp zVX{Nj(B!77YLzf+bYjSjoRTWQ_ z^+n7kFpekFD-!B|FnVfgf@>^q7LRghR_C>r+s#@(I1g<8=+sz@N_OH%65{@8z7j+X`Zx2i-4}c z!780~40dB6kDEh`oAdsv6$lN63Pp}26W3B^<^^0z;%_V1pZQv7K%XlVMQ? zWLGY!kdLX5AHp6Eh7LuIq(WFm=+|e36bSyHj#8zwM6LowYj-g{Y}YJTrtssG4jz5i zXB&$84wRa8r?b*dfhY>gkGTG_(X}kDGapWc(pr|hOi)1xvuyXJhXZ9s)kYZH4+D;m z9n@&sGFu_Ps8k7?x(|mMS>*&$#k@ySZYOVGHJ2VYoZPKhBxDobBu_XWkwgeQ5GF$q zoZ*T*E87tuf?5U31K3Oe{8sHO7=|pG|Azwb_F+(-Fhia&Y&Omd1UiV7HR5V%5~KRq z3Ie(#he}U)P#%a7xNcq`dc4b?&eEw?NctsY%Tx6-G`f^)ZfQP<_ZgQ^h@M~wMhogA zJoW0#P-gvE$rJ{~zf`~?{;eXU?-oz4QcCIv z%W5#(M8=QB6~03vhKkHMQIks~sJJ9q+kG081A_ie2y5Zg%>6?Uu~~|mUZT*e!lT7; zuSGEC=|hT~buZozk`yrlz8g0kBtBYJEsPfiMT~T_ zc4owxU4^aE1OO@h0|@;OkoLcTZ2kZ(`b~BFO5}f-EkjX7ZIzou@>*lY{e{3=2^d=( z7_3pL0Ox+hN|bBR>EbX~*>S;WP*jT%Xh{z+&7o+g0&-dcMSuA~6Axg)Yji7Q^wPnK zM#Fa3=pq5N62Q})4cbJH7akWMV^#9E3nncRl*pGW%4<T6VZFg+jwr$(#*d5!t zD|?@F?mpjt@BN?ktXj{inl;`r#w^U5RkPmVfHSXT3VzJ!7AE^4_>jkU?{^p1&KJ*? z^$OOLhfUZI*2e>@7O!RQ%Ehcr@0$zlU2C$B+*DrVHZBJ;y$da$l8n5(y+0a%dOMr#u8w); zcRkUz_+EHo#qy;x6?Ynt5cQ~)^+uQY}-JP4>xt+1C zEXKyk9*R)nv)@!}YX@ik&JJE3SlaWhgu7mQ-@Ov0n;PP(va)60!icH=HAd%RMQDBF zL8f-;nQ)S7apEjO}LI^eR;$QEu0v$gqj!VMrl~#D~&HH0%{bwyVj}>0;e$l|{jaL#L2hQqyEe|di9w$EchvO^P zM)^ZqTh%6w6GGWS)yNxZMOQhpAm8|6+k&T^QOoj~aoYlsJ0mBqo(8COY*;bRg^b7(4MUxT3u9etqiVAyQCHy4IUNCrpi#5Czts?uBw_G#?h=_ zq~B?^>YQWPQt&8XkGESMMu_gWo6$+psrlaOT_0;bUaMtg+PnBvW#QjnhO`^YCRo+h zHaBI9iu~~t>B{hxqoT&{US77Jdhh0rZJ$0e6HmM^5~G%OKd|u+K1v3HCsy6OJ+dVs zc`oqs`0x^|j&jpAYqj$GUhSXD4sXfY!fOPvt;ejbg@4!LoE!-cODFzOxjoNzc4b zY12kq9XLGOxjUlW2WKlhPJOz(x1DmH6ZA`auims$xYy7hvxTw{rmK<-TQ^g&j?iQG zl2+ST-)t%yQg_dbeXAJkrJD*1-k&=FJSy1n;`lVART`7U=8PYSQ|#3Z?Y3XEa9H&A zvo{#umHL?!w8wC-Xu(R`I%hAZnc4=fQX6C)>&u5KZ{>#8B+o!kj7L&$q@wkZVoe-8 z%v4`^e1r}6uPQwfT#rmLOe*Ycm)KvmNKG3dYm}(8joOa~JE~TVQ*2XdXGKlM=RXXo z*$(NP9`Qu1ert!@RM69P5OvAyXYZ9NtqNssa4rEz5`&LH@E>!WRlcBS(e7jGObxckIe zK8U|;bpebj@v;VZIg&*!$RdifhL@z!YNd~W-Z zm#xdul13nSMJ2!jir;_*1ZRK+(SQZjBF*47|AD|+glYnMOU3RY-T5r^@3lV*xlC9B z;}jNuqSSxF|Aq3;0{=w$KeNDKX#%%N&ixI-E;VBXj00iX1O)FN003k8FRuTh^c&=u z2FV&w3>r|({9nbot*yRn(F-?x;;e(P!_I!<{IkG6G*^q%gU@RaZ2*cP1B!i0gEzM; z6Mu%kzqyWl3EU^#*ZB5YB_7uf)|HC1hipL1<Po)QB1ka&-(07t7Z>Qk(mQVK>lkw!n1|s8yjdA2G6uYv83yhr^MWusPNhAk zCSY~MU#-{M_}6GE)BX7BTg6f46ZZgO}DRh;AZ0uox?eG!I=YD zsDdc1LMry!^yOs4FJ3b@FC)NH@pmal>fi13U%o&L=@59Xg4*$%jZlI5XqC7T0`G^) zR3diCMe2#`BzCdj^;-xG64(|JF~OMr?y3&AUm`*-`vSlJ>q&006~kQkO%SAVK#&n0 z)i*^kvSh62J{VSU{7Ei0q7364YMm5R)% zn@RKr@Yio&j&9dMOG;? zK;F4X`13iLG%sRe8*Sbwu4Zfd4{^`6$<_5;%;DS=Igh?ebmX_~CT4cV+ha`Xcil`b zIlH=3du_qHVD>_zoXpp_YH(+{L|j>E!VmV@*79sPXg&+ctS`D8HMbLa*~K)WQ*WH6 zCuOl0d^s4NY1GjI*5a-CqddC9U6CTOSRRK9j^vKpxffwXbYQ34XXatm<|R;glZN`SLZqlCR7N z_VE%KnyYBWoe$1M4jX7z7`EfHS1w@=%O-+jhBQJo*0vO1uY?vx7jOMA)owZ2o(oNT z1$d|cZe`n1wPr5%aonHl4rMmxTbJ^fqsPl-ovy^XcssjXA@M&wsfORqul8Gu2A=KJ zhwm<(L8VB~5@IV3l!WrPY3*_OGU1zBEl%qf4N1)pbH;=cCkopv*purQjeAyaZff=H zHZo}G%O0#8Blm`*k~WjR;7&LgFRbxs>8_zv9?2K&<5i^oF2ZB63|hJ^UR95J_i!;R z$Q6`DS6#@+OKht%8^y0O@fzh)+{{S)nvsfkr*S@0O5uGxGg#EF9u=u^GUGaXYxbs$ z49?+jw2xfZT0iP&Fnbr|GS|{pdhqsywQJNVSHzk>X~flFcC5|0P(MO9UjjM0$zS!Z ze^tF6AGSevbc77ObFGN$Coipij*jo#;>gTl^KSdw_lT*}%4wvLZ_+|BK?Oc|#m4@w zVAo=}^;%&F*QGs4rdCkPwd5qi1%FJ^MbS&6Q z&#EUCC_7grMgh;}0CphT4AEG(HMlKlJlK16yYic%)9YP|_q*g5(on&^hA+{1v8I%K zh-+6nJ==Wu!Hlil-e(cl^4WbJwsPjr9bD__V{*NxM>p;*cu(#vT6Z9E9AnRj{i#cg zya(^}M0FtqoFaFBFkr!jxk;(M)yf{KyV-`v}zONv?;B&>Pq&|Km|I8DJw#u_!l`T zZq+h&5)9DzdviMJDN+I*Y0EAA0Qim)pdTQaO9f^6+q9u|j&hN`#`Ep`+~W}imtiy$ zMbw+rx?o_Wpi}Iw_GnqkcI*h8*l~@-kgr`_0Con-Nd|*p+)MMRt6E1iT3P#aMNuD` z!SjfYom*RN2@WRjamP))UScqpsT-X%MncQ$zgsAu~y->a)VSy9#_dbHq*=ynKB!#De?rG`0aO>o#f|~|!kKf?eC8O!uYl@YG@1}G*yV|02JsB0jBPk+iaeRf(FHSZ(KXS5SP=0tWWf@(PYe|rM}#DZCOTZ z@wh%LTDTF|694!ajf)R|u%hO6N>12jt2>m?y{e1owQTXxOYjFD40UsVbw#|V@BttYN>FkoYSF? zJrt(Ab$DTGO_duK>|EN^>uZp^V$4B4_W8uTz2_2@`)Xd-IozQJ{cIckg$ApQ_11=* zpfYv?N*m}{G3gq%PPHX$Z^sc!RV3iGliF%(i7JOty&W|U7*K0zvr_)B4~0bAI&5oc zHGGb19PVs3?x!14{sb7(W6#3t9orW8=WuJ-cEe_QiF(dDm<<8$pse zD;r0-m%|O09t+-w|9^He%wacK&TDoo&1`50puXb}@FB0NBx!*Lii$V=96Rfnthb^t@H4ic=TY26&NhqqTJSC;{5 zVgpbU3g;8DW$T@zMI7lW5BjyHi{avrR!vDgSy3(Ab?rSZnbt+j$l?zREUgK6JAK{* z^6$+qkJqkku9A%z?ySLEYktj1Hz2=jP3aSwrZTzUqSBh8mX6NLDoEXy1lFl?78?+) zf(Wfd^eF~?J*Ah)oLqpQG=K=t+^!7DWvcR|RN%C!-PLwS@(0K=2}?>1$?zC;`^d~^ z$*8tyvO2zMseRQ-@klhm<;cdKWR&js)5}#i%hiWN?*LzaRsf7a11h+nQ6|-$akofb zYn|k7exn1p-bF#WT>N9NA12Eu$Y?z#!$Wc()U=r2q};8+i%HSm@U5NYDSwGmL7gp~ zIn8Y*u*s;PDTqVo501&I1}MEcL{Mpya*8bXNrgPg*Wjkaj`Ay|&7HZaXrY~2MFiK; z?FyEo3e?NQsR|hD3TSI--r%N4*mbx=pdu}Y?FzM{3SD>%PRQT)i$LLtzB$JgKMF;s z+{{s0X0|H~>CCz9TOMzjNa$Km=LLT|x|mD5nFGd7DGu~%nD=VL$%8 zZEN7(xK6PKP~5HOG%Jmg>9!19@4q*v-_7~Q*5vyLFL z=V@;^HHvAUq2kmST(b)IhcHLjaOkn=rp?g}4^PU&!Z?$sJAHCWO# zQ?ez3?c|Nt(*2=Y{Vf%KtK2HQi$cuRl2}(79@1sG<}(_i;)ZIV`u9JGrCa2Nfa-1Cd8UrB};W!^_WS z8Ular2vMSr@CeQWdc|%8o-gz$H2A6A$Cq={yMMMR6$)hP0axP!VRwJq>@7&}$UK%g za*SWdAUHFo6LcgKEaj?cxBdwMmIOavG)m(U{bc!YcSb?4KzWy@s4G-vu`C0O1NBZL zql+Tf2OD&YaD?yBJ=l=1NC*TZ$VA_dGB*vkOWwLXx>PZNcP2v*1U3KN9&4Xo*{6M? z8;IYEZ`d&yic&JvNDvH#R2Ye9SSu(tHz*#(@ad=(7K#>+JTz6~5s|3+=hy0@(x0Xw z-RZSX>fnP;rL;ss(>o|43tE8JFG3*_0pV8L(i|y;0Ci8p!ZO@3hYGS8pgWA%H~oWFzdXQQRg zkq6g+>{$ju0olC>RB{PzT?IkaKJ$DB8w`MY4C@#hw~1LaJZKVoL9WxtcP&BmZ3gZc z@Sg+v4hDs^oC9q$g|SYhe3tqHiwKb^$9`p&lK#5N5(>$|0OlqT>NKS{xrgS{18OgW zX<+xISeZa5AlQj+L`B&?_H?1Ru!?fGVmvLe20(E#26C7qsWJsJ_-iEhKq0BV4rhbjSCVGH zAOT^d`Vtmra?Vgsk{NWRjsmuZe^$+cIv7yP9l;VV(WR>(81HwmZ$VHySMv`N)BEVJ zU{{#5v#sN=Xr|hFPGQV+s6>ct1kElsSpSocgdmvSHwRh`b#RgQ1~@{$NGaV;L|-07 z45sEl%y2~Cfhbr`oeTBZ5=3C1983(oV^bUvE%xTm3iJ9uSC|Yg(c{py?cMz~px-xn z?G?}}VAryDZvAskb4R<_XmFq;RPoK$rM538{)Ki5F*YhP{g3#e@YC1ud5YmCqF-~^2}(3ANi9zV zZ$p{~wL{^kJyOe*>PLd#BMLG`Dh~RywC;Bu4yLMJd&<~m%kUxVdfM~t3Lv_)M$*TX zs|@7y%2aB}_SeVM1H2JFI*~rKyd;=AhwH1ynY*Sj1UK4U7-1`;qTynC=Bx+jhSp9e z)&hn$TZiylb#a7Azi8c)dwAWrA!&L4?u$%b%6bz+(CT8)`ryWc+>O;!lG%qKZ8)Mz ziCei&fR(U#l(^4t_fiYHeBQoe+qoN){WXZ5f|i(afR3gAXVrrq%f+HzMAUb&X~u^ z5TYup@8oY`OPifb7l1vOQth%)!uF zXJ%yL_HF5q5bSV*LJH>!aWpvE3`K{r$>-7mDW|f~9mVJD=5))LsGq zt^_0gDPMLVbItiJ7H#_ufY*PLl!Y8Y$4EoXG(pEaINkI;rq{z!%H<8cewIm8)fMqpr8SVOYm|>}-dj7N0P%w#(bfmlJ2m2_e; zN%VBIHPo-@;)`OyDiO3^xIjv{dTxA^u^Zk+FI?&QAC!wHrz!JaGz+^-r5owrTNcOW zd$NHsOzO3^?cW;Ml@p}uJu`t&$g}ySale+@9LXs+2WTdCz}jK%F%BEPX>Jc-=tN0C zf2XfQFGL(CNM31qbp%q#h_<~CUpc)bKH=J>sLhHDmaVjL-nAawy0)&MIPQ%)z| zWKczWC8xX!c81y=Q;6vk0m91S8xGEIGXd^DdR_xm+Syun9m!?q3-H5^>Bg$owe+!0P`kBBEcYPO?MmZvhP1 z&@-@9?RZA3d5p)16Q_X`pR}B4y>We%$VhNHh~Z|&aclu?44!WOLc&yFaFJg|oyjIn z6wUxXpYb7>2~%|gm-0ozi#mtyNnb(62~&UVpyXm={w>Dt|0>2rh55y_p^PFWMN2^8 z8`F!rI@hr(UME_E9hvm7<< zsuf<+ZMSc4V>^6lX9#r$w&K>NDfAyJRt>|M;W9(BH?l{8WhS;cTh z{n#{ux(aqRK{af+!R5v_SR4MR?klD8N+{abtAc{(9Q^#SAmaGy1ZA$zRa;HC_!RD^ zOABrv?;8;l&O!}5(I8p-l;GZb4e^d!0ybaJQ$=jPII_!n+9-x7y7lZ>;FF+}G$CdC z9#AskoO?A|kO(*e2Z;Q!`V(Y}!T_q(h^!S6l`rF3_NC>3f=(D!MQ)=vuuy*EJ8H#R z?GB=x*5ti_tAHyuFcx_g(cJdA@t6p5JUYKgz_o~NFXGBd|F!5@PCFL9c*eDIlJ1zI zRw$N5c6;C#>AdzpEQ}Vz0n+UD^fUi!ziUC{e27kc=Y&B71xxExPPl~1r9LM zvIyxDS9*QFewA}l_?HgF>_dQ#cl&?qcpq7-WhDB4kZ{aZOZOhQdzMR7(DMAtim%C^ zR@^K68{)ngV8z$}hZTdmdw~Oc5Qo9Fao1)ZB(9@lS1VWpOJ<$AuuVK(Ku#6WZ`5gK z)2ZWT91`L6mXI5V-ht%1$VWOUzLw=gRu{4L}S zy899JEwPTA6h5#Sr_4no@RZ*$?1MyChNDkpE`m+9IQNEUyjM>e_k>8~#TcLpR*oos zz@L3}C9{3m0g6=^Lvg@(A5VcdJdlE7LNpSqbqcM+5w!CgjWx^13FPnlHLc()Lfw*s z8ee;Y9I+fNknby&2d?^t;aF#gl`vnQd|coUpA&S|TF$cK!9}xBPY;V|&Q35NtJ-&S z4Qn`Q9KwQVE_N*)W{)dat2P#EPBIpx`iWX2LQPYJT3>sj_la8WtNJh00jz}lIXct4^F#EAWSk!$MqU6~$%H=5_{Ytbr{~(%UQ2Mf3hz~l22#<2fc4-Y1Jset*(v)u;!$@97WvBwOJvBdMw&1iE(}Ik zBu)g%w}nhxC$Vyfw3MeuE5lgy1R(&yBhYm2^yeqg%#|eQ^-7cAIs37KBy^+~My!8!O#efdpQXYh-22uN; z1HGlR6|A1rw`(3l$_eof&}wdr?D$8!XB?iK^3-nvApmPd#SLq-sy4XYne^c z@1PXb{FSNMqO4+SUs3Am-7%qQa6TJ*^-3rl3`&e-f^dKqShOIiyTWaBcP@cId;?Ty zaaZP7F+B)A0}^@NNZ)T*;$Mw-3E-c|lHmYvOeZc;95@a&a4i*+kAYQUaL1I!t#ZK$ zm$bv@TnNin`U#6_uaMBG1UnjUCSOA)j0#N+qadsnmL2+BChkLNbSWr;ih6)ioExLW z5N^DiGR4zlksbPZ{GwD|5*$$!4s|2X4qX`&E7seZJdBGSm$bSgA{RtW7$1=nCiO>F zk{`)L`9V@mE{1AI<41WsWe8WA+=GDmLn&E5J5)qrz!f8?j^hEW&X*E!BycQM&4}QU zMWv{%@uxJR%cEdN|7@vso&KQnQvlag8W&Hfv|yqwH13Jub~$XT*bOP(O+|hneZDP}62frfhf)pMLuGEO@QgDm z>0f+z!9S7L+d{AHVU=dYO4+dk^FrQ&AkF<&_)%GSV>y46PYNX!g`%YV;YY1Yn%T2X zgYdT9v3%s0Z@+175yKSi9r6FGJEork%iVkst&81a6}Y|EGh@Dan56? z;VdVUP^6wd2dyZ6dMX-O{j23zwaWV$`-xcnaY z%pSh6HC)m0o+zGTfL1$obdPtOOLz86aQ+YpA0l@X(ORGOn}3fC~*$irY01{pevT%IQ`mEcs8RK`;QNBuW6K zGIG42(KehhG#g^j#wfB98|r#@=p;B|>`6InYYf2wp!onw94@oeQG{GVJ$s;NV(js(48mdUMTLw+crw7w&Yah{Jp*bipRUMfUFkc;0YQ^?I8MyNj5_2 zNijA;zmuYEgi@1YZTjJ$B-qm-2(}$^L&IW_BfkzXaAEWx(|tNcD`?%U51=pR8!%^o zDU?Saxtz%uhoDNZy{sr2rqsLrZTA`(o^MkH(&$UxGB$K@-gSzg+7m1?JW2Ys0mWxW z?n>BbaW@8u-8NJ`ZNeAPY|j);c94m&{az$ig48d;Q$Qr?GD<2;^1Z)$m!pc--oOE7 zO&b1za~>z$2BL_zaf8paK?9^=nS!K_wmB`a7Ek*UoD@DL$^Pn*MSw1I^LJRH5<#^X zl)u7qrtFqnBv4a&`7(&bE1;VEEVV1;e_;$%08dRS3!}8)uZN|~0v2P>D0VZ;4frZr zqk>#u@c;Fh%ca)@t5y(2idV-sKwoyPVz&16#+m2v$;I&y^H`|1Ew|onFMiKlJ6L~oyKiHP7s*a>!gLIj(L;B&ACNlTWI?18uh$9wqA zeiW}}WYvXm5*$zeOoFjTvkgZ3rsTZ?|NM}c*^3ebDM=r?3`!p81T{4%fOFlp9>NQ> z6vCU#&^5n{5Xt|#tNC* z#P@d~?q7+MSC9sp-vMQVx%%;2vAi$y$j4QFveV5!%@T(2`D78k>wvYSLI}|783&Sz z0fjw+?jR)BIZdd2a;pX|3gIJo*WnaF@&+oH#{d4M&t{NTv)`@_@V^qtn_l0mWC)+z z_fe3Q-RE=7&(hNckAfJ%aVEW*#XN)GBOXB?F?SGX;>rNGK_o)GU0=CNC5U^|0rc$` zGdcc>$GU~`>4nq~`3^!h%5OrP{vLW98-Qp3kV5SH*a!8uWBjiS&HaG-li0G4;-@5f+&qA6g+Emv^f01G zTmggst;NIl(Ld@xN@gAf0i9mr+3Zu70Kt5MuRTz9s8OGna9y5Wcs~k|bU$l@!+h#f z&J`rK4WKr55DN7Ha^zs%5aAE%Vr5-at=M)Dx>2D{XzI z`|N!#(H!eC>4dV0dnPK84wz_dJ}&8LhW>rtfohG~?=@3!g+>X@q_LBn+6^hNEN9;e zV{hFoid$m9yG;lf1Bkyt;F#mqg)&UxyxbN;hJk@Lc}oIdp~7WFYJ_w?MX#@@st=H*)#H!?ipE zL&iQh<3RpYdWgx3zT5P?a&8R*ZHw92lwg~Al_@$@#$G(<2D>OFdzj->3Y_=cxI8%g ze}FQ2Om?CqmBH92-t1D>xBJr|UUdK>e-^dCQ3KFs`Fl+pjR{aQ4q}hf*<_dm3}x6S zY*N!4Q(YyJx&g#si(2Tot{hGyAPuQN(hs~iCSp#eAWu~xzQWq1ww*9H`GT`g{KOJt zpSXw3FP`&Ih2-nNl_LE@v1-h#?cm%gv93Q^xXC)HPkVVdr)8@cJ*=di0xokEJ0DoD zRwP5dH=!rB=5b?KVei0TKdacJ)dRhNT~(ehst|eS)I!8&r>+l^?MKI@gAouMALdtyFfAoaWH>+kz*J{hh37a;@^T6ZW9^3?ZT z4+5A1uMQ~+x`)?&JKJko`i}|^%U5L-;h5u5Jz?8`+HMS`*xo=MMRAzBPP+=lKO{tF zlH{aB6M|GnDay!$GUGC25Dfv=%7Qe$>Uvq~JL4Ts$r&@~Zof?7sW;)(FlKvsy?NJi z^=2UsvQvfyDl=p!)qz5+7D$rE50R#rR`Sxu0S9T3wJ5Ote%Sr|{C3S0yYKRb@T20} zy_pnbL=|J?WS=3)03kV!lI)OWbLlC|j9uEGzjOH7f$R&xS{qT4?ba|kFJHhhnG*_d zw4}5C;Glpt)$QQGx02^D1+|xx*&|pQy`P2Pcc3DhAx{Q71rwqUGW54Y9;~|xe{&^2 ziOEh+&Pk7-$Dme}A(w#r&OxDRl5VF!&J;}yr)A}uBrgM#@L^Zc7Px2_|25{G6fil+ zNxzliz#NDR!Q~xZ8t}CvDo?kelem}DASe4NFC#MJvWK?WR7oBJzQ1SpTWLR^K0na& z-J@A}KOb&ffFs6VlM5X3(~5nPTVl4Y5^j?yJ4OV+G5$l0XcRg^L{34WMv6GQxEv}X z+a|{r%Qpm@x)Ldb9FY;r7jP2>Fu9qAaw|k)m&d6KynbzqpN0xx0XY{Q!9#|O$fm;b zWpf7YDtD>+#t9#>^*XK2?AIHOcK>v@@wsv+!=~Hcqvv?h&Vf0=|N1N#qUsXSrM$aun`_pfE=NpZf{^W?H<|rs00Jc+aM%=59YCz(b5f))oL(l!iKS};|#B>|e zZtwP+J@zoga7nCuv?A`_d{nMYe@D(Tzf7JQH|z=s{LNnkT(|1>;)$TS|3%>2J_H9U z=7=qGhC7I`tQ1L6pz(0bT-vN4K@mZbgouEQW5C_6jY6z=a6^u&fQ+cFW~`9Ulh{P; zT&q%>nw><9G5TJ;4dJjU{!OM|dT0x#zB9dkB+1Q~@n57$ZxDRa{n9Bh!8sNLWHOXY z_BP}!2#U6;L-msWHe?0%lTQKw;V(l96F~ud#Fx?nn4GvHQl^)M?9>7E#L*#61#bsq zS84!oN%VSz{#rsJqlOg)d)V|^Y%bQ%VO-SAC;i>C&8?iUAXsv~rT7bNYFBi0Snape z^R-DbSfVq#xAvs*nHeCa#2l_yd^%jfvDP9~DrBBofjcGZ?x%_Rtk!uZW%v&@*$i@T z{%$nbF&1+h*&~@&PR#rdc4KH^FNJj>`Bl)8X`#t{nWKVu@r-WlFX(=3_knB@WYg6d z91w9&+lwKA#lkW`cXIN$8xNAo#0?q>gT-n~;SU891zbtTWy)24y9w zn+Sj*d><$*Vcc4sAuN)ogB;$1k3&5hEmNN;EW@+pyb_+4Qc*TVT^j+wA?kBs&8+Fd zGn_!hR?Qz2CDMs;G>xsLjwO;tRyElEUOn7dEp`--(pWb<9ku53rbl(s(?bMzBxJ6( zx17aEE354*+&HV!sr1V=mr5nQ%jm6A0wi;#`F~iY|UY(aAENixVl_n z=~IXPu_|3^2=Hj8Vr1%LM52Ih@H$0U`nbCL6ye4h0FnVBWMAx*v8w$51X{^e43w(D z&z&6VuzWFYFf_GhMCw{PY6Z>_|1)aF%f4!oG@Sns%I8XVQM_*>9@hl&G>WmjO}Kv` z65S@(OLEcqhdNBZPj!Nb|682}EI=JQREN*oG3tN74ECPwV;qY92C_oKguGb^mu~qt zDMsq+Ywx&>*N=bX`u$9llE){a-31B+bO`;A%$W9u4i2VP#(#~oYEWLc`^}Ehxml#s zyln*CXe+f#aYRzRA^pt)@R9(aT2CO$Teeu(9NA6c)zFbdqvW$w)a$3ou1@>@Az8X~ zIHzp51U+6DI=>kpAqpx=)|;87B8yjDX8OdCPa)vx`{jqHqc8C9KhJSN!m`jiO>3kgVdyXg!rwLl0o_ol?civ0ax zLrzkjviw-k6B$aCmCQ>ngaYH9%6h&HErn6lGQM95OPu`h-(t<2D8#M7`AyuzEYrJ3 z5(_rsU<(6H=db4B4)d!r_GsZ6g)t)b^w@g%L7s6 zOAS40pbrH_*fg*?nZmSDJIf|SYkqN3n^hMNq#`J^>dCip-PR6|Mcx)_v7Q;$Bn@<& z&W_Q#tL+&6inFwRWvM(hP8alcxNb0zI?s778}deU99xrqkhUz)9$ANAJu})s1|M_U zB*r(S`hy3=v|MnhS2KaiO9q-}GBEN*%M5WM{YEB@#r-9svM;^X?IedN@$v0)usP+I z_x{cXpr69~29)mka6gwOOx{0CYFpBv;2zMlL>p9fa1G82E)u~T5I_bOe}rigIA>q! zR+!PU#R6ORdG0b<+64aZ;gx^X_Z5KvDX1C&-_NY=f2E*uHq=x6#||Gc-DB2A4+}Ky z-r2hstGH_r&hR~!5d*g^UZ4@d28WcP0WcV9;`xC|jTNKq_8Z|5VabL!)&%XAc+Tf| zdqxQ5o$S+j1N@8Nb^SqdC@!c7wA53W__Nh~ty1u3`0pVR{X}{tjJ4v2h=5lmk6?yp z=(p=^c|<1@L98%jDV;6>FKIR=!q}~)&XNLx}FP&BGF8Y z&O|k?<{Y=t>X_1 zvuVIAt1h*doJqvk>Q$iilaDBDMsxR9M_V{J$O1w%^Y_D5%WLrecI<^C+g=}#=KBQ( z2nhM#ju`>6+AHbmS^Smjdp)to>Nh>k;Du)>c~ZKBMO*_466Ih}{TMv9JJ460YP8ju zGyay@mq{**DEhN%@wQvbXty(}aS~uZC`<=IF;GH|kEtiUkJ~p~^(JTP+HXRXl+732 zST@wXpbYsQdtCU>9b-ZI6cJB|qJCdDQ;_!88tK&MjL4gn6I(LMzJ2j7{XUAp& z31g&R8AHUvsHI!Ts?xA7wJ?7?qlS_E!4UnvIrg733_nYYtfs=xWklEo3GLvd*lME~IX?T<2E|}kX@AeEI4b5HJ<6T+2R#LFPUZ<|V zA&dViAH}A3<%(W6y-wt7)Y?+gvDxcMyx~n$94fEgu?7dBo2a?i_xv^K_?p!D?WD*} zx>BUn^Xea2&OcAt@d8B6gAhPKZInPjsQ=z19ZU=@4e9=xGW?a{OkLV~l@+7&K?SjO zZ~l4JF|<|qbop$t5DvLXFsfci!-8C%;E1FX?##B^M|Zut59YM7ueyT&%jxV}sugY{ z{2y%$ij`1udAoxF>EEP~Lqt#99$nfBmkTGsc)%|qwo-5R>iY_=a0Hu$@b^P!4etK$ z1B+N&AkXk5^P*=B6g%ciRX>|ys-Vzap~RY}s=6EZVURQ_5}Ij(3A=yJSjeo7qv@bEC=UXj=bTz(enrQf`Hi(lKocZc&(FQ5EUnmK@pIvn}t87+WJQ`$x z89dfuEW&PGEH0riQMPX5$N}r*TdI0cVW#XHCEE%1kFU}^f^+26(#CnKmZ>IKn5jm* z(jV7ubyoSN-%K?9-a0&xQ5%l<=LnGLbN7rGBqeL>6=tgP=Ec&TY>6U^>Cg;vA@LO! zlTPZ_p;4A0^{}#$>PaiVK;tobkO(xx^z_Hhr%&7*#;f|Q!b0X+dgAb_=|wJfdOq#0 zCQbE}iPCBDJnt{;4prg3X@Ye@zu6+cAH2}Ldp%P;o;*2QXL>XM4aaqFdOx2wX?JP* zAd2^&RAs$g?W~+w^M2d}lL;pfGYm+sirxDW3;95-4a8mnAY$!3PdEX67FHB)Jr+gWxDIP<7 zRr>V`q-B`|dfC^eORn6CGQcg4{{V}2E&qf_I>C}C4<<4u3QW%40U?Lz6*QdX!$LPr zUPcszyE_}ywuTVWg?#)^+HzcECfX>iphVrDMbGJ+e49S$`YJ(#*6#|<&_t=|R^7jR zv}%;6iN%L4$=ALMI~9#D;tU1C7BUc_+~V}R5D2S%?( z&ypC#ojd;g13uuUyD9C*yW`HNNU&U(tIAt?SnZY=8Th^v(i#<`TKj#yPk#v~+{~yK z#vWC^BS>llD!1RMl+eg6?bvylPr2*HpiOesBH>M@F=lC#_pO_AJ*Zw+x3=hI^*euS znInb$W$?^A>vsR92&3d;V@yqgNO`}sW!LK!sbh%QZ@7?o7eW| z5oBv_WYKt1Y8T(O{&_=5OoT^gxqT4j#7EJX|FyU^ftPUA@ub5sM{E0h#$}U{R zE*%f4by{FZEvee8z^O5>n7$-w`k_9zqMiJAub*}Cdgvk>n!}F2e`CW&F)OuBU$$k$ z98? z2wLEHEYHcAJO--f_}*>cTQbG?gYNPGB+=`_y4ZgEyBG-iB#aDI*M^Y8N_fb=tb0%P z^^DD^NLlUAGu+>_MYZXx=eL$@Ww^tlEM)pn8d@?KV5RK!G@}8MhHYOoEgn+Z=aQA; zm4RxLDL{d~zg_YPzLX4dB$4e*SxD~vkUHIB&{1X8-DV7E92npDuv(H>aLI=HvTPA2 z6*&I;yBaxtvT?{g5@xa9hLTmS50|yfN^9A+JqRmH`O@Nc^G8<)^5W)xiJW4NS8VW> z+sqG2TSN^$8cW%o@hrJ~H>su{*xzpSF4!cFbjLQATpC1{F7Vvlt_eR&hfBmQJxV%L>1ByL^u!oE! zs9)%Xq$ShQKPJW!{bZQT2@HoX0nIi8B_pC*Ic;PN$VM5|yoN2i+W zV>^W!+AfOyt?K6^_{PJ2+EuSA{kN+Or`kqZ;06T*nGW@jgYP_7iXKH154?55PW7%nI>Uz zdm9+{GZ7j5hnoZb8^pkqKmo|~N<x&}6QY239r0 zq#4)+EUf$wUA&|F3mpJGWB^@w|E25i?6Ch)_g8Azh^ZPt`y3Hst3#Hs-lWvfm^?@I z9vNiiyA5Gk^i*R=!Pizvv5n4LMNmw}4cw0hdrNPGvSxvAQ8UGbr3pTNY;J8?kByhT ztr7?tZR@E-=#PQ(pZ`}|*BRBs)IN->IbP(fM{3^jBRQ53$xrw_?zek5yV&E7ZX-gWPsz0aDtD-SNVI@Z}a ztjDRToMo>QFLSGUEkZABn9Y;f6{%n%YFp^@bj1eVpI5&(_~rST27Uuhb;zc*b154) z6|UMNw=sgN-U-nmCitv@(N;d@Q+Bm_Y3k5KzS)|RGu%6&To7!BMs?*pG+lFzhTaJ(*1>S^(wOkfq95M@la z^Oq>(o$;1KK-G7?H z)yKug-V<GUXKYTbQ^sX;SHDCCWzTNOcHi69i>@vRKq1AwIsM zwQSoX^teFjuXrhKM&B+ZQ`n@!UhuVVWINy1B2sbSIA$-|l?b!4$xFhsTHQk*_daLM zLzg~Zry5~o?Ct+2O!?0K)Lv5GF2mR$8KWS&?3@W~lz;vGs7B5`=krLp*tV_AX_K{d zG~T7VyvJCG6B5*i9rWe;U}qfnLE@?bRw~Mw!l3g0gKv_u)E_qnee(4tY>hk`(Xsro zXW$r2snsXa8Q+=hjP6hd~kdrB2p{3foADUnS=ugH!kF2^+)-Kt>v1~#4= zSQr}g#a?i;Dgo0Yujo3xB)dg#m~y?btVn}kf#Ls0;~}E@Tm8c(IX~U5>KQu$VXPL* zn2Kag$&ysIX-#6kNXib)=$Q>q4ZWNPC!y!^df)KsXt3u8w&duB$R#BgfURWG6Uw22 zb~&^g!tYceraGef_XK!ZT4}!OV-@d?Iqso>CvYA3HW%=D9n{x%g)XaQB+L_pSX)3Cp_} z8-n|1n+9n091@$zeV2o_N%M*gf8U03MaJ_FH?mO8n*PIEZB$N8{ZlJVYuXlS$fh;b zNs3l;WAm5zsG!SY11IIj?r->unOL@}g>%8}UH48|C2#{Ww0m+?}UeG7>zB^jOvH zw`ILJ*#q0an9J=_Hj_gwn`Wy#$Y=GX3G>Ri!51gl8`d#~@NbkTur?|hX~PCU_Y;*9!s6|Xr{1^FdO2AYvy(eoU6Sfnh#KMF zFUIZD99^+WI)>m)WFSx^4+wM;Sh0YOyMHWGfbs(7r>pfHXHiFYd-$@ElRJ|kvtmP# zoPbLY{W%e4ina#HmQoQ_Arjd;qmR;MOGVHg(VA&GOu0~Nzc-oJ3R1p;KE+%J-mhl9 z;hpcHHxLfHep&en1w9Qj+sm_#>oOOZEsw8{Pn1&WMW$HxE=`PlZ_eMG@aj_tnsY6A zRbtuRzrh$pB~E+X-d|5gdWEHmnp3Y;v62*;^4@dQEYIS zNsZpF9bW13DaV9lT{5ef0BowMVIOX6vGQj41*W=JVq;D=+e237_8G9OWoJqe_m|SU z6R9jg#49A!Y64tuvVj(f5cJJa%s;&=v&qqYq_??ZL0=&obu+d8|~gZ&}V;YE5t?5=kL7@_)cguMN!kY*OB2$ ztwk>?PsWSaB2x7sxKKVi0f7kosrvQI)~G(kw^6Cy##QqtP<_|@9rzD<;kd!WTb@eDM=inXjTe@nSpK`fKE;w39jc1g90x2{({uuEZ#o+=gjSHIU7RnJ z=)qHyYR79y#)b37>V(6|`&aJ=s#$sqPRc3r@?VysTJRFQQvD7o=Vz#`h4rckG>WFW!cVnL4N7LFddH^Gjyz=f~tk}QGM zc9m-|J53;(lY<7QuOq}qTHcKK_t~n`tuaC==-fMRA~2ym5<&LP%TM3Cv5bIaQC5ZX zAExsSO9z;&9`19yI`#9^azwRKF% z;SR+QU>YErMv@NiUWLP znqO$(7jf(*K=E&m|0A_02F6Cy7~BCa832F`M}Tv{ng8xRwr-w3oM>YB*4Wrd0swa= z1%c>~z{7wu|G}-@-T(Bj1LsK%jA%ii=wRZ;vw@EIQ8@r8d|ZIo{{(kMa4<>&jduY} zaUN-$3+Tij@P8x!o#g*|;lS@iR cf} -import com.twitter.timelines.prediction.adapters.conversation_features.ConversationFeaturesAdapter -import com.twitter.util.Duration -import com.twitter.util.Time -import javax.inject.Inject -import javax.inject.Singleton -import scala.collection.JavaConverters._ - -object InReplyToTweetHydratedEarlybirdFeature - extends Feature[TweetCandidate, Option[ThriftTweetFeatures]] - -object ConversationDataRecordFeature - extends DataRecordInAFeature[TweetCandidate] - with FeatureWithDefaultOnFailure[TweetCandidate, DataRecord] { - override def defaultValue: DataRecord = new DataRecord() -} - -object InReplyToEarlybirdDataRecordFeature - extends DataRecordInAFeature[TweetCandidate] - with FeatureWithDefaultOnFailure[TweetCandidate, DataRecord] { - override def defaultValue: DataRecord = new DataRecord() -} - -object InReplyToTweetypieContentDataRecordFeature - extends DataRecordInAFeature[TweetCandidate] - with FeatureWithDefaultOnFailure[TweetCandidate, DataRecord] { - override def defaultValue: DataRecord = new DataRecord() -} - -/** - * The purpose of this hydrator is to - * 1) hydrate simple features into replies and their ancestor tweets - * 2) keep both the normal replies and ancestor source candidates, but hydrate into the candidates - * features useful for predicting the quality of the replies and source ancestor tweets. - */ -@Singleton -class ReplyFeatureHydrator @Inject() (statsReceiver: StatsReceiver) - extends BulkCandidateFeatureHydrator[PipelineQuery, TweetCandidate] { - - override val identifier: FeatureHydratorIdentifier = FeatureHydratorIdentifier("ReplyTweet") - - override val features: Set[Feature[_, _]] = Set( - ConversationDataRecordFeature, - InReplyToTweetHydratedEarlybirdFeature, - InReplyToEarlybirdDataRecordFeature, - InReplyToTweetypieContentDataRecordFeature - ) - - private val defaulDataRecord: DataRecord = new DataRecord() - - private val DefaultFeatureMap = FeatureMapBuilder() - .add(ConversationDataRecordFeature, defaulDataRecord) - .add(InReplyToTweetHydratedEarlybirdFeature, None) - .add(InReplyToEarlybirdDataRecordFeature, defaulDataRecord) - .add(InReplyToTweetypieContentDataRecordFeature, defaulDataRecord) - .build() - - private val scopedStatsReceiver = statsReceiver.scope(getClass.getSimpleName) - private val hydratedReplyCounter = scopedStatsReceiver.counter("hydratedReply") - private val hydratedAncestorCounter = scopedStatsReceiver.counter("hydratedAncestor") - - override def apply( - query: PipelineQuery, - candidates: Seq[CandidateWithFeatures[TweetCandidate]] - ): Stitch[Seq[FeatureMap]] = OffloadFuturePools.offload { - val replyToInReplyToTweetMap = - ReplyRetweetUtil.replyTweetIdToInReplyToTweetMap(candidates) - val candidatesWithRepliesHydrated = candidates.map { candidate => - replyToInReplyToTweetMap - .get(candidate.candidate.id).map { inReplyToTweet => - hydratedReplyCounter.incr() - hydratedReplyCandidate(candidate, inReplyToTweet) - }.getOrElse((candidate, None, None)) - } - - /** - * Update ancestor tweets with descendant replies and hydrate simple features from one of - * the descendants. - */ - val ancestorTweetToDescendantRepliesMap = - ReplyRetweetUtil.ancestorTweetIdToDescendantRepliesMap(candidates) - val candidatesWithRepliesAndAncestorTweetsHydrated = candidatesWithRepliesHydrated.map { - case ( - maybeAncestorTweetCandidate, - updatedReplyConversationFeatures, - inReplyToTweetEarlyBirdFeature) => - ancestorTweetToDescendantRepliesMap - .get(maybeAncestorTweetCandidate.candidate.id) - .map { descendantReplies => - hydratedAncestorCounter.incr() - val (ancestorTweetCandidate, updatedConversationFeatures): ( - CandidateWithFeatures[TweetCandidate], - Option[ConversationFeatures] - ) = - hydrateAncestorTweetCandidate( - maybeAncestorTweetCandidate, - descendantReplies, - updatedReplyConversationFeatures) - (ancestorTweetCandidate, inReplyToTweetEarlyBirdFeature, updatedConversationFeatures) - } - .getOrElse( - ( - maybeAncestorTweetCandidate, - inReplyToTweetEarlyBirdFeature, - updatedReplyConversationFeatures)) - } - - candidatesWithRepliesAndAncestorTweetsHydrated.map { - case (candidate, inReplyToTweetEarlyBirdFeature, updatedConversationFeatures) => - val conversationDataRecordFeature = updatedConversationFeatures - .map(f => ConversationFeaturesAdapter.adaptToDataRecord(cf.ConversationFeatures.V1(f))) - .getOrElse(defaulDataRecord) - - val inReplyToEarlybirdDataRecord = - InReplyToEarlybirdAdapter - .adaptToDataRecords(inReplyToTweetEarlyBirdFeature).asScala.head - val inReplyToContentDataRecord = InReplyToContentFeatureAdapter - .adaptToDataRecords( - inReplyToTweetEarlyBirdFeature.map(ContentFeatures.fromThrift)).asScala.head - - FeatureMapBuilder() - .add(ConversationDataRecordFeature, conversationDataRecordFeature) - .add(InReplyToTweetHydratedEarlybirdFeature, inReplyToTweetEarlyBirdFeature) - .add(InReplyToEarlybirdDataRecordFeature, inReplyToEarlybirdDataRecord) - .add(InReplyToTweetypieContentDataRecordFeature, inReplyToContentDataRecord) - .build() - case _ => DefaultFeatureMap - } - } - - private def hydratedReplyCandidate( - replyCandidate: CandidateWithFeatures[TweetCandidate], - inReplyToTweetCandidate: CandidateWithFeatures[TweetCandidate] - ): ( - CandidateWithFeatures[TweetCandidate], - Option[ConversationFeatures], - Option[ThriftTweetFeatures] - ) = { - val tweetedAfterInReplyToTweetInSecs = - ( - originalTweetAgeFromSnowflake(inReplyToTweetCandidate), - originalTweetAgeFromSnowflake(replyCandidate)) match { - case (Some(inReplyToTweetAge), Some(replyTweetAge)) => - Some((inReplyToTweetAge - replyTweetAge).inSeconds.toLong) - case _ => None - } - - val existingConversationFeatures = Some( - replyCandidate.features - .getOrElse(ConversationFeature, None).getOrElse(ConversationFeatures())) - - val updatedConversationFeatures = existingConversationFeatures match { - case Some(v1) => - Some( - v1.copy( - tweetedAfterInReplyToTweetInSecs = tweetedAfterInReplyToTweetInSecs, - isSelfReply = Some( - replyCandidate.features.getOrElse( - AuthorIdFeature, - None) == inReplyToTweetCandidate.features.getOrElse(AuthorIdFeature, None)) - ) - ) - case _ => None - } - - // Note: if inReplyToTweet is a retweet, we need to read early bird feature from the merged - // early bird feature field from RetweetSourceTweetFeatureHydrator class. - // But if inReplyToTweet is a reply, we return its early bird feature directly - val inReplyToTweetThriftTweetFeaturesOpt = { - if (inReplyToTweetCandidate.features.getOrElse(IsRetweetFeature, false)) { - inReplyToTweetCandidate.features.getOrElse(SourceTweetEarlybirdFeature, None) - } else { - inReplyToTweetCandidate.features.getOrElse(EarlybirdFeature, None) - } - } - - (replyCandidate, updatedConversationFeatures, inReplyToTweetThriftTweetFeaturesOpt) - } - - private def hydrateAncestorTweetCandidate( - ancestorTweetCandidate: CandidateWithFeatures[TweetCandidate], - descendantReplies: Seq[CandidateWithFeatures[TweetCandidate]], - updatedReplyConversationFeatures: Option[ConversationFeatures] - ): (CandidateWithFeatures[TweetCandidate], Option[ConversationFeatures]) = { - // Ancestor could be a reply. For example, in thread: tweetA -> tweetB -> tweetC, - // tweetB is a reply and ancestor at the same time. Hence, tweetB's conversation feature - // will be updated by hydratedReplyCandidate and hydrateAncestorTweetCandidate functions. - val existingConversationFeatures = - if (updatedReplyConversationFeatures.nonEmpty) - updatedReplyConversationFeatures - else - Some( - ancestorTweetCandidate.features - .getOrElse(ConversationFeature, None).getOrElse(ConversationFeatures())) - - val updatedConversationFeatures = existingConversationFeatures match { - case Some(v1) => - Some( - v1.copy( - hasDescendantReplyCandidate = Some(true), - hasInNetworkDescendantReply = - Some(descendantReplies.exists(_.features.getOrElse(InNetworkFeature, false))) - )) - case _ => None - } - (ancestorTweetCandidate, updatedConversationFeatures) - } - - private def originalTweetAgeFromSnowflake( - candidate: CandidateWithFeatures[TweetCandidate] - ): Option[Duration] = { - SnowflakeId - .timeFromIdOpt( - candidate.features - .getOrElse(SourceTweetIdFeature, None).getOrElse(candidate.candidate.id)) - .map(Time.now - _) - } -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/RequestTimeQueryFeatureHydrator.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/RequestTimeQueryFeatureHydrator.docx new file mode 100644 index 0000000000000000000000000000000000000000..e5831e67614c8978a1e1deb077d00c35fcc24194 GIT binary patch literal 38115 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 literal 0 HcmV?d00001 diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/RequestTimeQueryFeatureHydrator.scala b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/RequestTimeQueryFeatureHydrator.scala deleted file mode 100644 index fd9656d8c..000000000 --- a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/RequestTimeQueryFeatureHydrator.scala +++ /dev/null @@ -1,122 +0,0 @@ -package com.twitter.home_mixer.product.scored_tweets.feature_hydrator - -import com.twitter.conversions.DurationOps._ -import com.twitter.home_mixer.model.HomeFeatures.FollowingLastNonPollingTimeFeature -import com.twitter.home_mixer.model.HomeFeatures.LastNonPollingTimeFeature -import com.twitter.home_mixer.model.HomeFeatures.NonPollingTimesFeature -import com.twitter.ml.api.DataRecord -import com.twitter.ml.api.util.FDsl._ -import com.twitter.product_mixer.core.feature.Feature -import com.twitter.product_mixer.core.feature.FeatureWithDefaultOnFailure -import com.twitter.product_mixer.core.feature.datarecord.DataRecordInAFeature -import com.twitter.product_mixer.core.feature.featuremap.FeatureMap -import com.twitter.product_mixer.core.feature.featuremap.FeatureMapBuilder -import com.twitter.product_mixer.core.functional_component.feature_hydrator.QueryFeatureHydrator -import com.twitter.product_mixer.core.model.common.identifier.FeatureHydratorIdentifier -import com.twitter.product_mixer.core.pipeline.PipelineQuery -import com.twitter.snowflake.id.SnowflakeId -import com.twitter.stitch.Stitch -import com.twitter.timelines.prediction.features.time_features.AccountAgeInterval -import com.twitter.timelines.prediction.features.time_features.TimeDataRecordFeatures.ACCOUNT_AGE_INTERVAL -import com.twitter.timelines.prediction.features.time_features.TimeDataRecordFeatures.IS_12_MONTH_NEW_USER -import com.twitter.timelines.prediction.features.time_features.TimeDataRecordFeatures.IS_30_DAY_NEW_USER -import com.twitter.timelines.prediction.features.time_features.TimeDataRecordFeatures.TIME_BETWEEN_NON_POLLING_REQUESTS_AVG -import com.twitter.timelines.prediction.features.time_features.TimeDataRecordFeatures.TIME_SINCE_LAST_NON_POLLING_REQUEST -import com.twitter.timelines.prediction.features.time_features.TimeDataRecordFeatures.TIME_SINCE_VIEWER_ACCOUNT_CREATION_SECS -import com.twitter.timelines.prediction.features.time_features.TimeDataRecordFeatures.USER_ID_IS_SNOWFLAKE_ID -import com.twitter.user_session_store.ReadRequest -import com.twitter.user_session_store.ReadWriteUserSessionStore -import com.twitter.user_session_store.UserSessionDataset -import com.twitter.user_session_store.UserSessionDataset.UserSessionDataset -import com.twitter.util.Time -import javax.inject.Inject -import javax.inject.Singleton - -object RequestTimeDataRecordFeature - extends DataRecordInAFeature[PipelineQuery] - with FeatureWithDefaultOnFailure[PipelineQuery, DataRecord] { - override def defaultValue: DataRecord = new DataRecord() -} - -@Singleton -case class RequestTimeQueryFeatureHydrator @Inject() ( - userSessionStore: ReadWriteUserSessionStore) - extends QueryFeatureHydrator[PipelineQuery] { - - override val identifier: FeatureHydratorIdentifier = FeatureHydratorIdentifier("RequestTime") - - override val features: Set[Feature[_, _]] = Set( - FollowingLastNonPollingTimeFeature, - LastNonPollingTimeFeature, - NonPollingTimesFeature, - RequestTimeDataRecordFeature - ) - - private val datasets: Set[UserSessionDataset] = Set(UserSessionDataset.NonPollingTimes) - - override def hydrate(query: PipelineQuery): Stitch[FeatureMap] = { - userSessionStore - .read(ReadRequest(query.getRequiredUserId, datasets)) - .map { userSession => - val nonPollingTimestamps = userSession.flatMap(_.nonPollingTimestamps) - - val lastNonPollingTime = nonPollingTimestamps - .flatMap(_.nonPollingTimestampsMs.headOption) - .map(Time.fromMilliseconds) - - val followingLastNonPollingTime = nonPollingTimestamps - .flatMap(_.mostRecentHomeLatestNonPollingTimestampMs) - .map(Time.fromMilliseconds) - - val nonPollingTimes = nonPollingTimestamps - .map(_.nonPollingTimestampsMs) - .getOrElse(Seq.empty) - - val requestTimeDataRecord = getRequestTimeDataRecord(query, nonPollingTimes) - - FeatureMapBuilder() - .add(FollowingLastNonPollingTimeFeature, followingLastNonPollingTime) - .add(LastNonPollingTimeFeature, lastNonPollingTime) - .add(NonPollingTimesFeature, nonPollingTimes) - .add(RequestTimeDataRecordFeature, requestTimeDataRecord) - .build() - } - } - - def getRequestTimeDataRecord(query: PipelineQuery, nonPollingTimes: Seq[Long]): DataRecord = { - val requestTimeMs = query.queryTime.inMillis - val accountAge = SnowflakeId.timeFromIdOpt(query.getRequiredUserId) - val timeSinceAccountCreation = accountAge.map(query.queryTime.since) - val timeSinceEarliestNonPollingRequest = - nonPollingTimes.lastOption.map(requestTimeMs - _) - val timeSinceLastNonPollingRequest = - nonPollingTimes.headOption.map(requestTimeMs - _) - - new DataRecord() - .setFeatureValue(USER_ID_IS_SNOWFLAKE_ID, accountAge.isDefined) - .setFeatureValue( - IS_30_DAY_NEW_USER, - timeSinceAccountCreation.map(_ < 30.days).getOrElse(false) - ) - .setFeatureValue( - IS_12_MONTH_NEW_USER, - timeSinceAccountCreation.map(_ < 365.days).getOrElse(false) - ) - .setFeatureValueFromOption( - ACCOUNT_AGE_INTERVAL, - timeSinceAccountCreation.flatMap(AccountAgeInterval.fromDuration).map(_.id.toLong) - ) - .setFeatureValueFromOption( - TIME_SINCE_VIEWER_ACCOUNT_CREATION_SECS, - timeSinceAccountCreation.map(_.inSeconds.toDouble) - ) - .setFeatureValueFromOption( - TIME_BETWEEN_NON_POLLING_REQUESTS_AVG, - timeSinceEarliestNonPollingRequest.map(_.toDouble / math.max(1.0, nonPollingTimes.size)) - ) - .setFeatureValueFromOption( - TIME_SINCE_LAST_NON_POLLING_REQUEST, - timeSinceLastNonPollingRequest.map(_.toDouble) - ) - } -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/RetweetSourceTweetFeatureHydrator.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/RetweetSourceTweetFeatureHydrator.docx new file mode 100644 index 0000000000000000000000000000000000000000..ba7292f1e4b4cdad5fc52c826a34ccfc6a8b5f3e GIT binary patch literal 37691 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 literal 0 HcmV?d00001 diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/RetweetSourceTweetFeatureHydrator.scala b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/RetweetSourceTweetFeatureHydrator.scala deleted file mode 100644 index 33cbef884..000000000 --- a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/RetweetSourceTweetFeatureHydrator.scala +++ /dev/null @@ -1,76 +0,0 @@ -package com.twitter.home_mixer.product.scored_tweets.feature_hydrator - -import com.twitter.home_mixer.model.HomeFeatures._ -import com.twitter.product_mixer.component_library.candidate_source.timeline_ranker.TimelineRankerInNetworkSourceTweetsByTweetIdMapFeature -import com.twitter.product_mixer.component_library.model.candidate.TweetCandidate -import com.twitter.product_mixer.core.feature.Feature -import com.twitter.product_mixer.core.feature.featuremap.FeatureMap -import com.twitter.product_mixer.core.feature.featuremap.FeatureMapBuilder -import com.twitter.product_mixer.core.functional_component.feature_hydrator.BulkCandidateFeatureHydrator -import com.twitter.product_mixer.core.model.common.CandidateWithFeatures -import com.twitter.product_mixer.core.model.common.identifier.FeatureHydratorIdentifier -import com.twitter.product_mixer.core.pipeline.PipelineQuery -import com.twitter.search.common.features.thriftscala.ThriftTweetFeatures -import com.twitter.stitch.Stitch -import com.twitter.timelineranker.thriftscala.CandidateTweet - -object SourceTweetEarlybirdFeature extends Feature[TweetCandidate, Option[ThriftTweetFeatures]] - -/** - * Feature Hydrator that bulk hydrates source tweets' features to retweet candidates - */ -object RetweetSourceTweetFeatureHydrator - extends BulkCandidateFeatureHydrator[PipelineQuery, TweetCandidate] { - - override val identifier: FeatureHydratorIdentifier = - FeatureHydratorIdentifier("RetweetSourceTweet") - - override val features: Set[Feature[_, _]] = Set( - SourceTweetEarlybirdFeature, - ) - - private val DefaultFeatureMap = FeatureMapBuilder() - .add(SourceTweetEarlybirdFeature, None) - .build() - - override def apply( - query: PipelineQuery, - candidates: Seq[CandidateWithFeatures[TweetCandidate]] - ): Stitch[Seq[FeatureMap]] = { - val sourceTweetsByTweetId: Option[Map[Long, CandidateTweet]] = { - query.features.map( - _.getOrElse( - TimelineRankerInNetworkSourceTweetsByTweetIdMapFeature, - Map.empty[Long, CandidateTweet])) - } - - /** - * Return DefaultFeatureMap (no-op to candidate) when it is unfeasible to hydrate the - * source tweet's feature to the current candidate: early bird does not return source - * tweets info / candidate is not a retweet / sourceTweetId is not found - */ - Stitch.value { - if (sourceTweetsByTweetId.exists(_.nonEmpty)) { - candidates.map { candidate => - val candidateIsRetweet = candidate.features.getOrElse(IsRetweetFeature, false) - val sourceTweetId = candidate.features.getOrElse(SourceTweetIdFeature, None) - if (!candidateIsRetweet || sourceTweetId.isEmpty) { - DefaultFeatureMap - } else { - val sourceTweet = sourceTweetsByTweetId.flatMap(_.get(sourceTweetId.get)) - if (sourceTweet.nonEmpty) { - val source = sourceTweet.get - FeatureMapBuilder() - .add(SourceTweetEarlybirdFeature, source.features) - .build() - } else { - DefaultFeatureMap - } - } - } - } else { - candidates.map(_ => DefaultFeatureMap) - } - } - } -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/SimClustersEngagementSimilarityFeatureHydrator.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/SimClustersEngagementSimilarityFeatureHydrator.docx new file mode 100644 index 0000000000000000000000000000000000000000..f7d4ef46c5e7654e56e27078f9e27589ae958dbe GIT binary patch literal 37714 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 QfpV1~Ln1JH-0lPM0DpLZ>Hq)$ literal 0 HcmV?d00001 diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/SimClustersEngagementSimilarityFeatureHydrator.scala b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/SimClustersEngagementSimilarityFeatureHydrator.scala deleted file mode 100644 index f66966f00..000000000 --- a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/SimClustersEngagementSimilarityFeatureHydrator.scala +++ /dev/null @@ -1,75 +0,0 @@ -package com.twitter.home_mixer.product.scored_tweets.feature_hydrator - -import com.twitter.home_mixer.product.scored_tweets.param.ScoredTweetsParam -import com.twitter.ml.api.DataRecord -import com.twitter.product_mixer.component_library.model.candidate.TweetCandidate -import com.twitter.product_mixer.core.feature.Feature -import com.twitter.product_mixer.core.feature.FeatureWithDefaultOnFailure -import com.twitter.product_mixer.core.feature.datarecord.DataRecordInAFeature -import com.twitter.product_mixer.core.feature.featuremap.FeatureMap -import com.twitter.product_mixer.core.feature.featuremap.FeatureMapBuilder -import com.twitter.product_mixer.core.functional_component.feature_hydrator.BulkCandidateFeatureHydrator -import com.twitter.product_mixer.core.model.common.CandidateWithFeatures -import com.twitter.product_mixer.core.model.common.Conditionally -import com.twitter.product_mixer.core.model.common.identifier.FeatureHydratorIdentifier -import com.twitter.product_mixer.core.pipeline.PipelineQuery -import com.twitter.product_mixer.core.util.OffloadFuturePools -import com.twitter.stitch.Stitch -import com.twitter.timelines.clients.strato.twistly.SimClustersRecentEngagementSimilarityClient -import com.twitter.timelines.configapi.decider.BooleanDeciderParam -import com.twitter.timelines.prediction.adapters.twistly.SimClustersRecentEngagementSimilarityFeaturesAdapter -import javax.inject.Inject -import javax.inject.Singleton - -object SimClustersEngagementSimilarityFeature - extends DataRecordInAFeature[PipelineQuery] - with FeatureWithDefaultOnFailure[PipelineQuery, DataRecord] { - override def defaultValue: DataRecord = new DataRecord() -} - -@Singleton -class SimClustersEngagementSimilarityFeatureHydrator @Inject() ( - simClustersEngagementSimilarityClient: SimClustersRecentEngagementSimilarityClient) - extends BulkCandidateFeatureHydrator[PipelineQuery, TweetCandidate] - with Conditionally[PipelineQuery] { - - override val identifier: FeatureHydratorIdentifier = - FeatureHydratorIdentifier("SimClustersEngagementSimilarity") - - override val features: Set[Feature[_, _]] = Set(SimClustersEngagementSimilarityFeature) - - private val simClustersRecentEngagementSimilarityFeaturesAdapter = - new SimClustersRecentEngagementSimilarityFeaturesAdapter - - override def onlyIf(query: PipelineQuery): Boolean = { - val param: BooleanDeciderParam = - ScoredTweetsParam.EnableSimClustersSimilarityFeatureHydrationDeciderParam - query.params.apply(param) - } - - override def apply( - query: PipelineQuery, - candidates: Seq[CandidateWithFeatures[TweetCandidate]] - ): Stitch[Seq[FeatureMap]] = OffloadFuturePools.offloadFuture { - val tweetToCandidates = candidates.map(candidate => candidate.candidate.id -> candidate).toMap - val tweetIds = tweetToCandidates.keySet.toSeq - val userId = query.getRequiredUserId - val userTweetEdges = tweetIds.map(tweetId => (userId, tweetId)) - simClustersEngagementSimilarityClient - .getSimClustersRecentEngagementSimilarityScores(userTweetEdges).map { - simClustersRecentEngagementSimilarityScoresMap => - candidates.map { candidate => - val similarityFeatureOpt = simClustersRecentEngagementSimilarityScoresMap - .get(userId -> candidate.candidate.id).flatten - val dataRecordOpt = similarityFeatureOpt.map { similarityFeature => - simClustersRecentEngagementSimilarityFeaturesAdapter - .adaptToDataRecords(similarityFeature) - .get(0) - } - FeatureMapBuilder() - .add(SimClustersEngagementSimilarityFeature, dataRecordOpt.getOrElse(new DataRecord)) - .build() - } - } - } -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/SimClustersUserTweetScoresHydrator.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/SimClustersUserTweetScoresHydrator.docx new file mode 100644 index 0000000000000000000000000000000000000000..c075bc74872bf6ec40a70023c93dc39c3dbc31b1 GIT binary patch literal 37943 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 literal 0 HcmV?d00001 diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/SimClustersUserTweetScoresHydrator.scala b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/SimClustersUserTweetScoresHydrator.scala deleted file mode 100644 index c938f34c5..000000000 --- a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/SimClustersUserTweetScoresHydrator.scala +++ /dev/null @@ -1,86 +0,0 @@ -package com.twitter.home_mixer.product.scored_tweets.feature_hydrator - -import com.twitter.dal.personal_data.{thriftjava => pd} -import com.twitter.finagle.stats.StatsReceiver -import com.twitter.home_mixer.model.HomeFeatures.EarlybirdFeature -import com.twitter.product_mixer.component_library.model.candidate.TweetCandidate -import com.twitter.product_mixer.core.feature.Feature -import com.twitter.product_mixer.core.feature.datarecord.DataRecordOptionalFeature -import com.twitter.product_mixer.core.feature.datarecord.DoubleDataRecordCompatible -import com.twitter.product_mixer.core.feature.featuremap.FeatureMap -import com.twitter.product_mixer.core.feature.featuremap.FeatureMapBuilder -import com.twitter.product_mixer.core.functional_component.feature_hydrator.BulkCandidateFeatureHydrator -import com.twitter.product_mixer.core.model.common.CandidateWithFeatures -import com.twitter.product_mixer.core.model.common.identifier.FeatureHydratorIdentifier -import com.twitter.product_mixer.core.pipeline.PipelineQuery -import com.twitter.product_mixer.core.util.OffloadFuturePools -import com.twitter.stitch.Stitch -import com.twitter.strato.catalog.Fetch -import com.twitter.strato.generated.client.ml.featureStore.SimClustersUserInterestedInTweetEmbeddingDotProduct20M145K2020OnUserTweetEdgeClientColumn -import javax.inject.Inject -import javax.inject.Singleton - -object SimClustersUserInterestedInTweetEmbeddingDataRecordFeature - extends DataRecordOptionalFeature[TweetCandidate, Double] - with DoubleDataRecordCompatible { - override val featureName: String = - "user-tweet.recommendations.sim_clusters_scores.user_interested_in_tweet_embedding_dot_product_20m_145k_2020" - override val personalDataTypes: Set[pd.PersonalDataType] = - Set(pd.PersonalDataType.InferredInterests) -} - -@Singleton -class SimClustersUserTweetScoresHydrator @Inject() ( - simClustersColumn: SimClustersUserInterestedInTweetEmbeddingDotProduct20M145K2020OnUserTweetEdgeClientColumn, - statsReceiver: StatsReceiver) - extends BulkCandidateFeatureHydrator[PipelineQuery, TweetCandidate] { - - override val identifier: FeatureHydratorIdentifier = - FeatureHydratorIdentifier("SimClustersUserTweetScores") - - override val features: Set[Feature[_, _]] = Set( - SimClustersUserInterestedInTweetEmbeddingDataRecordFeature) - - private val scopedStatsReceiver = statsReceiver.scope(getClass.getSimpleName) - private val keyFoundCounter = scopedStatsReceiver.counter("key/found") - private val keyLossCounter = scopedStatsReceiver.counter("key/loss") - private val keyFailureCounter = scopedStatsReceiver.counter("key/failure") - private val keySkipCounter = scopedStatsReceiver.counter("key/skip") - - private val DefaultFeatureMap = FeatureMapBuilder() - .add(SimClustersUserInterestedInTweetEmbeddingDataRecordFeature, None) - .build() - private val MinFavToHydrate = 9 - - override def apply( - query: PipelineQuery, - candidates: Seq[CandidateWithFeatures[TweetCandidate]] - ): Stitch[Seq[FeatureMap]] = OffloadFuturePools.offloadFuture { - Stitch.run { - Stitch.collect { - candidates.map { candidate => - val ebFeatures = candidate.features.getOrElse(EarlybirdFeature, None) - val favCount = ebFeatures.flatMap(_.favCountV2).getOrElse(0) - - if (ebFeatures.isEmpty || favCount >= MinFavToHydrate) { - simClustersColumn.fetcher - .fetch((query.getRequiredUserId, candidate.candidate.id), Unit) - .map { - case Fetch.Result(response, _) => - if (response.nonEmpty) keyFoundCounter.incr() else keyLossCounter.incr() - FeatureMapBuilder() - .add(SimClustersUserInterestedInTweetEmbeddingDataRecordFeature, response) - .build() - case _ => - keyFailureCounter.incr() - DefaultFeatureMap - } - } else { - keySkipCounter.incr() - Stitch.value(DefaultFeatureMap) - } - } - } - } - } -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/TSPInferredTopicFeatureHydrator.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/TSPInferredTopicFeatureHydrator.docx new file mode 100644 index 0000000000000000000000000000000000000000..c76cefa2e738fca9aa6342421bc8de8c6d0d87ef GIT binary patch literal 38567 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

    A|9UL7XT! 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 Og*XDkLp|l|(f?5}T literal 0 HcmV?d00001 diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/TSPInferredTopicFeatureHydrator.scala b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/TSPInferredTopicFeatureHydrator.scala deleted file mode 100644 index f6047730f..000000000 --- a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/TSPInferredTopicFeatureHydrator.scala +++ /dev/null @@ -1,148 +0,0 @@ -package com.twitter.home_mixer.product.scored_tweets.feature_hydrator - -import com.twitter.contentrecommender.{thriftscala => cr} -import com.twitter.home_mixer.model.HomeFeatures.CandidateSourceIdFeature -import com.twitter.home_mixer.model.HomeFeatures.TSPMetricTagFeature -import com.twitter.home_mixer.model.HomeFeatures.TopicContextFunctionalityTypeFeature -import com.twitter.home_mixer.model.HomeFeatures.TopicIdSocialContextFeature -import com.twitter.home_mixer.product.scored_tweets.feature_hydrator.adapters.inferred_topic.InferredTopicAdapter -import com.twitter.ml.api.DataRecord -import com.twitter.product_mixer.component_library.model.candidate.TweetCandidate -import com.twitter.product_mixer.core.feature.Feature -import com.twitter.product_mixer.core.feature.FeatureWithDefaultOnFailure -import com.twitter.product_mixer.core.feature.datarecord.DataRecordInAFeature -import com.twitter.product_mixer.core.feature.featuremap.FeatureMap -import com.twitter.product_mixer.core.feature.featuremap.FeatureMapBuilder -import com.twitter.product_mixer.core.functional_component.feature_hydrator.BulkCandidateFeatureHydrator -import com.twitter.product_mixer.core.model.common.CandidateWithFeatures -import com.twitter.product_mixer.core.model.common.identifier.FeatureHydratorIdentifier -import com.twitter.product_mixer.core.model.marshalling.response.urt.metadata.BasicTopicContextFunctionalityType -import com.twitter.product_mixer.core.model.marshalling.response.urt.metadata.RecommendationTopicContextFunctionalityType -import com.twitter.product_mixer.core.model.marshalling.response.urt.metadata.TopicContextFunctionalityType -import com.twitter.product_mixer.core.pipeline.PipelineQuery -import com.twitter.product_mixer.core.util.OffloadFuturePools -import com.twitter.stitch.Stitch -import com.twitter.timelines.clients.strato.topics.TopicSocialProofClient -import com.twitter.timelineservice.suggests.logging.candidate_tweet_source_id.{thriftscala => sid} -import com.twitter.topiclisting.TopicListingViewerContext -import com.twitter.tsp.{thriftscala => tsp} -import javax.inject.Inject -import javax.inject.Singleton -import scala.collection.JavaConverters._ - -object TSPInferredTopicFeature extends Feature[TweetCandidate, Map[Long, Double]] -object TSPInferredTopicDataRecordFeature - extends DataRecordInAFeature[TweetCandidate] - with FeatureWithDefaultOnFailure[TweetCandidate, DataRecord] { - override def defaultValue: DataRecord = new DataRecord() -} - -@Singleton -class TSPInferredTopicFeatureHydrator @Inject() ( - topicSocialProofClient: TopicSocialProofClient) - extends BulkCandidateFeatureHydrator[PipelineQuery, TweetCandidate] { - - override val identifier: FeatureHydratorIdentifier = FeatureHydratorIdentifier("TSPInferredTopic") - - override val features: Set[Feature[_, _]] = Set( - TSPInferredTopicFeature, - TSPInferredTopicDataRecordFeature, - TopicIdSocialContextFeature, - TopicContextFunctionalityTypeFeature - ) - - private val topK = 3 - - private val SourcesToSetSocialProof: Set[sid.CandidateTweetSourceId] = - Set(sid.CandidateTweetSourceId.Simcluster) - - private val DefaultFeatureMap = FeatureMapBuilder() - .add(TSPInferredTopicFeature, Map.empty[Long, Double]) - .add(TSPInferredTopicDataRecordFeature, new DataRecord()) - .add(TopicIdSocialContextFeature, None) - .add(TopicContextFunctionalityTypeFeature, None) - .build() - - override def apply( - query: PipelineQuery, - candidates: Seq[CandidateWithFeatures[TweetCandidate]] - ): Stitch[Seq[FeatureMap]] = OffloadFuturePools.offloadFuture { - val tags = candidates.collect { - case candidate if candidate.features.getTry(TSPMetricTagFeature).isReturn => - candidate.candidate.id -> candidate.features - .getOrElse(TSPMetricTagFeature, Set.empty[tsp.MetricTag]) - }.toMap - - val topicSocialProofRequest = tsp.TopicSocialProofRequest( - userId = query.getRequiredUserId, - tweetIds = candidates.map(_.candidate.id).toSet, - displayLocation = cr.DisplayLocation.HomeTimeline, - topicListingSetting = tsp.TopicListingSetting.Followable, - context = TopicListingViewerContext.fromClientContext(query.clientContext).toThrift, - bypassModes = None, - // Only TweetMixer source has this data. Convert the TweetMixer metric tag to tsp metric tag. - tags = if (tags.isEmpty) None else Some(tags) - ) - - topicSocialProofClient - .getTopicTweetSocialProofResponse(topicSocialProofRequest) - .map { - case Some(response) => - handleResponse(response, candidates) - case _ => candidates.map { _ => DefaultFeatureMap } - } - } - - private def handleResponse( - response: tsp.TopicSocialProofResponse, - candidates: Seq[CandidateWithFeatures[TweetCandidate]] - ): Seq[FeatureMap] = { - candidates.map { candidate => - val topicWithScores = response.socialProofs.getOrElse(candidate.candidate.id, Seq.empty) - if (topicWithScores.nonEmpty) { - val (socialProofId, socialProofFunctionalityType) = - if (candidate.features - .getOrElse(CandidateSourceIdFeature, None) - .exists(SourcesToSetSocialProof.contains)) { - getSocialProof(topicWithScores) - } else (None, None) - - val inferredTopicFeatures = - topicWithScores.sortBy(-_.score).take(topK).map(a => (a.topicId, a.score)).toMap - - val inferredTopicDataRecord = - InferredTopicAdapter.adaptToDataRecords(inferredTopicFeatures).asScala.head - - FeatureMapBuilder() - .add(TSPInferredTopicFeature, inferredTopicFeatures) - .add(TSPInferredTopicDataRecordFeature, inferredTopicDataRecord) - .add(TopicIdSocialContextFeature, socialProofId) - .add(TopicContextFunctionalityTypeFeature, socialProofFunctionalityType) - .build() - } else DefaultFeatureMap - } - } - - private def getSocialProof( - topicWithScores: Seq[tsp.TopicWithScore] - ): (Option[Long], Option[TopicContextFunctionalityType]) = { - val followingTopicId = topicWithScores.collectFirst { - case tsp.TopicWithScore(topicId, _, _, Some(tsp.TopicFollowType.Following)) => topicId - } - - if (followingTopicId.nonEmpty) { - return (followingTopicId, Some(BasicTopicContextFunctionalityType)) - } - - val implicitFollowingId = topicWithScores.collectFirst { - case tsp.TopicWithScore(topicId, _, _, Some(tsp.TopicFollowType.ImplicitFollow)) => - topicId - } - - if (implicitFollowingId.nonEmpty) { - return (implicitFollowingId, Some(RecommendationTopicContextFunctionalityType)) - } - - (None, None) - } -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/TweetMetaDataFeatureHydrator.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/TweetMetaDataFeatureHydrator.docx new file mode 100644 index 0000000000000000000000000000000000000000..558c55db2a5e49f393d159974af45384f9e3a80e GIT binary patch literal 37512 zcmagEb9`Of);}DxF&o>qoiu4|qp^2vqp@wSbNR6*PaT};1K8_ARsUxPpO<5RZ2y1NuVGg<4_1?=OVdU0ZAH0uU!@)30{Ns?JH3hSrd7Y$oDoV$rlzX)1 z`{N2Ouamy6B#)wg;@Pju3>0cvRvB>Z{#>bH1{bOlUkw`L2OaBNrf3@+%v9~`*ZPVO z-G<=-$lrh1^fI_ksIwkJ)t5!yC~Iw^S_c0(1y}`9)Xp7&XRE*4^5&kbsnMEuYH3ER zcv~C?O5%9jiy~&8^afBfO)J$=Xb+`i&xe zWmgrfQ|b_oNgiY6=6tt57A5h%%?;9C;TDtg?iADKr}7sX^nAEPd_MRBxr+Vp!N2-m z@};YI-+3({-$;fonOgfb3BM4fC+^F$=M#KM#YZuLzL%wvjeWuKdy@QTbXh$Rg@1I> zokCjZ0oc7wFc1)U;9q?Q6Kh9ChTqq!_^Hp}%*cM{0^+0OCAQ6~VudSuVn?!t0==n| zXT`QYlEtgtU5aA58kl_qhv$1nri&Q`xXZM~)`9AVnhODWOMMz!)R&DN`s*;su$}(I zZYsM$n%3zNx1@+dCKUG^rfNh2w3}!{+SCnav%=LPV)`^Tl8B{2WeF%Z@J>|f&ffHM z04RWjOf!3UNmbhqYuE4x!Dc5(13#hTSUVKuG&y5tEUrRCDSNaVQK`e3=lJS)kCb@X8jz+k6&SAQWJMi~&Xp4gfnxMk9cO$?uyyD}F+5fC*Xr z-b;L5RxRur8Ae=+2J|@mvn0Cza@!pnyR7v@HpkS~UZIUvF0Bi}7VpTloxlcXQwz9J zaC|UfNZh%KY;dUzW?h-Z zP#)63dUm$?uhYa?txCmtM`xAsEkj6Kll(iHSfMlYS z=7EMK4}OuE)`OT^u7C}6*s+Fi!Kv1g-#yyYX2w}-Mp$#IZGSSlV)pgH*Fp&T^=ZgJ z=^)dDsuqd`@6_cH@&ghmtB_)vl549P%Xavwql5j{j0?DK#fO%V4~WSh^JY&=D}@5` zVAi!=HUWc0btCihyX*9hVVwZ` zVhsTTg8cWse6h3pqb({EwrfntozJuox=!I1(87w?@d1m%v!WX~weguP^W!9+;~?6Y zcYVAcLov9>w&qHt;?-jz2F6n?g6rnX6(L zH=Z;QDc6^&hh9aU#`b6kkK}T*gTIPWMUH(ZO|tv~=(|D5(ePilk8QncDC3Pql)giR zc;XdVe!&!@SrvuW!jDa8PDAsp8wXtf;^g{}P;~{a0UCbwG0N-(X%ZnpK>SJm z{J^>b9E=%(pIT=d;NtZA&N$VwaopuVe%sW~yA1g{X$KacD7`_-X#wNvbS8o$c`iyZ z0HeL!-axJ%PkdAS-bLGEKtvAMCL?5E4KwNbC9vw<*b&g_>5B$sE>dI|(BgvA+8s#c z8Z^y@{WD}EJkxM2EV*9HDy)GY^ z^T-*KbqO+(@h^6C#*%EEpOMr?0rodg#u8!;DDbJ-A2p}iQl%!s$y-=I0uHz)ad1JF z6PQLRBRUR>g&IC}iwHm%w-;um@%gJKuz~aj(B_B-Z)DRTK)vdWX5s2B|6;Smvp%?K zCR27p2O|XAlEn%Z4u7!?i+Td*GZdRt=Y#04pT-*_c`TM^oyxcGnzDWt4(FmNteYxy zer#!@gMo;NOL{c7x3Xkq^3D;n^Aj04^U#rGfdfI&!22kn^$9skqCYFmEb)aq<=}Eb zSlLq~AekLi=x%kkW7Ui9u^@(I*Nc=u+z<4GdM^F*uZUPgQ5SGoq3z-5;c=Asc2WK! zbQtDhv5|Ph*N;rf@D_u|Vy!Z&d~lMduvSVJbdf>xC$%B{MWAmm_*v*R{m2fw2dJ{o zB*}=U?JJ|ExNb118V$J$H4HmVWJO>6qz3IW%pHXLY;4;+7*h8HQy8EP1q)51cDO+B z9b1ws*e-SI2GIKQJpAl~L&&M85p{?05=!z=cRa9b=F! zKp5_kH)=X^4vrSOgj&XF-YVX$lYW4|jH`_t?CycjNyWfO-vh;Y%@P5|(PaSHgVz_&r8j$}XlaEz1VwYk<)K*k=w?rdF_0UP5;PbCd}4 zUap}-&Apk_@s;bJ@?iD=K12w6-nzQsHe_MVS$&IQe8T&LPf|Q=@Mxkm%M8w%BHuC- zX(;=Ma#XawKYylxfDZC}c&6;*pMP4J>&X+8dEQE)IUPKrb!Pjlv}RTw23w|0&njbL zOH1XO7YlVlOG7!&BXS`MVB4=2dB+;6Np?JSE)()27icFPsq!mhAnKObk`AKC1&c?{ zjFlcaSjv5hfM9OIBFe?wb!z{nxUvCdrjJ3|l0$J;vfqy9+=QN7VIEwTfx0{PwIfBW z76&73TEa>hpULu6V@S&(vWa+Ue65O`#XYn|G3U5~ukk~LxtljaM$q(ldhdOCi+Da& zs_JKc2wz;=HS@INBFjwuhF?i&s?}N^1G!*3dS-G-Rf`uV=;vVM3E_w33T9O99l!cX zPHEU@bIG_yi(;_rJL_NC2GkrTJkZ0B*HMy8*cJka7PRGPvF5ARR7|kYmUOXr%4uB& z2^KUJ`bbH0RdBmiR`o(C%o6vAijqhX-65QWLkt`?0+puB2{Ig zrVgoz=bd*pc|7w#vT=KWR>&Qd|wUmVP|RN>GsD%<%SI*l3d77sh{@@ zjB;{0eO(pZ()eCDR9c$%Q;HZ_uyU^UlKJDv@{yo*mG3lh%=bqh$&Jx5r_ zBEvKBiSi|0$|?POUbRhU23fN%O~6^sk1TJE#G5lhHr%Nn(vzbn@8AV<$qUPCyrmgw z0*$`hK`!)J7irl1T4LXPzqw_=7-iQ)sQZ2+yP z)}--3!|5JP;Tar|ZB*L{^j3|GLOo??c(j?Ea-O95D_N0E-Dt09UCxkxdI$aIBiz;x z7nKFLwod@pc0AzP{>LNy&z(iBktb#vIS#eq3%q9+c$iX^!LW2qJ2}G9Q?Q-L5SSe1Ze>&mszeq*(C!(~$ zbX+Y}J1|(6=32d(t%2Zv4E)ac&ss-SVDd&Vf`I6$LV_UutJaQA?$#!be=L@|x(T}y z_1--_`33qfKWt)yKt`r*LE>HTzIb+J*PXMuZj0r}epyK4Emm>)8h9Ko3H9oA$ZdbIH`%bqB!b72AvV@!-r& z>nuBY?bY`6EJJW<1n~A4^Zxj}bRJzI*mAO``|!AN*^#o)@q9S<^R^=-WbfGhwVvgo#&rVz?_ADD7u|Fd~yR8Hnb>*B!XFOjd-Cnt+<8w~j zMEE$+d%SXckX|QL>`^u8^Mzut;I znJT3a4A^gNFd}XFq>2-INoJoCzYo?t_89inOe|0&H@rA$h4`SPljAsbz;<11;&h}4 z`nX4^ba?Teq7m1G#op8+K^BFaq4LaxG$4i4R13b=>U(PndUFLcc6P*=1Y`NWz8wyj z`og^4Y`i+9>%7$ZtaNVi@mIN?pM|7wo@H~&pS*kPo%`@t=h!a2qYZW^N4Bo^oXQ=p z#Q=66e!SOd^+;sncDHLwa6D2!^>TRJGm}%kJ**wLa2~>Qmt79McZA|m+!;!_>oFE! z_u#6*rSHPjr|x}5_)>wiQ;Ni_MA)xNXjmyQDCQkX?G-xbC3eWwdG)%*+bxar*8G)%=78olij`j>xk6dwczQwK&GNZlkUR&#lXS!_0O{b z$4oZb;5NJ>^{DrO1GjR5%xfyuK=_q!`w!&47lcdl87(OhmJr`Ut!Tq*%f-2bP~t$v z2)-1uboah?^j?zUMy$VUn0Wa==afbQ)MFU4EIMOb!h@GIcwDfaPv0(n+R$ba41Y)Q z!XUnb`7Z2*uTLcvSwzZ}AaHJ4p*p%Q_M$=@^I1|+vJ_P*k+mX-ZXcbNSekz6Gfcc( zdrzhB79Qh++IZ&(`eJ1#b4CHEqV;7?%WD}zu)Ut-n zZUS;42l!_gr3^T7h`vKHd*b7Sf*`skO(l`oRVQj<7_&|EUVWJBVn6gCcV!{C)lO<6 zc$>}2tO7|GB~n_{0K51WKcdVZy1X%Q$c5RR6~Wu&08mY?F>N7axhqWMpoC7yQF@Up z%-Dd~PRPRC-;?IRNz8vuLhO(MK!yK`uWrI2XMkXIhac^i+64O-_9QO=ldPQ&iK~Drv|6da6iC`$*;bHzzJ)hv(gxvW%>fb|!j-rjzE*;%ydf7Z;S_?$o z1ZvLS=Z~Pin!Z|uiycY5pW(#)Qz#Q-OIw@Wy0?7W(6pCr9Pz|7<`3*URz@bQ-{>Ow z8MKpM&WARhZ=Kt8ZHGLCUj~*YUGmJA-LADChUao>cHC-yE(pjU?jMZh?>t0p3F@}o ziV;TJ?lPt^sB$&s`< zafm-``!yI2sM+7AC@xzD{UT2e8 z)`h^hD=-gd3t#Ra%rd^qsAPYS`SE?9Ll?hVD zt`;2y1~?t2FSFQIU*8AF(=@l4ef8QVg_>I97MkwtY}{K+zdHXpfKj`MEi-+Sqv@2|a6YhbJuXCt0*# z!n$Nevw+dbF>A)P@7hH!%2J?2DgoQ^S7`1hH-%wox)H?bEeV+IJbS-wPKG6bj!chz z#||f{_e(L^65F}BQ8iW+bC>x#0;5CJ1&JB*>p|BM`tk08C?TifrvmP;@UpE8Y<*67 zQk**Gl`-(tcGaMPjtIzJ7UQ=?)WwXl9Xrx!-d?cG_+PlSiVMddJwi0mraFj9&`?Ia zzZ#wm^qectdzbvk-aF$f+LGQF0+f~SsPR7hw9i1FBW&3^CwYHMpYND)eYzRBdb=7P z^5}TAclWt}OL|{CeVY6Ea%{)+rSq*-Fzb%-Wo87@;|&C9CBwZ{078GOqa|hJmiSRA z?wQ?SJ*c4c%+V21Ty}zDBIhmzQ8E&@y;J2ZTd7St5b&*f;rRuvr^idt?~+~XMOEyv zk?0Wt@QhK5NqZX))%+R3n)u`Lak@WlMY44I90Pkvl(Afg>p_snuj}LNPX1|i=2~Yy zrH{1)h#-zLCoex^`yem13yNpPl!|&t@Vs2J3-bY*Mol?M6#3&555e5i1fi1-ah1A3 zCR@pC#s>>f31;h-T!@qb0Sx)PEv*T?s^l%GT7$ZX>R4^Eh)bNzJPI*%>n{$DY{je< z6v--L7v35(jfUw%D`Cg0E$o2J6L{>O$1EBa!vVSbvGSSkbt{-XZt{Bbq{5|MC#rVI zJEeZ?cu;IGMMNQRz~Ox`o)6{$4BVEj~O}KFo6>xI#%ci<``P zAq~OqE^1%4a#~i7l~G5K=cTF{PZqnj^FN4T?uPvZrlDf~j6 z$n6MrAdLZ#lFztvHyOBgxaa06J{Hi_j^T}xn9-Q5l7hd($=PULH{hWP{t(6I$(%4a zqn9Oi?0L6i@crAs%vSRn``Y<={8GB=KoZ>7_lLKqMLeuZX{1ahuAXH#wp!IM>;-Ug zDrDv6JY37=wI^yr@|X9S*0N+ZKXXGASv|JJMjnSe3I@{K@8;1Ig4ZHxxMt%@^B0eh z)rMMaRq6UKIXYSlXPFm=ZWm0Q`@q-44OAz*JlrkiDs}X1`LqV-m88=ssxal&br!xm z{Rk~1|7vvP@o3-1^DFJPBIPKFB&OX5B)F8Nv2Pg!kD93c#0_w6o>|MViTib6LLGPA zHIh+35em)QSk>YQ}cs#trA=SGlsN zYJc#C0oM*ahVWyT7D^*a`Gqwlif!5{7;%$3q624V&6z!-szdwMzBDm87y6=X{WkvW z_qEXj5h>c}&sAI^^}D6;YL&iL$%UuuN^5PB&5j)g9mSk0Qd$l=mSfEEoTiglA*Qdcd@@*SD(My8Q10DawvxrZT`9xAKZ?5N z&VDaPwBg4#?K3U1&F4uo#jEe*f5%Fy!BQ*zMTCshY5NAY&Qalj8n84K_W(4<4gQ z;5VJyofloF^^XN$Hi$~**UeLGKQlm|DygPTe4oDCgWv2-F*FW7b*+y02715b<@zM7 zC8C2<3z$%G*9Fy~lRM|5vSqG+eu+er3zEpEMPUI>G{<&ozhW) zl+jcD^igk*)#noz-#b1wiogz+)lf_8F76gN6gxAMZSm8i-RrlKsU0`CD9;(EA^4xu zci+Jt$Sc?q*Oyly)y9%ktFmLW!CW$IY|i4OAJrAxbh10%w9lSIB?ytQ==lo~#+XlB zq|{EcRrd@K&X2qMq4Eg=*yfE=??QU2kPed~Fb>Rc;Pq?rymM;M&MZ6h2(B(DUasd% zanZVt?k#VLx>K{r3#<-TBk*-hq{Ozxqyy0-RUUG5U!f=M^g7uJ1|d zy7;u{ z+cG1pE@16RKY08$DZrP~G&`XoDKEyqz;^xQ8i98MU&Ui2iui`B3B+dJ9)#}<6Z{f@ zM(Nm8bA+HO9DZa&_H|Q&BA?Tf%f8qVh~s~Vn9FG6Ez#tP#Lj zrHM`iV5}(uIPgQ8$bnpe)EVM#SUN&b2Et5Xhytp^j;2~RhWwO0JNAnZb6X7fobly~ zop)e69W+D$Jkyt8n|>T4@S`L*63OH@rXRRq`L-^vaA~d`O>=&isBjkdaC=0OaD9(Z z+(2s|cIm;}+3Az267Tb^4V2RAb_h-+8{&%t8F{GhRl1K(b+?zmudRNWv0U;rC+f^r z2M$?4Qi|-3sb6`?>)PJbf-an+Wa>S3=4@nMFs;;%c)jKv2e|NZcsBJVcf>e?GR$20 z9sjou3%Jq4G7M>~I-BY86*Vw#i5Bz=5m0%mlmldbopQZK>1NUTEV$$S+jOY{J-337 z6vw)g(A6h57`LDABEEI3d>B0`3zo%F1OU@9KX^-Y{gGb!SNi{RGQJ1*iDLrN*fx{W`LwJr(paPNxxUW&E39I8-b z>5JNxf$QIytwrICa(hsjZu2;6HZKjzh<*{|VSzY1P;@NbWz0*qR+g)$Ctu2T9LyO+ zGGDQ}Bz|73Q0vS;Z&@B#%4xP>U6CkIpaxS73 zJ5_2Er46?fNjIe{Ou?cqKHr+SB!>9mx+wzvwJfbnc*95{%{=|j^*>D$AjEc;TeQV^ z6{wb%)XglYKau9l4IUm-fnBZ6ltlPl++C|c&@E@K&cH>&(SX6l(0(kMXUGXBp!meu z0#hpOR-wv&{7XzuT!_chzn_>_@JLInfP@HAKcP>EGSVDK6%a}2);w~Soz_)uffD;~ z9tg63@yP8-VS(Z{8aN&gGcwVX!cYM%C4T=Yta8J|-QFfHq}#7ub*y;UN2daz zLI-w?jf9S<0x^H__RRdz0@G_16LicazBz$O`kc7XgXR>lh_;|54LB8_f^Q+v@zq`C1hVL5 z#gPIFGPckZ5-!xN1Jw5Fx`2eIu%%!46u1;n6b7EpM~n+KFD$en$kwD*<%)@n9vg_( z!cIBtp2~~Gg|4F1%Cd(A)Q#kYuDJQVs-sDAX%!$k@qA>&g@Q~4?!UHCl5(9LN`v0sZ)hI;vxm)1L=+A)2jJE%!c}(Gcg4H=307k;> z6!{%|%or$v9?vT5yF|4D=Aq zJ_<@7R9}A3;8}DhP`w)F61|O8yxF%sT|L(N!hf0f?t&+$BEXIMq-RgshB&Mq_&^y_ zGks4EUzkq)#NG%Kv#zawuU6efoZOcys;Vj+1n$Nh>XQbV*}eFI96)8kemU8nSc@qC zH6h;EU4)&xjZTRuIbc+2_#6paJPd-%h5?} zfhXX8Hb}=`sUVM_&c>TCV!pUG3L8SN-&xnAqsWx==U7Dtivvp&A#wmwh7tP^Iy4GT zf;oqQDH^vTXS@gr<^auV67%brHG=pPXYXv-(2?h^kuse`4J&k$G4oKtxf>mn4+ueB zst89WRKiN8@|^v*V&qWtZ~h4&+_7j>poT(p5_-sWsnxaE;gc>T4GhS!yqYAQ2aH|34f#DW>Uy_M6vpsWtE1^eznhosZU8y zVX&vx?Eam92!2s^c5l6+fo3o1_ix+j=!xrOoWh4J2u%%B9a6*0O6TRUf-cK9ZKXUJ z-PkH_qm^Z)-87Ys6r$0K&DKMW((356&N>M`=@%5U04X)e9#qh8&Nm;O5cAhw&lXX1 zlz1+SSuaH7?DcEHji$CCPFE>X@)2t3Z=se4Il^pE*M4bzj@Ps{(L*!b&CnR8?6$}p z`?i;aZAM>CJ}s5mutpTfRpQgGevrAKZ(ZI(O9>oI;4)iMiXSw#F_*V*|Cz+~ zKa-NC_UUgAt_Hco98nK{Q>9iSSYOCyqD?#ua!0X#^yoxAtQ2qhJ@0~RjC?pRe?Okt za76_o{YnM0oB78$J-L+3B2=>x<#d>d*KX!;+6R8UFvrDwt>5z<2rQwF$0eR7)0*yf zfki%c;P!HVj3>t%b1CfONVE^JuY6GjTGQI_MYMJ+D>`lq|Mv=g^tiRrL-*bx*qIZoh%KcPf^6ZkPB+K+ zG}d%a1NniW|EARuA}K zpQ4AF1t5OSK4GT*Huy4yE3%<%?8C-JF?*VeaOv0dOnc!0)MSacB8l3vsKqU;x{)VTzgD>uG~Z z*B4CQ=A)aY(YQmb$4%FVI`AdzH?{O1)TlseXzAa(@5#2!MTBI7Kd4=dCxFzv9Dh=O zCr67w{6DBKy9Z%A!*cXDz1lu?8NeP_mG`0A&Slfl`Mdri)(GfqChIs6M2jGG3spyy zt{t?~ATi#t9f;>JDw(Mr6zbaRL;bzWF8bKwIsf4=@;m2IAh|O1ALK2}Y-kY-{|EW3 zfzJM=0EsE&h`<=c+A1SxRF?Q+eZFTv#@jo=Ow!>xNzqcQa zf6l*sSlUhPDuyU2e5TVt4F4Ggs7oC7Ud|P!S>;xnEAW-=%BniPbZtI}r86tvoCDEP zJZ+MZ$9HxeSW|E6Lej5K|Hgh>*v?;OM`~Rnki4N5JT~Y?AL|c$D^fe}NsLT>0z!_q zJV_^b($pl11L5+tLEBGcNnz!)_eDADhYZVEShj`O41~2=`2jAa`FCa2Pr93S;fp@{ zs8do}uW%&kQ27=Z`l)62Uy0KfLDMO|tqc2{SydQ8z}(z)xJC=J$u7POi#_OqiKcl-OLm2FC^dNNsA*kXFLVqb1F|LmKx@tWs5RT z_dAtY@Y-XO^(a3soxqiwTRq<^c31%Yae$Nh5czVBrkL8G5{S0vOHZNhuGg^&a59Q*pG0=ED*9Km<*E#xa-&k55)r! z@e2k00?|q&l}N-`O35W$b!!|F2R3O0L(9}<&5;eA-I~%AhN%EhMPRh+h%vnc>wKo# z2{vSGFyJF}wdiIaPGR=zEmG(Sb*Zv<_MVO;4#8je$OK`9%RU5* zSx@J|BC`Gxu6hGe60)%bbs*9u0&X+hKp7-a8AsudVf7SF;AX#cf?Q+w!^<#cKwlG^ zHIYsHM_iQfZ*kZ`7b2Hdqhp5K+`noGnFk0OeL#sIe_x>MffuM|A5c0;m)C&C-0p42 zqSG<_VR)t(;?7<@bfzl_foE;T{ix#bRE z@lMNu#XE(89`(0wh4^RjY;tt|Dqd}ub$99%@C4gm3gHIe_fPP4CU7aIdciFXlqqw| z+^AqY%J5LZRB50gx8ui|g^9%MRHOzKPrbbTu%ZARDxX1XKMuGS==Yi7$rY6}!+i+4 z9}EZ`>mQZjx2>HEM_BN@#RfoNGId+NyctHVW7JC%7mWz!Q*R`5D4TH@o6T#7%K(2I zhP6|vHJYzFzr#HP`I-66#Z}t7gZHun@q(8!^~2%1ceBt}N+zmOe)-$lSRcNHf_|Kf z&}iB<`x49bY`ZSZ=INHcyUt#?W%#SmbCfO8?vf~!(DS_Ip^RtJ>2Q(_Z2e~&_Id6c zn$Msy@Gh}WO}0GO6%QivUG}idJ%~&_Lk4ViTqu^pX*s>Qxe_!B10qkwDlu?Y2_!t# z*6NAn_MZJOTIK=Y!LH#cx(_}3<)tQPK;WuC026<9V)? z#i_ULcZ&R1fAi1+giXp?a!C%BKo2;xW)4ZG^;~erUm&0$n_5c=Fu%{{d#GrD!_V5A zJgcfitzjK3dGS_oq;66D@c9Ktc|slbm<4%QAFzUe z)SQdf_{kcF^=zgdOdPc4z85+{m}LyPMP<}$R*-en>yvzx(8nF7o;a)rYl9h?6MB}O zyNu*=RzcN7FaoS!M7MuZVJ<2G;DJQ|pPWgX!Gur2&m*O}M#DyLoT>597!~L_R{Zk( zA~uq=aj4F2tDmZWO>erka(D=(yi-DUU9Hvd&-lM#|b8CKwg>V{)$XaI<iP3$KT$3GFKLzwx zj{OVCd984W!NJ%TJW<2!5F8Yf0Do~rpAu4#Eaj7*Pvy2^bNFpO&h+`JTQyVS(l3(i zl{ki*qmT0Xguu7Z+gkD?B=GrV73I_$kh;b4eC2Y53vnDjG^<$M66=}*#6t-XE018a z7L6)$7DdSgJ|nB_p16h8B(d5%2|pb`^J6?B7vHRpp{-!&vgCAc0>%@Ua1TpFa>{}Q zZtzNLuoTLW7M4|hu{u8~I+ISxv660CW=*-)tcM)$Swi+)iLP4TimsM!f1(b6^TB6) zXmUVLXK>qk$t?*W>@UpbwWGoXSGky5dX`PQ^4NP(xnOPD4#@_;y#=Fr$ivBi^C^}S z9LG<+;Teqgs&MAm>Ixt%kEy_Tp}9LN&zX{f6#R^$a&h9(R}+QC!$POQ5jQuvQC=<^sYCds+e^Y*#~wgGBMWdo)f#;>MFE6B zX|lkQ798*rlcr#!*MuM5~ zWQXAfZMR6LiErsSIQ!qADKV4sV?z?N9ncw!i30jLi79A%W%( zc3J@)5uhChLu~(@P7OY?_wagyiG)Yt2Zqzr>Er4Sjvk>OD+RB?2Q3+&m?S|)pJ!Ke zcHY(%Kc-y7A)Q?0x|xenPV=d1TUff-<07?aN(R;XyG5JJ@z|-bALy3iSXfKJpwX}~d;1|I$O(#Bk*>jL z4bB1N6cRF(1u~ObToKG2%Fy=Astn1>wzi*Jb*fXM*bNMJjd(P{qvED0BZ3(nYEB*N zSKJ8Px-Y6wX%oy$hK7sz)S%7*pDQOJ)F^=KWztx_LZf0>lEvhBK-l?XCqwJdq+DgB zh9ARSr3F=Swl64&eU52HJaU3S5I+m>Y&tqY_oWk|XX5;HPT8B$J6Oc1bB zHPYl3g^WzHPu3jc5IasA>Vps6SueHe%}kCz6fdKuju>ob`G@rpv0{V1Fw7W0! zB8CjN>t;BOfHqlD-I)kItPMxoRiE^vvXd})MXxnJb_%oAu^6i*pFAa}`RP#6PB^{(m>iCnFinfAJ?7hyR;p&7&MP$Ny~7b@)u6>Y=tne}A#C=2d4V0$EM zxc3i=gC_RV?+q3J28JfUMgowMPuvAOm07Grteue-M{ysm>nGY(4Na~pE0>8fN5;3k z`@@om8(2W)NM^<%wn_fpQ7}O}ue+eMSEwprWt%?>S61>?TAxL)gW`HHKO>|4jnP9> z6C8>{tvG@Gn}#OSeI|DYD-@71Aqnz&DAG}m=R_?mDXg~sNQ^=NBSJs;d(FhOZN7e% zKyKM(@m7-@U(pDsW>s!W8DPfx&Z&R>dxyq+WRfFiqA*{u?%`60qS&;~zWPWzMNklA zoTeB`=y0y+?V)wX5YZFHqzcDd9|sG3YCqvDZqtM%e^3VB!xdBGfE5Ew8t z$SOpoM83UN$N`Xd>Zp}E3lu6abbzy|AwZK{slxYTdIXGZ?@bt*8*m!7t&R$S0&yg^ zFG<~bgG*^_N8Se&Dr;GaQXvIltkUhLZcfx`RT~jVU(65u9NYARBhV~Q4`$Sz6i;GO{#yk+ z(w{1Vd#~~3DiqbKEuE_Z4&}KKbkbVF5i#DJm-#M!%vhcg zD`s+z3=^9uYr9K}x<}a80c9FAN}aRxCgE;2_c8g8i#mL(GYB=GSxW2-c$>80?_ zY88ZR?TRiVj@JN>o#!7SE(+Ul$w#)=ueVGg2mFpIUZ_xy#S(?S?MVzvjjU9PMqPS} zX^BMrQ1EChfZ2U6M-=>&qe)uG1pIB>bb#bwQMDjW1RN>C)!K;(cV-#BQWFTI^cN7u zZy@b|1KIorn)jXT@{!DYGh2kAj@&3SiQu!wiv0tDuLAgNv1hbKqXxeBBT=GSflZTu zyU2+LU?qmMOB9~N zx;zLNDnrpf-w7ATfq4;<5krc=Ig>y(Wr>^u^I|sUfDYa#afl(eT(DU186qX%5cueJ z{ZpKCNXicVQ#cFl9+xf&-;w@#Zr{K?V2+y|1jMlh3Iyk$=l0btoXo{dO-+oP{yf6( zt(#IHQGfdUh|zRBB%hrOLOeF%J&g)BtT(ZDnRfReP*E|jn_eA%{F$Z&c#2;r#}9Qh zMshUh)F+i%=woaftK$e_=);@uo11(0vv=D@701c_)`xeFhXdO-pJl%4#hfkQ>vR1* z0Oi*D>0QL_-mZItUibUK%>G%%`{Vih)7yz_$7{~a#D?zG^X*wjO%2lddCnd1X#Zx{ z8b2SsK4wQxS0zDn#>TGa@B+Zy@sLB#EO z#Kvn`TMB}{6=Oum^}91vpw!j9rMJc2T{K6{gtNodoauA@GNrGrAZ5?8kGtn9hsCvX zoxZmYf6bk5vCU(OsgJMkd$X>utL5I>gm+=jBSV}2xsR{AfPQCL`<+`s$vgME;e=zt zNKQ~jNK4AThi_|_>)O7f!$8LEnZ>QgDd);!e1iO;1PvkAb*;XBNcL)O$lB1-58rBp ztM#|N%TJ6mBfK@X_FUW8agAXUjBd8XfNL*G%?t0OlXUAtAGMRU9snnxW@%B)vg)<< z&B20J6H08ACra^d*2R+ZddK22T_!grWiL_oWTpdOm(z zg8u!Ip|xwD6asF%wYPeHd|m<`LcVwB7v9av`;Ly9EqWKEiiMi7SMsW!N>ow7$;FNZ zZwJ%18Y~E>YE?e zhOdua4sCCDTZHxZY1}u=%#UwAb+2~=zgGM2&sjF?o=BGz!~E6Nwz@E%Z13CMH1KVW zFD-gx7MqP9lq+T`(AlP!1>Y}gTAU^^0nf5;40;W&ahz!c)E|y_+V00l?si(S$g$`I zUmM*Y>b+iS<>fki1U2Ll-=0VGn=7U`G}pJbOK2;pvP#kU zOS51Vd6kD;?lMA1l^SeXm9uj;grd*QIAQjlR}gX^d|UzvyK^>rgMmXw+rS}g;1KKG zt)Qm{-dp$Mj^qdSp6a`qiPc*h$-2z!yR;5{%(bDz)7{&j4EvCr#mDK77kBnEu5+RR z8E>^)wn}%}Micfh*5Zsc@(~-B>VPOiE+1LV&5f;=iV-c(g80{};eN)Mh>-oc1K?4? zu4m`R5xw%b98OolXuMLNURaO)l7+*PSKa;)LU+0+a_~NrA0-R6`hdJ2d98GI2-W&v z8#wUq8Uodudei(veQ{nX{n5&R5#_oBM7WuO$iyf+zOWiYGJLOW%8#_TJ8tn|^(ZZy zq3bjl49)rv2fG@!%`==c8K)&JW@oAhZ|rrwxLk_`&**kl@YkdcnkD26QW z&&?}K3C1BJ?GN@{`qi!zyaEXfke*Yggg2ji+lu?3xa z&;(lyZT9n!9@GX25$>n=8^GDY?EMmD2fuwWUe*kPsH_5sa-~Ao*uk7DJZc{d(c*Ui^Q5t{4|AF%NfWM>s?<%m_TOjRH^H;&R zWM*wa@t`bPKoA3ifMD$Z(E698Rj^}v6aX*`78qvrS6DB=7Ji#ayy-X21{l|e@4s>W z9`HBMwGxex^V%evz%W!`*l%lyRt^~P^};_=7I&5K3dl#T;_=ykAi+Zk8pv=>U+%dJV9*DH5hk87}zVAbM;?%nq7 zz*x+Le1^?;@68{6({rwgDePx^Xjm~1+&n^kSziz+KRSSlfKtm9&^8Ug&KgSA@-Syzwz@Fp& zc=-Padk5&swyj$@wr$&X1r=+@wrx~Yv2EM7ZKq;YY^UO?q=L8WoO|#4&i&tef7>l9 zEv@bJ(R-h3%{}H=d#({}Dwvmp0WcNJ%`x@9SQ3RZbgvw^w1j9Phd6$Hu>cuY$b)tX z^jRZ~_r5j72{t2P4rn$&vdY6+u;(n+i-~vt4PjO05MLTlrh%xSKrZl!)I(p|%7WzL zJL0<9H8T6IKxOE?6nVDf*RUoF!EBd$R{?Ip$VGxn4}wLoBO-Se-j0(9T84D=o(3A{Iq zBf2@S`#itC#)%7N9r@mCzbzh2Hoi6s>2ndtRWiM{um9j?CSbHjc6eIi$cR7XLvM(T#$f!9ync+QAU$4oXz5j;Y0{Kb>e{R&Qz^m9Z zMcl@#$bM1ZzkherD(mPLj*2bGf_-P|{tfvg{6f!&o8hu`x}?(Co6y;zhBL?Jo4u(U zj0y@n;FCFl^EA(=QMuo!A|k=l=Q?Yd_tk91hGC@M_mhCIJ_~twJ zDjWF*L1O}oU5ZUZKNbn@%f3v$%k&g?9i-;=CcEH#GwHkkw)(}>o56P%$pd!~7UN>6 z!Ba;d&m-p6UKeR}$f@zuwyW-o7+`C~qk z;Z%KcU!W#KW~Dlb5E9j!u=g;=ob1?HeaPC!zROpn^gbQUp;=Md_;K3f$HiJoM%0Yn zt)&6GA?Oz#x`48Sl)=T@<{Bs7HPygW`w|nmAmBc*rZqPxq01x2<=9$Wi3~?tQ_>@Y zGkelqFH`#Ea}w&(OoNx(sr-78i(%)d^4vT##aU{p*iIJjQBLsAU@OyHldQe$~a<~;fn{3zfC z&x^u$d+{wKE#TZicFU1RuE*Px6B?A!$LSMn9;ZL3ratsw?5=@~6d|nbI;+<$#6M3u zz3Wlu=6LX^PB{B@vu4xxdBu#<=A>XsEOn-|%a$j-dBtL2Cw-$$jM_7$vLm9J%S&O>u4hMRO`Xk?Zl(*5 zp&pAJU6sdg&v*ysy^3XA#ox^NTddCw_?DX|n3pP`CwGMF-c4@nx00i_na|G9VE6A- z2m_Vm4X&|?zjU~9@H)ObeGfQe@3nWIXchWqtCFID6t?c@@>p_UJKlMxJVxlzod#$W z)%UEpi18qvlJ!vW)#-T3ky7QJp?qr9BZO=aZNBoNs6*D%1^Zg}tO4WfsmdnuwLO>z z#3@HI(Q6ZNSDpyrN!z*le(dt@fcE_{{WoQ#=uiuMd{Lqmoe;|A?f$@?&{G&&XTRT7 z%$-vHkdKq1%}WpeR`!(Q;N{u9cL&k4cZdEXSQ78l3(9cjDx2W(I}2G;I0>J`<0(!; zk;xLWD@W#mu;b?2i__1Ev8^9t?f6MQKck=@c*#Xiu(Co?Wy+G1!h}nIBB46;Pk#VM z2{kiA5gTnL!c}oLmHQol;GINJPk8;jAOD;glNz=tO;(n5+xVj#3frsEUDr&t0l5cP zv)Y+0StG&dS#m^lBrdXU2kf#ftFi7@;lxw}Hk3UtM!7tKhLW&u4L=PIWcs~5oAMGh zg_*MB0ciwsUlmvfNaxqUn4_9Ab0|xxOycYhTo$Qgfa#g_BnkW_d7@qjnCalbxEJDN{lxCtfPkzSCI6 zbXQUmY|Ki2-8l@IZD&kn>%K=`+-HfmH{Z+75}Gabq|-{vkj1Yiy*aX|8Y*`rz(lNH zUR}aM4;N{nvaSxCbv&@o;{gq$Gq|Rk**^POSD(2P5@Me% zbB&L--Iw1Gz%LUbjmsqta_~kOJzuW-xRkQkMBbMQ!#YUsb?tNT3+NzaBZnM6A#)op z!>wl3eChG(<*h@UgX~V;7B-@0>^p2rltt>NbHBRXW%j(xnNx@CKY_e~er*Zs8v;ug znEM3EFs!)KJ|71Qj`QBSdHq9LQ5U*7)!$K1s8f>kv;QTy^L8^6sXl00P9d zyp=C{sJBYOaWVe&%#zF3ReJA@qP}ay6CIX?E|woUT#gRA+lr#<_$?S+;8W$4oA`$H zb_jz#XPkAhz=w7jXlbQtoWu?GG`QlxY-TOU1tI(_CEGLP-ppzca@*wf=63YH+?ER> z!I7VO5#Q?Bvn9Sp+{AYtw=POG{$hyR66_6*&>ADs&i!`0?28dXPF3gbBDuG%$p_>X zL%q9g${y#w(1Sa&?J8jM18OxN@UfXS(f`vNpw(C2#hraM)Dz$>ilk+?^q16BM~A

    OSwwrZZJNG)AQjV(w*=ioLOd7UD-ohd~7Lw+Ml@9iGH?mW9ZWm|K+ zxx#ig1KZQ?!M-0U^Eex;3o^)D_8TAQ~`uYaL7!k5K25R#ci%6R{Z$QQIs~)9*6o^`Pr(q3dV( zq*@a4=Hq{3lkYhlh69k|Ud@Ds z=4yga&mO|nQWR4+Cw&j+G^pr_@WwWt|2!LuYER4L;iHyA44KQP?v_iln3ELjJl{~$ znzS4*sYqmp8fk|b|27{o10Y2Yn>*M8x8fiNo;`ubLU@N683#m{{yE;c);1`^W&{LU zhpQhO%O)vl?mTtZ*=FcT{k)=l@2QKo#CXiACv%Ih4tSYivR1jW9WmS&Z%lUHKkK#M zGLg1_|4tk6O5B-a?Uo)84TpK52YB*iE99B}5AyqrUFWx*`!MlD*& z-_Y%#2L+Lav{W|9=o9~J_w(_JmPMKFF-yfrtjcx`07?M!&ImBVP#i)CeLy}VcI_W+ zDOMo`0TE?q8OB(gLp-4AT$^02nIXCYuzwigqLNIBBF`R)cJ)%RR!o2CN{T^ zA+fAKZ5RxLLIy%u@5Fef8V=Gwhk(HP$Pp>ZZHnzWL3{-W|DPdIK>r=`V$A{=((UrE zkbF;}OAQwP3YiUsLM9yEk0jrpt2|jk3g%)>YlDfiLHihkA`+#N&Mam)i!q8|Zv;gy zW_U{;gtXR`>PjaDVrU5!n(uWksl)?RTUlm*ZTaOhgm6Aq<|0j41K6QmC=7`6Z;@Jl zvEAEHn8ue+pCLwrVSYvROieo`te73QN&QA^(kb?=KnZ9E9T*8(1o;dBgSu7#>o|+E zMX!F9sfI^}!d~FAzCg!vS7!%<>S_vi9|CikF_=EU_{ReVU(-2I@6|*=2n-0qOh1Z> z!VpikSW;9?wb%JktUI+B2!wS3Z;Uezz3{eqI0#7_@nNSZ1o<|~01PP@x+sJ`OV+Hc zwR#+!Z=e_*YrskgS_Et}bCQHyzGsIv#2}PdQ}QjYa5xAl7(WN-HExmjNTpuWqzx)e z#$1Q36(-K}DpxQJA6p2o4XP%42y2i|`Tz{7=IeMq_){%q4jd{7PG$gUc`n~P!#8Tv zzRXGB+3-JyW?35oq~nofm5}VlQxrn*GXzyA%>M1tPno$R>{p0eT&9K2=~pZ(17r6n z4rWX;6mF7s4@bQJ<|88tVNB)9q@xWf@!o<+8W<~Q)Qb}ENdWSztitq_q~#<_`bELLOKl?#fL*p;wQl&PG%)Vpik-~{eBXjBpL)c z4gsYT_%RePTWT^aL>8v} ze)q;8fRFfxK?XTKCK`)c@>ulcYxENBcpF*7B7TZ0V@F!YGs)YS?s4N-H0FTZ8lCo; z=;xS{oQay_;XM7P1J~o(y4Qg!?u9C1=%#`0V&@X5KK+U8Y4ti&MdK=sM(U%jDeYiC zne(Z#XN%bCsKv7OE_;!Yz1aY}go zCmJ8$doNUdzwbk_>8p8fQpoy!tok1UM9>F`#;SlLD9V;I`i!LYyA%W&+g~zI#ofMI zQ8zDpkKFr@QwkBI*cn)<8OPXoCZ`)dEO;KabvsHH);BM_-M-T^+tczMZ#CX;O4%OO zfQi7gPjGcR-TJ|+c~AB9$B!1D+&$h#J>CNN^Au#xW!qEmlb1^COabOo8f-KTd-Ur` zcQ0m)gBM||JK?L$LX>z0rrMh3nFf~81rCcOFcKOkG_pIoZlzFlc|#X}3tQdkUHt*P zg6Xtw8YTB0vsQsj7m1#RyWgv2k?MAE>iqB&%tay?uGH)mm9u&ic{3OdCh~_v>r53U zFVb3I>WKCI$o2bPlP!G`tc)_Od<$4Zdok(oPGqfyE*u8`6Qy&Ncyx~nXZ??obCho1r0(}yQ$d(dPf(ndoB73DUnyObi61L)lAnteMshd5yd`4o zJp%EDFVgbRVwl+&8Q5o-IY#H&J|_(NxXF3E0bNVa>dDBudD-~+Qd8$?H`r?Ar(_n@ z^PafSW2P@84r<`>wmxME_X`j-&~6%ZN6$@DA#X5|t@;%SGl=boPxW#F6EwB?|Dxv{ z=?Gqb;GcRN{BUK-TM;iVD6~%>@6B$Dq_)!@_xBFrd7p z>A3Y471WZY0Ud+~snn`b0z^Fdb)=C^E+vbdjkSr1jxD_+1*#Fl zb{+`QQ3y*q= zT=Uml5Dc1pVR=IIO2;!r_4Z)h)E)$9+(Wi;vp3zn5gfxf8Q9M(P1vO<(@LHU;pUGZ;2EKoP#8FrnNGdh5?Ul!g<4N+;pQkaB$feUE{igA4hqGFIFCTXBExY& zuW+rHN*!hi6jAsW#=k_I3yX665dmcN{}vH5EY>93qyM)6)_mA`1p00w^Nk|5bCj9O z5ZXVq+?o6c{Z*+c2ztm7=cfsrfH}see&JHmOi)OP2=m@_OLy8YKt6xsLvfI18ilMD zOGKCTjy+Mnf=!cVM(kr0;^O`-#`*s$#!`dhw^d6OZAON^h%y!XZ*6Vc~#JjM=YIlr=DgsrJ^5+XPe(00xw_G9fF6` zVKzdU-<^FGbQgHX1;(MMFJ3ydHJchkLBs4nhj8>*L_@&(Twp_gwER=*Jh`niTqgHU zSyd7Ah*8%P?}*W~{u?7b5$Ms8Epak-@*fp3^(vQvNr@Q#sHI^#6wy zqeh1zBZp8YVU0<5);<)TlT)|rcq6OUy+#OapL{{wYvSJ+vaIJar>%KqqMPmPIv~3G zzHR-$FqmF{&laF#C z6m8U+O0=Pv3f26B+91KeSclo%cwzhpwK_oaU#KH^DaGf1p*Dmj3@l^{Jmg^6XyZVI za}uCfOIPoetM4kR)B9_JH-r`|2lA}479#~QbVy`ChjV7bFk;#aqfP3F(04Jdgd^e( zt&r~7w#c0_}QwR_}uV( z3F3ifsW6P~X01q5Ih>go#yYCORKE+od|L_b5v=@#{M;hxqBk;F$yCGjmEmF2XG}dM z*%el+s8cM4^!YMz-9y~x)jYJusVGqp>E~f4!h&CRlFepr+uS=iZM|@9X1*kslomQh zGmAGaEF;06WUpBjgO^p6jan2Dn1RKMQhF;t#P=7Hh$OebM3(pEqDvV=37JwT8N~)r z;Yp)g9FQPAQ>P<}DIJhksEnLPntE1BDJ3ANvU=mn6V`bUM9Vr8^DRf^tLhid9%?R8*u!{)t))`%hF7q)`W}` z=2yF^dX4uL%5plt1LbbjW=|2c$z=f?3uxynDMoAOXr)8Q`9oq02gI`TLy?$I+-o8G z#T!aG!uDA96iVv-8HG_sSaWz%o0|s3H|-(VC>Y$MHns2jwEksZZ>EtyZk<6j2xZ6J z)Dfp-z^>6R^HMN$=RrV8@QHbzcoMw2c#(p?Ae%@_ipaLg4s1Z{}nS~Vyj^K z5D69<4dA&j4qRwZ(mrg0nZ%FN)6I3N;wk-68VUzgN}&o=3Q!aTk9XutVBD61wZKr2 z+156G#HJvS;z=vu-ee661}_Fu;`LZyh$H0}8#n~VlHz$FUmgm(cj|3ZV|94oj3Q?^DjK9M2WgJxeNMWG!4Pcc@ zR>ri{t8}gu{>>Jm44Ii$6-8$&+>Ah%2P(yrQ|@J57>q92pn+Cm`v3Kr-(%1cuTd03 zPS7wQ*hFE=N*OjR>tAs}(r4m~Pbdju33xCn97;15uV}co7J2VZd1nNud`w%AMBtUZ z!txPuXGG_MHCVxinflZGs@%{tXiTn4-zuwdupY< zu=&(A-N-Z@5t`UnAS!BH*i%tX>=d;4=+hfQr#0c`7glIDhFvQ``1S@31Mf<_4bEt# zAWhZmZqCEGs?ZA($!z1E{Z1wzKKWAzJrI{Q+2tc4tK!F6_n0G;t$#O9`|Q8>5PKR= zKIiBw`S8+6Murs5L$dE5F4{(hRDeH9S+R!d0>UpkJs@nYR=$yw*A&i2az3Y*2Iqq1 z6oy5m>bH;d@-sDe5F-IvmL+lxoF>E_W_DDB;I3;cTo7b6Tri!rZ|MLzR`_*Kc^LN= zdYBl+FP|guR}koJ7!A@^{2M7@Rk^@E@~%a=P_ta^anO9f$?qK`p}5M0a25+xzy9nN zi*ID_{=b3{dBk5qZ=n}iBYy#-yl<}E+6tJY{V?s=3Ks$f68bxkKt$@dTWC|=&%pPF z@edPs;`!Ya(M)UT@h~qvFOY@{`R9?o8$xtsLW!^#TZB+bfkgcR-$zbwa-Y%q!>t~) zEL@1>-H=ZL)eod(j`%bDkmD$m?yz$g@b6kwKNb_;iZNn=fM23qJpOXv^R{T%ZP{1@&%GGkH|@HU7{q@U-jK&1@%U^bAx%StZqU-7thG5&ZVH%7CM zoR9IHlwf#(g}@Q$+5eD29`I`j=5NP@Ukj>kp{X-Ro|8RJLij$^ApUj?N2IpfkSniA zh>7s_zML)w#s%vZdRoi-nBfnxHGh>ql2{0ffU=cO>pocEBvJW;NB^nCC*W65+<%nJ z{}Kfjy`=MbW^aIkg+yNmV4N}I{w(48zWNfWm7p5^84X^W**|h_q46Doqp^=%Y66s_ z2=|79bljAv;Gt>Hy^q|_xsPl<%?t!=U-NyoYT0NCLONUT8nQa#8S;qd-2!BjDx@A- zYQ(zYVs-g@WM`QL4f%y=wHmxP%p#VWr?gWhe&aJ}$w1(|qAE>%@UkuMNPz6OBw-6C zr-CA|A#93dohABx)9j(U5U-tjV>bR!M<{M**@O%S3W|aAT^ZgQagXK6St(yQP!O^# zKn--L+@QXn#TrLKtMAu?@^<~GkYHc@7dOUTnjxjuVWp@22^K?*>d-0#4cyvB2FL2H zFv8iGuTS1-j;Xi@YgQKPkCL~^IS>%n&a<0GT=gJf9kSrCY3sQGs;-%YfU@;~Mc^gH zRpu#(gDB9tcxf7j4q(qV=b8Ds7V&lLmY~g4+<$SCxy~9!7K-shM6ycx$)5$)zLV+lvb=mG%-wOsp;{sfW-Hn;=!jQTK8>YTT>~VZqvm*Mf zGM01ye+K&mDC51DAG8Wxv<+FDR#C+M7oGKptu?~fwI4p7)j2o-m#~~;rAzrSc3+l$ ztLxguO(?8gjxSaudmJ0=@sR)*>4JOwvW)z3-ak?h{T8Q{Ad&t9lrvztA1A90!87yb zoVm3(oCWo22o$MT)`7?XL|YIZv}&~=!OS^MJkRC^u#1=hcxD_kv)nR0WzzbA#1P6l znE7vAFJqw1=)tm&eR*dRE@q)GHKEWE95cHvINAard1mzRqYSf%WeAHo7K3u zvbrp&wCNAPF5}l#7fUL~KDu|1aXV|9z~u+h4Qa2vJrFPc_(sIP0!IKKU7BN-c&hgw z#1IH9@qt>9;w)5aJPJ0o^O!0cq1F;yfk5 z9TUq(jgQ@{I)-?{`J}P9Q*dKHj%wmy$R`zPxW``S8kJKDvMX5{O0pSI`m+pmv{Aq` zfEubL*g;*CF+kfmPkVp5=Q%xR9@{Iz3W;F{NegFTP|#0sv(R_}>Nr1RT%$^|8_)#(9vA9_#7(eh-T?kc$O6Mi|Mt#+KO*M66AMC2tnmh&4-+cc@W>9A@7Tr?G@!g?#S{ zj(xk9rlLx#G+QxwHP~6XeU9g-SW%l?67O~MjwxlH+~A6B^`#t`E=nK+(?vEf7!Ks4 zVuML(j8Wg|?bZ91{QPVfdg{%n#7|3DlhPW==oXi=qn9waO)vz>NmEuTDM|n0#KrE_ z?9WR>?Hq4IT_gz)GM_s?ggg|U!yYqIZ>tC}FLK0afMi-B7vW_U<)x*q)do^p(hT{V zl9(6)iUvT;6&LqNtoSP|@Zd>9{iY1qr+Fgd(wOLr0G=h9ynFh|mj$hgfX>2fi1%^g zde~1*Xe9q+ft8X3bmmCxKh8L#K^I`xyA(9yq#{mA6HHsMw>l4cQP5D^(NYW5xc|oM zICPBY6ibxPhKmSRCkvRemab4SSrbd?;&Vl~6)sKScUjN+#Qt^F$3FLqmPaVTQLl8N zh7ZV9ulbqc{YpZs2+OV$ou@dJa$DebIfYuttkN^!7w{HIM^3vcCB2(3r|+-0p8>k> z(8@*y*&zsvvb0q=fvH$b5R6wQYP={af4}r3MC3S8{@lV$OipN3UStWExQ+iv$fPWD zYbk6zOfFQ!7`NK{9KR@tbq&f3`PXaN4C7E0oHu4aIJeON)X* zDX!3QxTj!E7*M1ofUpjRbpICt&)ufOWHMNRe-WTMg5t%*op9pF@dguDkfSIIu^3NS z%vum7DI+P9kq`m61wS4*Dkn;ZwG?QI03?lc6UF?WrDhTrJ5{^1oMjR$un(IZNyn{- z?{fpQBRgZ+@djAiHvY>rR`Vp9f)2 zE#QA8W+nvAwYHIR;Y$q40vUOadY0M?`q#O1(P~->IW&I4{a6T7oHmXMXMj#V+~N-& z3s`Yq_G0P5N;Xjx%wPlsHA5BV~csHFC6XYHD+;t zz9}rgj`-S;(z`H2@>hkViFv)Blv5B5G^%>4H`y!!V?C{(42U8A6e2ET(OI7(E>UEN z7TrNiz_1VxXigOed|Lgo9-Wm@Q#H%b7z4y18}i`FZRjI1o594_EFP64GfZ%^N^E3E zB$G$eG~N4LKi*p}b(W0L+B7~Fx9R_8On)&jK!$iGW}|humdD4WU=SeQx}edibtr%^ zg!`e}5FidLgMeXarOnbzk-^?$H>hc^Li=b-00l)QO_} zZ*{f^Ky^GYJ^pX!nEwGYJ$!LVa4q{A$Q}z9`hGoHzT@Ad*ck5a{E~8BKmMyzVv&%9 zK_55>$O-KK=qu)8=IUx?Z}HbYs}}Vw=kGiiy*p)w?R)01txj?Wv}Y9c+wxSlz=s5Y zG=2rKd*Dt)C{WlT--w(@HBY~~#Jqd{*4OJYJf^^$jp&|_m|`pl#~e5hB1TJ3$8|ry zT4wud#KDpp9?3#$D9GoJ`?d4^>OhdwkkL8=)C+~`=*XwNMZF{`g0`(cq9Yy-BG9IS zx8YX>H#*?KrDn9`Fj7-nQR2!74N`>da&!E-eueBxH=38Rg~Qn{N1ATcM*H*61I7nl zC!M4c1{vnfoMV!Zb!D?|?stP8()LGy`wz^9gXxQ_q1|ZbpUN6_SSQ6N2+66G zI6>IM84B@{f{w32MXPJrI9>D&P9euebJ;J`i2T$ESYG)dR4j@OUP!V~5II+iF;oN@N0c%0kT%Nf zzr`XqWsbJK73PObG0qn^=evl@Jha9ST2FNAQ+}kn2QVzJ4X+Hw6AD-3lW$wn|EE$HMYq1)DTDl=mfKwu4#A&-TR?D4=aT0Z1ZLYOEj?Y9~5A zv5eP`X8Q)=D{ZZgDnG0t^fQ~@=!22y9?nWdl?4SNgkNMl=LK?Nr?OV6tJ+lj5DQ6q zt{R{kTaBV`WP866m$^_2+U3ffDJ5(m_)b2+0T?`_NQ9Vhb%KLs4$|`RhKs08JX^lQ zV2eq-JU4~n=H9y-lFrJr=xIkxq!0`-jXJc>bn7|e8&qlgP1GX9n~CUQ(?HTamyDop z&kx9!D9CfDxbXmOXWqq`xEKsNaDvAH;7mE{enM%!i^OXQc5^YOFXZmo0f^=$?_0O~ zJ*tr@2!B+V)o8ocMOdF5s15R5GgQITL+(yJ<0&Hw`xYR zA%c&=y1slQ6Ir>_SgDKup>cdF_Mudt>&mPlZKUUNVT#FHYu_v)$ zuEkXDy5Oa1%n!wFYE%BFyj_XG#1<6SmH9Rrqy24Qox<-PocZPCsE{#ADJV*A zPu8^L37A@9jcU4jh82aCNf3>Qpg~Iif@>4G=2`Dop4WH6gV^$a>9btj`L7mKr`ks< zAix$>t-zl@J#YVNLG{JVSml3Q@G)}()#;f{sh-}r6gSgz`&yB_S~y{_n| zDL?~Za9u^Ez)5*OW}l5e9^MGG+rBU~Qi;*gwg2eHb7U9biw&$|jaizQvK|Mo4D zi`TsL-FFme8{J&no;&2#bcKUP;8IzGUO))%S&)wXXeok99$R5`o2hjV zI>P;1cl@({0G|h_z`dyXq1p{t+3w@_OBgq=9>luZ3SDl2_MwZ?NDVJo_B<0$H&*;~ zadju{y9pjf&w_hLu=4Q<9rbRvqkdhpZ2R1iv$MU8#UbR2+xxOHW`hqUY_6xpL@N(& zI_yqn^o6_;Q{jUx2*0`g-QZX!I)e8mPGlr4&iGd$Zb)cFNVcaFe$RY(nC$5l}Sa)nPc%uBqx+w_zzOpqB zvjKyEQQ~$52IBHgltA3OYt2B=0=v;Nl#?VypNXu&)ApGw-UU^rc4%p? z!Xh2_1-=@({3p>xntFMQq7A!DOFZ06b3yr!JFh1DVk;_3-N3gVA2iICGvP%NG?v0c zb5>c|#%AUDx}qhiYrd; zVNcRuOj*`+TZt`BBBpi;6=kC7{oWz*8}SPirb*XsdZ&;hUPe3efr9(qY$_ycrG=V; zl_&LHsj(sN`{A8&37U@*Veq-td8pjzR_p*k>vahT?c>N%+a%{^`d!8fx{@~!T|a{>+i|Y znh^x-I7na;Bh;GhT}%kYa+vfjL+Lh+!$ln;h8j~mD3|kc zn4yp=MJwNgXGPtFhIUxaA`kg2kUi@ht>K(agxWbLGNzSQ?_1*DT2#(bkv8|Uxv-|2 z=KElvL-|(Z3OAPPeo#zgW*uVUCbe&r0*kG2eC#CYGT7qtL?zTy!9pI*v|y} z-)=62W#Bco+Nm~A*|q2kP|;EH<6Gf8x+$$pw}_>cT<4RNRV`{(%i2rYDL>VsPA5?I zEIB^6vPgIu)3vy9n9y~(lA&z4<$$wLptpjTxScEU@ug3JYq`Dmn+8{%rAMZJ7=$fvQ>{3r%${?%02I!y~i$VeqI+FCVB+tyJ(e~?)#j-D1a zJ*SeP+VK9|v8~PtCZi8;2_;=Zc>dZgrD9U*i>eRk8J?2jjDI#u=L1C~mVxD-hXF|K zpBM|oi$>%Q2id912q0ImFH6G2d1*OETOe5t?}(85=ZK1u6&D&kEmm9}nVv{BuFbL9 z*zvC5hV2RCvTLN7#A>-_997VnBkfQy8&X4MkjI+RP#_THh#ND9wiAS_b^Ug92u+ z=)m75ZZ574cA9p!%vP>uc7J{B)kHVI4YFW>{PY!{NSr9;3&&VgMxjP6fUA{$`3{xX zomg!Au^ryG>+!{L?AT8J9gLWR56~tq?cxaMeI)@P{&{~ae2)@x5h4PeU5jF=Vj-#J z*6smGssN5nH!*>6pv#K21fd=bX5m$#e|k@;)Fw0t=BE< zI}S_!0}HsT)cIA7+bPpb>GOrl!W`TB^{H&SI)~l9o>rcMQVV0B6DmnF;N{9EWV`k- zqGo#}`~#^w@`B>Q@Rz_gt2aku*(CI@`&6=D|Fuesp9_ny0oG(9fZ5%D)*SY3cE)DT zz^crj>~2PL%YL5+r)Q^3I6*?UB_fFff}^=mSY0nhg1qG(gbJtrJa3$pW%FA0%4CMV zI!CBHl3fnXeJTdsZ-@8Y2k;8{>-8omaT_TD!-eZQNT+N^l;K!*dgb8#XWA*%!X^%80h*kKqmUW#fW7xLa_`R@^dCcj~SSrw*^!jf96Q z>BO`NL8;p~lyIU_+=rynB;wFeoWC4hQLk4Ta8g+=U?o@Ux0IC5n7(kn{~T2y7A_k( zP0CK>Kx@oKKZ_M!9>^=p&BJ@Xk}MC&O(}g9s=(Ey;J@?jA;aIBlK_^P)-NN7W`e%X z0^%EFtYsvelQgWuDg!<5*I!RF#k`nbwg4MKkULb8T${015k2apgQ%qYU9qRINUNFgtUo9)$~q41SEE&LeeXf<9f&~Ta0f%^H$9ivZq6S`MWL9bd%OSP_x^#@OdMex&XZK3 z&KcA2f_3YY4-a5F6|;IV2V<|uYrs^E1ZKM-PG6`FHjl5SvlI%~eZI#y{ZN=Q!TPi_ z!*|!B$Nd|o7mCWD=eWiR>R5^6;#4@(=hF^u*KLcM#VbrLl3Zo^>u%G=-s-u-0cbR=`pY;<-FT_9oTl%)#sa7 z7}nxqE%ghqU)DlBU5`DX9`YIz~`d@L)A6g zNpU`qPgz`85*h^_180=X`j%4w!vOqtbE_CuF*w2C+vV2!TW|LLmdh-!_lbSsSfRnt z+#Q-XEDHj-nTNS{5k zKgST3aPdPdm()0Ld?tCdsyqFTFNIl+gA+jSoEbH6<>DFNMw+LdW?HAPZ;doLPJ{N<E`;&|3k@d}WJVV)z2+G?}g8|PJ8fdc3qW6T>i#!oATdS)qnX;-!|jEft17k3es1q-o^^rY7SfknJj4tq z*X(&dfy-#R$OI>Yi9es%8TE@S-a6roPQG#70om4>&=OCj#RyU z#I^tTfyvL;&63@vm##R^zlh!85Z{rhmnXlzfBoCP6D~b+mrDOX{8F16P`dfwr}Q6n z``G92{d2OV$^PK{Bdf)`47N8+3RJ#Vr^>IX+5ALm*T-oGThH5FX`NIOzV-$0y7PV& z8R{)tr%u;eSQ~XH%P#BR%{$5Wa_(jQ`#4LF|CVZ=@b>244YyCeePqWjynXiTXLe7% z0c-E~s(V*Uzwd7>Uw=h<{j@5!*IOAFn~xgYGB_BJBauBLWrfEP;}ppv-qbeD7m~Ig z?oGPxz3wRg=?{|cUp>fPxeIvl)xyY?4nbBjEmyC<`F|tFsO^c+Z`0k|8s0tK;go(^ z^mW&PC9_v)UwQiKlxF|)<+GdiIn~@+cdPWBbclk=%1N*1tb1d%EBxgfwWI2dzyNz*+~Svl<%1dwZXURN zv*LWR8~+C(HFo}jQ;`i@>l6&DQ*+*Kx{)t>lh15j!n_v`9?c0|a#1*8>3_Mr>73RSN$SQzQC5Sk<1IaK%LAjRcp@;X<8<74s4@ z&oIAWPkPecds_DrZ~T)>{qa*LZcjV>YzpVJw|AB2w4d`mvtIai`;xS@UYV)3nV+W2 z*}d%Cp6Y9FnhsU3Il67qC8O%fQs1|aRDV?6l{*;y{`2}NPdtK)Prtg>E?4*D;?~!4 z)isZoEuUBS?B?@%^$UwnUz;9RmwJ2k`n^A|-L}40xjp;&x_-NRpHJSa{cZpE&FRDO zUu7(-)_kwH|1$qv&F{P4|EAYl)IWT*et+z*zy0?A7nK?w;GJTZ5qpEBO|?b2DoXsY zS#aaT508sV4|j>Zj9uN6Sozfv=an;s)4%yz`FjUz?cRFm z*8kvC=2q2LR(vmI@+_3oTYeTi_2Mhpz`v}CO)6tSBUa+SamTkq_5t3EOd`yn;c*Uz zUo*@j)&?z|I2G7JJp~+d19dxKpaCexz!2>W91Kp)D~S)OEJ!Vm1+~u54X9M}cK88Q zdJi~`%nj2Gq#GEI0gZsP@xe`dbd4Qt+`*YZB^QAj1yM9U2a3S!p5*)@@JKYe_Aj?@ zi@yeH&tYL;5J1sh4-|oGPb?_F=IWJ&_F7YbRb8VJy5%!~0Rf&l02)!63-miS?RgE- zLPkK#PXn!zL9slV2dW+7b7VuXhC=UZG3#!928Os$RtA0)laBL3O)4&_%t-}LSE7dj z`hk)#{SA!uwkVp>j+aC?2YsFtVa|slm^nz3DCpYJCteWR@0CHdqfNu0n}9wMfiOX! z0%`)vv;?|-^igAk{>4>L{pe%J=tiLTzY#{vX~fzaM>hbyql+-0qzTyoY~5aTv(WpF z2(xmVk}GF010> JLong} - -object TweetMetaDataDataRecord - extends DataRecordInAFeature[TweetCandidate] - with FeatureWithDefaultOnFailure[TweetCandidate, DataRecord] { - override def defaultValue: DataRecord = new DataRecord() -} - -object TweetMetaDataFeatureHydrator - extends CandidateFeatureHydrator[PipelineQuery, TweetCandidate] { - - override val identifier: FeatureHydratorIdentifier = FeatureHydratorIdentifier("TweetMetaData") - - override def features: Set[Feature[_, _]] = Set(TweetMetaDataDataRecord) - - override def apply( - query: PipelineQuery, - candidate: TweetCandidate, - existingFeatures: FeatureMap - ): Stitch[FeatureMap] = OffloadFuturePools.offload { - val richDataRecord = new RichDataRecord() - setFeatures(richDataRecord, candidate, existingFeatures) - FeatureMapBuilder().add(TweetMetaDataDataRecord, richDataRecord.getRecord).build() - } - - private def setFeatures( - richDataRecord: RichDataRecord, - candidate: TweetCandidate, - existingFeatures: FeatureMap - ): Unit = { - richDataRecord.setFeatureValue[JLong](SharedFeatures.TWEET_ID, candidate.id) - - richDataRecord.setFeatureValueFromOption( - TimelinesSharedFeatures.ORIGINAL_AUTHOR_ID, - CandidatesUtil.getOriginalAuthorId(existingFeatures)) - - richDataRecord.setFeatureValueFromOption( - TimelinesSharedFeatures.CANDIDATE_TWEET_SOURCE_ID, - existingFeatures.getOrElse(CandidateSourceIdFeature, None).map(_.value.toLong)) - } -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/TweetTimeFeatureHydrator.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/TweetTimeFeatureHydrator.docx new file mode 100644 index 0000000000000000000000000000000000000000..acea8c01cd960ae2332f9eb587b356c4464c9ef9 GIT binary patch literal 38123 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 Uh=D6;VO7ZiuHf<@B`o~=KSncCod5s; literal 0 HcmV?d00001 diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/TweetTimeFeatureHydrator.scala b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/TweetTimeFeatureHydrator.scala deleted file mode 100644 index 947016826..000000000 --- a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/TweetTimeFeatureHydrator.scala +++ /dev/null @@ -1,112 +0,0 @@ -package com.twitter.home_mixer.product.scored_tweets.feature_hydrator - -import com.twitter.home_mixer.model.HomeFeatures.EarlybirdFeature -import com.twitter.home_mixer.model.HomeFeatures.NonPollingTimesFeature -import com.twitter.home_mixer.model.HomeFeatures.SourceTweetIdFeature -import com.twitter.ml.api.DataRecord -import com.twitter.ml.api.util.FDsl._ -import com.twitter.product_mixer.component_library.model.candidate.TweetCandidate -import com.twitter.product_mixer.core.feature.Feature -import com.twitter.product_mixer.core.feature.FeatureWithDefaultOnFailure -import com.twitter.product_mixer.core.feature.datarecord.DataRecordInAFeature -import com.twitter.product_mixer.core.feature.featuremap.FeatureMap -import com.twitter.product_mixer.core.feature.featuremap.FeatureMapBuilder -import com.twitter.product_mixer.core.functional_component.feature_hydrator.CandidateFeatureHydrator -import com.twitter.product_mixer.core.model.common.identifier.FeatureHydratorIdentifier -import com.twitter.product_mixer.core.pipeline.PipelineQuery -import com.twitter.snowflake.id.SnowflakeId -import com.twitter.stitch.Stitch -import com.twitter.timelines.prediction.features.time_features.TimeDataRecordFeatures._ -import com.twitter.util.Duration -import scala.collection.Searching._ - -object TweetTimeDataRecordFeature - extends DataRecordInAFeature[TweetCandidate] - with FeatureWithDefaultOnFailure[TweetCandidate, DataRecord] { - override def defaultValue: DataRecord = new DataRecord() -} - -object TweetTimeFeatureHydrator extends CandidateFeatureHydrator[PipelineQuery, TweetCandidate] { - - override val identifier: FeatureHydratorIdentifier = FeatureHydratorIdentifier("TweetTime") - - override val features: Set[Feature[_, _]] = Set(TweetTimeDataRecordFeature) - - override def apply( - query: PipelineQuery, - candidate: TweetCandidate, - existingFeatures: FeatureMap - ): Stitch[FeatureMap] = { - val tweetFeatures = existingFeatures.getOrElse(EarlybirdFeature, None) - val timeSinceTweetCreation = SnowflakeId.timeFromIdOpt(candidate.id).map(query.queryTime.since) - val timeSinceTweetCreationMs = timeSinceTweetCreation.map(_.inMillis) - - val timeSinceSourceTweetCreationOpt = existingFeatures - .getOrElse(SourceTweetIdFeature, None) - .flatMap { sourceTweetId => - SnowflakeId.timeFromIdOpt(sourceTweetId).map(query.queryTime.since) - }.orElse(timeSinceTweetCreation) - - val lastFavSinceCreationHrs = - tweetFeatures.flatMap(_.lastFavSinceCreationHrs).map(_.toDouble) - val lastRetweetSinceCreationHrs = - tweetFeatures.flatMap(_.lastRetweetSinceCreationHrs).map(_.toDouble) - val lastReplySinceCreationHrs = - tweetFeatures.flatMap(_.lastReplySinceCreationHrs).map(_.toDouble) - val lastQuoteSinceCreationHrs = - tweetFeatures.flatMap(_.lastQuoteSinceCreationHrs).map(_.toDouble) - val timeSinceLastFavoriteHrs = - getTimeSinceLastEngagementHrs(lastFavSinceCreationHrs, timeSinceSourceTweetCreationOpt) - val timeSinceLastRetweetHrs = - getTimeSinceLastEngagementHrs(lastRetweetSinceCreationHrs, timeSinceSourceTweetCreationOpt) - val timeSinceLastReplyHrs = - getTimeSinceLastEngagementHrs(lastReplySinceCreationHrs, timeSinceSourceTweetCreationOpt) - val timeSinceLastQuoteHrs = - getTimeSinceLastEngagementHrs(lastQuoteSinceCreationHrs, timeSinceSourceTweetCreationOpt) - - val nonPollingTimestampsMs = query.features.get.getOrElse(NonPollingTimesFeature, Seq.empty) - val timeSinceLastNonPollingRequest = - nonPollingTimestampsMs.headOption.map(query.queryTime.inMillis - _) - - val nonPollingRequestsSinceTweetCreation = - if (nonPollingTimestampsMs.nonEmpty && timeSinceTweetCreationMs.isDefined) { - nonPollingTimestampsMs - .search(timeSinceTweetCreationMs.get)(Ordering[Long].reverse) - .insertionPoint - } else 0.0 - - val tweetAgeRatio = - if (timeSinceTweetCreationMs.exists(_ > 0.0) && timeSinceLastNonPollingRequest.isDefined) { - timeSinceLastNonPollingRequest.get / timeSinceTweetCreationMs.get.toDouble - } else 0.0 - - val dataRecord = new DataRecord() - .setFeatureValue(IS_TWEET_RECYCLED, false) - .setFeatureValue(TWEET_AGE_RATIO, tweetAgeRatio) - .setFeatureValueFromOption( - TIME_SINCE_TWEET_CREATION, - timeSinceTweetCreationMs.map(_.toDouble) - ) - .setFeatureValue( - NON_POLLING_REQUESTS_SINCE_TWEET_CREATION, - nonPollingRequestsSinceTweetCreation - ) - .setFeatureValueFromOption(LAST_FAVORITE_SINCE_CREATION_HRS, lastFavSinceCreationHrs) - .setFeatureValueFromOption(LAST_RETWEET_SINCE_CREATION_HRS, lastRetweetSinceCreationHrs) - .setFeatureValueFromOption(LAST_REPLY_SINCE_CREATION_HRS, lastReplySinceCreationHrs) - .setFeatureValueFromOption(LAST_QUOTE_SINCE_CREATION_HRS, lastQuoteSinceCreationHrs) - .setFeatureValueFromOption(TIME_SINCE_LAST_FAVORITE_HRS, timeSinceLastFavoriteHrs) - .setFeatureValueFromOption(TIME_SINCE_LAST_RETWEET_HRS, timeSinceLastRetweetHrs) - .setFeatureValueFromOption(TIME_SINCE_LAST_REPLY_HRS, timeSinceLastReplyHrs) - .setFeatureValueFromOption(TIME_SINCE_LAST_QUOTE_HRS, timeSinceLastQuoteHrs) - - Stitch.value(FeatureMapBuilder().add(TweetTimeDataRecordFeature, dataRecord).build()) - } - - private def getTimeSinceLastEngagementHrs( - lastEngagementTimeSinceCreationHrsOpt: Option[Double], - timeSinceTweetCreation: Option[Duration] - ): Option[Double] = lastEngagementTimeSinceCreationHrsOpt.flatMap { lastEngagementTimeHrs => - timeSinceTweetCreation.map(_.inHours - lastEngagementTimeHrs) - } -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/TweetypieContentFeatureHydrator.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/TweetypieContentFeatureHydrator.docx new file mode 100644 index 0000000000000000000000000000000000000000..cb115fd1f8c101ded48d18c49b1a5f7f470506e4 GIT binary patch literal 38441 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

    TTi!So0n;0zqH+z27R!$b&~siwCUPw$@}a7 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 literal 0 HcmV?d00001 diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/TweetypieContentFeatureHydrator.scala b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/TweetypieContentFeatureHydrator.scala deleted file mode 100644 index 93039e8bc..000000000 --- a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/TweetypieContentFeatureHydrator.scala +++ /dev/null @@ -1,144 +0,0 @@ -package com.twitter.home_mixer.product.scored_tweets.feature_hydrator - -import com.twitter.escherbird.{thriftscala => esb} -import com.twitter.finagle.stats.Stat -import com.twitter.finagle.stats.StatsReceiver -import com.twitter.home_mixer.model.HomeFeatures.MediaUnderstandingAnnotationIdsFeature -import com.twitter.home_mixer.model.HomeFeatures.SourceTweetIdFeature -import com.twitter.home_mixer.param.HomeMixerInjectionNames.TweetypieContentRepository -import com.twitter.home_mixer.product.scored_tweets.feature_hydrator.adapters.content.ContentFeatureAdapter -import com.twitter.home_mixer.util.ObservedKeyValueResultHandler -import com.twitter.home_mixer.util.tweetypie.content.FeatureExtractionHelper -import com.twitter.ml.api.DataRecord -import com.twitter.product_mixer.component_library.model.candidate.TweetCandidate -import com.twitter.product_mixer.core.feature.Feature -import com.twitter.product_mixer.core.feature.FeatureWithDefaultOnFailure -import com.twitter.product_mixer.core.feature.datarecord.DataRecordInAFeature -import com.twitter.product_mixer.core.feature.featuremap.FeatureMap -import com.twitter.product_mixer.core.feature.featuremap.FeatureMapBuilder -import com.twitter.product_mixer.core.functional_component.feature_hydrator.BulkCandidateFeatureHydrator -import com.twitter.product_mixer.core.model.common.CandidateWithFeatures -import com.twitter.product_mixer.core.model.common.identifier.FeatureHydratorIdentifier -import com.twitter.product_mixer.core.pipeline.PipelineQuery -import com.twitter.product_mixer.core.util.OffloadFuturePools -import com.twitter.servo.keyvalue.KeyValueResult -import com.twitter.servo.repository.KeyValueRepository -import com.twitter.stitch.Stitch -import com.twitter.timelines.prediction.common.util.MediaUnderstandingAnnotations -import com.twitter.tweetypie.{thriftscala => tp} -import com.twitter.util.Future -import com.twitter.util.Return -import com.twitter.util.Throw -import com.twitter.util.Try -import javax.inject.Inject -import javax.inject.Named -import javax.inject.Singleton -import scala.collection.JavaConverters._ - -object TweetypieContentDataRecordFeature - extends DataRecordInAFeature[TweetCandidate] - with FeatureWithDefaultOnFailure[TweetCandidate, DataRecord] { - override def defaultValue: DataRecord = new DataRecord() -} - -@Singleton -class TweetypieContentFeatureHydrator @Inject() ( - @Named(TweetypieContentRepository) client: KeyValueRepository[Seq[Long], Long, tp.Tweet], - override val statsReceiver: StatsReceiver) - extends BulkCandidateFeatureHydrator[PipelineQuery, TweetCandidate] - with ObservedKeyValueResultHandler { - - override val identifier: FeatureHydratorIdentifier = FeatureHydratorIdentifier("TweetypieContent") - - override val features: Set[Feature[_, _]] = Set( - MediaUnderstandingAnnotationIdsFeature, - TweetypieContentDataRecordFeature - ) - - override val statScope: String = identifier.toString - - private val bulkRequestLatencyStat = - statsReceiver.scope(statScope).scope("bulkRequest").stat("latency_ms") - private val postTransformerLatencyStat = - statsReceiver.scope(statScope).scope("postTransformer").stat("latency_ms") - private val bulkPostTransformerLatencyStat = - statsReceiver.scope(statScope).scope("bulkPostTransformer").stat("latency_ms") - - private val DefaultDataRecord: DataRecord = new DataRecord() - - override def apply( - query: PipelineQuery, - candidates: Seq[CandidateWithFeatures[TweetCandidate]] - ): Stitch[Seq[FeatureMap]] = OffloadFuturePools.offloadFuture { - val tweetIdsToHydrate = candidates.map(getCandidateOriginalTweetId).distinct - - val response: Future[KeyValueResult[Long, tp.Tweet]] = Stat.timeFuture(bulkRequestLatencyStat) { - if (tweetIdsToHydrate.isEmpty) Future.value(KeyValueResult.empty) - else client(tweetIdsToHydrate) - } - - response.flatMap { result => - Stat.timeFuture(bulkPostTransformerLatencyStat) { - OffloadFuturePools - .parallelize[CandidateWithFeatures[TweetCandidate], Try[(Seq[Long], DataRecord)]]( - candidates, - parTransformer(result, _), - parallelism = 32, - default = Return((Seq.empty, DefaultDataRecord)) - ).map { - _.map { - case Return(result) => - FeatureMapBuilder() - .add(MediaUnderstandingAnnotationIdsFeature, result._1) - .add(TweetypieContentDataRecordFeature, result._2) - .build() - case Throw(e) => - FeatureMapBuilder() - .add(MediaUnderstandingAnnotationIdsFeature, Throw(e)) - .add(TweetypieContentDataRecordFeature, Throw(e)) - .build() - } - } - } - } - } - - private def parTransformer( - result: KeyValueResult[Long, tp.Tweet], - candidate: CandidateWithFeatures[TweetCandidate] - ): Try[(Seq[Long], DataRecord)] = { - val originalTweetId = Some(getCandidateOriginalTweetId(candidate)) - val value = observedGet(key = originalTweetId, keyValueResult = result) - Stat.time(postTransformerLatencyStat)(postTransformer(value)) - } - - private def postTransformer( - result: Try[Option[tp.Tweet]] - ): Try[(Seq[Long], DataRecord)] = { - result.map { tweet => - val transformedValue = tweet.map(FeatureExtractionHelper.extractFeatures) - val semanticAnnotations = transformedValue - .flatMap { contentFeatures => - contentFeatures.semanticCoreAnnotations.map { - getNonSensitiveHighRecallMediaUnderstandingAnnotationEntityIds - } - }.getOrElse(Seq.empty) - val dataRecord = ContentFeatureAdapter.adaptToDataRecords(transformedValue).asScala.head - (semanticAnnotations, dataRecord) - } - } - - private def getCandidateOriginalTweetId( - candidate: CandidateWithFeatures[TweetCandidate] - ): Long = { - candidate.features - .getOrElse(SourceTweetIdFeature, None).getOrElse(candidate.candidate.id) - } - - private def getNonSensitiveHighRecallMediaUnderstandingAnnotationEntityIds( - semanticCoreAnnotations: Seq[esb.TweetEntityAnnotation] - ): Seq[Long] = - semanticCoreAnnotations - .filter(MediaUnderstandingAnnotations.isEligibleNonSensitiveHighRecallMUAnnotation) - .map(_.entityId) -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/TweetypieStaticEntitiesFeatureHydrator.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/TweetypieStaticEntitiesFeatureHydrator.docx new file mode 100644 index 0000000000000000000000000000000000000000..20d87294ef780a6ab4014478ceb600d3c33f86b6 GIT binary patch literal 38595 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%0Ab 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 tQ69v9@0D$d7g!ID2e sp} -import com.twitter.stitch.Stitch -import com.twitter.stitch.tweetypie.{TweetyPie => TweetypieStitchClient} -import com.twitter.tweetypie.{thriftscala => tp} -import javax.inject.Inject -import javax.inject.Singleton - -@Singleton -class TweetypieStaticEntitiesFeatureHydrator @Inject() ( - tweetypieStitchClient: TweetypieStitchClient, - @Named(TweetypieStaticEntitiesCache) cacheClient: TtlCache[Long, tp.Tweet]) - extends BulkCandidateFeatureHydrator[PipelineQuery, TweetCandidate] { - - override val identifier: FeatureHydratorIdentifier = - FeatureHydratorIdentifier("TweetypieStaticEntities") - - override val features: Set[Feature[_, _]] = Set( - AuthorIdFeature, - DirectedAtUserIdFeature, - ExclusiveConversationAuthorIdFeature, - HasImageFeature, - HasVideoFeature, - InReplyToTweetIdFeature, - InReplyToUserIdFeature, - IsRetweetFeature, - MentionScreenNameFeature, - MentionUserIdFeature, - QuotedTweetIdFeature, - QuotedUserIdFeature, - SourceTweetIdFeature, - SourceUserIdFeature - ) - - private val CacheTTL = 24.hours - - private val DefaultFeatureMap = FeatureMapBuilder() - .add(AuthorIdFeature, None) - .add(DirectedAtUserIdFeature, None) - .add(ExclusiveConversationAuthorIdFeature, None) - .add(HasImageFeature, false) - .add(HasVideoFeature, false) - .add(InReplyToTweetIdFeature, None) - .add(InReplyToUserIdFeature, None) - .add(IsRetweetFeature, false) - .add(MentionScreenNameFeature, Seq.empty) - .add(MentionUserIdFeature, Seq.empty) - .add(QuotedTweetIdFeature, None) - .add(QuotedUserIdFeature, None) - .add(SourceTweetIdFeature, None) - .add(SourceUserIdFeature, None) - .build() - - /** - * Steps: - * 1. query cache with all candidates - * 2. create a cached feature map - * 3. iterate candidates to hydrate features - * 3.a transform cached candidates - * 3.b hydrate non-cached candidates from Tweetypie and write to cache - */ - override def apply( - query: PipelineQuery, - candidates: Seq[CandidateWithFeatures[TweetCandidate]] - ): Stitch[Seq[FeatureMap]] = { - val tweetIds = candidates.map(_.candidate.id) - val cachedTweetsMapFu = cacheClient - .get(tweetIds) - .map(_.found) - - Stitch.callFuture(cachedTweetsMapFu).flatMap { cachedTweets => - Stitch.collect { - candidates.map { candidate => - if (cachedTweets.contains(candidate.candidate.id)) - Stitch.value(createFeatureMap(cachedTweets(candidate.candidate.id))) - else readFromTweetypie(query, candidate) - } - } - } - } - - private def createFeatureMap(tweet: tp.Tweet): FeatureMap = { - val coreData = tweet.coreData - val quotedTweet = tweet.quotedTweet - val mentions = tweet.mentions.getOrElse(Seq.empty) - val share = coreData.flatMap(_.share) - val reply = coreData.flatMap(_.reply) - - FeatureMapBuilder() - .add(AuthorIdFeature, coreData.map(_.userId)) - .add(DirectedAtUserIdFeature, coreData.flatMap(_.directedAtUser.map(_.userId))) - .add( - ExclusiveConversationAuthorIdFeature, - tweet.exclusiveTweetControl.map(_.conversationAuthorId)) - .add(HasImageFeature, TweetMediaFeaturesExtractor.hasImage(tweet)) - .add(HasVideoFeature, TweetMediaFeaturesExtractor.hasVideo(tweet)) - .add(InReplyToTweetIdFeature, reply.flatMap(_.inReplyToStatusId)) - .add(InReplyToUserIdFeature, reply.map(_.inReplyToUserId)) - .add(IsRetweetFeature, share.isDefined) - .add(MentionScreenNameFeature, mentions.map(_.screenName)) - .add(MentionUserIdFeature, mentions.flatMap(_.userId)) - .add(QuotedTweetIdFeature, quotedTweet.map(_.tweetId)) - .add(QuotedUserIdFeature, quotedTweet.map(_.userId)) - .add(SourceTweetIdFeature, share.map(_.sourceStatusId)) - .add(SourceUserIdFeature, share.map(_.sourceUserId)) - .build() - } - - private def readFromTweetypie( - query: PipelineQuery, - candidate: CandidateWithFeatures[TweetCandidate] - ): Stitch[FeatureMap] = { - tweetypieStitchClient - .getTweetFields( - tweetId = candidate.candidate.id, - options = tp.GetTweetFieldsOptions( - tweetIncludes = RequestFields.TweetStaticEntitiesFields, - includeRetweetedTweet = false, - includeQuotedTweet = false, - forUserId = query.getOptionalUserId, // Needed to get protected Tweets for certain users - visibilityPolicy = tp.TweetVisibilityPolicy.UserVisible, - safetyLevel = Some(sp.SafetyLevel.FilterNone) // VF is handled in the For You product - ) - ).map { - case tp.GetTweetFieldsResult(_, tp.TweetFieldsResultState.Found(found), _, _) => - cacheClient.set(candidate.candidate.id, found.tweet, CacheTTL) - createFeatureMap(found.tweet) - case _ => - DefaultFeatureMap + (AuthorIdFeature, candidate.features.getOrElse(AuthorIdFeature, None)) - } - } -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/TwhinAuthorFollowFeatureHydrator.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/TwhinAuthorFollowFeatureHydrator.docx new file mode 100644 index 0000000000000000000000000000000000000000..910b8de60d483229ed108d586d7eedefc6e42269 GIT binary patch literal 37843 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

    ~~_KLG6RUHtbT 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[iOxkIy2YiD`fex_Z~a@8)ahw5|y^Llv;!LJJs#l zcggf98@_0+uz`n^eT|!>+C$r^@@aKCd@`@u;RQE>T@&^2T^4EOVYXl!XywYh!dF&K zxP!X|*DQrCV>QRF+AylH^4*9}aK#-M*1^cN8;9bKlnVQhlp2KW>I(ChBP(ikiv5nt z%lRy1s(ls`Qt49{PWN9T^F_mCBBn^#2<>T%Sm|al!^#49WVpC_&R3G;Ah{@{u0rHF zJLUa$W**Z0yg2Y-nP_~|1F6U9YRw^LAY&{d;2fo3?N{mPc)tC5nl9qO___ty5QN;J zl;GTqxeD)A)2TpvMO5FLKU-OF8|Jq+C_qGxmXNm|fz&}(jaTX_&6T{+Yo=KKP-c>A!-MCh72Z^vhq!wB#5SqiD!6`aiuW4h#5iSiRQ*ci>u3+@Bq0 zj=?GYrXOLIs5UIW2%;MnKIP`!5im0_ ztT&Gy&iM`CcG39|iM;yVY;@u9)2NfO{v>)hhR`1mzFSJdh-&sus3N&{S0%NkN6LNm zVF1>;dv5Q#`$kqzG`jod%MNtEuDb5XVX&7N6O>&x2JiQ7w4VNOWOg?&_&$?!IjyF= z;S^-@S=zVzAHMG&h)qP{Mq%8EUSSkJ3<{RvR|AEWq5zy!Rfqh zRyBWxsX>&j35nLt=1J`PHuZZAL*HH9dxzi~?@2|B+egnQIdOPAygfu{Pz61mpYFQ1 zF3op)g1ox)Y>Cu)_-_gl`hJYFYu1)~M}gL8MNUa-vY;HK`v4^2IjcFi>o|7#Yjz21nLl`y>6 zzVpyShHRz`o>Pl9UrCDEm9x|HKDSO!lgWuTlj+f1;+8U^4b52(cNMq zd$(V$j%>0K-g#XAc6QRYYYDNbQ>~`I&Ee23IA-$u?j+G_w#O6af8zYcWh&2S-*Qg{X5~(BX_Cv|HCh}xdEk{|9wjTQMZqM{@y<)Tbk?-&OfqR zyvtyF!=ymvdv&V(nwrf|q;`FrcChul-Idl!CE;sd@UA=WSCOIKvUTcot%bEwhqCOl z{@uKjd@tu-*1wOl^!RV7<_T|a{@rl<0XY)cGg4M~95GIjEaFXV(|jRm`{CZC>)z{*@}K@7`To^| z?3KHK7hf%mTmwQy{+Nh(;ZIfmqlN99au7ZmG+gVuTE+9 zKVLq(X`fTgt#!9b-${oksH~jydd|8xR=dJqzEL}>-Uz&>*vK|x?ZOXP7vtYg_N`3& zoD(cqw~A%5?TdMaXP%O_#XNN;-`YbbkbI*%p z7vA<%u;IFD!)+Nk)@!-*%&?Ogz6PEs$%ger?uwA;j^Br3t1MBYen=^QT9c~~(oA@dCL3-+WZ?Y*aUFY(4d zxzry&b>jB4!_TI0PJ4S-c~1K|-!tolZ?`W=OY4=HYMc3K%ADQH&h4qb_NM7j^_rvG zCS5YBt}OL^`$+Xi)m^!R(eFR6pYp^bxcKy|YwdD%PcCkKEmvLhc-iuKbpRen;yZ8Czz1rXQf8U%w9RF3uvTDuuiu*6~&(-|C z`~7cvy+!@QN9*^;{`%W*|9?@b;Q`($b{VlZSlU!ul&hk|51R!yPWQYOzr zIlbj)!Ba23k`4UJn%JZ=7Bpfd{u_6EJ7gc=&B!Fe3>qHiVE8q|JYsFo(uq@nE!0!M zF*i`R0|pv^Vhjw?&cMOo)Vz}TkjjG8;#g4Y4BdcAHE)L>K&AJ9NfG8)m%z+HnnXd@jy~~%(5_hl)s8j|gKh%)L ml} -import com.twitter.product_mixer.component_library.model.candidate.TweetCandidate -import com.twitter.product_mixer.core.feature.Feature -import com.twitter.product_mixer.core.feature.FeatureWithDefaultOnFailure -import com.twitter.product_mixer.core.feature.datarecord.DataRecordInAFeature -import com.twitter.product_mixer.core.feature.featuremap.FeatureMap -import com.twitter.product_mixer.core.feature.featuremap.FeatureMapBuilder -import com.twitter.product_mixer.core.functional_component.feature_hydrator.BulkCandidateFeatureHydrator -import com.twitter.product_mixer.core.model.common.CandidateWithFeatures -import com.twitter.product_mixer.core.model.common.identifier.FeatureHydratorIdentifier -import com.twitter.product_mixer.core.pipeline.PipelineQuery -import com.twitter.product_mixer.core.util.OffloadFuturePools -import com.twitter.servo.repository.KeyValueRepository -import com.twitter.servo.repository.KeyValueResult -import com.twitter.stitch.Stitch -import com.twitter.util.Future -import com.twitter.util.Try -import javax.inject.Inject -import javax.inject.Named -import javax.inject.Singleton -import scala.collection.JavaConverters._ - -object TwhinAuthorFollowFeature - extends DataRecordInAFeature[TweetCandidate] - with FeatureWithDefaultOnFailure[TweetCandidate, DataRecord] { - override def defaultValue: DataRecord = new DataRecord() -} - -@Singleton -class TwhinAuthorFollowFeatureHydrator @Inject() ( - @Named(TwhinAuthorFollowFeatureRepository) - client: KeyValueRepository[Seq[Long], Long, ml.FloatTensor], - override val statsReceiver: StatsReceiver) - extends BulkCandidateFeatureHydrator[PipelineQuery, TweetCandidate] - with ObservedKeyValueResultHandler { - - override val identifier: FeatureHydratorIdentifier = - FeatureHydratorIdentifier("TwhinAuthorFollow") - - override val features: Set[Feature[_, _]] = Set(TwhinAuthorFollowFeature) - - override val statScope: String = identifier.toString - - override def apply( - query: PipelineQuery, - candidates: Seq[CandidateWithFeatures[TweetCandidate]] - ): Stitch[Seq[FeatureMap]] = OffloadFuturePools.offloadFuture { - val possiblyAuthorIds = extractKeys(candidates) - val authorIds = possiblyAuthorIds.flatten - - val response: Future[KeyValueResult[Long, ml.FloatTensor]] = - if (authorIds.isEmpty) Future.value(KeyValueResult.empty) else client(authorIds) - - response.map { result => - possiblyAuthorIds.map { possiblyAuthorId => - val value = observedGet(key = possiblyAuthorId, keyValueResult = result) - val transformedValue = postTransformer(value) - - FeatureMapBuilder().add(TwhinAuthorFollowFeature, transformedValue).build() - } - } - } - - private def postTransformer(embedding: Try[Option[ml.FloatTensor]]): Try[DataRecord] = { - embedding.map { floatTensor => - TwhinAuthorFollowEmbeddingsAdapter.adaptToDataRecords(floatTensor).asScala.head - } - } - - private def extractKeys( - candidates: Seq[CandidateWithFeatures[TweetCandidate]] - ): Seq[Option[Long]] = { - candidates.map { candidate => - CandidatesUtil.getOriginalAuthorId(candidate.features) - } - } -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/TwhinUserEngagementQueryFeatureHydrator.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/TwhinUserEngagementQueryFeatureHydrator.docx new file mode 100644 index 0000000000000000000000000000000000000000..0cf0c99aa12454fe2b3053edd31fa18332a52a65 GIT binary patch literal 37679 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 ml} -import com.twitter.product_mixer.core.feature.Feature -import com.twitter.product_mixer.core.feature.FeatureWithDefaultOnFailure -import com.twitter.product_mixer.core.feature.datarecord.DataRecordInAFeature -import com.twitter.product_mixer.core.feature.featuremap.FeatureMap -import com.twitter.product_mixer.core.feature.featuremap.FeatureMapBuilder -import com.twitter.product_mixer.core.functional_component.feature_hydrator.QueryFeatureHydrator -import com.twitter.product_mixer.core.model.common.identifier.FeatureHydratorIdentifier -import com.twitter.product_mixer.core.pipeline.PipelineQuery -import com.twitter.servo.repository.KeyValueRepository -import com.twitter.stitch.Stitch -import com.twitter.util.Return -import com.twitter.util.Throw -import javax.inject.Inject -import javax.inject.Named -import javax.inject.Singleton -import scala.collection.JavaConverters._ - -object TwhinUserEngagementFeature - extends DataRecordInAFeature[PipelineQuery] - with FeatureWithDefaultOnFailure[PipelineQuery, DataRecord] { - override def defaultValue: DataRecord = new DataRecord() -} - -@Singleton -class TwhinUserEngagementQueryFeatureHydrator @Inject() ( - @Named(TwhinUserEngagementFeatureRepository) - client: KeyValueRepository[Seq[Long], Long, ml.FloatTensor], - statsReceiver: StatsReceiver) - extends QueryFeatureHydrator[PipelineQuery] { - - override val identifier: FeatureHydratorIdentifier = - FeatureHydratorIdentifier("TwhinUserEngagement") - - override val features: Set[Feature[_, _]] = Set(TwhinUserEngagementFeature) - - private val scopedStatsReceiver = statsReceiver.scope(getClass.getSimpleName) - private val keyFoundCounter = scopedStatsReceiver.counter("key/found") - private val keyLossCounter = scopedStatsReceiver.counter("key/loss") - private val keyFailureCounter = scopedStatsReceiver.counter("key/failure") - - override def hydrate(query: PipelineQuery): Stitch[FeatureMap] = { - val userId = query.getRequiredUserId - Stitch.callFuture(client(Seq(userId))).map { results => - val embedding: Option[ml.FloatTensor] = results(userId) match { - case Return(value) => - if (value.exists(_.floats.nonEmpty)) keyFoundCounter.incr() - else keyLossCounter.incr() - value - case Throw(_) => - keyFailureCounter.incr() - None - case _ => - None - } - - val dataRecord = - TwhinUserEngagementEmbeddingsAdapter.adaptToDataRecords(embedding).asScala.head - - FeatureMapBuilder() - .add(TwhinUserEngagementFeature, dataRecord) - .build() - } - } - -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/TwhinUserFollowQueryFeatureHydrator.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/TwhinUserFollowQueryFeatureHydrator.docx new file mode 100644 index 0000000000000000000000000000000000000000..eab6943bfcdb3970e5e8348ca42d1d511bf0a0d2 GIT binary patch literal 37673 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 ml} -import com.twitter.product_mixer.core.feature.Feature -import com.twitter.product_mixer.core.feature.FeatureWithDefaultOnFailure -import com.twitter.product_mixer.core.feature.datarecord.DataRecordInAFeature -import com.twitter.product_mixer.core.feature.featuremap.FeatureMap -import com.twitter.product_mixer.core.feature.featuremap.FeatureMapBuilder -import com.twitter.product_mixer.core.functional_component.feature_hydrator.QueryFeatureHydrator -import com.twitter.product_mixer.core.model.common.identifier.FeatureHydratorIdentifier -import com.twitter.product_mixer.core.pipeline.PipelineQuery -import com.twitter.servo.repository.KeyValueRepository -import com.twitter.stitch.Stitch -import com.twitter.util.Return -import com.twitter.util.Throw -import javax.inject.Inject -import javax.inject.Named -import javax.inject.Singleton -import scala.collection.JavaConverters._ - -object TwhinUserFollowFeature - extends DataRecordInAFeature[PipelineQuery] - with FeatureWithDefaultOnFailure[PipelineQuery, DataRecord] { - override def defaultValue: DataRecord = new DataRecord() -} - -@Singleton -class TwhinUserFollowQueryFeatureHydrator @Inject() ( - @Named(TwhinUserFollowFeatureRepository) - client: KeyValueRepository[Seq[Long], Long, ml.FloatTensor], - statsReceiver: StatsReceiver) - extends QueryFeatureHydrator[PipelineQuery] { - - override val identifier: FeatureHydratorIdentifier = - FeatureHydratorIdentifier("TwhinUserFollow") - - override val features: Set[Feature[_, _]] = Set(TwhinUserFollowFeature) - - private val scopedStatsReceiver = statsReceiver.scope(getClass.getSimpleName) - private val keyFoundCounter = scopedStatsReceiver.counter("key/found") - private val keyLossCounter = scopedStatsReceiver.counter("key/loss") - private val keyFailureCounter = scopedStatsReceiver.counter("key/failure") - - override def hydrate(query: PipelineQuery): Stitch[FeatureMap] = { - val userId = query.getRequiredUserId - Stitch.callFuture(client(Seq(userId))).map { results => - val embedding: Option[ml.FloatTensor] = results(userId) match { - case Return(value) => - if (value.exists(_.floats.nonEmpty)) keyFoundCounter.incr() - else keyLossCounter.incr() - value - case Throw(_) => - keyFailureCounter.incr() - None - case _ => - None - } - - val dataRecord = TwhinUserFollowEmbeddingsAdapter.adaptToDataRecords(embedding).asScala.head - - FeatureMapBuilder() - .add(TwhinUserFollowFeature, dataRecord) - .build() - } - } -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/UserFollowedTopicIdsFeatureHydrator.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/UserFollowedTopicIdsFeatureHydrator.docx new file mode 100644 index 0000000000000000000000000000000000000000..cd9d21a055aea711f8738142b3f15b7ea0388746 GIT binary patch literal 37685 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 mju*Oq^!6Y^|CtV?EQZ=T4De - possiblyAuthorIds.map { possiblyAuthorId => - val value = observedGet(key = possiblyAuthorId, keyValueResult = result) - val transformedValue = postTransformer(value) - - FeatureMapBuilder().add(UserFollowedTopicIdsFeature, transformedValue).build() - } - } - } - - private def postTransformer(input: Try[Option[Seq[Long]]]): Try[Seq[Long]] = { - input.map(_.getOrElse(Seq.empty[Long])) - } - - private def extractKeys( - candidates: Seq[CandidateWithFeatures[TweetCandidate]] - ): Seq[Option[Long]] = { - candidates.map { candidate => - candidate.features - .getTry(AuthorIdFeature) - .toOption - .flatten - } - } -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/UserLanguagesFeatureHydrator.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/UserLanguagesFeatureHydrator.docx new file mode 100644 index 0000000000000000000000000000000000000000..14686165776254c4af2ebe93bc744a7f03633b13 GIT binary patch literal 37390 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 literal 0 HcmV?d00001 diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/UserLanguagesFeatureHydrator.scala b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/UserLanguagesFeatureHydrator.scala deleted file mode 100644 index e2431c43e..000000000 --- a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/UserLanguagesFeatureHydrator.scala +++ /dev/null @@ -1,46 +0,0 @@ -package com.twitter.home_mixer.product.scored_tweets.feature_hydrator - -import com.twitter.finagle.stats.StatsReceiver -import com.twitter.home_mixer.param.HomeMixerInjectionNames.UserLanguagesRepository -import com.twitter.home_mixer.util.ObservedKeyValueResultHandler -import com.twitter.product_mixer.core.feature.Feature -import com.twitter.product_mixer.core.feature.featuremap.FeatureMap -import com.twitter.product_mixer.core.feature.featuremap.FeatureMapBuilder -import com.twitter.product_mixer.core.functional_component.feature_hydrator.QueryFeatureHydrator -import com.twitter.product_mixer.core.model.common.identifier.FeatureHydratorIdentifier -import com.twitter.product_mixer.core.pipeline.PipelineQuery -import com.twitter.search.common.constants.{thriftscala => scc} -import com.twitter.servo.repository.KeyValueRepository -import com.twitter.stitch.Stitch -import javax.inject.Inject -import javax.inject.Named -import javax.inject.Singleton - -object UserLanguagesFeature extends Feature[PipelineQuery, Seq[scc.ThriftLanguage]] - -@Singleton -case class UserLanguagesFeatureHydrator @Inject() ( - @Named(UserLanguagesRepository) client: KeyValueRepository[Seq[Long], Long, Seq[ - scc.ThriftLanguage - ]], - statsReceiver: StatsReceiver) - extends QueryFeatureHydrator[PipelineQuery] - with ObservedKeyValueResultHandler { - - override val identifier: FeatureHydratorIdentifier = FeatureHydratorIdentifier("UserLanguages") - - override val features: Set[Feature[_, _]] = Set(UserLanguagesFeature) - - override val statScope: String = identifier.toString - - override def hydrate(query: PipelineQuery): Stitch[FeatureMap] = { - val key = query.getRequiredUserId - Stitch.callFuture(client(Seq(key))).map { result => - val feature = - observedGet(key = Some(key), keyValueResult = result).map(_.getOrElse(Seq.empty)) - FeatureMapBuilder() - .add(UserLanguagesFeature, feature) - .build() - } - } -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/UserStateQueryFeatureHydrator.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/UserStateQueryFeatureHydrator.docx new file mode 100644 index 0000000000000000000000000000000000000000..78fd09717f39dfe9d5d9aacdcd71b1ed712ff64b GIT binary patch literal 37383 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 literal 0 HcmV?d00001 diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/UserStateQueryFeatureHydrator.scala b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/UserStateQueryFeatureHydrator.scala deleted file mode 100644 index 5a61f31fb..000000000 --- a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/UserStateQueryFeatureHydrator.scala +++ /dev/null @@ -1,53 +0,0 @@ -package com.twitter.home_mixer.product.scored_tweets.feature_hydrator - -import com.twitter.home_mixer.model.HomeFeatures.UserStateFeature -import com.twitter.home_mixer.service.HomeMixerAlertConfig -import com.twitter.product_mixer.core.feature.Feature -import com.twitter.product_mixer.core.feature.featuremap.FeatureMap -import com.twitter.product_mixer.core.feature.featuremap.FeatureMapBuilder -import com.twitter.product_mixer.core.functional_component.feature_hydrator.QueryFeatureHydrator -import com.twitter.product_mixer.core.model.common.identifier.FeatureHydratorIdentifier -import com.twitter.product_mixer.core.pipeline.PipelineQuery -import com.twitter.stitch.Stitch -import com.twitter.timelines.user_health.v1.{thriftscala => uhv1} -import com.twitter.timelines.user_health.{thriftscala => uh} -import com.twitter.user_session_store.ReadOnlyUserSessionStore -import com.twitter.user_session_store.ReadRequest -import com.twitter.user_session_store.UserSessionDataset -import com.twitter.user_session_store.UserSessionDataset.UserSessionDataset -import javax.inject.Inject -import javax.inject.Singleton - -@Singleton -case class UserStateQueryFeatureHydrator @Inject() ( - userSessionStore: ReadOnlyUserSessionStore) - extends QueryFeatureHydrator[PipelineQuery] { - - override val identifier: FeatureHydratorIdentifier = - FeatureHydratorIdentifier("UserState") - - override val features: Set[Feature[_, _]] = Set(UserStateFeature) - - private val datasets: Set[UserSessionDataset] = Set(UserSessionDataset.UserHealth) - - override def hydrate(query: PipelineQuery): Stitch[FeatureMap] = { - userSessionStore - .read(ReadRequest(query.getRequiredUserId, datasets)) - .map { userSession => - val userState = userSession.flatMap { - _.userHealth match { - case Some(uh.UserHealth.V1(uhv1.UserHealth(userState))) => userState - case _ => None - } - } - - FeatureMapBuilder() - .add(UserStateFeature, userState) - .build() - } - } - - override val alerts = Seq( - HomeMixerAlertConfig.BusinessHours.defaultSuccessRateAlert(99.9) - ) -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/UtegFeatureHydrator.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/UtegFeatureHydrator.docx new file mode 100644 index 0000000000000000000000000000000000000000..0cda0b771f4dafa0b44355dd376e94c743241ff3 GIT binary patch literal 38052 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 literal 0 HcmV?d00001 diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/UtegFeatureHydrator.scala b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/UtegFeatureHydrator.scala deleted file mode 100644 index 96b9657e7..000000000 --- a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/UtegFeatureHydrator.scala +++ /dev/null @@ -1,102 +0,0 @@ -package com.twitter.home_mixer.product.scored_tweets.feature_hydrator - -import com.twitter.home_mixer.model.HomeFeatures.FavoritedByCountFeature -import com.twitter.home_mixer.model.HomeFeatures.FavoritedByUserIdsFeature -import com.twitter.home_mixer.model.HomeFeatures.FromInNetworkSourceFeature -import com.twitter.home_mixer.model.HomeFeatures.InReplyToTweetIdFeature -import com.twitter.home_mixer.model.HomeFeatures.RealGraphInNetworkScoresFeature -import com.twitter.home_mixer.model.HomeFeatures.RepliedByCountFeature -import com.twitter.home_mixer.model.HomeFeatures.RepliedByEngagerIdsFeature -import com.twitter.home_mixer.model.HomeFeatures.RetweetedByCountFeature -import com.twitter.home_mixer.model.HomeFeatures.RetweetedByEngagerIdsFeature -import com.twitter.home_mixer.model.HomeFeatures.SourceTweetIdFeature -import com.twitter.home_mixer.param.HomeMixerInjectionNames.UtegSocialProofRepository -import com.twitter.product_mixer.component_library.model.candidate.TweetCandidate -import com.twitter.product_mixer.core.feature.Feature -import com.twitter.product_mixer.core.feature.featuremap.FeatureMap -import com.twitter.product_mixer.core.feature.featuremap.FeatureMapBuilder -import com.twitter.product_mixer.core.functional_component.feature_hydrator.BulkCandidateFeatureHydrator -import com.twitter.product_mixer.core.model.common.CandidateWithFeatures -import com.twitter.product_mixer.core.model.common.Conditionally -import com.twitter.product_mixer.core.model.common.identifier.FeatureHydratorIdentifier -import com.twitter.product_mixer.core.pipeline.PipelineQuery -import com.twitter.product_mixer.core.util.OffloadFuturePools -import com.twitter.recos.recos_common.{thriftscala => rc} -import com.twitter.recos.user_tweet_entity_graph.{thriftscala => uteg} -import com.twitter.servo.keyvalue.KeyValueResult -import com.twitter.servo.repository.KeyValueRepository -import com.twitter.stitch.Stitch -import javax.inject.Inject -import javax.inject.Named -import javax.inject.Singleton - -@Singleton -class UtegFeatureHydrator @Inject() ( - @Named(UtegSocialProofRepository) client: KeyValueRepository[ - (Seq[Long], (Long, Map[Long, Double])), - Long, - uteg.TweetRecommendation - ]) extends BulkCandidateFeatureHydrator[PipelineQuery, TweetCandidate] - with Conditionally[PipelineQuery] { - - override val identifier: FeatureHydratorIdentifier = FeatureHydratorIdentifier("Uteg") - - override val features: Set[Feature[_, _]] = Set( - FavoritedByUserIdsFeature, - RetweetedByEngagerIdsFeature, - RepliedByEngagerIdsFeature, - FavoritedByCountFeature, - RetweetedByCountFeature, - RepliedByCountFeature - ) - - override def onlyIf(query: PipelineQuery): Boolean = query.features - .exists(_.getOrElse(RealGraphInNetworkScoresFeature, Map.empty[Long, Double]).nonEmpty) - - override def apply( - query: PipelineQuery, - candidates: Seq[CandidateWithFeatures[TweetCandidate]] - ): Stitch[Seq[FeatureMap]] = OffloadFuturePools.offloadFuture { - val seedUserWeights = query.features.map(_.get(RealGraphInNetworkScoresFeature)).get - - val sourceTweetIds = candidates.flatMap(_.features.getOrElse(SourceTweetIdFeature, None)) - val inReplyToTweetIds = candidates.flatMap(_.features.getOrElse(InReplyToTweetIdFeature, None)) - val tweetIds = candidates.map(_.candidate.id) - val tweetIdsToSend = (tweetIds ++ sourceTweetIds ++ inReplyToTweetIds).distinct - - val utegQuery = (tweetIdsToSend, (query.getRequiredUserId, seedUserWeights)) - - client(utegQuery).map(handleResponse(candidates, _)) - } - - private def handleResponse( - candidates: Seq[CandidateWithFeatures[TweetCandidate]], - results: KeyValueResult[Long, uteg.TweetRecommendation], - ): Seq[FeatureMap] = { - candidates.map { candidate => - val inNetwork = candidate.features.getOrElse(FromInNetworkSourceFeature, false) - val candidateProof = results(candidate.candidate.id).toOption.flatten - val sourceProof = candidate.features - .getOrElse(SourceTweetIdFeature, None).flatMap(results(_).toOption.flatten) - val proofs = Seq(candidateProof, sourceProof).flatten.map(_.socialProofByType) - - val favoritedBy = proofs.flatMap(_.get(rc.SocialProofType.Favorite)).flatten - val retweetedBy = proofs.flatMap(_.get(rc.SocialProofType.Retweet)).flatten - val repliedBy = proofs.flatMap(_.get(rc.SocialProofType.Reply)).flatten - - val (favoritedByCount, retweetedByCount, repliedByCount) = - if (!inNetwork) { - (favoritedBy.size.toDouble, retweetedBy.size.toDouble, repliedBy.size.toDouble) - } else { (0.0, 0.0, 0.0) } - - FeatureMapBuilder() - .add(FavoritedByUserIdsFeature, favoritedBy) - .add(RetweetedByEngagerIdsFeature, retweetedBy) - .add(RepliedByEngagerIdsFeature, repliedBy) - .add(FavoritedByCountFeature, favoritedByCount) - .add(RetweetedByCountFeature, retweetedByCount) - .add(RepliedByCountFeature, repliedByCount) - .build() - } - } -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/adapters/author_features/AuthorFeaturesAdapter.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/adapters/author_features/AuthorFeaturesAdapter.docx new file mode 100644 index 0000000000000000000000000000000000000000..4a17b5550eeb3da6fc1cf35b7611d8ac002e7d0c GIT binary patch literal 37628 zcmagEWmsIvwm*z(a1HM6?hb(jcXtWexVr@R;O_38#@!{jTaZ9-_kU+*&N(yZ-uu2^ zHV;*6{ba4(yQ+7W;wMNbOfWDoIIzc5Zp|v?qWC0mFtAY=Ffa_zsE#rbYo7WQljddOp*sIrpAqJgLm0^e*At08DLb zruX|PE^wCJ+CDx5^pG>LTZ(|EbmGAfIAy_6=&+iC8ScDxa(h+fqhab@ z`pRHwq2;TyDQo{|;)ug@{HYW5t)wxd4H#l0TIn=NA z6d}70A_7pq|FG?5avRfNKZ2<*i@H|P-axks`EdfU4yLM|J%r5Gc(dcrJziC(|J<&v z6{G57c@!j#=XocNoO#?GNK4&7s`nKpovl5#$~*Y3@9vJaD3(I#VJS@iZf;i2c3jPW z808D6nsA*mP&77qgq@fB&EZI#%;zRISZA46Lf)rc!a$HFK&0R6{sQ@F-w1jI_x@c# z^_}!{NAaG^YGA&JEJHG_&Px(uAzD|w(UaFBVoAk&389|n#gg?s;n6#?{3lE~eK5s; zbkT$AlgK@&dm9j7V2Gf<299PnPRvZduT=>XA0b&${m+CXhbc?!n$;u?R=$+S2{bCB=j_~dx#Fsc1_F|G79jQ=!o<81M?PpG&gB48i59DaLMrP z0i^D#JHc8u>5(_&$RcJ`cUF?ch<>ru zrJQLu#V+~4jm+q9o&B>wVP6ncEJ3&V45&b8paPi!OcWgf_D;+u07tXmH+fdVn0y}# zs^p!wRb%Y6r))_&-m0YF-m~t<*-I)5K9kYzNF}^?2({UeG8wFT zvI}8+zo?5O(0n6DBH6>F{TUEI6rM<)(12FfQcMJv ziB_5i9-iE9Bs-}OHM>*+ALO`g1LcZWt*x+gxS_*}x7v)f>RkKn(d3fV&zDdeDfrii z0Yl~eOf#BV7&d|v*9Yi#DB$cON@>b&t?F!B5hqTL4x3Z1ka`vGT0-9;C%?~|IVr6a z3Cx3A({bGZ^cU3)&CTtsF*;HD3p<;(ve#m~G>`F6rx^KWuIC{Sxd~c?!e@QGyS}hw z&G;&VSt6PVCG$=CJ45G0{$YdP+lSZpO9b@y+!s)|M;6HXw6kvFug|@g`2Xz7_3A3l zF{m##P+(xFfA5Qtz5O3;Q5~~eWkGF!qKDFRj+=wX#ruW%CY-;4|EY2GX;IW1wo(4G8rIlD{;;CMIzm%T#L)ig!~vNTR5^4R zmihpio`b>EXw^InBfN8(hGO-o7g>Yx_yrNHy^{j{l=BL*$VQ`AF;L##d-~Z-MDmww z-F^Rgl48@+Mye8vLPQ1ROU>sBkJ2eY&JVjcM_S2ANXSwUMlbA8V;&WjG|OR9IC3QT ztcD%uP>&5?`>aP^Cu=UrmeC8Q>J#O05t{j6GyuOgNN%iqu_ zd?sgvB3Z}Tz|HAWQBYO|S= zBs8J1Nx>hQiKFIaqY$6czbYeKr0}7mJ%jm~ndlroRbB=?kB30R-LE~Q-A9HCGB0-_W9&|D`em9JtlDRT5rTeJVmD!U4I`lsM*ZsKx&|%9k$-? zK6fG%WPyjpc1pIx8opIDB^ib#5CP^HHYM{6Wjd%iLu#ff*Hr0CYA*1ZlB}Nny#fNk zw^$^wUk<~UgWhU7kQ~50!G1mxxsxyKakv4%pH$H8WA=l(U1`w+c2%70I*iLLg&0j{_$==lLFGlO^Vi=Ljf2b9i*3 zy*^2dq`Jjz5Val-_?0z#khP=tSRilm%Xbi5)W1g=qZ|`$AuO~X{wE_QctA?)XaW;X zztdbWDoL}2q*Z(&k7d3kE5h|vYwA2 z#GZct)@9>RL*)uT*+t2gGMfaIqB}wr&CF%`-SGCTVM=R+=qC!a$uPrWsRb{Zw|H#k zW^_ag5*Zx!cdv#~xNv?DG7(y&+1Hp*V{X4^l~WugW*iB4r$D4%m4-!HQfiV2_*fq6Iqv4*|0uw#2w?E zgytY3K{5G6STcFEAkxV9$vVv_Lr=9+K8bw9>|Do(;(~OC^rHzeTJPr~P^)q)u~2W+ zpC>6SE&PcNhPenHy+mwVQOn)FO#NUTMmuIhG9Sl!0P0ojo>qUVZ}%z!8{O4Aex-+R zXhey8FBC8^_DUi$7#_A^A$y0CFZCi9GjbJAwQ9QZ`L=C8l^}j3v-h?o)RN&QzrAeI z{C>=t3UTs7!JxbE#MZK+pVLwT{Lym^UXpVY<6`QI zniNsPIIe#T=x`|*amNvW<$RSR+-Z*%!e zeU&o1j}4q?+yX|eLymIfHPaeSKP18)KQpPS#*9wib*}{1^`+ZRp6EB*3U6i!UpIMU z>$vHw9rQbX;Ig&Lu)a0<60(~rH$hdkF=AW&1Pk1_x!%#UN)~dV$`}H=P*;;j`%Q>C^JyYkX+XXx?4Kh*w^+p2A2s_V1jK`dOh@@GDg6x`RFq&yK zVl4Rr-e5}IW0wO;31#F`B|5J z`ZSYTyg8b=w*r;J;bmS```0fKCvaBXg4GL=hqtxQ4BWQ^k#BI6r}3NZ1Vt#kE0hP9 zCWm+(wMktRwo~!w!!ESBRdI7(+@D>5I2JECvCP^Y^F`B1>%J|1-pLyJq9u*D_l29s zC4MDQK^4sBu56!gVq)aKecOW@6&4I~9O7^fY9bmiDHZ-HC>JtgSUCE@zua9@hX(=ym0mu1t?dP<`~&yxtRMJ4mkm3Ad~`O@eqs!?pCAD3C;nJA{@e}!eew8nXZ%%EA&3R{%h@YJ zZ%86$v0dc*U-?u(I;ol>?+~e#gj?~wO`Ua92JxMM-8(Ly9BSLyiCdM04Srnu#*cwK zQ4lDYvmuIR=mHifDaYLn(rTjCRV46ywLM%NO9EnYGbeRPpDPbOewBMhsB5F_uScM0 z%Ci$`!>W!hJd{#N_)^cU4WT75laOi@nv?D92_(CisBXRNsI=Y^UQc)G*^+Ni59~#Q zs#}^j)FbDlG~78mn7+9;CGdNJ)kiRIoF@=3-V1n^(~U+qfKtE9gzRI#H?$nxHD53R zlW^-2PZ4J;s?Ai{hP*6cj}+yhtWQ@7whnneVa;Q8J@d8SQy$*g3l>6nS1784V277b z(^_dvV3Mp@(T=}f7r$agAGmEfhD*S74-9M~f08{3H zPY1I^^;4^r}_>;Q}(vUR*zdMUdE0u8$H%+xJ!hI zD|@;-6u$6=Mb*DuTQ+EWJtzhVC%&vFdbo`NHc-ewA3UOY7p%>9MjVEFl)_7sCA7xz-76sT@lh zVD+;FuK9H8>YR1H+=xG#E2j|kIc%;oqip)7N)mfZXP=P1_18Rf8TZtT%~K^eJUeTL z`l6*%;yDB1JI*)ofGNVh9+9d*Z~hYu(wgwN>sl1(qR>-xzNyd#l+c=L;g?ziA1z@Y zo)G4CV60gPj^E4cL7%xF+{^X)i*vf}bFJ@k`=)?kmD|~AXbSgfHn+m@n~(mPuV8hK z-QpWYe`j)3>q^&&{K0B0VCVkFTb*{7R5pI+HytUi2inJOF3&qwO6u49)qPj)14Q1k zi-9*_7y;F-v5bd4a{+D_zB)qs4qSce?nfk}3Y6_q6jo*8UNvIlN}+xUpDNZZm7zamsAHp)Es+OI678b~k-LYd3wWF-^3r zjGt2$5B40KDzOVoA7jzZ+nyGUu2gBQ`qM1#gWlTpsu!l7PG%qN?;Ku+WNxp7PtJrg zm86>V=I74)_OGsfp7uFqa?ppg5fo`ezxD0AmlI`P(WnI>E>G{>Q~I3~FDhiTq(oXl zO@~?2N7R-}@`#|tgG&$@6|!}9zW}>0$nhiB-Zag;1DSjqj_VI-okws^(Hi+k%=lI=SdVgGp|q^UXyrMC5`}Wm42H9%=hY}?L(LgmF=t<1>j0H7db62Wq7ID5e%y{n- z)o1;M%MrD#?3*%6nzlQMsD)gRAK{cU5GbK~4kR2%j}i-l8Je_|#o|_+X-VNMHZZ#l z;I4}OF@rr+L=aZmX-N=mH!8CVq~Vmw>Cpr26I%R9GJojt$Ht=;X17;_Y*7NhwRlE! zL{Q}~u~CB)+o6XU#V)bq0^{1D3v+)@eg;iq|7#Lzn*snX`d55)6CNcK6tf57aIee; z#J{jlI1)gqB%nCjKT@?pXdxinf296N1yx3UW<~1$Uj%1LDqLWfDo-Y)CI+n$foD8d=*^OcLAx7%53 zA_Yp(hErJW!VRO!Dj~(_w9oJpEg<3zJ|d|pFhc8oqJvp{{>?>NLf+SwN; z=2rSp!21PJu9b!Hin%fSIp;ERKY@7-(C+rr7??9b;TdlsYi*H+=ITjuAfA!yH6FqGvC zk5(ZlgH2#d%FqqzgL3>6r{P*~LFuWJ6SAb-7}Z$LZ3?n<6#ln%)zfU{wogHT>FW8X zXN;~cZzcZ=PVHwkiHAm#2PD7~RxLLDO#)2wMLMfXcFQiz2WXizIIu^Ca;?A&%-2ItXc6OQwIhz<@2|+CU&b)wxDbG>mh64w8K>nihFHXBVs5p&We!wfE_Jt(=eK z;7Iu(-?8vAHNy;kGW+=_C{7P?hqC39vT~e^I-)#pHLd6XzpP_B_Wn2}CtR{cg8C`F zd^rZ&W&U;4M( zISj>+)hIfinfTKDg+o;JfmS;;hTaP%zdzytzvchaOIJEKoO1r5@IZPsp{pJf6Qp(oYvjj#!OY-g5 z9dPzJvzBQC|4ZMP2L75`6th9-`G(OlWXTR8#vs#=aef;MRfiIJ9w61j#q%7N0kcGh z=mv5Idzm~Qif%Q9#5KZnE%sKD{aq#fj~8lRtfB?CD<#^a?At1?`4Qyys~IMbqO2PA zBI5X(k)8Nafjy+Qdp>epQ)ji+%!5((IOG-^E31YL}$y zz@fD#O+wz4u_)W1O)&dyb$DM)hCb$F6^~f`PAQ^#rJr?j;mMlvYMXSk6VMP?%)Kn5 z?Wk)t!kR!iMA$;{D#b0sF8^_YN0e>15YgPmq9LtNu%zfVlWf^(1=`E1bvsfn4tvDo z&ZD9_;aD-DUsIFActyeGV5_Q;1Z5bt9`;AG&6)EOdowd-${tx% zPc;J=r5rutqvm2v;R7tNGxzzkvi0G63UoXvnNP~DZKPh43{uOajMbHohKo%l-J2=Gbh2#Wkpev%1Rk z4_}7WfFp(p3|FP;SE5mLXC}IWSf1ka)VgJiVCikMRel^pId%ZW`9!3dS=RBFRn%No zjt1N)7~~J^DK}|t<5j2X-ac6Tj`Z}hScRqKu^r2>N@Yq44!6a9sx1y?oGZgtre)CW zdzYJ$pZYG_5x!51Yw-=+eMli8y=i2o|hw9R8Z(9*htzex$h$;x6^{PvU?T!%bHRU{j_;d31JH$O@1;^L5rDbUKktDUM?6_(Ig`}e(5@!)vP%_M#tfu)eT8!Y8GXI^}$Lcp{|)s*}==}xyIQ%WQh6ZWP+nS ztpt!@dQj+G!l@GGkky<@8{>ZEUBWlXQUBnj#*9_yc5qu)oH)tSXogS26S$vumi4!u zct0oPus=nuD`FLfZD{Ij;T}eJV8}aNbGg_oy1H*-xxjV6d(*;?vc5*GMK?H55%0ow=NNa?5N}ZWgW9Icsf^)^9#z< z4ZcI};OgP?sF$KWL=8dmbViI*yFYjC#05k>Tt~bad`B9jyzb_ml&rn6MfELqhY_7L zS_jtDl6gM&ZNO@JL5tFs>=3&v#J8j$eEu6$kc(+r?Xb|)=c7jO9Y1-75ZxhH2$)GC zr}4Ew*sNRqi0$FRMu8aAPE9q3NNS=Hhqe@7Hl(QXxxIKCik(0>0SCyr+!jJQ47wXZ zff(+4wZR+CnY*AG0bEp@7{makT4I2Ge~hsl=w)c#0p5niLnIXt%mkJ=pgR0;qGf%+ zU&RZ!SA?9~VkqE3C|~Td4d3plDF)!1ynxv7=NdvBCcBnOro1+P#{)00d2xwPcjaWB z^SeZaGx!HvL(;@+yTp=)+I#Se_dYJpAJmljpKfenlvlPw@uE18pB*VE!~8DOeRZol zy@h^l_R5arQl>f6X0|$V$pMm5 zMVBJ7X)kyqN0C(EX3K8{r-7CT!v|$ppK$7IC(D=BA$+7-Fwe!n6=+iSQ3Z9&^&3Am zi`Qo%9PQnt%M|Fl7rduB(i?}ZKEB4f`FI;S4P1UVd|VbHhob}lrDMPIk?Qy(z4Wj2 zxqqi0{!R}f66+}U;kvf_4teQm^)f3tm(gI=>>`i#4CZ4QjT+za1v)z z66opC5&gXsXJaW$vBt^|y(0rZpgmig$_4FazcStSVa8(a6F4*Gd9bG?@=RaRkz|J{ zKgDWUuD-rPDaTO=cQDyp#mb`OS+QcRi{PA9c~B|0#k@_$SD^xZ1ou3D>bXx&VMI)7 zSKsvO31d!F6`5;N)bVb5@h#Dg)J{SR+}Ii87F8mvnesO>)fyPhAEP{Jw?ZJY6`3bU zJzG^fN>gk?P5CY7o@)B`!-HIRQ*ue}>U+~fm^f+B-m@=Wp}5R#Dt@3OVS=SW>G5^r zlL{ix$e0+CE;>6kNPb%<-k1`*k|?MYk7DJwOa6)T@=D;s!;~B zEX;T!>M(DTbi#Uf*;S+5{Bu&gl8DdUBRUkrU}^Ligk?F`-R4X9hk`hjz1BIEdfN<{ zISrhk!#h5^Zy0uu+U$grBjmEVb}Nr*lD-Ra!s1o)YS%i^8~Gc6qzJb;01_KrX&ALY zwP}>HpC+AAD#7}iaW>O-mHJp|!wpr^b?Guoh`6iobQ6!%fFMFARZxJom9-gvI9Zg1 zSHPLUhe;x&xXyCRwpi~1wepg>sd=B`k`V689 zj3Rb#9y-lV>nOKGi~BbZ6ve-I}e*Y<|dd)5K^01s0pbW31ru2nYVQ2?iS@lDw)YA)_=sylb0Y0! zjI6S4BhNc(Eia)w#edk0BL0hw*X93{ zjb_+Afct`aF}~s8b4iVrHWbC?=cFUcUrskz;3Eed7j1kI{_PFvvyvkBS`(lm+JToe z;8lDGxq-qY)Nq{@%3_q0LM{P?90FmJoMd+lj^KE-ogJED%DH-lCtL_M7WgXd|5;6%VW{jg_n_n9pMg;s zZU0O2SR(v|t8=&j%*5F#3fqL(u`ohi-YM{c zR=zd9Q!LZdMku^wVuWh;RaAbb_WXm6z_K%u=EXRdkf;p0W$N}%~jSkBS}ASch7_m9D41Ts4z&? zu){W)vJMoSxii4{f)UlFig9JaBra#F%sNaLqlRHl2PA^=#$nKa8;dYV>7&-AR@dT2 zjJuLGFrmirYms^FOaDzHc}2RmQt@J*%x~Yzg1>$Dglft<_?(!so)fro5&Y>}as&hk zy0F&zuzn8=8*mO8P&94ENNYNY9BCe$Q5&&uJ2U6-!gO8GK6aaG-iE6Ykd=_;M5#A6nkZ3Y@YX<*X3=qCE6pHs~MWYnd* z(7~r&uHQQ&=dZq;E}-cu^Ia6PpNq*m7}P|VOl(1&tWc%oBh@nAz%2E1h1;U9{?h)K zpk-sGk72x%p*cw1X_+}Py_cwKXcx|ro4ro8Z?;5W3i~5 z&~IvMIQDrb6O=UhXA;lcO1C-DqaRB@Ni87aFjg%s<8%DP?3AV46*+C&SIWcQOal-U;f5J1yjE z|DFdTv4uGum3Wy=YI)cP75UmjI>`Sqo}6IH#hSJ#ki$crd=c)1XTf&uPC2O+Y4wK^ zu3?hNvYgW-UW+|e{NzVg{QoG-Bitu+5y`}u_*0?l|5SLHc@;VlzgfxUsgx&rQu^L; z#IaNt_Od_kJLB+db>VyVJrC6Z@gC%!@`EgR!!@!HL-nD|Y?-z)Ut!{&My!y8bz zJtss7S4KA!)zWp1VV3!Er0MYH;4pezp*p5yZtr2=vLMRbx}KS(q-0s2(~|&Z()m~2 zXAkmTDC4BH!V4QBr z`j0&2Dp#W(JzfTIw7!6_xDX(c~Tz$&75j@JAf(%0OLay*9ZTjj}K zba!&IK+4uyip3~aj7V&Oe)>>KO=BJgw0ip%Bbki4Sqn|$+>IGS&{n)b&`ZVg*6OJi z>PCIu5WZ#I96Pz&%NCuXCxo)iS1(Poahp`1m!Su}&nWyi^`}3m(LvO(pMLMY$J;g* zkdh7mpmsGK15xvH{Ym|u5+f4%|De9;?1yg;&oS8WZu`(-2!B*n-h*y8o6W!w;P#7D zGqAmx0(dNp5lQYIrh)vaw%=Zp%yiqXFM-RXWU97bq+_=S{r4`r=zWXV+`GTXZ(W8# z(gALKKJGFuNZDVuAKf06eZ$~-7*+#_hTC}Do@b^Z=}sL~eC++m=< z*%8ntc;CqW4Izv0?c3q#$NZc7#huiSVyKeBCk9RAh@a7by03#iOSz(SE4=En1%7fJ zSye|DZq55~3>M`ZvtZgvCrz>ngf4D3d16sH}Z=ja0IJ$g-V=XIn~4LD^W8 z@8eT{{;s0-L2tu8V!_t{eL_b21%WIbCf^dvAhqo73u*cScskYenyBxob%hBO-1Rlk zEk=|>ZsB=QyoAp(-E<8@ZZ@nKerZy5f?IyJu%tZZTl+Rg)r*i^`fTGPmIMcq#O$b- znbuK9eOR%Je=$4iwO>EJwa2L^HeERrD;! z&$99YCIFwDbq65pl%vWO8chyzrtxwkAldUwB;S%S*Ail)>&HQ7Ghal2h(ebaJ)Xp@ z=>$N)xjeC0W>9d3Bl>f?|B39p_b!K=XZca-7{2`M%GquiuUv(JsKl%YM^$@DdC|tF zq|e&0pVLLyCAtIOlKB{VT|KYAEmr=^qxN0#$iUyguDoVV|1kNJqw1z}@Y`(T%D+s0 z(mCoV3jfn&Xwq+!Jcz$dcG&*^ndFhP?wSJbb5!|)OkxyUzVX>)w-OQ+;9%kL$7C3p zQ8^HR-YD0HukP(EpB#X-kM%je%v%La(r<2 zwVGDqg%I!2nn9h_8Ryl3gM>ryS~5j_LGWB^9SCwm1z^HKm!}KmkOp|pTJ*w%_!CcA z1VOiiP+;?cb{$)gVFX}e{$b!oP^}~~UrCrtsd+@JZcIbtA;wMM=vg{!xUylhTT`0C zu@wPoNX+)YSn~^r_9vR{5M$;BLjhtZt`VK_T38oZ$luE()NlaDEMyq?HZ%yW{WqGs zXceq>=*4d|X8T*1i9vRarLmQM#L|}XFF38X=k@O38!)lwVx+$gZjD*De=Rho8KLwb zqSB(agT+I3BcigBw1eSLgyZ~xzJX?@;oSYnqVMnVZX5cxMKAkc0=rj#fl6PbLyfb& z`()_r0OGl?Y%orQ+&5nC&8M-n{}&^E&zoJks;c^L5sUSIJT zVaBK(>kH{Z&iM+DFvr3r+(4`vO}J zy1+F1f-^|Fz63Vrc5Xozos19;BC^Diws-4evRq0DJ?Stfr!;-@1;0|CKZkG&^~7fG zb}Plur#W@Yn1nTvUjl-PcTx^2-U%G+aDYuK)IW=7o1^5?TIIh|q_) zcTBK7hEF}w4QXYlLY-UYP6OvzMt}~XMh6SMl`zUGN+MyeD$}oY;_c&)6Ab{Wegv<5 z-{)3f&|^U$UsTeJ@GkhSKQL^hcUV@?u68y8Y2NDw7XXFL(rNYlY8<_WRsV^!Xh=Ap zc0HL(#e&P!VooPQ7WCsVyuE6z$z0XhE&eIk&&+98w@*Gm{tF=TIX`vkyMr~KW|1${ zEHtHp3OBWJz5??Fy?EzgG4!hrC01+M_8r*GlPx{B?cE4Vh?ik!Xq)7nCDCYMXL(Bl z8BgSs5oGJQ22Zw}bG$ipAHic0UE>~`?D(!K?!^>39N<~IkXgD03_0w1(5yt$a=LSK zrRe7S#2$-PV-c(q$@r>mG`^NQc=bMOe-8W(afL|LdEnKnATvG%X8&otCQ^!IKhy+g zEW^v`qH%-l%DPK5f$vI1l6K2syC`7gHxE5P)U2!}mu!C#e4jgO>VSMw-xYuK843ov zskM{{`}<73r>Z6-;*5jYlbUMuD$f3*H-80J>L$$(-(LvS$F$)OX<&BY4=&Si{m+WO z&~H%Bmx`FowE^)DO`AvZSr29TnCGqMlHE<#>(2Wc8?w{N04nM68pv?~n|;=t-K=ad zpW;5Kc)<_w?+^`rAqoOhbIw~6#%mncvRS&Y@i3Zuo*9JUmaya(RM4;3!Pd~Pj`PvN z9=2J!;&JY645ws|8QHpSGm^{Mh1I@75aIkHx%ra{dqEk12r2^P_*B{yHew249y!ew z1}Xmq1 zB=^-zH@3pD?dg?u#|uZVkg()$qRy!r*Q$)k=TUrbog<`9P!0Sapm)oT?aAgs*n|T_ zMUjRoLPM@`YKX8FIWEc^0@JT=F60yP?BttPSrcwGYoSNGR?uCS z;wv^c;wz5KRnKP^pXAamJ$Ii~&)J){ zLbD-nZXoFH^YAhde2e9UM+sA}`T7&QD_poXI|7NzV=J(p>26QUb0%b1rzY58&v21mBdznX;`9(85S6P*~5nHEu8MUV7)9526at!cko2 z%PK_;tRm3DJ{_B1X=}JAL8B^&zK6Vu2F$r2*L7uE7Dv|wYkhzp(cZ4>sRM+iTZ^Kb zN1h-*L-Po})tWt1MS;X1X>y>Fn6z&g_AsA&hh8DU9Je~r-T%b8Ry`L_oeR2{b6I*G zDhkXQ{8uyo*V?!iJQxpZ(TwgOgX)_LaOv0rb(9TS7~pY#2|5Zxr}~hObGoD9AJTD= zo7St(hEG5B18D(k~PO)-Db>eB)A(e?^@QCSj+%d zWF#A6{v3v}uOb)4UzZVCVk%^zdGrP9zkv<)45?udoM8~)2=&Bl@$_6U^*Sup6O8Rc zf%RNqPpa61-uU+;iP^8YdtJlEa2Jj1cRT2s(RE+!1SCN7APdPRY`N!bwVpq)K@Gvj zxS_@Hck(wb$=%wj%Tx2{H;Ddz*Do34K+3a$_1^#v3cmr4!v6rUzjF)Rg&G3F4V`oo z#Vl>Q^HpZb+qatsML}5bWryPjZ?#_B9-J4n0gnGpr-dBay??pJMj@c`hrsJ<_jU7t#EdkE zlR?xJfR#@8nj}TRm}g&fde+vFFrre#^(nc?Z6g<}obE%_mguKq&-2ux2}LD5Kd1CO zy66|h^GJC|&dq4wG)z*TleJbC9?s~_vVI%j`cQ+AXES1j0dsIS>*@qOjvQE&;=_3! zjAw~l$@g#OS?AMHp2v{7M~OXq#!@wm+=Gy~DGqi)KbvjyUMY}@L@5;7jWOQfPm5UYJGfc(>a@lh@Zuol_&{Xy-A#{=zS4&FaT`~W=L9HdHltoTL zSmm3Po*)0BVgXU%M*XH@i5xKAs+;0A0oi0r^w8&0m*>e$2&n@*SUXk$$5QsaI|J2TJu~R{E=sZlt9|#bzvv1I;v%U+DD5 zH1rLFr#9o&!)*A|p!P`D@b2vw2aoNg-xEllUSO&~m2LhgT3N|o zX>%I029EE^`h<${H%3n_El3zD_2NX%X-zGbyG&jnI}C_1F$wx=Aj(Oe?^r!NDZIA+ zP=ZPbE7Bn3d(GISUA{qJ5X~jD#?latEfPT z-oYYJNn%oWPh;pCRd6tLyp{x7*kG>s&4EqE0LdfPxGL9c4;LF^YA^8&e$$v8W(0gW zK5ogBW3U@DRopa6+_d)x?Lc@a3^*!O*|_FX3oq~za(_FKo{XmgLmJ--7qO6p>U7Ie zFhH4%VjhlSUI6c!vEswzn-iC?!hY9REj270CLJe4XO1K@OG0MH~~s`&kg5eaL{ zX9JGz8j_A<6IcOIB#pxLBda@Wa4n4k=Dky;v5})H6;Tw$DcySPJj74a!oNtm6X!o_`+v)iFZ-zDw=!q|wVWbEugNKR2#caesk7wpfC zc+EkvP3%!;uXw2(UX^~1CZ-BH)R=w)>%g4u2HS}i%M-aVA3oGO${>ZuN98KTz%RAM zu|gpn2R)vq?38DNkSfTw8#rtK);Qf_mS-{s1?MEL83&u z**LS{Pc0! z4$L+fw4nEXWXd$l@M%&A=UH*Vm~gan5tv_Z5t>3VkA&s5g$w`ifhiThPT1g9z~ZHg z8;yzQuGvlwX)R2sHx;yo6)!d-HO!&x4+y3x6p_x8FU)OLD-{Igp_M$6{^`IFg?jSq zOB1dWd&G=1s1gG@C5lhs9iBu?m0_44Z$*paA-stxNTJ0LT*#oCvcyh6d9mxWAO~;b zc%;yqt~hLjOi@w@NCFHy0VysyWMu~dDcptj4~rMXZz%sfw{PeXILpfk2If=)1BUm{ zbNd>W&YvaC&CN`l|2)F)qnA=3Re$pIfYo#~ppcymMmjR)Gl>o{s6V!Qk#>78R8cXf zmtLK4^pUOwbc$aj#~*z-R(d%2#5a{zDtGh?%lTX`v71#0I=DRnp z`+d7M-z9lt22XL0QKhD$!+A#?v6);e&^f%)ZS^v+r!!0E;wzQ-gALmU9a_+P~4UDk#8cfDP>Gs3dC6Sl^$01)yZ4xMe8hsH2Rz8E~%-xlJ1K z@H}@dp6na7tx^u|N8X%8uD_JEr63ttGe?GAy}7^y$z0x9`B?7W#&Fe)xj0_Vnm^Sq zQTy2mQ+F--dU(BXSzfu+8TjZ5*4+9P+dib2`}+C4HS77gS?#Wl`4o0NFtr7o`TBVX z8MK#uyLB%pdE2>;a*-yNK`nGq9f+H zsx>eO&0fh3T^(5b;a81xx%Rqy@qu}2h`+|pfoBUhzA=1^+1-v5aOF*{b?%dNoNjaA ztA4!N1>gqMEH0>9RlT&nI$F|e!APv|MJwITxLR>vZChTX%jTwpp7}nvZ`j}v=Oprf z^n7NL{PE)Vwz#fWFCb_~)Vo(QuzKa2Lc~k3`dTkY$WO#aEb!*?%)e222L#q^GP={LB=bEgr} zzB}4(yBi_9-EPI9#9J@#eHt=ou9)D`THD-IC@BddPG+tk zR*#JxyLo!re(1fKJ#u(>%T7M_J4=pT+0T=O$O zQ@38fue4jt{6fW+X(xlqE)feQQ|XZYvm-6=cNuS?$AJ*~CTJxX*%* z0~n&T8X~u{keG{6n43&3&4O3rR~c}<%?Kq|Zm?}t$oT)%(|`ups{;ooJ2yX> z_Mo|okJ2B`Zyl!GX2kzgeVL)u;i z2`^QHz06aQp?kCYpre8vPc9Eb`sMLC+-}4%1f{;+@Sb}m^9Lm_dcC2<9t@9^kUeHU zO6Khh0C_+1S{dw-stq94@etoMg{n97Cj|$3;=NOPV^jb`Ds_p-2vdDgU!&~>!fT8v z2)(nZ-_zr7yC;O#qqS^=tQ{t{h=pf75>LT*-oO zxoy2oa=ETZEuVzN7

    j%eR$j0-A2*&h+F5QWzAs7DypCf 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 avKVUXFu af} -import com.twitter.timelines.prediction.common.adapters.TimelinesAdapterBase -import com.twitter.timelines.prediction.common.aggregates.TimelinesAggregationConfig -import com.twitter.timelines.prediction.features.user_health.UserHealthFeatures -import scala.collection.JavaConverters._ - -object AuthorFeaturesAdapter extends TimelinesAdapterBase[af.AuthorFeatures] { - - private val Prefix = "original_author.timelines.original_author_aggregates." - - private val typedAggregateGroups = - TimelinesAggregationConfig.originalAuthorAggregatesV1.buildTypedAggregateGroups() - - private val aggregateFeaturesRenameMap: Map[Feature[_], Feature[_]] = - typedAggregateGroups.map(_.outputFeaturesToRenamedOutputFeatures(Prefix)).reduce(_ ++ _) - - private val prefixedOriginalAuthorAggregateFeatures = - typedAggregateGroups.flatMap(_.allOutputFeatures).map { feature => - aggregateFeaturesRenameMap.getOrElse(feature, feature) - } - - private val authorFeatures = prefixedOriginalAuthorAggregateFeatures ++ Seq( - UserHealthFeatures.AuthorState, - UserHealthFeatures.NumAuthorFollowers, - UserHealthFeatures.NumAuthorConnectDays, - UserHealthFeatures.NumAuthorConnect - ) - - private val aggregateFeatureContext: FeatureContext = - new FeatureContext(typedAggregateGroups.flatMap(_.allOutputFeatures).asJava) - - private lazy val prefixedAggregateFeatureContext: FeatureContext = - new FeatureContext(prefixedOriginalAuthorAggregateFeatures.asJava) - - override val getFeatureContext: FeatureContext = new FeatureContext(authorFeatures: _*) - - override val commonFeatures: Set[Feature[_]] = Set.empty - - private val compactDataRecordConverter = new CompactDataRecordConverter() - - override def adaptToDataRecords( - authorFeatures: af.AuthorFeatures - ): java.util.List[DataRecord] = { - val dataRecord = - if (authorFeatures.aggregates != null) { - val originalAuthorAggregatesDataRecord = - compactDataRecordConverter.compactDataRecordToDataRecord(authorFeatures.aggregates) - - DataRecordUtil.applyRename( - originalAuthorAggregatesDataRecord, - aggregateFeatureContext, - prefixedAggregateFeatureContext, - aggregateFeaturesRenameMap) - } else new DataRecord - - if (authorFeatures.user_health != null) { - val userHealth = authorFeatures.user_health - - if (userHealth.user_state != null) { - dataRecord.setFeatureValue( - UserHealthFeatures.AuthorState, - userHealth.user_state.getValue.toLong - ) - } - - dataRecord.setFeatureValue( - UserHealthFeatures.NumAuthorFollowers, - userHealth.num_followers.toDouble - ) - - dataRecord.setFeatureValue( - UserHealthFeatures.NumAuthorConnectDays, - userHealth.num_connect_days.toDouble - ) - - dataRecord.setFeatureValue( - UserHealthFeatures.NumAuthorConnect, - userHealth.num_connect.toDouble - ) - } - - List(dataRecord).asJava - } -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/adapters/author_features/BUILD.bazel b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/adapters/author_features/BUILD.bazel deleted file mode 100644 index 7a00a9b26..000000000 --- a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/adapters/author_features/BUILD.bazel +++ /dev/null @@ -1,18 +0,0 @@ -scala_library( - sources = ["*.scala"], - compiler_option_sets = ["fatal_warnings"], - strict_deps = True, - tags = ["bazel-compatible"], - dependencies = [ - "home-mixer/server/src/main/scala/com/twitter/home_mixer/util", - "src/java/com/twitter/ml/api:api-base", - "src/java/com/twitter/ml/api/util", - "src/scala/com/twitter/ml/api/util", - "src/scala/com/twitter/timelines/prediction/common/adapters:base", - "src/scala/com/twitter/timelines/prediction/common/aggregates", - "src/scala/com/twitter/timelines/prediction/features/user_health", - "src/thrift/com/twitter/ml/api:data-java", - "src/thrift/com/twitter/timelines/author_features:thrift-java", - "timelines/data_processing/ml_util/aggregation_framework", - ], -) diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/adapters/author_features/BUILD.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/adapters/author_features/BUILD.docx new file mode 100644 index 0000000000000000000000000000000000000000..349cba45c867aaa633987bf2ed98843e10fdb090 GIT binary patch literal 36932 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 WVSqO)Fb9Ehl^{bRFngTs2Jryw9v<-k literal 0 HcmV?d00001 diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/adapters/content/BUILD.bazel b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/adapters/content/BUILD.bazel deleted file mode 100644 index 6a9393121..000000000 --- a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/adapters/content/BUILD.bazel +++ /dev/null @@ -1,18 +0,0 @@ -scala_library( - sources = ["*.scala"], - compiler_option_sets = ["fatal_warnings"], - strict_deps = True, - tags = ["bazel-compatible"], - dependencies = [ - "home-mixer/server/src/main/scala/com/twitter/home_mixer/model", - "src/java/com/twitter/ml/api:api-base", - "src/scala/com/twitter/ml/api:api-base", - "src/scala/com/twitter/ml/api/util", - "src/scala/com/twitter/timelines/prediction/common/adapters", - "src/scala/com/twitter/timelines/prediction/common/adapters:base", - "src/scala/com/twitter/timelines/prediction/features/common", - "src/scala/com/twitter/timelines/prediction/features/conversation_features", - "src/thrift/com/twitter/ml/api:data-java", - "src/thrift/com/twitter/ml/api:data-scala", - ], -) diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/adapters/content/BUILD.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/adapters/content/BUILD.docx new file mode 100644 index 0000000000000000000000000000000000000000..6bf1c60701d0b6fea23bc7d460a47b7507f0d52d GIT binary patch literal 36898 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

    _Z*@i9xgw~|OIPyXhZKdsg+ki~t_x#w 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 rg} -import com.twitter.stitch.Stitch -import com.twitter.timelines.model.UserId -import com.twitter.timelines.real_graph.v1.thriftscala.RealGraphEdgeFeatures -import com.twitter.user_session_store.{thriftscala => uss} - -import javax.inject.Inject -import javax.inject.Named -import javax.inject.Singleton - -object RealGraphFeatures extends Feature[PipelineQuery, Option[Map[UserId, RealGraphEdgeFeatures]]] - -@Singleton -class RealGraphQueryFeatureHydrator @Inject() ( - @Named(RealGraphFeatureRepository) repository: Repository[Long, Option[uss.UserSession]]) - extends QueryFeatureHydrator[PipelineQuery] { - - override val identifier: FeatureHydratorIdentifier = - FeatureHydratorIdentifier("RealGraphFeatures") - - override val features: Set[Feature[_, _]] = Set(RealGraphFeatures) - - override def hydrate(query: PipelineQuery): Stitch[FeatureMap] = { - Stitch.callFuture { - repository(query.getRequiredUserId).map { userSession => - val realGraphFeaturesMap = userSession.flatMap { userSession => - userSession.realGraphFeatures.collect { - case rg.RealGraphFeatures.V1(realGraphFeatures) => - val edgeFeatures = realGraphFeatures.edgeFeatures ++ realGraphFeatures.oonEdgeFeatures - edgeFeatures.map { edge => edge.destId -> edge }.toMap - } - } - - FeatureMapBuilder().add(RealGraphFeatures, realGraphFeaturesMap).build() - } - } - } -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/RealGraphViewerAuthorFeatureHydrator.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/RealGraphViewerAuthorFeatureHydrator.docx new file mode 100644 index 0000000000000000000000000000000000000000..2ffc0db1c3a18e6b63987f89cd699cf11f43a73a GIT binary patch literal 38037 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 literal 0 HcmV?d00001 diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/RealGraphViewerAuthorFeatureHydrator.scala b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/RealGraphViewerAuthorFeatureHydrator.scala deleted file mode 100644 index 6048213aa..000000000 --- a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/RealGraphViewerAuthorFeatureHydrator.scala +++ /dev/null @@ -1,123 +0,0 @@ -package com.twitter.home_mixer.product.scored_tweets.feature_hydrator - -import com.twitter.home_mixer.model.HomeFeatures.AuthorIdFeature -import com.twitter.home_mixer.model.HomeFeatures.InReplyToUserIdFeature -import com.twitter.home_mixer.product.scored_tweets.feature_hydrator.RealGraphViewerAuthorFeatureHydrator.getCombinedRealGraphFeatures -import com.twitter.home_mixer.util.MissingKeyException -import com.twitter.ml.api.DataRecord -import com.twitter.product_mixer.component_library.model.candidate.TweetCandidate -import com.twitter.product_mixer.core.feature.Feature -import com.twitter.product_mixer.core.feature.FeatureWithDefaultOnFailure -import com.twitter.product_mixer.core.feature.datarecord.DataRecordInAFeature -import com.twitter.product_mixer.core.feature.featuremap.FeatureMap -import com.twitter.product_mixer.core.feature.featuremap.FeatureMapBuilder -import com.twitter.product_mixer.core.functional_component.feature_hydrator.CandidateFeatureHydrator -import com.twitter.product_mixer.core.model.common.identifier.FeatureHydratorIdentifier -import com.twitter.product_mixer.core.pipeline.PipelineQuery -import com.twitter.product_mixer.core.util.OffloadFuturePools -import com.twitter.stitch.Stitch -import com.twitter.timelines.prediction.adapters.real_graph.RealGraphEdgeFeaturesCombineAdapter -import com.twitter.timelines.prediction.adapters.real_graph.RealGraphFeaturesAdapter -import com.twitter.timelines.real_graph.v1.{thriftscala => v1} -import com.twitter.timelines.real_graph.{thriftscala => rg} -import com.twitter.util.Throw -import javax.inject.Inject -import javax.inject.Singleton -import scala.collection.JavaConverters._ - -object RealGraphViewerAuthorDataRecordFeature - extends DataRecordInAFeature[TweetCandidate] - with FeatureWithDefaultOnFailure[TweetCandidate, DataRecord] { - override def defaultValue: DataRecord = new DataRecord() -} - -object RealGraphViewerAuthorsDataRecordFeature - extends DataRecordInAFeature[TweetCandidate] - with FeatureWithDefaultOnFailure[TweetCandidate, DataRecord] { - override def defaultValue: DataRecord = new DataRecord() -} - -@Singleton -class RealGraphViewerAuthorFeatureHydrator @Inject() () - extends CandidateFeatureHydrator[PipelineQuery, TweetCandidate] { - - override val identifier: FeatureHydratorIdentifier = - FeatureHydratorIdentifier("RealGraphViewerAuthor") - - override val features: Set[Feature[_, _]] = - Set(RealGraphViewerAuthorDataRecordFeature, RealGraphViewerAuthorsDataRecordFeature) - - private val realGraphEdgeFeaturesAdapter = new RealGraphFeaturesAdapter - private val realGraphEdgeFeaturesCombineAdapter = - new RealGraphEdgeFeaturesCombineAdapter(prefix = "authors.realgraph") - - private val MissingKeyFeatureMap = FeatureMapBuilder() - .add(RealGraphViewerAuthorDataRecordFeature, Throw(MissingKeyException)) - .add(RealGraphViewerAuthorsDataRecordFeature, Throw(MissingKeyException)) - .build() - - override def apply( - query: PipelineQuery, - candidate: TweetCandidate, - existingFeatures: FeatureMap - ): Stitch[FeatureMap] = OffloadFuturePools.offload { - val viewerId = query.getRequiredUserId - val realGraphFeatures = query.features - .flatMap(_.getOrElse(RealGraphFeatures, None)) - .getOrElse(Map.empty[Long, v1.RealGraphEdgeFeatures]) - - existingFeatures.getOrElse(AuthorIdFeature, None) match { - case Some(authorId) => - val realGraphAuthorFeatures = - getRealGraphViewerAuthorFeatures(viewerId, authorId, realGraphFeatures) - val realGraphAuthorDataRecord = realGraphEdgeFeaturesAdapter - .adaptToDataRecords(realGraphAuthorFeatures).asScala.headOption.getOrElse(new DataRecord) - - val combinedRealGraphFeaturesDataRecord = for { - inReplyToAuthorId <- existingFeatures.getOrElse(InReplyToUserIdFeature, None) - } yield { - val combinedRealGraphFeatures = - getCombinedRealGraphFeatures(Seq(authorId, inReplyToAuthorId), realGraphFeatures) - realGraphEdgeFeaturesCombineAdapter - .adaptToDataRecords(Some(combinedRealGraphFeatures)).asScala.headOption - .getOrElse(new DataRecord) - } - - FeatureMapBuilder() - .add(RealGraphViewerAuthorDataRecordFeature, realGraphAuthorDataRecord) - .add( - RealGraphViewerAuthorsDataRecordFeature, - combinedRealGraphFeaturesDataRecord.getOrElse(new DataRecord)) - .build() - case _ => MissingKeyFeatureMap - } - } - - private def getRealGraphViewerAuthorFeatures( - viewerId: Long, - authorId: Long, - realGraphEdgeFeaturesMap: Map[Long, v1.RealGraphEdgeFeatures] - ): rg.UserRealGraphFeatures = { - realGraphEdgeFeaturesMap.get(authorId) match { - case Some(realGraphEdgeFeatures) => - rg.UserRealGraphFeatures( - srcId = viewerId, - features = rg.RealGraphFeatures.V1( - v1.RealGraphFeatures(edgeFeatures = Seq(realGraphEdgeFeatures)))) - case _ => - rg.UserRealGraphFeatures( - srcId = viewerId, - features = rg.RealGraphFeatures.V1(v1.RealGraphFeatures(edgeFeatures = Seq.empty))) - } - } -} - -object RealGraphViewerAuthorFeatureHydrator { - def getCombinedRealGraphFeatures( - userIds: Seq[Long], - realGraphEdgeFeaturesMap: Map[Long, v1.RealGraphEdgeFeatures] - ): rg.RealGraphFeatures = { - val edgeFeatures = userIds.flatMap(realGraphEdgeFeaturesMap.get) - rg.RealGraphFeatures.V1(v1.RealGraphFeatures(edgeFeatures = edgeFeatures)) - } -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/RealGraphViewerRelatedUsersFeatureHydrator.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/RealGraphViewerRelatedUsersFeatureHydrator.docx new file mode 100644 index 0000000000000000000000000000000000000000..d618633e89f05d04ec59007544bdeef47e234219 GIT binary patch literal 37670 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 W0B=@c4g%#WL54(N_E_Hs;sF4*(svF3 literal 0 HcmV?d00001 diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/RealGraphViewerRelatedUsersFeatureHydrator.scala b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/RealGraphViewerRelatedUsersFeatureHydrator.scala deleted file mode 100644 index 47e2431cf..000000000 --- a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/RealGraphViewerRelatedUsersFeatureHydrator.scala +++ /dev/null @@ -1,73 +0,0 @@ -package com.twitter.home_mixer.product.scored_tweets.feature_hydrator - -import com.twitter.home_mixer.model.HomeFeatures.AuthorIdFeature -import com.twitter.home_mixer.model.HomeFeatures.DirectedAtUserIdFeature -import com.twitter.home_mixer.model.HomeFeatures.MentionUserIdFeature -import com.twitter.home_mixer.model.HomeFeatures.SourceUserIdFeature -import com.twitter.home_mixer.util.CandidatesUtil -import com.twitter.ml.api.DataRecord -import com.twitter.product_mixer.component_library.model.candidate.TweetCandidate -import com.twitter.product_mixer.core.feature.Feature -import com.twitter.product_mixer.core.feature.FeatureWithDefaultOnFailure -import com.twitter.product_mixer.core.feature.datarecord.DataRecordInAFeature -import com.twitter.product_mixer.core.feature.featuremap.FeatureMap -import com.twitter.product_mixer.core.feature.featuremap.FeatureMapBuilder -import com.twitter.product_mixer.core.functional_component.feature_hydrator.CandidateFeatureHydrator -import com.twitter.product_mixer.core.model.common.identifier.FeatureHydratorIdentifier -import com.twitter.product_mixer.core.pipeline.PipelineQuery -import com.twitter.product_mixer.core.util.OffloadFuturePools -import com.twitter.stitch.Stitch -import com.twitter.timelines.prediction.adapters.real_graph.RealGraphEdgeFeaturesCombineAdapter -import com.twitter.timelines.real_graph.v1.{thriftscala => v1} -import javax.inject.Inject -import javax.inject.Singleton -import scala.collection.JavaConverters._ - -object RealGraphViewerRelatedUsersDataRecordFeature - extends DataRecordInAFeature[TweetCandidate] - with FeatureWithDefaultOnFailure[TweetCandidate, DataRecord] { - override def defaultValue: DataRecord = new DataRecord() -} - -@Singleton -class RealGraphViewerRelatedUsersFeatureHydrator @Inject() () - extends CandidateFeatureHydrator[PipelineQuery, TweetCandidate] { - - override val identifier: FeatureHydratorIdentifier = - FeatureHydratorIdentifier("RealGraphViewerRelatedUsers") - - override val features: Set[Feature[_, _]] = Set(RealGraphViewerRelatedUsersDataRecordFeature) - - private val RealGraphEdgeFeaturesCombineAdapter = new RealGraphEdgeFeaturesCombineAdapter - - override def apply( - query: PipelineQuery, - candidate: TweetCandidate, - existingFeatures: FeatureMap - ): Stitch[FeatureMap] = OffloadFuturePools.offload { - val realGraphQueryFeatures = query.features - .flatMap(_.getOrElse(RealGraphFeatures, None)) - .getOrElse(Map.empty[Long, v1.RealGraphEdgeFeatures]) - - val allRelatedUserIds = getRelatedUserIds(existingFeatures) - val realGraphFeatures = RealGraphViewerAuthorFeatureHydrator.getCombinedRealGraphFeatures( - allRelatedUserIds, - realGraphQueryFeatures - ) - val realGraphFeaturesDataRecord = RealGraphEdgeFeaturesCombineAdapter - .adaptToDataRecords(Some(realGraphFeatures)).asScala.headOption - .getOrElse(new DataRecord) - - FeatureMapBuilder() - .add(RealGraphViewerRelatedUsersDataRecordFeature, realGraphFeaturesDataRecord) - .build() - } - - private def getRelatedUserIds(features: FeatureMap): Seq[Long] = { - (CandidatesUtil.getEngagerUserIds(features) ++ - features.getOrElse(AuthorIdFeature, None) ++ - features.getOrElse(MentionUserIdFeature, Seq.empty) ++ - features.getOrElse(SourceUserIdFeature, None) ++ - features.getOrElse(DirectedAtUserIdFeature, None)).distinct - } -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/RealTimeInteractionGraphEdgeFeatureHydrator.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/RealTimeInteractionGraphEdgeFeatureHydrator.docx new file mode 100644 index 0000000000000000000000000000000000000000..f03ad0fe06ef0bcd5a70b38fd6b6ab4ad669e949 GIT binary patch literal 37530 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 literal 0 HcmV?d00001 diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/RealTimeInteractionGraphEdgeFeatureHydrator.scala b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/RealTimeInteractionGraphEdgeFeatureHydrator.scala deleted file mode 100644 index f690ff0e0..000000000 --- a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/RealTimeInteractionGraphEdgeFeatureHydrator.scala +++ /dev/null @@ -1,61 +0,0 @@ -package com.twitter.home_mixer.product.scored_tweets.feature_hydrator - -import com.twitter.home_mixer.model.HomeFeatures.AuthorIdFeature -import com.twitter.ml.api.DataRecord -import com.twitter.product_mixer.component_library.model.candidate.TweetCandidate -import com.twitter.product_mixer.core.feature.Feature -import com.twitter.product_mixer.core.feature.FeatureWithDefaultOnFailure -import com.twitter.product_mixer.core.feature.datarecord.DataRecordInAFeature -import com.twitter.product_mixer.core.feature.featuremap.FeatureMap -import com.twitter.product_mixer.core.feature.featuremap.FeatureMapBuilder -import com.twitter.product_mixer.core.functional_component.feature_hydrator.BulkCandidateFeatureHydrator -import com.twitter.product_mixer.core.model.common.CandidateWithFeatures -import com.twitter.product_mixer.core.model.common.identifier.FeatureHydratorIdentifier -import com.twitter.product_mixer.core.pipeline.PipelineQuery -import com.twitter.product_mixer.core.util.OffloadFuturePools -import com.twitter.stitch.Stitch -import com.twitter.timelines.prediction.adapters.realtime_interaction_graph.RealTimeInteractionGraphFeaturesAdapter -import com.twitter.timelines.prediction.features.realtime_interaction_graph.RealTimeInteractionGraphEdgeFeatures -import com.twitter.util.Time -import javax.inject.Inject -import javax.inject.Singleton -import scala.collection.JavaConverters._ - -object RealTimeInteractionGraphEdgeFeature - extends DataRecordInAFeature[TweetCandidate] - with FeatureWithDefaultOnFailure[TweetCandidate, DataRecord] { - override def defaultValue: DataRecord = new DataRecord() -} - -@Singleton -class RealTimeInteractionGraphEdgeFeatureHydrator @Inject() () - extends BulkCandidateFeatureHydrator[PipelineQuery, TweetCandidate] { - - override val identifier: FeatureHydratorIdentifier = - FeatureHydratorIdentifier("RealTimeInteractionGraphEdge") - - override val features: Set[Feature[_, _]] = Set(RealTimeInteractionGraphEdgeFeature) - - private val realTimeInteractionGraphFeaturesAdapter = new RealTimeInteractionGraphFeaturesAdapter - - override def apply( - query: PipelineQuery, - candidates: Seq[CandidateWithFeatures[TweetCandidate]] - ): Stitch[Seq[FeatureMap]] = OffloadFuturePools.offload { - val userVertex = - query.features.flatMap(_.getOrElse(RealTimeInteractionGraphUserVertexQueryFeature, None)) - val realTimeInteractionGraphFeaturesMap = - userVertex.map(RealTimeInteractionGraphEdgeFeatures(_, Time.now)) - - candidates.map { candidate => - val feature = candidate.features.getOrElse(AuthorIdFeature, None).flatMap { authorId => - realTimeInteractionGraphFeaturesMap.flatMap(_.get(authorId)) - } - - val dataRecordFeature = - realTimeInteractionGraphFeaturesAdapter.adaptToDataRecords(feature).asScala.head - - FeatureMapBuilder().add(RealTimeInteractionGraphEdgeFeature, dataRecordFeature).build() - } - } -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/RealTimeInteractionGraphUserVertexQueryFeatureHydrator.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator/RealTimeInteractionGraphUserVertexQueryFeatureHydrator.docx new file mode 100644 index 0000000000000000000000000000000000000000..9930c26262c741a91fabd73868d578a1715f14cc GIT binary patch literal 37394 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 t} -import com.twitter.product_mixer.component_library.premarshaller.cursor.UrtCursorSerializer -import com.twitter.product_mixer.core.feature.featuremap.FeatureMapBuilder -import com.twitter.product_mixer.core.functional_component.common.access_policy.AccessPolicy -import com.twitter.product_mixer.core.model.common.identifier.ComponentIdentifier -import com.twitter.product_mixer.core.model.common.identifier.ProductPipelineIdentifier -import com.twitter.product_mixer.core.model.marshalling.request.Product -import com.twitter.product_mixer.core.pipeline.PipelineConfig -import com.twitter.product_mixer.core.pipeline.pipeline_failure.BadRequest -import com.twitter.product_mixer.core.pipeline.pipeline_failure.PipelineFailure -import com.twitter.product_mixer.core.pipeline.product.ProductPipelineConfig -import com.twitter.product_mixer.core.product.ProductParamConfig -import com.twitter.timelines.configapi.Params -import javax.inject.Inject -import javax.inject.Singleton - -@Singleton -class ScoredTweetsProductPipelineConfig @Inject() ( - scoredTweetsRecommendationPipelineConfig: ScoredTweetsRecommendationPipelineConfig, - scoredTweetsParamConfig: ScoredTweetsParamConfig) - extends ProductPipelineConfig[HomeMixerRequest, ScoredTweetsQuery, t.ScoredTweets] { - - override val identifier: ProductPipelineIdentifier = ProductPipelineIdentifier("ScoredTweets") - - override val product: Product = ScoredTweetsProduct - - override val paramConfig: ProductParamConfig = scoredTweetsParamConfig - - override def pipelineQueryTransformer( - request: HomeMixerRequest, - params: Params - ): ScoredTweetsQuery = { - val context = request.productContext match { - case Some(context: ScoredTweetsProductContext) => context - case _ => throw PipelineFailure(BadRequest, "ScoredTweetsProductContext not found") - } - - val featureMap = FeatureMapBuilder() - .add(ServedTweetIdsFeature, context.servedTweetIds.getOrElse(Seq.empty)) - .add(TimelineServiceTweetsFeature, context.backfillTweetIds.getOrElse(Seq.empty)) - .build() - - ScoredTweetsQuery( - params = params, - clientContext = request.clientContext, - pipelineCursor = - request.serializedRequestCursor.flatMap(UrtCursorSerializer.deserializeOrderedCursor), - requestedMaxResults = Some(params(ServerMaxResultsParam)), - debugOptions = request.debugParams.flatMap(_.debugOptions), - features = Some(featureMap), - deviceContext = context.deviceContext, - seenTweetIds = context.seenTweetIds, - qualityFactorStatus = None - ) - } - - override val pipelines: Seq[PipelineConfig] = Seq(scoredTweetsRecommendationPipelineConfig) - - override def pipelineSelector(query: ScoredTweetsQuery): ComponentIdentifier = - scoredTweetsRecommendationPipelineConfig.identifier - - override val debugAccessPolicies: Set[AccessPolicy] = DefaultHomeMixerAccessPolicy -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/ScoredTweetsRecommendationPipelineConfig.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/ScoredTweetsRecommendationPipelineConfig.docx new file mode 100644 index 0000000000000000000000000000000000000000..2d2d4469ae48c0d8d07b2eb8080fc7cf0e10b082 GIT binary patch literal 40024 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 I{`24e0Q~ t} -import com.twitter.inject.annotations.Flag -import com.twitter.product_mixer.component_library.feature_hydrator.query.async.AsyncQueryFeatureHydrator -import com.twitter.product_mixer.component_library.feature_hydrator.query.impressed_tweets.ImpressedTweetsQueryFeatureHydrator -import com.twitter.product_mixer.component_library.feature_hydrator.query.param_gated.ParamGatedQueryFeatureHydrator -import com.twitter.product_mixer.component_library.feature_hydrator.query.social_graph.SGSFollowedUsersQueryFeatureHydrator -import com.twitter.product_mixer.component_library.filter.PredicateFeatureFilter -import com.twitter.product_mixer.component_library.model.candidate.TweetCandidate -import com.twitter.product_mixer.component_library.selector.DropDuplicateCandidates -import com.twitter.product_mixer.component_library.selector.DropFilteredMaxCandidates -import com.twitter.product_mixer.component_library.selector.DropMaxCandidates -import com.twitter.product_mixer.component_library.selector.IdAndClassDuplicationKey -import com.twitter.product_mixer.component_library.selector.InsertAppendResults -import com.twitter.product_mixer.component_library.selector.PickFirstCandidateMerger -import com.twitter.product_mixer.component_library.selector.UpdateSortCandidates -import com.twitter.product_mixer.component_library.selector.sorter.FeatureValueSorter -import com.twitter.product_mixer.core.functional_component.common.AllExceptPipelines -import com.twitter.product_mixer.core.functional_component.common.AllPipelines -import com.twitter.product_mixer.core.functional_component.configapi.StaticParam -import com.twitter.product_mixer.core.functional_component.feature_hydrator.QueryFeatureHydrator -import com.twitter.product_mixer.core.functional_component.filter.Filter -import com.twitter.product_mixer.core.functional_component.marshaller.TransportMarshaller -import com.twitter.product_mixer.core.functional_component.premarshaller.DomainMarshaller -import com.twitter.product_mixer.core.functional_component.selector.Selector -import com.twitter.product_mixer.core.functional_component.side_effect.PipelineResultSideEffect -import com.twitter.product_mixer.core.model.common.identifier.CandidatePipelineIdentifier -import com.twitter.product_mixer.core.model.common.identifier.ComponentIdentifier -import com.twitter.product_mixer.core.model.common.identifier.FilterIdentifier -import com.twitter.product_mixer.core.model.common.identifier.RecommendationPipelineIdentifier -import com.twitter.product_mixer.core.model.common.identifier.ScoringPipelineIdentifier -import com.twitter.product_mixer.core.model.common.presentation.ItemCandidateWithDetails -import com.twitter.product_mixer.core.pipeline.FailOpenPolicy -import com.twitter.product_mixer.core.pipeline.candidate.CandidatePipelineConfig -import com.twitter.product_mixer.core.pipeline.recommendation.RecommendationPipelineConfig -import com.twitter.product_mixer.core.pipeline.scoring.ScoringPipelineConfig -import com.twitter.product_mixer.core.quality_factor.BoundsWithDefault -import com.twitter.product_mixer.core.quality_factor.LinearLatencyQualityFactorConfig -import com.twitter.product_mixer.core.quality_factor.QualityFactorConfig -import com.twitter.util.Duration - -import javax.inject.Inject -import javax.inject.Singleton - -@Singleton -class ScoredTweetsRecommendationPipelineConfig @Inject() ( - scoredTweetsInNetworkCandidatePipelineConfig: ScoredTweetsInNetworkCandidatePipelineConfig, - scoredTweetsUtegCandidatePipelineConfig: ScoredTweetsUtegCandidatePipelineConfig, - scoredTweetsTweetMixerCandidatePipelineConfig: ScoredTweetsTweetMixerCandidatePipelineConfig, - scoredTweetsFrsCandidatePipelineConfig: ScoredTweetsFrsCandidatePipelineConfig, - scoredTweetsListsCandidatePipelineConfig: ScoredTweetsListsCandidatePipelineConfig, - scoredTweetsPopularVideosCandidatePipelineConfig: ScoredTweetsPopularVideosCandidatePipelineConfig, - scoredTweetsBackfillCandidatePipelineConfig: ScoredTweetsBackfillCandidatePipelineConfig, - cachedScoredTweetsCandidatePipelineConfig: CachedScoredTweetsCandidatePipelineConfig, - requestQueryFeatureHydrator: RequestQueryFeatureHydrator[ScoredTweetsQuery], - requestTimeQueryFeatureHydrator: RequestTimeQueryFeatureHydrator, - realTimeInteractionGraphUserVertexQueryFeatureHydrator: RealTimeInteractionGraphUserVertexQueryFeatureHydrator, - userStateQueryFeatureHydrator: UserStateQueryFeatureHydrator, - userEngagementRealTimeAggregatesFeatureHydrator: UserEngagementRealTimeAggregatesFeatureHydrator, - twhinUserEngagementQueryFeatureHydrator: TwhinUserEngagementQueryFeatureHydrator, - twhinUserFollowQueryFeatureHydrator: TwhinUserFollowQueryFeatureHydrator, - cachedScoredTweetsQueryFeatureHydrator: CachedScoredTweetsQueryFeatureHydrator, - sgsFollowedUsersQueryFeatureHydrator: SGSFollowedUsersQueryFeatureHydrator, - scoredTweetsModelScoringPipelineConfig: ScoredTweetsModelScoringPipelineConfig, - impressionBloomFilterQueryFeatureHydrator: ImpressionBloomFilterQueryFeatureHydrator[ - ScoredTweetsQuery - ], - manhattanTweetImpressionsQueryFeatureHydrator: TweetImpressionsQueryFeatureHydrator[ - ScoredTweetsQuery - ], - memcacheTweetImpressionsQueryFeatureHydrator: ImpressedTweetsQueryFeatureHydrator, - listIdsQueryFeatureHydrator: ListIdsQueryFeatureHydrator, - feedbackHistoryQueryFeatureHydrator: FeedbackHistoryQueryFeatureHydrator, - publishClientSentImpressionsEventBusSideEffect: PublishClientSentImpressionsEventBusSideEffect, - publishClientSentImpressionsManhattanSideEffect: PublishClientSentImpressionsManhattanSideEffect, - publishImpressionBloomFilterSideEffect: PublishImpressionBloomFilterSideEffect, - realGraphInNetworkScoresQueryFeatureHydrator: RealGraphInNetworkScoresQueryFeatureHydrator, - realGraphQueryFeatureHydrator: RealGraphQueryFeatureHydrator, - userLanguagesFeatureHydrator: UserLanguagesFeatureHydrator, - partAAggregateQueryFeatureHydrator: PartAAggregateQueryFeatureHydrator, - partBAggregateQueryFeatureHydrator: PartBAggregateQueryFeatureHydrator, - cachedScoredTweetsSideEffect: CachedScoredTweetsSideEffect, - scribeScoredCandidatesSideEffect: ScribeScoredCandidatesSideEffect, - scribeServedCommonFeaturesAndCandidateFeaturesSideEffect: ScribeServedCommonFeaturesAndCandidateFeaturesSideEffect, - updateLastNonPollingTimeSideEffect: UpdateLastNonPollingTimeSideEffect[ - ScoredTweetsQuery, - ScoredTweetsResponse - ], - @Flag(TargetFetchLatency) targetFetchLatency: Duration, - @Flag(TargetScoringLatency) targetScoringLatency: Duration) - extends RecommendationPipelineConfig[ - ScoredTweetsQuery, - TweetCandidate, - ScoredTweetsResponse, - t.ScoredTweetsResponse - ] { - - override val identifier: RecommendationPipelineIdentifier = - RecommendationPipelineIdentifier("ScoredTweets") - - private val SubscriptionReplyFilterId = "SubscriptionReply" - private val MaxBackfillTweets = 50 - - private val scoringStep = RecommendationPipelineConfig.scoringPipelinesStep - - override val fetchQueryFeatures: Seq[QueryFeatureHydrator[ScoredTweetsQuery]] = Seq( - requestQueryFeatureHydrator, - realGraphInNetworkScoresQueryFeatureHydrator, - cachedScoredTweetsQueryFeatureHydrator, - sgsFollowedUsersQueryFeatureHydrator, - ParamGatedQueryFeatureHydrator( - EnableImpressionBloomFilter, - impressionBloomFilterQueryFeatureHydrator - ), - manhattanTweetImpressionsQueryFeatureHydrator, - memcacheTweetImpressionsQueryFeatureHydrator, - listIdsQueryFeatureHydrator, - userStateQueryFeatureHydrator, - AsyncQueryFeatureHydrator(scoringStep, feedbackHistoryQueryFeatureHydrator), - AsyncQueryFeatureHydrator(scoringStep, realGraphQueryFeatureHydrator), - AsyncQueryFeatureHydrator(scoringStep, requestTimeQueryFeatureHydrator), - AsyncQueryFeatureHydrator(scoringStep, userLanguagesFeatureHydrator), - AsyncQueryFeatureHydrator(scoringStep, userEngagementRealTimeAggregatesFeatureHydrator), - AsyncQueryFeatureHydrator(scoringStep, realTimeInteractionGraphUserVertexQueryFeatureHydrator), - AsyncQueryFeatureHydrator(scoringStep, twhinUserFollowQueryFeatureHydrator), - AsyncQueryFeatureHydrator(scoringStep, twhinUserEngagementQueryFeatureHydrator), - AsyncQueryFeatureHydrator(scoringStep, partAAggregateQueryFeatureHydrator), - AsyncQueryFeatureHydrator(scoringStep, partBAggregateQueryFeatureHydrator), - ) - - override val candidatePipelines: Seq[ - CandidatePipelineConfig[ScoredTweetsQuery, _, _, TweetCandidate] - ] = Seq( - cachedScoredTweetsCandidatePipelineConfig, - scoredTweetsInNetworkCandidatePipelineConfig, - scoredTweetsUtegCandidatePipelineConfig, - scoredTweetsTweetMixerCandidatePipelineConfig, - scoredTweetsFrsCandidatePipelineConfig, - scoredTweetsListsCandidatePipelineConfig, - scoredTweetsPopularVideosCandidatePipelineConfig, - scoredTweetsBackfillCandidatePipelineConfig - ) - - override val postCandidatePipelinesSelectors: Seq[Selector[ScoredTweetsQuery]] = Seq( - DropDuplicateCandidates( - pipelineScope = AllPipelines, - duplicationKey = IdAndClassDuplicationKey, - mergeStrategy = PickFirstCandidateMerger - ), - InsertAppendResults(AllPipelines) - ) - - override val globalFilters: Seq[Filter[ScoredTweetsQuery, TweetCandidate]] = Seq( - // sort these to have the "cheaper" filters run first - RejectTweetFromViewerFilter, - RetweetDeduplicationFilter, - PreviouslySeenTweetsFilter, - PreviouslyServedTweetsFilter, - PredicateFeatureFilter.fromPredicate( - FilterIdentifier(SubscriptionReplyFilterId), - shouldKeepCandidate = { features => - features.getOrElse(InReplyToTweetIdFeature, None).isEmpty || - features.getOrElse(ExclusiveConversationAuthorIdFeature, None).isEmpty - } - ), - FeedbackFatigueFilter - ) - - override val candidatePipelineFailOpenPolicies: Map[CandidatePipelineIdentifier, FailOpenPolicy] = - Map( - cachedScoredTweetsCandidatePipelineConfig.identifier -> FailOpenPolicy.Always, - scoredTweetsInNetworkCandidatePipelineConfig.identifier -> FailOpenPolicy.Always, - scoredTweetsUtegCandidatePipelineConfig.identifier -> FailOpenPolicy.Always, - scoredTweetsTweetMixerCandidatePipelineConfig.identifier -> FailOpenPolicy.Always, - scoredTweetsFrsCandidatePipelineConfig.identifier -> FailOpenPolicy.Always, - scoredTweetsListsCandidatePipelineConfig.identifier -> FailOpenPolicy.Always, - scoredTweetsPopularVideosCandidatePipelineConfig.identifier -> FailOpenPolicy.Always, - scoredTweetsBackfillCandidatePipelineConfig.identifier -> FailOpenPolicy.Always - ) - - override val scoringPipelineFailOpenPolicies: Map[ScoringPipelineIdentifier, FailOpenPolicy] = - Map( - ScoredTweetsHeuristicScoringPipelineConfig.identifier -> FailOpenPolicy.Always - ) - - private val candidatePipelineQualityFactorConfig = LinearLatencyQualityFactorConfig( - qualityFactorBounds = BoundsWithDefault(minInclusive = 0.1, maxInclusive = 1.0, default = 0.95), - initialDelay = 60.seconds, - targetLatency = targetFetchLatency, - targetLatencyPercentile = 95.0, - delta = 0.00125 - ) - - private val scoringPipelineQualityFactorConfig = - candidatePipelineQualityFactorConfig.copy(targetLatency = targetScoringLatency) - - override val qualityFactorConfigs: Map[ComponentIdentifier, QualityFactorConfig] = Map( - // candidate pipelines - scoredTweetsInNetworkCandidatePipelineConfig.identifier -> candidatePipelineQualityFactorConfig, - scoredTweetsUtegCandidatePipelineConfig.identifier -> candidatePipelineQualityFactorConfig, - scoredTweetsTweetMixerCandidatePipelineConfig.identifier -> candidatePipelineQualityFactorConfig, - scoredTweetsFrsCandidatePipelineConfig.identifier -> candidatePipelineQualityFactorConfig, - scoredTweetsListsCandidatePipelineConfig.identifier -> candidatePipelineQualityFactorConfig, - scoredTweetsPopularVideosCandidatePipelineConfig.identifier -> candidatePipelineQualityFactorConfig, - scoredTweetsBackfillCandidatePipelineConfig.identifier -> candidatePipelineQualityFactorConfig, - // scoring pipelines - scoredTweetsModelScoringPipelineConfig.identifier -> scoringPipelineQualityFactorConfig, - ) - - override val scoringPipelines: Seq[ScoringPipelineConfig[ScoredTweetsQuery, TweetCandidate]] = - Seq( - // scoring pipeline - run on non-cached candidates only since cached ones are already scored - scoredTweetsModelScoringPipelineConfig, - // re-scoring pipeline - run on all candidates since these are request specific - ScoredTweetsHeuristicScoringPipelineConfig - ) - - override val postScoringFilters = Seq( - ScoredTweetsSocialContextFilter, - OutOfNetworkCompetitorFilter, - OutOfNetworkCompetitorURLFilter, - DuplicateConversationTweetsFilter, - PredicateFeatureFilter.fromPredicate( - FilterIdentifier("IsSupportAccountReply"), - shouldKeepCandidate = { features => - !features.getOrElse(IsSupportAccountReplyFeature, false) - }) - ) - - override val resultSelectors: Seq[Selector[ScoredTweetsQuery]] = Seq( - KeepBestOutOfNetworkCandidatePerAuthorPerSuggestType(AllPipelines), - UpdateSortCandidates(AllPipelines, FeatureValueSorter.descending(ScoreFeature)), - DropFilteredMaxCandidates( - pipelineScope = - AllExceptPipelines(Set(scoredTweetsBackfillCandidatePipelineConfig.identifier)), - filter = { - case ItemCandidateWithDetails(_, _, features) => - features.getOrElse(InNetworkFeature, false) - case _ => false - }, - maxSelectionsParam = MaxInNetworkResultsParam - ), - DropFilteredMaxCandidates( - pipelineScope = AllPipelines, - filter = { - case ItemCandidateWithDetails(_, _, features) => - !features.getOrElse(InNetworkFeature, false) - case _ => false - }, - maxSelectionsParam = MaxOutOfNetworkResultsParam - ), - DropMaxCandidates( - candidatePipeline = scoredTweetsBackfillCandidatePipelineConfig.identifier, - maxSelectionsParam = StaticParam(MaxBackfillTweets) - ), - InsertAppendResults(AllPipelines) - ) - - override val resultSideEffects: Seq[ - PipelineResultSideEffect[ScoredTweetsQuery, ScoredTweetsResponse] - ] = Seq( - cachedScoredTweetsSideEffect, - publishClientSentImpressionsEventBusSideEffect, - publishClientSentImpressionsManhattanSideEffect, - publishImpressionBloomFilterSideEffect, - scribeScoredCandidatesSideEffect, - scribeServedCommonFeaturesAndCandidateFeaturesSideEffect, - updateLastNonPollingTimeSideEffect - ) - - override val domainMarshaller: DomainMarshaller[ - ScoredTweetsQuery, - ScoredTweetsResponse - ] = ScoredTweetsResponseDomainMarshaller - - override val transportMarshaller: TransportMarshaller[ - ScoredTweetsResponse, - t.ScoredTweetsResponse - ] = ScoredTweetsResponseTransportMarshaller -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/candidate_pipeline/BUILD.bazel b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/candidate_pipeline/BUILD.bazel deleted file mode 100644 index c5bb294a1..000000000 --- a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/candidate_pipeline/BUILD.bazel +++ /dev/null @@ -1,37 +0,0 @@ -scala_library( - sources = ["*.scala"], - compiler_option_sets = ["fatal_warnings"], - strict_deps = True, - tags = ["bazel-compatible"], - dependencies = [ - "explore/explore-ranker/thrift/src/main/thrift:thrift-scala", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/functional_component/feature_hydrator", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/functional_component/filter", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/functional_component/gate", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/model", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/model/request", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/candidate_source", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/feature_hydrator", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/filter", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/gate", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/model", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/param", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/query_transformer", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/response_transformer", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/util", - "home-mixer/thrift/src/main/thrift:thrift-scala", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/candidate_source/explore_ranker", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/candidate_source/timeline_ranker", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/candidate_source/tweet_mixer", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/filter", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/gate", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/marshaller/request", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/pipeline/candidate", - "src/thrift/com/twitter/timelineranker:thrift-scala", - "tweet-mixer/thrift/src/main/thrift:thrift-scala", - ], - exports = [ - "src/thrift/com/twitter/timelineranker:thrift-scala", - "tweet-mixer/thrift/src/main/thrift:thrift-scala", - ], -) diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/candidate_pipeline/BUILD.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/candidate_pipeline/BUILD.docx new file mode 100644 index 0000000000000000000000000000000000000000..2ef4b845390e2f37c43765df1cdbc2ba90046c7b GIT binary patch literal 37083 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 ZWiiy&VSqO)Fb9Ehl^{bRC@1!ScmQSOUHbq4 literal 0 HcmV?d00001 diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/candidate_pipeline/CachedScoredTweetsCandidatePipelineConfig.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/candidate_pipeline/CachedScoredTweetsCandidatePipelineConfig.docx new file mode 100644 index 0000000000000000000000000000000000000000..8e3eeb68e26c0042693ab1a47a99f7b809c74b2b GIT binary patch literal 37282 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 hmt} -import com.twitter.product_mixer.component_library.model.candidate.TweetCandidate -import com.twitter.product_mixer.core.functional_component.candidate_source.BaseCandidateSource -import com.twitter.product_mixer.core.functional_component.transformer.CandidateFeatureTransformer -import com.twitter.product_mixer.core.functional_component.transformer.CandidatePipelineQueryTransformer -import com.twitter.product_mixer.core.functional_component.transformer.CandidatePipelineResultsTransformer -import com.twitter.product_mixer.core.model.common.identifier.CandidatePipelineIdentifier -import com.twitter.product_mixer.core.pipeline.candidate.CandidatePipelineConfig -import javax.inject.Inject -import javax.inject.Singleton - -/** - * Candidate Pipeline Config that fetches tweets from Scored Tweets Cache. - */ -@Singleton -class CachedScoredTweetsCandidatePipelineConfig @Inject() ( - cachedScoredTweetsCandidateSource: CachedScoredTweetsCandidateSource) - extends CandidatePipelineConfig[ - ScoredTweetsQuery, - ScoredTweetsQuery, - hmt.ScoredTweet, - TweetCandidate - ] { - - override val identifier: CandidatePipelineIdentifier = Identifier - - override val queryTransformer: CandidatePipelineQueryTransformer[ - ScoredTweetsQuery, - ScoredTweetsQuery - ] = identity - - override val candidateSource: BaseCandidateSource[ScoredTweetsQuery, hmt.ScoredTweet] = - cachedScoredTweetsCandidateSource - - override val featuresFromCandidateSourceTransformers: Seq[ - CandidateFeatureTransformer[hmt.ScoredTweet] - ] = Seq(CachedScoredTweetsResponseFeatureTransformer) - - override val resultTransformer: CandidatePipelineResultsTransformer[ - hmt.ScoredTweet, - TweetCandidate - ] = { sourceResult => TweetCandidate(id = sourceResult.tweetId) } -} - -object CachedScoredTweetsCandidatePipelineConfig { - val Identifier: CandidatePipelineIdentifier = CandidatePipelineIdentifier("CachedScoredTweets") -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/candidate_pipeline/ScoredTweetsBackfillCandidatePipelineConfig.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/candidate_pipeline/ScoredTweetsBackfillCandidatePipelineConfig.docx new file mode 100644 index 0000000000000000000000000000000000000000..d3406c72770c1675ba709093858abbdc9f44c432 GIT binary patch literal 37794 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 sE%dmhSrG}mz&v - query.features.map(_.getOrElse(TimelineServiceTweetsFeature, Seq.empty)).toSeq.flatten - } - ) - - override val featuresFromCandidateSourceTransformers: Seq[ - CandidateFeatureTransformer[Long] - ] = Seq(ScoredTweetsBackfillResponseFeatureTransformer) - - override val resultTransformer: CandidatePipelineResultsTransformer[Long, TweetCandidate] = { - sourceResult => TweetCandidate(id = sourceResult) - } - - override val preFilterFeatureHydrationPhase1: Seq[ - BaseCandidateFeatureHydrator[ScoredTweetsQuery, TweetCandidate, _] - ] = Seq(tweetypieStaticEntitiesHydrator) - - override val filters: Seq[Filter[ScoredTweetsQuery, TweetCandidate]] = Seq( - ReplyFilter, - PredicateFeatureFilter.fromPredicate( - FilterIdentifier(HasAuthorFilterId), - shouldKeepCandidate = _.getOrElse(AuthorIdFeature, None).isDefined - ) - ) -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/candidate_pipeline/ScoredTweetsFrsCandidatePipelineConfig.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/scored_tweets/candidate_pipeline/ScoredTweetsFrsCandidatePipelineConfig.docx new file mode 100644 index 0000000000000000000000000000000000000000..c11725a1f00817508d805255c7a30097784103dc GIT binary patch literal 37638 zcmagFWmp{9wm*z(a1HM6?hb+A?h-U;<4)tj-GaNjLvVKp!QFxfcmH>0=A1Kg?!E8( zrFhtTt)Hw_U3*t`wUR6(6ebuL7#!IBS8lCJmBP3ra4@h@7%(sl(5S9Bz|Pss&e>4S z!`{qEpUK_UrZGugaYY36%h?N7GP4kgmpBSm*|t56JwqIxM0NTNkM<(-i5$ek-8f&E z`m|CA3{zZ2>YWeKN}XV*cN3MaxWtLReuic~8Dz0{{#qW>sX6zqWE`o?g7gmI>;Ozn zONRIRDK2o9oti#AL-gP?u^gR%B&`RqXzI!s4RqqcU^o@QQRvX>{Aupoc5-_)m7`(m z9s19^qe`wX!tNGjjl$rTJ#ZpL4vTLI1g3 zM>|^0$MPsp8qf1i9695-JAjtDo>V^(CXKBruY`h6yM&=2jlW30*Zl?Z)7~fOW!(FB z{#AF<&mBd(E-L|fCUOkPw7M@zgav3_ai5;N9ubSn-%AMfJTDZl?Fx_Hk>x#M${TRI(!Xpzf_hfPo=`{u(-(**GyX{XSO4Pke-AMfE!qk{qTiwrf(CC|EL(IFK(8 z>i#-@T4V>5E?VyFP?pfw!tNp3Kie@epHI)nU!*Ux3Dh*!o(srb=+WAsy=Z7NT!l-9 zZ}%s4SKAKKwn>Y)Ax9Q5qq^fV*B}w1U&k2GrL8}m7OfJKFr>4UMlJ~|O+dRwbf(dC z@nM_+zyPG=nmEIYD_eisxP{*fH#tii`H39G+M}taDwwk3@Dw1+IAC0h%j{1@m&LYb zV1IjTQ~Io1e!+AQD6Xh#;7)N3GtrLT&tuUbP(0nT^I?yXf_y^LbJE;pJy6-#ev0T9 zOKr-TPGiiX58TMKF4x&V3l#bVQPmQ3noolYga#^*DZoU@5n%7cYyxmJ`+bsU#*ZoV zv7k!cc}vd9YlK~)!b!@|fggo`l*aU5Y`x{+l(!kn;+ojlDX`Vap?4+P;2*lO7h2

    ajKD9z}K$#QMw@DN6A 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 - val focalTweetId = candidate.features.getOrElse(ConversationModuleFocalTweetIdFeature, None) - if (focalTweetId.contains(candidate.candidate.id)) { - Some(candidate.candidate.id -> candidate.features) - } else None - }.toMap - - val updatedFeatureMap = candidates.map { candidate => - val focalTweetId = candidate.features.getOrElse(ConversationModuleFocalTweetIdFeature, None) - val conversationId = candidate.features.getOrElse(ConversationModuleIdFeature, None) - - // Check if the candidate is a root tweet and ensure its focal tweet's features are available - if (conversationId.contains(candidate.candidate.id) - && focalTweetId.exists(focalTweetIdToFeatureMap.contains)) { - val featureMap = focalTweetIdToFeatureMap.get(focalTweetId.get).get - FeatureMapBuilder() - .add(FocalTweetAuthorIdFeature, featureMap.getOrElse(AuthorIdFeature, None)) - .add(FocalTweetInNetworkFeature, Some(featureMap.getOrElse(InNetworkFeature, true))) - .add( - FocalTweetRealNamesFeature, - Some(featureMap.getOrElse(RealNamesFeature, Map.empty[Long, String]))) - .add( - FocalTweetScreenNamesFeature, - Some(featureMap.getOrElse(ScreenNamesFeature, Map.empty[Long, String]))) - .build() - } else DefaultFeatureMap - } - - Stitch.value(updatedFeatureMap) - } -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/feature_hydrator/TimelineServiceTweetsQueryFeatureHydrator.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/feature_hydrator/TimelineServiceTweetsQueryFeatureHydrator.docx new file mode 100644 index 0000000000000000000000000000000000000000..dd555e84e47b96389579ad497242b2c88cefc5a2 GIT binary patch literal 37533 zcmagEWmsIvwm*z(a1HM6?hb+A?h@P^2@Z`1_W;4&-QC?oaCZp=cmH>0=A1Kg?!E8( zW%tunwSKbJ?yB0mOGy?I3KI+r3=Zt(8@E=4NX*&s8v@SVE@_7{Zu6FG>7yK%lS z^=YLL7^b-Nlsg}ym0H10??x(JafuUs{dCPdGRPwDytQ1WQ*-V;$v9G(1?e5a*#Vg9 z=5+7(Q(WLIJJo%BhUmd(V%a(YiCPa}(bN?&8tBA>!Eh>qqtKyMdDGlE?c@$>Do4ZA zJM@-&qe`wXR2msJX$Ya3$%2k)K$Y=Wq&XAU7VHQ(&{vyWFa=q=lI zw4>F0td0Vu@jUOuk<*X618Ax1NcF$Mq_VZgRCov7_1)dk7Q|2pJuHSA+|AC&+l{OH z4WoSFR2QyMX%me}8e!+k(ivfL+3c>^$| ze^k+fN>=0^RK0ZwFfc^Wr=gRXtur&z?`uW;#79V0RKGJJ$zjSO`$lz%{3Qd4L-~B6 z?r-C#h4w({!sX5mWeI&P>>i?nvmF!j`LsOzMfyV9Kuu%qxqzI79<2@9i~2UhRk$Sh zc7IZLwe28n+ti2~a%2%Rsyi-o4H6;xb&LUB+Pc$e(MmB1LpnQY-`1hi|!&or7Y zK8!N}7=V;qBWHL~Ma!WJ>G*E&}0VYaL00(Dg6M&Q1@0&a$eoUc{ z1y%CSTXI%jBkT$lPEv*r{3!gRG^YPz%Pj||yzN*f*Tlw7zMW1sy(`fM|In3#&>D9` z6QoISd@ylH+?l^=IHESz>xwb<>Qkm99dAWqQ14my?NSQQN zeYyEiKJxxrPLA0xlcX8VDup?RVybBJOJ6iZ;%QpRkx2G1X@C0r6NM#^$Je2iG!+to zrK1(+fQKdZf0COtfSOq>gAa7tvW0TRtJG24K3vyj#an4aTKQbv`e<^=>I)>)K??fy zVZcabKi!O`8itMF#PtFC9SS(Rh;oXGTeAk+X84J-ljFveE2MteyQYwL$Vu;Wrca8? zMFMi*R&`z10sRFvL$kBntBlT+e!`zko7t-|UK+=EsFObd)7Ns4huj1$Lf|vL-d$f< zv8H{M!7LI@hmvWP{=v{Wk$YI@`}X1W{UQPVJ@*9^?vVwu0qu;N`0I1;CH_C_a=o&G za}27BEfg3S>fh_~$-&`|vZ#&OudtxDKhZID0*1=hke(LiwvdDV9S7DoigZKAmGZD#O zt~K}l=ZQ)Ui|gN%Sro&|AYZC1%RGvw1UWzK+#G2qB_bh9L40~)hZ^%Jv!YoFmBNuH z!Dlt5MC(t0o@=x$E&o-=*yh{168>0Z z*;{0&M}D!zXKV?&WpP*?!q|ky6b#>*QNYzNZk~4u6_=1&;Nh3MPx~3w7+*!K2$ovW zD10WTg(Pdns>?oZGnJDHRt{2ABoRIt6XVmH(4J}@9EdOI=qu<(VP$dRp}A6S1p`~a z_W;z;Uu^_&l|H!YY!lyE;=Q0UUD&Z6Y(BUMA|AQH@Bo|Z;E9q?;B8+*P1zxw+4L6t7X;0EZ$dm%=&3onlaflzWyrM<}?r;@T@J4%uZ zAII~_e={Bh3)%h0ZXYS4rE{<3;;;H;#+gwll;W@5r;+(4WEt^#y-j&ZvDwzHIu!@! zlRr`i??TKAybAIUgma1W+^k-(7n zM>VEHI}YeHH9gCK(O4|#3*vz9&taU1} zqfgVUPkI#Hx8xfFnE(q)o50bk@|VbhV!N;hwgmtkx^1zkh;hL4#)l)6{MR+|GiFmc zA{N;$rQs`|t7=IfutYgIEJa`SrE^b3I0S3(I3=C|iI4ScIaLU_hc2YXP5!HbM&EA= zsB=OComemi&5LKmr5U#`lE8^{cL^(*>ILcxA#Akz15m4Tt!Sp{%vKqo7@&}GbN0e_ z*&lBs%3ann@4q2{zX$8F<`{z_(n&*z1*rGiJhV=J>~e6OZPpJ<@-XzY6q%E6X-Zo$ z`TX?2e(6%wR^lyO-(eOI6-L+SDnq0p7Gl?vbJOj&@DcteDwZU!%UMI7rzK*So!_e* zURMfMl8!IG=ha(tK+>hyGh{RjyTRcAd8tsSTTT8cgyl2S$n5oZx#C5QM3u;KVbgsw zWY?mjT1#NJx&4fDx!{Y%xF})Oq``%Bf z+KnEw!Dx7+iuwTXKgJ@CNW#WGLl-%%thy7lOc;%W0Vq4~rBjJZ3Sbg9c9Kl^R$su(VhAR^NumcEdVm~ak5 zzJQ;R6X=iY-3=f#U@|sLGrP|8riq_rphL11FYlR@I*qOV9o?9nV}0q$xoluBwCgqeEcf^ zj8M};*a|Jf`{KSg`l}8@fLUwH>zeaW<{3Wk+QkNe4NcmE#k&%G^6JQ} zIb)Y+pZWFuJC0?{iJ>ngsR*&Uin_+f()e2b-b`#I+C9yT1U0jlmn`3Q+cTgcadg_t z=^A%m7gA@7?wQ6@(ZuOh8vyu%>&^eLf9kGtnwhlnV*hfQCcH2NczuX@dw5zni!Ksw zI^NO0e^|R{OP*_cI+*!+(-so4bL8<-EAVRf*18_d3|uBQNGdv?>N^NY-rE{mIc_R@ z89TnL_gJ;%E)pg#@9FMP{K6X=S^IWvRj1?iG`BM5=@u^h=AZ@WL%VC+x!S*Re}7Uo zY-xBGQnb(qY!D*qvj8q-4tZ(YyDohCqVOp@dE%&A_*6LK6BEK6)=)^`y&?0; z6G)WXhVS|b%Gl7!HXHgj=$>^8Pz zUH5?d5ee3PDafQF>m)ku={)h~(mj=sd+a&_=)~yx!s|(Xl~A@r>*CSrvAilQAr|8s z%>3H9+S%4rK9)GZ>TB1w>eH#Gd)E1KBmQWvl1$X+xUt5JvH|=iN$f41c|!WuU-i&s z+*36+N0n6f{8=Xih?Yu;_qh$e<9r>jEm;`o5uw)R&3}SHS``+1U5x@=5ORvnHx*Kc z5>izu{8DY`qb=;i6U^M+7GoBSPm4v&^~r^dET*7 zQor7>?7MOwAo7-647|045>VY5%Xkg-tei!G|{#;eokIE*mHC)$IdT)j6pkZd0O~%rABMrpJH(z_|~ppIY0GuGV|zg z=lC)tb9*Ixawe3nEY+YtH+$ZHFS2 zrSCcMf?`@za)dS1_fQ-9@aj@Y9uc%Sa0#MM`D~rtFKyiy#uSz_t zk;Z(KR+cVCSNY0b7R0cJNlz-vxbP7!UZJ(C+;@Y3`CenReF$^Dyqz^I4_w*yBCF}8 z1n-+pIK%7HnpFpXv%<1WKr$0|`gcqlCO5h6ZgF zvDoF$w4`tr>zLh!a94$Xm_Z(@A_&Xvv?Pdj>*X1F(r_x|^ymQ&@lAdt>AU*;F>$E* zneAo4o0I@>ZJrTb5mbdsY}BBHcIaV7u}kdOfY^5E{OsSImY`1Te|17_Q2@Y2{~BM} zfJey$#q5DN+$*yV@h|KXj(AWg31}ScAE7!Rv|teKKSKYcf-0dtvnF-_FM=~=a!?Dx zA1adCp-prChs6It#d=;=Vh1FHM*UrwD?Uh%3M$AeX8kTB2_oZvNn|8}qxL|A`$P3? zf?ES>`|nZzZpwESub*^n>%=g~{WZ3@ zxzW9I!?y)PchSz7KtgMF-?43JXw3GNAySY@H|hCoVD0I~rA6Oteba(!fe5lkZTLwB4~&{6WjF{%}Cmwtr;|YKg56jX>|!gA>D% z=-_ zQG_$r=PMUqZ@07N1PYXbb?4CP`5Q*n6+(*9)=1681nf5JTJnjO*PgYwLFHRIwLYiB z)%Bwj_vNns=%l;suRkuSc)C8jsaj4Vk6?!$m)5&OLJiTWV{erh&Zh;uy!M|LDjtln zt$!v8YnK^KQ~5ZSw)q@i$_-5`K7S@J!$-_kH{)R=nkaiR@0%`xu1QfiyJTAHv2AKN zf4q<-_J9JKKjGwky@wx1b{=P5QLVdE`qv#@((dh^npAh0gr7S*5I*wD4GeDY`O0!( ze_(dv#+RUG)ac#c55(SR0?7=B~UI zH?rRvANBKNV@{>1OJ5>pM*kLHSl~~JXupJ2>9j^6lj9@yv@740^K7(*K&fv;97kVZ zc^}=C24xwBkS8~!;5Ks{{WiIo765v3U5;&A+~hvbg%k@MXObqBI8m$}ma9n2PEqG% z7N{@#9fz1l+xz0g+{z#Fc)uXZH#2ece9n>K*0U^+L8Nu41P^pZLiM&9y(yqAWR`E+ zlEv`xhG!-G#H&-7Kl_r_Qsw#6vyF0}|i~s~VgBCLX5oBa$uY`^BSFfBdo} z+0+>(&Y~z&g*LbSAhBOpN15${lbWp6E&?j=tBH`ooTrYTf5!GeU+Cr)PK~G(bdeEw zyJhC*0<=vUvJ$CsN5}4ic_)cN$DQKJ^@Gedl2%Oj=U@^nR;_uEsRII-a`~H@6S~zY zo6vRo^^rAkTI7)zxLNs>Vi;DRot!xe*~_Ss)FjS*w5IBfQwNs9j+UD^0qe(zxId5B zw5$dLviD*Y)8A^Au)Ew94Q9zji@lH49g?<+{Wu9==27)VX;Kl{GlZ`lY&FGrVb59Ql0H&M+LQfJE$<^aI8r*ucPzX_%`lCh#C|Rd#pxmLSh93dQi_vSLzLsKt{vs?n{jN< z-XE*%j7zpaP&=icE6+f@wLnPc4W%vmO#7AB8Dd`+3m~JIcI#o*cja`)%U5_Lq^%pn zA0;)VHC`cuc#D^{*0^fKM-%)mO2CUXp?}ICL*mHmcFX9;_r9r(#ud($v$ObxRQ0|@ zgfDORuaENtIOVb^=`1{5i|!oN>Yq6C5ERrXN-g<#7E7y-H3k$f?$T}LDXM;EhbXgq zZb}S240z`CrMBMAVkiZ#MAGq0#}((!AEIguG~25)^j>haH5pH{&JWzonY;8ru1FfG zk9m7~SSyt48Q2Tx^v|lurchO2E3E3x{rJ2aT0;57sP;g}|$TVyb%zRrJ-WQXhkN#M}BUZazjHprWYm=0JvZ}Ju zBHifRX4F>5y(FXKq-QEsNgo8Y{_{U z+RM6mD?&aNd&J|;qpULiSSh|=ON+yJS<&TSv!a~5d1wC!R~r{02K1nfGK^XayW41c z_IZ)Lk(n}ik1VpMk^ziTo*wa0Yau%S0k*9(``J>(=I}iQI-Zn_tcq(3sn;Zf)DkIU zW%;AgLPJrv=$dNx`l5|I?#)sO;oV`>9dG7aDYBg)u6d7nfqgDtia9}TFMobOm$HjF zHXC4J6)OI$rabk-mtpm`5u-ftGYBnoJ9d0BH@(1?ho0OLEic<}5A1r<+dU`pm{NmD>jwM*-5@kil+rmDz zCPy>QX~V|h*Jt3!$i0v(o}Nkr&FLL zGbF0|hp<@GPyU9d_Uc9)UMPTr{CA9-D!t=5729 zN*GR77W=}-2ZxvMMH5@@2vJ^Bp9c_sPTu~2xTh@R_`15d1g$ZWs9up7n+f5XW@mRA zC;OnO+@hD+_NsgOC@w{eg2O17k2J!1>?)&ilBvF9gmiY)*$b0P6u>cS^6fUHs{-X9 zF#>Df0uRx!D#s_Q3ggte&4B3goa*^%#vC7`s~PL7{UA=W>`sR&y#HjQizx@vV}henE@%X)Dm};C8M!v6976 z46?%$xR%>X2Afa3mhoBaPmya%SoxvrTDqIKhfy6E3eMMDF18DoW1|rxw+_elj+$P;jn~T>OPSGPl--)A*$UnA7++MM97rHQc{! zqSpscXKQhOL7BS2cgP=HJy?!t;VGty)vIl<06DwKNWg_qq0nUuzTHVn48S*e0kQ7KHH0`!b}f}ed2RlV z2VP*~;u4?k%Go^YcZ%|-@eekKq={E|h$W45_TU%peOx|&P*>r9y0L>%S>6o6i{wCl zcA}sR^}S35>Q#1n3;o*Yl^e;XO!-Wk-t5FB4@gXw-!k_rEqYnmnV8c@aF+gdhnqef znG;Mevn5%pJ;Mblx)`2Gd%+tqilhoRQ+g}-z0C??_@D$!7N^E;vUEuU!bhqJ^IQyE zktTT`RZy?gpkB67yfy>jXzwOfCeOe*I#{y1#q@io@X$J>bSZA-{FBoVjZPET-WwLATK?wUuGm{)9S1nT_m%VnW5X2x-pIl zcqLGhOL1=EPhxG00z5rBqJ9+PtS^QtRayI@cckI_w`b~5xuD(bm#5l2Ok2##f-_^D z2YFf{PxloZNp_g>Q>>I^8yF}Sa~uV82a(N|EiXu(6)IJ`2+mrU1{QN$%-NQG70NR} zaL@6ho|SbDC1O&)YBi`Oj6P9QVy;Toz`NrZ$%3V)auVXZS zjP#`442H;5VxA!NY*y2k6Ep6-c0&HZde!aCT~#^tML4J|%V~kykDr$;xk^^b_Z0SLgcC`C4k9 zT60MC=+gVDUIw!y)OaHDFlUlSs+8+)<0b4v zUaaa~^Q>yEU7F0SCQjht9iM$GhW(=sJK^LAxm>pW@?(l5a9&xU@>EfT-}&v8 z8Wh7~`tlS)Bmx}-LJa-;f?1}la3ZP?+)Z%BvhHQ-f=9n36eLCXy!?Af`GpU4B=X2e zpbZmxM5rSzK~w>e#O{qlrPg!j{yI_KQgkThcT=l`1z-d+U5-L#q zhwW4Nf3fkp{C~3147>YtUr;Z^)g4$CRaxsmQEXTy9$EczzQFSZ>_hMk6egjj>x@taqr4Oz%(6luiOEA9$x7G>m&0Rep`^%VltxMBppd4CqR1t$pm$|7 zSvI{AR67AsPEsU@jD%31@!#eU2pi-jyQ6Ug$D{1+(Ug+UHOf5Uf~m2P?k8NC#RXs{&P-O^BE*h?5$f_zZm)D;IyXDxOnkGa+z`D^ zYjVA{JaV%=r-Ga z(*AOUsJwn7kYq6Z8oSVFhCdMubB1lH*^UFiT1@=wV5RO-T4M9?HxK)b@PwcAxsmgh z!tQixzisy%3t&SE12eSbNb#8hF1*LB>TPo5Nl|ID6DGl&NIqnN_jgA-Bx6f36w)(% zA*;(6F0YDB;ayxc|IsLwaH)(kf;N+2%!Kv)$|P(6vvzCM zfPpGq!Jlgx6Cw^GMU2D=OchSzUFg6tA{q7!7PffYl7i_xG=vi@yIIVyBlZZ=58U0; zVFQO=+a{_EQdR7*4W_IEd1vknFhDS(nr~uU=`aaP>8dl1-wRPgF~9pKfbqs+(106@ zFi07o)_kk1#tk2LC97jXjpf%S^V*mGn?~}oR2}8Qg&djRzLx}l`|b(Rl5_MqF=ag` zaOEQS)3@XZ2oiK*t@dI45fD1?Ie0+Hv=Jkv;Ur?Dad47L{_Jlm_oaTTR3)wlsqBOO ztr7~n=9}?Q%TI5XeN%B9I|P4eaF-{@VgLF!$WVVm6B5QyEjdlCcarA(aoRX=!#B6% zu0ALKL0sWzFM%r5T(PdulH02U-kSr9y7Gg)bf))i{X+-~GBdktm5sE!$$xy`OvU`V zO2I99z=qUNH_;|D$f|Ny3NP%sc->OWm)41^=003rQrt;b?o1^fJ>O_MP%o>AN$;YU z08Blnng+;dNOz%we|Ncl{~0-V<>ho9O;3gIqLBSuOu^BxD%@mZ6Y6A{DmfRan(+o^ zv7al<4t?d9&c}FdTQdU;2)h4fjmXPR?YqNIYZmh zCVFa6V*-!Gf=Yb9sh!c7<#swKX!6e>p8pw?II+igvwzvo8|I9D@SEyeIg;(Ud^*P1 zeLrs$`+LuJ^n-HAhTr|J_@<}_vx;}4>2;ShV6rbXVB6_`v@=r5$j!qvnov)MnR#!g z52m~mGzfE^&(-U>n>Wj3kp;Sg8=bbxeJ_@g~3-js_qWkDc|hdSvZ%o)#u z?b@AkQai%>4<%f~B$Fjsr-{54d#w0LkF5CrQJ6!xPv|0&jxq74Lf8MP@G|`>WFl^( zoXb-=NA#rlz0-(Ou^#MYf6foa;hD<(_w0KfY6Idu$UUX=YOvb2#?Ru_8yV4Y8-%}C z=);GNwJwIYHsSWHU}anxy%1C@*HwlY=EsqS!<&P{sBy*0=%U%ZhkdKONOPN7W|pF& zB?C@R0+`9qziLkVdSy;qC8Ky@Yi|rd6Z-@s%rpS`OXeAiPeo(h{&KT2$$qi*SKmRR zBmGPGpv{0-y`r_<9F+>!Pd)m)4B%*e{-LqKZAg;Kkr_gLXplG2Ffsxwh~8P+bF)Za zv)4=U7`ARzCVSD{$;|>No2w}nB3Usaum$?*LnyV3c^J@Y9hyGLq}9w=Xc=d(PaA=@ z;&p;vs#dqwPt{O28goYQO>5@ZN!?y{=nOr9df05t141>s3VgDd+V&%YyVERAEr;TJbAEJ{tR-OJL?=_NnP|>_c&}>r1{L%aQ z2kfD0OB{2Dp}|Ine~aLKJ$oxc2H{)l;poTQoBM_BZykkDMfpz*TFBu)qX0Eu2YnW^ zMd_A#HD>aBO4nz=bd*mTieoF z@YJTv1Pbo@y3H+GltX_0c~HEF&nne)6+?a|v=DxAQf-1;VJ5$*G`h8Yi=*O2NIrF@ z{t-)p14&|L)XPl!sG~Nt(8aG1o}(=;>uLEY8xlhB<&@GKRX%~U>*9NfLMqk!JBb;N zTq}r1cJ-^M8IGSNrFl#MK6#rCK*lLYg)20gJmhr!<+^{8=b1>Z6=AjKbL1!ah zxW9;Emlr*r#Ej_#K;Uy}LZQr{;50{+Wvbta+?@9ghrDO$QSlhQ!p!p7P6@AknW3n} zj0i_Xdva;Px@@AQ4y4>X-jzQdakc$&AX80Q5$=Hf&{Yd+Fo=ym^(H5%O9xu^v+zOG`(ZDP)d*zsYj|cl6fu zs{G@I;U}jDccArmWnKvJ9_?w=8QpPST{uWM1g}L?)E5NL#pZ!PH&g&79CT@_P!_4b z=Zr-!Ot2sEltmzPQ!oWKA86OH2^mTNCgv9k{t2p?MCL0Ab1^lKXvK|bNF2nt2^>93 zhb>noY-V$ELm0LaKplzMp)JPz0;2tiW-Hj3xz0#{*qLiYcf1E(Z9V1MCY6rW*?M0MhPJ_K7wP>Ii`;WLN(cj{5gU-b+Y=%dSH+g?m6SMXa z)dRsvpnqRrYe5&7Mj$wYwChVieRk(2biv68;UFSQ3~76}0Vd0(l+cqdb5e3cD-irj zW9}TnEyNR>x!bK6!+_@0Eo~CkL}9TFl)RHtQ1VXTV2Ax}o1y-hJi9EtzmiwoVcYp_ zVljc`FNFwwhD%)5d?%hJ4OX z{q5bss!yZH7it!oVnM~5>R6z_TwX8Ud1y5Kier)WYNkU6cH?AI&ux1*!Xn~j=o#7u zd1p}+TIgBM;y~IH`D8fR8m{4!9p@}>7Trhi7)00D#|C@8tFn7B#STY!)-Gh0t^p$s z2OczQ(Uh$2>})BzxjwPSLbVtKn*=hxN?XmZrH)>`&pMU?KOn9UsX7n5dKG2Hr@$O! z$EzZwNcKZaaK_TSoG%AYl8brXd@kADV6*mlUvpjVy9$6xdb|p9 z9Khy~F>5~~7sRKu4@zFp1N=KgBOpXxz_+aP=J@d{r`1fBE^IuE#-3*eVYo#sg?Ux< zD|WC|^sD1sw9tnwmaaIQdt0L^xnoAQuG_SvQg&hWuMk8yzesNWq{5z80U&~s069LD zGKGzpOqfGXbA^G6SwB_fsWmLrb)@|1=~-eZaqU2p)86o#;T5C#%F@9BjOtbq#l8ht zGv)q*BsuDpcufTN)k`C^fJDlgCm8om|MXzOS zE#ZRE@!uz9n+_()tB{%81t~N*@bpr_e&O0Xm!8!LhwAT-Z6Xji&J4jrGYjySLIdxC%$91Z8ef?H9Ytqp}P6gaSMHhIPh- zTh(gF(T+8A*QNNf?Tz?y@#Y8G00bZ*^L>L8W-62W#&dR20C8`ACcgs>KBU_D%)*m= z%BAPdv)Va(!)8b(KH3r{98~QK@cLd7VLm1O6j8Agcsg_)oz-zXhNF7F>yc?BdG$ zpmA*5=>;vUMyyGHpGZ7nTSh!0_ZP5xPgP=I%)fw@T0fgc<4g>KVLe~p096ay*Lj4o zp5++ta}Gp&I{XlT#e;<)qM4Xdd@EN|!G8cp^&{3;T3ze5I}8o&>e3A_5P2l?<7)L9S~`HZ6{>^H%!+yHVb* zYu^S4i#HcUH;z0(eum}{fR$Q3Qw0IUAZhZTl$f-y8}%@sdxu;h!5lX`)7}5Xx>h?E z|27+VG3&DUJX8>nHTbV${;#=l&3iB&)TSBTMh4|K8{pEh392X?v@pQq{t|Q)hEDAv z7w2?a(=WK=B0HtmfDNC1Y8Po9hF@#*eZMd-tPn9(-Q2tD29&9>B2KtmQyPHar|x-*O3?<6A-#11tD~?{NOde*paWPr z_}-VJ>1la&h+?HKb$HR$k-KAYq03J1CLp|Bz$R1=>*O#cssc%S1j(w?uWmDDHWJ)* zn0HNU$}DDpD>9OGF+UEYm{*aD!mmq+EYW3h&^!hLwXI-7Jwxgk1ZNloI6^(qn>;-i zOudc^wFG1PP+&b5*psRbpf~>gNMa7F?q1ih(cA^&2HlQ&W^~;b+y3#;Jjggj!wuKtxN|a1%(MQL%?o_UF|h<} zD54@B(ScxZ4uyY`vV;R9Zm~5v~&M*jg3M;f#%#b;#n{{P^ z9!DN5Qt9D52gb8VzUW7*dB*woNY7(Py`zMlJ!7dVM(#mK++;`lz@LqFIjy+ z?Zy~ya0-D;=g%SN5R^5SJdarI$|Cw!P0JdaKb%9@_=$i}ASM z;NLMU#Idm#L%?F-Vt4mKNl_9NvZGu<&>NirD5<36%JbyLb$B9J+f-p4S=E`6RPF6Q zHtSU;M{yb%ZJY3ELq^3-P)7taJ5`-H*Dkpexp$sdpwlNxV>9%hoJFg8M*2(( zW21O1EH!Ky<^F@C&(q#)761-Y`B1xBHs)_p7QZAH%XKL=sHR54U+g@}->vT_X}xEo zAG@g>l@me!nz;8kV-C}xU4mn$1xAm7o2ZpCS#FDY$>!R@xS~|;TrNlA8kXqtH8JY> zV%R(jW!N@Prd*D!WB+Sf8ah+*v6&eX?l-Lzg?SMZv&`ca=Q!lHle*gA0}u8KT}BJD zqj!ai=--BnHZ%OgdPvxD!JnC?jG(fyf_jF@xIiv@4#$mt?*bZ1e#M7Ovf^q>DZVS@ ze>bST=$yR3NeHWQliaiWFDe!g6>j8jDwc==#I%1~Qq6 zSp4EwTJPIMIcnHUHIj}WlT!TjXz0gWTqoc085bDTeqt?I^Rm*wS)BN@w~ZYJ#F&r>eKip2 ztiX4y5tbNMU3(}&C4?1W82qDZY|=j0FheN2=Gxt|ffnfcEg*Ii0NxePIp;oG(Am})43AE6`Z1I}|+q40aN33x*uGbzeHpFke z#MAfQg@TK^;MN>{eZp>7%-%(<}dwqe7L7Z7jC%0xu%>vlr<}d&)DS z0hYOl1;zN%k}1{)ZiEZrxOE! z28Cj!A4iNxSeriUaCFy@bQ~LPWdJ48NL*jCnzK6B;@GyFcWN}Y@>InlN}@Q$n~$B` z=#%PpV$i(H1D5HdaD1oo<1!jveXNw_b;6K7( zLD<-$EEaub(Hvet#&Y6T>kJFbh7g6;&kn$fbJ^0HJJJbGIfHGyub79&`skWflmp>? z%qtpfAQFt-h;fHRw>a6KR&!i9j!pe<6^JN*stE4BB2*|-)~K|0sR%ewNa>{ogFZF=+_;+{4bTe0M{?L7#| zDeB5D(vb7K{n-((Stz!NJ?hM5FV(}VV#_FEs=!0d?{8oonBTj>wxh&yL~hK75A~1I zNa68Oxr#CHi|uf%Q3%ID)6+* zV2cy`2ZBHuXl`+2w#A?Yz4s$ip;>}YkwQ4nhz-Joqn!=M{CbPf5Q2Fmte_*D|A!Au zDSvjtI=4I)FFo8SOgwk3c5+A?VM6_>z*Vd`u@R|Z4i!H@5JkR-bdExPcB6W+ASe#4 z=#lhK2SzB=lV4vNaGlx1r=>xe7|<Cr=Mp4MzitnMq)zBV#_3=n#Vj zV>=fqxA#J2WwZLJmGMU(>6$>N_(ih((1&BBhl5Ul-)KeN$F{IL4BW`xKJ?acP-}a~WPSf5V&fXqh zkKNi{vZlt?^e>-oPTQ)gP|nV>Zb3);*E?1O1sDyn+qyc+i5k<^_GexJC~3)VX^L4I zC}VDh+$%$FlSVu|&s_^A`=44?C;tafgr zxvIuooGxd~pK2GWeeH#*yB2{SUN2l$S1vV%K6-*xx4wmT56R|0U*ESzeP1{0os}`4 z{H_P47XLG#uZNIfdr9l9dtT8S@0;(0do=BXk6DtkwsP29NpurX$Lds4ua zH?{V;PvUW^?Ez5Zc%=)#4X9d}*RZa5X?}IGqSuCzSmujTzMXcp=Dympx=5AFP7XN( zKDV#i;t*#g@PG7tW|G`}@qJrZ)2|f}v?uD_D;ik20wxpj60E$|3KH@Y@evEWxjgf) zm*2IuRc$c3qLj^5jl57+bd{rv3y;sY&G|T)w=AAmw9S!uvGEbgP6-#_u=zezuUH_% zmJQ9lw58vy8IGuTF=uXU@J~*ZJXBuqUKzhUcssSc-fj@r-lgzfv$8(C0&8Aw`+hC= z-kq_nIXsdtD2MrLYHW01Kic25x@!^In_gIT$;~&K-m8{Pm0@yBE(*V0R5g7b#|Avf zzcLxrxy5m(5YfIn+G@EQA-mmb#-YSv5PqrmxUcnou2xiN?-JHhM1Fl5GHfiH;L={* z*ibAg3M5WqE+f{6i5a_jdfIyEy_q?3e0a-DI`%zFidoos!zbQ4r&X$E0 zJR`~zCQ7RMnVYUxYmndf?EF}Ea82D7StE`QC_82(M8T9JMt*&(Tia^M8w>kbAr9d3e}a6wJ%w>QFGS_H414_ngjIJ+uur^c3V?4)bbGjCJc z46#=R4oY9u>!r4kPS1CrUS!)8KjCp|a z+Usi@O=UwmUU~5^6@$IZQxPG1Gy9;Uf*nsT4?_l}aar7M#L)!Bz;1ZYy`s5;q8I(% z5MmF8M@q;Zv)!UOdqY6ZZca0U15%|S#2Oyro0d@Jy1}I2Ku?@^a&NRMU`Vwl0U2Sc zFY;@YgFsl7F$JM_CiQ!I{4MwRuv)aH_0Uy1ET%@o`~7V#`^G8mskD=#CW}*bGY0Mh zX4iWnDf?x^NQVkWlNR1A-Jmmb6qGRWQAo47Ij!!mN3{$_;pRTrEYfvKh`1D5HPGcF zjB9T?ubs;o@J;v4XKd|Fx7cg($Y{oFZ%>U&3kjwnVy*X%9fp-|WBfu1Owe8vC;1S8 ziq!=OTI7qm(B){hwGi`|Zn{8OiIqw}(SR4tZoD2T2BRp45Br-wYW!>=w55b8eV8ZF zQ-y`_?Ej2!6P?q4^9AM)dYqd7z6_2{D;=RBrQW6F`@xL z!{9-~Z2lV74X{VtWRYz6jk5;9^X|uQoWBqFo9Ak&dgxhQvUSifbkMNh){t$S%48mq zZ?7(+pMv*D_jIYAt7H<|!GPYgzKp_*O=CBZL&uDm8dFnrMoHU9*G6>@PD6Jxe!2k! ztX^d?Q)Lrd1;xUEcab(5MsEktry+ZL8Kb>-7?Jog!tP_hbyptO$5Xx*@3#Y+A4fK~ zoE1Ym+=xYPV<>;O)}MYdRl+v5nTBUp6204Q5q8-*Mk0!w z-B{W)P!MD>-I%z+Z!CL>i7+jHZDH!zy19(;`8jeh_c->jyLA0*RWqUIL>PJ%tlDzQ zlRoK*Kcyh?Q1gUsl&~_T^3N{ zVdiWqnZIRK?38?Tb)jM-*=MEoUU8tQ;^)W@fUYy>`E@0gXwr8jHQMAf#^dyY_{YoU zGef0tco8fV@&6<2Er8ovwk}~aGcz+Y#}G5g%*@OXQ_RfF%*@Qpj+tU+cFc(#!zlN@ z_vYR2pP9c@Ix1C3Yp=EXoYw9>>fYb^FEM}ozz&n&_u|>YS>(k%i8d9?%fSGc3g+gR zdS5Jw!Wp_(4qRG7G?7CbzrI+2j4R|py9D~Ik;Z%9n&JeTkuV1|8z5QbVJ+Bm7VE{t zyZ?r;DszZ04JgwmIlZ9ZmOTDWA zw_xNV!KDYmBG_^rRAn7%x$jN@9~*J`rj1P%36VySM>Xp3L2uC750vm8k(WA{{jUo# z8ZaN7GWTMT!!Wt3FiDD>`=p*WAn}4)D1=jg&pw8oWOaS=hLX%Z&VSH;PyutrwP=3 zFw$ihCD*CgIu%yvM-Q1GA$QC66Hs z-c9D~oY02Nuzi`Gmd8^9e>^_lYN!vYFW7LZKDjSYlOeNGokR$U>P^^t7-LR$?5sXy z?PK5ND^hx&j^@y;C~f>W?eXJcEhQsrM(@_rfZY)E3lCjD*+I(S;%#${6YrX8V5)tI ziChqH9az(v88_V4{qi{pb!n!-%k5Nty~y$%TShM& zSDYUa+5&qQ?I-VPjoBU1bzWEd9zmSJ`|oDG%oa^XJh0DhjRiwqaXIE+CqG%ZDJ(E5 zrWG7quiYW31^_1T&sV9jJSB4;{Rw^)aD(SX;k&)~7Lpcl?jXD6$RpR|?a2uZ%IM?t z2{w<@A5>ExdN6j^Kt_rX)^?rM>lWglC!OB)sB?2XcvL5x{kmB*>`QG*c6KfllRh2D zG^4t{J?bnQd2!Jmf4unuE=PHll2~)BDptJ5o;{YNM6^oBebT@=1Dixg~w2j#g4AZYnbR$Rn*5KqZ^sQBu1JmpBKa?emcwdxT< zHi$M~c~R6M>*<1ht$WsharRVY6ZzU6%md<-Bbn&6iMT6Igz%*8Tzx-wd3Qkj{+Rxo zGE#J?1wOtg(TYw8W%G7_U{B~NjIFcZ?<(d_DSybvNzvw|hkq-3N^$V=?B2VB=-InN z{}C*Scj^UYICGUv@c5mDtSOv?PvY?uC!xq>3E7n+^FY{f^X zssS6yo)@EB9zjD%Sht3s1_v_z-kwc)iJHPp+3|oh0=cgWoCiqf*T9&gnlp1KP%m@Q zd3jh`{B=glZx+u^8}}x+B^nYd>YjLDFj1K|7T}x|jGu#Xk;5vQ^t=7i zQ>!N)tEzjhrfdky^ku@(*{iED_Pk;eLcCey=bgM3{-B-gk+*VHz}K2Am5|E|HP^4# z3y;rC>$Z95=LXva_XC!@DXy09N#|{YzEW^EncKaL=3;AG-#h4@6;*wi>MXJsIsurT zQfy{tY2PT!a@%hX`!;N4xDv7u+QTG4Wl!-rkmM5 z`&r~7f>b)HHo>b$l~%{urAjp^%Y3-skC4T#UP~9g(S9{Gy6pX7<~zMn;aA?~O*f|X zlxtDCRR03D3;)Y46U+Z~bo4E7>UmclEO$Cqy|tf!;MUKs7YaDi3|lrx`$mYBmOc~` zvHl(2jX^6Z5q9MEJMtJ=@sd}cxf2p%pDlBZkG9>H-w?n*6C#bvB@S}%Mj1U{uKT!@ zve-o4mkPr=Nbhy+bMOo3AY~(m96up*8!p4GX4QP@@#^KRL!5)`PTm$aqGs$nY)h0y z>ZfzRy4_{=yv&(XhwMLryn%jg3F{jIOBa~?1j;b1xYIr#2Mdn#-nx1HLt0T6x;fR~ zQI{>3iQ#6?vttdb!{_d#Z24YfSNcOQo{$*ncwNiul7_U)$!IL4f5QmHcg^-=kmQsY z0(0kRV_kZn_NUQxY?^w?!F4D*c}88&{WXF`zLwVqCXDG&Nr0>B zmW3{sA39u)4!hfmqU!i97+v5~<&>NFhV^y`gFR=Qb+N#mybQFoQZ-KE274M@abPyH z7UY5uewLE$8FFuCH3+$F@_KVSdS7nK1(D#$PrZn5_3YUaUn6efJC9ozr5b-R#BB-o z21jU(5ozasJ6`t12qCAcb9a&4+t%a*a*Ltf-8N;9b6@De9ocpjF!=$snh*Hc%$n%` zX%5ipEAQgYz8dNY@D@eVvRnE~YO15dUs8XTu6FZ94@q+v-B~k#!MKho84}*zj)vIG zvgKL?baG!i?#qKe**m%^{yy3E7_b%m`Tx%jz!7zy_hr+Wvz;3Y89c!I0KT1j9Zo67 z)q!j^4_T&=dsV*B?^<3U_eFn#NsEDuz6su?75OLBH6pKRi;`>ue|@y}U=JwN#wf{V zmj3-YPjq*EdVLkJCANVrp?p1~P_@-NS;m{K@zbQyY9(6wmwj8>KweyjKvVZXN3KH| z2b%QHWzNnNqWvMi5vBKbk6(A5U7oV7Io@1hyPJXSY4>2?8?9JU+Gcb45#zGj;#SYD zt7<5{Rz_bWIB}`~X1HQ_yQM-G9!03RGUU}V`Rs-sa zb4e>I&8UgkjE1Of7O3fW8S{G3^|jFTGkj7l33>DJzp=^poDT9gE$|N!u(%>MUzLF3 zFoKIN>r~10=RB^^G&-bt+uR!h$GaG)H!G(uCQ%APqHGRRfKL=pp=~S0ZR-6xg1EHZ zEmYl{&&8{J%G%u799drTA#LU*ZK1q|rv#Q8I^ZnYP@$D=>KO_G7d1*0=wWTCJ=M3W zJNt{X@nZXpD#)Ibdo`SAHJCT4vo&xIHLwoyf?;j32wR9JAZ7Zldo@~THAYA{e9+&Y zRzRXt0}9S-)Ji31y=*W#=J#sMm~8}HI(|K{Q!sa4E{T43^RSWkvH`B0QW+W4u^H4! zQjo4C-}4xvovFaq^RQ9(vPlOI{T9&L!wFJkW?1fJld`_uw2dcT`NhL#eF{%unCX_R z5!Y(ltc<8}d`QRUp{qq;`!2%)NO7-b!a{R3L8xaB;c6+0shg9&hjSWK^h9`L8_$29 zjYYMmW%BS*%OQr$SbT4M_o>w zx-xwFNY)>JJsPsl<0Ysj(ikDN+B7;>_B}0Fhb`2K!jz;fcuG>$Dd2pt+b^7iJg$*Q z8Hqg;tGr#i9bbF7(h)g*B*ln3BOXt0Tka$cF==@NJCmGn`HEff42Micty*iO!t_j zVkA~&y9NLyfO%&G7-1+5A%s34pAozEkG2%6kb;1Sva<|hEY2Yw&~&a%uGY*DT>)4? zV3t0+;2p83`*+Xug9zITjk|@x(8)%ci$Y*fildT^>xU*5h9+Z}J)d|JW~w^>7PSDV149> z6y-L>cAX%;0)+o}NEFb2hrC#`0ETqC{3|5iQ|MBI#lJ#kL!pofhxa4N_vb24mXLzE zSku~I;%v}9#-NBqsiZTD8O~yiBG?;2k&7ALk_REJb)~w}iGdheLWSmgol7e50M%BO z*q;%w2YUuCM{k)f~`xU4VGvE0?!!JxXD!rh0! zTxJZW4>11mfWg;v4%B-!5fB0cf-uvMqM|UwlP#7MRa5PCeiZ9YEd~N%UBDaTj6*NH zZ5|Fn(nfsPDGEWpjWPg33WhEUq0f>vD{HMD2j?3oM#mbkQi2u%+svFKA(!vjp$#zz zCDxRDiz^%sLJG#u0eX#Fu|oNru8r((d7i_dof_h(Z`sxiaZ!LrT22 zAd&{g${F>d1bkA#VQ&w?jYbI=i9_Hs{Gq*2fdcAZfQw^%ZbcxW&(r>=!F>PE4F(`2 z`!#mw^!RiKocB%Ndc;GZA|yLaV#2hKyHmr`%Lt6Oi9i}&GB%a{?mc$@oe4eKo$2w6)|+v zKzFfo2~?l{ME10LovEU6l}01=(bkl9upjbAFY1TBuM9`;cys+UN8cQd=ytaU8$xYd zJYvGYqQmIo*yiQTX7Jcf=NNIP5rH@*y#5o7kMF$~s=nX%q1g1*yf-Oi{XSOx4*??R zgG6Ihz!4N>%Ncz}()wKrf{g7inWy4zU#+N{m%T^s{l_VVh*9hetkjHSY&?_G4IdUf z58JvOB@64D7v65)>6z_md5^am?>D7vk7~d~VA?0Rx}9$Q;MKgRdivu>i%;$zZ=)V> z0sMIiGUu}GDfr1trFEtN^C=BBnub04^`yHOGseM-u+^RLRc0YdJOfj0P4i3x%jg1! zMG_bZjT0K#9bLClsJgtNi@$}f?)0wy0A9g#S~rc7dyiSGK&FdCPs82s)v`!+J2-WI zcnans5e!#q_KM0`y@|XTj0O|HUAO8?6(%pzT43sk_5H~8`(BeReG;sUGOTF`cut%fcf2LBVKbCq~>k0LXf!DGGX=4IwW+~aMG?ek~-kCJngZr`Nt_ghmzm`_ho zoRypT#av%0U6hF*D{zvZixoz4H^00kV(mQw@rEzb^3Y?CYUHP67S;2fxX@#!FC-3X;PJLTWeN8S5H!$k8gxg` zO;aInFp;hL6$vwl?TAnHasm@HwfX;|=N#z>UVq@9dK~<4WyxC+FD@vwPap5iZi}S0 z(;oNt4&iy9hZ+%S6*R2BD1UR`6&VbocqHk#^%fP>lBEG1ga@hAs!;;3K@C44@%eqQ z;zR479MpBBkxecoi=B?QOqaoex#H-C2V2i?lWWyTV` zZfT#Dd@IX)$I8^wKt3prWwZXC%UcVNdWu~0*IW<`ntWk-Li9?FXV@ZXn7z@s1C%9AfM)!<6CXk09U~p_Wh>IFy-A zz1k95Bv^%7Pi*1lC^ICPk1iqDCjOr)hhgWZ_0vCd1X-G&+^vF2xqTj-=U+gXnMO?` z$y^3UFvTmxRWwYt9Mv#bFQ~3Vm}l_D6=VN{@zOCE#oAAV*%)GJ&MZfoDZD&|0>2( zgX6bVOBHQKhQ5e075i^(ZT@pjqDI~u>`Lvt{ych{9Pl3C?x48ed0+fZ*l1gj^lIhO z=$W=QJeszDEbumXYu5P6cRjqlP3;S1T_HD_I!QZNWw3m#+qaD8Mgztc?iJ2LrVRuy zpE8C9&YhMc^U4v;hw&Ljjg*}mLL0aV!>TPD@wS67z1J(1R51+hHbh0Qd4+`$z@&+_ zNvb?w>UP@*iD|trSC_p$-nV0BzKFGaiU-R(qJ#81Y)N+86>)^e&XjP3cjHm`>ZlT~ z;x({uOH6@H(T18Ia7@QWaP8Y_OCjP08Z2>Ye;Vq9!3wV5il!eER}Ap1g6}w{WfsTO zP~092DOKA3j9IhUxR0W!|LsY{Q^XS=6pyBkY;o_}VoCxn8C%#g_)fxU5M_OR_)hYw zpc{`^I_FM3&1gzRKN8P2zdHn8zNk9{52wRygfhQ7`zq)z@Qw?NLs4J6bZBcfHHLzQ z*?$h<=&^`~fc3e+hW=>zr__0JTW7dT?wzu#BIpsLt|i_PqiOv&MtUO9qa$15WbEWW zD(>jm2>({$2^ws!ZyP=&t@`?Y_p0cw{4X6U`6oaf?=Jt=@jkKH$VT@6AmLW1mF+k3 z_@bDqtpD{dE6~&bSn;I%Z-}RIpcUx<4=YBE4nsx`p-#dYlkTj2C_E>pZrAZfR;_!D z5ZXTZg1FbjzcFN4&t*8U5)DfZYVp<7D#2v;9=hXIJj#J{+saB$e4y@4UJ4Lah%3O$4?}=G@e#0vu(^sFHtc~I{7KH)^kHIp0G+CO#vQd>`F|JHQ z;v2>bl`)iGp0tnRoIwU3#zTT>p;&QT;&P+0$@&a5O;lM!E&BpTxkW8iw}^&e7!MGf z8p&yVL|v1gqK9oW9ExC!IE=^Ge?C^8#kf+Afjp|pOz0ZU8Li(|y6ybG$>L$yy!YyT zQr8HOsUx9%=djnyI?FEHLtOB)RXg#y;rSB81ICMbbrYWU!K{hU+WC!=}%edP=e@tX5H{SPbd&W#YPrxX-J3XpK`*q9D@G z!%Tz)zw9KN&D^%RcW~Nz;o8i6NiHcZbc|*eZ(LYLf!Ag@pvIgd2;tdvqp zKu~4%#+4_m^B{=cnL%?)VPU%%em`t`-YM>U!gk^wJ7T1c(k9?_;_NOzy z5tYEiJjN+6Oi*Qwwm8U`{WM^kANi;MqElZLolp^v^rFd+T%VFEH{Shrl9V_tYyU__ zBZ`?aJ)tO08HA>)G?9y;Mo~{Ag=xkZNOwMKhFF#i4)qy`xBxm zfDYIbxK(QA#C%e~q-|^nqBCbMqUFKoNQ7Iuoyf5D{ui|+yCALOmB$U7GV)p@B(9{iA^@V8KCo4|EpOisZ>KDFv^VrgZO z7#XL+m`!Q(hYnd#K~587ry4-Yz`5XQX)_NX<)lK%|3R4y?4Oi*(r3+W^+z%dxfI1? z;wTg_c?B&Benpxs@Ue@<8k_JkNfKvgVo^80+D+AKysuD})A=1JcdIsgil9v{3*cBl zJ6}mLT02K89YW3@5?eSRmYpAp#C+mj3)wH;P|^{$$FiqTQt!_wj55NS!;{+FG$_7l z55Y#k;2yQ9ecz|`FZ+5kjr?)z45~pWJMN~AI3)vijeePzf}uMP0!o5UEF`N;M}Nxp znsG)jIqiyKO|q0sy%a+|l+WRvT&YUF(5dQd7Vu=&NDI%woF=HX=5N_+DhQ5Z$CvQ- zO=_JgIw$?D0V)_DhWkZ;4u<=)@I}K9#676pggOjDv7$uoX}c8r%LySFx^2fKC(q~5 zydPEIO(9B`F~LLkk%(rano>ORj+6K4ND|<6rb4^ z{p2|yO-W$S#>BjLbN?00uHpHwm5tM-IG|DrRiILUq9Ay@BVPjJwiK)dhJwttw(%o21%VV#S^@VaYgjONF_03k#{xqf zDZkjjAvl&4&(qQcNs43pM0 zDW05iFYCf!bjbz{v=Y<*uh0A*gO+%Wq8M_5h5^AQ3R_mnuwhyMiVKoH6K8xvNf1lG zgHhp7nz49A!?m@@dw0q^BS7V2+JYnkuk00;kBB=XIv2dDOm8OU+Hk}T_EtpC*{)%x z>p3D_1gTWCbwr&}CeL8i5|w$7kTKs=EA55Nr>^Nnrs;^##J&PiQRBj%igIG7pv6a@ z-Vi#i2{*s6Lc1~SS_#6pH)t4mSK@7OMk@trs%Cd{9?n&TUXVy;8~5yYG6C_)pE~G) zxU9)89|>6%Ki0a(9HDIeyLsAY|GkIU(|GbZM_IA?`4< zqap-%U0dOTAgkem>8yQA2gtF)uY1bFxVO;5#3+9G9D%=rKySlnkhbFANC~UT1@@75 zEy9JG4?;r`qRW5|HSfKj#XSY~KFJva(a{djMg7+^`K?pLL~2od=jXBASH9epW%lbN11eoox6bV zYf=4JOnfWGhy?^uStlB@blS)i%lnw&53x0Wl|PbL z2#bKSl~3zFSl}d4`GZIQsl_MYS5Vx4l+6DU1x|WN=kv_o00j$)z7D`RW5)d%!u5Ui zB~mLvHTu&Uyf(9c7C`S?Q4F&1ADN(^g)1G@Dxu0_%*?gKA2-v>n z`)t*+(G-Mqw%#>lb;L8|5zo5?$R<@tJ+#z_b;ZT%^7qKjG7B2=3(;ydcyE|REHzJQ zr%e3DXV8*?z6e07EDeBMPNhN6v;YE^!ujSLw6xwJN3qF{GpCe z+|IHI84eT_1LwOkyfxw;%agNGzHp!*WLbb3=uo*qeLssej)Ydj8_vONy(^QxFGHpmp)mGz=ZUo^8%E^K~ua>)0(p zo2j_};wE#M=Xpo(#cdEMz~xKMF%YKg4@}wLFnWNpXXPovKi|{IKDI)ED57=Q?pWUo z214TkT!`I`neW1ox&|AjzDMkFd|9(1`mHjSbN_z^`vfTCy_g@g3SG1fS)5i;#QqnZ z^@y!C!q~MRKAzP%H~^QhoMWX+`7w51mVT@2+Qm&MtX+;TRwR2I8|?9s02k?kd;GGD z{BhntQV{(XrVZ03cnOW0rWT_aDR%2rTh|T9D!_RBJp6HnsDZDjK2I5^0&V zL*U}hsf=Tg^`J$nF%q?a+R@nAn}xQwp*xSsF^R8BzMP40W_oz%+mwswLP#U6e6E+c-~qf4b*6J!c-!`Hb}VrGDZ6I3F<8SdQsLiu#=Y9jDt8DMmQ=i z?$*t4{;Xt%G%39|m`h7dRx?FI{U;adcxe%=jCy#9?Ui_~z+Dspha{_$PYY1OuJqLNH0cnR5Mm6W zW20$hmhb1T5p6*^q&K{D&0TBy5a? zqOx*>9C?0uHB3ytV}TQ1KsY`_EowLo3L9Pk@FooKa6bp*Rf@`^M9>s+_u7>_2NTQ* zb}c?Zga#dxPmdSC{ROG^&Si!+dm1v*9;$+^as*$zak zO@bwF7TSn4OOkh}QG^_3-w>y z2rw^l#AtwIS|JzVWfkS6rLENlQd-gs`J0lM7y*g~K+F{v_eiYxD=hHfNkjdn4A`f6 zBIDAS=!*cJC7Qf@`pK6Ct%`uo!fc55apHQ|Pfchf|73xck_2?-NbEn(IHN%qVAs18 zG~%QpPD&F@Td=n}4|-A1P}|W`3)Q&)#_KqAjOY|gl+T8X2v#Qxn6j3xP%&8(OX=cs zMYt6%P2hJ~&-%pvb=Ai{_luTCD8W&$bfJb1$W^cTnd1FQLaPYNt`nW7IF)i+;C4BM zTF9)@GvF8S7D-1=yDBBUn=hyDuehH9y6@1+Mg`d+2#d0`RXBmESWFO%S0-w_C@OzH z^dv;&I8pxG!c0s~XjNWh375Ey|47KBEOToqY&=XZRKys!+WQ>8D2R0p$_x3|W7!Pj zP!*gvW z7$N+P27SV657+tdfyxDcoOZk-Q7K-9@Ng-v&~dn@U`-fMq$Pl`4u*997Xi=Rro&`1 zSb={LpgMx$#l)R(;>hs^6IYO90k{P}9ylr|N{6)+Xo>(N zjdT;m{GX*}5*IsFyR@8T5-hL}n;l8Vt%&b)1G6JLa816jn8Z@tPg(p$s`4J$KRYm+ z4i}PlSp<-yYI(S=XiHMI#}H|p_O~JH2!Hsb01^H&q%;*A$VYlLE12C~ASPpOP0U#v z*iO7X()38qaL$#cK$j%%CRpxdWO5p~F!0B%?xYqI16`*jt^Kp#zjk?5la_?ZE_IZ{ zGiCP0$450%WnOQ7qedXRa(?Sho1UKsVNWgKeOL;NX3T*jiaK1W=l$Pg{MgP4F}As*12Dh~Lx`ei*jE2E}rmZ32Q zh(k8y!Ij(4M`SjGiLY5aDoJLT;AWNB$dE`TkEUt5_ql$&w_fTj8Kbpnd@gR&|IL{G zVqky_@l4D{>u@cPk4eEGK)iK9qf_fp0AUFCL$@J795@XEhNYD@OEX1Adxsk!4m_Kq zE)k=WX9$h>qq1jDf)X|Qw2+aotfZ*5r^qCM)8I`i2rNlWPZ{E^^FSn16zHMESqn{< z5h$#R+XNU*Q@#BHhNxmG0SGLub`*w2W(H-xiJ&V6wws}PiY$Wv5Gv-+_E351BA?a; z`D&hE_mJ}RlT31t#yHKx@W0gI2L4eeit@kJ*&+bd@xb)>znx?L2h8;F#U;VD>~A1@ zEL`aO^=SEyf0JTkxV!U9%6a|xALSE^gd`05z(GJxVE?Pwn2VXKtChXQU+b(|)VG|! z^I-Julo__~nZvd^$sN$1QPgkCQ`rJH2>@yQ3S#%borqANutUBPIgx6feszg?_x!D| z*JXH2fjJw|Js&Z}SP+gma2`aAmY$C5etxyg_SJ}kB{e*fh1O7z&mZ?|=lj)xAg3Xt zbq1&x3f0k(PkW1cNm2xDTYp4HJRC%zO$BemuL^E-z=KQ8XvtxurnaKQl@S`G2;1f6 z_;dXV*_CcIFJlXbvt5of-KvfD=bs0R54=t~NhJ(6NP}Fc)Oa|@Bq8g{X5HNH20f(h zj{x@{m<zRu!l1g;v)qeUxSKP*RXNA=o_3uj*aHB zU#1cHsS~ig@9~qj|lMWT7B(t`=jc2r`Z+W8@)il-YlaMQ+L*ZG9`u51C?|FK*6v5tn&rjUTk0 z=+>wFNOccjSY8`m8H^_suwGMI6IxhU!PAyROxdd7ihsKmMrv%8l-iDk<--a#X>cg- zOT=skvzDLjiz`q-+js(yM5xqQK`PWvbbMkNuOH3!4Z>I2S{+q>SVQP%HoegYBhfva zm5M403PcFM$au~RHwej_e(p%%2ul{-^P*g)`| ze1HQmcu0{5G2!Y22g@9!<>L((QJZ+Se22jnlX!V<3dPO6cQ+)Rm1oh@j+jUx7-AZA zXr1ZSbH+EQ()OFEMTj>O(Zi;Jq zZ8XR!_Z@O#Gx}2^5cai_8{>une2N&7N_^`nA)N2Mz4zkveaL1 zH>2$t5q?Me+rW7Wzk6`zmy@GH#wewrD7igZ(~>7(YKb+f>FOC)6jmldG$MiqDg6ts zP2`$qy(`eSuiEKE8UCAP?$c_Y*tS!LBP%|$-*|oTEx*n)V&qyn_{qSa( zcBKpcthWc28{5ynTrws85w>MAN&~|W6N8m`3734eQLJAH`GWL0JZ6~8xPq-w`UC~I zRq_OGbUp#$nkKa0NF#6+bBu!ejjBQd21}fcXX!8^jzBdRu zK|R(+!j*8x!tZbVws9<1_0nArcJW?U^wSiefiSqPqEg_bydSgA#vc!FgxYOi7#gX> z=;+#i^y4`)41%*3`yBEUzw}Inn$X5Pqeup#?_{7JZMHINFPhV|tEYD4R8hhEcvrh^ zy6Ry@!wywa84t$bz)jS1r8yt6F$huJnvrNma}v&lpJzmYv^Toodxl5Bh~mX-kV)a} z@%8MaP_V@YRWwNF^CH%v+0;C9gndb+2EgE;jrRK6^NDFn6p1eD$~30 zL!5<+w~hoJXQ5)FA(QQIjE>tIXsUnvmdV9yUi$7k3PmPUq8iPL9VuL-;CQ%^e`wNm zu|9w!EB@fcMQ2HB&XHL|k!`7jVp17&E0bj?omRzg8W|g%Sq{2ZJ@Acgu5Hg9@@l%m zK_hUftU)gzg!e2+$9}XFK_!o^u)59Ex(6NM{;fOySwDc!161H%)cjEG2CQuN@%tr= zn^zBFU2TOfw?O;QMQNml7c6_8iKiPYe!952llI*N52I(ny(3up_=Jvnx7$&_u35Hy z?#S8M-p1k(^2P0a*%-6IhY~i|(_*5P2R9vdCo}p&-iRskQ2cg+k(@IV8*RKDh73?=Gw#E$w{<(|vh@_Hqaj zud{blXwnhYllUy2{P9~>cd0_H`n#%zj)w!O_kyV^W7YNh4v=8XGYvnEzD9g=drj-5 zx+wFKua&6$diy^L$0m!AwT}X8R(H{XfMEXnlytQ;vomA<>&W_7g)?n=hYc>A-k%yM zorg;=8*Y)E;+JbzE2W5NZK83_Vmh`oN+f3#y@*#%{r*N<^+Rx%twZ%S!tj?1Z<+Rl ztw^T^IJE1LG)m6LBl6!Vp~uLc1$_Dply8JmN(x$XChLQG(fgetFpqde3 z+$F@wA_YMwu8@~lcWg3vqWs3XDG2+%vNaF00fT^1;&ufF;_^mYr3pk7H2K2*lyyD(2GSlY!D2>nUwmwI`3;zQL!sQ< zr{;MmQ+$oX{tig_L(c*1y!bYXlbs(A|3Yyz8bpxC(%WkdU=bY4ZBQBJlsrk zLHUn6uO|CqD=JIfz_%VBG|ZMW;YAWOmcm1GR$1A`X65<1q9v(pcPFyga%L>kLTF;; zm9&fIEm({-Xk)y5)MmyyRQVoTE?*}yq!M-`6y&wN(e)oN${dMvD#Ua=itk^TXCC zO9>zeCeWV`?$kgE?Ljkrnzfb`n~OEcBr4N%y7G0dpxALpzPV1+wDYraJ1kiywtatu zzkY-I9J%zk9nI!vard(66@sx4gi=;Aj0b{YPtspZS=Mx0i7iedrgjMxWuoc*-XZZD z@e35DN!Mg8SZVDkN*Ag_?quC-q*bu_5pK;hk{_nvI{ghD=roqOHvb z;ao74dP3zUU+Z+sT+ zta77uxe1$J;@TVDkzfm$_5SXu!2iR_qP&c;TBhoUsn=@cwcmZ$*1X%Sj_U@#(P#IO zR4&kcyKzNcTGYb!Bjd8dE$dm-BL%p^z#?E8m1?Mcsskc393L5BV&RJ?k8; z;har`+BqjOrj=IjTjJhYRL)Y7Hutl+u%?^l`(U6$`Bvl#Hg6Cs6h*IX<_tNO&64wYYJZ&~>?zp=`M2fU{7b zw}O|roh$M2rB8utxxM$B22{+lsWIOigQfcZa42`#`z!^9{S6L4-?uI1x*i>Vq~JY} ze>d+qDN)s^cSZP}sjM-3z!45E?``o)vGIe?H_$TXe&EM6^beazKLPG zUh`^nPAED;jCKn9(|L-;UUF?}_>kh)eMHCLG`jhMhn{fkStRsDy?k}Zr?J!gCe>O|!14Sg3f#sfu0Z8qi7z@OUM&u3$*{RD2AXl(2OTxr?X*ow* zAXyFXh>-i|h>DUG7aBb+R$LyLo=7#W&9U0p@vh*8?Fr+uYowXPYPn_{RnVCu?NBfq zQbT2s$C}bmAQ0t<8#9Nt8gwY6HP3_PrD_~6QkvWZ`_Lh!-B?|Y+`Q&Z=$9N67}oQD z>}4>(I>+(6)#?3${%0(94Z2K>Q;0%ou1z*iGD7gq;6O*>m=D_1kSzkc>=q8s1_ zSuj9;`if5^PL%S6V=OA8P@@*W)k?p7hf3^DEH?hw4)5Fb_~JNrY$yK?M$EwnXcL!q zafI`}k^m6@ygwGcM+vzI5rNLGMX^+|kkoQ(_kbi-0LP}An7}yDWyM;8P!9&PaI8Q) ztqF&H8+XKM4n(gU35>GUNcE;_;lPt*KDMIlTlZ5Z#8E_jVXB4VF}kW@%-y04scVPJ zGIb7KUjHAu1SgM{dw_bVfx3wPq3iGJu>Vo_S83Ro*#=;KjsmsYqd?khS!rfLQ=s{T z2Dbj$k+dp)wl%y2y;D|dySGpU9G7jI@Z+b8ogZ>ly9ia>e0gbQivOwOgA>=e#hRae z3Q4O|Gra`MIcV|Abkd=P+XyicGTaW9GKZQ8Mid6MbduDmU|vlolU%pPYh#PK ztj_m^=RVRdY83(r@_QrOVjLpa?FOgJ?jXWW8~<@;y5=r46P~cg^ahT|fn(e?saceF zb$KP}Kmz?|_P_QvjIL<$W|Bw3M+Pat#@Y;RaSM@KzRMFFE) z#a|Gb-QCB@K|an`%O_|B$=eY`IY!3g>b~PNR_Q??_@a4b8$a`65$?Ud^Br!wq18rrwHc0XaOkG=P}+25!e3y^4Zb!9Y~ zeBY^W*S78rETzfu8s4ucw(}Ud%6B zfDIwY9V$t#&Dg7m9(CPH^j9Q}z4^111@{pF2g5=nlo&|`n^8zz6tx89?y@|o3;h=A zcBvBohS$!L9_}v+Qw>L^vVK&t%aBD>DsNabBqbU;J=gJIZG*K6k$`*WPMwt zke9;E_Ug}2_{tp@pMzw`nH*I?MQ56UaL2IxnOs|*Nhz9^0&@WVMQKDZV8i;o4!8o> zlJfrSFl!u6`8UHTn`Dhq#YHgvh{!1q-;SWUaVh1Tn7HPa9f{7xyMw1lM(*v#`rW!m z;R*8y6jg&o%t-EU0FSHghiKH*?-t_=$DhVsR1GIFBe6sQ_y|4HlE&1tcfyq^eY>h@ zwY}0Fs}F;)Ha&BD*F86K`eHFXH=lQ)2lO=bMh`>0#hIb(b1?b7_n`Lr zp37@D=Z~bKP|VW3-T&}=|3GRcjxY}ANvcrijA?kmy7kG22e6%rS-qHpu~+0ZV5&v} zv)vGqQV5 zScbas*7^}#Yzzx*{69!)~P=Vwm;zi*<%%suUPazf`9~*fPi2Fdn{n#?!USz z;K&PjecBsY*)mx>nps?_+c=`DVF-44bJN<*pwKX4Ko54Y^%paKrU&D)`d*sMRm@oD z6e^u0kDf_o^kp#>kdyEN@)#!I^U;8z>YDAOI3LKTEG{ewjRKE>GfHNC%PD|i0Dil< zRSc^boM7&|qlp4$T{u1p(a5L*${kcgnt{){&=5<`R?3 z738$7V{i||2Fwy+vao5%Si94yMw%R_!3+#M{gP$LOkg~Ifea&kwmtkcs)!XOqK+Ht zhigTF7pO5(%@%bkuSxgNRihetUbv5+W~<_F(?cO~JnN`<1xUj%&yhrJwb|{B^D3=C z0rZYB<_#O;rximzvlPCxD_a;w$5D>oTZx$7PzMQlcd$=zoWw{1pBrMH;Gb~}iW#u- z=+iPQ?QVH$1Z_(2!q7E3Cke-!66(-JztM48)T+QF^DY0{+^)Y2Kk9#k22a7XmNQ17 z_+MMOLk2hR1LR{dA?+l+m>G6CO|p1E!75=_taDZZe3%j>GelO};R zy+@z8SH&FNvfX&X`R1cN+$Vb`AN%~he@?bE*&m#LWVLvg!S;qpfy(#l zRQWYEo1aMS`Z(=i>v_8?t&>W^*S_FgciyieL%n6|)ahCaYoiWj*=7B^c_;Z^&b_RE zA7|#svt%VgUZ z^9;{E;bQUW@;2&hQt9w*N@u(9enFK>e2Lb5bG6S7ht%|0X8h)!7s)QX?WthHb=8J7 zGdZLA=5;E^vAme|w6DW=qw)O2eGC)!{H%PnzJz<8@A5?#yDQ>enlr`R6X^YSSF$(m zUeiZ^rZ;>pza6%1{jryUTl`Y6d{BeI%>$QjR-8|EJufT&VM~VqQY#8Ri%4Nl)5)PwQUdjel~fKYr@O?P-Uf zP2rsO_O9}r_H({x)(hWmUy_#AD>KzL^V5_$yO*8YQ+@4C)1m4$N4HJ7WK>;Q>ihPQ z>W`|satEW|e_lW3iAQkp=~vg<Hyi@ElVsEgtskSIrMTs9a3vQhF;c-#v;V!Y4v8&tq&qq(5lz4MP zW%c(7oIlSME5AD8ymF>+`Zr%IfA3(e-CGac`X8Li+^YJ@itnXNo`rIH%g=(RUVJ4R z_?I=YNo6c(#7g`(?)Y}dKERuiNrV|RJkG)Jb%uGw+MuNqrvh83r+{N_pl$~YGyugI z7^0nlgTbkJCGjDZ1*yfcpw=0>0hMar4nKfO?*Ye=xna72bOYltpb?NZKDcR*uCb$y zJ2(@lp zQtV1#RX0-!-SQd0fB?@N0F5Zk1^OME_PhpZAtRvWr-4?414CRWD+51@Nq2amCKZ=d=A?qBE78LM{Xj{W{szV=wkVp>j+aC?2YsFtVGe6C z%p9ai6m;$A6E6tupUa@y(WYV0O+cTBK$xIf0W|?-S^`}^`lvBN|BfoCe)KV9bR*FF z-v}c%He&6KqZ@$U(M1^0*@SEWwr(%FS?GO7gjr3^$Y!DTB+*Sl?`k1Tnb`sj6_kz_ kx_ t} -import javax.inject.Inject -import javax.inject.Singleton - -@Singleton -case class TimelineServiceTweetsQueryFeatureHydrator @Inject() ( - timelineService: TimelineService, - deviceContextMarshaller: DeviceContextMarshaller) - extends QueryFeatureHydrator[PipelineQuery with HasDeviceContext] { - - override val identifier: FeatureHydratorIdentifier = - FeatureHydratorIdentifier("TimelineServiceTweets") - - override val features: Set[Feature[_, _]] = Set(TimelineServiceTweetsFeature) - - private val MaxTimelineServiceTweets = 200 - - override def hydrate(query: PipelineQuery with HasDeviceContext): Stitch[FeatureMap] = { - val deviceContext = query.deviceContext.getOrElse(DeviceContext.Empty) - - val timelineQueryOptions = t.TimelineQueryOptions( - contextualUserId = query.clientContext.userId, - deviceContext = Some(deviceContextMarshaller(deviceContext, query.clientContext)) - ) - - val timelineServiceQuery = t.TimelineQuery( - timelineType = t.TimelineType.Home, - timelineId = query.getRequiredUserId, - maxCount = MaxTimelineServiceTweets.toShort, - cursor2 = None, - options = Some(timelineQueryOptions), - timelineId2 = query.clientContext.userId.map(t.TimelineId(t.TimelineType.Home, _, None)), - ) - - timelineService.getTimeline(timelineServiceQuery).map { timeline => - val tweets = timeline.entries.collect { - case t.TimelineEntry.Tweet(tweet) => tweet.statusId - } - - FeatureMapBuilder().add(TimelineServiceTweetsFeature, tweets).build() - } - } - - override val alerts = Seq( - HomeMixerAlertConfig.BusinessHours.defaultSuccessRateAlert(99.7) - ) -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/feature_hydrator/TweetPreviewTweetypieCandidateFeatureHydrator.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/feature_hydrator/TweetPreviewTweetypieCandidateFeatureHydrator.docx new file mode 100644 index 0000000000000000000000000000000000000000..4187d45546220be07215c99d6c2bc3d579893f8a GIT binary patch literal 37634 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 literal 0 HcmV?d00001 diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/feature_hydrator/TweetPreviewTweetypieCandidateFeatureHydrator.scala b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/feature_hydrator/TweetPreviewTweetypieCandidateFeatureHydrator.scala deleted file mode 100644 index 07f3ae0e9..000000000 --- a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/feature_hydrator/TweetPreviewTweetypieCandidateFeatureHydrator.scala +++ /dev/null @@ -1,72 +0,0 @@ -package com.twitter.home_mixer.product.for_you.feature_hydrator - -import com.twitter.home_mixer.model.HomeFeatures.AuthorIdFeature -import com.twitter.home_mixer.model.HomeFeatures.IsHydratedFeature -import com.twitter.home_mixer.model.HomeFeatures.TweetTextFeature -import com.twitter.product_mixer.component_library.model.candidate.BaseTweetCandidate -import com.twitter.product_mixer.core.feature.Feature -import com.twitter.product_mixer.core.feature.featuremap.FeatureMap -import com.twitter.product_mixer.core.feature.featuremap.FeatureMapBuilder -import com.twitter.product_mixer.core.functional_component.feature_hydrator.CandidateFeatureHydrator -import com.twitter.product_mixer.core.model.common.identifier.FeatureHydratorIdentifier -import com.twitter.product_mixer.core.pipeline.PipelineQuery -import com.twitter.spam.rtf.{thriftscala => rtf} -import com.twitter.stitch.Stitch -import com.twitter.stitch.tweetypie.{TweetyPie => TweetypieStitchClient} -import com.twitter.tweetypie.{thriftscala => TP} -import javax.inject.Inject -import javax.inject.Singleton - -@Singleton -class TweetPreviewTweetypieCandidateFeatureHydrator @Inject() ( - tweetypieStitchClient: TweetypieStitchClient) - extends CandidateFeatureHydrator[PipelineQuery, BaseTweetCandidate] { - - private val CoreTweetFields: Set[TP.TweetInclude] = Set[TP.TweetInclude]( - TP.TweetInclude.TweetFieldId(TP.Tweet.IdField.id), - TP.TweetInclude.TweetFieldId(TP.Tweet.CoreDataField.id) - ) - - private val DefaultFeatureMap = FeatureMapBuilder() - .add(TweetTextFeature, None) - .add(IsHydratedFeature, false) - .add(AuthorIdFeature, None) - .build() - - override val features: Set[Feature[_, _]] = - Set(TweetTextFeature, IsHydratedFeature, AuthorIdFeature) - - override val identifier: FeatureHydratorIdentifier = - FeatureHydratorIdentifier("TweetPreviewTweetypie") - - override def apply( - query: PipelineQuery, - candidate: BaseTweetCandidate, - existingFeatures: FeatureMap - ): Stitch[FeatureMap] = { - tweetypieStitchClient - .getTweetFields( - tweetId = candidate.id, - options = TP.GetTweetFieldsOptions( - tweetIncludes = CoreTweetFields, - includeRetweetedTweet = false, - includeQuotedTweet = false, - visibilityPolicy = TP.TweetVisibilityPolicy.UserVisible, - safetyLevel = Some(rtf.SafetyLevel.TimelineHomeTweetPreview), - forUserId = query.getOptionalUserId - ) - ).map { - case TP.GetTweetFieldsResult(_, TP.TweetFieldsResultState.Found(found), quoteOpt, _) => - val tweetText = found.tweet.coreData.map(_.text) - FeatureMapBuilder() - .add(TweetTextFeature, tweetText) - .add(IsHydratedFeature, true) - .add(AuthorIdFeature, found.tweet.coreData.map(_.userId)) - .build() - // If no tweet result found, return default features - case _ => - DefaultFeatureMap - } - - } -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/filter/BUILD.bazel b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/filter/BUILD.bazel deleted file mode 100644 index 0a875371d..000000000 --- a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/filter/BUILD.bazel +++ /dev/null @@ -1,15 +0,0 @@ -scala_library( - sources = ["*.scala"], - compiler_option_sets = ["fatal_warnings"], - strict_deps = True, - tags = ["bazel-compatible"], - dependencies = [ - "home-mixer/server/src/main/scala/com/twitter/home_mixer/model", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/param", - "home-mixer/server/src/main/scala/com/twitter/home_mixer/util", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/model/candidate", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/filter", - "stitch/stitch-core", - "timelineservice/common/src/main/scala/com/twitter/timelineservice/model", - ], -) diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/filter/BUILD.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/filter/BUILD.docx new file mode 100644 index 0000000000000000000000000000000000000000..b6dd510dee8ea0a2c6f459c5339afcb4341c5ace GIT binary patch literal 36904 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 L^YY;%ZNDbLRTNkH?-s4eLT!c3PlyLHJ5XW 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 SFb9Ehl^{bRFnhT6fp`GE^G~q= literal 0 HcmV?d00001 diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/ForYouPushToHomeTweetCandidatePipelineConfig.scala b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/ForYouPushToHomeTweetCandidatePipelineConfig.scala deleted file mode 100644 index 49df4fdf8..000000000 --- a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/ForYouPushToHomeTweetCandidatePipelineConfig.scala +++ /dev/null @@ -1,81 +0,0 @@ -package com.twitter.home_mixer.product.for_you - -import com.twitter.home_mixer.functional_component.decorator.builder.HomeClientEventInfoBuilder -import com.twitter.home_mixer.model.HomeFeatures.SuggestTypeFeature -import com.twitter.home_mixer.product.for_you.functional_component.gate.PushToHomeRequestGate -import com.twitter.home_mixer.product.for_you.model.ForYouQuery -import com.twitter.product_mixer.component_library.decorator.urt.UrtItemCandidateDecorator -import com.twitter.product_mixer.component_library.decorator.urt.builder.item.tweet.TweetCandidateUrtItemBuilder -import com.twitter.product_mixer.component_library.model.candidate.TweetCandidate -import com.twitter.product_mixer.core.feature.Feature -import com.twitter.product_mixer.core.feature.featuremap.FeatureMap -import com.twitter.product_mixer.core.feature.featuremap.FeatureMapBuilder -import com.twitter.product_mixer.core.functional_component.candidate_source.CandidateSource -import com.twitter.product_mixer.core.functional_component.candidate_source.PassthroughCandidateSource -import com.twitter.product_mixer.core.functional_component.decorator.CandidateDecorator -import com.twitter.product_mixer.core.functional_component.gate.Gate -import com.twitter.product_mixer.core.functional_component.transformer.CandidateFeatureTransformer -import com.twitter.product_mixer.core.functional_component.transformer.CandidatePipelineQueryTransformer -import com.twitter.product_mixer.core.functional_component.transformer.CandidatePipelineResultsTransformer -import com.twitter.product_mixer.core.model.common.identifier.CandidatePipelineIdentifier -import com.twitter.product_mixer.core.model.common.identifier.CandidateSourceIdentifier -import com.twitter.product_mixer.core.model.common.identifier.TransformerIdentifier -import com.twitter.product_mixer.core.pipeline.candidate.CandidatePipelineConfig -import com.twitter.timelineservice.suggests.{thriftscala => st} - -import javax.inject.Inject -import javax.inject.Singleton - -@Singleton -class ForYouPushToHomeTweetCandidatePipelineConfig @Inject() () - extends CandidatePipelineConfig[ - ForYouQuery, - ForYouQuery, - TweetCandidate, - TweetCandidate - ] { - - override val identifier: CandidatePipelineIdentifier = - CandidatePipelineIdentifier("ForYouPushToHomeTweet") - - override val gates: Seq[Gate[ForYouQuery]] = Seq(PushToHomeRequestGate) - - override val queryTransformer: CandidatePipelineQueryTransformer[ - ForYouQuery, - ForYouQuery - ] = identity - - override val featuresFromCandidateSourceTransformers: Seq[ - CandidateFeatureTransformer[TweetCandidate] - ] = Seq(new CandidateFeatureTransformer[TweetCandidate] { - override def features: Set[Feature[_, _]] = Set(SuggestTypeFeature) - - override val identifier: TransformerIdentifier = - TransformerIdentifier("ForYouPushToHomeTweet") - - override def transform(input: TweetCandidate): FeatureMap = - FeatureMapBuilder().add(SuggestTypeFeature, Some(st.SuggestType.Magicrec)).build() - }) - - override val resultTransformer: CandidatePipelineResultsTransformer[ - TweetCandidate, - TweetCandidate - ] = identity - - override val candidateSource: CandidateSource[ - ForYouQuery, - TweetCandidate - ] = PassthroughCandidateSource( - CandidateSourceIdentifier("PushToHomeTweet"), - { query => query.pushToHomeTweetId.toSeq.map(TweetCandidate(_)) } - ) - - override val decorator: Option[ - CandidateDecorator[ForYouQuery, TweetCandidate] - ] = { - val tweetItemBuilder = TweetCandidateUrtItemBuilder( - clientEventInfoBuilder = HomeClientEventInfoBuilder() - ) - Some(UrtItemCandidateDecorator(tweetItemBuilder)) - } -} diff --git a/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/ForYouScoredTweetsCandidatePipelineConfig.docx b/home-mixer/server/src/main/scala/com/twitter/home_mixer/product/for_you/ForYouScoredTweetsCandidatePipelineConfig.docx new file mode 100644 index 0000000000000000000000000000000000000000..fbf3f66cc11536152a76b96a1557a0b0d94544b2 GIT binary patch literal 38437 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