From 909b55f7a5cbf30efd6a104c321df001447c73be Mon Sep 17 00:00:00 2001 From: Maxim Orlovsky Date: Fri, 21 Jul 2023 18:34:39 +0200 Subject: [PATCH 01/14] iface: fix export of OutpointFilter trait --- std/src/interface/mod.rs | 2 +- std/src/interface/rgb20.rs | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/std/src/interface/mod.rs b/std/src/interface/mod.rs index 36260d95..6dca68ab 100644 --- a/std/src/interface/mod.rs +++ b/std/src/interface/mod.rs @@ -33,7 +33,7 @@ pub mod rgb25; mod suppl; pub use builder::{BuilderError, ContractBuilder, TransitionBuilder}; -pub use contract::{ContractIface, FungibleAllocation, TypedState}; +pub use contract::{ContractIface, FungibleAllocation, OutpointFilter, TypedState}; pub use iface::{ ArgMap, ArgSpec, AssignIface, ExtensionIface, GenesisIface, GlobalIface, Iface, IfaceId, OwnedIface, Req, TransitionIface, ValencyIface, diff --git a/std/src/interface/rgb20.rs b/std/src/interface/rgb20.rs index fed25e87..c338f5ee 100644 --- a/std/src/interface/rgb20.rs +++ b/std/src/interface/rgb20.rs @@ -26,8 +26,7 @@ use strict_types::{CompileError, LibBuilder, TypeLib}; use super::{ AssignIface, GenesisIface, GlobalIface, Iface, OwnedIface, Req, TransitionIface, VerNo, }; -use crate::interface::contract::OutpointFilter; -use crate::interface::{ArgSpec, ContractIface, FungibleAllocation}; +use crate::interface::{ArgSpec, ContractIface, FungibleAllocation, OutpointFilter}; use crate::stl::{rgb_contract_stl, Amount, ContractData, DivisibleAssetSpec, StandardTypes}; pub const LIB_NAME_RGB20: &str = "RGB20"; From 3efbfcd76ab764a4891f2d348c72fdd54a2867f1 Mon Sep 17 00:00:00 2001 From: Maxim Orlovsky Date: Fri, 21 Jul 2023 18:45:58 +0200 Subject: [PATCH 02/14] iface: add Rgb20::balance method --- std/src/interface/rgb20.rs | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/std/src/interface/rgb20.rs b/std/src/interface/rgb20.rs index c338f5ee..217f83f8 100644 --- a/std/src/interface/rgb20.rs +++ b/std/src/interface/rgb20.rs @@ -252,6 +252,13 @@ impl Rgb20 { DivisibleAssetSpec::from_strict_val_unchecked(strict_val) } + pub fn balance(&self, filter: &impl OutpointFilter) -> u64 { + self.allocations(filter) + .iter() + .map(|alloc| alloc.value) + .sum::() + } + pub fn allocations(&self, filter: &impl OutpointFilter) -> LargeVec { self.0 .fungible("assetOwner", filter) From ac9aeae6a185ba39b0a3a9d608f0bda729b103da Mon Sep 17 00:00:00 2001 From: Maxim Orlovsky Date: Fri, 21 Jul 2023 18:59:41 +0200 Subject: [PATCH 03/14] stl: add CoinAmount convenience type --- std/src/stl/mod.rs | 4 ++-- std/src/stl/specs.rs | 36 +++++++++++++++++++++++++++++++++++- 2 files changed, 37 insertions(+), 3 deletions(-) diff --git a/std/src/stl/mod.rs b/std/src/stl/mod.rs index 4097acb2..2eae1165 100644 --- a/std/src/stl/mod.rs +++ b/std/src/stl/mod.rs @@ -30,8 +30,8 @@ pub use chain::ProofOfReserves; pub(self) use error::Error; pub use mime::{MediaRegName, MediaType}; pub use specs::{ - Amount, AssetNaming, Attachment, BurnMeta, ContractData, Details, DivisibleAssetSpec, - IssueMeta, Name, Precision, RicardianContract, Ticker, Timestamp, + Amount, AssetNaming, Attachment, BurnMeta, CoinAmount, ContractData, Details, + DivisibleAssetSpec, IssueMeta, Name, Precision, RicardianContract, Ticker, Timestamp, }; pub use stl::{ rgb_contract_stl, rgb_std_stl, StandardTypes, LIB_ID_RGB, LIB_ID_RGB_CONTRACT, LIB_ID_RGB_STD, diff --git a/std/src/stl/specs.rs b/std/src/stl/specs.rs index cab685fd..3bbd60c9 100644 --- a/std/src/stl/specs.rs +++ b/std/src/stl/specs.rs @@ -98,7 +98,7 @@ impl Sum for Amount { } } -#[derive(Copy, Clone, Ord, PartialOrd, Eq, PartialEq, Debug, Default)] +#[derive(Copy, Clone, Ord, PartialOrd, Eq, PartialEq, Hash, Debug, Default)] #[repr(u8)] #[derive(StrictType, StrictEncode, StrictDecode)] #[strict_type(lib = LIB_NAME_RGB_CONTRACT, tags = repr, into_u8, try_from_u8)] @@ -136,6 +136,27 @@ impl Precision { pub fn from_strict_val_unchecked(value: &StrictVal) -> Self { value.unwrap_enum() } } +#[derive(Copy, Clone, Eq, PartialEq, Hash, Debug, Display)] +#[display("{int}.{fract}")] +pub struct CoinAmount { + pub int: u64, + pub fract: u64, + pub precision: Precision, +} + +impl CoinAmount { + pub fn with(value: u64, precision: Precision) -> Self { + let pow = 10_u64.pow(precision as u32); + let int = value / pow; + let fract = value - int * pow; + CoinAmount { + int, + fract, + precision, + } + } +} + #[derive(Wrapper, Clone, Ord, PartialOrd, Eq, PartialEq, Hash, From)] #[wrapper(Deref, Display)] #[derive(StrictDumb, StrictType, StrictDecode)] @@ -544,3 +565,16 @@ impl ContractData { Self { terms, media } } } + +#[cfg(test)] +mod test { + use super::*; + + #[test] + fn coin_amount() { + let amount = CoinAmount::with(10_000_436_081_95, Precision::default()); + assert_eq!(amount.int, 10_000); + assert_eq!(amount.fract, 436_081_95); + assert_eq!(format!("{amount}"), "10000.43608195"); + } +} From 5b1ad0f3970693b98783f0f362bcab4c812c66d0 Mon Sep 17 00:00:00 2001 From: Maxim Orlovsky Date: Sat, 22 Jul 2023 10:55:24 +0200 Subject: [PATCH 04/14] ifaces: add RGB20 created method --- std/src/interface/rgb20.rs | 14 ++++++++++++-- std/src/stl/specs.rs | 4 ++++ 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/std/src/interface/rgb20.rs b/std/src/interface/rgb20.rs index 217f83f8..e26f1f6f 100644 --- a/std/src/interface/rgb20.rs +++ b/std/src/interface/rgb20.rs @@ -27,7 +27,9 @@ use super::{ AssignIface, GenesisIface, GlobalIface, Iface, OwnedIface, Req, TransitionIface, VerNo, }; use crate::interface::{ArgSpec, ContractIface, FungibleAllocation, OutpointFilter}; -use crate::stl::{rgb_contract_stl, Amount, ContractData, DivisibleAssetSpec, StandardTypes}; +use crate::stl::{ + rgb_contract_stl, Amount, ContractData, DivisibleAssetSpec, StandardTypes, Timestamp, +}; pub const LIB_NAME_RGB20: &str = "RGB20"; /// Strict types id for the library providing data types for RGB20 interface. @@ -248,10 +250,18 @@ impl Rgb20 { let strict_val = &self .0 .global("spec") - .expect("RGB20 interface requires global `spec`")[0]; + .expect("RGB20 interface requires global state `spec`")[0]; DivisibleAssetSpec::from_strict_val_unchecked(strict_val) } + pub fn created(&self) -> Timestamp { + let strict_val = &self + .0 + .global("created") + .expect("RGB20 interface requires global state `created`")[0]; + Timestamp::from_strict_val_unchecked(strict_val) + } + pub fn balance(&self, filter: &impl OutpointFilter) -> u64 { self.allocations(filter) .iter() diff --git a/std/src/stl/specs.rs b/std/src/stl/specs.rs index 3bbd60c9..9ce02294 100644 --- a/std/src/stl/specs.rs +++ b/std/src/stl/specs.rs @@ -510,6 +510,10 @@ pub struct Timestamp(i32); impl StrictSerialize for Timestamp {} impl StrictDeserialize for Timestamp {} +impl Timestamp { + pub fn from_strict_val_unchecked(value: &StrictVal) -> Self { Self(value.unwrap_uint()) } +} + #[derive(Clone, Eq, PartialEq, Hash, Debug)] #[derive(StrictType, StrictDumb, StrictEncode, StrictDecode)] #[strict_type(lib = LIB_NAME_RGB_CONTRACT)] From 3002bd764de4b25d0159cf37601ed480fba1d8d4 Mon Sep 17 00:00:00 2001 From: Maxim Orlovsky Date: Sat, 22 Jul 2023 11:01:58 +0200 Subject: [PATCH 05/14] stl: add Utc time accessor for Timestamp --- Cargo.lock | 1 + std/Cargo.toml | 1 + std/src/stl/specs.rs | 7 +++++++ 3 files changed, 9 insertions(+) diff --git a/Cargo.lock b/Cargo.lock index fc4424be..308081cc 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -728,6 +728,7 @@ dependencies = [ "baid58", "base64 0.21.2", "bp-core", + "chrono", "commit_verify", "getrandom", "rand", diff --git a/std/Cargo.toml b/std/Cargo.toml index 18b75045..975ca11a 100644 --- a/std/Cargo.toml +++ b/std/Cargo.toml @@ -28,6 +28,7 @@ bp-core = { workspace = true } rgb-core = { workspace = true } baid58 = { workspace = true } base64 = "0.21.0" +chrono = "0.4.26" serde_crate = { package = "serde", version = "1", features = ["derive"] } [features] diff --git a/std/src/stl/specs.rs b/std/src/stl/specs.rs index 9ce02294..9e2821c5 100644 --- a/std/src/stl/specs.rs +++ b/std/src/stl/specs.rs @@ -28,6 +28,7 @@ use std::str::FromStr; use amplify::ascii::AsciiString; use amplify::confinement::{Confined, NonEmptyString, NonEmptyVec, SmallOrdSet, SmallString, U8}; +use chrono::{DateTime, NaiveDateTime, Utc}; use strict_encoding::stl::{AlphaCapsNum, AsciiPrintable}; use strict_encoding::{ InvalidIdent, StrictDeserialize, StrictDumb, StrictEncode, StrictSerialize, StrictType, @@ -511,6 +512,12 @@ impl StrictSerialize for Timestamp {} impl StrictDeserialize for Timestamp {} impl Timestamp { + pub fn to_utc(self) -> DateTime { + let naive = NaiveDateTime::from_timestamp_opt(self.0 as i64, 0) + .expect("32-bit timestamp is always valid"); + DateTime::::from_utc(naive, Utc) + } + pub fn from_strict_val_unchecked(value: &StrictVal) -> Self { Self(value.unwrap_uint()) } } From 703740d1d5f928302ff308f3fb640c404a2bd181 Mon Sep 17 00:00:00 2001 From: Maxim Orlovsky Date: Sat, 22 Jul 2023 11:20:31 +0200 Subject: [PATCH 06/14] stl: make Timestamp i64. Closes #90 --- std/src/interface/rgb21.rs | 2 +- std/src/stl/specs.rs | 9 +- std/src/stl/stl.rs | 2 +- std/tests/data/rgb20.rgba | 237 ++++++++++++++--------------- std/tests/data/rgb21.rgba | 302 ++++++++++++++++++------------------- std/tests/data/rgb25.rgba | 236 ++++++++++++++--------------- stl/RGB21@0.1.0.sta | 38 ++--- stl/RGB21@0.1.0.stl | Bin 2045 -> 2045 bytes stl/RGB21@0.1.0.sty | 14 +- stl/RGBContract@0.1.0.sta | 4 +- stl/RGBContract@0.1.0.stl | Bin 1925 -> 1925 bytes stl/RGBContract@0.1.0.sty | 6 +- stl/RGBStd@0.1.0.sta | 134 ++++++++-------- stl/RGBStd@0.1.0.stl | Bin 14039 -> 14115 bytes stl/RGBStd@0.1.0.sty | 9 +- 15 files changed, 498 insertions(+), 495 deletions(-) diff --git a/std/src/interface/rgb21.rs b/std/src/interface/rgb21.rs index ffe79e3c..a05e588b 100644 --- a/std/src/interface/rgb21.rs +++ b/std/src/interface/rgb21.rs @@ -46,7 +46,7 @@ use crate::stl::{ pub const LIB_NAME_RGB21: &str = "RGB21"; /// Strict types id for the library providing data types for RGB21 interface. -pub const LIB_ID_RGB21: &str = "benny_horse_salad_E3AsDKsHSqAPQLvJke3DcPrkErbS2Jxf8pQ8jYBQYJPA"; +pub const LIB_ID_RGB21: &str = "morph_angel_jeep_3miGC5GTW58CeuGJgomApmdjm8N6Yu6YuuURS8N4WVBA"; #[derive( Wrapper, WrapperMut, Copy, Clone, Ord, PartialOrd, Eq, PartialEq, Hash, Debug, Default, From diff --git a/std/src/stl/specs.rs b/std/src/stl/specs.rs index 9e2821c5..64fbe098 100644 --- a/std/src/stl/specs.rs +++ b/std/src/stl/specs.rs @@ -507,15 +507,14 @@ impl FromStr for RicardianContract { derive(Serialize, Deserialize), serde(crate = "serde_crate", transparent) )] -pub struct Timestamp(i32); +pub struct Timestamp(i64); impl StrictSerialize for Timestamp {} impl StrictDeserialize for Timestamp {} impl Timestamp { - pub fn to_utc(self) -> DateTime { - let naive = NaiveDateTime::from_timestamp_opt(self.0 as i64, 0) - .expect("32-bit timestamp is always valid"); - DateTime::::from_utc(naive, Utc) + pub fn to_utc(self) -> Option> { + NaiveDateTime::from_timestamp_opt(self.0, 0) + .map(|naive| DateTime::::from_utc(naive, Utc)) } pub fn from_strict_val_unchecked(value: &StrictVal) -> Self { Self(value.unwrap_uint()) } diff --git a/std/src/stl/stl.rs b/std/src/stl/stl.rs index ccd0f273..43544e02 100644 --- a/std/src/stl/stl.rs +++ b/std/src/stl/stl.rs @@ -38,7 +38,7 @@ use crate::LIB_NAME_RGB_STD; /// Strict types id for the library providing standard data types which may be /// used in RGB smart contracts. pub const LIB_ID_RGB_CONTRACT: &str = - "price_canvas_oliver_9Te5P6nq3oaDHMgttLEbkojbeQPTqqZLhjxZ3my1F8aJ"; + "spoon_shadow_evening_6vbr9ZrtsD9aBjo5qRQ36QEZPVucqvRRjKCPqE8yPeJr"; /// Strict types id for the library representing of RGB StdLib data types. pub const LIB_ID_RGB_STD: &str = "parent_maze_jessica_3KXsWZ6hSKRbPjSVwRGbwnwJp3ZNQ2tfe6QUwLJEDG6K"; diff --git a/std/tests/data/rgb20.rgba b/std/tests/data/rgb20.rgba index a828f65d..af1c9400 100644 --- a/std/tests/data/rgb20.rgba +++ b/std/tests/data/rgb20.rgba @@ -1,10 +1,10 @@ -----BEGIN RGB INTERFACE----- -Id: 9Lnb2L6MmCmuiRUqfbiwVtp3NErR6eR5kLX7q3NQDAXW +Id: 48hc4im9JRcYQAuUSzwFCKVNEa9eZfnhepU8QJpqosXS Name: RGB20 AAVSR0IyMAYMYnVybmVkU3VwcGx5AYiMWGVjOvE7lbfNGo2K8trB3BQLl3JR2dTa -88dRHI6EAAEHY3JlYXRlZAFZbno6DqNlnhAw8YtNZaO5E+5YUAf8914Lts3BacHA -OwEABGRhdGEBHUILZdBBGlIYHYsC89qDqplVfYLTs7sHm15bzCA8M+MBAAxpc3N1 +88dRHI6EAAEHY3JlYXRlZAFiuDNAm91dkiGv542PYZJIHgAgN0rnBO3BfJfrjjl6 +hgEABGRhdGEBHUILZdBBGlIYHYsC89qDqplVfYLTs7sHm15bzCA8M+MBAAxpc3N1 ZWRTdXBwbHkBiIxYZWM68TuVt80ajYry2sHcFAuXclHZ1Nrzx1EcjoQBAQ5yZXBs YWNlZFN1cHBseQGIjFhlYzrxO5W3zRqNivLawdwUC5dyUdnU2vPHURyOhAABBHNw ZWMBmWJNt+QmkplUky7fyNJnpVKXAik81avAVk5vIlsz+vEBAAUKYXNzZXRPd25l @@ -27,7 +27,7 @@ AQ5yZXBsYWNlZFN1cHBseQABAAEAAQR1c2VkAQlidXJuUmlnaHQBAAEAAgtiZW5l ZmljaWFyeQEKYXNzZXRPd25lcgAA//8GZnV0dXJlAQlidXJuUmlnaHQAAAEAAAQB AgMFAQtiZW5lZmljaWFyeQhUcmFuc2ZlcgAAAAEIcHJldmlvdXMBCmFzc2V0T3du ZXIBAP//AQtiZW5lZmljaWFyeQEKYXNzZXRPd25lcgEA//8AAQIBC2JlbmVmaWNp -YXJ5AKGHno9Wvdb9jKMjuU854GBkOqaaOSGRlNYMTIp8ewHIAQhUcmFuc2ZlckcA +YXJ5AKGHno9Wvdb9jKMjuU854GBkOqaaOSGRlNYMTIp8ewHIAQhUcmFuc2ZlckgA AAEZbYUpyPbaRE0VTo2cjL2eD42JAlo7sJEhxj1SsB6HBQGlz/sydRMHfk8fyWBy koJEoB6hjGza9ZjaC1c1rAde1wTmWH8s9ni/g1nkiHa9jlTtNm6OJzU5OGgO2daO 567uCByrv8PYJsC/0el3Coie+syLZxatAUo+7BC2WRUwIpBCAAAAAAAAAAD///// @@ -85,121 +85,122 @@ pvbXT9prYVsrFgaLCGxvY2tUaW1lNdodFTkgbrvd3KTDPYcx6vKbp9p03z3IgiAc Tha1uRwqW6qsUIn/CY0VC0gs/ti80BqRwNe0XTIhbtV2q3Hr3Qccq7/D2CbAv9Hp dwqInvrMi2cWrQFKPuwQtlkVMCKQQiAALSUZOQcC2aNIS3niiee78qjK1/tdK8Cl +Ecdum+jwDwDGgFBQQFCQgFDQwFERAFFRQFGRgFHRwFISAFJSQFKSgFLSwFMTAFN -TQFOTgFPTwFQUAFRUQFSUgFTUwFUVAFVVQFWVgFXVwFYWAFZWQFaWjGOyqByhwvZ -UjCpUVpqqhSYK6yeP7FeolKOsEBSJ6ehBgEKYnVyblByb29mc0ezUyBT+D/BrTq+ -iEU2IMtkfYbOXuTj3la1yThCPrnNM5hAho+cqmWs0IdNGgbrLuJhTNzVN/d2Fcg2 -y5phPZMDPwRkYXNoLQR6ZXJvMANvbmUxA3R3bzIFdGhyZWUzBGZvdXI0BGZpdmU1 -A3NpeDYFc2V2ZW43BWVpZ2h0OARuaW5lOQFBQQFCQgFDQwFERAFFRQFGRgFHRwFI -SAFJSQFKSgFLSwFMTAFNTQFOTgFPTwFQUAFRUQFSUgFTUwFUVAFVVQFWVgFXVwFY -WAFZWQFaWgFhYQFiYgFjYwFkZAFlZQFmZgFnZwFoaAFpaQFqagFrawFsbAFtbQFu -bgFvbwFwcAFxcQFycgFzcwF0dAF1dQF2dgF3dwF4eAF5eQF6ejXaHRU5IG673dyk -wz2HMerym6fadN89yIIgHE4WtbkcBQGlz/sydRMHfk8fyWBykoJEoB6hjGza9Zja -C1c1rAde1zh1BLFLfA5GbUeeF0d9JHQkf/gDZOw9S6r3OiD3QXRrBQElq/W5EhQX -uqM51F97FXWncUvhenUYXdAxNXrUyS3phjyK3Yk4NvjATAc9H0VNlSXPlqfXVXKW -+mY926rvqEOUAzQBQUEBQkIBQ0MBREQBRUUBRkYBR0cBSEgBSUkBSkoBS0sBTEwB +TQFOTgFPTwFQUAFRUQFSUgFTUwFUVAFVVQFWVgFXVwFYWAFZWQFaWi3R2khJ6GsO +e88ifpSd9JHh6Tajvd53IahobhswXHAjAEgxjsqgcocL2VIwqVFaaqoUmCusnj+x +XqJSjrBAUienoQYBCmJ1cm5Qcm9vZnNHs1MgU/g/wa06vohFNiDLZH2Gzl7k495W +tck4Qj65zTOYQIaPnKplrNCHTRoG6y7iYUzc1Tf3dhXINsuaYT2TAz8EZGFzaC0E +emVybzADb25lMQN0d28yBXRocmVlMwRmb3VyNARmaXZlNQNzaXg2BXNldmVuNwVl +aWdodDgEbmluZTkBQUEBQkIBQ0MBREQBRUUBRkYBR0cBSEgBSUkBSkoBS0sBTEwB TU0BTk4BT08BUFABUVEBUlIBU1MBVFQBVVUBVlYBV1cBWFgBWVkBWloBYWEBYmIB Y2MBZGQBZWUBZmYBZ2cBaGgBaWkBamoBa2sBbGwBbW0Bbm4Bb28BcHABcXEBcnIB -c3MBdHQBdXUBdnYBd3cBeHgBeXkBeno80aKdzK2bkXsmMF+JqKT7IRgwKk5zxawK -eA3mqwBecwMtBGV4Y2whBGhhc2gjBmRvbGxhciQDYW1wJgRwbHVzKwRkYXNoLQNk -b3QuBHplcm8wA29uZTEDdHdvMgV0aHJlZTMEZm91cjQEZml2ZTUDc2l4NgVzZXZl -bjcFZWlnaHQ4BG5pbmU5BWNhcmV0XgZsb2Rhc2hfAWFhAWJiAWNjAWRkAWVlAWZm -AWdnAWhoAWlpAWpqAWtrAWxsAW1tAW5uAW9vAXBwAXFxAXJyAXNzAXR0AXV1AXZ2 -AXd3AXh4AXl5AXp6Pytyt8SvGmMMttP/CIuvNRCT7kZbnn1HKmEAguRJ1+QFAWOq -IxTosUfIsoTfs5qeENGcqtX66oSOPLmEnZFn1jRKRbeAJYYBxSayO1tIYUYKkFDh -PzX7voMFqAARV+QBOIgEAgAEbm9uZdg/vuAvDeW0bPgP4R73/fBhx42XXTGt6e6i -vECZM55sAQRzb21lyv+PrrOKAKBONiFTj45h11qFpGXLCg5Iw1k+fqpsX8dGe6yB -ObH1E/03sx50RZ2GCrL2cDPamtRy5to9H/OKewYBCHJlc2VydmVzR7NTIFP4P8Gt -Or6IRTYgy2R9hs5e5OPeVrXJOEI+uc1Hs1MgU/g/wa06vohFNiDLZH2Gzl7k495W -tck4Qj65zQkO0ho7GYX49V8a/8cmHVUfa6tL8gbNxEj9y5e3xEgJzQAAAAAAAAAA -//8AAAAAAABQFBBfDEAmyhKrrjd94m+OPKBgjdNsSD7XD0cZXNM01AUBhN4DwH0d -R3u3bUCpR9JuHth9xE6vhnIN1NyKSARzc7NWDZb3pHkkssPfBA5kYzmP1l/VkWUs -KUNCv6X5ORVRVAj7qVhyGj0zVAazaMNvWoJ5CWDM4jn+vK/hibqYOdXaeAAAAAAA -AAAA//8AAAAAAABWHinQV9Q+AulObV2Zfw7qcWx1uxrjEvnBxlPa8wOUUAg80aKd -zK2bkXsmMF+JqKT7IRgwKk5zxawKeA3mqwBecwEAAAAAAAAAQAAAAAAAAABZbno6 -DqNlnhAw8YtNZaO5E+5YUAf8914Lts3BacHAOwUBZjLaZLv1vDzJ9SJFL1N3qDgE -zc2VAGvEZ6E5TMGitI9coUlYXeU07pGz46Awt+/UzbeavqkVLxAfN1m0xyEOHwAI -XQPEF42pjn4/OvND45l9dCAdEfQnMs++orBLjj/xXyIDEwtpbmRpdmlzaWJsZQAE -ZGVjaQEFY2VudGkCBW1pbGxpAwlkZWNpTWlsbGkECmNlbnRpTWlsbGkFBW1pY3Jv -BglkZWNpTWljcm8HCmNlbnRpTWljcm8IBG5hbm8JCGRlY2lOYW5vCgljZW50aU5h -bm8LBHBpY28MCGRlY2lQaWNvDQljZW50aVBpY28OBWZlbXRvDwlkZWNpRmVtdG8Q -CmNlbnRpRmVtdG8RBGF0dG8SYBXA5wdkqfSK5x3USMr0A1v/69ti7/cNyHlChviR -D0EDJAR6ZXJvMANvbmUxA3R3bzIFdGhyZWUzBGZvdXI0BGZpdmU1A3NpeDYFc2V2 -ZW43BWVpZ2h0OARuaW5lOQFBQQFCQgFDQwFERAFFRQFGRgFHRwFISAFJSQFKSgFL -SwFMTAFNTQFOTgFPTwFQUAFRUQFSUgFTUwFUVAFVVQFWVgFXVwFYWAFZWQFaWmGG -ItF7rvBmAt/ndcmA4LNrbrroCQ2AdfdRO+xLk/ZNAwIFZmFsc2UABHRydWUBY6oj -FOixR8iyhN+zmp4Q0Zyq1frqhI48uYSdkWfWNEoI+6lYcho9M1QGs2jDb1qCeQlg -zOI5/ryv4Ym6mDnV2ngBAAAAAAAAAP8AAAAAAAAAZjLaZLv1vDzJ9SJFL1N3qDgE -zc2VAGvEZ6E5TMGitI8ARGcdubdnF/nDazz5Uzdd7bKOJ4AJ0mKv+Goj34HUbT6h -BgMEdHlwZYx5pcISvhuCXhm9VH4JGreAYBu25yP782ZUkUYOpYkpB3N1YnR5cGWP -9i/grW/m/mqCXVtVeTyKyHKtLymY5Q6Tlfykijw7ZwdjaGFyc2V0j/Yv4K1v5v5q -gl1bVXk8ishyrS8pmOUOk5X8pIo8O2dyjqaKl950IPYqWWmwS4cmBL9F1t84lZx+ -JuenJJDkrQM/BHplcm8wA29uZTEDdHdvMgV0aHJlZTMEZm91cjQEZml2ZTUDc2l4 -NgVzZXZlbjcFZWlnaHQ4BG5pbmU5AUFBAUJCAUNDAUREAUVFAUZGAUdHAUhIAUlJ -AUpKAUtLAUxMAU1NAU5OAU9PAVBQAVFRAVJSAVNTAVRUAVVVAVZWAVdXAVhYAVlZ -AVpaBmxvZGFzaF8BYWEBYmIBY2MBZGQBZWUBZmYBZ2cBaGgBaWkBamoBa2sBbGwB -bW0Bbm4Bb28BcHABcXEBcnIBc3MBdHQBdXUBdnYBd3cBeHgBeXkBenpzd0NwNpMg -Sc0olQiqcXzjgp2yRS5V6E7U/C48zS4AnQUBx6Va1fbrKxQH2aI3Rc2B0aZ1wqjw -mXbno5rHd9dePbV3wLjWbo/Qbr5UGiGiiu74qNq19JrMggMUqk7bjc19VAgZRy0X -2GIHpw8hMalYoWilbirWUz+cZkwZd9pc+f5ihgAAAAAAAAAA/////wAAAACAV64H -9HuSOszFNh/PQNkpguhB91fdWbFte9vI6r6ZpQUBGBqh4+10vVGjzNtsshgL1BPy -+JHCinZfFqKo87otq7GE3gPAfR1He7dtQKlH0m4e2H3ETq+Gcg3U3IpIBHNzswgL -bFANlCZEYvtxwOh0eAN2lbRkYVi57FGd1tR+dNxU8wEAAAAAAAAAKAAAAAAAAACI -jFhlYzrxO5W3zRqNivLawdwUC5dyUdnU2vPHURyOhAUBXKFJWF3lNO6Rs+OgMLfv -1M23mr6pFS8QHzdZtMchDh+MeaXCEr4bgl4ZvVR+CRq3gGAbtucj+/NmVJFGDqWJ -KQUBVh4p0FfUPgLpTm1dmX8O6nFsdbsa4xL5wcZT2vMDlFCP9i/grW/m/mqCXVtV -eTyKyHKtLymY5Q6Tlfykijw7ZwQCAARub25l2D++4C8N5bRs+A/hHvf98GHHjZdd -Ma3p7qK8QJkznmwBBHNvbWUYtwXhXbnrd3fB+dw0nvBu2R6UgC9Nqw/xeYaVCnOM -fpA7ZHB5hI8bJlMq5M7GpolEoFNYuPCByyazu/gtnjvzBgIFdmFsdWWX9dcGQq4q -M5IlO6hOHc7Ek+O/PtNxsYdzhjVOzIiCawxzY3JpcHRQdWJrZXm+/B78ZqUZ/WRS -ajoTh0Dn8RAtC77/OsFGTvP3QHZ0XJf11wZCriozkiU7qE4dzsST478+03Gxh3OG -NU7MiIJrBQFcoUlYXeU07pGz46Awt+/UzbeavqkVLxAfN1m0xyEOH5liTbfkJpKZ -VJMu38jSZ6VSlwIpPNWrwFZObyJbM/rxBgIGbmFtaW5n3nx1PGvVZ3T4ckUwbKRj -QJcQzuAb7cqRIPyu75O/9YYJcHJlY2lzaW9uXQPEF42pjn4/OvND45l9dCAdEfQn -Ms++orBLjj/xXyKhMc/ld5RQAWjg2akfBwSTu0aoJ9782IfI1/p8Q3d58QMQBHU0 -XzAABHU0XzEBBHU0XzICBHU0XzMDBHU0XzQEBHU0XzUFBHU0XzYGBHU0XzcHBHU0 -XzgIBHU0XzkJBXU0XzEwCgV1NF8xMQsFdTRfMTIMBXU0XzEzDQV1NF8xNA4FdTRf -MTUPoYeej1a91v2MoyO5TzngYGQ6ppo5IZGU1gxMinx7AcgDBg5zdXBwbHlNaXNt -YXRjaAEPbm9uRXF1YWxBbW91bnRzAgxpbnZhbGlkUHJvb2YDFGluc3VmZmljaWVu -dFJlc2VydmVzBBRpbnN1ZmZpY2llbnRDb3ZlcmFnZQUVaXNzdWVFeGNlZWRzQWxs -b3dhbmNlBqOCQvPL19HQoRLajeFgL1bU+G8OxMR2xcBoWUxLBGVWBQEqW6qsUIn/ -CY0VC0gs/ti80BqRwNe0XTIhbtV2q3Hr3aXP+zJ1Ewd+Tx/JYHKSgkSgHqGMbNr1 -mNoLVzWsB17XAASmLjhKE1GEGDudprl5awbojHXGgDE53TkRSOoEmuPX4QMQBHpl -cm8wA29uZTEDdHdvMgV0aHJlZTMEZm91cjQEZml2ZTUDc2l4NgVzZXZlbjcFZWln -aHQ4BG5pbmU5A3RlbmEGZWxldmVuYgZ0d2VsdmVjCHRoaXJ0ZWVuZAhmb3VydGVl -bmUHZmlmdGVlbmaofMZ5ZGflV9dE5cliOuAMy5XZGg0vA990wHUST77HngUBZjLa -ZLv1vDzJ9SJFL1N3qDgEzc2VAGvEZ6E5TMGitI+ygq2gFpnmLPxsSleGYVMNvcqT -LKb210/aa2FbKxYGiwiQO2RweYSPGyZTKuTOxqaJRKBTWLjwgcsms7v4LZ478wAA -AAAAAAAA/////wAAAAC2H+dXTuCC66lhZl9mrrIJMJYSI5CWTSBkmye158h1FAYC -BHR5cGVnHbm3Zxf5w2s8+VM3Xe2yjieACdJir/hqI9+B1G0+oQZkaWdlc3QqW6qs -UIn/CY0VC0gs/ti80BqRwNe0XTIhbtV2q3Hr3bqg4/yrnVXRaLseJoNxU6/on4Oi -fgSYVU05Y/ZDH9P0Az4EemVybzADb25lMQN0d28yBXRocmVlMwRmb3VyNARmaXZl -NQNzaXg2BXNldmVuNwVlaWdodDgEbmluZTkBQUEBQkIBQ0MBREQBRUUBRkYBR0cB -SEgBSUkBSkoBS0sBTEwBTU0BTk4BT08BUFABUVEBUlIBU1MBVFQBVVUBVlYBV1cB -WFgBWVkBWloBYWEBYmIBY2MBZGQBZWUBZmYBZ2cBaGgBaWkBamoBa2sBbGwBbW0B -bm4Bb28BcHABcXEBcnIBc3MBdHQBdXUBdnYBd3cBeHgBeXkBenq8KJGxxmrF9eYQ -WaMgd9qoIzOhQ1vTRgizCwP8AX2VRQMKBHplcm8wA29uZTEDdHdvMgV0aHJlZTME -Zm91cjQEZml2ZTUDc2l4NgVzZXZlbjcFZWlnaHQ4BG5pbmU5vvwe/GalGf1kUmo6 -E4dA5/EQLQu+/zrBRk7z90B2dFwFASWr9bkSFBe6oznUX3sVdadxS+F6dRhd0DE1 -etTJLemGx6Va1fbrKxQH2aI3Rc2B0aZ1wqjwmXbno5rHd9dePbUIBOZYfyz2eL+D -WeSIdr2OVO02bo4nNTk4aA7Z1o7nru4AAAAAAAAAAP////8AAAAAyv+PrrOKAKBO -NiFTj45h11qFpGXLCg5Iw1k+fqpsX8cFAT8rcrfErxpjDLbT/wiLrzUQk+5GW559 -RyphAILkSdfk2D++4C8N5bRs+A/hHvf98GHHjZddMa3p7qK8QJkznmwAAN58dTxr -1Wd0+HJFMGykY0CXEM7gG+3KkSD8ru+Tv/WGBgMGdGlja2VygFeuB/R7kjrMxTYf -z0DZKYLoQfdX3VmxbXvbyOq+maUEbmFtZVAUEF8MQCbKEquuN33ib448oGCN02xI -PtcPRxlc0zTUB2RldGFpbHNFt4AlhgHFJrI7W0hhRgqQUOE/Nfu+gwWoABFX5AE4 -iODwBtWKRkeZY2CI9zjOy52kvOfQEO7Lah6PGnRKwwX6BAIABG5vbmXYP77gLw3l -tGz4D+Ee9/3wYceNl10xrenuorxAmTOebAEEc29tZeROugrVnh8GlR4UT+mKWsEV -m8tHfnBPYE4TfQIj9MOG5E66CtWeHwaVHhRP6YpawRWby0d+cE9gThN9AiP0w4YF -AbYf51dO4ILrqWFmX2ausgkwlhIjkJZNIGSbJ7XnyHUU6GpAzVwl+b3ihP9ppREy -p0ErIVW9DlYSwb/jhJVgxQYGAgR0eGlko4JC88vX0dChEtqN4WAvVtT4bw7ExHbF -wGhZTEsEZVYEdm91dCHjPkPFqlzyKSdTozjBZ+07Y5xN2c69qY80aRe6yUN17t7D -66oI+wEPL5bheg4Dmth/5gdxpzAfjF6ImV0FZ2sDEAR6ZXJvMANvbmUxA3R3bzIF -dGhyZWUzBGZvdXI0BGZpdmU1A3NpeDYFc2V2ZW43BWVpZ2h0OARuaW5lOQN0ZW5B -BmVsZXZlbkIGdHdlbHZlQwh0aGlydGVlbkQIZm91cnRlZW5FB2ZpZnRlZW5G8rok -gBaefTpI/QAwLR/fgLnjEY8BolumdS19z4HvCDgIHKu/w9gmwL/R6XcKiJ76zItn -Fq0BSj7sELZZFTAikEIAAAAAAAAAAP//AAAAAAAA+RcIBN2uBHn41a90qzvSAubq -QXLZqbk3BxUa23/EDKEDGgFhYQFiYgFjYwFkZAFlZQFmZgFnZwFoaAFpaQFqagFr -awFsbAFtbQFubgFvbwFwcAFxcQFycgFzcwF0dAF1dQF2dgF3dwF4eAF5eQF6evup -WHIaPTNUBrNow29agnkJYMziOf68r+GJupg51dp4AQ== +c3MBdHQBdXUBdnYBd3cBeHgBeXkBeno12h0VOSBuu93cpMM9hzHq8pun2nTfPciC +IBxOFrW5HAUBpc/7MnUTB35PH8lgcpKCRKAeoYxs2vWY2gtXNawHXtc4dQSxS3wO +Rm1HnhdHfSR0JH/4A2TsPUuq9zog90F0awUBJav1uRIUF7qjOdRfexV1p3FL4Xp1 +GF3QMTV61Mkt6YY8it2JODb4wEwHPR9FTZUlz5an11VylvpmPduq76hDlAM0AUFB +AUJCAUNDAUREAUVFAUZGAUdHAUhIAUlJAUpKAUtLAUxMAU1NAU5OAU9PAVBQAVFR +AVJSAVNTAVRUAVVVAVZWAVdXAVhYAVlZAVpaAWFhAWJiAWNjAWRkAWVlAWZmAWdn +AWhoAWlpAWpqAWtrAWxsAW1tAW5uAW9vAXBwAXFxAXJyAXNzAXR0AXV1AXZ2AXd3 +AXh4AXl5AXp6PNGincytm5F7JjBfiaik+yEYMCpOc8WsCngN5qsAXnMDLQRleGNs +IQRoYXNoIwZkb2xsYXIkA2FtcCYEcGx1cysEZGFzaC0DZG90LgR6ZXJvMANvbmUx +A3R3bzIFdGhyZWUzBGZvdXI0BGZpdmU1A3NpeDYFc2V2ZW43BWVpZ2h0OARuaW5l +OQVjYXJldF4GbG9kYXNoXwFhYQFiYgFjYwFkZAFlZQFmZgFnZwFoaAFpaQFqagFr +awFsbAFtbQFubgFvbwFwcAFxcQFycgFzcwF0dAF1dQF2dgF3dwF4eAF5eQF6ej8r +crfErxpjDLbT/wiLrzUQk+5GW559RyphAILkSdfkBQFjqiMU6LFHyLKE37OanhDR +nKrV+uqEjjy5hJ2RZ9Y0SkW3gCWGAcUmsjtbSGFGCpBQ4T81+76DBagAEVfkATiI +BAIABG5vbmXYP77gLw3ltGz4D+Ee9/3wYceNl10xrenuorxAmTOebAEEc29tZcr/ +j66zigCgTjYhU4+OYddahaRlywoOSMNZPn6qbF/HRnusgTmx9RP9N7MedEWdhgqy +9nAz2prUcubaPR/zinsGAQhyZXNlcnZlc0ezUyBT+D/BrTq+iEU2IMtkfYbOXuTj +3la1yThCPrnNR7NTIFP4P8GtOr6IRTYgy2R9hs5e5OPeVrXJOEI+uc0JDtIaOxmF ++PVfGv/HJh1VH2urS/IGzcRI/cuXt8RICc0AAAAAAAAAAP//AAAAAAAAUBQQXwxA +JsoSq643feJvjjygYI3TbEg+1w9HGVzTNNQFAYTeA8B9HUd7t21AqUfSbh7YfcRO +r4ZyDdTcikgEc3OzVg2W96R5JLLD3wQOZGM5j9Zf1ZFlLClDQr+l+TkVUVQI+6lY +cho9M1QGs2jDb1qCeQlgzOI5/ryv4Ym6mDnV2ngAAAAAAAAAAP//AAAAAAAAVh4p +0FfUPgLpTm1dmX8O6nFsdbsa4xL5wcZT2vMDlFAIPNGincytm5F7JjBfiaik+yEY +MCpOc8WsCngN5qsAXnMBAAAAAAAAAEAAAAAAAAAAXKFJWF3lNO6Rs+OgMLfv1M23 +mr6pFS8QHzdZtMchDh8ACF0DxBeNqY5+PzrzQ+OZfXQgHRH0JzLPvqKwS44/8V8i +AxMLaW5kaXZpc2libGUABGRlY2kBBWNlbnRpAgVtaWxsaQMJZGVjaU1pbGxpBApj +ZW50aU1pbGxpBQVtaWNybwYJZGVjaU1pY3JvBwpjZW50aU1pY3JvCARuYW5vCQhk +ZWNpTmFubwoJY2VudGlOYW5vCwRwaWNvDAhkZWNpUGljbw0JY2VudGlQaWNvDgVm +ZW10bw8JZGVjaUZlbXRvEApjZW50aUZlbXRvEQRhdHRvEmAVwOcHZKn0iucd1EjK +9ANb/+vbYu/3Dch5Qob4kQ9BAyQEemVybzADb25lMQN0d28yBXRocmVlMwRmb3Vy +NARmaXZlNQNzaXg2BXNldmVuNwVlaWdodDgEbmluZTkBQUEBQkIBQ0MBREQBRUUB +RkYBR0cBSEgBSUkBSkoBS0sBTEwBTU0BTk4BT08BUFABUVEBUlIBU1MBVFQBVVUB +VlYBV1cBWFgBWVkBWlphhiLRe67wZgLf53XJgOCza2666AkNgHX3UTvsS5P2TQMC +BWZhbHNlAAR0cnVlAWK4M0Cb3V2SIa/njY9hkkgeACA3SucE7cF8l+uOOXqGBQEt +0dpISehrDnvPIn6UnfSR4ek2o73edyGoaG4bMFxwI2OqIxTosUfIsoTfs5qeENGc +qtX66oSOPLmEnZFn1jRKCPupWHIaPTNUBrNow29agnkJYMziOf68r+GJupg51dp4 +AQAAAAAAAAD/AAAAAAAAAGYy2mS79bw8yfUiRS9Td6g4BM3NlQBrxGehOUzBorSP +AERnHbm3Zxf5w2s8+VM3Xe2yjieACdJir/hqI9+B1G0+oQYDBHR5cGWMeaXCEr4b +gl4ZvVR+CRq3gGAbtucj+/NmVJFGDqWJKQdzdWJ0eXBlj/Yv4K1v5v5qgl1bVXk8 +ishyrS8pmOUOk5X8pIo8O2cHY2hhcnNldI/2L+Ctb+b+aoJdW1V5PIrIcq0vKZjl +DpOV/KSKPDtnco6mipfedCD2KllpsEuHJgS/RdbfOJWcfibnpySQ5K0DPwR6ZXJv +MANvbmUxA3R3bzIFdGhyZWUzBGZvdXI0BGZpdmU1A3NpeDYFc2V2ZW43BWVpZ2h0 +OARuaW5lOQFBQQFCQgFDQwFERAFFRQFGRgFHRwFISAFJSQFKSgFLSwFMTAFNTQFO +TgFPTwFQUAFRUQFSUgFTUwFUVAFVVQFWVgFXVwFYWAFZWQFaWgZsb2Rhc2hfAWFh +AWJiAWNjAWRkAWVlAWZmAWdnAWhoAWlpAWpqAWtrAWxsAW1tAW5uAW9vAXBwAXFx +AXJyAXNzAXR0AXV1AXZ2AXd3AXh4AXl5AXp6c3dDcDaTIEnNKJUIqnF844KdskUu +VehO1PwuPM0uAJ0FAcelWtX26ysUB9miN0XNgdGmdcKo8Jl256Oax3fXXj21d8C4 +1m6P0G6+VBohooru+KjatfSazIIDFKpO243NfVQIGUctF9hiB6cPITGpWKFopW4q +1lM/nGZMGXfaXPn+YoYAAAAAAAAAAP////8AAAAAgFeuB/R7kjrMxTYfz0DZKYLo +QfdX3VmxbXvbyOq+maUFARgaoePtdL1Ro8zbbLIYC9QT8viRwop2XxaiqPO6Laux +hN4DwH0dR3u3bUCpR9JuHth9xE6vhnIN1NyKSARzc7MIC2xQDZQmRGL7ccDodHgD +dpW0ZGFYuexRndbUfnTcVPMBAAAAAAAAACgAAAAAAAAAiIxYZWM68TuVt80ajYry +2sHcFAuXclHZ1Nrzx1EcjoQFAVyhSVhd5TTukbPjoDC379TNt5q+qRUvEB83WbTH +IQ4fjHmlwhK+G4JeGb1Ufgkat4BgG7bnI/vzZlSRRg6liSkFAVYeKdBX1D4C6U5t +XZl/DupxbHW7GuMS+cHGU9rzA5RQj/Yv4K1v5v5qgl1bVXk8ishyrS8pmOUOk5X8 +pIo8O2cEAgAEbm9uZdg/vuAvDeW0bPgP4R73/fBhx42XXTGt6e6ivECZM55sAQRz +b21lGLcF4V2563d3wfncNJ7wbtkelIAvTasP8XmGlQpzjH6QO2RweYSPGyZTKuTO +xqaJRKBTWLjwgcsms7v4LZ478wYCBXZhbHVll/XXBkKuKjOSJTuoTh3OxJPjvz7T +cbGHc4Y1TsyIgmsMc2NyaXB0UHVia2V5vvwe/GalGf1kUmo6E4dA5/EQLQu+/zrB +Rk7z90B2dFyX9dcGQq4qM5IlO6hOHc7Ek+O/PtNxsYdzhjVOzIiCawUBXKFJWF3l +NO6Rs+OgMLfv1M23mr6pFS8QHzdZtMchDh+ZYk235CaSmVSTLt/I0melUpcCKTzV +q8BWTm8iWzP68QYCBm5hbWluZ958dTxr1Wd0+HJFMGykY0CXEM7gG+3KkSD8ru+T +v/WGCXByZWNpc2lvbl0DxBeNqY5+PzrzQ+OZfXQgHRH0JzLPvqKwS44/8V8ioTHP +5XeUUAFo4NmpHwcEk7tGqCfe/NiHyNf6fEN3efEDEAR1NF8wAAR1NF8xAQR1NF8y +AgR1NF8zAwR1NF80BAR1NF81BQR1NF82BgR1NF83BwR1NF84CAR1NF85CQV1NF8x +MAoFdTRfMTELBXU0XzEyDAV1NF8xMw0FdTRfMTQOBXU0XzE1D6GHno9Wvdb9jKMj +uU854GBkOqaaOSGRlNYMTIp8ewHIAwYOc3VwcGx5TWlzbWF0Y2gBD25vbkVxdWFs +QW1vdW50cwIMaW52YWxpZFByb29mAxRpbnN1ZmZpY2llbnRSZXNlcnZlcwQUaW5z +dWZmaWNpZW50Q292ZXJhZ2UFFWlzc3VlRXhjZWVkc0FsbG93YW5jZQajgkLzy9fR +0KES2o3hYC9W1PhvDsTEdsXAaFlMSwRlVgUBKluqrFCJ/wmNFQtILP7YvNAakcDX +tF0yIW7Vdqtx692lz/sydRMHfk8fyWBykoJEoB6hjGza9ZjaC1c1rAde1wAEpi44 +ShNRhBg7naa5eWsG6Ix1xoAxOd05EUjqBJrj1+EDEAR6ZXJvMANvbmUxA3R3bzIF +dGhyZWUzBGZvdXI0BGZpdmU1A3NpeDYFc2V2ZW43BWVpZ2h0OARuaW5lOQN0ZW5h +BmVsZXZlbmIGdHdlbHZlYwh0aGlydGVlbmQIZm91cnRlZW5lB2ZpZnRlZW5mqHzG +eWRn5VfXROXJYjrgDMuV2RoNLwPfdMB1Ek++x54FAWYy2mS79bw8yfUiRS9Td6g4 +BM3NlQBrxGehOUzBorSPsoKtoBaZ5iz8bEpXhmFTDb3Kkyym9tdP2mthWysWBosI +kDtkcHmEjxsmUyrkzsamiUSgU1i48IHLJrO7+C2eO/MAAAAAAAAAAP////8AAAAA +th/nV07gguupYWZfZq6yCTCWEiOQlk0gZJsntefIdRQGAgR0eXBlZx25t2cX+cNr +PPlTN13tso4ngAnSYq/4aiPfgdRtPqEGZGlnZXN0KluqrFCJ/wmNFQtILP7YvNAa +kcDXtF0yIW7Vdqtx6926oOP8q51V0Wi7HiaDcVOv6J+Don4EmFVNOWP2Qx/T9AM+ +BHplcm8wA29uZTEDdHdvMgV0aHJlZTMEZm91cjQEZml2ZTUDc2l4NgVzZXZlbjcF +ZWlnaHQ4BG5pbmU5AUFBAUJCAUNDAUREAUVFAUZGAUdHAUhIAUlJAUpKAUtLAUxM +AU1NAU5OAU9PAVBQAVFRAVJSAVNTAVRUAVVVAVZWAVdXAVhYAVlZAVpaAWFhAWJi +AWNjAWRkAWVlAWZmAWdnAWhoAWlpAWpqAWtrAWxsAW1tAW5uAW9vAXBwAXFxAXJy +AXNzAXR0AXV1AXZ2AXd3AXh4AXl5AXp6vCiRscZqxfXmEFmjIHfaqCMzoUNb00YI +swsD/AF9lUUDCgR6ZXJvMANvbmUxA3R3bzIFdGhyZWUzBGZvdXI0BGZpdmU1A3Np +eDYFc2V2ZW43BWVpZ2h0OARuaW5lOb78HvxmpRn9ZFJqOhOHQOfxEC0Lvv86wUZO +8/dAdnRcBQElq/W5EhQXuqM51F97FXWncUvhenUYXdAxNXrUyS3phselWtX26ysU +B9miN0XNgdGmdcKo8Jl256Oax3fXXj21CATmWH8s9ni/g1nkiHa9jlTtNm6OJzU5 +OGgO2daO567uAAAAAAAAAAD/////AAAAAMr/j66zigCgTjYhU4+OYddahaRlywoO +SMNZPn6qbF/HBQE/K3K3xK8aYwy20/8Ii681EJPuRluefUcqYQCC5EnX5Ng/vuAv +DeW0bPgP4R73/fBhx42XXTGt6e6ivECZM55sAADefHU8a9VndPhyRTBspGNAlxDO +4BvtypEg/K7vk7/1hgYDBnRpY2tlcoBXrgf0e5I6zMU2H89A2SmC6EH3V91ZsW17 +28jqvpmlBG5hbWVQFBBfDEAmyhKrrjd94m+OPKBgjdNsSD7XD0cZXNM01AdkZXRh +aWxzRbeAJYYBxSayO1tIYUYKkFDhPzX7voMFqAARV+QBOIjg8AbVikZHmWNgiPc4 +zsudpLzn0BDuy2oejxp0SsMF+gQCAARub25l2D++4C8N5bRs+A/hHvf98GHHjZdd +Ma3p7qK8QJkznmwBBHNvbWXkTroK1Z4fBpUeFE/pilrBFZvLR35wT2BOE30CI/TD +huROugrVnh8GlR4UT+mKWsEVm8tHfnBPYE4TfQIj9MOGBQG2H+dXTuCC66lhZl9m +rrIJMJYSI5CWTSBkmye158h1FOhqQM1cJfm94oT/aaURMqdBKyFVvQ5WEsG/44SV +YMUGBgIEdHhpZKOCQvPL19HQoRLajeFgL1bU+G8OxMR2xcBoWUxLBGVWBHZvdXQh +4z5Dxapc8iknU6M4wWftO2OcTdnOvamPNGkXuslDde7ew+uqCPsBDy+W4XoOA5rY +f+YHcacwH4xeiJldBWdrAxAEemVybzADb25lMQN0d28yBXRocmVlMwRmb3VyNARm +aXZlNQNzaXg2BXNldmVuNwVlaWdodDgEbmluZTkDdGVuQQZlbGV2ZW5CBnR3ZWx2 +ZUMIdGhpcnRlZW5ECGZvdXJ0ZWVuRQdmaWZ0ZWVuRvK6JIAWnn06SP0AMC0f34C5 +4xGPAaJbpnUtfc+B7wg4CByrv8PYJsC/0el3Coie+syLZxatAUo+7BC2WRUwIpBC +AAAAAAAAAAD//wAAAAAAAPkXCATdrgR5+NWvdKs70gLm6kFy2am5NwcVGtt/xAyh +AxoBYWEBYmIBY2MBZGQBZWUBZmYBZ2cBaGgBaWkBamoBa2sBbGwBbW0Bbm4Bb28B +cHABcXEBcnIBc3MBdHQBdXUBdnYBd3cBeHgBeXkBenr7qVhyGj0zVAazaMNvWoJ5 +CWDM4jn+vK/hibqYOdXaeAE= -----END RGB INTERFACE----- diff --git a/std/tests/data/rgb21.rgba b/std/tests/data/rgb21.rgba index 4280a8cf..958927b5 100644 --- a/std/tests/data/rgb21.rgba +++ b/std/tests/data/rgb21.rgba @@ -1,10 +1,10 @@ -----BEGIN RGB INTERFACE----- -Id: 5pQ3Ef8Ad8kR3m2WyNAEV4WjS83UPZ4jwnrdhJKfAmRA +Id: Gh8n563qRmBcQeC9eKjAnEk3m6HvAqCWZcF1XPmGvSY Name: RGB21 AAVSR0IyMQYPYXR0YWNobWVudFR5cGVzAQhnVPQXicO5NRI0M9lZqkxUQRkLwpjh -yNGn7ZK+jFaEAAEHY3JlYXRlZAFZbno6DqNlnhAw8YtNZaO5E+5YUAf8914Lts3B -acHAOwEACmVuZ3JhdmluZ3MBNiKqTFMaQkPbAVdm9/VgF6uajwYISzZvVoiwSdVy +yNGn7ZK+jFaEAAEHY3JlYXRlZAFiuDNAm91dkiGv542PYZJIHgAgN0rnBO3BfJfr +jjl6hgEACmVuZ3JhdmluZ3MBNiKqTFMaQkPbAVdm9/VgF6uajwYISzZvVoiwSdVy qD4AAQRzcGVjAZliTbfkJpKZVJMu38jSZ6VSlwIpPNWrwFZObyJbM/rxAQAFdGVy bXMBGMuUbxKTzxgOnXjcxlvFm0cv//6t+/WNsZjMgyj2SwEBAAZ0b2tlbnMBa+fc OTq2xltI5JVCzR2KJ8oFhPUtmhLeFYkBl7rqi+AAAQMKYXNzZXRPd25lcgUYcO3L @@ -24,7 +24,7 @@ ZmljaWFyeQZSZW5hbWUBAAEDbmV3AQRzcGVjAQABAAEEdXNlZAELdXBkYXRlUmln aHQBAAEAAQZmdXR1cmUBC3VwZGF0ZVJpZ2h0AAABAAAAAQZmdXR1cmUIVHJhbnNm ZXIAAAABCHByZXZpb3VzAQphc3NldE93bmVyAQD//wELYmVuZWZpY2lhcnkBCmFz c2V0T3duZXIBAP//AAMBAgcBC2JlbmVmaWNpYXJ5AGuHzCBHak2qk1kLJWjbng7V -SrjEPI6Ti7cvThrX8eneAQhUcmFuc2ZlclsAAAEZbYUpyPbaRE0VTo2cjL2eD42J +SrjEPI6Ti7cvThrX8eneAQhUcmFuc2ZlclwAAAEZbYUpyPbaRE0VTo2cjL2eD42J Alo7sJEhxj1SsB6HBQGlz/sydRMHfk8fyWBykoJEoB6hjGza9ZjaC1c1rAde1wTm WH8s9ni/g1nkiHa9jlTtNm6OJzU5OGgO2daO567uCByrv8PYJsC/0el3Coie+syL ZxatAUo+7BC2WRUwIpBCAAAAAAAAAAD/////AAAAAAhnVPQXicO5NRI0M9lZqkxU @@ -93,152 +93,152 @@ jeFnD3jbU/lf3Lc6f7wb4/+RqmMGAgR0eXBlZx25t2cX+cNrPPlTN13tso4ngAnS Yq/4aiPfgdRtPqEEZGF0YfK6JIAWnn06SP0AMC0f34C54xGPAaJbpnUtfc+B7wg4 LSUZOQcC2aNIS3niiee78qjK1/tdK8Cl+Ecdum+jwDwDGgFBQQFCQgFDQwFERAFF RQFGRgFHRwFISAFJSQFKSgFLSwFMTAFNTQFOTgFPTwFQUAFRUQFSUgFTUwFUVAFV -VQFWVgFXVwFYWAFZWQFaWjGOyqByhwvZUjCpUVpqqhSYK6yeP7FeolKOsEBSJ6eh -BgEKYnVyblByb29mc0ezUyBT+D/BrTq+iEU2IMtkfYbOXuTj3la1yThCPrnNM5hA -ho+cqmWs0IdNGgbrLuJhTNzVN/d2Fcg2y5phPZMDPwRkYXNoLQR6ZXJvMANvbmUx -A3R3bzIFdGhyZWUzBGZvdXI0BGZpdmU1A3NpeDYFc2V2ZW43BWVpZ2h0OARuaW5l -OQFBQQFCQgFDQwFERAFFRQFGRgFHRwFISAFJSQFKSgFLSwFMTAFNTQFOTgFPTwFQ -UAFRUQFSUgFTUwFUVAFVVQFWVgFXVwFYWAFZWQFaWgFhYQFiYgFjYwFkZAFlZQFm -ZgFnZwFoaAFpaQFqagFrawFsbAFtbQFubgFvbwFwcAFxcQFycgFzcwF0dAF1dQF2 -dgF3dwF4eAF5eQF6ejXaHRU5IG673dykwz2HMerym6fadN89yIIgHE4WtbkcBQGl -z/sydRMHfk8fyWBykoJEoB6hjGza9ZjaC1c1rAde1zYiqkxTGkJD2wFXZvf1YBer -mo8GCEs2b1aIsEnVcqg+BgIJYXBwbGllZFRvZQFWQ+RIjPP3FDQBedcl6CjywEv8 -Qcw7J/YFT9o3cx0HY29udGVudCvaWmCQw6ojEWAZXI3hZw9421P5X9y3On+8G+P/ -kapjOHUEsUt8DkZtR54XR30kdCR/+ANk7D1Lqvc6IPdBdGsFASWr9bkSFBe6oznU -X3sVdadxS+F6dRhd0DE1etTJLemGPIrdiTg2+MBMBz0fRU2VJc+Wp9dVcpb6Zj3b -qu+oQ5QDNAFBQQFCQgFDQwFERAFFRQFGRgFHRwFISAFJSQFKSgFLSwFMTAFNTQFO -TgFPTwFQUAFRUQFSUgFTUwFUVAFVVQFWVgFXVwFYWAFZWQFaWgFhYQFiYgFjYwFk -ZAFlZQFmZgFnZwFoaAFpaQFqagFrawFsbAFtbQFubgFvbwFwcAFxcQFycgFzcwF0 -dAF1dQF2dgF3dwF4eAF5eQF6ejzRop3MrZuReyYwX4mopPshGDAqTnPFrAp4Dear -AF5zAy0EZXhjbCEEaGFzaCMGZG9sbGFyJANhbXAmBHBsdXMrBGRhc2gtA2RvdC4E -emVybzADb25lMQN0d28yBXRocmVlMwRmb3VyNARmaXZlNQNzaXg2BXNldmVuNwVl -aWdodDgEbmluZTkFY2FyZXReBmxvZGFzaF8BYWEBYmIBY2MBZGQBZWUBZmYBZ2cB -aGgBaWkBamoBa2sBbGwBbW0Bbm4Bb28BcHABcXEBcnIBc3MBdHQBdXUBdnYBd3cB -eHgBeXkBeno/K3K3xK8aYwy20/8Ii681EJPuRluefUcqYQCC5EnX5AUBY6ojFOix -R8iyhN+zmp4Q0Zyq1frqhI48uYSdkWfWNEpFt4AlhgHFJrI7W0hhRgqQUOE/Nfu+ -gwWoABFX5AE4iAQCAARub25l2D++4C8N5bRs+A/hHvf98GHHjZddMa3p7qK8QJkz -nmwBBHNvbWXK/4+us4oAoE42IVOPjmHXWoWkZcsKDkjDWT5+qmxfx0Z7rIE5sfUT -/TezHnRFnYYKsvZwM9qa1HLm2j0f84p7BgEIcmVzZXJ2ZXNHs1MgU/g/wa06vohF -NiDLZH2Gzl7k495Wtck4Qj65zUezUyBT+D/BrTq+iEU2IMtkfYbOXuTj3la1yThC -PrnNCQ7SGjsZhfj1Xxr/xyYdVR9rq0vyBs3ESP3Ll7fESAnNAAAAAAAAAAD//wAA -AAAAAFAUEF8MQCbKEquuN33ib448oGCN02xIPtcPRxlc0zTUBQGE3gPAfR1He7dt -QKlH0m4e2H3ETq+Gcg3U3IpIBHNzs1YNlvekeSSyw98EDmRjOY/WX9WRZSwpQ0K/ -pfk5FVFUCPupWHIaPTNUBrNow29agnkJYMziOf68r+GJupg51dp4AAAAAAAAAAD/ -/wAAAAAAAFYeKdBX1D4C6U5tXZl/DupxbHW7GuMS+cHGU9rzA5RQCDzRop3MrZuR -eyYwX4mopPshGDAqTnPFrAp4DearAF5zAQAAAAAAAABAAAAAAAAAAFluejoOo2We -EDDxi01lo7kT7lhQB/z3Xgu2zcFpwcA7BQFmMtpku/W8PMn1IkUvU3eoOATNzZUA -a8RnoTlMwaK0j1yhSVhd5TTukbPjoDC379TNt5q+qRUvEB83WbTHIQ4fAAhdA8QX -jamOfj8680PjmX10IB0R9Ccyz76isEuOP/FfIgMTC2luZGl2aXNpYmxlAARkZWNp -AQVjZW50aQIFbWlsbGkDCWRlY2lNaWxsaQQKY2VudGlNaWxsaQUFbWljcm8GCWRl -Y2lNaWNybwcKY2VudGlNaWNybwgEbmFubwkIZGVjaU5hbm8KCWNlbnRpTmFubwsE -cGljbwwIZGVjaVBpY28NCWNlbnRpUGljbw4FZmVtdG8PCWRlY2lGZW10bxAKY2Vu -dGlGZW10bxEEYXR0bxJeebBOe+ACblQpt8OFsfcNc3R9fJzFUll4HVygI/REPgp3 -8NB9zLO7UqSD3pDB6FKOoE4EDAQXglNBHIIeITePY7Yf51dO4ILrqWFmX2ausgkw -lhIjkJZNIGSbJ7XnyHUUAAAAAAAAAAAUAAAAAAAAAF964fM/xw2LpKiUWBEiPvmz -UTWtoCQPObDcKC7p5IuPBQFQFBBfDEAmyhKrrjd94m+OPKBgjdNsSD7XD0cZXNM0 -1GAVwOcHZKn0iucd1EjK9ANb/+vbYu/3Dch5Qob4kQ9BAyQEemVybzADb25lMQN0 -d28yBXRocmVlMwRmb3VyNARmaXZlNQNzaXg2BXNldmVuNwVlaWdodDgEbmluZTkB -QUEBQkIBQ0MBREQBRUUBRkYBR0cBSEgBSUkBSkoBS0sBTEwBTU0BTk4BT08BUFAB -UVEBUlIBU1MBVFQBVVUBVlYBV1cBWFgBWVkBWlphhiLRe67wZgLf53XJgOCza266 -6AkNgHX3UTvsS5P2TQMCBWZhbHNlAAR0cnVlAWOqIxTosUfIsoTfs5qeENGcqtX6 -6oSOPLmEnZFn1jRKCPupWHIaPTNUBrNow29agnkJYMziOf68r+GJupg51dp4AQAA -AAAAAAD/AAAAAAAAAGUBVkPkSIzz9xQ0AXnXJego8sBL/EHMOyf2BU/aN3MdBQGl -z/sydRMHfk8fyWBykoJEoB6hjGza9ZjaC1c1rAde12Yy2mS79bw8yfUiRS9Td6g4 -BM3NlQBrxGehOUzBorSPAERnHbm3Zxf5w2s8+VM3Xe2yjieACdJir/hqI9+B1G0+ -oQYDBHR5cGWMeaXCEr4bgl4ZvVR+CRq3gGAbtucj+/NmVJFGDqWJKQdzdWJ0eXBl -j/Yv4K1v5v5qgl1bVXk8ishyrS8pmOUOk5X8pIo8O2cHY2hhcnNldI/2L+Ctb+b+ -aoJdW1V5PIrIcq0vKZjlDpOV/KSKPDtna4fMIEdqTaqTWQslaNueDtVKuMQ8jpOL -ty9OGtfx6d4DCBBmcmFjdGlvbk92ZXJmbG93AQ5ub25FcXVhbFZhbHVlcwIMaW52 -YWxpZFByb29mAxRpbnN1ZmZpY2llbnRSZXNlcnZlcwQVaXNzdWVFeGNlZWRzQWxs -b3dhbmNlBhJub25GcmFjdGlvbmFsVG9rZW4HEm5vbkVuZ3JhdmFibGVUb2tlbggV -aW52YWxpZEF0dGFjaG1lbnRUeXBlCWvn3Dk6tsZbSOSVQs0diifKBYT1LZoS3hWJ -AZe66ovgBggFaW5kZXhlAVZD5EiM8/cUNAF51yXoKPLAS/xBzDsn9gVP2jdzHQZ0 -aWNrZXKh9f9GhH8oe3swYwYu5KNC7WM0z14PsnMNSM9/W7ADfgRuYW1lz44mJQaj -pLKmq8o4WmUCq/gDYEam3Y2mOuYdMJs8dSoHZGV0YWlsc0W3gCWGAcUmsjtbSGFG -CpBQ4T81+76DBagAEVfkATiIB3ByZXZpZXfafNyNYwAk54q/XIHq+n9PeWUNK9SX -Q/Kv3kBFtLaLxgVtZWRpYeDwBtWKRkeZY2CI9zjOy52kvOfQEO7Lah6PGnRKwwX6 -C2F0dGFjaG1lbnRzXnmwTnvgAm5UKbfDhbH3DXN0fXycxVJZeB1coCP0RD4IcmVz -ZXJ2ZXNudMyfHQzLVM7/LfMkydRVwazqcjI6zbdczgK3vZejVW50zJ8dDMtUzv8t -8yTJ1FXBrOpyMjrNt1zOAre9l6NVBAIABG5vbmXYP77gLw3ltGz4D+Ee9/3wYceN -l10xrenuorxAmTOebAEEc29tZX1lTpftlhZ8PDxJE1dCUSe2wPAIos1wVBdz+hst -Taokco6mipfedCD2KllpsEuHJgS/RdbfOJWcfibnpySQ5K0DPwR6ZXJvMANvbmUx -A3R3bzIFdGhyZWUzBGZvdXI0BGZpdmU1A3NpeDYFc2V2ZW43BWVpZ2h0OARuaW5l -OQFBQQFCQgFDQwFERAFFRQFGRgFHRwFISAFJSQFKSgFLSwFMTAFNTQFOTgFPTwFQ -UAFRUQFSUgFTUwFUVAFVVQFWVgFXVwFYWAFZWQFaWgZsb2Rhc2hfAWFhAWJiAWNj -AWRkAWVlAWZmAWdnAWhoAWlpAWpqAWtrAWxsAW1tAW5uAW9vAXBwAXFxAXJyAXNz -AXR0AXV1AXZ2AXd3AXh4AXl5AXp6c3dDcDaTIEnNKJUIqnF844KdskUuVehO1Pwu -PM0uAJ0FAcelWtX26ysUB9miN0XNgdGmdcKo8Jl256Oax3fXXj21d8C41m6P0G6+ -VBohooru+KjatfSazIIDFKpO243NfVQIGUctF9hiB6cPITGpWKFopW4q1lM/nGZM -GXfaXPn+YoYAAAAAAAAAAP////8AAAAAd/DQfcyzu1Kkg96QwehSjqBOBAwEF4JT -QRyCHiE3j2MAAX1lTpftlhZ8PDxJE1dCUSe2wPAIos1wVBdz+hstTaokBQEO0ho7 -GYX49V8a/8cmHVUfa6tL8gbNxEj9y5e3xEgJzYBXrgf0e5I6zMU2H89A2SmC6EH3 -V91ZsW1728jqvpmlBQEYGqHj7XS9UaPM22yyGAvUE/L4kcKKdl8Woqjzui2rsYTe -A8B9HUd7t21AqUfSbh7YfcROr4ZyDdTcikgEc3OzCAtsUA2UJkRi+3HA6HR4A3aV -tGRhWLnsUZ3W1H503FTzAQAAAAAAAAAoAAAAAAAAAIiMWGVjOvE7lbfNGo2K8trB -3BQLl3JR2dTa88dRHI6EBQFcoUlYXeU07pGz46Awt+/UzbeavqkVLxAfN1m0xyEO -H4x5pcISvhuCXhm9VH4JGreAYBu25yP782ZUkUYOpYkpBQFWHinQV9Q+AulObV2Z -fw7qcWx1uxrjEvnBxlPa8wOUUI/2L+Ctb+b+aoJdW1V5PIrIcq0vKZjlDpOV/KSK -PDtnBAIABG5vbmXYP77gLw3ltGz4D+Ee9/3wYceNl10xrenuorxAmTOebAEEc29t -ZRi3BeFduet3d8H53DSe8G7ZHpSAL02rD/F5hpUKc4x+kDtkcHmEjxsmUyrkzsam -iUSgU1i48IHLJrO7+C2eO/MGAgV2YWx1ZZf11wZCriozkiU7qE4dzsST478+03Gx -h3OGNU7MiIJrDHNjcmlwdFB1Ymtleb78HvxmpRn9ZFJqOhOHQOfxEC0Lvv86wUZO -8/dAdnRcl/XXBkKuKjOSJTuoTh3OxJPjvz7TcbGHc4Y1TsyIgmsFAVyhSVhd5TTu -kbPjoDC379TNt5q+qRUvEB83WbTHIQ4fmWJNt+QmkplUky7fyNJnpVKXAik81avA -Vk5vIlsz+vEGAgZuYW1pbmfefHU8a9VndPhyRTBspGNAlxDO4BvtypEg/K7vk7/1 -hglwcmVjaXNpb25dA8QXjamOfj8680PjmX10IB0R9Ccyz76isEuOP/FfIqExz+V3 -lFABaODZqR8HBJO7Rqgn3vzYh8jX+nxDd3nxAxAEdTRfMAAEdTRfMQEEdTRfMgIE -dTRfMwMEdTRfNAQEdTRfNQUEdTRfNgYEdTRfNwcEdTRfOAgEdTRfOQkFdTRfMTAK -BXU0XzExCwV1NF8xMgwFdTRfMTMNBXU0XzE0DgV1NF8xNQ+h9f9GhH8oe3swYwYu -5KNC7WM0z14PsnMNSM9/W7ADfgQCAARub25l2D++4C8N5bRs+A/hHvf98GHHjZdd -Ma3p7qK8QJkznmwBBHNvbWXpOEWqwxa21tBkLaKGY9P4A6B2ekBdcyl7Nr6L2RGk -baOCQvPL19HQoRLajeFgL1bU+G8OxMR2xcBoWUxLBGVWBQEqW6qsUIn/CY0VC0gs -/ti80BqRwNe0XTIhbtV2q3Hr3aXP+zJ1Ewd+Tx/JYHKSgkSgHqGMbNr1mNoLVzWs -B17XAASmLjhKE1GEGDudprl5awbojHXGgDE53TkRSOoEmuPX4QMQBHplcm8wA29u -ZTEDdHdvMgV0aHJlZTMEZm91cjQEZml2ZTUDc2l4NgVzZXZlbjcFZWlnaHQ4BG5p -bmU5A3RlbmEGZWxldmVuYgZ0d2VsdmVjCHRoaXJ0ZWVuZAhmb3VydGVlbmUHZmlm -dGVlbmaofMZ5ZGflV9dE5cliOuAMy5XZGg0vA990wHUST77HngUBZjLaZLv1vDzJ -9SJFL1N3qDgEzc2VAGvEZ6E5TMGitI+ygq2gFpnmLPxsSleGYVMNvcqTLKb210/a -a2FbKxYGiwiQO2RweYSPGyZTKuTOxqaJRKBTWLjwgcsms7v4LZ478wAAAAAAAAAA -/////wAAAAC2H+dXTuCC66lhZl9mrrIJMJYSI5CWTSBkmye158h1FAYCBHR5cGVn -Hbm3Zxf5w2s8+VM3Xe2yjieACdJir/hqI9+B1G0+oQZkaWdlc3QqW6qsUIn/CY0V -C0gs/ti80BqRwNe0XTIhbtV2q3Hr3bbrzP9Ln3kyWfBLMU+3ZhKAipfFKFy3Nevj -nti/ggWUBQEaE8+thEb7FQMXWMLfpqCdWDGD6sGvoFflUNY2pOUCG7qg4/yrnVXR -aLseJoNxU6/on4OifgSYVU05Y/ZDH9P0Az4EemVybzADb25lMQN0d28yBXRocmVl -MwRmb3VyNARmaXZlNQNzaXg2BXNldmVuNwVlaWdodDgEbmluZTkBQUEBQkIBQ0MB -REQBRUUBRkYBR0cBSEgBSUkBSkoBS0sBTEwBTU0BTk4BT08BUFABUVEBUlIBU1MB -VFQBVVUBVlYBV1cBWFgBWVkBWloBYWEBYmIBY2MBZGQBZWUBZmYBZ2cBaGgBaWkB -amoBa2sBbGwBbW0Bbm4Bb28BcHABcXEBcnIBc3MBdHQBdXUBdnYBd3cBeHgBeXkB -enq8KJGxxmrF9eYQWaMgd9qoIzOhQ1vTRgizCwP8AX2VRQMKBHplcm8wA29uZTED -dHdvMgV0aHJlZTMEZm91cjQEZml2ZTUDc2l4NgVzZXZlbjcFZWlnaHQ4BG5pbmU5 -vvwe/GalGf1kUmo6E4dA5/EQLQu+/zrBRk7z90B2dFwFASWr9bkSFBe6oznUX3sV -dadxS+F6dRhd0DE1etTJLemGx6Va1fbrKxQH2aI3Rc2B0aZ1wqjwmXbno5rHd9de -PbUIBOZYfyz2eL+DWeSIdr2OVO02bo4nNTk4aA7Z1o7nru4AAAAAAAAAAP////8A -AAAAyv+PrrOKAKBONiFTj45h11qFpGXLCg5Iw1k+fqpsX8cFAT8rcrfErxpjDLbT -/wiLrzUQk+5GW559RyphAILkSdfkz44mJQajpLKmq8o4WmUCq/gDYEam3Y2mOuYd -MJs8dSoEAgAEbm9uZdg/vuAvDeW0bPgP4R73/fBhx42XXTGt6e6ivECZM55sAQRz -b21lX3rh8z/HDYukqJRYESI++bNRNa2gJA85sNwoLunki4/YP77gLw3ltGz4D+Ee -9/3wYceNl10xrenuorxAmTOebAAA2nzcjWMAJOeKv1yB6vp/T3llDSvUl0Pyr95A -RbS2i8YEAgAEbm9uZdg/vuAvDeW0bPgP4R73/fBhx42XXTGt6e6ivECZM55sAQRz -b21l/LpiUP4CJK1HXwJD36uuZT1Ti9zqgYBIgysk1occB7XefHU8a9VndPhyRTBs -pGNAlxDO4BvtypEg/K7vk7/1hgYDBnRpY2tlcoBXrgf0e5I6zMU2H89A2SmC6EH3 -V91ZsW1728jqvpmlBG5hbWVQFBBfDEAmyhKrrjd94m+OPKBgjdNsSD7XD0cZXNM0 -1AdkZXRhaWxzRbeAJYYBxSayO1tIYUYKkFDhPzX7voMFqAARV+QBOIjg8AbVikZH -mWNgiPc4zsudpLzn0BDuy2oejxp0SsMF+gQCAARub25l2D++4C8N5bRs+A/hHvf9 -8GHHjZddMa3p7qK8QJkznmwBBHNvbWXkTroK1Z4fBpUeFE/pilrBFZvLR35wT2BO -E30CI/TDhuROugrVnh8GlR4UT+mKWsEVm8tHfnBPYE4TfQIj9MOGBQG2H+dXTuCC -66lhZl9mrrIJMJYSI5CWTSBkmye158h1FOhqQM1cJfm94oT/aaURMqdBKyFVvQ5W -EsG/44SVYMUGBgIEdHhpZKOCQvPL19HQoRLajeFgL1bU+G8OxMR2xcBoWUxLBGVW -BHZvdXQh4z5Dxapc8iknU6M4wWftO2OcTdnOvamPNGkXuslDdek4RarDFrbW0GQt -ooZj0/gDoHZ6QF1zKXs2vovZEaRtBQGAV64H9HuSOszFNh/PQNkpguhB91fdWbFt -e9vI6r6Zpe7ew+uqCPsBDy+W4XoOA5rYf+YHcacwH4xeiJldBWdrAxAEemVybzAD -b25lMQN0d28yBXRocmVlMwRmb3VyNARmaXZlNQNzaXg2BXNldmVuNwVlaWdodDgE -bmluZTkDdGVuQQZlbGV2ZW5CBnR3ZWx2ZUMIdGhpcnRlZW5ECGZvdXJ0ZWVuRQdm -aWZ0ZWVuRvK6JIAWnn06SP0AMC0f34C54xGPAaJbpnUtfc+B7wg4CByrv8PYJsC/ -0el3Coie+syLZxatAUo+7BC2WRUwIpBCAAAAAAAAAAD//wAAAAAAAPkXCATdrgR5 -+NWvdKs70gLm6kFy2am5NwcVGtt/xAyhAxoBYWEBYmIBY2MBZGQBZWUBZmYBZ2cB -aGgBaWkBamoBa2sBbGwBbW0Bbm4Bb28BcHABcXEBcnIBc3MBdHQBdXUBdnYBd3cB -eHgBeXkBenr7qVhyGj0zVAazaMNvWoJ5CWDM4jn+vK/hibqYOdXaeAH8umJQ/gIk -rUdfAkPfq65lPVOL3OqBgEiDKyTWhxwHtQUBK9paYJDDqiMRYBlcjeFnD3jbU/lf -3Lc6f7wb4/+RqmM= +VQFWVgFXVwFYWAFZWQFaWi3R2khJ6GsOe88ifpSd9JHh6Tajvd53IahobhswXHAj +AEgxjsqgcocL2VIwqVFaaqoUmCusnj+xXqJSjrBAUienoQYBCmJ1cm5Qcm9vZnNH +s1MgU/g/wa06vohFNiDLZH2Gzl7k495Wtck4Qj65zTOYQIaPnKplrNCHTRoG6y7i +YUzc1Tf3dhXINsuaYT2TAz8EZGFzaC0EemVybzADb25lMQN0d28yBXRocmVlMwRm +b3VyNARmaXZlNQNzaXg2BXNldmVuNwVlaWdodDgEbmluZTkBQUEBQkIBQ0MBREQB +RUUBRkYBR0cBSEgBSUkBSkoBS0sBTEwBTU0BTk4BT08BUFABUVEBUlIBU1MBVFQB +VVUBVlYBV1cBWFgBWVkBWloBYWEBYmIBY2MBZGQBZWUBZmYBZ2cBaGgBaWkBamoB +a2sBbGwBbW0Bbm4Bb28BcHABcXEBcnIBc3MBdHQBdXUBdnYBd3cBeHgBeXkBeno1 +2h0VOSBuu93cpMM9hzHq8pun2nTfPciCIBxOFrW5HAUBpc/7MnUTB35PH8lgcpKC +RKAeoYxs2vWY2gtXNawHXtc2IqpMUxpCQ9sBV2b39WAXq5qPBghLNm9WiLBJ1XKo +PgYCCWFwcGxpZWRUb2UBVkPkSIzz9xQ0AXnXJego8sBL/EHMOyf2BU/aN3MdB2Nv +bnRlbnQr2lpgkMOqIxFgGVyN4WcPeNtT+V/ctzp/vBvj/5GqYzh1BLFLfA5GbUee +F0d9JHQkf/gDZOw9S6r3OiD3QXRrBQElq/W5EhQXuqM51F97FXWncUvhenUYXdAx +NXrUyS3phjyK3Yk4NvjATAc9H0VNlSXPlqfXVXKW+mY926rvqEOUAzQBQUEBQkIB +Q0MBREQBRUUBRkYBR0cBSEgBSUkBSkoBS0sBTEwBTU0BTk4BT08BUFABUVEBUlIB +U1MBVFQBVVUBVlYBV1cBWFgBWVkBWloBYWEBYmIBY2MBZGQBZWUBZmYBZ2cBaGgB +aWkBamoBa2sBbGwBbW0Bbm4Bb28BcHABcXEBcnIBc3MBdHQBdXUBdnYBd3cBeHgB +eXkBeno80aKdzK2bkXsmMF+JqKT7IRgwKk5zxawKeA3mqwBecwMtBGV4Y2whBGhh +c2gjBmRvbGxhciQDYW1wJgRwbHVzKwRkYXNoLQNkb3QuBHplcm8wA29uZTEDdHdv +MgV0aHJlZTMEZm91cjQEZml2ZTUDc2l4NgVzZXZlbjcFZWlnaHQ4BG5pbmU5BWNh +cmV0XgZsb2Rhc2hfAWFhAWJiAWNjAWRkAWVlAWZmAWdnAWhoAWlpAWpqAWtrAWxs +AW1tAW5uAW9vAXBwAXFxAXJyAXNzAXR0AXV1AXZ2AXd3AXh4AXl5AXp6Pytyt8Sv +GmMMttP/CIuvNRCT7kZbnn1HKmEAguRJ1+QFAWOqIxTosUfIsoTfs5qeENGcqtX6 +6oSOPLmEnZFn1jRKRbeAJYYBxSayO1tIYUYKkFDhPzX7voMFqAARV+QBOIgEAgAE +bm9uZdg/vuAvDeW0bPgP4R73/fBhx42XXTGt6e6ivECZM55sAQRzb21lyv+PrrOK +AKBONiFTj45h11qFpGXLCg5Iw1k+fqpsX8dGe6yBObH1E/03sx50RZ2GCrL2cDPa +mtRy5to9H/OKewYBCHJlc2VydmVzR7NTIFP4P8GtOr6IRTYgy2R9hs5e5OPeVrXJ +OEI+uc1Hs1MgU/g/wa06vohFNiDLZH2Gzl7k495Wtck4Qj65zQkO0ho7GYX49V8a +/8cmHVUfa6tL8gbNxEj9y5e3xEgJzQAAAAAAAAAA//8AAAAAAABQFBBfDEAmyhKr +rjd94m+OPKBgjdNsSD7XD0cZXNM01AUBhN4DwH0dR3u3bUCpR9JuHth9xE6vhnIN +1NyKSARzc7NWDZb3pHkkssPfBA5kYzmP1l/VkWUsKUNCv6X5ORVRVAj7qVhyGj0z +VAazaMNvWoJ5CWDM4jn+vK/hibqYOdXaeAAAAAAAAAAA//8AAAAAAABWHinQV9Q+ +AulObV2Zfw7qcWx1uxrjEvnBxlPa8wOUUAg80aKdzK2bkXsmMF+JqKT7IRgwKk5z +xawKeA3mqwBecwEAAAAAAAAAQAAAAAAAAABcoUlYXeU07pGz46Awt+/UzbeavqkV +LxAfN1m0xyEOHwAIXQPEF42pjn4/OvND45l9dCAdEfQnMs++orBLjj/xXyIDEwtp +bmRpdmlzaWJsZQAEZGVjaQEFY2VudGkCBW1pbGxpAwlkZWNpTWlsbGkECmNlbnRp +TWlsbGkFBW1pY3JvBglkZWNpTWljcm8HCmNlbnRpTWljcm8IBG5hbm8JCGRlY2lO +YW5vCgljZW50aU5hbm8LBHBpY28MCGRlY2lQaWNvDQljZW50aVBpY28OBWZlbXRv +DwlkZWNpRmVtdG8QCmNlbnRpRmVtdG8RBGF0dG8SXnmwTnvgAm5UKbfDhbH3DXN0 +fXycxVJZeB1coCP0RD4Kd/DQfcyzu1Kkg96QwehSjqBOBAwEF4JTQRyCHiE3j2O2 +H+dXTuCC66lhZl9mrrIJMJYSI5CWTSBkmye158h1FAAAAAAAAAAAFAAAAAAAAABf +euHzP8cNi6SolFgRIj75s1E1raAkDzmw3Cgu6eSLjwUBUBQQXwxAJsoSq643feJv +jjygYI3TbEg+1w9HGVzTNNRgFcDnB2Sp9IrnHdRIyvQDW//r22Lv9w3IeUKG+JEP +QQMkBHplcm8wA29uZTEDdHdvMgV0aHJlZTMEZm91cjQEZml2ZTUDc2l4NgVzZXZl +bjcFZWlnaHQ4BG5pbmU5AUFBAUJCAUNDAUREAUVFAUZGAUdHAUhIAUlJAUpKAUtL +AUxMAU1NAU5OAU9PAVBQAVFRAVJSAVNTAVRUAVVVAVZWAVdXAVhYAVlZAVpaYYYi +0Xuu8GYC3+d1yYDgs2tuuugJDYB191E77EuT9k0DAgVmYWxzZQAEdHJ1ZQFiuDNA +m91dkiGv542PYZJIHgAgN0rnBO3BfJfrjjl6hgUBLdHaSEnoaw57zyJ+lJ30keHp +NqO93nchqGhuGzBccCNjqiMU6LFHyLKE37OanhDRnKrV+uqEjjy5hJ2RZ9Y0Sgj7 +qVhyGj0zVAazaMNvWoJ5CWDM4jn+vK/hibqYOdXaeAEAAAAAAAAA/wAAAAAAAABl +AVZD5EiM8/cUNAF51yXoKPLAS/xBzDsn9gVP2jdzHQUBpc/7MnUTB35PH8lgcpKC +RKAeoYxs2vWY2gtXNawHXtdmMtpku/W8PMn1IkUvU3eoOATNzZUAa8RnoTlMwaK0 +jwBEZx25t2cX+cNrPPlTN13tso4ngAnSYq/4aiPfgdRtPqEGAwR0eXBljHmlwhK+ +G4JeGb1Ufgkat4BgG7bnI/vzZlSRRg6liSkHc3VidHlwZY/2L+Ctb+b+aoJdW1V5 +PIrIcq0vKZjlDpOV/KSKPDtnB2NoYXJzZXSP9i/grW/m/mqCXVtVeTyKyHKtLymY +5Q6Tlfykijw7Z2uHzCBHak2qk1kLJWjbng7VSrjEPI6Ti7cvThrX8eneAwgQZnJh +Y3Rpb25PdmVyZmxvdwEObm9uRXF1YWxWYWx1ZXMCDGludmFsaWRQcm9vZgMUaW5z +dWZmaWNpZW50UmVzZXJ2ZXMEFWlzc3VlRXhjZWVkc0FsbG93YW5jZQYSbm9uRnJh +Y3Rpb25hbFRva2VuBxJub25FbmdyYXZhYmxlVG9rZW4IFWludmFsaWRBdHRhY2ht +ZW50VHlwZQlr59w5OrbGW0jklULNHYonygWE9S2aEt4ViQGXuuqL4AYIBWluZGV4 +ZQFWQ+RIjPP3FDQBedcl6CjywEv8Qcw7J/YFT9o3cx0GdGlja2VyofX/RoR/KHt7 +MGMGLuSjQu1jNM9eD7JzDUjPf1uwA34EbmFtZc+OJiUGo6SypqvKOFplAqv4A2BG +pt2NpjrmHTCbPHUqB2RldGFpbHNFt4AlhgHFJrI7W0hhRgqQUOE/Nfu+gwWoABFX +5AE4iAdwcmV2aWV32nzcjWMAJOeKv1yB6vp/T3llDSvUl0Pyr95ARbS2i8YFbWVk +aWHg8AbVikZHmWNgiPc4zsudpLzn0BDuy2oejxp0SsMF+gthdHRhY2htZW50c155 +sE574AJuVCm3w4Wx9w1zdH18nMVSWXgdXKAj9EQ+CHJlc2VydmVzbnTMnx0My1TO +/y3zJMnUVcGs6nIyOs23XM4Ct72Xo1VudMyfHQzLVM7/LfMkydRVwazqcjI6zbdc +zgK3vZejVQQCAARub25l2D++4C8N5bRs+A/hHvf98GHHjZddMa3p7qK8QJkznmwB +BHNvbWV9ZU6X7ZYWfDw8SRNXQlEntsDwCKLNcFQXc/obLU2qJHKOpoqX3nQg9ipZ +abBLhyYEv0XW3ziVnH4m56ckkOStAz8EemVybzADb25lMQN0d28yBXRocmVlMwRm +b3VyNARmaXZlNQNzaXg2BXNldmVuNwVlaWdodDgEbmluZTkBQUEBQkIBQ0MBREQB +RUUBRkYBR0cBSEgBSUkBSkoBS0sBTEwBTU0BTk4BT08BUFABUVEBUlIBU1MBVFQB +VVUBVlYBV1cBWFgBWVkBWloGbG9kYXNoXwFhYQFiYgFjYwFkZAFlZQFmZgFnZwFo +aAFpaQFqagFrawFsbAFtbQFubgFvbwFwcAFxcQFycgFzcwF0dAF1dQF2dgF3dwF4 +eAF5eQF6enN3Q3A2kyBJzSiVCKpxfOOCnbJFLlXoTtT8LjzNLgCdBQHHpVrV9usr +FAfZojdFzYHRpnXCqPCZduejmsd31149tXfAuNZuj9BuvlQaIaKK7vio2rX0msyC +AxSqTtuNzX1UCBlHLRfYYgenDyExqVihaKVuKtZTP5xmTBl32lz5/mKGAAAAAAAA +AAD/////AAAAAHfw0H3Ms7tSpIPekMHoUo6gTgQMBBeCU0Ecgh4hN49jAAF9ZU6X +7ZYWfDw8SRNXQlEntsDwCKLNcFQXc/obLU2qJAUBDtIaOxmF+PVfGv/HJh1VH2ur +S/IGzcRI/cuXt8RICc2AV64H9HuSOszFNh/PQNkpguhB91fdWbFte9vI6r6ZpQUB +GBqh4+10vVGjzNtsshgL1BPy+JHCinZfFqKo87otq7GE3gPAfR1He7dtQKlH0m4e +2H3ETq+Gcg3U3IpIBHNzswgLbFANlCZEYvtxwOh0eAN2lbRkYVi57FGd1tR+dNxU +8wEAAAAAAAAAKAAAAAAAAACIjFhlYzrxO5W3zRqNivLawdwUC5dyUdnU2vPHURyO +hAUBXKFJWF3lNO6Rs+OgMLfv1M23mr6pFS8QHzdZtMchDh+MeaXCEr4bgl4ZvVR+ +CRq3gGAbtucj+/NmVJFGDqWJKQUBVh4p0FfUPgLpTm1dmX8O6nFsdbsa4xL5wcZT +2vMDlFCP9i/grW/m/mqCXVtVeTyKyHKtLymY5Q6Tlfykijw7ZwQCAARub25l2D++ +4C8N5bRs+A/hHvf98GHHjZddMa3p7qK8QJkznmwBBHNvbWUYtwXhXbnrd3fB+dw0 +nvBu2R6UgC9Nqw/xeYaVCnOMfpA7ZHB5hI8bJlMq5M7GpolEoFNYuPCByyazu/gt +njvzBgIFdmFsdWWX9dcGQq4qM5IlO6hOHc7Ek+O/PtNxsYdzhjVOzIiCawxzY3Jp +cHRQdWJrZXm+/B78ZqUZ/WRSajoTh0Dn8RAtC77/OsFGTvP3QHZ0XJf11wZCrioz +kiU7qE4dzsST478+03Gxh3OGNU7MiIJrBQFcoUlYXeU07pGz46Awt+/UzbeavqkV +LxAfN1m0xyEOH5liTbfkJpKZVJMu38jSZ6VSlwIpPNWrwFZObyJbM/rxBgIGbmFt +aW5n3nx1PGvVZ3T4ckUwbKRjQJcQzuAb7cqRIPyu75O/9YYJcHJlY2lzaW9uXQPE +F42pjn4/OvND45l9dCAdEfQnMs++orBLjj/xXyKhMc/ld5RQAWjg2akfBwSTu0ao +J9782IfI1/p8Q3d58QMQBHU0XzAABHU0XzEBBHU0XzICBHU0XzMDBHU0XzQEBHU0 +XzUFBHU0XzYGBHU0XzcHBHU0XzgIBHU0XzkJBXU0XzEwCgV1NF8xMQsFdTRfMTIM +BXU0XzEzDQV1NF8xNA4FdTRfMTUPofX/RoR/KHt7MGMGLuSjQu1jNM9eD7JzDUjP +f1uwA34EAgAEbm9uZdg/vuAvDeW0bPgP4R73/fBhx42XXTGt6e6ivECZM55sAQRz +b21l6ThFqsMWttbQZC2ihmPT+AOgdnpAXXMpeza+i9kRpG2jgkLzy9fR0KES2o3h +YC9W1PhvDsTEdsXAaFlMSwRlVgUBKluqrFCJ/wmNFQtILP7YvNAakcDXtF0yIW7V +dqtx692lz/sydRMHfk8fyWBykoJEoB6hjGza9ZjaC1c1rAde1wAEpi44ShNRhBg7 +naa5eWsG6Ix1xoAxOd05EUjqBJrj1+EDEAR6ZXJvMANvbmUxA3R3bzIFdGhyZWUz +BGZvdXI0BGZpdmU1A3NpeDYFc2V2ZW43BWVpZ2h0OARuaW5lOQN0ZW5hBmVsZXZl +bmIGdHdlbHZlYwh0aGlydGVlbmQIZm91cnRlZW5lB2ZpZnRlZW5mqHzGeWRn5VfX +ROXJYjrgDMuV2RoNLwPfdMB1Ek++x54FAWYy2mS79bw8yfUiRS9Td6g4BM3NlQBr +xGehOUzBorSPsoKtoBaZ5iz8bEpXhmFTDb3Kkyym9tdP2mthWysWBosIkDtkcHmE +jxsmUyrkzsamiUSgU1i48IHLJrO7+C2eO/MAAAAAAAAAAP////8AAAAAth/nV07g +guupYWZfZq6yCTCWEiOQlk0gZJsntefIdRQGAgR0eXBlZx25t2cX+cNrPPlTN13t +so4ngAnSYq/4aiPfgdRtPqEGZGlnZXN0KluqrFCJ/wmNFQtILP7YvNAakcDXtF0y +IW7Vdqtx692268z/S595MlnwSzFPt2YSgIqXxShctzXr457Yv4IFlAUBGhPPrYRG ++xUDF1jC36agnVgxg+rBr6BX5VDWNqTlAhu6oOP8q51V0Wi7HiaDcVOv6J+Don4E +mFVNOWP2Qx/T9AM+BHplcm8wA29uZTEDdHdvMgV0aHJlZTMEZm91cjQEZml2ZTUD +c2l4NgVzZXZlbjcFZWlnaHQ4BG5pbmU5AUFBAUJCAUNDAUREAUVFAUZGAUdHAUhI +AUlJAUpKAUtLAUxMAU1NAU5OAU9PAVBQAVFRAVJSAVNTAVRUAVVVAVZWAVdXAVhY +AVlZAVpaAWFhAWJiAWNjAWRkAWVlAWZmAWdnAWhoAWlpAWpqAWtrAWxsAW1tAW5u +AW9vAXBwAXFxAXJyAXNzAXR0AXV1AXZ2AXd3AXh4AXl5AXp6vCiRscZqxfXmEFmj +IHfaqCMzoUNb00YIswsD/AF9lUUDCgR6ZXJvMANvbmUxA3R3bzIFdGhyZWUzBGZv +dXI0BGZpdmU1A3NpeDYFc2V2ZW43BWVpZ2h0OARuaW5lOb78HvxmpRn9ZFJqOhOH +QOfxEC0Lvv86wUZO8/dAdnRcBQElq/W5EhQXuqM51F97FXWncUvhenUYXdAxNXrU +yS3phselWtX26ysUB9miN0XNgdGmdcKo8Jl256Oax3fXXj21CATmWH8s9ni/g1nk +iHa9jlTtNm6OJzU5OGgO2daO567uAAAAAAAAAAD/////AAAAAMr/j66zigCgTjYh +U4+OYddahaRlywoOSMNZPn6qbF/HBQE/K3K3xK8aYwy20/8Ii681EJPuRluefUcq +YQCC5EnX5M+OJiUGo6SypqvKOFplAqv4A2BGpt2NpjrmHTCbPHUqBAIABG5vbmXY +P77gLw3ltGz4D+Ee9/3wYceNl10xrenuorxAmTOebAEEc29tZV964fM/xw2LpKiU +WBEiPvmzUTWtoCQPObDcKC7p5IuP2D++4C8N5bRs+A/hHvf98GHHjZddMa3p7qK8 +QJkznmwAANp83I1jACTnir9cger6f095ZQ0r1JdD8q/eQEW0tovGBAIABG5vbmXY +P77gLw3ltGz4D+Ee9/3wYceNl10xrenuorxAmTOebAEEc29tZfy6YlD+AiStR18C +Q9+rrmU9U4vc6oGASIMrJNaHHAe13nx1PGvVZ3T4ckUwbKRjQJcQzuAb7cqRIPyu +75O/9YYGAwZ0aWNrZXKAV64H9HuSOszFNh/PQNkpguhB91fdWbFte9vI6r6ZpQRu +YW1lUBQQXwxAJsoSq643feJvjjygYI3TbEg+1w9HGVzTNNQHZGV0YWlsc0W3gCWG +AcUmsjtbSGFGCpBQ4T81+76DBagAEVfkATiI4PAG1YpGR5ljYIj3OM7LnaS859AQ +7stqHo8adErDBfoEAgAEbm9uZdg/vuAvDeW0bPgP4R73/fBhx42XXTGt6e6ivECZ +M55sAQRzb21l5E66CtWeHwaVHhRP6YpawRWby0d+cE9gThN9AiP0w4bkTroK1Z4f +BpUeFE/pilrBFZvLR35wT2BOE30CI/TDhgUBth/nV07gguupYWZfZq6yCTCWEiOQ +lk0gZJsntefIdRToakDNXCX5veKE/2mlETKnQSshVb0OVhLBv+OElWDFBgYCBHR4 +aWSjgkLzy9fR0KES2o3hYC9W1PhvDsTEdsXAaFlMSwRlVgR2b3V0IeM+Q8WqXPIp +J1OjOMFn7TtjnE3Zzr2pjzRpF7rJQ3XpOEWqwxa21tBkLaKGY9P4A6B2ekBdcyl7 +Nr6L2RGkbQUBgFeuB/R7kjrMxTYfz0DZKYLoQfdX3VmxbXvbyOq+maXu3sPrqgj7 +AQ8vluF6DgOa2H/mB3GnMB+MXoiZXQVnawMQBHplcm8wA29uZTEDdHdvMgV0aHJl +ZTMEZm91cjQEZml2ZTUDc2l4NgVzZXZlbjcFZWlnaHQ4BG5pbmU5A3RlbkEGZWxl +dmVuQgZ0d2VsdmVDCHRoaXJ0ZWVuRAhmb3VydGVlbkUHZmlmdGVlbkbyuiSAFp59 +Okj9ADAtH9+AueMRjwGiW6Z1LX3Pge8IOAgcq7/D2CbAv9HpdwqInvrMi2cWrQFK +PuwQtlkVMCKQQgAAAAAAAAAA//8AAAAAAAD5FwgE3a4EefjVr3SrO9IC5upBctmp +uTcHFRrbf8QMoQMaAWFhAWJiAWNjAWRkAWVlAWZmAWdnAWhoAWlpAWpqAWtrAWxs +AW1tAW5uAW9vAXBwAXFxAXJyAXNzAXR0AXV1AXZ2AXd3AXh4AXl5AXp6+6lYcho9 +M1QGs2jDb1qCeQlgzOI5/ryv4Ym6mDnV2ngB/LpiUP4CJK1HXwJD36uuZT1Ti9zq +gYBIgysk1occB7UFASvaWmCQw6ojEWAZXI3hZw9421P5X9y3On+8G+P/kapj -----END RGB INTERFACE----- diff --git a/std/tests/data/rgb25.rgba b/std/tests/data/rgb25.rgba index b527fa0c..6bd32451 100644 --- a/std/tests/data/rgb25.rgba +++ b/std/tests/data/rgb25.rgba @@ -1,10 +1,10 @@ -----BEGIN RGB INTERFACE----- -Id: 8MJ3wpi2Qz5pz5HpzuxRXH1XY4Q9ehiYjjmuJ4HDb3LH +Id: HtmXPmVegosLhHMKHUJPCH7much7x6fXZMYwz3dGqZnb Name: RGB25 AAVSR0IyNQcMYnVybmVkU3VwcGx5AYiMWGVjOvE7lbfNGo2K8trB3BQLl3JR2dTa -88dRHI6EAAEHY3JlYXRlZAFZbno6DqNlnhAw8YtNZaO5E+5YUAf8914Lts3BacHA -OwEABGRhdGEBHUILZdBBGlIYHYsC89qDqplVfYLTs7sHm15bzCA8M+MBAAdkZXRh +88dRHI6EAAEHY3JlYXRlZAFiuDNAm91dkiGv542PYZJIHgAgN0rnBO3BfJfrjjl6 +hgEABGRhdGEBHUILZdBBGlIYHYsC89qDqplVfYLTs7sHm15bzCA8M+MBAAdkZXRh aWxzAT8rcrfErxpjDLbT/wiLrzUQk+5GW559RyphAILkSdfkAAAMaXNzdWVkU3Vw cGx5AYiMWGVjOvE7lbfNGo2K8trB3BQLl3JR2dTa88dRHI6EAQAEbmFtZQFQFBBf DEAmyhKrrjd94m+OPKBgjdNsSD7XD0cZXNM01AEACXByZWNpc2lvbgFdA8QXjamO @@ -16,7 +16,7 @@ BAIEQnVybgEBMY7KoHKHC9lSMKlRWmqqFJgrrJ4/sV6iUo6wQFInp6EBDGJ1cm5l ZFN1cHBseQABAAEAAQR1c2VkAQlidXJuUmlnaHQBAAEAAQZmdXR1cmUBCWJ1cm5S aWdodAAAAQAAAwEDBQAIVHJhbnNmZXIAAAABCHByZXZpb3VzAQphc3NldE93bmVy AQD//wELYmVuZWZpY2lhcnkBCmFzc2V0T3duZXIBAP//AAECAQtiZW5lZmljaWFy -eQCe0wEGwUvUzKK5EgcivAR3l468uV7jYqqKL4WWQZHhfgEIVHJhbnNmZXJHAAAB +eQCe0wEGwUvUzKK5EgcivAR3l468uV7jYqqKL4WWQZHhfgEIVHJhbnNmZXJIAAAB GW2FKcj22kRNFU6NnIy9ng+NiQJaO7CRIcY9UrAehwUBpc/7MnUTB35PH8lgcpKC RKAeoYxs2vWY2gtXNawHXtcE5lh/LPZ4v4NZ5Ih2vY5U7TZujic1OThoDtnWjueu 7ggcq7/D2CbAv9HpdwqInvrMi2cWrQFKPuwQtlkVMCKQQgAAAAAAAAAA/////wAA @@ -74,121 +74,121 @@ Z+VX10TlyWI64AzLldkaDS8D33TAdRJPvseeBmlucHV0c3fAuNZuj9BuvlQaIaKK tbkcKluqrFCJ/wmNFQtILP7YvNAakcDXtF0yIW7Vdqtx690HHKu/w9gmwL/R6XcK iJ76zItnFq0BSj7sELZZFTAikEIgAC0lGTkHAtmjSEt54onnu/Koytf7XSvApfhH Hbpvo8A8AxoBQUEBQkIBQ0MBREQBRUUBRkYBR0cBSEgBSUkBSkoBS0sBTEwBTU0B -Tk4BT08BUFABUVEBUlIBU1MBVFQBVVUBVlYBV1cBWFgBWVkBWloxjsqgcocL2VIw -qVFaaqoUmCusnj+xXqJSjrBAUienoQYBCmJ1cm5Qcm9vZnNHs1MgU/g/wa06vohF -NiDLZH2Gzl7k495Wtck4Qj65zTOYQIaPnKplrNCHTRoG6y7iYUzc1Tf3dhXINsua -YT2TAz8EZGFzaC0EemVybzADb25lMQN0d28yBXRocmVlMwRmb3VyNARmaXZlNQNz -aXg2BXNldmVuNwVlaWdodDgEbmluZTkBQUEBQkIBQ0MBREQBRUUBRkYBR0cBSEgB -SUkBSkoBS0sBTEwBTU0BTk4BT08BUFABUVEBUlIBU1MBVFQBVVUBVlYBV1cBWFgB -WVkBWloBYWEBYmIBY2MBZGQBZWUBZmYBZ2cBaGgBaWkBamoBa2sBbGwBbW0Bbm4B -b28BcHABcXEBcnIBc3MBdHQBdXUBdnYBd3cBeHgBeXkBeno12h0VOSBuu93cpMM9 -hzHq8pun2nTfPciCIBxOFrW5HAUBpc/7MnUTB35PH8lgcpKCRKAeoYxs2vWY2gtX -NawHXtc4dQSxS3wORm1HnhdHfSR0JH/4A2TsPUuq9zog90F0awUBJav1uRIUF7qj -OdRfexV1p3FL4Xp1GF3QMTV61Mkt6YY8it2JODb4wEwHPR9FTZUlz5an11Vylvpm -Pduq76hDlAM0AUFBAUJCAUNDAUREAUVFAUZGAUdHAUhIAUlJAUpKAUtLAUxMAU1N +Tk4BT08BUFABUVEBUlIBU1MBVFQBVVUBVlYBV1cBWFgBWVkBWlot0dpISehrDnvP +In6UnfSR4ek2o73edyGoaG4bMFxwIwBIMY7KoHKHC9lSMKlRWmqqFJgrrJ4/sV6i +Uo6wQFInp6EGAQpidXJuUHJvb2ZzR7NTIFP4P8GtOr6IRTYgy2R9hs5e5OPeVrXJ +OEI+uc0zmECGj5yqZazQh00aBusu4mFM3NU393YVyDbLmmE9kwM/BGRhc2gtBHpl +cm8wA29uZTEDdHdvMgV0aHJlZTMEZm91cjQEZml2ZTUDc2l4NgVzZXZlbjcFZWln +aHQ4BG5pbmU5AUFBAUJCAUNDAUREAUVFAUZGAUdHAUhIAUlJAUpKAUtLAUxMAU1N AU5OAU9PAVBQAVFRAVJSAVNTAVRUAVVVAVZWAVdXAVhYAVlZAVpaAWFhAWJiAWNj AWRkAWVlAWZmAWdnAWhoAWlpAWpqAWtrAWxsAW1tAW5uAW9vAXBwAXFxAXJyAXNz -AXR0AXV1AXZ2AXd3AXh4AXl5AXp6PNGincytm5F7JjBfiaik+yEYMCpOc8WsCngN -5qsAXnMDLQRleGNsIQRoYXNoIwZkb2xsYXIkA2FtcCYEcGx1cysEZGFzaC0DZG90 -LgR6ZXJvMANvbmUxA3R3bzIFdGhyZWUzBGZvdXI0BGZpdmU1A3NpeDYFc2V2ZW43 -BWVpZ2h0OARuaW5lOQVjYXJldF4GbG9kYXNoXwFhYQFiYgFjYwFkZAFlZQFmZgFn -ZwFoaAFpaQFqagFrawFsbAFtbQFubgFvbwFwcAFxcQFycgFzcwF0dAF1dQF2dgF3 -dwF4eAF5eQF6ej8rcrfErxpjDLbT/wiLrzUQk+5GW559RyphAILkSdfkBQFjqiMU -6LFHyLKE37OanhDRnKrV+uqEjjy5hJ2RZ9Y0SkW3gCWGAcUmsjtbSGFGCpBQ4T81 -+76DBagAEVfkATiIBAIABG5vbmXYP77gLw3ltGz4D+Ee9/3wYceNl10xrenuorxA -mTOebAEEc29tZcr/j66zigCgTjYhU4+OYddahaRlywoOSMNZPn6qbF/HRnusgTmx -9RP9N7MedEWdhgqy9nAz2prUcubaPR/zinsGAQhyZXNlcnZlc0ezUyBT+D/BrTq+ -iEU2IMtkfYbOXuTj3la1yThCPrnNR7NTIFP4P8GtOr6IRTYgy2R9hs5e5OPeVrXJ -OEI+uc0JDtIaOxmF+PVfGv/HJh1VH2urS/IGzcRI/cuXt8RICc0AAAAAAAAAAP// -AAAAAAAAUBQQXwxAJsoSq643feJvjjygYI3TbEg+1w9HGVzTNNQFAYTeA8B9HUd7 -t21AqUfSbh7YfcROr4ZyDdTcikgEc3OzVg2W96R5JLLD3wQOZGM5j9Zf1ZFlLClD -Qr+l+TkVUVQI+6lYcho9M1QGs2jDb1qCeQlgzOI5/ryv4Ym6mDnV2ngAAAAAAAAA -AP//AAAAAAAAVh4p0FfUPgLpTm1dmX8O6nFsdbsa4xL5wcZT2vMDlFAIPNGincyt -m5F7JjBfiaik+yEYMCpOc8WsCngN5qsAXnMBAAAAAAAAAEAAAAAAAAAAWW56Og6j -ZZ4QMPGLTWWjuRPuWFAH/PdeC7bNwWnBwDsFAWYy2mS79bw8yfUiRS9Td6g4BM3N -lQBrxGehOUzBorSPXKFJWF3lNO6Rs+OgMLfv1M23mr6pFS8QHzdZtMchDh8ACF0D -xBeNqY5+PzrzQ+OZfXQgHRH0JzLPvqKwS44/8V8iAxMLaW5kaXZpc2libGUABGRl -Y2kBBWNlbnRpAgVtaWxsaQMJZGVjaU1pbGxpBApjZW50aU1pbGxpBQVtaWNybwYJ -ZGVjaU1pY3JvBwpjZW50aU1pY3JvCARuYW5vCQhkZWNpTmFubwoJY2VudGlOYW5v -CwRwaWNvDAhkZWNpUGljbw0JY2VudGlQaWNvDgVmZW10bw8JZGVjaUZlbXRvEApj -ZW50aUZlbXRvEQRhdHRvEmAVwOcHZKn0iucd1EjK9ANb/+vbYu/3Dch5Qob4kQ9B -AyQEemVybzADb25lMQN0d28yBXRocmVlMwRmb3VyNARmaXZlNQNzaXg2BXNldmVu -NwVlaWdodDgEbmluZTkBQUEBQkIBQ0MBREQBRUUBRkYBR0cBSEgBSUkBSkoBS0sB -TEwBTU0BTk4BT08BUFABUVEBUlIBU1MBVFQBVVUBVlYBV1cBWFgBWVkBWlphhiLR -e67wZgLf53XJgOCza2666AkNgHX3UTvsS5P2TQMCBWZhbHNlAAR0cnVlAWOqIxTo -sUfIsoTfs5qeENGcqtX66oSOPLmEnZFn1jRKCPupWHIaPTNUBrNow29agnkJYMzi -Of68r+GJupg51dp4AQAAAAAAAAD/AAAAAAAAAGYy2mS79bw8yfUiRS9Td6g4BM3N -lQBrxGehOUzBorSPAERnHbm3Zxf5w2s8+VM3Xe2yjieACdJir/hqI9+B1G0+oQYD -BHR5cGWMeaXCEr4bgl4ZvVR+CRq3gGAbtucj+/NmVJFGDqWJKQdzdWJ0eXBlj/Yv -4K1v5v5qgl1bVXk8ishyrS8pmOUOk5X8pIo8O2cHY2hhcnNldI/2L+Ctb+b+aoJd -W1V5PIrIcq0vKZjlDpOV/KSKPDtnco6mipfedCD2KllpsEuHJgS/RdbfOJWcfibn -pySQ5K0DPwR6ZXJvMANvbmUxA3R3bzIFdGhyZWUzBGZvdXI0BGZpdmU1A3NpeDYF -c2V2ZW43BWVpZ2h0OARuaW5lOQFBQQFCQgFDQwFERAFFRQFGRgFHRwFISAFJSQFK -SgFLSwFMTAFNTQFOTgFPTwFQUAFRUQFSUgFTUwFUVAFVVQFWVgFXVwFYWAFZWQFa -WgZsb2Rhc2hfAWFhAWJiAWNjAWRkAWVlAWZmAWdnAWhoAWlpAWpqAWtrAWxsAW1t -AW5uAW9vAXBwAXFxAXJyAXNzAXR0AXV1AXZ2AXd3AXh4AXl5AXp6c3dDcDaTIEnN -KJUIqnF844KdskUuVehO1PwuPM0uAJ0FAcelWtX26ysUB9miN0XNgdGmdcKo8Jl2 -56Oax3fXXj21d8C41m6P0G6+VBohooru+KjatfSazIIDFKpO243NfVQIGUctF9hi -B6cPITGpWKFopW4q1lM/nGZMGXfaXPn+YoYAAAAAAAAAAP////8AAAAAgFeuB/R7 -kjrMxTYfz0DZKYLoQfdX3VmxbXvbyOq+maUFARgaoePtdL1Ro8zbbLIYC9QT8viR -wop2XxaiqPO6LauxhN4DwH0dR3u3bUCpR9JuHth9xE6vhnIN1NyKSARzc7MIC2xQ -DZQmRGL7ccDodHgDdpW0ZGFYuexRndbUfnTcVPMBAAAAAAAAACgAAAAAAAAAiIxY -ZWM68TuVt80ajYry2sHcFAuXclHZ1Nrzx1EcjoQFAVyhSVhd5TTukbPjoDC379TN -t5q+qRUvEB83WbTHIQ4fjHmlwhK+G4JeGb1Ufgkat4BgG7bnI/vzZlSRRg6liSkF -AVYeKdBX1D4C6U5tXZl/DupxbHW7GuMS+cHGU9rzA5RQj/Yv4K1v5v5qgl1bVXk8 -ishyrS8pmOUOk5X8pIo8O2cEAgAEbm9uZdg/vuAvDeW0bPgP4R73/fBhx42XXTGt -6e6ivECZM55sAQRzb21lGLcF4V2563d3wfncNJ7wbtkelIAvTasP8XmGlQpzjH6Q -O2RweYSPGyZTKuTOxqaJRKBTWLjwgcsms7v4LZ478wYCBXZhbHVll/XXBkKuKjOS -JTuoTh3OxJPjvz7TcbGHc4Y1TsyIgmsMc2NyaXB0UHVia2V5vvwe/GalGf1kUmo6 -E4dA5/EQLQu+/zrBRk7z90B2dFyX9dcGQq4qM5IlO6hOHc7Ek+O/PtNxsYdzhjVO -zIiCawUBXKFJWF3lNO6Rs+OgMLfv1M23mr6pFS8QHzdZtMchDh+ZYk235CaSmVST -Lt/I0melUpcCKTzVq8BWTm8iWzP68QYCBm5hbWluZ958dTxr1Wd0+HJFMGykY0CX -EM7gG+3KkSD8ru+Tv/WGCXByZWNpc2lvbl0DxBeNqY5+PzrzQ+OZfXQgHRH0JzLP -vqKwS44/8V8intMBBsFL1MyiuRIHIrwEd5eOvLle42Kqii+FlkGR4X4DBQ5zdXBw -bHlNaXNtYXRjaAEPbm9uRXF1YWxBbW91bnRzAgxpbnZhbGlkUHJvb2YDFGluc3Vm -ZmljaWVudFJlc2VydmVzBBRpbnN1ZmZpY2llbnRDb3ZlcmFnZQWhMc/ld5RQAWjg -2akfBwSTu0aoJ9782IfI1/p8Q3d58QMQBHU0XzAABHU0XzEBBHU0XzICBHU0XzMD -BHU0XzQEBHU0XzUFBHU0XzYGBHU0XzcHBHU0XzgIBHU0XzkJBXU0XzEwCgV1NF8x -MQsFdTRfMTIMBXU0XzEzDQV1NF8xNA4FdTRfMTUPo4JC88vX0dChEtqN4WAvVtT4 -bw7ExHbFwGhZTEsEZVYFASpbqqxQif8JjRULSCz+2LzQGpHA17RdMiFu1Xarcevd -pc/7MnUTB35PH8lgcpKCRKAeoYxs2vWY2gtXNawHXtcABKYuOEoTUYQYO52muXlr -BuiMdcaAMTndORFI6gSa49fhAxAEemVybzADb25lMQN0d28yBXRocmVlMwRmb3Vy -NARmaXZlNQNzaXg2BXNldmVuNwVlaWdodDgEbmluZTkDdGVuYQZlbGV2ZW5iBnR3 -ZWx2ZWMIdGhpcnRlZW5kCGZvdXJ0ZWVuZQdmaWZ0ZWVuZqh8xnlkZ+VX10TlyWI6 -4AzLldkaDS8D33TAdRJPvseeBQFmMtpku/W8PMn1IkUvU3eoOATNzZUAa8RnoTlM -waK0j7KCraAWmeYs/GxKV4ZhUw29ypMspvbXT9prYVsrFgaLCJA7ZHB5hI8bJlMq -5M7GpolEoFNYuPCByyazu/gtnjvzAAAAAAAAAAD/////AAAAALYf51dO4ILrqWFm -X2ausgkwlhIjkJZNIGSbJ7XnyHUUBgIEdHlwZWcdubdnF/nDazz5Uzdd7bKOJ4AJ -0mKv+Goj34HUbT6hBmRpZ2VzdCpbqqxQif8JjRULSCz+2LzQGpHA17RdMiFu1Xar -cevduqDj/KudVdFoux4mg3FTr+ifg6J+BJhVTTlj9kMf0/QDPgR6ZXJvMANvbmUx -A3R3bzIFdGhyZWUzBGZvdXI0BGZpdmU1A3NpeDYFc2V2ZW43BWVpZ2h0OARuaW5l -OQFBQQFCQgFDQwFERAFFRQFGRgFHRwFISAFJSQFKSgFLSwFMTAFNTQFOTgFPTwFQ -UAFRUQFSUgFTUwFUVAFVVQFWVgFXVwFYWAFZWQFaWgFhYQFiYgFjYwFkZAFlZQFm -ZgFnZwFoaAFpaQFqagFrawFsbAFtbQFubgFvbwFwcAFxcQFycgFzcwF0dAF1dQF2 -dgF3dwF4eAF5eQF6erwokbHGasX15hBZoyB32qgjM6FDW9NGCLMLA/wBfZVFAwoE -emVybzADb25lMQN0d28yBXRocmVlMwRmb3VyNARmaXZlNQNzaXg2BXNldmVuNwVl -aWdodDgEbmluZTm+/B78ZqUZ/WRSajoTh0Dn8RAtC77/OsFGTvP3QHZ0XAUBJav1 -uRIUF7qjOdRfexV1p3FL4Xp1GF3QMTV61Mkt6YbHpVrV9usrFAfZojdFzYHRpnXC -qPCZduejmsd31149tQgE5lh/LPZ4v4NZ5Ih2vY5U7TZujic1OThoDtnWjueu7gAA -AAAAAAAA/////wAAAADK/4+us4oAoE42IVOPjmHXWoWkZcsKDkjDWT5+qmxfxwUB -Pytyt8SvGmMMttP/CIuvNRCT7kZbnn1HKmEAguRJ1+TYP77gLw3ltGz4D+Ee9/3w -YceNl10xrenuorxAmTOebAAA3nx1PGvVZ3T4ckUwbKRjQJcQzuAb7cqRIPyu75O/ -9YYGAwZ0aWNrZXKAV64H9HuSOszFNh/PQNkpguhB91fdWbFte9vI6r6ZpQRuYW1l -UBQQXwxAJsoSq643feJvjjygYI3TbEg+1w9HGVzTNNQHZGV0YWlsc0W3gCWGAcUm -sjtbSGFGCpBQ4T81+76DBagAEVfkATiI4PAG1YpGR5ljYIj3OM7LnaS859AQ7stq -Ho8adErDBfoEAgAEbm9uZdg/vuAvDeW0bPgP4R73/fBhx42XXTGt6e6ivECZM55s -AQRzb21l5E66CtWeHwaVHhRP6YpawRWby0d+cE9gThN9AiP0w4bkTroK1Z4fBpUe -FE/pilrBFZvLR35wT2BOE30CI/TDhgUBth/nV07gguupYWZfZq6yCTCWEiOQlk0g -ZJsntefIdRToakDNXCX5veKE/2mlETKnQSshVb0OVhLBv+OElWDFBgYCBHR4aWSj -gkLzy9fR0KES2o3hYC9W1PhvDsTEdsXAaFlMSwRlVgR2b3V0IeM+Q8WqXPIpJ1Oj -OMFn7TtjnE3Zzr2pjzRpF7rJQ3Xu3sPrqgj7AQ8vluF6DgOa2H/mB3GnMB+MXoiZ -XQVnawMQBHplcm8wA29uZTEDdHdvMgV0aHJlZTMEZm91cjQEZml2ZTUDc2l4NgVz -ZXZlbjcFZWlnaHQ4BG5pbmU5A3RlbkEGZWxldmVuQgZ0d2VsdmVDCHRoaXJ0ZWVu -RAhmb3VydGVlbkUHZmlmdGVlbkbyuiSAFp59Okj9ADAtH9+AueMRjwGiW6Z1LX3P -ge8IOAgcq7/D2CbAv9HpdwqInvrMi2cWrQFKPuwQtlkVMCKQQgAAAAAAAAAA//8A -AAAAAAD5FwgE3a4EefjVr3SrO9IC5upBctmpuTcHFRrbf8QMoQMaAWFhAWJiAWNj -AWRkAWVlAWZmAWdnAWhoAWlpAWpqAWtrAWxsAW1tAW5uAW9vAXBwAXFxAXJyAXNz -AXR0AXV1AXZ2AXd3AXh4AXl5AXp6+6lYcho9M1QGs2jDb1qCeQlgzOI5/ryv4Ym6 -mDnV2ngB +AXR0AXV1AXZ2AXd3AXh4AXl5AXp6NdodFTkgbrvd3KTDPYcx6vKbp9p03z3IgiAc +Tha1uRwFAaXP+zJ1Ewd+Tx/JYHKSgkSgHqGMbNr1mNoLVzWsB17XOHUEsUt8DkZt +R54XR30kdCR/+ANk7D1Lqvc6IPdBdGsFASWr9bkSFBe6oznUX3sVdadxS+F6dRhd +0DE1etTJLemGPIrdiTg2+MBMBz0fRU2VJc+Wp9dVcpb6Zj3bqu+oQ5QDNAFBQQFC +QgFDQwFERAFFRQFGRgFHRwFISAFJSQFKSgFLSwFMTAFNTQFOTgFPTwFQUAFRUQFS +UgFTUwFUVAFVVQFWVgFXVwFYWAFZWQFaWgFhYQFiYgFjYwFkZAFlZQFmZgFnZwFo +aAFpaQFqagFrawFsbAFtbQFubgFvbwFwcAFxcQFycgFzcwF0dAF1dQF2dgF3dwF4 +eAF5eQF6ejzRop3MrZuReyYwX4mopPshGDAqTnPFrAp4DearAF5zAy0EZXhjbCEE +aGFzaCMGZG9sbGFyJANhbXAmBHBsdXMrBGRhc2gtA2RvdC4EemVybzADb25lMQN0 +d28yBXRocmVlMwRmb3VyNARmaXZlNQNzaXg2BXNldmVuNwVlaWdodDgEbmluZTkF +Y2FyZXReBmxvZGFzaF8BYWEBYmIBY2MBZGQBZWUBZmYBZ2cBaGgBaWkBamoBa2sB +bGwBbW0Bbm4Bb28BcHABcXEBcnIBc3MBdHQBdXUBdnYBd3cBeHgBeXkBeno/K3K3 +xK8aYwy20/8Ii681EJPuRluefUcqYQCC5EnX5AUBY6ojFOixR8iyhN+zmp4Q0Zyq +1frqhI48uYSdkWfWNEpFt4AlhgHFJrI7W0hhRgqQUOE/Nfu+gwWoABFX5AE4iAQC +AARub25l2D++4C8N5bRs+A/hHvf98GHHjZddMa3p7qK8QJkznmwBBHNvbWXK/4+u +s4oAoE42IVOPjmHXWoWkZcsKDkjDWT5+qmxfx0Z7rIE5sfUT/TezHnRFnYYKsvZw +M9qa1HLm2j0f84p7BgEIcmVzZXJ2ZXNHs1MgU/g/wa06vohFNiDLZH2Gzl7k495W +tck4Qj65zUezUyBT+D/BrTq+iEU2IMtkfYbOXuTj3la1yThCPrnNCQ7SGjsZhfj1 +Xxr/xyYdVR9rq0vyBs3ESP3Ll7fESAnNAAAAAAAAAAD//wAAAAAAAFAUEF8MQCbK +EquuN33ib448oGCN02xIPtcPRxlc0zTUBQGE3gPAfR1He7dtQKlH0m4e2H3ETq+G +cg3U3IpIBHNzs1YNlvekeSSyw98EDmRjOY/WX9WRZSwpQ0K/pfk5FVFUCPupWHIa +PTNUBrNow29agnkJYMziOf68r+GJupg51dp4AAAAAAAAAAD//wAAAAAAAFYeKdBX +1D4C6U5tXZl/DupxbHW7GuMS+cHGU9rzA5RQCDzRop3MrZuReyYwX4mopPshGDAq +TnPFrAp4DearAF5zAQAAAAAAAABAAAAAAAAAAFyhSVhd5TTukbPjoDC379TNt5q+ +qRUvEB83WbTHIQ4fAAhdA8QXjamOfj8680PjmX10IB0R9Ccyz76isEuOP/FfIgMT +C2luZGl2aXNpYmxlAARkZWNpAQVjZW50aQIFbWlsbGkDCWRlY2lNaWxsaQQKY2Vu +dGlNaWxsaQUFbWljcm8GCWRlY2lNaWNybwcKY2VudGlNaWNybwgEbmFubwkIZGVj +aU5hbm8KCWNlbnRpTmFubwsEcGljbwwIZGVjaVBpY28NCWNlbnRpUGljbw4FZmVt +dG8PCWRlY2lGZW10bxAKY2VudGlGZW10bxEEYXR0bxJgFcDnB2Sp9IrnHdRIyvQD +W//r22Lv9w3IeUKG+JEPQQMkBHplcm8wA29uZTEDdHdvMgV0aHJlZTMEZm91cjQE +Zml2ZTUDc2l4NgVzZXZlbjcFZWlnaHQ4BG5pbmU5AUFBAUJCAUNDAUREAUVFAUZG +AUdHAUhIAUlJAUpKAUtLAUxMAU1NAU5OAU9PAVBQAVFRAVJSAVNTAVRUAVVVAVZW +AVdXAVhYAVlZAVpaYYYi0Xuu8GYC3+d1yYDgs2tuuugJDYB191E77EuT9k0DAgVm +YWxzZQAEdHJ1ZQFiuDNAm91dkiGv542PYZJIHgAgN0rnBO3BfJfrjjl6hgUBLdHa +SEnoaw57zyJ+lJ30keHpNqO93nchqGhuGzBccCNjqiMU6LFHyLKE37OanhDRnKrV ++uqEjjy5hJ2RZ9Y0Sgj7qVhyGj0zVAazaMNvWoJ5CWDM4jn+vK/hibqYOdXaeAEA +AAAAAAAA/wAAAAAAAABmMtpku/W8PMn1IkUvU3eoOATNzZUAa8RnoTlMwaK0jwBE +Zx25t2cX+cNrPPlTN13tso4ngAnSYq/4aiPfgdRtPqEGAwR0eXBljHmlwhK+G4Je +Gb1Ufgkat4BgG7bnI/vzZlSRRg6liSkHc3VidHlwZY/2L+Ctb+b+aoJdW1V5PIrI +cq0vKZjlDpOV/KSKPDtnB2NoYXJzZXSP9i/grW/m/mqCXVtVeTyKyHKtLymY5Q6T +lfykijw7Z3KOpoqX3nQg9ipZabBLhyYEv0XW3ziVnH4m56ckkOStAz8EemVybzAD +b25lMQN0d28yBXRocmVlMwRmb3VyNARmaXZlNQNzaXg2BXNldmVuNwVlaWdodDgE +bmluZTkBQUEBQkIBQ0MBREQBRUUBRkYBR0cBSEgBSUkBSkoBS0sBTEwBTU0BTk4B +T08BUFABUVEBUlIBU1MBVFQBVVUBVlYBV1cBWFgBWVkBWloGbG9kYXNoXwFhYQFi +YgFjYwFkZAFlZQFmZgFnZwFoaAFpaQFqagFrawFsbAFtbQFubgFvbwFwcAFxcQFy +cgFzcwF0dAF1dQF2dgF3dwF4eAF5eQF6enN3Q3A2kyBJzSiVCKpxfOOCnbJFLlXo +TtT8LjzNLgCdBQHHpVrV9usrFAfZojdFzYHRpnXCqPCZduejmsd31149tXfAuNZu +j9BuvlQaIaKK7vio2rX0msyCAxSqTtuNzX1UCBlHLRfYYgenDyExqVihaKVuKtZT +P5xmTBl32lz5/mKGAAAAAAAAAAD/////AAAAAIBXrgf0e5I6zMU2H89A2SmC6EH3 +V91ZsW1728jqvpmlBQEYGqHj7XS9UaPM22yyGAvUE/L4kcKKdl8Woqjzui2rsYTe +A8B9HUd7t21AqUfSbh7YfcROr4ZyDdTcikgEc3OzCAtsUA2UJkRi+3HA6HR4A3aV +tGRhWLnsUZ3W1H503FTzAQAAAAAAAAAoAAAAAAAAAIiMWGVjOvE7lbfNGo2K8trB +3BQLl3JR2dTa88dRHI6EBQFcoUlYXeU07pGz46Awt+/UzbeavqkVLxAfN1m0xyEO +H4x5pcISvhuCXhm9VH4JGreAYBu25yP782ZUkUYOpYkpBQFWHinQV9Q+AulObV2Z +fw7qcWx1uxrjEvnBxlPa8wOUUI/2L+Ctb+b+aoJdW1V5PIrIcq0vKZjlDpOV/KSK +PDtnBAIABG5vbmXYP77gLw3ltGz4D+Ee9/3wYceNl10xrenuorxAmTOebAEEc29t +ZRi3BeFduet3d8H53DSe8G7ZHpSAL02rD/F5hpUKc4x+kDtkcHmEjxsmUyrkzsam +iUSgU1i48IHLJrO7+C2eO/MGAgV2YWx1ZZf11wZCriozkiU7qE4dzsST478+03Gx +h3OGNU7MiIJrDHNjcmlwdFB1Ymtleb78HvxmpRn9ZFJqOhOHQOfxEC0Lvv86wUZO +8/dAdnRcl/XXBkKuKjOSJTuoTh3OxJPjvz7TcbGHc4Y1TsyIgmsFAVyhSVhd5TTu +kbPjoDC379TNt5q+qRUvEB83WbTHIQ4fmWJNt+QmkplUky7fyNJnpVKXAik81avA +Vk5vIlsz+vEGAgZuYW1pbmfefHU8a9VndPhyRTBspGNAlxDO4BvtypEg/K7vk7/1 +hglwcmVjaXNpb25dA8QXjamOfj8680PjmX10IB0R9Ccyz76isEuOP/FfIp7TAQbB +S9TMorkSByK8BHeXjry5XuNiqoovhZZBkeF+AwUOc3VwcGx5TWlzbWF0Y2gBD25v +bkVxdWFsQW1vdW50cwIMaW52YWxpZFByb29mAxRpbnN1ZmZpY2llbnRSZXNlcnZl +cwQUaW5zdWZmaWNpZW50Q292ZXJhZ2UFoTHP5XeUUAFo4NmpHwcEk7tGqCfe/NiH +yNf6fEN3efEDEAR1NF8wAAR1NF8xAQR1NF8yAgR1NF8zAwR1NF80BAR1NF81BQR1 +NF82BgR1NF83BwR1NF84CAR1NF85CQV1NF8xMAoFdTRfMTELBXU0XzEyDAV1NF8x +Mw0FdTRfMTQOBXU0XzE1D6OCQvPL19HQoRLajeFgL1bU+G8OxMR2xcBoWUxLBGVW +BQEqW6qsUIn/CY0VC0gs/ti80BqRwNe0XTIhbtV2q3Hr3aXP+zJ1Ewd+Tx/JYHKS +gkSgHqGMbNr1mNoLVzWsB17XAASmLjhKE1GEGDudprl5awbojHXGgDE53TkRSOoE +muPX4QMQBHplcm8wA29uZTEDdHdvMgV0aHJlZTMEZm91cjQEZml2ZTUDc2l4NgVz +ZXZlbjcFZWlnaHQ4BG5pbmU5A3RlbmEGZWxldmVuYgZ0d2VsdmVjCHRoaXJ0ZWVu +ZAhmb3VydGVlbmUHZmlmdGVlbmaofMZ5ZGflV9dE5cliOuAMy5XZGg0vA990wHUS +T77HngUBZjLaZLv1vDzJ9SJFL1N3qDgEzc2VAGvEZ6E5TMGitI+ygq2gFpnmLPxs +SleGYVMNvcqTLKb210/aa2FbKxYGiwiQO2RweYSPGyZTKuTOxqaJRKBTWLjwgcsm +s7v4LZ478wAAAAAAAAAA/////wAAAAC2H+dXTuCC66lhZl9mrrIJMJYSI5CWTSBk +mye158h1FAYCBHR5cGVnHbm3Zxf5w2s8+VM3Xe2yjieACdJir/hqI9+B1G0+oQZk +aWdlc3QqW6qsUIn/CY0VC0gs/ti80BqRwNe0XTIhbtV2q3Hr3bqg4/yrnVXRaLse +JoNxU6/on4OifgSYVU05Y/ZDH9P0Az4EemVybzADb25lMQN0d28yBXRocmVlMwRm +b3VyNARmaXZlNQNzaXg2BXNldmVuNwVlaWdodDgEbmluZTkBQUEBQkIBQ0MBREQB +RUUBRkYBR0cBSEgBSUkBSkoBS0sBTEwBTU0BTk4BT08BUFABUVEBUlIBU1MBVFQB +VVUBVlYBV1cBWFgBWVkBWloBYWEBYmIBY2MBZGQBZWUBZmYBZ2cBaGgBaWkBamoB +a2sBbGwBbW0Bbm4Bb28BcHABcXEBcnIBc3MBdHQBdXUBdnYBd3cBeHgBeXkBenq8 +KJGxxmrF9eYQWaMgd9qoIzOhQ1vTRgizCwP8AX2VRQMKBHplcm8wA29uZTEDdHdv +MgV0aHJlZTMEZm91cjQEZml2ZTUDc2l4NgVzZXZlbjcFZWlnaHQ4BG5pbmU5vvwe +/GalGf1kUmo6E4dA5/EQLQu+/zrBRk7z90B2dFwFASWr9bkSFBe6oznUX3sVdadx +S+F6dRhd0DE1etTJLemGx6Va1fbrKxQH2aI3Rc2B0aZ1wqjwmXbno5rHd9dePbUI +BOZYfyz2eL+DWeSIdr2OVO02bo4nNTk4aA7Z1o7nru4AAAAAAAAAAP////8AAAAA +yv+PrrOKAKBONiFTj45h11qFpGXLCg5Iw1k+fqpsX8cFAT8rcrfErxpjDLbT/wiL +rzUQk+5GW559RyphAILkSdfk2D++4C8N5bRs+A/hHvf98GHHjZddMa3p7qK8QJkz +nmwAAN58dTxr1Wd0+HJFMGykY0CXEM7gG+3KkSD8ru+Tv/WGBgMGdGlja2VygFeu +B/R7kjrMxTYfz0DZKYLoQfdX3VmxbXvbyOq+maUEbmFtZVAUEF8MQCbKEquuN33i +b448oGCN02xIPtcPRxlc0zTUB2RldGFpbHNFt4AlhgHFJrI7W0hhRgqQUOE/Nfu+ +gwWoABFX5AE4iODwBtWKRkeZY2CI9zjOy52kvOfQEO7Lah6PGnRKwwX6BAIABG5v +bmXYP77gLw3ltGz4D+Ee9/3wYceNl10xrenuorxAmTOebAEEc29tZeROugrVnh8G +lR4UT+mKWsEVm8tHfnBPYE4TfQIj9MOG5E66CtWeHwaVHhRP6YpawRWby0d+cE9g +ThN9AiP0w4YFAbYf51dO4ILrqWFmX2ausgkwlhIjkJZNIGSbJ7XnyHUU6GpAzVwl ++b3ihP9ppREyp0ErIVW9DlYSwb/jhJVgxQYGAgR0eGlko4JC88vX0dChEtqN4WAv +VtT4bw7ExHbFwGhZTEsEZVYEdm91dCHjPkPFqlzyKSdTozjBZ+07Y5xN2c69qY80 +aRe6yUN17t7D66oI+wEPL5bheg4Dmth/5gdxpzAfjF6ImV0FZ2sDEAR6ZXJvMANv +bmUxA3R3bzIFdGhyZWUzBGZvdXI0BGZpdmU1A3NpeDYFc2V2ZW43BWVpZ2h0OARu +aW5lOQN0ZW5BBmVsZXZlbkIGdHdlbHZlQwh0aGlydGVlbkQIZm91cnRlZW5FB2Zp +ZnRlZW5G8rokgBaefTpI/QAwLR/fgLnjEY8BolumdS19z4HvCDgIHKu/w9gmwL/R +6XcKiJ76zItnFq0BSj7sELZZFTAikEIAAAAAAAAAAP//AAAAAAAA+RcIBN2uBHn4 +1a90qzvSAubqQXLZqbk3BxUa23/EDKEDGgFhYQFiYgFjYwFkZAFlZQFmZgFnZwFo +aAFpaQFqagFrawFsbAFtbQFubgFvbwFwcAFxcQFycgFzcwF0dAF1dQF2dgF3dwF4 +eAF5eQF6evupWHIaPTNUBrNow29agnkJYMziOf68r+GJupg51dp4AQ== -----END RGB INTERFACE----- diff --git a/stl/RGB21@0.1.0.sta b/stl/RGB21@0.1.0.sta index 0208cbd0..cbf6d19c 100644 --- a/stl/RGB21@0.1.0.sta +++ b/stl/RGB21@0.1.0.sta @@ -1,14 +1,14 @@ -----BEGIN STRICT TYPE LIB----- -Id: benny_horse_salad_E3AsDKsHSqAPQLvJke3DcPrkErbS2Jxf8pQ8jYBQYJPA +Id: morph_angel_jeep_3miGC5GTW58CeuGJgomApmdjm8N6Yu6YuuURS8N4WVBA Name: RGB21 Dependencies: Bitcoin@race_ballet_golf_6GgF7biXPVNcus2FfQj2pQuRzau11rXApMQLfCZhojgi, - Std@lagoon_rodent_option_9KALDYR8Nyjq4FdMW6kYoL7vdkWnqPqNuFnmE9qHpNjZ, - RGBContract@price_canvas_oliver_9Te5P6nq3oaDHMgttLEbkojbeQPTqqZLhjxZ3my1F8aJ + RGBContract@spoon_shadow_evening_6vbr9ZrtsD9aBjo5qRQ36QEZPVucqvRRjKCPqE8yPeJr, + Std@lagoon_rodent_option_9KALDYR8Nyjq4FdMW6kYoL7vdkWnqPqNuFnmE9qHpNjZ -BVJHQjIxA05OhPRwFsnl0mJ8v8P0NrLdbNTRubBEW/9e74J2cndXB0JpdGNvaW57 -hIA8nvriESWnfCw5vHDS/ej5Q64N/Zz05oLtx2bKcANTdGR9sISUTLPJ3fXoMwH6 -UBNNJmaG5lsPF0/is+di00NitwtSR0JDb250cmFjdAMHQml0Y29pbgMAIeM+Q8Wq +BVJHQjIxA05OhPRwFsnl0mJ8v8P0NrLdbNTRubBEW/9e74J2cndXB0JpdGNvaW5Y +BZ6bw7btaBmIQIEUKMWtsT6AKI/SjlUO5APEgkORzwtSR0JDb250cmFjdHuEgDye ++uIRJad8LDm8cNL96PlDrg39nPTmgu3HZspwA1N0ZAMHQml0Y29pbgMAIeM+Q8Wq XPIpJ1OjOMFn7TtjnE3Zzr2pjzRpF7rJQ3UEVm91dKOCQvPL19HQoRLajeFgL1bU +G8OxMR2xcBoWUxLBGVWBFR4aWToakDNXCX5veKE/2mlETKnQSshVb0OVhLBv+OE lWDFBghPdXRwb2ludAtSR0JDb250cmFjdAgADtIaOxmF+PVfGv/HJh1VH2urS/IG @@ -26,7 +26,7 @@ XynkEiSrLSv052Bcdw5BdHRhY2htZW50TmFtZQUBAAgCe4SAPJ764hElp3wsObxw 0v3o+UOuDf2c9OaC7cdmynALbFANlCZEYvtxwOh0eAN2lbRkYVi57FGd1tR+dNxU 8wEAAAAAAAAAFAAAAAAAAAAOQXR0YWNobWVudFR5cGUGAgJpZAAAAQRuYW1lAbbr zP9Ln3kyWfBLMU+3ZhKAipfFKFy3Nevjnti/ggWUDUVtYmVkZGVkTWVkaWEGAgR0 -eXBlAn2whJRMs8nd9egzAfpQE00mZobmWw8XT+Kz52LTQ2K3Zx25t2cX+cNrPPlT +eXBlAlgFnpvDtu1oGYhAgRQoxa2xPoAoj9KOVQ7kA8SCQ5HPZx25t2cX+cNrPPlT N13tso4ngAnSYq/4aiPfgdRtPqEEZGF0YQAIAABAAAAAAAAAAAD//wAAAAAAAA1F bmdyYXZpbmdEYXRhBgIJYXBwbGllZFRvAWUBVkPkSIzz9xQ0AXnXJego8sBL/EHM Oyf2BU/aN3MdB2NvbnRlbnQBK9paYJDDqiMRYBlcjeFnD3jbU/lf3Lc6f7wb4/+R @@ -35,19 +35,19 @@ YWxpZFByb29mAxRpbnN1ZmZpY2llbnRSZXNlcnZlcwQVaXNzdWVFeGNlZWRzQWxs b3dhbmNlBhJub25GcmFjdGlvbmFsVG9rZW4HEm5vbkVuZ3JhdmFibGVUb2tlbggV aW52YWxpZEF0dGFjaG1lbnRUeXBlCQpJdGVtc0NvdW50BQEAAAQNT3duZWRGcmFj dGlvbgUBAAAICVRva2VuRGF0YQYIBWluZGV4AWUBVkPkSIzz9xQ0AXnXJego8sBL -/EHMOyf2BU/aN3MdBnRpY2tlcgAEAgAEbm9uZQAAAAEEc29tZQAFAQJ9sISUTLPJ -3fXoMwH6UBNNJmaG5lsPF0/is+di00Nit4BXrgf0e5I6zMU2H89A2SmC6EH3V91Z -sW1728jqvpmlBG5hbWUABAIABG5vbmUAAAABBHNvbWUABQECfbCElEyzyd316DMB -+lATTSZmhuZbDxdP4rPnYtNDYrdQFBBfDEAmyhKrrjd94m+OPKBgjdNsSD7XD0cZ -XNM01AdkZXRhaWxzAAQCAARub25lAAAAAQRzb21lAAUBAn2whJRMs8nd9egzAfpQ -E00mZobmWw8XT+Kz52LTQ2K3Pytyt8SvGmMMttP/CIuvNRCT7kZbnn1HKmEAguRJ +/EHMOyf2BU/aN3MdBnRpY2tlcgAEAgAEbm9uZQAAAAEEc29tZQAFAQJYBZ6bw7bt +aBmIQIEUKMWtsT6AKI/SjlUO5APEgkORz4BXrgf0e5I6zMU2H89A2SmC6EH3V91Z +sW1728jqvpmlBG5hbWUABAIABG5vbmUAAAABBHNvbWUABQECWAWem8O27WgZiECB +FCjFrbE+gCiP0o5VDuQDxIJDkc9QFBBfDEAmyhKrrjd94m+OPKBgjdNsSD7XD0cZ +XNM01AdkZXRhaWxzAAQCAARub25lAAAAAQRzb21lAAUBAlgFnpvDtu1oGYhAgRQo +xa2xPoAoj9KOVQ7kA8SCQ5HPPytyt8SvGmMMttP/CIuvNRCT7kZbnn1HKmEAguRJ 1+QHcHJldmlldwAEAgAEbm9uZQAAAAEEc29tZQAFAQEr2lpgkMOqIxFgGVyN4WcP -eNtT+V/ctzp/vBvj/5GqYwVtZWRpYQAEAgAEbm9uZQAAAAEEc29tZQAFAQJ9sISU -TLPJ3fXoMwH6UBNNJmaG5lsPF0/is+di00Nit7Yf51dO4ILrqWFmX2ausgkwlhIj -kJZNIGSbJ7XnyHUUC2F0dGFjaG1lbnRzAAoAAAECfbCElEyzyd316DMB+lATTSZm -huZbDxdP4rPnYtNDYre2H+dXTuCC66lhZl9mrrIJMJYSI5CWTSBkmye158h1FAAA -AAAAAAAAFAAAAAAAAAAIcmVzZXJ2ZXMABAIABG5vbmUAAAABBHNvbWUABQECfbCE -lEyzyd316DMB+lATTSZmhuZbDxdP4rPnYtNDYrcO0ho7GYX49V8a/8cmHVUfa6tL +eNtT+V/ctzp/vBvj/5GqYwVtZWRpYQAEAgAEbm9uZQAAAAEEc29tZQAFAQJYBZ6b +w7btaBmIQIEUKMWtsT6AKI/SjlUO5APEgkORz7Yf51dO4ILrqWFmX2ausgkwlhIj +kJZNIGSbJ7XnyHUUC2F0dGFjaG1lbnRzAAoAAAECWAWem8O27WgZiECBFCjFrbE+ +gCiP0o5VDuQDxIJDkc+2H+dXTuCC66lhZl9mrrIJMJYSI5CWTSBkmye158h1FAAA +AAAAAAAAFAAAAAAAAAAIcmVzZXJ2ZXMABAIABG5vbmUAAAABBHNvbWUABQECWAWe +m8O27WgZiECBFCjFrbE+gCiP0o5VDuQDxIJDkc8O0ho7GYX49V8a/8cmHVUfa6tL 8gbNxEj9y5e3xEgJzQpUb2tlbkluZGV4BQEAAAQ= -----END STRICT TYPE LIB----- diff --git a/stl/RGB21@0.1.0.stl b/stl/RGB21@0.1.0.stl index 794a799d027e0480a4ea780a74b13e3ecf1e52e7..e946ffb5aa55f93f963fe3486048a06dccd7f939 100644 GIT binary patch delta 348 zcmey%|CfJ)zD@+|yxE7hz0Hv9aA*|KIJ$PDU4usdrM^(UC(K8hoF|^=4sv&L&d)0; zN=z=9tjMgu!W>+Zva#NkS%Hww$r~9JHnXryWhAWfHlxDio2=4=74`rXny|?cR+z%5 dIC(N#Bw>a6ObU~A*oBBwSjVnUSm9ZA0{{hnl?ea< delta 347 zcmey%|CfJ){$xdF1q0^bl9bvFEmM3ppS=6^g)!r=0AXLXw6=0W?`AiNLb};Wn?VUr`QFojWZ c@?^G1!V2}76ejDi3lXQVj$NOy!n5oK0K#>jaR2}S diff --git a/stl/RGB21@0.1.0.sty b/stl/RGB21@0.1.0.sty index c23b7f12..da7b1789 100644 --- a/stl/RGB21@0.1.0.sty +++ b/stl/RGB21@0.1.0.sty @@ -1,5 +1,5 @@ {- - Id: benny_horse_salad_E3AsDKsHSqAPQLvJke3DcPrkErbS2Jxf8pQ8jYBQYJPA + Id: morph_angel_jeep_3miGC5GTW58CeuGJgomApmdjm8N6Yu6YuuURS8N4WVBA Name: RGB21 Version: 0.1.0 Description: Types for RGB21 interface @@ -16,12 +16,7 @@ import race_ballet_golf_6GgF7biXPVNcus2FfQj2pQuRzau11rXApMQLfCZhojgi as Bitcoin -- Txid := TaxiLearnMalta0C1GfCrG7AXu2sFhRBspd7KpJK2YgyTkVy6pty5rZynRs -- Outpoint := CakeLeftPencil0GeFZHi1RYCrrcH1LG4Fo2SWW5M6KLJ8yvoGkFjRWZaA9 -import lagoon_rodent_option_9KALDYR8Nyjq4FdMW6kYoL7vdkWnqPqNuFnmE9qHpNjZ as Std --- Imports: --- AsciiPrintable := PierreForbidOrganic0mbH4meZSjxky12xHm9pg3rw8VoGxEa6rXtt6dAMZLbt --- AlphaCapsNum := CrashLemonNight07U5NvJNf343ZzFXsqW2DBYtTSvrb3YdL6oxYd2BaMsVr - -import price_canvas_oliver_9Te5P6nq3oaDHMgttLEbkojbeQPTqqZLhjxZ3my1F8aJ as RGBContract +import spoon_shadow_evening_6vbr9ZrtsD9aBjo5qRQ36QEZPVucqvRRjKCPqE8yPeJr as RGBContract -- Imports: -- ProofOfReserves := LicenseGermanyWindow0zrXMtzeLgFy1NQd46y3CNb549tnukiuMEGJvqxRkyDW -- MimeChar := NormalBaliNuclear056Qs8Zfm2GAgewu9s7ffVb9xX6QiJhoDskxMhBoz723U @@ -32,6 +27,11 @@ import price_canvas_oliver_9Te5P6nq3oaDHMgttLEbkojbeQPTqqZLhjxZ3my1F8aJ as RGBCo -- MediaRegName := BrownPrinterSouth0ATMfUVhmYiQqu4AaPTzvatZqYxWHStE2BMJhr4vYa2Vv -- Attachment := HiltonStationDragon0DFwRAzutaWgGPkDzkEvHJoS129xfg4Gnv88Mk9wikpuh +import lagoon_rodent_option_9KALDYR8Nyjq4FdMW6kYoL7vdkWnqPqNuFnmE9qHpNjZ as Std +-- Imports: +-- AsciiPrintable := PierreForbidOrganic0mbH4meZSjxky12xHm9pg3rw8VoGxEa6rXtt6dAMZLbt +-- AlphaCapsNum := CrashLemonNight07U5NvJNf343ZzFXsqW2DBYtTSvrb3YdL6oxYd2BaMsVr + -- ChaosGyroOrange02WhKkjroWkz1aV23HAvvSpMnnCU6XisNvK4nqwmxQMW4 diff --git a/stl/RGBContract@0.1.0.sta b/stl/RGBContract@0.1.0.sta index f76b1c9e..8b8aea55 100644 --- a/stl/RGBContract@0.1.0.sta +++ b/stl/RGBContract@0.1.0.sta @@ -1,5 +1,5 @@ -----BEGIN STRICT TYPE LIB----- -Id: price_canvas_oliver_9Te5P6nq3oaDHMgttLEbkojbeQPTqqZLhjxZ3my1F8aJ +Id: spoon_shadow_evening_6vbr9ZrtsD9aBjo5qRQ36QEZPVucqvRRjKCPqE8yPeJr Name: RGBContract Dependencies: Bitcoin@race_ballet_golf_6GgF7biXPVNcus2FfQj2pQuRzau11rXApMQLfCZhojgi, @@ -45,7 +45,7 @@ hP9ppREyp0ErIVW9DlYSwb/jhJVgxQYFcHJvb2YACAAAQAAAAAAAAAAA//8AAAAA AAARUmljYXJkaWFuQ29udHJhY3QFAQAIAAEAAAAAAAAAAP//AAAAAAAABlRpY2tl cgUBAAgCe4SAPJ764hElp3wsObxw0v3o+UOuDf2c9OaC7cdmynBgFcDnB2Sp9Irn HdRIyvQDW//r22Lv9w3IeUKG+JEPQQEAAAAAAAAACAAAAAAAAAAJVGltZXN0YW1w -BQEAAEQ= +BQEAAEg= -----END STRICT TYPE LIB----- diff --git a/stl/RGBContract@0.1.0.stl b/stl/RGBContract@0.1.0.stl index 4b6998368c916c9debb7d313d2152a3153db54b2..74313a8bd7ed218f352265ff36abc9857e14a510 100644 GIT binary patch delta 9 QcmZqWZ{^?6!p`Uc01pZRtpET3 delta 9 QcmZqWZ{^?6!p`Ud01pNNsQ>@~ diff --git a/stl/RGBContract@0.1.0.sty b/stl/RGBContract@0.1.0.sty index 4adc830f..52e4c9ba 100644 --- a/stl/RGBContract@0.1.0.sty +++ b/stl/RGBContract@0.1.0.sty @@ -1,5 +1,5 @@ {- - Id: price_canvas_oliver_9Te5P6nq3oaDHMgttLEbkojbeQPTqqZLhjxZ3my1F8aJ + Id: spoon_shadow_evening_6vbr9ZrtsD9aBjo5qRQ36QEZPVucqvRRjKCPqE8yPeJr Name: RGBContract Version: 0.1.0 Description: Types for writing RGB contracts and interfaces @@ -76,6 +76,6 @@ data ProofOfReserves :: utxo Bitcoin.Outpoint {- CakeLeftPencil0GeFZHi1RYCrrcH1 data RicardianContract :: [Unicode] -- NurseTorpedoGiraffe09dzjKz1d9KyoGnEg6WFSAKnWMaCpg1Lh7p66cmFXbH9e data Ticker :: [Std.AlphaCapsNum {- CrashLemonNight07U5NvJNf343ZzFXsqW2DBYtTSvrb3YdL6oxYd2BaMsVr -} ^ 1..0x8] --- WaveAlbumSide0726zXokB167TbBuMGnrPWwCqStN1xnNC2t9PYRjDJKei -data Timestamp :: I32 +-- BrazilBinarySlalom07eMrzgjRCf7EFcBBf6evAE75NTerkJ7tBdJAKqNfVGVs +data Timestamp :: I64 diff --git a/stl/RGBStd@0.1.0.sta b/stl/RGBStd@0.1.0.sta index 60b06b19..aef19efc 100644 --- a/stl/RGBStd@0.1.0.sta +++ b/stl/RGBStd@0.1.0.sta @@ -1,5 +1,5 @@ -----BEGIN STRICT TYPE LIB----- -Id: transit_fish_igor_E1JiPWTEmHkBEJsEfy12zScfUznkiPKe7UkgA7NEh89v +Id: parent_maze_jessica_3KXsWZ6hSKRbPjSVwRGbwnwJp3ZNQ2tfe6QUwLJEDG6K Name: RGBStd Dependencies: CommitVerify@melody_arctic_labor_ZtHaBzu9ojbDahaGKEXe5v9DfSDxLERbLkEB23R6Q6V, @@ -137,7 +137,7 @@ e1M11sTXJBlN0AGq7hmss25XuQh0cmFuc2ZlcgJ7hIA8nvriESWnfCw5vHDS/ej5 Q64N/Zz05oLtx2bKcGGGItF7rvBmAt/ndcmA4LNrbrroCQ2AdfdRO+xLk/ZNBnNj aGVtYQI2YLnOH8w+DoFw+ZME8HBwfZUGbPZCGlw1p4q6bYhQqFyN4O8vFPYM3fDQ ZJKlRfyCFk8X+Wqtsd4qaHOo6OO3BmlmYWNlcwAKATvKwIEDCOErq1shaIeE47Zz -pVfY5QAtdcabxbU/YqNxAXuXPhRLwTcTYhHv/CvTf1qFkY2hRBT+aQ5sT1xzoj/c +pVfY5QAtdcabxbU/YqNxAR89Zf7BojeGEpL1nVEHxAzFwwxbFNwzYHCO4WCnP/qv AAAAAAAAAAD/AAAAAAAAAAtzdXBwbGVtZW50cwAJAcEKD4o0jKPLZIcLZ+8rQS7R Fu4Bzepaxt6Fsq8NxdhqAAAAAAAAAAD/AAAAAAAAAAdnZW5lc2lzAjZguc4fzD4O gXD5kwTwcHB9lQZs9kIaXDWnirptiFCofgrTLZIN4UnOVbx619Sx8P2CV8xefXmG @@ -157,7 +157,7 @@ JBlN0AGq7hmss25XuQh0cmFuc2ZlcgJ7hIA8nvriESWnfCw5vHDS/ej5Q64N/Zz0 5oLtx2bKcGGGItF7rvBmAt/ndcmA4LNrbrroCQ2AdfdRO+xLk/ZNBnNjaGVtYQI2 YLnOH8w+DoFw+ZME8HBwfZUGbPZCGlw1p4q6bYhQqFyN4O8vFPYM3fDQZJKlRfyC Fk8X+Wqtsd4qaHOo6OO3BmlmYWNlcwAKATvKwIEDCOErq1shaIeE47ZzpVfY5QAt -dcabxbU/YqNxAXuXPhRLwTcTYhHv/CvTf1qFkY2hRBT+aQ5sT1xzoj/cAAAAAAAA +dcabxbU/YqNxAR89Zf7BojeGEpL1nVEHxAzFwwxbFNwzYHCO4WCnP/qvAAAAAAAA AAD/AAAAAAAAAAtzdXBwbGVtZW50cwAJAcEKD4o0jKPLZIcLZ+8rQS7RFu4Bzepa xt6Fsq8NxdhqAAAAAAAAAAD/AAAAAAAAAAdnZW5lc2lzAjZguc4fzD4OgXD5kwTw cHB9lQZs9kIaXDWnirptiFCofgrTLZIN4UnOVbx619Sx8P2CV8xefXmGPj1yrD2c @@ -221,7 +221,7 @@ SWRlbnRpdHkGBARuYW1lAAgAAQAAAAAAAAAA/wAAAAAAAAAFZW1haWwACAJ7hIA8 nvriESWnfCw5vHDS/ej5Q64N/Zz05oLtx2bKcBRNrsgy5sQ3knslXrmbQoqH2Q1Q qMzQTXIRtbe8X2bOAAAAAAAAAAD/AAAAAAAAAAVzdWl0ZQHB3vwXzJSXDkWb5j16 j/kiBMYy2LWB9qxmZek5CUgyvAJwawAIAABAAAAAAAAAAAD/AAAAAAAAAAVJZmFj -ZQYKB3ZlcnNpb24BFyXaBnd9Icdk2G/LAnrUzhVaYxYpaP/m+NddllDtH+EEbmFt +ZQYLB3ZlcnNpb24BFyXaBnd9Icdk2G/LAnrUzhVaYxYpaP/m+NddllDtH+EEbmFt ZQJDNAOU2Bsw4lIokCYe82/5+Kg5UZH1C2leIyoes7dByA0UI2XypK/GG1Nt1GdV cmYrsHKjkA/JiwBmitgxgOKwC2dsb2JhbFN0YXRlAAoCQzQDlNgbMOJSKJAmHvNv +fioOVGR9QtpXiMqHrO3QcioFOwosO1V7e6uUXmk5+WfQLP5VRYQbpvBLnIav35W @@ -241,68 +241,70 @@ UuA4fSG4YHYAAAAAAAAAAP8AAAAAAAAACWVycm9yVHlwZQJDNAOU2Bsw4lIokCYe 82/5+Kg5UZH1C2leIyoes7dByGsEoxSeppUAFmef7wK0qyT15reKZMjZ0L1l/Nej WE6NEGRlZmF1bHRPcGVyYXRpb24ABAIABG5vbmUAAAABBHNvbWUABQECQzQDlNgb MOJSKJAmHvNv+fioOVGR9QtpXiMqHrO3QcgNFCNl8qSvxhtTbdRnVXJmK7Byo5AP -yYsAZorYMYDisAdJZmFjZUlkBQEABwAAQCAACUlmYWNlSW1wbAYJB3ZlcnNpb24B -FyXaBnd9Icdk2G/LAnrUzhVaYxYpaP/m+NddllDtH+EIc2NoZW1hSWQCNmC5zh/M -Pg6BcPmTBPBwcH2VBmz2QhpcNaeKum2IUKiUUtPbA6urqFGfp/Y+0BTr1E19MT/8 -/gD6XSR6VASQEAdpZmFjZUlkATvKwIEDCOErq1shaIeE47ZzpVfY5QAtdcabxbU/ -YqNxBnNjcmlwdAI2YLnOH8w+DoFw+ZME8HBwfZUGbPZCGlw1p4q6bYhQqMYYY3tn -TQy0vKnAQ11/MmKDmHhzdCdD0TflRPu6EtBMC2dsb2JhbFN0YXRlAAkBWZ7tup4H -Tq1L68fK4XeVoJPQp10tciLuYXVXq51QP0QAAAAAAAAAAP8AAAAAAAAAC2Fzc2ln -bm1lbnRzAAkBWZ7tup4HTq1L68fK4XeVoJPQp10tciLuYXVXq51QP0QAAAAAAAAA -AP8AAAAAAAAACXZhbGVuY2llcwAJAVme7bqeB06tS+vHyuF3laCT0KddLXIi7mF1 -V6udUD9EAAAAAAAAAAD/AAAAAAAAAAt0cmFuc2l0aW9ucwAJAW/01QyDWhrgxJ5r -m/LSqgPKo+NsZvd8cwXIOdds9kexAAAAAAAAAAD/AAAAAAAAAApleHRlbnNpb25z -AAkBWZ7tup4HTq1L68fK4XeVoJPQp10tciLuYXVXq51QP0QAAAAAAAAAAP8AAAAA -AAAACUlmYWNlUGFpcgYCBWlmYWNlAT8tIA5wSJ8Aa8WYgGwa0CnZ7lEJvTJAMcJk -sDb9wCLSBWlpbXBsAWdqdsw4S3x7w9cmZ0pmzmGtGuHNnGw0Lo+L6SUF22UABklt -cGxJZAUBAAcAAEAgAA1OYW1lZEZpZWxkdTE2BgMCaWQAAAIEbmFtZQJDNAOU2Bsw -4lIokCYe82/5+Kg5UZH1C2leIyoes7dByKgU7Ciw7VXt7q5ReaTn5Z9As/lVFhBu -m8Euchq/flYcCHJlc2VydmVkAT+XOjKLmMYC/yYZn0at0bWQZwQSbO1IvYTZXKgJ -DdHMDE5hbWVkVHlwZXUxNgYDAmlkAAACBG5hbWUCQzQDlNgbMOJSKJAmHvNv+fio -OVGR9QtpXiMqHrO3QcgNFCNl8qSvxhtTbdRnVXJmK7Byo5APyYsAZorYMYDisAhy -ZXNlcnZlZAE/lzoyi5jGAv8mGZ9GrdG1kGcEEmztSL2E2VyoCQ3RzApPd25lZElm -YWNlBAYAA2FueQAAAAEGcmlnaHRzAAAAAgZhbW91bnQAAAADB2FueURhdGEAAAAE -CWFueUF0dGFjaAAAAAUEZGF0YQAFAQJDNAOU2Bsw4lIokCYe82/5+Kg5UZH1C2le -Iyoes7dByGsEoxSeppUAFmef7wK0qyT15reKZMjZ0L1l/NejWE6ND093bmVkU3Rh -dGVTdXBwbAYCB21lYW5pbmcACAABAAAAAAAAAAD/AAAAAAAAAAh2ZWxvY2l0eQEK -DeoaDVCYetRy15whzIJ/oMtXqnhFMpLyQUwzh0gJAA9SZXNlcnZlZEJ5dGVzMDQF -AQAHAABABAAHU3VwcGxJZAUBAAcAAEAgAAhUZXJtaW5hbAYCBXNlYWxzAAkBeZ8e -DDj3bH7mQm2w+A7b+I0e6YVeEakB5Q+bKZwLBVEAAAAAAAAAAP//AAAAAAAAAnR4 -AAQCAARub25lAAAAAQRzb21lAAUBAk5OhPRwFsnl0mJ8v8P0NrLdbNTRubBEW/9e -74J2cndXKRxNbFez6voRCoM0m2MPIGGVJvH8yfwqMRv0KDb7vhAMVGVybWluYWxT -ZWFsBAIADWNvbmNlYWxlZFV0eG8ABQECFwZOaYm8ANN+QATAdalw1SQOh8fRNH4s -G25uxi7AoTdoGeu81bMYq5ezmKVLNmXd2qcGb+jpJOcDYKmUs70GTgELd2l0bmVz -c1ZvdXQABQEBrfgBQ3QMS696dYeLgRAHBlmBXB0olcAUwEFDuoad69MLVGlja2Vy -U3VwcGwEAwAGYWJzZW50AAAAAQZnbG9iYWwABQIAAAICQzQDlNgbMOJSKJAmHvNv -+fioOVGR9QtpXiMqHrO3QcjampqqKfXsUiaPC1MLDos0/MSt5LN7q24BvQ1EDWFp -IAIFb3duZWQABQIAAAICQzQDlNgbMOJSKJAmHvNv+fioOVGR9QtpXiMqHrO3Qcja -mpqqKfXsUiaPC1MLDos0/MSt5LN7q24BvQ1EDWFpIA9UcmFuc2l0aW9uSWZhY2UG -CAhvcHRpb25hbAJ7hIA8nvriESWnfCw5vHDS/ej5Q64N/Zz05oLtx2bKcGGGItF7 -rvBmAt/ndcmA4LNrbrroCQ2AdfdRO+xLk/ZNCG1ldGFkYXRhAAQCAARub25lAAAA -AQRzb21lAAUBAkM0A5TYGzDiUiiQJh7zb/n4qDlRkfULaV4jKh6zt0HIawSjFJ6m -lQAWZ5/vArSrJPXmt4pkyNnQvWX816NYTo0HZ2xvYmFscwAKAkM0A5TYGzDiUiiQ -Jh7zb/n4qDlRkfULaV4jKh6zt0HIqBTsKLDtVe3urlF5pOfln0Cz+VUWEG6bwS5y -Gr9+VhwB9a78PJdE55ToYUqLRLW+xomcjBJGACUsGxZwr3kocJMAAAAAAAAAAP8A -AAAAAAAABmlucHV0cwAKAkM0A5TYGzDiUiiQJh7zb/n4qDlRkfULaV4jKh6zt0HI -qBTsKLDtVe3urlF5pOfln0Cz+VUWEG6bwS5yGr9+VhwB9a78PJdE55ToYUqLRLW+ -xomcjBJGACUsGxZwr3kocJMAAAAAAAAAAP8AAAAAAAAAC2Fzc2lnbm1lbnRzAAoC -QzQDlNgbMOJSKJAmHvNv+fioOVGR9QtpXiMqHrO3QcioFOwosO1V7e6uUXmk5+Wf -QLP5VRYQbpvBLnIav35WHAH1rvw8l0TnlOhhSotEtb7GiZyMEkYAJSwbFnCveShw -kwAAAAAAAAAA/wAAAAAAAAAJdmFsZW5jaWVzAAoCQzQDlNgbMOJSKJAmHvNv+fio -OVGR9QtpXiMqHrO3QcioFOwosO1V7e6uUXmk5+WfQLP5VRYQbpvBLnIav35WHAH1 -rvw8l0TnlOhhSotEtb7GiZyMEkYAJSwbFnCveShwkwAAAAAAAAAA/wAAAAAAAAAG -ZXJyb3JzAAkAAAEAAAAAAAAAAP8AAAAAAAAAEWRlZmF1bHRBc3NpZ25tZW50AAQC -AARub25lAAAAAQRzb21lAAUBAkM0A5TYGzDiUiiQJh7zb/n4qDlRkfULaV4jKh6z -t0HIqBTsKLDtVe3urlF5pOfln0Cz+VUWEG6bwS5yGr9+VhwMVmFsZW5jeUlmYWNl -BgIIcmVxdWlyZWQCe4SAPJ764hElp3wsObxw0v3o+UOuDf2c9OaC7cdmynBhhiLR -e67wZgLf53XJgOCza2666AkNgHX3UTvsS5P2TQhtdWx0aXBsZQJ7hIA8nvriESWn -fCw5vHDS/ej5Q64N/Zz05oLtx2bKcGGGItF7rvBmAt/ndcmA4LNrbrroCQ2AdfdR -O+xLk/ZNDFZlbG9jaXR5SGludAMGC3Vuc3BlY2lmaWVkAAZzZWxkb20PCGVwaXNv -ZGljHwdyZWd1bGFyPwhmcmVxdWVudH8NaGlnaEZyZXF1ZW5jef8FVmVyTm8DAQJ2 -MQAIVm91dFNlYWwGAwZtZXRob2QCFwZOaYm8ANN+QATAdalw1SQOh8fRNH4sG25u -xi7AoTfSUjB8fXGQNfcwfugoJewbgSuhh92dmEmLSo0W+m7VQwR2b3V0Ak5OhPRw -Fsnl0mJ8v8P0NrLdbNTRubBEW/9e74J2cndXIeM+Q8WqXPIpJ1OjOMFn7TtjnE3Z -zr2pjzRpF7rJQ3UIYmxpbmRpbmcAAAg= +yYsAZorYMYDisAp0eXBlU3lzdGVtAkM0A5TYGzDiUiiQJh7zb/n4qDlRkfULaV4j +Kh6zt0HILkdbPnPJ4CJtjiwnuhSzqiW+bSj3R34s/YxNKF4Y7FYHSWZhY2VJZAUB +AAcAAEAgAAlJZmFjZUltcGwGCQd2ZXJzaW9uARcl2gZ3fSHHZNhvywJ61M4VWmMW +KWj/5vjXXZZQ7R/hCHNjaGVtYUlkAjZguc4fzD4OgXD5kwTwcHB9lQZs9kIaXDWn +irptiFColFLT2wOrq6hRn6f2PtAU69RNfTE//P4A+l0kelQEkBAHaWZhY2VJZAE7 +ysCBAwjhK6tbIWiHhOO2c6VX2OUALXXGm8W1P2KjcQtnbG9iYWxTdGF0ZQAJAVme +7bqeB06tS+vHyuF3laCT0KddLXIi7mF1V6udUD9EAAAAAAAAAAD/AAAAAAAAAAth +c3NpZ25tZW50cwAJAVme7bqeB06tS+vHyuF3laCT0KddLXIi7mF1V6udUD9EAAAA +AAAAAAD/AAAAAAAAAAl2YWxlbmNpZXMACQFZnu26ngdOrUvrx8rhd5Wgk9CnXS1y +Iu5hdVernVA/RAAAAAAAAAAA/wAAAAAAAAALdHJhbnNpdGlvbnMACQFv9NUMg1oa +4MSea5vy0qoDyqPjbGb3fHMFyDnXbPZHsQAAAAAAAAAA/wAAAAAAAAAKZXh0ZW5z +aW9ucwAJAVme7bqeB06tS+vHyuF3laCT0KddLXIi7mF1V6udUD9EAAAAAAAAAAD/ +AAAAAAAAAAZzY3JpcHQCNmC5zh/MPg6BcPmTBPBwcH2VBmz2QhpcNaeKum2IUKjG +GGN7Z00MtLypwENdfzJig5h4c3QnQ9E35UT7uhLQTAlJZmFjZVBhaXIGAgVpZmFj +ZQFN8p8Ckv1M3MA0c3L0UuvDIhXUnKUOm0z6bxCWb23fUgVpaW1wbAHKd6o97lp/ +DWLslvf8Rer7yqPeSRN6fLAcEVPqzodANwZJbXBsSWQFAQAHAABAIAANTmFtZWRG +aWVsZHUxNgYDAmlkAAACBG5hbWUCQzQDlNgbMOJSKJAmHvNv+fioOVGR9QtpXiMq +HrO3QcioFOwosO1V7e6uUXmk5+WfQLP5VRYQbpvBLnIav35WHAhyZXNlcnZlZAE/ +lzoyi5jGAv8mGZ9GrdG1kGcEEmztSL2E2VyoCQ3RzAxOYW1lZFR5cGV1MTYGAwJp +ZAAAAgRuYW1lAkM0A5TYGzDiUiiQJh7zb/n4qDlRkfULaV4jKh6zt0HIDRQjZfKk +r8YbU23UZ1VyZiuwcqOQD8mLAGaK2DGA4rAIcmVzZXJ2ZWQBP5c6MouYxgL/Jhmf +Rq3RtZBnBBJs7Ui9hNlcqAkN0cwKT3duZWRJZmFjZQQGAANhbnkAAAABBnJpZ2h0 +cwAAAAIGYW1vdW50AAAAAwdhbnlEYXRhAAAABAlhbnlBdHRhY2gAAAAFBGRhdGEA +BQECQzQDlNgbMOJSKJAmHvNv+fioOVGR9QtpXiMqHrO3QchrBKMUnqaVABZnn+8C +tKsk9ea3imTI2dC9ZfzXo1hOjQ9Pd25lZFN0YXRlU3VwcGwGAgdtZWFuaW5nAAgA +AQAAAAAAAAAA/wAAAAAAAAAIdmVsb2NpdHkBCg3qGg1QmHrUctecIcyCf6DLV6p4 +RTKS8kFMM4dICQAPUmVzZXJ2ZWRCeXRlczA0BQEABwAAQAQAB1N1cHBsSWQFAQAH +AABAIAAIVGVybWluYWwGAgVzZWFscwAJAXmfHgw492x+5kJtsPgO2/iNHumFXhGp +AeUPmymcCwVRAAAAAAAAAAD//wAAAAAAAAJ0eAAEAgAEbm9uZQAAAAEEc29tZQAF +AQJOToT0cBbJ5dJifL/D9Day3WzU0bmwRFv/Xu+CdnJ3VykcTWxXs+r6EQqDNJtj +DyBhlSbx/Mn8KjEb9Cg2+74QDFRlcm1pbmFsU2VhbAQCAA1jb25jZWFsZWRVdHhv +AAUBAhcGTmmJvADTfkAEwHWpcNUkDofH0TR+LBtubsYuwKE3aBnrvNWzGKuXs5il +SzZl3dqnBm/o6STnA2CplLO9Bk4BC3dpdG5lc3NWb3V0AAUBAa34AUN0DEuvenWH +i4EQBwZZgVwdKJXAFMBBQ7qGnevTC1RpY2tlclN1cHBsBAMABmFic2VudAAAAAEG +Z2xvYmFsAAUCAAACAkM0A5TYGzDiUiiQJh7zb/n4qDlRkfULaV4jKh6zt0HI2pqa +qin17FImjwtTCw6LNPzEreSze6tuAb0NRA1haSACBW93bmVkAAUCAAACAkM0A5TY +GzDiUiiQJh7zb/n4qDlRkfULaV4jKh6zt0HI2pqaqin17FImjwtTCw6LNPzEreSz +e6tuAb0NRA1haSAPVHJhbnNpdGlvbklmYWNlBggIb3B0aW9uYWwCe4SAPJ764hEl +p3wsObxw0v3o+UOuDf2c9OaC7cdmynBhhiLRe67wZgLf53XJgOCza2666AkNgHX3 +UTvsS5P2TQhtZXRhZGF0YQAEAgAEbm9uZQAAAAEEc29tZQAFAQJDNAOU2Bsw4lIo +kCYe82/5+Kg5UZH1C2leIyoes7dByGsEoxSeppUAFmef7wK0qyT15reKZMjZ0L1l +/NejWE6NB2dsb2JhbHMACgJDNAOU2Bsw4lIokCYe82/5+Kg5UZH1C2leIyoes7dB +yKgU7Ciw7VXt7q5ReaTn5Z9As/lVFhBum8Euchq/flYcAfWu/DyXROeU6GFKi0S1 +vsaJnIwSRgAlLBsWcK95KHCTAAAAAAAAAAD/AAAAAAAAAAZpbnB1dHMACgJDNAOU +2Bsw4lIokCYe82/5+Kg5UZH1C2leIyoes7dByKgU7Ciw7VXt7q5ReaTn5Z9As/lV +FhBum8Euchq/flYcAfWu/DyXROeU6GFKi0S1vsaJnIwSRgAlLBsWcK95KHCTAAAA +AAAAAAD/AAAAAAAAAAthc3NpZ25tZW50cwAKAkM0A5TYGzDiUiiQJh7zb/n4qDlR +kfULaV4jKh6zt0HIqBTsKLDtVe3urlF5pOfln0Cz+VUWEG6bwS5yGr9+VhwB9a78 +PJdE55ToYUqLRLW+xomcjBJGACUsGxZwr3kocJMAAAAAAAAAAP8AAAAAAAAACXZh +bGVuY2llcwAKAkM0A5TYGzDiUiiQJh7zb/n4qDlRkfULaV4jKh6zt0HIqBTsKLDt +Ve3urlF5pOfln0Cz+VUWEG6bwS5yGr9+VhwB9a78PJdE55ToYUqLRLW+xomcjBJG +ACUsGxZwr3kocJMAAAAAAAAAAP8AAAAAAAAABmVycm9ycwAJAAABAAAAAAAAAAD/ +AAAAAAAAABFkZWZhdWx0QXNzaWdubWVudAAEAgAEbm9uZQAAAAEEc29tZQAFAQJD +NAOU2Bsw4lIokCYe82/5+Kg5UZH1C2leIyoes7dByKgU7Ciw7VXt7q5ReaTn5Z9A +s/lVFhBum8Euchq/flYcDFZhbGVuY3lJZmFjZQYCCHJlcXVpcmVkAnuEgDye+uIR +Jad8LDm8cNL96PlDrg39nPTmgu3HZspwYYYi0Xuu8GYC3+d1yYDgs2tuuugJDYB1 +91E77EuT9k0IbXVsdGlwbGUCe4SAPJ764hElp3wsObxw0v3o+UOuDf2c9OaC7cdm +ynBhhiLRe67wZgLf53XJgOCza2666AkNgHX3UTvsS5P2TQxWZWxvY2l0eUhpbnQD +Bgt1bnNwZWNpZmllZAAGc2VsZG9tDwhlcGlzb2RpYx8HcmVndWxhcj8IZnJlcXVl +bnR/DWhpZ2hGcmVxdWVuY3n/BVZlck5vAwECdjEACFZvdXRTZWFsBgMGbWV0aG9k +AhcGTmmJvADTfkAEwHWpcNUkDofH0TR+LBtubsYuwKE30lIwfH1xkDX3MH7oKCXs +G4EroYfdnZhJi0qNFvpu1UMEdm91dAJOToT0cBbJ5dJifL/D9Day3WzU0bmwRFv/ +Xu+CdnJ3VyHjPkPFqlzyKSdTozjBZ+07Y5xN2c69qY80aRe6yUN1CGJsaW5kaW5n +AAAI -----END STRICT TYPE LIB----- diff --git a/stl/RGBStd@0.1.0.stl b/stl/RGBStd@0.1.0.stl index c77428f79cbacbd6bfba0ac3f4f68906af1e81b4..946bdc820ef507971b806b1028e500394c0f1225 100644 GIT binary patch delta 238 zcmcbfyEt#d191g;+thyt7n!#SP5L@Fko^eH(Zf8^B6o}v3i=)iOHz}iJ3)gOstt8Hly#S`An1k`rJ8SQe5;U==EVG(JOP7 z^3C@7l`k+YKlgqRYi4F{K@Q`o@>RC)qUw2*-c0-c$Mx0kQ;Y9;3Rl%^kP!@ib*|mP KeDhn~R~!IiiDwu9 delta 214 zcmZ3ScRhE*1964w>2@OC2hD|(1mFMBzFZ&GIsT;GaeAgDCZ`4@W)`tA zv1WqUjP|+;d<7o!8M2SgXvmSepn3CMAm?5q2g5@t8_fP5P`bpLnVDOV! ^ ..0xff GlobalIface} @@ -231,18 +231,19 @@ data Iface :: version VerNo , extensions {StrictTypes.TypeName -> ^ ..0xff ExtensionIface} , errorType StrictTypes.SemId {- StandMailboxBaboon08Ckj2p3GLKina636pSKJkj7GB6ft8XeoP4jfGkRUNwtp -} , defaultOperation StrictTypes.TypeName {- RemarkSecondAxis0t47Qbd4ggmas4GmrE6oxCSyKBsosvGNtiXc2B2tuvUo -}? + , typeSystem StrictTypes.TypeSystem {- GregoryAthleteHazard047es12nMYaA5M7zMejQHAydsRPW6juta8ensLigXMBDP -} -- SwitchAlpineFrank052QNQSVnH2xebirNQPAZDMCF7Qbn2xD8jsLuAauDr6cg data IfaceId :: [Byte ^ 32] --- WilliamSlowPandora0A7zpMLKjYbDaJgctJzb6GmKqausXusXst9kDEqdoMubj +-- MayorPretendNorth0DQQFgzbXJJSiDJxPxsJB83GBoTx1BSas3VzEW9wDxFwP data IfaceImpl :: version VerNo , schemaId RGB.SchemaId {- SalaryPlasterNickel0AyzbMn4ux89LLU8ho1L4pQa5TXsmRdHd79oh6SXdrCmd -} , ifaceId IfaceId - , script RGB.Script {- FiberDollarWelcome0ELHJ2Y2csp6kKFC4wrnfB4izSAqMk8iyTBqrotVJxePu -} , globalState {NamedFieldu16 ^ ..0xff} , assignments {NamedFieldu16 ^ ..0xff} , valencies {NamedFieldu16 ^ ..0xff} , transitions {NamedTypeu16 ^ ..0xff} , extensions {NamedFieldu16 ^ ..0xff} + , script RGB.Script {- FiberDollarWelcome0ELHJ2Y2csp6kKFC4wrnfB4izSAqMk8iyTBqrotVJxePu -} -- StrongPupilRebel0GzuXT5XJx9LUwddxQDx88AUwhbcGGevJxdYBY1z6jJMc data IfacePair :: iface Iface, iimpl IfaceImpl -- PackageJimmyModern06qkzo8WTcgXTd3Ky5H2BzPppZmM5Ah4h5VrKL3oj3YTC From fc39e1d8b4bacf723a723b4d25b6641e78ab29b7 Mon Sep 17 00:00:00 2001 From: Maxim Orlovsky Date: Sat, 22 Jul 2023 11:30:39 +0200 Subject: [PATCH 07/14] stl: add Timestamp::to_local convenience method --- std/src/stl/specs.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/std/src/stl/specs.rs b/std/src/stl/specs.rs index 64fbe098..a11cc532 100644 --- a/std/src/stl/specs.rs +++ b/std/src/stl/specs.rs @@ -28,7 +28,7 @@ use std::str::FromStr; use amplify::ascii::AsciiString; use amplify::confinement::{Confined, NonEmptyString, NonEmptyVec, SmallOrdSet, SmallString, U8}; -use chrono::{DateTime, NaiveDateTime, Utc}; +use chrono::{DateTime, Local, NaiveDateTime, Utc}; use strict_encoding::stl::{AlphaCapsNum, AsciiPrintable}; use strict_encoding::{ InvalidIdent, StrictDeserialize, StrictDumb, StrictEncode, StrictSerialize, StrictType, @@ -517,6 +517,8 @@ impl Timestamp { .map(|naive| DateTime::::from_utc(naive, Utc)) } + pub fn to_local(self) -> Option> { self.to_utc().map(DateTime::::from) } + pub fn from_strict_val_unchecked(value: &StrictVal) -> Self { Self(value.unwrap_uint()) } } From ddb1741e28e500716d377b588a6605d65998c1ea Mon Sep 17 00:00:00 2001 From: Maxim Orlovsky Date: Sat, 22 Jul 2023 11:36:50 +0200 Subject: [PATCH 08/14] stl: fix Timestamp deserialization --- std/src/stl/specs.rs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/std/src/stl/specs.rs b/std/src/stl/specs.rs index a11cc532..25fb4fca 100644 --- a/std/src/stl/specs.rs +++ b/std/src/stl/specs.rs @@ -34,6 +34,7 @@ use strict_encoding::{ InvalidIdent, StrictDeserialize, StrictDumb, StrictEncode, StrictSerialize, StrictType, TypedWrite, }; +use strict_types::value::StrictNum; use strict_types::StrictVal; use super::{MediaType, ProofOfReserves, LIB_NAME_RGB_CONTRACT}; @@ -519,7 +520,13 @@ impl Timestamp { pub fn to_local(self) -> Option> { self.to_utc().map(DateTime::::from) } - pub fn from_strict_val_unchecked(value: &StrictVal) -> Self { Self(value.unwrap_uint()) } + pub fn from_strict_val_unchecked(value: &StrictVal) -> Self { + // TODO: Move this logic to strict_types StrictVal::unwrap_int method + let StrictVal::Number(StrictNum::Int(val)) = value.skip_wrapper() else { + panic!("required integer number"); + }; + Self(*val as i64) + } } #[derive(Clone, Eq, PartialEq, Hash, Debug)] From ea4f5920598325579ed8a572fd5da91a4f03e356 Mon Sep 17 00:00:00 2001 From: Maxim Orlovsky Date: Sat, 22 Jul 2023 11:39:54 +0200 Subject: [PATCH 09/14] stl: add Timestamp constructors --- std/src/stl/specs.rs | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/std/src/stl/specs.rs b/std/src/stl/specs.rs index 25fb4fca..0ec351a8 100644 --- a/std/src/stl/specs.rs +++ b/std/src/stl/specs.rs @@ -498,11 +498,11 @@ impl FromStr for RicardianContract { } } -#[derive(Wrapper, WrapperMut, Copy, Clone, Ord, PartialOrd, Eq, PartialEq, Debug, Default, From)] +#[derive(Wrapper, WrapperMut, Copy, Clone, Ord, PartialOrd, Eq, PartialEq, Debug, From)] #[wrapper(Deref, Display, FromStr, MathOps)] #[wrapper_mut(DerefMut, MathAssign)] -#[derive(StrictType, StrictEncode, StrictDecode)] -#[strict_type(lib = LIB_NAME_RGB_CONTRACT)] +#[derive(StrictDumb, StrictType, StrictEncode, StrictDecode)] +#[strict_type(lib = LIB_NAME_RGB_CONTRACT, dumb = Timestamp::start_of_epoch())] #[cfg_attr( feature = "serde", derive(Serialize, Deserialize), @@ -513,6 +513,10 @@ impl StrictSerialize for Timestamp {} impl StrictDeserialize for Timestamp {} impl Timestamp { + pub fn start_of_epoch() -> Self { Timestamp(0) } + + pub fn now() -> Self { Timestamp(Local::now().timestamp()) } + pub fn to_utc(self) -> Option> { NaiveDateTime::from_timestamp_opt(self.0, 0) .map(|naive| DateTime::::from_utc(naive, Utc)) From ebba01aff0978573e578feab78586957c2c291e0 Mon Sep 17 00:00:00 2001 From: Maxim Orlovsky Date: Mon, 24 Jul 2023 04:20:15 +0200 Subject: [PATCH 10/14] chore: update to Baid58 v0.4 --- Cargo.lock | 45 ++--- Cargo.toml | 10 +- src/invoice.rs | 78 ++++---- std/src/interface/rgb20.rs | 3 +- std/src/interface/rgb21.rs | 3 +- std/src/interface/rgb25.rs | 3 +- std/src/stl/stl.rs | 5 +- stl/RGB20@0.1.0.sta | 2 +- stl/RGB20@0.1.0.sty | 4 +- stl/RGB21@0.1.0.sta | 8 +- stl/RGB21@0.1.0.sty | 70 +++---- stl/RGB25@0.1.0.sta | 2 +- stl/RGB25@0.1.0.sty | 4 +- stl/RGBContract@0.1.0.sta | 6 +- stl/RGBContract@0.1.0.sty | 56 +++--- stl/RGBStd@0.1.0.sta | 16 +- stl/RGBStd@0.1.0.sty | 388 ++++++++++++++++++------------------- 17 files changed, 357 insertions(+), 346 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 308081cc..aaabf134 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4,9 +4,9 @@ version = 3 [[package]] name = "aluvm" -version = "0.10.4" +version = "0.10.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3856ee4be23c8a4b44c4119656e92aeb654c69244290c4c81feb467d49354ce" +checksum = "49fd60657e5d59425e897145c167b2250238aaeaa825a6741249d120b87871bf" dependencies = [ "amplify", "baid58", @@ -138,13 +138,14 @@ checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" [[package]] name = "baid58" -version = "0.3.2" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29eb856caa83b642563396407c1deb5331acd62d9d91cd5a5d0dcab4a825ad4b" +checksum = "052064cc0caa02b62c88f06a7237304fb297873c78b6e95addecc3c5ddfce4ae" dependencies = [ "base58", "blake3", "mnemonic", + "sha2", ] [[package]] @@ -207,9 +208,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "blake3" -version = "1.4.0" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "729b71f35bd3fa1a4c86b85d32c8b9069ea7fe14f7a53cfabb65f62d4265b888" +checksum = "199c42ab6972d92c9f8995f086273d25c42fc0f7b2a1fcefba465c1352d25ba5" dependencies = [ "arrayref", "arrayvec", @@ -230,9 +231,9 @@ dependencies = [ [[package]] name = "bp-core" -version = "0.10.5" +version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d41afe7b8aa5dd71d257ca38e5bc922bd3024e0cca9e2ad52a076f2bdeddb901" +checksum = "2cc8924479a43c605f789d7777fc622e8a110e49322fef87e69a40fa1724b6ed" dependencies = [ "amplify", "bp-dbc", @@ -247,9 +248,9 @@ dependencies = [ [[package]] name = "bp-dbc" -version = "0.10.5" +version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bd7e637529d70db7881fcaf2aaa6a09ae8ee1a1e6ca499dbbf041e032ff3f73" +checksum = "b38314a8d4db1f7ef279be39568a24d008138e28fef4d8584a7303c62c4a7368" dependencies = [ "amplify", "baid58", @@ -262,9 +263,9 @@ dependencies = [ [[package]] name = "bp-primitives" -version = "0.10.5" +version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8786660637d2ad9e6da09f55d2e67992eb39c0edb52333b478bb3c03e377218e" +checksum = "608a06488cc9909ed80b1b1dc0acedd655cfe94df60bdb6af80546b993e252e7" dependencies = [ "amplify", "commit_verify", @@ -276,9 +277,9 @@ dependencies = [ [[package]] name = "bp-seals" -version = "0.10.5" +version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15f5f82a3813921ffd1d668dbcfd17bcb7c90a08de7af76dffb7b9e77c72c7d0" +checksum = "23f55e8ca6b1a0e411df160131f21b1991051984b5037b3f33e4f6c724c82f8a" dependencies = [ "amplify", "baid58", @@ -346,9 +347,9 @@ dependencies = [ [[package]] name = "commit_verify" -version = "0.10.4" +version = "0.10.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1459c7274450984c0f2dbe89a250817f2275c02001b1cf3da4a6e8e74bc56421" +checksum = "caa8114b3ff20947176c8cbfd1e84e56649501eed4e33ba9205c70374b2615ae" dependencies = [ "amplify", "commit_encoding_derive", @@ -371,9 +372,9 @@ dependencies = [ [[package]] name = "constant_time_eq" -version = "0.2.6" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21a53c0a4d288377e7415b53dcfc3c04da5cdc2cc95c8d5ac178b58f0b861ad6" +checksum = "f7144d30dcf0fafbce74250a3963025d8d52177934239851c917d29f1df280c2" [[package]] name = "core-foundation-sys" @@ -701,9 +702,9 @@ dependencies = [ [[package]] name = "rgb-core" -version = "0.10.5" +version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ee6f3eb3d437e8ac1f80dcc5e5ee9b1e70d33b81bd423e8391e376986befd74" +checksum = "97386fe4167704456b5a7f722b8f708f6d07bd4b61bb45a7ea60b1b333e36087" dependencies = [ "aluvm", "amplify", @@ -965,9 +966,9 @@ dependencies = [ [[package]] name = "strict_types" -version = "1.5.0" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75574939fc4c5a13ab4f49d06e965a9d4bd0aa1deff4e227a2afb6dbebff1249" +checksum = "d8a6654c43ed02891b249730856ad6b866fd85d1008aad51b30bd68812798427" dependencies = [ "amplify", "baid58", diff --git a/Cargo.toml b/Cargo.toml index d7574569..6a4a22ed 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -18,12 +18,12 @@ license = "Apache-2.0" [workspace.dependencies] amplify = "4.0.0" -baid58 = "0.3.1" +baid58 = "0.4.1" strict_encoding = "2.5.0" -strict_types = "1.5.0" -commit_verify = { version = "0.10.4", features = ["stl"] } -bp-core = { version = "0.10.5", features = ["stl"] } -rgb-core = { version = "0.10.5", features = ["stl"] } +strict_types = "1.6.0" +commit_verify = { version = "0.10.5", features = ["stl"] } +bp-core = { version = "0.10.6", features = ["stl"] } +rgb-core = { version = "0.10.6", features = ["stl"] } [package] name = "rgb-wallet" diff --git a/src/invoice.rs b/src/invoice.rs index 70bf0dd0..f5cda6ab 100644 --- a/src/invoice.rs +++ b/src/invoice.rs @@ -428,81 +428,84 @@ mod test { fn parse() { // all path parameters let invoice_str = "rgb:EKkb7TMfbPxzn7UhvXqhoCutzdZkSZCNYxVAVjsA67fW/RGB20/\ - 100+6kzbKKffP6xftkxn9UP8gWqiC41W16wYKE5CYaVhmEve"; + 100+utxob0egXsFnw5Eud7WKYn7DVQvcPbcrR69YmgmGveacwmUFouMFKFb"; let invoice = RgbInvoice::from_str(invoice_str).unwrap(); assert_eq!(invoice.to_string(), invoice_str); // no amount let invoice_str = "rgb:EKkb7TMfbPxzn7UhvXqhoCutzdZkSZCNYxVAVjsA67fW/RGB20/\ - 6kzbKKffP6xftkxn9UP8gWqiC41W16wYKE5CYaVhmEve"; + utxob0egXsFnw5Eud7WKYn7DVQvcPbcrR69YmgmGveacwmUFouMFKFb"; let invoice = RgbInvoice::from_str(invoice_str).unwrap(); assert_eq!(invoice.to_string(), invoice_str); // no contract ID - let invoice_str = "rgb:~/RGB20/6kzbKKffP6xftkxn9UP8gWqiC41W16wYKE5CYaVhmEve"; + let invoice_str = "rgb:~/RGB20/utxob0egXsFnw5Eud7WKYn7DVQvcPbcrR69YmgmGveacwmUFouMFKFb"; let invoice = RgbInvoice::from_str(invoice_str).unwrap(); assert_eq!(invoice.to_string(), invoice_str); // no contract ID nor iface - let invoice_str = "rgb:~/~/6kzbKKffP6xftkxn9UP8gWqiC41W16wYKE5CYaVhmEve"; + let invoice_str = "rgb:~/~/utxob0egXsFnw5Eud7WKYn7DVQvcPbcrR69YmgmGveacwmUFouMFKFb"; let invoice = RgbInvoice::from_str(invoice_str).unwrap(); assert_eq!(invoice.to_string(), invoice_str); // contract ID provided but no iface let invoice_str = "rgb:EKkb7TMfbPxzn7UhvXqhoCutzdZkSZCNYxVAVjsA67fW/~/\ - 6kzbKKffP6xftkxn9UP8gWqiC41W16wYKE5CYaVhmEve"; + utxob0egXsFnw5Eud7WKYn7DVQvcPbcrR69YmgmGveacwmUFouMFKFb"; let result = RgbInvoice::from_str(invoice_str); assert!(matches!(result, Err(InvoiceParseError::ContractIdNoIface))); // invalid contract ID let invalid_contract_id = "invalid"; - let invoice_str = - format!("rgb:{invalid_contract_id}/RGB20/6kzbKKffP6xftkxn9UP8gWqiC41W16wYKE5CYaVhmEve"); + let invoice_str = format!( + "rgb:{invalid_contract_id}/RGB20/\ + utxob0egXsFnw5Eud7WKYn7DVQvcPbcrR69YmgmGveacwmUFouMFKFb" + ); let result = RgbInvoice::from_str(&invoice_str); assert!(matches!(result, Err(InvoiceParseError::InvalidContractId(c)) if c == invalid_contract_id)); // with expiration let invoice_str = "rgb:EKkb7TMfbPxzn7UhvXqhoCutzdZkSZCNYxVAVjsA67fW/RGB20/\ - 100+6kzbKKffP6xftkxn9UP8gWqiC41W16wYKE5CYaVhmEve?expiry=1682086371"; + 100+utxob0egXsFnw5Eud7WKYn7DVQvcPbcrR69YmgmGveacwmUFouMFKFb?\ + expiry=1682086371"; let invoice = RgbInvoice::from_str(invoice_str).unwrap(); assert_eq!(invoice.to_string(), invoice_str); // bad expiration let invoice_str = "rgb:EKkb7TMfbPxzn7UhvXqhoCutzdZkSZCNYxVAVjsA67fW/RGB20/\ - 100+6kzbKKffP6xftkxn9UP8gWqiC41W16wYKE5CYaVhmEve?expiry=six"; + 100+utxob0egXsFnw5Eud7WKYn7DVQvcPbcrR69YmgmGveacwmUFouMFKFb?expiry=six"; let result = RgbInvoice::from_str(invoice_str); assert!(matches!(result, Err(InvoiceParseError::InvalidExpiration(_)))); // with bad query parameter let invoice_str = "rgb:EKkb7TMfbPxzn7UhvXqhoCutzdZkSZCNYxVAVjsA67fW/RGB20/\ - 100+6kzbKKffP6xftkxn9UP8gWqiC41W16wYKE5CYaVhmEve?expiry"; + 100+utxob0egXsFnw5Eud7WKYn7DVQvcPbcrR69YmgmGveacwmUFouMFKFb?expiry"; let result = RgbInvoice::from_str(invoice_str); assert!(matches!(result, Err(InvoiceParseError::InvalidQueryParam(_)))); // with an unknown query parameter let invoice_str = "rgb:EKkb7TMfbPxzn7UhvXqhoCutzdZkSZCNYxVAVjsA67fW/RGB20/\ - 100+6kzbKKffP6xftkxn9UP8gWqiC41W16wYKE5CYaVhmEve?unknown=new"; + 100+utxob0egXsFnw5Eud7WKYn7DVQvcPbcrR69YmgmGveacwmUFouMFKFb?unknown=new"; let invoice = RgbInvoice::from_str(invoice_str).unwrap(); assert_eq!(invoice.to_string(), invoice_str); // with two unknown query parameters let invoice_str = "rgb:EKkb7TMfbPxzn7UhvXqhoCutzdZkSZCNYxVAVjsA67fW/RGB20/\ - 100+6kzbKKffP6xftkxn9UP8gWqiC41W16wYKE5CYaVhmEve?unknown=new&\ - another=new"; + 100+utxob0egXsFnw5Eud7WKYn7DVQvcPbcrR69YmgmGveacwmUFouMFKFb?\ + unknown=new&another=new"; let invoice = RgbInvoice::from_str(invoice_str).unwrap(); assert_eq!(invoice.to_string(), invoice_str); // with expiration and an unknown query parameter let invoice_str = "rgb:EKkb7TMfbPxzn7UhvXqhoCutzdZkSZCNYxVAVjsA67fW/RGB20/\ - 100+6kzbKKffP6xftkxn9UP8gWqiC41W16wYKE5CYaVhmEve?expiry=1682086371&\ - unknown=new"; + 100+utxob0egXsFnw5Eud7WKYn7DVQvcPbcrR69YmgmGveacwmUFouMFKFb?\ + expiry=1682086371&unknown=new"; let invoice = RgbInvoice::from_str(invoice_str).unwrap(); assert_eq!(invoice.to_string(), invoice_str); // with an unknown query parameter containing percent-encoded text let invoice_base = "rgb:EKkb7TMfbPxzn7UhvXqhoCutzdZkSZCNYxVAVjsA67fW/RGB20/\ - 100+6kzbKKffP6xftkxn9UP8gWqiC41W16wYKE5CYaVhmEve?"; + 100+utxob0egXsFnw5Eud7WKYn7DVQvcPbcrR69YmgmGveacwmUFouMFKFb?"; let query_key_encoded = ":@-%20%23"; let query_key_decoded = ":@- #"; let query_val_encoded = "?/.%26%3D"; @@ -519,39 +522,40 @@ mod test { // no scheme let invoice_str = "EKkb7TMfbPxzn7UhvXqhoCutzdZkSZCNYxVAVjsA67fW/~/\ - 6kzbKKffP6xftkxn9UP8gWqiC41W16wYKE5CYaVhmEve"; + utxob0egXsFnw5Eud7WKYn7DVQvcPbcrR69YmgmGveacwmUFouMFKFb"; let result = RgbInvoice::from_str(invoice_str); assert!(matches!(result, Err(InvoiceParseError::Invalid))); // invalid scheme let invoice_str = "bad:EKkb7TMfbPxzn7UhvXqhoCutzdZkSZCNYxVAVjsA67fW/~/\ - 6kzbKKffP6xftkxn9UP8gWqiC41W16wYKE5CYaVhmEve"; + utxob0egXsFnw5Eud7WKYn7DVQvcPbcrR69YmgmGveacwmUFouMFKFb"; let result = RgbInvoice::from_str(invoice_str); assert!(matches!(result, Err(InvoiceParseError::InvalidScheme(_)))); // empty transport endpoint specification let invoice_str = "rgb:EKkb7TMfbPxzn7UhvXqhoCutzdZkSZCNYxVAVjsA67fW/RGB20/\ - 100+6kzbKKffP6xftkxn9UP8gWqiC41W16wYKE5CYaVhmEve?endpoints="; + 100+utxob0egXsFnw5Eud7WKYn7DVQvcPbcrR69YmgmGveacwmUFouMFKFb?endpoints="; let result = RgbInvoice::from_str(invoice_str); assert!(matches!(result, Err(InvoiceParseError::InvalidQueryParam(_)))); // invalid transport endpoint specification let invoice_str = "rgb:EKkb7TMfbPxzn7UhvXqhoCutzdZkSZCNYxVAVjsA67fW/RGB20/\ - 100+6kzbKKffP6xftkxn9UP8gWqiC41W16wYKE5CYaVhmEve?endpoints=bad"; + 100+utxob0egXsFnw5Eud7WKYn7DVQvcPbcrR69YmgmGveacwmUFouMFKFb?\ + endpoints=bad"; let result = RgbInvoice::from_str(invoice_str); assert!(matches!(result, Err(InvoiceParseError::InvalidQueryParam(_)))); // invalid transport variant let invoice_str = "rgb:EKkb7TMfbPxzn7UhvXqhoCutzdZkSZCNYxVAVjsA67fW/RGB20/\ - 100+6kzbKKffP6xftkxn9UP8gWqiC41W16wYKE5CYaVhmEve?endpoints=rpca://host.\ - example.com"; + 100+utxob0egXsFnw5Eud7WKYn7DVQvcPbcrR69YmgmGveacwmUFouMFKFb?\ + endpoints=rpca://host.example.com"; let result = RgbInvoice::from_str(invoice_str); assert!(matches!(result, Err(InvoiceParseError::InvalidQueryParam(_)))); // rgb-rpc variant let invoice_str = "rgb:EKkb7TMfbPxzn7UhvXqhoCutzdZkSZCNYxVAVjsA67fW/RGB20/\ - 100+6kzbKKffP6xftkxn9UP8gWqiC41W16wYKE5CYaVhmEve?endpoints=rpc://host.\ - example.com"; + 100+utxob0egXsFnw5Eud7WKYn7DVQvcPbcrR69YmgmGveacwmUFouMFKFb?\ + endpoints=rpc://host.example.com"; let invoice = RgbInvoice::from_str(invoice_str).unwrap(); assert_eq!(invoice.transports, vec![RgbTransport::JsonRpc { tls: false, @@ -561,8 +565,8 @@ mod test { // rgb-rpc variant, host containing authentication, "-" characters and port let invoice_str = "rgb:EKkb7TMfbPxzn7UhvXqhoCutzdZkSZCNYxVAVjsA67fW/RGB20/\ - 100+6kzbKKffP6xftkxn9UP8gWqiC41W16wYKE5CYaVhmEve?endpoints=rpcs://user:\ - pass@host-1.ex-ample.com:1234"; + 100+utxob0egXsFnw5Eud7WKYn7DVQvcPbcrR69YmgmGveacwmUFouMFKFb?\ + endpoints=rpcs://user:pass@host-1.ex-ample.com:1234"; let invoice = RgbInvoice::from_str(invoice_str).unwrap(); assert_eq!(invoice.transports, vec![RgbTransport::JsonRpc { tls: true, @@ -572,8 +576,8 @@ mod test { // rgb-rpc variant, IPv6 host let invoice_str = "rgb:EKkb7TMfbPxzn7UhvXqhoCutzdZkSZCNYxVAVjsA67fW/RGB20/\ - 100+6kzbKKffP6xftkxn9UP8gWqiC41W16wYKE5CYaVhmEve?endpoints=rpcs://%\ - 5B2001:db8::1%5D:1234"; + 100+utxob0egXsFnw5Eud7WKYn7DVQvcPbcrR69YmgmGveacwmUFouMFKFb?\ + endpoints=rpcs://%5B2001:db8::1%5D:1234"; let invoice = RgbInvoice::from_str(invoice_str).unwrap(); assert_eq!(invoice.transports, vec![RgbTransport::JsonRpc { tls: true, @@ -583,27 +587,29 @@ mod test { // rgb-rpc variant with missing host let invoice_str = "rgb:EKkb7TMfbPxzn7UhvXqhoCutzdZkSZCNYxVAVjsA67fW/RGB20/\ - 100+6kzbKKffP6xftkxn9UP8gWqiC41W16wYKE5CYaVhmEve?endpoints=rpc://"; + 100+utxob0egXsFnw5Eud7WKYn7DVQvcPbcrR69YmgmGveacwmUFouMFKFb?\ + endpoints=rpc://"; let result = RgbInvoice::from_str(invoice_str); assert!(matches!(result, Err(InvoiceParseError::InvalidQueryParam(_)))); // rgb-rpc variant with invalid separator let invoice_str = "rgb:EKkb7TMfbPxzn7UhvXqhoCutzdZkSZCNYxVAVjsA67fW/RGB20/\ - 100+6kzbKKffP6xftkxn9UP8gWqiC41W16wYKE5CYaVhmEve?endpoints=rpc/host.\ - example.com"; + 100+utxob0egXsFnw5Eud7WKYn7DVQvcPbcrR69YmgmGveacwmUFouMFKFb?\ + endpoints=rpc/host.example.com"; let result = RgbInvoice::from_str(invoice_str); assert!(matches!(result, Err(InvoiceParseError::InvalidQueryParam(_)))); // rgb-rpc variant with invalid transport host specification let invoice_str = "rgb:EKkb7TMfbPxzn7UhvXqhoCutzdZkSZCNYxVAVjsA67fW/RGB20/\ - 100+6kzbKKffP6xftkxn9UP8gWqiC41W16wYKE5CYaVhmEve?endpoints=rpc://ho]t"; + 100+utxob0egXsFnw5Eud7WKYn7DVQvcPbcrR69YmgmGveacwmUFouMFKFb?\ + endpoints=rpc://ho]t"; let result = RgbInvoice::from_str(invoice_str); assert!(matches!(result, Err(InvoiceParseError::Uri(_)))); // rgb+http variant let invoice_str = "rgb:\ EKkb7TMfbPxzn7UhvXqhoCutzdZkSZCNYxVAVjsA67fW/RGB20/\ - 100+6kzbKKffP6xftkxn9UP8gWqiC41W16wYKE5CYaVhmEve?endpoints=https://\ + 100+utxob0egXsFnw5Eud7WKYn7DVQvcPbcrR69YmgmGveacwmUFouMFKFb?endpoints=https://\ host.example.com"; let invoice = RgbInvoice::from_str(invoice_str).unwrap(); let transports = vec![RgbTransport::RestHttp { @@ -615,8 +621,8 @@ mod test { // rgb+ws variant let invoice_str = "rgb:EKkb7TMfbPxzn7UhvXqhoCutzdZkSZCNYxVAVjsA67fW/RGB20/\ - 100+6kzbKKffP6xftkxn9UP8gWqiC41W16wYKE5CYaVhmEve?endpoints=wss://host.\ - example.com"; + 100+utxob0egXsFnw5Eud7WKYn7DVQvcPbcrR69YmgmGveacwmUFouMFKFb?\ + endpoints=wss://host.example.com"; let invoice = RgbInvoice::from_str(invoice_str).unwrap(); let transports = vec![RgbTransport::WebSockets { tls: true, @@ -630,7 +636,7 @@ mod test { // multiple transports let invoice_str = "rgb:\ EKkb7TMfbPxzn7UhvXqhoCutzdZkSZCNYxVAVjsA67fW/RGB20/\ - 100+6kzbKKffP6xftkxn9UP8gWqiC41W16wYKE5CYaVhmEve?endpoints=rpcs://\ + 100+utxob0egXsFnw5Eud7WKYn7DVQvcPbcrR69YmgmGveacwmUFouMFKFb?endpoints=rpcs://\ host1.example.com,http://host2.example.com,ws://host3.example.com"; let invoice = RgbInvoice::from_str(invoice_str).unwrap(); let transports = vec![ diff --git a/std/src/interface/rgb20.rs b/std/src/interface/rgb20.rs index e26f1f6f..0456c7a9 100644 --- a/std/src/interface/rgb20.rs +++ b/std/src/interface/rgb20.rs @@ -33,7 +33,8 @@ use crate::stl::{ pub const LIB_NAME_RGB20: &str = "RGB20"; /// Strict types id for the library providing data types for RGB20 interface. -pub const LIB_ID_RGB20: &str = "dragon_table_game_GVz4mvYE94aQ9q2HPtV9VuoppcDdduP54BMKffF7YoFH"; +pub const LIB_ID_RGB20: &str = + "urn:ubideco:stl:GVz4mvYE94aQ9q2HPtV9VuoppcDdduP54BMKffF7YoFH#prince-scarlet-ringo"; const SUPPLY_MISMATCH: u8 = 1; const NON_EQUAL_AMOUNTS: u8 = 2; diff --git a/std/src/interface/rgb21.rs b/std/src/interface/rgb21.rs index a05e588b..8d06805a 100644 --- a/std/src/interface/rgb21.rs +++ b/std/src/interface/rgb21.rs @@ -46,7 +46,8 @@ use crate::stl::{ pub const LIB_NAME_RGB21: &str = "RGB21"; /// Strict types id for the library providing data types for RGB21 interface. -pub const LIB_ID_RGB21: &str = "morph_angel_jeep_3miGC5GTW58CeuGJgomApmdjm8N6Yu6YuuURS8N4WVBA"; +pub const LIB_ID_RGB21: &str = + "urn:ubideco:stl:3miGC5GTW58CeuGJgomApmdjm8N6Yu6YuuURS8N4WVBA#opera-cool-bread"; #[derive( Wrapper, WrapperMut, Copy, Clone, Ord, PartialOrd, Eq, PartialEq, Hash, Debug, Default, From diff --git a/std/src/interface/rgb25.rs b/std/src/interface/rgb25.rs index 7c0bb806..4c46301a 100644 --- a/std/src/interface/rgb25.rs +++ b/std/src/interface/rgb25.rs @@ -36,7 +36,8 @@ use crate::stl::{rgb_contract_stl, Amount, ContractData, Details, Name, Precisio pub const LIB_NAME_RGB25: &str = "RGB25"; /// Strict types id for the library providing data types for RGB25 interface. -pub const LIB_ID_RGB25: &str = "ritual_mask_next_4JmGrg7oTgwuCQtyC4ezC38ToHMzgMCVS5kMSDPwo2ee"; +pub const LIB_ID_RGB25: &str = + "urn:ubideco:stl:4JmGrg7oTgwuCQtyC4ezC38ToHMzgMCVS5kMSDPwo2ee#camera-betty-bank"; const SUPPLY_MISMATCH: u8 = 1; const NON_EQUAL_AMOUNTS: u8 = 2; diff --git a/std/src/stl/stl.rs b/std/src/stl/stl.rs index 43544e02..04462b87 100644 --- a/std/src/stl/stl.rs +++ b/std/src/stl/stl.rs @@ -38,10 +38,11 @@ use crate::LIB_NAME_RGB_STD; /// Strict types id for the library providing standard data types which may be /// used in RGB smart contracts. pub const LIB_ID_RGB_CONTRACT: &str = - "spoon_shadow_evening_6vbr9ZrtsD9aBjo5qRQ36QEZPVucqvRRjKCPqE8yPeJr"; + "urn:ubideco:stl:6vbr9ZrtsD9aBjo5qRQ36QEZPVucqvRRjKCPqE8yPeJr#choice-little-boxer"; /// Strict types id for the library representing of RGB StdLib data types. -pub const LIB_ID_RGB_STD: &str = "parent_maze_jessica_3KXsWZ6hSKRbPjSVwRGbwnwJp3ZNQ2tfe6QUwLJEDG6K"; +pub const LIB_ID_RGB_STD: &str = + "urn:ubideco:stl:3KXsWZ6hSKRbPjSVwRGbwnwJp3ZNQ2tfe6QUwLJEDG6K#twist-paul-carlo"; fn _rgb_std_stl() -> Result { LibBuilder::new(libname!(LIB_NAME_RGB_STD), tiny_bset! { diff --git a/stl/RGB20@0.1.0.sta b/stl/RGB20@0.1.0.sta index bac449e9..acc5e159 100644 --- a/stl/RGB20@0.1.0.sta +++ b/stl/RGB20@0.1.0.sta @@ -1,5 +1,5 @@ -----BEGIN STRICT TYPE LIB----- -Id: dragon_table_game_GVz4mvYE94aQ9q2HPtV9VuoppcDdduP54BMKffF7YoFH +Id: urn:ubideco:stl:GVz4mvYE94aQ9q2HPtV9VuoppcDdduP54BMKffF7YoFH Name: RGB20 Dependencies: ~ diff --git a/stl/RGB20@0.1.0.sty b/stl/RGB20@0.1.0.sty index a500e852..f6352d5e 100644 --- a/stl/RGB20@0.1.0.sty +++ b/stl/RGB20@0.1.0.sty @@ -1,5 +1,5 @@ {- - Id: dragon_table_game_GVz4mvYE94aQ9q2HPtV9VuoppcDdduP54BMKffF7YoFH + Id: urn:ubideco:stl:GVz4mvYE94aQ9q2HPtV9VuoppcDdduP54BMKffF7YoFH#prince-scarlet-ringo Name: RGB20 Version: 0.1.0 Description: Types for RGB20 interface @@ -12,7 +12,7 @@ typelib RGB20 -- no dependencies --- RubberOhioAlaska0BsYakBZMzKBDfgpfhXt1p81Q1WT27V8U7LvHG4NPmGmM +-- urn:ubideco:semid:BsYakBZMzKBDfgpfhXt1p81Q1WT27V8U7LvHG4NPmGmM#montana-torso-pierre data Error :: supplyMismatch:1 | nonEqualAmounts:2 | invalidProof:3 | insufficientReserves:4 | insufficientCoverage:5 | issueExceedsAllowance:6 diff --git a/stl/RGB21@0.1.0.sta b/stl/RGB21@0.1.0.sta index cbf6d19c..12a5264d 100644 --- a/stl/RGB21@0.1.0.sta +++ b/stl/RGB21@0.1.0.sta @@ -1,10 +1,10 @@ -----BEGIN STRICT TYPE LIB----- -Id: morph_angel_jeep_3miGC5GTW58CeuGJgomApmdjm8N6Yu6YuuURS8N4WVBA +Id: urn:ubideco:stl:3miGC5GTW58CeuGJgomApmdjm8N6Yu6YuuURS8N4WVBA Name: RGB21 Dependencies: - Bitcoin@race_ballet_golf_6GgF7biXPVNcus2FfQj2pQuRzau11rXApMQLfCZhojgi, - RGBContract@spoon_shadow_evening_6vbr9ZrtsD9aBjo5qRQ36QEZPVucqvRRjKCPqE8yPeJr, - Std@lagoon_rodent_option_9KALDYR8Nyjq4FdMW6kYoL7vdkWnqPqNuFnmE9qHpNjZ + urn:ubideco:stl:6GgF7biXPVNcus2FfQj2pQuRzau11rXApMQLfCZhojgi, + urn:ubideco:stl:6vbr9ZrtsD9aBjo5qRQ36QEZPVucqvRRjKCPqE8yPeJr, + urn:ubideco:stl:9KALDYR8Nyjq4FdMW6kYoL7vdkWnqPqNuFnmE9qHpNjZ BVJHQjIxA05OhPRwFsnl0mJ8v8P0NrLdbNTRubBEW/9e74J2cndXB0JpdGNvaW5Y BZ6bw7btaBmIQIEUKMWtsT6AKI/SjlUO5APEgkORzwtSR0JDb250cmFjdHuEgDye diff --git a/stl/RGB21@0.1.0.sty b/stl/RGB21@0.1.0.sty index da7b1789..dddb3b44 100644 --- a/stl/RGB21@0.1.0.sty +++ b/stl/RGB21@0.1.0.sty @@ -1,5 +1,5 @@ {- - Id: morph_angel_jeep_3miGC5GTW58CeuGJgomApmdjm8N6Yu6YuuURS8N4WVBA + Id: urn:ubideco:stl:3miGC5GTW58CeuGJgomApmdjm8N6Yu6YuuURS8N4WVBA#opera-cool-bread Name: RGB21 Version: 0.1.0 Description: Types for RGB21 interface @@ -10,57 +10,57 @@ typelib RGB21 -import race_ballet_golf_6GgF7biXPVNcus2FfQj2pQuRzau11rXApMQLfCZhojgi as Bitcoin +import urn:ubideco:stl:6GgF7biXPVNcus2FfQj2pQuRzau11rXApMQLfCZhojgi#money-pardon-parody as Bitcoin -- Imports: --- Vout := OpusDecadeExample03HHRtSJW5fnGkdVW1EVDH7B97Y79WhwvKyyfsaBkuQkk --- Txid := TaxiLearnMalta0C1GfCrG7AXu2sFhRBspd7KpJK2YgyTkVy6pty5rZynRs --- Outpoint := CakeLeftPencil0GeFZHi1RYCrrcH1LG4Fo2SWW5M6KLJ8yvoGkFjRWZaA9 +-- Vout := urn:ubideco:semid:3HHRtSJW5fnGkdVW1EVDH7B97Y79WhwvKyyfsaBkuQkk#chrome-robin-gallop +-- Txid := urn:ubideco:semid:C1GfCrG7AXu2sFhRBspd7KpJK2YgyTkVy6pty5rZynRs#cowboy-diego-betty +-- Outpoint := urn:ubideco:semid:GeFZHi1RYCrrcH1LG4Fo2SWW5M6KLJ8yvoGkFjRWZaA9#dinner-yoga-danube -import spoon_shadow_evening_6vbr9ZrtsD9aBjo5qRQ36QEZPVucqvRRjKCPqE8yPeJr as RGBContract +import urn:ubideco:stl:6vbr9ZrtsD9aBjo5qRQ36QEZPVucqvRRjKCPqE8yPeJr#choice-little-boxer as RGBContract -- Imports: --- ProofOfReserves := LicenseGermanyWindow0zrXMtzeLgFy1NQd46y3CNb549tnukiuMEGJvqxRkyDW --- MimeChar := NormalBaliNuclear056Qs8Zfm2GAgewu9s7ffVb9xX6QiJhoDskxMhBoz723U --- Details := CamillaBeginLava05Fb7RNdm2jWi7wndRaaU8Lwx76exafTvgQqt9owU9JwM --- Name := ClaudiaArchiveAugust06PbMuf2YBk8Ff4J15AZ1MBW8XbcAUsprYiF7QjusVrz7 --- MediaType := StormMatchFocus07wXHNN1AHZ71G2gBQZyNSqFtVuarKBHctWkmGesdY5Nx --- Ticker := NurseTorpedoGiraffe09dzjKz1d9KyoGnEg6WFSAKnWMaCpg1Lh7p66cmFXbH9e --- MediaRegName := BrownPrinterSouth0ATMfUVhmYiQqu4AaPTzvatZqYxWHStE2BMJhr4vYa2Vv --- Attachment := HiltonStationDragon0DFwRAzutaWgGPkDzkEvHJoS129xfg4Gnv88Mk9wikpuh +-- ProofOfReserves := urn:ubideco:semid:zrXMtzeLgFy1NQd46y3CNb549tnukiuMEGJvqxRkyDW#liquid-owner-london +-- MimeChar := urn:ubideco:semid:56Qs8Zfm2GAgewu9s7ffVb9xX6QiJhoDskxMhBoz723U#golf-antonio-courage +-- Details := urn:ubideco:semid:5Fb7RNdm2jWi7wndRaaU8Lwx76exafTvgQqt9owU9JwM#network-kayak-adam +-- Name := urn:ubideco:semid:6PbMuf2YBk8Ff4J15AZ1MBW8XbcAUsprYiF7QjusVrz7#crystal-visitor-tribune +-- MediaType := urn:ubideco:semid:7wXHNN1AHZ71G2gBQZyNSqFtVuarKBHctWkmGesdY5Nx#pixel-venice-grille +-- Ticker := urn:ubideco:semid:9dzjKz1d9KyoGnEg6WFSAKnWMaCpg1Lh7p66cmFXbH9e#mike-atlas-store +-- MediaRegName := urn:ubideco:semid:ATMfUVhmYiQqu4AaPTzvatZqYxWHStE2BMJhr4vYa2Vv#sulfur-chant-vampire +-- Attachment := urn:ubideco:semid:DFwRAzutaWgGPkDzkEvHJoS129xfg4Gnv88Mk9wikpuh#giraffe-carol-carrot -import lagoon_rodent_option_9KALDYR8Nyjq4FdMW6kYoL7vdkWnqPqNuFnmE9qHpNjZ as Std +import urn:ubideco:stl:9KALDYR8Nyjq4FdMW6kYoL7vdkWnqPqNuFnmE9qHpNjZ#justice-rocket-type as Std -- Imports: --- AsciiPrintable := PierreForbidOrganic0mbH4meZSjxky12xHm9pg3rw8VoGxEa6rXtt6dAMZLbt --- AlphaCapsNum := CrashLemonNight07U5NvJNf343ZzFXsqW2DBYtTSvrb3YdL6oxYd2BaMsVr +-- AsciiPrintable := urn:ubideco:semid:mbH4meZSjxky12xHm9pg3rw8VoGxEa6rXtt6dAMZLbt#diet-oxford-window +-- AlphaCapsNum := urn:ubideco:semid:7U5NvJNf343ZzFXsqW2DBYtTSvrb3YdL6oxYd2BaMsVr#magnet-section-latin --- ChaosGyroOrange02WhKkjroWkz1aV23HAvvSpMnnCU6XisNvK4nqwmxQMW4 +-- urn:ubideco:semid:2WhKkjroWkz1aV23HAvvSpMnnCU6XisNvK4nqwmxQMW4#break-tunnel-gray data Allocation :: TokenIndex, OwnedFraction --- BalletHobbyProcess0DK3kB8HzGhJfYAHnR7cTRDBaEMoi1KLh4g81iE6xhGT5 -data AttachmentName :: [Std.AsciiPrintable {- PierreForbidOrganic0mbH4meZSjxky12xHm9pg3rw8VoGxEa6rXtt6dAMZLbt -} ^ 1..0x14] --- TelecomValeryGreen08GLH9w6vfFE5vyBQpemUGjG1pyHaR6iXBEdANznnUYwZ +-- urn:ubideco:semid:DK3kB8HzGhJfYAHnR7cTRDBaEMoi1KLh4g81iE6xhGT5#source-change-period +data AttachmentName :: [Std.AsciiPrintable {- urn:ubideco:semid:mbH4meZSjxky12xHm9pg3rw8VoGxEa6rXtt6dAMZLbt#diet-oxford-window -} ^ 1..0x14] +-- urn:ubideco:semid:8GLH9w6vfFE5vyBQpemUGjG1pyHaR6iXBEdANznnUYwZ#boston-cake-susan data AttachmentType :: id U8, name AttachmentName --- WilliamEmotionChance03xBeKrXkHho58WzGavLvKu2wVyWLmUf82VVXb7ewgr2n -data EmbeddedMedia :: type RGBContract.MediaType {- StormMatchFocus07wXHNN1AHZ71G2gBQZyNSqFtVuarKBHctWkmGesdY5Nx -}, data [Byte] --- FreddieTritonContact0Efm3pLg9ADWDmEuVaEEFFNbnDBnkLuPfWy5Jx68uoKoG +-- urn:ubideco:semid:3xBeKrXkHho58WzGavLvKu2wVyWLmUf82VVXb7ewgr2n#castle-dynamic-lemon +data EmbeddedMedia :: type RGBContract.MediaType {- urn:ubideco:semid:7wXHNN1AHZ71G2gBQZyNSqFtVuarKBHctWkmGesdY5Nx#pixel-venice-grille -}, data [Byte] +-- urn:ubideco:semid:Efm3pLg9ADWDmEuVaEEFFNbnDBnkLuPfWy5Jx68uoKoG#royal-career-axiom data EngravingData :: appliedTo TokenIndex, content EmbeddedMedia --- RomanMagnumDevelop08EkixzUac6Fc9TXEDGWXKRie3oR1KdZUN9Nqb9B2pNAy +-- urn:ubideco:semid:8EkixzUac6Fc9TXEDGWXKRie3oR1KdZUN9Nqb9B2pNAy#cannon-pardon-octavia data Error :: fractionOverflow:1 | nonEqualValues:2 | invalidProof:3 | insufficientReserves:4 | issueExceedsAllowance:6 | nonFractionalToken:7 | nonEngravableToken:8 | invalidAttachmentType:9 --- AvalonGriffinMulti02MGPNB49XX5j9dZYUrjPuCWpmAksgXNUPW7poRjNijFo +-- urn:ubideco:semid:2MGPNB49XX5j9dZYUrjPuCWpmAksgXNUPW7poRjNijFo#capital-conduct-aspect data ItemsCount :: U32 --- CharlieDominicShelf02kBpp5BpJXno5JqYPJ6zZvmLxMKbq8vPxynek8pkgQkN +-- urn:ubideco:semid:2kBpp5BpJXno5JqYPJ6zZvmLxMKbq8vPxynek8pkgQkN#vital-edgar-quota data OwnedFraction :: U64 --- SuzukiFloridaCharlie0BnxkL8KtjM7gh29TJJejGGZUdsqSjs6vPXUyUHZGxr1U +-- urn:ubideco:semid:BnxkL8KtjM7gh29TJJejGGZUdsqSjs6vPXUyUHZGxr1U#cinema-gordon-judo data TokenData :: index TokenIndex - , ticker RGBContract.Ticker {- NurseTorpedoGiraffe09dzjKz1d9KyoGnEg6WFSAKnWMaCpg1Lh7p66cmFXbH9e -}? - , name RGBContract.Name {- ClaudiaArchiveAugust06PbMuf2YBk8Ff4J15AZ1MBW8XbcAUsprYiF7QjusVrz7 -}? - , details RGBContract.Details {- CamillaBeginLava05Fb7RNdm2jWi7wndRaaU8Lwx76exafTvgQqt9owU9JwM -}? + , ticker RGBContract.Ticker {- urn:ubideco:semid:9dzjKz1d9KyoGnEg6WFSAKnWMaCpg1Lh7p66cmFXbH9e#mike-atlas-store -}? + , name RGBContract.Name {- urn:ubideco:semid:6PbMuf2YBk8Ff4J15AZ1MBW8XbcAUsprYiF7QjusVrz7#crystal-visitor-tribune -}? + , details RGBContract.Details {- urn:ubideco:semid:5Fb7RNdm2jWi7wndRaaU8Lwx76exafTvgQqt9owU9JwM#network-kayak-adam -}? , preview EmbeddedMedia? - , media RGBContract.Attachment {- HiltonStationDragon0DFwRAzutaWgGPkDzkEvHJoS129xfg4Gnv88Mk9wikpuh -}? - , attachments {U8 -> ^ ..0x14 RGBContract.Attachment {- HiltonStationDragon0DFwRAzutaWgGPkDzkEvHJoS129xfg4Gnv88Mk9wikpuh -}} - , reserves RGBContract.ProofOfReserves {- LicenseGermanyWindow0zrXMtzeLgFy1NQd46y3CNb549tnukiuMEGJvqxRkyDW -}? --- BinarySugarPierre07oHMshog2F42Wh7hCEse1JZV1sFzV1UgyH3mYVfUqXVW + , media RGBContract.Attachment {- urn:ubideco:semid:DFwRAzutaWgGPkDzkEvHJoS129xfg4Gnv88Mk9wikpuh#giraffe-carol-carrot -}? + , attachments {U8 -> ^ ..0x14 RGBContract.Attachment {- urn:ubideco:semid:DFwRAzutaWgGPkDzkEvHJoS129xfg4Gnv88Mk9wikpuh#giraffe-carol-carrot -}} + , reserves RGBContract.ProofOfReserves {- urn:ubideco:semid:zrXMtzeLgFy1NQd46y3CNb549tnukiuMEGJvqxRkyDW#liquid-owner-london -}? +-- urn:ubideco:semid:7oHMshog2F42Wh7hCEse1JZV1sFzV1UgyH3mYVfUqXVW#connect-farmer-havana data TokenIndex :: U32 diff --git a/stl/RGB25@0.1.0.sta b/stl/RGB25@0.1.0.sta index a7cb0a5c..ffe3e921 100644 --- a/stl/RGB25@0.1.0.sta +++ b/stl/RGB25@0.1.0.sta @@ -1,5 +1,5 @@ -----BEGIN STRICT TYPE LIB----- -Id: ritual_mask_next_4JmGrg7oTgwuCQtyC4ezC38ToHMzgMCVS5kMSDPwo2ee +Id: urn:ubideco:stl:4JmGrg7oTgwuCQtyC4ezC38ToHMzgMCVS5kMSDPwo2ee Name: RGB25 Dependencies: ~ diff --git a/stl/RGB25@0.1.0.sty b/stl/RGB25@0.1.0.sty index da099d04..eed66316 100644 --- a/stl/RGB25@0.1.0.sty +++ b/stl/RGB25@0.1.0.sty @@ -1,5 +1,5 @@ {- - Id: ritual_mask_next_4JmGrg7oTgwuCQtyC4ezC38ToHMzgMCVS5kMSDPwo2ee + Id: urn:ubideco:stl:4JmGrg7oTgwuCQtyC4ezC38ToHMzgMCVS5kMSDPwo2ee#camera-betty-bank Name: RGB25 Version: 0.1.0 Description: Types for RGB25 interface @@ -12,7 +12,7 @@ typelib RGB25 -- no dependencies --- GeminiAmandaAlbino0Bgz2hSKrGLZcuj52DmswaV9aR761GGZxz6P9j4sxwacD +-- urn:ubideco:semid:Bgz2hSKrGLZcuj52DmswaV9aR761GGZxz6P9j4sxwacD#circle-unicorn-press data Error :: supplyMismatch:1 | nonEqualAmounts:2 | invalidProof:3 | insufficientReserves:4 | insufficientCoverage:5 diff --git a/stl/RGBContract@0.1.0.sta b/stl/RGBContract@0.1.0.sta index 8b8aea55..34fcbe4b 100644 --- a/stl/RGBContract@0.1.0.sta +++ b/stl/RGBContract@0.1.0.sta @@ -1,9 +1,9 @@ -----BEGIN STRICT TYPE LIB----- -Id: spoon_shadow_evening_6vbr9ZrtsD9aBjo5qRQ36QEZPVucqvRRjKCPqE8yPeJr +Id: urn:ubideco:stl:6vbr9ZrtsD9aBjo5qRQ36QEZPVucqvRRjKCPqE8yPeJr Name: RGBContract Dependencies: - Bitcoin@race_ballet_golf_6GgF7biXPVNcus2FfQj2pQuRzau11rXApMQLfCZhojgi, - Std@lagoon_rodent_option_9KALDYR8Nyjq4FdMW6kYoL7vdkWnqPqNuFnmE9qHpNjZ + urn:ubideco:stl:6GgF7biXPVNcus2FfQj2pQuRzau11rXApMQLfCZhojgi, + urn:ubideco:stl:9KALDYR8Nyjq4FdMW6kYoL7vdkWnqPqNuFnmE9qHpNjZ C1JHQkNvbnRyYWN0Ak5OhPRwFsnl0mJ8v8P0NrLdbNTRubBEW/9e74J2cndXB0Jp dGNvaW57hIA8nvriESWnfCw5vHDS/ej5Q64N/Zz05oLtx2bKcANTdGQCB0JpdGNv diff --git a/stl/RGBContract@0.1.0.sty b/stl/RGBContract@0.1.0.sty index 52e4c9ba..44ff7cd0 100644 --- a/stl/RGBContract@0.1.0.sty +++ b/stl/RGBContract@0.1.0.sty @@ -1,5 +1,5 @@ {- - Id: spoon_shadow_evening_6vbr9ZrtsD9aBjo5qRQ36QEZPVucqvRRjKCPqE8yPeJr + Id: urn:ubideco:stl:6vbr9ZrtsD9aBjo5qRQ36QEZPVucqvRRjKCPqE8yPeJr#choice-little-boxer Name: RGBContract Version: 0.1.0 Description: Types for writing RGB contracts and interfaces @@ -10,44 +10,44 @@ typelib RGBContract -import race_ballet_golf_6GgF7biXPVNcus2FfQj2pQuRzau11rXApMQLfCZhojgi as Bitcoin +import urn:ubideco:stl:6GgF7biXPVNcus2FfQj2pQuRzau11rXApMQLfCZhojgi#money-pardon-parody as Bitcoin -- Imports: --- Vout := OpusDecadeExample03HHRtSJW5fnGkdVW1EVDH7B97Y79WhwvKyyfsaBkuQkk --- Txid := TaxiLearnMalta0C1GfCrG7AXu2sFhRBspd7KpJK2YgyTkVy6pty5rZynRs --- Outpoint := CakeLeftPencil0GeFZHi1RYCrrcH1LG4Fo2SWW5M6KLJ8yvoGkFjRWZaA9 +-- Vout := urn:ubideco:semid:3HHRtSJW5fnGkdVW1EVDH7B97Y79WhwvKyyfsaBkuQkk#chrome-robin-gallop +-- Txid := urn:ubideco:semid:C1GfCrG7AXu2sFhRBspd7KpJK2YgyTkVy6pty5rZynRs#cowboy-diego-betty +-- Outpoint := urn:ubideco:semid:GeFZHi1RYCrrcH1LG4Fo2SWW5M6KLJ8yvoGkFjRWZaA9#dinner-yoga-danube -import lagoon_rodent_option_9KALDYR8Nyjq4FdMW6kYoL7vdkWnqPqNuFnmE9qHpNjZ as Std +import urn:ubideco:stl:9KALDYR8Nyjq4FdMW6kYoL7vdkWnqPqNuFnmE9qHpNjZ#justice-rocket-type as Std -- Imports: --- AsciiPrintable := PierreForbidOrganic0mbH4meZSjxky12xHm9pg3rw8VoGxEa6rXtt6dAMZLbt --- AlphaCapsNum := CrashLemonNight07U5NvJNf343ZzFXsqW2DBYtTSvrb3YdL6oxYd2BaMsVr +-- AsciiPrintable := urn:ubideco:semid:mbH4meZSjxky12xHm9pg3rw8VoGxEa6rXtt6dAMZLbt#diet-oxford-window +-- AlphaCapsNum := urn:ubideco:semid:7U5NvJNf343ZzFXsqW2DBYtTSvrb3YdL6oxYd2BaMsVr#magnet-section-latin --- ContextLovePlanet0AC2a15L721Fw1YSudEvyX7vr8XjPVn4bPUrRhmZS4oJj +-- urn:ubideco:semid:AC2a15L721Fw1YSudEvyX7vr8XjPVn4bPUrRhmZS4oJj#burma-picasso-granite data Amount :: U64 --- SharpSecondStorm0Ep3efqbERhgbus3JbSaKn3Lm9gWtya9xoGYbAjoQhXaB +-- urn:ubideco:semid:Ep3efqbERhgbus3JbSaKn3Lm9gWtya9xoGYbAjoQhXaB#heavy-public-hostel data AssetNaming :: ticker Ticker , name Name , details Details? --- GrilleJessicaNeptune09t5kYLUwTpWjwh9eHB1NU3obZnj3qeTZzpZdcfYiqAV4 +-- urn:ubideco:semid:9t5kYLUwTpWjwh9eHB1NU3obZnj3qeTZzpZdcfYiqAV4#flame-unicorn-fruit data Attachment :: type MediaType, digest [Byte ^ 32] --- ThinkDealTrick0HtN246bWqDBKMgUJf7cKxERW9B2ostpVYPnAG2LVCKCX +-- urn:ubideco:semid:HtN246bWqDBKMgUJf7cKxERW9B2ostpVYPnAG2LVCKCX#gabriel-fiber-oregano data BurnMeta :: burnProofs {ProofOfReserves} --- EdisonWarningShock0tZLspSCzoPWcsyhL3Q9Tks45bGupxp9VRtvLzQfsBYS +-- urn:ubideco:semid:tZLspSCzoPWcsyhL3Q9Tks45bGupxp9VRtvLzQfsBYS#symbol-medical-marion data ContractData :: terms RicardianContract, media Attachment? --- CamillaBeginLava05Fb7RNdm2jWi7wndRaaU8Lwx76exafTvgQqt9owU9JwM +-- urn:ubideco:semid:5Fb7RNdm2jWi7wndRaaU8Lwx76exafTvgQqt9owU9JwM#network-kayak-adam data Details :: [Unicode ^ 1..0xff] --- HobbySpiderJoel03p1E6oqjmmGPMHh6H4G3BrQU3iuwr7XRmmytiixPp1oh +-- urn:ubideco:semid:3p1E6oqjmmGPMHh6H4G3BrQU3iuwr7XRmmytiixPp1oh#elvis-alex-letter data DivisibleAssetSpec :: naming AssetNaming, precision Precision --- CandleAuroraScoop05r9sYFUJy7Kd9FEZ1pe5v4BUPiy1Bg344pNPsENbb7X +-- urn:ubideco:semid:5r9sYFUJy7Kd9FEZ1pe5v4BUPiy1Bg344pNPsENbb7X#alcohol-moral-needle data IssueMeta :: reserves {ProofOfReserves} --- GuruCannonBlue0Bn87eabCqLDccdn1qvtnaxtDrofnw1mBexxR8tSjkN7z +-- urn:ubideco:semid:Bn87eabCqLDccdn1qvtnaxtDrofnw1mBexxR8tSjkN7z#memphis-bicycle-roof data MediaRegName :: [MimeChar ^ 1..0x40] --- ReunionPromiseCredit0AUJnh2sR5dxk1TQRtXr7vYVTorbG4Tiy4LY14eQp9yV2 +-- urn:ubideco:semid:AUJnh2sR5dxk1TQRtXr7vYVTorbG4Tiy4LY14eQp9yV2#robert-decide-dispute data MediaType :: type MediaRegName , subtype MediaRegName? , charset MediaRegName? --- NormalBaliNuclear056Qs8Zfm2GAgewu9s7ffVb9xX6QiJhoDskxMhBoz723U +-- urn:ubideco:semid:56Qs8Zfm2GAgewu9s7ffVb9xX6QiJhoDskxMhBoz723U#golf-antonio-courage data MimeChar :: excl:33 | hash:35 | dollar:36 | amp:38 | plus:43 | dash:45 | dot:46 | zero:48 | one:49 | two:50 | three:51 | four:52 @@ -61,21 +61,21 @@ data MimeChar :: excl:33 | hash:35 | dollar:36 | amp:38 | v:118 | w:119 | x:120 | y:121 | z:122 --- ClaudiaArchiveAugust06PbMuf2YBk8Ff4J15AZ1MBW8XbcAUsprYiF7QjusVrz7 -data Name :: [Std.AsciiPrintable {- PierreForbidOrganic0mbH4meZSjxky12xHm9pg3rw8VoGxEa6rXtt6dAMZLbt -} ^ 1..0x28] --- VisionPaulPixel07G6FJPNejRtmGZP4NPXXHTTozzH4cwdrwrdkB3gziMa1 +-- urn:ubideco:semid:6PbMuf2YBk8Ff4J15AZ1MBW8XbcAUsprYiF7QjusVrz7#crystal-visitor-tribune +data Name :: [Std.AsciiPrintable {- urn:ubideco:semid:mbH4meZSjxky12xHm9pg3rw8VoGxEa6rXtt6dAMZLbt#diet-oxford-window -} ^ 1..0x28] +-- urn:ubideco:semid:7G6FJPNejRtmGZP4NPXXHTTozzH4cwdrwrdkB3gziMa1#union-drum-public data Precision :: indivisible:0 | deci:1 | centi:2 | milli:3 | deciMilli:4 | centiMilli:5 | micro:6 | deciMicro:7 | centiMicro:8 | nano:9 | deciNano:10 | centiNano:11 | pico:12 | deciPico:13 | centiPico:14 | femto:15 | deciFemto:16 | centiFemto:17 | atto:18 --- LicenseGermanyWindow0zrXMtzeLgFy1NQd46y3CNb549tnukiuMEGJvqxRkyDW -data ProofOfReserves :: utxo Bitcoin.Outpoint {- CakeLeftPencil0GeFZHi1RYCrrcH1LG4Fo2SWW5M6KLJ8yvoGkFjRWZaA9 -}, proof [Byte] --- OreganoTrafficCoconut02fnqF5VfphtEoAWWEXwqyAZwny3YhkbB5TAh4VpA5JxQ +-- urn:ubideco:semid:zrXMtzeLgFy1NQd46y3CNb549tnukiuMEGJvqxRkyDW#liquid-owner-london +data ProofOfReserves :: utxo Bitcoin.Outpoint {- urn:ubideco:semid:GeFZHi1RYCrrcH1LG4Fo2SWW5M6KLJ8yvoGkFjRWZaA9#dinner-yoga-danube -}, proof [Byte] +-- urn:ubideco:semid:2fnqF5VfphtEoAWWEXwqyAZwny3YhkbB5TAh4VpA5JxQ#bundle-turbo-verona data RicardianContract :: [Unicode] --- NurseTorpedoGiraffe09dzjKz1d9KyoGnEg6WFSAKnWMaCpg1Lh7p66cmFXbH9e -data Ticker :: [Std.AlphaCapsNum {- CrashLemonNight07U5NvJNf343ZzFXsqW2DBYtTSvrb3YdL6oxYd2BaMsVr -} ^ 1..0x8] --- BrazilBinarySlalom07eMrzgjRCf7EFcBBf6evAE75NTerkJ7tBdJAKqNfVGVs +-- urn:ubideco:semid:9dzjKz1d9KyoGnEg6WFSAKnWMaCpg1Lh7p66cmFXbH9e#mike-atlas-store +data Ticker :: [Std.AlphaCapsNum {- urn:ubideco:semid:7U5NvJNf343ZzFXsqW2DBYtTSvrb3YdL6oxYd2BaMsVr#magnet-section-latin -} ^ 1..0x8] +-- urn:ubideco:semid:7eMrzgjRCf7EFcBBf6evAE75NTerkJ7tBdJAKqNfVGVs#suzuki-castle-saint data Timestamp :: I64 diff --git a/stl/RGBStd@0.1.0.sta b/stl/RGBStd@0.1.0.sta index aef19efc..f1ffa212 100644 --- a/stl/RGBStd@0.1.0.sta +++ b/stl/RGBStd@0.1.0.sta @@ -1,14 +1,14 @@ -----BEGIN STRICT TYPE LIB----- -Id: parent_maze_jessica_3KXsWZ6hSKRbPjSVwRGbwnwJp3ZNQ2tfe6QUwLJEDG6K +Id: urn:ubideco:stl:3KXsWZ6hSKRbPjSVwRGbwnwJp3ZNQ2tfe6QUwLJEDG6K Name: RGBStd Dependencies: - CommitVerify@melody_arctic_labor_ZtHaBzu9ojbDahaGKEXe5v9DfSDxLERbLkEB23R6Q6V, - BPCore@cuba_caesar_yellow_2YsxMW6xygK2FxFSbbBLqmzaUSytmLHHNF9DRio5zNr2, - RGB@memphis_asia_crash_4fGZWR5mH5zZzRZ1r7CSRe776zm3hLBUngfXc4s3vm3V, - StrictTypes@canoe_safari_scholar_5XLKQ1sNryZm9bdFKU2kBY3MPYdZXhchVdQKBbHA3gby, - Bitcoin@race_ballet_golf_6GgF7biXPVNcus2FfQj2pQuRzau11rXApMQLfCZhojgi, - Std@lagoon_rodent_option_9KALDYR8Nyjq4FdMW6kYoL7vdkWnqPqNuFnmE9qHpNjZ, - AluVM@degree_boston_heart_DVtm25LRKU4TjbyZmVxPhvCmctZ6vKkPKqfpU2QsDNUo + urn:ubideco:stl:ZtHaBzu9ojbDahaGKEXe5v9DfSDxLERbLkEB23R6Q6V, + urn:ubideco:stl:2YsxMW6xygK2FxFSbbBLqmzaUSytmLHHNF9DRio5zNr2, + urn:ubideco:stl:4fGZWR5mH5zZzRZ1r7CSRe776zm3hLBUngfXc4s3vm3V, + urn:ubideco:stl:5XLKQ1sNryZm9bdFKU2kBY3MPYdZXhchVdQKBbHA3gby, + urn:ubideco:stl:6GgF7biXPVNcus2FfQj2pQuRzau11rXApMQLfCZhojgi, + urn:ubideco:stl:9KALDYR8Nyjq4FdMW6kYoL7vdkWnqPqNuFnmE9qHpNjZ, + urn:ubideco:stl:DVtm25LRKU4TjbyZmVxPhvCmctZ6vKkPKqfpU2QsDNUo BlJHQlN0ZAcIbJMpP1Zo7NnfnUB1CNehMyMWREFWAosurAm/5d+NQgxDb21taXRW ZXJpZnkXBk5pibwA035ABMB1qXDVJA6Hx9E0fiwbbm7GLsChNwZCUENvcmU2YLnO diff --git a/stl/RGBStd@0.1.0.sty b/stl/RGBStd@0.1.0.sty index a4393c56..45d4fb9e 100644 --- a/stl/RGBStd@0.1.0.sty +++ b/stl/RGBStd@0.1.0.sty @@ -1,5 +1,5 @@ {- - Id: parent_maze_jessica_3KXsWZ6hSKRbPjSVwRGbwnwJp3ZNQ2tfe6QUwLJEDG6K + Id: urn:ubideco:stl:3KXsWZ6hSKRbPjSVwRGbwnwJp3ZNQ2tfe6QUwLJEDG6K#twist-paul-carlo Name: RGBStd Version: 0.1.0 Description: RGB standard library @@ -10,294 +10,294 @@ typelib RGBStd -import melody_arctic_labor_ZtHaBzu9ojbDahaGKEXe5v9DfSDxLERbLkEB23R6Q6V as CommitVerify +import urn:ubideco:stl:ZtHaBzu9ojbDahaGKEXe5v9DfSDxLERbLkEB23R6Q6V#rhino-cover-frog as CommitVerify -- Imports: --- MerkleProof := HazardPedroSplit04E7NDL8Nm1EXtcenS9idAx1LAXvTu2wRdYsxT8Q2hgRC --- MerkleNode := BazaarOrchidJacket06kxYeCatpncbA9UiTdsFbxbxJdU56x6MdmTRkEeGAv6R +-- MerkleProof := urn:ubideco:semid:4E7NDL8Nm1EXtcenS9idAx1LAXvTu2wRdYsxT8Q2hgRC#carol-alamo-denver +-- MerkleNode := urn:ubideco:semid:6kxYeCatpncbA9UiTdsFbxbxJdU56x6MdmTRkEeGAv6R#iceberg-rocket-velvet -import cuba_caesar_yellow_2YsxMW6xygK2FxFSbbBLqmzaUSytmLHHNF9DRio5zNr2 as BPCore +import urn:ubideco:stl:2YsxMW6xygK2FxFSbbBLqmzaUSytmLHHNF9DRio5zNr2#sultan-data-copy as BPCore -- Imports: --- TapretNodePartner := RespectMimicNominal06o6mGBNbDXJCcNgk5ohP6wgXcdXZvYd1ZWy1GMBy5q2 --- BlindSealTxid := ArrowNeedleCubic0q529pAPHhD1aFgueAHy8QtfjUayszR85WgEg7s2a3KE --- TapretPathProof := HolidayBrunoMaster02LANtvWZDRes61SHKFxtFPzSuTzaKQGCUvYsNowNf3n3 --- TapretProof := RomanMarbleSharon02pzhSc4ZWbAJCeeHmEZ1sEgyhyB1VXzPG35pkr211Euu --- TapretRightBranch := LocalElementForever04nZtVVw7QJaMDHYffkHBWhxXSkLXLcJ89qTLZH4Z3xck --- SecretSeal := VocalWinterMango081NKrdc9pBoBjsKaGBVN9wXLG4tKjkK4f8DLj7TNMZxh --- BlindSealTxPtr := AntonioCoolYoga09XdJg1BFMpMXPfaiw4Te79W2qYgArsEye6XPJUtj31L8 --- Proof := AnalogMemphisFelix0CTkS84NFBa3mPHswAmXM6uTnJTbNqfqrD3baPco55G6a --- TxPtr := FastIgorStyle0CyRtMpPJkKLX3AdhgY7ZyA7PnYAzCo7yFTeYwwGsUBhn --- CloseMethod := AlertCloudArchive0FA1JhsEFKi2LLpuAjuvLA3qiBuEJrwpKyypB9J2aPicr --- AnchorMerkleProof := RadioGreenPanda0GCVxKmrRiHJHrv43cBf21L7gFdkQUX4iEo4DSuywJyv1 +-- TapretNodePartner := urn:ubideco:semid:6o6mGBNbDXJCcNgk5ohP6wgXcdXZvYd1ZWy1GMBy5q2#iceberg-poker-active +-- BlindSealTxid := urn:ubideco:semid:q529pAPHhD1aFgueAHy8QtfjUayszR85WgEg7s2a3KE#raymond-reply-phrase +-- TapretPathProof := urn:ubideco:semid:2LANtvWZDRes61SHKFxtFPzSuTzaKQGCUvYsNowNf3n3#stage-element-update +-- TapretProof := urn:ubideco:semid:2pzhSc4ZWbAJCeeHmEZ1sEgyhyB1VXzPG35pkr211Euu#motif-voice-modular +-- TapretRightBranch := urn:ubideco:semid:4nZtVVw7QJaMDHYffkHBWhxXSkLXLcJ89qTLZH4Z3xck#basket-prelude-bridge +-- SecretSeal := urn:ubideco:semid:81NKrdc9pBoBjsKaGBVN9wXLG4tKjkK4f8DLj7TNMZxh#santana-domingo-needle +-- BlindSealTxPtr := urn:ubideco:semid:9XdJg1BFMpMXPfaiw4Te79W2qYgArsEye6XPJUtj31L8#metro-chris-olympic +-- Proof := urn:ubideco:semid:CTkS84NFBa3mPHswAmXM6uTnJTbNqfqrD3baPco55G6a#baggage-classic-llama +-- TxPtr := urn:ubideco:semid:CyRtMpPJkKLX3AdhgY7ZyA7PnYAzCo7yFTeYwwGsUBhn#strange-source-father +-- CloseMethod := urn:ubideco:semid:FA1JhsEFKi2LLpuAjuvLA3qiBuEJrwpKyypB9J2aPicr#july-salmon-contact +-- AnchorMerkleProof := urn:ubideco:semid:GCVxKmrRiHJHrv43cBf21L7gFdkQUX4iEo4DSuywJyv1#demand-symbol-korea -import memphis_asia_crash_4fGZWR5mH5zZzRZ1r7CSRe776zm3hLBUngfXc4s3vm3V as RGB +import urn:ubideco:stl:4fGZWR5mH5zZzRZ1r7CSRe776zm3hLBUngfXc4s3vm3V#saturn-flash-emerald as RGB -- Imports: --- BundleId := RocketStockProtect0EbWt9bmnjLpAu1LCN78snx734kHLNVUxyb5YxNr8tjd --- AssignVoidStateBlindSealTxid := DiplomaAvalonCactus0KXGLZQcMpsJKMcAghm4urgLPXinQ7WhekrUDaBXdVvy --- TypedAssignsBlindSealTxPtr := RomanRiskIndia02RoFp1p4edJd4qPEntk1EbAnr35sYJeMRbhn9YcZ9QLn --- NoiseDumb := SweetSalamiLetter033ug4TwTBFQxz7D3YdFmwpKET415dv5zQRh5CkavC5fL --- AssignRevealedValueBlindSealTxPtr := TorpedoCraterJason038yKXP6DqCmogDHoePL8FjGhwVCFwTbptn1xg6qCcK5g --- RevealedData := GentleLolaMadonna03DcMJ3YRokNwKN8Cce1ZqsYpiTEuto7EY1szCMEDH97A --- AnchoredBundle := AugustInfoEnigma03ETnGBHVsVniah6iRG7ofhk5BUmpvVwfVAVawoPXxaJQ --- ExtensionSchema := ForumMaskRace03Q3VJuT6qxjtZGTQHQKZNb8kdPzxxbNA28R8TWpXVAXC --- VoidState := SingleVanillaCake049HkbZvGaJE3phHjLBMQCR3NK1sGA462HJr5BkqQ6YQr --- Occurrences := TitanicRubberEscape04gjtVBchJQ5f1aAzoyxYWeGp6qZi9dPudJCbWKYKhw1a --- StateSchema := VideoNuclearPhoto04pgZ5NMvRK6Jf2ua7H3TCF8bMNHhZR7PuUJawqq1X4uG --- Input := PlazaGoodPerfect05CQTDNpVVWAWYnK1V3Re1oWXryWercFoy8fgiekJc1v2 --- AssignmentsBlindSealTxPtr := GameDerbyPilgrim05FzX2x7QsdQPgKi5jpTUoZ7LpThbUxtdA2thE1GR4aj5 --- MediaType := BenefitSummerGlass05TNhPhpZzE6iDWXaUpdsTAwVsCZj5e9Z8AqFU1ii6HHa --- ReservedByte := JoshuaVanillaPoint05ezr9uJrSdzez89fTCRWvKwGv6coMmQeXizK371oYdZ2 --- TransitionBundle := JuniorLobsterTribal05i1NyrYyHgcahPJ32qjyw52pZvQxY7bzrRoDv9yt5CoS --- GlobalValues := ListPartnerAcademy05j3xo5bTKFzcKayBQELdAVzUEnuPPAVd8etsBPG1EgZ3 --- PedersenCommitment := GravityBagelPump05twbh2U5hyaowidwum1iRNCqebBLxTuZTuNPt3SaRT13 --- AssignRevealedValueBlindSealTxid := AngelTorsoDublin06nzabEmqGQ65g93jNg3VSSawyzGHkKsozxWR7rCJ2cQL --- Inputs := HarborVitaminLexicon075nTxKwkqzLo5AUoH2p4dzpV8vBrsL286DYusdoXRzqh --- SchemaSchema := HotelKarlBarbara07EHzDDj8E6STpb7ahNW1NdW7477NKCjmpQvXWJKr14dL --- AssignRevealedDataBlindSealTxid := VegaBennySimon07HmJuu1sbzQHHS9CD1MgW93mAAcXDcYkkysr2NNk7R3P --- Transition := MotorNovelWarning07tdKckGFmZ4VzZEpw3kf5oJJ9PMURhPa8jjg3FjdzcF6 --- RevealedAttach := FilterAnswerGolf082EzCoBU6LaGX9bVA6WDXYNHmb2tCRZ8HgvxvNKWSGE7 --- ConcealedData := DetailPodiumCanvas08YQWVpKJBaYsAwrXvuLDNEDEKRZxfoQJpu1G7X2ZN1tL --- TransitionSchema := ForgetHopeBrown08vkpEFDoPs8xj2WP9mtjwBi7HVYEN9k6f7YrtQW6nqyd --- Genesis := SidePeoplePrivate09V1wj2QXbzHckbywWoHpmNysNKwU5ZNjAFFAm1wscuvo --- Redeemed := CompactMikeCuba09gdyUfvHDC1JjNho3fEStwmRu5tBtJ6Yy6pbjDqL4kc1 --- AttachId := TobaccoBrendaEdward09uzoSojhudYvNZYgTmJ5sMwwxzLtdLnfUeudT6Ro8i23 --- BlindingFactor := TrilogyBalloonSheriff09zzp5XyDaLvZSGhCEWtey1Y7xdD1soEYdGaimjyZexyf --- AssignRevealedDataBlindSealTxPtr := GermanyArcticKoala0AsJnBrKB372e2bmjcHHWVk5cLoAeqc7GzqUnNfCdkUjz --- SchemaId := SalaryPlasterNickel0AyzbMn4ux89LLU8ho1L4pQa5TXsmRdHd79oh6SXdrCmd --- OpId := LightMonsterTomato0B5hRc3ekuQsCAgsk8dmPVfytVDbvECJ3g2ANqrwSLE2p --- GenesisSchema := BalloonBrazilComedy0BUK8jECrf7CtWBmk91W9Vm6KrYLXykEZDTbPDxhyPB8w --- ContractId := PaintTelexJames0Bho42Xw8wPy2nWxgz6H51rNdBBusaPyrVQT8VypvpZ3w --- AluScript := FormatGardenFiction0ByCxcZ2hYTTJ8yoUhpUuHaxceQoAjqsxSF9zJkED3JuM --- TypedAssignsBlindSealTxid := AdiosSavageMotor0C4o9qxebRc6FutGCzyQPAcHVXPqSiDyqeGyfPMVgWu9E --- FungibleState := GolfEnigmaAnalog0CD8fR4UCdn4ZE6Y6bNPFkDpXdMCMH1Y8nVPx7NGqqYHB --- Opout := HarborHandRebel0CDgpyRMsXh1svZthjXumup2kYbpFaqB4SnMYATv59N27 --- RangeProof := FabricShipBalance0CL9hFCwcjTpaybwDxfj2GzdWkapbgjLkm3fjHEErcFju --- Extension := PythonCastroEarth0CbL9bmsun7ik6S6scQdeLtBh7XS7oHMqJvV1tt4sUykw --- Schema := CelloNinaKermit0CuBAzTcP8HVXXaR6eYL6kLmLMA3o9ZuDecSyi2ArcztC --- Valencies := LaserRespectGreek0CuTKkWVTMmWsLXdxt9CZ7T2zeeeJP5PNd5fQF8CqfKVG --- AssignmentsBlindSealTxid := NurseLaserSerial0DtXiVJEyFpjUYjgNTpS1yhr1fPcBfHpsziuPHMsZJUZk --- ConcealedFungible := WaterTunnelCapitan0E5YL6Uz7gLb8DHtWEZpRxQaAXBF3ETJmqQeygd7j6f72 --- Script := FiberDollarWelcome0ELHJ2Y2csp6kKFC4wrnfB4izSAqMk8iyTBqrotVJxePu --- GlobalStateSchema := StateBorderArmor0ES98zed1FQ1XHZJptvv3ecWF6XFCdQsG1NvtkADYkugP --- AssignRevealedAttachBlindSealTxid := TobaccoCandidNorth0EwVi55E5CKKyFE9SDyQxpXmfYxC5Z66TSQJj3cr4pdCt --- Ffv := CarbonCommandDeluxe0FiMEyh3t5FKEsUqVTgQFYJ5XfJF9m2RwKMN9NckympSG --- BundleItem := BishopRiderVendor0Fy4MenDhYeSRTjgHLVxjMjrDWWtAjTcWLHGJ1gjTiEUJ --- AssignVoidStateBlindSealTxPtr := CollegeArsenalJudo0GHgus7kVdhmR25myU9Nmip5dhULH3WTfmWvjzCs7deP2 --- GlobalState := PabloRomeoAroma0Gr3TV9Roumpjkgwgjwk46Ap3CpFJgCAAe412xSUaZfRW --- RevealedFungible := AmbientBlessPlume0GwQiHafneybdj3bnwbbMm5m2Qt63En9yJDYw4pSdfYWp --- AssignRevealedAttachBlindSealTxPtr := SuperAlbinoBermuda0HdXbvEKePanqiVg7BFGVaj7vBBBeSZsnztbRwpkwGKqi --- FungibleType := RodeoSerialPretty0HpiuYTT7BuhCmoNs2GrwNrHNUx3i3yf6GjDiFphLKeQV --- ConcealedAttach := ItalianSongHarvest0HyVyGxhRswAZ3BHJqx6PKmcEGCUSHaL1Rc7qxxi811qE +-- BundleId := urn:ubideco:semid:EbWt9bmnjLpAu1LCN78snx734kHLNVUxyb5YxNr8tjd#desert-divide-visible +-- AssignVoidStateBlindSealTxid := urn:ubideco:semid:KXGLZQcMpsJKMcAghm4urgLPXinQ7WhekrUDaBXdVvy#jerome-rachel-japan +-- TypedAssignsBlindSealTxPtr := urn:ubideco:semid:2RoFp1p4edJd4qPEntk1EbAnr35sYJeMRbhn9YcZ9QLn#pablo-laser-flex +-- NoiseDumb := urn:ubideco:semid:33ug4TwTBFQxz7D3YdFmwpKET415dv5zQRh5CkavC5fL#deal-orca-aztec +-- AssignRevealedValueBlindSealTxPtr := urn:ubideco:semid:38yKXP6DqCmogDHoePL8FjGhwVCFwTbptn1xg6qCcK5g#decade-marina-mercury +-- RevealedData := urn:ubideco:semid:3DcMJ3YRokNwKN8Cce1ZqsYpiTEuto7EY1szCMEDH97A#velvet-david-manual +-- AnchoredBundle := urn:ubideco:semid:3ETnGBHVsVniah6iRG7ofhk5BUmpvVwfVAVawoPXxaJQ#blonde-thomas-zodiac +-- ExtensionSchema := urn:ubideco:semid:3Q3VJuT6qxjtZGTQHQKZNb8kdPzxxbNA28R8TWpXVAXC#arthur-extreme-hostel +-- VoidState := urn:ubideco:semid:49HkbZvGaJE3phHjLBMQCR3NK1sGA462HJr5BkqQ6YQr#nectar-ceramic-driver +-- Occurrences := urn:ubideco:semid:4gjtVBchJQ5f1aAzoyxYWeGp6qZi9dPudJCbWKYKhw1a#unicorn-empire-mama +-- StateSchema := urn:ubideco:semid:4pgZ5NMvRK6Jf2ua7H3TCF8bMNHhZR7PuUJawqq1X4uG#yoga-arizona-flex +-- Input := urn:ubideco:semid:5CQTDNpVVWAWYnK1V3Re1oWXryWercFoy8fgiekJc1v2#lobby-gilbert-career +-- AssignmentsBlindSealTxPtr := urn:ubideco:semid:5FzX2x7QsdQPgKi5jpTUoZ7LpThbUxtdA2thE1GR4aj5#singer-video-robert +-- MediaType := urn:ubideco:semid:5TNhPhpZzE6iDWXaUpdsTAwVsCZj5e9Z8AqFU1ii6HHa#light-nelson-brain +-- ReservedByte := urn:ubideco:semid:5ezr9uJrSdzez89fTCRWvKwGv6coMmQeXizK371oYdZ2#balloon-justin-place +-- TransitionBundle := urn:ubideco:semid:5i1NyrYyHgcahPJ32qjyw52pZvQxY7bzrRoDv9yt5CoS#uniform-delta-florida +-- GlobalValues := urn:ubideco:semid:5j3xo5bTKFzcKayBQELdAVzUEnuPPAVd8etsBPG1EgZ3#volcano-expand-paper +-- PedersenCommitment := urn:ubideco:semid:5twbh2U5hyaowidwum1iRNCqebBLxTuZTuNPt3SaRT13#nepal-delta-earth +-- AssignRevealedValueBlindSealTxid := urn:ubideco:semid:6nzabEmqGQ65g93jNg3VSSawyzGHkKsozxWR7rCJ2cQL#passage-william-love +-- Inputs := urn:ubideco:semid:75nTxKwkqzLo5AUoH2p4dzpV8vBrsL286DYusdoXRzqh#night-roof-garbo +-- SchemaSchema := urn:ubideco:semid:7EHzDDj8E6STpb7ahNW1NdW7477NKCjmpQvXWJKr14dL#ninja-alfonso-safari +-- AssignRevealedDataBlindSealTxid := urn:ubideco:semid:7HmJuu1sbzQHHS9CD1MgW93mAAcXDcYkkysr2NNk7R3P#version-albino-uniform +-- Transition := urn:ubideco:semid:7tdKckGFmZ4VzZEpw3kf5oJJ9PMURhPa8jjg3FjdzcF6#kansas-hilton-saddle +-- RevealedAttach := urn:ubideco:semid:82EzCoBU6LaGX9bVA6WDXYNHmb2tCRZ8HgvxvNKWSGE7#antenna-balloon-manager +-- ConcealedData := urn:ubideco:semid:8YQWVpKJBaYsAwrXvuLDNEDEKRZxfoQJpu1G7X2ZN1tL#mirage-invite-newton +-- TransitionSchema := urn:ubideco:semid:8vkpEFDoPs8xj2WP9mtjwBi7HVYEN9k6f7YrtQW6nqyd#mama-sheriff-toga +-- Genesis := urn:ubideco:semid:9V1wj2QXbzHckbywWoHpmNysNKwU5ZNjAFFAm1wscuvo#unit-provide-jacket +-- Redeemed := urn:ubideco:semid:9gdyUfvHDC1JjNho3fEStwmRu5tBtJ6Yy6pbjDqL4kc1#pepper-crown-time +-- AttachId := urn:ubideco:semid:9uzoSojhudYvNZYgTmJ5sMwwxzLtdLnfUeudT6Ro8i23#delta-member-agenda +-- BlindingFactor := urn:ubideco:semid:9zzp5XyDaLvZSGhCEWtey1Y7xdD1soEYdGaimjyZexyf#agenda-ivory-blast +-- AssignRevealedDataBlindSealTxPtr := urn:ubideco:semid:AsJnBrKB372e2bmjcHHWVk5cLoAeqc7GzqUnNfCdkUjz#alarm-fuji-cockpit +-- SchemaId := urn:ubideco:semid:AyzbMn4ux89LLU8ho1L4pQa5TXsmRdHd79oh6SXdrCmd#garcia-smoke-ozone +-- OpId := urn:ubideco:semid:B5hRc3ekuQsCAgsk8dmPVfytVDbvECJ3g2ANqrwSLE2p#slow-samuel-ceramic +-- GenesisSchema := urn:ubideco:semid:BUK8jECrf7CtWBmk91W9Vm6KrYLXykEZDTbPDxhyPB8w#jester-insect-macro +-- ContractId := urn:ubideco:semid:Bho42Xw8wPy2nWxgz6H51rNdBBusaPyrVQT8VypvpZ3w#alarm-danube-vampire +-- AluScript := urn:ubideco:semid:ByCxcZ2hYTTJ8yoUhpUuHaxceQoAjqsxSF9zJkED3JuM#soviet-arsenal-complex +-- TypedAssignsBlindSealTxid := urn:ubideco:semid:C4o9qxebRc6FutGCzyQPAcHVXPqSiDyqeGyfPMVgWu9E#vision-limbo-thermos +-- FungibleState := urn:ubideco:semid:CD8fR4UCdn4ZE6Y6bNPFkDpXdMCMH1Y8nVPx7NGqqYHB#natasha-profit-winter +-- Opout := urn:ubideco:semid:CDgpyRMsXh1svZthjXumup2kYbpFaqB4SnMYATv59N27#status-europe-phoenix +-- RangeProof := urn:ubideco:semid:CL9hFCwcjTpaybwDxfj2GzdWkapbgjLkm3fjHEErcFju#teacher-telecom-tuna +-- Extension := urn:ubideco:semid:CbL9bmsun7ik6S6scQdeLtBh7XS7oHMqJvV1tt4sUykw#spain-montana-diet +-- Schema := urn:ubideco:semid:CuBAzTcP8HVXXaR6eYL6kLmLMA3o9ZuDecSyi2ArcztC#race-paul-famous +-- Valencies := urn:ubideco:semid:CuTKkWVTMmWsLXdxt9CZ7T2zeeeJP5PNd5fQF8CqfKVG#robert-neptune-meter +-- AssignmentsBlindSealTxid := urn:ubideco:semid:DtXiVJEyFpjUYjgNTpS1yhr1fPcBfHpsziuPHMsZJUZk#initial-express-sharp +-- ConcealedFungible := urn:ubideco:semid:E5YL6Uz7gLb8DHtWEZpRxQaAXBF3ETJmqQeygd7j6f72#chicken-quebec-olivia +-- Script := urn:ubideco:semid:ELHJ2Y2csp6kKFC4wrnfB4izSAqMk8iyTBqrotVJxePu#club-melody-america +-- GlobalStateSchema := urn:ubideco:semid:ES98zed1FQ1XHZJptvv3ecWF6XFCdQsG1NvtkADYkugP#night-mixer-monaco +-- AssignRevealedAttachBlindSealTxid := urn:ubideco:semid:EwVi55E5CKKyFE9SDyQxpXmfYxC5Z66TSQJj3cr4pdCt#melon-miami-maze +-- Ffv := urn:ubideco:semid:FiMEyh3t5FKEsUqVTgQFYJ5XfJF9m2RwKMN9NckympSG#silence-motel-toronto +-- BundleItem := urn:ubideco:semid:Fy4MenDhYeSRTjgHLVxjMjrDWWtAjTcWLHGJ1gjTiEUJ#bambino-candid-vibrate +-- AssignVoidStateBlindSealTxPtr := urn:ubideco:semid:GHgus7kVdhmR25myU9Nmip5dhULH3WTfmWvjzCs7deP2#page-beyond-mixer +-- GlobalState := urn:ubideco:semid:Gr3TV9Roumpjkgwgjwk46Ap3CpFJgCAAe412xSUaZfRW#safari-meaning-extreme +-- RevealedFungible := urn:ubideco:semid:GwQiHafneybdj3bnwbbMm5m2Qt63En9yJDYw4pSdfYWp#derby-soprano-burma +-- AssignRevealedAttachBlindSealTxPtr := urn:ubideco:semid:HdXbvEKePanqiVg7BFGVaj7vBBBeSZsnztbRwpkwGKqi#segment-toyota-comrade +-- FungibleType := urn:ubideco:semid:HpiuYTT7BuhCmoNs2GrwNrHNUx3i3yf6GjDiFphLKeQV#profit-bazooka-present +-- ConcealedAttach := urn:ubideco:semid:HyVyGxhRswAZ3BHJqx6PKmcEGCUSHaL1Rc7qxxi811qE#pizza-natural-cyclone -import canoe_safari_scholar_5XLKQ1sNryZm9bdFKU2kBY3MPYdZXhchVdQKBbHA3gby as StrictTypes +import urn:ubideco:stl:5XLKQ1sNryZm9bdFKU2kBY3MPYdZXhchVdQKBbHA3gby#south-strong-welcome as StrictTypes -- Imports: --- TypeName := RemarkSecondAxis0t47Qbd4ggmas4GmrE6oxCSyKBsosvGNtiXc2B2tuvUo --- Primitive := NoisePierreFrance03T3zMmQxuir7TsdjhBLaETJfLH4mr5amAseXDePnzhMT --- Variant := SusanOreganoFish03kQKwMdjA637pgAS3nF6SBooJrEbSNemqYtfZUYWinS6 --- TypeSystem := GregoryAthleteHazard047es12nMYaA5M7zMejQHAydsRPW6juta8ensLigXMBDP --- VariantInfoSemId := GuideFantasyPhantom04Lhtbe9Fk5Xi5w1rYmY6VcNHKiPzvbBE9Z7ox8JYLfGF --- UnionVariantsSemId := OhioPreludeNissan05B1DxehrbHq1bwC671nskfn2wVqDjMLkuaS7bpC3VxJk --- EnumVariants := EricOutsideGenesis06Zt75MUKawbZuckCDFLEtanNvFbsoGZo7hdwdy6TJytE --- UnnamedFieldsSemId := SloganSummerAppear07mWKWSN4oLP5RHpJp2ofSR2DmPLnoGWnSdaT7XkLjJDL --- NamedFieldsSemId := OrchidRobinBudget07t4xRL7UV1zB1pm8nT6mM7LQTKDXrhJtCpXXeY1DdWTi --- FieldSemId := MusicTalentArnold07xPYsYdNDXSyVVY1FFRMkwYzn6ggw8PXV45A8vtdGGrK --- SemId := StandMailboxBaboon08Ckj2p3GLKina636pSKJkj7GB6ft8XeoP4jfGkRUNwtp --- TySemId := GuitarDenmarkWeather09CmodzHmcjTizoBRGs6QuGgeBugHz1HinSdWyuXiTKea --- Ident := AlgebraVisitorUltra09SkVki7nQ7WRGN2ayWjySv7QSh6ftrakdNRbE2sSbUYw --- Sizing := CairoEverestScreen09jnMbAs5A91zjK9KDrLuFH42WtinmB8GY6JE6BMY31hw --- FieldName := SecureJupiterDemo0CK7zqXpkDGwatYDy1bVHoARAq1xTi85DFueWrZdFE7du --- KeyStep := PyramidRogerAugust0EEZoF2pqf4ZmH7BJVhNyMuT5xtAgBbsWuxmfwSGsHpKb --- Path := ForwardNepalRose0FiLcRn8DtH8UBS4ByqmSWX6XbCaDShkRU3Wf6i9yzDFV --- Step := StrangeRhinoGeneral0Fm1c9Y5SAxBw7jv3Qxwz6AUz3D755y9NxBYM4vAqw1aD +-- TypeName := urn:ubideco:semid:t47Qbd4ggmas4GmrE6oxCSyKBsosvGNtiXc2B2tuvUo#jamaica-capsule-chance +-- Primitive := urn:ubideco:semid:3T3zMmQxuir7TsdjhBLaETJfLH4mr5amAseXDePnzhMT#hobby-cable-puzzle +-- Variant := urn:ubideco:semid:3kQKwMdjA637pgAS3nF6SBooJrEbSNemqYtfZUYWinS6#tractor-sofia-company +-- TypeSystem := urn:ubideco:semid:47es12nMYaA5M7zMejQHAydsRPW6juta8ensLigXMBDP#linda-yellow-rival +-- VariantInfoSemId := urn:ubideco:semid:4Lhtbe9Fk5Xi5w1rYmY6VcNHKiPzvbBE9Z7ox8JYLfGF#star-consul-english +-- UnionVariantsSemId := urn:ubideco:semid:5B1DxehrbHq1bwC671nskfn2wVqDjMLkuaS7bpC3VxJk#studio-modern-nuclear +-- EnumVariants := urn:ubideco:semid:6Zt75MUKawbZuckCDFLEtanNvFbsoGZo7hdwdy6TJytE#list-sherman-viking +-- UnnamedFieldsSemId := urn:ubideco:semid:7mWKWSN4oLP5RHpJp2ofSR2DmPLnoGWnSdaT7XkLjJDL#hippie-world-sandra +-- NamedFieldsSemId := urn:ubideco:semid:7t4xRL7UV1zB1pm8nT6mM7LQTKDXrhJtCpXXeY1DdWTi#jordan-kiwi-nickel +-- FieldSemId := urn:ubideco:semid:7xPYsYdNDXSyVVY1FFRMkwYzn6ggw8PXV45A8vtdGGrK#speed-patriot-gallery +-- SemId := urn:ubideco:semid:8Ckj2p3GLKina636pSKJkj7GB6ft8XeoP4jfGkRUNwtp#cargo-plasma-catalog +-- TySemId := urn:ubideco:semid:9CmodzHmcjTizoBRGs6QuGgeBugHz1HinSdWyuXiTKea#vista-edgar-dominic +-- Ident := urn:ubideco:semid:9SkVki7nQ7WRGN2ayWjySv7QSh6ftrakdNRbE2sSbUYw#connect-fragile-exile +-- Sizing := urn:ubideco:semid:9jnMbAs5A91zjK9KDrLuFH42WtinmB8GY6JE6BMY31hw#canoe-gordon-amazon +-- FieldName := urn:ubideco:semid:CK7zqXpkDGwatYDy1bVHoARAq1xTi85DFueWrZdFE7du#orient-spell-talent +-- KeyStep := urn:ubideco:semid:EEZoF2pqf4ZmH7BJVhNyMuT5xtAgBbsWuxmfwSGsHpKb#frozen-margo-cannon +-- Path := urn:ubideco:semid:FiLcRn8DtH8UBS4ByqmSWX6XbCaDShkRU3Wf6i9yzDFV#exotic-western-courage +-- Step := urn:ubideco:semid:Fm1c9Y5SAxBw7jv3Qxwz6AUz3D755y9NxBYM4vAqw1aD#wheel-patriot-sandra -import race_ballet_golf_6GgF7biXPVNcus2FfQj2pQuRzau11rXApMQLfCZhojgi as Bitcoin +import urn:ubideco:stl:6GgF7biXPVNcus2FfQj2pQuRzau11rXApMQLfCZhojgi#money-pardon-parody as Bitcoin -- Imports: --- SeqNo := MeaningAladdinSaturn05HtymNhYBhjqPkLLw9QVWZ62cLm57cZxgQTDUBBXtmL --- TxIn := MatchMethodFlute02hg9BHNLqSonMW9duxLkamgPpBqpKgJQsBqDD4TzLzNy --- Vout := OpusDecadeExample03HHRtSJW5fnGkdVW1EVDH7B97Y79WhwvKyyfsaBkuQkk --- ScriptBytes := PeacePrinceTarget03Y4AgjkFbDusgo3YqRDWv9BznDeAJEUDEPeEq1mpSkAR --- Tx := NirvanaIndexValue03mUkHyR4gPvDPa1XwwGoUQzEFKx8ESnf79L2QNxG1YjZ --- TapNodeHash := LicenseSnowCorrect04M8xyvABKKKJseN6Pme5eKrAuusMNMXoY5s6ifsEcreC --- LockTime := ZodiacJupiterAirline04dDWWU4afiPN3q4AgCMuFRFhL4UDta2u5SrqrBzPvjby --- SigScript := CairoCaramelRadius04oPKiVaSpVo6tXhwU9rL29u3zpRe4EaEKPsmoiv4QqaA --- Chain := ProfitMetalMister06aRP3odHaTGySvSWHjreC8HsbX5ss9LxkQqwcjaoxhpv --- LeafScript := DilemmaLegendCitizen07SUbonQ62tSaBTPpbZPACQo2NogXodi2mW5WEEDfBvp4 --- Witness := MoralKoreaCastro08mjN2CZj3Nhn2HjnKqTmEcN5vmyb3UJK8HSFW1uE3W2p --- TxOut := MeteorGordonHeart0Ai2EembHqqUdWaZhygD7QiHmA8bM13RkzPyzyW9Lejyc --- Sats := TomatoMixerAnita0BEBz6h7AGjYSDRCxVHnjYkkkxzBsjN3EvyNiD4ZrzmRL --- Txid := TaxiLearnMalta0C1GfCrG7AXu2sFhRBspd7KpJK2YgyTkVy6pty5rZynRs --- TxVer := NirvanaTahitiReport0CLhr1zatQBSkCz9SiVrNoKB5igCZfF3hqRizfrviM6NR --- LeafVer := ChessDisputeStock0DGELfUvcU62GNQRo7HaMbKDzYQwdYRMW3b91JHd4d3WY --- ScriptPubkey := CockpitOpinionCastro0DrXSW9ePWBgntrcX1ZHDBpUGLz67mMzfAxAh5FygtZkw --- InternalPk := TeacherPearlHello0G5HFVaWwWNYSzqk548JgGZ8WKy6dQ2ftVgkJvHjgRudZ --- Outpoint := CakeLeftPencil0GeFZHi1RYCrrcH1LG4Fo2SWW5M6KLJ8yvoGkFjRWZaA9 +-- SeqNo := urn:ubideco:semid:5HtymNhYBhjqPkLLw9QVWZ62cLm57cZxgQTDUBBXtmL#rhino-time-rodent +-- TxIn := urn:ubideco:semid:2hg9BHNLqSonMW9duxLkamgPpBqpKgJQsBqDD4TzLzNy#london-cobra-miranda +-- Vout := urn:ubideco:semid:3HHRtSJW5fnGkdVW1EVDH7B97Y79WhwvKyyfsaBkuQkk#chrome-robin-gallop +-- ScriptBytes := urn:ubideco:semid:3Y4AgjkFbDusgo3YqRDWv9BznDeAJEUDEPeEq1mpSkAR#maestro-source-jackson +-- Tx := urn:ubideco:semid:3mUkHyR4gPvDPa1XwwGoUQzEFKx8ESnf79L2QNxG1YjZ#plaza-ventura-marina +-- TapNodeHash := urn:ubideco:semid:4M8xyvABKKKJseN6Pme5eKrAuusMNMXoY5s6ifsEcreC#crash-culture-jamaica +-- LockTime := urn:ubideco:semid:4dDWWU4afiPN3q4AgCMuFRFhL4UDta2u5SrqrBzPvjby#tokyo-inch-program +-- SigScript := urn:ubideco:semid:4oPKiVaSpVo6tXhwU9rL29u3zpRe4EaEKPsmoiv4QqaA#tiger-paprika-juliet +-- Chain := urn:ubideco:semid:6aRP3odHaTGySvSWHjreC8HsbX5ss9LxkQqwcjaoxhpv#aspirin-brown-alpine +-- LeafScript := urn:ubideco:semid:7SUbonQ62tSaBTPpbZPACQo2NogXodi2mW5WEEDfBvp4#brenda-round-micro +-- Witness := urn:ubideco:semid:8mjN2CZj3Nhn2HjnKqTmEcN5vmyb3UJK8HSFW1uE3W2p#warning-saddle-period +-- TxOut := urn:ubideco:semid:Ai2EembHqqUdWaZhygD7QiHmA8bM13RkzPyzyW9Lejyc#hostel-source-marion +-- Sats := urn:ubideco:semid:BEBz6h7AGjYSDRCxVHnjYkkkxzBsjN3EvyNiD4ZrzmRL#pyramid-spray-star +-- Txid := urn:ubideco:semid:C1GfCrG7AXu2sFhRBspd7KpJK2YgyTkVy6pty5rZynRs#cowboy-diego-betty +-- TxVer := urn:ubideco:semid:CLhr1zatQBSkCz9SiVrNoKB5igCZfF3hqRizfrviM6NR#english-natasha-virus +-- LeafVer := urn:ubideco:semid:DGELfUvcU62GNQRo7HaMbKDzYQwdYRMW3b91JHd4d3WY#tunnel-lagoon-cowboy +-- ScriptPubkey := urn:ubideco:semid:DrXSW9ePWBgntrcX1ZHDBpUGLz67mMzfAxAh5FygtZkw#denmark-human-degree +-- InternalPk := urn:ubideco:semid:G5HFVaWwWNYSzqk548JgGZ8WKy6dQ2ftVgkJvHjgRudZ#horse-major-vienna +-- Outpoint := urn:ubideco:semid:GeFZHi1RYCrrcH1LG4Fo2SWW5M6KLJ8yvoGkFjRWZaA9#dinner-yoga-danube -import lagoon_rodent_option_9KALDYR8Nyjq4FdMW6kYoL7vdkWnqPqNuFnmE9qHpNjZ as Std +import urn:ubideco:stl:9KALDYR8Nyjq4FdMW6kYoL7vdkWnqPqNuFnmE9qHpNjZ#justice-rocket-type as Std -- Imports: --- Ascii := SmilePlasticJudge02NFrhqQqGNDA4HujyTW2pmcjtrN5sbtFfpPFXPPYcGER --- Bool := FashionSharpRodeo07ZhBHGSJm9ixmm8Z9vCX7i5Ga7j5xrW8t11nsb1Cgpnx --- AlphaNumLodash := DriverBarbaraRamirez08iBe2dh8beD1KUairdqCacEcxAr4h55XfUQN2PspWXjz +-- Ascii := urn:ubideco:semid:2NFrhqQqGNDA4HujyTW2pmcjtrN5sbtFfpPFXPPYcGER#aloha-lunar-felix +-- Bool := urn:ubideco:semid:7ZhBHGSJm9ixmm8Z9vCX7i5Ga7j5xrW8t11nsb1Cgpnx#laser-madam-maxwell +-- AlphaNumLodash := urn:ubideco:semid:8iBe2dh8beD1KUairdqCacEcxAr4h55XfUQN2PspWXjz#north-sound-salsa -import degree_boston_heart_DVtm25LRKU4TjbyZmVxPhvCmctZ6vKkPKqfpU2QsDNUo as AluVM +import urn:ubideco:stl:DVtm25LRKU4TjbyZmVxPhvCmctZ6vKkPKqfpU2QsDNUo#exodus-axiom-tommy as AluVM -- Imports: --- LibSite := ContactYellowVision08Q9NNyK2PCcjZ7U7rDGUJBhk8q37hAnWLgSizGLmr56g --- LibId := ExhibitBostonArthur0CFdqBJb1FVEwSwuQp47acj2bCFJgJn9J9NKVdoZuG625 +-- LibSite := urn:ubideco:semid:8Q9NNyK2PCcjZ7U7rDGUJBhk8q37hAnWLgSizGLmr56g#mission-papa-mercy +-- LibId := urn:ubideco:semid:CFdqBJb1FVEwSwuQp47acj2bCFJgJn9J9NKVdoZuG625#rebel-factor-rodeo --- CitizenViolinDemand0HY3eLsRNY5hopA2PpgYtA3Gx4ZgEjtKGUCnbN8tjDXfY -data ArgSpec :: name StrictTypes.FieldName {- SecureJupiterDemo0CK7zqXpkDGwatYDy1bVHoARAq1xTi85DFueWrZdFE7du -}?, req RGB.Occurrences {- TitanicRubberEscape04gjtVBchJQ5f1aAzoyxYWeGp6qZi9dPudJCbWKYKhw1a -} --- EdgarMemberClock0DjdTdfhz2z3bEawRNTGFRFyuvmrC8WFnsgBZGfWmYoPM +-- urn:ubideco:semid:HY3eLsRNY5hopA2PpgYtA3Gx4ZgEjtKGUCnbN8tjDXfY#second-eagle-father +data ArgSpec :: name StrictTypes.FieldName {- urn:ubideco:semid:CK7zqXpkDGwatYDy1bVHoARAq1xTi85DFueWrZdFE7du#orient-spell-talent -}?, req RGB.Occurrences {- urn:ubideco:semid:4gjtVBchJQ5f1aAzoyxYWeGp6qZi9dPudJCbWKYKhw1a#unicorn-empire-mama -} +-- urn:ubideco:semid:DjdTdfhz2z3bEawRNTGFRFyuvmrC8WFnsgBZGfWmYoPM#galileo-stuart-night data AssignIface :: ownedState OwnedIface - , public Std.Bool {- FashionSharpRodeo07ZhBHGSJm9ixmm8Z9vCX7i5Ga7j5xrW8t11nsb1Cgpnx -} - , required Std.Bool {- FashionSharpRodeo07ZhBHGSJm9ixmm8Z9vCX7i5Ga7j5xrW8t11nsb1Cgpnx -} - , multiple Std.Bool {- FashionSharpRodeo07ZhBHGSJm9ixmm8Z9vCX7i5Ga7j5xrW8t11nsb1Cgpnx -} --- BalsaLicenseArthur086jgudF9LyMs3LUmADKSdsoXJ8XC4EinnwSvaGqZPRCK + , public Std.Bool {- urn:ubideco:semid:7ZhBHGSJm9ixmm8Z9vCX7i5Ga7j5xrW8t11nsb1Cgpnx#laser-madam-maxwell -} + , required Std.Bool {- urn:ubideco:semid:7ZhBHGSJm9ixmm8Z9vCX7i5Ga7j5xrW8t11nsb1Cgpnx#laser-madam-maxwell -} + , multiple Std.Bool {- urn:ubideco:semid:7ZhBHGSJm9ixmm8Z9vCX7i5Ga7j5xrW8t11nsb1Cgpnx#laser-madam-maxwell -} +-- urn:ubideco:semid:86jgudF9LyMs3LUmADKSdsoXJ8XC4EinnwSvaGqZPRCK#cipher-cafe-koala data Cert :: signer Identity, signature [Byte ^ ..0xff] --- CupidReplySweden0GcLLWEoeqNfVfGjaiDjTu7UCyJxfD3eQCqFJ7mLsyVB3 +-- urn:ubideco:semid:GcLLWEoeqNfVfGjaiDjTu7UCyJxfD3eQCqFJ7mLsyVB3#lima-husband-acid data Consignmentfalse :: version ContainerVer - , transfer Std.Bool {- FashionSharpRodeo07ZhBHGSJm9ixmm8Z9vCX7i5Ga7j5xrW8t11nsb1Cgpnx -} - , schema RGB.SchemaSchema {- HotelKarlBarbara07EHzDDj8E6STpb7ahNW1NdW7477NKCjmpQvXWJKr14dL -} + , transfer Std.Bool {- urn:ubideco:semid:7ZhBHGSJm9ixmm8Z9vCX7i5Ga7j5xrW8t11nsb1Cgpnx#laser-madam-maxwell -} + , schema RGB.SchemaSchema {- urn:ubideco:semid:7EHzDDj8E6STpb7ahNW1NdW7477NKCjmpQvXWJKr14dL#ninja-alfonso-safari -} , ifaces {IfaceId -> ^ ..0xff IfacePair} , supplements {ContractSuppl ^ ..0xff} - , genesis RGB.Genesis {- SidePeoplePrivate09V1wj2QXbzHckbywWoHpmNysNKwU5ZNjAFFAm1wscuvo -} + , genesis RGB.Genesis {- urn:ubideco:semid:9V1wj2QXbzHckbywWoHpmNysNKwU5ZNjAFFAm1wscuvo#unit-provide-jacket -} , terminals {RGB.BundleId -> Terminal} - , bundles [RGB.AnchoredBundle {- AugustInfoEnigma03ETnGBHVsVniah6iRG7ofhk5BUmpvVwfVAVawoPXxaJQ -} ^ ..0xffffffff] - , extensions [RGB.Extension {- PythonCastroEarth0CbL9bmsun7ik6S6scQdeLtBh7XS7oHMqJvV1tt4sUykw -} ^ ..0xffffffff] + , bundles [RGB.AnchoredBundle {- urn:ubideco:semid:3ETnGBHVsVniah6iRG7ofhk5BUmpvVwfVAVawoPXxaJQ#blonde-thomas-zodiac -} ^ ..0xffffffff] + , extensions [RGB.Extension {- urn:ubideco:semid:CbL9bmsun7ik6S6scQdeLtBh7XS7oHMqJvV1tt4sUykw#spain-montana-diet -} ^ ..0xffffffff] , attachments {RGB.AttachId -> [Byte ^ ..0xffffff]} , signatures {ContentId -> ^ ..0xff ContentSigs} --- BraveSparkRadar08oS1qHELsxasDN12CfLg7qXmf6vmHLfi4QZG8AtpcUF1 +-- urn:ubideco:semid:8oS1qHELsxasDN12CfLg7qXmf6vmHLfi4QZG8AtpcUF1#talent-brown-future data Consignmenttrue :: version ContainerVer - , transfer Std.Bool {- FashionSharpRodeo07ZhBHGSJm9ixmm8Z9vCX7i5Ga7j5xrW8t11nsb1Cgpnx -} - , schema RGB.SchemaSchema {- HotelKarlBarbara07EHzDDj8E6STpb7ahNW1NdW7477NKCjmpQvXWJKr14dL -} + , transfer Std.Bool {- urn:ubideco:semid:7ZhBHGSJm9ixmm8Z9vCX7i5Ga7j5xrW8t11nsb1Cgpnx#laser-madam-maxwell -} + , schema RGB.SchemaSchema {- urn:ubideco:semid:7EHzDDj8E6STpb7ahNW1NdW7477NKCjmpQvXWJKr14dL#ninja-alfonso-safari -} , ifaces {IfaceId -> ^ ..0xff IfacePair} , supplements {ContractSuppl ^ ..0xff} - , genesis RGB.Genesis {- SidePeoplePrivate09V1wj2QXbzHckbywWoHpmNysNKwU5ZNjAFFAm1wscuvo -} + , genesis RGB.Genesis {- urn:ubideco:semid:9V1wj2QXbzHckbywWoHpmNysNKwU5ZNjAFFAm1wscuvo#unit-provide-jacket -} , terminals {RGB.BundleId -> Terminal} - , bundles [RGB.AnchoredBundle {- AugustInfoEnigma03ETnGBHVsVniah6iRG7ofhk5BUmpvVwfVAVawoPXxaJQ -} ^ ..0xffffffff] - , extensions [RGB.Extension {- PythonCastroEarth0CbL9bmsun7ik6S6scQdeLtBh7XS7oHMqJvV1tt4sUykw -} ^ ..0xffffffff] + , bundles [RGB.AnchoredBundle {- urn:ubideco:semid:3ETnGBHVsVniah6iRG7ofhk5BUmpvVwfVAVawoPXxaJQ#blonde-thomas-zodiac -} ^ ..0xffffffff] + , extensions [RGB.Extension {- urn:ubideco:semid:CbL9bmsun7ik6S6scQdeLtBh7XS7oHMqJvV1tt4sUykw#spain-montana-diet -} ^ ..0xffffffff] , attachments {RGB.AttachId -> [Byte ^ ..0xffffff]} , signatures {ContentId -> ^ ..0xff ContentSigs} --- PupilSurviveMustang05eCVpHCA1jD5tyAShYzaqKsjnA9v3MDdSn3BdrYmxT1S +-- urn:ubideco:semid:5eCVpHCA1jD5tyAShYzaqKsjnA9v3MDdSn3BdrYmxT1S#triton-inch-mercy data ContainerVer :: v1:1 --- GoodShampooSlow0AqKqKaMnycyrbZChBgashuAKJqSoi8GCkHhdwjpW9g79 -data ContentId :: schema RGB.SchemaId {- SalaryPlasterNickel0AyzbMn4ux89LLU8ho1L4pQa5TXsmRdHd79oh6SXdrCmd -} - | genesis RGB.ContractId {- PaintTelexJames0Bho42Xw8wPy2nWxgz6H51rNdBBusaPyrVQT8VypvpZ3w -} +-- urn:ubideco:semid:AqKqKaMnycyrbZChBgashuAKJqSoi8GCkHhdwjpW9g79#jargon-brown-family +data ContentId :: schema RGB.SchemaId {- urn:ubideco:semid:AyzbMn4ux89LLU8ho1L4pQa5TXsmRdHd79oh6SXdrCmd#garcia-smoke-ozone -} + | genesis RGB.ContractId {- urn:ubideco:semid:Bho42Xw8wPy2nWxgz6H51rNdBBusaPyrVQT8VypvpZ3w#alarm-danube-vampire -} | iface IfaceId | ifaceImpl ImplId | suppl SupplId --- CycloneDiplomaBalance072v5XvfiTB7HJinscrxy5ZTa4PwubG9YCtkK8JQt7F5B +-- urn:ubideco:semid:72v5XvfiTB7HJinscrxy5ZTa4PwubG9YCtkK8JQt7F5B#denver-almanac-cobalt data ContentSigs :: {Cert ^ 1..0xa} --- OrinocoFlipperChemist0EKtbad4kkThMRxipnLapW6xzsv24wQmQfrZZheTq4ZLG -data ContractSuppl :: contractId RGB.ContractId {- PaintTelexJames0Bho42Xw8wPy2nWxgz6H51rNdBBusaPyrVQT8VypvpZ3w -} +-- urn:ubideco:semid:EKtbad4kkThMRxipnLapW6xzsv24wQmQfrZZheTq4ZLG#voice-moses-jargon +data ContractSuppl :: contractId RGB.ContractId {- urn:ubideco:semid:Bho42Xw8wPy2nWxgz6H51rNdBBusaPyrVQT8VypvpZ3w#alarm-danube-vampire -} , ticker TickerSuppl , mediaKit [Unicode ^ ..0xff] , globalState {U16 -> ^ ..0xff OwnedStateSuppl} , ownedState {U16 -> ^ ..0xff OwnedStateSuppl} , extensions {U16 -> ^ ..0xff [Byte]} --- JeepBettyHarris05hdbfQi2n8ZbFK1RHbDrxmGpfdGdRxQ5Nffh1HVRWL1x -data ExtensionIface :: metadata StrictTypes.SemId {- StandMailboxBaboon08Ckj2p3GLKina636pSKJkj7GB6ft8XeoP4jfGkRUNwtp -}? +-- urn:ubideco:semid:5hdbfQi2n8ZbFK1RHbDrxmGpfdGdRxQ5Nffh1HVRWL1x#picnic-abraham-postal +data ExtensionIface :: metadata StrictTypes.SemId {- urn:ubideco:semid:8Ckj2p3GLKina636pSKJkj7GB6ft8XeoP4jfGkRUNwtp#cargo-plasma-catalog -}? , globals {StrictTypes.FieldName -> ^ ..0xff ArgSpec} , redeems {StrictTypes.FieldName -> ^ ..0xff ArgSpec} , assignments {StrictTypes.FieldName -> ^ ..0xff ArgSpec} , valencies {StrictTypes.FieldName -> ^ ..0xff ArgSpec} , errors {U8 ^ ..0xff} --- MorphRemoteEternal0DHRNGrBkjKzS44bGZKfqemimYTs4gPYtS2Sbn7YDczZw -data GenesisIface :: metadata StrictTypes.SemId {- StandMailboxBaboon08Ckj2p3GLKina636pSKJkj7GB6ft8XeoP4jfGkRUNwtp -}? +-- urn:ubideco:semid:DHRNGrBkjKzS44bGZKfqemimYTs4gPYtS2Sbn7YDczZw#shine-farmer-unicorn +data GenesisIface :: metadata StrictTypes.SemId {- urn:ubideco:semid:8Ckj2p3GLKina636pSKJkj7GB6ft8XeoP4jfGkRUNwtp#cargo-plasma-catalog -}? , global {StrictTypes.FieldName -> ^ ..0xff ArgSpec} , assignments {StrictTypes.FieldName -> ^ ..0xff ArgSpec} , valencies {StrictTypes.FieldName -> ^ ..0xff ArgSpec} , errors {U8 ^ ..0xff} --- BinaryCinemaCrystal0EbfE9hKA1d6DNd6ziJGpNFy7SdcuirZeLD6SDKtscsaB -data GlobalIface :: semId StrictTypes.SemId {- StandMailboxBaboon08Ckj2p3GLKina636pSKJkj7GB6ft8XeoP4jfGkRUNwtp -}? - , required Std.Bool {- FashionSharpRodeo07ZhBHGSJm9ixmm8Z9vCX7i5Ga7j5xrW8t11nsb1Cgpnx -} - , multiple Std.Bool {- FashionSharpRodeo07ZhBHGSJm9ixmm8Z9vCX7i5Ga7j5xrW8t11nsb1Cgpnx -} --- TobaccoDollarNeon0E3ntt6pxCqzXgJoqcM3471BBPLddnKcEGsdD3mYAkz5h +-- urn:ubideco:semid:EbfE9hKA1d6DNd6ziJGpNFy7SdcuirZeLD6SDKtscsaB#garbo-justice-atomic +data GlobalIface :: semId StrictTypes.SemId {- urn:ubideco:semid:8Ckj2p3GLKina636pSKJkj7GB6ft8XeoP4jfGkRUNwtp#cargo-plasma-catalog -}? + , required Std.Bool {- urn:ubideco:semid:7ZhBHGSJm9ixmm8Z9vCX7i5Ga7j5xrW8t11nsb1Cgpnx#laser-madam-maxwell -} + , multiple Std.Bool {- urn:ubideco:semid:7ZhBHGSJm9ixmm8Z9vCX7i5Ga7j5xrW8t11nsb1Cgpnx#laser-madam-maxwell -} +-- urn:ubideco:semid:E3ntt6pxCqzXgJoqcM3471BBPLddnKcEGsdD3mYAkz5h#ibiza-nuclear-vision data IdSuite :: pgp:0 | ssh:1 | ssi:2 --- MediaBatterySquare0CmXRCb4c5xKzEFKE15fb9ZWPabVYtYVWvBPMzx7X6owu +-- urn:ubideco:semid:CmXRCb4c5xKzEFKE15fb9ZWPabVYtYVWvBPMzx7X6owu#voice-mentor-fidel data Identity :: name [Unicode ^ ..0xff] - , email [Std.Ascii {- SmilePlasticJudge02NFrhqQqGNDA4HujyTW2pmcjtrN5sbtFfpPFXPPYcGER -} ^ ..0xff] + , email [Std.Ascii {- urn:ubideco:semid:2NFrhqQqGNDA4HujyTW2pmcjtrN5sbtFfpPFXPPYcGER#aloha-lunar-felix -} ^ ..0xff] , suite IdSuite , pk [Byte ^ ..0xff] --- BinaryRajaMartin075KKsx72QaxQeXhxCBUteWiPTDsqDVYgLy5pnG8Ktd36 +-- urn:ubideco:semid:75KKsx72QaxQeXhxCBUteWiPTDsqDVYgLy5pnG8Ktd36#aurora-salon-elegant data Iface :: version VerNo - , name StrictTypes.TypeName {- RemarkSecondAxis0t47Qbd4ggmas4GmrE6oxCSyKBsosvGNtiXc2B2tuvUo -} + , name StrictTypes.TypeName {- urn:ubideco:semid:t47Qbd4ggmas4GmrE6oxCSyKBsosvGNtiXc2B2tuvUo#jamaica-capsule-chance -} , globalState {StrictTypes.FieldName -> ^ ..0xff GlobalIface} , assignments {StrictTypes.FieldName -> ^ ..0xff AssignIface} , valencies {StrictTypes.FieldName -> ^ ..0xff ValencyIface} , genesis GenesisIface , transitions {StrictTypes.TypeName -> ^ ..0xff TransitionIface} , extensions {StrictTypes.TypeName -> ^ ..0xff ExtensionIface} - , errorType StrictTypes.SemId {- StandMailboxBaboon08Ckj2p3GLKina636pSKJkj7GB6ft8XeoP4jfGkRUNwtp -} - , defaultOperation StrictTypes.TypeName {- RemarkSecondAxis0t47Qbd4ggmas4GmrE6oxCSyKBsosvGNtiXc2B2tuvUo -}? - , typeSystem StrictTypes.TypeSystem {- GregoryAthleteHazard047es12nMYaA5M7zMejQHAydsRPW6juta8ensLigXMBDP -} --- SwitchAlpineFrank052QNQSVnH2xebirNQPAZDMCF7Qbn2xD8jsLuAauDr6cg + , errorType StrictTypes.SemId {- urn:ubideco:semid:8Ckj2p3GLKina636pSKJkj7GB6ft8XeoP4jfGkRUNwtp#cargo-plasma-catalog -} + , defaultOperation StrictTypes.TypeName {- urn:ubideco:semid:t47Qbd4ggmas4GmrE6oxCSyKBsosvGNtiXc2B2tuvUo#jamaica-capsule-chance -}? + , typeSystem StrictTypes.TypeSystem {- urn:ubideco:semid:47es12nMYaA5M7zMejQHAydsRPW6juta8ensLigXMBDP#linda-yellow-rival -} +-- urn:ubideco:semid:52QNQSVnH2xebirNQPAZDMCF7Qbn2xD8jsLuAauDr6cg#vendor-polite-gong data IfaceId :: [Byte ^ 32] --- MayorPretendNorth0DQQFgzbXJJSiDJxPxsJB83GBoTx1BSas3VzEW9wDxFwP +-- urn:ubideco:semid:DQQFgzbXJJSiDJxPxsJB83GBoTx1BSas3VzEW9wDxFwP#school-nurse-theory data IfaceImpl :: version VerNo - , schemaId RGB.SchemaId {- SalaryPlasterNickel0AyzbMn4ux89LLU8ho1L4pQa5TXsmRdHd79oh6SXdrCmd -} + , schemaId RGB.SchemaId {- urn:ubideco:semid:AyzbMn4ux89LLU8ho1L4pQa5TXsmRdHd79oh6SXdrCmd#garcia-smoke-ozone -} , ifaceId IfaceId , globalState {NamedFieldu16 ^ ..0xff} , assignments {NamedFieldu16 ^ ..0xff} , valencies {NamedFieldu16 ^ ..0xff} , transitions {NamedTypeu16 ^ ..0xff} , extensions {NamedFieldu16 ^ ..0xff} - , script RGB.Script {- FiberDollarWelcome0ELHJ2Y2csp6kKFC4wrnfB4izSAqMk8iyTBqrotVJxePu -} --- StrongPupilRebel0GzuXT5XJx9LUwddxQDx88AUwhbcGGevJxdYBY1z6jJMc + , script RGB.Script {- urn:ubideco:semid:ELHJ2Y2csp6kKFC4wrnfB4izSAqMk8iyTBqrotVJxePu#club-melody-america -} +-- urn:ubideco:semid:GzuXT5XJx9LUwddxQDx88AUwhbcGGevJxdYBY1z6jJMc#electra-scale-joel data IfacePair :: iface Iface, iimpl IfaceImpl --- PackageJimmyModern06qkzo8WTcgXTd3Ky5H2BzPppZmM5Ah4h5VrKL3oj3YTC +-- urn:ubideco:semid:6qkzo8WTcgXTd3Ky5H2BzPppZmM5Ah4h5VrKL3oj3YTC#monday-igloo-jupiter data ImplId :: [Byte ^ 32] --- ComplexFameRodent0GAyqqkyfxscSsgv5tpX9cjPS5kHEiEwDHZufKfv5ZQv1 +-- urn:ubideco:semid:GAyqqkyfxscSsgv5tpX9cjPS5kHEiEwDHZufKfv5ZQv1#monica-chicago-slogan data NamedFieldu16 :: id U16 - , name StrictTypes.FieldName {- SecureJupiterDemo0CK7zqXpkDGwatYDy1bVHoARAq1xTi85DFueWrZdFE7du -} + , name StrictTypes.FieldName {- urn:ubideco:semid:CK7zqXpkDGwatYDy1bVHoARAq1xTi85DFueWrZdFE7du#orient-spell-talent -} , reserved ReservedBytes04 --- VaticanWinterCapsule0HRMx2TTRXNsN5NS4HmMdhvfUtjdRWzdvQNv8oJTeXDb9 +-- urn:ubideco:semid:HRMx2TTRXNsN5NS4HmMdhvfUtjdRWzdvQNv8oJTeXDb9#roman-donald-vienna data NamedTypeu16 :: id U16 - , name StrictTypes.TypeName {- RemarkSecondAxis0t47Qbd4ggmas4GmrE6oxCSyKBsosvGNtiXc2B2tuvUo -} + , name StrictTypes.TypeName {- urn:ubideco:semid:t47Qbd4ggmas4GmrE6oxCSyKBsosvGNtiXc2B2tuvUo#jamaica-capsule-chance -} , reserved ReservedBytes04 --- OpticVodkaChief0FwsWZTTTm4q6hMq7GbrB73GhcXZUNEv6oBURryVw8aBT +-- urn:ubideco:semid:FwsWZTTTm4q6hMq7GbrB73GhcXZUNEv6oBURryVw8aBT#contact-remote-popular data OwnedIface :: any () | rights () | amount () | anyData () | anyAttach () - | data StrictTypes.SemId {- StandMailboxBaboon08Ckj2p3GLKina636pSKJkj7GB6ft8XeoP4jfGkRUNwtp -} --- ProtectAdmiralOrlando08rU6hg7dnXQTopDKYzXDL1UEmcuirpu3uCEX9857xEei + | data StrictTypes.SemId {- urn:ubideco:semid:8Ckj2p3GLKina636pSKJkj7GB6ft8XeoP4jfGkRUNwtp#cargo-plasma-catalog -} +-- urn:ubideco:semid:8rU6hg7dnXQTopDKYzXDL1UEmcuirpu3uCEX9857xEei#office-hexagon-exile data OwnedStateSuppl :: meaning [Unicode ^ ..0xff], velocity VelocityHint --- PacificPaulHeavy05HES1VJpcPYGdN1nCiR2Xwh7NtXCLZ4DAX5kNDGAQtRh +-- urn:ubideco:semid:5HES1VJpcPYGdN1nCiR2Xwh7NtXCLZ4DAX5kNDGAQtRh#clinic-popular-perfume data ReservedBytes04 :: [Byte ^ 4] --- JudoOliverAppear07wqgZas6f6Y7jWyDzLNxCeGEM8NXppB1f1gZNvNHJD72 +-- urn:ubideco:semid:7wqgZas6f6Y7jWyDzLNxCeGEM8NXppB1f1gZNvNHJD72#partner-austin-dinner data SupplId :: [Byte ^ 32] --- FormatMeteorQuarter0GuyF1LFJXz4QXx6ZCLMb4oUQx2EJUns6pEcF1QA89Bjq -data Terminal :: seals {TerminalSeal}, tx Bitcoin.Tx {- NirvanaIndexValue03mUkHyR4gPvDPa1XwwGoUQzEFKx8ESnf79L2QNxG1YjZ -}? --- InfantNoiseDynasty0JAifr7qtesSzZCMJ4Hymyb755CV1i7xxRPRNu6TKrUB7 -data TerminalSeal :: concealedUtxo BPCore.SecretSeal {- VocalWinterMango081NKrdc9pBoBjsKaGBVN9wXLG4tKjkK4f8DLj7TNMZxh -} +-- urn:ubideco:semid:GuyF1LFJXz4QXx6ZCLMb4oUQx2EJUns6pEcF1QA89Bjq#tropic-bread-present +data Terminal :: seals {TerminalSeal}, tx Bitcoin.Tx {- urn:ubideco:semid:3mUkHyR4gPvDPa1XwwGoUQzEFKx8ESnf79L2QNxG1YjZ#plaza-ventura-marina -}? +-- urn:ubideco:semid:JAifr7qtesSzZCMJ4Hymyb755CV1i7xxRPRNu6TKrUB7#battery-cecilia-politic +data TerminalSeal :: concealedUtxo BPCore.SecretSeal {- urn:ubideco:semid:81NKrdc9pBoBjsKaGBVN9wXLG4tKjkK4f8DLj7TNMZxh#santana-domingo-needle -} | witnessVout VoutSeal --- PeaceDeclareAladdin0Bvn1R4ooghWocfcuVPmRQn49bKurFgYDYDNrAwdWqrMz +-- urn:ubideco:semid:Bvn1R4ooghWocfcuVPmRQn49bKurFgYDYDNrAwdWqrMz#evening-decade-join data TickerSuppl :: absent () - | global (U16, StrictTypes.Path {- ForwardNepalRose0FiLcRn8DtH8UBS4ByqmSWX6XbCaDShkRU3Wf6i9yzDFV -}) - | owned (U16, StrictTypes.Path {- ForwardNepalRose0FiLcRn8DtH8UBS4ByqmSWX6XbCaDShkRU3Wf6i9yzDFV -}) --- ConcertCharmFlood05cWnhGcxuQfytMcofdipucz16e331MZvic5LfrqyFqti -data TransitionIface :: optional Std.Bool {- FashionSharpRodeo07ZhBHGSJm9ixmm8Z9vCX7i5Ga7j5xrW8t11nsb1Cgpnx -} - , metadata StrictTypes.SemId {- StandMailboxBaboon08Ckj2p3GLKina636pSKJkj7GB6ft8XeoP4jfGkRUNwtp -}? + | global (U16, StrictTypes.Path {- urn:ubideco:semid:FiLcRn8DtH8UBS4ByqmSWX6XbCaDShkRU3Wf6i9yzDFV#exotic-western-courage -}) + | owned (U16, StrictTypes.Path {- urn:ubideco:semid:FiLcRn8DtH8UBS4ByqmSWX6XbCaDShkRU3Wf6i9yzDFV#exotic-western-courage -}) +-- urn:ubideco:semid:5cWnhGcxuQfytMcofdipucz16e331MZvic5LfrqyFqti#stage-limbo-monday +data TransitionIface :: optional Std.Bool {- urn:ubideco:semid:7ZhBHGSJm9ixmm8Z9vCX7i5Ga7j5xrW8t11nsb1Cgpnx#laser-madam-maxwell -} + , metadata StrictTypes.SemId {- urn:ubideco:semid:8Ckj2p3GLKina636pSKJkj7GB6ft8XeoP4jfGkRUNwtp#cargo-plasma-catalog -}? , globals {StrictTypes.FieldName -> ^ ..0xff ArgSpec} , inputs {StrictTypes.FieldName -> ^ ..0xff ArgSpec} , assignments {StrictTypes.FieldName -> ^ ..0xff ArgSpec} , valencies {StrictTypes.FieldName -> ^ ..0xff ArgSpec} , errors {U8 ^ ..0xff} - , defaultAssignment StrictTypes.FieldName {- SecureJupiterDemo0CK7zqXpkDGwatYDy1bVHoARAq1xTi85DFueWrZdFE7du -}? --- JournalSagaArsenal0CVFia8CcZNgpc239exqbPFHFKQ1X5HRbDQg7HJyYCH5V -data ValencyIface :: required Std.Bool {- FashionSharpRodeo07ZhBHGSJm9ixmm8Z9vCX7i5Ga7j5xrW8t11nsb1Cgpnx -}, multiple Std.Bool {- FashionSharpRodeo07ZhBHGSJm9ixmm8Z9vCX7i5Ga7j5xrW8t11nsb1Cgpnx -} --- PearlCloneSalsa0gFPDQERRmzxnwJxQzqhJ317oFZo3mCKZxfT6ctJraaB + , defaultAssignment StrictTypes.FieldName {- urn:ubideco:semid:CK7zqXpkDGwatYDy1bVHoARAq1xTi85DFueWrZdFE7du#orient-spell-talent -}? +-- urn:ubideco:semid:CVFia8CcZNgpc239exqbPFHFKQ1X5HRbDQg7HJyYCH5V#state-mayor-concert +data ValencyIface :: required Std.Bool {- urn:ubideco:semid:7ZhBHGSJm9ixmm8Z9vCX7i5Ga7j5xrW8t11nsb1Cgpnx#laser-madam-maxwell -}, multiple Std.Bool {- urn:ubideco:semid:7ZhBHGSJm9ixmm8Z9vCX7i5Ga7j5xrW8t11nsb1Cgpnx#laser-madam-maxwell -} +-- urn:ubideco:semid:gFPDQERRmzxnwJxQzqhJ317oFZo3mCKZxfT6ctJraaB#textile-politic-harris data VelocityHint :: unspecified:0 | seldom:15 | episodic:31 | regular:63 | frequent:127 | highFrequency:255 --- GossipSopranoAddress02ZMrVLDxropVRovn6w94JfHRdCFei1ZaXY7amc5SgLrt +-- urn:ubideco:semid:2ZMrVLDxropVRovn6w94JfHRdCFei1ZaXY7amc5SgLrt#brazil-kilo-alaska data VerNo :: v1:0 --- RobertSwingTaboo0Ci6sNkabMUjAk71yBDxmFaHnuhZ1HWT9SGFmW34KWn5G -data VoutSeal :: method BPCore.CloseMethod {- AlertCloudArchive0FA1JhsEFKi2LLpuAjuvLA3qiBuEJrwpKyypB9J2aPicr -} - , vout Bitcoin.Vout {- OpusDecadeExample03HHRtSJW5fnGkdVW1EVDH7B97Y79WhwvKyyfsaBkuQkk -} +-- urn:ubideco:semid:Ci6sNkabMUjAk71yBDxmFaHnuhZ1HWT9SGFmW34KWn5G#social-mirage-resume +data VoutSeal :: method BPCore.CloseMethod {- urn:ubideco:semid:FA1JhsEFKi2LLpuAjuvLA3qiBuEJrwpKyypB9J2aPicr#july-salmon-contact -} + , vout Bitcoin.Vout {- urn:ubideco:semid:3HHRtSJW5fnGkdVW1EVDH7B97Y79WhwvKyyfsaBkuQkk#chrome-robin-gallop -} , blinding U64 From 112609e3a17da404bd83b712f52416641bfb9a7e Mon Sep 17 00:00:00 2001 From: Maxim Orlovsky Date: Mon, 24 Jul 2023 04:27:29 +0200 Subject: [PATCH 11/14] iface: upgrade interface and implementation ids to use Baid58 v0.4 URNs --- std/src/containers/bindle.rs | 2 +- std/src/interface/iface.rs | 23 ++++++++++++++--------- std/src/interface/iimpl.rs | 23 ++++++++++++++--------- std/tests/data/rgb20.rgba | 2 +- std/tests/data/rgb21.rgba | 2 +- std/tests/data/rgb25.rgba | 2 +- 6 files changed, 32 insertions(+), 22 deletions(-) diff --git a/std/src/containers/bindle.rs b/std/src/containers/bindle.rs index 7335bfcf..65771d8b 100644 --- a/std/src/containers/bindle.rs +++ b/std/src/containers/bindle.rs @@ -244,7 +244,7 @@ impl FromStr for Bindle { impl Display for Bindle { fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { writeln!(f, "-----BEGIN {}-----", C::PLATE_TITLE)?; - writeln!(f, "Id: {}", self.id)?; + writeln!(f, "Id: {:-}", self.id)?; for (header, value) in self.bindle_headers() { writeln!(f, "{header}: {value}")?; } diff --git a/std/src/interface/iface.rs b/std/src/interface/iface.rs index 13d6bc7b..e47df162 100644 --- a/std/src/interface/iface.rs +++ b/std/src/interface/iface.rs @@ -20,6 +20,7 @@ // limitations under the License. use std::cmp::Ordering; +use std::fmt::{self, Display, Formatter}; use std::str::FromStr; use amplify::confinement::{TinyOrdMap, TinyOrdSet}; @@ -39,9 +40,8 @@ use crate::LIB_NAME_RGB_STD; /// Interface identifier. /// /// Interface identifier commits to all of the interface data. -#[derive(Wrapper, Copy, Clone, Ord, PartialOrd, Eq, PartialEq, Hash, Debug, Display, From)] +#[derive(Wrapper, Copy, Clone, Ord, PartialOrd, Eq, PartialEq, Hash, Debug, From)] #[wrapper(Deref, BorrowSlice, Hex, Index, RangeOps)] -#[display(Self::to_baid58_string)] #[derive(StrictType, StrictDumb, StrictEncode, StrictDecode)] #[strict_type(lib = LIB_NAME_RGB_STD)] #[cfg_attr( @@ -56,19 +56,24 @@ pub struct IfaceId( ); impl ToBaid58<32> for IfaceId { - const HRI: &'static str = "rgb-ifc"; + const HRI: &'static str = "if"; fn to_baid58_payload(&self) -> [u8; 32] { self.to_raw_array() } } impl FromBaid58<32> for IfaceId {} - -impl IfaceId { - #[allow(clippy::wrong_self_convention)] - fn to_baid58_string(&self) -> String { format!("{}", self.to_baid58()) } +impl Display for IfaceId { + fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result { + if f.sign_minus() { + write!(f, "urn:lnp-bp:{::<}", self.to_baid58()) + } else { + write!(f, "urn:lnp-bp:{::<#}", self.to_baid58()) + } + } } - impl FromStr for IfaceId { type Err = Baid58ParseError; - fn from_str(s: &str) -> Result { Self::from_baid58_str(s) } + fn from_str(s: &str) -> Result { + Self::from_baid58_str(s.trim_start_matches("urn:lnp-bp:")) + } } #[derive(Copy, Clone, Ord, PartialOrd, Eq, PartialEq, Hash, Debug)] diff --git a/std/src/interface/iimpl.rs b/std/src/interface/iimpl.rs index 543e516f..9eca4f17 100644 --- a/std/src/interface/iimpl.rs +++ b/std/src/interface/iimpl.rs @@ -19,6 +19,7 @@ // See the License for the specific language governing permissions and // limitations under the License. +use std::fmt::{self, Display, Formatter}; use std::str::FromStr; use amplify::confinement::{TinyOrdMap, TinyOrdSet}; @@ -41,9 +42,8 @@ use crate::{ReservedBytes, LIB_NAME_RGB_STD}; /// Interface identifier. /// /// Interface identifier commits to all of the interface data. -#[derive(Wrapper, Copy, Clone, Ord, PartialOrd, Eq, PartialEq, Hash, Debug, Display, From)] +#[derive(Wrapper, Copy, Clone, Ord, PartialOrd, Eq, PartialEq, Hash, Debug, From)] #[wrapper(Deref, BorrowSlice, Hex, Index, RangeOps)] -#[display(Self::to_baid58_string)] #[derive(StrictType, StrictDumb, StrictEncode, StrictDecode)] #[strict_type(lib = LIB_NAME_RGB_STD)] #[cfg_attr( @@ -58,19 +58,24 @@ pub struct ImplId( ); impl ToBaid58<32> for ImplId { - const HRI: &'static str = "rgb-impl"; + const HRI: &'static str = "im"; fn to_baid58_payload(&self) -> [u8; 32] { self.to_raw_array() } } impl FromBaid58<32> for ImplId {} - -impl ImplId { - #[allow(clippy::wrong_self_convention)] - fn to_baid58_string(&self) -> String { format!("{}", self.to_baid58()) } +impl Display for ImplId { + fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result { + if f.sign_minus() { + write!(f, "urn:lnp-bp:{::<}", self.to_baid58()) + } else { + write!(f, "urn:lnp-bp:{::<#}", self.to_baid58()) + } + } } - impl FromStr for ImplId { type Err = Baid58ParseError; - fn from_str(s: &str) -> Result { Self::from_baid58_str(s) } + fn from_str(s: &str) -> Result { + Self::from_baid58_str(s.trim_start_matches("urn:lnp-bp:")) + } } /// Maps certain form of type id (global or owned state or a valency) to a diff --git a/std/tests/data/rgb20.rgba b/std/tests/data/rgb20.rgba index af1c9400..34cc3c07 100644 --- a/std/tests/data/rgb20.rgba +++ b/std/tests/data/rgb20.rgba @@ -1,5 +1,5 @@ -----BEGIN RGB INTERFACE----- -Id: 48hc4im9JRcYQAuUSzwFCKVNEa9eZfnhepU8QJpqosXS +Id: urn:lnp-bp:if:48hc4im9JRcYQAuUSzwFCKVNEa9eZfnhepU8QJpqosXS Name: RGB20 AAVSR0IyMAYMYnVybmVkU3VwcGx5AYiMWGVjOvE7lbfNGo2K8trB3BQLl3JR2dTa diff --git a/std/tests/data/rgb21.rgba b/std/tests/data/rgb21.rgba index 958927b5..e01f6b43 100644 --- a/std/tests/data/rgb21.rgba +++ b/std/tests/data/rgb21.rgba @@ -1,5 +1,5 @@ -----BEGIN RGB INTERFACE----- -Id: Gh8n563qRmBcQeC9eKjAnEk3m6HvAqCWZcF1XPmGvSY +Id: urn:lnp-bp:if:Gh8n563qRmBcQeC9eKjAnEk3m6HvAqCWZcF1XPmGvSY Name: RGB21 AAVSR0IyMQYPYXR0YWNobWVudFR5cGVzAQhnVPQXicO5NRI0M9lZqkxUQRkLwpjh diff --git a/std/tests/data/rgb25.rgba b/std/tests/data/rgb25.rgba index 6bd32451..d1e99700 100644 --- a/std/tests/data/rgb25.rgba +++ b/std/tests/data/rgb25.rgba @@ -1,5 +1,5 @@ -----BEGIN RGB INTERFACE----- -Id: HtmXPmVegosLhHMKHUJPCH7much7x6fXZMYwz3dGqZnb +Id: urn:lnp-bp:if:HtmXPmVegosLhHMKHUJPCH7much7x6fXZMYwz3dGqZnb Name: RGB25 AAVSR0IyNQcMYnVybmVkU3VwcGx5AYiMWGVjOvE7lbfNGo2K8trB3BQLl3JR2dTa From 0fba963db7949110e8b9608d358a6c1f5086e3a1 Mon Sep 17 00:00:00 2001 From: Maxim Orlovsky Date: Mon, 24 Jul 2023 04:31:32 +0200 Subject: [PATCH 12/14] containers: upgrade transfer ids to use Baid58 v0.4 URLs --- std/src/containers/transfer.rs | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/std/src/containers/transfer.rs b/std/src/containers/transfer.rs index 5c84e990..47c2d99f 100644 --- a/std/src/containers/transfer.rs +++ b/std/src/containers/transfer.rs @@ -34,7 +34,7 @@ use crate::LIB_NAME_RGB_STD; /// Transfer identifier. #[derive(Wrapper, Copy, Clone, Ord, PartialOrd, Eq, PartialEq, Hash, Debug, Display, From)] #[wrapper(Deref, BorrowSlice, Hex, Index, RangeOps)] -#[display(Self::to_baid58)] +#[display(Self::to_baid58_string)] #[derive(StrictType, StrictDumb, StrictEncode, StrictDecode)] #[strict_type(lib = LIB_NAME_RGB_STD)] #[cfg_attr( @@ -49,15 +49,17 @@ pub struct TransferId( ); impl ToBaid58<32> for TransferId { - const HRI: &'static str = "tfer"; + const HRI: &'static str = "rgb-cons"; fn to_baid58_payload(&self) -> [u8; 32] { self.to_raw_array() } } impl FromBaid58<32> for TransferId {} - impl FromStr for TransferId { type Err = Baid58ParseError; fn from_str(s: &str) -> Result { Self::from_baid58_str(s) } } +impl TransferId { + pub fn to_baid58_string(&self) -> String { format!("{::<#}", self.to_baid58()) } +} impl CommitEncode for Transfer { fn commit_encode(&self, e: &mut impl io::Write) { From e053b2f70a9a59b0b707d1ec830c4785fba6a195 Mon Sep 17 00:00:00 2001 From: Maxim Orlovsky Date: Mon, 24 Jul 2023 04:35:33 +0200 Subject: [PATCH 13/14] chore: update dependencies --- Cargo.lock | 166 ++++++++++++++++++++++++++++++----------------------- 1 file changed, 94 insertions(+), 72 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index aaabf134..9acc8617 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -117,9 +117,9 @@ checksum = "6b4930d2cb77ce62f89ee5d5289b4ac049559b1c45539271f5ed4fdc7db34545" [[package]] name = "arrayvec" -version = "0.7.3" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8868f09ff8cea88b079da74ae569d9b8c62a23c68c746240b704ee6f7525c89c" +checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" [[package]] name = "ascii" @@ -174,9 +174,9 @@ checksum = "d86b93f97252c47b41663388e6d155714a9d0c398b99f1005cbc5f978b29f445" [[package]] name = "bitcoin" -version = "0.30.0" +version = "0.30.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b36f4c848f6bd9ff208128f08751135846cc23ae57d66ab10a22efff1c675f3c" +checksum = "4e99ff7289b20a7385f66a0feda78af2fc119d28fb56aea8886a9cd0a4abdd75" dependencies = [ "bech32", "bitcoin-private", @@ -384,9 +384,9 @@ checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa" [[package]] name = "cpufeatures" -version = "0.2.8" +version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03e69e28e9f7f77debdedbaafa2866e1de9ba56df55a8bd7cfc724c25a09987c" +checksum = "a17b76ff3a4162b0b27f354a0c87015ddad39d35f9c0c36607a3bdd175dde1f1" dependencies = [ "libc", ] @@ -409,9 +409,9 @@ dependencies = [ [[package]] name = "darling" -version = "0.20.1" +version = "0.20.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0558d22a7b463ed0241e993f76f09f30b126687447751a8638587b864e4b3944" +checksum = "0209d94da627ab5605dcccf08bb18afa5009cfbef48d8a8b7d7bdbc79be25c5e" dependencies = [ "darling_core", "darling_macro", @@ -419,27 +419,27 @@ dependencies = [ [[package]] name = "darling_core" -version = "0.20.1" +version = "0.20.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab8bfa2e259f8ee1ce5e97824a3c55ec4404a0d772ca7fa96bf19f0752a046eb" +checksum = "177e3443818124b357d8e76f53be906d60937f0d3a90773a664fa63fa253e621" dependencies = [ "fnv", "ident_case", "proc-macro2", "quote", "strsim", - "syn 2.0.18", + "syn 2.0.27", ] [[package]] name = "darling_macro" -version = "0.20.1" +version = "0.20.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29a358ff9f12ec09c3e61fef9b5a9902623a695a46a917b07f269bff1445611a" +checksum = "836a9bbc7ad63342d6d6e7b815ccab164bc77a2d95d84bc3117a8c0d5c98e2d5" dependencies = [ "darling_core", "quote", - "syn 2.0.18", + "syn 2.0.27", ] [[package]] @@ -453,6 +453,12 @@ dependencies = [ "subtle", ] +[[package]] +name = "equivalent" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" + [[package]] name = "fluent-uri" version = "0.1.4" @@ -506,6 +512,12 @@ version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" +[[package]] +name = "hashbrown" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c6201b9ff9fd90a5a3bac2e56a830d0caa509576f0e503818ee82c181b3437a" + [[package]] name = "heck" version = "0.4.1" @@ -560,15 +572,25 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" dependencies = [ "autocfg", - "hashbrown", + "hashbrown 0.12.3", "serde", ] +[[package]] +name = "indexmap" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d5477fe2230a79769d8dc68e0eabf5437907c0457a5614a9e8dddb67f65eb65d" +dependencies = [ + "equivalent", + "hashbrown 0.14.0", +] + [[package]] name = "itoa" -version = "1.0.6" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "453ad9f582a441959e5f0d088b02ce04cfe8d51a8eaf077f12ac6d3e94164ca6" +checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38" [[package]] name = "js-sys" @@ -587,9 +609,9 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" [[package]] name = "libc" -version = "0.2.146" +version = "0.2.147" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f92be4933c13fd498862a9e02a3055f8a8d9c039ce33db97306fd5a6caa7f29b" +checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3" [[package]] name = "log" @@ -621,9 +643,9 @@ dependencies = [ [[package]] name = "num-traits" -version = "0.2.15" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" +checksum = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2" dependencies = [ "autocfg", ] @@ -636,9 +658,9 @@ checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" [[package]] name = "paste" -version = "1.0.12" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f746c4065a8fa3fe23974dd82f15431cc8d40779821001404d10d2e79ca7d79" +checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c" [[package]] name = "percent-encoding" @@ -654,18 +676,18 @@ checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" [[package]] name = "proc-macro2" -version = "1.0.60" +version = "1.0.66" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dec2b086b7a862cf4de201096214fa870344cf922b2b30c167badb3af3195406" +checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9" dependencies = [ "unicode-ident", ] [[package]] name = "quote" -version = "1.0.28" +version = "1.0.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b9ab9c7eadfd8df19006f1cf1a4aed13540ed5cbc047010ece5826e10825488" +checksum = "50f3b39ccfb720540debaa0164757101c08ecb8d326b15358ce76a62c7e85965" dependencies = [ "proc-macro2", ] @@ -753,7 +775,7 @@ dependencies = [ "commit_verify", "fluent-uri", "getrandom", - "indexmap", + "indexmap 1.9.3", "percent-encoding", "rand", "rgb-core", @@ -774,9 +796,9 @@ dependencies = [ [[package]] name = "ryu" -version = "1.0.13" +version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f91339c0467de62360649f8d3e185ca8de4224ff281f66000de5eb2a77a79041" +checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741" [[package]] name = "scoped-tls" @@ -820,9 +842,9 @@ dependencies = [ [[package]] name = "secp256k1-zkp-sys" -version = "0.8.0" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4237cd927cb5b153fb764b766ced70a7df76d0dacdbaabb49e75bdab03b49c26" +checksum = "d03ab1ca75a18e1899e8d9b8d28b5998ae1ddcb42fec5956769718543293c723" dependencies = [ "cc", "secp256k1-sys", @@ -830,29 +852,29 @@ dependencies = [ [[package]] name = "serde" -version = "1.0.164" +version = "1.0.174" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e8c8cf938e98f769bc164923b06dce91cea1751522f46f8466461af04c9027d" +checksum = "3b88756493a5bd5e5395d53baa70b194b05764ab85b59e43e4b8f4e1192fa9b1" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.164" +version = "1.0.174" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9735b638ccc51c28bf6914d90a2e9725b377144fc612c49a611fddd1b631d68" +checksum = "6e5c3a298c7f978e53536f95a63bdc4c4a64550582f31a0359a9afda6aede62e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.18", + "syn 2.0.27", ] [[package]] name = "serde_json" -version = "1.0.97" +version = "1.0.103" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bdf3bf93142acad5821c99197022e170842cdbc1c30482b98750c688c640842a" +checksum = "d03b412469450d4404fe8499a268edd7f8b79fecb074b0d812ad64ca21f4031b" dependencies = [ "itoa", "ryu", @@ -861,9 +883,9 @@ dependencies = [ [[package]] name = "serde_spanned" -version = "0.6.2" +version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93107647184f6027e3b7dcb2e11034cf95ffa1e3a682c67951963ac69c1c007d" +checksum = "96426c9936fd7a0124915f9185ea1d20aa9445cc9821142f0a73bc9207a2e186" dependencies = [ "serde", ] @@ -887,11 +909,11 @@ dependencies = [ "base64 0.13.1", "chrono", "hex", - "indexmap", + "indexmap 1.9.3", "serde", "serde_json", "serde_with_macros", - "time 0.3.22", + "time 0.3.23", ] [[package]] @@ -903,16 +925,16 @@ dependencies = [ "darling", "proc-macro2", "quote", - "syn 2.0.18", + "syn 2.0.27", ] [[package]] name = "serde_yaml" -version = "0.9.21" +version = "0.9.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9d684e3ec7de3bf5466b32bd75303ac16f0736426e5a4e0d6e489559ce1249c" +checksum = "1a49e178e4452f45cb61d0cd8cebc1b0fafd3e41929e996cef79aa3aca91f574" dependencies = [ - "indexmap", + "indexmap 2.0.0", "itoa", "ryu", "serde", @@ -974,14 +996,14 @@ dependencies = [ "baid58", "base64 0.21.2", "half", - "indexmap", + "indexmap 1.9.3", "serde", "serde_json", "serde_with", "serde_yaml", "sha2", "strict_encoding", - "toml 0.7.4", + "toml 0.7.6", ] [[package]] @@ -1019,9 +1041,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.18" +version = "2.0.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32d41677bcbe24c20c52e7c70b0d8db04134c5d1066bf98662e2871ad200ea3e" +checksum = "b60f673f44a8255b9c8c657daf66a596d435f2da81a555b06dc644d080ba45e0" dependencies = [ "proc-macro2", "quote", @@ -1041,9 +1063,9 @@ dependencies = [ [[package]] name = "time" -version = "0.3.22" +version = "0.3.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea9e1b3cf1243ae005d9e74085d4d542f3125458f3a81af210d901dcd7411efd" +checksum = "59e399c068f43a5d116fedaf73b203fa4f9c519f17e2b34f63221d3792f81446" dependencies = [ "itoa", "serde", @@ -1059,9 +1081,9 @@ checksum = "7300fbefb4dadc1af235a9cef3737cea692a9d97e1b9cbcd4ebdae6f8868e6fb" [[package]] name = "time-macros" -version = "0.2.9" +version = "0.2.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "372950940a5f07bf38dbe211d7283c9e6d7327df53794992d293e534c733d09b" +checksum = "96ba15a897f3c86766b757e5ac7221554c6750054d74d5b28844fce5fb36a6c4" dependencies = [ "time-core", ] @@ -1077,9 +1099,9 @@ dependencies = [ [[package]] name = "toml" -version = "0.7.4" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6135d499e69981f9ff0ef2167955a5333c35e36f6937d382974566b3d5b94ec" +checksum = "c17e963a819c331dcacd7ab957d80bc2b9a9c1e71c804826d2f283dd65306542" dependencies = [ "serde", "serde_spanned", @@ -1089,20 +1111,20 @@ dependencies = [ [[package]] name = "toml_datetime" -version = "0.6.2" +version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a76a9312f5ba4c2dec6b9161fdf25d87ad8a09256ccea5a556fef03c706a10f" +checksum = "7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b" dependencies = [ "serde", ] [[package]] name = "toml_edit" -version = "0.19.10" +version = "0.19.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2380d56e8670370eee6566b0bfd4265f65b3f432e8c6d85623f728d4fa31f739" +checksum = "f8123f27e969974a3dfba720fdb560be359f57b44302d280ba72e76a74480e8a" dependencies = [ - "indexmap", + "indexmap 2.0.0", "serde", "serde_spanned", "toml_datetime", @@ -1117,15 +1139,15 @@ checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba" [[package]] name = "unicode-ident" -version = "1.0.9" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b15811caf2415fb889178633e7724bad2509101cde276048e013b9def5e51fa0" +checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c" [[package]] name = "unsafe-libyaml" -version = "0.2.8" +version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1865806a559042e51ab5414598446a5871b561d21b6764f2eabb0dd481d880a6" +checksum = "f28467d3e1d3c6586d8f25fa243f544f5800fec42d97032474e17222c2b75cfa" [[package]] name = "version_check" @@ -1166,7 +1188,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.18", + "syn 2.0.27", "wasm-bindgen-shared", ] @@ -1200,7 +1222,7 @@ checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.18", + "syn 2.0.27", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -1278,9 +1300,9 @@ dependencies = [ [[package]] name = "windows-targets" -version = "0.48.0" +version = "0.48.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b1eb6f0cd7c80c79759c929114ef071b87354ce476d9d94271031c0497adfd5" +checksum = "05d4b17490f70499f20b9e791dcf6a299785ce8af4d709018206dc5b4953e95f" dependencies = [ "windows_aarch64_gnullvm", "windows_aarch64_msvc", @@ -1335,9 +1357,9 @@ checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a" [[package]] name = "winnow" -version = "0.4.7" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca0ace3845f0d96209f0375e6d367e3eb87eb65d27d445bdc9f1843a26f39448" +checksum = "81fac9742fd1ad1bd9643b991319f72dd031016d44b77039a26977eb667141e7" dependencies = [ "memchr", ] From 9e87f3d35b244dfa4bcb68a607b912e4bc570fbe Mon Sep 17 00:00:00 2001 From: Maxim Orlovsky Date: Mon, 24 Jul 2023 04:36:15 +0200 Subject: [PATCH 14/14] release v0.10.4 --- Cargo.lock | 4 ++-- Cargo.toml | 4 ++-- std/Cargo.toml | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 9acc8617..9660cf37 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -745,7 +745,7 @@ dependencies = [ [[package]] name = "rgb-std" -version = "0.10.3" +version = "0.10.4" dependencies = [ "amplify", "baid58", @@ -765,7 +765,7 @@ dependencies = [ [[package]] name = "rgb-wallet" -version = "0.10.3" +version = "0.10.4" dependencies = [ "amplify", "baid58", diff --git a/Cargo.toml b/Cargo.toml index 6a4a22ed..4fe4e583 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -27,7 +27,7 @@ rgb-core = { version = "0.10.6", features = ["stl"] } [package] name = "rgb-wallet" -version = "0.10.3" +version = "0.10.4" description = "RGB wallet library for smart contracts on Bitcoin & Lightning network" keywords = ["bitcoin", "lightning", "rgb", "smart-contracts", "lnp-bp"] categories = ["cryptography::cryptocurrencies"] @@ -52,7 +52,7 @@ strict_encoding = { workspace = true } # descriptor-wallet = "0.10.0-alpha.1" bp-core = { workspace = true } rgb-core = { workspace = true } -rgb-std = { version = "0.10.3", path = "std" } +rgb-std = { version = "0.10.4", path = "std" } fluent-uri = "0.1.4" indexmap = "1.9.2" # TODO: This dependencies should be replaced with psbt package diff --git a/std/Cargo.toml b/std/Cargo.toml index 975ca11a..4d093bee 100644 --- a/std/Cargo.toml +++ b/std/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "rgb-std" -version = "0.10.3" +version = "0.10.4" description = "RGB standard library for working with smart contracts on Bitcoin & Lightning" keywords = ["bitcoin", "lightning", "rgb", "smart-contracts", "lnp-bp"] categories = ["cryptography::cryptocurrencies"]