/* Ċ ĠCopyright Ġ 2 0 2 1 ĠSpl endo ĠConsult ing ĠB . V . ĠThe ĠNe therlands ĊĊĠĠĠ ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); ĊĠĠĠ Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . ĊĠĠĠ ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat ĊĊĠĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 ĊĊĠĠĠ ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware ĊĠĠĠ Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , ĊĠĠĠ ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . ĊĠĠĠ ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand ĊĠĠĠ Ġlimitations Ġunder Ġthe ĠLicense . ĊĊ Ġ*/ Ċ Ċ package Ġcom . spl endo . kal uga . scientific . unit Ċ Ċ import Ġcom . spl endo . kal uga . base . utils . Decimal Ċ import Ġcom . spl endo . kal uga . scientific . Physical Quantity Ċ import Ġkotlinx . serialization . Serializable Ċ Ċ val ĠMetric Dynamic Vis cos ity Units : ĠSet < Metric Dynamic Vis cos ity > Ġget () Ġ= ĠMetric Pressure Units . flatMap Ġ{ Ġpressure Ġ-> ĊĠĠĠ ĠTime Units . map Ġ{ Ġpressure Ġx Ġit Ġ} Ċ }. toSet () Ċ Ċ val ĠImp erial Dynamic Vis cos ity Units : ĠSet < Imp erial Dynamic Vis cos ity > Ġget () Ġ= ĠImp erial Pressure Units . flatMap Ġ{ Ġpressure Ġ-> ĊĠĠĠ ĠTime Units . map Ġ{ Ġpressure Ġx Ġit Ġ} Ċ }. toSet () Ċ Ċ val ĠUK Imp erial Dynamic Vis cos ity Units : ĠSet < UK Imp erial Dynamic Vis cos ity > Ġget () Ġ= ĠUK Imp erial Pressure Units . flatMap Ġ{ Ġpressure Ġ-> ĊĠĠĠ ĠTime Units . map Ġ{ Ġpressure Ġx Ġit Ġ} Ċ }. toSet () Ċ Ċ val ĠU SC ustom ary Dynamic Vis cos ity Units : ĠSet < US Custom ary Dynamic Vis cos ity > Ġget () Ġ= ĠU SC ustom ary Pressure Units . flatMap Ġ{ Ġpressure Ġ-> ĊĠĠĠ ĠTime Units . map Ġ{ Ġpressure Ġx Ġit Ġ} Ċ }. toSet () Ċ Ċ val ĠDynamic Vis cos ity Units : ĠSet < Dynamic Vis cos ity > Ġget () Ġ= ĠMetric Dynamic Vis cos ity Units Ġ+ ĊĠĠĠ ĠImp erial Dynamic Vis cos ity Units Ġ+ ĊĠĠĠ ĠUK Imp erial Dynamic Vis cos ity Units . filter Ġ{ Ġit . pressure Ġ! is ĠUK Imp erial Pressure Wrapper Ġ}. toSet () Ġ+ ĊĠĠĠ ĠU SC ustom ary Dynamic Vis cos ity Units . filter Ġ{ Ġit . pressure Ġ! is ĠU SC ustom ary Imp erial Pressure Wrapper Ġ}. toSet () Ċ Ċ @ Serializable Ċ sealed Ġclass ĠDynamic Vis cos ity Ġ: ĠAbstract Sc ientific Unit < Physical Quantity . Dynamic Vis cos ity >() Ġ{ ĊĠĠĠ Ġabstract Ġval Ġpressure : ĠPress ure ĊĠĠĠ Ġabstract Ġval Ġtime : ĠTime ĊĠĠĠ Ġoverride Ġval Ġquantity Ġ= ĠPhysical Quantity . Dynamic Vis cos ity ĊĠĠĠ Ġoverride Ġval Ġsymbol : ĠString Ġby Ġlazy Ġ{ Ġ"${ pressure . symbol } âĭ ħ ${ time . symbol }" Ġ} ĊĠĠĠ Ġoverride Ġfun Ġfrom SI Unit ( value : ĠDecimal ): ĠDecimal Ġ= Ġtime . from SI Unit ( pressure . from SI Unit ( value )) ĊĠĠĠ Ġoverride Ġfun Ġto SI Unit ( value : ĠDecimal ): ĠDecimal Ġ= Ġpressure . to SI Unit ( time . to SI Unit ( value )) Ċ } Ċ Ċ @ Serializable Ċ data Ġclass ĠMetric Dynamic Vis cos ity ( override Ġval Ġpressure : ĠMetric Pressure , Ġoverride Ġval Ġtime : ĠTime ) Ġ: ĠDynamic Vis cos ity (), ĠMetric Sc ientific Unit < Physical Quantity . Dynamic Vis cos ity > Ġ{ ĊĠĠĠ Ġoverride Ġval Ġsystem Ġ= ĠMeasurement System . Metric Ċ } Ċ @ Serializable Ċ data Ġclass ĠImp erial Dynamic Vis cos ity ( override Ġval Ġpressure : ĠImp erial Pressure , Ġoverride Ġval Ġtime : ĠTime ) Ġ: ĠDynamic Vis cos ity (), ĠImp erial Sc ientific Unit < Physical Quantity . Dynamic Vis cos ity > Ġ{ ĊĠĠĠ Ġoverride Ġval Ġsystem Ġ= ĠMeasurement System . Imp erial ĊĠĠĠ Ġval Ġuk Imp erial Ġget () Ġ= Ġpressure . uk Imp erial Ġx Ġtime ĊĠĠĠ Ġval Ġus Custom ary Ġget () Ġ= Ġpressure . us Custom ary Ġx Ġtime Ċ } Ċ @ Serializable Ċ data Ġclass ĠUK Imp erial Dynamic Vis cos ity ( override Ġval Ġpressure : ĠUK Imp erial Pressure , Ġoverride Ġval Ġtime : ĠTime ) Ġ: ĠDynamic Vis cos ity (), ĠUK Imp erial Sc ientific Unit < Physical Quantity . Dynamic Vis cos ity > Ġ{ ĊĠĠĠ Ġoverride Ġval Ġsystem Ġ= ĠMeasurement System . UK Imp erial Ċ } Ċ @ Serializable Ċ data Ġclass ĠU SC ustom ary Dynamic Vis cos ity ( override Ġval Ġpressure : ĠU SC ustom ary Pressure , Ġoverride Ġval Ġtime : ĠTime ) Ġ: ĠDynamic Vis cos ity (), ĠU SC ustom ary Sc ientific Unit < Physical Quantity . Dynamic Vis cos ity > Ġ{ ĊĠĠĠ Ġoverride Ġval Ġsystem Ġ= ĠMeasurement System . US Custom ary Ċ } Ċ Ċ infix Ġfun ĠMetric Pressure . x ( time : ĠTime ) Ġ= ĠMetric Dynamic Vis cos ity ( this , Ġtime ) Ċ infix Ġfun ĠImp erial Pressure . x ( time : ĠTime ) Ġ= ĠImp erial Dynamic Vis cos ity ( this , Ġtime ) Ċ infix Ġfun ĠUK Imp erial Pressure . x ( time : ĠTime ) Ġ= ĠUK Imp erial Dynamic Vis cos ity ( this , Ġtime ) Ċ infix Ġfun ĠU SC ustom ary Pressure . x ( time : ĠTime ) Ġ= ĠU SC ustom ary Dynamic Vis cos ity ( this , Ġtime ) Ċ