gitextract_zmgfpzrq/ ├── .gitignore ├── COPYING ├── README.md ├── RETREIVAL_SIGNALS.md ├── ann/ │ └── src/ │ └── main/ │ ├── java/ │ │ └── com/ │ │ └── twitter/ │ │ └── ann/ │ │ ├── faiss/ │ │ │ ├── BUILD │ │ │ ├── NativeUtils.java │ │ │ └── swig/ │ │ │ ├── AlignedTableFloat32.java │ │ │ ├── AlignedTableUint16.java │ │ │ ├── AlignedTableUint8.java │ │ │ ├── ArrayInvertedLists.java │ │ │ ├── AutoTuneCriterion.java │ │ │ ├── BUILD │ │ │ ├── BitstringReader.java │ │ │ ├── BitstringWriter.java │ │ │ ├── BufferList.java │ │ │ ├── ByteVector.java │ │ │ ├── ByteVectorVector.java │ │ │ ├── CenteringTransform.java │ │ │ ├── CharVector.java │ │ │ ├── Clustering.java │ │ │ ├── Clustering1D.java │ │ │ ├── ClusteringIterationStats.java │ │ │ ├── ClusteringParameters.java │ │ │ ├── DistanceComputer.java │ │ │ ├── DoubleVector.java │ │ │ ├── FloatVector.java │ │ │ ├── FloatVectorVector.java │ │ │ ├── GenHammingComputer16.java │ │ │ ├── GenHammingComputer32.java │ │ │ ├── GenHammingComputer8.java │ │ │ ├── GenHammingComputerM8.java │ │ │ ├── HNSW.java │ │ │ ├── HNSWStats.java │ │ │ ├── HStackInvertedLists.java │ │ │ ├── HammingComputer16.java │ │ │ ├── HammingComputer20.java │ │ │ ├── HammingComputer32.java │ │ │ ├── HammingComputer4.java │ │ │ ├── HammingComputer64.java │ │ │ ├── HammingComputer8.java │ │ │ ├── HammingComputerDefault.java │ │ │ ├── HammingComputerM4.java │ │ │ ├── HammingComputerM8.java │ │ │ ├── IDSelector.java │ │ │ ├── IDSelectorArray.java │ │ │ ├── IDSelectorBatch.java │ │ │ ├── IDSelectorRange.java │ │ │ ├── ITQMatrix.java │ │ │ ├── ITQTransform.java │ │ │ ├── IVFPQSearchParameters.java │ │ │ ├── IVFSearchParameters.java │ │ │ ├── Index.java │ │ │ ├── Index2Layer.java │ │ │ ├── IndexBinary.java │ │ │ ├── IndexBinaryFlat.java │ │ │ ├── IndexBinaryFromFloat.java │ │ │ ├── IndexBinaryHNSW.java │ │ │ ├── IndexBinaryIVF.java │ │ │ ├── IndexFlat.java │ │ │ ├── IndexFlat1D.java │ │ │ ├── IndexFlatCodes.java │ │ │ ├── IndexFlatIP.java │ │ │ ├── IndexFlatL2.java │ │ │ ├── IndexHNSW.java │ │ │ ├── IndexHNSW2Level.java │ │ │ ├── IndexHNSWFlat.java │ │ │ ├── IndexHNSWPQ.java │ │ │ ├── IndexHNSWSQ.java │ │ │ ├── IndexIDMap.java │ │ │ ├── IndexIVF.java │ │ │ ├── IndexIVFFlat.java │ │ │ ├── IndexIVFFlatDedup.java │ │ │ ├── IndexIVFPQ.java │ │ │ ├── IndexIVFPQStats.java │ │ │ ├── IndexIVFScalarQuantizer.java │ │ │ ├── IndexIVFStats.java │ │ │ ├── IndexLSH.java │ │ │ ├── IndexPQ.java │ │ │ ├── IndexPQStats.java │ │ │ ├── IndexRefine.java │ │ │ ├── IndexRefineFlat.java │ │ │ ├── IndexScalarQuantizer.java │ │ │ ├── IndexShards.java │ │ │ ├── IndexSplitVectors.java │ │ │ ├── IntVector.java │ │ │ ├── InterruptCallback.java │ │ │ ├── IntersectionCriterion.java │ │ │ ├── InvertedLists.java │ │ │ ├── InvertedListsPtrVector.java │ │ │ ├── Level1Quantizer.java │ │ │ ├── LinearTransform.java │ │ │ ├── LongVector.java │ │ │ ├── LongVectorVector.java │ │ │ ├── MapLong2Long.java │ │ │ ├── MaskedInvertedLists.java │ │ │ ├── MetricType.java │ │ │ ├── MultiIndexQuantizer.java │ │ │ ├── MultiIndexQuantizer2.java │ │ │ ├── NormalizationTransform.java │ │ │ ├── OPQMatrix.java │ │ │ ├── OnDiskInvertedLists.java │ │ │ ├── OnDiskInvertedListsIOHook.java │ │ │ ├── OnDiskOneList.java │ │ │ ├── OneRecallAtRCriterion.java │ │ │ ├── OperatingPoint.java │ │ │ ├── OperatingPointVector.java │ │ │ ├── OperatingPoints.java │ │ │ ├── PCAMatrix.java │ │ │ ├── PQDecoder16.java │ │ │ ├── PQDecoder8.java │ │ │ ├── PQDecoderGeneric.java │ │ │ ├── PQEncoder16.java │ │ │ ├── PQEncoder8.java │ │ │ ├── PQEncoderGeneric.java │ │ │ ├── ParameterRange.java │ │ │ ├── ParameterSpace.java │ │ │ ├── PartitionStats.java │ │ │ ├── PermutationObjective.java │ │ │ ├── PolysemousTraining.java │ │ │ ├── ProductQuantizer.java │ │ │ ├── ProgressiveDimClustering.java │ │ │ ├── ProgressiveDimClusteringParameters.java │ │ │ ├── ProgressiveDimIndexFactory.java │ │ │ ├── RandomRotationMatrix.java │ │ │ ├── RangeQueryResult.java │ │ │ ├── RangeSearchPartialResult.java │ │ │ ├── RangeSearchResult.java │ │ │ ├── ReadOnlyInvertedLists.java │ │ │ ├── ReconstructFromNeighbors.java │ │ │ ├── RemapDimensionsTransform.java │ │ │ ├── ReproduceDistancesObjective.java │ │ │ ├── SWIGTYPE_p_AlignedTableT_float_32_t.java │ │ │ ├── SWIGTYPE_p_AlignedTableT_float_t.java │ │ │ ├── SWIGTYPE_p_DirectMap.java │ │ │ ├── SWIGTYPE_p_DirectMap__Type.java │ │ │ ├── SWIGTYPE_p_FILE.java │ │ │ ├── SWIGTYPE_p_IOReader.java │ │ │ ├── SWIGTYPE_p_IOWriter.java │ │ │ ├── SWIGTYPE_p_ScalarQuantizer.java │ │ │ ├── SWIGTYPE_p_ScalarQuantizer__QuantizerType.java │ │ │ ├── SWIGTYPE_p_double.java │ │ │ ├── SWIGTYPE_p_faiss__AlignedTableTightAllocT_float_32_t.java │ │ │ ├── SWIGTYPE_p_faiss__AlignedTableTightAllocT_uint16_t_32_t.java │ │ │ ├── SWIGTYPE_p_faiss__AlignedTableTightAllocT_unsigned_char_32_t.java │ │ │ ├── SWIGTYPE_p_faiss__BinaryInvertedListScanner.java │ │ │ ├── SWIGTYPE_p_faiss__HeapArrayT_faiss__CMaxT_float_int64_t_t_t.java │ │ │ ├── SWIGTYPE_p_faiss__HeapArrayT_faiss__CMaxT_int_int64_t_t_t.java │ │ │ ├── SWIGTYPE_p_faiss__HeapArrayT_faiss__CMinT_float_int64_t_t_t.java │ │ │ ├── SWIGTYPE_p_faiss__IOReader.java │ │ │ ├── SWIGTYPE_p_faiss__IOWriter.java │ │ │ ├── SWIGTYPE_p_faiss__InvertedListScanner.java │ │ │ ├── SWIGTYPE_p_faiss__LockLevels.java │ │ │ ├── SWIGTYPE_p_faiss__OnDiskInvertedLists__OngoingPrefetch.java │ │ │ ├── SWIGTYPE_p_faiss__RandomGenerator.java │ │ │ ├── SWIGTYPE_p_float.java │ │ │ ├── SWIGTYPE_p_int.java │ │ │ ├── SWIGTYPE_p_long.java │ │ │ ├── SWIGTYPE_p_long_long.java │ │ │ ├── SWIGTYPE_p_omp_lock_t.java │ │ │ ├── SWIGTYPE_p_p_faiss__Index.java │ │ │ ├── SWIGTYPE_p_p_faiss__InvertedLists.java │ │ │ ├── SWIGTYPE_p_p_faiss__VectorTransform.java │ │ │ ├── SWIGTYPE_p_std__listT_faiss__OnDiskInvertedLists__Slot_t.java │ │ │ ├── SWIGTYPE_p_std__pairT_float_int_t.java │ │ │ ├── SWIGTYPE_p_std__priority_queueT_faiss__HNSW__NodeDistFarther_t.java │ │ │ ├── SWIGTYPE_p_std__priority_queueT_std__pairT_float_int_t_t.java │ │ │ ├── SWIGTYPE_p_std__unordered_mapT_long_long_t.java │ │ │ ├── SWIGTYPE_p_std__unordered_multimapT_int64_t_int64_t_t.java │ │ │ ├── SWIGTYPE_p_std__vectorT_faiss__BufferList__Buffer_t.java │ │ │ ├── SWIGTYPE_p_std__vectorT_faiss__ClusteringIterationStats_t.java │ │ │ ├── SWIGTYPE_p_std__vectorT_faiss__HNSW__NodeDistFarther_t.java │ │ │ ├── SWIGTYPE_p_std__vectorT_faiss__Index_p_t.java │ │ │ ├── SWIGTYPE_p_std__vectorT_faiss__InvertedLists_const_p_t.java │ │ │ ├── SWIGTYPE_p_std__vectorT_faiss__OnDiskOneList_t.java │ │ │ ├── SWIGTYPE_p_std__vectorT_faiss__ParameterRange_t.java │ │ │ ├── SWIGTYPE_p_std__vectorT_faiss__RangeQueryResult_t.java │ │ │ ├── SWIGTYPE_p_std__vectorT_faiss__RangeSearchPartialResult_p_t.java │ │ │ ├── SWIGTYPE_p_std__vectorT_int64_t_t.java │ │ │ ├── SWIGTYPE_p_std__vectorT_long_t.java │ │ │ ├── SWIGTYPE_p_std__vectorT_omp_lock_t_t.java │ │ │ ├── SWIGTYPE_p_std__vectorT_std__vectorT_int64_t_t_t.java │ │ │ ├── SWIGTYPE_p_std__vectorT_std__vectorT_unsigned_long_t_t.java │ │ │ ├── SWIGTYPE_p_uint16_t.java │ │ │ ├── SWIGTYPE_p_uint32_t.java │ │ │ ├── SWIGTYPE_p_unsigned_char.java │ │ │ ├── SWIGTYPE_p_unsigned_long.java │ │ │ ├── SWIGTYPE_p_void.java │ │ │ ├── SimulatedAnnealingOptimizer.java │ │ │ ├── SimulatedAnnealingParameters.java │ │ │ ├── SliceInvertedLists.java │ │ │ ├── SlidingIndexWindow.java │ │ │ ├── StopWordsInvertedLists.java │ │ │ ├── Uint64Vector.java │ │ │ ├── VStackInvertedLists.java │ │ │ ├── VectorTransform.java │ │ │ ├── VectorTransformVector.java │ │ │ ├── VisitedTable.java │ │ │ ├── doubleArray.java │ │ │ ├── floatArray.java │ │ │ ├── float_maxheap_array_t.java │ │ │ ├── float_minheap_array_t.java │ │ │ ├── intArray.java │ │ │ ├── int_maxheap_array_t.java │ │ │ ├── int_minheap_array_t.java │ │ │ ├── longArray.java │ │ │ ├── resources/ │ │ │ │ ├── .gitignore │ │ │ │ ├── .gitkeep │ │ │ │ └── BUILD │ │ │ ├── swigfaiss.java │ │ │ ├── swigfaissConstants.java │ │ │ └── swigfaissJNI.java │ │ └── hnsw/ │ │ ├── BUILD │ │ ├── DistanceFunction.java │ │ ├── DistancedItem.java │ │ ├── DistancedItemQueue.java │ │ ├── HnswIndex.java │ │ ├── HnswIndexIOUtil.java │ │ ├── HnswMeta.java │ │ ├── HnswNode.java │ │ └── IllegalDuplicateInsertException.java │ ├── python/ │ │ └── dataflow/ │ │ ├── BUILD.bazel │ │ ├── bq.sql │ │ ├── faiss_index_bq_dataset.py │ │ └── worker_harness/ │ │ ├── Dockerfile │ │ └── cloudbuild.yml │ ├── scala/ │ │ └── com/ │ │ └── twitter/ │ │ └── ann/ │ │ ├── annoy/ │ │ │ ├── AnnoyCommon.scala │ │ │ ├── BUILD │ │ │ ├── RawAnnoyIndexBuilder.scala │ │ │ ├── RawAnnoyQueryIndex.scala │ │ │ ├── TypedAnnoyIndex.scala │ │ │ ├── TypedAnnoyIndexBuilderWithFile.scala │ │ │ └── TypedAnnoyQueryIndexWithFile.scala │ │ ├── brute_force/ │ │ │ ├── BUILD │ │ │ ├── BruteForceDeserialization.scala │ │ │ └── BruteForceIndex.scala │ │ ├── common/ │ │ │ ├── AnnInjections.scala │ │ │ ├── Api.scala │ │ │ ├── BUILD │ │ │ ├── EmbeddingProducer.scala │ │ │ ├── IndexOutputFile.scala │ │ │ ├── IndexTransformer.scala │ │ │ ├── MemoizedInEpochs.scala │ │ │ ├── Metric.scala │ │ │ ├── QueryableById.scala │ │ │ ├── QueryableByIdImplementation.scala │ │ │ ├── QueryableOperations.scala │ │ │ ├── ReadWriteFuturePool.scala │ │ │ ├── Serialization.scala │ │ │ ├── ServiceClientQueryable.scala │ │ │ ├── ShardApi.scala │ │ │ ├── ShardedSerialization.scala │ │ │ └── Task.scala │ │ ├── dataflow/ │ │ │ └── offline/ │ │ │ ├── ANNIndexBuilderBeamJob.scala │ │ │ ├── BUILD │ │ │ ├── BaseEmbeddingData.scala │ │ │ ├── FlatEmbeddingData.scala │ │ │ └── GroupedEmbeddingData.scala │ │ ├── experimental/ │ │ │ ├── BUILD.bazel │ │ │ └── Runner.scala │ │ ├── faiss/ │ │ │ ├── BUILD │ │ │ ├── FaissCommon.scala │ │ │ ├── FaissIndex.scala │ │ │ ├── FaissIndexer.scala │ │ │ ├── HourlyDirectoryWithSuccessFileListing.scala │ │ │ ├── HourlyShardedIndex.scala │ │ │ └── QueryableIndexAdapter.scala │ │ ├── featurestore/ │ │ │ ├── BUILD │ │ │ └── FeatureStoreEmbeddingProducer.scala │ │ ├── file_store/ │ │ │ ├── BUILD │ │ │ ├── ReadableIndexIdFileStore.scala │ │ │ └── WritableIndexIdFileStore.scala │ │ ├── hnsw/ │ │ │ ├── BUILD │ │ │ ├── DistanceFunctionGenerator.scala │ │ │ ├── Hnsw.scala │ │ │ ├── HnswCommon.scala │ │ │ ├── HnswIOUtil.scala │ │ │ ├── IdEmbeddingMap.scala │ │ │ ├── JMapBasedIdEmbeddingMap.scala │ │ │ ├── MapDbBasedIdEmbeddingMap.scala │ │ │ ├── SerializableHnsw.scala │ │ │ └── TypedHnswIndex.scala │ │ ├── manhattan/ │ │ │ ├── BUILD │ │ │ ├── ManhattanEmbeddingProducer.scala │ │ │ └── README │ │ ├── scalding/ │ │ │ ├── benchmark/ │ │ │ │ ├── BUILD │ │ │ │ └── Knn.scala │ │ │ └── offline/ │ │ │ ├── BUILD.bazel │ │ │ ├── IndexingStrategy.scala │ │ │ ├── KnnDebug.scala │ │ │ ├── KnnEntityRecoDebugJob.scala │ │ │ ├── KnnHelper.scala │ │ │ ├── KnnOfflineJob.scala │ │ │ ├── KnnTruthSetGenerator.scala │ │ │ ├── ParameterlessQueryable.scala │ │ │ ├── README │ │ │ ├── faissindexbuilder/ │ │ │ │ ├── BUILD.bazel │ │ │ │ ├── IndexBuilder.scala │ │ │ │ └── IndexBuilderApp.scala │ │ │ ├── indexbuilder/ │ │ │ │ ├── BUILD.bazel │ │ │ │ ├── IndexBuilder.scala │ │ │ │ ├── IndexBuilderApp.scala │ │ │ │ └── README.rst │ │ │ └── indexbuilderfrombq/ │ │ │ ├── BUILD.bazel │ │ │ ├── IndexBuilderFromBQ.scala │ │ │ └── IndexBuilderFromBQApp.scala │ │ ├── serialization/ │ │ │ ├── BUILD │ │ │ ├── DummyANNIndexInjection.scala │ │ │ ├── PersistedEmbeddingInjection.scala │ │ │ └── ThriftIteratorIO.scala │ │ ├── service/ │ │ │ ├── loadtest/ │ │ │ │ ├── AnnLoadTest.scala │ │ │ │ ├── AnnLoadTestMain.scala │ │ │ │ ├── AnnLoadTestWorker.scala │ │ │ │ ├── BUILD │ │ │ │ ├── EmbeddingIndexer.scala │ │ │ │ ├── LoadTestRecorder.scala │ │ │ │ ├── LoadTestUtils.scala │ │ │ │ └── README.md │ │ │ └── query_server/ │ │ │ ├── common/ │ │ │ │ ├── BUILD │ │ │ │ ├── BaseQueryIndexServer.scala │ │ │ │ ├── Exceptions.scala │ │ │ │ ├── FaissIndexPathProvider.scala │ │ │ │ ├── IndexPathProvider.scala │ │ │ │ ├── QueryIndexThriftController.scala │ │ │ │ ├── QueryServerUtil.scala │ │ │ │ ├── QueryableProvider.scala │ │ │ │ ├── RefreshableQueryable.scala │ │ │ │ ├── UnsafeQueryIndexServer.scala │ │ │ │ ├── throttling/ │ │ │ │ │ ├── AuroraCPUStatsReader.scala │ │ │ │ │ ├── BUILD │ │ │ │ │ ├── ThrottlingBasedQualityTask.scala │ │ │ │ │ ├── WindowedStats.scala │ │ │ │ │ └── WindowedThrottlingInstrument.scala │ │ │ │ └── warmup/ │ │ │ │ ├── BUILD │ │ │ │ └── Warmup.scala │ │ │ ├── faiss/ │ │ │ │ ├── BUILD │ │ │ │ └── FaissQueryIndexServer.scala │ │ │ └── hnsw/ │ │ │ ├── BUILD │ │ │ └── HnswQueryIndexServer.scala │ │ └── util/ │ │ ├── BUILD │ │ └── IndexBuilderUtils.scala │ └── thrift/ │ └── com/ │ └── twitter/ │ └── ann/ │ ├── common/ │ │ ├── BUILD │ │ └── ann_common.thrift │ ├── knn/ │ │ ├── BUILD │ │ └── knn.thrift │ └── serialization/ │ ├── BUILD │ └── serialization.thrift ├── ci/ │ └── ci.sh ├── cr-mixer/ │ ├── BUILD.bazel │ ├── README.md │ ├── server/ │ │ └── src/ │ │ └── main/ │ │ ├── resources/ │ │ │ ├── BUILD.bazel │ │ │ ├── config/ │ │ │ │ └── decider.yml │ │ │ └── logback.xml │ │ └── scala/ │ │ └── com/ │ │ └── twitter/ │ │ └── cr_mixer/ │ │ ├── BUILD.bazel │ │ ├── CrMixerHttpServerWarmupHandler.scala │ │ ├── CrMixerServer.scala │ │ ├── CrMixerThriftServerWarmupHandler.scala │ │ ├── blender/ │ │ │ ├── AdsBlender.scala │ │ │ ├── BUILD │ │ │ ├── BlendedCandidatesBuilder.scala │ │ │ ├── ContentSignalBlender.scala │ │ │ ├── CountWeightedInterleaveBlender.scala │ │ │ ├── InterleaveBlender.scala │ │ │ ├── SourceTypeBackFillBlender.scala │ │ │ └── SwitchBlender.scala │ │ ├── candidate_generation/ │ │ │ ├── AdsCandidateGenerator.scala │ │ │ ├── AdsCandidateSourcesRouter.scala │ │ │ ├── BUILD │ │ │ ├── CandidateSourcesRouter.scala │ │ │ ├── CrCandidateGenerator.scala │ │ │ ├── CustomizedRetrievalCandidateGeneration.scala │ │ │ ├── FrsTweetCandidateGenerator.scala │ │ │ ├── RelatedTweetCandidateGenerator.scala │ │ │ ├── RelatedVideoTweetCandidateGenerator.scala │ │ │ ├── SimClustersInterestedInCandidateGeneration.scala │ │ │ ├── TopicTweetCandidateGenerator.scala │ │ │ └── UtegTweetCandidateGenerator.scala │ │ ├── config/ │ │ │ ├── BUILD │ │ │ ├── SimClustersANNConfig.scala │ │ │ └── TimeoutConfig.scala │ │ ├── controller/ │ │ │ ├── BUILD.bazel │ │ │ └── CrMixerThriftController.scala │ │ ├── exception/ │ │ │ ├── BUILD │ │ │ └── InvalidSANNConfigException.scala │ │ ├── featureswitch/ │ │ │ ├── BUILD │ │ │ ├── CrMixerLoggingABDecider.scala │ │ │ ├── ParamsBuilder.scala │ │ │ └── SetImpressedBucketsLocalContextFilter.scala │ │ ├── filter/ │ │ │ ├── BUILD │ │ │ ├── FilterBase.scala │ │ │ ├── ImpressedTweetlistFilter.scala │ │ │ ├── InNetworkFilter.scala │ │ │ ├── PostRankFilterRunner.scala │ │ │ ├── PreRankFilterRunner.scala │ │ │ ├── ReplyFilter.scala │ │ │ ├── RetweetFilter.scala │ │ │ ├── TweetAgeFilter.scala │ │ │ ├── TweetInfoHealthFilterBase.scala │ │ │ ├── UtegFilterRunner.scala │ │ │ ├── UtegHealthFilter.scala │ │ │ └── VideoTweetFilter.scala │ │ ├── logging/ │ │ │ ├── AdsRecommendationsScribeLogger.scala │ │ │ ├── BUILD │ │ │ ├── CrMixerScribeLogger.scala │ │ │ ├── RelatedTweetScribeLogger.scala │ │ │ ├── ScribeLoggerUtils.scala │ │ │ ├── ScribeMetadata.scala │ │ │ ├── TopLevelDdgMetricsMetadata.scala │ │ │ └── UtegTweetScribeLogger.scala │ │ ├── model/ │ │ │ ├── BUILD │ │ │ ├── Candidate.scala │ │ │ ├── CandidateGenerationInfo.scala │ │ │ ├── CandidateGeneratorQuery.scala │ │ │ ├── EarlybirdSimilarityEngineType.scala │ │ │ ├── HealthThreshold.scala │ │ │ ├── ModelConfig.scala │ │ │ ├── ModuleNames.scala │ │ │ ├── TopicTweetWithScore.scala │ │ │ ├── TweetWithAuthor.scala │ │ │ ├── TweetWithScore.scala │ │ │ └── TweetWithScoreAndSocialProof.scala │ │ ├── module/ │ │ │ ├── ActivePromotedTweetStoreModule.scala │ │ │ ├── BUILD.bazel │ │ │ ├── BlueVerifiedAnnotationStoreModule.scala │ │ │ ├── CertoStratoStoreModule.scala │ │ │ ├── ConsumersBasedUserAdGraphStoreModule.scala │ │ │ ├── ConsumersBasedUserTweetGraphStoreModule.scala │ │ │ ├── ConsumersBasedUserVideoGraphStoreModule.scala │ │ │ ├── CrMixerParamConfigModule.scala │ │ │ ├── DiffusionStoreModule.scala │ │ │ ├── EarlybirdRecencyBasedCandidateStoreModule.scala │ │ │ ├── EmbeddingStoreModule.scala │ │ │ ├── FrsStoreModule.scala │ │ │ ├── MHMtlsParamsModule.scala │ │ │ ├── OfflineCandidateStoreModule.scala │ │ │ ├── RealGraphOonStoreModule.scala │ │ │ ├── RealGraphStoreMhModule.scala │ │ │ ├── RepresentationManagerModule.scala │ │ │ ├── RepresentationScorerModule.scala │ │ │ ├── SampleSimilarityEngineModule.scala │ │ │ ├── SimClustersANNServiceNameToClientMapper.scala │ │ │ ├── SkitStratoStoreModule.scala │ │ │ ├── StrongTiePredictionStoreModule.scala │ │ │ ├── TripCandidateStoreModule.scala │ │ │ ├── TweetInfoStoreModule.scala │ │ │ ├── TweetRecentEngagedUserStoreModule.scala │ │ │ ├── TweetRecommendationResultsStoreModule.scala │ │ │ ├── TwhinCollabFilterStratoStoreModule.scala │ │ │ ├── TwiceClustersMembersStoreModule.scala │ │ │ ├── UnifiedCacheClient.scala │ │ │ ├── UserSignalServiceColumnModule.scala │ │ │ ├── UserSignalServiceStoreModule.scala │ │ │ ├── UserStateStoreModule.scala │ │ │ ├── core/ │ │ │ │ ├── ABDeciderModule.scala │ │ │ │ ├── CrMixerFlagModule.scala │ │ │ │ ├── CrMixerLoggingABDeciderModule.scala │ │ │ │ ├── FeatureContextBuilderModule.scala │ │ │ │ ├── FeatureSwitchesModule.scala │ │ │ │ ├── KafkaProducerModule.scala │ │ │ │ ├── LoggerFactoryModule.scala │ │ │ │ ├── MemoizingStatsReceiverModule.scala │ │ │ │ └── TimeoutConfigModule.scala │ │ │ ├── grpc_client/ │ │ │ │ └── NaviGRPCClientModule.scala │ │ │ ├── similarity_engine/ │ │ │ │ ├── CertoTopicTweetSimilarityEngineModule.scala │ │ │ │ ├── ConsumerBasedWalsSimilarityEngineModule.scala │ │ │ │ ├── ConsumerEmbeddingBasedTripSimilarityEngineModule.scala │ │ │ │ ├── ConsumerEmbeddingBasedTwHINSimilarityEngineModule.scala │ │ │ │ ├── ConsumerEmbeddingBasedTwoTowerSimilarityEngineModule.scala │ │ │ │ ├── ConsumersBasedUserAdGraphSimilarityEngineModule.scala │ │ │ │ ├── ConsumersBasedUserVideoGraphSimilarityEngineModule.scala │ │ │ │ ├── DiffusionBasedSimilarityEngineModule.scala │ │ │ │ ├── EarlybirdSimilarityEngineModule.scala │ │ │ │ ├── ProducerBasedUnifiedSimilarityEngineModule.scala │ │ │ │ ├── ProducerBasedUserAdGraphSimilarityEngineModule.scala │ │ │ │ ├── ProducerBasedUserTweetGraphSimilarityEngineModule.scala │ │ │ │ ├── SimClustersANNSimilarityEngineModule.scala │ │ │ │ ├── SkitTopicTweetSimilarityEngineModule.scala │ │ │ │ ├── TweetBasedQigSimilarityEngineModule.scala │ │ │ │ ├── TweetBasedTwHINSimlarityEngineModule.scala │ │ │ │ ├── TweetBasedUnifiedSimilarityEngineModule.scala │ │ │ │ ├── TweetBasedUserAdGraphSimilarityEngineModule.scala │ │ │ │ ├── TweetBasedUserTweetGraphSimilarityEngineModule.scala │ │ │ │ ├── TweetBasedUserVideoGraphSimilarityEngineModule.scala │ │ │ │ ├── TwhinCollabFilterLookupSimilarityEngineModule.scala │ │ │ │ └── UserTweetEntityGraphSimilarityEngineModule.scala │ │ │ └── thrift_client/ │ │ │ ├── AnnQueryServiceClientModule.scala │ │ │ ├── EarlybirdSearchClientModule.scala │ │ │ ├── FrsClientModule.scala │ │ │ ├── HydraPartitionClientModule.scala │ │ │ ├── HydraRootClientModule.scala │ │ │ ├── QigServiceClientModule.scala │ │ │ ├── SimClustersAnnServiceClientModule.scala │ │ │ ├── TweetyPieClientModule.scala │ │ │ ├── UserAdGraphClientModule.scala │ │ │ ├── UserTweetEntityGraphClientModule.scala │ │ │ ├── UserTweetGraphClientModule.scala │ │ │ ├── UserTweetGraphPlusClientModule.scala │ │ │ └── UserVideoGraphClientModule.scala │ │ ├── param/ │ │ │ ├── AdsParams.scala │ │ │ ├── BUILD │ │ │ ├── BlenderParams.scala │ │ │ ├── BypassInterleaveAndRankParams.scala │ │ │ ├── ConsumerBasedWalsParams.scala │ │ │ ├── ConsumerEmbeddingBasedCandidateGenerationParams.scala │ │ │ ├── ConsumerEmbeddingBasedTripParams.scala │ │ │ ├── ConsumerEmbeddingBasedTwHINParams.scala │ │ │ ├── ConsumerEmbeddingBasedTwoTowerParams.scala │ │ │ ├── ConsumersBasedUserAdGraphParams.scala │ │ │ ├── ConsumersBasedUserTweetGraphParams.scala │ │ │ ├── ConsumersBasedUserVideoGraphParams.scala │ │ │ ├── CrMixerParamConfig.scala │ │ │ ├── CustomizedRetrievalBasedCandidateGenerationParams.scala │ │ │ ├── CustomizedRetrievalBasedFTROfflineInterestedInParams.scala │ │ │ ├── CustomizedRetrievalBasedOfflineInterestedInParams.scala │ │ │ ├── CustomizedRetrievalBasedTwhinParams.scala │ │ │ ├── EarlybirdFrsBasedCandidateGenerationParams.scala │ │ │ ├── FrsParams.scala │ │ │ ├── GlobalParams.scala │ │ │ ├── GoodProfileClickParams.scala │ │ │ ├── GoodTweetClickParams.scala │ │ │ ├── InterestedInParams.scala │ │ │ ├── ProducerBasedCandidateGenerationParams.scala │ │ │ ├── ProducerBasedUserAdGraphParams.scala │ │ │ ├── ProducerBasedUserTweetGraphParams.scala │ │ │ ├── RankerParams.scala │ │ │ ├── RealGraphInParams.scala │ │ │ ├── RealGraphOonParams.scala │ │ │ ├── RecentFollowsParams.scala │ │ │ ├── RecentNegativeSignalParams.scala │ │ │ ├── RecentNotificationsParams.scala │ │ │ ├── RecentOriginalTweetsParams.scala │ │ │ ├── RecentReplyTweetsParams.scala │ │ │ ├── RecentRetweetsParams.scala │ │ │ ├── RecentTweetFavoritesParams.scala │ │ │ ├── RelatedTweetGlobalParams.scala │ │ │ ├── RelatedTweetProducerBasedParams.scala │ │ │ ├── RelatedTweetTweetBasedParams.scala │ │ │ ├── RelatedVideoTweetGlobalParams.scala │ │ │ ├── RelatedVideoTweetTweetBasedParams.scala │ │ │ ├── RepeatedProfileVisitsParams.scala │ │ │ ├── SimClustersANNParams.scala │ │ │ ├── TopicTweetParams.scala │ │ │ ├── TweetBasedCandidateGenerationParams.scala │ │ │ ├── TweetBasedTwHINParams.scala │ │ │ ├── TweetBasedUserAdGraphParams.scala │ │ │ ├── TweetBasedUserTweetGraphParams.scala │ │ │ ├── TweetBasedUserVideoGraphParams.scala │ │ │ ├── TweetSharesParams.scala │ │ │ ├── UnifiedSETweetCombinationMethod.scala │ │ │ ├── UnifiedUSSSignalParams.scala │ │ │ ├── UtegTweetGlobalParams.scala │ │ │ ├── VideoTweetFilterParams.scala │ │ │ ├── VideoViewTweetsParams.scala │ │ │ └── decider/ │ │ │ ├── BUILD │ │ │ ├── CrMixerDecider.scala │ │ │ ├── DeciderKey.scala │ │ │ └── EndpointLoadShedder.scala │ │ ├── ranker/ │ │ │ ├── BUILD │ │ │ ├── DefaultRanker.scala │ │ │ └── SwitchRanker.scala │ │ ├── scribe/ │ │ │ ├── BUILD │ │ │ └── ScribeCategory.scala │ │ ├── service/ │ │ │ ├── BUILD.bazel │ │ │ └── CrMixerAlertNotificationConfig.scala │ │ ├── similarity_engine/ │ │ │ ├── BUILD │ │ │ ├── CertoTopicTweetSimilarityEngine.scala │ │ │ ├── ConsumerBasedWalsSimilarityEngine.scala │ │ │ ├── ConsumerEmbeddingBasedTripSimilarityEngine.scala │ │ │ ├── ConsumerEmbeddingBasedTwHINSimilarityEngine.scala │ │ │ ├── ConsumerEmbeddingBasedTwoTowerSimilarityEngine.scala │ │ │ ├── ConsumersBasedUserAdGraphSimilarityEngine.scala │ │ │ ├── ConsumersBasedUserVideoGraphSimilarityEngine.scala │ │ │ ├── DiffusionBasedSimilarityEngine.scala │ │ │ ├── EarlybirdModelBasedSimilarityEngine.scala │ │ │ ├── EarlybirdRecencyBasedSimilarityEngine.scala │ │ │ ├── EarlybirdSimilarityEngine.scala │ │ │ ├── EarlybirdSimilarityEngineBase.scala │ │ │ ├── EarlybirdSimilarityEngineRouter.scala │ │ │ ├── EarlybirdTensorflowBasedSimilarityEngine.scala │ │ │ ├── FilterUtil.scala │ │ │ ├── HnswANNSimilarityEngine.scala │ │ │ ├── LookupSimilarityEngine.scala │ │ │ ├── ModelBasedANNStore.scala │ │ │ ├── ProducerBasedUnifiedSimilarityEngine.scala │ │ │ ├── ProducerBasedUserAdGraphSimilarityEngine.scala │ │ │ ├── ProducerBasedUserTweetGraphSimilarityEngine.scala │ │ │ ├── SimClustersANNSimilarityEngine.scala │ │ │ ├── SimilarityEngine.scala │ │ │ ├── SimilaritySourceOrderingUtil.scala │ │ │ ├── SkitHighPrecisionTopicTweetSimilarityEngine.scala │ │ │ ├── SkitTopicTweetSimilarityEngine.scala │ │ │ ├── StandardSimilarityEngine.scala │ │ │ ├── TweetBasedQigSimilarityEngine.scala │ │ │ ├── TweetBasedUnifiedSimilarityEngine.scala │ │ │ ├── TweetBasedUserAdGraphSimilarityEngine.scala │ │ │ ├── TweetBasedUserTweetGraphSimilarityEngine.scala │ │ │ ├── TweetBasedUserVideoGraphSimilarityEngine.scala │ │ │ ├── TwhinCollabFilterSimilarityEngine.scala │ │ │ └── UserTweetEntityGraphSimilarityEngine.scala │ │ ├── source_signal/ │ │ │ ├── BUILD │ │ │ ├── FrsSourceGraphFetcher.scala │ │ │ ├── FrsSourceSignalFetcher.scala │ │ │ ├── FrsStore.scala │ │ │ ├── RealGraphInSourceGraphFetcher.scala │ │ │ ├── RealGraphOonSourceGraphFetcher.scala │ │ │ ├── SourceFetcher.scala │ │ │ ├── SourceGraphFetcher.scala │ │ │ ├── SourceInfoRouter.scala │ │ │ ├── SourceSignalFetcher.scala │ │ │ ├── UssSourceSignalFetcher.scala │ │ │ └── UssStore.scala │ │ └── util/ │ │ ├── BUILD │ │ ├── CandidateGenerationKeyUtil.scala │ │ ├── CountWeightedInterleaveUtil.scala │ │ ├── EarlybirdSearchUtil.scala │ │ ├── InterleaveUtil.scala │ │ ├── MetricTagUtil.scala │ │ └── SignalTimestampStatsUtil.scala │ └── thrift/ │ └── src/ │ └── main/ │ └── thrift/ │ ├── BUILD │ ├── ads.thrift │ ├── candidate_generation_key.thrift │ ├── cr_mixer.thrift │ ├── frs_based_tweet.thrift │ ├── metric_tags.thrift │ ├── product.thrift │ ├── product_context.thrift │ ├── related_tweet.thrift │ ├── related_video_tweet.thrift │ ├── scribe.thrift │ ├── source_type.thrift │ ├── topic_tweet.thrift │ ├── uteg.thrift │ └── validation.thrift ├── follow-recommendations-service/ │ ├── BUILD │ ├── CONFIG.ini │ ├── README.md │ ├── common/ │ │ └── src/ │ │ └── main/ │ │ └── scala/ │ │ └── com/ │ │ └── twitter/ │ │ └── follow_recommendations/ │ │ └── common/ │ │ ├── base/ │ │ │ ├── BUILD │ │ │ ├── CandidateSourceRegistry.scala │ │ │ ├── EnrichedCandidateSource.scala │ │ │ ├── ParamPredicate.scala │ │ │ ├── Predicate.scala │ │ │ ├── PredicateResult.scala │ │ │ ├── Ranker.scala │ │ │ ├── RecommendationFlow.scala │ │ │ ├── SideEffectsUtil.scala │ │ │ ├── StatsUtil.scala │ │ │ └── Transform.scala │ │ ├── candidate_sources/ │ │ │ ├── addressbook/ │ │ │ │ ├── AddressBookParams.scala │ │ │ │ ├── BUILD │ │ │ │ ├── ForwardEmailBookSource.scala │ │ │ │ ├── ForwardPhoneBookSource.scala │ │ │ │ ├── README.md │ │ │ │ ├── ReverseEmailBookSource.scala │ │ │ │ └── ReversePhoneBookSource.scala │ │ │ ├── base/ │ │ │ │ ├── BUILD │ │ │ │ ├── CachedCandidateSource.scala │ │ │ │ ├── ExperimentalCandidateSource.scala │ │ │ │ ├── RealGraphExpansionRepository.scala │ │ │ │ ├── SimilarUserExpanderParams.scala │ │ │ │ ├── SimilarUserExpanderRepository.scala │ │ │ │ ├── SocialProofEnforcedCandidateSource.scala │ │ │ │ ├── SocialProofEnforcedCandidateSourceFSConfig.scala │ │ │ │ ├── SocialProofEnforcedCandidateSourceParams.scala │ │ │ │ ├── StratoFetcherSource.scala │ │ │ │ ├── StratoFetcherWithUnitViewSource.scala │ │ │ │ ├── TweetAuthorsCandidateSource.scala │ │ │ │ └── TwoHopExpansionCandidateSource.scala │ │ │ ├── crowd_search_accounts/ │ │ │ │ ├── BUILD │ │ │ │ ├── CrowdSearchAccountsFSConfig.scala │ │ │ │ ├── CrowdSearchAccountsParams.scala │ │ │ │ ├── CrowdSearchAccountsSource.scala │ │ │ │ └── README.md │ │ │ ├── geo/ │ │ │ │ ├── BUILD │ │ │ │ ├── BasePopGeoHashSource.scala │ │ │ │ ├── PopCountryBackFillSource.scala │ │ │ │ ├── PopCountrySource.scala │ │ │ │ ├── PopGeoQualityFollowSource.scala │ │ │ │ ├── PopGeoQualityFollowSourceFSConfig.scala │ │ │ │ ├── PopGeoQualityFollowSourceParams.scala │ │ │ │ ├── PopGeoSource.scala │ │ │ │ ├── PopGeoSourceFSConfig.scala │ │ │ │ ├── PopGeoSourceParams.scala │ │ │ │ ├── PopGeohashSource.scala │ │ │ │ └── README.md │ │ │ ├── ppmi_locale_follow/ │ │ │ │ ├── BUILD │ │ │ │ ├── PPMILocaleFollowSource.scala │ │ │ │ ├── PPMILocaleFollowSourceFSConfig.scala │ │ │ │ ├── PPMILocaleFollowSourceParams.scala │ │ │ │ └── README.md │ │ │ ├── promoted_accounts/ │ │ │ │ ├── BUILD │ │ │ │ ├── PromotedAccountsCandidateSource.scala │ │ │ │ └── README.md │ │ │ ├── real_graph/ │ │ │ │ ├── BUILD │ │ │ │ ├── README.md │ │ │ │ ├── RealGraphOonFSConfig.scala │ │ │ │ ├── RealGraphOonParams.scala │ │ │ │ ├── RealGraphOonV2Source.scala │ │ │ │ └── RealGraphSource.scala │ │ │ ├── recent_engagement/ │ │ │ │ ├── BUILD │ │ │ │ ├── README.md │ │ │ │ ├── RecentEngagementDirectFollowSource.scala │ │ │ │ ├── RecentEngagementNonDirectFollowSource.scala │ │ │ │ ├── RepeatedProfileVisitsFSConfig.scala │ │ │ │ ├── RepeatedProfileVisitsParams.scala │ │ │ │ └── RepeatedProfileVisitsSource.scala │ │ │ ├── salsa/ │ │ │ │ ├── BUILD │ │ │ │ ├── README.md │ │ │ │ ├── RecentEngagementDirectFollowSalsaExpansionSource.scala │ │ │ │ ├── SalsaExpander.scala │ │ │ │ └── SalsaExpansionBasedCandidateSource.scala │ │ │ ├── sims/ │ │ │ │ ├── BUILD │ │ │ │ ├── CacheBasedSimsStore.scala │ │ │ │ ├── DBV2SimsRefreshStore.scala │ │ │ │ ├── DBV2SimsStore.scala │ │ │ │ ├── Follow2vecNearestNeighborsStore.scala │ │ │ │ ├── README.md │ │ │ │ ├── SimsExperimentalStore.scala │ │ │ │ ├── SimsSourceFSConfig.scala │ │ │ │ ├── SimsSourceParams.scala │ │ │ │ ├── SimsStore.scala │ │ │ │ ├── StratoBasedSimsCandidateSource.scala │ │ │ │ ├── StratoBasedSimsCandidateSourceWithUnitView.scala │ │ │ │ └── SwitchingSimsSource.scala │ │ │ ├── sims_expansion/ │ │ │ │ ├── BUILD │ │ │ │ ├── DBV2SimsExpansionParams.scala │ │ │ │ ├── README.md │ │ │ │ ├── RecentEngagementSimilarUsersFSConfig.scala │ │ │ │ ├── RecentEngagementSimilarUsersParams.scala │ │ │ │ ├── RecentEngagementSimilarUsersSource.scala │ │ │ │ ├── RecentFollowingSimilarUsersParams.scala │ │ │ │ ├── RecentFollowingSimilarUsersSource.scala │ │ │ │ ├── RecentStrongEngagementDirectFollowSimilarUsersSource.scala │ │ │ │ ├── SimsExpansionBasedCandidateSource.scala │ │ │ │ ├── SimsExpansionFSConfig.scala │ │ │ │ └── SimsExpansionSourceParams.scala │ │ │ ├── socialgraph/ │ │ │ │ ├── BUILD │ │ │ │ ├── README.md │ │ │ │ ├── RecentFollowingRecentFollowingExpansionSource.scala │ │ │ │ ├── RecentFollowingRecentFollowingExpansionSourceFSConfig.scala │ │ │ │ └── RecentFollowingRecentFollowingExpansionSourceParams.scala │ │ │ ├── stp/ │ │ │ │ ├── BUILD │ │ │ │ ├── BaseOnlineSTPSource.scala │ │ │ │ ├── Dbv2StpScorer.scala │ │ │ │ ├── EpStpScorer.scala │ │ │ │ ├── MutualFollowStrongTiePredictionSource.scala │ │ │ │ ├── OfflineMutualFollowExpansionSource.scala │ │ │ │ ├── OfflineStpSourceFsConfig.scala │ │ │ │ ├── OfflineStpSourceParams.scala │ │ │ │ ├── OfflineStpSourceWithDensePmiMatrix.scala │ │ │ │ ├── OfflineStpSourceWithLegacyPmiMatrix.scala │ │ │ │ ├── OfflineStrongTiePredictionBaseSource.scala │ │ │ │ ├── OfflineStrongTiePredictionSource.scala │ │ │ │ ├── OnlineSTPSourceFSConfig.scala │ │ │ │ ├── OnlineSTPSourceParams.scala │ │ │ │ ├── OnlineSTPSourceScorer.scala │ │ │ │ ├── OnlineSTPSourceWithDeepbirdV2Scorer.scala │ │ │ │ ├── OnlineSTPSourceWithEPScorer.scala │ │ │ │ ├── README.md │ │ │ │ ├── STPFirstDegreeFetcher.scala │ │ │ │ ├── STPGraphBuilder.scala │ │ │ │ ├── STPSecondDegreeFetcher.scala │ │ │ │ └── SocialProofEnforcedOfflineStrongTiePredictionSource.scala │ │ │ ├── top_organic_follows_accounts/ │ │ │ │ ├── BUILD │ │ │ │ ├── README.md │ │ │ │ ├── TopOrganicFollowsAccountsFSConfig.scala │ │ │ │ ├── TopOrganicFollowsAccountsParams.scala │ │ │ │ └── TopOrganicFollowsAccountsSource.scala │ │ │ ├── triangular_loops/ │ │ │ │ ├── BUILD │ │ │ │ ├── README.md │ │ │ │ ├── TriangularLoopsFSConfig.scala │ │ │ │ ├── TriangularLoopsParams.scala │ │ │ │ └── TriangularLoopsSource.scala │ │ │ ├── two_hop_random_walk/ │ │ │ │ ├── BUILD │ │ │ │ ├── README.md │ │ │ │ └── TwoHopRandomWalkSource.scala │ │ │ └── user_user_graph/ │ │ │ ├── BUILD │ │ │ ├── README.md │ │ │ ├── UserUserGraphCandidateSource.scala │ │ │ ├── UserUserGraphFSConfig.scala │ │ │ └── UserUserGraphParams.scala │ │ ├── clients/ │ │ │ ├── addressbook/ │ │ │ │ ├── AddressbookClient.scala │ │ │ │ ├── AddressbookModule.scala │ │ │ │ ├── BUILD │ │ │ │ └── models/ │ │ │ │ ├── BUILD │ │ │ │ ├── Contact.scala │ │ │ │ ├── EdgeType.scala │ │ │ │ ├── QueryOption.scala │ │ │ │ └── RecordIdentifier.scala │ │ │ ├── adserver/ │ │ │ │ ├── AdRequest.scala │ │ │ │ ├── AdserverClient.scala │ │ │ │ ├── AdserverModule.scala │ │ │ │ └── BUILD │ │ │ ├── cache/ │ │ │ │ ├── BUILD │ │ │ │ ├── MemcacheClient.scala │ │ │ │ ├── MemcacheModule.scala │ │ │ │ └── ThriftBijection.scala │ │ │ ├── common/ │ │ │ │ ├── BUILD │ │ │ │ └── BaseClientModule.scala │ │ │ ├── deepbirdv2/ │ │ │ │ ├── BUILD │ │ │ │ └── DeepBirdV2PredictionServiceClientModule.scala │ │ │ ├── dismiss_store/ │ │ │ │ ├── BUILD │ │ │ │ └── DismissStore.scala │ │ │ ├── email_storage_service/ │ │ │ │ ├── BUILD │ │ │ │ ├── EmailStorageServiceClient.scala │ │ │ │ └── EmailStorageServiceModule.scala │ │ │ ├── geoduck/ │ │ │ │ ├── BUILD │ │ │ │ ├── LocationServiceClient.scala │ │ │ │ ├── LocationServiceModule.scala │ │ │ │ ├── ReverseGeocodeClient.scala │ │ │ │ └── UserLocationFetcher.scala │ │ │ ├── gizmoduck/ │ │ │ │ ├── BUILD │ │ │ │ ├── GizmoduckClient.scala │ │ │ │ └── GizmoduckModule.scala │ │ │ ├── graph_feature_service/ │ │ │ │ ├── BUILD │ │ │ │ ├── GraphFeatureServiceClient.scala │ │ │ │ └── GraphFeatureStoreModule.scala │ │ │ ├── impression_store/ │ │ │ │ ├── BUILD │ │ │ │ ├── ImpressionStoreModule.scala │ │ │ │ └── WtfImpressionStore.scala │ │ │ ├── interests_service/ │ │ │ │ ├── BUILD │ │ │ │ └── InterestServiceClient.scala │ │ │ ├── phone_storage_service/ │ │ │ │ ├── BUILD │ │ │ │ ├── PhoneStorageServiceClient.scala │ │ │ │ └── PhoneStorageServiceModule.scala │ │ │ ├── real_time_real_graph/ │ │ │ │ ├── BUILD │ │ │ │ ├── Engagement.scala │ │ │ │ ├── EngagementScorer.scala │ │ │ │ └── RealTimeRealGraphClient.scala │ │ │ ├── socialgraph/ │ │ │ │ ├── BUILD │ │ │ │ ├── SocialGraphClient.scala │ │ │ │ └── SocialGraphModule.scala │ │ │ ├── strato/ │ │ │ │ ├── BUILD │ │ │ │ └── StratoClientModule.scala │ │ │ └── user_state/ │ │ │ ├── BUILD │ │ │ └── UserStateClient.scala │ │ ├── constants/ │ │ │ ├── BUILD │ │ │ ├── CandidateAlgorithmTypeConstants.scala │ │ │ ├── GuiceNamedConstants.scala │ │ │ └── ServiceConstants.scala │ │ ├── feature_hydration/ │ │ │ ├── adapters/ │ │ │ │ ├── BUILD │ │ │ │ ├── CandidateAlgorithmAdapter.scala │ │ │ │ ├── ClientContextAdapter.scala │ │ │ │ ├── PostNuxAlgorithmAdapter.scala │ │ │ │ └── PreFetchedFeatureAdapter.scala │ │ │ ├── common/ │ │ │ │ ├── BUILD │ │ │ │ ├── FeatureSource.scala │ │ │ │ ├── FeatureSourceId.scala │ │ │ │ └── HasPreFetchedFeature.scala │ │ │ └── sources/ │ │ │ ├── BUILD │ │ │ ├── CandidateAlgorithmSource.scala │ │ │ ├── ClientContextSource.scala │ │ │ ├── FeatureHydrationSourcesFSConfig.scala │ │ │ ├── FeatureHydrationSourcesFeatureSwitchKeys.scala │ │ │ ├── FeatureStoreFeatures.scala │ │ │ ├── FeatureStoreGizmoduckSource.scala │ │ │ ├── FeatureStoreParameters.scala │ │ │ ├── FeatureStorePostNuxAlgorithmSource.scala │ │ │ ├── FeatureStoreSource.scala │ │ │ ├── FeatureStoreSourceParams.scala │ │ │ ├── FeatureStoreTimelinesAuthorSource.scala │ │ │ ├── FeatureStoreUserMetricCountsSource.scala │ │ │ ├── HydrationSourcesModule.scala │ │ │ ├── PreFetchedFeatureSource.scala │ │ │ ├── UserScoringFeatureSource.scala │ │ │ └── Utils.scala │ │ ├── features/ │ │ │ ├── BUILD │ │ │ ├── LocationFeature.scala │ │ │ ├── TrackingTokenFeature.scala │ │ │ └── UserStateFeature.scala │ │ ├── models/ │ │ │ ├── AddressBookMetadata.scala │ │ │ ├── AlgorithmType.scala │ │ │ ├── BUILD │ │ │ ├── CandidateUser.scala │ │ │ ├── ClientContextConverter.scala │ │ │ ├── DisplayLocation.scala │ │ │ ├── EngagementType.scala │ │ │ ├── FilterReason.scala │ │ │ ├── FlowContext.scala │ │ │ ├── FlowRecommendation.scala │ │ │ ├── GeohashAndCountryCode.scala │ │ │ ├── HasAdMetadata.scala │ │ │ ├── HasByfSeedUserIds.scala │ │ │ ├── HasDataRecord.scala │ │ │ ├── HasDebugOptions.scala │ │ │ ├── HasDismissedUserIds.scala │ │ │ ├── HasDisplayLocation.scala │ │ │ ├── HasEngagements.scala │ │ │ ├── HasExcludedUserIds.scala │ │ │ ├── HasGeohashAndCountryCode.scala │ │ │ ├── HasInfoPerRankingStage.scala │ │ │ ├── HasInterestIds.scala │ │ │ ├── HasInvalidRelationshipUserIds.scala │ │ │ ├── HasIsSoftUser.scala │ │ │ ├── HasMutualFollowedUserIds.scala │ │ │ ├── HasPreviousRecommendationsContext.scala │ │ │ ├── HasProfileId.scala │ │ │ ├── HasQualityFactor.scala │ │ │ ├── HasRecentFollowedByUserIds.scala │ │ │ ├── HasRecentFollowedUserIds.scala │ │ │ ├── HasRecentFollowedUserIdsWithTime.scala │ │ │ ├── HasRecentlyEngagedUserIds.scala │ │ │ ├── HasRecommendationFlowIdentifier.scala │ │ │ ├── HasScores.scala │ │ │ ├── HasSimilarToContext.scala │ │ │ ├── HasTopicId.scala │ │ │ ├── HasUserCandidateSourceDetails.scala │ │ │ ├── HasUserState.scala │ │ │ ├── HasWtfImpressions.scala │ │ │ ├── OptimusRequest.scala │ │ │ ├── Product.scala │ │ │ ├── RankingInfo.scala │ │ │ ├── Reason.scala │ │ │ ├── RecentlyEngagedUserId.scala │ │ │ ├── RecommendationStep.scala │ │ │ ├── STPGraph.scala │ │ │ ├── SafetyLevel.scala │ │ │ ├── Score.scala │ │ │ ├── Session.scala │ │ │ ├── SignalData.scala │ │ │ ├── TrackingToken.scala │ │ │ ├── TweetCandidate.scala │ │ │ ├── UserCandidateSourceDetails.scala │ │ │ ├── UserIdAndTimestamp.scala │ │ │ └── WtfImpression.scala │ │ ├── predicates/ │ │ │ ├── BUILD │ │ │ ├── CandidateParamPredicate.scala │ │ │ ├── CandidateSourceParamPredicate.scala │ │ │ ├── CuratedCompetitorListPredicate.scala │ │ │ ├── ExcludedUserIdPredicate.scala │ │ │ ├── InactivePredicate.scala │ │ │ ├── InactivePredicateParams.scala │ │ │ ├── PreviouslyRecommendedUserIdsPredicate.scala │ │ │ ├── dismiss/ │ │ │ │ ├── BUILD │ │ │ │ ├── DismissedCandidatePredicate.scala │ │ │ │ └── DismissedCandidatePredicateParams.scala │ │ │ ├── gizmoduck/ │ │ │ │ ├── BUILD │ │ │ │ ├── GizmoduckPredicate.scala │ │ │ │ ├── GizmoduckPredicateCache.scala │ │ │ │ ├── GizmoduckPredicateFSConfig.scala │ │ │ │ └── GizmoduckPredicateParams.scala │ │ │ ├── health/ │ │ │ │ ├── BUILD │ │ │ │ ├── HssPredicate.scala │ │ │ │ ├── HssPredicateFSConfig.scala │ │ │ │ └── HssPredicateParams.scala │ │ │ ├── sgs/ │ │ │ │ ├── BUILD │ │ │ │ ├── InvalidRelationshipPredicate.scala │ │ │ │ ├── RecentFollowingPredicate.scala │ │ │ │ ├── SgsPredicateFSConfig.scala │ │ │ │ ├── SgsPredicateParams.scala │ │ │ │ ├── SgsRelationshipsByUserIdPredicate.scala │ │ │ │ └── SgsRelationshipsPredicate.scala │ │ │ └── user_activity/ │ │ │ ├── BUILD │ │ │ ├── UserActivityPredicate.scala │ │ │ └── UserActivityPredicateParams.scala │ │ ├── rankers/ │ │ │ ├── common/ │ │ │ │ ├── AdhocScoreModificationType.scala │ │ │ │ ├── BUILD │ │ │ │ ├── DedupCandidates.scala │ │ │ │ └── RankerId.scala │ │ │ ├── fatigue_ranker/ │ │ │ │ ├── BUILD │ │ │ │ ├── ImpressionBasedFatigueRanker.scala │ │ │ │ ├── ImpressionBasedFatigueRankerFSConfig.scala │ │ │ │ └── ImpressionBasedFatigueRankerParams.scala │ │ │ ├── first_n_ranker/ │ │ │ │ ├── BUILD │ │ │ │ ├── FirstNRanker.scala │ │ │ │ ├── FirstNRankerFSConfig.scala │ │ │ │ ├── FirstNRankerFeatureSwitchKeys.scala │ │ │ │ └── FirstNRankerParams.scala │ │ │ ├── interleave_ranker/ │ │ │ │ ├── BUILD │ │ │ │ ├── InterleaveRanker.scala │ │ │ │ ├── InterleaveRankerFSConfig.scala │ │ │ │ └── InterleaveRankerParams.scala │ │ │ ├── ml_ranker/ │ │ │ │ ├── ranking/ │ │ │ │ │ ├── BUILD │ │ │ │ │ ├── HydrateFeaturesTransform.scala │ │ │ │ │ ├── MlRanker.scala │ │ │ │ │ ├── MlRankerFSConfig.scala │ │ │ │ │ └── MlRankerParams.scala │ │ │ │ └── scoring/ │ │ │ │ ├── AdhocScorer.scala │ │ │ │ ├── BUILD │ │ │ │ ├── DeepbirdScorer.scala │ │ │ │ ├── PostnuxDeepbirdProdScorer.scala │ │ │ │ ├── RandomScorer.scala │ │ │ │ ├── Scorer.scala │ │ │ │ └── ScorerFactory.scala │ │ │ ├── utils/ │ │ │ │ ├── BUILD │ │ │ │ └── Utils.scala │ │ │ └── weighted_candidate_source_ranker/ │ │ │ ├── BUILD │ │ │ ├── CandidateShuffle.scala │ │ │ ├── WeightMethod.scala │ │ │ ├── WeightedCandidateSourceBaseRanker.scala │ │ │ ├── WeightedCandidateSourceRanker.scala │ │ │ ├── WeightedCandidateSourceRankerFSConfig.scala │ │ │ └── WeightedCandidateSourceRankerParams.scala │ │ ├── stores/ │ │ │ ├── BUILD │ │ │ └── LowTweepCredFollowStore.scala │ │ ├── transforms/ │ │ │ ├── dedup/ │ │ │ │ ├── BUILD │ │ │ │ └── DedupTransform.scala │ │ │ ├── modify_social_proof/ │ │ │ │ ├── BUILD │ │ │ │ ├── ModifySocialProofTransform.scala │ │ │ │ └── RemoveAccountProofTransform.scala │ │ │ ├── ranker_id/ │ │ │ │ ├── BUILD │ │ │ │ └── RandomRankerIdTransform.scala │ │ │ ├── recommendation_flow_identifier/ │ │ │ │ ├── AddRecommendationFlowIdentifierTransform.scala │ │ │ │ └── BUILD │ │ │ ├── tracking_token/ │ │ │ │ ├── BUILD │ │ │ │ └── TrackingTokenTransform.scala │ │ │ └── weighted_sampling/ │ │ │ ├── BUILD │ │ │ ├── SamplingTransform.scala │ │ │ ├── SamplingTransformFSConfig.scala │ │ │ └── SamplingTransformParams.scala │ │ └── utils/ │ │ ├── BUILD │ │ ├── CollectionUtil.scala │ │ ├── DisplayLocationProductConverterUtil.scala │ │ ├── MergeUtil.scala │ │ ├── RandomUtil.scala │ │ ├── RescueWithStatsUtils.scala │ │ ├── UserSignupUtil.scala │ │ └── Weighted.scala │ ├── server/ │ │ └── src/ │ │ └── main/ │ │ ├── resources/ │ │ │ ├── BUILD │ │ │ ├── config/ │ │ │ │ └── decider.yml │ │ │ ├── logback.xml │ │ │ └── quality/ │ │ │ └── stp_models/ │ │ │ └── 20141223/ │ │ │ ├── epModel │ │ │ └── trainingConfig │ │ └── scala/ │ │ └── com/ │ │ └── twitter/ │ │ └── follow_recommendations/ │ │ ├── BUILD │ │ ├── FollowRecommendationsServiceThriftServer.scala │ │ ├── assembler/ │ │ │ └── models/ │ │ │ ├── Action.scala │ │ │ ├── BUILD │ │ │ ├── Config.scala │ │ │ ├── FeedbackAction.scala │ │ │ ├── Footer.scala │ │ │ ├── Header.scala │ │ │ ├── Layout.scala │ │ │ ├── RecommendationOptions.scala │ │ │ ├── SocialProof.scala │ │ │ ├── Title.scala │ │ │ └── WTFPresentation.scala │ │ ├── blenders/ │ │ │ ├── BUILD │ │ │ └── PromotedAccountsBlender.scala │ │ ├── configapi/ │ │ │ ├── BUILD │ │ │ ├── ConfigBuilder.scala │ │ │ ├── DeciderConfigs.scala │ │ │ ├── FeatureSwitchConfigs.scala │ │ │ ├── GlobalFeatureSwitchConfig.scala │ │ │ ├── ParamsFactory.scala │ │ │ ├── RequestContext.scala │ │ │ ├── RequestContextFactory.scala │ │ │ ├── candidates/ │ │ │ │ ├── BUILD │ │ │ │ ├── CandidateUserContext.scala │ │ │ │ ├── CandidateUserContextFactory.scala │ │ │ │ ├── CandidateUserParamsFactory.scala │ │ │ │ └── HydrateCandidateParamsTransform.scala │ │ │ ├── common/ │ │ │ │ ├── BUILD │ │ │ │ └── FeatureSwitchConfig.scala │ │ │ ├── deciders/ │ │ │ │ ├── BUILD │ │ │ │ ├── DeciderKey.scala │ │ │ │ └── DeciderParams.scala │ │ │ └── params/ │ │ │ ├── BUILD │ │ │ └── GlobalParams.scala │ │ ├── controllers/ │ │ │ ├── BUILD │ │ │ ├── CandidateUserDebugParamsBuilder.scala │ │ │ ├── RecommendationRequestBuilder.scala │ │ │ ├── RequestBuilderUserFetcher.scala │ │ │ ├── ScoringUserRequestBuilder.scala │ │ │ └── ThriftController.scala │ │ ├── flows/ │ │ │ ├── ads/ │ │ │ │ ├── BUILD │ │ │ │ ├── PromotedAccountsFlow.scala │ │ │ │ ├── PromotedAccountsFlowParams.scala │ │ │ │ ├── PromotedAccountsFlowRequest.scala │ │ │ │ └── PromotedAccountsUtil.scala │ │ │ ├── content_recommender_flow/ │ │ │ │ ├── BUILD │ │ │ │ ├── ContentRecommenderFlow.scala │ │ │ │ ├── ContentRecommenderFlowCandidateSourceRegistry.scala │ │ │ │ ├── ContentRecommenderFlowCandidateSourceWeights.scala │ │ │ │ ├── ContentRecommenderFlowCandidateSourceWeightsParams.scala │ │ │ │ ├── ContentRecommenderFlowFSConfig.scala │ │ │ │ ├── ContentRecommenderFlowFeatureSwitchKeys.scala │ │ │ │ ├── ContentRecommenderParams.scala │ │ │ │ ├── ContentRecommenderRequest.scala │ │ │ │ └── ContentRecommenderRequestBuilder.scala │ │ │ └── post_nux_ml/ │ │ │ ├── BUILD │ │ │ ├── PostNuxMlCandidateSourceRegistry.scala │ │ │ ├── PostNuxMlCandidateSourceWeightParams.scala │ │ │ ├── PostNuxMlCombinedRankerBuilder.scala │ │ │ ├── PostNuxMlFlow.scala │ │ │ ├── PostNuxMlFlowCandidateSourceWeights.scala │ │ │ ├── PostNuxMlFlowCandidateSourceWeightsFeatureSwitchKeys.scala │ │ │ ├── PostNuxMlFlowFSConfig.scala │ │ │ ├── PostNuxMlFlowFeatureSwitchKeys.scala │ │ │ ├── PostNuxMlParams.scala │ │ │ ├── PostNuxMlRequest.scala │ │ │ ├── PostNuxMlRequestBuilder.scala │ │ │ └── PostNuxMlRequestBuilderParams.scala │ │ ├── logging/ │ │ │ ├── BUILD │ │ │ └── FrsLogger.scala │ │ ├── models/ │ │ │ ├── BUILD │ │ │ ├── CandidateSourceType.scala │ │ │ ├── CandidateUserDebugParams.scala │ │ │ ├── DebugParams.scala │ │ │ ├── DisplayContext.scala │ │ │ ├── FeatureValue.scala │ │ │ ├── RecommendationFlowData.scala │ │ │ ├── RecommendationRequest.scala │ │ │ ├── RecommendationResponse.scala │ │ │ ├── Request.scala │ │ │ ├── ScoringUserRequest.scala │ │ │ ├── ScoringUserResponse.scala │ │ │ └── failures/ │ │ │ ├── BUILD │ │ │ └── TimeoutPipelineFailure.scala │ │ ├── modules/ │ │ │ ├── ABDeciderModule.scala │ │ │ ├── BUILD │ │ │ ├── ConfigApiModule.scala │ │ │ ├── DiffyModule.scala │ │ │ ├── FeatureSwitchesModule.scala │ │ │ ├── FlagsModule.scala │ │ │ ├── ProductRegistryModule.scala │ │ │ ├── ScorerModule.scala │ │ │ ├── ScribeModule.scala │ │ │ └── TimerModule.scala │ │ ├── products/ │ │ │ ├── BUILD │ │ │ ├── ProdProductRegistry.scala │ │ │ ├── common/ │ │ │ │ ├── BUILD │ │ │ │ ├── Exceptions.scala │ │ │ │ ├── Product.scala │ │ │ │ └── ProductRegistry.scala │ │ │ ├── explore_tab/ │ │ │ │ ├── BUILD │ │ │ │ ├── ExploreTabProduct.scala │ │ │ │ └── configapi/ │ │ │ │ ├── BUILD │ │ │ │ ├── ExploreTabFSConfig.scala │ │ │ │ └── ExploreTabParams.scala │ │ │ ├── home_timeline/ │ │ │ │ ├── BUILD │ │ │ │ ├── HTLProductMixer.scala │ │ │ │ ├── HomeTimelineProduct.scala │ │ │ │ ├── HomeTimelineStrings.scala │ │ │ │ └── configapi/ │ │ │ │ ├── BUILD │ │ │ │ ├── HomeTimelineFSConfig.scala │ │ │ │ └── HomeTimelineParams.scala │ │ │ ├── home_timeline_tweet_recs/ │ │ │ │ ├── BUILD │ │ │ │ ├── HomeTimelineTweetRecsProduct.scala │ │ │ │ └── configapi/ │ │ │ │ ├── BUILD │ │ │ │ └── HomeTimelineTweetRecsParams.scala │ │ │ └── sidebar/ │ │ │ ├── BUILD │ │ │ ├── SidebarProduct.scala │ │ │ └── configapi/ │ │ │ ├── BUILD │ │ │ └── SidebarParams.scala │ │ ├── services/ │ │ │ ├── BUILD │ │ │ ├── FollowRecommendationsServiceWarmupHandler.scala │ │ │ ├── ProductMixerRecommendationService.scala │ │ │ ├── ProductPipelineSelector.scala │ │ │ ├── ProductPipelineSelectorConfig.scala │ │ │ ├── ProductRecommenderService.scala │ │ │ ├── RecommendationsService.scala │ │ │ ├── UserScoringService.scala │ │ │ └── exceptions/ │ │ │ ├── BUILD │ │ │ └── UnknownExceptionMapper.scala │ │ └── utils/ │ │ ├── BUILD │ │ ├── CandidateSourceHoldbackUtil.scala │ │ └── RecommendationFlowBaseSideEffectsUtil.scala │ └── thrift/ │ └── src/ │ └── main/ │ └── thrift/ │ ├── BUILD │ ├── assembler.thrift │ ├── client_context.thrift │ ├── debug.thrift │ ├── display_context.thrift │ ├── display_location.thrift │ ├── engagementType.thrift │ ├── flows.thrift │ ├── follow-recommendations-service.thrift │ ├── follow_recommendations_serving_history.thrift │ ├── logging/ │ │ ├── BUILD │ │ ├── client_context.thrift │ │ ├── debug.thrift │ │ ├── display_context.thrift │ │ ├── display_location.thrift │ │ ├── engagementType.thrift │ │ ├── flows.thrift │ │ ├── logs.thrift │ │ ├── reasons.thrift │ │ ├── recently_engaged_user_id.thrift │ │ ├── recommendations.thrift │ │ ├── scoring.thrift │ │ └── tracking.thrift │ ├── reasons.thrift │ ├── recently_engaged_user_id.thrift │ ├── recommendations.thrift │ ├── scoring.thrift │ └── tracking.thrift ├── graph-feature-service/ │ ├── BUILD.bazel │ ├── README.md │ ├── doc/ │ │ ├── common.md │ │ └── getintersection.md │ └── src/ │ └── main/ │ ├── scala/ │ │ └── com/ │ │ └── twitter/ │ │ └── graph_feature_service/ │ │ ├── common/ │ │ │ ├── BUILD.bazel │ │ │ └── Configs.scala │ │ ├── server/ │ │ │ ├── BUILD.bazel │ │ │ ├── Main.scala │ │ │ ├── controllers/ │ │ │ │ └── ServerController.scala │ │ │ ├── handlers/ │ │ │ │ ├── ServerGetIntersectionHandler.scala │ │ │ │ └── ServerWarmupHandler.scala │ │ │ ├── modules/ │ │ │ │ ├── GetIntersectionStoreModule.scala │ │ │ │ ├── GraphFeatureServiceWorkerClientsModule.scala │ │ │ │ ├── LZ4Injection.scala │ │ │ │ └── ServerFlagModule.scala │ │ │ └── stores/ │ │ │ ├── FeatureTypesEncoder.scala │ │ │ └── GetIntersectionStore.scala │ │ ├── util/ │ │ │ ├── BUILD │ │ │ ├── FeatureTypesCalculator.scala │ │ │ └── IntersectionValueCalculator.scala │ │ └── worker/ │ │ ├── BUILD.bazel │ │ ├── Main.scala │ │ ├── controllers/ │ │ │ └── WorkerController.scala │ │ ├── handlers/ │ │ │ ├── WorkerGetIntersectionHandler.scala │ │ │ └── WorkerWarmupHandler.scala │ │ ├── modules/ │ │ │ ├── GraphContainerProviderModule.scala │ │ │ └── WorkerFlagModule.scala │ │ └── util/ │ │ ├── AutoUpdatingGraph.scala │ │ ├── GfsQuery.scala │ │ ├── GraphContainer.scala │ │ ├── GraphKey.scala │ │ └── GraphType.scala │ ├── scalding/ │ │ └── com/ │ │ └── twitter/ │ │ └── graph_feature_service/ │ │ └── scalding/ │ │ ├── BUILD.bazel │ │ ├── EdgeFeature.scala │ │ ├── GraphFeatureServiceAppBase.scala │ │ ├── GraphFeatureServiceApps.scala │ │ ├── GraphFeatureServiceMainJob.scala │ │ └── adhoc/ │ │ ├── BUILD.bazel │ │ └── RandomRequestGenerationApp.scala │ └── thrift/ │ └── com/ │ └── twitter/ │ └── graph_feature_service/ │ ├── BUILD │ └── graph_feature_service.thrift ├── home-mixer/ │ ├── BUILD.bazel │ ├── README.md │ └── server/ │ └── src/ │ └── main/ │ └── scala/ │ └── com/ │ └── twitter/ │ └── home_mixer/ │ ├── BUILD.bazel │ ├── HomeMixerHttpServerWarmupHandler.scala │ ├── HomeMixerServer.scala │ ├── HomeMixerThriftServerWarmupHandler.scala │ ├── candidate_pipeline/ │ │ ├── BUILD.bazel │ │ ├── ConversationServiceCandidatePipelineConfig.scala │ │ ├── ConversationServiceCandidatePipelineConfigBuilder.scala │ │ ├── ConversationServiceResponseFeatureTransformer.scala │ │ ├── EditedTweetsCandidatePipelineConfig.scala │ │ ├── NewTweetsPillCandidatePipelineConfig.scala │ │ ├── TimelineServiceResponseFeatureTransformer.scala │ │ └── VerifiedPromptCandidatePipelineConfig.scala │ ├── controller/ │ │ ├── BUILD.bazel │ │ ├── HomeHttpController.scala │ │ └── HomeThriftController.scala │ ├── federated/ │ │ ├── BUILD.bazel │ │ └── HomeMixerColumn.scala │ ├── functional_component/ │ │ ├── candidate_source/ │ │ │ ├── BUILD.bazel │ │ │ ├── EarlybirdCandidateSource.scala │ │ │ └── StaleTweetsCacheCandidateSource.scala │ │ ├── decorator/ │ │ │ ├── BUILD.bazel │ │ │ ├── EntryPointPivotModuleDecorator.scala │ │ │ ├── ForYouTweetCandidateDecorator.scala │ │ │ ├── HomeConversationServiceCandidateDecorator.scala │ │ │ ├── HomeQueryTypePredicates.scala │ │ │ ├── KeywordTrendsModuleCandidateDecorator.scala │ │ │ ├── PinnedTweetBroadcastCandidateDecorator.scala │ │ │ ├── StoriesModuleCandidateDecorator.scala │ │ │ ├── TuneFeedModuleCandidateDecorator.scala │ │ │ ├── TweetCarouselModuleCandidateDecorator.scala │ │ │ ├── VideoCarouselModuleCandidateDecorator.scala │ │ │ ├── builder/ │ │ │ │ ├── BUILD.bazel │ │ │ │ ├── HomeAdsClientEventDetailsBuilder.scala │ │ │ │ ├── HomeClientEventDetailsBuilder.scala │ │ │ │ ├── HomeClientEventInfoBuilder.scala │ │ │ │ ├── HomeConversationModuleMetadataBuilder.scala │ │ │ │ ├── HomeTimelinesScoreInfoBuilder.scala │ │ │ │ ├── HomeTweetTypePredicates.scala │ │ │ │ ├── KeywordTrendMetaDescriptionBuilder.scala │ │ │ │ ├── ListClientEventDetailsBuilder.scala │ │ │ │ └── VerifiedPromptBuilder.scala │ │ │ └── urt/ │ │ │ └── builder/ │ │ │ ├── AddEntriesWithReplaceAndShowAlertAndShowCoverInstructionBuilder.scala │ │ │ ├── AuthorChildFeedbackActionBuilder.scala │ │ │ ├── BUILD.bazel │ │ │ ├── BlockUserChildFeedbackActionBuilder.scala │ │ │ ├── ChildFeedbackActionBuilder.scala │ │ │ ├── DebugSocialContextBuilder.scala │ │ │ ├── DontLikeFeedbackActionBuilder.scala │ │ │ ├── EngagerSocialContextBuilder.scala │ │ │ ├── ExtendedReplySocialContextBuilder.scala │ │ │ ├── FeedbackStrings.scala │ │ │ ├── FeedbackUtil.scala │ │ │ ├── FollowedBySocialContextBuilder.scala │ │ │ ├── HomeFeedbackActionInfoBuilder.scala │ │ │ ├── HomeTweetContextBuilder.scala │ │ │ ├── HomeTweetSocialContextBuilder.scala │ │ │ ├── HomeWhoToFollowFeedbackActionInfoBuilder.scala │ │ │ ├── HomeWhoToSubscribeFeedbackActionInfoBuilder.scala │ │ │ ├── LikedBySocialContextBuilder.scala │ │ │ ├── ListsSocialContextBuilder.scala │ │ │ ├── MuteUserChildFeedbackActionBuilder.scala │ │ │ ├── NotInterestedTopicFeedbackActionBuilder.scala │ │ │ ├── NotRelevantChildFeedbackActionBuilder.scala │ │ │ ├── PopularInYourAreaSocialContextBuilder.scala │ │ │ ├── PopularVideoSocialContextBuilder.scala │ │ │ ├── PostDetailsNegativeFeedbackActionBuilder.scala │ │ │ ├── PostFeedbackActionBuilder.scala │ │ │ ├── PostFollowupFeedbackActionBuilder.scala │ │ │ ├── ReceivedReplySocialContextBuilder.scala │ │ │ ├── RelevancePromptCandidateUrtItemBuilder.scala │ │ │ ├── ReportTweetChildFeedbackActionBuilder.scala │ │ │ ├── RetweeterChildFeedbackActionBuilder.scala │ │ │ ├── ServedTypeSocialContextBuilder.scala │ │ │ ├── TopicSocialContextBuilder.scala │ │ │ ├── TuneFeedFeedbackActionInfoBuilder.scala │ │ │ └── UnfollowUserChildFeedbackActionBuilder.scala │ │ ├── feature_hydrator/ │ │ │ ├── AncestorFeatureHydrator.scala │ │ │ ├── AuthorFeatureHydrator.scala │ │ │ ├── AuthorLargeEmbeddingsFeatureHydrator.scala │ │ │ ├── BUILD.bazel │ │ │ ├── BasketballContextFeatureHydrator.scala │ │ │ ├── BroadcastStateFeatureHydrator.scala │ │ │ ├── CategoryDiversityRescoringFeatureHydrator.scala │ │ │ ├── ClipEmbeddingFeatureHydrator.scala │ │ │ ├── ClipEmbeddingMediaUnderstandingFeatureHydrator.scala │ │ │ ├── ClipImageClusterIdFeatureHydrator.scala │ │ │ ├── DependentBulkCandidateFeatureHydrator.scala │ │ │ ├── DismissInfoQueryFeatureHydrator.scala │ │ │ ├── DiversityRescoringFeatureHydrator.scala │ │ │ ├── EarlybirdSearchResultFeatureHydrator.scala │ │ │ ├── FeedbackHistoryQueryFeatureHydrator.scala │ │ │ ├── FollowableUttTopicsQueryFeatureHydrator.scala │ │ │ ├── FrsSeedUsersQueryFeatureHydrator.scala │ │ │ ├── GeoduckAuthorLocationHydrator.scala │ │ │ ├── GizmoduckAuthorFeatureHydrator.scala │ │ │ ├── GizmoduckUserQueryFeatureHydrator.scala │ │ │ ├── GraphTwoHopFeatureHydrator.scala │ │ │ ├── GrokAnnotationsFeatureHydrator.scala │ │ │ ├── GrokGorkContentCreatorFeatureHydrator.scala │ │ │ ├── GrokTranslatedPostIsCachedFeatureHydrator.scala │ │ │ ├── HeartbeatOptimizerParamsHydrator.scala │ │ │ ├── HeavyRankerWeightsQueryFeatureHydrator.scala │ │ │ ├── ImpressedImageClusterIdsQueryFeatureHydrator.scala │ │ │ ├── ImpressedMediaClusterIdsQueryFeatureHydrator.scala │ │ │ ├── ImpressionBloomFilterQueryFeatureHydrator.scala │ │ │ ├── InNetworkFeatureHydrator.scala │ │ │ ├── LastNegativeFeedbackTimeQueryFeatureHydrator.scala │ │ │ ├── LastNonPollingTimeQueryFeatureHydrator.scala │ │ │ ├── ListIdsQueryFeatureHydrator.scala │ │ │ ├── MediaClusterIdFeatureHydrator.scala │ │ │ ├── MediaCompletionRateFeatureHydrator.scala │ │ │ ├── MultiModalEmbeddingsFeatureHydrator.scala │ │ │ ├── NamesFeatureHydrator.scala │ │ │ ├── NaviClientConfigQueryFeatureHydrator.scala │ │ │ ├── NaviVideoClientConfigQueryFeatureHydrator.scala │ │ │ ├── OnPremRealGraphQueryFeatureHydrator.scala │ │ │ ├── OptimizerWeightsQueryFeatureHydrator.scala │ │ │ ├── OriginalAuthorLargeEmbeddingsFeatureHydrator.scala │ │ │ ├── OriginalTweetLargeEmbeddingsFeatureHydrator.scala │ │ │ ├── PersistenceStoreQueryFeatureHydrator.scala │ │ │ ├── PerspectiveFilteredSocialContextFeatureHydrator.scala │ │ │ ├── PhoenixRescoringFeatureHydrator.scala │ │ │ ├── PostContextFeatureHydrator.scala │ │ │ ├── RateLimitQueryFeatureHydrator.scala │ │ │ ├── RealGraphInNetworkScoresQueryFeatureHydrator.scala │ │ │ ├── RealGraphQueryFeatureHydrator.scala │ │ │ ├── RealGraphViewerAuthorFeatureHydrator.scala │ │ │ ├── RealGraphViewerRelatedUsersFeatureHydrator.scala │ │ │ ├── RealTimeEntityRealGraphQueryFeatureHydrator.scala │ │ │ ├── RealTimeInteractionGraphEdgeFeatureHydrator.scala │ │ │ ├── RealTimeInteractionGraphUserVertexQueryFeatureHydrator.scala │ │ │ ├── RequestQueryFeatureHydrator.scala │ │ │ ├── RequestTimeQueryFeatureHydrator.scala │ │ │ ├── SGSValidSocialContextFeatureHydrator.scala │ │ │ ├── SimClustersEngagementSimilarityFeatureHydrator.scala │ │ │ ├── SimClustersLogFavBasedTweetFeatureHydrator.scala │ │ │ ├── SimClustersUserSparseEmbeddingsQueryFeatureHydrator.scala │ │ │ ├── SimClustersUserTweetScoresHydrator.scala │ │ │ ├── SimclusterBasedTopAuthorsQueryFeatureHydrator.scala │ │ │ ├── SlopAuthorFeatureHydrator.scala │ │ │ ├── SpaceStateFeatureHydrator.scala │ │ │ ├── TSPInferredTopicFeatureHydrator.scala │ │ │ ├── TransformerPostEmbeddingFeatureHydrator.scala │ │ │ ├── TweetEntityServiceContentFeatureHydrator.scala │ │ │ ├── TweetEntityServiceFeatureHydrator.scala │ │ │ ├── TweetImpressionsQueryFeatureHydrator.scala │ │ │ ├── TweetLanguageFeatureHydrator.scala │ │ │ ├── TweetLargeEmbeddingsFeatureHydrator.scala │ │ │ ├── TweetMetaDataFeatureHydrator.scala │ │ │ ├── TweetTimeFeatureHydrator.scala │ │ │ ├── TweetTypeMetricsFeatureHydrator.scala │ │ │ ├── TweetypieFeatureHydrator.scala │ │ │ ├── TwhinAuthorFollowFeatureHydrator.scala │ │ │ ├── TwhinRebuildTweetFeatureHydrator.scala │ │ │ ├── TwhinRebuildUserEngagementQueryFeatureHydrator.scala │ │ │ ├── TwhinRebuildUserPositiveQueryFeatureHydrator.scala │ │ │ ├── TwhinTweetFeatureHydrator.scala │ │ │ ├── TwhinUserEngagementQueryFeatureHydrator.scala │ │ │ ├── TwhinUserFollowQueryFeatureHydrator.scala │ │ │ ├── TwhinUserNegativeFeatureHydrator.scala │ │ │ ├── TwhinUserPositiveFeatureHydrator.scala │ │ │ ├── TwhinVideoFeatureHydrator.scala │ │ │ ├── UnifiedUserActionsUserIdentifierFeatureHydrator.scala │ │ │ ├── UserActionByteArrayQueryFeatureHydrator.scala │ │ │ ├── UserActionsQueryFeatureHydrator.scala │ │ │ ├── UserEngagedGrokCategoriesFeatureHydrator.scala │ │ │ ├── UserEngagedLanguagesFeatureHydrator.scala │ │ │ ├── UserEngagementGrokTagFeatureHydrator.scala │ │ │ ├── UserFrequentLocationHydrator.scala │ │ │ ├── UserFrequentLocationQueryFeatureHydrator.scala │ │ │ ├── UserHistoryTransformerEmbeddingQueryFeatureHydrator.scala │ │ │ ├── UserLanguagesFeatureHydrator.scala │ │ │ ├── UserLargeEmbeddingsFeatureHydrator.scala │ │ │ ├── UserStateQueryFeatureHydrator.scala │ │ │ ├── UserSubscriptionQueryFeatureHydrator.scala │ │ │ ├── UserUnderstandableLangaugesFeatureHydrator.scala │ │ │ ├── UtegFeatureHydrator.scala │ │ │ ├── VideoSummaryEmbeddingFeatureHydrator.scala │ │ │ ├── ViewCountsFeatureHydrator.scala │ │ │ ├── ViralContentCreatorMetricsFeatureHydrator.scala │ │ │ ├── WithDefaultFeatureMap.scala │ │ │ ├── adapters/ │ │ │ │ ├── author_features/ │ │ │ │ │ ├── AuthorFeaturesAdapter.scala │ │ │ │ │ └── BUILD.bazel │ │ │ │ ├── content/ │ │ │ │ │ ├── BUILD.bazel │ │ │ │ │ ├── ClipEmbeddingFeaturesAdapter.scala │ │ │ │ │ ├── ContentFeatureAdapter.scala │ │ │ │ │ ├── TextTokensFeaturesAdapter.scala │ │ │ │ │ └── VideoSummaryEmbeddingFeaturesAdaptor.scala │ │ │ │ ├── gizmoduck_features/ │ │ │ │ │ ├── BUILD.bazel │ │ │ │ │ └── GizmoduckFeaturesAdapter.scala │ │ │ │ ├── inferred_topic/ │ │ │ │ │ ├── BUILD.bazel │ │ │ │ │ └── InferredTopicAdapter.scala │ │ │ │ ├── light_ranking_features/ │ │ │ │ │ ├── BUILD.bazel │ │ │ │ │ └── LightRankingCandidateFeaturesAdapter.scala │ │ │ │ ├── non_ml_features/ │ │ │ │ │ ├── BUILD.bazel │ │ │ │ │ ├── NonMLCandidateFeaturesAdapter.scala │ │ │ │ │ └── NonMLCommonFeaturesAdapter.scala │ │ │ │ ├── offline_aggregates/ │ │ │ │ │ ├── BUILD.bazel │ │ │ │ │ ├── PassThroughAdapter.scala │ │ │ │ │ └── SparseAggregatesToDenseAdapter.scala │ │ │ │ ├── simclusters_features/ │ │ │ │ │ ├── BUILD.bazel │ │ │ │ │ └── SimclustersFeaturesAdapter.scala │ │ │ │ ├── transformer_embeddings/ │ │ │ │ │ ├── BUILD.bazel │ │ │ │ │ ├── TransformerEmbeddingsAdapter.scala │ │ │ │ │ ├── UserHistoryEventsAdapter.scala │ │ │ │ │ └── VideoUserHistoryEventsAdapter.scala │ │ │ │ └── twhin_embeddings/ │ │ │ │ ├── BUILD.bazel │ │ │ │ └── TwhinEmbeddingsAdapter.scala │ │ │ ├── offline_aggregates/ │ │ │ │ ├── AggregateFeatureInfo.scala │ │ │ │ ├── BUILD.bazel │ │ │ │ ├── BaseEdgeAggregateFeatureHydrator.scala │ │ │ │ ├── EdgeAggregateFeatures.scala │ │ │ │ ├── PartAAggregateQueryFeatureHydrator.scala │ │ │ │ ├── PartBAggregateQueryFeatureHydrator.scala │ │ │ │ ├── TopicEdgeAggregateFeatureHydrator.scala │ │ │ │ ├── TopicEdgeTruncatedAggregateFeatureHydrator.scala │ │ │ │ ├── TweetContentEdgeAggregateFeatureHydrator.scala │ │ │ │ ├── UserEngagerEdgeAggregateFeatureHydrator.scala │ │ │ │ ├── UserEntityEdgeAggregateFeatureHydrator.scala │ │ │ │ └── Utils.scala │ │ │ ├── real_time_aggregates/ │ │ │ │ ├── BUILD.bazel │ │ │ │ ├── EngagementsReceivedByAuthorRealTimeAggregateFeatureHydrator.scala │ │ │ │ ├── FlagBasedRealTimeAggregateBulkCandidateFeatureHydrator.scala │ │ │ │ ├── TopicCountryEngagementRealTimeAggregateFeatureHydrator.scala │ │ │ │ ├── TopicEngagementRealTimeAggregateFeatureHydrator.scala │ │ │ │ ├── TweetCountryEngagementRealTimeAggregateFeatureHydrator.scala │ │ │ │ ├── TweetEngagementRealTimeAggregateFeatureHydrator.scala │ │ │ │ ├── TwitterListEngagementRealTimeAggregateFeatureHydrator.scala │ │ │ │ ├── UserAuthorEngagementRealTimeAggregateFeatureHydrator.scala │ │ │ │ ├── UserEngagementRealTimeAggregatesFeatureHydrator.scala │ │ │ │ └── UserTweetTvVideoRealTimeAggregateFeatureHydrator.scala │ │ │ └── user_history/ │ │ │ ├── BUILD.bazel │ │ │ ├── BaseUserHistoryEventsQueryFeatureHydrator.scala │ │ │ ├── ScoredTweetsUserHistoryEventsQueryFeatureHydrator.scala │ │ │ └── ScoredVideoTweetsUserHistoryEventsQueryFeatureHydrator.scala │ │ ├── filter/ │ │ │ ├── AuthorDedupFilter.scala │ │ │ ├── BUILD.bazel │ │ │ ├── ClipClusterDeduplicationFilter.scala │ │ │ ├── ClusterBasedDedupFilter.scala │ │ │ ├── ConsistentAspectRatioFilter.scala │ │ │ ├── CountryFilter.scala │ │ │ ├── CurrentPinnedTweetFilter.scala │ │ │ ├── DropMaxCandidatesFilter.scala │ │ │ ├── FeedbackFatigueFilter.scala │ │ │ ├── GrokGoreFilter.scala │ │ │ ├── GrokNsfwFilter.scala │ │ │ ├── GrokSpamFilter.scala │ │ │ ├── GrokViolentFilter.scala │ │ │ ├── HasAuthorFilter.scala │ │ │ ├── HasMultipleMediaFilter.scala │ │ │ ├── InvalidConversationModuleFilter.scala │ │ │ ├── InvalidSubscriptionTweetFilter.scala │ │ │ ├── LocationFilter.scala │ │ │ ├── MaxVideoDurationFilter.scala │ │ │ ├── MediaDeduplicationFilter.scala │ │ │ ├── MinVideoDurationFilter.scala │ │ │ ├── PredicateGatedFilter.scala │ │ │ ├── PreviouslySeenMediaIdsFilter.scala │ │ │ ├── PreviouslySeenTweetsFilter.scala │ │ │ ├── PreviouslyServedAncestorsFilter.scala │ │ │ ├── PreviouslyServedTweetPreviewsFilter.scala │ │ │ ├── PreviouslyServedTweetsFilter.scala │ │ │ ├── QuoteDeduplicationFilter.scala │ │ │ ├── RegionFilter.scala │ │ │ ├── RejectTweetFromViewerFilter.scala │ │ │ ├── ReplyFilter.scala │ │ │ ├── RetweetDeduplicationFilter.scala │ │ │ ├── RetweetFilter.scala │ │ │ ├── SlopFilter.scala │ │ │ ├── TweetHydrationFilter.scala │ │ │ └── WeeklyBookmarkFilter.scala │ │ ├── gate/ │ │ │ ├── AllowForYouRecommendationsGate.scala │ │ │ ├── BUILD.bazel │ │ │ ├── BookmarksTimeGate.scala │ │ │ ├── DismissFatigueGate.scala │ │ │ ├── ExcludeSoftUserGate.scala │ │ │ ├── ExcludeSyntheticUserGate.scala │ │ │ ├── PersistenceStoreDurationValidationGate.scala │ │ │ ├── RateLimitGate.scala │ │ │ ├── RateLimitNotGate.scala │ │ │ ├── RecentlyServedByServedTypeGate.scala │ │ │ ├── RequestContextGate.scala │ │ │ ├── RequestContextNotGate.scala │ │ │ ├── SupportedLanguagesGate.scala │ │ │ ├── TestUserProbabilisticGate.scala │ │ │ └── TimelinesPersistenceStoreLastInjectionGate.scala │ │ ├── query_transformer/ │ │ │ ├── BUILD.bazel │ │ │ └── EditedTweetsCandidatePipelineQueryTransformer.scala │ │ ├── scorer/ │ │ │ ├── BUILD.bazel │ │ │ ├── FeedbackFatigueScorer.scala │ │ │ ├── NaviModelScorer.scala │ │ │ ├── OONTweetScalingScorer.scala │ │ │ ├── PhoenixModelRerankingScorer.scala │ │ │ ├── PhoenixScorer.scala │ │ │ ├── PredictClientFactory.scala │ │ │ └── WeighedModelRerankingScorer.scala │ │ ├── selector/ │ │ │ ├── BUILD.bazel │ │ │ ├── DebunchCandidates.scala │ │ │ ├── RandomShuffleCandidates.scala │ │ │ ├── ScoreAveragingPositionSelector.scala │ │ │ ├── SortFixedPositionCandidates.scala │ │ │ ├── UpdateConversationModuleId.scala │ │ │ ├── UpdateHomeClientEventDetails.scala │ │ │ └── UpdateNewTweetsPillDecoration.scala │ │ └── side_effect/ │ │ ├── BUILD.bazel │ │ ├── BaseCacheCandidateFeaturesSideEffect.scala │ │ ├── ClientEventsBuilder.scala │ │ ├── CommonFeaturesPldrConverter.scala │ │ ├── HomeScribeClientEventSideEffect.scala │ │ ├── HomeScribeServedCandidatesSideEffect.scala │ │ ├── PublishClientSentImpressionsEventBusSideEffect.scala │ │ ├── PublishClientSentImpressionsManhattanSideEffect.scala │ │ ├── PublishImpressionBloomFilterSideEffect.scala │ │ ├── TruncateTimelinesPersistenceStoreSideEffect.scala │ │ ├── UpdateLastNonPollingTimeSideEffect.scala │ │ └── UpdateTimelinesPersistenceStoreSideEffect.scala │ ├── marshaller/ │ │ ├── request/ │ │ │ ├── BUILD.bazel │ │ │ ├── DeviceContextUnmarshaller.scala │ │ │ ├── HomeMixerDebugParamsUnmarshaller.scala │ │ │ ├── HomeMixerProductContextUnmarshaller.scala │ │ │ ├── HomeMixerProductUnmarshaller.scala │ │ │ └── HomeMixerRequestUnmarshaller.scala │ │ ├── timeline_logging/ │ │ │ ├── BUILD.bazel │ │ │ ├── PromotedTweetDetailsMarshaller.scala │ │ │ ├── TweetDetailsMarshaller.scala │ │ │ └── WhoToFollowDetailsMarshaller.scala │ │ └── timelines/ │ │ ├── BUILD.bazel │ │ ├── ChronologicalCursorMarshaller.scala │ │ ├── ChronologicalCursorUnmarshaller.scala │ │ ├── DeviceContextMarshaller.scala │ │ ├── RecommendedUsersCursorUnmarshaller.scala │ │ ├── TimelineServiceCursorMarshaller.scala │ │ └── TopicContextFunctionalityTypeUnmarshaller.scala │ ├── model/ │ │ ├── BUILD.bazel │ │ ├── ClearCacheIncludeInstruction.scala │ │ ├── ContentFeatures.scala │ │ ├── GapIncludeInstruction.scala │ │ ├── GrokTopics.scala │ │ ├── HomeAdsQuery.scala │ │ ├── HomeFeatures.scala │ │ ├── HomeLargeEmbeddingsFeatures.scala │ │ ├── NaviClientConfig.scala │ │ ├── NavigationIncludeInstruction.scala │ │ ├── PhoenixPredictedScoreFeature.scala │ │ ├── PredictedScoreFeature.scala │ │ ├── candidate_source/ │ │ │ ├── BUILD.bazel │ │ │ └── SourceSignal.scala │ │ ├── request/ │ │ │ ├── BUILD.bazel │ │ │ ├── DeviceContext.scala │ │ │ ├── HasListId.scala │ │ │ ├── HasSeenTweetIds.scala │ │ │ ├── HomeMixerDebugOptions.scala │ │ │ ├── HomeMixerProduct.scala │ │ │ ├── HomeMixerProductContext.scala │ │ │ └── HomeMixerRequest.scala │ │ └── signup/ │ │ ├── BUILD.bazel │ │ └── SignupSource.scala │ ├── module/ │ │ ├── AdvertiserBrandSafetySettingsStoreModule.scala │ │ ├── BUILD.bazel │ │ ├── BlenderClientModule.scala │ │ ├── ClientSentImpressionsPublisherModule.scala │ │ ├── ClusterDetailsModule.scala │ │ ├── ConversationServiceModule.scala │ │ ├── EarlybirdRealtimeCGModule.scala │ │ ├── EventsRecosClientModule.scala │ │ ├── FeedbackHistoryClientModule.scala │ │ ├── GizmoduckTimelinesCacheClientModule.scala │ │ ├── HomeAdsCandidateSourceModule.scala │ │ ├── HomeMixerFeaturesModule.scala │ │ ├── HomeMixerFlagsModule.scala │ │ ├── HomeMixerResourcesModule.scala │ │ ├── ImpressionBloomFilterModule.scala │ │ ├── InMemoryCacheModule.scala │ │ ├── InjectionHistoryClientModule.scala │ │ ├── LimiterModule.scala │ │ ├── ManhattanClientsModule.scala │ │ ├── ManhattanFeatureRepositoryModule.scala │ │ ├── ManhattanTweetImpressionStoreModule.scala │ │ ├── MediaClusterId88Module.scala │ │ ├── MediaClusterIdModule.scala │ │ ├── MemcachedFeatureRepositoryModule.scala │ │ ├── MemcachedScoredCandidateFeaturesStoreModule.scala │ │ ├── NaviModelClientModule.scala │ │ ├── OptimizedStratoClientModule.scala │ │ ├── PeopleDiscoveryServiceModule.scala │ │ ├── PhoenixClientModule.scala │ │ ├── PipelineFailureExceptionMapper.scala │ │ ├── RealGraphInNetworkScoresModule.scala │ │ ├── RealtimeAggregateFeatureRepositoryModule.scala │ │ ├── ScoredTweetsMemcacheModule.scala │ │ ├── ScoredVideoTweetsMemcacheModule.scala │ │ ├── ScribeEventPublisherModule.scala │ │ ├── SimClustersRecentEngagementsClientModule.scala │ │ ├── StaleTweetsCacheModule.scala │ │ ├── ThriftFeatureRepositoryModule.scala │ │ ├── TimelinesPersistenceStoreClientModule.scala │ │ ├── TopicSocialProofClientModule.scala │ │ ├── TvWatchHistoryCacheClientModule.scala │ │ ├── TweetWatchTimeMetadataModule.scala │ │ ├── TweetyPieClientModule.scala │ │ ├── TweetypieStaticEntitiesCacheClientModule.scala │ │ ├── TwhinEmbeddingsModule.scala │ │ ├── UttTopicModule.scala │ │ └── VideoEmbeddingModule.scala │ ├── param/ │ │ ├── BUILD.bazel │ │ ├── GlobalParamConfigModule.scala │ │ ├── HomeGlobalParamConfig.scala │ │ ├── HomeGlobalParams.scala │ │ ├── HomeMixerFlagName.scala │ │ ├── HomeMixerInjectionNames.scala │ │ └── decider/ │ │ ├── BUILD.bazel │ │ └── DeciderKey.scala │ ├── product/ │ │ ├── BUILD.bazel │ │ ├── HomeMixerProductModule.scala │ │ ├── HomeProductPipelineRegistryConfig.scala │ │ ├── following/ │ │ │ ├── BUILD.bazel │ │ │ ├── FollowingAdsCandidatePipelineBuilder.scala │ │ │ ├── FollowingAdsDependentCandidatePipelineBuilder.scala │ │ │ ├── FollowingDependentAdsMixerPipelineConfig.scala │ │ │ ├── FollowingEarlybirdCandidatePipelineConfig.scala │ │ │ ├── FollowingEarlybirdQueryTransformer.scala │ │ │ ├── FollowingEarlybirdResponseFeatureTransformer.scala │ │ │ ├── FollowingMixerPipelineConfig.scala │ │ │ ├── FollowingProductPipelineConfig.scala │ │ │ ├── FollowingWhoToFollowCandidatePipelineConfigBuilder.scala │ │ │ ├── model/ │ │ │ │ ├── BUILD.bazel │ │ │ │ ├── FollowingQuery.scala │ │ │ │ └── HomeMixerExternalStrings.scala │ │ │ └── param/ │ │ │ ├── BUILD.bazel │ │ │ ├── FollowingParam.scala │ │ │ └── FollowingParamConfig.scala │ │ ├── for_you/ │ │ │ ├── BUILD.bazel │ │ │ ├── ForYouAdsCandidatePipelineBuilder.scala │ │ │ ├── ForYouAdsDependentCandidatePipelineBuilder.scala │ │ │ ├── ForYouBookmarksCandidatePipelineConfig.scala │ │ │ ├── ForYouCommunitiesToJoinCandidatePipelineConfig.scala │ │ │ ├── ForYouConversationServiceCandidatePipelineConfig.scala │ │ │ ├── ForYouEntryPointPivotCandidatePipelineBuilder.scala │ │ │ ├── ForYouEntryPointPivotCandidatePipelineConfig.scala │ │ │ ├── ForYouExplorationTweetsCandidatePipelineConfig.scala │ │ │ ├── ForYouJetfuelFrameFrameCandidatePipelineConfig.scala │ │ │ ├── ForYouKeywordTrendsCandidatePipelineConfig.scala │ │ │ ├── ForYouMixerPipelineConfig.scala │ │ │ ├── ForYouPinnedTweetsCandidatePipelineConfig.scala │ │ │ ├── ForYouProductPipelineConfig.scala │ │ │ ├── ForYouPushToHomeMixerPipelineConfig.scala │ │ │ ├── ForYouPushToHomeTweetCandidatePipelineConfig.scala │ │ │ ├── ForYouRecommendedJobsCandidatePipelineConfig.scala │ │ │ ├── ForYouRecommendedRecruitingOrganizationsCandidatePipelineConfig.scala │ │ │ ├── ForYouRelevancePromptCandidatePipelineConfig.scala │ │ │ ├── ForYouResponseDomainMarshaller.scala │ │ │ ├── ForYouScoredTweetsCandidatePipelineConfig.scala │ │ │ ├── ForYouScoredTweetsMixerPipelineConfig.scala │ │ │ ├── ForYouScoredTweetsResponseFeatureTransformer.scala │ │ │ ├── ForYouScoredVideoTweetsCandidatePipelineConfig.scala │ │ │ ├── ForYouStoriesCandidatePipelineConfig.scala │ │ │ ├── ForYouTimelineScorerCandidatePipelineConfig.scala │ │ │ ├── ForYouTimelineScorerMixerPipelineConfig.scala │ │ │ ├── ForYouTimelineScorerResponseFeatureTransformer.scala │ │ │ ├── ForYouTuneFeedCandidatePipelineConfig.scala │ │ │ ├── ForYouTweetPreviewsCandidatePipelineConfig.scala │ │ │ ├── ForYouWhoToFollowCandidatePipelineConfigBuilder.scala │ │ │ ├── ForYouWhoToSubscribeCandidatePipelineConfigBuilder.scala │ │ │ ├── candidate_source/ │ │ │ │ ├── BUILD.bazel │ │ │ │ ├── BookmarksCandidateSource.scala │ │ │ │ ├── BroadcastedPinnedTweetsCandidateSource.scala │ │ │ │ ├── JetfuelFrameCandidateSource.scala │ │ │ │ ├── RecommendedJobsCandidateSource.scala │ │ │ │ ├── RecommendedRecruitingOrganizationsCandidateSource.scala │ │ │ │ ├── ScoredTweetsProductCandidateSource.scala │ │ │ │ ├── ScoredVideoTweetsCategorizedProductCandidateSource.scala │ │ │ │ ├── ScoredVideoTweetsProductCandidateSource.scala │ │ │ │ ├── StoriesModuleCandidateSource.scala │ │ │ │ ├── TuneFeedCandidateSource.scala │ │ │ │ └── UnifiedTrendsCandidateSource.scala │ │ │ ├── feature_hydrator/ │ │ │ │ ├── ArticlePreviewTextFeatureHydrator.scala │ │ │ │ ├── AuthorEnabledPreviewsFeatureHydrator.scala │ │ │ │ ├── BUILD.bazel │ │ │ │ ├── CurrentPinnedTweetFeatureHydrator.scala │ │ │ │ ├── DisplayedGrokTopicQueryFeatureHydrator.scala │ │ │ │ ├── FocalTweetFeatureHydrator.scala │ │ │ │ ├── FollowingSportsAccountQueryFeatureHydrator.scala │ │ │ │ ├── TimelineServiceTweetsQueryFeatureHydrator.scala │ │ │ │ ├── TweetAuthorFeatureHydrator.scala │ │ │ │ ├── TweetAuthorFollowersFeatureHydrator.scala │ │ │ │ ├── TweetEngagementsFeatureHydrator.scala │ │ │ │ ├── TweetPreviewTweetypieCandidateFeatureHydrator.scala │ │ │ │ └── ViewerHasJobRecommendationsFeatureHydrator.scala │ │ │ ├── filter/ │ │ │ │ ├── BUILD.bazel │ │ │ │ ├── NotArticleFilter.scala │ │ │ │ ├── PromotedTrendFilter.scala │ │ │ │ ├── SocialContextFilter.scala │ │ │ │ └── TweetPreviewTextFilter.scala │ │ │ ├── functional_component/ │ │ │ │ └── gate/ │ │ │ │ ├── BUILD.bazel │ │ │ │ └── PushToHomeRequestGate.scala │ │ │ ├── gate/ │ │ │ │ ├── BUILD.bazel │ │ │ │ ├── FollowingSportsUsersGate.scala │ │ │ │ ├── TuneFeedModuleGate.scala │ │ │ │ └── UserFollowingRangeGate.scala │ │ │ ├── model/ │ │ │ │ ├── BUILD.bazel │ │ │ │ ├── ForYouQuery.scala │ │ │ │ └── ForYouTweetsResponse.scala │ │ │ ├── param/ │ │ │ │ ├── BUILD.bazel │ │ │ │ ├── ForYouParam.scala │ │ │ │ └── ForYouParamConfig.scala │ │ │ ├── query_transformer/ │ │ │ │ ├── BUILD.bazel │ │ │ │ ├── TweetPreviewsQueryTransformer.scala │ │ │ │ └── UnifiedCandidatesQueryTransformer.scala │ │ │ ├── response_transformer/ │ │ │ │ ├── BUILD.bazel │ │ │ │ ├── BookmarksResponseFeatureTransformer.scala │ │ │ │ ├── ExplorationTweetResponseFeatureTransformer.scala │ │ │ │ ├── KeywordTrendsFeatureTransformer.scala │ │ │ │ ├── PinnedTweetResponseFeatureTransformer.scala │ │ │ │ ├── ScoredVideoTweetResponseFeatureTransformer.scala │ │ │ │ ├── StoriesModuleResponseFeatureTransformer.scala │ │ │ │ ├── TuneFeedFeatureTransformer.scala │ │ │ │ └── TweetPreviewResponseFeatureTransformer.scala │ │ │ ├── scorer/ │ │ │ │ ├── BUILD.bazel │ │ │ │ └── PinnedTweetCandidateScorer.scala │ │ │ ├── selector/ │ │ │ │ ├── BUILD.bazel │ │ │ │ ├── DebugUpdateSortAdsResult.scala │ │ │ │ ├── DebunchCandidates.scala │ │ │ │ └── RemoveDuplicateCandidatesOutsideModule.scala │ │ │ └── side_effect/ │ │ │ ├── BUILD.bazel │ │ │ ├── ServedCandidateFeatureKeysKafkaSideEffect.scala │ │ │ ├── ServedCandidateFeatureKeysKafkaSideEffectBuilder.scala │ │ │ ├── ServedCandidateKafkaSideEffect.scala │ │ │ ├── ServedCandidateKeysKafkaSideEffect.scala │ │ │ ├── ServedCandidateKeysKafkaSideEffectBuilder.scala │ │ │ ├── ServedStatsSideEffect.scala │ │ │ └── VideoServedStatsSideEffect.scala │ │ ├── list_recommended_users/ │ │ │ ├── BUILD.bazel │ │ │ ├── BlenderUsersCandidatePipelineConfig.scala │ │ │ ├── BlenderUsersCandidatePipelineQueryTransformer.scala │ │ │ ├── ListMemberBasedUsersCandidatePipelineConfig.scala │ │ │ ├── ListMemberBasedUsersResponseFeatureTransfromer.scala │ │ │ ├── ListRecommendedUsersMixerPipelineConfig.scala │ │ │ ├── ListRecommendedUsersProductPipelineConfig.scala │ │ │ ├── candidate_source/ │ │ │ │ ├── BUILD.bazel │ │ │ │ ├── BlenderUsersCandidateSource.scala │ │ │ │ └── SimilarityBasedUsersCandidateSource.scala │ │ │ ├── feature_hydrator/ │ │ │ │ ├── BUILD.bazel │ │ │ │ ├── IsGizmoduckValidUserFeatureHydrator.scala │ │ │ │ ├── IsListMemberFeatureHydrator.scala │ │ │ │ ├── IsSGSValidUserFeatureHydrator.scala │ │ │ │ └── RecentListMembersQueryFeatureHydrator.scala │ │ │ ├── filter/ │ │ │ │ ├── BUILD.bazel │ │ │ │ ├── DropMaxCandidatesByAggregatedScoreFilter.scala │ │ │ │ └── PreviouslyServedUsersFilter.scala │ │ │ ├── gate/ │ │ │ │ ├── BUILD.bazel │ │ │ │ └── ViewerIsListOwnerGate.scala │ │ │ ├── model/ │ │ │ │ ├── BUILD.bazel │ │ │ │ ├── ListRecommendedUsersFeatures.scala │ │ │ │ └── ListRecommendedUsersQuery.scala │ │ │ └── param/ │ │ │ ├── BUILD.bazel │ │ │ ├── ListRecommendedUsersParam.scala │ │ │ └── ListRecommendedUsersParamConfig.scala │ │ ├── list_tweets/ │ │ │ ├── BUILD.bazel │ │ │ ├── ListTweetsAdsCandidatePipelineBuilder.scala │ │ │ ├── ListTweetsMixerPipelineConfig.scala │ │ │ ├── ListTweetsProductPipelineConfig.scala │ │ │ ├── ListTweetsTimelineServiceCandidatePipelineConfig.scala │ │ │ ├── decorator/ │ │ │ │ ├── BUILD.bazel │ │ │ │ ├── ListConversationServiceCandidateDecorator.scala │ │ │ │ └── builder/ │ │ │ │ └── BUILD.bazel │ │ │ ├── model/ │ │ │ │ ├── BUILD.bazel │ │ │ │ └── ListTweetsQuery.scala │ │ │ └── param/ │ │ │ ├── BUILD.bazel │ │ │ ├── ListTweetsParam.scala │ │ │ └── ListTweetsParamConfig.scala │ │ ├── scored_tweets/ │ │ │ ├── BUILD.bazel │ │ │ ├── ScoredTweetsProductPipelineConfig.scala │ │ │ ├── ScoredTweetsRecommendationPipelineConfig.scala │ │ │ ├── candidate_pipeline/ │ │ │ │ ├── BUILD.bazel │ │ │ │ ├── CachedScoredTweetsCandidatePipelineConfig.scala │ │ │ │ ├── ScoredTweetsBackfillCandidatePipelineConfig.scala │ │ │ │ ├── ScoredTweetsContentExplorationCandidatePipelineConfig.scala │ │ │ │ ├── ScoredTweetsDirectUtegCandidatePipelineConfig.scala │ │ │ │ ├── ScoredTweetsFrsCandidatePipelineConfig.scala │ │ │ │ ├── ScoredTweetsInNetworkCandidatePipelineConfig.scala │ │ │ │ ├── ScoredTweetsListsCandidatePipelineConfig.scala │ │ │ │ ├── ScoredTweetsPopularVideosCandidatePipelineConfig.scala │ │ │ │ ├── ScoredTweetsStaticCandidatePipelineConfig.scala │ │ │ │ ├── ScoredTweetsTweetMixerCandidatePipelineConfig.scala │ │ │ │ ├── ScoredTweetsUtegCandidatePipelineConfig.scala │ │ │ │ └── earlybird/ │ │ │ │ ├── BUILD.bazel │ │ │ │ ├── ScoredTweetsCommunitiesCandidatePipelineConfig.scala │ │ │ │ ├── ScoredTweetsEarlybirdFrsCandidatePipelineConfig.scala │ │ │ │ └── ScoredTweetsEarlybirdInNetworkCandidatePipelineConfig.scala │ │ │ ├── candidate_source/ │ │ │ │ ├── BUILD.bazel │ │ │ │ ├── CachedScoredTweetsCandidateSource.scala │ │ │ │ ├── ContentExplorationCandidateSource.scala │ │ │ │ ├── EarlybirdRealtimeCGTweetCandidateSource.scala │ │ │ │ ├── ListsCandidateSource.scala │ │ │ │ └── StaticPostsCandidateSource.scala │ │ │ ├── feature_hydrator/ │ │ │ │ ├── AncestorFeatureHydrator.scala │ │ │ │ ├── AuthorFeatureHydrator.scala │ │ │ │ ├── AuthorIsCreatorFeatureHydrator.scala │ │ │ │ ├── BUILD.bazel │ │ │ │ ├── CachedScoredTweetsQueryFeatureHydrator.scala │ │ │ │ ├── EarlybirdFeatureHydrator.scala │ │ │ │ ├── FollowedUserScoresFeatureHydrator.scala │ │ │ │ ├── FrsSeedUsersQueryFeatureHydrator.scala │ │ │ │ ├── GizmoduckAuthorFeatureHydrator.scala │ │ │ │ ├── GraphTwoHopFeatureHydrator.scala │ │ │ │ ├── InvalidateCachedScoredTweetsQueryFeatureHydrator.scala │ │ │ │ ├── IsColdStartPostFeatureHydrator.scala │ │ │ │ ├── IsExtendedReplyFeatureHydrator.scala │ │ │ │ ├── ListIdsQueryFeatureHydrator.scala │ │ │ │ ├── ListNameFeatureHydrator.scala │ │ │ │ ├── LowSignalUserQueryFeatureHydrator.scala │ │ │ │ ├── MetricCenterUserCountingFeatureHydrator.scala │ │ │ │ ├── RealGraphQueryFeatureHydrator.scala │ │ │ │ ├── RealGraphViewerAuthorFeatureHydrator.scala │ │ │ │ ├── RealGraphViewerRelatedUsersFeatureHydrator.scala │ │ │ │ ├── RealTimeInteractionGraphEdgeFeatureHydrator.scala │ │ │ │ ├── RealTimeInteractionGraphUserVertexQueryFeatureHydrator.scala │ │ │ │ ├── ReplyFeatureHydrator.scala │ │ │ │ ├── RequestTimeQueryFeatureHydrator.scala │ │ │ │ ├── RetweetSourceTweetFeatureHydrator.scala │ │ │ │ ├── SGSMutuallyFollowedUserHydrator.scala │ │ │ │ ├── SemanticCoreFeatureHydrator.scala │ │ │ │ ├── SimClustersEngagementSimilarityFeatureHydrator.scala │ │ │ │ ├── SimClustersUserTweetScoresHydrator.scala │ │ │ │ ├── TSPInferredTopicFeatureHydrator.scala │ │ │ │ ├── TweetMetaDataFeatureHydrator.scala │ │ │ │ ├── TweetTimeFeatureHydrator.scala │ │ │ │ ├── TweetypieContentFeatureHydrator.scala │ │ │ │ ├── TweetypieStaticEntitiesFeatureHydrator.scala │ │ │ │ ├── TweetypieVisibilityFeatureHydrator.scala │ │ │ │ ├── TwhinAuthorFollowFeatureHydrator.scala │ │ │ │ ├── TwhinUserEngagementQueryFeatureHydrator.scala │ │ │ │ ├── TwhinUserFollowQueryFeatureHydrator.scala │ │ │ │ ├── UserFollowedTopicIdsFeatureHydrator.scala │ │ │ │ ├── UserLanguagesFeatureHydrator.scala │ │ │ │ ├── UserStateQueryFeatureHydrator.scala │ │ │ │ ├── UtegFeatureHydrator.scala │ │ │ │ ├── ValidLikedByUserIdsFeatureHydrator.scala │ │ │ │ ├── adapters/ │ │ │ │ │ ├── author_features/ │ │ │ │ │ │ ├── AuthorFeaturesAdapter.scala │ │ │ │ │ │ └── BUILD.bazel │ │ │ │ │ ├── content/ │ │ │ │ │ │ ├── BUILD.bazel │ │ │ │ │ │ ├── ContentFeatureAdapter.scala │ │ │ │ │ │ └── InReplyToContentFeatureAdapter.scala │ │ │ │ │ ├── earlybird/ │ │ │ │ │ │ ├── BUILD.bazel │ │ │ │ │ │ ├── EarlybirdAdapter.scala │ │ │ │ │ │ └── InReplyToEarlybirdAdapter.scala │ │ │ │ │ ├── inferred_topic/ │ │ │ │ │ │ ├── BUILD.bazel │ │ │ │ │ │ └── InferredTopicAdapter.scala │ │ │ │ │ ├── non_ml_features/ │ │ │ │ │ │ ├── BUILD.bazel │ │ │ │ │ │ ├── NonMLCandidateFeaturesAdapter.scala │ │ │ │ │ │ └── NonMLCommonFeaturesAdapter.scala │ │ │ │ │ ├── offline_aggregates/ │ │ │ │ │ │ ├── BUILD.bazel │ │ │ │ │ │ ├── PassThroughAdapter.scala │ │ │ │ │ │ └── SparseAggregatesToDenseAdapter.scala │ │ │ │ │ └── twhin_embeddings/ │ │ │ │ │ ├── BUILD.bazel │ │ │ │ │ └── TwhinEmbeddingsAdapter.scala │ │ │ │ ├── offline_aggregates/ │ │ │ │ │ ├── AggregateFeatureInfo.scala │ │ │ │ │ ├── AggregateFeaturesToDecodeWithMetadata.scala │ │ │ │ │ ├── BUILD.bazel │ │ │ │ │ ├── BaseAggregateQueryFeatureHydrator.scala │ │ │ │ │ ├── BaseEdgeAggregateFeatureHydrator.scala │ │ │ │ │ ├── EdgeAggregateFeatures.scala │ │ │ │ │ ├── PartAAggregateQueryFeatureHydrator.scala │ │ │ │ │ ├── PartBAggregateQueryFeatureHydrator.scala │ │ │ │ │ ├── Phase1EdgeAggregateFeatureHydrator.scala │ │ │ │ │ ├── Phase2EdgeAggregateFeatureHydrator.scala │ │ │ │ │ └── Utils.scala │ │ │ │ └── real_time_aggregates/ │ │ │ │ ├── BUILD.bazel │ │ │ │ ├── BaseRealTimeAggregateBulkCandidateFeatureHydrator.scala │ │ │ │ ├── BaseRealTimeAggregateQueryFeatureHydrator.scala │ │ │ │ ├── BaseRealtimeAggregateHydrator.scala │ │ │ │ ├── EngagementsReceivedByAuthorRealTimeAggregateFeatureHydrator.scala │ │ │ │ ├── RealTimeAggregateTimeDecay.scala │ │ │ │ ├── TopicCountryEngagementRealTimeAggregateFeatureHydrator.scala │ │ │ │ ├── TopicEngagementRealTimeAggregateFeatureHydrator.scala │ │ │ │ ├── TweetCountryEngagementRealTimeAggregateFeatureHydrator.scala │ │ │ │ ├── TweetEngagementRealTimeAggregateFeatureHydrator.scala │ │ │ │ ├── TwitterListEngagementRealTimeAggregateFeatureHydrator.scala │ │ │ │ ├── UserAuthorEngagementRealTimeAggregateFeatureHydrator.scala │ │ │ │ └── UserEngagementRealTimeAggregatesFeatureHydrator.scala │ │ │ ├── filter/ │ │ │ │ ├── BUILD.bazel │ │ │ │ ├── ControlAiExcludeFilter.scala │ │ │ │ ├── ControlAiOnlyIncludeFilter.scala │ │ │ │ ├── CustomSnowflakeIdAgeFilter.scala │ │ │ │ ├── CustomSnowflakeIdAgeFilterWithIncludeRule.scala │ │ │ │ ├── CustomSnowflakeIdAgeFilterWithSkipRule.scala │ │ │ │ ├── DuplicateConversationTweetsFilter.scala │ │ │ │ ├── ExtendedDirectedAtFilter.scala │ │ │ │ ├── FollowedAuthorFilter.scala │ │ │ │ ├── GrokAutoTranslateLanguageFilter.scala │ │ │ │ ├── IsOutOfNetworkColdStartPostFilter.scala │ │ │ │ ├── LanguageFilter.scala │ │ │ │ ├── OONReplyFilter.scala │ │ │ │ ├── OutOfNetworkCompetitorFilter.scala │ │ │ │ ├── OutOfNetworkCompetitorURLFilter.scala │ │ │ │ ├── QualifiedRepliesFilter.scala │ │ │ │ ├── RetweetSourceTweetRemovingFilter.scala │ │ │ │ ├── SGSAuthorFilter.scala │ │ │ │ ├── ScoredTweetsSocialContextFilter.scala │ │ │ │ ├── TopKFilter.scala │ │ │ │ ├── TopKOptionalFilter.scala │ │ │ │ ├── UtegMinFavCountFilter.scala │ │ │ │ └── UtegTopKFilter.scala │ │ │ ├── gate/ │ │ │ │ ├── AllowLowSignalUserGate.scala │ │ │ │ ├── BUILD.bazel │ │ │ │ ├── DenyLowSignalUserGate.scala │ │ │ │ ├── MatchesCountryGate.scala │ │ │ │ ├── MinCachedTweetsGate.scala │ │ │ │ ├── MinTimeSinceLastRequestGate.scala │ │ │ │ └── RecentFeedbackCheckGate.scala │ │ │ ├── marshaller/ │ │ │ │ ├── BUILD.bazel │ │ │ │ ├── ScoredTweetsResponseDomainMarshaller.scala │ │ │ │ └── ScoredTweetsResponseTransportMarshaller.scala │ │ │ ├── model/ │ │ │ │ ├── BUILD.bazel │ │ │ │ ├── ScoredTweetsQuery.scala │ │ │ │ └── ScoredTweetsResponse.scala │ │ │ ├── param/ │ │ │ │ ├── BUILD.bazel │ │ │ │ ├── ScoredTweetsParam.scala │ │ │ │ └── ScoredTweetsParamConfig.scala │ │ │ ├── query_transformer/ │ │ │ │ ├── BUILD.bazel │ │ │ │ ├── ContentExplorationQueryTransformer.scala │ │ │ │ ├── TimelineRankerFrsQueryTransformer.scala │ │ │ │ ├── TimelineRankerInNetworkQueryTransformer.scala │ │ │ │ ├── TimelineRankerQueryTransformer.scala │ │ │ │ ├── TimelineRankerUtegQueryTransformer.scala │ │ │ │ ├── UtegQueryTransformer.scala │ │ │ │ └── earlybird/ │ │ │ │ ├── BUILD.bazel │ │ │ │ ├── CommunitiesEarlybirdQueryTransformer.scala │ │ │ │ ├── EarlybirdFrsQueryTransformer.scala │ │ │ │ ├── EarlybirdInNetworkQueryTransformer.scala │ │ │ │ └── EarlybirdQueryTransformer.scala │ │ │ ├── response_transformer/ │ │ │ │ ├── BUILD.bazel │ │ │ │ ├── CachedScoredTweetsResponseFeatureTransformer.scala │ │ │ │ ├── ScoredTweetsBackfillResponseFeatureTransformer.scala │ │ │ │ ├── ScoredTweetsContentExplorationResponseFeatureTransformer.scala │ │ │ │ ├── ScoredTweetsDirectUtegResponseFeatureTransformer.scala │ │ │ │ ├── ScoredTweetsFrsResponseFeatureTransformer.scala │ │ │ │ ├── ScoredTweetsInNetworkResponseFeatureTransformer.scala │ │ │ │ ├── ScoredTweetsListsResponseFeatureTransformer.scala │ │ │ │ ├── ScoredTweetsOfflineVideoRecoResponseFeatureTransformer.scala │ │ │ │ ├── ScoredTweetsPopularVideosResponseFeatureTransformer.scala │ │ │ │ ├── ScoredTweetsStaticResponseFeatureTransformer.scala │ │ │ │ ├── ScoredTweetsTweetMixerResponseFeatureTransformer.scala │ │ │ │ ├── ScoredTweetsUtegResponseFeatureTransformer.scala │ │ │ │ ├── ScoredVideoTweetsPinnedTweetResponseFeatureTransformer.scala │ │ │ │ ├── TimelineRankerResponseTransformer.scala │ │ │ │ └── earlybird/ │ │ │ │ ├── BUILD.bazel │ │ │ │ ├── EarlybirdResponseTransformer.scala │ │ │ │ ├── ScoredTweetsCommunitiesResponseFeatureTransformer.scala │ │ │ │ ├── ScoredTweetsEarlybirdFrsResponseFeatureTransformer.scala │ │ │ │ ├── ScoredTweetsEarlybirdInNetworkResponseFeatureTransformer.scala │ │ │ │ └── ScoredTweetsEarlybirdNsfwResponseFeatureTransformer.scala │ │ │ ├── scorer/ │ │ │ │ ├── AuthorBasedListwiseRescoringProvider.scala │ │ │ │ ├── BUILD.bazel │ │ │ │ ├── CandidateSourceDiversityListwiseRescoringProvider.scala │ │ │ │ ├── ContentExplorationListwiseRescoringProvider.scala │ │ │ │ ├── ControlAiRescorer.scala │ │ │ │ ├── DeepRetrievalListwiseRescoringProvider.scala │ │ │ │ ├── DiversityDiscountProvider.scala │ │ │ │ ├── EvergreenDeepRetrievalCrossBorderListwiseRescoringProvider.scala │ │ │ │ ├── EvergreenDeepRetrievalListwiseRescoringProvider.scala │ │ │ │ ├── GrokSlopScoreRescorer.scala │ │ │ │ ├── HeuristicScorer.scala │ │ │ │ ├── ImpressedAuthorDecayRescoringProvider.scala │ │ │ │ ├── ImpressedImageClusterBasedListwiseRescoringProvider.scala │ │ │ │ ├── ImpressedMediaClusterBasedListwiseRescoringProvider.scala │ │ │ │ ├── ListwiseRescoringProvider.scala │ │ │ │ ├── LowSignalScorer.scala │ │ │ │ ├── MultimodalEmbeddingRescorer.scala │ │ │ │ ├── NaviModelScorer.scala │ │ │ │ ├── PredictedScoreFeature.scala │ │ │ │ └── RescoringFactorProvider.scala │ │ │ ├── scoring_pipeline/ │ │ │ │ ├── BUILD.bazel │ │ │ │ ├── ScoredTweetsHeuristicScoringPipelineConfig.scala │ │ │ │ ├── ScoredTweetsLowSignalScoringPipelineConfig.scala │ │ │ │ ├── ScoredTweetsModelScoringPipelineConfig.scala │ │ │ │ └── ScoredTweetsRerankingScoringPipelineConfig.scala │ │ │ ├── selector/ │ │ │ │ ├── BUILD.bazel │ │ │ │ ├── KeepBestOutOfNetworkCandidatePerAuthorPerSuggestType.scala │ │ │ │ └── KeepTopKCandidatesPerCommunity.scala │ │ │ ├── side_effect/ │ │ │ │ ├── BUILD.bazel │ │ │ │ ├── CacheCandidateFeaturesSideEffect.scala │ │ │ │ ├── CacheRequestInfoSideEffect.scala │ │ │ │ ├── CacheRetrievalSignalSideEffect.scala │ │ │ │ ├── CachedScoredTweetsSideEffect.scala │ │ │ │ ├── CommonFeaturesSideEffect.scala │ │ │ │ ├── ScoredCandidateFeatureKeysKafkaSideEffect.scala │ │ │ │ ├── ScoredContentExplorationCandidateScoreFeatureKafkaSideEffect.scala │ │ │ │ ├── ScoredPhoenixCandidatesKafkaSideEffect.scala │ │ │ │ ├── ScoredStatsSideEffect.scala │ │ │ │ ├── ScoredTweetsDiversityStatsSideEffect.scala │ │ │ │ ├── ScribeScoredCandidatesSideEffect.scala │ │ │ │ └── ScribeServedCommonFeaturesAndCandidateFeaturesSideEffect.scala │ │ │ └── util/ │ │ │ ├── BUILD.bazel │ │ │ └── ControlAiUtil.scala │ │ └── subscribed/ │ │ ├── BUILD.bazel │ │ ├── SubscribedEarlybirdCandidatePipelineConfig.scala │ │ ├── SubscribedEarlybirdQueryTransformer.scala │ │ ├── SubscribedEarlybirdResponseFeatureTransformer.scala │ │ ├── SubscribedMixerPipelineConfig.scala │ │ ├── SubscribedProductPipelineConfig.scala │ │ ├── model/ │ │ │ ├── BUILD.bazel │ │ │ └── SubscribedQuery.scala │ │ └── param/ │ │ ├── BUILD.bazel │ │ ├── SubscribedParam.scala │ │ └── SubscribedParamConfig.scala │ ├── service/ │ │ ├── BUILD.bazel │ │ ├── HomeMixerAccessPolicy.scala │ │ ├── HomeMixerAlertConfig.scala │ │ └── ScoredTweetsService.scala │ ├── store/ │ │ ├── BUILD.bazel │ │ ├── MediaClusterId88Store.scala │ │ ├── MediaClusterId95Store.scala │ │ ├── MediaClusterIdStoreTrait.scala │ │ ├── RTAMHStore.scala │ │ ├── RealGraphInNetworkScoresStore.scala │ │ ├── TweetWatchTimeMetadataStore.scala │ │ ├── TwhinEmbeddingsStore.scala │ │ └── VideoEmbeddingMHStore.scala │ └── util/ │ ├── BUILD.bazel │ ├── CachedScoredTweetsHelper.scala │ ├── CandidatesUtil.scala │ ├── DataRecordUtil.scala │ ├── InjectionTransformer.scala │ ├── LanguageCode.scala │ ├── LanguageUtil.scala │ ├── MissingKeyException.scala │ ├── NaviScorerStatsHandler.scala │ ├── ObservedKeyValueResultHandler.scala │ ├── PhoenixScorerStatsHandler.scala │ ├── PhoenixUtils.scala │ ├── ReplyRetweetUtil.scala │ ├── RerankerUtil.scala │ ├── SignalUtil.scala │ ├── TensorFlowUtil.scala │ ├── TweetImpressionsHelper.scala │ ├── UrtUtil.scala │ ├── earlybird/ │ │ ├── BUILD.bazel │ │ ├── EarlybirdRequestUtil.scala │ │ ├── EarlybirdResponseUtil.scala │ │ └── RelevanceSearchUtil.scala │ └── tweetypie/ │ ├── BUILD.bazel │ ├── RequestFields.scala │ └── content/ │ ├── BUILD.bazel │ ├── FeatureExtractionHelper.scala │ ├── TweetMediaFeaturesExtractor.scala │ └── TweetTextFeaturesExtractor.scala ├── navi/ │ ├── README.md │ ├── dr_transform/ │ │ ├── Cargo.toml │ │ └── src/ │ │ ├── all_config.rs │ │ ├── converter.rs │ │ ├── lib.rs │ │ └── util.rs │ ├── navi/ │ │ ├── Cargo.toml │ │ ├── build.rs │ │ ├── proto/ │ │ │ ├── kfserving/ │ │ │ │ └── grpc_predict_v2.proto │ │ │ ├── tensorflow/ │ │ │ │ └── core/ │ │ │ │ ├── example/ │ │ │ │ │ ├── example.proto │ │ │ │ │ └── feature.proto │ │ │ │ ├── framework/ │ │ │ │ │ ├── allocation_description.proto │ │ │ │ │ ├── api_def.proto │ │ │ │ │ ├── attr_value.proto │ │ │ │ │ ├── cost_graph.proto │ │ │ │ │ ├── dataset_metadata.proto │ │ │ │ │ ├── dataset_options.proto │ │ │ │ │ ├── device_attributes.proto │ │ │ │ │ ├── full_type.proto │ │ │ │ │ ├── function.proto │ │ │ │ │ ├── graph.proto │ │ │ │ │ ├── graph_transfer_info.proto │ │ │ │ │ ├── kernel_def.proto │ │ │ │ │ ├── log_memory.proto │ │ │ │ │ ├── model.proto │ │ │ │ │ ├── node_def.proto │ │ │ │ │ ├── op_def.proto │ │ │ │ │ ├── reader_base.proto │ │ │ │ │ ├── resource_handle.proto │ │ │ │ │ ├── step_stats.proto │ │ │ │ │ ├── summary.proto │ │ │ │ │ ├── tensor.proto │ │ │ │ │ ├── tensor_description.proto │ │ │ │ │ ├── tensor_shape.proto │ │ │ │ │ ├── tensor_slice.proto │ │ │ │ │ ├── types.proto │ │ │ │ │ ├── variable.proto │ │ │ │ │ └── versions.proto │ │ │ │ └── protobuf/ │ │ │ │ ├── autotuning.proto │ │ │ │ ├── bfc_memory_map.proto │ │ │ │ ├── cluster.proto │ │ │ │ ├── composite_tensor_variant.proto │ │ │ │ ├── config.proto │ │ │ │ ├── control_flow.proto │ │ │ │ ├── conv_autotuning.proto │ │ │ │ ├── coordination_config.proto │ │ │ │ ├── coordination_service.proto │ │ │ │ ├── critical_section.proto │ │ │ │ ├── data_service.proto │ │ │ │ ├── debug.proto │ │ │ │ ├── debug_event.proto │ │ │ │ ├── device_filters.proto │ │ │ │ ├── device_properties.proto │ │ │ │ ├── distributed_runtime_payloads.proto │ │ │ │ ├── eager_service.proto │ │ │ │ ├── error_codes.proto │ │ │ │ ├── graph_debug_info.proto │ │ │ │ ├── master.proto │ │ │ │ ├── master_service.proto │ │ │ │ ├── meta_graph.proto │ │ │ │ ├── named_tensor.proto │ │ │ │ ├── queue_runner.proto │ │ │ │ ├── remote_tensor_handle.proto │ │ │ │ ├── replay_log.proto │ │ │ │ ├── rewriter_config.proto │ │ │ │ ├── saved_model.proto │ │ │ │ ├── saved_object_graph.proto │ │ │ │ ├── saver.proto │ │ │ │ ├── service_config.proto │ │ │ │ ├── snapshot.proto │ │ │ │ ├── status.proto │ │ │ │ ├── struct.proto │ │ │ │ ├── tensor_bundle.proto │ │ │ │ ├── tensorflow_server.proto │ │ │ │ ├── trackable_object_graph.proto │ │ │ │ ├── transport_options.proto │ │ │ │ ├── verifier_config.proto │ │ │ │ ├── worker.proto │ │ │ │ └── worker_service.proto │ │ │ └── tensorflow_serving/ │ │ │ ├── apis/ │ │ │ │ ├── classification.proto │ │ │ │ ├── get_model_metadata.proto │ │ │ │ ├── get_model_status.proto │ │ │ │ ├── inference.proto │ │ │ │ ├── input.proto │ │ │ │ ├── logging.proto │ │ │ │ ├── model.proto │ │ │ │ ├── model_management.proto │ │ │ │ ├── model_service.proto │ │ │ │ ├── predict.proto │ │ │ │ ├── prediction_log.proto │ │ │ │ ├── prediction_service.proto │ │ │ │ ├── regression.proto │ │ │ │ ├── session_service.proto │ │ │ │ └── status.proto │ │ │ └── config/ │ │ │ ├── file_system_storage_path_source.proto │ │ │ ├── log_collector_config.proto │ │ │ ├── logging_config.proto │ │ │ └── model_server_config.proto │ │ ├── scripts/ │ │ │ ├── run_onnx.sh │ │ │ └── run_tf2.sh │ │ └── src/ │ │ ├── batch.rs │ │ ├── bin/ │ │ │ ├── navi.rs │ │ │ ├── navi_onnx.rs │ │ │ └── navi_torch.rs │ │ ├── bootstrap.rs │ │ ├── cli_args.rs │ │ ├── cores/ │ │ │ └── validator.rs │ │ ├── lib.rs │ │ ├── metrics.rs │ │ ├── onnx_model.rs │ │ ├── predict_service.rs │ │ ├── tf_model.rs │ │ └── torch_model.rs │ ├── segdense/ │ │ ├── Cargo.toml │ │ └── src/ │ │ ├── error.rs │ │ ├── lib.rs │ │ ├── main.rs │ │ ├── mapper.rs │ │ ├── segdense_transform_spec_home_recap_2022.rs │ │ └── util.rs │ └── thrift_bpr_adapter/ │ └── thrift/ │ ├── Cargo.toml │ └── src/ │ ├── data.rs │ ├── decoder.rs │ ├── lib.rs │ ├── main.rs │ ├── prediction_service.rs │ └── tensor.rs ├── product-mixer/ │ ├── README.md │ ├── component-library/ │ │ └── src/ │ │ └── main/ │ │ └── scala/ │ │ └── com/ │ │ └── twitter/ │ │ └── product_mixer/ │ │ └── component_library/ │ │ ├── candidate_source/ │ │ │ ├── account_recommendations_mixer/ │ │ │ │ ├── AccountRecommendationsMixerCandidateSource.scala │ │ │ │ └── BUILD │ │ │ ├── ads/ │ │ │ │ ├── AdsProdStratoCandidateSource.scala │ │ │ │ ├── AdsProdThriftCandidateSource.scala │ │ │ │ ├── AdsStagingCandidateSource.scala │ │ │ │ └── BUILD │ │ │ ├── ann/ │ │ │ │ ├── AnnCandidateSource.scala │ │ │ │ ├── AnnIdQuery.scala │ │ │ │ └── BUILD.bazel │ │ │ ├── audiospace/ │ │ │ │ ├── BUILD.bazel │ │ │ │ └── CreatedSpacesCandidateSource.scala │ │ │ ├── business_profiles/ │ │ │ │ ├── BUILD │ │ │ │ └── TeamMembersCandidateSource.scala │ │ │ ├── cr_mixer/ │ │ │ │ ├── BUILD.bazel │ │ │ │ ├── CrMixerFrsBasedTweetRecommendationsCandidateSource.scala │ │ │ │ └── CrMixerTweetRecommendationsCandidateSource.scala │ │ │ ├── earlybird/ │ │ │ │ ├── BUILD.bazel │ │ │ │ └── EarlybirdTweetCandidateSource.scala │ │ │ ├── explore_ranker/ │ │ │ │ ├── BUILD.bazel │ │ │ │ └── ExploreRankerCandidateSource.scala │ │ │ ├── flexible_injection_pipeline/ │ │ │ │ ├── BUILD │ │ │ │ └── PromptCandidateSource.scala │ │ │ ├── hermit/ │ │ │ │ ├── BUILD.bazel │ │ │ │ └── UsersSimilarToMeCandidateSource.scala │ │ │ ├── interest_discovery/ │ │ │ │ ├── BUILD │ │ │ │ └── RelatedTopicsCandidateSource.scala │ │ │ ├── lists/ │ │ │ │ ├── BUILD.bazel │ │ │ │ └── OrganicPopGeoListsCandidateSource.scala │ │ │ ├── people_discovery/ │ │ │ │ ├── BUILD │ │ │ │ └── PeopleDiscoveryCandidateSource.scala │ │ │ ├── recommendations/ │ │ │ │ ├── BUILD.bazel │ │ │ │ └── UserFollowRecommendationsCandidateSource.scala │ │ │ ├── social_graph/ │ │ │ │ ├── BUILD.bazel │ │ │ │ ├── SocialgraphCandidateSource.scala │ │ │ │ └── SocialgraphCursorConstants.scala │ │ │ ├── timeline_ranker/ │ │ │ │ ├── BUILD.bazel │ │ │ │ ├── TimelineRankerInNetworkCandidateSource.scala │ │ │ │ ├── TimelineRankerRecapCandidateSource.scala │ │ │ │ └── TimelineRankerUtegCandidateSource.scala │ │ │ ├── timeline_scorer/ │ │ │ │ ├── BUILD.bazel │ │ │ │ └── TimelineScorerCandidateSource.scala │ │ │ ├── timeline_service/ │ │ │ │ ├── BUILD │ │ │ │ └── TimelineServiceTweetCandidateSource.scala │ │ │ ├── timelines_impression_store/ │ │ │ │ ├── BUILD │ │ │ │ └── TimelinesImpressionStoreCandidateSourceV2.scala │ │ │ ├── topics/ │ │ │ │ ├── BUILD │ │ │ │ └── FollowedTopicsCandidateSource.scala │ │ │ └── tweetconvosvc/ │ │ │ ├── BUILD.bazel │ │ │ ├── ConversationServiceCandidateSource.scala │ │ │ ├── ConversationServiceResponseFeatureTransformer.scala │ │ │ └── DropMaxConversationModuleItemCandidates.scala │ │ ├── decorator/ │ │ │ ├── slice/ │ │ │ │ ├── BUILD │ │ │ │ ├── SliceItemCandidateDecorator.scala │ │ │ │ └── builder/ │ │ │ │ ├── BUILD │ │ │ │ └── CursorCandidateSliceItemBuilder.scala │ │ │ └── urt/ │ │ │ ├── BUILD │ │ │ ├── UrtConversationItemCandidateDecorator.scala │ │ │ ├── UrtItemCandidateDecorator.scala │ │ │ ├── UrtItemInModuleDecorator.scala │ │ │ ├── UrtMultipleModulesDecorator.scala │ │ │ └── builder/ │ │ │ ├── contextual_ref/ │ │ │ │ └── ContextualTweetRefBuilder.scala │ │ │ ├── conversations/ │ │ │ │ └── ConversationModuleMetadataBuilder.scala │ │ │ ├── flexible_injection_pipeline/ │ │ │ │ ├── FlipPromptCandidateUrtItemBuilder.scala │ │ │ │ ├── FlipPromptModuleGrouping.scala │ │ │ │ ├── FlipPromptUrtModuleBuilder.scala │ │ │ │ ├── OnboardingInjectionConversions.scala │ │ │ │ ├── RelevancePromptConversions.scala │ │ │ │ └── TilesCarouselConversions.scala │ │ │ ├── icon/ │ │ │ │ └── HorizonIconBuilder.scala │ │ │ ├── item/ │ │ │ │ ├── ad/ │ │ │ │ │ └── AdsCandidateUrtItemBuilder.scala │ │ │ │ ├── alert/ │ │ │ │ │ ├── DurationParamBuilder.scala │ │ │ │ │ ├── ShowAlertCandidateUrtItemBuilder.scala │ │ │ │ │ ├── StaticShowAlertColorConfigurationBuilder.scala │ │ │ │ │ ├── StaticShowAlertDisplayLocationBuilder.scala │ │ │ │ │ └── StaticShowAlertIconDisplayInfoBuilder.scala │ │ │ │ ├── article/ │ │ │ │ │ └── ArticleCandidateUrtItemBuilder.scala │ │ │ │ ├── audio_space/ │ │ │ │ │ └── AudioSpaceCandidateUrtItemBuilder.scala │ │ │ │ ├── card/ │ │ │ │ │ └── CardCandidateUtrItemBuilder.scala │ │ │ │ ├── commerce/ │ │ │ │ │ ├── CommerceProductCandidateUrtItemBuilder.scala │ │ │ │ │ └── CommerceProductGroupCandidateUrtItemBuilder.scala │ │ │ │ ├── event_summary/ │ │ │ │ │ └── EventCandidateUrtItemBuilder.scala │ │ │ │ ├── generic_summary/ │ │ │ │ │ ├── GenericSummaryActionBuilder.scala │ │ │ │ │ ├── GenericSummaryCandidateUrtItemBuilder.scala │ │ │ │ │ └── GenericSummaryContextBuilder.scala │ │ │ │ ├── icon_label/ │ │ │ │ │ └── IconLabelCandidateUrtItemBuilder.scala │ │ │ │ ├── message/ │ │ │ │ │ ├── CompactPromptCandidateUrtItemStringCenterBuilder.scala │ │ │ │ │ ├── InlinePromptCandidateUrtItemStringCenterBuilder.scala │ │ │ │ │ ├── MessageTextActionBuilder.scala │ │ │ │ │ └── UserFacePileBuilder.scala │ │ │ │ ├── moment/ │ │ │ │ │ └── MomentAnnotationCandidateUrtItemBuilder.scala │ │ │ │ ├── relevance_prompt/ │ │ │ │ │ └── RelevancePromptCandidateUrtItemStringCenterBuilder.scala │ │ │ │ ├── suggestion/ │ │ │ │ │ └── SpellingSuggestionCandidateUrtItemBuilder.scala │ │ │ │ ├── tile/ │ │ │ │ │ └── TileCandidateUrtItemBuilder.scala │ │ │ │ ├── topic/ │ │ │ │ │ ├── ParamTopicDisplayTypeBuilder.scala │ │ │ │ │ ├── ParamTopicFunctionalityTypeBuilder.scala │ │ │ │ │ ├── StaticTopicDisplayTypeBuilder.scala │ │ │ │ │ ├── StaticTopicFunctionalityTypeBuilder.scala │ │ │ │ │ ├── TopicCandidateUrtItemBuilder.scala │ │ │ │ │ └── VerticalGridTopicCandidateUrtItemBuilder.scala │ │ │ │ ├── trend/ │ │ │ │ │ ├── TrendCandidateUrtItemBuilder.scala │ │ │ │ │ ├── TrendMetaDescriptionBuilder.scala │ │ │ │ │ └── TrendPromotedMetadataBuilder.scala │ │ │ │ ├── tweet/ │ │ │ │ │ └── TweetCandidateUrtItemBuilder.scala │ │ │ │ ├── twitter_list/ │ │ │ │ │ └── TwitterListCandidateUrtItemBuilder.scala │ │ │ │ ├── unified_trend_event/ │ │ │ │ │ └── UnifiedTrendEventCandidateUrtItemBuilder.scala │ │ │ │ └── user/ │ │ │ │ └── UserCandidateUrtItemBuilder.scala │ │ │ ├── metadata/ │ │ │ │ ├── ClientEventInfoBuilder.scala │ │ │ │ ├── ConversationTweetClientEventDetailsBuilder.scala │ │ │ │ ├── StaticUrlBuilder.scala │ │ │ │ ├── TopicClientEventDetailsBuilder.scala │ │ │ │ ├── TopicNotInterestedFeedbackActionInfoBuilder.scala │ │ │ │ ├── TopicTweetClientEventDetailsBuilder.scala │ │ │ │ ├── TopicsToFollowModuleMetadataBuilder.scala │ │ │ │ └── WhoToFollowFeedbackActionInfoBuilder.scala │ │ │ ├── operation/ │ │ │ │ └── CursorCandidateUrtOperationBuilder.scala │ │ │ ├── promoted/ │ │ │ │ └── FeaturePromotedMetadataBuilder.scala │ │ │ ├── richtext/ │ │ │ │ ├── RichTextBuilder.scala │ │ │ │ ├── RichTextMarkupUtil.scala │ │ │ │ ├── RichTextReferenceObjectBuilder.scala │ │ │ │ ├── RichTextRtlOptionBuilder.scala │ │ │ │ ├── StaticRichTextBuilder.scala │ │ │ │ └── twitter_text/ │ │ │ │ ├── TwitterTextEntityProcessor.scala │ │ │ │ ├── TwitterTextFormatProcessor.scala │ │ │ │ ├── TwitterTextRenderer.scala │ │ │ │ ├── TwitterTextRendererProcessor.scala │ │ │ │ └── TwitterTextRichTextBuilder.scala │ │ │ ├── social_context/ │ │ │ │ ├── FeatureSocialContextBuilder.scala │ │ │ │ ├── GeneralModuleSocialContextBuilder.scala │ │ │ │ ├── GeneralSocialContextBuilder.scala │ │ │ │ └── WhoToFollowSocialContextBuilder.scala │ │ │ ├── stringcenter/ │ │ │ │ ├── ModuleStr.scala │ │ │ │ └── Str.scala │ │ │ └── timeline_module/ │ │ │ ├── FeatureModuleDisplayTypeBuilder.scala │ │ │ ├── ModuleDynamicShowMoreBehaviorRevealByCountBuilder.scala │ │ │ ├── ModuleFooterBuilder.scala │ │ │ ├── ModuleHeaderBuilder.scala │ │ │ ├── ModuleHeaderDisplayTypeBuilder.scala │ │ │ ├── ModuleIdGeneration.scala │ │ │ ├── ModuleShowMoreBehaviorRevealByCountBuilder.scala │ │ │ ├── ParamGatedModuleFooterBuilder.scala │ │ │ ├── ParamGatedModuleHeaderBuilder.scala │ │ │ ├── ParamWhoToFollowModuleDisplayTypeBuilder.scala │ │ │ ├── StaticModuleDisplayTypeBuilder.scala │ │ │ └── TimelineModuleBuilder.scala │ │ ├── experiments/ │ │ │ └── metrics/ │ │ │ ├── BUILD │ │ │ ├── MetricDefinitions.scala │ │ │ ├── MetricGroup.scala │ │ │ ├── MetricTemplateCLIRunner.scala │ │ │ ├── MetricTemplates.scala │ │ │ └── PlaceholderConfig.scala │ │ ├── feature/ │ │ │ └── featurestorev1/ │ │ │ ├── BUILD │ │ │ ├── FeatureStoreV1QueryUserIdFeature.scala │ │ │ ├── FeatureStoreV1QueryUserIdTweetCandidateAuthorIdFeature.scala │ │ │ ├── FeatureStoreV1QueryUserIdTweetCandidateTweetIdFeature.scala │ │ │ ├── FeatureStoreV1TweetCandidateAuthorIdFeature.scala │ │ │ ├── FeatureStoreV1TweetCandidateTweetIdFeature.scala │ │ │ └── FeatureStoreV1UserCandidateUserIdFeature.scala │ │ ├── feature_hydrator/ │ │ │ ├── BUILD │ │ │ ├── candidate/ │ │ │ │ ├── ads/ │ │ │ │ │ ├── AdvertiserBrandSafetySettingsFeatureHydrator.scala │ │ │ │ │ └── BUILD │ │ │ │ ├── decay/ │ │ │ │ │ ├── BUILD.bazel │ │ │ │ │ └── DecayCandidateFeatureHydrator.scala │ │ │ │ ├── param_gated/ │ │ │ │ │ ├── BUILD │ │ │ │ │ ├── ParamGatedBulkCandidateFeatureHydrator.scala │ │ │ │ │ ├── ParamGatedCandidateFeatureHydrator.scala │ │ │ │ │ └── featurestorev1/ │ │ │ │ │ ├── BUILD │ │ │ │ │ └── ParamGatedFeatureStoreV1CandidateFeatureHydrator.scala │ │ │ │ ├── qualityfactor_gated/ │ │ │ │ │ ├── BUILD.bazel │ │ │ │ │ └── QualityFactorGatedCandidateFeatureHydrator.scala │ │ │ │ ├── tweet_is_nsfw/ │ │ │ │ │ ├── BUILD │ │ │ │ │ └── TweetIsNsfwCandidateFeatureHydrator.scala │ │ │ │ ├── tweet_tlx/ │ │ │ │ │ ├── BUILD.bazel │ │ │ │ │ └── TweetTLXScoreCandidateFeatureHydrator.scala │ │ │ │ ├── tweet_tweetypie/ │ │ │ │ │ ├── BUILD │ │ │ │ │ └── TweetTweetypieCandidateFeatureHydrator.scala │ │ │ │ └── tweet_visibility_reason/ │ │ │ │ ├── BUILD │ │ │ │ └── TweetVisibilityReasonBulkCandidateFeatureHydrator.scala │ │ │ └── query/ │ │ │ ├── async/ │ │ │ │ ├── AsyncQueryFeatureHydrator.scala │ │ │ │ └── BUILD │ │ │ ├── cr_ml_ranker/ │ │ │ │ ├── BUILD.bazel │ │ │ │ ├── CrMlRankerCommonQueryFeatureHydrator.scala │ │ │ │ ├── CrMlRankerCommonQueryFeatureHydratorBuilder.scala │ │ │ │ └── RankingConfigBuilder.scala │ │ │ ├── impressed_tweets/ │ │ │ │ ├── BUILD │ │ │ │ └── ImpressedTweetsQueryFeatureHydrator.scala │ │ │ ├── logged_in_only/ │ │ │ │ ├── BUILD │ │ │ │ └── LoggedInOnlyQueryFeatureHydrator.scala │ │ │ ├── param_gated/ │ │ │ │ ├── AsyncParamGatedQueryFeatureHydrator.scala │ │ │ │ ├── BUILD │ │ │ │ ├── ParamGatedQueryFeatureHydrator.scala │ │ │ │ └── featurestorev1/ │ │ │ │ ├── AsyncParamGatedFeatureStoreV1QueryFeatureHydrator.scala │ │ │ │ ├── BUILD │ │ │ │ └── ParamGatedFeatureStoreV1QueryFeatureHydrator.scala │ │ │ └── qualityfactor_gated/ │ │ │ ├── BUILD.bazel │ │ │ └── QualityFactorGatedQueryFeatureHydrator.scala │ │ ├── filter/ │ │ │ ├── AdaptiveLongIntBloomFilterDedupFilter.scala │ │ │ ├── BUILD │ │ │ ├── ExcludedIdsFilter.scala │ │ │ ├── FeatureFilter.scala │ │ │ ├── FeatureValueConditionalFilter.scala │ │ │ ├── HasAuthorIdFeatureFilter.scala │ │ │ ├── ParamGatedFilter.scala │ │ │ ├── PredicateFilter.scala │ │ │ ├── SnowflakeIdAgeFilter.scala │ │ │ ├── TweetAuthorCountryFilter.scala │ │ │ ├── TweetAuthorIsSelfFilter.scala │ │ │ ├── TweetIsNotReplyFilter.scala │ │ │ ├── TweetLanguageFilter.scala │ │ │ ├── TweetVisibilityFilter.scala │ │ │ ├── UrtUnorderedExcludeIdsCursorFilter.scala │ │ │ ├── list_visibility/ │ │ │ │ ├── BUILD.bazel │ │ │ │ └── ListVisibilityFilter.scala │ │ │ └── tweet_impression/ │ │ │ ├── BUILD.bazel │ │ │ └── TweetImpressionFilter.scala │ │ ├── gate/ │ │ │ ├── BUILD │ │ │ ├── DefinedCountryCodeGate.scala │ │ │ ├── FeatureGate.scala │ │ │ ├── FirstPageGate.scala │ │ │ ├── NoCandidatesGate.scala │ │ │ ├── NonEmptyAdsQueryStringGate.scala │ │ │ ├── NonEmptyCandidatesGate.scala │ │ │ ├── QualityFactorGate.scala │ │ │ └── any_candidates_without_feature/ │ │ │ ├── AnyCandidatesWithoutFeatureGate.scala │ │ │ └── BUILD.bazel │ │ ├── model/ │ │ │ ├── candidate/ │ │ │ │ ├── ArticleCandidate.scala │ │ │ │ ├── AudioSpaceCandidate.scala │ │ │ │ ├── BUILD │ │ │ │ ├── CardCandidate.scala │ │ │ │ ├── CommerceItemCandidate.scala │ │ │ │ ├── CursorCandidate.scala │ │ │ │ ├── DMConvoCandidate.scala │ │ │ │ ├── DMEventCandidate.scala │ │ │ │ ├── GenericSummaryCandidate.scala │ │ │ │ ├── LabelCandidate.scala │ │ │ │ ├── MomentAnnotationCandidate.scala │ │ │ │ ├── PromptCandidate.scala │ │ │ │ ├── ShowAlertCandidate.scala │ │ │ │ ├── TopicCandidate.scala │ │ │ │ ├── TweetCandidate.scala │ │ │ │ ├── TwitterListCandidate.scala │ │ │ │ ├── UserCandidate.scala │ │ │ │ ├── ads/ │ │ │ │ │ ├── AdsCandidate.scala │ │ │ │ │ └── BUILD │ │ │ │ ├── hubble/ │ │ │ │ │ ├── AdCreativeCandidate.scala │ │ │ │ │ ├── AdGroupCandidate.scala │ │ │ │ │ ├── AdUnitCandidate.scala │ │ │ │ │ ├── BUILD │ │ │ │ │ ├── CampaignCandidate.scala │ │ │ │ │ └── FundingSourceCandidate.scala │ │ │ │ ├── suggestion/ │ │ │ │ │ ├── BUILD │ │ │ │ │ ├── QuerySuggestionCandidate.scala │ │ │ │ │ └── SpellingSuggestionCandidate.scala │ │ │ │ └── trends_events/ │ │ │ │ ├── BUILD │ │ │ │ └── UnifiedTrendEventCandidate.scala │ │ │ ├── cursor/ │ │ │ │ ├── BUILD │ │ │ │ ├── OrderedCursor.scala │ │ │ │ ├── PassThroughCursor.scala │ │ │ │ ├── UnorderedBloomFilterCursor.scala │ │ │ │ ├── UnorderedExcludeIdsCursor.scala │ │ │ │ └── UrtPlaceholderCursor.scala │ │ │ ├── feature/ │ │ │ │ └── flexible_injection_pipeline/ │ │ │ │ └── BUILD.bazel │ │ │ ├── presentation/ │ │ │ │ ├── slice/ │ │ │ │ │ ├── BUILD │ │ │ │ │ └── SliceItemPresentation.scala │ │ │ │ └── urt/ │ │ │ │ ├── BUILD │ │ │ │ ├── ConversationModuleItem.scala │ │ │ │ ├── UrtItemPresentation.scala │ │ │ │ ├── UrtModulePresentation.scala │ │ │ │ └── UrtOperationPresentation.scala │ │ │ └── query/ │ │ │ └── ads/ │ │ │ ├── AdsQuery.scala │ │ │ └── BUILD │ │ ├── module/ │ │ │ ├── AccountRecommendationsMixerModule.scala │ │ │ ├── BUILD │ │ │ ├── ConversationServiceModule.scala │ │ │ ├── CrMixerClientModule.scala │ │ │ ├── DarkTrafficFilterModule.scala │ │ │ ├── EarlybirdModule.scala │ │ │ ├── ExploreRankerClientModule.scala │ │ │ ├── FollowRecommenderServiceModule.scala │ │ │ ├── GizmoduckClientModule.scala │ │ │ ├── HomeScorerClientModule.scala │ │ │ ├── InterestsDiscoveryServiceModule.scala │ │ │ ├── OnboardingTaskServiceModule.scala │ │ │ ├── PeopleDiscoveryServiceModule.scala │ │ │ ├── SocialGraphServiceModule.scala │ │ │ ├── TimelineMixerClientModule.scala │ │ │ ├── TimelineRankerClientModule.scala │ │ │ ├── TimelineScorerClientModule.scala │ │ │ ├── TimelineServiceClientModule.scala │ │ │ ├── TweetImpressionStoreModule.scala │ │ │ ├── TweetyPieClientModule.scala │ │ │ ├── UserSessionStoreModule.scala │ │ │ ├── cr_ml_ranker/ │ │ │ │ ├── BUILD.bazel │ │ │ │ └── CrMlRankerModule.scala │ │ │ └── http/ │ │ │ ├── BUILD │ │ │ ├── FinagleHttpClientModule.scala │ │ │ ├── FinagleHttpClientWithCredentialProxyModule.scala │ │ │ ├── FinagleHttpClientWithProxyModule.scala │ │ │ ├── FinatraHttpClientModule.scala │ │ │ ├── FinatraHttpClientWithCredentialProxyModule.scala │ │ │ ├── FinatraHttpClientWithProxyModule.scala │ │ │ └── ProxyCredentialsModule.scala │ │ ├── pipeline/ │ │ │ └── candidate/ │ │ │ ├── ads/ │ │ │ │ ├── AdsCandidatePipelineConfig.scala │ │ │ │ ├── AdsCandidatePipelineConfigBuilder.scala │ │ │ │ ├── AdsCandidatePipelineQueryTransformer.scala │ │ │ │ ├── AdsCandidatePipelineResultsTransformer.scala │ │ │ │ ├── AdsDependentCandidatePipelineConfig.scala │ │ │ │ ├── AdsDependentCandidatePipelineConfigBuilder.scala │ │ │ │ ├── AdsDependentCandidatePipelineQueryTransformer.scala │ │ │ │ ├── AdsDisplayLocationBuilder.scala │ │ │ │ ├── BUILD │ │ │ │ ├── CountNumOrganicItems.scala │ │ │ │ ├── GetOrganicItemIds.scala │ │ │ │ ├── PromotedTweetsOnlyFilter.scala │ │ │ │ └── ValidAdImpressionIdFilter.scala │ │ │ ├── flexible_injection_pipeline/ │ │ │ │ ├── BUILD.bazel │ │ │ │ ├── FlipPromptCandidatePipelineConfig.scala │ │ │ │ ├── FlipPromptCandidatePipelineConfigBuilder.scala │ │ │ │ ├── FlipPromptDependentCandidatePipelineConfig.scala │ │ │ │ ├── FlipPromptDependentCandidatePipelineConfigBuilder.scala │ │ │ │ └── transformer/ │ │ │ │ ├── BUILD │ │ │ │ ├── FlipCandidateFeatureTransformer.scala │ │ │ │ ├── FlipInjectionParams.scala │ │ │ │ ├── FlipQueryTransformer.scala │ │ │ │ └── PromptResultsTransformer.scala │ │ │ └── who_to_follow_module/ │ │ │ ├── BUILD.bazel │ │ │ ├── WhoToFollowArmCandidateDecorator.scala │ │ │ ├── WhoToFollowArmCandidatePipelineConfig.scala │ │ │ ├── WhoToFollowArmCandidatePipelineQueryTransformer.scala │ │ │ ├── WhoToFollowArmDependentCandidatePipelineConfig.scala │ │ │ ├── WhoToFollowArmDependentCandidatePipelineConfigBuilder.scala │ │ │ ├── WhoToFollowArmResponseFeatureTransformer.scala │ │ │ ├── WhoToFollowCandidateDecorator.scala │ │ │ ├── WhoToFollowCandidatePipelineConfig.scala │ │ │ ├── WhoToFollowCandidatePipelineConfigBuilder.scala │ │ │ ├── WhoToFollowCandidatePipelineQueryTransformer.scala │ │ │ ├── WhoToFollowClientEventDetailsBuilder.scala │ │ │ ├── WhoToFollowDependentCandidatePipelineConfig.scala │ │ │ ├── WhoToFollowDependentCandidatePipelineConfigBuilder.scala │ │ │ └── WhoToFollowResponseFeatureTransformer.scala │ │ ├── premarshaller/ │ │ │ ├── cursor/ │ │ │ │ ├── BUILD │ │ │ │ ├── CursorSerializer.scala │ │ │ │ └── UrtCursorSerializer.scala │ │ │ ├── slice/ │ │ │ │ ├── BUILD │ │ │ │ ├── SliceDomainMarshaller.scala │ │ │ │ └── builder/ │ │ │ │ ├── BUILD │ │ │ │ ├── OrderedNextCursorBuilder.scala │ │ │ │ ├── OrderedNextCursorUpdater.scala │ │ │ │ ├── OrderedPreviousCursorBuilder.scala │ │ │ │ ├── OrderedPreviousCursorUpdater.scala │ │ │ │ ├── ShouldInclude.scala │ │ │ │ ├── SliceBuilder.scala │ │ │ │ ├── SliceCursorBuilder.scala │ │ │ │ └── SliceCursorUpdater.scala │ │ │ ├── urp/ │ │ │ │ ├── BUILD │ │ │ │ ├── UrpDomainMarshaller.scala │ │ │ │ └── builder/ │ │ │ │ ├── BUILD │ │ │ │ ├── PageBodyBuilder.scala │ │ │ │ ├── PageHeaderBuilder.scala │ │ │ │ ├── PageNavBarBuilder.scala │ │ │ │ ├── StaticTimelineScribeConfigBuilder.scala │ │ │ │ └── TimelineScribeConfigBuilder.scala │ │ │ └── urt/ │ │ │ ├── BUILD │ │ │ ├── UndecoratedUrtDomainMarshaller.scala │ │ │ ├── UrtDomainMarshaller.scala │ │ │ └── builder/ │ │ │ ├── AddEntriesInstructionBuilder.scala │ │ │ ├── AddEntriesWithAddToModuleInstructionBuilder.scala │ │ │ ├── AddEntriesWithPinnedAndReplaceInstructionBuilder.scala │ │ │ ├── AddEntriesWithReplaceAndShowAlertInstructionBuilder.scala │ │ │ ├── AddEntriesWithReplaceInstructionBuilder.scala │ │ │ ├── AddEntriesWithShowCoverInstructionBuilder.scala │ │ │ ├── AddToModuleInstructionBuilder.scala │ │ │ ├── BUILD │ │ │ ├── BaseUnorderedExcludeIdsBottomCursorBuilder.scala │ │ │ ├── ClearCacheInstructionBuilder.scala │ │ │ ├── FeaturePassThroughCursorBuilder.scala │ │ │ ├── IncludeInstruction.scala │ │ │ ├── MarkUnreadInstructionBuilder.scala │ │ │ ├── OrderedBottomCursorBuilder.scala │ │ │ ├── OrderedGapCursorBuilder.scala │ │ │ ├── OrderedTopCursorBuilder.scala │ │ │ ├── PinEntryInstructionBuilder.scala │ │ │ ├── PlaceholderTopCursorBuilder.scala │ │ │ ├── ReplaceEntryInstructionBuilder.scala │ │ │ ├── ShowAlertInstructionBuilder.scala │ │ │ ├── ShowCoverInstructionBuilder.scala │ │ │ ├── StaticTimelineScribeConfigBuilder.scala │ │ │ ├── TerminateInstructionBuilder.scala │ │ │ ├── TimelineScribeConfigBuilder.scala │ │ │ ├── UnorderedBloomFilterBottomCursorBuilder.scala │ │ │ ├── UnorderedExcludeIdsBottomCursorBuilder.scala │ │ │ ├── UnorderedExcludeIdsSeqBottomCursorBuilder.scala │ │ │ ├── UrtBuilder.scala │ │ │ ├── UrtCursorBuilder.scala │ │ │ ├── UrtCursorUpdater.scala │ │ │ ├── UrtInstructionBuilder.scala │ │ │ └── UrtMetadataBuilder.scala │ │ ├── scorer/ │ │ │ ├── common/ │ │ │ │ ├── BUILD │ │ │ │ ├── MLModelInferenceClient.scala │ │ │ │ ├── ManagedModelClient.scala │ │ │ │ ├── ModelSelector.scala │ │ │ │ └── NaviModelClient.scala │ │ │ ├── cortex/ │ │ │ │ ├── BUILD │ │ │ │ ├── CortexManagedInferenceServiceDataRecordScorer.scala │ │ │ │ ├── CortexManagedInferenceServiceDataRecordScorerBuilder.scala │ │ │ │ ├── CortexManagedInferenceServiceTensorScorer.scala │ │ │ │ ├── CortexManagedInferenceServiceTensorScorerBuilder.scala │ │ │ │ └── ModelFeatureExtractor.scala │ │ │ ├── cr_ml_ranker/ │ │ │ │ ├── BUILD.bazel │ │ │ │ ├── CrMlRankerScorer.scala │ │ │ │ └── CrMlRankerStitchClient.scala │ │ │ ├── deepbird/ │ │ │ │ ├── BUILD │ │ │ │ ├── BaseDeepbirdV2Scorer.scala │ │ │ │ ├── DeepbirdV2PredictionServerScorer.scala │ │ │ │ ├── LollyPredictionEngineScorer.scala │ │ │ │ └── TensorflowPredictionEngineScorer.scala │ │ │ ├── param_gated/ │ │ │ │ ├── BUILD │ │ │ │ └── ParamGatedScorer.scala │ │ │ ├── qualityfactor_gated/ │ │ │ │ ├── BUILD │ │ │ │ └── QualityFactorGatedScorer.scala │ │ │ ├── tensorbuilder/ │ │ │ │ ├── BUILD │ │ │ │ ├── BooleanInferInputTensorBuilder.scala │ │ │ │ ├── BytesInferInputTensorBuilder.scala │ │ │ │ ├── CandidateInferInputTensorBuilder.scala │ │ │ │ ├── Float32InferInputTensorBuilder.scala │ │ │ │ ├── FloatTensorInferInputTensorBuilder.scala │ │ │ │ ├── InferInputTensorBuilder.scala │ │ │ │ ├── Int64InferInputTensorBuilder.scala │ │ │ │ ├── ModelInferRequestBuilder.scala │ │ │ │ ├── QueryInferInputTensorBuilder.scala │ │ │ │ └── SparseMapInferInputTensorBuilder.scala │ │ │ └── tweet_tlx/ │ │ │ ├── BUILD.bazel │ │ │ ├── TweetTLXStratoScorer.scala │ │ │ └── TweetTLXThriftScorer.scala │ │ ├── selector/ │ │ │ ├── BUILD │ │ │ ├── Bucketer.scala │ │ │ ├── CandidateMergeStrategy.scala │ │ │ ├── CandidatePositionInResults.scala │ │ │ ├── DeduplicationKey.scala │ │ │ ├── DropAllCandidates.scala │ │ │ ├── DropDuplicateCandidates.scala │ │ │ ├── DropDuplicateModuleItemCandidates.scala │ │ │ ├── DropDuplicateResults.scala │ │ │ ├── DropFilteredCandidates.scala │ │ │ ├── DropFilteredModuleItemCandidates.scala │ │ │ ├── DropMaxCandidates.scala │ │ │ ├── DropMaxModuleItemCandidates.scala │ │ │ ├── DropMaxResults.scala │ │ │ ├── DropModuleTooFewModuleItemResults.scala │ │ │ ├── DropNonDuplicateCandidates.scala │ │ │ ├── DropOrthogonalCandidates.scala │ │ │ ├── DropRequestedMaxModuleItemCandidates.scala │ │ │ ├── DropRequestedMaxResults.scala │ │ │ ├── DropSelector.scala │ │ │ ├── DropTooFewResults.scala │ │ │ ├── DynamicPositionSelector.scala │ │ │ ├── InsertAppendIntoModuleCandidates.scala │ │ │ ├── InsertAppendPatternResults.scala │ │ │ ├── InsertAppendRatioResults.scala │ │ │ ├── InsertAppendResults.scala │ │ │ ├── InsertAppendWeaveResults.scala │ │ │ ├── InsertAppendWithoutFeatureResults.scala │ │ │ ├── InsertDynamicPositionResults.scala │ │ │ ├── InsertFixedPositionIntoModuleCandidates.scala │ │ │ ├── InsertFixedPositionResults.scala │ │ │ ├── InsertIntoModule.scala │ │ │ ├── InsertPerCandidateDynamicPositionResults.scala │ │ │ ├── InsertRandomPositionResults.scala │ │ │ ├── InsertRelativePositionResults.scala │ │ │ ├── InsertSelector.scala │ │ │ ├── SelectConditionally.scala │ │ │ ├── SelectFromSubpoolCandidates.scala │ │ │ ├── UpdateSortCandidates.scala │ │ │ ├── UpdateSortModuleItemCandidates.scala │ │ │ ├── UpdateSortResults.scala │ │ │ ├── ads/ │ │ │ │ ├── AdsInjector.scala │ │ │ │ ├── BUILD.bazel │ │ │ │ └── InsertAdResults.scala │ │ │ └── sorter/ │ │ │ ├── BUILD │ │ │ ├── FeatureValueSorter.scala │ │ │ ├── RandomShuffleSorter.scala │ │ │ ├── ReverseSorter.scala │ │ │ ├── SortOrder.scala │ │ │ ├── SorterFromOrdering.scala │ │ │ ├── SorterProvider.scala │ │ │ └── featurestorev1/ │ │ │ ├── BUILD │ │ │ └── FeatureStoreV1FeatureValueSorter.scala │ │ └── side_effect/ │ │ ├── BUILD │ │ ├── KafkaPublishingSideEffect.scala │ │ ├── ParamGatedPipelineResultSideEffect.scala │ │ ├── ScribeClientEventSideEffect.scala │ │ ├── ScribeLogEventAsyncSideEffect.scala │ │ ├── ScribeLogEventSideEffect.scala │ │ ├── StratoInsertSideEffect.scala │ │ ├── UserSessionStoreUpdateSideEffect.scala │ │ └── metrics/ │ │ ├── BUILD.bazel │ │ ├── CandidateMetricFunction.scala │ │ ├── ScribeClientEventMetricsSideEffect.scala │ │ └── ScribeClientEventMetricsSideEffectBuilder.scala │ ├── core/ │ │ └── src/ │ │ └── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── twitter/ │ │ │ └── product_mixer/ │ │ │ └── core/ │ │ │ └── product/ │ │ │ └── guice/ │ │ │ └── scope/ │ │ │ ├── BUILD │ │ │ └── ProductScoped.java │ │ └── scala/ │ │ └── com/ │ │ └── twitter/ │ │ └── product_mixer/ │ │ └── core/ │ │ ├── controllers/ │ │ │ ├── AlertConfig.scala │ │ │ ├── BUILD │ │ │ ├── DebugTwitterContext.scala │ │ │ ├── GetComponentRegistryHandler.scala │ │ │ ├── GetDebugConfigurationHandler.scala │ │ │ ├── PredicateConfig.scala │ │ │ ├── ProductMixerController.scala │ │ │ └── QualityFactorMonitoringConfig.scala │ │ ├── feature/ │ │ │ ├── BUILD │ │ │ ├── Feature.scala │ │ │ ├── datarecord/ │ │ │ │ ├── BUILD │ │ │ │ ├── DataRecordCompatible.scala │ │ │ │ └── DataRecordFeature.scala │ │ │ ├── featuremap/ │ │ │ │ ├── BUILD │ │ │ │ ├── FeatureMap.scala │ │ │ │ ├── FeatureMapBuilder.scala │ │ │ │ ├── FeatureMapException.scala │ │ │ │ ├── FeatureMapSerializer.scala │ │ │ │ ├── asyncfeaturemap/ │ │ │ │ │ ├── AsyncFeatureMap.scala │ │ │ │ │ ├── AsyncFeatureMapSerializer.scala │ │ │ │ │ └── BUILD │ │ │ │ ├── datarecord/ │ │ │ │ │ ├── BUILD │ │ │ │ │ ├── DataRecordConverter.scala │ │ │ │ │ ├── DataRecordExtractor.scala │ │ │ │ │ └── FeaturesScope.scala │ │ │ │ └── featurestorev1/ │ │ │ │ ├── BUILD │ │ │ │ └── FeatureStoreV1FeatureMap.scala │ │ │ └── featurestorev1/ │ │ │ ├── BUILD │ │ │ ├── FeatureStoreV1Entity.scala │ │ │ ├── FeatureStoreV1Feature.scala │ │ │ └── featurevalue/ │ │ │ ├── BUILD │ │ │ └── FeatureStoreV1Response.scala │ │ ├── functional_component/ │ │ │ ├── access_policy/ │ │ │ │ └── BUILD │ │ │ ├── candidate_source/ │ │ │ │ ├── BUILD │ │ │ │ ├── CandidateSource.scala │ │ │ │ ├── CandidatesWithSourceFeatures.scala │ │ │ │ ├── PassthroughCandidateSource.scala │ │ │ │ ├── StaticCandidateSource.scala │ │ │ │ ├── product_pipeline/ │ │ │ │ │ ├── BUILD │ │ │ │ │ └── ProductPipelineCandidateSource.scala │ │ │ │ └── strato/ │ │ │ │ ├── BUILD │ │ │ │ ├── StratoErrCategorizer.scala │ │ │ │ ├── StratoKeyFetcherSeqSource.scala │ │ │ │ ├── StratoKeyFetcherSource.scala │ │ │ │ ├── StratoKeyFetcherWithSourceFeaturesSource.scala │ │ │ │ ├── StratoKeyView.scala │ │ │ │ ├── StratoKeyViewFetcherSeqSource.scala │ │ │ │ ├── StratoKeyViewFetcherSource.scala │ │ │ │ └── StratoKeyViewFetcherWithSourceFeaturesSource.scala │ │ │ ├── common/ │ │ │ │ ├── BUILD │ │ │ │ ├── CandidateScope.scala │ │ │ │ ├── access_policy/ │ │ │ │ │ ├── AccessPolicy.scala │ │ │ │ │ ├── AccessPolicyEvaluator.scala │ │ │ │ │ ├── BUILD │ │ │ │ │ └── WithDebugAccessPolicies.scala │ │ │ │ └── alert/ │ │ │ │ ├── Alert.scala │ │ │ │ ├── AlertType.scala │ │ │ │ ├── BUILD │ │ │ │ ├── EmptyResponseRateAlert.scala │ │ │ │ ├── GenericClientLatencyAlert.scala │ │ │ │ ├── GenericClientSuccessRateAlert.scala │ │ │ │ ├── GenericClientThroughputAlert.scala │ │ │ │ ├── IsObservableFromStrato.scala │ │ │ │ ├── LatencyAlert.scala │ │ │ │ ├── NotificationGroup.scala │ │ │ │ ├── Percentile.scala │ │ │ │ ├── ResponseSizeAlert.scala │ │ │ │ ├── Source.scala │ │ │ │ ├── StratoColumnAlert.scala │ │ │ │ ├── SuccessRateAlert.scala │ │ │ │ ├── ThroughputAlert.scala │ │ │ │ └── predicate/ │ │ │ │ ├── BUILD │ │ │ │ ├── MetricGranularity.scala │ │ │ │ ├── Operator.scala │ │ │ │ ├── Predicate.scala │ │ │ │ ├── TriggerIfAbove.scala │ │ │ │ ├── TriggerIfBelow.scala │ │ │ │ └── TriggerIfLatencyAbove.scala │ │ │ ├── configapi/ │ │ │ │ ├── BUILD │ │ │ │ ├── ConfigBuilder.scala │ │ │ │ ├── ParamsBuilder.scala │ │ │ │ ├── RequestContext.scala │ │ │ │ ├── RequestContextBuilder.scala │ │ │ │ ├── StaticParam.scala │ │ │ │ └── registry/ │ │ │ │ ├── BUILD │ │ │ │ ├── GlobalParamConfig.scala │ │ │ │ ├── GlobalParamRegistry.scala │ │ │ │ ├── ParamConfig.scala │ │ │ │ └── ParamConfigBuilder.scala │ │ │ ├── decorator/ │ │ │ │ ├── BUILD │ │ │ │ ├── CandidateDecorator.scala │ │ │ │ ├── Decoration.scala │ │ │ │ ├── slice/ │ │ │ │ │ └── builder/ │ │ │ │ │ ├── BUILD │ │ │ │ │ └── CandidateSliceItemBuilder.scala │ │ │ │ └── urt/ │ │ │ │ └── builder/ │ │ │ │ ├── BUILD │ │ │ │ ├── CandidateUrtEntryBuilder.scala │ │ │ │ ├── icon/ │ │ │ │ │ └── BaseHorizonIconBuilder.scala │ │ │ │ ├── item/ │ │ │ │ │ ├── alert/ │ │ │ │ │ │ ├── BaseDurationBuilder.scala │ │ │ │ │ │ ├── BaseShowAlertColorConfigurationBuilder.scala │ │ │ │ │ │ ├── BaseShowAlertDisplayLocationBuilder.scala │ │ │ │ │ │ ├── BaseShowAlertIconDisplayInfoBuilder.scala │ │ │ │ │ │ ├── BaseShowAlertNavigationMetadataBuilder.scala │ │ │ │ │ │ └── BaseShowAlertUserIdsBuilder.scala │ │ │ │ │ ├── topic/ │ │ │ │ │ │ ├── BaseTopicDisplayTypeBuilder.scala │ │ │ │ │ │ └── BaseTopicFunctionalityTypeBuilder.scala │ │ │ │ │ ├── tweet/ │ │ │ │ │ │ ├── BaseEntryIdToReplaceBuilder.scala │ │ │ │ │ │ ├── BaseTimelinesScoreInfoBuilder.scala │ │ │ │ │ │ └── BaseTweetHighlightsBuilder.scala │ │ │ │ │ └── user/ │ │ │ │ │ └── BaseUserReactiveTriggersBuilder.scala │ │ │ │ ├── metadata/ │ │ │ │ │ ├── BaseClientEventDetailsBuilder.scala │ │ │ │ │ ├── BaseClientEventInfoBuilder.scala │ │ │ │ │ ├── BaseFeedbackActionInfoBuilder.scala │ │ │ │ │ ├── BaseModuleStr.scala │ │ │ │ │ ├── BaseStr.scala │ │ │ │ │ └── BaseUrlBuilder.scala │ │ │ │ ├── promoted/ │ │ │ │ │ └── BasePromotedMetadataBuilder.scala │ │ │ │ ├── richtext/ │ │ │ │ │ └── BaseRichTextBuilder.scala │ │ │ │ ├── social_context/ │ │ │ │ │ ├── BaseModuleSocialContextBuilder.scala │ │ │ │ │ └── BaseSocialContextBuilder.scala │ │ │ │ ├── stringcenter/ │ │ │ │ │ ├── BaseModuleStringCenterPlaceholderBuilder.scala │ │ │ │ │ └── BaseStringCenterPlaceholderBuilder.scala │ │ │ │ └── timeline_module/ │ │ │ │ ├── BaseModuleDisplayTypeBuilder.scala │ │ │ │ ├── BaseModuleFooterBuilder.scala │ │ │ │ ├── BaseModuleHeaderBuilder.scala │ │ │ │ ├── BaseModuleHeaderDisplayTypeBuilder.scala │ │ │ │ ├── BaseModuleMetadataBuilder.scala │ │ │ │ ├── BaseModuleShowMoreBehaviorBuilder.scala │ │ │ │ └── BaseTimelineModuleBuilder.scala │ │ │ ├── feature_hydrator/ │ │ │ │ ├── BUILD │ │ │ │ ├── CandidateFeatureHydrator.scala │ │ │ │ ├── FeatureHydrator.scala │ │ │ │ ├── HydratorCandidateResult.scala │ │ │ │ ├── QueryFeatureHydrator.scala │ │ │ │ └── featurestorev1/ │ │ │ │ ├── BUILD │ │ │ │ ├── FeatureStoreDatasetErrorHandler.scala │ │ │ │ ├── FeatureStoreV1CandidateFeatureHydrator.scala │ │ │ │ ├── FeatureStoreV1DynamicClientBuilder.scala │ │ │ │ ├── FeatureStoreV1HydrationConfig.scala │ │ │ │ └── FeatureStoreV1QueryFeatureHydrator.scala │ │ │ ├── filter/ │ │ │ │ ├── BUILD │ │ │ │ ├── Filter.scala │ │ │ │ └── FilterResult.scala │ │ │ ├── gate/ │ │ │ │ ├── BUILD │ │ │ │ ├── Gate.scala │ │ │ │ ├── GateResult.scala │ │ │ │ └── ShouldContinue.scala │ │ │ ├── marshaller/ │ │ │ │ ├── BUILD │ │ │ │ ├── TransportMarshaller.scala │ │ │ │ ├── request/ │ │ │ │ │ ├── BUILD │ │ │ │ │ ├── ClientContextMarshaller.scala │ │ │ │ │ ├── ClientContextUnmarshaller.scala │ │ │ │ │ └── FeatureValueUnmarshaller.scala │ │ │ │ └── response/ │ │ │ │ ├── graphql/ │ │ │ │ │ └── contextual_ref/ │ │ │ │ │ ├── BUILD │ │ │ │ │ ├── ContextualTweetRefMarshaller.scala │ │ │ │ │ ├── OuterTweetContextMarshaller.scala │ │ │ │ │ └── TweetHydrationContextMarshaller.scala │ │ │ │ ├── rtf/ │ │ │ │ │ └── safety_level/ │ │ │ │ │ ├── BUILD │ │ │ │ │ └── SafetyLevelMarshaller.scala │ │ │ │ ├── slice/ │ │ │ │ │ ├── BUILD │ │ │ │ │ ├── CursorTypeMarshaller.scala │ │ │ │ │ ├── SliceItemMarshaller.scala │ │ │ │ │ └── SliceTransportMarshaller.scala │ │ │ │ ├── urp/ │ │ │ │ │ ├── BUILD │ │ │ │ │ ├── PageBodyMarshaller.scala │ │ │ │ │ ├── PageHeaderMarshaller.scala │ │ │ │ │ ├── PageNavBarMarshaller.scala │ │ │ │ │ ├── SegmentedTimelineMarshaller.scala │ │ │ │ │ ├── SegmentedTimelinesMarshaller.scala │ │ │ │ │ ├── TimelineKeyMarshaller.scala │ │ │ │ │ ├── TitleNavBarMarshaller.scala │ │ │ │ │ ├── TopicPageHeaderDisplayTypeMarshaller.scala │ │ │ │ │ ├── TopicPageHeaderFacepileMarshaller.scala │ │ │ │ │ ├── TopicPageHeaderMarshaller.scala │ │ │ │ │ ├── TopicPageNavBarMarshaller.scala │ │ │ │ │ ├── UrpTransportMarshaller.scala │ │ │ │ │ └── UrpTransportMarshallerBuilder.scala │ │ │ │ └── urt/ │ │ │ │ ├── AddEntriesInstructionMarshaller.scala │ │ │ │ ├── AddToModuleInstructionMarshaller.scala │ │ │ │ ├── BUILD │ │ │ │ ├── CoverMarshaller.scala │ │ │ │ ├── MarkEntriesUnreadInstructionMarshaller.scala │ │ │ │ ├── ModuleItemMarshaller.scala │ │ │ │ ├── ModuleItemTreeDisplayMarshaller.scala │ │ │ │ ├── PinEntryInstructionMarshaller.scala │ │ │ │ ├── ReaderModeConfigMarshaller.scala │ │ │ │ ├── ReplaceEntryInstructionMarshaller.scala │ │ │ │ ├── ShowAlertInstructionMarshaller.scala │ │ │ │ ├── TerminateTimelineInstructionMarshaller.scala │ │ │ │ ├── TimelineEntryContentMarshaller.scala │ │ │ │ ├── TimelineEntryMarshaller.scala │ │ │ │ ├── TimelineInstructionMarshaller.scala │ │ │ │ ├── TimelineItemContentMarshaller.scala │ │ │ │ ├── TimelineItemMarshaller.scala │ │ │ │ ├── TimelineMetadataMarshaller.scala │ │ │ │ ├── TimelineModuleMarshaller.scala │ │ │ │ ├── TimelineOperationMarshaller.scala │ │ │ │ ├── TimelineScribeConfigMarshaller.scala │ │ │ │ ├── UrtTransportMarshaller.scala │ │ │ │ ├── UrtTransportMarshallerBuilder.scala │ │ │ │ ├── alert/ │ │ │ │ │ ├── BUILD │ │ │ │ │ ├── ShowAlertColorConfigurationMarshaller.scala │ │ │ │ │ ├── ShowAlertDisplayLocationMarshaller.scala │ │ │ │ │ ├── ShowAlertIconDisplayInfoMarshaller.scala │ │ │ │ │ ├── ShowAlertIconMarshaller.scala │ │ │ │ │ ├── ShowAlertNavigationMetadataMarshaller.scala │ │ │ │ │ └── ShowAlertTypeMarshaller.scala │ │ │ │ ├── button/ │ │ │ │ │ ├── BUILD │ │ │ │ │ ├── ButtonStyleMarshaller.scala │ │ │ │ │ ├── CtaButtonMarshaller.scala │ │ │ │ │ ├── IconCtaButtonMarshaller.scala │ │ │ │ │ └── TextCtaButtonMarshaller.scala │ │ │ │ ├── color/ │ │ │ │ │ ├── BUILD │ │ │ │ │ ├── ColorMarshaller.scala │ │ │ │ │ ├── ColorPaletteMarshaller.scala │ │ │ │ │ └── RosettaColorMarshaller.scala │ │ │ │ ├── cover/ │ │ │ │ │ ├── BUILD │ │ │ │ │ ├── CoverContentMarshaller.scala │ │ │ │ │ ├── CoverCtaBehaviorMarshaller.scala │ │ │ │ │ ├── CoverCtaMarshaller.scala │ │ │ │ │ ├── CoverImageMarshaller.scala │ │ │ │ │ ├── FullCoverContentMarshaller.scala │ │ │ │ │ ├── FullCoverDisplayTypeMarshaller.scala │ │ │ │ │ ├── HalfCoverContentMarshaller.scala │ │ │ │ │ └── HalfCoverDisplayTypeMarshaller.scala │ │ │ │ ├── icon/ │ │ │ │ │ ├── BUILD │ │ │ │ │ └── HorizonIconMarshaller.scala │ │ │ │ ├── item/ │ │ │ │ │ ├── BUILD │ │ │ │ │ ├── article/ │ │ │ │ │ │ ├── ArticleDisplayTypeMarshaller.scala │ │ │ │ │ │ ├── ArticleItemMarshaller.scala │ │ │ │ │ │ └── ArticleSeedTypeMarshaller.scala │ │ │ │ │ ├── audio_space/ │ │ │ │ │ │ └── AudioSpaceItemMarshaller.scala │ │ │ │ │ ├── card/ │ │ │ │ │ │ ├── CardDisplayTypeMarshaller.scala │ │ │ │ │ │ └── CardItemMarshaller.scala │ │ │ │ │ ├── commerce/ │ │ │ │ │ │ ├── CommerceProductGroupItemMarshaller.scala │ │ │ │ │ │ └── CommerceProductItemMarshaller.scala │ │ │ │ │ ├── conversation_annotation/ │ │ │ │ │ │ ├── ConversationAnnotationMarshaller.scala │ │ │ │ │ │ └── ConversationAnnotationTypeMarshaller.scala │ │ │ │ │ ├── event/ │ │ │ │ │ │ ├── EventSummaryDisplayTypeMarshaller.scala │ │ │ │ │ │ └── EventSummaryItemMarshaller.scala │ │ │ │ │ ├── forward_pivot/ │ │ │ │ │ │ ├── ForwardPivotDisplayTypeMarshaller.scala │ │ │ │ │ │ ├── ForwardPivotMarshaller.scala │ │ │ │ │ │ └── SoftInterventionDisplayTypeMarshaller.scala │ │ │ │ │ ├── generic_summary_item/ │ │ │ │ │ │ ├── GenericSummaryActionMarshaller.scala │ │ │ │ │ │ ├── GenericSummaryContextMarshaller.scala │ │ │ │ │ │ ├── GenericSummaryDisplayTypeMarshaller.scala │ │ │ │ │ │ └── GenericSummaryItemMarshaller.scala │ │ │ │ │ ├── highlight/ │ │ │ │ │ │ └── HighlightedSectionMarshaller.scala │ │ │ │ │ ├── icon_label/ │ │ │ │ │ │ └── IconLabelItemMarshaller.scala │ │ │ │ │ ├── label/ │ │ │ │ │ │ ├── LabelDisplayTypeMarshaller.scala │ │ │ │ │ │ └── LabelItemMarshaller.scala │ │ │ │ │ ├── message/ │ │ │ │ │ │ ├── CompactPromptMessageContentMarshaller.scala │ │ │ │ │ │ ├── HeaderImagePromptMessageContentMarshaller.scala │ │ │ │ │ │ ├── InlinePromptMessageContentMarshaller.scala │ │ │ │ │ │ ├── MessageActionMarshaller.scala │ │ │ │ │ │ ├── MessageActionTypeMarshaller.scala │ │ │ │ │ │ ├── MessageContentMarshaller.scala │ │ │ │ │ │ ├── MessageImageMarshaller.scala │ │ │ │ │ │ ├── MessagePromptItemMarshaller.scala │ │ │ │ │ │ ├── MessageTextActionMarshaller.scala │ │ │ │ │ │ ├── UserFacepileDisplayTypeMarshaller.scala │ │ │ │ │ │ └── UserFacepileMarshaller.scala │ │ │ │ │ ├── moment/ │ │ │ │ │ │ └── MomentAnnotationItemMarshaller.scala │ │ │ │ │ ├── prompt/ │ │ │ │ │ │ ├── PromptContentMarshaller.scala │ │ │ │ │ │ ├── PromptItemMarshaller.scala │ │ │ │ │ │ ├── RelevancePromptContentMarshaller.scala │ │ │ │ │ │ ├── RelevancePromptDisplayTypeMarshaller.scala │ │ │ │ │ │ ├── RelevancePromptFollowUpFeedbackTypeMarshaller.scala │ │ │ │ │ │ └── RelevancePromptFollowUpTextInputMarshaller.scala │ │ │ │ │ ├── suggestion/ │ │ │ │ │ │ ├── SpellingActionTypeMarshaller.scala │ │ │ │ │ │ ├── SpellingItemMarshaller.scala │ │ │ │ │ │ └── TextResultMarshaller.scala │ │ │ │ │ ├── thread/ │ │ │ │ │ │ ├── ThreadHeaderContentMarshaller.scala │ │ │ │ │ │ └── ThreadHeaderItemMarshaller.scala │ │ │ │ │ ├── tile/ │ │ │ │ │ │ ├── CallToActionTileContentMarshaller.scala │ │ │ │ │ │ ├── StandardTileContentMarshaller.scala │ │ │ │ │ │ ├── TileContentMarshaller.scala │ │ │ │ │ │ └── TileItemMarshaller.scala │ │ │ │ │ ├── tombstone/ │ │ │ │ │ │ ├── TombstoneDisplayTypeMarshaller.scala │ │ │ │ │ │ ├── TombstoneInfoMarshaller.scala │ │ │ │ │ │ └── TombstoneItemMarshaller.scala │ │ │ │ │ ├── topic/ │ │ │ │ │ │ ├── TopicDisplayTypeMarshaller.scala │ │ │ │ │ │ ├── TopicFollowPromptDisplayTypeMarshaller.scala │ │ │ │ │ │ ├── TopicFollowPromptItemMarshaller.scala │ │ │ │ │ │ ├── TopicFunctionalityTypeMarshaller.scala │ │ │ │ │ │ └── TopicItemMarshaller.scala │ │ │ │ │ ├── trend/ │ │ │ │ │ │ └── TrendItemMarshaller.scala │ │ │ │ │ ├── tweet/ │ │ │ │ │ │ ├── TimelinesScoreInfoMarshaller.scala │ │ │ │ │ │ ├── TweetDisplayTypeMarshaller.scala │ │ │ │ │ │ ├── TweetHighlightsMarshaller.scala │ │ │ │ │ │ └── TweetItemMarshaller.scala │ │ │ │ │ ├── tweet_composer/ │ │ │ │ │ │ ├── TweetComposerDisplayTypeMarshaller.scala │ │ │ │ │ │ └── TweetComposerItemMarshaller.scala │ │ │ │ │ ├── twitter_list/ │ │ │ │ │ │ ├── TwitterListDisplayTypeMarshaller.scala │ │ │ │ │ │ └── TwitterListItemMarshaller.scala │ │ │ │ │ ├── user/ │ │ │ │ │ │ ├── UserDisplayTypeMarshaller.scala │ │ │ │ │ │ ├── UserItemMarshaller.scala │ │ │ │ │ │ └── UserReactiveTriggersMarshaller.scala │ │ │ │ │ └── vertical_grid_item/ │ │ │ │ │ ├── VerticalGridItemContentMarshaller.scala │ │ │ │ │ ├── VerticalGridItemMarshaller.scala │ │ │ │ │ ├── VerticalGridItemTileStyleMarshaller.scala │ │ │ │ │ ├── VerticalGridItemTopicFunctionalityTypeMarshaller.scala │ │ │ │ │ └── VerticalGridItemTopicTileMarshaller.scala │ │ │ │ ├── media/ │ │ │ │ │ ├── AspectRatioMarshaller.scala │ │ │ │ │ ├── BUILD │ │ │ │ │ ├── BroadcastIdMarshaller.scala │ │ │ │ │ ├── MediaEntityMarshaller.scala │ │ │ │ │ ├── MediaKeyMarshaller.scala │ │ │ │ │ ├── MediaMarshaller.scala │ │ │ │ │ ├── RectMarshaller.scala │ │ │ │ │ └── TweetMediaMarshaller.scala │ │ │ │ ├── metadata/ │ │ │ │ │ ├── ArticleDetailsMarshaller.scala │ │ │ │ │ ├── BUILD │ │ │ │ │ ├── BadgeMarshaller.scala │ │ │ │ │ ├── CallbackMarshaller.scala │ │ │ │ │ ├── ChildFeedbackActionMarshaller.scala │ │ │ │ │ ├── ClientEventDetailsMarshaller.scala │ │ │ │ │ ├── ClientEventInfoMarshaller.scala │ │ │ │ │ ├── CommerceDetailsMarshaller.scala │ │ │ │ │ ├── ConfirmationDisplayTypeMarshaller.scala │ │ │ │ │ ├── ConversationDetailsMarshaller.scala │ │ │ │ │ ├── ConversationSectionMarshaller.scala │ │ │ │ │ ├── DismissInfoMarshaller.scala │ │ │ │ │ ├── FeedbackActionMarshaller.scala │ │ │ │ │ ├── FeedbackDisplayContextMarshaller.scala │ │ │ │ │ ├── FeedbackInfoMarshaller.scala │ │ │ │ │ ├── FeedbackTypeMarshaller.scala │ │ │ │ │ ├── GeneralContextMarshaller.scala │ │ │ │ │ ├── GeneralContextTypeMarshaller.scala │ │ │ │ │ ├── ImageAnimationTypeMarshaller.scala │ │ │ │ │ ├── ImageDisplayTypeMarshaller.scala │ │ │ │ │ ├── ImageVariantMarshaller.scala │ │ │ │ │ ├── LiveEventDetailsMarshaller.scala │ │ │ │ │ ├── RichFeedbackBehaviorMarshaller.scala │ │ │ │ │ ├── SocialContextMarshaller.scala │ │ │ │ │ ├── TimelinesDetailsMarshaller.scala │ │ │ │ │ ├── TopicContextFunctionalityTypeMarshaller.scala │ │ │ │ │ ├── TopicContextMarshaller.scala │ │ │ │ │ ├── UrlMarshaller.scala │ │ │ │ │ ├── UrlTypeMarshaller.scala │ │ │ │ │ └── UrtEndpointOptionsMarshaller.scala │ │ │ │ ├── operation/ │ │ │ │ │ ├── BUILD │ │ │ │ │ ├── CursorDisplayTreatmentMarshaller.scala │ │ │ │ │ ├── CursorItemMarshaller.scala │ │ │ │ │ ├── CursorOperationMarshaller.scala │ │ │ │ │ └── CursorTypeMarshaller.scala │ │ │ │ ├── promoted/ │ │ │ │ │ ├── AdMetadataContainerMarshaller.scala │ │ │ │ │ ├── BUILD │ │ │ │ │ ├── CallToActionMarshaller.scala │ │ │ │ │ ├── ClickTrackingInfoMarshaller.scala │ │ │ │ │ ├── DisclaimerTypeMarshaller.scala │ │ │ │ │ ├── DisclosureTypeMarshaller.scala │ │ │ │ │ ├── DynamicPrerollTypeMarshaller.scala │ │ │ │ │ ├── MediaInfoMarshaller.scala │ │ │ │ │ ├── PrerollMarshaller.scala │ │ │ │ │ ├── PrerollMetadataMarshaller.scala │ │ │ │ │ ├── PromotedMetadataMarshaller.scala │ │ │ │ │ ├── SkAdNetworkDataMarshaller.scala │ │ │ │ │ ├── SponsorshipTypeMarshaller.scala │ │ │ │ │ ├── UrlOverrideTypeMarshaller.scala │ │ │ │ │ └── VideoVariantsMarshaller.scala │ │ │ │ ├── reaction/ │ │ │ │ │ ├── BUILD │ │ │ │ │ └── TimelineReactionMarshaller.scala │ │ │ │ ├── richtext/ │ │ │ │ │ ├── BUILD │ │ │ │ │ ├── ReferenceObjectMarshaller.scala │ │ │ │ │ ├── RichTextAlignmentMarshaller.scala │ │ │ │ │ ├── RichTextEntityMarshaller.scala │ │ │ │ │ ├── RichTextFormatMarshaller.scala │ │ │ │ │ └── RichTextMarshaller.scala │ │ │ │ └── timeline_module/ │ │ │ │ ├── AdsMetadataMarshaller.scala │ │ │ │ ├── BUILD │ │ │ │ ├── GridCarouselMetadataMarshaller.scala │ │ │ │ ├── ModuleConversationMetadataMarshaller.scala │ │ │ │ ├── ModuleDisplayTypeMarshaller.scala │ │ │ │ ├── ModuleFooterMarshaller.scala │ │ │ │ ├── ModuleHeaderDisplayTypeMarshaller.scala │ │ │ │ ├── ModuleHeaderMarshaller.scala │ │ │ │ ├── ModuleMetadataMarshaller.scala │ │ │ │ ├── ModuleShowMoreBehaviorMarshaller.scala │ │ │ │ └── ModuleShowMoreBehaviorRevealByCountMarshaller.scala │ │ │ ├── premarshaller/ │ │ │ │ ├── BUILD │ │ │ │ └── DomainMarshaller.scala │ │ │ ├── scorer/ │ │ │ │ ├── BUILD │ │ │ │ ├── ScoredCandidateResult.scala │ │ │ │ └── Scorer.scala │ │ │ ├── selector/ │ │ │ │ ├── BUILD │ │ │ │ ├── Selector.scala │ │ │ │ └── SelectorResult.scala │ │ │ ├── side_effect/ │ │ │ │ ├── BUILD │ │ │ │ ├── ExecuteSynchronously.scala │ │ │ │ ├── PipelineResultSideEffect.scala │ │ │ │ └── SideEffect.scala │ │ │ └── transformer/ │ │ │ ├── BUILD │ │ │ ├── CandidateFeatureTransformer.scala │ │ │ ├── CandidatePipelineQueryTransformer.scala │ │ │ ├── CandidatePipelineResultsTransformer.scala │ │ │ ├── FeatureTransformer.scala │ │ │ └── Transformer.scala │ │ ├── gate/ │ │ │ ├── BUILD │ │ │ ├── DenyLoggedOutUsersGate.scala │ │ │ ├── ParamGate.scala │ │ │ └── ParamNotGate.scala │ │ ├── model/ │ │ │ ├── common/ │ │ │ │ ├── BUILD │ │ │ │ ├── CandidateWithFeatures.scala │ │ │ │ ├── Component.scala │ │ │ │ ├── Conditionally.scala │ │ │ │ ├── UniversalNoun.scala │ │ │ │ ├── identifier/ │ │ │ │ │ ├── BUILD │ │ │ │ │ ├── CandidatePipelineIdentifier.scala │ │ │ │ │ ├── CandidateSourceIdentifier.scala │ │ │ │ │ ├── ComponentIdentifier.scala │ │ │ │ │ ├── ComponentIdentifierSerializer.scala │ │ │ │ │ ├── ComponentIdentifierStack.scala │ │ │ │ │ ├── ComponentIdentifierStackSerializer.scala │ │ │ │ │ ├── DecoratorIdentifier.scala │ │ │ │ │ ├── DomainMarshallerIdentifier.scala │ │ │ │ │ ├── FeatureHydratorIdentifier.scala │ │ │ │ │ ├── FilterIdentifier.scala │ │ │ │ │ ├── GateIdentifier.scala │ │ │ │ │ ├── MixerPipelineIdentifier.scala │ │ │ │ │ ├── PipelineStepIdentifier.scala │ │ │ │ │ ├── PlatformIdentifier.scala │ │ │ │ │ ├── ProductIdentifier.scala │ │ │ │ │ ├── ProductPipelineIdentifier.scala │ │ │ │ │ ├── RecommendationPipelineIdentifier.scala │ │ │ │ │ ├── RootIdentifier.scala │ │ │ │ │ ├── ScorerIdentifier.scala │ │ │ │ │ ├── ScoringPipelineIdentifier.scala │ │ │ │ │ ├── SelectorIdentifier.scala │ │ │ │ │ ├── SideEffectIdentifier.scala │ │ │ │ │ ├── TransformerIdentifier.scala │ │ │ │ │ └── TransportMarshallerIdentifier.scala │ │ │ │ └── presentation/ │ │ │ │ ├── BUILD │ │ │ │ ├── CandidateFeatures.scala │ │ │ │ ├── CandidateWithDetails.scala │ │ │ │ ├── ItemPresentation.scala │ │ │ │ ├── ModulePresentation.scala │ │ │ │ ├── UniversalPresentation.scala │ │ │ │ ├── slice/ │ │ │ │ │ ├── BUILD │ │ │ │ │ └── BaseSliceItemPresentation.scala │ │ │ │ └── urt/ │ │ │ │ ├── BUILD │ │ │ │ ├── BaseUrtItemPresentation.scala │ │ │ │ ├── BaseUrtModulePresentation.scala │ │ │ │ ├── BaseUrtOperationPresentation.scala │ │ │ │ ├── IsDispensable.scala │ │ │ │ └── WithItemTreeDisplay.scala │ │ │ └── marshalling/ │ │ │ ├── BUILD │ │ │ ├── HasMarshalling.scala │ │ │ ├── request/ │ │ │ │ ├── BUILD │ │ │ │ ├── ClientContext.scala │ │ │ │ ├── DebugOptions.scala │ │ │ │ ├── DebugParams.scala │ │ │ │ ├── HasExcludedIds.scala │ │ │ │ ├── HasSerializedRequestCursor.scala │ │ │ │ ├── Product.scala │ │ │ │ ├── ProductContext.scala │ │ │ │ └── Request.scala │ │ │ └── response/ │ │ │ ├── rtf/ │ │ │ │ └── safety_level/ │ │ │ │ ├── BUILD │ │ │ │ └── SafetyLevel.scala │ │ │ ├── slice/ │ │ │ │ ├── BUILD │ │ │ │ └── SliceItem.scala │ │ │ ├── urp/ │ │ │ │ ├── BUILD │ │ │ │ ├── Page.scala │ │ │ │ ├── PageBody.scala │ │ │ │ ├── PageHeader.scala │ │ │ │ ├── PageNavBar.scala │ │ │ │ ├── SegmentedTimeline.scala │ │ │ │ ├── TimelineKey.scala │ │ │ │ ├── TopicPageHeaderDisplayType.scala │ │ │ │ └── TopicPageHeaderFacepile.scala │ │ │ └── urt/ │ │ │ ├── BUILD │ │ │ ├── Cover.scala │ │ │ ├── EntryNamespace.scala │ │ │ ├── HasEntryIdentifier.scala │ │ │ ├── HasExpirationTime.scala │ │ │ ├── HasSortIndex.scala │ │ │ ├── ModuleItemTreeDisplay.scala │ │ │ ├── ReaderModeConfig.scala │ │ │ ├── ShowAlert.scala │ │ │ ├── Timeline.scala │ │ │ ├── TimelineEntry.scala │ │ │ ├── TimelineInstruction.scala │ │ │ ├── TimelineMetadata.scala │ │ │ ├── TimelineScribeConfig.scala │ │ │ ├── alert/ │ │ │ │ ├── BUILD │ │ │ │ ├── ShowAlertColorConfiguration.scala │ │ │ │ ├── ShowAlertDisplayLocation.scala │ │ │ │ ├── ShowAlertIcon.scala │ │ │ │ ├── ShowAlertIconDisplayInfo.scala │ │ │ │ ├── ShowAlertNavigationMetadata.scala │ │ │ │ └── ShowAlertType.scala │ │ │ ├── button/ │ │ │ │ ├── BUILD │ │ │ │ ├── ButtonStyle.scala │ │ │ │ └── CtaButton.scala │ │ │ ├── color/ │ │ │ │ ├── BUILD │ │ │ │ ├── Color.scala │ │ │ │ ├── ColorPalette.scala │ │ │ │ └── RosettaColor.scala │ │ │ ├── contextual_ref/ │ │ │ │ ├── BUILD │ │ │ │ ├── ContextualTweetRef.scala │ │ │ │ ├── OuterTweetContext.scala │ │ │ │ └── TweetHydrationContext.scala │ │ │ ├── cover/ │ │ │ │ ├── BUILD │ │ │ │ ├── CoverContent.scala │ │ │ │ ├── CoverCta.scala │ │ │ │ ├── CoverCtaBehavior.scala │ │ │ │ ├── CoverImage.scala │ │ │ │ ├── FullCoverDisplayType.scala │ │ │ │ ├── HalfCoverDisplayType.scala │ │ │ │ └── ShowCover.scala │ │ │ ├── icon/ │ │ │ │ ├── BUILD │ │ │ │ └── HorizonIcon.scala │ │ │ ├── item/ │ │ │ │ ├── BUILD │ │ │ │ ├── article/ │ │ │ │ │ ├── ArticleDisplayType.scala │ │ │ │ │ ├── ArticleItem.scala │ │ │ │ │ └── ArticleSeedType.scala │ │ │ │ ├── audio_space/ │ │ │ │ │ └── AudioSpaceItem.scala │ │ │ │ ├── card/ │ │ │ │ │ ├── CardDisplayType.scala │ │ │ │ │ └── CardItem.scala │ │ │ │ ├── commerce/ │ │ │ │ │ ├── CommerceProductGroupItem.scala │ │ │ │ │ └── CommerceProductItem.scala │ │ │ │ ├── conversation_annotation/ │ │ │ │ │ ├── ConversationAnnotation.scala │ │ │ │ │ └── ConversationAnnotationType.scala │ │ │ │ ├── event/ │ │ │ │ │ ├── EventSummaryDisplayType.scala │ │ │ │ │ └── EventSummaryItem.scala │ │ │ │ ├── forward_pivot/ │ │ │ │ │ ├── ForwardPivot.scala │ │ │ │ │ ├── ForwardPivotDisplayType.scala │ │ │ │ │ └── SoftInterventionDisplayType.scala │ │ │ │ ├── generic_summary/ │ │ │ │ │ ├── GenericSummaryAction.scala │ │ │ │ │ ├── GenericSummaryContext.scala │ │ │ │ │ ├── GenericSummaryDisplayType.scala │ │ │ │ │ └── GenericSummaryItem.scala │ │ │ │ ├── highlight/ │ │ │ │ │ └── HighlightedSection.scala │ │ │ │ ├── icon_label/ │ │ │ │ │ └── IconLabelItem.scala │ │ │ │ ├── label/ │ │ │ │ │ ├── LabelDisplayType.scala │ │ │ │ │ └── LabelItem.scala │ │ │ │ ├── message/ │ │ │ │ │ ├── MessageAction.scala │ │ │ │ │ ├── MessageActionType.scala │ │ │ │ │ ├── MessageContent.scala │ │ │ │ │ ├── MessageImage.scala │ │ │ │ │ ├── MessagePromptItem.scala │ │ │ │ │ ├── MessageTextAction.scala │ │ │ │ │ ├── UserFacepile.scala │ │ │ │ │ └── UserFacepileDisplayType.scala │ │ │ │ ├── moment/ │ │ │ │ │ └── MomentAnnotationItem.scala │ │ │ │ ├── prompt/ │ │ │ │ │ ├── PromptContent.scala │ │ │ │ │ ├── PromptItem.scala │ │ │ │ │ ├── RelevancePromptDisplayType.scala │ │ │ │ │ └── RelevancePromptFollowUpFeedbackType.scala │ │ │ │ ├── suggestion/ │ │ │ │ │ ├── SpellingActionType.scala │ │ │ │ │ ├── SpellingItem.scala │ │ │ │ │ └── TextResult.scala │ │ │ │ ├── thread/ │ │ │ │ │ ├── ThreadHeaderContent.scala │ │ │ │ │ └── ThreadHeaderItem.scala │ │ │ │ ├── tile/ │ │ │ │ │ ├── TileContent.scala │ │ │ │ │ └── TileItem.scala │ │ │ │ ├── tombstone/ │ │ │ │ │ ├── TombstoneDisplayType.scala │ │ │ │ │ ├── TombstoneInfo.scala │ │ │ │ │ └── TombstoneItem.scala │ │ │ │ ├── topic/ │ │ │ │ │ ├── TopicDisplayType.scala │ │ │ │ │ ├── TopicFollowPromptDisplayType.scala │ │ │ │ │ ├── TopicFollowPromptItem.scala │ │ │ │ │ ├── TopicFunctionalityType.scala │ │ │ │ │ └── TopicItem.scala │ │ │ │ ├── trend/ │ │ │ │ │ └── TrendItem.scala │ │ │ │ ├── tweet/ │ │ │ │ │ ├── TimelinesScoreInfo.scala │ │ │ │ │ ├── TweetDisplayType.scala │ │ │ │ │ ├── TweetHighlights.scala │ │ │ │ │ └── TweetItem.scala │ │ │ │ ├── tweet_composer/ │ │ │ │ │ ├── TweetComposerDisplayType.scala │ │ │ │ │ └── TweetComposerItem.scala │ │ │ │ ├── twitter_list/ │ │ │ │ │ ├── TwitterListDisplayType.scala │ │ │ │ │ └── TwitterListItem.scala │ │ │ │ ├── user/ │ │ │ │ │ ├── UserDisplayType.scala │ │ │ │ │ ├── UserItem.scala │ │ │ │ │ └── UserReactiveTriggers.scala │ │ │ │ └── vertical_grid_item/ │ │ │ │ ├── VerticalGridItem.scala │ │ │ │ ├── VerticalGridItemTileStyle.scala │ │ │ │ └── VerticalGridItemTopicFunctionalityType.scala │ │ │ ├── media/ │ │ │ │ ├── AspectRatio.scala │ │ │ │ ├── BUILD │ │ │ │ ├── Media.scala │ │ │ │ ├── MediaEntity.scala │ │ │ │ ├── MediaKey.scala │ │ │ │ └── Rect.scala │ │ │ ├── metadata/ │ │ │ │ ├── ArticleDetails.scala │ │ │ │ ├── BUILD │ │ │ │ ├── Badge.scala │ │ │ │ ├── Callback.scala │ │ │ │ ├── ClientEventInfo.scala │ │ │ │ ├── CommerceDetails.scala │ │ │ │ ├── ConfirmationDisplayType.scala │ │ │ │ ├── ConversationDetails.scala │ │ │ │ ├── ConversationSection.scala │ │ │ │ ├── DismissInfo.scala │ │ │ │ ├── FeedbackAction.scala │ │ │ │ ├── FeedbackActionInfo.scala │ │ │ │ ├── FeedbackInfo.scala │ │ │ │ ├── FeedbackType.scala │ │ │ │ ├── ImageAnimationType.scala │ │ │ │ ├── ImageDisplayType.scala │ │ │ │ ├── ImageVariant.scala │ │ │ │ ├── LiveEventDetails.scala │ │ │ │ ├── MarkUnreadableEntry.scala │ │ │ │ ├── PinnableEntry.scala │ │ │ │ ├── ReplaceableEntry.scala │ │ │ │ ├── ReplyPinState.scala │ │ │ │ ├── RichFeedbackBehavior.scala │ │ │ │ ├── SocialContext.scala │ │ │ │ ├── TimelinesDetails.scala │ │ │ │ └── Url.scala │ │ │ ├── operation/ │ │ │ │ ├── BUILD │ │ │ │ ├── CursorDisplayTreatment.scala │ │ │ │ ├── CursorItem.scala │ │ │ │ ├── CursorOperation.scala │ │ │ │ └── CursorType.scala │ │ │ ├── promoted/ │ │ │ │ ├── AdMetadataContainer.scala │ │ │ │ ├── BUILD │ │ │ │ ├── CallToAction.scala │ │ │ │ ├── ClickTrackingInfo.scala │ │ │ │ ├── DisclaimerType.scala │ │ │ │ ├── DisclosureType.scala │ │ │ │ ├── DynamicPrerollType.scala │ │ │ │ ├── MediaInfo.scala │ │ │ │ ├── Preroll.scala │ │ │ │ ├── PrerollMetadata.scala │ │ │ │ ├── PromotedMetadata.scala │ │ │ │ ├── SkAdNetworkData.scala │ │ │ │ ├── SponsorshipType.scala │ │ │ │ ├── UrlOverrideType.scala │ │ │ │ └── VideoVariant.scala │ │ │ ├── reaction/ │ │ │ │ ├── BUILD │ │ │ │ ├── TimelineReaction.scala │ │ │ │ └── TimelineReactionExecution.scala │ │ │ ├── richtext/ │ │ │ │ ├── BUILD │ │ │ │ ├── ReferenceObject.scala │ │ │ │ ├── RichText.scala │ │ │ │ ├── RichTextAlignment.scala │ │ │ │ ├── RichTextEntity.scala │ │ │ │ └── RichTextFormat.scala │ │ │ └── timeline_module/ │ │ │ ├── AdsMetadata.scala │ │ │ ├── BUILD │ │ │ ├── GridCarouselMetadata.scala │ │ │ ├── ModuleConversationMetadata.scala │ │ │ ├── ModuleDisplayType.scala │ │ │ ├── ModuleFooter.scala │ │ │ ├── ModuleHeader.scala │ │ │ ├── ModuleHeaderDisplayType.scala │ │ │ ├── ModuleMetadata.scala │ │ │ └── ModuleShowMoreBehavior.scala │ │ ├── module/ │ │ │ ├── ABDeciderModule.scala │ │ │ ├── BUILD │ │ │ ├── ConfigApiModule.scala │ │ │ ├── FeatureSwitchesModule.scala │ │ │ ├── LoggingThrowableExceptionMapper.scala │ │ │ ├── PipelineExecutionLoggerModule.scala │ │ │ ├── ProductMixerModule.scala │ │ │ ├── StratoClientModule.scala │ │ │ ├── product_mixer_flags/ │ │ │ │ ├── BUILD │ │ │ │ └── ProductMixerFlagModule.scala │ │ │ └── stringcenter/ │ │ │ ├── BUILD │ │ │ └── ProductScopeStringCenterModule.scala │ │ ├── pipeline/ │ │ │ ├── BUILD │ │ │ ├── CandidatePipelineFeatures.scala │ │ │ ├── FailOpenPolicy.scala │ │ │ ├── InvalidStepStateException.scala │ │ │ ├── NewPipelineArrowBuilder.scala │ │ │ ├── NewPipelineBuilder.scala │ │ │ ├── NewPipelineResult.scala │ │ │ ├── NewStepData.scala │ │ │ ├── Pipeline.scala │ │ │ ├── PipelineBuilder.scala │ │ │ ├── PipelineConfig.scala │ │ │ ├── PipelineCursor.scala │ │ │ ├── PipelineCursorSerializer.scala │ │ │ ├── PipelineQuery.scala │ │ │ ├── PipelineResult.scala │ │ │ ├── candidate/ │ │ │ │ ├── BUILD │ │ │ │ ├── CandidatePipeline.scala │ │ │ │ ├── CandidatePipelineBuilder.scala │ │ │ │ ├── CandidatePipelineBuilderFactory.scala │ │ │ │ ├── CandidatePipelineConfig.scala │ │ │ │ ├── CandidatePipelineResult.scala │ │ │ │ ├── PassthroughCandidatePipelineConfig.scala │ │ │ │ └── StaticCandidatePipelineConfig.scala │ │ │ ├── mixer/ │ │ │ │ ├── BUILD │ │ │ │ ├── MixerPipeline.scala │ │ │ │ ├── MixerPipelineBuilder.scala │ │ │ │ ├── MixerPipelineBuilderFactory.scala │ │ │ │ ├── MixerPipelineConfig.scala │ │ │ │ └── MixerPipelineResult.scala │ │ │ ├── pipeline_failure/ │ │ │ │ ├── BUILD │ │ │ │ ├── PipelineFailure.scala │ │ │ │ ├── PipelineFailureCategory.scala │ │ │ │ ├── PipelineFailureClassifier.scala │ │ │ │ └── PipelineFailureSerializer.scala │ │ │ ├── product/ │ │ │ │ ├── BUILD │ │ │ │ ├── ProductPipeline.scala │ │ │ │ ├── ProductPipelineBuilder.scala │ │ │ │ ├── ProductPipelineBuilderFactory.scala │ │ │ │ ├── ProductPipelineConfig.scala │ │ │ │ ├── ProductPipelineRequest.scala │ │ │ │ └── ProductPipelineResult.scala │ │ │ ├── recommendation/ │ │ │ │ ├── BUILD │ │ │ │ ├── RecommendationPipeline.scala │ │ │ │ ├── RecommendationPipelineBuilder.scala │ │ │ │ ├── RecommendationPipelineBuilderFactory.scala │ │ │ │ ├── RecommendationPipelineConfig.scala │ │ │ │ └── RecommendationPipelineResult.scala │ │ │ ├── scoring/ │ │ │ │ ├── BUILD │ │ │ │ ├── NewScoringPipelineBuilder.scala │ │ │ │ ├── ScoringPipeline.scala │ │ │ │ ├── ScoringPipelineBuilder.scala │ │ │ │ ├── ScoringPipelineBuilderFactory.scala │ │ │ │ ├── ScoringPipelineConfig.scala │ │ │ │ └── ScoringPipelineResult.scala │ │ │ ├── state/ │ │ │ │ ├── BUILD │ │ │ │ ├── HasAsyncFeatureMap.scala │ │ │ │ ├── HasCandidates.scala │ │ │ │ ├── HasCandidatesWithDetails.scala │ │ │ │ ├── HasCandidatesWithFeatures.scala │ │ │ │ ├── HasExecutorResults.scala │ │ │ │ ├── HasParams.scala │ │ │ │ ├── HasQuery.scala │ │ │ │ ├── HasRequest.scala │ │ │ │ └── HasResult.scala │ │ │ └── step/ │ │ │ ├── BUILD │ │ │ ├── Step.scala │ │ │ ├── async_feature_map/ │ │ │ │ ├── AsyncFeatureMapStep.scala │ │ │ │ └── BUILD.bazel │ │ │ ├── candidate_feature_hydrator/ │ │ │ │ ├── BUILD │ │ │ │ └── CandidateFeatureHydratorStep.scala │ │ │ ├── candidate_source/ │ │ │ │ ├── BUILD.bazel │ │ │ │ └── CandidateSourceStep.scala │ │ │ ├── decorator/ │ │ │ │ ├── BUILD.bazel │ │ │ │ └── DecoratorStep.scala │ │ │ ├── domain_marshaller/ │ │ │ │ ├── BUILD.bazel │ │ │ │ └── DomainMarshallerStep.scala │ │ │ ├── filter/ │ │ │ │ ├── BUILD.bazel │ │ │ │ └── FilterStep.scala │ │ │ ├── gate/ │ │ │ │ ├── BUILD │ │ │ │ └── GateStep.scala │ │ │ ├── group_results/ │ │ │ │ ├── BUILD.bazel │ │ │ │ └── GroupResultsStep.scala │ │ │ ├── pipeline_executor/ │ │ │ │ ├── BUILD.bazel │ │ │ │ └── PipelineExecutorStep.scala │ │ │ ├── pipeline_selector/ │ │ │ │ ├── BUILD │ │ │ │ └── PipelineSelectorStep.scala │ │ │ ├── quality_factor/ │ │ │ │ ├── BUILD.bazel │ │ │ │ └── QualityFactorStep.scala │ │ │ ├── query_feature_hydrator/ │ │ │ │ ├── BUILD.bazel │ │ │ │ └── QueryFeatureHydratorStep.scala │ │ │ ├── query_transformer/ │ │ │ │ ├── BUILD.bazel │ │ │ │ └── QueryTransformerStep.scala │ │ │ ├── scorer/ │ │ │ │ ├── BUILD │ │ │ │ └── ScorerStep.scala │ │ │ ├── selector/ │ │ │ │ ├── BUILD │ │ │ │ └── SelectorStep.scala │ │ │ ├── side_effect/ │ │ │ │ ├── BUILD.bazel │ │ │ │ └── SideEffectStep.scala │ │ │ └── transport_marshaller/ │ │ │ ├── BUILD.bazel │ │ │ └── TransportMarshallerStep.scala │ │ ├── product/ │ │ │ ├── BUILD │ │ │ ├── ProductParamConfig.scala │ │ │ ├── ProductParamConfigBuilder.scala │ │ │ ├── guice/ │ │ │ │ ├── BUILD │ │ │ │ ├── ProductScope.scala │ │ │ │ ├── ProductScopeModule.scala │ │ │ │ └── SimpleScope.scala │ │ │ └── registry/ │ │ │ ├── BUILD │ │ │ ├── ProductParamRegistry.scala │ │ │ ├── ProductPipelineRegistry.scala │ │ │ └── ProductPipelineRegistryConfig.scala │ │ ├── quality_factor/ │ │ │ ├── BUILD │ │ │ ├── Bounds.scala │ │ │ ├── LinearLatencyQualityFactor.scala │ │ │ ├── LinearLatencyQualityFactorObserver.scala │ │ │ ├── QualityFactor.scala │ │ │ ├── QualityFactorConfig.scala │ │ │ ├── QualityFactorObserver.scala │ │ │ ├── QualityFactorStatus.scala │ │ │ ├── QueriesPerSecondBasedQualityFactor.scala │ │ │ ├── QueriesPerSecondBasedQualityFactorObserver.scala │ │ │ └── QueryRateCounter.scala │ │ ├── service/ │ │ │ ├── BUILD │ │ │ ├── Executor.scala │ │ │ ├── ExecutorObserver.scala │ │ │ ├── ExecutorResult.scala │ │ │ ├── async_feature_map_executor/ │ │ │ │ ├── AsyncFeatureMapExecutor.scala │ │ │ │ └── BUILD │ │ │ ├── candidate_decorator_executor/ │ │ │ │ ├── BUILD │ │ │ │ ├── CandidateDecoratorExecutor.scala │ │ │ │ └── CandidateDecoratorExecutorResult.scala │ │ │ ├── candidate_feature_hydrator_executor/ │ │ │ │ ├── BUILD │ │ │ │ ├── CandidateFeatureHydratorExecutor.scala │ │ │ │ └── CandidateFeatureHydratorExecutorResult.scala │ │ │ ├── candidate_feature_transformer_executor/ │ │ │ │ ├── BUILD │ │ │ │ ├── CandidateFeatureTransformerExecutor.scala │ │ │ │ └── CandidateFeatureTransformerExecutorResult.scala │ │ │ ├── candidate_pipeline_executor/ │ │ │ │ ├── BUILD │ │ │ │ ├── CandidatePipelineExecutor.scala │ │ │ │ └── CandidatePipelineExecutorResult.scala │ │ │ ├── candidate_source_executor/ │ │ │ │ ├── BUILD │ │ │ │ ├── CandidateSourceExecutor.scala │ │ │ │ └── CandidateSourceExecutorResult.scala │ │ │ ├── component_registry/ │ │ │ │ ├── BUILD │ │ │ │ ├── ComponentRegistry.scala │ │ │ │ └── RegisteredComponent.scala │ │ │ ├── debug_query/ │ │ │ │ ├── AuthorizationService.scala │ │ │ │ ├── BUILD │ │ │ │ ├── DebugQueryNotSupportedService.scala │ │ │ │ ├── DebugQueryService.scala │ │ │ │ └── ParamsSerializerModule.scala │ │ │ ├── domain_marshaller_executor/ │ │ │ │ ├── BUILD │ │ │ │ └── DomainMarshallerExecutor.scala │ │ │ ├── feature_hydrator_observer/ │ │ │ │ ├── BUILD │ │ │ │ └── FeatureHydratorObserver.scala │ │ │ ├── filter_executor/ │ │ │ │ ├── BUILD │ │ │ │ ├── FilterExecutor.scala │ │ │ │ └── FilterExecutorResult.scala │ │ │ ├── gate_executor/ │ │ │ │ ├── BUILD │ │ │ │ ├── ExecutedGateResult.scala │ │ │ │ ├── GateExecutor.scala │ │ │ │ ├── GateExecutorResult.scala │ │ │ │ └── StoppedGateException.scala │ │ │ ├── group_results_executor/ │ │ │ │ ├── BUILD │ │ │ │ └── GroupResultsExecutor.scala │ │ │ ├── pipeline_execution_logger/ │ │ │ │ ├── AllowListedPipelineExecutionLogger.scala │ │ │ │ ├── BUILD │ │ │ │ └── PipelineExecutionLogger.scala │ │ │ ├── pipeline_executor/ │ │ │ │ ├── BUILD │ │ │ │ ├── PipelineExecutor.scala │ │ │ │ └── PipelineExecutorResult.scala │ │ │ ├── pipeline_result_side_effect_executor/ │ │ │ │ ├── BUILD │ │ │ │ └── PipelineResultSideEffectExecutor.scala │ │ │ ├── pipeline_selector_executor/ │ │ │ │ ├── BUILD │ │ │ │ ├── PipelineSelectorExecutor.scala │ │ │ │ └── PipelineSelectorExecutorResult.scala │ │ │ ├── quality_factor_executor/ │ │ │ │ ├── BUILD │ │ │ │ └── QualityFactorExecutorResult.scala │ │ │ ├── query_feature_hydrator_executor/ │ │ │ │ ├── AsyncIndividualFeatureHydratorResultSerializer.scala │ │ │ │ ├── BUILD │ │ │ │ └── QueryFeatureHydratorExecutor.scala │ │ │ ├── scoring_pipeline_executor/ │ │ │ │ ├── BUILD │ │ │ │ ├── ScoringPipelineExecutor.scala │ │ │ │ └── ScoringPipelineExecutorResult.scala │ │ │ ├── selector_executor/ │ │ │ │ ├── BUILD │ │ │ │ ├── SelectorExecutor.scala │ │ │ │ └── SelectorExecutorResult.scala │ │ │ ├── slice/ │ │ │ │ ├── BUILD │ │ │ │ └── SliceService.scala │ │ │ ├── transformer_executor/ │ │ │ │ ├── BUILD │ │ │ │ ├── PerCandidateTransformerExecutor.scala │ │ │ │ └── TransformerExecutor.scala │ │ │ ├── transport_marshaller_executor/ │ │ │ │ ├── BUILD │ │ │ │ └── TransportMarshallerExecutor.scala │ │ │ ├── urp/ │ │ │ │ ├── BUILD │ │ │ │ └── UrpService.scala │ │ │ └── urt/ │ │ │ ├── BUILD │ │ │ └── UrtService.scala │ │ └── util/ │ │ ├── BUILD │ │ ├── FuturePools.scala │ │ ├── OffloadFuturePools.scala │ │ └── SortIndexBuilder.scala │ └── shared-library/ │ └── src/ │ └── main/ │ └── scala/ │ └── com/ │ └── twitter/ │ └── product_mixer/ │ └── shared_library/ │ ├── http_client/ │ │ ├── BUILD │ │ ├── FinagleHttpClientBuilder.scala │ │ ├── FinagleHttpClientWithProxyBuilder.scala │ │ └── HttpHostPort.scala │ ├── manhattan_client/ │ │ ├── BUILD │ │ └── ManhattanClientBuilder.scala │ ├── memcached_client/ │ │ ├── BUILD │ │ └── MemcachedClientBuilder.scala │ ├── observer/ │ │ ├── BUILD │ │ ├── Observer.scala │ │ ├── ResultsObserver.scala │ │ └── ResultsStatsObserver.scala │ └── thrift_client/ │ ├── BUILD │ └── FinagleThriftClientBuilder.scala ├── pushservice/ │ ├── BUILD.bazel │ ├── README.md │ └── src/ │ └── main/ │ ├── python/ │ │ └── models/ │ │ ├── heavy_ranking/ │ │ │ ├── BUILD │ │ │ ├── README.md │ │ │ ├── __init__.py │ │ │ ├── deep_norm.py │ │ │ ├── eval.py │ │ │ ├── features.py │ │ │ ├── graph.py │ │ │ ├── lib/ │ │ │ │ ├── BUILD │ │ │ │ ├── layers.py │ │ │ │ ├── model.py │ │ │ │ └── params.py │ │ │ ├── model_pools.py │ │ │ ├── params.py │ │ │ ├── run_args.py │ │ │ └── update_warm_start_checkpoint.py │ │ ├── libs/ │ │ │ ├── BUILD │ │ │ ├── __init__.py │ │ │ ├── customized_full_sparse.py │ │ │ ├── get_feat_config.py │ │ │ ├── graph_utils.py │ │ │ ├── group_metrics.py │ │ │ ├── initializer.py │ │ │ ├── light_ranking_metrics.py │ │ │ ├── metric_fn_utils.py │ │ │ ├── model_args.py │ │ │ ├── model_utils.py │ │ │ └── warm_start_utils.py │ │ └── light_ranking/ │ │ ├── BUILD │ │ ├── README.md │ │ ├── __init__.py │ │ ├── deep_norm.py │ │ ├── eval_model.py │ │ └── model_pools_mlp.py │ └── scala/ │ └── com/ │ └── twitter/ │ └── frigate/ │ └── pushservice/ │ ├── BUILD.bazel │ ├── PushMixerThriftServerWarmupHandler.scala │ ├── PushServiceMain.scala │ ├── adaptor/ │ │ ├── ContentRecommenderMixerAdaptor.scala │ │ ├── EarlyBirdFirstDegreeCandidateAdaptor.scala │ │ ├── ExploreVideoTweetCandidateAdaptor.scala │ │ ├── FRSTweetCandidateAdaptor.scala │ │ ├── GenericCandidateAdaptor.scala │ │ ├── HighQualityTweetsAdaptor.scala │ │ ├── ListsToRecommendCandidateAdaptor.scala │ │ ├── LoggedOutPushCandidateSourceGenerator.scala │ │ ├── OnboardingPushCandidateAdaptor.scala │ │ ├── PushCandidateSourceGenerator.scala │ │ ├── TopTweetImpressionsCandidateAdaptor.scala │ │ ├── TopTweetsByGeoAdaptor.scala │ │ ├── TrendsCandidatesAdaptor.scala │ │ └── TripGeoCandidatesAdaptor.scala │ ├── config/ │ │ ├── Config.scala │ │ ├── DeployConfig.scala │ │ ├── ExperimentsWithStats.scala │ │ ├── ProdConfig.scala │ │ ├── StagingConfig.scala │ │ └── mlconfig/ │ │ └── DeepbirdV2ModelConfig.scala │ ├── controller/ │ │ └── PushServiceController.scala │ ├── exception/ │ │ ├── DisplayLocationNotSupportedException.scala │ │ ├── InvalidSportDomainException.scala │ │ ├── TweetNTabRequestHydratorException.scala │ │ ├── UnsupportedCrtException.scala │ │ └── UttEntityNotFoundException.scala │ ├── ml/ │ │ ├── HealthFeatureGetter.scala │ │ ├── HydrationContextBuilder.scala │ │ └── PushMLModelScorer.scala │ ├── model/ │ │ ├── DiscoverTwitter.scala │ │ ├── F1FirstdegreeTweet.scala │ │ ├── ListRecommendationPushCandidate.scala │ │ ├── MagicFanoutCreatorEventPushCandidate.scala │ │ ├── MagicFanoutEventPushCandidate.scala │ │ ├── MagicFanoutHydratedCandidate.scala │ │ ├── MagicFanoutNewsEvent.scala │ │ ├── MagicFanoutProductLaunchPushCandidate.scala │ │ ├── MagicFanoutSportsPushCandidate.scala │ │ ├── OutOfNetworkTweetPushCandidate.scala │ │ ├── PushTypes.scala │ │ ├── ScheduledSpaceSpeaker.scala │ │ ├── ScheduledSpaceSubscriber.scala │ │ ├── SubscribedSearchTweetPushCandidate.scala │ │ ├── TopTweetImpressionsPushCandidate.scala │ │ ├── TopicProofTweetPushCandidate.scala │ │ ├── TrendTweetPushCandidate.scala │ │ ├── TripTweetPushCandidate.scala │ │ ├── TweetAction.scala │ │ ├── TweetFavorite.scala │ │ ├── TweetRetweet.scala │ │ ├── candidate/ │ │ │ ├── CopyInfo.scala │ │ │ ├── MLScores.scala │ │ │ ├── QualityScribing.scala │ │ │ └── Scriber.scala │ │ ├── ibis/ │ │ │ ├── CustomConfigurationMapForIbis.scala │ │ │ ├── DiscoverTwitterPushIbis2Hydrator.scala │ │ │ ├── F1FirstDegreeTweetIbis2Hydrator.scala │ │ │ ├── Ibis2Hydrator.scala │ │ │ ├── InlineActionIbis2Hydrator.scala │ │ │ ├── ListIbis2Hydrator.scala │ │ │ ├── MagicFanoutCreatorEventIbis2Hydrator.scala │ │ │ ├── MagicFanoutNewsEventIbis2Hydrator.scala │ │ │ ├── MagicFanoutProductLaunchIbis2Hydrator.scala │ │ │ ├── MagicFanoutSportsEventIbis2Hydrator.scala │ │ │ ├── OutOfNetworkTweetIbis2Hydrator.scala │ │ │ ├── OverrideForIbis2Request.scala │ │ │ ├── PushOverrideInfo.scala │ │ │ ├── RankedSocialContextIbis2Hydrator.scala │ │ │ ├── ScheduledSpaceSpeakerIbis2Hydrator.scala │ │ │ ├── ScheduledSpaceSubscriberIbis2Hydrator.scala │ │ │ ├── SubscribedSearchTweetIbis2Hydrator.scala │ │ │ ├── TopTweetImpressionsCandidateIbis2Hydrator.scala │ │ │ ├── TopicProofTweetIbis2Hydrator.scala │ │ │ ├── TrendTweetIbis2Hydrator.scala │ │ │ ├── TweetCandidateIbis2Hydrator.scala │ │ │ ├── TweetFavoriteIbis2Hydrator.scala │ │ │ └── TweetRetweetIbis2Hydrator.scala │ │ └── ntab/ │ │ ├── CandidateNTabCopy.scala │ │ ├── DiscoverTwitterNtabRequestHydrator.scala │ │ ├── EventNTabRequestHydrator.scala │ │ ├── F1FirstDegreeTweetNTabRequestHydrator.scala │ │ ├── ListCandidateNTabRequestHydrator.scala │ │ ├── MagicFanoutCreatorEventNtabRequestHydrator.scala │ │ ├── MagicFanoutNewsEventNTabRequestHydrator.scala │ │ ├── MagicFanoutProductLaunchNtabRequestHydrator.scala │ │ ├── MagicFanoutSportsEventNTabRequestHydrator.scala │ │ ├── NTabRequest.scala │ │ ├── NTabRequestHydrator.scala │ │ ├── NTabSocialContext.scala │ │ ├── OutOfNetworkTweetNTabRequestHydrator.scala │ │ ├── ScheduledSpaceNTabRequestHydrator.scala │ │ ├── SubscribedSearchTweetNtabRequestHydrator.scala │ │ ├── TopTweetImpressionsNTabRequestHydrator.scala │ │ ├── TopicProofTweetNtabRequestHydrator.scala │ │ ├── TrendTweetNtabHydrator.scala │ │ ├── TweetFavoriteNTabRequestHydrator.scala │ │ ├── TweetNTabRequestHydrator.scala │ │ └── TweetRetweetNTabRequestHydrator.scala │ ├── module/ │ │ ├── DeployConfigModule.scala │ │ ├── FilterModule.scala │ │ ├── FlagModule.scala │ │ ├── LoggedOutPushTargetUserBuilderModule.scala │ │ ├── PushHandlerModule.scala │ │ ├── PushServiceDarkTrafficModule.scala │ │ ├── PushTargetUserBuilderModule.scala │ │ └── ThriftWebFormsModule.scala │ ├── params/ │ │ ├── DeciderKey.scala │ │ ├── PushConstants.scala │ │ ├── PushEnums.scala │ │ ├── PushFeatureSwitchParams.scala │ │ ├── PushFeatureSwitches.scala │ │ ├── PushMLModelParams.scala │ │ ├── PushParams.scala │ │ ├── PushServiceTunableKeys.scala │ │ └── ShardParams.scala │ ├── predicate/ │ │ ├── BigFilteringEpsilonGreedyExplorationPredicate.scala │ │ ├── BqmlHealthModelPredicates.scala │ │ ├── BqmlQualityModelPredicates.scala │ │ ├── CaretFeedbackHistoryFilter.scala │ │ ├── CasLockPredicate.scala │ │ ├── CrtDeciderPredicate.scala │ │ ├── DiscoverTwitterPredicate.scala │ │ ├── FatiguePredicate.scala │ │ ├── HealthPredicates.scala │ │ ├── JointDauAndQualityModelPredicate.scala │ │ ├── ListPredicates.scala │ │ ├── LoggedOutPreRankingPredicates.scala │ │ ├── LoggedOutTargetPredicates.scala │ │ ├── MlModelsHoldbackExperimentPredicate.scala │ │ ├── OONSpreadControlPredicate.scala │ │ ├── OONTweetNegativeFeedbackBasedPredicate.scala │ │ ├── OutOfNetworkCandidatesQualityPredicates.scala │ │ ├── PNegMultimodalPredicates.scala │ │ ├── PostRankingPredicateHelper.scala │ │ ├── PreRankingPredicates.scala │ │ ├── PredicatesForCandidate.scala │ │ ├── SGSPredicatesForCandidate.scala │ │ ├── ScarecrowPredicate.scala │ │ ├── SpacePredicate.scala │ │ ├── TargetEngagementPredicate.scala │ │ ├── TargetNtabCaretClickFatiguePredicate.scala │ │ ├── TargetPredicates.scala │ │ ├── TopTweetImpressionsPredicates.scala │ │ ├── TweetEngagementRatioPredicate.scala │ │ ├── TweetLanguagePredicate.scala │ │ ├── TweetWithheldContentPredicate.scala │ │ ├── event/ │ │ │ └── EventPredicatesForCandidate.scala │ │ ├── magic_fanout/ │ │ │ ├── MagicFanoutPredicatesForCandidate.scala │ │ │ ├── MagicFanoutPredicatesUtil.scala │ │ │ ├── MagicFanoutSportsUtil.scala │ │ │ └── MagicFanoutTargetingPredicateWrappersForCandidate.scala │ │ ├── ntab_caret_fatigue/ │ │ │ ├── CRTBasedNtabCaretClickFatiguePredicates.scala │ │ │ ├── ContinuousFunction.scala │ │ │ ├── FeedbackModel.scala │ │ │ ├── MagicFanoutNtabCaretFatiguePredicate.scala │ │ │ ├── NtabCaretClickCandidateFatiguePredicate.scala │ │ │ ├── NtabCaretClickFatiguePredicate.scala │ │ │ ├── NtabCaretClickFatigueUtils.scala │ │ │ └── RecTypeNtabCaretFatiguePredicate.scala │ │ ├── package.scala │ │ └── quality_model_predicate/ │ │ ├── OpenOrNtabClickQualityPredicate.scala │ │ ├── QualityPredicateCommon.scala │ │ └── QualityPredicateMap.scala │ ├── rank/ │ │ ├── CRTBoostRanker.scala │ │ ├── CRTDownRanker.scala │ │ ├── LoggedOutRanker.scala │ │ ├── ModelBasedRanker.scala │ │ ├── PushserviceRanker.scala │ │ ├── RFPHLightRanker.scala │ │ ├── RFPHRanker.scala │ │ └── SubscriptionCreatorRanker.scala │ ├── refresh_handler/ │ │ ├── LoggedOutRefreshForPushHandler.scala │ │ ├── PushCandidateHydrator.scala │ │ ├── RFPHFeatureHydrator.scala │ │ ├── RFPHPrerankFilter.scala │ │ ├── RFPHRestrictStep.scala │ │ ├── RFPHStatsRecorder.scala │ │ ├── RefreshForPushHandler.scala │ │ ├── RefreshForPushNotifier.scala │ │ └── cross/ │ │ ├── BaseCopyFramework.scala │ │ ├── CandidateCopyExpansion.scala │ │ ├── CandidateCopyPair.scala │ │ ├── CandidateToCopy.scala │ │ ├── CopyFilters.scala │ │ └── CopyPredicates.scala │ ├── scriber/ │ │ └── MrRequestScribeHandler.scala │ ├── send_handler/ │ │ ├── SendHandler.scala │ │ ├── SendHandlerPushCandidateHydrator.scala │ │ └── generator/ │ │ ├── CandidateGenerator.scala │ │ ├── MagicFanoutCreatorEventCandidateGenerator.scala │ │ ├── MagicFanoutNewsEventCandidateGenerator.scala │ │ ├── MagicFanoutProductLaunchCandidateGenerator.scala │ │ ├── MagicFanoutSportsEventCandidateGenerator.scala │ │ ├── PushRequestToCandidate.scala │ │ ├── ScheduledSpaceSpeakerCandidateGenerator.scala │ │ └── ScheduledSpaceSubscriberCandidateGenerator.scala │ ├── store/ │ │ ├── ContentMixerStore.scala │ │ ├── CopySelectionServiceStore.scala │ │ ├── CrMixerTweetStore.scala │ │ ├── ExploreRankerStore.scala │ │ ├── FollowRecommendationsStore.scala │ │ ├── IbisStore.scala │ │ ├── InterestDiscoveryStore.scala │ │ ├── LabeledPushRecsDecideredStore.scala │ │ ├── LexServiceStore.scala │ │ ├── NTabHistoryStore.scala │ │ ├── OCFPromptHistoryStore.scala │ │ ├── OnlineUserHistoryStore.scala │ │ ├── OpenAppUserStore.scala │ │ ├── SocialGraphServiceProcessStore.scala │ │ ├── SoftUserFollowingStore.scala │ │ ├── TweetImpressionsStore.scala │ │ ├── TweetTranslationStore.scala │ │ └── UttEntityHydrationStore.scala │ ├── take/ │ │ ├── CandidateNotifier.scala │ │ ├── LoggedOutRefreshForPushNotifier.scala │ │ ├── NotificationSender.scala │ │ ├── NotificationServiceSender.scala │ │ ├── SendHandlerNotifier.scala │ │ ├── candidate_validator/ │ │ │ ├── CandidateValidator.scala │ │ │ ├── RFPHCandidateValidator.scala │ │ │ ├── SendHandlerPostCandidateValidator.scala │ │ │ └── SendHandlerPreCandidateValidator.scala │ │ ├── channel_selection/ │ │ │ ├── ChannelCandidate.scala │ │ │ ├── ChannelSelector.scala │ │ │ └── NtabOnlyChannelSelector.scala │ │ ├── history/ │ │ │ ├── EventBusWriter.scala │ │ │ └── HistoryWriter.scala │ │ ├── predicates/ │ │ │ ├── BasicRFPHPredicates.scala │ │ │ ├── BasicSendHandlerPredicates.scala │ │ │ ├── BasicTweetPredicates.scala │ │ │ ├── BasicTweetPredicatesForRFPH.scala │ │ │ ├── OutOfNetworkTweetPredicates.scala │ │ │ ├── TakeCommonPredicates.scala │ │ │ └── candidate_map/ │ │ │ ├── CandidatePredicatesMap.scala │ │ │ └── SendHandlerCandidatePredicatesMap.scala │ │ └── sender/ │ │ ├── Ibis2Sender.scala │ │ └── NtabSender.scala │ ├── target/ │ │ ├── CustomFSFields.scala │ │ ├── LoggedOutPushTargetUserBuilder.scala │ │ ├── PushTargetUserBuilder.scala │ │ ├── RFPHTargetPredicateGenerator.scala │ │ ├── TargetAppPermissions.scala │ │ └── TargetScoringDetails.scala │ └── util/ │ ├── AdaptorUtils.scala │ ├── AdhocStatsUtil.scala │ ├── Candidate2FrigateNotification.scala │ ├── CandidateHydrationUtil.scala │ ├── CandidateUtil.scala │ ├── CopyUtil.scala │ ├── EmailLandingPageExperimentUtil.scala │ ├── FunctionalUtil.scala │ ├── IbisScribeTargets.scala │ ├── InlineActionUtil.scala │ ├── MediaAnnotationsUtil.scala │ ├── MinDurationModifierCalculator.scala │ ├── MrUserStateUtil.scala │ ├── NsfwPersonalizationUtil.scala │ ├── OverrideNotificationUtil.scala │ ├── PushAdaptorUtil.scala │ ├── PushAppPermissionUtil.scala │ ├── PushCapUtil.scala │ ├── PushDeviceUtil.scala │ ├── PushIbisUtil.scala │ ├── PushToHomeUtil.scala │ ├── RFPHTakeStepUtil.scala │ ├── RelationshipUtil.scala │ ├── ResponseStatsTrackUtils.scala │ ├── SendHandlerPredicateUtil.scala │ └── TopicsUtil.scala ├── recos-injector/ │ ├── BUILD.bazel │ ├── CONFIG.ini │ ├── README.md │ └── server/ │ ├── BUILD │ ├── config/ │ │ ├── BUILD │ │ ├── change_log_config.ini │ │ └── decider.yml │ └── src/ │ └── main/ │ └── scala/ │ └── com/ │ └── twitter/ │ └── recosinjector/ │ ├── BUILD │ ├── Main.scala │ ├── clients/ │ │ ├── BUILD │ │ ├── Gizmoduck.scala │ │ ├── RecosHoseEntitiesCache.scala │ │ ├── SocialGraph.scala │ │ ├── Tweetypie.scala │ │ └── UrlResolver.scala │ ├── config/ │ │ ├── BUILD │ │ ├── CacheConfig.scala │ │ ├── Config.scala │ │ ├── DeployConfig.scala │ │ ├── ProdConfig.scala │ │ └── StagingConfig.scala │ ├── decider/ │ │ ├── BUILD │ │ └── RecosInjectorDecider.scala │ ├── edges/ │ │ ├── BUILD │ │ ├── Edges.scala │ │ ├── EventToMessageBuilder.scala │ │ ├── SocialWriteEventToUserUserGraphBuilder.scala │ │ ├── TimelineEventToUserTweetEntityGraphBuilder.scala │ │ ├── TimelineEventToUserTweetGraphBuilder.scala │ │ ├── TweetEventToUserTweetEntityGraphBuilder.scala │ │ ├── TweetEventToUserTweetGraphBuilder.scala │ │ ├── TweetEventToUserUserGraphBuilder.scala │ │ ├── UnifiedUserActionToUserAdGraphBuilder.scala │ │ ├── UnifiedUserActionToUserTweetGraphPlusBuilder.scala │ │ ├── UnifiedUserActionToUserVideoGraphBuilder.scala │ │ └── UserTweetEntityEdgeBuilder.scala │ ├── event_processors/ │ │ ├── BUILD │ │ ├── EventBusProcessor.scala │ │ ├── SocialWriteEventProcessor.scala │ │ ├── TimelineEventProcessor.scala │ │ └── TweetEventProcessor.scala │ ├── filters/ │ │ ├── BUILD │ │ ├── NullCastTweetFilter.scala │ │ ├── TweetFilter.scala │ │ └── UserFilter.scala │ ├── publishers/ │ │ ├── BUILD │ │ └── KafkaEventPublisher.scala │ ├── util/ │ │ ├── BUILD │ │ └── EventDetails.scala │ └── uua_processors/ │ ├── BUILD │ ├── UnifiedUserActionProcessor.scala │ └── UnifiedUserActionsConsumer.scala ├── representation-manager/ │ ├── BUILD.bazel │ ├── README.md │ ├── bin/ │ │ └── deploy.sh │ ├── client/ │ │ └── src/ │ │ └── main/ │ │ └── scala/ │ │ └── com/ │ │ └── twitter/ │ │ └── representation_manager/ │ │ ├── BUILD │ │ ├── StoreBuilder.scala │ │ └── config/ │ │ ├── BUILD │ │ ├── ClientConfig.scala │ │ └── InMemoryCacheConfig.scala │ └── server/ │ ├── BUILD │ └── src/ │ └── main/ │ ├── resources/ │ │ ├── BUILD │ │ ├── config/ │ │ │ └── decider.yml │ │ └── logback.xml │ ├── scala/ │ │ └── com/ │ │ └── twitter/ │ │ └── representation_manager/ │ │ ├── BUILD │ │ ├── RepresentationManagerFedServer.scala │ │ ├── columns/ │ │ │ ├── BUILD │ │ │ ├── ColumnConfigBase.scala │ │ │ ├── topic/ │ │ │ │ ├── BUILD │ │ │ │ ├── LocaleEntityIdSimClustersEmbeddingCol.scala │ │ │ │ └── TopicIdSimClustersEmbeddingCol.scala │ │ │ ├── tweet/ │ │ │ │ ├── BUILD │ │ │ │ └── TweetSimClustersEmbeddingCol.scala │ │ │ └── user/ │ │ │ ├── BUILD │ │ │ └── UserSimClustersEmbeddingCol.scala │ │ ├── common/ │ │ │ ├── BUILD │ │ │ ├── MemCacheConfig.scala │ │ │ └── RepresentationManagerDecider.scala │ │ ├── migration/ │ │ │ ├── BUILD │ │ │ └── LegacyRMS.scala │ │ ├── modules/ │ │ │ ├── BUILD │ │ │ ├── CacheModule.scala │ │ │ ├── InterestsThriftClientModule.scala │ │ │ ├── LegacyRMSConfigModule.scala │ │ │ ├── StoreModule.scala │ │ │ ├── TimerModule.scala │ │ │ └── UttClientModule.scala │ │ └── store/ │ │ ├── BUILD │ │ ├── DeciderConstants.scala │ │ ├── TopicSimClustersEmbeddingStore.scala │ │ ├── TweetSimClustersEmbeddingStore.scala │ │ └── UserSimClustersEmbeddingStore.scala │ └── thrift/ │ ├── BUILD │ └── com/ │ └── twitter/ │ └── representation_manager/ │ └── service.thrift ├── representation-scorer/ │ ├── BUILD.bazel │ ├── README.md │ ├── bin/ │ │ ├── canary-check.sh │ │ ├── deploy.sh │ │ └── remote-debug-tunnel.sh │ ├── docs/ │ │ └── index.rst │ └── server/ │ ├── BUILD │ └── src/ │ └── main/ │ ├── resources/ │ │ ├── BUILD │ │ ├── com/ │ │ │ └── twitter/ │ │ │ └── slo/ │ │ │ └── slo.json │ │ ├── config/ │ │ │ └── decider.yml │ │ └── logback.xml │ ├── scala/ │ │ └── com/ │ │ └── twitter/ │ │ └── representationscorer/ │ │ ├── BUILD │ │ ├── RepresentationScorerFedServer.scala │ │ ├── columns/ │ │ │ ├── BUILD │ │ │ ├── Info.scala │ │ │ ├── ListScoreColumn.scala │ │ │ ├── ScoreColumn.scala │ │ │ ├── SimClustersRecentEngagementSimilarityColumn.scala │ │ │ └── SimClustersRecentEngagementSimilarityUserTweetEdgeColumn.scala │ │ ├── common/ │ │ │ ├── BUILD │ │ │ ├── DeciderConstants.scala │ │ │ ├── RepresentationScorerDecider.scala │ │ │ └── package.scala │ │ ├── modules/ │ │ │ ├── BUILD │ │ │ ├── CacheModule.scala │ │ │ ├── EmbeddingStoreModule.scala │ │ │ ├── RMSConfigModule.scala │ │ │ └── TimerModule.scala │ │ ├── scorestore/ │ │ │ ├── BUILD │ │ │ ├── ScoreStore.scala │ │ │ ├── TopicTweetCertoScoreStore.scala │ │ │ ├── TopicTweetRankingScoreStore.scala │ │ │ └── TopicTweetsCosineSimilarityAggregateStore.scala │ │ └── twistlyfeatures/ │ │ ├── BUILD │ │ ├── Engagements.scala │ │ ├── ScoreResult.scala │ │ ├── Scorer.scala │ │ ├── UserSignalServiceRecentEngagementsClient.scala │ │ └── UserSignalServiceRecentEngagementsClientModule.scala │ └── thrift/ │ ├── BUILD │ └── com/ │ └── twitter/ │ └── representationscorer/ │ └── service.thrift ├── science/ │ └── search/ │ └── ingester/ │ └── config/ │ ├── README.md │ ├── pipeline-indexer.userupdates.xml │ ├── pipeline-ingester.protected.xml │ ├── pipeline-ingester.realtime.xml │ └── pipeline-ingester.realtime_cg.xml ├── simclusters-ann/ │ ├── BUILD.bazel │ ├── README.md │ ├── server/ │ │ ├── BUILD │ │ └── src/ │ │ └── main/ │ │ ├── resources/ │ │ │ ├── BUILD │ │ │ ├── config/ │ │ │ │ └── decider.yml │ │ │ └── logback.xml │ │ └── scala/ │ │ └── com/ │ │ └── twitter/ │ │ └── simclustersann/ │ │ ├── BUILD │ │ ├── SimclustersAnnServer.scala │ │ ├── SimclustersAnnWarmupHandler.scala │ │ ├── candidate_source/ │ │ │ ├── ApproximateCosineSimilarity.scala │ │ │ ├── BUILD │ │ │ ├── ExperimentalApproximateCosineSimilarity.scala │ │ │ ├── OptimizedApproximateCosineSimilarity.scala │ │ │ └── SimClustersANNCandidateSource.scala │ │ ├── common/ │ │ │ ├── BUILD │ │ │ └── FlagNames.scala │ │ ├── controllers/ │ │ │ ├── BUILD │ │ │ └── SimClustersANNController.scala │ │ ├── exceptions/ │ │ │ ├── BUILD │ │ │ ├── InvalidRequestForSimClustersAnnVariantException.scala │ │ │ ├── InvalidRequestForSimClustersAnnVariantExceptionMapper.scala │ │ │ └── MissingClusterConfigForSimClustersAnnVariantException.scala │ │ ├── filters/ │ │ │ ├── BUILD │ │ │ ├── GetTweetCandidatesResponseStatsFilter.scala │ │ │ └── SimClustersAnnVariantFilter.scala │ │ └── modules/ │ │ ├── BUILD │ │ ├── CacheModule.scala │ │ ├── ClusterConfigMapperModule.scala │ │ ├── ClusterConfigModule.scala │ │ ├── ClusterTweetIndexProviderModule.scala │ │ ├── CustomMtlsThriftWebFormsModule.scala │ │ ├── EmbeddingStoreModule.scala │ │ ├── FlagsModule.scala │ │ ├── FuturePoolProvider.scala │ │ ├── RateLimiterModule.scala │ │ ├── ServiceNameMapperModule.scala │ │ ├── SimClustersANNCandidateSourceModule.scala │ │ └── StratoClientProviderModule.scala │ └── thrift/ │ └── src/ │ └── main/ │ └── thrift/ │ ├── BUILD │ └── simClustersAnn.thrift ├── src/ │ ├── java/ │ │ └── com/ │ │ └── twitter/ │ │ └── search/ │ │ ├── README.md │ │ ├── common/ │ │ │ ├── README.md │ │ │ ├── converter/ │ │ │ │ └── earlybird/ │ │ │ │ ├── BUILD │ │ │ │ ├── BasicIndexingConverter.java │ │ │ │ ├── CombinedIndexingConverter.java │ │ │ │ ├── DelayedIndexingConverter.java │ │ │ │ └── EncodedFeatureBuilder.java │ │ │ ├── encoding/ │ │ │ │ ├── docvalues/ │ │ │ │ │ ├── BUILD │ │ │ │ │ └── CSFTypeUtil.java │ │ │ │ └── features/ │ │ │ │ ├── BUILD │ │ │ │ ├── BinByteNormalizer.java │ │ │ │ ├── ByteNormalizer.java │ │ │ │ ├── ClampByteNormalizer.java │ │ │ │ ├── EncodedFeatures.java │ │ │ │ ├── IntNormalizer.java │ │ │ │ ├── IntegerEncodedFeatures.java │ │ │ │ ├── LogByteNormalizer.java │ │ │ │ ├── PredictionScoreNormalizer.java │ │ │ │ ├── SingleBytePositiveFloatNormalizer.java │ │ │ │ ├── SingleBytePositiveFloatUtil.java │ │ │ │ └── SmartIntegerNormalizer.java │ │ │ ├── query/ │ │ │ │ ├── BUILD │ │ │ │ ├── BoostUtils.java │ │ │ │ ├── CollectAnnotationsVisitor.java │ │ │ │ ├── CollectQueryTypeVisitor.java │ │ │ │ ├── CollectVariantVisitor.java │ │ │ │ ├── DefaultFilterWeight.java │ │ │ │ ├── DocIdFilter.java │ │ │ │ ├── FieldRankHitInfo.java │ │ │ │ ├── FieldWeightUtil.java │ │ │ │ ├── FilteredQuery.java │ │ │ │ ├── FilteredScorer.java │ │ │ │ ├── HitAttributeCollector.java │ │ │ │ ├── HitAttributeHelper.java │ │ │ │ ├── HitAttributeProvider.java │ │ │ │ ├── IDDisjunctionQuery.java │ │ │ │ ├── IdentifiableQuery.java │ │ │ │ ├── IdentifiableQueryScorer.java │ │ │ │ ├── IdentifiableQueryWeight.java │ │ │ │ ├── MappableField.java │ │ │ │ ├── MultiTermDisjunctionQuery.java │ │ │ │ ├── QueryCommonFieldHitsVisitor.java │ │ │ │ ├── QueryHitAttributeHelper.java │ │ │ │ ├── QueryRankVisitor.java │ │ │ │ ├── SingleDocDocIdSetIterator.java │ │ │ │ └── StaticHitAttributeProvider.java │ │ │ ├── relevance/ │ │ │ │ ├── BUILD │ │ │ │ ├── NGramCache.java │ │ │ │ ├── TrendsThriftDataServiceManager.java │ │ │ │ ├── classifiers/ │ │ │ │ │ ├── TweetClassifier.java │ │ │ │ │ ├── TweetEvaluator.java │ │ │ │ │ ├── TweetOffensiveEvaluator.java │ │ │ │ │ ├── TweetQualityFeatureExtractor.java │ │ │ │ │ ├── TweetTextClassifier.java │ │ │ │ │ ├── TweetTextEvaluator.java │ │ │ │ │ └── TweetTrendsExtractor.java │ │ │ │ ├── config/ │ │ │ │ │ └── TweetProcessingConfig.java │ │ │ │ ├── entities/ │ │ │ │ │ ├── GeoObject.java │ │ │ │ │ ├── PotentialLocationObject.java │ │ │ │ │ ├── TwitterMessage.java │ │ │ │ │ ├── TwitterMessageUser.java │ │ │ │ │ ├── TwitterMessageUtil.java │ │ │ │ │ ├── TwitterQuotedMessage.java │ │ │ │ │ └── TwitterRetweetMessage.java │ │ │ │ ├── features/ │ │ │ │ │ ├── AgeDecay.java │ │ │ │ │ ├── BUILD │ │ │ │ │ ├── EarlybirdDocumentFeatures.java │ │ │ │ │ ├── FeatureSink.java │ │ │ │ │ ├── IntNormalizers.java │ │ │ │ │ ├── MutableFeatureNormalizers.java │ │ │ │ │ ├── QueryFeatureType.java │ │ │ │ │ ├── RelevanceSignalConstants.java │ │ │ │ │ ├── ScoringUtils.java │ │ │ │ │ ├── TermVector.java │ │ │ │ │ ├── TweetEngagementFeatures.java │ │ │ │ │ ├── TweetFeatureType.java │ │ │ │ │ ├── TweetFeatures.java │ │ │ │ │ ├── TweetIntegerShingleSignature.java │ │ │ │ │ ├── TweetSignatureUtil.java │ │ │ │ │ ├── TweetTextFeatures.java │ │ │ │ │ ├── TweetTextQuality.java │ │ │ │ │ └── TweetUserFeatures.java │ │ │ │ ├── scorers/ │ │ │ │ │ ├── TweetScorer.java │ │ │ │ │ └── TweetTextScorer.java │ │ │ │ └── text/ │ │ │ │ ├── LocationUtils.java │ │ │ │ ├── TweetParser.java │ │ │ │ └── VisibleTokenRatioNormalizer.java │ │ │ ├── schema/ │ │ │ │ ├── AnalyzerFactory.java │ │ │ │ ├── BUILD │ │ │ │ ├── DynamicSchema.java │ │ │ │ ├── ImmutableSchema.java │ │ │ │ ├── NumericField.java │ │ │ │ ├── SchemaBuilder.java │ │ │ │ ├── SchemaDocumentFactory.java │ │ │ │ ├── SchemaUtil.java │ │ │ │ ├── SearchWhitespaceAnalyzer.java │ │ │ │ ├── ThriftDocumentBuilder.java │ │ │ │ ├── base/ │ │ │ │ │ ├── BUILD │ │ │ │ │ ├── EarlybirdFieldType.java │ │ │ │ │ ├── FeatureConfiguration.java │ │ │ │ │ ├── FieldNameToIdMapping.java │ │ │ │ │ ├── FieldWeightDefault.java │ │ │ │ │ ├── ImmutableSchemaInterface.java │ │ │ │ │ ├── IndexedNumericFieldSettings.java │ │ │ │ │ ├── Schema.java │ │ │ │ │ └── ThriftDocumentUtil.java │ │ │ │ └── earlybird/ │ │ │ │ ├── BUILD │ │ │ │ ├── EarlybirdCluster.java │ │ │ │ ├── EarlybirdEncodedFeatures.java │ │ │ │ ├── EarlybirdEncodedFeaturesUtil.java │ │ │ │ ├── EarlybirdFieldConstants.java │ │ │ │ ├── EarlybirdSchemaBuilder.java │ │ │ │ ├── EarlybirdSchemaCreateTool.java │ │ │ │ ├── EarlybirdThriftDocumentBuilder.java │ │ │ │ ├── EarlybirdThriftDocumentUtil.java │ │ │ │ └── FlushVersion.java │ │ │ ├── search/ │ │ │ │ ├── AndNotDocIdSetIterator.java │ │ │ │ ├── BUILD │ │ │ │ ├── DelegatingEarlyTerminationCollector.java │ │ │ │ ├── DocIdTracker.java │ │ │ │ ├── EarlyTerminationState.java │ │ │ │ ├── GeoQuadTreeQueryBuilderUtil.java │ │ │ │ ├── IntArrayDocIdSetIterator.java │ │ │ │ ├── PairDocIdSetIterator.java │ │ │ │ ├── QueryCostProvider.java │ │ │ │ ├── TerminationTracker.java │ │ │ │ ├── TwitterCollector.java │ │ │ │ ├── TwitterEarlyTerminationCollector.java │ │ │ │ ├── TwitterIndexSearcher.java │ │ │ │ └── termination/ │ │ │ │ ├── BUILD │ │ │ │ ├── QueryTimeout.java │ │ │ │ ├── QueryTimeoutFactory.java │ │ │ │ ├── QueryTimeoutImpl.java │ │ │ │ ├── TerminationQuery.java │ │ │ │ ├── TerminationQueryScorer.java │ │ │ │ └── TerminationQueryWeight.java │ │ │ └── util/ │ │ │ ├── earlybird/ │ │ │ │ ├── BUILD │ │ │ │ ├── EarlybirdResponseMergeUtil.java │ │ │ │ ├── EarlybirdResponseUtil.java │ │ │ │ ├── FacetsResultsUtils.java │ │ │ │ ├── ResponseMergerUtils.java │ │ │ │ ├── ResultsUtil.java │ │ │ │ ├── TermStatisticsUtil.java │ │ │ │ ├── ThriftSearchQueryUtil.java │ │ │ │ ├── ThriftSearchResultUtil.java │ │ │ │ └── ThriftSearchResultsRelevanceStatsUtil.java │ │ │ ├── lang/ │ │ │ │ ├── BUILD │ │ │ │ └── ThriftLanguageUtil.java │ │ │ └── ml/ │ │ │ ├── BUILD │ │ │ ├── EnumBasedLinearModel.java │ │ │ ├── FeatureUtils.java │ │ │ ├── MapBasedLinearModel.java │ │ │ ├── StringMapBasedLinearModel.java │ │ │ ├── models_manager/ │ │ │ │ ├── BUILD │ │ │ │ └── BaseModelsManager.java │ │ │ ├── prediction_engine/ │ │ │ │ ├── BUILD │ │ │ │ ├── BaseLegacyScoreAccumulator.java │ │ │ │ ├── BaseModelBuilder.java │ │ │ │ ├── BaseScoreAccumulator.java │ │ │ │ ├── CompositeFeatureContext.java │ │ │ │ ├── DecisionForestModelsManager.java │ │ │ │ ├── DiscretizedFeature.java │ │ │ │ ├── DiscretizedFeatureRange.java │ │ │ │ ├── LegacyModelBuilder.java │ │ │ │ ├── LightweightLinearModel.java │ │ │ │ ├── ModelBuilder.java │ │ │ │ ├── ModelLoader.java │ │ │ │ ├── PredictionEngineModelsManager.java │ │ │ │ ├── SchemaBasedModelBuilder.java │ │ │ │ └── SchemaBasedScoreAccumulator.java │ │ │ └── tensorflow_engine/ │ │ │ ├── BUILD │ │ │ └── TensorflowModelsManager.java │ │ ├── core/ │ │ │ └── earlybird/ │ │ │ ├── BUILD │ │ │ ├── README.md │ │ │ ├── facets/ │ │ │ │ ├── AbstractFacetCountingArray.java │ │ │ │ ├── CSFFacetCountIterator.java │ │ │ │ ├── CompositeFacetCountIterator.java │ │ │ │ ├── DummyFacetAccumulator.java │ │ │ │ ├── EarlybirdFacetDocValueSet.java │ │ │ │ ├── EarlybirdFacets.java │ │ │ │ ├── EarlybirdFacetsFactory.java │ │ │ │ ├── FacetAccumulator.java │ │ │ │ ├── FacetCountAggregator.java │ │ │ │ ├── FacetCountIterator.java │ │ │ │ ├── FacetCountIteratorFactory.java │ │ │ │ ├── FacetCountState.java │ │ │ │ ├── FacetCountingArray.java │ │ │ │ ├── FacetCountingArrayWriter.java │ │ │ │ ├── FacetIDMap.java │ │ │ │ ├── FacetLabelProvider.java │ │ │ │ ├── FacetResponseRewriter.java │ │ │ │ ├── FacetTermCollector.java │ │ │ │ ├── FacetUtil.java │ │ │ │ ├── LanguageHistogram.java │ │ │ │ ├── OptimizedFacetCountingArray.java │ │ │ │ ├── PerfieldFacetCountAggregator.java │ │ │ │ ├── SortedSetDocValuesFacetsFactory.java │ │ │ │ └── SortedSetDocValuesReaderStateHelper.java │ │ │ └── index/ │ │ │ ├── DocIDToTweetIDMapper.java │ │ │ ├── EarlybirdIndexSegmentAtomicReader.java │ │ │ ├── EarlybirdIndexSegmentData.java │ │ │ ├── EarlybirdIndexSegmentWriter.java │ │ │ ├── EarlybirdIndexableField.java │ │ │ ├── EarlybirdLuceneIndexSegmentAtomicReader.java │ │ │ ├── EarlybirdLuceneIndexSegmentData.java │ │ │ ├── EarlybirdLuceneIndexSegmentWriter.java │ │ │ ├── EarlybirdRealtimeIndexSegmentAtomicReader.java │ │ │ ├── EarlybirdRealtimeIndexSegmentData.java │ │ │ ├── EarlybirdRealtimeIndexSegmentWriter.java │ │ │ ├── QueryCacheResultForSegment.java │ │ │ ├── SequentialDocIDMapper.java │ │ │ ├── TimeMapper.java │ │ │ ├── column/ │ │ │ │ ├── AbstractColumnStrideMultiIntIndex.java │ │ │ │ ├── ColumnStrideByteIndex.java │ │ │ │ ├── ColumnStrideFieldDocValues.java │ │ │ │ ├── ColumnStrideFieldIndex.java │ │ │ │ ├── ColumnStrideIntIndex.java │ │ │ │ ├── ColumnStrideIntViewIndex.java │ │ │ │ ├── ColumnStrideLongIndex.java │ │ │ │ ├── ColumnStrideMultiIntIndex.java │ │ │ │ ├── ConstantColumnStrideFieldIndex.java │ │ │ │ ├── DocValuesManager.java │ │ │ │ ├── DocValuesUpdate.java │ │ │ │ ├── OptimizedColumnStrideByteIndex.java │ │ │ │ ├── OptimizedColumnStrideIntIndex.java │ │ │ │ ├── OptimizedColumnStrideLongIndex.java │ │ │ │ ├── OptimizedColumnStrideMultiIntIndex.java │ │ │ │ ├── OptimizedDocValuesManager.java │ │ │ │ └── UnoptimizedDocValuesManager.java │ │ │ ├── extensions/ │ │ │ │ ├── EarlybirdIndexExtensionsData.java │ │ │ │ ├── EarlybirdIndexExtensionsFactory.java │ │ │ │ └── EarlybirdRealtimeIndexExtensionsData.java │ │ │ ├── inverted/ │ │ │ │ ├── BaseByteBlockPool.java │ │ │ │ ├── ByteBlockPool.java │ │ │ │ ├── ByteTermUtils.java │ │ │ │ ├── DeletedDocs.java │ │ │ │ ├── EarlybirdCSFDocValuesProcessor.java │ │ │ │ ├── EarlybirdOptimizedPostingsEnum.java │ │ │ │ ├── EarlybirdPostingsEnum.java │ │ │ │ ├── FSTTermDictionary.java │ │ │ │ ├── HighDFPackedIntsDocsAndPositionsEnum.java │ │ │ │ ├── HighDFPackedIntsDocsEnum.java │ │ │ │ ├── HighDFPackedIntsPostingLists.java │ │ │ │ ├── HighDFPackedIntsSkipListReader.java │ │ │ │ ├── InMemoryFields.java │ │ │ │ ├── IndexOptimizer.java │ │ │ │ ├── IntBlockPool.java │ │ │ │ ├── IntBlockPoolPackedLongsReader.java │ │ │ │ ├── IntBlockPoolPackedLongsWriter.java │ │ │ │ ├── InvertedIndex.java │ │ │ │ ├── InvertedRealtimeIndex.java │ │ │ │ ├── InvertedRealtimeIndexWriter.java │ │ │ │ ├── LowDFPackedIntsPostingLists.java │ │ │ │ ├── LowDFPackedIntsPostingsEnum.java │ │ │ │ ├── MPHTermDictionary.java │ │ │ │ ├── MultiPostingLists.java │ │ │ │ ├── MultiSegmentTermDictionary.java │ │ │ │ ├── MultiSegmentTermDictionaryWithFastutil.java │ │ │ │ ├── MultiSegmentTermDictionaryWithMap.java │ │ │ │ ├── OptimizedIndexTerms.java │ │ │ │ ├── OptimizedMemoryIndex.java │ │ │ │ ├── OptimizedPostingLists.java │ │ │ │ ├── OptimizingPostingsEnumWrapper.java │ │ │ │ ├── PackedLongsReaderPreComputedValues.java │ │ │ │ ├── PayloadUtil.java │ │ │ │ ├── PostingsBufferQueue.java │ │ │ │ ├── QueryCostTracker.java │ │ │ │ ├── RealtimeIndexTerms.java │ │ │ │ ├── SkipListComparator.java │ │ │ │ ├── SkipListContainer.java │ │ │ │ ├── SkipListIntegerComparator.java │ │ │ │ ├── SkipListPostingList.java │ │ │ │ ├── SkipListPostingsEnum.java │ │ │ │ ├── SkipListSearchFinger.java │ │ │ │ ├── TermDictionary.java │ │ │ │ ├── TermPointerEncoding.java │ │ │ │ └── TermsArray.java │ │ │ └── util/ │ │ │ ├── AllDocsIterator.java │ │ │ ├── RangeDISI.java │ │ │ ├── RangeFilterDISI.java │ │ │ └── SearchSortUtils.java │ │ ├── earlybird/ │ │ │ ├── BUILD │ │ │ ├── CONFIG.ini │ │ │ ├── Earlybird.java │ │ │ ├── EarlybirdCPUQualityFactor.java │ │ │ ├── EarlybirdDarkProxy.java │ │ │ ├── EarlybirdFinagleServerManager.java │ │ │ ├── EarlybirdFuturePoolManager.java │ │ │ ├── EarlybirdIndexConfig.java │ │ │ ├── EarlybirdMain.java │ │ │ ├── EarlybirdProductionFinagleServerManager.java │ │ │ ├── EarlybirdSearcher.java │ │ │ ├── EarlybirdServer.java │ │ │ ├── EarlybirdServerSetManager.java │ │ │ ├── EarlybirdStatus.java │ │ │ ├── EarlybirdWarmUpManager.java │ │ │ ├── QualityFactor.java │ │ │ ├── README.md │ │ │ ├── RealtimeEarlybirdIndexConfig.java │ │ │ ├── RecentTweetRestriction.java │ │ │ ├── ServerSetMember.java │ │ │ ├── UpdateableEarlybirdStateManager.java │ │ │ ├── archive/ │ │ │ │ ├── ArchiveEarlybirdIndexConfig.java │ │ │ │ ├── ArchiveHDFSUtils.java │ │ │ │ ├── ArchiveOnDiskEarlybirdIndexConfig.java │ │ │ │ ├── ArchiveSearchPartitionManager.java │ │ │ │ ├── ArchiveSegment.java │ │ │ │ ├── ArchiveSegmentDataProvider.java │ │ │ │ ├── ArchiveSegmentUpdater.java │ │ │ │ ├── ArchiveSegmentVerifier.java │ │ │ │ ├── ArchiveTimeSlicer.java │ │ │ │ ├── DailyStatusBatch.java │ │ │ │ ├── DailyStatusBatches.java │ │ │ │ ├── PartitionedBatch.java │ │ │ │ └── segmentbuilder/ │ │ │ │ ├── BUILD.bazel │ │ │ │ ├── BuiltAndFinalizedSegment.java │ │ │ │ ├── NotYetBuiltSegment.java │ │ │ │ ├── RateLimitingSegmentHandler.java │ │ │ │ ├── SegmentBuilder.java │ │ │ │ ├── SegmentBuilderApp.java │ │ │ │ ├── SegmentBuilderCoordinator.java │ │ │ │ ├── SegmentBuilderMain.java │ │ │ │ ├── SegmentBuilderModule.java │ │ │ │ ├── SegmentBuilderSegment.java │ │ │ │ ├── SegmentConfig.java │ │ │ │ ├── SegmentInfoConstructionException.java │ │ │ │ ├── SegmentUpdaterException.java │ │ │ │ └── SomeoneElseIsBuildingSegment.java │ │ │ ├── common/ │ │ │ │ ├── BUILD │ │ │ │ ├── Base64RequestResponseForLogging.java │ │ │ │ ├── CaughtUpMonitor.java │ │ │ │ ├── ClientIdUtil.java │ │ │ │ ├── EarlybirdRequestLogger.java │ │ │ │ ├── EarlybirdRequestPostLogger.java │ │ │ │ ├── EarlybirdRequestPreLogger.java │ │ │ │ ├── EarlybirdRequestUtil.java │ │ │ │ ├── EarlybirdThriftBackend.java │ │ │ │ ├── NonPagingAssert.java │ │ │ │ ├── RequestResponseForLogging.java │ │ │ │ ├── RequestResponsePair.java │ │ │ │ ├── UnknownClientRequestForLogging.java │ │ │ │ ├── config/ │ │ │ │ │ ├── BUILD │ │ │ │ │ ├── EarlybirdConfig.java │ │ │ │ │ └── EarlybirdProperty.java │ │ │ │ └── userupdates/ │ │ │ │ ├── BUILD │ │ │ │ ├── UserScrubGeoMap.java │ │ │ │ ├── UserTable.java │ │ │ │ ├── UserTableBuilderFromSnapshot.java │ │ │ │ ├── UserUpdate.java │ │ │ │ └── UserUpdatesChecker.java │ │ │ ├── config/ │ │ │ │ ├── BUILD │ │ │ │ ├── ServingRange.java │ │ │ │ ├── TierConfig.java │ │ │ │ ├── TierInfo.java │ │ │ │ ├── TierInfoSource.java │ │ │ │ ├── TierInfoUtil.java │ │ │ │ ├── TierInfoWrapper.java │ │ │ │ └── TierServingBoundaryEndPoint.java │ │ │ ├── document/ │ │ │ │ ├── DeletedStatus.java │ │ │ │ ├── DocumentFactory.java │ │ │ │ ├── ThriftDocumentPreprocessor.java │ │ │ │ ├── ThriftIndexingEventDocumentFactory.java │ │ │ │ ├── ThriftIndexingEventUpdateFactory.java │ │ │ │ ├── TimeSlicedThriftIndexingEvent.java │ │ │ │ ├── TruncationTokenStreamWriter.java │ │ │ │ └── TweetDocument.java │ │ │ ├── exception/ │ │ │ │ ├── AlreadyInServerSetUpdateException.java │ │ │ │ ├── BadRequestException.java │ │ │ │ ├── ClientException.java │ │ │ │ ├── CriticalExceptionHandler.java │ │ │ │ ├── EarlybirdException.java │ │ │ │ ├── EarlybirdFinagleServerMonitor.java │ │ │ │ ├── EarlybirdRuntimeException.java │ │ │ │ ├── EarlybirdStartupException.java │ │ │ │ ├── FlushVersionMismatchException.java │ │ │ │ ├── MissingKafkaTopicException.java │ │ │ │ ├── MissingUserException.java │ │ │ │ ├── NotInServerSetUpdateException.java │ │ │ │ ├── TransientException.java │ │ │ │ ├── UncaughtExceptionHandler.java │ │ │ │ └── WrappedKafkaApiException.java │ │ │ ├── factory/ │ │ │ │ ├── EarlybirdIndexConfigUtil.java │ │ │ │ ├── EarlybirdKafkaConsumersFactory.java │ │ │ │ ├── EarlybirdServerFactory.java │ │ │ │ ├── EarlybirdWireModule.java │ │ │ │ ├── PartitionConfigUtil.java │ │ │ │ ├── ProductionEarlybirdKafkaConsumersFactory.java │ │ │ │ └── QueryCacheUpdaterScheduledExecutorService.java │ │ │ ├── index/ │ │ │ │ ├── AbstractInMemoryTimeMapper.java │ │ │ │ ├── DocValuesBasedTimeMapper.java │ │ │ │ ├── DocValuesBasedTweetIDMapper.java │ │ │ │ ├── DocValuesHelper.java │ │ │ │ ├── EarlybirdSegment.java │ │ │ │ ├── EarlybirdSegmentFactory.java │ │ │ │ ├── EarlybirdSingleSegmentSearcher.java │ │ │ │ ├── OptimizedTimeMapper.java │ │ │ │ ├── OptimizedTweetIDMapper.java │ │ │ │ ├── OutOfOrderRealtimeTweetIDMapper.java │ │ │ │ ├── RealtimeTimeMapper.java │ │ │ │ ├── TimeMappingWriter.java │ │ │ │ ├── TweetIDMapper.java │ │ │ │ ├── TweetIDQuery.java │ │ │ │ ├── TweetIDToInternalIDMap.java │ │ │ │ ├── TweetSearchIndexExtensionsFactory.java │ │ │ │ ├── TweetSearchLuceneIndexExtensionsData.java │ │ │ │ ├── TweetSearchRealtimeIndexExtensionsData.java │ │ │ │ └── facets/ │ │ │ │ ├── BUILD │ │ │ │ └── FacetSkipList.java │ │ │ ├── ml/ │ │ │ │ └── ScoringModelsManager.java │ │ │ ├── partition/ │ │ │ │ ├── AudioSpaceEventsStreamIndexer.java │ │ │ │ ├── AudioSpaceTable.java │ │ │ │ ├── BalancingKafkaConsumer.java │ │ │ │ ├── CompleteSegmentManager.java │ │ │ │ ├── DynamicPartitionConfig.java │ │ │ │ ├── EarlybirdIndex.java │ │ │ │ ├── EarlybirdIndexFlusher.java │ │ │ │ ├── EarlybirdIndexLoader.java │ │ │ │ ├── EarlybirdKafkaConsumer.java │ │ │ │ ├── EarlybirdStartup.java │ │ │ │ ├── FlowControlException.java │ │ │ │ ├── HdfsUtil.java │ │ │ │ ├── ISegmentWriter.java │ │ │ │ ├── IndexingResultCounts.java │ │ │ │ ├── InstrumentedQueue.java │ │ │ │ ├── KafkaStartup.java │ │ │ │ ├── MultiSegmentTermDictionaryManager.java │ │ │ │ ├── OptimizationAndFlushingCoordinationLock.java │ │ │ │ ├── OptimizingSegmentWriter.java │ │ │ │ ├── PartitionConfig.java │ │ │ │ ├── PartitionConfigLoader.java │ │ │ │ ├── PartitionConfigLoadingException.java │ │ │ │ ├── PartitionManager.java │ │ │ │ ├── PartitionManagerStartup.java │ │ │ │ ├── PartitionWriter.java │ │ │ │ ├── SearchIndexingMetricSet.java │ │ │ │ ├── SegmentHdfsFlusher.java │ │ │ │ ├── SegmentIndexStats.java │ │ │ │ ├── SegmentIndexStatsExporter.java │ │ │ │ ├── SegmentInfo.java │ │ │ │ ├── SegmentLoader.java │ │ │ │ ├── SegmentManager.java │ │ │ │ ├── SegmentOptimizer.java │ │ │ │ ├── SegmentSyncConfig.java │ │ │ │ ├── SegmentSyncInfo.java │ │ │ │ ├── SegmentVulture.java │ │ │ │ ├── SegmentWarmer.java │ │ │ │ ├── SegmentWriter.java │ │ │ │ ├── SimpleSegmentIndexer.java │ │ │ │ ├── SimpleStreamIndexer.java │ │ │ │ ├── SimpleUpdateIndexer.java │ │ │ │ ├── StartupUserEventIndexer.java │ │ │ │ ├── StatusBatchFlushVersion.java │ │ │ │ ├── TimeLimitedHadoopExistsCall.java │ │ │ │ ├── TweetCreateHandler.java │ │ │ │ ├── TweetUpdateHandler.java │ │ │ │ ├── UserPartitionUtil.java │ │ │ │ ├── UserScrubGeoEventStreamIndexer.java │ │ │ │ ├── UserUpdatesStreamIndexer.java │ │ │ │ └── freshstartup/ │ │ │ │ ├── FreshStartupHandler.java │ │ │ │ ├── KafkaOffsetPair.java │ │ │ │ ├── PostOptimizationUpdatesIndexer.java │ │ │ │ ├── PreOptimizationSegmentIndexer.java │ │ │ │ ├── SegmentBuildInfo.java │ │ │ │ ├── SegmentTweetsIndexingResult.java │ │ │ │ └── SkippedPickedCounter.java │ │ │ ├── querycache/ │ │ │ │ ├── CachedFilterQuery.java │ │ │ │ ├── CachedResultDocIdSetIterator.java │ │ │ │ ├── QueryCacheConfig.java │ │ │ │ ├── QueryCacheConversionRules.java │ │ │ │ ├── QueryCacheFilter.java │ │ │ │ ├── QueryCacheManager.java │ │ │ │ ├── QueryCacheResultCollector.java │ │ │ │ ├── QueryCacheUpdateTask.java │ │ │ │ └── QueryCacheUpdater.java │ │ │ ├── queryparser/ │ │ │ │ ├── DetectAntisocialVisitor.java │ │ │ │ ├── DetectFieldAnnotationVisitor.java │ │ │ │ ├── EarlybirdLuceneQueryVisitor.java │ │ │ │ ├── EarlybirdQueryHelper.java │ │ │ │ ├── HighFrequencyTermPairExtractor.java │ │ │ │ ├── HighFrequencyTermPairRewriteVisitor.java │ │ │ │ ├── HighFrequencyTermQueryGroup.java │ │ │ │ ├── LuceneRelevanceQueryVisitor.java │ │ │ │ └── ProtectedOperatorQueryRewriter.java │ │ │ ├── search/ │ │ │ │ ├── AbstractResultsCollector.java │ │ │ │ ├── AntiGamingFilter.java │ │ │ │ ├── EarlybirdLuceneSearcher.java │ │ │ │ ├── EarlybirdMultiSegmentSearcher.java │ │ │ │ ├── GeoQuadTreeQueryBuilder.java │ │ │ │ ├── Hit.java │ │ │ │ ├── SearchRequestInfo.java │ │ │ │ ├── SearchResultsCollector.java │ │ │ │ ├── SearchResultsInfo.java │ │ │ │ ├── SimpleSearchResults.java │ │ │ │ ├── SocialFilter.java │ │ │ │ ├── SocialSearchResultsCollector.java │ │ │ │ ├── facets/ │ │ │ │ │ ├── AbstractFacetTermCollector.java │ │ │ │ │ ├── DefaultFacetScorer.java │ │ │ │ │ ├── EntityAnnotationCollector.java │ │ │ │ │ ├── ExpandedUrlCollector.java │ │ │ │ │ ├── ExplainFacetResultsCollector.java │ │ │ │ │ ├── FacetLabelCollector.java │ │ │ │ │ ├── FacetRankingModule.java │ │ │ │ │ ├── FacetResultsCollector.java │ │ │ │ │ ├── FacetScorer.java │ │ │ │ │ ├── FacetSearchRequestInfo.java │ │ │ │ │ ├── HashingAndPruningFacetAccumulator.java │ │ │ │ │ ├── NamedEntityCollector.java │ │ │ │ │ ├── RetweetFacetCountIterator.java │ │ │ │ │ ├── SimpleCountRankingModule.java │ │ │ │ │ ├── SpaceFacetCollector.java │ │ │ │ │ ├── TermStatisticsCollector.java │ │ │ │ │ ├── TermStatisticsRequestInfo.java │ │ │ │ │ └── TweetSearchFacetCountIteratorFactory.java │ │ │ │ ├── queries/ │ │ │ │ │ ├── BadUserRepFilter.java │ │ │ │ │ ├── CSFDisjunctionFilter.java │ │ │ │ │ ├── DocValRangeFilter.java │ │ │ │ │ ├── FeatureValueInAcceptListOrUnsetFilter.java │ │ │ │ │ ├── GeoTwoPhaseQuery.java │ │ │ │ │ ├── MatchAllDocIdSet.java │ │ │ │ │ ├── MatchAllDocsQuery.java │ │ │ │ │ ├── RequiredStatusIDsFilter.java │ │ │ │ │ ├── SimpleTermQuery.java │ │ │ │ │ ├── SinceMaxIDFilter.java │ │ │ │ │ ├── SinceUntilFilter.java │ │ │ │ │ ├── TermQueryWithSafeToString.java │ │ │ │ │ ├── TimedDocIdSetIterator.java │ │ │ │ │ ├── UserFlagsExcludeFilter.java │ │ │ │ │ ├── UserIdMultiSegmentQuery.java │ │ │ │ │ └── UserScrubGeoFilter.java │ │ │ │ └── relevance/ │ │ │ │ ├── LinearScoringData.java │ │ │ │ ├── LinearScoringParams.java │ │ │ │ ├── MinFeatureValueFilter.java │ │ │ │ ├── RelevanceHit.java │ │ │ │ ├── RelevanceSearchRequestInfo.java │ │ │ │ ├── RelevanceSearchResults.java │ │ │ │ ├── ScoreFilterQuery.java │ │ │ │ ├── collectors/ │ │ │ │ │ ├── AbstractRelevanceCollector.java │ │ │ │ │ ├── BatchRelevanceTopCollector.java │ │ │ │ │ ├── RelevanceAllCollector.java │ │ │ │ │ └── RelevanceTopCollector.java │ │ │ │ └── scoring/ │ │ │ │ ├── BatchHit.java │ │ │ │ ├── DefaultScoringFunction.java │ │ │ │ ├── FeatureBasedScoringFunction.java │ │ │ │ ├── LegacyScoreAccumulator.java │ │ │ │ ├── LinearScoringFunction.java │ │ │ │ ├── ModelBasedScoringFunction.java │ │ │ │ ├── RelevanceQuery.java │ │ │ │ ├── RetweetBasedTopTweetsScoringFunction.java │ │ │ │ ├── ScoringFunction.java │ │ │ │ ├── ScoringFunctionProvider.java │ │ │ │ ├── SpamVectorScoringFunction.java │ │ │ │ ├── SparseTensor.java │ │ │ │ ├── TensorflowBasedScoringFunction.java │ │ │ │ └── TestScoringFunction.java │ │ │ ├── segment/ │ │ │ │ ├── DLSegmentDataProvider.java │ │ │ │ ├── DLSegmentDataReaderSet.java │ │ │ │ ├── EmptySegmentDataReaderSet.java │ │ │ │ ├── SegmentDataProvider.java │ │ │ │ ├── SegmentDataReaderSet.java │ │ │ │ └── SegmentProvider.java │ │ │ ├── stats/ │ │ │ │ ├── EarlybirdRPCStats.java │ │ │ │ ├── EarlybirdSearcherStats.java │ │ │ │ └── SegmentSyncStats.java │ │ │ ├── tools/ │ │ │ │ └── EarlybirdThriftRequestDeserializerUtil.java │ │ │ └── util/ │ │ │ ├── ActionLogger.java │ │ │ ├── CoordinatedEarlybirdAction.java │ │ │ ├── CoordinatedEarlybirdActionInterface.java │ │ │ ├── CoordinatedEarlybirdActionLockFailed.java │ │ │ ├── EarlybirdDecider.java │ │ │ ├── EarlybirdSearchResultUtil.java │ │ │ ├── FieldTermCounter.java │ │ │ ├── Histogram.java │ │ │ ├── IndexViewer.java │ │ │ ├── JsonViewerWriter.java │ │ │ ├── OneTaskScheduledExecutorManager.java │ │ │ ├── ParallelUtil.java │ │ │ ├── PeriodicActionParams.java │ │ │ ├── ScheduledExecutorManager.java │ │ │ ├── ScheduledExecutorTask.java │ │ │ ├── ScrubGenUtil.java │ │ │ ├── ShutdownWaitTimeParams.java │ │ │ ├── TermCountMonitor.java │ │ │ ├── TweetCountMonitor.java │ │ │ └── ViewerWriter.java │ │ ├── earlybird_root/ │ │ │ ├── BUILD │ │ │ ├── ClientBackupFilter.java │ │ │ ├── ClientLatencyFilter.java │ │ │ ├── EarlybirdCacheCommonModule.java │ │ │ ├── EarlybirdChainedScatterGatherService.java │ │ │ ├── EarlybirdCommonModule.java │ │ │ ├── EarlybirdFullArchiveScatterGatherSupport.java │ │ │ ├── EarlybirdProtectedScatterGatherSupport.java │ │ │ ├── EarlybirdProtectedValidationBehavior.java │ │ │ ├── EarlybirdProtectedWarmup.java │ │ │ ├── EarlybirdQueryRewriteFilter.java │ │ │ ├── EarlybirdRealtimeCgScatterGatherSupport.java │ │ │ ├── EarlybirdRealtimeScatterGatherSupport.java │ │ │ ├── EarlybirdRootQueryUtils.java │ │ │ ├── EarlybirdServiceChainBuilder.java │ │ │ ├── EarlybirdServiceLoggingSupport.java │ │ │ ├── EarlybirdServicePartitionLoggingSupport.java │ │ │ ├── EarlybirdServiceScatterGatherSupport.java │ │ │ ├── EarlybirdServiceValidationBehavior.java │ │ │ ├── EarlybirdTierThrottleDeciders.java │ │ │ ├── EarlybirdWarmup.java │ │ │ ├── ExceptionHandler.java │ │ │ ├── FullArchiveRootAppMain.java │ │ │ ├── FullArchiveRootModule.java │ │ │ ├── FullArchiveRootServer.java │ │ │ ├── FullArchiveRootService.java │ │ │ ├── InitializeFilter.java │ │ │ ├── MultiTierResultsMergeFilter.java │ │ │ ├── PartitionAccessController.java │ │ │ ├── ProtectedRootAppMain.java │ │ │ ├── ProtectedRootAppModule.java │ │ │ ├── ProtectedRootServer.java │ │ │ ├── ProtectedRootService.java │ │ │ ├── ProtectedScatterGatherModule.java │ │ │ ├── QuotaModule.java │ │ │ ├── README.md │ │ │ ├── RealtimeCgRootAppMain.java │ │ │ ├── RealtimeCgRootAppModule.java │ │ │ ├── RealtimeCgRootServer.java │ │ │ ├── RealtimeCgRootService.java │ │ │ ├── RealtimeCgScatterGatherModule.java │ │ │ ├── RealtimeRootAppMain.java │ │ │ ├── RealtimeRootAppModule.java │ │ │ ├── RealtimeRootServer.java │ │ │ ├── RealtimeRootService.java │ │ │ ├── RealtimeScatterGatherModule.java │ │ │ ├── RootResponseClassifier.java │ │ │ ├── ScatterGatherModule.java │ │ │ ├── SkipPartitionFilter.java │ │ │ ├── SuperRootAppMain.java │ │ │ ├── SuperRootAppModule.java │ │ │ ├── SuperRootRequestTypeRouter.java │ │ │ ├── SuperRootServer.java │ │ │ ├── SuperRootService.java │ │ │ ├── caching/ │ │ │ │ ├── BUILD │ │ │ │ ├── CacheCommonUtil.java │ │ │ │ ├── CacheStats.java │ │ │ │ ├── DefaultForcedCacheMissDecider.java │ │ │ │ ├── EarlybirdCachePostProcessor.java │ │ │ │ ├── EarlybirdRequestPerClientCacheStats.java │ │ │ │ ├── FacetsCache.java │ │ │ │ ├── FacetsCacheFilter.java │ │ │ │ ├── FacetsCacheRequestNormalizer.java │ │ │ │ ├── FacetsQueryCachePredicate.java │ │ │ │ ├── FacetsServicePostProcessor.java │ │ │ │ ├── RecencyAndRelevanceCachePostProcessor.java │ │ │ │ ├── RecencyCache.java │ │ │ │ ├── RecencyCacheFilter.java │ │ │ │ ├── RecencyCacheRequestNormalizer.java │ │ │ │ ├── RecencyQueryCachePredicate.java │ │ │ │ ├── RecencyServicePostProcessor.java │ │ │ │ ├── RelevanceCache.java │ │ │ │ ├── RelevanceCacheFilter.java │ │ │ │ ├── RelevanceCacheRequestNormalizer.java │ │ │ │ ├── RelevanceQueryCachePredicate.java │ │ │ │ ├── RelevanceServicePostProcessor.java │ │ │ │ ├── RelevanceZeroResultsCacheFilter.java │ │ │ │ ├── RelevanceZeroResultsCachePostProcessor.java │ │ │ │ ├── RelevanceZeroResultsCacheRequestNormalizer.java │ │ │ │ ├── RelevanceZeroResultsQueryCachePredicate.java │ │ │ │ ├── RelevanceZeroResultsServicePostProcessor.java │ │ │ │ ├── StrictRecencyCache.java │ │ │ │ ├── StrictRecencyCacheFilter.java │ │ │ │ ├── StrictRecencyQueryCachePredicate.java │ │ │ │ ├── TermStatsCache.java │ │ │ │ ├── TermStatsCacheFilter.java │ │ │ │ ├── TermStatsCacheRequestNormalizer.java │ │ │ │ ├── TermStatsQueryCachePredicate.java │ │ │ │ ├── TermStatsServicePostProcessor.java │ │ │ │ ├── TopTweetsCache.java │ │ │ │ ├── TopTweetsCacheFilter.java │ │ │ │ ├── TopTweetsCacheRequestNormalizer.java │ │ │ │ ├── TopTweetsQueryCachePredicate.java │ │ │ │ └── TopTweetsServicePostProcessor.java │ │ │ ├── collectors/ │ │ │ │ ├── BUILD │ │ │ │ ├── MultiwayMergeCollector.java │ │ │ │ ├── RecencyMergeCollector.java │ │ │ │ └── RelevanceMergeCollector.java │ │ │ ├── common/ │ │ │ │ ├── BUILD │ │ │ │ ├── ClientErrorException.java │ │ │ │ ├── EarlybirdFeatureSchemaMerger.java │ │ │ │ ├── EarlybirdRequestContext.java │ │ │ │ ├── EarlybirdRequestType.java │ │ │ │ ├── EarlybirdRequestUtil.java │ │ │ │ ├── EarlybirdServiceResponse.java │ │ │ │ ├── InjectionNames.java │ │ │ │ ├── QueryParsingUtils.java │ │ │ │ └── TwitterContextProvider.java │ │ │ ├── config/ │ │ │ │ ├── BUILD.bazel │ │ │ │ └── RootClusterBoundaryInfo.java │ │ │ ├── filters/ │ │ │ │ ├── BUILD │ │ │ │ ├── ClientIdArchiveAccessFilter.java │ │ │ │ ├── ClientIdQueryOperatorStatsFilter.java │ │ │ │ ├── ClientIdQuotaFilter.java │ │ │ │ ├── ClientIdTrackingFilter.java │ │ │ │ ├── ClientRequestTimeFilter.java │ │ │ │ ├── DeadlineTimeoutStatsFilter.java │ │ │ │ ├── DisableClientByTierFilter.java │ │ │ │ ├── DropAllProtectedOperatorFilter.java │ │ │ │ ├── EarlybirdClusterAvailableFilter.java │ │ │ │ ├── EarlybirdFeatureSchemaAnnotateFilter.java │ │ │ │ ├── EarlybirdResponseExceptionHandler.java │ │ │ │ ├── EarlybirdSuccessfulResponseHandler.java │ │ │ │ ├── EarlybirdTimeFilterQueryRewriter.java │ │ │ │ ├── EarlybirdTimeRangeFilter.java │ │ │ │ ├── FullArchiveProtectedOperatorFilter.java │ │ │ │ ├── FullArchiveServingRangeProvider.java │ │ │ │ ├── InitializeRequestContextFilter.java │ │ │ │ ├── IsUserProtectedMetadataTrackingFilter.java │ │ │ │ ├── MarkTweetSourceFilter.java │ │ │ │ ├── MetadataTrackingFilter.java │ │ │ │ ├── NamedMultiTermDisjunctionStatsFilter.java │ │ │ │ ├── NullcastTrackingFilter.java │ │ │ │ ├── PostCacheRequestTypeCountFilter.java │ │ │ │ ├── PreCacheRequestTypeCountFilter.java │ │ │ │ ├── QueryLangStatFilter.java │ │ │ │ ├── QueryOperatorStatFilter.java │ │ │ │ ├── QueryTokenizerFilter.java │ │ │ │ ├── RealtimeServingRangeProvider.java │ │ │ │ ├── RejectRequestsByQuerySourceFilter.java │ │ │ │ ├── RequestContextToEarlybirdRequestFilter.java │ │ │ │ ├── RequestResultStatsFilter.java │ │ │ │ ├── RequestSuccessStatsFilter.java │ │ │ │ ├── RequestTypeCountFilter.java │ │ │ │ ├── ResponseCodeStatFilter.java │ │ │ │ ├── ResultTierCountFilter.java │ │ │ │ ├── ScatterGatherWithExperimentRedirectsService.java │ │ │ │ ├── SearchPayloadSizeLocalContextFilter.java │ │ │ │ ├── SensitiveResultsTrackingFilter.java │ │ │ │ ├── ServiceExceptionHandlingFilter.java │ │ │ │ ├── ServiceResponseValidationFilter.java │ │ │ │ ├── ServingRangeProvider.java │ │ │ │ ├── StratoAttributionClientIdFilter.java │ │ │ │ ├── TopLevelExceptionHandlingFilter.java │ │ │ │ ├── UnsetSuperRootFieldsFilter.java │ │ │ │ └── VeryRecentTweetsFilter.java │ │ │ ├── mergers/ │ │ │ │ ├── AccumulatedResponses.java │ │ │ │ ├── BUILD │ │ │ │ ├── EarlyTerminateTierMergePredicate.java │ │ │ │ ├── EarlybirdResponseDebugMessageBuilder.java │ │ │ │ ├── EarlybirdResponseMerger.java │ │ │ │ ├── FacetResponseMerger.java │ │ │ │ ├── PartitionResponseAccumulator.java │ │ │ │ ├── RecencyResponseMerger.java │ │ │ │ ├── RelevanceResponseMerger.java │ │ │ │ ├── ResponseAccumulator.java │ │ │ │ ├── StrictRecencyResponseMerger.java │ │ │ │ ├── SuperRootResponseMerger.java │ │ │ │ ├── TermStatisticsResponseMerger.java │ │ │ │ ├── ThriftTermResultsMerger.java │ │ │ │ ├── TierResponseAccumulator.java │ │ │ │ ├── TopTweetsResponseMerger.java │ │ │ │ └── TrimStats.java │ │ │ ├── quota/ │ │ │ │ ├── BUILD │ │ │ │ ├── ClientIdQuotaManager.java │ │ │ │ ├── ConfigBasedQuotaConfig.java │ │ │ │ ├── ConfigRepoBasedQuotaManager.java │ │ │ │ └── QuotaInfo.java │ │ │ ├── routers/ │ │ │ │ ├── AbstractRecencyAndRelevanceRequestRouter.java │ │ │ │ ├── BUILD │ │ │ │ ├── FacetsRequestRouter.java │ │ │ │ ├── FacetsRequestRouterModule.java │ │ │ │ ├── RecencyRequestRouter.java │ │ │ │ ├── RecencyRequestRouterModule.java │ │ │ │ ├── RelevanceRequestRouter.java │ │ │ │ ├── RelevanceRequestRouterModule.java │ │ │ │ ├── RequestRouter.java │ │ │ │ ├── RequestRouterUtil.java │ │ │ │ ├── TermStatsRequestRouter.java │ │ │ │ ├── TermStatsRequestRouterModule.java │ │ │ │ ├── TopTweetsRequestRouter.java │ │ │ │ └── TopTweetsRequestRouterModule.java │ │ │ ├── validators/ │ │ │ │ ├── BUILD │ │ │ │ ├── FacetsResponseValidator.java │ │ │ │ ├── PassThroughResponseValidator.java │ │ │ │ ├── SearchResultsValidator.java │ │ │ │ ├── ServiceResponseValidator.java │ │ │ │ ├── TermStatsResultsValidator.java │ │ │ │ └── TopTweetsResultsValidator.java │ │ │ └── visitors/ │ │ │ ├── BUILD │ │ │ └── MultiTermDisjunctionPerPartitionVisitor.java │ │ ├── feature_update_service/ │ │ │ ├── BUILD │ │ │ ├── FeatureUpdateController.java │ │ │ ├── FeatureUpdateResponseClassifier.java │ │ │ ├── FeatureUpdateServiceThriftServer.java │ │ │ ├── FeatureUpdateServiceThriftServerMain.java │ │ │ ├── README.md │ │ │ ├── filters/ │ │ │ │ ├── BUILD │ │ │ │ └── ClientIdWhitelistFilter.java │ │ │ ├── modules/ │ │ │ │ ├── BUILD │ │ │ │ ├── ClientIdWhitelistModule.java │ │ │ │ ├── EarlybirdUtilModule.java │ │ │ │ ├── FeatureUpdateServiceDiffyModule.java │ │ │ │ ├── FinagleKafkaProducerModule.java │ │ │ │ ├── FuturePoolModule.java │ │ │ │ └── TweetypieModule.java │ │ │ ├── stats/ │ │ │ │ ├── BUILD │ │ │ │ └── FeatureUpdateStats.java │ │ │ ├── util/ │ │ │ │ ├── BUILD │ │ │ │ └── FeatureUpdateValidator.java │ │ │ └── whitelist/ │ │ │ ├── BUILD │ │ │ └── ClientIdWhitelist.java │ │ └── ingester/ │ │ ├── BUILD │ │ ├── README.md │ │ ├── model/ │ │ │ ├── BUILD │ │ │ ├── IndexerStatus.java │ │ │ ├── IngesterThriftVersionedEvents.java │ │ │ ├── IngesterTweetEvent.java │ │ │ ├── IngesterTwitterMessage.java │ │ │ ├── KafkaRawRecord.java │ │ │ ├── PromiseContainer.java │ │ │ └── VisibleTokenRatioUtil.java │ │ ├── pipeline/ │ │ │ ├── app/ │ │ │ │ ├── BUILD │ │ │ │ ├── IngesterPipelineApplication.java │ │ │ │ ├── PipelineExceptionImpl.java │ │ │ │ ├── PipelineExceptionImplV2.java │ │ │ │ └── RealtimeIngesterPipelineV2.java │ │ │ ├── strato_fetchers/ │ │ │ │ ├── AudioSpaceCoreFetcher.java │ │ │ │ ├── AudioSpaceParticipantsFetcher.java │ │ │ │ ├── BUILD │ │ │ │ └── NamedEntityFetcher.java │ │ │ ├── twitter/ │ │ │ │ ├── AsyncPinkUrlsResolver.java │ │ │ │ ├── BUILD │ │ │ │ ├── CollectComparableObjectsStage.java │ │ │ │ ├── ComputeTweetSignatureStage.java │ │ │ │ ├── ConvertDelayedMessageToThriftStage.java │ │ │ │ ├── ConvertMessageToThriftStage.java │ │ │ │ ├── ConvertToThriftVersionedEventsStage.java │ │ │ │ ├── EventBusReaderStage.java │ │ │ │ ├── FieldStatExporter.java │ │ │ │ ├── FilterEventsBySafetyTypeStage.java │ │ │ │ ├── FilterRetweetsAndRepliesStage.java │ │ │ │ ├── FilterTwitterMessageStage.java │ │ │ │ ├── LookupUserPropertiesBatchedStage.java │ │ │ │ ├── NamedEntityHandler.java │ │ │ │ ├── PopulateCodedLocationsBatchedStage.java │ │ │ │ ├── ResolveCompressedUrlsBatchedStage.java │ │ │ │ ├── ResolveCompressedUrlsPink.java │ │ │ │ ├── ResolveCompressedUrlsUtils.java │ │ │ │ ├── RetrieveCardBatchedStage.java │ │ │ │ ├── RetrieveNamedEntitiesSingleTweetStage.java │ │ │ │ ├── RetrieveSpaceAdminsAndTitleStage.java │ │ │ │ ├── RetrieveSpaceIdsStage.java │ │ │ │ ├── SingleTweetExtractAndGeocodeLatLonStage.java │ │ │ │ ├── TextFeatureExtractionWorkersStage.java │ │ │ │ ├── TextQualityEvaluationWorkerStage.java │ │ │ │ ├── TextUrlsFeatureExtractionStage.java │ │ │ │ ├── ThriftTweetParserStage.java │ │ │ │ ├── ThriftVersionedEventsConverter.java │ │ │ │ ├── TweetEventDeserializerStage.java │ │ │ │ ├── TwitterBaseStage.java │ │ │ │ ├── TwitterBatchedBaseStage.java │ │ │ │ ├── filters/ │ │ │ │ │ ├── BUILD │ │ │ │ │ └── IngesterValidMessageFilter.java │ │ │ │ ├── kafka/ │ │ │ │ │ ├── BUILD │ │ │ │ │ ├── DeleteUpdateEventsKafkaProducerStage.java │ │ │ │ │ ├── KafkaConsumerStage.java │ │ │ │ │ ├── KafkaProducerStage.java │ │ │ │ │ ├── KafkaRawRecordConsumerStage.java │ │ │ │ │ ├── RetweetAndReplyUpdateEventsKafkaProducerStage.java │ │ │ │ │ └── TweetThriftVersionedEventsKafkaProducerStage.java │ │ │ │ ├── thriftparse/ │ │ │ │ │ ├── BUILD │ │ │ │ │ ├── ThriftTweetParsingException.java │ │ │ │ │ └── TweetEventParseHelper.java │ │ │ │ └── userupdates/ │ │ │ │ ├── BUILD │ │ │ │ ├── UserUpdateIngester.java │ │ │ │ ├── UserUpdatesPipeline.java │ │ │ │ └── UserUpdatesPipelineStage.java │ │ │ ├── util/ │ │ │ │ ├── BUILD │ │ │ │ ├── BatchedElement.java │ │ │ │ ├── BatchingClient.java │ │ │ │ ├── CardFieldUtil.java │ │ │ │ ├── IngesterStageTimer.java │ │ │ │ ├── ManhattanCodedLocationProvider.java │ │ │ │ ├── PenguinVersionsUtil.java │ │ │ │ ├── PipelineExceptionHandler.java │ │ │ │ ├── PipelineStageException.java │ │ │ │ ├── PipelineStageRuntimeException.java │ │ │ │ ├── PipelineUtil.java │ │ │ │ ├── PipelineV2CreationException.java │ │ │ │ ├── ResponseNotReturnedException.java │ │ │ │ └── UserPropertiesManager.java │ │ │ └── wire/ │ │ │ ├── BUILD │ │ │ ├── IngesterPartitioner.java │ │ │ ├── ProductionWireModule.java │ │ │ ├── StratoMetaStoreWireModule.java │ │ │ ├── TweetyPieWireModule.java │ │ │ └── WireModule.java │ │ └── util/ │ │ └── jndi/ │ │ ├── BUILD │ │ └── JndiUtil.java │ ├── python/ │ │ └── twitter/ │ │ └── deepbird/ │ │ └── projects/ │ │ └── timelines/ │ │ ├── configs/ │ │ │ ├── recap_earlybird/ │ │ │ │ └── feature_config.py │ │ │ └── rectweet_earlybird/ │ │ │ └── feature_config.py │ │ └── scripts/ │ │ └── models/ │ │ └── earlybird/ │ │ ├── BUILD │ │ ├── README.md │ │ ├── __init__.py │ │ ├── constants.py │ │ ├── example_weights.py │ │ ├── lolly/ │ │ │ ├── BUILD │ │ │ ├── __init__.py │ │ │ ├── data_helpers.py │ │ │ ├── parsers.py │ │ │ ├── reader.py │ │ │ ├── score.py │ │ │ ├── scorer.py │ │ │ └── tf_model_initializer_builder.py │ │ ├── metrics.py │ │ ├── tf_model/ │ │ │ ├── BUILD │ │ │ ├── __init__.py │ │ │ ├── discretizer_builder.py │ │ │ ├── hashing_utils.py │ │ │ └── weights_initializer_builder.py │ │ └── train.py │ ├── scala/ │ │ └── com/ │ │ └── twitter/ │ │ ├── graph/ │ │ │ └── batch/ │ │ │ ├── BUILD.bazel │ │ │ └── job/ │ │ │ └── tweepcred/ │ │ │ ├── ExtractTweepcred.scala │ │ │ ├── PreparePageRankData.scala │ │ │ ├── README │ │ │ ├── Reputation.scala │ │ │ ├── TweepcredBatchJob.scala │ │ │ ├── UserMass.scala │ │ │ └── WeightedPageRank.scala │ │ ├── interaction_graph/ │ │ │ ├── README.md │ │ │ ├── bqe/ │ │ │ │ ├── scoring/ │ │ │ │ │ ├── README.md │ │ │ │ │ ├── candidates.sql │ │ │ │ │ ├── check_models.sql │ │ │ │ │ ├── follow_graph_features.sql │ │ │ │ │ └── scoring.sql │ │ │ │ └── training/ │ │ │ │ ├── README.md │ │ │ │ ├── candidates.sql │ │ │ │ ├── check_candidates_exist.sql │ │ │ │ ├── check_labels_exist.sql │ │ │ │ ├── labeled_candidates.sql │ │ │ │ └── train_model.sql │ │ │ ├── injection/ │ │ │ │ ├── BUILD │ │ │ │ ├── EdgeListInjection.scala │ │ │ │ └── UserSessionInjection.scala │ │ │ └── scio/ │ │ │ ├── README.md │ │ │ ├── agg_address_book/ │ │ │ │ ├── BUILD │ │ │ │ ├── InteractionGraphAddressBookCounters.scala │ │ │ │ ├── InteractionGraphAddressBookJob.scala │ │ │ │ ├── InteractionGraphAddressBookOption.scala │ │ │ │ ├── InteractionGraphAddressBookSource.scala │ │ │ │ ├── InteractionGraphAddressBookUtil.scala │ │ │ │ └── README.md │ │ │ ├── agg_all/ │ │ │ │ ├── BUILD │ │ │ │ ├── InteractionGraphAggregationConfig.scala │ │ │ │ ├── InteractionGraphAggregationJob.scala │ │ │ │ ├── InteractionGraphAggregationOption.scala │ │ │ │ ├── InteractionGraphAggregationSource.scala │ │ │ │ ├── InteractionGraphAggregationTransform.scala │ │ │ │ └── README.md │ │ │ ├── agg_client_event_logs/ │ │ │ │ ├── BUILD │ │ │ │ ├── InteractionGraphClientEventLogsCounters.scala │ │ │ │ ├── InteractionGraphClientEventLogsJob.scala │ │ │ │ ├── InteractionGraphClientEventLogsOption.scala │ │ │ │ ├── InteractionGraphClientEventLogsSource.scala │ │ │ │ ├── InteractionGraphClientEventLogsUtil.scala │ │ │ │ └── README.md │ │ │ ├── agg_direct_interactions/ │ │ │ │ ├── BUILD │ │ │ │ ├── InteractionGraphAggDirectInteractionsJob.scala │ │ │ │ ├── InteractionGraphAggDirectInteractionsOption.scala │ │ │ │ ├── InteractionGraphAggDirectInteractionsSource.scala │ │ │ │ ├── InteractionGraphAggDirectInteractionsUtil.scala │ │ │ │ └── README.md │ │ │ ├── agg_flock/ │ │ │ │ ├── BUILD │ │ │ │ ├── InteractionGraphAggFlockJob.scala │ │ │ │ ├── InteractionGraphAggFlockOption.scala │ │ │ │ ├── InteractionGraphAggFlockSource.scala │ │ │ │ ├── InteractionGraphAggFlockUtil.scala │ │ │ │ └── README.md │ │ │ ├── agg_negative/ │ │ │ │ ├── BUILD │ │ │ │ ├── InteractionGraphNegativeJob.scala │ │ │ │ ├── InteractionGraphNegativeOption.scala │ │ │ │ └── README.md │ │ │ ├── agg_notifications/ │ │ │ │ ├── BUILD │ │ │ │ ├── InteractionGraphNotificationUtil.scala │ │ │ │ ├── InteractionGraphNotificationsJob.scala │ │ │ │ ├── InteractionGraphNotificationsOption.scala │ │ │ │ └── README.md │ │ │ ├── common/ │ │ │ │ ├── BUILD │ │ │ │ ├── CaseClasses.scala │ │ │ │ ├── ConversionUtil.scala │ │ │ │ ├── DateUtil.scala │ │ │ │ ├── EdgeFeatureCombiner.scala │ │ │ │ ├── FeatureGeneratorUtil.scala │ │ │ │ ├── FeatureGroups.scala │ │ │ │ ├── GraphUtil.scala │ │ │ │ ├── InteractionGraphUtils.scala │ │ │ │ ├── UserUtil.scala │ │ │ │ └── VertexFeatureCombiner.scala │ │ │ └── ml/ │ │ │ ├── labels/ │ │ │ │ ├── BUILD │ │ │ │ ├── InteractionGraphLabelsJob.scala │ │ │ │ ├── InteractionGraphLabelsOption.scala │ │ │ │ ├── LabelUtil.scala │ │ │ │ └── README.md │ │ │ └── scores/ │ │ │ ├── BUILD │ │ │ ├── InteractionGraphScoreExportJob.scala │ │ │ ├── InteractionGraphScoreExportOption.scala │ │ │ └── README.md │ │ ├── recos/ │ │ │ ├── decider/ │ │ │ │ ├── BUILD │ │ │ │ ├── BaseDecider.scala │ │ │ │ └── EndpointLoadShedder.scala │ │ │ ├── graph_common/ │ │ │ │ ├── ActionEdgeTypeMask.scala │ │ │ │ ├── BUILD │ │ │ │ ├── BipartiteGraphHelper.scala │ │ │ │ ├── FinagleCounterWrapper.scala │ │ │ │ ├── FinagleStatsReceiverWrapper.scala │ │ │ │ ├── LeftIndexedPowerLawMultiSegmentBipartiteGraphBuilder.scala │ │ │ │ ├── MultiSegmentPowerLawBipartiteGraphBuilder.scala │ │ │ │ ├── NodeInfoHandler.scala │ │ │ │ ├── NodeMetadataLeftIndexedPowerLawMultiSegmentBipartiteGraphBuilder.scala │ │ │ │ └── RightNodeMetadataLeftIndexedPowerLawMultiSegmentBipartiteGraphBuilder.scala │ │ │ ├── hose/ │ │ │ │ └── common/ │ │ │ │ ├── BUILD │ │ │ │ ├── BufferedEdgeWriter.scala │ │ │ │ ├── EdgeCollector.scala │ │ │ │ ├── RecosEdgeProcessor.scala │ │ │ │ ├── UnifiedGraphWriter.scala │ │ │ │ └── UnifiedGraphWriterMulti.scala │ │ │ ├── user_tweet_entity_graph/ │ │ │ │ ├── BUILD │ │ │ │ ├── EntitySocialProofRunner.scala │ │ │ │ ├── LoggingUserTweetEntityGraph.scala │ │ │ │ ├── Main.scala │ │ │ │ ├── README.md │ │ │ │ ├── RecommendationHandler.scala │ │ │ │ ├── RecosConfig.scala │ │ │ │ ├── SocialProofHandler.scala │ │ │ │ ├── SocialProofHydrator.scala │ │ │ │ ├── TweetRecommendationsRunner.scala │ │ │ │ ├── TweetSocialProofHandler.scala │ │ │ │ ├── TweetSocialProofRunner.scala │ │ │ │ ├── UserTweetEdgeTypeMask.scala │ │ │ │ ├── UserTweetEntityGraph.scala │ │ │ │ └── UserTweetEntityGraphWriter.scala │ │ │ ├── user_tweet_graph/ │ │ │ │ ├── BUILD │ │ │ │ ├── Main.scala │ │ │ │ ├── README.md │ │ │ │ ├── UserTweetGraph.scala │ │ │ │ ├── UserTweetGraphConfig.scala │ │ │ │ ├── UserTweetGraphWriter.scala │ │ │ │ ├── relatedTweetHandlers/ │ │ │ │ │ ├── BUILD │ │ │ │ │ ├── ConsumersBasedRelatedTweetsHandler.scala │ │ │ │ │ ├── ProducerBasedRelatedTweetsHandler.scala │ │ │ │ │ └── TweetBasedRelatedTweetsHandler.scala │ │ │ │ ├── store/ │ │ │ │ │ ├── BUILD │ │ │ │ │ └── UserRecentFollowersStore.scala │ │ │ │ └── util/ │ │ │ │ ├── BUILD │ │ │ │ ├── FetchRHSTweetsUtil.scala │ │ │ │ ├── FilterUtil.scala │ │ │ │ ├── GetAllInternalTweetIdsUtil.scala │ │ │ │ ├── GetRelatedTweetCandidatesUtil.scala │ │ │ │ ├── SampleLHSUsersUtil.scala │ │ │ │ └── UserTweetEdgeTypeMask.scala │ │ │ ├── user_user_graph/ │ │ │ │ ├── BUILD │ │ │ │ ├── KafkaConfig.scala │ │ │ │ ├── LoggingUserUserGraph.scala │ │ │ │ ├── Main.scala │ │ │ │ ├── README.md │ │ │ │ ├── RecommendUsersHandler.scala │ │ │ │ ├── RecosConfig.scala │ │ │ │ ├── UserEdgeTypeMask.scala │ │ │ │ ├── UserUserGraph.scala │ │ │ │ └── UserUserGraphWriter.scala │ │ │ └── user_video_graph/ │ │ │ ├── BUILD │ │ │ ├── LoggingUserVideoGraph.scala │ │ │ ├── Main.scala │ │ │ ├── README.md │ │ │ ├── UserVideoEdgeTypeMask.scala │ │ │ ├── UserVideoGraph.scala │ │ │ ├── UserVideoGraphConfig.scala │ │ │ ├── UserVideoGraphEdgeHttpHandler.scala │ │ │ ├── UserVideoGraphWriter.scala │ │ │ ├── relatedTweetHandlers/ │ │ │ │ ├── BUILD │ │ │ │ ├── ConsumersBasedRelatedTweetsHandler.scala │ │ │ │ ├── ProducerBasedRelatedTweetsHandler.scala │ │ │ │ └── TweetBasedRelatedTweetsHandler.scala │ │ │ ├── store/ │ │ │ │ ├── BUILD │ │ │ │ └── UserRecentFollowersStore.scala │ │ │ └── util/ │ │ │ ├── BUILD │ │ │ ├── FetchRHSTweetsUtil.scala │ │ │ ├── FilterUtil.scala │ │ │ ├── GetAllInternalTweetIdsUtil.scala │ │ │ ├── GetRelatedTweetCandidatesUtil.scala │ │ │ └── SampleLHSUsersUtil.scala │ │ ├── simclusters_v2/ │ │ │ ├── README.md │ │ │ ├── candidate_source/ │ │ │ │ ├── BUILD │ │ │ │ ├── ClusterRanker.scala │ │ │ │ ├── HeavyRanker.scala │ │ │ │ ├── SimClustersANNCandidateSource.scala │ │ │ │ └── SimClustersANNWrapperCandidateSource.scala │ │ │ ├── common/ │ │ │ │ ├── BUILD │ │ │ │ ├── CosineSimilarityUtil.scala │ │ │ │ ├── DeciderGateBuilderWithIdHashing.scala │ │ │ │ ├── ModelVersions.scala │ │ │ │ ├── SeqStandardDeviation.scala │ │ │ │ ├── SimClustersEmbedding.scala │ │ │ │ ├── SimClustersEmbeddingId.scala │ │ │ │ ├── SimClustersEmbeddingIdCacheKeyBuilder.scala │ │ │ │ ├── SimClustersEmbeddingMonoid.scala │ │ │ │ ├── SimClustersMultiEmbedding.scala │ │ │ │ ├── SimClustersMultiEmbeddingId.scala │ │ │ │ ├── clustering/ │ │ │ │ │ ├── BUILD │ │ │ │ │ ├── ClusterRepresentativeSelectionMethod.scala │ │ │ │ │ ├── ClusteringMethod.scala │ │ │ │ │ ├── ConnectedComponentsClusteringMethod.scala │ │ │ │ │ ├── LargestDimensionClusteringMethod.scala │ │ │ │ │ ├── LouvainClusteringMethod.scala │ │ │ │ │ ├── MaxFavScoreRepresentativeSelectionMethod.scala │ │ │ │ │ ├── MedoidRepresentativeSelectionMethod.scala │ │ │ │ │ └── SimilarityFunctions.scala │ │ │ │ ├── ml/ │ │ │ │ │ ├── BUILD │ │ │ │ │ └── SimClustersEmbeddingAdapter.scala │ │ │ │ └── package.scala │ │ │ ├── hdfs_sources/ │ │ │ │ ├── AdhocSources.scala │ │ │ │ ├── BUILD │ │ │ │ ├── DataPaths.scala │ │ │ │ ├── DataSources.scala │ │ │ │ ├── EntityEmbeddingsSources.scala │ │ │ │ ├── InterestedInSources.scala │ │ │ │ ├── ProducerEmbeddingSources.scala │ │ │ │ ├── injections/ │ │ │ │ │ ├── BUILD │ │ │ │ │ ├── ClusterDetailsInjection.scala │ │ │ │ │ ├── ClusterTopMediaTweetsInjection.scala │ │ │ │ │ ├── ClusterTopTweetsInjection.scala │ │ │ │ │ ├── ClusteringInjections.scala │ │ │ │ │ ├── EntityEmbeddingsInjections.scala │ │ │ │ │ ├── InferredEntitiesInjections.scala │ │ │ │ │ ├── InterestedInInjection.scala │ │ │ │ │ ├── KnownForInjection.scala │ │ │ │ │ ├── MultiTypeGraphInjections.scala │ │ │ │ │ ├── ProducerEmbeddingsInjections.scala │ │ │ │ │ ├── SemanticCoreEntitiesInjections.scala │ │ │ │ │ └── SingleSideUserScoresInjection.scala │ │ │ │ └── presto_hdfs_sources/ │ │ │ │ ├── BUILD │ │ │ │ └── EntityEmbeddingsPrestoSources.scala │ │ │ ├── scalding/ │ │ │ │ ├── BUILD │ │ │ │ ├── BipartiteClusterEvaluation.scala │ │ │ │ ├── BipartiteClusterEvaluationClasses.scala │ │ │ │ ├── ClusterDetailsJob.scala │ │ │ │ ├── ClusterEvaluation.scala │ │ │ │ ├── CompareClusters.scala │ │ │ │ ├── EigenVectorsForSparseSymmetric.scala │ │ │ │ ├── InterestedInFromAggregatableProducerEmbeddings.scala │ │ │ │ ├── InterestedInFromKnownFor.scala │ │ │ │ ├── InterestedInFromKnownForLite.scala │ │ │ │ ├── InterestedInFromProducerEmbeddingsAdhocApp.scala │ │ │ │ ├── KnownForSources.scala │ │ │ │ ├── ProducerNormsAndCounts.scala │ │ │ │ ├── TopUsersSimilarityGraph.scala │ │ │ │ ├── UpdateKnownFor.scala │ │ │ │ ├── UpdateKnownForApps.scala │ │ │ │ ├── UserUserFavGraph.scala │ │ │ │ ├── UserUserGraph.scala │ │ │ │ ├── UserUserNormalizedGraph.scala │ │ │ │ ├── common/ │ │ │ │ │ ├── BUILD │ │ │ │ │ ├── PersistentTweetEmbeddingSource.scala │ │ │ │ │ ├── QTreeMultiAggregator.scala │ │ │ │ │ ├── TypedRichPipe.scala │ │ │ │ │ ├── Util.scala │ │ │ │ │ └── matrix/ │ │ │ │ │ ├── BUILD │ │ │ │ │ ├── DenseRowMatrix.scala │ │ │ │ │ ├── SparseMatrix.scala │ │ │ │ │ ├── SparseRowMatrix.scala │ │ │ │ │ └── TypedPipeMatrix.scala │ │ │ │ ├── embedding/ │ │ │ │ │ ├── BUILD │ │ │ │ │ ├── EntityEmbeddingFromProducerEmbeddingJob.scala │ │ │ │ │ ├── EntityToSimClustersEmbeddingsJob.scala │ │ │ │ │ ├── GlobalSimClustersLanguageEmbedding.scala │ │ │ │ │ ├── LocaleEntitySimClustersEmbeddingV2Job.scala │ │ │ │ │ ├── LocaleEntitySimClustersEmbeddingsJob.scala │ │ │ │ │ ├── ProducerEmbeddingsFromInterestedIn.scala │ │ │ │ │ ├── SimilarUsersBySimClustersEmbedding.scala │ │ │ │ │ ├── abuse/ │ │ │ │ │ │ ├── AbuseSimclusterFeaturesScaldingJob.scala │ │ │ │ │ │ ├── AdhocAbuseSimClusterFeaturesScaldingJob.scala │ │ │ │ │ │ ├── BUILD │ │ │ │ │ │ ├── CrossSimClusterFeaturesScaldingJob.scala │ │ │ │ │ │ ├── DataSources.scala │ │ │ │ │ │ ├── PairedinteractionFeatures.scala │ │ │ │ │ │ └── SingleSideInteractionTransformation.scala │ │ │ │ │ ├── common/ │ │ │ │ │ │ ├── EmbeddingUtil.scala │ │ │ │ │ │ ├── EntityEmbeddingUtil.scala │ │ │ │ │ │ ├── ExternalDataSources.scala │ │ │ │ │ │ └── SimClustersEmbeddingJob.scala │ │ │ │ │ ├── producer/ │ │ │ │ │ │ ├── AggregatableFavBasedProducerEmbeddings.scala │ │ │ │ │ │ ├── AggregatableFollowBasedProducerEmbeddings.scala │ │ │ │ │ │ ├── AggregatableLogFavBasedProducerEmbeddings.scala │ │ │ │ │ │ ├── AggregatableProducerEmbeddings.scala │ │ │ │ │ │ └── BUILD.bazel │ │ │ │ │ ├── tfg/ │ │ │ │ │ │ ├── BUILD │ │ │ │ │ │ ├── EngagementWeightedTfgBasedTopicEmbeddingsJob.scala │ │ │ │ │ │ ├── FavInferredLanguageTfgBasedTopicEmbeddings.scala │ │ │ │ │ │ ├── FavTfgBasedTopicEmbeddings.scala │ │ │ │ │ │ ├── InferredLanguageTfgBasedTopicEmbeddingsBaseApp.scala │ │ │ │ │ │ ├── LogFavTfgBasedTopicEmbeddings.scala │ │ │ │ │ │ ├── README │ │ │ │ │ │ └── TfgBasedTopicEmbeddingsBaseApp.scala │ │ │ │ │ └── twice/ │ │ │ │ │ ├── BUILD.bazel │ │ │ │ │ ├── InterestedInTwice.scala │ │ │ │ │ └── InterestedInTwiceBaseApp.scala │ │ │ │ ├── evaluation/ │ │ │ │ │ ├── BUILD.bazel │ │ │ │ │ ├── CandidateEvaluationBase.scala │ │ │ │ │ ├── EvaluationMetricHelper.scala │ │ │ │ │ ├── EvaluationReferenceDataExtraction.scala │ │ │ │ │ ├── LabelCorrelationsHelper.scala │ │ │ │ │ └── SimClustersEvaluationAdhocApp.scala │ │ │ │ ├── inferred_entities/ │ │ │ │ │ ├── BUILD.bazel │ │ │ │ │ ├── InferredEntities.scala │ │ │ │ │ ├── InferredEntitiesFromInterestedIn.scala │ │ │ │ │ ├── InferredSemanticCoreEntitiesFromKnownFor.scala │ │ │ │ │ └── ProdSources.scala │ │ │ │ ├── mbcg/ │ │ │ │ │ ├── AllFeatures.scala │ │ │ │ │ ├── BUILD.bazel │ │ │ │ │ ├── RecordAdapters.scala │ │ │ │ │ ├── TweetEmbeddingGenerationJob.scala │ │ │ │ │ └── UserEmbeddingGenerationJob.scala │ │ │ │ ├── multi_type_graph/ │ │ │ │ │ └── assemble_multi_type_graph/ │ │ │ │ │ ├── AssembleMultiTypeGraph.scala │ │ │ │ │ ├── AssembleMultiTypeGraphApp.scala │ │ │ │ │ ├── AssembleMultiTypeGraphBaseApp.scala │ │ │ │ │ ├── BUILD │ │ │ │ │ └── Config.scala │ │ │ │ ├── offline_job/ │ │ │ │ │ ├── BUILD.bazel │ │ │ │ │ ├── OfflineTweetRecommendation.scala │ │ │ │ │ ├── SimClustersOfflineJob.scala │ │ │ │ │ ├── SimClustersOfflineJobAdhocApp.scala │ │ │ │ │ ├── SimClustersOfflineJobScheduledApp.scala │ │ │ │ │ ├── SimClustersOfflineJobUtil.scala │ │ │ │ │ └── adhoc/ │ │ │ │ │ ├── BUILD.bazel │ │ │ │ │ ├── README │ │ │ │ │ ├── SimClustersTweetEmbeddingAdhocApp.scala │ │ │ │ │ └── TweetSimilarityEvaluationAdhocApp.scala │ │ │ │ ├── offline_tweets/ │ │ │ │ │ ├── BUILD.bazel │ │ │ │ │ └── ClusterTopMediaTweetsJob.scala │ │ │ │ ├── optout/ │ │ │ │ │ ├── BUILD.bazel │ │ │ │ │ ├── InterestedInOptOut.scala │ │ │ │ │ ├── KnownForOptOut.scala │ │ │ │ │ └── SimClustersOptOutUtil.scala │ │ │ │ ├── topic_recommendations/ │ │ │ │ │ ├── BUILD │ │ │ │ │ ├── GeoPopularTopicsApp.scala │ │ │ │ │ ├── ProducersForTopicsFromTopicFollowGraph.scala │ │ │ │ │ ├── SimilarTopicsFromTopicFollowGraphApp.scala │ │ │ │ │ ├── TopicsForProducersFromEM.scala │ │ │ │ │ ├── TopicsForProducersUtils.scala │ │ │ │ │ └── model_based_topic_recommendations/ │ │ │ │ │ ├── BUILD │ │ │ │ │ ├── DataSources.scala │ │ │ │ │ ├── UserFeatures.scala │ │ │ │ │ ├── UserTopicDataRecordAdapter.scala │ │ │ │ │ └── UserTopicModellingTrainingDataCollectionJob.scala │ │ │ │ ├── tweet_similarity/ │ │ │ │ │ ├── BUILD │ │ │ │ │ ├── DatasetTopKAnalysisJob.scala │ │ │ │ │ ├── TrainingDataCollectionJob.scala │ │ │ │ │ ├── TrainingDataCollectionUtil.scala │ │ │ │ │ ├── TweetPairFeatureHydrationUtil.scala │ │ │ │ │ ├── TweetPairLabelCollectionUtil.scala │ │ │ │ │ ├── UnhydratedPairsCollectionJob.scala │ │ │ │ │ └── evaluation/ │ │ │ │ │ ├── BUILD.bazel │ │ │ │ │ ├── ModelEvalAdhocApp.scala │ │ │ │ │ └── RUXLandingDdgAnalysisAdhocApp.scala │ │ │ │ └── update_known_for/ │ │ │ │ ├── BUILD.bazel │ │ │ │ ├── UpdateKnownFor20M145K2020.scala │ │ │ │ └── UpdateKnownForSBFRunner.scala │ │ │ ├── scio/ │ │ │ │ ├── bq_generation/ │ │ │ │ │ ├── common/ │ │ │ │ │ │ ├── BQGenerationUtil.scala │ │ │ │ │ │ ├── BUILD │ │ │ │ │ │ └── IndexGenerationUtil.scala │ │ │ │ │ ├── ftr_tweet/ │ │ │ │ │ │ ├── BUILD │ │ │ │ │ │ ├── Config.scala │ │ │ │ │ │ ├── FTRJob.scala │ │ │ │ │ │ ├── FtrClusterToTweetIndexGenerationJob.scala │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ ├── ftr-based-simclusters-index-generation-job.d6w │ │ │ │ │ │ ├── ftr-tweets-ann-adhoc-job.d6w │ │ │ │ │ │ ├── iikf2020-decayed-sum-ann-batch-job.d6w │ │ │ │ │ │ ├── iikf2020-ftrat5-pop1000-ann-batch-job.d6w │ │ │ │ │ │ ├── iikf2020-ftrat5-pop10000-ann-batch-job.d6w │ │ │ │ │ │ └── sql/ │ │ │ │ │ │ ├── BUILD │ │ │ │ │ │ └── ftr_tweet_embeddings.sql │ │ │ │ │ ├── simclusters_index_generation/ │ │ │ │ │ │ ├── BUILD │ │ │ │ │ │ ├── Config.scala │ │ │ │ │ │ ├── EngagementEventBasedClusterToTweetIndexFromBQ.scala │ │ │ │ │ │ ├── EngagementEventBasedClusterToTweetIndexGenerationJob.scala │ │ │ │ │ │ ├── README │ │ │ │ │ │ └── engagement-event-based-simclusters-index-generation-job.d6w │ │ │ │ │ ├── sql/ │ │ │ │ │ │ ├── BUILD │ │ │ │ │ │ ├── ads_user_tweet_action_pair_generation.sql │ │ │ │ │ │ ├── cluster_top_tweets.sql │ │ │ │ │ │ ├── cluster_top_tweets_intersection_with_fav_based_index.sql │ │ │ │ │ │ ├── combined_user_tweet_action_pair_generation.sql │ │ │ │ │ │ ├── engagement_based_index_generation.sql │ │ │ │ │ │ ├── evergreen_content_user_tweet_action_pair_generation.sql │ │ │ │ │ │ ├── nsfw_tweet_denylist.sql │ │ │ │ │ │ ├── tweet_embeddings_generation.sql │ │ │ │ │ │ ├── tweet_fav_count.sql │ │ │ │ │ │ ├── tweets_ann.sql │ │ │ │ │ │ ├── unified_user_tweet_action_pair_generation.sql │ │ │ │ │ │ └── user_video_tweet_fav_engagement_generation.sql │ │ │ │ │ └── tweets_ann/ │ │ │ │ │ ├── BUILD │ │ │ │ │ ├── Config.scala │ │ │ │ │ ├── README │ │ │ │ │ ├── TweetsANNFromBQ.scala │ │ │ │ │ ├── TweetsANNJob.scala │ │ │ │ │ ├── iikf-hl-0-el-15-tweets-ann-batch-job.d6w │ │ │ │ │ ├── iikf-hl-2-el-15-tweets-ann-batch-job.d6w │ │ │ │ │ ├── iikf-hl-2-el-50-tweets-ann-batch-job.d6w │ │ │ │ │ ├── iikf-hl-8-el-50-tweets-ann-adhoc-job.d6w │ │ │ │ │ ├── iikf-hl-8-el-50-tweets-ann-batch-job.d6w │ │ │ │ │ ├── iikf-tweets-ann-adhoc-job.d6w │ │ │ │ │ ├── iikf-tweets-ann-batch-job.d6w │ │ │ │ │ ├── mts-consumer-embeddings-tweets-ann-adhoc-job.d6w │ │ │ │ │ └── mts-consumer-embeddings-tweets-ann-batch-job.d6w │ │ │ │ ├── common/ │ │ │ │ │ ├── BUILD │ │ │ │ │ └── ExternalDataSources.scala │ │ │ │ └── multi_type_graph/ │ │ │ │ ├── assemble_multi_type_graph/ │ │ │ │ │ ├── AssembleMultiTypeGraphScioApp.scala │ │ │ │ │ ├── AssembleMultiTypeGraphScioBaseApp.scala │ │ │ │ │ ├── BUILD │ │ │ │ │ ├── Config.scala │ │ │ │ │ ├── README.md │ │ │ │ │ ├── assemble-multi-type-graph-scio-adhoc.d6w │ │ │ │ │ └── assemble-multi-type-graph-scio-batch.d6w │ │ │ │ ├── common/ │ │ │ │ │ ├── BUILD │ │ │ │ │ └── MultiTypeGraphUtil.scala │ │ │ │ └── multi_type_graph_sims/ │ │ │ │ ├── BUILD │ │ │ │ ├── Config.scala │ │ │ │ ├── RightNodeCosineSimilarityScioApp.scala │ │ │ │ ├── RightNodeCosineSimilarityScioBaseApp.scala │ │ │ │ ├── RightNodeSimHashScioApp.scala │ │ │ │ ├── RightNodeSimHashScioBaseApp.scala │ │ │ │ ├── cosine-similarity-scio-adhoc.d6w │ │ │ │ ├── cosine-similarity-scio-batch.d6w │ │ │ │ ├── sim-hash-scio-adhoc.d6w │ │ │ │ └── sim-hash-scio-batch.d6w │ │ │ ├── score/ │ │ │ │ ├── AggregatedScoreStore.scala │ │ │ │ ├── BUILD │ │ │ │ ├── Score.scala │ │ │ │ ├── ScoreFacadeStore.scala │ │ │ │ ├── ScoreId.scala │ │ │ │ ├── ScoreStore.scala │ │ │ │ ├── SimClustersEmbeddingPairScoreStore.scala │ │ │ │ └── WeightedSumAggregatedScoreStore.scala │ │ │ ├── stores/ │ │ │ │ ├── BUILD │ │ │ │ ├── LanguageFilteredLocaleEntityEmbeddingStore.scala │ │ │ │ ├── MultiTypeGraphStore.scala │ │ │ │ ├── SimClustersEmbeddingStore.scala │ │ │ │ ├── SimClustersMultiEmbeddingStore.scala │ │ │ │ ├── TopicTopProducersStore.scala │ │ │ │ └── WtfMbcgStore.scala │ │ │ ├── summingbird/ │ │ │ │ ├── BUILD │ │ │ │ ├── README.md │ │ │ │ ├── common/ │ │ │ │ │ ├── BUILD │ │ │ │ │ ├── ClientConfigs.scala │ │ │ │ │ ├── Configs.scala │ │ │ │ │ ├── EntityUtil.scala │ │ │ │ │ ├── Implicits.scala │ │ │ │ │ ├── ModelVersionProfile.scala │ │ │ │ │ ├── Monoids.scala │ │ │ │ │ ├── SimClustersEmbeddingWithMetadataMonoid.scala │ │ │ │ │ ├── SimClustersHashUtil.scala │ │ │ │ │ ├── SimClustersInterestedInUtil.scala │ │ │ │ │ ├── SimClustersProfile.scala │ │ │ │ │ ├── StatsUtil.scala │ │ │ │ │ ├── SummerWithSumValues.scala │ │ │ │ │ ├── ThriftDecayedValueMonoid.scala │ │ │ │ │ └── TweetEntityExtractor.scala │ │ │ │ ├── stores/ │ │ │ │ │ ├── ApeTopicEmbeddingStore.scala │ │ │ │ │ ├── BUILD │ │ │ │ │ ├── ClusterDetailsReadableStore.scala │ │ │ │ │ ├── EntityClusterScoreReadableStore.scala │ │ │ │ │ ├── ManhattanFromStratoStore.scala │ │ │ │ │ ├── PersistentTweetEmbeddingStore.scala │ │ │ │ │ ├── ProducerClusterEmbeddingReadableStores.scala │ │ │ │ │ ├── SemanticCoreEntityEmbeddingStore.scala │ │ │ │ │ ├── SimClustersManhattanReadableStoreForReadWriteDataset.scala │ │ │ │ │ ├── TfgTopicEmbeddingsStore.scala │ │ │ │ │ ├── TopKClustersForEntityReadableStore.scala │ │ │ │ │ ├── TopKClustersForTweetReadableStore.scala │ │ │ │ │ ├── TopKTweetsForClusterReadableStore.scala │ │ │ │ │ ├── TweetStatusCountsStore.scala │ │ │ │ │ ├── UserInterestedInReadableStore.scala │ │ │ │ │ └── UserKnownForReadableStore.scala │ │ │ │ └── storm/ │ │ │ │ ├── BUILD │ │ │ │ ├── PersistentTweetJob.scala │ │ │ │ ├── PersistentTweetJobRunner.scala │ │ │ │ ├── TweetJob.scala │ │ │ │ ├── TweetJobRunner.scala │ │ │ │ ├── persistent_tweet_job_deploy.sh │ │ │ │ ├── tweet_alt_job_deploy.sh │ │ │ │ └── tweet_job_deploy.sh │ │ │ └── tweet_similarity/ │ │ │ ├── BUILD │ │ │ ├── ModelBasedTweetSimilaritySimClustersEmbeddingAdapter.scala │ │ │ └── TweetSimilarityFeatures.scala │ │ └── timelines/ │ │ └── prediction/ │ │ ├── common/ │ │ │ └── aggregates/ │ │ │ ├── BCELabelTransformFromUUADataRecord.scala │ │ │ ├── BUILD │ │ │ ├── FeatureSelectorConfig.scala │ │ │ ├── README.md │ │ │ ├── RecapUserFeatureAggregation.scala │ │ │ ├── RectweetUserFeatureAggregation.scala │ │ │ ├── TimelinesAggregationConfig.scala │ │ │ ├── TimelinesAggregationConfigDetails.scala │ │ │ ├── TimelinesAggregationConfigTrait.scala │ │ │ ├── TimelinesAggregationKeyValInjections.scala │ │ │ ├── TimelinesAggregationSources.scala │ │ │ └── real_time/ │ │ │ ├── AuthorFeaturesAdapter.scala │ │ │ ├── BUILD │ │ │ ├── Event.scala │ │ │ ├── FeatureStoreUtils.scala │ │ │ ├── LocallyReplicatedStore.scala │ │ │ ├── StormAggregateSourceUtils.scala │ │ │ ├── TimelinesOnlineAggregationConfig.scala │ │ │ ├── TimelinesOnlineAggregationConfigBase.scala │ │ │ ├── TimelinesOnlineAggregationSources.scala │ │ │ ├── TimelinesRealTimeAggregatesJob.scala │ │ │ ├── TimelinesStormAggregateSource.scala │ │ │ ├── TweetFeaturesAdapter.scala │ │ │ ├── TweetFeaturesReadableStore.scala │ │ │ ├── TypeSafeRunner.scala │ │ │ ├── UserFeaturesAdapter.scala │ │ │ └── UserFeaturesReadableStore.scala │ │ └── features/ │ │ ├── README.md │ │ ├── client_log_event/ │ │ │ ├── BUILD │ │ │ └── ClientLogEventDataRecordFeatures.scala │ │ ├── common/ │ │ │ ├── BUILD │ │ │ ├── CombinedFeatures.scala │ │ │ ├── NonHomeLabelFeatures.scala │ │ │ └── TimelinesSharedFeatures.scala │ │ ├── engagement_features/ │ │ │ ├── BUILD │ │ │ └── EngagementFeatures.scala │ │ ├── escherbird/ │ │ │ ├── BUILD │ │ │ ├── EscherbirdFeatures.scala │ │ │ └── EscherbirdFeaturesConverter.scala │ │ ├── followsource/ │ │ │ ├── BUILD.bazel │ │ │ └── FollowSourceFeatures.scala │ │ ├── itl/ │ │ │ ├── BUILD │ │ │ └── ITLFeatures.scala │ │ ├── list_features/ │ │ │ ├── BUILD │ │ │ └── ListFeatures.scala │ │ ├── p_home_latest/ │ │ │ ├── BUILD │ │ │ └── HomeLatestUserFeatures.scala │ │ ├── ppmi/ │ │ │ ├── BUILD │ │ │ └── PpmiFeatures.scala │ │ ├── real_graph/ │ │ │ ├── BUILD │ │ │ ├── RealGraphDataRecordFeatureStoreFeatures.scala │ │ │ └── RealGraphDataRecordFeatures.scala │ │ ├── recap/ │ │ │ ├── BUILD │ │ │ ├── RecapFeatures.scala │ │ │ └── RecapFeaturesUtils.scala │ │ ├── request_context/ │ │ │ ├── BUILD │ │ │ └── RequestContextFeatures.scala │ │ ├── simcluster/ │ │ │ ├── BUILD │ │ │ ├── SimclusterFeatures.scala │ │ │ ├── SimclusterTweetFeatures.scala │ │ │ └── SimclustersScoresFeatures.scala │ │ ├── socialproof/ │ │ │ ├── BUILD │ │ │ └── SocialProofFeatures.scala │ │ ├── time_features/ │ │ │ ├── BUILD │ │ │ └── TimeDataRecordFeatures.scala │ │ ├── two_hop_features/ │ │ │ ├── BUILD │ │ │ ├── TwoHopFeatures.scala │ │ │ └── TwoHopFeaturesConfig.scala │ │ └── user_health/ │ │ ├── BUILD │ │ └── UserHealthFeatures.scala │ └── thrift/ │ └── com/ │ └── twitter/ │ ├── interaction_graph/ │ │ ├── BUILD │ │ └── interaction_graph.thrift │ ├── recos/ │ │ ├── recos.thrift │ │ ├── recos_common.thrift │ │ ├── recos_injector.thrift │ │ ├── user_tweet_entity_graph/ │ │ │ ├── BUILD │ │ │ ├── CONFIG.ini │ │ │ └── user_tweet_entity_graph.thrift │ │ ├── user_tweet_graph/ │ │ │ ├── BUILD │ │ │ ├── CONFIG.ini │ │ │ └── user_tweet_graph.thrift │ │ ├── user_user_graph/ │ │ │ ├── BUILD │ │ │ ├── CONFIG.ini │ │ │ └── user_user_graph.thrift │ │ └── user_video_graph/ │ │ ├── BUILD │ │ ├── CONFIG.ini │ │ └── user_video_graph.thrift │ ├── search/ │ │ ├── common/ │ │ │ └── ranking/ │ │ │ └── ranking.thrift │ │ └── earlybird/ │ │ └── thrift/ │ │ └── earlybird.thrift │ └── simclusters_v2/ │ ├── BUILD │ ├── abuse.thrift │ ├── clustering.thrift │ ├── embedding.thrift │ ├── entity.thrift │ ├── evaluation.thrift │ ├── graph.thrift │ ├── identifier.thrift │ ├── inferred_entities.thrift │ ├── interests.thrift │ ├── multi_type_graph.thrift │ ├── offline_job_internal.thrift │ ├── online_store.thrift │ ├── online_store_internal.thrift │ ├── score.thrift │ ├── simclusters_presto.thrift │ ├── top_k_map.thrift │ └── tweet_similarity.thrift ├── timelineranker/ │ ├── README.md │ ├── client/ │ │ └── builder/ │ │ ├── BUILD │ │ ├── README.md │ │ └── src/ │ │ └── main/ │ │ └── scala/ │ │ ├── BUILD │ │ └── com/ │ │ └── twitter/ │ │ └── timelineranker/ │ │ └── client/ │ │ ├── TimelineRankerClient.scala │ │ └── TimelineRankerClientBuilder.scala │ ├── common/ │ │ ├── BUILD │ │ └── src/ │ │ └── main/ │ │ └── scala/ │ │ ├── BUILD │ │ └── com/ │ │ └── twitter/ │ │ └── timelineranker/ │ │ ├── adapter/ │ │ │ ├── BUILD │ │ │ └── TimelineServiceAdapter.scala │ │ └── model/ │ │ ├── BUILD │ │ ├── CandidateTweet.scala │ │ ├── CandidateTweetsResult.scala │ │ ├── HydratedTweetEntry.scala │ │ ├── Language.scala │ │ ├── LanguageScope.scala │ │ ├── PartiallyHydratedTweet.scala │ │ ├── PriorSeenEntries.scala │ │ ├── RankedTimelineQuery.scala │ │ ├── RankedTimelineQueryOptions.scala │ │ ├── RecapQuery.scala │ │ ├── ReverseChronTimelineQuery.scala │ │ ├── ReverseChronTimelineQueryOptions.scala │ │ ├── TimeRange.scala │ │ ├── Timeline.scala │ │ ├── TimelineEntry.scala │ │ ├── TimelineEntryEnvelope.scala │ │ ├── TimelineQuery.scala │ │ ├── TimelineQueryOptions.scala │ │ ├── TimelineRange.scala │ │ ├── Tweet.scala │ │ ├── TweetIdRange.scala │ │ └── UtegLikedByTweetsOptions.scala │ └── server/ │ ├── BUILD.bazel │ ├── config/ │ │ ├── BUILD │ │ └── decider.yml │ └── src/ │ └── main/ │ ├── resources/ │ │ ├── BUILD.bazel │ │ └── logback-timelineranker.xml │ └── scala/ │ ├── BUILD.bazel │ └── com/ │ └── twitter/ │ └── timelineranker/ │ ├── clients/ │ │ ├── BUILD │ │ ├── CortexTweetQueryServiceClient.scala │ │ ├── MemcacheFactory.scala │ │ └── content_features_cache/ │ │ ├── BUILD │ │ └── ContentFeaturesMemcacheBuilder.scala │ ├── common/ │ │ ├── BUILD │ │ ├── CandidateGenerationTransform.scala │ │ ├── ContentFeaturesHydrationTransform.scala │ │ ├── CreateCandidateEnvelopeTransform.scala │ │ ├── FeatureHydrationDataTransform.scala │ │ ├── FollowAndRealGraphCombiningTransform.scala │ │ ├── FollowGraphDataTransform.scala │ │ ├── HydrateTweetsAndSourceTweetsInParallelTransform.scala │ │ ├── HydratedTweetsFilterTransform.scala │ │ ├── InNetworkTweetsSearchFeaturesHydrationTransform.scala │ │ ├── MarkRandomTweetTransform.scala │ │ ├── OutOfNetworkRepliesToUserIdSearchResultsTransform.scala │ │ ├── OutOfNetworkTweetsSearchFeaturesHydrationTransform.scala │ │ ├── RecapHydrationSearchResultsTransformBase.scala │ │ ├── RecapSearchResultsTransform.scala │ │ ├── RecapSearchResultsTruncationTransform.scala │ │ ├── SearchResultDedupAndSortingTransform.scala │ │ ├── SourceTweetsSearchResultsTransform.scala │ │ ├── TrimToMatchHydratedTweetsTransform.scala │ │ ├── TrimToMatchSearchResultsTransform.scala │ │ ├── TweetHydrationTransform.scala │ │ ├── TweetKindOptionHydratedTweetsFilterTransform.scala │ │ ├── UserLanguagesTransform.scala │ │ ├── UserProfileInfoTransform.scala │ │ └── VisibilityEnforcingTransform.scala │ ├── config/ │ │ ├── BUILD │ │ ├── CallInfo.scala │ │ ├── ClientAccessPermissions.scala │ │ ├── ClientWrapperFactories.scala │ │ ├── ClientWrappers.scala │ │ ├── DefaultUnderlyingClientConfiguration.scala │ │ ├── RequestScopes.scala │ │ ├── RuntimeConfiguration.scala │ │ ├── StagingUnderlyingConfiguration.scala │ │ ├── TimelineRankerConstants.scala │ │ ├── TimelineRankerFlags.scala │ │ └── UnderlyingClientConfiguration.scala │ ├── contentfeatures/ │ │ ├── BUILD │ │ └── package.scala │ ├── core/ │ │ ├── BUILD │ │ ├── CandidateEnvelope.scala │ │ ├── FollowGraphData.scala │ │ ├── FollowGraphDataFuture.scala │ │ ├── HydratedCandidatesAndFeaturesEnvelope.scala │ │ ├── HydratedTweets.scala │ │ └── package.scala │ ├── decider/ │ │ ├── BUILD │ │ └── DeciderKey.scala │ ├── entity_tweets/ │ │ ├── BUILD.bazel │ │ ├── EntityTweetsRepository.scala │ │ ├── EntityTweetsRepositoryBuilder.scala │ │ ├── EntityTweetsSearchResultsTransform.scala │ │ └── EntityTweetsSource.scala │ ├── in_network_tweets/ │ │ ├── BUILD │ │ ├── InNetworkTweetRepository.scala │ │ ├── InNetworkTweetRepositoryBuilder.scala │ │ └── InNetworkTweetSource.scala │ ├── monitoring/ │ │ ├── BUILD │ │ └── UsersSearchResultMonitoringTransform.scala │ ├── observe/ │ │ ├── BUILD.bazel │ │ ├── DebugObserverBuilder.scala │ │ └── ObservedRequests.scala │ ├── parameters/ │ │ ├── BUILD │ │ ├── ConfigBuilder.scala │ │ ├── entity_tweets/ │ │ │ ├── BUILD │ │ │ ├── EntityTweetsParams.scala │ │ │ └── EntityTweetsProduction.scala │ │ ├── in_network_tweets/ │ │ │ ├── BUILD │ │ │ ├── InNetworkTweetParams.scala │ │ │ └── InNetworkTweetProduction.scala │ │ ├── monitoring/ │ │ │ ├── BUILD │ │ │ ├── MonitoringParams.scala │ │ │ └── MonitoringProduction.scala │ │ ├── recap/ │ │ │ ├── BUILD │ │ │ ├── RecapParams.scala │ │ │ ├── RecapProduction.scala │ │ │ └── RecapQueryContext.scala │ │ ├── recap_author/ │ │ │ ├── BUILD │ │ │ ├── RecapAuthorParams.scala │ │ │ └── RecapAuthorProduction.scala │ │ ├── recap_hydration/ │ │ │ ├── BUILD │ │ │ ├── RecapHydrationParams.scala │ │ │ └── RecapHydrationProduction.scala │ │ ├── revchron/ │ │ │ ├── BUILD │ │ │ ├── ReverseChronParams.scala │ │ │ ├── ReverseChronProduction.scala │ │ │ ├── ReverseChronTimelineQueryContext.scala │ │ │ └── ReverseChronTimelineQueryContextBuilder.scala │ │ ├── uteg_liked_by_tweets/ │ │ │ ├── BUILD │ │ │ ├── UtegLikedByTweetsParams.scala │ │ │ └── UtegLikedByTweetsProduction.scala │ │ └── util/ │ │ ├── BUILD │ │ ├── CommonRequestContext.scala │ │ ├── ConfigHelper.scala │ │ └── RecapQueryParamInitializer.scala │ ├── recap/ │ │ ├── BUILD │ │ └── model/ │ │ ├── BUILD │ │ └── ContentFeatures.scala │ ├── recap_author/ │ │ ├── BUILD.bazel │ │ ├── RecapAuthorRepository.scala │ │ ├── RecapAuthorRepositoryBuilder.scala │ │ ├── RecapAuthorSearchResultsTransform.scala │ │ └── RecapAuthorSource.scala │ ├── recap_hydration/ │ │ ├── BUILD.bazel │ │ ├── RecapHydrationRepository.scala │ │ ├── RecapHydrationRepositoryBuilder.scala │ │ ├── RecapHydrationSearchResultsTransform.scala │ │ └── RecapHydrationSource.scala │ ├── repository/ │ │ ├── BUILD │ │ ├── CandidatesRepositoryBuilder.scala │ │ ├── RankedHomeTimelineRepository.scala │ │ ├── RepositoryBuilder.scala │ │ ├── ReverseChronHomeTimelineRepository.scala │ │ ├── ReverseChronHomeTimelineRepositoryBuilder.scala │ │ ├── RoutingTimelineRepository.scala │ │ ├── RoutingTimelineRepositoryBuilder.scala │ │ └── TimelineRepository.scala │ ├── server/ │ │ ├── BUILD.bazel │ │ ├── Main.scala │ │ ├── TimelineRanker.scala │ │ ├── TimelineRankerBuilder.scala │ │ ├── TimelineRankerThriftWebForms.scala │ │ └── Warmup.scala │ ├── source/ │ │ ├── BUILD │ │ ├── ReverseChronHomeTimelineSource.scala │ │ └── TimelineSource.scala │ ├── uteg_liked_by_tweets/ │ │ ├── BUILD.bazel │ │ ├── CombinedScoreAndTruncateTransform.scala │ │ ├── MinNumNonAuthorFavoritedByUserIdsFilterTransform.scala │ │ ├── RemoveCandidatesAuthoredByWeightedFollowingsTransform.scala │ │ ├── SocialProofAndUTEGScoreHydrationTransform.scala │ │ ├── UTEGResultsTransform.scala │ │ ├── UtegLikedByTweetsRepository.scala │ │ ├── UtegLikedByTweetsRepositoryBuilder.scala │ │ ├── UtegLikedByTweetsSearchResultsTransform.scala │ │ └── UtegLikedByTweetsSource.scala │ ├── util/ │ │ ├── BUILD │ │ ├── CachingContentFeaturesProvider.scala │ │ ├── CopyContentFeaturesIntoHydratedTweetsTransform.scala │ │ ├── CopyContentFeaturesIntoThriftTweetFeaturesTransform.scala │ │ ├── ExtendedRepliesFilter.scala │ │ ├── LatentRepository.scala │ │ ├── RecommendedRepliesFilter.scala │ │ ├── ReverseExtendedRepliesFilter.scala │ │ ├── SearchResultUtil.scala │ │ ├── SearchResultWithVisibilityActors.scala │ │ ├── SnowflakeUtils.scala │ │ ├── SourceTweetsUtil.scala │ │ ├── TweetAnnotationFeaturesExtractor.scala │ │ ├── TweetHydrator.scala │ │ ├── TweetMediaFeatureExtractor.scala │ │ ├── TweetTextFeaturesExtractor.scala │ │ ├── TweetsPostFilter.scala │ │ ├── TweetsPostFilterBasedOnSearchMetadata.scala │ │ └── TweetypieContentFeaturesProvider.scala │ └── visibility/ │ ├── BUILD │ ├── FollowGraphDataProvider.scala │ ├── RealGraphFollowGraphDataProvider.scala │ └── SgsFollowGraphDataProvider.scala ├── timelines/ │ └── data_processing/ │ ├── ad_hoc/ │ │ └── earlybird_ranking/ │ │ └── earlybird_ranking/ │ │ ├── BUILD │ │ ├── common/ │ │ │ ├── BUILD │ │ │ ├── EarlybirdTrainingConfiguration.scala │ │ │ ├── EarlybirdTrainingRecapConfiguration.scala │ │ │ └── EarlybirdTrainingRectweetConfiguration.scala │ │ ├── model_evaluation/ │ │ │ ├── BUILD │ │ │ ├── EarlybirdEvaluationMetric.scala │ │ │ └── EarlybirdModelEvaluationJob.scala │ │ └── training_data_generation/ │ │ ├── BUILD │ │ ├── EarlybirdExampleSampler.scala │ │ ├── EarlybirdStatsJob.scala │ │ └── EarlybirdTrainingDataJob.scala │ └── ml_util/ │ └── aggregation_framework/ │ ├── AggregateGroup.scala │ ├── AggregateSource.scala │ ├── AggregateStore.scala │ ├── AggregationConfig.scala │ ├── AggregationKey.scala │ ├── BUILD │ ├── DataRecordAggregationMonoid.scala │ ├── KeyedRecord.scala │ ├── OfflineAggregateInjections.scala │ ├── OfflineAggregateSource.scala │ ├── OfflineAggregateStore.scala │ ├── README.md │ ├── StoreConfig.scala │ ├── StoreRegister.scala │ ├── TypedAggregateGroup.scala │ ├── Utils.scala │ ├── conversion/ │ │ ├── AggregatesV2Adapter.scala │ │ ├── AggregatesV2FeatureSource.scala │ │ ├── BUILD │ │ ├── CombineCountsPolicy.scala │ │ ├── DataSetPipeSketchJoin.scala │ │ ├── PickFirstRecordPolicy.scala │ │ ├── PickTopCtrPolicy.scala │ │ ├── SparseBinaryAggregateJoin.scala │ │ ├── SparseBinaryMergePolicy.scala │ │ └── SparseBinaryMultipleAggregateJoin.scala │ ├── docs/ │ │ ├── AUTOMATED_COMMIT_FILES │ │ ├── aggregation.rst │ │ ├── batch.rst │ │ ├── conf.py │ │ ├── index.rst │ │ ├── joining.rst │ │ ├── real-time.rst │ │ └── troubleshooting.rst │ ├── heron/ │ │ ├── BUILD │ │ ├── NighthawkUnderlyingStoreConfig.scala │ │ ├── OnlineAggregationConfigTrait.scala │ │ ├── OnlineAggregationStoresTrait.scala │ │ ├── RealTimeAggregateStore.scala │ │ ├── RealTimeAggregatesJobBase.scala │ │ ├── RealTimeAggregatesJobConfig.scala │ │ ├── StormAggregateSource.scala │ │ ├── UserReindexingNighthawkStore.scala │ │ └── package.scala │ ├── job/ │ │ ├── AggregatesV2Job.scala │ │ ├── BUILD │ │ └── DataRecordFeatureCounter.scala │ ├── metrics/ │ │ ├── AggregateFeature.scala │ │ ├── AggregationMetric.scala │ │ ├── AggregationMetricCommon.scala │ │ ├── BUILD │ │ ├── ConversionUtils.scala │ │ ├── CountMetric.scala │ │ ├── EasyMetric.scala │ │ ├── FeatureCache.scala │ │ ├── LastResetMetric.scala │ │ ├── LatestMetric.scala │ │ ├── MaxMetric.scala │ │ ├── SumLikeMetric.scala │ │ ├── SumMetric.scala │ │ ├── SumSqMetric.scala │ │ ├── TimedValue.scala │ │ └── TimedValueAggregationMetric.scala │ ├── package.scala │ ├── query/ │ │ ├── BUILD │ │ └── ScopedAggregateBuilder.scala │ └── scalding/ │ ├── AggregateFeaturesMerger.scala │ ├── AggregatesStoreComparisonJob.scala │ ├── AggregatesV2ScaldingJob.scala │ ├── AggregationKeyOrdering.scala │ ├── BUILD │ ├── DeletedUserPruner.scala │ ├── MostRecentVersionedStore.scala │ └── sources/ │ ├── BUILD │ └── ScaldingAggregateSource.scala ├── topic-social-proof/ │ ├── README.md │ └── server/ │ ├── BUILD │ └── src/ │ └── main/ │ ├── resources/ │ │ ├── BUILD │ │ ├── config/ │ │ │ └── decider.yml │ │ └── logback.xml │ ├── scala/ │ │ └── com/ │ │ └── twitter/ │ │ └── tsp/ │ │ ├── BUILD │ │ ├── TopicSocialProofStratoFedServer.scala │ │ ├── columns/ │ │ │ ├── BUILD │ │ │ ├── TopicSocialProofBatchColumn.scala │ │ │ └── TopicSocialProofColumn.scala │ │ ├── common/ │ │ │ ├── BUILD │ │ │ ├── DeciderConstants.scala │ │ │ ├── FeatureSwitchesBuilder.scala │ │ │ ├── LoadShedder.scala │ │ │ ├── ParamsBuilder.scala │ │ │ ├── RecTargetFactory.scala │ │ │ ├── TopicSocialProofDecider.scala │ │ │ └── TopicSocialProofParams.scala │ │ ├── handlers/ │ │ │ ├── BUILD │ │ │ ├── TopicSocialProofHandler.scala │ │ │ └── UttChildrenWarmupHandler.scala │ │ ├── modules/ │ │ │ ├── BUILD │ │ │ ├── GizmoduckUserModule.scala │ │ │ ├── RepresentationScorerStoreModule.scala │ │ │ ├── TSPClientIdModule.scala │ │ │ ├── TopicListingModule.scala │ │ │ ├── TopicSocialProofStoreModule.scala │ │ │ ├── TopicTweetCosineSimilarityAggregateStoreModule.scala │ │ │ ├── TweetInfoStoreModule.scala │ │ │ ├── TweetyPieClientModule.scala │ │ │ ├── UnifiedCacheClient.scala │ │ │ ├── UttClientModule.scala │ │ │ └── UttLocalizationModule.scala │ │ ├── service/ │ │ │ ├── BUILD │ │ │ └── TopicSocialProofService.scala │ │ ├── stores/ │ │ │ ├── BUILD │ │ │ ├── LocalizedUttRecommendableTopicsStore.scala │ │ │ ├── RepresentationScorerStore.scala │ │ │ ├── SemanticCoreAnnotationStore.scala │ │ │ ├── TopicSocialProofStore.scala │ │ │ ├── TopicStore.scala │ │ │ ├── TopicTweetsCosineSimilarityAggregateStore.scala │ │ │ ├── TweetInfoStore.scala │ │ │ └── UttTopicFilterStore.scala │ │ └── utils/ │ │ ├── BUILD │ │ ├── LZ4Injection.scala │ │ ├── ReadableStoreWithMapOptionValues.scala │ │ └── SeqObjectInjection.scala │ └── thrift/ │ ├── BUILD │ ├── service.thrift │ └── tweet_info.thrift ├── trust_and_safety_models/ │ ├── README.md │ ├── abusive/ │ │ └── abusive_model.py │ ├── nsfw/ │ │ ├── nsfw_media.py │ │ └── nsfw_text.py │ └── toxicity/ │ ├── __init__.py │ ├── data/ │ │ ├── __init__.py │ │ ├── data_preprocessing.py │ │ ├── dataframe_loader.py │ │ └── mb_generator.py │ ├── load_model.py │ ├── optim/ │ │ ├── __init__.py │ │ ├── callbacks.py │ │ ├── losses.py │ │ └── schedulers.py │ ├── rescoring.py │ ├── settings/ │ │ ├── __init__.py │ │ └── default_settings_tox.py │ ├── train.py │ └── utils/ │ ├── __init__.py │ └── helpers.py ├── tweet-mixer/ │ └── server/ │ └── src/ │ └── main/ │ └── scala/ │ └── com/ │ └── twitter/ │ └── tweet_mixer/ │ ├── BUILD.bazel │ ├── TweetMixerHttpServerWarmupHandler.scala │ ├── TweetMixerServer.scala │ ├── TweetMixerThriftServerWarmupHandler.scala │ ├── candidate_pipeline/ │ │ ├── BUILD.bazel │ │ ├── CertoTopicTweetsCandidatePipelineConfigFactory.scala │ │ ├── ContentAnnTweetBasedCandidatePipelineConfigFactory.scala │ │ ├── ContentExplorationDRTweetTweetCandidatePipelineConfigFactory.scala │ │ ├── ContentExplorationDRTweetTweetTierTwoCandidatePipelineConfigFactory.scala │ │ ├── ContentExplorationDRUserTweetCandidatePipelineConfig.scala │ │ ├── ContentExplorationDRUserTweetTierTwoCandidatePipelineConfig.scala │ │ ├── ContentExplorationEmbeddingSimilarityCandidatePipelineConfigFactory.scala │ │ ├── ContentExplorationEmbeddingSimilarityTierTwoCandidatePipelineConfigFactory.scala │ │ ├── ContentExplorationEvergreenDRTweetTweetCandidatePipelineConfigFactory.scala │ │ ├── ContentExplorationSimclusterColdCandidatePipelineConfig.scala │ │ ├── ControlAiTopicCandidatePipelineConfig.scala │ │ ├── CuratedUserTlsPerLangaugeCandidatePipelineConfigFactory.scala │ │ ├── DeepRetrievalTweetTweetEmbeddingSimilarityCandidatePipelineConfigFactory.scala │ │ ├── DeepRetrievalTweetTweetSimilarityCandidatePipelineConfigFactory.scala │ │ ├── DeepRetrievalUserTweetSimilarityCandidatePipelineConfig.scala │ │ ├── EarlybirdInNetworkCandidatePipelineConfigFactory.scala │ │ ├── EventsCandidatePipelineConfig.scala │ │ ├── EvergreenDRCrossBorderUserTweetCandidatePipelineConfig.scala │ │ ├── EvergreenDRUserTweetCandidatePipelineConfig.scala │ │ ├── EvergreenVideosCandidatePipelineConfigFactory.scala │ │ ├── HaploliteCandidatePipelineConfigFactory.scala │ │ ├── MediaDeepRetrievalTweetTweetSimilarityCandidatePipelineConfigFactory.scala │ │ ├── MediaDeepRetrievalUserTweetSimilarityCandidatePipelineConfigFactory.scala │ │ ├── PinnedTweetRelatedCreatorPipelineConfigFactory.scala │ │ ├── PopGrokTopicTweetsCandidatePipelineConfigFactory.scala │ │ ├── PopularGeoTweetsCandidatePipelineConfigFactory.scala │ │ ├── PopularTopicTweetsCandidatePipelineConfigFactory.scala │ │ ├── QigSearchHistoryTweetsCandidatePipelineConfigFactory.scala │ │ ├── SemanticVideoCandidatePipelineConfigFactory.scala │ │ ├── SimclustersInterestedInCandidatePipelineConfigFactory.scala │ │ ├── SimclustersProducerBasedCandidatePipelineConfigFactory.scala │ │ ├── SimclustersPromotedCreatorCandidatePipelineConfigFactory.scala │ │ ├── SimclustersTweetBasedCandidatePipelineConfigFactory.scala │ │ ├── SkitTopicTweetsCandidatePipelineConfigFactory.scala │ │ ├── TrendsVideoCandidatePipelineConfig.scala │ │ ├── TwHINRebuildTweetSimilarityCandidatePipelineConfigFactory.scala │ │ ├── TwHINTweetSimilarityCandidatePipelineConfigFactory.scala │ │ ├── TwhinConsumerBasedCandidatePipelineConfigFactory.scala │ │ ├── TwhinUserTweetSimilarityCandidatePipelineConfig.scala │ │ ├── TwitterClipV0LongVideoCandidatePipelineConfigFactory.scala │ │ ├── TwitterClipV0ShortVideoCandidatePipelineConfigFactory.scala │ │ ├── UTEGCandidatePipelineConfigFactory.scala │ │ ├── UTGExpansionTweetBasedCandidatePipelineConfigFactory.scala │ │ ├── UTGProducerBasedCandidatePipelineConfigFactory.scala │ │ ├── UTGTweetBasedCandidatePipelineConfigFactory.scala │ │ ├── UVGExpansionTweetBasedCandidatePipelineConfigFactory.scala │ │ ├── UVGTweetBasedCandidatePipelineConfigFactory.scala │ │ ├── UserInterestsSummaryCandidatePipelineConfigFactory.scala │ │ └── UserLocationCandidatePipelineConfig.scala │ ├── candidate_source/ │ │ ├── BUILD.bazel │ │ ├── UTG/ │ │ │ ├── BUILD.bazel │ │ │ ├── UTGProducerBasedRequest.scala │ │ │ ├── UTGTweetBasedRequest.scala │ │ │ ├── UserTweetGraphConsumerBasedCandidateSource.scala │ │ │ ├── UserTweetGraphProducerBasedCandidateSource.scala │ │ │ └── UserTweetGraphTweetBasedCandidateSource.scala │ │ ├── UVG/ │ │ │ ├── BUILD.bazel │ │ │ ├── UVGTweetBasedRequest.scala │ │ │ ├── UserVideoGraphConsumerBasedCandidateSource.scala │ │ │ └── UserVideoGraphTweetBasedCandidateSource.scala │ │ ├── cached_candidate_source/ │ │ │ ├── BUILD.bazel │ │ │ └── MemcachedCandidateSource.scala │ │ ├── content_embedding_ann/ │ │ │ ├── BUILD.bazel │ │ │ └── ContentEmbeddingAnnCandidateSource.scala │ │ ├── curated_user_tls_per_language/ │ │ │ ├── BUILD.bazel │ │ │ └── CuratedUserTlsPerLanguageCandidateSource.scala │ │ ├── earlybird_realtime_cg/ │ │ │ ├── BUILD.bazel │ │ │ ├── EarlybirdRealtimeCGTweetCandidateSource.scala │ │ │ └── InNetworkRequest.scala │ │ ├── engaged_users/ │ │ │ ├── BUILD.bazel │ │ │ └── RecentEngagedUsersCandidateSource.scala │ │ ├── events/ │ │ │ ├── BUILD.bazel │ │ │ └── EventsCandidateSource.scala │ │ ├── evergreen_videos/ │ │ │ ├── BUILD.bazel │ │ │ ├── EvergreenVideosSearchByTweetQuery.scala │ │ │ ├── EvergreenVideosSearchByUserIdsQuery.scala │ │ │ ├── HistoricalEvergreenVideosCandidateSource.scala │ │ │ ├── MemeVideoCandidateSource.scala │ │ │ ├── SemanticVideoCandidateSource.scala │ │ │ ├── TwitterClipV0LongVideoCandidateSource.scala │ │ │ └── TwitterClipV0ShortVideoCandidateSource.scala │ │ ├── ndr_ann/ │ │ │ ├── BUILD.bazel │ │ │ ├── DRANNKey.scala │ │ │ ├── DRMultipleANNQuery.scala │ │ │ ├── DeepRetrievalTweetTweetANNCandidateSource.scala │ │ │ ├── DeepRetrievalTweetTweetEmbeddingANNCandidateSource.scala │ │ │ ├── DeepRetrievalUserTweetANNCandidateSource.scala │ │ │ ├── EmbeddingANNCandidateSource.scala │ │ │ ├── MediaDeepRetrievalUserTweetANNCandidateSource.scala │ │ │ └── UserInterestANNCandidateSource.scala │ │ ├── popular_geo_tweets/ │ │ │ ├── BUILD.bazel │ │ │ ├── PopularGeoTweetsCandidateSource.scala │ │ │ └── TripStratoGeoQuery.scala │ │ ├── popular_grok_topic_tweets/ │ │ │ ├── BUILD.bazel │ │ │ ├── GrokTopicTweetsQuery.scala │ │ │ └── PopGrokTopicTweetsCandidateSource.scala │ │ ├── popular_topic_tweets/ │ │ │ ├── BUILD.bazel │ │ │ ├── PopularTopicTweetsCandidateSource.scala │ │ │ └── TripStratoTopicQuery.scala │ │ ├── qig_service/ │ │ │ ├── BUILD.bazel │ │ │ ├── QigServiceBatchTweetCandidateSource.scala │ │ │ └── QigTweetCandidate.scala │ │ ├── simclusters_ann/ │ │ │ ├── BUILD.bazel │ │ │ ├── SANNQuery.scala │ │ │ ├── SimClustersAnnCandidateSource.scala │ │ │ ├── SimclusterColdPostsCandidateSource.scala │ │ │ ├── SimclusterColdPostsQuery.scala │ │ │ └── SimclusterPromotedCreatorAnnCandidateSource.scala │ │ ├── text_embedding_ann/ │ │ │ ├── BUILD.bazel │ │ │ ├── TextEmbeddingCandidateSource.scala │ │ │ └── TextEmbeddingQuery.scala │ │ ├── topic_tweets/ │ │ │ ├── BUILD.bazel │ │ │ ├── CertoTopicTweetsCandidateSource.scala │ │ │ └── SkitTopicTweetsCandidateSource.scala │ │ ├── trends/ │ │ │ ├── BUILD.bazel │ │ │ ├── TrendsCandidateSource.scala │ │ │ └── TrendsVideoCandidateSource.scala │ │ ├── twhin_ann/ │ │ │ ├── BUILD.bazel │ │ │ ├── TwHINANNCandidateSource.scala │ │ │ ├── TwHINRebuildANNCandidateSource.scala │ │ │ └── TwHINRebuildANNKey.scala │ │ ├── user_location/ │ │ │ ├── BUILD.bazel │ │ │ └── UserLocationCandidateSource.scala │ │ └── uss_service/ │ │ ├── BUILD.bazel │ │ └── USSSignalCandidateSource.scala │ ├── config/ │ │ ├── BUILD.bazel │ │ ├── SimClustersANNConfig.scala │ │ └── TimeoutConfig.scala │ ├── controller/ │ │ ├── BUILD.bazel │ │ └── TweetMixerThriftController.scala │ ├── feature/ │ │ ├── BUILD.bazel │ │ ├── EntityTypes.scala │ │ ├── FromInNetworkSourceFeature.scala │ │ ├── HydraScoreFeature.scala │ │ ├── InReplyToTweetIdFeature.scala │ │ ├── LanguageCodeFeature.scala │ │ ├── LowSignalUserFeature.scala │ │ ├── MediaMetadataFeatures.scala │ │ ├── PredictionRequestIdFeature.scala │ │ ├── RealGraphInNetworkScoresFeature.scala │ │ ├── RequestCountryPlaceIdFeature.scala │ │ ├── ScoreFeature.scala │ │ ├── SignalInfo.scala │ │ ├── SourceSignalFeature.scala │ │ ├── SourceTweetIdFeature.scala │ │ ├── TopicTweetScore.scala │ │ ├── TripTweetScore.scala │ │ ├── TweetInfoFeatures.scala │ │ ├── TweetTopicIdFeature.scala │ │ ├── USSFeatures.scala │ │ └── UserTopicIdsFeature.scala │ ├── functional_component/ │ │ ├── BUILD.bazel │ │ ├── TweetMixerFunctionalComponents.scala │ │ ├── filter/ │ │ │ ├── BUILD.bazel │ │ │ ├── GrokFilter.scala │ │ │ ├── ImpressedTweetsBloomFilter.scala │ │ │ ├── ImpressedTweetsFilter.scala │ │ │ ├── IsLongFormVideoFilter.scala │ │ │ ├── IsPortraitVideoFilter.scala │ │ │ ├── IsShortFormVideoFilter.scala │ │ │ ├── IsVideoTweetFilter.scala │ │ │ ├── MaxViewCountFilter.scala │ │ │ ├── MediaClusterIdDedupFilter.scala │ │ │ ├── MediaIdDedupFilter.scala │ │ │ ├── MediaWatchHistoryFilter.scala │ │ │ ├── MinScoreFilter.scala │ │ │ ├── ShouldIgnoreCandidatePipelinesFilter.scala │ │ │ └── TweetVisibilityAndReplyFilter.scala │ │ ├── gate/ │ │ │ ├── AllowLowSignalUserGate.scala │ │ │ ├── AllowNonEmptySearchHistoryUserGate.scala │ │ │ ├── BUILD.bazel │ │ │ ├── DenyLowSignalUserGate.scala │ │ │ ├── MaxFollowersGate.scala │ │ │ ├── MinTimeSinceLastRequestGate.scala │ │ │ └── ProbablisticPassGate.scala │ │ ├── hydrator/ │ │ │ ├── BUILD.bazel │ │ │ ├── ContentEmbeddingQueryFeatureHydratorFactory.scala │ │ │ ├── ContentExplorationDRUserEmbeddingQueryFeatureHydrator.scala │ │ │ ├── ContentMediaEmbeddingQueryFeatureHydratorFactory.scala │ │ │ ├── ControlAiTopicEmbeddingQueryFeatureHydrator.scala │ │ │ ├── DeepRetrievalTweetEmbeddingQueryFeatureHydratorFactory.scala │ │ │ ├── DeepRetrievalUserEmbeddingQueryFeatureHydrator.scala │ │ │ ├── EvergreenDRUserEmbeddingQueryFeatureHydrator.scala │ │ │ ├── FeedbackHistoryQueryFeatureHydrator.scala │ │ │ ├── GizmoduckQueryFeatureHydrator.scala │ │ │ ├── GrokBooleanFeatureHydrator.scala │ │ │ ├── GrokCategoriesFeatureHydrator.scala │ │ │ ├── GrokFilterFeatureHydrator.scala │ │ │ ├── HaploliteQueryFeatureHydrator.scala │ │ │ ├── HighQualitySourceSignalQueryFeatureHydrator.scala │ │ │ ├── HydraRankingPreparationQueryFeatureHydrator.scala │ │ │ ├── ImpressionBloomFilterQueryFeatureHydrator.scala │ │ │ ├── ImpressionVideoBloomFilterVideoFeatureHydrator.scala │ │ │ ├── LastNonPollingTimeQueryFeatureHydrator.scala │ │ │ ├── MediaDeepRetrievalTweetEmbeddingQueryFeatureHydratorFactory.scala │ │ │ ├── MediaDeepRetrievalUserEmbeddingQueryFeatureHydrator.scala │ │ │ ├── MediaMetadataCandidateFeatureHydrator.scala │ │ │ ├── MultimodalEmbeddingQueryFeatureHydratorFactory.scala │ │ │ ├── OutlierDeepRetrievalEmbeddingQueryFeatureHydratorFactory.scala │ │ │ ├── RealGraphInNetworkScoresQueryFeatureHydrator.scala │ │ │ ├── RequestCountryPlaceIdFeatureHydrator.scala │ │ │ ├── SGSFollowedUsersQueryFeatureHydrator.scala │ │ │ ├── SignalInfoCandidateFeatureHydrator.scala │ │ │ ├── TweetypieCandidateFeatureHydrator.scala │ │ │ ├── TweetypieSeedTweetsQueryFeatureHydratorFactory.scala │ │ │ ├── TwhinUserPositiveEmbeddingQueryFeatureHydrator.scala │ │ │ ├── USSDeepRetrievalTweetEmbeddingFeatureHydrator.scala │ │ │ ├── USSGrokCategoryFeatureHydrator.scala │ │ │ ├── USSQueryFeatureHydrator.scala │ │ │ ├── UTGOutlierSignalsQueryFeatureHydrator.scala │ │ │ ├── UVGOutlierSignalsQueryFeatureHydrator.scala │ │ │ ├── UecAggTweetTotalFeatureHydrator.scala │ │ │ ├── UserInterestSummaryQueryFeatureHydrator.scala │ │ │ ├── UserSignalQueryFeatureHydrator.scala │ │ │ └── UserTopicIdsFeatureHydrator.scala │ │ ├── selector/ │ │ │ ├── BUILD.bazel │ │ │ ├── FavoriteSelector.scala │ │ │ ├── FeedbackRelevantSelector.scala │ │ │ ├── HydraBasedSorterProvider.scala │ │ │ ├── HydraBasedTransformedSorterProvider.scala │ │ │ ├── InsertAppendWeightedSignalPriorityWeaveResults.scala │ │ │ ├── ReserveVideoSelector.scala │ │ │ └── UprankVideoSorterProvider.scala │ │ ├── side_effect/ │ │ │ ├── BUILD.bazel │ │ │ ├── DeepRetrievalAdHocSideEffect.scala │ │ │ ├── EvergreenVideosSideEffect.scala │ │ │ ├── HydraScoringSideEffect.scala │ │ │ ├── PublishGroxUserInterestsSideEffect.scala │ │ │ ├── RequestMultimodalEmbeddingSideEffect.scala │ │ │ ├── ScribeServedCandidatesSideEffect.scala │ │ │ └── SelectedStatsSideEffect.scala │ │ └── transformer/ │ │ ├── AnnCandidateFeatureTransformer.scala │ │ ├── BUILD.bazel │ │ ├── CertoTopicTweetsQueryTransformer.scala │ │ ├── EarlybirdInNetworkQueryTransformer.scala │ │ ├── EarlybirdInNetworkResponseFeatureTransformer.scala │ │ ├── EvergreenVideosQueryTransformer.scala │ │ ├── EvergreenVideosResponseFeatureTransformer.scala │ │ ├── GrokTopicTweetsQueryTransformer.scala │ │ ├── HaploliteResponseFeatureTransformer.scala │ │ ├── QigBatchQueryTransformer.scala │ │ ├── QigTweetCandidateFeatureTransformer.scala │ │ ├── SANNQueryTransformer.scala │ │ ├── SkitTopicTweetsQueryTransformer.scala │ │ ├── TimelineQueryTransformer.scala │ │ ├── TopicTweetFeatureTransformer.scala │ │ ├── TripStratoGeoQueryTransformer.scala │ │ ├── TripStratoTopicQueryTransformer.scala │ │ ├── TripTweetFeatureTransformer.scala │ │ ├── TweetFeatureTimelineServiceTransformer.scala │ │ ├── TweetMixerCandidateFeatureTransformer.scala │ │ ├── TwitterClipV0LongVideoQueryTransformer.scala │ │ ├── TwitterClipV0ShortVideoQueryTransformer.scala │ │ ├── UTGProducerBasedQueryTransformer.scala │ │ ├── UTGTweetBasedQueryTransformer.scala │ │ ├── UVGTweetBasedQueryTransformer.scala │ │ ├── UtegQueryTransformer.scala │ │ └── UtegResponseFeatureTransformer.scala │ ├── marshaller/ │ │ ├── request/ │ │ │ ├── BUILD.bazel │ │ │ ├── TweetMixerDebugParamsUnmarshaller.scala │ │ │ ├── TweetMixerProductContextUnmarshaller.scala │ │ │ ├── TweetMixerProductUnmarshaller.scala │ │ │ └── TweetMixerRequestUnmarshaller.scala │ │ └── response/ │ │ ├── BUILD.bazel │ │ ├── TweetMixerProductResponseMarshaller.scala │ │ ├── TweetMixerResponseTransportMarshaller.scala │ │ └── common/ │ │ ├── BUILD.bazel │ │ └── TweetResultMarshaller.scala │ ├── model/ │ │ ├── BUILD.bazel │ │ ├── ModuleNames.scala │ │ ├── request/ │ │ │ ├── BUILD.bazel │ │ │ ├── HasContentCategory.scala │ │ │ ├── HasTopicIds.scala │ │ │ ├── HasVideoType.scala │ │ │ ├── TweetMixerDebugOptions.scala │ │ │ ├── TweetMixerProduct.scala │ │ │ └── TweetMixerRequest.scala │ │ └── response/ │ │ ├── BUILD.bazel │ │ ├── RecommendationResult.scala │ │ ├── TweetMixerCandidate.scala │ │ ├── TweetMixerProductResponse.scala │ │ └── TweetMixerResponse.scala │ ├── module/ │ │ ├── BUILD.bazel │ │ ├── CertoStratoTopicTweetsStoreModule.scala │ │ ├── ExtendedStratoClientModule.scala │ │ ├── GPURetrievalHttpClientModule.scala │ │ ├── HaploliteClientModule.scala │ │ ├── HydraEmbeddingGenerationServiceClientModule.scala │ │ ├── HydraRootClientModule.scala │ │ ├── InMemoryCacheModule.scala │ │ ├── MHMtlsParamsModule.scala │ │ ├── ManhattanFeatureRepositoryModule.scala │ │ ├── MemCacheClientModule.scala │ │ ├── PipelineFailureExceptionMapper.scala │ │ ├── SampleFeatureStoreV1DynamicClientBuilderModule.scala │ │ ├── SimClustersANNServiceNameToClientMapper.scala │ │ ├── SkitStratoTopicTweetsStoreModule.scala │ │ ├── StitchMemcacheClientModule.scala │ │ ├── TimeoutConfigModule.scala │ │ ├── TwHINANNServiceModule.scala │ │ ├── TwHINEmbeddingStoreModule.scala │ │ ├── TweetMixerFlagModule.scala │ │ ├── UserStateStoreModule.scala │ │ └── thrift_client/ │ │ ├── AnnEmbeddingProducerModule.scala │ │ ├── AnnQueryServiceClientModule.scala │ │ ├── AnnQueryableByIdModule.scala │ │ ├── BUILD.bazel │ │ ├── EarlybirdRealtimeCGModule.scala │ │ ├── GeoduckHydrationClientModule.scala │ │ ├── GeoduckLocationServiceClientModule.scala │ │ ├── QigServiceClientModule.scala │ │ ├── SimClustersAnnServiceClientModule.scala │ │ ├── TweetyPieClientModule.scala │ │ ├── UserTweetGraphClientModule.scala │ │ ├── UserVideoGraphClientModule.scala │ │ └── VecDBAnnServiceClientModule.scala │ ├── param/ │ │ ├── BUILD.bazel │ │ ├── CandidateSourceParams.scala │ │ ├── CertoTopicTweetsParams.scala │ │ ├── ContentEmbeddingAnnParams.scala │ │ ├── CuratedUserTlsPerLanguageParams.scala │ │ ├── EarlybirdInNetworkTweetsParams.scala │ │ ├── EvergreenParams.scala │ │ ├── GlobalParamConfigModule.scala │ │ ├── HighQualitySourceSignalParams.scala │ │ ├── PopGrokTopicTweetsParams.scala │ │ ├── PopularGeoTweetsParams.scala │ │ ├── PopularTopicTweetsParams.scala │ │ ├── SimClustersAnnParams.scala │ │ ├── SkitTopicTweetsParams.scala │ │ ├── TweetMixerGlobalParamConfig.scala │ │ ├── TweetMixerGlobalParams.scala │ │ ├── USSParams.scala │ │ ├── UTGParams.scala │ │ ├── UVGParams.scala │ │ ├── UserLocationParams.scala │ │ └── decider/ │ │ ├── BUILD.bazel │ │ └── DeciderKey.scala │ ├── product/ │ │ ├── BUILD.bazel │ │ ├── TweetMixerProductModule.scala │ │ ├── TweetMixerProductPipelineRegistryConfig.scala │ │ └── home_recommended_tweets/ │ │ ├── BUILD.bazel │ │ ├── HomeRecommendedTweetsProductPipelineConfig.scala │ │ ├── HomeRecommendedTweetsRecommendationPipelineConfig.scala │ │ ├── marshaller/ │ │ │ ├── request/ │ │ │ │ ├── BUILD.bazel │ │ │ │ └── HomeRecommendedTweetsProductContextUnmarshaller.scala │ │ │ └── response/ │ │ │ ├── BUILD.bazel │ │ │ ├── HomeRecommendedTweetsDomainResponseMarshaller.scala │ │ │ └── HomeRecommendedTweetsProductResponseMarshaller.scala │ │ ├── model/ │ │ │ ├── request/ │ │ │ │ ├── BUILD.bazel │ │ │ │ ├── HomeRecommendedTweetsProductContext.scala │ │ │ │ └── HomeRecommendedTweetsQuery.scala │ │ │ └── response/ │ │ │ ├── BUILD.bazel │ │ │ ├── HomeRecommendedTweetsProductResponse.scala │ │ │ └── HomeRecommendedTweetsResult.scala │ │ └── param/ │ │ ├── BUILD.bazel │ │ ├── HomeRecommendedTweetsParam.scala │ │ └── HomeRecommendedTweetsParamConfig.scala │ ├── scorer/ │ │ ├── BUILD.bazel │ │ └── HydraScorer.scala │ ├── scoring_pipeline/ │ │ ├── BUILD.bazel │ │ └── HydraScoringPipelineConfig.scala │ ├── service/ │ │ ├── BUILD.bazel │ │ ├── TweetMixerAccessPolicy.scala │ │ ├── TweetMixerNotificationConfig.scala │ │ └── TweetMixerService.scala │ ├── store/ │ │ ├── BUILD.bazel │ │ └── TwhinEmbeddingsStore.scala │ └── utils/ │ ├── BUILD.bazel │ ├── BucketSnowflakeIdAgeStats.scala │ ├── CandidatePipelineConstants.scala │ ├── CandidateSourceUtil.scala │ ├── ConcurrentMapCache.scala │ ├── InjectionTransformer.scala │ ├── MemCacheStitchClient.scala │ ├── PipelineFailureCategories.scala │ ├── SignalUtils.scala │ ├── Transformers.scala │ └── Utils.scala ├── tweetypie/ │ ├── common/ │ │ └── src/ │ │ ├── scala/ │ │ │ └── com/ │ │ │ └── twitter/ │ │ │ └── tweetypie/ │ │ │ ├── additionalfields/ │ │ │ │ ├── AdditionalFields.scala │ │ │ │ └── BUILD │ │ │ ├── caching/ │ │ │ │ ├── BUILD │ │ │ │ ├── CacheOperations.scala │ │ │ │ ├── CacheResult.scala │ │ │ │ ├── Expiry.scala │ │ │ │ ├── ServoCachedValueSerializer.scala │ │ │ │ ├── SoftTtl.scala │ │ │ │ ├── StitchAsync.scala │ │ │ │ ├── StitchCacheOperations.scala │ │ │ │ ├── StitchCaching.scala │ │ │ │ └── ValueSerializer.scala │ │ │ ├── client_id/ │ │ │ │ ├── BUILD │ │ │ │ └── ClientIdHelper.scala │ │ │ ├── context/ │ │ │ │ ├── BUILD │ │ │ │ └── TweetypieContext.scala │ │ │ ├── decider/ │ │ │ │ ├── BUILD │ │ │ │ ├── DeciderGates.scala │ │ │ │ └── overrides/ │ │ │ │ ├── BUILD │ │ │ │ └── TweetyPieDeciderOverrides.scala │ │ │ ├── jiminy/ │ │ │ │ └── tweetypie/ │ │ │ │ ├── BUILD │ │ │ │ └── NudgeBuilder.scala │ │ │ ├── matching/ │ │ │ │ ├── BUILD │ │ │ │ ├── TokenSequence.scala │ │ │ │ ├── Tokenizer.scala │ │ │ │ ├── TweetTokenizer.scala │ │ │ │ └── UserMutes.scala │ │ │ ├── media/ │ │ │ │ ├── BUILD │ │ │ │ ├── Media.scala │ │ │ │ ├── MediaUrl.scala │ │ │ │ └── package.scala │ │ │ ├── storage/ │ │ │ │ ├── AddTweetHandler.scala │ │ │ │ ├── BUILD │ │ │ │ ├── BounceDeleteHandler.scala │ │ │ │ ├── Codecs.scala │ │ │ │ ├── DeleteAdditionalFieldsHandler.scala │ │ │ │ ├── Field.scala │ │ │ │ ├── GetDeletedTweetsHandler.scala │ │ │ │ ├── GetStoredTweetHandler.scala │ │ │ │ ├── GetTweetHandler.scala │ │ │ │ ├── HardDeleteTweetHandler.scala │ │ │ │ ├── InspectFields.scala │ │ │ │ ├── Json.scala │ │ │ │ ├── ManhattanOperations.scala │ │ │ │ ├── ManhattanTweetStorageClient.scala │ │ │ │ ├── Response.scala │ │ │ │ ├── Scribe.scala │ │ │ │ ├── ScrubHandler.scala │ │ │ │ ├── SoftDeleteHandler.scala │ │ │ │ ├── Stats.scala │ │ │ │ ├── StatusConversions.scala │ │ │ │ ├── StorageConversions.scala │ │ │ │ ├── TimestampDecoder.scala │ │ │ │ ├── TweetKey.scala │ │ │ │ ├── TweetStateRecord.scala │ │ │ │ ├── TweetStorageClient.scala │ │ │ │ ├── TweetStorageException.scala │ │ │ │ ├── TweetUtils.scala │ │ │ │ ├── UndeleteHandler.scala │ │ │ │ ├── UpdateTweetHandler.scala │ │ │ │ └── package.scala │ │ │ ├── tflock/ │ │ │ │ ├── BUILD │ │ │ │ ├── TFlockIndexer.scala │ │ │ │ └── TweetIndexer.scala │ │ │ ├── thriftscala/ │ │ │ │ ├── BUILD │ │ │ │ ├── NotImplementedTweetService.scala │ │ │ │ ├── TweetServiceProxy.scala │ │ │ │ └── entities/ │ │ │ │ ├── BUILD │ │ │ │ ├── CashtagTextEntity.scala │ │ │ │ ├── EntityExtractor.scala │ │ │ │ ├── HashtagTextEntity.scala │ │ │ │ ├── Implicits.scala │ │ │ │ ├── MediaTextEntity.scala │ │ │ │ ├── MentionTextEntity.scala │ │ │ │ ├── TextRangeEntityAdapter.scala │ │ │ │ └── UrlTextEntity.scala │ │ │ ├── tweettext/ │ │ │ │ ├── BUILD │ │ │ │ ├── GraphemeIndexIterator.scala │ │ │ │ ├── IndexConverter.scala │ │ │ │ ├── Offset.scala │ │ │ │ ├── PartialHtmlEncoding.scala │ │ │ │ ├── Preprocessor.scala │ │ │ │ ├── TextEntity.scala │ │ │ │ ├── TextModification.scala │ │ │ │ ├── Truncator.scala │ │ │ │ └── TweetText.scala │ │ │ └── util/ │ │ │ ├── BUILD │ │ │ ├── CommunityAnnotation.scala │ │ │ ├── CommunityUtil.scala │ │ │ ├── ConversationControls.scala │ │ │ ├── EditControlUtil.scala │ │ │ ├── RetryPolicyBuilder.scala │ │ │ ├── StitchUtils.scala │ │ │ ├── StringLiteral.scala │ │ │ ├── Takedowns.scala │ │ │ ├── TransientContextUtil.scala │ │ │ ├── TweetCreationLock.scala │ │ │ ├── TweetLenses.scala │ │ │ ├── TweetPermalinkUtil.scala │ │ │ ├── TweetTransformer.scala │ │ │ ├── logging/ │ │ │ │ ├── AlertableExceptionLoggingFilter.scala │ │ │ │ ├── BUILD │ │ │ │ └── OnlyImportantLogsLoggingFilter.scala │ │ │ └── package.scala │ │ └── thrift/ │ │ └── com/ │ │ └── twitter/ │ │ └── tweetypie/ │ │ ├── BUILD │ │ ├── api_fields.thrift │ │ ├── creative-entity-enrichments/ │ │ │ └── creative_entity_enrichments.thrift │ │ ├── delete_location_data.thrift │ │ ├── deleted_tweet.thrift │ │ ├── deprecated.thrift │ │ ├── edit_control.thrift │ │ ├── geo/ │ │ │ └── tweet_location_info.thrift │ │ ├── media/ │ │ │ └── media_ref.thrift │ │ ├── media_entity.thrift │ │ ├── note_tweet.thrift │ │ ├── retweet_archival_event.thrift │ │ ├── storage_internal/ │ │ │ ├── BUILD │ │ │ └── storage_internal.thrift │ │ ├── stored_tweet_info.thrift │ │ ├── transient_context.thrift │ │ ├── tweet.thrift │ │ ├── tweet_audit.thrift │ │ ├── tweet_comparison_service.thrift │ │ ├── tweet_events.thrift │ │ ├── tweet_service.thrift │ │ ├── tweet_service_federated.thrift │ │ ├── tweet_service_graphql.thrift │ │ └── unmentions/ │ │ └── unmentions.thrift │ ├── server/ │ │ ├── BUILD │ │ ├── README.md │ │ ├── config/ │ │ │ ├── BUILD │ │ │ ├── decider.yml │ │ │ ├── decider_staging.yml │ │ │ ├── logging/ │ │ │ │ ├── logback-all-include.xml │ │ │ │ ├── logback-without-loglens.xml │ │ │ │ └── logback.xml │ │ │ └── partner_media.yml │ │ └── src/ │ │ └── main/ │ │ ├── scala/ │ │ │ └── com/ │ │ │ └── twitter/ │ │ │ └── tweetypie/ │ │ │ ├── BUILD │ │ │ ├── backends/ │ │ │ │ ├── BUILD │ │ │ │ ├── Backend.scala │ │ │ │ ├── ConfigBus.scala │ │ │ │ ├── CreativesContainerService.scala │ │ │ │ ├── Escherbird.scala │ │ │ │ ├── Expandodo.scala │ │ │ │ ├── GeoScrubEventStore.scala │ │ │ │ ├── Gizmoduck.scala │ │ │ │ ├── GnipEnricherator.scala │ │ │ │ ├── LimiterBackend.scala │ │ │ │ ├── LimiterService.scala │ │ │ │ ├── Manhattan.scala │ │ │ │ ├── MediaInfoService.scala │ │ │ │ ├── Scarecrow.scala │ │ │ │ ├── SocialGraphService.scala │ │ │ │ ├── TFlock.scala │ │ │ │ ├── Talon.scala │ │ │ │ ├── TimelineService.scala │ │ │ │ ├── UserImageService.scala │ │ │ │ └── Warmup.scala │ │ │ ├── config/ │ │ │ │ ├── BUILD │ │ │ │ ├── BackendClients.scala │ │ │ │ ├── Caches.scala │ │ │ │ ├── ClientsParser.scala │ │ │ │ ├── DynamicConfig.scala │ │ │ │ ├── DynamicConfigLoader.scala │ │ │ │ ├── ExternalRepositories.scala │ │ │ │ ├── LogicalRepositories.scala │ │ │ │ ├── Main.scala │ │ │ │ ├── MemcacheExceptionLoggingFilter.scala │ │ │ │ ├── Resources.scala │ │ │ │ ├── ScribeTweetCacheWrites.scala │ │ │ │ ├── TweetBuilders.scala │ │ │ │ ├── TweetHydrators.scala │ │ │ │ ├── TweetServerBuilder.scala │ │ │ │ ├── TweetServiceAuthorizers.scala │ │ │ │ ├── TweetServiceBuilder.scala │ │ │ │ ├── TweetServiceInvocationBuilder.scala │ │ │ │ ├── TweetServiceSettings.scala │ │ │ │ ├── TweetStores.scala │ │ │ │ ├── TweetypieDeciderGates.scala │ │ │ │ ├── WritePathHydration.scala │ │ │ │ └── package.scala │ │ │ ├── core/ │ │ │ │ ├── BUILD │ │ │ │ ├── CardReferenceUriExtractor.scala │ │ │ │ ├── EditState.scala │ │ │ │ ├── Exceptions.scala │ │ │ │ ├── FilteredState.scala │ │ │ │ ├── GeoSearchRequestId.scala │ │ │ │ ├── HydrationState.scala │ │ │ │ ├── QuotedTweetResult.scala │ │ │ │ ├── Serializer.scala │ │ │ │ ├── StoredTweetResult.scala │ │ │ │ ├── TweetCreateFailure.scala │ │ │ │ ├── TweetData.scala │ │ │ │ ├── TweetResult.scala │ │ │ │ ├── UpstreamFailure.scala │ │ │ │ ├── ValueState.scala │ │ │ │ └── package.scala │ │ │ ├── federated/ │ │ │ │ ├── BUILD │ │ │ │ ├── StratoCatalogBuilder.scala │ │ │ │ ├── columns/ │ │ │ │ │ ├── AccessPolicy.scala │ │ │ │ │ ├── ApiErrors.scala │ │ │ │ │ ├── BUILD │ │ │ │ │ ├── CreateRetweetColumn.scala │ │ │ │ │ ├── CreateTweetColumn.scala │ │ │ │ │ ├── DeleteTweetColumn.scala │ │ │ │ │ ├── FederatedFieldColumn.scala │ │ │ │ │ ├── FederatedFieldGroup.scala │ │ │ │ │ ├── FederatedFieldReq.scala │ │ │ │ │ ├── GetStoredTweetsByUserColumn.scala │ │ │ │ │ ├── GetStoredTweetsColumn.scala │ │ │ │ │ ├── GetTweetFieldsColumn.scala │ │ │ │ │ ├── HydrationOptions.scala │ │ │ │ │ ├── TrackingId.scala │ │ │ │ │ ├── TweetypieContactInfo.scala │ │ │ │ │ └── UnretweetColumn.scala │ │ │ │ ├── context/ │ │ │ │ │ ├── BUILD │ │ │ │ │ └── RequestContext.scala │ │ │ │ ├── prefetcheddata/ │ │ │ │ │ ├── BUILD │ │ │ │ │ └── PrefetchedDataRepository.scala │ │ │ │ ├── promotedcontent/ │ │ │ │ │ ├── BUILD │ │ │ │ │ └── TweetPromotedContentLogger.scala │ │ │ │ └── warmups/ │ │ │ │ ├── BUILD │ │ │ │ └── StratoCatalogWarmups.scala │ │ │ ├── handler/ │ │ │ │ ├── AttachmentBuilder.scala │ │ │ │ ├── BUILD │ │ │ │ ├── CardReferenceValidationHandler.scala │ │ │ │ ├── CardUsersFinder.scala │ │ │ │ ├── CollabControlBuilder.scala │ │ │ │ ├── CommunitiesValidator.scala │ │ │ │ ├── ConversationControlBuilder.scala │ │ │ │ ├── DeleteAdditionalFieldsBuilder.scala │ │ │ │ ├── DeleteLocationDataHandler.scala │ │ │ │ ├── DuplicateTweetFinder.scala │ │ │ │ ├── EditControlBuilder.scala │ │ │ │ ├── EditValidator.scala │ │ │ │ ├── EraseUserTweetsHandler.scala │ │ │ │ ├── GeoBuilder.scala │ │ │ │ ├── GetDeletedTweetsHandler.scala │ │ │ │ ├── GetStoredTweetsByUserHandler.scala │ │ │ │ ├── GetStoredTweetsHandler.scala │ │ │ │ ├── GetTweetCountsHandler.scala │ │ │ │ ├── GetTweetFieldsHandler.scala │ │ │ │ ├── GetTweetsHandler.scala │ │ │ │ ├── HandlerError.scala │ │ │ │ ├── MediaBuilder.scala │ │ │ │ ├── PostTweet.scala │ │ │ │ ├── QuotedTweetDeleteEventBuilder.scala │ │ │ │ ├── QuotedTweetTakedownEventBuilder.scala │ │ │ │ ├── RateLimitChecker.scala │ │ │ │ ├── ReplyBuilder.scala │ │ │ │ ├── RetweetBuilder.scala │ │ │ │ ├── ReverseGeocoder.scala │ │ │ │ ├── ScarecrowRetweetSpamChecker.scala │ │ │ │ ├── ScarecrowTweetSpamChecker.scala │ │ │ │ ├── ScrubGeoEventBuilder.scala │ │ │ │ ├── SelfThreadBuilder.scala │ │ │ │ ├── SetAdditionalFieldsBuilder.scala │ │ │ │ ├── SetRetweetVisibilityHandler.scala │ │ │ │ ├── Spam.scala │ │ │ │ ├── TakedownHandler.scala │ │ │ │ ├── TweetBuilder.scala │ │ │ │ ├── TweetCreationLock.scala │ │ │ │ ├── TweetDeletePathHandler.scala │ │ │ │ ├── TweetWriteValidator.scala │ │ │ │ ├── U13ValidationUtil.scala │ │ │ │ ├── UndeleteTweetHandler.scala │ │ │ │ ├── UnretweetHandler.scala │ │ │ │ ├── UpdatePossiblySensitiveTweetHandler.scala │ │ │ │ ├── UrlEntityBuilder.scala │ │ │ │ ├── UrlShortener.scala │ │ │ │ ├── UserTakedownHandler.scala │ │ │ │ ├── WritePathQueryOptions.scala │ │ │ │ └── package.scala │ │ │ ├── hydrator/ │ │ │ │ ├── BUILD │ │ │ │ ├── Card2Hydrator.scala │ │ │ │ ├── CardHydrator.scala │ │ │ │ ├── ContributorHydrator.scala │ │ │ │ ├── ContributorVisibilityFilter.scala │ │ │ │ ├── ConversationControlHydrator.scala │ │ │ │ ├── ConversationIdHydrator.scala │ │ │ │ ├── ConversationMutedHydrator.scala │ │ │ │ ├── CopyFromSourceTweet.scala │ │ │ │ ├── CreatedAtRepairer.scala │ │ │ │ ├── DeviceSourceHydrator.scala │ │ │ │ ├── DirectedAtHydrator.scala │ │ │ │ ├── EditControlHydrator.scala │ │ │ │ ├── EditHydrator.scala │ │ │ │ ├── EditPerspectiveHydrator.scala │ │ │ │ ├── EscherbirdAnnotationHydrator.scala │ │ │ │ ├── FeatureSwitchResultsHydrator.scala │ │ │ │ ├── GeoScrubHydrator.scala │ │ │ │ ├── HasMediaHydrator.scala │ │ │ │ ├── IM1837FilterHydrator.scala │ │ │ │ ├── IM2884FilterHydrator.scala │ │ │ │ ├── IM3433FilterHydrator.scala │ │ │ │ ├── LanguageHydrator.scala │ │ │ │ ├── MediaEntityHydrator.scala │ │ │ │ ├── MediaInfoHydrator.scala │ │ │ │ ├── MediaIsProtectedHydrator.scala │ │ │ │ ├── MediaKeyHydrator.scala │ │ │ │ ├── MediaRefsHydrator.scala │ │ │ │ ├── MediaTagsHydrator.scala │ │ │ │ ├── MediaUrlFieldsHydrator.scala │ │ │ │ ├── MentionEntityHydrator.scala │ │ │ │ ├── NegativeVisibleTextRangeRepairer.scala │ │ │ │ ├── NoteTweetSuffixHydrator.scala │ │ │ │ ├── PartialEntityCleaner.scala │ │ │ │ ├── PastedMediaHydrator.scala │ │ │ │ ├── PerspectiveHydrator.scala │ │ │ │ ├── PlaceHydrator.scala │ │ │ │ ├── PreviousTweetCountsHydrator.scala │ │ │ │ ├── ProfileGeoHydrator.scala │ │ │ │ ├── QuoteTweetVisibilityHydrator.scala │ │ │ │ ├── QuotedTweetHydrator.scala │ │ │ │ ├── QuotedTweetRefHydrator.scala │ │ │ │ ├── QuotedTweetRefUrlsHydrator.scala │ │ │ │ ├── RepairMutation.scala │ │ │ │ ├── ReplyScreenNameHydrator.scala │ │ │ │ ├── ReportedTweetFilter.scala │ │ │ │ ├── RetweetMediaRepairer.scala │ │ │ │ ├── RetweetParentStatusIdRepairer.scala │ │ │ │ ├── ScrubEngagementHydrator.scala │ │ │ │ ├── ScrubUncacheableTweetRepairer.scala │ │ │ │ ├── SourceTweetHydrator.scala │ │ │ │ ├── StripHiddenGeoCoordinates.scala │ │ │ │ ├── SuperfluousUrlEntityScrubber.scala │ │ │ │ ├── TakedownHydrator.scala │ │ │ │ ├── TextRepairer.scala │ │ │ │ ├── TweetAuthorVisibilityHydrator.scala │ │ │ │ ├── TweetCountsHydrator.scala │ │ │ │ ├── TweetCtx.scala │ │ │ │ ├── TweetHydration.scala │ │ │ │ ├── TweetLegacyFormatter.scala │ │ │ │ ├── TweetQueryOptionsExpander.scala │ │ │ │ ├── TweetVisibilityHydrator.scala │ │ │ │ ├── UnmentionDataHydrator.scala │ │ │ │ ├── UnrequestedFieldScrubber.scala │ │ │ │ ├── UrlEntityHydrator.scala │ │ │ │ ├── ValueHydrator.scala │ │ │ │ └── package.scala │ │ │ ├── media/ │ │ │ │ ├── BUILD │ │ │ │ ├── MediaClient.scala │ │ │ │ ├── MediaKeyClassifier.scala │ │ │ │ ├── MediaKeyUtil.scala │ │ │ │ └── MediaMetadata.scala │ │ │ ├── package.scala │ │ │ ├── repository/ │ │ │ │ ├── BUILD │ │ │ │ ├── CacheStitch.scala │ │ │ │ ├── CachingTweetRepository.scala │ │ │ │ ├── Card2Repository.scala │ │ │ │ ├── CardRepository.scala │ │ │ │ ├── CardUsersRepository.scala │ │ │ │ ├── ConversationControlRepository.scala │ │ │ │ ├── ConversationIdRepository.scala │ │ │ │ ├── ConversationMutedRepository.scala │ │ │ │ ├── CreativesContainerMaterializationRepository.scala │ │ │ │ ├── DeletedTweetVisibilityRepository.scala │ │ │ │ ├── DeviceSourceRepository.scala │ │ │ │ ├── EscherbirdAnnotationRepository.scala │ │ │ │ ├── GeoScrubTimestampRepository.scala │ │ │ │ ├── GeoduckPlaceRepository.scala │ │ │ │ ├── LastQuoteOfQuoterRepository.scala │ │ │ │ ├── ManhattanTweetRepository.scala │ │ │ │ ├── MediaMetadataRepository.scala │ │ │ │ ├── ParentUserIdRepository.scala │ │ │ │ ├── PastedMediaRepository.scala │ │ │ │ ├── PenguinLanguageRepository.scala │ │ │ │ ├── PerspectiveRepository.scala │ │ │ │ ├── PlaceRepository.scala │ │ │ │ ├── ProfileGeoRepository.scala │ │ │ │ ├── QuotedTweetVisibilityRepository.scala │ │ │ │ ├── QuoterHasAlreadyQuotedRepository.scala │ │ │ │ ├── RelationshipRepository.scala │ │ │ │ ├── RetweetSpamCheckRepository.scala │ │ │ │ ├── StitchLockingCache.scala │ │ │ │ ├── StratoCommunityAccessRepository.scala │ │ │ │ ├── StratoCommunityMembershipRepository.scala │ │ │ │ ├── StratoPromotedTweetRepository.scala │ │ │ │ ├── StratoSafetyLabelsRepository.scala │ │ │ │ ├── StratoSubscriptionVerificationRepository.scala │ │ │ │ ├── StratoSuperFollowEligibleRepository.scala │ │ │ │ ├── StratoSuperFollowRelationsRepository.scala │ │ │ │ ├── TweetCountsRepository.scala │ │ │ │ ├── TweetQuery.scala │ │ │ │ ├── TweetRepository.scala │ │ │ │ ├── TweetResultRepository.scala │ │ │ │ ├── TweetSpamCheckRepository.scala │ │ │ │ ├── TweetVisibilityRepository.scala │ │ │ │ ├── UnmentionInfoRepository.scala │ │ │ │ ├── UnmentionedEntitiesRepository.scala │ │ │ │ ├── UrlRepository.scala │ │ │ │ ├── UserInfoRepository.scala │ │ │ │ ├── UserRepository.scala │ │ │ │ ├── UserTakedownRepository.scala │ │ │ │ ├── UserViewerRecipient.scala │ │ │ │ ├── VibeRepository.scala │ │ │ │ ├── VisibilityResultToFilteredState.scala │ │ │ │ └── package.scala │ │ │ ├── serverutil/ │ │ │ │ ├── ActivityService.scala │ │ │ │ ├── ActivityUtil.scala │ │ │ │ ├── BUILD │ │ │ │ ├── BoringStackTrace.scala │ │ │ │ ├── CaffeineMemcacheClient.scala │ │ │ │ ├── DeviceSourceParser.scala │ │ │ │ ├── ExceptionCounter.scala │ │ │ │ ├── ExtendedTweetMetadataBuilder.scala │ │ │ │ ├── NullMemcacheClient.scala │ │ │ │ ├── PartnerMedia.scala │ │ │ │ ├── StoredCard.scala │ │ │ │ └── logcachewrites/ │ │ │ │ ├── BUILD │ │ │ │ ├── TweetCacheWrite.scala │ │ │ │ └── WriteLoggingCache.scala │ │ │ ├── service/ │ │ │ │ ├── BUILD │ │ │ │ ├── ClientHandlingTweetService.scala │ │ │ │ ├── DispatchingTweetService.scala │ │ │ │ ├── FailureLoggingTweetService.scala │ │ │ │ ├── MethodAuthorizer.scala │ │ │ │ ├── ObservedTweetService.scala │ │ │ │ ├── QuillTweetService.scala │ │ │ │ ├── ReplicatingTweetService.scala │ │ │ │ ├── RescueExceptions.scala │ │ │ │ ├── TweetServiceProxy.scala │ │ │ │ ├── TweetServiceWarmer.scala │ │ │ │ ├── observer/ │ │ │ │ │ ├── BUILD │ │ │ │ │ ├── GetDeletedTweetsObserver.scala │ │ │ │ │ ├── GetStoredTweetsByUserObserver.scala │ │ │ │ │ ├── GetStoredTweetsObserver.scala │ │ │ │ │ ├── GetTweetCountsObserver.scala │ │ │ │ │ ├── GetTweetFieldsObserver.scala │ │ │ │ │ ├── GetTweetsObserver.scala │ │ │ │ │ ├── Observer.scala │ │ │ │ │ ├── PostTweetObserver.scala │ │ │ │ │ ├── ResultStateStats.scala │ │ │ │ │ ├── StoredTweetsObserver.scala │ │ │ │ │ └── package.scala │ │ │ │ └── package.scala │ │ │ └── store/ │ │ │ ├── AsyncEnqueueStore.scala │ │ │ ├── BUILD │ │ │ ├── CachingTweetStore.scala │ │ │ ├── DeleteAdditionalFields.scala │ │ │ ├── DeleteTweet.scala │ │ │ ├── FanoutServiceStore.scala │ │ │ ├── Flush.scala │ │ │ ├── GeoSearchRequestIDStore.scala │ │ │ ├── GizmoduckUserCountsUpdatingStore.scala │ │ │ ├── GizmoduckUserGeotagUpdateStore.scala │ │ │ ├── Guano.scala │ │ │ ├── GuanoServiceStore.scala │ │ │ ├── IncrBookmarkCount.scala │ │ │ ├── IncrFavCount.scala │ │ │ ├── InitialTweetUpdate.scala │ │ │ ├── InsertTweet.scala │ │ │ ├── LimiterStore.scala │ │ │ ├── LogLensStore.scala │ │ │ ├── ManhattanTweetStore.scala │ │ │ ├── MediaIndexHelper.scala │ │ │ ├── MediaServiceStore.scala │ │ │ ├── QuotedTweetDelete.scala │ │ │ ├── QuotedTweetOps.scala │ │ │ ├── QuotedTweetTakedown.scala │ │ │ ├── ReplicatingTweetStore.scala │ │ │ ├── RetweetArchivalEnqueueStore.scala │ │ │ ├── ScribeMediaTagStore.scala │ │ │ ├── ScrubGeo.scala │ │ │ ├── SetAdditionalFields.scala │ │ │ ├── SetRetweetVisibility.scala │ │ │ ├── Takedown.scala │ │ │ ├── TlsTimelineUpdatingStore.scala │ │ │ ├── TweetCountsCacheUpdatingStore.scala │ │ │ ├── TweetEventBusStore.scala │ │ │ ├── TweetIndexingStore.scala │ │ │ ├── TweetStatsStore.scala │ │ │ ├── TweetStore.scala │ │ │ ├── TweetStoreEvent.scala │ │ │ ├── TweetUpdate.scala │ │ │ ├── UndeleteTweet.scala │ │ │ ├── UpdatePossiblySensitiveTweet.scala │ │ │ └── package.scala │ │ └── thrift/ │ │ ├── BUILD │ │ └── tweetypie_internal.thrift │ └── servo/ │ ├── README.md │ ├── decider/ │ │ ├── BUILD │ │ └── src/ │ │ └── main/ │ │ └── scala/ │ │ ├── BUILD │ │ └── com/ │ │ └── twitter/ │ │ └── servo/ │ │ ├── decider/ │ │ │ ├── DeciderGateBuilder.scala │ │ │ ├── DeciderKeyEnum.scala │ │ │ └── package.scala │ │ └── gate/ │ │ └── DeciderGate.scala │ ├── json/ │ │ ├── BUILD │ │ └── src/ │ │ └── main/ │ │ └── scala/ │ │ └── com/ │ │ └── twitter/ │ │ └── servo/ │ │ └── json/ │ │ ├── BUILD │ │ └── ThriftJsonInspector.scala │ ├── repo/ │ │ ├── BUILD │ │ └── src/ │ │ └── main/ │ │ ├── scala/ │ │ │ ├── BUILD │ │ │ └── com/ │ │ │ └── twitter/ │ │ │ └── servo/ │ │ │ ├── cache/ │ │ │ │ ├── ByteCountingMemcache.scala │ │ │ │ ├── Cache.scala │ │ │ │ ├── CacheFactory.scala │ │ │ │ ├── Cached.scala │ │ │ │ ├── CounterCache.scala │ │ │ │ ├── CounterSerializer.scala │ │ │ │ ├── FinagleMemcache.scala │ │ │ │ ├── ForwardingCache.scala │ │ │ │ ├── HotKeyMemcacheClient.scala │ │ │ │ ├── InProcessCache.scala │ │ │ │ ├── IterableSerializer.scala │ │ │ │ ├── KeyFilteringCache.scala │ │ │ │ ├── KeyTransformer.scala │ │ │ │ ├── LockingCache.scala │ │ │ │ ├── Memcache.scala │ │ │ │ ├── MigratingCache.scala │ │ │ │ ├── MissingCache.scala │ │ │ │ ├── ObservableCache.scala │ │ │ │ ├── SecondaryIndexingCache.scala │ │ │ │ ├── SelectedCache.scala │ │ │ │ ├── SeqSerializer.scala │ │ │ │ ├── Serializer.scala │ │ │ │ ├── SetSerializer.scala │ │ │ │ ├── SimpleReplicatingCache.scala │ │ │ │ ├── TransformingCache.scala │ │ │ │ ├── TtlCache.scala │ │ │ │ └── package.scala │ │ │ ├── database/ │ │ │ │ ├── Accessors.scala │ │ │ │ ├── Bitfield.scala │ │ │ │ ├── Credentials.scala │ │ │ │ ├── Database.scala │ │ │ │ └── package.scala │ │ │ ├── hydrator/ │ │ │ │ └── KeyValueHydrator.scala │ │ │ ├── keyvalue/ │ │ │ │ └── KeyValueResult.scala │ │ │ ├── repository/ │ │ │ │ ├── CachingCounterKeyValueRepository.scala │ │ │ │ ├── CachingKeyValueRepository.scala │ │ │ │ ├── ChunkingStrategy.scala │ │ │ │ ├── DarkmodingKeyValueRepositoryFactory.scala │ │ │ │ ├── HotKeyCachingKeyValueRepository.scala │ │ │ │ ├── ImmutableKeyValueRepository.scala │ │ │ │ ├── KeyValueRepository.scala │ │ │ │ ├── ObservableKeyValueRepository.scala │ │ │ │ ├── Repository.scala │ │ │ │ ├── ResponseCachingKeyValueRepository.scala │ │ │ │ ├── RichQuery.scala │ │ │ │ ├── SuccessRateTrackingRepository.scala │ │ │ │ └── package.scala │ │ │ └── store/ │ │ │ ├── CachingStore.scala │ │ │ ├── KeyValueStore.scala │ │ │ ├── ObservableStore.scala │ │ │ └── Store.scala │ │ └── thrift/ │ │ ├── BUILD │ │ └── com/ │ │ └── twitter/ │ │ └── servo/ │ │ └── cache/ │ │ └── servo_repo.thrift │ ├── request/ │ │ ├── BUILD │ │ └── src/ │ │ └── main/ │ │ └── scala/ │ │ ├── BUILD │ │ └── com/ │ │ └── twitter/ │ │ └── servo/ │ │ └── request/ │ │ ├── ClientRequestAuthorizer.scala │ │ ├── ClientRequestObserver.scala │ │ ├── PermissionModule.scala │ │ ├── RequestFilter.scala │ │ ├── RequestHandler.scala │ │ └── package.scala │ └── util/ │ ├── BUILD │ └── src/ │ └── main/ │ └── scala/ │ ├── BUILD │ └── com/ │ └── twitter/ │ └── servo/ │ ├── data/ │ │ ├── Lens.scala │ │ └── Mutation.scala │ ├── forked/ │ │ ├── Forked.scala │ │ └── QueueExecutor.scala │ ├── gate/ │ │ └── RateLimitingGate.scala │ └── util/ │ ├── Availability.scala │ ├── Average.scala │ ├── BatchExecutor.scala │ ├── CancelledExceptionExtractor.scala │ ├── CounterInitializingStatsReceiver.scala │ ├── Effect.scala │ ├── ExceptionCounter.scala │ ├── FrequencyCounter.scala │ ├── FunctionArrow.scala │ ├── FutureArrow.scala │ ├── FutureEffect.scala │ ├── Gate.scala │ ├── LogarithmicallyBucketedTimer.scala │ ├── MemoizingStatsReceiver.scala │ ├── Observable.scala │ ├── OptionOrdering.scala │ ├── RandomPerturber.scala │ ├── RateLimitingLogger.scala │ ├── Retry.scala │ ├── RetryHandler.scala │ ├── RpcRetry.scala │ ├── Scribe.scala │ ├── SuccessRateTracker.scala │ ├── SynchronizedHashMap.scala │ ├── ThreadLocalStringBuilder.scala │ ├── ThrowableHelper.scala │ ├── Transformer.scala │ ├── TryOrdering.scala │ ├── WaitForServerSets.scala │ └── package.scala ├── twml/ │ ├── BUILD │ ├── README.md │ ├── libtwml/ │ │ ├── BUILD │ │ ├── include/ │ │ │ ├── twml/ │ │ │ │ ├── BatchPredictionRequest.h │ │ │ │ ├── BatchPredictionResponse.h │ │ │ │ ├── BlockFormatReader.h │ │ │ │ ├── BlockFormatWriter.h │ │ │ │ ├── DataRecord.h │ │ │ │ ├── DataRecordReader.h │ │ │ │ ├── DataRecordWriter.h │ │ │ │ ├── Error.h │ │ │ │ ├── HashedDataRecord.h │ │ │ │ ├── HashedDataRecordReader.h │ │ │ │ ├── Hashmap.h │ │ │ │ ├── RawTensor.h │ │ │ │ ├── Tensor.h │ │ │ │ ├── TensorRecord.h │ │ │ │ ├── TensorRecordReader.h │ │ │ │ ├── TensorRecordWriter.h │ │ │ │ ├── ThriftReader.h │ │ │ │ ├── ThriftWriter.h │ │ │ │ ├── Type.h │ │ │ │ ├── common.h │ │ │ │ ├── defines.h │ │ │ │ ├── discretizer_impl.h │ │ │ │ ├── functions.h │ │ │ │ ├── hashing_discretizer_impl.h │ │ │ │ ├── io/ │ │ │ │ │ └── IOError.h │ │ │ │ ├── optim.h │ │ │ │ └── utilities.h │ │ │ └── twml.h │ │ ├── setup.cfg │ │ ├── setup.py │ │ └── src/ │ │ ├── lib/ │ │ │ ├── BatchPredictionRequest.cpp │ │ │ ├── BatchPredictionResponse.cpp │ │ │ ├── BlockFormatReader.cpp │ │ │ ├── BlockFormatWriter.cpp │ │ │ ├── CMakeLists.txt │ │ │ ├── CPPLINT.cfg │ │ │ ├── DataRecord.cpp │ │ │ ├── DataRecordReader.cpp │ │ │ ├── DataRecordWriter.cpp │ │ │ ├── HashedDataRecord.cpp │ │ │ ├── HashedDataRecordReader.cpp │ │ │ ├── Hashmap.cpp │ │ │ ├── Tensor.cpp │ │ │ ├── TensorRecordReader.cpp │ │ │ ├── TensorRecordWriter.cpp │ │ │ ├── ThriftReader.cpp │ │ │ ├── ThriftWriter.cpp │ │ │ ├── discretizer_impl.cpp │ │ │ ├── functions.cpp │ │ │ ├── hashing_discretizer_impl.cpp │ │ │ ├── internal/ │ │ │ │ ├── endianutils.h │ │ │ │ ├── error.h │ │ │ │ ├── interpolate.h │ │ │ │ ├── khash.h │ │ │ │ ├── linear_search.h │ │ │ │ ├── murmur_hash3.h │ │ │ │ ├── thrift.h │ │ │ │ └── utf_converter.h │ │ │ ├── io/ │ │ │ │ └── IOError.cpp │ │ │ ├── murmur_hash3.cpp │ │ │ ├── optim.cpp │ │ │ └── utf_converter.cpp │ │ └── ops/ │ │ ├── CMakeLists.txt │ │ ├── add1.cpp │ │ ├── batch_prediction_request.cpp │ │ ├── batch_prediction_request_v2.cpp │ │ ├── batch_prediction_response_writer.cpp │ │ ├── batch_prediction_tensor_response_writer.cpp │ │ ├── binary_sparse_dense_matmul.cpp │ │ ├── binary_sparse_dense_matmul.h │ │ ├── binary_sparse_dense_matmul_impl.h │ │ ├── block_format_dataset.cpp │ │ ├── block_format_reader.h │ │ ├── compress_sample_ids.cpp │ │ ├── contrib/ │ │ │ └── get_substrings.cpp │ │ ├── data_record.cpp │ │ ├── data_record_tensor_writer.cpp │ │ ├── discretizer.cpp │ │ ├── feature_extractor.cpp │ │ ├── feature_id.cpp │ │ ├── feature_mask.cpp │ │ ├── fixed_length_tensor.cpp │ │ ├── hashed_data_record.cpp │ │ ├── hashing_discretizer.cpp │ │ ├── hashmap.cpp │ │ ├── isotonic_calibration.cpp │ │ ├── num_intra_op_threads.cpp │ │ ├── par_add.cpp │ │ ├── partition_sparse_tensor.cpp │ │ ├── percentile_discretizer_v2.cpp │ │ ├── resource_utils.h │ │ ├── scripts/ │ │ │ ├── get_inc.py │ │ │ ├── get_inc.sh │ │ │ ├── get_lib.py │ │ │ ├── get_lib.sh │ │ │ └── symlink.sh │ │ ├── sleep_op.cpp │ │ ├── sparse_normalization.cpp │ │ ├── tensor_record.cpp │ │ ├── tensorflow_utils.cpp │ │ ├── tensorflow_utils.h │ │ └── var_length_reader.cpp │ ├── setup.cfg │ ├── setup.py │ ├── twml/ │ │ ├── __init__.py │ │ ├── argument_parser.py │ │ ├── array.py │ │ ├── block_format_writer.py │ │ ├── constants.py │ │ ├── contrib/ │ │ │ ├── __init__.py │ │ │ ├── build_graphs_fns.py │ │ │ ├── calibrators/ │ │ │ │ ├── __init__.py │ │ │ │ ├── calibrator.py │ │ │ │ ├── common_calibrators.py │ │ │ │ ├── hashed_percentile_discretizer.py │ │ │ │ ├── hashing_discretizer.py │ │ │ │ ├── isotonic.py │ │ │ │ ├── mdl.py │ │ │ │ └── percentile_discretizer.py │ │ │ ├── eventbus/ │ │ │ │ ├── input_fn.py │ │ │ │ └── reader.py │ │ │ ├── export/ │ │ │ │ ├── __init__.py │ │ │ │ ├── export_fn.py │ │ │ │ └── exporters.py │ │ │ ├── feature_config.py │ │ │ ├── feature_config_parsers.py │ │ │ ├── feature_importances/ │ │ │ │ ├── __init__.py │ │ │ │ ├── feature_importances.py │ │ │ │ ├── feature_permutation.py │ │ │ │ └── helpers.py │ │ │ ├── hooks.py │ │ │ ├── initializers.py │ │ │ ├── layers/ │ │ │ │ ├── __init__.py │ │ │ │ ├── embedding_lookup.py │ │ │ │ ├── factorization_machine.py │ │ │ │ ├── full_dense.py │ │ │ │ ├── hashed_percentile_discretizer.py │ │ │ │ ├── hashing_discretizer.py │ │ │ │ ├── mask_layer.py │ │ │ │ ├── stacked_rnn.py │ │ │ │ └── zscore_normalization.py │ │ │ ├── metrics/ │ │ │ │ ├── __init__.py │ │ │ │ ├── metrics.py │ │ │ │ └── search_metrics.py │ │ │ ├── optimizers/ │ │ │ │ ├── __init__.py │ │ │ │ ├── deep_gradient_compression_optimizer.py │ │ │ │ └── pruning_optimizer.py │ │ │ ├── parsers.py │ │ │ ├── pruning.py │ │ │ ├── readers/ │ │ │ │ ├── __init__.py │ │ │ │ ├── batch_prediction_request.py │ │ │ │ ├── data_record.py │ │ │ │ └── hashed_batch_prediction_request.py │ │ │ ├── trainers/ │ │ │ │ ├── __init__.py │ │ │ │ ├── batch_prediction_request_trainer.py │ │ │ │ ├── pruning_data_record_trainer.py │ │ │ │ └── trainer_utils.py │ │ │ └── utils/ │ │ │ ├── __init__.py │ │ │ ├── datasets.py │ │ │ ├── device.py │ │ │ ├── interp.py │ │ │ ├── loss_fns.py │ │ │ ├── masks.py │ │ │ ├── math_fns.py │ │ │ ├── normalizer.py │ │ │ ├── scores.py │ │ │ └── similarities.py │ │ ├── dataset.py │ │ ├── errors.py │ │ ├── export_output_fns.py │ │ ├── feature_config.py │ │ ├── filters.py │ │ ├── hooks.py │ │ ├── input_fns.py │ │ ├── layers/ │ │ │ ├── __init__.py │ │ │ ├── batch_prediction_tensor_writer.py │ │ │ ├── batch_prediction_writer.py │ │ │ ├── data_record_tensor_writer.py │ │ │ ├── full_dense.py │ │ │ ├── full_sparse.py │ │ │ ├── isotonic.py │ │ │ ├── layer.py │ │ │ ├── mdl.py │ │ │ ├── partition.py │ │ │ ├── percentile_discretizer.py │ │ │ ├── sequential.py │ │ │ ├── sparse_max_norm.py │ │ │ └── stitch.py │ │ ├── learning_rate_decay.py │ │ ├── lookup/ │ │ │ └── __init__.py │ │ ├── metrics.py │ │ ├── optimizers/ │ │ │ └── __init__.py │ │ ├── parsers.py │ │ ├── readers/ │ │ │ ├── __init__.py │ │ │ ├── batch_prediction_request.py │ │ │ ├── data_record.py │ │ │ ├── hashed_batch_prediction_request.py │ │ │ └── hashed_data_record.py │ │ ├── saved_model_cli/ │ │ │ ├── __init__.py │ │ │ └── __main__.py │ │ ├── summary/ │ │ │ └── __init__.py │ │ ├── tensorboard/ │ │ │ ├── __init__.py │ │ │ └── __main__.py │ │ ├── tensorio.py │ │ ├── tracking/ │ │ │ ├── __init__.py │ │ │ └── experiment_tracker.py │ │ ├── trainers/ │ │ │ ├── __init__.py │ │ │ ├── data_record_trainer.py │ │ │ └── trainer.py │ │ └── util.py │ └── twml_common/ │ ├── __init__.py │ ├── initializer.py │ ├── serialize.py │ └── sparse_inputs.py ├── unified_user_actions/ │ ├── .gitignore │ ├── BUILD.bazel │ ├── README.md │ ├── adapter/ │ │ └── src/ │ │ ├── main/ │ │ │ └── scala/ │ │ │ └── com/ │ │ │ └── twitter/ │ │ │ └── unified_user_actions/ │ │ │ └── adapter/ │ │ │ ├── AbstractAdapter.scala │ │ │ ├── BUILD │ │ │ ├── ads_callback_engagements/ │ │ │ │ ├── AdsCallbackEngagement.scala │ │ │ │ ├── AdsCallbackEngagementsAdapter.scala │ │ │ │ ├── BUILD │ │ │ │ ├── BaseAdsCallbackEngagement.scala │ │ │ │ ├── BaseTrendAdsCallbackEngagement.scala │ │ │ │ ├── BaseVideoAdsCallbackEngagement.scala │ │ │ │ ├── EngagementTypeMappings.scala │ │ │ │ └── ProfileAdsCallbackEngagement.scala │ │ │ ├── client_event/ │ │ │ │ ├── BUILD │ │ │ │ ├── BaseCTAClientEvent.scala │ │ │ │ ├── BaseCardClientEvent.scala │ │ │ │ ├── BaseClientEvent.scala │ │ │ │ ├── BaseFeedbackSubmitClientEvent.scala │ │ │ │ ├── BaseNotificationTabClientEvent.scala │ │ │ │ ├── BaseProfileClientEvent.scala │ │ │ │ ├── BasePushNotificationClientEvent.scala │ │ │ │ ├── BaseSearchTypeaheadEvent.scala │ │ │ │ ├── BaseTopicClientEvent.scala │ │ │ │ ├── BaseUASClientEvent.scala │ │ │ │ ├── BaseVideoClientEvent.scala │ │ │ │ ├── ClientEventAdapter.scala │ │ │ │ ├── ClientEventCommonUtils.scala │ │ │ │ ├── ClientEventEngagement.scala │ │ │ │ ├── ClientEventImpression.scala │ │ │ │ ├── HomeInfoUtils.scala │ │ │ │ ├── ItemTypeFilterPredicates.scala │ │ │ │ ├── NotificationClientEventUtils.scala │ │ │ │ ├── ProductSurfaceUtils.scala │ │ │ │ ├── SearchInfoUtils.scala │ │ │ │ ├── TopicIdUtils.scala │ │ │ │ └── VideoClientEventUtils.scala │ │ │ ├── common/ │ │ │ │ ├── AdapterUtils.scala │ │ │ │ └── BUILD │ │ │ ├── email_notification_event/ │ │ │ │ ├── BUILD │ │ │ │ ├── EmailNotificationEventAdapter.scala │ │ │ │ └── EmailNotificationEventUtils.scala │ │ │ ├── favorite_archival_events/ │ │ │ │ ├── BUILD │ │ │ │ └── FavoriteArchivalEventsAdapter.scala │ │ │ ├── retweet_archival_events/ │ │ │ │ ├── BUILD │ │ │ │ └── RetweetArchivalEventsAdapter.scala │ │ │ ├── social_graph_event/ │ │ │ │ ├── BUILD │ │ │ │ ├── BaseReportSocialGraphWriteEvent.scala │ │ │ │ ├── BaseSocialGraphWriteEvent.scala │ │ │ │ ├── SocialGraphAdapter.scala │ │ │ │ └── SocialGraphEngagement.scala │ │ │ ├── tls_favs_event/ │ │ │ │ ├── BUILD │ │ │ │ └── TlsFavsAdapter.scala │ │ │ ├── tweetypie_event/ │ │ │ │ ├── BUILD │ │ │ │ ├── BaseTweetypieTweetEvent.scala │ │ │ │ ├── BaseTweetypieTweetEventCreate.scala │ │ │ │ ├── BaseTweetypieTweetEventDelete.scala │ │ │ │ ├── TweetypieEventAdapter.scala │ │ │ │ └── TweetypieEventUtils.scala │ │ │ ├── user_modification_event/ │ │ │ │ ├── BUILD.bazel │ │ │ │ ├── UserModificationAdapter.scala │ │ │ │ └── UserModifications.scala │ │ │ └── uua_aggregates/ │ │ │ ├── BUILD │ │ │ ├── README │ │ │ ├── RekeyUuaAdapter.scala │ │ │ ├── RekeyUuaFromInteractionEventsAdapter.scala │ │ │ └── UuaActions.scala │ │ └── test/ │ │ └── scala/ │ │ └── com/ │ │ └── twitter/ │ │ └── unified_user_actions/ │ │ └── adapter/ │ │ ├── AdapterUtilsSpec.scala │ │ ├── AdsCallbackEngagementsAdapterSpec.scala │ │ ├── BUILD.bazel │ │ ├── ClientEventAdapterSpec.scala │ │ ├── EmailNotificationEventAdapterSpec.scala │ │ ├── EmailNotificationEventUtilsSpec.scala │ │ ├── FavoriteArchivalEventsAdapterSpec.scala │ │ ├── RekeyUuaFromInteractionEventsAdapterSpec.scala │ │ ├── RetweetArchivalEventsAdapterSpec.scala │ │ ├── SearchInfoUtilsSpec.scala │ │ ├── SocialGraphAdapterSpec.scala │ │ ├── TestFixtures.scala │ │ ├── TlsFavsAdapterSpec.scala │ │ ├── TopicsIdUtilsSpec.scala │ │ ├── TweetypieEventAdapterSpec.scala │ │ ├── UserModificationAdapterSpec.scala │ │ └── VideoClientEventUtilsSpec.scala │ ├── client/ │ │ └── src/ │ │ ├── main/ │ │ │ └── scala/ │ │ │ └── com/ │ │ │ └── twitter/ │ │ │ └── unified_user_actions/ │ │ │ └── client/ │ │ │ ├── config/ │ │ │ │ ├── BUILD │ │ │ │ ├── Clusters.scala │ │ │ │ ├── Constants.scala │ │ │ │ ├── Environments.scala │ │ │ │ └── KafkaConfigs.scala │ │ │ └── summingbird/ │ │ │ ├── BUILD │ │ │ └── UnifiedUserActionsSourceScrooge.scala │ │ └── test/ │ │ └── scala/ │ │ └── com/ │ │ └── twitter/ │ │ └── unified_user_actions/ │ │ └── client/ │ │ └── config/ │ │ ├── BUILD.bazel │ │ └── KafkaConfigsSpec.scala │ ├── enricher/ │ │ ├── BUILD.bazel │ │ ├── README.md │ │ └── src/ │ │ ├── main/ │ │ │ ├── scala/ │ │ │ │ └── com/ │ │ │ │ └── twitter/ │ │ │ │ └── unified_user_actions/ │ │ │ │ └── enricher/ │ │ │ │ ├── BUILD │ │ │ │ ├── Exceptions.scala │ │ │ │ ├── driver/ │ │ │ │ │ ├── BUILD │ │ │ │ │ ├── EnrichmentDriver.scala │ │ │ │ │ └── EnrichmentPlanUtils.scala │ │ │ │ ├── graphql/ │ │ │ │ │ ├── BUILD │ │ │ │ │ └── GraphqlRspParser.scala │ │ │ │ ├── hcache/ │ │ │ │ │ ├── BUILD │ │ │ │ │ ├── LocalCache.scala │ │ │ │ │ └── ObservedEvictingCache.scala │ │ │ │ ├── hydrator/ │ │ │ │ │ ├── AbstractHydrator.scala │ │ │ │ │ ├── BUILD │ │ │ │ │ ├── DefaultHydrator.scala │ │ │ │ │ ├── Hydrator.scala │ │ │ │ │ └── NoopHydrator.scala │ │ │ │ └── partitioner/ │ │ │ │ ├── BUILD │ │ │ │ ├── DefaultPartitioner.scala │ │ │ │ └── Partitioner.scala │ │ │ └── thrift/ │ │ │ └── com/ │ │ │ └── twitter/ │ │ │ └── unified_user_actions/ │ │ │ └── enricher/ │ │ │ └── internal/ │ │ │ ├── BUILD │ │ │ ├── enrichment_envelop.thrift │ │ │ ├── enrichment_key.thrift │ │ │ └── enrichment_plan.thrift │ │ └── test/ │ │ ├── resources/ │ │ │ ├── BUILD.bazel │ │ │ └── logback.xml │ │ └── scala/ │ │ └── com/ │ │ └── twitter/ │ │ └── unified_user_actions/ │ │ └── enricher/ │ │ ├── BUILD.bazel │ │ ├── EnricherFixture.scala │ │ ├── driver/ │ │ │ ├── BUILD.bazel │ │ │ └── DriverTest.scala │ │ ├── graphql/ │ │ │ ├── BUILD.bazel │ │ │ └── GraphqlSpecs.scala │ │ ├── hcache/ │ │ │ ├── BUILD.bazel │ │ │ └── LocalCacheTest.scala │ │ ├── hydrator/ │ │ │ ├── BUILD.bazel │ │ │ ├── DefaultHydratorTest.scala │ │ │ └── NoopHydratorTest.scala │ │ └── partitioner/ │ │ ├── BUILD.bazel │ │ └── DefaultPartitionerTest.scala │ ├── graphql/ │ │ ├── README.md │ │ └── TweetHydration.graphql │ ├── kafka/ │ │ └── src/ │ │ ├── main/ │ │ │ └── scala/ │ │ │ └── com/ │ │ │ └── twitter/ │ │ │ └── unified_user_actions/ │ │ │ └── kafka/ │ │ │ ├── BUILD │ │ │ ├── ClientConfigs.scala │ │ │ ├── ClientProviders.scala │ │ │ ├── CompressionTypeFlag.scala │ │ │ └── serde/ │ │ │ ├── NullableScalaSerdes.scala │ │ │ └── internal/ │ │ │ └── thrift.scala │ │ └── test/ │ │ ├── resources/ │ │ │ ├── BUILD.bazel │ │ │ └── logback-test.xml │ │ └── scala/ │ │ ├── BUILD.bazel │ │ └── com/ │ │ └── twitter/ │ │ └── unified_user_actions/ │ │ └── kafka/ │ │ └── serde/ │ │ ├── NullableScalaSerdesSpec.scala │ │ └── TestLogAppender.scala │ ├── scripts/ │ │ └── kill_staging.sh │ ├── service/ │ │ ├── deploy/ │ │ │ ├── kill-staging-services.workflow │ │ │ ├── rekey-uua-iesource-prod.workflow │ │ │ ├── rekey-uua-iesource-staging.workflow │ │ │ ├── rekey-uua-iesource.aurora │ │ │ ├── rekey-uua-prod.workflow │ │ │ ├── rekey-uua-staging.workflow │ │ │ ├── rekey-uua.aurora │ │ │ ├── uua-ads-callback-engagements-prod.workflow │ │ │ ├── uua-ads-callback-engagements-staging.workflow │ │ │ ├── uua-ads-callback-engagements.aurora │ │ │ ├── uua-client-event-prod.workflow │ │ │ ├── uua-client-event-staging.workflow │ │ │ ├── uua-client-event.aurora │ │ │ ├── uua-email-notification-event-prod.workflow │ │ │ ├── uua-email-notification-event-staging.workflow │ │ │ ├── uua-email-notification-event.aurora │ │ │ ├── uua-enricher-staging.workflow │ │ │ ├── uua-enricher.aurora │ │ │ ├── uua-enrichment-planner-staging.workflow │ │ │ ├── uua-enrichment-planner.aurora │ │ │ ├── uua-favorite-archival-events-prod.workflow │ │ │ ├── uua-favorite-archival-events-staging.workflow │ │ │ ├── uua-favorite-archival-events.aurora │ │ │ ├── uua-retweet-archival-events-prod.workflow │ │ │ ├── uua-retweet-archival-events-staging.workflow │ │ │ ├── uua-retweet-archival-events.aurora │ │ │ ├── uua-social-graph-prod.workflow │ │ │ ├── uua-social-graph-staging.workflow │ │ │ ├── uua-social-graph.aurora │ │ │ ├── uua-tls-favs-prod.workflow │ │ │ ├── uua-tls-favs-staging.workflow │ │ │ ├── uua-tls-favs.aurora │ │ │ ├── uua-tweetypie-event-prod.workflow │ │ │ ├── uua-tweetypie-event-staging.workflow │ │ │ ├── uua-tweetypie-event.aurora │ │ │ ├── uua-user-modification-prod.workflow │ │ │ ├── uua-user-modification-staging.workflow │ │ │ └── uua-user-modification.aurora │ │ └── src/ │ │ ├── main/ │ │ │ ├── resources/ │ │ │ │ ├── BUILD │ │ │ │ ├── decider.yml │ │ │ │ └── logback.xml │ │ │ └── scala/ │ │ │ ├── BUILD │ │ │ └── com/ │ │ │ └── twitter/ │ │ │ └── unified_user_actions/ │ │ │ └── service/ │ │ │ ├── AdsCallbackEngagementsService.scala │ │ │ ├── BUILD │ │ │ ├── ClientEventService.scala │ │ │ ├── EmailNotificationEventService.scala │ │ │ ├── EnricherService.scala │ │ │ ├── EnrichmentPlannerService.scala │ │ │ ├── FavoriteArchivalEventsService.scala │ │ │ ├── RekeyUuaIesourceService.scala │ │ │ ├── RekeyUuaService.scala │ │ │ ├── RetweetArchivalEventsService.scala │ │ │ ├── SocialGraphService.scala │ │ │ ├── TlsFavsService.scala │ │ │ ├── TweetypieEventService.scala │ │ │ ├── UserModificationService.scala │ │ │ └── module/ │ │ │ ├── BUILD │ │ │ ├── CacheModule.scala │ │ │ ├── ClientIdModule.scala │ │ │ ├── DeciderUtils.scala │ │ │ ├── FlagsModule.scala │ │ │ ├── GraphqlClientProviderModule.scala │ │ │ ├── KafkaProcessorAdsCallbackEngagementsModule.scala │ │ │ ├── KafkaProcessorClientEventModule.scala │ │ │ ├── KafkaProcessorEmailNotificationEventModule.scala │ │ │ ├── KafkaProcessorFavoriteArchivalEventsModule.scala │ │ │ ├── KafkaProcessorProvider.scala │ │ │ ├── KafkaProcessorRekeyUuaIesourceModule.scala │ │ │ ├── KafkaProcessorRekeyUuaModule.scala │ │ │ ├── KafkaProcessorRetweetArchivalEventsModule.scala │ │ │ ├── KafkaProcessorSocialGraphModule.scala │ │ │ ├── KafkaProcessorTlsFavsModule.scala │ │ │ ├── KafkaProcessorTweetypieEventModule.scala │ │ │ ├── KafkaProcessorUserModificationModule.scala │ │ │ ├── TopicsMapping.scala │ │ │ └── ZoneFiltering.scala │ │ └── test/ │ │ ├── resources/ │ │ │ ├── BUILD.bazel │ │ │ ├── decider.yml │ │ │ └── logback.xml │ │ └── scala/ │ │ └── com/ │ │ └── twitter/ │ │ └── unified_user_actions/ │ │ └── service/ │ │ ├── BUILD.bazel │ │ ├── ClientEventServiceStartupTest.scala │ │ ├── DeciderUtilsTest.scala │ │ ├── EnrichmentPlannerServiceTest.scala │ │ ├── RekeyUuaIesourceServiceStartupTest.scala │ │ ├── TlsFavServiceStartupTest.scala │ │ └── ZoneFilteringTest.scala │ └── thrift/ │ └── src/ │ ├── main/ │ │ └── thrift/ │ │ └── com/ │ │ └── twitter/ │ │ └── unified_user_actions/ │ │ ├── BUILD │ │ ├── action_info.thrift │ │ ├── common.thrift │ │ ├── item.thrift │ │ ├── keyed_uua.thrift │ │ ├── metadata.thrift │ │ ├── product_surface_info.thrift │ │ └── unified_user_actions.thrift │ └── test/ │ └── thrift/ │ └── com/ │ └── twitter/ │ └── unified_user_actions/ │ ├── BUILD.bazel │ └── unified_user_actions.thrift ├── user-signal-service/ │ ├── README.md │ ├── server/ │ │ ├── BUILD │ │ └── src/ │ │ └── main/ │ │ ├── resources/ │ │ │ ├── BUILD │ │ │ ├── config/ │ │ │ │ └── decider.yml │ │ │ └── logback.xml │ │ └── scala/ │ │ └── com/ │ │ └── twitter/ │ │ └── usersignalservice/ │ │ ├── BUILD │ │ ├── UserSignalServiceStratoFedServerMain.scala │ │ ├── base/ │ │ │ ├── AggregatedSignalController.scala │ │ │ ├── BUILD │ │ │ ├── BaseSignalFetcher.scala │ │ │ ├── FilteredSignalFetcherController.scala │ │ │ ├── ManhattanSignalFetcher.scala │ │ │ ├── MemcachedSignalFetcherWrapper.scala │ │ │ └── StratoSignalFetcher.scala │ │ ├── columns/ │ │ │ ├── BUILD │ │ │ └── UserSignalServiceColumn.scala │ │ ├── config/ │ │ │ ├── BUILD │ │ │ └── SignalFetcherConfig.scala │ │ ├── handler/ │ │ │ ├── BUILD │ │ │ └── UserSignalHandler.scala │ │ ├── module/ │ │ │ ├── BUILD │ │ │ ├── CacheModule.scala │ │ │ ├── MHMtlsParamsModule.scala │ │ │ ├── SocialGraphServiceClientModule.scala │ │ │ └── TimerModule.scala │ │ ├── service/ │ │ │ ├── BUILD │ │ │ └── UserSignalService.scala │ │ └── signals/ │ │ ├── AccountBlocksFetcher.scala │ │ ├── AccountFollowsFetcher.scala │ │ ├── AccountMutesFetcher.scala │ │ ├── BUILD │ │ ├── NegativeEngagedTweetFetcher.scala │ │ ├── NegativeEngagedUserFetcher.scala │ │ ├── NotificationOpenAndClickFetcher.scala │ │ ├── OriginalTweetsFetcher.scala │ │ ├── ProfileClickFetcher.scala │ │ ├── ProfileVisitsFetcher.scala │ │ ├── RealGraphOonFetcher.scala │ │ ├── ReplyTweetsFetcher.scala │ │ ├── RetweetsFetcher.scala │ │ ├── SignalFilter.scala │ │ ├── TweetClickFetcher.scala │ │ ├── TweetFavoritesFetcher.scala │ │ ├── TweetSharesFetcher.scala │ │ ├── VideoTweetsPlayback50Fetcher.scala │ │ ├── VideoTweetsQualityViewFetcher.scala │ │ └── common/ │ │ ├── BUILD │ │ └── SGSUtils.scala │ └── thrift/ │ └── src/ │ └── main/ │ └── thrift/ │ ├── BUILD │ ├── client_identifier.thrift │ ├── service.thrift │ └── signal.thrift └── visibilitylib/ ├── BUILD ├── README.md └── src/ └── main/ ├── resources/ │ └── config/ │ ├── BUILD │ └── com/ │ └── twitter/ │ └── visibility/ │ └── decider.yml └── scala/ └── com/ └── twitter/ └── visibility/ ├── BUILD ├── VisibilityLibrary.scala ├── builder/ │ ├── BUILD │ ├── FeatureMapBuilder.scala │ ├── VerdictLogger.scala │ ├── VisibilityResult.scala │ ├── VisibilityResultBuilder.scala │ ├── common/ │ │ ├── BUILD │ │ └── MutedKeywordFeatures.scala │ ├── dms/ │ │ ├── BUILD │ │ ├── DmConversationFeatures.scala │ │ └── DmEventFeatures.scala │ ├── media/ │ │ ├── BUILD │ │ ├── MediaFeatures.scala │ │ └── MediaMetadataFeatures.scala │ ├── spaces/ │ │ ├── BUILD │ │ └── SpaceFeatures.scala │ ├── tweets/ │ │ ├── BUILD │ │ ├── BlenderContextFeatures.scala │ │ ├── CommunityNotificationFeatures.scala │ │ ├── CommunityTweetFeatures.scala │ │ ├── CommunityTweetFeaturesPartitioned.scala │ │ ├── CommunityTweetFeaturesV2.scala │ │ ├── ConversationControlFeatures.scala │ │ ├── EditTweetFeatures.scala │ │ ├── ExclusiveTweetFeatures.scala │ │ ├── FosnrPefetchedLabelsRelationshipFeatures.scala │ │ ├── FosnrRelationshipFeatures.scala │ │ ├── MisinformationPolicyFeatures.scala │ │ ├── ModerationFeatures.scala │ │ ├── SearchContextFeatures.scala │ │ ├── ToxicReplyFilterFeature.scala │ │ ├── TrustedFriendsFeatures.scala │ │ ├── TweetFeatures.scala │ │ ├── TweetIdFeatures.scala │ │ ├── TweetMediaMetadataFeatures.scala │ │ ├── TweetPerspectiveFeatures.scala │ │ ├── TweetVisibilityNudgeSourceWrapper.scala │ │ └── UnmentionNotificationFeatures.scala │ └── users/ │ ├── AuthorDeviceFeatures.scala │ ├── AuthorFeatures.scala │ ├── BUILD │ ├── QuotedTweetFeatures.scala │ ├── RelationshipFeatures.scala │ ├── RelationshipVerbHelpers.scala │ ├── SearchFeatures.scala │ ├── UserUnavailableFeatures.scala │ ├── ViewerAdvancedFilteringFeatures.scala │ ├── ViewerFeatures.scala │ ├── ViewerSearchSafetyFeatures.scala │ └── ViewerSensitiveMediaSettingsFeatures.scala ├── configapi/ │ ├── BUILD │ ├── ConfigBuilder.scala │ ├── VisibilityParams.scala │ ├── VisibilityRequestContext.scala │ ├── VisibilityRequestContextFactory.scala │ ├── configs/ │ │ ├── BUILD │ │ ├── DeciderKey.scala │ │ ├── ExperimentsHelper.scala │ │ ├── VisibilityDeciderGates.scala │ │ ├── VisibilityDeciders.scala │ │ ├── VisibilityExperimentsConfig.scala │ │ ├── VisibilityFeatureSwitches.scala │ │ └── overrides/ │ │ ├── BUILD │ │ └── VisibilityLibraryDeciderOverrides.scala │ └── params/ │ ├── BUILD │ ├── FSRuleParams.scala │ ├── GlobalParams.scala │ ├── LabelSourceParams.scala │ ├── RuleParams.scala │ ├── SafetyLevelParams.scala │ ├── TimelineConversationsDownrankingSpecificParams.scala │ ├── VisibilityExperiment.scala │ └── VisibilityExperiments.scala ├── engine/ │ ├── BUILD │ ├── DeciderableVisibilityRuleEngine.scala │ ├── VisibilityResultsMetricRecorder.scala │ ├── VisibilityRuleEngine.scala │ └── VisibilityRulePreprocessor.scala ├── features/ │ ├── AdvancedFilteringFeatures.scala │ ├── BUILD │ ├── Feature.scala │ ├── FeatureMap.scala │ └── Features.scala ├── generators/ │ ├── BUILD │ ├── CountryNameGenerator.scala │ ├── EpitaphToLocalizedMessage.scala │ ├── InterstitialReasonToLocalizedMessage.scala │ ├── LocalizedInterstitialGenerator.scala │ └── TombstoneGenerator.scala ├── interfaces/ │ ├── blender/ │ │ ├── BUILD │ │ ├── BlenderVisibilityLibrary.scala │ │ ├── BlenderVisibilityRequest.scala │ │ └── CombinedVisibilityResult.scala │ ├── cards/ │ │ ├── BUILD │ │ ├── CardVisibilityLibrary.scala │ │ ├── CardVisibilityLibraryParityTest.scala │ │ └── CardVisibilityRequest.scala │ ├── common/ │ │ ├── BUILD.bazel │ │ ├── blender/ │ │ │ ├── BUILD │ │ │ └── BlenderVFRequestContext.scala │ │ ├── search/ │ │ │ ├── BUILD │ │ │ └── SearchVFRequestContext.scala │ │ └── tweets/ │ │ ├── BUILD │ │ ├── StratoSafetyLabelFetcher.scala │ │ ├── StratoSafetyLabelMapFetcher.scala │ │ └── package.scala │ ├── conversations/ │ │ ├── AdAvoidanceLibrary.scala │ │ ├── BUILD │ │ ├── TimelineConversationsVisibilityLibrary.scala │ │ ├── TimelineConversationsVisibilityRequest.scala │ │ ├── TimelineConversationsVisibilityResponse.scala │ │ ├── Tombstone.scala │ │ ├── TombstoneVisibilityLibrary.scala │ │ └── package.scala │ ├── des/ │ │ ├── BUILD │ │ ├── DESRealtimeVisibilityLibrary.scala │ │ └── DESVisibilityLibrary.scala │ ├── dms/ │ │ ├── BUILD │ │ ├── DmConversationVisibilityLibrary.scala │ │ ├── DmConversationVisibilityRequest.scala │ │ ├── DmEventVisibilityLibrary.scala │ │ ├── DmEventVisibilityRequest.scala │ │ ├── DmVisibilityLibrary.scala │ │ └── package.scala │ ├── media/ │ │ ├── BUILD.bazel │ │ ├── MediaVisibilityLibrary.scala │ │ └── MediaVisibilityRequest.scala │ ├── notifications/ │ │ ├── BUILD │ │ ├── NotificationVFRequest.scala │ │ ├── NotificationsFilteringResponse.scala │ │ ├── NotificationsPlatformFilteringResponse.scala │ │ ├── NotificationsPlatformVisibilityLibrary.scala │ │ └── NotificationsVisibilityLibrary.scala │ ├── push_service/ │ │ ├── BUILD.bazel │ │ ├── PushServiceSafetyLabelMapFetcher.scala │ │ ├── PushServiceVisibilityLibrary.scala │ │ ├── PushServiceVisibilityLibraryParity.scala │ │ ├── PushServiceVisibilityLibraryUtil.scala │ │ ├── PushServiceVisibilityRequest.scala │ │ └── PushServiceVisibilityResponse.scala │ ├── search/ │ │ ├── BUILD │ │ ├── BatchSearchVisibilityRequest.scala │ │ ├── BatchSearchVisibilityResponse.scala │ │ ├── CombinedVisibilityResult.scala │ │ ├── SearchVisibilityLibrary.scala │ │ └── TweetContext.scala │ ├── spaces/ │ │ ├── BUILD │ │ ├── SpaceVisibilityLibrary.scala │ │ └── SpaceVisibilityRequest.scala │ ├── tweets/ │ │ ├── BUILD │ │ ├── DeletedTweetVisibilityLibrary.scala │ │ ├── QuotedTweetVisibilityLibrary.scala │ │ ├── TweetVisibilityLibrary.scala │ │ ├── TweetVisibilityLibraryParityTest.scala │ │ ├── TweetVisibilityRequest.scala │ │ ├── TweetypieContext.scala │ │ ├── UserUnavailableStateVisibilityLibrary.scala │ │ ├── UserUnavailableStateVisibilityRequest.scala │ │ └── enrichments/ │ │ ├── BUILD │ │ ├── ComplianceTweetNoticeEnrichment.scala │ │ ├── LimitedActionsPolicyEnrichment.scala │ │ └── TweetVisibilityNudgeEnrichment.scala │ └── users/ │ ├── BUILD │ └── UserVisibilityLibrary.scala ├── models/ │ ├── BUILD │ ├── CommunityTweet.scala │ ├── ContentId.scala │ ├── LabelSource.scala │ ├── MediaSafetyLabelType.scala │ ├── MisinformationPolicy.scala │ ├── MutedKeyword.scala │ ├── SafetyLabel.scala │ ├── SafetyLabelMetadata.scala │ ├── SafetyLabelType.scala │ ├── SafetyLevel.scala │ ├── SafetyLevelGroup.scala │ ├── SemanticCoreAnnotation.scala │ ├── SpaceSafetyLabelType.scala │ ├── TweetDeleteReason.scala │ ├── TweetModelMetadata.scala │ ├── TweetSafetyLabel.scala │ ├── UnitOfDiversion.scala │ ├── UserAge.scala │ ├── UserLabel.scala │ ├── UserSensitiveMediaSettings.scala │ ├── UserUnavailableStateEnum.scala │ ├── ViewerContext.scala │ ├── ViolationLevel.scala │ └── package.scala ├── rules/ │ ├── Action.scala │ ├── AdvancedFilteringRules.scala │ ├── BUILD │ ├── CardRules.scala │ ├── ComposableActions.scala │ ├── Condition.scala │ ├── DmConversationRules.scala │ ├── DmEventRules.scala │ ├── DmVisibilityPolicies.scala │ ├── DownrankingRules.scala │ ├── EvaluationContext.scala │ ├── ExperimentBase.scala │ ├── FailClosedException.scala │ ├── FollowerRelations.scala │ ├── ForEmergencyUseOnly.scala │ ├── FreedomOfSpeechNotReach.scala │ ├── InterstitialIf.scala │ ├── PublicInterestRules.scala │ ├── Rule.scala │ ├── RuleActionSourceBuilder.scala │ ├── RuleBase.scala │ ├── Rules.scala │ ├── SafeSearchRules.scala │ ├── SearchBlenderRules.scala │ ├── SensitiveMediaSettingsRules.scala │ ├── SpaceRules.scala │ ├── TombstoneIf.scala │ ├── ToxicityReplyFilterRules.scala │ ├── TweetLabelRules.scala │ ├── TweetRules.scala │ ├── UserLabelRules.scala │ ├── UserUnavailableStateTombstoneRules.scala │ ├── VisibilityPolicy.scala │ ├── generators/ │ │ ├── BUILD │ │ ├── RuleGenerator.scala │ │ ├── TweetRuleGenerator.scala │ │ └── TweetVisibilityPolicy.scala │ ├── package.scala │ ├── providers/ │ │ ├── BUILD │ │ ├── InjectedPolicyProvider.scala │ │ ├── PolicyProvider.scala │ │ └── ProvidedEvaluationContext.scala │ └── utils/ │ ├── BUILD │ └── ShimUtils.scala └── util/ ├── BUILD ├── DeciderUtil.scala ├── FeatureSwitchUtil.scala ├── LoggingUtil.scala └── NamingUtils.scala