From 504cb1d596209e8981e38ab1f41a8caac5103544 Mon Sep 17 00:00:00 2001 From: Isaac <> Date: Wed, 18 Jun 2025 11:47:25 +0400 Subject: [PATCH 1/8] Cleanup --- build-system/Make/BazelLocation.py | 29 ++- build-system/Make/Make.py | 2 +- build-system/Make/TartBuild.py | 53 +++-- build-system/generate_spm.py | 90 +++++-- submodules/TgVoipWebrtc/BUILD | 52 +--- submodules/TgVoipWebrtc/tgcalls | 2 +- third-party/webrtc/BUILD | 12 +- .../abseil-cpp => }/ABSEIL_ISSUE_TEMPLATE.md | 0 .../absl/{third_party/abseil-cpp => }/AUTHORS | 0 third-party/webrtc/absl/BUILD | 225 +++++++++--------- .../abseil-cpp => }/CMake/AbseilDll.cmake | 0 .../abseil-cpp => }/CMake/AbseilHelpers.cmake | 0 .../CMake/Googletest/CMakeLists.txt.in | 0 .../CMake/Googletest/DownloadGTest.cmake | 0 .../abseil-cpp => }/CMake/README.md | 0 .../abseil-cpp => }/CMake/abslConfig.cmake.in | 0 .../CMake/install_test_project/CMakeLists.txt | 0 .../CMake/install_test_project/simple.cc | 0 .../CMake/install_test_project/test.sh | 0 .../abseil-cpp => }/CMakeLists.txt | 0 .../abseil-cpp => }/CONTRIBUTING.md | 0 .../absl/{third_party/abseil-cpp => }/FAQ.md | 0 .../absl/{third_party/abseil-cpp => }/LICENSE | 0 .../abseil-cpp => }/PrivacyInfo.xcprivacy | 0 .../{third_party/abseil-cpp => }/README.md | 0 .../{third_party/abseil-cpp => }/UPGRADES.md | 0 .../{third_party/abseil-cpp => }/WORKSPACE | 0 .../abseil-cpp => }/WORKSPACE.bzlmod | 0 .../abseil-cpp => }/absl/CMakeLists.txt | 0 .../absl/abseil.podspec.gen.py | 0 .../absl/algorithm/CMakeLists.txt | 0 .../absl/algorithm/algorithm.h | 0 .../absl/algorithm/algorithm_test.cc | 0 .../absl/algorithm/container.h | 0 .../absl/algorithm/container_test.cc | 0 .../abseil-cpp => }/absl/base/CMakeLists.txt | 0 .../abseil-cpp => }/absl/base/attributes.h | 0 .../absl/base/bit_cast_test.cc | 0 .../abseil-cpp => }/absl/base/call_once.h | 0 .../absl/base/call_once_test.cc | 0 .../abseil-cpp => }/absl/base/casts.h | 0 .../abseil-cpp => }/absl/base/config.h | 0 .../abseil-cpp => }/absl/base/config_test.cc | 0 .../abseil-cpp => }/absl/base/const_init.h | 0 .../absl/base/dynamic_annotations.h | 0 .../base/exception_safety_testing_test.cc | 0 .../absl/base/inline_variable_test.cc | 0 .../absl/base/inline_variable_test_a.cc | 0 .../absl/base/inline_variable_test_b.cc | 0 .../absl/base/internal/atomic_hook.h | 0 .../absl/base/internal/atomic_hook_test.cc | 0 .../base/internal/atomic_hook_test_helper.cc | 0 .../base/internal/atomic_hook_test_helper.h | 0 .../absl/base/internal/cmake_thread_test.cc | 0 .../absl/base/internal/cycleclock.cc | 0 .../absl/base/internal/cycleclock.h | 0 .../absl/base/internal/cycleclock_config.h | 0 .../absl/base/internal/direct_mmap.h | 0 .../absl/base/internal/dynamic_annotations.h | 0 .../absl/base/internal/endian.h | 0 .../absl/base/internal/endian_test.cc | 0 .../absl/base/internal/errno_saver.h | 0 .../absl/base/internal/errno_saver_test.cc | 0 .../base/internal/exception_safety_testing.cc | 0 .../base/internal/exception_safety_testing.h | 0 .../absl/base/internal/exception_testing.h | 0 .../absl/base/internal/fast_type_id.h | 0 .../absl/base/internal/fast_type_id_test.cc | 0 .../absl/base/internal/hide_ptr.h | 0 .../absl/base/internal/identity.h | 0 .../absl/base/internal/inline_variable.h | 0 .../base/internal/inline_variable_testing.h | 0 .../absl/base/internal/invoke.h | 0 .../absl/base/internal/low_level_alloc.cc | 0 .../absl/base/internal/low_level_alloc.h | 0 .../base/internal/low_level_alloc_test.cc | 0 .../absl/base/internal/low_level_scheduling.h | 0 .../absl/base/internal/nullability_impl.h | 0 .../absl/base/internal/per_thread_tls.h | 0 .../absl/base/internal/pretty_function.h | 0 .../absl/base/internal/raw_logging.cc | 0 .../absl/base/internal/raw_logging.h | 0 .../absl/base/internal/scheduling_mode.h | 0 .../absl/base/internal/scoped_set_env.cc | 0 .../absl/base/internal/scoped_set_env.h | 0 .../absl/base/internal/scoped_set_env_test.cc | 0 .../absl/base/internal/spinlock.cc | 0 .../absl/base/internal/spinlock.h | 0 .../absl/base/internal/spinlock_akaros.inc | 0 .../absl/base/internal/spinlock_benchmark.cc | 0 .../absl/base/internal/spinlock_linux.inc | 0 .../absl/base/internal/spinlock_posix.inc | 0 .../absl/base/internal/spinlock_wait.cc | 0 .../absl/base/internal/spinlock_wait.h | 0 .../absl/base/internal/spinlock_win32.inc | 0 .../absl/base/internal/strerror.cc | 0 .../absl/base/internal/strerror.h | 0 .../absl/base/internal/strerror_benchmark.cc | 0 .../absl/base/internal/strerror_test.cc | 0 .../absl/base/internal/sysinfo.cc | 0 .../absl/base/internal/sysinfo.h | 0 .../absl/base/internal/sysinfo_test.cc | 0 .../absl/base/internal/thread_identity.cc | 0 .../absl/base/internal/thread_identity.h | 0 .../internal/thread_identity_benchmark.cc | 0 .../base/internal/thread_identity_test.cc | 0 .../absl/base/internal/throw_delegate.cc | 0 .../absl/base/internal/throw_delegate.h | 0 .../absl/base/internal/tsan_mutex_interface.h | 0 .../absl/base/internal/unaligned_access.h | 0 .../base/internal/unique_small_name_test.cc | 0 .../absl/base/internal/unscaledcycleclock.cc | 0 .../absl/base/internal/unscaledcycleclock.h | 0 .../base/internal/unscaledcycleclock_config.h | 0 .../abseil-cpp => }/absl/base/invoke_test.cc | 0 .../abseil-cpp => }/absl/base/log_severity.cc | 0 .../abseil-cpp => }/absl/base/log_severity.h | 0 .../absl/base/log_severity_test.cc | 0 .../abseil-cpp => }/absl/base/macros.h | 0 .../abseil-cpp => }/absl/base/no_destructor.h | 0 .../absl/base/no_destructor_benchmark.cc | 0 .../absl/base/no_destructor_test.cc | 0 .../abseil-cpp => }/absl/base/nullability.h | 0 .../absl/base/nullability_test.cc | 0 .../abseil-cpp => }/absl/base/optimization.h | 0 .../absl/base/optimization_test.cc | 0 .../abseil-cpp => }/absl/base/options.h | 0 .../abseil-cpp => }/absl/base/policy_checks.h | 0 .../abseil-cpp => }/absl/base/port.h | 0 .../abseil-cpp => }/absl/base/prefetch.h | 0 .../absl/base/prefetch_test.cc | 0 .../absl/base/raw_logging_test.cc | 0 .../absl/base/spinlock_test_common.cc | 0 .../absl/base/thread_annotations.h | 0 .../absl/base/throw_delegate_test.cc | 0 .../absl/cleanup/CMakeLists.txt | 0 .../abseil-cpp => }/absl/cleanup/cleanup.h | 0 .../absl/cleanup/cleanup_test.cc | 0 .../absl/cleanup/internal/cleanup.h | 0 .../absl/container/CMakeLists.txt | 0 .../absl/container/btree_benchmark.cc | 0 .../absl/container/btree_map.h | 0 .../absl/container/btree_set.h | 0 .../absl/container/btree_test.cc | 0 .../absl/container/btree_test.h | 0 .../absl/container/fixed_array.h | 0 .../absl/container/fixed_array_benchmark.cc | 0 .../fixed_array_exception_safety_test.cc | 0 .../absl/container/fixed_array_test.cc | 0 .../absl/container/flat_hash_map.h | 0 .../absl/container/flat_hash_map_test.cc | 0 .../absl/container/flat_hash_set.h | 0 .../absl/container/flat_hash_set_test.cc | 0 .../absl/container/inlined_vector.h | 0 .../container/inlined_vector_benchmark.cc | 0 .../inlined_vector_exception_safety_test.cc | 0 .../absl/container/inlined_vector_test.cc | 0 .../absl/container/internal/btree.h | 0 .../absl/container/internal/btree_container.h | 0 .../absl/container/internal/common.h | 0 .../container/internal/common_policy_traits.h | 0 .../internal/common_policy_traits_test.cc | 0 .../container/internal/compressed_tuple.h | 0 .../internal/compressed_tuple_test.cc | 0 .../container/internal/container_memory.h | 0 .../internal/container_memory_test.cc | 0 .../internal/hash_function_defaults.h | 0 .../internal/hash_function_defaults_test.cc | 0 .../internal/hash_generator_testing.cc | 0 .../internal/hash_generator_testing.h | 0 .../container/internal/hash_policy_testing.h | 0 .../internal/hash_policy_testing_test.cc | 0 .../container/internal/hash_policy_traits.h | 0 .../internal/hash_policy_traits_test.cc | 0 .../absl/container/internal/hashtable_debug.h | 0 .../internal/hashtable_debug_hooks.h | 0 .../container/internal/hashtablez_sampler.cc | 0 .../container/internal/hashtablez_sampler.h | 0 ...ashtablez_sampler_force_weak_definition.cc | 0 .../internal/hashtablez_sampler_test.cc | 0 .../absl/container/internal/inlined_vector.h | 0 .../absl/container/internal/layout.h | 0 .../container/internal/layout_benchmark.cc | 0 .../absl/container/internal/layout_test.cc | 0 .../container/internal/node_slot_policy.h | 0 .../internal/node_slot_policy_test.cc | 0 .../absl/container/internal/raw_hash_map.h | 0 .../absl/container/internal/raw_hash_set.cc | 0 .../absl/container/internal/raw_hash_set.h | 0 .../internal/raw_hash_set_allocator_test.cc | 0 .../internal/raw_hash_set_benchmark.cc | 0 .../internal/raw_hash_set_probe_benchmark.cc | 0 .../container/internal/raw_hash_set_test.cc | 0 .../absl/container/internal/test_allocator.h | 0 .../internal/test_instance_tracker.cc | 0 .../internal/test_instance_tracker.h | 0 .../internal/test_instance_tracker_test.cc | 0 .../absl/container/internal/tracked.h | 0 .../internal/unordered_map_constructor_test.h | 0 .../internal/unordered_map_lookup_test.h | 0 .../internal/unordered_map_members_test.h | 0 .../internal/unordered_map_modifiers_test.h | 0 .../container/internal/unordered_map_test.cc | 0 .../internal/unordered_set_constructor_test.h | 0 .../internal/unordered_set_lookup_test.h | 0 .../internal/unordered_set_members_test.h | 0 .../internal/unordered_set_modifiers_test.h | 0 .../container/internal/unordered_set_test.cc | 0 .../absl/container/node_hash_map.h | 0 .../absl/container/node_hash_map_test.cc | 0 .../absl/container/node_hash_set.h | 0 .../absl/container/node_hash_set_test.cc | 0 .../container/sample_element_size_test.cc | 0 .../absl/copts/AbseilConfigureCopts.cmake | 0 .../absl/copts/GENERATED_AbseilCopts.cmake | 0 .../absl/copts/GENERATED_copts.bzl | 0 .../absl/copts/configure_copts.bzl | 0 .../abseil-cpp => }/absl/copts/copts.py | 0 .../absl/copts/generate_copts.py | 0 .../abseil-cpp => }/absl/crc/CMakeLists.txt | 0 .../abseil-cpp => }/absl/crc/crc32c.cc | 0 .../abseil-cpp => }/absl/crc/crc32c.h | 0 .../absl/crc/crc32c_benchmark.cc | 0 .../abseil-cpp => }/absl/crc/crc32c_test.cc | 0 .../absl/crc/internal/cpu_detect.cc | 0 .../absl/crc/internal/cpu_detect.h | 0 .../abseil-cpp => }/absl/crc/internal/crc.cc | 0 .../abseil-cpp => }/absl/crc/internal/crc.h | 0 .../internal/crc32_x86_arm_combined_simd.h | 0 .../absl/crc/internal/crc32c.h | 0 .../absl/crc/internal/crc32c_inline.h | 0 .../absl/crc/internal/crc_cord_state.cc | 0 .../absl/crc/internal/crc_cord_state.h | 0 .../absl/crc/internal/crc_cord_state_test.cc | 0 .../absl/crc/internal/crc_internal.h | 0 .../absl/crc/internal/crc_memcpy.h | 0 .../absl/crc/internal/crc_memcpy_fallback.cc | 0 .../absl/crc/internal/crc_memcpy_test.cc | 0 .../internal/crc_memcpy_x86_arm_combined.cc | 0 .../crc/internal/crc_non_temporal_memcpy.cc | 0 .../absl/crc/internal/crc_x86_arm_combined.cc | 0 .../internal/non_temporal_arm_intrinsics.h | 0 .../absl/crc/internal/non_temporal_memcpy.h | 0 .../crc/internal/non_temporal_memcpy_test.cc | 0 .../absl/debugging/CMakeLists.txt | 0 .../absl/debugging/failure_signal_handler.cc | 0 .../absl/debugging/failure_signal_handler.h | 0 .../debugging/failure_signal_handler_test.cc | 0 .../debugging/internal/address_is_readable.cc | 0 .../debugging/internal/address_is_readable.h | 0 .../absl/debugging/internal/demangle.cc | 0 .../absl/debugging/internal/demangle.h | 0 .../absl/debugging/internal/demangle_test.cc | 0 .../absl/debugging/internal/elf_mem_image.cc | 0 .../absl/debugging/internal/elf_mem_image.h | 0 .../absl/debugging/internal/examine_stack.cc | 0 .../absl/debugging/internal/examine_stack.h | 0 .../debugging/internal/stack_consumption.cc | 0 .../debugging/internal/stack_consumption.h | 0 .../internal/stack_consumption_test.cc | 0 .../internal/stacktrace_aarch64-inl.inc | 0 .../debugging/internal/stacktrace_arm-inl.inc | 0 .../debugging/internal/stacktrace_config.h | 0 .../internal/stacktrace_emscripten-inl.inc | 0 .../internal/stacktrace_generic-inl.inc | 0 .../internal/stacktrace_powerpc-inl.inc | 0 .../internal/stacktrace_riscv-inl.inc | 0 .../internal/stacktrace_unimplemented-inl.inc | 0 .../internal/stacktrace_win32-inl.inc | 0 .../debugging/internal/stacktrace_x86-inl.inc | 0 .../absl/debugging/internal/symbolize.h | 0 .../absl/debugging/internal/vdso_support.cc | 0 .../absl/debugging/internal/vdso_support.h | 0 .../absl/debugging/leak_check.cc | 0 .../absl/debugging/leak_check.h | 0 .../absl/debugging/leak_check_fail_test.cc | 0 .../absl/debugging/leak_check_test.cc | 0 .../absl/debugging/stacktrace.cc | 0 .../absl/debugging/stacktrace.h | 0 .../absl/debugging/stacktrace_benchmark.cc | 0 .../absl/debugging/stacktrace_test.cc | 0 .../absl/debugging/symbolize.cc | 0 .../absl/debugging/symbolize.h | 0 .../absl/debugging/symbolize_darwin.inc | 0 .../absl/debugging/symbolize_elf.inc | 0 .../absl/debugging/symbolize_emscripten.inc | 0 .../absl/debugging/symbolize_test.cc | 0 .../debugging/symbolize_unimplemented.inc | 0 .../absl/debugging/symbolize_win32.inc | 0 .../abseil-cpp => }/absl/flags/CMakeLists.txt | 0 .../absl/flags/commandlineflag.cc | 0 .../absl/flags/commandlineflag.h | 0 .../absl/flags/commandlineflag_test.cc | 0 .../abseil-cpp => }/absl/flags/config.h | 0 .../abseil-cpp => }/absl/flags/config_test.cc | 0 .../abseil-cpp => }/absl/flags/declare.h | 0 .../abseil-cpp => }/absl/flags/flag.h | 0 .../absl/flags/flag_benchmark.cc | 0 .../absl/flags/flag_benchmark.lds | 0 .../abseil-cpp => }/absl/flags/flag_test.cc | 0 .../absl/flags/flag_test_defs.cc | 0 .../absl/flags/internal/commandlineflag.cc | 0 .../absl/flags/internal/commandlineflag.h | 0 .../absl/flags/internal/flag.cc | 0 .../absl/flags/internal/flag.h | 0 .../absl/flags/internal/parse.h | 0 .../absl/flags/internal/path_util.h | 0 .../absl/flags/internal/path_util_test.cc | 0 .../flags/internal/private_handle_accessor.cc | 0 .../flags/internal/private_handle_accessor.h | 0 .../absl/flags/internal/program_name.cc | 0 .../absl/flags/internal/program_name.h | 0 .../absl/flags/internal/program_name_test.cc | 0 .../absl/flags/internal/registry.h | 0 .../absl/flags/internal/sequence_lock.h | 0 .../absl/flags/internal/sequence_lock_test.cc | 0 .../absl/flags/internal/usage.cc | 0 .../absl/flags/internal/usage.h | 0 .../absl/flags/internal/usage_test.cc | 0 .../abseil-cpp => }/absl/flags/marshalling.cc | 0 .../abseil-cpp => }/absl/flags/marshalling.h | 0 .../absl/flags/marshalling_test.cc | 0 .../abseil-cpp => }/absl/flags/parse.cc | 0 .../abseil-cpp => }/absl/flags/parse.h | 0 .../abseil-cpp => }/absl/flags/parse_test.cc | 0 .../abseil-cpp => }/absl/flags/reflection.cc | 0 .../abseil-cpp => }/absl/flags/reflection.h | 0 .../absl/flags/reflection_test.cc | 0 .../abseil-cpp => }/absl/flags/usage.cc | 0 .../abseil-cpp => }/absl/flags/usage.h | 0 .../absl/flags/usage_config.cc | 0 .../abseil-cpp => }/absl/flags/usage_config.h | 0 .../absl/flags/usage_config_test.cc | 0 .../absl/functional/CMakeLists.txt | 0 .../absl/functional/any_invocable.h | 0 .../absl/functional/any_invocable_test.cc | 0 .../absl/functional/bind_front.h | 0 .../absl/functional/bind_front_test.cc | 0 .../absl/functional/function_ref.h | 0 .../absl/functional/function_ref_test.cc | 0 .../functional/function_type_benchmark.cc | 0 .../absl/functional/internal/any_invocable.h | 0 .../absl/functional/internal/front_binder.h | 0 .../absl/functional/internal/function_ref.h | 0 .../absl/functional/overload.h | 0 .../absl/functional/overload_test.cc | 0 .../abseil-cpp => }/absl/hash/CMakeLists.txt | 0 .../abseil-cpp => }/absl/hash/hash.h | 0 .../absl/hash/hash_benchmark.cc | 0 .../absl/hash/hash_instantiated_test.cc | 0 .../abseil-cpp => }/absl/hash/hash_test.cc | 0 .../abseil-cpp => }/absl/hash/hash_testing.h | 0 .../absl/hash/internal/city.cc | 0 .../abseil-cpp => }/absl/hash/internal/city.h | 0 .../absl/hash/internal/city_test.cc | 0 .../absl/hash/internal/hash.cc | 0 .../abseil-cpp => }/absl/hash/internal/hash.h | 0 .../absl/hash/internal/hash_test.h | 0 .../absl/hash/internal/low_level_hash.cc | 0 .../absl/hash/internal/low_level_hash.h | 0 .../absl/hash/internal/low_level_hash_test.cc | 0 .../absl/hash/internal/print_hash_of.cc | 0 .../absl/hash/internal/spy_hash_state.h | 0 .../abseil-cpp => }/absl/log/CMakeLists.txt | 0 .../abseil-cpp => }/absl/log/absl_check.h | 0 .../absl/log/absl_check_test.cc | 0 .../abseil-cpp => }/absl/log/absl_log.h | 0 .../absl/log/absl_log_basic_test.cc | 0 .../absl/log/absl_vlog_is_on.h | 0 .../abseil-cpp => }/absl/log/check.h | 0 .../abseil-cpp => }/absl/log/check_test.cc | 0 .../absl/log/check_test_impl.inc | 0 .../abseil-cpp => }/absl/log/die_if_null.cc | 0 .../abseil-cpp => }/absl/log/die_if_null.h | 0 .../absl/log/die_if_null_test.cc | 0 .../abseil-cpp => }/absl/log/flags.cc | 0 .../abseil-cpp => }/absl/log/flags.h | 0 .../abseil-cpp => }/absl/log/flags_test.cc | 0 .../abseil-cpp => }/absl/log/globals.cc | 0 .../abseil-cpp => }/absl/log/globals.h | 0 .../abseil-cpp => }/absl/log/globals_test.cc | 0 .../abseil-cpp => }/absl/log/initialize.cc | 0 .../abseil-cpp => }/absl/log/initialize.h | 0 .../absl/log/internal/append_truncated.h | 0 .../absl/log/internal/check_impl.h | 0 .../absl/log/internal/check_op.cc | 0 .../absl/log/internal/check_op.h | 0 .../absl/log/internal/conditions.cc | 0 .../absl/log/internal/conditions.h | 0 .../absl/log/internal/config.h | 0 .../abseil-cpp => }/absl/log/internal/flags.h | 0 .../absl/log/internal/fnmatch.cc | 0 .../absl/log/internal/fnmatch.h | 0 .../absl/log/internal/fnmatch_benchmark.cc | 0 .../absl/log/internal/fnmatch_test.cc | 0 .../absl/log/internal/globals.cc | 0 .../absl/log/internal/globals.h | 0 .../absl/log/internal/log_format.cc | 0 .../absl/log/internal/log_format.h | 0 .../absl/log/internal/log_impl.h | 0 .../absl/log/internal/log_message.cc | 0 .../absl/log/internal/log_message.h | 0 .../absl/log/internal/log_sink_set.cc | 0 .../absl/log/internal/log_sink_set.h | 0 .../absl/log/internal/nullguard.cc | 0 .../absl/log/internal/nullguard.h | 0 .../absl/log/internal/nullstream.h | 0 .../absl/log/internal/proto.cc | 0 .../abseil-cpp => }/absl/log/internal/proto.h | 0 .../absl/log/internal/stderr_log_sink_test.cc | 0 .../abseil-cpp => }/absl/log/internal/strip.h | 0 .../absl/log/internal/structured.h | 0 .../absl/log/internal/test_actions.cc | 0 .../absl/log/internal/test_actions.h | 0 .../absl/log/internal/test_helpers.cc | 0 .../absl/log/internal/test_helpers.h | 0 .../absl/log/internal/test_matchers.cc | 0 .../absl/log/internal/test_matchers.h | 0 .../absl/log/internal/vlog_config.cc | 0 .../absl/log/internal/vlog_config.h | 0 .../log/internal/vlog_config_benchmark.cc | 0 .../absl/log/internal/voidify.h | 0 .../abseil-cpp => }/absl/log/log.h | 0 .../absl/log/log_basic_test.cc | 0 .../absl/log/log_basic_test_impl.inc | 0 .../abseil-cpp => }/absl/log/log_benchmark.cc | 0 .../abseil-cpp => }/absl/log/log_entry.cc | 0 .../abseil-cpp => }/absl/log/log_entry.h | 0 .../absl/log/log_entry_test.cc | 0 .../absl/log/log_format_test.cc | 0 .../absl/log/log_macro_hygiene_test.cc | 0 .../absl/log/log_modifier_methods_test.cc | 0 .../abseil-cpp => }/absl/log/log_sink.cc | 0 .../abseil-cpp => }/absl/log/log_sink.h | 0 .../absl/log/log_sink_registry.h | 0 .../abseil-cpp => }/absl/log/log_sink_test.cc | 0 .../abseil-cpp => }/absl/log/log_streamer.h | 0 .../absl/log/log_streamer_test.cc | 0 .../absl/log/scoped_mock_log.cc | 0 .../absl/log/scoped_mock_log.h | 0 .../absl/log/scoped_mock_log_test.cc | 0 .../absl/log/stripping_test.cc | 0 .../abseil-cpp => }/absl/log/structured.h | 0 .../absl/log/structured_test.cc | 0 .../abseil-cpp => }/absl/log/vlog_is_on.h | 0 .../absl/log/vlog_is_on_test.cc | 0 .../absl/memory/CMakeLists.txt | 0 .../abseil-cpp => }/absl/memory/memory.h | 0 .../absl/memory/memory_test.cc | 0 .../abseil-cpp => }/absl/meta/CMakeLists.txt | 0 .../abseil-cpp => }/absl/meta/type_traits.h | 0 .../absl/meta/type_traits_test.cc | 0 .../absl/numeric/CMakeLists.txt | 0 .../abseil-cpp => }/absl/numeric/bits.h | 0 .../absl/numeric/bits_benchmark.cc | 0 .../abseil-cpp => }/absl/numeric/bits_test.cc | 0 .../abseil-cpp => }/absl/numeric/int128.cc | 0 .../abseil-cpp => }/absl/numeric/int128.h | 0 .../absl/numeric/int128_benchmark.cc | 0 .../absl/numeric/int128_have_intrinsic.inc | 0 .../absl/numeric/int128_no_intrinsic.inc | 0 .../absl/numeric/int128_stream_test.cc | 0 .../absl/numeric/int128_test.cc | 0 .../absl/numeric/internal/bits.h | 0 .../absl/numeric/internal/representation.h | 0 .../absl/profiling/CMakeLists.txt | 0 .../profiling/internal/exponential_biased.cc | 0 .../profiling/internal/exponential_biased.h | 0 .../internal/exponential_biased_test.cc | 0 .../profiling/internal/periodic_sampler.cc | 0 .../profiling/internal/periodic_sampler.h | 0 .../internal/periodic_sampler_benchmark.cc | 0 .../internal/periodic_sampler_test.cc | 0 .../absl/profiling/internal/sample_recorder.h | 0 .../internal/sample_recorder_test.cc | 0 .../absl/random/CMakeLists.txt | 0 .../abseil-cpp => }/absl/random/benchmarks.cc | 0 .../absl/random/bernoulli_distribution.h | 0 .../random/bernoulli_distribution_test.cc | 0 .../absl/random/beta_distribution.h | 0 .../absl/random/beta_distribution_test.cc | 0 .../abseil-cpp => }/absl/random/bit_gen_ref.h | 0 .../absl/random/bit_gen_ref_test.cc | 0 .../absl/random/discrete_distribution.cc | 0 .../absl/random/discrete_distribution.h | 0 .../absl/random/discrete_distribution_test.cc | 0 .../absl/random/distributions.h | 0 .../absl/random/distributions_test.cc | 0 .../absl/random/examples_test.cc | 0 .../absl/random/exponential_distribution.h | 0 .../random/exponential_distribution_test.cc | 0 .../absl/random/gaussian_distribution.cc | 0 .../absl/random/gaussian_distribution.h | 0 .../absl/random/gaussian_distribution_test.cc | 0 .../absl/random/generators_test.cc | 0 .../absl/random/internal/chi_square.cc | 0 .../absl/random/internal/chi_square.h | 0 .../absl/random/internal/chi_square_test.cc | 0 .../random/internal/distribution_caller.h | 0 .../random/internal/distribution_test_util.cc | 0 .../random/internal/distribution_test_util.h | 0 .../internal/distribution_test_util_test.cc | 0 .../absl/random/internal/explicit_seed_seq.h | 0 .../random/internal/explicit_seed_seq_test.cc | 0 .../absl/random/internal/fast_uniform_bits.h | 0 .../random/internal/fast_uniform_bits_test.cc | 0 .../absl/random/internal/fastmath.h | 0 .../absl/random/internal/fastmath_test.cc | 0 .../gaussian_distribution_gentables.cc | 0 .../absl/random/internal/generate_real.h | 0 .../random/internal/generate_real_test.cc | 0 .../random/internal/iostream_state_saver.h | 0 .../internal/iostream_state_saver_test.cc | 0 .../absl/random/internal/mock_helpers.h | 0 .../absl/random/internal/mock_overload_set.h | 0 .../absl/random/internal/nanobenchmark.cc | 0 .../absl/random/internal/nanobenchmark.h | 0 .../random/internal/nanobenchmark_test.cc | 0 .../absl/random/internal/nonsecure_base.h | 0 .../random/internal/nonsecure_base_test.cc | 0 .../absl/random/internal/pcg_engine.h | 0 .../absl/random/internal/pcg_engine_test.cc | 0 .../absl/random/internal/platform.h | 0 .../absl/random/internal/pool_urbg.cc | 0 .../absl/random/internal/pool_urbg.h | 0 .../absl/random/internal/pool_urbg_test.cc | 0 .../absl/random/internal/randen.cc | 0 .../absl/random/internal/randen.h | 0 .../absl/random/internal/randen_benchmarks.cc | 0 .../absl/random/internal/randen_detect.cc | 0 .../absl/random/internal/randen_detect.h | 0 .../absl/random/internal/randen_engine.h | 0 .../random/internal/randen_engine_test.cc | 0 .../absl/random/internal/randen_hwaes.cc | 0 .../absl/random/internal/randen_hwaes.h | 0 .../absl/random/internal/randen_hwaes_test.cc | 0 .../absl/random/internal/randen_round_keys.cc | 0 .../absl/random/internal/randen_slow.cc | 0 .../absl/random/internal/randen_slow.h | 0 .../absl/random/internal/randen_slow_test.cc | 0 .../absl/random/internal/randen_test.cc | 0 .../absl/random/internal/randen_traits.h | 0 .../absl/random/internal/salted_seed_seq.h | 0 .../random/internal/salted_seed_seq_test.cc | 0 .../absl/random/internal/seed_material.cc | 0 .../absl/random/internal/seed_material.h | 0 .../random/internal/seed_material_test.cc | 0 .../absl/random/internal/sequence_urbg.h | 0 .../absl/random/internal/traits.h | 0 .../absl/random/internal/traits_test.cc | 0 .../absl/random/internal/uniform_helper.h | 0 .../random/internal/uniform_helper_test.cc | 0 .../absl/random/internal/wide_multiply.h | 0 .../random/internal/wide_multiply_test.cc | 0 .../random/log_uniform_int_distribution.h | 0 .../log_uniform_int_distribution_test.cc | 0 .../absl/random/mock_distributions.h | 0 .../absl/random/mock_distributions_test.cc | 0 .../absl/random/mocking_bit_gen.h | 0 .../absl/random/mocking_bit_gen_test.cc | 0 .../absl/random/poisson_distribution.h | 0 .../absl/random/poisson_distribution_test.cc | 0 .../abseil-cpp => }/absl/random/random.h | 0 .../absl/random/seed_gen_exception.cc | 0 .../absl/random/seed_gen_exception.h | 0 .../absl/random/seed_sequences.cc | 0 .../absl/random/seed_sequences.h | 0 .../absl/random/seed_sequences_test.cc | 0 .../absl/random/uniform_int_distribution.h | 0 .../random/uniform_int_distribution_test.cc | 0 .../absl/random/uniform_real_distribution.h | 0 .../random/uniform_real_distribution_test.cc | 0 .../absl/random/zipf_distribution.h | 0 .../absl/random/zipf_distribution_test.cc | 0 .../absl/status/CMakeLists.txt | 0 .../absl/status/internal/status_internal.cc | 0 .../absl/status/internal/status_internal.h | 0 .../absl/status/internal/statusor_internal.h | 0 .../abseil-cpp => }/absl/status/status.cc | 0 .../abseil-cpp => }/absl/status/status.h | 0 .../absl/status/status_payload_printer.cc | 0 .../absl/status/status_payload_printer.h | 0 .../absl/status/status_test.cc | 0 .../abseil-cpp => }/absl/status/statusor.cc | 0 .../abseil-cpp => }/absl/status/statusor.h | 0 .../absl/status/statusor_test.cc | 0 .../absl/strings/CMakeLists.txt | 0 .../abseil-cpp => }/absl/strings/ascii.cc | 0 .../abseil-cpp => }/absl/strings/ascii.h | 0 .../absl/strings/ascii_benchmark.cc | 0 .../absl/strings/ascii_test.cc | 0 .../absl/strings/atod_manual_test.cc | 0 .../absl/strings/char_formatting_test.cc | 0 .../abseil-cpp => }/absl/strings/charconv.cc | 0 .../abseil-cpp => }/absl/strings/charconv.h | 0 .../absl/strings/charconv_benchmark.cc | 0 .../absl/strings/charconv_test.cc | 0 .../abseil-cpp => }/absl/strings/charset.h | 0 .../absl/strings/charset_benchmark.cc | 0 .../absl/strings/charset_test.cc | 0 .../abseil-cpp => }/absl/strings/cord.cc | 0 .../abseil-cpp => }/absl/strings/cord.h | 0 .../absl/strings/cord_analysis.cc | 0 .../absl/strings/cord_analysis.h | 0 .../absl/strings/cord_buffer.cc | 0 .../absl/strings/cord_buffer.h | 0 .../absl/strings/cord_buffer_test.cc | 0 .../abseil-cpp => }/absl/strings/cord_test.cc | 0 .../absl/strings/cord_test_helpers.h | 0 .../absl/strings/cordz_test.cc | 0 .../absl/strings/cordz_test_helpers.h | 0 .../abseil-cpp => }/absl/strings/escaping.cc | 0 .../abseil-cpp => }/absl/strings/escaping.h | 0 .../absl/strings/escaping_benchmark.cc | 0 .../absl/strings/escaping_test.cc | 0 .../absl/strings/has_absl_stringify.h | 0 .../absl/strings/has_absl_stringify_test.cc | 0 .../absl/strings/has_ostream_operator.h | 0 .../absl/strings/has_ostream_operator_test.cc | 0 .../absl/strings/internal/charconv_bigint.cc | 0 .../absl/strings/internal/charconv_bigint.h | 0 .../strings/internal/charconv_bigint_test.cc | 0 .../absl/strings/internal/charconv_parse.cc | 0 .../absl/strings/internal/charconv_parse.h | 0 .../strings/internal/charconv_parse_test.cc | 0 .../absl/strings/internal/cord_data_edge.h | 0 .../strings/internal/cord_data_edge_test.cc | 0 .../absl/strings/internal/cord_internal.cc | 0 .../absl/strings/internal/cord_internal.h | 0 .../absl/strings/internal/cord_rep_btree.cc | 0 .../absl/strings/internal/cord_rep_btree.h | 0 .../internal/cord_rep_btree_navigator.cc | 0 .../internal/cord_rep_btree_navigator.h | 0 .../internal/cord_rep_btree_navigator_test.cc | 0 .../strings/internal/cord_rep_btree_reader.cc | 0 .../strings/internal/cord_rep_btree_reader.h | 0 .../internal/cord_rep_btree_reader_test.cc | 0 .../strings/internal/cord_rep_btree_test.cc | 0 .../absl/strings/internal/cord_rep_consume.cc | 0 .../absl/strings/internal/cord_rep_consume.h | 0 .../absl/strings/internal/cord_rep_crc.cc | 0 .../absl/strings/internal/cord_rep_crc.h | 0 .../strings/internal/cord_rep_crc_test.cc | 0 .../absl/strings/internal/cord_rep_flat.h | 0 .../strings/internal/cord_rep_test_util.h | 0 .../absl/strings/internal/cordz_functions.cc | 0 .../absl/strings/internal/cordz_functions.h | 0 .../strings/internal/cordz_functions_test.cc | 0 .../absl/strings/internal/cordz_handle.cc | 0 .../absl/strings/internal/cordz_handle.h | 0 .../strings/internal/cordz_handle_test.cc | 0 .../absl/strings/internal/cordz_info.cc | 0 .../absl/strings/internal/cordz_info.h | 0 .../internal/cordz_info_statistics_test.cc | 0 .../absl/strings/internal/cordz_info_test.cc | 0 .../strings/internal/cordz_sample_token.cc | 0 .../strings/internal/cordz_sample_token.h | 0 .../internal/cordz_sample_token_test.cc | 0 .../absl/strings/internal/cordz_statistics.h | 0 .../strings/internal/cordz_update_scope.h | 0 .../internal/cordz_update_scope_test.cc | 0 .../strings/internal/cordz_update_tracker.h | 0 .../internal/cordz_update_tracker_test.cc | 0 .../internal/damerau_levenshtein_distance.cc | 0 .../internal/damerau_levenshtein_distance.h | 0 .../damerau_levenshtein_distance_test.cc | 0 .../absl/strings/internal/escaping.cc | 0 .../absl/strings/internal/escaping.h | 0 .../strings/internal/escaping_test_common.h | 0 .../strings/internal/has_absl_stringify.h | 0 .../absl/strings/internal/memutil.cc | 0 .../absl/strings/internal/memutil.h | 0 .../strings/internal/memutil_benchmark.cc | 0 .../absl/strings/internal/memutil_test.cc | 0 .../strings/internal/numbers_test_common.h | 0 .../absl/strings/internal/ostringstream.cc | 0 .../absl/strings/internal/ostringstream.h | 0 .../internal/ostringstream_benchmark.cc | 0 .../strings/internal/ostringstream_test.cc | 0 .../absl/strings/internal/pow10_helper.cc | 0 .../absl/strings/internal/pow10_helper.h | 0 .../strings/internal/pow10_helper_test.cc | 0 .../strings/internal/resize_uninitialized.h | 0 .../internal/resize_uninitialized_test.cc | 0 .../absl/strings/internal/stl_type_traits.h | 0 .../absl/strings/internal/str_format/arg.cc | 0 .../absl/strings/internal/str_format/arg.h | 0 .../strings/internal/str_format/arg_test.cc | 0 .../absl/strings/internal/str_format/bind.cc | 0 .../absl/strings/internal/str_format/bind.h | 0 .../strings/internal/str_format/bind_test.cc | 0 .../strings/internal/str_format/checker.h | 0 .../internal/str_format/checker_test.cc | 0 .../internal/str_format/constexpr_parser.h | 0 .../internal/str_format/convert_test.cc | 0 .../strings/internal/str_format/extension.cc | 0 .../strings/internal/str_format/extension.h | 0 .../internal/str_format/extension_test.cc | 0 .../internal/str_format/float_conversion.cc | 0 .../internal/str_format/float_conversion.h | 0 .../strings/internal/str_format/output.cc | 0 .../absl/strings/internal/str_format/output.h | 0 .../internal/str_format/output_test.cc | 0 .../strings/internal/str_format/parser.cc | 0 .../absl/strings/internal/str_format/parser.h | 0 .../internal/str_format/parser_test.cc | 0 .../absl/strings/internal/str_join_internal.h | 0 .../strings/internal/str_split_internal.h | 0 .../absl/strings/internal/string_constant.h | 0 .../strings/internal/string_constant_test.cc | 0 .../absl/strings/internal/stringify_sink.cc | 0 .../absl/strings/internal/stringify_sink.h | 0 .../absl/strings/internal/utf8.cc | 0 .../absl/strings/internal/utf8.h | 0 .../absl/strings/internal/utf8_test.cc | 0 .../abseil-cpp => }/absl/strings/match.cc | 0 .../abseil-cpp => }/absl/strings/match.h | 0 .../absl/strings/match_test.cc | 0 .../abseil-cpp => }/absl/strings/numbers.cc | 0 .../abseil-cpp => }/absl/strings/numbers.h | 0 .../absl/strings/numbers_benchmark.cc | 0 .../absl/strings/numbers_test.cc | 0 .../abseil-cpp => }/absl/strings/str_cat.cc | 0 .../abseil-cpp => }/absl/strings/str_cat.h | 0 .../absl/strings/str_cat_benchmark.cc | 0 .../absl/strings/str_cat_test.cc | 0 .../abseil-cpp => }/absl/strings/str_format.h | 0 .../absl/strings/str_format_test.cc | 0 .../abseil-cpp => }/absl/strings/str_join.h | 0 .../absl/strings/str_join_benchmark.cc | 0 .../absl/strings/str_join_test.cc | 0 .../absl/strings/str_replace.cc | 0 .../absl/strings/str_replace.h | 0 .../absl/strings/str_replace_benchmark.cc | 0 .../absl/strings/str_replace_test.cc | 0 .../abseil-cpp => }/absl/strings/str_split.cc | 0 .../abseil-cpp => }/absl/strings/str_split.h | 0 .../absl/strings/str_split_benchmark.cc | 0 .../absl/strings/str_split_test.cc | 0 .../absl/strings/string_view.cc | 0 .../absl/strings/string_view.h | 0 .../absl/strings/string_view_benchmark.cc | 0 .../absl/strings/string_view_test.cc | 0 .../abseil-cpp => }/absl/strings/strip.h | 0 .../absl/strings/strip_test.cc | 0 .../absl/strings/substitute.cc | 0 .../abseil-cpp => }/absl/strings/substitute.h | 0 .../absl/strings/substitute_test.cc | 0 .../absl/synchronization/CMakeLists.txt | 0 .../absl/synchronization/barrier.cc | 0 .../absl/synchronization/barrier.h | 0 .../absl/synchronization/barrier_test.cc | 0 .../absl/synchronization/blocking_counter.cc | 0 .../absl/synchronization/blocking_counter.h | 0 .../blocking_counter_benchmark.cc | 0 .../synchronization/blocking_counter_test.cc | 0 .../internal/create_thread_identity.cc | 0 .../internal/create_thread_identity.h | 0 .../absl/synchronization/internal/futex.h | 0 .../synchronization/internal/futex_waiter.cc | 0 .../synchronization/internal/futex_waiter.h | 0 .../synchronization/internal/graphcycles.cc | 0 .../synchronization/internal/graphcycles.h | 0 .../internal/graphcycles_benchmark.cc | 0 .../internal/graphcycles_test.cc | 0 .../internal/kernel_timeout.cc | 0 .../synchronization/internal/kernel_timeout.h | 0 .../internal/kernel_timeout_test.cc | 0 .../internal/per_thread_sem.cc | 0 .../synchronization/internal/per_thread_sem.h | 0 .../internal/per_thread_sem_test.cc | 0 .../internal/pthread_waiter.cc | 0 .../synchronization/internal/pthread_waiter.h | 0 .../synchronization/internal/sem_waiter.cc | 0 .../synchronization/internal/sem_waiter.h | 0 .../synchronization/internal/stdcpp_waiter.cc | 0 .../synchronization/internal/stdcpp_waiter.h | 0 .../synchronization/internal/thread_pool.h | 0 .../absl/synchronization/internal/waiter.h | 0 .../synchronization/internal/waiter_base.cc | 0 .../synchronization/internal/waiter_base.h | 0 .../synchronization/internal/waiter_test.cc | 0 .../synchronization/internal/win32_waiter.cc | 0 .../synchronization/internal/win32_waiter.h | 0 .../absl/synchronization/lifetime_test.cc | 0 .../absl/synchronization/mutex.cc | 0 .../absl/synchronization/mutex.h | 0 .../absl/synchronization/mutex_benchmark.cc | 0 .../mutex_method_pointer_test.cc | 0 .../absl/synchronization/mutex_test.cc | 0 .../absl/synchronization/notification.cc | 0 .../absl/synchronization/notification.h | 0 .../absl/synchronization/notification_test.cc | 0 .../abseil-cpp => }/absl/time/CMakeLists.txt | 0 .../abseil-cpp => }/absl/time/civil_time.cc | 0 .../abseil-cpp => }/absl/time/civil_time.h | 0 .../absl/time/civil_time_benchmark.cc | 0 .../absl/time/civil_time_test.cc | 0 .../abseil-cpp => }/absl/time/clock.cc | 0 .../abseil-cpp => }/absl/time/clock.h | 0 .../absl/time/clock_benchmark.cc | 0 .../abseil-cpp => }/absl/time/clock_test.cc | 0 .../abseil-cpp => }/absl/time/duration.cc | 0 .../absl/time/duration_benchmark.cc | 0 .../absl/time/duration_test.cc | 0 .../abseil-cpp => }/absl/time/flag_test.cc | 0 .../abseil-cpp => }/absl/time/format.cc | 0 .../absl/time/format_benchmark.cc | 0 .../abseil-cpp => }/absl/time/format_test.cc | 0 .../internal/cctz/include/cctz/civil_time.h | 0 .../cctz/include/cctz/civil_time_detail.h | 0 .../internal/cctz/include/cctz/time_zone.h | 0 .../cctz/include/cctz/zone_info_source.h | 0 .../time/internal/cctz/src/cctz_benchmark.cc | 0 .../internal/cctz/src/civil_time_detail.cc | 0 .../time/internal/cctz/src/civil_time_test.cc | 0 .../time/internal/cctz/src/time_zone_fixed.cc | 0 .../time/internal/cctz/src/time_zone_fixed.h | 0 .../internal/cctz/src/time_zone_format.cc | 0 .../cctz/src/time_zone_format_test.cc | 0 .../time/internal/cctz/src/time_zone_if.cc | 0 .../time/internal/cctz/src/time_zone_if.h | 0 .../time/internal/cctz/src/time_zone_impl.cc | 0 .../time/internal/cctz/src/time_zone_impl.h | 0 .../time/internal/cctz/src/time_zone_info.cc | 0 .../time/internal/cctz/src/time_zone_info.h | 0 .../time/internal/cctz/src/time_zone_libc.cc | 0 .../time/internal/cctz/src/time_zone_libc.h | 0 .../internal/cctz/src/time_zone_lookup.cc | 0 .../cctz/src/time_zone_lookup_test.cc | 0 .../time/internal/cctz/src/time_zone_posix.cc | 0 .../time/internal/cctz/src/time_zone_posix.h | 0 .../absl/time/internal/cctz/src/tzfile.h | 0 .../internal/cctz/src/zone_info_source.cc | 0 .../internal/cctz/testdata/README.zoneinfo | 0 .../absl/time/internal/cctz/testdata/version | 0 .../cctz/testdata/zoneinfo/Africa/Abidjan | Bin .../cctz/testdata/zoneinfo/Africa/Accra | Bin .../cctz/testdata/zoneinfo/Africa/Addis_Ababa | Bin .../cctz/testdata/zoneinfo/Africa/Algiers | Bin .../cctz/testdata/zoneinfo/Africa/Asmara | Bin .../cctz/testdata/zoneinfo/Africa/Asmera | Bin .../cctz/testdata/zoneinfo/Africa/Bamako | Bin .../cctz/testdata/zoneinfo/Africa/Bangui | Bin .../cctz/testdata/zoneinfo/Africa/Banjul | Bin .../cctz/testdata/zoneinfo/Africa/Bissau | Bin .../cctz/testdata/zoneinfo/Africa/Blantyre | Bin .../cctz/testdata/zoneinfo/Africa/Brazzaville | Bin .../cctz/testdata/zoneinfo/Africa/Bujumbura | Bin .../cctz/testdata/zoneinfo/Africa/Cairo | Bin .../cctz/testdata/zoneinfo/Africa/Casablanca | Bin .../cctz/testdata/zoneinfo/Africa/Ceuta | Bin .../cctz/testdata/zoneinfo/Africa/Conakry | Bin .../cctz/testdata/zoneinfo/Africa/Dakar | Bin .../testdata/zoneinfo/Africa/Dar_es_Salaam | Bin .../cctz/testdata/zoneinfo/Africa/Djibouti | Bin .../cctz/testdata/zoneinfo/Africa/Douala | Bin .../cctz/testdata/zoneinfo/Africa/El_Aaiun | Bin .../cctz/testdata/zoneinfo/Africa/Freetown | Bin .../cctz/testdata/zoneinfo/Africa/Gaborone | Bin .../cctz/testdata/zoneinfo/Africa/Harare | Bin .../testdata/zoneinfo/Africa/Johannesburg | Bin .../cctz/testdata/zoneinfo/Africa/Juba | Bin .../cctz/testdata/zoneinfo/Africa/Kampala | Bin .../cctz/testdata/zoneinfo/Africa/Khartoum | Bin .../cctz/testdata/zoneinfo/Africa/Kigali | Bin .../cctz/testdata/zoneinfo/Africa/Kinshasa | Bin .../cctz/testdata/zoneinfo/Africa/Lagos | Bin .../cctz/testdata/zoneinfo/Africa/Libreville | Bin .../cctz/testdata/zoneinfo/Africa/Lome | Bin .../cctz/testdata/zoneinfo/Africa/Luanda | Bin .../cctz/testdata/zoneinfo/Africa/Lubumbashi | Bin .../cctz/testdata/zoneinfo/Africa/Lusaka | Bin .../cctz/testdata/zoneinfo/Africa/Malabo | Bin .../cctz/testdata/zoneinfo/Africa/Maputo | Bin .../cctz/testdata/zoneinfo/Africa/Maseru | Bin .../cctz/testdata/zoneinfo/Africa/Mbabane | Bin .../cctz/testdata/zoneinfo/Africa/Mogadishu | Bin .../cctz/testdata/zoneinfo/Africa/Monrovia | Bin .../cctz/testdata/zoneinfo/Africa/Nairobi | Bin .../cctz/testdata/zoneinfo/Africa/Ndjamena | Bin .../cctz/testdata/zoneinfo/Africa/Niamey | Bin .../cctz/testdata/zoneinfo/Africa/Nouakchott | Bin .../cctz/testdata/zoneinfo/Africa/Ouagadougou | Bin .../cctz/testdata/zoneinfo/Africa/Porto-Novo | Bin .../cctz/testdata/zoneinfo/Africa/Sao_Tome | Bin .../cctz/testdata/zoneinfo/Africa/Timbuktu | Bin .../cctz/testdata/zoneinfo/Africa/Tripoli | Bin .../cctz/testdata/zoneinfo/Africa/Tunis | Bin .../cctz/testdata/zoneinfo/Africa/Windhoek | Bin .../cctz/testdata/zoneinfo/America/Adak | Bin .../cctz/testdata/zoneinfo/America/Anchorage | Bin .../cctz/testdata/zoneinfo/America/Anguilla | Bin .../cctz/testdata/zoneinfo/America/Antigua | Bin .../cctz/testdata/zoneinfo/America/Araguaina | Bin .../zoneinfo/America/Argentina/Buenos_Aires | Bin .../zoneinfo/America/Argentina/Catamarca | Bin .../zoneinfo/America/Argentina/ComodRivadavia | Bin .../zoneinfo/America/Argentina/Cordoba | Bin .../testdata/zoneinfo/America/Argentina/Jujuy | Bin .../zoneinfo/America/Argentina/La_Rioja | Bin .../zoneinfo/America/Argentina/Mendoza | Bin .../zoneinfo/America/Argentina/Rio_Gallegos | Bin .../testdata/zoneinfo/America/Argentina/Salta | Bin .../zoneinfo/America/Argentina/San_Juan | Bin .../zoneinfo/America/Argentina/San_Luis | Bin .../zoneinfo/America/Argentina/Tucuman | Bin .../zoneinfo/America/Argentina/Ushuaia | Bin .../cctz/testdata/zoneinfo/America/Aruba | Bin .../cctz/testdata/zoneinfo/America/Asuncion | Bin .../cctz/testdata/zoneinfo/America/Atikokan | Bin .../cctz/testdata/zoneinfo/America/Atka | Bin .../cctz/testdata/zoneinfo/America/Bahia | Bin .../testdata/zoneinfo/America/Bahia_Banderas | Bin .../cctz/testdata/zoneinfo/America/Barbados | Bin .../cctz/testdata/zoneinfo/America/Belem | Bin .../cctz/testdata/zoneinfo/America/Belize | Bin .../testdata/zoneinfo/America/Blanc-Sablon | Bin .../cctz/testdata/zoneinfo/America/Boa_Vista | Bin .../cctz/testdata/zoneinfo/America/Bogota | Bin .../cctz/testdata/zoneinfo/America/Boise | Bin .../testdata/zoneinfo/America/Buenos_Aires | Bin .../testdata/zoneinfo/America/Cambridge_Bay | Bin .../testdata/zoneinfo/America/Campo_Grande | Bin .../cctz/testdata/zoneinfo/America/Cancun | Bin .../cctz/testdata/zoneinfo/America/Caracas | Bin .../cctz/testdata/zoneinfo/America/Catamarca | Bin .../cctz/testdata/zoneinfo/America/Cayenne | Bin .../cctz/testdata/zoneinfo/America/Cayman | Bin .../cctz/testdata/zoneinfo/America/Chicago | Bin .../cctz/testdata/zoneinfo/America/Chihuahua | Bin .../testdata/zoneinfo/America/Ciudad_Juarez | Bin .../testdata/zoneinfo/America/Coral_Harbour | Bin .../cctz/testdata/zoneinfo/America/Cordoba | Bin .../cctz/testdata/zoneinfo/America/Costa_Rica | Bin .../cctz/testdata/zoneinfo/America/Creston | Bin .../cctz/testdata/zoneinfo/America/Cuiaba | Bin .../cctz/testdata/zoneinfo/America/Curacao | Bin .../testdata/zoneinfo/America/Danmarkshavn | Bin .../cctz/testdata/zoneinfo/America/Dawson | Bin .../testdata/zoneinfo/America/Dawson_Creek | Bin .../cctz/testdata/zoneinfo/America/Denver | Bin .../cctz/testdata/zoneinfo/America/Detroit | Bin .../cctz/testdata/zoneinfo/America/Dominica | Bin .../cctz/testdata/zoneinfo/America/Edmonton | Bin .../cctz/testdata/zoneinfo/America/Eirunepe | Bin .../testdata/zoneinfo/America/El_Salvador | Bin .../cctz/testdata/zoneinfo/America/Ensenada | Bin .../testdata/zoneinfo/America/Fort_Nelson | Bin .../cctz/testdata/zoneinfo/America/Fort_Wayne | Bin .../cctz/testdata/zoneinfo/America/Fortaleza | Bin .../cctz/testdata/zoneinfo/America/Glace_Bay | Bin .../cctz/testdata/zoneinfo/America/Godthab | Bin .../cctz/testdata/zoneinfo/America/Goose_Bay | Bin .../cctz/testdata/zoneinfo/America/Grand_Turk | Bin .../cctz/testdata/zoneinfo/America/Grenada | Bin .../cctz/testdata/zoneinfo/America/Guadeloupe | Bin .../cctz/testdata/zoneinfo/America/Guatemala | Bin .../cctz/testdata/zoneinfo/America/Guayaquil | Bin .../cctz/testdata/zoneinfo/America/Guyana | Bin .../cctz/testdata/zoneinfo/America/Halifax | Bin .../cctz/testdata/zoneinfo/America/Havana | Bin .../cctz/testdata/zoneinfo/America/Hermosillo | Bin .../zoneinfo/America/Indiana/Indianapolis | Bin .../testdata/zoneinfo/America/Indiana/Knox | Bin .../testdata/zoneinfo/America/Indiana/Marengo | Bin .../zoneinfo/America/Indiana/Petersburg | Bin .../zoneinfo/America/Indiana/Tell_City | Bin .../testdata/zoneinfo/America/Indiana/Vevay | Bin .../zoneinfo/America/Indiana/Vincennes | Bin .../testdata/zoneinfo/America/Indiana/Winamac | Bin .../testdata/zoneinfo/America/Indianapolis | Bin .../cctz/testdata/zoneinfo/America/Inuvik | Bin .../cctz/testdata/zoneinfo/America/Iqaluit | Bin .../cctz/testdata/zoneinfo/America/Jamaica | Bin .../cctz/testdata/zoneinfo/America/Jujuy | Bin .../cctz/testdata/zoneinfo/America/Juneau | Bin .../zoneinfo/America/Kentucky/Louisville | Bin .../zoneinfo/America/Kentucky/Monticello | Bin .../cctz/testdata/zoneinfo/America/Knox_IN | Bin .../cctz/testdata/zoneinfo/America/Kralendijk | Bin .../cctz/testdata/zoneinfo/America/La_Paz | Bin .../cctz/testdata/zoneinfo/America/Lima | Bin .../testdata/zoneinfo/America/Los_Angeles | Bin .../cctz/testdata/zoneinfo/America/Louisville | Bin .../testdata/zoneinfo/America/Lower_Princes | Bin .../cctz/testdata/zoneinfo/America/Maceio | Bin .../cctz/testdata/zoneinfo/America/Managua | Bin .../cctz/testdata/zoneinfo/America/Manaus | Bin .../cctz/testdata/zoneinfo/America/Marigot | Bin .../cctz/testdata/zoneinfo/America/Martinique | Bin .../cctz/testdata/zoneinfo/America/Matamoros | Bin .../cctz/testdata/zoneinfo/America/Mazatlan | Bin .../cctz/testdata/zoneinfo/America/Mendoza | Bin .../cctz/testdata/zoneinfo/America/Menominee | Bin .../cctz/testdata/zoneinfo/America/Merida | Bin .../cctz/testdata/zoneinfo/America/Metlakatla | Bin .../testdata/zoneinfo/America/Mexico_City | Bin .../cctz/testdata/zoneinfo/America/Miquelon | Bin .../cctz/testdata/zoneinfo/America/Moncton | Bin .../cctz/testdata/zoneinfo/America/Monterrey | Bin .../cctz/testdata/zoneinfo/America/Montevideo | Bin .../cctz/testdata/zoneinfo/America/Montreal | Bin .../cctz/testdata/zoneinfo/America/Montserrat | Bin .../cctz/testdata/zoneinfo/America/Nassau | Bin .../cctz/testdata/zoneinfo/America/New_York | Bin .../cctz/testdata/zoneinfo/America/Nipigon | Bin .../cctz/testdata/zoneinfo/America/Nome | Bin .../cctz/testdata/zoneinfo/America/Noronha | Bin .../zoneinfo/America/North_Dakota/Beulah | Bin .../zoneinfo/America/North_Dakota/Center | Bin .../zoneinfo/America/North_Dakota/New_Salem | Bin .../cctz/testdata/zoneinfo/America/Nuuk | Bin .../cctz/testdata/zoneinfo/America/Ojinaga | Bin .../cctz/testdata/zoneinfo/America/Panama | Bin .../testdata/zoneinfo/America/Pangnirtung | Bin .../cctz/testdata/zoneinfo/America/Paramaribo | Bin .../cctz/testdata/zoneinfo/America/Phoenix | Bin .../testdata/zoneinfo/America/Port-au-Prince | Bin .../testdata/zoneinfo/America/Port_of_Spain | Bin .../cctz/testdata/zoneinfo/America/Porto_Acre | Bin .../testdata/zoneinfo/America/Porto_Velho | Bin .../testdata/zoneinfo/America/Puerto_Rico | Bin .../testdata/zoneinfo/America/Punta_Arenas | Bin .../testdata/zoneinfo/America/Rainy_River | Bin .../testdata/zoneinfo/America/Rankin_Inlet | Bin .../cctz/testdata/zoneinfo/America/Recife | Bin .../cctz/testdata/zoneinfo/America/Regina | Bin .../cctz/testdata/zoneinfo/America/Resolute | Bin .../cctz/testdata/zoneinfo/America/Rio_Branco | Bin .../cctz/testdata/zoneinfo/America/Rosario | Bin .../testdata/zoneinfo/America/Santa_Isabel | Bin .../cctz/testdata/zoneinfo/America/Santarem | Bin .../cctz/testdata/zoneinfo/America/Santiago | Bin .../testdata/zoneinfo/America/Santo_Domingo | Bin .../cctz/testdata/zoneinfo/America/Sao_Paulo | Bin .../testdata/zoneinfo/America/Scoresbysund | Bin .../cctz/testdata/zoneinfo/America/Shiprock | Bin .../cctz/testdata/zoneinfo/America/Sitka | Bin .../testdata/zoneinfo/America/St_Barthelemy | Bin .../cctz/testdata/zoneinfo/America/St_Johns | Bin .../cctz/testdata/zoneinfo/America/St_Kitts | Bin .../cctz/testdata/zoneinfo/America/St_Lucia | Bin .../cctz/testdata/zoneinfo/America/St_Thomas | Bin .../cctz/testdata/zoneinfo/America/St_Vincent | Bin .../testdata/zoneinfo/America/Swift_Current | Bin .../testdata/zoneinfo/America/Tegucigalpa | Bin .../cctz/testdata/zoneinfo/America/Thule | Bin .../testdata/zoneinfo/America/Thunder_Bay | Bin .../cctz/testdata/zoneinfo/America/Tijuana | Bin .../cctz/testdata/zoneinfo/America/Toronto | Bin .../cctz/testdata/zoneinfo/America/Tortola | Bin .../cctz/testdata/zoneinfo/America/Vancouver | Bin .../cctz/testdata/zoneinfo/America/Virgin | Bin .../cctz/testdata/zoneinfo/America/Whitehorse | Bin .../cctz/testdata/zoneinfo/America/Winnipeg | Bin .../cctz/testdata/zoneinfo/America/Yakutat | Bin .../testdata/zoneinfo/America/Yellowknife | Bin .../cctz/testdata/zoneinfo/Antarctica/Casey | Bin .../cctz/testdata/zoneinfo/Antarctica/Davis | Bin .../zoneinfo/Antarctica/DumontDUrville | Bin .../testdata/zoneinfo/Antarctica/Macquarie | Bin .../cctz/testdata/zoneinfo/Antarctica/Mawson | Bin .../cctz/testdata/zoneinfo/Antarctica/McMurdo | Bin .../cctz/testdata/zoneinfo/Antarctica/Palmer | Bin .../cctz/testdata/zoneinfo/Antarctica/Rothera | Bin .../testdata/zoneinfo/Antarctica/South_Pole | Bin .../cctz/testdata/zoneinfo/Antarctica/Syowa | Bin .../cctz/testdata/zoneinfo/Antarctica/Troll | Bin .../cctz/testdata/zoneinfo/Antarctica/Vostok | Bin .../testdata/zoneinfo/Arctic/Longyearbyen | Bin .../internal/cctz/testdata/zoneinfo/Asia/Aden | Bin .../cctz/testdata/zoneinfo/Asia/Almaty | Bin .../cctz/testdata/zoneinfo/Asia/Amman | Bin .../cctz/testdata/zoneinfo/Asia/Anadyr | Bin .../cctz/testdata/zoneinfo/Asia/Aqtau | Bin .../cctz/testdata/zoneinfo/Asia/Aqtobe | Bin .../cctz/testdata/zoneinfo/Asia/Ashgabat | Bin .../cctz/testdata/zoneinfo/Asia/Ashkhabad | Bin .../cctz/testdata/zoneinfo/Asia/Atyrau | Bin .../cctz/testdata/zoneinfo/Asia/Baghdad | Bin .../cctz/testdata/zoneinfo/Asia/Bahrain | Bin .../internal/cctz/testdata/zoneinfo/Asia/Baku | Bin .../cctz/testdata/zoneinfo/Asia/Bangkok | Bin .../cctz/testdata/zoneinfo/Asia/Barnaul | Bin .../cctz/testdata/zoneinfo/Asia/Beirut | Bin .../cctz/testdata/zoneinfo/Asia/Bishkek | Bin .../cctz/testdata/zoneinfo/Asia/Brunei | Bin .../cctz/testdata/zoneinfo/Asia/Calcutta | Bin .../cctz/testdata/zoneinfo/Asia/Chita | Bin .../cctz/testdata/zoneinfo/Asia/Choibalsan | Bin .../cctz/testdata/zoneinfo/Asia/Chongqing | Bin .../cctz/testdata/zoneinfo/Asia/Chungking | Bin .../cctz/testdata/zoneinfo/Asia/Colombo | Bin .../cctz/testdata/zoneinfo/Asia/Dacca | Bin .../cctz/testdata/zoneinfo/Asia/Damascus | Bin .../cctz/testdata/zoneinfo/Asia/Dhaka | Bin .../internal/cctz/testdata/zoneinfo/Asia/Dili | Bin .../cctz/testdata/zoneinfo/Asia/Dubai | Bin .../cctz/testdata/zoneinfo/Asia/Dushanbe | Bin .../cctz/testdata/zoneinfo/Asia/Famagusta | Bin .../internal/cctz/testdata/zoneinfo/Asia/Gaza | Bin .../cctz/testdata/zoneinfo/Asia/Harbin | Bin .../cctz/testdata/zoneinfo/Asia/Hebron | Bin .../cctz/testdata/zoneinfo/Asia/Ho_Chi_Minh | Bin .../cctz/testdata/zoneinfo/Asia/Hong_Kong | Bin .../internal/cctz/testdata/zoneinfo/Asia/Hovd | Bin .../cctz/testdata/zoneinfo/Asia/Irkutsk | Bin .../cctz/testdata/zoneinfo/Asia/Istanbul | Bin .../cctz/testdata/zoneinfo/Asia/Jakarta | Bin .../cctz/testdata/zoneinfo/Asia/Jayapura | Bin .../cctz/testdata/zoneinfo/Asia/Jerusalem | Bin .../cctz/testdata/zoneinfo/Asia/Kabul | Bin .../cctz/testdata/zoneinfo/Asia/Kamchatka | Bin .../cctz/testdata/zoneinfo/Asia/Karachi | Bin .../cctz/testdata/zoneinfo/Asia/Kashgar | Bin .../cctz/testdata/zoneinfo/Asia/Kathmandu | Bin .../cctz/testdata/zoneinfo/Asia/Katmandu | Bin .../cctz/testdata/zoneinfo/Asia/Khandyga | Bin .../cctz/testdata/zoneinfo/Asia/Kolkata | Bin .../cctz/testdata/zoneinfo/Asia/Krasnoyarsk | Bin .../cctz/testdata/zoneinfo/Asia/Kuala_Lumpur | Bin .../cctz/testdata/zoneinfo/Asia/Kuching | Bin .../cctz/testdata/zoneinfo/Asia/Kuwait | Bin .../cctz/testdata/zoneinfo/Asia/Macao | Bin .../cctz/testdata/zoneinfo/Asia/Macau | Bin .../cctz/testdata/zoneinfo/Asia/Magadan | Bin .../cctz/testdata/zoneinfo/Asia/Makassar | Bin .../cctz/testdata/zoneinfo/Asia/Manila | Bin .../cctz/testdata/zoneinfo/Asia/Muscat | Bin .../cctz/testdata/zoneinfo/Asia/Nicosia | Bin .../cctz/testdata/zoneinfo/Asia/Novokuznetsk | Bin .../cctz/testdata/zoneinfo/Asia/Novosibirsk | Bin .../internal/cctz/testdata/zoneinfo/Asia/Omsk | Bin .../internal/cctz/testdata/zoneinfo/Asia/Oral | Bin .../cctz/testdata/zoneinfo/Asia/Phnom_Penh | Bin .../cctz/testdata/zoneinfo/Asia/Pontianak | Bin .../cctz/testdata/zoneinfo/Asia/Pyongyang | Bin .../cctz/testdata/zoneinfo/Asia/Qatar | Bin .../cctz/testdata/zoneinfo/Asia/Qostanay | Bin .../cctz/testdata/zoneinfo/Asia/Qyzylorda | Bin .../cctz/testdata/zoneinfo/Asia/Rangoon | Bin .../cctz/testdata/zoneinfo/Asia/Riyadh | Bin .../cctz/testdata/zoneinfo/Asia/Saigon | Bin .../cctz/testdata/zoneinfo/Asia/Sakhalin | Bin .../cctz/testdata/zoneinfo/Asia/Samarkand | Bin .../cctz/testdata/zoneinfo/Asia/Seoul | Bin .../cctz/testdata/zoneinfo/Asia/Shanghai | Bin .../cctz/testdata/zoneinfo/Asia/Singapore | Bin .../cctz/testdata/zoneinfo/Asia/Srednekolymsk | Bin .../cctz/testdata/zoneinfo/Asia/Taipei | Bin .../cctz/testdata/zoneinfo/Asia/Tashkent | Bin .../cctz/testdata/zoneinfo/Asia/Tbilisi | Bin .../cctz/testdata/zoneinfo/Asia/Tehran | Bin .../cctz/testdata/zoneinfo/Asia/Tel_Aviv | Bin .../cctz/testdata/zoneinfo/Asia/Thimbu | Bin .../cctz/testdata/zoneinfo/Asia/Thimphu | Bin .../cctz/testdata/zoneinfo/Asia/Tokyo | Bin .../cctz/testdata/zoneinfo/Asia/Tomsk | Bin .../cctz/testdata/zoneinfo/Asia/Ujung_Pandang | Bin .../cctz/testdata/zoneinfo/Asia/Ulaanbaatar | Bin .../cctz/testdata/zoneinfo/Asia/Ulan_Bator | Bin .../cctz/testdata/zoneinfo/Asia/Urumqi | Bin .../cctz/testdata/zoneinfo/Asia/Ust-Nera | Bin .../cctz/testdata/zoneinfo/Asia/Vientiane | Bin .../cctz/testdata/zoneinfo/Asia/Vladivostok | Bin .../cctz/testdata/zoneinfo/Asia/Yakutsk | Bin .../cctz/testdata/zoneinfo/Asia/Yangon | Bin .../cctz/testdata/zoneinfo/Asia/Yekaterinburg | Bin .../cctz/testdata/zoneinfo/Asia/Yerevan | Bin .../cctz/testdata/zoneinfo/Atlantic/Azores | Bin .../cctz/testdata/zoneinfo/Atlantic/Bermuda | Bin .../cctz/testdata/zoneinfo/Atlantic/Canary | Bin .../testdata/zoneinfo/Atlantic/Cape_Verde | Bin .../cctz/testdata/zoneinfo/Atlantic/Faeroe | Bin .../cctz/testdata/zoneinfo/Atlantic/Faroe | Bin .../cctz/testdata/zoneinfo/Atlantic/Jan_Mayen | Bin .../cctz/testdata/zoneinfo/Atlantic/Madeira | Bin .../cctz/testdata/zoneinfo/Atlantic/Reykjavik | Bin .../testdata/zoneinfo/Atlantic/South_Georgia | Bin .../cctz/testdata/zoneinfo/Atlantic/St_Helena | Bin .../cctz/testdata/zoneinfo/Atlantic/Stanley | Bin .../cctz/testdata/zoneinfo/Australia/ACT | Bin .../cctz/testdata/zoneinfo/Australia/Adelaide | Bin .../cctz/testdata/zoneinfo/Australia/Brisbane | Bin .../testdata/zoneinfo/Australia/Broken_Hill | Bin .../cctz/testdata/zoneinfo/Australia/Canberra | Bin .../cctz/testdata/zoneinfo/Australia/Currie | Bin .../cctz/testdata/zoneinfo/Australia/Darwin | Bin .../cctz/testdata/zoneinfo/Australia/Eucla | Bin .../cctz/testdata/zoneinfo/Australia/Hobart | Bin .../cctz/testdata/zoneinfo/Australia/LHI | Bin .../cctz/testdata/zoneinfo/Australia/Lindeman | Bin .../testdata/zoneinfo/Australia/Lord_Howe | Bin .../testdata/zoneinfo/Australia/Melbourne | Bin .../cctz/testdata/zoneinfo/Australia/NSW | Bin .../cctz/testdata/zoneinfo/Australia/North | Bin .../cctz/testdata/zoneinfo/Australia/Perth | Bin .../testdata/zoneinfo/Australia/Queensland | Bin .../cctz/testdata/zoneinfo/Australia/South | Bin .../cctz/testdata/zoneinfo/Australia/Sydney | Bin .../cctz/testdata/zoneinfo/Australia/Tasmania | Bin .../cctz/testdata/zoneinfo/Australia/Victoria | Bin .../cctz/testdata/zoneinfo/Australia/West | Bin .../testdata/zoneinfo/Australia/Yancowinna | Bin .../cctz/testdata/zoneinfo/Brazil/Acre | Bin .../cctz/testdata/zoneinfo/Brazil/DeNoronha | Bin .../cctz/testdata/zoneinfo/Brazil/East | Bin .../cctz/testdata/zoneinfo/Brazil/West | Bin .../time/internal/cctz/testdata/zoneinfo/CET | Bin .../internal/cctz/testdata/zoneinfo/CST6CDT | Bin .../cctz/testdata/zoneinfo/Canada/Atlantic | Bin .../cctz/testdata/zoneinfo/Canada/Central | Bin .../cctz/testdata/zoneinfo/Canada/Eastern | Bin .../cctz/testdata/zoneinfo/Canada/Mountain | Bin .../testdata/zoneinfo/Canada/Newfoundland | Bin .../cctz/testdata/zoneinfo/Canada/Pacific | Bin .../testdata/zoneinfo/Canada/Saskatchewan | Bin .../cctz/testdata/zoneinfo/Canada/Yukon | Bin .../cctz/testdata/zoneinfo/Chile/Continental | Bin .../cctz/testdata/zoneinfo/Chile/EasterIsland | Bin .../time/internal/cctz/testdata/zoneinfo/Cuba | Bin .../time/internal/cctz/testdata/zoneinfo/EET | Bin .../time/internal/cctz/testdata/zoneinfo/EST | Bin .../internal/cctz/testdata/zoneinfo/EST5EDT | Bin .../internal/cctz/testdata/zoneinfo/Egypt | Bin .../time/internal/cctz/testdata/zoneinfo/Eire | Bin .../internal/cctz/testdata/zoneinfo/Etc/GMT | Bin .../internal/cctz/testdata/zoneinfo/Etc/GMT+0 | Bin .../internal/cctz/testdata/zoneinfo/Etc/GMT+1 | Bin .../cctz/testdata/zoneinfo/Etc/GMT+10 | Bin .../cctz/testdata/zoneinfo/Etc/GMT+11 | Bin .../cctz/testdata/zoneinfo/Etc/GMT+12 | Bin .../internal/cctz/testdata/zoneinfo/Etc/GMT+2 | Bin .../internal/cctz/testdata/zoneinfo/Etc/GMT+3 | Bin .../internal/cctz/testdata/zoneinfo/Etc/GMT+4 | Bin .../internal/cctz/testdata/zoneinfo/Etc/GMT+5 | Bin .../internal/cctz/testdata/zoneinfo/Etc/GMT+6 | Bin .../internal/cctz/testdata/zoneinfo/Etc/GMT+7 | Bin .../internal/cctz/testdata/zoneinfo/Etc/GMT+8 | Bin .../internal/cctz/testdata/zoneinfo/Etc/GMT+9 | Bin .../internal/cctz/testdata/zoneinfo/Etc/GMT-0 | Bin .../internal/cctz/testdata/zoneinfo/Etc/GMT-1 | Bin .../cctz/testdata/zoneinfo/Etc/GMT-10 | Bin .../cctz/testdata/zoneinfo/Etc/GMT-11 | Bin .../cctz/testdata/zoneinfo/Etc/GMT-12 | Bin .../cctz/testdata/zoneinfo/Etc/GMT-13 | Bin .../cctz/testdata/zoneinfo/Etc/GMT-14 | Bin .../internal/cctz/testdata/zoneinfo/Etc/GMT-2 | Bin .../internal/cctz/testdata/zoneinfo/Etc/GMT-3 | Bin .../internal/cctz/testdata/zoneinfo/Etc/GMT-4 | Bin .../internal/cctz/testdata/zoneinfo/Etc/GMT-5 | Bin .../internal/cctz/testdata/zoneinfo/Etc/GMT-6 | Bin .../internal/cctz/testdata/zoneinfo/Etc/GMT-7 | Bin .../internal/cctz/testdata/zoneinfo/Etc/GMT-8 | Bin .../internal/cctz/testdata/zoneinfo/Etc/GMT-9 | Bin .../internal/cctz/testdata/zoneinfo/Etc/GMT0 | Bin .../cctz/testdata/zoneinfo/Etc/Greenwich | Bin .../internal/cctz/testdata/zoneinfo/Etc/UCT | Bin .../internal/cctz/testdata/zoneinfo/Etc/UTC | Bin .../cctz/testdata/zoneinfo/Etc/Universal | Bin .../internal/cctz/testdata/zoneinfo/Etc/Zulu | Bin .../cctz/testdata/zoneinfo/Europe/Amsterdam | Bin .../cctz/testdata/zoneinfo/Europe/Andorra | Bin .../cctz/testdata/zoneinfo/Europe/Astrakhan | Bin .../cctz/testdata/zoneinfo/Europe/Athens | Bin .../cctz/testdata/zoneinfo/Europe/Belfast | Bin .../cctz/testdata/zoneinfo/Europe/Belgrade | Bin .../cctz/testdata/zoneinfo/Europe/Berlin | Bin .../cctz/testdata/zoneinfo/Europe/Bratislava | Bin .../cctz/testdata/zoneinfo/Europe/Brussels | Bin .../cctz/testdata/zoneinfo/Europe/Bucharest | Bin .../cctz/testdata/zoneinfo/Europe/Budapest | Bin .../cctz/testdata/zoneinfo/Europe/Busingen | Bin .../cctz/testdata/zoneinfo/Europe/Chisinau | Bin .../cctz/testdata/zoneinfo/Europe/Copenhagen | Bin .../cctz/testdata/zoneinfo/Europe/Dublin | Bin .../cctz/testdata/zoneinfo/Europe/Gibraltar | Bin .../cctz/testdata/zoneinfo/Europe/Guernsey | Bin .../cctz/testdata/zoneinfo/Europe/Helsinki | Bin .../cctz/testdata/zoneinfo/Europe/Isle_of_Man | Bin .../cctz/testdata/zoneinfo/Europe/Istanbul | Bin .../cctz/testdata/zoneinfo/Europe/Jersey | Bin .../cctz/testdata/zoneinfo/Europe/Kaliningrad | Bin .../cctz/testdata/zoneinfo/Europe/Kiev | Bin .../cctz/testdata/zoneinfo/Europe/Kirov | Bin .../cctz/testdata/zoneinfo/Europe/Kyiv | Bin .../cctz/testdata/zoneinfo/Europe/Lisbon | Bin .../cctz/testdata/zoneinfo/Europe/Ljubljana | Bin .../cctz/testdata/zoneinfo/Europe/London | Bin .../cctz/testdata/zoneinfo/Europe/Luxembourg | Bin .../cctz/testdata/zoneinfo/Europe/Madrid | Bin .../cctz/testdata/zoneinfo/Europe/Malta | Bin .../cctz/testdata/zoneinfo/Europe/Mariehamn | Bin .../cctz/testdata/zoneinfo/Europe/Minsk | Bin .../cctz/testdata/zoneinfo/Europe/Monaco | Bin .../cctz/testdata/zoneinfo/Europe/Moscow | Bin .../cctz/testdata/zoneinfo/Europe/Nicosia | Bin .../cctz/testdata/zoneinfo/Europe/Oslo | Bin .../cctz/testdata/zoneinfo/Europe/Paris | Bin .../cctz/testdata/zoneinfo/Europe/Podgorica | Bin .../cctz/testdata/zoneinfo/Europe/Prague | Bin .../cctz/testdata/zoneinfo/Europe/Riga | Bin .../cctz/testdata/zoneinfo/Europe/Rome | Bin .../cctz/testdata/zoneinfo/Europe/Samara | Bin .../cctz/testdata/zoneinfo/Europe/San_Marino | Bin .../cctz/testdata/zoneinfo/Europe/Sarajevo | Bin .../cctz/testdata/zoneinfo/Europe/Saratov | Bin .../cctz/testdata/zoneinfo/Europe/Simferopol | Bin .../cctz/testdata/zoneinfo/Europe/Skopje | Bin .../cctz/testdata/zoneinfo/Europe/Sofia | Bin .../cctz/testdata/zoneinfo/Europe/Stockholm | Bin .../cctz/testdata/zoneinfo/Europe/Tallinn | Bin .../cctz/testdata/zoneinfo/Europe/Tirane | Bin .../cctz/testdata/zoneinfo/Europe/Tiraspol | Bin .../cctz/testdata/zoneinfo/Europe/Ulyanovsk | Bin .../cctz/testdata/zoneinfo/Europe/Uzhgorod | Bin .../cctz/testdata/zoneinfo/Europe/Vaduz | Bin .../cctz/testdata/zoneinfo/Europe/Vatican | Bin .../cctz/testdata/zoneinfo/Europe/Vienna | Bin .../cctz/testdata/zoneinfo/Europe/Vilnius | Bin .../cctz/testdata/zoneinfo/Europe/Volgograd | Bin .../cctz/testdata/zoneinfo/Europe/Warsaw | Bin .../cctz/testdata/zoneinfo/Europe/Zagreb | Bin .../cctz/testdata/zoneinfo/Europe/Zaporozhye | Bin .../cctz/testdata/zoneinfo/Europe/Zurich | Bin .../internal/cctz/testdata/zoneinfo/Factory | Bin .../time/internal/cctz/testdata/zoneinfo/GB | Bin .../internal/cctz/testdata/zoneinfo/GB-Eire | Bin .../time/internal/cctz/testdata/zoneinfo/GMT | Bin .../internal/cctz/testdata/zoneinfo/GMT+0 | Bin .../internal/cctz/testdata/zoneinfo/GMT-0 | Bin .../time/internal/cctz/testdata/zoneinfo/GMT0 | Bin .../internal/cctz/testdata/zoneinfo/Greenwich | Bin .../time/internal/cctz/testdata/zoneinfo/HST | Bin .../internal/cctz/testdata/zoneinfo/Hongkong | Bin .../internal/cctz/testdata/zoneinfo/Iceland | Bin .../testdata/zoneinfo/Indian/Antananarivo | Bin .../cctz/testdata/zoneinfo/Indian/Chagos | Bin .../cctz/testdata/zoneinfo/Indian/Christmas | Bin .../cctz/testdata/zoneinfo/Indian/Cocos | Bin .../cctz/testdata/zoneinfo/Indian/Comoro | Bin .../cctz/testdata/zoneinfo/Indian/Kerguelen | Bin .../cctz/testdata/zoneinfo/Indian/Mahe | Bin .../cctz/testdata/zoneinfo/Indian/Maldives | Bin .../cctz/testdata/zoneinfo/Indian/Mauritius | Bin .../cctz/testdata/zoneinfo/Indian/Mayotte | Bin .../cctz/testdata/zoneinfo/Indian/Reunion | Bin .../time/internal/cctz/testdata/zoneinfo/Iran | Bin .../internal/cctz/testdata/zoneinfo/Israel | Bin .../internal/cctz/testdata/zoneinfo/Jamaica | Bin .../internal/cctz/testdata/zoneinfo/Japan | Bin .../internal/cctz/testdata/zoneinfo/Kwajalein | Bin .../internal/cctz/testdata/zoneinfo/Libya | Bin .../time/internal/cctz/testdata/zoneinfo/MET | Bin .../time/internal/cctz/testdata/zoneinfo/MST | Bin .../internal/cctz/testdata/zoneinfo/MST7MDT | Bin .../cctz/testdata/zoneinfo/Mexico/BajaNorte | Bin .../cctz/testdata/zoneinfo/Mexico/BajaSur | Bin .../cctz/testdata/zoneinfo/Mexico/General | Bin .../time/internal/cctz/testdata/zoneinfo/NZ | Bin .../internal/cctz/testdata/zoneinfo/NZ-CHAT | Bin .../internal/cctz/testdata/zoneinfo/Navajo | Bin .../time/internal/cctz/testdata/zoneinfo/PRC | Bin .../internal/cctz/testdata/zoneinfo/PST8PDT | Bin .../cctz/testdata/zoneinfo/Pacific/Apia | Bin .../cctz/testdata/zoneinfo/Pacific/Auckland | Bin .../testdata/zoneinfo/Pacific/Bougainville | Bin .../cctz/testdata/zoneinfo/Pacific/Chatham | Bin .../cctz/testdata/zoneinfo/Pacific/Chuuk | Bin .../cctz/testdata/zoneinfo/Pacific/Easter | Bin .../cctz/testdata/zoneinfo/Pacific/Efate | Bin .../cctz/testdata/zoneinfo/Pacific/Enderbury | Bin .../cctz/testdata/zoneinfo/Pacific/Fakaofo | Bin .../cctz/testdata/zoneinfo/Pacific/Fiji | Bin .../cctz/testdata/zoneinfo/Pacific/Funafuti | Bin .../cctz/testdata/zoneinfo/Pacific/Galapagos | Bin .../cctz/testdata/zoneinfo/Pacific/Gambier | Bin .../testdata/zoneinfo/Pacific/Guadalcanal | Bin .../cctz/testdata/zoneinfo/Pacific/Guam | Bin .../cctz/testdata/zoneinfo/Pacific/Honolulu | Bin .../cctz/testdata/zoneinfo/Pacific/Johnston | Bin .../cctz/testdata/zoneinfo/Pacific/Kanton | Bin .../cctz/testdata/zoneinfo/Pacific/Kiritimati | Bin .../cctz/testdata/zoneinfo/Pacific/Kosrae | Bin .../cctz/testdata/zoneinfo/Pacific/Kwajalein | Bin .../cctz/testdata/zoneinfo/Pacific/Majuro | Bin .../cctz/testdata/zoneinfo/Pacific/Marquesas | Bin .../cctz/testdata/zoneinfo/Pacific/Midway | Bin .../cctz/testdata/zoneinfo/Pacific/Nauru | Bin .../cctz/testdata/zoneinfo/Pacific/Niue | Bin .../cctz/testdata/zoneinfo/Pacific/Norfolk | Bin .../cctz/testdata/zoneinfo/Pacific/Noumea | Bin .../cctz/testdata/zoneinfo/Pacific/Pago_Pago | Bin .../cctz/testdata/zoneinfo/Pacific/Palau | Bin .../cctz/testdata/zoneinfo/Pacific/Pitcairn | Bin .../cctz/testdata/zoneinfo/Pacific/Pohnpei | Bin .../cctz/testdata/zoneinfo/Pacific/Ponape | Bin .../testdata/zoneinfo/Pacific/Port_Moresby | Bin .../cctz/testdata/zoneinfo/Pacific/Rarotonga | Bin .../cctz/testdata/zoneinfo/Pacific/Saipan | Bin .../cctz/testdata/zoneinfo/Pacific/Samoa | Bin .../cctz/testdata/zoneinfo/Pacific/Tahiti | Bin .../cctz/testdata/zoneinfo/Pacific/Tarawa | Bin .../cctz/testdata/zoneinfo/Pacific/Tongatapu | Bin .../cctz/testdata/zoneinfo/Pacific/Truk | Bin .../cctz/testdata/zoneinfo/Pacific/Wake | Bin .../cctz/testdata/zoneinfo/Pacific/Wallis | Bin .../cctz/testdata/zoneinfo/Pacific/Yap | Bin .../internal/cctz/testdata/zoneinfo/Poland | Bin .../internal/cctz/testdata/zoneinfo/Portugal | Bin .../time/internal/cctz/testdata/zoneinfo/ROC | Bin .../time/internal/cctz/testdata/zoneinfo/ROK | Bin .../internal/cctz/testdata/zoneinfo/Singapore | Bin .../internal/cctz/testdata/zoneinfo/Turkey | Bin .../time/internal/cctz/testdata/zoneinfo/UCT | Bin .../internal/cctz/testdata/zoneinfo/US/Alaska | Bin .../cctz/testdata/zoneinfo/US/Aleutian | Bin .../cctz/testdata/zoneinfo/US/Arizona | Bin .../cctz/testdata/zoneinfo/US/Central | Bin .../cctz/testdata/zoneinfo/US/East-Indiana | Bin .../cctz/testdata/zoneinfo/US/Eastern | Bin .../internal/cctz/testdata/zoneinfo/US/Hawaii | Bin .../cctz/testdata/zoneinfo/US/Indiana-Starke | Bin .../cctz/testdata/zoneinfo/US/Michigan | Bin .../cctz/testdata/zoneinfo/US/Mountain | Bin .../cctz/testdata/zoneinfo/US/Pacific | Bin .../internal/cctz/testdata/zoneinfo/US/Samoa | Bin .../time/internal/cctz/testdata/zoneinfo/UTC | Bin .../internal/cctz/testdata/zoneinfo/Universal | Bin .../time/internal/cctz/testdata/zoneinfo/W-SU | Bin .../time/internal/cctz/testdata/zoneinfo/WET | Bin .../time/internal/cctz/testdata/zoneinfo/Zulu | Bin .../cctz/testdata/zoneinfo/iso3166.tab | 0 .../cctz/testdata/zoneinfo/zone1970.tab | 0 .../cctz/testdata/zoneinfo/zonenow.tab | 0 .../time/internal/get_current_time_chrono.inc | 0 .../time/internal/get_current_time_posix.inc | 0 .../absl/time/internal/test_util.cc | 0 .../absl/time/internal/test_util.h | 0 .../abseil-cpp => }/absl/time/time.cc | 0 .../abseil-cpp => }/absl/time/time.h | 0 .../absl/time/time_benchmark.cc | 0 .../abseil-cpp => }/absl/time/time_test.cc | 0 .../absl/time/time_zone_test.cc | 0 .../abseil-cpp => }/absl/types/CMakeLists.txt | 0 .../abseil-cpp => }/absl/types/any.h | 0 .../absl/types/any_exception_safety_test.cc | 0 .../abseil-cpp => }/absl/types/any_test.cc | 0 .../absl/types/bad_any_cast.cc | 0 .../abseil-cpp => }/absl/types/bad_any_cast.h | 0 .../absl/types/bad_optional_access.cc | 0 .../absl/types/bad_optional_access.h | 0 .../absl/types/bad_variant_access.cc | 0 .../absl/types/bad_variant_access.h | 0 .../abseil-cpp => }/absl/types/compare.h | 0 .../absl/types/compare_test.cc | 0 .../absl/types/internal/optional.h | 0 .../absl/types/internal/span.h | 0 .../absl/types/internal/variant.h | 0 .../abseil-cpp => }/absl/types/optional.h | 0 .../types/optional_exception_safety_test.cc | 0 .../absl/types/optional_test.cc | 0 .../abseil-cpp => }/absl/types/span.h | 0 .../abseil-cpp => }/absl/types/span_test.cc | 0 .../abseil-cpp => }/absl/types/variant.h | 0 .../absl/types/variant_benchmark.cc | 0 .../types/variant_exception_safety_test.cc | 0 .../absl/types/variant_test.cc | 0 .../absl/utility/CMakeLists.txt | 0 .../absl/utility/internal/if_constexpr.h | 0 .../utility/internal/if_constexpr_test.cc | 0 .../abseil-cpp => }/absl/utility/utility.h | 0 .../absl/utility/utility_test.cc | 0 .../ci/absl_alternate_options.h | 0 .../abseil-cpp => }/ci/cmake_common.sh | 0 .../abseil-cpp => }/ci/cmake_install_test.sh | 0 .../ci/linux_arm_clang-latest_libcxx_bazel.sh | 0 .../linux_clang-latest_libcxx_asan_bazel.sh | 0 .../ci/linux_clang-latest_libcxx_bazel.sh | 0 .../linux_clang-latest_libcxx_tsan_bazel.sh | 0 .../ci/linux_clang-latest_libstdcxx_bazel.sh | 0 .../ci/linux_docker_containers.sh | 0 .../ci/linux_gcc-floor_libstdcxx_bazel.sh | 0 .../ci/linux_gcc-latest_libstdcxx_bazel.sh | 0 .../ci/linux_gcc-latest_libstdcxx_cmake.sh | 0 .../ci/linux_gcc_alpine_cmake.sh | 0 .../abseil-cpp => }/ci/macos_xcode_bazel.sh | 0 .../abseil-cpp => }/ci/macos_xcode_cmake.sh | 0 .../ci/windows_clangcl_bazel.bat | 0 .../abseil-cpp => }/ci/windows_msvc_bazel.bat | 0 .../abseil-cpp => }/ci/windows_msvc_cmake.bat | 0 .../{third_party/abseil-cpp => }/conanfile.py | 0 .../abseil-cpp => }/create_lts.py | 0 1494 files changed, 254 insertions(+), 211 deletions(-) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/ABSEIL_ISSUE_TEMPLATE.md (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/AUTHORS (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/CMake/AbseilDll.cmake (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/CMake/AbseilHelpers.cmake (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/CMake/Googletest/CMakeLists.txt.in (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/CMake/Googletest/DownloadGTest.cmake (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/CMake/README.md (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/CMake/abslConfig.cmake.in (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/CMake/install_test_project/CMakeLists.txt (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/CMake/install_test_project/simple.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/CMake/install_test_project/test.sh (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/CMakeLists.txt (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/CONTRIBUTING.md (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/FAQ.md (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/LICENSE (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/PrivacyInfo.xcprivacy (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/README.md (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/UPGRADES.md (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/WORKSPACE (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/WORKSPACE.bzlmod (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/CMakeLists.txt (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/abseil.podspec.gen.py (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/algorithm/CMakeLists.txt (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/algorithm/algorithm.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/algorithm/algorithm_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/algorithm/container.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/algorithm/container_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/base/CMakeLists.txt (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/base/attributes.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/base/bit_cast_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/base/call_once.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/base/call_once_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/base/casts.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/base/config.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/base/config_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/base/const_init.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/base/dynamic_annotations.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/base/exception_safety_testing_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/base/inline_variable_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/base/inline_variable_test_a.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/base/inline_variable_test_b.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/base/internal/atomic_hook.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/base/internal/atomic_hook_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/base/internal/atomic_hook_test_helper.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/base/internal/atomic_hook_test_helper.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/base/internal/cmake_thread_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/base/internal/cycleclock.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/base/internal/cycleclock.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/base/internal/cycleclock_config.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/base/internal/direct_mmap.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/base/internal/dynamic_annotations.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/base/internal/endian.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/base/internal/endian_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/base/internal/errno_saver.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/base/internal/errno_saver_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/base/internal/exception_safety_testing.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/base/internal/exception_safety_testing.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/base/internal/exception_testing.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/base/internal/fast_type_id.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/base/internal/fast_type_id_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/base/internal/hide_ptr.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/base/internal/identity.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/base/internal/inline_variable.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/base/internal/inline_variable_testing.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/base/internal/invoke.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/base/internal/low_level_alloc.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/base/internal/low_level_alloc.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/base/internal/low_level_alloc_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/base/internal/low_level_scheduling.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/base/internal/nullability_impl.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/base/internal/per_thread_tls.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/base/internal/pretty_function.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/base/internal/raw_logging.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/base/internal/raw_logging.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/base/internal/scheduling_mode.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/base/internal/scoped_set_env.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/base/internal/scoped_set_env.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/base/internal/scoped_set_env_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/base/internal/spinlock.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/base/internal/spinlock.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/base/internal/spinlock_akaros.inc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/base/internal/spinlock_benchmark.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/base/internal/spinlock_linux.inc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/base/internal/spinlock_posix.inc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/base/internal/spinlock_wait.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/base/internal/spinlock_wait.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/base/internal/spinlock_win32.inc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/base/internal/strerror.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/base/internal/strerror.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/base/internal/strerror_benchmark.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/base/internal/strerror_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/base/internal/sysinfo.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/base/internal/sysinfo.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/base/internal/sysinfo_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/base/internal/thread_identity.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/base/internal/thread_identity.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/base/internal/thread_identity_benchmark.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/base/internal/thread_identity_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/base/internal/throw_delegate.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/base/internal/throw_delegate.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/base/internal/tsan_mutex_interface.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/base/internal/unaligned_access.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/base/internal/unique_small_name_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/base/internal/unscaledcycleclock.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/base/internal/unscaledcycleclock.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/base/internal/unscaledcycleclock_config.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/base/invoke_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/base/log_severity.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/base/log_severity.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/base/log_severity_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/base/macros.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/base/no_destructor.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/base/no_destructor_benchmark.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/base/no_destructor_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/base/nullability.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/base/nullability_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/base/optimization.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/base/optimization_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/base/options.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/base/policy_checks.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/base/port.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/base/prefetch.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/base/prefetch_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/base/raw_logging_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/base/spinlock_test_common.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/base/thread_annotations.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/base/throw_delegate_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/cleanup/CMakeLists.txt (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/cleanup/cleanup.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/cleanup/cleanup_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/cleanup/internal/cleanup.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/container/CMakeLists.txt (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/container/btree_benchmark.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/container/btree_map.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/container/btree_set.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/container/btree_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/container/btree_test.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/container/fixed_array.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/container/fixed_array_benchmark.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/container/fixed_array_exception_safety_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/container/fixed_array_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/container/flat_hash_map.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/container/flat_hash_map_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/container/flat_hash_set.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/container/flat_hash_set_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/container/inlined_vector.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/container/inlined_vector_benchmark.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/container/inlined_vector_exception_safety_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/container/inlined_vector_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/container/internal/btree.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/container/internal/btree_container.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/container/internal/common.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/container/internal/common_policy_traits.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/container/internal/common_policy_traits_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/container/internal/compressed_tuple.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/container/internal/compressed_tuple_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/container/internal/container_memory.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/container/internal/container_memory_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/container/internal/hash_function_defaults.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/container/internal/hash_function_defaults_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/container/internal/hash_generator_testing.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/container/internal/hash_generator_testing.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/container/internal/hash_policy_testing.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/container/internal/hash_policy_testing_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/container/internal/hash_policy_traits.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/container/internal/hash_policy_traits_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/container/internal/hashtable_debug.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/container/internal/hashtable_debug_hooks.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/container/internal/hashtablez_sampler.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/container/internal/hashtablez_sampler.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/container/internal/hashtablez_sampler_force_weak_definition.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/container/internal/hashtablez_sampler_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/container/internal/inlined_vector.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/container/internal/layout.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/container/internal/layout_benchmark.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/container/internal/layout_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/container/internal/node_slot_policy.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/container/internal/node_slot_policy_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/container/internal/raw_hash_map.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/container/internal/raw_hash_set.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/container/internal/raw_hash_set.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/container/internal/raw_hash_set_allocator_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/container/internal/raw_hash_set_benchmark.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/container/internal/raw_hash_set_probe_benchmark.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/container/internal/raw_hash_set_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/container/internal/test_allocator.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/container/internal/test_instance_tracker.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/container/internal/test_instance_tracker.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/container/internal/test_instance_tracker_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/container/internal/tracked.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/container/internal/unordered_map_constructor_test.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/container/internal/unordered_map_lookup_test.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/container/internal/unordered_map_members_test.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/container/internal/unordered_map_modifiers_test.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/container/internal/unordered_map_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/container/internal/unordered_set_constructor_test.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/container/internal/unordered_set_lookup_test.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/container/internal/unordered_set_members_test.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/container/internal/unordered_set_modifiers_test.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/container/internal/unordered_set_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/container/node_hash_map.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/container/node_hash_map_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/container/node_hash_set.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/container/node_hash_set_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/container/sample_element_size_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/copts/AbseilConfigureCopts.cmake (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/copts/GENERATED_AbseilCopts.cmake (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/copts/GENERATED_copts.bzl (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/copts/configure_copts.bzl (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/copts/copts.py (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/copts/generate_copts.py (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/crc/CMakeLists.txt (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/crc/crc32c.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/crc/crc32c.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/crc/crc32c_benchmark.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/crc/crc32c_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/crc/internal/cpu_detect.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/crc/internal/cpu_detect.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/crc/internal/crc.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/crc/internal/crc.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/crc/internal/crc32_x86_arm_combined_simd.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/crc/internal/crc32c.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/crc/internal/crc32c_inline.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/crc/internal/crc_cord_state.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/crc/internal/crc_cord_state.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/crc/internal/crc_cord_state_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/crc/internal/crc_internal.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/crc/internal/crc_memcpy.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/crc/internal/crc_memcpy_fallback.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/crc/internal/crc_memcpy_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/crc/internal/crc_memcpy_x86_arm_combined.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/crc/internal/crc_non_temporal_memcpy.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/crc/internal/crc_x86_arm_combined.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/crc/internal/non_temporal_arm_intrinsics.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/crc/internal/non_temporal_memcpy.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/crc/internal/non_temporal_memcpy_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/debugging/CMakeLists.txt (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/debugging/failure_signal_handler.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/debugging/failure_signal_handler.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/debugging/failure_signal_handler_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/debugging/internal/address_is_readable.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/debugging/internal/address_is_readable.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/debugging/internal/demangle.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/debugging/internal/demangle.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/debugging/internal/demangle_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/debugging/internal/elf_mem_image.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/debugging/internal/elf_mem_image.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/debugging/internal/examine_stack.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/debugging/internal/examine_stack.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/debugging/internal/stack_consumption.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/debugging/internal/stack_consumption.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/debugging/internal/stack_consumption_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/debugging/internal/stacktrace_aarch64-inl.inc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/debugging/internal/stacktrace_arm-inl.inc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/debugging/internal/stacktrace_config.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/debugging/internal/stacktrace_emscripten-inl.inc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/debugging/internal/stacktrace_generic-inl.inc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/debugging/internal/stacktrace_powerpc-inl.inc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/debugging/internal/stacktrace_riscv-inl.inc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/debugging/internal/stacktrace_unimplemented-inl.inc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/debugging/internal/stacktrace_win32-inl.inc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/debugging/internal/stacktrace_x86-inl.inc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/debugging/internal/symbolize.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/debugging/internal/vdso_support.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/debugging/internal/vdso_support.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/debugging/leak_check.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/debugging/leak_check.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/debugging/leak_check_fail_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/debugging/leak_check_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/debugging/stacktrace.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/debugging/stacktrace.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/debugging/stacktrace_benchmark.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/debugging/stacktrace_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/debugging/symbolize.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/debugging/symbolize.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/debugging/symbolize_darwin.inc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/debugging/symbolize_elf.inc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/debugging/symbolize_emscripten.inc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/debugging/symbolize_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/debugging/symbolize_unimplemented.inc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/debugging/symbolize_win32.inc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/flags/CMakeLists.txt (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/flags/commandlineflag.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/flags/commandlineflag.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/flags/commandlineflag_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/flags/config.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/flags/config_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/flags/declare.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/flags/flag.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/flags/flag_benchmark.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/flags/flag_benchmark.lds (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/flags/flag_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/flags/flag_test_defs.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/flags/internal/commandlineflag.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/flags/internal/commandlineflag.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/flags/internal/flag.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/flags/internal/flag.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/flags/internal/parse.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/flags/internal/path_util.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/flags/internal/path_util_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/flags/internal/private_handle_accessor.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/flags/internal/private_handle_accessor.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/flags/internal/program_name.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/flags/internal/program_name.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/flags/internal/program_name_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/flags/internal/registry.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/flags/internal/sequence_lock.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/flags/internal/sequence_lock_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/flags/internal/usage.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/flags/internal/usage.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/flags/internal/usage_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/flags/marshalling.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/flags/marshalling.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/flags/marshalling_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/flags/parse.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/flags/parse.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/flags/parse_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/flags/reflection.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/flags/reflection.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/flags/reflection_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/flags/usage.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/flags/usage.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/flags/usage_config.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/flags/usage_config.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/flags/usage_config_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/functional/CMakeLists.txt (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/functional/any_invocable.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/functional/any_invocable_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/functional/bind_front.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/functional/bind_front_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/functional/function_ref.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/functional/function_ref_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/functional/function_type_benchmark.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/functional/internal/any_invocable.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/functional/internal/front_binder.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/functional/internal/function_ref.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/functional/overload.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/functional/overload_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/hash/CMakeLists.txt (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/hash/hash.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/hash/hash_benchmark.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/hash/hash_instantiated_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/hash/hash_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/hash/hash_testing.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/hash/internal/city.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/hash/internal/city.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/hash/internal/city_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/hash/internal/hash.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/hash/internal/hash.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/hash/internal/hash_test.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/hash/internal/low_level_hash.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/hash/internal/low_level_hash.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/hash/internal/low_level_hash_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/hash/internal/print_hash_of.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/hash/internal/spy_hash_state.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/log/CMakeLists.txt (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/log/absl_check.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/log/absl_check_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/log/absl_log.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/log/absl_log_basic_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/log/absl_vlog_is_on.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/log/check.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/log/check_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/log/check_test_impl.inc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/log/die_if_null.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/log/die_if_null.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/log/die_if_null_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/log/flags.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/log/flags.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/log/flags_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/log/globals.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/log/globals.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/log/globals_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/log/initialize.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/log/initialize.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/log/internal/append_truncated.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/log/internal/check_impl.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/log/internal/check_op.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/log/internal/check_op.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/log/internal/conditions.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/log/internal/conditions.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/log/internal/config.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/log/internal/flags.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/log/internal/fnmatch.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/log/internal/fnmatch.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/log/internal/fnmatch_benchmark.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/log/internal/fnmatch_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/log/internal/globals.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/log/internal/globals.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/log/internal/log_format.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/log/internal/log_format.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/log/internal/log_impl.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/log/internal/log_message.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/log/internal/log_message.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/log/internal/log_sink_set.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/log/internal/log_sink_set.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/log/internal/nullguard.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/log/internal/nullguard.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/log/internal/nullstream.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/log/internal/proto.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/log/internal/proto.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/log/internal/stderr_log_sink_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/log/internal/strip.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/log/internal/structured.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/log/internal/test_actions.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/log/internal/test_actions.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/log/internal/test_helpers.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/log/internal/test_helpers.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/log/internal/test_matchers.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/log/internal/test_matchers.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/log/internal/vlog_config.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/log/internal/vlog_config.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/log/internal/vlog_config_benchmark.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/log/internal/voidify.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/log/log.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/log/log_basic_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/log/log_basic_test_impl.inc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/log/log_benchmark.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/log/log_entry.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/log/log_entry.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/log/log_entry_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/log/log_format_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/log/log_macro_hygiene_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/log/log_modifier_methods_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/log/log_sink.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/log/log_sink.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/log/log_sink_registry.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/log/log_sink_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/log/log_streamer.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/log/log_streamer_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/log/scoped_mock_log.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/log/scoped_mock_log.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/log/scoped_mock_log_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/log/stripping_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/log/structured.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/log/structured_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/log/vlog_is_on.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/log/vlog_is_on_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/memory/CMakeLists.txt (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/memory/memory.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/memory/memory_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/meta/CMakeLists.txt (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/meta/type_traits.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/meta/type_traits_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/numeric/CMakeLists.txt (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/numeric/bits.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/numeric/bits_benchmark.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/numeric/bits_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/numeric/int128.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/numeric/int128.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/numeric/int128_benchmark.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/numeric/int128_have_intrinsic.inc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/numeric/int128_no_intrinsic.inc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/numeric/int128_stream_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/numeric/int128_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/numeric/internal/bits.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/numeric/internal/representation.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/profiling/CMakeLists.txt (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/profiling/internal/exponential_biased.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/profiling/internal/exponential_biased.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/profiling/internal/exponential_biased_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/profiling/internal/periodic_sampler.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/profiling/internal/periodic_sampler.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/profiling/internal/periodic_sampler_benchmark.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/profiling/internal/periodic_sampler_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/profiling/internal/sample_recorder.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/profiling/internal/sample_recorder_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/random/CMakeLists.txt (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/random/benchmarks.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/random/bernoulli_distribution.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/random/bernoulli_distribution_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/random/beta_distribution.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/random/beta_distribution_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/random/bit_gen_ref.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/random/bit_gen_ref_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/random/discrete_distribution.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/random/discrete_distribution.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/random/discrete_distribution_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/random/distributions.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/random/distributions_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/random/examples_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/random/exponential_distribution.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/random/exponential_distribution_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/random/gaussian_distribution.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/random/gaussian_distribution.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/random/gaussian_distribution_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/random/generators_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/random/internal/chi_square.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/random/internal/chi_square.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/random/internal/chi_square_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/random/internal/distribution_caller.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/random/internal/distribution_test_util.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/random/internal/distribution_test_util.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/random/internal/distribution_test_util_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/random/internal/explicit_seed_seq.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/random/internal/explicit_seed_seq_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/random/internal/fast_uniform_bits.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/random/internal/fast_uniform_bits_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/random/internal/fastmath.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/random/internal/fastmath_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/random/internal/gaussian_distribution_gentables.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/random/internal/generate_real.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/random/internal/generate_real_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/random/internal/iostream_state_saver.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/random/internal/iostream_state_saver_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/random/internal/mock_helpers.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/random/internal/mock_overload_set.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/random/internal/nanobenchmark.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/random/internal/nanobenchmark.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/random/internal/nanobenchmark_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/random/internal/nonsecure_base.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/random/internal/nonsecure_base_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/random/internal/pcg_engine.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/random/internal/pcg_engine_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/random/internal/platform.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/random/internal/pool_urbg.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/random/internal/pool_urbg.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/random/internal/pool_urbg_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/random/internal/randen.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/random/internal/randen.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/random/internal/randen_benchmarks.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/random/internal/randen_detect.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/random/internal/randen_detect.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/random/internal/randen_engine.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/random/internal/randen_engine_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/random/internal/randen_hwaes.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/random/internal/randen_hwaes.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/random/internal/randen_hwaes_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/random/internal/randen_round_keys.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/random/internal/randen_slow.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/random/internal/randen_slow.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/random/internal/randen_slow_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/random/internal/randen_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/random/internal/randen_traits.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/random/internal/salted_seed_seq.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/random/internal/salted_seed_seq_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/random/internal/seed_material.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/random/internal/seed_material.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/random/internal/seed_material_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/random/internal/sequence_urbg.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/random/internal/traits.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/random/internal/traits_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/random/internal/uniform_helper.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/random/internal/uniform_helper_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/random/internal/wide_multiply.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/random/internal/wide_multiply_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/random/log_uniform_int_distribution.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/random/log_uniform_int_distribution_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/random/mock_distributions.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/random/mock_distributions_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/random/mocking_bit_gen.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/random/mocking_bit_gen_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/random/poisson_distribution.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/random/poisson_distribution_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/random/random.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/random/seed_gen_exception.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/random/seed_gen_exception.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/random/seed_sequences.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/random/seed_sequences.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/random/seed_sequences_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/random/uniform_int_distribution.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/random/uniform_int_distribution_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/random/uniform_real_distribution.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/random/uniform_real_distribution_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/random/zipf_distribution.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/random/zipf_distribution_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/status/CMakeLists.txt (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/status/internal/status_internal.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/status/internal/status_internal.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/status/internal/statusor_internal.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/status/status.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/status/status.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/status/status_payload_printer.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/status/status_payload_printer.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/status/status_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/status/statusor.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/status/statusor.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/status/statusor_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/CMakeLists.txt (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/ascii.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/ascii.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/ascii_benchmark.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/ascii_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/atod_manual_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/char_formatting_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/charconv.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/charconv.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/charconv_benchmark.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/charconv_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/charset.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/charset_benchmark.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/charset_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/cord.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/cord.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/cord_analysis.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/cord_analysis.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/cord_buffer.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/cord_buffer.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/cord_buffer_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/cord_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/cord_test_helpers.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/cordz_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/cordz_test_helpers.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/escaping.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/escaping.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/escaping_benchmark.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/escaping_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/has_absl_stringify.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/has_absl_stringify_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/has_ostream_operator.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/has_ostream_operator_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/internal/charconv_bigint.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/internal/charconv_bigint.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/internal/charconv_bigint_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/internal/charconv_parse.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/internal/charconv_parse.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/internal/charconv_parse_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/internal/cord_data_edge.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/internal/cord_data_edge_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/internal/cord_internal.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/internal/cord_internal.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/internal/cord_rep_btree.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/internal/cord_rep_btree.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/internal/cord_rep_btree_navigator.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/internal/cord_rep_btree_navigator.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/internal/cord_rep_btree_navigator_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/internal/cord_rep_btree_reader.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/internal/cord_rep_btree_reader.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/internal/cord_rep_btree_reader_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/internal/cord_rep_btree_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/internal/cord_rep_consume.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/internal/cord_rep_consume.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/internal/cord_rep_crc.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/internal/cord_rep_crc.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/internal/cord_rep_crc_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/internal/cord_rep_flat.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/internal/cord_rep_test_util.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/internal/cordz_functions.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/internal/cordz_functions.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/internal/cordz_functions_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/internal/cordz_handle.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/internal/cordz_handle.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/internal/cordz_handle_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/internal/cordz_info.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/internal/cordz_info.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/internal/cordz_info_statistics_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/internal/cordz_info_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/internal/cordz_sample_token.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/internal/cordz_sample_token.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/internal/cordz_sample_token_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/internal/cordz_statistics.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/internal/cordz_update_scope.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/internal/cordz_update_scope_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/internal/cordz_update_tracker.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/internal/cordz_update_tracker_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/internal/damerau_levenshtein_distance.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/internal/damerau_levenshtein_distance.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/internal/damerau_levenshtein_distance_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/internal/escaping.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/internal/escaping.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/internal/escaping_test_common.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/internal/has_absl_stringify.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/internal/memutil.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/internal/memutil.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/internal/memutil_benchmark.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/internal/memutil_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/internal/numbers_test_common.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/internal/ostringstream.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/internal/ostringstream.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/internal/ostringstream_benchmark.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/internal/ostringstream_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/internal/pow10_helper.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/internal/pow10_helper.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/internal/pow10_helper_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/internal/resize_uninitialized.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/internal/resize_uninitialized_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/internal/stl_type_traits.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/internal/str_format/arg.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/internal/str_format/arg.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/internal/str_format/arg_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/internal/str_format/bind.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/internal/str_format/bind.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/internal/str_format/bind_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/internal/str_format/checker.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/internal/str_format/checker_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/internal/str_format/constexpr_parser.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/internal/str_format/convert_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/internal/str_format/extension.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/internal/str_format/extension.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/internal/str_format/extension_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/internal/str_format/float_conversion.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/internal/str_format/float_conversion.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/internal/str_format/output.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/internal/str_format/output.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/internal/str_format/output_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/internal/str_format/parser.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/internal/str_format/parser.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/internal/str_format/parser_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/internal/str_join_internal.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/internal/str_split_internal.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/internal/string_constant.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/internal/string_constant_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/internal/stringify_sink.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/internal/stringify_sink.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/internal/utf8.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/internal/utf8.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/internal/utf8_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/match.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/match.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/match_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/numbers.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/numbers.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/numbers_benchmark.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/numbers_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/str_cat.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/str_cat.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/str_cat_benchmark.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/str_cat_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/str_format.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/str_format_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/str_join.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/str_join_benchmark.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/str_join_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/str_replace.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/str_replace.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/str_replace_benchmark.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/str_replace_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/str_split.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/str_split.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/str_split_benchmark.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/str_split_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/string_view.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/string_view.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/string_view_benchmark.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/string_view_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/strip.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/strip_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/substitute.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/substitute.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/strings/substitute_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/synchronization/CMakeLists.txt (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/synchronization/barrier.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/synchronization/barrier.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/synchronization/barrier_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/synchronization/blocking_counter.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/synchronization/blocking_counter.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/synchronization/blocking_counter_benchmark.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/synchronization/blocking_counter_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/synchronization/internal/create_thread_identity.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/synchronization/internal/create_thread_identity.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/synchronization/internal/futex.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/synchronization/internal/futex_waiter.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/synchronization/internal/futex_waiter.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/synchronization/internal/graphcycles.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/synchronization/internal/graphcycles.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/synchronization/internal/graphcycles_benchmark.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/synchronization/internal/graphcycles_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/synchronization/internal/kernel_timeout.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/synchronization/internal/kernel_timeout.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/synchronization/internal/kernel_timeout_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/synchronization/internal/per_thread_sem.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/synchronization/internal/per_thread_sem.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/synchronization/internal/per_thread_sem_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/synchronization/internal/pthread_waiter.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/synchronization/internal/pthread_waiter.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/synchronization/internal/sem_waiter.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/synchronization/internal/sem_waiter.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/synchronization/internal/stdcpp_waiter.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/synchronization/internal/stdcpp_waiter.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/synchronization/internal/thread_pool.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/synchronization/internal/waiter.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/synchronization/internal/waiter_base.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/synchronization/internal/waiter_base.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/synchronization/internal/waiter_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/synchronization/internal/win32_waiter.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/synchronization/internal/win32_waiter.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/synchronization/lifetime_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/synchronization/mutex.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/synchronization/mutex.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/synchronization/mutex_benchmark.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/synchronization/mutex_method_pointer_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/synchronization/mutex_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/synchronization/notification.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/synchronization/notification.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/synchronization/notification_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/CMakeLists.txt (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/civil_time.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/civil_time.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/civil_time_benchmark.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/civil_time_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/clock.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/clock.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/clock_benchmark.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/clock_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/duration.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/duration_benchmark.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/duration_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/flag_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/format.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/format_benchmark.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/format_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/include/cctz/civil_time.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/include/cctz/civil_time_detail.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/include/cctz/time_zone.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/include/cctz/zone_info_source.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/src/cctz_benchmark.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/src/civil_time_detail.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/src/civil_time_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/src/time_zone_fixed.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/src/time_zone_fixed.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/src/time_zone_format.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/src/time_zone_format_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/src/time_zone_if.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/src/time_zone_if.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/src/time_zone_impl.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/src/time_zone_impl.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/src/time_zone_info.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/src/time_zone_info.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/src/time_zone_libc.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/src/time_zone_libc.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/src/time_zone_lookup.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/src/time_zone_lookup_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/src/time_zone_posix.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/src/time_zone_posix.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/src/tzfile.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/src/zone_info_source.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/README.zoneinfo (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/version (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Africa/Abidjan (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Africa/Accra (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Africa/Addis_Ababa (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Africa/Algiers (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Africa/Asmara (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Africa/Asmera (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Africa/Bamako (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Africa/Bangui (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Africa/Banjul (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Africa/Bissau (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Africa/Blantyre (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Africa/Brazzaville (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Africa/Bujumbura (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Africa/Cairo (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Africa/Casablanca (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Africa/Ceuta (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Africa/Conakry (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Africa/Dakar (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Africa/Dar_es_Salaam (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Africa/Djibouti (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Africa/Douala (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Africa/El_Aaiun (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Africa/Freetown (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Africa/Gaborone (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Africa/Harare (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Africa/Johannesburg (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Africa/Juba (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Africa/Kampala (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Africa/Khartoum (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Africa/Kigali (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Africa/Kinshasa (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Africa/Lagos (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Africa/Libreville (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Africa/Lome (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Africa/Luanda (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Africa/Lubumbashi (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Africa/Lusaka (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Africa/Malabo (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Africa/Maputo (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Africa/Maseru (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Africa/Mbabane (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Africa/Mogadishu (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Africa/Monrovia (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Africa/Nairobi (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Africa/Ndjamena (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Africa/Niamey (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Africa/Nouakchott (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Africa/Ouagadougou (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Africa/Porto-Novo (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Africa/Sao_Tome (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Africa/Timbuktu (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Africa/Tripoli (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Africa/Tunis (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Africa/Windhoek (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Adak (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Anchorage (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Anguilla (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Antigua (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Araguaina (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/Buenos_Aires (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/Catamarca (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/ComodRivadavia (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/Cordoba (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/Jujuy (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/La_Rioja (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/Mendoza (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/Rio_Gallegos (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/Salta (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/San_Juan (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/San_Luis (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/Tucuman (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/Ushuaia (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Aruba (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Asuncion (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Atikokan (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Atka (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Bahia (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Bahia_Banderas (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Barbados (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Belem (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Belize (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Blanc-Sablon (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Boa_Vista (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Bogota (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Boise (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Buenos_Aires (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Cambridge_Bay (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Campo_Grande (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Cancun (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Caracas (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Catamarca (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Cayenne (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Cayman (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Chicago (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Chihuahua (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Ciudad_Juarez (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Coral_Harbour (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Cordoba (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Costa_Rica (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Creston (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Cuiaba (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Curacao (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Danmarkshavn (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Dawson (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Dawson_Creek (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Denver (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Detroit (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Dominica (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Edmonton (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Eirunepe (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/El_Salvador (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Ensenada (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Fort_Nelson (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Fort_Wayne (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Fortaleza (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Glace_Bay (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Godthab (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Goose_Bay (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Grand_Turk (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Grenada (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Guadeloupe (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Guatemala (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Guayaquil (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Guyana (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Halifax (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Havana (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Hermosillo (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Indiana/Indianapolis (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Indiana/Knox (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Indiana/Marengo (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Indiana/Petersburg (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Indiana/Tell_City (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Indiana/Vevay (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Indiana/Vincennes (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Indiana/Winamac (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Indianapolis (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Inuvik (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Iqaluit (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Jamaica (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Jujuy (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Juneau (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Kentucky/Louisville (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Kentucky/Monticello (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Knox_IN (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Kralendijk (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/La_Paz (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Lima (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Los_Angeles (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Louisville (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Lower_Princes (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Maceio (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Managua (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Manaus (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Marigot (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Martinique (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Matamoros (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Mazatlan (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Mendoza (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Menominee (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Merida (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Metlakatla (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Mexico_City (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Miquelon (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Moncton (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Monterrey (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Montevideo (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Montreal (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Montserrat (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Nassau (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/New_York (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Nipigon (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Nome (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Noronha (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/North_Dakota/Beulah (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/North_Dakota/Center (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/North_Dakota/New_Salem (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Nuuk (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Ojinaga (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Panama (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Pangnirtung (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Paramaribo (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Phoenix (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Port-au-Prince (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Port_of_Spain (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Porto_Acre (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Porto_Velho (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Puerto_Rico (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Punta_Arenas (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Rainy_River (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Rankin_Inlet (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Recife (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Regina (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Resolute (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Rio_Branco (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Rosario (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Santa_Isabel (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Santarem (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Santiago (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Santo_Domingo (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Sao_Paulo (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Scoresbysund (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Shiprock (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Sitka (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/St_Barthelemy (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/St_Johns (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/St_Kitts (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/St_Lucia (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/St_Thomas (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/St_Vincent (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Swift_Current (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Tegucigalpa (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Thule (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Thunder_Bay (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Tijuana (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Toronto (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Tortola (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Vancouver (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Virgin (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Whitehorse (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Winnipeg (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Yakutat (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/America/Yellowknife (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/Casey (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/Davis (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/DumontDUrville (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/Macquarie (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/Mawson (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/McMurdo (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/Palmer (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/Rothera (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/South_Pole (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/Syowa (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/Troll (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/Vostok (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Arctic/Longyearbyen (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Asia/Aden (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Asia/Almaty (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Asia/Amman (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Asia/Anadyr (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Asia/Aqtau (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Asia/Aqtobe (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Asia/Ashgabat (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Asia/Ashkhabad (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Asia/Atyrau (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Asia/Baghdad (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Asia/Bahrain (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Asia/Baku (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Asia/Bangkok (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Asia/Barnaul (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Asia/Beirut (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Asia/Bishkek (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Asia/Brunei (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Asia/Calcutta (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Asia/Chita (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Asia/Choibalsan (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Asia/Chongqing (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Asia/Chungking (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Asia/Colombo (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Asia/Dacca (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Asia/Damascus (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Asia/Dhaka (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Asia/Dili (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Asia/Dubai (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Asia/Dushanbe (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Asia/Famagusta (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Asia/Gaza (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Asia/Harbin (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Asia/Hebron (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Asia/Ho_Chi_Minh (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Asia/Hong_Kong (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Asia/Hovd (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Asia/Irkutsk (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Asia/Istanbul (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Asia/Jakarta (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Asia/Jayapura (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Asia/Jerusalem (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Asia/Kabul (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Asia/Kamchatka (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Asia/Karachi (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Asia/Kashgar (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Asia/Kathmandu (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Asia/Katmandu (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Asia/Khandyga (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Asia/Kolkata (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Asia/Krasnoyarsk (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Asia/Kuala_Lumpur (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Asia/Kuching (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Asia/Kuwait (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Asia/Macao (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Asia/Macau (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Asia/Magadan (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Asia/Makassar (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Asia/Manila (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Asia/Muscat (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Asia/Nicosia (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Asia/Novokuznetsk (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Asia/Novosibirsk (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Asia/Omsk (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Asia/Oral (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Asia/Phnom_Penh (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Asia/Pontianak (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Asia/Pyongyang (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Asia/Qatar (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Asia/Qostanay (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Asia/Qyzylorda (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Asia/Rangoon (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Asia/Riyadh (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Asia/Saigon (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Asia/Sakhalin (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Asia/Samarkand (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Asia/Seoul (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Asia/Shanghai (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Asia/Singapore (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Asia/Srednekolymsk (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Asia/Taipei (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Asia/Tashkent (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Asia/Tbilisi (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Asia/Tehran (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Asia/Tel_Aviv (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Asia/Thimbu (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Asia/Thimphu (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Asia/Tokyo (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Asia/Tomsk (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Asia/Ujung_Pandang (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Asia/Ulaanbaatar (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Asia/Ulan_Bator (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Asia/Urumqi (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Asia/Ust-Nera (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Asia/Vientiane (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Asia/Vladivostok (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Asia/Yakutsk (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Asia/Yangon (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Asia/Yekaterinburg (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Asia/Yerevan (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Azores (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Bermuda (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Canary (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Cape_Verde (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Faeroe (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Faroe (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Jan_Mayen (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Madeira (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Reykjavik (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/South_Georgia (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/St_Helena (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Stanley (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Australia/ACT (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Australia/Adelaide (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Australia/Brisbane (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Australia/Broken_Hill (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Australia/Canberra (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Australia/Currie (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Australia/Darwin (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Australia/Eucla (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Australia/Hobart (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Australia/LHI (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Australia/Lindeman (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Australia/Lord_Howe (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Australia/Melbourne (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Australia/NSW (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Australia/North (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Australia/Perth (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Australia/Queensland (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Australia/South (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Australia/Sydney (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Australia/Tasmania (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Australia/Victoria (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Australia/West (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Australia/Yancowinna (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Brazil/Acre (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Brazil/DeNoronha (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Brazil/East (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Brazil/West (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/CET (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/CST6CDT (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Canada/Atlantic (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Canada/Central (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Canada/Eastern (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Canada/Mountain (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Canada/Newfoundland (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Canada/Pacific (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Canada/Saskatchewan (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Canada/Yukon (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Chile/Continental (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Chile/EasterIsland (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Cuba (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/EET (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/EST (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/EST5EDT (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Egypt (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Eire (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+0 (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+1 (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+10 (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+11 (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+12 (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+2 (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+3 (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+4 (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+5 (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+6 (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+7 (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+8 (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+9 (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-0 (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-1 (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-10 (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-11 (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-12 (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-13 (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-14 (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-2 (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-3 (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-4 (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-5 (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-6 (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-7 (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-8 (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-9 (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT0 (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Etc/Greenwich (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Etc/UCT (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Etc/UTC (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Etc/Universal (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Etc/Zulu (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Europe/Amsterdam (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Europe/Andorra (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Europe/Astrakhan (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Europe/Athens (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Europe/Belfast (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Europe/Belgrade (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Europe/Berlin (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Europe/Bratislava (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Europe/Brussels (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Europe/Bucharest (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Europe/Budapest (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Europe/Busingen (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Europe/Chisinau (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Europe/Copenhagen (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Europe/Dublin (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Europe/Gibraltar (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Europe/Guernsey (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Europe/Helsinki (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Europe/Isle_of_Man (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Europe/Istanbul (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Europe/Jersey (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Europe/Kaliningrad (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Europe/Kiev (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Europe/Kirov (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Europe/Kyiv (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Europe/Lisbon (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Europe/Ljubljana (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Europe/London (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Europe/Luxembourg (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Europe/Madrid (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Europe/Malta (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Europe/Mariehamn (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Europe/Minsk (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Europe/Monaco (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Europe/Moscow (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Europe/Nicosia (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Europe/Oslo (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Europe/Paris (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Europe/Podgorica (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Europe/Prague (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Europe/Riga (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Europe/Rome (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Europe/Samara (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Europe/San_Marino (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Europe/Sarajevo (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Europe/Saratov (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Europe/Simferopol (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Europe/Skopje (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Europe/Sofia (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Europe/Stockholm (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Europe/Tallinn (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Europe/Tirane (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Europe/Tiraspol (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Europe/Ulyanovsk (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Europe/Uzhgorod (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Europe/Vaduz (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Europe/Vatican (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Europe/Vienna (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Europe/Vilnius (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Europe/Volgograd (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Europe/Warsaw (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Europe/Zagreb (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Europe/Zaporozhye (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Europe/Zurich (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Factory (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/GB (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/GB-Eire (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/GMT (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/GMT+0 (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/GMT-0 (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/GMT0 (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Greenwich (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/HST (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Hongkong (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Iceland (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Indian/Antananarivo (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Indian/Chagos (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Indian/Christmas (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Indian/Cocos (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Indian/Comoro (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Indian/Kerguelen (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Indian/Mahe (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Indian/Maldives (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Indian/Mauritius (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Indian/Mayotte (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Indian/Reunion (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Iran (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Israel (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Jamaica (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Japan (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Kwajalein (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Libya (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/MET (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/MST (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/MST7MDT (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Mexico/BajaNorte (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Mexico/BajaSur (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Mexico/General (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/NZ (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/NZ-CHAT (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Navajo (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/PRC (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/PST8PDT (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Apia (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Auckland (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Bougainville (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Chatham (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Chuuk (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Easter (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Efate (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Enderbury (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Fakaofo (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Fiji (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Funafuti (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Galapagos (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Gambier (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Guadalcanal (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Guam (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Honolulu (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Johnston (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Kanton (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Kiritimati (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Kosrae (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Kwajalein (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Majuro (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Marquesas (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Midway (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Nauru (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Niue (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Norfolk (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Noumea (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Pago_Pago (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Palau (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Pitcairn (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Pohnpei (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Ponape (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Port_Moresby (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Rarotonga (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Saipan (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Samoa (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Tahiti (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Tarawa (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Tongatapu (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Truk (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Wake (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Wallis (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Yap (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Poland (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Portugal (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/ROC (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/ROK (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Singapore (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Turkey (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/UCT (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/US/Alaska (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/US/Aleutian (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/US/Arizona (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/US/Central (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/US/East-Indiana (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/US/Eastern (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/US/Hawaii (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/US/Indiana-Starke (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/US/Michigan (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/US/Mountain (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/US/Pacific (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/US/Samoa (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/UTC (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Universal (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/W-SU (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/WET (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/Zulu (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/iso3166.tab (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/zone1970.tab (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/cctz/testdata/zoneinfo/zonenow.tab (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/get_current_time_chrono.inc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/get_current_time_posix.inc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/test_util.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/internal/test_util.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/time.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/time.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/time_benchmark.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/time_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/time/time_zone_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/types/CMakeLists.txt (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/types/any.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/types/any_exception_safety_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/types/any_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/types/bad_any_cast.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/types/bad_any_cast.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/types/bad_optional_access.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/types/bad_optional_access.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/types/bad_variant_access.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/types/bad_variant_access.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/types/compare.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/types/compare_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/types/internal/optional.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/types/internal/span.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/types/internal/variant.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/types/optional.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/types/optional_exception_safety_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/types/optional_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/types/span.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/types/span_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/types/variant.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/types/variant_benchmark.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/types/variant_exception_safety_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/types/variant_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/utility/CMakeLists.txt (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/utility/internal/if_constexpr.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/utility/internal/if_constexpr_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/utility/utility.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/absl/utility/utility_test.cc (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/ci/absl_alternate_options.h (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/ci/cmake_common.sh (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/ci/cmake_install_test.sh (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/ci/linux_arm_clang-latest_libcxx_bazel.sh (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/ci/linux_clang-latest_libcxx_asan_bazel.sh (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/ci/linux_clang-latest_libcxx_bazel.sh (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/ci/linux_clang-latest_libcxx_tsan_bazel.sh (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/ci/linux_clang-latest_libstdcxx_bazel.sh (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/ci/linux_docker_containers.sh (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/ci/linux_gcc-floor_libstdcxx_bazel.sh (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/ci/linux_gcc-latest_libstdcxx_bazel.sh (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/ci/linux_gcc-latest_libstdcxx_cmake.sh (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/ci/linux_gcc_alpine_cmake.sh (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/ci/macos_xcode_bazel.sh (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/ci/macos_xcode_cmake.sh (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/ci/windows_clangcl_bazel.bat (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/ci/windows_msvc_bazel.bat (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/ci/windows_msvc_cmake.bat (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/conanfile.py (100%) rename third-party/webrtc/absl/{third_party/abseil-cpp => }/create_lts.py (100%) diff --git a/build-system/Make/BazelLocation.py b/build-system/Make/BazelLocation.py index d1e52cfac6..7f27c970a8 100644 --- a/build-system/Make/BazelLocation.py +++ b/build-system/Make/BazelLocation.py @@ -25,7 +25,6 @@ def transform_cache_host_into_http(grpc_url): return transformed_url - def calculate_sha256(file_path): sha256_hash = hashlib.sha256() with open(file_path, "rb") as file: @@ -37,6 +36,8 @@ def calculate_sha256(file_path): def resolve_cache_host(cache_host): if cache_host is None: return None + if cache_host.startswith("file://"): + return None if "@auto" in cache_host: host_parts = cache_host.split("@auto") host_left_part = host_parts[0] @@ -44,7 +45,18 @@ def resolve_cache_host(cache_host): return f"{host_left_part}localhost{host_right_part}" return cache_host -def locate_bazel(base_path, cache_host): +def resolve_cache_path(cache_host_or_path, cache_dir): + if cache_dir is not None: + return cache_dir + if cache_host_or_path is not None: + if cache_host_or_path.startswith("file://"): + return cache_host_or_path.replace("file://", "") + return None + +def cache_cas_name(digest): + return (digest[:2], digest) + +def locate_bazel(base_path, cache_host_or_path, cache_dir): build_input_dir = '{}/build-input'.format(base_path) if not os.path.isdir(build_input_dir): os.mkdir(build_input_dir) @@ -57,7 +69,8 @@ def locate_bazel(base_path, cache_host): bazel_name = 'bazel-{version}-{arch}'.format(version=versions.bazel_version, arch=arch) bazel_path = '{}/build-input/{}'.format(base_path, bazel_name) - resolved_cache_host = resolve_cache_host(cache_host) + resolved_cache_host = resolve_cache_host(cache_host_or_path) + resolved_cache_path = resolve_cache_path(cache_host_or_path, cache_dir) if not os.path.isfile(bazel_path): if resolved_cache_host is not None and versions.bazel_version_sha256 is not None: @@ -77,6 +90,11 @@ def locate_bazel(base_path, cache_host): test_sha256 = calculate_sha256(temp_output_file.name) if test_sha256 == versions.bazel_version_sha256: shutil.copyfile(temp_output_file.name, bazel_path) + elif resolved_cache_path is not None: + (cache_cas_id, cache_cas_name) = cache_cas_name(versions.bazel_version_sha256) + cached_path = '{}/cas/{}/{}'.format(resolved_cache_path, cache_cas_id, cache_cas_name) + if os.path.isfile(cached_path): + shutil.copyfile(cached_path, bazel_path) if os.path.isfile(bazel_path) and versions.bazel_version_sha256 is not None: @@ -118,6 +136,11 @@ def locate_bazel(base_path, cache_host): hash=versions.bazel_version_sha256 ) ], check_result=False) + elif resolved_cache_path is not None: + (cache_cas_id, cache_cas_name) = cache_cas_name(versions.bazel_version_sha256) + cached_path = '{}/cas/{}/{}'.format(resolved_cache_path, cache_cas_id, cache_cas_name) + os.makedirs(os.path.dirname(cached_path), exist_ok=True) + shutil.copyfile(bazel_path, cached_path) if not os.access(bazel_path, os.X_OK): st = os.stat(bazel_path) diff --git a/build-system/Make/Make.py b/build-system/Make/Make.py index ebc521bbde..1bdd0f7412 100644 --- a/build-system/Make/Make.py +++ b/build-system/Make/Make.py @@ -1282,7 +1282,7 @@ if __name__ == '__main__': bazel_path = None if args.bazel is None: - bazel_path = locate_bazel(base_path=os.getcwd(), cache_host=args.cacheHost) + bazel_path = locate_bazel(base_path=os.getcwd(), cache_host_or_path=args.cacheHost, cache_dir=args.cacheDir) else: bazel_path = args.bazel diff --git a/build-system/Make/TartBuild.py b/build-system/Make/TartBuild.py index 3428301840..449e9ce0e1 100644 --- a/build-system/Make/TartBuild.py +++ b/build-system/Make/TartBuild.py @@ -27,7 +27,7 @@ class TartVMManager: def __init__(self): self.active_vms: Dict[str, Dict] = {} - def create_vm(self, session_id: str, image: str) -> Dict: + def create_vm(self, session_id: str, image: str, mount_directories: Dict[str, str]) -> Dict: """Create a new ephemeral VM for the session""" vm_name = f"telegrambuild-{session_id}" @@ -53,9 +53,10 @@ class TartVMManager: def run_vm(): """Run the VM in background thread""" try: - subprocess.run([ - "tart", "run", vm_name - ], check=True, capture_output=False, text=True) + run_arguments = ["tart", "run", vm_name] + for mount_directory in mount_directories.keys(): + run_arguments.append(f"--dir={mount_directory}:{mount_directories[mount_directory]}") + subprocess.run(run_arguments, check=True, capture_output=False, text=True) except subprocess.CalledProcessError as e: logger.error(f"VM {vm_name} exited with error: {e}") except Exception as e: @@ -462,10 +463,11 @@ class TartBuildSession(RemoteBuildSessionInterface): class TartBuildSessionContext(RemoteBuildSessionContextInterface): """Context manager for Tart VM sessions""" - def __init__(self, vm_manager: TartVMManager, image: str, session_id: str): + def __init__(self, vm_manager: TartVMManager, image: str, session_id: str, mount_directories: Dict[str, str]): self.vm_manager = vm_manager self.image = image self.session_id = session_id + self.mount_directories = mount_directories self.session = None def __enter__(self) -> TartBuildSession: @@ -473,7 +475,7 @@ class TartBuildSessionContext(RemoteBuildSessionContextInterface): print(f"Creating VM session with image: {self.image}") # Create the VM - self.vm_manager.create_vm(session_id=self.session_id, image=self.image) + self.vm_manager.create_vm(session_id=self.session_id, image=self.image, mount_directories=self.mount_directories) print(f"✓ VM session created: {self.session_id}") @@ -502,12 +504,12 @@ class TartBuild(RemoteBuildInterface): def __init__(self): self.vm_manager = TartVMManager() - def session(self, macos_version: str, xcode_version: str) -> TartBuildSessionContext: + def session(self, macos_version: str, xcode_version: str, mount_directories: Dict[str, str]) -> TartBuildSessionContext: image_name = f"macos-{macos_version}-xcode-{xcode_version}" print(f"Image name: {image_name}") session_id = str(uuid.uuid4()) - return TartBuildSessionContext(self.vm_manager, image_name, session_id) + return TartBuildSessionContext(self.vm_manager, image_name, session_id, mount_directories) def create_rsync_ignore_file(exclude_patterns: List[str] = []): """Create a temporary rsync ignore file with exclusion patterns""" @@ -551,7 +553,12 @@ def remote_build_tart(macos_version, bazel_cache_host, configuration, build_inpu transient_data_dir = '{}/transient-data'.format(buildbox_dir) os.makedirs(transient_data_dir, exist_ok=True) - with TartBuild().session(macos_version=macos_version, xcode_version=xcode_version) as session: + mount_directories = {} + if bazel_cache_host is not None and bazel_cache_host.startswith("file://"): + local_path = bazel_cache_host.replace("file://", "") + mount_directories["bazel-cache"] = local_path + + with TartBuild().session(macos_version=macos_version, xcode_version=xcode_version, mount_directories=mount_directories) as session: print('Uploading data to VM...') session.upload_directory(local_path=build_input_data_path, remote_path="telegram-build-input") @@ -576,20 +583,26 @@ def remote_build_tart(macos_version, bazel_cache_host, configuration, build_inpu python3 build-system/Make/ImportCertificates.py --path $HOME/telegram-build-input/certs ''' - if "@auto" in bazel_cache_host: - host_parts = bazel_cache_host.split("@auto") - host_left_part = host_parts[0] - host_right_part = host_parts[1] - guest_host_command = "export CACHE_HOST_IP=\"$(netstat -nr | grep default | head -n 1 | awk '{print $2}')\"" - guest_build_sh += guest_host_command + "\n" - guest_host_string = f"export CACHE_HOST=\"{host_left_part}$CACHE_HOST_IP{host_right_part}\"" - guest_build_sh += guest_host_string + "\n" - else: - guest_build_sh += f"export CACHE_HOST=\"{bazel_cache_host}\"\n" + if bazel_cache_host is not None: + if bazel_cache_host.startswith("file://"): + pass + elif "@auto" in bazel_cache_host: + host_parts = bazel_cache_host.split("@auto") + host_left_part = host_parts[0] + host_right_part = host_parts[1] + guest_host_command = "export CACHE_HOST_IP=\"$(netstat -nr | grep default | head -n 1 | awk '{print $2}')\"" + guest_build_sh += guest_host_command + "\n" + guest_host_string = f"export CACHE_HOST=\"{host_left_part}$CACHE_HOST_IP{host_right_part}\"" + guest_build_sh += guest_host_string + "\n" + else: + guest_build_sh += f"export CACHE_HOST=\"{bazel_cache_host}\"\n" guest_build_sh += 'python3 build-system/Make/Make.py \\' if bazel_cache_host is not None: - guest_build_sh += '--cacheHost="$CACHE_HOST" \\' + if bazel_cache_host.startswith("file://"): + guest_build_sh += '--cacheDir="/Volumes/My Shared Files/bazel-cache" \\' + else: + guest_build_sh += '--cacheHost="$CACHE_HOST" \\' guest_build_sh += 'build \\' guest_build_sh += '--lock \\' guest_build_sh += '--buildNumber={} \\'.format(build_number) diff --git a/build-system/generate_spm.py b/build-system/generate_spm.py index 743e1ef838..fd4ea07bab 100644 --- a/build-system/generate_spm.py +++ b/build-system/generate_spm.py @@ -91,13 +91,30 @@ for name, module in sorted(modules.items()): if module_type == "objc_library" or module_type == "cc_library" or module_type == "swift_library": combined_lines.append(" .target(") combined_lines.append(" name: \"%s\"," % name) - - # Always create a symlinked directory for every module - - relative_module_path = module["path"] + + relative_module_path = module["path"] + "/Module_" + name module_directory = spm_files_dir + "/" + relative_module_path os.makedirs(module_directory, exist_ok=True) + + module_sources_directory = module_directory + "/Sources" + if not os.path.exists(module_sources_directory): + os.makedirs(module_sources_directory) + module_public_includes_directory = module_directory + "/PublicIncludes" + if not os.path.exists(module_public_includes_directory): + os.makedirs(module_public_includes_directory) + + module_public_headers_prefix = None + if len(module["includes"]) > 1: + print("{}: Multiple includes are not yet supported: {}".format(name, module["includes"])) + sys.exit(1) + elif len(module["includes"]) == 1: + for include_directory in module["includes"]: + if include_directory != ".": + #print("{}: Include directory: {}".format(name, include_directory)) + module_public_headers_prefix = include_directory + break + combined_lines.append(" dependencies: [") for dep in module["deps"]: if not parsed_modules[dep]["is_empty"]: @@ -129,10 +146,20 @@ for name, module in sorted(modules.items()): source_file_name = source[len(module["path"]) + 1:] # Create symlink for this source file - symlink_location = os.path.join(module_directory, source_file_name) - source_dir = os.path.dirname(symlink_location) - if source_dir and not os.path.exists(source_dir): - os.makedirs(source_dir) + is_public_include = False + if module_public_headers_prefix is not None: + if source_file_name.startswith(module_public_headers_prefix): + symlink_location = os.path.join(module_public_includes_directory, source_file_name[len(module_public_headers_prefix) + 1:]) + #print("{}: Public include: {}".format(source_file_name, symlink_location)) + is_public_include = True + + if not is_public_include: + symlink_location = os.path.join(module_sources_directory, source_file_name) + + # Create parent directory for symlink if it doesn't exist + symlink_parent = os.path.dirname(symlink_location) + if not os.path.exists(symlink_parent): + os.makedirs(symlink_parent) # Calculate relative path from symlink back to original file # Count directory depth: spm-files/module_name/... -> workspace root @@ -143,32 +170,24 @@ for name, module in sorted(modules.items()): # Create the symlink if os.path.lexists(symlink_location): os.unlink(symlink_location) - if "arm_arch64_common_macro" in symlink_target: - print("Creating symlink from {} to {}".format(symlink_target, symlink_location)) os.symlink(symlink_target, symlink_location) # Add to sources list (exclude certain file types) if not source.endswith(('.h', '.hpp', '.a', '.inc')): - combined_lines.append(" \"%s\"," % source_file_name) + combined_lines.append(" \"%s\"," % ("Sources/" + source_file_name)) + combined_lines.append(" ],") if module_type == "objc_library" or module_type == "cc_library": - if len(module["includes"]) == 0: - # Create dummy headers directory if none specified - dummy_headers_path = os.path.join(module_directory, "dummy-headers-path") - if not os.path.exists(dummy_headers_path): - os.makedirs(dummy_headers_path) - combined_lines.append(" publicHeadersPath: \"dummy-headers-path\",") - elif len(module["includes"]) == 1: - combined_lines.append(" publicHeadersPath: \"%s\"," % module["includes"][0]) - else: + combined_lines.append(" publicHeadersPath: \"PublicIncludes\",") + + if len(module["includes"]) > 1: print("{}: Multiple includes are not yet supported: {}".format(name, module["includes"])) - sys.exit(1) defines = module.get("defines", []) copts = module.get("copts", []) cxxopts = module.get("cxxopts", []) - if defines or copts: + if defines or copts or (module_public_headers_prefix is not None): combined_lines.append(" cSettings: [") if defines: for define in defines: @@ -182,7 +201,32 @@ for name, module in sorted(modules.items()): for flag in copts: escaped_flag = escape_swift_string_literal_component(flag) combined_lines.append(f' "{escaped_flag}",') - combined_lines.append(" ])") + if escaped_flag.startswith("-I"): + include_path = escaped_flag[2:] + print("{}: Include path: {}".format(name, include_path)) + for another_module_name, another_module in sorted(modules.items()): + another_module_path = another_module["path"] + if include_path.startswith(another_module_path): + relative_module_include_path = include_path[len(another_module_path) + 1:] + #print(" {}: Matches module: {}".format(another_module_name, another_module_path)) + + combined_lines.append(f' "-I{another_module_path}/Sources/{relative_module_include_path}",') + + another_module_public_headers_prefix = None + if len(another_module["includes"]) == 1: + for include_directory in another_module["includes"]: + if include_directory != ".": + another_module_public_headers_prefix = another_module_path + "/" + include_directory + print(" {}: Another module public include: {}".format(another_module_name, another_module_public_headers_prefix)) + if another_module_public_headers_prefix is not None: + if include_path.startswith(another_module_public_headers_prefix): + relative_module_include_path = include_path[len(another_module_public_headers_prefix) + 1:] + print(" {}: Matches module public include: {}".format(another_module_name, another_module_public_headers_prefix)) + + combined_lines.append(f' -"-I{another_module_path}/PublicIncludes/{relative_module_include_path}",') + combined_lines.append(" ]),") + if module_public_headers_prefix is not None: + combined_lines.append(f" .headerSearchPath(\"{module_public_headers_prefix}\"),") combined_lines.append(" ],") if defines or cxxopts: # Check for defines OR cxxopts diff --git a/submodules/TgVoipWebrtc/BUILD b/submodules/TgVoipWebrtc/BUILD index d090725f35..cc4e5f2bd9 100644 --- a/submodules/TgVoipWebrtc/BUILD +++ b/submodules/TgVoipWebrtc/BUILD @@ -13,8 +13,6 @@ optimization_flags = select({ "//conditions:default": ["-DNDEBUG"], }) -enable_x264 = False - sources = glob([ "Sources/**/*.m", "Sources/**/*.mm", @@ -143,7 +141,6 @@ objc_library( "-I{}/tgcalls/tgcalls".format(package_name()), "-Ithird-party/webrtc/webrtc", "-Ithird-party/webrtc/dependencies", - "-Ithird-party/webrtc/dependencies/third_party/abseil-cpp", "-Ithird-party/webrtc/webrtc/sdk/objc", "-Ithird-party/webrtc/webrtc/sdk/objc/base", "-Ithird-party/webrtc/webrtc/sdk/objc/components/renderer/metal", @@ -152,14 +149,14 @@ objc_library( "-Ithird-party/libyuv/third_party/libyuv/include", "-Ithird-party/libyuv", "-Ithird-party/webrtc/webrtc/sdk/objc/api/video_codec", - "-Ithird-party/webrtc/absl/third_party/abseil-cpp", + "-Ithird-party/webrtc/absl", "-DWEBRTC_IOS", "-DWEBRTC_MAC", "-DWEBRTC_POSIX", "-DRTC_ENABLE_VP9", "-DTGVOIP_NAMESPACE=tgvoip_webrtc", "-std=c++17", - ] + optimization_flags + (["-DTGCALLS_ENABLE_X264"] if enable_x264 else []), + ] + optimization_flags, includes = [ "PublicHeaders", ], @@ -175,7 +172,7 @@ objc_library( "//third-party/rnnoise:rnnoise", "//third-party/libyuv", "//third-party/td:TdBinding", - ] + (["//third-party/libx264:libx264"] if enable_x264 else []), + ], sdk_frameworks = [ "Foundation", "UIKit", @@ -193,46 +190,3 @@ objc_library( "//visibility:public", ], ) - -objc_library( - name = "TgCallsTestsLib", - copts = [ - "-I{}/tgcalls/tgcalls".format(package_name()), - "-Ithird-party/webrtc/webrtc", - "-Ithird-party/webrtc/dependencies", - "-Ithird-party/webrtc/dependencies/third_party/abseil-cpp", - "-Ithird-party/webrtc/webrtc/sdk/objc", - "-Ithird-party/webrtc/webrtc/sdk/objc/base", - "-Ithird-party/webrtc/webrtc/sdk/objc/components/renderer/metal", - "-Ithird-party/webrtc/webrtc/sdk/objc/components/renderer/opengl", - "-Ithird-party/webrtc/webrtc/sdk/objc/components/video_codec", - "-Ithird-party/libyuv/third_party/libyuv/include", - "-Ithird-party/libyuv", - "-Ithird-party/webrtc/webrtc/sdk/objc/api/video_codec", - "-DWEBRTC_IOS", - "-DWEBRTC_MAC", - "-DWEBRTC_POSIX", - "-DRTC_ENABLE_VP9", - "-DRTC_ENABLE_H265", - "-DTGVOIP_NAMESPACE=tgvoip_webrtc", - "-std=c++17", - ], - srcs = glob([ - "tests/*.m", - "tests/*.mm", - ], allow_empty=True), - deps = [ - ":TgVoipWebrtc" - ], -) - -ios_unit_test( - name = "TgCallsTests", - minimum_os_version = "9.0", - deps = [ - ":TgCallsTestsLib", - ], - visibility = [ - "//visibility:public", - ], -) diff --git a/submodules/TgVoipWebrtc/tgcalls b/submodules/TgVoipWebrtc/tgcalls index 1348de6aa6..5ddc3ccf20 160000 --- a/submodules/TgVoipWebrtc/tgcalls +++ b/submodules/TgVoipWebrtc/tgcalls @@ -1 +1 @@ -Subproject commit 1348de6aa6c07ed32354d3e26423c45304000a39 +Subproject commit 5ddc3ccf2086127722a06e3d836698fcd717f11b diff --git a/third-party/webrtc/BUILD b/third-party/webrtc/BUILD index 340b3ca7c1..b4bc15e093 100644 --- a/third-party/webrtc/BUILD +++ b/third-party/webrtc/BUILD @@ -2507,6 +2507,7 @@ ios_objc_sources = [ "objc/base/RTCEncodedImage.m", "objc/base/RTCVideoCapturer.m", "objc/base/RTCVideoCodecInfo.m", + "objc/base/RTCVideoEncoderQpThresholds.h", "objc/base/RTCVideoEncoderQpThresholds.m", "objc/base/RTCVideoEncoderSettings.m", "objc/helpers/RTCDispatcher.m", @@ -3063,7 +3064,7 @@ objc_library( "-Ithird-party/webrtc/webrtc/sdk/objc/base", "-Ithird-party/libyuv", "-Ithird-party/libyuv/third_party/libyuv/include", - "-Ithird-party/webrtc/absl/third_party/abseil-cpp", + "-Ithird-party/webrtc/absl", "-DBSD=1", "-DUSE_KISS_FFT", "-DHAVE_PTHREAD", @@ -3121,6 +3122,7 @@ objc_library( enable_modules = True, module_name = "webrtc_objc", srcs = [ "webrtc/sdk/" + path for path in ios_objc_sources ] + [ + "webrtc/sdk/" + path for path in ios_objcpp_sources ] + [ "webrtc/rtc_base/system/gcd_helpers.m", ], copts = [ @@ -3130,7 +3132,7 @@ objc_library( "-Ithird-party/webrtc/webrtc/sdk/objc/base", "-Ithird-party/libyuv", "-Ithird-party/libyuv/third_party/libyuv/include", - "-Ithird-party/webrtc/absl/third_party/abseil-cpp", + "-Ithird-party/webrtc/absl", "-DBSD=1", "-DUSE_KISS_FFT", "-DHAVE_PTHREAD", @@ -3162,7 +3164,9 @@ objc_library( "//third-party/openh264", ":field_trials_header", "//third-party/webrtc/absl", - ":webrtc_objcpp", + ], + cxxopts = [ + "-std=c++17", ], sdk_frameworks = [ "AVFoundation", @@ -3193,7 +3197,7 @@ objc_library( "-Ithird-party/webrtc/webrtc/", "-Ithird-party/libyuv", "-Ithird-party/libyuv/third_party/libyuv/include", - "-Ithird-party/webrtc/absl/third_party/abseil-cpp", + "-Ithird-party/webrtc/absl", "-DBSD=1", "-DUSE_KISS_FFT", "-DHAVE_PTHREAD", diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/ABSEIL_ISSUE_TEMPLATE.md b/third-party/webrtc/absl/ABSEIL_ISSUE_TEMPLATE.md similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/ABSEIL_ISSUE_TEMPLATE.md rename to third-party/webrtc/absl/ABSEIL_ISSUE_TEMPLATE.md diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/AUTHORS b/third-party/webrtc/absl/AUTHORS similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/AUTHORS rename to third-party/webrtc/absl/AUTHORS diff --git a/third-party/webrtc/absl/BUILD b/third-party/webrtc/absl/BUILD index 59d6a8da04..62f1d938ff 100644 --- a/third-party/webrtc/absl/BUILD +++ b/third-party/webrtc/absl/BUILD @@ -1,4 +1,5 @@ -absl_sources = [ "third_party/abseil-cpp/" + x for x in [ + +absl_headers = [ "absl/container/internal/layout.h", "absl/container/internal/hashtable_debug_hooks.h", "absl/strings/internal/cord_internal.h", @@ -14,117 +15,15 @@ absl_sources = [ "third_party/abseil-cpp/" + x for x in [ "absl/strings/internal/cordz_update_scope.h", "absl/strings/internal/string_constant.h", "absl/base/internal/inline_variable.h", - "absl/base/internal/cycleclock.cc", - "absl/base/internal/low_level_alloc.cc", - "absl/base/internal/raw_logging.cc", - "absl/base/internal/scoped_set_env.cc", - "absl/base/internal/spinlock.cc", - "absl/base/internal/spinlock_wait.cc", - "absl/base/internal/strerror.cc", - "absl/base/internal/sysinfo.cc", - "absl/base/internal/thread_identity.cc", - "absl/base/internal/throw_delegate.cc", - "absl/base/internal/unscaledcycleclock.cc", - "absl/base/log_severity.cc", "absl/base/config.h", - "absl/container/internal/hash_generator_testing.cc", - "absl/container/internal/hashtablez_sampler.cc", - "absl/container/internal/hashtablez_sampler_force_weak_definition.cc", - "absl/container/internal/raw_hash_set.cc", - "absl/container/internal/test_instance_tracker.cc", - "absl/debugging/failure_signal_handler.cc", - "absl/debugging/internal/address_is_readable.cc", - "absl/debugging/internal/demangle.cc", - "absl/debugging/internal/elf_mem_image.cc", - "absl/debugging/internal/examine_stack.cc", - "absl/debugging/internal/stack_consumption.cc", - "absl/debugging/internal/vdso_support.cc", - "absl/debugging/stacktrace.cc", - "absl/debugging/symbolize.cc", - "absl/flags/flag_test_defs.cc", - "absl/flags/internal/commandlineflag.cc", - "absl/flags/internal/flag.cc", - "absl/flags/internal/program_name.cc", - "absl/flags/internal/usage.cc", - "absl/flags/marshalling.cc", - "absl/flags/parse.cc", - "absl/flags/usage.cc", - "absl/flags/usage_config.cc", - "absl/hash/internal/city.cc", - "absl/hash/internal/hash.cc", - "absl/numeric/int128.cc", - "absl/random/discrete_distribution.cc", - "absl/random/gaussian_distribution.cc", - "absl/random/internal/chi_square.cc", - "absl/random/internal/distribution_test_util.cc", - "absl/random/internal/nanobenchmark.cc", - "absl/random/internal/pool_urbg.cc", - "absl/random/internal/randen.cc", - "absl/random/internal/randen_detect.cc", - "absl/random/internal/randen_hwaes.cc", - "absl/random/internal/randen_slow.cc", - "absl/random/internal/seed_material.cc", - "absl/random/seed_gen_exception.cc", - "absl/random/seed_sequences.cc", - "absl/status/status.cc", - "absl/status/status_payload_printer.cc", - "absl/strings/ascii.cc", - "absl/strings/charconv.cc", - "absl/strings/cord.cc", - "absl/strings/escaping.cc", - "absl/strings/internal/charconv_bigint.cc", - "absl/strings/internal/charconv_parse.cc", - "absl/strings/internal/escaping.cc", - "absl/strings/internal/memutil.cc", - "absl/strings/internal/ostringstream.cc", - "absl/strings/internal/pow10_helper.cc", - "absl/strings/internal/str_format/arg.cc", - "absl/strings/internal/str_format/bind.cc", - "absl/strings/internal/str_format/extension.cc", - "absl/strings/internal/str_format/float_conversion.cc", - "absl/strings/internal/str_format/output.cc", - "absl/strings/internal/str_format/parser.cc", - "absl/strings/internal/utf8.cc", - "absl/strings/match.cc", - "absl/strings/numbers.cc", - "absl/strings/str_cat.cc", - "absl/strings/str_replace.cc", - "absl/strings/str_split.cc", - "absl/strings/string_view.cc", - "absl/strings/substitute.cc", - "absl/synchronization/mutex.h", - "absl/synchronization/barrier.cc", - "absl/synchronization/blocking_counter.cc", - "absl/synchronization/internal/create_thread_identity.cc", - "absl/synchronization/internal/graphcycles.cc", - "absl/synchronization/internal/per_thread_sem.cc", - "absl/synchronization/notification.cc", - "absl/time/civil_time.cc", - "absl/time/clock.cc", - "absl/time/duration.cc", - "absl/time/format.cc", - "absl/time/internal/cctz/src/civil_time_detail.cc", - "absl/time/internal/cctz/src/time_zone_fixed.cc", - "absl/time/internal/cctz/src/time_zone_fixed.h", - "absl/time/internal/cctz/src/time_zone_format.cc", - "absl/time/internal/cctz/src/time_zone_if.cc", - "absl/time/internal/cctz/src/time_zone_if.h", - "absl/time/internal/cctz/src/time_zone_impl.cc", - "absl/time/internal/cctz/src/time_zone_impl.h", - "absl/time/internal/cctz/src/time_zone_info.cc", - "absl/time/internal/cctz/src/time_zone_info.h", - "absl/time/internal/cctz/src/time_zone_libc.cc", "absl/time/internal/cctz/src/time_zone_libc.h", - "absl/time/internal/cctz/src/time_zone_lookup.cc", - "absl/time/internal/cctz/src/time_zone_posix.cc", + "absl/synchronization/mutex.h", + "absl/time/internal/cctz/src/time_zone_fixed.h", + "absl/time/internal/cctz/src/time_zone_if.h", + "absl/time/internal/cctz/src/time_zone_impl.h", + "absl/time/internal/cctz/src/time_zone_info.h", "absl/time/internal/cctz/src/time_zone_posix.h", - "absl/time/internal/cctz/src/zone_info_source.cc", "absl/time/internal/cctz/src/tzfile.h", - "absl/time/internal/test_util.cc", - "absl/time/time.cc", - "absl/types/bad_any_cast.cc", - "absl/types/bad_optional_access.cc", - "absl/types/bad_variant_access.cc", "absl/meta/type_traits.h", "absl/base/options.h", "absl/base/policy_checks.h", @@ -349,10 +248,116 @@ absl_sources = [ "third_party/abseil-cpp/" + x for x in [ "absl/synchronization/internal/win32_waiter.h", "absl/crc/internal/crc32_x86_arm_combined_simd.h", "absl/strings/internal/damerau_levenshtein_distance.h", -]] +] + +absl_sources = [ + "absl/base/internal/cycleclock.cc", + "absl/base/internal/low_level_alloc.cc", + "absl/base/internal/raw_logging.cc", + "absl/base/internal/scoped_set_env.cc", + "absl/base/internal/spinlock.cc", + "absl/base/internal/spinlock_wait.cc", + "absl/base/internal/strerror.cc", + "absl/base/internal/sysinfo.cc", + "absl/base/internal/thread_identity.cc", + "absl/base/internal/throw_delegate.cc", + "absl/base/internal/unscaledcycleclock.cc", + "absl/base/log_severity.cc", + "absl/container/internal/hash_generator_testing.cc", + "absl/container/internal/hashtablez_sampler.cc", + "absl/container/internal/hashtablez_sampler_force_weak_definition.cc", + "absl/container/internal/raw_hash_set.cc", + "absl/container/internal/test_instance_tracker.cc", + "absl/debugging/failure_signal_handler.cc", + "absl/debugging/internal/address_is_readable.cc", + "absl/debugging/internal/demangle.cc", + "absl/debugging/internal/elf_mem_image.cc", + "absl/debugging/internal/examine_stack.cc", + "absl/debugging/internal/stack_consumption.cc", + "absl/debugging/internal/vdso_support.cc", + "absl/debugging/stacktrace.cc", + "absl/debugging/symbolize.cc", + "absl/flags/flag_test_defs.cc", + "absl/flags/internal/commandlineflag.cc", + "absl/flags/internal/flag.cc", + "absl/flags/internal/program_name.cc", + "absl/flags/internal/usage.cc", + "absl/flags/marshalling.cc", + "absl/flags/parse.cc", + "absl/flags/usage.cc", + "absl/flags/usage_config.cc", + "absl/hash/internal/city.cc", + "absl/hash/internal/hash.cc", + "absl/numeric/int128.cc", + "absl/random/discrete_distribution.cc", + "absl/random/gaussian_distribution.cc", + "absl/random/internal/chi_square.cc", + "absl/random/internal/distribution_test_util.cc", + "absl/random/internal/nanobenchmark.cc", + "absl/random/internal/pool_urbg.cc", + "absl/random/internal/randen.cc", + "absl/random/internal/randen_detect.cc", + "absl/random/internal/randen_hwaes.cc", + "absl/random/internal/randen_slow.cc", + "absl/random/internal/seed_material.cc", + "absl/random/seed_gen_exception.cc", + "absl/random/seed_sequences.cc", + "absl/status/status.cc", + "absl/status/status_payload_printer.cc", + "absl/strings/ascii.cc", + "absl/strings/charconv.cc", + "absl/strings/cord.cc", + "absl/strings/escaping.cc", + "absl/strings/internal/charconv_bigint.cc", + "absl/strings/internal/charconv_parse.cc", + "absl/strings/internal/escaping.cc", + "absl/strings/internal/memutil.cc", + "absl/strings/internal/ostringstream.cc", + "absl/strings/internal/pow10_helper.cc", + "absl/strings/internal/str_format/arg.cc", + "absl/strings/internal/str_format/bind.cc", + "absl/strings/internal/str_format/extension.cc", + "absl/strings/internal/str_format/float_conversion.cc", + "absl/strings/internal/str_format/output.cc", + "absl/strings/internal/str_format/parser.cc", + "absl/strings/internal/utf8.cc", + "absl/strings/match.cc", + "absl/strings/numbers.cc", + "absl/strings/str_cat.cc", + "absl/strings/str_replace.cc", + "absl/strings/str_split.cc", + "absl/strings/string_view.cc", + "absl/strings/substitute.cc", + "absl/synchronization/barrier.cc", + "absl/synchronization/blocking_counter.cc", + "absl/synchronization/internal/create_thread_identity.cc", + "absl/synchronization/internal/graphcycles.cc", + "absl/synchronization/internal/per_thread_sem.cc", + "absl/synchronization/notification.cc", + "absl/time/civil_time.cc", + "absl/time/clock.cc", + "absl/time/duration.cc", + "absl/time/format.cc", + "absl/time/internal/cctz/src/civil_time_detail.cc", + "absl/time/internal/cctz/src/time_zone_fixed.cc", + "absl/time/internal/cctz/src/time_zone_format.cc", + "absl/time/internal/cctz/src/time_zone_if.cc", + "absl/time/internal/cctz/src/time_zone_impl.cc", + "absl/time/internal/cctz/src/time_zone_info.cc", + "absl/time/internal/cctz/src/time_zone_libc.cc", + "absl/time/internal/cctz/src/time_zone_lookup.cc", + "absl/time/internal/cctz/src/time_zone_posix.cc", + "absl/time/internal/cctz/src/zone_info_source.cc", + "absl/time/internal/test_util.cc", + "absl/time/time.cc", + "absl/types/bad_any_cast.cc", + "absl/types/bad_optional_access.cc", + "absl/types/bad_variant_access.cc", +] cc_library( name = "absl", + hdrs = absl_headers, srcs = absl_sources, cxxopts = [ "-std=c++17", @@ -360,7 +365,7 @@ cc_library( deps = [ ], copts = [ - "-Ithird-party/webrtc/absl/third_party/abseil-cpp", + "-Ithird-party/webrtc/absl", "-DABSL_ALLOCATOR_NOTHROW=1", ], visibility = ["//visibility:public"], diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/CMake/AbseilDll.cmake b/third-party/webrtc/absl/CMake/AbseilDll.cmake similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/CMake/AbseilDll.cmake rename to third-party/webrtc/absl/CMake/AbseilDll.cmake diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/CMake/AbseilHelpers.cmake b/third-party/webrtc/absl/CMake/AbseilHelpers.cmake similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/CMake/AbseilHelpers.cmake rename to third-party/webrtc/absl/CMake/AbseilHelpers.cmake diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/CMake/Googletest/CMakeLists.txt.in b/third-party/webrtc/absl/CMake/Googletest/CMakeLists.txt.in similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/CMake/Googletest/CMakeLists.txt.in rename to third-party/webrtc/absl/CMake/Googletest/CMakeLists.txt.in diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/CMake/Googletest/DownloadGTest.cmake b/third-party/webrtc/absl/CMake/Googletest/DownloadGTest.cmake similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/CMake/Googletest/DownloadGTest.cmake rename to third-party/webrtc/absl/CMake/Googletest/DownloadGTest.cmake diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/CMake/README.md b/third-party/webrtc/absl/CMake/README.md similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/CMake/README.md rename to third-party/webrtc/absl/CMake/README.md diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/CMake/abslConfig.cmake.in b/third-party/webrtc/absl/CMake/abslConfig.cmake.in similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/CMake/abslConfig.cmake.in rename to third-party/webrtc/absl/CMake/abslConfig.cmake.in diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/CMake/install_test_project/CMakeLists.txt b/third-party/webrtc/absl/CMake/install_test_project/CMakeLists.txt similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/CMake/install_test_project/CMakeLists.txt rename to third-party/webrtc/absl/CMake/install_test_project/CMakeLists.txt diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/CMake/install_test_project/simple.cc b/third-party/webrtc/absl/CMake/install_test_project/simple.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/CMake/install_test_project/simple.cc rename to third-party/webrtc/absl/CMake/install_test_project/simple.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/CMake/install_test_project/test.sh b/third-party/webrtc/absl/CMake/install_test_project/test.sh similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/CMake/install_test_project/test.sh rename to third-party/webrtc/absl/CMake/install_test_project/test.sh diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/CMakeLists.txt b/third-party/webrtc/absl/CMakeLists.txt similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/CMakeLists.txt rename to third-party/webrtc/absl/CMakeLists.txt diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/CONTRIBUTING.md b/third-party/webrtc/absl/CONTRIBUTING.md similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/CONTRIBUTING.md rename to third-party/webrtc/absl/CONTRIBUTING.md diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/FAQ.md b/third-party/webrtc/absl/FAQ.md similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/FAQ.md rename to third-party/webrtc/absl/FAQ.md diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/LICENSE b/third-party/webrtc/absl/LICENSE similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/LICENSE rename to third-party/webrtc/absl/LICENSE diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/PrivacyInfo.xcprivacy b/third-party/webrtc/absl/PrivacyInfo.xcprivacy similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/PrivacyInfo.xcprivacy rename to third-party/webrtc/absl/PrivacyInfo.xcprivacy diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/README.md b/third-party/webrtc/absl/README.md similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/README.md rename to third-party/webrtc/absl/README.md diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/UPGRADES.md b/third-party/webrtc/absl/UPGRADES.md similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/UPGRADES.md rename to third-party/webrtc/absl/UPGRADES.md diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/WORKSPACE b/third-party/webrtc/absl/WORKSPACE similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/WORKSPACE rename to third-party/webrtc/absl/WORKSPACE diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/WORKSPACE.bzlmod b/third-party/webrtc/absl/WORKSPACE.bzlmod similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/WORKSPACE.bzlmod rename to third-party/webrtc/absl/WORKSPACE.bzlmod diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/CMakeLists.txt b/third-party/webrtc/absl/absl/CMakeLists.txt similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/CMakeLists.txt rename to third-party/webrtc/absl/absl/CMakeLists.txt diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/abseil.podspec.gen.py b/third-party/webrtc/absl/absl/abseil.podspec.gen.py similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/abseil.podspec.gen.py rename to third-party/webrtc/absl/absl/abseil.podspec.gen.py diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/algorithm/CMakeLists.txt b/third-party/webrtc/absl/absl/algorithm/CMakeLists.txt similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/algorithm/CMakeLists.txt rename to third-party/webrtc/absl/absl/algorithm/CMakeLists.txt diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/algorithm/algorithm.h b/third-party/webrtc/absl/absl/algorithm/algorithm.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/algorithm/algorithm.h rename to third-party/webrtc/absl/absl/algorithm/algorithm.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/algorithm/algorithm_test.cc b/third-party/webrtc/absl/absl/algorithm/algorithm_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/algorithm/algorithm_test.cc rename to third-party/webrtc/absl/absl/algorithm/algorithm_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/algorithm/container.h b/third-party/webrtc/absl/absl/algorithm/container.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/algorithm/container.h rename to third-party/webrtc/absl/absl/algorithm/container.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/algorithm/container_test.cc b/third-party/webrtc/absl/absl/algorithm/container_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/algorithm/container_test.cc rename to third-party/webrtc/absl/absl/algorithm/container_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/base/CMakeLists.txt b/third-party/webrtc/absl/absl/base/CMakeLists.txt similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/base/CMakeLists.txt rename to third-party/webrtc/absl/absl/base/CMakeLists.txt diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/base/attributes.h b/third-party/webrtc/absl/absl/base/attributes.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/base/attributes.h rename to third-party/webrtc/absl/absl/base/attributes.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/base/bit_cast_test.cc b/third-party/webrtc/absl/absl/base/bit_cast_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/base/bit_cast_test.cc rename to third-party/webrtc/absl/absl/base/bit_cast_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/base/call_once.h b/third-party/webrtc/absl/absl/base/call_once.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/base/call_once.h rename to third-party/webrtc/absl/absl/base/call_once.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/base/call_once_test.cc b/third-party/webrtc/absl/absl/base/call_once_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/base/call_once_test.cc rename to third-party/webrtc/absl/absl/base/call_once_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/base/casts.h b/third-party/webrtc/absl/absl/base/casts.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/base/casts.h rename to third-party/webrtc/absl/absl/base/casts.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/base/config.h b/third-party/webrtc/absl/absl/base/config.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/base/config.h rename to third-party/webrtc/absl/absl/base/config.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/base/config_test.cc b/third-party/webrtc/absl/absl/base/config_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/base/config_test.cc rename to third-party/webrtc/absl/absl/base/config_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/base/const_init.h b/third-party/webrtc/absl/absl/base/const_init.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/base/const_init.h rename to third-party/webrtc/absl/absl/base/const_init.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/base/dynamic_annotations.h b/third-party/webrtc/absl/absl/base/dynamic_annotations.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/base/dynamic_annotations.h rename to third-party/webrtc/absl/absl/base/dynamic_annotations.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/base/exception_safety_testing_test.cc b/third-party/webrtc/absl/absl/base/exception_safety_testing_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/base/exception_safety_testing_test.cc rename to third-party/webrtc/absl/absl/base/exception_safety_testing_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/base/inline_variable_test.cc b/third-party/webrtc/absl/absl/base/inline_variable_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/base/inline_variable_test.cc rename to third-party/webrtc/absl/absl/base/inline_variable_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/base/inline_variable_test_a.cc b/third-party/webrtc/absl/absl/base/inline_variable_test_a.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/base/inline_variable_test_a.cc rename to third-party/webrtc/absl/absl/base/inline_variable_test_a.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/base/inline_variable_test_b.cc b/third-party/webrtc/absl/absl/base/inline_variable_test_b.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/base/inline_variable_test_b.cc rename to third-party/webrtc/absl/absl/base/inline_variable_test_b.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/atomic_hook.h b/third-party/webrtc/absl/absl/base/internal/atomic_hook.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/atomic_hook.h rename to third-party/webrtc/absl/absl/base/internal/atomic_hook.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/atomic_hook_test.cc b/third-party/webrtc/absl/absl/base/internal/atomic_hook_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/atomic_hook_test.cc rename to third-party/webrtc/absl/absl/base/internal/atomic_hook_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/atomic_hook_test_helper.cc b/third-party/webrtc/absl/absl/base/internal/atomic_hook_test_helper.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/atomic_hook_test_helper.cc rename to third-party/webrtc/absl/absl/base/internal/atomic_hook_test_helper.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/atomic_hook_test_helper.h b/third-party/webrtc/absl/absl/base/internal/atomic_hook_test_helper.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/atomic_hook_test_helper.h rename to third-party/webrtc/absl/absl/base/internal/atomic_hook_test_helper.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/cmake_thread_test.cc b/third-party/webrtc/absl/absl/base/internal/cmake_thread_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/cmake_thread_test.cc rename to third-party/webrtc/absl/absl/base/internal/cmake_thread_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/cycleclock.cc b/third-party/webrtc/absl/absl/base/internal/cycleclock.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/cycleclock.cc rename to third-party/webrtc/absl/absl/base/internal/cycleclock.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/cycleclock.h b/third-party/webrtc/absl/absl/base/internal/cycleclock.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/cycleclock.h rename to third-party/webrtc/absl/absl/base/internal/cycleclock.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/cycleclock_config.h b/third-party/webrtc/absl/absl/base/internal/cycleclock_config.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/cycleclock_config.h rename to third-party/webrtc/absl/absl/base/internal/cycleclock_config.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/direct_mmap.h b/third-party/webrtc/absl/absl/base/internal/direct_mmap.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/direct_mmap.h rename to third-party/webrtc/absl/absl/base/internal/direct_mmap.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/dynamic_annotations.h b/third-party/webrtc/absl/absl/base/internal/dynamic_annotations.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/dynamic_annotations.h rename to third-party/webrtc/absl/absl/base/internal/dynamic_annotations.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/endian.h b/third-party/webrtc/absl/absl/base/internal/endian.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/endian.h rename to third-party/webrtc/absl/absl/base/internal/endian.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/endian_test.cc b/third-party/webrtc/absl/absl/base/internal/endian_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/endian_test.cc rename to third-party/webrtc/absl/absl/base/internal/endian_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/errno_saver.h b/third-party/webrtc/absl/absl/base/internal/errno_saver.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/errno_saver.h rename to third-party/webrtc/absl/absl/base/internal/errno_saver.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/errno_saver_test.cc b/third-party/webrtc/absl/absl/base/internal/errno_saver_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/errno_saver_test.cc rename to third-party/webrtc/absl/absl/base/internal/errno_saver_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/exception_safety_testing.cc b/third-party/webrtc/absl/absl/base/internal/exception_safety_testing.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/exception_safety_testing.cc rename to third-party/webrtc/absl/absl/base/internal/exception_safety_testing.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/exception_safety_testing.h b/third-party/webrtc/absl/absl/base/internal/exception_safety_testing.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/exception_safety_testing.h rename to third-party/webrtc/absl/absl/base/internal/exception_safety_testing.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/exception_testing.h b/third-party/webrtc/absl/absl/base/internal/exception_testing.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/exception_testing.h rename to third-party/webrtc/absl/absl/base/internal/exception_testing.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/fast_type_id.h b/third-party/webrtc/absl/absl/base/internal/fast_type_id.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/fast_type_id.h rename to third-party/webrtc/absl/absl/base/internal/fast_type_id.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/fast_type_id_test.cc b/third-party/webrtc/absl/absl/base/internal/fast_type_id_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/fast_type_id_test.cc rename to third-party/webrtc/absl/absl/base/internal/fast_type_id_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/hide_ptr.h b/third-party/webrtc/absl/absl/base/internal/hide_ptr.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/hide_ptr.h rename to third-party/webrtc/absl/absl/base/internal/hide_ptr.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/identity.h b/third-party/webrtc/absl/absl/base/internal/identity.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/identity.h rename to third-party/webrtc/absl/absl/base/internal/identity.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/inline_variable.h b/third-party/webrtc/absl/absl/base/internal/inline_variable.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/inline_variable.h rename to third-party/webrtc/absl/absl/base/internal/inline_variable.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/inline_variable_testing.h b/third-party/webrtc/absl/absl/base/internal/inline_variable_testing.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/inline_variable_testing.h rename to third-party/webrtc/absl/absl/base/internal/inline_variable_testing.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/invoke.h b/third-party/webrtc/absl/absl/base/internal/invoke.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/invoke.h rename to third-party/webrtc/absl/absl/base/internal/invoke.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/low_level_alloc.cc b/third-party/webrtc/absl/absl/base/internal/low_level_alloc.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/low_level_alloc.cc rename to third-party/webrtc/absl/absl/base/internal/low_level_alloc.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/low_level_alloc.h b/third-party/webrtc/absl/absl/base/internal/low_level_alloc.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/low_level_alloc.h rename to third-party/webrtc/absl/absl/base/internal/low_level_alloc.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/low_level_alloc_test.cc b/third-party/webrtc/absl/absl/base/internal/low_level_alloc_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/low_level_alloc_test.cc rename to third-party/webrtc/absl/absl/base/internal/low_level_alloc_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/low_level_scheduling.h b/third-party/webrtc/absl/absl/base/internal/low_level_scheduling.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/low_level_scheduling.h rename to third-party/webrtc/absl/absl/base/internal/low_level_scheduling.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/nullability_impl.h b/third-party/webrtc/absl/absl/base/internal/nullability_impl.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/nullability_impl.h rename to third-party/webrtc/absl/absl/base/internal/nullability_impl.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/per_thread_tls.h b/third-party/webrtc/absl/absl/base/internal/per_thread_tls.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/per_thread_tls.h rename to third-party/webrtc/absl/absl/base/internal/per_thread_tls.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/pretty_function.h b/third-party/webrtc/absl/absl/base/internal/pretty_function.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/pretty_function.h rename to third-party/webrtc/absl/absl/base/internal/pretty_function.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/raw_logging.cc b/third-party/webrtc/absl/absl/base/internal/raw_logging.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/raw_logging.cc rename to third-party/webrtc/absl/absl/base/internal/raw_logging.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/raw_logging.h b/third-party/webrtc/absl/absl/base/internal/raw_logging.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/raw_logging.h rename to third-party/webrtc/absl/absl/base/internal/raw_logging.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/scheduling_mode.h b/third-party/webrtc/absl/absl/base/internal/scheduling_mode.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/scheduling_mode.h rename to third-party/webrtc/absl/absl/base/internal/scheduling_mode.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/scoped_set_env.cc b/third-party/webrtc/absl/absl/base/internal/scoped_set_env.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/scoped_set_env.cc rename to third-party/webrtc/absl/absl/base/internal/scoped_set_env.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/scoped_set_env.h b/third-party/webrtc/absl/absl/base/internal/scoped_set_env.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/scoped_set_env.h rename to third-party/webrtc/absl/absl/base/internal/scoped_set_env.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/scoped_set_env_test.cc b/third-party/webrtc/absl/absl/base/internal/scoped_set_env_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/scoped_set_env_test.cc rename to third-party/webrtc/absl/absl/base/internal/scoped_set_env_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/spinlock.cc b/third-party/webrtc/absl/absl/base/internal/spinlock.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/spinlock.cc rename to third-party/webrtc/absl/absl/base/internal/spinlock.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/spinlock.h b/third-party/webrtc/absl/absl/base/internal/spinlock.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/spinlock.h rename to third-party/webrtc/absl/absl/base/internal/spinlock.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/spinlock_akaros.inc b/third-party/webrtc/absl/absl/base/internal/spinlock_akaros.inc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/spinlock_akaros.inc rename to third-party/webrtc/absl/absl/base/internal/spinlock_akaros.inc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/spinlock_benchmark.cc b/third-party/webrtc/absl/absl/base/internal/spinlock_benchmark.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/spinlock_benchmark.cc rename to third-party/webrtc/absl/absl/base/internal/spinlock_benchmark.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/spinlock_linux.inc b/third-party/webrtc/absl/absl/base/internal/spinlock_linux.inc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/spinlock_linux.inc rename to third-party/webrtc/absl/absl/base/internal/spinlock_linux.inc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/spinlock_posix.inc b/third-party/webrtc/absl/absl/base/internal/spinlock_posix.inc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/spinlock_posix.inc rename to third-party/webrtc/absl/absl/base/internal/spinlock_posix.inc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/spinlock_wait.cc b/third-party/webrtc/absl/absl/base/internal/spinlock_wait.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/spinlock_wait.cc rename to third-party/webrtc/absl/absl/base/internal/spinlock_wait.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/spinlock_wait.h b/third-party/webrtc/absl/absl/base/internal/spinlock_wait.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/spinlock_wait.h rename to third-party/webrtc/absl/absl/base/internal/spinlock_wait.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/spinlock_win32.inc b/third-party/webrtc/absl/absl/base/internal/spinlock_win32.inc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/spinlock_win32.inc rename to third-party/webrtc/absl/absl/base/internal/spinlock_win32.inc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/strerror.cc b/third-party/webrtc/absl/absl/base/internal/strerror.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/strerror.cc rename to third-party/webrtc/absl/absl/base/internal/strerror.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/strerror.h b/third-party/webrtc/absl/absl/base/internal/strerror.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/strerror.h rename to third-party/webrtc/absl/absl/base/internal/strerror.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/strerror_benchmark.cc b/third-party/webrtc/absl/absl/base/internal/strerror_benchmark.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/strerror_benchmark.cc rename to third-party/webrtc/absl/absl/base/internal/strerror_benchmark.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/strerror_test.cc b/third-party/webrtc/absl/absl/base/internal/strerror_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/strerror_test.cc rename to third-party/webrtc/absl/absl/base/internal/strerror_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/sysinfo.cc b/third-party/webrtc/absl/absl/base/internal/sysinfo.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/sysinfo.cc rename to third-party/webrtc/absl/absl/base/internal/sysinfo.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/sysinfo.h b/third-party/webrtc/absl/absl/base/internal/sysinfo.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/sysinfo.h rename to third-party/webrtc/absl/absl/base/internal/sysinfo.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/sysinfo_test.cc b/third-party/webrtc/absl/absl/base/internal/sysinfo_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/sysinfo_test.cc rename to third-party/webrtc/absl/absl/base/internal/sysinfo_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/thread_identity.cc b/third-party/webrtc/absl/absl/base/internal/thread_identity.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/thread_identity.cc rename to third-party/webrtc/absl/absl/base/internal/thread_identity.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/thread_identity.h b/third-party/webrtc/absl/absl/base/internal/thread_identity.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/thread_identity.h rename to third-party/webrtc/absl/absl/base/internal/thread_identity.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/thread_identity_benchmark.cc b/third-party/webrtc/absl/absl/base/internal/thread_identity_benchmark.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/thread_identity_benchmark.cc rename to third-party/webrtc/absl/absl/base/internal/thread_identity_benchmark.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/thread_identity_test.cc b/third-party/webrtc/absl/absl/base/internal/thread_identity_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/thread_identity_test.cc rename to third-party/webrtc/absl/absl/base/internal/thread_identity_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/throw_delegate.cc b/third-party/webrtc/absl/absl/base/internal/throw_delegate.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/throw_delegate.cc rename to third-party/webrtc/absl/absl/base/internal/throw_delegate.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/throw_delegate.h b/third-party/webrtc/absl/absl/base/internal/throw_delegate.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/throw_delegate.h rename to third-party/webrtc/absl/absl/base/internal/throw_delegate.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/tsan_mutex_interface.h b/third-party/webrtc/absl/absl/base/internal/tsan_mutex_interface.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/tsan_mutex_interface.h rename to third-party/webrtc/absl/absl/base/internal/tsan_mutex_interface.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/unaligned_access.h b/third-party/webrtc/absl/absl/base/internal/unaligned_access.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/unaligned_access.h rename to third-party/webrtc/absl/absl/base/internal/unaligned_access.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/unique_small_name_test.cc b/third-party/webrtc/absl/absl/base/internal/unique_small_name_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/unique_small_name_test.cc rename to third-party/webrtc/absl/absl/base/internal/unique_small_name_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc b/third-party/webrtc/absl/absl/base/internal/unscaledcycleclock.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc rename to third-party/webrtc/absl/absl/base/internal/unscaledcycleclock.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.h b/third-party/webrtc/absl/absl/base/internal/unscaledcycleclock.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.h rename to third-party/webrtc/absl/absl/base/internal/unscaledcycleclock.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock_config.h b/third-party/webrtc/absl/absl/base/internal/unscaledcycleclock_config.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock_config.h rename to third-party/webrtc/absl/absl/base/internal/unscaledcycleclock_config.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/base/invoke_test.cc b/third-party/webrtc/absl/absl/base/invoke_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/base/invoke_test.cc rename to third-party/webrtc/absl/absl/base/invoke_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/base/log_severity.cc b/third-party/webrtc/absl/absl/base/log_severity.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/base/log_severity.cc rename to third-party/webrtc/absl/absl/base/log_severity.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/base/log_severity.h b/third-party/webrtc/absl/absl/base/log_severity.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/base/log_severity.h rename to third-party/webrtc/absl/absl/base/log_severity.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/base/log_severity_test.cc b/third-party/webrtc/absl/absl/base/log_severity_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/base/log_severity_test.cc rename to third-party/webrtc/absl/absl/base/log_severity_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/base/macros.h b/third-party/webrtc/absl/absl/base/macros.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/base/macros.h rename to third-party/webrtc/absl/absl/base/macros.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/base/no_destructor.h b/third-party/webrtc/absl/absl/base/no_destructor.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/base/no_destructor.h rename to third-party/webrtc/absl/absl/base/no_destructor.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/base/no_destructor_benchmark.cc b/third-party/webrtc/absl/absl/base/no_destructor_benchmark.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/base/no_destructor_benchmark.cc rename to third-party/webrtc/absl/absl/base/no_destructor_benchmark.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/base/no_destructor_test.cc b/third-party/webrtc/absl/absl/base/no_destructor_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/base/no_destructor_test.cc rename to third-party/webrtc/absl/absl/base/no_destructor_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/base/nullability.h b/third-party/webrtc/absl/absl/base/nullability.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/base/nullability.h rename to third-party/webrtc/absl/absl/base/nullability.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/base/nullability_test.cc b/third-party/webrtc/absl/absl/base/nullability_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/base/nullability_test.cc rename to third-party/webrtc/absl/absl/base/nullability_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/base/optimization.h b/third-party/webrtc/absl/absl/base/optimization.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/base/optimization.h rename to third-party/webrtc/absl/absl/base/optimization.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/base/optimization_test.cc b/third-party/webrtc/absl/absl/base/optimization_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/base/optimization_test.cc rename to third-party/webrtc/absl/absl/base/optimization_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/base/options.h b/third-party/webrtc/absl/absl/base/options.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/base/options.h rename to third-party/webrtc/absl/absl/base/options.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/base/policy_checks.h b/third-party/webrtc/absl/absl/base/policy_checks.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/base/policy_checks.h rename to third-party/webrtc/absl/absl/base/policy_checks.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/base/port.h b/third-party/webrtc/absl/absl/base/port.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/base/port.h rename to third-party/webrtc/absl/absl/base/port.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/base/prefetch.h b/third-party/webrtc/absl/absl/base/prefetch.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/base/prefetch.h rename to third-party/webrtc/absl/absl/base/prefetch.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/base/prefetch_test.cc b/third-party/webrtc/absl/absl/base/prefetch_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/base/prefetch_test.cc rename to third-party/webrtc/absl/absl/base/prefetch_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/base/raw_logging_test.cc b/third-party/webrtc/absl/absl/base/raw_logging_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/base/raw_logging_test.cc rename to third-party/webrtc/absl/absl/base/raw_logging_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/base/spinlock_test_common.cc b/third-party/webrtc/absl/absl/base/spinlock_test_common.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/base/spinlock_test_common.cc rename to third-party/webrtc/absl/absl/base/spinlock_test_common.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/base/thread_annotations.h b/third-party/webrtc/absl/absl/base/thread_annotations.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/base/thread_annotations.h rename to third-party/webrtc/absl/absl/base/thread_annotations.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/base/throw_delegate_test.cc b/third-party/webrtc/absl/absl/base/throw_delegate_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/base/throw_delegate_test.cc rename to third-party/webrtc/absl/absl/base/throw_delegate_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/cleanup/CMakeLists.txt b/third-party/webrtc/absl/absl/cleanup/CMakeLists.txt similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/cleanup/CMakeLists.txt rename to third-party/webrtc/absl/absl/cleanup/CMakeLists.txt diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/cleanup/cleanup.h b/third-party/webrtc/absl/absl/cleanup/cleanup.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/cleanup/cleanup.h rename to third-party/webrtc/absl/absl/cleanup/cleanup.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/cleanup/cleanup_test.cc b/third-party/webrtc/absl/absl/cleanup/cleanup_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/cleanup/cleanup_test.cc rename to third-party/webrtc/absl/absl/cleanup/cleanup_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/cleanup/internal/cleanup.h b/third-party/webrtc/absl/absl/cleanup/internal/cleanup.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/cleanup/internal/cleanup.h rename to third-party/webrtc/absl/absl/cleanup/internal/cleanup.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/container/CMakeLists.txt b/third-party/webrtc/absl/absl/container/CMakeLists.txt similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/container/CMakeLists.txt rename to third-party/webrtc/absl/absl/container/CMakeLists.txt diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/container/btree_benchmark.cc b/third-party/webrtc/absl/absl/container/btree_benchmark.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/container/btree_benchmark.cc rename to third-party/webrtc/absl/absl/container/btree_benchmark.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/container/btree_map.h b/third-party/webrtc/absl/absl/container/btree_map.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/container/btree_map.h rename to third-party/webrtc/absl/absl/container/btree_map.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/container/btree_set.h b/third-party/webrtc/absl/absl/container/btree_set.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/container/btree_set.h rename to third-party/webrtc/absl/absl/container/btree_set.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/container/btree_test.cc b/third-party/webrtc/absl/absl/container/btree_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/container/btree_test.cc rename to third-party/webrtc/absl/absl/container/btree_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/container/btree_test.h b/third-party/webrtc/absl/absl/container/btree_test.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/container/btree_test.h rename to third-party/webrtc/absl/absl/container/btree_test.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/container/fixed_array.h b/third-party/webrtc/absl/absl/container/fixed_array.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/container/fixed_array.h rename to third-party/webrtc/absl/absl/container/fixed_array.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/container/fixed_array_benchmark.cc b/third-party/webrtc/absl/absl/container/fixed_array_benchmark.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/container/fixed_array_benchmark.cc rename to third-party/webrtc/absl/absl/container/fixed_array_benchmark.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/container/fixed_array_exception_safety_test.cc b/third-party/webrtc/absl/absl/container/fixed_array_exception_safety_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/container/fixed_array_exception_safety_test.cc rename to third-party/webrtc/absl/absl/container/fixed_array_exception_safety_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/container/fixed_array_test.cc b/third-party/webrtc/absl/absl/container/fixed_array_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/container/fixed_array_test.cc rename to third-party/webrtc/absl/absl/container/fixed_array_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/container/flat_hash_map.h b/third-party/webrtc/absl/absl/container/flat_hash_map.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/container/flat_hash_map.h rename to third-party/webrtc/absl/absl/container/flat_hash_map.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/container/flat_hash_map_test.cc b/third-party/webrtc/absl/absl/container/flat_hash_map_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/container/flat_hash_map_test.cc rename to third-party/webrtc/absl/absl/container/flat_hash_map_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/container/flat_hash_set.h b/third-party/webrtc/absl/absl/container/flat_hash_set.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/container/flat_hash_set.h rename to third-party/webrtc/absl/absl/container/flat_hash_set.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/container/flat_hash_set_test.cc b/third-party/webrtc/absl/absl/container/flat_hash_set_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/container/flat_hash_set_test.cc rename to third-party/webrtc/absl/absl/container/flat_hash_set_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/container/inlined_vector.h b/third-party/webrtc/absl/absl/container/inlined_vector.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/container/inlined_vector.h rename to third-party/webrtc/absl/absl/container/inlined_vector.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/container/inlined_vector_benchmark.cc b/third-party/webrtc/absl/absl/container/inlined_vector_benchmark.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/container/inlined_vector_benchmark.cc rename to third-party/webrtc/absl/absl/container/inlined_vector_benchmark.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/container/inlined_vector_exception_safety_test.cc b/third-party/webrtc/absl/absl/container/inlined_vector_exception_safety_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/container/inlined_vector_exception_safety_test.cc rename to third-party/webrtc/absl/absl/container/inlined_vector_exception_safety_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/container/inlined_vector_test.cc b/third-party/webrtc/absl/absl/container/inlined_vector_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/container/inlined_vector_test.cc rename to third-party/webrtc/absl/absl/container/inlined_vector_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/container/internal/btree.h b/third-party/webrtc/absl/absl/container/internal/btree.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/container/internal/btree.h rename to third-party/webrtc/absl/absl/container/internal/btree.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/container/internal/btree_container.h b/third-party/webrtc/absl/absl/container/internal/btree_container.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/container/internal/btree_container.h rename to third-party/webrtc/absl/absl/container/internal/btree_container.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/container/internal/common.h b/third-party/webrtc/absl/absl/container/internal/common.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/container/internal/common.h rename to third-party/webrtc/absl/absl/container/internal/common.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/container/internal/common_policy_traits.h b/third-party/webrtc/absl/absl/container/internal/common_policy_traits.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/container/internal/common_policy_traits.h rename to third-party/webrtc/absl/absl/container/internal/common_policy_traits.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/container/internal/common_policy_traits_test.cc b/third-party/webrtc/absl/absl/container/internal/common_policy_traits_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/container/internal/common_policy_traits_test.cc rename to third-party/webrtc/absl/absl/container/internal/common_policy_traits_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/container/internal/compressed_tuple.h b/third-party/webrtc/absl/absl/container/internal/compressed_tuple.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/container/internal/compressed_tuple.h rename to third-party/webrtc/absl/absl/container/internal/compressed_tuple.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/container/internal/compressed_tuple_test.cc b/third-party/webrtc/absl/absl/container/internal/compressed_tuple_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/container/internal/compressed_tuple_test.cc rename to third-party/webrtc/absl/absl/container/internal/compressed_tuple_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/container/internal/container_memory.h b/third-party/webrtc/absl/absl/container/internal/container_memory.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/container/internal/container_memory.h rename to third-party/webrtc/absl/absl/container/internal/container_memory.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/container/internal/container_memory_test.cc b/third-party/webrtc/absl/absl/container/internal/container_memory_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/container/internal/container_memory_test.cc rename to third-party/webrtc/absl/absl/container/internal/container_memory_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/container/internal/hash_function_defaults.h b/third-party/webrtc/absl/absl/container/internal/hash_function_defaults.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/container/internal/hash_function_defaults.h rename to third-party/webrtc/absl/absl/container/internal/hash_function_defaults.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/container/internal/hash_function_defaults_test.cc b/third-party/webrtc/absl/absl/container/internal/hash_function_defaults_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/container/internal/hash_function_defaults_test.cc rename to third-party/webrtc/absl/absl/container/internal/hash_function_defaults_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/container/internal/hash_generator_testing.cc b/third-party/webrtc/absl/absl/container/internal/hash_generator_testing.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/container/internal/hash_generator_testing.cc rename to third-party/webrtc/absl/absl/container/internal/hash_generator_testing.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/container/internal/hash_generator_testing.h b/third-party/webrtc/absl/absl/container/internal/hash_generator_testing.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/container/internal/hash_generator_testing.h rename to third-party/webrtc/absl/absl/container/internal/hash_generator_testing.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/container/internal/hash_policy_testing.h b/third-party/webrtc/absl/absl/container/internal/hash_policy_testing.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/container/internal/hash_policy_testing.h rename to third-party/webrtc/absl/absl/container/internal/hash_policy_testing.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/container/internal/hash_policy_testing_test.cc b/third-party/webrtc/absl/absl/container/internal/hash_policy_testing_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/container/internal/hash_policy_testing_test.cc rename to third-party/webrtc/absl/absl/container/internal/hash_policy_testing_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/container/internal/hash_policy_traits.h b/third-party/webrtc/absl/absl/container/internal/hash_policy_traits.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/container/internal/hash_policy_traits.h rename to third-party/webrtc/absl/absl/container/internal/hash_policy_traits.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/container/internal/hash_policy_traits_test.cc b/third-party/webrtc/absl/absl/container/internal/hash_policy_traits_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/container/internal/hash_policy_traits_test.cc rename to third-party/webrtc/absl/absl/container/internal/hash_policy_traits_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/container/internal/hashtable_debug.h b/third-party/webrtc/absl/absl/container/internal/hashtable_debug.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/container/internal/hashtable_debug.h rename to third-party/webrtc/absl/absl/container/internal/hashtable_debug.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/container/internal/hashtable_debug_hooks.h b/third-party/webrtc/absl/absl/container/internal/hashtable_debug_hooks.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/container/internal/hashtable_debug_hooks.h rename to third-party/webrtc/absl/absl/container/internal/hashtable_debug_hooks.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.cc b/third-party/webrtc/absl/absl/container/internal/hashtablez_sampler.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.cc rename to third-party/webrtc/absl/absl/container/internal/hashtablez_sampler.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.h b/third-party/webrtc/absl/absl/container/internal/hashtablez_sampler.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.h rename to third-party/webrtc/absl/absl/container/internal/hashtablez_sampler.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler_force_weak_definition.cc b/third-party/webrtc/absl/absl/container/internal/hashtablez_sampler_force_weak_definition.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler_force_weak_definition.cc rename to third-party/webrtc/absl/absl/container/internal/hashtablez_sampler_force_weak_definition.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler_test.cc b/third-party/webrtc/absl/absl/container/internal/hashtablez_sampler_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler_test.cc rename to third-party/webrtc/absl/absl/container/internal/hashtablez_sampler_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/container/internal/inlined_vector.h b/third-party/webrtc/absl/absl/container/internal/inlined_vector.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/container/internal/inlined_vector.h rename to third-party/webrtc/absl/absl/container/internal/inlined_vector.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/container/internal/layout.h b/third-party/webrtc/absl/absl/container/internal/layout.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/container/internal/layout.h rename to third-party/webrtc/absl/absl/container/internal/layout.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/container/internal/layout_benchmark.cc b/third-party/webrtc/absl/absl/container/internal/layout_benchmark.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/container/internal/layout_benchmark.cc rename to third-party/webrtc/absl/absl/container/internal/layout_benchmark.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/container/internal/layout_test.cc b/third-party/webrtc/absl/absl/container/internal/layout_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/container/internal/layout_test.cc rename to third-party/webrtc/absl/absl/container/internal/layout_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/container/internal/node_slot_policy.h b/third-party/webrtc/absl/absl/container/internal/node_slot_policy.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/container/internal/node_slot_policy.h rename to third-party/webrtc/absl/absl/container/internal/node_slot_policy.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/container/internal/node_slot_policy_test.cc b/third-party/webrtc/absl/absl/container/internal/node_slot_policy_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/container/internal/node_slot_policy_test.cc rename to third-party/webrtc/absl/absl/container/internal/node_slot_policy_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/container/internal/raw_hash_map.h b/third-party/webrtc/absl/absl/container/internal/raw_hash_map.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/container/internal/raw_hash_map.h rename to third-party/webrtc/absl/absl/container/internal/raw_hash_map.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/container/internal/raw_hash_set.cc b/third-party/webrtc/absl/absl/container/internal/raw_hash_set.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/container/internal/raw_hash_set.cc rename to third-party/webrtc/absl/absl/container/internal/raw_hash_set.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/container/internal/raw_hash_set.h b/third-party/webrtc/absl/absl/container/internal/raw_hash_set.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/container/internal/raw_hash_set.h rename to third-party/webrtc/absl/absl/container/internal/raw_hash_set.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/container/internal/raw_hash_set_allocator_test.cc b/third-party/webrtc/absl/absl/container/internal/raw_hash_set_allocator_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/container/internal/raw_hash_set_allocator_test.cc rename to third-party/webrtc/absl/absl/container/internal/raw_hash_set_allocator_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/container/internal/raw_hash_set_benchmark.cc b/third-party/webrtc/absl/absl/container/internal/raw_hash_set_benchmark.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/container/internal/raw_hash_set_benchmark.cc rename to third-party/webrtc/absl/absl/container/internal/raw_hash_set_benchmark.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/container/internal/raw_hash_set_probe_benchmark.cc b/third-party/webrtc/absl/absl/container/internal/raw_hash_set_probe_benchmark.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/container/internal/raw_hash_set_probe_benchmark.cc rename to third-party/webrtc/absl/absl/container/internal/raw_hash_set_probe_benchmark.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/container/internal/raw_hash_set_test.cc b/third-party/webrtc/absl/absl/container/internal/raw_hash_set_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/container/internal/raw_hash_set_test.cc rename to third-party/webrtc/absl/absl/container/internal/raw_hash_set_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/container/internal/test_allocator.h b/third-party/webrtc/absl/absl/container/internal/test_allocator.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/container/internal/test_allocator.h rename to third-party/webrtc/absl/absl/container/internal/test_allocator.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/container/internal/test_instance_tracker.cc b/third-party/webrtc/absl/absl/container/internal/test_instance_tracker.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/container/internal/test_instance_tracker.cc rename to third-party/webrtc/absl/absl/container/internal/test_instance_tracker.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/container/internal/test_instance_tracker.h b/third-party/webrtc/absl/absl/container/internal/test_instance_tracker.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/container/internal/test_instance_tracker.h rename to third-party/webrtc/absl/absl/container/internal/test_instance_tracker.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/container/internal/test_instance_tracker_test.cc b/third-party/webrtc/absl/absl/container/internal/test_instance_tracker_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/container/internal/test_instance_tracker_test.cc rename to third-party/webrtc/absl/absl/container/internal/test_instance_tracker_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/container/internal/tracked.h b/third-party/webrtc/absl/absl/container/internal/tracked.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/container/internal/tracked.h rename to third-party/webrtc/absl/absl/container/internal/tracked.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/container/internal/unordered_map_constructor_test.h b/third-party/webrtc/absl/absl/container/internal/unordered_map_constructor_test.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/container/internal/unordered_map_constructor_test.h rename to third-party/webrtc/absl/absl/container/internal/unordered_map_constructor_test.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/container/internal/unordered_map_lookup_test.h b/third-party/webrtc/absl/absl/container/internal/unordered_map_lookup_test.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/container/internal/unordered_map_lookup_test.h rename to third-party/webrtc/absl/absl/container/internal/unordered_map_lookup_test.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/container/internal/unordered_map_members_test.h b/third-party/webrtc/absl/absl/container/internal/unordered_map_members_test.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/container/internal/unordered_map_members_test.h rename to third-party/webrtc/absl/absl/container/internal/unordered_map_members_test.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/container/internal/unordered_map_modifiers_test.h b/third-party/webrtc/absl/absl/container/internal/unordered_map_modifiers_test.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/container/internal/unordered_map_modifiers_test.h rename to third-party/webrtc/absl/absl/container/internal/unordered_map_modifiers_test.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/container/internal/unordered_map_test.cc b/third-party/webrtc/absl/absl/container/internal/unordered_map_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/container/internal/unordered_map_test.cc rename to third-party/webrtc/absl/absl/container/internal/unordered_map_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/container/internal/unordered_set_constructor_test.h b/third-party/webrtc/absl/absl/container/internal/unordered_set_constructor_test.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/container/internal/unordered_set_constructor_test.h rename to third-party/webrtc/absl/absl/container/internal/unordered_set_constructor_test.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/container/internal/unordered_set_lookup_test.h b/third-party/webrtc/absl/absl/container/internal/unordered_set_lookup_test.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/container/internal/unordered_set_lookup_test.h rename to third-party/webrtc/absl/absl/container/internal/unordered_set_lookup_test.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/container/internal/unordered_set_members_test.h b/third-party/webrtc/absl/absl/container/internal/unordered_set_members_test.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/container/internal/unordered_set_members_test.h rename to third-party/webrtc/absl/absl/container/internal/unordered_set_members_test.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/container/internal/unordered_set_modifiers_test.h b/third-party/webrtc/absl/absl/container/internal/unordered_set_modifiers_test.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/container/internal/unordered_set_modifiers_test.h rename to third-party/webrtc/absl/absl/container/internal/unordered_set_modifiers_test.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/container/internal/unordered_set_test.cc b/third-party/webrtc/absl/absl/container/internal/unordered_set_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/container/internal/unordered_set_test.cc rename to third-party/webrtc/absl/absl/container/internal/unordered_set_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/container/node_hash_map.h b/third-party/webrtc/absl/absl/container/node_hash_map.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/container/node_hash_map.h rename to third-party/webrtc/absl/absl/container/node_hash_map.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/container/node_hash_map_test.cc b/third-party/webrtc/absl/absl/container/node_hash_map_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/container/node_hash_map_test.cc rename to third-party/webrtc/absl/absl/container/node_hash_map_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/container/node_hash_set.h b/third-party/webrtc/absl/absl/container/node_hash_set.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/container/node_hash_set.h rename to third-party/webrtc/absl/absl/container/node_hash_set.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/container/node_hash_set_test.cc b/third-party/webrtc/absl/absl/container/node_hash_set_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/container/node_hash_set_test.cc rename to third-party/webrtc/absl/absl/container/node_hash_set_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/container/sample_element_size_test.cc b/third-party/webrtc/absl/absl/container/sample_element_size_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/container/sample_element_size_test.cc rename to third-party/webrtc/absl/absl/container/sample_element_size_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/copts/AbseilConfigureCopts.cmake b/third-party/webrtc/absl/absl/copts/AbseilConfigureCopts.cmake similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/copts/AbseilConfigureCopts.cmake rename to third-party/webrtc/absl/absl/copts/AbseilConfigureCopts.cmake diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/copts/GENERATED_AbseilCopts.cmake b/third-party/webrtc/absl/absl/copts/GENERATED_AbseilCopts.cmake similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/copts/GENERATED_AbseilCopts.cmake rename to third-party/webrtc/absl/absl/copts/GENERATED_AbseilCopts.cmake diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/copts/GENERATED_copts.bzl b/third-party/webrtc/absl/absl/copts/GENERATED_copts.bzl similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/copts/GENERATED_copts.bzl rename to third-party/webrtc/absl/absl/copts/GENERATED_copts.bzl diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/copts/configure_copts.bzl b/third-party/webrtc/absl/absl/copts/configure_copts.bzl similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/copts/configure_copts.bzl rename to third-party/webrtc/absl/absl/copts/configure_copts.bzl diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/copts/copts.py b/third-party/webrtc/absl/absl/copts/copts.py similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/copts/copts.py rename to third-party/webrtc/absl/absl/copts/copts.py diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/copts/generate_copts.py b/third-party/webrtc/absl/absl/copts/generate_copts.py similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/copts/generate_copts.py rename to third-party/webrtc/absl/absl/copts/generate_copts.py diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/crc/CMakeLists.txt b/third-party/webrtc/absl/absl/crc/CMakeLists.txt similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/crc/CMakeLists.txt rename to third-party/webrtc/absl/absl/crc/CMakeLists.txt diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/crc/crc32c.cc b/third-party/webrtc/absl/absl/crc/crc32c.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/crc/crc32c.cc rename to third-party/webrtc/absl/absl/crc/crc32c.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/crc/crc32c.h b/third-party/webrtc/absl/absl/crc/crc32c.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/crc/crc32c.h rename to third-party/webrtc/absl/absl/crc/crc32c.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/crc/crc32c_benchmark.cc b/third-party/webrtc/absl/absl/crc/crc32c_benchmark.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/crc/crc32c_benchmark.cc rename to third-party/webrtc/absl/absl/crc/crc32c_benchmark.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/crc/crc32c_test.cc b/third-party/webrtc/absl/absl/crc/crc32c_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/crc/crc32c_test.cc rename to third-party/webrtc/absl/absl/crc/crc32c_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/crc/internal/cpu_detect.cc b/third-party/webrtc/absl/absl/crc/internal/cpu_detect.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/crc/internal/cpu_detect.cc rename to third-party/webrtc/absl/absl/crc/internal/cpu_detect.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/crc/internal/cpu_detect.h b/third-party/webrtc/absl/absl/crc/internal/cpu_detect.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/crc/internal/cpu_detect.h rename to third-party/webrtc/absl/absl/crc/internal/cpu_detect.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/crc/internal/crc.cc b/third-party/webrtc/absl/absl/crc/internal/crc.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/crc/internal/crc.cc rename to third-party/webrtc/absl/absl/crc/internal/crc.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/crc/internal/crc.h b/third-party/webrtc/absl/absl/crc/internal/crc.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/crc/internal/crc.h rename to third-party/webrtc/absl/absl/crc/internal/crc.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/crc/internal/crc32_x86_arm_combined_simd.h b/third-party/webrtc/absl/absl/crc/internal/crc32_x86_arm_combined_simd.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/crc/internal/crc32_x86_arm_combined_simd.h rename to third-party/webrtc/absl/absl/crc/internal/crc32_x86_arm_combined_simd.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/crc/internal/crc32c.h b/third-party/webrtc/absl/absl/crc/internal/crc32c.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/crc/internal/crc32c.h rename to third-party/webrtc/absl/absl/crc/internal/crc32c.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/crc/internal/crc32c_inline.h b/third-party/webrtc/absl/absl/crc/internal/crc32c_inline.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/crc/internal/crc32c_inline.h rename to third-party/webrtc/absl/absl/crc/internal/crc32c_inline.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/crc/internal/crc_cord_state.cc b/third-party/webrtc/absl/absl/crc/internal/crc_cord_state.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/crc/internal/crc_cord_state.cc rename to third-party/webrtc/absl/absl/crc/internal/crc_cord_state.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/crc/internal/crc_cord_state.h b/third-party/webrtc/absl/absl/crc/internal/crc_cord_state.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/crc/internal/crc_cord_state.h rename to third-party/webrtc/absl/absl/crc/internal/crc_cord_state.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/crc/internal/crc_cord_state_test.cc b/third-party/webrtc/absl/absl/crc/internal/crc_cord_state_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/crc/internal/crc_cord_state_test.cc rename to third-party/webrtc/absl/absl/crc/internal/crc_cord_state_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/crc/internal/crc_internal.h b/third-party/webrtc/absl/absl/crc/internal/crc_internal.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/crc/internal/crc_internal.h rename to third-party/webrtc/absl/absl/crc/internal/crc_internal.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/crc/internal/crc_memcpy.h b/third-party/webrtc/absl/absl/crc/internal/crc_memcpy.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/crc/internal/crc_memcpy.h rename to third-party/webrtc/absl/absl/crc/internal/crc_memcpy.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/crc/internal/crc_memcpy_fallback.cc b/third-party/webrtc/absl/absl/crc/internal/crc_memcpy_fallback.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/crc/internal/crc_memcpy_fallback.cc rename to third-party/webrtc/absl/absl/crc/internal/crc_memcpy_fallback.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/crc/internal/crc_memcpy_test.cc b/third-party/webrtc/absl/absl/crc/internal/crc_memcpy_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/crc/internal/crc_memcpy_test.cc rename to third-party/webrtc/absl/absl/crc/internal/crc_memcpy_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/crc/internal/crc_memcpy_x86_arm_combined.cc b/third-party/webrtc/absl/absl/crc/internal/crc_memcpy_x86_arm_combined.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/crc/internal/crc_memcpy_x86_arm_combined.cc rename to third-party/webrtc/absl/absl/crc/internal/crc_memcpy_x86_arm_combined.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/crc/internal/crc_non_temporal_memcpy.cc b/third-party/webrtc/absl/absl/crc/internal/crc_non_temporal_memcpy.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/crc/internal/crc_non_temporal_memcpy.cc rename to third-party/webrtc/absl/absl/crc/internal/crc_non_temporal_memcpy.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/crc/internal/crc_x86_arm_combined.cc b/third-party/webrtc/absl/absl/crc/internal/crc_x86_arm_combined.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/crc/internal/crc_x86_arm_combined.cc rename to third-party/webrtc/absl/absl/crc/internal/crc_x86_arm_combined.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/crc/internal/non_temporal_arm_intrinsics.h b/third-party/webrtc/absl/absl/crc/internal/non_temporal_arm_intrinsics.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/crc/internal/non_temporal_arm_intrinsics.h rename to third-party/webrtc/absl/absl/crc/internal/non_temporal_arm_intrinsics.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/crc/internal/non_temporal_memcpy.h b/third-party/webrtc/absl/absl/crc/internal/non_temporal_memcpy.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/crc/internal/non_temporal_memcpy.h rename to third-party/webrtc/absl/absl/crc/internal/non_temporal_memcpy.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/crc/internal/non_temporal_memcpy_test.cc b/third-party/webrtc/absl/absl/crc/internal/non_temporal_memcpy_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/crc/internal/non_temporal_memcpy_test.cc rename to third-party/webrtc/absl/absl/crc/internal/non_temporal_memcpy_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/debugging/CMakeLists.txt b/third-party/webrtc/absl/absl/debugging/CMakeLists.txt similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/debugging/CMakeLists.txt rename to third-party/webrtc/absl/absl/debugging/CMakeLists.txt diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/debugging/failure_signal_handler.cc b/third-party/webrtc/absl/absl/debugging/failure_signal_handler.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/debugging/failure_signal_handler.cc rename to third-party/webrtc/absl/absl/debugging/failure_signal_handler.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/debugging/failure_signal_handler.h b/third-party/webrtc/absl/absl/debugging/failure_signal_handler.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/debugging/failure_signal_handler.h rename to third-party/webrtc/absl/absl/debugging/failure_signal_handler.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/debugging/failure_signal_handler_test.cc b/third-party/webrtc/absl/absl/debugging/failure_signal_handler_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/debugging/failure_signal_handler_test.cc rename to third-party/webrtc/absl/absl/debugging/failure_signal_handler_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/debugging/internal/address_is_readable.cc b/third-party/webrtc/absl/absl/debugging/internal/address_is_readable.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/debugging/internal/address_is_readable.cc rename to third-party/webrtc/absl/absl/debugging/internal/address_is_readable.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/debugging/internal/address_is_readable.h b/third-party/webrtc/absl/absl/debugging/internal/address_is_readable.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/debugging/internal/address_is_readable.h rename to third-party/webrtc/absl/absl/debugging/internal/address_is_readable.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/debugging/internal/demangle.cc b/third-party/webrtc/absl/absl/debugging/internal/demangle.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/debugging/internal/demangle.cc rename to third-party/webrtc/absl/absl/debugging/internal/demangle.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/debugging/internal/demangle.h b/third-party/webrtc/absl/absl/debugging/internal/demangle.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/debugging/internal/demangle.h rename to third-party/webrtc/absl/absl/debugging/internal/demangle.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/debugging/internal/demangle_test.cc b/third-party/webrtc/absl/absl/debugging/internal/demangle_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/debugging/internal/demangle_test.cc rename to third-party/webrtc/absl/absl/debugging/internal/demangle_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.cc b/third-party/webrtc/absl/absl/debugging/internal/elf_mem_image.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.cc rename to third-party/webrtc/absl/absl/debugging/internal/elf_mem_image.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.h b/third-party/webrtc/absl/absl/debugging/internal/elf_mem_image.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.h rename to third-party/webrtc/absl/absl/debugging/internal/elf_mem_image.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/debugging/internal/examine_stack.cc b/third-party/webrtc/absl/absl/debugging/internal/examine_stack.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/debugging/internal/examine_stack.cc rename to third-party/webrtc/absl/absl/debugging/internal/examine_stack.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/debugging/internal/examine_stack.h b/third-party/webrtc/absl/absl/debugging/internal/examine_stack.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/debugging/internal/examine_stack.h rename to third-party/webrtc/absl/absl/debugging/internal/examine_stack.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/debugging/internal/stack_consumption.cc b/third-party/webrtc/absl/absl/debugging/internal/stack_consumption.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/debugging/internal/stack_consumption.cc rename to third-party/webrtc/absl/absl/debugging/internal/stack_consumption.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/debugging/internal/stack_consumption.h b/third-party/webrtc/absl/absl/debugging/internal/stack_consumption.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/debugging/internal/stack_consumption.h rename to third-party/webrtc/absl/absl/debugging/internal/stack_consumption.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/debugging/internal/stack_consumption_test.cc b/third-party/webrtc/absl/absl/debugging/internal/stack_consumption_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/debugging/internal/stack_consumption_test.cc rename to third-party/webrtc/absl/absl/debugging/internal/stack_consumption_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/debugging/internal/stacktrace_aarch64-inl.inc b/third-party/webrtc/absl/absl/debugging/internal/stacktrace_aarch64-inl.inc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/debugging/internal/stacktrace_aarch64-inl.inc rename to third-party/webrtc/absl/absl/debugging/internal/stacktrace_aarch64-inl.inc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/debugging/internal/stacktrace_arm-inl.inc b/third-party/webrtc/absl/absl/debugging/internal/stacktrace_arm-inl.inc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/debugging/internal/stacktrace_arm-inl.inc rename to third-party/webrtc/absl/absl/debugging/internal/stacktrace_arm-inl.inc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/debugging/internal/stacktrace_config.h b/third-party/webrtc/absl/absl/debugging/internal/stacktrace_config.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/debugging/internal/stacktrace_config.h rename to third-party/webrtc/absl/absl/debugging/internal/stacktrace_config.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/debugging/internal/stacktrace_emscripten-inl.inc b/third-party/webrtc/absl/absl/debugging/internal/stacktrace_emscripten-inl.inc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/debugging/internal/stacktrace_emscripten-inl.inc rename to third-party/webrtc/absl/absl/debugging/internal/stacktrace_emscripten-inl.inc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/debugging/internal/stacktrace_generic-inl.inc b/third-party/webrtc/absl/absl/debugging/internal/stacktrace_generic-inl.inc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/debugging/internal/stacktrace_generic-inl.inc rename to third-party/webrtc/absl/absl/debugging/internal/stacktrace_generic-inl.inc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/debugging/internal/stacktrace_powerpc-inl.inc b/third-party/webrtc/absl/absl/debugging/internal/stacktrace_powerpc-inl.inc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/debugging/internal/stacktrace_powerpc-inl.inc rename to third-party/webrtc/absl/absl/debugging/internal/stacktrace_powerpc-inl.inc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/debugging/internal/stacktrace_riscv-inl.inc b/third-party/webrtc/absl/absl/debugging/internal/stacktrace_riscv-inl.inc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/debugging/internal/stacktrace_riscv-inl.inc rename to third-party/webrtc/absl/absl/debugging/internal/stacktrace_riscv-inl.inc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/debugging/internal/stacktrace_unimplemented-inl.inc b/third-party/webrtc/absl/absl/debugging/internal/stacktrace_unimplemented-inl.inc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/debugging/internal/stacktrace_unimplemented-inl.inc rename to third-party/webrtc/absl/absl/debugging/internal/stacktrace_unimplemented-inl.inc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/debugging/internal/stacktrace_win32-inl.inc b/third-party/webrtc/absl/absl/debugging/internal/stacktrace_win32-inl.inc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/debugging/internal/stacktrace_win32-inl.inc rename to third-party/webrtc/absl/absl/debugging/internal/stacktrace_win32-inl.inc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/debugging/internal/stacktrace_x86-inl.inc b/third-party/webrtc/absl/absl/debugging/internal/stacktrace_x86-inl.inc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/debugging/internal/stacktrace_x86-inl.inc rename to third-party/webrtc/absl/absl/debugging/internal/stacktrace_x86-inl.inc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/debugging/internal/symbolize.h b/third-party/webrtc/absl/absl/debugging/internal/symbolize.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/debugging/internal/symbolize.h rename to third-party/webrtc/absl/absl/debugging/internal/symbolize.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/debugging/internal/vdso_support.cc b/third-party/webrtc/absl/absl/debugging/internal/vdso_support.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/debugging/internal/vdso_support.cc rename to third-party/webrtc/absl/absl/debugging/internal/vdso_support.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/debugging/internal/vdso_support.h b/third-party/webrtc/absl/absl/debugging/internal/vdso_support.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/debugging/internal/vdso_support.h rename to third-party/webrtc/absl/absl/debugging/internal/vdso_support.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/debugging/leak_check.cc b/third-party/webrtc/absl/absl/debugging/leak_check.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/debugging/leak_check.cc rename to third-party/webrtc/absl/absl/debugging/leak_check.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/debugging/leak_check.h b/third-party/webrtc/absl/absl/debugging/leak_check.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/debugging/leak_check.h rename to third-party/webrtc/absl/absl/debugging/leak_check.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/debugging/leak_check_fail_test.cc b/third-party/webrtc/absl/absl/debugging/leak_check_fail_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/debugging/leak_check_fail_test.cc rename to third-party/webrtc/absl/absl/debugging/leak_check_fail_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/debugging/leak_check_test.cc b/third-party/webrtc/absl/absl/debugging/leak_check_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/debugging/leak_check_test.cc rename to third-party/webrtc/absl/absl/debugging/leak_check_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/debugging/stacktrace.cc b/third-party/webrtc/absl/absl/debugging/stacktrace.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/debugging/stacktrace.cc rename to third-party/webrtc/absl/absl/debugging/stacktrace.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/debugging/stacktrace.h b/third-party/webrtc/absl/absl/debugging/stacktrace.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/debugging/stacktrace.h rename to third-party/webrtc/absl/absl/debugging/stacktrace.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/debugging/stacktrace_benchmark.cc b/third-party/webrtc/absl/absl/debugging/stacktrace_benchmark.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/debugging/stacktrace_benchmark.cc rename to third-party/webrtc/absl/absl/debugging/stacktrace_benchmark.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/debugging/stacktrace_test.cc b/third-party/webrtc/absl/absl/debugging/stacktrace_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/debugging/stacktrace_test.cc rename to third-party/webrtc/absl/absl/debugging/stacktrace_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/debugging/symbolize.cc b/third-party/webrtc/absl/absl/debugging/symbolize.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/debugging/symbolize.cc rename to third-party/webrtc/absl/absl/debugging/symbolize.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/debugging/symbolize.h b/third-party/webrtc/absl/absl/debugging/symbolize.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/debugging/symbolize.h rename to third-party/webrtc/absl/absl/debugging/symbolize.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/debugging/symbolize_darwin.inc b/third-party/webrtc/absl/absl/debugging/symbolize_darwin.inc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/debugging/symbolize_darwin.inc rename to third-party/webrtc/absl/absl/debugging/symbolize_darwin.inc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/debugging/symbolize_elf.inc b/third-party/webrtc/absl/absl/debugging/symbolize_elf.inc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/debugging/symbolize_elf.inc rename to third-party/webrtc/absl/absl/debugging/symbolize_elf.inc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/debugging/symbolize_emscripten.inc b/third-party/webrtc/absl/absl/debugging/symbolize_emscripten.inc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/debugging/symbolize_emscripten.inc rename to third-party/webrtc/absl/absl/debugging/symbolize_emscripten.inc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/debugging/symbolize_test.cc b/third-party/webrtc/absl/absl/debugging/symbolize_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/debugging/symbolize_test.cc rename to third-party/webrtc/absl/absl/debugging/symbolize_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/debugging/symbolize_unimplemented.inc b/third-party/webrtc/absl/absl/debugging/symbolize_unimplemented.inc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/debugging/symbolize_unimplemented.inc rename to third-party/webrtc/absl/absl/debugging/symbolize_unimplemented.inc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/debugging/symbolize_win32.inc b/third-party/webrtc/absl/absl/debugging/symbolize_win32.inc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/debugging/symbolize_win32.inc rename to third-party/webrtc/absl/absl/debugging/symbolize_win32.inc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/flags/CMakeLists.txt b/third-party/webrtc/absl/absl/flags/CMakeLists.txt similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/flags/CMakeLists.txt rename to third-party/webrtc/absl/absl/flags/CMakeLists.txt diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/flags/commandlineflag.cc b/third-party/webrtc/absl/absl/flags/commandlineflag.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/flags/commandlineflag.cc rename to third-party/webrtc/absl/absl/flags/commandlineflag.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/flags/commandlineflag.h b/third-party/webrtc/absl/absl/flags/commandlineflag.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/flags/commandlineflag.h rename to third-party/webrtc/absl/absl/flags/commandlineflag.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/flags/commandlineflag_test.cc b/third-party/webrtc/absl/absl/flags/commandlineflag_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/flags/commandlineflag_test.cc rename to third-party/webrtc/absl/absl/flags/commandlineflag_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/flags/config.h b/third-party/webrtc/absl/absl/flags/config.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/flags/config.h rename to third-party/webrtc/absl/absl/flags/config.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/flags/config_test.cc b/third-party/webrtc/absl/absl/flags/config_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/flags/config_test.cc rename to third-party/webrtc/absl/absl/flags/config_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/flags/declare.h b/third-party/webrtc/absl/absl/flags/declare.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/flags/declare.h rename to third-party/webrtc/absl/absl/flags/declare.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/flags/flag.h b/third-party/webrtc/absl/absl/flags/flag.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/flags/flag.h rename to third-party/webrtc/absl/absl/flags/flag.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/flags/flag_benchmark.cc b/third-party/webrtc/absl/absl/flags/flag_benchmark.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/flags/flag_benchmark.cc rename to third-party/webrtc/absl/absl/flags/flag_benchmark.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/flags/flag_benchmark.lds b/third-party/webrtc/absl/absl/flags/flag_benchmark.lds similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/flags/flag_benchmark.lds rename to third-party/webrtc/absl/absl/flags/flag_benchmark.lds diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/flags/flag_test.cc b/third-party/webrtc/absl/absl/flags/flag_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/flags/flag_test.cc rename to third-party/webrtc/absl/absl/flags/flag_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/flags/flag_test_defs.cc b/third-party/webrtc/absl/absl/flags/flag_test_defs.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/flags/flag_test_defs.cc rename to third-party/webrtc/absl/absl/flags/flag_test_defs.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/flags/internal/commandlineflag.cc b/third-party/webrtc/absl/absl/flags/internal/commandlineflag.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/flags/internal/commandlineflag.cc rename to third-party/webrtc/absl/absl/flags/internal/commandlineflag.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/flags/internal/commandlineflag.h b/third-party/webrtc/absl/absl/flags/internal/commandlineflag.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/flags/internal/commandlineflag.h rename to third-party/webrtc/absl/absl/flags/internal/commandlineflag.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/flags/internal/flag.cc b/third-party/webrtc/absl/absl/flags/internal/flag.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/flags/internal/flag.cc rename to third-party/webrtc/absl/absl/flags/internal/flag.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/flags/internal/flag.h b/third-party/webrtc/absl/absl/flags/internal/flag.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/flags/internal/flag.h rename to third-party/webrtc/absl/absl/flags/internal/flag.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/flags/internal/parse.h b/third-party/webrtc/absl/absl/flags/internal/parse.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/flags/internal/parse.h rename to third-party/webrtc/absl/absl/flags/internal/parse.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/flags/internal/path_util.h b/third-party/webrtc/absl/absl/flags/internal/path_util.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/flags/internal/path_util.h rename to third-party/webrtc/absl/absl/flags/internal/path_util.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/flags/internal/path_util_test.cc b/third-party/webrtc/absl/absl/flags/internal/path_util_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/flags/internal/path_util_test.cc rename to third-party/webrtc/absl/absl/flags/internal/path_util_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/flags/internal/private_handle_accessor.cc b/third-party/webrtc/absl/absl/flags/internal/private_handle_accessor.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/flags/internal/private_handle_accessor.cc rename to third-party/webrtc/absl/absl/flags/internal/private_handle_accessor.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/flags/internal/private_handle_accessor.h b/third-party/webrtc/absl/absl/flags/internal/private_handle_accessor.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/flags/internal/private_handle_accessor.h rename to third-party/webrtc/absl/absl/flags/internal/private_handle_accessor.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/flags/internal/program_name.cc b/third-party/webrtc/absl/absl/flags/internal/program_name.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/flags/internal/program_name.cc rename to third-party/webrtc/absl/absl/flags/internal/program_name.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/flags/internal/program_name.h b/third-party/webrtc/absl/absl/flags/internal/program_name.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/flags/internal/program_name.h rename to third-party/webrtc/absl/absl/flags/internal/program_name.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/flags/internal/program_name_test.cc b/third-party/webrtc/absl/absl/flags/internal/program_name_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/flags/internal/program_name_test.cc rename to third-party/webrtc/absl/absl/flags/internal/program_name_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/flags/internal/registry.h b/third-party/webrtc/absl/absl/flags/internal/registry.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/flags/internal/registry.h rename to third-party/webrtc/absl/absl/flags/internal/registry.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/flags/internal/sequence_lock.h b/third-party/webrtc/absl/absl/flags/internal/sequence_lock.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/flags/internal/sequence_lock.h rename to third-party/webrtc/absl/absl/flags/internal/sequence_lock.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/flags/internal/sequence_lock_test.cc b/third-party/webrtc/absl/absl/flags/internal/sequence_lock_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/flags/internal/sequence_lock_test.cc rename to third-party/webrtc/absl/absl/flags/internal/sequence_lock_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/flags/internal/usage.cc b/third-party/webrtc/absl/absl/flags/internal/usage.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/flags/internal/usage.cc rename to third-party/webrtc/absl/absl/flags/internal/usage.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/flags/internal/usage.h b/third-party/webrtc/absl/absl/flags/internal/usage.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/flags/internal/usage.h rename to third-party/webrtc/absl/absl/flags/internal/usage.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/flags/internal/usage_test.cc b/third-party/webrtc/absl/absl/flags/internal/usage_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/flags/internal/usage_test.cc rename to third-party/webrtc/absl/absl/flags/internal/usage_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/flags/marshalling.cc b/third-party/webrtc/absl/absl/flags/marshalling.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/flags/marshalling.cc rename to third-party/webrtc/absl/absl/flags/marshalling.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/flags/marshalling.h b/third-party/webrtc/absl/absl/flags/marshalling.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/flags/marshalling.h rename to third-party/webrtc/absl/absl/flags/marshalling.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/flags/marshalling_test.cc b/third-party/webrtc/absl/absl/flags/marshalling_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/flags/marshalling_test.cc rename to third-party/webrtc/absl/absl/flags/marshalling_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/flags/parse.cc b/third-party/webrtc/absl/absl/flags/parse.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/flags/parse.cc rename to third-party/webrtc/absl/absl/flags/parse.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/flags/parse.h b/third-party/webrtc/absl/absl/flags/parse.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/flags/parse.h rename to third-party/webrtc/absl/absl/flags/parse.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/flags/parse_test.cc b/third-party/webrtc/absl/absl/flags/parse_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/flags/parse_test.cc rename to third-party/webrtc/absl/absl/flags/parse_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/flags/reflection.cc b/third-party/webrtc/absl/absl/flags/reflection.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/flags/reflection.cc rename to third-party/webrtc/absl/absl/flags/reflection.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/flags/reflection.h b/third-party/webrtc/absl/absl/flags/reflection.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/flags/reflection.h rename to third-party/webrtc/absl/absl/flags/reflection.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/flags/reflection_test.cc b/third-party/webrtc/absl/absl/flags/reflection_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/flags/reflection_test.cc rename to third-party/webrtc/absl/absl/flags/reflection_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/flags/usage.cc b/third-party/webrtc/absl/absl/flags/usage.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/flags/usage.cc rename to third-party/webrtc/absl/absl/flags/usage.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/flags/usage.h b/third-party/webrtc/absl/absl/flags/usage.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/flags/usage.h rename to third-party/webrtc/absl/absl/flags/usage.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/flags/usage_config.cc b/third-party/webrtc/absl/absl/flags/usage_config.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/flags/usage_config.cc rename to third-party/webrtc/absl/absl/flags/usage_config.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/flags/usage_config.h b/third-party/webrtc/absl/absl/flags/usage_config.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/flags/usage_config.h rename to third-party/webrtc/absl/absl/flags/usage_config.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/flags/usage_config_test.cc b/third-party/webrtc/absl/absl/flags/usage_config_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/flags/usage_config_test.cc rename to third-party/webrtc/absl/absl/flags/usage_config_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/functional/CMakeLists.txt b/third-party/webrtc/absl/absl/functional/CMakeLists.txt similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/functional/CMakeLists.txt rename to third-party/webrtc/absl/absl/functional/CMakeLists.txt diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/functional/any_invocable.h b/third-party/webrtc/absl/absl/functional/any_invocable.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/functional/any_invocable.h rename to third-party/webrtc/absl/absl/functional/any_invocable.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/functional/any_invocable_test.cc b/third-party/webrtc/absl/absl/functional/any_invocable_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/functional/any_invocable_test.cc rename to third-party/webrtc/absl/absl/functional/any_invocable_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/functional/bind_front.h b/third-party/webrtc/absl/absl/functional/bind_front.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/functional/bind_front.h rename to third-party/webrtc/absl/absl/functional/bind_front.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/functional/bind_front_test.cc b/third-party/webrtc/absl/absl/functional/bind_front_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/functional/bind_front_test.cc rename to third-party/webrtc/absl/absl/functional/bind_front_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/functional/function_ref.h b/third-party/webrtc/absl/absl/functional/function_ref.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/functional/function_ref.h rename to third-party/webrtc/absl/absl/functional/function_ref.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/functional/function_ref_test.cc b/third-party/webrtc/absl/absl/functional/function_ref_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/functional/function_ref_test.cc rename to third-party/webrtc/absl/absl/functional/function_ref_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/functional/function_type_benchmark.cc b/third-party/webrtc/absl/absl/functional/function_type_benchmark.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/functional/function_type_benchmark.cc rename to third-party/webrtc/absl/absl/functional/function_type_benchmark.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/functional/internal/any_invocable.h b/third-party/webrtc/absl/absl/functional/internal/any_invocable.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/functional/internal/any_invocable.h rename to third-party/webrtc/absl/absl/functional/internal/any_invocable.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/functional/internal/front_binder.h b/third-party/webrtc/absl/absl/functional/internal/front_binder.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/functional/internal/front_binder.h rename to third-party/webrtc/absl/absl/functional/internal/front_binder.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/functional/internal/function_ref.h b/third-party/webrtc/absl/absl/functional/internal/function_ref.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/functional/internal/function_ref.h rename to third-party/webrtc/absl/absl/functional/internal/function_ref.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/functional/overload.h b/third-party/webrtc/absl/absl/functional/overload.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/functional/overload.h rename to third-party/webrtc/absl/absl/functional/overload.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/functional/overload_test.cc b/third-party/webrtc/absl/absl/functional/overload_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/functional/overload_test.cc rename to third-party/webrtc/absl/absl/functional/overload_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/hash/CMakeLists.txt b/third-party/webrtc/absl/absl/hash/CMakeLists.txt similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/hash/CMakeLists.txt rename to third-party/webrtc/absl/absl/hash/CMakeLists.txt diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/hash/hash.h b/third-party/webrtc/absl/absl/hash/hash.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/hash/hash.h rename to third-party/webrtc/absl/absl/hash/hash.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/hash/hash_benchmark.cc b/third-party/webrtc/absl/absl/hash/hash_benchmark.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/hash/hash_benchmark.cc rename to third-party/webrtc/absl/absl/hash/hash_benchmark.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/hash/hash_instantiated_test.cc b/third-party/webrtc/absl/absl/hash/hash_instantiated_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/hash/hash_instantiated_test.cc rename to third-party/webrtc/absl/absl/hash/hash_instantiated_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/hash/hash_test.cc b/third-party/webrtc/absl/absl/hash/hash_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/hash/hash_test.cc rename to third-party/webrtc/absl/absl/hash/hash_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/hash/hash_testing.h b/third-party/webrtc/absl/absl/hash/hash_testing.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/hash/hash_testing.h rename to third-party/webrtc/absl/absl/hash/hash_testing.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/hash/internal/city.cc b/third-party/webrtc/absl/absl/hash/internal/city.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/hash/internal/city.cc rename to third-party/webrtc/absl/absl/hash/internal/city.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/hash/internal/city.h b/third-party/webrtc/absl/absl/hash/internal/city.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/hash/internal/city.h rename to third-party/webrtc/absl/absl/hash/internal/city.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/hash/internal/city_test.cc b/third-party/webrtc/absl/absl/hash/internal/city_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/hash/internal/city_test.cc rename to third-party/webrtc/absl/absl/hash/internal/city_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/hash/internal/hash.cc b/third-party/webrtc/absl/absl/hash/internal/hash.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/hash/internal/hash.cc rename to third-party/webrtc/absl/absl/hash/internal/hash.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/hash/internal/hash.h b/third-party/webrtc/absl/absl/hash/internal/hash.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/hash/internal/hash.h rename to third-party/webrtc/absl/absl/hash/internal/hash.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/hash/internal/hash_test.h b/third-party/webrtc/absl/absl/hash/internal/hash_test.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/hash/internal/hash_test.h rename to third-party/webrtc/absl/absl/hash/internal/hash_test.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/hash/internal/low_level_hash.cc b/third-party/webrtc/absl/absl/hash/internal/low_level_hash.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/hash/internal/low_level_hash.cc rename to third-party/webrtc/absl/absl/hash/internal/low_level_hash.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/hash/internal/low_level_hash.h b/third-party/webrtc/absl/absl/hash/internal/low_level_hash.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/hash/internal/low_level_hash.h rename to third-party/webrtc/absl/absl/hash/internal/low_level_hash.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/hash/internal/low_level_hash_test.cc b/third-party/webrtc/absl/absl/hash/internal/low_level_hash_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/hash/internal/low_level_hash_test.cc rename to third-party/webrtc/absl/absl/hash/internal/low_level_hash_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/hash/internal/print_hash_of.cc b/third-party/webrtc/absl/absl/hash/internal/print_hash_of.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/hash/internal/print_hash_of.cc rename to third-party/webrtc/absl/absl/hash/internal/print_hash_of.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/hash/internal/spy_hash_state.h b/third-party/webrtc/absl/absl/hash/internal/spy_hash_state.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/hash/internal/spy_hash_state.h rename to third-party/webrtc/absl/absl/hash/internal/spy_hash_state.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/log/CMakeLists.txt b/third-party/webrtc/absl/absl/log/CMakeLists.txt similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/log/CMakeLists.txt rename to third-party/webrtc/absl/absl/log/CMakeLists.txt diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/log/absl_check.h b/third-party/webrtc/absl/absl/log/absl_check.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/log/absl_check.h rename to third-party/webrtc/absl/absl/log/absl_check.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/log/absl_check_test.cc b/third-party/webrtc/absl/absl/log/absl_check_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/log/absl_check_test.cc rename to third-party/webrtc/absl/absl/log/absl_check_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/log/absl_log.h b/third-party/webrtc/absl/absl/log/absl_log.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/log/absl_log.h rename to third-party/webrtc/absl/absl/log/absl_log.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/log/absl_log_basic_test.cc b/third-party/webrtc/absl/absl/log/absl_log_basic_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/log/absl_log_basic_test.cc rename to third-party/webrtc/absl/absl/log/absl_log_basic_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/log/absl_vlog_is_on.h b/third-party/webrtc/absl/absl/log/absl_vlog_is_on.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/log/absl_vlog_is_on.h rename to third-party/webrtc/absl/absl/log/absl_vlog_is_on.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/log/check.h b/third-party/webrtc/absl/absl/log/check.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/log/check.h rename to third-party/webrtc/absl/absl/log/check.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/log/check_test.cc b/third-party/webrtc/absl/absl/log/check_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/log/check_test.cc rename to third-party/webrtc/absl/absl/log/check_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/log/check_test_impl.inc b/third-party/webrtc/absl/absl/log/check_test_impl.inc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/log/check_test_impl.inc rename to third-party/webrtc/absl/absl/log/check_test_impl.inc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/log/die_if_null.cc b/third-party/webrtc/absl/absl/log/die_if_null.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/log/die_if_null.cc rename to third-party/webrtc/absl/absl/log/die_if_null.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/log/die_if_null.h b/third-party/webrtc/absl/absl/log/die_if_null.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/log/die_if_null.h rename to third-party/webrtc/absl/absl/log/die_if_null.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/log/die_if_null_test.cc b/third-party/webrtc/absl/absl/log/die_if_null_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/log/die_if_null_test.cc rename to third-party/webrtc/absl/absl/log/die_if_null_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/log/flags.cc b/third-party/webrtc/absl/absl/log/flags.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/log/flags.cc rename to third-party/webrtc/absl/absl/log/flags.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/log/flags.h b/third-party/webrtc/absl/absl/log/flags.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/log/flags.h rename to third-party/webrtc/absl/absl/log/flags.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/log/flags_test.cc b/third-party/webrtc/absl/absl/log/flags_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/log/flags_test.cc rename to third-party/webrtc/absl/absl/log/flags_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/log/globals.cc b/third-party/webrtc/absl/absl/log/globals.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/log/globals.cc rename to third-party/webrtc/absl/absl/log/globals.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/log/globals.h b/third-party/webrtc/absl/absl/log/globals.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/log/globals.h rename to third-party/webrtc/absl/absl/log/globals.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/log/globals_test.cc b/third-party/webrtc/absl/absl/log/globals_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/log/globals_test.cc rename to third-party/webrtc/absl/absl/log/globals_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/log/initialize.cc b/third-party/webrtc/absl/absl/log/initialize.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/log/initialize.cc rename to third-party/webrtc/absl/absl/log/initialize.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/log/initialize.h b/third-party/webrtc/absl/absl/log/initialize.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/log/initialize.h rename to third-party/webrtc/absl/absl/log/initialize.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/log/internal/append_truncated.h b/third-party/webrtc/absl/absl/log/internal/append_truncated.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/log/internal/append_truncated.h rename to third-party/webrtc/absl/absl/log/internal/append_truncated.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/log/internal/check_impl.h b/third-party/webrtc/absl/absl/log/internal/check_impl.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/log/internal/check_impl.h rename to third-party/webrtc/absl/absl/log/internal/check_impl.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/log/internal/check_op.cc b/third-party/webrtc/absl/absl/log/internal/check_op.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/log/internal/check_op.cc rename to third-party/webrtc/absl/absl/log/internal/check_op.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/log/internal/check_op.h b/third-party/webrtc/absl/absl/log/internal/check_op.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/log/internal/check_op.h rename to third-party/webrtc/absl/absl/log/internal/check_op.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/log/internal/conditions.cc b/third-party/webrtc/absl/absl/log/internal/conditions.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/log/internal/conditions.cc rename to third-party/webrtc/absl/absl/log/internal/conditions.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/log/internal/conditions.h b/third-party/webrtc/absl/absl/log/internal/conditions.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/log/internal/conditions.h rename to third-party/webrtc/absl/absl/log/internal/conditions.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/log/internal/config.h b/third-party/webrtc/absl/absl/log/internal/config.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/log/internal/config.h rename to third-party/webrtc/absl/absl/log/internal/config.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/log/internal/flags.h b/third-party/webrtc/absl/absl/log/internal/flags.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/log/internal/flags.h rename to third-party/webrtc/absl/absl/log/internal/flags.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/log/internal/fnmatch.cc b/third-party/webrtc/absl/absl/log/internal/fnmatch.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/log/internal/fnmatch.cc rename to third-party/webrtc/absl/absl/log/internal/fnmatch.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/log/internal/fnmatch.h b/third-party/webrtc/absl/absl/log/internal/fnmatch.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/log/internal/fnmatch.h rename to third-party/webrtc/absl/absl/log/internal/fnmatch.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/log/internal/fnmatch_benchmark.cc b/third-party/webrtc/absl/absl/log/internal/fnmatch_benchmark.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/log/internal/fnmatch_benchmark.cc rename to third-party/webrtc/absl/absl/log/internal/fnmatch_benchmark.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/log/internal/fnmatch_test.cc b/third-party/webrtc/absl/absl/log/internal/fnmatch_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/log/internal/fnmatch_test.cc rename to third-party/webrtc/absl/absl/log/internal/fnmatch_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/log/internal/globals.cc b/third-party/webrtc/absl/absl/log/internal/globals.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/log/internal/globals.cc rename to third-party/webrtc/absl/absl/log/internal/globals.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/log/internal/globals.h b/third-party/webrtc/absl/absl/log/internal/globals.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/log/internal/globals.h rename to third-party/webrtc/absl/absl/log/internal/globals.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/log/internal/log_format.cc b/third-party/webrtc/absl/absl/log/internal/log_format.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/log/internal/log_format.cc rename to third-party/webrtc/absl/absl/log/internal/log_format.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/log/internal/log_format.h b/third-party/webrtc/absl/absl/log/internal/log_format.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/log/internal/log_format.h rename to third-party/webrtc/absl/absl/log/internal/log_format.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/log/internal/log_impl.h b/third-party/webrtc/absl/absl/log/internal/log_impl.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/log/internal/log_impl.h rename to third-party/webrtc/absl/absl/log/internal/log_impl.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/log/internal/log_message.cc b/third-party/webrtc/absl/absl/log/internal/log_message.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/log/internal/log_message.cc rename to third-party/webrtc/absl/absl/log/internal/log_message.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/log/internal/log_message.h b/third-party/webrtc/absl/absl/log/internal/log_message.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/log/internal/log_message.h rename to third-party/webrtc/absl/absl/log/internal/log_message.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/log/internal/log_sink_set.cc b/third-party/webrtc/absl/absl/log/internal/log_sink_set.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/log/internal/log_sink_set.cc rename to third-party/webrtc/absl/absl/log/internal/log_sink_set.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/log/internal/log_sink_set.h b/third-party/webrtc/absl/absl/log/internal/log_sink_set.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/log/internal/log_sink_set.h rename to third-party/webrtc/absl/absl/log/internal/log_sink_set.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/log/internal/nullguard.cc b/third-party/webrtc/absl/absl/log/internal/nullguard.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/log/internal/nullguard.cc rename to third-party/webrtc/absl/absl/log/internal/nullguard.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/log/internal/nullguard.h b/third-party/webrtc/absl/absl/log/internal/nullguard.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/log/internal/nullguard.h rename to third-party/webrtc/absl/absl/log/internal/nullguard.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/log/internal/nullstream.h b/third-party/webrtc/absl/absl/log/internal/nullstream.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/log/internal/nullstream.h rename to third-party/webrtc/absl/absl/log/internal/nullstream.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/log/internal/proto.cc b/third-party/webrtc/absl/absl/log/internal/proto.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/log/internal/proto.cc rename to third-party/webrtc/absl/absl/log/internal/proto.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/log/internal/proto.h b/third-party/webrtc/absl/absl/log/internal/proto.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/log/internal/proto.h rename to third-party/webrtc/absl/absl/log/internal/proto.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/log/internal/stderr_log_sink_test.cc b/third-party/webrtc/absl/absl/log/internal/stderr_log_sink_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/log/internal/stderr_log_sink_test.cc rename to third-party/webrtc/absl/absl/log/internal/stderr_log_sink_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/log/internal/strip.h b/third-party/webrtc/absl/absl/log/internal/strip.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/log/internal/strip.h rename to third-party/webrtc/absl/absl/log/internal/strip.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/log/internal/structured.h b/third-party/webrtc/absl/absl/log/internal/structured.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/log/internal/structured.h rename to third-party/webrtc/absl/absl/log/internal/structured.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/log/internal/test_actions.cc b/third-party/webrtc/absl/absl/log/internal/test_actions.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/log/internal/test_actions.cc rename to third-party/webrtc/absl/absl/log/internal/test_actions.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/log/internal/test_actions.h b/third-party/webrtc/absl/absl/log/internal/test_actions.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/log/internal/test_actions.h rename to third-party/webrtc/absl/absl/log/internal/test_actions.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/log/internal/test_helpers.cc b/third-party/webrtc/absl/absl/log/internal/test_helpers.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/log/internal/test_helpers.cc rename to third-party/webrtc/absl/absl/log/internal/test_helpers.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/log/internal/test_helpers.h b/third-party/webrtc/absl/absl/log/internal/test_helpers.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/log/internal/test_helpers.h rename to third-party/webrtc/absl/absl/log/internal/test_helpers.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/log/internal/test_matchers.cc b/third-party/webrtc/absl/absl/log/internal/test_matchers.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/log/internal/test_matchers.cc rename to third-party/webrtc/absl/absl/log/internal/test_matchers.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/log/internal/test_matchers.h b/third-party/webrtc/absl/absl/log/internal/test_matchers.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/log/internal/test_matchers.h rename to third-party/webrtc/absl/absl/log/internal/test_matchers.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/log/internal/vlog_config.cc b/third-party/webrtc/absl/absl/log/internal/vlog_config.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/log/internal/vlog_config.cc rename to third-party/webrtc/absl/absl/log/internal/vlog_config.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/log/internal/vlog_config.h b/third-party/webrtc/absl/absl/log/internal/vlog_config.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/log/internal/vlog_config.h rename to third-party/webrtc/absl/absl/log/internal/vlog_config.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/log/internal/vlog_config_benchmark.cc b/third-party/webrtc/absl/absl/log/internal/vlog_config_benchmark.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/log/internal/vlog_config_benchmark.cc rename to third-party/webrtc/absl/absl/log/internal/vlog_config_benchmark.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/log/internal/voidify.h b/third-party/webrtc/absl/absl/log/internal/voidify.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/log/internal/voidify.h rename to third-party/webrtc/absl/absl/log/internal/voidify.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/log/log.h b/third-party/webrtc/absl/absl/log/log.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/log/log.h rename to third-party/webrtc/absl/absl/log/log.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/log/log_basic_test.cc b/third-party/webrtc/absl/absl/log/log_basic_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/log/log_basic_test.cc rename to third-party/webrtc/absl/absl/log/log_basic_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/log/log_basic_test_impl.inc b/third-party/webrtc/absl/absl/log/log_basic_test_impl.inc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/log/log_basic_test_impl.inc rename to third-party/webrtc/absl/absl/log/log_basic_test_impl.inc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/log/log_benchmark.cc b/third-party/webrtc/absl/absl/log/log_benchmark.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/log/log_benchmark.cc rename to third-party/webrtc/absl/absl/log/log_benchmark.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/log/log_entry.cc b/third-party/webrtc/absl/absl/log/log_entry.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/log/log_entry.cc rename to third-party/webrtc/absl/absl/log/log_entry.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/log/log_entry.h b/third-party/webrtc/absl/absl/log/log_entry.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/log/log_entry.h rename to third-party/webrtc/absl/absl/log/log_entry.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/log/log_entry_test.cc b/third-party/webrtc/absl/absl/log/log_entry_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/log/log_entry_test.cc rename to third-party/webrtc/absl/absl/log/log_entry_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/log/log_format_test.cc b/third-party/webrtc/absl/absl/log/log_format_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/log/log_format_test.cc rename to third-party/webrtc/absl/absl/log/log_format_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/log/log_macro_hygiene_test.cc b/third-party/webrtc/absl/absl/log/log_macro_hygiene_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/log/log_macro_hygiene_test.cc rename to third-party/webrtc/absl/absl/log/log_macro_hygiene_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/log/log_modifier_methods_test.cc b/third-party/webrtc/absl/absl/log/log_modifier_methods_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/log/log_modifier_methods_test.cc rename to third-party/webrtc/absl/absl/log/log_modifier_methods_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/log/log_sink.cc b/third-party/webrtc/absl/absl/log/log_sink.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/log/log_sink.cc rename to third-party/webrtc/absl/absl/log/log_sink.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/log/log_sink.h b/third-party/webrtc/absl/absl/log/log_sink.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/log/log_sink.h rename to third-party/webrtc/absl/absl/log/log_sink.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/log/log_sink_registry.h b/third-party/webrtc/absl/absl/log/log_sink_registry.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/log/log_sink_registry.h rename to third-party/webrtc/absl/absl/log/log_sink_registry.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/log/log_sink_test.cc b/third-party/webrtc/absl/absl/log/log_sink_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/log/log_sink_test.cc rename to third-party/webrtc/absl/absl/log/log_sink_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/log/log_streamer.h b/third-party/webrtc/absl/absl/log/log_streamer.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/log/log_streamer.h rename to third-party/webrtc/absl/absl/log/log_streamer.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/log/log_streamer_test.cc b/third-party/webrtc/absl/absl/log/log_streamer_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/log/log_streamer_test.cc rename to third-party/webrtc/absl/absl/log/log_streamer_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/log/scoped_mock_log.cc b/third-party/webrtc/absl/absl/log/scoped_mock_log.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/log/scoped_mock_log.cc rename to third-party/webrtc/absl/absl/log/scoped_mock_log.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/log/scoped_mock_log.h b/third-party/webrtc/absl/absl/log/scoped_mock_log.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/log/scoped_mock_log.h rename to third-party/webrtc/absl/absl/log/scoped_mock_log.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/log/scoped_mock_log_test.cc b/third-party/webrtc/absl/absl/log/scoped_mock_log_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/log/scoped_mock_log_test.cc rename to third-party/webrtc/absl/absl/log/scoped_mock_log_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/log/stripping_test.cc b/third-party/webrtc/absl/absl/log/stripping_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/log/stripping_test.cc rename to third-party/webrtc/absl/absl/log/stripping_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/log/structured.h b/third-party/webrtc/absl/absl/log/structured.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/log/structured.h rename to third-party/webrtc/absl/absl/log/structured.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/log/structured_test.cc b/third-party/webrtc/absl/absl/log/structured_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/log/structured_test.cc rename to third-party/webrtc/absl/absl/log/structured_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/log/vlog_is_on.h b/third-party/webrtc/absl/absl/log/vlog_is_on.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/log/vlog_is_on.h rename to third-party/webrtc/absl/absl/log/vlog_is_on.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/log/vlog_is_on_test.cc b/third-party/webrtc/absl/absl/log/vlog_is_on_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/log/vlog_is_on_test.cc rename to third-party/webrtc/absl/absl/log/vlog_is_on_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/memory/CMakeLists.txt b/third-party/webrtc/absl/absl/memory/CMakeLists.txt similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/memory/CMakeLists.txt rename to third-party/webrtc/absl/absl/memory/CMakeLists.txt diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/memory/memory.h b/third-party/webrtc/absl/absl/memory/memory.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/memory/memory.h rename to third-party/webrtc/absl/absl/memory/memory.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/memory/memory_test.cc b/third-party/webrtc/absl/absl/memory/memory_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/memory/memory_test.cc rename to third-party/webrtc/absl/absl/memory/memory_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/meta/CMakeLists.txt b/third-party/webrtc/absl/absl/meta/CMakeLists.txt similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/meta/CMakeLists.txt rename to third-party/webrtc/absl/absl/meta/CMakeLists.txt diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/meta/type_traits.h b/third-party/webrtc/absl/absl/meta/type_traits.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/meta/type_traits.h rename to third-party/webrtc/absl/absl/meta/type_traits.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/meta/type_traits_test.cc b/third-party/webrtc/absl/absl/meta/type_traits_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/meta/type_traits_test.cc rename to third-party/webrtc/absl/absl/meta/type_traits_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/numeric/CMakeLists.txt b/third-party/webrtc/absl/absl/numeric/CMakeLists.txt similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/numeric/CMakeLists.txt rename to third-party/webrtc/absl/absl/numeric/CMakeLists.txt diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/numeric/bits.h b/third-party/webrtc/absl/absl/numeric/bits.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/numeric/bits.h rename to third-party/webrtc/absl/absl/numeric/bits.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/numeric/bits_benchmark.cc b/third-party/webrtc/absl/absl/numeric/bits_benchmark.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/numeric/bits_benchmark.cc rename to third-party/webrtc/absl/absl/numeric/bits_benchmark.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/numeric/bits_test.cc b/third-party/webrtc/absl/absl/numeric/bits_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/numeric/bits_test.cc rename to third-party/webrtc/absl/absl/numeric/bits_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/numeric/int128.cc b/third-party/webrtc/absl/absl/numeric/int128.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/numeric/int128.cc rename to third-party/webrtc/absl/absl/numeric/int128.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/numeric/int128.h b/third-party/webrtc/absl/absl/numeric/int128.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/numeric/int128.h rename to third-party/webrtc/absl/absl/numeric/int128.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/numeric/int128_benchmark.cc b/third-party/webrtc/absl/absl/numeric/int128_benchmark.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/numeric/int128_benchmark.cc rename to third-party/webrtc/absl/absl/numeric/int128_benchmark.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/numeric/int128_have_intrinsic.inc b/third-party/webrtc/absl/absl/numeric/int128_have_intrinsic.inc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/numeric/int128_have_intrinsic.inc rename to third-party/webrtc/absl/absl/numeric/int128_have_intrinsic.inc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/numeric/int128_no_intrinsic.inc b/third-party/webrtc/absl/absl/numeric/int128_no_intrinsic.inc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/numeric/int128_no_intrinsic.inc rename to third-party/webrtc/absl/absl/numeric/int128_no_intrinsic.inc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/numeric/int128_stream_test.cc b/third-party/webrtc/absl/absl/numeric/int128_stream_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/numeric/int128_stream_test.cc rename to third-party/webrtc/absl/absl/numeric/int128_stream_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/numeric/int128_test.cc b/third-party/webrtc/absl/absl/numeric/int128_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/numeric/int128_test.cc rename to third-party/webrtc/absl/absl/numeric/int128_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/numeric/internal/bits.h b/third-party/webrtc/absl/absl/numeric/internal/bits.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/numeric/internal/bits.h rename to third-party/webrtc/absl/absl/numeric/internal/bits.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/numeric/internal/representation.h b/third-party/webrtc/absl/absl/numeric/internal/representation.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/numeric/internal/representation.h rename to third-party/webrtc/absl/absl/numeric/internal/representation.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/profiling/CMakeLists.txt b/third-party/webrtc/absl/absl/profiling/CMakeLists.txt similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/profiling/CMakeLists.txt rename to third-party/webrtc/absl/absl/profiling/CMakeLists.txt diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/profiling/internal/exponential_biased.cc b/third-party/webrtc/absl/absl/profiling/internal/exponential_biased.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/profiling/internal/exponential_biased.cc rename to third-party/webrtc/absl/absl/profiling/internal/exponential_biased.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/profiling/internal/exponential_biased.h b/third-party/webrtc/absl/absl/profiling/internal/exponential_biased.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/profiling/internal/exponential_biased.h rename to third-party/webrtc/absl/absl/profiling/internal/exponential_biased.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/profiling/internal/exponential_biased_test.cc b/third-party/webrtc/absl/absl/profiling/internal/exponential_biased_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/profiling/internal/exponential_biased_test.cc rename to third-party/webrtc/absl/absl/profiling/internal/exponential_biased_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/profiling/internal/periodic_sampler.cc b/third-party/webrtc/absl/absl/profiling/internal/periodic_sampler.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/profiling/internal/periodic_sampler.cc rename to third-party/webrtc/absl/absl/profiling/internal/periodic_sampler.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/profiling/internal/periodic_sampler.h b/third-party/webrtc/absl/absl/profiling/internal/periodic_sampler.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/profiling/internal/periodic_sampler.h rename to third-party/webrtc/absl/absl/profiling/internal/periodic_sampler.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/profiling/internal/periodic_sampler_benchmark.cc b/third-party/webrtc/absl/absl/profiling/internal/periodic_sampler_benchmark.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/profiling/internal/periodic_sampler_benchmark.cc rename to third-party/webrtc/absl/absl/profiling/internal/periodic_sampler_benchmark.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/profiling/internal/periodic_sampler_test.cc b/third-party/webrtc/absl/absl/profiling/internal/periodic_sampler_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/profiling/internal/periodic_sampler_test.cc rename to third-party/webrtc/absl/absl/profiling/internal/periodic_sampler_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/profiling/internal/sample_recorder.h b/third-party/webrtc/absl/absl/profiling/internal/sample_recorder.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/profiling/internal/sample_recorder.h rename to third-party/webrtc/absl/absl/profiling/internal/sample_recorder.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/profiling/internal/sample_recorder_test.cc b/third-party/webrtc/absl/absl/profiling/internal/sample_recorder_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/profiling/internal/sample_recorder_test.cc rename to third-party/webrtc/absl/absl/profiling/internal/sample_recorder_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/random/CMakeLists.txt b/third-party/webrtc/absl/absl/random/CMakeLists.txt similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/random/CMakeLists.txt rename to third-party/webrtc/absl/absl/random/CMakeLists.txt diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/random/benchmarks.cc b/third-party/webrtc/absl/absl/random/benchmarks.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/random/benchmarks.cc rename to third-party/webrtc/absl/absl/random/benchmarks.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/random/bernoulli_distribution.h b/third-party/webrtc/absl/absl/random/bernoulli_distribution.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/random/bernoulli_distribution.h rename to third-party/webrtc/absl/absl/random/bernoulli_distribution.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/random/bernoulli_distribution_test.cc b/third-party/webrtc/absl/absl/random/bernoulli_distribution_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/random/bernoulli_distribution_test.cc rename to third-party/webrtc/absl/absl/random/bernoulli_distribution_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/random/beta_distribution.h b/third-party/webrtc/absl/absl/random/beta_distribution.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/random/beta_distribution.h rename to third-party/webrtc/absl/absl/random/beta_distribution.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/random/beta_distribution_test.cc b/third-party/webrtc/absl/absl/random/beta_distribution_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/random/beta_distribution_test.cc rename to third-party/webrtc/absl/absl/random/beta_distribution_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/random/bit_gen_ref.h b/third-party/webrtc/absl/absl/random/bit_gen_ref.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/random/bit_gen_ref.h rename to third-party/webrtc/absl/absl/random/bit_gen_ref.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/random/bit_gen_ref_test.cc b/third-party/webrtc/absl/absl/random/bit_gen_ref_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/random/bit_gen_ref_test.cc rename to third-party/webrtc/absl/absl/random/bit_gen_ref_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/random/discrete_distribution.cc b/third-party/webrtc/absl/absl/random/discrete_distribution.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/random/discrete_distribution.cc rename to third-party/webrtc/absl/absl/random/discrete_distribution.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/random/discrete_distribution.h b/third-party/webrtc/absl/absl/random/discrete_distribution.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/random/discrete_distribution.h rename to third-party/webrtc/absl/absl/random/discrete_distribution.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/random/discrete_distribution_test.cc b/third-party/webrtc/absl/absl/random/discrete_distribution_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/random/discrete_distribution_test.cc rename to third-party/webrtc/absl/absl/random/discrete_distribution_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/random/distributions.h b/third-party/webrtc/absl/absl/random/distributions.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/random/distributions.h rename to third-party/webrtc/absl/absl/random/distributions.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/random/distributions_test.cc b/third-party/webrtc/absl/absl/random/distributions_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/random/distributions_test.cc rename to third-party/webrtc/absl/absl/random/distributions_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/random/examples_test.cc b/third-party/webrtc/absl/absl/random/examples_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/random/examples_test.cc rename to third-party/webrtc/absl/absl/random/examples_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/random/exponential_distribution.h b/third-party/webrtc/absl/absl/random/exponential_distribution.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/random/exponential_distribution.h rename to third-party/webrtc/absl/absl/random/exponential_distribution.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/random/exponential_distribution_test.cc b/third-party/webrtc/absl/absl/random/exponential_distribution_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/random/exponential_distribution_test.cc rename to third-party/webrtc/absl/absl/random/exponential_distribution_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/random/gaussian_distribution.cc b/third-party/webrtc/absl/absl/random/gaussian_distribution.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/random/gaussian_distribution.cc rename to third-party/webrtc/absl/absl/random/gaussian_distribution.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/random/gaussian_distribution.h b/third-party/webrtc/absl/absl/random/gaussian_distribution.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/random/gaussian_distribution.h rename to third-party/webrtc/absl/absl/random/gaussian_distribution.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/random/gaussian_distribution_test.cc b/third-party/webrtc/absl/absl/random/gaussian_distribution_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/random/gaussian_distribution_test.cc rename to third-party/webrtc/absl/absl/random/gaussian_distribution_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/random/generators_test.cc b/third-party/webrtc/absl/absl/random/generators_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/random/generators_test.cc rename to third-party/webrtc/absl/absl/random/generators_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/chi_square.cc b/third-party/webrtc/absl/absl/random/internal/chi_square.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/chi_square.cc rename to third-party/webrtc/absl/absl/random/internal/chi_square.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/chi_square.h b/third-party/webrtc/absl/absl/random/internal/chi_square.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/chi_square.h rename to third-party/webrtc/absl/absl/random/internal/chi_square.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/chi_square_test.cc b/third-party/webrtc/absl/absl/random/internal/chi_square_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/chi_square_test.cc rename to third-party/webrtc/absl/absl/random/internal/chi_square_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/distribution_caller.h b/third-party/webrtc/absl/absl/random/internal/distribution_caller.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/distribution_caller.h rename to third-party/webrtc/absl/absl/random/internal/distribution_caller.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/distribution_test_util.cc b/third-party/webrtc/absl/absl/random/internal/distribution_test_util.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/distribution_test_util.cc rename to third-party/webrtc/absl/absl/random/internal/distribution_test_util.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/distribution_test_util.h b/third-party/webrtc/absl/absl/random/internal/distribution_test_util.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/distribution_test_util.h rename to third-party/webrtc/absl/absl/random/internal/distribution_test_util.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/distribution_test_util_test.cc b/third-party/webrtc/absl/absl/random/internal/distribution_test_util_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/distribution_test_util_test.cc rename to third-party/webrtc/absl/absl/random/internal/distribution_test_util_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/explicit_seed_seq.h b/third-party/webrtc/absl/absl/random/internal/explicit_seed_seq.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/explicit_seed_seq.h rename to third-party/webrtc/absl/absl/random/internal/explicit_seed_seq.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/explicit_seed_seq_test.cc b/third-party/webrtc/absl/absl/random/internal/explicit_seed_seq_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/explicit_seed_seq_test.cc rename to third-party/webrtc/absl/absl/random/internal/explicit_seed_seq_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/fast_uniform_bits.h b/third-party/webrtc/absl/absl/random/internal/fast_uniform_bits.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/fast_uniform_bits.h rename to third-party/webrtc/absl/absl/random/internal/fast_uniform_bits.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/fast_uniform_bits_test.cc b/third-party/webrtc/absl/absl/random/internal/fast_uniform_bits_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/fast_uniform_bits_test.cc rename to third-party/webrtc/absl/absl/random/internal/fast_uniform_bits_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/fastmath.h b/third-party/webrtc/absl/absl/random/internal/fastmath.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/fastmath.h rename to third-party/webrtc/absl/absl/random/internal/fastmath.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/fastmath_test.cc b/third-party/webrtc/absl/absl/random/internal/fastmath_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/fastmath_test.cc rename to third-party/webrtc/absl/absl/random/internal/fastmath_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/gaussian_distribution_gentables.cc b/third-party/webrtc/absl/absl/random/internal/gaussian_distribution_gentables.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/gaussian_distribution_gentables.cc rename to third-party/webrtc/absl/absl/random/internal/gaussian_distribution_gentables.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/generate_real.h b/third-party/webrtc/absl/absl/random/internal/generate_real.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/generate_real.h rename to third-party/webrtc/absl/absl/random/internal/generate_real.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/generate_real_test.cc b/third-party/webrtc/absl/absl/random/internal/generate_real_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/generate_real_test.cc rename to third-party/webrtc/absl/absl/random/internal/generate_real_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/iostream_state_saver.h b/third-party/webrtc/absl/absl/random/internal/iostream_state_saver.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/iostream_state_saver.h rename to third-party/webrtc/absl/absl/random/internal/iostream_state_saver.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/iostream_state_saver_test.cc b/third-party/webrtc/absl/absl/random/internal/iostream_state_saver_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/iostream_state_saver_test.cc rename to third-party/webrtc/absl/absl/random/internal/iostream_state_saver_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/mock_helpers.h b/third-party/webrtc/absl/absl/random/internal/mock_helpers.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/mock_helpers.h rename to third-party/webrtc/absl/absl/random/internal/mock_helpers.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/mock_overload_set.h b/third-party/webrtc/absl/absl/random/internal/mock_overload_set.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/mock_overload_set.h rename to third-party/webrtc/absl/absl/random/internal/mock_overload_set.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/nanobenchmark.cc b/third-party/webrtc/absl/absl/random/internal/nanobenchmark.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/nanobenchmark.cc rename to third-party/webrtc/absl/absl/random/internal/nanobenchmark.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/nanobenchmark.h b/third-party/webrtc/absl/absl/random/internal/nanobenchmark.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/nanobenchmark.h rename to third-party/webrtc/absl/absl/random/internal/nanobenchmark.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/nanobenchmark_test.cc b/third-party/webrtc/absl/absl/random/internal/nanobenchmark_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/nanobenchmark_test.cc rename to third-party/webrtc/absl/absl/random/internal/nanobenchmark_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/nonsecure_base.h b/third-party/webrtc/absl/absl/random/internal/nonsecure_base.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/nonsecure_base.h rename to third-party/webrtc/absl/absl/random/internal/nonsecure_base.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/nonsecure_base_test.cc b/third-party/webrtc/absl/absl/random/internal/nonsecure_base_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/nonsecure_base_test.cc rename to third-party/webrtc/absl/absl/random/internal/nonsecure_base_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/pcg_engine.h b/third-party/webrtc/absl/absl/random/internal/pcg_engine.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/pcg_engine.h rename to third-party/webrtc/absl/absl/random/internal/pcg_engine.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/pcg_engine_test.cc b/third-party/webrtc/absl/absl/random/internal/pcg_engine_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/pcg_engine_test.cc rename to third-party/webrtc/absl/absl/random/internal/pcg_engine_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/platform.h b/third-party/webrtc/absl/absl/random/internal/platform.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/platform.h rename to third-party/webrtc/absl/absl/random/internal/platform.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/pool_urbg.cc b/third-party/webrtc/absl/absl/random/internal/pool_urbg.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/pool_urbg.cc rename to third-party/webrtc/absl/absl/random/internal/pool_urbg.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/pool_urbg.h b/third-party/webrtc/absl/absl/random/internal/pool_urbg.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/pool_urbg.h rename to third-party/webrtc/absl/absl/random/internal/pool_urbg.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/pool_urbg_test.cc b/third-party/webrtc/absl/absl/random/internal/pool_urbg_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/pool_urbg_test.cc rename to third-party/webrtc/absl/absl/random/internal/pool_urbg_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/randen.cc b/third-party/webrtc/absl/absl/random/internal/randen.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/randen.cc rename to third-party/webrtc/absl/absl/random/internal/randen.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/randen.h b/third-party/webrtc/absl/absl/random/internal/randen.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/randen.h rename to third-party/webrtc/absl/absl/random/internal/randen.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/randen_benchmarks.cc b/third-party/webrtc/absl/absl/random/internal/randen_benchmarks.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/randen_benchmarks.cc rename to third-party/webrtc/absl/absl/random/internal/randen_benchmarks.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/randen_detect.cc b/third-party/webrtc/absl/absl/random/internal/randen_detect.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/randen_detect.cc rename to third-party/webrtc/absl/absl/random/internal/randen_detect.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/randen_detect.h b/third-party/webrtc/absl/absl/random/internal/randen_detect.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/randen_detect.h rename to third-party/webrtc/absl/absl/random/internal/randen_detect.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/randen_engine.h b/third-party/webrtc/absl/absl/random/internal/randen_engine.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/randen_engine.h rename to third-party/webrtc/absl/absl/random/internal/randen_engine.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/randen_engine_test.cc b/third-party/webrtc/absl/absl/random/internal/randen_engine_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/randen_engine_test.cc rename to third-party/webrtc/absl/absl/random/internal/randen_engine_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/randen_hwaes.cc b/third-party/webrtc/absl/absl/random/internal/randen_hwaes.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/randen_hwaes.cc rename to third-party/webrtc/absl/absl/random/internal/randen_hwaes.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/randen_hwaes.h b/third-party/webrtc/absl/absl/random/internal/randen_hwaes.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/randen_hwaes.h rename to third-party/webrtc/absl/absl/random/internal/randen_hwaes.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/randen_hwaes_test.cc b/third-party/webrtc/absl/absl/random/internal/randen_hwaes_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/randen_hwaes_test.cc rename to third-party/webrtc/absl/absl/random/internal/randen_hwaes_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/randen_round_keys.cc b/third-party/webrtc/absl/absl/random/internal/randen_round_keys.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/randen_round_keys.cc rename to third-party/webrtc/absl/absl/random/internal/randen_round_keys.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/randen_slow.cc b/third-party/webrtc/absl/absl/random/internal/randen_slow.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/randen_slow.cc rename to third-party/webrtc/absl/absl/random/internal/randen_slow.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/randen_slow.h b/third-party/webrtc/absl/absl/random/internal/randen_slow.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/randen_slow.h rename to third-party/webrtc/absl/absl/random/internal/randen_slow.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/randen_slow_test.cc b/third-party/webrtc/absl/absl/random/internal/randen_slow_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/randen_slow_test.cc rename to third-party/webrtc/absl/absl/random/internal/randen_slow_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/randen_test.cc b/third-party/webrtc/absl/absl/random/internal/randen_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/randen_test.cc rename to third-party/webrtc/absl/absl/random/internal/randen_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/randen_traits.h b/third-party/webrtc/absl/absl/random/internal/randen_traits.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/randen_traits.h rename to third-party/webrtc/absl/absl/random/internal/randen_traits.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/salted_seed_seq.h b/third-party/webrtc/absl/absl/random/internal/salted_seed_seq.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/salted_seed_seq.h rename to third-party/webrtc/absl/absl/random/internal/salted_seed_seq.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/salted_seed_seq_test.cc b/third-party/webrtc/absl/absl/random/internal/salted_seed_seq_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/salted_seed_seq_test.cc rename to third-party/webrtc/absl/absl/random/internal/salted_seed_seq_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/seed_material.cc b/third-party/webrtc/absl/absl/random/internal/seed_material.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/seed_material.cc rename to third-party/webrtc/absl/absl/random/internal/seed_material.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/seed_material.h b/third-party/webrtc/absl/absl/random/internal/seed_material.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/seed_material.h rename to third-party/webrtc/absl/absl/random/internal/seed_material.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/seed_material_test.cc b/third-party/webrtc/absl/absl/random/internal/seed_material_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/seed_material_test.cc rename to third-party/webrtc/absl/absl/random/internal/seed_material_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/sequence_urbg.h b/third-party/webrtc/absl/absl/random/internal/sequence_urbg.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/sequence_urbg.h rename to third-party/webrtc/absl/absl/random/internal/sequence_urbg.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/traits.h b/third-party/webrtc/absl/absl/random/internal/traits.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/traits.h rename to third-party/webrtc/absl/absl/random/internal/traits.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/traits_test.cc b/third-party/webrtc/absl/absl/random/internal/traits_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/traits_test.cc rename to third-party/webrtc/absl/absl/random/internal/traits_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/uniform_helper.h b/third-party/webrtc/absl/absl/random/internal/uniform_helper.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/uniform_helper.h rename to third-party/webrtc/absl/absl/random/internal/uniform_helper.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/uniform_helper_test.cc b/third-party/webrtc/absl/absl/random/internal/uniform_helper_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/uniform_helper_test.cc rename to third-party/webrtc/absl/absl/random/internal/uniform_helper_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/wide_multiply.h b/third-party/webrtc/absl/absl/random/internal/wide_multiply.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/wide_multiply.h rename to third-party/webrtc/absl/absl/random/internal/wide_multiply.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/wide_multiply_test.cc b/third-party/webrtc/absl/absl/random/internal/wide_multiply_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/random/internal/wide_multiply_test.cc rename to third-party/webrtc/absl/absl/random/internal/wide_multiply_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/random/log_uniform_int_distribution.h b/third-party/webrtc/absl/absl/random/log_uniform_int_distribution.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/random/log_uniform_int_distribution.h rename to third-party/webrtc/absl/absl/random/log_uniform_int_distribution.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/random/log_uniform_int_distribution_test.cc b/third-party/webrtc/absl/absl/random/log_uniform_int_distribution_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/random/log_uniform_int_distribution_test.cc rename to third-party/webrtc/absl/absl/random/log_uniform_int_distribution_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/random/mock_distributions.h b/third-party/webrtc/absl/absl/random/mock_distributions.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/random/mock_distributions.h rename to third-party/webrtc/absl/absl/random/mock_distributions.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/random/mock_distributions_test.cc b/third-party/webrtc/absl/absl/random/mock_distributions_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/random/mock_distributions_test.cc rename to third-party/webrtc/absl/absl/random/mock_distributions_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/random/mocking_bit_gen.h b/third-party/webrtc/absl/absl/random/mocking_bit_gen.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/random/mocking_bit_gen.h rename to third-party/webrtc/absl/absl/random/mocking_bit_gen.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/random/mocking_bit_gen_test.cc b/third-party/webrtc/absl/absl/random/mocking_bit_gen_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/random/mocking_bit_gen_test.cc rename to third-party/webrtc/absl/absl/random/mocking_bit_gen_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/random/poisson_distribution.h b/third-party/webrtc/absl/absl/random/poisson_distribution.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/random/poisson_distribution.h rename to third-party/webrtc/absl/absl/random/poisson_distribution.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/random/poisson_distribution_test.cc b/third-party/webrtc/absl/absl/random/poisson_distribution_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/random/poisson_distribution_test.cc rename to third-party/webrtc/absl/absl/random/poisson_distribution_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/random/random.h b/third-party/webrtc/absl/absl/random/random.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/random/random.h rename to third-party/webrtc/absl/absl/random/random.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/random/seed_gen_exception.cc b/third-party/webrtc/absl/absl/random/seed_gen_exception.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/random/seed_gen_exception.cc rename to third-party/webrtc/absl/absl/random/seed_gen_exception.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/random/seed_gen_exception.h b/third-party/webrtc/absl/absl/random/seed_gen_exception.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/random/seed_gen_exception.h rename to third-party/webrtc/absl/absl/random/seed_gen_exception.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/random/seed_sequences.cc b/third-party/webrtc/absl/absl/random/seed_sequences.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/random/seed_sequences.cc rename to third-party/webrtc/absl/absl/random/seed_sequences.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/random/seed_sequences.h b/third-party/webrtc/absl/absl/random/seed_sequences.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/random/seed_sequences.h rename to third-party/webrtc/absl/absl/random/seed_sequences.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/random/seed_sequences_test.cc b/third-party/webrtc/absl/absl/random/seed_sequences_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/random/seed_sequences_test.cc rename to third-party/webrtc/absl/absl/random/seed_sequences_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/random/uniform_int_distribution.h b/third-party/webrtc/absl/absl/random/uniform_int_distribution.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/random/uniform_int_distribution.h rename to third-party/webrtc/absl/absl/random/uniform_int_distribution.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/random/uniform_int_distribution_test.cc b/third-party/webrtc/absl/absl/random/uniform_int_distribution_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/random/uniform_int_distribution_test.cc rename to third-party/webrtc/absl/absl/random/uniform_int_distribution_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/random/uniform_real_distribution.h b/third-party/webrtc/absl/absl/random/uniform_real_distribution.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/random/uniform_real_distribution.h rename to third-party/webrtc/absl/absl/random/uniform_real_distribution.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/random/uniform_real_distribution_test.cc b/third-party/webrtc/absl/absl/random/uniform_real_distribution_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/random/uniform_real_distribution_test.cc rename to third-party/webrtc/absl/absl/random/uniform_real_distribution_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/random/zipf_distribution.h b/third-party/webrtc/absl/absl/random/zipf_distribution.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/random/zipf_distribution.h rename to third-party/webrtc/absl/absl/random/zipf_distribution.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/random/zipf_distribution_test.cc b/third-party/webrtc/absl/absl/random/zipf_distribution_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/random/zipf_distribution_test.cc rename to third-party/webrtc/absl/absl/random/zipf_distribution_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/status/CMakeLists.txt b/third-party/webrtc/absl/absl/status/CMakeLists.txt similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/status/CMakeLists.txt rename to third-party/webrtc/absl/absl/status/CMakeLists.txt diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/status/internal/status_internal.cc b/third-party/webrtc/absl/absl/status/internal/status_internal.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/status/internal/status_internal.cc rename to third-party/webrtc/absl/absl/status/internal/status_internal.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/status/internal/status_internal.h b/third-party/webrtc/absl/absl/status/internal/status_internal.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/status/internal/status_internal.h rename to third-party/webrtc/absl/absl/status/internal/status_internal.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/status/internal/statusor_internal.h b/third-party/webrtc/absl/absl/status/internal/statusor_internal.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/status/internal/statusor_internal.h rename to third-party/webrtc/absl/absl/status/internal/statusor_internal.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/status/status.cc b/third-party/webrtc/absl/absl/status/status.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/status/status.cc rename to third-party/webrtc/absl/absl/status/status.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/status/status.h b/third-party/webrtc/absl/absl/status/status.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/status/status.h rename to third-party/webrtc/absl/absl/status/status.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/status/status_payload_printer.cc b/third-party/webrtc/absl/absl/status/status_payload_printer.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/status/status_payload_printer.cc rename to third-party/webrtc/absl/absl/status/status_payload_printer.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/status/status_payload_printer.h b/third-party/webrtc/absl/absl/status/status_payload_printer.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/status/status_payload_printer.h rename to third-party/webrtc/absl/absl/status/status_payload_printer.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/status/status_test.cc b/third-party/webrtc/absl/absl/status/status_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/status/status_test.cc rename to third-party/webrtc/absl/absl/status/status_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/status/statusor.cc b/third-party/webrtc/absl/absl/status/statusor.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/status/statusor.cc rename to third-party/webrtc/absl/absl/status/statusor.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/status/statusor.h b/third-party/webrtc/absl/absl/status/statusor.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/status/statusor.h rename to third-party/webrtc/absl/absl/status/statusor.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/status/statusor_test.cc b/third-party/webrtc/absl/absl/status/statusor_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/status/statusor_test.cc rename to third-party/webrtc/absl/absl/status/statusor_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/CMakeLists.txt b/third-party/webrtc/absl/absl/strings/CMakeLists.txt similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/CMakeLists.txt rename to third-party/webrtc/absl/absl/strings/CMakeLists.txt diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/ascii.cc b/third-party/webrtc/absl/absl/strings/ascii.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/ascii.cc rename to third-party/webrtc/absl/absl/strings/ascii.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/ascii.h b/third-party/webrtc/absl/absl/strings/ascii.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/ascii.h rename to third-party/webrtc/absl/absl/strings/ascii.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/ascii_benchmark.cc b/third-party/webrtc/absl/absl/strings/ascii_benchmark.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/ascii_benchmark.cc rename to third-party/webrtc/absl/absl/strings/ascii_benchmark.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/ascii_test.cc b/third-party/webrtc/absl/absl/strings/ascii_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/ascii_test.cc rename to third-party/webrtc/absl/absl/strings/ascii_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/atod_manual_test.cc b/third-party/webrtc/absl/absl/strings/atod_manual_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/atod_manual_test.cc rename to third-party/webrtc/absl/absl/strings/atod_manual_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/char_formatting_test.cc b/third-party/webrtc/absl/absl/strings/char_formatting_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/char_formatting_test.cc rename to third-party/webrtc/absl/absl/strings/char_formatting_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/charconv.cc b/third-party/webrtc/absl/absl/strings/charconv.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/charconv.cc rename to third-party/webrtc/absl/absl/strings/charconv.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/charconv.h b/third-party/webrtc/absl/absl/strings/charconv.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/charconv.h rename to third-party/webrtc/absl/absl/strings/charconv.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/charconv_benchmark.cc b/third-party/webrtc/absl/absl/strings/charconv_benchmark.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/charconv_benchmark.cc rename to third-party/webrtc/absl/absl/strings/charconv_benchmark.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/charconv_test.cc b/third-party/webrtc/absl/absl/strings/charconv_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/charconv_test.cc rename to third-party/webrtc/absl/absl/strings/charconv_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/charset.h b/third-party/webrtc/absl/absl/strings/charset.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/charset.h rename to third-party/webrtc/absl/absl/strings/charset.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/charset_benchmark.cc b/third-party/webrtc/absl/absl/strings/charset_benchmark.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/charset_benchmark.cc rename to third-party/webrtc/absl/absl/strings/charset_benchmark.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/charset_test.cc b/third-party/webrtc/absl/absl/strings/charset_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/charset_test.cc rename to third-party/webrtc/absl/absl/strings/charset_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/cord.cc b/third-party/webrtc/absl/absl/strings/cord.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/cord.cc rename to third-party/webrtc/absl/absl/strings/cord.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/cord.h b/third-party/webrtc/absl/absl/strings/cord.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/cord.h rename to third-party/webrtc/absl/absl/strings/cord.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/cord_analysis.cc b/third-party/webrtc/absl/absl/strings/cord_analysis.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/cord_analysis.cc rename to third-party/webrtc/absl/absl/strings/cord_analysis.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/cord_analysis.h b/third-party/webrtc/absl/absl/strings/cord_analysis.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/cord_analysis.h rename to third-party/webrtc/absl/absl/strings/cord_analysis.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/cord_buffer.cc b/third-party/webrtc/absl/absl/strings/cord_buffer.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/cord_buffer.cc rename to third-party/webrtc/absl/absl/strings/cord_buffer.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/cord_buffer.h b/third-party/webrtc/absl/absl/strings/cord_buffer.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/cord_buffer.h rename to third-party/webrtc/absl/absl/strings/cord_buffer.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/cord_buffer_test.cc b/third-party/webrtc/absl/absl/strings/cord_buffer_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/cord_buffer_test.cc rename to third-party/webrtc/absl/absl/strings/cord_buffer_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/cord_test.cc b/third-party/webrtc/absl/absl/strings/cord_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/cord_test.cc rename to third-party/webrtc/absl/absl/strings/cord_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/cord_test_helpers.h b/third-party/webrtc/absl/absl/strings/cord_test_helpers.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/cord_test_helpers.h rename to third-party/webrtc/absl/absl/strings/cord_test_helpers.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/cordz_test.cc b/third-party/webrtc/absl/absl/strings/cordz_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/cordz_test.cc rename to third-party/webrtc/absl/absl/strings/cordz_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/cordz_test_helpers.h b/third-party/webrtc/absl/absl/strings/cordz_test_helpers.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/cordz_test_helpers.h rename to third-party/webrtc/absl/absl/strings/cordz_test_helpers.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/escaping.cc b/third-party/webrtc/absl/absl/strings/escaping.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/escaping.cc rename to third-party/webrtc/absl/absl/strings/escaping.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/escaping.h b/third-party/webrtc/absl/absl/strings/escaping.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/escaping.h rename to third-party/webrtc/absl/absl/strings/escaping.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/escaping_benchmark.cc b/third-party/webrtc/absl/absl/strings/escaping_benchmark.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/escaping_benchmark.cc rename to third-party/webrtc/absl/absl/strings/escaping_benchmark.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/escaping_test.cc b/third-party/webrtc/absl/absl/strings/escaping_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/escaping_test.cc rename to third-party/webrtc/absl/absl/strings/escaping_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/has_absl_stringify.h b/third-party/webrtc/absl/absl/strings/has_absl_stringify.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/has_absl_stringify.h rename to third-party/webrtc/absl/absl/strings/has_absl_stringify.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/has_absl_stringify_test.cc b/third-party/webrtc/absl/absl/strings/has_absl_stringify_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/has_absl_stringify_test.cc rename to third-party/webrtc/absl/absl/strings/has_absl_stringify_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/has_ostream_operator.h b/third-party/webrtc/absl/absl/strings/has_ostream_operator.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/has_ostream_operator.h rename to third-party/webrtc/absl/absl/strings/has_ostream_operator.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/has_ostream_operator_test.cc b/third-party/webrtc/absl/absl/strings/has_ostream_operator_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/has_ostream_operator_test.cc rename to third-party/webrtc/absl/absl/strings/has_ostream_operator_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/charconv_bigint.cc b/third-party/webrtc/absl/absl/strings/internal/charconv_bigint.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/charconv_bigint.cc rename to third-party/webrtc/absl/absl/strings/internal/charconv_bigint.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/charconv_bigint.h b/third-party/webrtc/absl/absl/strings/internal/charconv_bigint.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/charconv_bigint.h rename to third-party/webrtc/absl/absl/strings/internal/charconv_bigint.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/charconv_bigint_test.cc b/third-party/webrtc/absl/absl/strings/internal/charconv_bigint_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/charconv_bigint_test.cc rename to third-party/webrtc/absl/absl/strings/internal/charconv_bigint_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/charconv_parse.cc b/third-party/webrtc/absl/absl/strings/internal/charconv_parse.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/charconv_parse.cc rename to third-party/webrtc/absl/absl/strings/internal/charconv_parse.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/charconv_parse.h b/third-party/webrtc/absl/absl/strings/internal/charconv_parse.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/charconv_parse.h rename to third-party/webrtc/absl/absl/strings/internal/charconv_parse.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/charconv_parse_test.cc b/third-party/webrtc/absl/absl/strings/internal/charconv_parse_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/charconv_parse_test.cc rename to third-party/webrtc/absl/absl/strings/internal/charconv_parse_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/cord_data_edge.h b/third-party/webrtc/absl/absl/strings/internal/cord_data_edge.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/cord_data_edge.h rename to third-party/webrtc/absl/absl/strings/internal/cord_data_edge.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/cord_data_edge_test.cc b/third-party/webrtc/absl/absl/strings/internal/cord_data_edge_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/cord_data_edge_test.cc rename to third-party/webrtc/absl/absl/strings/internal/cord_data_edge_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/cord_internal.cc b/third-party/webrtc/absl/absl/strings/internal/cord_internal.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/cord_internal.cc rename to third-party/webrtc/absl/absl/strings/internal/cord_internal.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/cord_internal.h b/third-party/webrtc/absl/absl/strings/internal/cord_internal.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/cord_internal.h rename to third-party/webrtc/absl/absl/strings/internal/cord_internal.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree.cc b/third-party/webrtc/absl/absl/strings/internal/cord_rep_btree.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree.cc rename to third-party/webrtc/absl/absl/strings/internal/cord_rep_btree.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree.h b/third-party/webrtc/absl/absl/strings/internal/cord_rep_btree.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree.h rename to third-party/webrtc/absl/absl/strings/internal/cord_rep_btree.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree_navigator.cc b/third-party/webrtc/absl/absl/strings/internal/cord_rep_btree_navigator.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree_navigator.cc rename to third-party/webrtc/absl/absl/strings/internal/cord_rep_btree_navigator.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree_navigator.h b/third-party/webrtc/absl/absl/strings/internal/cord_rep_btree_navigator.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree_navigator.h rename to third-party/webrtc/absl/absl/strings/internal/cord_rep_btree_navigator.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree_navigator_test.cc b/third-party/webrtc/absl/absl/strings/internal/cord_rep_btree_navigator_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree_navigator_test.cc rename to third-party/webrtc/absl/absl/strings/internal/cord_rep_btree_navigator_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree_reader.cc b/third-party/webrtc/absl/absl/strings/internal/cord_rep_btree_reader.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree_reader.cc rename to third-party/webrtc/absl/absl/strings/internal/cord_rep_btree_reader.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree_reader.h b/third-party/webrtc/absl/absl/strings/internal/cord_rep_btree_reader.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree_reader.h rename to third-party/webrtc/absl/absl/strings/internal/cord_rep_btree_reader.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree_reader_test.cc b/third-party/webrtc/absl/absl/strings/internal/cord_rep_btree_reader_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree_reader_test.cc rename to third-party/webrtc/absl/absl/strings/internal/cord_rep_btree_reader_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree_test.cc b/third-party/webrtc/absl/absl/strings/internal/cord_rep_btree_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree_test.cc rename to third-party/webrtc/absl/absl/strings/internal/cord_rep_btree_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/cord_rep_consume.cc b/third-party/webrtc/absl/absl/strings/internal/cord_rep_consume.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/cord_rep_consume.cc rename to third-party/webrtc/absl/absl/strings/internal/cord_rep_consume.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/cord_rep_consume.h b/third-party/webrtc/absl/absl/strings/internal/cord_rep_consume.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/cord_rep_consume.h rename to third-party/webrtc/absl/absl/strings/internal/cord_rep_consume.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/cord_rep_crc.cc b/third-party/webrtc/absl/absl/strings/internal/cord_rep_crc.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/cord_rep_crc.cc rename to third-party/webrtc/absl/absl/strings/internal/cord_rep_crc.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/cord_rep_crc.h b/third-party/webrtc/absl/absl/strings/internal/cord_rep_crc.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/cord_rep_crc.h rename to third-party/webrtc/absl/absl/strings/internal/cord_rep_crc.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/cord_rep_crc_test.cc b/third-party/webrtc/absl/absl/strings/internal/cord_rep_crc_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/cord_rep_crc_test.cc rename to third-party/webrtc/absl/absl/strings/internal/cord_rep_crc_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/cord_rep_flat.h b/third-party/webrtc/absl/absl/strings/internal/cord_rep_flat.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/cord_rep_flat.h rename to third-party/webrtc/absl/absl/strings/internal/cord_rep_flat.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/cord_rep_test_util.h b/third-party/webrtc/absl/absl/strings/internal/cord_rep_test_util.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/cord_rep_test_util.h rename to third-party/webrtc/absl/absl/strings/internal/cord_rep_test_util.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/cordz_functions.cc b/third-party/webrtc/absl/absl/strings/internal/cordz_functions.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/cordz_functions.cc rename to third-party/webrtc/absl/absl/strings/internal/cordz_functions.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/cordz_functions.h b/third-party/webrtc/absl/absl/strings/internal/cordz_functions.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/cordz_functions.h rename to third-party/webrtc/absl/absl/strings/internal/cordz_functions.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/cordz_functions_test.cc b/third-party/webrtc/absl/absl/strings/internal/cordz_functions_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/cordz_functions_test.cc rename to third-party/webrtc/absl/absl/strings/internal/cordz_functions_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/cordz_handle.cc b/third-party/webrtc/absl/absl/strings/internal/cordz_handle.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/cordz_handle.cc rename to third-party/webrtc/absl/absl/strings/internal/cordz_handle.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/cordz_handle.h b/third-party/webrtc/absl/absl/strings/internal/cordz_handle.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/cordz_handle.h rename to third-party/webrtc/absl/absl/strings/internal/cordz_handle.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/cordz_handle_test.cc b/third-party/webrtc/absl/absl/strings/internal/cordz_handle_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/cordz_handle_test.cc rename to third-party/webrtc/absl/absl/strings/internal/cordz_handle_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/cordz_info.cc b/third-party/webrtc/absl/absl/strings/internal/cordz_info.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/cordz_info.cc rename to third-party/webrtc/absl/absl/strings/internal/cordz_info.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/cordz_info.h b/third-party/webrtc/absl/absl/strings/internal/cordz_info.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/cordz_info.h rename to third-party/webrtc/absl/absl/strings/internal/cordz_info.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/cordz_info_statistics_test.cc b/third-party/webrtc/absl/absl/strings/internal/cordz_info_statistics_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/cordz_info_statistics_test.cc rename to third-party/webrtc/absl/absl/strings/internal/cordz_info_statistics_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/cordz_info_test.cc b/third-party/webrtc/absl/absl/strings/internal/cordz_info_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/cordz_info_test.cc rename to third-party/webrtc/absl/absl/strings/internal/cordz_info_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/cordz_sample_token.cc b/third-party/webrtc/absl/absl/strings/internal/cordz_sample_token.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/cordz_sample_token.cc rename to third-party/webrtc/absl/absl/strings/internal/cordz_sample_token.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/cordz_sample_token.h b/third-party/webrtc/absl/absl/strings/internal/cordz_sample_token.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/cordz_sample_token.h rename to third-party/webrtc/absl/absl/strings/internal/cordz_sample_token.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/cordz_sample_token_test.cc b/third-party/webrtc/absl/absl/strings/internal/cordz_sample_token_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/cordz_sample_token_test.cc rename to third-party/webrtc/absl/absl/strings/internal/cordz_sample_token_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/cordz_statistics.h b/third-party/webrtc/absl/absl/strings/internal/cordz_statistics.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/cordz_statistics.h rename to third-party/webrtc/absl/absl/strings/internal/cordz_statistics.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/cordz_update_scope.h b/third-party/webrtc/absl/absl/strings/internal/cordz_update_scope.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/cordz_update_scope.h rename to third-party/webrtc/absl/absl/strings/internal/cordz_update_scope.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/cordz_update_scope_test.cc b/third-party/webrtc/absl/absl/strings/internal/cordz_update_scope_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/cordz_update_scope_test.cc rename to third-party/webrtc/absl/absl/strings/internal/cordz_update_scope_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/cordz_update_tracker.h b/third-party/webrtc/absl/absl/strings/internal/cordz_update_tracker.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/cordz_update_tracker.h rename to third-party/webrtc/absl/absl/strings/internal/cordz_update_tracker.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/cordz_update_tracker_test.cc b/third-party/webrtc/absl/absl/strings/internal/cordz_update_tracker_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/cordz_update_tracker_test.cc rename to third-party/webrtc/absl/absl/strings/internal/cordz_update_tracker_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/damerau_levenshtein_distance.cc b/third-party/webrtc/absl/absl/strings/internal/damerau_levenshtein_distance.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/damerau_levenshtein_distance.cc rename to third-party/webrtc/absl/absl/strings/internal/damerau_levenshtein_distance.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/damerau_levenshtein_distance.h b/third-party/webrtc/absl/absl/strings/internal/damerau_levenshtein_distance.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/damerau_levenshtein_distance.h rename to third-party/webrtc/absl/absl/strings/internal/damerau_levenshtein_distance.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/damerau_levenshtein_distance_test.cc b/third-party/webrtc/absl/absl/strings/internal/damerau_levenshtein_distance_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/damerau_levenshtein_distance_test.cc rename to third-party/webrtc/absl/absl/strings/internal/damerau_levenshtein_distance_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/escaping.cc b/third-party/webrtc/absl/absl/strings/internal/escaping.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/escaping.cc rename to third-party/webrtc/absl/absl/strings/internal/escaping.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/escaping.h b/third-party/webrtc/absl/absl/strings/internal/escaping.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/escaping.h rename to third-party/webrtc/absl/absl/strings/internal/escaping.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/escaping_test_common.h b/third-party/webrtc/absl/absl/strings/internal/escaping_test_common.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/escaping_test_common.h rename to third-party/webrtc/absl/absl/strings/internal/escaping_test_common.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/has_absl_stringify.h b/third-party/webrtc/absl/absl/strings/internal/has_absl_stringify.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/has_absl_stringify.h rename to third-party/webrtc/absl/absl/strings/internal/has_absl_stringify.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/memutil.cc b/third-party/webrtc/absl/absl/strings/internal/memutil.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/memutil.cc rename to third-party/webrtc/absl/absl/strings/internal/memutil.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/memutil.h b/third-party/webrtc/absl/absl/strings/internal/memutil.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/memutil.h rename to third-party/webrtc/absl/absl/strings/internal/memutil.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/memutil_benchmark.cc b/third-party/webrtc/absl/absl/strings/internal/memutil_benchmark.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/memutil_benchmark.cc rename to third-party/webrtc/absl/absl/strings/internal/memutil_benchmark.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/memutil_test.cc b/third-party/webrtc/absl/absl/strings/internal/memutil_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/memutil_test.cc rename to third-party/webrtc/absl/absl/strings/internal/memutil_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/numbers_test_common.h b/third-party/webrtc/absl/absl/strings/internal/numbers_test_common.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/numbers_test_common.h rename to third-party/webrtc/absl/absl/strings/internal/numbers_test_common.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/ostringstream.cc b/third-party/webrtc/absl/absl/strings/internal/ostringstream.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/ostringstream.cc rename to third-party/webrtc/absl/absl/strings/internal/ostringstream.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/ostringstream.h b/third-party/webrtc/absl/absl/strings/internal/ostringstream.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/ostringstream.h rename to third-party/webrtc/absl/absl/strings/internal/ostringstream.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/ostringstream_benchmark.cc b/third-party/webrtc/absl/absl/strings/internal/ostringstream_benchmark.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/ostringstream_benchmark.cc rename to third-party/webrtc/absl/absl/strings/internal/ostringstream_benchmark.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/ostringstream_test.cc b/third-party/webrtc/absl/absl/strings/internal/ostringstream_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/ostringstream_test.cc rename to third-party/webrtc/absl/absl/strings/internal/ostringstream_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/pow10_helper.cc b/third-party/webrtc/absl/absl/strings/internal/pow10_helper.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/pow10_helper.cc rename to third-party/webrtc/absl/absl/strings/internal/pow10_helper.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/pow10_helper.h b/third-party/webrtc/absl/absl/strings/internal/pow10_helper.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/pow10_helper.h rename to third-party/webrtc/absl/absl/strings/internal/pow10_helper.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/pow10_helper_test.cc b/third-party/webrtc/absl/absl/strings/internal/pow10_helper_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/pow10_helper_test.cc rename to third-party/webrtc/absl/absl/strings/internal/pow10_helper_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/resize_uninitialized.h b/third-party/webrtc/absl/absl/strings/internal/resize_uninitialized.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/resize_uninitialized.h rename to third-party/webrtc/absl/absl/strings/internal/resize_uninitialized.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/resize_uninitialized_test.cc b/third-party/webrtc/absl/absl/strings/internal/resize_uninitialized_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/resize_uninitialized_test.cc rename to third-party/webrtc/absl/absl/strings/internal/resize_uninitialized_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/stl_type_traits.h b/third-party/webrtc/absl/absl/strings/internal/stl_type_traits.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/stl_type_traits.h rename to third-party/webrtc/absl/absl/strings/internal/stl_type_traits.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/str_format/arg.cc b/third-party/webrtc/absl/absl/strings/internal/str_format/arg.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/str_format/arg.cc rename to third-party/webrtc/absl/absl/strings/internal/str_format/arg.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/str_format/arg.h b/third-party/webrtc/absl/absl/strings/internal/str_format/arg.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/str_format/arg.h rename to third-party/webrtc/absl/absl/strings/internal/str_format/arg.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/str_format/arg_test.cc b/third-party/webrtc/absl/absl/strings/internal/str_format/arg_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/str_format/arg_test.cc rename to third-party/webrtc/absl/absl/strings/internal/str_format/arg_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/str_format/bind.cc b/third-party/webrtc/absl/absl/strings/internal/str_format/bind.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/str_format/bind.cc rename to third-party/webrtc/absl/absl/strings/internal/str_format/bind.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/str_format/bind.h b/third-party/webrtc/absl/absl/strings/internal/str_format/bind.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/str_format/bind.h rename to third-party/webrtc/absl/absl/strings/internal/str_format/bind.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/str_format/bind_test.cc b/third-party/webrtc/absl/absl/strings/internal/str_format/bind_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/str_format/bind_test.cc rename to third-party/webrtc/absl/absl/strings/internal/str_format/bind_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/str_format/checker.h b/third-party/webrtc/absl/absl/strings/internal/str_format/checker.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/str_format/checker.h rename to third-party/webrtc/absl/absl/strings/internal/str_format/checker.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/str_format/checker_test.cc b/third-party/webrtc/absl/absl/strings/internal/str_format/checker_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/str_format/checker_test.cc rename to third-party/webrtc/absl/absl/strings/internal/str_format/checker_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/str_format/constexpr_parser.h b/third-party/webrtc/absl/absl/strings/internal/str_format/constexpr_parser.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/str_format/constexpr_parser.h rename to third-party/webrtc/absl/absl/strings/internal/str_format/constexpr_parser.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/str_format/convert_test.cc b/third-party/webrtc/absl/absl/strings/internal/str_format/convert_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/str_format/convert_test.cc rename to third-party/webrtc/absl/absl/strings/internal/str_format/convert_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/str_format/extension.cc b/third-party/webrtc/absl/absl/strings/internal/str_format/extension.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/str_format/extension.cc rename to third-party/webrtc/absl/absl/strings/internal/str_format/extension.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/str_format/extension.h b/third-party/webrtc/absl/absl/strings/internal/str_format/extension.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/str_format/extension.h rename to third-party/webrtc/absl/absl/strings/internal/str_format/extension.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/str_format/extension_test.cc b/third-party/webrtc/absl/absl/strings/internal/str_format/extension_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/str_format/extension_test.cc rename to third-party/webrtc/absl/absl/strings/internal/str_format/extension_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/str_format/float_conversion.cc b/third-party/webrtc/absl/absl/strings/internal/str_format/float_conversion.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/str_format/float_conversion.cc rename to third-party/webrtc/absl/absl/strings/internal/str_format/float_conversion.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/str_format/float_conversion.h b/third-party/webrtc/absl/absl/strings/internal/str_format/float_conversion.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/str_format/float_conversion.h rename to third-party/webrtc/absl/absl/strings/internal/str_format/float_conversion.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/str_format/output.cc b/third-party/webrtc/absl/absl/strings/internal/str_format/output.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/str_format/output.cc rename to third-party/webrtc/absl/absl/strings/internal/str_format/output.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/str_format/output.h b/third-party/webrtc/absl/absl/strings/internal/str_format/output.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/str_format/output.h rename to third-party/webrtc/absl/absl/strings/internal/str_format/output.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/str_format/output_test.cc b/third-party/webrtc/absl/absl/strings/internal/str_format/output_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/str_format/output_test.cc rename to third-party/webrtc/absl/absl/strings/internal/str_format/output_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/str_format/parser.cc b/third-party/webrtc/absl/absl/strings/internal/str_format/parser.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/str_format/parser.cc rename to third-party/webrtc/absl/absl/strings/internal/str_format/parser.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/str_format/parser.h b/third-party/webrtc/absl/absl/strings/internal/str_format/parser.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/str_format/parser.h rename to third-party/webrtc/absl/absl/strings/internal/str_format/parser.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/str_format/parser_test.cc b/third-party/webrtc/absl/absl/strings/internal/str_format/parser_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/str_format/parser_test.cc rename to third-party/webrtc/absl/absl/strings/internal/str_format/parser_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/str_join_internal.h b/third-party/webrtc/absl/absl/strings/internal/str_join_internal.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/str_join_internal.h rename to third-party/webrtc/absl/absl/strings/internal/str_join_internal.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/str_split_internal.h b/third-party/webrtc/absl/absl/strings/internal/str_split_internal.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/str_split_internal.h rename to third-party/webrtc/absl/absl/strings/internal/str_split_internal.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/string_constant.h b/third-party/webrtc/absl/absl/strings/internal/string_constant.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/string_constant.h rename to third-party/webrtc/absl/absl/strings/internal/string_constant.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/string_constant_test.cc b/third-party/webrtc/absl/absl/strings/internal/string_constant_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/string_constant_test.cc rename to third-party/webrtc/absl/absl/strings/internal/string_constant_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/stringify_sink.cc b/third-party/webrtc/absl/absl/strings/internal/stringify_sink.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/stringify_sink.cc rename to third-party/webrtc/absl/absl/strings/internal/stringify_sink.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/stringify_sink.h b/third-party/webrtc/absl/absl/strings/internal/stringify_sink.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/stringify_sink.h rename to third-party/webrtc/absl/absl/strings/internal/stringify_sink.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/utf8.cc b/third-party/webrtc/absl/absl/strings/internal/utf8.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/utf8.cc rename to third-party/webrtc/absl/absl/strings/internal/utf8.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/utf8.h b/third-party/webrtc/absl/absl/strings/internal/utf8.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/utf8.h rename to third-party/webrtc/absl/absl/strings/internal/utf8.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/utf8_test.cc b/third-party/webrtc/absl/absl/strings/internal/utf8_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/internal/utf8_test.cc rename to third-party/webrtc/absl/absl/strings/internal/utf8_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/match.cc b/third-party/webrtc/absl/absl/strings/match.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/match.cc rename to third-party/webrtc/absl/absl/strings/match.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/match.h b/third-party/webrtc/absl/absl/strings/match.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/match.h rename to third-party/webrtc/absl/absl/strings/match.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/match_test.cc b/third-party/webrtc/absl/absl/strings/match_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/match_test.cc rename to third-party/webrtc/absl/absl/strings/match_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/numbers.cc b/third-party/webrtc/absl/absl/strings/numbers.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/numbers.cc rename to third-party/webrtc/absl/absl/strings/numbers.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/numbers.h b/third-party/webrtc/absl/absl/strings/numbers.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/numbers.h rename to third-party/webrtc/absl/absl/strings/numbers.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/numbers_benchmark.cc b/third-party/webrtc/absl/absl/strings/numbers_benchmark.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/numbers_benchmark.cc rename to third-party/webrtc/absl/absl/strings/numbers_benchmark.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/numbers_test.cc b/third-party/webrtc/absl/absl/strings/numbers_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/numbers_test.cc rename to third-party/webrtc/absl/absl/strings/numbers_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/str_cat.cc b/third-party/webrtc/absl/absl/strings/str_cat.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/str_cat.cc rename to third-party/webrtc/absl/absl/strings/str_cat.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/str_cat.h b/third-party/webrtc/absl/absl/strings/str_cat.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/str_cat.h rename to third-party/webrtc/absl/absl/strings/str_cat.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/str_cat_benchmark.cc b/third-party/webrtc/absl/absl/strings/str_cat_benchmark.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/str_cat_benchmark.cc rename to third-party/webrtc/absl/absl/strings/str_cat_benchmark.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/str_cat_test.cc b/third-party/webrtc/absl/absl/strings/str_cat_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/str_cat_test.cc rename to third-party/webrtc/absl/absl/strings/str_cat_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/str_format.h b/third-party/webrtc/absl/absl/strings/str_format.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/str_format.h rename to third-party/webrtc/absl/absl/strings/str_format.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/str_format_test.cc b/third-party/webrtc/absl/absl/strings/str_format_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/str_format_test.cc rename to third-party/webrtc/absl/absl/strings/str_format_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/str_join.h b/third-party/webrtc/absl/absl/strings/str_join.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/str_join.h rename to third-party/webrtc/absl/absl/strings/str_join.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/str_join_benchmark.cc b/third-party/webrtc/absl/absl/strings/str_join_benchmark.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/str_join_benchmark.cc rename to third-party/webrtc/absl/absl/strings/str_join_benchmark.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/str_join_test.cc b/third-party/webrtc/absl/absl/strings/str_join_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/str_join_test.cc rename to third-party/webrtc/absl/absl/strings/str_join_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/str_replace.cc b/third-party/webrtc/absl/absl/strings/str_replace.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/str_replace.cc rename to third-party/webrtc/absl/absl/strings/str_replace.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/str_replace.h b/third-party/webrtc/absl/absl/strings/str_replace.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/str_replace.h rename to third-party/webrtc/absl/absl/strings/str_replace.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/str_replace_benchmark.cc b/third-party/webrtc/absl/absl/strings/str_replace_benchmark.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/str_replace_benchmark.cc rename to third-party/webrtc/absl/absl/strings/str_replace_benchmark.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/str_replace_test.cc b/third-party/webrtc/absl/absl/strings/str_replace_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/str_replace_test.cc rename to third-party/webrtc/absl/absl/strings/str_replace_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/str_split.cc b/third-party/webrtc/absl/absl/strings/str_split.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/str_split.cc rename to third-party/webrtc/absl/absl/strings/str_split.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/str_split.h b/third-party/webrtc/absl/absl/strings/str_split.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/str_split.h rename to third-party/webrtc/absl/absl/strings/str_split.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/str_split_benchmark.cc b/third-party/webrtc/absl/absl/strings/str_split_benchmark.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/str_split_benchmark.cc rename to third-party/webrtc/absl/absl/strings/str_split_benchmark.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/str_split_test.cc b/third-party/webrtc/absl/absl/strings/str_split_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/str_split_test.cc rename to third-party/webrtc/absl/absl/strings/str_split_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/string_view.cc b/third-party/webrtc/absl/absl/strings/string_view.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/string_view.cc rename to third-party/webrtc/absl/absl/strings/string_view.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/string_view.h b/third-party/webrtc/absl/absl/strings/string_view.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/string_view.h rename to third-party/webrtc/absl/absl/strings/string_view.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/string_view_benchmark.cc b/third-party/webrtc/absl/absl/strings/string_view_benchmark.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/string_view_benchmark.cc rename to third-party/webrtc/absl/absl/strings/string_view_benchmark.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/string_view_test.cc b/third-party/webrtc/absl/absl/strings/string_view_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/string_view_test.cc rename to third-party/webrtc/absl/absl/strings/string_view_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/strip.h b/third-party/webrtc/absl/absl/strings/strip.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/strip.h rename to third-party/webrtc/absl/absl/strings/strip.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/strip_test.cc b/third-party/webrtc/absl/absl/strings/strip_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/strip_test.cc rename to third-party/webrtc/absl/absl/strings/strip_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/substitute.cc b/third-party/webrtc/absl/absl/strings/substitute.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/substitute.cc rename to third-party/webrtc/absl/absl/strings/substitute.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/substitute.h b/third-party/webrtc/absl/absl/strings/substitute.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/substitute.h rename to third-party/webrtc/absl/absl/strings/substitute.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/substitute_test.cc b/third-party/webrtc/absl/absl/strings/substitute_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/strings/substitute_test.cc rename to third-party/webrtc/absl/absl/strings/substitute_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/synchronization/CMakeLists.txt b/third-party/webrtc/absl/absl/synchronization/CMakeLists.txt similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/synchronization/CMakeLists.txt rename to third-party/webrtc/absl/absl/synchronization/CMakeLists.txt diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/synchronization/barrier.cc b/third-party/webrtc/absl/absl/synchronization/barrier.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/synchronization/barrier.cc rename to third-party/webrtc/absl/absl/synchronization/barrier.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/synchronization/barrier.h b/third-party/webrtc/absl/absl/synchronization/barrier.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/synchronization/barrier.h rename to third-party/webrtc/absl/absl/synchronization/barrier.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/synchronization/barrier_test.cc b/third-party/webrtc/absl/absl/synchronization/barrier_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/synchronization/barrier_test.cc rename to third-party/webrtc/absl/absl/synchronization/barrier_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/synchronization/blocking_counter.cc b/third-party/webrtc/absl/absl/synchronization/blocking_counter.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/synchronization/blocking_counter.cc rename to third-party/webrtc/absl/absl/synchronization/blocking_counter.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/synchronization/blocking_counter.h b/third-party/webrtc/absl/absl/synchronization/blocking_counter.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/synchronization/blocking_counter.h rename to third-party/webrtc/absl/absl/synchronization/blocking_counter.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/synchronization/blocking_counter_benchmark.cc b/third-party/webrtc/absl/absl/synchronization/blocking_counter_benchmark.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/synchronization/blocking_counter_benchmark.cc rename to third-party/webrtc/absl/absl/synchronization/blocking_counter_benchmark.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/synchronization/blocking_counter_test.cc b/third-party/webrtc/absl/absl/synchronization/blocking_counter_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/synchronization/blocking_counter_test.cc rename to third-party/webrtc/absl/absl/synchronization/blocking_counter_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/synchronization/internal/create_thread_identity.cc b/third-party/webrtc/absl/absl/synchronization/internal/create_thread_identity.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/synchronization/internal/create_thread_identity.cc rename to third-party/webrtc/absl/absl/synchronization/internal/create_thread_identity.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/synchronization/internal/create_thread_identity.h b/third-party/webrtc/absl/absl/synchronization/internal/create_thread_identity.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/synchronization/internal/create_thread_identity.h rename to third-party/webrtc/absl/absl/synchronization/internal/create_thread_identity.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/synchronization/internal/futex.h b/third-party/webrtc/absl/absl/synchronization/internal/futex.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/synchronization/internal/futex.h rename to third-party/webrtc/absl/absl/synchronization/internal/futex.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/synchronization/internal/futex_waiter.cc b/third-party/webrtc/absl/absl/synchronization/internal/futex_waiter.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/synchronization/internal/futex_waiter.cc rename to third-party/webrtc/absl/absl/synchronization/internal/futex_waiter.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/synchronization/internal/futex_waiter.h b/third-party/webrtc/absl/absl/synchronization/internal/futex_waiter.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/synchronization/internal/futex_waiter.h rename to third-party/webrtc/absl/absl/synchronization/internal/futex_waiter.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/synchronization/internal/graphcycles.cc b/third-party/webrtc/absl/absl/synchronization/internal/graphcycles.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/synchronization/internal/graphcycles.cc rename to third-party/webrtc/absl/absl/synchronization/internal/graphcycles.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/synchronization/internal/graphcycles.h b/third-party/webrtc/absl/absl/synchronization/internal/graphcycles.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/synchronization/internal/graphcycles.h rename to third-party/webrtc/absl/absl/synchronization/internal/graphcycles.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/synchronization/internal/graphcycles_benchmark.cc b/third-party/webrtc/absl/absl/synchronization/internal/graphcycles_benchmark.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/synchronization/internal/graphcycles_benchmark.cc rename to third-party/webrtc/absl/absl/synchronization/internal/graphcycles_benchmark.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/synchronization/internal/graphcycles_test.cc b/third-party/webrtc/absl/absl/synchronization/internal/graphcycles_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/synchronization/internal/graphcycles_test.cc rename to third-party/webrtc/absl/absl/synchronization/internal/graphcycles_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/synchronization/internal/kernel_timeout.cc b/third-party/webrtc/absl/absl/synchronization/internal/kernel_timeout.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/synchronization/internal/kernel_timeout.cc rename to third-party/webrtc/absl/absl/synchronization/internal/kernel_timeout.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/synchronization/internal/kernel_timeout.h b/third-party/webrtc/absl/absl/synchronization/internal/kernel_timeout.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/synchronization/internal/kernel_timeout.h rename to third-party/webrtc/absl/absl/synchronization/internal/kernel_timeout.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/synchronization/internal/kernel_timeout_test.cc b/third-party/webrtc/absl/absl/synchronization/internal/kernel_timeout_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/synchronization/internal/kernel_timeout_test.cc rename to third-party/webrtc/absl/absl/synchronization/internal/kernel_timeout_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/synchronization/internal/per_thread_sem.cc b/third-party/webrtc/absl/absl/synchronization/internal/per_thread_sem.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/synchronization/internal/per_thread_sem.cc rename to third-party/webrtc/absl/absl/synchronization/internal/per_thread_sem.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/synchronization/internal/per_thread_sem.h b/third-party/webrtc/absl/absl/synchronization/internal/per_thread_sem.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/synchronization/internal/per_thread_sem.h rename to third-party/webrtc/absl/absl/synchronization/internal/per_thread_sem.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/synchronization/internal/per_thread_sem_test.cc b/third-party/webrtc/absl/absl/synchronization/internal/per_thread_sem_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/synchronization/internal/per_thread_sem_test.cc rename to third-party/webrtc/absl/absl/synchronization/internal/per_thread_sem_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/synchronization/internal/pthread_waiter.cc b/third-party/webrtc/absl/absl/synchronization/internal/pthread_waiter.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/synchronization/internal/pthread_waiter.cc rename to third-party/webrtc/absl/absl/synchronization/internal/pthread_waiter.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/synchronization/internal/pthread_waiter.h b/third-party/webrtc/absl/absl/synchronization/internal/pthread_waiter.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/synchronization/internal/pthread_waiter.h rename to third-party/webrtc/absl/absl/synchronization/internal/pthread_waiter.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/synchronization/internal/sem_waiter.cc b/third-party/webrtc/absl/absl/synchronization/internal/sem_waiter.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/synchronization/internal/sem_waiter.cc rename to third-party/webrtc/absl/absl/synchronization/internal/sem_waiter.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/synchronization/internal/sem_waiter.h b/third-party/webrtc/absl/absl/synchronization/internal/sem_waiter.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/synchronization/internal/sem_waiter.h rename to third-party/webrtc/absl/absl/synchronization/internal/sem_waiter.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/synchronization/internal/stdcpp_waiter.cc b/third-party/webrtc/absl/absl/synchronization/internal/stdcpp_waiter.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/synchronization/internal/stdcpp_waiter.cc rename to third-party/webrtc/absl/absl/synchronization/internal/stdcpp_waiter.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/synchronization/internal/stdcpp_waiter.h b/third-party/webrtc/absl/absl/synchronization/internal/stdcpp_waiter.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/synchronization/internal/stdcpp_waiter.h rename to third-party/webrtc/absl/absl/synchronization/internal/stdcpp_waiter.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/synchronization/internal/thread_pool.h b/third-party/webrtc/absl/absl/synchronization/internal/thread_pool.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/synchronization/internal/thread_pool.h rename to third-party/webrtc/absl/absl/synchronization/internal/thread_pool.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/synchronization/internal/waiter.h b/third-party/webrtc/absl/absl/synchronization/internal/waiter.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/synchronization/internal/waiter.h rename to third-party/webrtc/absl/absl/synchronization/internal/waiter.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/synchronization/internal/waiter_base.cc b/third-party/webrtc/absl/absl/synchronization/internal/waiter_base.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/synchronization/internal/waiter_base.cc rename to third-party/webrtc/absl/absl/synchronization/internal/waiter_base.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/synchronization/internal/waiter_base.h b/third-party/webrtc/absl/absl/synchronization/internal/waiter_base.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/synchronization/internal/waiter_base.h rename to third-party/webrtc/absl/absl/synchronization/internal/waiter_base.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/synchronization/internal/waiter_test.cc b/third-party/webrtc/absl/absl/synchronization/internal/waiter_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/synchronization/internal/waiter_test.cc rename to third-party/webrtc/absl/absl/synchronization/internal/waiter_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/synchronization/internal/win32_waiter.cc b/third-party/webrtc/absl/absl/synchronization/internal/win32_waiter.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/synchronization/internal/win32_waiter.cc rename to third-party/webrtc/absl/absl/synchronization/internal/win32_waiter.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/synchronization/internal/win32_waiter.h b/third-party/webrtc/absl/absl/synchronization/internal/win32_waiter.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/synchronization/internal/win32_waiter.h rename to third-party/webrtc/absl/absl/synchronization/internal/win32_waiter.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/synchronization/lifetime_test.cc b/third-party/webrtc/absl/absl/synchronization/lifetime_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/synchronization/lifetime_test.cc rename to third-party/webrtc/absl/absl/synchronization/lifetime_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/synchronization/mutex.cc b/third-party/webrtc/absl/absl/synchronization/mutex.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/synchronization/mutex.cc rename to third-party/webrtc/absl/absl/synchronization/mutex.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/synchronization/mutex.h b/third-party/webrtc/absl/absl/synchronization/mutex.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/synchronization/mutex.h rename to third-party/webrtc/absl/absl/synchronization/mutex.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/synchronization/mutex_benchmark.cc b/third-party/webrtc/absl/absl/synchronization/mutex_benchmark.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/synchronization/mutex_benchmark.cc rename to third-party/webrtc/absl/absl/synchronization/mutex_benchmark.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/synchronization/mutex_method_pointer_test.cc b/third-party/webrtc/absl/absl/synchronization/mutex_method_pointer_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/synchronization/mutex_method_pointer_test.cc rename to third-party/webrtc/absl/absl/synchronization/mutex_method_pointer_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/synchronization/mutex_test.cc b/third-party/webrtc/absl/absl/synchronization/mutex_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/synchronization/mutex_test.cc rename to third-party/webrtc/absl/absl/synchronization/mutex_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/synchronization/notification.cc b/third-party/webrtc/absl/absl/synchronization/notification.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/synchronization/notification.cc rename to third-party/webrtc/absl/absl/synchronization/notification.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/synchronization/notification.h b/third-party/webrtc/absl/absl/synchronization/notification.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/synchronization/notification.h rename to third-party/webrtc/absl/absl/synchronization/notification.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/synchronization/notification_test.cc b/third-party/webrtc/absl/absl/synchronization/notification_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/synchronization/notification_test.cc rename to third-party/webrtc/absl/absl/synchronization/notification_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/CMakeLists.txt b/third-party/webrtc/absl/absl/time/CMakeLists.txt similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/CMakeLists.txt rename to third-party/webrtc/absl/absl/time/CMakeLists.txt diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/civil_time.cc b/third-party/webrtc/absl/absl/time/civil_time.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/civil_time.cc rename to third-party/webrtc/absl/absl/time/civil_time.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/civil_time.h b/third-party/webrtc/absl/absl/time/civil_time.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/civil_time.h rename to third-party/webrtc/absl/absl/time/civil_time.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/civil_time_benchmark.cc b/third-party/webrtc/absl/absl/time/civil_time_benchmark.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/civil_time_benchmark.cc rename to third-party/webrtc/absl/absl/time/civil_time_benchmark.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/civil_time_test.cc b/third-party/webrtc/absl/absl/time/civil_time_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/civil_time_test.cc rename to third-party/webrtc/absl/absl/time/civil_time_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/clock.cc b/third-party/webrtc/absl/absl/time/clock.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/clock.cc rename to third-party/webrtc/absl/absl/time/clock.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/clock.h b/third-party/webrtc/absl/absl/time/clock.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/clock.h rename to third-party/webrtc/absl/absl/time/clock.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/clock_benchmark.cc b/third-party/webrtc/absl/absl/time/clock_benchmark.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/clock_benchmark.cc rename to third-party/webrtc/absl/absl/time/clock_benchmark.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/clock_test.cc b/third-party/webrtc/absl/absl/time/clock_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/clock_test.cc rename to third-party/webrtc/absl/absl/time/clock_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/duration.cc b/third-party/webrtc/absl/absl/time/duration.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/duration.cc rename to third-party/webrtc/absl/absl/time/duration.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/duration_benchmark.cc b/third-party/webrtc/absl/absl/time/duration_benchmark.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/duration_benchmark.cc rename to third-party/webrtc/absl/absl/time/duration_benchmark.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/duration_test.cc b/third-party/webrtc/absl/absl/time/duration_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/duration_test.cc rename to third-party/webrtc/absl/absl/time/duration_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/flag_test.cc b/third-party/webrtc/absl/absl/time/flag_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/flag_test.cc rename to third-party/webrtc/absl/absl/time/flag_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/format.cc b/third-party/webrtc/absl/absl/time/format.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/format.cc rename to third-party/webrtc/absl/absl/time/format.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/format_benchmark.cc b/third-party/webrtc/absl/absl/time/format_benchmark.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/format_benchmark.cc rename to third-party/webrtc/absl/absl/time/format_benchmark.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/format_test.cc b/third-party/webrtc/absl/absl/time/format_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/format_test.cc rename to third-party/webrtc/absl/absl/time/format_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/civil_time.h b/third-party/webrtc/absl/absl/time/internal/cctz/include/cctz/civil_time.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/civil_time.h rename to third-party/webrtc/absl/absl/time/internal/cctz/include/cctz/civil_time.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/civil_time_detail.h b/third-party/webrtc/absl/absl/time/internal/cctz/include/cctz/civil_time_detail.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/civil_time_detail.h rename to third-party/webrtc/absl/absl/time/internal/cctz/include/cctz/civil_time_detail.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/time_zone.h b/third-party/webrtc/absl/absl/time/internal/cctz/include/cctz/time_zone.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/time_zone.h rename to third-party/webrtc/absl/absl/time/internal/cctz/include/cctz/time_zone.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/zone_info_source.h b/third-party/webrtc/absl/absl/time/internal/cctz/include/cctz/zone_info_source.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/zone_info_source.h rename to third-party/webrtc/absl/absl/time/internal/cctz/include/cctz/zone_info_source.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/src/cctz_benchmark.cc b/third-party/webrtc/absl/absl/time/internal/cctz/src/cctz_benchmark.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/src/cctz_benchmark.cc rename to third-party/webrtc/absl/absl/time/internal/cctz/src/cctz_benchmark.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/src/civil_time_detail.cc b/third-party/webrtc/absl/absl/time/internal/cctz/src/civil_time_detail.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/src/civil_time_detail.cc rename to third-party/webrtc/absl/absl/time/internal/cctz/src/civil_time_detail.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/src/civil_time_test.cc b/third-party/webrtc/absl/absl/time/internal/cctz/src/civil_time_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/src/civil_time_test.cc rename to third-party/webrtc/absl/absl/time/internal/cctz/src/civil_time_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_fixed.cc b/third-party/webrtc/absl/absl/time/internal/cctz/src/time_zone_fixed.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_fixed.cc rename to third-party/webrtc/absl/absl/time/internal/cctz/src/time_zone_fixed.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_fixed.h b/third-party/webrtc/absl/absl/time/internal/cctz/src/time_zone_fixed.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_fixed.h rename to third-party/webrtc/absl/absl/time/internal/cctz/src/time_zone_fixed.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_format.cc b/third-party/webrtc/absl/absl/time/internal/cctz/src/time_zone_format.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_format.cc rename to third-party/webrtc/absl/absl/time/internal/cctz/src/time_zone_format.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_format_test.cc b/third-party/webrtc/absl/absl/time/internal/cctz/src/time_zone_format_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_format_test.cc rename to third-party/webrtc/absl/absl/time/internal/cctz/src/time_zone_format_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_if.cc b/third-party/webrtc/absl/absl/time/internal/cctz/src/time_zone_if.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_if.cc rename to third-party/webrtc/absl/absl/time/internal/cctz/src/time_zone_if.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_if.h b/third-party/webrtc/absl/absl/time/internal/cctz/src/time_zone_if.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_if.h rename to third-party/webrtc/absl/absl/time/internal/cctz/src/time_zone_if.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_impl.cc b/third-party/webrtc/absl/absl/time/internal/cctz/src/time_zone_impl.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_impl.cc rename to third-party/webrtc/absl/absl/time/internal/cctz/src/time_zone_impl.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_impl.h b/third-party/webrtc/absl/absl/time/internal/cctz/src/time_zone_impl.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_impl.h rename to third-party/webrtc/absl/absl/time/internal/cctz/src/time_zone_impl.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_info.cc b/third-party/webrtc/absl/absl/time/internal/cctz/src/time_zone_info.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_info.cc rename to third-party/webrtc/absl/absl/time/internal/cctz/src/time_zone_info.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_info.h b/third-party/webrtc/absl/absl/time/internal/cctz/src/time_zone_info.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_info.h rename to third-party/webrtc/absl/absl/time/internal/cctz/src/time_zone_info.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_libc.cc b/third-party/webrtc/absl/absl/time/internal/cctz/src/time_zone_libc.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_libc.cc rename to third-party/webrtc/absl/absl/time/internal/cctz/src/time_zone_libc.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_libc.h b/third-party/webrtc/absl/absl/time/internal/cctz/src/time_zone_libc.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_libc.h rename to third-party/webrtc/absl/absl/time/internal/cctz/src/time_zone_libc.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_lookup.cc b/third-party/webrtc/absl/absl/time/internal/cctz/src/time_zone_lookup.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_lookup.cc rename to third-party/webrtc/absl/absl/time/internal/cctz/src/time_zone_lookup.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_lookup_test.cc b/third-party/webrtc/absl/absl/time/internal/cctz/src/time_zone_lookup_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_lookup_test.cc rename to third-party/webrtc/absl/absl/time/internal/cctz/src/time_zone_lookup_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_posix.cc b/third-party/webrtc/absl/absl/time/internal/cctz/src/time_zone_posix.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_posix.cc rename to third-party/webrtc/absl/absl/time/internal/cctz/src/time_zone_posix.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_posix.h b/third-party/webrtc/absl/absl/time/internal/cctz/src/time_zone_posix.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_posix.h rename to third-party/webrtc/absl/absl/time/internal/cctz/src/time_zone_posix.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/src/tzfile.h b/third-party/webrtc/absl/absl/time/internal/cctz/src/tzfile.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/src/tzfile.h rename to third-party/webrtc/absl/absl/time/internal/cctz/src/tzfile.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/src/zone_info_source.cc b/third-party/webrtc/absl/absl/time/internal/cctz/src/zone_info_source.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/src/zone_info_source.cc rename to third-party/webrtc/absl/absl/time/internal/cctz/src/zone_info_source.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/README.zoneinfo b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/README.zoneinfo similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/README.zoneinfo rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/README.zoneinfo diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/version b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/version similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/version rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/version diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Abidjan b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Africa/Abidjan similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Abidjan rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Africa/Abidjan diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Accra b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Africa/Accra similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Accra rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Africa/Accra diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Addis_Ababa b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Africa/Addis_Ababa similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Addis_Ababa rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Africa/Addis_Ababa diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Algiers b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Africa/Algiers similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Algiers rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Africa/Algiers diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Asmara b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Africa/Asmara similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Asmara rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Africa/Asmara diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Asmera b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Africa/Asmera similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Asmera rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Africa/Asmera diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Bamako b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Africa/Bamako similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Bamako rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Africa/Bamako diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Bangui b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Africa/Bangui similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Bangui rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Africa/Bangui diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Banjul b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Africa/Banjul similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Banjul rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Africa/Banjul diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Bissau b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Africa/Bissau similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Bissau rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Africa/Bissau diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Blantyre b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Africa/Blantyre similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Blantyre rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Africa/Blantyre diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Brazzaville b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Africa/Brazzaville similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Brazzaville rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Africa/Brazzaville diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Bujumbura b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Africa/Bujumbura similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Bujumbura rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Africa/Bujumbura diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Cairo b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Africa/Cairo similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Cairo rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Africa/Cairo diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Casablanca b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Africa/Casablanca similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Casablanca rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Africa/Casablanca diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Ceuta b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Africa/Ceuta similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Ceuta rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Africa/Ceuta diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Conakry b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Africa/Conakry similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Conakry rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Africa/Conakry diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Dakar b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Africa/Dakar similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Dakar rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Africa/Dakar diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Dar_es_Salaam b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Africa/Dar_es_Salaam similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Dar_es_Salaam rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Africa/Dar_es_Salaam diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Djibouti b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Africa/Djibouti similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Djibouti rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Africa/Djibouti diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Douala b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Africa/Douala similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Douala rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Africa/Douala diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/El_Aaiun b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Africa/El_Aaiun similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/El_Aaiun rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Africa/El_Aaiun diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Freetown b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Africa/Freetown similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Freetown rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Africa/Freetown diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Gaborone b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Africa/Gaborone similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Gaborone rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Africa/Gaborone diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Harare b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Africa/Harare similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Harare rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Africa/Harare diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Johannesburg b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Africa/Johannesburg similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Johannesburg rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Africa/Johannesburg diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Juba b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Africa/Juba similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Juba rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Africa/Juba diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Kampala b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Africa/Kampala similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Kampala rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Africa/Kampala diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Khartoum b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Africa/Khartoum similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Khartoum rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Africa/Khartoum diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Kigali b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Africa/Kigali similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Kigali rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Africa/Kigali diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Kinshasa b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Africa/Kinshasa similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Kinshasa rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Africa/Kinshasa diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Lagos b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Africa/Lagos similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Lagos rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Africa/Lagos diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Libreville b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Africa/Libreville similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Libreville rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Africa/Libreville diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Lome b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Africa/Lome similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Lome rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Africa/Lome diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Luanda b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Africa/Luanda similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Luanda rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Africa/Luanda diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Lubumbashi b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Africa/Lubumbashi similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Lubumbashi rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Africa/Lubumbashi diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Lusaka b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Africa/Lusaka similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Lusaka rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Africa/Lusaka diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Malabo b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Africa/Malabo similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Malabo rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Africa/Malabo diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Maputo b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Africa/Maputo similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Maputo rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Africa/Maputo diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Maseru b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Africa/Maseru similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Maseru rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Africa/Maseru diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Mbabane b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Africa/Mbabane similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Mbabane rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Africa/Mbabane diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Mogadishu b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Africa/Mogadishu similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Mogadishu rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Africa/Mogadishu diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Monrovia b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Africa/Monrovia similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Monrovia rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Africa/Monrovia diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Nairobi b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Africa/Nairobi similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Nairobi rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Africa/Nairobi diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Ndjamena b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Africa/Ndjamena similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Ndjamena rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Africa/Ndjamena diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Niamey b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Africa/Niamey similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Niamey rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Africa/Niamey diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Nouakchott b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Africa/Nouakchott similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Nouakchott rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Africa/Nouakchott diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Ouagadougou b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Africa/Ouagadougou similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Ouagadougou rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Africa/Ouagadougou diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Porto-Novo b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Africa/Porto-Novo similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Porto-Novo rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Africa/Porto-Novo diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Sao_Tome b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Africa/Sao_Tome similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Sao_Tome rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Africa/Sao_Tome diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Timbuktu b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Africa/Timbuktu similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Timbuktu rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Africa/Timbuktu diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Tripoli b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Africa/Tripoli similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Tripoli rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Africa/Tripoli diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Tunis b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Africa/Tunis similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Tunis rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Africa/Tunis diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Windhoek b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Africa/Windhoek similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Windhoek rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Africa/Windhoek diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Adak b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Adak similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Adak rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Adak diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Anchorage b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Anchorage similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Anchorage rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Anchorage diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Anguilla b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Anguilla similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Anguilla rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Anguilla diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Antigua b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Antigua similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Antigua rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Antigua diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Araguaina b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Araguaina similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Araguaina rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Araguaina diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/Buenos_Aires b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/Buenos_Aires similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/Buenos_Aires rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/Buenos_Aires diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/Catamarca b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/Catamarca similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/Catamarca rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/Catamarca diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/ComodRivadavia b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/ComodRivadavia similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/ComodRivadavia rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/ComodRivadavia diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/Cordoba b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/Cordoba similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/Cordoba rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/Cordoba diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/Jujuy b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/Jujuy similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/Jujuy rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/Jujuy diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/La_Rioja b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/La_Rioja similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/La_Rioja rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/La_Rioja diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/Mendoza b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/Mendoza similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/Mendoza rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/Mendoza diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/Rio_Gallegos b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/Rio_Gallegos similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/Rio_Gallegos rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/Rio_Gallegos diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/Salta b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/Salta similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/Salta rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/Salta diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/San_Juan b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/San_Juan similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/San_Juan rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/San_Juan diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/San_Luis b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/San_Luis similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/San_Luis rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/San_Luis diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/Tucuman b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/Tucuman similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/Tucuman rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/Tucuman diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/Ushuaia b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/Ushuaia similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/Ushuaia rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/Ushuaia diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Aruba b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Aruba similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Aruba rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Aruba diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Asuncion b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Asuncion similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Asuncion rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Asuncion diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Atikokan b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Atikokan similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Atikokan rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Atikokan diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Atka b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Atka similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Atka rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Atka diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Bahia b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Bahia similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Bahia rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Bahia diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Bahia_Banderas b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Bahia_Banderas similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Bahia_Banderas rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Bahia_Banderas diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Barbados b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Barbados similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Barbados rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Barbados diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Belem b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Belem similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Belem rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Belem diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Belize b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Belize similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Belize rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Belize diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Blanc-Sablon b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Blanc-Sablon similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Blanc-Sablon rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Blanc-Sablon diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Boa_Vista b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Boa_Vista similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Boa_Vista rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Boa_Vista diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Bogota b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Bogota similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Bogota rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Bogota diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Boise b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Boise similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Boise rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Boise diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Buenos_Aires b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Buenos_Aires similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Buenos_Aires rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Buenos_Aires diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Cambridge_Bay b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Cambridge_Bay similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Cambridge_Bay rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Cambridge_Bay diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Campo_Grande b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Campo_Grande similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Campo_Grande rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Campo_Grande diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Cancun b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Cancun similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Cancun rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Cancun diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Caracas b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Caracas similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Caracas rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Caracas diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Catamarca b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Catamarca similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Catamarca rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Catamarca diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Cayenne b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Cayenne similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Cayenne rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Cayenne diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Cayman b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Cayman similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Cayman rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Cayman diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Chicago b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Chicago similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Chicago rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Chicago diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Chihuahua b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Chihuahua similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Chihuahua rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Chihuahua diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Ciudad_Juarez b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Ciudad_Juarez similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Ciudad_Juarez rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Ciudad_Juarez diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Coral_Harbour b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Coral_Harbour similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Coral_Harbour rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Coral_Harbour diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Cordoba b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Cordoba similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Cordoba rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Cordoba diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Costa_Rica b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Costa_Rica similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Costa_Rica rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Costa_Rica diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Creston b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Creston similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Creston rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Creston diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Cuiaba b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Cuiaba similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Cuiaba rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Cuiaba diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Curacao b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Curacao similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Curacao rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Curacao diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Danmarkshavn b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Danmarkshavn similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Danmarkshavn rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Danmarkshavn diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Dawson b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Dawson similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Dawson rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Dawson diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Dawson_Creek b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Dawson_Creek similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Dawson_Creek rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Dawson_Creek diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Denver b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Denver similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Denver rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Denver diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Detroit b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Detroit similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Detroit rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Detroit diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Dominica b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Dominica similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Dominica rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Dominica diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Edmonton b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Edmonton similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Edmonton rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Edmonton diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Eirunepe b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Eirunepe similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Eirunepe rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Eirunepe diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/El_Salvador b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/El_Salvador similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/El_Salvador rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/El_Salvador diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Ensenada b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Ensenada similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Ensenada rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Ensenada diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Fort_Nelson b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Fort_Nelson similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Fort_Nelson rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Fort_Nelson diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Fort_Wayne b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Fort_Wayne similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Fort_Wayne rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Fort_Wayne diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Fortaleza b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Fortaleza similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Fortaleza rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Fortaleza diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Glace_Bay b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Glace_Bay similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Glace_Bay rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Glace_Bay diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Godthab b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Godthab similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Godthab rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Godthab diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Goose_Bay b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Goose_Bay similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Goose_Bay rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Goose_Bay diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Grand_Turk b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Grand_Turk similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Grand_Turk rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Grand_Turk diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Grenada b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Grenada similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Grenada rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Grenada diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Guadeloupe b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Guadeloupe similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Guadeloupe rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Guadeloupe diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Guatemala b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Guatemala similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Guatemala rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Guatemala diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Guayaquil b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Guayaquil similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Guayaquil rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Guayaquil diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Guyana b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Guyana similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Guyana rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Guyana diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Halifax b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Halifax similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Halifax rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Halifax diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Havana b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Havana similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Havana rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Havana diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Hermosillo b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Hermosillo similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Hermosillo rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Hermosillo diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Indiana/Indianapolis b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Indiana/Indianapolis similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Indiana/Indianapolis rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Indiana/Indianapolis diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Indiana/Knox b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Indiana/Knox similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Indiana/Knox rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Indiana/Knox diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Indiana/Marengo b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Indiana/Marengo similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Indiana/Marengo rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Indiana/Marengo diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Indiana/Petersburg b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Indiana/Petersburg similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Indiana/Petersburg rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Indiana/Petersburg diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Indiana/Tell_City b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Indiana/Tell_City similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Indiana/Tell_City rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Indiana/Tell_City diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Indiana/Vevay b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Indiana/Vevay similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Indiana/Vevay rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Indiana/Vevay diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Indiana/Vincennes b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Indiana/Vincennes similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Indiana/Vincennes rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Indiana/Vincennes diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Indiana/Winamac b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Indiana/Winamac similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Indiana/Winamac rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Indiana/Winamac diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Indianapolis b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Indianapolis similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Indianapolis rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Indianapolis diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Inuvik b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Inuvik similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Inuvik rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Inuvik diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Iqaluit b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Iqaluit similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Iqaluit rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Iqaluit diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Jamaica b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Jamaica similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Jamaica rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Jamaica diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Jujuy b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Jujuy similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Jujuy rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Jujuy diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Juneau b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Juneau similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Juneau rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Juneau diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Kentucky/Louisville b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Kentucky/Louisville similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Kentucky/Louisville rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Kentucky/Louisville diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Kentucky/Monticello b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Kentucky/Monticello similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Kentucky/Monticello rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Kentucky/Monticello diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Knox_IN b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Knox_IN similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Knox_IN rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Knox_IN diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Kralendijk b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Kralendijk similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Kralendijk rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Kralendijk diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/La_Paz b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/La_Paz similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/La_Paz rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/La_Paz diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Lima b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Lima similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Lima rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Lima diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Los_Angeles b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Los_Angeles similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Los_Angeles rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Los_Angeles diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Louisville b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Louisville similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Louisville rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Louisville diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Lower_Princes b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Lower_Princes similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Lower_Princes rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Lower_Princes diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Maceio b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Maceio similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Maceio rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Maceio diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Managua b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Managua similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Managua rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Managua diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Manaus b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Manaus similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Manaus rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Manaus diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Marigot b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Marigot similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Marigot rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Marigot diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Martinique b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Martinique similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Martinique rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Martinique diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Matamoros b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Matamoros similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Matamoros rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Matamoros diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Mazatlan b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Mazatlan similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Mazatlan rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Mazatlan diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Mendoza b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Mendoza similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Mendoza rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Mendoza diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Menominee b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Menominee similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Menominee rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Menominee diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Merida b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Merida similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Merida rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Merida diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Metlakatla b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Metlakatla similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Metlakatla rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Metlakatla diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Mexico_City b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Mexico_City similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Mexico_City rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Mexico_City diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Miquelon b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Miquelon similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Miquelon rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Miquelon diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Moncton b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Moncton similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Moncton rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Moncton diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Monterrey b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Monterrey similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Monterrey rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Monterrey diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Montevideo b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Montevideo similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Montevideo rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Montevideo diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Montreal b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Montreal similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Montreal rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Montreal diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Montserrat b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Montserrat similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Montserrat rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Montserrat diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Nassau b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Nassau similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Nassau rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Nassau diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/New_York b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/New_York similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/New_York rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/New_York diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Nipigon b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Nipigon similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Nipigon rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Nipigon diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Nome b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Nome similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Nome rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Nome diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Noronha b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Noronha similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Noronha rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Noronha diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/North_Dakota/Beulah b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/North_Dakota/Beulah similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/North_Dakota/Beulah rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/North_Dakota/Beulah diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/North_Dakota/Center b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/North_Dakota/Center similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/North_Dakota/Center rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/North_Dakota/Center diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/North_Dakota/New_Salem b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/North_Dakota/New_Salem similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/North_Dakota/New_Salem rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/North_Dakota/New_Salem diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Nuuk b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Nuuk similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Nuuk rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Nuuk diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Ojinaga b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Ojinaga similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Ojinaga rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Ojinaga diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Panama b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Panama similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Panama rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Panama diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Pangnirtung b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Pangnirtung similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Pangnirtung rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Pangnirtung diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Paramaribo b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Paramaribo similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Paramaribo rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Paramaribo diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Phoenix b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Phoenix similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Phoenix rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Phoenix diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Port-au-Prince b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Port-au-Prince similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Port-au-Prince rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Port-au-Prince diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Port_of_Spain b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Port_of_Spain similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Port_of_Spain rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Port_of_Spain diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Porto_Acre b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Porto_Acre similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Porto_Acre rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Porto_Acre diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Porto_Velho b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Porto_Velho similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Porto_Velho rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Porto_Velho diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Puerto_Rico b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Puerto_Rico similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Puerto_Rico rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Puerto_Rico diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Punta_Arenas b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Punta_Arenas similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Punta_Arenas rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Punta_Arenas diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Rainy_River b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Rainy_River similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Rainy_River rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Rainy_River diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Rankin_Inlet b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Rankin_Inlet similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Rankin_Inlet rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Rankin_Inlet diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Recife b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Recife similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Recife rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Recife diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Regina b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Regina similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Regina rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Regina diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Resolute b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Resolute similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Resolute rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Resolute diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Rio_Branco b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Rio_Branco similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Rio_Branco rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Rio_Branco diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Rosario b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Rosario similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Rosario rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Rosario diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Santa_Isabel b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Santa_Isabel similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Santa_Isabel rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Santa_Isabel diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Santarem b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Santarem similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Santarem rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Santarem diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Santiago b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Santiago similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Santiago rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Santiago diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Santo_Domingo b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Santo_Domingo similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Santo_Domingo rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Santo_Domingo diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Sao_Paulo b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Sao_Paulo similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Sao_Paulo rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Sao_Paulo diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Scoresbysund b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Scoresbysund similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Scoresbysund rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Scoresbysund diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Shiprock b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Shiprock similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Shiprock rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Shiprock diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Sitka b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Sitka similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Sitka rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Sitka diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/St_Barthelemy b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/St_Barthelemy similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/St_Barthelemy rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/St_Barthelemy diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/St_Johns b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/St_Johns similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/St_Johns rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/St_Johns diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/St_Kitts b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/St_Kitts similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/St_Kitts rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/St_Kitts diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/St_Lucia b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/St_Lucia similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/St_Lucia rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/St_Lucia diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/St_Thomas b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/St_Thomas similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/St_Thomas rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/St_Thomas diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/St_Vincent b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/St_Vincent similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/St_Vincent rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/St_Vincent diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Swift_Current b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Swift_Current similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Swift_Current rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Swift_Current diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Tegucigalpa b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Tegucigalpa similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Tegucigalpa rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Tegucigalpa diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Thule b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Thule similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Thule rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Thule diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Thunder_Bay b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Thunder_Bay similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Thunder_Bay rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Thunder_Bay diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Tijuana b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Tijuana similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Tijuana rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Tijuana diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Toronto b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Toronto similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Toronto rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Toronto diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Tortola b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Tortola similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Tortola rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Tortola diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Vancouver b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Vancouver similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Vancouver rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Vancouver diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Virgin b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Virgin similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Virgin rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Virgin diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Whitehorse b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Whitehorse similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Whitehorse rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Whitehorse diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Winnipeg b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Winnipeg similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Winnipeg rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Winnipeg diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Yakutat b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Yakutat similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Yakutat rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Yakutat diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Yellowknife b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Yellowknife similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Yellowknife rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/America/Yellowknife diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/Casey b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/Casey similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/Casey rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/Casey diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/Davis b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/Davis similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/Davis rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/Davis diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/DumontDUrville b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/DumontDUrville similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/DumontDUrville rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/DumontDUrville diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/Macquarie b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/Macquarie similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/Macquarie rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/Macquarie diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/Mawson b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/Mawson similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/Mawson rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/Mawson diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/McMurdo b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/McMurdo similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/McMurdo rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/McMurdo diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/Palmer b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/Palmer similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/Palmer rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/Palmer diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/Rothera b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/Rothera similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/Rothera rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/Rothera diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/South_Pole b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/South_Pole similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/South_Pole rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/South_Pole diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/Syowa b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/Syowa similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/Syowa rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/Syowa diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/Troll b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/Troll similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/Troll rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/Troll diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/Vostok b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/Vostok similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/Vostok rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/Vostok diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Arctic/Longyearbyen b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Arctic/Longyearbyen similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Arctic/Longyearbyen rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Arctic/Longyearbyen diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Aden b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Aden similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Aden rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Aden diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Almaty b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Almaty similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Almaty rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Almaty diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Amman b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Amman similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Amman rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Amman diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Anadyr b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Anadyr similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Anadyr rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Anadyr diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Aqtau b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Aqtau similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Aqtau rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Aqtau diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Aqtobe b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Aqtobe similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Aqtobe rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Aqtobe diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Ashgabat b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Ashgabat similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Ashgabat rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Ashgabat diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Ashkhabad b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Ashkhabad similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Ashkhabad rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Ashkhabad diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Atyrau b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Atyrau similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Atyrau rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Atyrau diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Baghdad b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Baghdad similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Baghdad rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Baghdad diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Bahrain b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Bahrain similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Bahrain rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Bahrain diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Baku b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Baku similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Baku rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Baku diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Bangkok b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Bangkok similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Bangkok rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Bangkok diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Barnaul b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Barnaul similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Barnaul rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Barnaul diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Beirut b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Beirut similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Beirut rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Beirut diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Bishkek b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Bishkek similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Bishkek rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Bishkek diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Brunei b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Brunei similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Brunei rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Brunei diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Calcutta b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Calcutta similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Calcutta rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Calcutta diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Chita b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Chita similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Chita rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Chita diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Choibalsan b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Choibalsan similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Choibalsan rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Choibalsan diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Chongqing b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Chongqing similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Chongqing rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Chongqing diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Chungking b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Chungking similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Chungking rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Chungking diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Colombo b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Colombo similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Colombo rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Colombo diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Dacca b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Dacca similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Dacca rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Dacca diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Damascus b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Damascus similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Damascus rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Damascus diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Dhaka b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Dhaka similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Dhaka rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Dhaka diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Dili b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Dili similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Dili rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Dili diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Dubai b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Dubai similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Dubai rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Dubai diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Dushanbe b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Dushanbe similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Dushanbe rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Dushanbe diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Famagusta b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Famagusta similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Famagusta rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Famagusta diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Gaza b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Gaza similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Gaza rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Gaza diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Harbin b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Harbin similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Harbin rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Harbin diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Hebron b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Hebron similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Hebron rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Hebron diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Ho_Chi_Minh b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Ho_Chi_Minh similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Ho_Chi_Minh rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Ho_Chi_Minh diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Hong_Kong b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Hong_Kong similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Hong_Kong rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Hong_Kong diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Hovd b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Hovd similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Hovd rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Hovd diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Irkutsk b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Irkutsk similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Irkutsk rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Irkutsk diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Istanbul b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Istanbul similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Istanbul rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Istanbul diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Jakarta b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Jakarta similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Jakarta rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Jakarta diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Jayapura b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Jayapura similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Jayapura rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Jayapura diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Jerusalem b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Jerusalem similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Jerusalem rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Jerusalem diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Kabul b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Kabul similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Kabul rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Kabul diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Kamchatka b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Kamchatka similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Kamchatka rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Kamchatka diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Karachi b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Karachi similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Karachi rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Karachi diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Kashgar b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Kashgar similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Kashgar rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Kashgar diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Kathmandu b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Kathmandu similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Kathmandu rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Kathmandu diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Katmandu b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Katmandu similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Katmandu rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Katmandu diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Khandyga b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Khandyga similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Khandyga rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Khandyga diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Kolkata b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Kolkata similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Kolkata rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Kolkata diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Krasnoyarsk b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Krasnoyarsk similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Krasnoyarsk rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Krasnoyarsk diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Kuala_Lumpur b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Kuala_Lumpur similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Kuala_Lumpur rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Kuala_Lumpur diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Kuching b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Kuching similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Kuching rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Kuching diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Kuwait b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Kuwait similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Kuwait rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Kuwait diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Macao b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Macao similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Macao rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Macao diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Macau b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Macau similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Macau rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Macau diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Magadan b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Magadan similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Magadan rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Magadan diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Makassar b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Makassar similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Makassar rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Makassar diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Manila b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Manila similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Manila rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Manila diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Muscat b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Muscat similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Muscat rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Muscat diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Nicosia b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Nicosia similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Nicosia rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Nicosia diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Novokuznetsk b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Novokuznetsk similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Novokuznetsk rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Novokuznetsk diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Novosibirsk b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Novosibirsk similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Novosibirsk rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Novosibirsk diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Omsk b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Omsk similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Omsk rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Omsk diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Oral b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Oral similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Oral rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Oral diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Phnom_Penh b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Phnom_Penh similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Phnom_Penh rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Phnom_Penh diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Pontianak b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Pontianak similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Pontianak rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Pontianak diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Pyongyang b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Pyongyang similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Pyongyang rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Pyongyang diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Qatar b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Qatar similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Qatar rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Qatar diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Qostanay b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Qostanay similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Qostanay rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Qostanay diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Qyzylorda b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Qyzylorda similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Qyzylorda rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Qyzylorda diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Rangoon b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Rangoon similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Rangoon rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Rangoon diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Riyadh b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Riyadh similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Riyadh rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Riyadh diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Saigon b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Saigon similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Saigon rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Saigon diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Sakhalin b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Sakhalin similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Sakhalin rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Sakhalin diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Samarkand b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Samarkand similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Samarkand rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Samarkand diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Seoul b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Seoul similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Seoul rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Seoul diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Shanghai b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Shanghai similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Shanghai rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Shanghai diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Singapore b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Singapore similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Singapore rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Singapore diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Srednekolymsk b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Srednekolymsk similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Srednekolymsk rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Srednekolymsk diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Taipei b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Taipei similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Taipei rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Taipei diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Tashkent b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Tashkent similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Tashkent rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Tashkent diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Tbilisi b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Tbilisi similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Tbilisi rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Tbilisi diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Tehran b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Tehran similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Tehran rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Tehran diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Tel_Aviv b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Tel_Aviv similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Tel_Aviv rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Tel_Aviv diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Thimbu b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Thimbu similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Thimbu rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Thimbu diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Thimphu b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Thimphu similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Thimphu rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Thimphu diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Tokyo b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Tokyo similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Tokyo rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Tokyo diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Tomsk b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Tomsk similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Tomsk rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Tomsk diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Ujung_Pandang b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Ujung_Pandang similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Ujung_Pandang rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Ujung_Pandang diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Ulaanbaatar b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Ulaanbaatar similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Ulaanbaatar rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Ulaanbaatar diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Ulan_Bator b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Ulan_Bator similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Ulan_Bator rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Ulan_Bator diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Urumqi b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Urumqi similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Urumqi rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Urumqi diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Ust-Nera b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Ust-Nera similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Ust-Nera rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Ust-Nera diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Vientiane b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Vientiane similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Vientiane rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Vientiane diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Vladivostok b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Vladivostok similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Vladivostok rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Vladivostok diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Yakutsk b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Yakutsk similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Yakutsk rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Yakutsk diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Yangon b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Yangon similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Yangon rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Yangon diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Yekaterinburg b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Yekaterinburg similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Yekaterinburg rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Yekaterinburg diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Yerevan b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Yerevan similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Yerevan rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Asia/Yerevan diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Azores b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Azores similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Azores rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Azores diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Bermuda b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Bermuda similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Bermuda rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Bermuda diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Canary b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Canary similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Canary rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Canary diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Cape_Verde b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Cape_Verde similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Cape_Verde rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Cape_Verde diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Faeroe b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Faeroe similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Faeroe rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Faeroe diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Faroe b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Faroe similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Faroe rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Faroe diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Jan_Mayen b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Jan_Mayen similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Jan_Mayen rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Jan_Mayen diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Madeira b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Madeira similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Madeira rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Madeira diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Reykjavik b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Reykjavik similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Reykjavik rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Reykjavik diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/South_Georgia b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/South_Georgia similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/South_Georgia rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/South_Georgia diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/St_Helena b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/St_Helena similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/St_Helena rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/St_Helena diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Stanley b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Stanley similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Stanley rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Stanley diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/ACT b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Australia/ACT similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/ACT rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Australia/ACT diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Adelaide b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Australia/Adelaide similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Adelaide rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Australia/Adelaide diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Brisbane b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Australia/Brisbane similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Brisbane rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Australia/Brisbane diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Broken_Hill b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Australia/Broken_Hill similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Broken_Hill rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Australia/Broken_Hill diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Canberra b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Australia/Canberra similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Canberra rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Australia/Canberra diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Currie b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Australia/Currie similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Currie rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Australia/Currie diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Darwin b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Australia/Darwin similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Darwin rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Australia/Darwin diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Eucla b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Australia/Eucla similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Eucla rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Australia/Eucla diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Hobart b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Australia/Hobart similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Hobart rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Australia/Hobart diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/LHI b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Australia/LHI similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/LHI rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Australia/LHI diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Lindeman b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Australia/Lindeman similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Lindeman rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Australia/Lindeman diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Lord_Howe b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Australia/Lord_Howe similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Lord_Howe rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Australia/Lord_Howe diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Melbourne b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Australia/Melbourne similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Melbourne rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Australia/Melbourne diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/NSW b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Australia/NSW similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/NSW rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Australia/NSW diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/North b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Australia/North similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/North rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Australia/North diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Perth b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Australia/Perth similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Perth rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Australia/Perth diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Queensland b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Australia/Queensland similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Queensland rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Australia/Queensland diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/South b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Australia/South similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/South rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Australia/South diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Sydney b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Australia/Sydney similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Sydney rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Australia/Sydney diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Tasmania b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Australia/Tasmania similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Tasmania rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Australia/Tasmania diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Victoria b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Australia/Victoria similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Victoria rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Australia/Victoria diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/West b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Australia/West similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/West rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Australia/West diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Yancowinna b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Australia/Yancowinna similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Yancowinna rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Australia/Yancowinna diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Brazil/Acre b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Brazil/Acre similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Brazil/Acre rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Brazil/Acre diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Brazil/DeNoronha b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Brazil/DeNoronha similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Brazil/DeNoronha rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Brazil/DeNoronha diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Brazil/East b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Brazil/East similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Brazil/East rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Brazil/East diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Brazil/West b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Brazil/West similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Brazil/West rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Brazil/West diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/CET b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/CET similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/CET rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/CET diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/CST6CDT b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/CST6CDT similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/CST6CDT rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/CST6CDT diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Canada/Atlantic b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Canada/Atlantic similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Canada/Atlantic rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Canada/Atlantic diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Canada/Central b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Canada/Central similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Canada/Central rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Canada/Central diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Canada/Eastern b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Canada/Eastern similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Canada/Eastern rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Canada/Eastern diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Canada/Mountain b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Canada/Mountain similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Canada/Mountain rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Canada/Mountain diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Canada/Newfoundland b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Canada/Newfoundland similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Canada/Newfoundland rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Canada/Newfoundland diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Canada/Pacific b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Canada/Pacific similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Canada/Pacific rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Canada/Pacific diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Canada/Saskatchewan b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Canada/Saskatchewan similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Canada/Saskatchewan rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Canada/Saskatchewan diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Canada/Yukon b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Canada/Yukon similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Canada/Yukon rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Canada/Yukon diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Chile/Continental b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Chile/Continental similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Chile/Continental rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Chile/Continental diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Chile/EasterIsland b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Chile/EasterIsland similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Chile/EasterIsland rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Chile/EasterIsland diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Cuba b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Cuba similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Cuba rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Cuba diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/EET b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/EET similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/EET rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/EET diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/EST b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/EST similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/EST rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/EST diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/EST5EDT b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/EST5EDT similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/EST5EDT rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/EST5EDT diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Egypt b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Egypt similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Egypt rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Egypt diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Eire b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Eire similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Eire rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Eire diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+0 b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+0 similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+0 rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+0 diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+1 b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+1 similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+1 rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+1 diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+10 b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+10 similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+10 rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+10 diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+11 b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+11 similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+11 rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+11 diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+12 b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+12 similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+12 rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+12 diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+2 b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+2 similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+2 rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+2 diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+3 b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+3 similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+3 rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+3 diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+4 b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+4 similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+4 rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+4 diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+5 b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+5 similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+5 rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+5 diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+6 b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+6 similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+6 rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+6 diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+7 b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+7 similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+7 rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+7 diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+8 b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+8 similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+8 rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+8 diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+9 b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+9 similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+9 rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+9 diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-0 b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-0 similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-0 rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-0 diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-1 b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-1 similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-1 rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-1 diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-10 b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-10 similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-10 rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-10 diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-11 b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-11 similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-11 rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-11 diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-12 b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-12 similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-12 rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-12 diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-13 b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-13 similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-13 rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-13 diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-14 b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-14 similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-14 rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-14 diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-2 b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-2 similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-2 rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-2 diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-3 b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-3 similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-3 rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-3 diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-4 b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-4 similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-4 rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-4 diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-5 b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-5 similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-5 rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-5 diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-6 b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-6 similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-6 rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-6 diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-7 b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-7 similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-7 rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-7 diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-8 b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-8 similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-8 rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-8 diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-9 b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-9 similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-9 rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-9 diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT0 b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT0 similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT0 rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT0 diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/Greenwich b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Etc/Greenwich similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/Greenwich rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Etc/Greenwich diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/UCT b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Etc/UCT similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/UCT rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Etc/UCT diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/UTC b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Etc/UTC similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/UTC rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Etc/UTC diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/Universal b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Etc/Universal similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/Universal rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Etc/Universal diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/Zulu b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Etc/Zulu similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/Zulu rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Etc/Zulu diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Amsterdam b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Amsterdam similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Amsterdam rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Amsterdam diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Andorra b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Andorra similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Andorra rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Andorra diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Astrakhan b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Astrakhan similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Astrakhan rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Astrakhan diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Athens b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Athens similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Athens rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Athens diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Belfast b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Belfast similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Belfast rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Belfast diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Belgrade b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Belgrade similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Belgrade rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Belgrade diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Berlin b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Berlin similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Berlin rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Berlin diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Bratislava b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Bratislava similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Bratislava rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Bratislava diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Brussels b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Brussels similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Brussels rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Brussels diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Bucharest b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Bucharest similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Bucharest rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Bucharest diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Budapest b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Budapest similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Budapest rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Budapest diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Busingen b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Busingen similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Busingen rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Busingen diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Chisinau b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Chisinau similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Chisinau rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Chisinau diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Copenhagen b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Copenhagen similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Copenhagen rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Copenhagen diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Dublin b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Dublin similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Dublin rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Dublin diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Gibraltar b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Gibraltar similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Gibraltar rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Gibraltar diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Guernsey b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Guernsey similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Guernsey rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Guernsey diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Helsinki b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Helsinki similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Helsinki rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Helsinki diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Isle_of_Man b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Isle_of_Man similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Isle_of_Man rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Isle_of_Man diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Istanbul b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Istanbul similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Istanbul rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Istanbul diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Jersey b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Jersey similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Jersey rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Jersey diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Kaliningrad b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Kaliningrad similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Kaliningrad rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Kaliningrad diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Kiev b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Kiev similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Kiev rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Kiev diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Kirov b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Kirov similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Kirov rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Kirov diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Kyiv b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Kyiv similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Kyiv rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Kyiv diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Lisbon b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Lisbon similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Lisbon rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Lisbon diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Ljubljana b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Ljubljana similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Ljubljana rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Ljubljana diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/London b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/London similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/London rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/London diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Luxembourg b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Luxembourg similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Luxembourg rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Luxembourg diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Madrid b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Madrid similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Madrid rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Madrid diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Malta b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Malta similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Malta rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Malta diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Mariehamn b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Mariehamn similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Mariehamn rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Mariehamn diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Minsk b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Minsk similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Minsk rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Minsk diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Monaco b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Monaco similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Monaco rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Monaco diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Moscow b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Moscow similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Moscow rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Moscow diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Nicosia b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Nicosia similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Nicosia rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Nicosia diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Oslo b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Oslo similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Oslo rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Oslo diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Paris b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Paris similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Paris rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Paris diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Podgorica b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Podgorica similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Podgorica rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Podgorica diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Prague b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Prague similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Prague rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Prague diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Riga b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Riga similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Riga rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Riga diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Rome b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Rome similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Rome rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Rome diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Samara b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Samara similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Samara rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Samara diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/San_Marino b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/San_Marino similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/San_Marino rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/San_Marino diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Sarajevo b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Sarajevo similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Sarajevo rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Sarajevo diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Saratov b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Saratov similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Saratov rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Saratov diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Simferopol b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Simferopol similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Simferopol rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Simferopol diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Skopje b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Skopje similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Skopje rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Skopje diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Sofia b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Sofia similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Sofia rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Sofia diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Stockholm b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Stockholm similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Stockholm rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Stockholm diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Tallinn b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Tallinn similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Tallinn rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Tallinn diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Tirane b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Tirane similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Tirane rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Tirane diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Tiraspol b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Tiraspol similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Tiraspol rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Tiraspol diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Ulyanovsk b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Ulyanovsk similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Ulyanovsk rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Ulyanovsk diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Uzhgorod b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Uzhgorod similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Uzhgorod rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Uzhgorod diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Vaduz b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Vaduz similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Vaduz rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Vaduz diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Vatican b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Vatican similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Vatican rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Vatican diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Vienna b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Vienna similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Vienna rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Vienna diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Vilnius b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Vilnius similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Vilnius rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Vilnius diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Volgograd b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Volgograd similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Volgograd rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Volgograd diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Warsaw b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Warsaw similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Warsaw rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Warsaw diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Zagreb b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Zagreb similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Zagreb rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Zagreb diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Zaporozhye b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Zaporozhye similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Zaporozhye rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Zaporozhye diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Zurich b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Zurich similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Zurich rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Europe/Zurich diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Factory b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Factory similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Factory rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Factory diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/GB b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/GB similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/GB rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/GB diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/GB-Eire b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/GB-Eire similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/GB-Eire rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/GB-Eire diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/GMT b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/GMT similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/GMT rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/GMT diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/GMT+0 b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/GMT+0 similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/GMT+0 rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/GMT+0 diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/GMT-0 b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/GMT-0 similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/GMT-0 rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/GMT-0 diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/GMT0 b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/GMT0 similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/GMT0 rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/GMT0 diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Greenwich b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Greenwich similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Greenwich rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Greenwich diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/HST b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/HST similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/HST rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/HST diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Hongkong b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Hongkong similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Hongkong rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Hongkong diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Iceland b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Iceland similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Iceland rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Iceland diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Indian/Antananarivo b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Indian/Antananarivo similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Indian/Antananarivo rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Indian/Antananarivo diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Indian/Chagos b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Indian/Chagos similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Indian/Chagos rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Indian/Chagos diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Indian/Christmas b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Indian/Christmas similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Indian/Christmas rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Indian/Christmas diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Indian/Cocos b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Indian/Cocos similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Indian/Cocos rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Indian/Cocos diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Indian/Comoro b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Indian/Comoro similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Indian/Comoro rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Indian/Comoro diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Indian/Kerguelen b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Indian/Kerguelen similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Indian/Kerguelen rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Indian/Kerguelen diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Indian/Mahe b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Indian/Mahe similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Indian/Mahe rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Indian/Mahe diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Indian/Maldives b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Indian/Maldives similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Indian/Maldives rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Indian/Maldives diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Indian/Mauritius b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Indian/Mauritius similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Indian/Mauritius rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Indian/Mauritius diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Indian/Mayotte b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Indian/Mayotte similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Indian/Mayotte rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Indian/Mayotte diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Indian/Reunion b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Indian/Reunion similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Indian/Reunion rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Indian/Reunion diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Iran b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Iran similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Iran rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Iran diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Israel b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Israel similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Israel rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Israel diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Jamaica b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Jamaica similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Jamaica rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Jamaica diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Japan b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Japan similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Japan rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Japan diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Kwajalein b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Kwajalein similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Kwajalein rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Kwajalein diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Libya b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Libya similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Libya rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Libya diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/MET b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/MET similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/MET rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/MET diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/MST b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/MST similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/MST rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/MST diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/MST7MDT b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/MST7MDT similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/MST7MDT rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/MST7MDT diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Mexico/BajaNorte b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Mexico/BajaNorte similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Mexico/BajaNorte rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Mexico/BajaNorte diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Mexico/BajaSur b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Mexico/BajaSur similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Mexico/BajaSur rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Mexico/BajaSur diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Mexico/General b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Mexico/General similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Mexico/General rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Mexico/General diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/NZ b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/NZ similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/NZ rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/NZ diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/NZ-CHAT b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/NZ-CHAT similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/NZ-CHAT rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/NZ-CHAT diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Navajo b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Navajo similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Navajo rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Navajo diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/PRC b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/PRC similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/PRC rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/PRC diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/PST8PDT b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/PST8PDT similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/PST8PDT rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/PST8PDT diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Apia b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Apia similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Apia rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Apia diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Auckland b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Auckland similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Auckland rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Auckland diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Bougainville b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Bougainville similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Bougainville rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Bougainville diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Chatham b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Chatham similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Chatham rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Chatham diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Chuuk b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Chuuk similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Chuuk rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Chuuk diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Easter b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Easter similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Easter rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Easter diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Efate b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Efate similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Efate rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Efate diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Enderbury b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Enderbury similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Enderbury rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Enderbury diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Fakaofo b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Fakaofo similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Fakaofo rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Fakaofo diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Fiji b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Fiji similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Fiji rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Fiji diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Funafuti b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Funafuti similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Funafuti rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Funafuti diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Galapagos b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Galapagos similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Galapagos rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Galapagos diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Gambier b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Gambier similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Gambier rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Gambier diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Guadalcanal b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Guadalcanal similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Guadalcanal rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Guadalcanal diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Guam b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Guam similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Guam rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Guam diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Honolulu b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Honolulu similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Honolulu rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Honolulu diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Johnston b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Johnston similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Johnston rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Johnston diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Kanton b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Kanton similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Kanton rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Kanton diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Kiritimati b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Kiritimati similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Kiritimati rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Kiritimati diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Kosrae b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Kosrae similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Kosrae rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Kosrae diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Kwajalein b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Kwajalein similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Kwajalein rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Kwajalein diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Majuro b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Majuro similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Majuro rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Majuro diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Marquesas b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Marquesas similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Marquesas rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Marquesas diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Midway b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Midway similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Midway rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Midway diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Nauru b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Nauru similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Nauru rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Nauru diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Niue b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Niue similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Niue rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Niue diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Norfolk b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Norfolk similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Norfolk rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Norfolk diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Noumea b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Noumea similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Noumea rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Noumea diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Pago_Pago b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Pago_Pago similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Pago_Pago rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Pago_Pago diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Palau b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Palau similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Palau rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Palau diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Pitcairn b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Pitcairn similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Pitcairn rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Pitcairn diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Pohnpei b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Pohnpei similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Pohnpei rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Pohnpei diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Ponape b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Ponape similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Ponape rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Ponape diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Port_Moresby b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Port_Moresby similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Port_Moresby rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Port_Moresby diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Rarotonga b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Rarotonga similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Rarotonga rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Rarotonga diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Saipan b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Saipan similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Saipan rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Saipan diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Samoa b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Samoa similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Samoa rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Samoa diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Tahiti b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Tahiti similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Tahiti rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Tahiti diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Tarawa b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Tarawa similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Tarawa rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Tarawa diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Tongatapu b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Tongatapu similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Tongatapu rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Tongatapu diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Truk b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Truk similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Truk rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Truk diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Wake b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Wake similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Wake rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Wake diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Wallis b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Wallis similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Wallis rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Wallis diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Yap b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Yap similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Yap rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Yap diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Poland b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Poland similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Poland rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Poland diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Portugal b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Portugal similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Portugal rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Portugal diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/ROC b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/ROC similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/ROC rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/ROC diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/ROK b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/ROK similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/ROK rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/ROK diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Singapore b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Singapore similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Singapore rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Singapore diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Turkey b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Turkey similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Turkey rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Turkey diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/UCT b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/UCT similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/UCT rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/UCT diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/US/Alaska b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/US/Alaska similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/US/Alaska rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/US/Alaska diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/US/Aleutian b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/US/Aleutian similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/US/Aleutian rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/US/Aleutian diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/US/Arizona b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/US/Arizona similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/US/Arizona rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/US/Arizona diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/US/Central b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/US/Central similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/US/Central rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/US/Central diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/US/East-Indiana b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/US/East-Indiana similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/US/East-Indiana rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/US/East-Indiana diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/US/Eastern b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/US/Eastern similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/US/Eastern rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/US/Eastern diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/US/Hawaii b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/US/Hawaii similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/US/Hawaii rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/US/Hawaii diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/US/Indiana-Starke b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/US/Indiana-Starke similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/US/Indiana-Starke rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/US/Indiana-Starke diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/US/Michigan b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/US/Michigan similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/US/Michigan rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/US/Michigan diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/US/Mountain b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/US/Mountain similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/US/Mountain rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/US/Mountain diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/US/Pacific b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/US/Pacific similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/US/Pacific rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/US/Pacific diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/US/Samoa b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/US/Samoa similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/US/Samoa rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/US/Samoa diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/UTC b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/UTC similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/UTC rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/UTC diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Universal b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Universal similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Universal rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Universal diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/W-SU b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/W-SU similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/W-SU rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/W-SU diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/WET b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/WET similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/WET rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/WET diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Zulu b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Zulu similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Zulu rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/Zulu diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/iso3166.tab b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/iso3166.tab similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/iso3166.tab rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/iso3166.tab diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/zone1970.tab b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/zone1970.tab similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/zone1970.tab rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/zone1970.tab diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/zonenow.tab b/third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/zonenow.tab similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/zonenow.tab rename to third-party/webrtc/absl/absl/time/internal/cctz/testdata/zoneinfo/zonenow.tab diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/get_current_time_chrono.inc b/third-party/webrtc/absl/absl/time/internal/get_current_time_chrono.inc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/get_current_time_chrono.inc rename to third-party/webrtc/absl/absl/time/internal/get_current_time_chrono.inc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/get_current_time_posix.inc b/third-party/webrtc/absl/absl/time/internal/get_current_time_posix.inc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/get_current_time_posix.inc rename to third-party/webrtc/absl/absl/time/internal/get_current_time_posix.inc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/test_util.cc b/third-party/webrtc/absl/absl/time/internal/test_util.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/test_util.cc rename to third-party/webrtc/absl/absl/time/internal/test_util.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/test_util.h b/third-party/webrtc/absl/absl/time/internal/test_util.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/internal/test_util.h rename to third-party/webrtc/absl/absl/time/internal/test_util.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/time.cc b/third-party/webrtc/absl/absl/time/time.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/time.cc rename to third-party/webrtc/absl/absl/time/time.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/time.h b/third-party/webrtc/absl/absl/time/time.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/time.h rename to third-party/webrtc/absl/absl/time/time.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/time_benchmark.cc b/third-party/webrtc/absl/absl/time/time_benchmark.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/time_benchmark.cc rename to third-party/webrtc/absl/absl/time/time_benchmark.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/time_test.cc b/third-party/webrtc/absl/absl/time/time_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/time_test.cc rename to third-party/webrtc/absl/absl/time/time_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/time/time_zone_test.cc b/third-party/webrtc/absl/absl/time/time_zone_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/time/time_zone_test.cc rename to third-party/webrtc/absl/absl/time/time_zone_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/types/CMakeLists.txt b/third-party/webrtc/absl/absl/types/CMakeLists.txt similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/types/CMakeLists.txt rename to third-party/webrtc/absl/absl/types/CMakeLists.txt diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/types/any.h b/third-party/webrtc/absl/absl/types/any.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/types/any.h rename to third-party/webrtc/absl/absl/types/any.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/types/any_exception_safety_test.cc b/third-party/webrtc/absl/absl/types/any_exception_safety_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/types/any_exception_safety_test.cc rename to third-party/webrtc/absl/absl/types/any_exception_safety_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/types/any_test.cc b/third-party/webrtc/absl/absl/types/any_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/types/any_test.cc rename to third-party/webrtc/absl/absl/types/any_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/types/bad_any_cast.cc b/third-party/webrtc/absl/absl/types/bad_any_cast.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/types/bad_any_cast.cc rename to third-party/webrtc/absl/absl/types/bad_any_cast.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/types/bad_any_cast.h b/third-party/webrtc/absl/absl/types/bad_any_cast.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/types/bad_any_cast.h rename to third-party/webrtc/absl/absl/types/bad_any_cast.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/types/bad_optional_access.cc b/third-party/webrtc/absl/absl/types/bad_optional_access.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/types/bad_optional_access.cc rename to third-party/webrtc/absl/absl/types/bad_optional_access.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/types/bad_optional_access.h b/third-party/webrtc/absl/absl/types/bad_optional_access.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/types/bad_optional_access.h rename to third-party/webrtc/absl/absl/types/bad_optional_access.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/types/bad_variant_access.cc b/third-party/webrtc/absl/absl/types/bad_variant_access.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/types/bad_variant_access.cc rename to third-party/webrtc/absl/absl/types/bad_variant_access.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/types/bad_variant_access.h b/third-party/webrtc/absl/absl/types/bad_variant_access.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/types/bad_variant_access.h rename to third-party/webrtc/absl/absl/types/bad_variant_access.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/types/compare.h b/third-party/webrtc/absl/absl/types/compare.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/types/compare.h rename to third-party/webrtc/absl/absl/types/compare.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/types/compare_test.cc b/third-party/webrtc/absl/absl/types/compare_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/types/compare_test.cc rename to third-party/webrtc/absl/absl/types/compare_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/types/internal/optional.h b/third-party/webrtc/absl/absl/types/internal/optional.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/types/internal/optional.h rename to third-party/webrtc/absl/absl/types/internal/optional.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/types/internal/span.h b/third-party/webrtc/absl/absl/types/internal/span.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/types/internal/span.h rename to third-party/webrtc/absl/absl/types/internal/span.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/types/internal/variant.h b/third-party/webrtc/absl/absl/types/internal/variant.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/types/internal/variant.h rename to third-party/webrtc/absl/absl/types/internal/variant.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/types/optional.h b/third-party/webrtc/absl/absl/types/optional.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/types/optional.h rename to third-party/webrtc/absl/absl/types/optional.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/types/optional_exception_safety_test.cc b/third-party/webrtc/absl/absl/types/optional_exception_safety_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/types/optional_exception_safety_test.cc rename to third-party/webrtc/absl/absl/types/optional_exception_safety_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/types/optional_test.cc b/third-party/webrtc/absl/absl/types/optional_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/types/optional_test.cc rename to third-party/webrtc/absl/absl/types/optional_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/types/span.h b/third-party/webrtc/absl/absl/types/span.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/types/span.h rename to third-party/webrtc/absl/absl/types/span.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/types/span_test.cc b/third-party/webrtc/absl/absl/types/span_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/types/span_test.cc rename to third-party/webrtc/absl/absl/types/span_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/types/variant.h b/third-party/webrtc/absl/absl/types/variant.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/types/variant.h rename to third-party/webrtc/absl/absl/types/variant.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/types/variant_benchmark.cc b/third-party/webrtc/absl/absl/types/variant_benchmark.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/types/variant_benchmark.cc rename to third-party/webrtc/absl/absl/types/variant_benchmark.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/types/variant_exception_safety_test.cc b/third-party/webrtc/absl/absl/types/variant_exception_safety_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/types/variant_exception_safety_test.cc rename to third-party/webrtc/absl/absl/types/variant_exception_safety_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/types/variant_test.cc b/third-party/webrtc/absl/absl/types/variant_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/types/variant_test.cc rename to third-party/webrtc/absl/absl/types/variant_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/utility/CMakeLists.txt b/third-party/webrtc/absl/absl/utility/CMakeLists.txt similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/utility/CMakeLists.txt rename to third-party/webrtc/absl/absl/utility/CMakeLists.txt diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/utility/internal/if_constexpr.h b/third-party/webrtc/absl/absl/utility/internal/if_constexpr.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/utility/internal/if_constexpr.h rename to third-party/webrtc/absl/absl/utility/internal/if_constexpr.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/utility/internal/if_constexpr_test.cc b/third-party/webrtc/absl/absl/utility/internal/if_constexpr_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/utility/internal/if_constexpr_test.cc rename to third-party/webrtc/absl/absl/utility/internal/if_constexpr_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/utility/utility.h b/third-party/webrtc/absl/absl/utility/utility.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/utility/utility.h rename to third-party/webrtc/absl/absl/utility/utility.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/absl/utility/utility_test.cc b/third-party/webrtc/absl/absl/utility/utility_test.cc similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/absl/utility/utility_test.cc rename to third-party/webrtc/absl/absl/utility/utility_test.cc diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/ci/absl_alternate_options.h b/third-party/webrtc/absl/ci/absl_alternate_options.h similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/ci/absl_alternate_options.h rename to third-party/webrtc/absl/ci/absl_alternate_options.h diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/ci/cmake_common.sh b/third-party/webrtc/absl/ci/cmake_common.sh similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/ci/cmake_common.sh rename to third-party/webrtc/absl/ci/cmake_common.sh diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/ci/cmake_install_test.sh b/third-party/webrtc/absl/ci/cmake_install_test.sh similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/ci/cmake_install_test.sh rename to third-party/webrtc/absl/ci/cmake_install_test.sh diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/ci/linux_arm_clang-latest_libcxx_bazel.sh b/third-party/webrtc/absl/ci/linux_arm_clang-latest_libcxx_bazel.sh similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/ci/linux_arm_clang-latest_libcxx_bazel.sh rename to third-party/webrtc/absl/ci/linux_arm_clang-latest_libcxx_bazel.sh diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/ci/linux_clang-latest_libcxx_asan_bazel.sh b/third-party/webrtc/absl/ci/linux_clang-latest_libcxx_asan_bazel.sh similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/ci/linux_clang-latest_libcxx_asan_bazel.sh rename to third-party/webrtc/absl/ci/linux_clang-latest_libcxx_asan_bazel.sh diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/ci/linux_clang-latest_libcxx_bazel.sh b/third-party/webrtc/absl/ci/linux_clang-latest_libcxx_bazel.sh similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/ci/linux_clang-latest_libcxx_bazel.sh rename to third-party/webrtc/absl/ci/linux_clang-latest_libcxx_bazel.sh diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/ci/linux_clang-latest_libcxx_tsan_bazel.sh b/third-party/webrtc/absl/ci/linux_clang-latest_libcxx_tsan_bazel.sh similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/ci/linux_clang-latest_libcxx_tsan_bazel.sh rename to third-party/webrtc/absl/ci/linux_clang-latest_libcxx_tsan_bazel.sh diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/ci/linux_clang-latest_libstdcxx_bazel.sh b/third-party/webrtc/absl/ci/linux_clang-latest_libstdcxx_bazel.sh similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/ci/linux_clang-latest_libstdcxx_bazel.sh rename to third-party/webrtc/absl/ci/linux_clang-latest_libstdcxx_bazel.sh diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/ci/linux_docker_containers.sh b/third-party/webrtc/absl/ci/linux_docker_containers.sh similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/ci/linux_docker_containers.sh rename to third-party/webrtc/absl/ci/linux_docker_containers.sh diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/ci/linux_gcc-floor_libstdcxx_bazel.sh b/third-party/webrtc/absl/ci/linux_gcc-floor_libstdcxx_bazel.sh similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/ci/linux_gcc-floor_libstdcxx_bazel.sh rename to third-party/webrtc/absl/ci/linux_gcc-floor_libstdcxx_bazel.sh diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/ci/linux_gcc-latest_libstdcxx_bazel.sh b/third-party/webrtc/absl/ci/linux_gcc-latest_libstdcxx_bazel.sh similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/ci/linux_gcc-latest_libstdcxx_bazel.sh rename to third-party/webrtc/absl/ci/linux_gcc-latest_libstdcxx_bazel.sh diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/ci/linux_gcc-latest_libstdcxx_cmake.sh b/third-party/webrtc/absl/ci/linux_gcc-latest_libstdcxx_cmake.sh similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/ci/linux_gcc-latest_libstdcxx_cmake.sh rename to third-party/webrtc/absl/ci/linux_gcc-latest_libstdcxx_cmake.sh diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/ci/linux_gcc_alpine_cmake.sh b/third-party/webrtc/absl/ci/linux_gcc_alpine_cmake.sh similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/ci/linux_gcc_alpine_cmake.sh rename to third-party/webrtc/absl/ci/linux_gcc_alpine_cmake.sh diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/ci/macos_xcode_bazel.sh b/third-party/webrtc/absl/ci/macos_xcode_bazel.sh similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/ci/macos_xcode_bazel.sh rename to third-party/webrtc/absl/ci/macos_xcode_bazel.sh diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/ci/macos_xcode_cmake.sh b/third-party/webrtc/absl/ci/macos_xcode_cmake.sh similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/ci/macos_xcode_cmake.sh rename to third-party/webrtc/absl/ci/macos_xcode_cmake.sh diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/ci/windows_clangcl_bazel.bat b/third-party/webrtc/absl/ci/windows_clangcl_bazel.bat similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/ci/windows_clangcl_bazel.bat rename to third-party/webrtc/absl/ci/windows_clangcl_bazel.bat diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/ci/windows_msvc_bazel.bat b/third-party/webrtc/absl/ci/windows_msvc_bazel.bat similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/ci/windows_msvc_bazel.bat rename to third-party/webrtc/absl/ci/windows_msvc_bazel.bat diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/ci/windows_msvc_cmake.bat b/third-party/webrtc/absl/ci/windows_msvc_cmake.bat similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/ci/windows_msvc_cmake.bat rename to third-party/webrtc/absl/ci/windows_msvc_cmake.bat diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/conanfile.py b/third-party/webrtc/absl/conanfile.py similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/conanfile.py rename to third-party/webrtc/absl/conanfile.py diff --git a/third-party/webrtc/absl/third_party/abseil-cpp/create_lts.py b/third-party/webrtc/absl/create_lts.py similarity index 100% rename from third-party/webrtc/absl/third_party/abseil-cpp/create_lts.py rename to third-party/webrtc/absl/create_lts.py From d5a6cb86d218cdc1ad8978e25c2c640d4e6336eb Mon Sep 17 00:00:00 2001 From: Isaac <> Date: Wed, 18 Jun 2025 11:57:34 +0400 Subject: [PATCH 2/8] Cleanup --- .../Sources/AccountContext.swift | 1 - .../AccountContext/Sources/WatchManager.swift | 23 - submodules/LottieCpp/BUILD | 2 - .../Search/SettingsSearchableItems.swift | 14 +- submodules/TelegramUI/BUILD | 3 - .../PeerInfoScreen/Sources/PeerInfoData.swift | 5 +- .../TelegramUI/Sources/AccountContext.swift | 2 - .../TelegramUI/Sources/AppDelegate.swift | 40 +- .../Sources/ApplicationContext.swift | 51 +- .../TelegramUI/Sources/WatchManager.swift | 25 - submodules/WatchBridge/BUILD | 33 - submodules/WatchBridge/Impl/BUILD | 27 - .../WatchBridgeImpl/TGBridgeServer.h | 29 - .../WatchBridgeImpl/WatchBridgeImpl.h | 3 - .../WatchBridge/Impl/Sources/TGBridgeServer.m | 770 ------------ .../WatchBridge/Sources/WatchBridge.swift | 551 --------- .../Sources/WatchCommunicationManager.swift | 219 ---- .../Sources/WatchRequestHandlers.swift | 884 -------------- submodules/WatchBridgeAudio/BUILD | 19 - submodules/WatchBridgeAudio/Impl/BUILD | 27 - .../TGBridgeAudioDecoder.h | 8 - .../TGBridgeAudioEncoder.h | 8 - .../WatchBridgeAudioImpl.h | 6 - .../Impl/Sources/TGBridgeAudioDecoder.mm | 197 ---- .../Impl/Sources/TGBridgeAudioEncoder.m | 564 --------- .../Sources/LegacyBridgeAudio.swift | 25 - submodules/WatchCommon/BUILD | 0 submodules/WatchCommon/Host/BUILD | 25 - .../TGBridgeActionMediaAttachment.h | 36 - .../TGBridgeAudioMediaAttachment.h | 16 - .../WatchCommon/TGBridgeBotCommandInfo.h | 12 - .../WatchCommon/TGBridgeBotInfo.h | 12 - .../PublicHeaders/WatchCommon/TGBridgeChat.h | 46 - .../WatchCommon/TGBridgeChatMessages.h | 14 - .../WatchCommon/TGBridgeCommon.h | 95 -- .../TGBridgeContactMediaAttachment.h | 13 - .../WatchCommon/TGBridgeContext.h | 18 - .../TGBridgeDocumentMediaAttachment.h | 23 - .../TGBridgeForwardedMessageMediaAttachment.h | 9 - .../TGBridgeImageMediaAttachment.h | 10 - .../TGBridgeLocationMediaAttachment.h | 19 - .../WatchCommon/TGBridgeLocationVenue.h | 15 - .../WatchCommon/TGBridgeMediaAttachment.h | 11 - .../WatchCommon/TGBridgeMessage.h | 65 - .../WatchCommon/TGBridgeMessageEntities.h | 59 - .../TGBridgeMessageEntitiesAttachment.h | 8 - .../WatchCommon/TGBridgePeerIdAdapter.h | 52 - .../TGBridgePeerNotificationSettings.h | 7 - .../TGBridgeReplyMarkupMediaAttachment.h | 9 - .../TGBridgeReplyMessageMediaAttachment.h | 10 - .../WatchCommon/TGBridgeSubscriptions.h | 268 ----- .../TGBridgeUnsupportedMediaAttachment.h | 9 - .../PublicHeaders/WatchCommon/TGBridgeUser.h | 59 - .../TGBridgeVideoMediaAttachment.h | 12 - .../TGBridgeWebPageMediaAttachment.h | 23 - .../PublicHeaders/WatchCommon/WatchCommon.h | 29 - .../Sources/TGBridgeActionMediaAttachment.m | 33 - .../Sources/TGBridgeAudioMediaAttachment.m | 65 - .../Host/Sources/TGBridgeBotCommandInfo.m | 25 - .../Host/Sources/TGBridgeBotInfo.m | 25 - .../WatchCommon/Host/Sources/TGBridgeChat.m | 148 --- .../Host/Sources/TGBridgeChatMessages.m | 27 - .../WatchCommon/Host/Sources/TGBridgeCommon.m | 295 ----- .../Sources/TGBridgeContactMediaAttachment.m | 60 - .../Host/Sources/TGBridgeContext.m | 101 -- .../Sources/TGBridgeDocumentMediaAttachment.m | 84 -- .../TGBridgeForwardedMessageMediaAttachment.m | 35 - .../Sources/TGBridgeImageMediaAttachment.m | 33 - .../Sources/TGBridgeLocationMediaAttachment.m | 95 -- .../Host/Sources/TGBridgeLocationVenue.m | 66 -- .../Host/Sources/TGBridgeMediaAttachment.m | 32 - .../Host/Sources/TGBridgeMessage.m | 242 ---- .../Host/Sources/TGBridgeMessageEntities.m | 83 -- .../TGBridgeMessageEntitiesAttachment.m | 30 - .../TGBridgePeerNotificationSettings.m | 22 - .../TGBridgeReplyMarkupMediaAttachment.m | 29 - .../TGBridgeReplyMessageMediaAttachment.m | 33 - .../Host/Sources/TGBridgeSubscriptions.m | 1048 ----------------- .../TGBridgeUnsupportedMediaAttachment.m | 35 - .../WatchCommon/Host/Sources/TGBridgeUser.m | 286 ----- .../Sources/TGBridgeVideoMediaAttachment.m | 39 - .../Sources/TGBridgeWebPageMediaAttachment.m | 65 - .../Sources/TGBridgeActionMediaAttachment.h | 36 - .../Sources/TGBridgeActionMediaAttachment.m | 33 - .../Sources/TGBridgeAudioMediaAttachment.h | 16 - .../Sources/TGBridgeAudioMediaAttachment.m | 65 - .../Watch/Sources/TGBridgeBotCommandInfo.h | 12 - .../Watch/Sources/TGBridgeBotCommandInfo.m | 25 - .../Watch/Sources/TGBridgeBotInfo.h | 12 - .../Watch/Sources/TGBridgeBotInfo.m | 25 - .../WatchCommon/Watch/Sources/TGBridgeChat.h | 46 - .../WatchCommon/Watch/Sources/TGBridgeChat.m | 139 --- .../Watch/Sources/TGBridgeChatMessages.h | 14 - .../Watch/Sources/TGBridgeChatMessages.m | 27 - .../Watch/Sources/TGBridgeCommon.h | 95 -- .../Watch/Sources/TGBridgeCommon.m | 295 ----- .../Sources/TGBridgeContactMediaAttachment.h | 13 - .../Sources/TGBridgeContactMediaAttachment.m | 60 - .../Watch/Sources/TGBridgeContext.h | 18 - .../Watch/Sources/TGBridgeContext.m | 101 -- .../Sources/TGBridgeDocumentMediaAttachment.h | 23 - .../Sources/TGBridgeDocumentMediaAttachment.m | 84 -- .../TGBridgeForwardedMessageMediaAttachment.h | 9 - .../TGBridgeForwardedMessageMediaAttachment.m | 35 - .../Sources/TGBridgeImageMediaAttachment.h | 10 - .../Sources/TGBridgeImageMediaAttachment.m | 33 - .../Sources/TGBridgeLocationMediaAttachment.h | 19 - .../Sources/TGBridgeLocationMediaAttachment.m | 95 -- .../Watch/Sources/TGBridgeLocationVenue.h | 15 - .../Watch/Sources/TGBridgeLocationVenue.m | 66 -- .../Watch/Sources/TGBridgeMediaAttachment.h | 11 - .../Watch/Sources/TGBridgeMediaAttachment.m | 32 - .../Watch/Sources/TGBridgeMessage.h | 65 - .../Watch/Sources/TGBridgeMessage.m | 238 ---- .../Watch/Sources/TGBridgeMessageEntities.h | 59 - .../Watch/Sources/TGBridgeMessageEntities.m | 83 -- .../TGBridgeMessageEntitiesAttachment.h | 8 - .../TGBridgeMessageEntitiesAttachment.m | 30 - .../Watch/Sources/TGBridgePeerIdAdapter.h | 52 - .../TGBridgePeerNotificationSettings.h | 7 - .../TGBridgePeerNotificationSettings.m | 22 - .../TGBridgeReplyMarkupMediaAttachment.h | 9 - .../TGBridgeReplyMarkupMediaAttachment.m | 29 - .../TGBridgeReplyMessageMediaAttachment.h | 10 - .../TGBridgeReplyMessageMediaAttachment.m | 33 - .../Watch/Sources/TGBridgeSubscriptions.h | 268 ----- .../Watch/Sources/TGBridgeSubscriptions.m | 1048 ----------------- .../TGBridgeUnsupportedMediaAttachment.h | 9 - .../TGBridgeUnsupportedMediaAttachment.m | 35 - .../WatchCommon/Watch/Sources/TGBridgeUser.h | 59 - .../WatchCommon/Watch/Sources/TGBridgeUser.m | 286 ----- .../Sources/TGBridgeVideoMediaAttachment.h | 12 - .../Sources/TGBridgeVideoMediaAttachment.m | 39 - .../Sources/TGBridgeWebPageMediaAttachment.h | 23 - .../Sources/TGBridgeWebPageMediaAttachment.m | 65 - .../Watch/Sources/WatchCommonWatch.h | 36 - third-party/libx264/BUILD | 211 ---- third-party/libx264/Public/libx264/x264.h | 1019 ---------------- .../libx264/Public/libx264/x264_config.h | 6 - third-party/libx264/build-libx264-bazel.sh | 89 -- third-party/libx264/config/config.h | 42 - 141 files changed, 7 insertions(+), 12905 deletions(-) delete mode 100644 submodules/AccountContext/Sources/WatchManager.swift delete mode 100644 submodules/TelegramUI/Sources/WatchManager.swift delete mode 100644 submodules/WatchBridge/BUILD delete mode 100644 submodules/WatchBridge/Impl/BUILD delete mode 100644 submodules/WatchBridge/Impl/PublicHeaders/WatchBridgeImpl/TGBridgeServer.h delete mode 100644 submodules/WatchBridge/Impl/PublicHeaders/WatchBridgeImpl/WatchBridgeImpl.h delete mode 100644 submodules/WatchBridge/Impl/Sources/TGBridgeServer.m delete mode 100644 submodules/WatchBridge/Sources/WatchBridge.swift delete mode 100644 submodules/WatchBridge/Sources/WatchCommunicationManager.swift delete mode 100644 submodules/WatchBridge/Sources/WatchRequestHandlers.swift delete mode 100644 submodules/WatchBridgeAudio/BUILD delete mode 100644 submodules/WatchBridgeAudio/Impl/BUILD delete mode 100644 submodules/WatchBridgeAudio/Impl/PublicHeaders/WatchBridgeAudioImpl/TGBridgeAudioDecoder.h delete mode 100644 submodules/WatchBridgeAudio/Impl/PublicHeaders/WatchBridgeAudioImpl/TGBridgeAudioEncoder.h delete mode 100644 submodules/WatchBridgeAudio/Impl/PublicHeaders/WatchBridgeAudioImpl/WatchBridgeAudioImpl.h delete mode 100644 submodules/WatchBridgeAudio/Impl/Sources/TGBridgeAudioDecoder.mm delete mode 100644 submodules/WatchBridgeAudio/Impl/Sources/TGBridgeAudioEncoder.m delete mode 100644 submodules/WatchBridgeAudio/Sources/LegacyBridgeAudio.swift delete mode 100644 submodules/WatchCommon/BUILD delete mode 100644 submodules/WatchCommon/Host/BUILD delete mode 100644 submodules/WatchCommon/Host/PublicHeaders/WatchCommon/TGBridgeActionMediaAttachment.h delete mode 100644 submodules/WatchCommon/Host/PublicHeaders/WatchCommon/TGBridgeAudioMediaAttachment.h delete mode 100644 submodules/WatchCommon/Host/PublicHeaders/WatchCommon/TGBridgeBotCommandInfo.h delete mode 100644 submodules/WatchCommon/Host/PublicHeaders/WatchCommon/TGBridgeBotInfo.h delete mode 100644 submodules/WatchCommon/Host/PublicHeaders/WatchCommon/TGBridgeChat.h delete mode 100644 submodules/WatchCommon/Host/PublicHeaders/WatchCommon/TGBridgeChatMessages.h delete mode 100644 submodules/WatchCommon/Host/PublicHeaders/WatchCommon/TGBridgeCommon.h delete mode 100644 submodules/WatchCommon/Host/PublicHeaders/WatchCommon/TGBridgeContactMediaAttachment.h delete mode 100644 submodules/WatchCommon/Host/PublicHeaders/WatchCommon/TGBridgeContext.h delete mode 100644 submodules/WatchCommon/Host/PublicHeaders/WatchCommon/TGBridgeDocumentMediaAttachment.h delete mode 100644 submodules/WatchCommon/Host/PublicHeaders/WatchCommon/TGBridgeForwardedMessageMediaAttachment.h delete mode 100644 submodules/WatchCommon/Host/PublicHeaders/WatchCommon/TGBridgeImageMediaAttachment.h delete mode 100644 submodules/WatchCommon/Host/PublicHeaders/WatchCommon/TGBridgeLocationMediaAttachment.h delete mode 100644 submodules/WatchCommon/Host/PublicHeaders/WatchCommon/TGBridgeLocationVenue.h delete mode 100644 submodules/WatchCommon/Host/PublicHeaders/WatchCommon/TGBridgeMediaAttachment.h delete mode 100644 submodules/WatchCommon/Host/PublicHeaders/WatchCommon/TGBridgeMessage.h delete mode 100644 submodules/WatchCommon/Host/PublicHeaders/WatchCommon/TGBridgeMessageEntities.h delete mode 100644 submodules/WatchCommon/Host/PublicHeaders/WatchCommon/TGBridgeMessageEntitiesAttachment.h delete mode 100644 submodules/WatchCommon/Host/PublicHeaders/WatchCommon/TGBridgePeerIdAdapter.h delete mode 100644 submodules/WatchCommon/Host/PublicHeaders/WatchCommon/TGBridgePeerNotificationSettings.h delete mode 100644 submodules/WatchCommon/Host/PublicHeaders/WatchCommon/TGBridgeReplyMarkupMediaAttachment.h delete mode 100644 submodules/WatchCommon/Host/PublicHeaders/WatchCommon/TGBridgeReplyMessageMediaAttachment.h delete mode 100644 submodules/WatchCommon/Host/PublicHeaders/WatchCommon/TGBridgeSubscriptions.h delete mode 100644 submodules/WatchCommon/Host/PublicHeaders/WatchCommon/TGBridgeUnsupportedMediaAttachment.h delete mode 100644 submodules/WatchCommon/Host/PublicHeaders/WatchCommon/TGBridgeUser.h delete mode 100644 submodules/WatchCommon/Host/PublicHeaders/WatchCommon/TGBridgeVideoMediaAttachment.h delete mode 100644 submodules/WatchCommon/Host/PublicHeaders/WatchCommon/TGBridgeWebPageMediaAttachment.h delete mode 100644 submodules/WatchCommon/Host/PublicHeaders/WatchCommon/WatchCommon.h delete mode 100644 submodules/WatchCommon/Host/Sources/TGBridgeActionMediaAttachment.m delete mode 100644 submodules/WatchCommon/Host/Sources/TGBridgeAudioMediaAttachment.m delete mode 100644 submodules/WatchCommon/Host/Sources/TGBridgeBotCommandInfo.m delete mode 100644 submodules/WatchCommon/Host/Sources/TGBridgeBotInfo.m delete mode 100644 submodules/WatchCommon/Host/Sources/TGBridgeChat.m delete mode 100644 submodules/WatchCommon/Host/Sources/TGBridgeChatMessages.m delete mode 100644 submodules/WatchCommon/Host/Sources/TGBridgeCommon.m delete mode 100644 submodules/WatchCommon/Host/Sources/TGBridgeContactMediaAttachment.m delete mode 100644 submodules/WatchCommon/Host/Sources/TGBridgeContext.m delete mode 100644 submodules/WatchCommon/Host/Sources/TGBridgeDocumentMediaAttachment.m delete mode 100644 submodules/WatchCommon/Host/Sources/TGBridgeForwardedMessageMediaAttachment.m delete mode 100644 submodules/WatchCommon/Host/Sources/TGBridgeImageMediaAttachment.m delete mode 100644 submodules/WatchCommon/Host/Sources/TGBridgeLocationMediaAttachment.m delete mode 100644 submodules/WatchCommon/Host/Sources/TGBridgeLocationVenue.m delete mode 100644 submodules/WatchCommon/Host/Sources/TGBridgeMediaAttachment.m delete mode 100644 submodules/WatchCommon/Host/Sources/TGBridgeMessage.m delete mode 100644 submodules/WatchCommon/Host/Sources/TGBridgeMessageEntities.m delete mode 100644 submodules/WatchCommon/Host/Sources/TGBridgeMessageEntitiesAttachment.m delete mode 100644 submodules/WatchCommon/Host/Sources/TGBridgePeerNotificationSettings.m delete mode 100644 submodules/WatchCommon/Host/Sources/TGBridgeReplyMarkupMediaAttachment.m delete mode 100644 submodules/WatchCommon/Host/Sources/TGBridgeReplyMessageMediaAttachment.m delete mode 100644 submodules/WatchCommon/Host/Sources/TGBridgeSubscriptions.m delete mode 100644 submodules/WatchCommon/Host/Sources/TGBridgeUnsupportedMediaAttachment.m delete mode 100644 submodules/WatchCommon/Host/Sources/TGBridgeUser.m delete mode 100644 submodules/WatchCommon/Host/Sources/TGBridgeVideoMediaAttachment.m delete mode 100644 submodules/WatchCommon/Host/Sources/TGBridgeWebPageMediaAttachment.m delete mode 100644 submodules/WatchCommon/Watch/Sources/TGBridgeActionMediaAttachment.h delete mode 100644 submodules/WatchCommon/Watch/Sources/TGBridgeActionMediaAttachment.m delete mode 100644 submodules/WatchCommon/Watch/Sources/TGBridgeAudioMediaAttachment.h delete mode 100644 submodules/WatchCommon/Watch/Sources/TGBridgeAudioMediaAttachment.m delete mode 100644 submodules/WatchCommon/Watch/Sources/TGBridgeBotCommandInfo.h delete mode 100644 submodules/WatchCommon/Watch/Sources/TGBridgeBotCommandInfo.m delete mode 100644 submodules/WatchCommon/Watch/Sources/TGBridgeBotInfo.h delete mode 100644 submodules/WatchCommon/Watch/Sources/TGBridgeBotInfo.m delete mode 100644 submodules/WatchCommon/Watch/Sources/TGBridgeChat.h delete mode 100644 submodules/WatchCommon/Watch/Sources/TGBridgeChat.m delete mode 100644 submodules/WatchCommon/Watch/Sources/TGBridgeChatMessages.h delete mode 100644 submodules/WatchCommon/Watch/Sources/TGBridgeChatMessages.m delete mode 100644 submodules/WatchCommon/Watch/Sources/TGBridgeCommon.h delete mode 100644 submodules/WatchCommon/Watch/Sources/TGBridgeCommon.m delete mode 100644 submodules/WatchCommon/Watch/Sources/TGBridgeContactMediaAttachment.h delete mode 100644 submodules/WatchCommon/Watch/Sources/TGBridgeContactMediaAttachment.m delete mode 100644 submodules/WatchCommon/Watch/Sources/TGBridgeContext.h delete mode 100644 submodules/WatchCommon/Watch/Sources/TGBridgeContext.m delete mode 100644 submodules/WatchCommon/Watch/Sources/TGBridgeDocumentMediaAttachment.h delete mode 100644 submodules/WatchCommon/Watch/Sources/TGBridgeDocumentMediaAttachment.m delete mode 100644 submodules/WatchCommon/Watch/Sources/TGBridgeForwardedMessageMediaAttachment.h delete mode 100644 submodules/WatchCommon/Watch/Sources/TGBridgeForwardedMessageMediaAttachment.m delete mode 100644 submodules/WatchCommon/Watch/Sources/TGBridgeImageMediaAttachment.h delete mode 100644 submodules/WatchCommon/Watch/Sources/TGBridgeImageMediaAttachment.m delete mode 100644 submodules/WatchCommon/Watch/Sources/TGBridgeLocationMediaAttachment.h delete mode 100644 submodules/WatchCommon/Watch/Sources/TGBridgeLocationMediaAttachment.m delete mode 100644 submodules/WatchCommon/Watch/Sources/TGBridgeLocationVenue.h delete mode 100644 submodules/WatchCommon/Watch/Sources/TGBridgeLocationVenue.m delete mode 100644 submodules/WatchCommon/Watch/Sources/TGBridgeMediaAttachment.h delete mode 100644 submodules/WatchCommon/Watch/Sources/TGBridgeMediaAttachment.m delete mode 100644 submodules/WatchCommon/Watch/Sources/TGBridgeMessage.h delete mode 100644 submodules/WatchCommon/Watch/Sources/TGBridgeMessage.m delete mode 100644 submodules/WatchCommon/Watch/Sources/TGBridgeMessageEntities.h delete mode 100644 submodules/WatchCommon/Watch/Sources/TGBridgeMessageEntities.m delete mode 100644 submodules/WatchCommon/Watch/Sources/TGBridgeMessageEntitiesAttachment.h delete mode 100644 submodules/WatchCommon/Watch/Sources/TGBridgeMessageEntitiesAttachment.m delete mode 100644 submodules/WatchCommon/Watch/Sources/TGBridgePeerIdAdapter.h delete mode 100644 submodules/WatchCommon/Watch/Sources/TGBridgePeerNotificationSettings.h delete mode 100644 submodules/WatchCommon/Watch/Sources/TGBridgePeerNotificationSettings.m delete mode 100644 submodules/WatchCommon/Watch/Sources/TGBridgeReplyMarkupMediaAttachment.h delete mode 100644 submodules/WatchCommon/Watch/Sources/TGBridgeReplyMarkupMediaAttachment.m delete mode 100644 submodules/WatchCommon/Watch/Sources/TGBridgeReplyMessageMediaAttachment.h delete mode 100644 submodules/WatchCommon/Watch/Sources/TGBridgeReplyMessageMediaAttachment.m delete mode 100644 submodules/WatchCommon/Watch/Sources/TGBridgeSubscriptions.h delete mode 100644 submodules/WatchCommon/Watch/Sources/TGBridgeSubscriptions.m delete mode 100644 submodules/WatchCommon/Watch/Sources/TGBridgeUnsupportedMediaAttachment.h delete mode 100644 submodules/WatchCommon/Watch/Sources/TGBridgeUnsupportedMediaAttachment.m delete mode 100644 submodules/WatchCommon/Watch/Sources/TGBridgeUser.h delete mode 100644 submodules/WatchCommon/Watch/Sources/TGBridgeUser.m delete mode 100644 submodules/WatchCommon/Watch/Sources/TGBridgeVideoMediaAttachment.h delete mode 100644 submodules/WatchCommon/Watch/Sources/TGBridgeVideoMediaAttachment.m delete mode 100644 submodules/WatchCommon/Watch/Sources/TGBridgeWebPageMediaAttachment.h delete mode 100644 submodules/WatchCommon/Watch/Sources/TGBridgeWebPageMediaAttachment.m delete mode 100644 submodules/WatchCommon/Watch/Sources/WatchCommonWatch.h delete mode 100644 third-party/libx264/BUILD delete mode 100644 third-party/libx264/Public/libx264/x264.h delete mode 100644 third-party/libx264/Public/libx264/x264_config.h delete mode 100755 third-party/libx264/build-libx264-bazel.sh delete mode 100644 third-party/libx264/config/config.h diff --git a/submodules/AccountContext/Sources/AccountContext.swift b/submodules/AccountContext/Sources/AccountContext.swift index 4c40bb195f..13770abdf4 100644 --- a/submodules/AccountContext/Sources/AccountContext.swift +++ b/submodules/AccountContext/Sources/AccountContext.swift @@ -1343,7 +1343,6 @@ public protocol AccountContext: AnyObject { var downloadedMediaStoreManager: DownloadedMediaStoreManager { get } var peerChannelMemberCategoriesContextsManager: PeerChannelMemberCategoriesContextsManager { get } var wallpaperUploadManager: WallpaperUploadManager? { get } - var watchManager: WatchManager? { get } var inAppPurchaseManager: InAppPurchaseManager? { get } var starsContext: StarsContext? { get } diff --git a/submodules/AccountContext/Sources/WatchManager.swift b/submodules/AccountContext/Sources/WatchManager.swift deleted file mode 100644 index ce2e97c3ef..0000000000 --- a/submodules/AccountContext/Sources/WatchManager.swift +++ /dev/null @@ -1,23 +0,0 @@ -import Foundation -import SwiftSignalKit -import TelegramCore - -public struct WatchRunningTasks: Equatable { - public let running: Bool - public let version: Int32 - - public init(running: Bool, version: Int32) { - self.running = running - self.version = version - } - - public static func ==(lhs: WatchRunningTasks, rhs: WatchRunningTasks) -> Bool { - return lhs.running == rhs.running && lhs.version == rhs.version - } -} - -public protocol WatchManager: AnyObject { - var watchAppInstalled: Signal { get } - var navigateToMessageRequested: Signal { get } - var runningTasks: Signal { get } -} diff --git a/submodules/LottieCpp/BUILD b/submodules/LottieCpp/BUILD index 7569482041..8c4fd461d4 100644 --- a/submodules/LottieCpp/BUILD +++ b/submodules/LottieCpp/BUILD @@ -23,9 +23,7 @@ objc_library( "-I{}/lottiecpp/Sources".format(package_name()), ], cxxopts = [ - "-Werror", "-std=c++17", - "-I{}/lottiecpp/Sources".format(package_name()), ], hdrs = glob([ "lottiecpp/PublicHeaders/**/*.h", diff --git a/submodules/SettingsUI/Sources/Search/SettingsSearchableItems.swift b/submodules/SettingsUI/Sources/Search/SettingsSearchableItems.swift index 92ac289279..6e70f69596 100644 --- a/submodules/SettingsUI/Sources/Search/SettingsSearchableItems.swift +++ b/submodules/SettingsUI/Sources/Search/SettingsSearchableItems.swift @@ -895,9 +895,6 @@ private func languageSearchableItems(context: AccountContext, localizations: [Lo } func settingsSearchableItems(context: AccountContext, notificationExceptionsList: Signal, archivedStickerPacks: Signal<[ArchivedStickerPackItem]?, NoError>, privacySettings: Signal, hasTwoStepAuth: Signal, twoStepAuthData: Signal, activeSessionsContext: Signal, webSessionsContext: Signal) -> Signal<[SettingsSearchableItem], NoError> { - let watchAppInstalled = (context.watchManager?.watchAppInstalled ?? .single(false)) - |> take(1) - let canAddAccount = activeAccountsAndPeers(context: context) |> take(1) |> map { accountsAndPeers -> Bool in @@ -991,8 +988,8 @@ func settingsSearchableItems(context: AccountContext, notificationExceptionsList } } - return combineLatest(watchAppInstalled, canAddAccount, localizations, notificationSettings, notificationExceptionsList, archivedStickerPacks, proxyServers, privacySettings, hasTwoStepAuth, twoStepAuthData, activeSessionsContext, activeWebSessionsContext) - |> map { watchAppInstalled, canAddAccount, localizations, notificationSettings, notificationExceptionsList, archivedStickerPacks, proxyServers, privacySettings, hasTwoStepAuth, twoStepAuthData, activeSessionsContext, activeWebSessionsContext in + return combineLatest(canAddAccount, localizations, notificationSettings, notificationExceptionsList, archivedStickerPacks, proxyServers, privacySettings, hasTwoStepAuth, twoStepAuthData, activeSessionsContext, activeWebSessionsContext) + |> map { canAddAccount, localizations, notificationSettings, notificationExceptionsList, archivedStickerPacks, proxyServers, privacySettings, hasTwoStepAuth, twoStepAuthData, activeSessionsContext, activeWebSessionsContext in let strings = context.sharedContext.currentPresentationData.with { $0 }.strings var allItems: [SettingsSearchableItem] = [] @@ -1043,13 +1040,6 @@ func settingsSearchableItems(context: AccountContext, notificationExceptionsList let storiesItems = storiesSearchableItems(context: context) allItems.append(contentsOf: storiesItems) - if watchAppInstalled { - let watch = SettingsSearchableItem(id: .watch(0), title: strings.Settings_AppleWatch, alternate: synonyms(strings.SettingsSearch_Synonyms_Watch), icon: .watch, breadcrumbs: [], present: { context, _, present in - present(.push, watchSettingsController(context: context)) - }) - allItems.append(watch) - } - if let hasTwoStepAuth = hasTwoStepAuth, hasTwoStepAuth { let passport = SettingsSearchableItem(id: .passport(0), title: strings.Settings_Passport, alternate: synonyms(strings.SettingsSearch_Synonyms_Passport), icon: .passport, breadcrumbs: [], present: { context, _, present in present(.modal, SecureIdAuthController(context: context, mode: .list)) diff --git a/submodules/TelegramUI/BUILD b/submodules/TelegramUI/BUILD index 3d7252bf1c..65920d174a 100644 --- a/submodules/TelegramUI/BUILD +++ b/submodules/TelegramUI/BUILD @@ -71,7 +71,6 @@ swift_library( "//submodules/TelegramVoip:TelegramVoip", "//submodules/DeviceAccess:DeviceAccess", "//submodules/Utils/DeviceModel", - "//submodules/WatchCommon/Host:WatchCommon", "//submodules/BuildConfig:BuildConfig", "//submodules/BuildConfigExtra:BuildConfigExtra", "//submodules/rlottie:RLottieBinding", @@ -193,8 +192,6 @@ swift_library( "//submodules/RaiseToListen:RaiseToListen", "//submodules/OpusBinding:OpusBinding", "//third-party/opus:opus", - "//submodules/WatchBridgeAudio:WatchBridgeAudio", - "//submodules/WatchBridge:WatchBridge", "//submodules/ShareItems:ShareItems", "//submodules/ShareItems/Impl:ShareItemsImpl", "//submodules/SettingsUI:SettingsUI", diff --git a/submodules/TelegramUI/Components/PeerInfo/PeerInfoScreen/Sources/PeerInfoData.swift b/submodules/TelegramUI/Components/PeerInfo/PeerInfoScreen/Sources/PeerInfoData.swift index 60a59f702f..a09cd2413b 100644 --- a/submodules/TelegramUI/Components/PeerInfo/PeerInfoScreen/Sources/PeerInfoData.swift +++ b/submodules/TelegramUI/Components/PeerInfo/PeerInfoScreen/Sources/PeerInfoData.swift @@ -864,7 +864,6 @@ func peerInfoScreenSettingsData(context: AccountContext, peerId: EnginePeer.Id, combineLatest(notificationExceptions, notificationsAuthorizationStatus.get(), notificationsWarningSuppressed.get()), combineLatest(context.account.viewTracker.featuredStickerPacks(), archivedStickerPacks), hasPassport, - (context.watchManager?.watchAppInstalled ?? .single(false)), context.account.postbox.preferencesView(keys: [PreferencesKeys.appConfiguration]), context.engine.notices.getServerProvidedSuggestions(), context.engine.data.get( @@ -882,7 +881,7 @@ func peerInfoScreenSettingsData(context: AccountContext, peerId: EnginePeer.Id, peerInfoPersonalOrLinkedChannel(context: context, peerId: peerId, isSettings: true), starsState ) - |> map { peerView, accountsAndPeers, accountSessions, privacySettings, sharedPreferences, notifications, stickerPacks, hasPassport, hasWatchApp, accountPreferences, suggestions, limits, hasPassword, isPowerSavingEnabled, hasStories, bots, personalChannel, starsState -> PeerInfoScreenData in + |> map { peerView, accountsAndPeers, accountSessions, privacySettings, sharedPreferences, notifications, stickerPacks, hasPassport, accountPreferences, suggestions, limits, hasPassword, isPowerSavingEnabled, hasStories, bots, personalChannel, starsState -> PeerInfoScreenData in let (notificationExceptions, notificationsAuthorizationStatus, notificationsWarningSuppressed) = notifications let (featuredStickerPacks, archivedStickerPacks) = stickerPacks @@ -925,7 +924,7 @@ func peerInfoScreenSettingsData(context: AccountContext, peerId: EnginePeer.Id, userLimits: peer?.isPremium == true ? limits.1 : limits.0, bots: bots, hasPassport: hasPassport, - hasWatchApp: hasWatchApp, + hasWatchApp: false, enableQRLogin: enableQRLogin ) diff --git a/submodules/TelegramUI/Sources/AccountContext.swift b/submodules/TelegramUI/Sources/AccountContext.swift index b5fc100555..a4dea6fcd0 100644 --- a/submodules/TelegramUI/Sources/AccountContext.swift +++ b/submodules/TelegramUI/Sources/AccountContext.swift @@ -155,8 +155,6 @@ public final class AccountContextImpl: AccountContext { return self._countriesConfiguration.get() } - public var watchManager: WatchManager? - private var storedPassword: (String, CFAbsoluteTime, SwiftSignalKit.Timer)? private var limitsConfigurationDisposable: Disposable? private var contentSettingsDisposable: Disposable? diff --git a/submodules/TelegramUI/Sources/AppDelegate.swift b/submodules/TelegramUI/Sources/AppDelegate.swift index b9f65b0406..fa814c6142 100644 --- a/submodules/TelegramUI/Sources/AppDelegate.swift +++ b/submodules/TelegramUI/Sources/AppDelegate.swift @@ -19,7 +19,6 @@ import OverlayStatusController import UndoUI import LegacyUI import PassportUI -import WatchBridge import SettingsUI import AppBundle import UrlHandling @@ -1052,26 +1051,7 @@ private func extractAccountManagerState(records: AccountRecordsView mapToSignal { context -> Signal in - if let context = context, let watchManager = context.context.watchManager { - let accountId = context.context.account.id - let runningTasks: Signal = .single(nil) - |> then(watchManager.runningTasks) - return runningTasks - |> distinctUntilChanged - |> map { value -> AccountRecordId? in - if let value = value, value.running { - return accountId - } else { - return nil - } - } - |> distinctUntilChanged - } else { - return .single(nil) - } - }*/ + let wakeupManager = SharedWakeupManager(beginBackgroundTask: { name, expiration in let id = application.beginBackgroundTask(withName: name, expirationHandler: expiration) Logger.shared.log("App \(self.episodeId)", "Begin background task \(name): \(id)") @@ -1101,8 +1081,6 @@ private func extractAccountManagerState(records: AccountRecordsView() self.context.set(self.sharedContextPromise.get() |> deliverOnMainQueue @@ -1141,7 +1119,7 @@ private func extractAccountManagerState(records: AccountRecordsView deliverOnMainQueue |> map { accountAndSettings -> AuthorizedApplicationContext? in return accountAndSettings.flatMap { context, callListSettings in - return AuthorizedApplicationContext(sharedApplicationContext: sharedApplicationContext, mainWindow: self.mainWindow, watchManagerArguments: .single(nil), context: context as! AccountContextImpl, accountManager: sharedApplicationContext.sharedContext.accountManager, showCallsTab: callListSettings.showTab, reinitializedNotificationSettings: { + return AuthorizedApplicationContext(sharedApplicationContext: sharedApplicationContext, mainWindow: self.mainWindow, context: context as! AccountContextImpl, accountManager: sharedApplicationContext.sharedContext.accountManager, showCallsTab: callListSettings.showTab, reinitializedNotificationSettings: { let _ = (self.context.get() |> take(1) |> deliverOnMainQueue).start(next: { context in @@ -1385,20 +1363,6 @@ private func extractAccountManagerState(records: AccountRecordsView flatMap { WatchCommunicationManagerContext(context: $0.context) }, allowBackgroundTimeExtension: { timeout in - let _ = (self.sharedContextPromise.get() - |> take(1)).start(next: { sharedContext in - sharedContext.wakeupManager.allowBackgroundTimeExtension(timeout: timeout) - }) - })) - let _ = self.watchCommunicationManagerPromise.get().start(next: { manager in - if let manager = manager { - watchManagerArgumentsPromise.set(.single(manager.arguments)) - } else { - watchManagerArgumentsPromise.set(.single(nil)) - } - })*/ - self.resetBadge() if #available(iOS 9.1, *) { diff --git a/submodules/TelegramUI/Sources/ApplicationContext.swift b/submodules/TelegramUI/Sources/ApplicationContext.swift index 841b38138f..aec4ca0639 100644 --- a/submodules/TelegramUI/Sources/ApplicationContext.swift +++ b/submodules/TelegramUI/Sources/ApplicationContext.swift @@ -19,7 +19,6 @@ import TelegramPermissionsUI import PasscodeUI import ImageBlur import FastBlur -import WatchBridge import SettingsUI import AppLock import AccountUtils @@ -155,7 +154,7 @@ final class AuthorizedApplicationContext { private var showCallsTabDisposable: Disposable? private var enablePostboxTransactionsDiposable: Disposable? - init(sharedApplicationContext: SharedApplicationContext, mainWindow: Window1, watchManagerArguments: Signal, context: AccountContextImpl, accountManager: AccountManager, showCallsTab: Bool, reinitializedNotificationSettings: @escaping () -> Void) { + init(sharedApplicationContext: SharedApplicationContext, mainWindow: Window1, context: AccountContextImpl, accountManager: AccountManager, showCallsTab: Bool, reinitializedNotificationSettings: @escaping () -> Void) { self.sharedApplicationContext = sharedApplicationContext setupLegacyComponents(context: context) @@ -798,54 +797,6 @@ final class AuthorizedApplicationContext { } }) - let _ = (watchManagerArguments - |> deliverOnMainQueue).start(next: { [weak self] arguments in - guard let strongSelf = self else { - return - } - - let watchManager = WatchManagerImpl(arguments: arguments) - strongSelf.context.watchManager = watchManager - - strongSelf.watchNavigateToMessageDisposable.set((strongSelf.context.sharedContext.applicationBindings.applicationInForeground |> mapToSignal({ applicationInForeground -> Signal<(Bool, MessageId), NoError> in - return watchManager.navigateToMessageRequested - |> map { messageId in - return (applicationInForeground, messageId) - } - |> deliverOnMainQueue - })).start(next: { [weak self] applicationInForeground, messageId in - if let strongSelf = self { - if applicationInForeground { - var chatIsVisible = false - if let controller = strongSelf.rootController.viewControllers.last as? ChatControllerImpl, case .peer(messageId.peerId) = controller.chatLocation { - chatIsVisible = true - } - - let navigateToMessage = { - let _ = (strongSelf.context.engine.data.get(TelegramEngine.EngineData.Item.Peer.Peer(id: messageId.peerId)) - |> deliverOnMainQueue).start(next: { peer in - guard let peer = peer else { - return - } - - strongSelf.context.sharedContext.navigateToChatController(NavigateToChatControllerParams(navigationController: strongSelf.rootController, context: strongSelf.context, chatLocation: .peer(peer), subject: .message(id: .id(messageId), highlight: ChatControllerSubject.MessageHighlight(quote: nil), timecode: nil, setupReply: false))) - }) - } - - if chatIsVisible { - navigateToMessage() - } else { - let presentationData = strongSelf.context.sharedContext.currentPresentationData.with { $0 } - let controller = textAlertController(context: strongSelf.context, title: presentationData.strings.WatchRemote_AlertTitle, text: presentationData.strings.WatchRemote_AlertText, actions: [TextAlertAction(type: .defaultAction, title: presentationData.strings.Common_Cancel, action: {}), TextAlertAction(type: .genericAction, title: presentationData.strings.WatchRemote_AlertOpen, action:navigateToMessage)]) - (strongSelf.rootController.viewControllers.last as? ViewController)?.present(controller, in: .window(.root)) - } - } else { - //strongSelf.notificationManager.presentWatchContinuityNotification(context: strongSelf.context, messageId: messageId) - } - } - })) - }) - self.rootController.setForceInCallStatusBar((self.context.sharedContext as! SharedAccountContextImpl).currentCallStatusBarNode) if let groupCallController = self.context.sharedContext.currentGroupCallController as? VoiceChatController { if let overlayController = groupCallController.currentOverlayController { diff --git a/submodules/TelegramUI/Sources/WatchManager.swift b/submodules/TelegramUI/Sources/WatchManager.swift deleted file mode 100644 index daebf13070..0000000000 --- a/submodules/TelegramUI/Sources/WatchManager.swift +++ /dev/null @@ -1,25 +0,0 @@ -import Foundation -import SwiftSignalKit -import TelegramCore -import AccountContext -import WatchBridge - -public final class WatchManagerImpl: WatchManager { - private let arguments: WatchManagerArguments? - - public init(arguments: WatchManagerArguments?) { - self.arguments = arguments - } - - public var watchAppInstalled: Signal { - return self.arguments?.appInstalled ?? .single(false) - } - - public var navigateToMessageRequested: Signal { - return self.arguments?.navigateToMessageRequested ?? .never() - } - - public var runningTasks: Signal { - return self.arguments?.runningTasks ?? .single(nil) - } -} diff --git a/submodules/WatchBridge/BUILD b/submodules/WatchBridge/BUILD deleted file mode 100644 index 5766afcb8f..0000000000 --- a/submodules/WatchBridge/BUILD +++ /dev/null @@ -1,33 +0,0 @@ -load("@build_bazel_rules_swift//swift:swift.bzl", "swift_library") - -swift_library( - name = "WatchBridge", - module_name = "WatchBridge", - srcs = glob([ - "Sources/**/*.swift", - ]), - copts = [ - "-warnings-as-errors", - ], - deps = [ - "//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit", - "//submodules/SSignalKit/SSignalKit:SSignalKit", - "//submodules/Postbox:Postbox", - "//submodules/TelegramCore:TelegramCore", - "//submodules/WatchCommon/Host:WatchCommon", - "//submodules/WatchBridgeAudio:WatchBridgeAudio", - "//submodules/TelegramPresentationData:TelegramPresentationData", - "//submodules/TelegramUIPreferences:TelegramUIPreferences", - "//submodules/AccountContext:AccountContext", - "//submodules/AvatarNode:AvatarNode", - "//submodules/StickerResources:StickerResources", - "//submodules/PhotoResources:PhotoResources", - "//submodules/LegacyComponents:LegacyComponents", - "//submodules/LegacyUI:LegacyUI", - "//submodules/PhoneNumberFormat:PhoneNumberFormat", - "//submodules/WatchBridge/Impl:WatchBridgeImpl", - ], - visibility = [ - "//visibility:public", - ], -) diff --git a/submodules/WatchBridge/Impl/BUILD b/submodules/WatchBridge/Impl/BUILD deleted file mode 100644 index 764f26875a..0000000000 --- a/submodules/WatchBridge/Impl/BUILD +++ /dev/null @@ -1,27 +0,0 @@ - -objc_library( - name = "WatchBridgeImpl", - enable_modules = True, - module_name = "WatchBridgeImpl", - srcs = glob([ - "Sources/**/*.m", - "Sources/**/*.h", - ], allow_empty=True), - hdrs = glob([ - "PublicHeaders/**/*.h", - ]), - includes = [ - "PublicHeaders", - ], - deps = [ - "//submodules/LegacyComponents:LegacyComponents", - "//submodules/WatchCommon/Host:WatchCommon", - ], - sdk_frameworks = [ - "Foundation", - "WatchConnectivity", - ], - visibility = [ - "//visibility:public", - ], -) diff --git a/submodules/WatchBridge/Impl/PublicHeaders/WatchBridgeImpl/TGBridgeServer.h b/submodules/WatchBridge/Impl/PublicHeaders/WatchBridgeImpl/TGBridgeServer.h deleted file mode 100644 index d28a8b0320..0000000000 --- a/submodules/WatchBridge/Impl/PublicHeaders/WatchBridgeImpl/TGBridgeServer.h +++ /dev/null @@ -1,29 +0,0 @@ -#import -#import - -@class TGBridgeSubscription; - -@interface TGBridgeServer : NSObject - -@property (nonatomic, readonly) NSURL * _Nullable temporaryFilesURL; - -@property (nonatomic, readonly) bool isRunning; - -- (instancetype _Nonnull)initWithHandler:(SSignal * _Nullable (^ _Nonnull)(TGBridgeSubscription * _Nullable))handler fileHandler:(void (^ _Nonnull)(NSString * _Nullable, NSDictionary * _Nullable))fileHandler dispatchOnQueue:(void (^ _Nonnull)(void (^ _Nonnull)(void)))dispatchOnQueue logFunction:(void (^ _Nonnull)(NSString * _Nullable))logFunction allowBackgroundTimeExtension:(void (^ _Nonnull)())allowBackgroundTimeExtension; -- (void)startRunning; - -- (SSignal * _Nonnull)watchAppInstalledSignal; -- (SSignal * _Nonnull)runningRequestsSignal; - -- (void)setAuthorized:(bool)authorized userId:(int64_t)userId; -- (void)setMicAccessAllowed:(bool)allowed; -- (void)setStartupData:(NSDictionary * _Nullable)data; -- (void)pushContext; - -- (void)sendFileWithURL:(NSURL * _Nonnull)url metadata:(NSDictionary * _Nullable)metadata asMessageData:(bool)asMessageData; -- (void)sendFileWithData:(NSData * _Nonnull)data metadata:(NSDictionary * _Nullable)metadata errorHandler:(void (^ _Nullable)(void))errorHandler; - -- (NSInteger)wakeupNetwork; -- (void)suspendNetworkIfReady:(NSInteger)token; - -@end diff --git a/submodules/WatchBridge/Impl/PublicHeaders/WatchBridgeImpl/WatchBridgeImpl.h b/submodules/WatchBridge/Impl/PublicHeaders/WatchBridgeImpl/WatchBridgeImpl.h deleted file mode 100644 index 8ed2f162d1..0000000000 --- a/submodules/WatchBridge/Impl/PublicHeaders/WatchBridgeImpl/WatchBridgeImpl.h +++ /dev/null @@ -1,3 +0,0 @@ -#import - -#import diff --git a/submodules/WatchBridge/Impl/Sources/TGBridgeServer.m b/submodules/WatchBridge/Impl/Sources/TGBridgeServer.m deleted file mode 100644 index 5664ac12af..0000000000 --- a/submodules/WatchBridge/Impl/Sources/TGBridgeServer.m +++ /dev/null @@ -1,770 +0,0 @@ -#import - -#import -#import -#import -#import - -@interface TGBridgeSignalManager : NSObject - -- (bool)startSignalForKey:(NSString *)key producer:(SSignal *(^)())producer; -- (void)haltSignalForKey:(NSString *)key; -- (void)haltAllSignals; - -@end - -@interface TGBridgeServer () -{ - SSignal *(^_handler)(TGBridgeSubscription *); - void (^_fileHandler)(NSString *, NSDictionary *); - void (^_logFunction)(NSString *); - void (^_dispatch)(void (^)(void)); - - bool _pendingStart; - - bool _processingNotification; - - int32_t _sessionId; - volatile int32_t _tasksVersion; - - TGBridgeContext *_activeContext; - - TGBridgeSignalManager *_signalManager; - - os_unfair_lock _incomingQueueLock; - NSMutableArray *_incomingMessageQueue; - - bool _requestSubscriptionList; - NSArray *_initialSubscriptionList; - - os_unfair_lock _outgoingQueueLock; - NSMutableArray *_outgoingMessageQueue; - - os_unfair_lock _replyHandlerMapLock; - NSMutableDictionary *_replyHandlerMap; - - SPipe *_appInstalled; - - NSMutableDictionary *_runningTasks; - SVariable *_hasRunningTasks; - - void (^_allowBackgroundTimeExtension)(); -} - -@property (nonatomic, readonly) WCSession *session; - -@end - -@implementation TGBridgeServer - -- (instancetype)initWithHandler:(SSignal *(^)(TGBridgeSubscription *))handler fileHandler:(void (^)(NSString *, NSDictionary *))fileHandler dispatchOnQueue:(void (^)(void (^)(void)))dispatchOnQueue logFunction:(void (^)(NSString *))logFunction allowBackgroundTimeExtension:(void (^)())allowBackgroundTimeExtension -{ - self = [super init]; - if (self != nil) - { - _handler = [handler copy]; - _fileHandler = [fileHandler copy]; - _dispatch = [dispatchOnQueue copy]; - _logFunction = [logFunction copy]; - _allowBackgroundTimeExtension = [allowBackgroundTimeExtension copy]; - - _runningTasks = [[NSMutableDictionary alloc] init]; - _hasRunningTasks = [[SVariable alloc] init]; - [_hasRunningTasks set:[SSignal single:@false]]; - - _signalManager = [[TGBridgeSignalManager alloc] init]; - _incomingMessageQueue = [[NSMutableArray alloc] init]; - - self.session.delegate = self; - [self.session activateSession]; - - _replyHandlerMap = [[NSMutableDictionary alloc] init]; - - _appInstalled = [[SPipe alloc] init]; - - _activeContext = [[TGBridgeContext alloc] initWithDictionary:[self.session applicationContext]]; - } - return self; -} - -- (void)log:(NSString *)message -{ - _logFunction(message); -} - -- (void)dispatch:(void (^)(void))action -{ - _dispatch(action); -} - -- (void)startRunning -{ - if (self.isRunning) - return; - - os_unfair_lock_lock(&_incomingQueueLock); - _isRunning = true; - - for (id message in _incomingMessageQueue) - [self handleMessage:message replyHandler:nil finishTask:nil completion:nil]; - - [_incomingMessageQueue removeAllObjects]; - os_unfair_lock_unlock(&_incomingQueueLock); - - dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ - [self dispatch:^{ - _appInstalled.sink(@(self.session.isWatchAppInstalled)); - }]; - }); -} - -- (NSURL *)temporaryFilesURL -{ - return self.session.watchDirectoryURL; -} - -- (SSignal *)watchAppInstalledSignal -{ - return [[SSignal single:@(self.session.watchAppInstalled)] then:_appInstalled.signalProducer()]; -} - -- (SSignal *)runningRequestsSignal -{ - return _hasRunningTasks.signal; -} - -#pragma mark - - -- (void)setAuthorized:(bool)authorized userId:(int64_t)userId -{ - _activeContext = [_activeContext updatedWithAuthorized:authorized peerId:userId]; -} - -- (void)setMicAccessAllowed:(bool)allowed -{ - _activeContext = [_activeContext updatedWithMicAccessAllowed:allowed]; -} - -- (void)setStartupData:(NSDictionary *)data -{ - _activeContext = [_activeContext updatedWithPreheatData:data]; -} - -- (void)pushContext -{ - NSError *error; - [self.session updateApplicationContext:[_activeContext dictionary] error:&error]; - - //if (error != nil) - //TGLog(@"[BridgeServer][ERROR] Failed to push active application context: %@", error.localizedDescription); -} - -#pragma mark - - -- (void)handleMessageData:(NSData *)messageData task:(id)task replyHandler:(void (^)(NSData *))replyHandler completion:(void (^)(void))completion -{ - if (_allowBackgroundTimeExtension) { - _allowBackgroundTimeExtension(); - } - - __block id runningTask = task; - void (^finishTask)(NSTimeInterval) = ^(NSTimeInterval delay) - { - if (runningTask == nil) - return; - - void (^block)(void) = ^ - { - [self dispatch:^{ - [runningTask dispose]; - //TGLog(@"[BridgeServer]: ended taskid: %d", runningTask); - runningTask = nil; - }]; - }; - - if (delay > DBL_EPSILON) - dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)((delay) * NSEC_PER_SEC)), dispatch_get_main_queue(), block); - else - block(); - }; - - id message = [NSKeyedUnarchiver unarchiveObjectWithData:messageData]; - os_unfair_lock_lock(&_incomingQueueLock); - if (!self.isRunning) - { - [_incomingMessageQueue addObject:message]; - - if (replyHandler != nil) - replyHandler([NSData data]); - - finishTask(4.0); - - os_unfair_lock_unlock(&_incomingQueueLock); - return; - } - os_unfair_lock_unlock(&_incomingQueueLock); - - [self handleMessage:message replyHandler:replyHandler finishTask:finishTask completion:completion]; -} - -- (void)handleMessage:(id)message replyHandler:(void (^)(NSData *))replyHandler finishTask:(void (^)(NSTimeInterval))finishTask completion:(void (^)(void))completion -{ - if ([message isKindOfClass:[TGBridgeSubscription class]]) - { - TGBridgeSubscription *subcription = (TGBridgeSubscription *)message; - [self _createSubscription:subcription replyHandler:replyHandler finishTask:finishTask completion:completion]; - - //TGLog(@"[BridgeServer] Create subscription: %@", subcription); - } - else if ([message isKindOfClass:[TGBridgeDisposal class]]) - { - TGBridgeDisposal *disposal = (TGBridgeDisposal *)message; - [_signalManager haltSignalForKey:[NSString stringWithFormat:@"%lld", disposal.identifier]]; - - if (replyHandler != nil) - replyHandler([NSData data]); - - if (completion != nil) - completion(); - - //TGLog(@"[BridgeServer] Dispose subscription %lld", disposal.identifier); - - if (finishTask != nil) - finishTask(0); - } - else if ([message isKindOfClass:[TGBridgeSubscriptionList class]]) - { - TGBridgeSubscriptionList *list = (TGBridgeSubscriptionList *)message; - for (TGBridgeSubscription *subscription in list.subscriptions) - [self _createSubscription:subscription replyHandler:nil finishTask:nil completion:nil]; - - //TGLog(@"[BridgeServer] Received subscription list, applying"); - - if (replyHandler != nil) - replyHandler([NSData data]); - - if (finishTask != nil) - finishTask(4.0); - - if (completion != nil) - completion(); - } - else if ([message isKindOfClass:[TGBridgePing class]]) - { - TGBridgePing *ping = (TGBridgePing *)message; - if (_sessionId != ping.sessionId) - { - //TGLog(@"[BridgeServer] Session id mismatch"); - - if (_sessionId != 0) - { - //TGLog(@"[BridgeServer] Halt all active subscriptions"); - [_signalManager haltAllSignals]; - - os_unfair_lock_lock(&_outgoingQueueLock); - [_outgoingMessageQueue removeAllObjects]; - os_unfair_lock_unlock(&_outgoingQueueLock); - } - - _sessionId = ping.sessionId; - - if (self.session.isReachable) - [self _requestSubscriptionList]; - else - _requestSubscriptionList = true; - } - else - { - if (_requestSubscriptionList) - { - _requestSubscriptionList = false; - [self _requestSubscriptionList]; - } - - [self _sendQueuedResponses]; - - if (replyHandler != nil) - replyHandler([NSData data]); - } - - if (completion != nil) - completion(); - - if (finishTask != nil) - finishTask(4.0); - } - else - { - if (completion != nil) - completion(); - if (finishTask != nil) - finishTask(1.0); - } -} - -- (void)_createSubscription:(TGBridgeSubscription *)subscription replyHandler:(void (^)(NSData *))replyHandler finishTask:(void (^)(NSTimeInterval))finishTask completion:(void (^)(void))completion -{ - SSignal *subscriptionHandler = _handler(subscription); - if (replyHandler != nil) - { - os_unfair_lock_lock(&_replyHandlerMapLock); - _replyHandlerMap[@(subscription.identifier)] = replyHandler; - os_unfair_lock_unlock(&_replyHandlerMapLock); - } - - if (subscriptionHandler != nil) - { - [_signalManager startSignalForKey:[NSString stringWithFormat:@"%lld", subscription.identifier] producer:^SSignal * - { - STimer *timer = [[STimer alloc] initWithTimeout:2.0 repeat:false completion:^(__unused STimer *timer) - { - os_unfair_lock_lock(&_replyHandlerMapLock); - void (^reply)(NSData *) = _replyHandlerMap[@(subscription.identifier)]; - if (reply == nil) - { - os_unfair_lock_unlock(&_replyHandlerMapLock); - - if (finishTask != nil) - finishTask(2.0); - return; - } - - reply([NSData data]); - [_replyHandlerMap removeObjectForKey:@(subscription.identifier)]; - os_unfair_lock_unlock(&_replyHandlerMapLock); - - if (finishTask != nil) - finishTask(4.0); - - //TGLog(@"[BridgeServer]: subscription 0x%x hit 2.0s timeout, releasing reply handler", subscription.identifier); - } queue:[SQueue mainQueue]]; - [timer start]; - - return [[SSignal alloc] initWithGenerator:^id(__unused SSubscriber *subscriber) - { - return [subscriptionHandler startWithNext:^(id next) - { - [timer invalidate]; - [self _responseToSubscription:subscription message:next type:TGBridgeResponseTypeNext completion:completion]; - - if (finishTask != nil) - finishTask(4.0); - } error:^(id error) - { - [timer invalidate]; - [self _responseToSubscription:subscription message:error type:TGBridgeResponseTypeFailed completion:completion]; - - if (finishTask != nil) - finishTask(4.0); - } completed:^ - { - [timer invalidate]; - [self _responseToSubscription:subscription message:nil type:TGBridgeResponseTypeCompleted completion:completion]; - - if (finishTask != nil) - finishTask(4.0); - }]; - }]; - }]; - } - else - { - os_unfair_lock_lock(&_replyHandlerMapLock); - void (^reply)(NSData *) = _replyHandlerMap[@(subscription.identifier)]; - if (reply == nil) - { - os_unfair_lock_unlock(&_replyHandlerMapLock); - - if (finishTask != nil) - finishTask(2.0); - return; - } - - reply([NSData data]); - [_replyHandlerMap removeObjectForKey:@(subscription.identifier)]; - os_unfair_lock_unlock(&_replyHandlerMapLock); - - if (finishTask != nil) - finishTask(2.0); - } -} - -- (void)_responseToSubscription:(TGBridgeSubscription *)subscription message:(id)message type:(TGBridgeResponseType)type completion:(void (^)(void))completion -{ - TGBridgeResponse *response = nil; - switch (type) - { - case TGBridgeResponseTypeNext: - response = [TGBridgeResponse single:message forSubscription:subscription]; - break; - - case TGBridgeResponseTypeFailed: - response = [TGBridgeResponse fail:message forSubscription:subscription]; - break; - - case TGBridgeResponseTypeCompleted: - response = [TGBridgeResponse completeForSubscription:subscription]; - break; - - default: - break; - } - - os_unfair_lock_lock(&_replyHandlerMapLock); - void (^reply)(NSData *) = _replyHandlerMap[@(subscription.identifier)]; - if (reply != nil) - [_replyHandlerMap removeObjectForKey:@(subscription.identifier)]; - os_unfair_lock_unlock(&_replyHandlerMapLock); - - if (_processingNotification) - { - [self _enqueueResponse:response forSubscription:subscription]; - - if (completion != nil) - completion(); - - return; - } - - NSData *messageData = [NSKeyedArchiver archivedDataWithRootObject:response]; - if (reply != nil && messageData.length < 64000) - { - reply(messageData); - - if (completion != nil) - completion(); - } - else - { - if (reply != nil) - reply([NSData data]); - - if (self.session.isReachable) - { - [self.session sendMessageData:messageData replyHandler:nil errorHandler:^(NSError *error) - { - //if (error != nil) - // TGLog(@"[BridgeServer]: send response for subscription %lld failed with error %@", subscription.identifier, error); - }]; - } - else - { - //TGLog(@"[BridgeServer]: client out of reach, queueing response for subscription %lld", subscription.identifier); - [self _enqueueResponse:response forSubscription:subscription]; - } - - if (completion != nil) - completion(); - } -} - -- (void)_enqueueResponse:(TGBridgeResponse *)response forSubscription:(TGBridgeSubscription *)subscription -{ - os_unfair_lock_lock(&_outgoingQueueLock); - NSMutableArray *updatedResponses = (_outgoingMessageQueue != nil) ? [_outgoingMessageQueue mutableCopy] : [[NSMutableArray alloc] init]; - - if (subscription.dropPreviouslyQueued) - { - NSMutableIndexSet *indexSet = [[NSMutableIndexSet alloc] init]; - - [updatedResponses enumerateObjectsUsingBlock:^(TGBridgeResponse *queuedResponse, NSUInteger index, __unused BOOL *stop) - { - if (queuedResponse.subscriptionIdentifier == subscription.identifier) - [indexSet addIndex:index]; - }]; - - [updatedResponses removeObjectsAtIndexes:indexSet]; - } - - [updatedResponses addObject:response]; - - _outgoingMessageQueue = updatedResponses; - os_unfair_lock_unlock(&_outgoingQueueLock); -} - -- (void)_sendQueuedResponses -{ - if (_processingNotification) - return; - - os_unfair_lock_lock(&_outgoingQueueLock); - - if (_outgoingMessageQueue.count > 0) - { - //TGLog(@"[BridgeServer] Sending queued responses"); - - for (TGBridgeResponse *response in _outgoingMessageQueue) - { - NSData *messageData = [NSKeyedArchiver archivedDataWithRootObject:response]; - [self.session sendMessageData:messageData replyHandler:nil errorHandler:nil]; - } - - [_outgoingMessageQueue removeAllObjects]; - } - os_unfair_lock_unlock(&_outgoingQueueLock); -} - -- (void)_requestSubscriptionList -{ - TGBridgeSubscriptionListRequest *request = [[TGBridgeSubscriptionListRequest alloc] initWithSessionId:_sessionId]; - NSData *messageData = [NSKeyedArchiver archivedDataWithRootObject:request]; - [self.session sendMessageData:messageData replyHandler:nil errorHandler:nil]; -} - -- (void)sendFileWithURL:(NSURL *)url metadata:(NSDictionary *)metadata asMessageData:(bool)asMessageData -{ - //TGLog(@"[BridgeServer] Sent file with metadata %@", metadata); - if (asMessageData && self.session.isReachable) { - NSData *data = [NSData dataWithContentsOfURL:url]; - [self sendFileWithData:data metadata:metadata errorHandler:^{ - [self.session transferFile:url metadata:metadata]; - }]; - } else { - [self.session transferFile:url metadata:metadata]; - } -} - -- (void)sendFileWithData:(NSData *)data metadata:(NSDictionary *)metadata errorHandler:(void (^)(void))errorHandler -{ - TGBridgeFile *file = [[TGBridgeFile alloc] initWithData:data metadata:metadata]; - NSData *messageData = [NSKeyedArchiver archivedDataWithRootObject:file]; - [self.session sendMessageData:messageData replyHandler:nil errorHandler:^(NSError *error) { - if (errorHandler != nil) - errorHandler(); - }]; -} - -#pragma mark - Tasks - -- (id)beginTask -{ - int64_t randomId = 0; - arc4random_buf(&randomId, 8); - NSNumber *taskId = @(randomId); - - _runningTasks[taskId] = @true; - [_hasRunningTasks set:[SSignal single:@{@"version": @(_tasksVersion++), @"running": @true}]]; - - SBlockDisposable *taskDisposable = [[SBlockDisposable alloc] initWithBlock:^{ - [_runningTasks removeObjectForKey:taskId]; - [_hasRunningTasks set:[SSignal single:@{@"version": @(_tasksVersion++), @"running": @(_runningTasks.count > 0)}]]; - }]; - - dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)((4.0) * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ - [self dispatch:^{ - [taskDisposable dispose]; - }]; - }); - - return taskDisposable; -} - -#pragma mark - Session Delegate - -- (void)handleReceivedData:(NSData *)messageData replyHandler:(void (^)(NSData *))replyHandler -{ - if (messageData.length == 0) - { - if (replyHandler != nil) - replyHandler([NSData data]); - return; - } - -// __block UIBackgroundTaskIdentifier backgroundTask; -// backgroundTask = [[UIApplication sharedApplication] beginBackgroundTaskWithExpirationHandler:^ -// { -// if (replyHandler != nil) -// replyHandler([NSData data]); -// [[UIApplication sharedApplication] endBackgroundTask:backgroundTask]; -// }]; -// - - [self handleMessageData:messageData task:[self beginTask] replyHandler:replyHandler completion:^{}]; -} - -- (void)session:(WCSession *)__unused session didReceiveMessageData:(NSData *)messageData -{ - [self dispatch:^{ - [self handleReceivedData:messageData replyHandler:nil]; - }]; -} - -- (void)session:(WCSession *)__unused session didReceiveMessageData:(NSData *)messageData replyHandler:(void (^)(NSData *))replyHandler -{ - [self dispatch:^{ - [self handleReceivedData:messageData replyHandler:replyHandler]; - }]; -} - -- (void)session:(WCSession *)__unused session didReceiveFile:(WCSessionFile *)file -{ - NSDictionary *metadata = file.metadata; - if (metadata == nil || ![metadata[TGBridgeIncomingFileTypeKey] isEqualToString:TGBridgeIncomingFileTypeAudio]) - return; - - NSError *error; - NSURL *tempURL = [NSURL URLWithString:file.fileURL.lastPathComponent relativeToURL:self.temporaryFilesURL]; - [[NSFileManager defaultManager] createDirectoryAtPath:self.temporaryFilesURL.path withIntermediateDirectories:true attributes:nil error:&error]; - [[NSFileManager defaultManager] moveItemAtURL:file.fileURL toURL:tempURL error:&error]; - - [self dispatch:^{ - _fileHandler(tempURL.path, file.metadata); - }]; -} - -- (void)session:(WCSession *)__unused session didFinishFileTransfer:(WCSessionFileTransfer *)__unused fileTransfer error:(NSError *)__unused error -{ - -} - -- (void)session:(nonnull WCSession *)session activationDidCompleteWithState:(WCSessionActivationState)activationState error:(nullable NSError *)error { - -} - - -- (void)sessionDidBecomeInactive:(nonnull WCSession *)session { - -} - - -- (void)sessionDidDeactivate:(nonnull WCSession *)session { - -} - -- (void)sessionWatchStateDidChange:(WCSession *)session -{ - [self dispatch:^{ - if (session.isWatchAppInstalled) - [self pushContext]; - - _appInstalled.sink(@(session.isWatchAppInstalled)); - }]; -} - -- (void)sessionReachabilityDidChange:(WCSession *)session -{ - NSLog(@"[TGBridgeServer] Reachability changed: %d", session.isReachable); -} - -#pragma mark - - -- (NSInteger)wakeupNetwork -{ - return 0; -} - -- (void)suspendNetworkIfReady:(NSInteger)token -{ -} - -#pragma mark - - -- (WCSession *)session -{ - return [WCSession defaultSession]; -} - -@end - - -@interface TGBridgeSignalManager() -{ - os_unfair_lock _lock; - NSMutableDictionary *_disposables; -} -@end - -@implementation TGBridgeSignalManager - -- (instancetype)init -{ - self = [super init]; - if (self != nil) - { - _disposables = [[NSMutableDictionary alloc] init]; - } - return self; -} - -- (void)dealloc -{ - NSArray *disposables = nil; - os_unfair_lock_lock(&_lock); - disposables = [_disposables allValues]; - os_unfair_lock_unlock(&_lock); - - for (id disposable in disposables) - { - [disposable dispose]; - } -} - -- (bool)startSignalForKey:(NSString *)key producer:(SSignal *(^)())producer -{ - if (key == nil) - return false; - - bool produce = false; - os_unfair_lock_lock(&_lock); - if (_disposables[key] == nil) - { - _disposables[key] = [[SMetaDisposable alloc] init]; - produce = true; - } - os_unfair_lock_unlock(&_lock); - - if (produce) - { - __weak TGBridgeSignalManager *weakSelf = self; - id disposable = [producer() startWithNext:nil error:^(__unused id error) - { - __strong TGBridgeSignalManager *strongSelf = weakSelf; - if (strongSelf != nil) - { - os_unfair_lock_lock(&strongSelf->_lock); - [strongSelf->_disposables removeObjectForKey:key]; - os_unfair_lock_unlock(&strongSelf->_lock); - } - } completed:^ - { - __strong TGBridgeSignalManager *strongSelf = weakSelf; - if (strongSelf != nil) - { - os_unfair_lock_lock(&strongSelf->_lock); - [strongSelf->_disposables removeObjectForKey:key]; - os_unfair_lock_unlock(&strongSelf->_lock); - } - }]; - - os_unfair_lock_lock(&_lock); - [(SMetaDisposable *)_disposables[key] setDisposable:disposable]; - os_unfair_lock_unlock(&_lock); - } - - return produce; -} - -- (void)haltSignalForKey:(NSString *)key -{ - if (key == nil) - return; - - os_unfair_lock_lock(&_lock); - if (_disposables[key] != nil) - { - [_disposables[key] dispose]; - [_disposables removeObjectForKey:key]; - } - os_unfair_lock_unlock(&_lock); -} - -- (void)haltAllSignals -{ - os_unfair_lock_lock(&_lock); - for (NSObject *disposable in _disposables.allValues) - [disposable dispose]; - [_disposables removeAllObjects]; - os_unfair_lock_unlock(&_lock); -} - -@end diff --git a/submodules/WatchBridge/Sources/WatchBridge.swift b/submodules/WatchBridge/Sources/WatchBridge.swift deleted file mode 100644 index 8f88b40ff7..0000000000 --- a/submodules/WatchBridge/Sources/WatchBridge.swift +++ /dev/null @@ -1,551 +0,0 @@ -import Foundation -import Postbox -import TelegramCore -import WatchCommon -import TelegramPresentationData -import LegacyUI -import PhoneNumberFormat - -private func legacyImageLocationUri(resource: MediaResource) -> String? { - if let resource = resource as? CloudPeerPhotoSizeMediaResource { - return resource.id.stringRepresentation - } - return nil -} - -func makePeerIdFromBridgeIdentifier(_ identifier: Int64) -> PeerId? { - if identifier < 0 && identifier > Int32.min { - return PeerId(namespace: Namespaces.Peer.CloudGroup, id: PeerId.Id._internalFromInt64Value(-identifier)) - } else if identifier < Int64(Int32.min) * 2 && identifier > Int64(Int32.min) * 3 { - return PeerId(namespace: Namespaces.Peer.CloudChannel, id: PeerId.Id._internalFromInt64Value(Int64(Int32.min) &* 2 &- identifier)) - } else if identifier > 0 && identifier < Int32.max { - return PeerId(namespace: Namespaces.Peer.CloudUser, id: PeerId.Id._internalFromInt64Value(identifier)) - } else { - return nil - } -} - -func makeBridgeIdentifier(_ peerId: PeerId) -> Int64 { - switch peerId.namespace { - case Namespaces.Peer.CloudGroup: - return -Int64(peerId.id._internalGetInt64Value()) - case Namespaces.Peer.CloudChannel: - return Int64(Int32.min) * 2 - Int64(peerId.id._internalGetInt64Value()) - default: - return Int64(peerId.id._internalGetInt64Value()) - } -} - -func makeBridgeDeliveryState(_ message: Message?) -> TGBridgeMessageDeliveryState { - if let message = message { - if message.flags.contains(.Failed) { - return .failed - } - else if message.flags.contains(.Sending) { - return .pending - } - } - return .delivered -} - -private func makeBridgeImage(_ image: TelegramMediaImage?) -> TGBridgeImageMediaAttachment? { - if let image = image, let representation = largestImageRepresentation(image.representations) { - let bridgeImage = TGBridgeImageMediaAttachment() - bridgeImage.imageId = image.imageId.id - bridgeImage.dimensions = representation.dimensions.cgSize - return bridgeImage - } else { - return nil - } -} - -func makeBridgeDocument(_ file: TelegramMediaFile?) -> TGBridgeDocumentMediaAttachment? { - if let file = file { - let bridgeDocument = TGBridgeDocumentMediaAttachment() - bridgeDocument.documentId = file.fileId.id - bridgeDocument.fileSize = Int32(file.size ?? 0) - for attribute in file.attributes { - switch attribute { - case let .FileName(fileName): - bridgeDocument.fileName = fileName - case .Animated: - bridgeDocument.isAnimated = true - case let .ImageSize(size): - bridgeDocument.imageSize = NSValue(cgSize: size.cgSize) - case let .Sticker(displayText, packReference, _): - bridgeDocument.isSticker = true - bridgeDocument.stickerAlt = displayText - if let packReference = packReference, case let .id(id, accessHash) = packReference { - bridgeDocument.stickerPackId = id - bridgeDocument.stickerPackAccessHash = accessHash - } - case let .Audio(_, duration, title, performer, _): - bridgeDocument.duration = Int32(clamping: duration) - bridgeDocument.title = title - bridgeDocument.performer = performer - default: - break - } - } - return bridgeDocument - } - return nil -} - -func makeBridgeMedia(message: Message, strings: PresentationStrings, chatPeer: Peer? = nil, filterUnsupportedActions: Bool = true) -> [TGBridgeMediaAttachment] { - var bridgeMedia: [TGBridgeMediaAttachment] = [] - - if let forward = message.forwardInfo { - let bridgeForward = TGBridgeForwardedMessageMediaAttachment() - bridgeForward.peerId = forward.author.flatMap({ makeBridgeIdentifier($0.id) }) ?? 0 - if let sourceMessageId = forward.sourceMessageId { - bridgeForward.mid = sourceMessageId.id - } - bridgeForward.date = forward.date - bridgeMedia.append(bridgeForward) - } - - for attribute in message.attributes { - if let reply = attribute as? ReplyMessageAttribute, let replyMessage = message.associatedMessages[reply.messageId] { - let bridgeReply = TGBridgeReplyMessageMediaAttachment() - bridgeReply.mid = reply.messageId.id - bridgeReply.message = makeBridgeMessage(replyMessage, strings: strings) - bridgeMedia.append(bridgeReply) - } else if let entities = attribute as? TextEntitiesMessageAttribute { - var bridgeEntities: [Any] = [] - for entity in entities.entities { - var bridgeEntity: TGBridgeMessageEntity? = nil - switch entity.type { - case .Url: - bridgeEntity = TGBridgeMessageEntityUrl() - bridgeEntity?.range = NSRange(entity.range) - case .TextUrl: - bridgeEntity = TGBridgeMessageEntityTextUrl() - bridgeEntity?.range = NSRange(entity.range) - case .Email: - bridgeEntity = TGBridgeMessageEntityEmail() - bridgeEntity?.range = NSRange(entity.range) - case .Mention: - bridgeEntity = TGBridgeMessageEntityMention() - bridgeEntity?.range = NSRange(entity.range) - case .Hashtag: - bridgeEntity = TGBridgeMessageEntityHashtag() - bridgeEntity?.range = NSRange(entity.range) - case .BotCommand: - bridgeEntity = TGBridgeMessageEntityBotCommand() - bridgeEntity?.range = NSRange(entity.range) - case .Bold: - bridgeEntity = TGBridgeMessageEntityBold() - bridgeEntity?.range = NSRange(entity.range) - case .Italic: - bridgeEntity = TGBridgeMessageEntityItalic() - bridgeEntity?.range = NSRange(entity.range) - case .Code: - bridgeEntity = TGBridgeMessageEntityCode() - bridgeEntity?.range = NSRange(entity.range) - case .Pre: - bridgeEntity = TGBridgeMessageEntityPre() - bridgeEntity?.range = NSRange(entity.range) - default: - break - } - if let bridgeEntity = bridgeEntity { - bridgeEntities.append(bridgeEntity) - } - } - if !bridgeEntities.isEmpty { - let attachment = TGBridgeMessageEntitiesAttachment() - attachment.entities = bridgeEntities - bridgeMedia.append(attachment) - } - } - } - - for m in message.media { - if let image = m as? TelegramMediaImage, let bridgeImage = makeBridgeImage(image) { - bridgeMedia.append(bridgeImage) - } - else if let file = m as? TelegramMediaFile { - if file.isVideo { - let bridgeVideo = TGBridgeVideoMediaAttachment() - bridgeVideo.videoId = file.fileId.id - - for attribute in file.attributes { - switch attribute { - case let .Video(duration, size, flags, _, _, _): - bridgeVideo.duration = Int32(duration) - bridgeVideo.dimensions = size.cgSize - bridgeVideo.round = flags.contains(.instantRoundVideo) - default: - break - } - } - - bridgeMedia.append(bridgeVideo) - } else if file.isVoice { - let bridgeAudio = TGBridgeAudioMediaAttachment() - bridgeAudio.audioId = file.fileId.id - bridgeAudio.fileSize = Int32(clamping: file.size ?? 0) - - for attribute in file.attributes { - switch attribute { - case let .Audio(_, duration, _, _, _): - bridgeAudio.duration = Int32(clamping: duration) - default: - break - } - } - - bridgeMedia.append(bridgeAudio) - } else if let bridgeDocument = makeBridgeDocument(file) { - bridgeMedia.append(bridgeDocument) - } - } else if let action = m as? TelegramMediaAction { - var bridgeAction: TGBridgeActionMediaAttachment? = nil - var consumed = false - switch action.action { - case let .groupCreated(title): - bridgeAction = TGBridgeActionMediaAttachment() - if chatPeer is TelegramGroup { - bridgeAction?.actionType = .createChat - bridgeAction?.actionData = ["title": title] - } else if let channel = chatPeer as? TelegramChannel { - if case .group = channel.info { - bridgeAction?.actionType = .createChat - bridgeAction?.actionData = ["title": title] - } else { - bridgeAction?.actionType = .channelCreated - } - } - case let .phoneCall(_, discardReason, _, _): - let bridgeAttachment = TGBridgeUnsupportedMediaAttachment() - let incoming = message.flags.contains(.Incoming) - var compactTitle: String = "" - var subTitle: String = "" - if let discardReason = discardReason { - switch discardReason { - case .busy, .disconnect: - compactTitle = strings.Notification_CallCanceled - subTitle = strings.Notification_CallCanceledShort - case .missed: - compactTitle = incoming ? strings.Notification_CallMissed : strings.Notification_CallCanceled - subTitle = incoming ? strings.Notification_CallMissedShort : strings.Notification_CallCanceledShort - case .hangup: - break - } - } - if compactTitle.isEmpty { - compactTitle = incoming ? strings.Notification_CallIncoming : strings.Notification_CallOutgoing - subTitle = incoming ? strings.Notification_CallIncomingShort : strings.Notification_CallOutgoingShort - } - bridgeAttachment.compactTitle = compactTitle - bridgeAttachment.title = strings.Watch_Message_Call - bridgeAttachment.subtitle = subTitle - bridgeMedia.append(bridgeAttachment) - consumed = true - default: - break - } - if let bridgeAction = bridgeAction { - bridgeMedia.append(bridgeAction) - } else if !consumed && !filterUnsupportedActions { - let bridgeAttachment = TGBridgeUnsupportedMediaAttachment() - bridgeAttachment.compactTitle = "" - bridgeAttachment.title = "" - bridgeMedia.append(bridgeAttachment) - } - } else if let poll = m as? TelegramMediaPoll { - let bridgeAttachment = TGBridgeUnsupportedMediaAttachment() - bridgeAttachment.compactTitle = strings.Watch_Message_Poll - bridgeAttachment.title = strings.Watch_Message_Poll - bridgeAttachment.subtitle = poll.text - bridgeMedia.append(bridgeAttachment) - } else if let contact = m as? TelegramMediaContact { - let bridgeContact = TGBridgeContactMediaAttachment() - if let peerId = contact.peerId { - bridgeContact.uid = Int32(clamping: makeBridgeIdentifier(peerId)) - } - bridgeContact.firstName = contact.firstName - bridgeContact.lastName = contact.lastName - bridgeContact.phoneNumber = contact.phoneNumber - bridgeContact.prettyPhoneNumber = formatPhoneNumber(contact.phoneNumber) - bridgeMedia.append(bridgeContact) - } else if let map = m as? TelegramMediaMap { - let bridgeLocation = TGBridgeLocationMediaAttachment() - bridgeLocation.latitude = map.latitude - bridgeLocation.longitude = map.longitude - if let venue = map.venue { - let bridgeVenue = TGBridgeVenueAttachment() - bridgeVenue.title = venue.title - bridgeVenue.address = venue.address - bridgeVenue.provider = venue.provider - bridgeVenue.venueId = venue.id - bridgeLocation.venue = bridgeVenue - } - bridgeMedia.append(bridgeLocation) - } else if let webpage = m as? TelegramMediaWebpage { - if case let .Loaded(content) = webpage.content { - let bridgeWebpage = TGBridgeWebPageMediaAttachment() - bridgeWebpage.webPageId = webpage.id?.id ?? 0 - bridgeWebpage.url = content.url - bridgeWebpage.displayUrl = content.displayUrl - bridgeWebpage.pageType = content.type - bridgeWebpage.siteName = content.websiteName - bridgeWebpage.title = content.title - bridgeWebpage.pageDescription = content.text - bridgeWebpage.photo = makeBridgeImage(content.image) - bridgeWebpage.embedUrl = content.embedUrl - bridgeWebpage.embedType = content.embedType - bridgeWebpage.embedSize = content.embedSize?.cgSize ?? CGSize() - bridgeWebpage.duration = NSNumber(integerLiteral: content.duration ?? 0) - bridgeWebpage.author = content.author - bridgeMedia.append(bridgeWebpage) - } - } else if let game = m as? TelegramMediaGame { - let bridgeAttachment = TGBridgeUnsupportedMediaAttachment() - bridgeAttachment.compactTitle = game.title - bridgeAttachment.title = strings.Watch_Message_Game - bridgeAttachment.subtitle = game.title - bridgeMedia.append(bridgeAttachment) - } else if let invoice = m as? TelegramMediaInvoice { - let bridgeAttachment = TGBridgeUnsupportedMediaAttachment() - bridgeAttachment.compactTitle = invoice.title - bridgeAttachment.title = strings.Watch_Message_Invoice - bridgeAttachment.subtitle = invoice.title - bridgeMedia.append(bridgeAttachment) - } else if let _ = m as? TelegramMediaUnsupported { - let bridgeAttachment = TGBridgeUnsupportedMediaAttachment() - bridgeAttachment.compactTitle = strings.Watch_Message_Unsupported - bridgeAttachment.title = strings.Watch_Message_Unsupported - bridgeAttachment.subtitle = "" - bridgeMedia.append(bridgeAttachment) - } - } - return bridgeMedia -} - -func makeBridgeChat(_ entry: ChatListEntry, strings: PresentationStrings) -> (TGBridgeChat, [Int64 : TGBridgeUser])? { - if case let .MessageEntry(entryData) = entry { - let index = entryData.index - let messages = entryData.messages - let readState = entryData.readState - let renderedPeer = entryData.renderedPeer - let hasFailed = entryData.hasFailed - - guard index.messageIndex.id.peerId.namespace != Namespaces.Peer.SecretChat else { - return nil - } - let message = messages.last - let (bridgeChat, participants) = makeBridgeChat(renderedPeer.peer) - bridgeChat.date = TimeInterval(index.messageIndex.timestamp) - if let message = message { - if let author = message.author { - bridgeChat.fromUid = Int32(clamping: makeBridgeIdentifier(author.id)) - } - bridgeChat.text = message.text - bridgeChat.outgoing = !message.flags.contains(.Incoming) - bridgeChat.deliveryState = makeBridgeDeliveryState(message) - bridgeChat.deliveryError = hasFailed - bridgeChat.media = makeBridgeMedia(message: message, strings: strings, filterUnsupportedActions: false) - } - bridgeChat.unread = readState?.state.isUnread ?? false - bridgeChat.unreadCount = readState?.state.count ?? 0 - - var bridgeUsers: [Int64 : TGBridgeUser] = participants - if let bridgeUser = makeBridgeUser(message?.author, presence: nil) { - bridgeUsers[bridgeUser.identifier] = bridgeUser - } - if let user = renderedPeer.peer as? TelegramUser, user.id != message?.author?.id, let bridgeUser = makeBridgeUser(user, presence: nil) { - bridgeUsers[bridgeUser.identifier] = bridgeUser - } - - return (bridgeChat, bridgeUsers) - } - return nil -} - -func makeBridgeChat(_ peer: Peer?, view: PeerView? = nil) -> (TGBridgeChat, [Int64 : TGBridgeUser]) { - let bridgeChat = TGBridgeChat() - var bridgeUsers: [Int64 : TGBridgeUser] = [:] - if let peer = peer { - bridgeChat.identifier = makeBridgeIdentifier(peer.id) - bridgeChat.userName = peer.addressName - } - if let group = peer as? TelegramGroup { - bridgeChat.isGroup = true - bridgeChat.groupTitle = group.title - bridgeChat.participantsCount = Int32(clamping: group.participantCount) - - if let representation = smallestImageRepresentation(group.photo) { - bridgeChat.groupPhotoSmall = legacyImageLocationUri(resource: representation.resource) - } - if let representation = largestImageRepresentation(group.photo) { - bridgeChat.groupPhotoBig = legacyImageLocationUri(resource: representation.resource) - } - if let view = view, let cachedData = view.cachedData as? CachedGroupData, let participants = cachedData.participants { - bridgeChat.participantsCount = Int32(clamping: participants.participants.count) - var bridgeParticipants: [Int64] = [] - for participant in participants.participants { - if let user = view.peers[participant.peerId], let bridgeUser = makeBridgeUser(user, presence: view.peerPresences[user.id]) { - bridgeParticipants.append(bridgeUser.identifier) - bridgeUsers[bridgeUser.identifier] = bridgeUser - } - } - bridgeChat.participants = bridgeParticipants - } - } else if let channel = peer as? TelegramChannel { - bridgeChat.isChannel = true - bridgeChat.groupTitle = channel.title - if case .group = channel.info { - bridgeChat.isChannelGroup = true - } - bridgeChat.verified = channel.flags.contains(.isVerified) - - if let representation = smallestImageRepresentation(channel.photo) { - bridgeChat.groupPhotoSmall = legacyImageLocationUri(resource: representation.resource) - } - if let representation = largestImageRepresentation(channel.photo) { - bridgeChat.groupPhotoBig = legacyImageLocationUri(resource: representation.resource) - } - if let view = view, let cachedData = view.cachedData as? CachedChannelData { - bridgeChat.about = cachedData.about - } - } - - // _hasLeftGroup = [aDecoder decodeBoolForKey:TGBridgeChatHasLeftGroupKey]; - // _isKickedFromGroup = [aDecoder decodeBoolForKey:TGBridgeChatIsKickedFromGroupKey]; - return (bridgeChat, bridgeUsers) -} - -func makeBridgeUser(_ peer: Peer?, presence: PeerPresence? = nil, cachedData: CachedPeerData? = nil) -> TGBridgeUser? { - if let user = peer as? TelegramUser { - let bridgeUser = TGBridgeUser() - bridgeUser.identifier = makeBridgeIdentifier(user.id) - bridgeUser.firstName = user.firstName - bridgeUser.lastName = user.lastName - bridgeUser.userName = user.addressName - bridgeUser.phoneNumber = user.phone - if let phone = user.phone { - bridgeUser.prettyPhoneNumber = formatPhoneNumber(phone) - } - if let presence = presence as? TelegramUserPresence { - let timestamp = 0 - switch presence.status { - case .recently: - bridgeUser.lastSeen = -2 - case .lastWeek: - bridgeUser.lastSeen = -3 - case .lastMonth: - bridgeUser.lastSeen = -4 - case .none: - bridgeUser.lastSeen = -5 - case let .present(statusTimestamp): - if statusTimestamp > timestamp { - bridgeUser.online = true - } - bridgeUser.lastSeen = TimeInterval(statusTimestamp) - } - } - if let cachedData = cachedData as? CachedUserData { - bridgeUser.about = cachedData.about - } - if let representation = smallestImageRepresentation(user.photo) { - bridgeUser.photoSmall = legacyImageLocationUri(resource: representation.resource) - } - if let representation = largestImageRepresentation(user.photo) { - bridgeUser.photoBig = legacyImageLocationUri(resource: representation.resource) - } - if user.botInfo != nil { - bridgeUser.kind = .bot - bridgeUser.botKind = .generic - } - bridgeUser.verified = user.flags.contains(.isVerified) - return bridgeUser - } else { - return nil - } -} - -func makeBridgePeers(_ message: Message) -> [Int64 : Any] { - var bridgeUsers: [Int64 : Any] = [:] - for (_, peer) in message.peers { - if peer is TelegramUser, let bridgeUser = makeBridgeUser(peer, presence: nil) { - bridgeUsers[bridgeUser.identifier] = bridgeUser - } else if peer is TelegramGroup || peer is TelegramChannel { - let bridgeChat = makeBridgeChat(peer) - bridgeUsers[bridgeChat.0.identifier] = bridgeChat.0 - } - } - if let author = message.author, let bridgeUser = makeBridgeUser(author) { - bridgeUsers[bridgeUser.identifier] = bridgeUser - } - return bridgeUsers -} - -func makeBridgeMessage(_ entry: MessageHistoryEntry, strings: PresentationStrings) -> (TGBridgeMessage, [Int64 : TGBridgeUser])? { - guard let bridgeMessage = makeBridgeMessage(entry.message, strings: strings) else { - return nil - } - if entry.message.id.namespace == Namespaces.Message.Local && !entry.message.flags.contains(.Failed) { - return nil - } - - bridgeMessage.unread = !entry.isRead - - var bridgeUsers: [Int64 : TGBridgeUser] = [:] - if let bridgeUser = makeBridgeUser(entry.message.author, presence: nil) { - bridgeUsers[bridgeUser.identifier] = bridgeUser - } - for (_, peer) in entry.message.peers { - if let bridgeUser = makeBridgeUser(peer, presence: nil) { - bridgeUsers[bridgeUser.identifier] = bridgeUser - } - } - - return (bridgeMessage, bridgeUsers) -} - -func makeBridgeMessage(_ message: Message, strings: PresentationStrings, chatPeer: Peer? = nil) -> TGBridgeMessage? { - var chatPeer = chatPeer - if chatPeer == nil { - chatPeer = message.peers[message.id.peerId] - } - - let bridgeMessage = TGBridgeMessage() - bridgeMessage.identifier = message.id.id - bridgeMessage.date = TimeInterval(message.timestamp) - bridgeMessage.randomId = message.globallyUniqueId ?? 0 -// bridgeMessage.unread = false - bridgeMessage.outgoing = !message.flags.contains(.Incoming) - if let author = message.author { - bridgeMessage.fromUid = makeBridgeIdentifier(author.id) - } - bridgeMessage.toUid = makeBridgeIdentifier(message.id.peerId) - bridgeMessage.cid = makeBridgeIdentifier(message.id.peerId) - bridgeMessage.text = message.text - bridgeMessage.deliveryState = makeBridgeDeliveryState(message) - bridgeMessage.media = makeBridgeMedia(message: message, strings: strings, chatPeer: chatPeer) - return bridgeMessage -} - -func makeVenue(from bridgeVenue: TGBridgeVenueAttachment?) -> MapVenue? { - if let bridgeVenue = bridgeVenue { - return MapVenue(title: bridgeVenue.title, address: bridgeVenue.address, provider: bridgeVenue.provider, id: bridgeVenue.venueId, type: "") - } - return nil -} - -func makeBridgeLocationVenue(_ contextResult: ChatContextResultMessage) -> TGBridgeLocationVenue? { - if case let .mapLocation(mapMedia, _) = contextResult { - let bridgeVenue = TGBridgeLocationVenue() - bridgeVenue.coordinate = CLLocationCoordinate2D(latitude: mapMedia.latitude, longitude: mapMedia.longitude) - if let venue = mapMedia.venue { - bridgeVenue.name = venue.title - bridgeVenue.address = venue.address - bridgeVenue.provider = venue.provider - bridgeVenue.identifier = venue.id - } - return bridgeVenue - } - return nil -} diff --git a/submodules/WatchBridge/Sources/WatchCommunicationManager.swift b/submodules/WatchBridge/Sources/WatchCommunicationManager.swift deleted file mode 100644 index 1c69d158e5..0000000000 --- a/submodules/WatchBridge/Sources/WatchCommunicationManager.swift +++ /dev/null @@ -1,219 +0,0 @@ -import Foundation -import SwiftSignalKit -import Postbox -import TelegramCore -import WatchCommon -import SSignalKit -import TelegramUIPreferences -import AccountContext -import WatchBridgeImpl - -public final class WatchCommunicationManagerContext { - public let context: AccountContext - - public init(context: AccountContext) { - self.context = context - } -} - -public final class WatchManagerArguments { - public let appInstalled: Signal - public let navigateToMessageRequested: Signal - public let runningTasks: Signal - - public init(appInstalled: Signal, navigateToMessageRequested: Signal, runningTasks: Signal) { - self.appInstalled = appInstalled - self.navigateToMessageRequested = navigateToMessageRequested - self.runningTasks = runningTasks - } -} - -public final class WatchCommunicationManager { - private let queue: Queue - private let allowBackgroundTimeExtension: (Double) -> Void - - private var server: TGBridgeServer! - - private let contextDisposable = MetaDisposable() - private let presetsDisposable = MetaDisposable() - - let accountContext = Promise(nil) - private let presets = Promise(nil) - private let navigateToMessagePipe = ValuePipe() - - public init(queue: Queue, context: Signal, allowBackgroundTimeExtension: @escaping (Double) -> Void) { - self.queue = queue - self.allowBackgroundTimeExtension = allowBackgroundTimeExtension - - let handlers = allWatchRequestHandlers.reduce([String : AnyClass]()) { (map, handler) -> [String : AnyClass] in - var map = map - if let handler = handler as? WatchRequestHandler.Type { - for case let subscription as TGBridgeSubscription.Type in handler.handledSubscriptions { - if let name = subscription.subscriptionName() { - map[name] = handler - } - } - } - return map - } - - self.server = TGBridgeServer(handler: { [weak self] subscription -> SSignal? in - guard let strongSelf = self, let subscription = subscription, let handler = handlers[subscription.name] as? WatchRequestHandler.Type else { - return nil - } - return handler.handle(subscription: subscription, manager: strongSelf) - }, fileHandler: { [weak self] path, metadata in - guard let strongSelf = self, let path = path, let metadata = metadata as? [String : Any] else { - return - } - if metadata[TGBridgeIncomingFileTypeKey] as? String == TGBridgeIncomingFileTypeAudio { - let _ = WatchAudioHandler.handleFile(path: path, metadata: metadata, manager: strongSelf).start() - } - }, dispatchOnQueue: { [weak self] block in - if let strongSelf = self { - strongSelf.queue.justDispatch(block) - } - }, logFunction: { value in - if let value = value { - Logger.shared.log("WatchBridge", value) - } - }, allowBackgroundTimeExtension: { - allowBackgroundTimeExtension(4.0) - }) - self.server.startRunning() - - self.contextDisposable.set((combineLatest(self.watchAppInstalled, context |> deliverOn(self.queue))).start(next: { [weak self] appInstalled, appContext in - guard let strongSelf = self, appInstalled else { - return - } - if let context = appContext { - strongSelf.accountContext.set(.single(context.context)) - strongSelf.server.setAuthorized(true, userId: context.context.account.peerId.id._internalGetInt64Value()) - strongSelf.server.setMicAccessAllowed(false) - strongSelf.server.pushContext() - strongSelf.server.setMicAccessAllowed(true) - strongSelf.server.pushContext() - - strongSelf.presets.set(context.context.sharedContext.accountManager.sharedData(keys: [ApplicationSpecificSharedDataKeys.watchPresetSettings]) - |> map({ sharedData -> WatchPresetSettings in - return sharedData.entries[ApplicationSpecificSharedDataKeys.watchPresetSettings]?.get(WatchPresetSettings.self) ?? WatchPresetSettings.defaultSettings - })) - } else { - strongSelf.accountContext.set(.single(nil)) - strongSelf.server.setAuthorized(false, userId: 0) - strongSelf.server.pushContext() - - strongSelf.presets.set(.single(nil)) - } - })) - - self.presetsDisposable.set((combineLatest(self.watchAppInstalled, self.presets.get() |> distinctUntilChanged |> deliverOn(self.queue), context |> deliverOn(self.queue))).start(next: { [weak self] appInstalled, presets, appContext in - guard let strongSelf = self, let presets = presets, let context = appContext, appInstalled, let tempPath = strongSelf.watchTemporaryStorePath else { - return - } - let presentationData = context.context.sharedContext.currentPresentationData.with { $0 } - let defaultSuggestions: [String : String] = [ - "OK": presentationData.strings.Watch_Suggestion_OK, - "Thanks": presentationData.strings.Watch_Suggestion_Thanks, - "WhatsUp": presentationData.strings.Watch_Suggestion_WhatsUp, - "TalkLater": presentationData.strings.Watch_Suggestion_TalkLater, - "CantTalk": presentationData.strings.Watch_Suggestion_CantTalk, - "HoldOn": presentationData.strings.Watch_Suggestion_HoldOn, - "BRB": presentationData.strings.Watch_Suggestion_BRB, - "OnMyWay": presentationData.strings.Watch_Suggestion_OnMyWay - ] - - var suggestions: [String : String] = [:] - for (key, defaultValue) in defaultSuggestions { - suggestions[key] = presets.customPresets[key] ?? defaultValue - } - - let fileManager = FileManager.default - let presetsFileUrl = URL(fileURLWithPath: tempPath + "/presets.dat") - - if fileManager.fileExists(atPath: presetsFileUrl.path) { - try? fileManager.removeItem(atPath: presetsFileUrl.path) - } - let data = try? NSKeyedArchiver.archivedData(withRootObject: suggestions, requiringSecureCoding: false) - try? data?.write(to: presetsFileUrl) - - let _ = strongSelf.sendFile(url: presetsFileUrl, metadata: [TGBridgeIncomingFileIdentifierKey: "presets"]).start() - })) - } - - deinit { - self.contextDisposable.dispose() - self.presetsDisposable.dispose() - } - - public var arguments: WatchManagerArguments { - return WatchManagerArguments(appInstalled: self.watchAppInstalled, navigateToMessageRequested: self.navigateToMessagePipe.signal(), runningTasks: self.runningTasks) - } - - public func requestNavigateToMessage(messageId: MessageId) { - self.navigateToMessagePipe.putNext(messageId) - } - - private var watchAppInstalled: Signal { - return Signal { subscriber in - let disposable = self.server.watchAppInstalledSignal().start(next: { value in - if let value = value as? NSNumber { - subscriber.putNext(value.boolValue) - } - }) - return ActionDisposable { - disposable?.dispose() - } - } |> deliverOn(self.queue) - } - - private var runningTasks: Signal { - return Signal { subscriber in - let disposable = self.server.runningRequestsSignal().start(next: { value in - if let value = value as? Dictionary { - if let running = value["running"] as? Bool, let version = value["version"] as? Int32 { - subscriber.putNext(WatchRunningTasks(running: running, version: version)) - } - } - }) - return ActionDisposable { - disposable?.dispose() - } - } |> deliverOn(self.queue) - } - - public var watchTemporaryStorePath: String? { - return self.server.temporaryFilesURL?.path - } - - public func sendFile(url: URL, metadata: Dictionary, asMessageData: Bool = false) -> Signal { - return Signal { subscriber in - self.server.sendFile(with: url, metadata: metadata, asMessageData: asMessageData) - subscriber.putCompletion() - return EmptyDisposable - } |> runOn(self.queue) - } - - public func sendFile(data: Data, metadata: Dictionary) -> Signal { - return Signal { subscriber in - self.server.sendFile(with: data, metadata: metadata, errorHandler: {}) - subscriber.putCompletion() - return EmptyDisposable - } |> runOn(self.queue) - } -} - -public func watchCommunicationManager(context: Signal, allowBackgroundTimeExtension: @escaping (Double) -> Void) -> Signal { - return Signal { subscriber in - let queue = Queue() - queue.async { - if #available(iOSApplicationExtension 9.0, *) { - subscriber.putNext(WatchCommunicationManager(queue: queue, context: context, allowBackgroundTimeExtension: allowBackgroundTimeExtension)) - } else { - subscriber.putNext(nil) - } - subscriber.putCompletion() - } - return EmptyDisposable - } -} diff --git a/submodules/WatchBridge/Sources/WatchRequestHandlers.swift b/submodules/WatchBridge/Sources/WatchRequestHandlers.swift deleted file mode 100644 index 2292d590eb..0000000000 --- a/submodules/WatchBridge/Sources/WatchRequestHandlers.swift +++ /dev/null @@ -1,884 +0,0 @@ -import Foundation -import SwiftSignalKit -import Postbox -import Display -import TelegramCore -import LegacyComponents -import WatchCommon -import TelegramPresentationData -import AvatarNode -import StickerResources -import PhotoResources -import AccountContext -import WatchBridgeAudio - -let allWatchRequestHandlers: [AnyClass] = [ - WatchChatListHandler.self, - WatchChatMessagesHandler.self, - WatchSendMessageHandler.self, - WatchPeerInfoHandler.self, - WatchMediaHandler.self, - WatchStickersHandler.self, - WatchAudioHandler.self, - WatchLocationHandler.self, - WatchPeerSettingsHandler.self, - WatchContinuationHandler.self, -] - -protocol WatchRequestHandler: AnyObject { - static var handledSubscriptions: [Any] { get } - static func handle(subscription: TGBridgeSubscription, manager: WatchCommunicationManager) -> SSignal -} - -final class WatchChatListHandler: WatchRequestHandler { - static var handledSubscriptions: [Any] { - return [TGBridgeChatListSubscription.self] - } - - static func handle(subscription: TGBridgeSubscription, manager: WatchCommunicationManager) -> SSignal { - if let args = subscription as? TGBridgeChatListSubscription { - let limit = Int(args.limit) - return SSignal { subscriber in - let signal = manager.accountContext.get() - |> take(1) - |> mapToSignal({ context -> Signal<(ChatListView, PresentationData), NoError> in - if let context = context { - return context.account.viewTracker.tailChatListView(groupId: .root, count: limit) - |> map { chatListView, _ -> (ChatListView, PresentationData) in - return (chatListView, context.sharedContext.currentPresentationData.with { $0 }) - } - } else { - return .complete() - } - }) - let disposable = signal.start(next: { chatListView, presentationData in - var chats: [TGBridgeChat] = [] - var users: [Int64 : TGBridgeUser] = [:] - for entry in chatListView.entries.reversed() { - if let (chat, chatUsers) = makeBridgeChat(entry, strings: presentationData.strings) { - chats.append(chat) - users = users.merging(chatUsers, uniquingKeysWith: { (_, last) in last }) - } - } - subscriber.putNext([ TGBridgeChatsArrayKey: chats, TGBridgeUsersDictionaryKey: users ] as [String: Any]) - }) - - return SBlockDisposable { - disposable.dispose() - } - } - } else { - return SSignal.fail(nil) - } - } -} - - -final class WatchChatMessagesHandler: WatchRequestHandler { - static var handledSubscriptions: [Any] { - return [ - TGBridgeChatMessageListSubscription.self, - TGBridgeChatMessageSubscription.self, - TGBridgeReadChatMessageListSubscription.self - ] - } - - static func handle(subscription: TGBridgeSubscription, manager: WatchCommunicationManager) -> SSignal { - if let args = subscription as? TGBridgeChatMessageListSubscription, let peerId = makePeerIdFromBridgeIdentifier(args.peerId) { - return SSignal { subscriber in - let limit = Int(args.rangeMessageCount) - let signal = manager.accountContext.get() - |> take(1) - |> mapToSignal({ context -> Signal<(MessageHistoryView, Bool, PresentationData), NoError> in - if let context = context { - return context.account.viewTracker.aroundMessageHistoryViewForLocation(.peer(peerId: peerId, threadId: nil), index: .upperBound, anchorIndex: .upperBound, count: limit, fixedCombinedReadStates: nil) - |> map { messageHistoryView, _, _ -> (MessageHistoryView, Bool, PresentationData) in - return (messageHistoryView, peerId == context.account.peerId, context.sharedContext.currentPresentationData.with { $0 }) - } - } else { - return .complete() - } - }) - let disposable = signal.start(next: { messageHistoryView, savedMessages, presentationData in - var messages: [TGBridgeMessage] = [] - var users: [Int64 : TGBridgeUser] = [:] - for entry in messageHistoryView.entries.reversed() { - if let (message, messageUsers) = makeBridgeMessage(entry, strings: presentationData.strings) { - messages.append(message) - users = users.merging(messageUsers, uniquingKeysWith: { (_, last) in last }) - } - } - subscriber.putNext([ TGBridgeMessagesArrayKey: messages, TGBridgeUsersDictionaryKey: users ] as [String: Any]) - }) - - return SBlockDisposable { - disposable.dispose() - } - } - } else if let args = subscription as? TGBridgeReadChatMessageListSubscription, let peerId = makePeerIdFromBridgeIdentifier(args.peerId) { - return SSignal { subscriber in - let signal = manager.accountContext.get() - |> take(1) - |> mapToSignal({ context -> Signal in - if let context = context { - let messageId = MessageId(peerId: peerId, namespace: Namespaces.Message.Cloud, id: args.messageId) - return context.engine.messages.applyMaxReadIndexInteractively(index: MessageIndex(id: messageId, timestamp: 0)) - } else { - return .complete() - } - }) - let disposable = signal.start(next: { _ in - subscriber.putNext(true) - }, completed: { - subscriber.putCompletion() - }) - - return SBlockDisposable { - disposable.dispose() - } - } - } else if let args = subscription as? TGBridgeChatMessageSubscription, let peerId = makePeerIdFromBridgeIdentifier(args.peerId) { - return SSignal { subscriber in - let signal = manager.accountContext.get() - |> take(1) - |> mapToSignal({ context -> Signal<(Message, PresentationData)?, NoError> in - if let context = context { - let messageSignal = context.engine.messages.downloadMessage(messageId: MessageId(peerId: peerId, namespace: Namespaces.Message.Cloud, id: args.messageId)) - |> map { message -> (Message, PresentationData)? in - if let message = message { - return (message, context.sharedContext.currentPresentationData.with { $0 }) - } else { - return nil - } - } - return messageSignal |> timeout(3.5, queue: Queue.concurrentDefaultQueue(), alternate: .single(nil)) - } else { - return .single(nil) - } - }) - let disposable = signal.start(next: { messageAndPresentationData in - if let (message, presentationData) = messageAndPresentationData, let bridgeMessage = makeBridgeMessage(message, strings: presentationData.strings) { - let peers = makeBridgePeers(message) - var response: [String : Any] = [TGBridgeMessageKey: bridgeMessage, TGBridgeUsersDictionaryKey: peers] - if peerId.namespace != Namespaces.Peer.CloudUser { - response[TGBridgeChatKey] = peers[makeBridgeIdentifier(peerId)] - } - subscriber.putNext(response) - } - subscriber.putCompletion() - }) - return SBlockDisposable { - disposable.dispose() - } - } - } - return SSignal.fail(nil) - } -} - -final class WatchSendMessageHandler: WatchRequestHandler { - static var handledSubscriptions: [Any] { - return [ - TGBridgeSendTextMessageSubscription.self, - TGBridgeSendLocationMessageSubscription.self, - TGBridgeSendStickerMessageSubscription.self, - TGBridgeSendForwardedMessageSubscription.self - ] - } - - static func handle(subscription: TGBridgeSubscription, manager: WatchCommunicationManager) -> SSignal { - return SSignal { subscriber in - let signal = manager.accountContext.get() - |> take(1) - |> mapToSignal({ context -> Signal in - if let context = context { - var messageSignal: Signal<(EnqueueMessage?, PeerId?), NoError>? - if let args = subscription as? TGBridgeSendTextMessageSubscription { - let peerId = makePeerIdFromBridgeIdentifier(args.peerId) - var replyMessageId: MessageId? - if args.replyToMid != 0, let peerId = peerId { - replyMessageId = MessageId(peerId: peerId, namespace: Namespaces.Message.Cloud, id: args.replyToMid) - } - messageSignal = .single((.message(text: args.text, attributes: [], inlineStickers: [:], mediaReference: nil, threadId: nil, replyToMessageId: replyMessageId.flatMap { EngineMessageReplySubject(messageId: $0, quote: nil) }, replyToStoryId: nil, localGroupingKey: nil, correlationId: nil, bubbleUpEmojiOrStickersets: []), peerId)) - } else if let args = subscription as? TGBridgeSendLocationMessageSubscription, let location = args.location { - let peerId = makePeerIdFromBridgeIdentifier(args.peerId) - let map = TelegramMediaMap(latitude: location.latitude, longitude: location.longitude, heading: nil, accuracyRadius: nil, venue: makeVenue(from: location.venue), liveBroadcastingTimeout: nil, liveProximityNotificationRadius: nil) - messageSignal = .single((.message(text: "", attributes: [], inlineStickers: [:], mediaReference: .standalone(media: map), threadId: nil, replyToMessageId: nil, replyToStoryId: nil, localGroupingKey: nil, correlationId: nil, bubbleUpEmojiOrStickersets: []), peerId)) - } else if let args = subscription as? TGBridgeSendStickerMessageSubscription { - let peerId = makePeerIdFromBridgeIdentifier(args.peerId) - messageSignal = mediaForSticker(documentId: args.document.documentId, account: context.account) - |> map({ media -> (EnqueueMessage?, PeerId?) in - if let media = media { - return (.message(text: "", attributes: [], inlineStickers: [:], mediaReference: .standalone(media: media), threadId: nil, replyToMessageId: nil, replyToStoryId: nil, localGroupingKey: nil, correlationId: nil, bubbleUpEmojiOrStickersets: []), peerId) - } else { - return (nil, nil) - } - }) - } else if let args = subscription as? TGBridgeSendForwardedMessageSubscription { - let peerId = makePeerIdFromBridgeIdentifier(args.targetPeerId) - if let forwardPeerId = makePeerIdFromBridgeIdentifier(args.peerId) { - messageSignal = .single((.forward(source: MessageId(peerId: forwardPeerId, namespace: Namespaces.Message.Cloud, id: args.messageId), threadId: nil, grouping: .none, attributes: [], correlationId: nil), peerId)) - } - } - - if let messageSignal = messageSignal { - return messageSignal |> mapToSignal({ message, peerId -> Signal in - if let message = message, let peerId = peerId { - return enqueueMessages(account: context.account, peerId: peerId, messages: [message]) |> mapToSignal({ _ in - return .single(true) - }) - } else { - return .complete() - } - }) - } - } - return .complete() - }) - - let disposable = signal.start(next: { _ in - subscriber.putNext(true) - }, completed: { - subscriber.putCompletion() - }) - - return SBlockDisposable { - disposable.dispose() - } - } - } -} - -final class WatchPeerInfoHandler: WatchRequestHandler { - static var handledSubscriptions: [Any] { - return [ - TGBridgeUserInfoSubscription.self, - TGBridgeUserBotInfoSubscription.self, - TGBridgeConversationSubscription.self - ] - } - - static func handle(subscription: TGBridgeSubscription, manager: WatchCommunicationManager) -> SSignal { - if let args = subscription as? TGBridgeUserInfoSubscription { - return SSignal { subscriber in - let signal = manager.accountContext.get() - |> take(1) - |> mapToSignal({ context -> Signal in - if let context = context, let userId = args.userIds.first as? Int64, let peerId = makePeerIdFromBridgeIdentifier(userId) { - return context.account.viewTracker.peerView(peerId) - } else { - return .complete() - } - }) - let disposable = signal.start(next: { view in - if let user = makeBridgeUser(peerViewMainPeer(view), presence: view.peerPresences[view.peerId], cachedData: view.cachedData) { - subscriber.putNext([user.identifier: user]) - } else { - subscriber.putCompletion() - } - }) - - return SBlockDisposable { - disposable.dispose() - } - } - } else if let _ = subscription as? TGBridgeUserBotInfoSubscription { - return SSignal.complete() - } else if let args = subscription as? TGBridgeConversationSubscription { - return SSignal { subscriber in - let signal = manager.accountContext.get() |> take(1) |> mapToSignal({ context -> Signal in - if let context = context, let peerId = makePeerIdFromBridgeIdentifier(args.peerId) { - return context.account.viewTracker.peerView(peerId) - } else { - return .complete() - } - }) - let disposable = signal.start(next: { view in - let (chat, users) = makeBridgeChat(peerViewMainPeer(view), view: view) - subscriber.putNext([ TGBridgeChatKey: chat, TGBridgeUsersDictionaryKey: users ] as [String: Any]) - }) - - return SBlockDisposable { - disposable.dispose() - } - } - } - return SSignal.fail(nil) - } -} - -private func mediaForSticker(documentId: Int64, account: Account) -> Signal { - return account.postbox.itemCollectionsView(orderedItemListCollectionIds: [Namespaces.OrderedItemList.CloudSavedStickers, Namespaces.OrderedItemList.CloudRecentStickers], namespaces: [Namespaces.ItemCollection.CloudStickerPacks], aroundIndex: nil, count: 50) - |> take(1) - |> map { view -> TelegramMediaFile? in - for view in view.orderedItemListsViews { - for entry in view.items { - if let file = entry.contents.get(SavedStickerItem.self)?.file { - if file.id.id == documentId { - return file._parse() - } - } else if let file = entry.contents.get(RecentMediaItem.self)?.media { - if file.id.id == documentId { - return file._parse() - } - } - } - } - return nil - } -} - -private let roundCorners = { () -> UIImage in - let diameter: CGFloat = 44.0 - UIGraphicsBeginImageContextWithOptions(CGSize(width: diameter, height: diameter), false, 0.0) - let context = UIGraphicsGetCurrentContext()! - context.setBlendMode(.copy) - context.setFillColor(UIColor.black.cgColor) - context.fill(CGRect(origin: CGPoint(), size: CGSize(width: diameter, height: diameter))) - context.setBlendMode(.clear) - context.setFillColor(UIColor.clear.cgColor) - context.fillEllipse(in: CGRect(origin: CGPoint(), size: CGSize(width: diameter, height: diameter))) - let image = UIGraphicsGetImageFromCurrentImageContext()!.stretchableImage(withLeftCapWidth: Int(diameter / 2.0), topCapHeight: Int(diameter / 2.0)) - UIGraphicsEndImageContext() - return image -}() - -private func sendData(manager: WatchCommunicationManager, data: Data, key: String, ext: String, type: String, forceAsData: Bool = false) { - if let tempPath = manager.watchTemporaryStorePath, !forceAsData { - let tempFileUrl = URL(fileURLWithPath: tempPath + "/\(key)\(ext)") - let _ = try? data.write(to: tempFileUrl) - let _ = manager.sendFile(url: tempFileUrl, metadata: [TGBridgeIncomingFileTypeKey: type, TGBridgeIncomingFileIdentifierKey: key]).start() - } else { - let _ = manager.sendFile(data: data, metadata: [TGBridgeIncomingFileTypeKey: type, TGBridgeIncomingFileIdentifierKey: key]).start() - } -} - -final class WatchMediaHandler: WatchRequestHandler { - static var handledSubscriptions: [Any] { - return [ - TGBridgeMediaThumbnailSubscription.self, - TGBridgeMediaAvatarSubscription.self, - TGBridgeMediaStickerSubscription.self - ] - } - - static private let disposable = DisposableSet() - - static func handle(subscription: TGBridgeSubscription, manager: WatchCommunicationManager) -> SSignal { - if let args = subscription as? TGBridgeMediaAvatarSubscription, let peerId = makePeerIdFromBridgeIdentifier(args.peerId) { - let key = "\(args.url!)_\(args.type.rawValue)" - let targetSize: CGSize - var compressionRate: CGFloat = 0.5 - var round = false - switch args.type { - case .small: - targetSize = CGSize(width: 19, height: 19); - compressionRate = 0.5 - case .profile: - targetSize = CGSize(width: 44, height: 44); - round = true - case .large: - targetSize = CGSize(width: 150, height: 150); - @unknown default: - fatalError() - } - - return SSignal { subscriber in - let signal = manager.accountContext.get() - |> take(1) - |> mapToSignal({ context -> Signal in - if let context = context { - return context.engine.data.get(TelegramEngine.EngineData.Item.Peer.Peer(id: peerId)) - |> mapToSignal { peer -> Signal in - if let peer = peer, case let .secretChat(secretChat) = peer { - return context.engine.data.get(TelegramEngine.EngineData.Item.Peer.Peer(id: secretChat.regularPeerId)) - } else { - return .single(peer) - } - } - |> mapToSignal({ peer -> Signal in - if let peer = peer, let representation = peer.smallProfileImage { - let imageData = peerAvatarImageData(account: context.account, peerReference: PeerReference(peer._asPeer()), authorOfMessage: nil, representation: representation, synchronousLoad: false) - if let imageData = imageData { - return imageData - |> map { data -> UIImage? in - if let (data, _) = data, let image = generateImage(targetSize, contextGenerator: { size, context -> Void in - if let imageSource = CGImageSourceCreateWithData(data as CFData, nil), let dataImage = CGImageSourceCreateImageAtIndex(imageSource, 0, nil) { - context.setBlendMode(.copy) - context.draw(dataImage, in: CGRect(origin: CGPoint(), size: targetSize)) - if round { - context.setBlendMode(.normal) - context.draw(roundCorners.cgImage!, in: CGRect(origin: CGPoint(), size: targetSize)) - } - } - }, scale: 2.0) { - return image - } - return nil - } - } - } - return .single(nil) - }) - } else { - return .complete() - } - }) - - let disposable = signal.start(next: { image in - if let image = image, let imageData = image.jpegData(compressionQuality: compressionRate) { - sendData(manager: manager, data: imageData, key: key, ext: ".jpg", type: TGBridgeIncomingFileTypeImage, forceAsData: true) - } - subscriber.putNext(key) - }, completed: { - subscriber.putCompletion() - }) - - return SBlockDisposable { - disposable.dispose() - } - } - } else if let args = subscription as? TGBridgeMediaStickerSubscription { - let key = "sticker_\(args.documentId)_\(Int(args.size.width))x\(Int(args.size.height))_\(args.notification ? 1 : 0)" - return SSignal { subscriber in - let signal = manager.accountContext.get() - |> take(1) - |> mapToSignal({ context -> Signal in - if let context = context { - var mediaSignal: Signal<(TelegramMediaFile, FileMediaReference)?, NoError>? = nil - if args.stickerPackId != 0 { - mediaSignal = mediaForSticker(documentId: args.documentId, account: context.account) - |> map { media -> (TelegramMediaFile, FileMediaReference)? in - if let media = media { - return (media, .standalone(media: media)) - } else { - return nil - } - } - } else if args.stickerPeerId != 0, let peerId = makePeerIdFromBridgeIdentifier(args.stickerPeerId) { - mediaSignal = context.engine.data.get(TelegramEngine.EngineData.Item.Messages.Message(id: MessageId(peerId: peerId, namespace: Namespaces.Message.Cloud, id: args.stickerMessageId))) - |> map { message -> (TelegramMediaFile, FileMediaReference)? in - if let message = message { - for media in message.media { - if let media = media as? TelegramMediaFile { - return (media, .message(message: MessageReference(message._asMessage()), media: media)) - } - } - } - return nil - } - } - var size: CGSize = args.size - if let mediaSignal = mediaSignal { - return mediaSignal - |> mapToSignal { mediaAndFileReference -> Signal<(TransformImageArguments) -> DrawingContext?, NoError> in - if let (media, fileReference) = mediaAndFileReference { - if let dimensions = media.dimensions { - size = dimensions.cgSize - } - self.disposable.add(freeMediaFileInteractiveFetched(account: context.account, userLocation: .other, fileReference: fileReference).start()) - return chatMessageSticker(account: context.account, userLocation: .other, file: media, small: false, fetched: true, onlyFullSize: true) - } - return .complete() - } - |> map{ f -> UIImage? in - let context = f(TransformImageArguments(corners: ImageCorners(), imageSize: size.fitted(args.size), boundingSize: args.size, intrinsicInsets: UIEdgeInsets(), emptyColor: args.notification ? UIColor(rgb: 0xe5e5ea) : .black, scale: 2.0)) - return context?.generateImage() - } - } - } - return .complete() - }) - - let disposable = signal.start(next: { image in - if let image = image, let imageData = image.jpegData(compressionQuality: 0.2) { - sendData(manager: manager, data: imageData, key: key, ext: ".jpg", type: TGBridgeIncomingFileTypeImage, forceAsData: args.notification) - } - subscriber.putNext(key) - }, completed: { - subscriber.putCompletion() - }) - - return SBlockDisposable { - disposable.dispose() - } - } - } else if let args = subscription as? TGBridgeMediaThumbnailSubscription { - let key = "\(args.peerId)_\(args.messageId)" - return SSignal { subscriber in - let signal = manager.accountContext.get() - |> take(1) - |> mapToSignal({ context -> Signal in - if let context = context, let peerId = makePeerIdFromBridgeIdentifier(args.peerId) { - var roundVideo = false - return context.engine.data.get(TelegramEngine.EngineData.Item.Messages.Message(id: MessageId(peerId: peerId, namespace: Namespaces.Message.Cloud, id: args.messageId))) - |> mapToSignal { message -> Signal<(TransformImageArguments) -> DrawingContext?, NoError> in - if let message = message, !message._asMessage().containsSecretMedia { - var imageSignal: Signal<(TransformImageArguments) -> DrawingContext?, NoError>? - var updatedMediaReference: AnyMediaReference? - var candidateMediaReference: AnyMediaReference? - var imageDimensions: CGSize? - for media in message.media { - if let image = media as? TelegramMediaImage, let resource = largestImageRepresentation(image.representations)?.resource { - self.disposable.add(messageMediaImageInteractiveFetched(context: context, message: message._asMessage(), image: image, resource: resource, storeToDownloadsPeerId: nil).start()) - candidateMediaReference = .message(message: MessageReference(message._asMessage()), media: media) - break - } else if let _ = media as? TelegramMediaFile { - candidateMediaReference = .message(message: MessageReference(message._asMessage()), media: media) - break - } else if let webPage = media as? TelegramMediaWebpage, case let .Loaded(content) = webPage.content, let image = content.image, let resource = largestImageRepresentation(image.representations)?.resource { - self.disposable.add(messageMediaImageInteractiveFetched(context: context, message: message._asMessage(), image: image, resource: resource, storeToDownloadsPeerId: nil).start()) - candidateMediaReference = .webPage(webPage: WebpageReference(webPage), media: image) - break - } - } - if let imageReference = candidateMediaReference?.concrete(TelegramMediaImage.self) { - updatedMediaReference = imageReference.abstract - if let representation = largestRepresentationForPhoto(imageReference.media) { - imageDimensions = representation.dimensions.cgSize - } - } else if let fileReference = candidateMediaReference?.concrete(TelegramMediaFile.self) { - updatedMediaReference = fileReference.abstract - if let representation = largestImageRepresentation(fileReference.media.previewRepresentations), !fileReference.media.isSticker { - imageDimensions = representation.dimensions.cgSize - } - } - if let updatedMediaReference = updatedMediaReference, imageDimensions != nil { - if let imageReference = updatedMediaReference.concrete(TelegramMediaImage.self) { - imageSignal = chatMessagePhotoThumbnail(account: context.account, userLocation: .other, photoReference: imageReference, onlyFullSize: true) - } else if let fileReference = updatedMediaReference.concrete(TelegramMediaFile.self) { - if fileReference.media.isVideo { - imageSignal = chatMessageVideoThumbnail(account: context.account, userLocation: .other, fileReference: fileReference) - roundVideo = fileReference.media.isInstantVideo - } else if let iconImageRepresentation = smallestImageRepresentation(fileReference.media.previewRepresentations) { - imageSignal = chatWebpageSnippetFile(account: context.account, userLocation: .other, mediaReference: fileReference.abstract, representation: iconImageRepresentation) - } - } - } - if let signal = imageSignal { - return signal - } - } - return .complete() - } |> map{ f -> UIImage? in - var insets = UIEdgeInsets() - if roundVideo { - insets = UIEdgeInsets(top: -2, left: -2, bottom: -2, right: -2) - } - let context = f(TransformImageArguments(corners: ImageCorners(), imageSize: args.size, boundingSize: args.size, intrinsicInsets: insets, scale: 2.0)) - return context?.generateImage() - } - } else { - return .complete() - } - }) - - let disposable = signal.start(next: { image in - if let image = image, let imageData = image.jpegData(compressionQuality: 0.5) { - sendData(manager: manager, data: imageData, key: key, ext: ".jpg", type: TGBridgeIncomingFileTypeImage, forceAsData: args.notification) - } - subscriber.putNext(key) - }, completed: { - subscriber.putCompletion() - }) - - return SBlockDisposable { - disposable.dispose() - } - } - } - return SSignal.fail(nil) - } -} - -final class WatchStickersHandler: WatchRequestHandler { - static var handledSubscriptions: [Any] { - return [TGBridgeRecentStickersSubscription.self] - } - - static func handle(subscription: TGBridgeSubscription, manager: WatchCommunicationManager) -> SSignal { - if let args = subscription as? TGBridgeRecentStickersSubscription { - return SSignal { subscriber in - let signal = manager.accountContext.get() - |> take(1) - |> mapToSignal({ context -> Signal in - if let context = context { - return context.account.postbox.itemCollectionsView(orderedItemListCollectionIds: [Namespaces.OrderedItemList.CloudSavedStickers, Namespaces.OrderedItemList.CloudRecentStickers], namespaces: [Namespaces.ItemCollection.CloudStickerPacks], aroundIndex: nil, count: 50) |> take(1) - } else { - return .complete() - } - }) - let disposable = signal.start(next: { view in - var stickers: [TGBridgeDocumentMediaAttachment] = [] - var added: Set = [] - outer: for view in view.orderedItemListsViews { - for entry in view.items { - if let file = entry.contents.get(SavedStickerItem.self)?.file { - if let sticker = makeBridgeDocument(file._parse()), !added.contains(sticker.documentId) { - stickers.append(sticker) - added.insert(sticker.documentId) - } - } else if let file = entry.contents.get(RecentMediaItem.self)?.media { - if let sticker = makeBridgeDocument(file._parse()), !added.contains(sticker.documentId) { - stickers.append(sticker) - added.insert(sticker.documentId) - } - } - if stickers.count == args.limit { - break outer - } - } - } - subscriber.putNext(stickers) - }) - - return SBlockDisposable { - disposable.dispose() - } - } - } - return SSignal.fail(nil) - } -} - -final class WatchAudioHandler: WatchRequestHandler { - static var handledSubscriptions: [Any] { - return [ - TGBridgeAudioSubscription.self, - TGBridgeAudioSentSubscription.self - ] - } - - static private let disposable = DisposableSet() - - static func handle(subscription: TGBridgeSubscription, manager: WatchCommunicationManager) -> SSignal { - if let args = subscription as? TGBridgeAudioSubscription { - let key = "audio_\(args.peerId)_\(args.messageId)" - return SSignal { subscriber in - let signal = manager.accountContext.get() - |> take(1) - |> mapToSignal({ context -> Signal in - if let context = context, let peerId = makePeerIdFromBridgeIdentifier(args.peerId) { - return context.engine.data.get(TelegramEngine.EngineData.Item.Messages.Message(id: MessageId(peerId: peerId, namespace: Namespaces.Message.Cloud, id: args.messageId))) - |> mapToSignal { message -> Signal in - if let message = message { - for media in message.media { - if let file = media as? TelegramMediaFile { - self.disposable.add(messageMediaFileInteractiveFetched(context: context, message: message._asMessage(), file: file, userInitiated: true).start()) - return context.account.postbox.mediaBox.resourceData(file.resource) - |> mapToSignal({ data -> Signal in - if let tempPath = manager.watchTemporaryStorePath, data.complete { - let outputPath = tempPath + "/\(key).m4a" - return legacyDecodeOpusAudio(path: data.path, outputPath: outputPath) - } else { - return .complete() - } - }) - } - } - } - return .complete() - } - } else { - return .complete() - } - }) - - let disposable = signal.start(next: { path in - let _ = manager.sendFile(url: URL(fileURLWithPath: path), metadata: [TGBridgeIncomingFileTypeKey: TGBridgeIncomingFileTypeAudio, TGBridgeIncomingFileIdentifierKey: key]).start() - subscriber.putNext(key) - }, completed: { - subscriber.putCompletion() - }) - - return SBlockDisposable { - disposable.dispose() - } - } - //let outputPath = manager.watchTemporaryStorePath + "/\(key).opus" - } else if let _ = subscription as? TGBridgeAudioSentSubscription { - - } - return SSignal.fail(nil) - } - - static func handleFile(path: String, metadata: Dictionary, manager: WatchCommunicationManager) -> Signal { - let randomId = metadata[TGBridgeIncomingFileRandomIdKey] as? Int64 - let peerId = metadata[TGBridgeIncomingFilePeerIdKey] as? Int64 - let replyToMid = metadata[TGBridgeIncomingFileReplyToMidKey] as? Int32 - - if let randomId = randomId, let id = peerId, let peerId = makePeerIdFromBridgeIdentifier(id) { - return combineLatest(manager.accountContext.get() |> take(1), legacyEncodeOpusAudio(path: path)) - |> map({ context, pathAndDuration -> Void in - let (path, duration) = pathAndDuration - if let context = context, let path = path, let data = try? Data(contentsOf: URL(fileURLWithPath: path)) { - let resource = LocalFileMediaResource(fileId: randomId) - context.account.postbox.mediaBox.storeResourceData(resource.id, data: data) - - var replyMessageId: MessageId? = nil - if let replyToMid = replyToMid, replyToMid != 0 { - replyMessageId = MessageId(peerId: peerId, namespace: Namespaces.Message.Cloud, id: replyToMid) - } - - let _ = enqueueMessages(account: context.account, peerId: peerId, messages: [.message(text: "", attributes: [], inlineStickers: [:], mediaReference: .standalone(media: TelegramMediaFile(fileId: MediaId(namespace: Namespaces.Media.LocalFile, id: randomId), partialReference: nil, resource: resource, previewRepresentations: [], videoThumbnails: [], immediateThumbnailData: nil, mimeType: "audio/ogg", size: Int64(data.count), attributes: [.Audio(isVoice: true, duration: Int(duration), title: nil, performer: nil, waveform: nil)], alternativeRepresentations: [])), threadId: nil, replyToMessageId: replyMessageId.flatMap { EngineMessageReplySubject(messageId: $0, quote: nil) }, replyToStoryId: nil, localGroupingKey: nil, correlationId: nil, bubbleUpEmojiOrStickersets: [])]).start() - } - }) - } else { - return .complete() - } - } -} - -final class WatchLocationHandler: WatchRequestHandler { - static var handledSubscriptions: [Any] { - return [TGBridgeNearbyVenuesSubscription.self] - } - - static func handle(subscription: TGBridgeSubscription, manager: WatchCommunicationManager) -> SSignal { - if let args = subscription as? TGBridgeNearbyVenuesSubscription { - return SSignal { subscriber in - let signal = manager.accountContext.get() - |> take(1) - |> mapToSignal({ context -> Signal<[ChatContextResultMessage], NoError> in - if let context = context { - return context.engine.peers.resolvePeerByName(name: "foursquare", referrer: nil) - |> mapToSignal { result -> Signal in - guard case let .result(result) = result else { - return .complete() - } - return .single(result) - } - |> take(1) - |> mapToSignal { peer -> Signal in - guard let peer = peer?._asPeer() else { - return .single(nil) - } - return context.engine.messages.requestChatContextResults(botId: peer.id, peerId: context.account.peerId, query: "", location: .single((args.coordinate.latitude, args.coordinate.longitude)), offset: "") - |> map { results -> ChatContextResultCollection? in - return results?.results - } - |> `catch` { error -> Signal in - return .single(nil) - } - } - |> mapToSignal { contextResult -> Signal<[ChatContextResultMessage], NoError> in - guard let contextResult = contextResult else { - return .single([]) - } - return .single(contextResult.results.map { $0.message }) - } - } else { - return .complete() - } - }) - - let disposable = signal.start(next: { results in - var venues: [TGBridgeLocationVenue] = [] - for result in results { - if let venue = makeBridgeLocationVenue(result) { - venues.append(venue) - } - } - subscriber.putNext(venues) - }) - - return SBlockDisposable { - disposable.dispose() - } - } - } - return SSignal.fail(nil) - } -} - -final class WatchPeerSettingsHandler: WatchRequestHandler { - static var handledSubscriptions: [Any] { - return [ - TGBridgePeerSettingsSubscription.self, - TGBridgePeerUpdateNotificationSettingsSubscription.self, - TGBridgePeerUpdateBlockStatusSubscription.self - ] - } - - static func handle(subscription: TGBridgeSubscription, manager: WatchCommunicationManager) -> SSignal { - if let args = subscription as? TGBridgePeerSettingsSubscription { - return SSignal { subscriber in - let signal = manager.accountContext.get() - |> take(1) - |> mapToSignal({ context -> Signal in - if let context = context, let peerId = makePeerIdFromBridgeIdentifier(args.peerId) { - return context.account.viewTracker.peerView(peerId) - } else { - return .complete() - } - }) - let disposable = signal.start(next: { view in - var muted = false - var blocked = false - - if let notificationSettings = view.notificationSettings as? TelegramPeerNotificationSettings, case let .muted(until) = notificationSettings.muteState, until >= Int32(CFAbsoluteTimeGetCurrent() + NSTimeIntervalSince1970) { - muted = true - } - if let cachedData = view.cachedData as? CachedUserData { - blocked = cachedData.isBlocked - } - - subscriber.putNext([ "muted": muted, "blocked": blocked ]) - }) - - return SBlockDisposable { - disposable.dispose() - } - } - } else { - return SSignal { subscriber in - let signal = manager.accountContext.get() - |> take(1) - |> mapToSignal({ context -> Signal in - if let context = context { - var signal: Signal? - - if let args = subscription as? TGBridgePeerUpdateNotificationSettingsSubscription, let peerId = makePeerIdFromBridgeIdentifier(args.peerId) { - signal = context.engine.peers.togglePeerMuted(peerId: peerId, threadId: nil) - } else if let args = subscription as? TGBridgePeerUpdateBlockStatusSubscription, let peerId = makePeerIdFromBridgeIdentifier(args.peerId) { - signal = context.engine.privacy.requestUpdatePeerIsBlocked(peerId: peerId, isBlocked: args.blocked) - } - - if let signal = signal { - return signal |> mapToSignal({ _ in - return .single(true) - }) - } else { - return .complete() - } - } else { - return .complete() - } - }) - - let disposable = signal.start(next: { _ in - subscriber.putNext(true) - }, completed: { - subscriber.putCompletion() - }) - - return SBlockDisposable { - disposable.dispose() - } - } - } - } -} - -final class WatchContinuationHandler: WatchRequestHandler { - static var handledSubscriptions: [Any] { - return [TGBridgeRemoteSubscription.self] - } - - static func handle(subscription: TGBridgeSubscription, manager: WatchCommunicationManager) -> SSignal { - if let args = subscription as? TGBridgeRemoteSubscription, let peerId = makePeerIdFromBridgeIdentifier(args.peerId) { - manager.requestNavigateToMessage(messageId: MessageId(peerId: peerId, namespace: Namespaces.Message.Cloud, id: args.messageId)) - } - return SSignal.fail(nil) - } -} diff --git a/submodules/WatchBridgeAudio/BUILD b/submodules/WatchBridgeAudio/BUILD deleted file mode 100644 index e3994dc62d..0000000000 --- a/submodules/WatchBridgeAudio/BUILD +++ /dev/null @@ -1,19 +0,0 @@ -load("@build_bazel_rules_swift//swift:swift.bzl", "swift_library") - -swift_library( - name = "WatchBridgeAudio", - module_name = "WatchBridgeAudio", - srcs = glob([ - "Sources/**/*.swift", - ]), - copts = [ - "-warnings-as-errors", - ], - deps = [ - "//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit", - "//submodules/WatchBridgeAudio/Impl:WatchBridgeAudioImpl", - ], - visibility = [ - "//visibility:public", - ], -) diff --git a/submodules/WatchBridgeAudio/Impl/BUILD b/submodules/WatchBridgeAudio/Impl/BUILD deleted file mode 100644 index b1290acaa1..0000000000 --- a/submodules/WatchBridgeAudio/Impl/BUILD +++ /dev/null @@ -1,27 +0,0 @@ - -objc_library( - name = "WatchBridgeAudioImpl", - enable_modules = True, - module_name = "WatchBridgeAudioImpl", - srcs = glob([ - "Sources/**/*.m", - "Sources/**/*.mm", - "Sources/**/*.h", - ], allow_empty=True), - hdrs = glob([ - "PublicHeaders/**/*.h", - ]), - includes = [ - "PublicHeaders", - ], - deps = [ - "//submodules/SSignalKit/SSignalKit:SSignalKit", - "//submodules/OpusBinding:OpusBinding", - ], - sdk_frameworks = [ - "Foundation", - ], - visibility = [ - "//visibility:public", - ], -) diff --git a/submodules/WatchBridgeAudio/Impl/PublicHeaders/WatchBridgeAudioImpl/TGBridgeAudioDecoder.h b/submodules/WatchBridgeAudio/Impl/PublicHeaders/WatchBridgeAudioImpl/TGBridgeAudioDecoder.h deleted file mode 100644 index 9332bf611b..0000000000 --- a/submodules/WatchBridgeAudio/Impl/PublicHeaders/WatchBridgeAudioImpl/TGBridgeAudioDecoder.h +++ /dev/null @@ -1,8 +0,0 @@ -#import - -@interface TGBridgeAudioDecoder : NSObject - -- (instancetype)initWithURL:(NSURL *)url outputUrl:(NSURL *)outputURL; -- (void)startWithCompletion:(void (^)(void))completion; - -@end diff --git a/submodules/WatchBridgeAudio/Impl/PublicHeaders/WatchBridgeAudioImpl/TGBridgeAudioEncoder.h b/submodules/WatchBridgeAudio/Impl/PublicHeaders/WatchBridgeAudioImpl/TGBridgeAudioEncoder.h deleted file mode 100644 index 7c186daff4..0000000000 --- a/submodules/WatchBridgeAudio/Impl/PublicHeaders/WatchBridgeAudioImpl/TGBridgeAudioEncoder.h +++ /dev/null @@ -1,8 +0,0 @@ -#import - -@interface TGBridgeAudioEncoder : NSObject - -- (instancetype)initWithURL:(NSURL *)url; -- (void)startWithCompletion:(void (^)(NSString *, int32_t))completion; - -@end diff --git a/submodules/WatchBridgeAudio/Impl/PublicHeaders/WatchBridgeAudioImpl/WatchBridgeAudioImpl.h b/submodules/WatchBridgeAudio/Impl/PublicHeaders/WatchBridgeAudioImpl/WatchBridgeAudioImpl.h deleted file mode 100644 index 03950d978a..0000000000 --- a/submodules/WatchBridgeAudio/Impl/PublicHeaders/WatchBridgeAudioImpl/WatchBridgeAudioImpl.h +++ /dev/null @@ -1,6 +0,0 @@ -#import - -#import -#import - - diff --git a/submodules/WatchBridgeAudio/Impl/Sources/TGBridgeAudioDecoder.mm b/submodules/WatchBridgeAudio/Impl/Sources/TGBridgeAudioDecoder.mm deleted file mode 100644 index c1d30b80f1..0000000000 --- a/submodules/WatchBridgeAudio/Impl/Sources/TGBridgeAudioDecoder.mm +++ /dev/null @@ -1,197 +0,0 @@ -#import - -#import -#import - -#import - -#import - -const NSInteger TGBridgeAudioDecoderInputSampleRate = 48000; -const NSInteger TGBridgeAudioDecoderResultSampleRate = 24000; -const NSUInteger TGBridgeAudioDecoderBufferSize = 32768; - -#define checkResult(result,operation) (_checkResultLite((result),(operation),__FILE__,__LINE__)) - -struct TGAudioBuffer -{ - NSUInteger capacity; - uint8_t *data; - NSUInteger size; - int64_t pcmOffset; -}; - -inline TGAudioBuffer *TGAudioBufferWithCapacity(NSUInteger capacity) -{ - TGAudioBuffer *audioBuffer = (TGAudioBuffer *)malloc(sizeof(TGAudioBuffer)); - audioBuffer->capacity = capacity; - audioBuffer->data = (uint8_t *)malloc(capacity); - audioBuffer->size = 0; - audioBuffer->pcmOffset = 0; - return audioBuffer; -} - -inline void TGAudioBufferDispose(TGAudioBuffer *audioBuffer) -{ - if (audioBuffer != NULL) - { - free(audioBuffer->data); - free(audioBuffer); - } -} - -static inline bool _checkResultLite(OSStatus result, const char *operation, const char* file, int line) -{ - if ( result != noErr ) - { - NSLog(@"%s:%d: %s result %d %08X %4.4s\n", file, line, operation, (int)result, (int)result, (char*)&result); - return NO; - } - return YES; -} - -@interface TGBridgeAudioDecoder () -{ - NSURL *_url; - NSURL *_resultURL; - - OggOpusReader *_opusReader; - - bool _finished; - bool _cancelled; -} -@end - -@implementation TGBridgeAudioDecoder - -- (instancetype)initWithURL:(NSURL *)url outputUrl:(NSURL *)outputUrl -{ - self = [super init]; - if (self != nil) - { - _url = url; - - int64_t randomId = 0; - arc4random_buf(&randomId, 8); - _resultURL = outputUrl; - } - return self; -} - -- (void)startWithCompletion:(void (^)(void))completion -{ - [[TGBridgeAudioDecoder processingQueue] dispatch:^ - { - _opusReader = [[OggOpusReader alloc] initWithPath:_url.path]; - if (_opusReader == NULL) { - return; - } - - AudioStreamBasicDescription sourceFormat; - sourceFormat.mSampleRate = TGBridgeAudioDecoderInputSampleRate; - sourceFormat.mFormatID = kAudioFormatLinearPCM; - sourceFormat.mFormatFlags = kAudioFormatFlagIsSignedInteger | kAudioFormatFlagIsPacked; - sourceFormat.mFramesPerPacket = 1; - sourceFormat.mChannelsPerFrame = 1; - sourceFormat.mBitsPerChannel = 16; - sourceFormat.mBytesPerPacket = 2; - sourceFormat.mBytesPerFrame = 2; - - AudioStreamBasicDescription destFormat; - memset(&destFormat, 0, sizeof(destFormat)); - destFormat.mChannelsPerFrame = sourceFormat.mChannelsPerFrame; - destFormat.mFormatID = kAudioFormatMPEG4AAC; - destFormat.mSampleRate = TGBridgeAudioDecoderResultSampleRate; - UInt32 size = sizeof(destFormat); - if (!checkResult(AudioFormatGetProperty(kAudioFormatProperty_FormatInfo, 0, NULL, &size, &destFormat), - "AudioFormatGetProperty(kAudioFormatProperty_FormatInfo)")) - { - return; - } - - ExtAudioFileRef destinationFile; - if (!checkResult(ExtAudioFileCreateWithURL((__bridge CFURLRef)_resultURL, kAudioFileM4AType, &destFormat, NULL, kAudioFileFlags_EraseFile, &destinationFile), "ExtAudioFileCreateWithURL")) - { - return; - } - - if (!checkResult(ExtAudioFileSetProperty(destinationFile, kExtAudioFileProperty_ClientDataFormat, size, &sourceFormat), - "ExtAudioFileSetProperty(destinationFile, kExtAudioFileProperty_ClientDataFormat")) - { - return; - } - - bool canResumeAfterInterruption = false; - AudioConverterRef converter; - size = sizeof(converter); - if (checkResult(ExtAudioFileGetProperty(destinationFile, kExtAudioFileProperty_AudioConverter, &size, &converter), - "ExtAudioFileGetProperty(kExtAudioFileProperty_AudioConverter;)")) - { - UInt32 canResume = 0; - size = sizeof(canResume); - if (AudioConverterGetProperty(converter, kAudioConverterPropertyCanResumeFromInterruption, &size, &canResume) == noErr) - canResumeAfterInterruption = canResume; - } - - uint8_t srcBuffer[TGBridgeAudioDecoderBufferSize]; - while (!_cancelled) - { - AudioBufferList bufferList; - bufferList.mNumberBuffers = 1; - bufferList.mBuffers[0].mNumberChannels = sourceFormat.mChannelsPerFrame; - bufferList.mBuffers[0].mDataByteSize = TGBridgeAudioDecoderBufferSize; - bufferList.mBuffers[0].mData = srcBuffer; - - uint32_t writtenOutputBytes = 0; - while (writtenOutputBytes < TGBridgeAudioDecoderBufferSize) - { - int32_t readSamples = [_opusReader read:(uint16_t *)(srcBuffer + writtenOutputBytes) bufSize:(TGBridgeAudioDecoderBufferSize - writtenOutputBytes) / sourceFormat.mBytesPerFrame]; - - if (readSamples > 0) - writtenOutputBytes += readSamples * sourceFormat.mBytesPerFrame; - else - break; - } - bufferList.mBuffers[0].mDataByteSize = writtenOutputBytes; - int32_t nFrames = writtenOutputBytes / sourceFormat.mBytesPerFrame; - - if (nFrames == 0) - break; - - OSStatus status = ExtAudioFileWrite(destinationFile, nFrames, &bufferList); - if (status == kExtAudioFileError_CodecUnavailableInputConsumed) - { - //TGLog(@"1"); - } - else if (status == kExtAudioFileError_CodecUnavailableInputNotConsumed) - { - //TGLog(@"2"); - } - else if (!checkResult(status, "ExtAudioFileWrite")) - { - //TGLog(@"3"); - } - } - - ExtAudioFileDispose(destinationFile); - - if (completion != nil) - completion(); - }]; -} - -+ (SQueue *)processingQueue -{ - static SQueue *queue = nil; - static dispatch_once_t onceToken; - dispatch_once(&onceToken, ^ - { - static const char *queueSpecific = "org.telegram.opusAudioDecoderQueue"; - dispatch_queue_t dispatchQueue = dispatch_queue_create("org.telegram.opusAudioDecoderQueue", DISPATCH_QUEUE_SERIAL); - dispatch_queue_set_specific(dispatchQueue, queueSpecific, (void *)queueSpecific, NULL); - queue = [SQueue wrapConcurrentNativeQueue:dispatchQueue]; - }); - return queue; -} - -@end diff --git a/submodules/WatchBridgeAudio/Impl/Sources/TGBridgeAudioEncoder.m b/submodules/WatchBridgeAudio/Impl/Sources/TGBridgeAudioEncoder.m deleted file mode 100644 index 2bf80914d3..0000000000 --- a/submodules/WatchBridgeAudio/Impl/Sources/TGBridgeAudioEncoder.m +++ /dev/null @@ -1,564 +0,0 @@ -#import -#import - -#import - -static const char *AMQueueSpecific = "AMQueueSpecific"; - -const NSInteger TGBridgeAudioEncoderSampleRate = 48000; - -typedef enum { - ATQueuePriorityLow, - ATQueuePriorityDefault, - ATQueuePriorityHigh -} ATQueuePriority; - -@interface ATQueue : NSObject - -+ (ATQueue *)mainQueue; -+ (ATQueue *)concurrentDefaultQueue; -+ (ATQueue *)concurrentBackgroundQueue; - -- (instancetype)init; -- (instancetype)initWithName:(NSString *)name; -- (instancetype)initWithPriority:(ATQueuePriority)priority; - -- (void)dispatch:(dispatch_block_t)block; -- (void)dispatch:(dispatch_block_t)block synchronous:(bool)synchronous; -- (void)dispatchAfter:(NSTimeInterval)seconds block:(dispatch_block_t)block; - -- (dispatch_queue_t)nativeQueue; - -@end - -@interface TGFileDataItem : TGDataItem - -- (instancetype)initWithTempFile; - -- (void)appendData:(NSData *)data; -- (NSData *)readDataAtOffset:(NSUInteger)offset length:(NSUInteger)length; -- (NSUInteger)length; - -- (NSString *)path; - -@end - -@interface TGBridgeAudioEncoder () -{ - AVAssetReader *_assetReader; - AVAssetReaderOutput *_readerOutput; - - NSMutableData *_audioBuffer; - TGFileDataItem *_tempFileItem; - TGOggOpusWriter *_oggWriter; - - int _tailLength; -} -@end - -@implementation TGBridgeAudioEncoder - -- (instancetype)initWithURL:(NSURL *)url -{ - self = [super init]; - if (self != nil) - { - AVURLAsset *asset = [[AVURLAsset alloc] initWithURL:url options:nil]; - if (asset == nil || asset.tracks.count == 0) - { - return nil; - } - - NSError *error; - _assetReader = [[AVAssetReader alloc] initWithAsset:asset error:&error]; - - NSDictionary *outputSettings = @ - { - AVFormatIDKey: @(kAudioFormatLinearPCM), - AVSampleRateKey: @(TGBridgeAudioEncoderSampleRate), - AVNumberOfChannelsKey: @1, - AVLinearPCMBitDepthKey: @16, - AVLinearPCMIsFloatKey: @false, - AVLinearPCMIsBigEndianKey: @false, - AVLinearPCMIsNonInterleaved: @false - }; - - _readerOutput = [AVAssetReaderAudioMixOutput assetReaderAudioMixOutputWithAudioTracks:asset.tracks audioSettings:outputSettings]; - - [_assetReader addOutput:_readerOutput]; - - _tempFileItem = [[TGFileDataItem alloc] initWithTempFile]; - } - return self; -} - -- (void)dealloc -{ - [self cleanup]; -} - -- (void)cleanup -{ - _oggWriter = nil; -} - -+ (ATQueue *)processingQueue -{ - static ATQueue *queue = nil; - static dispatch_once_t onceToken; - dispatch_once(&onceToken, ^ - { - queue = [[ATQueue alloc] initWithName:@"org.telegram.opusAudioEncoderQueue"]; - }); - - return queue; -} - -static const int encoderPacketSizeInBytes = 16000 / 1000 * 60 * 2; - -- (void)startWithCompletion:(void (^)(NSString *, int32_t))completion -{ - [[TGBridgeAudioEncoder processingQueue] dispatch:^ - { - _oggWriter = [[TGOggOpusWriter alloc] init]; - if (![_oggWriter beginWithDataItem:_tempFileItem]) - { - [self cleanup]; - return; - } - - [_assetReader startReading]; - - while (_assetReader.status != AVAssetReaderStatusCompleted) - { - if (_assetReader.status == AVAssetReaderStatusReading) - { - CMSampleBufferRef nextBuffer = [_readerOutput copyNextSampleBuffer]; - if (nextBuffer) - { - AudioBufferList abl; - CMBlockBufferRef blockBuffer; - CMSampleBufferGetAudioBufferListWithRetainedBlockBuffer(nextBuffer, NULL, &abl, sizeof(abl), NULL, NULL, kCMSampleBufferFlag_AudioBufferList_Assure16ByteAlignment, &blockBuffer); - - [[TGBridgeAudioEncoder processingQueue] dispatch:^ - { - [self _processBuffer:&abl.mBuffers[0]]; - - CFRelease(nextBuffer); - CFRelease(blockBuffer); - }]; - } - else - { - [[TGBridgeAudioEncoder processingQueue] dispatch:^ - { - if (_tailLength > 0) { - [_oggWriter writeFrame:(uint8_t *)_audioBuffer.bytes frameByteCount:(NSUInteger)_tailLength]; - } - }]; - break; - } - } - } - - [[TGBridgeAudioEncoder processingQueue] dispatch:^ - { - TGFileDataItem *dataItemResult = nil; - NSTimeInterval durationResult = 0.0; - - NSUInteger totalBytes = 0; - - if (_assetReader.status == AVAssetReaderStatusCompleted) - { - NSLog(@"finished"); - if (_oggWriter != nil && [_oggWriter writeFrame:NULL frameByteCount:0]) - { - dataItemResult = _tempFileItem; - durationResult = [_oggWriter encodedDuration]; - totalBytes = [_oggWriter encodedBytes]; - } - - [self cleanup]; - } - - //TGLog(@"[TGBridgeAudioEncoder#%x convert time: %f ms]", self, (CFAbsoluteTimeGetCurrent() - startTime) * 1000.0); - - if (completion != nil) - completion(dataItemResult.path, (int32_t)durationResult); - }]; - }]; -} - -- (void)_processBuffer:(AudioBuffer const *)buffer -{ - @autoreleasepool - { - if (_oggWriter == nil) - return; - - unsigned char currentEncoderPacket[encoderPacketSizeInBytes]; - - int bufferOffset = 0; - - while (true) - { - int currentEncoderPacketSize = 0; - - while (currentEncoderPacketSize < encoderPacketSizeInBytes) - { - if (_audioBuffer.length != 0) - { - int takenBytes = MIN((int)_audioBuffer.length, encoderPacketSizeInBytes - currentEncoderPacketSize); - if (takenBytes != 0) - { - memcpy(currentEncoderPacket + currentEncoderPacketSize, _audioBuffer.bytes, takenBytes); - [_audioBuffer replaceBytesInRange:NSMakeRange(0, takenBytes) withBytes:NULL length:0]; - currentEncoderPacketSize += takenBytes; - } - } - else if (bufferOffset < (int)buffer->mDataByteSize) - { - int takenBytes = MIN((int)buffer->mDataByteSize - bufferOffset, encoderPacketSizeInBytes - currentEncoderPacketSize); - if (takenBytes != 0) - { - memcpy(currentEncoderPacket + currentEncoderPacketSize, ((const char *)buffer->mData) + bufferOffset, takenBytes); - bufferOffset += takenBytes; - currentEncoderPacketSize += takenBytes; - } - } - else { - break; - } - } - _tailLength = currentEncoderPacketSize; - if (currentEncoderPacketSize < encoderPacketSizeInBytes) - { - if (_audioBuffer == nil) - _audioBuffer = [[NSMutableData alloc] initWithCapacity:encoderPacketSizeInBytes]; - [_audioBuffer appendBytes:currentEncoderPacket length:currentEncoderPacketSize]; - break; - } - else - { - [_oggWriter writeFrame:currentEncoderPacket frameByteCount:(NSUInteger)currentEncoderPacketSize]; - _tailLength = 0; - } - } - } -} - -@end - -@interface TGFileDataItem () -{ - NSUInteger _length; - - NSString *_fileName; - bool _fileExists; - - NSMutableData *_data; -} - -@end - -@implementation TGFileDataItem -{ - ATQueue *_queue; -} - -- (void)_commonInit -{ - _queue = [[ATQueue alloc] initWithPriority:ATQueuePriorityLow]; - _data = [[NSMutableData alloc] init]; -} - -- (instancetype)initWithTempFile -{ - self = [super init]; - if (self != nil) - { - [self _commonInit]; - - [_queue dispatch:^ - { - int64_t randomId = 0; - arc4random_buf(&randomId, 8); - _fileName = [NSTemporaryDirectory() stringByAppendingPathComponent:[[NSString alloc] initWithFormat:@"%" PRIx64 "", randomId]]; - _fileExists = false; - }]; - } - return self; -} - -- (instancetype)initWithFilePath:(NSString *)filePath -{ - self = [super init]; - if (self != nil) - { - [self _commonInit]; - - - [_queue dispatch:^ - { - _fileName = filePath; - _length = [[[NSFileManager defaultManager] attributesOfItemAtPath:_fileName error:nil][NSFileSize] unsignedIntegerValue]; - _fileExists = [[NSFileManager defaultManager] fileExistsAtPath:_fileName]; - }]; - } - return self; -} - -- (void)noop -{ -} - -- (void)moveToPath:(NSString *)path -{ - [_queue dispatch:^ - { - [[NSFileManager defaultManager] moveItemAtPath:_fileName toPath:path error:nil]; - _fileName = path; - }]; -} - -- (void)remove -{ - [_queue dispatch:^ - { - [[NSFileManager defaultManager] removeItemAtPath:_fileName error:nil]; - }]; -} - -- (void)appendData:(NSData *)data -{ - [_queue dispatch:^ - { - if (!_fileExists) - { - [[NSFileManager defaultManager] createFileAtPath:_fileName contents:nil attributes:nil]; - _fileExists = true; - } - NSFileHandle *file = [NSFileHandle fileHandleForUpdatingAtPath:_fileName]; - [file seekToEndOfFile]; - [file writeData:data]; - [file synchronizeFile]; - [file closeFile]; - _length += data.length; - - [_data appendData:data]; - }]; -} - -- (NSData *)readDataAtOffset:(NSUInteger)offset length:(NSUInteger)length -{ - __block NSData *data = nil; - - [_queue dispatch:^ - { - NSFileHandle *file = [NSFileHandle fileHandleForUpdatingAtPath:_fileName]; - [file seekToFileOffset:(unsigned long long)offset]; - data = [file readDataOfLength:length]; - if (data.length != length) - //TGLog(@"Read data length mismatch"); - [file closeFile]; - } synchronous:true]; - - return data; -} - -- (NSUInteger)length -{ - __block NSUInteger result = 0; - [_queue dispatch:^ - { - result = _length; - } synchronous:true]; - - return result; -} - -- (NSString *)path { - return _fileName; -} - -@end - - -@interface ATQueue () -{ - dispatch_queue_t _nativeQueue; - bool _isMainQueue; - - int32_t _noop; -} - -@end - -@implementation ATQueue - -+ (NSString *)applicationPrefix -{ - static NSString *prefix = nil; - static dispatch_once_t onceToken; - dispatch_once(&onceToken, ^ - { - prefix = [[NSBundle mainBundle] bundleIdentifier]; - }); - - return prefix; -} - -+ (ATQueue *)mainQueue -{ - static ATQueue *queue = nil; - static dispatch_once_t onceToken; - dispatch_once(&onceToken, ^ - { - queue = [[ATQueue alloc] init]; - queue->_nativeQueue = dispatch_get_main_queue(); - queue->_isMainQueue = true; - }); - - return queue; -} - -+ (ATQueue *)concurrentDefaultQueue -{ - static ATQueue *queue = nil; - static dispatch_once_t onceToken; - dispatch_once(&onceToken, ^ - { - queue = [[ATQueue alloc] initWithNativeQueue:dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)]; - }); - - return queue; -} - -+ (ATQueue *)concurrentBackgroundQueue -{ - static ATQueue *queue = nil; - static dispatch_once_t onceToken; - dispatch_once(&onceToken, ^ - { - queue = [[ATQueue alloc] initWithNativeQueue:dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0)]; - }); - - return queue; -} - -- (instancetype)init -{ - return [self initWithName:[[ATQueue applicationPrefix] stringByAppendingFormat:@".%ld", lrand48()]]; -} - -- (instancetype)initWithName:(NSString *)name -{ - self = [super init]; - if (self != nil) - { - _nativeQueue = dispatch_queue_create([name UTF8String], DISPATCH_QUEUE_SERIAL); - dispatch_queue_set_specific(_nativeQueue, AMQueueSpecific, (__bridge void *)self, NULL); - } - return self; -} - -- (instancetype)initWithPriority:(ATQueuePriority)priority -{ - self = [super init]; - if (self != nil) - { - _nativeQueue = dispatch_queue_create([[[ATQueue applicationPrefix] stringByAppendingFormat:@".%ld", lrand48()] UTF8String], DISPATCH_QUEUE_SERIAL); - long targetQueueIdentifier = DISPATCH_QUEUE_PRIORITY_DEFAULT; - switch (priority) - { - case ATQueuePriorityLow: - targetQueueIdentifier = DISPATCH_QUEUE_PRIORITY_LOW; - break; - case ATQueuePriorityDefault: - targetQueueIdentifier = DISPATCH_QUEUE_PRIORITY_DEFAULT; - break; - case ATQueuePriorityHigh: - targetQueueIdentifier = DISPATCH_QUEUE_PRIORITY_HIGH; - break; - } - dispatch_set_target_queue(_nativeQueue, dispatch_get_global_queue(targetQueueIdentifier, 0)); - dispatch_queue_set_specific(_nativeQueue, AMQueueSpecific, (__bridge void *)self, NULL); - } - return self; -} - -- (instancetype)initWithNativeQueue:(dispatch_queue_t)queue -{ - self = [super init]; - if (self != nil) - { -#if !OS_OBJECT_USE_OBJC - _nativeQueue = dispatch_retain(queue); -#else - _nativeQueue = queue; -#endif - } - return self; -} - -- (void)dealloc -{ - if (_nativeQueue != nil) - { -#if !OS_OBJECT_USE_OBJC - dispatch_release(_nativeQueue); -#endif - _nativeQueue = nil; - } -} - -- (void)dispatch:(dispatch_block_t)block -{ - [self dispatch:block synchronous:false]; -} - -- (void)dispatch:(dispatch_block_t)block synchronous:(bool)synchronous -{ - __block ATQueue *strongSelf = self; - dispatch_block_t blockWithSelf = ^ - { - block(); - [strongSelf noop]; - strongSelf = nil; - }; - - if (_isMainQueue) - { - if ([NSThread isMainThread]) - blockWithSelf(); - else if (synchronous) - dispatch_sync(_nativeQueue, blockWithSelf); - else - dispatch_async(_nativeQueue, blockWithSelf); - } - else - { - if (dispatch_get_specific(AMQueueSpecific) == (__bridge void *)self) - block(); - else if (synchronous) - dispatch_sync(_nativeQueue, blockWithSelf); - else - dispatch_async(_nativeQueue, blockWithSelf); - } -} - -- (void)dispatchAfter:(NSTimeInterval)seconds block:(dispatch_block_t)block -{ - dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(seconds * NSEC_PER_SEC)), _nativeQueue, block); -} - -- (dispatch_queue_t)nativeQueue -{ - return _nativeQueue; -} - -- (void)noop -{ -} - -@end diff --git a/submodules/WatchBridgeAudio/Sources/LegacyBridgeAudio.swift b/submodules/WatchBridgeAudio/Sources/LegacyBridgeAudio.swift deleted file mode 100644 index ab80d4f2a0..0000000000 --- a/submodules/WatchBridgeAudio/Sources/LegacyBridgeAudio.swift +++ /dev/null @@ -1,25 +0,0 @@ -import Foundation -import SwiftSignalKit -import WatchBridgeAudioImpl - -public func legacyDecodeOpusAudio(path: String, outputPath: String) -> Signal { - return Signal { subscriber in - let decoder = TGBridgeAudioDecoder(url: URL(fileURLWithPath: path), outputUrl: URL(fileURLWithPath: outputPath)) - decoder?.start(completion: { - subscriber.putNext(outputPath) - subscriber.putCompletion() - }) - return EmptyDisposable - } -} - -public func legacyEncodeOpusAudio(path: String) -> Signal<(String?, Int32), NoError> { - return Signal { subscriber in - let encoder = TGBridgeAudioEncoder(url: URL(fileURLWithPath: path)) - encoder?.start(completion: { (path, duration) in - subscriber.putNext((path, duration)) - subscriber.putCompletion() - }) - return EmptyDisposable - } -} diff --git a/submodules/WatchCommon/BUILD b/submodules/WatchCommon/BUILD deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/submodules/WatchCommon/Host/BUILD b/submodules/WatchCommon/Host/BUILD deleted file mode 100644 index 043309a973..0000000000 --- a/submodules/WatchCommon/Host/BUILD +++ /dev/null @@ -1,25 +0,0 @@ - -objc_library( - name = "WatchCommon", - enable_modules = True, - module_name = "WatchCommon", - srcs = glob([ - "Sources/**/*.m", - "Sources/**/*.h", - ], allow_empty=True), - hdrs = glob([ - "PublicHeaders/**/*.h", - ]), - copts = [ - "-I{}/PublicHeaders/WatchCommon".format(package_name()), - ], - includes = [ - "PublicHeaders", - ], - sdk_frameworks = [ - "Foundation", - ], - visibility = [ - "//visibility:public", - ], -) diff --git a/submodules/WatchCommon/Host/PublicHeaders/WatchCommon/TGBridgeActionMediaAttachment.h b/submodules/WatchCommon/Host/PublicHeaders/WatchCommon/TGBridgeActionMediaAttachment.h deleted file mode 100644 index bb18757fc6..0000000000 --- a/submodules/WatchCommon/Host/PublicHeaders/WatchCommon/TGBridgeActionMediaAttachment.h +++ /dev/null @@ -1,36 +0,0 @@ -#import - -typedef NS_ENUM(NSUInteger, TGBridgeMessageAction) { - TGBridgeMessageActionNone = 0, - TGBridgeMessageActionChatEditTitle = 1, - TGBridgeMessageActionChatAddMember = 2, - TGBridgeMessageActionChatDeleteMember = 3, - TGBridgeMessageActionCreateChat = 4, - TGBridgeMessageActionChatEditPhoto = 5, - TGBridgeMessageActionContactRequest = 6, - TGBridgeMessageActionAcceptContactRequest = 7, - TGBridgeMessageActionContactRegistered = 8, - TGBridgeMessageActionUserChangedPhoto = 9, - TGBridgeMessageActionEncryptedChatRequest = 10, - TGBridgeMessageActionEncryptedChatAccept = 11, - TGBridgeMessageActionEncryptedChatDecline = 12, - TGBridgeMessageActionEncryptedChatMessageLifetime = 13, - TGBridgeMessageActionEncryptedChatScreenshot = 14, - TGBridgeMessageActionEncryptedChatMessageScreenshot = 15, - TGBridgeMessageActionCreateBroadcastList = 16, - TGBridgeMessageActionJoinedByLink = 17, - TGBridgeMessageActionChannelCreated = 18, - TGBridgeMessageActionChannelCommentsStatusChanged = 19, - TGBridgeMessageActionChannelInviter = 20, - TGBridgeMessageActionGroupMigratedTo = 21, - TGBridgeMessageActionGroupDeactivated = 22, - TGBridgeMessageActionGroupActivated = 23, - TGBridgeMessageActionChannelMigratedFrom = 24 -}; - -@interface TGBridgeActionMediaAttachment : TGBridgeMediaAttachment - -@property (nonatomic, assign) TGBridgeMessageAction actionType; -@property (nonatomic, strong) NSDictionary *actionData; - -@end diff --git a/submodules/WatchCommon/Host/PublicHeaders/WatchCommon/TGBridgeAudioMediaAttachment.h b/submodules/WatchCommon/Host/PublicHeaders/WatchCommon/TGBridgeAudioMediaAttachment.h deleted file mode 100644 index ffdb864568..0000000000 --- a/submodules/WatchCommon/Host/PublicHeaders/WatchCommon/TGBridgeAudioMediaAttachment.h +++ /dev/null @@ -1,16 +0,0 @@ -#import - -@interface TGBridgeAudioMediaAttachment : TGBridgeMediaAttachment - -@property (nonatomic, assign) int64_t audioId; -@property (nonatomic, assign) int64_t accessHash; -@property (nonatomic, assign) int32_t datacenterId; - -@property (nonatomic, assign) int64_t localAudioId; - -@property (nonatomic, assign) int32_t duration; -@property (nonatomic, assign) int32_t fileSize; - -- (int64_t)identifier; - -@end diff --git a/submodules/WatchCommon/Host/PublicHeaders/WatchCommon/TGBridgeBotCommandInfo.h b/submodules/WatchCommon/Host/PublicHeaders/WatchCommon/TGBridgeBotCommandInfo.h deleted file mode 100644 index fe6f72e1a0..0000000000 --- a/submodules/WatchCommon/Host/PublicHeaders/WatchCommon/TGBridgeBotCommandInfo.h +++ /dev/null @@ -1,12 +0,0 @@ -#import - -@interface TGBridgeBotCommandInfo : NSObject -{ - NSString *_command; - NSString *_commandDescription; -} - -@property (nonatomic, readonly) NSString *command; -@property (nonatomic, readonly) NSString *commandDescription; - -@end diff --git a/submodules/WatchCommon/Host/PublicHeaders/WatchCommon/TGBridgeBotInfo.h b/submodules/WatchCommon/Host/PublicHeaders/WatchCommon/TGBridgeBotInfo.h deleted file mode 100644 index 0dafae5cef..0000000000 --- a/submodules/WatchCommon/Host/PublicHeaders/WatchCommon/TGBridgeBotInfo.h +++ /dev/null @@ -1,12 +0,0 @@ -#import - -@interface TGBridgeBotInfo : NSObject -{ - NSString *_shortDescription; - NSArray *_commandList; -} - -@property (nonatomic, readonly) NSString *shortDescription; -@property (nonatomic, readonly) NSArray *commandList; - -@end diff --git a/submodules/WatchCommon/Host/PublicHeaders/WatchCommon/TGBridgeChat.h b/submodules/WatchCommon/Host/PublicHeaders/WatchCommon/TGBridgeChat.h deleted file mode 100644 index fa56be05f2..0000000000 --- a/submodules/WatchCommon/Host/PublicHeaders/WatchCommon/TGBridgeChat.h +++ /dev/null @@ -1,46 +0,0 @@ -#import -#import - -@interface TGBridgeChat : NSObject - -@property (nonatomic) int64_t identifier; -@property (nonatomic) NSTimeInterval date; -@property (nonatomic) int32_t fromUid; -@property (nonatomic, strong) NSString *text; - -@property (nonatomic, strong) NSArray *media; - -@property (nonatomic) bool outgoing; -@property (nonatomic) bool unread; -@property (nonatomic) bool deliveryError; -@property (nonatomic) TGBridgeMessageDeliveryState deliveryState; - -@property (nonatomic) int32_t unreadCount; - -@property (nonatomic) bool isBroadcast; - -@property (nonatomic, strong) NSString *groupTitle; -@property (nonatomic, strong) NSString *groupPhotoSmall; -@property (nonatomic, strong) NSString *groupPhotoBig; - -@property (nonatomic) bool isGroup; -@property (nonatomic) bool hasLeftGroup; -@property (nonatomic) bool isKickedFromGroup; - -@property (nonatomic) bool isChannel; -@property (nonatomic) bool isChannelGroup; - -@property (nonatomic, strong) NSString *userName; -@property (nonatomic, strong) NSString *about; -@property (nonatomic) bool verified; - -@property (nonatomic) int32_t participantsCount; -@property (nonatomic, strong) NSArray *participants; - -- (NSArray *)involvedUserIds; -- (NSArray *)participantsUserIds; - -@end - -extern NSString *const TGBridgeChatKey; -extern NSString *const TGBridgeChatsArrayKey; diff --git a/submodules/WatchCommon/Host/PublicHeaders/WatchCommon/TGBridgeChatMessages.h b/submodules/WatchCommon/Host/PublicHeaders/WatchCommon/TGBridgeChatMessages.h deleted file mode 100644 index 9c539758d4..0000000000 --- a/submodules/WatchCommon/Host/PublicHeaders/WatchCommon/TGBridgeChatMessages.h +++ /dev/null @@ -1,14 +0,0 @@ -#import - -@class SSignal; - -@interface TGBridgeChatMessages : NSObject -{ - NSArray *_messages; -} - -@property (nonatomic, readonly) NSArray *messages; - -@end - -extern NSString *const TGBridgeChatMessageListViewKey; diff --git a/submodules/WatchCommon/Host/PublicHeaders/WatchCommon/TGBridgeCommon.h b/submodules/WatchCommon/Host/PublicHeaders/WatchCommon/TGBridgeCommon.h deleted file mode 100644 index fe0510c041..0000000000 --- a/submodules/WatchCommon/Host/PublicHeaders/WatchCommon/TGBridgeCommon.h +++ /dev/null @@ -1,95 +0,0 @@ -#import - -extern NSString *const TGBridgeIncomingFileTypeKey; -extern NSString *const TGBridgeIncomingFileIdentifierKey; -extern NSString *const TGBridgeIncomingFileRandomIdKey; -extern NSString *const TGBridgeIncomingFilePeerIdKey; -extern NSString *const TGBridgeIncomingFileReplyToMidKey; - -extern NSString *const TGBridgeIncomingFileTypeAudio; -extern NSString *const TGBridgeIncomingFileTypeImage; - -@interface TGBridgeSubscription : NSObject - -@property (nonatomic, readonly) int64_t identifier; -@property (nonatomic, readonly, strong) NSString *name; - -@property (nonatomic, readonly) bool isOneTime; -@property (nonatomic, readonly) bool renewable; -@property (nonatomic, readonly) bool dropPreviouslyQueued; -@property (nonatomic, readonly) bool synchronous; - -- (void)_serializeParametersWithCoder:(NSCoder *)aCoder; -- (void)_unserializeParametersWithCoder:(NSCoder *)aDecoder; - -+ (NSString *)subscriptionName; - -@end - - -@interface TGBridgeDisposal : NSObject - -@property (nonatomic, readonly) int64_t identifier; - -- (instancetype)initWithIdentifier:(int64_t)identifier; - -@end - - -@interface TGBridgeFile : NSObject - -@property (nonatomic, readonly, strong) NSData *data; -@property (nonatomic, readonly, strong) NSDictionary *metadata; - -- (instancetype)initWithData:(NSData *)data metadata:(NSDictionary *)metadata; - -@end - - -@interface TGBridgePing : NSObject - -@property (nonatomic, readonly) int32_t sessionId; - -- (instancetype)initWithSessionId:(int32_t)sessionId; - -@end - - -@interface TGBridgeSubscriptionListRequest : NSObject - -@property (nonatomic, readonly) int32_t sessionId; - -- (instancetype)initWithSessionId:(int32_t)sessionId; - -@end - - -@interface TGBridgeSubscriptionList : NSObject - -@property (nonatomic, readonly, strong) NSArray *subscriptions; - -- (instancetype)initWithArray:(NSArray *)array; - -@end - - -typedef NS_ENUM(int32_t, TGBridgeResponseType) { - TGBridgeResponseTypeUndefined, - TGBridgeResponseTypeNext, - TGBridgeResponseTypeFailed, - TGBridgeResponseTypeCompleted -}; - -@interface TGBridgeResponse : NSObject - -@property (nonatomic, readonly) int64_t subscriptionIdentifier; - -@property (nonatomic, readonly) TGBridgeResponseType type; -@property (nonatomic, readonly, strong) id next; -@property (nonatomic, readonly, strong) NSString *error; - -+ (TGBridgeResponse *)single:(id)next forSubscription:(TGBridgeSubscription *)subscription; -+ (TGBridgeResponse *)fail:(id)error forSubscription:(TGBridgeSubscription *)subscription; -+ (TGBridgeResponse *)completeForSubscription:(TGBridgeSubscription *)subscription; - -@end diff --git a/submodules/WatchCommon/Host/PublicHeaders/WatchCommon/TGBridgeContactMediaAttachment.h b/submodules/WatchCommon/Host/PublicHeaders/WatchCommon/TGBridgeContactMediaAttachment.h deleted file mode 100644 index 052293134a..0000000000 --- a/submodules/WatchCommon/Host/PublicHeaders/WatchCommon/TGBridgeContactMediaAttachment.h +++ /dev/null @@ -1,13 +0,0 @@ -#import - -@interface TGBridgeContactMediaAttachment : TGBridgeMediaAttachment - -@property (nonatomic, assign) int32_t uid; -@property (nonatomic, strong) NSString *firstName; -@property (nonatomic, strong) NSString *lastName; -@property (nonatomic, strong) NSString *phoneNumber; -@property (nonatomic, strong) NSString *prettyPhoneNumber; - -- (NSString *)displayName; - -@end diff --git a/submodules/WatchCommon/Host/PublicHeaders/WatchCommon/TGBridgeContext.h b/submodules/WatchCommon/Host/PublicHeaders/WatchCommon/TGBridgeContext.h deleted file mode 100644 index 45225a04f6..0000000000 --- a/submodules/WatchCommon/Host/PublicHeaders/WatchCommon/TGBridgeContext.h +++ /dev/null @@ -1,18 +0,0 @@ -#import - -@interface TGBridgeContext : NSObject - -@property (nonatomic, readonly) bool authorized; -@property (nonatomic, readonly) int32_t userId; -@property (nonatomic, readonly) bool micAccessAllowed; -@property (nonatomic, readonly) NSDictionary *preheatData; -@property (nonatomic, readonly) NSInteger preheatVersion; - -- (instancetype)initWithDictionary:(NSDictionary *)dictionary; -- (NSDictionary *)dictionary; - -- (TGBridgeContext *)updatedWithAuthorized:(bool)authorized peerId:(int32_t)peerId; -- (TGBridgeContext *)updatedWithPreheatData:(NSDictionary *)data; -- (TGBridgeContext *)updatedWithMicAccessAllowed:(bool)allowed; - -@end diff --git a/submodules/WatchCommon/Host/PublicHeaders/WatchCommon/TGBridgeDocumentMediaAttachment.h b/submodules/WatchCommon/Host/PublicHeaders/WatchCommon/TGBridgeDocumentMediaAttachment.h deleted file mode 100644 index 020a50fa47..0000000000 --- a/submodules/WatchCommon/Host/PublicHeaders/WatchCommon/TGBridgeDocumentMediaAttachment.h +++ /dev/null @@ -1,23 +0,0 @@ -#import - -@interface TGBridgeDocumentMediaAttachment : TGBridgeMediaAttachment - -@property (nonatomic, assign) int64_t documentId; -@property (nonatomic, assign) int64_t localDocumentId; -@property (nonatomic, assign) int32_t fileSize; - -@property (nonatomic, strong) NSString *fileName; -@property (nonatomic, strong) NSValue *imageSize; -@property (nonatomic, assign) bool isAnimated; -@property (nonatomic, assign) bool isSticker; -@property (nonatomic, strong) NSString *stickerAlt; -@property (nonatomic, assign) int64_t stickerPackId; -@property (nonatomic, assign) int64_t stickerPackAccessHash; - -@property (nonatomic, assign) bool isVoice; -@property (nonatomic, assign) bool isAudio; -@property (nonatomic, strong) NSString *title; -@property (nonatomic, strong) NSString *performer; -@property (nonatomic, assign) int32_t duration; - -@end diff --git a/submodules/WatchCommon/Host/PublicHeaders/WatchCommon/TGBridgeForwardedMessageMediaAttachment.h b/submodules/WatchCommon/Host/PublicHeaders/WatchCommon/TGBridgeForwardedMessageMediaAttachment.h deleted file mode 100644 index f57651e4e7..0000000000 --- a/submodules/WatchCommon/Host/PublicHeaders/WatchCommon/TGBridgeForwardedMessageMediaAttachment.h +++ /dev/null @@ -1,9 +0,0 @@ -#import - -@interface TGBridgeForwardedMessageMediaAttachment : TGBridgeMediaAttachment - -@property (nonatomic, assign) int64_t peerId; -@property (nonatomic, assign) int32_t mid; -@property (nonatomic, assign) int32_t date; - -@end diff --git a/submodules/WatchCommon/Host/PublicHeaders/WatchCommon/TGBridgeImageMediaAttachment.h b/submodules/WatchCommon/Host/PublicHeaders/WatchCommon/TGBridgeImageMediaAttachment.h deleted file mode 100644 index f35b6623d3..0000000000 --- a/submodules/WatchCommon/Host/PublicHeaders/WatchCommon/TGBridgeImageMediaAttachment.h +++ /dev/null @@ -1,10 +0,0 @@ -#import - -#import - -@interface TGBridgeImageMediaAttachment : TGBridgeMediaAttachment - -@property (nonatomic, assign) int64_t imageId; -@property (nonatomic, assign) CGSize dimensions; - -@end diff --git a/submodules/WatchCommon/Host/PublicHeaders/WatchCommon/TGBridgeLocationMediaAttachment.h b/submodules/WatchCommon/Host/PublicHeaders/WatchCommon/TGBridgeLocationMediaAttachment.h deleted file mode 100644 index 0108154651..0000000000 --- a/submodules/WatchCommon/Host/PublicHeaders/WatchCommon/TGBridgeLocationMediaAttachment.h +++ /dev/null @@ -1,19 +0,0 @@ -#import - -@interface TGBridgeVenueAttachment : NSObject - -@property (nonatomic, strong) NSString *title; -@property (nonatomic, strong) NSString *address; -@property (nonatomic, strong) NSString *provider; -@property (nonatomic, strong) NSString *venueId; - -@end - -@interface TGBridgeLocationMediaAttachment : TGBridgeMediaAttachment - -@property (nonatomic, assign) double latitude; -@property (nonatomic, assign) double longitude; - -@property (nonatomic, strong) TGBridgeVenueAttachment *venue; - -@end diff --git a/submodules/WatchCommon/Host/PublicHeaders/WatchCommon/TGBridgeLocationVenue.h b/submodules/WatchCommon/Host/PublicHeaders/WatchCommon/TGBridgeLocationVenue.h deleted file mode 100644 index c626f76f9c..0000000000 --- a/submodules/WatchCommon/Host/PublicHeaders/WatchCommon/TGBridgeLocationVenue.h +++ /dev/null @@ -1,15 +0,0 @@ -#import - -@class TGBridgeLocationMediaAttachment; - -@interface TGBridgeLocationVenue : NSObject - -@property (nonatomic) CLLocationCoordinate2D coordinate; -@property (nonatomic, strong) NSString *identifier; -@property (nonatomic, strong) NSString *provider; -@property (nonatomic, strong) NSString *name; -@property (nonatomic, strong) NSString *address; - -- (TGBridgeLocationMediaAttachment *)locationAttachment; - -@end diff --git a/submodules/WatchCommon/Host/PublicHeaders/WatchCommon/TGBridgeMediaAttachment.h b/submodules/WatchCommon/Host/PublicHeaders/WatchCommon/TGBridgeMediaAttachment.h deleted file mode 100644 index a814ea5008..0000000000 --- a/submodules/WatchCommon/Host/PublicHeaders/WatchCommon/TGBridgeMediaAttachment.h +++ /dev/null @@ -1,11 +0,0 @@ -#import - -@interface TGBridgeMediaAttachment : NSObject - -@property (nonatomic, readonly) NSInteger mediaType; - -+ (NSInteger)mediaType; - -@end - -extern NSString *const TGBridgeMediaAttachmentTypeKey; diff --git a/submodules/WatchCommon/Host/PublicHeaders/WatchCommon/TGBridgeMessage.h b/submodules/WatchCommon/Host/PublicHeaders/WatchCommon/TGBridgeMessage.h deleted file mode 100644 index a55e149121..0000000000 --- a/submodules/WatchCommon/Host/PublicHeaders/WatchCommon/TGBridgeMessage.h +++ /dev/null @@ -1,65 +0,0 @@ -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import - -typedef enum { - TGBridgeTextCheckingResultTypeUndefined, - TGBridgeTextCheckingResultTypeBold, - TGBridgeTextCheckingResultTypeItalic, - TGBridgeTextCheckingResultTypeCode, - TGBridgeTextCheckingResultTypePre -} TGBridgeTextCheckingResultType; - -@interface TGBridgeTextCheckingResult : NSObject - -@property (nonatomic, assign) TGBridgeTextCheckingResultType type; -@property (nonatomic, assign) NSRange range; - -@end - - -typedef NS_ENUM(NSUInteger, TGBridgeMessageDeliveryState) { - TGBridgeMessageDeliveryStateDelivered = 0, - TGBridgeMessageDeliveryStatePending = 1, - TGBridgeMessageDeliveryStateFailed = 2 -}; - -@interface TGBridgeMessage : NSObject - -@property (nonatomic) int32_t identifier; -@property (nonatomic) NSTimeInterval date; -@property (nonatomic) int64_t randomId; -@property (nonatomic) bool unread; -@property (nonatomic) bool deliveryError; -@property (nonatomic) TGBridgeMessageDeliveryState deliveryState; -@property (nonatomic) bool outgoing; -@property (nonatomic) int64_t fromUid; -@property (nonatomic) int64_t toUid; -@property (nonatomic) int64_t cid; -@property (nonatomic, strong) NSString *text; -@property (nonatomic, strong) NSArray *media; -@property (nonatomic) bool forceReply; - -- (NSArray *)involvedUserIds; -- (NSArray *)textCheckingResults; - -+ (instancetype)temporaryNewMessageForText:(NSString *)text userId:(int32_t)userId; -+ (instancetype)temporaryNewMessageForText:(NSString *)text userId:(int32_t)userId replyToMessage:(TGBridgeMessage *)replyToMessage; -+ (instancetype)temporaryNewMessageForSticker:(TGBridgeDocumentMediaAttachment *)sticker userId:(int32_t)userId; -+ (instancetype)temporaryNewMessageForLocation:(TGBridgeLocationMediaAttachment *)location userId:(int32_t)userId; -+ (instancetype)temporaryNewMessageForAudioWithDuration:(int32_t)duration userId:(int32_t)userId localAudioId:(int64_t)localAudioId; - -@end - -extern NSString *const TGBridgeMessageKey; -extern NSString *const TGBridgeMessagesArrayKey; diff --git a/submodules/WatchCommon/Host/PublicHeaders/WatchCommon/TGBridgeMessageEntities.h b/submodules/WatchCommon/Host/PublicHeaders/WatchCommon/TGBridgeMessageEntities.h deleted file mode 100644 index 669ff3b21d..0000000000 --- a/submodules/WatchCommon/Host/PublicHeaders/WatchCommon/TGBridgeMessageEntities.h +++ /dev/null @@ -1,59 +0,0 @@ -#import - -@interface TGBridgeMessageEntity : NSObject - -@property (nonatomic, assign) NSRange range; - -+ (instancetype)entitityWithRange:(NSRange)range; - -@end - - -@interface TGBridgeMessageEntityUrl : TGBridgeMessageEntity - -@end - - -@interface TGBridgeMessageEntityEmail : TGBridgeMessageEntity - -@end - - -@interface TGBridgeMessageEntityTextUrl : TGBridgeMessageEntity - -@end - - -@interface TGBridgeMessageEntityMention : TGBridgeMessageEntity - -@end - - -@interface TGBridgeMessageEntityHashtag : TGBridgeMessageEntity - -@end - - -@interface TGBridgeMessageEntityBotCommand : TGBridgeMessageEntity - -@end - - -@interface TGBridgeMessageEntityBold : TGBridgeMessageEntity - -@end - - -@interface TGBridgeMessageEntityItalic : TGBridgeMessageEntity - -@end - - -@interface TGBridgeMessageEntityCode : TGBridgeMessageEntity - -@end - - -@interface TGBridgeMessageEntityPre : TGBridgeMessageEntity - -@end diff --git a/submodules/WatchCommon/Host/PublicHeaders/WatchCommon/TGBridgeMessageEntitiesAttachment.h b/submodules/WatchCommon/Host/PublicHeaders/WatchCommon/TGBridgeMessageEntitiesAttachment.h deleted file mode 100644 index 8f32fd038c..0000000000 --- a/submodules/WatchCommon/Host/PublicHeaders/WatchCommon/TGBridgeMessageEntitiesAttachment.h +++ /dev/null @@ -1,8 +0,0 @@ -#import -#import - -@interface TGBridgeMessageEntitiesAttachment : TGBridgeMediaAttachment - -@property (nonatomic, strong) NSArray *entities; - -@end diff --git a/submodules/WatchCommon/Host/PublicHeaders/WatchCommon/TGBridgePeerIdAdapter.h b/submodules/WatchCommon/Host/PublicHeaders/WatchCommon/TGBridgePeerIdAdapter.h deleted file mode 100644 index c5f0ac92fc..0000000000 --- a/submodules/WatchCommon/Host/PublicHeaders/WatchCommon/TGBridgePeerIdAdapter.h +++ /dev/null @@ -1,52 +0,0 @@ -#ifndef Telegraph_TGPeerIdAdapter_h -#define Telegraph_TGPeerIdAdapter_h - -static inline bool TGPeerIdIsGroup(int64_t peerId) { - return peerId < 0 && peerId > INT32_MIN; -} - -static inline bool TGPeerIdIsUser(int64_t peerId) { - return peerId > 0 && peerId < INT32_MAX; -} - -static inline bool TGPeerIdIsChannel(int64_t peerId) { - return peerId <= ((int64_t)INT32_MIN) * 2 && peerId > ((int64_t)INT32_MIN) * 3; -} - -static inline bool TGPeerIdIsAdminLog(int64_t peerId) { - return peerId <= ((int64_t)INT32_MIN) * 3 && peerId > ((int64_t)INT32_MIN) * 4; -} - -static inline int32_t TGChannelIdFromPeerId(int64_t peerId) { - if (TGPeerIdIsChannel(peerId)) { - return (int32_t)(((int64_t)INT32_MIN) * 2 - peerId); - } else { - return 0; - } -} - -static inline int64_t TGPeerIdFromChannelId(int32_t channelId) { - return ((int64_t)INT32_MIN) * 2 - ((int64_t)channelId); -} - -static inline int64_t TGPeerIdFromAdminLogId(int32_t channelId) { - return ((int64_t)INT32_MIN) * 3 - ((int64_t)channelId); -} - -static inline int64_t TGPeerIdFromGroupId(int32_t groupId) { - return -groupId; -} - -static inline int32_t TGGroupIdFromPeerId(int64_t peerId) { - if (TGPeerIdIsGroup(peerId)) { - return (int32_t)-peerId; - } else { - return 0; - } -} - -static inline bool TGPeerIdIsSecretChat(int64_t peerId) { - return peerId <= ((int64_t)INT32_MIN) && peerId > ((int64_t)INT32_MIN) * 2; -} - -#endif diff --git a/submodules/WatchCommon/Host/PublicHeaders/WatchCommon/TGBridgePeerNotificationSettings.h b/submodules/WatchCommon/Host/PublicHeaders/WatchCommon/TGBridgePeerNotificationSettings.h deleted file mode 100644 index fce723cecb..0000000000 --- a/submodules/WatchCommon/Host/PublicHeaders/WatchCommon/TGBridgePeerNotificationSettings.h +++ /dev/null @@ -1,7 +0,0 @@ -#import - -@interface TGBridgePeerNotificationSettings : NSObject - -@property (nonatomic, assign) int32_t muteFor; - -@end diff --git a/submodules/WatchCommon/Host/PublicHeaders/WatchCommon/TGBridgeReplyMarkupMediaAttachment.h b/submodules/WatchCommon/Host/PublicHeaders/WatchCommon/TGBridgeReplyMarkupMediaAttachment.h deleted file mode 100644 index ef8a600aee..0000000000 --- a/submodules/WatchCommon/Host/PublicHeaders/WatchCommon/TGBridgeReplyMarkupMediaAttachment.h +++ /dev/null @@ -1,9 +0,0 @@ -#import - -@class TGBridgeBotReplyMarkup; - -@interface TGBridgeReplyMarkupMediaAttachment : TGBridgeMediaAttachment - -@property (nonatomic, strong) TGBridgeBotReplyMarkup *replyMarkup; - -@end diff --git a/submodules/WatchCommon/Host/PublicHeaders/WatchCommon/TGBridgeReplyMessageMediaAttachment.h b/submodules/WatchCommon/Host/PublicHeaders/WatchCommon/TGBridgeReplyMessageMediaAttachment.h deleted file mode 100644 index 50353e214d..0000000000 --- a/submodules/WatchCommon/Host/PublicHeaders/WatchCommon/TGBridgeReplyMessageMediaAttachment.h +++ /dev/null @@ -1,10 +0,0 @@ -#import - -@class TGBridgeMessage; - -@interface TGBridgeReplyMessageMediaAttachment : TGBridgeMediaAttachment - -@property (nonatomic, assign) int32_t mid; -@property (nonatomic, strong) TGBridgeMessage *message; - -@end diff --git a/submodules/WatchCommon/Host/PublicHeaders/WatchCommon/TGBridgeSubscriptions.h b/submodules/WatchCommon/Host/PublicHeaders/WatchCommon/TGBridgeSubscriptions.h deleted file mode 100644 index 609c2d019d..0000000000 --- a/submodules/WatchCommon/Host/PublicHeaders/WatchCommon/TGBridgeSubscriptions.h +++ /dev/null @@ -1,268 +0,0 @@ -#import - -#import -#import - -@class TGBridgeMediaAttachment; -@class TGBridgeImageMediaAttachment; -@class TGBridgeVideoMediaAttachment; -@class TGBridgeDocumentMediaAttachment; -@class TGBridgeLocationMediaAttachment; -@class TGBridgePeerNotificationSettings; - -@interface TGBridgeAudioSubscription : TGBridgeSubscription - -@property (nonatomic, readonly) TGBridgeMediaAttachment *attachment; -@property (nonatomic, readonly) int64_t peerId; -@property (nonatomic, readonly) int32_t messageId; - -- (instancetype)initWithAttachment:(TGBridgeMediaAttachment *)attachment peerId:(int64_t)peerId messageId:(int32_t)messageId; - -@end - - -@interface TGBridgeAudioSentSubscription : TGBridgeSubscription - -@property (nonatomic, readonly) int64_t conversationId; - -- (instancetype)initWithConversationId:(int64_t)conversationId; - -@end - - -@interface TGBridgeChatListSubscription : TGBridgeSubscription - -@property (nonatomic, readonly) int32_t limit; - -- (instancetype)initWithLimit:(int32_t)limit; - -@end - - -@interface TGBridgeChatMessageListSubscription : TGBridgeSubscription - -@property (nonatomic, readonly) int64_t peerId; -@property (nonatomic, readonly) int32_t atMessageId; -@property (nonatomic, readonly) NSUInteger rangeMessageCount; - -- (instancetype)initWithPeerId:(int64_t)peerId atMessageId:(int32_t)messageId rangeMessageCount:(NSUInteger)rangeMessageCount; - -@end - - -@interface TGBridgeChatMessageSubscription : TGBridgeSubscription - -@property (nonatomic, readonly) int64_t peerId; -@property (nonatomic, readonly) int32_t messageId; - -- (instancetype)initWithPeerId:(int64_t)peerId messageId:(int32_t)messageId; - -@end - - -@interface TGBridgeReadChatMessageListSubscription : TGBridgeSubscription - -@property (nonatomic, readonly) int64_t peerId; -@property (nonatomic, readonly) int32_t messageId; - -- (instancetype)initWithPeerId:(int64_t)peerId messageId:(int32_t)messageId; - -@end - - -@interface TGBridgeContactsSubscription : TGBridgeSubscription - -@property (nonatomic, readonly) NSString *query; - -- (instancetype)initWithQuery:(NSString *)query; - -@end - - -@interface TGBridgeConversationSubscription : TGBridgeSubscription - -@property (nonatomic, readonly) int64_t peerId; - -- (instancetype)initWithPeerId:(int64_t)peerId; - -@end - - -@interface TGBridgeNearbyVenuesSubscription : TGBridgeSubscription - -@property (nonatomic, readonly) CLLocationCoordinate2D coordinate; -@property (nonatomic, readonly) int32_t limit; - -- (instancetype)initWithCoordinate:(CLLocationCoordinate2D)coordinate limit:(int32_t)limit; - -@end - - -@interface TGBridgeMediaThumbnailSubscription : TGBridgeSubscription - -@property (nonatomic, readonly) int64_t peerId; -@property (nonatomic, readonly) int32_t messageId; -@property (nonatomic, readonly) CGSize size; -@property (nonatomic, readonly) bool notification; - -- (instancetype)initWithPeerId:(int64_t)peerId messageId:(int32_t)messageId size:(CGSize)size notification:(bool)notification; - -@end - - -typedef NS_ENUM(NSUInteger, TGBridgeMediaAvatarType) { - TGBridgeMediaAvatarTypeSmall, - TGBridgeMediaAvatarTypeProfile, - TGBridgeMediaAvatarTypeLarge -}; - -@interface TGBridgeMediaAvatarSubscription : TGBridgeSubscription - -@property (nonatomic, readonly) int64_t peerId; -@property (nonatomic, readonly) NSString *url; -@property (nonatomic, readonly) TGBridgeMediaAvatarType type; - -- (instancetype)initWithPeerId:(int64_t)peerId url:(NSString *)url type:(TGBridgeMediaAvatarType)type; - -@end - -@interface TGBridgeMediaStickerSubscription : TGBridgeSubscription - -@property (nonatomic, readonly) int64_t documentId; -@property (nonatomic, readonly) int64_t stickerPackId; -@property (nonatomic, readonly) int64_t stickerPackAccessHash; -@property (nonatomic, readonly) int64_t stickerPeerId; -@property (nonatomic, readonly) int32_t stickerMessageId; -@property (nonatomic, readonly) bool notification; -@property (nonatomic, readonly) CGSize size; - -- (instancetype)initWithDocumentId:(int64_t)documentId stickerPackId:(int64_t)stickerPackId stickerPackAccessHash:(int64_t)stickerPackAccessHash stickerPeerId:(int64_t)stickerPeerId stickerMessageId:(int32_t)stickerMessageId notification:(bool)notification size:(CGSize)size; - -@end - - -@interface TGBridgePeerSettingsSubscription : TGBridgeSubscription - -@property (nonatomic, readonly) int64_t peerId; - -- (instancetype)initWithPeerId:(int64_t)peerId; - -@end - -@interface TGBridgePeerUpdateNotificationSettingsSubscription : TGBridgeSubscription - -@property (nonatomic, readonly) int64_t peerId; - -- (instancetype)initWithPeerId:(int64_t)peerId; - -@end - -@interface TGBridgePeerUpdateBlockStatusSubscription : TGBridgeSubscription - -@property (nonatomic, readonly) int64_t peerId; -@property (nonatomic, readonly) bool blocked; - -- (instancetype)initWithPeerId:(int64_t)peerId blocked:(bool)blocked; - -@end - - -@interface TGBridgeRemoteSubscription : TGBridgeSubscription - -@property (nonatomic, readonly) int64_t peerId; -@property (nonatomic, readonly) int32_t messageId; -@property (nonatomic, readonly) int32_t type; -@property (nonatomic, readonly) bool autoPlay; - -- (instancetype)initWithPeerId:(int64_t)peerId messageId:(int32_t)messageId type:(int32_t)type autoPlay:(bool)autoPlay; - -@end - - -@interface TGBridgeSendTextMessageSubscription : TGBridgeSubscription - -@property (nonatomic, readonly) int64_t peerId; -@property (nonatomic, readonly) NSString *text; -@property (nonatomic, readonly) int32_t replyToMid; - -- (instancetype)initWithPeerId:(int64_t)peerId text:(NSString *)text replyToMid:(int32_t)replyToMid; - -@end - - -@interface TGBridgeSendStickerMessageSubscription : TGBridgeSubscription - -@property (nonatomic, readonly) int64_t peerId; -@property (nonatomic, readonly) TGBridgeDocumentMediaAttachment *document; -@property (nonatomic, readonly) int32_t replyToMid; - -- (instancetype)initWithPeerId:(int64_t)peerId document:(TGBridgeDocumentMediaAttachment *)document replyToMid:(int32_t)replyToMid; - -@end - - -@interface TGBridgeSendLocationMessageSubscription : TGBridgeSubscription - -@property (nonatomic, readonly) int64_t peerId; -@property (nonatomic, readonly) TGBridgeLocationMediaAttachment *location; -@property (nonatomic, readonly) int32_t replyToMid; - -- (instancetype)initWithPeerId:(int64_t)peerId location:(TGBridgeLocationMediaAttachment *)location replyToMid:(int32_t)replyToMid; - -@end - - -@interface TGBridgeSendForwardedMessageSubscription : TGBridgeSubscription - -@property (nonatomic, readonly) int64_t peerId; -@property (nonatomic, readonly) int32_t messageId; -@property (nonatomic, readonly) int64_t targetPeerId; - -- (instancetype)initWithPeerId:(int64_t)peerId messageId:(int32_t)messageId targetPeerId:(int64_t)targetPeerId; - -@end - - -@interface TGBridgeStateSubscription : TGBridgeSubscription - -@end - - -@interface TGBridgeStickerPacksSubscription : TGBridgeSubscription - -@end - - -@interface TGBridgeRecentStickersSubscription : TGBridgeSubscription - -@property (nonatomic, readonly) int32_t limit; - -- (instancetype)initWithLimit:(int32_t)limit; - -@end - - -@interface TGBridgeUserInfoSubscription : TGBridgeSubscription - -@property (nonatomic, readonly) NSArray *userIds; - -- (instancetype)initWithUserIds:(NSArray *)userIds; - -@end - - -@interface TGBridgeUserBotInfoSubscription : TGBridgeSubscription - -@property (nonatomic, readonly) NSArray *userIds; - -- (instancetype)initWithUserIds:(NSArray *)userIds; - -@end - -@interface TGBridgeBotReplyMarkupSubscription : TGBridgeSubscription - -@property (nonatomic, readonly) int64_t peerId; - -- (instancetype)initWithPeerId:(int64_t)peerId; - -@end diff --git a/submodules/WatchCommon/Host/PublicHeaders/WatchCommon/TGBridgeUnsupportedMediaAttachment.h b/submodules/WatchCommon/Host/PublicHeaders/WatchCommon/TGBridgeUnsupportedMediaAttachment.h deleted file mode 100644 index 5b81ed1f57..0000000000 --- a/submodules/WatchCommon/Host/PublicHeaders/WatchCommon/TGBridgeUnsupportedMediaAttachment.h +++ /dev/null @@ -1,9 +0,0 @@ -#import - -@interface TGBridgeUnsupportedMediaAttachment : TGBridgeMediaAttachment - -@property (nonatomic, strong) NSString *compactTitle; -@property (nonatomic, strong) NSString *title; -@property (nonatomic, strong) NSString *subtitle; - -@end diff --git a/submodules/WatchCommon/Host/PublicHeaders/WatchCommon/TGBridgeUser.h b/submodules/WatchCommon/Host/PublicHeaders/WatchCommon/TGBridgeUser.h deleted file mode 100644 index 632d934db4..0000000000 --- a/submodules/WatchCommon/Host/PublicHeaders/WatchCommon/TGBridgeUser.h +++ /dev/null @@ -1,59 +0,0 @@ -#import - -@class TGBridgeBotInfo; -@class TGBridgeUserChange; - -typedef NS_ENUM(NSUInteger, TGBridgeUserKind) { - TGBridgeUserKindGeneric, - TGBridgeUserKindBot, - TGBridgeUserKindSmartBot -}; - -typedef NS_ENUM(NSUInteger, TGBridgeBotKind) { - TGBridgeBotKindGeneric, - TGBridgeBotKindPrivate -}; - -@interface TGBridgeUser : NSObject - -@property (nonatomic) int64_t identifier; -@property (nonatomic, strong) NSString *firstName; -@property (nonatomic, strong) NSString *lastName; -@property (nonatomic, strong) NSString *userName; -@property (nonatomic, strong) NSString *phoneNumber; -@property (nonatomic, strong) NSString *prettyPhoneNumber; -@property (nonatomic, strong) NSString *about; - -@property (nonatomic) bool online; -@property (nonatomic) NSTimeInterval lastSeen; - -@property (nonatomic, strong) NSString *photoSmall; -@property (nonatomic, strong) NSString *photoBig; - -@property (nonatomic) TGBridgeUserKind kind; -@property (nonatomic) TGBridgeBotKind botKind; -@property (nonatomic) int32_t botVersion; - -@property (nonatomic) bool verified; - -@property (nonatomic) int32_t userVersion; - -- (NSString *)displayName; -- (TGBridgeUserChange *)changeFromUser:(TGBridgeUser *)user; -- (TGBridgeUser *)userByApplyingChange:(TGBridgeUserChange *)change; - -- (bool)isBot; - -@end - - -@interface TGBridgeUserChange : NSObject - -@property (nonatomic, readonly) int32_t userIdentifier; -@property (nonatomic, readonly) NSDictionary *fields; - -- (instancetype)initWithUserIdentifier:(int32_t)userIdentifier fields:(NSDictionary *)fields; - -@end - -extern NSString *const TGBridgeUsersDictionaryKey; diff --git a/submodules/WatchCommon/Host/PublicHeaders/WatchCommon/TGBridgeVideoMediaAttachment.h b/submodules/WatchCommon/Host/PublicHeaders/WatchCommon/TGBridgeVideoMediaAttachment.h deleted file mode 100644 index 8d54027ce4..0000000000 --- a/submodules/WatchCommon/Host/PublicHeaders/WatchCommon/TGBridgeVideoMediaAttachment.h +++ /dev/null @@ -1,12 +0,0 @@ -#import - -#import - -@interface TGBridgeVideoMediaAttachment : TGBridgeMediaAttachment - -@property (nonatomic, assign) int64_t videoId; -@property (nonatomic, assign) int32_t duration; -@property (nonatomic, assign) CGSize dimensions; -@property (nonatomic, assign) bool round; - -@end diff --git a/submodules/WatchCommon/Host/PublicHeaders/WatchCommon/TGBridgeWebPageMediaAttachment.h b/submodules/WatchCommon/Host/PublicHeaders/WatchCommon/TGBridgeWebPageMediaAttachment.h deleted file mode 100644 index 6e20ee3f96..0000000000 --- a/submodules/WatchCommon/Host/PublicHeaders/WatchCommon/TGBridgeWebPageMediaAttachment.h +++ /dev/null @@ -1,23 +0,0 @@ -#import - -#import - -@class TGBridgeImageMediaAttachment; - -@interface TGBridgeWebPageMediaAttachment : TGBridgeMediaAttachment - -@property (nonatomic, assign) int64_t webPageId; -@property (nonatomic, strong) NSString *url; -@property (nonatomic, strong) NSString *displayUrl; -@property (nonatomic, strong) NSString *pageType; -@property (nonatomic, strong) NSString *siteName; -@property (nonatomic, strong) NSString *title; -@property (nonatomic, strong) NSString *pageDescription; -@property (nonatomic, strong) TGBridgeImageMediaAttachment *photo; -@property (nonatomic, strong) NSString *embedUrl; -@property (nonatomic, strong) NSString *embedType; -@property (nonatomic, assign) CGSize embedSize; -@property (nonatomic, strong) NSNumber *duration; -@property (nonatomic, strong) NSString *author; - -@end diff --git a/submodules/WatchCommon/Host/PublicHeaders/WatchCommon/WatchCommon.h b/submodules/WatchCommon/Host/PublicHeaders/WatchCommon/WatchCommon.h deleted file mode 100644 index 27b37d2d7b..0000000000 --- a/submodules/WatchCommon/Host/PublicHeaders/WatchCommon/WatchCommon.h +++ /dev/null @@ -1,29 +0,0 @@ -#import - -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import diff --git a/submodules/WatchCommon/Host/Sources/TGBridgeActionMediaAttachment.m b/submodules/WatchCommon/Host/Sources/TGBridgeActionMediaAttachment.m deleted file mode 100644 index 763cf8a1eb..0000000000 --- a/submodules/WatchCommon/Host/Sources/TGBridgeActionMediaAttachment.m +++ /dev/null @@ -1,33 +0,0 @@ -#import "TGBridgeActionMediaAttachment.h" -#import "TGBridgeImageMediaAttachment.h" - -const NSInteger TGBridgeActionMediaAttachmentType = 0x1167E28B; - -NSString *const TGBridgeActionMediaTypeKey = @"actionType"; -NSString *const TGBridgeActionMediaDataKey = @"actionData"; - -@implementation TGBridgeActionMediaAttachment - -- (instancetype)initWithCoder:(NSCoder *)aDecoder -{ - self = [super init]; - if (self != nil) - { - _actionType = (TGBridgeMessageAction)[aDecoder decodeInt32ForKey:TGBridgeActionMediaTypeKey]; - _actionData = [aDecoder decodeObjectForKey:TGBridgeActionMediaDataKey]; - } - return self; -} - -- (void)encodeWithCoder:(NSCoder *)aCoder -{ - [aCoder encodeInt32:self.actionType forKey:TGBridgeActionMediaTypeKey]; - [aCoder encodeObject:self.actionData forKey:TGBridgeActionMediaDataKey]; -} - -+ (NSInteger)mediaType -{ - return TGBridgeActionMediaAttachmentType; -} - -@end diff --git a/submodules/WatchCommon/Host/Sources/TGBridgeAudioMediaAttachment.m b/submodules/WatchCommon/Host/Sources/TGBridgeAudioMediaAttachment.m deleted file mode 100644 index 3f4096a897..0000000000 --- a/submodules/WatchCommon/Host/Sources/TGBridgeAudioMediaAttachment.m +++ /dev/null @@ -1,65 +0,0 @@ -#import "TGBridgeAudioMediaAttachment.h" - -const NSInteger TGBridgeAudioMediaAttachmentType = 0x3A0E7A32; - -NSString *const TGBridgeAudioMediaAudioIdKey = @"audioId"; -NSString *const TGBridgeAudioMediaAccessHashKey = @"accessHash"; -NSString *const TGBridgeAudioMediaLocalIdKey = @"localId"; -NSString *const TGBridgeAudioMediaDatacenterIdKey = @"datacenterId"; -NSString *const TGBridgeAudioMediaDurationKey = @"duration"; -NSString *const TGBridgeAudioMediaFileSizeKey = @"fileSize"; - -@implementation TGBridgeAudioMediaAttachment - -- (instancetype)initWithCoder:(NSCoder *)aDecoder -{ - self = [super init]; - if (self != nil) - { - _audioId = [aDecoder decodeInt64ForKey:TGBridgeAudioMediaAudioIdKey]; - _accessHash = [aDecoder decodeInt64ForKey:TGBridgeAudioMediaAccessHashKey]; - _localAudioId = [aDecoder decodeInt64ForKey:TGBridgeAudioMediaLocalIdKey]; - _datacenterId = [aDecoder decodeInt32ForKey:TGBridgeAudioMediaDatacenterIdKey]; - _duration = [aDecoder decodeInt32ForKey:TGBridgeAudioMediaDurationKey]; - _fileSize = [aDecoder decodeInt32ForKey:TGBridgeAudioMediaFileSizeKey]; - } - return self; -} - -- (void)encodeWithCoder:(nonnull NSCoder *)aCoder -{ - [aCoder encodeInt64:self.audioId forKey:TGBridgeAudioMediaAudioIdKey]; - [aCoder encodeInt64:self.accessHash forKey:TGBridgeAudioMediaAccessHashKey]; - [aCoder encodeInt64:self.localAudioId forKey:TGBridgeAudioMediaLocalIdKey]; - [aCoder encodeInt32:self.datacenterId forKey:TGBridgeAudioMediaDatacenterIdKey]; - [aCoder encodeInt32:self.duration forKey:TGBridgeAudioMediaDurationKey]; - [aCoder encodeInt32:self.fileSize forKey:TGBridgeAudioMediaFileSizeKey]; -} - -- (int64_t)identifier -{ - if (self.localAudioId != 0) - return self.localAudioId; - - return self.audioId; -} - -- (BOOL)isEqual:(id)object -{ - if (object == self) - return YES; - - if (!object || ![object isKindOfClass:[self class]]) - return NO; - - TGBridgeAudioMediaAttachment *audio = (TGBridgeAudioMediaAttachment *)object; - - return (self.audioId == audio.audioId || self.localAudioId == audio.localAudioId); -} - -+ (NSInteger)mediaType -{ - return TGBridgeAudioMediaAttachmentType; -} - -@end diff --git a/submodules/WatchCommon/Host/Sources/TGBridgeBotCommandInfo.m b/submodules/WatchCommon/Host/Sources/TGBridgeBotCommandInfo.m deleted file mode 100644 index 0f1e005861..0000000000 --- a/submodules/WatchCommon/Host/Sources/TGBridgeBotCommandInfo.m +++ /dev/null @@ -1,25 +0,0 @@ -#import "TGBridgeBotCommandInfo.h" - -NSString *const TGBridgeBotCommandInfoCommandKey = @"command"; -NSString *const TGBridgeBotCommandDescriptionKey = @"commandDescription"; - -@implementation TGBridgeBotCommandInfo - -- (instancetype)initWithCoder:(NSCoder *)aDecoder -{ - self = [super init]; - if (self != nil) - { - _command = [aDecoder decodeObjectForKey:TGBridgeBotCommandInfoCommandKey]; - _commandDescription = [aDecoder decodeObjectForKey:TGBridgeBotCommandDescriptionKey]; - } - return self; -} - -- (void)encodeWithCoder:(NSCoder *)aCoder -{ - [aCoder encodeObject:self.command forKey:TGBridgeBotCommandInfoCommandKey]; - [aCoder encodeObject:self.commandDescription forKey:TGBridgeBotCommandDescriptionKey]; -} - -@end diff --git a/submodules/WatchCommon/Host/Sources/TGBridgeBotInfo.m b/submodules/WatchCommon/Host/Sources/TGBridgeBotInfo.m deleted file mode 100644 index 996abb3a95..0000000000 --- a/submodules/WatchCommon/Host/Sources/TGBridgeBotInfo.m +++ /dev/null @@ -1,25 +0,0 @@ -#import "TGBridgeBotInfo.h" - -NSString *const TGBridgeBotInfoShortDescriptionKey = @"shortDescription"; -NSString *const TGBridgeBotInfoCommandListKey = @"commandList"; - -@implementation TGBridgeBotInfo - -- (instancetype)initWithCoder:(NSCoder *)aDecoder -{ - self = [super init]; - if (self != nil) - { - _shortDescription = [aDecoder decodeObjectForKey:TGBridgeBotInfoShortDescriptionKey]; - _commandList = [aDecoder decodeObjectForKey:TGBridgeBotInfoCommandListKey]; - } - return self; -} - -- (void)encodeWithCoder:(NSCoder *)aCoder -{ - [aCoder encodeObject:self.shortDescription forKey:TGBridgeBotInfoShortDescriptionKey]; - [aCoder encodeObject:self.commandList forKey:TGBridgeBotInfoCommandListKey]; -} - -@end diff --git a/submodules/WatchCommon/Host/Sources/TGBridgeChat.m b/submodules/WatchCommon/Host/Sources/TGBridgeChat.m deleted file mode 100644 index 973522fa3c..0000000000 --- a/submodules/WatchCommon/Host/Sources/TGBridgeChat.m +++ /dev/null @@ -1,148 +0,0 @@ -#import "TGBridgeChat.h" -#import "TGBridgePeerIdAdapter.h" - -NSString *const TGBridgeChatIdentifierKey = @"identifier"; -NSString *const TGBridgeChatDateKey = @"date"; -NSString *const TGBridgeChatFromUidKey = @"fromUid"; -NSString *const TGBridgeChatTextKey = @"text"; -NSString *const TGBridgeChatOutgoingKey = @"outgoing"; -NSString *const TGBridgeChatUnreadKey = @"unread"; -NSString *const TGBridgeChatMediaKey = @"media"; -NSString *const TGBridgeChatUnreadCountKey = @"unreadCount"; -NSString *const TGBridgeChatGroupTitleKey = @"groupTitle"; -NSString *const TGBridgeChatGroupPhotoSmallKey = @"groupPhotoSmall"; -NSString *const TGBridgeChatGroupPhotoBigKey = @"groupPhotoBig"; -NSString *const TGBridgeChatIsGroupKey = @"isGroup"; -NSString *const TGBridgeChatHasLeftGroupKey = @"hasLeftGroup"; -NSString *const TGBridgeChatIsKickedFromGroupKey = @"isKickedFromGroup"; -NSString *const TGBridgeChatIsChannelKey = @"isChannel"; -NSString *const TGBridgeChatIsChannelGroupKey = @"isChannelGroup"; -NSString *const TGBridgeChatUserNameKey = @"userName"; -NSString *const TGBridgeChatAboutKey = @"about"; -NSString *const TGBridgeChatVerifiedKey = @"verified"; -NSString *const TGBridgeChatGroupParticipantsCountKey = @"participantsCount"; -NSString *const TGBridgeChatGroupParticipantsKey = @"participants"; -NSString *const TGBridgeChatDeliveryStateKey = @"deliveryState"; -NSString *const TGBridgeChatDeliveryErrorKey = @"deliveryError"; - -NSString *const TGBridgeChatKey = @"chat"; -NSString *const TGBridgeChatsArrayKey = @"chats"; - -@implementation TGBridgeChat - -- (instancetype)initWithCoder:(NSCoder *)aDecoder -{ - self = [super init]; - if (self != nil) - { - _identifier = [aDecoder decodeInt64ForKey:TGBridgeChatIdentifierKey]; - _date = [aDecoder decodeDoubleForKey:TGBridgeChatDateKey]; - _fromUid = [aDecoder decodeInt32ForKey:TGBridgeChatFromUidKey]; - _text = [aDecoder decodeObjectForKey:TGBridgeChatTextKey]; - _outgoing = [aDecoder decodeBoolForKey:TGBridgeChatOutgoingKey]; - _unread = [aDecoder decodeBoolForKey:TGBridgeChatUnreadKey]; - _unreadCount = [aDecoder decodeInt32ForKey:TGBridgeChatUnreadCountKey]; - _deliveryState = [aDecoder decodeInt32ForKey:TGBridgeChatDeliveryStateKey]; - _deliveryError = [aDecoder decodeBoolForKey:TGBridgeChatDeliveryErrorKey]; - _media = [aDecoder decodeObjectForKey:TGBridgeChatMediaKey]; - - _groupTitle = [aDecoder decodeObjectForKey:TGBridgeChatGroupTitleKey]; - _groupPhotoSmall = [aDecoder decodeObjectForKey:TGBridgeChatGroupPhotoSmallKey]; - _groupPhotoBig = [aDecoder decodeObjectForKey:TGBridgeChatGroupPhotoBigKey]; - _isGroup = [aDecoder decodeBoolForKey:TGBridgeChatIsGroupKey]; - _hasLeftGroup = [aDecoder decodeBoolForKey:TGBridgeChatHasLeftGroupKey]; - _isKickedFromGroup = [aDecoder decodeBoolForKey:TGBridgeChatIsKickedFromGroupKey]; - _isChannel = [aDecoder decodeBoolForKey:TGBridgeChatIsChannelKey]; - _isChannelGroup = [aDecoder decodeBoolForKey:TGBridgeChatIsChannelGroupKey]; - _userName = [aDecoder decodeObjectForKey:TGBridgeChatUserNameKey]; - _about = [aDecoder decodeObjectForKey:TGBridgeChatAboutKey]; - _verified = [aDecoder decodeBoolForKey:TGBridgeChatVerifiedKey]; - _participantsCount = [aDecoder decodeInt32ForKey:TGBridgeChatGroupParticipantsCountKey]; - _participants = [aDecoder decodeObjectForKey:TGBridgeChatGroupParticipantsKey]; - } - return self; -} - -- (void)encodeWithCoder:(NSCoder *)aCoder -{ - [aCoder encodeInt64:self.identifier forKey:TGBridgeChatIdentifierKey]; - [aCoder encodeDouble:self.date forKey:TGBridgeChatDateKey]; - [aCoder encodeInt32:self.fromUid forKey:TGBridgeChatFromUidKey]; - [aCoder encodeObject:self.text forKey:TGBridgeChatTextKey]; - [aCoder encodeBool:self.outgoing forKey:TGBridgeChatOutgoingKey]; - [aCoder encodeBool:self.unread forKey:TGBridgeChatUnreadKey]; - [aCoder encodeInt32:self.unreadCount forKey:TGBridgeChatUnreadCountKey]; - [aCoder encodeInt32:self.deliveryState forKey:TGBridgeChatDeliveryStateKey]; - [aCoder encodeBool:self.deliveryError forKey:TGBridgeChatDeliveryErrorKey]; - [aCoder encodeObject:self.media forKey:TGBridgeChatMediaKey]; - - [aCoder encodeObject:self.groupTitle forKey:TGBridgeChatGroupTitleKey]; - [aCoder encodeObject:self.groupPhotoSmall forKey:TGBridgeChatGroupPhotoSmallKey]; - [aCoder encodeObject:self.groupPhotoBig forKey:TGBridgeChatGroupPhotoBigKey]; - - [aCoder encodeBool:self.isGroup forKey:TGBridgeChatIsGroupKey]; - [aCoder encodeBool:self.hasLeftGroup forKey:TGBridgeChatHasLeftGroupKey]; - [aCoder encodeBool:self.isKickedFromGroup forKey:TGBridgeChatIsKickedFromGroupKey]; - - [aCoder encodeBool:self.isChannel forKey:TGBridgeChatIsChannelKey]; - [aCoder encodeBool:self.isChannelGroup forKey:TGBridgeChatIsChannelGroupKey]; - [aCoder encodeObject:self.userName forKey:TGBridgeChatUserNameKey]; - [aCoder encodeObject:self.about forKey:TGBridgeChatAboutKey]; - [aCoder encodeBool:self.verified forKey:TGBridgeChatVerifiedKey]; - - [aCoder encodeInt32:self.participantsCount forKey:TGBridgeChatGroupParticipantsCountKey]; - [aCoder encodeObject:self.participants forKey:TGBridgeChatGroupParticipantsKey]; -} - -- (NSArray *)involvedUserIds -{ - NSMutableSet *userIds = [[NSMutableSet alloc] init]; - if (!self.isGroup && !self.isChannel && self.identifier != 0) - [userIds addObject:[NSNumber numberWithLongLong:self.identifier]]; - if ((!self.isChannel || self.isChannelGroup) && self.fromUid != self.identifier && self.fromUid != 0 && !TGPeerIdIsChannel(self.fromUid) && self.fromUid > 0) - [userIds addObject:[NSNumber numberWithLongLong:self.fromUid]]; - - for (TGBridgeMediaAttachment *attachment in self.media) - { - if ([attachment isKindOfClass:[TGBridgeActionMediaAttachment class]]) - { - TGBridgeActionMediaAttachment *actionAttachment = (TGBridgeActionMediaAttachment *)attachment; - if (actionAttachment.actionData[@"uid"] != nil) - [userIds addObject:[NSNumber numberWithLongLong:[actionAttachment.actionData[@"uid"] longLongValue]]]; - } - } - - NSMutableArray *result = [[NSMutableArray alloc] init]; - for (NSNumber *object in userIds) { - [result addObject:object]; - } - return result; -} - -- (NSArray *)participantsUserIds -{ - NSMutableSet *userIds = [[NSMutableSet alloc] init]; - - for (NSNumber *uid in self.participants) { - [userIds addObject:[NSNumber numberWithLongLong:uid.longLongValue]]; - } - - NSMutableArray *result = [[NSMutableArray alloc] init]; - for (NSNumber *object in userIds) { - [result addObject:object]; - } - return result; -} - -- (BOOL)isEqual:(id)object -{ - if (object == self) - return YES; - - if (!object || ![object isKindOfClass:[self class]]) - return NO; - - return self.identifier == ((TGBridgeChat *)object).identifier; -} - -@end diff --git a/submodules/WatchCommon/Host/Sources/TGBridgeChatMessages.m b/submodules/WatchCommon/Host/Sources/TGBridgeChatMessages.m deleted file mode 100644 index c7b64e2c13..0000000000 --- a/submodules/WatchCommon/Host/Sources/TGBridgeChatMessages.m +++ /dev/null @@ -1,27 +0,0 @@ -#import "TGBridgeChatMessages.h" -#import "TGBridgeMessage.h" - -NSString *const TGBridgeChatMessageListViewMessagesKey = @"messages"; -NSString *const TGBridgeChatMessageListViewEarlierMessageIdKey = @"earlier"; -NSString *const TGBridgeChatMessageListViewLaterMessageIdKey = @"later"; - -NSString *const TGBridgeChatMessageListViewKey = @"messageListView"; - -@implementation TGBridgeChatMessages - -- (instancetype)initWithCoder:(NSCoder *)aDecoder -{ - self = [super init]; - if (self != nil) - { - _messages = [aDecoder decodeObjectForKey:TGBridgeChatMessageListViewMessagesKey]; - } - return self; -} - -- (void)encodeWithCoder:(NSCoder *)aCoder -{ - [aCoder encodeObject:self.messages forKey:TGBridgeChatMessageListViewMessagesKey]; -} - -@end diff --git a/submodules/WatchCommon/Host/Sources/TGBridgeCommon.m b/submodules/WatchCommon/Host/Sources/TGBridgeCommon.m deleted file mode 100644 index ae0cf5300b..0000000000 --- a/submodules/WatchCommon/Host/Sources/TGBridgeCommon.m +++ /dev/null @@ -1,295 +0,0 @@ -#import "TGBridgeCommon.h" - -NSString *const TGBridgeIncomingFileTypeKey = @"type"; -NSString *const TGBridgeIncomingFileIdentifierKey = @"identifier"; -NSString *const TGBridgeIncomingFileRandomIdKey = @"randomId"; -NSString *const TGBridgeIncomingFilePeerIdKey = @"peerId"; -NSString *const TGBridgeIncomingFileReplyToMidKey = @"replyToMid"; -NSString *const TGBridgeIncomingFileTypeAudio = @"audio"; -NSString *const TGBridgeIncomingFileTypeImage = @"image"; - -NSString *const TGBridgeResponseSubscriptionIdentifier = @"identifier"; -NSString *const TGBridgeResponseTypeKey = @"type"; -NSString *const TGBridgeResponseNextKey = @"next"; -NSString *const TGBridgeResponseErrorKey = @"error"; - -@implementation TGBridgeResponse - -- (instancetype)initWithCoder:(NSCoder *)aDecoder -{ - self = [super init]; - if (self != nil) - { - _subscriptionIdentifier = [aDecoder decodeInt64ForKey:TGBridgeResponseSubscriptionIdentifier]; - _type = [aDecoder decodeInt32ForKey:TGBridgeResponseTypeKey]; - _next = [aDecoder decodeObjectForKey:TGBridgeResponseNextKey]; - _error = [aDecoder decodeObjectForKey:TGBridgeResponseErrorKey]; - } - return self; -} - -- (void)encodeWithCoder:(NSCoder *)aCoder -{ - [aCoder encodeInt64:self.subscriptionIdentifier forKey:TGBridgeResponseSubscriptionIdentifier]; - [aCoder encodeInt32:self.type forKey:TGBridgeResponseTypeKey]; - [aCoder encodeObject:self.next forKey:TGBridgeResponseNextKey]; - [aCoder encodeObject:self.error forKey:TGBridgeResponseErrorKey]; -} - -+ (TGBridgeResponse *)single:(id)next forSubscription:(TGBridgeSubscription *)subscription -{ - TGBridgeResponse *response = [[TGBridgeResponse alloc] init]; - response->_subscriptionIdentifier = subscription.identifier; - response->_type = TGBridgeResponseTypeNext; - response->_next = next; - return response; -} - -+ (TGBridgeResponse *)fail:(id)error forSubscription:(TGBridgeSubscription *)subscription -{ - TGBridgeResponse *response = [[TGBridgeResponse alloc] init]; - response->_subscriptionIdentifier = subscription.identifier; - response->_type = TGBridgeResponseTypeFailed; - response->_error = error; - return response; -} - -+ (TGBridgeResponse *)completeForSubscription:(TGBridgeSubscription *)subscription -{ - TGBridgeResponse *response = [[TGBridgeResponse alloc] init]; - response->_subscriptionIdentifier = subscription.identifier; - response->_type = TGBridgeResponseTypeCompleted; - return response; -} - -@end - - -NSString *const TGBridgeSubscriptionIdentifierKey = @"identifier"; -NSString *const TGBridgeSubscriptionNameKey = @"name"; -NSString *const TGBridgeSubscriptionParametersKey = @"parameters"; - -@implementation TGBridgeSubscription - -- (instancetype)init -{ - self = [super init]; - if (self != nil) - { - int64_t randomId = 0; - arc4random_buf(&randomId, sizeof(int64_t)); - _identifier = randomId; - _name = [[self class] subscriptionName]; - } - return self; -} - -- (instancetype)initWithCoder:(NSCoder *)aDecoder -{ - self = [super init]; - if (self != nil) - { - _identifier = [aDecoder decodeInt64ForKey:TGBridgeSubscriptionIdentifierKey]; - _name = [aDecoder decodeObjectForKey:TGBridgeSubscriptionNameKey]; - [self _unserializeParametersWithCoder:aDecoder]; - } - return self; -} - -- (bool)synchronous -{ - return false; -} - -- (bool)renewable -{ - return true; -} - -- (bool)dropPreviouslyQueued -{ - return false; -} - -- (void)_serializeParametersWithCoder:(NSCoder *)__unused aCoder -{ - -} - -- (void)_unserializeParametersWithCoder:(NSCoder *)__unused aDecoder -{ - -} - -- (void)encodeWithCoder:(NSCoder *)aCoder -{ - [aCoder encodeInt64:self.identifier forKey:TGBridgeSubscriptionIdentifierKey]; - [aCoder encodeObject:self.name forKey:TGBridgeSubscriptionNameKey]; - [self _serializeParametersWithCoder:aCoder]; -} - -+ (NSString *)subscriptionName -{ - return nil; -} - -@end - - -@implementation TGBridgeDisposal - -- (instancetype)initWithIdentifier:(int64_t)identifier -{ - self = [super init]; - if (self != nil) - { - _identifier = identifier; - } - return self; -} - -- (instancetype)initWithCoder:(NSCoder *)aDecoder -{ - self = [super init]; - if (self != nil) - { - _identifier = [aDecoder decodeInt64ForKey:TGBridgeSubscriptionIdentifierKey]; - } - return self; -} - -- (void)encodeWithCoder:(NSCoder *)aCoder -{ - [aCoder encodeInt64:self.identifier forKey:TGBridgeSubscriptionIdentifierKey]; -} - -@end - -NSString *const TGBridgeFileDataKey = @"data"; -NSString *const TGBridgeFileMetadataKey = @"metadata"; - -@implementation TGBridgeFile - -- (instancetype)initWithData:(NSData *)data metadata:(NSDictionary *)metadata -{ - self = [super init]; - if (self != nil) - { - _data = data; - _metadata = metadata; - } - return self; -} - -- (instancetype)initWithCoder:(NSCoder *)aDecoder -{ - self = [super init]; - if (self != nil) - { - _data = [aDecoder decodeObjectForKey:TGBridgeFileDataKey]; - _metadata = [aDecoder decodeObjectForKey:TGBridgeFileMetadataKey]; - } - return self; -} - -- (void)encodeWithCoder:(NSCoder *)aCoder -{ - [aCoder encodeObject:self.data forKey:TGBridgeFileDataKey]; - [aCoder encodeObject:self.metadata forKey:TGBridgeFileMetadataKey]; -} - -@end - - -NSString *const TGBridgeSessionIdKey = @"sessionId"; - -@implementation TGBridgePing - -- (instancetype)initWithSessionId:(int32_t)sessionId -{ - self = [super init]; - if (self != nil) - { - _sessionId = sessionId; - } - return self; -} - -- (instancetype)initWithCoder:(NSCoder *)aDecoder -{ - self = [super init]; - if (self != nil) - { - _sessionId = [aDecoder decodeInt32ForKey:TGBridgeSessionIdKey]; - } - return self; -} - -- (void)encodeWithCoder:(NSCoder *)aCoder -{ - [aCoder encodeInt32:self.sessionId forKey:TGBridgeSessionIdKey]; -} - -@end - - -@implementation TGBridgeSubscriptionListRequest - -- (instancetype)initWithSessionId:(int32_t)sessionId -{ - self = [super init]; - if (self != nil) - { - _sessionId = sessionId; - } - return self; -} - -- (instancetype)initWithCoder:(NSCoder *)aDecoder -{ - self = [super init]; - if (self != nil) - { - _sessionId = [aDecoder decodeInt32ForKey:TGBridgeSessionIdKey]; - } - return self; -} - -- (void)encodeWithCoder:(NSCoder *)aCoder -{ - [aCoder encodeInt32:self.sessionId forKey:TGBridgeSessionIdKey]; -} - -@end - - -NSString *const TGBridgeSubscriptionListSubscriptionsKey = @"subscriptions"; - -@implementation TGBridgeSubscriptionList - -- (instancetype)initWithArray:(NSArray *)array -{ - self = [super init]; - if (self != nil) - { - _subscriptions = array; - } - return self; -} - -- (instancetype)initWithCoder:(NSCoder *)aDecoder -{ - self = [super init]; - if (self != nil) - { - _subscriptions = [aDecoder decodeObjectForKey:TGBridgeSubscriptionListSubscriptionsKey]; - } - return self; -} - -- (void)encodeWithCoder:(NSCoder *)aCoder -{ - [aCoder encodeObject:self.subscriptions forKey:TGBridgeSubscriptionListSubscriptionsKey]; -} - -@end diff --git a/submodules/WatchCommon/Host/Sources/TGBridgeContactMediaAttachment.m b/submodules/WatchCommon/Host/Sources/TGBridgeContactMediaAttachment.m deleted file mode 100644 index 4b2f482eaa..0000000000 --- a/submodules/WatchCommon/Host/Sources/TGBridgeContactMediaAttachment.m +++ /dev/null @@ -1,60 +0,0 @@ -#import "TGBridgeContactMediaAttachment.h" - -//#import "../Extension/TGStringUtils.h" - -const NSInteger TGBridgeContactMediaAttachmentType = 0xB90A5663; - -NSString *const TGBridgeContactMediaUidKey = @"uid"; -NSString *const TGBridgeContactMediaFirstNameKey = @"firstName"; -NSString *const TGBridgeContactMediaLastNameKey = @"lastName"; -NSString *const TGBridgeContactMediaPhoneNumberKey = @"phoneNumber"; -NSString *const TGBridgeContactMediaPrettyPhoneNumberKey = @"prettyPhoneNumber"; - -@implementation TGBridgeContactMediaAttachment - -- (instancetype)initWithCoder:(NSCoder *)aDecoder -{ - self = [super init]; - if (self != nil) - { - _uid = [aDecoder decodeInt32ForKey:TGBridgeContactMediaUidKey]; - _firstName = [aDecoder decodeObjectForKey:TGBridgeContactMediaFirstNameKey]; - _lastName = [aDecoder decodeObjectForKey:TGBridgeContactMediaLastNameKey]; - _phoneNumber = [aDecoder decodeObjectForKey:TGBridgeContactMediaPhoneNumberKey]; - _prettyPhoneNumber = [aDecoder decodeObjectForKey:TGBridgeContactMediaPrettyPhoneNumberKey]; - } - return self; -} - -- (void)encodeWithCoder:(NSCoder *)aCoder -{ - [aCoder encodeInt32:self.uid forKey:TGBridgeContactMediaUidKey]; - [aCoder encodeObject:self.firstName forKey:TGBridgeContactMediaFirstNameKey]; - [aCoder encodeObject:self.lastName forKey:TGBridgeContactMediaLastNameKey]; - [aCoder encodeObject:self.phoneNumber forKey:TGBridgeContactMediaPhoneNumberKey]; - [aCoder encodeObject:self.prettyPhoneNumber forKey:TGBridgeContactMediaPrettyPhoneNumberKey]; -} - -- (NSString *)displayName -{ - NSString *firstName = self.firstName; - NSString *lastName = self.lastName; - - if (firstName != nil && firstName.length != 0 && lastName != nil && lastName.length != 0) - { - return [[NSString alloc] initWithFormat:@"%@ %@", firstName, lastName]; - } - else if (firstName != nil && firstName.length != 0) - return firstName; - else if (lastName != nil && lastName.length != 0) - return lastName; - - return @""; -} - -+ (NSInteger)mediaType -{ - return TGBridgeContactMediaAttachmentType; -} - -@end diff --git a/submodules/WatchCommon/Host/Sources/TGBridgeContext.m b/submodules/WatchCommon/Host/Sources/TGBridgeContext.m deleted file mode 100644 index 4b0600e2fc..0000000000 --- a/submodules/WatchCommon/Host/Sources/TGBridgeContext.m +++ /dev/null @@ -1,101 +0,0 @@ -#import "TGBridgeContext.h" -#import "TGBridgeCommon.h" -//#import "TGWatchCommon.h" - -NSString *const TGBridgeContextAuthorized = @"authorized"; -NSString *const TGBridgeContextUserId = @"userId"; -NSString *const TGBridgeContextMicAccessAllowed = @"micAccessAllowed"; -NSString *const TGBridgeContextStartupData = @"startupData"; -NSString *const TGBridgeContextStartupDataVersion = @"version"; - -@implementation TGBridgeContext - -- (instancetype)initWithDictionary:(NSDictionary *)dictionary -{ - self = [super init]; - if (self != nil) - { - _authorized = [dictionary[TGBridgeContextAuthorized] boolValue]; - _userId = (int32_t)[dictionary[TGBridgeContextUserId] intValue]; - _micAccessAllowed = [dictionary[TGBridgeContextMicAccessAllowed] boolValue]; - - if (dictionary[TGBridgeContextStartupData] != nil) { - _preheatData = [NSKeyedUnarchiver unarchiveObjectWithData:dictionary[TGBridgeContextStartupData]]; - _preheatVersion = [dictionary[TGBridgeContextStartupDataVersion] integerValue]; - } - } - return self; -} - -- (NSDictionary *)dictionary -{ - NSMutableDictionary *dictionary = [[NSMutableDictionary alloc] init]; - dictionary[TGBridgeContextAuthorized] = @(self.authorized); - dictionary[TGBridgeContextUserId] = @(self.userId); - dictionary[TGBridgeContextMicAccessAllowed] = @(self.micAccessAllowed); - if (self.preheatData != nil) { - dictionary[TGBridgeContextStartupData] = [NSKeyedArchiver archivedDataWithRootObject:self.preheatData]; - dictionary[TGBridgeContextStartupDataVersion] = @(self.preheatVersion); - } - return dictionary; -} - -- (TGBridgeContext *)updatedWithAuthorized:(bool)authorized peerId:(int32_t)peerId -{ - TGBridgeContext *context = [[TGBridgeContext alloc] init]; - context->_authorized = authorized; - context->_userId = peerId; - context->_micAccessAllowed = self.micAccessAllowed; - if (authorized) { - context->_preheatData = self.preheatData; - context->_preheatVersion = self.preheatVersion; - } - return context; -} - -- (TGBridgeContext *)updatedWithPreheatData:(NSDictionary *)data -{ - TGBridgeContext *context = [[TGBridgeContext alloc] init]; - context->_authorized = self.authorized; - context->_userId = self.userId; - context->_micAccessAllowed = self.micAccessAllowed; - if (data != nil) { - context->_preheatData = data; - context->_preheatVersion = (int32_t)[NSDate date].timeIntervalSinceReferenceDate; - } - return context; -} - -- (TGBridgeContext *)updatedWithMicAccessAllowed:(bool)allowed -{ - TGBridgeContext *context = [[TGBridgeContext alloc] init]; - context->_authorized = self.authorized; - context->_userId = self.userId; - context->_micAccessAllowed = allowed; - context->_preheatData = self.preheatData; - context->_preheatVersion = self.preheatVersion; - return context; -} - -- (BOOL)isEqual:(id)object -{ - if (object == self) - return true; - - if (!object || ![object isKindOfClass:[self class]]) - return false; - - TGBridgeContext *context = (TGBridgeContext *)object; - if (context.authorized != self.authorized) - return false; - if (context.userId != self.userId) - return false; - if (context.micAccessAllowed != self.micAccessAllowed) - return false; - if (context.preheatVersion != self.preheatVersion) - return false; - - return true; -} - -@end diff --git a/submodules/WatchCommon/Host/Sources/TGBridgeDocumentMediaAttachment.m b/submodules/WatchCommon/Host/Sources/TGBridgeDocumentMediaAttachment.m deleted file mode 100644 index 8d492ae704..0000000000 --- a/submodules/WatchCommon/Host/Sources/TGBridgeDocumentMediaAttachment.m +++ /dev/null @@ -1,84 +0,0 @@ -#import "TGBridgeDocumentMediaAttachment.h" - -const NSInteger TGBridgeDocumentMediaAttachmentType = 0xE6C64318; - -NSString *const TGBridgeDocumentMediaDocumentIdKey = @"documentId"; -NSString *const TGBridgeDocumentMediaLocalDocumentIdKey = @"localDocumentId"; -NSString *const TGBridgeDocumentMediaFileSizeKey = @"fileSize"; -NSString *const TGBridgeDocumentMediaFileNameKey = @"fileName"; -NSString *const TGBridgeDocumentMediaImageSizeKey = @"imageSize"; -NSString *const TGBridgeDocumentMediaAnimatedKey = @"animated"; -NSString *const TGBridgeDocumentMediaStickerKey = @"sticker"; -NSString *const TGBridgeDocumentMediaStickerAltKey = @"stickerAlt"; -NSString *const TGBridgeDocumentMediaStickerPackIdKey = @"stickerPackId"; -NSString *const TGBridgeDocumentMediaStickerPackAccessHashKey = @"stickerPackAccessHash"; -NSString *const TGBridgeDocumentMediaAudioKey = @"audio"; -NSString *const TGBridgeDocumentMediaAudioTitleKey = @"title"; -NSString *const TGBridgeDocumentMediaAudioPerformerKey = @"performer"; -NSString *const TGBridgeDocumentMediaAudioVoice = @"voice"; -NSString *const TGBridgeDocumentMediaAudioDuration = @"duration"; - -@implementation TGBridgeDocumentMediaAttachment - -- (instancetype)initWithCoder:(NSCoder *)aDecoder -{ - self = [super init]; - if (self != nil) - { - _documentId = [aDecoder decodeInt64ForKey:TGBridgeDocumentMediaDocumentIdKey]; - _localDocumentId = [aDecoder decodeInt64ForKey:TGBridgeDocumentMediaLocalDocumentIdKey]; - _fileSize = [aDecoder decodeInt32ForKey:TGBridgeDocumentMediaFileSizeKey]; - _fileName = [aDecoder decodeObjectForKey:TGBridgeDocumentMediaFileNameKey]; - _imageSize = [aDecoder decodeObjectForKey:TGBridgeDocumentMediaImageSizeKey]; - _isAnimated = [aDecoder decodeBoolForKey:TGBridgeDocumentMediaAnimatedKey]; - _isSticker = [aDecoder decodeBoolForKey:TGBridgeDocumentMediaStickerKey]; - _stickerAlt = [aDecoder decodeObjectForKey:TGBridgeDocumentMediaStickerAltKey]; - _stickerPackId = [aDecoder decodeInt64ForKey:TGBridgeDocumentMediaStickerPackIdKey]; - _stickerPackAccessHash = [aDecoder decodeInt64ForKey:TGBridgeDocumentMediaStickerPackAccessHashKey]; - _isAudio = [aDecoder decodeBoolForKey:TGBridgeDocumentMediaAudioKey]; - _title = [aDecoder decodeObjectForKey:TGBridgeDocumentMediaAudioTitleKey]; - _performer = [aDecoder decodeObjectForKey:TGBridgeDocumentMediaAudioPerformerKey]; - _isVoice = [aDecoder decodeBoolForKey:TGBridgeDocumentMediaAudioVoice]; - _duration = [aDecoder decodeInt32ForKey:TGBridgeDocumentMediaAudioDuration]; - } - return self; -} - -- (void)encodeWithCoder:(NSCoder *)aCoder -{ - [aCoder encodeInt64:self.documentId forKey:TGBridgeDocumentMediaDocumentIdKey]; - [aCoder encodeInt64:self.localDocumentId forKey:TGBridgeDocumentMediaLocalDocumentIdKey]; - [aCoder encodeInt32:self.fileSize forKey:TGBridgeDocumentMediaFileSizeKey]; - [aCoder encodeObject:self.fileName forKey:TGBridgeDocumentMediaFileNameKey]; - [aCoder encodeObject:self.imageSize forKey:TGBridgeDocumentMediaImageSizeKey]; - [aCoder encodeBool:self.isAnimated forKey:TGBridgeDocumentMediaAnimatedKey]; - [aCoder encodeBool:self.isSticker forKey:TGBridgeDocumentMediaStickerKey]; - [aCoder encodeObject:self.stickerAlt forKey:TGBridgeDocumentMediaStickerAltKey]; - [aCoder encodeInt64:self.stickerPackId forKey:TGBridgeDocumentMediaStickerPackIdKey]; - [aCoder encodeInt64:self.stickerPackAccessHash forKey:TGBridgeDocumentMediaStickerPackAccessHashKey]; - [aCoder encodeBool:self.isAudio forKey:TGBridgeDocumentMediaAudioKey]; - [aCoder encodeObject:self.title forKey:TGBridgeDocumentMediaAudioTitleKey]; - [aCoder encodeObject:self.performer forKey:TGBridgeDocumentMediaAudioPerformerKey]; - [aCoder encodeBool:self.isVoice forKey:TGBridgeDocumentMediaAudioVoice]; - [aCoder encodeInt32:self.duration forKey:TGBridgeDocumentMediaAudioDuration]; -} - -- (BOOL)isEqual:(id)object -{ - if (object == self) - return YES; - - if (!object || ![object isKindOfClass:[self class]]) - return NO; - - TGBridgeDocumentMediaAttachment *document = (TGBridgeDocumentMediaAttachment *)object; - - return (self.localDocumentId == 0 && self.documentId == document.documentId) || (self.localDocumentId != 0 && self.localDocumentId == document.localDocumentId); -} - -+ (NSInteger)mediaType -{ - return TGBridgeDocumentMediaAttachmentType; -} - -@end diff --git a/submodules/WatchCommon/Host/Sources/TGBridgeForwardedMessageMediaAttachment.m b/submodules/WatchCommon/Host/Sources/TGBridgeForwardedMessageMediaAttachment.m deleted file mode 100644 index 169e261cff..0000000000 --- a/submodules/WatchCommon/Host/Sources/TGBridgeForwardedMessageMediaAttachment.m +++ /dev/null @@ -1,35 +0,0 @@ -#import "TGBridgeForwardedMessageMediaAttachment.h" - -const NSInteger TGBridgeForwardedMessageMediaAttachmentType = 0xAA1050C1; - -NSString *const TGBridgeForwardedMessageMediaPeerIdKey = @"peerId"; -NSString *const TGBridgeForwardedMessageMediaMidKey = @"mid"; -NSString *const TGBridgeForwardedMessageMediaDateKey = @"date"; - -@implementation TGBridgeForwardedMessageMediaAttachment - -- (nullable instancetype)initWithCoder:(nonnull NSCoder *)aDecoder -{ - self = [super init]; - if (self != nil) - { - _peerId = [aDecoder decodeInt64ForKey:TGBridgeForwardedMessageMediaPeerIdKey]; - _mid = [aDecoder decodeInt32ForKey:TGBridgeForwardedMessageMediaMidKey]; - _date = [aDecoder decodeInt32ForKey:TGBridgeForwardedMessageMediaDateKey]; - } - return self; -} - -- (void)encodeWithCoder:(NSCoder *)aCoder -{ - [aCoder encodeInt64:self.peerId forKey:TGBridgeForwardedMessageMediaPeerIdKey]; - [aCoder encodeInt32:self.mid forKey:TGBridgeForwardedMessageMediaMidKey]; - [aCoder encodeInt32:self.date forKey:TGBridgeForwardedMessageMediaDateKey]; -} - -+ (NSInteger)mediaType -{ - return TGBridgeForwardedMessageMediaAttachmentType; -} - -@end diff --git a/submodules/WatchCommon/Host/Sources/TGBridgeImageMediaAttachment.m b/submodules/WatchCommon/Host/Sources/TGBridgeImageMediaAttachment.m deleted file mode 100644 index 8ab5ec7044..0000000000 --- a/submodules/WatchCommon/Host/Sources/TGBridgeImageMediaAttachment.m +++ /dev/null @@ -1,33 +0,0 @@ -#import "TGBridgeImageMediaAttachment.h" -#import - -const NSInteger TGBridgeImageMediaAttachmentType = 0x269BD8A8; - -NSString *const TGBridgeImageMediaImageIdKey = @"imageId"; -NSString *const TGBridgeImageMediaDimensionsKey = @"dimensions"; - -@implementation TGBridgeImageMediaAttachment - -- (instancetype)initWithCoder:(NSCoder *)aDecoder -{ - self = [super init]; - if (self != nil) - { - _imageId = [aDecoder decodeInt64ForKey:TGBridgeImageMediaImageIdKey]; - _dimensions = [aDecoder decodeCGSizeForKey:TGBridgeImageMediaDimensionsKey]; - } - return self; -} - -- (void)encodeWithCoder:(NSCoder *)aCoder -{ - [aCoder encodeInt64:self.imageId forKey:TGBridgeImageMediaImageIdKey]; - [aCoder encodeCGSize:self.dimensions forKey:TGBridgeImageMediaDimensionsKey]; -} - -+ (NSInteger)mediaType -{ - return TGBridgeImageMediaAttachmentType; -} - -@end diff --git a/submodules/WatchCommon/Host/Sources/TGBridgeLocationMediaAttachment.m b/submodules/WatchCommon/Host/Sources/TGBridgeLocationMediaAttachment.m deleted file mode 100644 index f6762eb549..0000000000 --- a/submodules/WatchCommon/Host/Sources/TGBridgeLocationMediaAttachment.m +++ /dev/null @@ -1,95 +0,0 @@ -#import "TGBridgeLocationMediaAttachment.h" - -const NSInteger TGBridgeLocationMediaAttachmentType = 0x0C9ED06E; - -NSString *const TGBridgeLocationMediaLatitudeKey = @"lat"; -NSString *const TGBridgeLocationMediaLongitudeKey = @"lon"; -NSString *const TGBridgeLocationMediaVenueKey = @"venue"; - -NSString *const TGBridgeVenueTitleKey = @"title"; -NSString *const TGBridgeVenueAddressKey = @"address"; -NSString *const TGBridgeVenueProviderKey = @"provider"; -NSString *const TGBridgeVenueIdKey = @"venueId"; - -@implementation TGBridgeVenueAttachment - -- (instancetype)initWithCoder:(NSCoder *)aDecoder -{ - self = [super init]; - if (self != nil) - { - _title = [aDecoder decodeObjectForKey:TGBridgeVenueTitleKey]; - _address = [aDecoder decodeObjectForKey:TGBridgeVenueAddressKey]; - _provider = [aDecoder decodeObjectForKey:TGBridgeVenueProviderKey]; - _venueId = [aDecoder decodeObjectForKey:TGBridgeVenueIdKey]; - } - return self; -} - -- (void)encodeWithCoder:(NSCoder *)aCoder -{ - [aCoder encodeObject:self.title forKey:TGBridgeVenueTitleKey]; - [aCoder encodeObject:self.address forKey:TGBridgeVenueAddressKey]; - [aCoder encodeObject:self.provider forKey:TGBridgeVenueProviderKey]; - [aCoder encodeObject:self.venueId forKey:TGBridgeVenueIdKey]; -} - -- (BOOL)isEqual:(id)object -{ - if (object == self) - return YES; - - if (!object || ![object isKindOfClass:[self class]]) - return NO; - - TGBridgeVenueAttachment *venue = (TGBridgeVenueAttachment *)object; - - return [self.title isEqualToString:venue.title] && [self.address isEqualToString:venue.address] && [self.provider isEqualToString:venue.provider] && [self.venueId isEqualToString:venue.venueId]; -} - -@end - - -@implementation TGBridgeLocationMediaAttachment - -- (instancetype)initWithCoder:(NSCoder *)aDecoder -{ - self = [super init]; - if (self != nil) - { - _latitude = [aDecoder decodeDoubleForKey:TGBridgeLocationMediaLatitudeKey]; - _longitude = [aDecoder decodeDoubleForKey:TGBridgeLocationMediaLongitudeKey]; - _venue = [aDecoder decodeObjectForKey:TGBridgeLocationMediaVenueKey]; - } - return self; -} - -- (void)encodeWithCoder:(NSCoder *)aCoder -{ - [aCoder encodeDouble:self.latitude forKey:TGBridgeLocationMediaLatitudeKey]; - [aCoder encodeDouble:self.longitude forKey:TGBridgeLocationMediaLongitudeKey]; - [aCoder encodeObject:self.venue forKey:TGBridgeLocationMediaVenueKey]; -} - -- (BOOL)isEqual:(id)object -{ - if (object == self) - return YES; - - if (!object || ![object isKindOfClass:[self class]]) - return NO; - - TGBridgeLocationMediaAttachment *location = (TGBridgeLocationMediaAttachment *)object; - - bool equalCoord = (fabs(self.latitude - location.latitude) < DBL_EPSILON && fabs(self.longitude - location.longitude) < DBL_EPSILON); - bool equalVenue = (self.venue == nil && location.venue == nil) || ([self.venue isEqual:location.venue]); - - return equalCoord || equalVenue; -} - -+ (NSInteger)mediaType -{ - return TGBridgeLocationMediaAttachmentType; -} - -@end diff --git a/submodules/WatchCommon/Host/Sources/TGBridgeLocationVenue.m b/submodules/WatchCommon/Host/Sources/TGBridgeLocationVenue.m deleted file mode 100644 index 01c8fc8c1a..0000000000 --- a/submodules/WatchCommon/Host/Sources/TGBridgeLocationVenue.m +++ /dev/null @@ -1,66 +0,0 @@ -#import "TGBridgeLocationVenue.h" - -#import "TGBridgeLocationMediaAttachment.h" - -NSString *const TGBridgeLocationVenueLatitudeKey = @"lat"; -NSString *const TGBridgeLocationVenueLongitudeKey = @"lon"; -NSString *const TGBridgeLocationVenueIdentifierKey = @"identifier"; -NSString *const TGBridgeLocationVenueProviderKey = @"provider"; -NSString *const TGBridgeLocationVenueNameKey = @"name"; -NSString *const TGBridgeLocationVenueAddressKey = @"address"; - -@implementation TGBridgeLocationVenue - -- (instancetype)initWithCoder:(NSCoder *)aDecoder -{ - self = [super init]; - if (self != nil) - { - _coordinate = CLLocationCoordinate2DMake([aDecoder decodeDoubleForKey:TGBridgeLocationVenueLatitudeKey], [aDecoder decodeDoubleForKey:TGBridgeLocationVenueLongitudeKey]); - _identifier = [aDecoder decodeObjectForKey:TGBridgeLocationVenueIdentifierKey]; - _provider = [aDecoder decodeObjectForKey:TGBridgeLocationVenueProviderKey]; - _name = [aDecoder decodeObjectForKey:TGBridgeLocationVenueNameKey]; - _address = [aDecoder decodeObjectForKey:TGBridgeLocationVenueAddressKey]; - } - return self; -} - -- (void)encodeWithCoder:(NSCoder *)aCoder -{ - [aCoder encodeDouble:self.coordinate.latitude forKey:TGBridgeLocationVenueLatitudeKey]; - [aCoder encodeDouble:self.coordinate.longitude forKey:TGBridgeLocationVenueLongitudeKey]; - [aCoder encodeObject:self.identifier forKey:TGBridgeLocationVenueIdentifierKey]; - [aCoder encodeObject:self.provider forKey:TGBridgeLocationVenueProviderKey]; - [aCoder encodeObject:self.name forKey:TGBridgeLocationVenueNameKey]; - [aCoder encodeObject:self.address forKey:TGBridgeLocationVenueAddressKey]; -} - -- (TGBridgeLocationMediaAttachment *)locationAttachment -{ - TGBridgeLocationMediaAttachment *attachment = [[TGBridgeLocationMediaAttachment alloc] init]; - attachment.latitude = self.coordinate.latitude; - attachment.longitude = self.coordinate.longitude; - - TGBridgeVenueAttachment *venueAttachment = [[TGBridgeVenueAttachment alloc] init]; - venueAttachment.title = self.name; - venueAttachment.address = self.address; - venueAttachment.provider = self.provider; - venueAttachment.venueId = self.identifier; - - attachment.venue = venueAttachment; - - return attachment; -} - -- (BOOL)isEqual:(id)object -{ - if (object == self) - return YES; - - if (!object || ![object isKindOfClass:[self class]]) - return NO; - - return [self.identifier isEqualToString:((TGBridgeLocationVenue *)object).identifier]; -} - -@end diff --git a/submodules/WatchCommon/Host/Sources/TGBridgeMediaAttachment.m b/submodules/WatchCommon/Host/Sources/TGBridgeMediaAttachment.m deleted file mode 100644 index 971a23b64d..0000000000 --- a/submodules/WatchCommon/Host/Sources/TGBridgeMediaAttachment.m +++ /dev/null @@ -1,32 +0,0 @@ -#import "TGBridgeMediaAttachment.h" - -NSString *const TGBridgeMediaAttachmentTypeKey = @"type"; - -@implementation TGBridgeMediaAttachment - -- (instancetype)initWithCoder:(NSCoder *)__unused aDecoder -{ - self = [super init]; - if (self != nil) - { - - } - return self; -} - -- (void)encodeWithCoder:(NSCoder *)__unused aCoder -{ - -} - -- (NSInteger)mediaType -{ - return 0; -} - -+ (NSInteger)mediaType -{ - return 0; -} - -@end diff --git a/submodules/WatchCommon/Host/Sources/TGBridgeMessage.m b/submodules/WatchCommon/Host/Sources/TGBridgeMessage.m deleted file mode 100644 index e66e3313b3..0000000000 --- a/submodules/WatchCommon/Host/Sources/TGBridgeMessage.m +++ /dev/null @@ -1,242 +0,0 @@ -#import "TGBridgeMessage.h" -//#import "TGWatchCommon.h" -#import "TGBridgePeerIdAdapter.h" - -NSString *const TGBridgeMessageIdentifierKey = @"identifier"; -NSString *const TGBridgeMessageDateKey = @"date"; -NSString *const TGBridgeMessageRandomIdKey = @"randomId"; -NSString *const TGBridgeMessageFromUidKey = @"fromUid"; -NSString *const TGBridgeMessageCidKey = @"cid"; -NSString *const TGBridgeMessageTextKey = @"text"; -NSString *const TGBridgeMessageUnreadKey = @"unread"; -NSString *const TGBridgeMessageOutgoingKey = @"outgoing"; -NSString *const TGBridgeMessageMediaKey = @"media"; -NSString *const TGBridgeMessageDeliveryStateKey = @"deliveryState"; -NSString *const TGBridgeMessageForceReplyKey = @"forceReply"; - -NSString *const TGBridgeMessageKey = @"message"; -NSString *const TGBridgeMessagesArrayKey = @"messages"; - -@interface TGBridgeMessage () -{ - NSArray *_textCheckingResults; -} -@end - -@implementation TGBridgeMessage - -- (instancetype)initWithCoder:(NSCoder *)aDecoder -{ - self = [super init]; - if (self != nil) - { - _identifier = [aDecoder decodeInt32ForKey:TGBridgeMessageIdentifierKey]; - _date = [aDecoder decodeDoubleForKey:TGBridgeMessageDateKey]; - _randomId = [aDecoder decodeInt64ForKey:TGBridgeMessageRandomIdKey]; - _fromUid = [aDecoder decodeInt64ForKey:TGBridgeMessageFromUidKey]; - _cid = [aDecoder decodeInt64ForKey:TGBridgeMessageCidKey]; - _text = [aDecoder decodeObjectForKey:TGBridgeMessageTextKey]; - _outgoing = [aDecoder decodeBoolForKey:TGBridgeMessageOutgoingKey]; - _unread = [aDecoder decodeBoolForKey:TGBridgeMessageUnreadKey]; - _deliveryState = [aDecoder decodeInt32ForKey:TGBridgeMessageDeliveryStateKey]; - _media = [aDecoder decodeObjectForKey:TGBridgeMessageMediaKey]; - _forceReply = [aDecoder decodeBoolForKey:TGBridgeMessageForceReplyKey]; - } - return self; -} - -- (void)encodeWithCoder:(NSCoder *)aCoder -{ - [aCoder encodeInt32:self.identifier forKey:TGBridgeMessageIdentifierKey]; - [aCoder encodeDouble:self.date forKey:TGBridgeMessageDateKey]; - [aCoder encodeInt64:self.randomId forKey:TGBridgeMessageRandomIdKey]; - [aCoder encodeInt64:self.fromUid forKey:TGBridgeMessageFromUidKey]; - [aCoder encodeInt64:self.cid forKey:TGBridgeMessageCidKey]; - [aCoder encodeObject:self.text forKey:TGBridgeMessageTextKey]; - [aCoder encodeBool:self.outgoing forKey:TGBridgeMessageOutgoingKey]; - [aCoder encodeBool:self.unread forKey:TGBridgeMessageUnreadKey]; - [aCoder encodeInt32:self.deliveryState forKey:TGBridgeMessageDeliveryStateKey]; - [aCoder encodeObject:self.media forKey:TGBridgeMessageMediaKey]; - [aCoder encodeBool:self.forceReply forKey:TGBridgeMessageForceReplyKey]; -} - -- (NSArray *)involvedUserIds -{ - NSMutableSet *userIds = [[NSMutableSet alloc] init]; - if (!TGPeerIdIsChannel(self.fromUid)) - [userIds addObject:[NSNumber numberWithLongLong:self.fromUid]]; - - for (TGBridgeMediaAttachment *attachment in self.media) - { - if ([attachment isKindOfClass:[TGBridgeContactMediaAttachment class]]) - { - TGBridgeContactMediaAttachment *contactAttachment = (TGBridgeContactMediaAttachment *)attachment; - if (contactAttachment.uid != 0) - [userIds addObject:[NSNumber numberWithLongLong:contactAttachment.uid]]; - } - else if ([attachment isKindOfClass:[TGBridgeForwardedMessageMediaAttachment class]]) - { - TGBridgeForwardedMessageMediaAttachment *forwardAttachment = (TGBridgeForwardedMessageMediaAttachment *)attachment; - if (forwardAttachment.peerId != 0 && !TGPeerIdIsChannel(forwardAttachment.peerId)) - [userIds addObject:[NSNumber numberWithLongLong:forwardAttachment.peerId]]; - } - else if ([attachment isKindOfClass:[TGBridgeReplyMessageMediaAttachment class]]) - { - TGBridgeReplyMessageMediaAttachment *replyAttachment = (TGBridgeReplyMessageMediaAttachment *)attachment; - if (replyAttachment.message != nil && !TGPeerIdIsChannel(replyAttachment.message.fromUid)) - [userIds addObject:[NSNumber numberWithLongLong:replyAttachment.message.fromUid]]; - } - else if ([attachment isKindOfClass:[TGBridgeActionMediaAttachment class]]) - { - TGBridgeActionMediaAttachment *actionAttachment = (TGBridgeActionMediaAttachment *)attachment; - if (actionAttachment.actionData[@"uid"] != nil) - [userIds addObject:[NSNumber numberWithLongLong:[actionAttachment.actionData[@"uid"] intValue]]]; - } - } - - NSMutableArray *result = [[NSMutableArray alloc] init]; - for (NSNumber *object in userIds) { - [result addObject:object]; - } - return result; -} - -- (NSArray *)textCheckingResults -{ - if (_textCheckingResults == nil) - { - NSMutableArray *results = [[NSMutableArray alloc] init]; - - NSArray *entities = nil; - for (TGBridgeMediaAttachment *attachment in self.media) - { - if ([attachment isKindOfClass:[TGBridgeMessageEntitiesAttachment class]]) - { - entities = ((TGBridgeMessageEntitiesAttachment *)attachment).entities; - break; - } - } - - for (TGBridgeMessageEntity *entity in entities) - { - TGBridgeTextCheckingResult *result = [[TGBridgeTextCheckingResult alloc] init]; - result.range = entity.range; - - if ([entity isKindOfClass:[TGBridgeMessageEntityBold class]]) - result.type = TGBridgeTextCheckingResultTypeBold; - else if ([entity isKindOfClass:[TGBridgeMessageEntityItalic class]]) - result.type = TGBridgeTextCheckingResultTypeItalic; - else if ([entity isKindOfClass:[TGBridgeMessageEntityCode class]]) - result.type = TGBridgeTextCheckingResultTypeCode; - else if ([entity isKindOfClass:[TGBridgeMessageEntityPre class]]) - result.type = TGBridgeTextCheckingResultTypePre; - - if (result.type != TGBridgeTextCheckingResultTypeUndefined) - [results addObject:result]; - } - - _textCheckingResults = results; - } - - return _textCheckingResults; -} - -- (BOOL)isEqual:(id)object -{ - if (object == self) - return YES; - - if (!object || ![object isKindOfClass:[self class]]) - return NO; - - TGBridgeMessage *message = (TGBridgeMessage *)object; - - if (self.randomId != 0) - return self.randomId == message.randomId; - else - return self.identifier == message.identifier; -} - -+ (instancetype)temporaryNewMessageForText:(NSString *)text userId:(int32_t)userId -{ - return [self temporaryNewMessageForText:text userId:userId replyToMessage:nil]; -} - -+ (instancetype)temporaryNewMessageForText:(NSString *)text userId:(int32_t)userId replyToMessage:(TGBridgeMessage *)replyToMessage -{ - int64_t randomId = 0; - arc4random_buf(&randomId, 8); - - int32_t messageId = 0; - arc4random_buf(&messageId, 4); - - TGBridgeMessage *message = [[TGBridgeMessage alloc] init]; - message->_identifier = -abs(messageId); - message->_fromUid = userId; - message->_randomId = randomId; - message->_unread = true; - message->_outgoing = true; - message->_deliveryState = TGBridgeMessageDeliveryStatePending; - message->_text = text; - message->_date = [[NSDate date] timeIntervalSince1970]; - - if (replyToMessage != nil) - { - TGBridgeReplyMessageMediaAttachment *replyAttachment = [[TGBridgeReplyMessageMediaAttachment alloc] init]; - replyAttachment.mid = replyToMessage.identifier; - replyAttachment.message = replyToMessage; - - message->_media = @[ replyToMessage ]; - } - - return message; -} - -+ (instancetype)temporaryNewMessageForSticker:(TGBridgeDocumentMediaAttachment *)sticker userId:(int32_t)userId -{ - return [self _temporaryNewMessageForMediaAttachment:sticker userId:userId]; -} - -+ (instancetype)temporaryNewMessageForLocation:(TGBridgeLocationMediaAttachment *)location userId:(int32_t)userId -{ - return [self _temporaryNewMessageForMediaAttachment:location userId:userId]; -} - -+ (instancetype)temporaryNewMessageForAudioWithDuration:(int32_t)duration userId:(int32_t)userId localAudioId:(int64_t)localAudioId -{ - TGBridgeDocumentMediaAttachment *document = [[TGBridgeDocumentMediaAttachment alloc] init]; - document.isAudio = true; - document.isVoice = true; - document.localDocumentId = localAudioId; - document.duration = duration; - - return [self _temporaryNewMessageForMediaAttachment:document userId:userId]; -} - -+ (instancetype)_temporaryNewMessageForMediaAttachment:(TGBridgeMediaAttachment *)attachment userId:(int32_t)userId -{ - int64_t randomId = 0; - arc4random_buf(&randomId, 8); - - int32_t messageId = 0; - arc4random_buf(&messageId, 4); - - TGBridgeMessage *message = [[TGBridgeMessage alloc] init]; - message->_identifier = -abs(messageId); - message->_fromUid = userId; - message->_unread = true; - message->_outgoing = true; - message->_deliveryState = TGBridgeMessageDeliveryStatePending; - message->_date = [[NSDate date] timeIntervalSince1970]; - - message->_media = @[ attachment ]; - - return message; -} - -@end - - -@implementation TGBridgeTextCheckingResult - -@end diff --git a/submodules/WatchCommon/Host/Sources/TGBridgeMessageEntities.m b/submodules/WatchCommon/Host/Sources/TGBridgeMessageEntities.m deleted file mode 100644 index 8d639a9468..0000000000 --- a/submodules/WatchCommon/Host/Sources/TGBridgeMessageEntities.m +++ /dev/null @@ -1,83 +0,0 @@ -#import "TGBridgeMessageEntities.h" - -NSString *const TGBridgeMessageEntityLocationKey = @"loc"; -NSString *const TGBridgeMessageEntityLengthKey = @"len"; - -@implementation TGBridgeMessageEntity - -- (instancetype)initWithCoder:(NSCoder *)aDecoder -{ - self = [super init]; - if (self != nil) - { - NSUInteger loc = [aDecoder decodeIntegerForKey:TGBridgeMessageEntityLocationKey]; - NSUInteger len = [aDecoder decodeIntegerForKey:TGBridgeMessageEntityLengthKey]; - _range = NSMakeRange(loc, len); - } - return self; -} - -- (void)encodeWithCoder:(NSCoder *)aCoder -{ - [aCoder encodeInteger:self.range.location forKey:TGBridgeMessageEntityLocationKey]; - [aCoder encodeInteger:self.range.length forKey:TGBridgeMessageEntityLengthKey]; -} - -+ (instancetype)entitityWithRange:(NSRange)range -{ - TGBridgeMessageEntity *entity = [[self alloc] init]; - entity.range = range; - return entity; -} - -@end - - -@implementation TGBridgeMessageEntityUrl - -@end - - -@implementation TGBridgeMessageEntityEmail - -@end - - -@implementation TGBridgeMessageEntityTextUrl - -@end - - -@implementation TGBridgeMessageEntityMention - -@end - - -@implementation TGBridgeMessageEntityHashtag - -@end - - -@implementation TGBridgeMessageEntityBotCommand - -@end - - -@implementation TGBridgeMessageEntityBold - -@end - - -@implementation TGBridgeMessageEntityItalic - -@end - - -@implementation TGBridgeMessageEntityCode - -@end - - -@implementation TGBridgeMessageEntityPre - -@end diff --git a/submodules/WatchCommon/Host/Sources/TGBridgeMessageEntitiesAttachment.m b/submodules/WatchCommon/Host/Sources/TGBridgeMessageEntitiesAttachment.m deleted file mode 100644 index fb5cb3b7d7..0000000000 --- a/submodules/WatchCommon/Host/Sources/TGBridgeMessageEntitiesAttachment.m +++ /dev/null @@ -1,30 +0,0 @@ -#import "TGBridgeMessageEntitiesAttachment.h" - -const NSInteger TGBridgeMessageEntitiesAttachmentType = 0x8c2e3cce; - -NSString *const TGBridgeMessageEntitiesKey = @"entities"; - -@implementation TGBridgeMessageEntitiesAttachment - -- (instancetype)initWithCoder:(NSCoder *)aDecoder -{ - self = [super init]; - if (self != nil) - { - _entities = [aDecoder decodeObjectForKey:TGBridgeMessageEntitiesKey]; - } - return self; -} - -- (void)encodeWithCoder:(NSCoder *)aCoder -{ - [aCoder encodeObject:self.entities forKey:TGBridgeMessageEntitiesKey]; -} - -+ (NSInteger)mediaType -{ - return TGBridgeMessageEntitiesAttachmentType; -} - - -@end diff --git a/submodules/WatchCommon/Host/Sources/TGBridgePeerNotificationSettings.m b/submodules/WatchCommon/Host/Sources/TGBridgePeerNotificationSettings.m deleted file mode 100644 index 662c2f4ca4..0000000000 --- a/submodules/WatchCommon/Host/Sources/TGBridgePeerNotificationSettings.m +++ /dev/null @@ -1,22 +0,0 @@ -#import "TGBridgePeerNotificationSettings.h" - -NSString *const TGBridgePeerNotificationSettingsMuteForKey = @"muteFor"; - -@implementation TGBridgePeerNotificationSettings - -- (instancetype)initWithCoder:(NSCoder *)aDecoder -{ - self = [super init]; - if (self != nil) - { - _muteFor = [aDecoder decodeInt32ForKey:TGBridgePeerNotificationSettingsMuteForKey]; - } - return self; -} - -- (void)encodeWithCoder:(nonnull NSCoder *)aCoder -{ - [aCoder encodeInt32:self.muteFor forKey:TGBridgePeerNotificationSettingsMuteForKey]; -} - -@end diff --git a/submodules/WatchCommon/Host/Sources/TGBridgeReplyMarkupMediaAttachment.m b/submodules/WatchCommon/Host/Sources/TGBridgeReplyMarkupMediaAttachment.m deleted file mode 100644 index 1299c900cd..0000000000 --- a/submodules/WatchCommon/Host/Sources/TGBridgeReplyMarkupMediaAttachment.m +++ /dev/null @@ -1,29 +0,0 @@ -#import "TGBridgeReplyMarkupMediaAttachment.h" - -const NSInteger TGBridgeReplyMarkupMediaAttachmentType = 0x5678acc1; - -NSString *const TGBridgeReplyMarkupMediaMessageKey = @"replyMarkup"; - -@implementation TGBridgeReplyMarkupMediaAttachment - -- (instancetype)initWithCoder:(NSCoder *)aDecoder -{ - self = [super init]; - if (self != nil) - { - _replyMarkup = [aDecoder decodeObjectForKey:TGBridgeReplyMarkupMediaMessageKey]; - } - return self; -} - -- (void)encodeWithCoder:(NSCoder *)aCoder -{ - [aCoder encodeObject:self.replyMarkup forKey:TGBridgeReplyMarkupMediaMessageKey]; -} - -+ (NSInteger)mediaType -{ - return TGBridgeReplyMarkupMediaAttachmentType; -} - -@end \ No newline at end of file diff --git a/submodules/WatchCommon/Host/Sources/TGBridgeReplyMessageMediaAttachment.m b/submodules/WatchCommon/Host/Sources/TGBridgeReplyMessageMediaAttachment.m deleted file mode 100644 index fbc2456919..0000000000 --- a/submodules/WatchCommon/Host/Sources/TGBridgeReplyMessageMediaAttachment.m +++ /dev/null @@ -1,33 +0,0 @@ -#import "TGBridgeReplyMessageMediaAttachment.h" -#import "TGBridgeMessage.h" - -const NSInteger TGBridgeReplyMessageMediaAttachmentType = 414002169; - -NSString *const TGBridgeReplyMessageMediaMidKey = @"mid"; -NSString *const TGBridgeReplyMessageMediaMessageKey = @"message"; - -@implementation TGBridgeReplyMessageMediaAttachment - -- (instancetype)initWithCoder:(NSCoder *)aDecoder -{ - self = [super init]; - if (self != nil) - { - _mid = [aDecoder decodeInt32ForKey:TGBridgeReplyMessageMediaMidKey]; - _message = [aDecoder decodeObjectForKey:TGBridgeReplyMessageMediaMessageKey]; - } - return self; -} - -- (void)encodeWithCoder:(NSCoder *)aCoder -{ - [aCoder encodeInt32:self.mid forKey:TGBridgeReplyMessageMediaMidKey]; - [aCoder encodeObject:self.message forKey:TGBridgeReplyMessageMediaMessageKey]; -} - -+ (NSInteger)mediaType -{ - return TGBridgeReplyMessageMediaAttachmentType; -} - -@end diff --git a/submodules/WatchCommon/Host/Sources/TGBridgeSubscriptions.m b/submodules/WatchCommon/Host/Sources/TGBridgeSubscriptions.m deleted file mode 100644 index 8c4b50d224..0000000000 --- a/submodules/WatchCommon/Host/Sources/TGBridgeSubscriptions.m +++ /dev/null @@ -1,1048 +0,0 @@ -#import "TGBridgeSubscriptions.h" - -#import - -#import "TGBridgeImageMediaAttachment.h" -#import "TGBridgeVideoMediaAttachment.h" -#import "TGBridgeDocumentMediaAttachment.h" -#import "TGBridgeLocationMediaAttachment.h" -#import "TGBridgePeerNotificationSettings.h" - -NSString *const TGBridgeAudioSubscriptionName = @"media.audio"; -NSString *const TGBridgeAudioSubscriptionAttachmentKey = @"attachment"; -NSString *const TGBridgeAudioSubscriptionPeerIdKey = @"peerId"; -NSString *const TGBridgeAudioSubscriptionMessageIdKey = @"messageId"; - -@implementation TGBridgeAudioSubscription - -- (instancetype)initWithAttachment:(TGBridgeMediaAttachment *)attachment peerId:(int64_t)peerId messageId:(int32_t)messageId -{ - self = [super init]; - if (self != nil) - { - _attachment = attachment; - _peerId = peerId; - _messageId = messageId; - } - return self; -} - -- (void)_serializeParametersWithCoder:(NSCoder *)aCoder -{ - [aCoder encodeObject:self.attachment forKey:TGBridgeAudioSubscriptionAttachmentKey]; - [aCoder encodeInt64:self.peerId forKey:TGBridgeAudioSubscriptionPeerIdKey]; - [aCoder encodeInt32:self.messageId forKey:TGBridgeAudioSubscriptionMessageIdKey]; -} - -- (void)_unserializeParametersWithCoder:(NSCoder *)aDecoder -{ - _attachment = [aDecoder decodeObjectForKey:TGBridgeAudioSubscriptionAttachmentKey]; - _peerId = [aDecoder decodeInt64ForKey:TGBridgeAudioSubscriptionPeerIdKey]; - _messageId = [aDecoder decodeInt32ForKey:TGBridgeAudioSubscriptionMessageIdKey]; -} - -+ (NSString *)subscriptionName -{ - return TGBridgeAudioSubscriptionName; -} - -@end - - -NSString *const TGBridgeAudioSentSubscriptionName = @"media.audioSent"; -NSString *const TGBridgeAudioSentSubscriptionConversationIdKey = @"conversationId"; - -@implementation TGBridgeAudioSentSubscription - -- (instancetype)initWithConversationId:(int64_t)conversationId -{ - self = [super init]; - if (self != nil) - { - _conversationId = conversationId; - } - return self; -} - -- (void)_serializeParametersWithCoder:(NSCoder *)aCoder -{ - [aCoder encodeInt64:self.conversationId forKey:TGBridgeAudioSentSubscriptionConversationIdKey]; -} - -- (void)_unserializeParametersWithCoder:(NSCoder *)aDecoder -{ - _conversationId = [aDecoder decodeInt64ForKey:TGBridgeAudioSentSubscriptionConversationIdKey]; -} - -+ (NSString *)subscriptionName -{ - return TGBridgeAudioSentSubscriptionName; -} - -@end - - -NSString *const TGBridgeChatListSubscriptionName = @"chats.chatList"; -NSString *const TGBridgeChatListSubscriptionLimitKey = @"limit"; - -@implementation TGBridgeChatListSubscription - -- (instancetype)initWithLimit:(int32_t)limit -{ - self = [super init]; - if (self != nil) - { - _limit = limit; - } - return self; -} - -- (bool)dropPreviouslyQueued -{ - return true; -} - -- (void)_serializeParametersWithCoder:(NSCoder *)aCoder -{ - [aCoder encodeInt32:self.limit forKey:TGBridgeChatListSubscriptionLimitKey]; -} - -- (void)_unserializeParametersWithCoder:(NSCoder *)aDecoder -{ - _limit = [aDecoder decodeInt32ForKey:TGBridgeChatListSubscriptionLimitKey]; -} - -+ (NSString *)subscriptionName -{ - return TGBridgeChatListSubscriptionName; -} - -@end - - -NSString *const TGBridgeChatMessageListSubscriptionName = @"chats.chatMessageList"; -NSString *const TGBridgeChatMessageListSubscriptionPeerIdKey = @"peerId"; -NSString *const TGBridgeChatMessageListSubscriptionAtMessageIdKey = @"atMessageId"; -NSString *const TGBridgeChatMessageListSubscriptionRangeMessageCountKey = @"rangeMessageCount"; - -@implementation TGBridgeChatMessageListSubscription - -- (instancetype)initWithPeerId:(int64_t)peerId atMessageId:(int32_t)messageId rangeMessageCount:(NSUInteger)rangeMessageCount -{ - self = [super init]; - if (self != nil) - { - _peerId = peerId; - _atMessageId = messageId; - _rangeMessageCount = rangeMessageCount; - } - return self; -} - -- (bool)dropPreviouslyQueued -{ - return true; -} - -- (void)_serializeParametersWithCoder:(NSCoder *)aCoder -{ - [aCoder encodeInt64:self.peerId forKey:TGBridgeChatMessageListSubscriptionPeerIdKey]; - [aCoder encodeInt32:self.atMessageId forKey:TGBridgeChatMessageListSubscriptionAtMessageIdKey]; - [aCoder encodeInt32:(int32_t)self.rangeMessageCount forKey:TGBridgeChatMessageListSubscriptionRangeMessageCountKey]; -} - -- (void)_unserializeParametersWithCoder:(NSCoder *)aDecoder -{ - _peerId = [aDecoder decodeInt64ForKey:TGBridgeChatMessageListSubscriptionPeerIdKey]; - _atMessageId = [aDecoder decodeInt32ForKey:TGBridgeChatMessageListSubscriptionAtMessageIdKey]; - _rangeMessageCount = [aDecoder decodeInt32ForKey:TGBridgeChatMessageListSubscriptionRangeMessageCountKey]; -} - -+ (NSString *)subscriptionName -{ - return TGBridgeChatMessageListSubscriptionName; -} - -@end - - -NSString *const TGBridgeChatMessageSubscriptionName = @"chats.message"; -NSString *const TGBridgeChatMessageSubscriptionPeerIdKey = @"peerId"; -NSString *const TGBridgeChatMessageSubscriptionMessageIdKey = @"mid"; - -@implementation TGBridgeChatMessageSubscription - -- (instancetype)initWithPeerId:(int64_t)peerId messageId:(int32_t)messageId -{ - self = [super init]; - if (self != nil) - { - _peerId = peerId; - _messageId = messageId; - } - return self; -} - -- (bool)synchronous -{ - return true; -} - -- (bool)renewable -{ - return false; -} - -- (void)_serializeParametersWithCoder:(NSCoder *)aCoder -{ - [aCoder encodeInt64:self.peerId forKey:TGBridgeChatMessageSubscriptionPeerIdKey]; - [aCoder encodeInt32:self.messageId forKey:TGBridgeChatMessageSubscriptionMessageIdKey]; -} - -- (void)_unserializeParametersWithCoder:(NSCoder *)aDecoder -{ - _peerId = [aDecoder decodeInt64ForKey:TGBridgeChatMessageSubscriptionPeerIdKey]; - _messageId = [aDecoder decodeInt32ForKey:TGBridgeChatMessageSubscriptionMessageIdKey]; -} - -+ (NSString *)subscriptionName -{ - return TGBridgeChatMessageSubscriptionName; -} - -@end - - -NSString *const TGBridgeReadChatMessageListSubscriptionName = @"chats.readChatMessageList"; -NSString *const TGBridgeReadChatMessageListSubscriptionPeerIdKey = @"peerId"; -NSString *const TGBridgeReadChatMessageListSubscriptionMessageIdKey = @"mid"; - -@implementation TGBridgeReadChatMessageListSubscription - -- (instancetype)initWithPeerId:(int64_t)peerId messageId:(int32_t)messageId -{ - self = [super init]; - if (self != nil) - { - _peerId = peerId; - _messageId = messageId; - } - return self; -} - -- (void)_serializeParametersWithCoder:(NSCoder *)aCoder -{ - [aCoder encodeInt64:self.peerId forKey:TGBridgeReadChatMessageListSubscriptionPeerIdKey]; - [aCoder encodeInt32:self.messageId forKey:TGBridgeReadChatMessageListSubscriptionMessageIdKey]; -} - -- (void)_unserializeParametersWithCoder:(NSCoder *)aDecoder -{ - _peerId = [aDecoder decodeInt64ForKey:TGBridgeReadChatMessageListSubscriptionPeerIdKey]; - _messageId = [aDecoder decodeInt32ForKey:TGBridgeReadChatMessageListSubscriptionMessageIdKey]; -} - -+ (NSString *)subscriptionName -{ - return TGBridgeReadChatMessageListSubscriptionName; -} - -@end - - -NSString *const TGBridgeContactsSubscriptionName = @"contacts.search"; -NSString *const TGBridgeContactsSubscriptionQueryKey = @"query"; - -@implementation TGBridgeContactsSubscription - -- (instancetype)initWithQuery:(NSString *)query -{ - self = [super init]; - if (self != nil) - { - _query = query; - } - return self; -} - -- (void)_serializeParametersWithCoder:(NSCoder *)aCoder -{ - [aCoder encodeObject:self.query forKey:TGBridgeContactsSubscriptionQueryKey]; -} - -- (void)_unserializeParametersWithCoder:(NSCoder *)aDecoder -{ - _query = [aDecoder decodeObjectForKey:TGBridgeContactsSubscriptionQueryKey]; -} - -+ (NSString *)subscriptionName -{ - return TGBridgeContactsSubscriptionName; -} - -@end - - -NSString *const TGBridgeConversationSubscriptionName = @"chats.conversation"; -NSString *const TGBridgeConversationSubscriptionPeerIdKey = @"peerId"; - -@implementation TGBridgeConversationSubscription - -- (instancetype)initWithPeerId:(int64_t)peerId -{ - self = [super init]; - if (self != nil) - { - _peerId = peerId; - } - return self; -} - -- (bool)dropPreviouslyQueued -{ - return true; -} - -- (void)_serializeParametersWithCoder:(NSCoder *)aCoder -{ - [aCoder encodeInt64:self.peerId forKey:TGBridgeConversationSubscriptionPeerIdKey]; -} - -- (void)_unserializeParametersWithCoder:(NSCoder *)aDecoder -{ - _peerId = [aDecoder decodeInt64ForKey:TGBridgeConversationSubscriptionPeerIdKey]; -} - -+ (NSString *)subscriptionName -{ - return TGBridgeConversationSubscriptionName; -} - -@end - - -NSString *const TGBridgeNearbyVenuesSubscriptionName = @"location.nearbyVenues"; -NSString *const TGBridgeNearbyVenuesSubscriptionLatitudeKey = @"lat"; -NSString *const TGBridgeNearbyVenuesSubscriptionLongitudeKey = @"lon"; -NSString *const TGBridgeNearbyVenuesSubscriptionLimitKey = @"limit"; - -@implementation TGBridgeNearbyVenuesSubscription - -- (instancetype)initWithCoordinate:(CLLocationCoordinate2D)coordinate limit:(int32_t)limit -{ - self = [super init]; - if (self != nil) - { - _coordinate = coordinate; - _limit = limit; - } - return self; -} - -- (void)_serializeParametersWithCoder:(NSCoder *)aCoder -{ - [aCoder encodeDouble:self.coordinate.latitude forKey:TGBridgeNearbyVenuesSubscriptionLatitudeKey]; - [aCoder encodeDouble:self.coordinate.longitude forKey:TGBridgeNearbyVenuesSubscriptionLongitudeKey]; - [aCoder encodeInt32:self.limit forKey:TGBridgeNearbyVenuesSubscriptionLimitKey]; -} - -- (void)_unserializeParametersWithCoder:(NSCoder *)aDecoder -{ - _coordinate = CLLocationCoordinate2DMake([aDecoder decodeDoubleForKey:TGBridgeNearbyVenuesSubscriptionLatitudeKey], - [aDecoder decodeDoubleForKey:TGBridgeNearbyVenuesSubscriptionLongitudeKey]); - _limit = [aDecoder decodeInt32ForKey:TGBridgeNearbyVenuesSubscriptionLimitKey]; -} - -+ (NSString *)subscriptionName -{ - return TGBridgeNearbyVenuesSubscriptionName; -} - -@end - - -NSString *const TGBridgeMediaThumbnailSubscriptionName = @"media.thumbnail"; -NSString *const TGBridgeMediaThumbnailPeerIdKey = @"peerId"; -NSString *const TGBridgeMediaThumbnailMessageIdKey = @"mid"; -NSString *const TGBridgeMediaThumbnailSizeKey = @"size"; -NSString *const TGBridgeMediaThumbnailNotificationKey = @"notification"; - -@implementation TGBridgeMediaThumbnailSubscription - -- (instancetype)initWithPeerId:(int64_t)peerId messageId:(int32_t)messageId size:(CGSize)size notification:(bool)notification -{ - self = [super init]; - if (self != nil) - { - _peerId = peerId; - _messageId = messageId; - _size = size; - _notification = notification; - } - return self; -} - -- (bool)renewable -{ - return false; -} - -- (void)_serializeParametersWithCoder:(NSCoder *)aCoder -{ - [aCoder encodeInt64:self.peerId forKey:TGBridgeMediaThumbnailPeerIdKey]; - [aCoder encodeInt32:self.messageId forKey:TGBridgeMediaThumbnailMessageIdKey]; - [aCoder encodeCGSize:self.size forKey:TGBridgeMediaThumbnailSizeKey]; - [aCoder encodeBool:self.notification forKey:TGBridgeMediaThumbnailNotificationKey]; -} - -- (void)_unserializeParametersWithCoder:(NSCoder *)aDecoder -{ - _peerId = [aDecoder decodeInt64ForKey:TGBridgeMediaThumbnailPeerIdKey]; - _messageId = [aDecoder decodeInt32ForKey:TGBridgeMediaThumbnailMessageIdKey]; - _size = [aDecoder decodeCGSizeForKey:TGBridgeMediaThumbnailSizeKey]; - _notification = [aDecoder decodeBoolForKey:TGBridgeMediaThumbnailNotificationKey]; -} - -+ (NSString *)subscriptionName -{ - return TGBridgeMediaThumbnailSubscriptionName; -} - -@end - - -NSString *const TGBridgeMediaAvatarSubscriptionName = @"media.avatar"; -NSString *const TGBridgeMediaAvatarPeerIdKey = @"peerId"; -NSString *const TGBridgeMediaAvatarUrlKey = @"url"; -NSString *const TGBridgeMediaAvatarTypeKey = @"type"; - -@implementation TGBridgeMediaAvatarSubscription - -- (instancetype)initWithPeerId:(int64_t)peerId url:(NSString *)url type:(TGBridgeMediaAvatarType)type -{ - self = [super init]; - if (self != nil) - { - _peerId = peerId; - _url = url; - _type = type; - } - return self; -} - -- (bool)renewable -{ - return false; -} - -- (void)_serializeParametersWithCoder:(NSCoder *)aCoder -{ - [aCoder encodeInt64:self.peerId forKey:TGBridgeMediaAvatarPeerIdKey]; - [aCoder encodeObject:self.url forKey:TGBridgeMediaAvatarUrlKey]; - [aCoder encodeInt32:self.type forKey:TGBridgeMediaAvatarTypeKey]; -} - -- (void)_unserializeParametersWithCoder:(NSCoder *)aDecoder -{ - _peerId = [aDecoder decodeInt64ForKey:TGBridgeMediaAvatarPeerIdKey]; - _url = [aDecoder decodeObjectForKey:TGBridgeMediaAvatarUrlKey]; - _type = [aDecoder decodeInt32ForKey:TGBridgeMediaAvatarTypeKey]; -} - -+ (NSString *)subscriptionName -{ - return TGBridgeMediaAvatarSubscriptionName; -} - -@end - - -NSString *const TGBridgeMediaStickerSubscriptionName = @"media.sticker"; -NSString *const TGBridgeMediaStickerDocumentIdKey = @"documentId"; -NSString *const TGBridgeMediaStickerPackIdKey = @"packId"; -NSString *const TGBridgeMediaStickerPackAccessHashKey = @"accessHash"; -NSString *const TGBridgeMediaStickerPeerIdKey = @"peerId"; -NSString *const TGBridgeMediaStickerMessageIdKey = @"mid"; -NSString *const TGBridgeMediaStickerNotificationKey = @"notification"; -NSString *const TGBridgeMediaStickerSizeKey = @"size"; - -@implementation TGBridgeMediaStickerSubscription - -- (instancetype)initWithDocumentId:(int64_t)documentId stickerPackId:(int64_t)stickerPackId stickerPackAccessHash:(int64_t)stickerPackAccessHash stickerPeerId:(int64_t)stickerPeerId stickerMessageId:(int32_t)stickerMessageId notification:(bool)notification size:(CGSize)size -{ - self = [super init]; - if (self != nil) - { - _documentId = documentId; - _stickerPackId = stickerPackId; - _stickerPackAccessHash = stickerPackAccessHash; - _stickerPeerId = stickerPeerId; - _stickerMessageId = stickerMessageId; - _notification = notification; - _size = size; - } - return self; -} - -- (bool)renewable -{ - return false; -} - -- (void)_serializeParametersWithCoder:(NSCoder *)aCoder -{ - [aCoder encodeInt64:self.documentId forKey:TGBridgeMediaStickerDocumentIdKey]; - [aCoder encodeInt64:self.stickerPackId forKey:TGBridgeMediaStickerPackIdKey]; - [aCoder encodeInt64:self.stickerPackAccessHash forKey:TGBridgeMediaStickerPackAccessHashKey]; - [aCoder encodeInt64:self.stickerPeerId forKey:TGBridgeMediaStickerPeerIdKey]; - [aCoder encodeInt32:self.stickerMessageId forKey:TGBridgeMediaStickerMessageIdKey]; - [aCoder encodeBool:self.notification forKey:TGBridgeMediaStickerNotificationKey]; - [aCoder encodeCGSize:self.size forKey:TGBridgeMediaStickerSizeKey]; -} - -- (void)_unserializeParametersWithCoder:(NSCoder *)aDecoder -{ - _documentId = [aDecoder decodeInt64ForKey:TGBridgeMediaStickerDocumentIdKey]; - _stickerPackId = [aDecoder decodeInt64ForKey:TGBridgeMediaStickerPackIdKey]; - _stickerPackAccessHash = [aDecoder decodeInt64ForKey:TGBridgeMediaStickerPackAccessHashKey]; - _stickerPeerId = [aDecoder decodeInt64ForKey:TGBridgeMediaStickerPeerIdKey]; - _stickerMessageId = [aDecoder decodeInt32ForKey:TGBridgeMediaStickerMessageIdKey]; - _notification = [aDecoder decodeBoolForKey:TGBridgeMediaStickerNotificationKey]; - _size = [aDecoder decodeCGSizeForKey:TGBridgeMediaStickerSizeKey]; -} - -+ (NSString *)subscriptionName -{ - return TGBridgeMediaStickerSubscriptionName; -} - -@end - - -NSString *const TGBridgePeerSettingsSubscriptionName = @"peer.settings"; -NSString *const TGBridgePeerSettingsSubscriptionPeerIdKey = @"peerId"; - -@implementation TGBridgePeerSettingsSubscription - -- (instancetype)initWithPeerId:(int64_t)peerId -{ - self = [super init]; - if (self != nil) - { - _peerId = peerId; - } - return self; -} - -- (bool)dropPreviouslyQueued -{ - return true; -} - -- (void)_serializeParametersWithCoder:(NSCoder *)aCoder -{ - [aCoder encodeInt64:self.peerId forKey:TGBridgePeerSettingsSubscriptionPeerIdKey]; -} - -- (void)_unserializeParametersWithCoder:(NSCoder *)aDecoder -{ - _peerId = [aDecoder decodeInt64ForKey:TGBridgePeerSettingsSubscriptionPeerIdKey]; -} - -+ (NSString *)subscriptionName -{ - return TGBridgePeerSettingsSubscriptionName; -} - -@end - - -NSString *const TGBridgePeerUpdateNotificationSettingsSubscriptionName = @"peer.notificationSettings"; -NSString *const TGBridgePeerUpdateNotificationSettingsSubscriptionPeerIdKey = @"peerId"; - -@implementation TGBridgePeerUpdateNotificationSettingsSubscription - -- (instancetype)initWithPeerId:(int64_t)peerId -{ - self = [super init]; - if (self != nil) - { - _peerId = peerId; - } - return self; -} - -- (bool)renewable -{ - return false; -} - -- (void)_serializeParametersWithCoder:(NSCoder *)aCoder -{ - [aCoder encodeInt64:self.peerId forKey:TGBridgePeerUpdateNotificationSettingsSubscriptionPeerIdKey]; -} - -- (void)_unserializeParametersWithCoder:(NSCoder *)aDecoder -{ - _peerId = [aDecoder decodeInt64ForKey:TGBridgePeerUpdateNotificationSettingsSubscriptionPeerIdKey]; -} - -+ (NSString *)subscriptionName -{ - return TGBridgePeerUpdateNotificationSettingsSubscriptionName; -} - -@end - - -NSString *const TGBridgePeerUpdateBlockStatusSubscriptionName = @"peer.updateBlocked"; -NSString *const TGBridgePeerUpdateBlockStatusSubscriptionPeerIdKey = @"peerId"; -NSString *const TGBridgePeerUpdateBlockStatusSubscriptionBlockedKey = @"blocked"; - -@implementation TGBridgePeerUpdateBlockStatusSubscription - -- (instancetype)initWithPeerId:(int64_t)peerId blocked:(bool)blocked -{ - self = [super init]; - if (self != nil) - { - _peerId = peerId; - _blocked = blocked; - } - return self; -} - -- (bool)renewable -{ - return false; -} - -- (void)_serializeParametersWithCoder:(NSCoder *)aCoder -{ - [aCoder encodeInt64:self.peerId forKey:TGBridgePeerUpdateBlockStatusSubscriptionPeerIdKey]; - [aCoder encodeBool:self.blocked forKey:TGBridgePeerUpdateBlockStatusSubscriptionBlockedKey]; -} - -- (void)_unserializeParametersWithCoder:(NSCoder *)aDecoder -{ - _peerId = [aDecoder decodeInt64ForKey:TGBridgePeerUpdateBlockStatusSubscriptionPeerIdKey]; - _blocked = [aDecoder decodeBoolForKey:TGBridgePeerUpdateBlockStatusSubscriptionBlockedKey]; -} - -+ (NSString *)subscriptionName -{ - return TGBridgePeerUpdateBlockStatusSubscriptionName; -} - -@end - - -NSString *const TGBridgeRemoteSubscriptionName = @"remote.request"; -NSString *const TGBridgeRemotePeerIdKey = @"peerId"; -NSString *const TGBridgeRemoteMessageIdKey = @"mid"; -NSString *const TGBridgeRemoteTypeKey = @"mediaType"; -NSString *const TGBridgeRemoteAutoPlayKey = @"autoPlay"; - -@implementation TGBridgeRemoteSubscription - -- (instancetype)initWithPeerId:(int64_t)peerId messageId:(int32_t)messageId type:(int32_t)type autoPlay:(bool)autoPlay -{ - self = [super init]; - if (self != nil) - { - _peerId = peerId; - _messageId = messageId; - _type = type; - _autoPlay = autoPlay; - } - return self; -} - -- (bool)renewable -{ - return false; -} - -- (void)_serializeParametersWithCoder:(NSCoder *)aCoder -{ - [aCoder encodeInt64:self.peerId forKey:TGBridgeRemotePeerIdKey]; - [aCoder encodeInt32:self.messageId forKey:TGBridgeRemoteMessageIdKey]; - [aCoder encodeInt32:self.type forKey:TGBridgeRemoteTypeKey]; - [aCoder encodeBool:self.autoPlay forKey:TGBridgeRemoteAutoPlayKey]; -} - -- (void)_unserializeParametersWithCoder:(NSCoder *)aDecoder -{ - _peerId = [aDecoder decodeInt64ForKey:TGBridgeRemotePeerIdKey]; - _messageId = [aDecoder decodeInt32ForKey:TGBridgeRemoteMessageIdKey]; - _type = [aDecoder decodeInt32ForKey:TGBridgeRemoteTypeKey]; - _autoPlay = [aDecoder decodeBoolForKey:TGBridgeRemoteAutoPlayKey]; -} - -+ (NSString *)subscriptionName -{ - return TGBridgeRemoteSubscriptionName; -} - -@end - - -NSString *const TGBridgeSendTextMessageSubscriptionName = @"sendMessage.text"; -NSString *const TGBridgeSendTextMessageSubscriptionPeerIdKey = @"peerId"; -NSString *const TGBridgeSendTextMessageSubscriptionTextKey = @"text"; -NSString *const TGBridgeSendTextMessageSubscriptionReplyToMidKey = @"replyToMid"; - -@implementation TGBridgeSendTextMessageSubscription - -- (instancetype)initWithPeerId:(int64_t)peerId text:(NSString *)text replyToMid:(int32_t)replyToMid -{ - self = [super init]; - if (self != nil) - { - _peerId = peerId; - _text = text; - _replyToMid = replyToMid; - } - return self; -} - -- (bool)renewable -{ - return false; -} - -- (void)_serializeParametersWithCoder:(NSCoder *)aCoder -{ - [aCoder encodeInt64:self.peerId forKey:TGBridgeSendTextMessageSubscriptionPeerIdKey]; - [aCoder encodeObject:self.text forKey:TGBridgeSendTextMessageSubscriptionTextKey]; - [aCoder encodeInt32:self.replyToMid forKey:TGBridgeSendTextMessageSubscriptionReplyToMidKey]; -} - -- (void)_unserializeParametersWithCoder:(NSCoder *)aDecoder -{ - _peerId = [aDecoder decodeInt64ForKey:TGBridgeSendTextMessageSubscriptionPeerIdKey]; - _text = [aDecoder decodeObjectForKey:TGBridgeSendTextMessageSubscriptionTextKey]; - _replyToMid = [aDecoder decodeInt32ForKey:TGBridgeSendTextMessageSubscriptionReplyToMidKey]; -} - -+ (NSString *)subscriptionName -{ - return TGBridgeSendTextMessageSubscriptionName; -} - -@end - - -NSString *const TGBridgeSendStickerMessageSubscriptionName = @"sendMessage.sticker"; -NSString *const TGBridgeSendStickerMessageSubscriptionPeerIdKey = @"peerId"; -NSString *const TGBridgeSendStickerMessageSubscriptionDocumentKey = @"document"; -NSString *const TGBridgeSendStickerMessageSubscriptionReplyToMidKey = @"replyToMid"; - -@implementation TGBridgeSendStickerMessageSubscription - -- (instancetype)initWithPeerId:(int64_t)peerId document:(TGBridgeDocumentMediaAttachment *)document replyToMid:(int32_t)replyToMid -{ - self = [super init]; - if (self != nil) - { - _peerId = peerId; - _document = document; - _replyToMid = replyToMid; - } - return self; -} - -- (bool)renewable -{ - return false; -} - -- (void)_serializeParametersWithCoder:(NSCoder *)aCoder -{ - [aCoder encodeInt64:self.peerId forKey:TGBridgeSendStickerMessageSubscriptionPeerIdKey]; - [aCoder encodeObject:self.document forKey:TGBridgeSendStickerMessageSubscriptionDocumentKey]; - [aCoder encodeInt32:self.replyToMid forKey:TGBridgeSendStickerMessageSubscriptionReplyToMidKey]; -} - - -- (void)_unserializeParametersWithCoder:(NSCoder *)aDecoder -{ - _peerId = [aDecoder decodeInt64ForKey:TGBridgeSendStickerMessageSubscriptionPeerIdKey]; - _document = [aDecoder decodeObjectForKey:TGBridgeSendStickerMessageSubscriptionDocumentKey]; - _replyToMid = [aDecoder decodeInt32ForKey:TGBridgeSendStickerMessageSubscriptionReplyToMidKey]; -} - -+ (NSString *)subscriptionName -{ - return TGBridgeSendStickerMessageSubscriptionName; -} - -@end - - -NSString *const TGBridgeSendLocationMessageSubscriptionName = @"sendMessage.location"; -NSString *const TGBridgeSendLocationMessageSubscriptionPeerIdKey = @"peerId"; -NSString *const TGBridgeSendLocationMessageSubscriptionLocationKey = @"location"; -NSString *const TGBridgeSendLocationMessageSubscriptionReplyToMidKey = @"replyToMid"; - -@implementation TGBridgeSendLocationMessageSubscription - -- (instancetype)initWithPeerId:(int64_t)peerId location:(TGBridgeLocationMediaAttachment *)location replyToMid:(int32_t)replyToMid -{ - self = [super init]; - if (self != nil) - { - _peerId = peerId; - _location = location; - _replyToMid = replyToMid; - } - return self; -} - -- (bool)renewable -{ - return false; -} - -- (void)_serializeParametersWithCoder:(NSCoder *)aCoder -{ - [aCoder encodeInt64:self.peerId forKey:TGBridgeSendLocationMessageSubscriptionPeerIdKey]; - [aCoder encodeObject:self.location forKey:TGBridgeSendLocationMessageSubscriptionLocationKey]; - [aCoder encodeInt32:self.replyToMid forKey:TGBridgeSendLocationMessageSubscriptionReplyToMidKey]; -} - -- (void)_unserializeParametersWithCoder:(NSCoder *)aDecoder -{ - _peerId = [aDecoder decodeInt64ForKey:TGBridgeSendLocationMessageSubscriptionPeerIdKey]; - _location = [aDecoder decodeObjectForKey:TGBridgeSendLocationMessageSubscriptionLocationKey]; - _replyToMid = [aDecoder decodeInt32ForKey:TGBridgeSendLocationMessageSubscriptionReplyToMidKey]; -} - -+ (NSString *)subscriptionName -{ - return TGBridgeSendLocationMessageSubscriptionName; -} - -@end - - -NSString *const TGBridgeSendForwardedMessageSubscriptionName = @"sendMessage.forward"; -NSString *const TGBridgeSendForwardedMessageSubscriptionPeerIdKey = @"peerId"; -NSString *const TGBridgeSendForwardedMessageSubscriptionMidKey = @"mid"; -NSString *const TGBridgeSendForwardedMessageSubscriptionTargetPeerIdKey = @"targetPeerId"; - -@implementation TGBridgeSendForwardedMessageSubscription - -- (instancetype)initWithPeerId:(int64_t)peerId messageId:(int32_t)messageId targetPeerId:(int64_t)targetPeerId -{ - self = [super init]; - if (self != nil) - { - _peerId = peerId; - _messageId = messageId; - _targetPeerId = targetPeerId; - } - return self; -} - -- (bool)renewable -{ - return false; -} - -- (void)_serializeParametersWithCoder:(NSCoder *)aCoder -{ - [aCoder encodeInt64:self.peerId forKey:TGBridgeSendForwardedMessageSubscriptionPeerIdKey]; - [aCoder encodeInt32:self.messageId forKey:TGBridgeSendForwardedMessageSubscriptionMidKey]; - [aCoder encodeInt64:self.targetPeerId forKey:TGBridgeSendForwardedMessageSubscriptionTargetPeerIdKey]; -} - -- (void)_unserializeParametersWithCoder:(NSCoder *)aDecoder -{ - _peerId = [aDecoder decodeInt64ForKey:TGBridgeSendForwardedMessageSubscriptionPeerIdKey]; - _messageId = [aDecoder decodeInt32ForKey:TGBridgeSendForwardedMessageSubscriptionMidKey]; - _targetPeerId = [aDecoder decodeInt64ForKey:TGBridgeSendForwardedMessageSubscriptionTargetPeerIdKey]; -} - -+ (NSString *)subscriptionName -{ - return TGBridgeSendForwardedMessageSubscriptionName; -} - -@end - - -NSString *const TGBridgeStateSubscriptionName = @"state.syncState"; - -@implementation TGBridgeStateSubscription - -- (bool)dropPreviouslyQueued -{ - return true; -} - -+ (NSString *)subscriptionName -{ - return TGBridgeStateSubscriptionName; -} - -@end - - -NSString *const TGBridgeStickerPacksSubscriptionName = @"stickers.packs"; - -@implementation TGBridgeStickerPacksSubscription - -+ (NSString *)subscriptionName -{ - return TGBridgeStickerPacksSubscriptionName; -} - -@end - - -NSString *const TGBridgeRecentStickersSubscriptionName = @"stickers.recent"; -NSString *const TGBridgeRecentStickersSubscriptionLimitKey = @"limit"; - -@implementation TGBridgeRecentStickersSubscription - -- (instancetype)initWithLimit:(int32_t)limit -{ - self = [super init]; - if (self != nil) - { - _limit = limit; - } - return self; -} - -- (void)_serializeParametersWithCoder:(NSCoder *)aCoder -{ - [aCoder encodeInt32:self.limit forKey:TGBridgeRecentStickersSubscriptionLimitKey]; -} - -- (void)_unserializeParametersWithCoder:(NSCoder *)aDecoder -{ - _limit = [aDecoder decodeInt32ForKey:TGBridgeRecentStickersSubscriptionLimitKey]; -} - -+ (NSString *)subscriptionName -{ - return TGBridgeRecentStickersSubscriptionName; -} - -@end - - -NSString *const TGBridgeUserInfoSubscriptionName = @"user.userInfo"; -NSString *const TGBridgeUserInfoSubscriptionUserIdsKey = @"uids"; - -@implementation TGBridgeUserInfoSubscription - -- (instancetype)initWithUserIds:(NSArray *)userIds -{ - self = [super init]; - if (self != nil) - { - _userIds = userIds; - } - return self; -} - -- (bool)dropPreviouslyQueued -{ - return true; -} - -- (void)_serializeParametersWithCoder:(NSCoder *)aCoder -{ - [aCoder encodeObject:self.userIds forKey:TGBridgeUserInfoSubscriptionUserIdsKey]; -} - -- (void)_unserializeParametersWithCoder:(NSCoder *)aDecoder -{ - _userIds = [aDecoder decodeObjectForKey:TGBridgeUserInfoSubscriptionUserIdsKey]; -} - -+ (NSString *)subscriptionName -{ - return TGBridgeUserInfoSubscriptionName; -} - -@end - - -NSString *const TGBridgeUserBotInfoSubscriptionName = @"user.botInfo"; -NSString *const TGBridgeUserBotInfoSubscriptionUserIdsKey = @"uids"; - -@implementation TGBridgeUserBotInfoSubscription - -- (instancetype)initWithUserIds:(NSArray *)userIds -{ - self = [super init]; - if (self != nil) - { - _userIds = userIds; - } - return self; -} - -- (bool)dropPreviouslyQueued -{ - return true; -} - -- (void)_serializeParametersWithCoder:(NSCoder *)aCoder -{ - [aCoder encodeObject:self.userIds forKey:TGBridgeUserBotInfoSubscriptionUserIdsKey]; -} - -- (void)_unserializeParametersWithCoder:(NSCoder *)aDecoder -{ - _userIds = [aDecoder decodeObjectForKey:TGBridgeUserBotInfoSubscriptionUserIdsKey]; -} - -+ (NSString *)subscriptionName -{ - return TGBridgeUserBotInfoSubscriptionName; -} - -@end - - -NSString *const TGBridgeBotReplyMarkupSubscriptionName = @"user.botReplyMarkup"; -NSString *const TGBridgeBotReplyMarkupPeerIdKey = @"peerId"; - -@implementation TGBridgeBotReplyMarkupSubscription - -- (instancetype)initWithPeerId:(int64_t)peerId -{ - self = [super init]; - if (self != nil) - { - _peerId = peerId; - } - return self; -} - -- (bool)dropPreviouslyQueued -{ - return true; -} - -- (void)_serializeParametersWithCoder:(NSCoder *)aCoder -{ - [aCoder encodeInt64:self.peerId forKey:TGBridgeBotReplyMarkupPeerIdKey]; -} - -- (void)_unserializeParametersWithCoder:(NSCoder *)aDecoder -{ - _peerId = [aDecoder decodeInt64ForKey:TGBridgeBotReplyMarkupPeerIdKey]; -} - -+ (NSString *)subscriptionName -{ - return TGBridgeBotReplyMarkupSubscriptionName; -} - -@end diff --git a/submodules/WatchCommon/Host/Sources/TGBridgeUnsupportedMediaAttachment.m b/submodules/WatchCommon/Host/Sources/TGBridgeUnsupportedMediaAttachment.m deleted file mode 100644 index b51e422fd1..0000000000 --- a/submodules/WatchCommon/Host/Sources/TGBridgeUnsupportedMediaAttachment.m +++ /dev/null @@ -1,35 +0,0 @@ -#import "TGBridgeUnsupportedMediaAttachment.h" - -const NSInteger TGBridgeUnsupportedMediaAttachmentType = 0x3837BEF7; - -NSString *const TGBridgeUnsupportedMediaCompactTitleKey = @"compactTitle"; -NSString *const TGBridgeUnsupportedMediaTitleKey = @"title"; -NSString *const TGBridgeUnsupportedMediaSubtitleKey = @"subtitle"; - -@implementation TGBridgeUnsupportedMediaAttachment - -- (instancetype)initWithCoder:(NSCoder *)aDecoder -{ - self = [super init]; - if (self != nil) - { - _compactTitle = [aDecoder decodeObjectForKey:TGBridgeUnsupportedMediaCompactTitleKey]; - _title = [aDecoder decodeObjectForKey:TGBridgeUnsupportedMediaTitleKey]; - _subtitle = [aDecoder decodeObjectForKey:TGBridgeUnsupportedMediaSubtitleKey]; - } - return self; -} - -- (void)encodeWithCoder:(NSCoder *)aCoder -{ - [aCoder encodeObject:self.compactTitle forKey:TGBridgeUnsupportedMediaCompactTitleKey]; - [aCoder encodeObject:self.title forKey:TGBridgeUnsupportedMediaTitleKey]; - [aCoder encodeObject:self.subtitle forKey:TGBridgeUnsupportedMediaSubtitleKey]; -} - -+ (NSInteger)mediaType -{ - return TGBridgeUnsupportedMediaAttachmentType; -} - -@end diff --git a/submodules/WatchCommon/Host/Sources/TGBridgeUser.m b/submodules/WatchCommon/Host/Sources/TGBridgeUser.m deleted file mode 100644 index 4c0fed8d97..0000000000 --- a/submodules/WatchCommon/Host/Sources/TGBridgeUser.m +++ /dev/null @@ -1,286 +0,0 @@ -#import "TGBridgeUser.h" -//#import "TGWatchCommon.h" -#import "TGBridgeBotInfo.h" - -//#import "../Extension/TGStringUtils.h" - -NSString *const TGBridgeUserIdentifierKey = @"identifier"; -NSString *const TGBridgeUserFirstNameKey = @"firstName"; -NSString *const TGBridgeUserLastNameKey = @"lastName"; -NSString *const TGBridgeUserUserNameKey = @"userName"; -NSString *const TGBridgeUserPhoneNumberKey = @"phoneNumber"; -NSString *const TGBridgeUserPrettyPhoneNumberKey = @"prettyPhoneNumber"; -NSString *const TGBridgeUserOnlineKey = @"online"; -NSString *const TGBridgeUserLastSeenKey = @"lastSeen"; -NSString *const TGBridgeUserPhotoSmallKey = @"photoSmall"; -NSString *const TGBridgeUserPhotoBigKey = @"photoBig"; -NSString *const TGBridgeUserKindKey = @"kind"; -NSString *const TGBridgeUserBotKindKey = @"botKind"; -NSString *const TGBridgeUserBotVersionKey = @"botVersion"; -NSString *const TGBridgeUserVerifiedKey = @"verified"; -NSString *const TGBridgeUserAboutKey = @"about"; -NSString *const TGBridgeUserVersionKey = @"version"; - -NSString *const TGBridgeUsersDictionaryKey = @"users"; - -@implementation TGBridgeUser - -- (instancetype)initWithCoder:(NSCoder *)aDecoder -{ - self = [super init]; - if (self != nil) - { - _identifier = [aDecoder decodeInt64ForKey:TGBridgeUserIdentifierKey]; - _firstName = [aDecoder decodeObjectForKey:TGBridgeUserFirstNameKey]; - _lastName = [aDecoder decodeObjectForKey:TGBridgeUserLastNameKey]; - _userName = [aDecoder decodeObjectForKey:TGBridgeUserUserNameKey]; - _phoneNumber = [aDecoder decodeObjectForKey:TGBridgeUserPhoneNumberKey]; - _prettyPhoneNumber = [aDecoder decodeObjectForKey:TGBridgeUserPrettyPhoneNumberKey]; - _online = [aDecoder decodeBoolForKey:TGBridgeUserOnlineKey]; - _lastSeen = [aDecoder decodeDoubleForKey:TGBridgeUserLastSeenKey]; - _photoSmall = [aDecoder decodeObjectForKey:TGBridgeUserPhotoSmallKey]; - _photoBig = [aDecoder decodeObjectForKey:TGBridgeUserPhotoBigKey]; - _kind = [aDecoder decodeInt32ForKey:TGBridgeUserKindKey]; - _botKind = [aDecoder decodeInt32ForKey:TGBridgeUserBotKindKey]; - _botVersion = [aDecoder decodeInt32ForKey:TGBridgeUserBotVersionKey]; - _verified = [aDecoder decodeBoolForKey:TGBridgeUserVerifiedKey]; - _about = [aDecoder decodeObjectForKey:TGBridgeUserAboutKey]; - _userVersion = [aDecoder decodeInt32ForKey:TGBridgeUserVersionKey]; - } - return self; -} - -- (void)encodeWithCoder:(NSCoder *)aCoder -{ - [aCoder encodeInt64:self.identifier forKey:TGBridgeUserIdentifierKey]; - [aCoder encodeObject:self.firstName forKey:TGBridgeUserFirstNameKey]; - [aCoder encodeObject:self.lastName forKey:TGBridgeUserLastNameKey]; - [aCoder encodeObject:self.userName forKey:TGBridgeUserUserNameKey]; - [aCoder encodeObject:self.phoneNumber forKey:TGBridgeUserPhoneNumberKey]; - [aCoder encodeObject:self.prettyPhoneNumber forKey:TGBridgeUserPrettyPhoneNumberKey]; - [aCoder encodeBool:self.online forKey:TGBridgeUserOnlineKey]; - [aCoder encodeDouble:self.lastSeen forKey:TGBridgeUserLastSeenKey]; - [aCoder encodeObject:self.photoSmall forKey:TGBridgeUserPhotoSmallKey]; - [aCoder encodeObject:self.photoBig forKey:TGBridgeUserPhotoBigKey]; - [aCoder encodeInt32:self.kind forKey:TGBridgeUserKindKey]; - [aCoder encodeInt32:self.botKind forKey:TGBridgeUserBotKindKey]; - [aCoder encodeInt32:self.botVersion forKey:TGBridgeUserBotVersionKey]; - [aCoder encodeBool:self.verified forKey:TGBridgeUserVerifiedKey]; - [aCoder encodeObject:self.about forKey:TGBridgeUserAboutKey]; - [aCoder encodeInt32:self.userVersion forKey:TGBridgeUserVersionKey]; -} - -- (instancetype)copyWithZone:(NSZone *)__unused zone -{ - TGBridgeUser *user = [[TGBridgeUser alloc] init]; - user->_identifier = self.identifier; - user->_firstName = self.firstName; - user->_lastName = self.lastName; - user->_userName = self.userName; - user->_phoneNumber = self.phoneNumber; - user->_prettyPhoneNumber = self.prettyPhoneNumber; - user->_online = self.online; - user->_lastSeen = self.lastSeen; - user->_photoSmall = self.photoSmall; - user->_photoBig = self.photoBig; - user->_kind = self.kind; - user->_botKind = self.botKind; - user->_botVersion = self.botVersion; - user->_verified = self.verified; - user->_about = self.about; - user->_userVersion = self.userVersion; - - return user; -} - -- (NSString *)displayName -{ - NSString *firstName = self.firstName; - NSString *lastName = self.lastName; - - if (firstName != nil && firstName.length != 0 && lastName != nil && lastName.length != 0) - { - return [[NSString alloc] initWithFormat:@"%@ %@", firstName, lastName]; - } - else if (firstName != nil && firstName.length != 0) - return firstName; - else if (lastName != nil && lastName.length != 0) - return lastName; - - return @""; -} - -- (bool)isBot -{ - return (self.kind == TGBridgeUserKindBot || self.kind ==TGBridgeUserKindSmartBot); -} - -- (TGBridgeUserChange *)changeFromUser:(TGBridgeUser *)user -{ - NSMutableDictionary *fields = [[NSMutableDictionary alloc] init]; - - [self _compareString:self.firstName oldString:user.firstName dict:fields key:TGBridgeUserFirstNameKey]; - [self _compareString:self.lastName oldString:user.lastName dict:fields key:TGBridgeUserLastNameKey]; - [self _compareString:self.userName oldString:user.userName dict:fields key:TGBridgeUserUserNameKey]; - [self _compareString:self.phoneNumber oldString:user.phoneNumber dict:fields key:TGBridgeUserPhoneNumberKey]; - [self _compareString:self.prettyPhoneNumber oldString:user.prettyPhoneNumber dict:fields key:TGBridgeUserPrettyPhoneNumberKey]; - - if (self.online != user.online) - fields[TGBridgeUserOnlineKey] = @(self.online); - - if (fabs(self.lastSeen - user.lastSeen) > DBL_EPSILON) - fields[TGBridgeUserLastSeenKey] = @(self.lastSeen); - - [self _compareString:self.photoSmall oldString:user.photoSmall dict:fields key:TGBridgeUserPhotoSmallKey]; - [self _compareString:self.photoBig oldString:user.photoBig dict:fields key:TGBridgeUserPhotoBigKey]; - - if (self.kind != user.kind) - fields[TGBridgeUserKindKey] = @(self.kind); - - if (self.botKind != user.botKind) - fields[TGBridgeUserBotKindKey] = @(self.botKind); - - if (self.botVersion != user.botVersion) - fields[TGBridgeUserBotVersionKey] = @(self.botVersion); - - if (self.verified != user.verified) - fields[TGBridgeUserVerifiedKey] = @(self.verified); - - if (fields.count == 0) - return nil; - - return [[TGBridgeUserChange alloc] initWithUserIdentifier:user.identifier fields:fields]; -} - -- (void)_compareString:(NSString *)newString oldString:(NSString *)oldString dict:(NSMutableDictionary *)dict key:(NSString *)key -{ - if (newString == nil && oldString == nil) - return; - - if (![newString isEqualToString:oldString]) - { - if (newString == nil) - dict[key] = [NSNull null]; - else - dict[key] = newString; - } -} - -- (TGBridgeUser *)userByApplyingChange:(TGBridgeUserChange *)change -{ - if (change.userIdentifier != self.identifier) - return nil; - - TGBridgeUser *user = [self copy]; - - NSString *firstNameChange = change.fields[TGBridgeUserFirstNameKey]; - if (firstNameChange != nil) - user->_firstName = [self _stringForFieldChange:firstNameChange]; - - NSString *lastNameChange = change.fields[TGBridgeUserLastNameKey]; - if (lastNameChange != nil) - user->_lastName = [self _stringForFieldChange:lastNameChange]; - - NSString *userNameChange = change.fields[TGBridgeUserUserNameKey]; - if (userNameChange != nil) - user->_userName = [self _stringForFieldChange:userNameChange]; - - NSString *phoneNumberChange = change.fields[TGBridgeUserPhoneNumberKey]; - if (phoneNumberChange != nil) - user->_phoneNumber = [self _stringForFieldChange:phoneNumberChange]; - - NSString *prettyPhoneNumberChange = change.fields[TGBridgeUserPrettyPhoneNumberKey]; - if (prettyPhoneNumberChange != nil) - user->_prettyPhoneNumber = [self _stringForFieldChange:prettyPhoneNumberChange]; - - NSNumber *onlineChange = change.fields[TGBridgeUserOnlineKey]; - if (onlineChange != nil) - user->_online = [onlineChange boolValue]; - - NSNumber *lastSeenChange = change.fields[TGBridgeUserLastSeenKey]; - if (lastSeenChange != nil) - user->_lastSeen = [lastSeenChange doubleValue]; - - NSString *photoSmallChange = change.fields[TGBridgeUserPhotoSmallKey]; - if (photoSmallChange != nil) - user->_photoSmall = [self _stringForFieldChange:photoSmallChange]; - - NSString *photoBigChange = change.fields[TGBridgeUserPhotoBigKey]; - if (photoBigChange != nil) - user->_photoBig = [self _stringForFieldChange:photoBigChange]; - - NSNumber *kindChange = change.fields[TGBridgeUserKindKey]; - if (kindChange != nil) - user->_kind = (int32_t)[kindChange intValue]; - - NSNumber *botKindChange = change.fields[TGBridgeUserBotKindKey]; - if (botKindChange != nil) - user->_botKind = (int32_t)[botKindChange intValue]; - - NSNumber *botVersionChange = change.fields[TGBridgeUserBotVersionKey]; - if (botVersionChange != nil) - user->_botVersion = (int32_t)[botVersionChange intValue]; - - NSNumber *verifiedChange = change.fields[TGBridgeUserVerifiedKey]; - if (verifiedChange != nil) - user->_verified = [verifiedChange boolValue]; - - return user; -} - -- (NSString *)_stringForFieldChange:(NSString *)fieldChange -{ - if ([fieldChange isKindOfClass:[NSNull class]]) - return nil; - - return fieldChange; -} - -- (BOOL)isEqual:(id)object -{ - if (object == self) - return YES; - - if (!object || ![object isKindOfClass:[self class]]) - return NO; - - return self.identifier == ((TGBridgeUser *)object).identifier; -} - -@end - - -NSString *const TGBridgeUserChangeIdentifierKey = @"userIdentifier"; -NSString *const TGBridgeUserChangeFieldsKey = @"fields"; - -@implementation TGBridgeUserChange - -- (instancetype)initWithUserIdentifier:(int32_t)userIdentifier fields:(NSDictionary *)fields -{ - self = [super init]; - if (self != nil) - { - _userIdentifier = userIdentifier; - _fields = fields; - } - return self; -} - -- (instancetype)initWithCoder:(NSCoder *)aDecoder -{ - self = [super init]; - if (self != nil) - { - _userIdentifier = [aDecoder decodeInt32ForKey:TGBridgeUserChangeIdentifierKey]; - _fields = [aDecoder decodeObjectForKey:TGBridgeUserChangeFieldsKey]; - } - return self; -} - -- (void)encodeWithCoder:(NSCoder *)aCoder -{ - [aCoder encodeInt32:self.userIdentifier forKey:TGBridgeUserChangeIdentifierKey]; - [aCoder encodeObject:self.fields forKey:TGBridgeUserChangeFieldsKey]; -} - -@end diff --git a/submodules/WatchCommon/Host/Sources/TGBridgeVideoMediaAttachment.m b/submodules/WatchCommon/Host/Sources/TGBridgeVideoMediaAttachment.m deleted file mode 100644 index 66fe867996..0000000000 --- a/submodules/WatchCommon/Host/Sources/TGBridgeVideoMediaAttachment.m +++ /dev/null @@ -1,39 +0,0 @@ -#import "TGBridgeVideoMediaAttachment.h" -#import - -const NSInteger TGBridgeVideoMediaAttachmentType = 0x338EAA20; - -NSString *const TGBridgeVideoMediaVideoIdKey = @"videoId"; -NSString *const TGBridgeVideoMediaDimensionsKey = @"dimensions"; -NSString *const TGBridgeVideoMediaDurationKey = @"duration"; -NSString *const TGBridgeVideoMediaRoundKey = @"round"; - -@implementation TGBridgeVideoMediaAttachment - -- (instancetype)initWithCoder:(NSCoder *)aDecoder -{ - self = [super init]; - if (self != nil) - { - _videoId = [aDecoder decodeInt64ForKey:TGBridgeVideoMediaVideoIdKey]; - _dimensions = [aDecoder decodeCGSizeForKey:TGBridgeVideoMediaDimensionsKey]; - _duration = [aDecoder decodeInt32ForKey:TGBridgeVideoMediaDurationKey]; - _round = [aDecoder decodeBoolForKey:TGBridgeVideoMediaRoundKey]; - } - return self; -} - -- (void)encodeWithCoder:(NSCoder *)aCoder -{ - [aCoder encodeInt64:self.videoId forKey:TGBridgeVideoMediaVideoIdKey]; - [aCoder encodeCGSize:self.dimensions forKey:TGBridgeVideoMediaDimensionsKey]; - [aCoder encodeInt32:self.duration forKey:TGBridgeVideoMediaDurationKey]; - [aCoder encodeBool:self.round forKey:TGBridgeVideoMediaRoundKey]; -} - -+ (NSInteger)mediaType -{ - return TGBridgeVideoMediaAttachmentType; -} - -@end diff --git a/submodules/WatchCommon/Host/Sources/TGBridgeWebPageMediaAttachment.m b/submodules/WatchCommon/Host/Sources/TGBridgeWebPageMediaAttachment.m deleted file mode 100644 index 3983075d69..0000000000 --- a/submodules/WatchCommon/Host/Sources/TGBridgeWebPageMediaAttachment.m +++ /dev/null @@ -1,65 +0,0 @@ -#import "TGBridgeWebPageMediaAttachment.h" -#import "TGBridgeImageMediaAttachment.h" -#import - -const NSInteger TGBridgeWebPageMediaAttachmentType = 0x584197af; - -NSString *const TGBridgeWebPageMediaWebPageIdKey = @"webPageId"; -NSString *const TGBridgeWebPageMediaUrlKey = @"url"; -NSString *const TGBridgeWebPageMediaDisplayUrlKey = @"displayUrl"; -NSString *const TGBridgeWebPageMediaPageTypeKey = @"pageType"; -NSString *const TGBridgeWebPageMediaSiteNameKey = @"siteName"; -NSString *const TGBridgeWebPageMediaTitleKey = @"title"; -NSString *const TGBridgeWebPageMediaPageDescriptionKey = @"pageDescription"; -NSString *const TGBridgeWebPageMediaPhotoKey = @"photo"; -NSString *const TGBridgeWebPageMediaEmbedUrlKey = @"embedUrl"; -NSString *const TGBridgeWebPageMediaEmbedTypeKey = @"embedType"; -NSString *const TGBridgeWebPageMediaEmbedSizeKey = @"embedSize"; -NSString *const TGBridgeWebPageMediaDurationKey = @"duration"; -NSString *const TGBridgeWebPageMediaAuthorKey = @"author"; - -@implementation TGBridgeWebPageMediaAttachment - -- (instancetype)initWithCoder:(NSCoder *)aDecoder -{ - self = [super init]; - if (self != nil) - { - _webPageId = [aDecoder decodeInt64ForKey:TGBridgeWebPageMediaWebPageIdKey]; - _url = [aDecoder decodeObjectForKey:TGBridgeWebPageMediaUrlKey]; - _displayUrl = [aDecoder decodeObjectForKey:TGBridgeWebPageMediaDisplayUrlKey]; - _pageType = [aDecoder decodeObjectForKey:TGBridgeWebPageMediaPageTypeKey]; - _siteName = [aDecoder decodeObjectForKey:TGBridgeWebPageMediaSiteNameKey]; - _title = [aDecoder decodeObjectForKey:TGBridgeWebPageMediaTitleKey]; - _pageDescription = [aDecoder decodeObjectForKey:TGBridgeWebPageMediaPageDescriptionKey]; - _photo = [aDecoder decodeObjectForKey:TGBridgeWebPageMediaPhotoKey]; - _embedUrl = [aDecoder decodeObjectForKey:TGBridgeWebPageMediaEmbedUrlKey]; - _embedSize = [aDecoder decodeCGSizeForKey:TGBridgeWebPageMediaEmbedSizeKey]; - _duration = [aDecoder decodeObjectForKey:TGBridgeWebPageMediaDurationKey]; - _author = [aDecoder decodeObjectForKey:TGBridgeWebPageMediaAuthorKey]; - } - return self; -} - -- (void)encodeWithCoder:(NSCoder *)aCoder -{ - [aCoder encodeInt64:self.webPageId forKey:TGBridgeWebPageMediaWebPageIdKey]; - [aCoder encodeObject:self.url forKey:TGBridgeWebPageMediaUrlKey]; - [aCoder encodeObject:self.displayUrl forKey:TGBridgeWebPageMediaDisplayUrlKey]; - [aCoder encodeObject:self.pageType forKey:TGBridgeWebPageMediaPageTypeKey]; - [aCoder encodeObject:self.siteName forKey:TGBridgeWebPageMediaSiteNameKey]; - [aCoder encodeObject:self.title forKey:TGBridgeWebPageMediaTitleKey]; - [aCoder encodeObject:self.pageDescription forKey:TGBridgeWebPageMediaPageDescriptionKey]; - [aCoder encodeObject:self.photo forKey:TGBridgeWebPageMediaPhotoKey]; - [aCoder encodeObject:self.embedUrl forKey:TGBridgeWebPageMediaEmbedUrlKey]; - [aCoder encodeCGSize:self.embedSize forKey:TGBridgeWebPageMediaEmbedSizeKey]; - [aCoder encodeObject:self.duration forKey:TGBridgeWebPageMediaDurationKey]; - [aCoder encodeObject:self.author forKey:TGBridgeWebPageMediaAuthorKey]; -} - -+ (NSInteger)mediaType -{ - return TGBridgeWebPageMediaAttachmentType; -} - -@end diff --git a/submodules/WatchCommon/Watch/Sources/TGBridgeActionMediaAttachment.h b/submodules/WatchCommon/Watch/Sources/TGBridgeActionMediaAttachment.h deleted file mode 100644 index 5b2f13e4f4..0000000000 --- a/submodules/WatchCommon/Watch/Sources/TGBridgeActionMediaAttachment.h +++ /dev/null @@ -1,36 +0,0 @@ -#import - -typedef NS_ENUM(NSUInteger, TGBridgeMessageAction) { - TGBridgeMessageActionNone = 0, - TGBridgeMessageActionChatEditTitle = 1, - TGBridgeMessageActionChatAddMember = 2, - TGBridgeMessageActionChatDeleteMember = 3, - TGBridgeMessageActionCreateChat = 4, - TGBridgeMessageActionChatEditPhoto = 5, - TGBridgeMessageActionContactRequest = 6, - TGBridgeMessageActionAcceptContactRequest = 7, - TGBridgeMessageActionContactRegistered = 8, - TGBridgeMessageActionUserChangedPhoto = 9, - TGBridgeMessageActionEncryptedChatRequest = 10, - TGBridgeMessageActionEncryptedChatAccept = 11, - TGBridgeMessageActionEncryptedChatDecline = 12, - TGBridgeMessageActionEncryptedChatMessageLifetime = 13, - TGBridgeMessageActionEncryptedChatScreenshot = 14, - TGBridgeMessageActionEncryptedChatMessageScreenshot = 15, - TGBridgeMessageActionCreateBroadcastList = 16, - TGBridgeMessageActionJoinedByLink = 17, - TGBridgeMessageActionChannelCreated = 18, - TGBridgeMessageActionChannelCommentsStatusChanged = 19, - TGBridgeMessageActionChannelInviter = 20, - TGBridgeMessageActionGroupMigratedTo = 21, - TGBridgeMessageActionGroupDeactivated = 22, - TGBridgeMessageActionGroupActivated = 23, - TGBridgeMessageActionChannelMigratedFrom = 24 -}; - -@interface TGBridgeActionMediaAttachment : TGBridgeMediaAttachment - -@property (nonatomic, assign) TGBridgeMessageAction actionType; -@property (nonatomic, strong) NSDictionary *actionData; - -@end diff --git a/submodules/WatchCommon/Watch/Sources/TGBridgeActionMediaAttachment.m b/submodules/WatchCommon/Watch/Sources/TGBridgeActionMediaAttachment.m deleted file mode 100644 index 763cf8a1eb..0000000000 --- a/submodules/WatchCommon/Watch/Sources/TGBridgeActionMediaAttachment.m +++ /dev/null @@ -1,33 +0,0 @@ -#import "TGBridgeActionMediaAttachment.h" -#import "TGBridgeImageMediaAttachment.h" - -const NSInteger TGBridgeActionMediaAttachmentType = 0x1167E28B; - -NSString *const TGBridgeActionMediaTypeKey = @"actionType"; -NSString *const TGBridgeActionMediaDataKey = @"actionData"; - -@implementation TGBridgeActionMediaAttachment - -- (instancetype)initWithCoder:(NSCoder *)aDecoder -{ - self = [super init]; - if (self != nil) - { - _actionType = (TGBridgeMessageAction)[aDecoder decodeInt32ForKey:TGBridgeActionMediaTypeKey]; - _actionData = [aDecoder decodeObjectForKey:TGBridgeActionMediaDataKey]; - } - return self; -} - -- (void)encodeWithCoder:(NSCoder *)aCoder -{ - [aCoder encodeInt32:self.actionType forKey:TGBridgeActionMediaTypeKey]; - [aCoder encodeObject:self.actionData forKey:TGBridgeActionMediaDataKey]; -} - -+ (NSInteger)mediaType -{ - return TGBridgeActionMediaAttachmentType; -} - -@end diff --git a/submodules/WatchCommon/Watch/Sources/TGBridgeAudioMediaAttachment.h b/submodules/WatchCommon/Watch/Sources/TGBridgeAudioMediaAttachment.h deleted file mode 100644 index d6bdcd9716..0000000000 --- a/submodules/WatchCommon/Watch/Sources/TGBridgeAudioMediaAttachment.h +++ /dev/null @@ -1,16 +0,0 @@ -#import - -@interface TGBridgeAudioMediaAttachment : TGBridgeMediaAttachment - -@property (nonatomic, assign) int64_t audioId; -@property (nonatomic, assign) int64_t accessHash; -@property (nonatomic, assign) int32_t datacenterId; - -@property (nonatomic, assign) int64_t localAudioId; - -@property (nonatomic, assign) int32_t duration; -@property (nonatomic, assign) int32_t fileSize; - -- (int64_t)identifier; - -@end diff --git a/submodules/WatchCommon/Watch/Sources/TGBridgeAudioMediaAttachment.m b/submodules/WatchCommon/Watch/Sources/TGBridgeAudioMediaAttachment.m deleted file mode 100644 index 3f4096a897..0000000000 --- a/submodules/WatchCommon/Watch/Sources/TGBridgeAudioMediaAttachment.m +++ /dev/null @@ -1,65 +0,0 @@ -#import "TGBridgeAudioMediaAttachment.h" - -const NSInteger TGBridgeAudioMediaAttachmentType = 0x3A0E7A32; - -NSString *const TGBridgeAudioMediaAudioIdKey = @"audioId"; -NSString *const TGBridgeAudioMediaAccessHashKey = @"accessHash"; -NSString *const TGBridgeAudioMediaLocalIdKey = @"localId"; -NSString *const TGBridgeAudioMediaDatacenterIdKey = @"datacenterId"; -NSString *const TGBridgeAudioMediaDurationKey = @"duration"; -NSString *const TGBridgeAudioMediaFileSizeKey = @"fileSize"; - -@implementation TGBridgeAudioMediaAttachment - -- (instancetype)initWithCoder:(NSCoder *)aDecoder -{ - self = [super init]; - if (self != nil) - { - _audioId = [aDecoder decodeInt64ForKey:TGBridgeAudioMediaAudioIdKey]; - _accessHash = [aDecoder decodeInt64ForKey:TGBridgeAudioMediaAccessHashKey]; - _localAudioId = [aDecoder decodeInt64ForKey:TGBridgeAudioMediaLocalIdKey]; - _datacenterId = [aDecoder decodeInt32ForKey:TGBridgeAudioMediaDatacenterIdKey]; - _duration = [aDecoder decodeInt32ForKey:TGBridgeAudioMediaDurationKey]; - _fileSize = [aDecoder decodeInt32ForKey:TGBridgeAudioMediaFileSizeKey]; - } - return self; -} - -- (void)encodeWithCoder:(nonnull NSCoder *)aCoder -{ - [aCoder encodeInt64:self.audioId forKey:TGBridgeAudioMediaAudioIdKey]; - [aCoder encodeInt64:self.accessHash forKey:TGBridgeAudioMediaAccessHashKey]; - [aCoder encodeInt64:self.localAudioId forKey:TGBridgeAudioMediaLocalIdKey]; - [aCoder encodeInt32:self.datacenterId forKey:TGBridgeAudioMediaDatacenterIdKey]; - [aCoder encodeInt32:self.duration forKey:TGBridgeAudioMediaDurationKey]; - [aCoder encodeInt32:self.fileSize forKey:TGBridgeAudioMediaFileSizeKey]; -} - -- (int64_t)identifier -{ - if (self.localAudioId != 0) - return self.localAudioId; - - return self.audioId; -} - -- (BOOL)isEqual:(id)object -{ - if (object == self) - return YES; - - if (!object || ![object isKindOfClass:[self class]]) - return NO; - - TGBridgeAudioMediaAttachment *audio = (TGBridgeAudioMediaAttachment *)object; - - return (self.audioId == audio.audioId || self.localAudioId == audio.localAudioId); -} - -+ (NSInteger)mediaType -{ - return TGBridgeAudioMediaAttachmentType; -} - -@end diff --git a/submodules/WatchCommon/Watch/Sources/TGBridgeBotCommandInfo.h b/submodules/WatchCommon/Watch/Sources/TGBridgeBotCommandInfo.h deleted file mode 100644 index fe6f72e1a0..0000000000 --- a/submodules/WatchCommon/Watch/Sources/TGBridgeBotCommandInfo.h +++ /dev/null @@ -1,12 +0,0 @@ -#import - -@interface TGBridgeBotCommandInfo : NSObject -{ - NSString *_command; - NSString *_commandDescription; -} - -@property (nonatomic, readonly) NSString *command; -@property (nonatomic, readonly) NSString *commandDescription; - -@end diff --git a/submodules/WatchCommon/Watch/Sources/TGBridgeBotCommandInfo.m b/submodules/WatchCommon/Watch/Sources/TGBridgeBotCommandInfo.m deleted file mode 100644 index 0f1e005861..0000000000 --- a/submodules/WatchCommon/Watch/Sources/TGBridgeBotCommandInfo.m +++ /dev/null @@ -1,25 +0,0 @@ -#import "TGBridgeBotCommandInfo.h" - -NSString *const TGBridgeBotCommandInfoCommandKey = @"command"; -NSString *const TGBridgeBotCommandDescriptionKey = @"commandDescription"; - -@implementation TGBridgeBotCommandInfo - -- (instancetype)initWithCoder:(NSCoder *)aDecoder -{ - self = [super init]; - if (self != nil) - { - _command = [aDecoder decodeObjectForKey:TGBridgeBotCommandInfoCommandKey]; - _commandDescription = [aDecoder decodeObjectForKey:TGBridgeBotCommandDescriptionKey]; - } - return self; -} - -- (void)encodeWithCoder:(NSCoder *)aCoder -{ - [aCoder encodeObject:self.command forKey:TGBridgeBotCommandInfoCommandKey]; - [aCoder encodeObject:self.commandDescription forKey:TGBridgeBotCommandDescriptionKey]; -} - -@end diff --git a/submodules/WatchCommon/Watch/Sources/TGBridgeBotInfo.h b/submodules/WatchCommon/Watch/Sources/TGBridgeBotInfo.h deleted file mode 100644 index 0dafae5cef..0000000000 --- a/submodules/WatchCommon/Watch/Sources/TGBridgeBotInfo.h +++ /dev/null @@ -1,12 +0,0 @@ -#import - -@interface TGBridgeBotInfo : NSObject -{ - NSString *_shortDescription; - NSArray *_commandList; -} - -@property (nonatomic, readonly) NSString *shortDescription; -@property (nonatomic, readonly) NSArray *commandList; - -@end diff --git a/submodules/WatchCommon/Watch/Sources/TGBridgeBotInfo.m b/submodules/WatchCommon/Watch/Sources/TGBridgeBotInfo.m deleted file mode 100644 index 996abb3a95..0000000000 --- a/submodules/WatchCommon/Watch/Sources/TGBridgeBotInfo.m +++ /dev/null @@ -1,25 +0,0 @@ -#import "TGBridgeBotInfo.h" - -NSString *const TGBridgeBotInfoShortDescriptionKey = @"shortDescription"; -NSString *const TGBridgeBotInfoCommandListKey = @"commandList"; - -@implementation TGBridgeBotInfo - -- (instancetype)initWithCoder:(NSCoder *)aDecoder -{ - self = [super init]; - if (self != nil) - { - _shortDescription = [aDecoder decodeObjectForKey:TGBridgeBotInfoShortDescriptionKey]; - _commandList = [aDecoder decodeObjectForKey:TGBridgeBotInfoCommandListKey]; - } - return self; -} - -- (void)encodeWithCoder:(NSCoder *)aCoder -{ - [aCoder encodeObject:self.shortDescription forKey:TGBridgeBotInfoShortDescriptionKey]; - [aCoder encodeObject:self.commandList forKey:TGBridgeBotInfoCommandListKey]; -} - -@end diff --git a/submodules/WatchCommon/Watch/Sources/TGBridgeChat.h b/submodules/WatchCommon/Watch/Sources/TGBridgeChat.h deleted file mode 100644 index d326e18fcf..0000000000 --- a/submodules/WatchCommon/Watch/Sources/TGBridgeChat.h +++ /dev/null @@ -1,46 +0,0 @@ -#import -#import - -@interface TGBridgeChat : NSObject - -@property (nonatomic) int64_t identifier; -@property (nonatomic) NSTimeInterval date; -@property (nonatomic) int32_t fromUid; -@property (nonatomic, strong) NSString *text; - -@property (nonatomic, strong) NSArray *media; - -@property (nonatomic) bool outgoing; -@property (nonatomic) bool unread; -@property (nonatomic) bool deliveryError; -@property (nonatomic) TGBridgeMessageDeliveryState deliveryState; - -@property (nonatomic) int32_t unreadCount; - -@property (nonatomic) bool isBroadcast; - -@property (nonatomic, strong) NSString *groupTitle; -@property (nonatomic, strong) NSString *groupPhotoSmall; -@property (nonatomic, strong) NSString *groupPhotoBig; - -@property (nonatomic) bool isGroup; -@property (nonatomic) bool hasLeftGroup; -@property (nonatomic) bool isKickedFromGroup; - -@property (nonatomic) bool isChannel; -@property (nonatomic) bool isChannelGroup; - -@property (nonatomic, strong) NSString *userName; -@property (nonatomic, strong) NSString *about; -@property (nonatomic) bool verified; - -@property (nonatomic) int32_t participantsCount; -@property (nonatomic, strong) NSArray *participants; - -- (NSIndexSet *)involvedUserIds; -- (NSIndexSet *)participantsUserIds; - -@end - -extern NSString *const TGBridgeChatKey; -extern NSString *const TGBridgeChatsArrayKey; diff --git a/submodules/WatchCommon/Watch/Sources/TGBridgeChat.m b/submodules/WatchCommon/Watch/Sources/TGBridgeChat.m deleted file mode 100644 index 4ea9552f08..0000000000 --- a/submodules/WatchCommon/Watch/Sources/TGBridgeChat.m +++ /dev/null @@ -1,139 +0,0 @@ -#import "TGBridgeChat.h" -#import "TGBridgePeerIdAdapter.h" - -NSString *const TGBridgeChatIdentifierKey = @"identifier"; -NSString *const TGBridgeChatDateKey = @"date"; -NSString *const TGBridgeChatFromUidKey = @"fromUid"; -NSString *const TGBridgeChatTextKey = @"text"; -NSString *const TGBridgeChatOutgoingKey = @"outgoing"; -NSString *const TGBridgeChatUnreadKey = @"unread"; -NSString *const TGBridgeChatMediaKey = @"media"; -NSString *const TGBridgeChatUnreadCountKey = @"unreadCount"; -NSString *const TGBridgeChatGroupTitleKey = @"groupTitle"; -NSString *const TGBridgeChatGroupPhotoSmallKey = @"groupPhotoSmall"; -NSString *const TGBridgeChatGroupPhotoBigKey = @"groupPhotoBig"; -NSString *const TGBridgeChatIsGroupKey = @"isGroup"; -NSString *const TGBridgeChatHasLeftGroupKey = @"hasLeftGroup"; -NSString *const TGBridgeChatIsKickedFromGroupKey = @"isKickedFromGroup"; -NSString *const TGBridgeChatIsChannelKey = @"isChannel"; -NSString *const TGBridgeChatIsChannelGroupKey = @"isChannelGroup"; -NSString *const TGBridgeChatUserNameKey = @"userName"; -NSString *const TGBridgeChatAboutKey = @"about"; -NSString *const TGBridgeChatVerifiedKey = @"verified"; -NSString *const TGBridgeChatGroupParticipantsCountKey = @"participantsCount"; -NSString *const TGBridgeChatGroupParticipantsKey = @"participants"; -NSString *const TGBridgeChatDeliveryStateKey = @"deliveryState"; -NSString *const TGBridgeChatDeliveryErrorKey = @"deliveryError"; - -NSString *const TGBridgeChatKey = @"chat"; -NSString *const TGBridgeChatsArrayKey = @"chats"; - -@implementation TGBridgeChat - -- (instancetype)initWithCoder:(NSCoder *)aDecoder -{ - self = [super init]; - if (self != nil) - { - _identifier = [aDecoder decodeInt64ForKey:TGBridgeChatIdentifierKey]; - _date = [aDecoder decodeDoubleForKey:TGBridgeChatDateKey]; - _fromUid = [aDecoder decodeInt32ForKey:TGBridgeChatFromUidKey]; - _text = [aDecoder decodeObjectForKey:TGBridgeChatTextKey]; - _outgoing = [aDecoder decodeBoolForKey:TGBridgeChatOutgoingKey]; - _unread = [aDecoder decodeBoolForKey:TGBridgeChatUnreadKey]; - _unreadCount = [aDecoder decodeInt32ForKey:TGBridgeChatUnreadCountKey]; - _deliveryState = [aDecoder decodeInt32ForKey:TGBridgeChatDeliveryStateKey]; - _deliveryError = [aDecoder decodeBoolForKey:TGBridgeChatDeliveryErrorKey]; - _media = [aDecoder decodeObjectForKey:TGBridgeChatMediaKey]; - - _groupTitle = [aDecoder decodeObjectForKey:TGBridgeChatGroupTitleKey]; - _groupPhotoSmall = [aDecoder decodeObjectForKey:TGBridgeChatGroupPhotoSmallKey]; - _groupPhotoBig = [aDecoder decodeObjectForKey:TGBridgeChatGroupPhotoBigKey]; - _isGroup = [aDecoder decodeBoolForKey:TGBridgeChatIsGroupKey]; - _hasLeftGroup = [aDecoder decodeBoolForKey:TGBridgeChatHasLeftGroupKey]; - _isKickedFromGroup = [aDecoder decodeBoolForKey:TGBridgeChatIsKickedFromGroupKey]; - _isChannel = [aDecoder decodeBoolForKey:TGBridgeChatIsChannelKey]; - _isChannelGroup = [aDecoder decodeBoolForKey:TGBridgeChatIsChannelGroupKey]; - _userName = [aDecoder decodeObjectForKey:TGBridgeChatUserNameKey]; - _about = [aDecoder decodeObjectForKey:TGBridgeChatAboutKey]; - _verified = [aDecoder decodeBoolForKey:TGBridgeChatVerifiedKey]; - _participantsCount = [aDecoder decodeInt32ForKey:TGBridgeChatGroupParticipantsCountKey]; - _participants = [aDecoder decodeObjectForKey:TGBridgeChatGroupParticipantsKey]; - } - return self; -} - -- (void)encodeWithCoder:(NSCoder *)aCoder -{ - [aCoder encodeInt64:self.identifier forKey:TGBridgeChatIdentifierKey]; - [aCoder encodeDouble:self.date forKey:TGBridgeChatDateKey]; - [aCoder encodeInt32:self.fromUid forKey:TGBridgeChatFromUidKey]; - [aCoder encodeObject:self.text forKey:TGBridgeChatTextKey]; - [aCoder encodeBool:self.outgoing forKey:TGBridgeChatOutgoingKey]; - [aCoder encodeBool:self.unread forKey:TGBridgeChatUnreadKey]; - [aCoder encodeInt32:self.unreadCount forKey:TGBridgeChatUnreadCountKey]; - [aCoder encodeInt32:self.deliveryState forKey:TGBridgeChatDeliveryStateKey]; - [aCoder encodeBool:self.deliveryError forKey:TGBridgeChatDeliveryErrorKey]; - [aCoder encodeObject:self.media forKey:TGBridgeChatMediaKey]; - - [aCoder encodeObject:self.groupTitle forKey:TGBridgeChatGroupTitleKey]; - [aCoder encodeObject:self.groupPhotoSmall forKey:TGBridgeChatGroupPhotoSmallKey]; - [aCoder encodeObject:self.groupPhotoBig forKey:TGBridgeChatGroupPhotoBigKey]; - - [aCoder encodeBool:self.isGroup forKey:TGBridgeChatIsGroupKey]; - [aCoder encodeBool:self.hasLeftGroup forKey:TGBridgeChatHasLeftGroupKey]; - [aCoder encodeBool:self.isKickedFromGroup forKey:TGBridgeChatIsKickedFromGroupKey]; - - [aCoder encodeBool:self.isChannel forKey:TGBridgeChatIsChannelKey]; - [aCoder encodeBool:self.isChannelGroup forKey:TGBridgeChatIsChannelGroupKey]; - [aCoder encodeObject:self.userName forKey:TGBridgeChatUserNameKey]; - [aCoder encodeObject:self.about forKey:TGBridgeChatAboutKey]; - [aCoder encodeBool:self.verified forKey:TGBridgeChatVerifiedKey]; - - [aCoder encodeInt32:self.participantsCount forKey:TGBridgeChatGroupParticipantsCountKey]; - [aCoder encodeObject:self.participants forKey:TGBridgeChatGroupParticipantsKey]; -} - -- (NSIndexSet *)involvedUserIds -{ - NSMutableIndexSet *userIds = [[NSMutableIndexSet alloc] init]; - if (!self.isGroup && !self.isChannel && self.identifier != 0) - [userIds addIndex:(int32_t)self.identifier]; - if ((!self.isChannel || self.isChannelGroup) && self.fromUid != self.identifier && self.fromUid != 0 && !TGPeerIdIsChannel(self.fromUid) && self.fromUid > 0) - [userIds addIndex:(int32_t)self.fromUid]; - - for (TGBridgeMediaAttachment *attachment in self.media) - { - if ([attachment isKindOfClass:[TGBridgeActionMediaAttachment class]]) - { - TGBridgeActionMediaAttachment *actionAttachment = (TGBridgeActionMediaAttachment *)attachment; - if (actionAttachment.actionData[@"uid"] != nil) - [userIds addIndex:[actionAttachment.actionData[@"uid"] integerValue]]; - } - } - - return userIds; -} - -- (NSIndexSet *)participantsUserIds -{ - NSMutableIndexSet *userIds = [[NSMutableIndexSet alloc] init]; - - for (NSNumber *uid in self.participants) - [userIds addIndex:uid.unsignedIntegerValue]; - - return userIds; -} - -- (BOOL)isEqual:(id)object -{ - if (object == self) - return YES; - - if (!object || ![object isKindOfClass:[self class]]) - return NO; - - return self.identifier == ((TGBridgeChat *)object).identifier; -} - -@end diff --git a/submodules/WatchCommon/Watch/Sources/TGBridgeChatMessages.h b/submodules/WatchCommon/Watch/Sources/TGBridgeChatMessages.h deleted file mode 100644 index b185037e4d..0000000000 --- a/submodules/WatchCommon/Watch/Sources/TGBridgeChatMessages.h +++ /dev/null @@ -1,14 +0,0 @@ -#import - -@class SSignal; - -@interface TGBridgeChatMessages : NSObject -{ - NSArray *_messages; -} - -@property (nonatomic, readonly) NSArray *messages; - -@end - -extern NSString *const TGBridgeChatMessageListViewKey; diff --git a/submodules/WatchCommon/Watch/Sources/TGBridgeChatMessages.m b/submodules/WatchCommon/Watch/Sources/TGBridgeChatMessages.m deleted file mode 100644 index c7b64e2c13..0000000000 --- a/submodules/WatchCommon/Watch/Sources/TGBridgeChatMessages.m +++ /dev/null @@ -1,27 +0,0 @@ -#import "TGBridgeChatMessages.h" -#import "TGBridgeMessage.h" - -NSString *const TGBridgeChatMessageListViewMessagesKey = @"messages"; -NSString *const TGBridgeChatMessageListViewEarlierMessageIdKey = @"earlier"; -NSString *const TGBridgeChatMessageListViewLaterMessageIdKey = @"later"; - -NSString *const TGBridgeChatMessageListViewKey = @"messageListView"; - -@implementation TGBridgeChatMessages - -- (instancetype)initWithCoder:(NSCoder *)aDecoder -{ - self = [super init]; - if (self != nil) - { - _messages = [aDecoder decodeObjectForKey:TGBridgeChatMessageListViewMessagesKey]; - } - return self; -} - -- (void)encodeWithCoder:(NSCoder *)aCoder -{ - [aCoder encodeObject:self.messages forKey:TGBridgeChatMessageListViewMessagesKey]; -} - -@end diff --git a/submodules/WatchCommon/Watch/Sources/TGBridgeCommon.h b/submodules/WatchCommon/Watch/Sources/TGBridgeCommon.h deleted file mode 100644 index fe0510c041..0000000000 --- a/submodules/WatchCommon/Watch/Sources/TGBridgeCommon.h +++ /dev/null @@ -1,95 +0,0 @@ -#import - -extern NSString *const TGBridgeIncomingFileTypeKey; -extern NSString *const TGBridgeIncomingFileIdentifierKey; -extern NSString *const TGBridgeIncomingFileRandomIdKey; -extern NSString *const TGBridgeIncomingFilePeerIdKey; -extern NSString *const TGBridgeIncomingFileReplyToMidKey; - -extern NSString *const TGBridgeIncomingFileTypeAudio; -extern NSString *const TGBridgeIncomingFileTypeImage; - -@interface TGBridgeSubscription : NSObject - -@property (nonatomic, readonly) int64_t identifier; -@property (nonatomic, readonly, strong) NSString *name; - -@property (nonatomic, readonly) bool isOneTime; -@property (nonatomic, readonly) bool renewable; -@property (nonatomic, readonly) bool dropPreviouslyQueued; -@property (nonatomic, readonly) bool synchronous; - -- (void)_serializeParametersWithCoder:(NSCoder *)aCoder; -- (void)_unserializeParametersWithCoder:(NSCoder *)aDecoder; - -+ (NSString *)subscriptionName; - -@end - - -@interface TGBridgeDisposal : NSObject - -@property (nonatomic, readonly) int64_t identifier; - -- (instancetype)initWithIdentifier:(int64_t)identifier; - -@end - - -@interface TGBridgeFile : NSObject - -@property (nonatomic, readonly, strong) NSData *data; -@property (nonatomic, readonly, strong) NSDictionary *metadata; - -- (instancetype)initWithData:(NSData *)data metadata:(NSDictionary *)metadata; - -@end - - -@interface TGBridgePing : NSObject - -@property (nonatomic, readonly) int32_t sessionId; - -- (instancetype)initWithSessionId:(int32_t)sessionId; - -@end - - -@interface TGBridgeSubscriptionListRequest : NSObject - -@property (nonatomic, readonly) int32_t sessionId; - -- (instancetype)initWithSessionId:(int32_t)sessionId; - -@end - - -@interface TGBridgeSubscriptionList : NSObject - -@property (nonatomic, readonly, strong) NSArray *subscriptions; - -- (instancetype)initWithArray:(NSArray *)array; - -@end - - -typedef NS_ENUM(int32_t, TGBridgeResponseType) { - TGBridgeResponseTypeUndefined, - TGBridgeResponseTypeNext, - TGBridgeResponseTypeFailed, - TGBridgeResponseTypeCompleted -}; - -@interface TGBridgeResponse : NSObject - -@property (nonatomic, readonly) int64_t subscriptionIdentifier; - -@property (nonatomic, readonly) TGBridgeResponseType type; -@property (nonatomic, readonly, strong) id next; -@property (nonatomic, readonly, strong) NSString *error; - -+ (TGBridgeResponse *)single:(id)next forSubscription:(TGBridgeSubscription *)subscription; -+ (TGBridgeResponse *)fail:(id)error forSubscription:(TGBridgeSubscription *)subscription; -+ (TGBridgeResponse *)completeForSubscription:(TGBridgeSubscription *)subscription; - -@end diff --git a/submodules/WatchCommon/Watch/Sources/TGBridgeCommon.m b/submodules/WatchCommon/Watch/Sources/TGBridgeCommon.m deleted file mode 100644 index ae0cf5300b..0000000000 --- a/submodules/WatchCommon/Watch/Sources/TGBridgeCommon.m +++ /dev/null @@ -1,295 +0,0 @@ -#import "TGBridgeCommon.h" - -NSString *const TGBridgeIncomingFileTypeKey = @"type"; -NSString *const TGBridgeIncomingFileIdentifierKey = @"identifier"; -NSString *const TGBridgeIncomingFileRandomIdKey = @"randomId"; -NSString *const TGBridgeIncomingFilePeerIdKey = @"peerId"; -NSString *const TGBridgeIncomingFileReplyToMidKey = @"replyToMid"; -NSString *const TGBridgeIncomingFileTypeAudio = @"audio"; -NSString *const TGBridgeIncomingFileTypeImage = @"image"; - -NSString *const TGBridgeResponseSubscriptionIdentifier = @"identifier"; -NSString *const TGBridgeResponseTypeKey = @"type"; -NSString *const TGBridgeResponseNextKey = @"next"; -NSString *const TGBridgeResponseErrorKey = @"error"; - -@implementation TGBridgeResponse - -- (instancetype)initWithCoder:(NSCoder *)aDecoder -{ - self = [super init]; - if (self != nil) - { - _subscriptionIdentifier = [aDecoder decodeInt64ForKey:TGBridgeResponseSubscriptionIdentifier]; - _type = [aDecoder decodeInt32ForKey:TGBridgeResponseTypeKey]; - _next = [aDecoder decodeObjectForKey:TGBridgeResponseNextKey]; - _error = [aDecoder decodeObjectForKey:TGBridgeResponseErrorKey]; - } - return self; -} - -- (void)encodeWithCoder:(NSCoder *)aCoder -{ - [aCoder encodeInt64:self.subscriptionIdentifier forKey:TGBridgeResponseSubscriptionIdentifier]; - [aCoder encodeInt32:self.type forKey:TGBridgeResponseTypeKey]; - [aCoder encodeObject:self.next forKey:TGBridgeResponseNextKey]; - [aCoder encodeObject:self.error forKey:TGBridgeResponseErrorKey]; -} - -+ (TGBridgeResponse *)single:(id)next forSubscription:(TGBridgeSubscription *)subscription -{ - TGBridgeResponse *response = [[TGBridgeResponse alloc] init]; - response->_subscriptionIdentifier = subscription.identifier; - response->_type = TGBridgeResponseTypeNext; - response->_next = next; - return response; -} - -+ (TGBridgeResponse *)fail:(id)error forSubscription:(TGBridgeSubscription *)subscription -{ - TGBridgeResponse *response = [[TGBridgeResponse alloc] init]; - response->_subscriptionIdentifier = subscription.identifier; - response->_type = TGBridgeResponseTypeFailed; - response->_error = error; - return response; -} - -+ (TGBridgeResponse *)completeForSubscription:(TGBridgeSubscription *)subscription -{ - TGBridgeResponse *response = [[TGBridgeResponse alloc] init]; - response->_subscriptionIdentifier = subscription.identifier; - response->_type = TGBridgeResponseTypeCompleted; - return response; -} - -@end - - -NSString *const TGBridgeSubscriptionIdentifierKey = @"identifier"; -NSString *const TGBridgeSubscriptionNameKey = @"name"; -NSString *const TGBridgeSubscriptionParametersKey = @"parameters"; - -@implementation TGBridgeSubscription - -- (instancetype)init -{ - self = [super init]; - if (self != nil) - { - int64_t randomId = 0; - arc4random_buf(&randomId, sizeof(int64_t)); - _identifier = randomId; - _name = [[self class] subscriptionName]; - } - return self; -} - -- (instancetype)initWithCoder:(NSCoder *)aDecoder -{ - self = [super init]; - if (self != nil) - { - _identifier = [aDecoder decodeInt64ForKey:TGBridgeSubscriptionIdentifierKey]; - _name = [aDecoder decodeObjectForKey:TGBridgeSubscriptionNameKey]; - [self _unserializeParametersWithCoder:aDecoder]; - } - return self; -} - -- (bool)synchronous -{ - return false; -} - -- (bool)renewable -{ - return true; -} - -- (bool)dropPreviouslyQueued -{ - return false; -} - -- (void)_serializeParametersWithCoder:(NSCoder *)__unused aCoder -{ - -} - -- (void)_unserializeParametersWithCoder:(NSCoder *)__unused aDecoder -{ - -} - -- (void)encodeWithCoder:(NSCoder *)aCoder -{ - [aCoder encodeInt64:self.identifier forKey:TGBridgeSubscriptionIdentifierKey]; - [aCoder encodeObject:self.name forKey:TGBridgeSubscriptionNameKey]; - [self _serializeParametersWithCoder:aCoder]; -} - -+ (NSString *)subscriptionName -{ - return nil; -} - -@end - - -@implementation TGBridgeDisposal - -- (instancetype)initWithIdentifier:(int64_t)identifier -{ - self = [super init]; - if (self != nil) - { - _identifier = identifier; - } - return self; -} - -- (instancetype)initWithCoder:(NSCoder *)aDecoder -{ - self = [super init]; - if (self != nil) - { - _identifier = [aDecoder decodeInt64ForKey:TGBridgeSubscriptionIdentifierKey]; - } - return self; -} - -- (void)encodeWithCoder:(NSCoder *)aCoder -{ - [aCoder encodeInt64:self.identifier forKey:TGBridgeSubscriptionIdentifierKey]; -} - -@end - -NSString *const TGBridgeFileDataKey = @"data"; -NSString *const TGBridgeFileMetadataKey = @"metadata"; - -@implementation TGBridgeFile - -- (instancetype)initWithData:(NSData *)data metadata:(NSDictionary *)metadata -{ - self = [super init]; - if (self != nil) - { - _data = data; - _metadata = metadata; - } - return self; -} - -- (instancetype)initWithCoder:(NSCoder *)aDecoder -{ - self = [super init]; - if (self != nil) - { - _data = [aDecoder decodeObjectForKey:TGBridgeFileDataKey]; - _metadata = [aDecoder decodeObjectForKey:TGBridgeFileMetadataKey]; - } - return self; -} - -- (void)encodeWithCoder:(NSCoder *)aCoder -{ - [aCoder encodeObject:self.data forKey:TGBridgeFileDataKey]; - [aCoder encodeObject:self.metadata forKey:TGBridgeFileMetadataKey]; -} - -@end - - -NSString *const TGBridgeSessionIdKey = @"sessionId"; - -@implementation TGBridgePing - -- (instancetype)initWithSessionId:(int32_t)sessionId -{ - self = [super init]; - if (self != nil) - { - _sessionId = sessionId; - } - return self; -} - -- (instancetype)initWithCoder:(NSCoder *)aDecoder -{ - self = [super init]; - if (self != nil) - { - _sessionId = [aDecoder decodeInt32ForKey:TGBridgeSessionIdKey]; - } - return self; -} - -- (void)encodeWithCoder:(NSCoder *)aCoder -{ - [aCoder encodeInt32:self.sessionId forKey:TGBridgeSessionIdKey]; -} - -@end - - -@implementation TGBridgeSubscriptionListRequest - -- (instancetype)initWithSessionId:(int32_t)sessionId -{ - self = [super init]; - if (self != nil) - { - _sessionId = sessionId; - } - return self; -} - -- (instancetype)initWithCoder:(NSCoder *)aDecoder -{ - self = [super init]; - if (self != nil) - { - _sessionId = [aDecoder decodeInt32ForKey:TGBridgeSessionIdKey]; - } - return self; -} - -- (void)encodeWithCoder:(NSCoder *)aCoder -{ - [aCoder encodeInt32:self.sessionId forKey:TGBridgeSessionIdKey]; -} - -@end - - -NSString *const TGBridgeSubscriptionListSubscriptionsKey = @"subscriptions"; - -@implementation TGBridgeSubscriptionList - -- (instancetype)initWithArray:(NSArray *)array -{ - self = [super init]; - if (self != nil) - { - _subscriptions = array; - } - return self; -} - -- (instancetype)initWithCoder:(NSCoder *)aDecoder -{ - self = [super init]; - if (self != nil) - { - _subscriptions = [aDecoder decodeObjectForKey:TGBridgeSubscriptionListSubscriptionsKey]; - } - return self; -} - -- (void)encodeWithCoder:(NSCoder *)aCoder -{ - [aCoder encodeObject:self.subscriptions forKey:TGBridgeSubscriptionListSubscriptionsKey]; -} - -@end diff --git a/submodules/WatchCommon/Watch/Sources/TGBridgeContactMediaAttachment.h b/submodules/WatchCommon/Watch/Sources/TGBridgeContactMediaAttachment.h deleted file mode 100644 index a8531272d8..0000000000 --- a/submodules/WatchCommon/Watch/Sources/TGBridgeContactMediaAttachment.h +++ /dev/null @@ -1,13 +0,0 @@ -#import - -@interface TGBridgeContactMediaAttachment : TGBridgeMediaAttachment - -@property (nonatomic, assign) int32_t uid; -@property (nonatomic, strong) NSString *firstName; -@property (nonatomic, strong) NSString *lastName; -@property (nonatomic, strong) NSString *phoneNumber; -@property (nonatomic, strong) NSString *prettyPhoneNumber; - -- (NSString *)displayName; - -@end diff --git a/submodules/WatchCommon/Watch/Sources/TGBridgeContactMediaAttachment.m b/submodules/WatchCommon/Watch/Sources/TGBridgeContactMediaAttachment.m deleted file mode 100644 index 4b2f482eaa..0000000000 --- a/submodules/WatchCommon/Watch/Sources/TGBridgeContactMediaAttachment.m +++ /dev/null @@ -1,60 +0,0 @@ -#import "TGBridgeContactMediaAttachment.h" - -//#import "../Extension/TGStringUtils.h" - -const NSInteger TGBridgeContactMediaAttachmentType = 0xB90A5663; - -NSString *const TGBridgeContactMediaUidKey = @"uid"; -NSString *const TGBridgeContactMediaFirstNameKey = @"firstName"; -NSString *const TGBridgeContactMediaLastNameKey = @"lastName"; -NSString *const TGBridgeContactMediaPhoneNumberKey = @"phoneNumber"; -NSString *const TGBridgeContactMediaPrettyPhoneNumberKey = @"prettyPhoneNumber"; - -@implementation TGBridgeContactMediaAttachment - -- (instancetype)initWithCoder:(NSCoder *)aDecoder -{ - self = [super init]; - if (self != nil) - { - _uid = [aDecoder decodeInt32ForKey:TGBridgeContactMediaUidKey]; - _firstName = [aDecoder decodeObjectForKey:TGBridgeContactMediaFirstNameKey]; - _lastName = [aDecoder decodeObjectForKey:TGBridgeContactMediaLastNameKey]; - _phoneNumber = [aDecoder decodeObjectForKey:TGBridgeContactMediaPhoneNumberKey]; - _prettyPhoneNumber = [aDecoder decodeObjectForKey:TGBridgeContactMediaPrettyPhoneNumberKey]; - } - return self; -} - -- (void)encodeWithCoder:(NSCoder *)aCoder -{ - [aCoder encodeInt32:self.uid forKey:TGBridgeContactMediaUidKey]; - [aCoder encodeObject:self.firstName forKey:TGBridgeContactMediaFirstNameKey]; - [aCoder encodeObject:self.lastName forKey:TGBridgeContactMediaLastNameKey]; - [aCoder encodeObject:self.phoneNumber forKey:TGBridgeContactMediaPhoneNumberKey]; - [aCoder encodeObject:self.prettyPhoneNumber forKey:TGBridgeContactMediaPrettyPhoneNumberKey]; -} - -- (NSString *)displayName -{ - NSString *firstName = self.firstName; - NSString *lastName = self.lastName; - - if (firstName != nil && firstName.length != 0 && lastName != nil && lastName.length != 0) - { - return [[NSString alloc] initWithFormat:@"%@ %@", firstName, lastName]; - } - else if (firstName != nil && firstName.length != 0) - return firstName; - else if (lastName != nil && lastName.length != 0) - return lastName; - - return @""; -} - -+ (NSInteger)mediaType -{ - return TGBridgeContactMediaAttachmentType; -} - -@end diff --git a/submodules/WatchCommon/Watch/Sources/TGBridgeContext.h b/submodules/WatchCommon/Watch/Sources/TGBridgeContext.h deleted file mode 100644 index 45225a04f6..0000000000 --- a/submodules/WatchCommon/Watch/Sources/TGBridgeContext.h +++ /dev/null @@ -1,18 +0,0 @@ -#import - -@interface TGBridgeContext : NSObject - -@property (nonatomic, readonly) bool authorized; -@property (nonatomic, readonly) int32_t userId; -@property (nonatomic, readonly) bool micAccessAllowed; -@property (nonatomic, readonly) NSDictionary *preheatData; -@property (nonatomic, readonly) NSInteger preheatVersion; - -- (instancetype)initWithDictionary:(NSDictionary *)dictionary; -- (NSDictionary *)dictionary; - -- (TGBridgeContext *)updatedWithAuthorized:(bool)authorized peerId:(int32_t)peerId; -- (TGBridgeContext *)updatedWithPreheatData:(NSDictionary *)data; -- (TGBridgeContext *)updatedWithMicAccessAllowed:(bool)allowed; - -@end diff --git a/submodules/WatchCommon/Watch/Sources/TGBridgeContext.m b/submodules/WatchCommon/Watch/Sources/TGBridgeContext.m deleted file mode 100644 index 4b0600e2fc..0000000000 --- a/submodules/WatchCommon/Watch/Sources/TGBridgeContext.m +++ /dev/null @@ -1,101 +0,0 @@ -#import "TGBridgeContext.h" -#import "TGBridgeCommon.h" -//#import "TGWatchCommon.h" - -NSString *const TGBridgeContextAuthorized = @"authorized"; -NSString *const TGBridgeContextUserId = @"userId"; -NSString *const TGBridgeContextMicAccessAllowed = @"micAccessAllowed"; -NSString *const TGBridgeContextStartupData = @"startupData"; -NSString *const TGBridgeContextStartupDataVersion = @"version"; - -@implementation TGBridgeContext - -- (instancetype)initWithDictionary:(NSDictionary *)dictionary -{ - self = [super init]; - if (self != nil) - { - _authorized = [dictionary[TGBridgeContextAuthorized] boolValue]; - _userId = (int32_t)[dictionary[TGBridgeContextUserId] intValue]; - _micAccessAllowed = [dictionary[TGBridgeContextMicAccessAllowed] boolValue]; - - if (dictionary[TGBridgeContextStartupData] != nil) { - _preheatData = [NSKeyedUnarchiver unarchiveObjectWithData:dictionary[TGBridgeContextStartupData]]; - _preheatVersion = [dictionary[TGBridgeContextStartupDataVersion] integerValue]; - } - } - return self; -} - -- (NSDictionary *)dictionary -{ - NSMutableDictionary *dictionary = [[NSMutableDictionary alloc] init]; - dictionary[TGBridgeContextAuthorized] = @(self.authorized); - dictionary[TGBridgeContextUserId] = @(self.userId); - dictionary[TGBridgeContextMicAccessAllowed] = @(self.micAccessAllowed); - if (self.preheatData != nil) { - dictionary[TGBridgeContextStartupData] = [NSKeyedArchiver archivedDataWithRootObject:self.preheatData]; - dictionary[TGBridgeContextStartupDataVersion] = @(self.preheatVersion); - } - return dictionary; -} - -- (TGBridgeContext *)updatedWithAuthorized:(bool)authorized peerId:(int32_t)peerId -{ - TGBridgeContext *context = [[TGBridgeContext alloc] init]; - context->_authorized = authorized; - context->_userId = peerId; - context->_micAccessAllowed = self.micAccessAllowed; - if (authorized) { - context->_preheatData = self.preheatData; - context->_preheatVersion = self.preheatVersion; - } - return context; -} - -- (TGBridgeContext *)updatedWithPreheatData:(NSDictionary *)data -{ - TGBridgeContext *context = [[TGBridgeContext alloc] init]; - context->_authorized = self.authorized; - context->_userId = self.userId; - context->_micAccessAllowed = self.micAccessAllowed; - if (data != nil) { - context->_preheatData = data; - context->_preheatVersion = (int32_t)[NSDate date].timeIntervalSinceReferenceDate; - } - return context; -} - -- (TGBridgeContext *)updatedWithMicAccessAllowed:(bool)allowed -{ - TGBridgeContext *context = [[TGBridgeContext alloc] init]; - context->_authorized = self.authorized; - context->_userId = self.userId; - context->_micAccessAllowed = allowed; - context->_preheatData = self.preheatData; - context->_preheatVersion = self.preheatVersion; - return context; -} - -- (BOOL)isEqual:(id)object -{ - if (object == self) - return true; - - if (!object || ![object isKindOfClass:[self class]]) - return false; - - TGBridgeContext *context = (TGBridgeContext *)object; - if (context.authorized != self.authorized) - return false; - if (context.userId != self.userId) - return false; - if (context.micAccessAllowed != self.micAccessAllowed) - return false; - if (context.preheatVersion != self.preheatVersion) - return false; - - return true; -} - -@end diff --git a/submodules/WatchCommon/Watch/Sources/TGBridgeDocumentMediaAttachment.h b/submodules/WatchCommon/Watch/Sources/TGBridgeDocumentMediaAttachment.h deleted file mode 100644 index da96a2ba22..0000000000 --- a/submodules/WatchCommon/Watch/Sources/TGBridgeDocumentMediaAttachment.h +++ /dev/null @@ -1,23 +0,0 @@ -#import - -@interface TGBridgeDocumentMediaAttachment : TGBridgeMediaAttachment - -@property (nonatomic, assign) int64_t documentId; -@property (nonatomic, assign) int64_t localDocumentId; -@property (nonatomic, assign) int32_t fileSize; - -@property (nonatomic, strong) NSString *fileName; -@property (nonatomic, strong) NSValue *imageSize; -@property (nonatomic, assign) bool isAnimated; -@property (nonatomic, assign) bool isSticker; -@property (nonatomic, strong) NSString *stickerAlt; -@property (nonatomic, assign) int64_t stickerPackId; -@property (nonatomic, assign) int64_t stickerPackAccessHash; - -@property (nonatomic, assign) bool isVoice; -@property (nonatomic, assign) bool isAudio; -@property (nonatomic, strong) NSString *title; -@property (nonatomic, strong) NSString *performer; -@property (nonatomic, assign) int32_t duration; - -@end diff --git a/submodules/WatchCommon/Watch/Sources/TGBridgeDocumentMediaAttachment.m b/submodules/WatchCommon/Watch/Sources/TGBridgeDocumentMediaAttachment.m deleted file mode 100644 index 8d492ae704..0000000000 --- a/submodules/WatchCommon/Watch/Sources/TGBridgeDocumentMediaAttachment.m +++ /dev/null @@ -1,84 +0,0 @@ -#import "TGBridgeDocumentMediaAttachment.h" - -const NSInteger TGBridgeDocumentMediaAttachmentType = 0xE6C64318; - -NSString *const TGBridgeDocumentMediaDocumentIdKey = @"documentId"; -NSString *const TGBridgeDocumentMediaLocalDocumentIdKey = @"localDocumentId"; -NSString *const TGBridgeDocumentMediaFileSizeKey = @"fileSize"; -NSString *const TGBridgeDocumentMediaFileNameKey = @"fileName"; -NSString *const TGBridgeDocumentMediaImageSizeKey = @"imageSize"; -NSString *const TGBridgeDocumentMediaAnimatedKey = @"animated"; -NSString *const TGBridgeDocumentMediaStickerKey = @"sticker"; -NSString *const TGBridgeDocumentMediaStickerAltKey = @"stickerAlt"; -NSString *const TGBridgeDocumentMediaStickerPackIdKey = @"stickerPackId"; -NSString *const TGBridgeDocumentMediaStickerPackAccessHashKey = @"stickerPackAccessHash"; -NSString *const TGBridgeDocumentMediaAudioKey = @"audio"; -NSString *const TGBridgeDocumentMediaAudioTitleKey = @"title"; -NSString *const TGBridgeDocumentMediaAudioPerformerKey = @"performer"; -NSString *const TGBridgeDocumentMediaAudioVoice = @"voice"; -NSString *const TGBridgeDocumentMediaAudioDuration = @"duration"; - -@implementation TGBridgeDocumentMediaAttachment - -- (instancetype)initWithCoder:(NSCoder *)aDecoder -{ - self = [super init]; - if (self != nil) - { - _documentId = [aDecoder decodeInt64ForKey:TGBridgeDocumentMediaDocumentIdKey]; - _localDocumentId = [aDecoder decodeInt64ForKey:TGBridgeDocumentMediaLocalDocumentIdKey]; - _fileSize = [aDecoder decodeInt32ForKey:TGBridgeDocumentMediaFileSizeKey]; - _fileName = [aDecoder decodeObjectForKey:TGBridgeDocumentMediaFileNameKey]; - _imageSize = [aDecoder decodeObjectForKey:TGBridgeDocumentMediaImageSizeKey]; - _isAnimated = [aDecoder decodeBoolForKey:TGBridgeDocumentMediaAnimatedKey]; - _isSticker = [aDecoder decodeBoolForKey:TGBridgeDocumentMediaStickerKey]; - _stickerAlt = [aDecoder decodeObjectForKey:TGBridgeDocumentMediaStickerAltKey]; - _stickerPackId = [aDecoder decodeInt64ForKey:TGBridgeDocumentMediaStickerPackIdKey]; - _stickerPackAccessHash = [aDecoder decodeInt64ForKey:TGBridgeDocumentMediaStickerPackAccessHashKey]; - _isAudio = [aDecoder decodeBoolForKey:TGBridgeDocumentMediaAudioKey]; - _title = [aDecoder decodeObjectForKey:TGBridgeDocumentMediaAudioTitleKey]; - _performer = [aDecoder decodeObjectForKey:TGBridgeDocumentMediaAudioPerformerKey]; - _isVoice = [aDecoder decodeBoolForKey:TGBridgeDocumentMediaAudioVoice]; - _duration = [aDecoder decodeInt32ForKey:TGBridgeDocumentMediaAudioDuration]; - } - return self; -} - -- (void)encodeWithCoder:(NSCoder *)aCoder -{ - [aCoder encodeInt64:self.documentId forKey:TGBridgeDocumentMediaDocumentIdKey]; - [aCoder encodeInt64:self.localDocumentId forKey:TGBridgeDocumentMediaLocalDocumentIdKey]; - [aCoder encodeInt32:self.fileSize forKey:TGBridgeDocumentMediaFileSizeKey]; - [aCoder encodeObject:self.fileName forKey:TGBridgeDocumentMediaFileNameKey]; - [aCoder encodeObject:self.imageSize forKey:TGBridgeDocumentMediaImageSizeKey]; - [aCoder encodeBool:self.isAnimated forKey:TGBridgeDocumentMediaAnimatedKey]; - [aCoder encodeBool:self.isSticker forKey:TGBridgeDocumentMediaStickerKey]; - [aCoder encodeObject:self.stickerAlt forKey:TGBridgeDocumentMediaStickerAltKey]; - [aCoder encodeInt64:self.stickerPackId forKey:TGBridgeDocumentMediaStickerPackIdKey]; - [aCoder encodeInt64:self.stickerPackAccessHash forKey:TGBridgeDocumentMediaStickerPackAccessHashKey]; - [aCoder encodeBool:self.isAudio forKey:TGBridgeDocumentMediaAudioKey]; - [aCoder encodeObject:self.title forKey:TGBridgeDocumentMediaAudioTitleKey]; - [aCoder encodeObject:self.performer forKey:TGBridgeDocumentMediaAudioPerformerKey]; - [aCoder encodeBool:self.isVoice forKey:TGBridgeDocumentMediaAudioVoice]; - [aCoder encodeInt32:self.duration forKey:TGBridgeDocumentMediaAudioDuration]; -} - -- (BOOL)isEqual:(id)object -{ - if (object == self) - return YES; - - if (!object || ![object isKindOfClass:[self class]]) - return NO; - - TGBridgeDocumentMediaAttachment *document = (TGBridgeDocumentMediaAttachment *)object; - - return (self.localDocumentId == 0 && self.documentId == document.documentId) || (self.localDocumentId != 0 && self.localDocumentId == document.localDocumentId); -} - -+ (NSInteger)mediaType -{ - return TGBridgeDocumentMediaAttachmentType; -} - -@end diff --git a/submodules/WatchCommon/Watch/Sources/TGBridgeForwardedMessageMediaAttachment.h b/submodules/WatchCommon/Watch/Sources/TGBridgeForwardedMessageMediaAttachment.h deleted file mode 100644 index 7077334864..0000000000 --- a/submodules/WatchCommon/Watch/Sources/TGBridgeForwardedMessageMediaAttachment.h +++ /dev/null @@ -1,9 +0,0 @@ -#import - -@interface TGBridgeForwardedMessageMediaAttachment : TGBridgeMediaAttachment - -@property (nonatomic, assign) int64_t peerId; -@property (nonatomic, assign) int32_t mid; -@property (nonatomic, assign) int32_t date; - -@end diff --git a/submodules/WatchCommon/Watch/Sources/TGBridgeForwardedMessageMediaAttachment.m b/submodules/WatchCommon/Watch/Sources/TGBridgeForwardedMessageMediaAttachment.m deleted file mode 100644 index 169e261cff..0000000000 --- a/submodules/WatchCommon/Watch/Sources/TGBridgeForwardedMessageMediaAttachment.m +++ /dev/null @@ -1,35 +0,0 @@ -#import "TGBridgeForwardedMessageMediaAttachment.h" - -const NSInteger TGBridgeForwardedMessageMediaAttachmentType = 0xAA1050C1; - -NSString *const TGBridgeForwardedMessageMediaPeerIdKey = @"peerId"; -NSString *const TGBridgeForwardedMessageMediaMidKey = @"mid"; -NSString *const TGBridgeForwardedMessageMediaDateKey = @"date"; - -@implementation TGBridgeForwardedMessageMediaAttachment - -- (nullable instancetype)initWithCoder:(nonnull NSCoder *)aDecoder -{ - self = [super init]; - if (self != nil) - { - _peerId = [aDecoder decodeInt64ForKey:TGBridgeForwardedMessageMediaPeerIdKey]; - _mid = [aDecoder decodeInt32ForKey:TGBridgeForwardedMessageMediaMidKey]; - _date = [aDecoder decodeInt32ForKey:TGBridgeForwardedMessageMediaDateKey]; - } - return self; -} - -- (void)encodeWithCoder:(NSCoder *)aCoder -{ - [aCoder encodeInt64:self.peerId forKey:TGBridgeForwardedMessageMediaPeerIdKey]; - [aCoder encodeInt32:self.mid forKey:TGBridgeForwardedMessageMediaMidKey]; - [aCoder encodeInt32:self.date forKey:TGBridgeForwardedMessageMediaDateKey]; -} - -+ (NSInteger)mediaType -{ - return TGBridgeForwardedMessageMediaAttachmentType; -} - -@end diff --git a/submodules/WatchCommon/Watch/Sources/TGBridgeImageMediaAttachment.h b/submodules/WatchCommon/Watch/Sources/TGBridgeImageMediaAttachment.h deleted file mode 100644 index 2a428dc15a..0000000000 --- a/submodules/WatchCommon/Watch/Sources/TGBridgeImageMediaAttachment.h +++ /dev/null @@ -1,10 +0,0 @@ -#import - -#import - -@interface TGBridgeImageMediaAttachment : TGBridgeMediaAttachment - -@property (nonatomic, assign) int64_t imageId; -@property (nonatomic, assign) CGSize dimensions; - -@end diff --git a/submodules/WatchCommon/Watch/Sources/TGBridgeImageMediaAttachment.m b/submodules/WatchCommon/Watch/Sources/TGBridgeImageMediaAttachment.m deleted file mode 100644 index 8ab5ec7044..0000000000 --- a/submodules/WatchCommon/Watch/Sources/TGBridgeImageMediaAttachment.m +++ /dev/null @@ -1,33 +0,0 @@ -#import "TGBridgeImageMediaAttachment.h" -#import - -const NSInteger TGBridgeImageMediaAttachmentType = 0x269BD8A8; - -NSString *const TGBridgeImageMediaImageIdKey = @"imageId"; -NSString *const TGBridgeImageMediaDimensionsKey = @"dimensions"; - -@implementation TGBridgeImageMediaAttachment - -- (instancetype)initWithCoder:(NSCoder *)aDecoder -{ - self = [super init]; - if (self != nil) - { - _imageId = [aDecoder decodeInt64ForKey:TGBridgeImageMediaImageIdKey]; - _dimensions = [aDecoder decodeCGSizeForKey:TGBridgeImageMediaDimensionsKey]; - } - return self; -} - -- (void)encodeWithCoder:(NSCoder *)aCoder -{ - [aCoder encodeInt64:self.imageId forKey:TGBridgeImageMediaImageIdKey]; - [aCoder encodeCGSize:self.dimensions forKey:TGBridgeImageMediaDimensionsKey]; -} - -+ (NSInteger)mediaType -{ - return TGBridgeImageMediaAttachmentType; -} - -@end diff --git a/submodules/WatchCommon/Watch/Sources/TGBridgeLocationMediaAttachment.h b/submodules/WatchCommon/Watch/Sources/TGBridgeLocationMediaAttachment.h deleted file mode 100644 index bba943c11c..0000000000 --- a/submodules/WatchCommon/Watch/Sources/TGBridgeLocationMediaAttachment.h +++ /dev/null @@ -1,19 +0,0 @@ -#import - -@interface TGBridgeVenueAttachment : NSObject - -@property (nonatomic, strong) NSString *title; -@property (nonatomic, strong) NSString *address; -@property (nonatomic, strong) NSString *provider; -@property (nonatomic, strong) NSString *venueId; - -@end - -@interface TGBridgeLocationMediaAttachment : TGBridgeMediaAttachment - -@property (nonatomic, assign) double latitude; -@property (nonatomic, assign) double longitude; - -@property (nonatomic, strong) TGBridgeVenueAttachment *venue; - -@end diff --git a/submodules/WatchCommon/Watch/Sources/TGBridgeLocationMediaAttachment.m b/submodules/WatchCommon/Watch/Sources/TGBridgeLocationMediaAttachment.m deleted file mode 100644 index f6762eb549..0000000000 --- a/submodules/WatchCommon/Watch/Sources/TGBridgeLocationMediaAttachment.m +++ /dev/null @@ -1,95 +0,0 @@ -#import "TGBridgeLocationMediaAttachment.h" - -const NSInteger TGBridgeLocationMediaAttachmentType = 0x0C9ED06E; - -NSString *const TGBridgeLocationMediaLatitudeKey = @"lat"; -NSString *const TGBridgeLocationMediaLongitudeKey = @"lon"; -NSString *const TGBridgeLocationMediaVenueKey = @"venue"; - -NSString *const TGBridgeVenueTitleKey = @"title"; -NSString *const TGBridgeVenueAddressKey = @"address"; -NSString *const TGBridgeVenueProviderKey = @"provider"; -NSString *const TGBridgeVenueIdKey = @"venueId"; - -@implementation TGBridgeVenueAttachment - -- (instancetype)initWithCoder:(NSCoder *)aDecoder -{ - self = [super init]; - if (self != nil) - { - _title = [aDecoder decodeObjectForKey:TGBridgeVenueTitleKey]; - _address = [aDecoder decodeObjectForKey:TGBridgeVenueAddressKey]; - _provider = [aDecoder decodeObjectForKey:TGBridgeVenueProviderKey]; - _venueId = [aDecoder decodeObjectForKey:TGBridgeVenueIdKey]; - } - return self; -} - -- (void)encodeWithCoder:(NSCoder *)aCoder -{ - [aCoder encodeObject:self.title forKey:TGBridgeVenueTitleKey]; - [aCoder encodeObject:self.address forKey:TGBridgeVenueAddressKey]; - [aCoder encodeObject:self.provider forKey:TGBridgeVenueProviderKey]; - [aCoder encodeObject:self.venueId forKey:TGBridgeVenueIdKey]; -} - -- (BOOL)isEqual:(id)object -{ - if (object == self) - return YES; - - if (!object || ![object isKindOfClass:[self class]]) - return NO; - - TGBridgeVenueAttachment *venue = (TGBridgeVenueAttachment *)object; - - return [self.title isEqualToString:venue.title] && [self.address isEqualToString:venue.address] && [self.provider isEqualToString:venue.provider] && [self.venueId isEqualToString:venue.venueId]; -} - -@end - - -@implementation TGBridgeLocationMediaAttachment - -- (instancetype)initWithCoder:(NSCoder *)aDecoder -{ - self = [super init]; - if (self != nil) - { - _latitude = [aDecoder decodeDoubleForKey:TGBridgeLocationMediaLatitudeKey]; - _longitude = [aDecoder decodeDoubleForKey:TGBridgeLocationMediaLongitudeKey]; - _venue = [aDecoder decodeObjectForKey:TGBridgeLocationMediaVenueKey]; - } - return self; -} - -- (void)encodeWithCoder:(NSCoder *)aCoder -{ - [aCoder encodeDouble:self.latitude forKey:TGBridgeLocationMediaLatitudeKey]; - [aCoder encodeDouble:self.longitude forKey:TGBridgeLocationMediaLongitudeKey]; - [aCoder encodeObject:self.venue forKey:TGBridgeLocationMediaVenueKey]; -} - -- (BOOL)isEqual:(id)object -{ - if (object == self) - return YES; - - if (!object || ![object isKindOfClass:[self class]]) - return NO; - - TGBridgeLocationMediaAttachment *location = (TGBridgeLocationMediaAttachment *)object; - - bool equalCoord = (fabs(self.latitude - location.latitude) < DBL_EPSILON && fabs(self.longitude - location.longitude) < DBL_EPSILON); - bool equalVenue = (self.venue == nil && location.venue == nil) || ([self.venue isEqual:location.venue]); - - return equalCoord || equalVenue; -} - -+ (NSInteger)mediaType -{ - return TGBridgeLocationMediaAttachmentType; -} - -@end diff --git a/submodules/WatchCommon/Watch/Sources/TGBridgeLocationVenue.h b/submodules/WatchCommon/Watch/Sources/TGBridgeLocationVenue.h deleted file mode 100644 index c626f76f9c..0000000000 --- a/submodules/WatchCommon/Watch/Sources/TGBridgeLocationVenue.h +++ /dev/null @@ -1,15 +0,0 @@ -#import - -@class TGBridgeLocationMediaAttachment; - -@interface TGBridgeLocationVenue : NSObject - -@property (nonatomic) CLLocationCoordinate2D coordinate; -@property (nonatomic, strong) NSString *identifier; -@property (nonatomic, strong) NSString *provider; -@property (nonatomic, strong) NSString *name; -@property (nonatomic, strong) NSString *address; - -- (TGBridgeLocationMediaAttachment *)locationAttachment; - -@end diff --git a/submodules/WatchCommon/Watch/Sources/TGBridgeLocationVenue.m b/submodules/WatchCommon/Watch/Sources/TGBridgeLocationVenue.m deleted file mode 100644 index 01c8fc8c1a..0000000000 --- a/submodules/WatchCommon/Watch/Sources/TGBridgeLocationVenue.m +++ /dev/null @@ -1,66 +0,0 @@ -#import "TGBridgeLocationVenue.h" - -#import "TGBridgeLocationMediaAttachment.h" - -NSString *const TGBridgeLocationVenueLatitudeKey = @"lat"; -NSString *const TGBridgeLocationVenueLongitudeKey = @"lon"; -NSString *const TGBridgeLocationVenueIdentifierKey = @"identifier"; -NSString *const TGBridgeLocationVenueProviderKey = @"provider"; -NSString *const TGBridgeLocationVenueNameKey = @"name"; -NSString *const TGBridgeLocationVenueAddressKey = @"address"; - -@implementation TGBridgeLocationVenue - -- (instancetype)initWithCoder:(NSCoder *)aDecoder -{ - self = [super init]; - if (self != nil) - { - _coordinate = CLLocationCoordinate2DMake([aDecoder decodeDoubleForKey:TGBridgeLocationVenueLatitudeKey], [aDecoder decodeDoubleForKey:TGBridgeLocationVenueLongitudeKey]); - _identifier = [aDecoder decodeObjectForKey:TGBridgeLocationVenueIdentifierKey]; - _provider = [aDecoder decodeObjectForKey:TGBridgeLocationVenueProviderKey]; - _name = [aDecoder decodeObjectForKey:TGBridgeLocationVenueNameKey]; - _address = [aDecoder decodeObjectForKey:TGBridgeLocationVenueAddressKey]; - } - return self; -} - -- (void)encodeWithCoder:(NSCoder *)aCoder -{ - [aCoder encodeDouble:self.coordinate.latitude forKey:TGBridgeLocationVenueLatitudeKey]; - [aCoder encodeDouble:self.coordinate.longitude forKey:TGBridgeLocationVenueLongitudeKey]; - [aCoder encodeObject:self.identifier forKey:TGBridgeLocationVenueIdentifierKey]; - [aCoder encodeObject:self.provider forKey:TGBridgeLocationVenueProviderKey]; - [aCoder encodeObject:self.name forKey:TGBridgeLocationVenueNameKey]; - [aCoder encodeObject:self.address forKey:TGBridgeLocationVenueAddressKey]; -} - -- (TGBridgeLocationMediaAttachment *)locationAttachment -{ - TGBridgeLocationMediaAttachment *attachment = [[TGBridgeLocationMediaAttachment alloc] init]; - attachment.latitude = self.coordinate.latitude; - attachment.longitude = self.coordinate.longitude; - - TGBridgeVenueAttachment *venueAttachment = [[TGBridgeVenueAttachment alloc] init]; - venueAttachment.title = self.name; - venueAttachment.address = self.address; - venueAttachment.provider = self.provider; - venueAttachment.venueId = self.identifier; - - attachment.venue = venueAttachment; - - return attachment; -} - -- (BOOL)isEqual:(id)object -{ - if (object == self) - return YES; - - if (!object || ![object isKindOfClass:[self class]]) - return NO; - - return [self.identifier isEqualToString:((TGBridgeLocationVenue *)object).identifier]; -} - -@end diff --git a/submodules/WatchCommon/Watch/Sources/TGBridgeMediaAttachment.h b/submodules/WatchCommon/Watch/Sources/TGBridgeMediaAttachment.h deleted file mode 100644 index 3a564e1575..0000000000 --- a/submodules/WatchCommon/Watch/Sources/TGBridgeMediaAttachment.h +++ /dev/null @@ -1,11 +0,0 @@ -#import - -@interface TGBridgeMediaAttachment : NSObject - -@property (nonatomic, readonly) NSInteger mediaType; - -+ (NSInteger)mediaType; - -@end - -extern NSString *const TGBridgeMediaAttachmentTypeKey; diff --git a/submodules/WatchCommon/Watch/Sources/TGBridgeMediaAttachment.m b/submodules/WatchCommon/Watch/Sources/TGBridgeMediaAttachment.m deleted file mode 100644 index 971a23b64d..0000000000 --- a/submodules/WatchCommon/Watch/Sources/TGBridgeMediaAttachment.m +++ /dev/null @@ -1,32 +0,0 @@ -#import "TGBridgeMediaAttachment.h" - -NSString *const TGBridgeMediaAttachmentTypeKey = @"type"; - -@implementation TGBridgeMediaAttachment - -- (instancetype)initWithCoder:(NSCoder *)__unused aDecoder -{ - self = [super init]; - if (self != nil) - { - - } - return self; -} - -- (void)encodeWithCoder:(NSCoder *)__unused aCoder -{ - -} - -- (NSInteger)mediaType -{ - return 0; -} - -+ (NSInteger)mediaType -{ - return 0; -} - -@end diff --git a/submodules/WatchCommon/Watch/Sources/TGBridgeMessage.h b/submodules/WatchCommon/Watch/Sources/TGBridgeMessage.h deleted file mode 100644 index 59ec1178d2..0000000000 --- a/submodules/WatchCommon/Watch/Sources/TGBridgeMessage.h +++ /dev/null @@ -1,65 +0,0 @@ -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import - -typedef enum { - TGBridgeTextCheckingResultTypeUndefined, - TGBridgeTextCheckingResultTypeBold, - TGBridgeTextCheckingResultTypeItalic, - TGBridgeTextCheckingResultTypeCode, - TGBridgeTextCheckingResultTypePre -} TGBridgeTextCheckingResultType; - -@interface TGBridgeTextCheckingResult : NSObject - -@property (nonatomic, assign) TGBridgeTextCheckingResultType type; -@property (nonatomic, assign) NSRange range; - -@end - - -typedef NS_ENUM(NSUInteger, TGBridgeMessageDeliveryState) { - TGBridgeMessageDeliveryStateDelivered = 0, - TGBridgeMessageDeliveryStatePending = 1, - TGBridgeMessageDeliveryStateFailed = 2 -}; - -@interface TGBridgeMessage : NSObject - -@property (nonatomic) int32_t identifier; -@property (nonatomic) NSTimeInterval date; -@property (nonatomic) int64_t randomId; -@property (nonatomic) bool unread; -@property (nonatomic) bool deliveryError; -@property (nonatomic) TGBridgeMessageDeliveryState deliveryState; -@property (nonatomic) bool outgoing; -@property (nonatomic) int64_t fromUid; -@property (nonatomic) int64_t toUid; -@property (nonatomic) int64_t cid; -@property (nonatomic, strong) NSString *text; -@property (nonatomic, strong) NSArray *media; -@property (nonatomic) bool forceReply; - -- (NSIndexSet *)involvedUserIds; -- (NSArray *)textCheckingResults; - -+ (instancetype)temporaryNewMessageForText:(NSString *)text userId:(int32_t)userId; -+ (instancetype)temporaryNewMessageForText:(NSString *)text userId:(int32_t)userId replyToMessage:(TGBridgeMessage *)replyToMessage; -+ (instancetype)temporaryNewMessageForSticker:(TGBridgeDocumentMediaAttachment *)sticker userId:(int32_t)userId; -+ (instancetype)temporaryNewMessageForLocation:(TGBridgeLocationMediaAttachment *)location userId:(int32_t)userId; -+ (instancetype)temporaryNewMessageForAudioWithDuration:(int32_t)duration userId:(int32_t)userId localAudioId:(int64_t)localAudioId; - -@end - -extern NSString *const TGBridgeMessageKey; -extern NSString *const TGBridgeMessagesArrayKey; diff --git a/submodules/WatchCommon/Watch/Sources/TGBridgeMessage.m b/submodules/WatchCommon/Watch/Sources/TGBridgeMessage.m deleted file mode 100644 index 4f5e5bb6e7..0000000000 --- a/submodules/WatchCommon/Watch/Sources/TGBridgeMessage.m +++ /dev/null @@ -1,238 +0,0 @@ -#import "TGBridgeMessage.h" -//#import "TGWatchCommon.h" -#import "TGBridgePeerIdAdapter.h" - -NSString *const TGBridgeMessageIdentifierKey = @"identifier"; -NSString *const TGBridgeMessageDateKey = @"date"; -NSString *const TGBridgeMessageRandomIdKey = @"randomId"; -NSString *const TGBridgeMessageFromUidKey = @"fromUid"; -NSString *const TGBridgeMessageCidKey = @"cid"; -NSString *const TGBridgeMessageTextKey = @"text"; -NSString *const TGBridgeMessageUnreadKey = @"unread"; -NSString *const TGBridgeMessageOutgoingKey = @"outgoing"; -NSString *const TGBridgeMessageMediaKey = @"media"; -NSString *const TGBridgeMessageDeliveryStateKey = @"deliveryState"; -NSString *const TGBridgeMessageForceReplyKey = @"forceReply"; - -NSString *const TGBridgeMessageKey = @"message"; -NSString *const TGBridgeMessagesArrayKey = @"messages"; - -@interface TGBridgeMessage () -{ - NSArray *_textCheckingResults; -} -@end - -@implementation TGBridgeMessage - -- (instancetype)initWithCoder:(NSCoder *)aDecoder -{ - self = [super init]; - if (self != nil) - { - _identifier = [aDecoder decodeInt32ForKey:TGBridgeMessageIdentifierKey]; - _date = [aDecoder decodeDoubleForKey:TGBridgeMessageDateKey]; - _randomId = [aDecoder decodeInt64ForKey:TGBridgeMessageRandomIdKey]; - _fromUid = [aDecoder decodeInt64ForKey:TGBridgeMessageFromUidKey]; - _cid = [aDecoder decodeInt64ForKey:TGBridgeMessageCidKey]; - _text = [aDecoder decodeObjectForKey:TGBridgeMessageTextKey]; - _outgoing = [aDecoder decodeBoolForKey:TGBridgeMessageOutgoingKey]; - _unread = [aDecoder decodeBoolForKey:TGBridgeMessageUnreadKey]; - _deliveryState = [aDecoder decodeInt32ForKey:TGBridgeMessageDeliveryStateKey]; - _media = [aDecoder decodeObjectForKey:TGBridgeMessageMediaKey]; - _forceReply = [aDecoder decodeBoolForKey:TGBridgeMessageForceReplyKey]; - } - return self; -} - -- (void)encodeWithCoder:(NSCoder *)aCoder -{ - [aCoder encodeInt32:self.identifier forKey:TGBridgeMessageIdentifierKey]; - [aCoder encodeDouble:self.date forKey:TGBridgeMessageDateKey]; - [aCoder encodeInt64:self.randomId forKey:TGBridgeMessageRandomIdKey]; - [aCoder encodeInt64:self.fromUid forKey:TGBridgeMessageFromUidKey]; - [aCoder encodeInt64:self.cid forKey:TGBridgeMessageCidKey]; - [aCoder encodeObject:self.text forKey:TGBridgeMessageTextKey]; - [aCoder encodeBool:self.outgoing forKey:TGBridgeMessageOutgoingKey]; - [aCoder encodeBool:self.unread forKey:TGBridgeMessageUnreadKey]; - [aCoder encodeInt32:self.deliveryState forKey:TGBridgeMessageDeliveryStateKey]; - [aCoder encodeObject:self.media forKey:TGBridgeMessageMediaKey]; - [aCoder encodeBool:self.forceReply forKey:TGBridgeMessageForceReplyKey]; -} - -- (NSIndexSet *)involvedUserIds -{ - NSMutableIndexSet *userIds = [[NSMutableIndexSet alloc] init]; - if (!TGPeerIdIsChannel(self.fromUid)) - [userIds addIndex:(int32_t)self.fromUid]; - - for (TGBridgeMediaAttachment *attachment in self.media) - { - if ([attachment isKindOfClass:[TGBridgeContactMediaAttachment class]]) - { - TGBridgeContactMediaAttachment *contactAttachment = (TGBridgeContactMediaAttachment *)attachment; - if (contactAttachment.uid != 0) - [userIds addIndex:contactAttachment.uid]; - } - else if ([attachment isKindOfClass:[TGBridgeForwardedMessageMediaAttachment class]]) - { - TGBridgeForwardedMessageMediaAttachment *forwardAttachment = (TGBridgeForwardedMessageMediaAttachment *)attachment; - if (forwardAttachment.peerId != 0 && !TGPeerIdIsChannel(forwardAttachment.peerId)) - [userIds addIndex:(int32_t)forwardAttachment.peerId]; - } - else if ([attachment isKindOfClass:[TGBridgeReplyMessageMediaAttachment class]]) - { - TGBridgeReplyMessageMediaAttachment *replyAttachment = (TGBridgeReplyMessageMediaAttachment *)attachment; - if (replyAttachment.message != nil && !TGPeerIdIsChannel(replyAttachment.message.fromUid)) - [userIds addIndex:(int32_t)replyAttachment.message.fromUid]; - } - else if ([attachment isKindOfClass:[TGBridgeActionMediaAttachment class]]) - { - TGBridgeActionMediaAttachment *actionAttachment = (TGBridgeActionMediaAttachment *)attachment; - if (actionAttachment.actionData[@"uid"] != nil) - [userIds addIndex:(int32_t)[actionAttachment.actionData[@"uid"] intValue]]; - } - } - - return userIds; -} - -- (NSArray *)textCheckingResults -{ - if (_textCheckingResults == nil) - { - NSMutableArray *results = [[NSMutableArray alloc] init]; - - NSArray *entities = nil; - for (TGBridgeMediaAttachment *attachment in self.media) - { - if ([attachment isKindOfClass:[TGBridgeMessageEntitiesAttachment class]]) - { - entities = ((TGBridgeMessageEntitiesAttachment *)attachment).entities; - break; - } - } - - for (TGBridgeMessageEntity *entity in entities) - { - TGBridgeTextCheckingResult *result = [[TGBridgeTextCheckingResult alloc] init]; - result.range = entity.range; - - if ([entity isKindOfClass:[TGBridgeMessageEntityBold class]]) - result.type = TGBridgeTextCheckingResultTypeBold; - else if ([entity isKindOfClass:[TGBridgeMessageEntityItalic class]]) - result.type = TGBridgeTextCheckingResultTypeItalic; - else if ([entity isKindOfClass:[TGBridgeMessageEntityCode class]]) - result.type = TGBridgeTextCheckingResultTypeCode; - else if ([entity isKindOfClass:[TGBridgeMessageEntityPre class]]) - result.type = TGBridgeTextCheckingResultTypePre; - - if (result.type != TGBridgeTextCheckingResultTypeUndefined) - [results addObject:result]; - } - - _textCheckingResults = results; - } - - return _textCheckingResults; -} - -- (BOOL)isEqual:(id)object -{ - if (object == self) - return YES; - - if (!object || ![object isKindOfClass:[self class]]) - return NO; - - TGBridgeMessage *message = (TGBridgeMessage *)object; - - if (self.randomId != 0) - return self.randomId == message.randomId; - else - return self.identifier == message.identifier; -} - -+ (instancetype)temporaryNewMessageForText:(NSString *)text userId:(int32_t)userId -{ - return [self temporaryNewMessageForText:text userId:userId replyToMessage:nil]; -} - -+ (instancetype)temporaryNewMessageForText:(NSString *)text userId:(int32_t)userId replyToMessage:(TGBridgeMessage *)replyToMessage -{ - int64_t randomId = 0; - arc4random_buf(&randomId, 8); - - int32_t messageId = 0; - arc4random_buf(&messageId, 4); - - TGBridgeMessage *message = [[TGBridgeMessage alloc] init]; - message->_identifier = -abs(messageId); - message->_fromUid = userId; - message->_randomId = randomId; - message->_unread = true; - message->_outgoing = true; - message->_deliveryState = TGBridgeMessageDeliveryStatePending; - message->_text = text; - message->_date = [[NSDate date] timeIntervalSince1970]; - - if (replyToMessage != nil) - { - TGBridgeReplyMessageMediaAttachment *replyAttachment = [[TGBridgeReplyMessageMediaAttachment alloc] init]; - replyAttachment.mid = replyToMessage.identifier; - replyAttachment.message = replyToMessage; - - message->_media = @[ replyToMessage ]; - } - - return message; -} - -+ (instancetype)temporaryNewMessageForSticker:(TGBridgeDocumentMediaAttachment *)sticker userId:(int32_t)userId -{ - return [self _temporaryNewMessageForMediaAttachment:sticker userId:userId]; -} - -+ (instancetype)temporaryNewMessageForLocation:(TGBridgeLocationMediaAttachment *)location userId:(int32_t)userId -{ - return [self _temporaryNewMessageForMediaAttachment:location userId:userId]; -} - -+ (instancetype)temporaryNewMessageForAudioWithDuration:(int32_t)duration userId:(int32_t)userId localAudioId:(int64_t)localAudioId -{ - TGBridgeDocumentMediaAttachment *document = [[TGBridgeDocumentMediaAttachment alloc] init]; - document.isAudio = true; - document.isVoice = true; - document.localDocumentId = localAudioId; - document.duration = duration; - - return [self _temporaryNewMessageForMediaAttachment:document userId:userId]; -} - -+ (instancetype)_temporaryNewMessageForMediaAttachment:(TGBridgeMediaAttachment *)attachment userId:(int32_t)userId -{ - int64_t randomId = 0; - arc4random_buf(&randomId, 8); - - int32_t messageId = 0; - arc4random_buf(&messageId, 4); - - TGBridgeMessage *message = [[TGBridgeMessage alloc] init]; - message->_identifier = -abs(messageId); - message->_fromUid = userId; - message->_unread = true; - message->_outgoing = true; - message->_deliveryState = TGBridgeMessageDeliveryStatePending; - message->_date = [[NSDate date] timeIntervalSince1970]; - - message->_media = @[ attachment ]; - - return message; -} - -@end - - -@implementation TGBridgeTextCheckingResult - -@end diff --git a/submodules/WatchCommon/Watch/Sources/TGBridgeMessageEntities.h b/submodules/WatchCommon/Watch/Sources/TGBridgeMessageEntities.h deleted file mode 100644 index 669ff3b21d..0000000000 --- a/submodules/WatchCommon/Watch/Sources/TGBridgeMessageEntities.h +++ /dev/null @@ -1,59 +0,0 @@ -#import - -@interface TGBridgeMessageEntity : NSObject - -@property (nonatomic, assign) NSRange range; - -+ (instancetype)entitityWithRange:(NSRange)range; - -@end - - -@interface TGBridgeMessageEntityUrl : TGBridgeMessageEntity - -@end - - -@interface TGBridgeMessageEntityEmail : TGBridgeMessageEntity - -@end - - -@interface TGBridgeMessageEntityTextUrl : TGBridgeMessageEntity - -@end - - -@interface TGBridgeMessageEntityMention : TGBridgeMessageEntity - -@end - - -@interface TGBridgeMessageEntityHashtag : TGBridgeMessageEntity - -@end - - -@interface TGBridgeMessageEntityBotCommand : TGBridgeMessageEntity - -@end - - -@interface TGBridgeMessageEntityBold : TGBridgeMessageEntity - -@end - - -@interface TGBridgeMessageEntityItalic : TGBridgeMessageEntity - -@end - - -@interface TGBridgeMessageEntityCode : TGBridgeMessageEntity - -@end - - -@interface TGBridgeMessageEntityPre : TGBridgeMessageEntity - -@end diff --git a/submodules/WatchCommon/Watch/Sources/TGBridgeMessageEntities.m b/submodules/WatchCommon/Watch/Sources/TGBridgeMessageEntities.m deleted file mode 100644 index 8d639a9468..0000000000 --- a/submodules/WatchCommon/Watch/Sources/TGBridgeMessageEntities.m +++ /dev/null @@ -1,83 +0,0 @@ -#import "TGBridgeMessageEntities.h" - -NSString *const TGBridgeMessageEntityLocationKey = @"loc"; -NSString *const TGBridgeMessageEntityLengthKey = @"len"; - -@implementation TGBridgeMessageEntity - -- (instancetype)initWithCoder:(NSCoder *)aDecoder -{ - self = [super init]; - if (self != nil) - { - NSUInteger loc = [aDecoder decodeIntegerForKey:TGBridgeMessageEntityLocationKey]; - NSUInteger len = [aDecoder decodeIntegerForKey:TGBridgeMessageEntityLengthKey]; - _range = NSMakeRange(loc, len); - } - return self; -} - -- (void)encodeWithCoder:(NSCoder *)aCoder -{ - [aCoder encodeInteger:self.range.location forKey:TGBridgeMessageEntityLocationKey]; - [aCoder encodeInteger:self.range.length forKey:TGBridgeMessageEntityLengthKey]; -} - -+ (instancetype)entitityWithRange:(NSRange)range -{ - TGBridgeMessageEntity *entity = [[self alloc] init]; - entity.range = range; - return entity; -} - -@end - - -@implementation TGBridgeMessageEntityUrl - -@end - - -@implementation TGBridgeMessageEntityEmail - -@end - - -@implementation TGBridgeMessageEntityTextUrl - -@end - - -@implementation TGBridgeMessageEntityMention - -@end - - -@implementation TGBridgeMessageEntityHashtag - -@end - - -@implementation TGBridgeMessageEntityBotCommand - -@end - - -@implementation TGBridgeMessageEntityBold - -@end - - -@implementation TGBridgeMessageEntityItalic - -@end - - -@implementation TGBridgeMessageEntityCode - -@end - - -@implementation TGBridgeMessageEntityPre - -@end diff --git a/submodules/WatchCommon/Watch/Sources/TGBridgeMessageEntitiesAttachment.h b/submodules/WatchCommon/Watch/Sources/TGBridgeMessageEntitiesAttachment.h deleted file mode 100644 index 9aaec90b25..0000000000 --- a/submodules/WatchCommon/Watch/Sources/TGBridgeMessageEntitiesAttachment.h +++ /dev/null @@ -1,8 +0,0 @@ -#import -#import - -@interface TGBridgeMessageEntitiesAttachment : TGBridgeMediaAttachment - -@property (nonatomic, strong) NSArray *entities; - -@end diff --git a/submodules/WatchCommon/Watch/Sources/TGBridgeMessageEntitiesAttachment.m b/submodules/WatchCommon/Watch/Sources/TGBridgeMessageEntitiesAttachment.m deleted file mode 100644 index fb5cb3b7d7..0000000000 --- a/submodules/WatchCommon/Watch/Sources/TGBridgeMessageEntitiesAttachment.m +++ /dev/null @@ -1,30 +0,0 @@ -#import "TGBridgeMessageEntitiesAttachment.h" - -const NSInteger TGBridgeMessageEntitiesAttachmentType = 0x8c2e3cce; - -NSString *const TGBridgeMessageEntitiesKey = @"entities"; - -@implementation TGBridgeMessageEntitiesAttachment - -- (instancetype)initWithCoder:(NSCoder *)aDecoder -{ - self = [super init]; - if (self != nil) - { - _entities = [aDecoder decodeObjectForKey:TGBridgeMessageEntitiesKey]; - } - return self; -} - -- (void)encodeWithCoder:(NSCoder *)aCoder -{ - [aCoder encodeObject:self.entities forKey:TGBridgeMessageEntitiesKey]; -} - -+ (NSInteger)mediaType -{ - return TGBridgeMessageEntitiesAttachmentType; -} - - -@end diff --git a/submodules/WatchCommon/Watch/Sources/TGBridgePeerIdAdapter.h b/submodules/WatchCommon/Watch/Sources/TGBridgePeerIdAdapter.h deleted file mode 100644 index c5f0ac92fc..0000000000 --- a/submodules/WatchCommon/Watch/Sources/TGBridgePeerIdAdapter.h +++ /dev/null @@ -1,52 +0,0 @@ -#ifndef Telegraph_TGPeerIdAdapter_h -#define Telegraph_TGPeerIdAdapter_h - -static inline bool TGPeerIdIsGroup(int64_t peerId) { - return peerId < 0 && peerId > INT32_MIN; -} - -static inline bool TGPeerIdIsUser(int64_t peerId) { - return peerId > 0 && peerId < INT32_MAX; -} - -static inline bool TGPeerIdIsChannel(int64_t peerId) { - return peerId <= ((int64_t)INT32_MIN) * 2 && peerId > ((int64_t)INT32_MIN) * 3; -} - -static inline bool TGPeerIdIsAdminLog(int64_t peerId) { - return peerId <= ((int64_t)INT32_MIN) * 3 && peerId > ((int64_t)INT32_MIN) * 4; -} - -static inline int32_t TGChannelIdFromPeerId(int64_t peerId) { - if (TGPeerIdIsChannel(peerId)) { - return (int32_t)(((int64_t)INT32_MIN) * 2 - peerId); - } else { - return 0; - } -} - -static inline int64_t TGPeerIdFromChannelId(int32_t channelId) { - return ((int64_t)INT32_MIN) * 2 - ((int64_t)channelId); -} - -static inline int64_t TGPeerIdFromAdminLogId(int32_t channelId) { - return ((int64_t)INT32_MIN) * 3 - ((int64_t)channelId); -} - -static inline int64_t TGPeerIdFromGroupId(int32_t groupId) { - return -groupId; -} - -static inline int32_t TGGroupIdFromPeerId(int64_t peerId) { - if (TGPeerIdIsGroup(peerId)) { - return (int32_t)-peerId; - } else { - return 0; - } -} - -static inline bool TGPeerIdIsSecretChat(int64_t peerId) { - return peerId <= ((int64_t)INT32_MIN) && peerId > ((int64_t)INT32_MIN) * 2; -} - -#endif diff --git a/submodules/WatchCommon/Watch/Sources/TGBridgePeerNotificationSettings.h b/submodules/WatchCommon/Watch/Sources/TGBridgePeerNotificationSettings.h deleted file mode 100644 index fce723cecb..0000000000 --- a/submodules/WatchCommon/Watch/Sources/TGBridgePeerNotificationSettings.h +++ /dev/null @@ -1,7 +0,0 @@ -#import - -@interface TGBridgePeerNotificationSettings : NSObject - -@property (nonatomic, assign) int32_t muteFor; - -@end diff --git a/submodules/WatchCommon/Watch/Sources/TGBridgePeerNotificationSettings.m b/submodules/WatchCommon/Watch/Sources/TGBridgePeerNotificationSettings.m deleted file mode 100644 index 662c2f4ca4..0000000000 --- a/submodules/WatchCommon/Watch/Sources/TGBridgePeerNotificationSettings.m +++ /dev/null @@ -1,22 +0,0 @@ -#import "TGBridgePeerNotificationSettings.h" - -NSString *const TGBridgePeerNotificationSettingsMuteForKey = @"muteFor"; - -@implementation TGBridgePeerNotificationSettings - -- (instancetype)initWithCoder:(NSCoder *)aDecoder -{ - self = [super init]; - if (self != nil) - { - _muteFor = [aDecoder decodeInt32ForKey:TGBridgePeerNotificationSettingsMuteForKey]; - } - return self; -} - -- (void)encodeWithCoder:(nonnull NSCoder *)aCoder -{ - [aCoder encodeInt32:self.muteFor forKey:TGBridgePeerNotificationSettingsMuteForKey]; -} - -@end diff --git a/submodules/WatchCommon/Watch/Sources/TGBridgeReplyMarkupMediaAttachment.h b/submodules/WatchCommon/Watch/Sources/TGBridgeReplyMarkupMediaAttachment.h deleted file mode 100644 index 430398271a..0000000000 --- a/submodules/WatchCommon/Watch/Sources/TGBridgeReplyMarkupMediaAttachment.h +++ /dev/null @@ -1,9 +0,0 @@ -#import - -@class TGBridgeBotReplyMarkup; - -@interface TGBridgeReplyMarkupMediaAttachment : TGBridgeMediaAttachment - -@property (nonatomic, strong) TGBridgeBotReplyMarkup *replyMarkup; - -@end diff --git a/submodules/WatchCommon/Watch/Sources/TGBridgeReplyMarkupMediaAttachment.m b/submodules/WatchCommon/Watch/Sources/TGBridgeReplyMarkupMediaAttachment.m deleted file mode 100644 index 1299c900cd..0000000000 --- a/submodules/WatchCommon/Watch/Sources/TGBridgeReplyMarkupMediaAttachment.m +++ /dev/null @@ -1,29 +0,0 @@ -#import "TGBridgeReplyMarkupMediaAttachment.h" - -const NSInteger TGBridgeReplyMarkupMediaAttachmentType = 0x5678acc1; - -NSString *const TGBridgeReplyMarkupMediaMessageKey = @"replyMarkup"; - -@implementation TGBridgeReplyMarkupMediaAttachment - -- (instancetype)initWithCoder:(NSCoder *)aDecoder -{ - self = [super init]; - if (self != nil) - { - _replyMarkup = [aDecoder decodeObjectForKey:TGBridgeReplyMarkupMediaMessageKey]; - } - return self; -} - -- (void)encodeWithCoder:(NSCoder *)aCoder -{ - [aCoder encodeObject:self.replyMarkup forKey:TGBridgeReplyMarkupMediaMessageKey]; -} - -+ (NSInteger)mediaType -{ - return TGBridgeReplyMarkupMediaAttachmentType; -} - -@end \ No newline at end of file diff --git a/submodules/WatchCommon/Watch/Sources/TGBridgeReplyMessageMediaAttachment.h b/submodules/WatchCommon/Watch/Sources/TGBridgeReplyMessageMediaAttachment.h deleted file mode 100644 index a5dbeae13c..0000000000 --- a/submodules/WatchCommon/Watch/Sources/TGBridgeReplyMessageMediaAttachment.h +++ /dev/null @@ -1,10 +0,0 @@ -#import - -@class TGBridgeMessage; - -@interface TGBridgeReplyMessageMediaAttachment : TGBridgeMediaAttachment - -@property (nonatomic, assign) int32_t mid; -@property (nonatomic, strong) TGBridgeMessage *message; - -@end diff --git a/submodules/WatchCommon/Watch/Sources/TGBridgeReplyMessageMediaAttachment.m b/submodules/WatchCommon/Watch/Sources/TGBridgeReplyMessageMediaAttachment.m deleted file mode 100644 index fbc2456919..0000000000 --- a/submodules/WatchCommon/Watch/Sources/TGBridgeReplyMessageMediaAttachment.m +++ /dev/null @@ -1,33 +0,0 @@ -#import "TGBridgeReplyMessageMediaAttachment.h" -#import "TGBridgeMessage.h" - -const NSInteger TGBridgeReplyMessageMediaAttachmentType = 414002169; - -NSString *const TGBridgeReplyMessageMediaMidKey = @"mid"; -NSString *const TGBridgeReplyMessageMediaMessageKey = @"message"; - -@implementation TGBridgeReplyMessageMediaAttachment - -- (instancetype)initWithCoder:(NSCoder *)aDecoder -{ - self = [super init]; - if (self != nil) - { - _mid = [aDecoder decodeInt32ForKey:TGBridgeReplyMessageMediaMidKey]; - _message = [aDecoder decodeObjectForKey:TGBridgeReplyMessageMediaMessageKey]; - } - return self; -} - -- (void)encodeWithCoder:(NSCoder *)aCoder -{ - [aCoder encodeInt32:self.mid forKey:TGBridgeReplyMessageMediaMidKey]; - [aCoder encodeObject:self.message forKey:TGBridgeReplyMessageMediaMessageKey]; -} - -+ (NSInteger)mediaType -{ - return TGBridgeReplyMessageMediaAttachmentType; -} - -@end diff --git a/submodules/WatchCommon/Watch/Sources/TGBridgeSubscriptions.h b/submodules/WatchCommon/Watch/Sources/TGBridgeSubscriptions.h deleted file mode 100644 index f2f7ec7ac5..0000000000 --- a/submodules/WatchCommon/Watch/Sources/TGBridgeSubscriptions.h +++ /dev/null @@ -1,268 +0,0 @@ -#import - -#import -#import - -@class TGBridgeMediaAttachment; -@class TGBridgeImageMediaAttachment; -@class TGBridgeVideoMediaAttachment; -@class TGBridgeDocumentMediaAttachment; -@class TGBridgeLocationMediaAttachment; -@class TGBridgePeerNotificationSettings; - -@interface TGBridgeAudioSubscription : TGBridgeSubscription - -@property (nonatomic, readonly) TGBridgeMediaAttachment *attachment; -@property (nonatomic, readonly) int64_t peerId; -@property (nonatomic, readonly) int32_t messageId; - -- (instancetype)initWithAttachment:(TGBridgeMediaAttachment *)attachment peerId:(int64_t)peerId messageId:(int32_t)messageId; - -@end - - -@interface TGBridgeAudioSentSubscription : TGBridgeSubscription - -@property (nonatomic, readonly) int64_t conversationId; - -- (instancetype)initWithConversationId:(int64_t)conversationId; - -@end - - -@interface TGBridgeChatListSubscription : TGBridgeSubscription - -@property (nonatomic, readonly) int32_t limit; - -- (instancetype)initWithLimit:(int32_t)limit; - -@end - - -@interface TGBridgeChatMessageListSubscription : TGBridgeSubscription - -@property (nonatomic, readonly) int64_t peerId; -@property (nonatomic, readonly) int32_t atMessageId; -@property (nonatomic, readonly) NSUInteger rangeMessageCount; - -- (instancetype)initWithPeerId:(int64_t)peerId atMessageId:(int32_t)messageId rangeMessageCount:(NSUInteger)rangeMessageCount; - -@end - - -@interface TGBridgeChatMessageSubscription : TGBridgeSubscription - -@property (nonatomic, readonly) int64_t peerId; -@property (nonatomic, readonly) int32_t messageId; - -- (instancetype)initWithPeerId:(int64_t)peerId messageId:(int32_t)messageId; - -@end - - -@interface TGBridgeReadChatMessageListSubscription : TGBridgeSubscription - -@property (nonatomic, readonly) int64_t peerId; -@property (nonatomic, readonly) int32_t messageId; - -- (instancetype)initWithPeerId:(int64_t)peerId messageId:(int32_t)messageId; - -@end - - -@interface TGBridgeContactsSubscription : TGBridgeSubscription - -@property (nonatomic, readonly) NSString *query; - -- (instancetype)initWithQuery:(NSString *)query; - -@end - - -@interface TGBridgeConversationSubscription : TGBridgeSubscription - -@property (nonatomic, readonly) int64_t peerId; - -- (instancetype)initWithPeerId:(int64_t)peerId; - -@end - - -@interface TGBridgeNearbyVenuesSubscription : TGBridgeSubscription - -@property (nonatomic, readonly) CLLocationCoordinate2D coordinate; -@property (nonatomic, readonly) int32_t limit; - -- (instancetype)initWithCoordinate:(CLLocationCoordinate2D)coordinate limit:(int32_t)limit; - -@end - - -@interface TGBridgeMediaThumbnailSubscription : TGBridgeSubscription - -@property (nonatomic, readonly) int64_t peerId; -@property (nonatomic, readonly) int32_t messageId; -@property (nonatomic, readonly) CGSize size; -@property (nonatomic, readonly) bool notification; - -- (instancetype)initWithPeerId:(int64_t)peerId messageId:(int32_t)messageId size:(CGSize)size notification:(bool)notification; - -@end - - -typedef NS_ENUM(NSUInteger, TGBridgeMediaAvatarType) { - TGBridgeMediaAvatarTypeSmall, - TGBridgeMediaAvatarTypeProfile, - TGBridgeMediaAvatarTypeLarge -}; - -@interface TGBridgeMediaAvatarSubscription : TGBridgeSubscription - -@property (nonatomic, readonly) int64_t peerId; -@property (nonatomic, readonly) NSString *url; -@property (nonatomic, readonly) TGBridgeMediaAvatarType type; - -- (instancetype)initWithPeerId:(int64_t)peerId url:(NSString *)url type:(TGBridgeMediaAvatarType)type; - -@end - -@interface TGBridgeMediaStickerSubscription : TGBridgeSubscription - -@property (nonatomic, readonly) int64_t documentId; -@property (nonatomic, readonly) int64_t stickerPackId; -@property (nonatomic, readonly) int64_t stickerPackAccessHash; -@property (nonatomic, readonly) int64_t stickerPeerId; -@property (nonatomic, readonly) int32_t stickerMessageId; -@property (nonatomic, readonly) bool notification; -@property (nonatomic, readonly) CGSize size; - -- (instancetype)initWithDocumentId:(int64_t)documentId stickerPackId:(int64_t)stickerPackId stickerPackAccessHash:(int64_t)stickerPackAccessHash stickerPeerId:(int64_t)stickerPeerId stickerMessageId:(int32_t)stickerMessageId notification:(bool)notification size:(CGSize)size; - -@end - - -@interface TGBridgePeerSettingsSubscription : TGBridgeSubscription - -@property (nonatomic, readonly) int64_t peerId; - -- (instancetype)initWithPeerId:(int64_t)peerId; - -@end - -@interface TGBridgePeerUpdateNotificationSettingsSubscription : TGBridgeSubscription - -@property (nonatomic, readonly) int64_t peerId; - -- (instancetype)initWithPeerId:(int64_t)peerId; - -@end - -@interface TGBridgePeerUpdateBlockStatusSubscription : TGBridgeSubscription - -@property (nonatomic, readonly) int64_t peerId; -@property (nonatomic, readonly) bool blocked; - -- (instancetype)initWithPeerId:(int64_t)peerId blocked:(bool)blocked; - -@end - - -@interface TGBridgeRemoteSubscription : TGBridgeSubscription - -@property (nonatomic, readonly) int64_t peerId; -@property (nonatomic, readonly) int32_t messageId; -@property (nonatomic, readonly) int32_t type; -@property (nonatomic, readonly) bool autoPlay; - -- (instancetype)initWithPeerId:(int64_t)peerId messageId:(int32_t)messageId type:(int32_t)type autoPlay:(bool)autoPlay; - -@end - - -@interface TGBridgeSendTextMessageSubscription : TGBridgeSubscription - -@property (nonatomic, readonly) int64_t peerId; -@property (nonatomic, readonly) NSString *text; -@property (nonatomic, readonly) int32_t replyToMid; - -- (instancetype)initWithPeerId:(int64_t)peerId text:(NSString *)text replyToMid:(int32_t)replyToMid; - -@end - - -@interface TGBridgeSendStickerMessageSubscription : TGBridgeSubscription - -@property (nonatomic, readonly) int64_t peerId; -@property (nonatomic, readonly) TGBridgeDocumentMediaAttachment *document; -@property (nonatomic, readonly) int32_t replyToMid; - -- (instancetype)initWithPeerId:(int64_t)peerId document:(TGBridgeDocumentMediaAttachment *)document replyToMid:(int32_t)replyToMid; - -@end - - -@interface TGBridgeSendLocationMessageSubscription : TGBridgeSubscription - -@property (nonatomic, readonly) int64_t peerId; -@property (nonatomic, readonly) TGBridgeLocationMediaAttachment *location; -@property (nonatomic, readonly) int32_t replyToMid; - -- (instancetype)initWithPeerId:(int64_t)peerId location:(TGBridgeLocationMediaAttachment *)location replyToMid:(int32_t)replyToMid; - -@end - - -@interface TGBridgeSendForwardedMessageSubscription : TGBridgeSubscription - -@property (nonatomic, readonly) int64_t peerId; -@property (nonatomic, readonly) int32_t messageId; -@property (nonatomic, readonly) int64_t targetPeerId; - -- (instancetype)initWithPeerId:(int64_t)peerId messageId:(int32_t)messageId targetPeerId:(int64_t)targetPeerId; - -@end - - -@interface TGBridgeStateSubscription : TGBridgeSubscription - -@end - - -@interface TGBridgeStickerPacksSubscription : TGBridgeSubscription - -@end - - -@interface TGBridgeRecentStickersSubscription : TGBridgeSubscription - -@property (nonatomic, readonly) int32_t limit; - -- (instancetype)initWithLimit:(int32_t)limit; - -@end - - -@interface TGBridgeUserInfoSubscription : TGBridgeSubscription - -@property (nonatomic, readonly) NSArray *userIds; - -- (instancetype)initWithUserIds:(NSArray *)userIds; - -@end - - -@interface TGBridgeUserBotInfoSubscription : TGBridgeSubscription - -@property (nonatomic, readonly) NSArray *userIds; - -- (instancetype)initWithUserIds:(NSArray *)userIds; - -@end - -@interface TGBridgeBotReplyMarkupSubscription : TGBridgeSubscription - -@property (nonatomic, readonly) int64_t peerId; - -- (instancetype)initWithPeerId:(int64_t)peerId; - -@end diff --git a/submodules/WatchCommon/Watch/Sources/TGBridgeSubscriptions.m b/submodules/WatchCommon/Watch/Sources/TGBridgeSubscriptions.m deleted file mode 100644 index 8c4b50d224..0000000000 --- a/submodules/WatchCommon/Watch/Sources/TGBridgeSubscriptions.m +++ /dev/null @@ -1,1048 +0,0 @@ -#import "TGBridgeSubscriptions.h" - -#import - -#import "TGBridgeImageMediaAttachment.h" -#import "TGBridgeVideoMediaAttachment.h" -#import "TGBridgeDocumentMediaAttachment.h" -#import "TGBridgeLocationMediaAttachment.h" -#import "TGBridgePeerNotificationSettings.h" - -NSString *const TGBridgeAudioSubscriptionName = @"media.audio"; -NSString *const TGBridgeAudioSubscriptionAttachmentKey = @"attachment"; -NSString *const TGBridgeAudioSubscriptionPeerIdKey = @"peerId"; -NSString *const TGBridgeAudioSubscriptionMessageIdKey = @"messageId"; - -@implementation TGBridgeAudioSubscription - -- (instancetype)initWithAttachment:(TGBridgeMediaAttachment *)attachment peerId:(int64_t)peerId messageId:(int32_t)messageId -{ - self = [super init]; - if (self != nil) - { - _attachment = attachment; - _peerId = peerId; - _messageId = messageId; - } - return self; -} - -- (void)_serializeParametersWithCoder:(NSCoder *)aCoder -{ - [aCoder encodeObject:self.attachment forKey:TGBridgeAudioSubscriptionAttachmentKey]; - [aCoder encodeInt64:self.peerId forKey:TGBridgeAudioSubscriptionPeerIdKey]; - [aCoder encodeInt32:self.messageId forKey:TGBridgeAudioSubscriptionMessageIdKey]; -} - -- (void)_unserializeParametersWithCoder:(NSCoder *)aDecoder -{ - _attachment = [aDecoder decodeObjectForKey:TGBridgeAudioSubscriptionAttachmentKey]; - _peerId = [aDecoder decodeInt64ForKey:TGBridgeAudioSubscriptionPeerIdKey]; - _messageId = [aDecoder decodeInt32ForKey:TGBridgeAudioSubscriptionMessageIdKey]; -} - -+ (NSString *)subscriptionName -{ - return TGBridgeAudioSubscriptionName; -} - -@end - - -NSString *const TGBridgeAudioSentSubscriptionName = @"media.audioSent"; -NSString *const TGBridgeAudioSentSubscriptionConversationIdKey = @"conversationId"; - -@implementation TGBridgeAudioSentSubscription - -- (instancetype)initWithConversationId:(int64_t)conversationId -{ - self = [super init]; - if (self != nil) - { - _conversationId = conversationId; - } - return self; -} - -- (void)_serializeParametersWithCoder:(NSCoder *)aCoder -{ - [aCoder encodeInt64:self.conversationId forKey:TGBridgeAudioSentSubscriptionConversationIdKey]; -} - -- (void)_unserializeParametersWithCoder:(NSCoder *)aDecoder -{ - _conversationId = [aDecoder decodeInt64ForKey:TGBridgeAudioSentSubscriptionConversationIdKey]; -} - -+ (NSString *)subscriptionName -{ - return TGBridgeAudioSentSubscriptionName; -} - -@end - - -NSString *const TGBridgeChatListSubscriptionName = @"chats.chatList"; -NSString *const TGBridgeChatListSubscriptionLimitKey = @"limit"; - -@implementation TGBridgeChatListSubscription - -- (instancetype)initWithLimit:(int32_t)limit -{ - self = [super init]; - if (self != nil) - { - _limit = limit; - } - return self; -} - -- (bool)dropPreviouslyQueued -{ - return true; -} - -- (void)_serializeParametersWithCoder:(NSCoder *)aCoder -{ - [aCoder encodeInt32:self.limit forKey:TGBridgeChatListSubscriptionLimitKey]; -} - -- (void)_unserializeParametersWithCoder:(NSCoder *)aDecoder -{ - _limit = [aDecoder decodeInt32ForKey:TGBridgeChatListSubscriptionLimitKey]; -} - -+ (NSString *)subscriptionName -{ - return TGBridgeChatListSubscriptionName; -} - -@end - - -NSString *const TGBridgeChatMessageListSubscriptionName = @"chats.chatMessageList"; -NSString *const TGBridgeChatMessageListSubscriptionPeerIdKey = @"peerId"; -NSString *const TGBridgeChatMessageListSubscriptionAtMessageIdKey = @"atMessageId"; -NSString *const TGBridgeChatMessageListSubscriptionRangeMessageCountKey = @"rangeMessageCount"; - -@implementation TGBridgeChatMessageListSubscription - -- (instancetype)initWithPeerId:(int64_t)peerId atMessageId:(int32_t)messageId rangeMessageCount:(NSUInteger)rangeMessageCount -{ - self = [super init]; - if (self != nil) - { - _peerId = peerId; - _atMessageId = messageId; - _rangeMessageCount = rangeMessageCount; - } - return self; -} - -- (bool)dropPreviouslyQueued -{ - return true; -} - -- (void)_serializeParametersWithCoder:(NSCoder *)aCoder -{ - [aCoder encodeInt64:self.peerId forKey:TGBridgeChatMessageListSubscriptionPeerIdKey]; - [aCoder encodeInt32:self.atMessageId forKey:TGBridgeChatMessageListSubscriptionAtMessageIdKey]; - [aCoder encodeInt32:(int32_t)self.rangeMessageCount forKey:TGBridgeChatMessageListSubscriptionRangeMessageCountKey]; -} - -- (void)_unserializeParametersWithCoder:(NSCoder *)aDecoder -{ - _peerId = [aDecoder decodeInt64ForKey:TGBridgeChatMessageListSubscriptionPeerIdKey]; - _atMessageId = [aDecoder decodeInt32ForKey:TGBridgeChatMessageListSubscriptionAtMessageIdKey]; - _rangeMessageCount = [aDecoder decodeInt32ForKey:TGBridgeChatMessageListSubscriptionRangeMessageCountKey]; -} - -+ (NSString *)subscriptionName -{ - return TGBridgeChatMessageListSubscriptionName; -} - -@end - - -NSString *const TGBridgeChatMessageSubscriptionName = @"chats.message"; -NSString *const TGBridgeChatMessageSubscriptionPeerIdKey = @"peerId"; -NSString *const TGBridgeChatMessageSubscriptionMessageIdKey = @"mid"; - -@implementation TGBridgeChatMessageSubscription - -- (instancetype)initWithPeerId:(int64_t)peerId messageId:(int32_t)messageId -{ - self = [super init]; - if (self != nil) - { - _peerId = peerId; - _messageId = messageId; - } - return self; -} - -- (bool)synchronous -{ - return true; -} - -- (bool)renewable -{ - return false; -} - -- (void)_serializeParametersWithCoder:(NSCoder *)aCoder -{ - [aCoder encodeInt64:self.peerId forKey:TGBridgeChatMessageSubscriptionPeerIdKey]; - [aCoder encodeInt32:self.messageId forKey:TGBridgeChatMessageSubscriptionMessageIdKey]; -} - -- (void)_unserializeParametersWithCoder:(NSCoder *)aDecoder -{ - _peerId = [aDecoder decodeInt64ForKey:TGBridgeChatMessageSubscriptionPeerIdKey]; - _messageId = [aDecoder decodeInt32ForKey:TGBridgeChatMessageSubscriptionMessageIdKey]; -} - -+ (NSString *)subscriptionName -{ - return TGBridgeChatMessageSubscriptionName; -} - -@end - - -NSString *const TGBridgeReadChatMessageListSubscriptionName = @"chats.readChatMessageList"; -NSString *const TGBridgeReadChatMessageListSubscriptionPeerIdKey = @"peerId"; -NSString *const TGBridgeReadChatMessageListSubscriptionMessageIdKey = @"mid"; - -@implementation TGBridgeReadChatMessageListSubscription - -- (instancetype)initWithPeerId:(int64_t)peerId messageId:(int32_t)messageId -{ - self = [super init]; - if (self != nil) - { - _peerId = peerId; - _messageId = messageId; - } - return self; -} - -- (void)_serializeParametersWithCoder:(NSCoder *)aCoder -{ - [aCoder encodeInt64:self.peerId forKey:TGBridgeReadChatMessageListSubscriptionPeerIdKey]; - [aCoder encodeInt32:self.messageId forKey:TGBridgeReadChatMessageListSubscriptionMessageIdKey]; -} - -- (void)_unserializeParametersWithCoder:(NSCoder *)aDecoder -{ - _peerId = [aDecoder decodeInt64ForKey:TGBridgeReadChatMessageListSubscriptionPeerIdKey]; - _messageId = [aDecoder decodeInt32ForKey:TGBridgeReadChatMessageListSubscriptionMessageIdKey]; -} - -+ (NSString *)subscriptionName -{ - return TGBridgeReadChatMessageListSubscriptionName; -} - -@end - - -NSString *const TGBridgeContactsSubscriptionName = @"contacts.search"; -NSString *const TGBridgeContactsSubscriptionQueryKey = @"query"; - -@implementation TGBridgeContactsSubscription - -- (instancetype)initWithQuery:(NSString *)query -{ - self = [super init]; - if (self != nil) - { - _query = query; - } - return self; -} - -- (void)_serializeParametersWithCoder:(NSCoder *)aCoder -{ - [aCoder encodeObject:self.query forKey:TGBridgeContactsSubscriptionQueryKey]; -} - -- (void)_unserializeParametersWithCoder:(NSCoder *)aDecoder -{ - _query = [aDecoder decodeObjectForKey:TGBridgeContactsSubscriptionQueryKey]; -} - -+ (NSString *)subscriptionName -{ - return TGBridgeContactsSubscriptionName; -} - -@end - - -NSString *const TGBridgeConversationSubscriptionName = @"chats.conversation"; -NSString *const TGBridgeConversationSubscriptionPeerIdKey = @"peerId"; - -@implementation TGBridgeConversationSubscription - -- (instancetype)initWithPeerId:(int64_t)peerId -{ - self = [super init]; - if (self != nil) - { - _peerId = peerId; - } - return self; -} - -- (bool)dropPreviouslyQueued -{ - return true; -} - -- (void)_serializeParametersWithCoder:(NSCoder *)aCoder -{ - [aCoder encodeInt64:self.peerId forKey:TGBridgeConversationSubscriptionPeerIdKey]; -} - -- (void)_unserializeParametersWithCoder:(NSCoder *)aDecoder -{ - _peerId = [aDecoder decodeInt64ForKey:TGBridgeConversationSubscriptionPeerIdKey]; -} - -+ (NSString *)subscriptionName -{ - return TGBridgeConversationSubscriptionName; -} - -@end - - -NSString *const TGBridgeNearbyVenuesSubscriptionName = @"location.nearbyVenues"; -NSString *const TGBridgeNearbyVenuesSubscriptionLatitudeKey = @"lat"; -NSString *const TGBridgeNearbyVenuesSubscriptionLongitudeKey = @"lon"; -NSString *const TGBridgeNearbyVenuesSubscriptionLimitKey = @"limit"; - -@implementation TGBridgeNearbyVenuesSubscription - -- (instancetype)initWithCoordinate:(CLLocationCoordinate2D)coordinate limit:(int32_t)limit -{ - self = [super init]; - if (self != nil) - { - _coordinate = coordinate; - _limit = limit; - } - return self; -} - -- (void)_serializeParametersWithCoder:(NSCoder *)aCoder -{ - [aCoder encodeDouble:self.coordinate.latitude forKey:TGBridgeNearbyVenuesSubscriptionLatitudeKey]; - [aCoder encodeDouble:self.coordinate.longitude forKey:TGBridgeNearbyVenuesSubscriptionLongitudeKey]; - [aCoder encodeInt32:self.limit forKey:TGBridgeNearbyVenuesSubscriptionLimitKey]; -} - -- (void)_unserializeParametersWithCoder:(NSCoder *)aDecoder -{ - _coordinate = CLLocationCoordinate2DMake([aDecoder decodeDoubleForKey:TGBridgeNearbyVenuesSubscriptionLatitudeKey], - [aDecoder decodeDoubleForKey:TGBridgeNearbyVenuesSubscriptionLongitudeKey]); - _limit = [aDecoder decodeInt32ForKey:TGBridgeNearbyVenuesSubscriptionLimitKey]; -} - -+ (NSString *)subscriptionName -{ - return TGBridgeNearbyVenuesSubscriptionName; -} - -@end - - -NSString *const TGBridgeMediaThumbnailSubscriptionName = @"media.thumbnail"; -NSString *const TGBridgeMediaThumbnailPeerIdKey = @"peerId"; -NSString *const TGBridgeMediaThumbnailMessageIdKey = @"mid"; -NSString *const TGBridgeMediaThumbnailSizeKey = @"size"; -NSString *const TGBridgeMediaThumbnailNotificationKey = @"notification"; - -@implementation TGBridgeMediaThumbnailSubscription - -- (instancetype)initWithPeerId:(int64_t)peerId messageId:(int32_t)messageId size:(CGSize)size notification:(bool)notification -{ - self = [super init]; - if (self != nil) - { - _peerId = peerId; - _messageId = messageId; - _size = size; - _notification = notification; - } - return self; -} - -- (bool)renewable -{ - return false; -} - -- (void)_serializeParametersWithCoder:(NSCoder *)aCoder -{ - [aCoder encodeInt64:self.peerId forKey:TGBridgeMediaThumbnailPeerIdKey]; - [aCoder encodeInt32:self.messageId forKey:TGBridgeMediaThumbnailMessageIdKey]; - [aCoder encodeCGSize:self.size forKey:TGBridgeMediaThumbnailSizeKey]; - [aCoder encodeBool:self.notification forKey:TGBridgeMediaThumbnailNotificationKey]; -} - -- (void)_unserializeParametersWithCoder:(NSCoder *)aDecoder -{ - _peerId = [aDecoder decodeInt64ForKey:TGBridgeMediaThumbnailPeerIdKey]; - _messageId = [aDecoder decodeInt32ForKey:TGBridgeMediaThumbnailMessageIdKey]; - _size = [aDecoder decodeCGSizeForKey:TGBridgeMediaThumbnailSizeKey]; - _notification = [aDecoder decodeBoolForKey:TGBridgeMediaThumbnailNotificationKey]; -} - -+ (NSString *)subscriptionName -{ - return TGBridgeMediaThumbnailSubscriptionName; -} - -@end - - -NSString *const TGBridgeMediaAvatarSubscriptionName = @"media.avatar"; -NSString *const TGBridgeMediaAvatarPeerIdKey = @"peerId"; -NSString *const TGBridgeMediaAvatarUrlKey = @"url"; -NSString *const TGBridgeMediaAvatarTypeKey = @"type"; - -@implementation TGBridgeMediaAvatarSubscription - -- (instancetype)initWithPeerId:(int64_t)peerId url:(NSString *)url type:(TGBridgeMediaAvatarType)type -{ - self = [super init]; - if (self != nil) - { - _peerId = peerId; - _url = url; - _type = type; - } - return self; -} - -- (bool)renewable -{ - return false; -} - -- (void)_serializeParametersWithCoder:(NSCoder *)aCoder -{ - [aCoder encodeInt64:self.peerId forKey:TGBridgeMediaAvatarPeerIdKey]; - [aCoder encodeObject:self.url forKey:TGBridgeMediaAvatarUrlKey]; - [aCoder encodeInt32:self.type forKey:TGBridgeMediaAvatarTypeKey]; -} - -- (void)_unserializeParametersWithCoder:(NSCoder *)aDecoder -{ - _peerId = [aDecoder decodeInt64ForKey:TGBridgeMediaAvatarPeerIdKey]; - _url = [aDecoder decodeObjectForKey:TGBridgeMediaAvatarUrlKey]; - _type = [aDecoder decodeInt32ForKey:TGBridgeMediaAvatarTypeKey]; -} - -+ (NSString *)subscriptionName -{ - return TGBridgeMediaAvatarSubscriptionName; -} - -@end - - -NSString *const TGBridgeMediaStickerSubscriptionName = @"media.sticker"; -NSString *const TGBridgeMediaStickerDocumentIdKey = @"documentId"; -NSString *const TGBridgeMediaStickerPackIdKey = @"packId"; -NSString *const TGBridgeMediaStickerPackAccessHashKey = @"accessHash"; -NSString *const TGBridgeMediaStickerPeerIdKey = @"peerId"; -NSString *const TGBridgeMediaStickerMessageIdKey = @"mid"; -NSString *const TGBridgeMediaStickerNotificationKey = @"notification"; -NSString *const TGBridgeMediaStickerSizeKey = @"size"; - -@implementation TGBridgeMediaStickerSubscription - -- (instancetype)initWithDocumentId:(int64_t)documentId stickerPackId:(int64_t)stickerPackId stickerPackAccessHash:(int64_t)stickerPackAccessHash stickerPeerId:(int64_t)stickerPeerId stickerMessageId:(int32_t)stickerMessageId notification:(bool)notification size:(CGSize)size -{ - self = [super init]; - if (self != nil) - { - _documentId = documentId; - _stickerPackId = stickerPackId; - _stickerPackAccessHash = stickerPackAccessHash; - _stickerPeerId = stickerPeerId; - _stickerMessageId = stickerMessageId; - _notification = notification; - _size = size; - } - return self; -} - -- (bool)renewable -{ - return false; -} - -- (void)_serializeParametersWithCoder:(NSCoder *)aCoder -{ - [aCoder encodeInt64:self.documentId forKey:TGBridgeMediaStickerDocumentIdKey]; - [aCoder encodeInt64:self.stickerPackId forKey:TGBridgeMediaStickerPackIdKey]; - [aCoder encodeInt64:self.stickerPackAccessHash forKey:TGBridgeMediaStickerPackAccessHashKey]; - [aCoder encodeInt64:self.stickerPeerId forKey:TGBridgeMediaStickerPeerIdKey]; - [aCoder encodeInt32:self.stickerMessageId forKey:TGBridgeMediaStickerMessageIdKey]; - [aCoder encodeBool:self.notification forKey:TGBridgeMediaStickerNotificationKey]; - [aCoder encodeCGSize:self.size forKey:TGBridgeMediaStickerSizeKey]; -} - -- (void)_unserializeParametersWithCoder:(NSCoder *)aDecoder -{ - _documentId = [aDecoder decodeInt64ForKey:TGBridgeMediaStickerDocumentIdKey]; - _stickerPackId = [aDecoder decodeInt64ForKey:TGBridgeMediaStickerPackIdKey]; - _stickerPackAccessHash = [aDecoder decodeInt64ForKey:TGBridgeMediaStickerPackAccessHashKey]; - _stickerPeerId = [aDecoder decodeInt64ForKey:TGBridgeMediaStickerPeerIdKey]; - _stickerMessageId = [aDecoder decodeInt32ForKey:TGBridgeMediaStickerMessageIdKey]; - _notification = [aDecoder decodeBoolForKey:TGBridgeMediaStickerNotificationKey]; - _size = [aDecoder decodeCGSizeForKey:TGBridgeMediaStickerSizeKey]; -} - -+ (NSString *)subscriptionName -{ - return TGBridgeMediaStickerSubscriptionName; -} - -@end - - -NSString *const TGBridgePeerSettingsSubscriptionName = @"peer.settings"; -NSString *const TGBridgePeerSettingsSubscriptionPeerIdKey = @"peerId"; - -@implementation TGBridgePeerSettingsSubscription - -- (instancetype)initWithPeerId:(int64_t)peerId -{ - self = [super init]; - if (self != nil) - { - _peerId = peerId; - } - return self; -} - -- (bool)dropPreviouslyQueued -{ - return true; -} - -- (void)_serializeParametersWithCoder:(NSCoder *)aCoder -{ - [aCoder encodeInt64:self.peerId forKey:TGBridgePeerSettingsSubscriptionPeerIdKey]; -} - -- (void)_unserializeParametersWithCoder:(NSCoder *)aDecoder -{ - _peerId = [aDecoder decodeInt64ForKey:TGBridgePeerSettingsSubscriptionPeerIdKey]; -} - -+ (NSString *)subscriptionName -{ - return TGBridgePeerSettingsSubscriptionName; -} - -@end - - -NSString *const TGBridgePeerUpdateNotificationSettingsSubscriptionName = @"peer.notificationSettings"; -NSString *const TGBridgePeerUpdateNotificationSettingsSubscriptionPeerIdKey = @"peerId"; - -@implementation TGBridgePeerUpdateNotificationSettingsSubscription - -- (instancetype)initWithPeerId:(int64_t)peerId -{ - self = [super init]; - if (self != nil) - { - _peerId = peerId; - } - return self; -} - -- (bool)renewable -{ - return false; -} - -- (void)_serializeParametersWithCoder:(NSCoder *)aCoder -{ - [aCoder encodeInt64:self.peerId forKey:TGBridgePeerUpdateNotificationSettingsSubscriptionPeerIdKey]; -} - -- (void)_unserializeParametersWithCoder:(NSCoder *)aDecoder -{ - _peerId = [aDecoder decodeInt64ForKey:TGBridgePeerUpdateNotificationSettingsSubscriptionPeerIdKey]; -} - -+ (NSString *)subscriptionName -{ - return TGBridgePeerUpdateNotificationSettingsSubscriptionName; -} - -@end - - -NSString *const TGBridgePeerUpdateBlockStatusSubscriptionName = @"peer.updateBlocked"; -NSString *const TGBridgePeerUpdateBlockStatusSubscriptionPeerIdKey = @"peerId"; -NSString *const TGBridgePeerUpdateBlockStatusSubscriptionBlockedKey = @"blocked"; - -@implementation TGBridgePeerUpdateBlockStatusSubscription - -- (instancetype)initWithPeerId:(int64_t)peerId blocked:(bool)blocked -{ - self = [super init]; - if (self != nil) - { - _peerId = peerId; - _blocked = blocked; - } - return self; -} - -- (bool)renewable -{ - return false; -} - -- (void)_serializeParametersWithCoder:(NSCoder *)aCoder -{ - [aCoder encodeInt64:self.peerId forKey:TGBridgePeerUpdateBlockStatusSubscriptionPeerIdKey]; - [aCoder encodeBool:self.blocked forKey:TGBridgePeerUpdateBlockStatusSubscriptionBlockedKey]; -} - -- (void)_unserializeParametersWithCoder:(NSCoder *)aDecoder -{ - _peerId = [aDecoder decodeInt64ForKey:TGBridgePeerUpdateBlockStatusSubscriptionPeerIdKey]; - _blocked = [aDecoder decodeBoolForKey:TGBridgePeerUpdateBlockStatusSubscriptionBlockedKey]; -} - -+ (NSString *)subscriptionName -{ - return TGBridgePeerUpdateBlockStatusSubscriptionName; -} - -@end - - -NSString *const TGBridgeRemoteSubscriptionName = @"remote.request"; -NSString *const TGBridgeRemotePeerIdKey = @"peerId"; -NSString *const TGBridgeRemoteMessageIdKey = @"mid"; -NSString *const TGBridgeRemoteTypeKey = @"mediaType"; -NSString *const TGBridgeRemoteAutoPlayKey = @"autoPlay"; - -@implementation TGBridgeRemoteSubscription - -- (instancetype)initWithPeerId:(int64_t)peerId messageId:(int32_t)messageId type:(int32_t)type autoPlay:(bool)autoPlay -{ - self = [super init]; - if (self != nil) - { - _peerId = peerId; - _messageId = messageId; - _type = type; - _autoPlay = autoPlay; - } - return self; -} - -- (bool)renewable -{ - return false; -} - -- (void)_serializeParametersWithCoder:(NSCoder *)aCoder -{ - [aCoder encodeInt64:self.peerId forKey:TGBridgeRemotePeerIdKey]; - [aCoder encodeInt32:self.messageId forKey:TGBridgeRemoteMessageIdKey]; - [aCoder encodeInt32:self.type forKey:TGBridgeRemoteTypeKey]; - [aCoder encodeBool:self.autoPlay forKey:TGBridgeRemoteAutoPlayKey]; -} - -- (void)_unserializeParametersWithCoder:(NSCoder *)aDecoder -{ - _peerId = [aDecoder decodeInt64ForKey:TGBridgeRemotePeerIdKey]; - _messageId = [aDecoder decodeInt32ForKey:TGBridgeRemoteMessageIdKey]; - _type = [aDecoder decodeInt32ForKey:TGBridgeRemoteTypeKey]; - _autoPlay = [aDecoder decodeBoolForKey:TGBridgeRemoteAutoPlayKey]; -} - -+ (NSString *)subscriptionName -{ - return TGBridgeRemoteSubscriptionName; -} - -@end - - -NSString *const TGBridgeSendTextMessageSubscriptionName = @"sendMessage.text"; -NSString *const TGBridgeSendTextMessageSubscriptionPeerIdKey = @"peerId"; -NSString *const TGBridgeSendTextMessageSubscriptionTextKey = @"text"; -NSString *const TGBridgeSendTextMessageSubscriptionReplyToMidKey = @"replyToMid"; - -@implementation TGBridgeSendTextMessageSubscription - -- (instancetype)initWithPeerId:(int64_t)peerId text:(NSString *)text replyToMid:(int32_t)replyToMid -{ - self = [super init]; - if (self != nil) - { - _peerId = peerId; - _text = text; - _replyToMid = replyToMid; - } - return self; -} - -- (bool)renewable -{ - return false; -} - -- (void)_serializeParametersWithCoder:(NSCoder *)aCoder -{ - [aCoder encodeInt64:self.peerId forKey:TGBridgeSendTextMessageSubscriptionPeerIdKey]; - [aCoder encodeObject:self.text forKey:TGBridgeSendTextMessageSubscriptionTextKey]; - [aCoder encodeInt32:self.replyToMid forKey:TGBridgeSendTextMessageSubscriptionReplyToMidKey]; -} - -- (void)_unserializeParametersWithCoder:(NSCoder *)aDecoder -{ - _peerId = [aDecoder decodeInt64ForKey:TGBridgeSendTextMessageSubscriptionPeerIdKey]; - _text = [aDecoder decodeObjectForKey:TGBridgeSendTextMessageSubscriptionTextKey]; - _replyToMid = [aDecoder decodeInt32ForKey:TGBridgeSendTextMessageSubscriptionReplyToMidKey]; -} - -+ (NSString *)subscriptionName -{ - return TGBridgeSendTextMessageSubscriptionName; -} - -@end - - -NSString *const TGBridgeSendStickerMessageSubscriptionName = @"sendMessage.sticker"; -NSString *const TGBridgeSendStickerMessageSubscriptionPeerIdKey = @"peerId"; -NSString *const TGBridgeSendStickerMessageSubscriptionDocumentKey = @"document"; -NSString *const TGBridgeSendStickerMessageSubscriptionReplyToMidKey = @"replyToMid"; - -@implementation TGBridgeSendStickerMessageSubscription - -- (instancetype)initWithPeerId:(int64_t)peerId document:(TGBridgeDocumentMediaAttachment *)document replyToMid:(int32_t)replyToMid -{ - self = [super init]; - if (self != nil) - { - _peerId = peerId; - _document = document; - _replyToMid = replyToMid; - } - return self; -} - -- (bool)renewable -{ - return false; -} - -- (void)_serializeParametersWithCoder:(NSCoder *)aCoder -{ - [aCoder encodeInt64:self.peerId forKey:TGBridgeSendStickerMessageSubscriptionPeerIdKey]; - [aCoder encodeObject:self.document forKey:TGBridgeSendStickerMessageSubscriptionDocumentKey]; - [aCoder encodeInt32:self.replyToMid forKey:TGBridgeSendStickerMessageSubscriptionReplyToMidKey]; -} - - -- (void)_unserializeParametersWithCoder:(NSCoder *)aDecoder -{ - _peerId = [aDecoder decodeInt64ForKey:TGBridgeSendStickerMessageSubscriptionPeerIdKey]; - _document = [aDecoder decodeObjectForKey:TGBridgeSendStickerMessageSubscriptionDocumentKey]; - _replyToMid = [aDecoder decodeInt32ForKey:TGBridgeSendStickerMessageSubscriptionReplyToMidKey]; -} - -+ (NSString *)subscriptionName -{ - return TGBridgeSendStickerMessageSubscriptionName; -} - -@end - - -NSString *const TGBridgeSendLocationMessageSubscriptionName = @"sendMessage.location"; -NSString *const TGBridgeSendLocationMessageSubscriptionPeerIdKey = @"peerId"; -NSString *const TGBridgeSendLocationMessageSubscriptionLocationKey = @"location"; -NSString *const TGBridgeSendLocationMessageSubscriptionReplyToMidKey = @"replyToMid"; - -@implementation TGBridgeSendLocationMessageSubscription - -- (instancetype)initWithPeerId:(int64_t)peerId location:(TGBridgeLocationMediaAttachment *)location replyToMid:(int32_t)replyToMid -{ - self = [super init]; - if (self != nil) - { - _peerId = peerId; - _location = location; - _replyToMid = replyToMid; - } - return self; -} - -- (bool)renewable -{ - return false; -} - -- (void)_serializeParametersWithCoder:(NSCoder *)aCoder -{ - [aCoder encodeInt64:self.peerId forKey:TGBridgeSendLocationMessageSubscriptionPeerIdKey]; - [aCoder encodeObject:self.location forKey:TGBridgeSendLocationMessageSubscriptionLocationKey]; - [aCoder encodeInt32:self.replyToMid forKey:TGBridgeSendLocationMessageSubscriptionReplyToMidKey]; -} - -- (void)_unserializeParametersWithCoder:(NSCoder *)aDecoder -{ - _peerId = [aDecoder decodeInt64ForKey:TGBridgeSendLocationMessageSubscriptionPeerIdKey]; - _location = [aDecoder decodeObjectForKey:TGBridgeSendLocationMessageSubscriptionLocationKey]; - _replyToMid = [aDecoder decodeInt32ForKey:TGBridgeSendLocationMessageSubscriptionReplyToMidKey]; -} - -+ (NSString *)subscriptionName -{ - return TGBridgeSendLocationMessageSubscriptionName; -} - -@end - - -NSString *const TGBridgeSendForwardedMessageSubscriptionName = @"sendMessage.forward"; -NSString *const TGBridgeSendForwardedMessageSubscriptionPeerIdKey = @"peerId"; -NSString *const TGBridgeSendForwardedMessageSubscriptionMidKey = @"mid"; -NSString *const TGBridgeSendForwardedMessageSubscriptionTargetPeerIdKey = @"targetPeerId"; - -@implementation TGBridgeSendForwardedMessageSubscription - -- (instancetype)initWithPeerId:(int64_t)peerId messageId:(int32_t)messageId targetPeerId:(int64_t)targetPeerId -{ - self = [super init]; - if (self != nil) - { - _peerId = peerId; - _messageId = messageId; - _targetPeerId = targetPeerId; - } - return self; -} - -- (bool)renewable -{ - return false; -} - -- (void)_serializeParametersWithCoder:(NSCoder *)aCoder -{ - [aCoder encodeInt64:self.peerId forKey:TGBridgeSendForwardedMessageSubscriptionPeerIdKey]; - [aCoder encodeInt32:self.messageId forKey:TGBridgeSendForwardedMessageSubscriptionMidKey]; - [aCoder encodeInt64:self.targetPeerId forKey:TGBridgeSendForwardedMessageSubscriptionTargetPeerIdKey]; -} - -- (void)_unserializeParametersWithCoder:(NSCoder *)aDecoder -{ - _peerId = [aDecoder decodeInt64ForKey:TGBridgeSendForwardedMessageSubscriptionPeerIdKey]; - _messageId = [aDecoder decodeInt32ForKey:TGBridgeSendForwardedMessageSubscriptionMidKey]; - _targetPeerId = [aDecoder decodeInt64ForKey:TGBridgeSendForwardedMessageSubscriptionTargetPeerIdKey]; -} - -+ (NSString *)subscriptionName -{ - return TGBridgeSendForwardedMessageSubscriptionName; -} - -@end - - -NSString *const TGBridgeStateSubscriptionName = @"state.syncState"; - -@implementation TGBridgeStateSubscription - -- (bool)dropPreviouslyQueued -{ - return true; -} - -+ (NSString *)subscriptionName -{ - return TGBridgeStateSubscriptionName; -} - -@end - - -NSString *const TGBridgeStickerPacksSubscriptionName = @"stickers.packs"; - -@implementation TGBridgeStickerPacksSubscription - -+ (NSString *)subscriptionName -{ - return TGBridgeStickerPacksSubscriptionName; -} - -@end - - -NSString *const TGBridgeRecentStickersSubscriptionName = @"stickers.recent"; -NSString *const TGBridgeRecentStickersSubscriptionLimitKey = @"limit"; - -@implementation TGBridgeRecentStickersSubscription - -- (instancetype)initWithLimit:(int32_t)limit -{ - self = [super init]; - if (self != nil) - { - _limit = limit; - } - return self; -} - -- (void)_serializeParametersWithCoder:(NSCoder *)aCoder -{ - [aCoder encodeInt32:self.limit forKey:TGBridgeRecentStickersSubscriptionLimitKey]; -} - -- (void)_unserializeParametersWithCoder:(NSCoder *)aDecoder -{ - _limit = [aDecoder decodeInt32ForKey:TGBridgeRecentStickersSubscriptionLimitKey]; -} - -+ (NSString *)subscriptionName -{ - return TGBridgeRecentStickersSubscriptionName; -} - -@end - - -NSString *const TGBridgeUserInfoSubscriptionName = @"user.userInfo"; -NSString *const TGBridgeUserInfoSubscriptionUserIdsKey = @"uids"; - -@implementation TGBridgeUserInfoSubscription - -- (instancetype)initWithUserIds:(NSArray *)userIds -{ - self = [super init]; - if (self != nil) - { - _userIds = userIds; - } - return self; -} - -- (bool)dropPreviouslyQueued -{ - return true; -} - -- (void)_serializeParametersWithCoder:(NSCoder *)aCoder -{ - [aCoder encodeObject:self.userIds forKey:TGBridgeUserInfoSubscriptionUserIdsKey]; -} - -- (void)_unserializeParametersWithCoder:(NSCoder *)aDecoder -{ - _userIds = [aDecoder decodeObjectForKey:TGBridgeUserInfoSubscriptionUserIdsKey]; -} - -+ (NSString *)subscriptionName -{ - return TGBridgeUserInfoSubscriptionName; -} - -@end - - -NSString *const TGBridgeUserBotInfoSubscriptionName = @"user.botInfo"; -NSString *const TGBridgeUserBotInfoSubscriptionUserIdsKey = @"uids"; - -@implementation TGBridgeUserBotInfoSubscription - -- (instancetype)initWithUserIds:(NSArray *)userIds -{ - self = [super init]; - if (self != nil) - { - _userIds = userIds; - } - return self; -} - -- (bool)dropPreviouslyQueued -{ - return true; -} - -- (void)_serializeParametersWithCoder:(NSCoder *)aCoder -{ - [aCoder encodeObject:self.userIds forKey:TGBridgeUserBotInfoSubscriptionUserIdsKey]; -} - -- (void)_unserializeParametersWithCoder:(NSCoder *)aDecoder -{ - _userIds = [aDecoder decodeObjectForKey:TGBridgeUserBotInfoSubscriptionUserIdsKey]; -} - -+ (NSString *)subscriptionName -{ - return TGBridgeUserBotInfoSubscriptionName; -} - -@end - - -NSString *const TGBridgeBotReplyMarkupSubscriptionName = @"user.botReplyMarkup"; -NSString *const TGBridgeBotReplyMarkupPeerIdKey = @"peerId"; - -@implementation TGBridgeBotReplyMarkupSubscription - -- (instancetype)initWithPeerId:(int64_t)peerId -{ - self = [super init]; - if (self != nil) - { - _peerId = peerId; - } - return self; -} - -- (bool)dropPreviouslyQueued -{ - return true; -} - -- (void)_serializeParametersWithCoder:(NSCoder *)aCoder -{ - [aCoder encodeInt64:self.peerId forKey:TGBridgeBotReplyMarkupPeerIdKey]; -} - -- (void)_unserializeParametersWithCoder:(NSCoder *)aDecoder -{ - _peerId = [aDecoder decodeInt64ForKey:TGBridgeBotReplyMarkupPeerIdKey]; -} - -+ (NSString *)subscriptionName -{ - return TGBridgeBotReplyMarkupSubscriptionName; -} - -@end diff --git a/submodules/WatchCommon/Watch/Sources/TGBridgeUnsupportedMediaAttachment.h b/submodules/WatchCommon/Watch/Sources/TGBridgeUnsupportedMediaAttachment.h deleted file mode 100644 index a115df56bf..0000000000 --- a/submodules/WatchCommon/Watch/Sources/TGBridgeUnsupportedMediaAttachment.h +++ /dev/null @@ -1,9 +0,0 @@ -#import - -@interface TGBridgeUnsupportedMediaAttachment : TGBridgeMediaAttachment - -@property (nonatomic, strong) NSString *compactTitle; -@property (nonatomic, strong) NSString *title; -@property (nonatomic, strong) NSString *subtitle; - -@end diff --git a/submodules/WatchCommon/Watch/Sources/TGBridgeUnsupportedMediaAttachment.m b/submodules/WatchCommon/Watch/Sources/TGBridgeUnsupportedMediaAttachment.m deleted file mode 100644 index b51e422fd1..0000000000 --- a/submodules/WatchCommon/Watch/Sources/TGBridgeUnsupportedMediaAttachment.m +++ /dev/null @@ -1,35 +0,0 @@ -#import "TGBridgeUnsupportedMediaAttachment.h" - -const NSInteger TGBridgeUnsupportedMediaAttachmentType = 0x3837BEF7; - -NSString *const TGBridgeUnsupportedMediaCompactTitleKey = @"compactTitle"; -NSString *const TGBridgeUnsupportedMediaTitleKey = @"title"; -NSString *const TGBridgeUnsupportedMediaSubtitleKey = @"subtitle"; - -@implementation TGBridgeUnsupportedMediaAttachment - -- (instancetype)initWithCoder:(NSCoder *)aDecoder -{ - self = [super init]; - if (self != nil) - { - _compactTitle = [aDecoder decodeObjectForKey:TGBridgeUnsupportedMediaCompactTitleKey]; - _title = [aDecoder decodeObjectForKey:TGBridgeUnsupportedMediaTitleKey]; - _subtitle = [aDecoder decodeObjectForKey:TGBridgeUnsupportedMediaSubtitleKey]; - } - return self; -} - -- (void)encodeWithCoder:(NSCoder *)aCoder -{ - [aCoder encodeObject:self.compactTitle forKey:TGBridgeUnsupportedMediaCompactTitleKey]; - [aCoder encodeObject:self.title forKey:TGBridgeUnsupportedMediaTitleKey]; - [aCoder encodeObject:self.subtitle forKey:TGBridgeUnsupportedMediaSubtitleKey]; -} - -+ (NSInteger)mediaType -{ - return TGBridgeUnsupportedMediaAttachmentType; -} - -@end diff --git a/submodules/WatchCommon/Watch/Sources/TGBridgeUser.h b/submodules/WatchCommon/Watch/Sources/TGBridgeUser.h deleted file mode 100644 index 9aca3fa520..0000000000 --- a/submodules/WatchCommon/Watch/Sources/TGBridgeUser.h +++ /dev/null @@ -1,59 +0,0 @@ -#import - -@class TGBridgeBotInfo; -@class TGBridgeUserChange; - -typedef NS_ENUM(NSUInteger, TGBridgeUserKind) { - TGBridgeUserKindGeneric, - TGBridgeUserKindBot, - TGBridgeUserKindSmartBot -}; - -typedef NS_ENUM(NSUInteger, TGBridgeBotKind) { - TGBridgeBotKindGeneric, - TGBridgeBotKindPrivate -}; - -@interface TGBridgeUser : NSObject - -@property (nonatomic) int64_t identifier; -@property (nonatomic, strong) NSString *firstName; -@property (nonatomic, strong) NSString *lastName; -@property (nonatomic, strong) NSString *userName; -@property (nonatomic, strong) NSString *phoneNumber; -@property (nonatomic, strong) NSString *prettyPhoneNumber; -@property (nonatomic, strong) NSString *about; - -@property (nonatomic) bool online; -@property (nonatomic) NSTimeInterval lastSeen; - -@property (nonatomic, strong) NSString *photoSmall; -@property (nonatomic, strong) NSString *photoBig; - -@property (nonatomic) TGBridgeUserKind kind; -@property (nonatomic) TGBridgeBotKind botKind; -@property (nonatomic) int32_t botVersion; - -@property (nonatomic) bool verified; - -@property (nonatomic) int32_t userVersion; - -- (NSString *)displayName; -- (TGBridgeUserChange *)changeFromUser:(TGBridgeUser *)user; -- (TGBridgeUser *)userByApplyingChange:(TGBridgeUserChange *)change; - -- (bool)isBot; - -@end - - -@interface TGBridgeUserChange : NSObject - -@property (nonatomic, readonly) int32_t userIdentifier; -@property (nonatomic, readonly) NSDictionary *fields; - -- (instancetype)initWithUserIdentifier:(int32_t)userIdentifier fields:(NSDictionary *)fields; - -@end - -extern NSString *const TGBridgeUsersDictionaryKey; diff --git a/submodules/WatchCommon/Watch/Sources/TGBridgeUser.m b/submodules/WatchCommon/Watch/Sources/TGBridgeUser.m deleted file mode 100644 index 4c0fed8d97..0000000000 --- a/submodules/WatchCommon/Watch/Sources/TGBridgeUser.m +++ /dev/null @@ -1,286 +0,0 @@ -#import "TGBridgeUser.h" -//#import "TGWatchCommon.h" -#import "TGBridgeBotInfo.h" - -//#import "../Extension/TGStringUtils.h" - -NSString *const TGBridgeUserIdentifierKey = @"identifier"; -NSString *const TGBridgeUserFirstNameKey = @"firstName"; -NSString *const TGBridgeUserLastNameKey = @"lastName"; -NSString *const TGBridgeUserUserNameKey = @"userName"; -NSString *const TGBridgeUserPhoneNumberKey = @"phoneNumber"; -NSString *const TGBridgeUserPrettyPhoneNumberKey = @"prettyPhoneNumber"; -NSString *const TGBridgeUserOnlineKey = @"online"; -NSString *const TGBridgeUserLastSeenKey = @"lastSeen"; -NSString *const TGBridgeUserPhotoSmallKey = @"photoSmall"; -NSString *const TGBridgeUserPhotoBigKey = @"photoBig"; -NSString *const TGBridgeUserKindKey = @"kind"; -NSString *const TGBridgeUserBotKindKey = @"botKind"; -NSString *const TGBridgeUserBotVersionKey = @"botVersion"; -NSString *const TGBridgeUserVerifiedKey = @"verified"; -NSString *const TGBridgeUserAboutKey = @"about"; -NSString *const TGBridgeUserVersionKey = @"version"; - -NSString *const TGBridgeUsersDictionaryKey = @"users"; - -@implementation TGBridgeUser - -- (instancetype)initWithCoder:(NSCoder *)aDecoder -{ - self = [super init]; - if (self != nil) - { - _identifier = [aDecoder decodeInt64ForKey:TGBridgeUserIdentifierKey]; - _firstName = [aDecoder decodeObjectForKey:TGBridgeUserFirstNameKey]; - _lastName = [aDecoder decodeObjectForKey:TGBridgeUserLastNameKey]; - _userName = [aDecoder decodeObjectForKey:TGBridgeUserUserNameKey]; - _phoneNumber = [aDecoder decodeObjectForKey:TGBridgeUserPhoneNumberKey]; - _prettyPhoneNumber = [aDecoder decodeObjectForKey:TGBridgeUserPrettyPhoneNumberKey]; - _online = [aDecoder decodeBoolForKey:TGBridgeUserOnlineKey]; - _lastSeen = [aDecoder decodeDoubleForKey:TGBridgeUserLastSeenKey]; - _photoSmall = [aDecoder decodeObjectForKey:TGBridgeUserPhotoSmallKey]; - _photoBig = [aDecoder decodeObjectForKey:TGBridgeUserPhotoBigKey]; - _kind = [aDecoder decodeInt32ForKey:TGBridgeUserKindKey]; - _botKind = [aDecoder decodeInt32ForKey:TGBridgeUserBotKindKey]; - _botVersion = [aDecoder decodeInt32ForKey:TGBridgeUserBotVersionKey]; - _verified = [aDecoder decodeBoolForKey:TGBridgeUserVerifiedKey]; - _about = [aDecoder decodeObjectForKey:TGBridgeUserAboutKey]; - _userVersion = [aDecoder decodeInt32ForKey:TGBridgeUserVersionKey]; - } - return self; -} - -- (void)encodeWithCoder:(NSCoder *)aCoder -{ - [aCoder encodeInt64:self.identifier forKey:TGBridgeUserIdentifierKey]; - [aCoder encodeObject:self.firstName forKey:TGBridgeUserFirstNameKey]; - [aCoder encodeObject:self.lastName forKey:TGBridgeUserLastNameKey]; - [aCoder encodeObject:self.userName forKey:TGBridgeUserUserNameKey]; - [aCoder encodeObject:self.phoneNumber forKey:TGBridgeUserPhoneNumberKey]; - [aCoder encodeObject:self.prettyPhoneNumber forKey:TGBridgeUserPrettyPhoneNumberKey]; - [aCoder encodeBool:self.online forKey:TGBridgeUserOnlineKey]; - [aCoder encodeDouble:self.lastSeen forKey:TGBridgeUserLastSeenKey]; - [aCoder encodeObject:self.photoSmall forKey:TGBridgeUserPhotoSmallKey]; - [aCoder encodeObject:self.photoBig forKey:TGBridgeUserPhotoBigKey]; - [aCoder encodeInt32:self.kind forKey:TGBridgeUserKindKey]; - [aCoder encodeInt32:self.botKind forKey:TGBridgeUserBotKindKey]; - [aCoder encodeInt32:self.botVersion forKey:TGBridgeUserBotVersionKey]; - [aCoder encodeBool:self.verified forKey:TGBridgeUserVerifiedKey]; - [aCoder encodeObject:self.about forKey:TGBridgeUserAboutKey]; - [aCoder encodeInt32:self.userVersion forKey:TGBridgeUserVersionKey]; -} - -- (instancetype)copyWithZone:(NSZone *)__unused zone -{ - TGBridgeUser *user = [[TGBridgeUser alloc] init]; - user->_identifier = self.identifier; - user->_firstName = self.firstName; - user->_lastName = self.lastName; - user->_userName = self.userName; - user->_phoneNumber = self.phoneNumber; - user->_prettyPhoneNumber = self.prettyPhoneNumber; - user->_online = self.online; - user->_lastSeen = self.lastSeen; - user->_photoSmall = self.photoSmall; - user->_photoBig = self.photoBig; - user->_kind = self.kind; - user->_botKind = self.botKind; - user->_botVersion = self.botVersion; - user->_verified = self.verified; - user->_about = self.about; - user->_userVersion = self.userVersion; - - return user; -} - -- (NSString *)displayName -{ - NSString *firstName = self.firstName; - NSString *lastName = self.lastName; - - if (firstName != nil && firstName.length != 0 && lastName != nil && lastName.length != 0) - { - return [[NSString alloc] initWithFormat:@"%@ %@", firstName, lastName]; - } - else if (firstName != nil && firstName.length != 0) - return firstName; - else if (lastName != nil && lastName.length != 0) - return lastName; - - return @""; -} - -- (bool)isBot -{ - return (self.kind == TGBridgeUserKindBot || self.kind ==TGBridgeUserKindSmartBot); -} - -- (TGBridgeUserChange *)changeFromUser:(TGBridgeUser *)user -{ - NSMutableDictionary *fields = [[NSMutableDictionary alloc] init]; - - [self _compareString:self.firstName oldString:user.firstName dict:fields key:TGBridgeUserFirstNameKey]; - [self _compareString:self.lastName oldString:user.lastName dict:fields key:TGBridgeUserLastNameKey]; - [self _compareString:self.userName oldString:user.userName dict:fields key:TGBridgeUserUserNameKey]; - [self _compareString:self.phoneNumber oldString:user.phoneNumber dict:fields key:TGBridgeUserPhoneNumberKey]; - [self _compareString:self.prettyPhoneNumber oldString:user.prettyPhoneNumber dict:fields key:TGBridgeUserPrettyPhoneNumberKey]; - - if (self.online != user.online) - fields[TGBridgeUserOnlineKey] = @(self.online); - - if (fabs(self.lastSeen - user.lastSeen) > DBL_EPSILON) - fields[TGBridgeUserLastSeenKey] = @(self.lastSeen); - - [self _compareString:self.photoSmall oldString:user.photoSmall dict:fields key:TGBridgeUserPhotoSmallKey]; - [self _compareString:self.photoBig oldString:user.photoBig dict:fields key:TGBridgeUserPhotoBigKey]; - - if (self.kind != user.kind) - fields[TGBridgeUserKindKey] = @(self.kind); - - if (self.botKind != user.botKind) - fields[TGBridgeUserBotKindKey] = @(self.botKind); - - if (self.botVersion != user.botVersion) - fields[TGBridgeUserBotVersionKey] = @(self.botVersion); - - if (self.verified != user.verified) - fields[TGBridgeUserVerifiedKey] = @(self.verified); - - if (fields.count == 0) - return nil; - - return [[TGBridgeUserChange alloc] initWithUserIdentifier:user.identifier fields:fields]; -} - -- (void)_compareString:(NSString *)newString oldString:(NSString *)oldString dict:(NSMutableDictionary *)dict key:(NSString *)key -{ - if (newString == nil && oldString == nil) - return; - - if (![newString isEqualToString:oldString]) - { - if (newString == nil) - dict[key] = [NSNull null]; - else - dict[key] = newString; - } -} - -- (TGBridgeUser *)userByApplyingChange:(TGBridgeUserChange *)change -{ - if (change.userIdentifier != self.identifier) - return nil; - - TGBridgeUser *user = [self copy]; - - NSString *firstNameChange = change.fields[TGBridgeUserFirstNameKey]; - if (firstNameChange != nil) - user->_firstName = [self _stringForFieldChange:firstNameChange]; - - NSString *lastNameChange = change.fields[TGBridgeUserLastNameKey]; - if (lastNameChange != nil) - user->_lastName = [self _stringForFieldChange:lastNameChange]; - - NSString *userNameChange = change.fields[TGBridgeUserUserNameKey]; - if (userNameChange != nil) - user->_userName = [self _stringForFieldChange:userNameChange]; - - NSString *phoneNumberChange = change.fields[TGBridgeUserPhoneNumberKey]; - if (phoneNumberChange != nil) - user->_phoneNumber = [self _stringForFieldChange:phoneNumberChange]; - - NSString *prettyPhoneNumberChange = change.fields[TGBridgeUserPrettyPhoneNumberKey]; - if (prettyPhoneNumberChange != nil) - user->_prettyPhoneNumber = [self _stringForFieldChange:prettyPhoneNumberChange]; - - NSNumber *onlineChange = change.fields[TGBridgeUserOnlineKey]; - if (onlineChange != nil) - user->_online = [onlineChange boolValue]; - - NSNumber *lastSeenChange = change.fields[TGBridgeUserLastSeenKey]; - if (lastSeenChange != nil) - user->_lastSeen = [lastSeenChange doubleValue]; - - NSString *photoSmallChange = change.fields[TGBridgeUserPhotoSmallKey]; - if (photoSmallChange != nil) - user->_photoSmall = [self _stringForFieldChange:photoSmallChange]; - - NSString *photoBigChange = change.fields[TGBridgeUserPhotoBigKey]; - if (photoBigChange != nil) - user->_photoBig = [self _stringForFieldChange:photoBigChange]; - - NSNumber *kindChange = change.fields[TGBridgeUserKindKey]; - if (kindChange != nil) - user->_kind = (int32_t)[kindChange intValue]; - - NSNumber *botKindChange = change.fields[TGBridgeUserBotKindKey]; - if (botKindChange != nil) - user->_botKind = (int32_t)[botKindChange intValue]; - - NSNumber *botVersionChange = change.fields[TGBridgeUserBotVersionKey]; - if (botVersionChange != nil) - user->_botVersion = (int32_t)[botVersionChange intValue]; - - NSNumber *verifiedChange = change.fields[TGBridgeUserVerifiedKey]; - if (verifiedChange != nil) - user->_verified = [verifiedChange boolValue]; - - return user; -} - -- (NSString *)_stringForFieldChange:(NSString *)fieldChange -{ - if ([fieldChange isKindOfClass:[NSNull class]]) - return nil; - - return fieldChange; -} - -- (BOOL)isEqual:(id)object -{ - if (object == self) - return YES; - - if (!object || ![object isKindOfClass:[self class]]) - return NO; - - return self.identifier == ((TGBridgeUser *)object).identifier; -} - -@end - - -NSString *const TGBridgeUserChangeIdentifierKey = @"userIdentifier"; -NSString *const TGBridgeUserChangeFieldsKey = @"fields"; - -@implementation TGBridgeUserChange - -- (instancetype)initWithUserIdentifier:(int32_t)userIdentifier fields:(NSDictionary *)fields -{ - self = [super init]; - if (self != nil) - { - _userIdentifier = userIdentifier; - _fields = fields; - } - return self; -} - -- (instancetype)initWithCoder:(NSCoder *)aDecoder -{ - self = [super init]; - if (self != nil) - { - _userIdentifier = [aDecoder decodeInt32ForKey:TGBridgeUserChangeIdentifierKey]; - _fields = [aDecoder decodeObjectForKey:TGBridgeUserChangeFieldsKey]; - } - return self; -} - -- (void)encodeWithCoder:(NSCoder *)aCoder -{ - [aCoder encodeInt32:self.userIdentifier forKey:TGBridgeUserChangeIdentifierKey]; - [aCoder encodeObject:self.fields forKey:TGBridgeUserChangeFieldsKey]; -} - -@end diff --git a/submodules/WatchCommon/Watch/Sources/TGBridgeVideoMediaAttachment.h b/submodules/WatchCommon/Watch/Sources/TGBridgeVideoMediaAttachment.h deleted file mode 100644 index 12eb34bd23..0000000000 --- a/submodules/WatchCommon/Watch/Sources/TGBridgeVideoMediaAttachment.h +++ /dev/null @@ -1,12 +0,0 @@ -#import - -#import - -@interface TGBridgeVideoMediaAttachment : TGBridgeMediaAttachment - -@property (nonatomic, assign) int64_t videoId; -@property (nonatomic, assign) int32_t duration; -@property (nonatomic, assign) CGSize dimensions; -@property (nonatomic, assign) bool round; - -@end diff --git a/submodules/WatchCommon/Watch/Sources/TGBridgeVideoMediaAttachment.m b/submodules/WatchCommon/Watch/Sources/TGBridgeVideoMediaAttachment.m deleted file mode 100644 index 66fe867996..0000000000 --- a/submodules/WatchCommon/Watch/Sources/TGBridgeVideoMediaAttachment.m +++ /dev/null @@ -1,39 +0,0 @@ -#import "TGBridgeVideoMediaAttachment.h" -#import - -const NSInteger TGBridgeVideoMediaAttachmentType = 0x338EAA20; - -NSString *const TGBridgeVideoMediaVideoIdKey = @"videoId"; -NSString *const TGBridgeVideoMediaDimensionsKey = @"dimensions"; -NSString *const TGBridgeVideoMediaDurationKey = @"duration"; -NSString *const TGBridgeVideoMediaRoundKey = @"round"; - -@implementation TGBridgeVideoMediaAttachment - -- (instancetype)initWithCoder:(NSCoder *)aDecoder -{ - self = [super init]; - if (self != nil) - { - _videoId = [aDecoder decodeInt64ForKey:TGBridgeVideoMediaVideoIdKey]; - _dimensions = [aDecoder decodeCGSizeForKey:TGBridgeVideoMediaDimensionsKey]; - _duration = [aDecoder decodeInt32ForKey:TGBridgeVideoMediaDurationKey]; - _round = [aDecoder decodeBoolForKey:TGBridgeVideoMediaRoundKey]; - } - return self; -} - -- (void)encodeWithCoder:(NSCoder *)aCoder -{ - [aCoder encodeInt64:self.videoId forKey:TGBridgeVideoMediaVideoIdKey]; - [aCoder encodeCGSize:self.dimensions forKey:TGBridgeVideoMediaDimensionsKey]; - [aCoder encodeInt32:self.duration forKey:TGBridgeVideoMediaDurationKey]; - [aCoder encodeBool:self.round forKey:TGBridgeVideoMediaRoundKey]; -} - -+ (NSInteger)mediaType -{ - return TGBridgeVideoMediaAttachmentType; -} - -@end diff --git a/submodules/WatchCommon/Watch/Sources/TGBridgeWebPageMediaAttachment.h b/submodules/WatchCommon/Watch/Sources/TGBridgeWebPageMediaAttachment.h deleted file mode 100644 index dda2a83e4a..0000000000 --- a/submodules/WatchCommon/Watch/Sources/TGBridgeWebPageMediaAttachment.h +++ /dev/null @@ -1,23 +0,0 @@ -#import - -#import - -@class TGBridgeImageMediaAttachment; - -@interface TGBridgeWebPageMediaAttachment : TGBridgeMediaAttachment - -@property (nonatomic, assign) int64_t webPageId; -@property (nonatomic, strong) NSString *url; -@property (nonatomic, strong) NSString *displayUrl; -@property (nonatomic, strong) NSString *pageType; -@property (nonatomic, strong) NSString *siteName; -@property (nonatomic, strong) NSString *title; -@property (nonatomic, strong) NSString *pageDescription; -@property (nonatomic, strong) TGBridgeImageMediaAttachment *photo; -@property (nonatomic, strong) NSString *embedUrl; -@property (nonatomic, strong) NSString *embedType; -@property (nonatomic, assign) CGSize embedSize; -@property (nonatomic, strong) NSNumber *duration; -@property (nonatomic, strong) NSString *author; - -@end diff --git a/submodules/WatchCommon/Watch/Sources/TGBridgeWebPageMediaAttachment.m b/submodules/WatchCommon/Watch/Sources/TGBridgeWebPageMediaAttachment.m deleted file mode 100644 index 3983075d69..0000000000 --- a/submodules/WatchCommon/Watch/Sources/TGBridgeWebPageMediaAttachment.m +++ /dev/null @@ -1,65 +0,0 @@ -#import "TGBridgeWebPageMediaAttachment.h" -#import "TGBridgeImageMediaAttachment.h" -#import - -const NSInteger TGBridgeWebPageMediaAttachmentType = 0x584197af; - -NSString *const TGBridgeWebPageMediaWebPageIdKey = @"webPageId"; -NSString *const TGBridgeWebPageMediaUrlKey = @"url"; -NSString *const TGBridgeWebPageMediaDisplayUrlKey = @"displayUrl"; -NSString *const TGBridgeWebPageMediaPageTypeKey = @"pageType"; -NSString *const TGBridgeWebPageMediaSiteNameKey = @"siteName"; -NSString *const TGBridgeWebPageMediaTitleKey = @"title"; -NSString *const TGBridgeWebPageMediaPageDescriptionKey = @"pageDescription"; -NSString *const TGBridgeWebPageMediaPhotoKey = @"photo"; -NSString *const TGBridgeWebPageMediaEmbedUrlKey = @"embedUrl"; -NSString *const TGBridgeWebPageMediaEmbedTypeKey = @"embedType"; -NSString *const TGBridgeWebPageMediaEmbedSizeKey = @"embedSize"; -NSString *const TGBridgeWebPageMediaDurationKey = @"duration"; -NSString *const TGBridgeWebPageMediaAuthorKey = @"author"; - -@implementation TGBridgeWebPageMediaAttachment - -- (instancetype)initWithCoder:(NSCoder *)aDecoder -{ - self = [super init]; - if (self != nil) - { - _webPageId = [aDecoder decodeInt64ForKey:TGBridgeWebPageMediaWebPageIdKey]; - _url = [aDecoder decodeObjectForKey:TGBridgeWebPageMediaUrlKey]; - _displayUrl = [aDecoder decodeObjectForKey:TGBridgeWebPageMediaDisplayUrlKey]; - _pageType = [aDecoder decodeObjectForKey:TGBridgeWebPageMediaPageTypeKey]; - _siteName = [aDecoder decodeObjectForKey:TGBridgeWebPageMediaSiteNameKey]; - _title = [aDecoder decodeObjectForKey:TGBridgeWebPageMediaTitleKey]; - _pageDescription = [aDecoder decodeObjectForKey:TGBridgeWebPageMediaPageDescriptionKey]; - _photo = [aDecoder decodeObjectForKey:TGBridgeWebPageMediaPhotoKey]; - _embedUrl = [aDecoder decodeObjectForKey:TGBridgeWebPageMediaEmbedUrlKey]; - _embedSize = [aDecoder decodeCGSizeForKey:TGBridgeWebPageMediaEmbedSizeKey]; - _duration = [aDecoder decodeObjectForKey:TGBridgeWebPageMediaDurationKey]; - _author = [aDecoder decodeObjectForKey:TGBridgeWebPageMediaAuthorKey]; - } - return self; -} - -- (void)encodeWithCoder:(NSCoder *)aCoder -{ - [aCoder encodeInt64:self.webPageId forKey:TGBridgeWebPageMediaWebPageIdKey]; - [aCoder encodeObject:self.url forKey:TGBridgeWebPageMediaUrlKey]; - [aCoder encodeObject:self.displayUrl forKey:TGBridgeWebPageMediaDisplayUrlKey]; - [aCoder encodeObject:self.pageType forKey:TGBridgeWebPageMediaPageTypeKey]; - [aCoder encodeObject:self.siteName forKey:TGBridgeWebPageMediaSiteNameKey]; - [aCoder encodeObject:self.title forKey:TGBridgeWebPageMediaTitleKey]; - [aCoder encodeObject:self.pageDescription forKey:TGBridgeWebPageMediaPageDescriptionKey]; - [aCoder encodeObject:self.photo forKey:TGBridgeWebPageMediaPhotoKey]; - [aCoder encodeObject:self.embedUrl forKey:TGBridgeWebPageMediaEmbedUrlKey]; - [aCoder encodeCGSize:self.embedSize forKey:TGBridgeWebPageMediaEmbedSizeKey]; - [aCoder encodeObject:self.duration forKey:TGBridgeWebPageMediaDurationKey]; - [aCoder encodeObject:self.author forKey:TGBridgeWebPageMediaAuthorKey]; -} - -+ (NSInteger)mediaType -{ - return TGBridgeWebPageMediaAttachmentType; -} - -@end diff --git a/submodules/WatchCommon/Watch/Sources/WatchCommonWatch.h b/submodules/WatchCommon/Watch/Sources/WatchCommonWatch.h deleted file mode 100644 index 38e8745e0f..0000000000 --- a/submodules/WatchCommon/Watch/Sources/WatchCommonWatch.h +++ /dev/null @@ -1,36 +0,0 @@ -#import - -//! Project version number for WatchCommon. -FOUNDATION_EXPORT double WatchCommonVersionNumber; - -//! Project version string for WatchCommon. -FOUNDATION_EXPORT const unsigned char WatchCommonVersionString[]; - -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import - diff --git a/third-party/libx264/BUILD b/third-party/libx264/BUILD deleted file mode 100644 index ca94eee818..0000000000 --- a/third-party/libx264/BUILD +++ /dev/null @@ -1,211 +0,0 @@ - -headers = [ - "x264.h", - "x264_config.h", -] - -libs = [ - "x264", -] - -filegroup( - name = "libx264_sources", - srcs = glob([ - "x264/**/*" - ], exclude = [ - "x264/.git/**/*" - ]), -) - - -genrule( - name = "lib264_build", - srcs = [ - "build-libx264-bazel.sh", - ":libx264_sources", - ], - cmd_bash = - """ - set -ex - - if [ "$(TARGET_CPU)" == "ios_armv7" ]; then - BUILD_ARCH="armv7" - PLATFORM_HEADER_DIR="armv7-darwin-gcc" - elif [ "$(TARGET_CPU)" == "ios_arm64" ]; then - BUILD_ARCH="arm64" - PLATFORM_HEADER_DIR="arm64-darwin-gcc" - elif [ "$(TARGET_CPU)" == "ios_sim_arm64" ]; then - BUILD_ARCH="sim_arm64" - PLATFORM_HEADER_DIR="arm64-iphonesimulator-gcc" - elif [ "$(TARGET_CPU)" == "ios_x86_64" ]; then - BUILD_ARCH="x86_64" - PLATFORM_HEADER_DIR="x86_64-iphonesimulator-gcc" - else - echo "Unsupported architecture $(TARGET_CPU)" - fi - - BUILD_DIR="$(RULEDIR)/build_$${BUILD_ARCH}" - rm -rf "$$BUILD_DIR" - mkdir -p "$$BUILD_DIR" - - YASM_DIR="$$BUILD_DIR/yasm" - rm -rf "$$YASM_DIR" - mkdir -p "$$YASM_DIR" - tar -xf "$(location //third-party/yasm:yasm.tar)" -C "$$YASM_DIR" - ABS_YASM_DIR="$$(pwd)/$$(dirname $$YASM_DIR)/$$(basename $$YASM_DIR)" - - cp $(location :build-libx264-bazel.sh) "$$BUILD_DIR/" - - SOURCE_PATH="third-party/libx264/x264" - - cp -R "$$SOURCE_PATH" "$$BUILD_DIR/" - - mkdir -p "$$BUILD_DIR/Public/libx264" - - PATH="$$PATH:$$ABS_YASM_DIR" sh $$BUILD_DIR/build-libx264-bazel.sh $$BUILD_ARCH "$$BUILD_DIR/x264" "$$BUILD_DIR" - """ + - "\n".join([ - "cp -f \"$$BUILD_DIR/scratch/thin/include/{}\" \"$(location Public/libx264/{})\"".format(header, header) for header in headers - ]) + - "\n" + - "\n".join([ - "cp -f \"$$BUILD_DIR/scratch/thin/lib/lib{}.a\" \"$(location Public/libx264/lib{}.a)\"".format(lib, lib) for lib in libs - ]) + - "\n", - outs = ["Public/libx264/" + x for x in headers] + - ["Public/libx264/lib{}.a".format(x) for x in libs], - tools = [ - "//third-party/yasm:yasm.tar", - ], - visibility = [ - "//visibility:public", - ] -) - -cc_library( - name = "libx264_lib", - srcs = [":Public/libx264/lib" + x + ".a" for x in libs], -) - -cc_library( - name = "libx264", - srcs = [ -"x264/common/osdep.c", -"x264/common/base.c", -"x264/common/cpu.c", -"x264/common/tables.c", -"x264/encoder/api.c", -"x264/common/mc.c", -"x264/common/predict.c", -"x264/common/pixel.c", -"x264/common/macroblock.c", -"x264/common/frame.c", -"x264/common/dct.c", -"x264/common/cabac.c", -"x264/common/common.c", -"x264/common/rectangle.c", -"x264/common/set.c", -"x264/common/quant.c", -"x264/common/deblock.c", -"x264/common/vlc.c", -"x264/common/mvpred.c", -"x264/common/bitstream.c", -"x264/encoder/analyse.c", -"x264/encoder/me.c", -"x264/encoder/ratecontrol.c", -"x264/encoder/set.c", -"x264/encoder/macroblock.c", -"x264/encoder/cabac.c", -"x264/encoder/cavlc.c", -"x264/encoder/encoder.c", -"x264/encoder/lookahead.c", -"x264/common/threadpool.c", - -"x264/encoder/analyse.h", -"x264/encoder/macroblock.h", -"x264/encoder/me.h", -"x264/encoder/ratecontrol.h", -"x264/encoder/set.h", -"x264/common/base.h", -"x264/common/osdep.h", -"x264/common/cpu.h", -"x264/common/tables.h", -"x264/common/common.h", -"x264/common/cabac.h", -"x264/common/bitstream.h", -"x264/common/set.h", -"x264/common/predict.h", -"x264/common/pixel.h", -"x264/common/mc.h", -"x264/common/frame.h", -"x264/common/dct.h", -"x264/common/quant.h", -"x264/common/threadpool.h", -"x264/common/macroblock.h", -"x264/common/rectangle.h", -"Public/libx264/x264_config.h", -"config/config.h", -"x264/x264.h", - -"x264/common/aarch64/asm-offsets.h", -"x264/common/aarch64/bitstream.h", -"x264/common/aarch64/deblock.h", -"x264/common/aarch64/dct.h", -"x264/common/aarch64/mc.h", -"x264/common/aarch64/predict.h", -"x264/common/aarch64/quant.h", -"x264/common/aarch64/pixel.h", - -"x264/common/aarch64/cabac-a.S", -"x264/common/aarch64/dct-a.S", -"x264/common/aarch64/deblock-a.S", -"x264/common/aarch64/mc-a.S", -"x264/common/aarch64/pixel-a.S", -"x264/common/aarch64/predict-a.S", -"x264/common/aarch64/quant-a.S", -"x264/common/aarch64/bitstream-a.S", - -"x264/common/aarch64/asm-offsets.c", -"x264/common/aarch64/mc-c.c", -"x264/common/aarch64/predict-c.c", - ], - hdrs = [ -"x264/encoder/rdo.c", -"x264/encoder/cavlc.c", -"x264/encoder/cabac.c", -"x264/encoder/slicetype.c", -"x264/common/aarch64/asm.S", - ], - includes = [ - "Public", - ], - copts = [ - "-Ithird-party/libx264/x264", - "-Ithird-party/libx264/config", - "-Ithird-party/libx264/Public/libx264", - "-DBIT_DEPTH=8", - "-DHIGH_BIT_DEPTH=0", - "-DPREFIX", - "-Dprivate_prefix=x264_8", - ], - visibility = [ - "//visibility:public", - ], -) - -objc_library( - name = "libx264_old", - module_name = "libx264_old", - enable_modules = True, - hdrs = [":Public/libx264/" + x for x in headers], - includes = [ - "Public", - ], - deps = [ - ":libx264_lib", - ":libx264_from_source", - ], - visibility = [ - "//visibility:public", - ], -) diff --git a/third-party/libx264/Public/libx264/x264.h b/third-party/libx264/Public/libx264/x264.h deleted file mode 100644 index 5aa2a8d70b..0000000000 --- a/third-party/libx264/Public/libx264/x264.h +++ /dev/null @@ -1,1019 +0,0 @@ -/***************************************************************************** - * x264.h: x264 public header - ***************************************************************************** - * Copyright (C) 2003-2022 x264 project - * - * Authors: Laurent Aimar - * Loren Merritt - * Fiona Glaser - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111, USA. - * - * This program is also available under a commercial proprietary license. - * For more information, contact us at licensing@x264.com. - *****************************************************************************/ - -#ifndef X264_X264_H -#define X264_X264_H - -#ifdef __cplusplus -extern "C" { -#endif - -#if !defined(_STDINT_H) && !defined(_STDINT_H_) && !defined(_STDINT_H_INCLUDED) && !defined(_STDINT) &&\ - !defined(_SYS_STDINT_H_) && !defined(_INTTYPES_H) && !defined(_INTTYPES_H_) && !defined(_INTTYPES) -# ifdef _MSC_VER -# pragma message("You must include stdint.h or inttypes.h before x264.h") -# else -# warning You must include stdint.h or inttypes.h before x264.h -# endif -#endif - -#include - -#include "x264_config.h" - -#define X264_BUILD 164 - -#ifdef _WIN32 -# define X264_DLL_IMPORT __declspec(dllimport) -# define X264_DLL_EXPORT __declspec(dllexport) -#else -# if defined(__GNUC__) && (__GNUC__ >= 4) -# define X264_DLL_IMPORT -# define X264_DLL_EXPORT __attribute__((visibility("default"))) -# else -# define X264_DLL_IMPORT -# define X264_DLL_EXPORT -# endif -#endif - -/* Application developers planning to link against a shared library version of - * libx264 from a Microsoft Visual Studio or similar development environment - * will need to define X264_API_IMPORTS before including this header. - * This clause does not apply to MinGW, similar development environments, or non - * Windows platforms. */ -#ifdef X264_API_IMPORTS -# define X264_API X264_DLL_IMPORT -#else -# ifdef X264_API_EXPORTS -# define X264_API X264_DLL_EXPORT -# else -# define X264_API -# endif -#endif - -/* x264_t: - * opaque handler for encoder */ -typedef struct x264_t x264_t; - -/**************************************************************************** - * NAL structure and functions - ****************************************************************************/ - -enum nal_unit_type_e -{ - NAL_UNKNOWN = 0, - NAL_SLICE = 1, - NAL_SLICE_DPA = 2, - NAL_SLICE_DPB = 3, - NAL_SLICE_DPC = 4, - NAL_SLICE_IDR = 5, /* ref_idc != 0 */ - NAL_SEI = 6, /* ref_idc == 0 */ - NAL_SPS = 7, - NAL_PPS = 8, - NAL_AUD = 9, - NAL_FILLER = 12, - /* ref_idc == 0 for 6,9,10,11,12 */ -}; -enum nal_priority_e -{ - NAL_PRIORITY_DISPOSABLE = 0, - NAL_PRIORITY_LOW = 1, - NAL_PRIORITY_HIGH = 2, - NAL_PRIORITY_HIGHEST = 3, -}; - -/* The data within the payload is already NAL-encapsulated; the ref_idc and type - * are merely in the struct for easy access by the calling application. - * All data returned in an x264_nal_t, including the data in p_payload, is no longer - * valid after the next call to x264_encoder_encode. Thus it must be used or copied - * before calling x264_encoder_encode or x264_encoder_headers again. */ -typedef struct x264_nal_t -{ - int i_ref_idc; /* nal_priority_e */ - int i_type; /* nal_unit_type_e */ - int b_long_startcode; - int i_first_mb; /* If this NAL is a slice, the index of the first MB in the slice. */ - int i_last_mb; /* If this NAL is a slice, the index of the last MB in the slice. */ - - /* Size of payload (including any padding) in bytes. */ - int i_payload; - /* If param->b_annexb is set, Annex-B bytestream with startcode. - * Otherwise, startcode is replaced with a 4-byte size. - * This size is the size used in mp4/similar muxing; it is equal to i_payload-4 */ - uint8_t *p_payload; - - /* Size of padding in bytes. */ - int i_padding; -} x264_nal_t; - -/**************************************************************************** - * Encoder parameters - ****************************************************************************/ -/* CPU flags */ - -/* x86 */ -#define X264_CPU_MMX (1U<<0) -#define X264_CPU_MMX2 (1U<<1) /* MMX2 aka MMXEXT aka ISSE */ -#define X264_CPU_MMXEXT X264_CPU_MMX2 -#define X264_CPU_SSE (1U<<2) -#define X264_CPU_SSE2 (1U<<3) -#define X264_CPU_LZCNT (1U<<4) -#define X264_CPU_SSE3 (1U<<5) -#define X264_CPU_SSSE3 (1U<<6) -#define X264_CPU_SSE4 (1U<<7) /* SSE4.1 */ -#define X264_CPU_SSE42 (1U<<8) /* SSE4.2 */ -#define X264_CPU_AVX (1U<<9) /* Requires OS support even if YMM registers aren't used */ -#define X264_CPU_XOP (1U<<10) /* AMD XOP */ -#define X264_CPU_FMA4 (1U<<11) /* AMD FMA4 */ -#define X264_CPU_FMA3 (1U<<12) -#define X264_CPU_BMI1 (1U<<13) -#define X264_CPU_BMI2 (1U<<14) -#define X264_CPU_AVX2 (1U<<15) -#define X264_CPU_AVX512 (1U<<16) /* AVX-512 {F, CD, BW, DQ, VL}, requires OS support */ -/* x86 modifiers */ -#define X264_CPU_CACHELINE_32 (1U<<17) /* avoid memory loads that span the border between two cachelines */ -#define X264_CPU_CACHELINE_64 (1U<<18) /* 32/64 is the size of a cacheline in bytes */ -#define X264_CPU_SSE2_IS_SLOW (1U<<19) /* avoid most SSE2 functions on Athlon64 */ -#define X264_CPU_SSE2_IS_FAST (1U<<20) /* a few functions are only faster on Core2 and Phenom */ -#define X264_CPU_SLOW_SHUFFLE (1U<<21) /* The Conroe has a slow shuffle unit (relative to overall SSE performance) */ -#define X264_CPU_STACK_MOD4 (1U<<22) /* if stack is only mod4 and not mod16 */ -#define X264_CPU_SLOW_ATOM (1U<<23) /* The Atom is terrible: slow SSE unaligned loads, slow - * SIMD multiplies, slow SIMD variable shifts, slow pshufb, - * cacheline split penalties -- gather everything here that - * isn't shared by other CPUs to avoid making half a dozen - * new SLOW flags. */ -#define X264_CPU_SLOW_PSHUFB (1U<<24) /* such as on the Intel Atom */ -#define X264_CPU_SLOW_PALIGNR (1U<<25) /* such as on the AMD Bobcat */ - -/* PowerPC */ -#define X264_CPU_ALTIVEC 0x0000001U - -/* ARM and AArch64 */ -#define X264_CPU_ARMV6 0x0000001U -#define X264_CPU_NEON 0x0000002U /* ARM NEON */ -#define X264_CPU_FAST_NEON_MRC 0x0000004U /* Transfer from NEON to ARM register is fast (Cortex-A9) */ -#define X264_CPU_ARMV8 0x0000008U - -/* MIPS */ -#define X264_CPU_MSA 0x0000001U /* MIPS MSA */ - -/* Analyse flags */ -#define X264_ANALYSE_I4x4 0x0001U /* Analyse i4x4 */ -#define X264_ANALYSE_I8x8 0x0002U /* Analyse i8x8 (requires 8x8 transform) */ -#define X264_ANALYSE_PSUB16x16 0x0010U /* Analyse p16x8, p8x16 and p8x8 */ -#define X264_ANALYSE_PSUB8x8 0x0020U /* Analyse p8x4, p4x8, p4x4 */ -#define X264_ANALYSE_BSUB16x16 0x0100U /* Analyse b16x8, b8x16 and b8x8 */ - -#define X264_DIRECT_PRED_NONE 0 -#define X264_DIRECT_PRED_SPATIAL 1 -#define X264_DIRECT_PRED_TEMPORAL 2 -#define X264_DIRECT_PRED_AUTO 3 -#define X264_ME_DIA 0 -#define X264_ME_HEX 1 -#define X264_ME_UMH 2 -#define X264_ME_ESA 3 -#define X264_ME_TESA 4 -#define X264_CQM_FLAT 0 -#define X264_CQM_JVT 1 -#define X264_CQM_CUSTOM 2 -#define X264_RC_CQP 0 -#define X264_RC_CRF 1 -#define X264_RC_ABR 2 -#define X264_QP_AUTO 0 -#define X264_AQ_NONE 0 -#define X264_AQ_VARIANCE 1 -#define X264_AQ_AUTOVARIANCE 2 -#define X264_AQ_AUTOVARIANCE_BIASED 3 -#define X264_B_ADAPT_NONE 0 -#define X264_B_ADAPT_FAST 1 -#define X264_B_ADAPT_TRELLIS 2 -#define X264_WEIGHTP_NONE 0 -#define X264_WEIGHTP_SIMPLE 1 -#define X264_WEIGHTP_SMART 2 -#define X264_B_PYRAMID_NONE 0 -#define X264_B_PYRAMID_STRICT 1 -#define X264_B_PYRAMID_NORMAL 2 -#define X264_KEYINT_MIN_AUTO 0 -#define X264_KEYINT_MAX_INFINITE (1<<30) - -/* AVC-Intra flavors */ -#define X264_AVCINTRA_FLAVOR_PANASONIC 0 -#define X264_AVCINTRA_FLAVOR_SONY 1 - -static const char * const x264_direct_pred_names[] = { "none", "spatial", "temporal", "auto", 0 }; -static const char * const x264_motion_est_names[] = { "dia", "hex", "umh", "esa", "tesa", 0 }; -static const char * const x264_b_pyramid_names[] = { "none", "strict", "normal", 0 }; -static const char * const x264_overscan_names[] = { "undef", "show", "crop", 0 }; -static const char * const x264_vidformat_names[] = { "component", "pal", "ntsc", "secam", "mac", "undef", 0 }; -static const char * const x264_fullrange_names[] = { "off", "on", 0 }; -static const char * const x264_colorprim_names[] = { "", "bt709", "undef", "", "bt470m", "bt470bg", "smpte170m", "smpte240m", "film", "bt2020", "smpte428", - "smpte431", "smpte432", 0 }; -static const char * const x264_transfer_names[] = { "", "bt709", "undef", "", "bt470m", "bt470bg", "smpte170m", "smpte240m", "linear", "log100", "log316", - "iec61966-2-4", "bt1361e", "iec61966-2-1", "bt2020-10", "bt2020-12", "smpte2084", "smpte428", "arib-std-b67", 0 }; -static const char * const x264_colmatrix_names[] = { "GBR", "bt709", "undef", "", "fcc", "bt470bg", "smpte170m", "smpte240m", "YCgCo", "bt2020nc", "bt2020c", - "smpte2085", "chroma-derived-nc", "chroma-derived-c", "ICtCp", 0 }; -static const char * const x264_nal_hrd_names[] = { "none", "vbr", "cbr", 0 }; -static const char * const x264_avcintra_flavor_names[] = { "panasonic", "sony", 0 }; - -/* Colorspace type */ -#define X264_CSP_MASK 0x00ff /* */ -#define X264_CSP_NONE 0x0000 /* Invalid mode */ -#define X264_CSP_I400 0x0001 /* monochrome 4:0:0 */ -#define X264_CSP_I420 0x0002 /* yuv 4:2:0 planar */ -#define X264_CSP_YV12 0x0003 /* yvu 4:2:0 planar */ -#define X264_CSP_NV12 0x0004 /* yuv 4:2:0, with one y plane and one packed u+v */ -#define X264_CSP_NV21 0x0005 /* yuv 4:2:0, with one y plane and one packed v+u */ -#define X264_CSP_I422 0x0006 /* yuv 4:2:2 planar */ -#define X264_CSP_YV16 0x0007 /* yvu 4:2:2 planar */ -#define X264_CSP_NV16 0x0008 /* yuv 4:2:2, with one y plane and one packed u+v */ -#define X264_CSP_YUYV 0x0009 /* yuyv 4:2:2 packed */ -#define X264_CSP_UYVY 0x000a /* uyvy 4:2:2 packed */ -#define X264_CSP_V210 0x000b /* 10-bit yuv 4:2:2 packed in 32 */ -#define X264_CSP_I444 0x000c /* yuv 4:4:4 planar */ -#define X264_CSP_YV24 0x000d /* yvu 4:4:4 planar */ -#define X264_CSP_BGR 0x000e /* packed bgr 24bits */ -#define X264_CSP_BGRA 0x000f /* packed bgr 32bits */ -#define X264_CSP_RGB 0x0010 /* packed rgb 24bits */ -#define X264_CSP_MAX 0x0011 /* end of list */ -#define X264_CSP_VFLIP 0x1000 /* the csp is vertically flipped */ -#define X264_CSP_HIGH_DEPTH 0x2000 /* the csp has a depth of 16 bits per pixel component */ - -/* Slice type */ -#define X264_TYPE_AUTO 0x0000 /* Let x264 choose the right type */ -#define X264_TYPE_IDR 0x0001 -#define X264_TYPE_I 0x0002 -#define X264_TYPE_P 0x0003 -#define X264_TYPE_BREF 0x0004 /* Non-disposable B-frame */ -#define X264_TYPE_B 0x0005 -#define X264_TYPE_KEYFRAME 0x0006 /* IDR or I depending on b_open_gop option */ -#define IS_X264_TYPE_I(x) ((x)==X264_TYPE_I || (x)==X264_TYPE_IDR || (x)==X264_TYPE_KEYFRAME) -#define IS_X264_TYPE_B(x) ((x)==X264_TYPE_B || (x)==X264_TYPE_BREF) - -/* Log level */ -#define X264_LOG_NONE (-1) -#define X264_LOG_ERROR 0 -#define X264_LOG_WARNING 1 -#define X264_LOG_INFO 2 -#define X264_LOG_DEBUG 3 - -/* Threading */ -#define X264_THREADS_AUTO 0 /* Automatically select optimal number of threads */ -#define X264_SYNC_LOOKAHEAD_AUTO (-1) /* Automatically select optimal lookahead thread buffer size */ - -/* HRD */ -#define X264_NAL_HRD_NONE 0 -#define X264_NAL_HRD_VBR 1 -#define X264_NAL_HRD_CBR 2 - -/* Zones: override ratecontrol or other options for specific sections of the video. - * See x264_encoder_reconfig() for which options can be changed. - * If zones overlap, whichever comes later in the list takes precedence. */ -typedef struct x264_zone_t -{ - int i_start, i_end; /* range of frame numbers */ - int b_force_qp; /* whether to use qp vs bitrate factor */ - int i_qp; - float f_bitrate_factor; - struct x264_param_t *param; -} x264_zone_t; - -typedef struct x264_param_t -{ - /* CPU flags */ - uint32_t cpu; - int i_threads; /* encode multiple frames in parallel */ - int i_lookahead_threads; /* multiple threads for lookahead analysis */ - int b_sliced_threads; /* Whether to use slice-based threading. */ - int b_deterministic; /* whether to allow non-deterministic optimizations when threaded */ - int b_cpu_independent; /* force canonical behavior rather than cpu-dependent optimal algorithms */ - int i_sync_lookahead; /* threaded lookahead buffer */ - - /* Video Properties */ - int i_width; - int i_height; - int i_csp; /* CSP of encoded bitstream */ - int i_bitdepth; - int i_level_idc; - int i_frame_total; /* number of frames to encode if known, else 0 */ - - /* NAL HRD - * Uses Buffering and Picture Timing SEIs to signal HRD - * The HRD in H.264 was not designed with VFR in mind. - * It is therefore not recommendeded to use NAL HRD with VFR. - * Furthermore, reconfiguring the VBV (via x264_encoder_reconfig) - * will currently generate invalid HRD. */ - int i_nal_hrd; - - struct - { - /* they will be reduced to be 0 < x <= 65535 and prime */ - int i_sar_height; - int i_sar_width; - - int i_overscan; /* 0=undef, 1=no overscan, 2=overscan */ - - /* see h264 annex E for the values of the following */ - int i_vidformat; - int b_fullrange; - int i_colorprim; - int i_transfer; - int i_colmatrix; - int i_chroma_loc; /* both top & bottom */ - } vui; - - /* Bitstream parameters */ - int i_frame_reference; /* Maximum number of reference frames */ - int i_dpb_size; /* Force a DPB size larger than that implied by B-frames and reference frames. - * Useful in combination with interactive error resilience. */ - int i_keyint_max; /* Force an IDR keyframe at this interval */ - int i_keyint_min; /* Scenecuts closer together than this are coded as I, not IDR. */ - int i_scenecut_threshold; /* how aggressively to insert extra I frames */ - int b_intra_refresh; /* Whether or not to use periodic intra refresh instead of IDR frames. */ - - int i_bframe; /* how many b-frame between 2 references pictures */ - int i_bframe_adaptive; - int i_bframe_bias; - int i_bframe_pyramid; /* Keep some B-frames as references: 0=off, 1=strict hierarchical, 2=normal */ - int b_open_gop; - int b_bluray_compat; - int i_avcintra_class; - int i_avcintra_flavor; - - int b_deblocking_filter; - int i_deblocking_filter_alphac0; /* [-6, 6] -6 light filter, 6 strong */ - int i_deblocking_filter_beta; /* [-6, 6] idem */ - - int b_cabac; - int i_cabac_init_idc; - - int b_interlaced; - int b_constrained_intra; - - int i_cqm_preset; - char *psz_cqm_file; /* filename (in UTF-8) of CQM file, JM format */ - uint8_t cqm_4iy[16]; /* used only if i_cqm_preset == X264_CQM_CUSTOM */ - uint8_t cqm_4py[16]; - uint8_t cqm_4ic[16]; - uint8_t cqm_4pc[16]; - uint8_t cqm_8iy[64]; - uint8_t cqm_8py[64]; - uint8_t cqm_8ic[64]; - uint8_t cqm_8pc[64]; - - /* Log */ - void (*pf_log)( void *, int i_level, const char *psz, va_list ); - void *p_log_private; - int i_log_level; - int b_full_recon; /* fully reconstruct frames, even when not necessary for encoding. Implied by psz_dump_yuv */ - char *psz_dump_yuv; /* filename (in UTF-8) for reconstructed frames */ - - /* Encoder analyser parameters */ - struct - { - unsigned int intra; /* intra partitions */ - unsigned int inter; /* inter partitions */ - - int b_transform_8x8; - int i_weighted_pred; /* weighting for P-frames */ - int b_weighted_bipred; /* implicit weighting for B-frames */ - int i_direct_mv_pred; /* spatial vs temporal mv prediction */ - int i_chroma_qp_offset; - - int i_me_method; /* motion estimation algorithm to use (X264_ME_*) */ - int i_me_range; /* integer pixel motion estimation search range (from predicted mv) */ - int i_mv_range; /* maximum length of a mv (in pixels). -1 = auto, based on level */ - int i_mv_range_thread; /* minimum space between threads. -1 = auto, based on number of threads. */ - int i_subpel_refine; /* subpixel motion estimation quality */ - int b_chroma_me; /* chroma ME for subpel and mode decision in P-frames */ - int b_mixed_references; /* allow each mb partition to have its own reference number */ - int i_trellis; /* trellis RD quantization */ - int b_fast_pskip; /* early SKIP detection on P-frames */ - int b_dct_decimate; /* transform coefficient thresholding on P-frames */ - int i_noise_reduction; /* adaptive pseudo-deadzone */ - float f_psy_rd; /* Psy RD strength */ - float f_psy_trellis; /* Psy trellis strength */ - int b_psy; /* Toggle all psy optimizations */ - - int b_mb_info; /* Use input mb_info data in x264_picture_t */ - int b_mb_info_update; /* Update the values in mb_info according to the results of encoding. */ - - /* the deadzone size that will be used in luma quantization */ - int i_luma_deadzone[2]; /* {inter, intra} */ - - int b_psnr; /* compute and print PSNR stats */ - int b_ssim; /* compute and print SSIM stats */ - } analyse; - - /* Rate control parameters */ - struct - { - int i_rc_method; /* X264_RC_* */ - - int i_qp_constant; /* 0=lossless */ - int i_qp_min; /* min allowed QP value */ - int i_qp_max; /* max allowed QP value */ - int i_qp_step; /* max QP step between frames */ - - int i_bitrate; - float f_rf_constant; /* 1pass VBR, nominal QP */ - float f_rf_constant_max; /* In CRF mode, maximum CRF as caused by VBV */ - float f_rate_tolerance; - int i_vbv_max_bitrate; - int i_vbv_buffer_size; - float f_vbv_buffer_init; /* <=1: fraction of buffer_size. >1: kbit */ - float f_ip_factor; - float f_pb_factor; - - /* VBV filler: force CBR VBV and use filler bytes to ensure hard-CBR. - * Implied by NAL-HRD CBR. */ - int b_filler; - - int i_aq_mode; /* psy adaptive QP. (X264_AQ_*) */ - float f_aq_strength; - int b_mb_tree; /* Macroblock-tree ratecontrol. */ - int i_lookahead; - - /* 2pass */ - int b_stat_write; /* Enable stat writing in psz_stat_out */ - char *psz_stat_out; /* output filename (in UTF-8) of the 2pass stats file */ - int b_stat_read; /* Read stat from psz_stat_in and use it */ - char *psz_stat_in; /* input filename (in UTF-8) of the 2pass stats file */ - - /* 2pass params (same as ffmpeg ones) */ - float f_qcompress; /* 0.0 => cbr, 1.0 => constant qp */ - float f_qblur; /* temporally blur quants */ - float f_complexity_blur; /* temporally blur complexity */ - x264_zone_t *zones; /* ratecontrol overrides */ - int i_zones; /* number of zone_t's */ - char *psz_zones; /* alternate method of specifying zones */ - } rc; - - /* Cropping Rectangle parameters: added to those implicitly defined by - non-mod16 video resolutions. */ - struct - { - int i_left; - int i_top; - int i_right; - int i_bottom; - } crop_rect; - - /* frame packing arrangement flag */ - int i_frame_packing; - - /* mastering display SEI: Primary and white point chromaticity coordinates - in 0.00002 increments. Brightness units are 0.0001 cd/m^2. */ - struct - { - int b_mastering_display; /* enable writing this SEI */ - int i_green_x; - int i_green_y; - int i_blue_x; - int i_blue_y; - int i_red_x; - int i_red_y; - int i_white_x; - int i_white_y; - int64_t i_display_max; - int64_t i_display_min; - } mastering_display; - - /* content light level SEI */ - struct - { - int b_cll; /* enable writing this SEI */ - int i_max_cll; - int i_max_fall; - } content_light_level; - - /* alternative transfer SEI */ - int i_alternative_transfer; - - /* Muxing parameters */ - int b_aud; /* generate access unit delimiters */ - int b_repeat_headers; /* put SPS/PPS before each keyframe */ - int b_annexb; /* if set, place start codes (4 bytes) before NAL units, - * otherwise place size (4 bytes) before NAL units. */ - int i_sps_id; /* SPS and PPS id number */ - int b_vfr_input; /* VFR input. If 1, use timebase and timestamps for ratecontrol purposes. - * If 0, use fps only. */ - int b_pulldown; /* use explicitly set timebase for CFR */ - uint32_t i_fps_num; - uint32_t i_fps_den; - uint32_t i_timebase_num; /* Timebase numerator */ - uint32_t i_timebase_den; /* Timebase denominator */ - - int b_tff; - - /* Pulldown: - * The correct pic_struct must be passed with each input frame. - * The input timebase should be the timebase corresponding to the output framerate. This should be constant. - * e.g. for 3:2 pulldown timebase should be 1001/30000 - * The PTS passed with each frame must be the PTS of the frame after pulldown is applied. - * Frame doubling and tripling require b_vfr_input set to zero (see H.264 Table D-1) - * - * Pulldown changes are not clearly defined in H.264. Therefore, it is the calling app's responsibility to manage this. - */ - - int b_pic_struct; - - /* Fake Interlaced. - * - * Used only when b_interlaced=0. Setting this flag makes it possible to flag the stream as PAFF interlaced yet - * encode all frames progessively. It is useful for encoding 25p and 30p Blu-Ray streams. - */ - - int b_fake_interlaced; - - /* Don't optimize header parameters based on video content, e.g. ensure that splitting an input video, compressing - * each part, and stitching them back together will result in identical SPS/PPS. This is necessary for stitching - * with container formats that don't allow multiple SPS/PPS. */ - int b_stitchable; - - int b_opencl; /* use OpenCL when available */ - int i_opencl_device; /* specify count of GPU devices to skip, for CLI users */ - void *opencl_device_id; /* pass explicit cl_device_id as void*, for API users */ - char *psz_clbin_file; /* filename (in UTF-8) of the compiled OpenCL kernel cache file */ - - /* Slicing parameters */ - int i_slice_max_size; /* Max size per slice in bytes; includes estimated NAL overhead. */ - int i_slice_max_mbs; /* Max number of MBs per slice; overrides i_slice_count. */ - int i_slice_min_mbs; /* Min number of MBs per slice */ - int i_slice_count; /* Number of slices per frame: forces rectangular slices. */ - int i_slice_count_max; /* Absolute cap on slices per frame; stops applying slice-max-size - * and slice-max-mbs if this is reached. */ - - /* Optional callback for freeing this x264_param_t when it is done being used. - * Only used when the x264_param_t sits in memory for an indefinite period of time, - * i.e. when an x264_param_t is passed to x264_t in an x264_picture_t or in zones. - * Not used when x264_encoder_reconfig is called directly. */ - void (*param_free)( void* ); - - /* Optional low-level callback for low-latency encoding. Called for each output NAL unit - * immediately after the NAL unit is finished encoding. This allows the calling application - * to begin processing video data (e.g. by sending packets over a network) before the frame - * is done encoding. - * - * This callback MUST do the following in order to work correctly: - * 1) Have available an output buffer of at least size nal->i_payload*3/2 + 5 + 64. - * 2) Call x264_nal_encode( h, dst, nal ), where dst is the output buffer. - * After these steps, the content of nal is valid and can be used in the same way as if - * the NAL unit were output by x264_encoder_encode. - * - * This does not need to be synchronous with the encoding process: the data pointed to - * by nal (both before and after x264_nal_encode) will remain valid until the next - * x264_encoder_encode call. The callback must be re-entrant. - * - * This callback does not work with frame-based threads; threads must be disabled - * or sliced-threads enabled. This callback also does not work as one would expect - * with HRD -- since the buffering period SEI cannot be calculated until the frame - * is finished encoding, it will not be sent via this callback. - * - * Note also that the NALs are not necessarily returned in order when sliced threads is - * enabled. Accordingly, the variable i_first_mb and i_last_mb are available in - * x264_nal_t to help the calling application reorder the slices if necessary. - * - * When this callback is enabled, x264_encoder_encode does not return valid NALs; - * the calling application is expected to acquire all output NALs through the callback. - * - * It is generally sensible to combine this callback with a use of slice-max-mbs or - * slice-max-size. - * - * The opaque pointer is the opaque pointer from the input frame associated with this - * NAL unit. This helps distinguish between nalu_process calls from different sources, - * e.g. if doing multiple encodes in one process. - */ - void (*nalu_process)( x264_t *h, x264_nal_t *nal, void *opaque ); - - /* For internal use only */ - void *opaque; -} x264_param_t; - -X264_API void x264_nal_encode( x264_t *h, uint8_t *dst, x264_nal_t *nal ); - -/**************************************************************************** - * H.264 level restriction information - ****************************************************************************/ - -typedef struct x264_level_t -{ - uint8_t level_idc; - int32_t mbps; /* max macroblock processing rate (macroblocks/sec) */ - int32_t frame_size; /* max frame size (macroblocks) */ - int32_t dpb; /* max decoded picture buffer (mbs) */ - int32_t bitrate; /* max bitrate (kbit/sec) */ - int32_t cpb; /* max vbv buffer (kbit) */ - uint16_t mv_range; /* max vertical mv component range (pixels) */ - uint8_t mvs_per_2mb; /* max mvs per 2 consecutive mbs. */ - uint8_t slice_rate; /* ?? */ - uint8_t mincr; /* min compression ratio */ - uint8_t bipred8x8; /* limit bipred to >=8x8 */ - uint8_t direct8x8; /* limit b_direct to >=8x8 */ - uint8_t frame_only; /* forbid interlacing */ -} x264_level_t; - -/* all of the levels defined in the standard, terminated by .level_idc=0 */ -X264_API extern const x264_level_t x264_levels[]; - -/**************************************************************************** - * Basic parameter handling functions - ****************************************************************************/ - -/* x264_param_default: - * fill x264_param_t with default values and do CPU detection */ -X264_API void x264_param_default( x264_param_t * ); - -/* x264_param_parse: - * set one parameter by name. - * returns 0 on success, or returns one of the following errors. - * note: BAD_VALUE occurs only if it can't even parse the value, - * numerical range is not checked until x264_encoder_open() or - * x264_encoder_reconfig(). - * value=NULL means "true" for boolean options, but is a BAD_VALUE for non-booleans. - * can allocate memory which should be freed by call of x264_param_cleanup. */ -#define X264_PARAM_BAD_NAME (-1) -#define X264_PARAM_BAD_VALUE (-2) -#define X264_PARAM_ALLOC_FAILED (-3) -X264_API int x264_param_parse( x264_param_t *, const char *name, const char *value ); - -/* x264_param_cleanup: - * Cleans up and frees allocated members of x264_param_t. - * This *does not* free the x264_param_t itself, as it may exist on the - * stack. It only frees any members of the struct that were allocated by - * x264 itself, in e.g. x264_param_parse(). */ -X264_API void x264_param_cleanup( x264_param_t *param ); - -/**************************************************************************** - * Advanced parameter handling functions - ****************************************************************************/ - -/* These functions expose the full power of x264's preset-tune-profile system for - * easy adjustment of large numbers of internal parameters. - * - * In order to replicate x264CLI's option handling, these functions MUST be called - * in the following order: - * 1) x264_param_default_preset - * 2) Custom user options (via param_parse or directly assigned variables) - * 3) x264_param_apply_fastfirstpass - * 4) x264_param_apply_profile - * - * Additionally, x264CLI does not apply step 3 if the preset chosen is "placebo" - * or --slow-firstpass is set. */ - -/* x264_param_default_preset: - * The same as x264_param_default, but also use the passed preset and tune - * to modify the default settings. - * (either can be NULL, which implies no preset or no tune, respectively) - * - * Currently available presets are, ordered from fastest to slowest: */ -static const char * const x264_preset_names[] = { "ultrafast", "superfast", "veryfast", "faster", "fast", "medium", "slow", "slower", "veryslow", "placebo", 0 }; - -/* The presets can also be indexed numerically, as in: - * x264_param_default_preset( ¶m, "3", ... ) - * with ultrafast mapping to "0" and placebo mapping to "9". This mapping may - * of course change if new presets are added in between, but will always be - * ordered from fastest to slowest. - * - * Warning: the speed of these presets scales dramatically. Ultrafast is a full - * 100 times faster than placebo! - * - * Currently available tunings are: */ -static const char * const x264_tune_names[] = { "film", "animation", "grain", "stillimage", "psnr", "ssim", "fastdecode", "zerolatency", 0 }; - -/* Multiple tunings can be used if separated by a delimiter in ",./-+", - * however multiple psy tunings cannot be used. - * film, animation, grain, stillimage, psnr, and ssim are psy tunings. - * - * returns 0 on success, negative on failure (e.g. invalid preset/tune name). */ -X264_API int x264_param_default_preset( x264_param_t *, const char *preset, const char *tune ); - -/* x264_param_apply_fastfirstpass: - * If first-pass mode is set (rc.b_stat_read == 0, rc.b_stat_write == 1), - * modify the encoder settings to disable options generally not useful on - * the first pass. */ -X264_API void x264_param_apply_fastfirstpass( x264_param_t * ); - -/* x264_param_apply_profile: - * Applies the restrictions of the given profile. - * Currently available profiles are, from most to least restrictive: */ -static const char * const x264_profile_names[] = { "baseline", "main", "high", "high10", "high422", "high444", 0 }; - -/* (can be NULL, in which case the function will do nothing) - * - * Does NOT guarantee that the given profile will be used: if the restrictions - * of "High" are applied to settings that are already Baseline-compatible, the - * stream will remain baseline. In short, it does not increase settings, only - * decrease them. - * - * returns 0 on success, negative on failure (e.g. invalid profile name). */ -X264_API int x264_param_apply_profile( x264_param_t *, const char *profile ); - -/**************************************************************************** - * Picture structures and functions - ****************************************************************************/ - -/* x264_chroma_format: - * Specifies the chroma formats that x264 supports encoding. When this - * value is non-zero, then it represents a X264_CSP_* that is the only - * chroma format that x264 supports encoding. If the value is 0 then - * there are no restrictions. */ -X264_API extern const int x264_chroma_format; - -enum pic_struct_e -{ - PIC_STRUCT_AUTO = 0, // automatically decide (default) - PIC_STRUCT_PROGRESSIVE = 1, // progressive frame - // "TOP" and "BOTTOM" are not supported in x264 (PAFF only) - PIC_STRUCT_TOP_BOTTOM = 4, // top field followed by bottom - PIC_STRUCT_BOTTOM_TOP = 5, // bottom field followed by top - PIC_STRUCT_TOP_BOTTOM_TOP = 6, // top field, bottom field, top field repeated - PIC_STRUCT_BOTTOM_TOP_BOTTOM = 7, // bottom field, top field, bottom field repeated - PIC_STRUCT_DOUBLE = 8, // double frame - PIC_STRUCT_TRIPLE = 9, // triple frame -}; - -typedef struct x264_hrd_t -{ - double cpb_initial_arrival_time; - double cpb_final_arrival_time; - double cpb_removal_time; - - double dpb_output_time; -} x264_hrd_t; - -/* Arbitrary user SEI: - * Payload size is in bytes and the payload pointer must be valid. - * Payload types and syntax can be found in Annex D of the H.264 Specification. - * SEI payload alignment bits as described in Annex D must be included at the - * end of the payload if needed. - * The payload should not be NAL-encapsulated. - * Payloads are written first in order of input, apart from in the case when HRD - * is enabled where payloads are written after the Buffering Period SEI. */ - -typedef struct x264_sei_payload_t -{ - int payload_size; - int payload_type; - uint8_t *payload; -} x264_sei_payload_t; - -typedef struct x264_sei_t -{ - int num_payloads; - x264_sei_payload_t *payloads; - /* In: optional callback to free each payload AND x264_sei_payload_t when used. */ - void (*sei_free)( void* ); -} x264_sei_t; - -typedef struct x264_image_t -{ - int i_csp; /* Colorspace */ - int i_plane; /* Number of image planes */ - int i_stride[4]; /* Strides for each plane */ - uint8_t *plane[4]; /* Pointers to each plane */ -} x264_image_t; - -typedef struct x264_image_properties_t -{ - /* All arrays of data here are ordered as follows: - * each array contains one offset per macroblock, in raster scan order. In interlaced - * mode, top-field MBs and bottom-field MBs are interleaved at the row level. - * Macroblocks are 16x16 blocks of pixels (with respect to the luma plane). For the - * purposes of calculating the number of macroblocks, width and height are rounded up to - * the nearest 16. If in interlaced mode, height is rounded up to the nearest 32 instead. */ - - /* In: an array of quantizer offsets to be applied to this image during encoding. - * These are added on top of the decisions made by x264. - * Offsets can be fractional; they are added before QPs are rounded to integer. - * Adaptive quantization must be enabled to use this feature. Behavior if quant - * offsets differ between encoding passes is undefined. */ - float *quant_offsets; - /* In: optional callback to free quant_offsets when used. - * Useful if one wants to use a different quant_offset array for each frame. */ - void (*quant_offsets_free)( void* ); - - /* In: optional array of flags for each macroblock. - * Allows specifying additional information for the encoder such as which macroblocks - * remain unchanged. Usable flags are listed below. - * x264_param_t.analyse.b_mb_info must be set to use this, since x264 needs to track - * extra data internally to make full use of this information. - * - * Out: if b_mb_info_update is set, x264 will update this array as a result of encoding. - * - * For "MBINFO_CONSTANT", it will remove this flag on any macroblock whose decoded - * pixels have changed. This can be useful for e.g. noting which areas of the - * frame need to actually be blitted. Note: this intentionally ignores the effects - * of deblocking for the current frame, which should be fine unless one needs exact - * pixel-perfect accuracy. - * - * Results for MBINFO_CONSTANT are currently only set for P-frames, and are not - * guaranteed to enumerate all blocks which haven't changed. (There may be false - * negatives, but no false positives.) - */ - uint8_t *mb_info; - /* In: optional callback to free mb_info when used. */ - void (*mb_info_free)( void* ); - - /* The macroblock is constant and remains unchanged from the previous frame. */ - #define X264_MBINFO_CONSTANT (1U<<0) - /* More flags may be added in the future. */ - - /* Out: SSIM of the the frame luma (if x264_param_t.b_ssim is set) */ - double f_ssim; - /* Out: Average PSNR of the frame (if x264_param_t.b_psnr is set) */ - double f_psnr_avg; - /* Out: PSNR of Y, U, and V (if x264_param_t.b_psnr is set) */ - double f_psnr[3]; - - /* Out: Average effective CRF of the encoded frame */ - double f_crf_avg; -} x264_image_properties_t; - -typedef struct x264_picture_t -{ - /* In: force picture type (if not auto) - * If x264 encoding parameters are violated in the forcing of picture types, - * x264 will correct the input picture type and log a warning. - * Out: type of the picture encoded */ - int i_type; - /* In: force quantizer for != X264_QP_AUTO */ - int i_qpplus1; - /* In: pic_struct, for pulldown/doubling/etc...used only if b_pic_struct=1. - * use pic_struct_e for pic_struct inputs - * Out: pic_struct element associated with frame */ - int i_pic_struct; - /* Out: whether this frame is a keyframe. Important when using modes that result in - * SEI recovery points being used instead of IDR frames. */ - int b_keyframe; - /* In: user pts, Out: pts of encoded picture (user)*/ - int64_t i_pts; - /* Out: frame dts. When the pts of the first frame is close to zero, - * initial frames may have a negative dts which must be dealt with by any muxer */ - int64_t i_dts; - /* In: custom encoding parameters to be set from this frame forwards - (in coded order, not display order). If NULL, continue using - parameters from the previous frame. Some parameters, such as - aspect ratio, can only be changed per-GOP due to the limitations - of H.264 itself; in this case, the caller must force an IDR frame - if it needs the changed parameter to apply immediately. */ - x264_param_t *param; - /* In: raw image data */ - /* Out: reconstructed image data. x264 may skip part of the reconstruction process, - e.g. deblocking, in frames where it isn't necessary. To force complete - reconstruction, at a small speed cost, set b_full_recon. */ - x264_image_t img; - /* In: optional information to modify encoder decisions for this frame - * Out: information about the encoded frame */ - x264_image_properties_t prop; - /* Out: HRD timing information. Output only when i_nal_hrd is set. */ - x264_hrd_t hrd_timing; - /* In: arbitrary user SEI (e.g subtitles, AFDs) */ - x264_sei_t extra_sei; - /* private user data. copied from input to output frames. */ - void *opaque; -} x264_picture_t; - -/* x264_picture_init: - * initialize an x264_picture_t. Needs to be done if the calling application - * allocates its own x264_picture_t as opposed to using x264_picture_alloc. */ -X264_API void x264_picture_init( x264_picture_t *pic ); - -/* x264_picture_alloc: - * alloc data for a picture. You must call x264_picture_clean on it. - * returns 0 on success, or -1 on malloc failure or invalid colorspace. */ -X264_API int x264_picture_alloc( x264_picture_t *pic, int i_csp, int i_width, int i_height ); - -/* x264_picture_clean: - * free associated resource for a x264_picture_t allocated with - * x264_picture_alloc ONLY */ -X264_API void x264_picture_clean( x264_picture_t *pic ); - -/**************************************************************************** - * Encoder functions - ****************************************************************************/ - -/* Force a link error in the case of linking against an incompatible API version. - * Glue #defines exist to force correct macro expansion; the final output of the macro - * is x264_encoder_open_##X264_BUILD (for purposes of dlopen). */ -#define x264_encoder_glue1(x,y) x##y -#define x264_encoder_glue2(x,y) x264_encoder_glue1(x,y) -#define x264_encoder_open x264_encoder_glue2(x264_encoder_open_,X264_BUILD) - -/* x264_encoder_open: - * create a new encoder handler, all parameters from x264_param_t are copied */ -X264_API x264_t *x264_encoder_open( x264_param_t * ); - -/* x264_encoder_reconfig: - * various parameters from x264_param_t are copied. - * this takes effect immediately, on whichever frame is encoded next; - * due to delay, this may not be the next frame passed to encoder_encode. - * if the change should apply to some particular frame, use x264_picture_t->param instead. - * returns 0 on success, negative on parameter validation error. - * not all parameters can be changed; see the actual function for a detailed breakdown. - * - * since not all parameters can be changed, moving from preset to preset may not always - * fully copy all relevant parameters, but should still work usably in practice. however, - * more so than for other presets, many of the speed shortcuts used in ultrafast cannot be - * switched out of; using reconfig to switch between ultrafast and other presets is not - * recommended without a more fine-grained breakdown of parameters to take this into account. */ -X264_API int x264_encoder_reconfig( x264_t *, x264_param_t * ); -/* x264_encoder_parameters: - * copies the current internal set of parameters to the pointer provided - * by the caller. useful when the calling application needs to know - * how x264_encoder_open has changed the parameters, or the current state - * of the encoder after multiple x264_encoder_reconfig calls. - * note that the data accessible through pointers in the returned param struct - * (e.g. filenames) should not be modified by the calling application. */ -X264_API void x264_encoder_parameters( x264_t *, x264_param_t * ); -/* x264_encoder_headers: - * return the SPS and PPS that will be used for the whole stream. - * *pi_nal is the number of NAL units outputted in pp_nal. - * returns the number of bytes in the returned NALs. - * returns negative on error. - * the payloads of all output NALs are guaranteed to be sequential in memory. */ -X264_API int x264_encoder_headers( x264_t *, x264_nal_t **pp_nal, int *pi_nal ); -/* x264_encoder_encode: - * encode one picture. - * *pi_nal is the number of NAL units outputted in pp_nal. - * returns the number of bytes in the returned NALs. - * returns negative on error and zero if no NAL units returned. - * the payloads of all output NALs are guaranteed to be sequential in memory. */ -X264_API int x264_encoder_encode( x264_t *, x264_nal_t **pp_nal, int *pi_nal, x264_picture_t *pic_in, x264_picture_t *pic_out ); -/* x264_encoder_close: - * close an encoder handler */ -X264_API void x264_encoder_close( x264_t * ); -/* x264_encoder_delayed_frames: - * return the number of currently delayed (buffered) frames - * this should be used at the end of the stream, to know when you have all the encoded frames. */ -X264_API int x264_encoder_delayed_frames( x264_t * ); -/* x264_encoder_maximum_delayed_frames( x264_t * ): - * return the maximum number of delayed (buffered) frames that can occur with the current - * parameters. */ -X264_API int x264_encoder_maximum_delayed_frames( x264_t * ); -/* x264_encoder_intra_refresh: - * If an intra refresh is not in progress, begin one with the next P-frame. - * If an intra refresh is in progress, begin one as soon as the current one finishes. - * Requires that b_intra_refresh be set. - * - * Useful for interactive streaming where the client can tell the server that packet loss has - * occurred. In this case, keyint can be set to an extremely high value so that intra refreshes - * only occur when calling x264_encoder_intra_refresh. - * - * In multi-pass encoding, if x264_encoder_intra_refresh is called differently in each pass, - * behavior is undefined. - * - * Should not be called during an x264_encoder_encode. */ -X264_API void x264_encoder_intra_refresh( x264_t * ); -/* x264_encoder_invalidate_reference: - * An interactive error resilience tool, designed for use in a low-latency one-encoder-few-clients - * system. When the client has packet loss or otherwise incorrectly decodes a frame, the encoder - * can be told with this command to "forget" the frame and all frames that depend on it, referencing - * only frames that occurred before the loss. This will force a keyframe if no frames are left to - * reference after the aforementioned "forgetting". - * - * It is strongly recommended to use a large i_dpb_size in this case, which allows the encoder to - * keep around extra, older frames to fall back on in case more recent frames are all invalidated. - * Unlike increasing i_frame_reference, this does not increase the number of frames used for motion - * estimation and thus has no speed impact. It is also recommended to set a very large keyframe - * interval, so that keyframes are not used except as necessary for error recovery. - * - * x264_encoder_invalidate_reference is not currently compatible with the use of B-frames or intra - * refresh. - * - * In multi-pass encoding, if x264_encoder_invalidate_reference is called differently in each pass, - * behavior is undefined. - * - * Should not be called during an x264_encoder_encode, but multiple calls can be made simultaneously. - * - * Returns 0 on success, negative on failure. */ -X264_API int x264_encoder_invalidate_reference( x264_t *, int64_t pts ); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/third-party/libx264/Public/libx264/x264_config.h b/third-party/libx264/Public/libx264/x264_config.h deleted file mode 100644 index 66f26c8cf1..0000000000 --- a/third-party/libx264/Public/libx264/x264_config.h +++ /dev/null @@ -1,6 +0,0 @@ -#define X264_GPL 1 -#define X264_INTERLACED 1 -#define X264_BIT_DEPTH 8 -#define X264_CHROMA_FORMAT 0 -#define X264_VERSION "" -#define X264_POINTVER "0.164.x" diff --git a/third-party/libx264/build-libx264-bazel.sh b/third-party/libx264/build-libx264-bazel.sh deleted file mode 100755 index 1bd34b04c5..0000000000 --- a/third-party/libx264/build-libx264-bazel.sh +++ /dev/null @@ -1,89 +0,0 @@ -#! /bin/sh - -set -e -set -x - -RAW_ARCH="$1" - -SOURCE_DIR=$(echo "$(cd "$(dirname "$2")"; pwd -P)/$(basename "$2")") -BUILD_DIR=$(echo "$(cd "$(dirname "$3")"; pwd -P)/$(basename "$3")") - -SCRATCH="$BUILD_DIR/scratch" - -#set -e -#devnull='> /dev/null 2>&1' - -DEPLOYMENT_TARGET="13.0" -CONFIGURE_FLAGS="--enable-static --enable-pic --disable-cli --bit-depth=8 --disable-opencl" - -echo "building $RAW_ARCH..." -mkdir -p "$SCRATCH/$RAW_ARCH" -cd "$SCRATCH/$RAW_ARCH" -ASFLAGS= - -if [ "$RAW_ARCH" = "i386" -o "$RAW_ARCH" = "x86_64" ] -then - ARCH="$RAW_ARCH" - PLATFORM="iPhoneSimulator" - CPU="" - CFLAGS="$CFLAGS -mios-simulator-version-min=$DEPLOYMENT_TARGET" - HOST="--host=i386-apple-darwin" -elif [ "$RAW_ARCH" = "sim_arm64" ]; then - ARCH="arm64" - PLATFORM="iPhoneSimulator" - CFLAGS="$CFLAGS -mios-simulator-version-min=$DEPLOYMENT_TARGET --target=arm64-apple-ios$DEPLOYMENT_TARGET-simulator" - HOST="--host=aarch64-apple-darwin" -else - ARCH="$RAW_ARCH" - PLATFORM="iPhoneOS" - HOST="--host=aarch64-apple-darwin" - XARCH="-arch aarch64" - CFLAGS="$CFLAGS -mios-version-min=$DEPLOYMENT_TARGET" - ASFLAGS="$CFLAGS" - if [ "$RAW_ARCH" = "arm64" ] - then - EXPORT="GASPP_FIX_XCODE5=1" - fi -fi - -CFLAGS="-arch $ARCH" - -#if [ "$ARCH" = "i386" -o "$ARCH" = "x86_64" -o "$ARCH" = "" ]; then -# PLATFORM="iPhoneSimulator" -# CPU= -# if [ "$ARCH" = "x86_64" ] -# then -# CFLAGS="$CFLAGS -mios-simulator-version-min=7.0" -# HOST= -# else -# CFLAGS="$CFLAGS -mios-simulator-version-min=5.0" -# HOST="--host=i386-apple-darwin" -# fi -#else -# PLATFORM="iPhoneOS" -# if [ $ARCH = "arm64" ] -# then -# HOST="--host=aarch64-apple-darwin" -# XARCH="-arch aarch64" -# else -# HOST="--host=arm-apple-darwin" -# XARCH="-arch arm" -# fi -# CFLAGS="$CFLAGS -fembed-bitcode -mios-version-min=7.0" -# ASFLAGS="$CFLAGS" -#fi - -XCRUN_SDK=`echo $PLATFORM | tr '[:upper:]' '[:lower:]'` -CC="xcrun -sdk $XCRUN_SDK clang" -if [ $PLATFORM = "iPhoneOS" ] -then - export AS="$SOURCE_DIR/tools/gas-preprocessor.pl $XARCH -- $CC" -else - export -n AS -fi -CXXFLAGS="$CFLAGS" -LDFLAGS="$CFLAGS" - -CC=$CC $SOURCE_DIR/configure $CONFIGURE_FLAGS $HOST --extra-cflags="$CFLAGS" --extra-asflags="$ASFLAGS" --extra-ldflags="$LDFLAGS" --prefix="$SCRATCH/thin" || exit 1 - -make -j3 install || exit 1 diff --git a/third-party/libx264/config/config.h b/third-party/libx264/config/config.h deleted file mode 100644 index dff9e6ae22..0000000000 --- a/third-party/libx264/config/config.h +++ /dev/null @@ -1,42 +0,0 @@ -#define HAVE_AARCH64 1 -#define HAVE_NEON 1 -#define ARCH_AARCH64 1 -#define SYS_MACOSX 1 -#define STACK_ALIGNMENT 16 -#define HAVE_POSIXTHREAD 1 -#define HAVE_THREAD 1 -#define HAVE_LOG2F 1 -#define HAVE_STRTOK_R 1 -#define HAVE_CLOCK_GETTIME 1 -#define HAVE_MMAP 1 -#define HAVE_VECTOREXT 1 -#define fseek fseeko -#define ftell ftello -#define HAVE_BITDEPTH8 1 -#define HAVE_GPL 1 -#define HAVE_INTERLACED 1 -#define HAVE_MALLOC_H 0 -#define HAVE_ALTIVEC 0 -#define HAVE_ALTIVEC_H 0 -#define HAVE_MMX 0 -#define HAVE_ARMV6 0 -#define HAVE_ARMV6T2 0 -#define HAVE_BEOSTHREAD 0 -#define HAVE_WIN32THREAD 0 -#define HAVE_SWSCALE 0 -#define HAVE_LAVF 0 -#define HAVE_FFMS 0 -#define HAVE_GPAC 0 -#define HAVE_AVS 0 -#define HAVE_CPU_COUNT 0 -#define HAVE_OPENCL 0 -#define HAVE_THP 0 -#define HAVE_LSMASH 0 -#define HAVE_X86_INLINE_ASM 0 -#define HAVE_AS_FUNC 0 -#define HAVE_INTEL_DISPATCHER 0 -#define HAVE_MSA 0 -#define HAVE_WINRT 0 -#define HAVE_VSX 0 -#define HAVE_ARM_INLINE_ASM 0 -#define HAVE_BITDEPTH10 0 \ No newline at end of file From 8d40ccce0f0e4a2c0456125d6d433ff2bc4f0d18 Mon Sep 17 00:00:00 2001 From: Isaac <> Date: Wed, 18 Jun 2025 12:26:54 +0400 Subject: [PATCH 3/8] Cleanup --- .../OpusBinding/Sources/opusfile/internal.h | 2 +- .../OpusBinding/Sources/opusfile/opusfile.c | 2 +- submodules/TelegramCallsUI/BUILD | 2 +- submodules/TgVoipWebrtc/BUILD | 1 - third-party/LibYuvBinding/BUILD | 26 ++++++++++++ .../LibYuvBinding/LibYuvBinding.h | 0 .../LibYuvBinding/Sources/LibYuvBinding.m | 0 third-party/libyuv/BUILD | 40 +++---------------- third-party/opusfile/BUILD | 3 -- third-party/opusfile/Sources/internal.h | 2 +- third-party/opusfile/Sources/opusfile.c | 2 +- third-party/webrtc/BUILD | 3 -- 12 files changed, 37 insertions(+), 46 deletions(-) create mode 100644 third-party/LibYuvBinding/BUILD rename third-party/{libyuv => }/LibYuvBinding/PublicHeaders/LibYuvBinding/LibYuvBinding.h (100%) rename third-party/{libyuv => }/LibYuvBinding/Sources/LibYuvBinding.m (100%) diff --git a/submodules/OpusBinding/Sources/opusfile/internal.h b/submodules/OpusBinding/Sources/opusfile/internal.h index b1109deb90..1d21ca6faf 100644 --- a/submodules/OpusBinding/Sources/opusfile/internal.h +++ b/submodules/OpusBinding/Sources/opusfile/internal.h @@ -29,7 +29,7 @@ # endif # include -# include "opusfile.h" +# include "opusfile/opusfile.h" typedef struct OggOpusLink OggOpusLink; diff --git a/submodules/OpusBinding/Sources/opusfile/opusfile.c b/submodules/OpusBinding/Sources/opusfile/opusfile.c index 392ddb29ea..58383ca6dd 100644 --- a/submodules/OpusBinding/Sources/opusfile/opusfile.c +++ b/submodules/OpusBinding/Sources/opusfile/opusfile.c @@ -26,7 +26,7 @@ #include #include -#include "opusfile.h" +#include "opusfile/opusfile.h" /*This implementation is largely based off of libvorbisfile. All of the Ogg bits work roughly the same, though I have made some diff --git a/submodules/TelegramCallsUI/BUILD b/submodules/TelegramCallsUI/BUILD index ea7eb8b5e9..072d8dc935 100644 --- a/submodules/TelegramCallsUI/BUILD +++ b/submodules/TelegramCallsUI/BUILD @@ -94,7 +94,7 @@ swift_library( "//submodules/TextFormat:TextFormat", "//submodules/Markdown:Markdown", "//submodules/ChatTitleActivityNode:ChatTitleActivityNode", - "//third-party/libyuv:LibYuvBinding", + "//third-party/LibYuvBinding", "//submodules/ComponentFlow:ComponentFlow", "//submodules/Components/LottieAnimationComponent:LottieAnimationComponent", "//submodules/Components/ActivityIndicatorComponent:ActivityIndicatorComponent", diff --git a/submodules/TgVoipWebrtc/BUILD b/submodules/TgVoipWebrtc/BUILD index cc4e5f2bd9..9c00d1572c 100644 --- a/submodules/TgVoipWebrtc/BUILD +++ b/submodules/TgVoipWebrtc/BUILD @@ -146,7 +146,6 @@ objc_library( "-Ithird-party/webrtc/webrtc/sdk/objc/components/renderer/metal", "-Ithird-party/webrtc/webrtc/sdk/objc/components/renderer/opengl", "-Ithird-party/webrtc/webrtc/sdk/objc/components/video_codec", - "-Ithird-party/libyuv/third_party/libyuv/include", "-Ithird-party/libyuv", "-Ithird-party/webrtc/webrtc/sdk/objc/api/video_codec", "-Ithird-party/webrtc/absl", diff --git a/third-party/LibYuvBinding/BUILD b/third-party/LibYuvBinding/BUILD new file mode 100644 index 0000000000..f0bcee5267 --- /dev/null +++ b/third-party/LibYuvBinding/BUILD @@ -0,0 +1,26 @@ + +objc_library( + name = "LibYuvBinding", + enable_modules = True, + module_name = "LibYuvBinding", + srcs = glob([ + "Sources/**/*.m", + "Sources/**/*.c", + "Sources/**/*.h", + ], allow_empty=True), + hdrs = glob([ + "PublicHeaders/**/*.h", + ]), + includes = [ + "PublicHeaders", + ], + deps = [ + "//third-party/libyuv", + ], + sdk_frameworks = [ + "Foundation", + ], + visibility = [ + "//visibility:public", + ], +) diff --git a/third-party/libyuv/LibYuvBinding/PublicHeaders/LibYuvBinding/LibYuvBinding.h b/third-party/LibYuvBinding/PublicHeaders/LibYuvBinding/LibYuvBinding.h similarity index 100% rename from third-party/libyuv/LibYuvBinding/PublicHeaders/LibYuvBinding/LibYuvBinding.h rename to third-party/LibYuvBinding/PublicHeaders/LibYuvBinding/LibYuvBinding.h diff --git a/third-party/libyuv/LibYuvBinding/Sources/LibYuvBinding.m b/third-party/LibYuvBinding/Sources/LibYuvBinding.m similarity index 100% rename from third-party/libyuv/LibYuvBinding/Sources/LibYuvBinding.m rename to third-party/LibYuvBinding/Sources/LibYuvBinding.m diff --git a/third-party/libyuv/BUILD b/third-party/libyuv/BUILD index 279d052531..402dc97822 100644 --- a/third-party/libyuv/BUILD +++ b/third-party/libyuv/BUILD @@ -29,7 +29,7 @@ arch_specific_cflags = select({ cc_library( name = "libyuv", - srcs = [ "third_party/libyuv/" + path for path in [ + hdrs = [ "third_party/libyuv/" + path for path in [ # Headers "include/libyuv.h", "include/libyuv/basic_types.h", @@ -55,7 +55,8 @@ cc_library( "include/libyuv/scale.h", "include/libyuv/version.h", "include/libyuv/video_common.h", - + ]], + srcs = [ "third_party/libyuv/" + path for path in [ # Source Files "source/compare.cc", "source/compare_common.cc", @@ -102,40 +103,11 @@ cc_library( "source/scale_neon.cc", "source/scale_neon64.cc", ]], + includes = [ + "third_party/libyuv/include", + ], copts = [ "-ffp-contract=fast", - "-Ithird-party/libyuv/third_party/libyuv/include", ] + arch_specific_cflags + optimization_flags, visibility = ["//visibility:public"], ) - - -objc_library( - name = "LibYuvBinding", - enable_modules = True, - module_name = "LibYuvBinding", - srcs = glob([ - "LibYuvBinding/Sources/**/*.m", - "LibYuvBinding/Sources/**/*.c", - "LibYuvBinding/Sources/**/*.h", - ], allow_empty=True), - hdrs = glob([ - "LibYuvBinding/PublicHeaders/**/*.h", - ]), - includes = [ - "LibYuvBinding/PublicHeaders", - ], - copts = [ - "-Ithird-party/libyuv/third_party/libyuv/include", - ], - deps = [ - ":libyuv", - ], - sdk_frameworks = [ - "Foundation", - ], - visibility = [ - "//visibility:public", - ], -) - diff --git a/third-party/opusfile/BUILD b/third-party/opusfile/BUILD index 4e210060c4..0e62d353df 100644 --- a/third-party/opusfile/BUILD +++ b/third-party/opusfile/BUILD @@ -13,9 +13,6 @@ objc_library( includes = [ "include", ], - copts = [ - "-Ithird-party/opusfile/include/opusfile", - ], deps = [ "//third-party/ogg:ogg", "//third-party/opus:opus", diff --git a/third-party/opusfile/Sources/internal.h b/third-party/opusfile/Sources/internal.h index 0c2d2bb309..19f69a2e85 100644 --- a/third-party/opusfile/Sources/internal.h +++ b/third-party/opusfile/Sources/internal.h @@ -29,7 +29,7 @@ # endif # include -# include +# include typedef struct OggOpusLink OggOpusLink; diff --git a/third-party/opusfile/Sources/opusfile.c b/third-party/opusfile/Sources/opusfile.c index 642c78478b..19f9e08c94 100644 --- a/third-party/opusfile/Sources/opusfile.c +++ b/third-party/opusfile/Sources/opusfile.c @@ -26,7 +26,7 @@ #include #include -#include "opusfile.h" +#include "opusfile/opusfile.h" /*This implementation is largely based off of libvorbisfile. All of the Ogg bits work roughly the same, though I have made some diff --git a/third-party/webrtc/BUILD b/third-party/webrtc/BUILD index b4bc15e093..ad80d7abab 100644 --- a/third-party/webrtc/BUILD +++ b/third-party/webrtc/BUILD @@ -3063,7 +3063,6 @@ objc_library( "-Ithird-party/webrtc/webrtc/sdk/objc", "-Ithird-party/webrtc/webrtc/sdk/objc/base", "-Ithird-party/libyuv", - "-Ithird-party/libyuv/third_party/libyuv/include", "-Ithird-party/webrtc/absl", "-DBSD=1", "-DUSE_KISS_FFT", @@ -3131,7 +3130,6 @@ objc_library( "-Ithird-party/webrtc/webrtc/sdk/objc", "-Ithird-party/webrtc/webrtc/sdk/objc/base", "-Ithird-party/libyuv", - "-Ithird-party/libyuv/third_party/libyuv/include", "-Ithird-party/webrtc/absl", "-DBSD=1", "-DUSE_KISS_FFT", @@ -3196,7 +3194,6 @@ objc_library( "-Ithird-party/webrtc/libsrtp/third_party/libsrtp/crypto/include", "-Ithird-party/webrtc/webrtc/", "-Ithird-party/libyuv", - "-Ithird-party/libyuv/third_party/libyuv/include", "-Ithird-party/webrtc/absl", "-DBSD=1", "-DUSE_KISS_FFT", From 1b2cdb9a9bdbe2fa35ce9fae8924005f1a77108a Mon Sep 17 00:00:00 2001 From: Isaac <> Date: Wed, 18 Jun 2025 17:24:21 +0200 Subject: [PATCH 4/8] Cleanup --- submodules/LegacyComponents/BUILD | 3 +- .../LegacyComponents/LegacyComponents.h | 47 +++++++++++++++---- .../TGInvoiceMediaAttachment.h | 2 +- .../TGMessageEntitiesAttachment.h | 2 +- .../TGModernGalleryController.h | 2 - .../TGPassportScanController.h | 3 +- .../TGPhotoEditorController.h | 7 ++- .../TGPhotoEditorTabController.h | 4 +- .../LegacyComponents/TGPhotoVideoEditor.h | 9 +++- .../LegacyComponents/TGStickerPack.h | 3 +- .../TGVideoMessageCaptureController.h | 6 ++- submodules/LegacyComponents/Sources/ASActor.m | 4 +- .../LegacyComponents/Sources/ASHandle.m | 4 +- submodules/LegacyComponents/Sources/ASQueue.m | 2 +- .../Sources/AVURLAsset+TGMediaItem.m | 2 +- .../LegacyComponents/Sources/ActionStage.mm | 4 +- .../LegacyComponents/Sources/Freedom.mm | 2 +- .../LegacyComponents/Sources/FreedomUIKit.m | 8 ++-- .../LegacyComponents/Sources/GLProgram.m | 6 +++ .../Sources/GPUImageContext.h | 8 ++++ .../Sources/GPUImageContext.m | 5 ++ .../LegacyComponents/Sources/GPUImageFilter.m | 5 ++ .../Sources/GPUImageFramebuffer.m | 5 ++ .../Sources/GPUImageFramebufferCache.m | 3 ++ .../Sources/GPUImageGaussianBlurFilter.m | 5 ++ .../Sources/GPUImageSharpenFilter.m | 4 ++ .../Sources/GPUImageTextureInput.m | 5 ++ .../Sources/GPUImageThreeInputFilter.m | 4 ++ .../Sources/GPUImageToneCurveFilter.m | 5 ++ .../Sources/GPUImageTwoInputFilter.m | 9 ++-- .../Sources/GPUImageTwoPassFilter.m | 5 ++ .../GPUImageTwoPassTextureSamplingFilter.m | 5 ++ .../Sources/JNWSpringAnimation.m | 4 +- .../Sources/LegacyComponentsContext.m | 2 +- .../Sources/LegacyComponentsGlobals.m | 2 +- .../Sources/LegacyComponentsInternal.h | 2 +- .../Sources/LegacyComponentsInternal.m | 2 +- .../Sources/NSInputStream+TL.m | 2 +- .../Sources/NSObject+TGLock.m | 2 +- .../LegacyComponents/Sources/PGCamera.m | 13 +++-- .../Sources/PGCameraCaptureSession.m | 25 ++++++---- .../Sources/PGCameraDeviceAngleSampler.m | 2 +- .../Sources/PGCameraMovieWriter.m | 2 +- .../Sources/PGCameraShotMetadata.m | 2 +- .../Sources/PGCameraVolumeButtonHandler.m | 6 +-- .../Sources/PGPhotoCustomFilterPass.m | 5 ++ .../Sources/PGPhotoEditorRawDataOutput.m | 7 ++- .../Sources/PGPhotoEditorValues.m | 6 +-- .../Sources/PGPhotoEditorView.m | 5 ++ .../Sources/PGPhotoEnhanceLUTGenerator.m | 5 ++ .../Sources/PGPhotoGaussianBlurFilter.m | 5 ++ .../Sources/PGPhotoSharpenPass.m | 7 ++- .../LegacyComponents/Sources/PGVideoMovie.m | 5 ++ .../Sources/POPAnimatableProperty.mm | 2 +- .../Sources/POPAnimationEvent.mm | 2 +- .../Sources/POPAnimationEventInternal.h | 2 +- .../Sources/POPAnimationExtras.h | 2 +- .../Sources/POPAnimationInternal.h | 2 +- .../Sources/POPAnimationPrivate.h | 2 +- .../Sources/POPAnimationRuntime.mm | 2 +- .../Sources/POPAnimationTracer.mm | 4 +- .../Sources/POPAnimationTracerInternal.h | 2 +- .../LegacyComponents/Sources/POPAnimator.mm | 4 +- .../Sources/POPBasicAnimationInternal.h | 2 +- .../Sources/POPCustomAnimation.mm | 2 +- .../Sources/POPDecayAnimationInternal.h | 2 +- .../LegacyComponents/Sources/POPGeometry.mm | 2 +- .../Sources/POPPropertyAnimationInternal.h | 2 +- .../Sources/PSKeyValueCoder.m | 2 +- .../Sources/PSKeyValueDecoder.m | 2 +- .../Sources/PSKeyValueEncoder.m | 2 +- .../Sources/PSLMDBKeyValueCursor.m | 4 +- .../Sources/PSLMDBKeyValueReaderWriter.m | 6 +-- .../Sources/PSLMDBKeyValueStore.m | 8 ++-- .../LegacyComponents/Sources/PSLMDBTable.m | 2 +- .../LegacyComponents/Sources/RMPhoneFormat.m | 2 +- .../LegacyComponents/Sources/SGraphListNode.m | 2 +- .../LegacyComponents/Sources/SGraphNode.m | 2 +- .../Sources/SGraphObjectNode.m | 2 +- .../Sources/TGActionMediaAttachment.m | 4 +- .../Sources/TGAnimationBlockDelegate.m | 2 +- .../Sources/TGAttachmentCameraView.m | 12 +++-- .../Sources/TGAttachmentCarouselItemView.m | 10 ++-- .../Sources/TGAttachmentVideoCell.m | 2 +- .../Sources/TGAudioMediaAttachment.m | 2 +- .../Sources/TGAudioWaveform.m | 4 +- .../TGAuthorSignatureMediaAttachment.m | 8 ++-- .../LegacyComponents/Sources/TGBackdropView.m | 2 +- .../Sources/TGBotComandInfo.m | 4 +- .../Sources/TGBotContextResultAttachment.m | 8 ++-- .../LegacyComponents/Sources/TGBotInfo.m | 4 +- .../Sources/TGBotReplyMarkup.m | 4 +- .../Sources/TGBotReplyMarkupButton.m | 4 +- .../Sources/TGBotReplyMarkupRow.m | 4 +- submodules/LegacyComponents/Sources/TGCache.m | 7 ++- .../Sources/TGCameraCapturedPhoto.m | 2 +- .../Sources/TGCameraCapturedVideo.m | 12 ++--- .../Sources/TGCameraController.m | 17 ++++--- .../Sources/TGCameraFlashActiveView.m | 4 +- .../Sources/TGCameraFlashControl.m | 10 ++-- .../Sources/TGCameraFlipButton.m | 6 +-- .../Sources/TGCameraInterfaceAssets.m | 2 +- .../Sources/TGCameraMainPhoneView.m | 26 +++++----- .../Sources/TGCameraMainTabletView.m | 20 ++++---- .../Sources/TGCameraMainView.m | 19 +++++--- .../Sources/TGCameraModeControl.m | 6 +-- .../Sources/TGCameraPreviewView.m | 4 +- .../Sources/TGCameraRectangleView.m | 6 +-- .../Sources/TGCameraShutterButton.m | 6 +-- .../Sources/TGCameraTimeCodeView.m | 2 +- .../Sources/TGCameraToastView.m | 4 +- .../Sources/TGCameraZoomView.m | 10 ++-- .../Sources/TGChannelAdminRights.m | 4 +- .../Sources/TGChannelBannedRights.m | 4 +- .../Sources/TGCheckButtonView.m | 8 ++-- .../Sources/TGContactMediaAttachment.m | 2 +- .../LegacyComponents/Sources/TGConversation.m | 14 +++--- .../LegacyComponents/Sources/TGDataResource.m | 2 +- .../Sources/TGDatabaseMessageDraft.m | 6 +-- .../LegacyComponents/Sources/TGDateUtils.mm | 6 +-- .../Sources/TGDocumentAttributeAnimated.m | 2 +- .../Sources/TGDocumentAttributeAudio.m | 4 +- .../Sources/TGDocumentAttributeFilename.m | 4 +- .../Sources/TGDocumentAttributeImageSize.m | 4 +- .../Sources/TGDocumentAttributeSticker.m | 4 +- .../Sources/TGDocumentAttributeVideo.m | 4 +- .../Sources/TGDocumentMediaAttachment.m | 14 +++--- .../Sources/TGDoubleTapGestureRecognizer.m | 2 +- .../Sources/TGEmbedPIPButton.m | 2 +- .../Sources/TGEmbedPIPPullArrowView.m | 2 +- submodules/LegacyComponents/Sources/TGFont.mm | 4 +- .../TGForwardedMessageMediaAttachment.m | 2 +- .../Sources/TGFullscreenContainerView.m | 2 +- .../Sources/TGGameMediaAttachment.m | 10 ++-- .../LegacyComponents/Sources/TGGifConverter.m | 4 +- submodules/LegacyComponents/Sources/TGHacks.m | 10 ++-- .../Sources/TGIconSwitchView.m | 2 +- .../LegacyComponents/Sources/TGImageBlur.m | 12 ++--- .../Sources/TGImageDataSource.m | 2 +- .../LegacyComponents/Sources/TGImageInfo.mm | 2 +- .../Sources/TGImageLuminanceMap.m | 2 +- .../LegacyComponents/Sources/TGImageManager.m | 4 +- .../Sources/TGImageManagerTask.m | 2 +- .../Sources/TGImageMediaAttachment.m | 16 +++++-- .../LegacyComponents/Sources/TGImageUtils.mm | 7 ++- .../LegacyComponents/Sources/TGImageView.m | 2 +- .../LegacyComponents/Sources/TGInstantPage.m | 8 ++-- .../Sources/TGInvoiceMediaAttachment.m | 10 ++-- .../LegacyComponents/Sources/TGKeyCommand.m | 7 ++- .../Sources/TGKeyCommandController.m | 6 +-- submodules/LegacyComponents/Sources/TGLabel.m | 2 +- .../Sources/TGListsTableView.m | 6 +-- .../TGLocalMessageMetaMediaAttachment.m | 4 +- .../LegacyComponents/Sources/TGLocalization.m | 4 +- .../Sources/TGLocationMediaAttachment.m | 7 ++- .../TGMediaAsset+TGMediaEditableItem.m | 2 +- .../LegacyComponents/Sources/TGMediaAsset.m | 4 +- .../Sources/TGMediaAssetFetchResult.m | 4 +- .../Sources/TGMediaAssetFetchResultChange.m | 2 +- .../Sources/TGMediaAssetGroup.m | 2 +- .../Sources/TGMediaAssetImageSignals.m | 6 +-- .../Sources/TGMediaAssetModernImageSignals.m | 14 ++++-- .../Sources/TGMediaAssetMoment.m | 4 +- .../Sources/TGMediaAssetMomentList.m | 4 +- .../Sources/TGMediaAssetsController.m | 5 +- .../Sources/TGMediaAssetsGifCell.m | 2 +- .../Sources/TGMediaAssetsLibrary.m | 4 +- .../Sources/TGMediaAssetsModernLibrary.m | 6 +-- .../Sources/TGMediaAssetsPickerController.m | 12 ++--- .../Sources/TGMediaAssetsUtils.m | 4 +- .../Sources/TGMediaAssetsVideoCell.m | 2 +- .../Sources/TGMediaAttachment.m | 2 +- .../Sources/TGMediaAvatarEditorTransition.m | 2 +- .../Sources/TGMediaAvatarMenuMixin.m | 8 ++-- .../Sources/TGMediaEditingContext.m | 18 +++---- .../Sources/TGMediaGroupCell.m | 4 +- .../Sources/TGMediaOriginInfo.m | 6 +-- .../Sources/TGMediaPickerCell.m | 2 +- .../Sources/TGMediaPickerController.m | 11 +++-- .../TGMediaPickerGalleryInterfaceView.m | 23 ++++----- .../Sources/TGMediaPickerGalleryItem.m | 2 +- .../Sources/TGMediaPickerGalleryModel.m | 21 +++++---- .../Sources/TGMediaPickerGalleryPhotoItem.m | 4 +- .../TGMediaPickerGalleryPhotoItemView.h | 4 +- .../TGMediaPickerGalleryPhotoItemView.m | 7 +-- .../TGMediaPickerGallerySelectedItemsModel.m | 2 +- .../Sources/TGMediaPickerGalleryVideoItem.m | 10 ++-- .../TGMediaPickerGalleryVideoItemView.m | 17 +++---- .../TGMediaPickerGalleryVideoScrubber.m | 6 +-- .../TGMediaPickerGalleryVideoTrimView.m | 2 +- .../Sources/TGMediaPickerLayoutMetrics.m | 2 +- .../Sources/TGMediaPickerModernGalleryMixin.m | 12 ++--- .../Sources/TGMediaPickerPhotoCounterButton.m | 10 ++-- .../Sources/TGMediaPickerPhotoStripCell.m | 12 ++--- .../Sources/TGMediaPickerPhotoStripView.m | 10 ++-- .../TGMediaPickerSendActionSheetController.m | 10 ++-- .../Sources/TGMediaPickerToolbarView.m | 8 ++-- .../Sources/TGMediaSelectionContext.m | 2 +- .../Sources/TGMediaVideoConverter.m | 24 ++++++---- .../Sources/TGMemoryImageCache.m | 2 +- .../Sources/TGMenuSheetButtonItemView.m | 8 ++-- .../Sources/TGMenuSheetCollectionView.m | 2 +- .../Sources/TGMenuSheetController.m | 28 ++++------- .../Sources/TGMenuSheetDimView.m | 2 +- .../Sources/TGMenuSheetItemView.m | 2 +- .../Sources/TGMenuSheetTitleItemView.m | 6 +-- .../Sources/TGMenuSheetView.m | 8 ++-- .../LegacyComponents/Sources/TGMenuView.m | 10 ++-- .../LegacyComponents/Sources/TGMessage.mm | 16 +++---- .../Sources/TGMessageEntitiesAttachment.m | 12 ++--- .../Sources/TGMessageEntity.m | 4 +- .../Sources/TGMessageEntityBold.m | 2 +- .../Sources/TGMessageEntityBotCommand.m | 2 +- .../Sources/TGMessageEntityCashtag.m | 2 +- .../Sources/TGMessageEntityCode.m | 2 +- .../Sources/TGMessageEntityEmail.m | 2 +- .../Sources/TGMessageEntityHashtag.m | 2 +- .../Sources/TGMessageEntityItalic.m | 2 +- .../Sources/TGMessageEntityMention.m | 2 +- .../Sources/TGMessageEntityMentionName.m | 4 +- .../Sources/TGMessageEntityPhone.m | 2 +- .../Sources/TGMessageEntityPre.m | 4 +- .../Sources/TGMessageEntityTextUrl.m | 4 +- .../Sources/TGMessageEntityUrl.m | 2 +- .../LegacyComponents/Sources/TGMessageGroup.m | 2 +- .../LegacyComponents/Sources/TGMessageHole.m | 2 +- .../Sources/TGMessageImageViewOverlayView.m | 16 +++---- .../TGMessageViewCountContentProperty.m | 4 +- .../Sources/TGModernBackToolbarButton.m | 2 +- .../Sources/TGModernBarButton.m | 2 +- .../LegacyComponents/Sources/TGModernButton.m | 2 +- .../LegacyComponents/Sources/TGModernCache.m | 6 +-- .../TGModernConversationInputMicButton.m | 8 ++-- ...ModernConversationTitleActivityIndicator.m | 6 +-- .../Sources/TGModernGalleryContainerView.m | 2 +- .../Sources/TGModernGalleryController.m | 7 +-- .../TGModernGalleryDefaultInterfaceView.m | 16 +++---- .../Sources/TGModernGalleryImageItem.m | 4 +- .../TGModernGalleryImageItemContainerView.m | 2 +- .../TGModernGalleryImageItemImageView.m | 2 +- .../Sources/TGModernGalleryImageItemView.m | 6 +-- .../Sources/TGModernGalleryItemView.m | 10 ++-- .../Sources/TGModernGalleryModel.m | 2 +- .../Sources/TGModernGalleryScrollView.m | 2 +- .../Sources/TGModernGalleryTransitionView.m | 2 +- .../Sources/TGModernGalleryVideoView.m | 2 +- .../Sources/TGModernGalleryView.m | 6 +-- .../Sources/TGModernGalleryZoomableItemView.m | 4 +- .../TGModernGalleryZoomableScrollView.m | 4 +- ...ZoomableScrollViewSwipeGestureRecognizer.m | 2 +- .../Sources/TGModernToolbarButton.m | 2 +- .../Sources/TGNavigationBar.m | 19 ++++---- .../Sources/TGNavigationController.m | 17 ++++--- .../Sources/TGObserverProxy.m | 2 +- .../Sources/TGOverlayController.m | 4 +- .../Sources/TGOverlayControllerWindow.m | 8 ++-- .../Sources/TGOverlayFormsheetWindow.m | 2 +- .../Sources/TGPaintFaceDetector.m | 4 +- .../LegacyComponents/Sources/TGPaintShader.m | 7 ++- .../LegacyComponents/Sources/TGPaintUtils.m | 7 ++- .../LegacyComponents/Sources/TGPaintingData.m | 8 ++-- .../Sources/TGPassportAttachMenu.m | 11 +++-- .../Sources/TGPassportICloud.m | 2 +- .../LegacyComponents/Sources/TGPassportMRZ.m | 2 +- .../LegacyComponents/Sources/TGPassportOCR.mm | 4 +- .../Sources/TGPassportScanController.m | 3 +- .../Sources/TGPassportScanView.m | 8 ++-- .../LegacyComponents/Sources/TGPhoneUtils.m | 4 +- .../Sources/TGPhotoAvatarCropView.m | 4 +- .../Sources/TGPhotoAvatarPreviewController.m | 11 +++-- .../Sources/TGPhotoCaptionInputMixin.m | 4 +- .../Sources/TGPhotoCropController.h | 2 +- .../Sources/TGPhotoCropController.m | 10 ++-- .../Sources/TGPhotoCropGridView.m | 2 +- .../Sources/TGPhotoCropRotationView.m | 2 +- .../Sources/TGPhotoCropView.m | 2 +- .../Sources/TGPhotoDrawingController.h | 2 +- .../Sources/TGPhotoDrawingController.m | 5 +- .../Sources/TGPhotoEditorBlurAreaView.h | 2 +- .../Sources/TGPhotoEditorBlurToolView.h | 2 +- .../Sources/TGPhotoEditorBlurToolView.m | 8 ++-- .../Sources/TGPhotoEditorBlurTypeButton.m | 2 +- .../Sources/TGPhotoEditorButton.m | 4 +- .../Sources/TGPhotoEditorCollectionView.m | 2 +- .../Sources/TGPhotoEditorController.m | 17 +++---- .../TGPhotoEditorCurvesHistogramView.h | 2 +- .../TGPhotoEditorCurvesHistogramView.m | 5 +- .../Sources/TGPhotoEditorCurvesToolView.h | 2 +- .../Sources/TGPhotoEditorCurvesToolView.m | 4 +- .../Sources/TGPhotoEditorGenericToolView.h | 2 +- .../Sources/TGPhotoEditorGenericToolView.m | 4 +- .../Sources/TGPhotoEditorHUDView.m | 4 +- .../Sources/TGPhotoEditorInterfaceAssets.m | 8 ++-- .../Sources/TGPhotoEditorSliderView.m | 4 +- .../Sources/TGPhotoEditorSparseView.m | 2 +- .../Sources/TGPhotoEditorTabController.m | 6 +-- .../Sources/TGPhotoEditorTintSwatchView.m | 2 +- .../Sources/TGPhotoEditorTintToolView.h | 2 +- .../Sources/TGPhotoEditorTintToolView.m | 6 +-- .../Sources/TGPhotoEditorToolButtonsView.m | 8 ++-- .../Sources/TGPhotoEditorUtils.m | 4 +- .../Sources/TGPhotoMaskPosition.m | 4 +- .../Sources/TGPhotoQualityController.h | 2 +- .../Sources/TGPhotoQualityController.m | 7 +-- .../Sources/TGPhotoRectangleCropController.h | 2 +- .../Sources/TGPhotoToolCell.m | 2 +- .../Sources/TGPhotoToolbarView.m | 16 +++---- .../Sources/TGPhotoToolsController.m | 10 ++-- .../Sources/TGPhotoVideoEditor.m | 15 +++--- .../Sources/TGPluralization.m | 2 +- .../Sources/TGProgressSpinnerView.m | 2 +- .../Sources/TGProgressWindow.m | 4 +- .../LegacyComponents/Sources/TGProxyWindow.m | 4 +- .../TGRTLScreenEdgePanGestureRecognizer.m | 4 +- .../Sources/TGReplyMarkupAttachment.m | 12 ++--- .../Sources/TGReplyMessageMediaAttachment.m | 8 ++-- .../Sources/TGSecretTimerMenu.m | 8 ++-- .../Sources/TGSecretTimerPickerItemView.h | 2 +- .../Sources/TGSecretTimerPickerItemView.m | 2 +- .../Sources/TGSecretTimerValueController.h | 2 +- .../TGSecretTimerValueControllerItemView.m | 4 +- .../Sources/TGStaticBackdropAreaData.m | 2 +- .../Sources/TGStaticBackdropImageData.m | 2 +- .../Sources/TGStickerAssociation.m | 4 +- .../LegacyComponents/Sources/TGStickerPack.m | 2 +- .../Sources/TGStickerPackReference.m | 4 +- .../LegacyComponents/Sources/TGStringUtils.mm | 12 +++-- .../Sources/TGTextCheckingResult.m | 2 +- .../LegacyComponents/Sources/TGTextField.m | 4 +- .../LegacyComponents/Sources/TGTimerTarget.m | 2 +- .../Sources/TGToolbarButton.m | 4 +- .../LegacyComponents/Sources/TGTooltipView.m | 6 +-- .../Sources/TGUnsupportedMediaAttachment.m | 2 +- .../Sources/TGViaUserAttachment.m | 8 ++-- .../Sources/TGVideoCameraGLRenderer.m | 2 +- .../Sources/TGVideoCameraGLView.m | 7 ++- .../Sources/TGVideoCameraMovieRecorder.m | 2 +- .../Sources/TGVideoCameraPipeline.m | 9 ++++ .../Sources/TGVideoEditAdjustments.m | 12 ++--- .../LegacyComponents/Sources/TGVideoInfo.mm | 2 +- .../Sources/TGVideoMediaAttachment.m | 14 ++++-- .../Sources/TGVideoMessageCaptureController.m | 13 +++-- .../Sources/TGVideoMessageControls.m | 9 ++-- .../Sources/TGVideoMessageRingView.m | 2 +- .../Sources/TGVideoMessageScrubber.m | 8 ++-- .../TGVideoMessageScrubberThumbnailView.m | 2 +- .../TGViewController+TGRecursiveEnumeration.m | 2 +- .../Sources/TGViewController.mm | 19 +++++--- .../LegacyComponents/Sources/TGWeakDelegate.m | 2 +- .../LegacyComponents/Sources/TGWebDocument.m | 6 +-- .../Sources/TGWebPageMediaAttachment.m | 8 ++-- .../Sources/UICollectionView+Utils.m | 2 +- .../Sources/UIControl+HitTestEdgeInsets.m | 2 +- .../LegacyComponents/Sources/UIImage+TG.m | 2 +- .../Sources/UIImage+TGMediaEditableItem.m | 2 +- .../Sources/UIScrollView+TGHacks.m | 2 +- submodules/LegacyComponents/Sources/mdb.c | 2 +- 357 files changed, 1103 insertions(+), 856 deletions(-) diff --git a/submodules/LegacyComponents/BUILD b/submodules/LegacyComponents/BUILD index afe189ca32..4d2e8687da 100644 --- a/submodules/LegacyComponents/BUILD +++ b/submodules/LegacyComponents/BUILD @@ -29,8 +29,7 @@ objc_library( "PublicHeaders/**/*.h", ]), copts = [ - "-I{}/PublicHeaders/LegacyComponents".format(package_name()), - #"-Werror", + "-Werror", ], includes = [ "PublicHeaders", diff --git a/submodules/LegacyComponents/PublicHeaders/LegacyComponents/LegacyComponents.h b/submodules/LegacyComponents/PublicHeaders/LegacyComponents/LegacyComponents.h index 6a96f9b9ec..ddf6e5177f 100644 --- a/submodules/LegacyComponents/PublicHeaders/LegacyComponents/LegacyComponents.h +++ b/submodules/LegacyComponents/PublicHeaders/LegacyComponents/LegacyComponents.h @@ -1,20 +1,20 @@ #import #import +#import #import #import #import #import #import -#import #import #import #import -#import #import #import #import #import +#import #import #import #import @@ -85,8 +85,8 @@ #import #import #import -#import #import +#import #import #import #import @@ -98,6 +98,7 @@ #import #import #import +#import #import #import #import @@ -121,9 +122,10 @@ #import #import #import -#import #import +#import #import +#import #import #import #import @@ -140,9 +142,19 @@ #import #import #import +#import +#import #import +#import #import +#import #import +#import +#import +#import +#import +#import +#import #import #import #import @@ -174,6 +186,7 @@ #import #import #import +#import #import #import #import @@ -203,16 +216,16 @@ #import #import #import +#import #import #import #import #import #import #import -#import +#import #import #import -#import #import #import #import @@ -220,23 +233,34 @@ #import #import #import +#import +#import #import #import #import #import #import +#import +#import #import #import +#import +#import +#import +#import #import +#import #import #import +#import #import #import #import #import -#import #import #import +#import +#import #import #import #import @@ -244,15 +268,22 @@ #import #import #import +#import #import #import #import #import #import +#import +#import +#import #import #import #import #import +#import +#import +#import #import #import #import @@ -260,7 +291,7 @@ #import #import #import +#import #import #import #import -#import diff --git a/submodules/LegacyComponents/PublicHeaders/LegacyComponents/TGInvoiceMediaAttachment.h b/submodules/LegacyComponents/PublicHeaders/LegacyComponents/TGInvoiceMediaAttachment.h index c7729a6567..2e46b91d3f 100644 --- a/submodules/LegacyComponents/PublicHeaders/LegacyComponents/TGInvoiceMediaAttachment.h +++ b/submodules/LegacyComponents/PublicHeaders/LegacyComponents/TGInvoiceMediaAttachment.h @@ -1,4 +1,4 @@ -#import "TGMediaAttachment.h" +#import #import diff --git a/submodules/LegacyComponents/PublicHeaders/LegacyComponents/TGMessageEntitiesAttachment.h b/submodules/LegacyComponents/PublicHeaders/LegacyComponents/TGMessageEntitiesAttachment.h index 6d99e04cab..3f1561c0c8 100644 --- a/submodules/LegacyComponents/PublicHeaders/LegacyComponents/TGMessageEntitiesAttachment.h +++ b/submodules/LegacyComponents/PublicHeaders/LegacyComponents/TGMessageEntitiesAttachment.h @@ -1,4 +1,4 @@ -#import "TGMediaAttachment.h" +#import #import #import diff --git a/submodules/LegacyComponents/PublicHeaders/LegacyComponents/TGModernGalleryController.h b/submodules/LegacyComponents/PublicHeaders/LegacyComponents/TGModernGalleryController.h index c65a9552f9..a0e87b7fe4 100644 --- a/submodules/LegacyComponents/PublicHeaders/LegacyComponents/TGModernGalleryController.h +++ b/submodules/LegacyComponents/PublicHeaders/LegacyComponents/TGModernGalleryController.h @@ -1,5 +1,3 @@ -#import - #import #import diff --git a/submodules/LegacyComponents/PublicHeaders/LegacyComponents/TGPassportScanController.h b/submodules/LegacyComponents/PublicHeaders/LegacyComponents/TGPassportScanController.h index 8108723dfe..4b99f712e4 100644 --- a/submodules/LegacyComponents/PublicHeaders/LegacyComponents/TGPassportScanController.h +++ b/submodules/LegacyComponents/PublicHeaders/LegacyComponents/TGPassportScanController.h @@ -1,4 +1,5 @@ -#import +#import +#import @class TGPresentation; @class TGPassportMRZ; diff --git a/submodules/LegacyComponents/PublicHeaders/LegacyComponents/TGPhotoEditorController.h b/submodules/LegacyComponents/PublicHeaders/LegacyComponents/TGPhotoEditorController.h index b2406758b0..0df894e7f6 100644 --- a/submodules/LegacyComponents/PublicHeaders/LegacyComponents/TGPhotoEditorController.h +++ b/submodules/LegacyComponents/PublicHeaders/LegacyComponents/TGPhotoEditorController.h @@ -1,10 +1,9 @@ -#import - #import - #import - #import +#import + +#import @class SSignal; @class PGCameraShotMetadata; diff --git a/submodules/LegacyComponents/PublicHeaders/LegacyComponents/TGPhotoEditorTabController.h b/submodules/LegacyComponents/PublicHeaders/LegacyComponents/TGPhotoEditorTabController.h index c738996f98..c82f93bd56 100644 --- a/submodules/LegacyComponents/PublicHeaders/LegacyComponents/TGPhotoEditorTabController.h +++ b/submodules/LegacyComponents/PublicHeaders/LegacyComponents/TGPhotoEditorTabController.h @@ -1,5 +1,5 @@ -#import - +#import +#import #import @protocol TGMediaEditAdjustments; diff --git a/submodules/LegacyComponents/PublicHeaders/LegacyComponents/TGPhotoVideoEditor.h b/submodules/LegacyComponents/PublicHeaders/LegacyComponents/TGPhotoVideoEditor.h index 8c113270c6..206fa89ddd 100644 --- a/submodules/LegacyComponents/PublicHeaders/LegacyComponents/TGPhotoVideoEditor.h +++ b/submodules/LegacyComponents/PublicHeaders/LegacyComponents/TGPhotoVideoEditor.h @@ -1,4 +1,11 @@ -#import +#import + +#import +#import +#import +#import +#import +#import @interface TGPhotoVideoEditor : NSObject diff --git a/submodules/LegacyComponents/PublicHeaders/LegacyComponents/TGStickerPack.h b/submodules/LegacyComponents/PublicHeaders/LegacyComponents/TGStickerPack.h index 3a2f07b25b..d0640257e1 100644 --- a/submodules/LegacyComponents/PublicHeaders/LegacyComponents/TGStickerPack.h +++ b/submodules/LegacyComponents/PublicHeaders/LegacyComponents/TGStickerPack.h @@ -1,6 +1,7 @@ #import -#import +#import +#import @interface TGStickerPack : NSObject diff --git a/submodules/LegacyComponents/PublicHeaders/LegacyComponents/TGVideoMessageCaptureController.h b/submodules/LegacyComponents/PublicHeaders/LegacyComponents/TGVideoMessageCaptureController.h index b6343a64a5..1538db8304 100644 --- a/submodules/LegacyComponents/PublicHeaders/LegacyComponents/TGVideoMessageCaptureController.h +++ b/submodules/LegacyComponents/PublicHeaders/LegacyComponents/TGVideoMessageCaptureController.h @@ -1,4 +1,8 @@ -#import +#import +#import +#import +#import +#import @class TGVideoEditAdjustments; @class TGModernConversationInputMicPallete; diff --git a/submodules/LegacyComponents/Sources/ASActor.m b/submodules/LegacyComponents/Sources/ASActor.m index 4ee9ad48fa..5f7dfb4db4 100644 --- a/submodules/LegacyComponents/Sources/ASActor.m +++ b/submodules/LegacyComponents/Sources/ASActor.m @@ -1,6 +1,6 @@ -#import "ASActor.h" +#import -#import "ActionStage.h" +#import #import "LegacyComponentsInternal.h" diff --git a/submodules/LegacyComponents/Sources/ASHandle.m b/submodules/LegacyComponents/Sources/ASHandle.m index 8cfd53620b..a934a5159b 100644 --- a/submodules/LegacyComponents/Sources/ASHandle.m +++ b/submodules/LegacyComponents/Sources/ASHandle.m @@ -1,8 +1,8 @@ -#import "ASHandle.h" +#import #import -#import "ASWatcher.h" +#import @interface ASHandle () { diff --git a/submodules/LegacyComponents/Sources/ASQueue.m b/submodules/LegacyComponents/Sources/ASQueue.m index 347c6de191..1d069a32b6 100644 --- a/submodules/LegacyComponents/Sources/ASQueue.m +++ b/submodules/LegacyComponents/Sources/ASQueue.m @@ -1,6 +1,6 @@ -#import "ASQueue.h" +#import @interface ASQueue () { diff --git a/submodules/LegacyComponents/Sources/AVURLAsset+TGMediaItem.m b/submodules/LegacyComponents/Sources/AVURLAsset+TGMediaItem.m index e2310c1e6c..75d4293a5f 100644 --- a/submodules/LegacyComponents/Sources/AVURLAsset+TGMediaItem.m +++ b/submodules/LegacyComponents/Sources/AVURLAsset+TGMediaItem.m @@ -1,4 +1,4 @@ -#import "AVURLAsset+TGMediaItem.h" +#import #import #import diff --git a/submodules/LegacyComponents/Sources/ActionStage.mm b/submodules/LegacyComponents/Sources/ActionStage.mm index 7afbbead51..76d9c73ab3 100644 --- a/submodules/LegacyComponents/Sources/ActionStage.mm +++ b/submodules/LegacyComponents/Sources/ActionStage.mm @@ -1,10 +1,10 @@ -#import "ActionStage.h" +#import #import #import "LegacyComponentsInternal.h" -#import "ASActor.h" +#import #import diff --git a/submodules/LegacyComponents/Sources/Freedom.mm b/submodules/LegacyComponents/Sources/Freedom.mm index f25b1e355f..0231a18de9 100644 --- a/submodules/LegacyComponents/Sources/Freedom.mm +++ b/submodules/LegacyComponents/Sources/Freedom.mm @@ -1,4 +1,4 @@ -#import "Freedom.h" +#import #import #import diff --git a/submodules/LegacyComponents/Sources/FreedomUIKit.m b/submodules/LegacyComponents/Sources/FreedomUIKit.m index bf25711750..620fb701ee 100644 --- a/submodules/LegacyComponents/Sources/FreedomUIKit.m +++ b/submodules/LegacyComponents/Sources/FreedomUIKit.m @@ -1,13 +1,13 @@ -#import "FreedomUIKit.h" +#import #import "LegacyComponentsInternal.h" -#import "Freedom.h" +#import #import #import -#import "TGHacks.h" -#import "TGNavigationController.h" +#import +#import #define DEBUG_KEYBOARD_QUEUE false diff --git a/submodules/LegacyComponents/Sources/GLProgram.m b/submodules/LegacyComponents/Sources/GLProgram.m index 26173d05c6..11d43831e7 100755 --- a/submodules/LegacyComponents/Sources/GLProgram.m +++ b/submodules/LegacyComponents/Sources/GLProgram.m @@ -5,6 +5,10 @@ #import "LegacyComponentsInternal.h" #import "GLProgram.h" + +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" + // START:typedefs #pragma mark Function Pointer Definitions typedef void (*GLInfoFunction)(GLuint program, @@ -272,3 +276,5 @@ typedef void (*GLLogFunction) (GLuint program, } // END:dealloc @end + +#pragma clang diagnostic pop diff --git a/submodules/LegacyComponents/Sources/GPUImageContext.h b/submodules/LegacyComponents/Sources/GPUImageContext.h index ddd731af16..3979de0e5f 100755 --- a/submodules/LegacyComponents/Sources/GPUImageContext.h +++ b/submodules/LegacyComponents/Sources/GPUImageContext.h @@ -10,7 +10,12 @@ typedef enum { kGPUImageNoRotation, kGPUImageRotateLeft, kGPUImageRotateRight, k @property(readonly, nonatomic) dispatch_queue_t contextQueue; @property(readwrite, retain, nonatomic) GLProgram *currentShaderProgram; + +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" @property(readonly, retain, nonatomic) EAGLContext *context; +#pragma clang diagnostic pop + @property(readonly, nonatomic) CVOpenGLESTextureCacheRef coreVideoTextureCache; @property(readonly, nonatomic) GPUImageFramebufferCache *framebufferCache; @@ -33,7 +38,10 @@ typedef enum { kGPUImageNoRotation, kGPUImageRotateLeft, kGPUImageRotateRight, k - (void)presentBufferForDisplay; - (GLProgram *)programForVertexShaderString:(NSString *)vertexShaderString fragmentShaderString:(NSString *)fragmentShaderString; +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" - (void)useSharegroup:(EAGLSharegroup *)sharegroup; +#pragma clang diagnostic pop // Manage fast texture upload + (BOOL)supportsFastTextureUpload; diff --git a/submodules/LegacyComponents/Sources/GPUImageContext.m b/submodules/LegacyComponents/Sources/GPUImageContext.m index 81acd833ae..0b19f4ff92 100755 --- a/submodules/LegacyComponents/Sources/GPUImageContext.m +++ b/submodules/LegacyComponents/Sources/GPUImageContext.m @@ -2,6 +2,9 @@ #import #import +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" + #define MAXSHADERPROGRAMSALLOWEDINCACHE 40 @interface GPUImageContext() @@ -311,3 +314,5 @@ static void *openGLESContextQueueKey; } @end + +#pragma clang diagnostic pop diff --git a/submodules/LegacyComponents/Sources/GPUImageFilter.m b/submodules/LegacyComponents/Sources/GPUImageFilter.m index 6205c40a6e..0271c75682 100755 --- a/submodules/LegacyComponents/Sources/GPUImageFilter.m +++ b/submodules/LegacyComponents/Sources/GPUImageFilter.m @@ -3,6 +3,9 @@ #import "LegacyComponentsInternal.h" +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" + // Hardcode the vertex shader for standard filters, but this can be overridden NSString *const kGPUImageVertexShaderString = SHADER_STRING ( @@ -782,3 +785,5 @@ NSString *const kGPUImagePassthroughFragmentShaderString = SHADER_STRING } @end + +#pragma clang diagnostic pop diff --git a/submodules/LegacyComponents/Sources/GPUImageFramebuffer.m b/submodules/LegacyComponents/Sources/GPUImageFramebuffer.m index 44748f23b1..13f4b82182 100755 --- a/submodules/LegacyComponents/Sources/GPUImageFramebuffer.m +++ b/submodules/LegacyComponents/Sources/GPUImageFramebuffer.m @@ -1,6 +1,9 @@ #import "GPUImageFramebuffer.h" #import "GPUImageOutput.h" +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" + @interface GPUImageFramebuffer() { GLuint framebuffer; @@ -493,3 +496,5 @@ void dataProviderUnlockCallback (void *info, __unused const void *data, __unused } @end + +#pragma clang diagnostic pop diff --git a/submodules/LegacyComponents/Sources/GPUImageFramebufferCache.m b/submodules/LegacyComponents/Sources/GPUImageFramebufferCache.m index 627331b2cb..a6dee515b6 100755 --- a/submodules/LegacyComponents/Sources/GPUImageFramebufferCache.m +++ b/submodules/LegacyComponents/Sources/GPUImageFramebufferCache.m @@ -168,7 +168,10 @@ [framebufferCache removeAllObjects]; [framebufferTypeCounts removeAllObjects]; #if TARGET_IPHONE_SIMULATOR || TARGET_OS_IPHONE +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" CVOpenGLESTextureCacheFlush([[GPUImageContext sharedImageProcessingContext] coreVideoTextureCache], 0); +#pragma clang diagnostic pop #else #endif }); diff --git a/submodules/LegacyComponents/Sources/GPUImageGaussianBlurFilter.m b/submodules/LegacyComponents/Sources/GPUImageGaussianBlurFilter.m index aacd53ce32..0dffabe0d1 100755 --- a/submodules/LegacyComponents/Sources/GPUImageGaussianBlurFilter.m +++ b/submodules/LegacyComponents/Sources/GPUImageGaussianBlurFilter.m @@ -1,5 +1,8 @@ #import "GPUImageGaussianBlurFilter.h" +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" + @implementation GPUImageGaussianBlurFilter @synthesize texelSpacingMultiplier = _texelSpacingMultiplier; @@ -483,3 +486,5 @@ } @end + +#pragma clang diagnostic pop diff --git a/submodules/LegacyComponents/Sources/GPUImageSharpenFilter.m b/submodules/LegacyComponents/Sources/GPUImageSharpenFilter.m index ab75af8496..3d987ad73c 100755 --- a/submodules/LegacyComponents/Sources/GPUImageSharpenFilter.m +++ b/submodules/LegacyComponents/Sources/GPUImageSharpenFilter.m @@ -1,5 +1,8 @@ #import "GPUImageSharpenFilter.h" +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" + NSString *const kGPUImageSharpenVertexShaderString = SHADER_STRING ( attribute vec4 position; @@ -118,3 +121,4 @@ NSString *const kGPUImageSharpenFragmentShaderString = SHADER_STRING @end +#pragma clang diagnostic pop diff --git a/submodules/LegacyComponents/Sources/GPUImageTextureInput.m b/submodules/LegacyComponents/Sources/GPUImageTextureInput.m index ba1284e022..f6735d7e85 100755 --- a/submodules/LegacyComponents/Sources/GPUImageTextureInput.m +++ b/submodules/LegacyComponents/Sources/GPUImageTextureInput.m @@ -1,5 +1,8 @@ #import "GPUImageTextureInput.h" +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" + @implementation GPUImageTextureInput { CIContext *ciContext; @@ -141,3 +144,5 @@ } @end + +#pragma clang diagnostic pop diff --git a/submodules/LegacyComponents/Sources/GPUImageThreeInputFilter.m b/submodules/LegacyComponents/Sources/GPUImageThreeInputFilter.m index 665563e6df..ef0233b1fd 100644 --- a/submodules/LegacyComponents/Sources/GPUImageThreeInputFilter.m +++ b/submodules/LegacyComponents/Sources/GPUImageThreeInputFilter.m @@ -1,5 +1,7 @@ #import "GPUImageThreeInputFilter.h" +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" NSString *const kGPUImageThreeInputTextureVertexShaderString = SHADER_STRING ( @@ -326,3 +328,5 @@ NSString *const kGPUImageThreeInputTextureVertexShaderString = SHADER_STRING } @end + +#pragma clang diagnostic pop diff --git a/submodules/LegacyComponents/Sources/GPUImageToneCurveFilter.m b/submodules/LegacyComponents/Sources/GPUImageToneCurveFilter.m index 9a0c901c35..460a2033df 100644 --- a/submodules/LegacyComponents/Sources/GPUImageToneCurveFilter.m +++ b/submodules/LegacyComponents/Sources/GPUImageToneCurveFilter.m @@ -1,5 +1,8 @@ #import "GPUImageToneCurveFilter.h" +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" + #pragma mark - #pragma mark GPUImageToneCurveFilter Implementation @@ -454,3 +457,5 @@ NSString *const kGPUImageToneCurveFragmentShaderString = SHADER_STRING } @end + +#pragma clang diagnostic pop diff --git a/submodules/LegacyComponents/Sources/GPUImageTwoInputFilter.m b/submodules/LegacyComponents/Sources/GPUImageTwoInputFilter.m index 29553bcdef..61dbfb4dfb 100755 --- a/submodules/LegacyComponents/Sources/GPUImageTwoInputFilter.m +++ b/submodules/LegacyComponents/Sources/GPUImageTwoInputFilter.m @@ -1,5 +1,8 @@ #import "GPUImageTwoInputFilter.h" +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" + NSString *const kGPUImageTwoInputTextureVertexShaderString = SHADER_STRING ( attribute vec4 position; @@ -213,8 +216,6 @@ NSString *const kGPUImageTwoInputTextureVertexShaderString = SHADER_STRING return; } - BOOL updatedMovieFrameOppositeStillImage = NO; - if (textureIndex == 0) { hasReceivedFirstFrame = YES; @@ -228,7 +229,6 @@ NSString *const kGPUImageTwoInputTextureVertexShaderString = SHADER_STRING { if CMTIME_IS_INDEFINITE(secondFrameTime) { - updatedMovieFrameOppositeStillImage = YES; } } } @@ -245,7 +245,6 @@ NSString *const kGPUImageTwoInputTextureVertexShaderString = SHADER_STRING { if CMTIME_IS_INDEFINITE(firstFrameTime) { - updatedMovieFrameOppositeStillImage = YES; } } } @@ -261,3 +260,5 @@ NSString *const kGPUImageTwoInputTextureVertexShaderString = SHADER_STRING } @end + +#pragma clang diagnostic pop diff --git a/submodules/LegacyComponents/Sources/GPUImageTwoPassFilter.m b/submodules/LegacyComponents/Sources/GPUImageTwoPassFilter.m index dd8643d9f4..cf82bb9246 100755 --- a/submodules/LegacyComponents/Sources/GPUImageTwoPassFilter.m +++ b/submodules/LegacyComponents/Sources/GPUImageTwoPassFilter.m @@ -1,5 +1,8 @@ #import "GPUImageTwoPassFilter.h" +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" + @implementation GPUImageTwoPassFilter #pragma mark - @@ -199,3 +202,5 @@ } @end + +#pragma clang diagnostic pop diff --git a/submodules/LegacyComponents/Sources/GPUImageTwoPassTextureSamplingFilter.m b/submodules/LegacyComponents/Sources/GPUImageTwoPassTextureSamplingFilter.m index b6a2ec58b4..206ce6745b 100644 --- a/submodules/LegacyComponents/Sources/GPUImageTwoPassTextureSamplingFilter.m +++ b/submodules/LegacyComponents/Sources/GPUImageTwoPassTextureSamplingFilter.m @@ -1,5 +1,8 @@ #import "GPUImageTwoPassTextureSamplingFilter.h" +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" + @implementation GPUImageTwoPassTextureSamplingFilter @synthesize verticalTexelSpacing = _verticalTexelSpacing; @@ -83,3 +86,5 @@ } @end + +#pragma clang diagnostic pop diff --git a/submodules/LegacyComponents/Sources/JNWSpringAnimation.m b/submodules/LegacyComponents/Sources/JNWSpringAnimation.m index 0ec19caaca..5897288620 100644 --- a/submodules/LegacyComponents/Sources/JNWSpringAnimation.m +++ b/submodules/LegacyComponents/Sources/JNWSpringAnimation.m @@ -1,7 +1,7 @@ -#import "JNWSpringAnimation.h" +#import #import "NSValue+JNWAdditions.h" -#import "TGHacks.h" +#import static const CGFloat JNWSpringAnimationDefaultMass = 5.f; static const CGFloat JNWSpringAnimationDefaultDamping = 30.f; diff --git a/submodules/LegacyComponents/Sources/LegacyComponentsContext.m b/submodules/LegacyComponents/Sources/LegacyComponentsContext.m index 4305eeb76d..a15232fbc8 100644 --- a/submodules/LegacyComponents/Sources/LegacyComponentsContext.m +++ b/submodules/LegacyComponents/Sources/LegacyComponentsContext.m @@ -1,4 +1,4 @@ -#import "LegacyComponentsContext.h" +#import @implementation LegacyComponentsActionSheetAction diff --git a/submodules/LegacyComponents/Sources/LegacyComponentsGlobals.m b/submodules/LegacyComponents/Sources/LegacyComponentsGlobals.m index e73cd7291c..ecf6af4c17 100644 --- a/submodules/LegacyComponents/Sources/LegacyComponentsGlobals.m +++ b/submodules/LegacyComponents/Sources/LegacyComponentsGlobals.m @@ -2,7 +2,7 @@ #import "LegacyComponentsInternal.h" -#import "TGLocalization.h" +#import static id _provider; diff --git a/submodules/LegacyComponents/Sources/LegacyComponentsInternal.h b/submodules/LegacyComponents/Sources/LegacyComponentsInternal.h index 5685cba4a8..0f73d0d447 100644 --- a/submodules/LegacyComponents/Sources/LegacyComponentsInternal.h +++ b/submodules/LegacyComponents/Sources/LegacyComponentsInternal.h @@ -1,4 +1,4 @@ -#import "LegacyComponentsGlobals.h" +#import @class TGLocalization; diff --git a/submodules/LegacyComponents/Sources/LegacyComponentsInternal.m b/submodules/LegacyComponents/Sources/LegacyComponentsInternal.m index 8740c1d754..65acd0caaf 100644 --- a/submodules/LegacyComponents/Sources/LegacyComponentsInternal.m +++ b/submodules/LegacyComponents/Sources/LegacyComponentsInternal.m @@ -1,6 +1,6 @@ #import "LegacyComponentsInternal.h" -#import "TGLocalization.h" +#import #import diff --git a/submodules/LegacyComponents/Sources/NSInputStream+TL.m b/submodules/LegacyComponents/Sources/NSInputStream+TL.m index df5388730f..36fd423570 100644 --- a/submodules/LegacyComponents/Sources/NSInputStream+TL.m +++ b/submodules/LegacyComponents/Sources/NSInputStream+TL.m @@ -1,4 +1,4 @@ -#import "NSInputStream+TL.h" +#import #import "LegacyComponentsInternal.h" diff --git a/submodules/LegacyComponents/Sources/NSObject+TGLock.m b/submodules/LegacyComponents/Sources/NSObject+TGLock.m index fd70fde64a..a1a47fd53c 100644 --- a/submodules/LegacyComponents/Sources/NSObject+TGLock.m +++ b/submodules/LegacyComponents/Sources/NSObject+TGLock.m @@ -1,4 +1,4 @@ -#import "NSObject+TGLock.h" +#import #import diff --git a/submodules/LegacyComponents/Sources/PGCamera.m b/submodules/LegacyComponents/Sources/PGCamera.m index 60b9064cc1..7648a7c0cb 100644 --- a/submodules/LegacyComponents/Sources/PGCamera.m +++ b/submodules/LegacyComponents/Sources/PGCamera.m @@ -1,14 +1,14 @@ -#import "PGCamera.h" +#import #import "LegacyComponentsInternal.h" -#import "PGCameraCaptureSession.h" -#import "PGCameraMovieWriter.h" -#import "PGCameraDeviceAngleSampler.h" +#import +#import +#import #import -#import "TGCameraPreviewView.h" +#import NSString *const PGCameraFlashActiveKey = @"flashActive"; NSString *const PGCameraFlashAvailableKey = @"flashAvailable"; @@ -683,8 +683,11 @@ NSString *const PGCameraAdjustingFocusKey = @"adjustingFocus"; - (PGCameraPosition)togglePosition { +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" if ([AVCaptureDevice devicesWithMediaType:AVMediaTypeVideo].count < 2 || self.disabled) return self.captureSession.currentCameraPosition; +#pragma clang diagnostic pop [self _unsubscribeFromCameraChanges]; diff --git a/submodules/LegacyComponents/Sources/PGCameraCaptureSession.m b/submodules/LegacyComponents/Sources/PGCameraCaptureSession.m index 14692feffa..6770cc9449 100644 --- a/submodules/LegacyComponents/Sources/PGCameraCaptureSession.m +++ b/submodules/LegacyComponents/Sources/PGCameraCaptureSession.m @@ -1,5 +1,5 @@ -#import "PGCameraCaptureSession.h" -#import "PGCameraMovieWriter.h" +#import +#import #import "PGRectangleDetector.h" #import @@ -15,7 +15,10 @@ #import #import -#import "POPSpringAnimation.h" +#import + +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" const NSInteger PGCameraFrameRate = 30; @@ -319,13 +322,11 @@ const NSInteger PGCameraFrameRate = 30; - (void)switchToBestVideoFormatForDevice:(AVCaptureDevice *)device { - bool preferZoomableFormat = [self hasTelephotoCamera] || [self hasUltrawideCamera]; [self _reconfigureDevice:device withBlock:^(AVCaptureDevice *device) { NSArray *availableFormats = device.formats; AVCaptureDeviceFormat *preferredFormat = nil; NSMutableArray *maybeFormats = nil; - bool hasSecondaryZoomLevels = false; int32_t maxWidth = 0; int32_t maxHeight = 0; for (AVCaptureDeviceFormat *format in availableFormats) @@ -337,7 +338,6 @@ const NSInteger PGCameraFrameRate = 30; if (dimensions.width >= maxWidth && dimensions.width <= 1920 && dimensions.height >= maxHeight && dimensions.height <= 1080) { if (dimensions.width > maxWidth) { - hasSecondaryZoomLevels = false; maybeFormats = [[NSMutableArray alloc] init]; } FourCharCode mediaSubType = CMFormatDescriptionGetMediaSubType(format.formatDescription); @@ -357,10 +357,13 @@ const NSInteger PGCameraFrameRate = 30; } if (supportedRate) { - if (iosMajorVersion() >= 16 && format.secondaryNativeResolutionZoomFactors.count > 0) { - hasSecondaryZoomLevels = true; - [maybeFormats addObject:format]; - } else if (!hasSecondaryZoomLevels) { + if (@available(iOS 16.0, *)) { + if (format.secondaryNativeResolutionZoomFactors.count > 0) { + [maybeFormats addObject:format]; + } else { + [maybeFormats addObject:format]; + } + } else { [maybeFormats addObject:format]; } } @@ -1156,3 +1159,5 @@ static UIImageOrientation TGSnapshotOrientationForVideoOrientation(bool mirrored } @end + +#pragma clang diagnostic pop diff --git a/submodules/LegacyComponents/Sources/PGCameraDeviceAngleSampler.m b/submodules/LegacyComponents/Sources/PGCameraDeviceAngleSampler.m index 1c742bed83..2358ee7ace 100644 --- a/submodules/LegacyComponents/Sources/PGCameraDeviceAngleSampler.m +++ b/submodules/LegacyComponents/Sources/PGCameraDeviceAngleSampler.m @@ -1,4 +1,4 @@ -#import "PGCameraDeviceAngleSampler.h" +#import #import diff --git a/submodules/LegacyComponents/Sources/PGCameraMovieWriter.m b/submodules/LegacyComponents/Sources/PGCameraMovieWriter.m index 264404d478..236c3a04dc 100644 --- a/submodules/LegacyComponents/Sources/PGCameraMovieWriter.m +++ b/submodules/LegacyComponents/Sources/PGCameraMovieWriter.m @@ -1,4 +1,4 @@ -#import "PGCameraMovieWriter.h" +#import #import "LegacyComponentsInternal.h" diff --git a/submodules/LegacyComponents/Sources/PGCameraShotMetadata.m b/submodules/LegacyComponents/Sources/PGCameraShotMetadata.m index 7189cd749b..75c27c2834 100644 --- a/submodules/LegacyComponents/Sources/PGCameraShotMetadata.m +++ b/submodules/LegacyComponents/Sources/PGCameraShotMetadata.m @@ -1,4 +1,4 @@ -#import "PGCameraShotMetadata.h" +#import @implementation PGCameraShotMetadata diff --git a/submodules/LegacyComponents/Sources/PGCameraVolumeButtonHandler.m b/submodules/LegacyComponents/Sources/PGCameraVolumeButtonHandler.m index 7cd069cbc1..e029a2bd92 100644 --- a/submodules/LegacyComponents/Sources/PGCameraVolumeButtonHandler.m +++ b/submodules/LegacyComponents/Sources/PGCameraVolumeButtonHandler.m @@ -1,9 +1,9 @@ -#import "PGCameraVolumeButtonHandler.h" +#import #import "LegacyComponentsInternal.h" -#import "TGStringUtils.h" -#import "Freedom.h" +#import +#import #import diff --git a/submodules/LegacyComponents/Sources/PGPhotoCustomFilterPass.m b/submodules/LegacyComponents/Sources/PGPhotoCustomFilterPass.m index 1c614e3b53..830ff3a367 100644 --- a/submodules/LegacyComponents/Sources/PGPhotoCustomFilterPass.m +++ b/submodules/LegacyComponents/Sources/PGPhotoCustomFilterPass.m @@ -4,6 +4,9 @@ #import "LegacyComponentsInternal.h" +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" + NSString *const PGPhotoFilterDefinitionsShaderString = PGShaderString ( precision highp float; @@ -422,3 +425,5 @@ NSString *const PGPhotoFilterMainShaderString = PGShaderString } @end + +#pragma clang diagnostic pop diff --git a/submodules/LegacyComponents/Sources/PGPhotoEditorRawDataOutput.m b/submodules/LegacyComponents/Sources/PGPhotoEditorRawDataOutput.m index ebdb30d5d2..7c95051cb6 100644 --- a/submodules/LegacyComponents/Sources/PGPhotoEditorRawDataOutput.m +++ b/submodules/LegacyComponents/Sources/PGPhotoEditorRawDataOutput.m @@ -5,6 +5,9 @@ #import "GLProgram.h" #import "GPUImageFilter.h" +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" + @interface PGPhotoEditorRawDataOutput () { GPUImageFramebuffer *firstInputFramebuffer, *outputFramebuffer, *retainedFramebuffer; @@ -285,4 +288,6 @@ retainedFramebuffer = nil; } -@end \ No newline at end of file +@end + +#pragma clang diagnostic pop diff --git a/submodules/LegacyComponents/Sources/PGPhotoEditorValues.m b/submodules/LegacyComponents/Sources/PGPhotoEditorValues.m index 3257dd4b08..2bbb7bcbb2 100644 --- a/submodules/LegacyComponents/Sources/PGPhotoEditorValues.m +++ b/submodules/LegacyComponents/Sources/PGPhotoEditorValues.m @@ -1,7 +1,7 @@ -#import "PGPhotoEditorValues.h" -#import "TGPaintingData.h" +#import +#import -#import "TGPhotoEditorUtils.h" +#import @implementation PGPhotoEditorValues diff --git a/submodules/LegacyComponents/Sources/PGPhotoEditorView.m b/submodules/LegacyComponents/Sources/PGPhotoEditorView.m index 5c6b97f212..c01244bd92 100644 --- a/submodules/LegacyComponents/Sources/PGPhotoEditorView.m +++ b/submodules/LegacyComponents/Sources/PGPhotoEditorView.m @@ -7,6 +7,9 @@ #import #import +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" + @interface PGPhotoEditorView () { GPUImageRotationMode inputRotation; @@ -416,3 +419,5 @@ } @end + +#pragma clang diagnostic pop diff --git a/submodules/LegacyComponents/Sources/PGPhotoEnhanceLUTGenerator.m b/submodules/LegacyComponents/Sources/PGPhotoEnhanceLUTGenerator.m index cb27aa9fd9..3b701050e0 100644 --- a/submodules/LegacyComponents/Sources/PGPhotoEnhanceLUTGenerator.m +++ b/submodules/LegacyComponents/Sources/PGPhotoEnhanceLUTGenerator.m @@ -4,6 +4,9 @@ #import "PGPhotoProcessPass.h" +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" + const NSUInteger PGPhotoEnhanceHistogramBins = 256; const NSUInteger PGPhotoEnhanceSegments = 4; @@ -332,3 +335,5 @@ const NSUInteger PGPhotoEnhanceSegments = 4; } @end + +#pragma clang diagnostic pop diff --git a/submodules/LegacyComponents/Sources/PGPhotoGaussianBlurFilter.m b/submodules/LegacyComponents/Sources/PGPhotoGaussianBlurFilter.m index d13751fa11..d18cb99d25 100644 --- a/submodules/LegacyComponents/Sources/PGPhotoGaussianBlurFilter.m +++ b/submodules/LegacyComponents/Sources/PGPhotoGaussianBlurFilter.m @@ -2,6 +2,9 @@ #import "PGPhotoProcessPass.h" +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" + @interface PGPhotoGaussianBlurFilter () { GPUImageFramebuffer *_secondOutputFramebuffer; @@ -496,3 +499,5 @@ } @end + +#pragma clang diagnostic pop diff --git a/submodules/LegacyComponents/Sources/PGPhotoSharpenPass.m b/submodules/LegacyComponents/Sources/PGPhotoSharpenPass.m index 453cb7f2e7..540404df78 100644 --- a/submodules/LegacyComponents/Sources/PGPhotoSharpenPass.m +++ b/submodules/LegacyComponents/Sources/PGPhotoSharpenPass.m @@ -1,5 +1,8 @@ #import "PGPhotoSharpenPass.h" +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" + NSString *const kSharpenVertexShaderString = PGShaderString ( attribute vec4 position; @@ -141,4 +144,6 @@ NSString *const kSharpenFragmentShaderString = SHADER_STRING [((PGSharpenFilter *) _filter) setSharpness:_sharpness]; } -@end \ No newline at end of file +@end + +#pragma clang diagnostic pop diff --git a/submodules/LegacyComponents/Sources/PGVideoMovie.m b/submodules/LegacyComponents/Sources/PGVideoMovie.m index ceb10a7b57..c81b4c3def 100755 --- a/submodules/LegacyComponents/Sources/PGVideoMovie.m +++ b/submodules/LegacyComponents/Sources/PGVideoMovie.m @@ -2,6 +2,9 @@ #import "GPUImageFilter.h" #import "LegacyComponentsInternal.h" +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" + GLfloat kColorConversion601Default[] = { 1.164, 1.164, 1.164, 0.0, -0.392, 2.017, @@ -517,3 +520,5 @@ NSString *const kYUVVideoRangeConversionForLAFragmentShaderString = SHADER_STRIN } @end + +#pragma clang diagnostic pop diff --git a/submodules/LegacyComponents/Sources/POPAnimatableProperty.mm b/submodules/LegacyComponents/Sources/POPAnimatableProperty.mm index fef591ccdf..78df068f7d 100644 --- a/submodules/LegacyComponents/Sources/POPAnimatableProperty.mm +++ b/submodules/LegacyComponents/Sources/POPAnimatableProperty.mm @@ -7,7 +7,7 @@ of patent rights can be found in the PATENTS file in the same directory. */ -#import "POPAnimatableProperty.h" +#import #import "POPCGUtils.h" #import "POPAnimationRuntime.h" diff --git a/submodules/LegacyComponents/Sources/POPAnimationEvent.mm b/submodules/LegacyComponents/Sources/POPAnimationEvent.mm index d3a13b69c6..e3a062015e 100644 --- a/submodules/LegacyComponents/Sources/POPAnimationEvent.mm +++ b/submodules/LegacyComponents/Sources/POPAnimationEvent.mm @@ -7,7 +7,7 @@ of patent rights can be found in the PATENTS file in the same directory. */ -#import "POPAnimationEvent.h" +#import #import "POPAnimationEventInternal.h" static NSString *stringFromType(POPAnimationEventType aType) diff --git a/submodules/LegacyComponents/Sources/POPAnimationEventInternal.h b/submodules/LegacyComponents/Sources/POPAnimationEventInternal.h index 398d59bd1b..708e4ea2dc 100644 --- a/submodules/LegacyComponents/Sources/POPAnimationEventInternal.h +++ b/submodules/LegacyComponents/Sources/POPAnimationEventInternal.h @@ -9,7 +9,7 @@ #import -#import "POPAnimationEvent.h" +#import @interface POPAnimationEvent () diff --git a/submodules/LegacyComponents/Sources/POPAnimationExtras.h b/submodules/LegacyComponents/Sources/POPAnimationExtras.h index 8535909f53..3a80a8cb13 100644 --- a/submodules/LegacyComponents/Sources/POPAnimationExtras.h +++ b/submodules/LegacyComponents/Sources/POPAnimationExtras.h @@ -10,7 +10,7 @@ #import #import "POPDefines.h" -#import "POPSpringAnimation.h" +#import /** @abstract The current drag coefficient. diff --git a/submodules/LegacyComponents/Sources/POPAnimationInternal.h b/submodules/LegacyComponents/Sources/POPAnimationInternal.h index 1c0882c6b9..e28fbf7302 100644 --- a/submodules/LegacyComponents/Sources/POPAnimationInternal.h +++ b/submodules/LegacyComponents/Sources/POPAnimationInternal.h @@ -9,7 +9,7 @@ #import -#import "POPAnimation.h" +#import #import "POPAnimationRuntime.h" #import "POPAnimationTracerInternal.h" #import "POPSpringSolver.h" diff --git a/submodules/LegacyComponents/Sources/POPAnimationPrivate.h b/submodules/LegacyComponents/Sources/POPAnimationPrivate.h index dc1d83931a..1e3a8ac6a3 100644 --- a/submodules/LegacyComponents/Sources/POPAnimationPrivate.h +++ b/submodules/LegacyComponents/Sources/POPAnimationPrivate.h @@ -7,7 +7,7 @@ of patent rights can be found in the PATENTS file in the same directory. */ -#import "POPAnimation.h" +#import #define POP_ANIMATION_FRICTION_FOR_QC_FRICTION(qcFriction) (25.0 + (((qcFriction - 8.0) / 2.0) * (25.0 - 19.0))) #define POP_ANIMATION_TENSION_FOR_QC_TENSION(qcTension) (194.0 + (((qcTension - 30.0) / 50.0) * (375.0 - 194.0))) diff --git a/submodules/LegacyComponents/Sources/POPAnimationRuntime.mm b/submodules/LegacyComponents/Sources/POPAnimationRuntime.mm index 4e27a6e006..d3e1ac832f 100644 --- a/submodules/LegacyComponents/Sources/POPAnimationRuntime.mm +++ b/submodules/LegacyComponents/Sources/POPAnimationRuntime.mm @@ -20,7 +20,7 @@ #import "POPVector.h" #import "POPAnimationRuntime.h" #import "POPCGUtils.h" -#import "POPGeometry.h" +#import static Boolean pointerEqual(const void *ptr1, const void *ptr2) { return ptr1 == ptr2; diff --git a/submodules/LegacyComponents/Sources/POPAnimationTracer.mm b/submodules/LegacyComponents/Sources/POPAnimationTracer.mm index 243fb9b8f9..a121754252 100644 --- a/submodules/LegacyComponents/Sources/POPAnimationTracer.mm +++ b/submodules/LegacyComponents/Sources/POPAnimationTracer.mm @@ -7,13 +7,13 @@ of patent rights can be found in the PATENTS file in the same directory. */ -#import "POPAnimationTracer.h" +#import #import #import "POPAnimationEventInternal.h" #import "POPAnimationInternal.h" -#import "POPSpringAnimation.h" +#import @implementation POPAnimationTracer { diff --git a/submodules/LegacyComponents/Sources/POPAnimationTracerInternal.h b/submodules/LegacyComponents/Sources/POPAnimationTracerInternal.h index 6e3dbcae01..cd406439ee 100644 --- a/submodules/LegacyComponents/Sources/POPAnimationTracerInternal.h +++ b/submodules/LegacyComponents/Sources/POPAnimationTracerInternal.h @@ -9,7 +9,7 @@ #import -#import "POPAnimationTracer.h" +#import @interface POPAnimationTracer (Internal) diff --git a/submodules/LegacyComponents/Sources/POPAnimator.mm b/submodules/LegacyComponents/Sources/POPAnimator.mm index fa9a6390f1..041391df23 100644 --- a/submodules/LegacyComponents/Sources/POPAnimator.mm +++ b/submodules/LegacyComponents/Sources/POPAnimator.mm @@ -16,10 +16,10 @@ #import -#import "POPAnimation.h" +#import #import "POPAnimationExtras.h" #import "POPBasicAnimationInternal.h" -#import "POPDecayAnimation.h" +#import #import diff --git a/submodules/LegacyComponents/Sources/POPBasicAnimationInternal.h b/submodules/LegacyComponents/Sources/POPBasicAnimationInternal.h index e274c3f2f4..6349c34893 100644 --- a/submodules/LegacyComponents/Sources/POPBasicAnimationInternal.h +++ b/submodules/LegacyComponents/Sources/POPBasicAnimationInternal.h @@ -7,7 +7,7 @@ of patent rights can be found in the PATENTS file in the same directory. */ -#import "POPBasicAnimation.h" +#import #import "POPPropertyAnimationInternal.h" // default animation duration diff --git a/submodules/LegacyComponents/Sources/POPCustomAnimation.mm b/submodules/LegacyComponents/Sources/POPCustomAnimation.mm index 20e361ac08..c4c51066a0 100644 --- a/submodules/LegacyComponents/Sources/POPCustomAnimation.mm +++ b/submodules/LegacyComponents/Sources/POPCustomAnimation.mm @@ -7,7 +7,7 @@ of patent rights can be found in the PATENTS file in the same directory. */ -#import "POPCustomAnimation.h" +#import #import "POPAnimationInternal.h" @interface POPCustomAnimation () diff --git a/submodules/LegacyComponents/Sources/POPDecayAnimationInternal.h b/submodules/LegacyComponents/Sources/POPDecayAnimationInternal.h index c0969b5a21..0353b113fe 100644 --- a/submodules/LegacyComponents/Sources/POPDecayAnimationInternal.h +++ b/submodules/LegacyComponents/Sources/POPDecayAnimationInternal.h @@ -7,7 +7,7 @@ of patent rights can be found in the PATENTS file in the same directory. */ -#import "POPDecayAnimation.h" +#import #import "POPPropertyAnimationInternal.h" // minimal velocity factor before decay animation is considered complete, in units / s diff --git a/submodules/LegacyComponents/Sources/POPGeometry.mm b/submodules/LegacyComponents/Sources/POPGeometry.mm index 64d11341c9..1d3e83ed40 100644 --- a/submodules/LegacyComponents/Sources/POPGeometry.mm +++ b/submodules/LegacyComponents/Sources/POPGeometry.mm @@ -7,7 +7,7 @@ of patent rights can be found in the PATENTS file in the same directory. */ -#import "POPGeometry.h" +#import #if !TARGET_OS_IPHONE @implementation NSValue (POP) diff --git a/submodules/LegacyComponents/Sources/POPPropertyAnimationInternal.h b/submodules/LegacyComponents/Sources/POPPropertyAnimationInternal.h index 9f2aee4447..587f840698 100644 --- a/submodules/LegacyComponents/Sources/POPPropertyAnimationInternal.h +++ b/submodules/LegacyComponents/Sources/POPPropertyAnimationInternal.h @@ -8,7 +8,7 @@ */ #import "POPAnimationInternal.h" -#import "POPPropertyAnimation.h" +#import static void clampValue(CGFloat &value, CGFloat fromValue, CGFloat toValue, NSUInteger clamp) { diff --git a/submodules/LegacyComponents/Sources/PSKeyValueCoder.m b/submodules/LegacyComponents/Sources/PSKeyValueCoder.m index 20bd9382c0..02dc8f210e 100644 --- a/submodules/LegacyComponents/Sources/PSKeyValueCoder.m +++ b/submodules/LegacyComponents/Sources/PSKeyValueCoder.m @@ -1,4 +1,4 @@ -#import "PSKeyValueCoder.h" +#import #import diff --git a/submodules/LegacyComponents/Sources/PSKeyValueDecoder.m b/submodules/LegacyComponents/Sources/PSKeyValueDecoder.m index b9e695ce5f..4645b4d9ac 100644 --- a/submodules/LegacyComponents/Sources/PSKeyValueDecoder.m +++ b/submodules/LegacyComponents/Sources/PSKeyValueDecoder.m @@ -1,4 +1,4 @@ -#import "PSKeyValueDecoder.h" +#import #import diff --git a/submodules/LegacyComponents/Sources/PSKeyValueEncoder.m b/submodules/LegacyComponents/Sources/PSKeyValueEncoder.m index 23bb690b58..61c8ae6f77 100644 --- a/submodules/LegacyComponents/Sources/PSKeyValueEncoder.m +++ b/submodules/LegacyComponents/Sources/PSKeyValueEncoder.m @@ -1,4 +1,4 @@ -#import "PSKeyValueEncoder.h" +#import #import diff --git a/submodules/LegacyComponents/Sources/PSLMDBKeyValueCursor.m b/submodules/LegacyComponents/Sources/PSLMDBKeyValueCursor.m index acb42e2250..5abbb518c1 100644 --- a/submodules/LegacyComponents/Sources/PSLMDBKeyValueCursor.m +++ b/submodules/LegacyComponents/Sources/PSLMDBKeyValueCursor.m @@ -1,8 +1,8 @@ -#import "PSLMDBKeyValueCursor.h" +#import #import "LegacyComponentsInternal.h" -#import "PSLMDBTable.h" +#import @interface PSLMDBKeyValueCursor () { diff --git a/submodules/LegacyComponents/Sources/PSLMDBKeyValueReaderWriter.m b/submodules/LegacyComponents/Sources/PSLMDBKeyValueReaderWriter.m index 0d3462fcf6..902c43d3e6 100644 --- a/submodules/LegacyComponents/Sources/PSLMDBKeyValueReaderWriter.m +++ b/submodules/LegacyComponents/Sources/PSLMDBKeyValueReaderWriter.m @@ -1,9 +1,9 @@ -#import "PSLMDBKeyValueReaderWriter.h" +#import #import "LegacyComponentsInternal.h" -#import "PSLMDBTable.h" -#import "PSLMDBKeyValueCursor.h" +#import +#import @interface PSLMDBKeyValueReaderWriter () { diff --git a/submodules/LegacyComponents/Sources/PSLMDBKeyValueStore.m b/submodules/LegacyComponents/Sources/PSLMDBKeyValueStore.m index 36b0d6041b..7b8f165e9e 100644 --- a/submodules/LegacyComponents/Sources/PSLMDBKeyValueStore.m +++ b/submodules/LegacyComponents/Sources/PSLMDBKeyValueStore.m @@ -1,11 +1,11 @@ -#import "PSLMDBKeyValueStore.h" +#import #import "LegacyComponentsInternal.h" -#import "lmdb.h" +#import -#import "PSLMDBTable.h" -#import "PSLMDBKeyValueReaderWriter.h" +#import +#import @interface PSLMDBKeyValueStore () { diff --git a/submodules/LegacyComponents/Sources/PSLMDBTable.m b/submodules/LegacyComponents/Sources/PSLMDBTable.m index 74733fa419..7d01f214d9 100644 --- a/submodules/LegacyComponents/Sources/PSLMDBTable.m +++ b/submodules/LegacyComponents/Sources/PSLMDBTable.m @@ -1,4 +1,4 @@ -#import "PSLMDBTable.h" +#import @implementation PSLMDBTable diff --git a/submodules/LegacyComponents/Sources/RMPhoneFormat.m b/submodules/LegacyComponents/Sources/RMPhoneFormat.m index fd00690ef3..7a33ae1abd 100644 --- a/submodules/LegacyComponents/Sources/RMPhoneFormat.m +++ b/submodules/LegacyComponents/Sources/RMPhoneFormat.m @@ -1,4 +1,4 @@ -#import "RMPhoneFormat.h" +#import @interface PhoneRule : NSObject diff --git a/submodules/LegacyComponents/Sources/SGraphListNode.m b/submodules/LegacyComponents/Sources/SGraphListNode.m index 3214653721..c73df83e53 100644 --- a/submodules/LegacyComponents/Sources/SGraphListNode.m +++ b/submodules/LegacyComponents/Sources/SGraphListNode.m @@ -1,4 +1,4 @@ -#import "SGraphListNode.h" +#import @implementation SGraphListNode diff --git a/submodules/LegacyComponents/Sources/SGraphNode.m b/submodules/LegacyComponents/Sources/SGraphNode.m index 79e1d31ba9..a3fb600f29 100644 --- a/submodules/LegacyComponents/Sources/SGraphNode.m +++ b/submodules/LegacyComponents/Sources/SGraphNode.m @@ -1,4 +1,4 @@ -#import "SGraphNode.h" +#import @implementation SGraphNode diff --git a/submodules/LegacyComponents/Sources/SGraphObjectNode.m b/submodules/LegacyComponents/Sources/SGraphObjectNode.m index 2e1542d4c9..3cb39eee52 100644 --- a/submodules/LegacyComponents/Sources/SGraphObjectNode.m +++ b/submodules/LegacyComponents/Sources/SGraphObjectNode.m @@ -1,4 +1,4 @@ -#import "SGraphObjectNode.h" +#import @implementation SGraphObjectNode diff --git a/submodules/LegacyComponents/Sources/TGActionMediaAttachment.m b/submodules/LegacyComponents/Sources/TGActionMediaAttachment.m index 038eb02e36..c919fc2b23 100644 --- a/submodules/LegacyComponents/Sources/TGActionMediaAttachment.m +++ b/submodules/LegacyComponents/Sources/TGActionMediaAttachment.m @@ -1,6 +1,6 @@ -#import "TGActionMediaAttachment.h" +#import -#import "TGImageMediaAttachment.h" +#import @implementation TGActionMediaAttachment diff --git a/submodules/LegacyComponents/Sources/TGAnimationBlockDelegate.m b/submodules/LegacyComponents/Sources/TGAnimationBlockDelegate.m index 770238e192..0de2432cc3 100644 --- a/submodules/LegacyComponents/Sources/TGAnimationBlockDelegate.m +++ b/submodules/LegacyComponents/Sources/TGAnimationBlockDelegate.m @@ -1,4 +1,4 @@ -#import "TGAnimationBlockDelegate.h" +#import @implementation TGAnimationBlockDelegate diff --git a/submodules/LegacyComponents/Sources/TGAttachmentCameraView.m b/submodules/LegacyComponents/Sources/TGAttachmentCameraView.m index 1a7ca9334a..5212c8a6a3 100644 --- a/submodules/LegacyComponents/Sources/TGAttachmentCameraView.m +++ b/submodules/LegacyComponents/Sources/TGAttachmentCameraView.m @@ -1,11 +1,11 @@ -#import "TGAttachmentCameraView.h" -#import "TGImageUtils.h" +#import +#import #import "LegacyComponentsInternal.h" #import #import "TGAttachmentMenuCell.h" -#import "TGCameraController.h" +#import #import #import @@ -63,7 +63,10 @@ [self setInterfaceOrientation:[[LegacyComponentsGlobals provider] applicationStatusBarOrientation] animated:false]; +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(handleOrientationChange:) name:UIApplicationDidChangeStatusBarOrientationNotification object:nil]; +#pragma clang diagnostic pop _fadeView = [[UIView alloc] initWithFrame:self.bounds]; _fadeView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight; @@ -122,7 +125,10 @@ if (previewView.superview == _wrapperView && _camera != nil) [self stopPreview]; +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" [[NSNotificationCenter defaultCenter] removeObserver:self name:UIApplicationDidChangeStatusBarOrientationNotification object:nil]; +#pragma clang diagnostic pop } - (void)removeCorners { diff --git a/submodules/LegacyComponents/Sources/TGAttachmentCarouselItemView.m b/submodules/LegacyComponents/Sources/TGAttachmentCarouselItemView.m index 727164f8dc..f32446d07d 100644 --- a/submodules/LegacyComponents/Sources/TGAttachmentCarouselItemView.m +++ b/submodules/LegacyComponents/Sources/TGAttachmentCarouselItemView.m @@ -1,4 +1,5 @@ -#import "TGAttachmentCarouselItemView.h" +#import +#import #import "LegacyComponentsInternal.h" @@ -13,7 +14,7 @@ #import "TGTransitionLayout.h" -#import "TGAttachmentCameraView.h" +#import #import "TGAttachmentPhotoCell.h" #import "TGAttachmentVideoCell.h" @@ -28,7 +29,7 @@ #import #import -#import "TGMediaAvatarEditorTransition.h" +#import #import #import #import @@ -1333,7 +1334,10 @@ const NSUInteger TGAttachmentDisplayedAssetLimit = 500; return nil; CGRect cellFrame = [_collectionView.collectionViewLayout layoutAttributesForItemAtIndexPath:indexPath].frame; +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" previewingContext.sourceRect = cellFrame; +#pragma clang diagnostic pop TGMediaAsset *asset = nil; _previewGalleryMixin = [self galleryMixinForIndexPath:indexPath previewMode:true outAsset:&asset]; diff --git a/submodules/LegacyComponents/Sources/TGAttachmentVideoCell.m b/submodules/LegacyComponents/Sources/TGAttachmentVideoCell.m index 5d88df09e4..2a43656782 100644 --- a/submodules/LegacyComponents/Sources/TGAttachmentVideoCell.m +++ b/submodules/LegacyComponents/Sources/TGAttachmentVideoCell.m @@ -1,7 +1,7 @@ #import "TGAttachmentVideoCell.h" #import "LegacyComponentsInternal.h" -#import "TGFont.h" +#import #import diff --git a/submodules/LegacyComponents/Sources/TGAudioMediaAttachment.m b/submodules/LegacyComponents/Sources/TGAudioMediaAttachment.m index ba6bb7dc32..37089fe77b 100644 --- a/submodules/LegacyComponents/Sources/TGAudioMediaAttachment.m +++ b/submodules/LegacyComponents/Sources/TGAudioMediaAttachment.m @@ -1,4 +1,4 @@ -#import "TGAudioMediaAttachment.h" +#import @implementation TGAudioMediaAttachment diff --git a/submodules/LegacyComponents/Sources/TGAudioWaveform.m b/submodules/LegacyComponents/Sources/TGAudioWaveform.m index 0802460a06..ec042adf80 100644 --- a/submodules/LegacyComponents/Sources/TGAudioWaveform.m +++ b/submodules/LegacyComponents/Sources/TGAudioWaveform.m @@ -1,8 +1,8 @@ -#import "TGAudioWaveform.h" +#import #import "LegacyComponentsInternal.h" -#import "PSKeyValueCoder.h" +#import static int32_t get_bits(uint8_t const *bytes, unsigned int bitOffset, unsigned int numBits) { diff --git a/submodules/LegacyComponents/Sources/TGAuthorSignatureMediaAttachment.m b/submodules/LegacyComponents/Sources/TGAuthorSignatureMediaAttachment.m index cc1f3a4920..dafb13c1d3 100644 --- a/submodules/LegacyComponents/Sources/TGAuthorSignatureMediaAttachment.m +++ b/submodules/LegacyComponents/Sources/TGAuthorSignatureMediaAttachment.m @@ -1,8 +1,8 @@ -#import "TGAuthorSignatureMediaAttachment.h" +#import #import "LegacyComponentsInternal.h" -#import "NSInputStream+TL.h" +#import @implementation TGAuthorSignatureMediaAttachment @@ -26,7 +26,7 @@ - (void)serialize:(NSMutableData *)data { - NSData *serializedData = [NSKeyedArchiver archivedDataWithRootObject:self]; + NSData *serializedData = [NSKeyedArchiver archivedDataWithRootObject:self requiringSecureCoding:false error:nil]; int32_t length = (int32_t)serializedData.length; [data appendBytes:&length length:4]; [data appendData:serializedData]; @@ -36,7 +36,7 @@ { int32_t length = [is readInt32]; NSData *data = [is readData:length]; - return [NSKeyedUnarchiver unarchiveObjectWithData:data]; + return [NSKeyedUnarchiver unarchivedObjectOfClass:[TGMediaAttachment class] fromData:data error:nil]; } - (BOOL)isEqual:(id)object { diff --git a/submodules/LegacyComponents/Sources/TGBackdropView.m b/submodules/LegacyComponents/Sources/TGBackdropView.m index ad9a8b8066..abc7e7c9e0 100644 --- a/submodules/LegacyComponents/Sources/TGBackdropView.m +++ b/submodules/LegacyComponents/Sources/TGBackdropView.m @@ -1,4 +1,4 @@ -#import "TGBackdropView.h" +#import #import "LegacyComponentsInternal.h" diff --git a/submodules/LegacyComponents/Sources/TGBotComandInfo.m b/submodules/LegacyComponents/Sources/TGBotComandInfo.m index 9e18f66869..0ad5b34012 100644 --- a/submodules/LegacyComponents/Sources/TGBotComandInfo.m +++ b/submodules/LegacyComponents/Sources/TGBotComandInfo.m @@ -1,6 +1,6 @@ -#import "TGBotComandInfo.h" +#import -#import "PSKeyValueCoder.h" +#import @implementation TGBotComandInfo diff --git a/submodules/LegacyComponents/Sources/TGBotContextResultAttachment.m b/submodules/LegacyComponents/Sources/TGBotContextResultAttachment.m index 862c6de745..9c777b0ca6 100644 --- a/submodules/LegacyComponents/Sources/TGBotContextResultAttachment.m +++ b/submodules/LegacyComponents/Sources/TGBotContextResultAttachment.m @@ -1,6 +1,6 @@ -#import "TGBotContextResultAttachment.h" +#import -#import "NSInputStream+TL.h" +#import @implementation TGBotContextResultAttachment @@ -28,7 +28,7 @@ - (void)serialize:(NSMutableData *)data { - NSData *serializedData = [NSKeyedArchiver archivedDataWithRootObject:self]; + NSData *serializedData = [NSKeyedArchiver archivedDataWithRootObject:self requiringSecureCoding:false error:nil]; int32_t length = (int32_t)serializedData.length; [data appendBytes:&length length:4]; [data appendData:serializedData]; @@ -38,7 +38,7 @@ { int32_t length = [is readInt32]; NSData *data = [is readData:length]; - return [NSKeyedUnarchiver unarchiveObjectWithData:data]; + return [NSKeyedUnarchiver unarchivedObjectOfClass:[TGMediaAttachment class] fromData:data error:nil]; } @end diff --git a/submodules/LegacyComponents/Sources/TGBotInfo.m b/submodules/LegacyComponents/Sources/TGBotInfo.m index f575200bad..284f68d044 100644 --- a/submodules/LegacyComponents/Sources/TGBotInfo.m +++ b/submodules/LegacyComponents/Sources/TGBotInfo.m @@ -1,6 +1,6 @@ -#import "TGBotInfo.h" +#import -#import "PSKeyValueCoder.h" +#import @implementation TGBotInfo diff --git a/submodules/LegacyComponents/Sources/TGBotReplyMarkup.m b/submodules/LegacyComponents/Sources/TGBotReplyMarkup.m index 9c9bfcdb6a..179212e461 100644 --- a/submodules/LegacyComponents/Sources/TGBotReplyMarkup.m +++ b/submodules/LegacyComponents/Sources/TGBotReplyMarkup.m @@ -1,6 +1,6 @@ -#import "TGBotReplyMarkup.h" +#import -#import "PSKeyValueCoder.h" +#import @implementation TGBotReplyMarkup diff --git a/submodules/LegacyComponents/Sources/TGBotReplyMarkupButton.m b/submodules/LegacyComponents/Sources/TGBotReplyMarkupButton.m index f1e0010427..8f64385831 100644 --- a/submodules/LegacyComponents/Sources/TGBotReplyMarkupButton.m +++ b/submodules/LegacyComponents/Sources/TGBotReplyMarkupButton.m @@ -1,8 +1,8 @@ -#import "TGBotReplyMarkupButton.h" +#import #import "LegacyComponentsInternal.h" -#import "PSKeyValueCoder.h" +#import @implementation TGBotReplyMarkupButtonActionUrl diff --git a/submodules/LegacyComponents/Sources/TGBotReplyMarkupRow.m b/submodules/LegacyComponents/Sources/TGBotReplyMarkupRow.m index edd4296131..a857373cbc 100644 --- a/submodules/LegacyComponents/Sources/TGBotReplyMarkupRow.m +++ b/submodules/LegacyComponents/Sources/TGBotReplyMarkupRow.m @@ -1,6 +1,6 @@ -#import "TGBotReplyMarkupRow.h" +#import -#import "PSKeyValueCoder.h" +#import @implementation TGBotReplyMarkupRow diff --git a/submodules/LegacyComponents/Sources/TGCache.m b/submodules/LegacyComponents/Sources/TGCache.m index 6fc28ec3d4..611207f402 100644 --- a/submodules/LegacyComponents/Sources/TGCache.m +++ b/submodules/LegacyComponents/Sources/TGCache.m @@ -1,8 +1,8 @@ -#import "TGCache.h" +#import #import "LegacyComponentsInternal.h" -#import "TGImageUtils.h" +#import #import #import @@ -29,7 +29,10 @@ static NSString *md5String(NSString *string) const char *ptr = [string UTF8String]; unsigned char md5Buffer[16]; +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" CC_MD5(ptr, (CC_LONG)[string lengthOfBytesUsingEncoding:NSUTF8StringEncoding], md5Buffer); +#pragma clang diagnostic pop NSString *output = [[NSString alloc] initWithFormat:@"%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x", md5Buffer[0], md5Buffer[1], md5Buffer[2], md5Buffer[3], md5Buffer[4], md5Buffer[5], md5Buffer[6], md5Buffer[7], md5Buffer[8], md5Buffer[9], md5Buffer[10], md5Buffer[11], md5Buffer[12], md5Buffer[13], md5Buffer[14], md5Buffer[15]]; //objc_setAssociatedObject(string, md5PropertyKey, output, OBJC_ASSOCIATION_RETAIN_NONATOMIC); return output; diff --git a/submodules/LegacyComponents/Sources/TGCameraCapturedPhoto.m b/submodules/LegacyComponents/Sources/TGCameraCapturedPhoto.m index 3b0f6a7fc4..86c6d2473b 100644 --- a/submodules/LegacyComponents/Sources/TGCameraCapturedPhoto.m +++ b/submodules/LegacyComponents/Sources/TGCameraCapturedPhoto.m @@ -1,4 +1,4 @@ -#import "TGCameraCapturedPhoto.h" +#import #import #import #import diff --git a/submodules/LegacyComponents/Sources/TGCameraCapturedVideo.m b/submodules/LegacyComponents/Sources/TGCameraCapturedVideo.m index e9433f57f5..1abb11bbfa 100644 --- a/submodules/LegacyComponents/Sources/TGCameraCapturedVideo.m +++ b/submodules/LegacyComponents/Sources/TGCameraCapturedVideo.m @@ -1,14 +1,14 @@ -#import "TGCameraCapturedVideo.h" +#import #import #import #import -#import "LegacyComponentsGlobals.h" -#import "TGStringUtils.h" -#import "TGMediaAsset.h" -#import "TGMediaAsset+TGMediaEditableItem.h" +#import +#import +#import +#import -#import "TGGifConverter.h" +#import @interface TGCameraCapturedVideo () { diff --git a/submodules/LegacyComponents/Sources/TGCameraController.m b/submodules/LegacyComponents/Sources/TGCameraController.m index a1dcb36c64..fd9b44075e 100644 --- a/submodules/LegacyComponents/Sources/TGCameraController.m +++ b/submodules/LegacyComponents/Sources/TGCameraController.m @@ -1,4 +1,5 @@ -#import "TGCameraController.h" +#import +#import #import "LegacyComponentsInternal.h" @@ -29,7 +30,7 @@ #import #import -#import "TGMediaVideoConverter.h" +#import #import #import #import @@ -46,9 +47,9 @@ #import #import -#import "TGMediaPickerGallerySelectedItemsModel.h" -#import "TGCameraCapturedPhoto.h" -#import "TGCameraCapturedVideo.h" +#import +#import +#import #import "PGPhotoEditor.h" #import "PGRectangleDetector.h" @@ -1721,9 +1722,7 @@ static CGPoint TGCameraControllerClampPointToScreenSize(__unused id self, __unus }; id windowManager = nil; - id windowContext = nil; windowManager = [strongSelf->_context makeOverlayWindowManager]; - windowContext = [windowManager context]; TGOverlayControllerWindow *controllerWindow = [[TGOverlayControllerWindow alloc] initWithManager:windowManager parentController:strongSelf contentController:(TGOverlayController *)controller]; controllerWindow.hidden = false; @@ -1885,7 +1884,7 @@ static CGPoint TGCameraControllerClampPointToScreenSize(__unused id self, __unus return nil; }; - void (^dismissGalleryImpl)() = nil; + __unused void (^dismissGalleryImpl)() = nil; galleryController.completedTransitionOut = ^ { @@ -2926,7 +2925,7 @@ static CGPoint TGCameraControllerClampPointToScreenSize(__unused id self, __unus } static dispatch_once_t onceToken; - static UIImage *blankImage; + __unused static UIImage *blankImage; dispatch_once(&onceToken, ^ { UIGraphicsBeginImageContextWithOptions(CGSizeMake(1, 1), true, 0.0f); diff --git a/submodules/LegacyComponents/Sources/TGCameraFlashActiveView.m b/submodules/LegacyComponents/Sources/TGCameraFlashActiveView.m index 71502ab3fd..913cfcefdd 100644 --- a/submodules/LegacyComponents/Sources/TGCameraFlashActiveView.m +++ b/submodules/LegacyComponents/Sources/TGCameraFlashActiveView.m @@ -1,8 +1,8 @@ -#import "TGCameraFlashActiveView.h" +#import #import "LegacyComponentsInternal.h" -#import "TGCameraInterfaceAssets.h" +#import @interface TGCameraFlashActiveView () { diff --git a/submodules/LegacyComponents/Sources/TGCameraFlashControl.m b/submodules/LegacyComponents/Sources/TGCameraFlashControl.m index 5841fa771f..b2d8160cbd 100644 --- a/submodules/LegacyComponents/Sources/TGCameraFlashControl.m +++ b/submodules/LegacyComponents/Sources/TGCameraFlashControl.m @@ -1,15 +1,15 @@ -#import "TGCameraFlashControl.h" +#import #import "LegacyComponentsInternal.h" -#import "TGImageUtils.h" +#import -#import "UIControl+HitTestEdgeInsets.h" +#import -#import "TGCameraInterfaceAssets.h" +#import #import -#import "POPBasicAnimation.h" +#import const CGFloat TGCameraFlashControlHeight = 44.0f; diff --git a/submodules/LegacyComponents/Sources/TGCameraFlipButton.m b/submodules/LegacyComponents/Sources/TGCameraFlipButton.m index f2940f368f..3d9989a927 100644 --- a/submodules/LegacyComponents/Sources/TGCameraFlipButton.m +++ b/submodules/LegacyComponents/Sources/TGCameraFlipButton.m @@ -1,8 +1,8 @@ -#import "TGCameraFlipButton.h" +#import -#import "TGCameraInterfaceAssets.h" +#import #import "LegacyComponentsInternal.h" -#import "TGImageUtils.h" +#import @implementation TGCameraFlipButton diff --git a/submodules/LegacyComponents/Sources/TGCameraInterfaceAssets.m b/submodules/LegacyComponents/Sources/TGCameraInterfaceAssets.m index 09e169d6c9..da9fab9f95 100644 --- a/submodules/LegacyComponents/Sources/TGCameraInterfaceAssets.m +++ b/submodules/LegacyComponents/Sources/TGCameraInterfaceAssets.m @@ -1,4 +1,4 @@ -#import "TGCameraInterfaceAssets.h" +#import #import #import "LegacyComponentsInternal.h" diff --git a/submodules/LegacyComponents/Sources/TGCameraMainPhoneView.m b/submodules/LegacyComponents/Sources/TGCameraMainPhoneView.m index b2b12745e4..e20ede364c 100644 --- a/submodules/LegacyComponents/Sources/TGCameraMainPhoneView.m +++ b/submodules/LegacyComponents/Sources/TGCameraMainPhoneView.m @@ -1,9 +1,9 @@ -#import "TGCameraMainPhoneView.h" +#import #import #import "LegacyComponentsInternal.h" -#import "TGImageUtils.h" -#import "TGFont.h" +#import +#import #import @@ -11,17 +11,17 @@ #import #import -#import "TGModernButton.h" -#import "TGCameraShutterButton.h" -#import "TGCameraModeControl.h" -#import "TGCameraFlashControl.h" -#import "TGCameraFlashActiveView.h" -#import "TGCameraFlipButton.h" -#import "TGCameraTimeCodeView.h" -#import "TGCameraZoomView.h" +#import +#import +#import +#import +#import +#import +#import +#import #import "TGCameraToastView.h" -#import "TGMenuView.h" +#import #import "TGMediaPickerPhotoCounterButton.h" #import "TGMediaPickerPhotoStripView.h" @@ -382,7 +382,7 @@ if (strongSelf == nil) return; - bool change = true; + __unused bool change = true; if (strongSelf.cameraShouldLeaveMode != nil) change = strongSelf.cameraShouldLeaveMode(previousMode); diff --git a/submodules/LegacyComponents/Sources/TGCameraMainTabletView.m b/submodules/LegacyComponents/Sources/TGCameraMainTabletView.m index 7fbb82fca2..0648900b05 100644 --- a/submodules/LegacyComponents/Sources/TGCameraMainTabletView.m +++ b/submodules/LegacyComponents/Sources/TGCameraMainTabletView.m @@ -1,21 +1,21 @@ -#import "TGCameraMainTabletView.h" +#import #import #import "LegacyComponentsInternal.h" -#import "TGFont.h" +#import -#import "UIControl+HitTestEdgeInsets.h" +#import -#import "TGCameraInterfaceAssets.h" +#import #import -#import "TGCameraShutterButton.h" -#import "TGCameraModeControl.h" -#import "TGCameraFlipButton.h" -#import "TGCameraTimeCodeView.h" -#import "TGCameraZoomView.h" +#import +#import +#import +#import +#import -#import "TGPhotoEditorUtils.h" +#import #import "TGMediaPickerPhotoCounterButton.h" #import "TGMediaPickerPhotoStripView.h" diff --git a/submodules/LegacyComponents/Sources/TGCameraMainView.m b/submodules/LegacyComponents/Sources/TGCameraMainView.m index 1b257dddb9..74b84448f3 100644 --- a/submodules/LegacyComponents/Sources/TGCameraMainView.m +++ b/submodules/LegacyComponents/Sources/TGCameraMainView.m @@ -1,14 +1,14 @@ -#import "TGCameraMainView.h" +#import #import "LegacyComponentsInternal.h" #import -#import "TGCameraShutterButton.h" -#import "TGCameraFlipButton.h" -#import "TGCameraModeControl.h" -#import "TGCameraTimeCodeView.h" -#import "TGCameraZoomView.h" +#import +#import +#import +#import +#import #import "TGCameraToastView.h" #import "TGMediaPickerPhotoCounterButton.h" @@ -77,6 +77,13 @@ return self; } +- (instancetype)initWithFrame:(CGRect)frame avatar:(bool)avatar videoModeByDefault:(bool)videoModeByDefault camera:(PGCamera *)camera { + self = [super init]; + if (self != nil) { + } + return self; +} + - (void)setResults:(NSArray *)__unused results { } diff --git a/submodules/LegacyComponents/Sources/TGCameraModeControl.m b/submodules/LegacyComponents/Sources/TGCameraModeControl.m index b3ec98d6fa..bf073dab5c 100644 --- a/submodules/LegacyComponents/Sources/TGCameraModeControl.m +++ b/submodules/LegacyComponents/Sources/TGCameraModeControl.m @@ -1,9 +1,9 @@ -#import "TGCameraModeControl.h" +#import #import "LegacyComponentsInternal.h" -#import "TGCameraInterfaceAssets.h" +#import -#import "UIControl+HitTestEdgeInsets.h" +#import const CGFloat TGCameraModeControlVerticalInteritemSpace = 29.0f; diff --git a/submodules/LegacyComponents/Sources/TGCameraPreviewView.m b/submodules/LegacyComponents/Sources/TGCameraPreviewView.m index 4d54e51c3d..f6a98b8469 100644 --- a/submodules/LegacyComponents/Sources/TGCameraPreviewView.m +++ b/submodules/LegacyComponents/Sources/TGCameraPreviewView.m @@ -1,7 +1,7 @@ -#import "TGCameraPreviewView.h" +#import #import "LegacyComponentsInternal.h" -#import "TGImageUtils.h" +#import #import diff --git a/submodules/LegacyComponents/Sources/TGCameraRectangleView.m b/submodules/LegacyComponents/Sources/TGCameraRectangleView.m index bfe77c9928..4e5f4d326b 100644 --- a/submodules/LegacyComponents/Sources/TGCameraRectangleView.m +++ b/submodules/LegacyComponents/Sources/TGCameraRectangleView.m @@ -1,9 +1,9 @@ #import "TGCameraRectangleView.h" -#import "TGCameraInterfaceAssets.h" +#import #import "LegacyComponentsInternal.h" -#import "TGImageUtils.h" +#import -#import "TGCameraPreviewView.h" +#import #import "PGRectangleDetector.h" @interface TGCameraRectangleView () diff --git a/submodules/LegacyComponents/Sources/TGCameraShutterButton.m b/submodules/LegacyComponents/Sources/TGCameraShutterButton.m index 4bdf177f9c..5f8c3cb58b 100644 --- a/submodules/LegacyComponents/Sources/TGCameraShutterButton.m +++ b/submodules/LegacyComponents/Sources/TGCameraShutterButton.m @@ -1,9 +1,9 @@ -#import "TGCameraShutterButton.h" -#import "TGImageUtils.h" +#import +#import #import -#import "TGCameraInterfaceAssets.h" +#import #import @interface TGCameraShutterButton () diff --git a/submodules/LegacyComponents/Sources/TGCameraTimeCodeView.m b/submodules/LegacyComponents/Sources/TGCameraTimeCodeView.m index 2160cc398f..4e2c993863 100644 --- a/submodules/LegacyComponents/Sources/TGCameraTimeCodeView.m +++ b/submodules/LegacyComponents/Sources/TGCameraTimeCodeView.m @@ -1,4 +1,4 @@ -#import "TGCameraTimeCodeView.h" +#import #import "LegacyComponentsInternal.h" diff --git a/submodules/LegacyComponents/Sources/TGCameraToastView.m b/submodules/LegacyComponents/Sources/TGCameraToastView.m index 6bb98b597e..73bd2fde54 100644 --- a/submodules/LegacyComponents/Sources/TGCameraToastView.m +++ b/submodules/LegacyComponents/Sources/TGCameraToastView.m @@ -1,6 +1,6 @@ #import "TGCameraToastView.h" -#import "TGCameraInterfaceAssets.h" -#import "TGFont.h" +#import +#import @implementation TGCameraToastView { diff --git a/submodules/LegacyComponents/Sources/TGCameraZoomView.m b/submodules/LegacyComponents/Sources/TGCameraZoomView.m index 48b1f47915..6675569d69 100644 --- a/submodules/LegacyComponents/Sources/TGCameraZoomView.m +++ b/submodules/LegacyComponents/Sources/TGCameraZoomView.m @@ -1,9 +1,9 @@ -#import "TGCameraZoomView.h" -#import "TGCameraInterfaceAssets.h" +#import +#import -#import "TGModernButton.h" -#import "TGImageUtils.h" -#import "TGPhotoEditorUtils.h" +#import +#import +#import #import "LegacyComponentsInternal.h" diff --git a/submodules/LegacyComponents/Sources/TGChannelAdminRights.m b/submodules/LegacyComponents/Sources/TGChannelAdminRights.m index a547f8a812..0a9ae45298 100644 --- a/submodules/LegacyComponents/Sources/TGChannelAdminRights.m +++ b/submodules/LegacyComponents/Sources/TGChannelAdminRights.m @@ -1,6 +1,6 @@ -#import "TGChannelAdminRights.h" +#import -#import "PSKeyValueCoder.h" +#import @implementation TGChannelAdminRights diff --git a/submodules/LegacyComponents/Sources/TGChannelBannedRights.m b/submodules/LegacyComponents/Sources/TGChannelBannedRights.m index 038019ed64..0f1a08c088 100644 --- a/submodules/LegacyComponents/Sources/TGChannelBannedRights.m +++ b/submodules/LegacyComponents/Sources/TGChannelBannedRights.m @@ -1,6 +1,6 @@ -#import "TGChannelBannedRights.h" +#import -#import "PSKeyValueCoder.h" +#import @implementation TGChannelBannedRights diff --git a/submodules/LegacyComponents/Sources/TGCheckButtonView.m b/submodules/LegacyComponents/Sources/TGCheckButtonView.m index fbfd97208c..45ee58d9a2 100644 --- a/submodules/LegacyComponents/Sources/TGCheckButtonView.m +++ b/submodules/LegacyComponents/Sources/TGCheckButtonView.m @@ -1,9 +1,9 @@ -#import "TGCheckButtonView.h" +#import -#import "TGFont.h" -#import "TGImageUtils.h" +#import +#import -#import "LegacyComponentsGlobals.h" +#import @interface TGCheckButtonView () { diff --git a/submodules/LegacyComponents/Sources/TGContactMediaAttachment.m b/submodules/LegacyComponents/Sources/TGContactMediaAttachment.m index c8f8c5d4ca..096241759b 100644 --- a/submodules/LegacyComponents/Sources/TGContactMediaAttachment.m +++ b/submodules/LegacyComponents/Sources/TGContactMediaAttachment.m @@ -1,4 +1,4 @@ -#import "TGContactMediaAttachment.h" +#import @implementation TGContactMediaAttachment diff --git a/submodules/LegacyComponents/Sources/TGConversation.m b/submodules/LegacyComponents/Sources/TGConversation.m index b250f6d810..40b278daf1 100644 --- a/submodules/LegacyComponents/Sources/TGConversation.m +++ b/submodules/LegacyComponents/Sources/TGConversation.m @@ -1,15 +1,15 @@ -#import "TGConversation.h" +#import #import "LegacyComponentsInternal.h" -#import "TGStringUtils.h" -#import "TGMessage.h" +#import +#import -#import "PSKeyValueCoder.h" +#import -#import "TGPeerIdAdapter.h" +#import -#import "TGImageInfo.h" -#import "TGMediaOriginInfo.h" +#import +#import @implementation TGEncryptedConversationData diff --git a/submodules/LegacyComponents/Sources/TGDataResource.m b/submodules/LegacyComponents/Sources/TGDataResource.m index 914234a4e3..525644b87f 100644 --- a/submodules/LegacyComponents/Sources/TGDataResource.m +++ b/submodules/LegacyComponents/Sources/TGDataResource.m @@ -1,4 +1,4 @@ -#import "TGDataResource.h" +#import @interface TGDataResource () { diff --git a/submodules/LegacyComponents/Sources/TGDatabaseMessageDraft.m b/submodules/LegacyComponents/Sources/TGDatabaseMessageDraft.m index 2ad2d56a31..32163a8fd9 100644 --- a/submodules/LegacyComponents/Sources/TGDatabaseMessageDraft.m +++ b/submodules/LegacyComponents/Sources/TGDatabaseMessageDraft.m @@ -1,9 +1,9 @@ -#import "TGDatabaseMessageDraft.h" +#import #import "LegacyComponentsInternal.h" -#import "PSKeyValueEncoder.h" -#import "PSKeyValueDecoder.h" +#import +#import @implementation TGDatabaseMessageDraft diff --git a/submodules/LegacyComponents/Sources/TGDateUtils.mm b/submodules/LegacyComponents/Sources/TGDateUtils.mm index 56f6b29bf4..09fa7c41a1 100644 --- a/submodules/LegacyComponents/Sources/TGDateUtils.mm +++ b/submodules/LegacyComponents/Sources/TGDateUtils.mm @@ -1,9 +1,9 @@ -#include "TGDateUtils.h" +#import #include #import "LegacyComponentsInternal.h" -#import "TGStringUtils.h" -#import "TGLocalization.h" +#import +#import static bool value_dateHas12hFormat = false; static __strong NSString *value_monthNamesGenShort[] = { diff --git a/submodules/LegacyComponents/Sources/TGDocumentAttributeAnimated.m b/submodules/LegacyComponents/Sources/TGDocumentAttributeAnimated.m index 3ec92c9639..a732114374 100644 --- a/submodules/LegacyComponents/Sources/TGDocumentAttributeAnimated.m +++ b/submodules/LegacyComponents/Sources/TGDocumentAttributeAnimated.m @@ -1,4 +1,4 @@ -#import "TGDocumentAttributeAnimated.h" +#import @implementation TGDocumentAttributeAnimated diff --git a/submodules/LegacyComponents/Sources/TGDocumentAttributeAudio.m b/submodules/LegacyComponents/Sources/TGDocumentAttributeAudio.m index 988899977a..a4e381d26d 100644 --- a/submodules/LegacyComponents/Sources/TGDocumentAttributeAudio.m +++ b/submodules/LegacyComponents/Sources/TGDocumentAttributeAudio.m @@ -1,8 +1,8 @@ -#import "TGDocumentAttributeAudio.h" +#import #import "LegacyComponentsInternal.h" -#import "PSKeyValueCoder.h" +#import @implementation TGDocumentAttributeAudio diff --git a/submodules/LegacyComponents/Sources/TGDocumentAttributeFilename.m b/submodules/LegacyComponents/Sources/TGDocumentAttributeFilename.m index 3cad9315e6..0b4bd238e9 100644 --- a/submodules/LegacyComponents/Sources/TGDocumentAttributeFilename.m +++ b/submodules/LegacyComponents/Sources/TGDocumentAttributeFilename.m @@ -1,8 +1,8 @@ -#import "TGDocumentAttributeFilename.h" +#import #import "LegacyComponentsInternal.h" -#import "PSKeyValueCoder.h" +#import @implementation TGDocumentAttributeFilename diff --git a/submodules/LegacyComponents/Sources/TGDocumentAttributeImageSize.m b/submodules/LegacyComponents/Sources/TGDocumentAttributeImageSize.m index 2d018d271f..eb88822354 100644 --- a/submodules/LegacyComponents/Sources/TGDocumentAttributeImageSize.m +++ b/submodules/LegacyComponents/Sources/TGDocumentAttributeImageSize.m @@ -1,6 +1,6 @@ -#import "TGDocumentAttributeImageSize.h" +#import -#import "PSKeyValueCoder.h" +#import @implementation TGDocumentAttributeImageSize diff --git a/submodules/LegacyComponents/Sources/TGDocumentAttributeSticker.m b/submodules/LegacyComponents/Sources/TGDocumentAttributeSticker.m index 5b96289448..ce785babda 100644 --- a/submodules/LegacyComponents/Sources/TGDocumentAttributeSticker.m +++ b/submodules/LegacyComponents/Sources/TGDocumentAttributeSticker.m @@ -1,8 +1,8 @@ -#import "TGDocumentAttributeSticker.h" +#import #import "LegacyComponentsInternal.h" -#import "PSKeyValueCoder.h" +#import @implementation TGStickerMaskDescription diff --git a/submodules/LegacyComponents/Sources/TGDocumentAttributeVideo.m b/submodules/LegacyComponents/Sources/TGDocumentAttributeVideo.m index fa9d9df3f5..c9e4bc2710 100644 --- a/submodules/LegacyComponents/Sources/TGDocumentAttributeVideo.m +++ b/submodules/LegacyComponents/Sources/TGDocumentAttributeVideo.m @@ -1,6 +1,6 @@ -#import "TGDocumentAttributeVideo.h" +#import -#import "PSKeyValueCoder.h" +#import @implementation TGDocumentAttributeVideo diff --git a/submodules/LegacyComponents/Sources/TGDocumentMediaAttachment.m b/submodules/LegacyComponents/Sources/TGDocumentMediaAttachment.m index 5e8b328d64..b44e536cba 100644 --- a/submodules/LegacyComponents/Sources/TGDocumentMediaAttachment.m +++ b/submodules/LegacyComponents/Sources/TGDocumentMediaAttachment.m @@ -1,12 +1,12 @@ -#import "TGDocumentMediaAttachment.h" +#import #import "LegacyComponentsInternal.h" -#import "PSCoding.h" -#import "PSKeyValueEncoder.h" -#import "PSKeyValueDecoder.h" +#import +#import +#import -#import "TGMessage.h" +#import @interface TGDocumentMediaAttachment () { NSArray *_textCheckingResults; @@ -167,7 +167,7 @@ NSData *originData = nil; @try { - originData = [NSKeyedArchiver archivedDataWithRootObject:_originInfo]; + originData = [NSKeyedArchiver archivedDataWithRootObject:_originInfo requiringSecureCoding:false error:nil]; } @catch (NSException *e) { } @@ -286,7 +286,7 @@ NSData *data = [[NSData alloc] initWithBytesNoCopy:originBytes length:originLength freeWhenDone:true]; TGMediaOriginInfo *origin = nil; @try { - origin = [NSKeyedUnarchiver unarchiveObjectWithData:data]; + origin = [NSKeyedUnarchiver unarchivedObjectOfClass:[TGMediaOriginInfo class] fromData:data error:nil]; } @catch (NSException *e) { } diff --git a/submodules/LegacyComponents/Sources/TGDoubleTapGestureRecognizer.m b/submodules/LegacyComponents/Sources/TGDoubleTapGestureRecognizer.m index c2bd807c98..91d496b2f0 100644 --- a/submodules/LegacyComponents/Sources/TGDoubleTapGestureRecognizer.m +++ b/submodules/LegacyComponents/Sources/TGDoubleTapGestureRecognizer.m @@ -1,4 +1,4 @@ -#import "TGDoubleTapGestureRecognizer.h" +#import #import diff --git a/submodules/LegacyComponents/Sources/TGEmbedPIPButton.m b/submodules/LegacyComponents/Sources/TGEmbedPIPButton.m index 482564985d..fda707f00d 100644 --- a/submodules/LegacyComponents/Sources/TGEmbedPIPButton.m +++ b/submodules/LegacyComponents/Sources/TGEmbedPIPButton.m @@ -1,4 +1,4 @@ -#import "TGEmbedPIPButton.h" +#import const CGSize TGEmbedPIPButtonSize = { 42.0f, 42.0f }; diff --git a/submodules/LegacyComponents/Sources/TGEmbedPIPPullArrowView.m b/submodules/LegacyComponents/Sources/TGEmbedPIPPullArrowView.m index fbd13c3c03..2fc2da5497 100644 --- a/submodules/LegacyComponents/Sources/TGEmbedPIPPullArrowView.m +++ b/submodules/LegacyComponents/Sources/TGEmbedPIPPullArrowView.m @@ -1,4 +1,4 @@ -#import "TGEmbedPIPPullArrowView.h" +#import #import diff --git a/submodules/LegacyComponents/Sources/TGFont.mm b/submodules/LegacyComponents/Sources/TGFont.mm index 5d1ccc575e..a5d261521f 100644 --- a/submodules/LegacyComponents/Sources/TGFont.mm +++ b/submodules/LegacyComponents/Sources/TGFont.mm @@ -1,7 +1,7 @@ -#import "TGFont.h" +#import #import "LegacyComponentsInternal.h" -#import "NSObject+TGLock.h" +#import #import diff --git a/submodules/LegacyComponents/Sources/TGForwardedMessageMediaAttachment.m b/submodules/LegacyComponents/Sources/TGForwardedMessageMediaAttachment.m index bd7483f49d..1e1327a3c8 100644 --- a/submodules/LegacyComponents/Sources/TGForwardedMessageMediaAttachment.m +++ b/submodules/LegacyComponents/Sources/TGForwardedMessageMediaAttachment.m @@ -1,4 +1,4 @@ -#import "TGForwardedMessageMediaAttachment.h" +#import @implementation TGForwardedMessageMediaAttachment diff --git a/submodules/LegacyComponents/Sources/TGFullscreenContainerView.m b/submodules/LegacyComponents/Sources/TGFullscreenContainerView.m index 1e1408ab81..51a64b7c5d 100644 --- a/submodules/LegacyComponents/Sources/TGFullscreenContainerView.m +++ b/submodules/LegacyComponents/Sources/TGFullscreenContainerView.m @@ -1,4 +1,4 @@ -#import "TGFullscreenContainerView.h" +#import #import diff --git a/submodules/LegacyComponents/Sources/TGGameMediaAttachment.m b/submodules/LegacyComponents/Sources/TGGameMediaAttachment.m index 008b2799e5..1398827bac 100644 --- a/submodules/LegacyComponents/Sources/TGGameMediaAttachment.m +++ b/submodules/LegacyComponents/Sources/TGGameMediaAttachment.m @@ -1,10 +1,10 @@ -#import "TGGameMediaAttachment.h" +#import #import "LegacyComponentsInternal.h" -#import "NSInputStream+TL.h" +#import -#import "TGWebPageMediaAttachment.h" +#import @implementation TGGameMediaAttachment @@ -40,7 +40,7 @@ - (void)serialize:(NSMutableData *)data { - NSData *serializedData = [NSKeyedArchiver archivedDataWithRootObject:self]; + NSData *serializedData = [NSKeyedArchiver archivedDataWithRootObject:self requiringSecureCoding:false error:nil]; int32_t length = (int32_t)serializedData.length; [data appendBytes:&length length:4]; [data appendData:serializedData]; @@ -50,7 +50,7 @@ { int32_t length = [is readInt32]; NSData *data = [is readData:length]; - return [NSKeyedUnarchiver unarchiveObjectWithData:data]; + return [NSKeyedUnarchiver unarchivedObjectOfClass:[TGMediaAttachment class] fromData:data error:nil]; } - (TGWebPageMediaAttachment *)webPageWithText:(NSString *)text entities:(NSArray *)entities { diff --git a/submodules/LegacyComponents/Sources/TGGifConverter.m b/submodules/LegacyComponents/Sources/TGGifConverter.m index ce1560786b..3c1cadffef 100644 --- a/submodules/LegacyComponents/Sources/TGGifConverter.m +++ b/submodules/LegacyComponents/Sources/TGGifConverter.m @@ -1,7 +1,7 @@ #import #import "LegacyComponentsInternal.h" -#import "TGImageUtils.h" +#import #import #import @@ -107,7 +107,7 @@ const CGFloat TGGifConverterMaximumSide = 720.0f; NSDictionary *videoSettings = @ { - AVVideoCodecKey : AVVideoCodecH264, + AVVideoCodecKey : AVVideoCodecTypeH264, AVVideoCompressionPropertiesKey: codecSettings, AVVideoWidthKey : @((NSInteger)targetSize.width), AVVideoHeightKey : @((NSInteger)targetSize.height) diff --git a/submodules/LegacyComponents/Sources/TGHacks.m b/submodules/LegacyComponents/Sources/TGHacks.m index e8211c63a8..2881334514 100644 --- a/submodules/LegacyComponents/Sources/TGHacks.m +++ b/submodules/LegacyComponents/Sources/TGHacks.m @@ -1,9 +1,9 @@ -#import "TGHacks.h" +#import #import "LegacyComponentsInternal.h" -#import "TGAnimationBlockDelegate.h" +#import -#import "FreedomUIKit.h" +#import #import #import @@ -11,8 +11,8 @@ #import #import -#import "TGViewController.h" -#import "TGNavigationBar.h" +#import +#import static float animationDurationFactor = 1.0f; static float secondaryAnimationDurationFactor = 1.0f; diff --git a/submodules/LegacyComponents/Sources/TGIconSwitchView.m b/submodules/LegacyComponents/Sources/TGIconSwitchView.m index 73a23c727e..8a91e77830 100644 --- a/submodules/LegacyComponents/Sources/TGIconSwitchView.m +++ b/submodules/LegacyComponents/Sources/TGIconSwitchView.m @@ -1,4 +1,4 @@ -#import "TGIconSwitchView.h" +#import #import diff --git a/submodules/LegacyComponents/Sources/TGImageBlur.m b/submodules/LegacyComponents/Sources/TGImageBlur.m index e175e5084b..015ff9db34 100644 --- a/submodules/LegacyComponents/Sources/TGImageBlur.m +++ b/submodules/LegacyComponents/Sources/TGImageBlur.m @@ -1,14 +1,14 @@ -#import "TGImageBlur.h" +#import #import "LegacyComponentsInternal.h" -#import "LegacyComponentsGlobals.h" -#import "TGImageUtils.h" +#import +#import #import -#import "UIImage+TG.h" -#import "TGStaticBackdropImageData.h" -#import "TGStaticBackdropAreaData.h" +#import +#import +#import static inline uint64_t get_colors (const uint8_t *p) { return p[0] + (p[1] << 16) + ((uint64_t)p[2] << 32); diff --git a/submodules/LegacyComponents/Sources/TGImageDataSource.m b/submodules/LegacyComponents/Sources/TGImageDataSource.m index 204e0c7fad..da2f133963 100644 --- a/submodules/LegacyComponents/Sources/TGImageDataSource.m +++ b/submodules/LegacyComponents/Sources/TGImageDataSource.m @@ -1,4 +1,4 @@ -#import "TGImageDataSource.h" +#import @implementation TGImageDataSource diff --git a/submodules/LegacyComponents/Sources/TGImageInfo.mm b/submodules/LegacyComponents/Sources/TGImageInfo.mm index 6be4f6e9d9..4859556f27 100644 --- a/submodules/LegacyComponents/Sources/TGImageInfo.mm +++ b/submodules/LegacyComponents/Sources/TGImageInfo.mm @@ -1,4 +1,4 @@ -#import "TGImageInfo.h" +#import #import diff --git a/submodules/LegacyComponents/Sources/TGImageLuminanceMap.m b/submodules/LegacyComponents/Sources/TGImageLuminanceMap.m index 370f21d52e..0a28decc79 100644 --- a/submodules/LegacyComponents/Sources/TGImageLuminanceMap.m +++ b/submodules/LegacyComponents/Sources/TGImageLuminanceMap.m @@ -1,4 +1,4 @@ -#import "TGImageLuminanceMap.h" +#import @interface TGImageLuminanceMap () { diff --git a/submodules/LegacyComponents/Sources/TGImageManager.m b/submodules/LegacyComponents/Sources/TGImageManager.m index 0d0ea6d3d6..d70e4ecabf 100644 --- a/submodules/LegacyComponents/Sources/TGImageManager.m +++ b/submodules/LegacyComponents/Sources/TGImageManager.m @@ -1,6 +1,6 @@ -#import "TGImageManager.h" +#import -#import "TGImageManagerTask.h" +#import #import "LegacyComponentsInternal.h" diff --git a/submodules/LegacyComponents/Sources/TGImageManagerTask.m b/submodules/LegacyComponents/Sources/TGImageManagerTask.m index bb49544cc8..976f7e2b30 100644 --- a/submodules/LegacyComponents/Sources/TGImageManagerTask.m +++ b/submodules/LegacyComponents/Sources/TGImageManagerTask.m @@ -1,4 +1,4 @@ -#import "TGImageManagerTask.h" +#import @implementation TGImageManagerTask diff --git a/submodules/LegacyComponents/Sources/TGImageMediaAttachment.m b/submodules/LegacyComponents/Sources/TGImageMediaAttachment.m index 25010965aa..68475e272f 100644 --- a/submodules/LegacyComponents/Sources/TGImageMediaAttachment.m +++ b/submodules/LegacyComponents/Sources/TGImageMediaAttachment.m @@ -1,7 +1,7 @@ -#import "TGImageMediaAttachment.h" +#import -#import "TGMessage.h" -#import "TGStringUtils.h" +#import +#import @interface TGImageMediaAttachment () { @@ -148,7 +148,7 @@ int32_t zero = 0; [data appendBytes:&zero length:4]; } else { - NSData *stickerData = [NSKeyedArchiver archivedDataWithRootObject:_embeddedStickerDocuments]; + NSData *stickerData = [NSKeyedArchiver archivedDataWithRootObject:_embeddedStickerDocuments requiringSecureCoding:false error:nil]; int32_t length = (int32_t)stickerData.length; [data appendBytes:&length length:4]; [data appendData:stickerData]; @@ -156,7 +156,10 @@ NSData *originData = nil; @try { +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" originData = [NSKeyedArchiver archivedDataWithRootObject:_originInfo]; +#pragma clang diagnostic pop } @catch (NSException *e) { } @@ -252,7 +255,10 @@ uint8_t *stickerBytes = malloc(stickerDataLength); [is read:stickerBytes maxLength:stickerDataLength]; NSData *stickerData = [[NSData alloc] initWithBytesNoCopy:stickerBytes length:stickerDataLength freeWhenDone:true]; +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" imageAttachment.embeddedStickerDocuments = [NSKeyedUnarchiver unarchiveObjectWithData:stickerData]; +#pragma clang diagnostic pop } } @@ -266,7 +272,7 @@ NSData *data = [[NSData alloc] initWithBytesNoCopy:originBytes length:originLength freeWhenDone:true]; TGMediaOriginInfo *origin = nil; @try { - origin = [NSKeyedUnarchiver unarchiveObjectWithData:data]; + origin = [NSKeyedUnarchiver unarchivedObjectOfClass:[TGMediaOriginInfo class] fromData:data error:nil]; } @catch (NSException *e) { } diff --git a/submodules/LegacyComponents/Sources/TGImageUtils.mm b/submodules/LegacyComponents/Sources/TGImageUtils.mm index 71cefd1b26..edd10799c7 100644 --- a/submodules/LegacyComponents/Sources/TGImageUtils.mm +++ b/submodules/LegacyComponents/Sources/TGImageUtils.mm @@ -1,4 +1,4 @@ -#import "TGImageUtils.h" +#import #import "LegacyComponentsInternal.h" @@ -476,7 +476,9 @@ UIImage *TGTintedWithAlphaImage(UIImage *image, UIColor *color) } NSString *TGImageHash(NSData *data) -{ +{ +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" CC_MD5_CTX md5; CC_MD5_Init(&md5); CC_MD5_Update(&md5, [data bytes], (CC_LONG)data.length); @@ -484,6 +486,7 @@ NSString *TGImageHash(NSData *data) unsigned char md5Buffer[16]; CC_MD5_Final(md5Buffer, &md5); NSString *hash = [[NSString alloc] initWithFormat:@"%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x", md5Buffer[0], md5Buffer[1], md5Buffer[2], md5Buffer[3], md5Buffer[4], md5Buffer[5], md5Buffer[6], md5Buffer[7], md5Buffer[8], md5Buffer[9], md5Buffer[10], md5Buffer[11], md5Buffer[12], md5Buffer[13], md5Buffer[14], md5Buffer[15]]; +#pragma clang diagnostic pop return hash; } diff --git a/submodules/LegacyComponents/Sources/TGImageView.m b/submodules/LegacyComponents/Sources/TGImageView.m index fae3bbe215..08ac004708 100644 --- a/submodules/LegacyComponents/Sources/TGImageView.m +++ b/submodules/LegacyComponents/Sources/TGImageView.m @@ -1,4 +1,4 @@ -#import "TGImageView.h" +#import #import "LegacyComponentsInternal.h" diff --git a/submodules/LegacyComponents/Sources/TGInstantPage.m b/submodules/LegacyComponents/Sources/TGInstantPage.m index 3dbe7e2a8d..19c5fc61aa 100644 --- a/submodules/LegacyComponents/Sources/TGInstantPage.m +++ b/submodules/LegacyComponents/Sources/TGInstantPage.m @@ -1,8 +1,8 @@ -#import "TGInstantPage.h" +#import -#import "TGConversation.h" -#import "PSKeyValueEncoder.h" -#import "PSKeyValueDecoder.h" +#import +#import +#import @implementation TGRichText diff --git a/submodules/LegacyComponents/Sources/TGInvoiceMediaAttachment.m b/submodules/LegacyComponents/Sources/TGInvoiceMediaAttachment.m index 42ed06eca8..8d7f93c434 100644 --- a/submodules/LegacyComponents/Sources/TGInvoiceMediaAttachment.m +++ b/submodules/LegacyComponents/Sources/TGInvoiceMediaAttachment.m @@ -1,10 +1,10 @@ -#import "TGInvoiceMediaAttachment.h" +#import #import "LegacyComponentsInternal.h" -#import "NSInputStream+TL.h" +#import -#import "TGWebPageMediaAttachment.h" +#import @implementation TGInvoiceMediaAttachment @@ -79,7 +79,7 @@ - (void)serialize:(NSMutableData *)data { - NSData *serializedData = [NSKeyedArchiver archivedDataWithRootObject:self]; + NSData *serializedData = [NSKeyedArchiver archivedDataWithRootObject:self requiringSecureCoding:false error:nil]; int32_t length = (int32_t)serializedData.length; [data appendBytes:&length length:4]; [data appendData:serializedData]; @@ -89,7 +89,7 @@ { int32_t length = [is readInt32]; NSData *data = [is readData:length]; - return [NSKeyedUnarchiver unarchiveObjectWithData:data]; + return [NSKeyedUnarchiver unarchivedObjectOfClass:[TGMediaAttachment class] fromData:data error:nil]; } diff --git a/submodules/LegacyComponents/Sources/TGKeyCommand.m b/submodules/LegacyComponents/Sources/TGKeyCommand.m index a0ab436233..3838903e6c 100644 --- a/submodules/LegacyComponents/Sources/TGKeyCommand.m +++ b/submodules/LegacyComponents/Sources/TGKeyCommand.m @@ -1,5 +1,5 @@ -#import "TGKeyCommand.h" -#import "TGKeyCommandController.h" +#import +#import #import "LegacyComponentsInternal.h" @implementation TGKeyCommand @@ -57,7 +57,10 @@ return nil; if (iosMajorVersion() >= 9 && _title != nil) +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" return [UIKeyCommand keyCommandWithInput:_input modifierFlags:_modifierFlags action:@selector(processKeyCommand:) discoverabilityTitle:_title]; +#pragma clang diagnostic pop else return [UIKeyCommand keyCommandWithInput:_input modifierFlags:_modifierFlags action:@selector(processKeyCommand:)]; } diff --git a/submodules/LegacyComponents/Sources/TGKeyCommandController.m b/submodules/LegacyComponents/Sources/TGKeyCommandController.m index a1e3852c4a..b3d755653d 100644 --- a/submodules/LegacyComponents/Sources/TGKeyCommandController.m +++ b/submodules/LegacyComponents/Sources/TGKeyCommandController.m @@ -1,8 +1,8 @@ -#import "TGKeyCommandController.h" +#import #import "LegacyComponentsInternal.h" -#import "TGViewController.h" -#import "TGViewController+TGRecursiveEnumeration.h" +#import +#import @interface TGKeyCommandController () { diff --git a/submodules/LegacyComponents/Sources/TGLabel.m b/submodules/LegacyComponents/Sources/TGLabel.m index 40b0bc85a7..e3fc8fd35b 100644 --- a/submodules/LegacyComponents/Sources/TGLabel.m +++ b/submodules/LegacyComponents/Sources/TGLabel.m @@ -1,4 +1,4 @@ -#import "TGLabel.h" +#import @implementation TGLabel diff --git a/submodules/LegacyComponents/Sources/TGListsTableView.m b/submodules/LegacyComponents/Sources/TGListsTableView.m index 0a191029ab..c0534fabf0 100644 --- a/submodules/LegacyComponents/Sources/TGListsTableView.m +++ b/submodules/LegacyComponents/Sources/TGListsTableView.m @@ -1,8 +1,8 @@ -#import "TGListsTableView.h" +#import #import "LegacyComponentsInternal.h" -#import "POPBasicAnimation.h" -#import "Freedom.h" +#import +#import #import diff --git a/submodules/LegacyComponents/Sources/TGLocalMessageMetaMediaAttachment.m b/submodules/LegacyComponents/Sources/TGLocalMessageMetaMediaAttachment.m index ed1024160a..c37acb0d51 100644 --- a/submodules/LegacyComponents/Sources/TGLocalMessageMetaMediaAttachment.m +++ b/submodules/LegacyComponents/Sources/TGLocalMessageMetaMediaAttachment.m @@ -1,6 +1,6 @@ -#import "TGLocalMessageMetaMediaAttachment.h" +#import -#import "TGImageInfo.h" +#import @implementation TGLocalMessageMetaMediaAttachment diff --git a/submodules/LegacyComponents/Sources/TGLocalization.m b/submodules/LegacyComponents/Sources/TGLocalization.m index 7a602173f1..05dd9f6e0d 100644 --- a/submodules/LegacyComponents/Sources/TGLocalization.m +++ b/submodules/LegacyComponents/Sources/TGLocalization.m @@ -1,6 +1,6 @@ -#import "TGLocalization.h" +#import -#import "TGPluralization.h" +#import static NSDictionary *fallbackDict(NSString *code) { if (code == nil) { diff --git a/submodules/LegacyComponents/Sources/TGLocationMediaAttachment.m b/submodules/LegacyComponents/Sources/TGLocationMediaAttachment.m index 052b9f7be4..d03cc0f77c 100644 --- a/submodules/LegacyComponents/Sources/TGLocationMediaAttachment.m +++ b/submodules/LegacyComponents/Sources/TGLocationMediaAttachment.m @@ -1,4 +1,4 @@ -#import "TGLocationMediaAttachment.h" +#import @implementation TGVenueAttachment @@ -60,7 +60,7 @@ NSData *venueData = nil; if (_venue != nil) - venueData = [NSKeyedArchiver archivedDataWithRootObject:_venue]; + venueData = [NSKeyedArchiver archivedDataWithRootObject:_venue requiringSecureCoding:false error:nil]; int32_t venueDataLength = (int32_t)venueData.length; [data appendBytes:&venueDataLength length:4]; [data appendData:venueData]; @@ -96,7 +96,10 @@ uint8_t *venueBytes = malloc(venueDataLength); [is read:venueBytes maxLength:venueDataLength]; NSData *venueData = [[NSData alloc] initWithBytesNoCopy:venueBytes length:venueDataLength freeWhenDone:true]; +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" locationAttachment.venue = [NSKeyedUnarchiver unarchiveObjectWithData:venueData]; +#pragma clang diagnostic pop } else if (dataLength == 8 + 8 + 4 + 4) { diff --git a/submodules/LegacyComponents/Sources/TGMediaAsset+TGMediaEditableItem.m b/submodules/LegacyComponents/Sources/TGMediaAsset+TGMediaEditableItem.m index b9713a1f4b..66af90893b 100644 --- a/submodules/LegacyComponents/Sources/TGMediaAsset+TGMediaEditableItem.m +++ b/submodules/LegacyComponents/Sources/TGMediaAsset+TGMediaEditableItem.m @@ -1,4 +1,4 @@ -#import "TGMediaAsset+TGMediaEditableItem.h" +#import #import #import diff --git a/submodules/LegacyComponents/Sources/TGMediaAsset.m b/submodules/LegacyComponents/Sources/TGMediaAsset.m index 83cc49b397..e30e05b9ab 100644 --- a/submodules/LegacyComponents/Sources/TGMediaAsset.m +++ b/submodules/LegacyComponents/Sources/TGMediaAsset.m @@ -1,5 +1,5 @@ -#import "TGMediaAsset.h" -#import "TGMediaAssetImageSignals.h" +#import +#import #import "LegacyComponentsInternal.h" diff --git a/submodules/LegacyComponents/Sources/TGMediaAssetFetchResult.m b/submodules/LegacyComponents/Sources/TGMediaAssetFetchResult.m index 7e3fcd5c47..f427e780f1 100644 --- a/submodules/LegacyComponents/Sources/TGMediaAssetFetchResult.m +++ b/submodules/LegacyComponents/Sources/TGMediaAssetFetchResult.m @@ -1,8 +1,8 @@ -#import "TGMediaAssetFetchResult.h" +#import #import -#import "TGMediaAsset.h" +#import @interface TGMediaAssetFetchResult () { diff --git a/submodules/LegacyComponents/Sources/TGMediaAssetFetchResultChange.m b/submodules/LegacyComponents/Sources/TGMediaAssetFetchResultChange.m index 4a14a90405..ec293d71fe 100644 --- a/submodules/LegacyComponents/Sources/TGMediaAssetFetchResultChange.m +++ b/submodules/LegacyComponents/Sources/TGMediaAssetFetchResultChange.m @@ -1,4 +1,4 @@ -#import "TGMediaAssetFetchResultChange.h" +#import #import diff --git a/submodules/LegacyComponents/Sources/TGMediaAssetGroup.m b/submodules/LegacyComponents/Sources/TGMediaAssetGroup.m index aff3427f60..5765ab8b3e 100644 --- a/submodules/LegacyComponents/Sources/TGMediaAssetGroup.m +++ b/submodules/LegacyComponents/Sources/TGMediaAssetGroup.m @@ -1,4 +1,4 @@ -#import "TGMediaAssetGroup.h" +#import #import "LegacyComponentsInternal.h" diff --git a/submodules/LegacyComponents/Sources/TGMediaAssetImageSignals.m b/submodules/LegacyComponents/Sources/TGMediaAssetImageSignals.m index 795b947117..99050d32e0 100644 --- a/submodules/LegacyComponents/Sources/TGMediaAssetImageSignals.m +++ b/submodules/LegacyComponents/Sources/TGMediaAssetImageSignals.m @@ -1,12 +1,12 @@ -#import "TGMediaAssetImageSignals.h" +#import #import #import "TGMediaAssetModernImageSignals.h" -#import "TGPhotoEditorUtils.h" +#import -#import "TGMediaAssetsLibrary.h" +#import const CGSize TGMediaAssetImageLegacySizeLimit = { 2048, 2048 }; diff --git a/submodules/LegacyComponents/Sources/TGMediaAssetModernImageSignals.m b/submodules/LegacyComponents/Sources/TGMediaAssetModernImageSignals.m index d0d33d2e58..c0fce43aed 100644 --- a/submodules/LegacyComponents/Sources/TGMediaAssetModernImageSignals.m +++ b/submodules/LegacyComponents/Sources/TGMediaAssetModernImageSignals.m @@ -1,16 +1,16 @@ #import "TGMediaAssetModernImageSignals.h" #import "LegacyComponentsInternal.h" -#import "TGImageUtils.h" -#import "TGStringUtils.h" +#import +#import #import #import -#import "TGPhotoEditorUtils.h" +#import #import -#import "TGMediaAsset.h" +#import @implementation TGMediaAssetModernImageSignals @@ -273,8 +273,11 @@ }; } +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" PHImageRequestID token = [[self imageManager] requestImageDataForAsset:asset.backingAsset options:options resultHandler:^(NSData *imageData, NSString *dataUTI, __unused UIImageOrientation orientation, NSDictionary *info) { +#pragma clang diagnostic pop bool inCloud = [info[PHImageResultIsInCloudKey] boolValue]; if (inCloud && imageData.length == 0) { @@ -386,8 +389,11 @@ PHImageRequestOptions *options = [[PHImageRequestOptions alloc] init]; options.networkAccessAllowed = false; +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" PHContentEditingInputRequestID token = [[self imageManager] requestImageDataForAsset:asset.backingAsset options:options resultHandler:^(NSData *imageData, __unused NSString * dataUTI, __unused UIImageOrientation orientation, __unused NSDictionary *info) { +#pragma clang diagnostic pop if (imageData != nil) { NSDictionary *metadata = [self metadataWithImageData:imageData]; diff --git a/submodules/LegacyComponents/Sources/TGMediaAssetMoment.m b/submodules/LegacyComponents/Sources/TGMediaAssetMoment.m index 00f3a90768..7ba572aff6 100644 --- a/submodules/LegacyComponents/Sources/TGMediaAssetMoment.m +++ b/submodules/LegacyComponents/Sources/TGMediaAssetMoment.m @@ -1,5 +1,5 @@ -#import "TGMediaAssetMoment.h" -#import "TGMediaAssetFetchResult.h" +#import +#import @interface TGMediaAssetMoment () { diff --git a/submodules/LegacyComponents/Sources/TGMediaAssetMomentList.m b/submodules/LegacyComponents/Sources/TGMediaAssetMomentList.m index 5c8a92421e..6406543988 100644 --- a/submodules/LegacyComponents/Sources/TGMediaAssetMomentList.m +++ b/submodules/LegacyComponents/Sources/TGMediaAssetMomentList.m @@ -1,5 +1,5 @@ -#import "TGMediaAssetMomentList.h" -#import "TGMediaAssetFetchResult.h" +#import +#import @interface TGMediaAssetMomentList () { diff --git a/submodules/LegacyComponents/Sources/TGMediaAssetsController.m b/submodules/LegacyComponents/Sources/TGMediaAssetsController.m index 778ba168fc..8c9f3a2d7b 100644 --- a/submodules/LegacyComponents/Sources/TGMediaAssetsController.m +++ b/submodules/LegacyComponents/Sources/TGMediaAssetsController.m @@ -1,3 +1,4 @@ +#import #import "TGMediaAssetsPickerController.h" #import @@ -17,7 +18,7 @@ #import #import -#import "TGModernBarButton.h" +#import #import #import @@ -28,7 +29,7 @@ #import #import -#import "TGModernButton.h" +#import #import "PGPhotoEditor.h" @interface TGMediaPickerAccessView: UIView diff --git a/submodules/LegacyComponents/Sources/TGMediaAssetsGifCell.m b/submodules/LegacyComponents/Sources/TGMediaAssetsGifCell.m index 2052108aa3..cffcb0be2d 100644 --- a/submodules/LegacyComponents/Sources/TGMediaAssetsGifCell.m +++ b/submodules/LegacyComponents/Sources/TGMediaAssetsGifCell.m @@ -1,7 +1,7 @@ #import "TGMediaAssetsGifCell.h" #import "LegacyComponentsInternal.h" -#import "TGFont.h" +#import NSString *const TGMediaAssetsGifCellKind = @"TGMediaAssetsGifCellKind"; diff --git a/submodules/LegacyComponents/Sources/TGMediaAssetsLibrary.m b/submodules/LegacyComponents/Sources/TGMediaAssetsLibrary.m index f824637158..26542bc716 100644 --- a/submodules/LegacyComponents/Sources/TGMediaAssetsLibrary.m +++ b/submodules/LegacyComponents/Sources/TGMediaAssetsLibrary.m @@ -1,8 +1,8 @@ -#import "TGMediaAssetsLibrary.h" +#import #import "LegacyComponentsInternal.h" -#import "TGMediaAssetsModernLibrary.h" +#import @implementation TGMediaAssetsLibrary diff --git a/submodules/LegacyComponents/Sources/TGMediaAssetsModernLibrary.m b/submodules/LegacyComponents/Sources/TGMediaAssetsModernLibrary.m index c6cc721f93..0e6f96c724 100644 --- a/submodules/LegacyComponents/Sources/TGMediaAssetsModernLibrary.m +++ b/submodules/LegacyComponents/Sources/TGMediaAssetsModernLibrary.m @@ -1,9 +1,9 @@ -#import "TGMediaAssetsModernLibrary.h" +#import #import "LegacyComponentsInternal.h" -#import "TGMediaAssetFetchResultChange.h" -#import "TGMediaAssetMomentList.h" +#import +#import #import @interface TGMediaAssetsModernLibrary () diff --git a/submodules/LegacyComponents/Sources/TGMediaAssetsPickerController.m b/submodules/LegacyComponents/Sources/TGMediaAssetsPickerController.m index bae3594fdd..d11df4757c 100644 --- a/submodules/LegacyComponents/Sources/TGMediaAssetsPickerController.m +++ b/submodules/LegacyComponents/Sources/TGMediaAssetsPickerController.m @@ -1,3 +1,4 @@ +#import #import "TGMediaAssetsPickerController.h" #import "LegacyComponentsInternal.h" @@ -16,7 +17,7 @@ #import #import -#import "TGModernBarButton.h" +#import #import #import @@ -553,12 +554,6 @@ if (_intent == TGMediaAssetsControllerSetProfilePhotoIntent || _intent == TGMediaAssetsControllerSetSignupProfilePhotoIntent || _intent == TGMediaAssetsControllerSetCustomWallpaperIntent) { return; } - - if (iosMajorVersion() >= 9) - { - if (self.traitCollection.forceTouchCapability == UIForceTouchCapabilityAvailable) - [self registerForPreviewingWithDelegate:(id)self sourceView:self.view]; - } } - (UIViewController *)previewingContext:(id)previewingContext viewControllerForLocation:(CGPoint)location @@ -571,7 +566,10 @@ [self _cancelSelectionGestureRecognizer]; CGRect cellFrame = [_collectionView.collectionViewLayout layoutAttributesForItemAtIndexPath:indexPath].frame; +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" previewingContext.sourceRect = [self.view convertRect:cellFrame fromView:_collectionView]; +#pragma clang diagnostic pop TGMediaAsset *asset = nil; _previewGalleryMixin = [self galleryMixinForIndexPath:indexPath previewMode:true outAsset:&asset]; diff --git a/submodules/LegacyComponents/Sources/TGMediaAssetsUtils.m b/submodules/LegacyComponents/Sources/TGMediaAssetsUtils.m index 994368255c..d428cf4bbe 100644 --- a/submodules/LegacyComponents/Sources/TGMediaAssetsUtils.m +++ b/submodules/LegacyComponents/Sources/TGMediaAssetsUtils.m @@ -1,8 +1,8 @@ #import #import "LegacyComponentsInternal.h" -#import "TGStringUtils.h" -#import "TGDateUtils.h" +#import +#import #import diff --git a/submodules/LegacyComponents/Sources/TGMediaAssetsVideoCell.m b/submodules/LegacyComponents/Sources/TGMediaAssetsVideoCell.m index 1c505b91a9..4d0f175a86 100644 --- a/submodules/LegacyComponents/Sources/TGMediaAssetsVideoCell.m +++ b/submodules/LegacyComponents/Sources/TGMediaAssetsVideoCell.m @@ -1,7 +1,7 @@ #import "TGMediaAssetsVideoCell.h" #import "LegacyComponentsInternal.h" -#import "TGFont.h" +#import #import diff --git a/submodules/LegacyComponents/Sources/TGMediaAttachment.m b/submodules/LegacyComponents/Sources/TGMediaAttachment.m index 3bed1cf633..aa9a3fda77 100644 --- a/submodules/LegacyComponents/Sources/TGMediaAttachment.m +++ b/submodules/LegacyComponents/Sources/TGMediaAttachment.m @@ -1,4 +1,4 @@ -#import "TGMediaAttachment.h" +#import #import "LegacyComponentsInternal.h" diff --git a/submodules/LegacyComponents/Sources/TGMediaAvatarEditorTransition.m b/submodules/LegacyComponents/Sources/TGMediaAvatarEditorTransition.m index 256b51d0f6..2189fd91d2 100644 --- a/submodules/LegacyComponents/Sources/TGMediaAvatarEditorTransition.m +++ b/submodules/LegacyComponents/Sources/TGMediaAvatarEditorTransition.m @@ -1,4 +1,4 @@ -#import "TGMediaAvatarEditorTransition.h" +#import #import "LegacyComponentsInternal.h" diff --git a/submodules/LegacyComponents/Sources/TGMediaAvatarMenuMixin.m b/submodules/LegacyComponents/Sources/TGMediaAvatarMenuMixin.m index 113259fed5..27f1375512 100644 --- a/submodules/LegacyComponents/Sources/TGMediaAvatarMenuMixin.m +++ b/submodules/LegacyComponents/Sources/TGMediaAvatarMenuMixin.m @@ -1,3 +1,5 @@ +#import +#import #import #import "LegacyComponentsInternal.h" @@ -8,8 +10,8 @@ #import "TGOverlayFormsheetWindow.h" #import -#import "TGAttachmentCameraView.h" -#import "TGAttachmentCarouselItemView.h" +#import +#import #import #import @@ -353,7 +355,7 @@ else controllerWindow.frame = [_context fullscreenBounds]; - bool standalone = true; + __unused bool standalone = true; CGRect startFrame = CGRectMake(0, screenSize.height, screenSize.width, screenSize.height); if (cameraView != nil) { diff --git a/submodules/LegacyComponents/Sources/TGMediaEditingContext.m b/submodules/LegacyComponents/Sources/TGMediaEditingContext.m index ef53e8cd5b..0df58b712f 100644 --- a/submodules/LegacyComponents/Sources/TGMediaEditingContext.m +++ b/submodules/LegacyComponents/Sources/TGMediaEditingContext.m @@ -1,18 +1,18 @@ -#import "TGMediaEditingContext.h" +#import #import "LegacyComponentsInternal.h" -#import "TGStringUtils.h" +#import #import -#import "TGPhotoEditorUtils.h" -#import "PGPhotoEditorValues.h" -#import "TGVideoEditAdjustments.h" +#import +#import +#import -#import "TGModernCache.h" -#import "TGMemoryImageCache.h" -#import "TGMediaAsset.h" +#import +#import +#import -#import "TGPaintingData.h" +#import @interface TGMediaImageUpdate : NSObject diff --git a/submodules/LegacyComponents/Sources/TGMediaGroupCell.m b/submodules/LegacyComponents/Sources/TGMediaGroupCell.m index 0da21877b6..01f378b7ff 100644 --- a/submodules/LegacyComponents/Sources/TGMediaGroupCell.m +++ b/submodules/LegacyComponents/Sources/TGMediaGroupCell.m @@ -1,8 +1,8 @@ #import "TGMediaGroupCell.h" #import "LegacyComponentsInternal.h" -#import "TGFont.h" -#import "TGImageUtils.h" +#import +#import #import "TGColor.h" #import diff --git a/submodules/LegacyComponents/Sources/TGMediaOriginInfo.m b/submodules/LegacyComponents/Sources/TGMediaOriginInfo.m index 0a62731f5f..387af00e5a 100644 --- a/submodules/LegacyComponents/Sources/TGMediaOriginInfo.m +++ b/submodules/LegacyComponents/Sources/TGMediaOriginInfo.m @@ -1,7 +1,7 @@ -#import "TGMediaOriginInfo.h" +#import -#import "TGStringUtils.h" -#import "TGDocumentMediaAttachment.h" +#import +#import @implementation TGMediaOriginInfo diff --git a/submodules/LegacyComponents/Sources/TGMediaPickerCell.m b/submodules/LegacyComponents/Sources/TGMediaPickerCell.m index 56393d555a..9e18d085d3 100644 --- a/submodules/LegacyComponents/Sources/TGMediaPickerCell.m +++ b/submodules/LegacyComponents/Sources/TGMediaPickerCell.m @@ -1,4 +1,4 @@ -#import "TGMediaPickerCell.h" +#import #import "LegacyComponentsInternal.h" #import diff --git a/submodules/LegacyComponents/Sources/TGMediaPickerController.m b/submodules/LegacyComponents/Sources/TGMediaPickerController.m index cdc6ebec4f..02afafbb20 100644 --- a/submodules/LegacyComponents/Sources/TGMediaPickerController.m +++ b/submodules/LegacyComponents/Sources/TGMediaPickerController.m @@ -1,4 +1,5 @@ -#import "TGMediaPickerController.h" +#import +#import #import @@ -8,10 +9,10 @@ #import "TGMediaPickerSelectionGestureRecognizer.h" -#import "TGMediaPickerLayoutMetrics.h" -#import "TGMediaPickerCell.h" +#import +#import -#import "TGMediaPickerToolbarView.h" +#import #import @@ -275,7 +276,7 @@ UIEdgeInsets contentInset = [self controllerInsetForInterfaceOrientation:self.interfaceOrientation]; #pragma clang diagnostic pop - bool hasOnScreenNavigation = false; + __unused bool hasOnScreenNavigation = false; if (@available(iOS 11.0, *)) { hasOnScreenNavigation = (self.viewLoaded && self.view.safeAreaInsets.bottom > FLT_EPSILON) || self.context.safeAreaInset.bottom > FLT_EPSILON; } diff --git a/submodules/LegacyComponents/Sources/TGMediaPickerGalleryInterfaceView.m b/submodules/LegacyComponents/Sources/TGMediaPickerGalleryInterfaceView.m index 514d494001..d6e7f8039c 100644 --- a/submodules/LegacyComponents/Sources/TGMediaPickerGalleryInterfaceView.m +++ b/submodules/LegacyComponents/Sources/TGMediaPickerGalleryInterfaceView.m @@ -1,8 +1,9 @@ -#import "TGMediaPickerGalleryInterfaceView.h" +#import +#import #import "LegacyComponentsInternal.h" -#import "TGImageUtils.h" -#import "TGFont.h" +#import +#import #import @@ -16,26 +17,26 @@ #import #import #import -#import "TGMediaPickerGallerySelectedItemsModel.h" +#import -#import "TGModernGallerySelectableItem.h" -#import "TGModernGalleryEditableItem.h" -#import "TGMediaPickerGalleryPhotoItem.h" -#import "TGMediaPickerGalleryVideoItem.h" +#import +#import +#import +#import #import "TGMediaPickerGalleryPhotoItemView.h" -#import "TGMediaPickerGalleryVideoItemView.h" +#import #import #import #import #import -#import "TGCheckButtonView.h" +#import #import "TGMediaPickerPhotoCounterButton.h" #import "TGMediaPickerPhotoStripView.h" #import "TGMediaPickerScrubberHeaderView.h" -#import "TGPhotoEditorInterfaceAssets.h" +#import #import #import diff --git a/submodules/LegacyComponents/Sources/TGMediaPickerGalleryItem.m b/submodules/LegacyComponents/Sources/TGMediaPickerGalleryItem.m index 0a409c9a30..75267a373f 100644 --- a/submodules/LegacyComponents/Sources/TGMediaPickerGalleryItem.m +++ b/submodules/LegacyComponents/Sources/TGMediaPickerGalleryItem.m @@ -1,4 +1,4 @@ -#import "TGMediaPickerGalleryItem.h" +#import #import "LegacyComponentsInternal.h" diff --git a/submodules/LegacyComponents/Sources/TGMediaPickerGalleryModel.m b/submodules/LegacyComponents/Sources/TGMediaPickerGalleryModel.m index 3e04f10560..a26e742813 100644 --- a/submodules/LegacyComponents/Sources/TGMediaPickerGalleryModel.m +++ b/submodules/LegacyComponents/Sources/TGMediaPickerGalleryModel.m @@ -1,21 +1,22 @@ -#import "TGMediaPickerGalleryModel.h" +#import +#import -#import "TGMediaPickerGallerySelectedItemsModel.h" +#import #import "LegacyComponentsInternal.h" #import #import -#import "TGModernGallerySelectableItem.h" -#import "TGModernGalleryEditableItem.h" -#import "TGModernGalleryEditableItemView.h" -#import "TGMediaPickerGalleryItem.h" +#import +#import +#import +#import #import -#import "TGMediaPickerGalleryPhotoItem.h" -#import "TGMediaPickerGalleryVideoItem.h" -#import "TGMediaPickerGalleryVideoItemView.h" +#import +#import +#import -#import "TGModernMediaListItem.h" +#import #import "TGModernMediaListSelectableItem.h" #import diff --git a/submodules/LegacyComponents/Sources/TGMediaPickerGalleryPhotoItem.m b/submodules/LegacyComponents/Sources/TGMediaPickerGalleryPhotoItem.m index de6ec48c46..d8b2e8af45 100644 --- a/submodules/LegacyComponents/Sources/TGMediaPickerGalleryPhotoItem.m +++ b/submodules/LegacyComponents/Sources/TGMediaPickerGalleryPhotoItem.m @@ -1,7 +1,7 @@ -#import "TGMediaPickerGalleryPhotoItem.h" +#import #import "TGMediaPickerGalleryPhotoItemView.h" -#import "TGMediaAsset+TGMediaEditableItem.h" +#import @implementation TGMediaPickerGalleryPhotoItem diff --git a/submodules/LegacyComponents/Sources/TGMediaPickerGalleryPhotoItemView.h b/submodules/LegacyComponents/Sources/TGMediaPickerGalleryPhotoItemView.h index 4aea5bc609..a457b8f8bd 100644 --- a/submodules/LegacyComponents/Sources/TGMediaPickerGalleryPhotoItemView.h +++ b/submodules/LegacyComponents/Sources/TGMediaPickerGalleryPhotoItemView.h @@ -1,6 +1,6 @@ #import -#import "TGModernGalleryEditableItemView.h" -#import "TGModernGalleryImageItemImageView.h" +#import +#import @interface TGMediaPickerGalleryPhotoItemView : TGModernGalleryZoomableItemView diff --git a/submodules/LegacyComponents/Sources/TGMediaPickerGalleryPhotoItemView.m b/submodules/LegacyComponents/Sources/TGMediaPickerGalleryPhotoItemView.m index 7b6117cf92..a3bd5c8892 100644 --- a/submodules/LegacyComponents/Sources/TGMediaPickerGalleryPhotoItemView.m +++ b/submodules/LegacyComponents/Sources/TGMediaPickerGalleryPhotoItemView.m @@ -1,8 +1,9 @@ +#import #import "TGMediaPickerGalleryPhotoItemView.h" #import "LegacyComponentsInternal.h" -#import "TGFont.h" -#import "TGStringUtils.h" +#import +#import #import #import @@ -18,7 +19,7 @@ #import -#import "TGMediaPickerGalleryPhotoItem.h" +#import #import "TGPhotoDrawingController.h" diff --git a/submodules/LegacyComponents/Sources/TGMediaPickerGallerySelectedItemsModel.m b/submodules/LegacyComponents/Sources/TGMediaPickerGallerySelectedItemsModel.m index 45e116d207..8b24ae11e5 100644 --- a/submodules/LegacyComponents/Sources/TGMediaPickerGallerySelectedItemsModel.m +++ b/submodules/LegacyComponents/Sources/TGMediaPickerGallerySelectedItemsModel.m @@ -1,4 +1,4 @@ -#import "TGMediaPickerGallerySelectedItemsModel.h" +#import @interface TGMediaPickerGallerySelectedItemsModel () { diff --git a/submodules/LegacyComponents/Sources/TGMediaPickerGalleryVideoItem.m b/submodules/LegacyComponents/Sources/TGMediaPickerGalleryVideoItem.m index 42b91ab52f..f3500ece40 100644 --- a/submodules/LegacyComponents/Sources/TGMediaPickerGalleryVideoItem.m +++ b/submodules/LegacyComponents/Sources/TGMediaPickerGalleryVideoItem.m @@ -1,16 +1,16 @@ -#import "TGMediaPickerGalleryVideoItem.h" +#import #import "LegacyComponentsInternal.h" -#import "TGMediaPickerGalleryPhotoItem.h" +#import #import "TGMediaPickerGalleryPhotoItemView.h" -#import "TGMediaPickerGalleryVideoItemView.h" +#import #import -#import "TGMediaAsset+TGMediaEditableItem.h" -#import "TGCameraCapturedVideo.h" +#import +#import #import @implementation TGMediaPickerGalleryVideoItem diff --git a/submodules/LegacyComponents/Sources/TGMediaPickerGalleryVideoItemView.m b/submodules/LegacyComponents/Sources/TGMediaPickerGalleryVideoItemView.m index 581a462475..4efcfc1ef4 100644 --- a/submodules/LegacyComponents/Sources/TGMediaPickerGalleryVideoItemView.m +++ b/submodules/LegacyComponents/Sources/TGMediaPickerGalleryVideoItemView.m @@ -1,9 +1,10 @@ -#import "TGMediaPickerGalleryVideoItemView.h" +#import +#import #import "LegacyComponentsInternal.h" -#import "TGFont.h" -#import "TGImageUtils.h" -#import "TGStringUtils.h" +#import +#import +#import #import #import @@ -17,10 +18,10 @@ #import #import -#import "TGMediaPickerGalleryItem.h" -#import "TGMediaPickerGalleryVideoItem.h" +#import +#import -#import "TGCameraCapturedVideo.h" +#import #import #import @@ -1011,7 +1012,7 @@ CGSize originalSize = _videoDimensions; CGRect cropRect = CGRectMake(0, 0, _videoDimensions.width, _videoDimensions.height); UIImageOrientation cropOrientation = UIImageOrientationUp; - bool cropMirrored = false; + __unused bool cropMirrored = false; if (adjustments != nil) { cropRect = adjustments.cropRect; diff --git a/submodules/LegacyComponents/Sources/TGMediaPickerGalleryVideoScrubber.m b/submodules/LegacyComponents/Sources/TGMediaPickerGalleryVideoScrubber.m index e47a8912da..e7a3574de7 100644 --- a/submodules/LegacyComponents/Sources/TGMediaPickerGalleryVideoScrubber.m +++ b/submodules/LegacyComponents/Sources/TGMediaPickerGalleryVideoScrubber.m @@ -1,10 +1,10 @@ #import "TGMediaPickerGalleryVideoScrubber.h" #import "LegacyComponentsInternal.h" -#import "TGFont.h" -#import "TGImageUtils.h" +#import +#import -#import "POPBasicAnimation.h" +#import #import diff --git a/submodules/LegacyComponents/Sources/TGMediaPickerGalleryVideoTrimView.m b/submodules/LegacyComponents/Sources/TGMediaPickerGalleryVideoTrimView.m index f07983b096..753f1e1c27 100644 --- a/submodules/LegacyComponents/Sources/TGMediaPickerGalleryVideoTrimView.m +++ b/submodules/LegacyComponents/Sources/TGMediaPickerGalleryVideoTrimView.m @@ -5,7 +5,7 @@ #import #import -#import "TGPhotoEditorInterfaceAssets.h" +#import @interface TGMediaPickerGalleryVideoTrimView () { diff --git a/submodules/LegacyComponents/Sources/TGMediaPickerLayoutMetrics.m b/submodules/LegacyComponents/Sources/TGMediaPickerLayoutMetrics.m index 9a7b02a269..be4c35c0e1 100644 --- a/submodules/LegacyComponents/Sources/TGMediaPickerLayoutMetrics.m +++ b/submodules/LegacyComponents/Sources/TGMediaPickerLayoutMetrics.m @@ -1,4 +1,4 @@ -#import "TGMediaPickerLayoutMetrics.h" +#import #import diff --git a/submodules/LegacyComponents/Sources/TGMediaPickerModernGalleryMixin.m b/submodules/LegacyComponents/Sources/TGMediaPickerModernGalleryMixin.m index 756f4deb62..818b272384 100644 --- a/submodules/LegacyComponents/Sources/TGMediaPickerModernGalleryMixin.m +++ b/submodules/LegacyComponents/Sources/TGMediaPickerModernGalleryMixin.m @@ -1,16 +1,16 @@ -#import "TGMediaPickerModernGalleryMixin.h" +#import #import "LegacyComponentsInternal.h" #import #import -#import "TGMediaPickerGalleryItem.h" -#import "TGMediaPickerGalleryPhotoItem.h" -#import "TGMediaPickerGalleryVideoItem.h" -#import "TGMediaPickerGalleryVideoItemView.h" +#import +#import +#import +#import -#import "TGMediaPickerSendActionSheetController.h" +#import #import #import diff --git a/submodules/LegacyComponents/Sources/TGMediaPickerPhotoCounterButton.m b/submodules/LegacyComponents/Sources/TGMediaPickerPhotoCounterButton.m index cdbf67a314..5a61bec084 100644 --- a/submodules/LegacyComponents/Sources/TGMediaPickerPhotoCounterButton.m +++ b/submodules/LegacyComponents/Sources/TGMediaPickerPhotoCounterButton.m @@ -1,12 +1,12 @@ #import "TGMediaPickerPhotoCounterButton.h" #import "LegacyComponentsInternal.h" -#import "TGImageUtils.h" -#import "TGFont.h" -#import "TGStringUtils.h" -#import "TGPhotoEditorInterfaceAssets.h" +#import +#import +#import +#import -#import "POPSpringAnimation.h" +#import const CGFloat TGPhotoCounterButtonMaskFade = 18; diff --git a/submodules/LegacyComponents/Sources/TGMediaPickerPhotoStripCell.m b/submodules/LegacyComponents/Sources/TGMediaPickerPhotoStripCell.m index cad9fb880f..bc5bb4a9c8 100644 --- a/submodules/LegacyComponents/Sources/TGMediaPickerPhotoStripCell.m +++ b/submodules/LegacyComponents/Sources/TGMediaPickerPhotoStripCell.m @@ -1,22 +1,22 @@ #import "TGMediaPickerPhotoStripCell.h" #import "LegacyComponentsInternal.h" -#import "TGFont.h" +#import -#import "TGModernButton.h" -#import "TGCheckButtonView.h" +#import +#import #import #import -#import "TGMediaPickerGallerySelectedItemsModel.h" +#import #import #import #import -#import "TGCameraCapturedVideo.h" -#import "TGMediaAsset+TGMediaEditableItem.h" +#import +#import NSString *const TGMediaPickerPhotoStripCellKind = @"PhotoStripCell"; diff --git a/submodules/LegacyComponents/Sources/TGMediaPickerPhotoStripView.m b/submodules/LegacyComponents/Sources/TGMediaPickerPhotoStripView.m index a87b7b010f..5f866fb5d0 100644 --- a/submodules/LegacyComponents/Sources/TGMediaPickerPhotoStripView.m +++ b/submodules/LegacyComponents/Sources/TGMediaPickerPhotoStripView.m @@ -1,11 +1,11 @@ #import "TGMediaPickerPhotoStripView.h" #import "LegacyComponentsInternal.h" -#import "TGImageUtils.h" +#import -#import "POPAnimation.h" -#import "POPAnimatableProperty.h" -#import "POPSpringAnimation.h" +#import +#import +#import #import @@ -16,7 +16,7 @@ #import "TGMediaPickerPhotoStripCell.h" -#import "TGMediaPickerGallerySelectedItemsModel.h" +#import @interface TGMediaPickerPhotoStripView () { diff --git a/submodules/LegacyComponents/Sources/TGMediaPickerSendActionSheetController.m b/submodules/LegacyComponents/Sources/TGMediaPickerSendActionSheetController.m index e54924dd5b..2dec4bc6ec 100644 --- a/submodules/LegacyComponents/Sources/TGMediaPickerSendActionSheetController.m +++ b/submodules/LegacyComponents/Sources/TGMediaPickerSendActionSheetController.m @@ -1,10 +1,10 @@ -#import "TGMediaPickerSendActionSheetController.h" +#import #import "LegacyComponentsInternal.h" -#import "TGFont.h" -#import "TGImageUtils.h" -#import "TGModernButton.h" -#import "TGMediaAssetsController.h" +#import +#import +#import +#import @interface TGMediaPickerSendActionSheetItemView : UIView { diff --git a/submodules/LegacyComponents/Sources/TGMediaPickerToolbarView.m b/submodules/LegacyComponents/Sources/TGMediaPickerToolbarView.m index b1e1ed3127..2750bd5dd6 100644 --- a/submodules/LegacyComponents/Sources/TGMediaPickerToolbarView.m +++ b/submodules/LegacyComponents/Sources/TGMediaPickerToolbarView.m @@ -1,12 +1,12 @@ -#import "TGMediaPickerToolbarView.h" +#import #import "LegacyComponentsInternal.h" -#import "TGImageUtils.h" -#import "TGFont.h" +#import +#import #import "TGColor.h" #import -#import "TGMediaAssetsController.h" +#import const CGFloat TGMediaPickerToolbarHeight = 44.0f; diff --git a/submodules/LegacyComponents/Sources/TGMediaSelectionContext.m b/submodules/LegacyComponents/Sources/TGMediaSelectionContext.m index ed77417c37..d290228bb2 100644 --- a/submodules/LegacyComponents/Sources/TGMediaSelectionContext.m +++ b/submodules/LegacyComponents/Sources/TGMediaSelectionContext.m @@ -1,4 +1,4 @@ -#import "TGMediaSelectionContext.h" +#import @interface TGMediaSelectionChange () diff --git a/submodules/LegacyComponents/Sources/TGMediaVideoConverter.m b/submodules/LegacyComponents/Sources/TGMediaVideoConverter.m index 15189ec41f..40b02b7bed 100644 --- a/submodules/LegacyComponents/Sources/TGMediaVideoConverter.m +++ b/submodules/LegacyComponents/Sources/TGMediaVideoConverter.m @@ -1,4 +1,4 @@ -#import "TGMediaVideoConverter.h" +#import #import #import @@ -8,15 +8,15 @@ #import "LegacyComponentsInternal.h" -#import "TGImageUtils.h" -#import "TGPhotoEditorUtils.h" +#import +#import #import "PGPhotoEditor.h" -#import "TGPaintUtils.h" -#import "TGPhotoPaintEntity.h" +#import +#import -#import "TGVideoEditAdjustments.h" -#import "TGPaintingData.h" -#import "TGPhotoPaintStickersContext.h" +#import +#import +#import @interface TGMediaVideoConversionPresetSettings () @@ -402,7 +402,10 @@ if (adjustments.toolsApplied) { editor = [[PGPhotoEditor alloc] initWithOriginalSize:adjustments.originalSize adjustments:adjustments forVideo:true enableStickers:true]; editor.standalone = true; +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" ciContext = [CIContext contextWithEAGLContext:[[GPUImageContext sharedImageProcessingContext] context]]; +#pragma clang diagnostic pop } CIImage *backgroundCIImage = nil; @@ -835,6 +838,9 @@ + (NSString *)_hashForVideoWithFileData:(NSData *)fileData timingData:(NSData *)timingData preset:(TGMediaVideoConversionPreset)preset { +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" + const NSUInteger bufSize = 1024; NSUInteger numberOfBuffersToRead = MIN(32, floor(fileData.length / bufSize)); uint8_t buf[bufSize]; @@ -871,6 +877,8 @@ CC_MD5_Final(md5Buffer, &md5); NSString *hash = [[NSString alloc] initWithFormat:@"%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x", md5Buffer[0], md5Buffer[1], md5Buffer[2], md5Buffer[3], md5Buffer[4], md5Buffer[5], md5Buffer[6], md5Buffer[7], md5Buffer[8], md5Buffer[9], md5Buffer[10], md5Buffer[11], md5Buffer[12], md5Buffer[13], md5Buffer[14], md5Buffer[15]]; +#pragma clang diagnostic pop + return hash; } diff --git a/submodules/LegacyComponents/Sources/TGMemoryImageCache.m b/submodules/LegacyComponents/Sources/TGMemoryImageCache.m index f7c76491e1..1a90c3732d 100644 --- a/submodules/LegacyComponents/Sources/TGMemoryImageCache.m +++ b/submodules/LegacyComponents/Sources/TGMemoryImageCache.m @@ -1,4 +1,4 @@ -#import "TGMemoryImageCache.h" +#import #import diff --git a/submodules/LegacyComponents/Sources/TGMenuSheetButtonItemView.m b/submodules/LegacyComponents/Sources/TGMenuSheetButtonItemView.m index 8b5d049437..8c1ddfc864 100644 --- a/submodules/LegacyComponents/Sources/TGMenuSheetButtonItemView.m +++ b/submodules/LegacyComponents/Sources/TGMenuSheetButtonItemView.m @@ -1,13 +1,13 @@ -#import "TGMenuSheetButtonItemView.h" +#import #import "LegacyComponentsInternal.h" -#import "TGFont.h" +#import #import "TGColor.h" -#import "TGImageUtils.h" +#import #import -#import "TGMenuSheetController.h" +#import const CGFloat TGMenuSheetButtonItemViewHeight = 57.0f; diff --git a/submodules/LegacyComponents/Sources/TGMenuSheetCollectionView.m b/submodules/LegacyComponents/Sources/TGMenuSheetCollectionView.m index 7cb0d1f944..e6922acb6c 100644 --- a/submodules/LegacyComponents/Sources/TGMenuSheetCollectionView.m +++ b/submodules/LegacyComponents/Sources/TGMenuSheetCollectionView.m @@ -1,4 +1,4 @@ -#import "TGMenuSheetCollectionView.h" +#import @implementation TGMenuSheetCollectionView diff --git a/submodules/LegacyComponents/Sources/TGMenuSheetController.m b/submodules/LegacyComponents/Sources/TGMenuSheetController.m index 42b5887cb0..a9e2dc0079 100644 --- a/submodules/LegacyComponents/Sources/TGMenuSheetController.m +++ b/submodules/LegacyComponents/Sources/TGMenuSheetController.m @@ -1,19 +1,19 @@ -#import "TGMenuSheetController.h" +#import #import "LegacyComponentsInternal.h" -#import "LegacyComponentsGlobals.h" -#import "TGNavigationController.h" -#import "TGOverlayController.h" -#import "TGOverlayControllerWindow.h" -#import "TGImageUtils.h" -#import "TGHacks.h" +#import +#import +#import +#import +#import +#import #import -#import "TGMenuSheetView.h" +#import #import "TGMenuSheetDimView.h" -#import "TGMenuSheetItemView.h" -#import "TGMenuSheetCollectionView.h" +#import +#import #import #import @@ -1120,14 +1120,6 @@ typedef enum - (void)setup3DTouch { - if (iosMajorVersion() >= 9 && self.traitCollection.forceTouchCapability == UIForceTouchCapabilityAvailable) - { - for (TGMenuSheetItemView *itemView in _sheetView.itemViews) - { - if (itemView.previewSourceView != nil) - [self registerForPreviewingWithDelegate:itemView sourceView:itemView.previewSourceView]; - } - } } - (void)popoverPresentationControllerDidDismissPopover:(UIPopoverPresentationController *)__unused popoverPresentationController { diff --git a/submodules/LegacyComponents/Sources/TGMenuSheetDimView.m b/submodules/LegacyComponents/Sources/TGMenuSheetDimView.m index 0f8cbb75c1..952458cb70 100644 --- a/submodules/LegacyComponents/Sources/TGMenuSheetDimView.m +++ b/submodules/LegacyComponents/Sources/TGMenuSheetDimView.m @@ -1,5 +1,5 @@ #import "TGMenuSheetDimView.h" -#import "TGMenuSheetView.h" +#import #import "LegacyComponentsInternal.h" diff --git a/submodules/LegacyComponents/Sources/TGMenuSheetItemView.m b/submodules/LegacyComponents/Sources/TGMenuSheetItemView.m index 7da41fba9a..4b9b848c2a 100644 --- a/submodules/LegacyComponents/Sources/TGMenuSheetItemView.m +++ b/submodules/LegacyComponents/Sources/TGMenuSheetItemView.m @@ -1,4 +1,4 @@ -#import "TGMenuSheetItemView.h" +#import #import "LegacyComponentsInternal.h" diff --git a/submodules/LegacyComponents/Sources/TGMenuSheetTitleItemView.m b/submodules/LegacyComponents/Sources/TGMenuSheetTitleItemView.m index 15ae64ee8a..8869b2a6dd 100644 --- a/submodules/LegacyComponents/Sources/TGMenuSheetTitleItemView.m +++ b/submodules/LegacyComponents/Sources/TGMenuSheetTitleItemView.m @@ -1,9 +1,9 @@ -#import "TGMenuSheetTitleItemView.h" +#import #import "LegacyComponentsInternal.h" -#import "TGFont.h" +#import -#import "TGMenuSheetController.h" +#import @interface TGMenuSheetTitleItemView () { diff --git a/submodules/LegacyComponents/Sources/TGMenuSheetView.m b/submodules/LegacyComponents/Sources/TGMenuSheetView.m index f54332f2ba..e2d28dbabc 100644 --- a/submodules/LegacyComponents/Sources/TGMenuSheetView.m +++ b/submodules/LegacyComponents/Sources/TGMenuSheetView.m @@ -1,9 +1,9 @@ -#import "TGMenuSheetView.h" -#import "TGMenuSheetItemView.h" -#import "TGMenuSheetController.h" +#import +#import +#import #import "LegacyComponentsInternal.h" -#import "TGImageUtils.h" +#import #import "TGColor.h" NSString *const TGMenuDividerTop = @"top"; diff --git a/submodules/LegacyComponents/Sources/TGMenuView.m b/submodules/LegacyComponents/Sources/TGMenuView.m index 6797ac4953..abe7294fe2 100644 --- a/submodules/LegacyComponents/Sources/TGMenuView.m +++ b/submodules/LegacyComponents/Sources/TGMenuView.m @@ -1,8 +1,8 @@ -#import "TGMenuView.h" +#import #import "LegacyComponentsInternal.h" -#import "TGFont.h" -#import "TGImageUtils.h" +#import +#import #import @@ -419,9 +419,9 @@ static UIImage *pagerLeftButtonHighlightedImage() { if (self.buttonHighlightDisabled) return; - NSInteger highlightedIndex = -1; + __unused NSInteger highlightedIndex = -1; - bool arrowHighlighted = false; + __unused bool arrowHighlighted = false; NSInteger index = -1; for (TGMenuButtonView *buttonView in _buttonViews) diff --git a/submodules/LegacyComponents/Sources/TGMessage.mm b/submodules/LegacyComponents/Sources/TGMessage.mm index 0a48ed23d4..52012f3fe1 100644 --- a/submodules/LegacyComponents/Sources/TGMessage.mm +++ b/submodules/LegacyComponents/Sources/TGMessage.mm @@ -1,15 +1,15 @@ -#import "TGMessage.h" +#import #import "LegacyComponentsInternal.h" -#import "PSKeyValueCoder.h" -#import "PSKeyValueEncoder.h" -#import "PSKeyValueDecoder.h" +#import +#import +#import #import -#import "TGTextCheckingResult.h" -#import "TGPeerIdAdapter.h" -#import "TGPhoneUtils.h" +#import +#import +#import #include @@ -571,7 +571,7 @@ typedef enum { }]; static NSCharacterSet *characterSet = nil; - static NSCharacterSet *punctuationSet = nil; + __unused static NSCharacterSet *punctuationSet = nil; static dispatch_once_t onceToken; dispatch_once(&onceToken, ^ { diff --git a/submodules/LegacyComponents/Sources/TGMessageEntitiesAttachment.m b/submodules/LegacyComponents/Sources/TGMessageEntitiesAttachment.m index e53491ff12..bce212f7c6 100644 --- a/submodules/LegacyComponents/Sources/TGMessageEntitiesAttachment.m +++ b/submodules/LegacyComponents/Sources/TGMessageEntitiesAttachment.m @@ -1,11 +1,11 @@ -#import "TGMessageEntitiesAttachment.h" +#import #import "LegacyComponentsInternal.h" -#import "PSKeyValueEncoder.h" -#import "PSKeyValueDecoder.h" +#import +#import -#import "NSInputStream+TL.h" +#import @implementation TGMessageEntitiesAttachment @@ -46,7 +46,7 @@ - (void)serialize:(NSMutableData *)data { - NSData *serializedData = [NSKeyedArchiver archivedDataWithRootObject:self]; + NSData *serializedData = [NSKeyedArchiver archivedDataWithRootObject:self requiringSecureCoding:false error:nil]; int32_t length = (int32_t)serializedData.length; [data appendBytes:&length length:4]; [data appendData:serializedData]; @@ -56,7 +56,7 @@ { int32_t length = [is readInt32]; NSData *data = [is readData:length]; - return [NSKeyedUnarchiver unarchiveObjectWithData:data]; + return [NSKeyedUnarchiver unarchivedObjectOfClass:[TGMediaAttachment class] fromData:data error:nil]; } @end diff --git a/submodules/LegacyComponents/Sources/TGMessageEntity.m b/submodules/LegacyComponents/Sources/TGMessageEntity.m index c35ccb9449..8db90b1cf3 100644 --- a/submodules/LegacyComponents/Sources/TGMessageEntity.m +++ b/submodules/LegacyComponents/Sources/TGMessageEntity.m @@ -1,6 +1,6 @@ -#import "TGMessageEntity.h" +#import -#import "PSKeyValueCoder.h" +#import @implementation TGMessageEntity diff --git a/submodules/LegacyComponents/Sources/TGMessageEntityBold.m b/submodules/LegacyComponents/Sources/TGMessageEntityBold.m index 02e32ec61a..a9e0c633d8 100644 --- a/submodules/LegacyComponents/Sources/TGMessageEntityBold.m +++ b/submodules/LegacyComponents/Sources/TGMessageEntityBold.m @@ -1,4 +1,4 @@ -#import "TGMessageEntityBold.h" +#import @implementation TGMessageEntityBold diff --git a/submodules/LegacyComponents/Sources/TGMessageEntityBotCommand.m b/submodules/LegacyComponents/Sources/TGMessageEntityBotCommand.m index c2c64411af..8251f4c02f 100644 --- a/submodules/LegacyComponents/Sources/TGMessageEntityBotCommand.m +++ b/submodules/LegacyComponents/Sources/TGMessageEntityBotCommand.m @@ -1,4 +1,4 @@ -#import "TGMessageEntityBotCommand.h" +#import @implementation TGMessageEntityBotCommand diff --git a/submodules/LegacyComponents/Sources/TGMessageEntityCashtag.m b/submodules/LegacyComponents/Sources/TGMessageEntityCashtag.m index 1efc1f1a3d..3f6144b1eb 100644 --- a/submodules/LegacyComponents/Sources/TGMessageEntityCashtag.m +++ b/submodules/LegacyComponents/Sources/TGMessageEntityCashtag.m @@ -1,4 +1,4 @@ -#import "TGMessageEntityCashtag.h" +#import @implementation TGMessageEntityCashtag diff --git a/submodules/LegacyComponents/Sources/TGMessageEntityCode.m b/submodules/LegacyComponents/Sources/TGMessageEntityCode.m index 607a004248..69f2c4bfc4 100644 --- a/submodules/LegacyComponents/Sources/TGMessageEntityCode.m +++ b/submodules/LegacyComponents/Sources/TGMessageEntityCode.m @@ -1,4 +1,4 @@ -#import "TGMessageEntityCode.h" +#import @implementation TGMessageEntityCode diff --git a/submodules/LegacyComponents/Sources/TGMessageEntityEmail.m b/submodules/LegacyComponents/Sources/TGMessageEntityEmail.m index ad82998a44..15888a0596 100644 --- a/submodules/LegacyComponents/Sources/TGMessageEntityEmail.m +++ b/submodules/LegacyComponents/Sources/TGMessageEntityEmail.m @@ -1,4 +1,4 @@ -#import "TGMessageEntityEmail.h" +#import @implementation TGMessageEntityEmail diff --git a/submodules/LegacyComponents/Sources/TGMessageEntityHashtag.m b/submodules/LegacyComponents/Sources/TGMessageEntityHashtag.m index c9b45d2089..45711caf01 100644 --- a/submodules/LegacyComponents/Sources/TGMessageEntityHashtag.m +++ b/submodules/LegacyComponents/Sources/TGMessageEntityHashtag.m @@ -1,4 +1,4 @@ -#import "TGMessageEntityHashtag.h" +#import @implementation TGMessageEntityHashtag diff --git a/submodules/LegacyComponents/Sources/TGMessageEntityItalic.m b/submodules/LegacyComponents/Sources/TGMessageEntityItalic.m index 708789d718..c77c95876d 100644 --- a/submodules/LegacyComponents/Sources/TGMessageEntityItalic.m +++ b/submodules/LegacyComponents/Sources/TGMessageEntityItalic.m @@ -1,4 +1,4 @@ -#import "TGMessageEntityItalic.h" +#import @implementation TGMessageEntityItalic diff --git a/submodules/LegacyComponents/Sources/TGMessageEntityMention.m b/submodules/LegacyComponents/Sources/TGMessageEntityMention.m index 6ebc26171b..569e80b8a0 100644 --- a/submodules/LegacyComponents/Sources/TGMessageEntityMention.m +++ b/submodules/LegacyComponents/Sources/TGMessageEntityMention.m @@ -1,4 +1,4 @@ -#import "TGMessageEntityMention.h" +#import @implementation TGMessageEntityMention diff --git a/submodules/LegacyComponents/Sources/TGMessageEntityMentionName.m b/submodules/LegacyComponents/Sources/TGMessageEntityMentionName.m index ffe5f0297b..a13a622825 100644 --- a/submodules/LegacyComponents/Sources/TGMessageEntityMentionName.m +++ b/submodules/LegacyComponents/Sources/TGMessageEntityMentionName.m @@ -1,6 +1,6 @@ -#import "TGMessageEntityMentionName.h" +#import -#import "PSKeyValueCoder.h" +#import @implementation TGMessageEntityMentionName diff --git a/submodules/LegacyComponents/Sources/TGMessageEntityPhone.m b/submodules/LegacyComponents/Sources/TGMessageEntityPhone.m index 24376e1d1f..51c5d131ec 100644 --- a/submodules/LegacyComponents/Sources/TGMessageEntityPhone.m +++ b/submodules/LegacyComponents/Sources/TGMessageEntityPhone.m @@ -1,4 +1,4 @@ -#import "TGMessageEntityPhone.h" +#import @implementation TGMessageEntityPhone diff --git a/submodules/LegacyComponents/Sources/TGMessageEntityPre.m b/submodules/LegacyComponents/Sources/TGMessageEntityPre.m index 10efc49cee..8d81ccfb5c 100644 --- a/submodules/LegacyComponents/Sources/TGMessageEntityPre.m +++ b/submodules/LegacyComponents/Sources/TGMessageEntityPre.m @@ -1,6 +1,6 @@ -#import "TGMessageEntityPre.h" +#import -#import "PSKeyValueCoder.h" +#import @implementation TGMessageEntityPre diff --git a/submodules/LegacyComponents/Sources/TGMessageEntityTextUrl.m b/submodules/LegacyComponents/Sources/TGMessageEntityTextUrl.m index cbd83756b5..566780f3b7 100644 --- a/submodules/LegacyComponents/Sources/TGMessageEntityTextUrl.m +++ b/submodules/LegacyComponents/Sources/TGMessageEntityTextUrl.m @@ -1,6 +1,6 @@ -#import "TGMessageEntityTextUrl.h" +#import -#import "PSKeyValueCoder.h" +#import @implementation TGMessageEntityTextUrl diff --git a/submodules/LegacyComponents/Sources/TGMessageEntityUrl.m b/submodules/LegacyComponents/Sources/TGMessageEntityUrl.m index d2fc4d3b2a..0d94ce261d 100644 --- a/submodules/LegacyComponents/Sources/TGMessageEntityUrl.m +++ b/submodules/LegacyComponents/Sources/TGMessageEntityUrl.m @@ -1,4 +1,4 @@ -#import "TGMessageEntityUrl.h" +#import @implementation TGMessageEntityUrl diff --git a/submodules/LegacyComponents/Sources/TGMessageGroup.m b/submodules/LegacyComponents/Sources/TGMessageGroup.m index 1156fa551e..ca3f5ed5cb 100644 --- a/submodules/LegacyComponents/Sources/TGMessageGroup.m +++ b/submodules/LegacyComponents/Sources/TGMessageGroup.m @@ -1,4 +1,4 @@ -#import "TGMessageGroup.h" +#import @implementation TGMessageGroup diff --git a/submodules/LegacyComponents/Sources/TGMessageHole.m b/submodules/LegacyComponents/Sources/TGMessageHole.m index 2a31e3376f..2347278250 100644 --- a/submodules/LegacyComponents/Sources/TGMessageHole.m +++ b/submodules/LegacyComponents/Sources/TGMessageHole.m @@ -1,4 +1,4 @@ -#import "TGMessageHole.h" +#import @implementation TGMessageHole diff --git a/submodules/LegacyComponents/Sources/TGMessageImageViewOverlayView.m b/submodules/LegacyComponents/Sources/TGMessageImageViewOverlayView.m index 6343d6fc6e..8e3264810a 100644 --- a/submodules/LegacyComponents/Sources/TGMessageImageViewOverlayView.m +++ b/submodules/LegacyComponents/Sources/TGMessageImageViewOverlayView.m @@ -1,9 +1,9 @@ -#import "TGMessageImageViewOverlayView.h" +#import -#import "POPBasicAnimation.h" +#import #import "LegacyComponentsInternal.h" -#import "TGImageUtils.h" +#import #import "TGColor.h" typedef enum { @@ -665,9 +665,9 @@ const NSInteger TGMessageImageViewOverlayParticlesCount = 40; case TGMessageImageViewOverlayViewTypePlay: { const CGFloat diameter = self.radius; - CGFloat offset = round(diameter * 0.06f); - CGFloat verticalOffset = 0.0f; - CGFloat alpha = 0.8f; + __unused CGFloat offset = round(diameter * 0.06f); + __unused CGFloat verticalOffset = 0.0f; + __unused CGFloat alpha = 0.8f; UIColor *iconColor = TGColorWithHexAndAlpha(0xffffffff, 1.0f); if (diameter <= 25.0f + FLT_EPSILON) { offset = round(50.0f * 0.06f) - 1.0f; @@ -995,7 +995,7 @@ const NSInteger TGMessageImageViewOverlayParticlesCount = 40; { CGFloat diameter = _overlayStyle == TGMessageImageViewOverlayStyleList ? 30.0f : self.radius; CGFloat inset = 0.0f; - CGFloat crossSize = _overlayStyle == TGMessageImageViewOverlayStyleList ? 10.0f : 14.0f; + __unused CGFloat crossSize = _overlayStyle == TGMessageImageViewOverlayStyleList ? 10.0f : 14.0f; if (ABS(diameter - 37.0f) < 0.1) { crossSize = 10.0f; @@ -1027,7 +1027,7 @@ const NSInteger TGMessageImageViewOverlayParticlesCount = 40; CGContextSetBlendMode(context, kCGBlendModeCopy); CGFloat pathLineWidth = 2.0f; - CGFloat pathDiameter = diameter - pathLineWidth; + __unused CGFloat pathDiameter = diameter - pathLineWidth; if (ABS(diameter - 37.0f) < 0.1) { pathLineWidth = 2.5f; diff --git a/submodules/LegacyComponents/Sources/TGMessageViewCountContentProperty.m b/submodules/LegacyComponents/Sources/TGMessageViewCountContentProperty.m index 829f3cd35f..2604dc2d2d 100644 --- a/submodules/LegacyComponents/Sources/TGMessageViewCountContentProperty.m +++ b/submodules/LegacyComponents/Sources/TGMessageViewCountContentProperty.m @@ -1,6 +1,6 @@ -#import "TGMessageViewCountContentProperty.h" +#import -#import "PSKeyValueCoder.h" +#import @implementation TGMessageViewCountContentProperty diff --git a/submodules/LegacyComponents/Sources/TGModernBackToolbarButton.m b/submodules/LegacyComponents/Sources/TGModernBackToolbarButton.m index f050bdfe05..a9cdab8f7e 100644 --- a/submodules/LegacyComponents/Sources/TGModernBackToolbarButton.m +++ b/submodules/LegacyComponents/Sources/TGModernBackToolbarButton.m @@ -1,4 +1,4 @@ -#import "TGModernBackToolbarButton.h" +#import #import "LegacyComponentsInternal.h" #import "TGColor.h" diff --git a/submodules/LegacyComponents/Sources/TGModernBarButton.m b/submodules/LegacyComponents/Sources/TGModernBarButton.m index 5653419492..a113d0830d 100644 --- a/submodules/LegacyComponents/Sources/TGModernBarButton.m +++ b/submodules/LegacyComponents/Sources/TGModernBarButton.m @@ -1,4 +1,4 @@ -#import "TGModernBarButton.h" +#import #import diff --git a/submodules/LegacyComponents/Sources/TGModernButton.m b/submodules/LegacyComponents/Sources/TGModernButton.m index 7d04f3a1b8..30564acf50 100644 --- a/submodules/LegacyComponents/Sources/TGModernButton.m +++ b/submodules/LegacyComponents/Sources/TGModernButton.m @@ -1,4 +1,4 @@ -#import "TGModernButton.h" +#import #import "LegacyComponentsInternal.h" diff --git a/submodules/LegacyComponents/Sources/TGModernCache.m b/submodules/LegacyComponents/Sources/TGModernCache.m index 03ced482b4..d42ea3e272 100644 --- a/submodules/LegacyComponents/Sources/TGModernCache.m +++ b/submodules/LegacyComponents/Sources/TGModernCache.m @@ -1,11 +1,11 @@ -#import "TGModernCache.h" +#import #import "LegacyComponentsInternal.h" -#import "TGStringUtils.h" +#import #import -#import "PSLMDBKeyValueStore.h" +#import typedef enum { TGModernCacheKeyspaceGlobalProperties = 1, diff --git a/submodules/LegacyComponents/Sources/TGModernConversationInputMicButton.m b/submodules/LegacyComponents/Sources/TGModernConversationInputMicButton.m index 8f6ea3a6d1..88bdbba5e9 100644 --- a/submodules/LegacyComponents/Sources/TGModernConversationInputMicButton.m +++ b/submodules/LegacyComponents/Sources/TGModernConversationInputMicButton.m @@ -1,12 +1,12 @@ -#import "TGModernConversationInputMicButton.h" +#import #import "LegacyComponentsInternal.h" #import -#import "TGOverlayController.h" +#import #import "TGColor.h" -#import "TGImageUtils.h" -#import "TGPhotoEditorSparseView.h" +#import +#import static const CGFloat innerCircleRadius = 110.0f; static const CGFloat outerCircleRadius = innerCircleRadius + 50.0f; diff --git a/submodules/LegacyComponents/Sources/TGModernConversationTitleActivityIndicator.m b/submodules/LegacyComponents/Sources/TGModernConversationTitleActivityIndicator.m index c5d7fe7091..9b1e4746d1 100644 --- a/submodules/LegacyComponents/Sources/TGModernConversationTitleActivityIndicator.m +++ b/submodules/LegacyComponents/Sources/TGModernConversationTitleActivityIndicator.m @@ -1,9 +1,9 @@ -#import "TGModernConversationTitleActivityIndicator.h" +#import #import "LegacyComponentsInternal.h" #import "TGColor.h" -#import "TGImageUtils.h" -#import "POPBasicAnimation.h" +#import +#import #import diff --git a/submodules/LegacyComponents/Sources/TGModernGalleryContainerView.m b/submodules/LegacyComponents/Sources/TGModernGalleryContainerView.m index 7b323230a1..51164884b0 100644 --- a/submodules/LegacyComponents/Sources/TGModernGalleryContainerView.m +++ b/submodules/LegacyComponents/Sources/TGModernGalleryContainerView.m @@ -1,4 +1,4 @@ -#import "TGModernGalleryContainerView.h" +#import #import diff --git a/submodules/LegacyComponents/Sources/TGModernGalleryController.m b/submodules/LegacyComponents/Sources/TGModernGalleryController.m index 79390cdb63..6b6f83d8da 100644 --- a/submodules/LegacyComponents/Sources/TGModernGalleryController.m +++ b/submodules/LegacyComponents/Sources/TGModernGalleryController.m @@ -1,8 +1,9 @@ -#import "TGModernGalleryController.h" +#import +#import #import "LegacyComponentsInternal.h" -#import "TGHacks.h" -#import "TGImageUtils.h" +#import +#import #import diff --git a/submodules/LegacyComponents/Sources/TGModernGalleryDefaultInterfaceView.m b/submodules/LegacyComponents/Sources/TGModernGalleryDefaultInterfaceView.m index a05098eb6c..fc9e1cb9ae 100644 --- a/submodules/LegacyComponents/Sources/TGModernGalleryDefaultInterfaceView.m +++ b/submodules/LegacyComponents/Sources/TGModernGalleryDefaultInterfaceView.m @@ -1,14 +1,14 @@ -#import "TGModernGalleryDefaultInterfaceView.h" +#import #import "LegacyComponentsInternal.h" -#import "LegacyComponentsGlobals.h" -#import "TGImageUtils.h" -#import "TGViewController.h" +#import +#import +#import -#import "TGModernGalleryItemView.h" -#import "TGModernGalleryDefaultFooterView.h" +#import +#import -#import "TGModernBackToolbarButton.h" +#import #import @@ -50,7 +50,7 @@ { if (iosMajorVersion() >= 7 && [TGViewController isWidescreen] && [CMMotionActivityManager isActivityAvailable]) { - UIActivityIndicatorView *activityIndicator = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray]; + UIActivityIndicatorView *activityIndicator = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleMedium]; activityIndicator.alpha = 0.02f; [self addSubview:activityIndicator]; [activityIndicator startAnimating]; diff --git a/submodules/LegacyComponents/Sources/TGModernGalleryImageItem.m b/submodules/LegacyComponents/Sources/TGModernGalleryImageItem.m index 90c0c9191b..99a7da9b1f 100644 --- a/submodules/LegacyComponents/Sources/TGModernGalleryImageItem.m +++ b/submodules/LegacyComponents/Sources/TGModernGalleryImageItem.m @@ -1,8 +1,8 @@ -#import "TGModernGalleryImageItem.h" +#import #import "LegacyComponentsInternal.h" -#import "TGModernGalleryImageItemView.h" +#import #import diff --git a/submodules/LegacyComponents/Sources/TGModernGalleryImageItemContainerView.m b/submodules/LegacyComponents/Sources/TGModernGalleryImageItemContainerView.m index cd00c10391..6d05182bfc 100644 --- a/submodules/LegacyComponents/Sources/TGModernGalleryImageItemContainerView.m +++ b/submodules/LegacyComponents/Sources/TGModernGalleryImageItemContainerView.m @@ -1,4 +1,4 @@ -#import "TGModernGalleryImageItemContainerView.h" +#import @interface TGModernGalleryImageItemContainerLayer : CALayer diff --git a/submodules/LegacyComponents/Sources/TGModernGalleryImageItemImageView.m b/submodules/LegacyComponents/Sources/TGModernGalleryImageItemImageView.m index 988b754c97..68eeb52439 100644 --- a/submodules/LegacyComponents/Sources/TGModernGalleryImageItemImageView.m +++ b/submodules/LegacyComponents/Sources/TGModernGalleryImageItemImageView.m @@ -1,4 +1,4 @@ -#import "TGModernGalleryImageItemImageView.h" +#import @interface TGModernGalleryImageItemImageView () diff --git a/submodules/LegacyComponents/Sources/TGModernGalleryImageItemView.m b/submodules/LegacyComponents/Sources/TGModernGalleryImageItemView.m index ef0308ca7d..0e8e419b6d 100644 --- a/submodules/LegacyComponents/Sources/TGModernGalleryImageItemView.m +++ b/submodules/LegacyComponents/Sources/TGModernGalleryImageItemView.m @@ -1,12 +1,12 @@ -#import "TGModernGalleryImageItemView.h" +#import #import "LegacyComponentsInternal.h" -#import "TGModernGalleryImageItem.h" +#import #import -#import "TGModernGalleryImageItemImageView.h" +#import #import #import diff --git a/submodules/LegacyComponents/Sources/TGModernGalleryItemView.m b/submodules/LegacyComponents/Sources/TGModernGalleryItemView.m index 3deaa9c175..f5e2b6251c 100644 --- a/submodules/LegacyComponents/Sources/TGModernGalleryItemView.m +++ b/submodules/LegacyComponents/Sources/TGModernGalleryItemView.m @@ -1,9 +1,9 @@ -#import "TGModernGalleryItemView.h" +#import #import "LegacyComponentsInternal.h" -#import "TGModernGalleryDefaultFooterView.h" -#import "TGModernGalleryDefaultFooterAccessoryView.h" +#import +#import @implementation TGModernGalleryItemView @@ -104,4 +104,8 @@ return nil; } +- (UIView *)transitionContentView { + return nil; +} + @end diff --git a/submodules/LegacyComponents/Sources/TGModernGalleryModel.m b/submodules/LegacyComponents/Sources/TGModernGalleryModel.m index 30ddd274c6..d28b3b38c9 100644 --- a/submodules/LegacyComponents/Sources/TGModernGalleryModel.m +++ b/submodules/LegacyComponents/Sources/TGModernGalleryModel.m @@ -1,4 +1,4 @@ -#import "TGModernGalleryModel.h" +#import #import "LegacyComponentsInternal.h" diff --git a/submodules/LegacyComponents/Sources/TGModernGalleryScrollView.m b/submodules/LegacyComponents/Sources/TGModernGalleryScrollView.m index 29c259c7b9..9cc70b5d37 100644 --- a/submodules/LegacyComponents/Sources/TGModernGalleryScrollView.m +++ b/submodules/LegacyComponents/Sources/TGModernGalleryScrollView.m @@ -1,4 +1,4 @@ -#import "TGModernGalleryScrollView.h" +#import @interface TGModernGalleryScrollView () { diff --git a/submodules/LegacyComponents/Sources/TGModernGalleryTransitionView.m b/submodules/LegacyComponents/Sources/TGModernGalleryTransitionView.m index b0697af46a..9159abcfbb 100644 --- a/submodules/LegacyComponents/Sources/TGModernGalleryTransitionView.m +++ b/submodules/LegacyComponents/Sources/TGModernGalleryTransitionView.m @@ -1,4 +1,4 @@ -#import "TGModernGalleryTransitionView.h" +#import @implementation TGModernGalleryComplexTransitionDescription diff --git a/submodules/LegacyComponents/Sources/TGModernGalleryVideoView.m b/submodules/LegacyComponents/Sources/TGModernGalleryVideoView.m index 8915c81ec1..2437ba1d45 100644 --- a/submodules/LegacyComponents/Sources/TGModernGalleryVideoView.m +++ b/submodules/LegacyComponents/Sources/TGModernGalleryVideoView.m @@ -1,4 +1,4 @@ -#import "TGModernGalleryVideoView.h" +#import #import #import "LegacyComponentsInternal.h" diff --git a/submodules/LegacyComponents/Sources/TGModernGalleryView.m b/submodules/LegacyComponents/Sources/TGModernGalleryView.m index a86e027c2a..2aad039c0f 100644 --- a/submodules/LegacyComponents/Sources/TGModernGalleryView.m +++ b/submodules/LegacyComponents/Sources/TGModernGalleryView.m @@ -1,9 +1,9 @@ -#import "TGModernGalleryView.h" +#import #import "LegacyComponentsInternal.h" #import "TGColor.h" -#import "TGImageUtils.h" -#import "TGHacks.h" +#import +#import #import #import diff --git a/submodules/LegacyComponents/Sources/TGModernGalleryZoomableItemView.m b/submodules/LegacyComponents/Sources/TGModernGalleryZoomableItemView.m index 41c86a393f..53cc10a3ae 100644 --- a/submodules/LegacyComponents/Sources/TGModernGalleryZoomableItemView.m +++ b/submodules/LegacyComponents/Sources/TGModernGalleryZoomableItemView.m @@ -1,9 +1,9 @@ -#import "TGModernGalleryZoomableItemView.h" +#import #import #import -#import "TGModernGalleryImageItemContainerView.h" +#import @interface TGModernGalleryZoomableItemView () diff --git a/submodules/LegacyComponents/Sources/TGModernGalleryZoomableScrollView.m b/submodules/LegacyComponents/Sources/TGModernGalleryZoomableScrollView.m index 2eb54f6508..81fa285ff0 100644 --- a/submodules/LegacyComponents/Sources/TGModernGalleryZoomableScrollView.m +++ b/submodules/LegacyComponents/Sources/TGModernGalleryZoomableScrollView.m @@ -1,6 +1,6 @@ -#import "TGModernGalleryZoomableScrollView.h" +#import -#import "TGDoubleTapGestureRecognizer.h" +#import @interface TGModernGalleryZoomableScrollView () { diff --git a/submodules/LegacyComponents/Sources/TGModernGalleryZoomableScrollViewSwipeGestureRecognizer.m b/submodules/LegacyComponents/Sources/TGModernGalleryZoomableScrollViewSwipeGestureRecognizer.m index 18853ecc81..2ffbbe5567 100644 --- a/submodules/LegacyComponents/Sources/TGModernGalleryZoomableScrollViewSwipeGestureRecognizer.m +++ b/submodules/LegacyComponents/Sources/TGModernGalleryZoomableScrollViewSwipeGestureRecognizer.m @@ -1,4 +1,4 @@ -#import "TGModernGalleryZoomableScrollViewSwipeGestureRecognizer.h" +#import #import diff --git a/submodules/LegacyComponents/Sources/TGModernToolbarButton.m b/submodules/LegacyComponents/Sources/TGModernToolbarButton.m index 4b1c1b0a98..e82e6a9e68 100644 --- a/submodules/LegacyComponents/Sources/TGModernToolbarButton.m +++ b/submodules/LegacyComponents/Sources/TGModernToolbarButton.m @@ -1,4 +1,4 @@ -#import "TGModernToolbarButton.h" +#import #import diff --git a/submodules/LegacyComponents/Sources/TGNavigationBar.m b/submodules/LegacyComponents/Sources/TGNavigationBar.m index 7f765de697..cc44398876 100644 --- a/submodules/LegacyComponents/Sources/TGNavigationBar.m +++ b/submodules/LegacyComponents/Sources/TGNavigationBar.m @@ -1,14 +1,14 @@ -#import "TGNavigationBar.h" +#import #import #import "LegacyComponentsInternal.h" #import "TGColor.h" -#import "TGViewController.h" -#import "TGNavigationController.h" +#import +#import -#import "TGHacks.h" +#import #import #import @@ -106,7 +106,10 @@ static id _musicPlayerProvider; self = [super initWithFrame:frame]; if (self) { +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" [self commonInit:[self isKindOfClass:[TGBlackNavigationBar class]] ? UIBarStyleBlackTranslucent : UIBarStyleDefault]; +#pragma clang diagnostic pop } return self; } @@ -148,7 +151,7 @@ static id _musicPlayerProvider; if (iosMajorVersion() >= 7 && iosMajorVersion() < 10 && [TGViewController isWidescreen] && [CMMotionActivityManager isActivityAvailable]) { - TGFixView *activityIndicator = [[TGFixView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray]; + TGFixView *activityIndicator = [[TGFixView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleMedium]; activityIndicator.alpha = 0.02f; [self addSubview:activityIndicator]; [activityIndicator startAnimating]; @@ -260,12 +263,6 @@ static id _musicPlayerProvider; - (void)setBarStyle:(UIBarStyle)__unused barStyle animated:(bool)__unused animated { - if (iosMajorVersion() < 7) - { - if (self.barStyle != UIBarStyleBlackTranslucent || barStyle != UIBarStyleBlackTranslucent) - barStyle = UIBarStyleBlackTranslucent; - } - [super setBarStyle:barStyle]; } diff --git a/submodules/LegacyComponents/Sources/TGNavigationController.m b/submodules/LegacyComponents/Sources/TGNavigationController.m index bbe04e310f..49f65b796f 100644 --- a/submodules/LegacyComponents/Sources/TGNavigationController.m +++ b/submodules/LegacyComponents/Sources/TGNavigationController.m @@ -1,16 +1,16 @@ -#import "TGNavigationController.h" +#import #import #import "LegacyComponentsInternal.h" -#import "TGImageUtils.h" -#import "TGStringUtils.h" -#import "Freedom.h" +#import +#import +#import -#import "TGNavigationBar.h" -#import "TGViewController.h" +#import +#import -#import "TGHacks.h" +#import #import #import @@ -491,7 +491,7 @@ - (void)setupNavigationBarForController:(UIViewController *)viewController animated:(bool)animated { - UIBarStyle barStyle = UIBarStyleDefault; + bool navigationBarShouldBeHidden = false; UIStatusBarStyle statusBarStyle = UIStatusBarStyleLightContent; bool statusBarShouldBeHidden = false; @@ -500,7 +500,6 @@ { id appearance = (id)viewController; - barStyle = [appearance requiredNavigationBarStyle]; navigationBarShouldBeHidden = [appearance navigationBarShouldBeHidden]; if ([appearance respondsToSelector:@selector(preferredStatusBarStyle)]) statusBarStyle = [appearance preferredStatusBarStyle]; diff --git a/submodules/LegacyComponents/Sources/TGObserverProxy.m b/submodules/LegacyComponents/Sources/TGObserverProxy.m index 407c78cf18..2984e06d68 100644 --- a/submodules/LegacyComponents/Sources/TGObserverProxy.m +++ b/submodules/LegacyComponents/Sources/TGObserverProxy.m @@ -1,4 +1,4 @@ -#import "TGObserverProxy.h" +#import @interface TGObserverProxyScheduledNotification : NSObject diff --git a/submodules/LegacyComponents/Sources/TGOverlayController.m b/submodules/LegacyComponents/Sources/TGOverlayController.m index fc7cdfb7ab..5d8cef19cc 100644 --- a/submodules/LegacyComponents/Sources/TGOverlayController.m +++ b/submodules/LegacyComponents/Sources/TGOverlayController.m @@ -1,6 +1,6 @@ -#import "TGOverlayController.h" +#import -#import "TGOverlayControllerWindow.h" +#import @interface TGOverlayController () diff --git a/submodules/LegacyComponents/Sources/TGOverlayControllerWindow.m b/submodules/LegacyComponents/Sources/TGOverlayControllerWindow.m index 1d7d18f920..ecd24a680e 100644 --- a/submodules/LegacyComponents/Sources/TGOverlayControllerWindow.m +++ b/submodules/LegacyComponents/Sources/TGOverlayControllerWindow.m @@ -1,10 +1,10 @@ -#import "TGOverlayControllerWindow.h" +#import #import "LegacyComponentsInternal.h" -#import "TGHacks.h" +#import -#import "TGViewController.h" -#import "TGOverlayController.h" +#import +#import @implementation TGOverlayWindowViewController diff --git a/submodules/LegacyComponents/Sources/TGOverlayFormsheetWindow.m b/submodules/LegacyComponents/Sources/TGOverlayFormsheetWindow.m index 7650714b0c..a72bb8f5c9 100644 --- a/submodules/LegacyComponents/Sources/TGOverlayFormsheetWindow.m +++ b/submodules/LegacyComponents/Sources/TGOverlayFormsheetWindow.m @@ -1,7 +1,7 @@ #import "TGOverlayFormsheetWindow.h" #import "LegacyComponentsInternal.h" -#import "TGViewController.h" +#import #import "TGOverlayFormsheetController.h" diff --git a/submodules/LegacyComponents/Sources/TGPaintFaceDetector.m b/submodules/LegacyComponents/Sources/TGPaintFaceDetector.m index 67833111d2..60b1ac0a7d 100644 --- a/submodules/LegacyComponents/Sources/TGPaintFaceDetector.m +++ b/submodules/LegacyComponents/Sources/TGPaintFaceDetector.m @@ -3,8 +3,8 @@ #import #import -#import "TGMediaEditingContext.h" -#import "UIImage+TG.h" +#import +#import @interface TGPaintFace () diff --git a/submodules/LegacyComponents/Sources/TGPaintShader.m b/submodules/LegacyComponents/Sources/TGPaintShader.m index 99fa31d7e5..edfc7d8c05 100644 --- a/submodules/LegacyComponents/Sources/TGPaintShader.m +++ b/submodules/LegacyComponents/Sources/TGPaintShader.m @@ -1,4 +1,4 @@ -#import "TGPaintShader.h" +#import #import "LegacyComponentsInternal.h" @@ -6,6 +6,9 @@ #import +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" + @implementation TGPaintShader - (instancetype)initWithVertexShader:(NSString *)vertexShader fragmentShader:(NSString *)fragmentShader attributes:(NSArray *)attributes uniforms:(NSArray *)uniforms @@ -158,3 +161,5 @@ } @end + +#pragma clang diagnostic pop diff --git a/submodules/LegacyComponents/Sources/TGPaintUtils.m b/submodules/LegacyComponents/Sources/TGPaintUtils.m index d8c3fabf31..4d37c06e66 100644 --- a/submodules/LegacyComponents/Sources/TGPaintUtils.m +++ b/submodules/LegacyComponents/Sources/TGPaintUtils.m @@ -1,5 +1,5 @@ -#import "TGPaintUtils.h" -#import "TGPhotoEditorUtils.h" +#import +#import #import "LegacyComponentsInternal.h" @@ -62,7 +62,10 @@ void TGSetupColorUniform(GLint location, UIColor *color) red = green = blue = components[0]; } +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" glUniform4f(location, (GLfloat)red, (GLfloat)green, (GLfloat)blue, (GLfloat)alpha); +#pragma clang diagnostic pop } UIImage *TGPaintCombineImages(UIImage *background, UIImage *foreground, bool opaque) diff --git a/submodules/LegacyComponents/Sources/TGPaintingData.m b/submodules/LegacyComponents/Sources/TGPaintingData.m index 59a89746c5..99ec166695 100644 --- a/submodules/LegacyComponents/Sources/TGPaintingData.m +++ b/submodules/LegacyComponents/Sources/TGPaintingData.m @@ -1,11 +1,11 @@ -#import "TGPaintingData.h" +#import #import -#import "TGPaintUtils.h" -#import "TGPhotoPaintStickerEntity.h" +#import +#import -#import "TGMediaEditingContext.h" +#import @interface TGPaintingData () { diff --git a/submodules/LegacyComponents/Sources/TGPassportAttachMenu.m b/submodules/LegacyComponents/Sources/TGPassportAttachMenu.m index ee938b1c84..bc2a436872 100644 --- a/submodules/LegacyComponents/Sources/TGPassportAttachMenu.m +++ b/submodules/LegacyComponents/Sources/TGPassportAttachMenu.m @@ -1,14 +1,15 @@ -#import "TGPassportAttachMenu.h" +#import +#import #import "LegacyComponentsInternal.h" -#import "TGImageUtils.h" +#import #import #import #import "TGOverlayFormsheetWindow.h" #import -#import "TGAttachmentCameraView.h" +#import #import @@ -154,7 +155,7 @@ return; __weak TGViewController *weakParentController = parentController; - void (^presentBlock)(TGMediaAssetsController *) = nil; + __unused void (^presentBlock)(TGMediaAssetsController *) = nil; if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) { @@ -312,7 +313,7 @@ else controllerWindow.frame = [context fullscreenBounds]; - bool standalone = true; + __unused bool standalone = true; CGRect startFrame = CGRectMake(0, screenSize.height, screenSize.width, screenSize.height); if (cameraView != nil) { diff --git a/submodules/LegacyComponents/Sources/TGPassportICloud.m b/submodules/LegacyComponents/Sources/TGPassportICloud.m index cb46ac0813..0d71093ef7 100644 --- a/submodules/LegacyComponents/Sources/TGPassportICloud.m +++ b/submodules/LegacyComponents/Sources/TGPassportICloud.m @@ -1,4 +1,4 @@ -#import "TGPassportICloud.h" +#import #import #import diff --git a/submodules/LegacyComponents/Sources/TGPassportMRZ.m b/submodules/LegacyComponents/Sources/TGPassportMRZ.m index f20b60e992..09b15042c8 100644 --- a/submodules/LegacyComponents/Sources/TGPassportMRZ.m +++ b/submodules/LegacyComponents/Sources/TGPassportMRZ.m @@ -1,4 +1,4 @@ -#import "TGPassportMRZ.h" +#import const NSUInteger TGPassportTD1Length = 30; const NSUInteger TGPassportTD23Length = 44; diff --git a/submodules/LegacyComponents/Sources/TGPassportOCR.mm b/submodules/LegacyComponents/Sources/TGPassportOCR.mm index 37d3b733fa..7b7da63957 100644 --- a/submodules/LegacyComponents/Sources/TGPassportOCR.mm +++ b/submodules/LegacyComponents/Sources/TGPassportOCR.mm @@ -1,9 +1,9 @@ -#import "TGPassportOCR.h" +#import #import "LegacyComponentsInternal.h" #import -#import "TGPassportMRZ.h" +#import #import "ocr.h" @implementation TGPassportOCR diff --git a/submodules/LegacyComponents/Sources/TGPassportScanController.m b/submodules/LegacyComponents/Sources/TGPassportScanController.m index 6bf289d7da..eac69da14f 100644 --- a/submodules/LegacyComponents/Sources/TGPassportScanController.m +++ b/submodules/LegacyComponents/Sources/TGPassportScanController.m @@ -1,4 +1,5 @@ -#import "TGPassportScanController.h" +#import +#import #import "TGPassportScanView.h" #import "LegacyComponentsInternal.h" diff --git a/submodules/LegacyComponents/Sources/TGPassportScanView.m b/submodules/LegacyComponents/Sources/TGPassportScanView.m index 5ad5bbe3b4..5e45beff48 100644 --- a/submodules/LegacyComponents/Sources/TGPassportScanView.m +++ b/submodules/LegacyComponents/Sources/TGPassportScanView.m @@ -1,12 +1,12 @@ #import "TGPassportScanView.h" -#import "PGCamera.h" -#import "TGCameraPreviewView.h" +#import +#import -#import "TGPassportOCR.h" +#import #import "LegacyComponentsInternal.h" -#import "TGTimerTarget.h" +#import @interface TGPassportScanView () { diff --git a/submodules/LegacyComponents/Sources/TGPhoneUtils.m b/submodules/LegacyComponents/Sources/TGPhoneUtils.m index a82c71f000..ad18e04de1 100644 --- a/submodules/LegacyComponents/Sources/TGPhoneUtils.m +++ b/submodules/LegacyComponents/Sources/TGPhoneUtils.m @@ -1,6 +1,6 @@ -#import "TGPhoneUtils.h" +#import -#import "RMPhoneFormat.h" +#import @implementation TGPhoneUtils diff --git a/submodules/LegacyComponents/Sources/TGPhotoAvatarCropView.m b/submodules/LegacyComponents/Sources/TGPhotoAvatarCropView.m index 6dc6c052ad..4ba5a8c9a3 100644 --- a/submodules/LegacyComponents/Sources/TGPhotoAvatarCropView.m +++ b/submodules/LegacyComponents/Sources/TGPhotoAvatarCropView.m @@ -1,4 +1,4 @@ -#import "TGPhotoAvatarCropView.h" +#import #import #import @@ -6,7 +6,7 @@ #import #import -#import "TGPhotoEditorInterfaceAssets.h" +#import #import "PGPhotoEditorView.h" diff --git a/submodules/LegacyComponents/Sources/TGPhotoAvatarPreviewController.m b/submodules/LegacyComponents/Sources/TGPhotoAvatarPreviewController.m index ed101da016..4a3720cf99 100644 --- a/submodules/LegacyComponents/Sources/TGPhotoAvatarPreviewController.m +++ b/submodules/LegacyComponents/Sources/TGPhotoAvatarPreviewController.m @@ -1,24 +1,25 @@ +#import #import "TGPhotoAvatarPreviewController.h" #import "LegacyComponentsInternal.h" #import -#import "TGPhotoEditorInterfaceAssets.h" +#import #import "PGPhotoEditor.h" #import "PGPhotoEditorView.h" #import #import -#import "TGPhotoEditorController.h" +#import #import "TGPhotoEditorPreviewView.h" -#import "TGPhotoAvatarCropView.h" +#import #import "TGMediaPickerGalleryVideoScrubber.h" -#import "TGModernGalleryVideoView.h" +#import -#import "TGPhotoPaintStickersContext.h" +#import #import "TGPhotoDrawingController.h" diff --git a/submodules/LegacyComponents/Sources/TGPhotoCaptionInputMixin.m b/submodules/LegacyComponents/Sources/TGPhotoCaptionInputMixin.m index dbd7816265..e7db8f034c 100644 --- a/submodules/LegacyComponents/Sources/TGPhotoCaptionInputMixin.m +++ b/submodules/LegacyComponents/Sources/TGPhotoCaptionInputMixin.m @@ -1,10 +1,10 @@ -#import "TGPhotoCaptionInputMixin.h" +#import #import #import -#import "TGPhotoPaintStickersContext.h" +#import @interface TGPhotoCaptionInputMixin () { diff --git a/submodules/LegacyComponents/Sources/TGPhotoCropController.h b/submodules/LegacyComponents/Sources/TGPhotoCropController.h index e57c46f976..1a32504b05 100644 --- a/submodules/LegacyComponents/Sources/TGPhotoCropController.h +++ b/submodules/LegacyComponents/Sources/TGPhotoCropController.h @@ -1,4 +1,4 @@ -#import "TGPhotoEditorTabController.h" +#import #import diff --git a/submodules/LegacyComponents/Sources/TGPhotoCropController.m b/submodules/LegacyComponents/Sources/TGPhotoCropController.m index 59c5fb5d8e..f197b0418f 100644 --- a/submodules/LegacyComponents/Sources/TGPhotoCropController.m +++ b/submodules/LegacyComponents/Sources/TGPhotoCropController.m @@ -1,3 +1,4 @@ +#import #import "TGPhotoCropController.h" #import "LegacyComponentsInternal.h" @@ -9,7 +10,7 @@ #import #import -#import "TGPhotoEditorInterfaceAssets.h" +#import #import "PGPhotoEditor.h" @@ -19,9 +20,9 @@ #import "TGPhotoEditorPreviewView.h" #import "TGPhotoCropView.h" -#import "TGModernButton.h" +#import -#import "TGMenuSheetController.h" +#import const CGFloat TGPhotoCropButtonsWrapperSize = 61.0f; const CGSize TGPhotoCropAreaInsetSize = { 9, 9 }; @@ -580,10 +581,13 @@ NSString * const TGPhotoCropOriginalAspectRatio = @"original"; [strongSelf _updateTabs]; }; +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) setAspectRatioBlock(); else TGDispatchAfter(0.1f, dispatch_get_main_queue(), setAspectRatioBlock); +#pragma clang diagnostic pop [strongController dismissAnimated:true]; }; diff --git a/submodules/LegacyComponents/Sources/TGPhotoCropGridView.m b/submodules/LegacyComponents/Sources/TGPhotoCropGridView.m index a1a96c7821..5a93fe4d9f 100644 --- a/submodules/LegacyComponents/Sources/TGPhotoCropGridView.m +++ b/submodules/LegacyComponents/Sources/TGPhotoCropGridView.m @@ -1,7 +1,7 @@ #import "TGPhotoCropGridView.h" #import "LegacyComponentsInternal.h" -#import "TGImageUtils.h" +#import const NSInteger TGPhotoCropMajorGridViewLinesCount = 2; const NSInteger TGPhotoCropMinorGridViewLinesCount = 8; diff --git a/submodules/LegacyComponents/Sources/TGPhotoCropRotationView.m b/submodules/LegacyComponents/Sources/TGPhotoCropRotationView.m index 481be6d11d..2e810d5d56 100644 --- a/submodules/LegacyComponents/Sources/TGPhotoCropRotationView.m +++ b/submodules/LegacyComponents/Sources/TGPhotoCropRotationView.m @@ -1,7 +1,7 @@ #import "TGPhotoCropRotationView.h" #import "LegacyComponentsInternal.h" -#import "POPSpringAnimation.h" +#import #import diff --git a/submodules/LegacyComponents/Sources/TGPhotoCropView.m b/submodules/LegacyComponents/Sources/TGPhotoCropView.m index 7d7e9daca4..bea1233ee8 100644 --- a/submodules/LegacyComponents/Sources/TGPhotoCropView.m +++ b/submodules/LegacyComponents/Sources/TGPhotoCropView.m @@ -5,7 +5,7 @@ #import #import -#import "TGPhotoEditorInterfaceAssets.h" +#import #import #import diff --git a/submodules/LegacyComponents/Sources/TGPhotoDrawingController.h b/submodules/LegacyComponents/Sources/TGPhotoDrawingController.h index 47b1695364..3597b8661c 100644 --- a/submodules/LegacyComponents/Sources/TGPhotoDrawingController.h +++ b/submodules/LegacyComponents/Sources/TGPhotoDrawingController.h @@ -1,4 +1,4 @@ -#import "TGPhotoEditorTabController.h" +#import #import diff --git a/submodules/LegacyComponents/Sources/TGPhotoDrawingController.m b/submodules/LegacyComponents/Sources/TGPhotoDrawingController.m index fe26e7f2b1..908cf60861 100644 --- a/submodules/LegacyComponents/Sources/TGPhotoDrawingController.m +++ b/submodules/LegacyComponents/Sources/TGPhotoDrawingController.m @@ -1,3 +1,4 @@ +#import #import "TGPhotoDrawingController.h" #import "LegacyComponentsInternal.h" @@ -7,7 +8,7 @@ #import #import #import -#import "TGPhotoEditorInterfaceAssets.h" +#import #import #import @@ -19,7 +20,7 @@ #import #import "TGPaintingWrapperView.h" -#import "TGPhotoEditorSparseView.h" +#import #import "PGPhotoEditor.h" #import "TGPhotoEditorPreviewView.h" diff --git a/submodules/LegacyComponents/Sources/TGPhotoEditorBlurAreaView.h b/submodules/LegacyComponents/Sources/TGPhotoEditorBlurAreaView.h index caebc2a3c4..62aee656db 100644 --- a/submodules/LegacyComponents/Sources/TGPhotoEditorBlurAreaView.h +++ b/submodules/LegacyComponents/Sources/TGPhotoEditorBlurAreaView.h @@ -1,6 +1,6 @@ #import #import "PGPhotoEditorItem.h" -#import "TGPhotoEditorToolView.h" +#import @interface TGPhotoEditorBlurAreaView : UIView diff --git a/submodules/LegacyComponents/Sources/TGPhotoEditorBlurToolView.h b/submodules/LegacyComponents/Sources/TGPhotoEditorBlurToolView.h index 09be2808c9..6eb5e9dd3d 100644 --- a/submodules/LegacyComponents/Sources/TGPhotoEditorBlurToolView.h +++ b/submodules/LegacyComponents/Sources/TGPhotoEditorBlurToolView.h @@ -1,4 +1,4 @@ -#import "TGPhotoEditorToolView.h" +#import #import "PGPhotoEditorItem.h" @interface TGPhotoEditorBlurToolView : UIView diff --git a/submodules/LegacyComponents/Sources/TGPhotoEditorBlurToolView.m b/submodules/LegacyComponents/Sources/TGPhotoEditorBlurToolView.m index 331e050725..c85605aee8 100644 --- a/submodules/LegacyComponents/Sources/TGPhotoEditorBlurToolView.m +++ b/submodules/LegacyComponents/Sources/TGPhotoEditorBlurToolView.m @@ -1,13 +1,13 @@ #import "TGPhotoEditorBlurToolView.h" #import "LegacyComponentsInternal.h" -#import "TGImageUtils.h" -#import "TGFont.h" +#import +#import #import "TGPhotoEditorBlurTypeButton.h" -#import "TGPhotoEditorSliderView.h" +#import -#import "TGPhotoEditorInterfaceAssets.h" +#import #import #import "PGBlurTool.h" diff --git a/submodules/LegacyComponents/Sources/TGPhotoEditorBlurTypeButton.m b/submodules/LegacyComponents/Sources/TGPhotoEditorBlurTypeButton.m index cb74b72a2a..4dd177afc9 100644 --- a/submodules/LegacyComponents/Sources/TGPhotoEditorBlurTypeButton.m +++ b/submodules/LegacyComponents/Sources/TGPhotoEditorBlurTypeButton.m @@ -1,6 +1,6 @@ #import "TGPhotoEditorBlurTypeButton.h" -#import "TGPhotoEditorInterfaceAssets.h" +#import @interface TGPhotoEditorBlurTypeButton () { diff --git a/submodules/LegacyComponents/Sources/TGPhotoEditorButton.m b/submodules/LegacyComponents/Sources/TGPhotoEditorButton.m index f944b7efee..354dc6d520 100644 --- a/submodules/LegacyComponents/Sources/TGPhotoEditorButton.m +++ b/submodules/LegacyComponents/Sources/TGPhotoEditorButton.m @@ -1,9 +1,9 @@ -#import "TGPhotoEditorButton.h" +#import #import #import -#import "TGPhotoEditorInterfaceAssets.h" +#import @interface TGPhotoEditorButton () { diff --git a/submodules/LegacyComponents/Sources/TGPhotoEditorCollectionView.m b/submodules/LegacyComponents/Sources/TGPhotoEditorCollectionView.m index bcd4c64165..3e533fb142 100644 --- a/submodules/LegacyComponents/Sources/TGPhotoEditorCollectionView.m +++ b/submodules/LegacyComponents/Sources/TGPhotoEditorCollectionView.m @@ -4,7 +4,7 @@ #import "TGPhotoToolCell.h" -#import "TGPhotoEditorSliderView.h" +#import const CGPoint TGPhotoEditorEdgeScrollTriggerOffset = { 100, 150 }; diff --git a/submodules/LegacyComponents/Sources/TGPhotoEditorController.m b/submodules/LegacyComponents/Sources/TGPhotoEditorController.m index 72bfc3cc6d..f61c9a9f19 100644 --- a/submodules/LegacyComponents/Sources/TGPhotoEditorController.m +++ b/submodules/LegacyComponents/Sources/TGPhotoEditorController.m @@ -1,4 +1,5 @@ -#import "TGPhotoEditorController.h" +#import +#import #import "LegacyComponentsInternal.h" @@ -7,13 +8,13 @@ #import #import -#import "TGPhotoEditorInterfaceAssets.h" +#import #import #import #import -#import "TGProgressWindow.h" +#import #import "PGPhotoEditor.h" #import "PGPhotoEditorView.h" @@ -25,7 +26,7 @@ #import #import -#import "TGPhotoToolbarView.h" +#import #import "TGPhotoEditorPreviewView.h" #import @@ -39,16 +40,16 @@ #import "TGPhotoQualityController.h" #import "TGPhotoAvatarPreviewController.h" -#import "TGPhotoAvatarCropView.h" +#import -#import "TGMessageImageViewOverlayView.h" +#import #import "TGMediaPickerGalleryVideoScrubber.h" #import "TGMediaPickerGalleryVideoScrubberThumbnailView.h" -#import "TGMenuSheetController.h" +#import #import -#import "TGCameraCapturedVideo.h" +#import @interface TGPhotoEditorController () { diff --git a/submodules/LegacyComponents/Sources/TGPhotoEditorCurvesHistogramView.h b/submodules/LegacyComponents/Sources/TGPhotoEditorCurvesHistogramView.h index ca1676601b..5059b93d2b 100644 --- a/submodules/LegacyComponents/Sources/TGPhotoEditorCurvesHistogramView.h +++ b/submodules/LegacyComponents/Sources/TGPhotoEditorCurvesHistogramView.h @@ -1,4 +1,4 @@ -#import "TGPhotoEditorToolView.h" +#import #import "PGPhotoEditorItem.h" @interface TGPhotoEditorCurvesHistogramView : UIView diff --git a/submodules/LegacyComponents/Sources/TGPhotoEditorCurvesHistogramView.m b/submodules/LegacyComponents/Sources/TGPhotoEditorCurvesHistogramView.m index 230279e363..48aba4848b 100644 --- a/submodules/LegacyComponents/Sources/TGPhotoEditorCurvesHistogramView.m +++ b/submodules/LegacyComponents/Sources/TGPhotoEditorCurvesHistogramView.m @@ -1,3 +1,4 @@ +#import #import "TGPhotoEditorCurvesHistogramView.h" #import "LegacyComponentsInternal.h" @@ -9,10 +10,10 @@ #import "PGPhotoHistogram.h" #import -#import "TGPhotoEditorInterfaceAssets.h" +#import #import "TGHistogramView.h" -#import "TGPhotoEditorTabController.h" +#import #import "TGPhotoEditorToolButtonsView.h" @interface TGPhotoEditorCurvesHistogramView () diff --git a/submodules/LegacyComponents/Sources/TGPhotoEditorCurvesToolView.h b/submodules/LegacyComponents/Sources/TGPhotoEditorCurvesToolView.h index 2bbadedf42..ae661067c4 100644 --- a/submodules/LegacyComponents/Sources/TGPhotoEditorCurvesToolView.h +++ b/submodules/LegacyComponents/Sources/TGPhotoEditorCurvesToolView.h @@ -1,4 +1,4 @@ -#import "TGPhotoEditorToolView.h" +#import #import "PGPhotoEditorItem.h" #import "PGCurvesTool.h" diff --git a/submodules/LegacyComponents/Sources/TGPhotoEditorCurvesToolView.m b/submodules/LegacyComponents/Sources/TGPhotoEditorCurvesToolView.m index 6da9a4b081..d38e42b6dc 100644 --- a/submodules/LegacyComponents/Sources/TGPhotoEditorCurvesToolView.m +++ b/submodules/LegacyComponents/Sources/TGPhotoEditorCurvesToolView.m @@ -1,8 +1,8 @@ #import "TGPhotoEditorCurvesToolView.h" #import "LegacyComponentsInternal.h" -#import "TGFont.h" -#import "TGImageUtils.h" +#import +#import typedef enum { diff --git a/submodules/LegacyComponents/Sources/TGPhotoEditorGenericToolView.h b/submodules/LegacyComponents/Sources/TGPhotoEditorGenericToolView.h index 7612ea89be..eb2db5e314 100644 --- a/submodules/LegacyComponents/Sources/TGPhotoEditorGenericToolView.h +++ b/submodules/LegacyComponents/Sources/TGPhotoEditorGenericToolView.h @@ -1,4 +1,4 @@ -#import "TGPhotoEditorToolView.h" +#import #import "PGPhotoEditorItem.h" @interface TGPhotoEditorGenericToolView : UIView diff --git a/submodules/LegacyComponents/Sources/TGPhotoEditorGenericToolView.m b/submodules/LegacyComponents/Sources/TGPhotoEditorGenericToolView.m index 4b5ad1d166..e8df9b21fb 100644 --- a/submodules/LegacyComponents/Sources/TGPhotoEditorGenericToolView.m +++ b/submodules/LegacyComponents/Sources/TGPhotoEditorGenericToolView.m @@ -3,9 +3,9 @@ #import "LegacyComponentsInternal.h" #import -#import "TGPhotoEditorInterfaceAssets.h" +#import -#import "TGPhotoEditorSliderView.h" +#import @interface TGPhotoEditorGenericToolView () { diff --git a/submodules/LegacyComponents/Sources/TGPhotoEditorHUDView.m b/submodules/LegacyComponents/Sources/TGPhotoEditorHUDView.m index f8b7f74300..968a584b8c 100644 --- a/submodules/LegacyComponents/Sources/TGPhotoEditorHUDView.m +++ b/submodules/LegacyComponents/Sources/TGPhotoEditorHUDView.m @@ -1,9 +1,9 @@ #import "TGPhotoEditorHUDView.h" #import "LegacyComponentsInternal.h" -#import "TGFont.h" +#import -#import "TGPhotoEditorInterfaceAssets.h" +#import @interface TGPhotoEditorHUDView () { diff --git a/submodules/LegacyComponents/Sources/TGPhotoEditorInterfaceAssets.m b/submodules/LegacyComponents/Sources/TGPhotoEditorInterfaceAssets.m index 0feeb77108..9ab2a97410 100644 --- a/submodules/LegacyComponents/Sources/TGPhotoEditorInterfaceAssets.m +++ b/submodules/LegacyComponents/Sources/TGPhotoEditorInterfaceAssets.m @@ -1,10 +1,10 @@ -#import "TGPhotoEditorInterfaceAssets.h" +#import #import "LegacyComponentsInternal.h" -#import "TGImageUtils.h" -#import "TGFont.h" +#import +#import -#import "TGMediaAssetsController.h" +#import @implementation TGPhotoEditorInterfaceAssets diff --git a/submodules/LegacyComponents/Sources/TGPhotoEditorSliderView.m b/submodules/LegacyComponents/Sources/TGPhotoEditorSliderView.m index 4e2e5d3131..7fbf77fdcb 100644 --- a/submodules/LegacyComponents/Sources/TGPhotoEditorSliderView.m +++ b/submodules/LegacyComponents/Sources/TGPhotoEditorSliderView.m @@ -1,8 +1,8 @@ -#import "TGPhotoEditorSliderView.h" +#import #import "LegacyComponentsInternal.h" -#import "TGPhotoEditorInterfaceAssets.h" +#import const CGFloat TGPhotoEditorSliderViewLineSize = 3.0f; const CGFloat TGPhotoEditorSliderViewMargin = 15.0f; diff --git a/submodules/LegacyComponents/Sources/TGPhotoEditorSparseView.m b/submodules/LegacyComponents/Sources/TGPhotoEditorSparseView.m index bbb58c0751..05e24df0ba 100644 --- a/submodules/LegacyComponents/Sources/TGPhotoEditorSparseView.m +++ b/submodules/LegacyComponents/Sources/TGPhotoEditorSparseView.m @@ -1,4 +1,4 @@ -#import "TGPhotoEditorSparseView.h" +#import @implementation TGPhotoEditorSparseView diff --git a/submodules/LegacyComponents/Sources/TGPhotoEditorTabController.m b/submodules/LegacyComponents/Sources/TGPhotoEditorTabController.m index a54c7c0792..fd25d31b13 100644 --- a/submodules/LegacyComponents/Sources/TGPhotoEditorTabController.m +++ b/submodules/LegacyComponents/Sources/TGPhotoEditorTabController.m @@ -1,15 +1,15 @@ -#import "TGPhotoEditorTabController.h" +#import #import "LegacyComponentsInternal.h" #import -#import "TGPhotoEditorController.h" +#import #import #import "TGPhotoEditorPreviewView.h" -#import "TGPhotoToolbarView.h" +#import #import #import diff --git a/submodules/LegacyComponents/Sources/TGPhotoEditorTintSwatchView.m b/submodules/LegacyComponents/Sources/TGPhotoEditorTintSwatchView.m index c7399997d1..85e1d20f60 100644 --- a/submodules/LegacyComponents/Sources/TGPhotoEditorTintSwatchView.m +++ b/submodules/LegacyComponents/Sources/TGPhotoEditorTintSwatchView.m @@ -1,5 +1,5 @@ #import "TGPhotoEditorTintSwatchView.h" -#import "TGPhotoEditorInterfaceAssets.h" +#import const CGFloat TGPhotoEditorTintSwatchRadius = 9.0f; const CGFloat TGPhotoEditorTintSwatchSelectedRadius = 9.0f; diff --git a/submodules/LegacyComponents/Sources/TGPhotoEditorTintToolView.h b/submodules/LegacyComponents/Sources/TGPhotoEditorTintToolView.h index 871f64ccc4..50c6f321a6 100644 --- a/submodules/LegacyComponents/Sources/TGPhotoEditorTintToolView.h +++ b/submodules/LegacyComponents/Sources/TGPhotoEditorTintToolView.h @@ -1,4 +1,4 @@ -#import "TGPhotoEditorToolView.h" +#import #import "PGPhotoEditorItem.h" @interface TGPhotoEditorTintToolView : UIView diff --git a/submodules/LegacyComponents/Sources/TGPhotoEditorTintToolView.m b/submodules/LegacyComponents/Sources/TGPhotoEditorTintToolView.m index 10267b8c5f..0c9d301139 100644 --- a/submodules/LegacyComponents/Sources/TGPhotoEditorTintToolView.m +++ b/submodules/LegacyComponents/Sources/TGPhotoEditorTintToolView.m @@ -1,14 +1,14 @@ #import "TGPhotoEditorTintToolView.h" #import "LegacyComponentsInternal.h" -#import "TGImageUtils.h" +#import #import #import "TGPhotoEditorTintSwatchView.h" -#import "TGPhotoEditorSliderView.h" +#import -#import "TGPhotoEditorInterfaceAssets.h" +#import #import #import "PGTintTool.h" diff --git a/submodules/LegacyComponents/Sources/TGPhotoEditorToolButtonsView.m b/submodules/LegacyComponents/Sources/TGPhotoEditorToolButtonsView.m index 6fa8aaf7c2..ec10163fc8 100644 --- a/submodules/LegacyComponents/Sources/TGPhotoEditorToolButtonsView.m +++ b/submodules/LegacyComponents/Sources/TGPhotoEditorToolButtonsView.m @@ -1,12 +1,12 @@ #import "TGPhotoEditorToolButtonsView.h" #import "LegacyComponentsInternal.h" -#import "TGFont.h" -#import "TGImageUtils.h" +#import +#import -#import "TGPhotoEditorInterfaceAssets.h" +#import -#import "TGModernButton.h" +#import const CGFloat TGPhotoEditorToolButtonsViewSize = 53; diff --git a/submodules/LegacyComponents/Sources/TGPhotoEditorUtils.m b/submodules/LegacyComponents/Sources/TGPhotoEditorUtils.m index c1d40d2075..70d4200b90 100644 --- a/submodules/LegacyComponents/Sources/TGPhotoEditorUtils.m +++ b/submodules/LegacyComponents/Sources/TGPhotoEditorUtils.m @@ -1,7 +1,7 @@ -#import "TGPhotoEditorUtils.h" +#import #import "LegacyComponentsInternal.h" -#import "TGImageUtils.h" +#import #import #import diff --git a/submodules/LegacyComponents/Sources/TGPhotoMaskPosition.m b/submodules/LegacyComponents/Sources/TGPhotoMaskPosition.m index 805ad9fcfe..e510723979 100644 --- a/submodules/LegacyComponents/Sources/TGPhotoMaskPosition.m +++ b/submodules/LegacyComponents/Sources/TGPhotoMaskPosition.m @@ -1,7 +1,7 @@ -#import "TGPhotoMaskPosition.h" +#import #import "LegacyComponentsInternal.h" -#import "TGDocumentAttributeSticker.h" +#import @implementation TGPhotoMaskPosition diff --git a/submodules/LegacyComponents/Sources/TGPhotoQualityController.h b/submodules/LegacyComponents/Sources/TGPhotoQualityController.h index 0a33e72154..d201be5331 100644 --- a/submodules/LegacyComponents/Sources/TGPhotoQualityController.h +++ b/submodules/LegacyComponents/Sources/TGPhotoQualityController.h @@ -1,4 +1,4 @@ -#import "TGPhotoEditorTabController.h" +#import #import diff --git a/submodules/LegacyComponents/Sources/TGPhotoQualityController.m b/submodules/LegacyComponents/Sources/TGPhotoQualityController.m index f997ba0a1f..1bb66dbaf1 100644 --- a/submodules/LegacyComponents/Sources/TGPhotoQualityController.m +++ b/submodules/LegacyComponents/Sources/TGPhotoQualityController.m @@ -1,10 +1,11 @@ +#import #import "TGPhotoQualityController.h" #import "LegacyComponentsInternal.h" #import -#import "TGPhotoEditorInterfaceAssets.h" +#import #import #import @@ -14,10 +15,10 @@ #import #import #import -#import "TGCameraCapturedVideo.h" +#import #import "TGPaintingWrapperView.h" -#import "TGMessageImageViewOverlayView.h" +#import #import "PGPhotoEditor.h" diff --git a/submodules/LegacyComponents/Sources/TGPhotoRectangleCropController.h b/submodules/LegacyComponents/Sources/TGPhotoRectangleCropController.h index 3df2af9dd5..e92c487157 100644 --- a/submodules/LegacyComponents/Sources/TGPhotoRectangleCropController.h +++ b/submodules/LegacyComponents/Sources/TGPhotoRectangleCropController.h @@ -1,4 +1,4 @@ -#import "TGPhotoEditorTabController.h" +#import @interface TGPhotoRectangleCropController : TGPhotoEditorTabController diff --git a/submodules/LegacyComponents/Sources/TGPhotoToolCell.m b/submodules/LegacyComponents/Sources/TGPhotoToolCell.m index 9147522e4e..3d7b9bbc52 100644 --- a/submodules/LegacyComponents/Sources/TGPhotoToolCell.m +++ b/submodules/LegacyComponents/Sources/TGPhotoToolCell.m @@ -3,7 +3,7 @@ #import "PGPhotoTool.h" #import "TGPhotoEditorGenericToolView.h" -#import "TGPhotoEditorInterfaceAssets.h" +#import NSString * const TGPhotoToolCellKind = @"TGPhotoToolCellKind"; diff --git a/submodules/LegacyComponents/Sources/TGPhotoToolbarView.m b/submodules/LegacyComponents/Sources/TGPhotoToolbarView.m index 2069a92037..8b519b5860 100644 --- a/submodules/LegacyComponents/Sources/TGPhotoToolbarView.m +++ b/submodules/LegacyComponents/Sources/TGPhotoToolbarView.m @@ -1,16 +1,16 @@ -#import "TGPhotoToolbarView.h" +#import #import "LegacyComponentsInternal.h" -#import "TGFont.h" -#import "TGImageUtils.h" +#import +#import -#import "TGModernButton.h" -#import "TGPhotoEditorButton.h" -#import "TGPhotoEditorInterfaceAssets.h" +#import +#import +#import -#import "TGMediaAssetsController.h" +#import -#import "TGPhotoPaintStickersContext.h" +#import @interface TGPhotoToolbarView () { diff --git a/submodules/LegacyComponents/Sources/TGPhotoToolsController.m b/submodules/LegacyComponents/Sources/TGPhotoToolsController.m index 6956c9ab0f..61862ef38e 100644 --- a/submodules/LegacyComponents/Sources/TGPhotoToolsController.m +++ b/submodules/LegacyComponents/Sources/TGPhotoToolsController.m @@ -1,14 +1,16 @@ +#import + #import "TGPhotoToolsController.h" #import "LegacyComponentsInternal.h" #import -#import "TGPhotoEditorInterfaceAssets.h" +#import #import "TGPhotoEditorCollectionView.h" #import "TGPhotoToolCell.h" #import -#import "UICollectionView+Utils.h" +#import #import #import "PGPhotoEditor.h" @@ -18,10 +20,10 @@ #import "PGTintTool.h" #import -#import "TGPhotoEditorController.h" +#import #import "TGPhotoEditorPreviewView.h" #import "TGPhotoEditorHUDView.h" -#import "TGPhotoEditorSparseView.h" +#import #import "TGPhotoDrawingController.h" diff --git a/submodules/LegacyComponents/Sources/TGPhotoVideoEditor.m b/submodules/LegacyComponents/Sources/TGPhotoVideoEditor.m index 14af60512a..6a2f8dc124 100644 --- a/submodules/LegacyComponents/Sources/TGPhotoVideoEditor.m +++ b/submodules/LegacyComponents/Sources/TGPhotoVideoEditor.m @@ -1,12 +1,13 @@ -#import "TGPhotoVideoEditor.h" +#import +#import -#import "TGMediaEditingContext.h" +#import -#import "TGMediaPickerGalleryModel.h" -#import "TGMediaPickerGalleryPhotoItem.h" -#import "TGMediaPickerGalleryVideoItem.h" +#import +#import +#import -#import "TGMediaPickerGalleryVideoItemView.h" +#import #import "LegacyComponentsInternal.h" @@ -315,10 +316,8 @@ editorController.beginTransitionOut = ^UIView *(CGRect *referenceFrame, UIView **parentView, bool saving) { - CGRect startFrame = CGRectZero; if (referenceFrame != NULL) { - startFrame = *referenceFrame; *referenceFrame = fromRect; *parentView = referenceView.superview; } diff --git a/submodules/LegacyComponents/Sources/TGPluralization.m b/submodules/LegacyComponents/Sources/TGPluralization.m index 4dc05aec79..371fad5b94 100644 --- a/submodules/LegacyComponents/Sources/TGPluralization.m +++ b/submodules/LegacyComponents/Sources/TGPluralization.m @@ -1,4 +1,4 @@ -#import "TGPluralization.h" +#import TGPluralFormValue TGPluralForm(unsigned int lc, int n) { switch (lc) { diff --git a/submodules/LegacyComponents/Sources/TGProgressSpinnerView.m b/submodules/LegacyComponents/Sources/TGProgressSpinnerView.m index d587a09df9..1869c798a2 100644 --- a/submodules/LegacyComponents/Sources/TGProgressSpinnerView.m +++ b/submodules/LegacyComponents/Sources/TGProgressSpinnerView.m @@ -1,4 +1,4 @@ -#import "TGProgressSpinnerView.h" +#import #import "LegacyComponentsInternal.h" diff --git a/submodules/LegacyComponents/Sources/TGProgressWindow.m b/submodules/LegacyComponents/Sources/TGProgressWindow.m index 09e78ad1d1..697740d8ce 100644 --- a/submodules/LegacyComponents/Sources/TGProgressWindow.m +++ b/submodules/LegacyComponents/Sources/TGProgressWindow.m @@ -1,8 +1,8 @@ -#import "TGProgressWindow.h" +#import #import "LegacyComponentsInternal.h" -#import "TGProgressSpinnerView.h" +#import static bool TGProgressWindowIsLight = true; diff --git a/submodules/LegacyComponents/Sources/TGProxyWindow.m b/submodules/LegacyComponents/Sources/TGProxyWindow.m index 1f78db1432..d9ae59d562 100644 --- a/submodules/LegacyComponents/Sources/TGProxyWindow.m +++ b/submodules/LegacyComponents/Sources/TGProxyWindow.m @@ -1,8 +1,8 @@ -#import "TGProxyWindow.h" +#import #import #import "LegacyComponentsInternal.h" -#import "TGImageUtils.h" +#import static UIImage *generateShieldImage(UIColor *color) { NSString *code = @"M100,6.56393754 L6,48.2657557 L6,110.909091 C6,169.509174 46.3678836,223.966692 100,237.814087 C153.632116,223.966692 194,169.509174 194,110.909091 L194,48.2657557 L100,6.56393754 S"; diff --git a/submodules/LegacyComponents/Sources/TGRTLScreenEdgePanGestureRecognizer.m b/submodules/LegacyComponents/Sources/TGRTLScreenEdgePanGestureRecognizer.m index 1b4df123cc..cc92d5f739 100644 --- a/submodules/LegacyComponents/Sources/TGRTLScreenEdgePanGestureRecognizer.m +++ b/submodules/LegacyComponents/Sources/TGRTLScreenEdgePanGestureRecognizer.m @@ -1,6 +1,6 @@ -#import "TGRTLScreenEdgePanGestureRecognizer.h" +#import -#import "Freedom.h" +#import @implementation TGRTLScreenEdgePanGestureRecognizer diff --git a/submodules/LegacyComponents/Sources/TGReplyMarkupAttachment.m b/submodules/LegacyComponents/Sources/TGReplyMarkupAttachment.m index 77498f46da..c3caa5d5c7 100644 --- a/submodules/LegacyComponents/Sources/TGReplyMarkupAttachment.m +++ b/submodules/LegacyComponents/Sources/TGReplyMarkupAttachment.m @@ -1,11 +1,11 @@ -#import "TGReplyMarkupAttachment.h" +#import #import "LegacyComponentsInternal.h" -#import "PSKeyValueEncoder.h" -#import "PSKeyValueDecoder.h" +#import +#import -#import "NSInputStream+TL.h" +#import @implementation TGReplyMarkupAttachment @@ -56,7 +56,7 @@ - (void)serialize:(NSMutableData *)data { - NSData *serializedData = [NSKeyedArchiver archivedDataWithRootObject:self]; + NSData *serializedData = [NSKeyedArchiver archivedDataWithRootObject:self requiringSecureCoding:false error:nil]; int32_t length = (int32_t)serializedData.length; [data appendBytes:&length length:4]; [data appendData:serializedData]; @@ -66,7 +66,7 @@ { int32_t length = [is readInt32]; NSData *data = [is readData:length]; - return [NSKeyedUnarchiver unarchiveObjectWithData:data]; + return [NSKeyedUnarchiver unarchivedObjectOfClass:[TGMediaAttachment class] fromData:data error:nil]; } @end diff --git a/submodules/LegacyComponents/Sources/TGReplyMessageMediaAttachment.m b/submodules/LegacyComponents/Sources/TGReplyMessageMediaAttachment.m index dffa6772ba..d80646376e 100644 --- a/submodules/LegacyComponents/Sources/TGReplyMessageMediaAttachment.m +++ b/submodules/LegacyComponents/Sources/TGReplyMessageMediaAttachment.m @@ -1,9 +1,9 @@ -#import "TGReplyMessageMediaAttachment.h" +#import -#import "TGMessage.h" +#import -#import "PSKeyValueDecoder.h" -#import "PSKeyValueEncoder.h" +#import +#import @implementation TGReplyMessageMediaAttachment diff --git a/submodules/LegacyComponents/Sources/TGSecretTimerMenu.m b/submodules/LegacyComponents/Sources/TGSecretTimerMenu.m index 1398251a35..0a7364dd6e 100644 --- a/submodules/LegacyComponents/Sources/TGSecretTimerMenu.m +++ b/submodules/LegacyComponents/Sources/TGSecretTimerMenu.m @@ -1,11 +1,11 @@ -#import "TGSecretTimerMenu.h" +#import #import "LegacyComponentsInternal.h" -#import "TGMenuSheetController.h" +#import -#import "TGMenuSheetTitleItemView.h" -#import "TGMenuSheetButtonItemView.h" +#import +#import #import "TGSecretTimerPickerItemView.h" @implementation TGSecretTimerMenu diff --git a/submodules/LegacyComponents/Sources/TGSecretTimerPickerItemView.h b/submodules/LegacyComponents/Sources/TGSecretTimerPickerItemView.h index 6523855287..c5ea9d8120 100644 --- a/submodules/LegacyComponents/Sources/TGSecretTimerPickerItemView.h +++ b/submodules/LegacyComponents/Sources/TGSecretTimerPickerItemView.h @@ -1,4 +1,4 @@ -#import "TGMenuSheetItemView.h" +#import @interface TGSecretTimerPickerItemView : TGMenuSheetItemView diff --git a/submodules/LegacyComponents/Sources/TGSecretTimerPickerItemView.m b/submodules/LegacyComponents/Sources/TGSecretTimerPickerItemView.m index 51e80b350e..c3bbf647c9 100644 --- a/submodules/LegacyComponents/Sources/TGSecretTimerPickerItemView.m +++ b/submodules/LegacyComponents/Sources/TGSecretTimerPickerItemView.m @@ -4,7 +4,7 @@ #import "TGSecretTimerValueControllerItemView.h" -#import "TGMenuSheetController.h" +#import @interface TGSecretTimerPickerView : UIPickerView diff --git a/submodules/LegacyComponents/Sources/TGSecretTimerValueController.h b/submodules/LegacyComponents/Sources/TGSecretTimerValueController.h index b53effd99c..ffbedf41f0 100644 --- a/submodules/LegacyComponents/Sources/TGSecretTimerValueController.h +++ b/submodules/LegacyComponents/Sources/TGSecretTimerValueController.h @@ -1,4 +1,4 @@ -#import +#import @interface TGSecretTimerValueController : TGViewController diff --git a/submodules/LegacyComponents/Sources/TGSecretTimerValueControllerItemView.m b/submodules/LegacyComponents/Sources/TGSecretTimerValueControllerItemView.m index b6d2f00f1d..7ab737b114 100644 --- a/submodules/LegacyComponents/Sources/TGSecretTimerValueControllerItemView.m +++ b/submodules/LegacyComponents/Sources/TGSecretTimerValueControllerItemView.m @@ -1,8 +1,8 @@ #import "TGSecretTimerValueControllerItemView.h" #import "LegacyComponentsInternal.h" -#import "TGFont.h" -#import "TGStringUtils.h" +#import +#import @interface TGSecretTimerValueControllerItemView () { diff --git a/submodules/LegacyComponents/Sources/TGStaticBackdropAreaData.m b/submodules/LegacyComponents/Sources/TGStaticBackdropAreaData.m index 1467de1ba7..b9f2370114 100644 --- a/submodules/LegacyComponents/Sources/TGStaticBackdropAreaData.m +++ b/submodules/LegacyComponents/Sources/TGStaticBackdropAreaData.m @@ -1,4 +1,4 @@ -#import "TGStaticBackdropAreaData.h" +#import @implementation TGStaticBackdropAreaData diff --git a/submodules/LegacyComponents/Sources/TGStaticBackdropImageData.m b/submodules/LegacyComponents/Sources/TGStaticBackdropImageData.m index f16732a244..f53d02f742 100644 --- a/submodules/LegacyComponents/Sources/TGStaticBackdropImageData.m +++ b/submodules/LegacyComponents/Sources/TGStaticBackdropImageData.m @@ -1,4 +1,4 @@ -#import "TGStaticBackdropImageData.h" +#import NSString *TGStaticBackdropMessageActionCircle = @"TGStaticBackdropMessageActionCircle"; NSString *TGStaticBackdropMessageTimestamp = @"TGStaticBackdropMessageTimestamp"; diff --git a/submodules/LegacyComponents/Sources/TGStickerAssociation.m b/submodules/LegacyComponents/Sources/TGStickerAssociation.m index 4d6870c96f..b842da330b 100644 --- a/submodules/LegacyComponents/Sources/TGStickerAssociation.m +++ b/submodules/LegacyComponents/Sources/TGStickerAssociation.m @@ -1,7 +1,7 @@ -#import "TGStickerAssociation.h" +#import #import "LegacyComponentsInternal.h" -#import "PSKeyValueCoder.h" +#import @implementation TGStickerAssociation diff --git a/submodules/LegacyComponents/Sources/TGStickerPack.m b/submodules/LegacyComponents/Sources/TGStickerPack.m index 2ff7e8a2d5..be4382c85c 100644 --- a/submodules/LegacyComponents/Sources/TGStickerPack.m +++ b/submodules/LegacyComponents/Sources/TGStickerPack.m @@ -1,4 +1,4 @@ -#import "TGStickerPack.h" +#import #import diff --git a/submodules/LegacyComponents/Sources/TGStickerPackReference.m b/submodules/LegacyComponents/Sources/TGStickerPackReference.m index 14e41d61d3..65a461bc6a 100644 --- a/submodules/LegacyComponents/Sources/TGStickerPackReference.m +++ b/submodules/LegacyComponents/Sources/TGStickerPackReference.m @@ -1,8 +1,8 @@ -#import "TGStickerPackReference.h" +#import #import "LegacyComponentsInternal.h" -#import "PSKeyValueCoder.h" +#import @implementation TGStickerPackBuiltinReference diff --git a/submodules/LegacyComponents/Sources/TGStringUtils.mm b/submodules/LegacyComponents/Sources/TGStringUtils.mm index 872fdd1411..daa796e70d 100644 --- a/submodules/LegacyComponents/Sources/TGStringUtils.mm +++ b/submodules/LegacyComponents/Sources/TGStringUtils.mm @@ -1,11 +1,11 @@ -#import "TGStringUtils.h" +#import #import "LegacyComponentsInternal.h" #import -#import "TGLocalization.h" -#import "TGPluralization.h" +#import +#import typedef struct { __unsafe_unretained NSString *escapeSequence; @@ -487,7 +487,10 @@ static HTMLEscapeMap gAsciiHTMLEscapeMap[] = { const char *ptr = [string UTF8String]; unsigned char md5Buffer[16]; +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" CC_MD5(ptr, (CC_LONG)[string lengthOfBytesUsingEncoding:NSUTF8StringEncoding], md5Buffer); +#pragma clang diagnostic pop NSString *output = [[NSString alloc] initWithFormat:@"%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x", md5Buffer[0], md5Buffer[1], md5Buffer[2], md5Buffer[3], md5Buffer[4], md5Buffer[5], md5Buffer[6], md5Buffer[7], md5Buffer[8], md5Buffer[9], md5Buffer[10], md5Buffer[11], md5Buffer[12], md5Buffer[13], md5Buffer[14], md5Buffer[15]]; //objc_setAssociatedObject(string, md5PropertyKey, output, OBJC_ASSOCIATION_RETAIN_NONATOMIC); return output; @@ -495,7 +498,10 @@ static HTMLEscapeMap gAsciiHTMLEscapeMap[] = { + (NSString *)md5ForData:(NSData *)data { unsigned char md5Buffer[16]; +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" CC_MD5(data.bytes, (CC_LONG)data.length, md5Buffer); +#pragma clang diagnostic pop NSString *output = [[NSString alloc] initWithFormat:@"%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x", md5Buffer[0], md5Buffer[1], md5Buffer[2], md5Buffer[3], md5Buffer[4], md5Buffer[5], md5Buffer[6], md5Buffer[7], md5Buffer[8], md5Buffer[9], md5Buffer[10], md5Buffer[11], md5Buffer[12], md5Buffer[13], md5Buffer[14], md5Buffer[15]]; return output; } diff --git a/submodules/LegacyComponents/Sources/TGTextCheckingResult.m b/submodules/LegacyComponents/Sources/TGTextCheckingResult.m index d69e158320..5e314e0af6 100644 --- a/submodules/LegacyComponents/Sources/TGTextCheckingResult.m +++ b/submodules/LegacyComponents/Sources/TGTextCheckingResult.m @@ -1,4 +1,4 @@ -#import "TGTextCheckingResult.h" +#import @implementation TGTextCheckingResult diff --git a/submodules/LegacyComponents/Sources/TGTextField.m b/submodules/LegacyComponents/Sources/TGTextField.m index 1f5a5d67b4..2388ceb511 100644 --- a/submodules/LegacyComponents/Sources/TGTextField.m +++ b/submodules/LegacyComponents/Sources/TGTextField.m @@ -1,7 +1,7 @@ -#import "TGTextField.h" +#import #import "LegacyComponentsInternal.h" -#import "TGImageUtils.h" +#import @implementation TGTextField diff --git a/submodules/LegacyComponents/Sources/TGTimerTarget.m b/submodules/LegacyComponents/Sources/TGTimerTarget.m index dce40fe83d..b51dd9507b 100644 --- a/submodules/LegacyComponents/Sources/TGTimerTarget.m +++ b/submodules/LegacyComponents/Sources/TGTimerTarget.m @@ -1,4 +1,4 @@ -#import "TGTimerTarget.h" +#import @implementation TGTimerTarget diff --git a/submodules/LegacyComponents/Sources/TGToolbarButton.m b/submodules/LegacyComponents/Sources/TGToolbarButton.m index ffa886ec80..090a7353bc 100644 --- a/submodules/LegacyComponents/Sources/TGToolbarButton.m +++ b/submodules/LegacyComponents/Sources/TGToolbarButton.m @@ -1,7 +1,7 @@ -#import "TGToolbarButton.h" +#import #import "LegacyComponentsInternal.h" -#import "TGImageUtils.h" +#import static UIImage *backgroundBack() { diff --git a/submodules/LegacyComponents/Sources/TGTooltipView.m b/submodules/LegacyComponents/Sources/TGTooltipView.m index 9c9e3c23c6..fd0b1a486f 100644 --- a/submodules/LegacyComponents/Sources/TGTooltipView.m +++ b/submodules/LegacyComponents/Sources/TGTooltipView.m @@ -1,8 +1,8 @@ -#import "TGTooltipView.h" +#import #import "LegacyComponentsInternal.h" -#import "TGFont.h" -#import "TGImageUtils.h" +#import +#import #import diff --git a/submodules/LegacyComponents/Sources/TGUnsupportedMediaAttachment.m b/submodules/LegacyComponents/Sources/TGUnsupportedMediaAttachment.m index fcb6cad9d0..95536b2804 100644 --- a/submodules/LegacyComponents/Sources/TGUnsupportedMediaAttachment.m +++ b/submodules/LegacyComponents/Sources/TGUnsupportedMediaAttachment.m @@ -1,4 +1,4 @@ -#import "TGUnsupportedMediaAttachment.h" +#import @implementation TGUnsupportedMediaAttachment diff --git a/submodules/LegacyComponents/Sources/TGViaUserAttachment.m b/submodules/LegacyComponents/Sources/TGViaUserAttachment.m index f0d940bd8b..25cd60cb4a 100644 --- a/submodules/LegacyComponents/Sources/TGViaUserAttachment.m +++ b/submodules/LegacyComponents/Sources/TGViaUserAttachment.m @@ -1,6 +1,6 @@ -#import "TGViaUserAttachment.h" +#import -#import "NSInputStream+TL.h" +#import @implementation TGViaUserAttachment @@ -28,7 +28,7 @@ - (void)serialize:(NSMutableData *)data { - NSData *serializedData = [NSKeyedArchiver archivedDataWithRootObject:self]; + NSData *serializedData = [NSKeyedArchiver archivedDataWithRootObject:self requiringSecureCoding:false error:nil]; int32_t length = (int32_t)serializedData.length; [data appendBytes:&length length:4]; [data appendData:serializedData]; @@ -38,7 +38,7 @@ { int32_t length = [is readInt32]; NSData *data = [is readData:length]; - return [NSKeyedUnarchiver unarchiveObjectWithData:data]; + return [NSKeyedUnarchiver unarchivedObjectOfClass:[TGMediaAttachment class] fromData:data error:nil]; } @end diff --git a/submodules/LegacyComponents/Sources/TGVideoCameraGLRenderer.m b/submodules/LegacyComponents/Sources/TGVideoCameraGLRenderer.m index e4c58c03aa..603d82cd83 100644 --- a/submodules/LegacyComponents/Sources/TGVideoCameraGLRenderer.m +++ b/submodules/LegacyComponents/Sources/TGVideoCameraGLRenderer.m @@ -1,4 +1,4 @@ -#import "TGVideoCameraGLRenderer.h" +#import #import #import diff --git a/submodules/LegacyComponents/Sources/TGVideoCameraGLView.m b/submodules/LegacyComponents/Sources/TGVideoCameraGLView.m index 4d12955387..da58b96b90 100644 --- a/submodules/LegacyComponents/Sources/TGVideoCameraGLView.m +++ b/submodules/LegacyComponents/Sources/TGVideoCameraGLView.m @@ -1,4 +1,4 @@ -#import "TGVideoCameraGLView.h" +#import #import #import #import @@ -8,6 +8,9 @@ #import "LegacyComponentsInternal.h" #import "TGVideoCameraPipeline.h" +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" + @interface TGVideoCameraGLView () { EAGLContext *_context; @@ -230,3 +233,5 @@ bail: } @end + +#pragma clang diagnostic pop diff --git a/submodules/LegacyComponents/Sources/TGVideoCameraMovieRecorder.m b/submodules/LegacyComponents/Sources/TGVideoCameraMovieRecorder.m index 281c325ada..5be73756b3 100644 --- a/submodules/LegacyComponents/Sources/TGVideoCameraMovieRecorder.m +++ b/submodules/LegacyComponents/Sources/TGVideoCameraMovieRecorder.m @@ -1,4 +1,4 @@ -#import "TGVideoCameraMovieRecorder.h" +#import #import #import "TGVideoCameraPipeline.h" diff --git a/submodules/LegacyComponents/Sources/TGVideoCameraPipeline.m b/submodules/LegacyComponents/Sources/TGVideoCameraPipeline.m index 58609f8d2f..5afa14bbe8 100644 --- a/submodules/LegacyComponents/Sources/TGVideoCameraPipeline.m +++ b/submodules/LegacyComponents/Sources/TGVideoCameraPipeline.m @@ -172,7 +172,10 @@ const NSInteger TGVideoCameraRetainedBufferCount = 16; _audioConnection = [_audioOutput connectionWithMediaType:AVMediaTypeAudio]; +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" NSArray *devices = [AVCaptureDevice devicesWithMediaType:AVMediaTypeVideo]; +#pragma clang diagnostic pop AVCaptureDevice *videoDevice = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo]; for (AVCaptureDevice *device in devices) { @@ -921,7 +924,10 @@ static CGFloat angleOffsetFromPortraitOrientationToOrientation(AVCaptureVideoOri { NSError *error; +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" NSArray *devices = [AVCaptureDevice devicesWithMediaType:AVMediaTypeVideo]; +#pragma clang diagnostic pop AVCaptureDevice *deviceForTargetPosition = nil; for (AVCaptureDevice *device in devices) { @@ -1058,7 +1064,10 @@ static CGFloat angleOffsetFromPortraitOrientationToOrientation(AVCaptureVideoOri + (bool)cameraPositionChangeAvailable { +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" return [AVCaptureDevice devicesWithMediaType:AVMediaTypeVideo].count > 1; +#pragma clang diagnostic pop } + (SQueue *)cameraQueue diff --git a/submodules/LegacyComponents/Sources/TGVideoEditAdjustments.m b/submodules/LegacyComponents/Sources/TGVideoEditAdjustments.m index ffa4c1eb68..39232a34e1 100644 --- a/submodules/LegacyComponents/Sources/TGVideoEditAdjustments.m +++ b/submodules/LegacyComponents/Sources/TGVideoEditAdjustments.m @@ -1,13 +1,13 @@ -#import "TGVideoEditAdjustments.h" +#import -#import "TGPhotoEditorUtils.h" +#import -#import "TGPaintingData.h" +#import -#import "PGPhotoEditorValues.h" +#import -#import "TGPhotoPaintStickerEntity.h" -#import "TGPhotoPaintTextEntity.h" +#import +#import #import "PGTintTool.h" #import "PGCurvesTool.h" diff --git a/submodules/LegacyComponents/Sources/TGVideoInfo.mm b/submodules/LegacyComponents/Sources/TGVideoInfo.mm index 6db3e21c64..0326cd9a59 100644 --- a/submodules/LegacyComponents/Sources/TGVideoInfo.mm +++ b/submodules/LegacyComponents/Sources/TGVideoInfo.mm @@ -1,4 +1,4 @@ -#import "TGVideoInfo.h" +#import #include diff --git a/submodules/LegacyComponents/Sources/TGVideoMediaAttachment.m b/submodules/LegacyComponents/Sources/TGVideoMediaAttachment.m index 5caac18dc1..a16c0159cc 100644 --- a/submodules/LegacyComponents/Sources/TGVideoMediaAttachment.m +++ b/submodules/LegacyComponents/Sources/TGVideoMediaAttachment.m @@ -1,6 +1,6 @@ -#import "TGVideoMediaAttachment.h" +#import -#import "TGMessage.h" +#import #import "LegacyComponentsInternal.h" @@ -169,7 +169,7 @@ int32_t zero = 0; [data appendBytes:&zero length:4]; } else { - NSData *stickerData = [NSKeyedArchiver archivedDataWithRootObject:_embeddedStickerDocuments]; + NSData *stickerData = [NSKeyedArchiver archivedDataWithRootObject:_embeddedStickerDocuments requiringSecureCoding:false error:nil]; int32_t length = (int32_t)stickerData.length; [data appendBytes:&length length:4]; [data appendData:stickerData]; @@ -180,7 +180,7 @@ NSData *originData = nil; @try { - originData = [NSKeyedArchiver archivedDataWithRootObject:_originInfo]; + originData = [NSKeyedArchiver archivedDataWithRootObject:_originInfo requiringSecureCoding:false error:nil]; } @catch (NSException *e) { } @@ -269,7 +269,11 @@ uint8_t *stickerBytes = malloc(stickerDataLength); [is read:stickerBytes maxLength:stickerDataLength]; NSData *stickerData = [[NSData alloc] initWithBytesNoCopy:stickerBytes length:stickerDataLength freeWhenDone:true]; + +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" videoAttachment.embeddedStickerDocuments = [NSKeyedUnarchiver unarchiveObjectWithData:stickerData]; +#pragma clang diagnostic pop } } @@ -291,7 +295,7 @@ NSData *data = [[NSData alloc] initWithBytesNoCopy:originBytes length:originLength freeWhenDone:true]; TGMediaOriginInfo *origin = nil; @try { - origin = [NSKeyedUnarchiver unarchiveObjectWithData:data]; + origin = [NSKeyedUnarchiver unarchivedObjectOfClass:[TGMediaOriginInfo class] fromData:data error:nil]; } @catch (NSException *e) { } diff --git a/submodules/LegacyComponents/Sources/TGVideoMessageCaptureController.m b/submodules/LegacyComponents/Sources/TGVideoMessageCaptureController.m index d05b594a21..3a410ff2d7 100644 --- a/submodules/LegacyComponents/Sources/TGVideoMessageCaptureController.m +++ b/submodules/LegacyComponents/Sources/TGVideoMessageCaptureController.m @@ -1,4 +1,4 @@ -#import "TGVideoMessageCaptureController.h" +#import #import "LegacyComponentsInternal.h" @@ -25,12 +25,15 @@ #import #import "TGColor.h" -#import "TGImageUtils.h" +#import -#import "TGMediaPickerSendActionSheetController.h" -#import "TGOverlayControllerWindow.h" +#import +#import #import +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" + const NSTimeInterval TGVideoMessageMaximumDuration = 60.0; typedef enum @@ -1641,3 +1644,5 @@ static UIImage *startImage = nil; } @end + +#pragma clang diagnostic pop diff --git a/submodules/LegacyComponents/Sources/TGVideoMessageControls.m b/submodules/LegacyComponents/Sources/TGVideoMessageControls.m index 8852e74a59..b6a6ed8a2e 100644 --- a/submodules/LegacyComponents/Sources/TGVideoMessageControls.m +++ b/submodules/LegacyComponents/Sources/TGVideoMessageControls.m @@ -1,4 +1,4 @@ -#import "TGVideoMessageControls.h" +#import #import @@ -9,8 +9,8 @@ #import "LegacyComponentsInternal.h" #import "TGColor.h" -#import "TGModernConversationInputMicButton.h" -#import "TGVideoMessageCaptureController.h" +#import +#import static void setViewFrame(UIView *view, CGRect frame) { @@ -231,11 +231,8 @@ static CGRect viewFrame(UIView *view) [self removeDotAnimation]; NSTimeInterval durationFactor = MIN(0.4, MAX(1.0, velocity / 1000.0)); - int options = 0; - if (ABS(CFAbsoluteTimeGetCurrent() - _recordingInterfaceShowTime) < 0.2) { - options = UIViewAnimationOptionBeginFromCurrentState; } int animationCurveOption = iosMajorVersion() >= 7 ? (7 << 16) : 0; diff --git a/submodules/LegacyComponents/Sources/TGVideoMessageRingView.m b/submodules/LegacyComponents/Sources/TGVideoMessageRingView.m index 38bf502dc5..d3d980a263 100644 --- a/submodules/LegacyComponents/Sources/TGVideoMessageRingView.m +++ b/submodules/LegacyComponents/Sources/TGVideoMessageRingView.m @@ -1,4 +1,4 @@ -#import "TGVideoMessageRingView.h" +#import #import "TGColor.h" diff --git a/submodules/LegacyComponents/Sources/TGVideoMessageScrubber.m b/submodules/LegacyComponents/Sources/TGVideoMessageScrubber.m index ced99d8dcf..b3c372a91f 100644 --- a/submodules/LegacyComponents/Sources/TGVideoMessageScrubber.m +++ b/submodules/LegacyComponents/Sources/TGVideoMessageScrubber.m @@ -1,8 +1,8 @@ -#import "TGVideoMessageScrubber.h" +#import #import "LegacyComponentsInternal.h" -#import "TGImageUtils.h" -#import "POPBasicAnimation.h" +#import +#import #import @@ -11,7 +11,7 @@ #import "TGVideoMessageScrubberThumbnailView.h" #import "TGVideoMessageTrimView.h" -#import "TGModernConversationInputMicButton.h" +#import static const CGFloat TGVideoScrubberMinimumTrimDuration = 1.0f; static const CGFloat TGVideoScrubberTrimRectEpsilon = 3.0f; diff --git a/submodules/LegacyComponents/Sources/TGVideoMessageScrubberThumbnailView.m b/submodules/LegacyComponents/Sources/TGVideoMessageScrubberThumbnailView.m index 816e939308..e3de941a7a 100644 --- a/submodules/LegacyComponents/Sources/TGVideoMessageScrubberThumbnailView.m +++ b/submodules/LegacyComponents/Sources/TGVideoMessageScrubberThumbnailView.m @@ -1,7 +1,7 @@ #import "TGVideoMessageScrubberThumbnailView.h" #import "LegacyComponentsInternal.h" -#import "TGImageUtils.h" +#import #import diff --git a/submodules/LegacyComponents/Sources/TGViewController+TGRecursiveEnumeration.m b/submodules/LegacyComponents/Sources/TGViewController+TGRecursiveEnumeration.m index 2097848f20..b918e4bd47 100644 --- a/submodules/LegacyComponents/Sources/TGViewController+TGRecursiveEnumeration.m +++ b/submodules/LegacyComponents/Sources/TGViewController+TGRecursiveEnumeration.m @@ -1,4 +1,4 @@ -#import "TGViewController+TGRecursiveEnumeration.h" +#import @implementation UIViewController (TGRecursiveEnumeration) diff --git a/submodules/LegacyComponents/Sources/TGViewController.mm b/submodules/LegacyComponents/Sources/TGViewController.mm index 6f286d4ca1..ba4d35769a 100644 --- a/submodules/LegacyComponents/Sources/TGViewController.mm +++ b/submodules/LegacyComponents/Sources/TGViewController.mm @@ -1,19 +1,22 @@ -#import "TGViewController.h" +#import #import "LegacyComponentsInternal.h" -#import "TGFont.h" -#import "TGImageUtils.h" -#import "Freedom.h" +#import +#import +#import -#import "TGNavigationController.h" -#import "TGOverlayControllerWindow.h" +#import +#import #import -#import "TGHacks.h" +#import #import +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" + static __strong NSTimer *autorotationEnableTimer = nil; static bool autorotationDisabled = false; @@ -1543,3 +1546,5 @@ static id _defaultContext = nil; } @end + +#pragma clang diagnostic pop diff --git a/submodules/LegacyComponents/Sources/TGWeakDelegate.m b/submodules/LegacyComponents/Sources/TGWeakDelegate.m index a5df54efcb..40b23dc926 100644 --- a/submodules/LegacyComponents/Sources/TGWeakDelegate.m +++ b/submodules/LegacyComponents/Sources/TGWeakDelegate.m @@ -1,4 +1,4 @@ -#import "TGWeakDelegate.h" +#import @implementation TGWeakDelegate diff --git a/submodules/LegacyComponents/Sources/TGWebDocument.m b/submodules/LegacyComponents/Sources/TGWebDocument.m index c5e13250c5..979f89ff9c 100644 --- a/submodules/LegacyComponents/Sources/TGWebDocument.m +++ b/submodules/LegacyComponents/Sources/TGWebDocument.m @@ -1,9 +1,9 @@ -#import "TGWebDocument.h" +#import #import "LegacyComponentsInternal.h" -#import "PSKeyValueEncoder.h" -#import "PSKeyValueDecoder.h" +#import +#import @implementation TGWebDocumentReference diff --git a/submodules/LegacyComponents/Sources/TGWebPageMediaAttachment.m b/submodules/LegacyComponents/Sources/TGWebPageMediaAttachment.m index 1848dd8446..0b3848d453 100644 --- a/submodules/LegacyComponents/Sources/TGWebPageMediaAttachment.m +++ b/submodules/LegacyComponents/Sources/TGWebPageMediaAttachment.m @@ -1,8 +1,8 @@ -#import "TGWebPageMediaAttachment.h" +#import #import "LegacyComponentsInternal.h" -#import "NSInputStream+TL.h" +#import @implementation TGWebPageMediaAttachment @@ -149,7 +149,7 @@ - (void)serialize:(NSMutableData *)data { - NSData *serializedData = [NSKeyedArchiver archivedDataWithRootObject:self]; + NSData *serializedData = [NSKeyedArchiver archivedDataWithRootObject:self requiringSecureCoding:false error:nil]; int32_t length = (int32_t)serializedData.length; [data appendBytes:&length length:4]; [data appendData:serializedData]; @@ -160,7 +160,7 @@ int32_t length = [is readInt32]; NSData *data = [is readData:length]; @try { - return [NSKeyedUnarchiver unarchiveObjectWithData:data]; + return [NSKeyedUnarchiver unarchivedObjectOfClass:[TGWebPageMediaAttachment class] fromData:data error:nil]; } @catch (NSException *e) { } return nil; diff --git a/submodules/LegacyComponents/Sources/UICollectionView+Utils.m b/submodules/LegacyComponents/Sources/UICollectionView+Utils.m index 473da3f228..5e28f022c5 100644 --- a/submodules/LegacyComponents/Sources/UICollectionView+Utils.m +++ b/submodules/LegacyComponents/Sources/UICollectionView+Utils.m @@ -1,4 +1,4 @@ -#import "UICollectionView+Utils.h" +#import @implementation UICollectionView (Utils) diff --git a/submodules/LegacyComponents/Sources/UIControl+HitTestEdgeInsets.m b/submodules/LegacyComponents/Sources/UIControl+HitTestEdgeInsets.m index 68ccf22da8..4697b95b8e 100644 --- a/submodules/LegacyComponents/Sources/UIControl+HitTestEdgeInsets.m +++ b/submodules/LegacyComponents/Sources/UIControl+HitTestEdgeInsets.m @@ -1,4 +1,4 @@ -#import "UIControl+HitTestEdgeInsets.h" +#import #import diff --git a/submodules/LegacyComponents/Sources/UIImage+TG.m b/submodules/LegacyComponents/Sources/UIImage+TG.m index f6619ba861..00b5139af6 100644 --- a/submodules/LegacyComponents/Sources/UIImage+TG.m +++ b/submodules/LegacyComponents/Sources/UIImage+TG.m @@ -1,6 +1,6 @@ -#import "UIImage+TG.h" +#import #import diff --git a/submodules/LegacyComponents/Sources/UIImage+TGMediaEditableItem.m b/submodules/LegacyComponents/Sources/UIImage+TGMediaEditableItem.m index 892f89eada..445af6e04e 100644 --- a/submodules/LegacyComponents/Sources/UIImage+TGMediaEditableItem.m +++ b/submodules/LegacyComponents/Sources/UIImage+TGMediaEditableItem.m @@ -1,4 +1,4 @@ -#import "UIImage+TGMediaEditableItem.h" +#import #import diff --git a/submodules/LegacyComponents/Sources/UIScrollView+TGHacks.m b/submodules/LegacyComponents/Sources/UIScrollView+TGHacks.m index 20097b7da3..ba7d0763b5 100644 --- a/submodules/LegacyComponents/Sources/UIScrollView+TGHacks.m +++ b/submodules/LegacyComponents/Sources/UIScrollView+TGHacks.m @@ -1,4 +1,4 @@ -#import "UIScrollView+TGHacks.h" +#import #import diff --git a/submodules/LegacyComponents/Sources/mdb.c b/submodules/LegacyComponents/Sources/mdb.c index 10a8358449..7ce952ed32 100644 --- a/submodules/LegacyComponents/Sources/mdb.c +++ b/submodules/LegacyComponents/Sources/mdb.c @@ -136,7 +136,7 @@ #define MISALIGNED_OK 1 #endif -#include "lmdb.h" +#include #include "midl.h" #if (BYTE_ORDER == LITTLE_ENDIAN) == (BYTE_ORDER == BIG_ENDIAN) From 07dc55194bb18656f690d0f4f46f87fdb6974faf Mon Sep 17 00:00:00 2001 From: Isaac <> Date: Wed, 18 Jun 2025 17:26:56 +0200 Subject: [PATCH 5/8] Cleanup --- third-party/libprisma/BUILD | 1 - third-party/libprisma/Sources/Syntaxer.mm | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/third-party/libprisma/BUILD b/third-party/libprisma/BUILD index 3ace0367e8..66b922f563 100644 --- a/third-party/libprisma/BUILD +++ b/third-party/libprisma/BUILD @@ -61,7 +61,6 @@ objc_library( ":LibprismaBundle", ], copts = [ - "-Ithird-party/libprisma/include/libprisma", ], deps = [ "//third-party/boost_regex", diff --git a/third-party/libprisma/Sources/Syntaxer.mm b/third-party/libprisma/Sources/Syntaxer.mm index 0e65479f2e..45fc8f819a 100644 --- a/third-party/libprisma/Sources/Syntaxer.mm +++ b/third-party/libprisma/Sources/Syntaxer.mm @@ -5,7 +5,7 @@ // Created by Mike Renoir on 26.10.2023. // -#import "Syntaxer.h" +#import #import "SyntaxHighlighter.h" #import "TokenList.h" From ad0e48ac212e6f2701bb15d20ddb79f90b3a44aa Mon Sep 17 00:00:00 2001 From: Isaac <> Date: Thu, 19 Jun 2025 21:40:53 +0200 Subject: [PATCH 6/8] Fix parsing --- .../TelegramCore/Sources/ApiUtils/TelegramMediaAction.swift | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/submodules/TelegramCore/Sources/ApiUtils/TelegramMediaAction.swift b/submodules/TelegramCore/Sources/ApiUtils/TelegramMediaAction.swift index 86a72c0167..d0ca356ba6 100644 --- a/submodules/TelegramCore/Sources/ApiUtils/TelegramMediaAction.swift +++ b/submodules/TelegramCore/Sources/ApiUtils/TelegramMediaAction.swift @@ -232,13 +232,13 @@ func telegramMediaActionFromApiAction(_ action: Api.MessageAction) -> TelegramMe let status: TelegramMediaActionType.SuggestedPostApprovalStatus if (flags & (1 << 0)) != 0 { let reason: TelegramMediaActionType.SuggestedPostApprovalStatus.RejectionReason - if (flags & (1 << 0)) != 1 { + if (flags & (1 << 1)) != 0 { reason = .lowBalance(balanceNeeded: starsAmount ?? 0) } else { reason = .generic } status = .rejected(reason: reason, comment: rejectComment) - } else if (flags & (1 << 0)) != 1 { + } else if (flags & (1 << 1)) != 0 { status = .rejected(reason: .lowBalance(balanceNeeded: starsAmount ?? 0), comment: nil) } else { status = .approved(timestamp: scheduleDate, amount: starsAmount ?? 0) From 10c87a2057b8c1f400731c1d440c7939eef93f44 Mon Sep 17 00:00:00 2001 From: Isaac <> Date: Thu, 19 Jun 2025 21:46:57 +0200 Subject: [PATCH 7/8] Fix build --- submodules/LegacyComponents/Sources/mdb.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/submodules/LegacyComponents/Sources/mdb.c b/submodules/LegacyComponents/Sources/mdb.c index 7ce952ed32..efd541b11d 100644 --- a/submodules/LegacyComponents/Sources/mdb.c +++ b/submodules/LegacyComponents/Sources/mdb.c @@ -1747,7 +1747,7 @@ static void mdb_page_dirty(MDB_txn *txn, MDB_page *mp) { MDB_ID2 mid; - int rc, (*insert)(MDB_ID2L, MDB_ID2 *); + __unused int rc, (*insert)(MDB_ID2L, MDB_ID2 *); if (txn->mt_env->me_flags & MDB_WRITEMAP) { insert = mdb_mid2l_append; From 7dd7386068f6cbfcc19912716816e31917870fe5 Mon Sep 17 00:00:00 2001 From: Isaac <> Date: Thu, 19 Jun 2025 22:04:17 +0200 Subject: [PATCH 8/8] Fix build --- submodules/LegacyComponents/Sources/TGGifConverter.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/submodules/LegacyComponents/Sources/TGGifConverter.m b/submodules/LegacyComponents/Sources/TGGifConverter.m index 3c1cadffef..faca400a80 100644 --- a/submodules/LegacyComponents/Sources/TGGifConverter.m +++ b/submodules/LegacyComponents/Sources/TGGifConverter.m @@ -243,7 +243,7 @@ const CGFloat TGGifConverterMaximumSide = 720.0f; CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB(); CVPixelBufferRef pxBuffer = NULL; - CVReturn status = kCVReturnSuccess; + __unused CVReturn status = kCVReturnSuccess; if (pixelBufferPool) status = CVPixelBufferPoolCreatePixelBuffer(kCFAllocatorDefault, pixelBufferPool, &pxBuffer);