///|
pub struct MeasurementFamily {
prefix : String
title : String
unit : String
decimal_digits : Bool
} derive(Debug, Eq)
///|
fn measurement_families() -> Array[MeasurementFamily] {
[
{
prefix: "310",
title: "Net weight",
unit: "kilograms",
decimal_digits: true,
},
{ prefix: "311", title: "Length", unit: "metres", decimal_digits: true },
{ prefix: "312", title: "Width", unit: "metres", decimal_digits: true },
{ prefix: "313", title: "Height", unit: "metres", decimal_digits: true },
{
prefix: "314",
title: "Area",
unit: "square metres",
decimal_digits: true,
},
{ prefix: "315", title: "Net volume", unit: "litres", decimal_digits: true },
{
prefix: "316",
title: "Net volume",
unit: "cubic metres",
decimal_digits: true,
},
{
prefix: "317",
title: "Net volume",
unit: "kilograms per square metre",
decimal_digits: true,
},
{
prefix: "318",
title: "Net volume",
unit: "litres per square metre",
decimal_digits: true,
},
{
prefix: "319",
title: "Net weight",
unit: "kilograms per square metre",
decimal_digits: true,
},
{ prefix: "320", title: "Net weight", unit: "pounds", decimal_digits: true },
{ prefix: "321", title: "Length", unit: "inches", decimal_digits: true },
{ prefix: "322", title: "Width", unit: "inches", decimal_digits: true },
{ prefix: "323", title: "Height", unit: "inches", decimal_digits: true },
{
prefix: "324",
title: "Area",
unit: "square inches",
decimal_digits: true,
},
{ prefix: "325", title: "Net volume", unit: "quarts", decimal_digits: true },
{
prefix: "326",
title: "Net volume",
unit: "gallons",
decimal_digits: true,
},
{
prefix: "327",
title: "Net volume",
unit: "cubic feet",
decimal_digits: true,
},
{
prefix: "328",
title: "Net weight",
unit: "troy ounces",
decimal_digits: true,
},
{
prefix: "329",
title: "Net volume",
unit: "cubic inches",
decimal_digits: true,
},
{
prefix: "330",
title: "Logistic weight",
unit: "kilograms",
decimal_digits: true,
},
{
prefix: "331",
title: "Logistic length",
unit: "metres",
decimal_digits: true,
},
{
prefix: "332",
title: "Logistic width",
unit: "metres",
decimal_digits: true,
},
{
prefix: "333",
title: "Logistic height",
unit: "metres",
decimal_digits: true,
},
{
prefix: "334",
title: "Logistic area",
unit: "square metres",
decimal_digits: true,
},
{
prefix: "335",
title: "Logistic volume",
unit: "litres",
decimal_digits: true,
},
{
prefix: "336",
title: "Logistic volume",
unit: "cubic metres",
decimal_digits: true,
},
{
prefix: "337",
title: "Logistic weight",
unit: "pounds",
decimal_digits: true,
},
{
prefix: "338",
title: "Logistic length",
unit: "inches",
decimal_digits: true,
},
{
prefix: "339",
title: "Logistic width",
unit: "inches",
decimal_digits: true,
},
{
prefix: "340",
title: "Logistic height",
unit: "inches",
decimal_digits: true,
},
{
prefix: "341",
title: "Logistic area",
unit: "square inches",
decimal_digits: true,
},
{
prefix: "342",
title: "Logistic volume",
unit: "quarts",
decimal_digits: true,
},
{
prefix: "343",
title: "Logistic volume",
unit: "gallons",
decimal_digits: true,
},
{
prefix: "344",
title: "Logistic volume",
unit: "cubic feet",
decimal_digits: true,
},
{
prefix: "345",
title: "Logistic weight",
unit: "troy ounces",
decimal_digits: true,
},
{
prefix: "346",
title: "Logistic volume",
unit: "cubic inches",
decimal_digits: true,
},
{
prefix: "347",
title: "Logistic area",
unit: "square yards",
decimal_digits: true,
},
{
prefix: "348",
title: "Logistic length",
unit: "feet",
decimal_digits: true,
},
{
prefix: "349",
title: "Logistic width",
unit: "feet",
decimal_digits: true,
},
{
prefix: "350",
title: "Container weight",
unit: "kilograms",
decimal_digits: true,
},
{
prefix: "351",
title: "Container length",
unit: "metres",
decimal_digits: true,
},
{
prefix: "352",
title: "Container width",
unit: "metres",
decimal_digits: true,
},
{
prefix: "353",
title: "Container height",
unit: "metres",
decimal_digits: true,
},
{
prefix: "354",
title: "Container area",
unit: "square metres",
decimal_digits: true,
},
{
prefix: "355",
title: "Container volume",
unit: "litres",
decimal_digits: true,
},
{
prefix: "356",
title: "Container volume",
unit: "cubic metres",
decimal_digits: true,
},
{
prefix: "357",
title: "Container weight",
unit: "pounds",
decimal_digits: true,
},
{
prefix: "358",
title: "Container length",
unit: "inches",
decimal_digits: true,
},
{
prefix: "359",
title: "Container width",
unit: "inches",
decimal_digits: true,
},
{
prefix: "360",
title: "Trade item weight",
unit: "kilograms",
decimal_digits: true,
},
{
prefix: "361",
title: "Trade item length",
unit: "metres",
decimal_digits: true,
},
{
prefix: "362",
title: "Trade item width",
unit: "metres",
decimal_digits: true,
},
{
prefix: "363",
title: "Trade item height",
unit: "metres",
decimal_digits: true,
},
{
prefix: "364",
title: "Trade item area",
unit: "square metres",
decimal_digits: true,
},
{
prefix: "365",
title: "Trade item volume",
unit: "litres",
decimal_digits: true,
},
{
prefix: "366",
title: "Trade item volume",
unit: "cubic metres",
decimal_digits: true,
},
{
prefix: "367",
title: "Trade item weight",
unit: "pounds",
decimal_digits: true,
},
{
prefix: "368",
title: "Trade item length",
unit: "inches",
decimal_digits: true,
},
{
prefix: "369",
title: "Trade item width",
unit: "inches",
decimal_digits: true,
},
]
}
///|
fn measurement_family(prefix : String) -> MeasurementFamily? {
for family in measurement_families() {
if family.prefix == prefix {
return Some(family)
}
}
None
}
///|
fn supplemental_measure_ais() -> Array[ApplicationIdentifier] {
[
ai("3107", "Net weight in kilograms, 7 decimal places", Some(6), 6, Fixed),
ai("3108", "Net weight in kilograms, 8 decimal places", Some(6), 6, Fixed),
ai("3109", "Net weight in kilograms, 9 decimal places", Some(6), 6, Fixed),
ai("3110", "Length in metres, 0 decimal places", Some(6), 6, Fixed),
ai("3111", "Length in metres, 1 decimal places", Some(6), 6, Fixed),
ai("3112", "Length in metres, 2 decimal places", Some(6), 6, Fixed),
ai("3113", "Length in metres, 3 decimal places", Some(6), 6, Fixed),
ai("3114", "Length in metres, 4 decimal places", Some(6), 6, Fixed),
ai("3115", "Length in metres, 5 decimal places", Some(6), 6, Fixed),
ai("3116", "Length in metres, 6 decimal places", Some(6), 6, Fixed),
ai("3117", "Length in metres, 7 decimal places", Some(6), 6, Fixed),
ai("3118", "Length in metres, 8 decimal places", Some(6), 6, Fixed),
ai("3119", "Length in metres, 9 decimal places", Some(6), 6, Fixed),
ai("3120", "Width in metres, 0 decimal places", Some(6), 6, Fixed),
ai("3121", "Width in metres, 1 decimal places", Some(6), 6, Fixed),
ai("3122", "Width in metres, 2 decimal places", Some(6), 6, Fixed),
ai("3123", "Width in metres, 3 decimal places", Some(6), 6, Fixed),
ai("3124", "Width in metres, 4 decimal places", Some(6), 6, Fixed),
ai("3125", "Width in metres, 5 decimal places", Some(6), 6, Fixed),
ai("3126", "Width in metres, 6 decimal places", Some(6), 6, Fixed),
ai("3127", "Width in metres, 7 decimal places", Some(6), 6, Fixed),
ai("3128", "Width in metres, 8 decimal places", Some(6), 6, Fixed),
ai("3129", "Width in metres, 9 decimal places", Some(6), 6, Fixed),
ai("3130", "Height in metres, 0 decimal places", Some(6), 6, Fixed),
ai("3131", "Height in metres, 1 decimal places", Some(6), 6, Fixed),
ai("3132", "Height in metres, 2 decimal places", Some(6), 6, Fixed),
ai("3133", "Height in metres, 3 decimal places", Some(6), 6, Fixed),
ai("3134", "Height in metres, 4 decimal places", Some(6), 6, Fixed),
ai("3135", "Height in metres, 5 decimal places", Some(6), 6, Fixed),
ai("3136", "Height in metres, 6 decimal places", Some(6), 6, Fixed),
ai("3137", "Height in metres, 7 decimal places", Some(6), 6, Fixed),
ai("3138", "Height in metres, 8 decimal places", Some(6), 6, Fixed),
ai("3139", "Height in metres, 9 decimal places", Some(6), 6, Fixed),
ai("3140", "Area in square metres, 0 decimal places", Some(6), 6, Fixed),
ai("3141", "Area in square metres, 1 decimal places", Some(6), 6, Fixed),
ai("3142", "Area in square metres, 2 decimal places", Some(6), 6, Fixed),
ai("3143", "Area in square metres, 3 decimal places", Some(6), 6, Fixed),
ai("3144", "Area in square metres, 4 decimal places", Some(6), 6, Fixed),
ai("3145", "Area in square metres, 5 decimal places", Some(6), 6, Fixed),
ai("3146", "Area in square metres, 6 decimal places", Some(6), 6, Fixed),
ai("3147", "Area in square metres, 7 decimal places", Some(6), 6, Fixed),
ai("3148", "Area in square metres, 8 decimal places", Some(6), 6, Fixed),
ai("3149", "Area in square metres, 9 decimal places", Some(6), 6, Fixed),
ai("3150", "Net volume in litres, 0 decimal places", Some(6), 6, Fixed),
ai("3151", "Net volume in litres, 1 decimal places", Some(6), 6, Fixed),
ai("3152", "Net volume in litres, 2 decimal places", Some(6), 6, Fixed),
ai("3153", "Net volume in litres, 3 decimal places", Some(6), 6, Fixed),
ai("3154", "Net volume in litres, 4 decimal places", Some(6), 6, Fixed),
ai("3155", "Net volume in litres, 5 decimal places", Some(6), 6, Fixed),
ai("3156", "Net volume in litres, 6 decimal places", Some(6), 6, Fixed),
ai("3157", "Net volume in litres, 7 decimal places", Some(6), 6, Fixed),
ai("3158", "Net volume in litres, 8 decimal places", Some(6), 6, Fixed),
ai("3159", "Net volume in litres, 9 decimal places", Some(6), 6, Fixed),
ai(
"3160",
"Net volume in cubic metres, 0 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3161",
"Net volume in cubic metres, 1 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3162",
"Net volume in cubic metres, 2 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3163",
"Net volume in cubic metres, 3 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3164",
"Net volume in cubic metres, 4 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3165",
"Net volume in cubic metres, 5 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3166",
"Net volume in cubic metres, 6 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3167",
"Net volume in cubic metres, 7 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3168",
"Net volume in cubic metres, 8 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3169",
"Net volume in cubic metres, 9 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3170",
"Net volume in kilograms per square metre, 0 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3171",
"Net volume in kilograms per square metre, 1 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3172",
"Net volume in kilograms per square metre, 2 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3173",
"Net volume in kilograms per square metre, 3 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3174",
"Net volume in kilograms per square metre, 4 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3175",
"Net volume in kilograms per square metre, 5 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3176",
"Net volume in kilograms per square metre, 6 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3177",
"Net volume in kilograms per square metre, 7 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3178",
"Net volume in kilograms per square metre, 8 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3179",
"Net volume in kilograms per square metre, 9 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3180",
"Net volume in litres per square metre, 0 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3181",
"Net volume in litres per square metre, 1 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3182",
"Net volume in litres per square metre, 2 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3183",
"Net volume in litres per square metre, 3 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3184",
"Net volume in litres per square metre, 4 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3185",
"Net volume in litres per square metre, 5 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3186",
"Net volume in litres per square metre, 6 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3187",
"Net volume in litres per square metre, 7 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3188",
"Net volume in litres per square metre, 8 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3189",
"Net volume in litres per square metre, 9 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3190",
"Net weight in kilograms per square metre, 0 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3191",
"Net weight in kilograms per square metre, 1 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3192",
"Net weight in kilograms per square metre, 2 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3193",
"Net weight in kilograms per square metre, 3 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3194",
"Net weight in kilograms per square metre, 4 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3195",
"Net weight in kilograms per square metre, 5 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3196",
"Net weight in kilograms per square metre, 6 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3197",
"Net weight in kilograms per square metre, 7 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3198",
"Net weight in kilograms per square metre, 8 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3199",
"Net weight in kilograms per square metre, 9 decimal places",
Some(6),
6,
Fixed,
),
ai("3200", "Net weight in pounds, 0 decimal places", Some(6), 6, Fixed),
ai("3201", "Net weight in pounds, 1 decimal places", Some(6), 6, Fixed),
ai("3202", "Net weight in pounds, 2 decimal places", Some(6), 6, Fixed),
ai("3203", "Net weight in pounds, 3 decimal places", Some(6), 6, Fixed),
ai("3204", "Net weight in pounds, 4 decimal places", Some(6), 6, Fixed),
ai("3205", "Net weight in pounds, 5 decimal places", Some(6), 6, Fixed),
ai("3206", "Net weight in pounds, 6 decimal places", Some(6), 6, Fixed),
ai("3207", "Net weight in pounds, 7 decimal places", Some(6), 6, Fixed),
ai("3208", "Net weight in pounds, 8 decimal places", Some(6), 6, Fixed),
ai("3209", "Net weight in pounds, 9 decimal places", Some(6), 6, Fixed),
ai("3210", "Length in inches, 0 decimal places", Some(6), 6, Fixed),
ai("3211", "Length in inches, 1 decimal places", Some(6), 6, Fixed),
ai("3212", "Length in inches, 2 decimal places", Some(6), 6, Fixed),
ai("3213", "Length in inches, 3 decimal places", Some(6), 6, Fixed),
ai("3214", "Length in inches, 4 decimal places", Some(6), 6, Fixed),
ai("3215", "Length in inches, 5 decimal places", Some(6), 6, Fixed),
ai("3216", "Length in inches, 6 decimal places", Some(6), 6, Fixed),
ai("3217", "Length in inches, 7 decimal places", Some(6), 6, Fixed),
ai("3218", "Length in inches, 8 decimal places", Some(6), 6, Fixed),
ai("3219", "Length in inches, 9 decimal places", Some(6), 6, Fixed),
ai("3220", "Width in inches, 0 decimal places", Some(6), 6, Fixed),
ai("3221", "Width in inches, 1 decimal places", Some(6), 6, Fixed),
ai("3222", "Width in inches, 2 decimal places", Some(6), 6, Fixed),
ai("3223", "Width in inches, 3 decimal places", Some(6), 6, Fixed),
ai("3224", "Width in inches, 4 decimal places", Some(6), 6, Fixed),
ai("3225", "Width in inches, 5 decimal places", Some(6), 6, Fixed),
ai("3226", "Width in inches, 6 decimal places", Some(6), 6, Fixed),
ai("3227", "Width in inches, 7 decimal places", Some(6), 6, Fixed),
ai("3228", "Width in inches, 8 decimal places", Some(6), 6, Fixed),
ai("3229", "Width in inches, 9 decimal places", Some(6), 6, Fixed),
ai("3230", "Height in inches, 0 decimal places", Some(6), 6, Fixed),
ai("3231", "Height in inches, 1 decimal places", Some(6), 6, Fixed),
ai("3232", "Height in inches, 2 decimal places", Some(6), 6, Fixed),
ai("3233", "Height in inches, 3 decimal places", Some(6), 6, Fixed),
ai("3234", "Height in inches, 4 decimal places", Some(6), 6, Fixed),
ai("3235", "Height in inches, 5 decimal places", Some(6), 6, Fixed),
ai("3236", "Height in inches, 6 decimal places", Some(6), 6, Fixed),
ai("3237", "Height in inches, 7 decimal places", Some(6), 6, Fixed),
ai("3238", "Height in inches, 8 decimal places", Some(6), 6, Fixed),
ai("3239", "Height in inches, 9 decimal places", Some(6), 6, Fixed),
ai("3240", "Area in square inches, 0 decimal places", Some(6), 6, Fixed),
ai("3241", "Area in square inches, 1 decimal places", Some(6), 6, Fixed),
ai("3242", "Area in square inches, 2 decimal places", Some(6), 6, Fixed),
ai("3243", "Area in square inches, 3 decimal places", Some(6), 6, Fixed),
ai("3244", "Area in square inches, 4 decimal places", Some(6), 6, Fixed),
ai("3245", "Area in square inches, 5 decimal places", Some(6), 6, Fixed),
ai("3246", "Area in square inches, 6 decimal places", Some(6), 6, Fixed),
ai("3247", "Area in square inches, 7 decimal places", Some(6), 6, Fixed),
ai("3248", "Area in square inches, 8 decimal places", Some(6), 6, Fixed),
ai("3249", "Area in square inches, 9 decimal places", Some(6), 6, Fixed),
ai("3250", "Net volume in quarts, 0 decimal places", Some(6), 6, Fixed),
ai("3251", "Net volume in quarts, 1 decimal places", Some(6), 6, Fixed),
ai("3252", "Net volume in quarts, 2 decimal places", Some(6), 6, Fixed),
ai("3253", "Net volume in quarts, 3 decimal places", Some(6), 6, Fixed),
ai("3254", "Net volume in quarts, 4 decimal places", Some(6), 6, Fixed),
ai("3255", "Net volume in quarts, 5 decimal places", Some(6), 6, Fixed),
ai("3256", "Net volume in quarts, 6 decimal places", Some(6), 6, Fixed),
ai("3257", "Net volume in quarts, 7 decimal places", Some(6), 6, Fixed),
ai("3258", "Net volume in quarts, 8 decimal places", Some(6), 6, Fixed),
ai("3259", "Net volume in quarts, 9 decimal places", Some(6), 6, Fixed),
ai("3260", "Net volume in gallons, 0 decimal places", Some(6), 6, Fixed),
ai("3261", "Net volume in gallons, 1 decimal places", Some(6), 6, Fixed),
ai("3262", "Net volume in gallons, 2 decimal places", Some(6), 6, Fixed),
ai("3263", "Net volume in gallons, 3 decimal places", Some(6), 6, Fixed),
ai("3264", "Net volume in gallons, 4 decimal places", Some(6), 6, Fixed),
ai("3265", "Net volume in gallons, 5 decimal places", Some(6), 6, Fixed),
ai("3266", "Net volume in gallons, 6 decimal places", Some(6), 6, Fixed),
ai("3267", "Net volume in gallons, 7 decimal places", Some(6), 6, Fixed),
ai("3268", "Net volume in gallons, 8 decimal places", Some(6), 6, Fixed),
ai("3269", "Net volume in gallons, 9 decimal places", Some(6), 6, Fixed),
ai("3270", "Net volume in cubic feet, 0 decimal places", Some(6), 6, Fixed),
ai("3271", "Net volume in cubic feet, 1 decimal places", Some(6), 6, Fixed),
ai("3272", "Net volume in cubic feet, 2 decimal places", Some(6), 6, Fixed),
ai("3273", "Net volume in cubic feet, 3 decimal places", Some(6), 6, Fixed),
ai("3274", "Net volume in cubic feet, 4 decimal places", Some(6), 6, Fixed),
ai("3275", "Net volume in cubic feet, 5 decimal places", Some(6), 6, Fixed),
ai("3276", "Net volume in cubic feet, 6 decimal places", Some(6), 6, Fixed),
ai("3277", "Net volume in cubic feet, 7 decimal places", Some(6), 6, Fixed),
ai("3278", "Net volume in cubic feet, 8 decimal places", Some(6), 6, Fixed),
ai("3279", "Net volume in cubic feet, 9 decimal places", Some(6), 6, Fixed),
ai("3280", "Net weight in troy ounces, 0 decimal places", Some(6), 6, Fixed),
ai("3281", "Net weight in troy ounces, 1 decimal places", Some(6), 6, Fixed),
ai("3282", "Net weight in troy ounces, 2 decimal places", Some(6), 6, Fixed),
ai("3283", "Net weight in troy ounces, 3 decimal places", Some(6), 6, Fixed),
ai("3284", "Net weight in troy ounces, 4 decimal places", Some(6), 6, Fixed),
ai("3285", "Net weight in troy ounces, 5 decimal places", Some(6), 6, Fixed),
ai("3286", "Net weight in troy ounces, 6 decimal places", Some(6), 6, Fixed),
ai("3287", "Net weight in troy ounces, 7 decimal places", Some(6), 6, Fixed),
ai("3288", "Net weight in troy ounces, 8 decimal places", Some(6), 6, Fixed),
ai("3289", "Net weight in troy ounces, 9 decimal places", Some(6), 6, Fixed),
ai(
"3290",
"Net volume in cubic inches, 0 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3291",
"Net volume in cubic inches, 1 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3292",
"Net volume in cubic inches, 2 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3293",
"Net volume in cubic inches, 3 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3294",
"Net volume in cubic inches, 4 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3295",
"Net volume in cubic inches, 5 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3296",
"Net volume in cubic inches, 6 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3297",
"Net volume in cubic inches, 7 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3298",
"Net volume in cubic inches, 8 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3299",
"Net volume in cubic inches, 9 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3300",
"Logistic weight in kilograms, 0 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3301",
"Logistic weight in kilograms, 1 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3302",
"Logistic weight in kilograms, 2 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3303",
"Logistic weight in kilograms, 3 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3304",
"Logistic weight in kilograms, 4 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3305",
"Logistic weight in kilograms, 5 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3306",
"Logistic weight in kilograms, 6 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3307",
"Logistic weight in kilograms, 7 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3308",
"Logistic weight in kilograms, 8 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3309",
"Logistic weight in kilograms, 9 decimal places",
Some(6),
6,
Fixed,
),
ai("3310", "Logistic length in metres, 0 decimal places", Some(6), 6, Fixed),
ai("3311", "Logistic length in metres, 1 decimal places", Some(6), 6, Fixed),
ai("3312", "Logistic length in metres, 2 decimal places", Some(6), 6, Fixed),
ai("3313", "Logistic length in metres, 3 decimal places", Some(6), 6, Fixed),
ai("3314", "Logistic length in metres, 4 decimal places", Some(6), 6, Fixed),
ai("3315", "Logistic length in metres, 5 decimal places", Some(6), 6, Fixed),
ai("3316", "Logistic length in metres, 6 decimal places", Some(6), 6, Fixed),
ai("3317", "Logistic length in metres, 7 decimal places", Some(6), 6, Fixed),
ai("3318", "Logistic length in metres, 8 decimal places", Some(6), 6, Fixed),
ai("3319", "Logistic length in metres, 9 decimal places", Some(6), 6, Fixed),
ai("3320", "Logistic width in metres, 0 decimal places", Some(6), 6, Fixed),
ai("3321", "Logistic width in metres, 1 decimal places", Some(6), 6, Fixed),
ai("3322", "Logistic width in metres, 2 decimal places", Some(6), 6, Fixed),
ai("3323", "Logistic width in metres, 3 decimal places", Some(6), 6, Fixed),
ai("3324", "Logistic width in metres, 4 decimal places", Some(6), 6, Fixed),
ai("3325", "Logistic width in metres, 5 decimal places", Some(6), 6, Fixed),
ai("3326", "Logistic width in metres, 6 decimal places", Some(6), 6, Fixed),
ai("3327", "Logistic width in metres, 7 decimal places", Some(6), 6, Fixed),
ai("3328", "Logistic width in metres, 8 decimal places", Some(6), 6, Fixed),
ai("3329", "Logistic width in metres, 9 decimal places", Some(6), 6, Fixed),
ai("3330", "Logistic height in metres, 0 decimal places", Some(6), 6, Fixed),
ai("3331", "Logistic height in metres, 1 decimal places", Some(6), 6, Fixed),
ai("3332", "Logistic height in metres, 2 decimal places", Some(6), 6, Fixed),
ai("3333", "Logistic height in metres, 3 decimal places", Some(6), 6, Fixed),
ai("3334", "Logistic height in metres, 4 decimal places", Some(6), 6, Fixed),
ai("3335", "Logistic height in metres, 5 decimal places", Some(6), 6, Fixed),
ai("3336", "Logistic height in metres, 6 decimal places", Some(6), 6, Fixed),
ai("3337", "Logistic height in metres, 7 decimal places", Some(6), 6, Fixed),
ai("3338", "Logistic height in metres, 8 decimal places", Some(6), 6, Fixed),
ai("3339", "Logistic height in metres, 9 decimal places", Some(6), 6, Fixed),
ai(
"3340",
"Logistic area in square metres, 0 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3341",
"Logistic area in square metres, 1 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3342",
"Logistic area in square metres, 2 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3343",
"Logistic area in square metres, 3 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3344",
"Logistic area in square metres, 4 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3345",
"Logistic area in square metres, 5 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3346",
"Logistic area in square metres, 6 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3347",
"Logistic area in square metres, 7 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3348",
"Logistic area in square metres, 8 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3349",
"Logistic area in square metres, 9 decimal places",
Some(6),
6,
Fixed,
),
ai("3350", "Logistic volume in litres, 0 decimal places", Some(6), 6, Fixed),
ai("3351", "Logistic volume in litres, 1 decimal places", Some(6), 6, Fixed),
ai("3352", "Logistic volume in litres, 2 decimal places", Some(6), 6, Fixed),
ai("3353", "Logistic volume in litres, 3 decimal places", Some(6), 6, Fixed),
ai("3354", "Logistic volume in litres, 4 decimal places", Some(6), 6, Fixed),
ai("3355", "Logistic volume in litres, 5 decimal places", Some(6), 6, Fixed),
ai("3356", "Logistic volume in litres, 6 decimal places", Some(6), 6, Fixed),
ai("3357", "Logistic volume in litres, 7 decimal places", Some(6), 6, Fixed),
ai("3358", "Logistic volume in litres, 8 decimal places", Some(6), 6, Fixed),
ai("3359", "Logistic volume in litres, 9 decimal places", Some(6), 6, Fixed),
ai(
"3360",
"Logistic volume in cubic metres, 0 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3361",
"Logistic volume in cubic metres, 1 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3362",
"Logistic volume in cubic metres, 2 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3363",
"Logistic volume in cubic metres, 3 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3364",
"Logistic volume in cubic metres, 4 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3365",
"Logistic volume in cubic metres, 5 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3366",
"Logistic volume in cubic metres, 6 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3367",
"Logistic volume in cubic metres, 7 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3368",
"Logistic volume in cubic metres, 8 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3369",
"Logistic volume in cubic metres, 9 decimal places",
Some(6),
6,
Fixed,
),
ai("3370", "Logistic weight in pounds, 0 decimal places", Some(6), 6, Fixed),
ai("3371", "Logistic weight in pounds, 1 decimal places", Some(6), 6, Fixed),
ai("3372", "Logistic weight in pounds, 2 decimal places", Some(6), 6, Fixed),
ai("3373", "Logistic weight in pounds, 3 decimal places", Some(6), 6, Fixed),
ai("3374", "Logistic weight in pounds, 4 decimal places", Some(6), 6, Fixed),
ai("3375", "Logistic weight in pounds, 5 decimal places", Some(6), 6, Fixed),
ai("3376", "Logistic weight in pounds, 6 decimal places", Some(6), 6, Fixed),
ai("3377", "Logistic weight in pounds, 7 decimal places", Some(6), 6, Fixed),
ai("3378", "Logistic weight in pounds, 8 decimal places", Some(6), 6, Fixed),
ai("3379", "Logistic weight in pounds, 9 decimal places", Some(6), 6, Fixed),
ai("3380", "Logistic length in inches, 0 decimal places", Some(6), 6, Fixed),
ai("3381", "Logistic length in inches, 1 decimal places", Some(6), 6, Fixed),
ai("3382", "Logistic length in inches, 2 decimal places", Some(6), 6, Fixed),
ai("3383", "Logistic length in inches, 3 decimal places", Some(6), 6, Fixed),
ai("3384", "Logistic length in inches, 4 decimal places", Some(6), 6, Fixed),
ai("3385", "Logistic length in inches, 5 decimal places", Some(6), 6, Fixed),
ai("3386", "Logistic length in inches, 6 decimal places", Some(6), 6, Fixed),
ai("3387", "Logistic length in inches, 7 decimal places", Some(6), 6, Fixed),
ai("3388", "Logistic length in inches, 8 decimal places", Some(6), 6, Fixed),
ai("3389", "Logistic length in inches, 9 decimal places", Some(6), 6, Fixed),
ai("3390", "Logistic width in inches, 0 decimal places", Some(6), 6, Fixed),
ai("3391", "Logistic width in inches, 1 decimal places", Some(6), 6, Fixed),
ai("3392", "Logistic width in inches, 2 decimal places", Some(6), 6, Fixed),
ai("3393", "Logistic width in inches, 3 decimal places", Some(6), 6, Fixed),
ai("3394", "Logistic width in inches, 4 decimal places", Some(6), 6, Fixed),
ai("3395", "Logistic width in inches, 5 decimal places", Some(6), 6, Fixed),
ai("3396", "Logistic width in inches, 6 decimal places", Some(6), 6, Fixed),
ai("3397", "Logistic width in inches, 7 decimal places", Some(6), 6, Fixed),
ai("3398", "Logistic width in inches, 8 decimal places", Some(6), 6, Fixed),
ai("3399", "Logistic width in inches, 9 decimal places", Some(6), 6, Fixed),
ai("3400", "Logistic height in inches, 0 decimal places", Some(6), 6, Fixed),
ai("3401", "Logistic height in inches, 1 decimal places", Some(6), 6, Fixed),
ai("3402", "Logistic height in inches, 2 decimal places", Some(6), 6, Fixed),
ai("3403", "Logistic height in inches, 3 decimal places", Some(6), 6, Fixed),
ai("3404", "Logistic height in inches, 4 decimal places", Some(6), 6, Fixed),
ai("3405", "Logistic height in inches, 5 decimal places", Some(6), 6, Fixed),
ai("3406", "Logistic height in inches, 6 decimal places", Some(6), 6, Fixed),
ai("3407", "Logistic height in inches, 7 decimal places", Some(6), 6, Fixed),
ai("3408", "Logistic height in inches, 8 decimal places", Some(6), 6, Fixed),
ai("3409", "Logistic height in inches, 9 decimal places", Some(6), 6, Fixed),
ai(
"3410",
"Logistic area in square inches, 0 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3411",
"Logistic area in square inches, 1 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3412",
"Logistic area in square inches, 2 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3413",
"Logistic area in square inches, 3 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3414",
"Logistic area in square inches, 4 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3415",
"Logistic area in square inches, 5 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3416",
"Logistic area in square inches, 6 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3417",
"Logistic area in square inches, 7 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3418",
"Logistic area in square inches, 8 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3419",
"Logistic area in square inches, 9 decimal places",
Some(6),
6,
Fixed,
),
ai("3420", "Logistic volume in quarts, 0 decimal places", Some(6), 6, Fixed),
ai("3421", "Logistic volume in quarts, 1 decimal places", Some(6), 6, Fixed),
ai("3422", "Logistic volume in quarts, 2 decimal places", Some(6), 6, Fixed),
ai("3423", "Logistic volume in quarts, 3 decimal places", Some(6), 6, Fixed),
ai("3424", "Logistic volume in quarts, 4 decimal places", Some(6), 6, Fixed),
ai("3425", "Logistic volume in quarts, 5 decimal places", Some(6), 6, Fixed),
ai("3426", "Logistic volume in quarts, 6 decimal places", Some(6), 6, Fixed),
ai("3427", "Logistic volume in quarts, 7 decimal places", Some(6), 6, Fixed),
ai("3428", "Logistic volume in quarts, 8 decimal places", Some(6), 6, Fixed),
ai("3429", "Logistic volume in quarts, 9 decimal places", Some(6), 6, Fixed),
ai(
"3430",
"Logistic volume in gallons, 0 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3431",
"Logistic volume in gallons, 1 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3432",
"Logistic volume in gallons, 2 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3433",
"Logistic volume in gallons, 3 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3434",
"Logistic volume in gallons, 4 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3435",
"Logistic volume in gallons, 5 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3436",
"Logistic volume in gallons, 6 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3437",
"Logistic volume in gallons, 7 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3438",
"Logistic volume in gallons, 8 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3439",
"Logistic volume in gallons, 9 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3440",
"Logistic volume in cubic feet, 0 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3441",
"Logistic volume in cubic feet, 1 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3442",
"Logistic volume in cubic feet, 2 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3443",
"Logistic volume in cubic feet, 3 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3444",
"Logistic volume in cubic feet, 4 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3445",
"Logistic volume in cubic feet, 5 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3446",
"Logistic volume in cubic feet, 6 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3447",
"Logistic volume in cubic feet, 7 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3448",
"Logistic volume in cubic feet, 8 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3449",
"Logistic volume in cubic feet, 9 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3450",
"Logistic weight in troy ounces, 0 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3451",
"Logistic weight in troy ounces, 1 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3452",
"Logistic weight in troy ounces, 2 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3453",
"Logistic weight in troy ounces, 3 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3454",
"Logistic weight in troy ounces, 4 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3455",
"Logistic weight in troy ounces, 5 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3456",
"Logistic weight in troy ounces, 6 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3457",
"Logistic weight in troy ounces, 7 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3458",
"Logistic weight in troy ounces, 8 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3459",
"Logistic weight in troy ounces, 9 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3460",
"Logistic volume in cubic inches, 0 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3461",
"Logistic volume in cubic inches, 1 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3462",
"Logistic volume in cubic inches, 2 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3463",
"Logistic volume in cubic inches, 3 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3464",
"Logistic volume in cubic inches, 4 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3465",
"Logistic volume in cubic inches, 5 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3466",
"Logistic volume in cubic inches, 6 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3467",
"Logistic volume in cubic inches, 7 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3468",
"Logistic volume in cubic inches, 8 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3469",
"Logistic volume in cubic inches, 9 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3470",
"Logistic area in square yards, 0 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3471",
"Logistic area in square yards, 1 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3472",
"Logistic area in square yards, 2 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3473",
"Logistic area in square yards, 3 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3474",
"Logistic area in square yards, 4 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3475",
"Logistic area in square yards, 5 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3476",
"Logistic area in square yards, 6 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3477",
"Logistic area in square yards, 7 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3478",
"Logistic area in square yards, 8 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3479",
"Logistic area in square yards, 9 decimal places",
Some(6),
6,
Fixed,
),
ai("3480", "Logistic length in feet, 0 decimal places", Some(6), 6, Fixed),
ai("3481", "Logistic length in feet, 1 decimal places", Some(6), 6, Fixed),
ai("3482", "Logistic length in feet, 2 decimal places", Some(6), 6, Fixed),
ai("3483", "Logistic length in feet, 3 decimal places", Some(6), 6, Fixed),
ai("3484", "Logistic length in feet, 4 decimal places", Some(6), 6, Fixed),
ai("3485", "Logistic length in feet, 5 decimal places", Some(6), 6, Fixed),
ai("3486", "Logistic length in feet, 6 decimal places", Some(6), 6, Fixed),
ai("3487", "Logistic length in feet, 7 decimal places", Some(6), 6, Fixed),
ai("3488", "Logistic length in feet, 8 decimal places", Some(6), 6, Fixed),
ai("3489", "Logistic length in feet, 9 decimal places", Some(6), 6, Fixed),
ai("3490", "Logistic width in feet, 0 decimal places", Some(6), 6, Fixed),
ai("3491", "Logistic width in feet, 1 decimal places", Some(6), 6, Fixed),
ai("3492", "Logistic width in feet, 2 decimal places", Some(6), 6, Fixed),
ai("3493", "Logistic width in feet, 3 decimal places", Some(6), 6, Fixed),
ai("3494", "Logistic width in feet, 4 decimal places", Some(6), 6, Fixed),
ai("3495", "Logistic width in feet, 5 decimal places", Some(6), 6, Fixed),
ai("3496", "Logistic width in feet, 6 decimal places", Some(6), 6, Fixed),
ai("3497", "Logistic width in feet, 7 decimal places", Some(6), 6, Fixed),
ai("3498", "Logistic width in feet, 8 decimal places", Some(6), 6, Fixed),
ai("3499", "Logistic width in feet, 9 decimal places", Some(6), 6, Fixed),
ai(
"3500",
"Container weight in kilograms, 0 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3501",
"Container weight in kilograms, 1 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3502",
"Container weight in kilograms, 2 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3503",
"Container weight in kilograms, 3 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3504",
"Container weight in kilograms, 4 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3505",
"Container weight in kilograms, 5 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3506",
"Container weight in kilograms, 6 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3507",
"Container weight in kilograms, 7 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3508",
"Container weight in kilograms, 8 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3509",
"Container weight in kilograms, 9 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3510",
"Container length in metres, 0 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3511",
"Container length in metres, 1 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3512",
"Container length in metres, 2 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3513",
"Container length in metres, 3 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3514",
"Container length in metres, 4 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3515",
"Container length in metres, 5 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3516",
"Container length in metres, 6 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3517",
"Container length in metres, 7 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3518",
"Container length in metres, 8 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3519",
"Container length in metres, 9 decimal places",
Some(6),
6,
Fixed,
),
ai("3520", "Container width in metres, 0 decimal places", Some(6), 6, Fixed),
ai("3521", "Container width in metres, 1 decimal places", Some(6), 6, Fixed),
ai("3522", "Container width in metres, 2 decimal places", Some(6), 6, Fixed),
ai("3523", "Container width in metres, 3 decimal places", Some(6), 6, Fixed),
ai("3524", "Container width in metres, 4 decimal places", Some(6), 6, Fixed),
ai("3525", "Container width in metres, 5 decimal places", Some(6), 6, Fixed),
ai("3526", "Container width in metres, 6 decimal places", Some(6), 6, Fixed),
ai("3527", "Container width in metres, 7 decimal places", Some(6), 6, Fixed),
ai("3528", "Container width in metres, 8 decimal places", Some(6), 6, Fixed),
ai("3529", "Container width in metres, 9 decimal places", Some(6), 6, Fixed),
ai(
"3530",
"Container height in metres, 0 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3531",
"Container height in metres, 1 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3532",
"Container height in metres, 2 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3533",
"Container height in metres, 3 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3534",
"Container height in metres, 4 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3535",
"Container height in metres, 5 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3536",
"Container height in metres, 6 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3537",
"Container height in metres, 7 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3538",
"Container height in metres, 8 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3539",
"Container height in metres, 9 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3540",
"Container area in square metres, 0 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3541",
"Container area in square metres, 1 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3542",
"Container area in square metres, 2 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3543",
"Container area in square metres, 3 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3544",
"Container area in square metres, 4 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3545",
"Container area in square metres, 5 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3546",
"Container area in square metres, 6 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3547",
"Container area in square metres, 7 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3548",
"Container area in square metres, 8 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3549",
"Container area in square metres, 9 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3550",
"Container volume in litres, 0 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3551",
"Container volume in litres, 1 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3552",
"Container volume in litres, 2 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3553",
"Container volume in litres, 3 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3554",
"Container volume in litres, 4 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3555",
"Container volume in litres, 5 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3556",
"Container volume in litres, 6 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3557",
"Container volume in litres, 7 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3558",
"Container volume in litres, 8 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3559",
"Container volume in litres, 9 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3560",
"Container volume in cubic metres, 0 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3561",
"Container volume in cubic metres, 1 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3562",
"Container volume in cubic metres, 2 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3563",
"Container volume in cubic metres, 3 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3564",
"Container volume in cubic metres, 4 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3565",
"Container volume in cubic metres, 5 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3566",
"Container volume in cubic metres, 6 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3567",
"Container volume in cubic metres, 7 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3568",
"Container volume in cubic metres, 8 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3569",
"Container volume in cubic metres, 9 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3570",
"Container weight in pounds, 0 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3571",
"Container weight in pounds, 1 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3572",
"Container weight in pounds, 2 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3573",
"Container weight in pounds, 3 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3574",
"Container weight in pounds, 4 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3575",
"Container weight in pounds, 5 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3576",
"Container weight in pounds, 6 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3577",
"Container weight in pounds, 7 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3578",
"Container weight in pounds, 8 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3579",
"Container weight in pounds, 9 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3580",
"Container length in inches, 0 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3581",
"Container length in inches, 1 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3582",
"Container length in inches, 2 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3583",
"Container length in inches, 3 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3584",
"Container length in inches, 4 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3585",
"Container length in inches, 5 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3586",
"Container length in inches, 6 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3587",
"Container length in inches, 7 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3588",
"Container length in inches, 8 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3589",
"Container length in inches, 9 decimal places",
Some(6),
6,
Fixed,
),
ai("3590", "Container width in inches, 0 decimal places", Some(6), 6, Fixed),
ai("3591", "Container width in inches, 1 decimal places", Some(6), 6, Fixed),
ai("3592", "Container width in inches, 2 decimal places", Some(6), 6, Fixed),
ai("3593", "Container width in inches, 3 decimal places", Some(6), 6, Fixed),
ai("3594", "Container width in inches, 4 decimal places", Some(6), 6, Fixed),
ai("3595", "Container width in inches, 5 decimal places", Some(6), 6, Fixed),
ai("3596", "Container width in inches, 6 decimal places", Some(6), 6, Fixed),
ai("3597", "Container width in inches, 7 decimal places", Some(6), 6, Fixed),
ai("3598", "Container width in inches, 8 decimal places", Some(6), 6, Fixed),
ai("3599", "Container width in inches, 9 decimal places", Some(6), 6, Fixed),
ai(
"3600",
"Trade item weight in kilograms, 0 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3601",
"Trade item weight in kilograms, 1 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3602",
"Trade item weight in kilograms, 2 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3603",
"Trade item weight in kilograms, 3 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3604",
"Trade item weight in kilograms, 4 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3605",
"Trade item weight in kilograms, 5 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3606",
"Trade item weight in kilograms, 6 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3607",
"Trade item weight in kilograms, 7 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3608",
"Trade item weight in kilograms, 8 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3609",
"Trade item weight in kilograms, 9 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3610",
"Trade item length in metres, 0 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3611",
"Trade item length in metres, 1 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3612",
"Trade item length in metres, 2 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3613",
"Trade item length in metres, 3 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3614",
"Trade item length in metres, 4 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3615",
"Trade item length in metres, 5 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3616",
"Trade item length in metres, 6 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3617",
"Trade item length in metres, 7 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3618",
"Trade item length in metres, 8 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3619",
"Trade item length in metres, 9 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3620",
"Trade item width in metres, 0 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3621",
"Trade item width in metres, 1 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3622",
"Trade item width in metres, 2 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3623",
"Trade item width in metres, 3 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3624",
"Trade item width in metres, 4 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3625",
"Trade item width in metres, 5 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3626",
"Trade item width in metres, 6 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3627",
"Trade item width in metres, 7 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3628",
"Trade item width in metres, 8 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3629",
"Trade item width in metres, 9 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3630",
"Trade item height in metres, 0 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3631",
"Trade item height in metres, 1 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3632",
"Trade item height in metres, 2 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3633",
"Trade item height in metres, 3 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3634",
"Trade item height in metres, 4 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3635",
"Trade item height in metres, 5 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3636",
"Trade item height in metres, 6 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3637",
"Trade item height in metres, 7 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3638",
"Trade item height in metres, 8 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3639",
"Trade item height in metres, 9 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3640",
"Trade item area in square metres, 0 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3641",
"Trade item area in square metres, 1 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3642",
"Trade item area in square metres, 2 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3643",
"Trade item area in square metres, 3 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3644",
"Trade item area in square metres, 4 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3645",
"Trade item area in square metres, 5 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3646",
"Trade item area in square metres, 6 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3647",
"Trade item area in square metres, 7 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3648",
"Trade item area in square metres, 8 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3649",
"Trade item area in square metres, 9 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3650",
"Trade item volume in litres, 0 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3651",
"Trade item volume in litres, 1 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3652",
"Trade item volume in litres, 2 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3653",
"Trade item volume in litres, 3 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3654",
"Trade item volume in litres, 4 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3655",
"Trade item volume in litres, 5 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3656",
"Trade item volume in litres, 6 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3657",
"Trade item volume in litres, 7 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3658",
"Trade item volume in litres, 8 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3659",
"Trade item volume in litres, 9 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3660",
"Trade item volume in cubic metres, 0 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3661",
"Trade item volume in cubic metres, 1 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3662",
"Trade item volume in cubic metres, 2 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3663",
"Trade item volume in cubic metres, 3 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3664",
"Trade item volume in cubic metres, 4 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3665",
"Trade item volume in cubic metres, 5 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3666",
"Trade item volume in cubic metres, 6 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3667",
"Trade item volume in cubic metres, 7 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3668",
"Trade item volume in cubic metres, 8 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3669",
"Trade item volume in cubic metres, 9 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3670",
"Trade item weight in pounds, 0 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3671",
"Trade item weight in pounds, 1 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3672",
"Trade item weight in pounds, 2 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3673",
"Trade item weight in pounds, 3 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3674",
"Trade item weight in pounds, 4 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3675",
"Trade item weight in pounds, 5 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3676",
"Trade item weight in pounds, 6 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3677",
"Trade item weight in pounds, 7 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3678",
"Trade item weight in pounds, 8 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3679",
"Trade item weight in pounds, 9 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3680",
"Trade item length in inches, 0 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3681",
"Trade item length in inches, 1 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3682",
"Trade item length in inches, 2 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3683",
"Trade item length in inches, 3 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3684",
"Trade item length in inches, 4 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3685",
"Trade item length in inches, 5 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3686",
"Trade item length in inches, 6 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3687",
"Trade item length in inches, 7 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3688",
"Trade item length in inches, 8 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3689",
"Trade item length in inches, 9 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3690",
"Trade item width in inches, 0 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3691",
"Trade item width in inches, 1 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3692",
"Trade item width in inches, 2 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3693",
"Trade item width in inches, 3 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3694",
"Trade item width in inches, 4 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3695",
"Trade item width in inches, 5 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3696",
"Trade item width in inches, 6 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3697",
"Trade item width in inches, 7 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3698",
"Trade item width in inches, 8 decimal places",
Some(6),
6,
Fixed,
),
ai(
"3699",
"Trade item width in inches, 9 decimal places",
Some(6),
6,
Fixed,
),
]
}
///|
pub fn measurement_code_prefix(code : String) -> String? {
if code.length() < 4 {
None
} else {
let prefix = code.unsafe_substring(start=0, end=3)
if measurement_family(prefix) is Some(_) {
Some(prefix)
} else {
None
}
}
}
///|
pub fn measurement_decimal_places(code : String) -> Int? {
match measurement_code_prefix(code) {
Some(_) =>
if code.length() == 4 &&
code.get_char(3) is Some(digit) &&
digit.is_ascii_digit() {
Some(digit.to_int() - ('0' : UInt16).to_int())
} else {
None
}
None => None
}
}
///|
pub fn measurement_unit(code : String) -> String? {
match measurement_code_prefix(code) {
Some(prefix) => Some(measurement_family(prefix).unwrap().unit)
None => None
}
}
///|
pub fn measurement_title(code : String) -> String? {
match measurement_code_prefix(code) {
Some(prefix) => Some(measurement_family(prefix).unwrap().title)
None => None
}
}
///|
pub fn measurement_value(code : String, encoded : String) -> Int? {
if !catalog_validate_length(code, encoded) || !is_all_digits(encoded) {
None
} else {
Some(decimal_digits(encoded))
}
}
///|
pub fn measurement_value_as_decimal(code : String, encoded : String) -> String? {
match measurement_value(code, encoded) {
Some(value) =>
match measurement_decimal_places(code) {
Some(places) => Some(decimal_format(value, places))
None => None
}
None => None
}
}
///|
fn decimal_format(value : Int, places : Int) -> String {
let raw = "\{value}"
if places == 0 {
raw
} else if raw.length() <= places {
let padding = zero_string(places - raw.length())
"0.\{padding}\{raw}"
} else {
let split = raw.length() - places
"\{raw.unsafe_substring(start=0, end=split)}.\{raw.unsafe_substring(start=split, end=raw.length())}"
}
}
///|
fn zero_string(count : Int) -> String {
let mut value = ""
for _ in 0.. Int {
measurement_families().length()
}
///|
pub fn measurement_codes_for_prefix(prefix : String) -> Array[String] {
if measurement_family(prefix) is None {
[]
} else {
[
for digit in 0..<=9 => "\{prefix}\{digit}"
]
}
}
///|
pub fn measurement_is_supported(code : String) -> Bool {
measurement_code_prefix(code) is Some(_)
}
///|
pub fn measurement_description(code : String) -> String? {
match measurement_title(code) {
Some(title) =>
match measurement_unit(code) {
Some(unit) =>
match measurement_decimal_places(code) {
Some(places) => Some("\{title} (\{unit}, \{places} decimal places)")
None => None
}
None => None
}
None => None
}
}
///|
pub fn measurement_range_valid(code : String, encoded : String) -> Bool {
measurement_value(code, encoded) is Some(_) &&
measurement_decimal_places(code) is Some(_)
}
///|
pub fn measurement_compare(code : String, left : String, right : String) -> Int {
match measurement_value(code, left) {
Some(a) =>
match measurement_value(code, right) {
Some(b) => if a < b { -1 } else if a > b { 1 } else { 0 }
None => 0
}
None => 0
}
}
///|
pub fn measurement_is_zero(code : String, encoded : String) -> Bool {
match measurement_value(code, encoded) {
Some(value) => value == 0
None => false
}
}
///|
pub fn measurement_is_maximum(code : String, encoded : String) -> Bool {
match measurement_value(code, encoded) {
Some(value) => value == 999999
None => false
}
}
///|
pub fn measurement_scale_factor(code : String) -> Int {
match measurement_decimal_places(code) {
Some(places) => power_of_ten(places)
None => 1
}
}
///|
fn power_of_ten(exponent : Int) -> Int {
let mut value = 1
for _ in 0.. Int? {
match measurement_value(code, encoded) {
Some(value) => Some(value)
None => None
}
}
///|
pub fn measurement_from_scaled_integer(code : String, value : Int) -> String? {
match lookup_ai(code) {
Some(item) if item.fixed_length is Some(size) => {
let raw = "\{value}"
if value < 0 || raw.length() > size {
None
} else {
Some(zero_pad_left(raw, size))
}
}
_ => None
}
}
///|
fn zero_pad_left(value : String, width : Int) -> String {
let mut result = value
while result.length() < width {
result = "0" + result
}
result
}
///|
pub fn measurement_unit_symbol(code : String) -> String? {
match measurement_unit(code) {
Some(unit) if unit == "kilograms" => Some("kg")
Some(unit) if unit == "metres" => Some("m")
Some(unit) if unit == "inches" => Some("in")
Some(unit) if unit == "litres" => Some("L")
Some(unit) if unit == "cubic metres" => Some("m3")
Some(unit) if unit == "pounds" => Some("lb")
Some(unit) if unit == "gallons" => Some("gal")
Some(unit) if unit == "quarts" => Some("qt")
Some(unit) => Some(unit)
None => None
}
}
///|
pub fn measurement_report(code : String, encoded : String) -> String {
match measurement_description(code) {
Some(description) =>
match measurement_value_as_decimal(code, encoded) {
Some(value) => "\{description}: \{value}"
None => "invalid measurement"
}
None => "invalid measurement"
}
}
///|
pub fn measurement_percent(code : String, encoded : String) -> Int? {
match measurement_value(code, encoded) {
Some(value) =>
match measurement_decimal_places(code) {
Some(places) => Some(value / power_of_ten(places))
None => None
}
None => None
}
}
///|
pub fn measurement_normalize_encoded(
code : String,
encoded : String,
) -> String? {
if measurement_range_valid(code, encoded) {
Some(zero_pad_left(encoded, 6))
} else {
None
}
}
///|
pub fn measurement_family_codes(prefix : String) -> Array[String] {
measurement_codes_for_prefix(prefix)
}
///|
pub fn measurement_uses_implied_decimal(code : String) -> Bool {
measurement_decimal_places(code) is Some(_)
}
///|
pub fn measurement_fixed_width(code : String) -> Bool {
catalog_required_length(code) == Some(6)
}
///|
pub fn measurement_is_metric(code : String) -> Bool {
match measurement_unit(code) {
Some("kilograms" | "metres" | "litres" | "cubic metres" | "square metres") =>
true
_ => false
}
}
///|
pub fn measurement_is_imperial(code : String) -> Bool {
match measurement_unit(code) {
Some(
"pounds"
| "inches"
| "gallons"
| "quarts"
| "cubic feet"
| "square inches"
) => true
_ => false
}
}
///|
pub fn measurement_family_title(prefix : String) -> String? {
match measurement_family(prefix) {
Some(family) => Some(family.title)
None => None
}
}
///|
pub fn measurement_family_unit(prefix : String) -> String? {
match measurement_family(prefix) {
Some(family) => Some(family.unit)
None => None
}
}
///|
pub fn measurement_family_has_decimal(prefix : String) -> Bool {
match measurement_family(prefix) {
Some(family) => family.decimal_digits
None => false
}
}
///|
pub fn measurement_family_exists(prefix : String) -> Bool {
measurement_family(prefix) is Some(_)
}