// @generated /// Implement `DataProvider` on the given struct using the data /// hardcoded in this file. This allows the struct to be used with /// `icu`'s `_unstable` constructors. /// /// Using this implementation will embed the following data in the binary's data segment: /// * 2189B[^1] for the singleton data struct /// /// [^1]: these numbers can be smaller in practice due to linker deduplication #[doc(hidden)] #[macro_export] macro_rules! __impl_canonical_decomposition_tables_v1_marker { ($ provider : ty) => { #[clippy::msrv = "1.71.1"] const _: () = <$provider>::MUST_USE_MAKE_PROVIDER_MACRO; #[clippy::msrv = "1.71.1"] impl $provider { #[doc(hidden)] pub const SINGLETON_CANONICAL_DECOMPOSITION_TABLES_V1_MARKER: &'static ::DataStruct = &icu::normalizer::provider::DecompositionTablesV1 { scalars16: unsafe { zerovec::ZeroVec::from_bytes_unchecked(b"\xE9\x05\xBC\x05\xC2\x05\xE9\x05\xBC\x05\xC1\x05\xDD*8\x03A\0\n\x03\xC9\x03B\x03E\x03\xC9\x03\x01\x03E\x03\xC9\x03\0\x03E\x03\xC5\x03\x08\x03B\x03\xC5\x03\x08\x03\x01\x03\xC5\x03\x08\x03\0\x03\xB9\x03\x08\x03B\x03\xB9\x03\x08\x03\x01\x03\xB9\x03\x08\x03\0\x03\xB7\x03B\x03E\x03\xB7\x03\x01\x03E\x03\xB7\x03\0\x03E\x03\xB1\x03B\x03E\x03\xB1\x03\x01\x03E\x03\xB1\x03\0\x03E\x03\xA9\x03\x14\x03B\x03E\x03\xA9\x03\x13\x03B\x03E\x03\xA9\x03\x14\x03\x01\x03E\x03\xA9\x03\x13\x03\x01\x03E\x03\xA9\x03\x14\x03\0\x03E\x03\xA9\x03\x13\x03\0\x03E\x03\xA9\x03\x14\x03E\x03\xA9\x03\x13\x03E\x03\xC9\x03\x14\x03B\x03E\x03\xC9\x03\x13\x03B\x03E\x03\xC9\x03\x14\x03\x01\x03E\x03\xC9\x03\x13\x03\x01\x03E\x03\xC9\x03\x14\x03\0\x03E\x03\xC9\x03\x13\x03\0\x03E\x03\xC9\x03\x14\x03E\x03\xC9\x03\x13\x03E\x03\x97\x03\x14\x03B\x03E\x03\x97\x03\x13\x03B\x03E\x03\x97\x03\x14\x03\x01\x03E\x03\x97\x03\x13\x03\x01\x03E\x03\x97\x03\x14\x03\0\x03E\x03\x97\x03\x13\x03\0\x03E\x03\x97\x03\x14\x03E\x03\x97\x03\x13\x03E\x03\xB7\x03\x14\x03B\x03E\x03\xB7\x03\x13\x03B\x03E\x03\xB7\x03\x14\x03\x01\x03E\x03\xB7\x03\x13\x03\x01\x03E\x03\xB7\x03\x14\x03\0\x03E\x03\xB7\x03\x13\x03\0\x03E\x03\xB7\x03\x14\x03E\x03\xB7\x03\x13\x03E\x03\x91\x03\x14\x03B\x03E\x03\x91\x03\x13\x03B\x03E\x03\x91\x03\x14\x03\x01\x03E\x03\x91\x03\x13\x03\x01\x03E\x03\x91\x03\x14\x03\0\x03E\x03\x91\x03\x13\x03\0\x03E\x03\x91\x03\x14\x03E\x03\x91\x03\x13\x03E\x03\xB1\x03\x14\x03B\x03E\x03\xB1\x03\x13\x03B\x03E\x03\xB1\x03\x14\x03\x01\x03E\x03\xB1\x03\x13\x03\x01\x03E\x03\xB1\x03\x14\x03\0\x03E\x03\xB1\x03\x13\x03\0\x03E\x03\xB1\x03\x14\x03E\x03\xB1\x03\x13\x03E\x03\xA5\x03\x14\x03B\x03\xA5\x03\x14\x03\x01\x03\xA5\x03\x14\x03\0\x03\xC5\x03\x14\x03B\x03\xC5\x03\x13\x03B\x03\xC5\x03\x14\x03\x01\x03\xC5\x03\x13\x03\x01\x03\xC5\x03\x14\x03\0\x03\xC5\x03\x13\x03\0\x03\x9F\x03\x14\x03\x01\x03\x9F\x03\x13\x03\x01\x03\x9F\x03\x14\x03\0\x03\x9F\x03\x13\x03\0\x03\xBF\x03\x14\x03\x01\x03\xBF\x03\x13\x03\x01\x03\xBF\x03\x14\x03\0\x03\xBF\x03\x13\x03\0\x03\x99\x03\x14\x03B\x03\x99\x03\x13\x03B\x03\x99\x03\x14\x03\x01\x03\x99\x03\x13\x03\x01\x03\x99\x03\x14\x03\0\x03\x99\x03\x13\x03\0\x03\xB9\x03\x14\x03B\x03\xB9\x03\x13\x03B\x03\xB9\x03\x14\x03\x01\x03\xB9\x03\x13\x03\x01\x03\xB9\x03\x14\x03\0\x03\xB9\x03\x13\x03\0\x03\x95\x03\x14\x03\x01\x03\x95\x03\x13\x03\x01\x03\x95\x03\x14\x03\0\x03\x95\x03\x13\x03\0\x03\xB5\x03\x14\x03\x01\x03\xB5\x03\x13\x03\x01\x03\xB5\x03\x14\x03\0\x03\xB5\x03\x13\x03\0\x03u\0\x1B\x03#\x03U\0\x1B\x03#\x03u\0\x1B\x03\x03\x03U\0\x1B\x03\x03\x03u\0\x1B\x03\t\x03U\0\x1B\x03\t\x03u\0\x1B\x03\0\x03U\0\x1B\x03\0\x03u\0\x1B\x03\x01\x03U\0\x1B\x03\x01\x03o\0\x1B\x03#\x03O\0\x1B\x03#\x03o\0\x1B\x03\x03\x03O\0\x1B\x03\x03\x03o\0\x1B\x03\t\x03O\0\x1B\x03\t\x03o\0\x1B\x03\0\x03O\0\x1B\x03\0\x03o\0\x1B\x03\x01\x03O\0\x1B\x03\x01\x03o\0#\x03\x02\x03O\0#\x03\x02\x03o\0\x02\x03\x03\x03O\0\x02\x03\x03\x03o\0\x02\x03\t\x03O\0\x02\x03\t\x03o\0\x02\x03\0\x03O\0\x02\x03\0\x03o\0\x02\x03\x01\x03O\0\x02\x03\x01\x03e\0#\x03\x02\x03E\0#\x03\x02\x03e\0\x02\x03\x03\x03E\0\x02\x03\x03\x03e\0\x02\x03\t\x03E\0\x02\x03\t\x03e\0\x02\x03\0\x03E\0\x02\x03\0\x03e\0\x02\x03\x01\x03E\0\x02\x03\x01\x03a\0#\x03\x06\x03A\0#\x03\x06\x03a\0\x06\x03\x03\x03A\0\x06\x03\x03\x03a\0\x06\x03\t\x03A\0\x06\x03\t\x03a\0\x06\x03\0\x03A\0\x06\x03\0\x03a\0\x06\x03\x01\x03A\0\x06\x03\x01\x03a\0#\x03\x02\x03A\0#\x03\x02\x03a\0\x02\x03\x03\x03A\0\x02\x03\x03\x03a\0\x02\x03\t\x03A\0\x02\x03\t\x03a\0\x02\x03\0\x03A\0\x02\x03\0\x03a\0\x02\x03\x01\x03A\0\x02\x03\x01\x03u\0\x04\x03\x08\x03U\0\x04\x03\x08\x03u\0\x03\x03\x01\x03U\0\x03\x03\x01\x03s\0#\x03\x07\x03S\0#\x03\x07\x03s\0\x0C\x03\x07\x03S\0\x0C\x03\x07\x03s\0\x01\x03\x07\x03S\0\x01\x03\x07\x03r\0#\x03\x04\x03R\0#\x03\x04\x03o\0\x04\x03\x01\x03O\0\x04\x03\x01\x03o\0\x04\x03\0\x03O\0\x04\x03\0\x03o\0\x03\x03\x08\x03O\0\x03\x03\x08\x03o\0\x03\x03\x01\x03O\0\x03\x03\x01\x03l\0#\x03\x04\x03L\0#\x03\x04\x03i\0\x08\x03\x01\x03I\0\x08\x03\x01\x03e\0'\x03\x06\x03E\0'\x03\x06\x03e\0\x04\x03\x01\x03E\0\x04\x03\x01\x03e\0\x04\x03\0\x03E\0\x04\x03\0\x03c\0'\x03\x01\x03C\0'\x03\x01\x03B\x1B5\x1B?\x1B5\x1B>\x1B5\x1B<\x1B5\x1B:\x1B5\x1B\x11\x1B5\x1B\r\x1B5\x1B\x0B\x1B5\x1B\t\x1B5\x1B\x07\x1B5\x1B\x05\x1B5\x1B%\x10.\x10\x90\x0F\xB5\x0F\xAB\x0F\xB7\x0F\xA6\x0F\xB7\x0F\xA1\x0F\xB7\x0F\x9C\x0F\xB7\x0F\x92\x0F\xB7\x0F\xB3\x0F\x80\x0F\xB2\x0F\x80\x0F@\x0F\xB5\x0F[\x0F\xB7\x0FV\x0F\xB7\x0FQ\x0F\xB7\x0FL\x0F\xB7\x0FB\x0F\xB7\x0F\xD9\r\xDF\r\xD9\r\xCF\r\xCA\rF\rW\rG\r>\rF\r>\r\xC6\x0C\xC2\x0C\xD5\x0C\xC6\x0C\xD6\x0C\xC6\x0C\xD5\x0C\xBF\x0C\xD5\x0C\xC6\x0B\xD7\x0B\xC7\x0B\xBE\x0B\xC6\x0B\xBE\x0B\x92\x0B\xD7\x0BG\x0BW\x0BG\x0B>\x0BG\x0BV\x0B\xC7\t\xD7\t\xC7\t\xBE\to\0\x07\x03\x04\x03O\0\x07\x03\x04\x03o\0\x03\x03\x04\x03O\0\x03\x03\x04\x03o\0\x08\x03\x04\x03O\0\x08\x03\x04\x03a\0\n\x03\x01\x03A\0\n\x03\x01\x03o\0(\x03\x04\x03O\0(\x03\x04\x03a\0\x07\x03\x04\x03A\0\x07\x03\x04\x03a\0\x08\x03\x04\x03A\0\x08\x03\x04\x03u\0\x08\x03\0\x03U\0\x08\x03\0\x03u\0\x08\x03\x0C\x03U\0\x08\x03\x0C\x03u\0\x08\x03\x01\x03U\0\x08\x03\x01\x03u\0\x08\x03\x04\x03U\0\x08\x03\x04\x03") }, scalars24: unsafe { zerovec::ZeroVec::from_bytes_unchecked(b"\0\xA6\x02\x91\xA2\x02\x0E\xA2\x02\x05\xA1\x02\xCE\xA0\x020\x9B\x02\xB6\x95\x02\x96\x94\x02\n\x94\x02\x1A\x92\x02E\x91\x02w\x8D\x02\xFA\x8B\x02.\x87\x02\xED\x85\x02\xD2\x85\x02\xDE\x08\x02\x04\x08\x02/\x7F\x02\xA8|\x02fy\x02\xAEx\x02gv\x02\xD2p\x02\xB1o\x02,o\x02\xCAs\x02\xD5l\x02km\x026l\x02c\x02\xD9b\x02Gb\x02(b\x02\x86_\x02\x80\\\x02\xAB[\x02\xA7Z\x02|Y\x02\xC5V\x02\x9AV\x02&V\x02\x1DT\x023Q\x02\x19Q\x02\xF2P\x02\xF3P\x02DP\x02\xB8O\x02\xA1O\x02\x9F!\x02\x92L\x026L\x02\x14H\x025G\x02\x08F\x02\xABC\x02cB\x02%\x05\x02\x8E?\x02^?\x02\xD1>\x02\x1E=\x02\xBC<\x02\xFA:\x02\x0B\x1D\x02\x8D:\x02\xA78\x02\xA36\x02m4\x02\xC33\x02\n0\x02\xF1+\x02\x0C+\x02\xD4&\x02\xDAa\x02\xB82\x021#\x02\x92\xA3\x02\x83!\x02\xE6\x1D\x02\xE4\x1D\x02\x18\x1B\x02\xC8\x19\x02\xEA\x16\x02\xA8\x16\x02\xE4\x14\x02c\x0B\x02,\n\x02\xDF\x91\x02K\x05\x02\x1C\x05\x02:\x06\x02\"\x01\x02\xBA\xD1\x01e\xD1\x01o\xD1\x01\xB9\xD1\x01e\xD1\x01o\xD1\x01\xBA\xD1\x01e\xD1\x01n\xD1\x01\xB9\xD1\x01e\xD1\x01n\xD1\x01X\xD1\x01e\xD1\x01r\xD1\x01X\xD1\x01e\xD1\x01q\xD1\x01X\xD1\x01e\xD1\x01p\xD1\x01X\xD1\x01e\xD1\x01o\xD1\x01X\xD1\x01e\xD1\x01n\xD1\x01W\xD1\x01e\xD1\x01cm\x01gm\x01gm\x01\x1Ea\x01\x1Ea\x01 a\x01\x1Ea\x01)a\x01\x1Fa\x01\x1Ea\x01\x1Ea\x01\x1Fa\x015\x19\x010\x19\x01\xB9\x15\x01\xAF\x15\x01\xB8\x15\x01\xAF\x15\x01\xB9\x14\x01\xBD\x14\x01\xB9\x14\x01\xB0\x14\x01\xB9\x14\x01\xBA\x14\x01\xC2\x13\x01\xC9\x13\x01\xC2\x13\x01\xB8\x13\x01\xC2\x13\x01\xC2\x13\x01\x90\x13\x01\xC9\x13\x01\x8B\x13\x01\xC2\x13\x01\x84\x13\x01\xBB\x13\x01\x82\x13\x01\xC9\x13\x01G\x13\x01W\x13\x01G\x13\x01>\x13\x012\x11\x01'\x11\x011\x11\x01'\x11\x01\xA5\x10\x01\xBA\x10\x01\x9B\x10\x01\xBA\x10\x01\x99\x10\x01\xBA\x10\x01\xDA\x05\x01\x07\x03\0\xD2\x05\x01\x07\x03\0\xD3~\x02\xD0\\\x02IR\x02\xD53\x02D(\x02J(\x02\xEEB\x02") } }; } #[clippy::msrv = "1.71.1"] impl icu_provider::DataProvider for $provider { fn load(&self, req: icu_provider::DataRequest) -> Result, icu_provider::DataError> { if req.id.locale.is_default() { Ok(icu_provider::DataResponse { payload: icu_provider::DataPayload::from_static_ref(Self::SINGLETON_CANONICAL_DECOMPOSITION_TABLES_V1_MARKER), metadata: Default::default() }) } else { Err(icu_provider::DataErrorKind::InvalidRequest.with_req(::INFO, req)) } } } }; ($ provider : ty , ITER) => { __impl_canonical_decomposition_tables_v1_marker!($provider); #[clippy::msrv = "1.71.1"] impl icu_provider::IterableDataProvider for $provider { fn iter_ids(&self) -> Result>, icu_provider::DataError> { Ok([Default::default()].into_iter().collect()) } } }; ($ provider : ty , DRY) => { __impl_canonical_decomposition_tables_v1_marker!($provider); #[clippy::msrv = "1.71.1"] impl icu_provider::DryDataProvider for $provider { fn dry_load(&self, req: icu_provider::DataRequest) -> Result { if req.id.locale.is_default() { Ok(Default::default()) } else { Err(icu_provider::DataErrorKind::InvalidRequest.with_req(::INFO, req)) } } } }; ($ provider : ty , DRY , ITER) => { __impl_canonical_decomposition_tables_v1_marker!($provider); #[clippy::msrv = "1.71.1"] impl icu_provider::DryDataProvider for $provider { fn dry_load(&self, req: icu_provider::DataRequest) -> Result { if req.id.locale.is_default() { Ok(Default::default()) } else { Err(icu_provider::DataErrorKind::InvalidRequest.with_req(::INFO, req)) } } } #[clippy::msrv = "1.71.1"] impl icu_provider::IterableDataProvider for $provider { fn iter_ids(&self) -> Result>, icu_provider::DataError> { Ok([Default::default()].into_iter().collect()) } } }; } #[doc(inline)] pub use __impl_canonical_decomposition_tables_v1_marker as impl_canonical_decomposition_tables_v1_marker;