From f912edcc9584e0d89f8f86e4f55804d0c0aee52d Mon Sep 17 00:00:00 2001 From: Ziyang Liu Date: Fri, 27 Sep 2024 10:31:36 -0700 Subject: [PATCH 01/70] Fix some issues and inconsistencies related to pretty-printing (#6515) --- .../20240924_105256_unsafeFixIO_pretty.md | 12 + .../plutus-core/src/PlutusCore/Pretty.hs | 2 + .../src/PlutusCore/Pretty/Readable.hs | 8 + .../PlutusIR/Core/Instance/Pretty/Readable.hs | 16 +- .../plutus-ir/test/PlutusIR/Core/Tests.hs | 5 +- .../PlutusIR/Generators/QuickCheck/Tests.hs | 4 +- .../Generators/QuickCheck/GenerateTypes.hs | 8 +- .../PlutusCore/Generators/QuickCheck/Utils.hs | 13 +- .../Generators/QuickCheck/GenerateTerms.hs | 11 +- ...erals-NoStrict-NegativeLiterals.pir.golden | 26 +- ...als-NoStrict-NoNegativeLiterals.pir.golden | 26 +- ...iterals-Strict-NegativeLiterals.pir.golden | 26 +- ...erals-Strict-NoNegativeLiterals.pir.golden | 26 +- .../NoStrict/NegativeLiterals/Spec.hs | 2 +- .../NoStrict/NoNegativeLiterals/Spec.hs | 2 +- .../Strict/NegativeLiterals/Spec.hs | 2 +- .../Strict/NoNegativeLiterals/Spec.hs | 2 +- .../9.6/defaultCaseDuplication.pir.golden | 36 +- .../defaultCaseDuplicationNested.pir.golden | 52 +-- .../test/Plugin/Basic/9.6/ifOpt.pir.golden | 52 +-- .../test/Plugin/Basic/9.6/letFun.pir.golden | 42 +- .../Plugin/Basic/9.6/monadicDo.pir.golden | 90 ++-- .../test/Plugin/Basic/9.6/monoId.pir.golden | 2 +- .../test/Plugin/Basic/9.6/monoK.pir.golden | 4 +- .../Plugin/Basic/9.6/nonstrictLet.pir.golden | 30 +- .../Basic/9.6/patternMatchDo.pir.golden | 108 +++-- .../Plugin/Basic/9.6/strictLet.pir.golden | 30 +- .../Plugin/Basic/9.6/strictLetRec.pir.golden | 44 +- .../Basic/9.6/strictMultiLet.pir.golden | 32 +- plutus-tx-plugin/test/Plugin/Basic/Spec.hs | 26 +- .../Coverage/9.6/coverageCode.pir.golden | 326 +++++++------ plutus-tx-plugin/test/Plugin/Coverage/Spec.hs | 2 +- .../Data/9.6/families/associated.pir.golden | 2 +- .../9.6/families/associatedParam.pir.golden | 18 +- .../Data/9.6/families/basicClosed.pir.golden | 2 +- .../Data/9.6/families/basicData.pir.golden | 18 +- .../Data/9.6/families/basicOpen.pir.golden | 2 +- .../Data/9.6/monomorphic/atPattern.pir.golden | 38 +- .../9.6/monomorphic/defaultCase.pir.golden | 34 +- .../Data/9.6/monomorphic/enum.pir.golden | 14 +- .../monomorphic/irrefutableMatch.pir.golden | 42 +- .../Data/9.6/monomorphic/monoCase.pir.golden | 32 +- .../9.6/monomorphic/monoCaseStrict.pir.golden | 32 +- .../monomorphic/monoConstructed.pir.golden | 20 +- .../monomorphic/monoConstructor.pir.golden | 30 +- .../9.6/monomorphic/monoDataType.pir.golden | 34 +- .../9.6/monomorphic/monoRecord.pir.golden | 14 +- .../9.6/monomorphic/nonValueCase.pir.golden | 40 +- .../9.6/monomorphic/recordNewtype.pir.golden | 14 +- .../recordWithStrictField.pir.golden | 36 +- .../monomorphic/strictDataMatch.pir.golden | 26 +- .../Data/9.6/monomorphic/synonym.pir.golden | 2 +- .../9.6/monomorphic/unusedWrapper.pir.golden | 32 +- .../Data/9.6/newtypes/basicNewtype.pir.golden | 2 +- .../newtypes/nestedNewtypeMatch.pir.golden | 2 +- .../9.6/newtypes/newtypeCreate.pir.golden | 2 +- .../9.6/newtypes/newtypeCreate2.pir.golden | 2 +- .../Data/9.6/newtypes/newtypeId.pir.golden | 2 +- .../Data/9.6/newtypes/newtypeMatch.pir.golden | 2 +- .../Data/9.6/newtypes/paramNewtype.pir.golden | 20 +- .../polymorphic/defaultCasePoly.pir.golden | 32 +- .../polymorphic/polyConstructed.pir.golden | 32 +- .../9.6/polymorphic/polyDataType.pir.golden | 32 +- .../9.6/recursive/listConstruct.pir.golden | 14 +- .../9.6/recursive/listConstruct2.pir.golden | 26 +- .../9.6/recursive/listConstruct3.pir.golden | 14 +- .../Data/9.6/recursive/listMatch.pir.golden | 25 +- .../9.6/recursive/ptreeConstruct.pir.golden | 64 ++- .../Data/9.6/recursive/ptreeMatch.pir.golden | 36 +- plutus-tx-plugin/test/Plugin/Data/Spec.hs | 74 +-- .../Functions/9.6/recursive/even.pir.golden | 94 ++-- .../Functions/9.6/recursive/fib.pir.golden | 108 +++-- .../9.6/recursive/lazyLength.pir.golden | 70 ++- .../9.6/recursive/strictLength.pir.golden | 70 ++- .../Functions/9.6/recursive/sum.pir.golden | 52 +-- .../9.6/unfoldings/allDirect.pir.golden | 150 +++--- .../9.6/unfoldings/andDirect.pir.golden | 64 ++- .../9.6/unfoldings/andExternal.pir.golden | 40 +- .../unfoldings/applicationFunction.pir.golden | 40 +- .../mutualRecursionUnfoldings.pir.golden | 72 ++- .../9.6/unfoldings/nandDirect.pir.golden | 50 +- .../9.6/unfoldings/polyMap.pir.golden | 84 ++-- .../9.6/unfoldings/recordSelector.pir.golden | 18 +- .../recordSelectorExternal.pir.golden | 18 +- .../9.6/unfoldings/unboxedTuples2.pir.golden | 48 +- .../unboxedTuples2Tuples.pir.golden | 112 +++-- .../9.6/unfoldings/unboxedTuples3.pir.golden | 52 +-- .../unboxedTuples3Tuples.pir.golden | 128 +++--- .../9.6/unfoldings/unboxedTuples4.pir.golden | 54 ++- .../9.6/unfoldings/unboxedTuples5.pir.golden | 66 ++- .../test/Plugin/Functions/Spec.hs | 40 +- .../Plugin/Laziness/9.6/joinError.pir.golden | 60 ++- .../Laziness/9.6/lazyDepUnit.pir.golden | 16 +- plutus-tx-plugin/test/Plugin/Laziness/Spec.hs | 4 +- .../test/Plugin/Primitives/9.6/and.pir.golden | 30 +- .../Plugin/Primitives/9.6/bool.pir.golden | 14 +- .../Primitives/9.6/bytestring.pir.golden | 2 +- .../9.6/deconstructorData1.pir.golden | 14 +- .../9.6/deconstructorData2.pir.golden | 245 +++++----- .../Primitives/9.6/emptyByteString.pir.golden | 2 +- .../Primitives/9.6/encodeUtf8.pir.golden | 12 +- .../Plugin/Primitives/9.6/error.pir.golden | 16 +- .../Primitives/9.6/ifThenElse.pir.golden | 52 +-- .../test/Plugin/Primitives/9.6/int.pir.golden | 2 +- .../Plugin/Primitives/9.6/int2.pir.golden | 2 +- .../Primitives/9.6/intCompare.pir.golden | 42 +- .../Plugin/Primitives/9.6/intDiv.pir.golden | 28 +- .../Plugin/Primitives/9.6/intEq.pir.golden | 42 +- .../Plugin/Primitives/9.6/intPlus.pir.golden | 28 +- .../Primitives/9.6/serialiseData.pir.golden | 12 +- .../Plugin/Primitives/9.6/string.pir.golden | 2 +- .../Primitives/9.6/stringLiteral.pir.golden | 2 +- .../Plugin/Primitives/9.6/trace.pir.golden | 16 +- .../Primitives/9.6/traceComplex.pir.golden | 58 ++- .../Plugin/Primitives/9.6/tuple.pir.golden | 12 +- .../Primitives/9.6/tupleMatch.pir.golden | 24 +- .../Plugin/Primitives/9.6/verify.pir.golden | 48 +- .../Plugin/Primitives/9.6/void.pir.golden | 70 ++- .../test/Plugin/Primitives/Spec.hs | 48 +- .../Plugin/Profiling/9.6/addInt.pir.golden | 52 +-- .../test/Plugin/Profiling/9.6/fib.pir.golden | 167 ++++--- .../Plugin/Profiling/9.6/idCode.pir.golden | 24 +- .../test/Plugin/Profiling/Spec.hs | 8 +- .../Typeclasses/9.6/compareTest.pir.golden | 324 +++++++------ .../Typeclasses/9.6/concatTest.pir.golden | 192 ++++---- .../Typeclasses/9.6/defaultMethods.pir.golden | 67 ++- .../9.6/fmapDefaultTest.pir.golden | 381 ++++++++-------- .../Typeclasses/9.6/multiFunction.pir.golden | 144 +++--- .../9.6/partialApplication.pir.golden | 74 ++- .../Typeclasses/9.6/sequenceTest.pir.golden | 428 +++++++++--------- .../Typeclasses/9.6/sizedBasic.pir.golden | 20 +- .../Typeclasses/9.6/sizedPair.pir.golden | 86 ++-- .../Plugin/Typeclasses/9.6/sumTest.pir.golden | 175 ++++--- .../test/Plugin/Typeclasses/Spec.hs | 20 +- .../test/StdLib/9.6/errorTrace.pir.golden | 34 +- plutus-tx-plugin/test/StdLib/Spec.hs | 4 +- plutus-tx/testlib/PlutusTx/Test.hs | 9 +- 137 files changed, 3120 insertions(+), 3352 deletions(-) create mode 100644 plutus-core/changelog.d/20240924_105256_unsafeFixIO_pretty.md diff --git a/plutus-core/changelog.d/20240924_105256_unsafeFixIO_pretty.md b/plutus-core/changelog.d/20240924_105256_unsafeFixIO_pretty.md new file mode 100644 index 00000000000..228e05ffcc4 --- /dev/null +++ b/plutus-core/changelog.d/20240924_105256_unsafeFixIO_pretty.md @@ -0,0 +1,12 @@ + +### Removed + +- Removed `PlutusIR.Core.Instance.Pretty.Readable.PrettyPir`. + Use `PlutusCore.Pretty.Readable.PrettyReadable` instead. + +### Changed + +- Renamed `PlutusIR.Core.Instance.Pretty.Readable.prettyPirReadable` + to `PlutusCore.Pretty.Readable.prettyReadable`. +- Renamed `PlutusIR.Core.Instance.Pretty.Readable.prettyPirReadableSimple` + to `PlutusCore.Pretty.Readable.prettyReadableSimple`. diff --git a/plutus-core/plutus-core/src/PlutusCore/Pretty.hs b/plutus-core/plutus-core/src/PlutusCore/Pretty.hs index 536c9d8426f..f0bab62379a 100644 --- a/plutus-core/plutus-core/src/PlutusCore/Pretty.hs +++ b/plutus-core/plutus-core/src/PlutusCore/Pretty.hs @@ -50,6 +50,8 @@ module PlutusCore.Pretty -- * Readable view , ShowKinds (..) , PrettyConfigReadable (..) + , prettyReadable + , prettyReadableSimple , pcrConfigName , pcrRenderContext , pcrShowKinds diff --git a/plutus-core/plutus-core/src/PlutusCore/Pretty/Readable.hs b/plutus-core/plutus-core/src/PlutusCore/Pretty/Readable.hs index 247f3e8da2b..b35b03858f8 100644 --- a/plutus-core/plutus-core/src/PlutusCore/Pretty/Readable.hs +++ b/plutus-core/plutus-core/src/PlutusCore/Pretty/Readable.hs @@ -272,3 +272,11 @@ iterInterAppPrettyM fun args = let ppArg (Left ty) = prettyArg $ inBraces ty ppArg (Right term) = prettyArg term in prettyFun fun :| map ppArg args + +-- | Pretty-print something with the @PrettyConfigReadable@ config. +prettyReadable :: (PrettyReadable a) => a -> Doc ann +prettyReadable = prettyBy (botPrettyConfigReadable prettyConfigName def) + +-- | Pretty-print something with the @PrettyConfigReadableSimple@ config. +prettyReadableSimple :: (PrettyReadable a) => a -> Doc ann +prettyReadableSimple = prettyBy (botPrettyConfigReadable prettyConfigNameSimple def) diff --git a/plutus-core/plutus-ir/src/PlutusIR/Core/Instance/Pretty/Readable.hs b/plutus-core/plutus-ir/src/PlutusIR/Core/Instance/Pretty/Readable.hs index 120e404c794..e30f639fbae 100644 --- a/plutus-core/plutus-ir/src/PlutusIR/Core/Instance/Pretty/Readable.hs +++ b/plutus-core/plutus-ir/src/PlutusIR/Core/Instance/Pretty/Readable.hs @@ -11,11 +11,7 @@ {-# OPTIONS_GHC -Wno-unrecognised-pragmas #-} {-# HLINT ignore "Eta reduce" #-} -- breaks type inference -module PlutusIR.Core.Instance.Pretty.Readable - ( prettyPirReadable - , prettyPirReadableSimple - , PrettyPir - ) where +module PlutusIR.Core.Instance.Pretty.Readable () where import PlutusCore.Pretty import PlutusIR.Core.Type @@ -25,16 +21,6 @@ import Data.Profunctor import Prettyprinter import Prettyprinter.Custom -type PrettyPir = PrettyBy (PrettyConfigReadable PrettyConfigName) - --- | Pretty-print something with the @PrettyConfigReadable@ config. -prettyPirReadable :: PrettyPir a => a -> Doc ann -prettyPirReadable = prettyBy (botPrettyConfigReadable prettyConfigName def) - --- | Pretty-print something with the @PrettyConfigReadableSimple@ config. -prettyPirReadableSimple :: PrettyPir a => a -> Doc ann -prettyPirReadableSimple = prettyBy (botPrettyConfigReadable prettyConfigNameSimple def) - -- | Split an iterated 'LamAbs' (if any) into a list of variables that it binds and its body. viewLamAbs :: Term tyname name uni fun ann diff --git a/plutus-core/plutus-ir/test/PlutusIR/Core/Tests.hs b/plutus-core/plutus-ir/test/PlutusIR/Core/Tests.hs index 6d7611cdc3d..c3a20e84fb7 100644 --- a/plutus-core/plutus-ir/test/PlutusIR/Core/Tests.hs +++ b/plutus-core/plutus-ir/test/PlutusIR/Core/Tests.hs @@ -1,8 +1,8 @@ module PlutusIR.Core.Tests where import PlutusCore qualified as PLC +import PlutusCore.Pretty import PlutusIR -import PlutusIR.Core.Instance.Pretty.Readable import PlutusIR.Parser (pTerm) import PlutusIR.Test @@ -25,7 +25,7 @@ test_prettyprintingReadable :: TestTree test_prettyprintingReadable = runTestNested ["plutus-ir", "test", "PlutusIR", "Core", "prettyprintingReadable"] $ map - (goldenPirDoc prettyPirReadableSimple pTerm) + (goldenPirDoc prettyReadableSimple pTerm) [ "basic" , "maybe" , "letInLet" @@ -60,4 +60,3 @@ roundTripPirTerm = decodeOrError . unflat . flat . void where decodeOrError (Right tm) = tm decodeOrError (Left err) = error (show err) - diff --git a/plutus-core/plutus-ir/test/PlutusIR/Generators/QuickCheck/Tests.hs b/plutus-core/plutus-ir/test/PlutusIR/Generators/QuickCheck/Tests.hs index 4d0b2212403..7fd3c02a149 100644 --- a/plutus-core/plutus-ir/test/PlutusIR/Generators/QuickCheck/Tests.hs +++ b/plutus-core/plutus-ir/test/PlutusIR/Generators/QuickCheck/Tests.hs @@ -17,12 +17,12 @@ import PlutusCore.Default import PlutusCore.Evaluation.Machine.ExBudget import PlutusCore.Evaluation.Machine.ExBudgetingDefaults (defaultCekParametersForTesting) import PlutusCore.Name.Unique +import PlutusCore.Pretty import PlutusCore.Quote import PlutusCore.Rename import PlutusCore.Test (toUPlc) import PlutusCore.Version (latestVersion) import PlutusIR -import PlutusIR.Core.Instance.Pretty.Readable import PlutusIR.Test () import UntypedPlutusCore qualified as UPLC import UntypedPlutusCore.Evaluation.Machine.Cek (restricting, runCekNoEmit, @@ -142,7 +142,7 @@ prop_stats_leaves :: Property prop_stats_leaves = withMaxSuccess 10 $ -- No shrinking here because we are only collecting stats forAllDoc "_,tm" genTypeAndTerm_ (const []) $ \ (_, tm) -> - tabulate "leaves" (map (filter isAlpha . show . prettyPirReadable) $ leaves tm) $ property True + tabulate "leaves" (map (filter isAlpha . show . prettyReadable) $ leaves tm) $ property True where -- Figure out what's at the leaves of the AST, -- including variable names, error, and builtins. diff --git a/plutus-core/testlib/PlutusCore/Generators/QuickCheck/GenerateTypes.hs b/plutus-core/testlib/PlutusCore/Generators/QuickCheck/GenerateTypes.hs index a2f0d8e5579..5a5e6ad6097 100644 --- a/plutus-core/testlib/PlutusCore/Generators/QuickCheck/GenerateTypes.hs +++ b/plutus-core/testlib/PlutusCore/Generators/QuickCheck/GenerateTypes.hs @@ -13,9 +13,9 @@ import PlutusCore.Core import PlutusCore.Default import PlutusCore.Name.Unique import PlutusCore.Normalize +import PlutusCore.Pretty import PlutusCore.Quote (runQuote) import PlutusIR -import PlutusIR.Core.Instance.Pretty.Readable import Control.Monad (replicateM, when) import Control.Monad.Reader (asks, local) @@ -89,9 +89,9 @@ genType k = do Right _ -> pure () Left err -> error . show $ fold - [ "genType - checkInvariants: type " <> prettyPirReadable ty - , " does not match kind " <> prettyPirReadable k - , " in context " <> prettyPirReadable ctx + [ "genType - checkInvariants: type " <> prettyReadable ty + , " does not match kind " <> prettyReadable k + , " in context " <> prettyReadable ctx , " with error message " <> fromString err ] pure ty diff --git a/plutus-core/testlib/PlutusCore/Generators/QuickCheck/Utils.hs b/plutus-core/testlib/PlutusCore/Generators/QuickCheck/Utils.hs index d3822afc3c3..8fda3b95806 100644 --- a/plutus-core/testlib/PlutusCore/Generators/QuickCheck/Utils.hs +++ b/plutus-core/testlib/PlutusCore/Generators/QuickCheck/Utils.hs @@ -14,7 +14,6 @@ import PlutusCore.Pretty import PlutusCore.Quote import PlutusIR import PlutusIR.Compiler.Datatype -import PlutusIR.Core.Instance.Pretty.Readable import PlutusIR.Subst import Data.Kind qualified as GHC @@ -43,16 +42,16 @@ ceDoc d = counterexample (render d) -- | Bind a value to a name in a property so that -- it is displayed as a `name = thing` binding if the -- property fails. -letCE :: (PrettyPir a, Testable p) +letCE :: (PrettyReadable a, Testable p) => String -> a -> (a -> p) -> Property -letCE name x k = ceDoc (fromString name <+> "=" <+> prettyPirReadable x) (k x) +letCE name x k = ceDoc (fromString name <+> "=" <+> prettyReadable x) (k x) -- | Like `forAllShrink` but displays the bound value as -- a named pretty-printed binding like `letCE` -forAllDoc :: (PrettyPir a, Testable p) +forAllDoc :: (PrettyReadable a, Testable p) => String -> Gen a -> (a -> [a]) @@ -60,14 +59,14 @@ forAllDoc :: (PrettyPir a, Testable p) -> Property forAllDoc name g shr k = forAllShrinkBlind g shr $ \ x -> - ceDoc (fromString name <+> "=" <+> prettyPirReadable x) + ceDoc (fromString name <+> "=" <+> prettyReadable x) (k x) -- | Check that a list of potential counterexamples is empty and display the -- list as a QuickCheck counterexample if its not. -assertNoCounterexamples :: PrettyPir a => [a] -> Property +assertNoCounterexamples :: (PrettyReadable a) => [a] -> Property assertNoCounterexamples [] = property True -assertNoCounterexamples bad = ceDoc (prettyPirReadable bad) False +assertNoCounterexamples bad = ceDoc (prettyReadable bad) False -- * Containers (zipper-ish, very useful for shrinking). diff --git a/plutus-core/testlib/PlutusIR/Generators/QuickCheck/GenerateTerms.hs b/plutus-core/testlib/PlutusIR/Generators/QuickCheck/GenerateTerms.hs index db18312fab6..95237da67c4 100644 --- a/plutus-core/testlib/PlutusIR/Generators/QuickCheck/GenerateTerms.hs +++ b/plutus-core/testlib/PlutusIR/Generators/QuickCheck/GenerateTerms.hs @@ -32,10 +32,10 @@ import PlutusCore.Core (argsFunKind) import PlutusCore.Default import PlutusCore.MkPlc (mkConstantOf) import PlutusCore.Name.Unique +import PlutusCore.Pretty import PlutusCore.Subst (typeSubstClosedType) import PlutusIR import PlutusIR.Compiler -import PlutusIR.Core.Instance.Pretty.Readable import PlutusIR.Subst import Control.Lens ((<&>)) @@ -55,7 +55,6 @@ import Data.Set.Lens (setOf) import Data.String import GHC.Stack import Prettyprinter -import Text.PrettyBy -- | This type keeps track of what kind of argument, term argument (`InstArg`) or -- type argument (`InstApp`) is required for a function. This type is used primarily @@ -264,10 +263,10 @@ genTerm mty = checkInvariants $ do if debug then case typeCheckTermInContext tyctx tmctx tm ty of Left err -> - (error . show $ "genTerm - checkInvariants: term " <> prettyPirReadable tm - <> " does not type check at type " <> prettyPirReadable ty - <> " in type context " <> prettyPirReadable tyctx - <> " and term context " <> prettyPirReadable tmctx + (error . show $ "genTerm - checkInvariants: term " <> prettyReadable tm + <> " does not type check at type " <> prettyReadable ty + <> " in type context " <> prettyReadable tyctx + <> " and term context " <> prettyReadable tmctx <> " with error message " <> fromString err) _ -> return (ty, tm) else diff --git a/plutus-tx-plugin/test/IntegerLiterals/9.6/integerLiterals-NoStrict-NegativeLiterals.pir.golden b/plutus-tx-plugin/test/IntegerLiterals/9.6/integerLiterals-NoStrict-NegativeLiterals.pir.golden index 8fad28782d2..8e83c26bfd5 100644 --- a/plutus-tx-plugin/test/IntegerLiterals/9.6/integerLiterals-NoStrict-NegativeLiterals.pir.golden +++ b/plutus-tx-plugin/test/IntegerLiterals/9.6/integerLiterals-NoStrict-NegativeLiterals.pir.golden @@ -1,20 +1,18 @@ -program - 1.1.0 - (\(x : integer) -> - addInteger - 24680135792468013579 +\(x : integer) -> + addInteger + 24680135792468013579 + (addInteger + -99887766554433221100 (addInteger - -99887766554433221100 + 98765432109876543210 (addInteger - 98765432109876543210 + -654 (addInteger - -654 + 456 (addInteger - 456 + 13579246801357924680 (addInteger - 13579246801357924680 + -11223344556677889900 (addInteger - -11223344556677889900 - (addInteger - 12345678901234567890 - (addInteger -321 (multiplyInteger 123 x)))))))))) \ No newline at end of file + 12345678901234567890 + (addInteger -321 (multiplyInteger 123 x))))))))) \ No newline at end of file diff --git a/plutus-tx-plugin/test/IntegerLiterals/9.6/integerLiterals-NoStrict-NoNegativeLiterals.pir.golden b/plutus-tx-plugin/test/IntegerLiterals/9.6/integerLiterals-NoStrict-NoNegativeLiterals.pir.golden index 8fad28782d2..8e83c26bfd5 100644 --- a/plutus-tx-plugin/test/IntegerLiterals/9.6/integerLiterals-NoStrict-NoNegativeLiterals.pir.golden +++ b/plutus-tx-plugin/test/IntegerLiterals/9.6/integerLiterals-NoStrict-NoNegativeLiterals.pir.golden @@ -1,20 +1,18 @@ -program - 1.1.0 - (\(x : integer) -> - addInteger - 24680135792468013579 +\(x : integer) -> + addInteger + 24680135792468013579 + (addInteger + -99887766554433221100 (addInteger - -99887766554433221100 + 98765432109876543210 (addInteger - 98765432109876543210 + -654 (addInteger - -654 + 456 (addInteger - 456 + 13579246801357924680 (addInteger - 13579246801357924680 + -11223344556677889900 (addInteger - -11223344556677889900 - (addInteger - 12345678901234567890 - (addInteger -321 (multiplyInteger 123 x)))))))))) \ No newline at end of file + 12345678901234567890 + (addInteger -321 (multiplyInteger 123 x))))))))) \ No newline at end of file diff --git a/plutus-tx-plugin/test/IntegerLiterals/9.6/integerLiterals-Strict-NegativeLiterals.pir.golden b/plutus-tx-plugin/test/IntegerLiterals/9.6/integerLiterals-Strict-NegativeLiterals.pir.golden index 8fad28782d2..8e83c26bfd5 100644 --- a/plutus-tx-plugin/test/IntegerLiterals/9.6/integerLiterals-Strict-NegativeLiterals.pir.golden +++ b/plutus-tx-plugin/test/IntegerLiterals/9.6/integerLiterals-Strict-NegativeLiterals.pir.golden @@ -1,20 +1,18 @@ -program - 1.1.0 - (\(x : integer) -> - addInteger - 24680135792468013579 +\(x : integer) -> + addInteger + 24680135792468013579 + (addInteger + -99887766554433221100 (addInteger - -99887766554433221100 + 98765432109876543210 (addInteger - 98765432109876543210 + -654 (addInteger - -654 + 456 (addInteger - 456 + 13579246801357924680 (addInteger - 13579246801357924680 + -11223344556677889900 (addInteger - -11223344556677889900 - (addInteger - 12345678901234567890 - (addInteger -321 (multiplyInteger 123 x)))))))))) \ No newline at end of file + 12345678901234567890 + (addInteger -321 (multiplyInteger 123 x))))))))) \ No newline at end of file diff --git a/plutus-tx-plugin/test/IntegerLiterals/9.6/integerLiterals-Strict-NoNegativeLiterals.pir.golden b/plutus-tx-plugin/test/IntegerLiterals/9.6/integerLiterals-Strict-NoNegativeLiterals.pir.golden index 8fad28782d2..8e83c26bfd5 100644 --- a/plutus-tx-plugin/test/IntegerLiterals/9.6/integerLiterals-Strict-NoNegativeLiterals.pir.golden +++ b/plutus-tx-plugin/test/IntegerLiterals/9.6/integerLiterals-Strict-NoNegativeLiterals.pir.golden @@ -1,20 +1,18 @@ -program - 1.1.0 - (\(x : integer) -> - addInteger - 24680135792468013579 +\(x : integer) -> + addInteger + 24680135792468013579 + (addInteger + -99887766554433221100 (addInteger - -99887766554433221100 + 98765432109876543210 (addInteger - 98765432109876543210 + -654 (addInteger - -654 + 456 (addInteger - 456 + 13579246801357924680 (addInteger - 13579246801357924680 + -11223344556677889900 (addInteger - -11223344556677889900 - (addInteger - 12345678901234567890 - (addInteger -321 (multiplyInteger 123 x)))))))))) \ No newline at end of file + 12345678901234567890 + (addInteger -321 (multiplyInteger 123 x))))))))) \ No newline at end of file diff --git a/plutus-tx-plugin/test/IntegerLiterals/NoStrict/NegativeLiterals/Spec.hs b/plutus-tx-plugin/test/IntegerLiterals/NoStrict/NegativeLiterals/Spec.hs index f18db70247e..ec027ea86f8 100644 --- a/plutus-tx-plugin/test/IntegerLiterals/NoStrict/NegativeLiterals/Spec.hs +++ b/plutus-tx-plugin/test/IntegerLiterals/NoStrict/NegativeLiterals/Spec.hs @@ -21,7 +21,7 @@ import Test.Tasty.Extras tests :: TestNested tests = testNested "IntegerLiterals" . pure $ testNestedGhc - [ goldenPir "integerLiterals-NoStrict-NegativeLiterals" integerLiterals + [ goldenPirReadable "integerLiterals-NoStrict-NegativeLiterals" integerLiterals ] integerLiterals :: CompiledCode (Integer -> Integer) diff --git a/plutus-tx-plugin/test/IntegerLiterals/NoStrict/NoNegativeLiterals/Spec.hs b/plutus-tx-plugin/test/IntegerLiterals/NoStrict/NoNegativeLiterals/Spec.hs index 131ced5b40a..0ec5f8062ef 100644 --- a/plutus-tx-plugin/test/IntegerLiterals/NoStrict/NoNegativeLiterals/Spec.hs +++ b/plutus-tx-plugin/test/IntegerLiterals/NoStrict/NoNegativeLiterals/Spec.hs @@ -20,7 +20,7 @@ import Test.Tasty.Extras tests :: TestNested tests = testNested "IntegerLiterals" . pure $ testNestedGhc - [ goldenPir "integerLiterals-NoStrict-NoNegativeLiterals" integerLiterals + [ goldenPirReadable "integerLiterals-NoStrict-NoNegativeLiterals" integerLiterals ] integerLiterals :: CompiledCode (Integer -> Integer) diff --git a/plutus-tx-plugin/test/IntegerLiterals/Strict/NegativeLiterals/Spec.hs b/plutus-tx-plugin/test/IntegerLiterals/Strict/NegativeLiterals/Spec.hs index 027974207dc..dd244b2e314 100644 --- a/plutus-tx-plugin/test/IntegerLiterals/Strict/NegativeLiterals/Spec.hs +++ b/plutus-tx-plugin/test/IntegerLiterals/Strict/NegativeLiterals/Spec.hs @@ -21,7 +21,7 @@ import Test.Tasty.Extras tests :: TestNested tests = testNested "IntegerLiterals" . pure $ testNestedGhc - [ goldenPir "integerLiterals-Strict-NegativeLiterals" integerLiterals + [ goldenPirReadable "integerLiterals-Strict-NegativeLiterals" integerLiterals ] integerLiterals :: CompiledCode (Integer -> Integer) diff --git a/plutus-tx-plugin/test/IntegerLiterals/Strict/NoNegativeLiterals/Spec.hs b/plutus-tx-plugin/test/IntegerLiterals/Strict/NoNegativeLiterals/Spec.hs index ac458116d06..c6b5b82d8e6 100644 --- a/plutus-tx-plugin/test/IntegerLiterals/Strict/NoNegativeLiterals/Spec.hs +++ b/plutus-tx-plugin/test/IntegerLiterals/Strict/NoNegativeLiterals/Spec.hs @@ -20,7 +20,7 @@ import Test.Tasty.Extras tests :: TestNested tests = testNested "IntegerLiterals" . pure $ testNestedGhc - [ goldenPir "integerLiterals-Strict-NoNegativeLiterals" integerLiterals + [ goldenPirReadable "integerLiterals-Strict-NoNegativeLiterals" integerLiterals ] integerLiterals :: CompiledCode (Integer -> Integer) diff --git a/plutus-tx-plugin/test/Plugin/Basic/9.6/defaultCaseDuplication.pir.golden b/plutus-tx-plugin/test/Plugin/Basic/9.6/defaultCaseDuplication.pir.golden index fc6ae40a03d..c40f3581e57 100644 --- a/plutus-tx-plugin/test/Plugin/Basic/9.6/defaultCaseDuplication.pir.golden +++ b/plutus-tx-plugin/test/Plugin/Basic/9.6/defaultCaseDuplication.pir.golden @@ -1,20 +1,18 @@ -program - 1.1.0 - (let - ~defaultBody : integer = 2 - data A | A_match where - B : A - C : A - D : A +let + ~defaultBody : integer = 2 + data A | A_match where + B : A + C : A + D : A +in +\(ds : A) -> + let + !ds : A = ds in - \(ds : A) -> - let - !ds : A = ds - in - A_match - ds - {all dead. integer} - (/\dead -> 1) - (/\dead -> defaultBody) - (/\dead -> defaultBody) - {all dead. dead}) \ No newline at end of file + A_match + ds + {all dead. integer} + (/\dead -> 1) + (/\dead -> defaultBody) + (/\dead -> defaultBody) + {all dead. dead} \ No newline at end of file diff --git a/plutus-tx-plugin/test/Plugin/Basic/9.6/defaultCaseDuplicationNested.pir.golden b/plutus-tx-plugin/test/Plugin/Basic/9.6/defaultCaseDuplicationNested.pir.golden index 37bf137da63..1c9431814e0 100644 --- a/plutus-tx-plugin/test/Plugin/Basic/9.6/defaultCaseDuplicationNested.pir.golden +++ b/plutus-tx-plugin/test/Plugin/Basic/9.6/defaultCaseDuplicationNested.pir.golden @@ -1,32 +1,30 @@ -program - 1.1.0 - (let - ~defaultBody : integer = 3 - data A | A_match where - B : A - C : A - D : A +let + ~defaultBody : integer = 3 + data A | A_match where + B : A + C : A + D : A +in +\(ds : A) -> + let + !ds : A = ds in \(ds : A) -> let !ds : A = ds + ~defaultBody : integer + = A_match + ds + {all dead. integer} + (/\dead -> 2) + (/\dead -> defaultBody) + (/\dead -> defaultBody) + {all dead. dead} in - \(ds : A) -> - let - !ds : A = ds - ~defaultBody : integer - = A_match - ds - {all dead. integer} - (/\dead -> 2) - (/\dead -> defaultBody) - (/\dead -> defaultBody) - {all dead. dead} - in - A_match - ds - {all dead. integer} - (/\dead -> 1) - (/\dead -> defaultBody) - (/\dead -> defaultBody) - {all dead. dead}) \ No newline at end of file + A_match + ds + {all dead. integer} + (/\dead -> 1) + (/\dead -> defaultBody) + (/\dead -> defaultBody) + {all dead. dead} \ No newline at end of file diff --git a/plutus-tx-plugin/test/Plugin/Basic/9.6/ifOpt.pir.golden b/plutus-tx-plugin/test/Plugin/Basic/9.6/ifOpt.pir.golden index db3616eaaab..7f4a0d97bc7 100644 --- a/plutus-tx-plugin/test/Plugin/Basic/9.6/ifOpt.pir.golden +++ b/plutus-tx-plugin/test/Plugin/Basic/9.6/ifOpt.pir.golden @@ -1,29 +1,27 @@ -program - 1.1.0 - (let - !divideInteger : integer -> integer -> integer = divideInteger - ~divideInteger : integer -> integer -> integer - = \(x : integer) -> +let + !divideInteger : integer -> integer -> integer = divideInteger + ~divideInteger : integer -> integer -> integer + = \(x : integer) -> + let + !x : integer = x + in + \(y : integer) -> let !y : integer = y in divideInteger x y + data Bool | Bool_match where + True : Bool + False : Bool + !equalsInteger : integer -> integer -> bool = equalsInteger + !ifThenElse : all a. bool -> a -> a -> a = ifThenElse + ~equalsInteger : integer -> integer -> Bool + = \(x : integer) -> + let + !x : integer = x + in + \(y : integer) -> let - !x : integer = x + !y : integer = y + !b : bool = equalsInteger x y in - \(y : integer) -> let !y : integer = y in divideInteger x y - data Bool | Bool_match where - True : Bool - False : Bool - !equalsInteger : integer -> integer -> bool = equalsInteger - !ifThenElse : all a. bool -> a -> a -> a = ifThenElse - ~equalsInteger : integer -> integer -> Bool - = \(x : integer) -> - let - !x : integer = x - in - \(y : integer) -> - let - !y : integer = y - !b : bool = equalsInteger x y - in - ifThenElse {Bool} b True False - !wild : Bool = equalsInteger (divideInteger 1 0) 0 - in - 1) \ No newline at end of file + ifThenElse {Bool} b True False + !wild : Bool = equalsInteger (divideInteger 1 0) 0 +in +1 \ No newline at end of file diff --git a/plutus-tx-plugin/test/Plugin/Basic/9.6/letFun.pir.golden b/plutus-tx-plugin/test/Plugin/Basic/9.6/letFun.pir.golden index 210db8b4ce5..69c5751d728 100644 --- a/plutus-tx-plugin/test/Plugin/Basic/9.6/letFun.pir.golden +++ b/plutus-tx-plugin/test/Plugin/Basic/9.6/letFun.pir.golden @@ -1,25 +1,23 @@ -program - 1.1.0 - (let - data Bool | Bool_match where - True : Bool - False : Bool - !equalsInteger : integer -> integer -> bool = equalsInteger - !ifThenElse : all a. bool -> a -> a -> a = ifThenElse - ~equalsInteger : integer -> integer -> Bool - = \(x : integer) -> +let + data Bool | Bool_match where + True : Bool + False : Bool + !equalsInteger : integer -> integer -> bool = equalsInteger + !ifThenElse : all a. bool -> a -> a -> a = ifThenElse + ~equalsInteger : integer -> integer -> Bool + = \(x : integer) -> + let + !x : integer = x + in + \(y : integer) -> let - !x : integer = x + !y : integer = y + !b : bool = equalsInteger x y in - \(y : integer) -> - let - !y : integer = y - !b : bool = equalsInteger x y - in - ifThenElse {Bool} b True False + ifThenElse {Bool} b True False +in +\(ds : integer) -> + let + !ds : integer = ds in - \(ds : integer) -> - let - !ds : integer = ds - in - \(ds : integer) -> let !ds : integer = ds in equalsInteger ds ds) \ No newline at end of file + \(ds : integer) -> let !ds : integer = ds in equalsInteger ds ds \ No newline at end of file diff --git a/plutus-tx-plugin/test/Plugin/Basic/9.6/monadicDo.pir.golden b/plutus-tx-plugin/test/Plugin/Basic/9.6/monadicDo.pir.golden index 4d7ba359c3f..bdba29ec137 100644 --- a/plutus-tx-plugin/test/Plugin/Basic/9.6/monadicDo.pir.golden +++ b/plutus-tx-plugin/test/Plugin/Basic/9.6/monadicDo.pir.golden @@ -1,51 +1,49 @@ -program - 1.1.0 - (let - data (Maybe :: * -> *) a | Maybe_match where - Just : a -> Maybe a - Nothing : Maybe a - ~`$fApplicativeMaybe_$cpure` : all a. a -> Maybe a - = /\a -> \(ds : a) -> Just {a} ds - ~`$fMonadMaybe_$c>>=` : all a b. Maybe a -> (a -> Maybe b) -> Maybe b - = /\a b -> - \(ds : Maybe a) (k : a -> Maybe b) -> - Maybe_match - {a} - ds - {all dead. Maybe b} - (\(x : a) -> /\dead -> k x) - (/\dead -> Nothing {b}) - {all dead. dead} - !addInteger : integer -> integer -> integer = addInteger - ~addInteger : integer -> integer -> integer - = \(x : integer) -> - let - !x : integer = x - in - \(y : integer) -> let !y : integer = y in addInteger x y +let + data (Maybe :: * -> *) a | Maybe_match where + Just : a -> Maybe a + Nothing : Maybe a + ~`$fApplicativeMaybe_$cpure` : all a. a -> Maybe a + = /\a -> \(ds : a) -> Just {a} ds + ~`$fMonadMaybe_$c>>=` : all a b. Maybe a -> (a -> Maybe b) -> Maybe b + = /\a b -> + \(ds : Maybe a) (k : a -> Maybe b) -> + Maybe_match + {a} + ds + {all dead. Maybe b} + (\(x : a) -> /\dead -> k x) + (/\dead -> Nothing {b}) + {all dead. dead} + !addInteger : integer -> integer -> integer = addInteger + ~addInteger : integer -> integer -> integer + = \(x : integer) -> + let + !x : integer = x + in + \(y : integer) -> let !y : integer = y in addInteger x y +in +\(ds : Maybe integer) -> + let + !ds : Maybe integer = ds in \(ds : Maybe integer) -> let !ds : Maybe integer = ds in - \(ds : Maybe integer) -> - let - !ds : Maybe integer = ds - in - `$fMonadMaybe_$c>>=` - {integer} - {integer} - ds - (\(x' : integer) -> - let - !x' : integer = x' - in - `$fMonadMaybe_$c>>=` - {integer} - {integer} - ds - (\(y' : integer) -> - let - !y' : integer = y' - in - `$fApplicativeMaybe_$cpure` {integer} (addInteger x' y')))) \ No newline at end of file + `$fMonadMaybe_$c>>=` + {integer} + {integer} + ds + (\(x' : integer) -> + let + !x' : integer = x' + in + `$fMonadMaybe_$c>>=` + {integer} + {integer} + ds + (\(y' : integer) -> + let + !y' : integer = y' + in + `$fApplicativeMaybe_$cpure` {integer} (addInteger x' y'))) \ No newline at end of file diff --git a/plutus-tx-plugin/test/Plugin/Basic/9.6/monoId.pir.golden b/plutus-tx-plugin/test/Plugin/Basic/9.6/monoId.pir.golden index 5f274561f69..4e642ab9028 100644 --- a/plutus-tx-plugin/test/Plugin/Basic/9.6/monoId.pir.golden +++ b/plutus-tx-plugin/test/Plugin/Basic/9.6/monoId.pir.golden @@ -1 +1 @@ -program 1.1.0 (\(ds : integer) -> ds) \ No newline at end of file +\(ds : integer) -> ds \ No newline at end of file diff --git a/plutus-tx-plugin/test/Plugin/Basic/9.6/monoK.pir.golden b/plutus-tx-plugin/test/Plugin/Basic/9.6/monoK.pir.golden index 5a9a14aa00a..0db76b60cc2 100644 --- a/plutus-tx-plugin/test/Plugin/Basic/9.6/monoK.pir.golden +++ b/plutus-tx-plugin/test/Plugin/Basic/9.6/monoK.pir.golden @@ -1,3 +1 @@ -program - 1.1.0 - (\(ds : integer) -> let !ds : integer = ds in \(ds : integer) -> ds) \ No newline at end of file +\(ds : integer) -> let !ds : integer = ds in \(ds : integer) -> ds \ No newline at end of file diff --git a/plutus-tx-plugin/test/Plugin/Basic/9.6/nonstrictLet.pir.golden b/plutus-tx-plugin/test/Plugin/Basic/9.6/nonstrictLet.pir.golden index e4cf284e5b0..60b235ce2eb 100644 --- a/plutus-tx-plugin/test/Plugin/Basic/9.6/nonstrictLet.pir.golden +++ b/plutus-tx-plugin/test/Plugin/Basic/9.6/nonstrictLet.pir.golden @@ -1,21 +1,19 @@ -program - 1.1.0 - (let - !addInteger : integer -> integer -> integer = addInteger - ~addInteger : integer -> integer -> integer - = \(x : integer) -> - let - !x : integer = x - in - \(y : integer) -> let !y : integer = y in addInteger x y +let + !addInteger : integer -> integer -> integer = addInteger + ~addInteger : integer -> integer -> integer + = \(x : integer) -> + let + !x : integer = x + in + \(y : integer) -> let !y : integer = y in addInteger x y +in +\(ds : integer) -> + let + !ds : integer = ds in \(ds : integer) -> let !ds : integer = ds + !z : integer = addInteger ds ds in - \(ds : integer) -> - let - !ds : integer = ds - !z : integer = addInteger ds ds - in - addInteger z z) \ No newline at end of file + addInteger z z \ No newline at end of file diff --git a/plutus-tx-plugin/test/Plugin/Basic/9.6/patternMatchDo.pir.golden b/plutus-tx-plugin/test/Plugin/Basic/9.6/patternMatchDo.pir.golden index 94746c1b285..7c308299578 100644 --- a/plutus-tx-plugin/test/Plugin/Basic/9.6/patternMatchDo.pir.golden +++ b/plutus-tx-plugin/test/Plugin/Basic/9.6/patternMatchDo.pir.golden @@ -1,58 +1,56 @@ -program - 1.1.0 - (let - data (Maybe :: * -> *) a | Maybe_match where - Just : a -> Maybe a - Nothing : Maybe a - ~`$fApplicativeMaybe_$cpure` : all a. a -> Maybe a - = /\a -> \(ds : a) -> Just {a} ds - ~`$fMonadMaybe_$c>>=` : all a b. Maybe a -> (a -> Maybe b) -> Maybe b - = /\a b -> - \(ds : Maybe a) (k : a -> Maybe b) -> - Maybe_match - {a} - ds - {all dead. Maybe b} - (\(x : a) -> /\dead -> k x) - (/\dead -> Nothing {b}) - {all dead. dead} - data (Tuple2 :: * -> * -> *) a b | Tuple2_match where - Tuple2 : a -> b -> Tuple2 a b - !addInteger : integer -> integer -> integer = addInteger - ~addInteger : integer -> integer -> integer - = \(x : integer) -> - let - !x : integer = x - in - \(y : integer) -> let !y : integer = y in addInteger x y +let + data (Maybe :: * -> *) a | Maybe_match where + Just : a -> Maybe a + Nothing : Maybe a + ~`$fApplicativeMaybe_$cpure` : all a. a -> Maybe a + = /\a -> \(ds : a) -> Just {a} ds + ~`$fMonadMaybe_$c>>=` : all a b. Maybe a -> (a -> Maybe b) -> Maybe b + = /\a b -> + \(ds : Maybe a) (k : a -> Maybe b) -> + Maybe_match + {a} + ds + {all dead. Maybe b} + (\(x : a) -> /\dead -> k x) + (/\dead -> Nothing {b}) + {all dead. dead} + data (Tuple2 :: * -> * -> *) a b | Tuple2_match where + Tuple2 : a -> b -> Tuple2 a b + !addInteger : integer -> integer -> integer = addInteger + ~addInteger : integer -> integer -> integer + = \(x : integer) -> + let + !x : integer = x + in + \(y : integer) -> let !y : integer = y in addInteger x y +in +\(ds : Maybe (Tuple2 integer integer)) -> + let + !ds : Maybe (Tuple2 integer integer) = ds in - \(ds : Maybe (Tuple2 integer integer)) -> + \(ds : Maybe integer) -> let - !ds : Maybe (Tuple2 integer integer) = ds + !ds : Maybe integer = ds in - \(ds : Maybe integer) -> - let - !ds : Maybe integer = ds - in - `$fMonadMaybe_$c>>=` - {Tuple2 integer integer} - {integer} - ds - (\(ds : Tuple2 integer integer) -> - Tuple2_match - {integer} - {integer} - ds - {Maybe integer} - (\(x : integer) (x : integer) -> - `$fMonadMaybe_$c>>=` - {integer} - {integer} - ds - (\(y' : integer) -> - let - !y' : integer = y' - in - `$fApplicativeMaybe_$cpure` - {integer} - (addInteger (addInteger x x) y'))))) \ No newline at end of file + `$fMonadMaybe_$c>>=` + {Tuple2 integer integer} + {integer} + ds + (\(ds : Tuple2 integer integer) -> + Tuple2_match + {integer} + {integer} + ds + {Maybe integer} + (\(x : integer) (x : integer) -> + `$fMonadMaybe_$c>>=` + {integer} + {integer} + ds + (\(y' : integer) -> + let + !y' : integer = y' + in + `$fApplicativeMaybe_$cpure` + {integer} + (addInteger (addInteger x x) y')))) \ No newline at end of file diff --git a/plutus-tx-plugin/test/Plugin/Basic/9.6/strictLet.pir.golden b/plutus-tx-plugin/test/Plugin/Basic/9.6/strictLet.pir.golden index e4cf284e5b0..60b235ce2eb 100644 --- a/plutus-tx-plugin/test/Plugin/Basic/9.6/strictLet.pir.golden +++ b/plutus-tx-plugin/test/Plugin/Basic/9.6/strictLet.pir.golden @@ -1,21 +1,19 @@ -program - 1.1.0 - (let - !addInteger : integer -> integer -> integer = addInteger - ~addInteger : integer -> integer -> integer - = \(x : integer) -> - let - !x : integer = x - in - \(y : integer) -> let !y : integer = y in addInteger x y +let + !addInteger : integer -> integer -> integer = addInteger + ~addInteger : integer -> integer -> integer + = \(x : integer) -> + let + !x : integer = x + in + \(y : integer) -> let !y : integer = y in addInteger x y +in +\(ds : integer) -> + let + !ds : integer = ds in \(ds : integer) -> let !ds : integer = ds + !z : integer = addInteger ds ds in - \(ds : integer) -> - let - !ds : integer = ds - !z : integer = addInteger ds ds - in - addInteger z z) \ No newline at end of file + addInteger z z \ No newline at end of file diff --git a/plutus-tx-plugin/test/Plugin/Basic/9.6/strictLetRec.pir.golden b/plutus-tx-plugin/test/Plugin/Basic/9.6/strictLetRec.pir.golden index a2234ea9278..1a20b5651ce 100644 --- a/plutus-tx-plugin/test/Plugin/Basic/9.6/strictLetRec.pir.golden +++ b/plutus-tx-plugin/test/Plugin/Basic/9.6/strictLetRec.pir.golden @@ -1,28 +1,26 @@ -program - 1.1.0 - (let - !addInteger : integer -> integer -> integer = addInteger - ~addInteger : integer -> integer -> integer - = \(x : integer) -> - let - !x : integer = x - in - \(y : integer) -> let !y : integer = y in addInteger x y +let + !addInteger : integer -> integer -> integer = addInteger + ~addInteger : integer -> integer -> integer + = \(x : integer) -> + let + !x : integer = x + in + \(y : integer) -> let !y : integer = y in addInteger x y +in +\(ds : integer) -> + let + !ds : integer = ds in \(ds : integer) -> let !ds : integer = ds in - \(ds : integer) -> - let - !ds : integer = ds - in - letrec - ~q : integer = addInteger ds z - ~z : integer = addInteger ds q - in - let - !z : integer = z - !q : integer = q - in - addInteger z z) \ No newline at end of file + letrec + ~q : integer = addInteger ds z + ~z : integer = addInteger ds q + in + let + !z : integer = z + !q : integer = q + in + addInteger z z \ No newline at end of file diff --git a/plutus-tx-plugin/test/Plugin/Basic/9.6/strictMultiLet.pir.golden b/plutus-tx-plugin/test/Plugin/Basic/9.6/strictMultiLet.pir.golden index d410ebbec43..033c67089e7 100644 --- a/plutus-tx-plugin/test/Plugin/Basic/9.6/strictMultiLet.pir.golden +++ b/plutus-tx-plugin/test/Plugin/Basic/9.6/strictMultiLet.pir.golden @@ -1,22 +1,20 @@ -program - 1.1.0 - (let - !addInteger : integer -> integer -> integer = addInteger - ~addInteger : integer -> integer -> integer - = \(x : integer) -> - let - !x : integer = x - in - \(y : integer) -> let !y : integer = y in addInteger x y +let + !addInteger : integer -> integer -> integer = addInteger + ~addInteger : integer -> integer -> integer + = \(x : integer) -> + let + !x : integer = x + in + \(y : integer) -> let !y : integer = y in addInteger x y +in +\(ds : integer) -> + let + !ds : integer = ds in \(ds : integer) -> let !ds : integer = ds + !z : integer = addInteger ds ds + !q : integer = addInteger z z in - \(ds : integer) -> - let - !ds : integer = ds - !z : integer = addInteger ds ds - !q : integer = addInteger z z - in - addInteger q q) \ No newline at end of file + addInteger q q \ No newline at end of file diff --git a/plutus-tx-plugin/test/Plugin/Basic/Spec.hs b/plutus-tx-plugin/test/Plugin/Basic/Spec.hs index 8b674e0f56c..229a111dd7a 100644 --- a/plutus-tx-plugin/test/Plugin/Basic/Spec.hs +++ b/plutus-tx-plugin/test/Plugin/Basic/Spec.hs @@ -22,7 +22,7 @@ import PlutusTx.Builtins qualified as Builtins import PlutusTx.Code (CompiledCode) import PlutusTx.Plugin (plc) import PlutusTx.Prelude qualified as P -import PlutusTx.Test (goldenPir, goldenUPlc) +import PlutusTx.Test (goldenPirReadable, goldenUPlc) import Data.Proxy (Proxy (..)) import Test.Tasty.Extras (TestNested, testNested, testNestedGhc) @@ -30,22 +30,22 @@ import Test.Tasty.Extras (TestNested, testNested, testNestedGhc) basic :: TestNested basic = testNested "Basic" . pure $ testNestedGhc - [ goldenPir "monoId" monoId - , goldenPir "monoK" monoK - , goldenPir "letFun" letFun - , goldenPir "nonstrictLet" nonstrictLet - , goldenPir "strictLet" strictLet - , goldenPir "strictMultiLet" strictMultiLet - , goldenPir "strictLetRec" strictLetRec + [ goldenPirReadable "monoId" monoId + , goldenPirReadable "monoK" monoK + , goldenPirReadable "letFun" letFun + , goldenPirReadable "nonstrictLet" nonstrictLet + , goldenPirReadable "strictLet" strictLet + , goldenPirReadable "strictMultiLet" strictMultiLet + , goldenPirReadable "strictLetRec" strictLetRec , -- must keep the scrutinee as it evaluates to error - goldenPir "ifOpt" ifOpt + goldenPirReadable "ifOpt" ifOpt , -- should fail goldenUEval "ifOptEval" [ifOpt] - , goldenPir "monadicDo" monadicDo - , goldenPir "patternMatchDo" patternMatchDo + , goldenPirReadable "monadicDo" monadicDo + , goldenPirReadable "patternMatchDo" patternMatchDo , goldenUPlc "patternMatchFailure" patternMatchFailure - , goldenPir "defaultCaseDuplication" defaultCaseDuplication - , goldenPir "defaultCaseDuplicationNested" defaultCaseDuplicationNested + , goldenPirReadable "defaultCaseDuplication" defaultCaseDuplication + , goldenPirReadable "defaultCaseDuplicationNested" defaultCaseDuplicationNested ] monoId :: CompiledCode (Integer -> Integer) diff --git a/plutus-tx-plugin/test/Plugin/Coverage/9.6/coverageCode.pir.golden b/plutus-tx-plugin/test/Plugin/Coverage/9.6/coverageCode.pir.golden index c3e9f322fe8..108ea46192d 100644 --- a/plutus-tx-plugin/test/Plugin/Coverage/9.6/coverageCode.pir.golden +++ b/plutus-tx-plugin/test/Plugin/Coverage/9.6/coverageCode.pir.golden @@ -1,169 +1,167 @@ -program - 1.1.0 - (let - data (Maybe :: * -> *) a | Maybe_match where - Just : a -> Maybe a - Nothing : Maybe a - data Bool | Bool_match where - True : Bool - False : Bool - ~fail : - unit -> Maybe Bool - = \(ds : unit) -> - trace - {all dead a. Maybe a} - "CoverLocation (CovLoc {_covLocFile = \"test/Plugin/Coverage/Spec.hs\", _covLocStartLine = 41, _covLocEndLine = 41, _covLocStartCol = 14, _covLocEndCol = 15})" - (/\dead -> - trace - {all dead a. Maybe a} - "CoverLocation (CovLoc {_covLocFile = \"test/Plugin/Coverage/Spec.hs\", _covLocStartLine = 43, _covLocEndLine = 43, _covLocStartCol = 26, _covLocEndCol = 33})" - (/\dead -> Nothing) - {all dead. dead}) - {all dead. dead} - {Bool} - !equalsInteger : integer -> integer -> bool = equalsInteger - !ifThenElse : all a. bool -> a -> a -> a = ifThenElse - ~equalsInteger : integer -> integer -> Bool - = \(x : integer) -> - let - !x : integer = x - in - \(y : integer) -> - let - !y : integer = y - !b : bool = equalsInteger x y - in - ifThenElse {Bool} b True False - ~`$fEqInteger` : (\a -> a -> a -> Bool) integer = equalsInteger - ~`&&` : Bool -> Bool -> Bool - = \(ds : Bool) (x : Bool) -> - Bool_match - ds - {all dead. Bool} - (/\dead -> x) - (/\dead -> False) - {all dead. dead} - ~`==` : all a. (\a -> a -> a -> Bool) a -> a -> a -> Bool - = /\a -> \(v : (\a -> a -> a -> Bool) a) -> v - !trace : all a. string -> a -> a = trace - ~traceBool : string -> string -> Bool -> Bool - = \(trueLabel : string) -> +let + data (Maybe :: * -> *) a | Maybe_match where + Just : a -> Maybe a + Nothing : Maybe a + data Bool | Bool_match where + True : Bool + False : Bool + ~fail : + unit -> Maybe Bool + = \(ds : unit) -> + trace + {all dead a. Maybe a} + "CoverLocation (CovLoc {_covLocFile = \"test/Plugin/Coverage/Spec.hs\", _covLocStartLine = 41, _covLocEndLine = 41, _covLocStartCol = 14, _covLocEndCol = 15})" + (/\dead -> + trace + {all dead a. Maybe a} + "CoverLocation (CovLoc {_covLocFile = \"test/Plugin/Coverage/Spec.hs\", _covLocStartLine = 43, _covLocEndLine = 43, _covLocStartCol = 26, _covLocEndCol = 33})" + (/\dead -> Nothing) + {all dead. dead}) + {all dead. dead} + {Bool} + !equalsInteger : integer -> integer -> bool = equalsInteger + !ifThenElse : all a. bool -> a -> a -> a = ifThenElse + ~equalsInteger : integer -> integer -> Bool + = \(x : integer) -> + let + !x : integer = x + in + \(y : integer) -> let - !trueLabel : string = trueLabel + !y : integer = y + !b : bool = equalsInteger x y in - \(falseLabel : string) -> - let - !falseLabel : string = falseLabel - in - \(c : Bool) -> - Bool_match - c - {all dead. Bool} - (/\dead -> trace {Bool} trueLabel True) - (/\dead -> trace {Bool} falseLabel False) - {all dead. dead} - ~otherFun : - integer -> Bool - = \(x : integer) -> + ifThenElse {Bool} b True False + ~`$fEqInteger` : (\a -> a -> a -> Bool) integer = equalsInteger + ~`&&` : Bool -> Bool -> Bool + = \(ds : Bool) (x : Bool) -> + Bool_match + ds + {all dead. Bool} + (/\dead -> x) + (/\dead -> False) + {all dead. dead} + ~`==` : all a. (\a -> a -> a -> Bool) a -> a -> a -> Bool + = /\a -> \(v : (\a -> a -> a -> Bool) a) -> v + !trace : all a. string -> a -> a = trace + ~traceBool : string -> string -> Bool -> Bool + = \(trueLabel : string) -> + let + !trueLabel : string = trueLabel + in + \(falseLabel : string) -> let - !x : integer = x + !falseLabel : string = falseLabel in - traceBool - "CoverBool (CovLoc {_covLocFile = \"test/Plugin/Coverage/Spec.hs\", _covLocStartLine = 46, _covLocEndLine = 46, _covLocStartCol = 1, _covLocEndCol = 32}) True" - "CoverBool (CovLoc {_covLocFile = \"test/Plugin/Coverage/Spec.hs\", _covLocStartLine = 46, _covLocEndLine = 46, _covLocStartCol = 1, _covLocEndCol = 32}) False" - (trace - {all dead. Bool} - "CoverLocation (CovLoc {_covLocFile = \"test/Plugin/Coverage/Spec.hs\", _covLocStartLine = 46, _covLocEndLine = 46, _covLocStartCol = 1, _covLocEndCol = 32})" - (/\dead -> - traceBool - "CoverBool (CovLoc {_covLocFile = \"test/Plugin/Coverage/Spec.hs\", _covLocStartLine = 46, _covLocEndLine = 46, _covLocStartCol = 14, _covLocEndCol = 32}) True" - "CoverBool (CovLoc {_covLocFile = \"test/Plugin/Coverage/Spec.hs\", _covLocStartLine = 46, _covLocEndLine = 46, _covLocStartCol = 14, _covLocEndCol = 32}) False" - (trace - {all dead. Bool} - "CoverLocation (CovLoc {_covLocFile = \"test/Plugin/Coverage/Spec.hs\", _covLocStartLine = 46, _covLocEndLine = 46, _covLocStartCol = 14, _covLocEndCol = 32})" - (/\dead -> - `&&` - (traceBool - "CoverBool (CovLoc {_covLocFile = \"test/Plugin/Coverage/Spec.hs\", _covLocStartLine = 46, _covLocEndLine = 46, _covLocStartCol = 14, _covLocEndCol = 24}) True" - "CoverBool (CovLoc {_covLocFile = \"test/Plugin/Coverage/Spec.hs\", _covLocStartLine = 46, _covLocEndLine = 46, _covLocStartCol = 14, _covLocEndCol = 24}) False" - (trace - {all dead. Bool} - "CoverLocation (CovLoc {_covLocFile = \"test/Plugin/Coverage/Spec.hs\", _covLocStartLine = 46, _covLocEndLine = 46, _covLocStartCol = 14, _covLocEndCol = 24})" - (/\dead -> - `==` - {integer} - `$fEqInteger` - (trace - {all dead. integer} - "CoverLocation (CovLoc {_covLocFile = \"test/Plugin/Coverage/Spec.hs\", _covLocStartLine = 46, _covLocEndLine = 46, _covLocStartCol = 15, _covLocEndCol = 16})" - (/\dead -> x) - {all dead. dead}) - (trace - {all dead. integer} - "CoverLocation (CovLoc {_covLocFile = \"test/Plugin/Coverage/Spec.hs\", _covLocStartLine = 46, _covLocEndLine = 46, _covLocStartCol = 22, _covLocEndCol = 23})" - (/\dead -> 5) - {all dead. dead})) - {all dead. dead})) - (trace - {all dead. Bool} - "CoverLocation (CovLoc {_covLocFile = \"test/Plugin/Coverage/Spec.hs\", _covLocStartLine = 46, _covLocEndLine = 46, _covLocStartCol = 28, _covLocEndCol = 32})" - (/\dead -> True) - {all dead. dead})) - {all dead. dead})) - {all dead. dead}) + \(c : Bool) -> + Bool_match + c + {all dead. Bool} + (/\dead -> trace {Bool} trueLabel True) + (/\dead -> trace {Bool} falseLabel False) + {all dead. dead} + ~otherFun : + integer -> Bool + = \(x : integer) -> + let + !x : integer = x + in + traceBool + "CoverBool (CovLoc {_covLocFile = \"test/Plugin/Coverage/Spec.hs\", _covLocStartLine = 46, _covLocEndLine = 46, _covLocStartCol = 1, _covLocEndCol = 32}) True" + "CoverBool (CovLoc {_covLocFile = \"test/Plugin/Coverage/Spec.hs\", _covLocStartLine = 46, _covLocEndLine = 46, _covLocStartCol = 1, _covLocEndCol = 32}) False" + (trace + {all dead. Bool} + "CoverLocation (CovLoc {_covLocFile = \"test/Plugin/Coverage/Spec.hs\", _covLocStartLine = 46, _covLocEndLine = 46, _covLocStartCol = 1, _covLocEndCol = 32})" + (/\dead -> + traceBool + "CoverBool (CovLoc {_covLocFile = \"test/Plugin/Coverage/Spec.hs\", _covLocStartLine = 46, _covLocEndLine = 46, _covLocStartCol = 14, _covLocEndCol = 32}) True" + "CoverBool (CovLoc {_covLocFile = \"test/Plugin/Coverage/Spec.hs\", _covLocStartLine = 46, _covLocEndLine = 46, _covLocStartCol = 14, _covLocEndCol = 32}) False" + (trace + {all dead. Bool} + "CoverLocation (CovLoc {_covLocFile = \"test/Plugin/Coverage/Spec.hs\", _covLocStartLine = 46, _covLocEndLine = 46, _covLocStartCol = 14, _covLocEndCol = 32})" + (/\dead -> + `&&` + (traceBool + "CoverBool (CovLoc {_covLocFile = \"test/Plugin/Coverage/Spec.hs\", _covLocStartLine = 46, _covLocEndLine = 46, _covLocStartCol = 14, _covLocEndCol = 24}) True" + "CoverBool (CovLoc {_covLocFile = \"test/Plugin/Coverage/Spec.hs\", _covLocStartLine = 46, _covLocEndLine = 46, _covLocStartCol = 14, _covLocEndCol = 24}) False" + (trace + {all dead. Bool} + "CoverLocation (CovLoc {_covLocFile = \"test/Plugin/Coverage/Spec.hs\", _covLocStartLine = 46, _covLocEndLine = 46, _covLocStartCol = 14, _covLocEndCol = 24})" + (/\dead -> + `==` + {integer} + `$fEqInteger` + (trace + {all dead. integer} + "CoverLocation (CovLoc {_covLocFile = \"test/Plugin/Coverage/Spec.hs\", _covLocStartLine = 46, _covLocEndLine = 46, _covLocStartCol = 15, _covLocEndCol = 16})" + (/\dead -> x) + {all dead. dead}) + (trace + {all dead. integer} + "CoverLocation (CovLoc {_covLocFile = \"test/Plugin/Coverage/Spec.hs\", _covLocStartLine = 46, _covLocEndLine = 46, _covLocStartCol = 22, _covLocEndCol = 23})" + (/\dead -> 5) + {all dead. dead})) + {all dead. dead})) + (trace + {all dead. Bool} + "CoverLocation (CovLoc {_covLocFile = \"test/Plugin/Coverage/Spec.hs\", _covLocStartLine = 46, _covLocEndLine = 46, _covLocStartCol = 28, _covLocEndCol = 32})" + (/\dead -> True) + {all dead. dead})) + {all dead. dead})) + {all dead. dead}) +in +\(x : Maybe integer) -> + let + !x : Maybe integer = x in - \(x : Maybe integer) -> - let - !x : Maybe integer = x - in - trace - {all dead. Maybe Bool} - "CoverLocation (CovLoc {_covLocFile = \"test/Plugin/Coverage/Spec.hs\", _covLocStartLine = 37, _covLocEndLine = 37, _covLocStartCol = 54, _covLocEndCol = 57})" - (/\dead -> - trace - {all dead. Maybe Bool} - "CoverLocation (CovLoc {_covLocFile = \"test/Plugin/Coverage/Spec.hs\", _covLocStartLine = 41, _covLocEndLine = 43, _covLocStartCol = 1, _covLocEndCol = 33})" - (/\dead -> - trace - {all dead. Maybe Bool} - "CoverLocation (CovLoc {_covLocFile = \"test/Plugin/Coverage/Spec.hs\", _covLocStartLine = 41, _covLocEndLine = 43, _covLocStartCol = 9, _covLocEndCol = 33})" - (/\dead -> - Maybe_match - {integer} - x - {all dead. Maybe Bool} - (\(y : integer) -> - /\dead -> - trace - {all dead. Maybe Bool} - "CoverLocation (CovLoc {_covLocFile = \"test/Plugin/Coverage/Spec.hs\", _covLocStartLine = 42, _covLocEndLine = 42, _covLocStartCol = 12, _covLocEndCol = 22})" - (/\dead -> - Bool_match - (otherFun - (trace - {all dead. integer} - "CoverLocation (CovLoc {_covLocFile = \"test/Plugin/Coverage/Spec.hs\", _covLocStartLine = 42, _covLocEndLine = 42, _covLocStartCol = 21, _covLocEndCol = 22})" - (/\dead -> y) - {all dead. dead})) - {all dead. Maybe Bool} - (/\dead -> - trace - {all dead. Maybe Bool} - "CoverLocation (CovLoc {_covLocFile = \"test/Plugin/Coverage/Spec.hs\", _covLocStartLine = 42, _covLocEndLine = 42, _covLocStartCol = 26, _covLocEndCol = 36})" - (/\dead -> - Just - {Bool} - (trace - {all dead. Bool} - "CoverLocation (CovLoc {_covLocFile = \"test/Plugin/Coverage/Spec.hs\", _covLocStartLine = 42, _covLocEndLine = 42, _covLocStartCol = 31, _covLocEndCol = 36})" - (/\dead -> False) - {all dead. dead})) - {all dead. dead}) - (/\dead -> fail ()) - {all dead. dead}) - {all dead. dead}) - (/\dead -> fail ()) - {all dead. dead}) - {all dead. dead}) - {all dead. dead}) - {all dead. dead}) \ No newline at end of file + trace + {all dead. Maybe Bool} + "CoverLocation (CovLoc {_covLocFile = \"test/Plugin/Coverage/Spec.hs\", _covLocStartLine = 37, _covLocEndLine = 37, _covLocStartCol = 54, _covLocEndCol = 57})" + (/\dead -> + trace + {all dead. Maybe Bool} + "CoverLocation (CovLoc {_covLocFile = \"test/Plugin/Coverage/Spec.hs\", _covLocStartLine = 41, _covLocEndLine = 43, _covLocStartCol = 1, _covLocEndCol = 33})" + (/\dead -> + trace + {all dead. Maybe Bool} + "CoverLocation (CovLoc {_covLocFile = \"test/Plugin/Coverage/Spec.hs\", _covLocStartLine = 41, _covLocEndLine = 43, _covLocStartCol = 9, _covLocEndCol = 33})" + (/\dead -> + Maybe_match + {integer} + x + {all dead. Maybe Bool} + (\(y : integer) -> + /\dead -> + trace + {all dead. Maybe Bool} + "CoverLocation (CovLoc {_covLocFile = \"test/Plugin/Coverage/Spec.hs\", _covLocStartLine = 42, _covLocEndLine = 42, _covLocStartCol = 12, _covLocEndCol = 22})" + (/\dead -> + Bool_match + (otherFun + (trace + {all dead. integer} + "CoverLocation (CovLoc {_covLocFile = \"test/Plugin/Coverage/Spec.hs\", _covLocStartLine = 42, _covLocEndLine = 42, _covLocStartCol = 21, _covLocEndCol = 22})" + (/\dead -> y) + {all dead. dead})) + {all dead. Maybe Bool} + (/\dead -> + trace + {all dead. Maybe Bool} + "CoverLocation (CovLoc {_covLocFile = \"test/Plugin/Coverage/Spec.hs\", _covLocStartLine = 42, _covLocEndLine = 42, _covLocStartCol = 26, _covLocEndCol = 36})" + (/\dead -> + Just + {Bool} + (trace + {all dead. Bool} + "CoverLocation (CovLoc {_covLocFile = \"test/Plugin/Coverage/Spec.hs\", _covLocStartLine = 42, _covLocEndLine = 42, _covLocStartCol = 31, _covLocEndCol = 36})" + (/\dead -> False) + {all dead. dead})) + {all dead. dead}) + (/\dead -> fail ()) + {all dead. dead}) + {all dead. dead}) + (/\dead -> fail ()) + {all dead. dead}) + {all dead. dead}) + {all dead. dead}) + {all dead. dead} \ No newline at end of file diff --git a/plutus-tx-plugin/test/Plugin/Coverage/Spec.hs b/plutus-tx-plugin/test/Plugin/Coverage/Spec.hs index b8c4051e318..bbecd7bd7f9 100644 --- a/plutus-tx-plugin/test/Plugin/Coverage/Spec.hs +++ b/plutus-tx-plugin/test/Plugin/Coverage/Spec.hs @@ -56,7 +56,7 @@ coverage = testNested "Coverage" . pure $ testNestedGhc , mkTests "boolOtherFunction" boolOtherFunction (Set.fromList ["&&", "=="]) [37, 41, 42, 43] , mkTests "boolQualifiedDisappears" boolQualifiedDisappears Set.empty [49] ] - , goldenPir "coverageCode" boolOtherFunction ] + , goldenPirReadable "coverageCode" boolOtherFunction ] mkTests :: String -> CompiledCode t -> Set String -> [Int] -> TestTree mkTests nm cc heads ls = testGroup nm [ applicationHeadsCorrect cc heads , linesInCoverageIndex cc ls ] diff --git a/plutus-tx-plugin/test/Plugin/Data/9.6/families/associated.pir.golden b/plutus-tx-plugin/test/Plugin/Data/9.6/families/associated.pir.golden index 5f274561f69..4e642ab9028 100644 --- a/plutus-tx-plugin/test/Plugin/Data/9.6/families/associated.pir.golden +++ b/plutus-tx-plugin/test/Plugin/Data/9.6/families/associated.pir.golden @@ -1 +1 @@ -program 1.1.0 (\(ds : integer) -> ds) \ No newline at end of file +\(ds : integer) -> ds \ No newline at end of file diff --git a/plutus-tx-plugin/test/Plugin/Data/9.6/families/associatedParam.pir.golden b/plutus-tx-plugin/test/Plugin/Data/9.6/families/associatedParam.pir.golden index 6f90ae74523..d7c3adc458b 100644 --- a/plutus-tx-plugin/test/Plugin/Data/9.6/families/associatedParam.pir.golden +++ b/plutus-tx-plugin/test/Plugin/Data/9.6/families/associatedParam.pir.golden @@ -1,10 +1,8 @@ -program - 1.1.0 - (let - data (Param :: * -> *) a | Param_match where - Param : a -> Param a - ~`$WParam` : all a. a -> Param a - = /\a -> \(conrep : a) -> let !conrep : a = conrep in Param {a} conrep - ~paramId : all a. Param a -> a -> a = /\a -> \(ds : Param a) (x : a) -> x - in - paramId {integer} (`$WParam` {integer} 1) 1) \ No newline at end of file +let + data (Param :: * -> *) a | Param_match where + Param : a -> Param a + ~`$WParam` : all a. a -> Param a + = /\a -> \(conrep : a) -> let !conrep : a = conrep in Param {a} conrep + ~paramId : all a. Param a -> a -> a = /\a -> \(ds : Param a) (x : a) -> x +in +paramId {integer} (`$WParam` {integer} 1) 1 \ No newline at end of file diff --git a/plutus-tx-plugin/test/Plugin/Data/9.6/families/basicClosed.pir.golden b/plutus-tx-plugin/test/Plugin/Data/9.6/families/basicClosed.pir.golden index 5f274561f69..4e642ab9028 100644 --- a/plutus-tx-plugin/test/Plugin/Data/9.6/families/basicClosed.pir.golden +++ b/plutus-tx-plugin/test/Plugin/Data/9.6/families/basicClosed.pir.golden @@ -1 +1 @@ -program 1.1.0 (\(ds : integer) -> ds) \ No newline at end of file +\(ds : integer) -> ds \ No newline at end of file diff --git a/plutus-tx-plugin/test/Plugin/Data/9.6/families/basicData.pir.golden b/plutus-tx-plugin/test/Plugin/Data/9.6/families/basicData.pir.golden index e97563d8275..66b4dddd215 100644 --- a/plutus-tx-plugin/test/Plugin/Data/9.6/families/basicData.pir.golden +++ b/plutus-tx-plugin/test/Plugin/Data/9.6/families/basicData.pir.golden @@ -1,11 +1,9 @@ -program - 1.1.0 - (let - data `R:BasicDataBool` | `R:BasicDataBool_match` where - Inst : integer -> `R:BasicDataBool` +let + data `R:BasicDataBool` | `R:BasicDataBool_match` where + Inst : integer -> `R:BasicDataBool` +in +\(ds : `R:BasicDataBool`) -> + let + !nt : `R:BasicDataBool` = ds in - \(ds : `R:BasicDataBool`) -> - let - !nt : `R:BasicDataBool` = ds - in - `R:BasicDataBool_match` nt {integer} (\(i : integer) -> i)) \ No newline at end of file + `R:BasicDataBool_match` nt {integer} (\(i : integer) -> i) \ No newline at end of file diff --git a/plutus-tx-plugin/test/Plugin/Data/9.6/families/basicOpen.pir.golden b/plutus-tx-plugin/test/Plugin/Data/9.6/families/basicOpen.pir.golden index 5f274561f69..4e642ab9028 100644 --- a/plutus-tx-plugin/test/Plugin/Data/9.6/families/basicOpen.pir.golden +++ b/plutus-tx-plugin/test/Plugin/Data/9.6/families/basicOpen.pir.golden @@ -1 +1 @@ -program 1.1.0 (\(ds : integer) -> ds) \ No newline at end of file +\(ds : integer) -> ds \ No newline at end of file diff --git a/plutus-tx-plugin/test/Plugin/Data/9.6/monomorphic/atPattern.pir.golden b/plutus-tx-plugin/test/Plugin/Data/9.6/monomorphic/atPattern.pir.golden index 166246d17a8..65c70a2fc94 100644 --- a/plutus-tx-plugin/test/Plugin/Data/9.6/monomorphic/atPattern.pir.golden +++ b/plutus-tx-plugin/test/Plugin/Data/9.6/monomorphic/atPattern.pir.golden @@ -1,20 +1,18 @@ -program - 1.1.0 - (let - data (Tuple2 :: * -> * -> *) a b | Tuple2_match where - Tuple2 : a -> b -> Tuple2 a b - !addInteger : integer -> integer -> integer = addInteger - ~addInteger : integer -> integer -> integer - = \(x : integer) -> - let - !x : integer = x - in - \(y : integer) -> let !y : integer = y in addInteger x y - in - \(t : Tuple2 integer integer) -> - Tuple2_match - {integer} - {integer} - t - {integer} - (\(ds : integer) (ds : integer) -> addInteger ds ds)) \ No newline at end of file +let + data (Tuple2 :: * -> * -> *) a b | Tuple2_match where + Tuple2 : a -> b -> Tuple2 a b + !addInteger : integer -> integer -> integer = addInteger + ~addInteger : integer -> integer -> integer + = \(x : integer) -> + let + !x : integer = x + in + \(y : integer) -> let !y : integer = y in addInteger x y +in +\(t : Tuple2 integer integer) -> + Tuple2_match + {integer} + {integer} + t + {integer} + (\(ds : integer) (ds : integer) -> addInteger ds ds) \ No newline at end of file diff --git a/plutus-tx-plugin/test/Plugin/Data/9.6/monomorphic/defaultCase.pir.golden b/plutus-tx-plugin/test/Plugin/Data/9.6/monomorphic/defaultCase.pir.golden index 11face25ff7..c74db6bca3b 100644 --- a/plutus-tx-plugin/test/Plugin/Data/9.6/monomorphic/defaultCase.pir.golden +++ b/plutus-tx-plugin/test/Plugin/Data/9.6/monomorphic/defaultCase.pir.golden @@ -1,19 +1,17 @@ -program - 1.1.0 - (let - ~defaultBody : integer = 2 - data MyMonoData | MyMonoData_match where - Mono : integer -> integer -> MyMonoData - Mono : integer -> MyMonoData - Mono : integer -> MyMonoData +let + ~defaultBody : integer = 2 + data MyMonoData | MyMonoData_match where + Mono : integer -> integer -> MyMonoData + Mono : integer -> MyMonoData + Mono : integer -> MyMonoData +in +\(ds : MyMonoData) -> + let + !ds : MyMonoData = ds in - \(ds : MyMonoData) -> - let - !ds : MyMonoData = ds - in - MyMonoData_match - ds - {integer} - (\(default_arg0 : integer) (default_arg1 : integer) -> defaultBody) - (\(default_arg0 : integer) -> defaultBody) - (\(a : integer) -> a)) \ No newline at end of file + MyMonoData_match + ds + {integer} + (\(default_arg0 : integer) (default_arg1 : integer) -> defaultBody) + (\(default_arg0 : integer) -> defaultBody) + (\(a : integer) -> a) \ No newline at end of file diff --git a/plutus-tx-plugin/test/Plugin/Data/9.6/monomorphic/enum.pir.golden b/plutus-tx-plugin/test/Plugin/Data/9.6/monomorphic/enum.pir.golden index 8b9f94a00ab..90fd2d7619f 100644 --- a/plutus-tx-plugin/test/Plugin/Data/9.6/monomorphic/enum.pir.golden +++ b/plutus-tx-plugin/test/Plugin/Data/9.6/monomorphic/enum.pir.golden @@ -1,8 +1,6 @@ -program - 1.1.0 - (let - data MyEnum | MyEnum_match where - Enum : MyEnum - Enum : MyEnum - in - Enum) \ No newline at end of file +let + data MyEnum | MyEnum_match where + Enum : MyEnum + Enum : MyEnum +in +Enum \ No newline at end of file diff --git a/plutus-tx-plugin/test/Plugin/Data/9.6/monomorphic/irrefutableMatch.pir.golden b/plutus-tx-plugin/test/Plugin/Data/9.6/monomorphic/irrefutableMatch.pir.golden index 0d70c8027a0..7ad6f413be2 100644 --- a/plutus-tx-plugin/test/Plugin/Data/9.6/monomorphic/irrefutableMatch.pir.golden +++ b/plutus-tx-plugin/test/Plugin/Data/9.6/monomorphic/irrefutableMatch.pir.golden @@ -1,23 +1,21 @@ -program - 1.1.0 - (let - ~defaultBody : integer = (/\e -> error {e}) {integer} - data Unit | Unit_match where - Unit : Unit - ~defaultBody : integer - = Unit_match ((/\e -> error {e}) {Unit}) {integer} defaultBody - data MyMonoData | MyMonoData_match where - Mono : integer -> integer -> MyMonoData - Mono : integer -> MyMonoData - Mono : integer -> MyMonoData +let + ~defaultBody : integer = (/\e -> error {e}) {integer} + data Unit | Unit_match where + Unit : Unit + ~defaultBody : integer + = Unit_match ((/\e -> error {e}) {Unit}) {integer} defaultBody + data MyMonoData | MyMonoData_match where + Mono : integer -> integer -> MyMonoData + Mono : integer -> MyMonoData + Mono : integer -> MyMonoData +in +\(ds : MyMonoData) -> + let + !ds : MyMonoData = ds in - \(ds : MyMonoData) -> - let - !ds : MyMonoData = ds - in - MyMonoData_match - ds - {integer} - (\(default_arg0 : integer) (default_arg1 : integer) -> defaultBody) - (\(a : integer) -> a) - (\(default_arg0 : integer) -> defaultBody)) \ No newline at end of file + MyMonoData_match + ds + {integer} + (\(default_arg0 : integer) (default_arg1 : integer) -> defaultBody) + (\(a : integer) -> a) + (\(default_arg0 : integer) -> defaultBody) \ No newline at end of file diff --git a/plutus-tx-plugin/test/Plugin/Data/9.6/monomorphic/monoCase.pir.golden b/plutus-tx-plugin/test/Plugin/Data/9.6/monomorphic/monoCase.pir.golden index 6e430b52b48..53ccc0a8459 100644 --- a/plutus-tx-plugin/test/Plugin/Data/9.6/monomorphic/monoCase.pir.golden +++ b/plutus-tx-plugin/test/Plugin/Data/9.6/monomorphic/monoCase.pir.golden @@ -1,18 +1,16 @@ -program - 1.1.0 - (let - data MyMonoData | MyMonoData_match where - Mono : integer -> integer -> MyMonoData - Mono : integer -> MyMonoData - Mono : integer -> MyMonoData +let + data MyMonoData | MyMonoData_match where + Mono : integer -> integer -> MyMonoData + Mono : integer -> MyMonoData + Mono : integer -> MyMonoData +in +\(ds : MyMonoData) -> + let + !ds : MyMonoData = ds in - \(ds : MyMonoData) -> - let - !ds : MyMonoData = ds - in - MyMonoData_match - ds - {integer} - (\(ds : integer) (b : integer) -> b) - (\(a : integer) -> a) - (\(a : integer) -> a)) \ No newline at end of file + MyMonoData_match + ds + {integer} + (\(ds : integer) (b : integer) -> b) + (\(a : integer) -> a) + (\(a : integer) -> a) \ No newline at end of file diff --git a/plutus-tx-plugin/test/Plugin/Data/9.6/monomorphic/monoCaseStrict.pir.golden b/plutus-tx-plugin/test/Plugin/Data/9.6/monomorphic/monoCaseStrict.pir.golden index 6e430b52b48..53ccc0a8459 100644 --- a/plutus-tx-plugin/test/Plugin/Data/9.6/monomorphic/monoCaseStrict.pir.golden +++ b/plutus-tx-plugin/test/Plugin/Data/9.6/monomorphic/monoCaseStrict.pir.golden @@ -1,18 +1,16 @@ -program - 1.1.0 - (let - data MyMonoData | MyMonoData_match where - Mono : integer -> integer -> MyMonoData - Mono : integer -> MyMonoData - Mono : integer -> MyMonoData +let + data MyMonoData | MyMonoData_match where + Mono : integer -> integer -> MyMonoData + Mono : integer -> MyMonoData + Mono : integer -> MyMonoData +in +\(ds : MyMonoData) -> + let + !ds : MyMonoData = ds in - \(ds : MyMonoData) -> - let - !ds : MyMonoData = ds - in - MyMonoData_match - ds - {integer} - (\(ds : integer) (b : integer) -> b) - (\(a : integer) -> a) - (\(a : integer) -> a)) \ No newline at end of file + MyMonoData_match + ds + {integer} + (\(ds : integer) (b : integer) -> b) + (\(a : integer) -> a) + (\(a : integer) -> a) \ No newline at end of file diff --git a/plutus-tx-plugin/test/Plugin/Data/9.6/monomorphic/monoConstructed.pir.golden b/plutus-tx-plugin/test/Plugin/Data/9.6/monomorphic/monoConstructed.pir.golden index 42adca87158..86162b4814b 100644 --- a/plutus-tx-plugin/test/Plugin/Data/9.6/monomorphic/monoConstructed.pir.golden +++ b/plutus-tx-plugin/test/Plugin/Data/9.6/monomorphic/monoConstructed.pir.golden @@ -1,11 +1,9 @@ -program - 1.1.0 - (let - data MyMonoData | MyMonoData_match where - Mono : integer -> integer -> MyMonoData - Mono : integer -> MyMonoData - Mono : integer -> MyMonoData - ~`$WMono` : integer -> MyMonoData - = \(conrep : integer) -> let !conrep : integer = conrep in Mono conrep - in - `$WMono` 1) \ No newline at end of file +let + data MyMonoData | MyMonoData_match where + Mono : integer -> integer -> MyMonoData + Mono : integer -> MyMonoData + Mono : integer -> MyMonoData + ~`$WMono` : integer -> MyMonoData + = \(conrep : integer) -> let !conrep : integer = conrep in Mono conrep +in +`$WMono` 1 \ No newline at end of file diff --git a/plutus-tx-plugin/test/Plugin/Data/9.6/monomorphic/monoConstructor.pir.golden b/plutus-tx-plugin/test/Plugin/Data/9.6/monomorphic/monoConstructor.pir.golden index 8316a48c601..c0d22b060bb 100644 --- a/plutus-tx-plugin/test/Plugin/Data/9.6/monomorphic/monoConstructor.pir.golden +++ b/plutus-tx-plugin/test/Plugin/Data/9.6/monomorphic/monoConstructor.pir.golden @@ -1,19 +1,17 @@ -program - 1.1.0 - (let - data MyMonoData | MyMonoData_match where - Mono : integer -> integer -> MyMonoData - Mono : integer -> MyMonoData - Mono : integer -> MyMonoData - ~`$WMono` : integer -> integer -> MyMonoData - = \(conrep : integer) -> +let + data MyMonoData | MyMonoData_match where + Mono : integer -> integer -> MyMonoData + Mono : integer -> MyMonoData + Mono : integer -> MyMonoData + ~`$WMono` : integer -> integer -> MyMonoData + = \(conrep : integer) -> + let + !conrep : integer = conrep + in + \(conrep : integer) -> let !conrep : integer = conrep in - \(conrep : integer) -> - let - !conrep : integer = conrep - in - Mono conrep conrep - in - \(ds : integer) (ds : integer) -> `$WMono` ds ds) \ No newline at end of file + Mono conrep conrep +in +\(ds : integer) (ds : integer) -> `$WMono` ds ds \ No newline at end of file diff --git a/plutus-tx-plugin/test/Plugin/Data/9.6/monomorphic/monoDataType.pir.golden b/plutus-tx-plugin/test/Plugin/Data/9.6/monomorphic/monoDataType.pir.golden index c9ae439f0ec..2349078b8cc 100644 --- a/plutus-tx-plugin/test/Plugin/Data/9.6/monomorphic/monoDataType.pir.golden +++ b/plutus-tx-plugin/test/Plugin/Data/9.6/monomorphic/monoDataType.pir.golden @@ -1,19 +1,17 @@ -program - 1.1.0 - (let - ~defaultBody : integer = 1 - data MyMonoData | MyMonoData_match where - Mono : integer -> integer -> MyMonoData - Mono : integer -> MyMonoData - Mono : integer -> MyMonoData +let + ~defaultBody : integer = 1 + data MyMonoData | MyMonoData_match where + Mono : integer -> integer -> MyMonoData + Mono : integer -> MyMonoData + Mono : integer -> MyMonoData +in +\(ds : MyMonoData) -> + let + !ds : MyMonoData = ds in - \(ds : MyMonoData) -> - let - !ds : MyMonoData = ds - in - MyMonoData_match - ds - {integer} - (\(default_arg0 : integer) (default_arg1 : integer) -> defaultBody) - (\(i : integer) -> i) - (\(default_arg0 : integer) -> defaultBody)) \ No newline at end of file + MyMonoData_match + ds + {integer} + (\(default_arg0 : integer) (default_arg1 : integer) -> defaultBody) + (\(i : integer) -> i) + (\(default_arg0 : integer) -> defaultBody) \ No newline at end of file diff --git a/plutus-tx-plugin/test/Plugin/Data/9.6/monomorphic/monoRecord.pir.golden b/plutus-tx-plugin/test/Plugin/Data/9.6/monomorphic/monoRecord.pir.golden index ee345dd3bef..7f1ec66b89d 100644 --- a/plutus-tx-plugin/test/Plugin/Data/9.6/monomorphic/monoRecord.pir.golden +++ b/plutus-tx-plugin/test/Plugin/Data/9.6/monomorphic/monoRecord.pir.golden @@ -1,8 +1,6 @@ -program - 1.1.0 - (let - data MyMonoRecord | MyMonoRecord_match where - MyMonoRecord : integer -> integer -> MyMonoRecord - in - \(ds : MyMonoRecord) -> - MyMonoRecord_match ds {integer} (\(ipv : integer) (ipv : integer) -> ipv)) \ No newline at end of file +let + data MyMonoRecord | MyMonoRecord_match where + MyMonoRecord : integer -> integer -> MyMonoRecord +in +\(ds : MyMonoRecord) -> + MyMonoRecord_match ds {integer} (\(ipv : integer) (ipv : integer) -> ipv) \ No newline at end of file diff --git a/plutus-tx-plugin/test/Plugin/Data/9.6/monomorphic/nonValueCase.pir.golden b/plutus-tx-plugin/test/Plugin/Data/9.6/monomorphic/nonValueCase.pir.golden index 051c3b778af..4066d126ead 100644 --- a/plutus-tx-plugin/test/Plugin/Data/9.6/monomorphic/nonValueCase.pir.golden +++ b/plutus-tx-plugin/test/Plugin/Data/9.6/monomorphic/nonValueCase.pir.golden @@ -1,22 +1,20 @@ -program - 1.1.0 - (let - data MyEnum | MyEnum_match where - Enum : MyEnum - Enum : MyEnum - data Unit | Unit_match where - Unit : Unit - !error : all a. unit -> a = /\a -> \(thunk : unit) -> error {a} - !unitval : unit = () - ~error : all a. Unit -> a = /\a -> \(x : Unit) -> error {a} unitval +let + data MyEnum | MyEnum_match where + Enum : MyEnum + Enum : MyEnum + data Unit | Unit_match where + Unit : Unit + !error : all a. unit -> a = /\a -> \(thunk : unit) -> error {a} + !unitval : unit = () + ~error : all a. Unit -> a = /\a -> \(x : Unit) -> error {a} unitval +in +\(ds : MyEnum) -> + let + !ds : MyEnum = ds in - \(ds : MyEnum) -> - let - !ds : MyEnum = ds - in - MyEnum_match - ds - {all dead. integer} - (/\dead -> 1) - (/\dead -> error {integer} Unit) - {all dead. dead}) \ No newline at end of file + MyEnum_match + ds + {all dead. integer} + (/\dead -> 1) + (/\dead -> error {integer} Unit) + {all dead. dead} \ No newline at end of file diff --git a/plutus-tx-plugin/test/Plugin/Data/9.6/monomorphic/recordNewtype.pir.golden b/plutus-tx-plugin/test/Plugin/Data/9.6/monomorphic/recordNewtype.pir.golden index 0594af143c4..31a7a8cb53e 100644 --- a/plutus-tx-plugin/test/Plugin/Data/9.6/monomorphic/recordNewtype.pir.golden +++ b/plutus-tx-plugin/test/Plugin/Data/9.6/monomorphic/recordNewtype.pir.golden @@ -1,8 +1,6 @@ -program - 1.1.0 - (let - data RecordNewtype | RecordNewtype_match where - RecordNewtype : integer -> RecordNewtype - in - \(ds : RecordNewtype) -> - RecordNewtype_match ds {integer} (\(ipv : integer) -> ipv)) \ No newline at end of file +let + data RecordNewtype | RecordNewtype_match where + RecordNewtype : integer -> RecordNewtype +in +\(ds : RecordNewtype) -> + RecordNewtype_match ds {integer} (\(ipv : integer) -> ipv) \ No newline at end of file diff --git a/plutus-tx-plugin/test/Plugin/Data/9.6/monomorphic/recordWithStrictField.pir.golden b/plutus-tx-plugin/test/Plugin/Data/9.6/monomorphic/recordWithStrictField.pir.golden index d004d0bfa2b..f33c08fd347 100644 --- a/plutus-tx-plugin/test/Plugin/Data/9.6/monomorphic/recordWithStrictField.pir.golden +++ b/plutus-tx-plugin/test/Plugin/Data/9.6/monomorphic/recordWithStrictField.pir.golden @@ -1,20 +1,18 @@ -program - 1.1.0 - (let - RecordNewtype = all a. a -> a - MyMonoRecord = all a. a -> a - data RecordWithStrictField | RecordWithStrictField_match where - RecordWithStrictField : - MyMonoRecord -> RecordNewtype -> RecordWithStrictField - ~strictField : RecordWithStrictField -> RecordNewtype - = \(ds : RecordWithStrictField) -> - RecordWithStrictField_match - ds - {RecordNewtype} - (\(ds : MyMonoRecord) (ds : RecordNewtype) -> ds) +let + RecordNewtype = all a. a -> a + MyMonoRecord = all a. a -> a + data RecordWithStrictField | RecordWithStrictField_match where + RecordWithStrictField : + MyMonoRecord -> RecordNewtype -> RecordWithStrictField + ~strictField : RecordWithStrictField -> RecordNewtype + = \(ds : RecordWithStrictField) -> + RecordWithStrictField_match + ds + {RecordNewtype} + (\(ds : MyMonoRecord) (ds : RecordNewtype) -> ds) +in +\(ds : RecordWithStrictField) -> + let + !ds : RecordWithStrictField = ds in - \(ds : RecordWithStrictField) -> - let - !ds : RecordWithStrictField = ds - in - strictField ds) \ No newline at end of file + strictField ds \ No newline at end of file diff --git a/plutus-tx-plugin/test/Plugin/Data/9.6/monomorphic/strictDataMatch.pir.golden b/plutus-tx-plugin/test/Plugin/Data/9.6/monomorphic/strictDataMatch.pir.golden index 0941192c29c..37516d4dedd 100644 --- a/plutus-tx-plugin/test/Plugin/Data/9.6/monomorphic/strictDataMatch.pir.golden +++ b/plutus-tx-plugin/test/Plugin/Data/9.6/monomorphic/strictDataMatch.pir.golden @@ -1,18 +1,16 @@ -program - 1.1.0 - (let - data (StrictTy :: * -> *) a | StrictTy_match where - StrictTy : a -> a -> StrictTy a - ~`$WStrictTy` : all a. a -> a -> StrictTy a - = /\a -> +let + data (StrictTy :: * -> *) a | StrictTy_match where + StrictTy : a -> a -> StrictTy a + ~`$WStrictTy` : all a. a -> a -> StrictTy a + = /\a -> + \(conrep : a) -> + let + !conrep : a = conrep + in \(conrep : a) -> let !conrep : a = conrep in - \(conrep : a) -> - let - !conrep : a = conrep - in - StrictTy {a} conrep conrep - in - `$WStrictTy` {integer} 1 2) \ No newline at end of file + StrictTy {a} conrep conrep +in +`$WStrictTy` {integer} 1 2 \ No newline at end of file diff --git a/plutus-tx-plugin/test/Plugin/Data/9.6/monomorphic/synonym.pir.golden b/plutus-tx-plugin/test/Plugin/Data/9.6/monomorphic/synonym.pir.golden index 0d9b8af24ca..56a6051ca2b 100644 --- a/plutus-tx-plugin/test/Plugin/Data/9.6/monomorphic/synonym.pir.golden +++ b/plutus-tx-plugin/test/Plugin/Data/9.6/monomorphic/synonym.pir.golden @@ -1 +1 @@ -program 1.1.0 1 \ No newline at end of file +1 \ No newline at end of file diff --git a/plutus-tx-plugin/test/Plugin/Data/9.6/monomorphic/unusedWrapper.pir.golden b/plutus-tx-plugin/test/Plugin/Data/9.6/monomorphic/unusedWrapper.pir.golden index 8bddd86f78d..9bb64c6d49a 100644 --- a/plutus-tx-plugin/test/Plugin/Data/9.6/monomorphic/unusedWrapper.pir.golden +++ b/plutus-tx-plugin/test/Plugin/Data/9.6/monomorphic/unusedWrapper.pir.golden @@ -1,17 +1,15 @@ -program - 1.1.0 - (let - data (Tuple2 :: * -> * -> *) a b | Tuple2_match where - Tuple2 : a -> b -> Tuple2 a b - data T | T_match where - MkT : Tuple2 integer integer -> T - ~`$WMkT` : Tuple2 integer integer -> T - = \(conrep : Tuple2 integer integer) -> - let - !conrep : Tuple2 integer integer = conrep - in - MkT conrep - ~mkT : Tuple2 integer integer -> T - = \(ds : Tuple2 integer integer) -> `$WMkT` ds - in - mkT (Tuple2 {integer} {integer} 2 1)) \ No newline at end of file +let + data (Tuple2 :: * -> * -> *) a b | Tuple2_match where + Tuple2 : a -> b -> Tuple2 a b + data T | T_match where + MkT : Tuple2 integer integer -> T + ~`$WMkT` : Tuple2 integer integer -> T + = \(conrep : Tuple2 integer integer) -> + let + !conrep : Tuple2 integer integer = conrep + in + MkT conrep + ~mkT : Tuple2 integer integer -> T + = \(ds : Tuple2 integer integer) -> `$WMkT` ds +in +mkT (Tuple2 {integer} {integer} 2 1) \ No newline at end of file diff --git a/plutus-tx-plugin/test/Plugin/Data/9.6/newtypes/basicNewtype.pir.golden b/plutus-tx-plugin/test/Plugin/Data/9.6/newtypes/basicNewtype.pir.golden index 5f274561f69..4e642ab9028 100644 --- a/plutus-tx-plugin/test/Plugin/Data/9.6/newtypes/basicNewtype.pir.golden +++ b/plutus-tx-plugin/test/Plugin/Data/9.6/newtypes/basicNewtype.pir.golden @@ -1 +1 @@ -program 1.1.0 (\(ds : integer) -> ds) \ No newline at end of file +\(ds : integer) -> ds \ No newline at end of file diff --git a/plutus-tx-plugin/test/Plugin/Data/9.6/newtypes/nestedNewtypeMatch.pir.golden b/plutus-tx-plugin/test/Plugin/Data/9.6/newtypes/nestedNewtypeMatch.pir.golden index 5f274561f69..4e642ab9028 100644 --- a/plutus-tx-plugin/test/Plugin/Data/9.6/newtypes/nestedNewtypeMatch.pir.golden +++ b/plutus-tx-plugin/test/Plugin/Data/9.6/newtypes/nestedNewtypeMatch.pir.golden @@ -1 +1 @@ -program 1.1.0 (\(ds : integer) -> ds) \ No newline at end of file +\(ds : integer) -> ds \ No newline at end of file diff --git a/plutus-tx-plugin/test/Plugin/Data/9.6/newtypes/newtypeCreate.pir.golden b/plutus-tx-plugin/test/Plugin/Data/9.6/newtypes/newtypeCreate.pir.golden index 5f274561f69..4e642ab9028 100644 --- a/plutus-tx-plugin/test/Plugin/Data/9.6/newtypes/newtypeCreate.pir.golden +++ b/plutus-tx-plugin/test/Plugin/Data/9.6/newtypes/newtypeCreate.pir.golden @@ -1 +1 @@ -program 1.1.0 (\(ds : integer) -> ds) \ No newline at end of file +\(ds : integer) -> ds \ No newline at end of file diff --git a/plutus-tx-plugin/test/Plugin/Data/9.6/newtypes/newtypeCreate2.pir.golden b/plutus-tx-plugin/test/Plugin/Data/9.6/newtypes/newtypeCreate2.pir.golden index 0d9b8af24ca..56a6051ca2b 100644 --- a/plutus-tx-plugin/test/Plugin/Data/9.6/newtypes/newtypeCreate2.pir.golden +++ b/plutus-tx-plugin/test/Plugin/Data/9.6/newtypes/newtypeCreate2.pir.golden @@ -1 +1 @@ -program 1.1.0 1 \ No newline at end of file +1 \ No newline at end of file diff --git a/plutus-tx-plugin/test/Plugin/Data/9.6/newtypes/newtypeId.pir.golden b/plutus-tx-plugin/test/Plugin/Data/9.6/newtypes/newtypeId.pir.golden index 5f274561f69..4e642ab9028 100644 --- a/plutus-tx-plugin/test/Plugin/Data/9.6/newtypes/newtypeId.pir.golden +++ b/plutus-tx-plugin/test/Plugin/Data/9.6/newtypes/newtypeId.pir.golden @@ -1 +1 @@ -program 1.1.0 (\(ds : integer) -> ds) \ No newline at end of file +\(ds : integer) -> ds \ No newline at end of file diff --git a/plutus-tx-plugin/test/Plugin/Data/9.6/newtypes/newtypeMatch.pir.golden b/plutus-tx-plugin/test/Plugin/Data/9.6/newtypes/newtypeMatch.pir.golden index 5f274561f69..4e642ab9028 100644 --- a/plutus-tx-plugin/test/Plugin/Data/9.6/newtypes/newtypeMatch.pir.golden +++ b/plutus-tx-plugin/test/Plugin/Data/9.6/newtypes/newtypeMatch.pir.golden @@ -1 +1 @@ -program 1.1.0 (\(ds : integer) -> ds) \ No newline at end of file +\(ds : integer) -> ds \ No newline at end of file diff --git a/plutus-tx-plugin/test/Plugin/Data/9.6/newtypes/paramNewtype.pir.golden b/plutus-tx-plugin/test/Plugin/Data/9.6/newtypes/paramNewtype.pir.golden index e00e4be5105..5038ae7ed0b 100644 --- a/plutus-tx-plugin/test/Plugin/Data/9.6/newtypes/paramNewtype.pir.golden +++ b/plutus-tx-plugin/test/Plugin/Data/9.6/newtypes/paramNewtype.pir.golden @@ -1,12 +1,10 @@ -program - 1.1.0 - (let - data (Maybe :: * -> *) a | Maybe_match where - Just : a -> Maybe a - Nothing : Maybe a +let + data (Maybe :: * -> *) a | Maybe_match where + Just : a -> Maybe a + Nothing : Maybe a +in +\(ds : (\a -> Maybe a) integer) -> + let + !nt : Maybe integer = ds in - \(ds : (\a -> Maybe a) integer) -> - let - !nt : Maybe integer = ds - in - Maybe_match {integer} nt {integer} (\(i : integer) -> i) 1) \ No newline at end of file + Maybe_match {integer} nt {integer} (\(i : integer) -> i) 1 \ No newline at end of file diff --git a/plutus-tx-plugin/test/Plugin/Data/9.6/polymorphic/defaultCasePoly.pir.golden b/plutus-tx-plugin/test/Plugin/Data/9.6/polymorphic/defaultCasePoly.pir.golden index 1e3240608b0..724e87f1fd3 100644 --- a/plutus-tx-plugin/test/Plugin/Data/9.6/polymorphic/defaultCasePoly.pir.golden +++ b/plutus-tx-plugin/test/Plugin/Data/9.6/polymorphic/defaultCasePoly.pir.golden @@ -1,18 +1,16 @@ -program - 1.1.0 - (let - data (MyPolyData :: * -> * -> *) a b | MyPolyData_match where - Poly : a -> b -> MyPolyData a b - Poly : a -> MyPolyData a b +let + data (MyPolyData :: * -> * -> *) a b | MyPolyData_match where + Poly : a -> b -> MyPolyData a b + Poly : a -> MyPolyData a b +in +\(ds : MyPolyData integer integer) -> + let + !ds : MyPolyData integer integer = ds in - \(ds : MyPolyData integer integer) -> - let - !ds : MyPolyData integer integer = ds - in - MyPolyData_match - {integer} - {integer} - ds - {integer} - (\(a : integer) (ds : integer) -> a) - (\(ipv : integer) -> 2)) \ No newline at end of file + MyPolyData_match + {integer} + {integer} + ds + {integer} + (\(a : integer) (ds : integer) -> a) + (\(ipv : integer) -> 2) \ No newline at end of file diff --git a/plutus-tx-plugin/test/Plugin/Data/9.6/polymorphic/polyConstructed.pir.golden b/plutus-tx-plugin/test/Plugin/Data/9.6/polymorphic/polyConstructed.pir.golden index d54b5785af9..800a6562ad5 100644 --- a/plutus-tx-plugin/test/Plugin/Data/9.6/polymorphic/polyConstructed.pir.golden +++ b/plutus-tx-plugin/test/Plugin/Data/9.6/polymorphic/polyConstructed.pir.golden @@ -1,19 +1,17 @@ -program - 1.1.0 - (let - data (MyPolyData :: * -> * -> *) a b | MyPolyData_match where - Poly : a -> b -> MyPolyData a b - Poly : a -> MyPolyData a b - ~`$WPoly` : all a b. a -> b -> MyPolyData a b - = /\a b -> - \(conrep : a) -> +let + data (MyPolyData :: * -> * -> *) a b | MyPolyData_match where + Poly : a -> b -> MyPolyData a b + Poly : a -> MyPolyData a b + ~`$WPoly` : all a b. a -> b -> MyPolyData a b + = /\a b -> + \(conrep : a) -> + let + !conrep : a = conrep + in + \(conrep : b) -> let - !conrep : a = conrep + !conrep : b = conrep in - \(conrep : b) -> - let - !conrep : b = conrep - in - Poly {a} {b} conrep conrep - in - `$WPoly` {integer} {integer} 1 2) \ No newline at end of file + Poly {a} {b} conrep conrep +in +`$WPoly` {integer} {integer} 1 2 \ No newline at end of file diff --git a/plutus-tx-plugin/test/Plugin/Data/9.6/polymorphic/polyDataType.pir.golden b/plutus-tx-plugin/test/Plugin/Data/9.6/polymorphic/polyDataType.pir.golden index abb1ebca972..36687c0a639 100644 --- a/plutus-tx-plugin/test/Plugin/Data/9.6/polymorphic/polyDataType.pir.golden +++ b/plutus-tx-plugin/test/Plugin/Data/9.6/polymorphic/polyDataType.pir.golden @@ -1,18 +1,16 @@ -program - 1.1.0 - (let - data (MyPolyData :: * -> * -> *) a b | MyPolyData_match where - Poly : a -> b -> MyPolyData a b - Poly : a -> MyPolyData a b +let + data (MyPolyData :: * -> * -> *) a b | MyPolyData_match where + Poly : a -> b -> MyPolyData a b + Poly : a -> MyPolyData a b +in +\(ds : MyPolyData integer integer) -> + let + !ds : MyPolyData integer integer = ds in - \(ds : MyPolyData integer integer) -> - let - !ds : MyPolyData integer integer = ds - in - MyPolyData_match - {integer} - {integer} - ds - {integer} - (\(ipv : integer) (ipv : integer) -> 1) - (\(i : integer) -> i)) \ No newline at end of file + MyPolyData_match + {integer} + {integer} + ds + {integer} + (\(ipv : integer) (ipv : integer) -> 1) + (\(i : integer) -> i) \ No newline at end of file diff --git a/plutus-tx-plugin/test/Plugin/Data/9.6/recursive/listConstruct.pir.golden b/plutus-tx-plugin/test/Plugin/Data/9.6/recursive/listConstruct.pir.golden index 4d4250e84b1..aa624641c23 100644 --- a/plutus-tx-plugin/test/Plugin/Data/9.6/recursive/listConstruct.pir.golden +++ b/plutus-tx-plugin/test/Plugin/Data/9.6/recursive/listConstruct.pir.golden @@ -1,8 +1,6 @@ -program - 1.1.0 - (letrec - data (List :: * -> *) a | List_match where - Nil : List a - Cons : a -> List a -> List a - in - Nil {integer}) \ No newline at end of file +letrec + data (List :: * -> *) a | List_match where + Nil : List a + Cons : a -> List a -> List a +in +Nil {integer} \ No newline at end of file diff --git a/plutus-tx-plugin/test/Plugin/Data/9.6/recursive/listConstruct2.pir.golden b/plutus-tx-plugin/test/Plugin/Data/9.6/recursive/listConstruct2.pir.golden index b3f6e29f3e2..e4122ac43c9 100644 --- a/plutus-tx-plugin/test/Plugin/Data/9.6/recursive/listConstruct2.pir.golden +++ b/plutus-tx-plugin/test/Plugin/Data/9.6/recursive/listConstruct2.pir.golden @@ -1,14 +1,12 @@ -program - 1.1.0 - (letrec - data (List :: * -> *) a | List_match where - Nil : List a - Cons : a -> List a -> List a - in - let - ~build : all a. (all b. (a -> b -> b) -> b -> b) -> List a - = /\a -> - \(g : all b. (a -> b -> b) -> b -> b) -> - g {List a} (\(ds : a) (ds : List a) -> Cons {a} ds ds) (Nil {a}) - in - build {integer} (/\a -> \(c : integer -> a -> a) (n : a) -> c 1 n)) \ No newline at end of file +letrec + data (List :: * -> *) a | List_match where + Nil : List a + Cons : a -> List a -> List a +in +let + ~build : all a. (all b. (a -> b -> b) -> b -> b) -> List a + = /\a -> + \(g : all b. (a -> b -> b) -> b -> b) -> + g {List a} (\(ds : a) (ds : List a) -> Cons {a} ds ds) (Nil {a}) +in +build {integer} (/\a -> \(c : integer -> a -> a) (n : a) -> c 1 n) \ No newline at end of file diff --git a/plutus-tx-plugin/test/Plugin/Data/9.6/recursive/listConstruct3.pir.golden b/plutus-tx-plugin/test/Plugin/Data/9.6/recursive/listConstruct3.pir.golden index c02762ea683..6e26e83329d 100644 --- a/plutus-tx-plugin/test/Plugin/Data/9.6/recursive/listConstruct3.pir.golden +++ b/plutus-tx-plugin/test/Plugin/Data/9.6/recursive/listConstruct3.pir.golden @@ -1,8 +1,6 @@ -program - 1.1.0 - (letrec - data (List :: * -> *) a | List_match where - Nil : List a - Cons : a -> List a -> List a - in - Cons {integer} 1 (Cons {integer} 2 (Cons {integer} 3 (Nil {integer})))) \ No newline at end of file +letrec + data (List :: * -> *) a | List_match where + Nil : List a + Cons : a -> List a -> List a +in +Cons {integer} 1 (Cons {integer} 2 (Cons {integer} 3 (Nil {integer}))) \ No newline at end of file diff --git a/plutus-tx-plugin/test/Plugin/Data/9.6/recursive/listMatch.pir.golden b/plutus-tx-plugin/test/Plugin/Data/9.6/recursive/listMatch.pir.golden index 487467be406..6c7d18652b1 100644 --- a/plutus-tx-plugin/test/Plugin/Data/9.6/recursive/listMatch.pir.golden +++ b/plutus-tx-plugin/test/Plugin/Data/9.6/recursive/listMatch.pir.golden @@ -1,17 +1,10 @@ -program - 1.1.0 - (letrec - data (List :: * -> *) a | List_match where - Nil : List a - Cons : a -> List a -> List a +letrec + data (List :: * -> *) a | List_match where + Nil : List a + Cons : a -> List a -> List a +in +\(ds : List integer) -> + let + !ds : List integer = ds in - \(ds : List integer) -> - let - !ds : List integer = ds - in - List_match - {integer} - ds - {integer} - 0 - (\(x : integer) (ds : List integer) -> x)) \ No newline at end of file + List_match {integer} ds {integer} 0 (\(x : integer) (ds : List integer) -> x) \ No newline at end of file diff --git a/plutus-tx-plugin/test/Plugin/Data/9.6/recursive/ptreeConstruct.pir.golden b/plutus-tx-plugin/test/Plugin/Data/9.6/recursive/ptreeConstruct.pir.golden index e0a0e9088cc..b014a97f90b 100644 --- a/plutus-tx-plugin/test/Plugin/Data/9.6/recursive/ptreeConstruct.pir.golden +++ b/plutus-tx-plugin/test/Plugin/Data/9.6/recursive/ptreeConstruct.pir.golden @@ -1,33 +1,31 @@ -program - 1.1.0 - (let - data (Tuple2 :: * -> * -> *) a b | Tuple2_match where - Tuple2 : a -> b -> Tuple2 a b - in - letrec - data (B :: * -> *) a | B_match where - One : a -> B a - Two : B (Tuple2 a a) -> B a - in - let - ~`$WOne` : all a. a -> B a - = /\a -> \(conrep : a) -> let !conrep : a = conrep in One {a} conrep - ~`$WTwo` : all a. B (Tuple2 a a) -> B a - = /\a -> - \(conrep : B (Tuple2 a a)) -> - let - !conrep : B (Tuple2 a a) = conrep - in - Two {a} conrep - in - `$WTwo` - {integer} - (`$WTwo` - {Tuple2 integer integer} - (`$WOne` - {Tuple2 (Tuple2 integer integer) (Tuple2 integer integer)} - (Tuple2 - {Tuple2 integer integer} - {Tuple2 integer integer} - (Tuple2 {integer} {integer} 1 2) - (Tuple2 {integer} {integer} 3 4))))) \ No newline at end of file +let + data (Tuple2 :: * -> * -> *) a b | Tuple2_match where + Tuple2 : a -> b -> Tuple2 a b +in +letrec + data (B :: * -> *) a | B_match where + One : a -> B a + Two : B (Tuple2 a a) -> B a +in +let + ~`$WOne` : all a. a -> B a + = /\a -> \(conrep : a) -> let !conrep : a = conrep in One {a} conrep + ~`$WTwo` : all a. B (Tuple2 a a) -> B a + = /\a -> + \(conrep : B (Tuple2 a a)) -> + let + !conrep : B (Tuple2 a a) = conrep + in + Two {a} conrep +in +`$WTwo` + {integer} + (`$WTwo` + {Tuple2 integer integer} + (`$WOne` + {Tuple2 (Tuple2 integer integer) (Tuple2 integer integer)} + (Tuple2 + {Tuple2 integer integer} + {Tuple2 integer integer} + (Tuple2 {integer} {integer} 1 2) + (Tuple2 {integer} {integer} 3 4)))) \ No newline at end of file diff --git a/plutus-tx-plugin/test/Plugin/Data/9.6/recursive/ptreeMatch.pir.golden b/plutus-tx-plugin/test/Plugin/Data/9.6/recursive/ptreeMatch.pir.golden index 9940e5ffaa6..9303410fa68 100644 --- a/plutus-tx-plugin/test/Plugin/Data/9.6/recursive/ptreeMatch.pir.golden +++ b/plutus-tx-plugin/test/Plugin/Data/9.6/recursive/ptreeMatch.pir.golden @@ -1,20 +1,18 @@ -program - 1.1.0 - (let - Tuple2 :: * -> * -> * = \a a -> all a. a -> a +let + Tuple2 :: * -> * -> * = \a a -> all a. a -> a +in +letrec + data (B :: * -> *) a | B_match where + One : a -> B a + Two : B (Tuple2 a a) -> B a +in +\(ds : B integer) -> + let + !ds : B integer = ds in - letrec - data (B :: * -> *) a | B_match where - One : a -> B a - Two : B (Tuple2 a a) -> B a - in - \(ds : B integer) -> - let - !ds : B integer = ds - in - B_match - {integer} - ds - {integer} - (\(a : integer) -> a) - (\(ds : B (Tuple2 integer integer)) -> 2)) \ No newline at end of file + B_match + {integer} + ds + {integer} + (\(a : integer) -> a) + (\(ds : B (Tuple2 integer integer)) -> 2) \ No newline at end of file diff --git a/plutus-tx-plugin/test/Plugin/Data/Spec.hs b/plutus-tx-plugin/test/Plugin/Data/Spec.hs index 38af5ac7eb2..1a1dbefda98 100644 --- a/plutus-tx-plugin/test/Plugin/Data/Spec.hs +++ b/plutus-tx-plugin/test/Plugin/Data/Spec.hs @@ -40,24 +40,24 @@ datat = testNested "Data" . pure . testNestedGhc $ monoData :: TestNested monoData = testNested "monomorphic" [ - goldenPir "enum" basicEnum - , goldenPir "monoDataType" monoDataType - , goldenPir "monoConstructor" monoConstructor - , goldenPir "monoConstructed" monoConstructed - , goldenPir "monoCase" monoCase - , goldenPir "monoCaseStrict" monoCaseStrict + goldenPirReadable "enum" basicEnum + , goldenPirReadable "monoDataType" monoDataType + , goldenPirReadable "monoConstructor" monoConstructor + , goldenPirReadable "monoConstructed" monoConstructed + , goldenPirReadable "monoCase" monoCase + , goldenPirReadable "monoCaseStrict" monoCaseStrict , goldenUEval "monoConstDest" [ toUPlc monoCase, toUPlc monoConstructed ] - , goldenPir "defaultCase" defaultCase - , goldenPir "irrefutableMatch" irrefutableMatch - , goldenPir "atPattern" atPattern + , goldenPirReadable "defaultCase" defaultCase + , goldenPirReadable "irrefutableMatch" irrefutableMatch + , goldenPirReadable "atPattern" atPattern , goldenUEval "monoConstDestDefault" [ toUPlc monoCase, toUPlc monoConstructed ] - , goldenPir "monoRecord" monoRecord - , goldenPir "recordNewtype" recordNewtype - , goldenPir "recordWithStrictField" recordWithStrictField - , goldenPir "unusedWrapper" unusedWrapper - , goldenPir "nonValueCase" nonValueCase - , goldenPir "strictDataMatch" strictDataMatch - , goldenPir "synonym" synonym + , goldenPirReadable "monoRecord" monoRecord + , goldenPirReadable "recordNewtype" recordNewtype + , goldenPirReadable "recordWithStrictField" recordWithStrictField + , goldenPirReadable "unusedWrapper" unusedWrapper + , goldenPirReadable "nonValueCase" nonValueCase + , goldenPirReadable "strictDataMatch" strictDataMatch + , goldenPirReadable "synonym" synonym ] data MyEnum = Enum1 | Enum2 @@ -170,9 +170,9 @@ synonym = plc (Proxy @"synonym") (1::Synonym) polyData :: TestNested polyData = testNested "polymorphic" [ - goldenPir "polyDataType" polyDataType - , goldenPir "polyConstructed" polyConstructed - , goldenPir "defaultCasePoly" defaultCasePoly + goldenPirReadable "polyDataType" polyDataType + , goldenPirReadable "polyConstructed" polyConstructed + , goldenPirReadable "defaultCasePoly" defaultCasePoly ] data MyPolyData a b = Poly1 a b | Poly2 a @@ -195,14 +195,14 @@ defaultCasePoly = plc (Proxy @"defaultCasePoly") (\(x :: MyPolyData Integer Inte newtypes :: TestNested newtypes = testNested "newtypes" [ - goldenPir "basicNewtype" basicNewtype - , goldenPir "newtypeMatch" newtypeMatch - , goldenPir "newtypeCreate" newtypeCreate - , goldenPir "newtypeId" newtypeId - , goldenPir "newtypeCreate2" newtypeCreate2 - , goldenPir "nestedNewtypeMatch" nestedNewtypeMatch + goldenPirReadable "basicNewtype" basicNewtype + , goldenPirReadable "newtypeMatch" newtypeMatch + , goldenPirReadable "newtypeCreate" newtypeCreate + , goldenPirReadable "newtypeId" newtypeId + , goldenPirReadable "newtypeCreate2" newtypeCreate2 + , goldenPirReadable "nestedNewtypeMatch" nestedNewtypeMatch , goldenUEval "newtypeCreatDest" [ toUPlc $ newtypeMatch, toUPlc $ newtypeCreate2 ] - , goldenPir "paramNewtype" paramNewtype + , goldenPirReadable "paramNewtype" paramNewtype ] newtype MyNewtype = MyNewtype Integer @@ -236,14 +236,14 @@ paramNewtype = plc (Proxy @"paramNewtype") (\(x ::ParamNewtype Integer) -> case recursiveTypes :: TestNested recursiveTypes = testNested "recursive" [ - goldenPir "listConstruct" listConstruct - , goldenPir "listConstruct2" listConstruct2 - , goldenPir "listConstruct3" listConstruct3 - , goldenPir "listMatch" listMatch + goldenPirReadable "listConstruct" listConstruct + , goldenPirReadable "listConstruct2" listConstruct2 + , goldenPirReadable "listConstruct3" listConstruct3 + , goldenPirReadable "listMatch" listMatch , goldenUEval "listConstDest" [ toUPlc listMatch, toUPlc listConstruct ] , goldenUEval "listConstDest2" [ toUPlc listMatch, toUPlc listConstruct2 ] - , goldenPir "ptreeConstruct" ptreeConstruct - , goldenPir "ptreeMatch" ptreeMatch + , goldenPirReadable "ptreeConstruct" ptreeConstruct + , goldenPirReadable "ptreeMatch" ptreeMatch , goldenUEval "ptreeConstDest" [ toUPlc ptreeMatch, toUPlc ptreeConstruct ] , goldenUEval "polyRecEval" [ toUPlc polyRec, toUPlc ptreeConstruct ] , goldenUEval "ptreeFirstEval" [ toUPlc ptreeFirst, toUPlc ptreeConstruct ] @@ -349,11 +349,11 @@ processInterList = plc (Proxy @"foldrInterList") ( typeFamilies :: TestNested typeFamilies = testNested "families" [ - goldenPir "basicClosed" basicClosed - , goldenPir "basicOpen" basicOpen - , goldenPir "associated" associated - , goldenPir "associatedParam" associatedParam - , goldenPir "basicData" basicData + goldenPirReadable "basicClosed" basicClosed + , goldenPirReadable "basicOpen" basicOpen + , goldenPirReadable "associated" associated + , goldenPirReadable "associatedParam" associatedParam + , goldenPirReadable "basicData" basicData , goldenUPlc "irreducible" irreducible ] diff --git a/plutus-tx-plugin/test/Plugin/Functions/9.6/recursive/even.pir.golden b/plutus-tx-plugin/test/Plugin/Functions/9.6/recursive/even.pir.golden index 6fddca8c052..d022832851d 100644 --- a/plutus-tx-plugin/test/Plugin/Functions/9.6/recursive/even.pir.golden +++ b/plutus-tx-plugin/test/Plugin/Functions/9.6/recursive/even.pir.golden @@ -1,50 +1,48 @@ -program - 1.1.0 - (let - data Bool | Bool_match where - True : Bool - False : Bool - !equalsInteger : integer -> integer -> bool = equalsInteger - !ifThenElse : all a. bool -> a -> a -> a = ifThenElse - ~equalsInteger : integer -> integer -> Bool - = \(x : integer) -> +let + data Bool | Bool_match where + True : Bool + False : Bool + !equalsInteger : integer -> integer -> bool = equalsInteger + !ifThenElse : all a. bool -> a -> a -> a = ifThenElse + ~equalsInteger : integer -> integer -> Bool + = \(x : integer) -> + let + !x : integer = x + in + \(y : integer) -> let - !x : integer = x + !y : integer = y + !b : bool = equalsInteger x y in - \(y : integer) -> - let - !y : integer = y - !b : bool = equalsInteger x y - in - ifThenElse {Bool} b True False - !subtractInteger : integer -> integer -> integer = subtractInteger - ~subtractInteger : integer -> integer -> integer - = \(x : integer) -> - let - !x : integer = x - in - \(y : integer) -> let !y : integer = y in subtractInteger x y - in - letrec - ~even : integer -> Bool - = \(n : integer) -> - let - !n : integer = n - in - Bool_match - (equalsInteger n 0) - {all dead. Bool} - (/\dead -> True) - (/\dead -> - let - !n : integer = subtractInteger n 1 - in - Bool_match - (equalsInteger n 0) - {all dead. Bool} - (/\dead -> False) - (/\dead -> even (subtractInteger n 1)) - {all dead. dead}) - {all dead. dead} - in - even) \ No newline at end of file + ifThenElse {Bool} b True False + !subtractInteger : integer -> integer -> integer = subtractInteger + ~subtractInteger : integer -> integer -> integer + = \(x : integer) -> + let + !x : integer = x + in + \(y : integer) -> let !y : integer = y in subtractInteger x y +in +letrec + ~even : integer -> Bool + = \(n : integer) -> + let + !n : integer = n + in + Bool_match + (equalsInteger n 0) + {all dead. Bool} + (/\dead -> True) + (/\dead -> + let + !n : integer = subtractInteger n 1 + in + Bool_match + (equalsInteger n 0) + {all dead. Bool} + (/\dead -> False) + (/\dead -> even (subtractInteger n 1)) + {all dead. dead}) + {all dead. dead} +in +even \ No newline at end of file diff --git a/plutus-tx-plugin/test/Plugin/Functions/9.6/recursive/fib.pir.golden b/plutus-tx-plugin/test/Plugin/Functions/9.6/recursive/fib.pir.golden index f4e7e9b6b50..fa8cbee97bd 100644 --- a/plutus-tx-plugin/test/Plugin/Functions/9.6/recursive/fib.pir.golden +++ b/plutus-tx-plugin/test/Plugin/Functions/9.6/recursive/fib.pir.golden @@ -1,57 +1,55 @@ -program - 1.1.0 - (let - !addInteger : integer -> integer -> integer = addInteger - ~addInteger : integer -> integer -> integer - = \(x : integer) -> +let + !addInteger : integer -> integer -> integer = addInteger + ~addInteger : integer -> integer -> integer + = \(x : integer) -> + let + !x : integer = x + in + \(y : integer) -> let !y : integer = y in addInteger x y + data Bool | Bool_match where + True : Bool + False : Bool + !equalsInteger : integer -> integer -> bool = equalsInteger + !ifThenElse : all a. bool -> a -> a -> a = ifThenElse + ~equalsInteger : integer -> integer -> Bool + = \(x : integer) -> + let + !x : integer = x + in + \(y : integer) -> let - !x : integer = x + !y : integer = y + !b : bool = equalsInteger x y in - \(y : integer) -> let !y : integer = y in addInteger x y - data Bool | Bool_match where - True : Bool - False : Bool - !equalsInteger : integer -> integer -> bool = equalsInteger - !ifThenElse : all a. bool -> a -> a -> a = ifThenElse - ~equalsInteger : integer -> integer -> Bool - = \(x : integer) -> - let - !x : integer = x - in - \(y : integer) -> - let - !y : integer = y - !b : bool = equalsInteger x y - in - ifThenElse {Bool} b True False - !subtractInteger : integer -> integer -> integer = subtractInteger - ~subtractInteger : integer -> integer -> integer - = \(x : integer) -> - let - !x : integer = x - in - \(y : integer) -> let !y : integer = y in subtractInteger x y - in - letrec - ~fib : integer -> integer - = \(n : integer) -> - let - !n : integer = n - in - Bool_match - (equalsInteger n 0) - {all dead. integer} - (/\dead -> 0) - (/\dead -> - Bool_match - (equalsInteger n 1) - {all dead. integer} - (/\dead -> 1) - (/\dead -> - addInteger - (fib (subtractInteger n 1)) - (fib (subtractInteger n 2))) - {all dead. dead}) - {all dead. dead} - in - fib) \ No newline at end of file + ifThenElse {Bool} b True False + !subtractInteger : integer -> integer -> integer = subtractInteger + ~subtractInteger : integer -> integer -> integer + = \(x : integer) -> + let + !x : integer = x + in + \(y : integer) -> let !y : integer = y in subtractInteger x y +in +letrec + ~fib : integer -> integer + = \(n : integer) -> + let + !n : integer = n + in + Bool_match + (equalsInteger n 0) + {all dead. integer} + (/\dead -> 0) + (/\dead -> + Bool_match + (equalsInteger n 1) + {all dead. integer} + (/\dead -> 1) + (/\dead -> + addInteger + (fib (subtractInteger n 1)) + (fib (subtractInteger n 2))) + {all dead. dead}) + {all dead. dead} +in +fib \ No newline at end of file diff --git a/plutus-tx-plugin/test/Plugin/Functions/9.6/recursive/lazyLength.pir.golden b/plutus-tx-plugin/test/Plugin/Functions/9.6/recursive/lazyLength.pir.golden index be60946322f..bb30be95e4d 100644 --- a/plutus-tx-plugin/test/Plugin/Functions/9.6/recursive/lazyLength.pir.golden +++ b/plutus-tx-plugin/test/Plugin/Functions/9.6/recursive/lazyLength.pir.golden @@ -1,36 +1,34 @@ -program - 1.1.0 - (letrec - data (List :: * -> *) a | List_match where - Nil : List a - Cons : a -> List a -> List a - in - let - !addInteger : integer -> integer -> integer = addInteger - ~addInteger : integer -> integer -> integer - = \(x : integer) -> - let - !x : integer = x - in - \(y : integer) -> let !y : integer = y in addInteger x y - ~lengthLazy : all a. List a -> integer - = /\a -> - letrec - ~go : integer -> List a -> integer - = \(acc : integer) -> - let - !acc : integer = acc - in - \(ds : List a) -> - List_match - {a} - ds - {all dead. integer} - (/\dead -> acc) - (\(ds : a) (tl : List a) -> - /\dead -> go (addInteger acc 1) tl) - {all dead. dead} - in - \(l : List a) -> let !l : List a = l in go 0 l - in - lengthLazy {integer}) \ No newline at end of file +letrec + data (List :: * -> *) a | List_match where + Nil : List a + Cons : a -> List a -> List a +in +let + !addInteger : integer -> integer -> integer = addInteger + ~addInteger : integer -> integer -> integer + = \(x : integer) -> + let + !x : integer = x + in + \(y : integer) -> let !y : integer = y in addInteger x y + ~lengthLazy : all a. List a -> integer + = /\a -> + letrec + ~go : integer -> List a -> integer + = \(acc : integer) -> + let + !acc : integer = acc + in + \(ds : List a) -> + List_match + {a} + ds + {all dead. integer} + (/\dead -> acc) + (\(ds : a) (tl : List a) -> + /\dead -> go (addInteger acc 1) tl) + {all dead. dead} + in + \(l : List a) -> let !l : List a = l in go 0 l +in +lengthLazy {integer} \ No newline at end of file diff --git a/plutus-tx-plugin/test/Plugin/Functions/9.6/recursive/strictLength.pir.golden b/plutus-tx-plugin/test/Plugin/Functions/9.6/recursive/strictLength.pir.golden index 1eb6e93fa0c..ef1af72f1b4 100644 --- a/plutus-tx-plugin/test/Plugin/Functions/9.6/recursive/strictLength.pir.golden +++ b/plutus-tx-plugin/test/Plugin/Functions/9.6/recursive/strictLength.pir.golden @@ -1,36 +1,34 @@ -program - 1.1.0 - (letrec - data (List :: * -> *) a | List_match where - Nil : List a - Cons : a -> List a -> List a - in - let - !addInteger : integer -> integer -> integer = addInteger - ~addInteger : integer -> integer -> integer - = \(x : integer) -> - let - !x : integer = x - in - \(y : integer) -> let !y : integer = y in addInteger x y - ~lengthStrict : all a. List a -> integer - = /\a -> - letrec - ~go : integer -> List a -> integer - = \(acc : integer) -> - let - !acc : integer = acc - in - \(ds : List a) -> - List_match - {a} - ds - {all dead. integer} - (/\dead -> acc) - (\(ds : a) (tl : List a) -> - /\dead -> go (addInteger acc 1) tl) - {all dead. dead} - in - \(l : List a) -> let !l : List a = l in go 0 l - in - lengthStrict {integer}) \ No newline at end of file +letrec + data (List :: * -> *) a | List_match where + Nil : List a + Cons : a -> List a -> List a +in +let + !addInteger : integer -> integer -> integer = addInteger + ~addInteger : integer -> integer -> integer + = \(x : integer) -> + let + !x : integer = x + in + \(y : integer) -> let !y : integer = y in addInteger x y + ~lengthStrict : all a. List a -> integer + = /\a -> + letrec + ~go : integer -> List a -> integer + = \(acc : integer) -> + let + !acc : integer = acc + in + \(ds : List a) -> + List_match + {a} + ds + {all dead. integer} + (/\dead -> acc) + (\(ds : a) (tl : List a) -> + /\dead -> go (addInteger acc 1) tl) + {all dead. dead} + in + \(l : List a) -> let !l : List a = l in go 0 l +in +lengthStrict {integer} \ No newline at end of file diff --git a/plutus-tx-plugin/test/Plugin/Functions/9.6/recursive/sum.pir.golden b/plutus-tx-plugin/test/Plugin/Functions/9.6/recursive/sum.pir.golden index 410b408a430..84e1d03d79b 100644 --- a/plutus-tx-plugin/test/Plugin/Functions/9.6/recursive/sum.pir.golden +++ b/plutus-tx-plugin/test/Plugin/Functions/9.6/recursive/sum.pir.golden @@ -1,27 +1,25 @@ -program - 1.1.0 - (letrec - data (List :: * -> *) a | List_match where - Nil : List a - Cons : a -> List a -> List a - in - let - !addInteger : integer -> integer -> integer = addInteger - ~addInteger : integer -> integer -> integer - = \(x : integer) -> - let - !x : integer = x - in - \(y : integer) -> let !y : integer = y in addInteger x y - in - letrec - ~sum : List integer -> integer - = \(ds : List integer) -> - List_match - {integer} - ds - {integer} - 0 - (\(x : integer) (xs : List integer) -> addInteger x (sum xs)) - in - sum) \ No newline at end of file +letrec + data (List :: * -> *) a | List_match where + Nil : List a + Cons : a -> List a -> List a +in +let + !addInteger : integer -> integer -> integer = addInteger + ~addInteger : integer -> integer -> integer + = \(x : integer) -> + let + !x : integer = x + in + \(y : integer) -> let !y : integer = y in addInteger x y +in +letrec + ~sum : List integer -> integer + = \(ds : List integer) -> + List_match + {integer} + ds + {integer} + 0 + (\(x : integer) (xs : List integer) -> addInteger x (sum xs)) +in +sum \ No newline at end of file diff --git a/plutus-tx-plugin/test/Plugin/Functions/9.6/unfoldings/allDirect.pir.golden b/plutus-tx-plugin/test/Plugin/Functions/9.6/unfoldings/allDirect.pir.golden index 4dc4e539e4b..1fd6a9a57c1 100644 --- a/plutus-tx-plugin/test/Plugin/Functions/9.6/unfoldings/allDirect.pir.golden +++ b/plutus-tx-plugin/test/Plugin/Functions/9.6/unfoldings/allDirect.pir.golden @@ -1,86 +1,84 @@ -program - 1.1.0 - (let - data Bool | Bool_match where - True : Bool - False : Bool - ~nandDirect : Bool -> Bool -> Bool - = \(ds : Bool) -> +let + data Bool | Bool_match where + True : Bool + False : Bool + ~nandDirect : Bool -> Bool -> Bool + = \(ds : Bool) -> + let + !ds : Bool = ds + in + \(ds : Bool) -> let !ds : Bool = ds in - \(ds : Bool) -> - let - !ds : Bool = ds - in - Bool_match - ds - {all dead. Bool} - (/\dead -> False) - (/\dead -> - Bool_match - ds - {all dead. Bool} - (/\dead -> False) - (/\dead -> True) - {all dead. dead}) - {all dead. dead} - ~andDirect : Bool -> Bool -> Bool - = \(ds : Bool) -> + Bool_match + ds + {all dead. Bool} + (/\dead -> False) + (/\dead -> + Bool_match + ds + {all dead. Bool} + (/\dead -> False) + (/\dead -> True) + {all dead. dead}) + {all dead. dead} + ~andDirect : Bool -> Bool -> Bool + = \(ds : Bool) -> + let + !ds : Bool = ds + in + \(ds : Bool) -> let !ds : Bool = ds in - \(ds : Bool) -> - let - !ds : Bool = ds - in - nandDirect (nandDirect ds ds) (nandDirect ds ds) - in - letrec - data (List :: * -> *) a | List_match where - Nil : List a - Cons : a -> List a -> List a - in - letrec - ~allDirect : all a. (a -> Bool) -> List a -> Bool - = /\a -> - \(p : a -> Bool) -> - let - !p : a -> Bool = p - in - \(l : List a) -> - let - !l : List a = l - in - List_match - {a} - l - {all dead. Bool} - (/\dead -> True) - (\(h : a) (t : List a) -> - /\dead -> andDirect (p h) (allDirect {a} p t)) - {all dead. dead} - in - let - ~build : all a. (all b. (a -> b -> b) -> b -> b) -> List a - = /\a -> - \(g : all b. (a -> b -> b) -> b -> b) -> - g {List a} (\(ds : a) (ds : List a) -> Cons {a} ds ds) (Nil {a}) - !ifThenElse : all a. bool -> a -> a -> a = ifThenElse - !lessThanInteger : integer -> integer -> bool = lessThanInteger - ~lessThanInteger : integer -> integer -> Bool - = \(x : integer) -> + nandDirect (nandDirect ds ds) (nandDirect ds ds) +in +letrec + data (List :: * -> *) a | List_match where + Nil : List a + Cons : a -> List a -> List a +in +letrec + ~allDirect : all a. (a -> Bool) -> List a -> Bool + = /\a -> + \(p : a -> Bool) -> let - !x : integer = x + !p : a -> Bool = p in - \(y : integer) -> + \(l : List a) -> let - !y : integer = y - !b : bool = lessThanInteger x y + !l : List a = l in - ifThenElse {Bool} b True False - in - allDirect - {integer} - (\(ds : integer) -> let !ds : integer = ds in lessThanInteger ds 5) - (build {integer} (/\a -> \(c : integer -> a -> a) (n : a) -> c 7 (c 6 n)))) \ No newline at end of file + List_match + {a} + l + {all dead. Bool} + (/\dead -> True) + (\(h : a) (t : List a) -> + /\dead -> andDirect (p h) (allDirect {a} p t)) + {all dead. dead} +in +let + ~build : all a. (all b. (a -> b -> b) -> b -> b) -> List a + = /\a -> + \(g : all b. (a -> b -> b) -> b -> b) -> + g {List a} (\(ds : a) (ds : List a) -> Cons {a} ds ds) (Nil {a}) + !ifThenElse : all a. bool -> a -> a -> a = ifThenElse + !lessThanInteger : integer -> integer -> bool = lessThanInteger + ~lessThanInteger : integer -> integer -> Bool + = \(x : integer) -> + let + !x : integer = x + in + \(y : integer) -> + let + !y : integer = y + !b : bool = lessThanInteger x y + in + ifThenElse {Bool} b True False +in +allDirect + {integer} + (\(ds : integer) -> let !ds : integer = ds in lessThanInteger ds 5) + (build {integer} (/\a -> \(c : integer -> a -> a) (n : a) -> c 7 (c 6 n))) \ No newline at end of file diff --git a/plutus-tx-plugin/test/Plugin/Functions/9.6/unfoldings/andDirect.pir.golden b/plutus-tx-plugin/test/Plugin/Functions/9.6/unfoldings/andDirect.pir.golden index d4692d0424c..f8321edaff1 100644 --- a/plutus-tx-plugin/test/Plugin/Functions/9.6/unfoldings/andDirect.pir.golden +++ b/plutus-tx-plugin/test/Plugin/Functions/9.6/unfoldings/andDirect.pir.golden @@ -1,39 +1,37 @@ -program - 1.1.0 - (let - data Bool | Bool_match where - True : Bool - False : Bool - ~nandDirect : Bool -> Bool -> Bool - = \(ds : Bool) -> +let + data Bool | Bool_match where + True : Bool + False : Bool + ~nandDirect : Bool -> Bool -> Bool + = \(ds : Bool) -> + let + !ds : Bool = ds + in + \(ds : Bool) -> let !ds : Bool = ds in - \(ds : Bool) -> - let - !ds : Bool = ds - in - Bool_match - ds - {all dead. Bool} - (/\dead -> False) - (/\dead -> - Bool_match - ds - {all dead. Bool} - (/\dead -> False) - (/\dead -> True) - {all dead. dead}) - {all dead. dead} - ~andDirect : Bool -> Bool -> Bool - = \(ds : Bool) -> + Bool_match + ds + {all dead. Bool} + (/\dead -> False) + (/\dead -> + Bool_match + ds + {all dead. Bool} + (/\dead -> False) + (/\dead -> True) + {all dead. dead}) + {all dead. dead} + ~andDirect : Bool -> Bool -> Bool + = \(ds : Bool) -> + let + !ds : Bool = ds + in + \(ds : Bool) -> let !ds : Bool = ds in - \(ds : Bool) -> - let - !ds : Bool = ds - in - nandDirect (nandDirect ds ds) (nandDirect ds ds) - in - andDirect True False) \ No newline at end of file + nandDirect (nandDirect ds ds) (nandDirect ds ds) +in +andDirect True False \ No newline at end of file diff --git a/plutus-tx-plugin/test/Plugin/Functions/9.6/unfoldings/andExternal.pir.golden b/plutus-tx-plugin/test/Plugin/Functions/9.6/unfoldings/andExternal.pir.golden index e8e63e81cad..64d1de817c1 100644 --- a/plutus-tx-plugin/test/Plugin/Functions/9.6/unfoldings/andExternal.pir.golden +++ b/plutus-tx-plugin/test/Plugin/Functions/9.6/unfoldings/andExternal.pir.golden @@ -1,23 +1,21 @@ -program - 1.1.0 - (let - data Bool | Bool_match where - True : Bool - False : Bool - ~andExternal : Bool -> Bool -> Bool - = \(a : Bool) -> +let + data Bool | Bool_match where + True : Bool + False : Bool + ~andExternal : Bool -> Bool -> Bool + = \(a : Bool) -> + let + !a : Bool = a + in + \(b : Bool) -> let - !a : Bool = a + !b : Bool = b in - \(b : Bool) -> - let - !b : Bool = b - in - Bool_match - a - {all dead. Bool} - (/\dead -> b) - (/\dead -> False) - {all dead. dead} - in - andExternal True False) \ No newline at end of file + Bool_match + a + {all dead. Bool} + (/\dead -> b) + (/\dead -> False) + {all dead. dead} +in +andExternal True False \ No newline at end of file diff --git a/plutus-tx-plugin/test/Plugin/Functions/9.6/unfoldings/applicationFunction.pir.golden b/plutus-tx-plugin/test/Plugin/Functions/9.6/unfoldings/applicationFunction.pir.golden index f5a7ad7ede3..7352c717be4 100644 --- a/plutus-tx-plugin/test/Plugin/Functions/9.6/unfoldings/applicationFunction.pir.golden +++ b/plutus-tx-plugin/test/Plugin/Functions/9.6/unfoldings/applicationFunction.pir.golden @@ -1,23 +1,21 @@ -program - 1.1.0 - (let - !addInteger : integer -> integer -> integer = addInteger - ~addInteger : integer -> integer -> integer - = \(x : integer) -> +let + !addInteger : integer -> integer -> integer = addInteger + ~addInteger : integer -> integer -> integer + = \(x : integer) -> + let + !x : integer = x + in + \(y : integer) -> let !y : integer = y in addInteger x y + ~myDollar : all a b. (a -> b) -> a -> b + = /\a b -> + \(f : a -> b) -> let - !x : integer = x + !f : a -> b = f in - \(y : integer) -> let !y : integer = y in addInteger x y - ~myDollar : all a b. (a -> b) -> a -> b - = /\a b -> - \(f : a -> b) -> - let - !f : a -> b = f - in - \(a : a) -> let !a : a = a in f a - in - myDollar - {integer} - {integer} - (\(x : integer) -> let !x : integer = x in addInteger 1 x) - 1) \ No newline at end of file + \(a : a) -> let !a : a = a in f a +in +myDollar + {integer} + {integer} + (\(x : integer) -> let !x : integer = x in addInteger 1 x) + 1 \ No newline at end of file diff --git a/plutus-tx-plugin/test/Plugin/Functions/9.6/unfoldings/mutualRecursionUnfoldings.pir.golden b/plutus-tx-plugin/test/Plugin/Functions/9.6/unfoldings/mutualRecursionUnfoldings.pir.golden index 1ff79a6452d..7ebed3c6e26 100644 --- a/plutus-tx-plugin/test/Plugin/Functions/9.6/unfoldings/mutualRecursionUnfoldings.pir.golden +++ b/plutus-tx-plugin/test/Plugin/Functions/9.6/unfoldings/mutualRecursionUnfoldings.pir.golden @@ -1,37 +1,35 @@ -program - 1.1.0 - (let - data Bool | Bool_match where - True : Bool - False : Bool - !equalsInteger : integer -> integer -> bool = equalsInteger - !ifThenElse : all a. bool -> a -> a -> a = ifThenElse - !subtractInteger : integer -> integer -> integer = subtractInteger - in - letrec - ~evenDirect : integer -> Bool - = \(n : integer) -> - let - !n : integer = n - !b : bool = equalsInteger n 0 - in - Bool_match - (ifThenElse {Bool} b True False) - {all dead. Bool} - (/\dead -> True) - (/\dead -> oddDirect (subtractInteger n 1)) - {all dead. dead} - ~oddDirect : integer -> Bool - = \(n : integer) -> - let - !n : integer = n - !b : bool = equalsInteger n 0 - in - Bool_match - (ifThenElse {Bool} b True False) - {all dead. Bool} - (/\dead -> False) - (/\dead -> evenDirect (subtractInteger n 1)) - {all dead. dead} - in - evenDirect 4) \ No newline at end of file +let + data Bool | Bool_match where + True : Bool + False : Bool + !equalsInteger : integer -> integer -> bool = equalsInteger + !ifThenElse : all a. bool -> a -> a -> a = ifThenElse + !subtractInteger : integer -> integer -> integer = subtractInteger +in +letrec + ~evenDirect : integer -> Bool + = \(n : integer) -> + let + !n : integer = n + !b : bool = equalsInteger n 0 + in + Bool_match + (ifThenElse {Bool} b True False) + {all dead. Bool} + (/\dead -> True) + (/\dead -> oddDirect (subtractInteger n 1)) + {all dead. dead} + ~oddDirect : integer -> Bool + = \(n : integer) -> + let + !n : integer = n + !b : bool = equalsInteger n 0 + in + Bool_match + (ifThenElse {Bool} b True False) + {all dead. Bool} + (/\dead -> False) + (/\dead -> evenDirect (subtractInteger n 1)) + {all dead. dead} +in +evenDirect 4 \ No newline at end of file diff --git a/plutus-tx-plugin/test/Plugin/Functions/9.6/unfoldings/nandDirect.pir.golden b/plutus-tx-plugin/test/Plugin/Functions/9.6/unfoldings/nandDirect.pir.golden index 8c9d99a15aa..af1d5a866ac 100644 --- a/plutus-tx-plugin/test/Plugin/Functions/9.6/unfoldings/nandDirect.pir.golden +++ b/plutus-tx-plugin/test/Plugin/Functions/9.6/unfoldings/nandDirect.pir.golden @@ -1,29 +1,27 @@ -program - 1.1.0 - (let - data Bool | Bool_match where - True : Bool - False : Bool - ~nandDirect : Bool -> Bool -> Bool - = \(ds : Bool) -> +let + data Bool | Bool_match where + True : Bool + False : Bool + ~nandDirect : Bool -> Bool -> Bool + = \(ds : Bool) -> + let + !ds : Bool = ds + in + \(ds : Bool) -> let !ds : Bool = ds in - \(ds : Bool) -> - let - !ds : Bool = ds - in - Bool_match - ds - {all dead. Bool} - (/\dead -> False) - (/\dead -> - Bool_match - ds - {all dead. Bool} - (/\dead -> False) - (/\dead -> True) - {all dead. dead}) - {all dead. dead} - in - nandDirect True False) \ No newline at end of file + Bool_match + ds + {all dead. Bool} + (/\dead -> False) + (/\dead -> + Bool_match + ds + {all dead. Bool} + (/\dead -> False) + (/\dead -> True) + {all dead. dead}) + {all dead. dead} +in +nandDirect True False \ No newline at end of file diff --git a/plutus-tx-plugin/test/Plugin/Functions/9.6/unfoldings/polyMap.pir.golden b/plutus-tx-plugin/test/Plugin/Functions/9.6/unfoldings/polyMap.pir.golden index e91f5bf25b7..e3f6b3e5dfe 100644 --- a/plutus-tx-plugin/test/Plugin/Functions/9.6/unfoldings/polyMap.pir.golden +++ b/plutus-tx-plugin/test/Plugin/Functions/9.6/unfoldings/polyMap.pir.golden @@ -1,47 +1,45 @@ -program - 1.1.0 - (let - !addInteger : integer -> integer -> integer = addInteger - ~addInteger : integer -> integer -> integer - = \(x : integer) -> +let + !addInteger : integer -> integer -> integer = addInteger + ~addInteger : integer -> integer -> integer + = \(x : integer) -> + let + !x : integer = x + in + \(y : integer) -> let !y : integer = y in addInteger x y +in +letrec + data (List :: * -> *) a | List_match where + Nil : List a + Cons : a -> List a -> List a +in +let + ~build : all a. (all b. (a -> b -> b) -> b -> b) -> List a + = /\a -> + \(g : all b. (a -> b -> b) -> b -> b) -> + g {List a} (\(ds : a) (ds : List a) -> Cons {a} ds ds) (Nil {a}) +in +letrec + ~mapDirect : all a b. (a -> b) -> List a -> List b + = /\a b -> + \(f : a -> b) -> let - !x : integer = x + !f : a -> b = f in - \(y : integer) -> let !y : integer = y in addInteger x y - in - letrec - data (List :: * -> *) a | List_match where - Nil : List a - Cons : a -> List a -> List a - in - let - ~build : all a. (all b. (a -> b -> b) -> b -> b) -> List a - = /\a -> - \(g : all b. (a -> b -> b) -> b -> b) -> - g {List a} (\(ds : a) (ds : List a) -> Cons {a} ds ds) (Nil {a}) - in - letrec - ~mapDirect : all a b. (a -> b) -> List a -> List b - = /\a b -> - \(f : a -> b) -> + \(l : List a) -> let - !f : a -> b = f + !l : List a = l in - \(l : List a) -> - let - !l : List a = l - in - List_match - {a} - l - {all dead. List b} - (/\dead -> Nil {b}) - (\(x : a) (xs : List a) -> - /\dead -> Cons {b} (f x) (mapDirect {a} {b} f xs)) - {all dead. dead} - in - mapDirect - {integer} - {integer} - (addInteger 1) - (build {integer} (/\a -> \(c : integer -> a -> a) (n : a) -> c 0 (c 1 n)))) \ No newline at end of file + List_match + {a} + l + {all dead. List b} + (/\dead -> Nil {b}) + (\(x : a) (xs : List a) -> + /\dead -> Cons {b} (f x) (mapDirect {a} {b} f xs)) + {all dead. dead} +in +mapDirect + {integer} + {integer} + (addInteger 1) + (build {integer} (/\a -> \(c : integer -> a -> a) (n : a) -> c 0 (c 1 n))) \ No newline at end of file diff --git a/plutus-tx-plugin/test/Plugin/Functions/9.6/unfoldings/recordSelector.pir.golden b/plutus-tx-plugin/test/Plugin/Functions/9.6/unfoldings/recordSelector.pir.golden index 428fc3542fc..ac032ad5a1b 100644 --- a/plutus-tx-plugin/test/Plugin/Functions/9.6/unfoldings/recordSelector.pir.golden +++ b/plutus-tx-plugin/test/Plugin/Functions/9.6/unfoldings/recordSelector.pir.golden @@ -1,10 +1,8 @@ -program - 1.1.0 - (let - data MyMonoRecord | MyMonoRecord_match where - MyMonoRecord : integer -> integer -> MyMonoRecord - ~mrA : MyMonoRecord -> integer - = \(ds : MyMonoRecord) -> - MyMonoRecord_match ds {integer} (\(ds : integer) (ds : integer) -> ds) - in - \(ds : MyMonoRecord) -> let !ds : MyMonoRecord = ds in mrA ds) \ No newline at end of file +let + data MyMonoRecord | MyMonoRecord_match where + MyMonoRecord : integer -> integer -> MyMonoRecord + ~mrA : MyMonoRecord -> integer + = \(ds : MyMonoRecord) -> + MyMonoRecord_match ds {integer} (\(ds : integer) (ds : integer) -> ds) +in +\(ds : MyMonoRecord) -> let !ds : MyMonoRecord = ds in mrA ds \ No newline at end of file diff --git a/plutus-tx-plugin/test/Plugin/Functions/9.6/unfoldings/recordSelectorExternal.pir.golden b/plutus-tx-plugin/test/Plugin/Functions/9.6/unfoldings/recordSelectorExternal.pir.golden index bfd891dd56b..0930b53ee88 100644 --- a/plutus-tx-plugin/test/Plugin/Functions/9.6/unfoldings/recordSelectorExternal.pir.golden +++ b/plutus-tx-plugin/test/Plugin/Functions/9.6/unfoldings/recordSelectorExternal.pir.golden @@ -1,10 +1,8 @@ -program - 1.1.0 - (let - data MyExternalRecord | MyExternalRecord_match where - MyExternalRecord : integer -> MyExternalRecord - ~myExternal : MyExternalRecord -> integer - = \(ds : MyExternalRecord) -> - MyExternalRecord_match ds {integer} (\(ds : integer) -> ds) - in - \(ds : MyExternalRecord) -> let !ds : MyExternalRecord = ds in myExternal ds) \ No newline at end of file +let + data MyExternalRecord | MyExternalRecord_match where + MyExternalRecord : integer -> MyExternalRecord + ~myExternal : MyExternalRecord -> integer + = \(ds : MyExternalRecord) -> + MyExternalRecord_match ds {integer} (\(ds : integer) -> ds) +in +\(ds : MyExternalRecord) -> let !ds : MyExternalRecord = ds in myExternal ds \ No newline at end of file diff --git a/plutus-tx-plugin/test/Plugin/Functions/9.6/unfoldings/unboxedTuples2.pir.golden b/plutus-tx-plugin/test/Plugin/Functions/9.6/unfoldings/unboxedTuples2.pir.golden index 5de4434470c..bcd2a4fe9dd 100644 --- a/plutus-tx-plugin/test/Plugin/Functions/9.6/unfoldings/unboxedTuples2.pir.golden +++ b/plutus-tx-plugin/test/Plugin/Functions/9.6/unfoldings/unboxedTuples2.pir.golden @@ -1,26 +1,24 @@ -program - 1.1.0 - (let - data (UTuple2 :: * -> * -> *) a b | UTuple2_match where - UTuple2 : a -> b -> UTuple2 a b - !addInteger : integer -> integer -> integer = addInteger - ~addInteger : integer -> integer -> integer - = \(x : integer) -> - let - !x : integer = x - in - \(y : integer) -> let !y : integer = y in addInteger x y - ~unboxedTuple : UTuple2 integer integer -> integer - = \(ds : UTuple2 integer integer) -> - UTuple2_match - {integer} - {integer} - ds - {integer} - (\(i : integer) (j : integer) -> addInteger i j) +let + data (UTuple2 :: * -> * -> *) a b | UTuple2_match where + UTuple2 : a -> b -> UTuple2 a b + !addInteger : integer -> integer -> integer = addInteger + ~addInteger : integer -> integer -> integer + = \(x : integer) -> + let + !x : integer = x + in + \(y : integer) -> let !y : integer = y in addInteger x y + ~unboxedTuple : UTuple2 integer integer -> integer + = \(ds : UTuple2 integer integer) -> + UTuple2_match + {integer} + {integer} + ds + {integer} + (\(i : integer) (j : integer) -> addInteger i j) +in +\(x : integer) -> + let + !x : integer = x in - \(x : integer) -> - let - !x : integer = x - in - unboxedTuple (UTuple2 {integer} {integer} x x)) \ No newline at end of file + unboxedTuple (UTuple2 {integer} {integer} x x) \ No newline at end of file diff --git a/plutus-tx-plugin/test/Plugin/Functions/9.6/unfoldings/unboxedTuples2Tuples.pir.golden b/plutus-tx-plugin/test/Plugin/Functions/9.6/unfoldings/unboxedTuples2Tuples.pir.golden index 152474293af..535401b44b7 100644 --- a/plutus-tx-plugin/test/Plugin/Functions/9.6/unfoldings/unboxedTuples2Tuples.pir.golden +++ b/plutus-tx-plugin/test/Plugin/Functions/9.6/unfoldings/unboxedTuples2Tuples.pir.golden @@ -1,58 +1,56 @@ -program - 1.1.0 - (let - data (UTuple2 :: * -> * -> *) a b | UTuple2_match where - UTuple2 : a -> b -> UTuple2 a b - data (UTuple5 :: * -> * -> * -> * -> * -> *) a b c d e | UTuple5_match where - UTuple5 : a -> b -> c -> d -> e -> UTuple5 a b c d e - !addInteger : integer -> integer -> integer = addInteger - ~addInteger : integer -> integer -> integer - = \(x : integer) -> - let - !x : integer = x - in - \(y : integer) -> let !y : integer = y in addInteger x y - ~unboxedTuple : UTuple5 integer integer integer integer integer -> integer - = \(ds : UTuple5 integer integer integer integer integer) -> - UTuple5_match - {integer} - {integer} - {integer} - {integer} - {integer} - ds - {integer} - (\(i : integer) - (j : integer) - (k : integer) - (l : integer) - (m : integer) -> - addInteger (addInteger (addInteger (addInteger i j) k) l) m) - ~unboxedTuples2Tuple : - UTuple2 - (UTuple5 integer integer integer integer integer) - (UTuple5 integer integer integer integer integer) -> - integer - = \(ds : - UTuple2 - (UTuple5 integer integer integer integer integer) - (UTuple5 integer integer integer integer integer)) -> - UTuple2_match - {UTuple5 integer integer integer integer integer} - {UTuple5 integer integer integer integer integer} - ds - {integer} - (\(i : UTuple5 integer integer integer integer integer) - (j : UTuple5 integer integer integer integer integer) -> - addInteger (unboxedTuple i) (unboxedTuple j)) +let + data (UTuple2 :: * -> * -> *) a b | UTuple2_match where + UTuple2 : a -> b -> UTuple2 a b + data (UTuple5 :: * -> * -> * -> * -> * -> *) a b c d e | UTuple5_match where + UTuple5 : a -> b -> c -> d -> e -> UTuple5 a b c d e + !addInteger : integer -> integer -> integer = addInteger + ~addInteger : integer -> integer -> integer + = \(x : integer) -> + let + !x : integer = x + in + \(y : integer) -> let !y : integer = y in addInteger x y + ~unboxedTuple : UTuple5 integer integer integer integer integer -> integer + = \(ds : UTuple5 integer integer integer integer integer) -> + UTuple5_match + {integer} + {integer} + {integer} + {integer} + {integer} + ds + {integer} + (\(i : integer) + (j : integer) + (k : integer) + (l : integer) + (m : integer) -> + addInteger (addInteger (addInteger (addInteger i j) k) l) m) + ~unboxedTuples2Tuple : + UTuple2 + (UTuple5 integer integer integer integer integer) + (UTuple5 integer integer integer integer integer) -> + integer + = \(ds : + UTuple2 + (UTuple5 integer integer integer integer integer) + (UTuple5 integer integer integer integer integer)) -> + UTuple2_match + {UTuple5 integer integer integer integer integer} + {UTuple5 integer integer integer integer integer} + ds + {integer} + (\(i : UTuple5 integer integer integer integer integer) + (j : UTuple5 integer integer integer integer integer) -> + addInteger (unboxedTuple i) (unboxedTuple j)) +in +\(x : integer) -> + let + !x : integer = x in - \(x : integer) -> - let - !x : integer = x - in - unboxedTuples2Tuple - (UTuple2 - {UTuple5 integer integer integer integer integer} - {UTuple5 integer integer integer integer integer} - (UTuple5 {integer} {integer} {integer} {integer} {integer} x x x x x) - (UTuple5 {integer} {integer} {integer} {integer} {integer} x x x x x))) \ No newline at end of file + unboxedTuples2Tuple + (UTuple2 + {UTuple5 integer integer integer integer integer} + {UTuple5 integer integer integer integer integer} + (UTuple5 {integer} {integer} {integer} {integer} {integer} x x x x x) + (UTuple5 {integer} {integer} {integer} {integer} {integer} x x x x x)) \ No newline at end of file diff --git a/plutus-tx-plugin/test/Plugin/Functions/9.6/unfoldings/unboxedTuples3.pir.golden b/plutus-tx-plugin/test/Plugin/Functions/9.6/unfoldings/unboxedTuples3.pir.golden index 7343906f4bd..ecb8eb6bf76 100644 --- a/plutus-tx-plugin/test/Plugin/Functions/9.6/unfoldings/unboxedTuples3.pir.golden +++ b/plutus-tx-plugin/test/Plugin/Functions/9.6/unfoldings/unboxedTuples3.pir.golden @@ -1,28 +1,26 @@ -program - 1.1.0 - (let - data (UTuple3 :: * -> * -> * -> *) a b c | UTuple3_match where - UTuple3 : a -> b -> c -> UTuple3 a b c - !addInteger : integer -> integer -> integer = addInteger - ~addInteger : integer -> integer -> integer - = \(x : integer) -> - let - !x : integer = x - in - \(y : integer) -> let !y : integer = y in addInteger x y - ~unboxedTuple : UTuple3 integer integer integer -> integer - = \(ds : UTuple3 integer integer integer) -> - UTuple3_match - {integer} - {integer} - {integer} - ds - {integer} - (\(i : integer) (j : integer) (k : integer) -> - addInteger (addInteger i j) k) +let + data (UTuple3 :: * -> * -> * -> *) a b c | UTuple3_match where + UTuple3 : a -> b -> c -> UTuple3 a b c + !addInteger : integer -> integer -> integer = addInteger + ~addInteger : integer -> integer -> integer + = \(x : integer) -> + let + !x : integer = x + in + \(y : integer) -> let !y : integer = y in addInteger x y + ~unboxedTuple : UTuple3 integer integer integer -> integer + = \(ds : UTuple3 integer integer integer) -> + UTuple3_match + {integer} + {integer} + {integer} + ds + {integer} + (\(i : integer) (j : integer) (k : integer) -> + addInteger (addInteger i j) k) +in +\(x : integer) -> + let + !x : integer = x in - \(x : integer) -> - let - !x : integer = x - in - unboxedTuple (UTuple3 {integer} {integer} {integer} x x x)) \ No newline at end of file + unboxedTuple (UTuple3 {integer} {integer} {integer} x x x) \ No newline at end of file diff --git a/plutus-tx-plugin/test/Plugin/Functions/9.6/unfoldings/unboxedTuples3Tuples.pir.golden b/plutus-tx-plugin/test/Plugin/Functions/9.6/unfoldings/unboxedTuples3Tuples.pir.golden index ec5c8922248..1fe1652f4cf 100644 --- a/plutus-tx-plugin/test/Plugin/Functions/9.6/unfoldings/unboxedTuples3Tuples.pir.golden +++ b/plutus-tx-plugin/test/Plugin/Functions/9.6/unfoldings/unboxedTuples3Tuples.pir.golden @@ -1,66 +1,64 @@ -program - 1.1.0 - (let - data (UTuple3 :: * -> * -> * -> *) a b c | UTuple3_match where - UTuple3 : a -> b -> c -> UTuple3 a b c - data (UTuple5 :: * -> * -> * -> * -> * -> *) a b c d e | UTuple5_match where - UTuple5 : a -> b -> c -> d -> e -> UTuple5 a b c d e - !addInteger : integer -> integer -> integer = addInteger - ~addInteger : integer -> integer -> integer - = \(x : integer) -> - let - !x : integer = x - in - \(y : integer) -> let !y : integer = y in addInteger x y - ~unboxedTuple : UTuple5 integer integer integer integer integer -> integer - = \(ds : UTuple5 integer integer integer integer integer) -> - UTuple5_match - {integer} - {integer} - {integer} - {integer} - {integer} - ds - {integer} - (\(i : integer) - (j : integer) - (k : integer) - (l : integer) - (m : integer) -> - addInteger (addInteger (addInteger (addInteger i j) k) l) m) - ~unboxedTuples3Tuple : - UTuple3 - (UTuple5 integer integer integer integer integer) - (UTuple5 integer integer integer integer integer) - (UTuple5 integer integer integer integer integer) -> - integer - = \(ds : - UTuple3 - (UTuple5 integer integer integer integer integer) - (UTuple5 integer integer integer integer integer) - (UTuple5 integer integer integer integer integer)) -> - UTuple3_match - {UTuple5 integer integer integer integer integer} - {UTuple5 integer integer integer integer integer} - {UTuple5 integer integer integer integer integer} - ds - {integer} - (\(i : UTuple5 integer integer integer integer integer) - (j : UTuple5 integer integer integer integer integer) - (k : UTuple5 integer integer integer integer integer) -> - addInteger - (addInteger (unboxedTuple i) (unboxedTuple j)) - (unboxedTuple k)) +let + data (UTuple3 :: * -> * -> * -> *) a b c | UTuple3_match where + UTuple3 : a -> b -> c -> UTuple3 a b c + data (UTuple5 :: * -> * -> * -> * -> * -> *) a b c d e | UTuple5_match where + UTuple5 : a -> b -> c -> d -> e -> UTuple5 a b c d e + !addInteger : integer -> integer -> integer = addInteger + ~addInteger : integer -> integer -> integer + = \(x : integer) -> + let + !x : integer = x + in + \(y : integer) -> let !y : integer = y in addInteger x y + ~unboxedTuple : UTuple5 integer integer integer integer integer -> integer + = \(ds : UTuple5 integer integer integer integer integer) -> + UTuple5_match + {integer} + {integer} + {integer} + {integer} + {integer} + ds + {integer} + (\(i : integer) + (j : integer) + (k : integer) + (l : integer) + (m : integer) -> + addInteger (addInteger (addInteger (addInteger i j) k) l) m) + ~unboxedTuples3Tuple : + UTuple3 + (UTuple5 integer integer integer integer integer) + (UTuple5 integer integer integer integer integer) + (UTuple5 integer integer integer integer integer) -> + integer + = \(ds : + UTuple3 + (UTuple5 integer integer integer integer integer) + (UTuple5 integer integer integer integer integer) + (UTuple5 integer integer integer integer integer)) -> + UTuple3_match + {UTuple5 integer integer integer integer integer} + {UTuple5 integer integer integer integer integer} + {UTuple5 integer integer integer integer integer} + ds + {integer} + (\(i : UTuple5 integer integer integer integer integer) + (j : UTuple5 integer integer integer integer integer) + (k : UTuple5 integer integer integer integer integer) -> + addInteger + (addInteger (unboxedTuple i) (unboxedTuple j)) + (unboxedTuple k)) +in +\(x : integer) -> + let + !x : integer = x in - \(x : integer) -> - let - !x : integer = x - in - unboxedTuples3Tuple - (UTuple3 - {UTuple5 integer integer integer integer integer} - {UTuple5 integer integer integer integer integer} - {UTuple5 integer integer integer integer integer} - (UTuple5 {integer} {integer} {integer} {integer} {integer} x x x x x) - (UTuple5 {integer} {integer} {integer} {integer} {integer} x x x x x) - (UTuple5 {integer} {integer} {integer} {integer} {integer} x x x x x))) \ No newline at end of file + unboxedTuples3Tuple + (UTuple3 + {UTuple5 integer integer integer integer integer} + {UTuple5 integer integer integer integer integer} + {UTuple5 integer integer integer integer integer} + (UTuple5 {integer} {integer} {integer} {integer} {integer} x x x x x) + (UTuple5 {integer} {integer} {integer} {integer} {integer} x x x x x) + (UTuple5 {integer} {integer} {integer} {integer} {integer} x x x x x)) \ No newline at end of file diff --git a/plutus-tx-plugin/test/Plugin/Functions/9.6/unfoldings/unboxedTuples4.pir.golden b/plutus-tx-plugin/test/Plugin/Functions/9.6/unfoldings/unboxedTuples4.pir.golden index 2570ca5f6d9..ee753878792 100644 --- a/plutus-tx-plugin/test/Plugin/Functions/9.6/unfoldings/unboxedTuples4.pir.golden +++ b/plutus-tx-plugin/test/Plugin/Functions/9.6/unfoldings/unboxedTuples4.pir.golden @@ -1,29 +1,27 @@ -program - 1.1.0 - (let - data (UTuple4 :: * -> * -> * -> * -> *) a b c d | UTuple4_match where - UTuple4 : a -> b -> c -> d -> UTuple4 a b c d - !addInteger : integer -> integer -> integer = addInteger - ~addInteger : integer -> integer -> integer - = \(x : integer) -> - let - !x : integer = x - in - \(y : integer) -> let !y : integer = y in addInteger x y - ~unboxedTuple : UTuple4 integer integer integer integer -> integer - = \(ds : UTuple4 integer integer integer integer) -> - UTuple4_match - {integer} - {integer} - {integer} - {integer} - ds - {integer} - (\(i : integer) (j : integer) (k : integer) (l : integer) -> - addInteger (addInteger (addInteger i j) k) l) +let + data (UTuple4 :: * -> * -> * -> * -> *) a b c d | UTuple4_match where + UTuple4 : a -> b -> c -> d -> UTuple4 a b c d + !addInteger : integer -> integer -> integer = addInteger + ~addInteger : integer -> integer -> integer + = \(x : integer) -> + let + !x : integer = x + in + \(y : integer) -> let !y : integer = y in addInteger x y + ~unboxedTuple : UTuple4 integer integer integer integer -> integer + = \(ds : UTuple4 integer integer integer integer) -> + UTuple4_match + {integer} + {integer} + {integer} + {integer} + ds + {integer} + (\(i : integer) (j : integer) (k : integer) (l : integer) -> + addInteger (addInteger (addInteger i j) k) l) +in +\(x : integer) -> + let + !x : integer = x in - \(x : integer) -> - let - !x : integer = x - in - unboxedTuple (UTuple4 {integer} {integer} {integer} {integer} x x x x)) \ No newline at end of file + unboxedTuple (UTuple4 {integer} {integer} {integer} {integer} x x x x) \ No newline at end of file diff --git a/plutus-tx-plugin/test/Plugin/Functions/9.6/unfoldings/unboxedTuples5.pir.golden b/plutus-tx-plugin/test/Plugin/Functions/9.6/unfoldings/unboxedTuples5.pir.golden index 5a3ebe78fd3..e4138c7b732 100644 --- a/plutus-tx-plugin/test/Plugin/Functions/9.6/unfoldings/unboxedTuples5.pir.golden +++ b/plutus-tx-plugin/test/Plugin/Functions/9.6/unfoldings/unboxedTuples5.pir.golden @@ -1,35 +1,33 @@ -program - 1.1.0 - (let - data (UTuple5 :: * -> * -> * -> * -> * -> *) a b c d e | UTuple5_match where - UTuple5 : a -> b -> c -> d -> e -> UTuple5 a b c d e - !addInteger : integer -> integer -> integer = addInteger - ~addInteger : integer -> integer -> integer - = \(x : integer) -> - let - !x : integer = x - in - \(y : integer) -> let !y : integer = y in addInteger x y - ~unboxedTuple : UTuple5 integer integer integer integer integer -> integer - = \(ds : UTuple5 integer integer integer integer integer) -> - UTuple5_match - {integer} - {integer} - {integer} - {integer} - {integer} - ds - {integer} - (\(i : integer) - (j : integer) - (k : integer) - (l : integer) - (m : integer) -> - addInteger (addInteger (addInteger (addInteger i j) k) l) m) +let + data (UTuple5 :: * -> * -> * -> * -> * -> *) a b c d e | UTuple5_match where + UTuple5 : a -> b -> c -> d -> e -> UTuple5 a b c d e + !addInteger : integer -> integer -> integer = addInteger + ~addInteger : integer -> integer -> integer + = \(x : integer) -> + let + !x : integer = x + in + \(y : integer) -> let !y : integer = y in addInteger x y + ~unboxedTuple : UTuple5 integer integer integer integer integer -> integer + = \(ds : UTuple5 integer integer integer integer integer) -> + UTuple5_match + {integer} + {integer} + {integer} + {integer} + {integer} + ds + {integer} + (\(i : integer) + (j : integer) + (k : integer) + (l : integer) + (m : integer) -> + addInteger (addInteger (addInteger (addInteger i j) k) l) m) +in +\(x : integer) -> + let + !x : integer = x in - \(x : integer) -> - let - !x : integer = x - in - unboxedTuple - (UTuple5 {integer} {integer} {integer} {integer} {integer} x x x x x)) \ No newline at end of file + unboxedTuple + (UTuple5 {integer} {integer} {integer} {integer} {integer} x x x x x) \ No newline at end of file diff --git a/plutus-tx-plugin/test/Plugin/Functions/Spec.hs b/plutus-tx-plugin/test/Plugin/Functions/Spec.hs index a44c8172252..568c4f12519 100644 --- a/plutus-tx-plugin/test/Plugin/Functions/Spec.hs +++ b/plutus-tx-plugin/test/Plugin/Functions/Spec.hs @@ -37,15 +37,15 @@ functions = testNested "Functions" . pure $ testNestedGhc recursiveFunctions :: TestNested recursiveFunctions = testNested "recursive" [ - goldenPir "fib" fib + goldenPirReadable "fib" fib , goldenUEval "fib4" [ toUPlc fib, toUPlc $ plc (Proxy @"4") (4::Integer) ] - , goldenPir "sum" sumDirect + , goldenPirReadable "sum" sumDirect , goldenUEval "sumList" [ toUPlc sumDirect, toUPlc listConstruct3 ] - , goldenPir "even" evenMutual + , goldenPirReadable "even" evenMutual , goldenUEval "even3" [ toUPlc evenMutual, toUPlc $ plc (Proxy @"3") (3::Integer) ] , goldenUEval "even4" [ toUPlc evenMutual, toUPlc $ plc (Proxy @"4") (4::Integer) ] - , goldenPir "strictLength" strictLength - , goldenPir "lazyLength" lazyLength + , goldenPirReadable "strictLength" strictLength + , goldenPirReadable "lazyLength" lazyLength ] fib :: CompiledCode (Integer -> Integer) @@ -94,24 +94,24 @@ lazyLength = plc (Proxy @"lazyLength") (lengthLazy @Integer) unfoldings :: TestNested unfoldings = testNested "unfoldings" [ - goldenPir "nandDirect" nandPlcDirect - , goldenPir "andDirect" andPlcDirect - , goldenPir "andExternal" andPlcExternal - , goldenPir "allDirect" allPlcDirect - , goldenPir "mutualRecursionUnfoldings" mutualRecursionUnfoldings - , goldenPir "recordSelector" recordSelector - , goldenPir "recordSelectorExternal" recordSelectorExternal + goldenPirReadable "nandDirect" nandPlcDirect + , goldenPirReadable "andDirect" andPlcDirect + , goldenPirReadable "andExternal" andPlcExternal + , goldenPirReadable "allDirect" allPlcDirect + , goldenPirReadable "mutualRecursionUnfoldings" mutualRecursionUnfoldings + , goldenPirReadable "recordSelector" recordSelector + , goldenPirReadable "recordSelectorExternal" recordSelectorExternal -- We used to have problems with polymorphic let bindings where the generalization was -- on the outside of the let, which hit the value restriction. Now we hit the simplifier -- it seems to sometimes float these in, but we should keep an eye on these. - , goldenPir "polyMap" polyMap - , goldenPir "applicationFunction" applicationFunction - , goldenPir "unboxedTuples2" unboxedTuples2 - , goldenPir "unboxedTuples3" unboxedTuples3 - , goldenPir "unboxedTuples4" unboxedTuples4 - , goldenPir "unboxedTuples5" unboxedTuples5 - , goldenPir "unboxedTuples2Tuples" unboxedTuples2Tuples - , goldenPir "unboxedTuples3Tuples" unboxedTuples3Tuples + , goldenPirReadable "polyMap" polyMap + , goldenPirReadable "applicationFunction" applicationFunction + , goldenPirReadable "unboxedTuples2" unboxedTuples2 + , goldenPirReadable "unboxedTuples3" unboxedTuples3 + , goldenPirReadable "unboxedTuples4" unboxedTuples4 + , goldenPirReadable "unboxedTuples5" unboxedTuples5 + , goldenPirReadable "unboxedTuples2Tuples" unboxedTuples2Tuples + , goldenPirReadable "unboxedTuples3Tuples" unboxedTuples3Tuples ] andDirect :: Bool -> Bool -> Bool diff --git a/plutus-tx-plugin/test/Plugin/Laziness/9.6/joinError.pir.golden b/plutus-tx-plugin/test/Plugin/Laziness/9.6/joinError.pir.golden index 7f3635ae812..0f97e6d623e 100644 --- a/plutus-tx-plugin/test/Plugin/Laziness/9.6/joinError.pir.golden +++ b/plutus-tx-plugin/test/Plugin/Laziness/9.6/joinError.pir.golden @@ -1,33 +1,31 @@ -program - 1.1.0 - (let - data Unit | Unit_match where - Unit : Unit - data Bool | Bool_match where - True : Bool - False : Bool - !error : all a. unit -> a = /\a -> \(thunk : unit) -> error {a} - !unitval : unit = () - ~joinError : Bool -> Bool -> Unit - = \(x : Bool) -> +let + data Unit | Unit_match where + Unit : Unit + data Bool | Bool_match where + True : Bool + False : Bool + !error : all a. unit -> a = /\a -> \(thunk : unit) -> error {a} + !unitval : unit = () + ~joinError : Bool -> Bool -> Unit + = \(x : Bool) -> + let + !x : Bool = x + in + \(y : Bool) -> let - !x : Bool = x + !y : Bool = y in - \(y : Bool) -> - let - !y : Bool = y - in - Bool_match - x - {all dead. Unit} - (/\dead -> - Bool_match - y - {all dead. Unit} - (/\dead -> error {Unit} unitval) - (/\dead -> Unit) - {all dead. dead}) - (/\dead -> Unit) - {all dead. dead} - in - joinError) \ No newline at end of file + Bool_match + x + {all dead. Unit} + (/\dead -> + Bool_match + y + {all dead. Unit} + (/\dead -> error {Unit} unitval) + (/\dead -> Unit) + {all dead. dead}) + (/\dead -> Unit) + {all dead. dead} +in +joinError \ No newline at end of file diff --git a/plutus-tx-plugin/test/Plugin/Laziness/9.6/lazyDepUnit.pir.golden b/plutus-tx-plugin/test/Plugin/Laziness/9.6/lazyDepUnit.pir.golden index 94eb661b012..685a0ff06f8 100644 --- a/plutus-tx-plugin/test/Plugin/Laziness/9.6/lazyDepUnit.pir.golden +++ b/plutus-tx-plugin/test/Plugin/Laziness/9.6/lazyDepUnit.pir.golden @@ -1,9 +1,7 @@ -program - 1.1.0 - (let - !emptyByteString : bytestring = # - ~emptyByteString : bytestring = emptyByteString - ~monoId : bytestring -> bytestring = \(x : bytestring) -> x - ~aByteString : bytestring = monoId emptyByteString - in - aByteString) \ No newline at end of file +let + !emptyByteString : bytestring = # + ~emptyByteString : bytestring = emptyByteString + ~monoId : bytestring -> bytestring = \(x : bytestring) -> x + ~aByteString : bytestring = monoId emptyByteString +in +aByteString \ No newline at end of file diff --git a/plutus-tx-plugin/test/Plugin/Laziness/Spec.hs b/plutus-tx-plugin/test/Plugin/Laziness/Spec.hs index 032069f10ea..9615afcf240 100644 --- a/plutus-tx-plugin/test/Plugin/Laziness/Spec.hs +++ b/plutus-tx-plugin/test/Plugin/Laziness/Spec.hs @@ -26,9 +26,9 @@ import Data.Proxy laziness :: TestNested laziness = testNested "Laziness" . pure $ testNestedGhc - [ goldenPir "joinError" joinErrorPir + [ goldenPirReadable "joinError" joinErrorPir , goldenUEval "joinErrorEval" [ toUPlc joinErrorPir, toUPlc $ plc (Proxy @"T") True, toUPlc $ plc (Proxy @"F") False] - , goldenPir "lazyDepUnit" lazyDepUnit + , goldenPirReadable "lazyDepUnit" lazyDepUnit ] joinErrorPir :: CompiledCode (Bool -> Bool -> ()) diff --git a/plutus-tx-plugin/test/Plugin/Primitives/9.6/and.pir.golden b/plutus-tx-plugin/test/Plugin/Primitives/9.6/and.pir.golden index 01260387ea4..88f78cf1f41 100644 --- a/plutus-tx-plugin/test/Plugin/Primitives/9.6/and.pir.golden +++ b/plutus-tx-plugin/test/Plugin/Primitives/9.6/and.pir.golden @@ -1,21 +1,19 @@ -program - 1.1.0 - (let - data Bool | Bool_match where - True : Bool - False : Bool +let + data Bool | Bool_match where + True : Bool + False : Bool +in +\(ds : Bool) -> + let + !ds : Bool = ds in \(ds : Bool) -> let !ds : Bool = ds in - \(ds : Bool) -> - let - !ds : Bool = ds - in - Bool_match - ds - {all dead. Bool} - (/\dead -> ds) - (/\dead -> False) - {all dead. dead}) \ No newline at end of file + Bool_match + ds + {all dead. Bool} + (/\dead -> ds) + (/\dead -> False) + {all dead. dead} \ No newline at end of file diff --git a/plutus-tx-plugin/test/Plugin/Primitives/9.6/bool.pir.golden b/plutus-tx-plugin/test/Plugin/Primitives/9.6/bool.pir.golden index 6817f273093..cecdef91e70 100644 --- a/plutus-tx-plugin/test/Plugin/Primitives/9.6/bool.pir.golden +++ b/plutus-tx-plugin/test/Plugin/Primitives/9.6/bool.pir.golden @@ -1,8 +1,6 @@ -program - 1.1.0 - (let - data Bool | Bool_match where - True : Bool - False : Bool - in - True) \ No newline at end of file +let + data Bool | Bool_match where + True : Bool + False : Bool +in +True \ No newline at end of file diff --git a/plutus-tx-plugin/test/Plugin/Primitives/9.6/bytestring.pir.golden b/plutus-tx-plugin/test/Plugin/Primitives/9.6/bytestring.pir.golden index 93bd77be176..97f704364c2 100644 --- a/plutus-tx-plugin/test/Plugin/Primitives/9.6/bytestring.pir.golden +++ b/plutus-tx-plugin/test/Plugin/Primitives/9.6/bytestring.pir.golden @@ -1 +1 @@ -program 1.1.0 (\(ds : bytestring) -> ds) \ No newline at end of file +\(ds : bytestring) -> ds \ No newline at end of file diff --git a/plutus-tx-plugin/test/Plugin/Primitives/9.6/deconstructorData1.pir.golden b/plutus-tx-plugin/test/Plugin/Primitives/9.6/deconstructorData1.pir.golden index 71d4b597974..57d6f014cc7 100644 --- a/plutus-tx-plugin/test/Plugin/Primitives/9.6/deconstructorData1.pir.golden +++ b/plutus-tx-plugin/test/Plugin/Primitives/9.6/deconstructorData1.pir.golden @@ -1,8 +1,6 @@ -program - 1.1.0 - (let - !unsafeDataAsI : data -> integer = unIData - ~unsafeDataAsI : data -> integer - = \(d : data) -> let !d : data = d in unsafeDataAsI d - in - \(ds : data) -> let !ds : data = ds in unsafeDataAsI ds) \ No newline at end of file +let + !unsafeDataAsI : data -> integer = unIData + ~unsafeDataAsI : data -> integer + = \(d : data) -> let !d : data = d in unsafeDataAsI d +in +\(ds : data) -> let !ds : data = ds in unsafeDataAsI ds \ No newline at end of file diff --git a/plutus-tx-plugin/test/Plugin/Primitives/9.6/deconstructorData2.pir.golden b/plutus-tx-plugin/test/Plugin/Primitives/9.6/deconstructorData2.pir.golden index 59e0c7c3397..79a1e8f856f 100644 --- a/plutus-tx-plugin/test/Plugin/Primitives/9.6/deconstructorData2.pir.golden +++ b/plutus-tx-plugin/test/Plugin/Primitives/9.6/deconstructorData2.pir.golden @@ -1,127 +1,124 @@ -program - 1.1.0 - (let - data (Tuple2 :: * -> * -> *) a b | Tuple2_match where - Tuple2 : a -> b -> Tuple2 a b - ~`$fFunctorTuple2_$cfmap` : all c a b. (a -> b) -> Tuple2 c a -> Tuple2 c b - = /\c a b -> - \(f : a -> b) -> - let - !f : a -> b = f - in - \(ds : Tuple2 c a) -> - Tuple2_match - {c} - {a} - ds - {Tuple2 c b} - (\(c : c) (a : a) -> Tuple2 {c} {b} c (f a)) - ~`$fFunctorTuple2` : - all c. (\(f :: * -> *) -> all a b. (a -> b) -> f a -> f b) (Tuple2 c) - = `$fFunctorTuple2_$cfmap` - in - letrec - data (List :: * -> *) a | List_match where - Nil : List a - Cons : a -> List a -> List a - in - let - ~`$fFunctorList_$cfmap` : all a b. (a -> b) -> List a -> List b - = /\a b -> - \(f : a -> b) -> - let - !f : a -> b = f - in - letrec - ~go : List a -> List b - = \(ds : List a) -> - List_match - {a} - ds - {all dead. List b} - (/\dead -> Nil {b}) - (\(x : a) (xs : List a) -> - /\dead -> Cons {b} (f x) (go xs)) - {all dead. dead} - in - \(eta : List a) -> go eta - ~`$fFunctorList` : (\(f :: * -> *) -> all a b. (a -> b) -> f a -> f b) List - = `$fFunctorList_$cfmap` - ~`.` : all b c a. (b -> c) -> (a -> b) -> a -> c - = /\b c a -> \(f : b -> c) (g : a -> b) (x : a) -> f (g x) - ~fmap : - all (f :: * -> *). - (\(f :: * -> *) -> all a b. (a -> b) -> f a -> f b) f -> - (all a b. (a -> b) -> f a -> f b) - = /\(f :: * -> *) -> - \(v : (\(f :: * -> *) -> all a b. (a -> b) -> f a -> f b) f) -> v - ~`$fHasFromOpaqueBuiltinDataBuiltinData_$cfromOpaque` : data -> data - = \(eta : data) -> eta - !chooseList : all a b. list a -> b -> b -> b = chooseList - !head : all a. list a -> a = headList - !tail : all a. list a -> list a = tailList - !unitval : unit = () - ~`$fHasFromOpaqueBuiltinListList_$cfromOpaque` : - all arep a. (\arep a -> arep -> a) arep a -> list arep -> List a - = /\arep a -> - \(`$dHasFromOpaque` : (\arep a -> arep -> a) arep a) -> - letrec - ~go : list arep -> List a - = \(l : list arep) -> - let - !l : list arep = l - in - chooseList - {arep} - {unit -> List a} - l - (\(ds : unit) -> Nil {a}) - (\(ds : unit) -> - Cons - {a} - (`$dHasFromOpaque` (head {arep} l)) - (go (tail {arep} l))) - unitval - in - \(eta : list arep) -> go eta - !fst : all a b. pair a b -> a = fstPair - !snd : all a b. pair a b -> b = sndPair - !unsafeDataAsConstr : data -> pair integer (list data) = unConstrData - ~unsafeDataAsConstr : data -> Tuple2 integer (List data) - = \(d : data) -> +let + data (Tuple2 :: * -> * -> *) a b | Tuple2_match where + Tuple2 : a -> b -> Tuple2 a b + ~`$fFunctorTuple2_$cfmap` : all c a b. (a -> b) -> Tuple2 c a -> Tuple2 c b + = /\c a b -> + \(f : a -> b) -> + let + !f : a -> b = f + in + \(ds : Tuple2 c a) -> + Tuple2_match + {c} + {a} + ds + {Tuple2 c b} + (\(c : c) (a : a) -> Tuple2 {c} {b} c (f a)) + ~`$fFunctorTuple2` : + all c. (\(f :: * -> *) -> all a b. (a -> b) -> f a -> f b) (Tuple2 c) + = `$fFunctorTuple2_$cfmap` +in +letrec + data (List :: * -> *) a | List_match where + Nil : List a + Cons : a -> List a -> List a +in +let + ~`$fFunctorList_$cfmap` : all a b. (a -> b) -> List a -> List b + = /\a b -> + \(f : a -> b) -> let - !d : data = d - !p : pair integer (list data) = unsafeDataAsConstr d + !f : a -> b = f in - Tuple2 - {integer} - {List data} - (fst {integer} {list data} p) - (let - !a : list data = snd {integer} {list data} p - in - `$fHasFromOpaqueBuiltinListList_$cfromOpaque` - {data} - {data} - `$fHasFromOpaqueBuiltinDataBuiltinData_$cfromOpaque` - a) - !unsafeDataAsI : data -> integer = unIData - ~unsafeDataAsI : data -> integer - = \(d : data) -> let !d : data = d in unsafeDataAsI d + letrec + ~go : List a -> List b + = \(ds : List a) -> + List_match + {a} + ds + {all dead. List b} + (/\dead -> Nil {b}) + (\(x : a) (xs : List a) -> /\dead -> Cons {b} (f x) (go xs)) + {all dead. dead} + in + \(eta : List a) -> go eta + ~`$fFunctorList` : (\(f :: * -> *) -> all a b. (a -> b) -> f a -> f b) List + = `$fFunctorList_$cfmap` + ~`.` : all b c a. (b -> c) -> (a -> b) -> a -> c + = /\b c a -> \(f : b -> c) (g : a -> b) (x : a) -> f (g x) + ~fmap : + all (f :: * -> *). + (\(f :: * -> *) -> all a b. (a -> b) -> f a -> f b) f -> + (all a b. (a -> b) -> f a -> f b) + = /\(f :: * -> *) -> + \(v : (\(f :: * -> *) -> all a b. (a -> b) -> f a -> f b) f) -> v + ~`$fHasFromOpaqueBuiltinDataBuiltinData_$cfromOpaque` : data -> data + = \(eta : data) -> eta + !chooseList : all a b. list a -> b -> b -> b = chooseList + !head : all a. list a -> a = headList + !tail : all a. list a -> list a = tailList + !unitval : unit = () + ~`$fHasFromOpaqueBuiltinListList_$cfromOpaque` : + all arep a. (\arep a -> arep -> a) arep a -> list arep -> List a + = /\arep a -> + \(`$dHasFromOpaque` : (\arep a -> arep -> a) arep a) -> + letrec + ~go : list arep -> List a + = \(l : list arep) -> + let + !l : list arep = l + in + chooseList + {arep} + {unit -> List a} + l + (\(ds : unit) -> Nil {a}) + (\(ds : unit) -> + Cons + {a} + (`$dHasFromOpaque` (head {arep} l)) + (go (tail {arep} l))) + unitval + in + \(eta : list arep) -> go eta + !fst : all a b. pair a b -> a = fstPair + !snd : all a b. pair a b -> b = sndPair + !unsafeDataAsConstr : data -> pair integer (list data) = unConstrData + ~unsafeDataAsConstr : data -> Tuple2 integer (List data) + = \(d : data) -> + let + !d : data = d + !p : pair integer (list data) = unsafeDataAsConstr d + in + Tuple2 + {integer} + {List data} + (fst {integer} {list data} p) + (let + !a : list data = snd {integer} {list data} p + in + `$fHasFromOpaqueBuiltinListList_$cfromOpaque` + {data} + {data} + `$fHasFromOpaqueBuiltinDataBuiltinData_$cfromOpaque` + a) + !unsafeDataAsI : data -> integer = unIData + ~unsafeDataAsI : data -> integer + = \(d : data) -> let !d : data = d in unsafeDataAsI d +in +\(ds : data) -> + let + !ds : data = ds in - \(ds : data) -> - let - !ds : data = ds - in - `.` - {List data -> List integer} - {Tuple2 integer (List data) -> Tuple2 integer (List integer)} - {data -> integer} - (fmap - {Tuple2 integer} - (`$fFunctorTuple2` {integer}) - {List data} - {List integer}) - (fmap {List} `$fFunctorList` {data} {integer}) - unsafeDataAsI - (unsafeDataAsConstr ds)) \ No newline at end of file + `.` + {List data -> List integer} + {Tuple2 integer (List data) -> Tuple2 integer (List integer)} + {data -> integer} + (fmap + {Tuple2 integer} + (`$fFunctorTuple2` {integer}) + {List data} + {List integer}) + (fmap {List} `$fFunctorList` {data} {integer}) + unsafeDataAsI + (unsafeDataAsConstr ds) \ No newline at end of file diff --git a/plutus-tx-plugin/test/Plugin/Primitives/9.6/emptyByteString.pir.golden b/plutus-tx-plugin/test/Plugin/Primitives/9.6/emptyByteString.pir.golden index 93bd77be176..97f704364c2 100644 --- a/plutus-tx-plugin/test/Plugin/Primitives/9.6/emptyByteString.pir.golden +++ b/plutus-tx-plugin/test/Plugin/Primitives/9.6/emptyByteString.pir.golden @@ -1 +1 @@ -program 1.1.0 (\(ds : bytestring) -> ds) \ No newline at end of file +\(ds : bytestring) -> ds \ No newline at end of file diff --git a/plutus-tx-plugin/test/Plugin/Primitives/9.6/encodeUtf8.pir.golden b/plutus-tx-plugin/test/Plugin/Primitives/9.6/encodeUtf8.pir.golden index 1baeeabe040..f2ab1e64bcd 100644 --- a/plutus-tx-plugin/test/Plugin/Primitives/9.6/encodeUtf8.pir.golden +++ b/plutus-tx-plugin/test/Plugin/Primitives/9.6/encodeUtf8.pir.golden @@ -1,7 +1,5 @@ -program - 1.1.0 - (let - !encodeUtf : string -> bytestring = encodeUtf8 - ~encodeUtf : string -> bytestring = encodeUtf - in - encodeUtf "abc") \ No newline at end of file +let + !encodeUtf : string -> bytestring = encodeUtf8 + ~encodeUtf : string -> bytestring = encodeUtf +in +encodeUtf "abc" \ No newline at end of file diff --git a/plutus-tx-plugin/test/Plugin/Primitives/9.6/error.pir.golden b/plutus-tx-plugin/test/Plugin/Primitives/9.6/error.pir.golden index d46d4314de9..659f24f0f9d 100644 --- a/plutus-tx-plugin/test/Plugin/Primitives/9.6/error.pir.golden +++ b/plutus-tx-plugin/test/Plugin/Primitives/9.6/error.pir.golden @@ -1,9 +1,7 @@ -program - 1.1.0 - (let - !error : all a. unit -> a = /\a -> \(thunk : unit) -> error {a} - !unitval : unit = () - Unit = all a. a -> a - ~error : all a. Unit -> a = /\a -> \(x : Unit) -> error {a} unitval - in - error {integer}) \ No newline at end of file +let + !error : all a. unit -> a = /\a -> \(thunk : unit) -> error {a} + !unitval : unit = () + Unit = all a. a -> a + ~error : all a. Unit -> a = /\a -> \(x : Unit) -> error {a} unitval +in +error {integer} \ No newline at end of file diff --git a/plutus-tx-plugin/test/Plugin/Primitives/9.6/ifThenElse.pir.golden b/plutus-tx-plugin/test/Plugin/Primitives/9.6/ifThenElse.pir.golden index fd644ee88bd..d606dbd777b 100644 --- a/plutus-tx-plugin/test/Plugin/Primitives/9.6/ifThenElse.pir.golden +++ b/plutus-tx-plugin/test/Plugin/Primitives/9.6/ifThenElse.pir.golden @@ -1,34 +1,32 @@ -program - 1.1.0 - (let - data Bool | Bool_match where - True : Bool - False : Bool - !equalsInteger : integer -> integer -> bool = equalsInteger - !ifThenElse : all a. bool -> a -> a -> a = ifThenElse - ~equalsInteger : integer -> integer -> Bool - = \(x : integer) -> +let + data Bool | Bool_match where + True : Bool + False : Bool + !equalsInteger : integer -> integer -> bool = equalsInteger + !ifThenElse : all a. bool -> a -> a -> a = ifThenElse + ~equalsInteger : integer -> integer -> Bool + = \(x : integer) -> + let + !x : integer = x + in + \(y : integer) -> let - !x : integer = x + !y : integer = y + !b : bool = equalsInteger x y in - \(y : integer) -> - let - !y : integer = y - !b : bool = equalsInteger x y - in - ifThenElse {Bool} b True False + ifThenElse {Bool} b True False +in +\(ds : integer) -> + let + !ds : integer = ds in \(ds : integer) -> let !ds : integer = ds in - \(ds : integer) -> - let - !ds : integer = ds - in - Bool_match - (equalsInteger ds ds) - {all dead. integer} - (/\dead -> ds) - (/\dead -> ds) - {all dead. dead}) \ No newline at end of file + Bool_match + (equalsInteger ds ds) + {all dead. integer} + (/\dead -> ds) + (/\dead -> ds) + {all dead. dead} \ No newline at end of file diff --git a/plutus-tx-plugin/test/Plugin/Primitives/9.6/int.pir.golden b/plutus-tx-plugin/test/Plugin/Primitives/9.6/int.pir.golden index 0d9b8af24ca..56a6051ca2b 100644 --- a/plutus-tx-plugin/test/Plugin/Primitives/9.6/int.pir.golden +++ b/plutus-tx-plugin/test/Plugin/Primitives/9.6/int.pir.golden @@ -1 +1 @@ -program 1.1.0 1 \ No newline at end of file +1 \ No newline at end of file diff --git a/plutus-tx-plugin/test/Plugin/Primitives/9.6/int2.pir.golden b/plutus-tx-plugin/test/Plugin/Primitives/9.6/int2.pir.golden index 71e8cc5eae5..d8263ee9860 100644 --- a/plutus-tx-plugin/test/Plugin/Primitives/9.6/int2.pir.golden +++ b/plutus-tx-plugin/test/Plugin/Primitives/9.6/int2.pir.golden @@ -1 +1 @@ -program 1.1.0 2 \ No newline at end of file +2 \ No newline at end of file diff --git a/plutus-tx-plugin/test/Plugin/Primitives/9.6/intCompare.pir.golden b/plutus-tx-plugin/test/Plugin/Primitives/9.6/intCompare.pir.golden index 0e6729c2c85..012f049af58 100644 --- a/plutus-tx-plugin/test/Plugin/Primitives/9.6/intCompare.pir.golden +++ b/plutus-tx-plugin/test/Plugin/Primitives/9.6/intCompare.pir.golden @@ -1,25 +1,23 @@ -program - 1.1.0 - (let - data Bool | Bool_match where - True : Bool - False : Bool - !ifThenElse : all a. bool -> a -> a -> a = ifThenElse - !lessThanInteger : integer -> integer -> bool = lessThanInteger - ~lessThanInteger : integer -> integer -> Bool - = \(x : integer) -> +let + data Bool | Bool_match where + True : Bool + False : Bool + !ifThenElse : all a. bool -> a -> a -> a = ifThenElse + !lessThanInteger : integer -> integer -> bool = lessThanInteger + ~lessThanInteger : integer -> integer -> Bool + = \(x : integer) -> + let + !x : integer = x + in + \(y : integer) -> let - !x : integer = x + !y : integer = y + !b : bool = lessThanInteger x y in - \(y : integer) -> - let - !y : integer = y - !b : bool = lessThanInteger x y - in - ifThenElse {Bool} b True False + ifThenElse {Bool} b True False +in +\(ds : integer) -> + let + !ds : integer = ds in - \(ds : integer) -> - let - !ds : integer = ds - in - \(ds : integer) -> let !ds : integer = ds in lessThanInteger ds ds) \ No newline at end of file + \(ds : integer) -> let !ds : integer = ds in lessThanInteger ds ds \ No newline at end of file diff --git a/plutus-tx-plugin/test/Plugin/Primitives/9.6/intDiv.pir.golden b/plutus-tx-plugin/test/Plugin/Primitives/9.6/intDiv.pir.golden index fd061087ebf..ac7a5f4cadc 100644 --- a/plutus-tx-plugin/test/Plugin/Primitives/9.6/intDiv.pir.golden +++ b/plutus-tx-plugin/test/Plugin/Primitives/9.6/intDiv.pir.golden @@ -1,16 +1,14 @@ -program - 1.1.0 - (let - !divideInteger : integer -> integer -> integer = divideInteger - ~divideInteger : integer -> integer -> integer - = \(x : integer) -> - let - !x : integer = x - in - \(y : integer) -> let !y : integer = y in divideInteger x y +let + !divideInteger : integer -> integer -> integer = divideInteger + ~divideInteger : integer -> integer -> integer + = \(x : integer) -> + let + !x : integer = x + in + \(y : integer) -> let !y : integer = y in divideInteger x y +in +\(ds : integer) -> + let + !ds : integer = ds in - \(ds : integer) -> - let - !ds : integer = ds - in - \(ds : integer) -> let !ds : integer = ds in divideInteger ds ds) \ No newline at end of file + \(ds : integer) -> let !ds : integer = ds in divideInteger ds ds \ No newline at end of file diff --git a/plutus-tx-plugin/test/Plugin/Primitives/9.6/intEq.pir.golden b/plutus-tx-plugin/test/Plugin/Primitives/9.6/intEq.pir.golden index 210db8b4ce5..69c5751d728 100644 --- a/plutus-tx-plugin/test/Plugin/Primitives/9.6/intEq.pir.golden +++ b/plutus-tx-plugin/test/Plugin/Primitives/9.6/intEq.pir.golden @@ -1,25 +1,23 @@ -program - 1.1.0 - (let - data Bool | Bool_match where - True : Bool - False : Bool - !equalsInteger : integer -> integer -> bool = equalsInteger - !ifThenElse : all a. bool -> a -> a -> a = ifThenElse - ~equalsInteger : integer -> integer -> Bool - = \(x : integer) -> +let + data Bool | Bool_match where + True : Bool + False : Bool + !equalsInteger : integer -> integer -> bool = equalsInteger + !ifThenElse : all a. bool -> a -> a -> a = ifThenElse + ~equalsInteger : integer -> integer -> Bool + = \(x : integer) -> + let + !x : integer = x + in + \(y : integer) -> let - !x : integer = x + !y : integer = y + !b : bool = equalsInteger x y in - \(y : integer) -> - let - !y : integer = y - !b : bool = equalsInteger x y - in - ifThenElse {Bool} b True False + ifThenElse {Bool} b True False +in +\(ds : integer) -> + let + !ds : integer = ds in - \(ds : integer) -> - let - !ds : integer = ds - in - \(ds : integer) -> let !ds : integer = ds in equalsInteger ds ds) \ No newline at end of file + \(ds : integer) -> let !ds : integer = ds in equalsInteger ds ds \ No newline at end of file diff --git a/plutus-tx-plugin/test/Plugin/Primitives/9.6/intPlus.pir.golden b/plutus-tx-plugin/test/Plugin/Primitives/9.6/intPlus.pir.golden index f07957a3925..627ef3aa6ba 100644 --- a/plutus-tx-plugin/test/Plugin/Primitives/9.6/intPlus.pir.golden +++ b/plutus-tx-plugin/test/Plugin/Primitives/9.6/intPlus.pir.golden @@ -1,16 +1,14 @@ -program - 1.1.0 - (let - !addInteger : integer -> integer -> integer = addInteger - ~addInteger : integer -> integer -> integer - = \(x : integer) -> - let - !x : integer = x - in - \(y : integer) -> let !y : integer = y in addInteger x y +let + !addInteger : integer -> integer -> integer = addInteger + ~addInteger : integer -> integer -> integer + = \(x : integer) -> + let + !x : integer = x + in + \(y : integer) -> let !y : integer = y in addInteger x y +in +\(ds : integer) -> + let + !ds : integer = ds in - \(ds : integer) -> - let - !ds : integer = ds - in - \(ds : integer) -> let !ds : integer = ds in addInteger ds ds) \ No newline at end of file + \(ds : integer) -> let !ds : integer = ds in addInteger ds ds \ No newline at end of file diff --git a/plutus-tx-plugin/test/Plugin/Primitives/9.6/serialiseData.pir.golden b/plutus-tx-plugin/test/Plugin/Primitives/9.6/serialiseData.pir.golden index ec8dd895f3b..0de267dc2c2 100644 --- a/plutus-tx-plugin/test/Plugin/Primitives/9.6/serialiseData.pir.golden +++ b/plutus-tx-plugin/test/Plugin/Primitives/9.6/serialiseData.pir.golden @@ -1,7 +1,5 @@ -program - 1.1.0 - (let - !serialiseData : data -> bytestring = serialiseData - ~serialiseData : data -> bytestring = serialiseData - in - serialiseData) \ No newline at end of file +let + !serialiseData : data -> bytestring = serialiseData + ~serialiseData : data -> bytestring = serialiseData +in +serialiseData \ No newline at end of file diff --git a/plutus-tx-plugin/test/Plugin/Primitives/9.6/string.pir.golden b/plutus-tx-plugin/test/Plugin/Primitives/9.6/string.pir.golden index eeb1da5e892..faba86b595e 100644 --- a/plutus-tx-plugin/test/Plugin/Primitives/9.6/string.pir.golden +++ b/plutus-tx-plugin/test/Plugin/Primitives/9.6/string.pir.golden @@ -1 +1 @@ -program 1.1.0 "text" \ No newline at end of file +"text" \ No newline at end of file diff --git a/plutus-tx-plugin/test/Plugin/Primitives/9.6/stringLiteral.pir.golden b/plutus-tx-plugin/test/Plugin/Primitives/9.6/stringLiteral.pir.golden index bf29f9f2f71..4f44a21051e 100644 --- a/plutus-tx-plugin/test/Plugin/Primitives/9.6/stringLiteral.pir.golden +++ b/plutus-tx-plugin/test/Plugin/Primitives/9.6/stringLiteral.pir.golden @@ -1 +1 @@ -program 1.1.0 "abc" \ No newline at end of file +"abc" \ No newline at end of file diff --git a/plutus-tx-plugin/test/Plugin/Primitives/9.6/trace.pir.golden b/plutus-tx-plugin/test/Plugin/Primitives/9.6/trace.pir.golden index fc3a8aed30f..df4aaf4a0a8 100644 --- a/plutus-tx-plugin/test/Plugin/Primitives/9.6/trace.pir.golden +++ b/plutus-tx-plugin/test/Plugin/Primitives/9.6/trace.pir.golden @@ -1,9 +1,7 @@ -program - 1.1.0 - (let - data Unit | Unit_match where - Unit : Unit - !trace : all a. string -> a -> a = trace - ~trace : all a. string -> a -> a = trace - in - \(ds : string) -> let !ds : string = ds in trace {Unit} ds Unit) \ No newline at end of file +let + data Unit | Unit_match where + Unit : Unit + !trace : all a. string -> a -> a = trace + ~trace : all a. string -> a -> a = trace +in +\(ds : string) -> let !ds : string = ds in trace {Unit} ds Unit \ No newline at end of file diff --git a/plutus-tx-plugin/test/Plugin/Primitives/9.6/traceComplex.pir.golden b/plutus-tx-plugin/test/Plugin/Primitives/9.6/traceComplex.pir.golden index b8a086b0efb..9bdc8f73019 100644 --- a/plutus-tx-plugin/test/Plugin/Primitives/9.6/traceComplex.pir.golden +++ b/plutus-tx-plugin/test/Plugin/Primitives/9.6/traceComplex.pir.golden @@ -1,31 +1,29 @@ -program - 1.1.0 - (let - data Bool | Bool_match where - True : Bool - False : Bool - !trace : all a. string -> a -> a = trace - ~trace : all a. string -> a -> a = trace - data Unit | Unit_match where - Unit : Unit - !error : all a. unit -> a = /\a -> \(thunk : unit) -> error {a} - !unitval : unit = () - ~traceError : all a. string -> a - = /\a -> - \(str : string) -> - let - !str : string = str - !x : Unit = trace {Unit} str Unit - in - error {a} unitval +let + data Bool | Bool_match where + True : Bool + False : Bool + !trace : all a. string -> a -> a = trace + ~trace : all a. string -> a -> a = trace + data Unit | Unit_match where + Unit : Unit + !error : all a. unit -> a = /\a -> \(thunk : unit) -> error {a} + !unitval : unit = () + ~traceError : all a. string -> a + = /\a -> + \(str : string) -> + let + !str : string = str + !x : Unit = trace {Unit} str Unit + in + error {a} unitval +in +\(ds : Bool) -> + let + !ds : Bool = ds in - \(ds : Bool) -> - let - !ds : Bool = ds - in - Bool_match - ds - {all dead. Unit} - (/\dead -> trace {Unit} "yes" Unit) - (/\dead -> traceError {Unit} "no") - {all dead. dead}) \ No newline at end of file + Bool_match + ds + {all dead. Unit} + (/\dead -> trace {Unit} "yes" Unit) + (/\dead -> traceError {Unit} "no") + {all dead. dead} \ No newline at end of file diff --git a/plutus-tx-plugin/test/Plugin/Primitives/9.6/tuple.pir.golden b/plutus-tx-plugin/test/Plugin/Primitives/9.6/tuple.pir.golden index 5ef927c3dfd..b0da8b103ae 100644 --- a/plutus-tx-plugin/test/Plugin/Primitives/9.6/tuple.pir.golden +++ b/plutus-tx-plugin/test/Plugin/Primitives/9.6/tuple.pir.golden @@ -1,7 +1,5 @@ -program - 1.1.0 - (let - data (Tuple2 :: * -> * -> *) a b | Tuple2_match where - Tuple2 : a -> b -> Tuple2 a b - in - Tuple2 {integer} {integer} 1 2) \ No newline at end of file +let + data (Tuple2 :: * -> * -> *) a b | Tuple2_match where + Tuple2 : a -> b -> Tuple2 a b +in +Tuple2 {integer} {integer} 1 2 \ No newline at end of file diff --git a/plutus-tx-plugin/test/Plugin/Primitives/9.6/tupleMatch.pir.golden b/plutus-tx-plugin/test/Plugin/Primitives/9.6/tupleMatch.pir.golden index 56298407fe9..c591a939a5a 100644 --- a/plutus-tx-plugin/test/Plugin/Primitives/9.6/tupleMatch.pir.golden +++ b/plutus-tx-plugin/test/Plugin/Primitives/9.6/tupleMatch.pir.golden @@ -1,13 +1,11 @@ -program - 1.1.0 - (let - data (Tuple2 :: * -> * -> *) a b | Tuple2_match where - Tuple2 : a -> b -> Tuple2 a b - in - \(ds : Tuple2 integer integer) -> - Tuple2_match - {integer} - {integer} - ds - {integer} - (\(ipv : integer) (ipv : integer) -> ipv)) \ No newline at end of file +let + data (Tuple2 :: * -> * -> *) a b | Tuple2_match where + Tuple2 : a -> b -> Tuple2 a b +in +\(ds : Tuple2 integer integer) -> + Tuple2_match + {integer} + {integer} + ds + {integer} + (\(ipv : integer) (ipv : integer) -> ipv) \ No newline at end of file diff --git a/plutus-tx-plugin/test/Plugin/Primitives/9.6/verify.pir.golden b/plutus-tx-plugin/test/Plugin/Primitives/9.6/verify.pir.golden index 9c78f87257a..6c3b806161e 100644 --- a/plutus-tx-plugin/test/Plugin/Primitives/9.6/verify.pir.golden +++ b/plutus-tx-plugin/test/Plugin/Primitives/9.6/verify.pir.golden @@ -1,27 +1,29 @@ -program - 1.1.0 - (let - data Bool | Bool_match where - True : Bool - False : Bool - !ifThenElse : all a. bool -> a -> a -> a = ifThenElse - !verifyEd25519Signature : bytestring -> bytestring -> bytestring -> bool - = verifyEd25519Signature - ~verifyEd25519Signature : bytestring -> bytestring -> bytestring -> Bool - = \(pubKey : bytestring) -> +let + data Bool | Bool_match where + True : Bool + False : Bool + !ifThenElse : all a. bool -> a -> a -> a = ifThenElse + !verifyEd25519Signature : bytestring -> bytestring -> bytestring -> bool + = verifyEd25519Signature + ~verifyEd25519Signature : bytestring -> bytestring -> bytestring -> Bool + = \(pubKey : bytestring) -> + let + !pubKey : bytestring = pubKey + in + \(message : bytestring) -> let - !pubKey : bytestring = pubKey + !message : bytestring = message in - \(message : bytestring) -> + \(signature : bytestring) -> let - !message : bytestring = message + !signature : bytestring = signature + !b : bool = verifyEd25519Signature pubKey message signature in - \(signature : bytestring) -> - let - !signature : bytestring = signature - !b : bool = verifyEd25519Signature pubKey message signature - in - ifThenElse {Bool} b True False + ifThenElse {Bool} b True False +in +\(ds : bytestring) -> + let + !ds : bytestring = ds in \(ds : bytestring) -> let @@ -31,8 +33,4 @@ program let !ds : bytestring = ds in - \(ds : bytestring) -> - let - !ds : bytestring = ds - in - verifyEd25519Signature ds ds ds) \ No newline at end of file + verifyEd25519Signature ds ds ds \ No newline at end of file diff --git a/plutus-tx-plugin/test/Plugin/Primitives/9.6/void.pir.golden b/plutus-tx-plugin/test/Plugin/Primitives/9.6/void.pir.golden index ff9202015b3..078a8c43c43 100644 --- a/plutus-tx-plugin/test/Plugin/Primitives/9.6/void.pir.golden +++ b/plutus-tx-plugin/test/Plugin/Primitives/9.6/void.pir.golden @@ -1,43 +1,41 @@ -program - 1.1.0 - (let - data Bool | Bool_match where - True : Bool - False : Bool - ~fail : unit -> Bool = \(ds : unit) -> False - !equalsInteger : integer -> integer -> bool = equalsInteger - !ifThenElse : all a. bool -> a -> a -> a = ifThenElse - ~equalsInteger : integer -> integer -> Bool - = \(x : integer) -> +let + data Bool | Bool_match where + True : Bool + False : Bool + ~fail : unit -> Bool = \(ds : unit) -> False + !equalsInteger : integer -> integer -> bool = equalsInteger + !ifThenElse : all a. bool -> a -> a -> a = ifThenElse + ~equalsInteger : integer -> integer -> Bool + = \(x : integer) -> + let + !x : integer = x + in + \(y : integer) -> let - !x : integer = x + !y : integer = y + !b : bool = equalsInteger x y in - \(y : integer) -> - let - !y : integer = y - !b : bool = equalsInteger x y - in - ifThenElse {Bool} b True False + ifThenElse {Bool} b True False +in +\(ds : integer) -> + let + !ds : integer = ds in \(ds : integer) -> let !ds : integer = ds + !x' : Bool = equalsInteger ds ds + !y' : Bool = equalsInteger ds ds in - \(ds : integer) -> - let - !ds : integer = ds - !x' : Bool = equalsInteger ds ds - !y' : Bool = equalsInteger ds ds - in - Bool_match - x' - {all dead. Bool} - (/\dead -> - Bool_match - y' - {all dead. Bool} - (/\dead -> True) - (/\dead -> fail ()) - {all dead. dead}) - (/\dead -> fail ()) - {all dead. dead}) \ No newline at end of file + Bool_match + x' + {all dead. Bool} + (/\dead -> + Bool_match + y' + {all dead. Bool} + (/\dead -> True) + (/\dead -> fail ()) + {all dead. dead}) + (/\dead -> fail ()) + {all dead. dead} \ No newline at end of file diff --git a/plutus-tx-plugin/test/Plugin/Primitives/Spec.hs b/plutus-tx-plugin/test/Plugin/Primitives/Spec.hs index 1fabfd93a7a..d105fa4d5df 100644 --- a/plutus-tx-plugin/test/Plugin/Primitives/Spec.hs +++ b/plutus-tx-plugin/test/Plugin/Primitives/Spec.hs @@ -26,28 +26,28 @@ import Data.Proxy primitives :: TestNested primitives = testNested "Primitives" . pure $ testNestedGhc - [ goldenPir "string" string - , goldenPir "int" int - , goldenPir "int2" int2 - , goldenPir "bool" bool - , goldenPir "and" andPlc + [ goldenPirReadable "string" string + , goldenPirReadable "int" int + , goldenPirReadable "int2" int2 + , goldenPirReadable "bool" bool + , goldenPirReadable "and" andPlc , goldenUEval "andApply" [ toUPlc andPlc, toUPlc $ plc (Proxy @"T") True, toUPlc $ plc (Proxy @"F") False ] - , goldenPir "tuple" tuple - , goldenPir "tupleMatch" tupleMatch + , goldenPirReadable "tuple" tuple + , goldenPirReadable "tupleMatch" tupleMatch , goldenUEval "tupleConstDest" [ toUPlc tupleMatch, toUPlc tuple ] - , goldenPir "intCompare" intCompare - , goldenPir "intEq" intEq + , goldenPirReadable "intCompare" intCompare + , goldenPirReadable "intEq" intEq , goldenUEval "intEqApply" [ toUPlc intEq, toUPlc int, toUPlc int ] - , goldenPir "void" void - , goldenPir "intPlus" intPlus - , goldenPir "intDiv" intDiv + , goldenPirReadable "void" void + , goldenPirReadable "intPlus" intPlus + , goldenPirReadable "intDiv" intDiv , goldenUEval "intPlusApply" [ toUPlc intPlus, toUPlc int, toUPlc int2 ] - , goldenPir "error" errorPlc - , goldenPir "ifThenElse" ifThenElse + , goldenPirReadable "error" errorPlc + , goldenPirReadable "ifThenElse" ifThenElse , goldenUEval "ifThenElseApply" [ toUPlc ifThenElse, toUPlc int, toUPlc int2 ] - , goldenPir "emptyByteString" emptyByteString + , goldenPirReadable "emptyByteString" emptyByteString , goldenUEval "emptyByteStringApply" [ getPlcNoAnn emptyByteString, snd (liftProgramDef Builtins.emptyByteString) ] - , goldenPir "bytestring" bytestring + , goldenPirReadable "bytestring" bytestring , goldenUEval "bytestringApply" [ getPlcNoAnn bytestring, snd (liftProgramDef ("hello" ::Builtins.BuiltinByteString)) ] , goldenUEval "sha2_256" [ getPlcNoAnn sha2, snd (liftProgramDef ("hello" :: Builtins.BuiltinByteString))] , goldenUEval "equalsByteString" [ getPlcNoAnn bsEquals, snd (liftProgramDef ("hello" :: Builtins.BuiltinByteString)), snd (liftProgramDef ("hello" :: Builtins.BuiltinByteString))] @@ -56,22 +56,22 @@ primitives = testNested "Primitives" . pure $ testNestedGhc , goldenUEval "lengthOfByteString" [ getPlcNoAnn bsLength, snd (liftProgramDef ("hello" :: Builtins.BuiltinByteString))] , goldenUEval "indexByteString" [ getPlcNoAnn bsIndex, snd (liftProgramDef ("hello" :: Builtins.BuiltinByteString)), snd (liftProgramDef (0 :: Integer))] , goldenUEval "consByteString" [ getPlcNoAnn bsCons, snd (liftProgramDef (104 :: Integer)), snd (liftProgramDef ("ello" :: Builtins.BuiltinByteString))] - , goldenPir "verify" verify - , goldenPir "trace" trace - , goldenPir "traceComplex" traceComplex - , goldenPir "stringLiteral" stringLiteral + , goldenPirReadable "verify" verify + , goldenPirReadable "trace" trace + , goldenPirReadable "traceComplex" traceComplex + , goldenPirReadable "stringLiteral" stringLiteral , goldenUEval "equalsString" [ getPlcNoAnn stringEquals, snd (liftProgramDef ("hello" :: Builtins.BuiltinString)), snd (liftProgramDef ("hello" :: Builtins.BuiltinString))] - , goldenPir "encodeUtf8" stringEncode - , goldenPir "serialiseData" dataEncode + , goldenPirReadable "encodeUtf8" stringEncode + , goldenPirReadable "serialiseData" dataEncode , goldenUEval "serialiseDataApply" [ toUPlc dataEncode, toUPlc constructData1 ] , goldenUEval "constructData1" [ constructData1 ] -- It's interesting to look at one of these to make sure all the specialisation is working out nicely and for -- debugging when it isn't - , goldenPir "deconstructorData1" deconstructData1 + , goldenPirReadable "deconstructorData1" deconstructData1 -- Check that matchData works (and isn't too strict) , goldenUEval "matchData1" [ toUPlc matchData1, toUPlc constructData1 ] , goldenUEval "deconstructData1" [ toUPlc deconstructData1, toUPlc constructData1 ] - , goldenPir "deconstructorData2" deconstructData2 + , goldenPirReadable "deconstructorData2" deconstructData2 , goldenUEval "deconstructData2" [ toUPlc deconstructData2, toUPlc constructData2 ] , goldenUEval "deconstructData3" [ toUPlc deconstructData3, toUPlc constructData3 ] , goldenUEval "writeBits-integerToByteString" [ writeBitsIntegerToByteString ] diff --git a/plutus-tx-plugin/test/Plugin/Profiling/9.6/addInt.pir.golden b/plutus-tx-plugin/test/Plugin/Profiling/9.6/addInt.pir.golden index 06bbaba84bf..14d644ea86c 100644 --- a/plutus-tx-plugin/test/Plugin/Profiling/9.6/addInt.pir.golden +++ b/plutus-tx-plugin/test/Plugin/Profiling/9.6/addInt.pir.golden @@ -1,32 +1,30 @@ -program - 1.1.0 - (let - !addInteger : integer -> integer -> integer = addInteger - ~addInteger : integer -> integer -> integer - = \(x : integer) -> +let + !addInteger : integer -> integer -> integer = addInteger + ~addInteger : integer -> integer -> integer + = \(x : integer) -> + let + !x : integer = x + in + \(y : integer) -> let - !x : integer = x - in - \(y : integer) -> - let - !y : integer = y - in - trace - {unit -> integer} - "entering addInteger" - (\(thunk : unit) -> - trace {integer} "exiting addInteger" (addInteger x y)) - () - ~addInt : integer -> integer -> integer - = \(x : integer) -> - let - !x : integer = x + !y : integer = y in trace - {unit -> integer -> integer} - "entering addInt" + {unit -> integer} + "entering addInteger" (\(thunk : unit) -> - trace {integer -> integer} "exiting addInt" (addInteger x)) + trace {integer} "exiting addInteger" (addInteger x y)) () - in - addInt) \ No newline at end of file + ~addInt : integer -> integer -> integer + = \(x : integer) -> + let + !x : integer = x + in + trace + {unit -> integer -> integer} + "entering addInt" + (\(thunk : unit) -> + trace {integer -> integer} "exiting addInt" (addInteger x)) + () +in +addInt \ No newline at end of file diff --git a/plutus-tx-plugin/test/Plugin/Profiling/9.6/fib.pir.golden b/plutus-tx-plugin/test/Plugin/Profiling/9.6/fib.pir.golden index e719359599f..fe8508177d9 100644 --- a/plutus-tx-plugin/test/Plugin/Profiling/9.6/fib.pir.golden +++ b/plutus-tx-plugin/test/Plugin/Profiling/9.6/fib.pir.golden @@ -1,96 +1,91 @@ -program - 1.1.0 - (let - !addInteger : integer -> integer -> integer = addInteger - ~addInteger : integer -> integer -> integer - = \(x : integer) -> +let + !addInteger : integer -> integer -> integer = addInteger + ~addInteger : integer -> integer -> integer + = \(x : integer) -> + let + !x : integer = x + in + \(y : integer) -> let - !x : integer = x + !y : integer = y in - \(y : integer) -> - let - !y : integer = y - in - trace - {unit -> integer} - "entering addInteger" - (\(thunk : unit) -> - trace {integer} "exiting addInteger" (addInteger x y)) - () - data Bool | Bool_match where - True : Bool - False : Bool - !equalsInteger : integer -> integer -> bool = equalsInteger - !ifThenElse : all a. bool -> a -> a -> a = ifThenElse - ~equalsInteger : integer -> integer -> Bool - = \(x : integer) -> - let - !x : integer = x - in - \(y : integer) -> - let - !y : integer = y - in - trace - {unit -> Bool} - "entering equalsInteger" - (\(thunk : unit) -> - trace - {Bool} - "exiting equalsInteger" - (let - !b : bool = equalsInteger x y - in - ifThenElse {Bool} b True False)) - () - !subtractInteger : integer -> integer -> integer = subtractInteger - ~subtractInteger : integer -> integer -> integer - = \(x : integer) -> + trace + {unit -> integer} + "entering addInteger" + (\(thunk : unit) -> + trace {integer} "exiting addInteger" (addInteger x y)) + () + data Bool | Bool_match where + True : Bool + False : Bool + !equalsInteger : integer -> integer -> bool = equalsInteger + !ifThenElse : all a. bool -> a -> a -> a = ifThenElse + ~equalsInteger : integer -> integer -> Bool + = \(x : integer) -> + let + !x : integer = x + in + \(y : integer) -> let - !x : integer = x + !y : integer = y in - \(y : integer) -> - let - !y : integer = y - in - trace - {unit -> integer} - "entering subtractInteger" - (\(thunk : unit) -> - trace - {integer} - "exiting subtractInteger" - (subtractInteger x y)) - () - in - letrec - ~fib : integer -> integer - = \(n : integer) -> + trace + {unit -> Bool} + "entering equalsInteger" + (\(thunk : unit) -> + trace + {Bool} + "exiting equalsInteger" + (let + !b : bool = equalsInteger x y + in + ifThenElse {Bool} b True False)) + () + !subtractInteger : integer -> integer -> integer = subtractInteger + ~subtractInteger : integer -> integer -> integer + = \(x : integer) -> + let + !x : integer = x + in + \(y : integer) -> let - !n : integer = n + !y : integer = y in trace {unit -> integer} - "entering fib" + "entering subtractInteger" (\(thunk : unit) -> - trace - {integer} - "exiting fib" - (Bool_match - (equalsInteger n 0) - {all dead. integer} - (/\dead -> 0) - (/\dead -> - Bool_match - (equalsInteger n 1) - {all dead. integer} - (/\dead -> 1) - (/\dead -> - addInteger - (fib (subtractInteger n 1)) - (fib (subtractInteger n 2))) - {all dead. dead}) - {all dead. dead})) + trace {integer} "exiting subtractInteger" (subtractInteger x y)) () - in - fib) \ No newline at end of file +in +letrec + ~fib : integer -> integer + = \(n : integer) -> + let + !n : integer = n + in + trace + {unit -> integer} + "entering fib" + (\(thunk : unit) -> + trace + {integer} + "exiting fib" + (Bool_match + (equalsInteger n 0) + {all dead. integer} + (/\dead -> 0) + (/\dead -> + Bool_match + (equalsInteger n 1) + {all dead. integer} + (/\dead -> 1) + (/\dead -> + addInteger + (fib (subtractInteger n 1)) + (fib (subtractInteger n 2))) + {all dead. dead}) + {all dead. dead})) + () +in +fib \ No newline at end of file diff --git a/plutus-tx-plugin/test/Plugin/Profiling/9.6/idCode.pir.golden b/plutus-tx-plugin/test/Plugin/Profiling/9.6/idCode.pir.golden index 8dba2c447fe..d0496727c56 100644 --- a/plutus-tx-plugin/test/Plugin/Profiling/9.6/idCode.pir.golden +++ b/plutus-tx-plugin/test/Plugin/Profiling/9.6/idCode.pir.golden @@ -1,13 +1,11 @@ -program - 1.1.0 - (let - ~id : all a. a -> a - = /\a -> - \(x : a) -> - trace - {unit -> a} - "entering id" - (\(thunk : unit) -> trace {a} "exiting id" x) - () - in - id {integer} (id {integer} 1)) \ No newline at end of file +let + ~id : all a. a -> a + = /\a -> + \(x : a) -> + trace + {unit -> a} + "entering id" + (\(thunk : unit) -> trace {a} "exiting id" x) + () +in +id {integer} (id {integer} 1) \ No newline at end of file diff --git a/plutus-tx-plugin/test/Plugin/Profiling/Spec.hs b/plutus-tx-plugin/test/Plugin/Profiling/Spec.hs index b611b8b7603..6014351ea18 100644 --- a/plutus-tx-plugin/test/Plugin/Profiling/Spec.hs +++ b/plutus-tx-plugin/test/Plugin/Profiling/Spec.hs @@ -28,7 +28,7 @@ import PlutusCore.Test (ToUPlc (toUPlc), goldenUEvalLogs) import PlutusTx.Builtins qualified as Builtins import PlutusTx.Code (CompiledCode) import PlutusTx.Plugin (plc) -import PlutusTx.Test (goldenPir) +import PlutusTx.Test (goldenPirReadable) import Data.Functor.Identity import Data.Proxy (Proxy (Proxy)) @@ -38,7 +38,7 @@ profiling :: TestNested profiling = testNested "Profiling" . pure $ do testNestedGhc - [ goldenPir "fib" fibTest + [ goldenPirReadable "fib" fibTest , goldenUEvalLogs "fib4" [ toUPlc fibTest @@ -49,7 +49,7 @@ profiling = [ toUPlc factTest , toUPlc $ plc (Proxy @"4") (4 :: Integer) ] - , goldenPir "addInt" addIntTest + , goldenPirReadable "addInt" addIntTest , goldenUEvalLogs "addInt3" [ toUPlc addIntTest @@ -73,7 +73,7 @@ profiling = [ toUPlc letRecInFunTest , toUPlc $ plc (Proxy @"3") (3 :: Integer) ] - , goldenPir "idCode" idTest + , goldenPirReadable "idCode" idTest , goldenUEvalLogs "id" [toUPlc idTest] , goldenUEvalLogs "swap" [toUPlc swapTest] , goldenUEvalLogs diff --git a/plutus-tx-plugin/test/Plugin/Typeclasses/9.6/compareTest.pir.golden b/plutus-tx-plugin/test/Plugin/Typeclasses/9.6/compareTest.pir.golden index 7644ed22f9f..4f0ac1fb5c6 100644 --- a/plutus-tx-plugin/test/Plugin/Typeclasses/9.6/compareTest.pir.golden +++ b/plutus-tx-plugin/test/Plugin/Typeclasses/9.6/compareTest.pir.golden @@ -1,181 +1,179 @@ -program - 1.1.0 - (let - !equalsInteger : integer -> integer -> bool = equalsInteger - !lessThanEqualsInteger : integer -> integer -> bool = lessThanEqualsInteger - !ifThenElse : all a. bool -> a -> a -> a = ifThenElse - data Bool | Bool_match where - True : Bool - False : Bool - data Ordering | Ordering_match where - EQ : Ordering - GT : Ordering - LT : Ordering - ~`$fOrdInteger_$ccompare` : integer -> integer -> Ordering - = \(eta : integer) -> +let + !equalsInteger : integer -> integer -> bool = equalsInteger + !lessThanEqualsInteger : integer -> integer -> bool = lessThanEqualsInteger + !ifThenElse : all a. bool -> a -> a -> a = ifThenElse + data Bool | Bool_match where + True : Bool + False : Bool + data Ordering | Ordering_match where + EQ : Ordering + GT : Ordering + LT : Ordering + ~`$fOrdInteger_$ccompare` : integer -> integer -> Ordering + = \(eta : integer) -> + let + !x : integer = eta + in + \(eta : integer) -> let - !x : integer = eta + !y : integer = eta + !b : bool = equalsInteger x y in - \(eta : integer) -> - let - !y : integer = eta - !b : bool = equalsInteger x y - in - Bool_match - (ifThenElse {Bool} b True False) - {all dead. Ordering} - (/\dead -> EQ) - (/\dead -> - let - !b : bool = lessThanEqualsInteger x y - in - Bool_match - (ifThenElse {Bool} b True False) - {all dead. Ordering} - (/\dead -> LT) - (/\dead -> GT) - {all dead. dead}) - {all dead. dead} - ~`$fOrdInteger_$cmax` : integer -> integer -> integer - = \(x : integer) -> + Bool_match + (ifThenElse {Bool} b True False) + {all dead. Ordering} + (/\dead -> EQ) + (/\dead -> + let + !b : bool = lessThanEqualsInteger x y + in + Bool_match + (ifThenElse {Bool} b True False) + {all dead. Ordering} + (/\dead -> LT) + (/\dead -> GT) + {all dead. dead}) + {all dead. dead} + ~`$fOrdInteger_$cmax` : integer -> integer -> integer + = \(x : integer) -> + let + !x : integer = x + in + \(y : integer) -> let - !x : integer = x + !y : integer = y + !b : bool = lessThanEqualsInteger x y in - \(y : integer) -> - let - !y : integer = y - !b : bool = lessThanEqualsInteger x y - in - Bool_match - (ifThenElse {Bool} b True False) - {all dead. integer} - (/\dead -> y) - (/\dead -> x) - {all dead. dead} - ~`$fOrdInteger_$cmin` : integer -> integer -> integer - = \(x : integer) -> + Bool_match + (ifThenElse {Bool} b True False) + {all dead. integer} + (/\dead -> y) + (/\dead -> x) + {all dead. dead} + ~`$fOrdInteger_$cmin` : integer -> integer -> integer + = \(x : integer) -> + let + !x : integer = x + in + \(y : integer) -> let - !x : integer = x + !y : integer = y + !b : bool = lessThanEqualsInteger x y in - \(y : integer) -> - let - !y : integer = y - !b : bool = lessThanEqualsInteger x y - in - Bool_match - (ifThenElse {Bool} b True False) - {all dead. integer} - (/\dead -> x) - (/\dead -> y) - {all dead. dead} - ~equalsInteger : integer -> integer -> Bool - = \(x : integer) -> + Bool_match + (ifThenElse {Bool} b True False) + {all dead. integer} + (/\dead -> x) + (/\dead -> y) + {all dead. dead} + ~equalsInteger : integer -> integer -> Bool + = \(x : integer) -> + let + !x : integer = x + in + \(y : integer) -> let - !x : integer = x + !y : integer = y + !b : bool = equalsInteger x y in - \(y : integer) -> - let - !y : integer = y - !b : bool = equalsInteger x y - in - ifThenElse {Bool} b True False - !lessThanInteger : integer -> integer -> bool = lessThanInteger - ~greaterThanEqualsInteger : integer -> integer -> Bool - = \(x : integer) -> + ifThenElse {Bool} b True False + !lessThanInteger : integer -> integer -> bool = lessThanInteger + ~greaterThanEqualsInteger : integer -> integer -> Bool + = \(x : integer) -> + let + !x : integer = x + in + \(y : integer) -> let - !x : integer = x + !y : integer = y in - \(y : integer) -> - let - !y : integer = y - in - ifThenElse {Bool} (lessThanInteger x y) False True - ~greaterThanInteger : integer -> integer -> Bool - = \(x : integer) -> + ifThenElse {Bool} (lessThanInteger x y) False True + ~greaterThanInteger : integer -> integer -> Bool + = \(x : integer) -> + let + !x : integer = x + in + \(y : integer) -> let - !x : integer = x + !y : integer = y in - \(y : integer) -> - let - !y : integer = y - in - ifThenElse {Bool} (lessThanEqualsInteger x y) False True - ~lessThanEqualsInteger : integer -> integer -> Bool - = \(x : integer) -> + ifThenElse {Bool} (lessThanEqualsInteger x y) False True + ~lessThanEqualsInteger : integer -> integer -> Bool + = \(x : integer) -> + let + !x : integer = x + in + \(y : integer) -> let - !x : integer = x + !y : integer = y + !b : bool = lessThanEqualsInteger x y in - \(y : integer) -> - let - !y : integer = y - !b : bool = lessThanEqualsInteger x y - in - ifThenElse {Bool} b True False - ~lessThanInteger : integer -> integer -> Bool - = \(x : integer) -> + ifThenElse {Bool} b True False + ~lessThanInteger : integer -> integer -> Bool + = \(x : integer) -> + let + !x : integer = x + in + \(y : integer) -> let - !x : integer = x + !y : integer = y + !b : bool = lessThanInteger x y in - \(y : integer) -> - let - !y : integer = y - !b : bool = lessThanInteger x y - in - ifThenElse {Bool} b True False - data (Ord :: * -> *) a | Ord_match where - CConsOrd : - (\a -> a -> a -> Bool) a -> - (a -> a -> Ordering) -> - (a -> a -> Bool) -> - (a -> a -> Bool) -> - (a -> a -> Bool) -> - (a -> a -> Bool) -> - (a -> a -> a) -> - (a -> a -> a) -> - Ord a - ~`$fOrdInteger` : Ord integer - = CConsOrd - {integer} - equalsInteger - `$fOrdInteger_$ccompare` - lessThanInteger - lessThanEqualsInteger - greaterThanInteger - greaterThanEqualsInteger - `$fOrdInteger_$cmax` - `$fOrdInteger_$cmin` - ~compare : all a. Ord a -> a -> a -> Ordering - = /\a -> - \(v : Ord a) -> - Ord_match - {a} - v - {a -> a -> Ordering} - (\(v : (\a -> a -> a -> Bool) a) - (v : a -> a -> Ordering) - (v : a -> a -> Bool) - (v : a -> a -> Bool) - (v : a -> a -> Bool) - (v : a -> a -> Bool) - (v : a -> a -> a) - (v : a -> a -> a) -> - v) - ~opCompare : all a. Ord a -> a -> a -> Ordering - = /\a -> - \(`$dOrd` : Ord a) (a : a) -> + ifThenElse {Bool} b True False + data (Ord :: * -> *) a | Ord_match where + CConsOrd : + (\a -> a -> a -> Bool) a -> + (a -> a -> Ordering) -> + (a -> a -> Bool) -> + (a -> a -> Bool) -> + (a -> a -> Bool) -> + (a -> a -> Bool) -> + (a -> a -> a) -> + (a -> a -> a) -> + Ord a + ~`$fOrdInteger` : Ord integer + = CConsOrd + {integer} + equalsInteger + `$fOrdInteger_$ccompare` + lessThanInteger + lessThanEqualsInteger + greaterThanInteger + greaterThanEqualsInteger + `$fOrdInteger_$cmax` + `$fOrdInteger_$cmin` + ~compare : all a. Ord a -> a -> a -> Ordering + = /\a -> + \(v : Ord a) -> + Ord_match + {a} + v + {a -> a -> Ordering} + (\(v : (\a -> a -> a -> Bool) a) + (v : a -> a -> Ordering) + (v : a -> a -> Bool) + (v : a -> a -> Bool) + (v : a -> a -> Bool) + (v : a -> a -> Bool) + (v : a -> a -> a) + (v : a -> a -> a) -> + v) + ~opCompare : all a. Ord a -> a -> a -> Ordering + = /\a -> + \(`$dOrd` : Ord a) (a : a) -> + let + !a : a = a + in + \(b : a) -> let - !a : a = a + !b : a = b in - \(b : a) -> - let - !b : a = b - in - Ordering_match - (compare {a} `$dOrd` a b) - {all dead. Ordering} - (/\dead -> EQ) - (/\dead -> LT) - (/\dead -> GT) - {all dead. dead} - in - opCompare {integer} `$fOrdInteger` 1 2) \ No newline at end of file + Ordering_match + (compare {a} `$dOrd` a b) + {all dead. Ordering} + (/\dead -> EQ) + (/\dead -> LT) + (/\dead -> GT) + {all dead. dead} +in +opCompare {integer} `$fOrdInteger` 1 2 \ No newline at end of file diff --git a/plutus-tx-plugin/test/Plugin/Typeclasses/9.6/concatTest.pir.golden b/plutus-tx-plugin/test/Plugin/Typeclasses/9.6/concatTest.pir.golden index e607ce51f5b..1ac5dc685b4 100644 --- a/plutus-tx-plugin/test/Plugin/Typeclasses/9.6/concatTest.pir.golden +++ b/plutus-tx-plugin/test/Plugin/Typeclasses/9.6/concatTest.pir.golden @@ -1,104 +1,102 @@ -program - 1.1.0 - (letrec - data (List :: * -> *) a | List_match where - Nil : List a - Cons : a -> List a -> List a - in - let - ~`$fFoldableList_$cfoldr` : all a b. (a -> b -> b) -> b -> List a -> b - = /\a b -> - \(f : a -> b -> b) -> +letrec + data (List :: * -> *) a | List_match where + Nil : List a + Cons : a -> List a -> List a +in +let + ~`$fFoldableList_$cfoldr` : all a b. (a -> b -> b) -> b -> List a -> b + = /\a b -> + \(f : a -> b -> b) -> + let + !f : a -> b -> b = f + in + \(z : b) -> let - !f : a -> b -> b = f + !z : b = z in - \(z : b) -> - let - !z : b = z - in - letrec - ~go : List a -> b - = \(ds : List a) -> - List_match - {a} - ds - {all dead. b} - (/\dead -> z) - (\(x : a) (xs : List a) -> /\dead -> f x (go xs)) - {all dead. dead} - in - \(eta : List a) -> go eta - ~`$fFoldableList` : - (\(t :: * -> *) -> all a b. (a -> b -> b) -> b -> t a -> b) List - = `$fFoldableList_$cfoldr` - ~build : all a. (all b. (a -> b -> b) -> b -> b) -> List a - = /\a -> - \(g : all b. (a -> b -> b) -> b -> b) -> - g {List a} (\(ds : a) (ds : List a) -> Cons {a} ds ds) (Nil {a}) - ~concat : - all (t :: * -> *) a. - (\(t :: * -> *) -> all a b. (a -> b -> b) -> b -> t a -> b) t -> - t (List a) -> - List a - = /\(t :: * -> *) a -> - \(`$dFoldable` : - (\(t :: * -> *) -> all a b. (a -> b -> b) -> b -> t a -> b) t) - (xs : t (List a)) -> - let - !xs : t (List a) = xs + letrec + ~go : List a -> b + = \(ds : List a) -> + List_match + {a} + ds + {all dead. b} + (/\dead -> z) + (\(x : a) (xs : List a) -> /\dead -> f x (go xs)) + {all dead. dead} in - build - {a} - (/\b -> - \(c : a -> b -> b) -> + \(eta : List a) -> go eta + ~`$fFoldableList` : + (\(t :: * -> *) -> all a b. (a -> b -> b) -> b -> t a -> b) List + = `$fFoldableList_$cfoldr` + ~build : all a. (all b. (a -> b -> b) -> b -> b) -> List a + = /\a -> + \(g : all b. (a -> b -> b) -> b -> b) -> + g {List a} (\(ds : a) (ds : List a) -> Cons {a} ds ds) (Nil {a}) + ~concat : + all (t :: * -> *) a. + (\(t :: * -> *) -> all a b. (a -> b -> b) -> b -> t a -> b) t -> + t (List a) -> + List a + = /\(t :: * -> *) a -> + \(`$dFoldable` : + (\(t :: * -> *) -> all a b. (a -> b -> b) -> b -> t a -> b) t) + (xs : t (List a)) -> + let + !xs : t (List a) = xs + in + build + {a} + (/\b -> + \(c : a -> b -> b) -> + let + !c : a -> b -> b = c + in + \(n : b) -> let - !c : a -> b -> b = c + !n : b = n in - \(n : b) -> - let - !n : b = n - in - `$dFoldable` - {List a} - {b} - (\(x : List a) -> + `$dFoldable` + {List a} + {b} + (\(x : List a) -> + let + !x : List a = x + in + \(y : b) -> let - !x : List a = x + !y : b = y + in + letrec + ~go : List a -> b + = \(ds : List a) -> + List_match + {a} + ds + {all dead. b} + (/\dead -> y) + (\(x : a) (xs : List a) -> + /\dead -> c x (go xs)) + {all dead. dead} in - \(y : b) -> - let - !y : b = y - in - letrec - ~go : List a -> b - = \(ds : List a) -> - List_match - {a} - ds - {all dead. b} - (/\dead -> y) - (\(x : a) (xs : List a) -> - /\dead -> c x (go xs)) - {all dead. dead} - in - go x) - n - xs) - in - concat - {List} - {integer} - `$fFoldableList` - (build - {List integer} - (/\a -> - \(c : List integer -> a -> a) (n : a) -> - c - (build - {integer} - (/\a -> \(c : integer -> a -> a) (n : a) -> c 1 (c 2 n))) - (c - (build - {integer} - (/\a -> \(c : integer -> a -> a) (n : a) -> c 3 (c 4 n))) - n)))) \ No newline at end of file + go x) + n + xs) +in +concat + {List} + {integer} + `$fFoldableList` + (build + {List integer} + (/\a -> + \(c : List integer -> a -> a) (n : a) -> + c + (build + {integer} + (/\a -> \(c : integer -> a -> a) (n : a) -> c 1 (c 2 n))) + (c + (build + {integer} + (/\a -> \(c : integer -> a -> a) (n : a) -> c 3 (c 4 n))) + n))) \ No newline at end of file diff --git a/plutus-tx-plugin/test/Plugin/Typeclasses/9.6/defaultMethods.pir.golden b/plutus-tx-plugin/test/Plugin/Typeclasses/9.6/defaultMethods.pir.golden index 217841ad939..69c90394e46 100644 --- a/plutus-tx-plugin/test/Plugin/Typeclasses/9.6/defaultMethods.pir.golden +++ b/plutus-tx-plugin/test/Plugin/Typeclasses/9.6/defaultMethods.pir.golden @@ -1,36 +1,33 @@ -program - 1.1.0 - (let - data (DefaultMethods :: * -> *) a | DefaultMethods_match where - CConsDefaultMethods : (a -> integer) -> (a -> integer) -> DefaultMethods a - ~method : all a. DefaultMethods a -> a -> integer - = /\a -> - \(v : DefaultMethods a) -> - DefaultMethods_match - {a} - v - {a -> integer} - (\(v : a -> integer) (v : a -> integer) -> v) - ~f : all a. DefaultMethods a -> a -> integer - = /\a -> - \(`$dDefaultMethods` : DefaultMethods a) (a : a) -> - let - !a : a = a - in - method {a} `$dDefaultMethods` a - ~`$fDefaultMethodsInteger_$cmethod` : integer -> integer - = \(a : integer) -> a - !addInteger : integer -> integer -> integer = addInteger - ~`$fDefaultMethodsInteger_$cmethod` : integer -> integer - = \(a : integer) -> let !a : integer = a in addInteger a 1 - ~`$fDefaultMethodsInteger` : DefaultMethods integer - = CConsDefaultMethods - {integer} - `$fDefaultMethodsInteger_$cmethod` - `$fDefaultMethodsInteger_$cmethod` +let + data (DefaultMethods :: * -> *) a | DefaultMethods_match where + CConsDefaultMethods : (a -> integer) -> (a -> integer) -> DefaultMethods a + ~method : all a. DefaultMethods a -> a -> integer + = /\a -> + \(v : DefaultMethods a) -> + DefaultMethods_match + {a} + v + {a -> integer} + (\(v : a -> integer) (v : a -> integer) -> v) + ~f : all a. DefaultMethods a -> a -> integer + = /\a -> + \(`$dDefaultMethods` : DefaultMethods a) (a : a) -> + let + !a : a = a + in + method {a} `$dDefaultMethods` a + ~`$fDefaultMethodsInteger_$cmethod` : integer -> integer = \(a : integer) -> a + !addInteger : integer -> integer -> integer = addInteger + ~`$fDefaultMethodsInteger_$cmethod` : integer -> integer + = \(a : integer) -> let !a : integer = a in addInteger a 1 + ~`$fDefaultMethodsInteger` : DefaultMethods integer + = CConsDefaultMethods + {integer} + `$fDefaultMethodsInteger_$cmethod` + `$fDefaultMethodsInteger_$cmethod` +in +\(ds : integer) -> + let + !ds : integer = ds in - \(ds : integer) -> - let - !ds : integer = ds - in - f {integer} `$fDefaultMethodsInteger` ds) \ No newline at end of file + f {integer} `$fDefaultMethodsInteger` ds \ No newline at end of file diff --git a/plutus-tx-plugin/test/Plugin/Typeclasses/9.6/fmapDefaultTest.pir.golden b/plutus-tx-plugin/test/Plugin/Typeclasses/9.6/fmapDefaultTest.pir.golden index 4c6d50985cf..f2e2551314b 100644 --- a/plutus-tx-plugin/test/Plugin/Typeclasses/9.6/fmapDefaultTest.pir.golden +++ b/plutus-tx-plugin/test/Plugin/Typeclasses/9.6/fmapDefaultTest.pir.golden @@ -1,209 +1,196 @@ -program - 1.1.0 - (let - ~v : integer = 1 - !addInteger : integer -> integer -> integer = addInteger - ~addInteger : integer -> integer -> integer - = \(x : integer) -> +let + ~v : integer = 1 + !addInteger : integer -> integer -> integer = addInteger + ~addInteger : integer -> integer -> integer + = \(x : integer) -> + let + !x : integer = x + in + \(y : integer) -> let !y : integer = y in addInteger x y + ~`$fAdditiveSemigroupInteger` : (\a -> a -> a -> a) integer = addInteger + ~`+` : all a. (\a -> a -> a -> a) a -> a -> a -> a + = /\a -> \(v : (\a -> a -> a -> a) a) -> v + ~v : integer -> integer -> integer + = `+` {integer} `$fAdditiveSemigroupInteger` +in +letrec + data (List :: * -> *) a | List_match where + Nil : List a + Cons : a -> List a -> List a +in +let + ~`$fFoldableList_$cfoldr` : all a b. (a -> b -> b) -> b -> List a -> b + = /\a b -> + \(f : a -> b -> b) -> let - !x : integer = x + !f : a -> b -> b = f in - \(y : integer) -> let !y : integer = y in addInteger x y - ~`$fAdditiveSemigroupInteger` : (\a -> a -> a -> a) integer = addInteger - ~`+` : all a. (\a -> a -> a -> a) a -> a -> a -> a - = /\a -> \(v : (\a -> a -> a -> a) a) -> v - ~v : integer -> integer -> integer - = `+` {integer} `$fAdditiveSemigroupInteger` - in - letrec - data (List :: * -> *) a | List_match where - Nil : List a - Cons : a -> List a -> List a - in - let - ~`$fFoldableList_$cfoldr` : all a b. (a -> b -> b) -> b -> List a -> b - = /\a b -> - \(f : a -> b -> b) -> + \(z : b) -> let - !f : a -> b -> b = f - in - \(z : b) -> - let - !z : b = z - in - letrec - ~go : List a -> b - = \(ds : List a) -> - List_match - {a} - ds - {all dead. b} - (/\dead -> z) - (\(x : a) (xs : List a) -> /\dead -> f x (go xs)) - {all dead. dead} - in - \(eta : List a) -> go eta - ~`$fFunctorList_$cfmap` : all a b. (a -> b) -> List a -> List b - = /\a b -> - \(f : a -> b) -> - let - !f : a -> b = f - in - letrec - ~go : List a -> List b - = \(ds : List a) -> - List_match - {a} - ds - {all dead. List b} - (/\dead -> Nil {b}) - (\(x : a) (xs : List a) -> - /\dead -> Cons {b} (f x) (go xs)) - {all dead. dead} - in - \(eta : List a) -> go eta - data (Applicative :: (* -> *) -> *) (f :: * -> *) | Applicative_match where - CConsApplicative : - (\(f :: * -> *) -> all a b. (a -> b) -> f a -> f b) f -> - (all a. a -> f a) -> - (all a b. f (a -> b) -> f a -> f b) -> - Applicative f - ~`$p1Applicative` : - all (f :: * -> *). - Applicative f -> (\(f :: * -> *) -> all a b. (a -> b) -> f a -> f b) f - = /\(f :: * -> *) -> - \(v : Applicative f) -> - Applicative_match - {f} - v - {(\(f :: * -> *) -> all a b. (a -> b) -> f a -> f b) f} - (\(v : (\(f :: * -> *) -> all a b. (a -> b) -> f a -> f b) f) - (v : all a. a -> f a) - (v : all a b. f (a -> b) -> f a -> f b) -> - v) - ~`<*>` : - all (f :: * -> *). Applicative f -> (all a b. f (a -> b) -> f a -> f b) - = /\(f :: * -> *) -> - \(v : Applicative f) -> - Applicative_match - {f} - v - {all a b. f (a -> b) -> f a -> f b} - (\(v : (\(f :: * -> *) -> all a b. (a -> b) -> f a -> f b) f) - (v : all a. a -> f a) - (v : all a b. f (a -> b) -> f a -> f b) -> - v) - ~pure : all (f :: * -> *). Applicative f -> (all a. a -> f a) - = /\(f :: * -> *) -> - \(v : Applicative f) -> - Applicative_match - {f} - v - {all a. a -> f a} - (\(v : (\(f :: * -> *) -> all a b. (a -> b) -> f a -> f b) f) - (v : all a. a -> f a) - (v : all a b. f (a -> b) -> f a -> f b) -> - v) - ~`$fTraversableList_$ctraverse` : - all (f :: * -> *) a b. - Applicative f -> (a -> f b) -> List a -> f (List b) - = /\(f :: * -> *) a b -> - \(`$dApplicative` : Applicative f) (f : a -> f b) -> - let - !f : a -> f b = f + !z : b = z in letrec - ~go : List a -> f (List b) + ~go : List a -> b = \(ds : List a) -> List_match {a} ds - {all dead. f (List b)} - (/\dead -> pure {f} `$dApplicative` {List b} (Nil {b})) - (\(x : a) (xs : List a) -> - /\dead -> - let - !x : f b = f x - in - `<*>` - {f} - `$dApplicative` - {List b} - {List b} - (`$p1Applicative` - {f} - `$dApplicative` - {b} - {List b -> List b} - (\(ds : b) (ds : List b) -> Cons {b} ds ds) - x) - (go xs)) + {all dead. b} + (/\dead -> z) + (\(x : a) (xs : List a) -> /\dead -> f x (go xs)) {all dead. dead} in \(eta : List a) -> go eta - data (Traversable :: (* -> *) -> *) (t :: * -> *) | Traversable_match where - CConsTraversable : - (\(f :: * -> *) -> all a b. (a -> b) -> f a -> f b) t -> - (\(t :: * -> *) -> all a b. (a -> b -> b) -> b -> t a -> b) t -> - (all (f :: * -> *) a b. - Applicative f -> (a -> f b) -> t a -> f (t b)) -> - Traversable t - ~`$fTraversableList` : Traversable List - = CConsTraversable - {List} - `$fFunctorList_$cfmap` - `$fFoldableList_$cfoldr` - `$fTraversableList_$ctraverse` - ~build : all a. (all b. (a -> b -> b) -> b -> b) -> List a - = /\a -> - \(g : all b. (a -> b -> b) -> b -> b) -> - g {List a} (\(ds : a) (ds : List a) -> Cons {a} ds ds) (Nil {a}) - ~`$fApplicativeIdentity_$cpure` : all a. a -> (\a -> a) a - = /\a -> \(ds : a) -> ds - ~id : all a. a -> a = /\a -> \(x : a) -> x - ~`$fApplicativeIdentity` : Applicative (\a -> a) - = CConsApplicative - {\a -> a} - (/\a b -> id {a -> b}) - `$fApplicativeIdentity_$cpure` - (/\a b -> id {a -> b}) - ~traverse : - all (t :: * -> *). - Traversable t -> - (all (f :: * -> *) a b. Applicative f -> (a -> f b) -> t a -> f (t b)) - = /\(t :: * -> *) -> - \(v : Traversable t) -> - Traversable_match - {t} - v - {all (f :: * -> *) a b. - Applicative f -> (a -> f b) -> t a -> f (t b)} - (\(v : (\(f :: * -> *) -> all a b. (a -> b) -> f a -> f b) t) - (v : - (\(t :: * -> *) -> all a b. (a -> b -> b) -> b -> t a -> b) - t) - (v : - all (f :: * -> *) a b. - Applicative f -> (a -> f b) -> t a -> f (t b)) -> - v) - ~fmapDefault : - all (t :: * -> *) a b. Traversable t -> (a -> b) -> t a -> t b - = /\(t :: * -> *) a b -> - \(`$dTraversable` : Traversable t) -> - traverse - {t} - `$dTraversable` - {\a -> a} - {a} - {b} - `$fApplicativeIdentity` - in - fmapDefault - {List} - {integer} - {integer} - `$fTraversableList` - (\(v : integer) -> v v v) - (build - {integer} - (/\a -> \(c : integer -> a -> a) (n : a) -> c 1 (c 2 (c 3 (c 4 n)))))) \ No newline at end of file + ~`$fFunctorList_$cfmap` : all a b. (a -> b) -> List a -> List b + = /\a b -> + \(f : a -> b) -> + let + !f : a -> b = f + in + letrec + ~go : List a -> List b + = \(ds : List a) -> + List_match + {a} + ds + {all dead. List b} + (/\dead -> Nil {b}) + (\(x : a) (xs : List a) -> /\dead -> Cons {b} (f x) (go xs)) + {all dead. dead} + in + \(eta : List a) -> go eta + data (Applicative :: (* -> *) -> *) (f :: * -> *) | Applicative_match where + CConsApplicative : + (\(f :: * -> *) -> all a b. (a -> b) -> f a -> f b) f -> + (all a. a -> f a) -> + (all a b. f (a -> b) -> f a -> f b) -> + Applicative f + ~`$p1Applicative` : + all (f :: * -> *). + Applicative f -> (\(f :: * -> *) -> all a b. (a -> b) -> f a -> f b) f + = /\(f :: * -> *) -> + \(v : Applicative f) -> + Applicative_match + {f} + v + {(\(f :: * -> *) -> all a b. (a -> b) -> f a -> f b) f} + (\(v : (\(f :: * -> *) -> all a b. (a -> b) -> f a -> f b) f) + (v : all a. a -> f a) + (v : all a b. f (a -> b) -> f a -> f b) -> + v) + ~`<*>` : + all (f :: * -> *). Applicative f -> (all a b. f (a -> b) -> f a -> f b) + = /\(f :: * -> *) -> + \(v : Applicative f) -> + Applicative_match + {f} + v + {all a b. f (a -> b) -> f a -> f b} + (\(v : (\(f :: * -> *) -> all a b. (a -> b) -> f a -> f b) f) + (v : all a. a -> f a) + (v : all a b. f (a -> b) -> f a -> f b) -> + v) + ~pure : all (f :: * -> *). Applicative f -> (all a. a -> f a) + = /\(f :: * -> *) -> + \(v : Applicative f) -> + Applicative_match + {f} + v + {all a. a -> f a} + (\(v : (\(f :: * -> *) -> all a b. (a -> b) -> f a -> f b) f) + (v : all a. a -> f a) + (v : all a b. f (a -> b) -> f a -> f b) -> + v) + ~`$fTraversableList_$ctraverse` : + all (f :: * -> *) a b. Applicative f -> (a -> f b) -> List a -> f (List b) + = /\(f :: * -> *) a b -> + \(`$dApplicative` : Applicative f) (f : a -> f b) -> + let + !f : a -> f b = f + in + letrec + ~go : List a -> f (List b) + = \(ds : List a) -> + List_match + {a} + ds + {all dead. f (List b)} + (/\dead -> pure {f} `$dApplicative` {List b} (Nil {b})) + (\(x : a) (xs : List a) -> + /\dead -> + let + !x : f b = f x + in + `<*>` + {f} + `$dApplicative` + {List b} + {List b} + (`$p1Applicative` + {f} + `$dApplicative` + {b} + {List b -> List b} + (\(ds : b) (ds : List b) -> Cons {b} ds ds) + x) + (go xs)) + {all dead. dead} + in + \(eta : List a) -> go eta + data (Traversable :: (* -> *) -> *) (t :: * -> *) | Traversable_match where + CConsTraversable : + (\(f :: * -> *) -> all a b. (a -> b) -> f a -> f b) t -> + (\(t :: * -> *) -> all a b. (a -> b -> b) -> b -> t a -> b) t -> + (all (f :: * -> *) a b. Applicative f -> (a -> f b) -> t a -> f (t b)) -> + Traversable t + ~`$fTraversableList` : Traversable List + = CConsTraversable + {List} + `$fFunctorList_$cfmap` + `$fFoldableList_$cfoldr` + `$fTraversableList_$ctraverse` + ~build : all a. (all b. (a -> b -> b) -> b -> b) -> List a + = /\a -> + \(g : all b. (a -> b -> b) -> b -> b) -> + g {List a} (\(ds : a) (ds : List a) -> Cons {a} ds ds) (Nil {a}) + ~`$fApplicativeIdentity_$cpure` : all a. a -> (\a -> a) a + = /\a -> \(ds : a) -> ds + ~id : all a. a -> a = /\a -> \(x : a) -> x + ~`$fApplicativeIdentity` : Applicative (\a -> a) + = CConsApplicative + {\a -> a} + (/\a b -> id {a -> b}) + `$fApplicativeIdentity_$cpure` + (/\a b -> id {a -> b}) + ~traverse : + all (t :: * -> *). + Traversable t -> + (all (f :: * -> *) a b. Applicative f -> (a -> f b) -> t a -> f (t b)) + = /\(t :: * -> *) -> + \(v : Traversable t) -> + Traversable_match + {t} + v + {all (f :: * -> *) a b. + Applicative f -> (a -> f b) -> t a -> f (t b)} + (\(v : (\(f :: * -> *) -> all a b. (a -> b) -> f a -> f b) t) + (v : + (\(t :: * -> *) -> all a b. (a -> b -> b) -> b -> t a -> b) t) + (v : + all (f :: * -> *) a b. + Applicative f -> (a -> f b) -> t a -> f (t b)) -> + v) + ~fmapDefault : all (t :: * -> *) a b. Traversable t -> (a -> b) -> t a -> t b + = /\(t :: * -> *) a b -> + \(`$dTraversable` : Traversable t) -> + traverse {t} `$dTraversable` {\a -> a} {a} {b} `$fApplicativeIdentity` +in +fmapDefault + {List} + {integer} + {integer} + `$fTraversableList` + (\(v : integer) -> v v v) + (build + {integer} + (/\a -> \(c : integer -> a -> a) (n : a) -> c 1 (c 2 (c 3 (c 4 n))))) \ No newline at end of file diff --git a/plutus-tx-plugin/test/Plugin/Typeclasses/9.6/multiFunction.pir.golden b/plutus-tx-plugin/test/Plugin/Typeclasses/9.6/multiFunction.pir.golden index 4dad97a8f09..1aec2f14641 100644 --- a/plutus-tx-plugin/test/Plugin/Typeclasses/9.6/multiFunction.pir.golden +++ b/plutus-tx-plugin/test/Plugin/Typeclasses/9.6/multiFunction.pir.golden @@ -1,79 +1,77 @@ -program - 1.1.0 - (let - data Animal | Animal_match where - Cat : Animal - Dog : Animal - data Bool | Bool_match where - True : Bool - False : Bool - data (PersonLike :: * -> *) a | PersonLike_match where - CConsPersonLike : (a -> integer) -> (a -> Animal -> Bool) -> PersonLike a - ~age : all a. PersonLike a -> a -> integer - = /\a -> - \(v : PersonLike a) -> - PersonLike_match - {a} - v - {a -> integer} - (\(v : a -> integer) (v : a -> Animal -> Bool) -> v) - !ifThenElse : all a. bool -> a -> a -> a = ifThenElse - !lessThanInteger : integer -> integer -> bool = lessThanInteger - ~lessThanInteger : integer -> integer -> Bool - = \(x : integer) -> +let + data Animal | Animal_match where + Cat : Animal + Dog : Animal + data Bool | Bool_match where + True : Bool + False : Bool + data (PersonLike :: * -> *) a | PersonLike_match where + CConsPersonLike : (a -> integer) -> (a -> Animal -> Bool) -> PersonLike a + ~age : all a. PersonLike a -> a -> integer + = /\a -> + \(v : PersonLike a) -> + PersonLike_match + {a} + v + {a -> integer} + (\(v : a -> integer) (v : a -> Animal -> Bool) -> v) + !ifThenElse : all a. bool -> a -> a -> a = ifThenElse + !lessThanInteger : integer -> integer -> bool = lessThanInteger + ~lessThanInteger : integer -> integer -> Bool + = \(x : integer) -> + let + !x : integer = x + in + \(y : integer) -> let - !x : integer = x + !y : integer = y + !b : bool = lessThanInteger x y in - \(y : integer) -> - let - !y : integer = y - !b : bool = lessThanInteger x y - in - ifThenElse {Bool} b True False - ~likesAnimal : all a. PersonLike a -> a -> Animal -> Bool - = /\a -> - \(v : PersonLike a) -> - PersonLike_match - {a} - v - {a -> Animal -> Bool} - (\(v : a -> integer) (v : a -> Animal -> Bool) -> v) - ~predicate : all p. PersonLike p -> p -> Bool - = /\p -> - \(`$dPersonLike` : PersonLike p) (p : p) -> - let - !p : p = p - in - Bool_match - (likesAnimal {p} `$dPersonLike` p Cat) - {all dead. Bool} - (/\dead -> lessThanInteger (age {p} `$dPersonLike` p) 30) - (/\dead -> False) - {all dead. dead} - data Person | Person_match where - Jane : Person - Jim : Person - ~`$cage` : Person -> integer - = \(ds : Person) -> Person_match ds {integer} 35 30 - ~`$clikesAnimal` : Person -> Animal -> Bool - = \(ds : Person) (ds : Animal) -> - Person_match - ds + ifThenElse {Bool} b True False + ~likesAnimal : all a. PersonLike a -> a -> Animal -> Bool + = /\a -> + \(v : PersonLike a) -> + PersonLike_match + {a} + v + {a -> Animal -> Bool} + (\(v : a -> integer) (v : a -> Animal -> Bool) -> v) + ~predicate : all p. PersonLike p -> p -> Bool + = /\p -> + \(`$dPersonLike` : PersonLike p) (p : p) -> + let + !p : p = p + in + Bool_match + (likesAnimal {p} `$dPersonLike` p Cat) {all dead. Bool} - (/\dead -> - Animal_match - ds - {all dead. Bool} - (/\dead -> True) - (/\dead -> False) - {all dead. dead}) + (/\dead -> lessThanInteger (age {p} `$dPersonLike` p) 30) (/\dead -> False) {all dead. dead} - ~`$fPersonLikePerson` : PersonLike Person - = CConsPersonLike {Person} `$cage` `$clikesAnimal` + data Person | Person_match where + Jane : Person + Jim : Person + ~`$cage` : Person -> integer + = \(ds : Person) -> Person_match ds {integer} 35 30 + ~`$clikesAnimal` : Person -> Animal -> Bool + = \(ds : Person) (ds : Animal) -> + Person_match + ds + {all dead. Bool} + (/\dead -> + Animal_match + ds + {all dead. Bool} + (/\dead -> True) + (/\dead -> False) + {all dead. dead}) + (/\dead -> False) + {all dead. dead} + ~`$fPersonLikePerson` : PersonLike Person + = CConsPersonLike {Person} `$cage` `$clikesAnimal` +in +\(ds : Person) -> + let + !ds : Person = ds in - \(ds : Person) -> - let - !ds : Person = ds - in - predicate {Person} `$fPersonLikePerson` ds) \ No newline at end of file + predicate {Person} `$fPersonLikePerson` ds \ No newline at end of file diff --git a/plutus-tx-plugin/test/Plugin/Typeclasses/9.6/partialApplication.pir.golden b/plutus-tx-plugin/test/Plugin/Typeclasses/9.6/partialApplication.pir.golden index 23bb296c13c..34b7ddd4f9d 100644 --- a/plutus-tx-plugin/test/Plugin/Typeclasses/9.6/partialApplication.pir.golden +++ b/plutus-tx-plugin/test/Plugin/Typeclasses/9.6/partialApplication.pir.golden @@ -1,40 +1,38 @@ -program - 1.1.0 - (let - data Bool | Bool_match where - True : Bool - False : Bool - data Ordering | Ordering_match where - EQ : Ordering - GT : Ordering - LT : Ordering - !equalsInteger : integer -> integer -> bool = equalsInteger - !ifThenElse : all a. bool -> a -> a -> a = ifThenElse - !lessThanEqualsInteger : integer -> integer -> bool = lessThanEqualsInteger - ~`$fOrdInteger_$ccompare` : integer -> integer -> Ordering - = \(eta : integer) -> +let + data Bool | Bool_match where + True : Bool + False : Bool + data Ordering | Ordering_match where + EQ : Ordering + GT : Ordering + LT : Ordering + !equalsInteger : integer -> integer -> bool = equalsInteger + !ifThenElse : all a. bool -> a -> a -> a = ifThenElse + !lessThanEqualsInteger : integer -> integer -> bool = lessThanEqualsInteger + ~`$fOrdInteger_$ccompare` : integer -> integer -> Ordering + = \(eta : integer) -> + let + !x : integer = eta + in + \(eta : integer) -> let - !x : integer = eta + !y : integer = eta + !b : bool = equalsInteger x y in - \(eta : integer) -> - let - !y : integer = eta - !b : bool = equalsInteger x y - in - Bool_match - (ifThenElse {Bool} b True False) - {all dead. Ordering} - (/\dead -> EQ) - (/\dead -> - let - !b : bool = lessThanEqualsInteger x y - in - Bool_match - (ifThenElse {Bool} b True False) - {all dead. Ordering} - (/\dead -> LT) - (/\dead -> GT) - {all dead. dead}) - {all dead. dead} - in - `$fOrdInteger_$ccompare`) \ No newline at end of file + Bool_match + (ifThenElse {Bool} b True False) + {all dead. Ordering} + (/\dead -> EQ) + (/\dead -> + let + !b : bool = lessThanEqualsInteger x y + in + Bool_match + (ifThenElse {Bool} b True False) + {all dead. Ordering} + (/\dead -> LT) + (/\dead -> GT) + {all dead. dead}) + {all dead. dead} +in +`$fOrdInteger_$ccompare` \ No newline at end of file diff --git a/plutus-tx-plugin/test/Plugin/Typeclasses/9.6/sequenceTest.pir.golden b/plutus-tx-plugin/test/Plugin/Typeclasses/9.6/sequenceTest.pir.golden index 1c30e916b20..ec622a29857 100644 --- a/plutus-tx-plugin/test/Plugin/Typeclasses/9.6/sequenceTest.pir.golden +++ b/plutus-tx-plugin/test/Plugin/Typeclasses/9.6/sequenceTest.pir.golden @@ -1,236 +1,222 @@ -program - 1.1.0 - (let - data (Maybe :: * -> *) a | Maybe_match where - Just : a -> Maybe a - Nothing : Maybe a - ~`$fApplicativeMaybe_$c<*>` : all a b. Maybe (a -> b) -> Maybe a -> Maybe b - = /\a b -> - \(ds : Maybe (a -> b)) (ds : Maybe a) -> +let + data (Maybe :: * -> *) a | Maybe_match where + Just : a -> Maybe a + Nothing : Maybe a + ~`$fApplicativeMaybe_$c<*>` : all a b. Maybe (a -> b) -> Maybe a -> Maybe b + = /\a b -> + \(ds : Maybe (a -> b)) (ds : Maybe a) -> + Maybe_match + {a -> b} + ds + {all dead. Maybe b} + (\(ipv : a -> b) -> + /\dead -> + Maybe_match + {a} + ds + {all dead. Maybe b} + (\(ipv : a) -> /\dead -> Just {b} (ipv ipv)) + (/\dead -> Nothing {b}) + {all dead. dead}) + (/\dead -> Nothing {b}) + {all dead. dead} + ~`$fApplicativeMaybe_$cpure` : all a. a -> Maybe a + = /\a -> \(ds : a) -> Just {a} ds + ~`$fFunctorMaybe_$cfmap` : all a b. (a -> b) -> Maybe a -> Maybe b + = /\a b -> + \(f : a -> b) -> + let + !f : a -> b = f + in + \(ds : Maybe a) -> Maybe_match - {a -> b} + {a} ds {all dead. Maybe b} - (\(ipv : a -> b) -> - /\dead -> - Maybe_match - {a} - ds - {all dead. Maybe b} - (\(ipv : a) -> /\dead -> Just {b} (ipv ipv)) - (/\dead -> Nothing {b}) - {all dead. dead}) + (\(a : a) -> /\dead -> Just {b} (f a)) (/\dead -> Nothing {b}) {all dead. dead} - ~`$fApplicativeMaybe_$cpure` : all a. a -> Maybe a - = /\a -> \(ds : a) -> Just {a} ds - ~`$fFunctorMaybe_$cfmap` : all a b. (a -> b) -> Maybe a -> Maybe b - = /\a b -> - \(f : a -> b) -> - let - !f : a -> b = f - in - \(ds : Maybe a) -> - Maybe_match - {a} - ds - {all dead. Maybe b} - (\(a : a) -> /\dead -> Just {b} (f a)) - (/\dead -> Nothing {b}) - {all dead. dead} - data (Applicative :: (* -> *) -> *) (f :: * -> *) | Applicative_match where - CConsApplicative : - (\(f :: * -> *) -> all a b. (a -> b) -> f a -> f b) f -> - (all a. a -> f a) -> - (all a b. f (a -> b) -> f a -> f b) -> - Applicative f - ~`$fApplicativeMaybe` : Applicative Maybe - = CConsApplicative - {Maybe} - `$fFunctorMaybe_$cfmap` - `$fApplicativeMaybe_$cpure` - `$fApplicativeMaybe_$c<*>` - in - letrec - data (List :: * -> *) a | List_match where - Nil : List a - Cons : a -> List a -> List a - in - let - ~`$fFoldableList_$cfoldr` : all a b. (a -> b -> b) -> b -> List a -> b - = /\a b -> - \(f : a -> b -> b) -> - let - !f : a -> b -> b = f - in - \(z : b) -> - let - !z : b = z - in - letrec - ~go : List a -> b - = \(ds : List a) -> - List_match - {a} - ds - {all dead. b} - (/\dead -> z) - (\(x : a) (xs : List a) -> /\dead -> f x (go xs)) - {all dead. dead} - in - \(eta : List a) -> go eta - ~`$fFunctorList_$cfmap` : all a b. (a -> b) -> List a -> List b - = /\a b -> - \(f : a -> b) -> - let - !f : a -> b = f - in - letrec - ~go : List a -> List b - = \(ds : List a) -> - List_match - {a} - ds - {all dead. List b} - (/\dead -> Nil {b}) - (\(x : a) (xs : List a) -> - /\dead -> Cons {b} (f x) (go xs)) - {all dead. dead} - in - \(eta : List a) -> go eta - ~`$p1Applicative` : - all (f :: * -> *). - Applicative f -> (\(f :: * -> *) -> all a b. (a -> b) -> f a -> f b) f - = /\(f :: * -> *) -> - \(v : Applicative f) -> - Applicative_match - {f} - v - {(\(f :: * -> *) -> all a b. (a -> b) -> f a -> f b) f} - (\(v : (\(f :: * -> *) -> all a b. (a -> b) -> f a -> f b) f) - (v : all a. a -> f a) - (v : all a b. f (a -> b) -> f a -> f b) -> - v) - ~`<*>` : - all (f :: * -> *). Applicative f -> (all a b. f (a -> b) -> f a -> f b) - = /\(f :: * -> *) -> - \(v : Applicative f) -> - Applicative_match - {f} - v - {all a b. f (a -> b) -> f a -> f b} - (\(v : (\(f :: * -> *) -> all a b. (a -> b) -> f a -> f b) f) - (v : all a. a -> f a) - (v : all a b. f (a -> b) -> f a -> f b) -> - v) - ~pure : all (f :: * -> *). Applicative f -> (all a. a -> f a) - = /\(f :: * -> *) -> - \(v : Applicative f) -> - Applicative_match - {f} - v - {all a. a -> f a} - (\(v : (\(f :: * -> *) -> all a b. (a -> b) -> f a -> f b) f) - (v : all a. a -> f a) - (v : all a b. f (a -> b) -> f a -> f b) -> - v) - ~`$fTraversableList_$ctraverse` : - all (f :: * -> *) a b. - Applicative f -> (a -> f b) -> List a -> f (List b) - = /\(f :: * -> *) a b -> - \(`$dApplicative` : Applicative f) (f : a -> f b) -> + data (Applicative :: (* -> *) -> *) (f :: * -> *) | Applicative_match where + CConsApplicative : + (\(f :: * -> *) -> all a b. (a -> b) -> f a -> f b) f -> + (all a. a -> f a) -> + (all a b. f (a -> b) -> f a -> f b) -> + Applicative f + ~`$fApplicativeMaybe` : Applicative Maybe + = CConsApplicative + {Maybe} + `$fFunctorMaybe_$cfmap` + `$fApplicativeMaybe_$cpure` + `$fApplicativeMaybe_$c<*>` +in +letrec + data (List :: * -> *) a | List_match where + Nil : List a + Cons : a -> List a -> List a +in +let + ~`$fFoldableList_$cfoldr` : all a b. (a -> b -> b) -> b -> List a -> b + = /\a b -> + \(f : a -> b -> b) -> + let + !f : a -> b -> b = f + in + \(z : b) -> let - !f : a -> f b = f + !z : b = z in letrec - ~go : List a -> f (List b) + ~go : List a -> b = \(ds : List a) -> List_match {a} ds - {all dead. f (List b)} - (/\dead -> pure {f} `$dApplicative` {List b} (Nil {b})) - (\(x : a) (xs : List a) -> - /\dead -> - let - !x : f b = f x - in - `<*>` - {f} - `$dApplicative` - {List b} - {List b} - (`$p1Applicative` - {f} - `$dApplicative` - {b} - {List b -> List b} - (\(ds : b) (ds : List b) -> Cons {b} ds ds) - x) - (go xs)) + {all dead. b} + (/\dead -> z) + (\(x : a) (xs : List a) -> /\dead -> f x (go xs)) {all dead. dead} in \(eta : List a) -> go eta - data (Traversable :: (* -> *) -> *) (t :: * -> *) | Traversable_match where - CConsTraversable : - (\(f :: * -> *) -> all a b. (a -> b) -> f a -> f b) t -> - (\(t :: * -> *) -> all a b. (a -> b -> b) -> b -> t a -> b) t -> - (all (f :: * -> *) a b. - Applicative f -> (a -> f b) -> t a -> f (t b)) -> - Traversable t - ~`$fTraversableList` : Traversable List - = CConsTraversable - {List} - `$fFunctorList_$cfmap` - `$fFoldableList_$cfoldr` - `$fTraversableList_$ctraverse` - ~build : all a. (all b. (a -> b -> b) -> b -> b) -> List a - = /\a -> - \(g : all b. (a -> b -> b) -> b -> b) -> - g {List a} (\(ds : a) (ds : List a) -> Cons {a} ds ds) (Nil {a}) - ~id : all a. a -> a = /\a -> \(x : a) -> x - ~traverse : - all (t :: * -> *). - Traversable t -> - (all (f :: * -> *) a b. Applicative f -> (a -> f b) -> t a -> f (t b)) - = /\(t :: * -> *) -> - \(v : Traversable t) -> - Traversable_match - {t} - v - {all (f :: * -> *) a b. - Applicative f -> (a -> f b) -> t a -> f (t b)} - (\(v : (\(f :: * -> *) -> all a b. (a -> b) -> f a -> f b) t) - (v : - (\(t :: * -> *) -> all a b. (a -> b -> b) -> b -> t a -> b) - t) - (v : - all (f :: * -> *) a b. - Applicative f -> (a -> f b) -> t a -> f (t b)) -> - v) - ~sequence : - all (t :: * -> *) (f :: * -> *) a. - Traversable t -> Applicative f -> t (f a) -> f (t a) - = /\(t :: * -> *) (f :: * -> *) a -> - \(`$dTraversable` : Traversable t) - (`$dApplicative` : Applicative f) -> - traverse - {t} - `$dTraversable` - {f} - {f a} - {a} - `$dApplicative` - (id {f a}) - in - sequence - {List} - {Maybe} - {integer} - `$fTraversableList` - `$fApplicativeMaybe` - (build - {Maybe integer} - (/\a -> - \(c : Maybe integer -> a -> a) (n : a) -> - c (Just {integer} 1) (c (Just {integer} 2) n)))) \ No newline at end of file + ~`$fFunctorList_$cfmap` : all a b. (a -> b) -> List a -> List b + = /\a b -> + \(f : a -> b) -> + let + !f : a -> b = f + in + letrec + ~go : List a -> List b + = \(ds : List a) -> + List_match + {a} + ds + {all dead. List b} + (/\dead -> Nil {b}) + (\(x : a) (xs : List a) -> /\dead -> Cons {b} (f x) (go xs)) + {all dead. dead} + in + \(eta : List a) -> go eta + ~`$p1Applicative` : + all (f :: * -> *). + Applicative f -> (\(f :: * -> *) -> all a b. (a -> b) -> f a -> f b) f + = /\(f :: * -> *) -> + \(v : Applicative f) -> + Applicative_match + {f} + v + {(\(f :: * -> *) -> all a b. (a -> b) -> f a -> f b) f} + (\(v : (\(f :: * -> *) -> all a b. (a -> b) -> f a -> f b) f) + (v : all a. a -> f a) + (v : all a b. f (a -> b) -> f a -> f b) -> + v) + ~`<*>` : + all (f :: * -> *). Applicative f -> (all a b. f (a -> b) -> f a -> f b) + = /\(f :: * -> *) -> + \(v : Applicative f) -> + Applicative_match + {f} + v + {all a b. f (a -> b) -> f a -> f b} + (\(v : (\(f :: * -> *) -> all a b. (a -> b) -> f a -> f b) f) + (v : all a. a -> f a) + (v : all a b. f (a -> b) -> f a -> f b) -> + v) + ~pure : all (f :: * -> *). Applicative f -> (all a. a -> f a) + = /\(f :: * -> *) -> + \(v : Applicative f) -> + Applicative_match + {f} + v + {all a. a -> f a} + (\(v : (\(f :: * -> *) -> all a b. (a -> b) -> f a -> f b) f) + (v : all a. a -> f a) + (v : all a b. f (a -> b) -> f a -> f b) -> + v) + ~`$fTraversableList_$ctraverse` : + all (f :: * -> *) a b. Applicative f -> (a -> f b) -> List a -> f (List b) + = /\(f :: * -> *) a b -> + \(`$dApplicative` : Applicative f) (f : a -> f b) -> + let + !f : a -> f b = f + in + letrec + ~go : List a -> f (List b) + = \(ds : List a) -> + List_match + {a} + ds + {all dead. f (List b)} + (/\dead -> pure {f} `$dApplicative` {List b} (Nil {b})) + (\(x : a) (xs : List a) -> + /\dead -> + let + !x : f b = f x + in + `<*>` + {f} + `$dApplicative` + {List b} + {List b} + (`$p1Applicative` + {f} + `$dApplicative` + {b} + {List b -> List b} + (\(ds : b) (ds : List b) -> Cons {b} ds ds) + x) + (go xs)) + {all dead. dead} + in + \(eta : List a) -> go eta + data (Traversable :: (* -> *) -> *) (t :: * -> *) | Traversable_match where + CConsTraversable : + (\(f :: * -> *) -> all a b. (a -> b) -> f a -> f b) t -> + (\(t :: * -> *) -> all a b. (a -> b -> b) -> b -> t a -> b) t -> + (all (f :: * -> *) a b. Applicative f -> (a -> f b) -> t a -> f (t b)) -> + Traversable t + ~`$fTraversableList` : Traversable List + = CConsTraversable + {List} + `$fFunctorList_$cfmap` + `$fFoldableList_$cfoldr` + `$fTraversableList_$ctraverse` + ~build : all a. (all b. (a -> b -> b) -> b -> b) -> List a + = /\a -> + \(g : all b. (a -> b -> b) -> b -> b) -> + g {List a} (\(ds : a) (ds : List a) -> Cons {a} ds ds) (Nil {a}) + ~id : all a. a -> a = /\a -> \(x : a) -> x + ~traverse : + all (t :: * -> *). + Traversable t -> + (all (f :: * -> *) a b. Applicative f -> (a -> f b) -> t a -> f (t b)) + = /\(t :: * -> *) -> + \(v : Traversable t) -> + Traversable_match + {t} + v + {all (f :: * -> *) a b. + Applicative f -> (a -> f b) -> t a -> f (t b)} + (\(v : (\(f :: * -> *) -> all a b. (a -> b) -> f a -> f b) t) + (v : + (\(t :: * -> *) -> all a b. (a -> b -> b) -> b -> t a -> b) t) + (v : + all (f :: * -> *) a b. + Applicative f -> (a -> f b) -> t a -> f (t b)) -> + v) + ~sequence : + all (t :: * -> *) (f :: * -> *) a. + Traversable t -> Applicative f -> t (f a) -> f (t a) + = /\(t :: * -> *) (f :: * -> *) a -> + \(`$dTraversable` : Traversable t) (`$dApplicative` : Applicative f) -> + traverse {t} `$dTraversable` {f} {f a} {a} `$dApplicative` (id {f a}) +in +sequence + {List} + {Maybe} + {integer} + `$fTraversableList` + `$fApplicativeMaybe` + (build + {Maybe integer} + (/\a -> + \(c : Maybe integer -> a -> a) (n : a) -> + c (Just {integer} 1) (c (Just {integer} 2) n))) \ No newline at end of file diff --git a/plutus-tx-plugin/test/Plugin/Typeclasses/9.6/sizedBasic.pir.golden b/plutus-tx-plugin/test/Plugin/Typeclasses/9.6/sizedBasic.pir.golden index a7c54e1ad50..09ef8230c5f 100644 --- a/plutus-tx-plugin/test/Plugin/Typeclasses/9.6/sizedBasic.pir.golden +++ b/plutus-tx-plugin/test/Plugin/Typeclasses/9.6/sizedBasic.pir.golden @@ -1,13 +1,7 @@ -program - 1.1.0 - (let - ~`$csize` : integer -> integer = \(x : integer) -> x - ~`$fSizedInteger` : (\a -> a -> integer) integer = `$csize` - ~size : all a. (\a -> a -> integer) a -> a -> integer - = /\a -> \(v : (\a -> a -> integer) a) -> v - in - \(ds : integer) -> - let - !ds : integer = ds - in - size {integer} `$fSizedInteger` ds) \ No newline at end of file +let + ~`$csize` : integer -> integer = \(x : integer) -> x + ~`$fSizedInteger` : (\a -> a -> integer) integer = `$csize` + ~size : all a. (\a -> a -> integer) a -> a -> integer + = /\a -> \(v : (\a -> a -> integer) a) -> v +in +\(ds : integer) -> let !ds : integer = ds in size {integer} `$fSizedInteger` ds \ No newline at end of file diff --git a/plutus-tx-plugin/test/Plugin/Typeclasses/9.6/sizedPair.pir.golden b/plutus-tx-plugin/test/Plugin/Typeclasses/9.6/sizedPair.pir.golden index af12b31b5e0..17c98d88022 100644 --- a/plutus-tx-plugin/test/Plugin/Typeclasses/9.6/sizedPair.pir.golden +++ b/plutus-tx-plugin/test/Plugin/Typeclasses/9.6/sizedPair.pir.golden @@ -1,52 +1,44 @@ -program - 1.1.0 - (let - data (Tuple2 :: * -> * -> *) a b | Tuple2_match where - Tuple2 : a -> b -> Tuple2 a b - !addInteger : integer -> integer -> integer = addInteger - ~`$csize` : - all a b. - (\a -> a -> integer) a -> - (\a -> a -> integer) b -> - Tuple2 a b -> - integer - = /\a b -> - \(`$dSized` : (\a -> a -> integer) a) - (`$dSized` : (\a -> a -> integer) b) - (ds : Tuple2 a b) -> - Tuple2_match - {a} - {b} - ds - {integer} - (\(a : a) (b : b) -> - let - !x : integer = `$dSized` a - !y : integer = `$dSized` b - in - addInteger x y) - ~`$fSizedTuple2` : - all a b. - (\a -> a -> integer) a -> - (\a -> a -> integer) b -> - (\a -> a -> integer) (Tuple2 a b) - = `$csize` - ~`$csize` : integer -> integer = \(x : integer) -> x - ~`$fSizedInteger` : (\a -> a -> integer) integer = `$csize` - ~`$dSized` : (\a -> a -> integer) (Tuple2 integer integer) - = `$fSizedTuple2` {integer} {integer} `$fSizedInteger` `$fSizedInteger` - ~size : all a. (\a -> a -> integer) a -> a -> integer - = /\a -> \(v : (\a -> a -> integer) a) -> v +let + data (Tuple2 :: * -> * -> *) a b | Tuple2_match where + Tuple2 : a -> b -> Tuple2 a b + !addInteger : integer -> integer -> integer = addInteger + ~`$csize` : + all a b. + (\a -> a -> integer) a -> (\a -> a -> integer) b -> Tuple2 a b -> integer + = /\a b -> + \(`$dSized` : (\a -> a -> integer) a) + (`$dSized` : (\a -> a -> integer) b) + (ds : Tuple2 a b) -> + Tuple2_match + {a} + {b} + ds + {integer} + (\(a : a) (b : b) -> + let + !x : integer = `$dSized` a + !y : integer = `$dSized` b + in + addInteger x y) + ~`$fSizedTuple2` : + all a b. + (\a -> a -> integer) a -> + (\a -> a -> integer) b -> + (\a -> a -> integer) (Tuple2 a b) + = `$csize` + ~`$csize` : integer -> integer = \(x : integer) -> x + ~`$fSizedInteger` : (\a -> a -> integer) integer = `$csize` + ~`$dSized` : (\a -> a -> integer) (Tuple2 integer integer) + = `$fSizedTuple2` {integer} {integer} `$fSizedInteger` `$fSizedInteger` + ~size : all a. (\a -> a -> integer) a -> a -> integer + = /\a -> \(v : (\a -> a -> integer) a) -> v +in +\(ds : integer) -> + let + !ds : integer = ds in \(ds : integer) -> let !ds : integer = ds in - \(ds : integer) -> - let - !ds : integer = ds - in - size - {Tuple2 integer integer} - `$dSized` - (Tuple2 {integer} {integer} ds ds)) \ No newline at end of file + size {Tuple2 integer integer} `$dSized` (Tuple2 {integer} {integer} ds ds) \ No newline at end of file diff --git a/plutus-tx-plugin/test/Plugin/Typeclasses/9.6/sumTest.pir.golden b/plutus-tx-plugin/test/Plugin/Typeclasses/9.6/sumTest.pir.golden index 59c4302fcbd..dea384bcb8e 100644 --- a/plutus-tx-plugin/test/Plugin/Typeclasses/9.6/sumTest.pir.golden +++ b/plutus-tx-plugin/test/Plugin/Typeclasses/9.6/sumTest.pir.golden @@ -1,94 +1,89 @@ -program - 1.1.0 - (let - ~`$fAdditiveMonoidInteger_$czero` : integer = 0 - !addInteger : integer -> integer -> integer = addInteger - ~addInteger : integer -> integer -> integer - = \(x : integer) -> +let + ~`$fAdditiveMonoidInteger_$czero` : integer = 0 + !addInteger : integer -> integer -> integer = addInteger + ~addInteger : integer -> integer -> integer + = \(x : integer) -> + let + !x : integer = x + in + \(y : integer) -> let !y : integer = y in addInteger x y + data (AdditiveMonoid :: * -> *) a | AdditiveMonoid_match where + CConsAdditiveMonoid : (\a -> a -> a -> a) a -> a -> AdditiveMonoid a + ~`$fAdditiveMonoidInteger` : AdditiveMonoid integer + = CConsAdditiveMonoid {integer} addInteger `$fAdditiveMonoidInteger_$czero` +in +letrec + data (List :: * -> *) a | List_match where + Nil : List a + Cons : a -> List a -> List a +in +let + ~`$fFoldableList_$cfoldr` : all a b. (a -> b -> b) -> b -> List a -> b + = /\a b -> + \(f : a -> b -> b) -> let - !x : integer = x + !f : a -> b -> b = f in - \(y : integer) -> let !y : integer = y in addInteger x y - data (AdditiveMonoid :: * -> *) a | AdditiveMonoid_match where - CConsAdditiveMonoid : (\a -> a -> a -> a) a -> a -> AdditiveMonoid a - ~`$fAdditiveMonoidInteger` : AdditiveMonoid integer - = CConsAdditiveMonoid - {integer} - addInteger - `$fAdditiveMonoidInteger_$czero` - in - letrec - data (List :: * -> *) a | List_match where - Nil : List a - Cons : a -> List a -> List a - in - let - ~`$fFoldableList_$cfoldr` : all a b. (a -> b -> b) -> b -> List a -> b - = /\a b -> - \(f : a -> b -> b) -> + \(z : b) -> let - !f : a -> b -> b = f + !z : b = z in - \(z : b) -> - let - !z : b = z - in - letrec - ~go : List a -> b - = \(ds : List a) -> - List_match - {a} - ds - {all dead. b} - (/\dead -> z) - (\(x : a) (xs : List a) -> /\dead -> f x (go xs)) - {all dead. dead} - in - \(eta : List a) -> go eta - ~`$fFoldableList` : - (\(t :: * -> *) -> all a b. (a -> b -> b) -> b -> t a -> b) List - = `$fFoldableList_$cfoldr` - ~build : all a. (all b. (a -> b -> b) -> b -> b) -> List a - = /\a -> - \(g : all b. (a -> b -> b) -> b -> b) -> - g {List a} (\(ds : a) (ds : List a) -> Cons {a} ds ds) (Nil {a}) - ~`$p1AdditiveMonoid` : all a. AdditiveMonoid a -> (\a -> a -> a -> a) a - = /\a -> - \(v : AdditiveMonoid a) -> - AdditiveMonoid_match - {a} - v - {(\a -> a -> a -> a) a} - (\(v : (\a -> a -> a -> a) a) (v : a) -> v) - ~zero : all a. AdditiveMonoid a -> a - = /\a -> - \(v : AdditiveMonoid a) -> - AdditiveMonoid_match - {a} - v - {a} - (\(v : (\a -> a -> a -> a) a) (v : a) -> v) - ~sum : - all (t :: * -> *) a. - (\(t :: * -> *) -> all a b. (a -> b -> b) -> b -> t a -> b) t -> - AdditiveMonoid a -> - t a -> - a - = /\(t :: * -> *) a -> - \(`$dFoldable` : - (\(t :: * -> *) -> all a b. (a -> b -> b) -> b -> t a -> b) t) - (`$dAdditiveMonoid` : AdditiveMonoid a) -> - `$dFoldable` - {a} - {a} - (`$p1AdditiveMonoid` {a} `$dAdditiveMonoid`) - (zero {a} `$dAdditiveMonoid`) - in - sum - {List} - {integer} - `$fFoldableList` - `$fAdditiveMonoidInteger` - (build - {integer} - (/\a -> \(c : integer -> a -> a) (n : a) -> c 1 (c 2 (c 3 (c 4 n)))))) \ No newline at end of file + letrec + ~go : List a -> b + = \(ds : List a) -> + List_match + {a} + ds + {all dead. b} + (/\dead -> z) + (\(x : a) (xs : List a) -> /\dead -> f x (go xs)) + {all dead. dead} + in + \(eta : List a) -> go eta + ~`$fFoldableList` : + (\(t :: * -> *) -> all a b. (a -> b -> b) -> b -> t a -> b) List + = `$fFoldableList_$cfoldr` + ~build : all a. (all b. (a -> b -> b) -> b -> b) -> List a + = /\a -> + \(g : all b. (a -> b -> b) -> b -> b) -> + g {List a} (\(ds : a) (ds : List a) -> Cons {a} ds ds) (Nil {a}) + ~`$p1AdditiveMonoid` : all a. AdditiveMonoid a -> (\a -> a -> a -> a) a + = /\a -> + \(v : AdditiveMonoid a) -> + AdditiveMonoid_match + {a} + v + {(\a -> a -> a -> a) a} + (\(v : (\a -> a -> a -> a) a) (v : a) -> v) + ~zero : all a. AdditiveMonoid a -> a + = /\a -> + \(v : AdditiveMonoid a) -> + AdditiveMonoid_match + {a} + v + {a} + (\(v : (\a -> a -> a -> a) a) (v : a) -> v) + ~sum : + all (t :: * -> *) a. + (\(t :: * -> *) -> all a b. (a -> b -> b) -> b -> t a -> b) t -> + AdditiveMonoid a -> + t a -> + a + = /\(t :: * -> *) a -> + \(`$dFoldable` : + (\(t :: * -> *) -> all a b. (a -> b -> b) -> b -> t a -> b) t) + (`$dAdditiveMonoid` : AdditiveMonoid a) -> + `$dFoldable` + {a} + {a} + (`$p1AdditiveMonoid` {a} `$dAdditiveMonoid`) + (zero {a} `$dAdditiveMonoid`) +in +sum + {List} + {integer} + `$fFoldableList` + `$fAdditiveMonoidInteger` + (build + {integer} + (/\a -> \(c : integer -> a -> a) (n : a) -> c 1 (c 2 (c 3 (c 4 n))))) \ No newline at end of file diff --git a/plutus-tx-plugin/test/Plugin/Typeclasses/Spec.hs b/plutus-tx-plugin/test/Plugin/Typeclasses/Spec.hs index cfcd91b7095..b6199613054 100644 --- a/plutus-tx-plugin/test/Plugin/Typeclasses/Spec.hs +++ b/plutus-tx-plugin/test/Plugin/Typeclasses/Spec.hs @@ -28,16 +28,16 @@ import Data.Proxy typeclasses :: TestNested typeclasses = testNested "Typeclasses" . pure $ testNestedGhc - [ goldenPir "sizedBasic" sizedBasic - , goldenPir "sizedPair" sizedPair - , goldenPir "multiFunction" multiFunction - , goldenPir "defaultMethods" defaultMethods - , goldenPir "partialApplication" partialApplication - , goldenPir "sequenceTest" sequenceTest - , goldenPir "compareTest" compareTest - , goldenPir "concatTest" concatTest - , goldenPir "sumTest" sumTest - , goldenPir "fmapDefaultTest" fmapDefaultTest + [ goldenPirReadable "sizedBasic" sizedBasic + , goldenPirReadable "sizedPair" sizedPair + , goldenPirReadable "multiFunction" multiFunction + , goldenPirReadable "defaultMethods" defaultMethods + , goldenPirReadable "partialApplication" partialApplication + , goldenPirReadable "sequenceTest" sequenceTest + , goldenPirReadable "compareTest" compareTest + , goldenPirReadable "concatTest" concatTest + , goldenPirReadable "sumTest" sumTest + , goldenPirReadable "fmapDefaultTest" fmapDefaultTest ] class Sized a where diff --git a/plutus-tx-plugin/test/StdLib/9.6/errorTrace.pir.golden b/plutus-tx-plugin/test/StdLib/9.6/errorTrace.pir.golden index b0adcc556ce..d424f796f68 100644 --- a/plutus-tx-plugin/test/StdLib/9.6/errorTrace.pir.golden +++ b/plutus-tx-plugin/test/StdLib/9.6/errorTrace.pir.golden @@ -1,18 +1,16 @@ -program - 1.1.0 - (let - data Unit | Unit_match where - Unit : Unit - !error : all a. unit -> a = /\a -> \(thunk : unit) -> error {a} - !trace : all a. string -> a -> a = trace - !unitval : unit = () - ~traceError : all a. string -> a - = /\a -> - \(str : string) -> - let - !str : string = str - !x : Unit = trace {Unit} str Unit - in - error {a} unitval - in - traceError {integer} "") \ No newline at end of file +let + data Unit | Unit_match where + Unit : Unit + !error : all a. unit -> a = /\a -> \(thunk : unit) -> error {a} + !trace : all a. string -> a -> a = trace + !unitval : unit = () + ~traceError : all a. string -> a + = /\a -> + \(str : string) -> + let + !str : string = str + !x : Unit = trace {Unit} str Unit + in + error {a} unitval +in +traceError {integer} "" \ No newline at end of file diff --git a/plutus-tx-plugin/test/StdLib/Spec.hs b/plutus-tx-plugin/test/StdLib/Spec.hs index 0057ab7d3c1..86d655681c4 100644 --- a/plutus-tx-plugin/test/StdLib/Spec.hs +++ b/plutus-tx-plugin/test/StdLib/Spec.hs @@ -35,7 +35,7 @@ import PlutusTx.Ord qualified as PlutusTx import PlutusTx.Plugin (plc) import PlutusTx.Prelude qualified as PlutusTx import PlutusTx.Ratio qualified as Ratio -import PlutusTx.Test (goldenPir) +import PlutusTx.Test (goldenPirReadable) import Test.Tasty (TestName, TestTree) import Test.Tasty.Hedgehog (testPropertyNamed) import Test.Tasty.HUnit (assertFailure, testCase, (@?=)) @@ -54,7 +54,7 @@ tests = , embed $ testPropertyNamed "divMod" "testDivMod" testDivMod , embed $ testPropertyNamed "quotRem" "testQuotRem" testQuotRem , embed $ testPropertyNamed "Eq @Data" "eqData" eqData - , goldenPir "errorTrace" errorTrace + , goldenPirReadable "errorTrace" errorTrace ] -- We really should use something like "Control.Exception.Enclosed" here and in other similar diff --git a/plutus-tx/testlib/PlutusTx/Test.hs b/plutus-tx/testlib/PlutusTx/Test.hs index edc247bf3b2..16cdadbb60f 100644 --- a/plutus-tx/testlib/PlutusTx/Test.hs +++ b/plutus-tx/testlib/PlutusTx/Test.hs @@ -52,7 +52,6 @@ import PlutusCore.Pretty import PlutusCore.Pretty qualified as PLC import PlutusCore.Test import PlutusIR.Analysis.Builtins as PIR -import PlutusIR.Core.Instance.Pretty.Readable (prettyPirReadableSimple) import PlutusIR.Core.Type (progTerm) import PlutusIR.Test () import PlutusIR.Transform.RewriteRules as PIR @@ -118,12 +117,16 @@ goldenBudget name compiledCode = goldenUEvalBudget name [compiledCode] -- Compilation testing +-- | Does not print uniques. goldenPir :: (PrettyUni uni, Pretty fun, uni `PLC.Everywhere` Flat, Flat fun) => String -> CompiledCodeIn uni fun a -> TestNested -goldenPir name value = nestedGoldenVsDoc name ".pir" $ prettyPirReadableSimple $ getPirNoAnn value +goldenPir name value = + nestedGoldenVsDoc name ".pir" + . maybe "PIR not found in CompiledCode" (prettyClassicSimple . view progTerm) + $ getPirNoAnn value -- | Does not print uniques. goldenPirReadable :: @@ -133,7 +136,7 @@ goldenPirReadable :: TestNested goldenPirReadable name value = nestedGoldenVsDoc name ".pir" - . maybe "PIR not found in CompiledCode" (prettyPirReadableSimple . view progTerm) + . maybe "PIR not found in CompiledCode" (prettyReadableSimple . view progTerm) $ getPirNoAnn value goldenPirBy :: From 944d4c52a4eea93fdac6e4dbba70e568e14c0387 Mon Sep 17 00:00:00 2001 From: zeme-wana <15709674+zeme-wana@users.noreply.github.com> Date: Thu, 3 Oct 2024 10:13:52 +0200 Subject: [PATCH 02/70] Add workflow_dispatch event to slack-message-broker.yml (#6535) --- .github/workflows/slack-message-broker.yml | 1 + .github/workflows/tests.sh | 9 +++++++++ 2 files changed, 10 insertions(+) create mode 100644 .github/workflows/tests.sh diff --git a/.github/workflows/slack-message-broker.yml b/.github/workflows/slack-message-broker.yml index 5dcd53cdb10..c3fbc4cc8f5 100644 --- a/.github/workflows/slack-message-broker.yml +++ b/.github/workflows/slack-message-broker.yml @@ -4,6 +4,7 @@ name: "📮 Slack Message Broker" on: + workflow_dispatch: # Only used for testing workflow_run: types: [completed, requested, in_progress] workflows: diff --git a/.github/workflows/tests.sh b/.github/workflows/tests.sh new file mode 100644 index 00000000000..8ec5aa5750f --- /dev/null +++ b/.github/workflows/tests.sh @@ -0,0 +1,9 @@ +# How to test workflow tests using the act tool +# 0. Make sure your docker daemon is running +# 1. Inside the shell, run: act -W .github/workflows/slack-message-broker.yml --container-architecture linux/amd64 -e test-event.json +# Where test-event.json looks a little like this: +{ + "worflow_run": { + "name": "" + } +} From 9eba5de596612427a08ef6bc219fc1a621adec2f Mon Sep 17 00:00:00 2001 From: effectfully Date: Thu, 3 Oct 2024 21:06:33 +0200 Subject: [PATCH 03/70] [Builtins] Disable 'writeBits' for changPlus1 (#6536) This disables `writeBits` for chang+1, so that we have more time to fix it as per #6528. --- plutus-ledger-api/src/PlutusLedgerApi/Common/Versions.hs | 4 ++-- plutus-ledger-api/src/PlutusLedgerApi/V3/ParamName.hs | 8 ++++---- plutus-ledger-api/test/Spec/CostModelParams.hs | 2 +- plutus-ledger-api/test/Spec/Data/CostModelParams.hs | 2 +- .../PlutusLedgerApi/Test/V3/Data/EvaluationContext.hs | 5 +++-- .../testlib/PlutusLedgerApi/Test/V3/EvaluationContext.hs | 5 +++-- 6 files changed, 14 insertions(+), 12 deletions(-) diff --git a/plutus-ledger-api/src/PlutusLedgerApi/Common/Versions.hs b/plutus-ledger-api/src/PlutusLedgerApi/Common/Versions.hs index 59d325f508c..635000996b9 100644 --- a/plutus-ledger-api/src/PlutusLedgerApi/Common/Versions.hs +++ b/plutus-ledger-api/src/PlutusLedgerApi/Common/Versions.hs @@ -122,12 +122,12 @@ builtinsIntroducedIn = Map.fromList [ ]), ((PlutusV3, changPlus1PV), Set.fromList [ AndByteString, OrByteString, XorByteString, ComplementByteString, - ReadBit, WriteBits, ReplicateByte, + ReadBit, ReplicateByte, ShiftByteString, RotateByteString, CountSetBits, FindFirstSetBit, Ripemd_160 ]), ((PlutusV3, futurePV), Set.fromList [ - ExpModInteger + WriteBits, ExpModInteger ]) ] diff --git a/plutus-ledger-api/src/PlutusLedgerApi/V3/ParamName.hs b/plutus-ledger-api/src/PlutusLedgerApi/V3/ParamName.hs index 0de6ad0c7c7..c7e44bcd654 100644 --- a/plutus-ledger-api/src/PlutusLedgerApi/V3/ParamName.hs +++ b/plutus-ledger-api/src/PlutusLedgerApi/V3/ParamName.hs @@ -288,10 +288,6 @@ data ParamName = | ComplementByteString'memory'arguments'slope | ReadBit'cpu'arguments | ReadBit'memory'arguments - | WriteBits'cpu'arguments'intercept - | WriteBits'cpu'arguments'slope - | WriteBits'memory'arguments'intercept - | WriteBits'memory'arguments'slope | ReplicateByte'cpu'arguments'intercept | ReplicateByte'cpu'arguments'slope | ReplicateByte'memory'arguments'intercept @@ -315,6 +311,10 @@ data ParamName = | Ripemd_160'memory'arguments -- not enabled yet: +-- WriteBits'cpu'arguments'intercept +-- WriteBits'cpu'arguments'slope +-- WriteBits'memory'arguments'intercept +-- WriteBits'memory'arguments'slope -- ExpModInteger'cpu'arguments -- ExpModInteger'memory'arguments deriving stock (Eq, Ord, Enum, Ix, Bounded, Generic) diff --git a/plutus-ledger-api/test/Spec/CostModelParams.hs b/plutus-ledger-api/test/Spec/CostModelParams.hs index c5e45208009..a5797ac3041 100644 --- a/plutus-ledger-api/test/Spec/CostModelParams.hs +++ b/plutus-ledger-api/test/Spec/CostModelParams.hs @@ -28,7 +28,7 @@ tests = [ testCase "length" $ do 166 @=? length v1_ParamNames 185 @=? length v2_ParamNames - 297 @=? length v3_ParamNames + 293 @=? length v3_ParamNames , testCase "tripping paramname" $ do for_ v1_ParamNames $ \ p -> assertBool "tripping v1 cm params failed" $ Just p == readParamName (showParamName p) diff --git a/plutus-ledger-api/test/Spec/Data/CostModelParams.hs b/plutus-ledger-api/test/Spec/Data/CostModelParams.hs index 9a7eab8323a..4c34c8bd41b 100644 --- a/plutus-ledger-api/test/Spec/Data/CostModelParams.hs +++ b/plutus-ledger-api/test/Spec/Data/CostModelParams.hs @@ -26,7 +26,7 @@ tests = [ testCase "length" $ do 166 @=? length v1_ParamNames 185 @=? length v2_ParamNames - 297 @=? length v3_ParamNames + 293 @=? length v3_ParamNames , testCase "tripping paramname" $ do for_ v1_ParamNames $ \ p -> assertBool "tripping v1 cm params failed" $ Just p == readParamName (showParamName p) diff --git a/plutus-ledger-api/testlib/PlutusLedgerApi/Test/V3/Data/EvaluationContext.hs b/plutus-ledger-api/testlib/PlutusLedgerApi/Test/V3/Data/EvaluationContext.hs index 0849ba62a39..7170b7593b4 100644 --- a/plutus-ledger-api/testlib/PlutusLedgerApi/Test/V3/Data/EvaluationContext.hs +++ b/plutus-ledger-api/testlib/PlutusLedgerApi/Test/V3/Data/EvaluationContext.hs @@ -76,13 +76,13 @@ clearBuiltinCostModel r = r , paramXorByteString = mempty , paramComplementByteString = mempty , paramReadBit = mempty - , paramWriteBits = mempty , paramReplicateByte = mempty , paramShiftByteString = mempty , paramRotateByteString = mempty , paramCountSetBits = mempty , paramFindFirstSetBit = mempty , paramRipemd_160 = mempty + , paramWriteBits = mempty , paramExpModInteger = mempty } @@ -93,5 +93,6 @@ clearBuiltinCostModel' :: (m ~ MBuiltinCostModel) => m -> m clearBuiltinCostModel' r = r { -- , paramIntegerToByteString = mempty -- Required for V2 -- , paramByteStringToInteger = mempty -- Required for V2 - paramExpModInteger = mempty + paramWriteBits = mempty + , paramExpModInteger = mempty } diff --git a/plutus-ledger-api/testlib/PlutusLedgerApi/Test/V3/EvaluationContext.hs b/plutus-ledger-api/testlib/PlutusLedgerApi/Test/V3/EvaluationContext.hs index 21529c32bb0..436807d8642 100644 --- a/plutus-ledger-api/testlib/PlutusLedgerApi/Test/V3/EvaluationContext.hs +++ b/plutus-ledger-api/testlib/PlutusLedgerApi/Test/V3/EvaluationContext.hs @@ -77,13 +77,13 @@ clearBuiltinCostModel r = r , paramXorByteString = mempty , paramComplementByteString = mempty , paramReadBit = mempty - , paramWriteBits = mempty , paramReplicateByte = mempty , paramShiftByteString = mempty , paramRotateByteString = mempty , paramCountSetBits = mempty , paramFindFirstSetBit = mempty , paramRipemd_160 = mempty + , paramWriteBits = mempty , paramExpModInteger = mempty } @@ -94,5 +94,6 @@ clearBuiltinCostModel' :: (m ~ MBuiltinCostModel) => m -> m clearBuiltinCostModel' r = r { -- , paramIntegerToByteString = mempty -- Required for V2 -- , paramByteStringToInteger = mempty -- Required for V2 - paramExpModInteger = mempty + paramWriteBits = mempty + , paramExpModInteger = mempty } From 384997b4f395c984685a10a8317c7f729c37ff26 Mon Sep 17 00:00:00 2001 From: Ramsay Taylor Date: Fri, 4 Oct 2024 12:57:58 +0100 Subject: [PATCH 04/70] Release 1.35.0.0 (#6538) --- .../cardano-constitution.cabal | 16 +-- doc/docusaurus/docusaurus-examples.cabal | 10 +- plutus-benchmark/plutus-benchmark.cabal | 128 +++++++++--------- plutus-conformance/plutus-conformance.cabal | 8 +- plutus-core/CHANGELOG.md | 15 ++ .../20240924_105256_unsafeFixIO_pretty.md | 12 -- plutus-core/plutus-core.cabal | 30 ++-- plutus-executables/plutus-executables.cabal | 8 +- plutus-ledger-api/plutus-ledger-api.cabal | 36 ++--- plutus-metatheory/plutus-metatheory.cabal | 4 +- plutus-tx-plugin/plutus-tx-plugin.cabal | 20 +-- plutus-tx-test-util/plutus-tx-test-util.cabal | 4 +- plutus-tx/plutus-tx.cabal | 12 +- .../prettyprinter-configurable.cabal | 4 +- 14 files changed, 155 insertions(+), 152 deletions(-) delete mode 100644 plutus-core/changelog.d/20240924_105256_unsafeFixIO_pretty.md diff --git a/cardano-constitution/cardano-constitution.cabal b/cardano-constitution/cardano-constitution.cabal index 238864f539c..34d4b6ba370 100644 --- a/cardano-constitution/cardano-constitution.cabal +++ b/cardano-constitution/cardano-constitution.cabal @@ -82,10 +82,10 @@ library , base >=4.9 && <5 , containers , filepath - , plutus-core ^>=1.34 - , plutus-ledger-api ^>=1.34 - , plutus-tx ^>=1.34 - , plutus-tx-plugin ^>=1.34 + , plutus-core ^>=1.35 + , plutus-ledger-api ^>=1.35 + , plutus-tx ^>=1.35 + , plutus-tx-plugin ^>=1.35 , regex-tdfa , safe , template-haskell @@ -124,9 +124,9 @@ test-suite cardano-constitution-test , containers , directory , filepath - , plutus-core:{plutus-core, plutus-core-testlib} ^>=1.34 - , plutus-ledger-api ^>=1.34 - , plutus-tx ^>=1.34 + , plutus-core:{plutus-core, plutus-core-testlib} ^>=1.35 + , plutus-ledger-api ^>=1.35 + , plutus-tx ^>=1.35 , QuickCheck , serialise , tasty @@ -151,4 +151,4 @@ executable create-json-envelope , base , cardano-api , cardano-constitution - , plutus-ledger-api ^>=1.34 + , plutus-ledger-api ^>=1.35 diff --git a/doc/docusaurus/docusaurus-examples.cabal b/doc/docusaurus/docusaurus-examples.cabal index 18d40922ed3..4f13f1310f0 100644 --- a/doc/docusaurus/docusaurus-examples.cabal +++ b/doc/docusaurus/docusaurus-examples.cabal @@ -39,9 +39,9 @@ library docusaurus-code build-depends: , base >=4.9 && <5 - , plutus-core ^>=1.34 - , plutus-ledger-api ^>=1.34 - , plutus-tx ^>=1.34 + , plutus-core ^>=1.35 + , plutus-ledger-api ^>=1.35 + , plutus-tx ^>=1.35 if !(impl(ghcjs) || os(ghcjs)) build-depends: plutus-tx-plugin @@ -55,5 +55,5 @@ executable example-cip57 build-depends: , base ^>=4.18 , containers - , plutus-ledger-api ^>=1.34 - , plutus-tx ^>=1.34 + , plutus-ledger-api ^>=1.35 + , plutus-tx ^>=1.35 diff --git a/plutus-benchmark/plutus-benchmark.cabal b/plutus-benchmark/plutus-benchmark.cabal index c08214fbcf7..75bb15e25b0 100644 --- a/plutus-benchmark/plutus-benchmark.cabal +++ b/plutus-benchmark/plutus-benchmark.cabal @@ -94,8 +94,8 @@ library plutus-benchmark-common , directory , filepath , flat ^>=0.6 - , plutus-core ^>=1.34 - , plutus-ledger-api ^>=1.34 + , plutus-core ^>=1.35 + , plutus-ledger-api ^>=1.35 , plutus-tx-test-util , tasty , tasty-golden @@ -122,9 +122,9 @@ library nofib-internal , base >=4.9 && <5 , deepseq , plutus-benchmark-common - , plutus-core ^>=1.34 - , plutus-tx ^>=1.34 - , plutus-tx-plugin ^>=1.34 + , plutus-core ^>=1.35 + , plutus-tx ^>=1.35 + , plutus-tx-plugin ^>=1.35 executable nofib-exe import: lang, ghc-version-support, os-support @@ -138,8 +138,8 @@ executable nofib-exe , nofib-internal , optparse-applicative , plutus-benchmark-common - , plutus-core ^>=1.34 - , plutus-tx ^>=1.34 + , plutus-core ^>=1.35 + , plutus-tx ^>=1.35 , prettyprinter , transformers @@ -177,8 +177,8 @@ test-suite plutus-benchmark-nofib-tests , base >=4.9 && <5 , nofib-internal , plutus-benchmark-common - , plutus-core:{plutus-core, plutus-core-testlib} ^>=1.34 - , plutus-tx:{plutus-tx, plutus-tx-testlib} ^>=1.34 + , plutus-core:{plutus-core, plutus-core-testlib} ^>=1.35 + , plutus-tx:{plutus-tx, plutus-tx-testlib} ^>=1.35 , tasty , tasty-hunit , tasty-quickcheck @@ -204,9 +204,9 @@ library lists-internal , base >=4.9 && <5 , mtl , plutus-benchmark-common - , plutus-core ^>=1.34 - , plutus-tx ^>=1.34 - , plutus-tx-plugin ^>=1.34 + , plutus-core ^>=1.35 + , plutus-tx ^>=1.35 + , plutus-tx-plugin ^>=1.35 executable list-sort-exe import: lang, ghc-version-support, os-support @@ -217,7 +217,7 @@ executable list-sort-exe , lists-internal , monoidal-containers , plutus-benchmark-common - , plutus-core ^>=1.34 + , plutus-core ^>=1.35 benchmark lists import: lang, ghc-version-support, os-support @@ -229,7 +229,7 @@ benchmark lists , criterion >=1.5.9.0 , lists-internal , plutus-benchmark-common - , plutus-ledger-api ^>=1.34 + , plutus-ledger-api ^>=1.35 test-suite plutus-benchmark-lists-tests import: lang, ghc-version-support, os-support @@ -246,8 +246,8 @@ test-suite plutus-benchmark-lists-tests , base >=4.9 && <5 , lists-internal , plutus-benchmark-common - , plutus-core:plutus-core-testlib ^>=1.34 - , plutus-tx:plutus-tx-testlib ^>=1.34 + , plutus-core:plutus-core-testlib ^>=1.35 + , plutus-tx:plutus-tx-testlib ^>=1.35 , tasty , tasty-quickcheck @@ -268,8 +268,8 @@ benchmark validation , flat ^>=0.6 , optparse-applicative , plutus-benchmark-common - , plutus-core ^>=1.34 - , plutus-ledger-api ^>=1.34 + , plutus-core ^>=1.35 + , plutus-ledger-api ^>=1.35 ---------------- validation-decode ---------------- @@ -289,8 +289,8 @@ benchmark validation-decode , flat ^>=0.6 , optparse-applicative , plutus-benchmark-common - , plutus-core ^>=1.34 - , plutus-ledger-api ^>=1.34 + , plutus-core ^>=1.35 + , plutus-ledger-api ^>=1.35 ---------------- validation-full ---------------- @@ -310,8 +310,8 @@ benchmark validation-full , flat ^>=0.6 , optparse-applicative , plutus-benchmark-common - , plutus-core ^>=1.34 - , plutus-ledger-api ^>=1.34 + , plutus-core ^>=1.35 + , plutus-ledger-api ^>=1.35 ---------------- Cek cost model calibration ---------------- @@ -327,10 +327,10 @@ benchmark cek-calibration , lens , mtl , plutus-benchmark-common - , plutus-core ^>=1.34 - , plutus-ledger-api ^>=1.34 - , plutus-tx ^>=1.34 - , plutus-tx-plugin ^>=1.34 + , plutus-core ^>=1.35 + , plutus-ledger-api ^>=1.35 + , plutus-tx ^>=1.35 + , plutus-tx-plugin ^>=1.35 ---------------- Signature verification throughput ---------------- @@ -346,9 +346,9 @@ executable ed25519-costs , cardano-crypto-class , hedgehog , plutus-benchmark-common - , plutus-core ^>=1.34 - , plutus-tx ^>=1.34 - , plutus-tx-plugin ^>=1.34 + , plutus-core ^>=1.35 + , plutus-tx ^>=1.35 + , plutus-tx-plugin ^>=1.35 -- Calculate the predicted costs of sequences of ed25519 signature verification -- operations and compare them with a golden file. @@ -365,9 +365,9 @@ test-suite ed25519-costs-test , cardano-crypto-class , hedgehog , plutus-benchmark-common - , plutus-core:{plutus-core, plutus-core-testlib} ^>=1.34 - , plutus-tx ^>=1.34 - , plutus-tx-plugin ^>=1.34 + , plutus-core:{plutus-core, plutus-core-testlib} ^>=1.35 + , plutus-tx ^>=1.35 + , plutus-tx-plugin ^>=1.35 ---------------- BLS12-381 experiments ---------------- @@ -385,10 +385,10 @@ library bls12-381lib-internal , bytestring , hedgehog , plutus-benchmark-common - , plutus-core ^>=1.34 - , plutus-ledger-api ^>=1.34 - , plutus-tx ^>=1.34 - , plutus-tx-plugin ^>=1.34 + , plutus-core ^>=1.35 + , plutus-ledger-api ^>=1.35 + , plutus-tx ^>=1.35 + , plutus-tx-plugin ^>=1.35 -- Print out predicted costs of various scripts involving BLS12-381 operations executable bls12-381-costs @@ -412,7 +412,7 @@ test-suite bls12-381-costs-test , base >=4.9 && <5 , bls12-381lib-internal , plutus-benchmark-common - , plutus-core:plutus-core-testlib ^>=1.34 + , plutus-core:plutus-core-testlib ^>=1.35 -- Run benchmarks for various scripts involving BLS12-381 operations benchmark bls12-381-benchmarks @@ -426,8 +426,8 @@ benchmark bls12-381-benchmarks , bytestring , criterion >=1.5.9.0 , plutus-benchmark-common - , plutus-ledger-api ^>=1.34 - , plutus-tx ^>=1.34 + , plutus-ledger-api ^>=1.35 + , plutus-tx ^>=1.35 ---------------- script contexts ---------------- @@ -440,9 +440,9 @@ library script-contexts-internal build-depends: , base >=4.9 && <5 - , plutus-ledger-api ^>=1.34 - , plutus-tx ^>=1.34 - , plutus-tx-plugin ^>=1.34 + , plutus-ledger-api ^>=1.35 + , plutus-tx ^>=1.35 + , plutus-tx-plugin ^>=1.35 test-suite plutus-benchmark-script-contexts-tests import: lang, ghc-version-support, os-support @@ -454,8 +454,8 @@ test-suite plutus-benchmark-script-contexts-tests build-depends: , base >=4.9 && <5 , plutus-benchmark-common - , plutus-core:{plutus-core, plutus-core-testlib} ^>=1.34 - , plutus-tx:plutus-tx-testlib ^>=1.34 + , plutus-core:{plutus-core, plutus-core-testlib} ^>=1.35 + , plutus-tx:plutus-tx-testlib ^>=1.35 , script-contexts-internal , tasty , tasty-hunit @@ -484,10 +484,10 @@ library marlowe-internal , mtl , newtype-generics , plutus-benchmark-common - , plutus-core:{plutus-core, plutus-core-execlib} ^>=1.34 - , plutus-ledger-api ^>=1.34 - , plutus-tx ^>=1.34 - , plutus-tx-plugin ^>=1.34 + , plutus-core:{plutus-core, plutus-core-execlib} ^>=1.35 + , plutus-ledger-api ^>=1.35 + , plutus-tx ^>=1.35 + , plutus-tx-plugin ^>=1.35 , serialise executable marlowe-validators @@ -507,8 +507,8 @@ executable marlowe-validators , cardano-binary , marlowe-internal , plutus-benchmark-common - , plutus-ledger-api ^>=1.34 - , plutus-tx ^>=1.34 + , plutus-ledger-api ^>=1.35 + , plutus-tx ^>=1.35 , serialise benchmark marlowe @@ -522,8 +522,8 @@ benchmark marlowe , criterion , marlowe-internal , plutus-benchmark-common - , plutus-ledger-api ^>=1.34 - , plutus-tx ^>=1.34 + , plutus-ledger-api ^>=1.35 + , plutus-tx ^>=1.35 test-suite plutus-benchmark-marlowe-tests import: lang, ghc-version-support, os-support @@ -535,9 +535,9 @@ test-suite plutus-benchmark-marlowe-tests build-depends: , base >=4.9 && <5 , marlowe-internal - , plutus-core:{plutus-core, plutus-core-testlib} ^>=1.34 - , plutus-ledger-api ^>=1.34 - , plutus-tx:{plutus-tx, plutus-tx-testlib} ^>=1.34 + , plutus-core:{plutus-core, plutus-core-testlib} ^>=1.35 + , plutus-ledger-api ^>=1.35 + , plutus-tx:{plutus-tx, plutus-tx-testlib} ^>=1.35 , tasty ---------------- agda evaluators ---------------- @@ -551,7 +551,7 @@ library agda-internal build-depends: , base >=4.9 && <5 , criterion - , plutus-core ^>=1.34 + , plutus-core ^>=1.35 , plutus-metatheory benchmark validation-agda-cek @@ -571,7 +571,7 @@ benchmark validation-agda-cek , flat ^>=0.6 , optparse-applicative , plutus-benchmark-common - , plutus-core ^>=1.34 + , plutus-core ^>=1.35 benchmark nofib-agda-cek import: lang, ghc-version-support, os-support @@ -598,8 +598,8 @@ benchmark marlowe-agda-cek , criterion , marlowe-internal , plutus-benchmark-common - , plutus-ledger-api ^>=1.34 - , plutus-tx ^>=1.34 + , plutus-ledger-api ^>=1.35 + , plutus-tx ^>=1.35 -------------------- bitwise----------------------- @@ -615,8 +615,8 @@ library bitwise-internal build-depends: , base - , plutus-tx ^>=1.34 - , plutus-tx-plugin ^>=1.34 + , plutus-tx ^>=1.35 + , plutus-tx-plugin ^>=1.35 test-suite bitwise-test import: lang, ghc-version-support, os-support @@ -628,8 +628,8 @@ test-suite bitwise-test , bitwise-internal , cryptohash-sha512 , ed25519 - , plutus-core:plutus-core-testlib ^>=1.34 - , plutus-tx:{plutus-tx, plutus-tx-testlib} ^>=1.34 + , plutus-core:plutus-core-testlib ^>=1.35 + , plutus-tx:{plutus-tx, plutus-tx-testlib} ^>=1.35 , tasty , tasty-hunit @@ -643,4 +643,4 @@ benchmark bitwise-bench , bitwise-internal , criterion , plutus-benchmark-common - , plutus-tx ^>=1.34 + , plutus-tx ^>=1.35 diff --git a/plutus-conformance/plutus-conformance.cabal b/plutus-conformance/plutus-conformance.cabal index f1d1cac2144..7ba6f3bea2b 100644 --- a/plutus-conformance/plutus-conformance.cabal +++ b/plutus-conformance/plutus-conformance.cabal @@ -52,7 +52,7 @@ library , base , directory , filepath - , plutus-core:{plutus-core, plutus-core-testlib} ^>=1.34 + , plutus-core:{plutus-core, plutus-core-testlib} ^>=1.35 , tasty , tasty-expected-failure , tasty-golden @@ -75,7 +75,7 @@ test-suite haskell-conformance build-depends: , base >=4.9 && <5 , plutus-conformance - , plutus-core ^>=1.34 + , plutus-core ^>=1.35 test-suite haskell-steppable-conformance import: lang, os-support @@ -88,7 +88,7 @@ test-suite haskell-steppable-conformance , base >=4.9 && <5 , lens , plutus-conformance - , plutus-core ^>=1.34 + , plutus-core ^>=1.35 test-suite agda-conformance import: lang, os-support @@ -101,6 +101,6 @@ test-suite agda-conformance , aeson , base >=4.9 && <5 , plutus-conformance - , plutus-core ^>=1.34 + , plutus-core ^>=1.35 , plutus-metatheory , transformers diff --git a/plutus-core/CHANGELOG.md b/plutus-core/CHANGELOG.md index 2f3787a2781..33dde00b72e 100644 --- a/plutus-core/CHANGELOG.md +++ b/plutus-core/CHANGELOG.md @@ -1,4 +1,19 @@ + +# 1.35.0.0 — 2024-10-04 + +## Removed + +- Removed `PlutusIR.Core.Instance.Pretty.Readable.PrettyPir`. + Use `PlutusCore.Pretty.Readable.PrettyReadable` instead. + +## Changed + +- Renamed `PlutusIR.Core.Instance.Pretty.Readable.prettyPirReadable` + to `PlutusCore.Pretty.Readable.prettyReadable`. +- Renamed `PlutusIR.Core.Instance.Pretty.Readable.prettyPirReadableSimple` + to `PlutusCore.Pretty.Readable.prettyReadableSimple`. + # 1.34.1.0 — 2024-09-14 diff --git a/plutus-core/changelog.d/20240924_105256_unsafeFixIO_pretty.md b/plutus-core/changelog.d/20240924_105256_unsafeFixIO_pretty.md deleted file mode 100644 index 228e05ffcc4..00000000000 --- a/plutus-core/changelog.d/20240924_105256_unsafeFixIO_pretty.md +++ /dev/null @@ -1,12 +0,0 @@ - -### Removed - -- Removed `PlutusIR.Core.Instance.Pretty.Readable.PrettyPir`. - Use `PlutusCore.Pretty.Readable.PrettyReadable` instead. - -### Changed - -- Renamed `PlutusIR.Core.Instance.Pretty.Readable.prettyPirReadable` - to `PlutusCore.Pretty.Readable.prettyReadable`. -- Renamed `PlutusIR.Core.Instance.Pretty.Readable.prettyPirReadableSimple` - to `PlutusCore.Pretty.Readable.prettyReadableSimple`. diff --git a/plutus-core/plutus-core.cabal b/plutus-core/plutus-core.cabal index 9247350c61d..a05fb74be02 100644 --- a/plutus-core/plutus-core.cabal +++ b/plutus-core/plutus-core.cabal @@ -1,6 +1,6 @@ cabal-version: 3.0 name: plutus-core -version: 1.34.1.0 +version: 1.35.0.0 license: Apache-2.0 license-files: LICENSE @@ -322,7 +322,7 @@ library , nothunks ^>=0.2 , parser-combinators >=0.4.0 , prettyprinter >=1.1.0.1 - , prettyprinter-configurable ^>=1.34 + , prettyprinter-configurable ^>=1.35 , primitive , profunctors , recursion-schemes @@ -385,7 +385,7 @@ test-suite plutus-core-test , hex-text , mmorph , mtl - , plutus-core:{plutus-core, plutus-core-testlib} ^>=1.34 + , plutus-core:{plutus-core, plutus-core-testlib} ^>=1.35 , prettyprinter , serialise , tasty @@ -449,7 +449,7 @@ test-suite untyped-plutus-core-test , hedgehog , lens , mtl - , plutus-core:{plutus-core, plutus-core-testlib} ^>=1.34 + , plutus-core:{plutus-core, plutus-core-testlib} ^>=1.35 , pretty-show , prettyprinter , QuickCheck @@ -554,7 +554,7 @@ library plutus-ir , mtl , multiset , parser-combinators >=0.4.0 - , plutus-core ^>=1.34 + , plutus-core ^>=1.35 , prettyprinter >=1.1.0.1 , profunctors , semigroupoids @@ -623,7 +623,7 @@ test-suite plutus-ir-test , hedgehog , lens , mtl - , plutus-core:{plutus-core, plutus-core-testlib, plutus-ir} ^>=1.34 + , plutus-core:{plutus-core, plutus-core-testlib, plutus-ir} ^>=1.35 , QuickCheck , serialise , tasty @@ -686,7 +686,7 @@ executable plutus , microlens-th ^>=0.4 , mono-traversable , mtl - , plutus-core:{plutus-core, plutus-ir} ^>=1.34 + , plutus-core:{plutus-core, plutus-ir} ^>=1.35 , prettyprinter , primitive , serialise @@ -726,7 +726,7 @@ library plutus-core-execlib , monoidal-containers , mtl , optparse-applicative - , plutus-core:{plutus-core, plutus-core-testlib, plutus-ir} ^>=1.34 + , plutus-core:{plutus-core, plutus-core-testlib, plutus-ir} ^>=1.35 , prettyprinter , text @@ -791,9 +791,9 @@ library plutus-core-testlib , mmorph , mtl , multiset - , plutus-core:{plutus-core, plutus-ir} ^>=1.34 + , plutus-core:{plutus-core, plutus-ir} ^>=1.35 , prettyprinter >=1.1.0.1 - , prettyprinter-configurable ^>=1.34 + , prettyprinter-configurable ^>=1.35 , QuickCheck , quickcheck-instances , quickcheck-transformer @@ -825,7 +825,7 @@ library plutus-ir-cert exposed-modules: PlutusIR.Certifier build-depends: , base - , plutus-core:{plutus-core, plutus-ir} ^>=1.34 + , plutus-core:{plutus-core, plutus-ir} ^>=1.35 ---------------------------------------------- -- profiling @@ -903,7 +903,7 @@ executable cost-model-budgeting-bench , hedgehog , mtl , optparse-applicative - , plutus-core ^>=1.34 + , plutus-core ^>=1.35 , QuickCheck , quickcheck-instances , random @@ -941,7 +941,7 @@ executable generate-cost-model , directory , inline-r >=1.0.1 , optparse-applicative - , plutus-core ^>=1.34 + , plutus-core ^>=1.35 , text -- , exceptions @@ -985,7 +985,7 @@ benchmark cost-model-test , hedgehog , inline-r >=1.0.1 , mmorph - , plutus-core ^>=1.34 + , plutus-core ^>=1.35 , template-haskell , text @@ -1002,7 +1002,7 @@ executable print-cost-model , aeson , base >=4.9 && <5 , bytestring - , plutus-core ^>=1.34 + , plutus-core ^>=1.35 ---------------------------------------------- -- satint diff --git a/plutus-executables/plutus-executables.cabal b/plutus-executables/plutus-executables.cabal index 8914d3a3ba0..4f262be744a 100644 --- a/plutus-executables/plutus-executables.cabal +++ b/plutus-executables/plutus-executables.cabal @@ -62,7 +62,7 @@ executable pir , lens , megaparsec , optparse-applicative - , plutus-core:{plutus-core, plutus-core-execlib, plutus-ir} ^>=1.34 + , plutus-core:{plutus-core, plutus-core-execlib, plutus-ir} ^>=1.35 , text , transformers @@ -75,7 +75,7 @@ executable plc , bytestring , flat ^>=0.6 , optparse-applicative - , plutus-core:{plutus-core, plutus-core-execlib} ^>=1.34 + , plutus-core:{plutus-core, plutus-core-execlib} ^>=1.35 executable uplc import: lang, os-support @@ -90,7 +90,7 @@ executable uplc , haskeline , mtl , optparse-applicative - , plutus-core:{plutus-core, plutus-core-execlib} ^>=1.34 + , plutus-core:{plutus-core, plutus-core-execlib} ^>=1.35 , plutus-metatheory , prettyprinter , split @@ -120,7 +120,7 @@ test-suite test-detailed , base , directory , extra - , plutus-core ^>=1.34 + , plutus-core ^>=1.35 , plutus-metatheory , process , tasty diff --git a/plutus-ledger-api/plutus-ledger-api.cabal b/plutus-ledger-api/plutus-ledger-api.cabal index c7047605adb..e57a3f0aa45 100644 --- a/plutus-ledger-api/plutus-ledger-api.cabal +++ b/plutus-ledger-api/plutus-ledger-api.cabal @@ -1,6 +1,6 @@ cabal-version: 3.0 name: plutus-ledger-api -version: 1.34.1.0 +version: 1.35.0.0 license: Apache-2.0 license-files: LICENSE @@ -109,8 +109,8 @@ library , lens , mtl , nothunks - , plutus-core ^>=1.34 - , plutus-tx ^>=1.34 + , plutus-core ^>=1.35 + , plutus-tx ^>=1.35 , prettyprinter , serialise , tagged @@ -141,9 +141,9 @@ library plutus-ledger-api-testlib , base64-bytestring , bytestring , containers - , plutus-core:{plutus-core, plutus-core-testlib} ^>=1.34 - , plutus-ledger-api ^>=1.34 - , plutus-tx ^>=1.34 + , plutus-core:{plutus-core, plutus-core-testlib} ^>=1.35 + , plutus-ledger-api ^>=1.35 + , plutus-tx ^>=1.35 , prettyprinter , QuickCheck , serialise @@ -180,9 +180,9 @@ test-suite plutus-ledger-api-test , lens , mtl , nothunks - , plutus-core:{plutus-core, plutus-core-testlib} ^>=1.34 - , plutus-ledger-api:{plutus-ledger-api, plutus-ledger-api-testlib} ^>=1.34 - , plutus-tx:{plutus-tx, plutus-tx-testlib} ^>=1.34 + , plutus-core:{plutus-core, plutus-core-testlib} ^>=1.35 + , plutus-ledger-api:{plutus-ledger-api, plutus-ledger-api-testlib} ^>=1.35 + , plutus-tx:{plutus-tx, plutus-tx-testlib} ^>=1.35 , prettyprinter , serialise , tasty @@ -219,10 +219,10 @@ test-suite plutus-ledger-api-plugin-test , containers , lens , mtl - , plutus-core:{plutus-core, plutus-core-testlib} ^>=1.34 - , plutus-ledger-api:{plutus-ledger-api, plutus-ledger-api-testlib} ^>=1.34 - , plutus-tx-plugin ^>=1.34 - , plutus-tx:{plutus-tx, plutus-tx-testlib} ^>=1.34 + , plutus-core:{plutus-core, plutus-core-testlib} ^>=1.35 + , plutus-ledger-api:{plutus-ledger-api, plutus-ledger-api-testlib} ^>=1.35 + , plutus-tx-plugin ^>=1.35 + , plutus-tx:{plutus-tx, plutus-tx-testlib} ^>=1.35 , prettyprinter , tasty , tasty-hunit @@ -241,8 +241,8 @@ executable test-onchain-evaluation , extra , filepath , mtl - , plutus-core ^>=1.34 - , plutus-ledger-api:{plutus-ledger-api, plutus-ledger-api-testlib} ^>=1.34 + , plutus-core ^>=1.35 + , plutus-ledger-api:{plutus-ledger-api, plutus-ledger-api-testlib} ^>=1.35 , serialise , tasty , tasty-hunit @@ -261,9 +261,9 @@ executable analyse-script-events , filepath , lens , mtl - , plutus-core ^>=1.34 - , plutus-ledger-api:{plutus-ledger-api, plutus-ledger-api-testlib} ^>=1.34 - , plutus-tx ^>=1.34 + , plutus-core ^>=1.35 + , plutus-ledger-api:{plutus-ledger-api, plutus-ledger-api-testlib} ^>=1.35 + , plutus-tx ^>=1.35 , primitive , serialise diff --git a/plutus-metatheory/plutus-metatheory.cabal b/plutus-metatheory/plutus-metatheory.cabal index 9a4ed274f0e..57d21361436 100644 --- a/plutus-metatheory/plutus-metatheory.cabal +++ b/plutus-metatheory/plutus-metatheory.cabal @@ -67,7 +67,7 @@ library , megaparsec , memory , optparse-applicative - , plutus-core:{plutus-core, plutus-core-execlib} ^>=1.34 + , plutus-core:{plutus-core, plutus-core-execlib} ^>=1.35 , process , text , transformers @@ -599,7 +599,7 @@ test-suite test-NEAT , base , lazy-search , mtl - , plutus-core:{plutus-core, plutus-core-testlib} ^>=1.34 + , plutus-core:{plutus-core, plutus-core-testlib} ^>=1.35 , plutus-metatheory , size-based , Stream diff --git a/plutus-tx-plugin/plutus-tx-plugin.cabal b/plutus-tx-plugin/plutus-tx-plugin.cabal index f43de8bb770..b6b3c8dcc25 100644 --- a/plutus-tx-plugin/plutus-tx-plugin.cabal +++ b/plutus-tx-plugin/plutus-tx-plugin.cabal @@ -1,6 +1,6 @@ cabal-version: 3.0 name: plutus-tx-plugin -version: 1.34.1.0 +version: 1.35.0.0 license: Apache-2.0 license-files: LICENSE @@ -83,8 +83,8 @@ library , ghc , lens , mtl - , plutus-core:{plutus-core, plutus-ir} ^>=1.34 - , plutus-tx ^>=1.34 + , plutus-core:{plutus-core, plutus-ir} ^>=1.35 + , plutus-tx ^>=1.35 , prettyprinter , template-haskell , text @@ -100,7 +100,7 @@ executable gen-plugin-opts-doc , containers , lens , optparse-applicative - , plutus-tx-plugin ^>=1.34 + , plutus-tx-plugin ^>=1.35 , prettyprinter , PyF >=0.11.1.0 , text @@ -172,10 +172,10 @@ test-suite plutus-tx-plugin-tests , hedgehog , lens , mtl - , plutus-core:{plutus-core, plutus-core-testlib} ^>=1.34 - , plutus-tx-plugin ^>=1.34 + , plutus-core:{plutus-core, plutus-core-testlib} ^>=1.35 + , plutus-tx-plugin ^>=1.35 , plutus-tx-test-util - , plutus-tx:{plutus-tx, plutus-tx-testlib} ^>=1.34 + , plutus-tx:{plutus-tx, plutus-tx-testlib} ^>=1.35 , serialise , tasty , tasty-golden @@ -204,9 +204,9 @@ test-suite size hs-source-dirs: test/size build-depends: , base >=4.9 && <5.0 - , plutus-core:{plutus-core, plutus-core-testlib} ^>=1.34 - , plutus-tx-plugin ^>=1.34 - , plutus-tx:{plutus-tx, plutus-tx-testlib} ^>=1.34 + , plutus-core:{plutus-core, plutus-core-testlib} ^>=1.35 + , plutus-tx-plugin ^>=1.35 + , plutus-tx:{plutus-tx, plutus-tx-testlib} ^>=1.35 , tagged , tasty diff --git a/plutus-tx-test-util/plutus-tx-test-util.cabal b/plutus-tx-test-util/plutus-tx-test-util.cabal index 72afc0d9ed7..a8fb527f722 100644 --- a/plutus-tx-test-util/plutus-tx-test-util.cabal +++ b/plutus-tx-test-util/plutus-tx-test-util.cabal @@ -71,8 +71,8 @@ library -- other-extensions: build-depends: , base >=4.9 && <5 - , plutus-core ^>=1.34 - , plutus-tx ^>=1.34 + , plutus-core ^>=1.35 + , plutus-tx ^>=1.35 , text hs-source-dirs: testlib diff --git a/plutus-tx/plutus-tx.cabal b/plutus-tx/plutus-tx.cabal index 78a5854d81a..df8acc7ebba 100644 --- a/plutus-tx/plutus-tx.cabal +++ b/plutus-tx/plutus-tx.cabal @@ -1,6 +1,6 @@ cabal-version: 3.0 name: plutus-tx -version: 1.34.1.0 +version: 1.35.0.0 license: Apache-2.0 license-files: LICENSE @@ -132,7 +132,7 @@ library , lens , memory , mtl - , plutus-core:{plutus-core, plutus-ir} ^>=1.34 + , plutus-core:{plutus-core, plutus-ir} ^>=1.35 , prettyprinter , serialise , template-haskell >=2.13.0.0 @@ -165,8 +165,8 @@ library plutus-tx-testlib , hedgehog , lens , mtl - , plutus-core:{plutus-core, plutus-core-testlib, plutus-ir} ^>=1.34 - , plutus-tx ^>=1.34 + , plutus-core:{plutus-core, plutus-core-testlib, plutus-ir} ^>=1.35 + , plutus-tx ^>=1.35 , prettyprinter , tagged , tasty @@ -214,8 +214,8 @@ test-suite plutus-tx-test , hedgehog-fn , lens , mtl - , plutus-core:{plutus-core, plutus-core-testlib} ^>=1.34 - , plutus-tx ^>=1.34 + , plutus-core:{plutus-core, plutus-core-testlib} ^>=1.35 + , plutus-tx ^>=1.35 , pretty-show , serialise , tasty diff --git a/prettyprinter-configurable/prettyprinter-configurable.cabal b/prettyprinter-configurable/prettyprinter-configurable.cabal index 196e10f50ec..b2416d9caef 100644 --- a/prettyprinter-configurable/prettyprinter-configurable.cabal +++ b/prettyprinter-configurable/prettyprinter-configurable.cabal @@ -1,6 +1,6 @@ cabal-version: 2.4 name: prettyprinter-configurable -version: 1.34.1.0 +version: 1.35.0.0 synopsis: Configurable pretty-printing homepage: https://github.com/input-output-hk/plutus/tree/master/prettyprinter-configurable/ @@ -76,7 +76,7 @@ test-suite prettyprinter-configurable-test , base >=4.9 && <5 , megaparsec , parser-combinators - , prettyprinter-configurable ^>=1.34 + , prettyprinter-configurable ^>=1.35 , QuickCheck , quickcheck-text , tasty From 28723b80978840274c2ebb50a450e30435b2a33f Mon Sep 17 00:00:00 2001 From: effectfully Date: Tue, 8 Oct 2024 11:06:04 +0200 Subject: [PATCH 05/70] [Meta] Add Slack and Discord to 'TRIAGE.md' (#6542) --- doc/TRIAGE.md | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/doc/TRIAGE.md b/doc/TRIAGE.md index fef7b98db5c..b339b749e49 100644 --- a/doc/TRIAGE.md +++ b/doc/TRIAGE.md @@ -2,7 +2,13 @@ ## Preface -This document elaborates on the triage process that we use to prioritize and resolve incoming requests, bug reports, questions -- anything relevant to the contents of this repo that the reporter wants to bring to our attention. The goal is to make sure that every issue or pull request opened on GitHub gets evaluated, classified, put into the queue and eventually resolved. +This document elaborates on the triage process that we use to prioritize and resolve incoming requests, bug reports, questions -- anything relevant to the contents of this repo that the reporter wants to bring to our attention. The goal is to make sure that every report gets evaluated, classified, put into the queue and eventually resolved. + +The triage person is responsible for monitoring the following places: + +- GitHub [issues](https://github.com/IntersectMBO/plutus/issues) and [PRs](https://github.com/IntersectMBO/plutus/pulls) +- the [#plutus](https://input-output-rnd.slack.com/archives/C21UF2WVC) Slack channel +- the [#plutus-working-group](https://discord.com/channels/1136727663583698984/1239888614796820531) Discord channel ## Why @@ -144,5 +150,5 @@ is:issue is:open assignee:@me sort:updated-asc Issues that don't have an assignee and may require attention: ``` -is:issue is:open no:assignee -label:"Internal" -label:"Low priority" -label:"status: needs info from the reporter" +is:issue is:open no:assignee -label:"Low priority" -label:"Internal" -label:"Objective" -label:"status: needs info from the reporter" ``` From 9c09fa483a8293fb3e7ae5cd2c29880db48688ce Mon Sep 17 00:00:00 2001 From: zeme-wana <15709674+zeme-wana@users.noreply.github.com> Date: Tue, 8 Oct 2024 11:31:07 +0200 Subject: [PATCH 06/70] Improve Slack Workflow (#6534) --- .github/workflows/broken-links.yml | 1 + .github/workflows/slack-message-broker.yml | 57 ++++++++-------------- .github/workflows/tests.sh | 9 ---- .gitignore | 1 + 4 files changed, 23 insertions(+), 45 deletions(-) delete mode 100644 .github/workflows/tests.sh diff --git a/.github/workflows/broken-links.yml b/.github/workflows/broken-links.yml index 536a8249a2d..20385ef0ecf 100644 --- a/.github/workflows/broken-links.yml +++ b/.github/workflows/broken-links.yml @@ -4,6 +4,7 @@ name: "🔗 Broken Links" on: workflow_dispatch: # Or manually dispatch the job + pull_request: push: branches: master diff --git a/.github/workflows/slack-message-broker.yml b/.github/workflows/slack-message-broker.yml index c3fbc4cc8f5..51737d75ced 100644 --- a/.github/workflows/slack-message-broker.yml +++ b/.github/workflows/slack-message-broker.yml @@ -1,21 +1,10 @@ -# This workflow is triggered whenever any of the workflows listed in on.workflow_run.workflows -# has been cancelled or has failed, and will send a message to the plutus-ci channel. +# This workflow sends a message to the plutus-ci channel whenever a status check. name: "📮 Slack Message Broker" on: - workflow_dispatch: # Only used for testing - workflow_run: - types: [completed, requested, in_progress] - workflows: - - "🗽 Cardano Constitution Tests" - - "💰 Cost Model Benchmark" - - "🦕 Docusaurus Site" - - "📜 Haddock Site" - - "🩺 Longitudinal Benchmark" - - "🔮 Metatheory Site" - - "🌘 Nightly Testsuite" - - "📝 Papers & Specs" + check_run: + types: [completed] jobs: Send: @@ -26,32 +15,27 @@ jobs: id: prepare-slack-message with: script: | - const name = "${{ github.event.workflow_run.name }}"; - const url = "${{ github.event.workflow_run.html_url }}"; - const status = "${{ github.event.workflow_run.status }}"; - const conclusion = "${{ github.event.workflow_run.conclusion }}"; - const failure_conclusions = [ "failure", "null", "cancelled", "action_required", "neutral", "timed_out" ]; - let message = ""; - if (conclusion == "") { - message = `${name} \`${status}\` ⏳ <${url}|View Logs>`; - } - else if (conclusion == "success") { - message = `${name} \`${conclusion}\` ✅ <${url}|View Logs>`; - } - else if (conclusion == "skipped") { - message = `${name} \`${conclusion}\` ⏩ <${url}|View Logs>`; - } - else if (failure_conclusions.includes(conclusion)) { - message = `${name} \`${conclusion}\` ❌ <${url}|View Logs> @channel`; - } - else { - message = `${name} \`${conclusion}\` ⁉️ <${url}|View Logs> Unknown Conclusion @channel`; - } - console.log(message); + console.log(${{ toJson(github.event) }}); + + const sender = "${{ github.event.sender.login }}"; + const name = "${{ github.event.check_run.name }}"; + const status = "${{ github.event.check_run.status }}"; + const conclusion = "${{ github.event.check_run.conclusion }}"; + const url = "${{ github.event.check_run.html_url }}"; + + let message = `${name} \`${conclusion}\` <${url}|View Logs> @${sender}`; + let shouldSendMessage = conclusion == "failure"; + + console.log(`message: ${message}`); + console.log(`shouldSendMessage: ${shouldSendMessage}`); + core.setOutput("message", message); + core.setOutput("shouldSendMessage", shouldSendMessage); + - name: Notify Slack uses: slackapi/slack-github-action@v1.27.0 + if: ${{ steps.prepare-slack-message.outputs.shouldSendMessage == 'true' }} env: SLACK_BOT_TOKEN: ${{ secrets.SLACK_BOT_TOKEN }} with: @@ -71,3 +55,4 @@ jobs: } + diff --git a/.github/workflows/tests.sh b/.github/workflows/tests.sh deleted file mode 100644 index 8ec5aa5750f..00000000000 --- a/.github/workflows/tests.sh +++ /dev/null @@ -1,9 +0,0 @@ -# How to test workflow tests using the act tool -# 0. Make sure your docker daemon is running -# 1. Inside the shell, run: act -W .github/workflows/slack-message-broker.yml --container-architecture linux/amd64 -e test-event.json -# Where test-event.json looks a little like this: -{ - "worflow_run": { - "name": "" - } -} diff --git a/.gitignore b/.gitignore index e51e4d9b553..217d94853ee 100644 --- a/.gitignore +++ b/.gitignore @@ -104,6 +104,7 @@ node.sock secrets/*/.gpg-id ghcid.txt haddock +.private linkchecker-out.txt plutus-pab/test-node/testnet/db plutus-pab/test-node/alonzo-purple/db From ff566b380f28b080ca56dac73ecea58d06887716 Mon Sep 17 00:00:00 2001 From: zeme-wana <15709674+zeme-wana@users.noreply.github.com> Date: Tue, 8 Oct 2024 14:56:24 +0200 Subject: [PATCH 07/70] Make Slack Message Broker Workflow Trigger on Status Events (#6544) --- .github/workflows/slack-message-broker.yml | 48 +++++++++++++++++----- 1 file changed, 38 insertions(+), 10 deletions(-) diff --git a/.github/workflows/slack-message-broker.yml b/.github/workflows/slack-message-broker.yml index 51737d75ced..dd30c7403fe 100644 --- a/.github/workflows/slack-message-broker.yml +++ b/.github/workflows/slack-message-broker.yml @@ -3,9 +3,8 @@ name: "📮 Slack Message Broker" on: - check_run: - types: [completed] - + status: + jobs: Send: runs-on: [ubuntu-latest] @@ -17,14 +16,43 @@ jobs: script: | console.log(${{ toJson(github.event) }}); - const sender = "${{ github.event.sender.login }}"; - const name = "${{ github.event.check_run.name }}"; - const status = "${{ github.event.check_run.status }}"; - const conclusion = "${{ github.event.check_run.conclusion }}"; - const url = "${{ github.event.check_run.html_url }}"; + const state = github.event.state; + const statusContext = github.event.context; + const contextDescription = github.event.description; + const targetUrl = github.event.target_url + const commitUrl = github.event.commit.html_url; + const commitSha = github.event.commit.sha.slice(0, 9); + const senderLogin = github.event.sender.login; + + function getSlackMemberToBeNotified() { + const slackMemberIds = { + "zeme-wana": "U03HGDNDRKR", + "effecfully": "UBH8K0ZU2", + "kwxm": "UCF4SL4BT", + "Unisay": "U02V796524S", + "ramsay-t": "U05T49F9FV1", + "ana-pantilie": "U05V2854W86", + "zliu41": "U03BP2HTKDK", + "bezirg": "UQ1LUSR8B" + }; + if (senderLogin in slackMemberIds) { + return `<@${slackMemberIds[senderLogin]}>`; + } else { + return "@here"; + } + } - let message = `${name} \`${conclusion}\` <${url}|View Logs> @${sender}`; - let shouldSendMessage = conclusion == "failure"; + let message; + let shouldSendMessage; + + if (["failure", "error"].includes(state)) { + message = `🔴 ${getSlackMemberToBeNotified()} your commit <${commitUrl}|\`${commitSha}\`> failed <${targetUrl}|${statusContext}>.` + shouldSendMessage = true; + } + else { + message = `🟢 ${getSlackMemberToBeNotified()} your commit <${commitUrl}|\`${commitSha}\`> passed <${targetUrl}|${statusContext}>.` + shouldSendMessage = false; + } console.log(`message: ${message}`); console.log(`shouldSendMessage: ${shouldSendMessage}`); From a44dd0592ae5bf97ede548d471d1cd41d344802c Mon Sep 17 00:00:00 2001 From: zeme-wana <15709674+zeme-wana@users.noreply.github.com> Date: Tue, 8 Oct 2024 15:14:25 +0200 Subject: [PATCH 08/70] Remove extra cons character in slack-message-broker.yml (#6545) --- .github/workflows/slack-message-broker.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/slack-message-broker.yml b/.github/workflows/slack-message-broker.yml index dd30c7403fe..fbc62558f1e 100644 --- a/.github/workflows/slack-message-broker.yml +++ b/.github/workflows/slack-message-broker.yml @@ -1,10 +1,11 @@ -# This workflow sends a message to the plutus-ci channel whenever a status check. +# This workflow sends a message to the plutus-ci channel whenever a status check fails, +# and tried to notify the author of the commit that caused the failure. name: "📮 Slack Message Broker" on: - status: - + status + jobs: Send: runs-on: [ubuntu-latest] From 5a7010a353e1642678ba593dceb9ce457b306e02 Mon Sep 17 00:00:00 2001 From: Ziyang Liu Date: Tue, 8 Oct 2024 06:53:15 -0700 Subject: [PATCH 09/70] Merge the "Plutus language changes" into other pages (#6537) --- .../delve-deeper/plutus-language-changes.md | 96 ------------------- doc/docusaurus/docs/glossary.md | 45 +++++++++ .../ledger-language-version.md | 45 ++++++--- 3 files changed, 78 insertions(+), 108 deletions(-) delete mode 100644 doc/docusaurus/docs/delve-deeper/plutus-language-changes.md diff --git a/doc/docusaurus/docs/delve-deeper/plutus-language-changes.md b/doc/docusaurus/docs/delve-deeper/plutus-language-changes.md deleted file mode 100644 index c5bcffdaf31..00000000000 --- a/doc/docusaurus/docs/delve-deeper/plutus-language-changes.md +++ /dev/null @@ -1,96 +0,0 @@ ---- -sidebar_position: 25 ---- - -# Plutus language changes - -## Language versions - -See the documentation on `language versions ` for an explanation of what they are. - -### Plutus V1 - -`PlutusV1` was the initial version of Plutus, introduced in the Alonzo hard fork. - -### Plutus V2 - -`PlutusV2` was introduced in the Vasil hard fork. - -The main changes in `PlutusV2` were to the interface to scripts. -The `ScriptContext` was extended to include the following information: - -- The full "redeemers" structure, which contains all the redeemers used in the transaction -- Reference inputs in the transaction (proposed in [CIP-31](https://cips.cardano.org/cips/cip31/)) -- Inline datums in the transaction (proposed in [CIP-32](https://cips.cardano.org/cips/cip32/)) -- Reference scripts in the transaction (proposed in [CIP-33](https://cips.cardano.org/cips/cip33/)) - -## Examples - -- [Plutus V2 functionalities](https://github.com/IntersectMBO/cardano-node/blob/master/doc/reference/plutus/babbage-script-example.md) -- [How to use reference inputs](https://github.com/perturbing/vasil-tests/blob/main/reference-inputs-cip-31.md) -- [How to use inline datums](https://github.com/perturbing/vasil-tests/blob/main/inline-datums-cip-32.md) -- [How to reference scripts](https://github.com/perturbing/vasil-tests/blob/main/referencing-scripts-cip-33.md) -- [How to use collateral outputs](https://github.com/perturbing/vasil-tests/blob/main/collateral-output-cip-40.md) - -## Built-in functions and types - -Built-in functions and types can be introduced with just a hard fork. -In some cases they are also available only in particular language versions. -This section indicates in which hard fork particular built-ins were introduced, and any language version constraints. - -### Alonzo - -This is when the majority of the built-in types and functions were added to `PlutusV1`. -You can find an enumeration of them in **add cross-reference link** : [plutus-core-spec]. - -### Vasil - -All of the built-in types and functions from `PlutusV1` were added to `PlutusV2`. - -The following built-in function was added to `PlutusV2` only (i.e., it is not available in `PlutusV1`). - -- `serializeData` (proposed in [CIP-42](https://cips.cardano.org/cips/cip42/)) - -### PlutusV3 - -Plutus and cryptography teams at IOG, in collaboration with [MLabs](https://mlabs.city/), continue to develop Plutus capabilities. -Starting with the release of [Cardano node v.8.8.0-pre](https://github.com/IntersectMBO/cardano-node/releases/tag/8.8.0-pre), `PlutusV3` is available on [SanchoNet](https://sancho.network/), introducing the Cardano community to governance features from [CIP-1694](https://cips.cardano.org/cip/CIP-1694#goal) in a controlled testnet environment. - -`PlutusV3` is the new ledger language that enhances Plutus Core's cryptographic capabilities, offering the following benefits for the smart contract developer community: - -- Providing an updated script context that will let users see [CIP-1694](https://cips.cardano.org/cip/CIP-1694#goal) governance-related entities and voting features -- Interoperability between blockchains -- Advanced Plutus primitives -- Well-known and optimal cryptographic algorithms -- Support for porting of smart contracts from Ethereum -- Creating sidechain bridges -- Improving performance by adding a sums of products (SOPs) feature to support the direct encoding of different data types. - -### Sums of products - -`PlutusV3` introduces sums of products - a way of encoding data types that leads to smaller and cheaper scripts compared with [Scott encoding](https://en.wikipedia.org/wiki/Mogensen%E2%80%93Scott_encoding), a common way of encoding data types in Plutus Core. - -The sums of products approach aims to boost script efficiency and improve code generation for Plutus Core compilers. -The changes involve new term constructors for packing fields into constructor values and efficient tag inspection for case branches, potentially running programs 30% faster. -For an in-depth discussion, see [CIP-85](https://cips.cardano.org/cip/CIP-0085). - -### New cryptographic primitives - -`PlutusV3` provides new built-in primitives that expand the language's capabilities. - -- **BLS12-381**: A curve pairing that includes 17 primitives that support cryptographic curves. This is a benefit to sidechain specification implementation and [Mithril](https://iohk.io/en/blog/posts/2023/07/20/mithril-nears-mainnet-release/) integration. -- **Blake2b-224**: A cryptographic hash function for on-chain computation of public-key hashes for the validation of transaction signatures. Supports community projects and contributes to Cardano's versatility. -- **Keccak-256**: A cryptographic hash function that produces a 256-bit (32-byte) hash value, commonly used for secure data verification. Supports Ethereum signature verification within scripts and cross-chain solutions. - -### Bitwise primitives - -PlutusV3 initially brings several new bitwise primitives (with more to come at later stages). -The introduction of [CIP-58](https://cips.cardano.org/cip/CIP-0058) bitwise primitives will enable the following features: - -- Very low-level bit manipulations within Plutus, supporting the ability to execute high-performance data manipulation operations. -- Supporting the implementation of secure and robust cryptographic algorithms within Plutus. -- Facilitating standard, high-performance implementations for conversions between integers and bytestrings. - -`PlutusV3` adds two bitwise primitives: `integerToByteString` and `byteStringToInteger`. -The remaining primitives will be added to `PlutusV3` gradually and will not require a new ledger language. - diff --git a/doc/docusaurus/docs/glossary.md b/doc/docusaurus/docs/glossary.md index 9074a1fa763..e266c59604a 100644 --- a/doc/docusaurus/docs/glossary.md +++ b/doc/docusaurus/docs/glossary.md @@ -45,6 +45,15 @@ See [_The Extended UTXO Model_](https://iohk.io/en/research/library/papers/the-e A guardrail script, sometimes referred to as a constitution script or a proposing script, is a Plutus V3 script used to validate two kinds of governance actions: parameter change and treasury withdrawal. See [Script Purposes](./working-with-scripts/script-purposes.md). +### Inline Datum + +Inline datums are a feature introduced in the Babbage era. +Before babbage, a UTXO could only contain a datum hash, not the datum itself. +To spend such a UTXO, the corresponding datum must be provided in the transaction. +Inline datums allow datums to be directly attached to UTXOs. + +For more details, see [CIP-32](https://cips.cardano.org/cip/CIP-32). + ### Hard Fork A hard fork is an update of the major protocol version, i.e., transitioning the protocol version from `x.y` to `x+1.0`. @@ -144,12 +153,48 @@ A piece of data included in a transaction that serves as an input to a Plutus sc If a smart contract is regarded as a state machine, the redeemer would be the input that ticks the state machine. +### Reference Input + +Reference inputs are a feature introduced in the Babbage era. +A reference input is a UTXO that a transaction can inspect without having to consume it. +Recall that a UTXO can only be consumed once. +Since a UTXO can only be consumed once, reference inputs help avoid the need to keep consuming and recreating similar UTXOs. + +For more details, see [CIP-31](https://cips.cardano.org/cip/CIP-31). + +### Reference Script + +Reference scripts are a feature introduced in the Babbage era. +Before Babbage, a UTXO could not contain scripts, so spending a UTXO with a script address required the script to be included in the transaction. +Reference scripts allow scripts to be attached to UTXOs, which can then be used as reference inputs. +This reduces transaction sizes, and avoids the need to include the same scripts in multiple transactions. + +For more details, see [CIP-33](https://cips.cardano.org/cip/CIP-33). + +### Scott Encoding + +Scott encoding is a method for encoding datatypes in lambda calculus. +The Plutus Tx compiler adopts Scott encoding for Plutus Tx datatypes when compiling to Plutus Core 1.0.0. +When compiling to Plutus Core 1.1.0, sums of products is used instead, which makes scripts smaller and cheaper compared to Scott encoding. +Currently, Plutus V1 and V2 are only compatible with Plutus Core 1.0.0, whereas Plutus V3 is also compatible with Plutus Core 1.1.0. +However, we plan to make all Plutus ledger language versions compatible with all Plutus Core versions in the future. + +For more details, see the [Wikipedia page](https://en.wikipedia.org/wiki/Mogensen%E2%80%93Scott_encoding) on Scott encoding. + ### Script Context An input to a Plutus script created by the ledger. It includes details of the transaction being validated. Additionally, since a transaction may do multiple things, each of which needs to be validated by a separate script, the script context also specifies what exactly the current script is responsible for validating. +### Sums of Products + +Sums of products is an alternative method to Scott encoding for encoding datatypes. +The Plutus Core language supports sums of products since version 1.1.0. +Currently, Plutus Core 1.1.0 is only compatible with Plutus V3, but we plan to make it compatible with Plutus V1 and V2 in the future. + +For more details, see [CIP-85](https://cips.cardano.org/cip/CIP-0085). + ### Typed Plutus Core The typed counterpart of Untyped Plutus Core, and can serve as a low-level IR for compilers targeting Untyped Plutus Core. diff --git a/doc/docusaurus/docs/working-with-scripts/ledger-language-version.md b/doc/docusaurus/docs/working-with-scripts/ledger-language-version.md index 195cc7542e6..46aee599241 100644 --- a/doc/docusaurus/docs/working-with-scripts/ledger-language-version.md +++ b/doc/docusaurus/docs/working-with-scripts/ledger-language-version.md @@ -22,18 +22,20 @@ As a result, The script contexts for Plutus V1, V2 and V3 also have different fi We cannot modify the script context fields of an existing ledger language version once it is published, since it would break existing scripts. In general, a ledger language version cannot be used in a transaction, if the ledger language version was introduced in ledger era A, the transaction uses features in ledger era B, and A is earlier than B. -For instance, Plutus V1 (introduced in the Alonzo era) scripts cannot be used in a transaction which utilizes inline datum (a Babbage era feature); Plutus V2 (introduced in the Babbage era) scripts cannot be used in a transaction that registers a DRep (introduced in the Conway era)[^1]. +For instance, Plutus V1 (introduced in the Alonzo era) scripts cannot be used in a transaction which utilizes inline datums (a Babbage era feature); Plutus V2 (introduced in the Babbage era) scripts cannot be used in a transaction that registers a DRep (introduced in the Conway era)[^1]. -## Plutus V1 and Plutus V2 +## Plutus V1 -Plutus V1 and Plutus V2 scripts have four [script purposes](https://plutus.cardano.intersectmbo.org/haddock/master/plutus-ledger-api/PlutusLedgerApi-V1-Contexts.html#t:ScriptPurpose): spending, minting, certifying, and rewarding[^2]. -The arguments a Plutus V1 or V2 script receives depend on the script purpose. -There is no requirement on the return value of a Plutus V1 and V2 script: script evaluation succeeds as long as the evaluation terminates without error, and the execution budget is not exceeded. +Plutus V1 is the initial ledger language version, enabled at the Alonzo hard fork, a hard fork that introduced the Alonzo era. + +Plutus V1 scripts have four [script purposes](https://plutus.cardano.intersectmbo.org/haddock/master/plutus-ledger-api/PlutusLedgerApi-V1-Contexts.html#t:ScriptPurpose): spending, minting, certifying, and rewarding[^2]. +The arguments a Plutus V1 script receives depend on the script purpose. +There is no requirement on the return value of a Plutus V1 script: script evaluation succeeds as long as the evaluation terminates without error, and the execution budget is not exceeded. ### Spending Scripts -A Plutus V1/V2 spending script receives three arguments corresponding to datum, redeemer and script context. +A Plutus V1 spending script receives three arguments corresponding to datum, redeemer and script context. All arguments are encoded as `BuiltinData`. Thus in Plutus Tx, a spending script has the following type: @@ -49,7 +51,6 @@ myV1SpendingScriptTyped :: MyDatum -> MyRedeemer -> PlutusLedgerApi.V1.ScriptCon ``` where `MyDatum` and `MyRedeemer` are your user-defined Haskell types specific to your contract. -If you are writing a Plutus V2 script, use `PlutusLedgerApi.V2.ScriptContext`. From `myV1SpendingScriptTyped`, you can obtain `BuiltinData -> BuiltinData -> BuiltinData -> any`, and subsequently compile it to UPLC, via @@ -72,11 +73,11 @@ Each call to `unsafeFromBuiltinData` decodes a `BuiltinData` into a value of a H The `check` function takes a `Bool` and returns a `BuiltinUnit`, throwing an error if the input is `False`. It is needed because returning `False` does not cause the validation to fail; to fail the validation, an error needs to be thrown. -In this example the script happens to return `BuiltinUnit`, but this is not a requirement for Plutus V1 or V2. +In this example the script happens to return `BuiltinUnit`, but this is not a requirement for Plutus V1. ### Minting, Certifying and Rewarding Scripts -Unlike spending scripts, Plutus V1 and V2 scripts for minting, certifying and rewarding purposes take one fewer argument: there is no datum argument. +Unlike spending scripts, Plutus V1 scripts for minting, certifying and rewarding purposes take one fewer argument: there is no datum argument. Thus in Plutus Tx, a minting, certifying or rewarding script should have the following type: ```haskell @@ -102,11 +103,29 @@ As said before, evaluating a Plutus V1 and V2 script succeeds as long as the eva This means, crucially, that an unsaturated script (a script expecting more arguments than it receives) succeeds trivially, since the evaluation terminates almost immediately and returns a lambda. Thus be careful: if, for example, you accidentally use a spending script (which expects three arguments) as a minting script (which will receive two arguments), it will always succeed, which is obviously not what you want. +## Plutus V2 + +Plutus V2 was enabled at the Vasil hard fork, which introduced the Babbage era. + +Plutus V2 shares several similarities with Plutus V1: +- It supports the same four script purposes. +- The number of arguments a Plutus V2 script receives is identical to Plutus V1: three for minting scripts, and two for other script purposes. +- Script evaluation succeeds as long as no errors occur and the budget is not exceeded. + +The differences between Plutus V1 and Plutus V2 include: +- Plutus V2 can be used in transactions that utilizes Babbage era features like [inline datums](https://cips.cardano.org/cip/CIP-0032) and [collateral output](https://cips.cardano.org/cip/CIP-0040), while Plutus V1 cannot (except for reference scripts, as noted earlier). +- Plutus V2's script context contains more fields than Plutus V1 due to new transaction features. + When writing a Plutus V2 script, you should use the `ScriptContext` data type from `PlutusLedgerApi.V2`. +- For now, Plutus V2 supports more builtin functions than Plutus V1, including `serialiseData`, `verifyEcdsaSecp256k1Signature` and `verifySchnorrSecp256k1Signature`. + However, as explained in [Different Notions of Version](../essential-concepts/versions.md), we plan to enable all builtin functions across all ledger language versions in the future. + ## Plutus V3 +Plutus V3 was enabled at the Chang hard fork, which introduced the Conway era. + Plutus V3 has two additional [script purposes](https://plutus.cardano.intersectmbo.org/haddock/master/plutus-ledger-api/PlutusLedgerApi-V3-Contexts.html#t:ScriptPurpose) for validating governance actions: voting and proposing. -Besides the usual differences between different Plutus ledger language versions, there are three additional key differences between Plutus V3 and V1/V2: +Additional key differences between Plutus V3 and V1/V2 include: 1. All Plutus V3 scripts, regardless of script purpose, take a single argument: the script context. The datum (for spending scripts) and the redeemer are part of the Plutus V3 script context. @@ -114,8 +133,10 @@ Besides the usual differences between different Plutus ledger language versions, 2. The datum is now optional for spending scripts. The script context may or may not contain a datum, depending on whether the UTXO being spent has a datum associated with it. 3. There is an additional condition for the evaluation of a Plutus V3 script to be considered successful: the return value must be a `BuiltinUnit`. +4. For now, Plutus V3 supports Plutus Core 1.1.0, a Plutus Core language version that introduced [sums-of-products](https://cips.cardano.org/cip/CIP-0085), as well as more builtin functions than Plutus V2. + However, we plan to enable all Plutus Core versions and all builtin functions across all ledger language versions in the future. -The first two points are attributed to [CIP-69](https://developers.cardano.org/docs/governance/cardano-improvement-proposals/cip-0069/), whereas the third point is attributed to [CIP-117](https://developers.cardano.org/docs/governance/cardano-improvement-proposals/cip-0117/). +The first two points above are attributed to [CIP-69](https://developers.cardano.org/docs/governance/cardano-improvement-proposals/cip-0069/), whereas the third point is attributed to [CIP-117](https://developers.cardano.org/docs/governance/cardano-improvement-proposals/cip-0117/). In other words, all Plutus V3 scripts should have the following type in Plutus Tx: @@ -127,6 +148,6 @@ Updating a Plutus V1/V2 script to turn it into a Plutus V3 script mostly involve --- -[^1]: There is one exception to this: Plutus V1 can be used in transactions with reference inputs, even though reference inputs were introduced in the Babbage era. +[^1]: There is one exception to this: Plutus V1 can be used in transactions with reference scripts, even though reference scripts were introduced in the Babbage era. [^2]: For more information on script purposes, refer to [Script Purposes](script-purposes.md). From d224cbfc9188ce8a0476ed5a0fabbf6929ccabf4 Mon Sep 17 00:00:00 2001 From: Ziyang Liu Date: Tue, 8 Oct 2024 08:10:10 -0700 Subject: [PATCH 10/70] Expand the optimization techniques page in the user guide (#6532) --- doc/docusaurus/docs/delve-deeper/languages.md | 2 +- .../optimizing-scripts-with-asData.md | 4 +- .../other-optimization-techniques.md | 130 ++++++++++++++++++ .../script-optimization-techniques.md | 97 ------------- .../src/PlutusTx/Compiler/Type.hs | 2 +- 5 files changed, 134 insertions(+), 101 deletions(-) rename doc/docusaurus/docs/{using-plutus-tx => delve-deeper}/optimizing-scripts-with-asData.md (99%) create mode 100644 doc/docusaurus/docs/delve-deeper/other-optimization-techniques.md delete mode 100644 doc/docusaurus/docs/delve-deeper/script-optimization-techniques.md diff --git a/doc/docusaurus/docs/delve-deeper/languages.md b/doc/docusaurus/docs/delve-deeper/languages.md index 873ee15b1ba..3e0c2351649 100644 --- a/doc/docusaurus/docs/delve-deeper/languages.md +++ b/doc/docusaurus/docs/delve-deeper/languages.md @@ -1,5 +1,5 @@ --- -sidebar_position: 38 +sidebar_position: 1 --- # Overview of Languages Compiling to UPLC diff --git a/doc/docusaurus/docs/using-plutus-tx/optimizing-scripts-with-asData.md b/doc/docusaurus/docs/delve-deeper/optimizing-scripts-with-asData.md similarity index 99% rename from doc/docusaurus/docs/using-plutus-tx/optimizing-scripts-with-asData.md rename to doc/docusaurus/docs/delve-deeper/optimizing-scripts-with-asData.md index 24aabbdeb6d..261565bf8ac 100644 --- a/doc/docusaurus/docs/using-plutus-tx/optimizing-scripts-with-asData.md +++ b/doc/docusaurus/docs/delve-deeper/optimizing-scripts-with-asData.md @@ -1,8 +1,8 @@ --- -sidebar_position: 35 +sidebar_position: 10 --- -# Optimizing scripts with `asData` +# Optimizing Scripts with `asData` The Plutus libraries contain a `PlutusTx.asData` module that contains Template Haskell (TH) code for encoding algebraic data types (ADTs) as `Data` objects in Plutus Core, as opposed to sums-of-products terms. In general, `asData` pushes the burden of a computation nearer to where a value is used, in a crude sense making the evaluation less strict and more lazy. diff --git a/doc/docusaurus/docs/delve-deeper/other-optimization-techniques.md b/doc/docusaurus/docs/delve-deeper/other-optimization-techniques.md new file mode 100644 index 00000000000..af1ed2cf7dc --- /dev/null +++ b/doc/docusaurus/docs/delve-deeper/other-optimization-techniques.md @@ -0,0 +1,130 @@ +--- +sidebar_position: 15 +--- + +# Other Optimization Techniques + +## Identifying problem areas + +Profiling your script is a good way to identify which parts of the script are responsible for significant resource consumption. +For more details, see [Profiling the Budget Usage of Plutus Scripts](../working-with-scripts/profiling-budget-usage.md). + +## Using a Recent Version of the Plutus Tx Compiler + +The Plutus Tx compiler is available through the `plutus-tx-plugin` package. +The Plutus team continuously improves compiler optimization, so using the latest or a recent version of `plutus-tx-plugin` will likely result in more compact and efficient scripts. + +## Try `conservative-optimisation` or Flags Implied by It + +Certain optimizations, such as inlining constants, can occasionally have negative effects, making scripts larger or more expensive. +It is worth disabling them to see how it affects your script. +You can do this using the `conservative-optimisation` plugin flag, which implies several other flags like `no-inline-constants`. +Alternatively, try turning on the flags implied by `conservative-optimisation` individually. +See [Plutus Tx Compiler Options](./plutus-tx-compiler-options.md). + +## Using the `Strict` Extension + +The `Strict` extension, which makes all bindings in a module strict, generally improves performance. +See [GHC Extensions, Flags and Pragmas](../using-plutus-tx/extensions-flags-pragmas.md) for an explanation. +However, care should be taken to avoid triggering unnecessary evaluations. +For example, in + +```haskell +let a = + b = + in a && b +``` + +`b` will always be evaluated, even when `a` evaluates to `False`. +To avoid this, you can write either `~b = `, or `a && ` (recall that `&&` and `||` are [special](../using-plutus-tx/special-functions-and-types.md) in Plutus Tx in that their second arguments are non-strict, unlike ordinary Plutus Tx functions). +However, keep in mind that with `~b = `, `` will be evaluated each time `b` is referenced, since Plutus Tx does not employ lazy evaluation, i.e., there is no memoization. + +## Be Mindful of Strict Applications + +In Plutus Tx, as with all strict languages, function applications are strict (call by value), with the exception of a few special functions like `&&` and `||`, which are treated specially by the compiler. + +If you define your own version of `&&`: + +```haskell +myAnd :: Bool -> Bool -> Bool +myAnd = (&&) +``` + +then it won't have the same behavior as `&&`, as it will always evaluate both arguments, even if the first argument evaluates to `False`. + +It is particularly important to recognize that builtin functions like `chooseList` and `chooseData` are _not_ special, i.e., they are also strict in all arguments. +Thus the following example, which directly invokes the `chooseList` builtin, can be inefficient: + +```haskell +res = PlutusTx.Builtins.Internal.chooseList xs nilCase consCase +``` + +It may even be semantically incorrect, if `nilCase = traceError "empty list"`, since it would always evaluate to an error. + +Instead, use the wrapper provided by `PlutusTx.Builtins`, which suspends the evaluation of `nilCase` with a lambda: + +```haskell +res = PlutusTx.Builtins.matchList (\_ -> nilCase) consCase +``` + +## Avoiding Intermediate Results + +In a strict language, when composing several operations on a structure, the intermediate results are often fully materialized. +As examples, consider + +```haskell +res1 = find (== 5) (xs ++ ys) +``` + +and + +```haskell +res2 = sum (Map.elems m) +``` + +These are perfectly efficient in Haskell, but since function applications are strict in Plutus Tx, the results of `xs ++ ys` and `Map.elems m` will be fully materialized before invoking `find` and `sum`, respectively. +You might consider rewriting these expressions to be less succinct but more efficient. + +## Specializing higher-order functions + +The use of higher-order functions is a common technique to facilitate code reuse. +Higher-order functions are widely used in the Plutus libraries but can be less efficient than specialized versions. + +For instance, the Plutus function `findOwnInput` makes use of the higher-order function `find` to search for the current script input. + +```haskell +findOwnInput :: ScriptContext -> Maybe TxInInfo +findOwnInput ScriptContext{scriptContextTxInfo=TxInfo{txInfoInputs}, + scriptContextPurpose=Spending txOutRef} = + find (\TxInInfo{txInInfoOutRef} -> txInInfoOutRef == txOutRef) txInfoInputs +findOwnInput _ = Nothing +``` + +This can be rewritten with a recursive function specialized to the specific check in question. + +``` haskell +findOwnInput :: ScriptContext -> Maybe TxInInfo +findOwnInput ScriptContext{scriptContextTxInfo=TxInfo{txInfoInputs}, + scriptContextPurpose=Spending txOutRef} = go txInfoInputs + where + go [] = Nothing + go (i@TxInInfo{txInInfoOutRef} : rest) = if txInInfoOutRef == txOutRef + then Just i + else go rest +findOwnInput _ = Nothing +``` + +## Removing Traces + +Traces can be expensive especially in terms of script sizes. +It is advisable to use traces during development, but to remove them when deploying your scripts on mainnet. +Traces can be removed via the `remove-trace` plugin flag. + +## Using `error` for faster failure + +Plutus scripts have access to one impure effect, `error`, which immediately terminates the script evaluation and will fail validation. +This failure is very fast, but it is also unrecoverable, so only use it in cases where you want to fail the entire validation if there is a failure. + +The Plutus libraries have some functions that fail with `error`. +Usually these are given an `unsafe` prefix to their name. +For example, `PlutusTx.IsData.Class.FromData` parses a value of type `Data`, returning the result in a `Maybe` value to indicate whether it succeeded or failed; whereas `PlutusTx.IsData.Class.UnsafeFromData` does the same but fails with `error`. diff --git a/doc/docusaurus/docs/delve-deeper/script-optimization-techniques.md b/doc/docusaurus/docs/delve-deeper/script-optimization-techniques.md deleted file mode 100644 index 44d5a141d85..00000000000 --- a/doc/docusaurus/docs/delve-deeper/script-optimization-techniques.md +++ /dev/null @@ -1,97 +0,0 @@ ---- -sidebar_position: 10 ---- - -# Optimization techniques for Plutus scripts - -## Identifying problem areas - - - -In order to identify which parts of the script are responsible for significant resource consumption, you can use the `profiling support`. - -## Using strict let-bindings to avoid recomputation - -Let-bindings in Haskell are translated to strict let-bindings in Plutus IR, unless they look like they might do computation, in which case they are translated to non-strict let-bindings. -This is to avoid triggering effects (e.g. errors) at unexpected times. - -However, non-strict let-bindings are less efficient. -They do not evaluate their right-hand side immediately, instead they do so where the variable is used. -But they are not *lazy* (evaluating the right-hand side at most once), instead it may be evaluated once each time it is used. -You may wish to explicitly mark let-bindings as strict in Haskell to avoid this. - -``` haskell --- This may be compiled non-strictly, which could result --- in it being evaluated multiple times. However, it will --- not be evaluated if we take the branch where it is not used. -let x = y + z -in if b then x + x else 1 - --- This will be compiled strictly, but this will mean it --- is evaluated even if we take the branch where it is not used. -let !x = y + z -in if b then x + x else 1 -``` - -## Specializing higher-order functions - -The use of higher-order functions is a common technique to facilitate code reuse. -Higher-order functions are widely used in the Plutus libraries but can be less efficient than specialized versions. - -For instance, the Plutus function `findOwnInput` makes use of the higher-order function `find` to search for the current script input. - -``` haskell -findOwnInput :: ScriptContext -> Maybe TxInInfo -findOwnInput ScriptContext{scriptContextTxInfo=TxInfo{txInfoInputs}, - scriptContextPurpose=Spending txOutRef} = - find (\TxInInfo{txInInfoOutRef} -> txInInfoOutRef == txOutRef) txInfoInputs -findOwnInput _ = Nothing -``` - -This can be rewritten with a recursive function specialized to the specific check in question. - -``` haskell -findOwnInput :: ScriptContext -> Maybe TxInInfo -findOwnInput ScriptContext{scriptContextTxInfo=TxInfo{txInfoInputs}, - scriptContextPurpose=Spending txOutRef} = go txInfoInputs - where - go [] = Nothing - go (i@TxInInfo{txInInfoOutRef} : rest) = if txInInfoOutRef == txOutRef - then Just i - else go rest -findOwnInput _ = Nothing -``` - -## Common sub-expression elimination - -When several instances of identical expressions exist within a function's body, it's worth replacing them with a single (strict) let-bound variable to hold the computed value. - -In this example, the cost of storing and retrieving `n * c` in a single variable is significantly less than recomputing it several times. - -``` haskell -let a' = a `divide` n * c - -- occurrence 1 - b' = b * (n * c) - -- occurrence 2 - C' = c + (n * c) -in - foo a' b' c' n - --- Only one occurrence -let !t_mul = n * c - a' = a `divide` t_mul - b' = b * t_mul - c' = c + t_mul -in - foo a' b' c' n -``` - -## Using `error` for faster failure - -Plutus scripts have access to one impure effect, `error`, which immediately terminates the script evaluation and will fail validation. -This failure is very fast, but it is also unrecoverable, so only use it in cases where you want to fail the entire validation if there is a failure. - -The Plutus libraries have some functions that fail with `error`. -Usually these are given an `unsafe` prefix to their name. -For example, `PlutusTx.IsData.Class.FromData` parses a value of type `Data`, returning the result in a `Maybe` value to indicate whether it succeeded or failed; whereas `PlutusTx.IsData.Class.UnsafeFromData` does the same but fails with `error`. - diff --git a/plutus-tx-plugin/src/PlutusTx/Compiler/Type.hs b/plutus-tx-plugin/src/PlutusTx/Compiler/Type.hs index ee0221e55ff..c805196a517 100644 --- a/plutus-tx-plugin/src/PlutusTx/Compiler/Type.hs +++ b/plutus-tx-plugin/src/PlutusTx/Compiler/Type.hs @@ -237,7 +237,7 @@ clear natural ordering which we will assume GHC respects. {- Note [Ensuring compatibility with spec and stdlib types] Haskell's Bool has its constructors ordered with False before True, which results in the -normal case expression having the oppposite sense to the one in the spec, where +normal case expression having the opposite sense to the one in the spec, where the true branch comes first (which is more logical). Our options are: From 2a29fbea43b285455d4283a7e85bd503b85079a2 Mon Sep 17 00:00:00 2001 From: Ziyang Liu Date: Tue, 8 Oct 2024 09:31:46 -0700 Subject: [PATCH 11/70] Rename and rewrite "Upgrading to Vasil and Plutus script addresses" (#6533) --- README.adoc | 5 +- .../docs/delve-deeper/common-weaknesses.md | 57 +++++++++---------- .../understanding-script-hashes.md | 27 +++++++++ .../upgrade-vasil-plutus-script-addresses.md | 29 ---------- 4 files changed, 56 insertions(+), 62 deletions(-) create mode 100644 doc/docusaurus/docs/delve-deeper/understanding-script-hashes.md delete mode 100644 doc/docusaurus/docs/delve-deeper/upgrade-vasil-plutus-script-addresses.md diff --git a/README.adoc b/README.adoc index ef30ea1c2bd..b3dc4e72880 100644 --- a/README.adoc +++ b/README.adoc @@ -4,8 +4,6 @@ :toc: left :reproducible: -image:https://img.shields.io/matrix/plutus-core%3Amatrix.org[link=https://matrix.to/#/#plutus-core:matrix.org] - == Introduction Plutus Core is the scripting language embedded in the Cardano ledger and forms the basis of the Plutus Platform, an application development platform for developing distributed applications using the Cardano blockchain. @@ -70,7 +68,6 @@ The documentation for the metatheory can be found https://plutus.cardano.interse == Licensing -You are free to copy, modify, and distribute this software under the terms of the Apache 2.0 license. +You are free to copy, modify, and distribute this software under the terms of the Apache 2.0 license. See the link:./LICENSE[LICENSE] and link:./NOTICE[NOTICE] files for details. - diff --git a/doc/docusaurus/docs/delve-deeper/common-weaknesses.md b/doc/docusaurus/docs/delve-deeper/common-weaknesses.md index e39a2f92991..3e5696eab0c 100644 --- a/doc/docusaurus/docs/delve-deeper/common-weaknesses.md +++ b/doc/docusaurus/docs/delve-deeper/common-weaknesses.md @@ -1,5 +1,5 @@ --- -sidebar_position: 20 +sidebar_position: 30 --- # Common weaknesses @@ -12,7 +12,7 @@ Suppose we have a validator V that implements a typical "atomic swap" or "escrow > This output can only be spent if, in the same transaction, there is an output sending the agreed-upon payment (encoded in the output's datum) to A. -Now suppose that A and B have two swaps in progress, one for a token T1 at the price of 10 Ada, and one for a token T2 at the same price. +Now suppose that A and B have two swaps in progress, one for a token T1 at the price of 10 Ada, and one for a token T2 at the same price. That means that there will exist two outputs, both locked by V. Now B constructs a transaction which spends both outputs, and creates one output addressed to A with 10 Ada (taking T1 and T2 for himself). @@ -20,69 +20,69 @@ Now B constructs a transaction which spends both outputs, and creates one output ![Double satisfaction](../../static/img/double-satisfaction.png) _A diagram showing the transaction setup for the double satisfaction of two swaps._ -A naive implementation of V will just check that the transaction has *an* output to A with 10 Ada in it, and then be satisfied. -But this allows B to "double satisfy" the two validators, because they will both see the same output and be satisfied. +A naive implementation of V will just check that the transaction has *an* output to A with 10 Ada in it, and then be satisfied. +But this allows B to "double satisfy" the two validators, because they will both see the same output and be satisfied. The end result is that B can get away with paying only 10 Ada to A, even though B's true liability to A is 20 Ada. ### What is going wrong here? -It is difficult to say exactly what is going wrong here. +It is difficult to say exactly what is going wrong here. Neither validator's expectations are explicitly being violated. -One way of looking at it is that this is a consequence of the fact that validators only *validate*, rather than *doing* things. -In a model like Ethereum's, where smart contracts *make transfers*, then two smart contracts would simply make two transfers, and there would be no problem. +One way of looking at it is that this is a consequence of the fact that validators only *validate*, rather than *doing* things. +In a model like Ethereum's, where smart contracts *make transfers*, then two smart contracts would simply make two transfers, and there would be no problem. But in the EUTXO model all a validator can do is try to ascertain whether its wishes have been carried out, which in this case is ambiguous. -Following this metaphor, we can see how the same problem could arise in the real world. +Following this metaphor, we can see how the same problem could arise in the real world. Suppose that two tax auditors from two different departments come to visit you in turn to see if you've paid your taxes. -You come up with a clever scheme to confuse them. -Your tax liability to both departments is $10, so you make a single payment to the tax office's bank account for $10. -When the auditors arrive, you show them your books, containing the payment to the tax office. +You come up with a clever scheme to confuse them. +Your tax liability to both departments is $10, so you make a single payment to the tax office's bank account for $10. +When the auditors arrive, you show them your books, containing the payment to the tax office. They both leave satisfied. -How do we solve this problem in the real world? -Well, the two tax offices might have different bank accounts, but more likely they would simply require you to use two different payment references. -That way, the payment that each auditor expect to see is unique, so they know it's for them. -We can do something similar in the EUTXO model. +How do we solve this problem in the real world? +Well, the two tax offices might have different bank accounts, but more likely they would simply require you to use two different payment references. +That way, the payment that each auditor expect to see is unique, so they know it's for them. +We can do something similar in the EUTXO model. See the section on [Unique outputs](#unique-outputs) below. ### Risks -This is a serious problem for many kinds of application. +This is a serious problem for many kinds of application. Any application that makes payments to specific parties needs to ensure that those payments are correctly identified and don't overlap with other payments. ### Solutions -It's possible that a solution will be developed that makes this weakness easier to avoid. +It's possible that a solution will be developed that makes this weakness easier to avoid. In the meantime, there are workarounds that developers can use. #### **Unique outputs** -The simplest workaround is to ensure that the outputs which your scripts care about are unique. +The simplest workaround is to ensure that the outputs which your scripts care about are unique. This prevents them being confused with other outputs. In the swap example, if A had used a different key hashes as their payment addresses in each, then one output could not have satisfied both validators, since each one would want an output addressed to a different key hash. -It is not too difficult to use unique outputs. -For payments to users, wallets typically already generate unique key hashes for every payment received. +It is not too difficult to use unique outputs. +For payments to users, wallets typically already generate unique key hashes for every payment received. For payments to script addresses it is a bit more complicated, and applications may wish to include the equivalent of a "payment reference" in the datum to keep things unique. #### **Ban other scripts** -A more draconian workaround is for your script to insist that it runs in a transaction which is running no other scripts, so there is no risk of confusion. +A more draconian workaround is for your script to insist that it runs in a transaction which is running no other scripts, so there is no risk of confusion. Note that it is not enough to consider just validator scripts, minting and reward scripts must also be banned. However, this prevents even benign usage of multiple scripts in one transaction, which stops people from designing interesting interactions, and may force users to break up transactions unnecessarily. ## Hard limits -Many resources on Cardano are limited in some fashion. +Many resources on Cardano are limited in some fashion. At a high level, limits can be enforced in two ways: - *Hard limits*: these are limits which cannot be breached. Typically, these are implemented with specific thresholds, where exceeding the threshold causes a hard failure. - *Soft limits*: these are limits which *can* be breached, but where there is a significant disincentive to do so. One way of implementing a soft limit is to have sharply increasing costs to using the resource beyond the soft limit. -Hard limits are clear, easy to specify, and provide hard guarantees for the protocol, but they have the disadvantage that there is no way to evade the limit. +Hard limits are clear, easy to specify, and provide hard guarantees for the protocol, but they have the disadvantage that there is no way to evade the limit. This means that there is a discontinuity at the limit: beforehand you can always do more by paying more, but after the limit there is nothing you can do. Currently, these resources on Cardano have hard limits: @@ -92,7 +92,7 @@ Currently, these resources on Cardano have hard limits: - UTXO size - Script execution units -If an application *requires* a transaction that exceeds one of these limits, then the application will be stuck unless the limit is increased or removed. +If an application *requires* a transaction that exceeds one of these limits, then the application will be stuck unless the limit is increased or removed. This is most common when scripts are involved, since a script can require a very particular shape of transaction, regardless of whether this exceeds limits. Examples: @@ -103,7 +103,7 @@ Examples: ### Risks -This is typically an issue for applications that work with user-supplied data, or data that can grow in an unbounded way over time. +This is typically an issue for applications that work with user-supplied data, or data that can grow in an unbounded way over time. This can result in data which itself becomes large, or which requires a large amount of resources to process. For example: @@ -121,18 +121,18 @@ In the meantime, there are some approaches that developers can use to reduce the - **Careful testing** -It is important to test as many of the execution paths of your application as possible. +It is important to test as many of the execution paths of your application as possible. This is important for correctness, but also to ensure that there are no unexpected cases where script resource usage spikes. - **Bounding data usage** -Carefully consider whether your application may rely on unbounded data, and try to avoid that. +Carefully consider whether your application may rely on unbounded data, and try to avoid that. For example, if your application needs to manage a large quantity of assets, try to split them across multiple UTXOs instead of relying on a single UTXO to hold them all. - **Providing datums when creating outputs** Datum size issues are most likely to be discovered when an output is spent, because the datum is provided only as a hash on the output. -Insisting that the datum is provided in the transaction that creates the output can reveal that it is too big earlier in the process, allowing another path to be taken. +Insisting that the datum is provided in the transaction that creates the output can reveal that it is too big earlier in the process, allowing another path to be taken. Depending on the application, this may still prevent it from progressing, if there is only one way to move forwards. If [CIP-32](https://cips.cardano.org/cips/cip32/) is implemented, this can be done conveniently by using inline datums, although that also risks hitting the output size limit. @@ -142,4 +142,3 @@ If [CIP-32](https://cips.cardano.org/cips/cip32/) is implemented, this can be do If [CIP-33](https://cips.cardano.org/cips/cip33/) is implemented, then the contribution of scripts to transaction size can be massively reduced by using a reference script instead of including the entire script. - diff --git a/doc/docusaurus/docs/delve-deeper/understanding-script-hashes.md b/doc/docusaurus/docs/delve-deeper/understanding-script-hashes.md new file mode 100644 index 00000000000..59c9d04a1a4 --- /dev/null +++ b/doc/docusaurus/docs/delve-deeper/understanding-script-hashes.md @@ -0,0 +1,27 @@ +--- +sidebar_position: 20 +--- + +# Understanding Script Hashes + +Script hashes are a core concept and play a vital role on Cardano. +Performing an action on Cardano that involves scripts, such as spending a script UTXO or minting tokens, requires the script with a specific hash to be executed and satisfied. +The cryptographic security of script hashes makes it effectively impossible to manufacture a script that matches a given hash, ensuring the integrity of the blockchain. +A solid understanding of script hashes is essential for DApp development. + +## Changing ledger language versions leads to changed script hashes + +The ledger language version of a script is part of its hash, so the exact same UPLC program will have different hashes when used as a Plutus V1, V2 or V3 script. +This means, for example, you can't supply a Plutus V3 script when performing an action that requires a Plutus V1 or V2 script, as the hash won't match. + +## Changing Plutus Tx compiler versions may lead to changed script hashes + +Different Plutus Tx compiler versions may compile and optimize the same Plutus Tx code differently, leading to different UPLC programs and, therefore, different script hashes. + +Additionally, the version of GHC can affect the resulting UPLC program and script hashes. +While the Plutus Tx compiler currently supports only one major GHC version, different minor GHC versions may lead to slightly different UPLC programs. + +If you plan to use your script in the future, the best approach is to save the compiled script in a blueprint file. +For further information, refer to [Producing a Plutus contract blueprint](../working-with-scripts/producing-a-blueprint.md). + +If you wish to compile your Plutus Tx code again in the future while ensuring the script hash remains unchanged, consider using Nix to lock the versions of all dependencies by pinning to a specific version of nixpkgs. diff --git a/doc/docusaurus/docs/delve-deeper/upgrade-vasil-plutus-script-addresses.md b/doc/docusaurus/docs/delve-deeper/upgrade-vasil-plutus-script-addresses.md deleted file mode 100644 index 0393f7c5f4d..00000000000 --- a/doc/docusaurus/docs/delve-deeper/upgrade-vasil-plutus-script-addresses.md +++ /dev/null @@ -1,29 +0,0 @@ ---- -sidebar_position: 30 ---- - -# Upgrading to Vasil and Plutus script addresses - -## A Plutus V2 script will not have the same hash value as a Plutus V1 script - -DApp developers might expect that when doing a migration from `PlutusV1` scripts to `PlutusV2` scripts, the same source code, when recompiled, will generate the same hash value of that script address. -However, it is impossible for a compiled `PlutusV2` script to have the same script hash and address as a compiled `PlutusV1` script. - -Using the exact same script with different language versions will result in different hashes. -The exact same script (as in `UPLC.Program`) can be used as a `PlutusV1` script or a `PlutusV2` script, and since the language version is part of the hash, the two hashes will be different. - -## A Plutus V1 script will not necessarily have the same hash value when recompiled with a later version of the Plutus Compiler - -Suppose you write your Haskell source code (Plutus Tx), compile it into Plutus Core code (PLC), generate its hash value, then use it in a transaction. -If you don't save your compiled code, and then decide to use the same script in the future, you would have to recompile it. -This could result in a different hash value of the script address even without upgrading from `PlutusV1` to `PlutusV2` scripts. -This is because the hash is computed based on the output of the compiled code. - -Given Plutus compiler version changes, changes in the dependencies, and multiple other improvements, it is expected that the hash value of the script address will change after the source code is recompiled. - -## When to export and save the output of a compiled script - -Once you expect that you will not modify the on-chain part of your application and you don't want the hash value of your script address to change, the best way to keep it the same is to save the output of your final compiled Plutus Core code (PLC) to a blueprint file. - -For details on how to export scripts as blueprints, please see [Producing a Plutus contract blueprint](../working-with-scripts/producing-a-blueprint.md). - From b7b4db53cf88ffb87b669c52f9f11193fb431aaa Mon Sep 17 00:00:00 2001 From: Ziyang Liu Date: Tue, 8 Oct 2024 19:26:46 -0700 Subject: [PATCH 12/70] Remove the common weaknesses page (#6549) --- .../docs/delve-deeper/common-weaknesses.md | 144 ------------------ 1 file changed, 144 deletions(-) delete mode 100644 doc/docusaurus/docs/delve-deeper/common-weaknesses.md diff --git a/doc/docusaurus/docs/delve-deeper/common-weaknesses.md b/doc/docusaurus/docs/delve-deeper/common-weaknesses.md deleted file mode 100644 index 3e5696eab0c..00000000000 --- a/doc/docusaurus/docs/delve-deeper/common-weaknesses.md +++ /dev/null @@ -1,144 +0,0 @@ ---- -sidebar_position: 30 ---- - -# Common weaknesses - -This section provides a listing of common *weaknesses* in Plutus applications. "Weakness" is used in the sense of the [Common Weakness Enumeration](https://cwe.mitre.org/), as a potential source of vulnerabilities in applications. - -## Double satisfaction - -Suppose we have a validator V that implements a typical "atomic swap" or "escrowed swap" between A and B where A goes first, i.e. V says: - -> This output can only be spent if, in the same transaction, there is an output sending the agreed-upon payment (encoded in the output's datum) to A. - -Now suppose that A and B have two swaps in progress, one for a token T1 at the price of 10 Ada, and one for a token T2 at the same price. -That means that there will exist two outputs, both locked by V. - -Now B constructs a transaction which spends both outputs, and creates one output addressed to A with 10 Ada (taking T1 and T2 for himself). - -![Double satisfaction](../../static/img/double-satisfaction.png) -_A diagram showing the transaction setup for the double satisfaction of two swaps._ - -A naive implementation of V will just check that the transaction has *an* output to A with 10 Ada in it, and then be satisfied. -But this allows B to "double satisfy" the two validators, because they will both see the same output and be satisfied. -The end result is that B can get away with paying only 10 Ada to A, even though B's true liability to A is 20 Ada. - -### What is going wrong here? - -It is difficult to say exactly what is going wrong here. -Neither validator's expectations are explicitly being violated. - -One way of looking at it is that this is a consequence of the fact that validators only *validate*, rather than *doing* things. -In a model like Ethereum's, where smart contracts *make transfers*, then two smart contracts would simply make two transfers, and there would be no problem. -But in the EUTXO model all a validator can do is try to ascertain whether its wishes have been carried out, which in this case is ambiguous. - -Following this metaphor, we can see how the same problem could arise in the real world. -Suppose that two tax auditors from two different departments come to visit you in turn to see if you've paid your taxes. -You come up with a clever scheme to confuse them. -Your tax liability to both departments is $10, so you make a single payment to the tax office's bank account for $10. -When the auditors arrive, you show them your books, containing the payment to the tax office. -They both leave satisfied. - -How do we solve this problem in the real world? -Well, the two tax offices might have different bank accounts, but more likely they would simply require you to use two different payment references. -That way, the payment that each auditor expect to see is unique, so they know it's for them. -We can do something similar in the EUTXO model. -See the section on [Unique outputs](#unique-outputs) below. - -### Risks - -This is a serious problem for many kinds of application. -Any application that makes payments to specific parties needs to ensure that those payments are correctly identified and don't overlap with other payments. - -### Solutions - -It's possible that a solution will be developed that makes this weakness easier to avoid. -In the meantime, there are workarounds that developers can use. - -#### **Unique outputs** - -The simplest workaround is to ensure that the outputs which your scripts care about are unique. -This prevents them being confused with other outputs. - -In the swap example, if A had used a different key hashes as their payment addresses in each, then one output could not have satisfied both validators, since each one would want an output addressed to a different key hash. - -It is not too difficult to use unique outputs. -For payments to users, wallets typically already generate unique key hashes for every payment received. -For payments to script addresses it is a bit more complicated, and applications may wish to include the equivalent of a "payment reference" in the datum to keep things unique. - -#### **Ban other scripts** - -A more draconian workaround is for your script to insist that it runs in a transaction which is running no other scripts, so there is no risk of confusion. -Note that it is not enough to consider just validator scripts, minting and reward scripts must also be banned. - -However, this prevents even benign usage of multiple scripts in one transaction, which stops people from designing interesting interactions, and may force users to break up transactions unnecessarily. - -## Hard limits - -Many resources on Cardano are limited in some fashion. -At a high level, limits can be enforced in two ways: - -- *Hard limits*: these are limits which cannot be breached. Typically, these are implemented with specific thresholds, where exceeding the threshold causes a hard failure. -- *Soft limits*: these are limits which *can* be breached, but where there is a significant disincentive to do so. One way of implementing a soft limit is to have sharply increasing costs to using the resource beyond the soft limit. - -Hard limits are clear, easy to specify, and provide hard guarantees for the protocol, but they have the disadvantage that there is no way to evade the limit. -This means that there is a discontinuity at the limit: beforehand you can always do more by paying more, but after the limit there is nothing you can do. - -Currently, these resources on Cardano have hard limits: - -- Transaction size -- Block size -- UTXO size -- Script execution units - -If an application *requires* a transaction that exceeds one of these limits, then the application will be stuck unless the limit is increased or removed. -This is most common when scripts are involved, since a script can require a very particular shape of transaction, regardless of whether this exceeds limits. - -Examples: - -- A script requires providing a datum which is extremely large and exceeds the transaction size limit. -- A script which locks an output needs more execution units than the limit. -- A script requires creating a single output containing a very large amount of tokens, which exceeds the output size limit. - -### Risks - -This is typically an issue for applications that work with user-supplied data, or data that can grow in an unbounded way over time. -This can result in data which itself becomes large, or which requires a large amount of resources to process. - -For example: - -- Managing an arbitrary collection of assets (unbounded over time). -- Allowing user-specified payloads in datums (user-supplied unbounded data). - -Script size should not itself be a risk (since scripts and their sizes should generally be known ahead of time), but large scripts can reduce the amount of space available for other uses, heightening the risk of hitting a limit. - -### Solutions - -In the long run, hard limits may be increased, removed, or turned into soft limits. - -In the meantime, there are some approaches that developers can use to reduce the risk. - -- **Careful testing** - -It is important to test as many of the execution paths of your application as possible. -This is important for correctness, but also to ensure that there are no unexpected cases where script resource usage spikes. - -- **Bounding data usage** - -Carefully consider whether your application may rely on unbounded data, and try to avoid that. -For example, if your application needs to manage a large quantity of assets, try to split them across multiple UTXOs instead of relying on a single UTXO to hold them all. - -- **Providing datums when creating outputs** - -Datum size issues are most likely to be discovered when an output is spent, because the datum is provided only as a hash on the output. -Insisting that the datum is provided in the transaction that creates the output can reveal that it is too big earlier in the process, allowing another path to be taken. -Depending on the application, this may still prevent it from progressing, if there is only one way to move forwards. - -If [CIP-32](https://cips.cardano.org/cips/cip32/) is implemented, this can be done conveniently by using inline datums, although that also risks hitting the output size limit. - -- **Reducing script size costs through reference inputs** - -If [CIP-33](https://cips.cardano.org/cips/cip33/) is implemented, then the contribution of scripts to transaction size can be massively reduced by using a reference script instead of including the entire script. - - From c3289abbdd77f1854b39e9bb2837e294de5ddd58 Mon Sep 17 00:00:00 2001 From: Ziyang Liu Date: Tue, 8 Oct 2024 19:28:41 -0700 Subject: [PATCH 13/70] Add a note in the user guide about avoiding the INLINE pragma (#6548) --- .../docs/delve-deeper/other-optimization-techniques.md | 8 ++++++++ .../docs/using-plutus-tx/extensions-flags-pragmas.md | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/doc/docusaurus/docs/delve-deeper/other-optimization-techniques.md b/doc/docusaurus/docs/delve-deeper/other-optimization-techniques.md index af1ed2cf7dc..3e1bb2fede7 100644 --- a/doc/docusaurus/docs/delve-deeper/other-optimization-techniques.md +++ b/doc/docusaurus/docs/delve-deeper/other-optimization-techniques.md @@ -39,6 +39,14 @@ let a = To avoid this, you can write either `~b = `, or `a && ` (recall that `&&` and `||` are [special](../using-plutus-tx/special-functions-and-types.md) in Plutus Tx in that their second arguments are non-strict, unlike ordinary Plutus Tx functions). However, keep in mind that with `~b = `, `` will be evaluated each time `b` is referenced, since Plutus Tx does not employ lazy evaluation, i.e., there is no memoization. +## Avoiding the `INLINE` Pragma + +The `INLINE` pragma strongly encourages GHC to inline a function, even if it has a large body and is used multiple times. +This can lead to significant increase in the size of the resulting UPLC program, which is problematic since size is a much scarcer resource for Plutus scripts than for regular Haskell programs. + +Instead, use the `INLINEABLE` pragma. +This would leave most inlining decisions to the PIR and UPLC inliners, which are tailored for Plutus scripts and make more informed inlining decisions. + ## Be Mindful of Strict Applications In Plutus Tx, as with all strict languages, function applications are strict (call by value), with the exception of a few special functions like `&&` and `||`, which are treated specially by the compiler. diff --git a/doc/docusaurus/docs/using-plutus-tx/extensions-flags-pragmas.md b/doc/docusaurus/docs/using-plutus-tx/extensions-flags-pragmas.md index 8215539e855..f4872c9deb7 100644 --- a/doc/docusaurus/docs/using-plutus-tx/extensions-flags-pragmas.md +++ b/doc/docusaurus/docs/using-plutus-tx/extensions-flags-pragmas.md @@ -69,7 +69,7 @@ ghc-options: ### Pragmas -All functions and methods should have the `INLINEABLE` pragma, so that their unfoldings are made available to the Plutus Tx compiler. +All functions and methods should have the `INLINEABLE` pragma (not the `INLINE` pragma, which should generally be avoided), so that their unfoldings are made available to the Plutus Tx compiler. The `-fexpose-all-unfoldings` flag also makes GHC expose all unfoldings, but unfoldings exposed this way can be more optimized than unfoldings exposed via `INLINEABLE`. In general, we do not want GHC to perform optimizations, since GHC optimizes a program based on the assumption that it has non-strict semantics and is evaluated lazily (call by need), which is not true for Plutus Tx programs. From ed5cd39a57584f3d05258199a3903b6e5caf2d74 Mon Sep 17 00:00:00 2001 From: Ziyang Liu Date: Tue, 8 Oct 2024 20:07:24 -0700 Subject: [PATCH 14/70] Update the Haddock Documentation page in the user guide (#6546) --- .../docs/delve-deeper/haddock-documentation.md | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/doc/docusaurus/docs/delve-deeper/haddock-documentation.md b/doc/docusaurus/docs/delve-deeper/haddock-documentation.md index 8436c7008ce..91a7ca3f3a1 100644 --- a/doc/docusaurus/docs/delve-deeper/haddock-documentation.md +++ b/doc/docusaurus/docs/delve-deeper/haddock-documentation.md @@ -2,16 +2,11 @@ sidebar_position: 3 --- -# Haddock documentation +# Haddock Documentation -## Public Plutus code libraries +Haddock is a tool for automatically generating documentation from annotated Haskell source code. +The Haddock for the latest release of public libraries from the [plutus repository](https://github.com/IntersectMBO/plutus) is available [here](https://plutus.cardano.intersectmbo.org/haddock/latest). +You can also use the dropdown menu to view the Haddock for an older release or the master branch. -The documentation generated by Haddock provides a comprehehsive reference for the [public Plutus code libraries](https://plutus.cardano.intersectmbo.org/haddock/latest), an essential resource for developers working with Haskell and Plutus Core. - -### Highlighted modules - -Highlighted modules in the documentation include the following: -- [PlutusTx](https://plutus.cardano.intersectmbo.org/haddock/latest/plutus-tx/PlutusTx.html): compiling Haskell to PLC (Plutus Core; on-chain code) -- [PlutusTx.Prelude](https://plutus.cardano.intersectmbo.org/haddock/latest/plutus-tx/PlutusTx-Prelude.html): Haskell prelude replacement compatible with PLC -- [PlutusCore](https://plutus.cardano.intersectmbo.org/haddock/latest/plutus-core/PlutusCore.html): programming language in which scripts on the Cardano blockchain are written -- [UntypedPlutusCore](https://plutus.cardano.intersectmbo.org/haddock/latest/plutus-core/UntypedPlutusCore.html): on-chain Plutus code. +When writing validators with Plutus Tx, modules in the `plutus-tx` package will be the most relevant. +If you're interested in learning about lower-level languages, check out the `PlutusIR`, `PlutusCore` and `UntypedPlutusCore` modules. From be2555ef697dbef222fce8ae075013d5a28baf00 Mon Sep 17 00:00:00 2001 From: zeme-wana <15709674+zeme-wana@users.noreply.github.com> Date: Wed, 9 Oct 2024 09:28:13 +0200 Subject: [PATCH 15/70] Add new URL exception to check-broken-links.sh (#6551) --- scripts/check-broken-links.sh | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/scripts/check-broken-links.sh b/scripts/check-broken-links.sh index 72e707b71c2..53ba5c377a7 100755 --- a/scripts/check-broken-links.sh +++ b/scripts/check-broken-links.sh @@ -5,8 +5,11 @@ TARGETS=( *.adoc ) +# For some reason linkchecker fails to check these URLs though they are valid IGNORE_URLS=( - --ignore-url https://img.shields.io/matrix/plutus-core%3Amatrix.org # For some reason linkchecker fails to check this URL though it is valid + --ignore-url="^https://pvp\.haskell\.org.*" + --ignore-url="^https://www\.haskell\.org/cabal.*" + --ignore-url="^https://img\.shields\.io/matrix/plutus-core%3Amatrix\.org.*" ) FAILED=0 From df74625d8090fec20d938eb9563340af3ddd79fb Mon Sep 17 00:00:00 2001 From: zeme-wana <15709674+zeme-wana@users.noreply.github.com> Date: Wed, 9 Oct 2024 10:20:50 +0200 Subject: [PATCH 16/70] Add new ignored urls and fix logic in check-broken-links.sh (#6552) --- scripts/check-broken-links.sh | 38 ++++++++++++++++++++--------------- 1 file changed, 22 insertions(+), 16 deletions(-) diff --git a/scripts/check-broken-links.sh b/scripts/check-broken-links.sh index 53ba5c377a7..53b5e4a36a6 100755 --- a/scripts/check-broken-links.sh +++ b/scripts/check-broken-links.sh @@ -5,30 +5,36 @@ TARGETS=( *.adoc ) -# For some reason linkchecker fails to check these URLs though they are valid +# For some reason linkchecker fails to check these URLs though they are valid. +# It's plausible that these domains are blocking the linkchecker user agent, or +# that we are running into rate-limiting issues. IGNORE_URLS=( - --ignore-url="^https://pvp\.haskell\.org.*" - --ignore-url="^https://www\.haskell\.org/cabal.*" - --ignore-url="^https://img\.shields\.io/matrix/plutus-core%3Amatrix\.org.*" + https://pvp.haskell.org + https://www.haskell.org/cabal ) FAILED=0 +check_links() { + linkchecker --no-warnings --recursion-level 0 --output failures --check-extern --stdin +} + grep_links() { - grep -oE "\b(https?://|www\.)[^\[\(\)\"]+\b" "$1" + for file in $(find "${TARGETS[@]}"); do + grep -oE "\b(https?://|www\.)[^\[\(\)\"]+\b" "${file}" + done } -check_links() { - linkchecker --no-warnings --recursion-level 0 --output failures --check-extern "${IGNORE_URLS[@]}" --stdin +valid_links() { + local all_links="$(grep_links | sort | uniq | tr ' ' '\n')" + local ignore_links="$(echo "${IGNORE_URLS[@]}" | sort | uniq | tr ' ' '\n')" + comm -3 <(echo "$all_links") <(echo "$ignore_links") } -for file in $(find "${TARGETS[@]}"); do - echo "Checking ${file}" - grep_links "${file}" | check_links - if [ $? -ne 0 ]; then - echo "${file} has broken links, see output above" - FAILED=1 - fi -done +check_links <<< "$(valid_links)" + +if [[ "$?" != "0" ]]; then + echo "Found broken links, see output above" + exit 1 +fi -exit "${FAILED}" From 6a5d5a273b3c9f8c07f22dad43f5c84424479a47 Mon Sep 17 00:00:00 2001 From: Kenneth MacKenzie Date: Wed, 9 Oct 2024 18:13:51 +0100 Subject: [PATCH 17/70] Kwxm/write bits/new semantics (#6547) * Initial updates to writeBits * Update some conformance tests * Update more conformance tests * Remove trailing spaces * Update budgeting benchmarks * Update comment in PlutusTx * Update untyped-plutus-core-test * Update plutus-core-test * Update bitwise use case benchmarks and golden files * Update golden files in cardano-constitution * Add changelog entries * throw -> throwIO * Update CSV file --- .../Validator/GoldenTests/sorted.uplc.golden | 72 +++-- .../GoldenTests/unsorted.uplc.golden | 86 +++-- .../bitwise/src/PlutusBenchmark/Ed25519.hs | 4 +- .../bitwise/src/PlutusBenchmark/NQueens.hs | 2 +- .../bitwise/test/9.6/8 queens.budget.golden | 4 +- .../bitwise/test/9.6/8 queens.pir.golden | 59 +--- .../bitwise/test/9.6/8 queens.size.golden | 2 +- .../bitwise/test/9.6/Ed25519.budget.golden | 4 +- .../bitwise/test/9.6/Ed25519.pir.golden | 55 +--- .../bitwise/test/9.6/Ed25519.size.golden | 2 +- .../semantics/writeBits/case-1/case-1.uplc | 2 +- .../semantics/writeBits/case-10/case-10.uplc | 2 +- .../semantics/writeBits/case-11/case-11.uplc | 2 +- .../semantics/writeBits/case-12/case-12.uplc | 2 +- .../semantics/writeBits/case-13/case-13.uplc | 2 +- .../semantics/writeBits/case-14/case-14.uplc | 2 +- .../semantics/writeBits/case-15/case-15.uplc | 2 +- .../semantics/writeBits/case-16/case-16.uplc | 2 +- .../semantics/writeBits/case-17/case-17.uplc | 2 +- .../semantics/writeBits/case-18/case-18.uplc | 2 +- .../semantics/writeBits/case-19/case-19.uplc | 2 +- .../semantics/writeBits/case-2/case-2.uplc | 2 +- .../semantics/writeBits/case-20/case-20.uplc | 2 +- .../semantics/writeBits/case-21/case-21.uplc | 2 +- .../semantics/writeBits/case-22/case-22.uplc | 2 +- .../semantics/writeBits/case-23/case-23.uplc | 2 +- .../semantics/writeBits/case-24/case-24.uplc | 2 +- .../writeBits/case-24/case-24.uplc.expected | 2 +- .../semantics/writeBits/case-25/case-25.uplc | 2 +- .../semantics/writeBits/case-26/case-26.uplc | 21 +- .../case-26/case-26.uplc.budget.expected | 4 +- .../semantics/writeBits/case-27/case-27.uplc | 21 +- .../case-27/case-27.uplc.budget.expected | 4 +- .../semantics/writeBits/case-28/case-28.uplc | 2 +- .../semantics/writeBits/case-29/case-29.uplc | 2 +- .../semantics/writeBits/case-3/case-3.uplc | 2 +- .../semantics/writeBits/case-30/case-30.uplc | 2 +- .../semantics/writeBits/case-31/case-31.uplc | 17 +- .../case-31/case-31.uplc.budget.expected | 4 +- .../semantics/writeBits/case-32/case-32.uplc | 2 +- .../writeBits/case-32/case-32.uplc.expected | 2 +- .../semantics/writeBits/case-33/case-33.uplc | 4 +- .../case-33/case-33.uplc.budget.expected | 2 +- .../semantics/writeBits/case-34/case-34.uplc | 15 +- .../semantics/writeBits/case-35/case-35.uplc | 3 +- .../semantics/writeBits/case-36/case-36.uplc | 2 +- .../semantics/writeBits/case-37/case-37.uplc | 2 +- .../semantics/writeBits/case-38/case-38.uplc | 2 +- .../semantics/writeBits/case-39/case-39.uplc | 2 +- .../semantics/writeBits/case-4/case-4.uplc | 2 +- .../semantics/writeBits/case-40/case-40.uplc | 2 +- .../semantics/writeBits/case-5/case-5.uplc | 2 +- .../semantics/writeBits/case-6/case-6.uplc | 2 +- .../semantics/writeBits/case-7/case-7.uplc | 2 +- .../semantics/writeBits/case-8/case-8.uplc | 2 +- .../semantics/writeBits/case-9/case-9.uplc | 2 +- ..._220810_kenneth.mackenzie_new_semantics.md | 19 ++ .../budgeting-bench/Benchmarks/Bitwise.hs | 24 +- .../cost-model/data/benching-conway.csv | 300 +++++++++--------- plutus-core/cost-model/data/models.R | 5 +- .../plutus-core/src/PlutusCore/Bitwise.hs | 24 +- .../src/PlutusCore/Default/Builtins.hs | 5 +- .../Golden/DefaultFun/WriteBits.plc.golden | 2 +- .../DefaultFun/WriteBits.sig.golden | 2 +- .../test/Evaluation/Builtins/Laws.hs | 60 ++-- .../src/Algorithmic/CEK.lagda.md | 2 +- plutus-metatheory/src/Builtin.lagda.md | 6 +- plutus-metatheory/src/Untyped/CEK.lagda.md | 4 +- .../test/Plugin/Primitives/Spec.hs | 2 +- ..._221415_kenneth.mackenzie_new_semantics.md | 19 ++ plutus-tx/src/PlutusTx/Builtins.hs | 29 +- plutus-tx/src/PlutusTx/Builtins/Internal.hs | 6 +- 72 files changed, 493 insertions(+), 473 deletions(-) create mode 100644 plutus-core/changelog.d/20241008_220810_kenneth.mackenzie_new_semantics.md create mode 100644 plutus-tx/changelog.d/20241008_221415_kenneth.mackenzie_new_semantics.md diff --git a/cardano-constitution/test/Cardano/Constitution/Validator/GoldenTests/sorted.uplc.golden b/cardano-constitution/test/Cardano/Constitution/Validator/GoldenTests/sorted.uplc.golden index 18cb590f48c..fc56140d431 100644 --- a/cardano-constitution/test/Cardano/Constitution/Validator/GoldenTests/sorted.uplc.golden +++ b/cardano-constitution/test/Cardano/Constitution/Validator/GoldenTests/sorted.uplc.golden @@ -757,19 +757,19 @@ program (constr 3 [ (constr 1 [ cse - , cse ]) ])) + , (constr 1 + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ cse + , cse ]) ]) + , (constr 0 + [ ]) ]) ]) ])) (constr 3 [ (constr 1 [ cse - , (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , (constr 1 - [ cse - , cse ]) ]) - , (constr 0 - [ ]) ]) ]) ])) + , cse ]) ])) (constr 1 [ (constr 3 [ (constr 1 @@ -801,15 +801,15 @@ program , (constr 1 [ cse , (constr 1 - [ (cse - 100) + [ cse , (constr 0 [ ]) ]) ]) ])) (constr 0 [ (constr 1 [ ]) , (constr 1 - [ cse + [ (cse + 10) , cse ]) ])) (constr 1 [ (constr 0 @@ -835,17 +835,18 @@ program , (constr 0 [ ]) ])) (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , (constr 1 - [ 500000000 - , (constr 0 - [ ]) ]) ]) + [ (cse + 4) , (constr 0 [ ]) ])) (constr 1 - [ cse + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ 500000000 + , (constr 0 + [ ]) ]) ]) , (constr 0 [ ]) ])) (constr 1 @@ -859,13 +860,14 @@ program (cse 2)) (cse - 10)) - (constr 0 - [ (constr 1 - [ ]) - , cse ])) - (cse 5)) - (cse 4)) + 100)) + (cse + 1)) + (constr 0 + [ (constr 1 + [ ]) + , cse ])) + (cse 5)) (constr 0 [ (constr 1 []) @@ -874,14 +876,14 @@ program , (constr 0 [ ]) ]) ])) (cse 1)) - (cse 1)) - (unsafeRatio 9 10)) + (cse 10)) + (unsafeRatio 4)) (unsafeRatio 0)) - (unsafeRatio 1)) - (unsafeRatio 3)) - (unsafeRatio 51)) - (constr 1 [0, (constr 0 [])])) - (unsafeRatio 4)) + (unsafeRatio 3)) + (unsafeRatio 9)) + (constr 1 [0, (constr 0 [])])) + (unsafeRatio 1)) + (unsafeRatio 51)) (fix1 (\go l -> force (force chooseList) diff --git a/cardano-constitution/test/Cardano/Constitution/Validator/GoldenTests/unsorted.uplc.golden b/cardano-constitution/test/Cardano/Constitution/Validator/GoldenTests/unsorted.uplc.golden index ed9dc01661e..a2502224c04 100644 --- a/cardano-constitution/test/Cardano/Constitution/Validator/GoldenTests/unsorted.uplc.golden +++ b/cardano-constitution/test/Cardano/Constitution/Validator/GoldenTests/unsorted.uplc.golden @@ -812,10 +812,7 @@ program [ ]) , (constr 1 [ cse - , (constr 1 - [ cse - , (constr 0 - [ ]) ]) ]) ]) + , cse ]) ]) , (constr 0 [ ]) ]) ]) ])) (constr 3 @@ -827,7 +824,10 @@ program [ ]) , (constr 1 [ cse - , cse ]) ]) + , (constr 1 + [ cse + , (constr 0 + [ ]) ]) ]) ]) , (constr 0 [ ]) ]) ]) ])) (constr 1 @@ -860,16 +860,16 @@ program [ ]) , (constr 1 [ cse - , cse ]) ])) + , (constr 1 + [ cse + , (constr 0 + [ ]) ]) ]) ])) (constr 0 [ (constr 1 [ ]) , (constr 1 [ cse - , (constr 1 - [ cse - , (constr 0 - [ ]) ]) ]) ])) + , cse ]) ])) (constr 1 [ (constr 0 [ (constr 0 @@ -894,17 +894,17 @@ program , (constr 0 [ ]) ])) (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , (constr 1 - [ 500000000 - , (constr 0 - [ ]) ]) ]) + [ cse , (constr 0 [ ]) ])) (constr 1 - [ cse + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ 500000000 + , (constr 0 + [ ]) ]) ]) , (constr 0 [ ]) ])) (constr 1 @@ -913,38 +913,36 @@ program [ ]) ])) (constr 1 [ (cse - 4) + 1) , (constr 0 [ ]) ])) (cse - 2)) + 10)) (cse 10)) - (cse - 100)) + (constr 0 + [ (constr 1 + [ ]) + , cse ])) (cse - 1)) - (constr 0 - [ (constr 1 - [ ]) - , cse ])) - (cse 5)) - (constr 0 - [ (constr 1 - []) - , (constr 1 - [ 1 - , (constr 0 - [ ]) ]) ])) - (cse 1)) - (cse 10)) - (unsafeRatio 1)) - (unsafeRatio 51)) - (unsafeRatio 9)) - (unsafeRatio 4)) - (unsafeRatio 3)) - (constr 1 [0, (constr 0 [])])) - (unsafeRatio 0)) + 5)) + (cse 2)) + (cse 100)) + (cse 1)) + (constr 0 + [ (constr 1 []) + , (constr 1 + [ 1 + , (constr 0 + [ ]) ]) ])) + (cse 4)) + (unsafeRatio 9)) + (unsafeRatio 3)) + (unsafeRatio 1)) + (unsafeRatio 0)) + (unsafeRatio 4)) + (unsafeRatio 51)) + (constr 1 [0, (constr 0 [])])) (fix1 (\go l -> force (force chooseList) diff --git a/plutus-benchmark/bitwise/src/PlutusBenchmark/Ed25519.hs b/plutus-benchmark/bitwise/src/PlutusBenchmark/Ed25519.hs index 029d1595dfa..59b5847cb2e 100644 --- a/plutus-benchmark/bitwise/src/PlutusBenchmark/Ed25519.hs +++ b/plutus-benchmark/bitwise/src/PlutusBenchmark/Ed25519.hs @@ -52,7 +52,7 @@ encodePoint (Point (x, y)) = result where zeroPos :: Integer zeroPos = 7 - result = writeBits yBS [zeroPos] [xLSBVal] + result = writeBits yBS [zeroPos] xLSBVal yBS = integerToByteString LittleEndian 32 y xBS = integerToByteString LittleEndian 32 x xLSBVal = readBit xBS 248 @@ -117,7 +117,7 @@ xRecover y = {-# INLINEABLE clearBit #-} clearBit :: Integer -> BuiltinByteString -> BuiltinByteString -clearBit ix bs = writeBits bs [ix] [False] +clearBit ix bs = writeBits bs [ix] False {-# INLINEABLE inv #-} inv :: Integer -> Integer diff --git a/plutus-benchmark/bitwise/src/PlutusBenchmark/NQueens.hs b/plutus-benchmark/bitwise/src/PlutusBenchmark/NQueens.hs index 8b87152940c..7d8eda46bc8 100644 --- a/plutus-benchmark/bitwise/src/PlutusBenchmark/NQueens.hs +++ b/plutus-benchmark/bitwise/src/PlutusBenchmark/NQueens.hs @@ -74,4 +74,4 @@ selectByteString which bs {-# INLINE writeBit #-} writeBit :: BuiltinByteString -> Integer -> Bool -> BuiltinByteString -writeBit bs i b = writeBits bs [i] [b] +writeBit bs i b = writeBits bs [i] b diff --git a/plutus-benchmark/bitwise/test/9.6/8 queens.budget.golden b/plutus-benchmark/bitwise/test/9.6/8 queens.budget.golden index 39e3b382798..8fb82387dd0 100644 --- a/plutus-benchmark/bitwise/test/9.6/8 queens.budget.golden +++ b/plutus-benchmark/bitwise/test/9.6/8 queens.budget.golden @@ -1,2 +1,2 @@ -({cpu: 448084881560 -| mem: 1786827931}) \ No newline at end of file +({cpu: 409142294016 +| mem: 1575213647}) \ No newline at end of file diff --git a/plutus-benchmark/bitwise/test/9.6/8 queens.pir.golden b/plutus-benchmark/bitwise/test/9.6/8 queens.pir.golden index a12eaa93c5c..05c8b04779c 100644 --- a/plutus-benchmark/bitwise/test/9.6/8 queens.pir.golden +++ b/plutus-benchmark/bitwise/test/9.6/8 queens.pir.golden @@ -35,25 +35,6 @@ Nil : List a Cons : a -> List a -> List a in - letrec - !goList : List Bool -> list bool - = \(ds : List Bool) -> - List_match - {Bool} - ds - {list bool} - [] - (\(d : Bool) (ds : List Bool) -> - mkCons - {bool} - (Bool_match - d - {all dead. bool} - (/\dead -> True) - (/\dead -> False) - {all dead. dead}) - (goList ds)) - in letrec !goList : List integer -> list integer = \(ds : List integer) -> @@ -66,9 +47,17 @@ mkCons {integer} d (goList ds)) in let - !writeBits : bytestring -> List integer -> List Bool -> bytestring - = \(bs : bytestring) (ixes : List integer) (bits : List Bool) -> - writeBits bs (goList ixes) (goList bits) + !writeBits : bytestring -> List integer -> Bool -> bytestring + = \(bs : bytestring) (ixes : List integer) (bit : Bool) -> + writeBits + bs + (goList ixes) + (Bool_match + bit + {all dead. bool} + (/\dead -> True) + (/\dead -> False) + {all dead. dead}) in \(dim : data) -> let @@ -140,14 +129,7 @@ (\(ds : integer) (ds : List integer) -> Cons {integer} ds ds) (Nil {integer})) - ((let - a = List Bool - in - \(c : Bool -> a -> a) (n : a) -> - c True n) - (\(ds : Bool) (ds : List Bool) -> - Cons {Bool} ds ds) - (Nil {Bool}))) + True) -1 !newLeft : bytestring = shiftByteString @@ -161,14 +143,7 @@ (\(ds : integer) (ds : List integer) -> Cons {integer} ds ds) (Nil {integer})) - ((let - a = List Bool - in - \(c : Bool -> a -> a) (n : a) -> - c True n) - (\(ds : Bool) (ds : List Bool) -> - Cons {Bool} ds ds) - (Nil {Bool}))) + True) 1 !newDown : bytestring = writeBits @@ -181,13 +156,7 @@ (\(ds : integer) (ds : List integer) -> Cons {integer} ds ds) (Nil {integer})) - ((let - a = List Bool - in - \(c : Bool -> a -> a) (n : a) -> c True n) - (\(ds : Bool) (ds : List Bool) -> - Cons {Bool} ds ds) - (Nil {Bool})) + True !newControl : bytestring = complementByteString (orByteString diff --git a/plutus-benchmark/bitwise/test/9.6/8 queens.size.golden b/plutus-benchmark/bitwise/test/9.6/8 queens.size.golden index 26f5507e837..c0220a2ad40 100644 --- a/plutus-benchmark/bitwise/test/9.6/8 queens.size.golden +++ b/plutus-benchmark/bitwise/test/9.6/8 queens.size.golden @@ -1 +1 @@ -423 \ No newline at end of file +397 \ No newline at end of file diff --git a/plutus-benchmark/bitwise/test/9.6/Ed25519.budget.golden b/plutus-benchmark/bitwise/test/9.6/Ed25519.budget.golden index dbd0d90d077..10693c22015 100644 --- a/plutus-benchmark/bitwise/test/9.6/Ed25519.budget.golden +++ b/plutus-benchmark/bitwise/test/9.6/Ed25519.budget.golden @@ -1,2 +1,2 @@ -({cpu: 2137056280968 -| mem: 7088454570}) \ No newline at end of file +({cpu: 2137054479882 +| mem: 7088444574}) \ No newline at end of file diff --git a/plutus-benchmark/bitwise/test/9.6/Ed25519.pir.golden b/plutus-benchmark/bitwise/test/9.6/Ed25519.pir.golden index c59f427b5e6..de4b86f3f7d 100644 --- a/plutus-benchmark/bitwise/test/9.6/Ed25519.pir.golden +++ b/plutus-benchmark/bitwise/test/9.6/Ed25519.pir.golden @@ -8,30 +8,6 @@ Nil : List a Cons : a -> List a -> List a in - let - data Bool | Bool_match where - True : Bool - False : Bool - in - letrec - !goList : List Bool -> list bool - = \(ds : List Bool) -> - List_match - {Bool} - ds - {list bool} - [] - (\(d : Bool) (ds : List Bool) -> - mkCons - {bool} - (Bool_match - d - {all dead. bool} - (/\dead -> True) - (/\dead -> False) - {all dead. dead}) - (goList ds)) - in letrec !goList : List integer -> list integer = \(ds : List integer) -> @@ -44,9 +20,20 @@ mkCons {integer} d (goList ds)) in let - !writeBits : bytestring -> List integer -> List Bool -> bytestring - = \(bs : bytestring) (ixes : List integer) (bits : List Bool) -> - writeBits bs (goList ixes) (goList bits) + data Bool | Bool_match where + True : Bool + False : Bool + !writeBits : bytestring -> List integer -> Bool -> bytestring + = \(bs : bytestring) (ixes : List integer) (bit : Bool) -> + writeBits + bs + (goList ixes) + (Bool_match + bit + {all dead. bool} + (/\dead -> True) + (/\dead -> False) + {all dead. dead}) !even : integer -> Bool = \(n : integer) -> ifThenElse {Bool} (equalsInteger 0 (modInteger n 2)) True False @@ -219,12 +206,7 @@ (\(ds : integer) (ds : List integer) -> Cons {integer} ds ds) (Nil {integer})) - ((let - a = List Bool - in - \(c : Bool -> a -> a) (n : a) -> c False n) - (\(ds : Bool) (ds : List Bool) -> Cons {Bool} ds ds) - (Nil {Bool}))) + False) !x : integer = xRecover yInt !x_ : Bool = ifThenElse {Bool} (readBit bs 7) True False in @@ -615,12 +597,7 @@ (\(ds : integer) (ds : List integer) -> Cons {integer} ds ds) (Nil {integer})) - ((let - a = List Bool - in - \(c : Bool -> a -> a) (n : a) -> c xLSBVal n) - (\(ds : Bool) (ds : List Bool) -> Cons {Bool} ds ds) - (Nil {Bool})))) + xLSBVal)) (appendByteString pubKey message) in byteStringToInteger diff --git a/plutus-benchmark/bitwise/test/9.6/Ed25519.size.golden b/plutus-benchmark/bitwise/test/9.6/Ed25519.size.golden index a0a5a7ae45e..8da753ea595 100644 --- a/plutus-benchmark/bitwise/test/9.6/Ed25519.size.golden +++ b/plutus-benchmark/bitwise/test/9.6/Ed25519.size.golden @@ -1 +1 @@ -3442 \ No newline at end of file +3417 \ No newline at end of file diff --git a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-1/case-1.uplc b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-1/case-1.uplc index 1ef05441be6..4100d67c5ed 100644 --- a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-1/case-1.uplc +++ b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-1/case-1.uplc @@ -1,4 +1,4 @@ (program 1.0.0 [ [ [ (builtin writeBits) (con bytestring #) ] (con (list integer) [0]) ] - (con (list bool) [False]) + (con bool False) ]) \ No newline at end of file diff --git a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-10/case-10.uplc b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-10/case-10.uplc index 0b114f29e09..644baaa680b 100644 --- a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-10/case-10.uplc +++ b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-10/case-10.uplc @@ -1,4 +1,4 @@ (program 1.0.0 [ [ [ (builtin writeBits) (con bytestring #ff) ] (con (list integer) [8,1]) ] - (con (list bool) [False,False]) + (con bool False) ]) \ No newline at end of file diff --git a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-11/case-11.uplc b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-11/case-11.uplc index 0e7bf5bbc31..3fa32c48ef7 100644 --- a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-11/case-11.uplc +++ b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-11/case-11.uplc @@ -1,4 +1,4 @@ (program 1.0.0 [ [ [ (builtin writeBits) (con bytestring #ff) ] (con (list integer) [0]) ] - (con (list bool) [False]) + (con bool False) ]) \ No newline at end of file diff --git a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-12/case-12.uplc b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-12/case-12.uplc index d4c8c2f6586..7b126f76a78 100644 --- a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-12/case-12.uplc +++ b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-12/case-12.uplc @@ -1,4 +1,4 @@ (program 1.0.0 [ [ [ (builtin writeBits) (con bytestring #ff) ] (con (list integer) [1]) ] - (con (list bool) [False]) + (con bool False) ]) \ No newline at end of file diff --git a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-13/case-13.uplc b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-13/case-13.uplc index 4851f0efdf2..824f951af19 100644 --- a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-13/case-13.uplc +++ b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-13/case-13.uplc @@ -1,4 +1,4 @@ (program 1.0.0 [ [ [ (builtin writeBits) (con bytestring #ff) ] (con (list integer) [2]) ] - (con (list bool) [False]) + (con bool False) ]) \ No newline at end of file diff --git a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-14/case-14.uplc b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-14/case-14.uplc index c827fe671b2..1302a4e5fcf 100644 --- a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-14/case-14.uplc +++ b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-14/case-14.uplc @@ -1,4 +1,4 @@ (program 1.0.0 [ [ [ (builtin writeBits) (con bytestring #ff) ] (con (list integer) [3]) ] - (con (list bool) [False]) + (con bool False) ]) \ No newline at end of file diff --git a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-15/case-15.uplc b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-15/case-15.uplc index 9410281949a..b22cacf3e53 100644 --- a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-15/case-15.uplc +++ b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-15/case-15.uplc @@ -1,4 +1,4 @@ (program 1.0.0 [ [ [ (builtin writeBits) (con bytestring #ff) ] (con (list integer) [4]) ] - (con (list bool) [False]) + (con bool False) ]) \ No newline at end of file diff --git a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-16/case-16.uplc b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-16/case-16.uplc index ec92d8f0d16..25c4c48dc16 100644 --- a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-16/case-16.uplc +++ b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-16/case-16.uplc @@ -1,4 +1,4 @@ (program 1.0.0 [ [ [ (builtin writeBits) (con bytestring #ff) ] (con (list integer) [5]) ] - (con (list bool) [False]) + (con bool False) ]) \ No newline at end of file diff --git a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-17/case-17.uplc b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-17/case-17.uplc index 42fa1a9b4b0..52daf4841a2 100644 --- a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-17/case-17.uplc +++ b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-17/case-17.uplc @@ -1,4 +1,4 @@ (program 1.0.0 [ [ [ (builtin writeBits) (con bytestring #ff) ] (con (list integer) [6]) ] - (con (list bool) [False]) + (con bool False) ]) \ No newline at end of file diff --git a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-18/case-18.uplc b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-18/case-18.uplc index 5af27a8871a..7d7cdd32faa 100644 --- a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-18/case-18.uplc +++ b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-18/case-18.uplc @@ -1,4 +1,4 @@ (program 1.0.0 [ [ [ (builtin writeBits) (con bytestring #ff) ] (con (list integer) [7]) ] - (con (list bool) [False]) + (con bool False) ]) \ No newline at end of file diff --git a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-19/case-19.uplc b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-19/case-19.uplc index 1ce33b3226b..8bc796ffa0a 100644 --- a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-19/case-19.uplc +++ b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-19/case-19.uplc @@ -1,4 +1,4 @@ (program 1.0.0 [ [ [ (builtin writeBits) (con bytestring #00) ] (con (list integer) [5]) ] - (con (list bool) [True]) + (con bool True) ]) \ No newline at end of file diff --git a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-2/case-2.uplc b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-2/case-2.uplc index d38b4fe2c52..febc1f798d1 100644 --- a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-2/case-2.uplc +++ b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-2/case-2.uplc @@ -1,4 +1,4 @@ (program 1.0.0 [ [ [ (builtin writeBits) (con bytestring #) ] (con (list integer) [15]) ] - (con (list bool) [False]) + (con bool False) ]) \ No newline at end of file diff --git a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-20/case-20.uplc b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-20/case-20.uplc index ec92d8f0d16..25c4c48dc16 100644 --- a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-20/case-20.uplc +++ b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-20/case-20.uplc @@ -1,4 +1,4 @@ (program 1.0.0 [ [ [ (builtin writeBits) (con bytestring #ff) ] (con (list integer) [5]) ] - (con (list bool) [False]) + (con bool False) ]) \ No newline at end of file diff --git a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-21/case-21.uplc b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-21/case-21.uplc index f4c011fc936..d5622a66ebe 100644 --- a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-21/case-21.uplc +++ b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-21/case-21.uplc @@ -1,4 +1,4 @@ (program 1.0.0 [ [ [ (builtin writeBits) (con bytestring #f4ff) ] (con (list integer) [10]) ] - (con (list bool) [False]) + (con bool False) ]) \ No newline at end of file diff --git a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-22/case-22.uplc b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-22/case-22.uplc index f6ff14cf089..856c7fca43c 100644 --- a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-22/case-22.uplc +++ b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-22/case-22.uplc @@ -1,4 +1,4 @@ (program 1.0.0 [ [ [ (builtin writeBits) (con bytestring #f4ff) ] (con (list integer) [10,1]) ] - (con (list bool) [False,False]) + (con bool False) ]) \ No newline at end of file diff --git a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-23/case-23.uplc b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-23/case-23.uplc index e2077c69b26..d5622a66ebe 100644 --- a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-23/case-23.uplc +++ b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-23/case-23.uplc @@ -1,4 +1,4 @@ (program 1.0.0 [ [ [ (builtin writeBits) (con bytestring #f4ff) ] (con (list integer) [10]) ] - (con (list bool) [False,False]) + (con bool False) ]) \ No newline at end of file diff --git a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-24/case-24.uplc b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-24/case-24.uplc index 63435ee6610..856c7fca43c 100644 --- a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-24/case-24.uplc +++ b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-24/case-24.uplc @@ -1,4 +1,4 @@ (program 1.0.0 [ [ [ (builtin writeBits) (con bytestring #f4ff) ] (con (list integer) [10,1]) ] - (con (list bool) [False]) + (con bool False) ]) \ No newline at end of file diff --git a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-24/case-24.uplc.expected b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-24/case-24.uplc.expected index 334e02172d7..3782838d304 100644 --- a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-24/case-24.uplc.expected +++ b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-24/case-24.uplc.expected @@ -1 +1 @@ -(program 1.0.0 (con bytestring #f0ff)) \ No newline at end of file +(program 1.0.0 (con bytestring #f0fd)) \ No newline at end of file diff --git a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-25/case-25.uplc b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-25/case-25.uplc index 3f7a427354c..a5b2de0cc7f 100644 --- a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-25/case-25.uplc +++ b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-25/case-25.uplc @@ -1,4 +1,4 @@ (program 1.0.0 [ [ [ (builtin writeBits) (con bytestring #f4ff) ] (con (list integer) [1,10]) ] - (con (list bool) [False,False]) + (con bool False) ]) \ No newline at end of file diff --git a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-26/case-26.uplc b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-26/case-26.uplc index 21b77af4b1f..0c18dfeabc1 100644 --- a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-26/case-26.uplc +++ b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-26/case-26.uplc @@ -1,6 +1,19 @@ -(program 1.0.0 [ +(program 1.0.0 + [ [ - [ (builtin writeBits) (con bytestring #00ff) ] (con (list integer) [10,10]) + (builtin writeBits) + [ + [ + [ + (builtin writeBits) + (con bytestring #00ff) + ] + (con (list integer) [10]) + ] + (con bool True) + ] + (con (list integer) [10]) ] - (con (list bool) [True,False]) -]) \ No newline at end of file + (con bool False) + ] +) \ No newline at end of file diff --git a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-26/case-26.uplc.budget.expected b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-26/case-26.uplc.budget.expected index 30dac2d1008..d51c314bbff 100644 --- a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-26/case-26.uplc.budget.expected +++ b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-26/case-26.uplc.budget.expected @@ -1,2 +1,2 @@ -({cpu: 430941 -| mem: 801}) \ No newline at end of file +({cpu: 808086 +| mem: 1402}) \ No newline at end of file diff --git a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-27/case-27.uplc b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-27/case-27.uplc index 37607f93e78..9ab252bdba0 100644 --- a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-27/case-27.uplc +++ b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-27/case-27.uplc @@ -1,6 +1,19 @@ -(program 1.0.0 [ +(program 1.0.0 + [ [ - [ (builtin writeBits) (con bytestring #00ff) ] (con (list integer) [10,10]) + (builtin writeBits) + [ + [ + [ + (builtin writeBits) + (con bytestring #00ff) + ] + (con (list integer) [10]) + ] + (con bool False) + ] + (con (list integer) [10]) ] - (con (list bool) [False,True]) -]) \ No newline at end of file + (con bool True) + ] +) \ No newline at end of file diff --git a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-27/case-27.uplc.budget.expected b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-27/case-27.uplc.budget.expected index 30dac2d1008..d51c314bbff 100644 --- a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-27/case-27.uplc.budget.expected +++ b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-27/case-27.uplc.budget.expected @@ -1,2 +1,2 @@ -({cpu: 430941 -| mem: 801}) \ No newline at end of file +({cpu: 808086 +| mem: 1402}) \ No newline at end of file diff --git a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-28/case-28.uplc b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-28/case-28.uplc index 5b870bdd61e..7a35424bad6 100644 --- a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-28/case-28.uplc +++ b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-28/case-28.uplc @@ -1,4 +1,4 @@ (program 1.0.0 [ [ [ (builtin writeBits) (con bytestring #ff) ] (con (list integer) [0]) ] - (con (list bool) [True]) + (con bool True) ]) \ No newline at end of file diff --git a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-29/case-29.uplc b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-29/case-29.uplc index a657123131a..31ae6f5c995 100644 --- a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-29/case-29.uplc +++ b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-29/case-29.uplc @@ -1,4 +1,4 @@ (program 1.0.0 [ [ [ (builtin writeBits) (con bytestring #00) ] (con (list integer) [0]) ] - (con (list bool) [False]) + (con bool False) ]) \ No newline at end of file diff --git a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-3/case-3.uplc b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-3/case-3.uplc index b469903cfe7..6adc004f20f 100644 --- a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-3/case-3.uplc +++ b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-3/case-3.uplc @@ -1,4 +1,4 @@ (program 1.0.0 [ [ [ (builtin writeBits) (con bytestring #) ] (con (list integer) [0]) ] - (con (list bool) [True]) + (con bool True) ]) \ No newline at end of file diff --git a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-30/case-30.uplc b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-30/case-30.uplc index cb007b0e16d..af51ab9623e 100644 --- a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-30/case-30.uplc +++ b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-30/case-30.uplc @@ -7,6 +7,6 @@ ] (con (list integer) [340, 342, 343]) ] - (con (list bool) [True, True, True]) + (con bool True) ] ) \ No newline at end of file diff --git a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-31/case-31.uplc b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-31/case-31.uplc index 5559ecc529b..ef5c4d40b27 100644 --- a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-31/case-31.uplc +++ b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-31/case-31.uplc @@ -1,13 +1,20 @@ --- Later occurences of duplicate indices take precedence. +-- Later updates to duplicate indices take precedence. (program 1.0.0 [ [ + (builtin writeBits) [ - (builtin writeBits) - (con bytestring #00000000000000000000000000000000000000000000000000000000000000000000000000000000000000) + [ + [ + (builtin writeBits) + (con bytestring #00000000000000000000000000000000000000000000000000000000000000000000000000000000000000) + ] + (con (list integer) [340, 342, 343, 340, 342, 343]) + ] + (con bool True) ] - (con (list integer) [340, 342, 343, 340, 342, 343]) + (con (list integer) [340, 342, 343]) ] - (con (list bool) [True, True, True, False, False, False]) + (con bool False) ] ) \ No newline at end of file diff --git a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-31/case-31.uplc.budget.expected b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-31/case-31.uplc.budget.expected index 57c527436ba..07b22130740 100644 --- a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-31/case-31.uplc.budget.expected +++ b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-31/case-31.uplc.budget.expected @@ -1,2 +1,2 @@ -({cpu: 506333 -| mem: 806}) \ No newline at end of file +({cpu: 940022 +| mem: 1412}) \ No newline at end of file diff --git a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-32/case-32.uplc b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-32/case-32.uplc index 8a76c7495f3..5b001bb4311 100644 --- a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-32/case-32.uplc +++ b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-32/case-32.uplc @@ -7,6 +7,6 @@ ] (con (list integer) [340, 342, 343]) ] - (con (list bool) [True, True, True, False, False, False]) -- Only the leftmost values are used if the lists are of different lengths. + (con bool False) ] ) \ No newline at end of file diff --git a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-32/case-32.uplc.expected b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-32/case-32.uplc.expected index 3c632778990..1d4a1034cba 100644 --- a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-32/case-32.uplc.expected +++ b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-32/case-32.uplc.expected @@ -2,6 +2,6 @@ 1.0.0 (con bytestring - #d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + #00000000000000000000000000000000000000000000000000000000000000000000000000000000000000 ) ) \ No newline at end of file diff --git a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-33/case-33.uplc b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-33/case-33.uplc index deaed24226b..cd058275761 100644 --- a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-33/case-33.uplc +++ b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-33/case-33.uplc @@ -5,8 +5,8 @@ (builtin writeBits) (con bytestring #00000000000000000000000000000000000000000000000000000000000000000000000000000000000000) ] - (con (list integer) [340, 342, 343, 1, 2, 3]) -- The leading indices are used if the lists are of different lengths. + (con (list integer) [340, 342, 343, 343, 342, 340, 340, 343, 342, 340, 340, 340]) ] - (con (list bool) [True, True, True]) + (con bool True) ] ) \ No newline at end of file diff --git a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-33/case-33.uplc.budget.expected b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-33/case-33.uplc.budget.expected index 57c527436ba..f4cf56e82dd 100644 --- a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-33/case-33.uplc.budget.expected +++ b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-33/case-33.uplc.budget.expected @@ -1,2 +1,2 @@ -({cpu: 506333 +({cpu: 619421 | mem: 806}) \ No newline at end of file diff --git a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-34/case-34.uplc b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-34/case-34.uplc index 72d4a6a407a..f841c735852 100644 --- a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-34/case-34.uplc +++ b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-34/case-34.uplc @@ -1,12 +1,19 @@ (program 1.0.0 [ [ + (builtin writeBits) [ - (builtin writeBits) - (con bytestring #00000000000000000000000000000000000000000000000000000000000000000000000000000000000000) + [ + [ + (builtin writeBits) + (con bytestring #00000000000000000000000000000000000000000000000000000000000000000000000000000000000000) + ] + (con (list integer) [340, 342, 344]) -- 344 is out of bounds + ] + (con bool True) ] - (con (list integer) [340, 342, 344, 340, 342, 343]) -- 344 is out of bounds + (con (list integer) [344, 340, 342, 343]) ] - (con (list bool) [True, True, True, False, False, False]) + (con bool False) ] ) \ No newline at end of file diff --git a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-35/case-35.uplc b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-35/case-35.uplc index 32f0d367a72..31da757d7ec 100644 --- a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-35/case-35.uplc +++ b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-35/case-35.uplc @@ -1,4 +1,3 @@ --- Bounds are not checked for unused indices (program 1.0.0 [ [ @@ -8,6 +7,6 @@ ] (con (list integer) [340, 342, 344, 1000000]) ] - (con (list bool) [True, True, True]) + (con bool True) ] ) diff --git a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-36/case-36.uplc b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-36/case-36.uplc index 6193aeb758e..8a241a8040c 100644 --- a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-36/case-36.uplc +++ b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-36/case-36.uplc @@ -8,6 +8,6 @@ ] (con (list integer) [9223372036854775807]) -- maxBound :: Int ] - (con (list bool) [True]) + (con bool True) ] ) diff --git a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-37/case-37.uplc b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-37/case-37.uplc index 128a0db2701..b8c9569e0e0 100644 --- a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-37/case-37.uplc +++ b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-37/case-37.uplc @@ -8,6 +8,6 @@ ] (con (list integer) [9223372036854775808]) -- (maxBound :: Int) + 1 ] - (con (list bool) [True]) + (con bool True) ] ) diff --git a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-38/case-38.uplc b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-38/case-38.uplc index 41ea4ec830b..8ad26a27445 100644 --- a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-38/case-38.uplc +++ b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-38/case-38.uplc @@ -8,6 +8,6 @@ ] (con (list integer) [-9223372036854775808]) -- minBound :: Int ] - (con (list bool) [True]) + (con bool True) ] ) diff --git a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-39/case-39.uplc b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-39/case-39.uplc index e1ca8d4bf48..298d37de336 100644 --- a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-39/case-39.uplc +++ b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-39/case-39.uplc @@ -8,6 +8,6 @@ ] (con (list integer) [-9223372036854775809]) -- (minBound :: Int) - 1 ] - (con (list bool) [True]) + (con bool True) ] ) diff --git a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-4/case-4.uplc b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-4/case-4.uplc index 121cfde7b46..94f6546d2e1 100644 --- a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-4/case-4.uplc +++ b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-4/case-4.uplc @@ -1,4 +1,4 @@ (program 1.0.0 [ [ [ (builtin writeBits) (con bytestring #) ] (con (list integer) [0,1]) ] - (con (list bool) [False,False]) + (con bool False) ]) \ No newline at end of file diff --git a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-40/case-40.uplc b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-40/case-40.uplc index 151627294ea..8e939e0b962 100644 --- a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-40/case-40.uplc +++ b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-40/case-40.uplc @@ -8,6 +8,6 @@ ] (con (list integer) [18446744073709551616]) -- 2^64 ] - (con (list bool) [True]) + (con bool True) ] ) diff --git a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-5/case-5.uplc b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-5/case-5.uplc index ceb8b21ed35..d88ac47f89a 100644 --- a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-5/case-5.uplc +++ b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-5/case-5.uplc @@ -1,4 +1,4 @@ (program 1.0.0 [ [ [ (builtin writeBits) (con bytestring #ff) ] (con (list integer) [-1]) ] - (con (list bool) [False]) + (con bool False) ]) \ No newline at end of file diff --git a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-6/case-6.uplc b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-6/case-6.uplc index e00ea88f13d..eb2206584f7 100644 --- a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-6/case-6.uplc +++ b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-6/case-6.uplc @@ -1,4 +1,4 @@ (program 1.0.0 [ [ [ (builtin writeBits) (con bytestring #ff) ] (con (list integer) [0,-1]) ] - (con (list bool) [False,False]) + (con bool False) ]) \ No newline at end of file diff --git a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-7/case-7.uplc b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-7/case-7.uplc index f48e1ba847a..d07bc187f8c 100644 --- a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-7/case-7.uplc +++ b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-7/case-7.uplc @@ -1,4 +1,4 @@ (program 1.0.0 [ [ [ (builtin writeBits) (con bytestring #ff) ] (con (list integer) [-1,0]) ] - (con (list bool) [False,False]) + (con bool False) ]) \ No newline at end of file diff --git a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-8/case-8.uplc b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-8/case-8.uplc index 558a93a12e0..3c6b1975dbb 100644 --- a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-8/case-8.uplc +++ b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-8/case-8.uplc @@ -1,4 +1,4 @@ (program 1.0.0 [ [ [ (builtin writeBits) (con bytestring #ff) ] (con (list integer) [8]) ] - (con (list bool) [False]) + (con bool False) ]) \ No newline at end of file diff --git a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-9/case-9.uplc b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-9/case-9.uplc index 0d457a9db4b..1e3251e120d 100644 --- a/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-9/case-9.uplc +++ b/plutus-conformance/test-cases/uplc/evaluation/builtin/semantics/writeBits/case-9/case-9.uplc @@ -1,4 +1,4 @@ (program 1.0.0 [ [ [ (builtin writeBits) (con bytestring #ff) ] (con (list integer) [1,8]) ] - (con (list bool) [False,False]) + (con bool False) ]) \ No newline at end of file diff --git a/plutus-core/changelog.d/20241008_220810_kenneth.mackenzie_new_semantics.md b/plutus-core/changelog.d/20241008_220810_kenneth.mackenzie_new_semantics.md new file mode 100644 index 00000000000..1f4bb31ce3e --- /dev/null +++ b/plutus-core/changelog.d/20241008_220810_kenneth.mackenzie_new_semantics.md @@ -0,0 +1,19 @@ +### Changed + +- The signature of the `writeBits` PLC builtin has been changed from +``` +[bytestring, list integer, list boolean] -> bytestring +``` + +to + +``` +[bytestring, list integer, boolean] -> bytestring +``` + +Instead of a list of boolean values to write to bit positions specified in the +second argument it now takes a single boolean value which is used to update the +bits at all of the given positions. If it's necessary to set some bits and +clear others then the function shouldbe called twice, once with `True` as the +third argument and once with `False`. + diff --git a/plutus-core/cost-model/budgeting-bench/Benchmarks/Bitwise.hs b/plutus-core/cost-model/budgeting-bench/Benchmarks/Bitwise.hs index 0af273555ff..eb18014e8af 100644 --- a/plutus-core/cost-model/budgeting-bench/Benchmarks/Bitwise.hs +++ b/plutus-core/cost-model/budgeting-bench/Benchmarks/Bitwise.hs @@ -124,18 +124,12 @@ benchReadBit = in createTwoTermBuiltinBenchElementwise ReadBit [] $ pairWith topBitIndex xs {- The `writeBits` function takes a bytestring, a list of positions to write to, - and a list of True/False values to write at those positions. It behaves like - `zip` in that if the two lists are of different lengths, the trailing - elements of the longer list are ignored. Because of this we only run - benchmarks with lists of equal length because in the general case the time - taken will depend only on the length of the smaller list and there's nothing - to be gained by traversing a two-dimensional space of inputs. Moreover, - benchmarks show that the time taken by `writeBits` depends mostly on the - number of updates (and not on the length of the bytestring), although it may - take a little longer to write bits with larger indices. We run benchmarks - involving increasing numbers of updates to 1024-byte bytestrings, always - writing the highest-indexed bit to take account of this. We use a fresh - bytestring for each set of updates. + and a boolean value to write at those positions. Benchmarks show that the + time taken by `writeBits` depends mostly on the number of updates (and not on + the length of the bytestring), although it may take a little longer to write + bits with larger indices. We run benchmarks involving increasing numbers of + updates to 1024-byte bytestrings, always writing the highest-indexed bit to + take account of this. We use a fresh bytestring for each set of updates. -} benchWriteBits :: Benchmark benchWriteBits = @@ -145,11 +139,9 @@ benchWriteBits = positions = zipWith (\x n -> replicate (10*n) (topBitIndex x)) xs updateCounts -- Given an integer k, return a list of updates which write a bit 10*k -- times. Here k will range from 1 to numSamples, which is 150. - mkUpdatesFor k = take (10*k) $ cycle [False, True] - updates = fmap mkUpdatesFor updateCounts - inputs = zip3 xs positions updates + inputs = zip3 xs positions (replicate numSamples True) in createThreeTermBuiltinBenchElementwiseWithWrappers - (id, ListCostedByLength, ListCostedByLength) + (id, ListCostedByLength, id) WriteBits [] inputs {- This is like createThreeTermBuiltinBenchElementwise except that the benchmark name contains the length of the list of updates, not the memory usage. The diff --git a/plutus-core/cost-model/data/benching-conway.csv b/plutus-core/cost-model/data/benching-conway.csv index b6e4fb1eb76..2c6d3876104 100644 --- a/plutus-core/cost-model/data/benching-conway.csv +++ b/plutus-core/cost-model/data/benching-conway.csv @@ -10530,156 +10530,156 @@ ReadBit/147/1,9.3541286661098e-7,9.347533328455035e-7,9.360960763591892e-7,2.235 ReadBit/148/1,9.330435330689972e-7,9.324271960787834e-7,9.334548443837457e-7,1.7386841588359126e-9,1.355071027859557e-9,2.2150742059416813e-9 ReadBit/149/1,9.332364088759342e-7,9.327312574487778e-7,9.336996294295132e-7,1.683254991943485e-9,1.361795495026748e-9,2.0585590421177816e-9 ReadBit/150/1,9.349420349555938e-7,9.343138367403849e-7,9.356877058942716e-7,2.319371259619514e-9,1.8526128206378138e-9,3.4085697057539025e-9 -WriteBits/128/10/10,1.3537266230813092e-6,1.3530799469741456e-6,1.3543367568933398e-6,2.1316421793176245e-9,1.7850248406464137e-9,2.5671303999848607e-9 -WriteBits/128/20/20,1.5112472791750306e-6,1.5095051851685428e-6,1.5127957360381082e-6,5.6625086925782805e-9,4.7887395783644554e-9,6.870519049076005e-9 -WriteBits/128/30/30,1.7103866220577763e-6,1.7091477149589107e-6,1.711818526519217e-6,4.107292504374727e-9,3.336557561562148e-9,5.033712136456553e-9 -WriteBits/128/40/40,1.878551212874291e-6,1.876753461858592e-6,1.8804374272843178e-6,6.051101690260076e-9,4.733539561793215e-9,8.17345025871791e-9 -WriteBits/128/50/50,2.067664058023621e-6,2.0652016756673184e-6,2.0702793031120657e-6,8.51171028610642e-9,6.922345356729578e-9,1.0336748140314886e-8 -WriteBits/128/60/60,2.2449634684814473e-6,2.2422850224444223e-6,2.247039358596253e-6,7.69446581833694e-9,6.133910359848739e-9,1.1631812316871428e-8 -WriteBits/128/70/70,2.4118603679275155e-6,2.4083068500084127e-6,2.4161805237490025e-6,1.2595986894511701e-8,1.0907780808554424e-8,1.5457969117977848e-8 -WriteBits/128/80/80,2.700798135658865e-6,2.6977083179030134e-6,2.703685772160283e-6,1.00737537727509e-8,8.461789406530487e-9,1.2259652525397863e-8 -WriteBits/128/90/90,2.866220941961377e-6,2.8619975555081008e-6,2.8713329469777913e-6,1.5269924293922748e-8,1.3135788219371066e-8,1.8838375611754657e-8 -WriteBits/128/100/100,3.0534683695707494e-6,3.0504252410287504e-6,3.056004686422383e-6,1.0082256706848962e-8,7.876860604899523e-9,1.3174204381425464e-8 -WriteBits/128/110/110,3.1625115969437513e-6,3.1569480589410797e-6,3.167572322717959e-6,1.755383020667957e-8,1.4849808370625456e-8,2.083904602467842e-8 -WriteBits/128/120/120,3.4455002115961527e-6,3.4407800872692447e-6,3.4504630778827596e-6,1.6518276087496798e-8,1.4536952163525948e-8,1.922162467561364e-8 -WriteBits/128/130/130,3.626657505579318e-6,3.619737777747018e-6,3.634426550368281e-6,2.2893624156452808e-8,1.8666576404248163e-8,2.8491007243921857e-8 -WriteBits/128/140/140,3.8039827427346166e-6,3.8004535520966455e-6,3.8083094744675832e-6,1.2928027292867634e-8,1.0306951805522435e-8,1.8079673250690778e-8 -WriteBits/128/150/150,3.992725655102851e-6,3.988705702896891e-6,3.998321131652995e-6,1.585200473606936e-8,1.2190254249119998e-8,2.3958191323649205e-8 -WriteBits/128/160/160,4.161015975814237e-6,4.1573671133485335e-6,4.164660889661031e-6,1.2478282980148294e-8,1.0263605165860696e-8,1.5692832764540643e-8 -WriteBits/128/170/170,4.3983533245487535e-6,4.392461211094906e-6,4.4037199042817e-6,1.9123539992234404e-8,1.689863699220664e-8,2.2531977114245827e-8 -WriteBits/128/180/180,4.556198254474502e-6,4.551469372395752e-6,4.562419668807386e-6,1.841045916447837e-8,1.4224065961138653e-8,2.3826266766900576e-8 -WriteBits/128/190/190,4.768132061915791e-6,4.763366836480165e-6,4.772784663705478e-6,1.548201957585892e-8,1.2682956709901363e-8,1.9407669671571175e-8 -WriteBits/128/200/200,4.973570618182706e-6,4.965772198290812e-6,4.981040449344953e-6,2.6302803293237834e-8,2.109214080218214e-8,3.3430585700596475e-8 -WriteBits/128/210/210,5.1099455479031185e-6,5.104838491229939e-6,5.1147475372848905e-6,1.6136674807278273e-8,1.3081895604380528e-8,1.977229413140769e-8 -WriteBits/128/220/220,5.149925687651257e-6,5.14154019950359e-6,5.157432979771011e-6,2.7488460564552368e-8,2.2812105960300873e-8,3.353632913755816e-8 -WriteBits/128/230/230,5.509478311011106e-6,5.5011253821295474e-6,5.5161433689628785e-6,2.409703729545818e-8,2.0694315230851224e-8,2.9121065381727128e-8 -WriteBits/128/240/240,5.707031116642722e-6,5.700857649054097e-6,5.713257156081887e-6,2.072995078109042e-8,1.762825371412415e-8,2.567701879163657e-8 -WriteBits/128/250/250,5.661507502318823e-6,5.653059326640705e-6,5.6702256531273244e-6,2.8476952120030106e-8,2.373393618331967e-8,3.48259225594073e-8 -WriteBits/128/260/260,5.892377958992647e-6,5.88163955101268e-6,5.902622284736783e-6,3.568942581784191e-8,3.0179982528947866e-8,4.4235912499251746e-8 -WriteBits/128/270/270,6.338220564315802e-6,6.3288531328796525e-6,6.346731652253259e-6,3.023750160363522e-8,2.4774071145231244e-8,3.646044842893973e-8 -WriteBits/128/280/280,6.205702833424795e-6,6.193177359632288e-6,6.217314083384847e-6,4.15792888759423e-8,3.529728161660892e-8,5.2279898378808794e-8 -WriteBits/128/290/290,6.6422496734006786e-6,6.634186675334186e-6,6.650249935510164e-6,2.7423877314526483e-8,2.2456007464637665e-8,3.508736237829915e-8 -WriteBits/128/300/300,6.852338918842697e-6,6.8427249899379395e-6,6.863560217407332e-6,3.409367842733548e-8,2.8829756378384188e-8,4.365371826378146e-8 -WriteBits/128/310/310,7.02849414084417e-6,7.021230631942886e-6,7.034494944916378e-6,2.212493869277461e-8,1.8601910920250304e-8,2.7454899320247654e-8 -WriteBits/128/320/320,7.2203884069723515e-6,7.2101722670399794e-6,7.228335949488757e-6,2.9360214781740748e-8,2.4270004851141646e-8,3.657824398957156e-8 -WriteBits/128/330/330,7.350088851110105e-6,7.340461484870871e-6,7.35919735538389e-6,3.308348431349505e-8,2.797960043881445e-8,3.90795389938918e-8 -WriteBits/128/340/340,7.610854410646926e-6,7.602545947467804e-6,7.619106847080682e-6,2.8009110073335032e-8,2.3534963362768045e-8,3.566674472260784e-8 -WriteBits/128/350/350,7.75445065856249e-6,7.746821424466525e-6,7.762902699205702e-6,2.6864944149306238e-8,2.253468678744836e-8,3.250328773841615e-8 -WriteBits/128/360/360,7.961561017814065e-6,7.953221055605608e-6,7.96860775176044e-6,2.5981853799628302e-8,2.046787418034972e-8,3.385019422903161e-8 -WriteBits/128/370/370,8.132483000713467e-6,8.124303427028309e-6,8.140967292562351e-6,2.9248163542647658e-8,2.4401351096675282e-8,3.588131398872372e-8 -WriteBits/128/380/380,8.032752676883202e-6,8.020614126483502e-6,8.047044012288654e-6,4.4154727531321986e-8,3.6947428210808234e-8,5.431596256640036e-8 -WriteBits/128/390/390,8.519951045986322e-6,8.50275287398777e-6,8.538729335757336e-6,6.078980314139266e-8,4.7044390167363135e-8,9.26307389283767e-8 -WriteBits/128/400/400,8.77466768203582e-6,8.766889643053133e-6,8.783106966780789e-6,2.79493018162082e-8,2.2200074858189034e-8,3.6528107822050245e-8 -WriteBits/128/410/410,8.897914176450107e-6,8.888878648698621e-6,8.906772788900789e-6,2.9646210021849477e-8,2.4821280651847854e-8,3.6690025208515825e-8 -WriteBits/128/420/420,8.782561628319953e-6,8.760632258327222e-6,8.806272613586851e-6,7.718492310548155e-8,6.490494907108962e-8,9.604570957078862e-8 -WriteBits/128/430/430,8.898913287482063e-6,8.876961385237742e-6,8.9193374719451e-6,6.995560422153743e-8,5.9313093283750065e-8,8.330073829053134e-8 -WriteBits/128/440/440,9.102262022992527e-6,9.086957064259177e-6,9.120834841057757e-6,5.570127383330534e-8,4.5357268390162804e-8,7.113777227581896e-8 -WriteBits/128/450/450,9.335821379394489e-6,9.316020596418038e-6,9.363958645922305e-6,7.759147337824443e-8,6.097937471694502e-8,1.1809377333248072e-7 -WriteBits/128/460/460,9.81467668566193e-6,9.800100254061583e-6,9.825853463484367e-6,4.241260503417613e-8,3.2560944354543856e-8,5.461264310509284e-8 -WriteBits/128/470/470,1.0016777850345525e-5,1.0002576303240274e-5,1.0031341440947404e-5,4.87599845916017e-8,3.939105447157389e-8,6.254168585761919e-8 -WriteBits/128/480/480,1.0224957748427269e-5,1.0212304455557377e-5,1.0235931445997568e-5,3.857149622405306e-8,3.199100671032846e-8,4.853726770627152e-8 -WriteBits/128/490/490,1.0023733449848896e-5,1.0001143513852872e-5,1.0044813971309177e-5,6.948837336024106e-8,5.423379460532065e-8,9.08446428994697e-8 -WriteBits/128/500/500,1.0577570451605007e-5,1.0563692077361442e-5,1.0591569472627712e-5,4.34371329130668e-8,3.5618506461505396e-8,5.4750529898805464e-8 -WriteBits/128/510/510,1.0745881773223416e-5,1.0736631549204509e-5,1.075360258283249e-5,2.9101769003366755e-8,2.3002690770675284e-8,3.638016723580141e-8 -WriteBits/128/520/520,1.0986416005979945e-5,1.097100459196806e-5,1.1003196847499031e-5,5.532179411924506e-8,4.3670027394330966e-8,7.523626124222038e-8 -WriteBits/128/530/530,1.1149843689703171e-5,1.1133255022532675e-5,1.1166188029231253e-5,5.504329884559507e-8,4.520566758489456e-8,6.957906207217346e-8 -WriteBits/128/540/540,1.1292892413218042e-5,1.127970583825552e-5,1.1308491870119581e-5,4.887412279705702e-8,4.158431338538783e-8,6.103700219194428e-8 -WriteBits/128/550/550,1.1098089286849772e-5,1.1071816549162756e-5,1.1129621873125255e-5,9.421308354560238e-8,7.345263938844009e-8,1.3180060990237944e-7 -WriteBits/128/560/560,1.1688025503297964e-5,1.1674414848507269e-5,1.1700943570144764e-5,4.407977929773291e-8,3.780657825756246e-8,5.341163122014971e-8 -WriteBits/128/570/570,1.1916669157445265e-5,1.1899515543090154e-5,1.193247859373014e-5,5.354872115059496e-8,4.522806293351078e-8,6.66259022259282e-8 -WriteBits/128/580/580,1.206145668450003e-5,1.2045982506389071e-5,1.2078039615135654e-5,5.4154966237448667e-8,4.650624887717363e-8,6.473536474709046e-8 -WriteBits/128/590/590,1.2292798276997666e-5,1.2273785094077593e-5,1.2313445806641764e-5,6.410753173800308e-8,5.39050363257371e-8,8.164009926829043e-8 -WriteBits/128/600/600,1.2500619998027802e-5,1.2481553678458116e-5,1.2518022643375576e-5,5.879778209049323e-8,4.7688539257688333e-8,7.45522651284825e-8 -WriteBits/128/610/610,1.2678066914404191e-5,1.2660767199609801e-5,1.2698063075730695e-5,6.165930629741339e-8,5.1712291602112984e-8,7.740288624684004e-8 -WriteBits/128/620/620,1.2354187472466784e-5,1.2330017710453132e-5,1.2380231833441987e-5,8.281699295837275e-8,6.974965499545127e-8,1.0148284277412423e-7 -WriteBits/128/630/630,1.2990646426952827e-5,1.2968695219465484e-5,1.3012797846845674e-5,7.39455739309706e-8,5.591608600767369e-8,1.0330025651678976e-7 -WriteBits/128/640/640,1.3156664151069919e-5,1.3138599933280434e-5,1.3173869120648088e-5,5.824176462607067e-8,4.8559869893324556e-8,7.112899974235082e-8 -WriteBits/128/650/650,1.3425244115005495e-5,1.3407585748518325e-5,1.3448307255419001e-5,6.754584044557229e-8,5.5986557932805024e-8,8.171971016552502e-8 -WriteBits/128/660/660,1.3558242278446003e-5,1.3540242886799363e-5,1.3574453097217834e-5,5.501997617614691e-8,4.5720479763350836e-8,6.588388221809374e-8 -WriteBits/128/670/670,1.3807540040059375e-5,1.3789991880970942e-5,1.3825420556394984e-5,5.8717353628115785e-8,5.025520247900802e-8,7.267675644582164e-8 -WriteBits/128/680/680,1.3940095703447922e-5,1.3926529915662456e-5,1.3953880407026544e-5,4.793385631722494e-8,3.98783650839032e-8,5.844984535016928e-8 -WriteBits/128/690/690,1.4166248066739935e-5,1.4146950716753253e-5,1.4183238943305318e-5,6.18876647153113e-8,5.154091181027743e-8,7.821317173970213e-8 -WriteBits/128/700/700,1.431687466512764e-5,1.4294904567817972e-5,1.433674431946827e-5,7.191870482650918e-8,5.973917126489549e-8,8.814045380680821e-8 -WriteBits/128/710/710,1.4599869347426377e-5,1.4565964372339497e-5,1.4629931462850717e-5,1.0378943272614927e-7,8.495208968267414e-8,1.2874089058841997e-7 -WriteBits/128/720/720,1.4756271000575912e-5,1.4741515368976665e-5,1.4771626993961392e-5,5.250728106017689e-8,4.4676283616486074e-8,6.541430774033104e-8 -WriteBits/128/730/730,1.4838168084515023e-5,1.481717801297599e-5,1.4858086016818453e-5,6.827646909526001e-8,5.861592131228875e-8,8.129653056830804e-8 -WriteBits/128/740/740,1.5107343693141572e-5,1.5086780106460427e-5,1.512722065030013e-5,7.27064255146649e-8,6.024738477008645e-8,9.056837665323956e-8 -WriteBits/128/750/750,1.535730412002315e-5,1.5327659560287544e-5,1.5394732836273353e-5,1.1581126369412009e-7,9.418329362183358e-8,1.502581059200561e-7 -WriteBits/128/760/760,1.5490852646102905e-5,1.5469317942420578e-5,1.551642911876631e-5,8.378500768982738e-8,5.8226105033110596e-8,1.263136514935676e-7 -WriteBits/128/770/770,1.559044558705571e-5,1.5575251083724066e-5,1.560971057612431e-5,5.671335611536967e-8,4.6125817025445244e-8,7.551949254989443e-8 -WriteBits/128/780/780,1.588808780676268e-5,1.585891524525924e-5,1.592056942891158e-5,1.0028652492998202e-7,7.889883659879178e-8,1.3198999849561602e-7 -WriteBits/128/790/790,1.6075518050336344e-5,1.6046082699723258e-5,1.6104501599078923e-5,9.59793579161069e-8,7.922682638294985e-8,1.1771250022781149e-7 -WriteBits/128/800/800,1.6201709186892906e-5,1.6182121298451327e-5,1.6222490607105158e-5,7.041681061220381e-8,5.816648836478313e-8,8.611565181503468e-8 -WriteBits/128/810/810,1.6538245477039103e-5,1.650799796704997e-5,1.656667772522069e-5,1.0190020331217329e-7,8.669327541853706e-8,1.2589198099183178e-7 -WriteBits/128/820/820,1.6572448845744917e-5,1.6552655692998663e-5,1.659803382304283e-5,7.559762773754633e-8,5.923612121529284e-8,9.640522457093787e-8 -WriteBits/128/830/830,1.682403939343744e-5,1.6799122876774815e-5,1.684763488956901e-5,7.916711453911123e-8,6.285728266165532e-8,1.0781536180904653e-7 -WriteBits/128/840/840,1.6898790213444524e-5,1.6871816278886547e-5,1.6925616150429548e-5,9.020689151536531e-8,7.667747608194562e-8,1.2036067780986876e-7 -WriteBits/128/850/850,1.7269909189495304e-5,1.7229925518573585e-5,1.731356735510004e-5,1.3773869971348857e-7,1.2066652698869987e-7,1.641120553784936e-7 -WriteBits/128/860/860,1.7329764629717184e-5,1.7308869684411937e-5,1.7352449432420126e-5,7.703878728834528e-8,6.593642161004454e-8,9.391290620309632e-8 -WriteBits/128/870/870,1.7508898959107345e-5,1.748555256372829e-5,1.7531713648321605e-5,7.700414339435589e-8,6.331845441999907e-8,9.750482313167744e-8 -WriteBits/128/880/880,1.7815544659217306e-5,1.7790396808936523e-5,1.7840042794306742e-5,8.749424574531266e-8,7.684647323040962e-8,1.0258345080479994e-7 -WriteBits/128/890/890,1.7988120895423902e-5,1.7960720535996876e-5,1.8013905427396346e-5,8.826120862361727e-8,7.385750518359589e-8,1.0550963575330896e-7 -WriteBits/128/900/900,1.8052334987077627e-5,1.801594814877233e-5,1.8092870988777825e-5,1.25010203830037e-7,9.818041542682535e-8,1.6858328327317362e-7 -WriteBits/128/910/910,1.8424011244326893e-5,1.8396190283769008e-5,1.845509270392737e-5,1.0134905654970078e-7,8.232232262403771e-8,1.3172262881285458e-7 -WriteBits/128/920/920,1.8417950718130208e-5,1.8391441322888414e-5,1.8446225113131467e-5,9.795910892299806e-8,7.883227174258591e-8,1.2635569220020716e-7 -WriteBits/128/930/930,1.8689696073101668e-5,1.865080558067919e-5,1.872980442346989e-5,1.320782200174466e-7,1.1052675747725778e-7,1.614856209694583e-7 -WriteBits/128/940/940,1.883751917470639e-5,1.8805363130312505e-5,1.8870491619849255e-5,1.127734433550562e-7,9.544274095153926e-8,1.325393002676102e-7 -WriteBits/128/950/950,1.904707507338555e-5,1.9015420599075493e-5,1.9077235588115406e-5,1.0353020698873553e-7,8.724245507906236e-8,1.28718128461822e-7 -WriteBits/128/960/960,1.925086910956164e-5,1.9220498668805233e-5,1.9279942141781236e-5,9.859350441044547e-8,8.293814859818493e-8,1.1812890643509175e-7 -WriteBits/128/970/970,1.9469938958480357e-5,1.9436776938333105e-5,1.950449780791079e-5,1.0872660369940563e-7,9.043154917629017e-8,1.2889950017010564e-7 -WriteBits/128/980/980,1.9616637753252677e-5,1.9587719181522356e-5,1.9644718641156956e-5,9.925415636993208e-8,8.083317568462958e-8,1.2096446756212346e-7 -WriteBits/128/990/990,1.9753093905864816e-5,1.972221282827391e-5,1.9785435406451614e-5,1.0333131821226867e-7,8.849230355415017e-8,1.2050510984336472e-7 -WriteBits/128/1000/1000,1.9999433370918876e-5,1.9969480910596127e-5,2.0033129220288007e-5,1.1261762838193335e-7,8.698201055281548e-8,1.5345465000856696e-7 -WriteBits/128/1010/1010,2.010494728914378e-5,2.0077329730505247e-5,2.0138308057436303e-5,1.0357413788279463e-7,8.634062386124025e-8,1.2678392614097413e-7 -WriteBits/128/1020/1020,2.0326121537223118e-5,2.029947625282984e-5,2.035293081905517e-5,8.975986892670259e-8,7.57350192147503e-8,1.116967859700079e-7 -WriteBits/128/1030/1030,2.0519266162905854e-5,2.0489265543087217e-5,2.0559307993203892e-5,1.1905594001929121e-7,9.471174603044731e-8,1.5101042870493432e-7 -WriteBits/128/1040/1040,2.0685451609716975e-5,2.065310735230622e-5,2.0718529158813424e-5,1.1214745228943316e-7,9.309981321979947e-8,1.389236552201615e-7 -WriteBits/128/1050/1050,2.084153708576177e-5,2.081470658930615e-5,2.0869524792824048e-5,9.437060006016892e-8,7.624923337891595e-8,1.1688926483309101e-7 -WriteBits/128/1060/1060,2.1158526783805938e-5,2.112447245497998e-5,2.119199914167348e-5,1.1635924898772878e-7,9.384206051680505e-8,1.645130345394423e-7 -WriteBits/128/1070/1070,2.155816934286968e-5,2.1514785500626066e-5,2.1598118002456255e-5,1.3629440945642732e-7,1.1497800478058904e-7,1.679555164654905e-7 -WriteBits/128/1080/1080,2.1576401905814935e-5,2.15366033535103e-5,2.1613899076970386e-5,1.3367568519073494e-7,1.1451163755214768e-7,1.6524114090347493e-7 -WriteBits/128/1090/1090,2.1575808805240612e-5,2.1545435527911815e-5,2.1607378576935444e-5,1.0305592742916325e-7,8.693837477348649e-8,1.2284171643415162e-7 -WriteBits/128/1100/1100,2.0760988887175428e-5,2.0720350147657615e-5,2.08119521100022e-5,1.5458672945437293e-7,1.221196659842679e-7,2.1834864513611814e-7 -WriteBits/128/1110/1110,2.1983834725347605e-5,2.195544579670796e-5,2.2017823602838337e-5,1.0885210001765465e-7,9.302216350238992e-8,1.3748776868651343e-7 -WriteBits/128/1120/1120,2.2301523770489503e-5,2.226527790861075e-5,2.2341301286669175e-5,1.3165314723387972e-7,1.120328842879563e-7,1.6025332600310937e-7 -WriteBits/128/1130/1130,2.247688443537909e-5,2.2437932847408147e-5,2.2521216664951632e-5,1.3892274642528882e-7,1.1301369114282448e-7,1.7914726526266075e-7 -WriteBits/128/1140/1140,2.2382799532444947e-5,2.23618853406359e-5,2.2405717798371715e-5,7.281114840464571e-8,5.971069601819876e-8,9.635818843781014e-8 -WriteBits/128/1150/1150,2.2789361652561757e-5,2.275910223831583e-5,2.281895678411735e-5,9.907754303583706e-8,8.471007207042149e-8,1.2417497894101407e-7 -WriteBits/128/1160/1160,2.3112425188947485e-5,2.3082924475665525e-5,2.3145496167139007e-5,1.0167342420164072e-7,8.470480848547174e-8,1.283054290576098e-7 -WriteBits/128/1170/1170,2.3065983049482814e-5,2.3035082885842262e-5,2.31017250238404e-5,1.1219648651449714e-7,9.309240525129621e-8,1.388803340905503e-7 -WriteBits/128/1180/1180,2.346877340675002e-5,2.3419269189283983e-5,2.3510851091512496e-5,1.518270491336116e-7,1.270138551654565e-7,1.9477070716321942e-7 -WriteBits/128/1190/1190,2.3719747110091262e-5,2.3683149132616155e-5,2.3766506278729513e-5,1.3094571408705096e-7,1.0840404896887132e-7,1.733035306006753e-7 -WriteBits/128/1200/1200,2.3700499784266744e-5,2.3666660694821827e-5,2.3732052535014522e-5,1.0838956986051553e-7,9.360481558995237e-8,1.275016583470531e-7 -WriteBits/128/1210/1210,2.404739914122057e-5,2.401114332064168e-5,2.408014036220088e-5,1.1672810670006928e-7,9.266234282702145e-8,1.445426308408508e-7 -WriteBits/128/1220/1220,2.407399233149646e-5,2.4040319637557843e-5,2.410669671980631e-5,1.106931886941684e-7,9.322970708303807e-8,1.3440890023959767e-7 -WriteBits/128/1230/1230,2.4457162519348453e-5,2.4403074474369285e-5,2.451206337375819e-5,1.773897622976769e-7,1.4708219256906154e-7,2.1891380963379912e-7 -WriteBits/128/1240/1240,2.4506028855296562e-5,2.446190219484188e-5,2.4556268604720934e-5,1.5668012636080928e-7,1.2392557442015458e-7,2.1180407128118103e-7 -WriteBits/128/1250/1250,2.4557683490724513e-5,2.4525888030925304e-5,2.459909077178917e-5,1.284072078888352e-7,1.0584636259678654e-7,1.7072889570870014e-7 -WriteBits/128/1260/1260,2.493408766911251e-5,2.4890525255382277e-5,2.4976905140889753e-5,1.462675447333136e-7,1.2035087697211583e-7,1.772299409814052e-7 -WriteBits/128/1270/1270,2.495412181399395e-5,2.4917494770090863e-5,2.498881104667445e-5,1.2012264840424252e-7,1.016526754627923e-7,1.467030343241094e-7 -WriteBits/128/1280/1280,2.5161576333563168e-5,2.512392464734526e-5,2.520205599803423e-5,1.343932678581806e-7,1.1559583781739549e-7,1.6099546738292358e-7 -WriteBits/128/1290/1290,2.5547417689427006e-5,2.548445075025123e-5,2.5602294534150016e-5,1.9036927468760707e-7,1.5619629197531535e-7,2.3918746400055965e-7 -WriteBits/128/1300/1300,2.5559618378198508e-5,2.5518422153950738e-5,2.5600695795396335e-5,1.3785088819328802e-7,1.1801279109851288e-7,1.6125962025823933e-7 -WriteBits/128/1310/1310,2.5808744250080826e-5,2.5775743807177224e-5,2.5849778918518636e-5,1.1898445295024836e-7,9.882190520288524e-8,1.4586951097165655e-7 -WriteBits/128/1320/1320,2.5816330074022454e-5,2.5789120754554888e-5,2.584696289805956e-5,9.893022619754193e-8,8.032266128607965e-8,1.2504172835434864e-7 -WriteBits/128/1330/1330,2.6124727612253457e-5,2.6086045730735144e-5,2.6162388875568314e-5,1.3123110249297105e-7,1.0609423677279111e-7,1.6327743944120924e-7 -WriteBits/128/1340/1340,2.6318804265309083e-5,2.6284997965967667e-5,2.635477391289192e-5,1.13789698109719e-7,9.028777892406143e-8,1.513527351042251e-7 -WriteBits/128/1350/1350,2.6867158361841556e-5,2.6810538454964585e-5,2.69225696630528e-5,1.9202652918074544e-7,1.6450657087880617e-7,2.3388922317138417e-7 -WriteBits/128/1360/1360,2.6841966707201813e-5,2.6806956201296437e-5,2.6885094130426338e-5,1.2462693156340972e-7,9.233091207914764e-8,1.8396357648326214e-7 -WriteBits/128/1370/1370,2.6912402694468428e-5,2.6868910432734842e-5,2.6967358253188492e-5,1.6882752909565476e-7,1.2672226788502137e-7,2.2370324905142147e-7 -WriteBits/128/1380/1380,2.717834914737726e-5,2.7138305724705073e-5,2.7214396781877334e-5,1.3434814776847568e-7,1.1241796303005855e-7,1.6589154338011805e-7 -WriteBits/128/1390/1390,2.7586511104937354e-5,2.753174472759759e-5,2.7634523328212576e-5,1.7414401364741295e-7,1.495927313394083e-7,2.1597989559012854e-7 -WriteBits/128/1400/1400,2.760063967339772e-5,2.7542468452568177e-5,2.765238306796358e-5,1.7886085594409054e-7,1.447822609243202e-7,2.184449585356411e-7 -WriteBits/128/1410/1410,2.7684333123882643e-5,2.762309684278795e-5,2.775370992227879e-5,2.2385395277019578e-7,1.7688495914952519e-7,3.015267465407231e-7 -WriteBits/128/1420/1420,2.822396111989154e-5,2.8154661205993578e-5,2.8281473950640946e-5,2.1343409039030284e-7,1.793670986046393e-7,2.748425689316377e-7 -WriteBits/128/1430/1430,2.7935926852434174e-5,2.7881764099845953e-5,2.7999812013078726e-5,1.9769520451344175e-7,1.5078823045946394e-7,2.518877545787954e-7 -WriteBits/128/1440/1440,2.810639445555972e-5,2.806416915141337e-5,2.81509523624692e-5,1.5120128844507986e-7,1.2253371768890988e-7,1.9206899041967562e-7 -WriteBits/128/1450/1450,2.860761894336212e-5,2.8553684031428673e-5,2.865931094278226e-5,1.8053985679277266e-7,1.5615313198400101e-7,2.1707749102661098e-7 -WriteBits/128/1460/1460,2.8758251326704306e-5,2.8703233103573624e-5,2.881126682047619e-5,1.8655308540798314e-7,1.48072973295587e-7,2.4158651583252274e-7 -WriteBits/128/1470/1470,2.8693545474835447e-5,2.864004562393698e-5,2.8761197322100375e-5,1.8803465544417116e-7,1.449177833639516e-7,2.489473378238358e-7 -WriteBits/128/1480/1480,2.903849047870583e-5,2.900112848482432e-5,2.9076976599363167e-5,1.3150548247090684e-7,1.0714680953405748e-7,1.6447248169116005e-7 -WriteBits/128/1490/1490,2.904421632175998e-5,2.8998472949212663e-5,2.908657384847984e-5,1.4326158007309644e-7,1.1961058109643606e-7,1.7997466396533647e-7 -WriteBits/128/1500/1500,2.914836858304649e-5,2.9114991942484115e-5,2.9182188309670126e-5,1.1368551302418316e-7,9.45037316213128e-8,1.4074818994006396e-7 +WriteBits/128/10/1,1.3537266230813092e-6,1.3530799469741456e-6,1.3543367568933398e-6,2.1316421793176245e-9,1.7850248406464137e-9,2.5671303999848607e-9 +WriteBits/128/20/1,1.5112472791750306e-6,1.5095051851685428e-6,1.5127957360381082e-6,5.6625086925782805e-9,4.7887395783644554e-9,6.870519049076005e-9 +WriteBits/128/30/1,1.7103866220577763e-6,1.7091477149589107e-6,1.711818526519217e-6,4.107292504374727e-9,3.336557561562148e-9,5.033712136456553e-9 +WriteBits/128/40/1,1.878551212874291e-6,1.876753461858592e-6,1.8804374272843178e-6,6.051101690260076e-9,4.733539561793215e-9,8.17345025871791e-9 +WriteBits/128/50/1,2.067664058023621e-6,2.0652016756673184e-6,2.0702793031120657e-6,8.51171028610642e-9,6.922345356729578e-9,1.0336748140314886e-8 +WriteBits/128/60/1,2.2449634684814473e-6,2.2422850224444223e-6,2.247039358596253e-6,7.69446581833694e-9,6.133910359848739e-9,1.1631812316871428e-8 +WriteBits/128/70/1,2.4118603679275155e-6,2.4083068500084127e-6,2.4161805237490025e-6,1.2595986894511701e-8,1.0907780808554424e-8,1.5457969117977848e-8 +WriteBits/128/80/1,2.700798135658865e-6,2.6977083179030134e-6,2.703685772160283e-6,1.00737537727509e-8,8.461789406530487e-9,1.2259652525397863e-8 +WriteBits/128/90/1,2.866220941961377e-6,2.8619975555081008e-6,2.8713329469777913e-6,1.5269924293922748e-8,1.3135788219371066e-8,1.8838375611754657e-8 +WriteBits/128/100/1,3.0534683695707494e-6,3.0504252410287504e-6,3.056004686422383e-6,1.0082256706848962e-8,7.876860604899523e-9,1.3174204381425464e-8 +WriteBits/128/110/1,3.1625115969437513e-6,3.1569480589410797e-6,3.167572322717959e-6,1.755383020667957e-8,1.4849808370625456e-8,2.083904602467842e-8 +WriteBits/128/120/1,3.4455002115961527e-6,3.4407800872692447e-6,3.4504630778827596e-6,1.6518276087496798e-8,1.4536952163525948e-8,1.922162467561364e-8 +WriteBits/128/130/1,3.626657505579318e-6,3.619737777747018e-6,3.634426550368281e-6,2.2893624156452808e-8,1.8666576404248163e-8,2.8491007243921857e-8 +WriteBits/128/140/1,3.8039827427346166e-6,3.8004535520966455e-6,3.8083094744675832e-6,1.2928027292867634e-8,1.0306951805522435e-8,1.8079673250690778e-8 +WriteBits/128/150/1,3.992725655102851e-6,3.988705702896891e-6,3.998321131652995e-6,1.585200473606936e-8,1.2190254249119998e-8,2.3958191323649205e-8 +WriteBits/128/160/1,4.161015975814237e-6,4.1573671133485335e-6,4.164660889661031e-6,1.2478282980148294e-8,1.0263605165860696e-8,1.5692832764540643e-8 +WriteBits/128/170/1,4.3983533245487535e-6,4.392461211094906e-6,4.4037199042817e-6,1.9123539992234404e-8,1.689863699220664e-8,2.2531977114245827e-8 +WriteBits/128/180/1,4.556198254474502e-6,4.551469372395752e-6,4.562419668807386e-6,1.841045916447837e-8,1.4224065961138653e-8,2.3826266766900576e-8 +WriteBits/128/190/1,4.768132061915791e-6,4.763366836480165e-6,4.772784663705478e-6,1.548201957585892e-8,1.2682956709901363e-8,1.9407669671571175e-8 +WriteBits/128/200/1,4.973570618182706e-6,4.965772198290812e-6,4.981040449344953e-6,2.6302803293237834e-8,2.109214080218214e-8,3.3430585700596475e-8 +WriteBits/128/210/1,5.1099455479031185e-6,5.104838491229939e-6,5.1147475372848905e-6,1.6136674807278273e-8,1.3081895604380528e-8,1.977229413140769e-8 +WriteBits/128/220/1,5.149925687651257e-6,5.14154019950359e-6,5.157432979771011e-6,2.7488460564552368e-8,2.2812105960300873e-8,3.353632913755816e-8 +WriteBits/128/230/1,5.509478311011106e-6,5.5011253821295474e-6,5.5161433689628785e-6,2.409703729545818e-8,2.0694315230851224e-8,2.9121065381727128e-8 +WriteBits/128/240/1,5.707031116642722e-6,5.700857649054097e-6,5.713257156081887e-6,2.072995078109042e-8,1.762825371412415e-8,2.567701879163657e-8 +WriteBits/128/250/1,5.661507502318823e-6,5.653059326640705e-6,5.6702256531273244e-6,2.8476952120030106e-8,2.373393618331967e-8,3.48259225594073e-8 +WriteBits/128/260/1,5.892377958992647e-6,5.88163955101268e-6,5.902622284736783e-6,3.568942581784191e-8,3.0179982528947866e-8,4.4235912499251746e-8 +WriteBits/128/270/1,6.338220564315802e-6,6.3288531328796525e-6,6.346731652253259e-6,3.023750160363522e-8,2.4774071145231244e-8,3.646044842893973e-8 +WriteBits/128/280/1,6.205702833424795e-6,6.193177359632288e-6,6.217314083384847e-6,4.15792888759423e-8,3.529728161660892e-8,5.2279898378808794e-8 +WriteBits/128/290/1,6.6422496734006786e-6,6.634186675334186e-6,6.650249935510164e-6,2.7423877314526483e-8,2.2456007464637665e-8,3.508736237829915e-8 +WriteBits/128/300/1,6.852338918842697e-6,6.8427249899379395e-6,6.863560217407332e-6,3.409367842733548e-8,2.8829756378384188e-8,4.365371826378146e-8 +WriteBits/128/310/1,7.02849414084417e-6,7.021230631942886e-6,7.034494944916378e-6,2.212493869277461e-8,1.8601910920250304e-8,2.7454899320247654e-8 +WriteBits/128/320/1,7.2203884069723515e-6,7.2101722670399794e-6,7.228335949488757e-6,2.9360214781740748e-8,2.4270004851141646e-8,3.657824398957156e-8 +WriteBits/128/330/1,7.350088851110105e-6,7.340461484870871e-6,7.35919735538389e-6,3.308348431349505e-8,2.797960043881445e-8,3.90795389938918e-8 +WriteBits/128/340/1,7.610854410646926e-6,7.602545947467804e-6,7.619106847080682e-6,2.8009110073335032e-8,2.3534963362768045e-8,3.566674472260784e-8 +WriteBits/128/350/1,7.75445065856249e-6,7.746821424466525e-6,7.762902699205702e-6,2.6864944149306238e-8,2.253468678744836e-8,3.250328773841615e-8 +WriteBits/128/360/1,7.961561017814065e-6,7.953221055605608e-6,7.96860775176044e-6,2.5981853799628302e-8,2.046787418034972e-8,3.385019422903161e-8 +WriteBits/128/370/1,8.132483000713467e-6,8.124303427028309e-6,8.140967292562351e-6,2.9248163542647658e-8,2.4401351096675282e-8,3.588131398872372e-8 +WriteBits/128/380/1,8.032752676883202e-6,8.020614126483502e-6,8.047044012288654e-6,4.4154727531321986e-8,3.6947428210808234e-8,5.431596256640036e-8 +WriteBits/128/390/1,8.519951045986322e-6,8.50275287398777e-6,8.538729335757336e-6,6.078980314139266e-8,4.7044390167363135e-8,9.26307389283767e-8 +WriteBits/128/400/1,8.77466768203582e-6,8.766889643053133e-6,8.783106966780789e-6,2.79493018162082e-8,2.2200074858189034e-8,3.6528107822050245e-8 +WriteBits/128/410/1,8.897914176450107e-6,8.888878648698621e-6,8.906772788900789e-6,2.9646210021849477e-8,2.4821280651847854e-8,3.6690025208515825e-8 +WriteBits/128/420/1,8.782561628319953e-6,8.760632258327222e-6,8.806272613586851e-6,7.718492310548155e-8,6.490494907108962e-8,9.604570957078862e-8 +WriteBits/128/430/1,8.898913287482063e-6,8.876961385237742e-6,8.9193374719451e-6,6.995560422153743e-8,5.9313093283750065e-8,8.330073829053134e-8 +WriteBits/128/440/1,9.102262022992527e-6,9.086957064259177e-6,9.120834841057757e-6,5.570127383330534e-8,4.5357268390162804e-8,7.113777227581896e-8 +WriteBits/128/450/1,9.335821379394489e-6,9.316020596418038e-6,9.363958645922305e-6,7.759147337824443e-8,6.097937471694502e-8,1.1809377333248072e-7 +WriteBits/128/460/1,9.81467668566193e-6,9.800100254061583e-6,9.825853463484367e-6,4.241260503417613e-8,3.2560944354543856e-8,5.461264310509284e-8 +WriteBits/128/470/1,1.0016777850345525e-5,1.0002576303240274e-5,1.0031341440947404e-5,4.87599845916017e-8,3.939105447157389e-8,6.254168585761919e-8 +WriteBits/128/480/1,1.0224957748427269e-5,1.0212304455557377e-5,1.0235931445997568e-5,3.857149622405306e-8,3.199100671032846e-8,4.853726770627152e-8 +WriteBits/128/490/1,1.0023733449848896e-5,1.0001143513852872e-5,1.0044813971309177e-5,6.948837336024106e-8,5.423379460532065e-8,9.08446428994697e-8 +WriteBits/128/500/1,1.0577570451605007e-5,1.0563692077361442e-5,1.0591569472627712e-5,4.34371329130668e-8,3.5618506461505396e-8,5.4750529898805464e-8 +WriteBits/128/510/1,1.0745881773223416e-5,1.0736631549204509e-5,1.075360258283249e-5,2.9101769003366755e-8,2.3002690770675284e-8,3.638016723580141e-8 +WriteBits/128/520/1,1.0986416005979945e-5,1.097100459196806e-5,1.1003196847499031e-5,5.532179411924506e-8,4.3670027394330966e-8,7.523626124222038e-8 +WriteBits/128/530/1,1.1149843689703171e-5,1.1133255022532675e-5,1.1166188029231253e-5,5.504329884559507e-8,4.520566758489456e-8,6.957906207217346e-8 +WriteBits/128/540/1,1.1292892413218042e-5,1.127970583825552e-5,1.1308491870119581e-5,4.887412279705702e-8,4.158431338538783e-8,6.103700219194428e-8 +WriteBits/128/550/1,1.1098089286849772e-5,1.1071816549162756e-5,1.1129621873125255e-5,9.421308354560238e-8,7.345263938844009e-8,1.3180060990237944e-7 +WriteBits/128/560/1,1.1688025503297964e-5,1.1674414848507269e-5,1.1700943570144764e-5,4.407977929773291e-8,3.780657825756246e-8,5.341163122014971e-8 +WriteBits/128/570/1,1.1916669157445265e-5,1.1899515543090154e-5,1.193247859373014e-5,5.354872115059496e-8,4.522806293351078e-8,6.66259022259282e-8 +WriteBits/128/580/1,1.206145668450003e-5,1.2045982506389071e-5,1.2078039615135654e-5,5.4154966237448667e-8,4.650624887717363e-8,6.473536474709046e-8 +WriteBits/128/590/1,1.2292798276997666e-5,1.2273785094077593e-5,1.2313445806641764e-5,6.410753173800308e-8,5.39050363257371e-8,8.164009926829043e-8 +WriteBits/128/600/1,1.2500619998027802e-5,1.2481553678458116e-5,1.2518022643375576e-5,5.879778209049323e-8,4.7688539257688333e-8,7.45522651284825e-8 +WriteBits/128/610/1,1.2678066914404191e-5,1.2660767199609801e-5,1.2698063075730695e-5,6.165930629741339e-8,5.1712291602112984e-8,7.740288624684004e-8 +WriteBits/128/620/1,1.2354187472466784e-5,1.2330017710453132e-5,1.2380231833441987e-5,8.281699295837275e-8,6.974965499545127e-8,1.0148284277412423e-7 +WriteBits/128/630/1,1.2990646426952827e-5,1.2968695219465484e-5,1.3012797846845674e-5,7.39455739309706e-8,5.591608600767369e-8,1.0330025651678976e-7 +WriteBits/128/640/1,1.3156664151069919e-5,1.3138599933280434e-5,1.3173869120648088e-5,5.824176462607067e-8,4.8559869893324556e-8,7.112899974235082e-8 +WriteBits/128/650/1,1.3425244115005495e-5,1.3407585748518325e-5,1.3448307255419001e-5,6.754584044557229e-8,5.5986557932805024e-8,8.171971016552502e-8 +WriteBits/128/660/1,1.3558242278446003e-5,1.3540242886799363e-5,1.3574453097217834e-5,5.501997617614691e-8,4.5720479763350836e-8,6.588388221809374e-8 +WriteBits/128/670/1,1.3807540040059375e-5,1.3789991880970942e-5,1.3825420556394984e-5,5.8717353628115785e-8,5.025520247900802e-8,7.267675644582164e-8 +WriteBits/128/680/1,1.3940095703447922e-5,1.3926529915662456e-5,1.3953880407026544e-5,4.793385631722494e-8,3.98783650839032e-8,5.844984535016928e-8 +WriteBits/128/690/1,1.4166248066739935e-5,1.4146950716753253e-5,1.4183238943305318e-5,6.18876647153113e-8,5.154091181027743e-8,7.821317173970213e-8 +WriteBits/128/700/1,1.431687466512764e-5,1.4294904567817972e-5,1.433674431946827e-5,7.191870482650918e-8,5.973917126489549e-8,8.814045380680821e-8 +WriteBits/128/710/1,1.4599869347426377e-5,1.4565964372339497e-5,1.4629931462850717e-5,1.0378943272614927e-7,8.495208968267414e-8,1.2874089058841997e-7 +WriteBits/128/720/1,1.4756271000575912e-5,1.4741515368976665e-5,1.4771626993961392e-5,5.250728106017689e-8,4.4676283616486074e-8,6.541430774033104e-8 +WriteBits/128/730/1,1.4838168084515023e-5,1.481717801297599e-5,1.4858086016818453e-5,6.827646909526001e-8,5.861592131228875e-8,8.129653056830804e-8 +WriteBits/128/740/1,1.5107343693141572e-5,1.5086780106460427e-5,1.512722065030013e-5,7.27064255146649e-8,6.024738477008645e-8,9.056837665323956e-8 +WriteBits/128/750/1,1.535730412002315e-5,1.5327659560287544e-5,1.5394732836273353e-5,1.1581126369412009e-7,9.418329362183358e-8,1.502581059200561e-7 +WriteBits/128/760/1,1.5490852646102905e-5,1.5469317942420578e-5,1.551642911876631e-5,8.378500768982738e-8,5.8226105033110596e-8,1.263136514935676e-7 +WriteBits/128/770/1,1.559044558705571e-5,1.5575251083724066e-5,1.560971057612431e-5,5.671335611536967e-8,4.6125817025445244e-8,7.551949254989443e-8 +WriteBits/128/780/1,1.588808780676268e-5,1.585891524525924e-5,1.592056942891158e-5,1.0028652492998202e-7,7.889883659879178e-8,1.3198999849561602e-7 +WriteBits/128/790/1,1.6075518050336344e-5,1.6046082699723258e-5,1.6104501599078923e-5,9.59793579161069e-8,7.922682638294985e-8,1.1771250022781149e-7 +WriteBits/128/800/1,1.6201709186892906e-5,1.6182121298451327e-5,1.6222490607105158e-5,7.041681061220381e-8,5.816648836478313e-8,8.611565181503468e-8 +WriteBits/128/810/1,1.6538245477039103e-5,1.650799796704997e-5,1.656667772522069e-5,1.0190020331217329e-7,8.669327541853706e-8,1.2589198099183178e-7 +WriteBits/128/820/1,1.6572448845744917e-5,1.6552655692998663e-5,1.659803382304283e-5,7.559762773754633e-8,5.923612121529284e-8,9.640522457093787e-8 +WriteBits/128/830/1,1.682403939343744e-5,1.6799122876774815e-5,1.684763488956901e-5,7.916711453911123e-8,6.285728266165532e-8,1.0781536180904653e-7 +WriteBits/128/840/1,1.6898790213444524e-5,1.6871816278886547e-5,1.6925616150429548e-5,9.020689151536531e-8,7.667747608194562e-8,1.2036067780986876e-7 +WriteBits/128/850/1,1.7269909189495304e-5,1.7229925518573585e-5,1.731356735510004e-5,1.3773869971348857e-7,1.2066652698869987e-7,1.641120553784936e-7 +WriteBits/128/860/1,1.7329764629717184e-5,1.7308869684411937e-5,1.7352449432420126e-5,7.703878728834528e-8,6.593642161004454e-8,9.391290620309632e-8 +WriteBits/128/870/1,1.7508898959107345e-5,1.748555256372829e-5,1.7531713648321605e-5,7.700414339435589e-8,6.331845441999907e-8,9.750482313167744e-8 +WriteBits/128/880/1,1.7815544659217306e-5,1.7790396808936523e-5,1.7840042794306742e-5,8.749424574531266e-8,7.684647323040962e-8,1.0258345080479994e-7 +WriteBits/128/890/1,1.7988120895423902e-5,1.7960720535996876e-5,1.8013905427396346e-5,8.826120862361727e-8,7.385750518359589e-8,1.0550963575330896e-7 +WriteBits/128/900/1,1.8052334987077627e-5,1.801594814877233e-5,1.8092870988777825e-5,1.25010203830037e-7,9.818041542682535e-8,1.6858328327317362e-7 +WriteBits/128/910/1,1.8424011244326893e-5,1.8396190283769008e-5,1.845509270392737e-5,1.0134905654970078e-7,8.232232262403771e-8,1.3172262881285458e-7 +WriteBits/128/920/1,1.8417950718130208e-5,1.8391441322888414e-5,1.8446225113131467e-5,9.795910892299806e-8,7.883227174258591e-8,1.2635569220020716e-7 +WriteBits/128/930/1,1.8689696073101668e-5,1.865080558067919e-5,1.872980442346989e-5,1.320782200174466e-7,1.1052675747725778e-7,1.614856209694583e-7 +WriteBits/128/940/1,1.883751917470639e-5,1.8805363130312505e-5,1.8870491619849255e-5,1.127734433550562e-7,9.544274095153926e-8,1.325393002676102e-7 +WriteBits/128/950/1,1.904707507338555e-5,1.9015420599075493e-5,1.9077235588115406e-5,1.0353020698873553e-7,8.724245507906236e-8,1.28718128461822e-7 +WriteBits/128/960/1,1.925086910956164e-5,1.9220498668805233e-5,1.9279942141781236e-5,9.859350441044547e-8,8.293814859818493e-8,1.1812890643509175e-7 +WriteBits/128/970/1,1.9469938958480357e-5,1.9436776938333105e-5,1.950449780791079e-5,1.0872660369940563e-7,9.043154917629017e-8,1.2889950017010564e-7 +WriteBits/128/980/1,1.9616637753252677e-5,1.9587719181522356e-5,1.9644718641156956e-5,9.925415636993208e-8,8.083317568462958e-8,1.2096446756212346e-7 +WriteBits/128/990/1,1.9753093905864816e-5,1.972221282827391e-5,1.9785435406451614e-5,1.0333131821226867e-7,8.849230355415017e-8,1.2050510984336472e-7 +WriteBits/128/1000/1,1.9999433370918876e-5,1.9969480910596127e-5,2.0033129220288007e-5,1.1261762838193335e-7,8.698201055281548e-8,1.5345465000856696e-7 +WriteBits/128/1010/1,2.010494728914378e-5,2.0077329730505247e-5,2.0138308057436303e-5,1.0357413788279463e-7,8.634062386124025e-8,1.2678392614097413e-7 +WriteBits/128/1020/1,2.0326121537223118e-5,2.029947625282984e-5,2.035293081905517e-5,8.975986892670259e-8,7.57350192147503e-8,1.116967859700079e-7 +WriteBits/128/1030/1,2.0519266162905854e-5,2.0489265543087217e-5,2.0559307993203892e-5,1.1905594001929121e-7,9.471174603044731e-8,1.5101042870493432e-7 +WriteBits/128/1040/1,2.0685451609716975e-5,2.065310735230622e-5,2.0718529158813424e-5,1.1214745228943316e-7,9.309981321979947e-8,1.389236552201615e-7 +WriteBits/128/1050/1,2.084153708576177e-5,2.081470658930615e-5,2.0869524792824048e-5,9.437060006016892e-8,7.624923337891595e-8,1.1688926483309101e-7 +WriteBits/128/1060/1,2.1158526783805938e-5,2.112447245497998e-5,2.119199914167348e-5,1.1635924898772878e-7,9.384206051680505e-8,1.645130345394423e-7 +WriteBits/128/1070/1,2.155816934286968e-5,2.1514785500626066e-5,2.1598118002456255e-5,1.3629440945642732e-7,1.1497800478058904e-7,1.679555164654905e-7 +WriteBits/128/1080/1,2.1576401905814935e-5,2.15366033535103e-5,2.1613899076970386e-5,1.3367568519073494e-7,1.1451163755214768e-7,1.6524114090347493e-7 +WriteBits/128/1090/1,2.1575808805240612e-5,2.1545435527911815e-5,2.1607378576935444e-5,1.0305592742916325e-7,8.693837477348649e-8,1.2284171643415162e-7 +WriteBits/128/1100/1,2.0760988887175428e-5,2.0720350147657615e-5,2.08119521100022e-5,1.5458672945437293e-7,1.221196659842679e-7,2.1834864513611814e-7 +WriteBits/128/1110/1,2.1983834725347605e-5,2.195544579670796e-5,2.2017823602838337e-5,1.0885210001765465e-7,9.302216350238992e-8,1.3748776868651343e-7 +WriteBits/128/1120/1,2.2301523770489503e-5,2.226527790861075e-5,2.2341301286669175e-5,1.3165314723387972e-7,1.120328842879563e-7,1.6025332600310937e-7 +WriteBits/128/1130/1,2.247688443537909e-5,2.2437932847408147e-5,2.2521216664951632e-5,1.3892274642528882e-7,1.1301369114282448e-7,1.7914726526266075e-7 +WriteBits/128/1140/1,2.2382799532444947e-5,2.23618853406359e-5,2.2405717798371715e-5,7.281114840464571e-8,5.971069601819876e-8,9.635818843781014e-8 +WriteBits/128/1150/1,2.2789361652561757e-5,2.275910223831583e-5,2.281895678411735e-5,9.907754303583706e-8,8.471007207042149e-8,1.2417497894101407e-7 +WriteBits/128/1160/1,2.3112425188947485e-5,2.3082924475665525e-5,2.3145496167139007e-5,1.0167342420164072e-7,8.470480848547174e-8,1.283054290576098e-7 +WriteBits/128/1170/1,2.3065983049482814e-5,2.3035082885842262e-5,2.31017250238404e-5,1.1219648651449714e-7,9.309240525129621e-8,1.388803340905503e-7 +WriteBits/128/1180/1,2.346877340675002e-5,2.3419269189283983e-5,2.3510851091512496e-5,1.518270491336116e-7,1.270138551654565e-7,1.9477070716321942e-7 +WriteBits/128/1190/1,2.3719747110091262e-5,2.3683149132616155e-5,2.3766506278729513e-5,1.3094571408705096e-7,1.0840404896887132e-7,1.733035306006753e-7 +WriteBits/128/1200/1,2.3700499784266744e-5,2.3666660694821827e-5,2.3732052535014522e-5,1.0838956986051553e-7,9.360481558995237e-8,1.275016583470531e-7 +WriteBits/128/1210/1,2.404739914122057e-5,2.401114332064168e-5,2.408014036220088e-5,1.1672810670006928e-7,9.266234282702145e-8,1.445426308408508e-7 +WriteBits/128/1220/1,2.407399233149646e-5,2.4040319637557843e-5,2.410669671980631e-5,1.106931886941684e-7,9.322970708303807e-8,1.3440890023959767e-7 +WriteBits/128/1230/1,2.4457162519348453e-5,2.4403074474369285e-5,2.451206337375819e-5,1.773897622976769e-7,1.4708219256906154e-7,2.1891380963379912e-7 +WriteBits/128/1240/1,2.4506028855296562e-5,2.446190219484188e-5,2.4556268604720934e-5,1.5668012636080928e-7,1.2392557442015458e-7,2.1180407128118103e-7 +WriteBits/128/1250/1,2.4557683490724513e-5,2.4525888030925304e-5,2.459909077178917e-5,1.284072078888352e-7,1.0584636259678654e-7,1.7072889570870014e-7 +WriteBits/128/1260/1,2.493408766911251e-5,2.4890525255382277e-5,2.4976905140889753e-5,1.462675447333136e-7,1.2035087697211583e-7,1.772299409814052e-7 +WriteBits/128/1270/1,2.495412181399395e-5,2.4917494770090863e-5,2.498881104667445e-5,1.2012264840424252e-7,1.016526754627923e-7,1.467030343241094e-7 +WriteBits/128/1280/1,2.5161576333563168e-5,2.512392464734526e-5,2.520205599803423e-5,1.343932678581806e-7,1.1559583781739549e-7,1.6099546738292358e-7 +WriteBits/128/1290/1,2.5547417689427006e-5,2.548445075025123e-5,2.5602294534150016e-5,1.9036927468760707e-7,1.5619629197531535e-7,2.3918746400055965e-7 +WriteBits/128/1300/1,2.5559618378198508e-5,2.5518422153950738e-5,2.5600695795396335e-5,1.3785088819328802e-7,1.1801279109851288e-7,1.6125962025823933e-7 +WriteBits/128/1310/1,2.5808744250080826e-5,2.5775743807177224e-5,2.5849778918518636e-5,1.1898445295024836e-7,9.882190520288524e-8,1.4586951097165655e-7 +WriteBits/128/1320/1,2.5816330074022454e-5,2.5789120754554888e-5,2.584696289805956e-5,9.893022619754193e-8,8.032266128607965e-8,1.2504172835434864e-7 +WriteBits/128/1330/1,2.6124727612253457e-5,2.6086045730735144e-5,2.6162388875568314e-5,1.3123110249297105e-7,1.0609423677279111e-7,1.6327743944120924e-7 +WriteBits/128/1340/1,2.6318804265309083e-5,2.6284997965967667e-5,2.635477391289192e-5,1.13789698109719e-7,9.028777892406143e-8,1.513527351042251e-7 +WriteBits/128/1350/1,2.6867158361841556e-5,2.6810538454964585e-5,2.69225696630528e-5,1.9202652918074544e-7,1.6450657087880617e-7,2.3388922317138417e-7 +WriteBits/128/1360/1,2.6841966707201813e-5,2.6806956201296437e-5,2.6885094130426338e-5,1.2462693156340972e-7,9.233091207914764e-8,1.8396357648326214e-7 +WriteBits/128/1370/1,2.6912402694468428e-5,2.6868910432734842e-5,2.6967358253188492e-5,1.6882752909565476e-7,1.2672226788502137e-7,2.2370324905142147e-7 +WriteBits/128/1380/1,2.717834914737726e-5,2.7138305724705073e-5,2.7214396781877334e-5,1.3434814776847568e-7,1.1241796303005855e-7,1.6589154338011805e-7 +WriteBits/128/1390/1,2.7586511104937354e-5,2.753174472759759e-5,2.7634523328212576e-5,1.7414401364741295e-7,1.495927313394083e-7,2.1597989559012854e-7 +WriteBits/128/1400/1,2.760063967339772e-5,2.7542468452568177e-5,2.765238306796358e-5,1.7886085594409054e-7,1.447822609243202e-7,2.184449585356411e-7 +WriteBits/128/1410/1,2.7684333123882643e-5,2.762309684278795e-5,2.775370992227879e-5,2.2385395277019578e-7,1.7688495914952519e-7,3.015267465407231e-7 +WriteBits/128/1420/1,2.822396111989154e-5,2.8154661205993578e-5,2.8281473950640946e-5,2.1343409039030284e-7,1.793670986046393e-7,2.748425689316377e-7 +WriteBits/128/1430/1,2.7935926852434174e-5,2.7881764099845953e-5,2.7999812013078726e-5,1.9769520451344175e-7,1.5078823045946394e-7,2.518877545787954e-7 +WriteBits/128/1440/1,2.810639445555972e-5,2.806416915141337e-5,2.81509523624692e-5,1.5120128844507986e-7,1.2253371768890988e-7,1.9206899041967562e-7 +WriteBits/128/1450/1,2.860761894336212e-5,2.8553684031428673e-5,2.865931094278226e-5,1.8053985679277266e-7,1.5615313198400101e-7,2.1707749102661098e-7 +WriteBits/128/1460/1,2.8758251326704306e-5,2.8703233103573624e-5,2.881126682047619e-5,1.8655308540798314e-7,1.48072973295587e-7,2.4158651583252274e-7 +WriteBits/128/1470/1,2.8693545474835447e-5,2.864004562393698e-5,2.8761197322100375e-5,1.8803465544417116e-7,1.449177833639516e-7,2.489473378238358e-7 +WriteBits/128/1480/1,2.903849047870583e-5,2.900112848482432e-5,2.9076976599363167e-5,1.3150548247090684e-7,1.0714680953405748e-7,1.6447248169116005e-7 +WriteBits/128/1490/1,2.904421632175998e-5,2.8998472949212663e-5,2.908657384847984e-5,1.4326158007309644e-7,1.1961058109643606e-7,1.7997466396533647e-7 +WriteBits/128/1500/1,2.914836858304649e-5,2.9114991942484115e-5,2.9182188309670126e-5,1.1368551302418316e-7,9.45037316213128e-8,1.4074818994006396e-7 ReplicateByte/8/1,1.0093600646847516e-6,1.0086961802719197e-6,1.0099690912533013e-6,2.167998518236597e-9,1.847444304818079e-9,2.544275653142131e-9 ReplicateByte/16/1,1.0168449804739605e-6,1.0162809821796872e-6,1.0174177154582736e-6,2.0441207550115445e-9,1.6919858155691347e-9,2.505799970683893e-9 ReplicateByte/24/1,1.0140353018352386e-6,1.0131658750460041e-6,1.0149813505395692e-6,3.1120113858215626e-9,2.7697573997616998e-9,3.583367912088923e-9 diff --git a/plutus-core/cost-model/data/models.R b/plutus-core/cost-model/data/models.R index ea2d840f184..8682c022908 100644 --- a/plutus-core/cost-model/data/models.R +++ b/plutus-core/cost-model/data/models.R @@ -773,10 +773,7 @@ modelFun <- function(path) { readBitModel <- constantModel ("ReadBit") writeBitsModel <- linearInY ("WriteBits") ## ^ The Y value here is the length of the list of positions because we use ListCostedByLength - ## in the relevant costing benchmark. The time actually depends on the minimum of the lengths - ## of the second and third arguments of `writeBits`, but that will be at most Y, so using - ## linearInY is conservatively safe. If `writeBits` is used correctly then the lengths of the - ## second and third arguments will always be the same anyway. + ## in the relevant costing benchmark. replicateByteModel <- linearInX ("ReplicateByte") shiftByteStringModel <- linearInX ("ShiftByteString") rotateByteStringModel <- linearInX ("RotateByteString") diff --git a/plutus-core/plutus-core/src/PlutusCore/Bitwise.hs b/plutus-core/plutus-core/src/PlutusCore/Bitwise.hs index 192d13f2f78..b58ddbe5084 100644 --- a/plutus-core/plutus-core/src/PlutusCore/Bitwise.hs +++ b/plutus-core/plutus-core/src/PlutusCore/Bitwise.hs @@ -29,7 +29,7 @@ import PlutusCore.Evaluation.Result (evaluationFailure) import ByteString.StrictBuilder (Builder) import ByteString.StrictBuilder qualified as Builder -import Control.Exception (Exception, throw, try) +import Control.Exception (Exception, throwIO, try) import Control.Monad (guard, unless, when) import Data.Bits (unsafeShiftL, unsafeShiftR, (.|.)) import Data.Bits qualified as Bits @@ -553,8 +553,8 @@ readBit bs ix -- | Bulk bit write, as per [CIP-122](https://github.com/cardano-foundation/CIPs/tree/master/CIP-0122) {-# INLINEABLE writeBits #-} -writeBits :: ByteString -> [Integer] -> [Bool] -> BuiltinResult ByteString -writeBits bs ixs bits = case unsafeDupablePerformIO . try $ go of +writeBits :: ByteString -> [Integer] -> Bool -> BuiltinResult ByteString +writeBits bs ixs bit = case unsafeDupablePerformIO . try $ go of Left (WriteBitsException i) -> do emit "writeBits: index out of bounds" emit $ "Index: " <> (pack . show $ i) @@ -567,28 +567,28 @@ writeBits bs ixs bits = case unsafeDupablePerformIO . try $ go of go = BS.useAsCString bs $ \srcPtr -> BSI.create len $ \dstPtr -> - let go2 (i:is) (v:vs) = setAtIx dstPtr i v *> go2 is vs - go2 _ _ = pure () + let go2 (i:is) = setOrClearAtIx dstPtr i *> go2 is + go2 _ = pure () in do copyBytes dstPtr (castPtr srcPtr) len - go2 ixs bits + go2 ixs len :: Int len = BS.length bs bitLen :: Integer bitLen = fromIntegral len * 8 - setAtIx :: Ptr Word8 -> Integer -> Bool -> IO () - setAtIx ptr i b - | i < 0 = throw $ WriteBitsException i - | i >= bitLen = throw $ WriteBitsException i + setOrClearAtIx :: Ptr Word8 -> Integer -> IO () + setOrClearAtIx ptr i + | i < 0 = throwIO $ WriteBitsException i + | i >= bitLen = throwIO $ WriteBitsException i | otherwise = do let (bigIx, littleIx) = i `quotRem` 8 let flipIx = len - fromIntegral bigIx - 1 w8 :: Word8 <- peekByteOff ptr flipIx - let toWrite = if b + let toWrite = if bit then Bits.setBit w8 . fromIntegral $ littleIx else Bits.clearBit w8 . fromIntegral $ littleIx pokeByteOff ptr flipIx toWrite - {-# INLINEABLE setAtIx #-} + {-# INLINEABLE setOrClearAtIx #-} -- | Byte replication, as per [CIP-122](https://github.com/cardano-foundation/CIPs/tree/master/CIP-0122) -- We want to cautious about the allocation of huge amounts of memory so we diff --git a/plutus-core/plutus-core/src/PlutusCore/Default/Builtins.hs b/plutus-core/plutus-core/src/PlutusCore/Default/Builtins.hs index 4d6214d3d09..953dd1c2044 100644 --- a/plutus-core/plutus-core/src/PlutusCore/Default/Builtins.hs +++ b/plutus-core/plutus-core/src/PlutusCore/Default/Builtins.hs @@ -1939,9 +1939,10 @@ instance uni ~ DefaultUni => ToBuiltinMeaning uni DefaultFun where let writeBitsDenotation :: BS.ByteString -> ListCostedByLength Integer - -> ListCostedByLength Bool + -> Bool -> BuiltinResult BS.ByteString - writeBitsDenotation s (ListCostedByLength ixs) (ListCostedByLength bits) = Bitwise.writeBits s ixs bits + writeBitsDenotation s (ListCostedByLength ixs) bit = + Bitwise.writeBits s ixs bit {-# INLINE writeBitsDenotation #-} in makeBuiltinMeaning writeBitsDenotation diff --git a/plutus-core/plutus-core/test/TypeSynthesis/Golden/DefaultFun/WriteBits.plc.golden b/plutus-core/plutus-core/test/TypeSynthesis/Golden/DefaultFun/WriteBits.plc.golden index 7dc57625d05..04ea843e481 100644 --- a/plutus-core/plutus-core/test/TypeSynthesis/Golden/DefaultFun/WriteBits.plc.golden +++ b/plutus-core/plutus-core/test/TypeSynthesis/Golden/DefaultFun/WriteBits.plc.golden @@ -1 +1 @@ -bytestring -> list integer -> list bool -> bytestring \ No newline at end of file +bytestring -> list integer -> bool -> bytestring \ No newline at end of file diff --git a/plutus-core/plutus-core/test/TypeSynthesis/Golden/Signatures/DefaultFun/WriteBits.sig.golden b/plutus-core/plutus-core/test/TypeSynthesis/Golden/Signatures/DefaultFun/WriteBits.sig.golden index 73f64244d11..be183f563f3 100644 --- a/plutus-core/plutus-core/test/TypeSynthesis/Golden/Signatures/DefaultFun/WriteBits.sig.golden +++ b/plutus-core/plutus-core/test/TypeSynthesis/Golden/Signatures/DefaultFun/WriteBits.sig.golden @@ -1 +1 @@ -ByteString -> ListCostedByLength Integer -> ListCostedByLength Bool -> BuiltinResult ByteString \ No newline at end of file +ByteString -> ListCostedByLength Integer -> Bool -> BuiltinResult ByteString \ No newline at end of file diff --git a/plutus-core/untyped-plutus-core/test/Evaluation/Builtins/Laws.hs b/plutus-core/untyped-plutus-core/test/Evaluation/Builtins/Laws.hs index af7f579def5..bc63f37f818 100644 --- a/plutus-core/untyped-plutus-core/test/Evaluation/Builtins/Laws.hs +++ b/plutus-core/untyped-plutus-core/test/Evaluation/Builtins/Laws.hs @@ -69,7 +69,7 @@ getSet = let lhs = mkIterAppNoAnn (builtin () PLC.WriteBits) [ mkConstant @ByteString () bs, mkConstant @[Integer] () [i], - mkConstant @[Bool] () [b] + mkConstant @Bool () b ] evaluatesToConstant bs lhs @@ -84,7 +84,7 @@ setGet = let lhsInner = mkIterAppNoAnn (builtin () PLC.WriteBits) [ mkConstant @ByteString () bs, mkConstant @[Integer] () [i], - mkConstant @[Bool] () [b] + mkConstant @Bool () b ] let lhs = mkIterAppNoAnn (builtin () PLC.ReadBit) [ lhsInner, @@ -100,60 +100,69 @@ setSet = i <- forAllIndexOf bs b1 <- forAll Gen.bool b2 <- forAll Gen.bool - let lhs = mkIterAppNoAnn (builtin () PLC.WriteBits) [ + let lhsInner = mkIterAppNoAnn (builtin () PLC.WriteBits) [ mkConstant @ByteString () bs, mkConstant @[Integer] () [i, i], - mkConstant @[Bool] () [b1, b2] + mkConstant @Bool () b1 + ] + let lhs = mkIterAppNoAnn (builtin () PLC.WriteBits) [ + lhsInner, + mkConstant @[Integer] () [i, i], + mkConstant @Bool () b2 ] let rhs = mkIterAppNoAnn (builtin () PLC.WriteBits) [ mkConstant @ByteString () bs, mkConstant @[Integer] () [i], - mkConstant @[Bool] () [b2] + mkConstant @Bool () b2 ] evaluateTheSame lhs rhs -- | Checks that: -- --- * Writing with an empty changelist does nothing; and --- * If you write with one changelist, then a second, it is the same as --- writing with their concatenation. +-- * Writing with an empty list of positions does nothing; and if you write a +-- * boolean b with one list of positions, then a second, it is the same as +-- * writing b with their concatenation. writeBitsHomomorphismLaws :: TestTree writeBitsHomomorphismLaws = testGroup "homomorphism to lists" [ - testPropertyNamed "identity -> []" "write_bits_h_1" $ - mapTestLimitAtLeast 99 (`div` 20) identityProp, - testPropertyNamed "composition -> concatenation" "write_bits_h_2" $ - mapTestLimitAtLeast 50 (`div` 20) compositionProp + testPropertyNamed "identity -> []" "write_bits_h_1_false" $ + mapTestLimitAtLeast 99 (`div` 20) (identityProp False), + testPropertyNamed "identity -> []" "write_bits_h_1_true" $ + mapTestLimitAtLeast 99 (`div` 20) (identityProp True), + testPropertyNamed "composition -> concatenation" "write_bits_h_2_false" $ + mapTestLimitAtLeast 50 (`div` 20) (compositionProp False), + testPropertyNamed "composition -> concatenation" "write_bits_h_2_true" $ + mapTestLimitAtLeast 50 (`div` 20) (compositionProp True) ] where - identityProp :: Property - identityProp = property $ do + identityProp :: Bool -> Property + identityProp b = property $ do bs <- forAllByteString 1 512 let lhs = mkIterAppNoAnn (builtin () PLC.WriteBits) [ mkConstant @ByteString () bs, mkConstant @[Integer] () [], - mkConstant @[Bool] () [] + mkConstant @Bool () b ] evaluatesToConstant bs lhs - compositionProp :: Property - compositionProp = property $ do + compositionProp :: Bool -> Property + compositionProp b = property $ do bs <- forAllByteString 1 512 - (ixes1, bits1) <- forAllChangelistsOf bs - (ixes2, bits2) <- forAllChangelistsOf bs + ixes1 <- forAllListsOfIndices bs + ixes2 <- forAllListsOfIndices bs let lhsInner = mkIterAppNoAnn (builtin () PLC.WriteBits) [ mkConstant @ByteString () bs, mkConstant @[Integer] () ixes1, - mkConstant @[Bool] () bits1 + mkConstant @Bool () b ] let lhs = mkIterAppNoAnn (builtin () PLC.WriteBits) [ lhsInner, mkConstant @[Integer] () ixes2, - mkConstant @[Bool] () bits2 + mkConstant @Bool () b ] let rhs = mkIterAppNoAnn (builtin () PLC.WriteBits) [ mkConstant @ByteString () bs, mkConstant @[Integer] () (ixes1 <> ixes2), - mkConstant @[Bool] () (bits1 <> bits2) + mkConstant @Bool () b ] evaluateTheSame lhs rhs @@ -479,12 +488,11 @@ unitProp f isPadding unit = property $ do forAllIndexOf :: ByteString -> PropertyT IO Integer forAllIndexOf bs = forAll . Gen.integral . Range.linear 0 . fromIntegral $ BS.length bs * 8 - 1 -forAllChangelistsOf :: ByteString -> PropertyT IO ([Integer], [Bool]) -forAllChangelistsOf bs = do +forAllListsOfIndices :: ByteString -> PropertyT IO [Integer] +forAllListsOfIndices bs = do ourLen :: Int <- forAll . Gen.integral . Range.linear 0 $ 8 * len - 1 ixes <- forAll . Gen.list (Range.singleton ourLen) $ genIndex - bits <- forAll . Gen.list (Range.singleton ourLen) $ Gen.bool - pure (ixes, bits) + pure ixes where len :: Int len = BS.length bs diff --git a/plutus-metatheory/src/Algorithmic/CEK.lagda.md b/plutus-metatheory/src/Algorithmic/CEK.lagda.md index ba1f5fa3b9f..32519246ec1 100644 --- a/plutus-metatheory/src/Algorithmic/CEK.lagda.md +++ b/plutus-metatheory/src/Algorithmic/CEK.lagda.md @@ -327,7 +327,7 @@ BUILTIN complementByteString (base $ V-con s) = inj₂ (V-con (complementBYTESTR BUILTIN readBit (base $ V-con s $ V-con i) with readBIT s i ... | just r = inj₂ (V-con r) ... | nothing = inj₁ (con (ne (^ (atomic aBool)))) -BUILTIN writeBits (base $ V-con s $ V-con ps $ V-con us) with writeBITS s (toList ps) (toList us) +BUILTIN writeBits (base $ V-con s $ V-con ps $ V-con u) with writeBITS s (toList ps) u ... | just r = inj₂ (V-con r) ... | nothing = inj₁ (con (ne (^ (atomic aBytestring)))) BUILTIN replicateByte (base $ V-con l $ V-con w) with replicateBYTE l w diff --git a/plutus-metatheory/src/Builtin.lagda.md b/plutus-metatheory/src/Builtin.lagda.md index ff03926842c..9c672faee43 100644 --- a/plutus-metatheory/src/Builtin.lagda.md +++ b/plutus-metatheory/src/Builtin.lagda.md @@ -321,7 +321,7 @@ sig n⋆ n♯ (t₃ ∷ t₂ ∷ t₁) tᵣ signature xorByteString = ∙ [ bool ↑ , bytestring ↑ , bytestring ↑ ]⟶ bytestring ↑ signature complementByteString = ∙ [ bytestring ↑ ]⟶ bytestring ↑ signature readBit = ∙ [ bytestring ↑ , integer ↑ ]⟶ bool ↑ - signature writeBits = ∙ [ bytestring ↑ , list integer , list bool ]⟶ bytestring ↑ + signature writeBits = ∙ [ bytestring ↑ , list integer , bool ↑ ]⟶ bytestring ↑ signature replicateByte = ∙ [ integer ↑ , integer ↑ ]⟶ bytestring ↑ signature shiftByteString = ∙ [ bytestring ↑ , integer ↑ ]⟶ bytestring ↑ signature rotateByteString = ∙ [ bytestring ↑ , integer ↑ ]⟶ bytestring ↑ @@ -491,7 +491,7 @@ postulate xorBYTESTRING : Bool -> ByteString -> ByteString -> ByteString complementBYTESTRING : ByteString -> ByteString readBIT : ByteString -> Int -> Maybe Bool - writeBITS : ByteString -> List Int -> List Bool -> Maybe ByteString + writeBITS : ByteString -> List Int -> Bool -> Maybe ByteString replicateBYTE : Int -> Int -> Maybe ByteString shiftBYTESTRING : ByteString -> Int -> ByteString rotateBYTESTRING : ByteString -> Int -> ByteString @@ -609,7 +609,7 @@ postulate {-# COMPILE GHC xorBYTESTRING = Bitwise.xorByteString #-} {-# COMPILE GHC complementBYTESTRING = Bitwise.complementByteString #-} {-# COMPILE GHC readBIT = \s n -> builtinResultToMaybe $ Bitwise.readBit s (fromIntegral n) #-} -{-# COMPILE GHC writeBITS = \s ps us -> builtinResultToMaybe $ Bitwise.writeBits s (fmap fromIntegral ps) us #-} +{-# COMPILE GHC writeBITS = \s ps u -> builtinResultToMaybe $ Bitwise.writeBits s (fmap fromIntegral ps) u #-} -- The Plutus Core version of `replicateByte n w` can fail in two ways: if n < 0 or n >= 8192 then -- the implementation PlutusCore.Bitwise will return BuiltinFailure; if w < 0 or w >= 256 then the -- denotation in `PlutusCore.Default.Builtins` will fail when the builtin machinery tries to convert diff --git a/plutus-metatheory/src/Untyped/CEK.lagda.md b/plutus-metatheory/src/Untyped/CEK.lagda.md index aeff2f50e6b..d946e3ebd5c 100644 --- a/plutus-metatheory/src/Untyped/CEK.lagda.md +++ b/plutus-metatheory/src/Untyped/CEK.lagda.md @@ -530,8 +530,8 @@ BUILTIN readBit = λ ; _ -> inj₁ userError } BUILTIN writeBits = λ - { (app (app (app base (V-con bytestring s)) (V-con (list integer) ps)) (V-con (list bool) us)) -> - case writeBITS s (toList ps) (toList us) of λ + { (app (app (app base (V-con bytestring s)) (V-con (list integer) ps)) (V-con bool u)) -> + case writeBITS s (toList ps) u of λ { (just r) -> inj₂ (V-con bytestring r) ; nothing -> inj₁ userError } diff --git a/plutus-tx-plugin/test/Plugin/Primitives/Spec.hs b/plutus-tx-plugin/test/Plugin/Primitives/Spec.hs index d105fa4d5df..841e341675b 100644 --- a/plutus-tx-plugin/test/Plugin/Primitives/Spec.hs +++ b/plutus-tx-plugin/test/Plugin/Primitives/Spec.hs @@ -194,4 +194,4 @@ matchData1 = plc (Proxy @"matchData1") (\(d :: Builtins.BuiltinData) -> (Builtin writeBitsIntegerToByteString :: CompiledCode (P.BuiltinByteString) writeBitsIntegerToByteString = plc (Proxy @"writeBitsIntegerToByteString") - (P.writeBits (P.integerToByteString Builtins.BigEndian 6 15) [0, 2, 5] [True, False, True]) + (P.writeBits (P.writeBits (P.integerToByteString Builtins.BigEndian 6 15) [0, 5] True) [2] False) diff --git a/plutus-tx/changelog.d/20241008_221415_kenneth.mackenzie_new_semantics.md b/plutus-tx/changelog.d/20241008_221415_kenneth.mackenzie_new_semantics.md new file mode 100644 index 00000000000..8303e9789da --- /dev/null +++ b/plutus-tx/changelog.d/20241008_221415_kenneth.mackenzie_new_semantics.md @@ -0,0 +1,19 @@ +### Changed + +- The type of `writeBits` built-in PlutusTx/Plinth function has been changed from + +``` +BuiltinByteString -> [Integer] -> [Bool] -> BuiltinByteString +``` + +to + +``` +BuiltinByteString -> [Integer] -> Bool -> BuiltinByteString +``` + +Instead of a list of boolean values to write to bit positions specified in the +second argument it now takes a single boolean value which is used to update the +bits at all of the given positions. If it's necessary to set some bits and +clear others then the function should be called twice, once with `True` as the +third argument and once with `False`. diff --git a/plutus-tx/src/PlutusTx/Builtins.hs b/plutus-tx/src/PlutusTx/Builtins.hs index 78a39fe09e2..d64b7abf4c3 100644 --- a/plutus-tx/src/PlutusTx/Builtins.hs +++ b/plutus-tx/src/PlutusTx/Builtins.hs @@ -801,28 +801,27 @@ readBit :: Bool readBit bs i = fromOpaque (BI.readBit bs i) --- | Given a 'BuiltinByteString', a list of indexes to change, and a list of values to change those --- indexes to, set the /bit/ at each of the specified index as follows: +-- | Given a 'BuiltinByteString', a list of indexes to change, and a boolean +-- value 'b' to change those indexes to, set the /bit/ at each of the specified +-- index as follows: -- --- * If the corresponding entry in the list of values is 'True', set that bit; +-- * If 'b' is 'True', set that bit; -- * Otherwise, clear that bit. -- -- Will error if any of the indexes are out-of-bounds: that is, if the index is either negative, or -- equal to or greater than the total number of bits in the 'BuiltinByteString' argument. -- --- If the two list arguments have mismatched lengths, the longer argument will be truncated to match --- the length of the shorter one: --- --- * @writeBits bs [0, 1, 4] [True]@ is the same as @writeBits bs [0] [True]@ --- * @writeBits bs [0] [True, False, True]@ is the same as @writeBits bs [0] [True]@ --- -- = Note -- -- This differs slightly from the description of the [corresponding operation in --- CIP-122](https://github.com/cardano-foundation/CIPs/tree/master/CIP-0122#writebits); instead of a --- single changelist argument comprised of pairs, we instead pass two lists, one for indexes to --- change, and one for the values to change those indexes to. Effectively, we are passing the --- changelist argument \'unzipped\'. +-- CIP-122](https://github.com/cardano-foundation/CIPs/tree/master/CIP-0122#writebits); +-- instead of a single changelist argument comprised of pairs, we instead pass a +-- single list of indexes to change, and a single boolean value to change those +-- indexes to. The original proposal allowed one to set and clear bits in a +-- single operation, but constructing the list of boolean values for the updates +-- was somewhat expensive. If it's really necessary to set some bits and clear +-- others then it is easier to call the function twice, once to set bits and +-- and once to clear them. -- -- = See also -- @@ -834,9 +833,9 @@ readBit bs i = fromOpaque (BI.readBit bs i) writeBits :: BuiltinByteString -> [Integer] -> - [Bool] -> + Bool -> BuiltinByteString -writeBits bs ixes bits = BI.writeBits bs (toOpaque ixes) (toOpaque bits) +writeBits bs ixes bit = BI.writeBits bs (toOpaque ixes) (toOpaque bit) -- | Given a length (first argument) and a byte (second argument), produce a 'BuiltinByteString' of -- that length, with that byte in every position. Will error if given a negative length, or a second diff --git a/plutus-tx/src/PlutusTx/Builtins/Internal.hs b/plutus-tx/src/PlutusTx/Builtins/Internal.hs index 440f41d54ab..76fec4f3c53 100644 --- a/plutus-tx/src/PlutusTx/Builtins/Internal.hs +++ b/plutus-tx/src/PlutusTx/Builtins/Internal.hs @@ -799,10 +799,10 @@ readBit (BuiltinByteString bs) i = writeBits :: BuiltinByteString -> BuiltinList BuiltinInteger -> - BuiltinList BuiltinBool -> + BuiltinBool -> BuiltinByteString -writeBits (BuiltinByteString bs) (BuiltinList ixes) (BuiltinList bits) = - case Bitwise.writeBits bs ixes (fmap (\(BuiltinBool b) -> b) bits) of +writeBits (BuiltinByteString bs) (BuiltinList ixes) (BuiltinBool bit) = + case Bitwise.writeBits bs ixes bit of BuiltinFailure logs err -> traceAll (logs <> pure (display err)) $ Haskell.error "writeBits errored." BuiltinSuccess bs' -> BuiltinByteString bs' From ec8b99ac3838768fe0db8baf1ede8f070e7b9a07 Mon Sep 17 00:00:00 2001 From: Kenneth MacKenzie Date: Wed, 9 Oct 2024 19:56:39 +0100 Subject: [PATCH 18/70] Revert "[Builtins] Disable 'writeBits' for changPlus1 (#6536)" (#6554) This reverts commit 9eba5de596612427a08ef6bc219fc1a621adec2f. --- plutus-ledger-api/src/PlutusLedgerApi/Common/Versions.hs | 4 ++-- plutus-ledger-api/src/PlutusLedgerApi/V3/ParamName.hs | 8 ++++---- plutus-ledger-api/test/Spec/CostModelParams.hs | 2 +- plutus-ledger-api/test/Spec/Data/CostModelParams.hs | 2 +- .../PlutusLedgerApi/Test/V3/Data/EvaluationContext.hs | 5 ++--- .../testlib/PlutusLedgerApi/Test/V3/EvaluationContext.hs | 5 ++--- 6 files changed, 12 insertions(+), 14 deletions(-) diff --git a/plutus-ledger-api/src/PlutusLedgerApi/Common/Versions.hs b/plutus-ledger-api/src/PlutusLedgerApi/Common/Versions.hs index 635000996b9..59d325f508c 100644 --- a/plutus-ledger-api/src/PlutusLedgerApi/Common/Versions.hs +++ b/plutus-ledger-api/src/PlutusLedgerApi/Common/Versions.hs @@ -122,12 +122,12 @@ builtinsIntroducedIn = Map.fromList [ ]), ((PlutusV3, changPlus1PV), Set.fromList [ AndByteString, OrByteString, XorByteString, ComplementByteString, - ReadBit, ReplicateByte, + ReadBit, WriteBits, ReplicateByte, ShiftByteString, RotateByteString, CountSetBits, FindFirstSetBit, Ripemd_160 ]), ((PlutusV3, futurePV), Set.fromList [ - WriteBits, ExpModInteger + ExpModInteger ]) ] diff --git a/plutus-ledger-api/src/PlutusLedgerApi/V3/ParamName.hs b/plutus-ledger-api/src/PlutusLedgerApi/V3/ParamName.hs index c7e44bcd654..0de6ad0c7c7 100644 --- a/plutus-ledger-api/src/PlutusLedgerApi/V3/ParamName.hs +++ b/plutus-ledger-api/src/PlutusLedgerApi/V3/ParamName.hs @@ -288,6 +288,10 @@ data ParamName = | ComplementByteString'memory'arguments'slope | ReadBit'cpu'arguments | ReadBit'memory'arguments + | WriteBits'cpu'arguments'intercept + | WriteBits'cpu'arguments'slope + | WriteBits'memory'arguments'intercept + | WriteBits'memory'arguments'slope | ReplicateByte'cpu'arguments'intercept | ReplicateByte'cpu'arguments'slope | ReplicateByte'memory'arguments'intercept @@ -311,10 +315,6 @@ data ParamName = | Ripemd_160'memory'arguments -- not enabled yet: --- WriteBits'cpu'arguments'intercept --- WriteBits'cpu'arguments'slope --- WriteBits'memory'arguments'intercept --- WriteBits'memory'arguments'slope -- ExpModInteger'cpu'arguments -- ExpModInteger'memory'arguments deriving stock (Eq, Ord, Enum, Ix, Bounded, Generic) diff --git a/plutus-ledger-api/test/Spec/CostModelParams.hs b/plutus-ledger-api/test/Spec/CostModelParams.hs index a5797ac3041..c5e45208009 100644 --- a/plutus-ledger-api/test/Spec/CostModelParams.hs +++ b/plutus-ledger-api/test/Spec/CostModelParams.hs @@ -28,7 +28,7 @@ tests = [ testCase "length" $ do 166 @=? length v1_ParamNames 185 @=? length v2_ParamNames - 293 @=? length v3_ParamNames + 297 @=? length v3_ParamNames , testCase "tripping paramname" $ do for_ v1_ParamNames $ \ p -> assertBool "tripping v1 cm params failed" $ Just p == readParamName (showParamName p) diff --git a/plutus-ledger-api/test/Spec/Data/CostModelParams.hs b/plutus-ledger-api/test/Spec/Data/CostModelParams.hs index 4c34c8bd41b..9a7eab8323a 100644 --- a/plutus-ledger-api/test/Spec/Data/CostModelParams.hs +++ b/plutus-ledger-api/test/Spec/Data/CostModelParams.hs @@ -26,7 +26,7 @@ tests = [ testCase "length" $ do 166 @=? length v1_ParamNames 185 @=? length v2_ParamNames - 293 @=? length v3_ParamNames + 297 @=? length v3_ParamNames , testCase "tripping paramname" $ do for_ v1_ParamNames $ \ p -> assertBool "tripping v1 cm params failed" $ Just p == readParamName (showParamName p) diff --git a/plutus-ledger-api/testlib/PlutusLedgerApi/Test/V3/Data/EvaluationContext.hs b/plutus-ledger-api/testlib/PlutusLedgerApi/Test/V3/Data/EvaluationContext.hs index 7170b7593b4..0849ba62a39 100644 --- a/plutus-ledger-api/testlib/PlutusLedgerApi/Test/V3/Data/EvaluationContext.hs +++ b/plutus-ledger-api/testlib/PlutusLedgerApi/Test/V3/Data/EvaluationContext.hs @@ -76,13 +76,13 @@ clearBuiltinCostModel r = r , paramXorByteString = mempty , paramComplementByteString = mempty , paramReadBit = mempty + , paramWriteBits = mempty , paramReplicateByte = mempty , paramShiftByteString = mempty , paramRotateByteString = mempty , paramCountSetBits = mempty , paramFindFirstSetBit = mempty , paramRipemd_160 = mempty - , paramWriteBits = mempty , paramExpModInteger = mempty } @@ -93,6 +93,5 @@ clearBuiltinCostModel' :: (m ~ MBuiltinCostModel) => m -> m clearBuiltinCostModel' r = r { -- , paramIntegerToByteString = mempty -- Required for V2 -- , paramByteStringToInteger = mempty -- Required for V2 - paramWriteBits = mempty - , paramExpModInteger = mempty + paramExpModInteger = mempty } diff --git a/plutus-ledger-api/testlib/PlutusLedgerApi/Test/V3/EvaluationContext.hs b/plutus-ledger-api/testlib/PlutusLedgerApi/Test/V3/EvaluationContext.hs index 436807d8642..21529c32bb0 100644 --- a/plutus-ledger-api/testlib/PlutusLedgerApi/Test/V3/EvaluationContext.hs +++ b/plutus-ledger-api/testlib/PlutusLedgerApi/Test/V3/EvaluationContext.hs @@ -77,13 +77,13 @@ clearBuiltinCostModel r = r , paramXorByteString = mempty , paramComplementByteString = mempty , paramReadBit = mempty + , paramWriteBits = mempty , paramReplicateByte = mempty , paramShiftByteString = mempty , paramRotateByteString = mempty , paramCountSetBits = mempty , paramFindFirstSetBit = mempty , paramRipemd_160 = mempty - , paramWriteBits = mempty , paramExpModInteger = mempty } @@ -94,6 +94,5 @@ clearBuiltinCostModel' :: (m ~ MBuiltinCostModel) => m -> m clearBuiltinCostModel' r = r { -- , paramIntegerToByteString = mempty -- Required for V2 -- , paramByteStringToInteger = mempty -- Required for V2 - paramWriteBits = mempty - , paramExpModInteger = mempty + paramExpModInteger = mempty } From fb828939f24894174a5144cd62134ec26d1e19e5 Mon Sep 17 00:00:00 2001 From: Kenneth MacKenzie Date: Wed, 9 Oct 2024 23:12:39 +0100 Subject: [PATCH 19/70] Plutus release 1.36.0.0 (#6555) * Plutus release 1.36.0.0 * Fix formatting in changelog --- .../cardano-constitution.cabal | 16 +-- doc/docusaurus/docusaurus-examples.cabal | 10 +- plutus-benchmark/plutus-benchmark.cabal | 128 +++++++++--------- plutus-conformance/plutus-conformance.cabal | 8 +- plutus-core/CHANGELOG.md | 22 +++ ..._220810_kenneth.mackenzie_new_semantics.md | 19 --- plutus-core/plutus-core.cabal | 30 ++-- plutus-executables/plutus-executables.cabal | 8 +- plutus-ledger-api/plutus-ledger-api.cabal | 36 ++--- plutus-metatheory/plutus-metatheory.cabal | 4 +- plutus-tx-plugin/plutus-tx-plugin.cabal | 20 +-- plutus-tx-test-util/plutus-tx-test-util.cabal | 4 +- plutus-tx/CHANGELOG.md | 23 ++++ ..._221415_kenneth.mackenzie_new_semantics.md | 19 --- plutus-tx/plutus-tx.cabal | 12 +- .../prettyprinter-configurable.cabal | 4 +- 16 files changed, 185 insertions(+), 178 deletions(-) delete mode 100644 plutus-core/changelog.d/20241008_220810_kenneth.mackenzie_new_semantics.md delete mode 100644 plutus-tx/changelog.d/20241008_221415_kenneth.mackenzie_new_semantics.md diff --git a/cardano-constitution/cardano-constitution.cabal b/cardano-constitution/cardano-constitution.cabal index 34d4b6ba370..c8decc64d54 100644 --- a/cardano-constitution/cardano-constitution.cabal +++ b/cardano-constitution/cardano-constitution.cabal @@ -82,10 +82,10 @@ library , base >=4.9 && <5 , containers , filepath - , plutus-core ^>=1.35 - , plutus-ledger-api ^>=1.35 - , plutus-tx ^>=1.35 - , plutus-tx-plugin ^>=1.35 + , plutus-core ^>=1.36 + , plutus-ledger-api ^>=1.36 + , plutus-tx ^>=1.36 + , plutus-tx-plugin ^>=1.36 , regex-tdfa , safe , template-haskell @@ -124,9 +124,9 @@ test-suite cardano-constitution-test , containers , directory , filepath - , plutus-core:{plutus-core, plutus-core-testlib} ^>=1.35 - , plutus-ledger-api ^>=1.35 - , plutus-tx ^>=1.35 + , plutus-core:{plutus-core, plutus-core-testlib} ^>=1.36 + , plutus-ledger-api ^>=1.36 + , plutus-tx ^>=1.36 , QuickCheck , serialise , tasty @@ -151,4 +151,4 @@ executable create-json-envelope , base , cardano-api , cardano-constitution - , plutus-ledger-api ^>=1.35 + , plutus-ledger-api ^>=1.36 diff --git a/doc/docusaurus/docusaurus-examples.cabal b/doc/docusaurus/docusaurus-examples.cabal index 4f13f1310f0..40186be7694 100644 --- a/doc/docusaurus/docusaurus-examples.cabal +++ b/doc/docusaurus/docusaurus-examples.cabal @@ -39,9 +39,9 @@ library docusaurus-code build-depends: , base >=4.9 && <5 - , plutus-core ^>=1.35 - , plutus-ledger-api ^>=1.35 - , plutus-tx ^>=1.35 + , plutus-core ^>=1.36 + , plutus-ledger-api ^>=1.36 + , plutus-tx ^>=1.36 if !(impl(ghcjs) || os(ghcjs)) build-depends: plutus-tx-plugin @@ -55,5 +55,5 @@ executable example-cip57 build-depends: , base ^>=4.18 , containers - , plutus-ledger-api ^>=1.35 - , plutus-tx ^>=1.35 + , plutus-ledger-api ^>=1.36 + , plutus-tx ^>=1.36 diff --git a/plutus-benchmark/plutus-benchmark.cabal b/plutus-benchmark/plutus-benchmark.cabal index 75bb15e25b0..fcc469f355f 100644 --- a/plutus-benchmark/plutus-benchmark.cabal +++ b/plutus-benchmark/plutus-benchmark.cabal @@ -94,8 +94,8 @@ library plutus-benchmark-common , directory , filepath , flat ^>=0.6 - , plutus-core ^>=1.35 - , plutus-ledger-api ^>=1.35 + , plutus-core ^>=1.36 + , plutus-ledger-api ^>=1.36 , plutus-tx-test-util , tasty , tasty-golden @@ -122,9 +122,9 @@ library nofib-internal , base >=4.9 && <5 , deepseq , plutus-benchmark-common - , plutus-core ^>=1.35 - , plutus-tx ^>=1.35 - , plutus-tx-plugin ^>=1.35 + , plutus-core ^>=1.36 + , plutus-tx ^>=1.36 + , plutus-tx-plugin ^>=1.36 executable nofib-exe import: lang, ghc-version-support, os-support @@ -138,8 +138,8 @@ executable nofib-exe , nofib-internal , optparse-applicative , plutus-benchmark-common - , plutus-core ^>=1.35 - , plutus-tx ^>=1.35 + , plutus-core ^>=1.36 + , plutus-tx ^>=1.36 , prettyprinter , transformers @@ -177,8 +177,8 @@ test-suite plutus-benchmark-nofib-tests , base >=4.9 && <5 , nofib-internal , plutus-benchmark-common - , plutus-core:{plutus-core, plutus-core-testlib} ^>=1.35 - , plutus-tx:{plutus-tx, plutus-tx-testlib} ^>=1.35 + , plutus-core:{plutus-core, plutus-core-testlib} ^>=1.36 + , plutus-tx:{plutus-tx, plutus-tx-testlib} ^>=1.36 , tasty , tasty-hunit , tasty-quickcheck @@ -204,9 +204,9 @@ library lists-internal , base >=4.9 && <5 , mtl , plutus-benchmark-common - , plutus-core ^>=1.35 - , plutus-tx ^>=1.35 - , plutus-tx-plugin ^>=1.35 + , plutus-core ^>=1.36 + , plutus-tx ^>=1.36 + , plutus-tx-plugin ^>=1.36 executable list-sort-exe import: lang, ghc-version-support, os-support @@ -217,7 +217,7 @@ executable list-sort-exe , lists-internal , monoidal-containers , plutus-benchmark-common - , plutus-core ^>=1.35 + , plutus-core ^>=1.36 benchmark lists import: lang, ghc-version-support, os-support @@ -229,7 +229,7 @@ benchmark lists , criterion >=1.5.9.0 , lists-internal , plutus-benchmark-common - , plutus-ledger-api ^>=1.35 + , plutus-ledger-api ^>=1.36 test-suite plutus-benchmark-lists-tests import: lang, ghc-version-support, os-support @@ -246,8 +246,8 @@ test-suite plutus-benchmark-lists-tests , base >=4.9 && <5 , lists-internal , plutus-benchmark-common - , plutus-core:plutus-core-testlib ^>=1.35 - , plutus-tx:plutus-tx-testlib ^>=1.35 + , plutus-core:plutus-core-testlib ^>=1.36 + , plutus-tx:plutus-tx-testlib ^>=1.36 , tasty , tasty-quickcheck @@ -268,8 +268,8 @@ benchmark validation , flat ^>=0.6 , optparse-applicative , plutus-benchmark-common - , plutus-core ^>=1.35 - , plutus-ledger-api ^>=1.35 + , plutus-core ^>=1.36 + , plutus-ledger-api ^>=1.36 ---------------- validation-decode ---------------- @@ -289,8 +289,8 @@ benchmark validation-decode , flat ^>=0.6 , optparse-applicative , plutus-benchmark-common - , plutus-core ^>=1.35 - , plutus-ledger-api ^>=1.35 + , plutus-core ^>=1.36 + , plutus-ledger-api ^>=1.36 ---------------- validation-full ---------------- @@ -310,8 +310,8 @@ benchmark validation-full , flat ^>=0.6 , optparse-applicative , plutus-benchmark-common - , plutus-core ^>=1.35 - , plutus-ledger-api ^>=1.35 + , plutus-core ^>=1.36 + , plutus-ledger-api ^>=1.36 ---------------- Cek cost model calibration ---------------- @@ -327,10 +327,10 @@ benchmark cek-calibration , lens , mtl , plutus-benchmark-common - , plutus-core ^>=1.35 - , plutus-ledger-api ^>=1.35 - , plutus-tx ^>=1.35 - , plutus-tx-plugin ^>=1.35 + , plutus-core ^>=1.36 + , plutus-ledger-api ^>=1.36 + , plutus-tx ^>=1.36 + , plutus-tx-plugin ^>=1.36 ---------------- Signature verification throughput ---------------- @@ -346,9 +346,9 @@ executable ed25519-costs , cardano-crypto-class , hedgehog , plutus-benchmark-common - , plutus-core ^>=1.35 - , plutus-tx ^>=1.35 - , plutus-tx-plugin ^>=1.35 + , plutus-core ^>=1.36 + , plutus-tx ^>=1.36 + , plutus-tx-plugin ^>=1.36 -- Calculate the predicted costs of sequences of ed25519 signature verification -- operations and compare them with a golden file. @@ -365,9 +365,9 @@ test-suite ed25519-costs-test , cardano-crypto-class , hedgehog , plutus-benchmark-common - , plutus-core:{plutus-core, plutus-core-testlib} ^>=1.35 - , plutus-tx ^>=1.35 - , plutus-tx-plugin ^>=1.35 + , plutus-core:{plutus-core, plutus-core-testlib} ^>=1.36 + , plutus-tx ^>=1.36 + , plutus-tx-plugin ^>=1.36 ---------------- BLS12-381 experiments ---------------- @@ -385,10 +385,10 @@ library bls12-381lib-internal , bytestring , hedgehog , plutus-benchmark-common - , plutus-core ^>=1.35 - , plutus-ledger-api ^>=1.35 - , plutus-tx ^>=1.35 - , plutus-tx-plugin ^>=1.35 + , plutus-core ^>=1.36 + , plutus-ledger-api ^>=1.36 + , plutus-tx ^>=1.36 + , plutus-tx-plugin ^>=1.36 -- Print out predicted costs of various scripts involving BLS12-381 operations executable bls12-381-costs @@ -412,7 +412,7 @@ test-suite bls12-381-costs-test , base >=4.9 && <5 , bls12-381lib-internal , plutus-benchmark-common - , plutus-core:plutus-core-testlib ^>=1.35 + , plutus-core:plutus-core-testlib ^>=1.36 -- Run benchmarks for various scripts involving BLS12-381 operations benchmark bls12-381-benchmarks @@ -426,8 +426,8 @@ benchmark bls12-381-benchmarks , bytestring , criterion >=1.5.9.0 , plutus-benchmark-common - , plutus-ledger-api ^>=1.35 - , plutus-tx ^>=1.35 + , plutus-ledger-api ^>=1.36 + , plutus-tx ^>=1.36 ---------------- script contexts ---------------- @@ -440,9 +440,9 @@ library script-contexts-internal build-depends: , base >=4.9 && <5 - , plutus-ledger-api ^>=1.35 - , plutus-tx ^>=1.35 - , plutus-tx-plugin ^>=1.35 + , plutus-ledger-api ^>=1.36 + , plutus-tx ^>=1.36 + , plutus-tx-plugin ^>=1.36 test-suite plutus-benchmark-script-contexts-tests import: lang, ghc-version-support, os-support @@ -454,8 +454,8 @@ test-suite plutus-benchmark-script-contexts-tests build-depends: , base >=4.9 && <5 , plutus-benchmark-common - , plutus-core:{plutus-core, plutus-core-testlib} ^>=1.35 - , plutus-tx:plutus-tx-testlib ^>=1.35 + , plutus-core:{plutus-core, plutus-core-testlib} ^>=1.36 + , plutus-tx:plutus-tx-testlib ^>=1.36 , script-contexts-internal , tasty , tasty-hunit @@ -484,10 +484,10 @@ library marlowe-internal , mtl , newtype-generics , plutus-benchmark-common - , plutus-core:{plutus-core, plutus-core-execlib} ^>=1.35 - , plutus-ledger-api ^>=1.35 - , plutus-tx ^>=1.35 - , plutus-tx-plugin ^>=1.35 + , plutus-core:{plutus-core, plutus-core-execlib} ^>=1.36 + , plutus-ledger-api ^>=1.36 + , plutus-tx ^>=1.36 + , plutus-tx-plugin ^>=1.36 , serialise executable marlowe-validators @@ -507,8 +507,8 @@ executable marlowe-validators , cardano-binary , marlowe-internal , plutus-benchmark-common - , plutus-ledger-api ^>=1.35 - , plutus-tx ^>=1.35 + , plutus-ledger-api ^>=1.36 + , plutus-tx ^>=1.36 , serialise benchmark marlowe @@ -522,8 +522,8 @@ benchmark marlowe , criterion , marlowe-internal , plutus-benchmark-common - , plutus-ledger-api ^>=1.35 - , plutus-tx ^>=1.35 + , plutus-ledger-api ^>=1.36 + , plutus-tx ^>=1.36 test-suite plutus-benchmark-marlowe-tests import: lang, ghc-version-support, os-support @@ -535,9 +535,9 @@ test-suite plutus-benchmark-marlowe-tests build-depends: , base >=4.9 && <5 , marlowe-internal - , plutus-core:{plutus-core, plutus-core-testlib} ^>=1.35 - , plutus-ledger-api ^>=1.35 - , plutus-tx:{plutus-tx, plutus-tx-testlib} ^>=1.35 + , plutus-core:{plutus-core, plutus-core-testlib} ^>=1.36 + , plutus-ledger-api ^>=1.36 + , plutus-tx:{plutus-tx, plutus-tx-testlib} ^>=1.36 , tasty ---------------- agda evaluators ---------------- @@ -551,7 +551,7 @@ library agda-internal build-depends: , base >=4.9 && <5 , criterion - , plutus-core ^>=1.35 + , plutus-core ^>=1.36 , plutus-metatheory benchmark validation-agda-cek @@ -571,7 +571,7 @@ benchmark validation-agda-cek , flat ^>=0.6 , optparse-applicative , plutus-benchmark-common - , plutus-core ^>=1.35 + , plutus-core ^>=1.36 benchmark nofib-agda-cek import: lang, ghc-version-support, os-support @@ -598,8 +598,8 @@ benchmark marlowe-agda-cek , criterion , marlowe-internal , plutus-benchmark-common - , plutus-ledger-api ^>=1.35 - , plutus-tx ^>=1.35 + , plutus-ledger-api ^>=1.36 + , plutus-tx ^>=1.36 -------------------- bitwise----------------------- @@ -615,8 +615,8 @@ library bitwise-internal build-depends: , base - , plutus-tx ^>=1.35 - , plutus-tx-plugin ^>=1.35 + , plutus-tx ^>=1.36 + , plutus-tx-plugin ^>=1.36 test-suite bitwise-test import: lang, ghc-version-support, os-support @@ -628,8 +628,8 @@ test-suite bitwise-test , bitwise-internal , cryptohash-sha512 , ed25519 - , plutus-core:plutus-core-testlib ^>=1.35 - , plutus-tx:{plutus-tx, plutus-tx-testlib} ^>=1.35 + , plutus-core:plutus-core-testlib ^>=1.36 + , plutus-tx:{plutus-tx, plutus-tx-testlib} ^>=1.36 , tasty , tasty-hunit @@ -643,4 +643,4 @@ benchmark bitwise-bench , bitwise-internal , criterion , plutus-benchmark-common - , plutus-tx ^>=1.35 + , plutus-tx ^>=1.36 diff --git a/plutus-conformance/plutus-conformance.cabal b/plutus-conformance/plutus-conformance.cabal index 7ba6f3bea2b..9a431b1963b 100644 --- a/plutus-conformance/plutus-conformance.cabal +++ b/plutus-conformance/plutus-conformance.cabal @@ -52,7 +52,7 @@ library , base , directory , filepath - , plutus-core:{plutus-core, plutus-core-testlib} ^>=1.35 + , plutus-core:{plutus-core, plutus-core-testlib} ^>=1.36 , tasty , tasty-expected-failure , tasty-golden @@ -75,7 +75,7 @@ test-suite haskell-conformance build-depends: , base >=4.9 && <5 , plutus-conformance - , plutus-core ^>=1.35 + , plutus-core ^>=1.36 test-suite haskell-steppable-conformance import: lang, os-support @@ -88,7 +88,7 @@ test-suite haskell-steppable-conformance , base >=4.9 && <5 , lens , plutus-conformance - , plutus-core ^>=1.35 + , plutus-core ^>=1.36 test-suite agda-conformance import: lang, os-support @@ -101,6 +101,6 @@ test-suite agda-conformance , aeson , base >=4.9 && <5 , plutus-conformance - , plutus-core ^>=1.35 + , plutus-core ^>=1.36 , plutus-metatheory , transformers diff --git a/plutus-core/CHANGELOG.md b/plutus-core/CHANGELOG.md index 33dde00b72e..45ede3f95ae 100644 --- a/plutus-core/CHANGELOG.md +++ b/plutus-core/CHANGELOG.md @@ -1,4 +1,26 @@ + +# 1.36.0.0 — 2024-10-09 + +## Changed + +- The signature of the `writeBits` PLC builtin has been changed from +``` +[bytestring, list integer, list boolean] -> bytestring +``` + + to + +``` +[bytestring, list integer, boolean] -> bytestring +``` + + Instead of a list of boolean values to write to bit positions specified in the + second argument it now takes a single boolean value which is used to update the + bits at all of the given positions. If it's necessary to set some bits and + clear others then the function should be called twice, once with `True` as the + third argument and once with `False`. + # 1.35.0.0 — 2024-10-04 diff --git a/plutus-core/changelog.d/20241008_220810_kenneth.mackenzie_new_semantics.md b/plutus-core/changelog.d/20241008_220810_kenneth.mackenzie_new_semantics.md deleted file mode 100644 index 1f4bb31ce3e..00000000000 --- a/plutus-core/changelog.d/20241008_220810_kenneth.mackenzie_new_semantics.md +++ /dev/null @@ -1,19 +0,0 @@ -### Changed - -- The signature of the `writeBits` PLC builtin has been changed from -``` -[bytestring, list integer, list boolean] -> bytestring -``` - -to - -``` -[bytestring, list integer, boolean] -> bytestring -``` - -Instead of a list of boolean values to write to bit positions specified in the -second argument it now takes a single boolean value which is used to update the -bits at all of the given positions. If it's necessary to set some bits and -clear others then the function shouldbe called twice, once with `True` as the -third argument and once with `False`. - diff --git a/plutus-core/plutus-core.cabal b/plutus-core/plutus-core.cabal index a05fb74be02..74172c24969 100644 --- a/plutus-core/plutus-core.cabal +++ b/plutus-core/plutus-core.cabal @@ -1,6 +1,6 @@ cabal-version: 3.0 name: plutus-core -version: 1.35.0.0 +version: 1.36.0.0 license: Apache-2.0 license-files: LICENSE @@ -322,7 +322,7 @@ library , nothunks ^>=0.2 , parser-combinators >=0.4.0 , prettyprinter >=1.1.0.1 - , prettyprinter-configurable ^>=1.35 + , prettyprinter-configurable ^>=1.36 , primitive , profunctors , recursion-schemes @@ -385,7 +385,7 @@ test-suite plutus-core-test , hex-text , mmorph , mtl - , plutus-core:{plutus-core, plutus-core-testlib} ^>=1.35 + , plutus-core:{plutus-core, plutus-core-testlib} ^>=1.36 , prettyprinter , serialise , tasty @@ -449,7 +449,7 @@ test-suite untyped-plutus-core-test , hedgehog , lens , mtl - , plutus-core:{plutus-core, plutus-core-testlib} ^>=1.35 + , plutus-core:{plutus-core, plutus-core-testlib} ^>=1.36 , pretty-show , prettyprinter , QuickCheck @@ -554,7 +554,7 @@ library plutus-ir , mtl , multiset , parser-combinators >=0.4.0 - , plutus-core ^>=1.35 + , plutus-core ^>=1.36 , prettyprinter >=1.1.0.1 , profunctors , semigroupoids @@ -623,7 +623,7 @@ test-suite plutus-ir-test , hedgehog , lens , mtl - , plutus-core:{plutus-core, plutus-core-testlib, plutus-ir} ^>=1.35 + , plutus-core:{plutus-core, plutus-core-testlib, plutus-ir} ^>=1.36 , QuickCheck , serialise , tasty @@ -686,7 +686,7 @@ executable plutus , microlens-th ^>=0.4 , mono-traversable , mtl - , plutus-core:{plutus-core, plutus-ir} ^>=1.35 + , plutus-core:{plutus-core, plutus-ir} ^>=1.36 , prettyprinter , primitive , serialise @@ -726,7 +726,7 @@ library plutus-core-execlib , monoidal-containers , mtl , optparse-applicative - , plutus-core:{plutus-core, plutus-core-testlib, plutus-ir} ^>=1.35 + , plutus-core:{plutus-core, plutus-core-testlib, plutus-ir} ^>=1.36 , prettyprinter , text @@ -791,9 +791,9 @@ library plutus-core-testlib , mmorph , mtl , multiset - , plutus-core:{plutus-core, plutus-ir} ^>=1.35 + , plutus-core:{plutus-core, plutus-ir} ^>=1.36 , prettyprinter >=1.1.0.1 - , prettyprinter-configurable ^>=1.35 + , prettyprinter-configurable ^>=1.36 , QuickCheck , quickcheck-instances , quickcheck-transformer @@ -825,7 +825,7 @@ library plutus-ir-cert exposed-modules: PlutusIR.Certifier build-depends: , base - , plutus-core:{plutus-core, plutus-ir} ^>=1.35 + , plutus-core:{plutus-core, plutus-ir} ^>=1.36 ---------------------------------------------- -- profiling @@ -903,7 +903,7 @@ executable cost-model-budgeting-bench , hedgehog , mtl , optparse-applicative - , plutus-core ^>=1.35 + , plutus-core ^>=1.36 , QuickCheck , quickcheck-instances , random @@ -941,7 +941,7 @@ executable generate-cost-model , directory , inline-r >=1.0.1 , optparse-applicative - , plutus-core ^>=1.35 + , plutus-core ^>=1.36 , text -- , exceptions @@ -985,7 +985,7 @@ benchmark cost-model-test , hedgehog , inline-r >=1.0.1 , mmorph - , plutus-core ^>=1.35 + , plutus-core ^>=1.36 , template-haskell , text @@ -1002,7 +1002,7 @@ executable print-cost-model , aeson , base >=4.9 && <5 , bytestring - , plutus-core ^>=1.35 + , plutus-core ^>=1.36 ---------------------------------------------- -- satint diff --git a/plutus-executables/plutus-executables.cabal b/plutus-executables/plutus-executables.cabal index 4f262be744a..4076fbe9d14 100644 --- a/plutus-executables/plutus-executables.cabal +++ b/plutus-executables/plutus-executables.cabal @@ -62,7 +62,7 @@ executable pir , lens , megaparsec , optparse-applicative - , plutus-core:{plutus-core, plutus-core-execlib, plutus-ir} ^>=1.35 + , plutus-core:{plutus-core, plutus-core-execlib, plutus-ir} ^>=1.36 , text , transformers @@ -75,7 +75,7 @@ executable plc , bytestring , flat ^>=0.6 , optparse-applicative - , plutus-core:{plutus-core, plutus-core-execlib} ^>=1.35 + , plutus-core:{plutus-core, plutus-core-execlib} ^>=1.36 executable uplc import: lang, os-support @@ -90,7 +90,7 @@ executable uplc , haskeline , mtl , optparse-applicative - , plutus-core:{plutus-core, plutus-core-execlib} ^>=1.35 + , plutus-core:{plutus-core, plutus-core-execlib} ^>=1.36 , plutus-metatheory , prettyprinter , split @@ -120,7 +120,7 @@ test-suite test-detailed , base , directory , extra - , plutus-core ^>=1.35 + , plutus-core ^>=1.36 , plutus-metatheory , process , tasty diff --git a/plutus-ledger-api/plutus-ledger-api.cabal b/plutus-ledger-api/plutus-ledger-api.cabal index e57a3f0aa45..56936c8392e 100644 --- a/plutus-ledger-api/plutus-ledger-api.cabal +++ b/plutus-ledger-api/plutus-ledger-api.cabal @@ -1,6 +1,6 @@ cabal-version: 3.0 name: plutus-ledger-api -version: 1.35.0.0 +version: 1.36.0.0 license: Apache-2.0 license-files: LICENSE @@ -109,8 +109,8 @@ library , lens , mtl , nothunks - , plutus-core ^>=1.35 - , plutus-tx ^>=1.35 + , plutus-core ^>=1.36 + , plutus-tx ^>=1.36 , prettyprinter , serialise , tagged @@ -141,9 +141,9 @@ library plutus-ledger-api-testlib , base64-bytestring , bytestring , containers - , plutus-core:{plutus-core, plutus-core-testlib} ^>=1.35 - , plutus-ledger-api ^>=1.35 - , plutus-tx ^>=1.35 + , plutus-core:{plutus-core, plutus-core-testlib} ^>=1.36 + , plutus-ledger-api ^>=1.36 + , plutus-tx ^>=1.36 , prettyprinter , QuickCheck , serialise @@ -180,9 +180,9 @@ test-suite plutus-ledger-api-test , lens , mtl , nothunks - , plutus-core:{plutus-core, plutus-core-testlib} ^>=1.35 - , plutus-ledger-api:{plutus-ledger-api, plutus-ledger-api-testlib} ^>=1.35 - , plutus-tx:{plutus-tx, plutus-tx-testlib} ^>=1.35 + , plutus-core:{plutus-core, plutus-core-testlib} ^>=1.36 + , plutus-ledger-api:{plutus-ledger-api, plutus-ledger-api-testlib} ^>=1.36 + , plutus-tx:{plutus-tx, plutus-tx-testlib} ^>=1.36 , prettyprinter , serialise , tasty @@ -219,10 +219,10 @@ test-suite plutus-ledger-api-plugin-test , containers , lens , mtl - , plutus-core:{plutus-core, plutus-core-testlib} ^>=1.35 - , plutus-ledger-api:{plutus-ledger-api, plutus-ledger-api-testlib} ^>=1.35 - , plutus-tx-plugin ^>=1.35 - , plutus-tx:{plutus-tx, plutus-tx-testlib} ^>=1.35 + , plutus-core:{plutus-core, plutus-core-testlib} ^>=1.36 + , plutus-ledger-api:{plutus-ledger-api, plutus-ledger-api-testlib} ^>=1.36 + , plutus-tx-plugin ^>=1.36 + , plutus-tx:{plutus-tx, plutus-tx-testlib} ^>=1.36 , prettyprinter , tasty , tasty-hunit @@ -241,8 +241,8 @@ executable test-onchain-evaluation , extra , filepath , mtl - , plutus-core ^>=1.35 - , plutus-ledger-api:{plutus-ledger-api, plutus-ledger-api-testlib} ^>=1.35 + , plutus-core ^>=1.36 + , plutus-ledger-api:{plutus-ledger-api, plutus-ledger-api-testlib} ^>=1.36 , serialise , tasty , tasty-hunit @@ -261,9 +261,9 @@ executable analyse-script-events , filepath , lens , mtl - , plutus-core ^>=1.35 - , plutus-ledger-api:{plutus-ledger-api, plutus-ledger-api-testlib} ^>=1.35 - , plutus-tx ^>=1.35 + , plutus-core ^>=1.36 + , plutus-ledger-api:{plutus-ledger-api, plutus-ledger-api-testlib} ^>=1.36 + , plutus-tx ^>=1.36 , primitive , serialise diff --git a/plutus-metatheory/plutus-metatheory.cabal b/plutus-metatheory/plutus-metatheory.cabal index 57d21361436..9840d96054c 100644 --- a/plutus-metatheory/plutus-metatheory.cabal +++ b/plutus-metatheory/plutus-metatheory.cabal @@ -67,7 +67,7 @@ library , megaparsec , memory , optparse-applicative - , plutus-core:{plutus-core, plutus-core-execlib} ^>=1.35 + , plutus-core:{plutus-core, plutus-core-execlib} ^>=1.36 , process , text , transformers @@ -599,7 +599,7 @@ test-suite test-NEAT , base , lazy-search , mtl - , plutus-core:{plutus-core, plutus-core-testlib} ^>=1.35 + , plutus-core:{plutus-core, plutus-core-testlib} ^>=1.36 , plutus-metatheory , size-based , Stream diff --git a/plutus-tx-plugin/plutus-tx-plugin.cabal b/plutus-tx-plugin/plutus-tx-plugin.cabal index b6b3c8dcc25..c86d5c807cf 100644 --- a/plutus-tx-plugin/plutus-tx-plugin.cabal +++ b/plutus-tx-plugin/plutus-tx-plugin.cabal @@ -1,6 +1,6 @@ cabal-version: 3.0 name: plutus-tx-plugin -version: 1.35.0.0 +version: 1.36.0.0 license: Apache-2.0 license-files: LICENSE @@ -83,8 +83,8 @@ library , ghc , lens , mtl - , plutus-core:{plutus-core, plutus-ir} ^>=1.35 - , plutus-tx ^>=1.35 + , plutus-core:{plutus-core, plutus-ir} ^>=1.36 + , plutus-tx ^>=1.36 , prettyprinter , template-haskell , text @@ -100,7 +100,7 @@ executable gen-plugin-opts-doc , containers , lens , optparse-applicative - , plutus-tx-plugin ^>=1.35 + , plutus-tx-plugin ^>=1.36 , prettyprinter , PyF >=0.11.1.0 , text @@ -172,10 +172,10 @@ test-suite plutus-tx-plugin-tests , hedgehog , lens , mtl - , plutus-core:{plutus-core, plutus-core-testlib} ^>=1.35 - , plutus-tx-plugin ^>=1.35 + , plutus-core:{plutus-core, plutus-core-testlib} ^>=1.36 + , plutus-tx-plugin ^>=1.36 , plutus-tx-test-util - , plutus-tx:{plutus-tx, plutus-tx-testlib} ^>=1.35 + , plutus-tx:{plutus-tx, plutus-tx-testlib} ^>=1.36 , serialise , tasty , tasty-golden @@ -204,9 +204,9 @@ test-suite size hs-source-dirs: test/size build-depends: , base >=4.9 && <5.0 - , plutus-core:{plutus-core, plutus-core-testlib} ^>=1.35 - , plutus-tx-plugin ^>=1.35 - , plutus-tx:{plutus-tx, plutus-tx-testlib} ^>=1.35 + , plutus-core:{plutus-core, plutus-core-testlib} ^>=1.36 + , plutus-tx-plugin ^>=1.36 + , plutus-tx:{plutus-tx, plutus-tx-testlib} ^>=1.36 , tagged , tasty diff --git a/plutus-tx-test-util/plutus-tx-test-util.cabal b/plutus-tx-test-util/plutus-tx-test-util.cabal index a8fb527f722..f9907b63754 100644 --- a/plutus-tx-test-util/plutus-tx-test-util.cabal +++ b/plutus-tx-test-util/plutus-tx-test-util.cabal @@ -71,8 +71,8 @@ library -- other-extensions: build-depends: , base >=4.9 && <5 - , plutus-core ^>=1.35 - , plutus-tx ^>=1.35 + , plutus-core ^>=1.36 + , plutus-tx ^>=1.36 , text hs-source-dirs: testlib diff --git a/plutus-tx/CHANGELOG.md b/plutus-tx/CHANGELOG.md index faaa9e66c3b..6c7896577f6 100644 --- a/plutus-tx/CHANGELOG.md +++ b/plutus-tx/CHANGELOG.md @@ -1,4 +1,27 @@ + +# 1.36.0.0 — 2024-10-09 + +## Changed + +- The type of `writeBits` built-in PlutusTx/Plinth function has been changed from + +``` +BuiltinByteString -> [Integer] -> [Bool] -> BuiltinByteString +``` + + to + +``` +BuiltinByteString -> [Integer] -> Bool -> BuiltinByteString +``` + + Instead of a list of boolean values to write to bit positions specified in the + second argument it now takes a single boolean value which is used to update the + bits at all of the given positions. If it's necessary to set some bits and + clear others then the function should be called twice, once with `True` as the + third argument and once with `False`. + # 1.34.0.0 — 2024-09-09 diff --git a/plutus-tx/changelog.d/20241008_221415_kenneth.mackenzie_new_semantics.md b/plutus-tx/changelog.d/20241008_221415_kenneth.mackenzie_new_semantics.md deleted file mode 100644 index 8303e9789da..00000000000 --- a/plutus-tx/changelog.d/20241008_221415_kenneth.mackenzie_new_semantics.md +++ /dev/null @@ -1,19 +0,0 @@ -### Changed - -- The type of `writeBits` built-in PlutusTx/Plinth function has been changed from - -``` -BuiltinByteString -> [Integer] -> [Bool] -> BuiltinByteString -``` - -to - -``` -BuiltinByteString -> [Integer] -> Bool -> BuiltinByteString -``` - -Instead of a list of boolean values to write to bit positions specified in the -second argument it now takes a single boolean value which is used to update the -bits at all of the given positions. If it's necessary to set some bits and -clear others then the function should be called twice, once with `True` as the -third argument and once with `False`. diff --git a/plutus-tx/plutus-tx.cabal b/plutus-tx/plutus-tx.cabal index df8acc7ebba..9dddb1cabc6 100644 --- a/plutus-tx/plutus-tx.cabal +++ b/plutus-tx/plutus-tx.cabal @@ -1,6 +1,6 @@ cabal-version: 3.0 name: plutus-tx -version: 1.35.0.0 +version: 1.36.0.0 license: Apache-2.0 license-files: LICENSE @@ -132,7 +132,7 @@ library , lens , memory , mtl - , plutus-core:{plutus-core, plutus-ir} ^>=1.35 + , plutus-core:{plutus-core, plutus-ir} ^>=1.36 , prettyprinter , serialise , template-haskell >=2.13.0.0 @@ -165,8 +165,8 @@ library plutus-tx-testlib , hedgehog , lens , mtl - , plutus-core:{plutus-core, plutus-core-testlib, plutus-ir} ^>=1.35 - , plutus-tx ^>=1.35 + , plutus-core:{plutus-core, plutus-core-testlib, plutus-ir} ^>=1.36 + , plutus-tx ^>=1.36 , prettyprinter , tagged , tasty @@ -214,8 +214,8 @@ test-suite plutus-tx-test , hedgehog-fn , lens , mtl - , plutus-core:{plutus-core, plutus-core-testlib} ^>=1.35 - , plutus-tx ^>=1.35 + , plutus-core:{plutus-core, plutus-core-testlib} ^>=1.36 + , plutus-tx ^>=1.36 , pretty-show , serialise , tasty diff --git a/prettyprinter-configurable/prettyprinter-configurable.cabal b/prettyprinter-configurable/prettyprinter-configurable.cabal index b2416d9caef..a0ebe0c8d9f 100644 --- a/prettyprinter-configurable/prettyprinter-configurable.cabal +++ b/prettyprinter-configurable/prettyprinter-configurable.cabal @@ -1,6 +1,6 @@ cabal-version: 2.4 name: prettyprinter-configurable -version: 1.35.0.0 +version: 1.36.0.0 synopsis: Configurable pretty-printing homepage: https://github.com/input-output-hk/plutus/tree/master/prettyprinter-configurable/ @@ -76,7 +76,7 @@ test-suite prettyprinter-configurable-test , base >=4.9 && <5 , megaparsec , parser-combinators - , prettyprinter-configurable ^>=1.35 + , prettyprinter-configurable ^>=1.36 , QuickCheck , quickcheck-text , tasty From 719bd73dcf6ff0e1cf20a3a793d1e0d13e3ef90e Mon Sep 17 00:00:00 2001 From: Ziyang Liu Date: Thu, 10 Oct 2024 05:52:31 -0700 Subject: [PATCH 20/70] Redraw contract lifecycle images, remove the rest of the page (#6550) --- .../end-to-end/closing-the-auction.md | 4 + .../auction-smart-contract/end-to-end/mint.md | 4 + .../end-to-end/placing-bids.md | 8 ++ .../docs/auction-smart-contract/life-cycle.md | 73 ------------------ .../img/closing-tx-simple-auction-v3.png | Bin 149602 -> 0 bytes .../static/img/double-satisfaction.png | Bin 18293 -> 0 bytes .../img/first-bid-simple-auction-v3.png | Bin 139034 -> 0 bytes .../img/second-bid-simple-auction-v3.png | Bin 164852 -> 0 bytes doc/docusaurus/static/img/tx1.png | Bin 0 -> 264757 bytes doc/docusaurus/static/img/tx2.png | Bin 0 -> 273220 bytes doc/docusaurus/static/img/tx3.png | Bin 0 -> 315539 bytes doc/docusaurus/static/img/tx4.png | Bin 0 -> 273754 bytes 12 files changed, 16 insertions(+), 73 deletions(-) delete mode 100644 doc/docusaurus/docs/auction-smart-contract/life-cycle.md delete mode 100644 doc/docusaurus/static/img/closing-tx-simple-auction-v3.png delete mode 100644 doc/docusaurus/static/img/double-satisfaction.png delete mode 100644 doc/docusaurus/static/img/first-bid-simple-auction-v3.png delete mode 100644 doc/docusaurus/static/img/second-bid-simple-auction-v3.png create mode 100644 doc/docusaurus/static/img/tx1.png create mode 100644 doc/docusaurus/static/img/tx2.png create mode 100644 doc/docusaurus/static/img/tx3.png create mode 100644 doc/docusaurus/static/img/tx4.png diff --git a/doc/docusaurus/docs/auction-smart-contract/end-to-end/closing-the-auction.md b/doc/docusaurus/docs/auction-smart-contract/end-to-end/closing-the-auction.md index e79484062f8..273f92cd790 100644 --- a/doc/docusaurus/docs/auction-smart-contract/end-to-end/closing-the-auction.md +++ b/doc/docusaurus/docs/auction-smart-contract/end-to-end/closing-the-auction.md @@ -13,3 +13,7 @@ This transaction needs to do the following: - Set a validity interval that starts no earlier than the auction's end time. The off-chain code for building and submitting this transaction will be very similar to the code for the bidding transactions, so the details are left as an exercise. + +Illustration of this transaction: + +![Settlement](../../../static/img/tx4.png) diff --git a/doc/docusaurus/docs/auction-smart-contract/end-to-end/mint.md b/doc/docusaurus/docs/auction-smart-contract/end-to-end/mint.md index 3c421cba5da..2d88dfd8e43 100644 --- a/doc/docusaurus/docs/auction-smart-contract/end-to-end/mint.md +++ b/doc/docusaurus/docs/auction-smart-contract/end-to-end/mint.md @@ -89,3 +89,7 @@ node mint-token-for-auction.mjs and you should see a message "Minted a token at address ..." printed in the console. Within a minute, you should be able to find the transaction using the transaction hash on [Cardanoscan](https://preview.cardanoscan.io/) and review its details. + +Illustration of the minting transaction: + +![Minting the token](../../../static/img/tx1.png) diff --git a/doc/docusaurus/docs/auction-smart-contract/end-to-end/placing-bids.md b/doc/docusaurus/docs/auction-smart-contract/end-to-end/placing-bids.md index 29464077698..6c7550facba 100644 --- a/doc/docusaurus/docs/auction-smart-contract/end-to-end/placing-bids.md +++ b/doc/docusaurus/docs/auction-smart-contract/end-to-end/placing-bids.md @@ -45,6 +45,10 @@ node bid.mjs bidder1 100000000 Replace `` with the hash of the transaction we previously submitted for minting the token. This hash is used by the off-chain code to locate the UTxO that contains the token. +Illustration of the first bid: + +![First bid](../../../static/img/tx2.png) + After the first bidding transaction is confirmed, we can submit the second bid from bidder2, with a similar command: ``` @@ -53,6 +57,10 @@ node bid.mjs bidder2 200000000 Replace `` with the hash of the previous transaction. +Illustration of the second bid: + +![Second bid](../../../static/img/tx3.png) + --- [^1]: Instead of including the script in the transaction, we can use a reference script, but to keep things simple, we won't discuss that here. diff --git a/doc/docusaurus/docs/auction-smart-contract/life-cycle.md b/doc/docusaurus/docs/auction-smart-contract/life-cycle.md deleted file mode 100644 index d90f21ff887..00000000000 --- a/doc/docusaurus/docs/auction-smart-contract/life-cycle.md +++ /dev/null @@ -1,73 +0,0 @@ ---- -sidebar_position: 15 ---- - -# Life cycle of the auction smart contract - -With the Plutus script written, Alice is now ready to start the auction smart contract. -At the outset, Alice creates a script UTXO whose address is the hash of the Plutus script, whose value is the token to be auctioned, and whose datum is `Nothing`. -Recall that the datum represents the highest bid, and there's no bid yet. -This script UTXO also contains the script itself, so that nodes validating transactions that try to spend this script UTXO have access to the script. - -## Initial UTXO - -Alice needs to create the initial UTXO transaction with the desired UTXO as an output. -The token being auctioned can either be minted by this transaction, or if it already exists in another UTXO on the ledger, the transaction should consume that UTXO as an input. -We will not go into the details here of how minting tokens works. - -## The first bid - -Suppose Bob, the first bidder, wants to bid 100 Ada for Alice's NFT. -In order to do this, Bob creates a transaction that has at least two inputs and at least one output. - -The required inputs are (1) the script UTXO Alice created; (2) Bob's bid of 100 Ada. -The 100 Ada can come in one or multiple UTXOs. -Note that the input UTXOs must have a total value of more than 100 Ada, because in addition to the bid amount, they also need to cover the transaction fee. - -The required output is a script UTXO with the same address as the initial UTXO (since the Plutus script itself remains the same), which is known as a *continuing output*. -This continuing output UTXO should contain: - -- a datum that contains Bob's wallet address and Bob's bid amount (100 Ada). - - Bob's wallet address is used to claim the token (if Bob ends up winning the auction) or receive the refund (if a higher bid is placed later). -- a value: the token being auctioned plus the 100 Ada from Bob's bid. - -If the input UTXOs contain more Ada than 100 plus the transaction fee, then there should be additional output UTXOs that return the extra Ada. -Again, verifying that the input value of a transaction minus the transaction fee equals the output value (unless the transaction is burning tokens) is the responsibility of the ledger, not the Plutus script. - -In order for Bob's transaction to be able to spend the initial script UTXO Alice created, Bob's transaction must also contain a redeemer. -As shown in the code above, there are two kinds of redeemers in our example: `NewBid Bid` and `Payout`. -The redeemer in Bob's transaction is a `NewBid Bid` where the `Bid` contains Bob's wallet address and bid amount. - -![First bid diagram](../../static/img/first-bid-simple-auction-v3.png) - -Once Bob's transaction is submitted, the node validating this transaction will run the Plutus script, which checks a number of conditions like whether the bid happens before the deadline, and whether the bid is high enough. -If the checks pass and everything else about the transaction is valid, the transaction will go through and be included in a block. -At this point, the initial UTXO created by Alice no longer exists on the ledger, since it has been spent by Bob's transaction. - -## The second bid - -Next, suppose a second bidder, Charlie, wants to outbid Bob. -Charlie wants to bid 200 Ada. - -Charlie will create another transaction. -This transaction should have an additional output compared to Bob's transaction: a UTXO that returns Bob's bid of 100 Ada. -Recall that this is one of the conditions checked by the Plutus script; the transaction is rejected if the refund output is missing. - -![Second bid diagram](../../static/img/second-bid-simple-auction-v3.png) - -Charlie's transaction needs to spend the script UTXO produced by Bob's transaction, so it also needs a redeemer. -The redeemer is a `NewBid Bid` where `Bid` contains Charlie's wallet address and bid amount. -Charlie's transaction cannot spend the initial UTXO produced by Alice, since it has already been spent by Bob's transaction. - -## Closing the auction - -Let's assume that there won't be another bid. -Once the deadline has passed, the auction can be closed. - -In order to do that, somebody has to create another transaction. -That could be Alice, who wants to collect the bid, or it could be Charlie, who wants to collect the NFT. -It can be anybody, but Alice and Charlie have an incentive to create it. - -This transaction has one required input: the script UTXO produced by Charlie's transaction, and two required outputs: (1) the payment of the auctioned token to Charlie; (2) the payment of 200 Ada to Alice. - -![Closing transaction diagram](../../static/img/closing-tx-simple-auction-v3.png) diff --git a/doc/docusaurus/static/img/closing-tx-simple-auction-v3.png b/doc/docusaurus/static/img/closing-tx-simple-auction-v3.png deleted file mode 100644 index 54d4a0befbbef1e7b5923df796ce227a07024267..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 149602 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≀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
  • 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

    donmrgb31u2ieHf*GDj^vqgI7itN4Y-yw z1p%AiuuoahkSBQbT!4~M4?!;;ub&sA4d9^X$s1s?uhxlm8h#rE<7eNx6ar zKxU)8dXa|pI0^^NF>FoiLAIMKcY21_IoVn*vcbiajfeN*%|v~E?8%$-v%{}rHX|d( z{ojXxt?c~4mzz}YiLS4bQR%{TmBLCX;b)`xIxn7|%VI#Mbwq8hv$GSav6=|VXp zIKDF>D3UbX32C+w=LA|LPo>Beet96c2!+J_=Yy1oe8SloWC6$U3P`do=BBV#{;SI+I$(Vb^!Qw+mni2DrJv9gkF zexpuC6F~{!MOE4E6RTsbh#Pd~;w0`jiVFCfL=fwl`8A$`QeEw4;&OU+hHRqbI;uU! zYHvH{II%0q#=&!)`_)q1+0gZedqkNWUgx5|^$PbM@$oqmDCd2IEq5bUu z1b)g7%%B&spZM5{m}N3-t01{ZO%(rhmE_=UdNHo*VO` z9ev8=H?ZLF=*qhA5paK`J%a!-A z2S6XFs-Vgr#LN$W7(>t|!){T2nY{EgbcRn4zE~U9;_CrsUfdhcW1##4M&6ne>u(0{ zGQ_FrPs>wZCD{DND+SI{QqtFnW90cDa%k%dBbT3vi5FzH&tZl*<*DZ{UNUuW{$A0< zIGO#Dn|&4J%uHQx zQp2;f*KU2u(yXH+Zw@^S-ME$#)-W_RD5O-^*ak5vK(NPU~jI8RvqIe9`bUWNaJ6fQRKe%yg>*~pJdPXVM+<5=~wax)4q#nc#)wIC&i5|H7olMU% zkPKne?ddFU`y_hcS&u_KU9Xqn$UisZm}qm0mOCcP3UAEE@F3xD6h{tLem(MOLQtii!I@xwWWHlfx-W~orQCs=?W~6RV*Aemo%&IisGi2hZ{siCRzW&f7 zghsjes73&hIKKwgO`bVNezN-|#!yd41jUpGx^>!}Z(_WZOhb zpQ~{@IG7+!zqM^B*5&6_bmswL`D274k%e~1e3V)DBf9KkabPc1O13Pll|byNGAhJq zv8{*&ajH2-(toAEfr9g(n`NflINBN9+cso|Bx_=uXXrxXiw1WadM7^M>pvJyj?cDx$xZ&n(Eh z`5Xfjt3@@uLikA+aAl@7#-*jZe02UaP{XG)OCavfN>zEHbF{v%Hk!C3Vpn|JvnhV`j>hr}*viMuisQqNBsMOZKYjC$jCnk2B`eRE{PpW=nsw z|MMkz`ALQSEPr$}H65}6c0Lb7UwPK+WEhHNju73{3|LF(gqiCf2;P=b+tQ9-xndm=fn*e(;5+p9= z0@Y7jxZEt}{S5znonL`}R%3|}pwIt9S3~r8ukX+CJ5B%gUvulXcRfTwgNFm>{Vk?P MEso?L`sM2X0}c2REC2ui diff --git a/doc/docusaurus/static/img/double-satisfaction.png b/doc/docusaurus/static/img/double-satisfaction.png deleted file mode 100644 index a75a0ba20fa917920357e557087a7e37d8ffbfde..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18293 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

    Hs%LJe0Q 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 rB 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

    ADBs8q?7x5_&U^QMGz45UVQJcw0K$Q5k`Fc&o# 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 z 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 Q8uUCR1+|+w*Nvb25A(QSk^lez diff --git a/doc/docusaurus/static/img/tx1.png b/doc/docusaurus/static/img/tx1.png new file mode 100644 index 0000000000000000000000000000000000000000..777367275edf6c4af9be671e561541f52f8d2b9e GIT binary patch literal 264757 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

    iCe*f0iFHK8#meFmcT31n9eq9wz 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%0A7CuIMc7t4+OJQcLdpZ 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 literal 0 HcmV?d00001 diff --git a/doc/docusaurus/static/img/tx3.png b/doc/docusaurus/static/img/tx3.png new file mode 100644 index 0000000000000000000000000000000000000000..606bf4c366e4ac0637661690098090d7e1118992 GIT binary patch literal 315539 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�}W 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

    T(XmomTAE~k#~pSRFRi2m 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

    rO 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

    |lY=!TJ z+XopLpRf7e(W@jb5{Ww+H66TKyP0k{YuKv#Z7Ds3LFtX>|3dO^y4tV43{%G8k;+gfODn`f$w$`3tHw<^>Sv zn6@**qIy~nzK+Ib%a_!P&prK|kf460XVC$kPgw0^9lX80+nG@BvwEV5{fl&jYBvtJ2M|9J{bfY% z!N-qKYnn;UgzZ*)YoF6(X4nb#V|;0aT7Yyp>FOum4U=YQ!Sw6OBNNZI)+3Yg6JpJa zP3&6{*20df-SE+SPBw|Y4Tdq315!QbPxPTCN>pHN;vRCRg{VA?HqNleSzk7)c|kP+ z4^@J+lo7l@W<9x2zfW=}>!;6`AD(Xb_&w>g`%O0k2lps1y^5R%1NdMNtZscdCTuo^ zvI5()&+1e1cuL*l5>1?Bl=BkWv0e*ZM~@u-BzfD5_dhOwHQP2&Y}w``DqKo&!kDyN z+}B#;(N)im8{%&^CSKjjY|?~k-p>P-_?^Yoskq%q zW^Yllg>Az5i)#aSLOl>%H7mo8Rsq)2fhCBEkKD?PK~`+^qo39^3WTQ36{DXFKqsM6 zlB&;-@*or~-RE0$qgU%GoAzWmb9Em+%{OvAAFG}|dwpEV zpOZB9D(te`PUu?LgE^d{m-(E`hTB0&l!qq^M} zHWerjW?9y7FQP9e59qGo>&$=tLzpX_AyfB=ASuBqEbNF~`Vx|FGS+~pvRZLOD3Sfn;AftOFIDRi_hJ>6`(J2?ywB>*)Ay>HuPP3&vtSjD zAK@uQV6|5rNZlhTH-oWaK)<#T0O@;ZC=RK=7H^e{&tqf4VZm9yQqgSDC$qML?Y!J> z@|a;4B%c_!+}0;qA_9`{v21(38{eV9kNlqBP2-u@LYNlzQ3UfI!AmX0ukD|M^8sXT zw_9#u@0T2p9eCM4ad5IN?~;c}o!@?iwF|?Ep(?(zK!I)#+o2Oe2fi}%R0L(bTeG@Q zJ8rCf11m4bFVFIkPmx-$NS8^ld?z6f_mqORPt%;7to{gg63WLnjqY*vq?P5Uho1D0 z6inbFz^3|*?!732D}cS4pEX?(#0*P^hOQWs&yZq)?jM*p)PxoF94923sC0*+7!PhC zN9^zvOHCYpd~cTwo0wWo6V1}#j4J5yW>HWFoYo_yqz za+W2l<&q8rlf6{oWEFIy_|)lL5SP8#XlYLAXs7*ASu=HkF>rJJ1(7{jIqmzS-5*Xe zw*Q_`up2m1^8UVn@^?aqh`-$R&^l~x@A#>Cn=HxXrm=elk00|btHh;YzCeS_dx9Kn zwD^`j5VqS~a)$`AEr$->z=|Su+X}zNXZ~lvvE;IIXC!rIoO4N-BSJX7gJ+2F)-j z`5&IMAG3t^XrI_)hh+3t-56M~rJQh6XbLK^&}Vsw6D4Ak9@uj*>vQ&I+VFCI2(ShL z4*H=fJVBj6l(D?Z?7??WwpX%8OUG(N%g^p_!9dJ8DN9E;g+j?IS4E#2ynFPqSbJ58 zLU+kKt$y*U<3rN5pwR5g{@4T1!sG=@^6W6n+Z5xJC*s|7bx)A;LAEQ=?@ukQ9!pptuOIk;>9txVd;8IDz84h#&WANuffbPC?wy3xRSBa3gK`P zHs}y>LF_Ma6@N%=t5BM)%!`LtXI2&D*`wy$Dp%+M}9oWgN$(v_$$|N46L zkIo#9oYRPs7Jdiq?anmCE6uNpvwyiNe8rr)yUl$3-s3^;H@U$5tvMB|3(w28cd1ay zdV7EW@Wj*pY+4R9py^7K?o~<2@YRi*sY_!e-O5ol-6J8 zdo*j*uW_Q6;4B6b8;fHW?6U$gl<%E6JU4xY-8c2U-$OKke-&jawiwF zfO-~b5d_JHavy#b^s>D=w`;l*oeV@Qbz6$VEUNsv)^H)4NAI_%rwx9yp&i&qcz3&A zVflTNH_4P`5FE1gSYKFy0Nk5PRms?K^ye*T&PZ0-8u}VGlq311eB*XznN`H7GkcWK zAi6XnY->QKkFew11;e?S+@EuL$kl_O7EAdv?VfAO70hwLd>4xhMSGauy`*Kz8N|6; z4nw7FdDgWuUO!`PjA>)|t-#q*p1c7A4TYT+WX!hH_Kyn76A2>L!xH*Z^8UNS_D2`? zQ6AvpvBac-YVDznAol1*?B|S<&UccNb>5nHij1AK1Z6!R=MQSam~Lj5uKsX!Z>v1} zu4%%$@rzW3_q2$TtfW<4zy=9hMFP5CuKF-LWZ}7Tb0#6yS}{kF71i6P52k_^jEGBx zi9-wEJ)JHtlvXQdv#C(+(M|&I=WM|gwioxuY()*A+dowW>~3$NJu@Ea=gql5 zpgXoyebm0oVp0)D(Qu)tGh+K3Y^h!~YL-(p9YKlWHQ7da%xFhr(l}*qUG${POz<-X zbIUq3kcVTCl>JXHGgk|U z5PgH_cl&EBSA)#EPhTyx5w8^N+>jsSmwk!JZ~De_kiAlO8=}_`Jz^2=@Uqj@9FY`t zY-q%5&RIXYdLu(cJegJ9=!x4)58)E%6gP0=OsQOy_8eCb!3=v`kL}%^N5b?J!dVn& z8rbtk224yD@F!DcN1-9RJcKMGV<)go#vkj!vI zh+Ua^+iKZYlfSGmuWy{TPqwa7Wt3d9hhc5uBPvU18nN4dqtJ1M8xBO9h6_hKV*H0I zkeZ1=gN{l7!=r~qtzYmq7KJ=FzMFQK1(1SaO7s~u2v?8m_xmnxgS#-5MY~_veK&`0zH}UtyX?Z3(J{Ipg`%Sj9L=I|j-xAUIAm#RSkJJnVB4)_`GrZXlGYg$eNyF{2@P6<}I(TLxPx(>MxwlZi)CQuUX2#D7|EC#kzCN)BD|1k14unGAct5 zu2c~fVeB3;#Bgu2&$M{#58Gd8@VDCcaik^}s}i#@5=mBSYK{102FRnWLDf)jb{H4n~GkelXk*LMKn82+K z{pB(b6~&8Uyq48qvVJ@PJ)H*J-tVG~L=A+6YLP5l`)cBQp5ze2z1 zH*hym_UO2$RsvlvI87t3_G3>KocC|3g8@Aq3D3sxCjK`R#W-o$bUAM~3?c`(KDhb0 zb48ej_TQ=%3M#3cYv2Z2eDeZ5duu9kzhnCJ5D>AdpPWG%jtd$g-6pYvUh}eS@X15s z)`h9m;&cl6LTYF`MtM0m@pR$0F{NB()wR#OK&!w{)%1JemfySvxb+F{#!L_Ru8-vf z-^$_%KjoQ@6uuMguB~OnCp5;EgzvnPMuk10^HHJ#c|>q5W21felE2PftSETwO$hH6?ie+4`f5{n-n3PN$ZR>$xZ% zFZvY<^qS0$==EWgD!l>j&PCXp5;nDP2m_JKJF}y@LqjKKPg)wikN0>=$dJIsoEjON zkT15UW*k&}VKb`Z=@Y$%sSRwP%P2)Jz7T->4!&ATPaQ6RJNda&z+DT&=x^pP%q)0o6Jf6Yte!TB7o!XucKVSv>~;0hO;0mF>=p7o#D8_|mto8qdr0 zRu$#Cz9y$6%zcm8+@#on%_`lO@t;#3Y{@H>shNC!o?c~V;q6i=!hgkV_4`cXk1YSn zReAFcN7rF6*5+v+tG?$%WTS|`_bRU3Zv>18XN+ro$EY>pzNv*|IPj#V zIFF}U8}BNn<*n*34dg;kB*xN2Y0>cOD-hhR#UUrD6jrIB16Mxc*TU3?MN4bq=pBaE7H1WJ zs@_D<@vMVvw{?HlQnIm$-O}TC-EQlHPjnP98;K^il|=~FH@d`_w~Q^FF<4} zSIVz>vFTlVQbG~|<2|$;MQDiJUK*`%RrcSflEZ#gFSETmc{n$n+Q(6{no@5N=Q)@y zweTSPdwMTp>-Ax&Vzr+1N?KPX{cy?Xq| z`2G24^P68=9e-Z1oj>y@F8uSd^iOi)=hgq0Pe%O4%d3;I*eN451B1AVq;Kd`00MAV z_4&e}egLz+yZgZ-Z%JJ8$Hbd=RppL}1eg-?)H{1!_}&>@oqKiv-s8~)#EBxWbr}xQ zCE@NlSNXfe%@E!Ov28&qA5ES|_s_oLaU*O}Z>z7+XoK%;Y`@6YncdZE=tfzHW8<8L zZiRYkb%i`R%oBF`gfZq73TP>5*B*U0Tl+4>#^gdzOLva_yA=z+o;%lMorINMe0_@# z)>@2iusHXQNA~lB7LDfVbCY-G{jVPH|6tpGe7nN#ai4)bB-tvgX*$%W?Aff?(kt#o zL4vQfK7bG!u5$HF%<-ETovO&{JMBG5LYnb>Ickj>);r@S_k&mX2g~l1Dcuzb={aoh z?!to$7VqQ`r2CCv*%xht+-fPeUJwQmq2ukZxx>n}U+maIeU@8XzJ^u_YFY?z z2dEzcS(W2N^x#uGrw46##N3;0xe0PFjGA{|Kbd}c3@{SA*7)qQG-Z`$S7mRs{y7~xb_X)Df;76B~-lPI(E9{g}Q*Ak?KH1KZT)wlWr0Knc_ER6m>dZxYO|bsiW|7&^aOZ z;>{Ynr!nul$iP$K`%~HFt3j$#N&$!BA9SY6w7xjj_eLe@%g08M%}wjV$xH4{I2OIow08H#+1OmS`9Ruj z%Xh!oNKb2fnRSeen0-+b?`sFae+~xyWzZt<&jaYDRN9UAp0H+7eXY|E?&0r0D0!FMtDE=-*rwiy1{`vV|;iUG>_IWjsUKY zR|-zIJ$=g&&bX*zp1f=4xyaq4CBf}==C{O>zi>G0OU2l-*Nu~I=Zz(gUg->}63+gs zD|P>9hFp8Q|5y=7Ef+tN1LSa4|Et%GYIc+kdOf@^ShcL`2# z2=4Cg?(XgqB)A2)%YN_KXYcop`}6zOkJV%J7`=L~IcruuRkNy|*RG!-f!`ac$8C~1 z<(Wl1oxXaKHTj^KUl;{vf~YU2JN7n|8pOX;wIzgl-KdQy8Yq-KFaAQj`@Zv(g+xPb z&uF1s(A6J0L-ydh%%AvH`$zsYKFl8sGNxoi9C*<){RV|qca<6cb}6t7^Wk<|z~!e- z6@S|;k#L|^h7A(5ZfXcz@Ljz=OK38rp2sqpf8*W|op^FW<*fh6Xq7Ngh0@BgLL+<` zC6jjUiKaOb>kMRL4`KWcbFGh(t?l3k$t>IWV2%!B5cVxH1L%z(x~1%S-2V4^El|Og zeAsBxgL)rfGg{k#e*qm$ADiq-joZ`7<{=E!A()*c(Nj_VycHWA%z?>Fgu>%EjrlBH zcmgYOG6=zaQc5eFhY8EwVwo4rbdExPh9RW znVh=*IRP`Mu*&G1S+XNwz9ke`39Bnw7eVJ>fq6)#l9!{0_4bN@B+J?Tw{7sn=-My; z!uO!BVGp`F-(=$A3Jh&qp`?&)q%jN@o*@jOk&H70>D?~EWOuFDfdHywWWcQx*73h#XmExOvll13R#LHi^+S~yNMb823YEsK185T#LGD6ED4<} zGiRx*O+O($_pvfZHBFNnz4K&gp;b2az;7i0}ibURbJ-3SXO_D9BU@YY;ju)m`MhaC$>3wQK<^G)=K>7FY1_;E8(e>Q>EDFSr`wV_Wh#UBd zgUAn=->cMOiDNmx=Hpna)-d(hg!M?~h^>}gjc$B@Z?lpNONF%{k@))@74EV9-H17- zSImSNpdE-jNc9ki9b=dM2ZZ@z1nD)g;=zaz_sYx8_De3O#Ak!q5yMRKJ(uBWb&Z9@ zbc}G-An=PCLE98%2`s%h1|Ldt6U&vb%k#^`rM~sss`)D3s*GnLU}C;9ieE9gp}cnC z2qehGkXJdbH(K)o$!L6dj&yhMsi}3(xczCzehcKgT`{ns>ijy_btb8U-qa0G^H-_2 z02xsS+p1^uD`{*6stMEiuwiUck@s|CKI1O zbc!q0Env1iuc-bAq%c*x7n8`+iMBZ`uY`X-9_lAa2#+SBR@PPF6H|L;Q-mypJ5j2z zM2SJ6LsjZHke%?UdFA>hA(?pi)QKs8-jv=|8_@NQ^6kov=8X;EO%;Bm zBHT+i1vt%3-ldX{X!BB9EAjLgJ>p*E_$sbG`C!9i*_GHakYx$9yXRmd|4r2P8bhRI z5E97x@P+zBd#auO;8GltR28>rJ7nvD5WLIhKZd?2ul zcj~cP!sL(AjJk>F(c6I!^hEFp|KOb`e!+?S2(MBxB)238dLc*D;32-0&=k&RnkoAv z5p^%X+=T6R;eHx@uGt4{#pMl5_!3oZbH5qHPflHqg^~Jh5#i+ng4M?InIIT>&4yZG zpWhno>5j8y|BJ7we#D~xnw9G`TdAY@OdyF?Yqct>hN3T~{pk$n$;l1#P{xrgHBc27 zPL~w#v<-ZkYHe2uharHx`?5Y ztCe6sV@?BcLWdpe?=q!F@5QY?=B6S09|&uC^$nxeJhnH2m(GW8k{8CWztzBv=-UFv zfx52C1scZ}F6|$5jSlBw3oG@`TM}w!C4XYL$sng-oW|xx?j*2x+TzJ)61!~nn zckszu8@%C=jGPkN0Th-NIg^q?p!y>MLh65a9UJD?#iBXblAilG_U1vN%5Yw&3Hsme zY>}V}QdoJ~fZ)6($%GA;HH71!#}Q|AqBz{gv>&y|E&`~d^PV>S1@t7`4@ZHLon{KR zIWX`i`P7Q-Ss^wY5igU>e4+QX%va%w2C{l3eW|i^4{o1EYf5}NtK~4SKGUuQYpjx& z^gx-TRXYXpU!yfFvK9TO=np`J)cRXMC6|8oQ+Rl|%q%&ma*?1Tr;2;tma# zsr~qaI$vqXH>#TD?tT`Fx37ef62#n7@<%)(vvDm&e^VfmM;=T9!I@s6@rp*uyt0ow zAn=2=tpr(l+)p*#tMscwTdb!2-Uh`{>6zlCag2A8nBt ztM9L_g8#k#k2zrfmwZ0T|N6v$BR({~vqEyR?|mY|ee5xb!^Y^?dio0=!iV+I@r3mi z`D(GATvME?i`#>YLFkHk;z@zX%;Msq`g)YupwwX%;lbm`WEdzUQucrOoH3tbO!b*! zfXjW@G1%xJ5Sc!@J|zg9%!npf-t3;CBV8(L=PjIFM#kP-jeZH#7na1yNnD^aspAz`|MzbZ z$Uxu4G0+}n9dwx;u~{HvxarEZHlT%+0%2$Ad%*P4;5;uQ?SLfl=Wgye(NG-U7TEtr z2>=4DK{n%VKwYf~;jqw9^#E~;?`@Qy(O^1bm8#L-FEp}ga99E*7IpmD7xZw`oEmN> zu-*Z*FaJL=7l3a_l6XvfhuAy6SBN?d`t-^IC@c{3vxU6}tJxKn1sMobUXLx)cOtcx z9Ew~cy+9em&xHdj7opLGmQ(tf{ZSIONb_HD1!3%>J#@8T#xd{*ntWkQX7#Z?$)RW- zn;4ZARxuNm-ETrP3>w110m%t!j6%}b{U1J8E0)EF#JlpKyLJ}ce|8j&N0Bf58)3fh zju3(8gmJI_vCu%Z01+OThdvc>ni;-E-QZQcYo9$;fyZ)Y(C1pkuux&~@CA+46-pWU zoO1N?@PH&Fk%n$dIGT4*LMD>e*LXsdFavRf`!A70gRcgL-mBzdFo%PPNaSSu3uqTq zvX=r;jHr^&a+}3uB2D(fr_}pqG%!LHgY>BL)1=7_EoNsdF{-0OqN^yGh3RxN7(0|N zUNMRK-=7Wq*R!XWdRBBDL_+F}7wCy+bYjtk5QtE06m#epl4FTPtb+%)9a9R5>u=rL z8?4Z(6~jW>h~*UQBm_h2KTmR+x7OqK1cl73yz4QpP*16)glHcL?w|Qkb2R@5?Uql% z?Tef%<@m1V^*C5s8Vt^RFYBaey4PVfuQBbVRyalr8CH<7H@MK^?M%I}2IvQgzog}t_+gWM&`*}Ze*BeX321SXRD{_4N0 z?qa>V4CPetolMggI*i;)_a%~V#@r7@C2I~H&9fmJq_mu?i~IBRgZ07|8I|0AZZi*m zGX}*%&m3xj_P-fnSI5UUMedGNtZ$rt32!{7Q?CLoI&<<&utp^-P*>=$8m?|njX1iB zV_~~p(U)tV8Co@qw6f8#@T6Q1Q!DiZ5e>divN;JA2T_R1-!I|IEnA|-t|cB~sgE|( z-HLz)PqX@IxLn#q&@QIG;ZT2^qF~m-Elj!`BMsip*q?Esz{KVH(T$;2>r`X$e2F_> z=Cg|muRQ@*SS05Uu#sy3kA`N0%m=D!E8H9;_F)T;sNLm$;<)qpa3~|AZ=NqgaE9{Kz-E-I}f=@p(GO{H1flkTLXXR0Z zXvlJVSW`rrhw|BK#bQjqnl*k!U)N$P*GpZPs7ODl{}Rc#+2%6)UWey!i$xH6Sv;Jx zb9H4IwSQ0E$bc;oBgh_SJU#LYq{vR!lPd8(=YKo@?*rW=%L|pPHR`>KiDI(H-W=ss zU(Ts-?AzYq?8O{iAdV7B4N^|pVYHkcIay$bgSjdb3uQFO6yVoQNz!ZQ~5S{6pF$p z9_iG9467<1&@>xPl~a(&XfBg7c7zM9*W_=0$Fn!-ibh#i{P~kx;59_g_q)mxJG|bA zRx_E>jiDwmA#O;-Fxn`@)OlI)oyc06J;pdc35i)e&Xs7lI)90FjEsF2Ni~Yzp{}&dx*9GY+HaXvG@wvX#D}8^=`*WQ9Gg(7?BYl6`AG%PbAUGk~ zDs=FpPSmNMQPZ+**eCdyPvJ9Q#bSKAo*)~EHp){9ZLlG;nNWCk{IDotas#KOeIB_n zD^IcaId-zt!tSJcgU$Rc6xYs0m{~Zw-O>)Wy_qw7byfpnmz`ddV#?n>Dgcl*QL3aQ zQx+H)8j2YQVh+I!&laza)@M<}49!7L)a$1)at+&2)*IZP==M^az}qZRJ;)I~d_teo zN%WdC3fIGMLr7>)vqabL{Z=RyPtymM3<*SLk#?>!W(rm53&S#-?k7I2$D-L3fqDI= z2(}D$4dFFhvP9>?q|*}#>zi7c`ng^IBQ}S#l=`Dz3WuzD(jhxhKTMz)LU@=21&~6M zTUM$Kmyuay>Fdi~Aj^!aZ`e1P|I~p10MAj;U76j(pTb$xXl8QQVytM%W`aUS8J zY;l~=llaU{Yx#KB@FYBTepvQ81k_uZ;z;nAeUBgqG34}fhroI)H9M8%Y8eVoHjtbFeD1Yu;}z(H-wTdR7j?A$qM|rZnb%b zh$z-8h4$ex%sceGbxQ{LZ zow~UWFCTu1aio4?tkrxEiOjWI*RSSZ%akXuizA_fRQedv3ZurHDXk9 z5=<9*G^&lW?JZ^)G-LGNoSxpQ67rENt0=McC>4b%!zFgV*~i|$T0}3A>-5sIh}lD&Y{fe)37&@PfS?-G>-bx{LpN|e!j%cztP-J)0*BgG$*-iN6vV~z-2<| zjF#L-KeqCw3wrYjl=y4`Di5KH%d=<*WMlpu6Md)|%=kV+V6yOsIKez|OZ`+Wb~=R> zDd!lPnNRI{FYXb;1yHcJnAm%q>kY+fbvB7d_4KihzG43W6kiN*eypRyif&9AW}ISA zSimy-l6{KC31lS|Rrl%X95|B~^y}nuJe6Z4Ar^V0by5%KOa1UlKf0J90$yH7QgV{` z=hYrCIanix8jZpb4lhM|x`2{WBtd*8A%x5@B)cxV&yYC@iSkx8PY;Bxn4;!+^KD4N zG9->hC#F|(t;9?;_lIliuDITY_a$bmN<&j%sb&|R1h+uoKd`I|KHFY``#qL!Oxd5K z7NSlVMBRY2S6}Ywl6JPl=+F}~SN)y5R40T#M=*9mSlZGwzwes@eVD|Job6=r3E% zpNcDnOfh0~4Kj3_j9f`6W8?UX4#~z7erajBE4i_3UrJVM-YqTdzu>SeT!Pfh@ZAU5 zetlpyNN*<0l0pa8L(5p9)Ht*-;*`}q%RH$~P#u=gGKD)*QW}JV5mO_qt`TY+OxXx3 zr_LM_dL3cxAsWeI0+m2WMyQUFJ4Ve5f-?t z`X`Vr&bT3oUQavc2PC^hGZC#HuQYKuvgRRr{*_EEISn)8$MTM=naK8LF{@c)A#r#b zJqmK+6bW(9(nE>o(N!8zE~j^U@V`VBx}py|W!YG-L7QCG=o0~P3?wa$#JA8!1PzX= z2_j9KF@aXQE8^KW1Gv-^r9N$}m9_5s+shU8KVic zy_1)dIm{e3PjV^OFFw9<5)DX4Lz8@a$?(r>o#d;xP<1*O)}$+yKQ}-TfWJX6vD z@z-r^wMSzV>$+k3hhFUW$CW59SgHDIURI|q|p)0Y}L1ZY%@r37;CG=TK~_G|L3-Wy#P8>R_T+>@I;wVVxiL7r|#|=T3CVb zh)Z#{N)|{3 z0L&+UC|ud^z2Bq~RY~yM^%pCbmP`3%>UMAj`RwxxZuhq_uo+H|&r0|BB(nSZzQM)R zp!*|she9HmNVG5?_ryB>zq9$*(5@S*_M21%g#%ep`x3x@1_z$D5<~c&cN?w9{I=(} z)gN20UYBLrcA#^PnZOgFB?1+FeK95b^C}4J((%*SwND5E$WC<}eR{YR{SFz;LGS;abz$Iu>xhI`3pBL5(vZ9QMATb#&8vkJ$c7tY6r zA-lOz`E~pmtdeL(BWAIs$E7h_M+lB#qqIW;5uG?rjJVcHxWoB{ZfSXa`docY-V;se7u8DVv{W{u$wy)amR%s%aGEq3 zGY5Ob0Brm}V!4X`&sdUN5GV|xc%g(4b4S#T#%vo8CVGP#>FK6=)SkR-qajJR@PP{l zI`fM)K}C96bL`2h1zDUQs9OsB{4ExKJmT;w?6A_XASxV8HO{Nf?^8h7UCfVx;@R zwqmC7uxdwE6DfTuBeA&Gq#hS0I0qpF^4njp{kU%YkDeI&;vc&oSP=9xnh}?|%p=%} zUPS+x+G!R<62u4}wK?Fh?Q=RDeuPIg(1rJ$Zel@<+H1{A83C9N)mSZGZuXrfZTVhZDq zTgl{#z9$_ZzVy+w-YhFqe%e#O1k&MyR1vfhS9kWlNL#Jzdm4cJEH?IFRP57w-xbip zW$N0`u74K1jrTWQL$@w8FmR5aG+%K}>G*8j@Yg`OF)IhVBe|W31%#sSfIK9$IxBeWZ_&L zX2k$adiR4GK7o+Wj$C1b%?;eUkC95y-Xb7tpa^Mye5OCfT|*U#|6kRZ)Ci#r3+$2y zLQ=!-2@68_{#8|zgR32hefG)fId8h3oL>GAVlfLP1ORKK0yICG>4H@Bh4W>hi&@w_ z%5PvQiTD2sA!yK5>#8UZ1PV$(G^u$ijccZgSq2*#hzRY1_ND7TObY7X8=I#l;RF@D zTz^ay1c9HA+TpUGk%De+-b^p57NmuXOEg5jIZqr5eAjIoS8Dmy?bpFI8c6WHkiL>y z-@mqWD2Zd-{2wD(tJjoQT&(5kV&tMQdhs(h{Snz&qTL;e8hFshr4|pr+x^3GV`C12po#SNE056S^~76n+w}Y%!A@;rap{kBgPvcjAU0Tt`Ii`~XYNd|dLNZJSicR* zNEyG}^bgu3yBrrbMrP+o%opq{9djHOcHZr7s~CM$ieUvnz?R8uU;!(4NuZoB17fy~Dv9pV4o;I$j^g+3=W zQjx1pMLxwefdstXitwn8owHGC!PXsn0n;KQUruS4z7^@H$@m_9E15umrBEr9L~tr% z<5)13CgQR;#Z(Y=i=@u!3KQQF0KkZ%?0ySuaks$n_gCS8i-%1u10FdY-4q-lRk7HQ zWU&oGmiy)cap=J4tpj?!A;-%dw(a#TCH`=-ESx0o>DjRZ3JD$kp_OhWKpjS5-G^#~ z+OppR_#f*DiN9;wSF|16-g-v`vbT}{txSI05LZ2koZe{eP_$X&#Y zw=xMD&f2Oa52Fh~5wdCHn&?JotamENbf<|-ZsPQe7%p}Yx<)J#zn1Y|z+mHbr(Eu3 z{OxII-$0E1@r4ie`FV4jpEcYH<^Ezf#JB4A1jc(q-~34vXX7zweAJZX6NDD)t>7jE3FmVO9i(cWrBHV~2q3`A+d41|rp}d5n zpgiC#s<9^x%OYiZa>0d56l%9tEv@I5KfY=CEwtp7Wxy7+Lm&A zSa58tF$%R{(5{(9z-9I3kD8ch{THt+2si=RcfCpr#EEfVWD)v&QfV1fG=90Z z40m`ecOZ_+Hb4=lh?LMoJEFrOTtaB1+SPtxwLi(pa9#VKm+}6Dirv0Xwq%}k6B#ck z>>KTiwF6J@2aX)#np75bGW5tU4@HdUra*v(!ThG+uLyuA1qQh*ib(>Ln3t&1fx>Xm zHzo3Vd*U<{i?AczwDeg52$7(wF#Dajrfg{mNMmZDBe_orQ?tn`byM-ta$AICei&IN zDM3biIY>(IBNG@xLI9RxBY7CVA+*nK`j={7$=u#+C?OD3?7@O);t4cCS)?!J`L7FP zPzp*8Y+`*s^9laf?s`OQGL9QRM+=Z}R>%;1wK=BRwurVom=q9+S%wrN01-IECLAIHj_`^z zCj|wRnJnkLcC1tt5u%y}e6*Jp+(lymahG$3o(d+uOMXNU5*sK^So)rm2aAuCt?T_r#nn~p3Lg^!OK}vdu>}|o zJ@zmTTnwor=c!XO7qf%&jHl`6o8b|_a^s#_oL`;iH#C)7i-%PIrho>!uaD9Aqta3C zq=aEV3oS{UNVrC0cPpt20$mM=_`ue{u4^X*@r?`{l9bpNXr6qX(05mlls!d6%K-yHizufJ6B<9(Nviovw_@h0Gxa!I!%n|QA#cuh5|mFLU<0d>Up=k zpCp-`TlW_ffiU?}oB_o6<}J-e>O2kcpQb}Z;69}vxNZ@wCh&0TPFa;Rt5`J^qN;eF zB}Yfa{&0PgCFJ;Ug1~s~tf|?xsksHMon}LtcMv@Ek4w6L8YXt?xI?x1c@2Wc-2oL~ zz2uzv;@*4JJtPfF+Q7oIggWvaeBWE8e8f;OSqer)bnp^{wqX;aA%vbD8iy8mQ!-N}Bccpb+| z`7yYWl@-fN;}mf%c%9jNIZ^`dd$b4W9d$B={_$HmDU|ThvtPqRIhVb zz6;$a>$?pz1JSzpriEI=Gep!)k2|cy_4~ww$D>76yWKf2)V0$r-j!FUl}5&l+8R78 zv2*XC*Wk0(m)q1x+y#~BjJ@#v$&Q0cpVpJG&h<`CpU+ex>tW?OYC9_b|z6`lGhVgMc>9*8RoM8nF-qhUnO{mE>arWHbk zRRq!ZJwhJ{RD_105MP08RJkU@L$JdJ9YoWmSrBp6G&c_jrF7x5Du;17Lo3P@*@^CO z5b&`;L6ZgUiW3sb6BPNVotV4;5-cmM+SH?YkqJ->Kp+sfI!V?)QCMLu>f;Xf;PQ*FN{ zt|vJk#iAVB`IhLd9JdsLJx{XMZ&TRohUjcgvX^Ikv|RVA5BQr-oO;7ao^P*lPE^K- zd5j7%yc=-GXHj@w2nKyTQx_7X^@fE^e2(fI&d;^g8zik(iS5qr_%6E>=owixo$qWI z+dU7H+HaTL?(jaQ@Cb4>I0uB!q!nG^Qk~SRZ3V&Qmi>hSQvnQ zsAopBFoJTTUjR@541^Oj*dCD9WW~ckPTdKTo9=N%wh~}nGA8m<0)Qa41nf|Bq3As0 zzk(s$I6Oa0#2kc33P3u^`>Vk6cd3u`M6C>kH8 z3U7ig>Sn?fBpix%8ArHOiiGCPBFGgkPw4OhMR*=#TUVHx=NTr`rb;?w1P!@bnJvDt z{WnB2wyL6{-r#r${t(TIYD0_8dVKyH*R_~bGpyWzcOThX%j2TwJfrbAN_Mqnu4R;} z^G^4U98U^vMm#%67TLkef(h>x3=;)v)Y*we*2Ym-lH| z&hv49(fCkl}iyDv{?^f8hxWADQWI^-ssug$Luu;NyW*8-6d>k8vaoH>!;HYqPNF zUN2XRve`z1zbc;}#2T#)k=x}q+)pVMH}0m=tj%zn`)^x4Pd<8dn)FSj^V#jlR^lsc znC3cfB}i>kdH*YchrNB$hk)p63}+ph5k%rN2Q~_n{yd*7C4sjKd+a@|K|eJty{de85m_CCZgK4j zMrzXU>2rbrL~%dDZ<+gn(MZ=avvqpzDcFP*l3dgj=s`s+p{ij=^(PtTk@f<^Y^194 zkTO}mP{P}|(0R&5U7sOIAyK9P=Mb;e zvq#u$LuOel$~t~hlA%_R8)fD*z*8uVt79PpR^?<2Hdssl30`izs$dG6$m!PHLGZub zl{`5M$MHL#CJdf0_02e)(~xi;9#o!Og3C!b-*7s)4Vz{+d_0f820we=5?IFU6l6MH zZt``S1^g*s>Np>w`=D}JW0=aM<+=|4btKPAPSTQsxRCr~@`Iy^)%HE-3lW*iYqm*&QNNxPh_^s+7$4N^IO8KK6HyU5cN#0@NV+$cZKVCaTpDu z@HcIL5sSJW!hSs*)qUQi({cJU*Kkw(&aRPn$I6`dYeF~kc{F%`O!s-mzdzhVcfKT_ z^A`rk>*Z3pRNhN1Bk#=*Cf&~mSoH_qCw!UBf1Z0A%=OFpye9MpGhcoaG>u3q6NeP> z=Kya+LC7!V#9H}&WkZm(s7kjfE%$Vpmg|;%0)CGR7iF?V;6O}L2(|g*Dqys@DIuIt zvy;1B-1;_ z6Y>$lJ_box0GdVsAq&!%wG_eKvwB2Ldh$7$xN}6cRX89dN&V)==$9mISo9N5m6W+m zUh{p1`3Xw|L2Xh^ouX;;MP@$9E7p3wXg}>6MEHCjL9M7W)yUuBIyao*jMrbGI6P|< zTl=T7FZ-}m9fU|z7w;_(PEg+o*V0{dp96I#CfLWI*Y-(XUN7TD^Yo@S<#=veD@VE^ z48v`>ujeY)R%o(%u!A%0`owiAdsU+bN$fWgH&+LyEV~m5(=MhFb%=7IiWr&??r;e0 zy9#CRdpFO$-1pKuikH?@;$hyJc88#%_+Ja(TxmpMqZ!%`2&i;#9LB9GL#H8>_O-kpmvP3&uxvjzuA77_JK~e_8^=}ec^;nf-_KZ+ za3A|?8h7UW;m!1U63Kj6o@Ilf-mpI?*X4!T_wfC`dzI?> z{wE_ulTo;x>qRzfM)F$FZ;s<-2wqfr&PC6*WX1bJP(7PH(gGctdkpKQ_;4YzgT;714#KjpH1&ts$Xg| zl2+?e3X=;y+q4)60=9x=a63mH^-q0XXE6A$w;j%tTVrFNKV9#)W(+~dv)a!!sTN$$ z)hwQ+Qb8L!RJ5JEo+Wf#KWlp1Ifwz8+*+ZWX**tFkXwn||6s!lww$-@{@`cQImC0n zJPK#>2B}^|6QOWg{^E$2nJ3{G5%7YV|7wij`>9t9vwx#}T@xMhBdkBrelXb~*`c|h zuYTyp!YG6Og`rebdy+Su>2D) zX{{HU$lA1LsXiM%Rpkq0?25W9~qLtM<$j zNC^0h@p(f$>Gi5S4vV?vuk)lY|6Vhro;BUH+c?cH&}(%E5>(#$kl%xdujVI7xMu{p zZFmpXbSHiy*B@Wqik)qq0S@mEDl63MO4b8RtXpqG0rGYIvgfNIi>nuGV^+brsKk2^ zGMSI_B5y~Ywe5^O;T#$Ek5-eFC8a;;z3mj_0ZOK(SsbsoHHK!1kfe)CYC7|n`&xFd zIF;$0BQ#^WZB=}M_QjV8UoSomL^wj5?mY~ux-n6B?N;MJ0vKhIre0h68BVXW*G0Jm zT3)YKHTNs7ka&IOWj;Ij=8U5(xr`BTJtwj_x*u|k0sKNj65z+`7P4#6q4Om1;kdpI z3`xx8_hF4B22Pk%-zzw71dhlQ=@ibVg7+#Py7+5fgTby4Yw#ry2*M>IDyjoB`fqV< z&)yo|BtO@K16}ks(z)M=)onYE-5SV8M^==@TYvf0DMgHsF)3jy90=(hZW=B})ZClX zH=`h051g!Cj`1Hhi@mLM8M-%0&aj1qB(JjzQ4QA@8G50JYL`>5qc-n;(*O>{1qv()Q5Y0a4O?V4up+lJ?N-A{k)lvTTTSG( z8~wSJVL<7bq9j#uErigPD;#~**6tu5DX|*@+t{ciXc3T`*<@5Dth%;>=kSAB_84|0 z^PtQI$1(z4R9iDI-;;ppj3S#0ip2AjMil!2typx@&|Y8foQu5Uw#WYjGY_==>u74M zHF~W5>Us7q>1y`-il)oUSmp)+4pGm}m&yB;2nPu5 zCa?flRMLbHJe_<&m3r16sccx+AmEtzZs$ImrNsUbZWW8Io z0Iu5xO?z%5A}Uk)jv5sHI5;-0aKw7vPmOQ@)Uo(@2e&z+6^`K^0>qhY9J~BTw4H9H z#$|3kD-rX*B5OASAg=7+&>=B`>r&z+6V8YM>OaFvbkTS_L3+A3E%TkifGqSY9%1=g zn8`E=hCDC48)a~yXKZegl#P&sLADyyjUT=rE?@}4Y=cX;W#3LWcyVkG&%O0Za>BIe z&mZO3pdh_pMdc@2KUfC^P|#d`o2XBCs!UW|g9zYue&Qc1CGihCjs54^u5-%|YtUs|P5@kK@nDiDwy`nE#n zCnM|4};dp5+vavv8me*M8>U?fJ;~IA4bEp&bK-=qzjbYofOEslC@a zJR>ITk<#Q#c)X_LCV|1SGf8F8FkM&Q-8$nSF9IpJ33BXnjbVsd&kuFJLi z+oIIw@}l0uAuKLQ=ZyI3r@g^l^TkXhVY40BS0!=Hb&ZtT#LE55*Pb_SUP zLi@JytK6#bV-!k;60XbcL+6ryC;!XQ$`f(MdII(;rB&@OG%=#O^8l7O`nSbOK9}xX zy2I}o!H?3guaE1+gPZJCuT)78kou&$)4xQNyC+Jk93(Un{9YXy;!G$$z-h?MBq+5Z zTmcx1vB}LZ$1!%cztSW_;-TJzz{G<_fmmHe;_uiSV3Y@8oBvZ{tdABBj~q5>SY#Iw zpDsrLW?PsOGMqC)>%@!8oEV)VPARQ`?G|zowo&OZGq*Y7A-tp=QT#eF?hi*y5Jspt zT=PrQXXADCf3k_%=q{Ju_>S+}HPvhLndmJxObuC1-`fz~oWFUjv_lbCCeF++Gx_Eg zIhkT)m)IO$u(ds0?X~-(q0Fsu2UPR4-I(;r-2ZW-BB{0mNAIEPJ_IspIgXbdY4X8q zdyd|r@;P5Nzf+WLiOS5Pa6h(vkMy2T%s&q;^|?x}e0kVTSht5?U+0D74Aa!mfP*@I zafUV`g+Zf+g@|@{!4Xq{8zV&iQ`pWc2!^*FKZmLEm6w}UP7nF&hfb|xExGFtP*xm78B?#CIC$aEVhJ0?kO zfd0oMN3H((&6Lq0g<-*dy|}q{?vTi@pe#vA=yGe<%3;-%9>nEUh<6UryXn zz~N)9(+O#dQE0t#k;zHXpN`7!y~-kVjbnX3=kvD3kCwYQ+!K7(ww>Lt9BAAwg?;zO zgzTN^EA3_}B2n9O4VJ%VHPpww$z(6aI_Zm#Yzg3b;Qe8~yDAa_dR3&_FgHHjS){jQ zs#uGgB<}7t-9NV;uL>$3P5Y@5l!>;~hKs8ZiUq{k6ftSc@`I+2g7086`_-{kKkE*A ziNulW#48K>ejk{E1jm5Ma%xaTP$(8Yh{j1ufPZYUL4iY}sp2Wb-Gfv|&SSZ=6} z&E~Ki&@$oyLJXpOV^|yx`OM!?1yt3R!`d9hZ}>QF3d_JEN(mpC1nLzJ&yQ7=pNdW1 zGa~*;5OQ0zOC@&Sz-cto8_#%~9e%r;+IjN6>DT2`RSu&fe)ruPY?i+fCA5-wJ{J=L zP}i-G@uoF-J#XBJU3aUMAZTrxPi6NSU(@c3zl`H<1CUW)UuQJAUmcp?I~ZNuO}=%L z{ff&F>wKF2NM+^HRTSEavTpe{>_PYz!}M}><-;_o^10#e@+sr}z{2X0QM2q#6wVKK zL{>WX^`DUL-p zIx9&mAe`X`C=M&|n~67PODtd<_fq!6s(>shE(sFPE1Lo68XAjDIP7ZeZb|S;2y@wy zqUU6ZJIGovPPP}pemUp5OcSrSi3!@t{%qNmCw}gF42T*>Bk0*CX{v?E- ztI;eUKKB$K*KcMg5%|@pUgaI86a16UnB)@AR%kRGAeVl#`2|&PT&Hcfw6iG}R$xyT zC++DMm4)PckhSw-ygijeewWgLxas;q3!-y6L+n)1J2$vCvR73OXTxRHpcvA6se;7k zt*Vj7arZsJ7ti;0BBfqQ#Y-Rn`3oCy;~mwl&0WC77*S_y=WztZBgwz)CJ##Q& zwf5{IuaLk1JaAB*OoAY{Ok&swGikeSe>zv@mk3%8&esC#>97t+$X^{8Q|}L*NpH9Km?Q! z;gXM6ZDsuf`2y!P^eA3JsJKg`1OY27$xIDtKGe!8Cz7L~Q?lRRMIlQl#&%B}_D=ew zM#2&G1d!z1WrdJbHo^}RgqIl0wDlL!SouT=-=FXR!bs|XHUmLpjC)*!Y z8zXrfudS$>ZdzD1isvu^SQ;sar7Ncw=}|A+c3(Mue?521DlE+bzBuQ9e#n4;SxXX%eA{vEpYLemc`+z_dqtex=vspV;C^!|la;{2XRRtR zQ5dn?{jmLh0;J$alej}# zx|BJUNqrM|hR7!MClrpirUYA*5_zY2k28*HaMTtHwE3Z|Kkejdab;~di$aI3;k247 z_~6qF{x$!RCz?b54G=xWRT!;9c12_~j8c{&YW$)hdFh;-G}Ry9U%SXZ-&ni}V?yS+ zKW2KhG!_|-+PF)rJmb>;Zg_arlaTnlzpNxUy!(;q;ZUpruV!XFzL4CAA3q%&+ighlEE^4yfDM<`DoWjpN*gX>>7sB8EBgfvZpX z+x~YXJi<9ez-c=Mg%;!qC?5Bn-WjBKH;e|Tl2=|}62gr4 zx@&OIzB?;53xib)MPyDMgY%FjnkCnGee*+iCKKBVgmg}p%)iXt98pn-8)YeuSP}Y?}^V5F4A;U`_*de4ye*?qs-;uTl>IZhWWrqvr*RLZr zxQPx?p~;S9;Nzt@8|X@jAgX~rt}`V`KOUXpm{+*VOsT;bVSSkKmW|#on6RI(j1csL z-xt5y#ZxniP0t8kr$|74tdwVygS(TDr094H8jX5k*({B1wyMuf$vfnwZb65%j})c6 z(F3>?{k+{LTGLz~$f+5xUQM)Af@*|R!5u8&<3&d$A!}=bz76ZCgX|z5dJuJsu}vmT zc}MOBNS{Tq8X)tH!HHTLf?^M4GLxqp>3GQnWw2Qz^iP@MHLd%O2`_6;*d4yV zXV3YoT-+DWn1ge5FN;e_TJ>Puat3$7^_}%`9mK#{-jjRE&R^Jf(Zw#YV=$F+Tlm>~ zm1DE-_+OjO+*951w8QLuB=y#JU+xphfW1|Qr*AcWw@uPv&u4$v1-sr6_{Q*Qm&8B_QJYdG71O;V31q3tnxxKK2CN@a1e;yC9?@KOTDwfmIDxys2O;=Z9PZ52@X1O8n)o5AjlfllV` z-9&#fzpu)|tEwqi2Ne(h^bRMM#^!osf_+=*rpwp{wbT_w0sq)g&RQGGEQ}1;)wU2J zw8{cUsA+={>bpuv*-+{TrPg(hLa$prpx+}{AQVAP&-^n=`i2@O5}gKn8|Ujt!h3Dv zb=!Aejoi@v7V-YzUwu)!y3waT*g|)TPQ&&*zwyaE{vGnG>8s?gI7x;v6H%BO`?BTr zU-khf9Iw9m3w_Vb{zH4O$z~vtEq(4++V50(?dMCL|Z+uEr8F*V;Aav>a<>nFz>G`7p zQ>(O%@3(%z?C}8)--c5E-9dNA*1#pZ}Yl1 zeK0w94Mqxx5Ma@I?G4B?!FDq`Hn?{D1)#Zx_5R6rxUU*Jt7{c#MUVK|)3nyedDShn zRo6tugnDkb#{fLeS}uNVQnn4+NRSSHcrQrvs6$j>mje*G$OF}&5sX#Bu&lSaQoEQd{ zk$=TO1Ui)NDwVwjEFA6U49oYiheBJ0BDZ4VH+%fJ=j*HjmS^Sru+t=*Pu+|-5VydP z86c0Y?mhVFshs?&(!XYN$f_2lbvI?!g4VR-v_ut3u+PWSZajU(yYC`W?bg%xIc5nz z`uB)DeA94b4?>LL8j}{4@c!{H{Wx2pT>MGX({8^&cVq&KX|W16h{xH+Xi3S`Pi6b! z4^C)`#`HBM_dJXZxdjll+_{qjy|CnFs&z6*MEbxP>Of9?{+_*0#crMdYihtpk?T4v zlS}fa!kLL$S!By)JJQ7QQ@olB?=fe`(t_?7IfYc2U;lHyA_J1fGmNriD;ts1%R3AE zWz;y+@&=m}H=UR#UzKbWrNhJ4-Y-N%b*Fal)F3MRU*yoGwCHoz=)kss1dXNjq!lRv zd_nYCCGc>#c$|<%)#t*3et(k1?L+TIg+ci$ir4UD^l`vGZ=})MT-TSrGP;-sL2eApRyBgbl9PL>f_*DUO>% ziQby}D&H&1oOYPT6pon=-3VnU1LNWjx_{!vMZP_!xJ>p1Ki)vMl^?;c6}vMsm0px! z+Wq+TWX>E8q=Tn5)jvNIQn&>=zkl-Q$?veOLv3kxKk!lY z#qfwCwDHH$I{xZ8Q8>R3wVilr_SCuiYo~wij~C0&?bvcYAFz71F)LryV(&#^Zy7x?Nwuxd`HH;4^Rj#U2I6*do_l>)}7TxTVQ(=?V-7UYMQpNe6xo^&Rar`oMgBcA(M z1$Tr(*XJBv8wiOVPOWeKr|rRYm=$8^woHJCgRun2H^`K+aFMI{x!Xt1p=XL$P0(cq zSy`Y=HFsx&(Tl@#@OR*R*(jt&%AS30=fT#pXP=h5JNV)Jo_)Meg>-M6i*{Cc@+wJ3 z@>as5LvHv!`!W|{t*75V04`m~`SA7W-sfMAy!dQJDgKK~qS>l2SUqN8Y1DKDl~!C> zd+PLc=Y81t&eSf{>#vs(r8b~=6qoK#*r%h$uXt};zL-Fy&_a5cOiy@2k>8h}sk0Mt zvcAXv{qUoqW8;UI_6@F{YGHHe zmJ^(#pn*(u((`k+L6`C9EfLRkIWmHtWEb+wSDiB$b~e;LRnFkvdk0|^PFIh$30TV1 z>AnVn$u^3VpHI-ParZPXRx21S^Cy{xYEFhpI;ajsb_ShvXQMNh@BY%JS$9@{M<`Sv zEHcbH?_l~2Yp&SHO9aqc<9w%(seP2|f~Kd)t0Z>_`sPx;k}-Y6%WD9gLDAXlssc0^ z8}T)JxCZf&v@yjb9_ZQx{D?*4aGQWp3As+63!)4ATZH`S3Ea$bzl6Ez#6IfC(iY7V$6c8Swj=AI z7f(OvQ6rjWInMB9YL!-19TjY9opo9T7`dl-Pxmk zIV(=$3vm!ujut{mTBPiD=T_0WVhTeM2st;-a#f^BllSEH<81%4o9;>Qo*E+%EU#3F zb@R55Ik`hT*{UW5L#(c%ZuQb)DfpluobyflUa?kH!Tvql@2>vls}K#Q4njEu_M{w` zF3(w3hEgf)FBH`!du5z$_^c~rW^jiJWe;ZCV%64ZzMS?cdniXc6QkZBGtG)k(MzFl z?iV21;vL3(b|u|BD;yfs?@npRd%|62E;r~Y7U!;1snTuGP2&rdn`Y{}qyk9@JxrUv zlxA?wz=@7931;)NVBc!0Pa&AKkt!7%P0`u97h82L8hzE}O`X5@O`-$gW61dOM_^fu_X7Z$ zKjZr|?xw6i3)#2?cVJ@)n@ip7m~76_{8BbMnzIeuAyq`o$>5i_C1ePGlf(4M-Rp-= zrv%{YN+D!f9LVf7&h#*{@@-tiads%%g}^#C1mCV5dLvv!4m8jd24S5lcIiRP^chsx z?zCWMle2x4T;t00o6)+>UnX;oA|(X%+707oK$f}%E3Xx?G$RVxD!b(hYm(N9r~`ygy1Bb(9qxT7Kwm_P(1TL}`NdBb7~X@Wsr7N0YePtJs*sG>+V~i|?>(U{Cn6 zH>V)(yM&X-9C7HJz5*&Jxau7;(TSyO4utr!+1WS3AKAO`6|}+hQ{NDs zLDq0nw3OgT?k8_<+Fy+R_bWxj>ICXekuzfa)Fwb5+4eBGmu>qtfT>;E5I+mcX zmFl-iG9OpsBs80)$|;R_4lP!^p31}=VOdH0#HHdZYuDq})+W2ctX#fkTAU4OX*{21>y+jc78s1N`iPlH3p}%0CUTP5Z8y3xQX3AYjd{Ky41TBH zGY!!LR0Nkv1r0#A3N?b6{Lt~X-O94*8bRJ-Wsx8-8xq51a_Lrm=j# zg|17w%p@VJXKCqnMVR+i2v1^tcBO?EpfrX%M$PD)$(J|E0&`D1L#*FwHDBt;Q&dRt z4=@nKl;Tl7m~`Kig0T@i$(iCpDZStr73`(D<*FmyBx&s}Jx1vFYImH9GW{|0 z_aetOr)_Xk5N3#U#L~vv@-kJqaN{;kbWRyjoPM{*_ z2@r-Sbmex0J7cXaZ;{>T)Uxymtxy-V(egP!W*$1fyHR%5b(})Q6wWZj{H>49s<4#A zP8>nE&1W))`I2BD=@auPzXceP$X+}L{b_PV)s_meT%)5lmYOb0O4kvGg+_)|unH9r&klI#~vB=}tN{LHB*T9w7?AAfPPMR`#D0J1MQ8ClfL#ZyK z5bUxqL}%3s1h1a%#?ZQm z$!)FIc|v7Xk~rak6a`noYj^v3*Sv>hO|uI{4K&97#5kU-3jJbvFd3T=&P zxWL*8TYJd$fEZr?HYt_nQ70E!R+@0;_Y!xx(ssS1;p*WmGP6*FGrG!Qj`qi52iJnU zR_^&U=iUud>~0}awnl!9?H}DM{~OEKe~iCzd@t9yRBjVX^OW(NBY7I{45hc$#CJxB z^Y_Pk-o#D^(8=r@%rOv7{b6_)EFC`K5|&!{Ee|Yd1uNI_^hesfBwaOke|OB(yv@rN zEZ?!=iyw&Cm<#u12r)81QS~2-^VQ0WGr_8%M*cS!xzc`~I}U)6k=l z!U9v`3JsIJ-bpz(dKt#9m`1X1x!MzUCE&6fSCFYGSo%C#T?4LER-ao=?nk{wg&9G+ zeN)l{e`ftNjf6LW#k?UBnyc)U9^?8d9*6bi=-$F98=&6=tT>~fKoShP+gXN$z4}J% zQK(OF+j&YP9*=2~hlj#u*xYL<=iy5k&PggD#dHO|Mz0(ffRS8V1bPE6OdyGFF)f0# z!`;Kf{m_&fjb$ZtHzjadk2(=!S#K5^#RXJw`K^Avs9T$mo9QAek69Tjo{yGlGRH`> zf(slOqv<@x*^$JU+lhFWoZIa^HHqh{QE_yEpP z2=K3q`sYU$Wso5_HA`g-7ye5ThWAwc| z@J?qFb2&6xFQ7t z4EN$H`}7A;L=Lg!lcl={F0o9M@}t|#aA#@u$|#4MLljZq=4&QXO7x|Ag;Qq1+s7D& z;)*CLpHuD9Lnn*<1Z4Mo@mxx?sxgI2$%g|A<^#h?^MlDwSO zR$BP@FkDnKA^yyj2iStjTCMW*P|F_Z^s|*1yPnG#&NH&uG%F?3Z!vnw1AVTlL+LI% zL_vNWW%El0bY)@z4>aj$yD$=%TH=3A-?$D5Lko!1ExQ9|KB=4hXW=VG=hCGyD%doe zU}*`DSf$i0BdQJiMq?y()uj;_G8&I{QudUR_h8#=a?TU;Gfdr6;+hf7wxsqu8rI6v zrN;|`dw6zdsX zu$Zt9M~Esx0tWNDe#IoTSrZ3{wAdVq6}h1@ATq00CqBdza|}5s;Nu@nx^x6^=P!Rjp zKG8Bgt7OOY0<~@CV+Z|frXXvh*s3BCO+dd|Co%To79`DM$V3k~OG}}p^PvMfTF}*A z`PvVh&B5)#>77M#VTyuEhH(?ODwB;WR;x3dY!aZe8`uFTl||W%;-5use}#kue}ril zx68qG3YBq~uIBs}bYD&7G7FZ7+>Tijf2-6-Fc(`y)F&#}r1w z=$)B_h>clsjg4Y?S7YflR2Yfn;>fJhrru9AVETJ$IAHuZZV$%fq`>;2-#|vzi2}t2 zXVT>`x^d})ubSPceFbn>p`nX@_iPEeiT{c)#M(z1V`!j?h*GZ5$}>wPS)nS7!1M<| zL7FJ1i4(Gg#Xp|eP<9=h5F1g!+y|9~n1c|P>WB>M3r<&*&w#8Fe`x7(FYNutJ6^=3 zg_k=h#ZJ!Cf}!Kf8KjkjT|#&p(ZcC7pqGkx66ugbO|QSn@C5@S5TZlPe7PtqqFjMG$*nr9!Q@Jf+V$Nd|C(J&ILJPr3D=tp zx1fYkzw~#IHfhDl;`h|~#(R6bXW!7Yy!B~Wv!)ocRFBJpnbA}icRrVXSXNx_>a<~i z(PjSjA9nJw4`%c4kqW9oJetLh^%$8eU>#180yuB@TE=XzX>62a5LGOEa$8w?T@X1iswl)L)B%BeL>=I^~>H%veUIsP@7Z)SqTr?|hzqv2yft(;)y3Nj+fd+K79`xuV zV&JoU57Y$P@|zAjjD3;JhZ$Z2h`!leT@9Nr#`25fm&>CloaK>h=t7I&NNWqJwT0Fv zXT5uxH6aXzDDP&nkZrDE70x--Z*f75pK_uThGFrFeF_+omjHLH-$KU~AGH9;4k`O4 zI{~uxS`>P%roF!aZ`T*2EGLgV9+EF%=Li4`jXgChL4oH$EvtFpD(#*+kgb_^kTCj7iOC?=4v*6M1^^v zJ0WG&@t9CQqu5Evh|-B2i36Bl#}1UW{3k4|E#Birp2HP%e^UvjR^9ANRushr%aa>w z*_+KBSblDBo(-^$gvtm!FW6gXrWlJ8O?w!MQ6@Ym$X)>d72gwWMSUj8s>8 z=e8~C3E2Ipl{|Cq#N?OzJqg?mTs+8k-}kexWv$#=ym8&q2a2uq#VT`$!qnXN$)w<2%oT zs}TbRQEig3XmfAV=9T+U0@u&Rf5PARBe_XQr%p+`WE)@m&VaJ0>IJZvcMY&*`K64{ zf;|L0H9A8t>`ryn@S`PnzYpEqCV|9DQ@u+qc$LFOI&OUQvu51;CUB-$|6IEOTdweN zU0sGUO$#+_nb}=7a<&=|B!;A51V=ofn-fT7RG$TT6!#cBDmvI0?&0XVn;baZbLq&{ z^ZR+u#qn_WJD7`H>TwI~-t`Pl-DhE)U1^!!Z}BthB;!U2Oo#eI*9oSfpRM%G8B^yzP!$Ka zeTy5x<|R~HSv0`6cTW zfxe!*BVWs2V9DBd<8)IMUK}IESu;+Uo$%;kMt8)engtRR2xb<-r)PEp0)lRFm5WA9%Ex&Vx|n3JdFAHPEHIo{$TWt zp1;+w|HlhsrVI8BN3U%~JxY7Y4z;XQNIjF@BPq}P7=-J~?=0mtt|$*tkU zfGmeV@8JSc2y&-=0Fx|WGGp~4j_`=F+(X{@5Rodz?9$*1KkGE(6|!gHb^71MDXxgx z27^clOUS!sS(33Hf*U+!0i9IGyRleOTTwG;;k{2$nhiCpIVq9FMe{heB%Mv+$`tLD*Ms-Wp9pu`nxt_eM9rZuo x|M#CoC;i{h|I7OSXOLY-`?ov(zZql)7$)QDcUy*D`QQGkr*-cx>dwRG{{=*51lRxo literal 0 HcmV?d00001 diff --git a/doc/docusaurus/static/img/tx4.png b/doc/docusaurus/static/img/tx4.png new file mode 100644 index 0000000000000000000000000000000000000000..8fabfa8a07a2cecc1245d304a7ef2789186d424d GIT binary patch literal 273754 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

    sml;a|%Hg{tYmnt%!sunEHD7 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 Date: Thu, 10 Oct 2024 15:11:33 +0200 Subject: [PATCH 21/70] Fix haddock dropdown element in haddock index (#6556) --- .github/workflows/haddock-site.yml | 19 ++++++++++++++----- .gitignore | 2 +- scripts/combined-haddock.sh | 7 +++++-- 3 files changed, 20 insertions(+), 8 deletions(-) diff --git a/.github/workflows/haddock-site.yml b/.github/workflows/haddock-site.yml index b43b800392b..708a1281e48 100644 --- a/.github/workflows/haddock-site.yml +++ b/.github/workflows/haddock-site.yml @@ -16,7 +16,7 @@ on: inputs: ref: description: | - The $ref to build off of, e.g. "1.29.0.0", "master", or any other valid git ref. + The ref to build off of, e.g. "1.29.0.0", "master", or any other valid git ref. When making a release, this is usually the version tag, e.g. "1.29.0.0", and will be equal to the $destination input below. When back-porting this could be a commit sha instead. required: true @@ -24,7 +24,7 @@ on: destination: description: | - The $destination folder, e.g. when "1.29.0.0" the haddock site will be deployed to: + The destination folder, e.g. when "1.29.0.0" the haddock site will be deployed to: https://plutus.cardano.intersectmbo.org/haddock/1.29.0.0 required: true type: string @@ -33,11 +33,20 @@ on: description: | If true, then the haddock site will also be deployed to: https://plutus.cardano.intersectmbo.org/haddock/latest. - You want to leave this to true unless you are deploying old versions or back-porting. + You want to check this when you are making a release. + You want to uncheck this when you are deploying old versions or back-porting. type: boolean required: true default: true + script_ref: + description: | + What branch to fetch the combined-haddock.sh script from. + Leave this to 'master' unless you are testing a new version of the script. + type: string + required: true + default: 'master' + jobs: deploy: name: Deploy @@ -54,8 +63,8 @@ jobs: - name: Checkout Haddock Script run: | - git fetch origin master - git checkout origin/master ./scripts/combined-haddock.sh + git fetch origin ${{ inputs.script_ref }} + git checkout origin/${{ inputs.script_ref }} ./scripts/combined-haddock.sh - name: Build Site run: | diff --git a/.gitignore b/.gitignore index 217d94853ee..ddd3d9163d8 100644 --- a/.gitignore +++ b/.gitignore @@ -103,7 +103,7 @@ node.sock .pre-commit-config.yaml secrets/*/.gpg-id ghcid.txt -haddock +haddock* .private linkchecker-out.txt plutus-pab/test-node/testnet/db diff --git a/scripts/combined-haddock.sh b/scripts/combined-haddock.sh index 03d1d09a108..b4eda2ca9be 100755 --- a/scripts/combined-haddock.sh +++ b/scripts/combined-haddock.sh @@ -235,8 +235,9 @@ fi echo "Injecting additional prologue html" list-valid-plutus-versions() { + git fetch --tags --force local versions="$(git tag | grep -Eo '[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+' | sort -rV | uniq | tr ' ' '\n')" - local min_ver="1.27.0.0" + local min_ver="1.30.0.0" echo master echo latest for ver in $versions; do @@ -272,7 +273,9 @@ build-version-select-html() { echo "$html" } -inject-text-at-char "$OUTPUT_DIR/index.html" 1465 "$(build-version-select-html)" +SELECT_ELEM_POSITION_IN_INDEX_HTML=1465 + +inject-text-at-char "$OUTPUT_DIR/index.html" $SELECT_ELEM_POSITION_IN_INDEX_HTML "$(build-version-select-html)" From 04ef6f28a252f94301482f4b497868b3c5644432 Mon Sep 17 00:00:00 2001 From: Kenneth MacKenzie Date: Thu, 10 Oct 2024 14:42:57 +0100 Subject: [PATCH 22/70] Kwxm/specification/bitwise (#6426) * Start adding enw builtins to specification * WIP * Adding denotations of complex bitwise functions * Update tags * More updates * Typos and tex fiddling * Fix alignment * Corrections * Tweaks * Tweaks * Update date * Tweaks * Some small corrections * WIP * Update date * Formatting * Update specification of --- doc/plutus-core-spec/cardano/builtins1.tex | 130 +++++----- doc/plutus-core-spec/cardano/builtins2.tex | 9 +- doc/plutus-core-spec/cardano/builtins3.tex | 13 +- doc/plutus-core-spec/cardano/builtins4.tex | 71 +++--- doc/plutus-core-spec/cardano/builtins5.tex | 240 ++++++++++++++++++ doc/plutus-core-spec/cardano/cardano.tex | 1 + doc/plutus-core-spec/cardano/versions.tex | 5 +- doc/plutus-core-spec/flat-serialisation.tex | 62 ++++- doc/plutus-core-spec/header.tex | 13 +- doc/plutus-core-spec/notation.tex | 54 +++- .../plutus-core-specification.bib | 101 +++++++- .../plutus-core-specification.tex | 2 +- doc/plutus-core-spec/untyped-reduction.tex | 2 +- .../src/PlutusCore/Default/Builtins.hs | 2 +- 14 files changed, 556 insertions(+), 149 deletions(-) create mode 100644 doc/plutus-core-spec/cardano/builtins5.tex diff --git a/doc/plutus-core-spec/cardano/builtins1.tex b/doc/plutus-core-spec/cardano/builtins1.tex index 447f6742e46..f2707c6f22d 100644 --- a/doc/plutus-core-spec/cardano/builtins1.tex +++ b/doc/plutus-core-spec/cardano/builtins1.tex @@ -14,7 +14,7 @@ \subsection{Batch 1} \subsubsection{Built-in types and type operators} \label{sec:built-in-types-1} -The first batch of builtin types and type operators is defined in Tables~\ref{table:built-in-types-1} +The first batch of built-in types and type operators is defined in Tables~\ref{table:built-in-types-1} and~\ref{table:built-in-type-operators-1}. We also include concrete syntax for these; the concrete syntax is not strictly part of the language, but may be useful for tools working with Plutus Core. @@ -28,12 +28,12 @@ \subsubsection{Built-in types and type operators} \texttt{integer} & $\mathbb{Z}$ & \texttt{-?[0-9]+}\\ \texttt{bytestring} & $ \B^*$, the set of sequences of bytes or 8-bit characters. & \texttt{\#([0-9A-Fa-f][0-9A-Fa-f])*}\\ \texttt{string} & $\U^*$, the set of sequences of Unicode characters. & See note below\\ - \texttt{bool} & \{\texttt{true, false}\} & \texttt{True | False}\\ + \texttt{bool} & \{\true, \false\} & \texttt{True | False}\\ \texttt{unit} & \{()\} & \texttt{()}\\ \texttt{data} & See below & See below\\ \hline \end{tabular} - \caption{Atomic Types} + \caption{Atomic types, batch 1} \label{table:built-in-types-1} \end{table} @@ -47,7 +47,7 @@ \subsubsection{Built-in types and type operators} \texttt{pair} & 2 & $\denote{\pairOf{t_1}{t_2}} = \denote{t_1} \times \denote{t_2}$ & See below\\ \hline \end{tabular} - \caption{Type Operators} + \caption{Type operators, batch 1} \label{table:built-in-type-operators-1} \end{table} @@ -204,76 +204,76 @@ \subsubsection{Built-in functions} \hline \endhead \hline - \caption{Built-in Functions} + \caption{Built-in functions, batch 1} % This caption goes on every page of the table except the last. Ideally it % would appear only on the first page and all the rest would say % (continued). Unfortunately it doesn't seem to be easy to do that in a % longtable. \endfoot - \caption[]{Built-in Functions (continued)} + \caption[]{Built-in functions, batch 1 (continued)} \label{table:built-in-functions-1} \endlastfoot - \TT{addInteger} & $[\ty{integer}, \ty{integer}] \to \ty{integer}$ & $+$ & & \\ - \TT{subtractInteger} & $[\ty{integer}, \ty{integer}] \to \ty{integer}$ & $-$ & & \\ - \TT{multiplyInteger} & $[\ty{integer}, \ty{integer}] \to \ty{integer}$ & $\times$ & & \\ - \TT{divideInteger} & $[\ty{integer}, \ty{integer}] \to \ty{integer}$ & $\divfn$ & Yes & \ref{note:integer-division-functions}\\ - \TT{modInteger} & $[\ty{integer}, \ty{integer}] \to \ty{integer}$ & $\modfn$ & Yes & \ref{note:integer-division-functions}\\ - \TT{quotientInteger} & $[\ty{integer}, \ty{integer}] \to \ty{integer}$ & $\quotfn$ & Yes & \ref{note:integer-division-functions}\\ - \TT{remainderInteger} & $[\ty{integer}, \ty{integer}] \to \ty{integer}$ & $\remfn$ & Yes & \ref{note:integer-division-functions}\\ - \TT{equalsInteger} & $[\ty{integer}, \ty{integer}] \to \ty{bool}$ & $=$ & & \\ - \TT{lessThanInteger} & $[\ty{integer}, \ty{integer}] \to \ty{bool}$ & $<$ & & \\ - \TT{lessThanEqualsInteger} & $[\ty{integer}, \ty{integer}] \to \ty{bool}$ & $\leq$ & & \\ + \TT{addInteger} & $[\ty{integer}, \ty{integer}] \to \ty{integer}$ & $+$ & No & \\[2mm] + \TT{subtractInteger} & $[\ty{integer}, \ty{integer}] \to \ty{integer}$ & $-$ & No & \\[2mm] + \TT{multiplyInteger} & $[\ty{integer}, \ty{integer}] \to \ty{integer}$ & $\times$ & No & \\[2mm] + \TT{divideInteger} & $[\ty{integer}, \ty{integer}] \to \ty{integer}$ & $\divfn$ & Yes & \ref{note:integer-division-functions}\\[2mm] + \TT{modInteger} & $[\ty{integer}, \ty{integer}] \to \ty{integer}$ & $\modfn$ & Yes & \ref{note:integer-division-functions}\\[2mm] + \TT{quotientInteger} & $[\ty{integer}, \ty{integer}] \to \ty{integer}$ & $\quotfn$ & Yes & \ref{note:integer-division-functions}\\[2mm] + \TT{remainderInteger} & $[\ty{integer}, \ty{integer}] \to \ty{integer}$ & $\remfn$ & Yes & \ref{note:integer-division-functions}\\[2mm] + \TT{equalsInteger} & $[\ty{integer}, \ty{integer}] \to \ty{bool}$ & $=$ & No & \\[2mm] + \TT{lessThanInteger} & $[\ty{integer}, \ty{integer}] \to \ty{bool}$ & $<$ & No & \\[2mm] + \TT{lessThanEqualsInteger} & $[\ty{integer}, \ty{integer}] \to \ty{bool}$ & $\leq$ & No & \\[2mm] %% Some of the signatures look like $ ... $ \text{\;\; $ ... $} to allow a break with some indentation afterwards \TT{appendByteString} & $[\ty{bytestring}, \ty{bytestring}] $ \text{$\;\; \to \ty{bytestring}$} - & $([c_1, \dots, c_m], [d_1, \ldots, d_n]) $ \text{$\;\; \mapsto [c_1,\ldots, c_m,d_1, \ldots, d_n]$} & & \\ + & $([c_1, \dots, c_m], [d_1, \ldots, d_n]) $ \text{$\;\; \mapsto [c_1,\ldots, c_m,d_1, \ldots, d_n]$} & No & \\[2mm] \TT{consByteString} (Variant 1) & $[\ty{integer}, \ty{bytestring}] $ \text{$\;\; \to \ty{bytestring}$} - & $(c,[c_1,\ldots,c_n]) $ \text{$\;\;\mapsto [\text{mod}(c,256) ,c_1,\ldots,c_{n}]$} & - & \ref{note:consbytestring}\\ + & $(c,[c_1,\ldots,c_n]) $ \text{$\;\;\mapsto [\text{mod}(c,256) ,c_1,\ldots,c_{n}]$} & No + & \ref{note:consbytestring}\\[2mm] \TT{consByteString} (Variant 2) & $[\ty{integer}, \ty{bytestring}] $ \text{$\;\; \to \ty{bytestring}$} & $(c,[c_1,\ldots,c_n])$ \text{$\;\;\mapsto \begin{cases} - [c,c_1,\ldots,c_{n}] & \text{if $0 \leq c \leq 255$} \\ + [c,c_1,\ldots,c_{n}] & \text{if $0 \leq c \leq 255$} \\[2mm] \errorX & \text{otherwise} - \end{cases}$} & Yes & \ref{note:consbytestring}\\ + \end{cases}$} & Yes & \ref{note:consbytestring}\\[2mm] \TT{sliceByteString} & $[\ty{integer}, \ty{integer}, \ty{bytestring]} $ \text {$\;\; \to \ty{bytestring}$} & $(s,k,[c_0,\ldots,c_n])$ \text{$\;\;\mapsto [c_{\max(s,0)},\ldots,c_{\min(s+k-1,n-1)}]$} - & & \ref{note:slicebytestring}\\ - \TT{lengthOfByteString} & $[\ty{bytestring}] \to \ty{integer}$ & $[] \mapsto 0, [c_1,\ldots, c_n] \mapsto n$ & & \\ + & No & \ref{note:slicebytestring}\\[2mm] + \TT{lengthOfByteString} & $[\ty{bytestring}] \to \ty{integer}$ & $[] \mapsto 0, [c_1,\ldots, c_n] \mapsto n$ & No & \\[2mm] \TT{indexByteString} & $[\ty{bytestring}, \ty{integer}] $ \text{$\;\; \to \ty{integer}$} & $([c_0,\ldots,c_{n-1}],j)$ \text{$\;\;\mapsto \begin{cases} - c_i & \text{if $0 \leq j \leq n-1$} \\ + c_i & \text{if $0 \leq j \leq n-1$} \\[2mm] \errorX & \text{otherwise} - \end{cases}$} & Yes & \\ - \TT{equalsByteString} & $[\ty{bytestring}, \ty{bytestring}] $ \text{$\;\; \to \ty{bool}$} & = & & \ref{note:bytestring-comparison}\\ - \TT{lessThanByteString} & $[\ty{bytestring}, \ty{bytestring}] $ \text{$\;\; \to \ty{bool}$} & $<$ & & \ref{note:bytestring-comparison}\\ - \TT{lessThanEqualsByteString} & $[\ty{bytestring}, \ty{bytestring}] $ \text{$\;\; \to \ty{bool}$} & $\leq$ & & \ref{note:bytestring-comparison}\\ + \end{cases}$} & Yes & \\[2mm] + \TT{equalsByteString} & $[\ty{bytestring}, \ty{bytestring}] $ \text{$\;\; \to \ty{bool}$} & = & No & \ref{note:bytestring-comparison}\\[2mm] + \TT{lessThanByteString} & $[\ty{bytestring}, \ty{bytestring}] $ \text{$\;\; \to \ty{bool}$} & $<$ & No & \ref{note:bytestring-comparison}\\[2mm] + \TT{lessThanEqualsByteString} & $[\ty{bytestring}, \ty{bytestring}] $ \text{$\;\; \to \ty{bool}$} & $\leq$ & No & \ref{note:bytestring-comparison}\\[2mm] \TT{appendString} & $[\ty{string}, \ty{string}] \to \ty{string}$ - & $([u_1, \dots, u_m], [v_1, \ldots, v_n]) $ \text{$\;\; \mapsto [u_1,\ldots, u_m,v_1, \ldots, v_n]$} & & \\ - \TT{equalsString} & $[\ty{string}, \ty{string}] \to \ty{bool}$ & = & & \\ - \TT{encodeUtf8} & $[\ty{string}] \to \ty{bytestring}$ & $\utfeight$ & & \ref{note:bytestring-encoding} \\ - \TT{decodeUtf8} & $[\ty{bytestring}] \to \ty{string}$ & $\unutfeight$ & Yes & \ref{note:bytestring-encoding} \\ - \TT{sha2\_256} & $[\ty{bytestring}] \to \ty{bytestring}$ & \text{Hash a $\ty{bytestring}$ using} \TT{SHA-}\TT{256}~\cite{FIPS-SHA2}. & & \\ - \TT{sha3\_256} & $[\ty{bytestring}] \to \ty{bytestring}$ & \text{Hash a $\ty{bytestring}$ using} \TT{SHA3-}\TT{256}~\cite{FIPS-SHA3}. & & \\ - \TT{blake2b\_256} & $[\ty{bytestring}] \to \ty{bytestring}$ & \text{Hash a $\ty{bytestring}$ using} \TT{Blake2b-}\TT{256}~\cite{IETF-Blake2}. & & \\ + & $([u_1, \dots, u_m], [v_1, \ldots, v_n]) $ \text{$\;\; \mapsto [u_1,\ldots, u_m,v_1, \ldots, v_n]$} & No & \\[2mm] + \TT{equalsString} & $[\ty{string}, \ty{string}] \to \ty{bool}$ & = & No & \\[2mm] + \TT{encodeUtf8} & $[\ty{string}] \to \ty{bytestring}$ & $\utfeight$ & & \ref{note:bytestring-encoding} \\[2mm] + \TT{decodeUtf8} & $[\ty{bytestring}] \to \ty{string}$ & $\unutfeight$ & Yes & \ref{note:bytestring-encoding} \\[2mm] + \TT{sha2\_256} & $[\ty{bytestring}] \to \ty{bytestring}$ & \text{Hash a $\ty{bytestring}$ using} \TT{SHA-}\TT{256}~\cite{FIPS-SHA2}. & No & \\[2mm] + \TT{sha3\_256} & $[\ty{bytestring}] \to \ty{bytestring}$ & \text{Hash a $\ty{bytestring}$ using} \TT{SHA3-}\TT{256}~\cite{FIPS-SHA3}. & No & \\[2mm] + \TT{blake2b\_256} & $[\ty{bytestring}] \to \ty{bytestring}$ & \text{Hash a $\ty{bytestring}$ using} \TT{Blake2b-}\TT{256}~\cite{IETF-Blake2}. & No & \\[2mm] \TT{verifyEd25519Signature} & $[\ty{bytestring}, \ty{bytestring}, $ \text{$\;\; \ty{bytestring}] \to \ty{bool}$} & Verify an \TT{Ed25519} digital signature. & Yes - & \ref{note:digital-signature-verification-functions}, \ref{note:ed25519-signature-verification}\\ + & \ref{note:digital-signature-verification-functions}, \ref{note:ed25519-signature-verification}\\[2mm] \TT{ifThenElse} & $[\forall a_*, \ty{bool}, a_*, a_*] \to a_*$ - & \text{$(\mathtt{true},t_1,t_2) \mapsto t_1$} - \text{$(\mathtt{false},t_1,t_2) \mapsto t_2$} & & \\ - \TT{chooseUnit} & $[\forall a_*, \ty{unit}, a_*] \to a_*$ & $((), t) \mapsto t$ & & \\ - \TT{trace} & $[\forall a_*, \ty{string}, a_*] \to a_*$ & $ (s,t) \mapsto t$ & & \ref{note:trace}\\ - \TT{fstPair} & $[\forall a_\#, \forall b_\#, \pairOf{a_\#}{b_\#}] \to a_\#$ & $(x,y) \mapsto x$ && \\ - \TT{sndPair} & $[\forall a_\#, \forall b_\#, \pairOf{a_\#}{b_\#}] \to b_\#$ & $(x,y) \mapsto y$ & & \\ + & \text{$(\true,t_1,t_2) \mapsto t_1$} + \text{$(\false,t_1,t_2) \mapsto t_2$} & No & \\[2mm] + \TT{chooseUnit} & $[\forall a_*, \ty{unit}, a_*] \to a_*$ & $((), t) \mapsto t$ & No & \\[2mm] + \TT{trace} & $[\forall a_*, \ty{string}, a_*] \to a_*$ & $ (s,t) \mapsto t$ & No & \ref{note:trace}\\[2mm] + \TT{fstPair} & $[\forall a_\#, \forall b_\#, \pairOf{a_\#}{b_\#}] \to a_\#$ & $(x,y) \mapsto x$ & No & \\[2mm] + \TT{sndPair} & $[\forall a_\#, \forall b_\#, \pairOf{a_\#}{b_\#}] \to b_\#$ & $(x,y) \mapsto y$ & No & \\[2mm] \TT{chooseList} & $[\forall a_\#, \forall b_*, \listOf{a_\#}, b_*, b_*] \to b_*$ - & \text{$([], t_1, t_2) \mapsto t_1$,} \text{$([x_1,\ldots,x_n],t_1,t_2) \mapsto t_2\ (n \geq 1)$}. & & \\ - \TT{mkCons} & $[\forall a_\#, a_\#, \listOf{a_\#}] \to \listOf{a _\#}$ & $(x,[x_1,\ldots,x_n]) \mapsto [x,x_1,\ldots,x_n]$ & & \\ - \TT{headList} & $[\forall a_\#, \listOf{a_\#}] \to a_\#$ & $[]\mapsto \errorX, [x_1,x_2, \ldots, x_n] \mapsto x_1$ & Yes & \\ + & \text{$([], t_1, t_2) \mapsto t_1$,} \text{$([x_1,\ldots,x_n],t_1,t_2) \mapsto t_2\ (n \geq 1)$}. & No & \\[2mm] + \TT{mkCons} & $[\forall a_\#, a_\#, \listOf{a_\#}] \to \listOf{a _\#}$ & $(x,[x_1,\ldots,x_n]) \mapsto [x,x_1,\ldots,x_n]$ & No & \\[2mm] + \TT{headList} & $[\forall a_\#, \listOf{a_\#}] \to a_\#$ & $[]\mapsto \errorX, [x_1,x_2, \ldots, x_n] \mapsto x_1$ & Yes & \\[2mm] \TT{tailList} & $[\forall a_\#, \listOf{a_\#}] \to \listOf{a_\#}$ - & \text{$[] \mapsto \errorX$,} \text{$ [x_1,x_2, \ldots, x_n] \mapsto [x_2, \ldots, x_n]$} & Yes & \\ - \TT{nullList} & $[\forall a_\#, \listOf{a_\#}] \to \ty{bool}$ & $ [] \mapsto \TT{true}, - [x_1,\ldots, x_n] \mapsto \TT{false}$& & \\ + & \text{$[] \mapsto \errorX$,} \text{$ [x_1,x_2, \ldots, x_n] \mapsto [x_2, \ldots, x_n]$} & Yes & \\[2mm] + \TT{nullList} & $[\forall a_\#, \listOf{a_\#}] \to \ty{bool}$ & $ [] \mapsto \true, + [x_1,\ldots, x_n] \mapsto \false$ & No & \\[2mm] \TT{chooseData} & $[\forall a_*, \ty{data}, a_*, a_*, a_*, a_*, a_*] \to a_*$ & $ (d,t_C, t_M, t_L, t_I, t_B) $ \smallskip @@ -285,21 +285,21 @@ \subsubsection{Built-in functions} t_L & \text{if $\is_L(d)$} \\ t_I & \text{if $\is_I(d)$} \\ t_B & \text{if $\is_B(d)$} \\ - \end{array}\right.$} & & \\ - \TT{constrData} & $[\ty{integer}, \listOf{\ty{data}}] \to \ty{data}$ & $\inj_C$ & & \\ - \TT{mapData} & $[\listOf{\pairOf{\ty{data}}{\ty{data}}}$ \text{$\;\; \to \ty{data}$} & $\inj_M$& & \\ - \TT{listData} & $[\listOf{\ty{data}}] \to \ty{data} $ & $\inj_L$& & \\ - \TT{iData} & $[\ty{integer}] \to \ty{data} $ & $\inj_I$ & & \\ - \TT{bData} & $[\ty{bytestring}] \to \ty{data} $ & $\inj_B$& & \\ - \TT{unConstrData} & $[\ty{data}]$ \text{$\;\; \to \pairOf{\ty{integer}}{\listOf{\ty{data}}}$} & $\proj_C$ & Yes& \\ - \TT{unMapData} & $[\ty{data}]$ \text{$\;\; \to \listOf{\pairOf{\ty{data}}{\ty{data}}}$} & $\proj_M$ & Yes& \\ - \TT{unListData} & $[\ty{data}] \to \listOf{\ty{data}} $ & $\proj_L$ & Yes& \\ - \TT{unIData} & $[\ty{data}] \to \ty{integer} $ & $\proj_I$ & Yes& \\ - \TT{unBData} & $[\ty{data}] \to \ty{bytestring} $ & $\proj_B$ & Yes& \\ - \TT{equalsData} & $[\ty{data}, \ty{data}] \to \ty{bool} $ & $ = $ & & \\ - \TT{mkPairData} & $[\ty{data}, \ty{data}]$ \text{\;\; $\to \pairOf{\ty{data}}{\ty{data}}$} & $(x,y) \mapsto (x,y) $ & & \\ - \TT{mkNilData} & $[\ty{unit}] \to \listOf{\ty{data}} $ & $() \mapsto []$ & & \\ - \TT{mkNilPairData} & $[\ty{unit}] $ \text{$\;\; \to \listOf{\pairOf{\ty{data}}{\ty{data}}} $} & $() \mapsto []$ & & \\ + \end{array}\right.$} & No & \\ + \TT{constrData} & $[\ty{integer}, \listOf{\ty{data}}] \to \ty{data}$ & $\inj_C$ & No & \\[2mm] + \TT{mapData} & $[\listOf{\pairOf{\ty{data}}{\ty{data}}}$ \text{$\;\; \to \ty{data}$} & $\inj_M$ & No & \\[2mm] + \TT{listData} & $[\listOf{\ty{data}}] \to \ty{data} $ & $\inj_L$ & No & \\[2mm] + \TT{iData} & $[\ty{integer}] \to \ty{data} $ & $\inj_I$ & No & \\[2mm] + \TT{bData} & $[\ty{bytestring}] \to \ty{data} $ & $\inj_B$& No & \\[2mm] + \TT{unConstrData} & $[\ty{data}]$ \text{$\;\; \to \pairOf{\ty{integer}}{\listOf{\ty{data}}}$} & $\proj_C$ & Yes & \\[2mm] + \TT{unMapData} & $[\ty{data}]$ \text{$\;\; \to \listOf{\pairOf{\ty{data}}{\ty{data}}}$} & $\proj_M$ & Yes & \\[2mm] + \TT{unListData} & $[\ty{data}] \to \listOf{\ty{data}} $ & $\proj_L$ & Yes & \\[2mm] + \TT{unIData} & $[\ty{data}] \to \ty{integer} $ & $\proj_I$ & Yes & \\[2mm] + \TT{unBData} & $[\ty{data}] \to \ty{bytestring} $ & $\proj_B$ & Yes & \\[2mm] + \TT{equalsData} & $[\ty{data}, \ty{data}] \to \ty{bool} $ & $ = $ & & \\[2mm] + \TT{mkPairData} & $[\ty{data}, \ty{data}]$ \text{\;\; $\to \pairOf{\ty{data}}{\ty{data}}$} & $(x,y) \mapsto (x,y) $ & No & \\[2mm] + \TT{mkNilData} & $[\ty{unit}] \to \listOf{\ty{data}} $ & $() \mapsto []$ & No & \\[2mm] + \TT{mkNilPairData} & $[\ty{unit}] $ \text{$\;\; \to \listOf{\pairOf{\ty{data}}{\ty{data}}} $} & $() \mapsto []$ & No & \\[2mm] \hline \end{longtable} @@ -447,9 +447,9 @@ \subsubsection{Built-in functions} or more arguments to be well-formed in some sense (in particular an argument may need to be of a specified length), and in this case the function will fail (returning $\errorX$) if any argument is malformed. If all of the arguments are -well-formed then the verification function returns \texttt{true} if the private +well-formed then the verification function returns $\true$ if the private key corresponding to $\vk$ was used to sign the message $m$ to produce $s$, -otherwise it returns \texttt{false}. +otherwise it returns $\false$. \note{Ed25519 signature verification.} \label{note:ed25519-signature-verification} diff --git a/doc/plutus-core-spec/cardano/builtins2.tex b/doc/plutus-core-spec/cardano/builtins2.tex index 1cbab06e02e..a7c9ad37be0 100644 --- a/doc/plutus-core-spec/cardano/builtins2.tex +++ b/doc/plutus-core-spec/cardano/builtins2.tex @@ -13,7 +13,8 @@ \subsection{Batch 2} \subsubsection{Built-in functions} \label{sec:built-in-functions-2} -The second batch of builtin operations is defined in Table~\ref{table:built-in-functions-2}. +The second batch of built-in functions is defined in Table~\ref{table:built-in-functions-2}. +See~\cite{CIP-0042}. \setlength{\LTleft}{20mm} % Shift the table right a bit to centre it on the page \begin{longtable}[H]{|l|l|l|c|c|} @@ -28,12 +29,12 @@ \subsubsection{Built-in functions} \hline \endhead \hline - \caption{Built-in Functions} + \caption{Built-in functions, batch 2} \endfoot - \caption[]{Built-in Functions} + \caption[]{Built-in functions, batch 2} \label{table:built-in-functions-2} \endlastfoot - \TT{serialiseData} & $[\ty{data}] \to \ty{bytestring}$ & $\mathcal{E}_{\mathtt{data}}$ & + \TT{serialiseData} & $[\ty{data}] \to \ty{bytestring}$ & $\mathcal{E}_{\mathtt{data}}$ & No & \ref{note:serialise-data}\\ \hline \end{longtable} diff --git a/doc/plutus-core-spec/cardano/builtins3.tex b/doc/plutus-core-spec/cardano/builtins3.tex index 689875bcee2..8c3c3a2cc2c 100644 --- a/doc/plutus-core-spec/cardano/builtins3.tex +++ b/doc/plutus-core-spec/cardano/builtins3.tex @@ -13,7 +13,8 @@ \subsection{Batch 3} \subsubsection{Built-in functions} \label{sec:built-in-functions-3} -The third batch of builtin operations is defined in Table~\ref{table:built-in-functions-3}. +The third batch of built-in functions is defined in Table~\ref{table:built-in-functions-3}. +See~\cite{CIP-0049}. \setlength{\LTleft}{-10mm} % Shift the table left a bit to centre it on the page \begin{longtable}[H]{|l|p{42mm}|p{35mm}|c|c|} @@ -28,15 +29,15 @@ \subsubsection{Built-in functions} \hline \endhead \hline - \caption{Built-in Functions} + \caption{Built-in functions, batch 3} \endfoot - \caption[]{Built-in Functions} + \caption[]{Built-in functions, batch 3} \label{table:built-in-functions-3} \endlastfoot \TT{verifyEcdsaSecp256k1Signature} & $[\ty{bytestring}, \ty{bytestring}, $ \text{$\;\; \ty{bytestring}] \to \ty{bool}$} - & Verify an SECP-256k1 ECDSA signature & Yes & \ref{note:verify-ecdsa-secp256k1-signature}\\ + & Verify an SECP-256k1 ECDSA signature & Yes & \ref{note:verify-ecdsa-secp256k1-signature}\\[2mm] \TT{verifySchnorrSecp256k1Signature} & $[\ty{bytestring}, \ty{bytestring}, $ \text{$\;\; \ty{bytestring}] \to \ty{bool}$} - & Verify an SECP-256k1 Schnorr signature & Yes & \ref{note:verify-schnorr-secp256k1-signature}\\ + & Verify an SECP-256k1 Schnorr signature & Yes & \ref{note:verify-schnorr-secp256k1-signature}\\[2mm] \hline \end{longtable} @@ -60,7 +61,7 @@ \subsubsection{Built-in functions} signatures for a given message and private key, and we follow the restriction imposed by Bitcoin (see~\cite{BIP-146}, \texttt{LOW\_S}) and \textbf{only accept the smaller signature}; -\texttt{verifyEcdsa\-Secp\-256k1Signature} will return \texttt{false} if the larger +\texttt{verifyEcdsa\-Secp\-256k1Signature} will return $\false$ if the larger one is supplied. % For more on the lower signature business, see diff --git a/doc/plutus-core-spec/cardano/builtins4.tex b/doc/plutus-core-spec/cardano/builtins4.tex index 2cd30f19c55..98bb84e9812 100644 --- a/doc/plutus-core-spec/cardano/builtins4.tex +++ b/doc/plutus-core-spec/cardano/builtins4.tex @@ -15,10 +15,10 @@ \subsection{Batch 4} \label{sec:default-builtins-4} -The fourth batch of builtins adds support for +The fourth batch of built-in types and functions adds support for \begin{itemize} -\item The \texttt{Blake2b-224} and \texttt{Keccak-256} hash functions. -\item Conversion functions from integers to bytestrings and vice-versa. +\item The \texttt{Blake2b-224} and \texttt{Keccak-256} hash functions (see~\cite{CIP-0101}). +\item Conversion functions from integers to bytestrings and vice-versa (see~\cite{CIP-0121}). \item BLS12-381 elliptic curve pairing operations (see~\cite{CIP-0381}, \cite{BLS12-381}, \cite[4.2.1]{IETF-pairing-friendly-curves}, \cite{BLST-library}). For clarity these are described separately in Sections~\ref{sec:bls-types-4} and \ref{sec:bls-builtins-4}. @@ -37,29 +37,29 @@ \subsubsection{Miscellaneous built-in functions} % (continued). Unfortunately it doesn't seem to be easy to do that in a % longtable. \endfoot -%% \caption[]{Built-in Functions} - \caption[]{Miscellaneous built-in Functions} +%% \caption[]{Built-in functions, batch 4} + \caption[]{Batch 4: miscellaneous built-in functions} \label{table:misc-built-in-functions-4} \endlastfoot %% G1 \hline \TT{blake2b\_224} & $[\ty{bytestring}] \to \ty{bytestring}$ & \text{Hash a $\ty{bytestring}$ using - \TT{Blake2b-224}~\cite{IETF-Blake2}.} & & \\ + \TT{Blake2b-224}~\cite{IETF-Blake2}} & No & \\[2mm] \TT{keccak\_256} & $[\ty{bytestring}] \to \ty{bytestring}$ & \text{Hash a $\ty{bytestring}$ using - \TT{Keccak-256}~\cite{KeccakRef3}.} & & \\ + \TT{Keccak-256}~\cite{KeccakRef3}} & No & \\ \hline\strut \TT{integerToByteString} & $[\ty{bool}, \ty{integer}, \ty{integer}]$ \text{\: $\to \ty{bytestring}$} & $(e, w, n) $ \text{$\mapsto \begin{cases} - \itobsLE(w,n) & \text{if $e=\mathtt{false}$}\\ - \itobsBE(w,n) & \text{if $e=\mathtt{true}$}\\ + \itobsLE(w,n) & \text{if $e=\false$}\\ + \itobsBE(w,n) & \text{if $e=\true$}\\ \end{cases}$} - & Yes & \ref{note:itobs}\strut\\ \strut + & Yes & \ref{note:itobs}\strut \\[6mm] \TT{byteStringToInteger} & $[\ty{bool}, \ty{bytestring}] $ \text{\: $ \to \ty{bytestring}$} & $(e, [c_0, \ldots, c_{N-1}]) $ \text{\; $\mapsto \begin{cases} - \sum_{i=0}^{N-1}c_{i}256^i & \text{if $e=\mathtt{false}$}\\ - \sum_{i=0}^{N-1}c_{i}256^{N-1-i} & \text{if $e=\mathtt{true}$}\\ + \sum_{i=0}^{N-1}c_{i}256^i & \text{if $e=\false$}\\ + \sum_{i=0}^{N-1}c_{i}256^{N-1-i} & \text{if $e=\true$}\\ \end{cases}$} - & & \ref{note:bstoi}\\ + & No & \ref{note:bstoi}\\[12mm] \hline \end{longtable} @@ -179,7 +179,7 @@ \subsubsection{BLS12-381 built-in types} $\TyMlResult$ & $\MlResultDenotation$ & None (see Note~\ref{note:bls-syntax})\\ \hline \end{tabular} - \caption{Atomic Types} + \caption{Atomic types, batch 4} \label{table:built-in-types-4} \end{table} @@ -246,6 +246,7 @@ \subsubsection{BLS12-381 built-in types} must be a multiplicative abelian group. See Note~\ref{note:pairing} for more on this. +\newpage \subsubsection{BLS12-381 built-in functions} \label{sec:bls-builtins-4} @@ -259,77 +260,77 @@ \subsubsection{BLS12-381 built-in functions} & \text{Note} \\ & & & fail? & \\ \hline \endfirsthead \hline \text{Function} & \text{Type} & \text{Denotation} & \text{Can} & \text{Note}\\ & & & fail? - & \\ \hline \endhead \hline \caption{BLS12-381 built-in Functions} + & \\ \hline \endhead \hline \caption{Batch 4: BLS12-381 built-in functions)} % This caption goes on every page of the table except the last. Ideally it % would appear only on the first page and all the rest would say % (continued). Unfortunately it doesn't seem to be easy to do that in a % longtable. \endfoot %% \caption[]{Built-in Functions} - \caption[]{BLS12-381 built-in Functions (continued)} + \caption[]{Batch 4: BLS12-381 built-in functions (continued)} \label{table:built-in-functions-4} \endlastfoot %% G1 \TT{bls12\_381\_G1\_add} & $[ \ty{bls12\_381\_G1\_element}$, \text{\; $\ty{bls12\_381\_G1\_element} ]$} - \text{\: $ \to \ty{bls12\_381\_G1\_element}$} & $(a,b) \mapsto a+b$ & No & \\ + \text{\: $ \to \ty{bls12\_381\_G1\_element}$} & $(a,b) \mapsto a+b$ & No & \\[2mm] \TT{bls12\_381\_G1\_neg} & - $ [ \ty{bls12\_381\_G1\_element} ]$ \text{\;\; $\to \ty{bls12\_381\_G1\_element}$} & $a \mapsto -a$ & No & \\ + $ [ \ty{bls12\_381\_G1\_element} ]$ \text{\;\; $\to \ty{bls12\_381\_G1\_element}$} & $a \mapsto -a$ & No & \\[2mm] \TT{bls12\_381\_G1\_scalarMul} & $[ \ty{integer}$, \text{\; $\ty{bls12\_381\_G1\_element} ]$} - \text{\: $ \to \ty{bls12\_381\_G1\_element}$} & $(n,a) \mapsto na$ & No & \\ + \text{\: $ \to \ty{bls12\_381\_G1\_element}$} & $(n,a) \mapsto na$ & No & \\[2mm] \TT{bls12\_381\_G1\_equal} & $[ \ty{bls12\_381\_G1\_element}$, \text{\; $\ty{bls12\_381\_G1\_element} ]$} - \text{\: $ \to \ty{bool}$} & $=$ & No & \\ + \text{\: $ \to \ty{bool}$} & $=$ & No & \\[2mm] \TT{bls12\_381\_G1\_hashToGroup} & $[ \ty{bytestring}, \ty{bytestring}]$ - \text{\: $ \to \ty{bls12\_381\_G1\_element}$} & $\hash_{G_1}$ & Yes & \ref{note:hashing-into-group}\\ + \text{\: $ \to \ty{bls12\_381\_G1\_element}$} & $\hash_{G_1}$ & Yes & \ref{note:hashing-into-group}\\[2mm] \TT{bls12\_381\_G1\_compress} & $[\ty{bls12\_381\_G1\_element}]$ - \text{\: $ \to \ty{bytestring}$} & $\compress_{G_1}$ & No & \ref{note:group-compression}\\ + \text{\: $ \to \ty{bytestring}$} & $\compress_{G_1}$ & No & \ref{note:group-compression}\\[2mm] \TT{bls12\_381\_G1\_uncompress} & $[ \ty{bytestring}]$ - \text{\: $ \to \ty{bls12\_381\_G1\_element}$} & $\uncompress_{G_1}$ & Yes & \ref{note:group-uncompression}\\ + \text{\: $ \to \ty{bls12\_381\_G1\_element}$} & $\uncompress_{G_1}$ & Yes & \ref{note:group-uncompression}\\[2mm] \hline %% G2 \TT{bls12\_381\_G2\_add} & $[ \ty{bls12\_381\_G2\_element}$, \text{\; $\ty{bls12\_381\_G2\_element} ]$} - \text{\: $ \to \ty{bls12\_381\_G2\_element}$} & $(a,b) \mapsto a+b$ & No & \\ + \text{\: $ \to \ty{bls12\_381\_G2\_element}$} & $(a,b) \mapsto a+b$ & No & \\[2mm] \TT{bls12\_381\_G2\_neg} & - $ [ \ty{bls12\_381\_G2\_element} ]$ \text{\;\; $\to \ty{bls12\_381\_G2\_element}$} & $a \mapsto -a$ & No & \\ + $ [ \ty{bls12\_381\_G2\_element} ]$ \text{\;\; $\to \ty{bls12\_381\_G2\_element}$} & $a \mapsto -a$ & No & \\[2mm] \TT{bls12\_381\_G2\_scalarMul} & $[ \ty{integer}$, \text{\; $\ty{bls12\_381\_G2\_element} ]$} - \text{\: $ \to \ty{bls12\_381\_G2\_element}$} & $(n,a) \mapsto na$ & No & \\ + \text{\: $ \to \ty{bls12\_381\_G2\_element}$} & $(n,a) \mapsto na$ & No & \\[2mm] \TT{bls12\_381\_G2\_equal} & $[ \ty{bls12\_381\_G2\_element}$, \text{\; $\ty{bls12\_381\_G2\_element} ]$} - \text{\: $ \to \ty{bool}$} & $=$ & No & \\ + \text{\: $ \to \ty{bool}$} & $=$ & No & \\[2mm] \TT{bls12\_381\_G2\_hashToGroup} & $[ \ty{bytestring}, \ty{bytestring}]$ - \text{\: $ \to \ty{bls12\_381\_G2\_element}$} & $\hash_{G_2}$ & Yes & \ref{note:hashing-into-group}\\ + \text{\: $ \to \ty{bls12\_381\_G2\_element}$} & $\hash_{G_2}$ & Yes & \ref{note:hashing-into-group}\\[2mm] \TT{bls12\_381\_G2\_compress} & $[\ty{bls12\_381\_G2\_element}]$ - \text{\: $ \to \ty{bytestring}$} & $\compress_{G_2}$ & No & \ref{note:group-compression}\\ + \text{\: $ \to \ty{bytestring}$} & $\compress_{G_2}$ & No & \ref{note:group-compression}\\[2mm] \TT{bls12\_381\_G2\_uncompress} & $[ \ty{bytestring}]$ - \text{\: $ \to \ty{bls12\_381\_G2\_element}$} & $\uncompress_{G_2}$ & Yes & \ref{note:group-uncompression}\\ + \text{\: $ \to \ty{bls12\_381\_G2\_element}$} & $\uncompress_{G_2}$ & Yes & \ref{note:group-uncompression}\\[2mm] \hline \TT{bls12\_381\_millerLoop} & $[ \ty{bls12\_381\_G1\_element}$, \text{\; $\ty{bls12\_381\_G2\_element} ]$} - \text{\: $ \to \TyMlResult$} & $e$ & No & \ref{note:pairing}\\ + \text{\: $ \to \TyMlResult$} & $e$ & No & \ref{note:pairing}\\[2mm] \TT{bls12\_381\_mulMlResult} & $[ \TyMlResult$, \text{\; $\TyMlResult]$} - \text{\: $\to \TyMlResult$} & $(a,b) \mapsto ab$ & No & \ref{note:pairing}\\ + \text{\: $\to \TyMlResult$} & $(a,b) \mapsto ab$ & No & \ref{note:pairing}\\[2mm] \TT{bls12\_381\_finalVerify} & $[ \TyMlResult$, - \text{\; $\TyMlResult] \to \ty{bool}$} & $\phi$ & No & \ref{note:pairing}\\ + \text{\; $\TyMlResult] \to \ty{bool}$} & $\phi$ & No & \ref{note:pairing}\\[2mm] \hline \end{longtable} @@ -551,8 +552,8 @@ \subsubsection{BLS12-381 built-in functions} where $$ \phi(a,b) = \begin{cases} - \mathtt{true} & \text{if $\psi(ab^{-1}) = 1_{\mu_r}$} \\ - \mathtt{false} & \text{otherwise.} + \true & \text{if $\psi(ab^{-1}) = 1_{\mu_r}$} \\ + \false & \text{otherwise.} \end{cases} $$ \end{itemize} diff --git a/doc/plutus-core-spec/cardano/builtins5.tex b/doc/plutus-core-spec/cardano/builtins5.tex new file mode 100644 index 00000000000..916401e6152 --- /dev/null +++ b/doc/plutus-core-spec/cardano/builtins5.tex @@ -0,0 +1,240 @@ +% I tried resetting the note number from V1-builtins here, but that made +% some hyperlinks wrong. To get note numbers starting at one in each section, I +% think we have to define a new counter every time. +\newcounter{notenumberE} +\renewcommand{\note}[1]{ + \bigskip + \refstepcounter{notenumberE} + \noindent\textbf{Note \thenotenumberE. #1} +} + +\newcommand\Xand{\mathsf{and}} +\newcommand\Xor{\mathsf{or}} +\newcommand\Xxor{\mathsf{xor}} +\newcommand{\bitzero}{\mathtt{0}} +\newcommand{\bitone}{\mathtt{1}} +\newcommand{\trunc}{\mathbf{\mathsf{trunc}}} +\newcommand{\ext}{\mathbf{\textsf{ext}}} + +\subsection{Batch 5} +\label{sec:default-builtins-5} +The fifth batch of built-in functions adds support for +\begin{itemize} +\item Logical and bitwise operations on bytestrings (see~\cite{CIP-0122} and~\cite{CIP-0123}). +\item The \texttt{RIPEMD-160} hash function. +\end{itemize} + +\noindent In the table below most of the functions involve operating on individual bits. +We will often view byetstrings as bitstrings $b_{n-1}\cdots b_0$ with +$b_i \in \{\bitzero,\bitone\}$ (and $n$ necessarily a multiple of 8). Strictly +we should use the functions $\bitsof$ and $\bytesof$ of +Section~\ref{sec:notation-bytestrings} to convert back and forth between +bytestrings and bitstrings, but we elide this for conciseness and reduce +ambiguity by using lower-case names like $b$,$c$ and $d$ for bits and upper-case +names like $B$ for bytes. We denote the complement of a bit +$b \in \{\bitzero,\bitone\}$ by $\bar{b}$, so $\bar{\bitzero} = \bitone$ and +$\bar{\bitone} = \bitzero$. + + +\setlength{\LTleft}{-6mm} % Shift the table left a bit to centre it on the page +\begin{longtable}[H]{|l|p{50mm}|p{40mm}|c|c|} + \hline + \text{Function} & \text{Signature} & \text{Denotation} & \text{Can} & \text{Note} \\ + & & & fail? & \\ + \hline + \endfirsthead + \hline + \text{Function} & \text{Type} & \text{Denotation} & \text{Can} & \text{Note}\\ + & & & fail? & \\ + \hline + \endhead + \hline + \caption{Built-in functions, batch 5} + \endfoot + \caption[]{Built-in functions, batch 5} + \label{table:built-in-functions-5} + \endlastfoot + \TT{andByteString} & $[\ty{bool}, \ty{bytestring}, \ty{bytestring}] $ \text{$\;\; \to \ty{bytestring}$} & $\Xand$ & No & \ref{note:bitwise-logical-ops} \\[2mm] + \TT{orByteString} & $[\ty{bool}, \ty{bytestring}, \ty{bytestring}] $ \text{$\;\; \to \ty{bytestring}$} & $\Xor$ & No & \ref{note:bitwise-logical-ops} \\[2mm] + \TT{xorByteString} & $[\ty{bool}, \ty{bytestring}, \ty{bytestring}] $ \text{$\;\; \to \ty{bytestring}$} & $\Xxor$ & No & \ref{note:bitwise-logical-ops} \\[2mm] + \TT{complementByteString} & $[\ty{bytestring}] \to \ty{bytestring}$ + & $ b_{n-1}{\cdots}b_0 \mapsto \bar{b}_{n-1}{\cdots}\bar{b}_0$ & No & \\[2mm] + \TT{shiftByteString} & $[\ty{bytestring}, \ty{integer}] $ \text{$\;\; \to \ty{bytestring}$} & $\mathsf{shift}$ & No & \ref{note:shift} \\[2mm] + \TT{rotateByteString} & $[\ty{bytestring}, \ty{integer}] $ \text{$\;\; \to \ty{bytestring}$} & $\mathsf{rotate}$ & No & \ref{note:rotate}\\[2mm] + \TT{countSetBits} & $[\ty{bytestring}] \to \ty{integer}$ + & $b_{n-1}{\cdots}b_0 $ \text{$\mapsto \left|\{i: b_i =1\}\right|$} & No & \\[2mm] + \TT{findFirstSetBit} & $[\ty{bytestring}] \to \ty{integer}$ & $\mathsf{ffs}$ & No & \ref{note:ffs}\\[2mm] + \TT{readBit} & $[\ty{bytestring}, \ty{integer}] $ \text{$\;\; \to \ty{bytestring}$} + & $(b_{n-1}{\cdots}b_0, i) $ \text{$\mapsto \begin{cases} + b_i & \text{if $0 \leq i \leq n-1$}\\ + \errorX & \text{otherwise} + \end{cases}$} + & Yes & \\[14mm] %% Odd, but it gives reasonable spacing + \TT{writeBits} & $[\ty{bytestring}, \listOf{\ty{integer}}, $ + \text{$\;\; \ty{bool}] \to \ty{bytestring}$} & $\mathsf{writeBits}$ & Yes & \ref{note:writebits} \\[2mm] + \TT{replicateByte} & $[\ty{integer}, \ty{integer}] $ \text{$\;\; \to \ty{bytestring}$} + & $\mathsf{replicateByte}$ + & Yes & \ref{note:replicateByte}\\[2mm] + \hline + \TT{ripemd\_160} & $[\ty{bytestring}] \to \ty{bytestring}$ & Compute a RIPEMD-160 hash \cite{ripemd-2, ripemd-1} & No & \\ +\hline +\end{longtable} + +\note{Bitwise logical operations.} +\label{note:bitwise-logical-ops} +The bitwise logical operations $\Xand$, $\Xor$, and $\Xxor$ are defined by +extending the usual single-bit logical operations $\wedge$, $\vee$, and $\oplus$ +(respectively) to bytestrings. However, there is a complication if the +bytestrings have different lengths. + +\begin{itemize} +\item If the first argument of one of the bitwise logical operations is $\false$ +then the longer bytestring is (conceptually) truncated on the right to have the +same length as the shorter one. +\item If the first argument is $\true$ +then the shorter bytestring is (conceptually) extended on the right to have the +same length as the longer one. In the case of $\Xand$ the shorter bytestring is +extended with $\bitzero$ bits and in the case of $\Xor$ and $\Xxor$ it is +extended with $\bitone$ bits. +\end{itemize} + +\noindent Formally the truncation operation mentioned above is defined as +a function which removes the rightmost $k$ bits from a bitstring: + +$$ +\trunc\,(b_{n-1}{\cdots}b_0, k) = b_{n-1}{\cdots}b_{k} \quad\text{if $0 \leq k \leq n$} +$$ + +\noindent and the extension operation is defined as a function which appends $k$ bits to a bitstring: +$$ +\ext\,(b_{n-1}{\cdots}b_0, k, x) = b_{n-1}{\cdots}b_0\cdot x_{k-1}{\cdots}x_0 + \quad\text{where $x\in\{\bitzero, \bitone\}$, $k \geq 0$, and $x_0 = x_1 + = \cdots = x_{k-1} = x$}. +$$ + +\noindent In both cases, the otuput is the same as the input when $k=0$. +\smallskip + +\noindent The denotations of the bitwise logical functions are now defined on bitstring +representations of bytestrings as follows, where $b$ is a bitstring of length $m$ and $c$ +is a bitstring of length $n$: + +\begin{align*} +\Xand\,(\false, b, c) &= d_{l-1} \cdots d_0 +\quad \text{where $l=\min\{m,n\}$ and $d_i = \trunc\,(b,m-l)_i \wedge \trunc\,(c,n-l)_i$}\\ +\Xand\,(\true, b, c) &= d_{l-1} \cdots d_0 +\quad \text{where $l=\max\{m,n\}$ and $d_i = \ext\,(b,l-m,\bitone)_i \wedge \ext\,(c,l-n,\bitone)_i$} +\end{align*} +% +\begin{align*} +\Xor\,(\false, b, c) &= d_{l-1} \cdots d_0 + \quad \text{where $l=\min\{m,n\}$ and $d_i = \trunc\,(b,m-l)_i \vee \trunc\,(c,n-l)_i$}\\ +\Xor\,(\true, b, c) &= d_{l-1} \cdots d_0 +\quad \text{where $l=\max\{m,n\}$ and $d_i = \ext\,(b,l-m,\bitzero)_i \vee \ext\,(c,l-n,\bitzero)_i$} +\end{align*} +% +\begin{align*} +\Xxor\,(\false, b, c) &= d_{l-1} \cdots d_0 + \quad \text{where $l=\min\{m,n\}$ and $d_i = \trunc\,(b,m-l)_i \oplus \trunc\,(c,n-l)_i$}\\ +\Xxor\,(\true, b, c) &= d_{l-1} \cdots d_0 +\quad \text{where $l=\max\{m,n\}$ and $d_i = \ext\,(b,l-m,\bitzero)_i \oplus \ext\,(c,l-n,\bitzero)_i$}. +\end{align*} + +\noindent +Note that although $\trunc$ is applied to both arguments in the above +definitions, if the arguments have the same lengths then in fact neither will be +truncated and if the arguments have different lengths then only the longer one +will be truncated. Similarly extension will only occur if the arguments are +of different lengths, in which case the shorter one will be extended. + +\note{Shifting bits.} +\label{note:shift} +The \texttt{shiftByteString} builtin takes a bytestring $s$ and an integer $k$ and +shifts the bits of the bytestring $k$ places to the left if $k \geq 0$ and $k$ +places to the right if $k < 0$, replacing vacated bits with $\bitzero$. The +length of the output bytestring is the same as that of the input. The +denotation (defined on the bitstring representation of $s$) is + +$$ +\mathsf{shift}\,(b_{n-1} \cdots b_0, k) = + d_{n-1} \cdots d_0 \quad \text{where } + d_i = \begin{cases} + b_{i-k} & \text{if $0 \leq i-k \leq n-1$ }\\ + \bitzero & \text{otherwise.}\\ +\end{cases} +$$ + +\note{Rotating bits.} +\label{note:rotate} +The \texttt{rotateByteString} builtin takes a bytestring $s$ and an integer $k$ +and rotates the bits of $s$ $k$ places to the left if $k \geq 0$ and $k$ places +to the right if $k < 0$. The length of the output bytestring is the same as +that of the input. The denotation of +\texttt{rotateByteString} (defined on the bitstring representation of $s$) is + +$$ +\mathsf{rotate}\,(b_{n-1} \cdots b_0, k) = d_{n-1}\cdots d_0 \quad\text{where $d_i = b_{(i-k)\bmod n}$}. +$$ + +\note{Finding the first set bit in a bytestring.} +\label{note:ffs} +The \texttt{findFirstSetBit} builtin returns the index of the first nonzero bit +in a bytestring, counting from the \textit{right}. If the bytestring consists +entirely of zeros then it returns $-1$. The denotation +$\mathsf{ffs}: \b^* \rightarrow \Z$ is + +$$ +\mathsf{ffs}\,(b_{n-1}\cdots b_0) = +\begin{cases} + -1 & \text{if $b_i = \bitzero$ for $0 \leq i \leq n-1$}\\ + \min{\{i: b_i \ne \bitzero\}} & \text{otherwise.} + \end{cases} +$$ + + +\note{Writing bits.} +\label{note:writebits} +The denotation $\mathsf{writeBits}$ of the \texttt{writeBits} builtin takes a +bytestring $s$, a list of $J$ of integer indices, and a boolean value $u$. An +error occurs if any of the indices in $J$ is not a valid bit index for $s$. If +all of the indices are within bounds then for each index $j$ in $J$ the $j$-th +bit of $s$ is updated according to the value of $u$ ($\bitzero$ +for \textsf{false}, $\bitone$ for \textsf{true}). The list $J$ is allowed to +contain repetitions. + +\smallskip +\noindent Formally, +$$ +\mathsf{writeBits}(b_{n-1}{\cdots}b_0, [j_0, \ldots, j_{l-1}], u) = +\begin{cases} +\errorX & \text{if $\exists k \in \{0, \ldots, l-1\}$ such that $j_k < 0$ or $j_k \geq n$} \\ +d_{n-1}{\cdots}d_0 & \text{otherwise} +\end{cases} +$$ + +\noindent where +$$ + d_i = + \begin{cases} + b_i & \text{if $i \not{\in} \{j_0, \ldots, j_{l-1}\}$}\\ + \bitzero & \text{if $i \in \{j_0, \ldots, j_{l-1}\}$ and $u = \false$}\\ + \bitone & \text{if $i \in \{j_0, \ldots, j_{l-1}\}$ and $u = \true$}. + \end{cases} +$$ + + +\note{Replicating bytes.} +\label{note:replicateByte} +The \texttt{replicateByte} builtin takes a length $l$ between 0 and 8192 and an +integer $B$ between 0 and 255 and produces a bytestring of length $l$. It fails +if either argument is outside the required bounds. The denotation is + +$$ +\mathsf{replicateByte}\,(l,B) = +\begin{cases} +B_0{\cdots}B_{l-1} \quad\text{ ($B_i=B$ for all $i$}) & \text{if $0 \leq l \leq 8192$ and $B \in \B$}\\ +\errorX & \text{otherwise}. +\end{cases} +$$ +\noindent Note that unlike the other denotations in this section we are +viewing the output as a bytestring here, not a bitstring. diff --git a/doc/plutus-core-spec/cardano/cardano.tex b/doc/plutus-core-spec/cardano/cardano.tex index f125f48b448..adc669ea828 100644 --- a/doc/plutus-core-spec/cardano/cardano.tex +++ b/doc/plutus-core-spec/cardano/cardano.tex @@ -79,5 +79,6 @@ \section{Built-in types and functions} \input{cardano/builtins2.tex} \input{cardano/builtins3.tex} \input{cardano/builtins4.tex} +\input{cardano/builtins5.tex} diff --git a/doc/plutus-core-spec/cardano/versions.tex b/doc/plutus-core-spec/cardano/versions.tex index af2609a8bb5..73c9e5308f7 100644 --- a/doc/plutus-core-spec/cardano/versions.tex +++ b/doc/plutus-core-spec/cardano/versions.tex @@ -44,7 +44,7 @@ \section{Ledger languages} \begin{enumerate} \item \LL{PlutusV1} \item \LL{PlutusV2} - \item \LL{PlutusV3} (forthcoming) + \item \LL{PlutusV3} \end{enumerate} \noindent Table~\ref{table:ll-introduction} shows when each Plutus ledger language was introduced. @@ -67,7 +67,7 @@ \section{Ledger languages} \noindent Ledger languages can evolve over time. We can make backwards-compatible changes when the major protocol version changes, but backwards-incompatible changes can only be introduced by creating a whole new ledger language.\footnote{ - See~\cite{CIP-35} for more details on how the process of evolution works. + See~\cite{CIP-0035} for more details on how the process of evolution works. } This means that to fully explain the behaviour of a ledger language we may need to also index by the protocol version. @@ -106,6 +106,7 @@ \section{Ledger languages} \LL{PlutusV2} & 7.0 & Batch 2 \\ \LL{PlutusV2} & 8.0 & Batch 3 \\ \LL{PlutusV3} & 9.0 & Batch 4 \\ + \LL{PlutusV3} & 10.0 & Batch 5 \\ \hline \end{tabular} \caption{Introduction of built-in functions and types} diff --git a/doc/plutus-core-spec/flat-serialisation.tex b/doc/plutus-core-spec/flat-serialisation.tex index bcc4ba41a8a..329e440b1f6 100644 --- a/doc/plutus-core-spec/flat-serialisation.tex +++ b/doc/plutus-core-spec/flat-serialisation.tex @@ -26,14 +26,14 @@ \chapter{Serialising Plutus Core Terms and Programs Using the \texttt{flat} Form \section{Encoding and decoding} -Let $\Bits = \{\bits{0},\bits{1}\}^*$, the set of all finite sequences of -bits. For brevity we write a sequence of bits in the form $b_{n-1} \cdots b_0$ -instead of $[b_{n-1}, \ldots, b_0]$: thus $\bits{011001}$ instead of $[\bits{0}, +Firstly recall some notation from Section~\ref{sec:notation}. The set of all +finite sequences of bits is denoted by $\Bits = \{\bits{0},\bits{1}\}^*$. For +brevity we write a sequence of bits in the form $b_{n-1} \cdots b_0$ instead of +$[b_{n-1}, \ldots, b_0]$: thus $\bits{011001}$ instead of $[\bits{0}, \bits{1},\bits{1},\bits{0},\bits{0},\bits{1}])$. We denote the empty sequence by $\epsilon$, and use $\length(s)$ to denote the length of a sequence of bits, and $\cdot$ to denote concatenation (or prepending or appending a single bit to -a sequence of bits).% -\nomenclature[As]{$\Bits$}{The set of strings of bits} +a sequence of bits).% \nomenclature[As]{$\Bits$}{The set of strings of bits} \medskip \noindent Similarly to the CBOR encoding for \texttt{data} described in @@ -553,7 +553,7 @@ \subsection{Constants} \subsection{Built-in functions} Built-in functions are represented by seven-bit integer tags and encoded and decoded using $\E_7$ and $\D_7$. The tags are specified in -Tables~\ref{table:builtin-tags-V1}, \ref{table:builtin-tags-V2}, and~\ref{table:builtin-tags-V3}. We +Tables~\ref{table:builtin-tags-batch-1}--\ref{table:builtin-tags-batch-5}. We assume that there are (partial) functions $\Tag$ and $\unTag$ which convert back and forth between builtin names and their tags. @@ -597,8 +597,8 @@ \subsection{Built-in functions} \TT{decodeUtf8} & $\bits{0011001}$ & 25 & & & \\ \hline \end{tabular} -\caption{Tags for PlutusV1 builtins} -\label{table:builtin-tags-V1} +\caption{Tags for built-in functions (batch 1)} +\label{table:builtin-tags-batch-1} \end{table} \begin{table}[H] @@ -609,12 +609,24 @@ \subsection{Built-in functions} Builtin & Binary & Decimal\\ \hline \TT{serialiseData} & $\bits{0110011}$ & 51 \\ +\hline +\end{tabular} +\caption{Tags for built-in functions (batch 2)} +\label{table:builtin-tags-batch-2} +\end{table} + +\begin{table}[H] +\centering +\begin{tabular}{|l|c|c|} + \hline + \Strut + Builtin & Binary & Decimal\\ + \hline \TT{verifyEcdsaSecp256k1Signature} & $\bits{0110100}$ & 52 \\ \TT{verifySchnorrSecp256k1Signature} & $\bits{0110101}$ & 53 \\ \hline \end{tabular} -\caption{Extra tags for PlutusV2 builtins} -\label{table:builtin-tags-V2} +\caption{Tags for built-in functions (batch 3)} \end{table} \begin{table}[H] @@ -643,13 +655,39 @@ \subsection{Built-in functions} \TT{bls12\_381\_finalVerify} & $\bits{1000110}$ & 70 \\ \TT{keccak\_256} & $\bits{1000111}$ & 71 \\ \TT{blake2b\_224} & $\bits{1001000}$ & 72 \\ + \TT{integerToByteString} & $\bits{1001000}$ & 73 \\ + \TT{byteStringToInteger} & $\bits{1001000}$ & 74 \\ \hline \end{tabular} -\caption{Extra tags for future builtins} -\label{table:builtin-tags-V3} +\caption{Tags for built-in functions (batch 4)} +\label{table:builtin-tags-batch-4} \end{table} +\begin{table}[H] +\centering +\begin{tabular}{|l|c|c|} + \hline + \Strut + Builtin & Binary & Decimal\\ + \hline + \TT{andByteString} & $\bits{1001011}$ & 75 \\ + \TT{orByteString} & $\bits{1001100}$ & 76 \\ + \TT{xorByteString} & $\bits{1001101}$ & 77 \\ + \TT{complementByteString} & $\bits{1001110}$ & 78 \\ + \TT{readBit} & $\bits{1001111}$ & 79 \\ + \TT{writeBits} & $\bits{1010000}$ & 80 \\ + \TT{replicateByte} & $\bits{1010001}$ & 81 \\ + \TT{shiftByteString} & $\bits{1010010}$ & 82 \\ + \TT{rotateByteString} & $\bits{1010011}$ & 83 \\ + \TT{countSetBits} & $\bits{1010100}$ & 84 \\ + \TT{findFirstSetBit} & $\bits{1010101}$ & 85 \\ + \TT{ripemd\_160} & $\bits{1010110}$ & 86 \\ +\hline +\end{tabular} +\caption{Tags for built-in functions (batch 5)} +\label{table:builtin-tags-batch-5} +\end{table} \subsection{Variable names} Variable names are encoded and decoded using the $\Ename$ and $\Dname$ diff --git a/doc/plutus-core-spec/header.tex b/doc/plutus-core-spec/header.tex index 35b0f463a8c..367e5a2f5b9 100644 --- a/doc/plutus-core-spec/header.tex +++ b/doc/plutus-core-spec/header.tex @@ -56,7 +56,8 @@ \usepackage{float} %% Try to improve placement of figures. Doesn't work well with subcaption package. \usepackage{subcaption} \usepackage{fancyvrb} -%% \usepackage{caption} +\usepackage[tableposition=below]{caption} +\captionsetup[longtable]{skip=6pt} \usepackage{subfiles} \usepackage{geometry} @@ -262,8 +263,8 @@ \newcommand\integer{\ensuremath{\mathit{integer}}} \newcommand\bytestring{\ensuremath{\mathit{bytestring}}} \newcommand\str{\ensuremath{\mathit{str}}} -\newcommand\true{\ensuremath{\mathit{true}}} -\newcommand\false{\ensuremath{\mathit{false}}} +\newcommand\true{\ensuremath{\mathsf{true}}} +\newcommand\false{\ensuremath{\mathsf{false}}} \newcommand\case{\ensuremath{\mathit{case}}} \newcommand\signed{\ensuremath{\mathit{signed}}} \newcommand\txhash{\ensuremath{\mathit{txhash}}} @@ -303,6 +304,7 @@ \newcommand{\Nplus}{\N^{+}} \newcommand{\Z}{\mathbb{Z}} \newcommand{\B}{\mathbb{B}} +\renewcommand{\b}{\mathbb{b}} \newcommand{\U}{\mathbb{U}} \newcommand{\cn}{\textit{cn}} \newcommand{\tn}{\textit{T}} @@ -429,10 +431,13 @@ \newcommand\Dbinder{\decode{\text{$\lambda$}var}} \newcommand\Dtype{\decode{type}} -\newcommand\Bits{\mathbb{S}} \newcommand\bit{\mathsf{b}} +\newcommand\Bits{\bit^*} \newcommand\bits[1]{\mathtt{#1}} +\newcommand\bytesof{\mathsf{bytes}} +\newcommand\bitsof{\mathsf{bits}} + \newcommand\pad{\mathsf{pad}} % \newcommand\Pad{\mathsf{pad}^{+}} \newcommand\unpad{\mathsf{unpad}} diff --git a/doc/plutus-core-spec/notation.tex b/doc/plutus-core-spec/notation.tex index 682e7c5643c..7d21e19b13d 100644 --- a/doc/plutus-core-spec/notation.tex +++ b/doc/plutus-core-spec/notation.tex @@ -1,4 +1,5 @@ \section{Some basic notation} +\label{sec:notation} We begin with some notation which will be used throughout the document. \subsection{Sets} @@ -28,6 +29,12 @@ \subsection{Sets} \item $\B^*$ is the set of all bytestrings.% \nomenclature[Ab2]{$\B^*$}{The set of all bytestrings} + \item $\b = \{\mathtt{0}, \mathtt{1}\}$, the set of bits.% + \nomenclature[Ac1]{$\b$}{$\{\mathtt{0}, \mathtt{1}\}$}% + + \item $\b^*$ is the set of all bitstrings.% + \nomenclature[Ac2]{$\b^*$}{The set of all bitstrings} + \item $\Z = \{\ldots, -2, -1, 0, 1, 2, \ldots\}$.% \nomenclature[Aw]{$\Z$}{$\{\ldots, -2, -1, 0, 1, 2, \ldots\}$} @@ -81,12 +88,51 @@ \subsection{Lists} %%\item We say that the list $L'$ is a \textit{proper prefix} of the list %% $L = [x_1, \ldots, x_n]$, and %% write $L' \prec L$, if $L' = [x_1, \ldots, x_m]$ for some $m 85 Ripemd_160 -> 86 - ExpModInteger -> 87 + ExpModInteger -> 87 decode = go =<< decodeBuiltin where go 0 = pure AddInteger From 12069755b19954f3e872532a7afb3aa38ba27cd4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 10 Oct 2024 18:03:36 -0700 Subject: [PATCH 23/70] chore(deps): bump JamesIves/github-pages-deploy-action (#6525) Bumps [JamesIves/github-pages-deploy-action](https://github.com/jamesives/github-pages-deploy-action) from 4.6.4 to 4.6.8. - [Release notes](https://github.com/jamesives/github-pages-deploy-action/releases) - [Commits](https://github.com/jamesives/github-pages-deploy-action/compare/v4.6.4...v4.6.8) --- updated-dependencies: - dependency-name: JamesIves/github-pages-deploy-action dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/docusaurus-site.yml | 2 +- .github/workflows/haddock-site.yml | 4 ++-- .github/workflows/metatheory-site.yml | 4 ++-- .github/workflows/papers-and-specs.yml | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/docusaurus-site.yml b/.github/workflows/docusaurus-site.yml index f9016c6625f..979ecae4a36 100644 --- a/.github/workflows/docusaurus-site.yml +++ b/.github/workflows/docusaurus-site.yml @@ -29,7 +29,7 @@ jobs: - name: Deploy Site if: github.event_name == 'push' - uses: JamesIves/github-pages-deploy-action@v4.6.4 + uses: JamesIves/github-pages-deploy-action@v4.6.8 with: folder: doc/docusaurus/build target-folder: docs diff --git a/.github/workflows/haddock-site.yml b/.github/workflows/haddock-site.yml index 708a1281e48..64228f53ccb 100644 --- a/.github/workflows/haddock-site.yml +++ b/.github/workflows/haddock-site.yml @@ -71,7 +71,7 @@ jobs: nix develop --no-warn-dirty --accept-flake-config --command ./scripts/combined-haddock.sh _haddock all - name: Deploy Site - uses: JamesIves/github-pages-deploy-action@v4.6.4 + uses: JamesIves/github-pages-deploy-action@v4.6.8 with: folder: _haddock target-folder: haddock/${{ inputs.destination || github.ref_name }} @@ -79,7 +79,7 @@ jobs: - name: Deploy Site (latest) if: ${{ inputs.latest == true }} - uses: JamesIves/github-pages-deploy-action@v4.6.4 + uses: JamesIves/github-pages-deploy-action@v4.6.8 with: folder: _haddock target-folder: haddock/latest diff --git a/.github/workflows/metatheory-site.yml b/.github/workflows/metatheory-site.yml index e5d484cc013..84ef7e20c48 100644 --- a/.github/workflows/metatheory-site.yml +++ b/.github/workflows/metatheory-site.yml @@ -59,7 +59,7 @@ jobs: cp -RL result/* _metatheory - name: Deploy Site - uses: JamesIves/github-pages-deploy-action@v4.6.4 + uses: JamesIves/github-pages-deploy-action@v4.6.8 with: folder: _metatheory target-folder: metatheory/${{ inputs.destination || github.ref_name }} @@ -67,7 +67,7 @@ jobs: - name: Deploy Site (latest) if: ${{ inputs.latest == true }} - uses: JamesIves/github-pages-deploy-action@v4.6.4 + uses: JamesIves/github-pages-deploy-action@v4.6.8 with: folder: _metatheory target-folder: metatheory/latest diff --git a/.github/workflows/papers-and-specs.yml b/.github/workflows/papers-and-specs.yml index e29160eafa0..59708b2a5ec 100644 --- a/.github/workflows/papers-and-specs.yml +++ b/.github/workflows/papers-and-specs.yml @@ -40,7 +40,7 @@ jobs: done - name: Publish Papers - uses: JamesIves/github-pages-deploy-action@v4.6.4 + uses: JamesIves/github-pages-deploy-action@v4.6.8 with: folder: _resources target-folder: resources From 029467a5051511ea48e5bf15eaf3dc579b84bb2a Mon Sep 17 00:00:00 2001 From: Ziyang Liu Date: Fri, 11 Oct 2024 06:32:09 -0700 Subject: [PATCH 24/70] Expand "Overview of Languages Compiling to UPLC" (#6558) --- doc/docusaurus/docs/delve-deeper/languages.md | 20 +++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/doc/docusaurus/docs/delve-deeper/languages.md b/doc/docusaurus/docs/delve-deeper/languages.md index 3e0c2351649..cd317657998 100644 --- a/doc/docusaurus/docs/delve-deeper/languages.md +++ b/doc/docusaurus/docs/delve-deeper/languages.md @@ -24,12 +24,21 @@ A standalone DSL is a new language with its own syntax and semantics. By crafting a new language from scratch, you avoid inheriting the limitations and complexities of existing languages, allowing you to tailor-make it to be as simple, intuitive and elegant as possible to program for the specific domain it targets. On the other hand, standalone DSLs have some disadvantages. -First, designing and implementing them can be challenging. -Not only must the syntax and semantics be created from scratch, but you also need to build all necessary compiler components, tooling, and a library ecosystem from the ground up. -This can be a formidable task, as developing, testing, and maintaining compilers and tooling, along with establishing and maintaining a library ecosystem, require substantial efforts, particularly with the addition of new language features over time. +First, from the language developer’s perspective, designing and implementing them can be challenging. +Not only must the syntax and semantics be created from scratch, but you also need to build all necessary compiler components, tooling, documentation, and a library ecosystem from the ground up. -Second, users will need to adopt a new programming language and incorporate it into their existing tech stacks. +This can be a formidable task, requiring substantial efforts, particularly with the addition of new language features over time. +Creating adequate documentation, in particular, can be especially challenging for standalone DSLs, and is a challenge that is easy to overlook. +Given the limited amount of external learning resources, the official documentation often becomes the primary, if not sole, source of knowledge. +As a result, it needs to be thorough, detailed, and clearly written to provide a positive learning experience for users. + +Second, from the user's perspective, they will need to adopt a new programming language and incorporate it into their existing tech stacks. This can present a considerable challenge, as it involves a learning curve, increased cognitive load, and the necessity to introduce and manage additional tools. +Additional languages mean additional complexity. + +In general, it's highly advantageous for a software development team to minimize the number of languages they use, as this not only reduces complexity but strengthens the network effect of programming languages. +Learning a new DSL is harder than you might think - even a relatively simple one with a "fluent syntax", due to the scarcity of learning resources, and the potential irrelevance of previous experience. +Furthermore, the knowledge learned may not transfer well. ## Embedded DSLs @@ -50,6 +59,9 @@ Another disadvantage of eDSLs is that it is harder, compared to the other two ap This stems from the nature of eDSLs, which are libraries that construct and manipulate ASTs. Since they do not have direct access to the host language's ASTs, it can be challenging to retrieve information related to the source code, such as variable names, module names and code locations. +Lastly, eDSLs often cannot leverage the host language's existing library ecosystem. +Again, using an eDSL involves constructing and manipulating ASTs rather than writing regular programs, which means many existing libraries would be inapplicable. + The eDSLs described above fall under the category of "deep embedding". There's another category of eDSLs, called "shallow embedding", which, unlikely deep embedding, does not construct intermediate ASTs. Instead, shallow embedding involves using overloaded functions. From 69abbd94487585450047434575c08d3a164bb40f Mon Sep 17 00:00:00 2001 From: effectfully Date: Fri, 11 Oct 2024 15:32:59 +0200 Subject: [PATCH 25/70] [Meta] Add CIPs to 'TRIAGE.md' (#6557) --- doc/TRIAGE.md | 1 + 1 file changed, 1 insertion(+) diff --git a/doc/TRIAGE.md b/doc/TRIAGE.md index b339b749e49..d6d5291871e 100644 --- a/doc/TRIAGE.md +++ b/doc/TRIAGE.md @@ -7,6 +7,7 @@ This document elaborates on the triage process that we use to prioritize and res The triage person is responsible for monitoring the following places: - GitHub [issues](https://github.com/IntersectMBO/plutus/issues) and [PRs](https://github.com/IntersectMBO/plutus/pulls) +- Plutus-related [CIPs](https://github.com/cardano-foundation/CIPs/pulls?q=is%3Apr+is%3Aopen+label%3A%22Category%3A+Plutus%22) - the [#plutus](https://input-output-rnd.slack.com/archives/C21UF2WVC) Slack channel - the [#plutus-working-group](https://discord.com/channels/1136727663583698984/1239888614796820531) Discord channel From 1db243b49f5497ba0661dce6ee71ca16c248fdf9 Mon Sep 17 00:00:00 2001 From: Ziyang Liu Date: Fri, 11 Oct 2024 08:03:46 -0700 Subject: [PATCH 26/70] Explain Scott/Church/SOP/Data encoding in the user guide (#6560) --- doc/docusaurus/docs/delve-deeper/encoding.md | 169 +++++++++++++++++++ 1 file changed, 169 insertions(+) create mode 100644 doc/docusaurus/docs/delve-deeper/encoding.md diff --git a/doc/docusaurus/docs/delve-deeper/encoding.md b/doc/docusaurus/docs/delve-deeper/encoding.md new file mode 100644 index 00000000000..63515099f63 --- /dev/null +++ b/doc/docusaurus/docs/delve-deeper/encoding.md @@ -0,0 +1,169 @@ +--- +sidebar_position: 25 +--- + +# Encoding Data Types in UPLC + +Untyped Plutus Core (UPLC) is a language based on untyped lambda calculus. +The AST does not offer explicit support for encoding data types, but there are several alternative methods that can be used. +Different surface languages and compilers may adopt different encoding methods. + +## Scott Encoding + +Scott encoding ([Wikipedia](https://en.wikipedia.org/wiki/Mogensen%E2%80%93Scott_encoding)) is the original method we adopted for the Plutus Tx compiler, when targeting Plutus Core 1.0.0. +It can be done in untyped lambda calculus, and any language that extends untyped lambda calculus, including UPLC. + +As an example, consider the `These` type, a value of `These`, and a function that inspects a `These`: + +```haskell +data These a b + = This a + | That b + | These a b + +x :: These Integer BuiltinString +x = These 1 "hello" + +f :: These Integer BuiltinString -> Integer +f = \case + This a -> a + That b -> 42 + These a b -> a +``` + +In Scott encoding, `x` and `f` are encoded as + +``` +x = \this that these -> these 1 "hello" + +f = \x -> x (\a -> a) (\b -> 42) (\a b -> a) +``` + +To illustrate a recursive data type, consider a value of `[Integer]` and the `head` and `tail` functions: + + +```haskell +xs :: [Integer] +xs = [1, 2, 3] + +head :: [Integer] -> Integer +head xs = case xs of + y : ys -> y + [] -> 42 + +tail :: [Integer] -> [Integer] +tail xs = case xs of + y : ys -> ys + [] -> [] +``` + +These are encoded in Scott encoding as + +``` +xs = let c y ys = \cons nil -> cons y ys + n = \cons nil -> nil + in c 1 (c 2 (c 3 n)) + +head = \xs -> xs (\y ys -> y) 42 + +tail = let n = \cons nil -> nil + in \xs -> xs (\y ys -> ys) n +``` + +(There is no let-bindings in UPLC, but `let a = rhs in b` can be read as `(\a -> b) rhs`.) + +A related method of encoding data types is Church encoding ([Wikipedia](https://en.wikipedia.org/wiki/Church_encoding)). +It is identical to Scott encoding for non-recursive data types, but differs for recursive data types. +The Church encoding of `xs` and `head` is: + +``` +xs = \c n -> c 1 (c 2 (c 3 n)) + +head = \xs -> xs (\y ys -> y) 42 +``` + +However, `tail` is much more complex and less efficient with Church encoding compared to Scott encoding. +Intuitively, expressing `tail` on a Church-encoded list involves taking a term where `c` is applied a number of times, and producing a new term where `c` is applied one less time - not a trivial task. +This is also the case with many other operations on Church encoded values, which is the main reason Scott encoding is chosen over Church encoding in the Plutus Tx compiler. + +In Typed Plutus Core (TPLC), Scott encoding requires the ability to represent recursive types, hence the existence of isorecursive types in TPLC. +Church encoding, on the other hand, can be done in plain System F, a non-Turing-complete subset of TPLC. + +## Sums of Products + +Sums of products (SOP) is a more direct way of encoding data types in UPLC and TPLC. +It requires adding two new kinds of AST nodes: `Case` and `Constr`. +`Constr i [arg]` represents a value obtained by applying the `i`th constructor of a data type to arguments `[arg]`. +`Case scrut [handler]` represents pattern matching on `scrut` (which must evaluate to a `Constr` term), invoking the appropriate handler depending on the constructor index. + +In the `These` example above, `x` and `f` are encoded as + + +``` +x = constr 2 [1, "hello"] + +f = \x -> case x [(\a -> a), (\b -> 42), (\a b -> a)] +``` + +where 2 is the index of constructor `These`. + +In the list example, + +``` +x = constr 0 [1, constr 0 [2, constr 0 [3, constr 1 []]]] + +head = \xs -> case xs [(\y ys -> y), 42] + +tail = \xs -> case xs [(\y ys -> ys), constr 1 []] +``` + +SOP is cheaper and results in smaller scripts compared to Scott encoding, since it involves fewer lambdas and applications. +This is true both in terms of constant factors and asymptotically. +For example, pattern matching on a data type with _k_ constructors costs _O(k)_ since it involves _k_ applications, whereas it incurs constant cost with SOP. + +SOP is available as of Plutus Core 1.1.0, and is what the Plutus Tx compiler uses when targeting Plutus Core 1.1.0. +At the moment, Plutus Core 1.1.0 is only supported in Plutus V3 and cannot be used in V1 or V2. + +## Data Objects + +[Data](https://plutus.cardano.intersectmbo.org/haddock/latest/plutus-core/PlutusCore-Data.html#t:Data) is a builtin type in Untyped Plutus Core. +It is intended primarily for data interchange, specifically for encoding datums, redeemers, and script contexts. +Data makes it simpler to create datums and redeemers using various languages and tools, or even manually, which is much easier than constructing UPLC terms. + +Data objects can be used to encode data types (though not as expressive as Scott encoding or SOP, since Data objects cannot contain functions). +However, as with other data serialization/interchange formats (e.g., JSON or Protobuf-generated types), writing business logic directly using Data objects is inefficient and cumbersome. +Instead, the standard practice is to validate the incoming data, turn it into proper, efficient domain types, operate on those domain types, and if necessary, convert them back to the serialization/interchange format at the end. + +For UPLC, the proper domain type is Scott or SOP terms. +Thus a standard way of writing Plutus Tx is to immediately validate the incoming Data objects and turning them into Scott or SOP terms via `unsafeFromBuiltinData` (see [Plutus Ledger Language Version](../working-with-scripts/ledger-language-version.md)), before working with them. +Then, after all computation is done, convert the output datums back into Data objects if needed. + +However, when it comes to Plutus scripts, working directly with Data can sometimes be beneficial, especially for scripts with simpler logic. +This is because script size and execution units (CPU and memory) are much scarcer resources for Plutus scripts compared to regular programs. +Since script arguments (datums, redeemers, script contexts) and output datums are encoded as Data objects, the overhead of converting the arguments and output to/from Scott/SOP terms can sometimes outweigh the benefits, especially for scripts with simple business logic. +In extreme scenarios where an argument isn’t even used, the validation and conversion process becomes entirely unnecessary. + +Another benefits of Data objects is efficient equality checks. +While working with Data objects is generally slower than using Scott/SOP terms, equality checks can be faster due to the `equalsData` builtin function. + +The optimal encoding method may vary for different types within the same script. +Generally speaking, the more a data type is used, the more advantageous it is to use Scott or SOP encoding, compared to manipulating Data objects directly, as the efficiency of Scott/SOP can justify the conversion overhead between Data and Scott/SOP. + +When writing Plutus Tx, it is possible to have your data types encoded using Data objects, rather than Scott/SOP, by utilizing the `asData` mechanism. +For more details, see [Optimizing Scripts with asData](./optimizing-scripts-with-asData.md). + +As for script context, we are actively working on a Data-encoded script context API, though it is still in development. In the absence of that, you can also interact with Data objects directly using builtin functions that operate on Data. +For example, the following function extracts the `ScriptInfo` field from Plutus V3's `ScriptContext`, which is its third field: + + +```haskell +import PlutusTx.Builtins.Internal qualified as BI + +getScriptInfo :: BuiltinData -> BuiltinData +getScriptInfo scriptContext = + let ds = BI.snd (BI.unsafeDataAsConstr scriptContext) + in -- extract the third element of the list + BI.head (BI.tail (BI.tail ds)) +``` + +This is of course much less type safe compared to working with regular data types, so exercise caution. From 6e469a346baa2a9023fd3f53beb317e2ee03f28f Mon Sep 17 00:00:00 2001 From: zeme-wana <15709674+zeme-wana@users.noreply.github.com> Date: Fri, 11 Oct 2024 22:45:24 +0200 Subject: [PATCH 27/70] Fix bug in haddock-site.yml (#6559) --- .github/workflows/haddock-site.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/haddock-site.yml b/.github/workflows/haddock-site.yml index 64228f53ccb..46e4dd61eb1 100644 --- a/.github/workflows/haddock-site.yml +++ b/.github/workflows/haddock-site.yml @@ -63,8 +63,8 @@ jobs: - name: Checkout Haddock Script run: | - git fetch origin ${{ inputs.script_ref }} - git checkout origin/${{ inputs.script_ref }} ./scripts/combined-haddock.sh + git fetch origin ${{ inputs.script_ref || github.ref_name }} + git checkout origin/${{ inputs.script_ref || github.ref_name }} ./scripts/combined-haddock.sh - name: Build Site run: | From bfd95cbf065f600b5e086889fc3e59d2a2a43db6 Mon Sep 17 00:00:00 2001 From: Ziyang Liu Date: Mon, 14 Oct 2024 06:24:29 -0700 Subject: [PATCH 28/70] Polish the profiling guide (#6566) --- doc/docusaurus/docs/delve-deeper/encoding.md | 2 +- .../optimizing-scripts-with-asData.md | 2 +- .../other-optimization-techniques.md | 4 +- .../profiling-budget-usage.md | 47 ++++++++++--------- 4 files changed, 28 insertions(+), 27 deletions(-) rename doc/docusaurus/docs/{delve-deeper => working-with-scripts}/optimizing-scripts-with-asData.md (99%) rename doc/docusaurus/docs/{delve-deeper => working-with-scripts}/other-optimization-techniques.md (98%) diff --git a/doc/docusaurus/docs/delve-deeper/encoding.md b/doc/docusaurus/docs/delve-deeper/encoding.md index 63515099f63..c801b09d17d 100644 --- a/doc/docusaurus/docs/delve-deeper/encoding.md +++ b/doc/docusaurus/docs/delve-deeper/encoding.md @@ -150,7 +150,7 @@ The optimal encoding method may vary for different types within the same script. Generally speaking, the more a data type is used, the more advantageous it is to use Scott or SOP encoding, compared to manipulating Data objects directly, as the efficiency of Scott/SOP can justify the conversion overhead between Data and Scott/SOP. When writing Plutus Tx, it is possible to have your data types encoded using Data objects, rather than Scott/SOP, by utilizing the `asData` mechanism. -For more details, see [Optimizing Scripts with asData](./optimizing-scripts-with-asData.md). +For more details, see [Optimizing Scripts with asData](../working-with-scripts/optimizing-scripts-with-asData.md). As for script context, we are actively working on a Data-encoded script context API, though it is still in development. In the absence of that, you can also interact with Data objects directly using builtin functions that operate on Data. For example, the following function extracts the `ScriptInfo` field from Plutus V3's `ScriptContext`, which is its third field: diff --git a/doc/docusaurus/docs/delve-deeper/optimizing-scripts-with-asData.md b/doc/docusaurus/docs/working-with-scripts/optimizing-scripts-with-asData.md similarity index 99% rename from doc/docusaurus/docs/delve-deeper/optimizing-scripts-with-asData.md rename to doc/docusaurus/docs/working-with-scripts/optimizing-scripts-with-asData.md index 261565bf8ac..092096e2bf4 100644 --- a/doc/docusaurus/docs/delve-deeper/optimizing-scripts-with-asData.md +++ b/doc/docusaurus/docs/working-with-scripts/optimizing-scripts-with-asData.md @@ -1,5 +1,5 @@ --- -sidebar_position: 10 +sidebar_position: 20 --- # Optimizing Scripts with `asData` diff --git a/doc/docusaurus/docs/delve-deeper/other-optimization-techniques.md b/doc/docusaurus/docs/working-with-scripts/other-optimization-techniques.md similarity index 98% rename from doc/docusaurus/docs/delve-deeper/other-optimization-techniques.md rename to doc/docusaurus/docs/working-with-scripts/other-optimization-techniques.md index 3e1bb2fede7..14eb4beb975 100644 --- a/doc/docusaurus/docs/delve-deeper/other-optimization-techniques.md +++ b/doc/docusaurus/docs/working-with-scripts/other-optimization-techniques.md @@ -1,5 +1,5 @@ --- -sidebar_position: 15 +sidebar_position: 25 --- # Other Optimization Techniques @@ -20,7 +20,7 @@ Certain optimizations, such as inlining constants, can occasionally have negativ It is worth disabling them to see how it affects your script. You can do this using the `conservative-optimisation` plugin flag, which implies several other flags like `no-inline-constants`. Alternatively, try turning on the flags implied by `conservative-optimisation` individually. -See [Plutus Tx Compiler Options](./plutus-tx-compiler-options.md). +See [Plutus Tx Compiler Options](../delve-deeper/plutus-tx-compiler-options.md). ## Using the `Strict` Extension diff --git a/doc/docusaurus/docs/working-with-scripts/profiling-budget-usage.md b/doc/docusaurus/docs/working-with-scripts/profiling-budget-usage.md index 529b98a4ede..87f207c7a64 100644 --- a/doc/docusaurus/docs/working-with-scripts/profiling-budget-usage.md +++ b/doc/docusaurus/docs/working-with-scripts/profiling-budget-usage.md @@ -1,55 +1,56 @@ --- -sidebar_position: 20 +sidebar_position: 30 --- -# Profiling the budget usage of Plutus scripts +# Profiling Script Budget Usage -Figuring out why your script takes more CPU or memory units than you expect can be tricky. -You can find out more detail about how these resources are being used in your script by *profiling* it, and viewing the results in a flamegraph. +Figuring out why your script takes more CPU or memory units than you expect can be tricky. +You can find out more detail about how these resources are being used in your script by profiling it, and viewing the results in a flamegraph. ## Compiling a script for profiling Profiling requires compiling your script differently so that it will emit information that we can use to analyse its performance. > :pushpin: **NOTE** -> -> As with profiling in other languages, this additional instrumentation can affect how your program is optimized, so its behaviour may not be identical to the non-profiled version. +> +> As with profiling in other languages, this additional instrumentation can affect how your program is optimized, so its behavior may not be identical to the non-profiled version. -To do this, you need to give a couple of options to the Plutus Tx plugin in the source file where your script is compiled. +To do this, use the `profile-all` and `conservative-optimisation` plugin flags: ``` haskell {-# OPTIONS_GHC -fplugin-opt PlutusTx.Plugin:profile-all #-} {-# OPTIONS_GHC -fplugin-opt PlutusTx.Plugin:conservative-optimisation #-} ``` -This instructs the plugin to insert profiling instrumentation for all functions. -In the future there may be the option to profile a more targeted set of functions. -It also makes sure that any inserted profiling instrumentation code would not be optimized away during PlutusTx compilation. +This instructs the plugin to insert profiling instrumentation for all functions. +In the future there may be the option to profile a more targeted set of functions. +The `conservative-optimisation` flag makes sure that any inserted profiling instrumentation code would not be optimized away during PlutusTx compilation. -## Acquiring an executable script +## Running the script -Profiling works by seeing how the budget is used as the script runs. -It therefore requires an executable script, which means that you need not only the validator script but all the arguments it receives. -You can get this fully-applied script from the emulator or from the Cardano node. +You can run a script using the `uplc` executable, which can be downloaded from each [Plutus release](https://github.com/IntersectMBO/plutus/releases). +If no pre-built executable is available for your architecture, you can build it from source using `cabal build uplc`. -## Running the script +Keep in mind that the budget is consumed as the script runs, so you need both the script and all its arguments, and create a fully applied script by applying the script to all arguments. -You can run the script with the `uplc` executable. +Given a script and its arguments, a fully applied script can be obtained via -> :pushpin: **NOTE** -> -> All the executables referred to here can be built from the `plutus` repository using `cabal build`. +```bash +uplc apply script arg1 arg2 ... argn +``` -``` bash -uplc evaluate -i myscript.flat --if flat --trace-mode LogsWithBudgets -o logs +Once you have the fully applied script, you can evaluate it using the `uplc` executable, with a command like the one below: + +```bash +uplc evaluate -i fully-applied-script.flat --if flat --trace-mode LogsWithBudgets -o logs ``` -This runs the script using the trace mode that emits budget information, and puts the resulting logs in a file. +This runs the script using the trace mode that emits budget information, and puts the resulting logs in a file. This will be a CSV file with three columns: a message indicating which function we are entering or exiting; the cumulative CPU used at that time; and the cumulative memory used at that time. ## Analyzing the results -We can then convert the logs into a flamegraph using the standard `flamegraph.pl` tool. +We can then convert the logs into a flamegraph using the standard `flamegraph.pl` tool. The `traceToStacks` executable turns the logs into a format that `flamegraph.pl` understands ``` bash From b28fc5b709f1cdce0b97f4bdf671209667a89ce7 Mon Sep 17 00:00:00 2001 From: Ziyang Liu Date: Mon, 14 Oct 2024 07:58:14 -0700 Subject: [PATCH 29/70] Add a few references in the further resources page (#6567) --- .../docs/delve-deeper/further-resources.md | 25 ++++++++++++------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/doc/docusaurus/docs/delve-deeper/further-resources.md b/doc/docusaurus/docs/delve-deeper/further-resources.md index 31bbc78c835..5a156e80976 100644 --- a/doc/docusaurus/docs/delve-deeper/further-resources.md +++ b/doc/docusaurus/docs/delve-deeper/further-resources.md @@ -2,20 +2,27 @@ sidebar_position: 40 --- -# Further resources +# Further Resources -1. Manuel M. T. Chakravarty, James Chapman, Kenneth MacKenzie, Orestis Melkonian, Jann Müller, Michael Peyton Jones, Polina Vinogradova, Philip Wadler, and Joachim Zahnentferner. UTXO$_\mathrm ma$: UTXO with multi-asset support. In *International Symposium on Leveraging Applications of Formal Methods.* Springer, 2020. Also available at [https://github.com/IntersectMBO/plutus](https://github.com/IntersectMBO/plutus). +1. [Formal Specification of +the Plutus Core Language](https://plutus.cardano.intersectmbo.org/resources/plutus-core-spec.pdf). -2. Manuel M. T. Chakravarty, James Chapman, Kenneth MacKenzie, Orestis Melkonian, Michael Peyton Jones, and Philip Wadler. The Extended UTXO model. In *Proceedings of Trusted Smart Contracts (WTSC)*, volume 12063 of LNCS. Springer, 2020. Also available at [https://github.com/IntersectMBO/plutus](https://github.com/IntersectMBO/plutus). +2. Manuel M. T. Chakravarty, James Chapman, Kenneth MacKenzie, Orestis Melkonian, Jann Müller, Michael Peyton Jones, Polina Vinogradova, Philip Wadler, and Joachim Zahnentferner. UTXOma: [UTXOma:UTXO with Multi-Asset Support](https://iohk.io/en/research/library/papers/utxomautxo-with-multi-asset-support/). In *International Symposium on Leveraging Applications of Formal Methods.* Springer, 2020. -3. Manuel M. T. Chakravarty, Sandro Coretti, Matthias Fitzi, Peter Gazi, Philipp Kant, Aggelos Kiayias, and Alexander Russell. [Hydra: Fast Isomorphic State Channels](https://eprint.iacr.org/2020/299). Technical Report, Cryptology ePrint Archive, Report 2020/299, 2020. +3. Manuel M. T. Chakravarty, James Chapman, Kenneth MacKenzie, Orestis Melkonian, Michael Peyton Jones, and Philip Wadler. [The Extended UTXO Model](https://iohk.io/en/research/library/papers/the-extended-utxo-model/). In *Proceedings of Trusted Smart Contracts (WTSC)*, volume 12063 of LNCS. Springer, 2020. -4. Manuel MT Chakravarty, James Chapman, Kenneth MacKenzie, Orestis Melkonian, Jann Müller, Michael Peyton Jones, Polina Vinogradova, and Philip Wadler. Native custom tokens in the extended UTXO model. In *International Symposium on Leveraging Applications of Formal Methods*, 89–111. Springer, 2020. Also available at [https://github.com/IntersectMBO/plutus](https://github.com/IntersectMBO/plutus). +4. Manuel M. T. Chakravarty, Sandro Coretti, Matthias Fitzi, Peter Gazi, Philipp Kant, Aggelos Kiayias, and Alexander Russell. [Hydra: Fast Isomorphic State Channels](https://eprint.iacr.org/2020/299). Technical Report, Cryptology ePrint Archive, Report 2020/299, 2020. -5. Manuel MT Chakravarty, Simon Thompson, and Philip Wadler. [Functional smart contracts on cardano](https://www.youtube.com/watch?v=MpWeg6Fg0t8). +5. Manuel MT Chakravarty, James Chapman, Kenneth MacKenzie, Orestis Melkonian, Jann Müller, Michael Peyton Jones, Polina Vinogradova, and Philip Wadler. [Native Custom Tokens in the Extended UTXO Model](https://iohk.io/en/research/library/papers/native-custom-tokens-in-the-extended-utxo-model/). In *International Symposium on Leveraging Applications of Formal Methods*, 89–111. Springer, 2020. -6. IOHK. Formal specification of the Plutus Core language. Technical Report, IOHK, 2019. Available at [https://github.com/IntersectMBO/plutus](https://github.com/IntersectMBO/plutus). +6. James Chapman, Roman Kireev, Chad Nester, and Philip Wadler. [System F in Agda, for fun and profit](https://iohk.io/en/research/library/papers/system-f-in-agda-for-fun-and-profit/). In *Mathematics of Program Construction*, 2019. -7. IOHK. Plutus platform technical report. Technical Report, IOHK, 2019. Available at [https://github.com/IntersectMBO/plutus](https://github.com/IntersectMBO/plutus). +7. Michael Peyton Jones, Vasilis Gkoumas, Roman Kireev, Kenneth MacKenzie, Chad Nester, and Philip Wadler. [Unraveling recursion: compiling an IR with recursion to System F](https://iohk.io/en/research/library/papers/unraveling-recursion-compiling-an-ir-with-recursion-to-system-f/). In *Mathematics of Program Construction*, 2019. -8. Michael Peyton Jones and Jann Müller. [The plutus platform](https://www.youtube.com/watch?v=usMPt8KpBeI). +8. Jacco O.G. Krijnen, Manuel M.T. Chakravarty, Gabriele Keller, and Wouter Swierstra. [Translation certification for smart contracts](https://webspace.science.uu.nl/~swier004/publications/2024-scp.pdf). In *Science of Computer Programming*, 2024. + +9. Polina Vinogradova and Orestis Melkonian. [Message-passing in the Extended UTxO Ledger Model](https://iohk.io/en/research/library/papers/message-passing-in-the-extended-utxo-ledger-model/). In *8th Workshop on Trusted Smart Contracts (WTSC)*, 2024. + +10. Polina Vinogradova, Orestis Melkonian, Philip Wadler, Manuel Chakravarty, Jacco Krijnen Michael Peyton Jones, James Chapman, and Tudor Ferariu. [Structured Contracts in the EUTxO Ledger Model](https://iohk.io/en/research/library/papers/structured-contracts-in-the-eutxo-ledger-model/). In *5th International Workshop on Formal Methods for Blockchains (FMBC)*, 2024. + +11. Manuel MT Chakravarty, Simon Thompson, and Philip Wadler. [Functional smart contracts on cardano](https://www.youtube.com/watch?v=MpWeg6Fg0t8). From 7a3b10ae8ead556f7d4cf0c918399723d4d66e3b Mon Sep 17 00:00:00 2001 From: Ziyang Liu Date: Mon, 14 Oct 2024 08:33:10 -0700 Subject: [PATCH 30/70] Update the Ledgers page in the user guide (#6565) --- .../docs/essential-concepts/eutxo.md | 51 +++++++++ .../docs/essential-concepts/ledger.md | 107 ------------------ 2 files changed, 51 insertions(+), 107 deletions(-) create mode 100644 doc/docusaurus/docs/essential-concepts/eutxo.md delete mode 100644 doc/docusaurus/docs/essential-concepts/ledger.md diff --git a/doc/docusaurus/docs/essential-concepts/eutxo.md b/doc/docusaurus/docs/essential-concepts/eutxo.md new file mode 100644 index 00000000000..9fb03a4c7eb --- /dev/null +++ b/doc/docusaurus/docs/essential-concepts/eutxo.md @@ -0,0 +1,51 @@ +--- +sidebar_position: 20 +--- + +# Scripts and the Extended UTXO Model + +## Account-based and UTXO-based Ledgers + +There are two dominant paradigms for implementing distributed ledgers that manage and track the ownership of assets. +The first, account-based ledgers, model the system as a list of mutable accounts, as in + +| Owner | Balance | +|-------|---------| +| Alice | 43 USD | +| Bob | 12 USD | + +A transaction can decrease the balance of the sender, and increase the balance of the recipient. + +Account-based ledgers, such as Ethereum, are relatively simple to implement, but they have disadvantages due to the fact that the state of an account is global: all transactions that do anything with an account must touch this one value. +This can lead to issues with throughput, as well as ordering issues (if Alice sends 5 USD to Bob, and Bob sends 5 USD to Carol, this may succeed or fail depending on the order in which the transactions are processed). + +The second paradigm is UTXO-based ledgers, such as Bitcoin, which represent the state of the ledger as a set of unspent +transaction outputs (UTXOs). +A UTXO is like an envelope with some money in it: it is addressed to a particular party, and it contains some assets. +A transaction spends some number of UTXOs, and creates new ones. +A UTXO is immutable and can only be spent once. + +So a transaction that sends 5 USD from Alice to Bob would do so by spending some number of already existing UTXOs belonging to Alice, and creating a new UTXO with 5 USD belonging to Bob. + +UTXO-based ledgers are more complicated, but avoid some of the issues of account-based ledgers, since any transaction deals only with the inputs that it spends. +Cardano is a UTXO-based ledger. + +## The Extended UTXO Model + +In the classic UTXO model, each UTXO's address includes a public key (strictly, the hash of a public key), and in order to spend this output, the spending transaction must be signed by the corresponding private key. +We call this UTXO a public key UTXO, and its address a public key address. + +Cardano uses an extended model called the Extended UTXO Model (EUTXO). +In the EUTXO model, a UTXO's address may include the hash of a script. +We call this UTXO a script UTXO, and its address a script address. + +Spending a script UTXO does not require a signature, but instead, requires the script whose hash matches the UTXO address to be included either directly in the transaction, or in a reference input referenced by the transaction. +The script runs to determine if the transaction is authorized to spend the UTXO. +Scripts can also validate other actions transactions perform, such as minting and burning tokens, withdrawing staking rewards, voting, and more. +For further details, see [Script Purposes](../working-with-scripts/script-purposes.md). + +A simple script would be one that checks whether the spending transaction is signed by a particular public key. +This would mirror the functionality of simple public key outputs. +However, scripts allow us to implement a wide range of useful logic on the blockchain. + +To learn more about writing scripts, see [Using Plutus Tx](../category/using-plutus-tx) and [Working with scripts](../category/working-with-scripts). diff --git a/doc/docusaurus/docs/essential-concepts/ledger.md b/doc/docusaurus/docs/essential-concepts/ledger.md deleted file mode 100644 index 29d0dab7f8d..00000000000 --- a/doc/docusaurus/docs/essential-concepts/ledger.md +++ /dev/null @@ -1,107 +0,0 @@ ---- -sidebar_position: 20 ---- - -# Ledgers - -The Plutus Platform is designed to work with distributed ledgers, which we'll just call "ledgers" from now on. -Ledgers are typically *implemented* with a blockchain, such as Cardano. -However, much of the time when we are talking about ledgers, we don't care about the underlying -implementation, and so we will just talk about the ledger itself. - -> :pushpin: **NOTE** -> -> This is not always true: applications do need to care about details of how the underlying blockchain works, because that affects behaviour such as settlement time and rollback policies. -> As much as possible, the Plutus Application Framework tries to shield developers from this complexity, but it is not always possible. - -In its simplest form, a ledger is a system that tracks who owns what. - -For example: - -| Owner | Balance | -|-------|---------| -| Alice | 43 USD | -| Bob | 12 USD | - -Ledgers are typically transformed by performing a *transaction* that transfers some assets from one party to another. -In order to be *valid*, a transaction will have to pass some checks, such as demonstrating that the transfer is authorized by the owner of the funds. -After applying a transaction (say, Alice sends Bob 5 USD), we have a new state of the ledger. - -| Owner | Balance | -|-------|---------| -| Alice | 38 USD | -| Bob | 17 USD | - -## Account-based and UTXO-based ledgers - -There are two dominant paradigms for how to *represent* such a system. -The first, account-based ledgers, model the system exactly as in our example above. -They keep a list of accounts, and for each account, a balance. -A transaction simply decreases the balance of the sender, and increases the balance of the recipient. - -Account-based ledgers (such as Ethereum) are very simple to implement, but they have difficulties due to the fact that the state of an account is *global*: all transactions that do anything with an account must touch this one number. -This can lead to issues with throughput, as well as ordering issues (if Alice sends 5 USD to Bob, and Bob sends 5 USD to Carol, this may succeed or fail depending on the order in which the transactions are processed). - -The second paradigm is UTXO-based ledgers. -UTXO-based ledgers (such as Bitcoin) represent the state of the ledger as a set of "unspent -transaction outputs" (UTXOs). -A UTXO is like an envelope with some money in it: it is "addressed" to a particular party, and it contains some funds. -A transaction *spends* some number of UTXOs, and creates some more. - -So a transaction that sends 5 USD from Alice to Bob would do so by spending some number of already-existing UTXOs belonging to Alice, and creating a new UTXO with 5 USD belonging to Bob. - -UTXO-based ledgers are more complicated, but avoid some of the issues of account-based ledgers, since any transaction deals only with the inputs that it spends. -Cardano is a UTXO-based ledger, and we heavily rely on this. -For example, Hydra, Cardano's scalability solution, uses the fact that independent parts of the transaction graph can be processed in parallel to improve throughput. - -## Scripts and the Extended UTXO Model - -UTXO-based ledgers typically start out with a very simple model of "ownership" of UTXOs. -An output will have a public key (strictly, the hash of a public key) attached to it, and in order to spend this output, the spending transaction must be signed by the corresponding private key. -We call this a "pay-to-pubkey" output. - -Cardano uses an extended model called the [Extended UTXO Model](../glossary.md#extended-utxo-model-eutxo) (EUTXO). -In the EUTXO model, an output can be locked by (the hash of) a *script*. -We call this a "pay-to-script" output. -A script is a *program* that decides whether or not the transaction which spends the output is -authorized to do so. -Such a script is called a validator script, because it validates whether the spending is allowed. - -A simple validator script would be one that checked whether the spending transaction was signed by a particular key—this would exactly replicate the behaviour of simple pay-to-pubkey outputs. -However, with a bit of careful extension, we can use scripts to let us express a large amount of useful logic on the chain. - -## Three arguments passed to validator scripts - -With the EUTXO model, validator scripts are passed three arguments: - -1. **Datum**: a piece of data attached to the *output* that the script is locking (strictly, again, just the hash is present). This is typically used to carry state. -2. **Redeemer**: a piece of data attached to the *input* that is doing the spending. This is typically used to provide an input to the script from the spender. -3. **Context**: a piece of data which represents information about the transaction doing the spending. This is used to make assertions about the way the output is being sent (such as "Bob signed it"). - -As an example, let's see how we could implement an atomic swap. - -- The datum contains the keys of the two parties in the swap, and a description of what they are swapping. -- The redeemer is unused. -- The context contains a representation of the transaction. - -### Logic of the validator script - -The logic of the validator script, then, is as follows: -- Does the transaction make a payment from the second party to the first party, containing the value that they are supposed to send? -- If so, then they may spend this output and send it where they want (or we could insist that they send it to their key, but we might as well let them do what they like with it). - -## Different kinds of scripts - -The Cardano ledger currently has a few different kinds of validator scripts: - -- The "simple" script language (introduced in the Allegra hard fork), which allows basic checks such as time locks -- Various ledger language versions (see [Different Notions of Version](versions.md)) - -## Further reading - -See [The EUTXO Handbook, A deep dive into Cardano's accounting model](https://www.essentialcardano.io/article/the-eutxo-handbook). - -For more help on how to actually implement interesting logic using the EUTXO model and scripts, see: - -- [Using Plutus Tx](../category/using-plutus-tx) -- [Working with scripts](../category/working-with-scripts) From 9501fbaa04694068e223b571ed3933070ac72a96 Mon Sep 17 00:00:00 2001 From: zeme-wana <15709674+zeme-wana@users.noreply.github.com> Date: Tue, 15 Oct 2024 10:18:07 +0200 Subject: [PATCH 31/70] Add new ignore url to check-broken-links.sh (#6570) --- scripts/check-broken-links.sh | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/scripts/check-broken-links.sh b/scripts/check-broken-links.sh index 53b5e4a36a6..af03c7e7c67 100755 --- a/scripts/check-broken-links.sh +++ b/scripts/check-broken-links.sh @@ -7,14 +7,14 @@ TARGETS=( # For some reason linkchecker fails to check these URLs though they are valid. # It's plausible that these domains are blocking the linkchecker user agent, or -# that we are running into rate-limiting issues. +# that we are running into rate-limiting issues, or that linkchecker is +# not following redirects properly. IGNORE_URLS=( - https://pvp.haskell.org https://www.haskell.org/cabal + https://pvp.haskell.org + https://github.com/cardano-foundation/CIPs/pulls\?q\=is%3Apr+is%3Aopen+label%3A%22Category%3A+Plutus%22 ) -FAILED=0 - check_links() { linkchecker --no-warnings --recursion-level 0 --output failures --check-extern --stdin } @@ -26,8 +26,8 @@ grep_links() { } valid_links() { - local all_links="$(grep_links | sort | uniq | tr ' ' '\n')" - local ignore_links="$(echo "${IGNORE_URLS[@]}" | sort | uniq | tr ' ' '\n')" + local all_links="$(grep_links | tr ' ' '\n' | sort | uniq)" + local ignore_links="$(echo "${IGNORE_URLS[@]}" | tr ' ' '\n' | sort | uniq)" comm -3 <(echo "$all_links") <(echo "$ignore_links") } From 655299d1c2c05a54692dffbcd5420df72d963831 Mon Sep 17 00:00:00 2001 From: zeme-wana <15709674+zeme-wana@users.noreply.github.com> Date: Tue, 15 Oct 2024 11:23:12 +0200 Subject: [PATCH 32/70] Fix positioning of select element (#6568) --- scripts/combined-haddock.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/combined-haddock.sh b/scripts/combined-haddock.sh index b4eda2ca9be..46b2128fc69 100755 --- a/scripts/combined-haddock.sh +++ b/scripts/combined-haddock.sh @@ -75,7 +75,7 @@ PLUTUS_VERSION="$(find ${BUILD_CONTENTS}/plutus-core-* -printf '%f\n' -quit | se GIT_REV="$(git rev-parse HEAD)" -GIT_REV_SHORT="$(git rev-parse --short HEAD)" +GIT_REV_SHORT="$(git rev-parse --short HEAD | cut -c 1-7)" # Here we merge each package's internal libraries into a single folder, for example: @@ -273,7 +273,7 @@ build-version-select-html() { echo "$html" } -SELECT_ELEM_POSITION_IN_INDEX_HTML=1465 +SELECT_ELEM_POSITION_IN_INDEX_HTML=1463 inject-text-at-char "$OUTPUT_DIR/index.html" $SELECT_ELEM_POSITION_IN_INDEX_HTML "$(build-version-select-html)" From 7f6dfd61490a9e2b6ba49d08a70024f75be0ff28 Mon Sep 17 00:00:00 2001 From: zeme-wana <15709674+zeme-wana@users.noreply.github.com> Date: Tue, 15 Oct 2024 12:05:30 +0200 Subject: [PATCH 33/70] Bring back workflow_run to slack-message-broker.yml #6572 --- .github/workflows/slack-message-broker.yml | 83 +++++++++++++++++----- 1 file changed, 67 insertions(+), 16 deletions(-) diff --git a/.github/workflows/slack-message-broker.yml b/.github/workflows/slack-message-broker.yml index fbc62558f1e..970a5b8e577 100644 --- a/.github/workflows/slack-message-broker.yml +++ b/.github/workflows/slack-message-broker.yml @@ -4,7 +4,20 @@ name: "📮 Slack Message Broker" on: - status + check_run: + types: [completed] + workflow_run: + workflows: + - "🔗 Broken Links" + - "🗽 Cardano Constitution Tests" + - "💰 Cost Model Benchmark" + - "🦕 Docusaurus Site" + - "📜 Haddock Site" + - "🩺 Longitudinal Benchmark" + - "🔮 Metatheory Site" + - "🌘 Nightly Testsuite" + - "📝 Papers & Specs" + - "🏛️ PlutusTx Template" jobs: Send: @@ -17,15 +30,9 @@ jobs: script: | console.log(${{ toJson(github.event) }}); - const state = github.event.state; - const statusContext = github.event.context; - const contextDescription = github.event.description; - const targetUrl = github.event.target_url - const commitUrl = github.event.commit.html_url; - const commitSha = github.event.commit.sha.slice(0, 9); - const senderLogin = github.event.sender.login; function getSlackMemberToBeNotified() { + const senderLogin = github.event.sender.login; const slackMemberIds = { "zeme-wana": "U03HGDNDRKR", "effecfully": "UBH8K0ZU2", @@ -43,16 +50,60 @@ jobs: } } - let message; - let shouldSendMessage; - if (["failure", "error"].includes(state)) { - message = `🔴 ${getSlackMemberToBeNotified()} your commit <${commitUrl}|\`${commitSha}\`> failed <${targetUrl}|${statusContext}>.` + let message = ""; + let shouldSendMessage = false; + let slackMember = getSlackMemberToBeNotified(); + + + function handleWorkflowRunEvent() { + const name = "${{ github.event.workflow_run.name }}"; + const url = "${{ github.event.workflow_run.html_url }}"; + const status = "${{ github.event.workflow_run.status }}"; + const conclusion = "${{ github.event.workflow_run.conclusion }}"; + const failureConclusions = [ "failure", "null", "cancelled", "action_required", "neutral", "timed_out" ]; + + if (conclusion == "") { + message = `${name} \`${status}\` ⏳ <${url}|View Logs> ${slackMember}`; + } else if (conclusion == "success") { + message = `${name} \`${conclusion}\` ✅ <${url}|View Logs> ${slackMember}`; + } else if (conclusion == "skipped") { + message = `${name} \`${conclusion}\` ⏩ <${url}|View Logs> ${slackMember}`; + } else if (failureConclusions.includes(conclusion)) { + message = `${name} \`${conclusion}\` ❌ <${url}|View Logs> ${slackMember}`; + shouldSendMessage = true; + } else { + message = `${name} \`${conclusion}\` ⁉️ <${url}|View Logs> Unknown Conclusion @channel`; + shouldSendMessage = true; + } + } + + + function handleCheckRunEvent() { + const name = "${{ github.event.check_run.name }}"; + const status = "${{ github.event.check_run.status }}"; + const conclusion = "${{ github.event.check_run.conclusion }}"; + const url = "${{ github.event.check_run.html_url }}"; + + if (conclusion == "success") { + message = `${name} \`${conclusion}\` ✅ <${url}|View Logs> ${slackMember}`; + } else if (conclusion == "failure") { + message = `${name} \`${conclusion}\` ❌ <${url}|View Logs> ${slackMember}`; + shouldSendMessage = true; + } else { + message = `${name} \`${conclusion}\` ⁉️ <${url}|View Logs> Unknown Conclusion @channel`; + shouldSendMessage = true; + } + } + + + if ("${{ github.event_name }}" == "workflow_run") { + handleWorkflowRunEvent(); + } else if ("${{ github.event_name }}" == "check_run") { + handleCheckRunEvent(); + } else { + message = `Unknown event: ${{ github.event_name }}`; shouldSendMessage = true; - } - else { - message = `🟢 ${getSlackMemberToBeNotified()} your commit <${commitUrl}|\`${commitSha}\`> passed <${targetUrl}|${statusContext}>.` - shouldSendMessage = false; } console.log(`message: ${message}`); From 98aba4c202ff80173da2ca2cc3304082aba38da9 Mon Sep 17 00:00:00 2001 From: zeme-wana <15709674+zeme-wana@users.noreply.github.com> Date: Tue, 15 Oct 2024 13:08:47 +0200 Subject: [PATCH 34/70] Fix sender object getter in slack-message-broker.yml (#6573) --- .github/workflows/slack-message-broker.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/slack-message-broker.yml b/.github/workflows/slack-message-broker.yml index 970a5b8e577..e7ca30c2e16 100644 --- a/.github/workflows/slack-message-broker.yml +++ b/.github/workflows/slack-message-broker.yml @@ -32,7 +32,7 @@ jobs: function getSlackMemberToBeNotified() { - const senderLogin = github.event.sender.login; + const senderLogin = "${{ github.event.sender.login }}"; const slackMemberIds = { "zeme-wana": "U03HGDNDRKR", "effecfully": "UBH8K0ZU2", From c7f27609527fc9df88ce7075a5686b0d5e94026e Mon Sep 17 00:00:00 2001 From: zeme-wana <15709674+zeme-wana@users.noreply.github.com> Date: Tue, 15 Oct 2024 15:26:08 +0200 Subject: [PATCH 35/70] Filter checkRun events on name in slack-message-broker.yml (#6574) --- .github/workflows/slack-message-broker.yml | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/.github/workflows/slack-message-broker.yml b/.github/workflows/slack-message-broker.yml index e7ca30c2e16..34f07a5fa7a 100644 --- a/.github/workflows/slack-message-broker.yml +++ b/.github/workflows/slack-message-broker.yml @@ -35,7 +35,7 @@ jobs: const senderLogin = "${{ github.event.sender.login }}"; const slackMemberIds = { "zeme-wana": "U03HGDNDRKR", - "effecfully": "UBH8K0ZU2", + "effectfully": "UBH8K0ZU2", "kwxm": "UCF4SL4BT", "Unisay": "U02V796524S", "ramsay-t": "U05T49F9FV1", @@ -85,9 +85,16 @@ jobs: const conclusion = "${{ github.event.check_run.conclusion }}"; const url = "${{ github.event.check_run.html_url }}"; + const checkRunWatchlist = [ + "ci/hydra-build:aarch64-darwin.required", + "ci/hydra-build:x86_64-darwin.required", + "ci/hydra-build:x86_64-linux.required", + "ci/eval" + ]; + if (conclusion == "success") { message = `${name} \`${conclusion}\` ✅ <${url}|View Logs> ${slackMember}`; - } else if (conclusion == "failure") { + } else if (conclusion == "failure" && checkRunWatchlist.includes(name)) { message = `${name} \`${conclusion}\` ❌ <${url}|View Logs> ${slackMember}`; shouldSendMessage = true; } else { From 96d2c3b3992298a403767cde4dc12767854e302f Mon Sep 17 00:00:00 2001 From: Ziyang Liu Date: Tue, 15 Oct 2024 08:16:18 -0700 Subject: [PATCH 36/70] Update and simplify the home page of the user guide (#6564) --- doc/docusaurus/docs/index.md | 60 +++++++----------------------------- 1 file changed, 11 insertions(+), 49 deletions(-) diff --git a/doc/docusaurus/docs/index.md b/doc/docusaurus/docs/index.md index f9aaab01545..9b15818cdf9 100644 --- a/doc/docusaurus/docs/index.md +++ b/doc/docusaurus/docs/index.md @@ -2,56 +2,18 @@ sidebar_position: 0 --- -# Plutus user guide +# Plutus User Guide -## Introduction +Welcome to the Plutus user guide. -Plutus is the native smart contract language for the Cardano ecosystem. +This guide focuses primarily on Plutus Tx, a subset of Haskell tailored for implementing smart contracts on Cardano. +As a subset of Haskell, Plutus Tx is high level and purely functional, and leverages Haskell's powerful type system. +This empowers developers to write secure, reliable and deterministic code, which is essential for smart contract development. -The Plutus project consists of: -- Plutus Core, the programming language used for scripts on Cardano; -- Tooling and compilers for compiling various intermediate languages into Plutus Core; and -- Plutus Tx, the compiler that compiles the Haskell source code into Plutus Core to form the on-chain part of a contract application. +Plutus Tx is used to write on-chain code, often called scripts or validators. +To fully develop and deploy smart contracts, off-chain code is also needed for tasks such as building and submitting transactions, querying available UTXOs, and more. +A detailed discussion of off-chain code is beyond the scope of this guide. -All of these elements are used in combination to write Plutus Core scripts that run on the Cardano blockchain. - -To develop and deploy a smart contract, you also need off-chain code for building transactions, submitting transactions, deploying smart contracts, querying for available UTXOs on the chain, and so on. You may also want a front-end interface for your smart contract for a better user experience. - -Plutus allows all programming to be done from a [single Haskell library](https://plutus.cardano.intersectmbo.org/haddock/latest). This lets developers build secure applications, forge new assets, and create smart contracts in a predictable, deterministic environment with the highest level of assurance. Furthermore, developers don’t have to run a full Cardano node to test their work. - -With Plutus you can: - -- Forge new tokens in a lightweight environment, -- Build smart contracts, and -- Support basic multi-sig scripts. - -## Intended audience - -The intended audience of this documentation includes developers who want to implement smart contracts on the Cardano blockchain. -This involves using Plutus Tx to write scripts, requiring some knowledge of the Haskell programming language. - -This guide is also meant for certification companies, certification auditors, and people who need an accurate specification. -See, for example: - -- the [Cardano ledger specification](https://github.com/IntersectMBO/cardano-ledger#cardano-ledger) -- the [Plutus Core specification](https://github.com/IntersectMBO/plutus#specifications-and-design) -- the [public Plutus code libraries](https://plutus.cardano.intersectmbo.org/haddock/latest) generated using Haddock. - -## The Plutus repository - -The [Plutus repository](https://github.com/IntersectMBO/plutus) includes: - -* the implementation, specification, and mechanized metatheory of Plutus Core -* the Plutus Tx compiler -* the combined documentation, generated using Haddock, for all the [public Plutus code libraries](https://plutus.cardano.intersectmbo.org/haddock/latest), such as `PlutusTx.List`, enabling developers to write Haskell code that can be compiled to Plutus Core. - -## Educational resources - -The IOG Education Team provides the IOG Academy Haskell Course and the Plutus Pioneer Program (PPP) to attract and train software developers in Plutus. - -If you are new to Plutus or are looking for additional educational material, please see the following resources: - -- [IOG Academy Haskell Course](https://www.youtube.com/playlist?list=PLNEK_Ejlx3x1D9Vq5kqeC3ZDEP7in4dqb) -- [Plutus Pioneer Program Gitbook](https://iog-academy.gitbook.io/plutus-pioneers-program-fourth-cohort/) -- [Plutus Pioneer Program GitHub page](https://github.com/input-output-hk/plutus-pioneer-program) -- IOG's technical community on Discord for PPP. Follow this [invitation link](https://iohk.us20.list-manage.com/track/click?u=26d3b656ecc43aa6f3063eaed&id=46c99986ab&e=6489217014) to join the discord server. +Besides Plutus Tx, this guide also covers other languages and components in the [plutus repository](https://github.com/IntersectMBO/plutus), including Untyped Plutus Core, Typed Plutus Core, Plutus IR, evaluation and costing of programs, among other topics. +While these subjects are not covered in depth, you can find links to specifications and papers for further reading in the [Further Resources](./delve-deeper/further-resources.md) section. +Visit the [Glossary](./glossary.md) page for brief descriptions of these concepts. From 825ce9a6340431aac924a830fd1a59a0cf905f75 Mon Sep 17 00:00:00 2001 From: zeme-wana <15709674+zeme-wana@users.noreply.github.com> Date: Wed, 16 Oct 2024 09:35:25 +0200 Subject: [PATCH 37/70] Add new user to slack-message-broker.yml (#6576) --- .github/workflows/slack-message-broker.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/slack-message-broker.yml b/.github/workflows/slack-message-broker.yml index 34f07a5fa7a..48539c2e33d 100644 --- a/.github/workflows/slack-message-broker.yml +++ b/.github/workflows/slack-message-broker.yml @@ -41,7 +41,8 @@ jobs: "ramsay-t": "U05T49F9FV1", "ana-pantilie": "U05V2854W86", "zliu41": "U03BP2HTKDK", - "bezirg": "UQ1LUSR8B" + "bezirg": "UQ1LUSR8B", + "erikd": "U914V9D2B" }; if (senderLogin in slackMemberIds) { return `<@${slackMemberIds[senderLogin]}>`; From 621611a24bb96c6a05b9abe91c5b412b70982732 Mon Sep 17 00:00:00 2001 From: Kenneth MacKenzie Date: Wed, 16 Oct 2024 23:34:39 +0100 Subject: [PATCH 38/70] Fix typo (#6580) --- doc/plutus-core-spec/cardano/builtins5.tex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/plutus-core-spec/cardano/builtins5.tex b/doc/plutus-core-spec/cardano/builtins5.tex index 916401e6152..e79fd7ffe6d 100644 --- a/doc/plutus-core-spec/cardano/builtins5.tex +++ b/doc/plutus-core-spec/cardano/builtins5.tex @@ -195,7 +195,7 @@ \subsection{Batch 5} \note{Writing bits.} \label{note:writebits} The denotation $\mathsf{writeBits}$ of the \texttt{writeBits} builtin takes a -bytestring $s$, a list of $J$ of integer indices, and a boolean value $u$. An +bytestring $s$, a list $J$ of integer indices, and a boolean value $u$. An error occurs if any of the indices in $J$ is not a valid bit index for $s$. If all of the indices are within bounds then for each index $j$ in $J$ the $j$-th bit of $s$ is updated according to the value of $u$ ($\bitzero$ From bb33f082d26f8b6576d3f0d423be53eddfb6abd8 Mon Sep 17 00:00:00 2001 From: Kenneth MacKenzie Date: Wed, 16 Oct 2024 23:44:33 +0100 Subject: [PATCH 39/70] Cost model overview document (#6498) * Initial version of cost model overview document * Add costs for machine steps * Address a couple of PR comments and add PDF * Small updates * Add a sentence about PV10 builtins --- doc/cost-model-overview/Makefile | 35 ++ .../cost-model-overview.pdf | Bin 0 -> 267239 bytes .../cost-model-overview.tex | 425 ++++++++++++++++++ 3 files changed, 460 insertions(+) create mode 100644 doc/cost-model-overview/Makefile create mode 100644 doc/cost-model-overview/cost-model-overview.pdf create mode 100644 doc/cost-model-overview/cost-model-overview.tex diff --git a/doc/cost-model-overview/Makefile b/doc/cost-model-overview/Makefile new file mode 100644 index 00000000000..d38c48ab70b --- /dev/null +++ b/doc/cost-model-overview/Makefile @@ -0,0 +1,35 @@ +DOC=cost-model-overview + +PDF=${DOC}.pdf +BIB=${DOC}.bib + +SRC = ${DOC}.tex + +LATEX = pdflatex -halt-on-error -shell-escape + +.PHONEY: all pdf again clean + +#---------------------------------------------------------------- + +all: pdf + +pdf: ${PDF} + +${DOC}.pdf: ${SRC} + -rm -f ${DOC}.bbl ${DOC}.aux ${DOC}.nls ${DOC}.nlo + ${LATEX} ${DOC} + ${LATEX} ${DOC} # to make sure the (cross)references are correct + ${LATEX} ${DOC} + +#---------------------------------------------------------------- +again: + touch ${DOC}.tex && ${MAKE} + +clean: + rm -f *.aux *.log *.cov *.par *.bbl *.fls *.blg *.out *.xml *.bcf *.dvi *.toc *.tdo *.nls *.nlo *.ilg *~ + +clean2: clean + rm -f ${DOC}.pdf + +v: ${PDF} + ${PDFVIEWER} ${PDF} 2>/dev/null & diff --git a/doc/cost-model-overview/cost-model-overview.pdf b/doc/cost-model-overview/cost-model-overview.pdf new file mode 100644 index 0000000000000000000000000000000000000000..0f3e69e3589ede42ce486322bdea15f8cd102912 GIT binary patch literal 267239 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 fsO_ef6H= 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

    7b`%k%rJPofZ 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

  • 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
  • )k&sisD=>X&GYHY1WIM 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�l~& z&B2UQSpqNnD!KT)D|$P;tqwDdBjvBs;!( zGBF5fKZKbYy&Cz=KO7Q6MPaGq46PpE?r4))rUauID^g&LpDvz@DMBMZ5&)N9Ly0<3hs5F!aar45CKaP&x)P}aLn7_cYddYJ% z**R&FiOc*TkQK4tp+H3a)Nws=JtQ+h&|tJX`Xpw8+xPzk@Hkshc(!fC_Hn5*=QKzfWK`VKdL9p35g=w6}7SX+FkFWq|E{ z$Ak{vmLAdt(t*W7AT5dVqAgP;L;F5j1l8G^5`HP5?RnQGwn zSI6>t$C>Q)q6qg^`lz5VDoh}Z&@0UfQrU!D#VvK_Fn2o#RY4g)$Fj<7>Gy}J*omE9SDpX z>;nLm*l{(ZpfnHMwpTmiP{Sp`5=xK*)oJ}*ewqJBwo*e#2|ZZM&i+f_%jmngcAABl z4Fxz?Z4q|@(Y%9LHCf9i0_V9hT?0k`>J&8+lQk{g~ z?I?7JI7ntHb6T<0)^0u`$Ei}r#R`BRqay7UtS!kGB^FE^;%=RTDaI8PXM#c{?He9@ zJvUp)^_p+5-{jLoNGioLjZv#l$Qd(XNtdNa{C>Cwh!;|HT=H1Y+pF}VMOdADUgo~c z7w5iSxb4itd*Z69@makzGyaIIn+HZD4?D;@R~)4aLX`oj(L5i68?%-kFXawF+%$Fo@0xb2``28@XAKLykCEAwcAmTuh80dTR(WolF^ zv!j!c6N6OQ$Wy3`X=$cbwl0R9BOz)E`Q_a&);n|2tfgOPq-vebL196?qAgruX>8B4 z!}v5;=6(M;jhy*zA=6USU0opdWV%*h^`>J-#_gKu@1eaT965cBv!GlVb&Zc#^ z_f_(y)+Jq^5PH5q%n|Z)Om_=B>5TA~$4X;hv4ijyulzE|pTG?Yw0PWxZ`t!dZj*ZxPOxTBh zAn<-DlLTSQGGy~Xt1xD*d1R|9WSabx)PmjqNY3x{Rx}&@TJWm;@HGA#Ru1em9Baa(DI#py zOxSlQSvddtr(iYNO;(+2uZwNBn>eDU-GRn7-5D8!Ko6{)y6Z(UJMFBf!i58h%kbrn5ptBuU`$g<;(-A zz)W72D$08-d0eEq?#6ZKj*xLa9l?+&NlId`?^FJ}8S>|hGwD3ZQ<@-6B@i9b)!bu& z)$$9m#vkZ!NzcS+J(p_$VFUuk#6}YZ3SOSD^h<5IZ3@5CY*kQ&g|XdsOSM#&Ge6HP zA<*eqlk9(-0_CjKI)|JnR0t@jVjcu?{zvWeL&bMi1(&T>hCGWruBz7>L9lkZy0Vz_ zw>&Qa zEt%f3`LoEHE_?iCI+~kKvoeKV*@O&VYa$A7gq;_XREbzL?ld}?!Jg%ZlM#ms;@2lA zRBIxy*ym|G5P=T%%cfh>S&V`S+4wk(u@rX z5SDJ>aH@oXUq+o}C%i z*>Pe0aRq_VSbarP(dpM@6*(YrxHwdxbk)@ZWk6x+a7A>}mL&(W-a)|-it+dLuO@Rf z$6&iA9%uIDGGg%g=u~gl*L(UAqA%=>qy920mpCDhOp#HopEH}@d-MWN^Ezka!;sqZ#GxAJzI9%)>0XLp5DGL>%9e*GU!Nbvf`)C2iN?lmFHj|dQ%C~1hLJqqb)U^!Fh}W zapis~tj=QFllb=mD(92|6f6*6$^-6;>={04oYg zoXI#i(BFBqZ@+7E)<Uc!lrBwN5!VF^a7!xvLe3St*>zX`Zv67KsU!a%A7ncG&+FA9Hmlu&K+Dv66}Cq z$4TA#yRH77OivCzrwn90PPk3d-VYVk+K9DR7C{moFpn%Hnw7?wg@#J4BSwN~W>qo< zpJ9N8hmCLlFPQK(0No%^xRBP(l=tjO!&p~kuf$WOOHV^oSsG+ADh#(KO+={|d%MH7 z1`TNF>pYauv_AA1TwJ4j-zJgeu>bnw>Y6t52C@#j3TLYFh0rbY@Pz{rVzlXk#g)`z zpiRN&IC16%dS}o1g#SqEgz&lU^LYB{{Vuv?J@#X7l556&YC`X$;%R*sDI$4mda(pe zq3vsc=xu|s`}5%X`A(zjdffdjT)XLp#LnXj&-c8OL1*)Y$oIzDjw>pPL5J|w)AyZ+ z(dRIHD{#Z^$&4e%W!anXDXR42QQ&jv$If#)5j+wWnS$r3W6sCj<-cq^fqyR*PX>?t zJ@*+Lox5uS4Oej=77u0|SuWcz3La<1JMTKa|CT4zFH0W}NUc*(lg=h3G3bbqsM!Jp znSyaCQOUI{(uF|QM5S^U2_f-1anRaKaOGg7@&e*x9#{8WXmn10|Mm=kj7lAt-|pLg zu&JuWEX#agB8G?yhg_U!Z%kY#P`-Tl`Ph!=U@;MC=wpsemy$3D4@C|kG_@%Us-2n7 z)<(Qa!mllC5Gh653_?n-1Qv-}CuWANa@ttFMH9Z*nqyLL&NA|wlIcGK&VLn7%Z$Hp zVf5|B=;``%QdvBzRo8m~qfrl}3P8 z@g2DO6O$CGZ*nqf<(EPjjQyll35k|6LOIZQ3Zf+DagYaOQj`s4ZV7kDYyMV><~5)C zhzUGF%;ECJjScrPf37YwJ?B>JI~tq=j2ngE?`+&bfo>zu<(xe>y?vw0-^b1NH*2ET z(vch|FZVOER66If<8X5B8iIL|YZ)X=;;HnQ^bTmlM&F%oUHH7LEw(KRP3*}TBqXYp zbv@UFfvOg@diT45?f0t{{_9Rc@DwPW9>+BeAN%thwH&U`qTIG!p{Je2KaS>~>*w1Z zxvV?y_ZnX#%RK2zQ<*-GQ@&5HC%GHsksJJP%cb3i`qkw=PB^}2#$UG|HC|_y=fpNDTXeBRImK3fvwh(~gL);9xvUNEjd zxj-_pJ%Pjw3OBteTt}H!kbx!f93B z=4uyL3o`qnGU|kMXmuTk4~2z=*-Re|h?MY9aMCc$96G7qS|X6AstPPN+$;j!bv8+V zY(&J3W`r?8e3fZ*tq*-#^pyjfvsxPM@t-T$t|#d2Nw!Bf}XGDQQYvKVsuYf86n z*9~5!LCUF#$8mIuc(O{pf=Nm-dm{8ls-R>6)53(Jbf zUG#$xn@_@hFhfu3LZjTzc4L$$#y9Z7W6t(55%(ee6pb!EXeV4bKpD`MH}l|w$_Tm_ zmueveGM1D8Hmy>{{)%8Ihh3_-ZBIPX`nWBe^msj@5yc*uarMDiP8o{-R!*`@Ae#XZ z`r8cfrMSyYzaK!-dyYc_6Fg@oYTtLpYNpNvgN^VQYi!vATr^1UA7>wMYsef1acy6Rdt zSwhHln^4ieX~Xm7CFpW~oY=XED9uq%K=Az+>-%`I;(OH|*mm;ukMi1Um8k2yX-1%? ze(=|2{F@--;(0W3L7uD@6N-| zWF2902Z;YyTl#)%;w;}HpdnHey%n*kU+AM_veby!D{UN> zL@vu#ux^}9rc|xfvmZrZqEwV%SD>d1xaAX0ms;f<7#T*|oVotGMeIk00%4CHm&)$L z86>tU5QnQ0#{CWZOB3hKHOV_)AE1E#iPbQH zKk$z)_v2PWz$wFUfXL^9tLG*KiIAoce0IpL`{|+Qwti+)6R+%zwdW&Zr)_4=OzIZ4 z=U+2Y_h;LaRbsTyGm@Rx{xzYzcr!9;mLz80(bsl=z~N=`)>uE~B8$0bMZu6#$Sz>BJWa~KW?E4G;f zujYD7{rPd5b!!?+1CDyjhqxJ2z zwli}8*bp~t1xx(6)n+tddAV?{OX!=>8n~0#PJynMK?JKErHIGZpnQp(6p+D+P#1%XfsOcT zJ>tY7oe!;V#xg>9`Sz`-e#!x8u0D3Jbf51Jyycz8%yix*6K!B1EViFC{>aXQ}ebuXvS`MbLH>UlF$z{#8G z-#vKFO%SQn-`YMoBCo$ca$lG2ehbJhd$eEebiW3|_`M&~Q+}cIP^4Lc3mW_!C<4*<|G@)C-N#6op5btCz1icCaVpQJKJ z`tmr}=oXPtiTAau3bs)7spEoG;aDkkVa)zC`SA#OQJegdCN_s?78l~zZ}(?kS$hme(ERnhZqDI?LO}PmZA-B zERVR}4{q{8v#anlY|UNcxnB@y_O14gK96ieSZLUC=~$NB|6T#6 zcQ4VLYkHQzl?*77>2$ih<@k0LHMnQQLXo0t>E(})$B{w!oam1ZIc~R?Mdjrgn?I6Jx3L?Qr zU=EtqC!uz098}V+O`?h?W2j1__rz=Epsiw2lVRJ;4S5@(rL|EOhm?X~wp#qnf{i|$ zlmzH(%gNj#UcehoHtnhTSmM-%4LnMLPaa+T&AU7V$u2P=GaG1}BuB_MXEQ%f5*ji9&p1cA}n}xC^*65NR1t*2~&+{8YQ-CZ-8g_KIn>xu5P4S+^D07r#dv#+0-_jL2F^Tgg zHn`tP7R2)VhTR<3nbXZzgIE-wPEIY*YuQ@B6{FpIe1Mc?n zNi$+nWZ1eB^^Qto?ByobTPszau%(AopBi4938^8G=NwAm#E6Vh>~+JEtl*q65WlbV zTpqg=&>uUW?;5skTZzIgx_{;{dR}(#_?)Ld+n~|E?8oBCtZC#uH}yZZuK8XFA?N2c zKHt@PZl-CmVq498zdhp8&3d8qzhbZN?aa?NYTCUtJa)(SfPwd?K+pLpHZLyG}un%JQ_w(uQKiWiR9u=#av%&cZijxbhG*IG*%6UZQ} zrT|nWRu~!Pw$|Cds`~FTUEujl>Vr=6kW35 z_z?q4OI3nexpBiC=^xeD_5hVpcCYUm<|_&_zxi`K{sH{A zn4;laK70KHDIDnr@TU13vq2<1tJ|$U5yexTu8%Y>rA~5BO|ClMvZ+!xoirOTePh2~ zuLOMmqRIaWdt>yuqs@J|vVLt@@jD>2zj6Q*g#I(m$a_HDvJmvQ?b~nJv7b)?{g-D; zm2GWG_ZECXMtTMcVpJI_a|7xgvL{x*NmL?^ba>@Y$b@onxuzjvx)Rx6E-Nwa%{FA@a*K41Sn&V1oan>hr#>J_nrNQG7ezksWqlx0Y^=TMThdkpvOd6NhzS@ zjxgN;8e*?-M`$yKFvBlYA-dwTSu&M0Ik|F^v3?*U1W|DK@UFeD_avzrvlvE(ix{B5 zU|j}u(WXyn%1u?4%X^^1hC%asA(#>01~YDuGe%NpB`UH133jCm%yhNsc+Nb@a){vh zqC>4v4AdoqAyBpZ({6mcDi*_Y(|Vk=-g3Fjvskk59WGBJ58<|OEEh09{kQ(_%GYyo zRSIdOM$ZZRjMo!;Adf|F2t8gV)`%rJ5RhA%$K=b-HuaOA%`% zXCcL{Tmf-a_+Ka(^s*^bBZyUH5cKU}hf0+*=aRYXz;p7mD7n!}Qi7{IK3CyiahfBe zl3;OZ(kyW>9m{SOV@)L`KMOjT=NC0QVAboJBN93sx6%=4-)w)fT9Em%vrsAm>WN@$ zpn3HWJ6)y?tC+-D+3XEClf!%tvt^I5|0j0ZxJm;1*8+bG!&343b-noG+jlZhQ&vpt zenf;*37p-w4LX&>$mIeKQz=c0ja}Y=B`_V}pZo*dFQqM~jf>i-LMQcsUso2r)0$eP zDqJ=**;sCPS-g`=l*W)vfUqE_@)9x-9exSjC@f#f6CWv?`9*j=TfSq7rNKdVSfbUY zXbgym4+rq0vt;oLTEBGZ*wVX1@+K)FhLn(HzJ9-28p7&!TMlpF^ft~rEDQ51q{}mB z0cql?I$p$m(zs?iSy5LP|M}9OjMx#z;C--9@Z`Dqv0Rt+aCpM|rc(1dK@=5R0$TEL zHqJ>Xm&qR2!;{-h5|lKbu?_D>A>052B?HK#B66$FtuGanhsML3h=++P37Moo0GQzb z=;ZlFf>tSmo<$b<`{)aPH|41k!*MEpo^dMx z2h!Qo|H_Ihrjf*^7!MCG_ax$i+LSaFI5cY;fCr?`7@cMqLea=Ph zldSbVGBfYY`^S_G!b|V_`O`$|7X`~YZd92O!QJJ(q?+!FYqjTUrSJ9j!Mc@YZ{Wsd z)*=J{?%kIT?hOZM@eh;9K)st<#W&!G4LXaV5)Az&dAdM3%rKXWH>{_R~8$F87wd+wUBT)W^GdihQ%^?#DX5PD3upoTIxFycfI8t>DG#bVG=#{@^_d z9DTS zfs{p5Fb#N297{WrS~CuqO)DOyY~wVnCsuj~5n+5aly-Qy|g-awcsGxrdeYv0Cl`bVgyHA<-`DTWPnw$gJfe0)t>r~;Q z9`248#zLPHiWQZhUKCgwP#V=o!ei+RBns2Fu(@oY%|MZ%1xeHrkm1J#Itb|f|Bs-b z7FNAuUui@}M7Q%til?(2#xm_M#guSlaVs@CASDDAOB(!wjs|mFR!l=JRW1eues`OQ zK9Z6MJ8ND+NrGycnvrUG9sv`YgpTajd;Yj+3L1*i(w6Y@-?`H=2qOt7ob!7sl^n$V z*kMDse?CDu+8`Qe#0^b zpM*63c5iYInDxEmS@pzp^S(G{V~OYW%J=nre%|bD9v2t2IKDWO z)290DNA%k8LDpGqxxj!RI+WGkb7WG+lqf$dF}TTpCb1im4+dKq7H0%c+?pM6H3WuI zND7k$gPX?6DMF>G(bKRT@HsSadql}1@R#Rr<-H^BUr>^GjG_J7;-k%$N}E6QNPI(x zd_z97QGNBioa;#5#CfnLM!|9W@SRaBkvO2NA+Ic$_n!ZI|8^W8F`Xs=87xW^+C9P* z9UPDTkzGB`T=*4266rH#Jj6{$-~>+rYHU~veq%QokKeGYz5(-hi(!f4hK@XAl|8U1 z*eL4%njtg0QX7YfzlYGRdo6$dUH#jgs+(3rI4X{(8)5D-3muQL?|L_ldp#WS+J!lM zN`HVE?U;vi^}K*3q-?%~Am)T$3~=w$N@LoVjd>3BHGeqy&oCP;#uVOg4#ue}ppQp2 zN!e-1xer%7Oc4NHEWi={!y~CEv)$+U(=bYF0-1^mZ;9X_aDNLz0ei#!4lgDtOzXnTrOh1|Uwv!dF5XV((Xz65E-WtIPv)rw4=y?#Q?K&_ z?R0&Vy~f)4Ck1YE&7R+X(Gi_sWFO~NGJuv=LRbtcR><$leh>wQ=7dEb)HUQn9CZnm zLPAz_5Gq0>E9ou`IozH_DL*`F9!(sbr|)iAmWFV2D(})&%jVLI84@wXB;QBF%VcT$ zm?o^c(G`71EKM(&{|VY?P~Ic~DfwopKMXP>l;iNcWKh;6vFqS5F)i%o{`zLq2ESmJ zvyF7IQbhk7aW{+r(ON&mDt0%~(v%~1v+JIUyH1a@i=4*fDC(q_@ryK39 zztWEX&?wHrj&;598@a0OkZT$*Ib?o z_xfhPD7Ty5!Pa)AJ-;yOym@z4<2$hkt3LOQnKN{md-0qmCEOd+E?Na01u-WeQCODp zhcM}WolyDwT&X$V_H=4TAOx;e1%rC8a3P{1AoOso_W#q0h0_v0H}P$}jbGf^wK|Iz z5-ZYVK>D$Qgh*L1Yy601Zni{~o6v?1CBBL(=1G-#Dz_$}#5WW+Rax5|%i5gFXD+2L z&!mHo8@AktBlhlpX&kf@o~bq=;lWdXC(<=~sny zdxfoj&V(N)J^~(YJeV-~-kL%-_+G&a+`T%fFxEWTbv$!!UQgRh583$4$p~C0OJrUf ziAx`qeScp!p@23XHG2Puv~ad_4W2y^*tXkvU4wu5eGzKPPM}6lALxNCgvtODNGB?+ z(A7ox)wRgW3JG27=7JnOL8GCkc_ow9p%P(wh(}}oOnvpfyyo3h{fxd+?{MfyK_t68 zSEZL#m3V>nB1e28a9Ifo*_d|0)M2M(0{I(oEm7s9hQ0XHtVJPiXeO8C>e9UT*hNpJ zw#{ai2RjmNv}l=}LPLu=t%HrEIHEB*RbHP`qKeDV@9=UBBM3VPY@mMWK*KL)5@eK} zC|Sqx>Hjl>jj{Lxp48r5zm(;zC^60f8S&}#g)~gGKkGVM92)Hz-I6sPw<^cjy-!yS zew&{{h^z@J>WRWk%!P86L>;F1oc!ngI%}Uv;~xbO4d79-2R2&0-^+BKsF$l1iUlm? z!ZAdhLvkQU3W@anP1y7Wa36_B1tKA!vng_kS(um0$5|iCX0rc2FKD?-H#=Bx_TX3N zGKIoqXARIlWw|}{yyc%4K`Q7DLYXj{X;s;h^_(fD>5bI-x6*-K zUMo`(suVjH3S%9ra=HR#Av%(2A3?66bo89#&mYV9J2W6QqY@N!s+56m6|E}aX*67T zWvw+l=j)p5m%Y=BoQu7x0kj&0PP2r62gYqpiJw@(lsmw0{@Y&5XVT5kc#@D^sh}f2 z^{5dy*_#_@Ux+YH|G0feo)2W$`=2^t|64yQ0H90Hz)^Z8ua8IQ@W=GqBk}#t*x_LP z0xIoqTPxSI|54HB6b=~(Fj46qm&YUPoM^_C|kLPg_WTl5o-3`9YHD1sx#Ronrv*BSpS9er~7$q9rWBP zQ;o;>&}VUP*8a!tZRqu`)8}gCsWy9MPWx^D>*B;0Op>xMUWdVU0uOndZ>Lwb>r5Tj z#Cje}Vi(U_2ZF9o3);yR>xjjChqxqn6=u4RL!J!?IIg~T0H*h;hw}n$XXmrQtQT#z zFP@wAli3!TFJpp#FR$sduNUZ(Q8o4VPJCZ_I{6;5eGfL+YF!)4@I1IuD7);kyzT2w|qEd z{mAe}if_ID&3(O|_fB1;B#J9dQSo_$y;-{kM%oV&-jtrQpuj(*d`U1{4PIfVZ<@-~ z2s~CR_TS35U)44*P*UKyn`FsM5zEp=3aLY02745JT{Wa&{?oMPOE$D^XxZ)mdChq6 zE|KK%E_7F(&MsE}S~9Unz>4}q$oPTfzWoJ?P>#vUVl^-GE~k@{lS9ycHB#~umecd2 z)`glkCjlZyHljP@6C>afe@kS9EQ^p-EBvLi`0^Y$kL_JvKi!$j4B~s+}ZY$t#=z{wq7losm$co zpRIF=1o06CvTDco81s$bORI6~n`pJSh}(SV=3@!l${sD6=ghm?Qo`F{Ox5`FqW8YZ zC$5iCTZO2~9+p}lY7vjIKkE?dRPs%-n0+)3+ zoG*r>flOX!|2{F*{bkynZ?&86uMb`xtLq&6%U!Sjl?)cXUqhs&7aw!53g`L+zxsVj zL^T=Iv7p6+%8eWN>>S(*SIA5f97|N|DqqP8gFe)4Spp^B1zREuXA0F-L==+m-P{n- zWaq31Qxi&)>@pC1W?|C&J>OOsCiOwF-4a%n3Ly|bdCU_hzJ#`KD-+)xkgtY2d%|4h zyxE~BX=xlpaJk`7990LD#>!?LqWt~|DXKKyAX^QG1y6|)yM!Ym!%m28kmP^J(C?bn z-~pbP1)l(RL8>8ta^rB>7PXc@5@!6df}_&)djXvo`}FMpfY$wYKI2%$s4n`=*X^nc zy_0?Q1Fibqq_2#+lrSLx(LM31QUH=A+@yi2pkn2;XmW9Q@rp5o?qbz*0V&*Am$+CS zfYTW|C#a8^DcOl=H>V1xymmn~IB%zJ{iro7N}s;MJC)18VGLO$U_sJa%C|yWIP}Eb zEf!yMCXroLxRe}29R`6{4?(7!ro0Yymj@4Ea*9Bi!-^r^`nT6+@rTouyIID}F_9j5 zqn6XJQ-9fg!H-q=!h7J;?RUM0#KA0qy@igAHQv39gr~d{p8|C~-J6)|&aJvgz1uo7 zfs;5ho1>BL`tF^PO2J=;fnOf8FFKvH@35Nt@BhB6W?dbFzqjwyP)Br zwlB6Tt-ihcC?<>fRf+*Ql7R34+7iT!^!3yM`tsEjq*juM5ev>x5q0xl)Q5jB-w~Ra z;+%FHkDnEJ7?PFeK*qK7lH(&%Ke-x z1ec&-vaw(aErTxXTU~co4CQj`pgFfZw0TpY6P{@{Jxu?xD~>5S`pyOhcPqZ{mP;&x zs_FSa27g6FC@ezvU6J8@2UjwP6$P@@#^F7SU?6mQk0y^ zbQ&IFo@JTh()oBH7H!|H!U2V4bbl32YDKGQ3K=B1gso)CriF)xb5Y)FQ78XsE zK>vU(A}FUTX(4aW(&ea$!^bv7X2oHXKOIxB_^o~3c^zW&{#b3+u~mA;$X0?PK-gw{ z9)e*!h`ad$V)8Mc)qH5ZI3he)!Gs^>ZQgL&y9=E>B3ZjlYHmBEx3jSG=z22SbR2!Y z)74%V^c{6p_uf5z;*Fmwj}f?t`_dk0G9&lJb2gaM=jVD4in@(4 zTCu#_*3$!z_v~70^c^nF{b}3Y@6C3D$vAE1=Rf6~zSlIU1CKjqnci35pWsb%B+ov) zI9ev}rkt=f`3ec_K?MclIfWQlktecA^^OiEzLJVW+#<5OA6o6)a3$Ev?rBo#iYWv? z^zG6Nx)?zz4(sXu{^@9&JAJ9JOll6X!x*&|0yJ{r2HT^l)tVqAf8?Ur2`7gh&AkwL zt)Z?K6laKhw3FtUr5Zj_qq=CMn!hzTu*;vCGjTJyn*jUl`tw23M@MGEM4M2*-MkQ9t0MkNo7%0M) zzHeWVk2%%=dL7p5n#DG)mr$~wyv}Eg&#P2CtJ-&N7D?`Q^7&JIEhhI|Q%G2;s2=f==l8pYBXYPzZa?3kgEy zyL;H9^UW2*hd~SomasEqSYe+tB)z70mYtW{z+jWjiPmgn%Ph$xfY4wC1B^6xrjJ&TBe?H{rM1l0$>tK8fSJJ!$ z?KzlOS`aux2mspc@mi|)oYKop)k1`_3zJAC&KzE=9G3R@Cs-;x?0%7h?t+6-REA!+ z-tm|yV!aanD(jP5)^rbt%v=xjF!!Dwu0BP_Z)f=H>}@bvn3!bsCSTWgDn?DQPny(#`S2dBDZu%&{z`{*}|E z)R{3j;XO$@4KhcPW=$39J#M)KQODa{^F}hH*U{oE_k+EK=n1(2cM*9f{D36+MIIun z0q2CiXXtfQrC>k{SRpkHpM`}@QJO$}m**qnbhcrR2tI(*FkfvOu6J9dne9+rUH9+& z!V&dYhOgTB^vBoEhQhP;sO@a9`bg0eY3Ug3XAeS7^y>>72O0#@vZOGAv-Z?@RRUqY zeljJ+BSaiiytI~Pj)F<2)QE#jW3Bj@rW*%ASJ#+o2eS-?h zNieSf;$S`BED1Igwm<&6vt%w+RX+Cca?gzs2j;xca4wfF>`tRzji+|+(l@X+wq|zg zX{fbG3&|ouQ|q-_*x|>~Uy)-2yyD?Z=@VGzY#Vg3aui*Wey=lGPG+#88BUW{jkm1g zJwWf}_UsfSw?nBjmQpZ5cJ>)*bfUN07#bQH3#;#}pL_rq#X!JrLoS0Bn4!)0D=i#r z+PUf#I4yTt*KGyZqVoK>@|FGjR~p~6rG*+w%M9w9v`Dzw@lY~z3FTDsn2!#_+2RTc zs4>I)j&}Q=t5qlaRm3EF7_>k^+|<)aIouA399*&h%Q+fy5th`_Qv5@)zXb@*;h2+Z zV7n7dXe!jxa3Fb{BxM%IxT(NnZRw?&)YN#ti3+KHo9BBV=cWKPF(D@zR~XDJhtDh_ zE1MY=IyZ->PehKQ{8Uv;r5W30>YN-z`muNr?e+@5+ENQptMphwFJC7TX}vc7s!>3I zVH#~(0jP+PiQ1i4z@4HU-Y+g{vH@cSDx)u*2Ex=>=)#9#)Qp)FnF_JvAzO}=1Syi+ zs3e&n3!{&b%Te31gMgG!4MW%4&*BTN@V1=?xiM>x8IH}{f8G74Oe?pA%GXz~C@hCx zzs5;s+(*c7d75bQ{nU4UC(8nCrV~ehh>&R*r^va%BkVJWsjfVZ^$3KyRd{j;iP8g_jeCy}z-SDKEf3Zi~B<2-*RO z?^NC3^F>8o_ zm2Hb+U#R>%Rsg*&yHy~E8d+q?Oz<-z74yt@rpO*3x5mI2Blw-?@xKT7mw(C6#XlNp zRqO<6Tw$87i?9_*kVCud+~b`ZcL5-7h9e^ZK4w?s)n5dTeb$FligpI=y3HIacK~nx zbU3r+g8_|P4&<%e*{GOjXbQzJpaBMPc&i{`^e~|*NdOR9ETdb~m;#KIDd-E1sZV%R4AQv1ofnIFlTEoaPBL~4&O2ynBt2kyNX(; zQAH@Gc6)vqv~~U-CaQSyXNX7yf{_3i*BHX6NMJT(J^>9x_RGKJ$pG(-A-64}&wCpG zXe3k3s6Wgxm0Qx-2ek{iYS}sa z^uwscVT48Lw(HwI1WtN5yM5S+XCn4Uh!py@s613!^}NEX_zSIhgd7(ZgfmK-;Ez`$ zyl<9@gw0#EA?gq=u?P~|h%KTcZhrNG>B4so4VutTJ`)TFR%rU4e% z5|nuy6h~Ik%a#w6YEHGH=C_unQ4P=xwNHX74DzSu;2f$>yvZh9uX8yR;4f6<7&+vW zMG2z}FukO)*bILYlLXVO)e=>G!>%9iI+8Ad#dJTCc&OhpSF3Ak7)|r8lo=K zQI1Q$u>L!+Cr~DV?RoXTIvn0t{9AvNhKkKrEBw(7o61`(+4-DjDgqH;o6WY$W!+=1 zYjit9Wdart>n7Skge0&*q`_e;ha@AHOM-(3M2;^h43O;@)GA7Fs(nS3r4LpjhE&R6 z*Z-PYpd|qfW6Df3g$|*DjWZ4W14}-QZohG$%Ly2j|1!2>A}=7GD(;aVfr>a_!1lw% z%1Zeq+1XdKIx+~^&xC3sJ~@jEOG?_~qfTaUEUhHTCzH*R7H!C!_pymsMWSE;cg?rh zu!H;(ngFv4BDzc8yhGAxfA{c}HQtq^Nn42{C4?8)riT;`H+=i3w3y+Y>dutuxDH&Y zftb^>e#lNy{Yl#&rM9*0V#|qGAFDlsE7?UPenH%#iE+2sDR=1)&m?si&;o#MF$kGQ z4x>}R`HY~LDtS~;`%4Gq9z{)kRC@foYjKfhdr7O}d@W*o50ev*vKYJ^kl0W)wDwLX z!^Pde$(0ZY%}-=89$SOvu4)h^q< z-40z`cvy_A_t~3zHuPNxCxz)t3x+qq2^NRgFYK(WKLmx2+Xm$4u#}6}3L7EqRcvb#MvKUk# zL~dAWu%v?1>$LzraWN|@8Yv^UUSt1eY3E@olWYc-lxVay-1eL((pmV-1es(BOFXxy z#I4haPB6UtYv@{MO+^h`;N+PPS7LTSA9tmy;6}vFNCm`R(#$o3ba*;#_4efwKJ$=zqoZ3V5hqX*^B02mp(o-JQNIV&+X6pZueJP<&t(`Lta6GvsxepfAM?3|ug8L)C>8y3oIJzfK6M?3%B-sA- zB_0fOTnZIu%`ripDj%Qk&ddGVb$mhIo{r1@PnG-lBH*L24kLSXGnnARd*D*_z&t@( zw+Ap`c1|CzHeqB0>utI>X9gY>=6cpDVjYs?{+TWpey77JEoGwxN@dmgLn_@n zNwb|ku(;9;Ryc6y&-CckbZC|WIO{Jd3QXGxJ&&-M!Da3@b;`vav#^#0uzBZY(jd|f zQja~I-8U}Y&cn9lPm@{8wUtXeDK@Js;PaO@1n``0r0xOibT^Sk%)q=p5DOATVIIAX zb?57$^;Aldw)Q;q%c#VC3@RhQ)yLgJzhlnl3@0z$P6tO6HJy&NnujE1)N;3tf-3@-)-_G*W_4fFGp*tNGZb zjh$-?j1E6?IZkQA8fkL(oTYh%ajGxI5dQ+JkIf!HC3==ho6(aKH`Hf$cFT6~$)143 zn8e67Y=;kzluchfKSptmwN-5`ToHep4D1-kx_)MJm$M*dEi$*n9yLH^j&#dH#SRk=S%y(V+%baTWc-&Q-JCPc zV3`~c{Y#LdfuVhRc`m0iC5iT~cpfBS_UG4S>rwK9X02(}&yMUKew8geC=GrJJqjet z8Uj2-%YOqy)jIzk*7V_w76m>n!T7tw*EgW@I8enW-u|n>vPsW)9ZKdLxd{CX9JS%G z2!0NxJ_ah4NxKGQE2I293WG1a%NsW?I4K#O_RDOhRc$4{(=C}TKfn&{m-OyxgqHI> z;^R8hMg#f^m`dyviO`c?Gt&CZ%sdlY=ID>|wzFa_<2E`xzZG3v`RiNXg_iE@pQhp{ zLd8#1m$917Gj#Qq(Q)@pUv_x&e^OXd?xi-C+2E`n5r3zAYr#5yyJ>!3@w98PTJ-kX z&Gx-MsFDio1n!ihKsU6{P+&qT2tnAzLV$XX$D0SCN83ldRLBr%4#j?6wBL+$%~sIT zFr+~x-h-*O=@Q0%V$lhURqc=#=KREq;J}fq{6s6;)?GR-!;$R?uVAzeqrUiq(G+~) zWWN4nE5JC1juBAYEk&V#r(#mKAH^m%=*l}gr(|Sqs64N#TdiV}?`Mgc!ZO-c{0o6S zMa}+Vm+cD*5?cUPaiSDKv1s#P zOA9K7-w&GK6biM>x+@cXn3{g z=t!RQ=v2!@!+j}gVj$Z15x_ zk@NV*^73<=%pbz4j>kO5eI@~4hl2&fD!jeA?FK_-VXL_$2q)M!;Ow~5jMNA+C*f#x zlrND+$>=;D2$`Syre2e6b-l&p#8JHellrMY^sX)%am%iMApAmfw8``XuaFubVujGu zg1JN?c$y1lQJ=KVsC)@4yiZWMXWjQzyYoFuHPCn8O1VElk`JG!<+|Cl4kCk0S<=Md zB5qx;t)9D;!zimr8c9mxg2-QC@n;@LKC2)yqwJ!d4l-5*0|RI?f7q0?dYDMc5Ghbx z?q3U#Nc-7Bq9)hgF4)|D_? z&VLln7X3eb`~ARtuy|u!E~d5YUVY{f*v4@- zC1c(9{^@!x(q!@NI1;Ur=tuuR7j09R^;ZvJSOsZB5Yb@Y(2%*Kl+^cs5ZA0k2^E(S)ZRPTK_%8`r59PC~n-RsgXpin##N{Bg5cvCko z&Em*)7z$cYcbw@Gd*j10c0DbQ?m-b$J=MZoYC6V@C3AtlJJklacwiZrmYskiqX7$A zo+v053Pxd(Km_C*Tb4V}|D!supUYyb0Bm8cLIGe_1MMn^TCrS!vUY%NSl`RKOt|I7 zr(BB4!NoR-CfF0>a@8cne2-uz`Lm@~n>VpBUgo=C^~n4y^P-f(@75m;rxIo{_-QNv zFZ}P;FW=sEiK>pj74)vw)AJO2=P!}v)pO@wO9()FuuvcAN|ThLkinwoa8cbDt|;oY zM+7tn409@ZSD#sw zWxlk-x-Dlqxc@d|Y>a{lc_Jt$@DXo3;YZLk-e`qdP2I zUHEMQiZ#AR{*&u!#JWd$cjCBYME%o{%xtR8=eP3mCq;r>Zfl6mXWV=O@)&6em@_Kd zmu_w)n%cFj3hi#;`*}R1R{RbWAWNhK7h)nrg%Tkw=oJ#zTwH(G1WhOjJnGjdQyi82 zkk)CQx^SpJmg1`O=19S5X%q%d$=o>LPXk&;DiHGHFgO4>C5VeQi0HN3Mp3!MGQ*4% zS-8D8&-=CatMpMZO*8Mm;(UDDnIN{fy^wiOxzj$RH1&&;g(=`kW*dLuma@kck&2<44r+jRaT@l;`C z(-n{2X~axCMdg%U`$9T2klJD|9$5SIp&3V+_xc=%o~N53C~e{=dn`>@5T^LCgCk_% z6e5wicwvBfpnMcUS+{isPaX3No{E%di;%_uoe*MEAT>**Gy-tD54U~8DJx2p%@RE? zRXi1TK8I?G&p0axO9G1B5NN~datN1SXJq(ceBiTrDq-ujPSbiYC?hJ%_ z5uIrA3zNC4t`NdKd+hXxB9d=61%AvZwTLWmk83If!KK|5;dmwCSO|f6E^Ej+I5c1B zR560ZtL5`XBTIekT)t&znl!^_`$J((;lt+O8K9>H`Js~nbvZ)OD*1k5kDpqm{-~wSEbGKDxzzoBO_1UGQKzW&Xfg_ox*G#7W6IiOkAsr7xcA#^S*2 zFRfCq0Zob>EuApzVTumN##V2%^8BaRWekgPp$0*5ABG>j^td5pVc#qJo0TE;oMZjX zfnNPyU8c66_h4N5IaiIHjfHW2)Gc(KIlsQNUsFBfe;8KZF0wv^Vot5)MK`={2LO2_ z>qfq>q`(a+N+JCtr?_fH@T?b`1TAhAguxjrUSg@KUhe#Q>E=Yq4mf6Tbj&QRzX4~u z`^IUi=gQ4?l@T=xC3R#X=HTO5SmKBTm160+F-?$ZgvDjC&zPG!g9-=ygUK4OfoLA4 z*wiJ4)`82qt0xE^8tjoF8Gbj;14^t+c=)RM{Usl!jRX(`{X!ID4C2HZ6`7GEHBBt5 zN3sV`ZZ?1SCf9wo>3^`^1<2$mH0B)^p;>;kp7p6Y{8a@@SaMy8%utCBH*vf(om8Lh zC$pAkg_eW3yl@|%=vn0aK_V;j z65>|c17kb(q?9+vyNX;t-Q4uw%>g-%-DhZMwk>u>n;t*RR<{nOOEjEtV7kpARTN0M zhS&MyxF{q)Ajzv3(5lP!4b%F9k;e02DaPb$?xy>qZ$}X+I?3Nzb-f4eY(W$)ffwFv z@4c2t{A1sMd@7*=Vt3Mr{2OF4W)1iuCj{*uIwe)!!%iOVPa1(s7`uP3WXkU6vm0_@j-+pvaO^x17z6BRAWS|FvKo-^Q_DhmggrMlFOx zEmxB;3N?lUbyXakwnpT@k$wuA@O>=|6Sd-!`ED>kX95j^sx%H zeiEtYgM$Z}VthlA%ZsS8xL2&!AVx2MiC$gs_xp$yQ|o@q>x~P;9+$%5&#I`HLs+{ z%s3L-X@5At8~q{Tt$$KXNc#NALFhjeh&(P89cZN-=x9@7Y81#1pJLliFUWJ7KSiID zpu=T>TSgp1G3YRy-ZlHlupXV++yJ_i+QC4oUwGG$c!#F%np$suMjW91qco)>dgEv40-DeVYl6%ghc;X!Pt#3|s zBF2bFE1zW!2dWZ-#XnYaHE#2{te2Q@X36-MDD-D$iqDpCs_>&Wvr^w-{O}4?jX}&9 ztz%LWnxP)2m18zRt?C>CVX#E4CvTBx?abO-gaOzO@sgDCoQ7JY=rhcAz%I!-)JB}l zz`ffj&)(>#?kDw@O3Zq5yP5Cz=f79M|@?!#xJ1#q@ajl+15+Ykgt{ zFcd)AeZG8h_AX--C+%3C>}C7>wN78BOQHIv{XjJw+g6(gUC#xyl-HTb=*n`%671Aw z^RR;Y@!>V&4^{;FA1mTOmC*V4yYnu>x*pCca`UPv65gal0GUc%qwi!I{cG|cd_ z3P!(EZTZW#6|du{4COWnzgq=lwv0lvr-W>ZaJ^7xC|E<0ns90S{(EJi#;2@>bMFKL}5uO zeg@g>qlS#%Zgq-$8$xj+#G)hNFAXj0<0(c!;`UIW=OP-(`p+lsqun$~$_^?#^r!_% zl0zXkymY3nCF8)0a{5G?F zYTPfFMGfKbvO%Q;7@4UhU3~Msg%TtN7Tm>)q4Vo6q1i3JdFI9jy{wFM z0j3>yPKq||2FzegNtBOWIpN=~Y{sn26vbpkL;!mic>O4o`KFxVQoHJ`C(MI*jy*N3)TOi-Tzy{E4FD0e`R!Qe;C^ELM0{(~&-O zn4AwqL0EnmZNLCe2+zO(Wr>=qt|kK6VNvj>$6wWPdUtLOHb{RGzI?$P@)o}^DxzzI z+h?zy?xKK4`@(N;ZZ)q#l?9{h^$&NADzQf<0Msb~@d8ayd&KLD&RgHM=O540#bsQ! z>6tcL>s$0v)Hy@u6pLLaxH~qFjK%eM!f^Wz8%=OLgv1P*=f%OSL?@0#mqR8!eFgFa@lPZLu|;lG*W!)uM@z3i*QCu z@J{l{kJn=x)UcShal5|-uS?lJo2ZMv8`?iy&%eB$_ga*m*3Klchk;>5!yI7nna1`O zf3#dSrP#QiC;9V@{F-K|zC{*S7D2JR9LT_d1uTEFGi496Q9GiNCxc6aLcq*+!r(&5 z^Koo0IFq-tnQ24`GK0}q87E%)v>PRl)y`Iou0=Jz@&^Cy^v5N1b?eW;wT;fF+mwfI zU#3s<{CqspKZt~n7NTQgP{fh|66erpxfwKAO{ zT$06y)sI!24NFLU$`By14A#uya)2t&T-M3r*5itlH#!NmGNlyz14IMgOR#Xs?*D=G z!^WT%QOIAYr3HXw1A^-o;4JR}Hcj?0hdhZirqRTMc>!zI~@7R#oqwkg;%EVNse-4UA_ zgLJ%aYQQ&5X-jx?4fu=$LDv$V5!>C(G4DS6H_{KEQX!F@0%Zb*E~n|l2c*CjF!9M8 zYPc<>bzmTZWJ8aMzqO;4-PTZ`-dUg5uGRChc2(`-M>@ff2xI$jDIQ$keUCu`zD5JL zZg?M9>R;<+Yf@Uff9CA4|KWFe`0{qWPk5S-*0yJp^7Qw~&TU?`^L>ITGdJr?CCd?_ z2|0>_!7Y^V9M>ApLFZmN(|cCR(}A_;6yT-aI>JC&ePG9I7_&l7+%!1Pj6)12<}$0PWxh+hROtOrDV8g13rIXr+4&%3as)B3LZ-HeGQj z>L^u!n-OlnC8UjUF}t?&y-K!iy7ZqUYCAd90uF8=!*G`_oc-dZr^4|#gF00yqr!|4 zZ9MVre2C*eX8JHH>b#HGg)aZ)bpZeN_}NJ|izrtzce&ya#!#8^hW7k5&7h!4PLU93V zGIF6dZK|II6dRSZt0{MUdNkJzA|No=#%U@C9pQB&VFA|pP3_#SkCq^qgbiR231Dvh zy14Pk*-Plg32xxNsH6dq)z1$7-Hcl_2{psd=kD|OxU*ZT{|;sD5!0{t@|d_MZ#)2Z z!vC#K4n;T-xVjI?xXy@H=WmDE>m&q!*Y!@Hv$9)xM!&i5X;-;Fq}WzXj`i;7`@uTH z*})VP&0|jA?2LM}vUv>evDvv9{Q5aq79-QboO}|kJIo6*N@YvIuV^fUCSaEJl9Qq! z(q|6DG=BNj#8)IvM+=pU$PnmZ=7eCAX_bu6n#%dX&Bv{h`884S)DJfaLmST4Oe4p0 z+wG@v=7<^#tjB4f!u_61|KT>Ss!Xh_^L&|`pM>1&#aMsLXM9@WgrhrVAn^YH-asM0 z64BMh0P{eWbo4~xaT$H~_kQBX{&$tV_!qwQHCJ5b0K|iz`t|?oN8a)0cdkYQ;2!9_iorTdOTT=#r9`il8v6i>o_(0^AFp~J^$Jq*tqM@{_~Ij zKfiOs-l3kny^ml22fy~;-~8YI;t&4qRjrz?E4TjPPyP7Y-}UKz;}aix_idm3@Oysy zSO4Gt@Xo*Z)i+*{pSE3pN}mEGCHarS-MuYKiP&i@7`P>(#-a<#s8EQl8EZ2@gaDwoE z;<`ftX`opfhi4+9ab0*xle%SMu?T}D5)hi1;08#8lV(hJKN=$v?g znWIZCy@^EPYe1VYVJ9VQ5^x3=jm{G}2BH4KgDd5*8TtMTE}L8EtaQUrj+R*8hlLV5 z1Y5RQw}{?1fD?fc;-Z-$qbge~E{lR_3>1ZtZ4TCBE*Ov9HxmoOXmEg!B^*|HMOzUiKL{pVNjSjtyA=Tt5$8cSMXBJo6|Z$~0= zX5yanhU=~_2&+E#z7Ksl0@(YW>+ksStDfKUJ74$a7ybOrH?E(lgCsKoPATRUqF#en z_^R2SH!r$u{*B)_^PF=Y>2VeCwhni)*>?^Y zOhsM$VDnH9^-k$r01OaCM)QW;P@6Qz_H`2MHECl%F7G%+hoBikfMHVoWo=)+n=}az`^=cyOthV%fxSA3xEd6qSGc*4<#KVgSxS351JYi5{a)$+;iXk4K8!T zJO0P_zy8PGySqGA>FEBucP;75cb=fZ>fsxH`t@)A#haE}`Kq(+isxT_@wTb3`tYt> zZ-00_=;|GR{G+e9^{zkr$Zvnw&aWa~Z`}Hu-~Xon^u9gy2}^0jIcU_)rm5=Cop(Ly z&Yzn7IaRL;ao>ISuEi_v{^cM1SMT`Xo=st!F7I|wjp{bM*@pMM=l^`e?Af3Hoo}Dn z_qT8Vfq(bkKK5vJ?4d=k(DArY17LCG*5CS<-#xeUlka%R)al*zul^|jUY@=vU;h}C zW~d{A9NP83@&gZ_pU-wjmVxcHSIw%brcgvq(KAlsQp_fqCptHrCX+Ii93P&SUl)rQsKFdT&C?Y4MUzHLW$x;GvVL`d1Yz*zd!ST^Y%Jq>W zyr*Wp0~`I1-*ND7Zg0LkSU4KzYn?@}7sHabkly!1;&Dl9;Sz~6lFoC!_dB1F0XDex zJs;Sw0H6Lwwh#KO`PmV1r6k8u-4-huLN4tJw`BscET@Cs&@&Ugv^}0u@mm# zv73NyVq$mV-K{H(3Zh5I&`i7L^{=?|)C`_8w$=0{oqm44xw-}VDP@e9BAmmm4cGk5& z_U>Ev?c4R~5B>Ff-}}Lj-LiY%uJ``TtIo{{8{hrT@Bi*!ysdhoXDq+;E8ltDf4qKA zZ2mS{4=cCJ`x@qdc(!+Os`UAiJ_J93~OXvKPeSuHS{+yy$1pwCE^TD5f z^EbWvr~YQo7}CGsoB#EH`O{C`vu|}Y9E{iYe)dm(@|9<21YphXcfb9Y{`i;P@Qttk zuQxne!OdL!ihuh{e{s|O2iJ##;du4IPyYUoymZkKfQ`QRoA3CONAxuB`d9xHq;JVT z398T-g#j3p_kQM)zu4{`) z>q#UMUkl+(Y;vQ43Mxz~l7mG9->}oTUe#Mz>1?_EkpJLks}J1B+jno@&~vrZ4QAE) zaCBhzc+Wk}gL}E}K(9L5ZI-%Wtry1K*mN{@qUDjI!qzukVA95h;xRX)op{@v5fx4n zz90r~F-Oc|!+OZ|Biz3y-hWqf?;Yiy`>UfPXoh0uXxw)D;f24tdF=yVJaWf@X1VSl zn-@2OF_To7NPHDiPkQ1XNauoYyzXCo=Qq9b1s9yRIM=hm;X?<%{P~-%|Es^f{)fOJDicH@*CupLx!CI~RI!aQNW|zwoIW-uZ`r z_k|-*>ewywSHA2muYcLAUUJ1nXU#86VX(Zs|Dk(s{P>N3b^WKlwDiQCDzf9-fB1W@ zT@-{pfB7rde}4Rg#m(8TcBj_-*WR${rvyj`@}o8c{E=B%yZA(IsY_| z##3VUn_u&t=Qu!@Kk;|(KQx)wwj-bV|33a7zU_4jGIP!MzIOY2-gWTlb@_D9ddat5 z`{EBHehr$A7_A^lUmBwYFnVW}$;K6z z7j9lx(4YOf-~Q;I{?O%}6VHYHOJDbMe|_1`?|#J(f8an|yZKjs;&IsRnQTR8WbFFp5}Fa3@m{Mp~Q@7G@c{2%|w;E5~{ zPR;(DqF1$fEcd?uclQF!&;FJl`;FiEnKxW|+z)-~+!w#~7d~)#=h~P3+~-GT)h)mL zuWkXr;@ofjPrvoMKmFPZj=ShgU+}UY{Eh#8k$>@Zzjk+Hw*HCte(>3s_wSE88#b^TLb4Izcb|`C*-SZe=AM~TUgv#YZvq^UK*M*TCEy7{fFTyR z#2FP1f)d=|aihbgqO+uAkO}D-85x@&?RHv-Yn`Wx2r(&JB?75u#Bdd|F3P{s(ebyr z)is^fIn#<$N85&Q5lP89nD#bXn%B8Bv_pbiV`Pd=2pWj;pa{xPRZft@SN3|sFtNg0vx_Y&Aw!x_p1VNO9Lzl*bAAhxc z?{mu@ekoZN7doOs#m80?%jBxDHIik>%E;)AOi9n!c+AipPW{fwpWAbI-5Z^3zP_nt z?4&LCKl;cMue$i8vu}O6Cu>$ac8B9WxobXobl&B+KeH4~TOM%cS)cjjtp43>m~-__ z&10v}{_x@Zp7YtSo&RuqZz~pRoO;}uUpnK^$<5uKTvsR#8a`^~oPAIH+>6&h&o=|M`{1D`Ot7dv@brc2QPO$9%)S2KCnp3*?s(yMJt^rlV4EY(Klf7~99QUe zC0dG2E#szd`{7R>bN}ytfA#X=d+xpSZZifqSc0tflkBhN$GyCv{l9kh3CC^Q+~d{w z{)t~Z@1gchUB6Mk13$b|3j==Tt$(?H^&59|+g^U!GB0e8xdyY6<>vBxFliuB&u)J>T4sgE7-q5ZboYEZ=MK0lYQ?>~6> zj2(A7_SnbH|Kc~kf8UzTx^`8NATZ3}iu$TLAr}Rl4Cle2HW?}VFI$(p-x?X>dFRuvxcaQU2KR6sb2CpoaqkNrzM(Ze z#cT%dcIH)Aeq*9-o_FaI`tAzG0t&jQ?rKq!~?Cyz~mS zl^Q58Rd194NNQQ$6*=CwqoPu`X+^4uiwKkg1LjzgwsJ>nsoWW>f+99`VbHIxuDPzh zVAv!s6f!~pd0I#7seLft^g>b zd&-81$cs3Igl62#Y1*$oF+>D)*}1uljEw)n&_IfAu3HcS1Ck#15wNPLsBole0H&bs z`O@k&FSIQzweP9@wir5OP+?8MwdK7F(TWa$v}YzC8&(F>W9p0SYxWA?q|H(xz`Y(&uV z;wNvu^?`?9T;5?DMo-)30|(BY*w{GpsIOkz5`FN*>z=FjwoVy5Zfw785BbWkPMtF< zBB*bBZQhg5En2h&{l`w-e)^yylO4GA=@)+Pxr5HRc~uXScOJ6yIluh+r>EC5puY3f zM<2fD=|xN1xpDA_S-WgIb5PFqn|Q=G&fjw4IY*uG&sY6sx)RiH$Itxvmq%}1WcBUO z{Qbt?-uTdC^IN5U$h7U}9COrOvj;ct^r&d*QZb!@KJ zt8v+KXB`HFCX-U2{znfpQC2{;Tw-_ zK%9>ma>!ZVyZECM8ySE~dBrnNygYwpNo=lh;E?g-h7T#)AfI2)1uSfT=$W6GooetZ zaqF_B3l}Y!zi{dDYS27t(hjpmH-{7qo^|RaXDk~~WeNQjcG-^<8&n=hGjj+?eW zRM_s+i@!J{x3QJ(oBH(8yXro)4BqcYf4k=MGwOOPsoyrU#@ibnO#n0e z1DE{uk0(qk^!Cu9+sqtg?s~yN)~sCRH&27Svrj?B|1>@oNsR4S(;g&}Q>G*_u%4i4 zh;%w*(TyFCd+R~cICQ*WmEIKtNnWKA$L;0L)undJ`6$dcM7gG1zA4HVy$QXtCzFOm zf<0-feXmFQ*0s|QB2}$;*XezyXjP#g!(0fXkVzTF8ZfJp`2Y4%e+9^p2P!_vg+UaB zQgLNTnuZJ+zU34bafLJ>g2{yRjEs!Ujv!q^5wzAB5~RzQyw+t2h^PPw%SpvqXY*l) zGt1_8F6>yg>y&;wj~_d(p*7@XA+_c$I7VriQ?v%TRy4G6eg!r3GxZIyIf^2RavDT1 z3|C4Et}WmgL{zgEOSg5?M5r+#_Nc~MDaEDEYFlg4(auRCFKM^`{cK7d*O}P^DBS&lbyeP>DNz~UO!~7&;9(QXZQKhb3H4LJm{eB{`8~cM%2Tv zdgAsUU-ZYz|Ncr>$gv%^`=@_*(NWtpvK_Y9{~h-GTQ7Z!w`nluGZ%dA)6?r2vgWB< z&iu;7e|Wmv(RJ>({jp#C$yfH6SSU$~vo-(_EAuI2`{42kHZ2sb<3twBhwEe9LwHflkuU*&F zR7dN*8bkN|zr%ii%g+~V!oX%G9lGE4IfA<9Zv5K=Z)%(5xhrmX@v~o^658R19zN^) zk3Cp=o6_>LzxbV>e{5nMK}!p6`Pomub=kcyc6M91u}L}ZKl|k4Xa4cbN2{B0&8Et+vLOkq zL?LNYt~{){W8Xc-j~Kkt%IkzqYw{YGRkSbtP80yE2BJBof}p-izQo>B5~4E%n5s|# zJSq2KEj$n*u(f}ktrle09d&P~GF#T=#U6>b6H6K6-uqNZp(RcW?RSZ(kR`^zMH=9v?WTo4LZ8zg~6AG6BF% z`+oNSP2G6gg}$jzAHAz}rU+wqJ78MfdJ5wH{TkEm&`vwxuwG?!05JXfHKfvK5?B3Z zX^?mJDaiQW#v#quOL-ecFxH9jN}NU=LZ}w*O?@7tO*QG9x?&#F17vCVp{R%gghC-# z4DLQ|NlgUMB$6}3zR@oKt0;M6i7hMTP2deH zsb}?2eV5w86Ds1%E;iPL#IPoef=OFV4@VEL8YF2WWZ$%mjEv2Uf;<@zI6b3FlIF=u zGg8&0_0(s@3A_+_4a7%55*JIQplwOAYEAs=D{b44wcCyxIC4O)z^z`?2FwJA>s(bz zd`ZnR4g;Gng!N59U85<~BMgXQ7y*cw!36F~!R5VruSp`_sZ&=LUvjQe@|6y$mXk`w zRU{u#6cxFyx$10t%;5a8s@(nbqI>7ge{NB+Be#vz5BHUd_%@gr=!7N&PgEsk)Z(`? zGBSD~Q_?dwMk(0xgfD+#dY;t3cI$aZoOaurMDAqqy=RM_L^+2P|yXtMmypZ?(UKl%59btGN4_|8jD`o+wE5BSBx+ZF<>Wg~IOoYecT(ihhaGdo z2utv>a*8e_u^Y3_5JhL-S)sqlXuCRVf!Ai-#HKdrFDIU6}CVAlFv-4 zBWTC-KmF_}U;Ecv&JI+TKJb^{KK!hiar1FAf}RUW=3agDKEHTsUVD$*1ErU4|MFMH zZFB80Qv)+>=N)DQk3O^+6>m`Wo#o~8%WD=gA+qdBt;QJQjbFE?ap<*AX1XYrgg7zk zqNHP7%iw*t8?*4W*459gaZ%t9gA__$2tu3%d}U;8$TxYw{%2kAu`%mWV`cGu_rKr( zz|Pox&w=Y-q2#uiHP!z1^%#D^-2W`coMCVDtoPq>U#kG1;_e?lc;Ln_bo!<~n^20( z8Md*tXJa<}q1^Wuptq{O{ih(~e;iRb73-<7zQ_WJT}VdLj3o@uN?nF$-CfV z4%gJB%JeAJq`$Q*G9AoBDo`Z~qp$%*69tWRjd=>{*hHd{NY243v63eUn^gN&26;(s z(`jAlT)Y31P>qvnT&XA=AcnxC1bAVkh>cSb@#@5@ZeYfg-riaFSJ!U0;4O2h?g5@v z?>dueBA${;9J^vZ8Z>(N$X#~SI$QB70hctXXJaz^xr~gA&5449NNdJfwc|-^yDuVP zKnMh|bTHW{P=~5dgiPMnHAKbyl2t2LJhSwf1sxC1H(O6FZaKPnU>y}LtciWRTHTr` zaE3+WSd+Ni)>)=yN|6$W1&|Q}F*B`oL01(K5$_W3yjM~7fyAnD*{F*Q3WhXq66D(B zd>r&I+vdgX^3YTB=f1LX-g51To7+tPQq`%p<_kIU#B(zZYOhwPg=$%YS z&v@t5&HnUJ6Y~UVedOHl{=G+$To&JU&L2Lq?-wQo4O<`mff2vCxMxca?R@$7Up?*1 zH!kieXx+c?w|k#HdFs{y1w)38v{>F*ZpWW}@$NN!dnu^jp1Vzr2uSAt`HF{o)SPwk?U()SQ+prTVw$$yf2aJl zxAqztzoA!S=#UW>%QjX`F6?-~p<^tdoe$mq=a+kE7Fl%1Rrh{s&fZ1tzr)c7HedIr z6}>9AH1M#`956m4Xy=2MeD|CGTD5T+ueL9IqJ4c2h@Zaqp9_ziI@X#Y!^Q;IoJzVT zNrz~dN28IXrHOXfx@nu~R3E$=>8ik!bp@ypCkgZP}9YBSCp1 z)v(_yX2Ijt6))O2$=L`}h4?fX=*E0n>8-W(Kou&1NB^KazMsq*ms`HN{nfTrVy#%~ zVuGr*^hTzejEs!lF_Y%(K7763(B#>tU-AloqViL}Kj%B^|2q2@R$D@>>KD$N2dq`D z{VR_@v0MPaPMy7NaT99XH}%M^sSSzv6I`QDDP^97AD$1$DE!8~BS&7wv2@FT@P*ovD z>cg8;`-i4710s!Q_6CVo)){;V?UGefnN>G8Onh&MAe0r}3DM5(5s#8_fs+ZWq z8xpp}Y0`6e)zo~KiL8ReFly;cH{j~kJZaGNM|a_VZN64da0Kq!fmo|aiK-A%i{M0j z#Y^HvR1%Rg#ayhbn>IR}JQNnBJ_0+@ENC(#Bjdj@G!Q&N6(ng)l7e(?52lo6rB>!r zXw=xyRiI+oMoPBBRf8y^{NRPjn#J>4A6?2wjTqe2SjdIOh_)J30umCi zPgK097bPjjVA0w+C4flNGfD&k48alrHsaxl#9KySz)T4lwGAER{IiQH|5^0P+y&*A zmic9+{++HV2pTwVDG}%jE^|R4Amw^bnix?F09H8bTr)CyBU92d-ZAyN?|1NE1IUUy zuD^OwZ!RPLnH%q#d(xzB0y|@`Ib(l1|D_%t=;vQ^K`+8F0LbE{OS~c=sw))N)c_mz zIONa~7SQs;*IoK>rT5CV-*M^nk9_#E+ec>bKKt+2c=wg9eftF(JaUL3K+7*b^+In( z?D5_ay!M}qdk!30bK1afR0F3hT^QxlY|6OF7@q+ZiVS61yOOhtshVMv9N4Bm~#jhIQ!~a6vAK2S;xEiH*xvC##-Vk@$M&8-YkbhMiYICZ%U&Y&zv7 zudfsU(2hqh|JI`$`ZQ^4?LKUtiQ}z4z*)Ac~kHCxLSeN-W1rtYlOzYKl15&iE4u-qieSfi!?n2`Z|oTun+0 zqV$NELY0WDl5qxQl1?9&lWG(MbwQXD3Y|u==7bT1OXD~RNP$EJAU5R5P^}m!U=;9R zRfRAaWhkjA9KjQLf>VvfS6z}gFA54m1%w#NOaKuK6zpoZazK_@)yHo;`H}AFO!3Aa zselfu$>_=u)HEs6O-v^uQE>p69Hiu8=ZRp%d#VpKU>VlfGH1(haJ>dpADS2f6K0>- zjEs!`2DPnG)wM^Cx*1>9R_7#46=NN%7|B_wGg7GfDqB>fk`QcRKvM0$yxlH;am`B$ z7mjL{aU&WhjjS6psG&I@)S1pmD-m1(HH1J7h(#TV*0lTDaI$u^N`JG01%c;~IPVEn zFQt-ejq&trtDawB{_~nVzZ$P6jU6<&8nifWu%v->hNdkPX8}myHH=p8)l-J`yM&v>hC_? zW3_qIZnL+r1o(xw-F{bT^L^yFFrZ&C#HPOa4ZA{xpwTBK#;T@up=P-AUQ|^Yk~n2!iHBWZHpY#+5o;!H!KLs0g=Li zM2kT@c`z>;mwSF;(zdk2`GzQ$PgtC9@5+6ak&&@UNV&7LF$X-f)ZTr(^{ZE}Ni$zH zH1(r*y*`^#ioAClBvaDgzpEobRa_yk7~C%$J$T-~{@oDdl4_-1bHymECkTln_N1ce zbb!)WbP`%Ca0qH?LsdbdP_4zJr!yO4pz1~8Yab*}Rt;kIRp;B1a%-itR4vu#^S)3| z6j+clsn%SkY-ocg0@VAB-OS}l*Lk1IAPwiwksc2K@4s`d+g-XvCI_Hn3&B~kSXC*oBhfC`L35E!Na zFo_0h!htKPUuP9<9d60;&gWlU{?ekh*IK#N=Imf zJ<3hrG8))FmNlioMC_F`H94_@0#q5kuU2mgW9@)2HwwAoFoS^pikxZ*9^5dzzGYOr z{FzFnBZq_q)OQE%gjr3&YLW3<{FwNDvtw-{A7e_5$i6&ppK%GIRZ+K4E~ma7>V zo4gLQwFvTHhjX61^OSKL8c$BteZuDBINf=rC>PPYU!P4V#k_YLBr|Y%|4wzG0*LN)QcD|nG;?f+8u5=rx% zQ+lJbTnV|;#hpp1qtschl$}p}7^;X`2vOCjKtUb=D@bd4I<5U#JE^Eeh1XP88sZrd`UtU!`)RPL3h*Vt? zI~R%#2sR8$KB;SL8oT{A(eOdAtSr*y9+UYGWMpJ)_C;cP+~jv_R^I4Q zy~3x10;m3*3IhSf4z>~uDG?~CF6nGv+@8F+4EH>_x(=@n>rdl{*NqsIZ)u8(xw<;C z0Vy-A6*go{n(CBA)K#QhcAXv7&RAZpRGx2L{L13iWvi18S69(uNd|RRa}JS`Rahty z5NOPBwT_pptljs80aW1VMAj)ZOi&elZ??-0R_fcQU?ggDFv!U zAXX|9`f6vy1VJO20njESMWsf^f%w3ZM^Leig9^oFsV?}{waE6By6 zSv|73W!m_bM_*dewmhVSA>J4d%AzkbGWw#Qt7|BRgjk_#R<9vzH*OkcqR0}e3hiiX z(|5f-ee|y0!wr)0{vssNfLxq#j{EPj<%m6IzI^v%ZdHYoia6);xu7l#LzAl}`9wU# z6MLv5GHYYMsg^i2P19-8J#YfJcCQyvB3&EiO;onD+?QLcrBX+muO<7 zkqwC8$R%B~4l5u52^cV1vuLL-FY;6oQ6_D2h65ssEUvlXjkk zJZqqykk038x=*&zpOKNVIia_`;jK5(oBpJA`#{5$z;I|ZFOn;lE6b`$4q-_3%Q{NW zEvbZNRlo@oh7BBJP0m^vOV*OH5cP4j>YY}rzSJ3ac2>*PYRp8v6~UTu9$`LYCR zav(zlLX!5fL?ETLV-M)<-c?3MMo(lbhKzSQjN}VB0-zGNw^iJRJVg=;Xmiv7TIpzi z+ey8)wUxE@w5YE`$mE49ue|XS-~7lRJO1OR{b=qfpTA*Uqw~V}u9+~Eyp9dOuW`%YWJ4BYwXeVYDy?OUv1Ohdnh^skQA)=hk0+%o&{@16aLL#H&< z>ZfkaqIv&$;)N%lf8~XF3twIs?|%0Ar);%J{greDEs=uIbpV?rO%|iX3V?ioav>^@ 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�g&CVK=!jJoR!TK*?WhW5(_!V@)B;eOq0SN5pc%(Cbo)eZ@M1 zlgq5d%|L?zNOsI5H3-fqL-iA!2rVHRT-2xtzII$7tg=9-f$sa7rTvkw%IK3BfMZrZ zxCku(7S24)hgW()x*x|;P=Q{@HOgqk88ph|x)=j@0_U4}a=5U<){@&ks)IWZd?}0MY2jhCTkhe5Jb*>6p^_z9sgy0?2VAoW)GSIqj|Il82w%q0mOE z#4-P=dL02v%FgmG;pe^jQh2V!t(#c4j-Bq$pe@gYJrE1|9CCL%#Z3Qw^n350ny=f# z*6B$ptnVwrz^b!O!g1U+>13?Gzv!zipzLyfZ%_aJXzbV0Lg(0KCH9^^Ew=R|CvFi&RNWDI7M+;u)9$OZqz6TeZ4 z#EtLkXy_d1gDGk-;lp<1<8voDbmembw_cP~25t76W3ChQ~N0{zK!7=<}b4qWg?WW5K&$-6aj2@`@-|KJyU6}rgm~s1#nm< z`We?}lg(Q*d|Sbssh8@fzyA}SDtMRZA8I}Up&!2Bq>Q%~Kxi2f-j~_#pvM<8et@%>za$#B1i6vJDH3M^%+~RvalK@J8pJq?HJK+& ztE-Z~&jtMu+Os*Oo$*;gDZ%!>AN*yEcPk6E9A8j`2*KHyZzXo%QE1E{_&?Ey(xSaUMG)TJ5x@@kyKoI)FX}Yp#IsKEBAcz z0V_%(0xc3vV%EKnahL?2Ran4~gbno-(+R9De$dt)2=Y2v}Vw;Su)DK;IIOo-9G#--y2?heoQSR=0)Nvm>~yZ>DuRU*p&Ls ze6QO5u3{fQH|$y)`ECa7UT5^42D=}Rg`O(od=7et6b0NI1gE$*miZmu_N&`2yPCT$ zp7KMLcpqPdKAS)1h@bDH?pJ-Jag5_1#6*Y0mBqm#aWnojIcW7pbxw=)kg7r&b`#1$ zgD{%2IJ-_=iM+Xfx{TX_gPAT9EHc}{5nyQaFq|S3aud%3WlW)y6UmJa8mP8;5pz^z zu!2~NKwTiHCJAPgp%Ll4vLe6;3Z%gHq+s1uxbOwuOIE#~reAjt(>b;NsSv+V#(uSN z0Hi)GV`=;s^Q+2>m+F?ohp-&??Qs}a#fzTp$l-yqd+GMD^;8G((#(Vdq8lY5M+bE& zAes2Irf?c#uC06`4ohDkSmlj|=x^g&lgf@g0(kpIlAUtm^`Xft0$2$e0;$c=BcOq} zKMuRW;LpGmICd8H^bm^Pjg3wk=$>!zn2=;y9C#S1i{ExvMP7C8f;GiQ64L?k&bK4R zWb7G87erTR-}}Ht7#LoV=kQTBo(Gqnzt6GHTGq+`rw13*3ck<&K0#0?`Yi6gMvD7b zd-NH4?E>{O5*_J2lykp%ReSa$*z_4bj1PUT#C3j#`JOcsY0r;66tf}YE!4$#R-{_- zQ_BZ&FE-d>wFHtwd}D<|4MCO5gBTFb<1wR~8W;$(u8VaBet|Du_-fA&#rO+=hKV6p z5IHfiB3c4g>_(j>9O$BHLtLhj)G575CW|)??`?m{r!5?nd=QMs9Ngd|nCpdii%U+E zj{6LS)n`Fr(V!(+4dSdS%-6yeW?5jj^-PVox-icAjwH(FO{1SJPxE`2(Cb)2A`h(f z1hhUQXXoKFkVCHhxIsFlkO7NmhSR2>)g#8g;12=BxP`MDJ9kZTq7#paQP|^$g&}yy z{5xZ%<+k^xlyZgWI9RZ-KGz-cm-Hjr)&%H`IyeHOZ+C&Ifh-8Ls<^0$j6&omb-7Xi z77bxiWwKynptuZM&ji3(hnqPa7G0i2Se!N4B5BF~_P4IXQO=tAqBB?WtY>Ah`oHsc z!7TfESN^hl-o(UzmE`y7^?8g!*!gK==Q)Ib(e}D%G!$oTBiD}Ae{nI{nxrW7lpZGd z(!2GtMC@@Q8sq$o_F3-T2-o<2PHEE`K-rII1bPtf%}n;oS_%rNsSl2y${Jm7z!Tz> zTY!&J)lZPt<5>d(M)eBJ`*<*alb;eqO3HiTb-5D0$Dv7RkMx(|;lNND z5okGK)aV9>1pmVrLdr7M(h!mzTW4k(rMqHrbgd>RKu_8&(}nuRNbQ0ycrq!jMG2aw z%4FnlYka{BC3pdRtyHbifE|zX;o2sTfafoqk&FaTYyt8w)k^;fgrZ?{quWVg_sysG zo%+eomW&m;Z4(#AjAY(%r4&u7jy{Z}>)?AFmC@SL?1DsD6EIA%Km7ZLeUFm{H<<+y z@LIi|i{I-VPL1EOwnkuyFLy)iFV>l!3)eCo zi>$5xXl`sB*M7%M<*e|c!L1tzEY9RedbRC-%-p=qum4;`Wv{=(*qEcp=0Yp$5+Rd010$L~)FBZ9UQagS&Q|KRH5G05&hQ-R{1AnO{ z^=QnLm;>)S$W8ugkeNZV{ZUbx$4j(`HeOM5+xZB_WQ;3GZzroWREltzHHS6AeZR2; z6<>$rF89%bZj>A&SV+^gEg#IXVm&y6#W8-ljpGq?@9s-pwny32K_;7Lw5eDAvlS;N zD(ci~YC1uDe`VEnOuAiZ$o|$zUB5?Y`#Ilh;CTwnS~N_B$WfM+Jol!op$%#BLZ7G5~o{c zR`%oOACWKY&7Lhkj6fjcGwwjw_tpI7t_RFq@1yILuvh9FdSw;;n5w<{uO3I_htHc8 zL2gMAb2yq3dAPWM5svf<$Eh(<0|Ogzp(40Wjl_tY;X}r6gQWQZ4s|1knrG1nc#!V2 zO9WtWsB9uN*Cw|njqe^&#O#IWq7lQWqzPP1h)=xgUn8&o=m2>~J8~~45Bpi1ZQ2FX zT{l~S{t~SEa+Rpca-Bx+S1!#PpR0}JVL+%GQy1r&f0TpHSDF48biU;9gNziZF+WIY z`ykmR^OA91_$QaelT&M|i9Qv}jLFt%eg%U!1WO?-Znw1<*HAo)P0H|pM45!*$PltCLFM0-cjL9X9A=W1h z&%TmlOxO7fc4_6&SBJ(u(xikM#ILrc{=4=nla2~we(3nal@5-EDtxjZVqfYU*1Wnc z9bVQWvN!5VIsRY}9q8Q5%0o|(9j-HPk4W$9qY^s99FL&LQF-xBy$*OEiIMRzyr3ay z_LtmKV2>Xe#bg@wz()e-aVQmfzemu|vt`(Pa>XH?jjai#j0c$fg&)_^ckFxW*mi=* zKH!K43n3fC7axPIIF!`P^K`^O%-yeLIFlPfWB`!;ar`y(ebNZ%YjtsuWRt}f zCk?Cy8#htLJ@O_9y&<{+Y8>n}I3(S#FwsvN+~`tUCAnBb>z3Dyvh2o?3!_C2TPg-V zMqvTtgD>qd$4vhSbCF-o#rpgE`z7n&o5pKL55&7k>>;jqC zfERs-X)fPAn0njW#NE9SehU2I|C5u!T9wS>4 z8S$aWlfEA&BJIE*1abw~EQYR|&-7{KVG**GJDJ;A$r_K~DofBN~$$c|J`Z zyTBxSsRzhpz9vJto*rSfHa7Mj#RgZ>E;=H|>(raVWKJ}+CQQ{cp1CbgX|TDvjDos;7?_>S%_>p!Hx}M+SU@4B6V(r+o$gJm3{04L$ z`CntV1m68ny!xryJht5CnmCY3(D&JF)&?hvzXIctz>Lw74@sfK5flp$=yDvBWP{te zk&S}cCJD@pIMKIpqR-AxqpK=-;u>31(0TSiJHQm8K7IWGuIh= z@ibg{^bIwUQ97MfQ!%d=B)`w;*YLYF5vx=0{Rn266=BDNb^Mz%oU$3C<`VEb&ncQ* zmKJrS6(@AX+KzRN(dY8QX0Ae>O2-kJjEy0|TpaR+#+o_`CzNU9eQ@a(b7)2+xLx@d zI|v8~wA$boWI(!PY4|%21cXu#VvLP~3c#^0!CH{{aOxbfA8R%WBO5CG`=F<14~6P7 zTWSaD7p}0k9vjzfrfXBgrT&iO>~Kv4acE;xBOdb|_um>ffMllV-L9E**c4bZqd`as z=)Hz>S&E6G4d%WD5wc1m7DFF66imcbN_b+l~|Qra`**1dZIo*D`|=n}&r zG-HI1H`|=r?EZAYlszQq6WI)!qeg3d;nRo*HCQ`JTD~Y0v!b}I)B~=DR+&d_Eghbd zCJZMC$pCOlK+hmrpNl+59e+mpgMy zNHqkG!xe>GC|N_v3_j{3tV-h9kAT5ZRTZf@25u~;%R$n6~q-TyJ^iKWVa zJ_I_$mpr)Ov_WTV2?aQ*cc7V#4G()!sT(q;P&tns2_X%XIB`%S0>E4pK0~T?1`IX* zEQ08Jd1mBb0PF(=nqt zWGO1)Xx`8q1q}#x7UBDT+c`&^hnt$Ts!G1K4jjXo(qveYz+Gg1L9dK*xa6@=(x1^H ztTr!|^Fj7`mlkV0FGuyaPPgBt7qtE}(w!_ZoQB3dYu`fikqF(#tS$vyZf0^nUHtYs z4j>#!y&1x>jYvt|^Wc;?NUc{=y3W+7DbKqh70`CuNg=cqlS+~t?8nBwVM%N45um1T zmPpIKRxn`eV4aYW3?AKH-``!If=P2!dG-&@V-@_8V3m!)St5UUdvgTG5RE3KFK|$# zt&}fGDxvHlT^=6dlaR7BhxD#6{diWJsh!=;_`{-WcLM$;O)wC5gk+#jHQM5=hwdu{2^d60 z1#~)mq-YZLAipaJi>i%~gkiflA1(zdodY>0JXBQ*v-Mo8H z^%~|eFf)e)BZ$@$J`9D-rOiFVwF_QvoB8p^MPQ^X@gza$Ojc+-z?I|)CtBXaf(imu z)J4N+Jz%9is`pLCTTx)d}Op zR)ocdi9elC!nC-7bNSc81{+o1|4|PL z%w>~6#*Q#l?TrdRPMMsQD%N#mHfbYtTe0=wXs4QY_w9QCH3p)=^H% z1;Cq>vN{;bmYM5i39p$uVKwW4?MG!vJ>n5{caOuu#Wa5juZ3sJ;s_#BjG{en=A)TqmRo@Tsg&}z z$oaogAj22^KF9zd8DWi{&q5nQBT)pH)$Pb4?6b_DY zah)ZlL+P>gzpZ!bb{8Bi?9^M@w12%Dv|wK;YMiWLgK<@wJeWhd%<}0|VLmOB>y@An zmzca2LG>3wL=y-3q7SS0M%BA7RG|*AziO3cH__ujCDaiM!L{+JpXco7_Ny~`29*9R zNw{q3243c{n7H-wxdQA$e!irHWb)+(#s65P@rQJDghiL7f*T1K)EFua#5S^Bg00X? zUA4!Uk)nX_LBLR46)}(74Tq|jeR$xo%}91}gPhOI&p(0n!D0M^!dOh?lNP)7SB4l+ zNtN(>Dtn2CQ4+cA8$eUrgAqJ8_P%idZGpbE*O0rXou>Ix`DYgZlp}$Uk>8E!MGDRs zL`PCl4yNcyxpo*EPJO?u_d5*aX>Rt}K60V<>2f)hAJTI}DbdY%-weJkjV0Im&l-YG z{kJTrBBjoK*|a!U)6PeKuhsE~o?COv{ATi@K(}>a5j~gCzK@lC0QP{u)WXZ{u(tGN z!+TFZsi50j7#C|SK*up0m`Yp7Q1`y<00T(#(1xbLx*#b)T)RC#ePgywJ25~EJBZI-o6p^FB zTicoO+=Ir@Y|gHfH6alY6i^AEHEW!M%a;O=o zX+o#o%8}s2`^%kGbHQ&T6J*(XFIee0eT>8S-cdI{zT8(%@MBDx!81DMXl@nH_i5K3 zqCmcrWBxM#*;i1T4C*|6ZRMFf{WfXhx5BQ#Izb761;v)u{@a4TH{7AMM^^Ksr?@9& zpAZt_sE{F4@K@+L1#7Pq5?z%!ODr7acauAZtg;~-Ja*_R=I(a?ES?Itpu<$ZeINYh zE<_}DcmrtOz*l;1XeN}nvj4dLMdkO;yA#WKP`g3*htAebs|0=J#(;M=s2&y?3k zY8>KyU&pV5gJz$(*N>AW-+T2i#6DD-)A7144NcA*D+fgSRFD8@^5uHdG^cK#HIll z$-iCx8FWX zPcuN(LeyDk=os<^YqmV(mmMj$JLZmCH5C509_F{zRbwQ5Hc9hg6O>kyV>yKu-8Ty^ zf3O*`-Q*dQo2Vj{9*2x$jYq1%LMy<8ij4dc?X!}jI4!Ceq^xes<6ut8x{6E}qMPPG zd-PcFLM0k6z-ga>vbIMXO<88Ees6KM$bwql$e)&Gxjapwhk_IwNF&bTZRP3cU~pTt zTkSKXJ?%m2n7nvAo8}m1Qb44+MD&lf)O6%QLeq9qvGqv&Hvf6ez3D5qs>k~(-@M)! z8u#PZ(!p)!=BJL(75kRg=gwHw`Zb>|m?h==Z60gD%%e;hY6kk$q@s@8(5tix`#mH? zR!;tV$IZS1mzB^e6qaMqp-4_*`?rJ0{Og|8uj4Rs>r|>m_r8mmm->{Pv1vmWs{MbD zn>yoXf0!!o!OxOAAo8Ln|M&?TW9(%tx38qhC*L#fI@{il#P$jWE4l}>-(;Eh)d0~VEOv+MTz5}@! zKVf2tISReZOl7{;(N`qr?-k&XrJ{u_7Nj#2P8opxRYCQ}MHMq{w*Pul!GIQCftK)U zP~w~BP6yp2h^sxLj?27D4-Xb1E}ES87Z0tO6*LHIb9uv;9Vd@_kz!=XopgJZQ?Vk@QZ`5|(q^NXjihg@yxi8~o=V#bv+Mx&zYFmza-M)oFPCK%T zyj$y!>K|d2^Lkmi+lkBV ze2vYlI;}c2YF}HQ_g-o+Wf@6*H$!CMvAt)(T0z}CHb)vxKZ*cj6&F!}X~U0mxV0A_ zy6`uyBl>Q5cxT9i-$Z?O;LBY~>l0W2oA8w?UvgM4&=dzFS;rhU7$1hq~5#|R)(`Xe;BsdxUgnVGDrrxqkuKQabHBsyIscCvh z-9pU2tb&@rmKjuLW_*ntHSQ9w0EaAB0#!4S*My$;WhwK+lz=x`z73f+EouTL1jdip z=lLiG6CNc2OlWlRX{nwR`J+_ZIBFQBJQ_{Fcp`Nh_c!`|l^6cKL~=F}*-2v-Iv}ZD zC0fg<1uel66`Tw(5@J3tUmO|Mn9cZ4d>9v}$Z}m@wHmK3mB`o{jeeNNX;bRPYvZMG zft>$fzjLmO$f?8sT^85B%hFk`cE4=i+yK&0`#4yTF~$-XXLKCOJdbUtpn zzRwB0fO;mxP`o1?M>4s6ZkM{+D3x+P_CGK1yI!%0PfiPuZ>`;#DebEYW{0S%Ty+DbY>iS^{!!$!4QLwhcku z4h=W*lp8VzBnNd>-rWQVw!c`cd5=iAHEn67*<|SyKW{D)es2U~g~RK=n{ioTBLl;u zj&j-wso^?(tuP-Yax`*;5-SitQ9<&M z6G!QjipTO{4KRXwue+Zx`?(GA`@$V;*OM|n8V#Rhyv=xrmJGHvvmZAYQG8Nal!k4_ z!uBi0VBHXbaekc)jc5=r9^Qn6v4vSUMMDi-Qj)E3ERC2;P6xgR@v9XycV%JBf^Scg+1z#CNl;ZZFLX_m$TQ2=MBAZq4{|6`Mv^lGCKN9(vNXo01znhj)G}zxj!Kb7dwa2Y?05j@x58U-8M25#&C6Ue;$7D}VtQ>+EwB_{W&TQ= z2ZKi=g0wt>b=7#bB;d>Dcd~QtVVyD`AyO{r{7-LK`hm@OUsxJ?UwWidSPoIU!Yuk{ za-qCEFLj;0rNj6hbEEwEis$^%H$Z_Hjd1&Hx)vKjSHRKa1d$jF(1%6S7a2~?r+pRL zS7|^{pSm!TiA-2m#KYD|@tX*7jn-!!&}c=Dl_i*cL8Fw!AUP6u`~p5$0b2kFDi9Bb z$0S^#u&cBXNcSLK4D&3@3y0P?wU~AFxj6Lc)=#Lfc&`1|ak$ipY2^4^Wv`oW$F&LRk#)+tR-lRls1JqLDtxN) zPFHuY1X8*P(Y)2;b;9l`>QdmoY-m)hblQE%^>%%4fJr|M>sHI^`p0#0Rn z^h;yvoDP%M#lb$he4|i022<=$w*-;!VR5??%v$Rh>V5)R?U7J40t(|Yaq!h-t`430 z`E=Bj5$jncjAGbMF9@d$Jj2RNB!o;ZNnMAz?5!uHFg+JH;lSvUaEHa?!yo@kZ2X@~ zjIB+nvZu03p}U%6>#{FX6>^u_g`nFxw(T6=spxZXCx*f;sk;#`ZJidgJmm;R1Br?R zs1t@_2o#pW^6xE!F5rN39vv(gB;$l|NVqL+d==N?KmE}FkR`)YWld3QqKgp40Hz|n zgQL;}nGIOuALjJGxbg`YTNp4!@rEK;ILw54sA3HZjQ3)%1+(>lIh!NNfSO-N_x?Dw z=lVXqO&V45-?O)0k zbovrHFw-wtp~sRk^=70c3zuMYfDf)hLteGlnzq}Z*trZYWu%V)X3XSg4qU`5P!_Mw z5(C3TZ~zzt2aFG@sMHkN{YuZf*5AWPZVqE8mHlp5BE<$z%C+&QB+1}6pYLI1^{d-v zr^n~-LYq(n5)0E}47cjIpZ_z~zW>V?H~we57bl^4b(f1 zTR;%F73xN_>v2Dj6V~)8x5&tgltE4j7rs+s#*GJ0QbNnsd6(c^z21KmMubutmT5FgU@z6&5tNugg&!{tMJD@NaefnEx+P%%-!d z3a`&#nD6R%arQzi2#gb0uvvE$3sUXtTcOK{Pj4I`z_JZ7N}~ni5r-fJhZJLALGx+? z4MxgLoT?F!v$N(=Z4yFnkJB6|k;lqGI3Mk0&l*+xWm|rj6lS(XUOhq_p3k}+tt$y7XI0>BggO)* zdrsHM#}xjY$4gQ*m-!#zCzNe>e|_R*h>TpHOr1{KH^1=tT1D)x9yJs9b4VNZ1tKCj)(^FeLG)z z8H1~l<9aX~>^>T5bi9C@B!VHxQQ^j-bg|&psJi1lr@G^E6NF~ib3RnN*ekBJ)>(s(R5<95{3U^zS_s#_ifM!|CIMYu^k1ct}k#x zA4%RiRIQ*C)pWMpjxbMOa~SCbVtL@f;@lfi&KU;6W6?a;c#PRB1)fI#?Db%o3_30T zsiX10)+D*i;*&aKoTYDlIqN|AeBKai%P;3s)$Sd2?3yU7CfYd z4&^2$p$<#ixtPDY4n0a)t^6Up3fw9d$qz{5VUv-j^$`97qHz!pVX~+mBH+w@@@G)o z6^Z`pPC6PuxIt)lH4H@-Q8|BFk$CfQ^Wk`iH z@eJ0}jS;=~Z$)lR0`<4YZrN+!FVbG`RO{h?r}Q;E_(1Ee`sqI++mNX;@w~2hw5MNv z+skzyx$k6$^tYZ_g#-XwJDEILG`G?vt-phRR7e`iCB+5sO}FS(azzsJVI5IWMZ?Mb+Tjn zeL3uL6AMB-ae5{8vKFy*4b@J?wp(dAXt$Wt^YePiszfTQzp!1X{|qs^`*Qv3`$WA; z=eJgy)0E=+?(DaV(xk&n^KsPy%XruMDhv{_CcB+krBZM^h3b+%I(3{R=sY%pArTuK z8q1Ags;}_|H;fE`L-|rRb9@7aMKqE}b3ycda_YVh% zmo@%+>1l@SCt>W79*@>?0S8yEghtQZffi>&oY%s&Ri`n|Jk}f-sJg_)vSnx#_1BjH zHYtUxvFEW3;uu*^Q9!36V0?S`tftJX?6rez$8e@Q!Kb5T)M=XBm5z}hptx!6ytaqr zY?YI>0t#mUfxzNqeScTypr%Y3sW8qF=KyeY3DaNYL|=el0YDl^i$s4aQj5y77TV%` z5y`@9_i-E8I9i*n!5e=uC|W(R3nbTwMeRi{87lis-B} zD#qIk7jx>{x@eBvyL5B7#3D)ypqdd3=(pkKINpk*I7ZR6g8|iA%K^eoCoV5)hb4=6 z?A8qzP7ez{<-Xy5?K>+YzqvoTlEP>St8oOZ=Xt}7GrCRjeKv&^e505;p?`SwN4in- z3*HDJM4gO%;#RinIcO3qdYn8?P0>XIG$tmyeD;EZ_zp8*0T_%&M?oIN?X6-XCyuk9 zIw`~X>Klc|&b-IvOq@cide~i$2eXwC=ck02Wdbl+3o9{SE)!%AvLA0=JTHP+&hKUl zFZig{Mcp3?iQ^(T_PBYfw}a)?1VJ8MdabmyGviIq z-kt{Bdd@lB^0}USto+38aNL3@+|CUp zJ@|8a@$Br-QoDJjMYVh#4^hRV*=(&PFx}2LucIix&li*96r2QE%>-{t3T5 zsTNPbB>|rX;7vmlsz(x-fO!U6^p5l{jd0Qe2xwX7uaz%Tr%2TmPYDg6oKQoktQ z!5=@W^r&EYs`6_x-a2VD4Np#vkB=c89Ey~qFo2vK&8~nsM4{3%Z`KWb1@xz;;IaT|w6wmVRgP|0C~7%Da4q4TFl5{jysoGH z{_+Y1D4SmOa581wtZ5W2+T%K1eLZ60wI#3IfchkG(`c{7j>+h9rCz|E$yASL)>nPS z&-FN()WubE;TWdfQrNVHD{iMU>meMMcOi|}(QGTMGZp6cU~@uR)>=3{ zN*wwMf{D^rCpt%XAQZeKt`8MzrlL)aU4f`3_WB+xt|RzbocY;FwwXtc&Ag%8z>5qB zWhUn|CsV30*7g8lI@^6k_g_tSE}Y;k-1MyR)8+;rSe$x4>1W1f+(6?}xkbM8c+>3E zE-E2pd&+m`>{e-nXeOm?>Q$JO^7}rtV)`+mBBt=?X31nr((!Q`d&~6?6(`ZP33(!*E zEJXk!Bxui8!D-+7M8#;$6IW06Hccc3ZcDvshoOtlcv@%dWxq9%$(Qu}nJ;YIOthPh zVpW^?9_gPK;7o?Xtc-3x8!3fOO94ZI44DTTOaUbY4G17Fn#Y3gXJbH@qm`y7waGW6 zqd>enfUI}ADW2M&P#8O#9!$+WS3oJ+GuB8y*5})9>JgsCD*_ku7mpVQ$FNkpN9FBI zn%exwaM6TEEXx%z#89q1@!4VBEboKh=zmphdGGt0-PmeYtXiWoS*2`wQ96}=Pq|UCgM9LmOuR6Ius>`O{j!_UBRK#@Mu8O=ULTM z%93Z~ct_5oAp60|q_0RV@sQryXKnE{#PK@W>iY&B7;Xw~vl!Y>St(4o(w4v3tKn8m zR&%urgX`O0=zlO7L4S1uQ)>TvpQ`&g@f8l$>T4l&7pmwtb+@ttFphW(H0u~VDA;mX z$x%9_hMKk)1Tb*edH-P1Z%DF=-%P?z2GO_ZE2Vfy2mu(zuqGtZB+8An&HzGTd?hfn z^x2a6QH{BYowwA_=9~AGOtFu3w&SS0vY#w}`w9`GipU$#Jh8bu!ud^on6tU^9<8Qg z_IG=5j9_yAOxuCSLq@#VLgqmQyNqK%FULj)S&Yrv9r!(*;fDw@gv1lFFmR6`R&R-+ z5!%2;pkew~W~Vt?7Xv1sW45bgcF0L-X5kyi$Y?PVW=9uCXGUkflw`HchKhIZ-)N@L zQqVEV=OZEV)z-uot|jUs6oGKJq2^Ro*=7SZkB=vA-xxE}jz#E?SlLyk525n|Fo6F5 zkF37{YV&K}$KeDG6bVkT;#%BFvEZ&niWe(x#fk?h?pmO@7k7#lx8m+r+}+_HKF{~} z$omd6WF|A2`<&ftcdy;E_gM?-y+;3OasV1Im|B_&%Un;-TG20>JeqU&GWq0BF8j4` zcdsuDko;_?-<_s+g8c>qqxQ&fA!`Q9zt+c5CSp+=c4ChW8um+u#-eC{jQ5;5w_Hu9 z7U&6HZQo%}bod-ZVE$NS@68+?v5RcmYE{BdIG#x756kem$P#*PESDm0nMsJ!<=CDf zV*Tzgy^}g@MX8cB;`uPrUSLWehdoTOuI;dkw! zYN=j4EcW%f=kKWe!gTzoP#U$fK3P^Hh-Xb9t~UUj7C_X)AIfW!8(sm0T$ zCrs8HuwQgdehNO;T78~zZoKw8R6J#)3t|9@G#Uqd2@xof9@9Vbckp~V*wm-G;$|U3 zZjgdAw;4+W)i~H(I%;%068N!Vp&lJ(+Uy!_T?jM?^bqpz9TmRullt|*eCgfEy&cYb z0=%Qy%Fk5h3mTDFBAqz)$yJQ7x3o>Z(^8tR<{?a>NlPgM>c%lFf=DECr56SqYBVxM zK=o@Jh(!4)flg2oRi1YpHoh~*O6Pf-+qqo*SBMX{Ln*gks!C|*Btv^ov{!lBamDM# zWeM30`?^36g*ak{pb&FZxKa^{Xz`drc4IZtSHqc{Fb`Bxxi0_S%346L?CCxWh)^~2 zX!eJ5Vz1O6!+oPbDRO6NGa@X7=*X{K^WtV^w0w`r!?s4ChI!}Aj_i%YX~4I*qgSGsrPx)Wv7081^PbEujjCxPc=s{JS@`Yd5N#D`L2(H8o^GxGprG}pRBx+ zKeary5a>6Q^agi^#~;CuSUt8kB-AFJIXCTPyO1I1@m$B;7fh#8&kzd}-|xA>+gjQo zMK$02`OK=QJJYASOD*jdTqD_wMFB3XVI@2F{QM@D74YS zr?f21GlZlKF#CMMXlV>;W5)cjAC#h?W;!KtS?Vz)SS!kg4#|oi4-GH{?S{q(+ipHK z6dK(vDl8nR^~Sv(uR}uqod}x~j19723_o8XgUQS~%AmfOb8QNKlA977ix29k08-C# zEUc7_u)|<3?{gm)Y9k@KA8S8LDc0yoA0S`y(-%}j%aBQ-S)!iwD&%@41Xo$NIGA(- zq)iT@W@t5((7PF3I>qd`QChm)U#vtH{` ziBX0Vf#L#?%qO)i;0E)s@W4QtpPlg0aD^#GHI_Xe%Bf6cbUU0XkO*O)D5cpOC=>v7aS|Bn06>Yh`we2-?fxqtoS^_)8f1VBpD1rFMc z+rDN>ecpqSS3aw|)oTs2OOMqIy1z1`5-Tf$cmC@4jMoQ(yFY{!XrL^Q2U8=jE*0;u zkK#A$Nv6lR7BCMogl$a?hp3)f=`zxpfESS#$8EKS1^cYGCxeJHwZa2j7{ZmB`vo(l z)+R+x6n&IIeE<#;(Y$`Kj<(V+Zkx|CikTL}4ngnoCr^zg05XAK(eL?nHhJ;UU)q+i zr-ue-BGuHn=t^2;@_st(s46c~gmjRSf0=t<#_-8Q`|ZciN~vvb{X7M@j>eJz3Jhh2 zKCF~zTwoStwFu^?!z)|9_Lub&hVA)a9en+B@f9~y6$1sxGWaLnt>D7EwbFiUrdmu# zE>A4W{F`Rx;2AbFr&i%TEj`j-d~Vhw^*3^I)lg z%0wL;zd3aE>-m@L^4;}>>=YFhCqBEqzWvo&lUc0rDuxUJ6AD!S5J>4u2|x%T7s>I3 z5Y@;wD`Y094q(F)aAawCR4~VwoGL^+Q~D2UsJfuZKl&_r(I-LmzC+pvM8KS*a7L|n z(ym>LZBOs3GJ*WmkY$WsQi~S$oTE(GU3=d4gYYXyv*mc{mnpnGkJWbfA@CgI9(uPY zc}yz;cY)Q8G&}1I#;{S{$36BshfQzRZ~$tRtLJu|O*_l;Zf(|Tq&l)%_OQu53bacC z**d+MfXvbQiEZ^GqsI=3bKc^d6uBIQ`%b|Mj>!f^HfCuoZ1WK9*hxTUJDOBWSfcIo zB;#3A%EiGr<0=nH!7KtzUWp95Rh~Dq!BYVhiU|+^Hp=FCZw~k%N8TyA7RsMb^{_gu z)4cq+T*7U@%CG=*GyT+)fS*s1z$HQ$ia>!+0EaxA@pf_$_5 zdp{9-Epi%Z^3#3(vj8ZRzVdUdGR|n>JRdrMo;vg=!Y}px7I*+4J~%|>a_W5Q;qFbr zOb7IIVZ4DUphlip1uwC^ql5vux7hX5drWsYpSdC()d|D#Z$8H58TATC9=koTyMuYdh(=37@4#YBdX#PfZ;vuT$fFN9; zL;|W5BgyzDP^T#ax=Jo;6D4^wS;mMYb*Fs)@E`LOIa|)?gyq~!g$k|o&FhA7FUh(j zRRuP%FLrehjybNh`UBrQZwfMuvygsU#&nZ=1m~+vQf< zPTLPPmP>awL}x&8#W)faXU^RdGgD!U^GU30C*iyPxU(e|Ug$i>Mx>8-ouR>%#FmLE z1pxZzm~(4P2)*(8)s0nY#vB*Zslw52edPNVk^OsBRiXtw9LD%OX>k)7I&@rYI6p3C zDqAsuEv*Wt!N05;{hx|$ORLet{S>qra7D>`jM?S?Ji9@_03;|<1<)FT4g%0ZL+2wC z8Oq{mzop6wKYiKN6yCLo#;X(mm}4AMA^+M{UPpT#I}^_jMn>z%DT3|%VOXp5azccS zn#H={;;*x6t2#-_nw>^ulBanf)6|Wg#+Z$?uh|u~VVZ!5f|&SCq^NSU3yllgP2b0^ zgIxk7GY~qRHuLJOXIQxTCo)oE6O#7r(pgh;SBVRR-GFe*^ z()F!|%B5=`RkH8tuHZ7=sh8CCO)}2;y*vXAJt9Cf7~Vn&AsS^B@D2*d1c1e@OdiWA0WQCX|d(UuHUHZ-G`&F9w!>ZqLh43IqK3R z{@YlmP=Tu4v|597ezV3rcA2Z%qFR87id2w=3oEzqHM=4dgP~LY4-X^QMWX=#-+W==<^A z;kg!nA?{)?GC!Wl*SA%Ns$yN}Vt$cWSQG$RbXBTsxST5m^HK{DD&){HZ|>?+eC-!b=Baigb;Nr8k#SJe#eQ ze1Ed($H%MD(=yaC@8lA&m6C9JmmBX(jiN$fDGrCQ-u@!y+13DY06myG7+2FhqpT%$ z6L0v*qEkt({;gK6g&g}k6|qdZRTjjs9cKaV*+tw>!bcoCtF|JT`K6DcdX! zwg#KP4i91wwk6o%v?P>jEGaBP-yAQFNIxomO% zxM&^#caDb-1dXn2ndH8_XU3CAFiTr(G@B7EJ14WOs>CE zrvz4JvR@@>#cmGuM;DQ?ApoEVy~^4e^%0rUOyhy3*wG3Y*p#Sn%mC$quGFVs z^Gr5{>PCJ5f2qgtOGZlCn4_q(qoum0dzS*+57a0Mv)D38X_jz_pi$5=txNYli%Yw$&%G;xtRXUHij4v1P5L zDX-E=%G;06K7^C}D-LKzx>v8O!M@$fO@$^=a z`fzSySZ2jLfo`|HzeLgM^0!c^lTkV@tlq#RtxE%uhU7s}aXM^+8!1dg`U0X+4B;t} zy3i`nm9c9OWaD|1aGg}37}->#?LX~svwvRZM3}#tT)4ZB=g=csF_y}J|8DlJ0?mO5>f%}qPbEcHD z4yC{6ed-FcTDg0BHJJa|!BumO)&6&>8bY3!iKV?o1?Vj~N`N$x%&Q8-9t3fk04(D= zHFhm$;S%%;^kCUwA}}YrtuGzn2#K%Qu$i*H&Hl2?cOA*&N(u;@O_=m%2tT0q-71Wk{DEMC~g+)dmFw zWP(W$h(#zEsP!K0h6pA-AGOy=T(4=cbH?LZEnR=6$NzJNJ8M7)Lvv2k7`^*-2=A5} zICJdt==WzdzM6Cs_srG3Q&(7bzxe3pxxpKLw_c$ZMCIaUJtd=j*{4>I_sc?1$){KX#iI)uRLH87k~ z5||UrF0KQm5|L32oJNYF2Al9pN=)iuJ0yuO(XeaEOzM%iBn2#W8!9>U>5-hp2MExp zxF(Z3_4=iMUm-njB$-g72TGeWZw!PpGUe+!EaVM{+v_#VEut44KPsPfOqzc1X3^fx zjraIsW8i`&SQ(7}NjqPsCt-EL80L--lv>LQSsYjZU>IBdizJI{dkSa(E&`^@4gSJ? zf!Bi2M#p^3X{9}k;C>EWsY$&dK+FV)gW<%dEY*`{r}!M#t>9n0dS%+`YbmV_9G!4u81=22LtQ#)!csi-o^4zP(Gm+-O}l#E1lO> zht5R7ke<#*lIzc#Fh){#jnbkhyt|{AObb_J#0&=)irGOi0{UB5qmgCq*5_mzdzBRQ zdw-Z^v9k2xzSN4BMd!=+`&ky>$kK^wKNb;*LSt=)>#QjXcIl=Bw)l7t{0=5&7flkx7-osOw*t4p$Hdku|vfv z@JpOk{FIBc$)?36)I~{rmQW{|=ln8#m{F?FpMWP*|3neOmlA=ZWp}ahaE(-}%Secg zU>UyPh*#$JFU-kbd*!-MyA{P`UXGWo<tXpgV@)6-N#E~ zr(5NeA*Q-PXv7}7Dnis|=dhyQef1qJB;w)XjCsWA`6gei`IpyGo5$+4rjPbbkXaU0 z*c&1N0in}nm6mFG&1nY$edon*np2LwxJ!3aavOF;yw$^0W4|_nGVE4hH>obAeAk#T zR(#|5XV-X7OSo=r!PU0y@iuCjv^ha+y)KMI%-vdw4?@4V_70S+{WGnbI44z>hvj2V z)K0Xw6Y_as-4Slo=2-(2B9RmGJvKNI42Ok=AfatVSE6exM~@Js><^%@j;|9H1;VKS zGLaw>a6ozFKBP_a@kllsF-uK07SB4gK%47)o3#v|xrz$5s}F{IJ*rB{O9298rr)vh zKt|F72o~AVDl`cvnOI5UvCp||Fq`qI>f-(|W%b4R^i2G&F`e4waMJD4{yaq;=u^5R zS-XCzVY!CJ_fJ6Ybb#qXwKC6cdCFtBWjdR6_3m$ZJ@9Y5-N%Phrf08{?l;rj zS4w83`gC4lKgj0f8zC5Km!R3jT0DI?_qv=$PYjVDCadeB^wN7+7LmTJm z?k1uu1(GC30|#FH3cVwZrtaNumNgmgZ!6n z*q@7P)oqJ2mckPj;BLMz0d~SBM655Da>h<$+8Ep{mCQV!-whhrMUr%xz428`%%b)a zQN;$F_>zOw5u8ZC(jQHbe&dld(ZE@x4tC9# zo^lh5$!R7$HP<+K{VHJ_XB4sQj8U~R#1RLqi}s?k$+I!rq-fKNOZlzC75-x)$Us<5 zJe&;=*O&6cUGIx)sXA+b$4b^;JD7h2Y&kShj?HGw0x87LA9OQj-~nSFJs*3RPaB3t zUKt}FCg@aXVG5y^#I$|cBAF`{6PXA{d!v3puifT3<|-HZ^n*avRkC;Z5cP{c*=~TW zONoA+Xa81TIxR!#1BO&VJd1woFQ<&Qo6t{TkxTr%RYEH_#_MhTZK67fTna3~+(7ph1s7_(IP#~lK`5pWkjCH z@%e)%$?TiW_@|clb#{9EsttyNI&s1aIg*X8{0|Mrk%gpV+QL_pOwLIp?uRt0Pwg3B znHgEUPHQnOrTl;fGgR-%oW*-{8lCps#e1vHLXRGwmrwpW7vsBar#l#_+DobQ%f$&T z=0v8AHZA;qYH1{yZv7BcM^;}kIH?J&ludXqcO%BR z3!RUq29nSiksE2xLQz$+*`jrG^>TG{6$nt?@R?{@>K!>qr2GwSrj=CW+2qBu(eX&- ziAluc5uaqX(G)n~%#|a`XG4!Ztx}e-$TO6lVEe`upKbmYzs?zfgHc^li^h5mi+Pbm zyN$206pf(#ZG;M2BoNt4wjqJXrl!vxh^?YqL@(RRp;G+Lf(C?05epH8sL_L-p;Vp8 z7cD)>PA}nhYE}OIy|Li)U%l-NH`T*FUf~C)f!mow6{>p77NftTK9iC3dE+{lWleu0 z)j1W;G0QxaRbCGq&kCQm#GmEx(q8PiynDLB-^w~=6=FNOMdGLOPlYn5^x*$z_b#2O&^_(B_uG$cHy?CMv zll=SYst+w>Ux*WXzj!FrqxLclG6j!1+P#g!qN-ppJ#<~hW7|n&&Hrd#W-WE(M&T#yBj+C<9_&v&EAQM@*tj1%bO+l8VMu=$2E((5fI5n@~Xz77uFAoxlGwLx&`(g;v$^fRbfp)V)~;$MM63PGTtrZg0P^;3=U zfHpn^n*mP69O2Nfs{kL1`*i>k7K6Ab(3~6jAW7n7er>jM*D+v!!%^4GPj-0q`B zuRgkrk)N+y(*NG1OX+<*>X&KfUAbR@eK~(Qofpq4RZ8&Yd<#`^*OyBc^mK%+5X*jp)zjos9Ts<$?gHFI(^%G!=y1=quAcq*J%zvW?TUR5aFEE?~TR>b$|EQR=Z1 zLa_2^o-*C&^3Xja1QykWZLEI9QzGoMLhSV3_-%AS?-KjYK#XS{+q5){$ovbZFKT^c zIrrAC+D8lxlZ&GqGq)aoknpH1#c~x?aoxGrD!3B7?b>*{?&g(wwc@g2YNNeHhiKRQ zn6-qjy}MYn+EdK>lQ`qy^n#-EC`{b=vMjGQ{o<es?2;&1uA-0i-sj{5Qz%X4I!o%9G!gsaJg)Dfao7KY zz{_K%zsuiSUWJu=MdSXlOF17|C@Uj<{k#gAcu?T+?94BvIwosdxEc|vJzfi{lS3WW zIT>Wm>E*5n(%y&d$)NR%o~i&H|Hhl7^q~=Q;|MIX@t4E9|64qjV{eO6nNAxY!`CU( zZL+!B=&tJ*TVR(WO|1EiUN87jA8X!b!=F`%ia}JIclqj*fGuxxP?o((AM^E0gu$0~ zi-!yLX~O@}2scNT{oi?=Bf9K)5sI#xAW3P4>gw@h5(kBGM%LD=_KWh*$90<;%xCV- z!W;}YFtHLmR((<8=ezFh&QN;hVVKP~^&T;9I^pd5nA7<`vbgble2f}tzED)Ha4c|{ zF>qTGb6xt8f?Y^zQ15+CdMz{;{h9Th2Y`|mF~e(jsb&9ffSGkWL~zg zpmZseTTAw3@G-``#8&~Y#zuv=!Tm6BWuhga_|-nrLY-xg5{YrdtN#TBepq+;Yj?XA z#E<$Z7i-rZs_To#=hNu63;GWpjr9)ab&VqBy+i;1Kiv5I>#cYR@v)mVLDHb*SN?p9 zN%Z-;bB{axsD(@GLPd7ho>^ezOC0#WeHxcwoj2$yMK$Ft^9d}}+BnPvTM;eCf7yFI zYfE@`?W8o|uHou!;F8W>_x!&QGjfd}8P7L;8YUw>i)y~jhIuo-BvSrxpLcKl!hQF zkq(i+#_rMMy%sOlo2Z3B&C-qP_{yGd|GjbK)JD^WCEJ;Fp7qOyI7){Fp-h+abd{Mp z>*X33ll#b6oRQ|ed%jn3i6ow5ujwuim!o+Io~t+*#eRw710@|20mh8+c&y}2iuxr8}_G~DLLGP+Q?fwDFm z>$mty?&j;A^#yqdE(-@85`%G+z_xOws4|b4{;k_z&OtS-h1Dpq2Sokv1Mr+fgSbXU zY?dhPqKJ0&=)9U?xP&)BeiSRN`q136zr7kZTuAJ>?O)^>$}znID;WG69S5JPox0~6+n?wz%)h=0sO zk$^mA%3bRRS%f$lzOLkql&&sj7& z(ejua@sKijb3&)t=XN<1b^Bma!VYUo`?rbCw&&-T7`dnUj=(gz^jnLUlT&p+k-WSR z&FlT;zOdJfA8-XGNLs{g)|<_hXE%O^cjc|0+_eYdFqc~Q6`HT6=~C;gl~Bp1D_1L# zaD$52cOGEFfmUmBKdCtEo|nsSoyS%71pklHvUr!1V{t{g%zB@zC8}wg^vAd&X3|Mh zSGedHp4JKsB(p1pz1n(~-9G5Y9n53(I@mTGwl{W;09Ti#()H@S9aZgDWdxDadmC>`g>Pawr(rr!^m}bJ7ZMW!pYnHT4iAaebQBShHFFwf}npS>L-m zQ^$_Tb7RvC{e7vIq{Q{sp4xrl5c7rL z$ebb{H@a={p7U7GH&&x7B;Q?nyiwrazQBoHhppQZMhK~n-M$<}h3)HATG&n(>O7Sn znL7c#!?0Vw{OqaO6a;H^Pk)MXbid@UGZtyQT-a6frPr^yxR+s7NV%CF(ZS1D4L`K| z*Si7#a=`qcZllwz9I~QR@!j{EQ~ z-N!_&`dU+_X?@Ov)-+qR$F$+*i^%=qofQ`IBa^>;*$H!5*AbXkHw($-`mPhN46LU- zV>#=D|J#Wkta2Go{~*v$)~#RX1JtmZyIuEL5zh|$NesS8KN-(x<;PqRtdX(R_=iAC z8K3HvzdJiRr6cpP9v9E?irja2iOm z)K}2pSK~>|E4x`0HSOb^?_X|4L!O&kT+50nrgTR84o|P21#(7+FFFpu85`k;!n$<- zI~)4(n}B^Mme;!k$hRu?;B*Ko>!VHp3h_acFSJpwM!$ZCv*4(jH!`jovcFJUkP5|EBrt3{f;#z zh$%dAAJ5eKxKJ#ax{jX@kvXS$RqHk+vo_9PZOF+jboH@GzCW$`marVD90v=xoP7owZ^4 zG-WPq;uxg2l(yO^&vn!XEed+cIU95A2Mdw@vgI_s$9!)6w|fXDeZXhc<34%VpC_nk zUOfO7TpdrO)5@+JGF6J*IH z&b91wBn*K{vu&}3yaJ@S#G*p9$L6oy1e`u!ZzH1Wj_EDTM+&Wba60o@wJU6SwcHs~ zuDUO>aga@40RYK!ZakKJ5zQSYH>m-$=$2JiC$?tPg2SC>yC4|Q1eDmAPg?^7)k zlO|eik?^RvM7EkQ=c?e4bef@@(z1O^Bp zivnp(A&=(UH!Ex43Tuk6)f#4!zKh$6z85@8lKt=PFOQ~jFQu&`!};BrbZ_%1Dc6g- z-4D;2J;>iGAA|lAny--H$YXp#DSZ^tZ~!Jo#^uzrcDXqH^!vl>$|_m=-x6T(DlGtj zo(TX$Ea+L5g$_5A>g|@YMKTr(e13nC+Hj~JT-Swhi>Yf~-qAx?;?GaT#7?P~^vJc= zpG?!$`~UN}SW4JHJ{3axT#$MIt%CbuB}!DeUNvfhBIh@RflGH(4i3i;ezu)>QBw7I z1m(;O%Y$qYm>FSxytU4**{9y)!~YjC76ch!_pmV_0zw?t z;SfEh$}T$I}x!3zmoagr&l-we|P)Pc9SQ5g=>#NUZfhWJ_ z%)p``iU6?ajvWexlO8g_b^P$lFRrCL09%1^XAgQDoljbwBeHUTVTu#@v%$*EO#?o2 zN&^0-R_SIeHI%R25)1L0J>yJMO%*#GDIBqrEs6e{U=%2H*46xZxW$7@AtyeaTObNv)c*Qs%?G|ELUmO5cui|Xc>#We5 z<8woF!!7LIUG%c|@$vBSS8;Abr9d!t3Q%6^46AlwHW+|KdnRj^2o?YSYW>cNogI9I zM?5${*J$B+Vfj`~i2G`hCQtm@+mKOif0_6H5)de>O$ro49RkkYZ}iY=T>89_-e@{s z|3Q`42Ck>bWK_f+khafK#=7vUx`s{Z;&`e^CJulR`WfEpR|#LyTcEQ2FOyFqpN}Pd zeZPpbB6al7t^Kf0T{_yf64G1x2L5tq6#)K8d{G+r#DCSXqTy*A6z;QeJEkXQ0tac) z5qdbq;YV)1lfwGE3(}+dxPIj`4B+B#YcFk=Hs7t_84%48<60sqgjvD-+yJ| zl9=_^tN3X|(SMFtDHKOnNRs<1epC0W`LSr1#PV#skS~^Z>sD8#S}@h^1STOwRyZeD zbA2a(CMk*n53EwtSJ`#q@T@ouIA|tEwC&)x#ZAVG3^4 zV3U#hKMguz02dJ(G2{Wr!@iE6&BUNGK%mn`K?^I)n?)sIC5a$ z4t$KJ{~|m<6XWyWlx8(HT??SCRj>qSm%VzgGY_ zQ2-qRNE+3wk)>-bj;{5`!)2^`@mq|fu}|Y%rDE0xotQ$SIUcUEGA90k28ws?8$IZF ziKsy8mPsw`WGz)Sw4of2lzora2(v%@Q25!BRO+zGR8~pkt14wWC24blngs544<#M6 zU~oy3SV>5en7D9ubw znjhCZ!tj}^a1)dj`3%#H_yz4(9@92(Xrd8tP)Kq74KUKU_h$?~5B*`Hk7rQZsT=AI zlQ`9=Rc{&=L2nL^mm&K`b^*~^d&>61PO}1}({fj7akAR6$}(&(>V=ZpA;1xj~=3YvCV#gZWiPYx68&OOD6s>lLBXh7phO`+U?XZ zwEYX*zYqZMvM6-FL52Vlgd}rs@8uC;r3}6eIuD6&2#{~X@8At(=bCH1rE>y?)8O|J ziNcpd-_9MTwD~;xJ_c#Tzt=3$PWSd~>(;U)ryjCp=1Xz@-lTmu`X@AdviXAq92bB^ zL|)!$VTUJP^<8oHE81NUg%bu5j}atZm75z?PV#epV1(Z&_kT+Yh1?HH4uQg(`|$^8 z=<8n%{zzU?O4ij@ed~CliZ|S#2co!%#glV~w118e%NHD@pMY5NTjh9iH{j*gUo z0cS_|%Xw4!*OHbj%g=uk_LJ<&e`|>BXvd&!NzS6aID)opH?Rmw`!5})lye7`*z z%X4$b*Gs%V7( zXjQazRU1qfreg;Ne&0nv5=k3vXPhYH8e!4tIgwfW?(Vyz;*YoW3H!g(07O7WEG<=} z%j4@Vu_(k_L`xQh+hWD{6uD(K??YkWFQm=y(IfNNuVp3MBmDWKKHKfQ9#pXMAT$^f z;ScluQ+odw9YJYffCTD%PKiWl=z7)qB%YPx;RpxtD}amb^<8fr>5s{U17nP<>uVmu zx`H=vtF+JnELOMKw?2Of@Glg}ChKfG{FB=AcH@<0Kt4(<6!3PZ>_poSLR9?xa@#Bt z+41ASJrPpqq_6Su%jQTW4c=IL1SpgKaC|h13*>PzF(Kjitg5J3>;?u~o?TvA;m(!l zITe?+G+u{U?J#BBny6H)PaU_Oji;dcMg)y=2mF^|V*yZL4d`?~JicIosDq(zGs%1@ z4vp_z4n`p{!JYVTrr8R8RzSk%do?v1o16HbhO4rNtTg_bm|?yaYBW z11o%&gjy?~TOf|Aq}SWyFoDin(7HEKY-hgXSmnP&8w2$NV-$=g_pgq%>6MsXFAp?- z7}}qCvyfx<@$pkjvwW<2&=ip_YlDiBksw&^Lp^EL#}d){dB(^$i`Q~mS|Ue9F;qP% zEknZ`#X*$pL$zij>77BCRw6~C2_4B?>Q>9?{B>L2Ld6)k@#?>$8bv^lo*GCi_V-%!LFCn1%w-@3Cp?0? zTOkYG$Pl-*n#;S0%+QW(Y5(`FIwQfWt8@F)HvL0!h~~Pi{d_zgcU*D~r_BCA+%~vJ z`xeVJrW@g}g}1i0WkUy?u_hXa!dP1-Y4e%;Vx#k9htaCKP^7=YgGHUugp-{s0$kDZ zxrYYayNhhBG@s8V7PWNFD>>eaKI8v8o)jK|xu1C)%8>{F@+S}Lq8@H;nf-&s9U3)O z_2*svVE-|tSQCW}#UOb|BE3COG0i;SOF;%@?W-a?D*~(ND{JAHxDh?c=mW*UPzfLH zP&p)Yl6AAI3{JbN{$>(&^?*-L-cLBR^1-$XkwC*AKxrPm0wkGs9T;Qr*A3cIFxXmP zFHA2l=qDe{TwtC)la+IG5b4RfNaMe@TS(PA==dzUV-WanP)=dNL7-qCFTHLH*Fq#r z7RZeAlzGMc!RtAxf`|9q#}LW-;6#7Q9M4duy*XzkM#mt%ZI=GOB7lGi5iS5fl=9Wm zE@S_P(!_T;+HIy`pUUi5Son7A`2d8j)=EoiDjMs%8(wUWV2W@@7P;{XL$RPpLRw-x zN*T0w@NC3r0JyLw@_@a+7rKpSVZ53~{Nzqvo&SzGdl`(c^^Cx!jltn(dqDt|Gt!nZ)EI6a~= z007$BDNLk?y%O8hW>>8-M7*ig@?4h@$|4|Y!@as0qL-r+$UBrl>UFGZ&C&eJIbyQp z`qlMCuniU&!?YsF<0FO(&9)`SdI-Ci5oLCV;gc9!y5g@%X ztu9YXv+l?f+6o?dv{N!fuuPx3}!L_p%@Jss=Y zzTO45iN(eJ(8ZDkAKU#yIf&AVQ(j!fqRFaWeK;G=Xw=(w6w;-x9Hdmh|1pIOIWJATjeG2fWhOz?fuoTJj}0JV7?&%<`JM~oqc0RsIZXrr6;(G(`bn+FlcLMQ%*$&x zUsKdJd^4x2RR+iYYP{0>acs$h8wCTu@fGYcWjzSWnjc)2E_4FLrJ!3im!DC9Pm`V^ z_LJZ4`$Am`9*>HC+I?V8Ck-8-@#=n%Y?? zY6!mx3JB{5Cr}qDSrw7c&_%Oo>C4ZG%nnl=@xq@JY;5-HT_L49^`FCweumb=W$k_C ziUP#~AUnv3rS0U8cll1f~gw^`}jvv&WPKhj=Qn)-^6Vcm&~J?HSRCoct4!p7i}UU>LXAC+sXFQ z;E@-x@o*q0Q+$Zv0H)BlPI^e9P(Lw$S>kw2XtyOUwksbuyfIP;AzG*;L^B{8chFNy z<1W^(#5#*zoic#>TCVl+YT@zm5rv}aZIdobGbu>D6L-4V7lFLyaev#?@SjCt{m1Rw zf*~j>>RJGMa!G$(Wn}@6;U9KwcZ|aK4OqYF$^V$_Ot9B!s=e}o3*CYfg|Ly6t56am zQw9SJ9fM<43v0li#Ld)@WNCNSWU_RCpf1u;32--3cZ z$S%o^RZ71Xol@-}mZC=psI%Hld0WyL0h1BVf0i>0_S;V($E7aHE&RH>-Yx9?{}FYS z0Z~Rx_n|{+6lstK0Rd@g5NQMfB}KZs8$m!6q`OnP8&+C!X@sRamu9Km{nq!Z|NHEZ zd*|MJX3oqx$mQBmcP1-i!1PUTF5xk@*9jH$_*XJS2A6?67@e3{9>qxN%qUb>Fsnzr zct`x5SQZm23yoO)Np!xYNaY0~{bKpY5w$SwQy38)zqj>?u~J!?>o{7l8;=qxBc>Cs z>@J@mfgO8@GwqGrJ3{P#;N9r|vxkGovV%R$+`4?%$)51lzzemx5Dd=UH^JC%)?aa62xHy#3&)-wLVR$cyPZW#ZJ#U$V z@=bXU<;LUuzVvgcbM-Vt4jltSqxy~4?mlkbqqlK!1O)OTUR4Ip=n;6bxJD-bhad9V zLI5i|k;UY{0>d)g7Yg_0F9E2n_}%(CpQ9 zjfWfvKjzEFQ+nBwn@7D>Hzg;HBT)E$@{9e0=cO~@t|uEBA?j?=1&!<_kLkaCKb5AA zdb8GS-Ty&vd#dMn^E)huF=qb>8p{9MrM<6g<9F$qNNTH?=a_~(kTwtMuDgwk1_y)I z;*l`lck$1beWhceaWXQt3V0%!eYrqOuY0!)F=Hfg&klK!MbANDCI(3;K5HC*lppcX z5re!oW~5niXwpK&^?MO}erL6?+wj){XUIEGH7)6#5(Wt?jXOR= z?+S|MU8U5`GzV8Yzh3PVPcy&#yZVPy+11U>v&sa;<{jjnM;k>fc0l?Zuc887ufQ4n z<1}yK`tFqC`F_>cBzX%Uf*{|IaejYDS)AtYX0Q6_RW1~Mj2%#CEjgK2r(Sa(;ABYX zIDh0$3KwOY65wxgRQ=cqH@{_hbE@Th$QZEL_``NC-XU;jcAHIMEW)>`^`g6KowO#O zc2z@dtn&8l=NKx{*J7IJd0B=MZrWcx*GY;`Tl%)bk|!&lr+>Xk@03vEuh&W3r4#RP zGZ;Sd$(SDL7i@1%SsGLw`x+BPkOTw^#lFV_06c5ReTd&@jb;h)I5CG?zGMFCNN>TI z{Z%fZCJ*!X3BQ5*l;()OqvZI9On5u&MGnaSqvf`gBkfSN4XVU`hBqb~iZPb`zW(E| zo5q&;5v1O6dSx?3EPu?@D87x=!=Ci%)`?So`j~EJ(7{{Xfn-#z-rVF8`MwwD$07Nf zg~_Xn+9zn&&&la4V=Y`%~X{b>lubukypGK_gmlImgIvjE1Me&iChO9_(ia0dY zxp$glBDOpW^@b@)Q~3 z^tXE^6kPefzT6rl^0GTn0^k2-Zqit;|yGU%#@LfbRZ2>yGvpnt7>B`{F+BeP1zo22nFZhHoVtyg_*v~^wd4Plvl`HOar{ws1zSTB~0)X;WPUVkH-P?4d z7Kf~zwT@ap#;B$&9wMBU`Pi4-1M8a{GF~}Pe2JBU{t<65-+}Q4B)gvHu=#fzWe32k z=J0Vdz~8EMRk=!Q6*}8u{jZSm80@%;@4Gh~R_ADn?%7svhwPREBAp$OzWv~g@jEgW zb}^T&3CUg@R(JbP@jN%Gl^&3$07uH}Ep1AH74O6Fg$QoF`xRqddZwLJKji%fudAcg z1S;m`Gta3s6Fa{yNR91cx5`6}B7yznNpcqx&eZ`m^^u3^VS|0zL;-l2Xtmw%nu4ga z$s2Taf^9k)T#}t7l4lp7?U7@IZ#5KR*0xVixEEaNLbQrJI;N%ed+*1iC*vEl;}XX= zW4WOcdnLFBSy^s+&6R-xTxoRd#u3pSFE1X^Vaw2FjDU))8$~XGU~Dh%jUOdBs*YP8 zh+vzviB5_oH<({c4=oqcANGSjdH1}WKPoTdgjd)e{lCE&aoZ#wfc+ayUZ;u&5OG`Z zNXa@REEboxCX8^Hj%o1fdhop}Ca*d)Mwhkl`80hR;dib2nDDyp!)wvfI<%I@b!g0# zA^;A6_lieZ<)g(f!t{g#p0qFW0Imm~Nybatwdc=Q6^#!$v%L@J$HgEh+ z_%QEZGBFwRCo#)LmX!g)SjLX7g)3{#QW;mOv2VT5Sz1Q4j5R-)&V!XZBJ%=OVRULm zRA7>c_3a!`_MNjo850^KO}Jun1*GQF{?3)(Ij1{X*xj3}Amlu+lzNqyhac(L@!2Sw z3aFz%BQ+$LI3`{W(uC@}alGA;TS#gHWXIx~yAZb<&28a^4`PLPaqIj*sy^ZUdaT9@ z)zkfZJ$2h}Ih<*W;cD;2^+ zK>GFK<)Ka0t=4xVzh)RJOPMco0!JG*cvTx8ci;w3cvUVrUsfc>3DF6dtw2szQpi_N z-M{m+?67n3jB_=Ke3%{fA8PKWJqdW_Ie|?SaDNO&wmWza z5?2dU7C?qoE-q9?zzs1P?X}>sTk}sh{rZD5jy)OWK|$+zj#i)DyVJ(QMFcS62FpchmM7Bk7uWpN?LSNV#uFHNL~2ABtAhynaC0PPbEE*kb) zLo_~h^9N}+9M0JGs9)aOzTMy z-$`tu8ETsI9h~Zw{Zo>;HnWs>Ouo!Q{7>mbll_!b%s=k*JXwfs{H_`K%Pq%ybu~Fj zH%L4G-s7sAYN(G%l4IO!XX+sK(mrQtAsQW*JK(G?v%WffH|MqGwo6wShn>0Sw0h+ea9D~_3KR948(^HAG5`f2DoUyPUR-; zLMs?UV@0C&3rKZqV(Z?7s^(TIx-5WI?nf80vz502Rst{>`m|diZgw-D*tEw!NwJ&h zWy^J`|D$f?_nm64z^h<5T`GBgP#ML0ADPrL2-W7G;Z7=ch?50?o zrhn!IL@>WPPeMv6!R(gU-x8?YJroedV=VXPGMn9R2#RZa9W6H$H3&t}ozWxC6TDst z5EJVopeIsDmxEB+eG4&wFZD~to3Da)l*>WZNJf_{wf=>ObDv|4&wH%l|5ut>K7Fg> zb6JMOmyOI7v-;LuD4=e>ZG9aDlX@^e%X!qjeOdG#eNLPARiUd9P3Gnxlj*xUn?`F3$Nm2s`Iv9m6p~2F37>39kiB51rH|<8-)swNe)>r3BI2BzzHG^n9o_eCKS`&HtbSsK9;&{r z+oH`$-KxKY9mKq1VfKU-0kRN~%eoIiKCRlvI({$YIpsxjv5DqHR+3dUe7|63+2WC< z#?hXPwdO`;=h%g1icz?uuSLLU639$W5&%kvf0jwwkBQd!8to({LFb8zsM(7wpNnsqz=9)^8MAGZgxb~(ecI*USrw@N<4If5tLbp1UBwd=hy zImEz6+gK4z6f}!nwD~z zU?qXlFJ&zK&i*EqGMZlP{2@ch7(bc@?tU&X6v9uUzf#3<;(xc&QSnHMpyfPIQ8t0~ zx{?hI_prTD_c7~iVPoZ;jIio#-jdK@pN+zX=nv1i*GHCAtQ9Y)J!ETu8g zege!4lSieBfnLnv)u(-P1Ip7c(>>EY4>`E<=!<{&-s_{0GANe8Cyn9|me z9iG1?X7##s`nQ7(1SuWgGLB6^H<5(E%u-&^uI-4?2w#9$_z=V8_Z%zQDNN0r>!Dft zUwtedkK=)`F01~#3#s)_gC&x%MXqV>DZ3Sl*(R$wJuWU$fY?km;_1O`>dWc`Nzd+p zKR36X$PW16`6IK->7xi%wT1V?Xu+xZkUnGYcgiD*#^q-xmAUmJ%K{BKB^LRGnVlyXIQ)MALz|lDk{)O6o~-WhZL>?2tiQn?KgS z9WpY~eTgc$ZC*@xl!#NQLO&17dbRQ}nZ@TjwHLKhpb;lm)=TOey_@Ff8+x+J^Wqc0 zfJH<%*InPV8Zl%0Crq9Ujd;!|p-Yvc@=WY}_n}5C0xfu^)WkKGO4ylMKH1`3>+#60 zA}Ar=Z-{FzYRJ68R#&YYz87P`W0;MaVY=F%WNS(nW(;TZa$?8W+s`Ob(^#m+(9D5$ zLUhQAxGL|w%2B6D!fvRJEaj>+*kOKU^Dz*7hke7@xT;v4BI)VF2`g+*>C&#xL1GD% zw}SWD^U2W}j_#%IPbvb&xx86&s)$yoevty}eEFuRixLkSf7O-%TJtlA2u!4mb1F8g&-tD-SrhC0{i zQ>P#HwTkuJ=$gAP2mUsC8E0Y6l^kH52|2nRR*o3sY~jHp48_>|-Fn~eu5AC!ee_qQ zcy?!JOHCLt4kKM4!VKEN#PKVo?Adz-76#m+x)*LS;pT^rjpI%F(1J@Hz7pBF4`rMw zjeWg})x-_1amWVU-Smsan4uW1=Y)WkrhiFOBTb7k-xuE&45g8|BsX3vT!@yi6Z;Op zFl#qoKBge~>a)*?6liyI*&>B(?Ce1nCTm_ay|z_eGsp<3w>K-sM*U4Q&l$yw$`X>O zfOI9mcV|(}Pe7=8bPBC-tt!feq9RIHpN&;85iKn6Q*X~mMJp5M3s02tC38Xdhr^RA z-+i+b@p*#^U9UsUFZ&O3X9wcUe5i&qUISs+;3ya8>(9^y@m4x4z_{zGJ#Em|ju$-{ zv>vY5wQ9Jje7i{LTTxRuAwkrrK}E}BG_CY_dFKC%P1HHS+9<7?z_{ReYj96!e40QY zJYc8#2}?h|^XK}8GCijcyEkE$V~0xd8_vF@LkvUmny>@$HE6CO5M1;3QaReP{!uqO z8Zk{OA*#Qz>X0f=U57iauySGHSF7kP180ack@jx3gkyU^W_5Mi`&m02S&k%T!x_DZ z7Q#w3?oB|t)35XLj5pRRx+AfugSpV5L;QNGe$I)r(;Mt^q$E{{0ldwNbAa15;!FLa zSgnnF4E(-!SV0J1QD;VYwo>4!bUWzZ&bgEGE}vi9sl=M>L?|zg6SPN*0Gg|gL`c4E zXb4I1VyBZmvW-R29rzh4eibXhD^RQ!PnvIme)ns(y#ASZhdo@0RvLeQ2DI#xL-Ur~ zZ&2|M5PED>D|r#WT47(cDk8+wrIENg3wgi(Z$H$}@N8FvioL*pey8*F5ib`MP+$S3 zkQ#68$tPnSwubZ80$9Miv^q~47w)l*4*&ka9Jp_se@F7yY&&pM;^%)C?*5OQ6(32_ z(L;T;&wD#xHU9o@BLjhk+aiksy7DU{9Hl%!x7}_LHoXHED&I4Y39;imEe;I%vLVLO zWDPChB*mcxXw;+LhLIAZV**&jfGSQ3*)Vqxl%b7Bn-h(=TZTd!m-yrEXdV?O`K|Q3 z$?GGt!K0^a?CQ_cn{7S7a9BimI0<^8?GVZ^7qbYu`WyZRHD5F}1hPN6clHus8JIw5 zbWPtwj|fKQUl=FV*~1a`hpSsI%I4lE)f z2<>!vL6>Q|0{=KEurqf;nBYYNi&tHtbhaFct0z+?ug zT!JL*Vam+ia`>yyh;a3XtTygJ-A85TzgcxvSoaDQ)GO+FnFD$fFKIj%uoO%QI`#J*1g7w>8-P7C0GTbW2!;YqSc#0J= zlGnMPAK>^5Z*hXj=T+$MahTmc$TkxiEh_dm*it=NV1F@DXxQLkU9eM$!43omzH(?j z{$`vp7aMh6001un=DUX%eN|rgUF^sP5`4|}xUgD1qB+&VF;V_*YGj;B8iZV@jizw= z&}4aWK~yW9Veh8{oM=3|lY4X}|P%xW&k{^9{gjyJHc_Lk^#0*Vz1A}zuU z#>+eWu6f%xw8Rpf5_E^SZ!212P8E(Mo_*P5my(Bz5rLBj63%ww>cS<9+D#c{MlDnIGDFf{HN ze0+sA$Rd^bWuB9G5-_q{!!e76A^=-`91xMGnyoglzNhpwOR)L4hIgNH*rS3c2p#pE zZ$49&QY~3-9m_dUPYLq%D7H4y*BS8!9DT0T=7lEbkttq7=_z)CI4YThE9jNcfR?M7 zb!|OeZ57n{P6YsG$YjCoe3hhLC4q$JX}ca%IM_uo(9KpdQDb3lqp7!k*I6t1W> z=a4Dxbw;0|K1cq`WQh5zqvQYd*m?Xg+s))HM%20*_&OHxAg&`152mh`O;#n$Cvs67 z5&_j+U-g3U+b@S$_wzhPja>5~0YrJ_w;JL)rr-D5ipy+`1G`any(s2hBej16YYpRh zPw&MX&$8401fzWNujTO48KXwA&9e#v!*~ymfSv- z-~D%QY!FDa;OKI-F^mdh(VhP0=sw3$<@T(k#ILcm_%$A1`u9tIUwl6AG~4fDT6xpb3G1DKQdmPhOZ`D=~!E(&l1x-5r$6g?pEFgOba6^=Z?;K*W5!WSf1yZ zTnNwy-g;?7UNHPtnXg*ZZVV}M15f=ZqLFrto8WzLual=@X6a+c#DsusjeON)+VZ;B ztR(-od7f_#;#^xF6c7W9hTA2cj{5f(UfL#s`&W=bDUq8^qpI@RZ>ZB;9zr#F(zU>4 z#e=+ox)@R2>ouxx*Gkv~A%qT>n8MI)K>4@@ zH!sLD&c%UH;$7WN?_hh35Atw!Pz6l&l1?TLWdz~Rx0wleFoJ?AFZ+Cmd=2W3cO|$1UTO>(Wumk)x4@k9=Ng}Nw#hf+yRxOqUpx4Y6jZ~Gn)inMq*4PO zGJhx4mYLYvn6Q1%@=1jE>XC)c9+WKz%-6zZyJGzjvE><$x~p94lM4~&3wtJAc+rPK zuSD~_nq$tm(N%TE4yJv7huIjl!vfE42X}KiG7mqcMeABh%{`Y*X1cq!xm@WsqXB-m z>uHHQp?5Gld>r1_=%>xlJ9$AnD=Zyzl<^*!P?10bLvro+JgAm7zqs&Llr~WtuKYXu|3l<2vm5T?)Gw*n zCYG8Om^p4xOeL-GBPo4ArH~Ov|-%nu2szaJo(BuS@n5FdY_>X`N9Xl*yhB|bb$b47A^l|n) zs71u@v>JoUIxWk_QdJxoJT!cH+%;JsDLhx6-}=2oqMI#bz4xQ8ooH~+hfZIF*}(Vj zHq*+^B`Fah;Scgu+@3ZmXQ%`#2j6&S^zUmP>yrtUE4Z0NG*^Q`UbKR)<|S1(&prAn zq+e4vK*e9$%+zcJIy}5bpAp}PAzI-W=|pb7zc0#3KGtvJxIjd*fBXiWWqBw!ix3U| z72q05fn^+DXVZB#n)f6_$f@E;Vy2?ua8}fPIFkmgk5{twOB`TLNljs{JOBCB%^cB+ zx6q0PI&sy*Y=TsP=hWQ`h#;tWUXi}N#)ImI|9ZsW;%ovCmRuh=;D)^SS&vg`j~d;d z!g_{FtdRhIqTVvPZH^uc@cH<~Q3vcTxO##Sp0FdQkknA|>jS~h*5`YLJ0YBC2Me}G zj|7Gv-E}oW^ua z2#03G?*6J zS*Zvc4PX1mHme{DuXrVM_2V$?PxFna!8J;L@0w;*t5rEBu1=y`G1`L_TiL9nv_U6!&xq1>!x;{Fm1cJ$@N`DQ4yc&JGhh$+Mm_h`?#^5nq ziB_kTMDQRH)$(>;8b?3sJF`9sjmP-y6(NJyl?JXKa2S*`!nQQ=0Xn>__WO6lO=IOv zNm&8b3I}!X+kwyaDHCizf#6oV&sG}fx%B$2h)*83C5pReU>LzqAS@d;C_og8I9(jv zo7binkLA0r9c;%|0c53W*Rn#$iVbbQ69N?t9f=r#COtBj%ipe}qh&OJr#hEmQ%&G9 zj5`RDZ(`DN0!>Bm2F2+QV*-2)ZJXI=1U3%;f!Hvre-L{QdtF&7ahnv7cNF(`KcwEA zl)X4bjjPqfDF?H6OPKiDr~)f*!g%m-oY6%9LqO+V2p78zJN;41xS{&kwz;8*hoi+y ztJ`4;<3JXNLm>q>pEeq_-_Y+)!c_*lb7)=hMWI0O5u+g>A4kqaoUiqASbjqty{+c` zL2IkNOTp57*zK4S?EcN$VQJQ%)eh*i~)Iv#JAh%eZ#>+>+aT8sgzN=R`_n~sK zX*}lnB3bDSnCAHWSWy5YelUr2Ki2-NO2FdEe^TBqFRa7`t@K|RMqC*Qy3$)?aI-r7+9R_SBZU3QOMBC@7W*FHh84R^Fa0J3V+C;s6_yWg7D;ANztPQ90_;|KzA`G9RXiEChi3K0^8@ z9tAUd0u6A`Elw;{eK{?yb)!{eDFrW2g-yNsb@km70GIeNP|D1wPQx?yYacacohEiX zh|vyHHY`PdVEJV*{q+kOY5L6_dwMkgn-)M><{c&@gNU;Q#4S(x_E$Ak(Jj?GoW!=nu%f={IL)p~jcmjnH#|5zI08tnq|$xk>rq}ho# zBnhy70_?2&do;;cL5?m`mPOb&vr^(|rGFb;a(Dn~e5#j)a1adk)nYpNu^JFOQ=^ds zr4xQrpIlO5=rRny)bGUZPNBHj^GkLdovu(zAe?==dS1VjVP77ZE*L1m@>!4R^ntnw9wq;UI)S%s&f^^$^7Lvq zVU1W&G%`}Ew{~`9Zgv;S#t62{gW=zfs`jo+aG(>l?3cHb*}!dPv%q zg6fB?;;jkg0Tu>rv|K(TA$Fc(r-d$f`_QVrVWYC8A=at(*3F+t5~Y9)>X z*w5cp*@fbwWx5$Ric&K&U^YWiX9qIXKV{+q>s5?Qr3~>rxD>LejtDSz=@R`NqTnayX3`pC|4iw?S$$HjH7fIe(EiTkDN(p)y>lXpQukPI1O)6x< zOb;>Te3=aQAoauFp6$aI=s@9JCmqdItojKF$@KcF+DzEA@odHS{gku;Tbwy=iF^!V za7@-c3p1-=yiCi~T;Z0Hv!sjd$Z$X#aFFryZ;3%lb_i*3cJ1fhl>=dF!Dr+!az=Y0 zNdI*lbC-iYrcu9Vhgg7WzTWu{!ZVR&G0*nx{7N$7C+{|stZ^u+xjq4aYv05=oVQJD zk;!&6aaVla5Zy?_pjL1&po%r%WdGQ&){T;h{^6+GT*I}1K*F?H@3^?^Fy-|p+swX+ zF@zE2e|pZ^(Ed(M*HaP;I`);meOyFR#)KREm_d*Ga0k`e53tZg4x};EXDZ`3W3Dh6(jLr*hq;dK4iJWZsroYg%b+rS zjK@&y<(o468n?B_A~@K1nO^@tswA-86X`X-gz@uI!D2qWN-WW zZcK@*3&h>k#Kjq{JyP<5(;W4K_-x-hMDo{YI_RYTp0>(PC+w|a@2rjPN#8nr@g8YZ zFJzyxR+aO4L_B_w_oA_36pKq^59lk02Y}t3IKNEr>sIiTTH0SEjLcc?qnDaIn8kWj z@uFETs3cqInxuxMJV|crRbG5i_VI_x4~Y!58~dqI@!sm4Ua!W#gJF%FYDHJF=vBGo zc)UD3UM00!(|`7;st3s>ph*_1vDP2W4qJra4bCarsAqF&w{f=(Q-|J>Y}M1OL@hvs zL$mGe&GC{LY&U=h4bbY0<6T;ns`=`cW*~7n>*wSSOZjspa2e@j2mKsx@OIhm^M z!UTG<11f&bFQV|J<^SSK;>+(}KB~(+#$$RDhHBK(G+I}mdP2u^);U)` znW)f86|n=^9!a(l%8;>QMRPIz5#e#X!q<_O^RqMDJU_lKe8*iZZ9pgO899Td&dWD1 z*WLG?Y^Trm(DLNDMUmmJRo$G=6QRdzz3CgD>KF?bT~PHxw@$}(nlSHKhP`rvq?htD z_I2jeR2|m6*fc8NOe{6#4ZKl12%R@+6%?wtYe}3_Nxj+bbwDu{dKE_L`hhDs2HGou zc4JCLz(lYk5jf4&D+hZvDOnR^!!h6ioHSj$v@o?glk4-L61i<{fSA;CbMruxhKqOd z!LxS#F!d;sIJ;@Tb_ieWUgg9_UR~kFKJFA7qY}LwqDZN}b6l*KYZI!Fv?@ZY1$PE1 zX2t=hQ$G%Mbqo>BH2*HsDYQ~ONRuf(F8tH*)aEQ}_-nV>IXSW5EebN)7Z}!xLOhEm z+Tl)qw)&PjvoU#O^ii$3Zp0^hBuHVWe&HNKJNvdpaPy2ly&0QE8`%f_>fPU_c`5XD zAE&ONZq4e}tGm$X^Nw7P2mLEQw*d{VRVBwAm)begv-TpELthVWiN5^g?N98mkv!U{x^O5SAHXneQ!HD1-G>WjUz9Jg|U5xo0t z;}&^nxi{p1y)0k@1>1GCA;-gh9z43yT&;?gLdxS{psiUzD5{!gc2MDBd}BoT??#v) z=uXcL%p@^uCh5)igbJ4|nI*2lZ~z_ZpMl}b82ncHPsrsL6Mw{Qeydy7)AF=n9L6kJ z>Xnsd6Myfp*ytf$iX!qzPWKXGLm}V2Z%3cgHlWbd903CbUbWK@rz$o=z-KCS{UU> zAvYtK!6_#Xr<=1ydZ(_72oIH*rNz2dasJOZ^Y-IqrbFB#e>?7OZuZ{7;(X_ZuiEXF zI1}h^%@B3>`b2oSGbP851iGScJ-YK7m=vSkSMLZi8joLEfBIa4%^C&pN{MV=1kmQt zFC#di*!l(m-{}oN$7|CLi=6WK2WJaQynf><3u$KSZ*myix*s%>kKlvU5$9$j#Z_IE zW5LMj={fLV^Di6e}nk zc)Lt*(I}4Mk)HlHk90?|7v7GVEI*7VfLzm#aB+KuPL4o$OO-BkE6vF6AFHa{AKYuy zeTGDFNAHY&tnpQx8|rvoZca$(FjHZ6{>Q~E-r(M38_>S-EG2_g>g84i zf&9mz6)Y+EYbT50uFS~66g65C9rna_+0C!8F*dV^h{^KBipGFxL!6zU_J>kJ2EhXl z*q>+M=+3ZHSjURH+i! zQ#ccnsfvH>xtmJ3GmT>qTa^LdtX7$xilvqMxWS(;*8^c?Cdl!ItvxkHu9-9@MF_tz z>~OrVTE6E;`5PwbeehVArXi-HT&_L*?b1wSyRA3YS#y*w;NXBtPd)d3`V~>|E=nF= zXv}9zejwE7ax_qZD-dPOM{CTvE0#1C2^o#6ooh~v8dIk`E94j; z45`#Z|U#Lj$@1Z43dPEs1&(6}#oed7?ye zC^r|F={IJoS~kW#Vb^vtW8bv3RohQ<224P`WVfxVyzCpS5?cJ&C(XuZGV72Um$;v1 zk&&Z8ZYua7pTF~^$3Q0$Sh-rrmi$Tiim$!uLb*15>?0k#E62YMH^<9g^}KTHokuF1 zassW+BoAl3h4bCvdU9;K{;=)kPC0T}2_`X^Uxgd!fY3c_vFUUy1(fYF;i;3Z!@1O4 z{!)_X&llibM@ApBP?Sngva40NyucLE&c_2Rgb)tzcku5YQgP+{Sx@vvD&pKm=^PVZ%hIB&sC z(yV?8cl2vt#S#_{0u!AC+#F<*MbUq6=PlkjVA_Tl(;!W*m$``gy|o##3Gx+Js3p#q zv_2K!`7&jLkC!avQ;_u9OiI1MhXv!1Et=xw+h(oRQVAoA!9VZv}W-#crCk)^FHy)S`anrqW zG%9}5QQv%@<(1PKRGmIkoosSu@rb_Ds?2wz$VP%6^ONf#V~UZ$R$Z#cHaOsp*9%nh z>vs7*3r}M7jmyE%L#4q5&h>~ZQ*PX3-k<`lui<4v7@O)@9R*$6ZBl1hw@KgMUw7g$ zD9DP^Iblm2HaTr>hk8FuXBpE9)LM;sT}b)E(-Z@@9mSnDz{rQ0FPo70XKcRBU9i8M zprD-*iAfWsue8dvAC7S>m8oJVFF) z7Y1?&UcR|)@`%i z)?0@-5ia0V8BlDS-a9W3)O-BQ0u2)ua5e*nAvY7o`X{|YhF4ndGBiwr?oKEqUz!bk zp=eNEN?+?1bX)N`%t8%Xw?7{&-(byk(7#xwIO)3S%eg~d{+iF}YIV|Yq(9i`2d{d8 zdo&vn5acZx=(givbtgCiOph#Cd3Vy6WkfIOds6R5{-?sm$f-g?iKsI0s>@H306i6h zo-&I;NvbVmc2Au%Ihgf%1hEW0C$(TPx&$*A_=eNJ@J|iw)aDE)k zw&O7*C8bG+lE1~14n_xb-YQ{m+vMV-2Vr3u%kW| za0bsw;Oo=vu8I-x50q|Q;GDp1)~o4TT~5=~@?*XoP1I+gwdNIg*MgCERXOC2fooMJ z>U)#Lz9-(ULIHesb0CvDS2GT@wd*5899yoDDk5%puZAPS_kbI8zkr2dz@~8gY(b%Y zH|VBY8ywKo7708UcqJVMs@Xc|c2fkkn$2vK2OBYKp_Mpfssdq_cKS$gSA$hgi^ z;i!?2!`?@9nXhi6iWH~-;$?2X$9wZd7T>hv>n+B<(!|OE!AcTN0e*;!6t)+7AMft^ zberY#mr?Xvmd-tCclAk?sY#%<_%{>E`JG+2FZowvIZz*m(02dLN7`)57n9I3s)Ri% z_{s9cNm=`jrJVbri-BJw6mbBp!1ODK?z+7Q<3hA`$dl!&p1d+2-RoY46qm&>RjPpQ zd>xE8c#oo!wWU^I0~XMO`9oHUJ3slSZ3CtI54s&K&6;aPcGZkj zKb^bl{`jgB3SUaody{nhn5V6MFg%VKUT?%}q7Uh8^cSeI_SI%qGHE{OHXanJdAc;) zgoYy^UR9luOM`M1mG5mx(#2K43g-pgY>W!8h|~xV&LqC*`#6@NLC3cdn%%i5?7-DikCu-LlM6U1G|P7rkz}Y z7dzHFmn8g{v5o$gskK8&Ry@JSUaUnWiP~>7-qgLUI4yL){sO=6Z>IA42;CXVI`1E9CrO8oI zMozb-d*<4zQI(>!Gotx~x7?whzj8B;TN`V?t`~CAab*{}@KCYRd!I9zr||9a3H=}O z8+h{A;rRpG#n*l*|L-hwtH19xtBit^~Fh8gdIv%_+{vhX^s74bJDn;I%(RWGsAnXI&{GIc_NM0z_KvI zb0}oVgKMs0=+OhNxNNK_5}VFUxkqP|*+7B=gd|pO4;myZuK9 z*mL7N_shwu*SsC%0n@sP(g*T|Xi4ZcG<)m?K+8V7&?+JBH$AoB1ismWbao{#`!=a% z!mxFvJo}S0UR+p9*N>I9Bd#y$s}EOS)s2bodYL3|Fw3Ua>g!|vfR_P4Hgn?$eAuUTWUjXL(KiGsZ0e%ktd z0iSIlMQ&vubXA`h!6%~TAIu+oda;S1t3~0cGPp?pLiEZlEQdbOW`QvxvqJ-Ux~52m z@bZ{7beKH<1{#Cvmjb^(!mFu~4+>G(1tV%;Nr57>+1kW0UpiRxy2s;+H{M#c>BNAN zfH|a))}{?V8ei&Rt#`k=%Tq*{SB}B@;BVnj64N-XpC^(~X=w3KCnWeMsTvwpaOP>4 zJ3vkqhAj<1iutRJw7#KP*pj9L0EbpY7V#@t+)0cN&-+3<+jr=fOmG3M)F}zutyGSA zlZ?!`4Ur~DJfSVKQ7zs8X~#ec6l~lfb&rFbgFEU2=uDibO1kT*8%?A=`i+WMtdbw&CX3IYlec)vuus|Kl+Sp-^K%w{U342fnvh@ zizQyfMD=GOK3uP9^?AkQ{Mhf=bGkUh`U z^sl?FW}B-VbW~16#8(6D*?{3ux4^r;XbpAh53@a9k3I_`GLUa!oW zPW&ZYC)&>Q>P^9X**N_(nn&~=6Le9v``h*f+mrG*XYyRkcvjqZ?{|FQv%$eX9 zt!l(egbm7SU7j}+D&v$Bq?(C7;hvB4ut@U&GU;%ubQDh{t4Y;BfN&k$oRrMj&&9-h zvbqdl%4*7r;KtZ2D*akL9!0$N0((Mugoz97`hJt3%4RcFY6dvnB^bZ<;)ml%(QeA| z|H=J{6Rae=Q2eu*Il{!NH0czT2CNA>5mo_9f-hJE{M0%wD9jAlIML$;;OkcNw|LT? znRlxxPW#!`v{iIcNH9~1&=a7|d=i9!kGb58+h8=y?T$T6Pum4BrxUiHY$iR*?pkO6 zeED^6E}_K}V9&k>{fm!hMvjOP-g}nJ^J`!pAyQ3r+Y~JUBCvMJbaa2de zq}Ah-zuvdG6y&v)RR#cTL0ZHnr+?5jcfP(j@rsF!o#ZNd+_t-dmxd1fY4%)5|77-h z{XnpWYDB5umPu`zQNH&D=T!#`5#gjBBw%$S`G^E}Y6%+k1>1z*{eysFJkB!D;54_$|yzTl@bJ(ii7;j{m3CT}!5LKiqpIKG{%V=1sO? z@4a0VZh;y6s~`~myTwwlQr11wb$<4k1t`tbSkYf|*n?Z|c@m4pe4&)1zwsU?+pOP; zg3cwhdIqlzD~u=$0)MV4)MyN~wTN^;;-(bS>{I@^?|5+dg!(NuNAVe-VK|x`I`K9BHc$W~!ASoD6FufX8LSISGav}9?_L9`<21Z-xG26BepL7foK--I?f8a@xi zQ`oqVr3mq*F|5(m)}I;WMqJKQ3!_RF-j64+TeRYNK}U6GDTe9k$=}#%j)_C1(UjwM zv}*qod;h;kO^(Z201%$s37aF_wa$T7_#rpBQ45^G->U5p^IXnwUsE`r&uPL2V+ONA0 zqgHGvt>m(p-l1I2!HEsv7cDL+2|F1peUJ)X=%JtfTw|d>qTuo027#SSKy$9LL+b1!4r(+LPE$4AAF+!u{gs-ykBQl_sH7RK z$r_3h@yvf>16Vz1r|~DmiAlr3iNlz$lA?wu7-*lcGhzJs*`zDR@vARB`oeW*>tqaz z7M)|_ne%ushc;`o?JE9bVsuqTqfbE0>M1D z2M85bi3gkO$)#-N-GJs-nOjtFo@d&FKSY)>aKcXZN?nC2r1Gg|@zZT;ouj;11V zx@zlRQ!e|u&JzYZ>X{#SvlEwEd@jGfe~6>cNIs0{3QszZn7JiP+Hy4LyovUqCKNtT zYw;kg*nF9~@Gh^cj5DbOlO2M07phOf0HE2tHpdTX`O^r=3(!vqE{ zk5PAIvG|^VoJ=oa2rc?^0F5E!F#}lx=8s&oM2tLF{6x)MTv^FHW?M38YfRba4GQsS zi<5ajnSSv1RbpX1@(KXSi5mB6QY|(*!pb2~`_(RPDu9%@Th=Bt>QkOG61ut@Fdy|(oXmUc`#-p&{x`}(03mtI36$X1h z@HQ&u*(%nC5I@&yZTA%YX(9Mm{UO*BFlRA*>q+e+BktqccEwyxTT!(<{_;~L0jJ-w zK9M`P!c-J_AZXAV=X4L1;8#EW?eVP+bZ^_eVNpKk__x6V64M#cAq0Om{BcIKCZ_k3 zr6NWz)&P^jK(C1lK%C4N^2(Nj8Mns4Z)k%>194TWb~x99w*)vC&iP2RYqYIBRB;;= z!IX7`YXc(?i)X#uN!a6@p1ZjEByQ=Ge^n=;qy`TKsjg zPZ#72UK~n_BTZIRSZFA0F?{2)`M9_AMdWzVeDR66BE#t@mXR9;(AOb zBlsx)_`(D^@-R<-Z=qGb!o<^Me@>uXO}Sk3)qO5#?NiHRT%Y-l+lll$M=d{P6>4|& zJ0fdEv!l6$u4`yYjKpDWqXDhaUH?e6m5G~Ev%F2!xX*o&22sSwFB8{W;zP_I^Pg6x zyo`Nq?%Hz#+6(?jKH-uP?&OJJ3#e1IYPV`Rlh3v#UXwBn%!4|#qB-IF7&Fzja`0gqe6?2HRIswnOoXKv#3hUI=F)Ay;gM^Nyo(0#+_ zX;R{7$eV*>{EHW1zNIe}+KV_`k-q|j1@~i@%bZ}&{ljuHJ$f~Iu`)aQ(X9K=U-90{ zF6P1^uRj-`NF@15AW?!S;{d`CN+C^icqt*UsBSJ3X5I+_Asludx;_Q%EPxVFH0@{c z+COP_Ogx6++qWkH<5UUe{CWjFK%bugQN*%{OC*N&oLgnKr)hIqKQ9 z9$ouA_WiA|V_&fM3T31OpS0ZXlGta5lg|b->&tjVOA-|CG?s|3Z?FAy^zsv2OWF4M zMo1@P1{bT}`kvI!G`{dTyQlc)Nvl8FJjO|%y8DdZKRUqY!G<<_T`j|^qmeue)uOWH z#j|gQo7tUF$KC+u#3D(%-EN^18oNiO0sEHxKPo(5?oL}eP*7ZIb$@MI$qRbDoN&su zyNTASNeW&o*G)lLau~5Ee0M)K^CSsj*n|_fg({7!p4WCh7gxfZ6~=y))e{yQznAM$ zFGmm4ERS%5OJEb=0>IUH@xm%$gvbyI3rhH+UX1vKqofqeTs^vkAOPVc44N+q3``sZ zAsDTs=$MK5!E~WUmMRC@Y5}?6u(54FC~=(NSGPK;Xf1^KBdol5@F1D;FY_oaRT{sr z#(CcU0P(!3PJ7t&w43m<8gK6-1D-5BE;mZ1pQH$I(=|C*#3$sKk_91^6}7^lZ&7wd zS}>fL=h@oeTBVw;^BL9L53t{KHjN!^@V@A|j=wDEm=jQQH7hH|Y8TyfKbOBexoXC4 z37~7AWU`)Qh~twg0?eC8A6CqspE@Mhl;poDf1bkJRVEfwU3m*92A9XaA4kGAwbhGeNBR`IYdDMizN+D{aS8}JGU2Lxb;OMIvmvN*Z0 zuuIq39Z(p?B|ttCGYMcu3Sx}L4tQ6f>h4~NNz7H|+=~tF_Y(?yE1Qv&lT*_KebBMV zRyTq8UPu0+V@qj$i2DDSW8$+9Wz*K@$}{i#LiUdNo`*~K3!rhm28h%zueyDs+PmJjfP4G^Hl_jM2`qrHij#yTKxKd=wRoa9OL(Ck zJKvadH*HbdK9Dd_3Iaz7f)fTwiDwA4jHV`Zwzd9hKtDQ{KrBMSb|Pi@g^BrG=YFvp zCLvm4K@M&AH&6Pz7r)=Cp923lC-zt6{58)*W;3PP1^~dF+V_VFmI~A6xduB|d>|mX zR;!!CZJKcD)+9Nk#gXwiW`iXO5^+?~NC-ddK)$=jt^UZRlUH8-PP7_{ClBK#I zI}dN2WVy+*@wBfukBQ--a}ai4ayn}+%K4=qhB(vYS!s$uN>UV7WDnWQM znVSa;M1crpG@8I`tLf7G8VEtxij0Uwa$3b+n-@!s>2dgJa&T}EMt~B`1r@x6UIAFS zzs$}2qP|i+Zx$_K$ZH)5h)a&w(>@y1(U#m7oM2?+U}- zxeb{Gl=A7Qy=-v%aR@|32(O>{LLp&<@d|zr#$K1+GvyuKohy_{2|P{?^tWeleh6u& zc|emkSf+)L$EQfgYxl&@Xv3_=8!)gXYhKb1DU9EyL~(Vdf+PP!?e8d`PJ6z z^%}QIek1Fj^9NzInxBh_#C4w^=Xrj9l981|sXdl>_FwL^o9Z@735V*RA1*aGIR6Z+ zyD!dUPP-j0=!=jW`{H%aD$|#}O+E?us9=Aatgh>`d53@Dc#cL6XPy}UX=zvyM?8CD zm95%uqq;Faxu=N5_+c!HjVk=Bm=+R*!ki64;HS^4a;j{it9pt!^r6}x7X)JtoJPus zV~b;HWaHC3VdATI8oGJ#>VASLPRtWi%hX%-c?c7N4Tc3OA{l6;SY$|*r>Xp9V~(Br zB>&E$kpp@5A^LXjtm+2Vy8lQP^Tb(*R|v)De|HjY0s{oeGG{p{e)v8yGsyo4#oDit z@=&|)Pg?0ob6S`cZT5cn7uP;o%ACP)^7WLIc`Y=r$%&keur?Rgxg1Gqc~TXg*==OH zYvtM>%eWkLv+H$VJnEfhy3Fl2@Uq)XmkfRW#JT!3=_{z&+#*A|r@62eBrT~QkhfSBkBx(qoI zRk$`g8b9&+rrD1VuawyR4p^e3P|ZpRykirEWPn7$xM_FSD>EBe>6w{!nw-OUMaqUofr3cNMoT(t|0<+9a26>1zqzTP9_qg#)p|kN}`~v%>#!< z=XQACt)@>1kY_q^zhv+}pJBGd9{k`D=u>fN+r;0>)%^V%3!0$t+%NcIRVv%z^|AK7 zR{B6&NBsiB?PVbMsAFdY#2Bq}>x%)s&r9xH(=0=(nKoPVLg47aN)d+7W2EDRp8Z-Y zO!m8?+I{^`9l3mLSI7IVKkJWVds;6^=>=(L^Dw-gD;*!aoaR*Vug_*h@wSgw>yIPb zq;K5WVMccMo_CvGa_)Y{t?b?&s1SWGB_f|5p@u*-v=5)Q6DMwt$M9%`!N^%fNtadc zJ*Z6@8JOv93_pgTSUM>9nY4i#Q4osb%8-#^jEhWBEq)<7OG=h?%2gkak{S-Izep8;#4P+^4Oi}5#i7rCpm`6jREATV%Q|IBq!-Te2t6qYz= zXFoqp_3#8|oO-Nrb(f=>D=+_6QsV+;pIB`FUQ~Z)JUsLGCHTu#zRZG+3)7gL`1(l zNt-@;e~bEs`8_^euw(Ohd@9&pbcN{U>U-*uox7P`nBT|^L&kHg*jzhdB9D&Ogy74? zk0Pd@E43??QKEZrU^qWOF&P0|Y-mJe63%1@c$AWeDgY_f7bdtUo{a_@9B8``k`N$& zbE8w&q}kr>Xq)BlCjyE@_z^f{W3Pc?X? zk4Mi(O#4eb17W$eF*RyW%rA3}s2pBTi@}UmKB?px(O&xNDePy@2Zur@N+!palM-iK z`}MrJIUVc|D|@k4KNo10r|j1}elB3-VUD*SOXxw>{imnSbg|p|?YMsH zYNqGzHox-TSWS<>(S6Yu7py`;61`!$?O9M*-^CU_ZrE#jxlwUHA=*A-Muan#-F(kpr z;IG9xVSY#;n0SEoPEg|(CDjgmKxB*cn&SSA<)miE8f{{2yXo-&zD5aZl1n4`Y_Hf~ zN@1{Iqo?@)&(JP(xk_Eze(d<<>La9B_ZFO(Y219c>N(k~Yoi>)6m_*z`*7VM`+)I= zjv;V%w_3C5VA1i{G-da%eSBZOipR7)^ga2`7i_wqC8%-!*!s%3y3}}1S()i! ztuqj1lK67C-Ng6UnQw0t0n<+B`s94f6VqKqYP1T2q~n^DBX5gUjfQz*qt)YT-W%RT zs9q`4Bzp?lGFdZLMR;G#=ew0)r*=9_e`)wZt@M5S6)Det6!p(WsNdlNf~Tddig(9z zU5~O`Ncijl0PU1?O7s)VR$>R3BB{K!hfjqY1aN;@f^zqCGQ5RrDC`M>9N z1)~2Drb-SRp<>u(d+NWxiL~RtU36TPs2W0G!FEWuy=PozCT(>z0bRuLBN1b z5zpw?+~#ZbJ4Y!tsTg@77aeB&Tm}v)GASY9N*2I-AK!wmv>Px3h9iZJ(*I^;&_Ok@1tZ>UYyM1f0|j8q~L7bE{$- zxFjV)^E?Mii&;Wp4iE1izacaL05Du4u~0D(3|9@o0sFBL;}%PqJ@8#zA8Vd5UI6Z4 z>X(~44%#yjvfo2c!U5B`8N}#>irA!Ne~BTQf5SjsqEHFDBpv`o<@sKf+fpUfL&fq_ z{l>k0GCCm5V|)^ZxVV9o84gIp$fyPFBPnfESlLdQJoz4#58F{f#ceY#P`K0Q`ewQ5 zZJ}7C+yUcSn}9Rr4@O%08+fc}+)=5Nl3#(7K~h2xBXR5 z9xUtno$l6Upx)W)+!3?IcKQ0}W?{z16eQYFAqGstc=dY`eSm~$HH;8B5DVb1<`-h5 zG0?naTyjRs#b3VHNOv*O^063_sT+2|-|MpFpTM*!LL0Jm* zB&$xw=P$ouCs?9xUk%0%j+lz_lSmlJW`^mO;=US;-X3{RRUt3>I6l}SD@9u@;})UH z4-bGxp=IyK82II4CDmN?5yaxOM_$?Cr`!9RxIR0zPs3_1DkoNz7H8O(rM*0QhcEz1@Nil-dM^H4 zJJn-5>4N8{9<|xnD;%^Qy+7elYX{U|jtcjI_QY=d7Q|E6@yw*78-bTEc+ zm7c!o(6Ir7c&W|w_v6HRuE0~`9AW?*O=k4{3{kA!VvuLt(|(ZPJza4^VxqJZU#<^_ z)zkfzl!fGEvq@qdKAOe4sOHzVlds^+!SU!JMI}sn!#88=&NF+=JRkSj*qe9VJMphb zS1a9*^bP8K^=#h*V5!W}5ddH%E)FQkN!FOW4cquW!m=KRb@LKtXn>ETnLLB7Hh76^co-DP?lTgG9fH%vys)(&Wa$*$(r9U znbu3}tvNtc!z@8glxK=M2#J&g96`(k0|sBmNs<*BZWDT97T|pQbxMI$wVp8iNqUw- zbttr8LH%{66_`boYd3nVw(y-RV0s(C#d_4jfO?2itWLeOX~GVZmxK-I>mpdkg*cJF zzN0Uw+9!${={I7c#`1#{MF5!VKZ+R=JTd6}o^5Atr|b+;-ox3-&18`bjW`0$ef2o_ zN?3y|mW$tH&A)qDexW43gDg+*pdHo`k!UY(r2*bWi|`((^hswi4Q6F5H!<77R3HhA zH(oWz-#qS+L#}-p$SGyl#*`p%TqsS<_mTAY{*GP8Kx&n{KsS_#EhO>sRyGLp)7*&s zfh*{L-KIz*;Y;n(S<%aJjIU3Z;6AQh`qg*uh8!4NHO-4xvNK8yo42FVD46&USrIK4 z=1s3Z?Y*ykygID$s#Lr-!bJ%#N@}+0(5`_thcjq4ex6m%I7D#z@#x5l!BeUpLDc)3 zf))T~K|+r6q5}bq^fV-EHtHCWEcez-=r1twbXN=I&n}}bx0Ce2U^HbvYI}gn-0?fn z;x8OBn3Gu5sb?!4or_yAlbV@o(`gsXt=6kzwzR@u@_4_I#7w~;gS|2px9z;M^wY;y z6KmT#Rgct|@aYg`Q6)rVGV)YO6VQP_h{n`FUY_Q@3*i^~*D}p*(eu*q79$_;1ijo@0BiWO59Ih&)BNw5h%KW_kCN%% zd&1t`G75D)kR-PcF5h#d$bi(VqB04(%H71ItqbhEFXbQNNE zkIyzNu~+kzP$Bo--%{$(;`JCm{s`xO#m-J(Iedvjeejz%vvusM)mlNhX8;Ya+PNS# za+u!nq%Z>)Fy~f`SkR*%prCw~4djyi%W)aKJsUG03io|-*hX*A^E};Y5zy*1=ouoL zCY#vgo7lAc5){Awsdpbav2@M*=(eVO)#i9eoR+E>&G#KAnuyiY0KT5_*(w>jq$cNR zTxtwSa{B3q6L=IMH&ZHde*iezKPkn=1Cy_C$yLkYCKb^JseDp>X(cj-IDK;O*q~Yy zCzvgsD0mVZ21F-FiK^wtDApEN>2jtKpLirh^Y*iL4Gb*eI@`{&>4Aj{3mmqPxiEQt zpHR{^tjjyN?7R;>yvRXtY`8GyO4DU7Y+qq2LPiz~4PS8^st9OvpKuz0aO8ecNKzJn z3M!&xD38m06Ldwwa2m3rCR~w_$_jRo4d#qCUr62I3dk2L0PH?E$yZ@?z8Ne{WaM}U zon+XUtSMb<6+f|-rmZTijr zm)0Fa3>2}FLy>?zHGz(IYO#D}vb6NB z@D;sjg&;@-Z?cdGVve1~@F++cMB;TnRB_<}B!=D|0NQ_g=&O#usWDe(%&j#jQc)c! z-{%a9IC~V$6=Bz23gyx=wfIx=`-R{-{MVm6WC84E4{-j(#u6vJxbLO;#x`UIBsD z*cUnZOI7qT@%YMH1BE>tc7HWhEqS*~ELMYrnj{_*9}UO9H5ROca&+-i7xkXG9mnf? z0pj%w)oWQ#Pp7LCZ*nK>P+c7?H5;1EF8AkdjvG3f>_4g3kusB`EC{0ep09R!-aOu2 zbm`WD2vEL+ZFaT0^5O^`#K}v*i~6bN7AGdkHfR(u-dag#I6A6nw zHyqMhK9(GB;`HfE^N>T-aGp^4g92zgp5ClReZ#5s3%1G58?hY|2pq7F)`P2W?l%d1 zJO$2kPsGpHek#8qZtq;USVH!{^5Eux^cb;f+zgHP3SrMisxV+gi-JT<;-cY-l5195 zB<8i#4%n^9 zO_v?67FPF{X<1`u%{mmUERr&oah~MMhGri^@JOcA)W~XIm_!9x4KRahR|mSwEJ<=N z<{eIcEqb)3Y$gB7WoJzPg$zL{ZjOFwM8!nnW~@R!`g3WEjKy;PN@T5fr^~^OTkot)hXg2}eaEP*?|VUfr5@wW>m!x58c3M86=>6e)DHF4OO@ zxT)OG#Zl%vdPc>rfx4V=NQL1~Jmp7vy0`sF3w~+R7@y2MoJ1;AT`*fZ4);Y%RK%$z zLsO?z2R;?3NhtCwaQ6^XAhI1+2+KssCSUOs)VSz7T@tHe(5x~m%vl$e*>Q_5mr^LV zRhmF0@}~0-1H^yw8ic5m=Iq7B1NT4P;f0Ni0ygD7L_J%=45AJE3dDou>NJd}VVwSKDIzuNYmapE|wWmZ27i4A(eqX4$=&ow|F4_hdou?|AwuoI)q0FjXQTO)gn0{;OQBnq*PBmGB%q2 zu#+`iPu_PzzVe3MQhx#}TbXXVNef2{V2cBY0?D1&0z@g=+}{r&8-pL6R^w7|y$0WV zAMIk3z$JaAFy6Di^HGhzsmOU6mz1=ERdZkoia}3ELUkzfYP;#p>f`PZN`{ee%5_~& z%UyGjUTLnT1+iro@yba^(aI_ZXA&}97I)xR7sC^@7aBFQ)PQOrTIcVwANIIQ(`KTju80CmLb z`Fm}IB66$+g7O)Xwp6+xX-*22;yzJ4bvHUYiq~_D8FUeG3aU$)w+Mkq3+Bl3n3$=G z5gAtU@$QR$0BTWw-IM;9_BfbutBU>ow`${2)oJL`bJQy$PGW>IZhBH-J&|DjrnmE; zYLq0^9fykDTXj!S3dJHrRIw5Z5fhu#U&$#IwahAwydJZ{vw`eBI(dfUT&lr$c$+@i zuEfzj95{{*D27AH5x_Y*eGfRU$6#iMWLfsm zO$`z9dV0GgPSVN?aeZQ`3x${$-U$$Tz5mi+RqAp!1q)yi1I8JM+HTO(j}%e_*=dYO z-iMb+?w&H!(V-NTl%za(0rHw+a%s!yD(n_=RL!fc+LaB7u@V^vhw72-*3;~HY#0+E zIJV@Ql&i~}@t@tBtjRZ*56krPSWDo7=6SH^m2DpI()~yq2q-b^j=cRUpzb!rziES# z;~pW3RT`U;CMsdSIkc!L!ri}8I|{q=p32Q6N>}D+a2AE6$?2^16xcRjqow`LwD{C9M>O ztEYFt$bA-mvhy_iY$cimi52R`pj!FuOtpX&MZrEDy*Sz9zi8a;L4l5Uan&zktIO?gF|hA+fLW-Vh*6#Nz*Vmi864a_V=OaY~l( zQeU1sADO$e&Mw^jds*^4TQK?%Zs18k*bs6W050AR5El$caIwZgw-;_N>*e;E+_`bG zN`B`&{W*ov)u+{MVVO@0>6gVzGkGnVTXlVJuts)AQ7Jvvi1SF#db{HmS#36TV@YG< zcPn3qv0wQj9Y<I#ro0qb`V4lBA}KqDNs3#ikiqLpT!R;*at zR4MX%5~}#MtliXVR*R2VGd=?thIfRI^r7L&#oW3F#yqXk0Yz;unGSfFn6#V5YE+xX zRcCP_Bk&=5#!nzSB-itFRqUv514MIq2LtX#ab#p?i}7&#P?lKNQQ#9vC1bOXcx=r- zRaXNdIv&_6Yu}-XG2q8{K3vehgS}RN@r(ItbfWYG+l)H&^5Z$Kp`-4Zkgxr1#MT;@ zFL<`qGnVi~h;s6NJ4+xM^}kD&m&;Gz7dPB#=O5-Gfsc>x^E6ig>y9V_^A6PBXy-kZ zM)qnsz*Xb5o1tk8mJVOEh6kb3X zA1nLK_TG3(5)jB@E#pKw)oTw<7(vLig4@<<;#6mOsrx7HD9q3YS~@yR2}+PAERs+V zOfD1OPh4V{6_-Lv6_-ioA}QC>c9o?vUB+cIH0#vv>q5NZ2Oyn!@4UYLM9m44#hq}o zNXToyhUMI=hNIFL0#+F$phopQ+8-j5pz`fMWe`yEsmfnv>_aJ33(q`SAlK~rc*5cO zM9d+9VXEBbegGd$8mHOCAGyfe#MA)=jx7!j1Rz8%qMjs-i0oAcb~{i;hrmmb(Ns$= zE-M)O&vlth&xU(fn}!N#r#D#WwKao-P@F*M_&o0@y1wCU)wXUYL~55)8~6p0O>X}~ zrXHJr`uDLxV1ypR1_O|?Cl)6xW5Y6stFv9(EtXEb^(sa%hdKXxfpE!J893`BVhNU& z@`v#QN(6iWA&LH21TmzAQ` z!v%M->+KG<%Y`!m7#Bq-?qNuLLWSWt1O;#u!>z!8Abr~&vC$3ySV&*ZSh)`k&(m?EyEY}6!Bsi2_#>|$n^b5)KmSNmwI0E+01#UA}F(jBW32p-D zKrHw?m~aR^(p~m+L2rDZtt`^!ACPv#dp#uZWfG76N!oaw^(TEe;9ApK|)*@S}N^n7;)I35Gupf|87-_>wg&qQAlSM)(Yn6b$B7B%F5+?!nAY1^J zA9cNuIsF*NbU<9Y^M*h3tExv!_vg)b)qps#*hg=K%dY(d=@Quvc8d2Ru&oJ7Buc_o zvOw>Sa2XOn6kNE^W)n9JdtNB}06#K={;+3QM3;pa^}LvoMl1*b z+BOF`chCL_JYoD4NKHnZ5Fp|A0RV{$DHn^7*T~6hGv2x(9oK3i>nNi{0z*)&Gcs6> zhkqQEu5;~9N3K~|5VDGbzX(s3P={l~a7+IsS9mr5W#Rsu4w)<@4^I*R{CqN5F-PCf zVwZ~Dh)x2vNYeFE_XcBoFT7$+2n7%s4mSiDBcb#=ErWe$@icMuG z3s}L6<)hOu+I=xtMJk{g3(HS|OP||3gvH{<|6Kl+?UUEim+asX>9X&}2_G`$vTeIe zmSxp-mYT&-VHIC5+aQVQ)7yZ^_1(Jp{#ptz!vF5cVjZ|ZfyP)PWu6ca1QK1&k7Fw` zNhi}vFL5^aHF(bHGY@nEHrY;N=VPI$Pe>_5-x`D1^@sgD&mOLdjl?^O z{85mQgVFB2zm=Dd)XCC92%4*9rO*BU|20DT?W1avghk2V08%2@wAEy|4t}DNis_|A z+IcEK>mgdY>m=T!_$*y7^On)-#Kcuz^ho{fi6 ziM2dkyx6DP>8RrZS_ig=jEpNuE0CK#M`raHgv=@5^_ zA`V-$#R#^f6y6P{mBs3z1srPKv?;#PYrG&~DY_vRG*LvU(USs^WvvA30@O8OD+l6g znD_6z-}EphI$TH#r1d;r>_8_!;YdJm1#)XWV+91ECk!pCnyRs(CxgS1q-~n_>Dk!3 z*xA`3Gn^@r4F;81NYN%Mg?u4}{ZsD_U29J;RDSJM$Ze^@& zEi)hALtS@s++B9g>@;~Z<3KCU{dFnH`}R&hXwq0?hCvA1!oU0+kwTLKnR2xN)Am>~W1K;jzBbJiIZ;1h34ru)$(8IS^gnYVmXRuccH$KKt7r=nGLtvu)8% zCcXYT&sp9I4m9D`BIG=D1eBo+@kt-lG<|3pHM>l%AEUKg5g!R3;d}yS8>6HL^*mOX zPYKw}<4iO~HNgl0{#Qo}6KSklm9^b;OiWD7%nO=0@hc~`GbLjtsX8tzHZ9JltLd1; zfA)Bh_22HlKl=@jwbX2*@d_Y88*YAcx`x_wf4J6SR`aoK86TX)WU}IylAL3!u}{w( zG_6?VdiuNjzDF!H7FW-AU>}-{p-v7yR;tBwkfHUL2!(tsPwB9z%XK-X)BODD<-u`* zm@~0M) z!+P=8^@`m@How`~=~__2zF+C+8mBe-@jM&W<1 z3uct&sIMwkiL{&;@opRC-g{VgedbC(NMO(oR(V(N=1W#=yW8bH-gaZUttfEQHKFc% zeuwk&B)#$c@_fCjEx!rEtI1jOKI137?VaGiJaug%lr^j{DYxXh`&uV>I~gi)Z}zft znLeXx@o;|bP&h?ENO*YVku5jmNh*B%-Aup{ITXVuCn7F9oTkXGMTqL!=mQgs`}4T!JF0ey@{@yP#3<(W{S*AifuRK;P z16J}PIk9_$&{N+b*q(Fxm+P37GjJY*gS@UGm+SR+-@97Uhb_V9t)1k#3VTy~d;6pL z>Xuc9QD{zSJXi2#zc4n3>yxmmd^XP&r|$*l&8p+X?X6pK&JY0%*WU3R`yaEsTW65u z{A-_sY4ncccw+e#O`5Wz5e4?+$tHI{Bbj|J3rU|AhXh<6Z+{oi_`@A$k8;?ob=yq% z=hq?M7J>XN3+;?=o=q!#FSqN=cv9v3BjqOTNc42l?@}7oeQ#@4Tx^%BBDPAIeaw>0%_SIJQyP$Cj{=N1n&}K85o$jasdP+ zB;IG98xOzwFwa(6YHMrHri-PcKWvGR-cKGMACHWTL^5|T+O~vCh-Nv?0X(mk{rCq4 z2`&ap@8y3TX?}q;Z6G0$VMBlc6p|83N|;(6i zK~dj_+b!Q`{9Lc=JEQ*9qa9^sWzxqVh#N1@H}bNwcw(DfxfvPDEp~b-CUZaTpibiO z(2`vPv)9lG>JijGp}_qBzz|RZa8c$DQKf_r^X0zCZIZ*Hko(Q|IRTwclq=-Qi&Sh< z^LssfWKqPL45(B?c9wUe2NM2#|7Q={>OlcF0)rn@OsdtiG&S!ld+sYYZlgE2+|P~K z%hqjMX4o>9+w3eCHowFpOHJ?C`dvhK`@qnY5{&A;A-;(yVucRN*i%|mh- z!~E@TBKzfbZz50ug$Dwlbf})Y4-ehAk$&0TSoJs>GeL@5tSY9%_Rt~ENY8y(d%5(C z^?eG5PD!?2Yrk6XeOeIw<&SxJa}z1irHlBZOMQ-S!YGR9Y9G4V?}7+I{NTJ+0Uf4@ zJPbGpvOPeASb8j6i&Si5_>10oIWYcX*!+jy@H`b8czq=VNQGYl)xj?M;Q#qu%M#wf zk7J(%fA{0`T=4cd{_IBvsH*UDakU!loqjtB^|ER(C(mg}D$GkvRW$tRrF0QyqVcL~ z^_YmqzONep!{E38RI2GG8ZR=P4Gk?E%HHfk^V#~tFN)a5(cHV=@KyEAQq_5rA(2Sf-dG*CGutTXnh^~T!>|~Lbe}yuR?y4 zyR%AWAWGhK3GGFQp=A5tb7dXWrWFC;!u5K}2L<1?)e1h(*?DadiOQ*1UES|5-Zr1C z3=O^2?&>M5U)I(AsC#&QP9q$H7#e!7Rb7;Vl@<3^$w5W_@p=uB@8SJ~z?x15vXXG% zgZA-EC0|poxU^rqlxA;V#(Rcc&67D?Tw9>1I*83$EytQ>2HUx7J80! z&N9-{7Spovv9O>;&b&U4Zi={odWOubENhO;3eB!J`t&h`(0f=gYS!n>zpnOKZH!UH zTM>o^m;}(Q756;|Z{$g(a|HOqsJf|XqRv#3IlR zL-u5~-blWSn{rz$OS;oiUL=hmm(TUly?;20z+`V68j4T7j@E9v9{2^Dorf??p>o9X zDx!vzduinnc->dkr9Jm^wfOEZd2$96~_UhFuK%-_g zEFuOQVKjkJ0wtgVPyFPMtG?)p^K$@LZMN1cX^utJB5u!pOCUq0uYG&)u_r;-;e#rb zGaL}NUjdi~R!tb6;}ptQgsIDSy7=&a4p{@L1HB8NH7l9O;r_&c0Q0`|sXCr^Ll7%$ zRM*pIcK~NXpza;#2{CW-BKmm8^~gYEmnw>ZwWaGaXGzv}F#s4Je0S$%;SWM?cU`!C zx!ZU;=Y8Y0H@WXN&q)CB_HOhBgOh`@P5i-j0bRnM;V^!H|_W@h2T z+$~T99EgZnV$rU+#Y8^dR$N>x?|VPP;_=63&!?GswyB?6is?zw-d9}w9^5_=sF5#8I{jeJ*2?#EW$q{)aE585>?QBQpZ1K?qs^qq2j^pJuvM^A1@zYB0AtMYbaF^w|pC39nIGE)~ z^w&mN)r%;};aOST^#<0YBoiDm%vHka>Qq#B6e#P4gcjb}o07w;^d2w98&O|l9DC>_ zale1>9{1LeJQW`vqG@tC=W~+JX~&XMMD$Pa`9Ak_*Ux|*(fKh=4@eu*+%IT$zjV{_Sx1{bq+#~W^Ftp>3XB{`C z(tg6QJzMYMTz6_rnH{N@sW;_hmY(uR!R`^>*1;WsLc%CT)vg-~3X13tg>)8JSOCd{ zZTDv=pnAjW@|_!BcoEv**Rk<*$|kGF;cpB32OxBF!dEOfSHg>^0u32N!~ z&)&6UC`ejF6)1jwRra1r4v#W^1W8q?TyhE$E&(h(#FhK;?ane;X+WAs=QvpJ0^wdy z$P?*bkh$wg0TI5G$&ZpArN?K|-p4Br_`$zmNfyE;nI%%%5b#lW>&N~N@0&H(Em?6@ z6`;UluAqyLDJ}Ep$LsS>3f8wDJS}_-?mJ)cQzp$dXxVnyZ1}?-d#@i*zwUHZReM1} zgsT1RUwHr`3igkVj?T_**3~6F*yD6@2bAUcufECq)UVmTZ@78xemGrevD+ARaLkl} zf<;F>Vn-cSc(`y}igK2b#*%6T_ZTug#!;6g1hc-^oMAe13rbDV7DzHO$LX*8tH`2R zi*qU>zhVhU6(|734ap?t`sKjEIG(@8h{FB@S0?VdvkfZADXFQ<+F7Sg(!CVlyb7@l zhwFpF#mGCwC82X|Cj>5z*X%kvbnUXZeY-R9!3dBj%FS6vBr!900Vj2Tq%XgI^+$8A zv2h4|k-1XKh2F~p98zG`UMl>dsLEA-sYS*f_xn)LIp0KmRC*=GrQ_bX_v03+@BKmP z3>!SlyLS#RPdDmo%-1T=D03%H<_vy?hh>o5ul!X?)9n!3qv*tx0u95M0#-vO^{`u6 z+DbB^LMaNnAnu)ifkJ%hnr>}ssN;n}-Cn`GUl61}Cyb&3UbZ|#2LChcqUrP)QTYG) z-D=Zp(apqx;GMf*Dih(Nq)9@8GR{MRO~a-Z3&ZX2hgC*u$URqDFAI(nZ&uoj7R;Ux z9VbWyzcInKuA5(8H3<)UX75Cr$%Pc4Mx*g~?N6SxtPPF_mJt%#aU8x(66aKK5JImn zmN1z7%v%w6P8HgNX`=CbvhjQpD)_ibXK%Jk`tqC97izXu!vh3H&+Z_dN{MnM^AOwq zDb<@+KV2nZpQWEUR%R$b)fOuFcpj{9csBV~^WwVrWbZL9fdn}l!gV%9(*3Pxf8)lO zwQnPznZ2sVj~k=JO7SCp=m2+UmQO~`6Brr~f|JYfJ&hbu2a1=H58CG12HJLV?i-oG zv}}qlBUSba;t2q(upgg&epUU5-g>NgM_{BY{-5RJfqGE@*d`|KChlz{rly*inhGPSMq&JD+sk>F5qz3SPfxe>cw)43 zAH{t6g~>@64Lw?uboO>AuFT974hDiW_`e8+_s72z62c10L!!e2Qpcex3adCE*U^il zn?%PUic%g+(3mWw;;!=UId#Y5DdT)Y4;8;TAzrViB{?irOU!UKRRg;*YUS&QV~pnq zbut+7O4)Bit1j8Z%q3}0OOn)!K5EdebUE3!z0AUAb$-6z=@DdCKUb3A;qzP0D+=r; za59N*8~WxTiK^HkP+o3Kc!WjUivo`#Y_HGTl70sJAKak}K!(8*eqF+>t*xn{N_88Q zsL430{WGGoOR1(=J%#dvLwJ~Q-tmlPv|+wJ5Yuk?U7Lw?h6&l=K_vdgI2~Kre#{B) zS#gb19NpDGD00D%}hX-TN#CxI)L7e!gk?SS%XXEuM>Qz@mI z&0_vzq}-GRMK1s6w#A;pPfwftq1TwU8&KFNx0{45bvv3^gjqcC(bzSut%-j;uZ$}jp zP$hw?(5`@TP~IGk2ON+L*n00+##)>4f2_0u4DNS3n3idosob3{SG$m0wr1Z`$Is=z zJHDGKZDbI7vz=ccY=WiQ#=*6Ee6-PQX6L9sT&m&ee)m0nhA@J1Qz69j%zY(>WJPov z8csERaUNVL3MeHjR6qQI4WB>TA50g=$H&W+UhMfk?~y(%4taFxIyXS&LNC@m&rXhx zl;=FUY$pm?2Rje2!scpA_W4o#gV`0oIf9#sw6IP1WkbER}8YN>?AcVy+gbH zu2AaJR-ZF|@fI}BKK;nUCZ^!Xd{^Yvi|{zhs~Sd4UJ)G^LJAOMZfJC(6hcYkN!6d$ zke6(_B2L8HEc<3Tb@h|C+wSV2GP8{DR-5DAE7Rq78T0o#)5j@e1eqEQcm-hy;yU2^ z4{C~WRco|Hx_bYat12809L>4zr_IL!+nhk8ikf)MY#;A6H);71z6~J;2~DEiJ{}in~K`cZyReUff-Z7k8K9UaYvg z6pFjc6dj~MVUTb4+v^^qnYOa&{^Pq+Az+6qNSAsqyk(-^QDl<9G~q_LV$bxeGwP%;1O`^QCeDhB}AA2 zfUT!FmB+aRDw*_*2+bzuaca4fWv-!g-aCGDnh z2G_@%(Z;Zcu~6L3jYHC8W`YVvd)Li=WHl>`bbsk~bJ`!Lvrx{-J8cZNX<9!)j$%PR zVn>!pQ}fiKqn1?&TWYX33iwBCDeUhMyem(y2w88u`L`moU5DH)Llu#iL)DY1&ANPF<6o}VI34_pkjTOFbI7iFLTu(s`YnA3dH zwXM22Sv|M-e%mwgT`r$BSGp9}Ks{l`QhSl!vqtZH)twfpF$0QXhDWYAG5GMy-*_39V>lN&RMfVb@Fc7ccw2fi%{*K$^|QVv{6ExVCDiTEt&xJa8k=iDD*hj~TRAO@*r%y} zQzKK@!1Ix-QJVsE2dwWOx`P8Z(6xNMm5-A!1!Rue)y(0uJ(zL@X*vmBc3KhrZvJVN zbde~wh~1rHrvTk$c6MCBC2f**LYc5r`RmsRG4Ep%k2Uw)1utY@ezH zRxJ~|xkrw+o5Z7iV>Oiuy@7cAueSq{;i))kK|?4ETM_BuLYcoXcoWOBfZHkZtaIx>%;Brb;B> zgAx+9x9!^9F=Jw>QTNyFecY_Q{4Jd9y}j&9np;#~l30C|jITJ_8~6@zKbt@aMY2eb z&(+MPJrk!^!UD|fv*b2IzjMRUkBHkR~U{M+6tyzC%QHzss+jSIDZm)gH6{1QY z_2R-ovsW`MqZMs!yuM1}D#j+w2A$RRGe9|Ad8?}ia>x=C={0?2BB=K6Jh^FOLcgZA zGq>*d@MRZXU?#h(>lbx}j5t0kGIhS6ZO!~G)Uy&ehpSJH*dz{mznzRHbsg*sCcp^> z_38cSF@}RvrqV<~3&tZ*j-Zl_gs+Ror&Ld~Li$0xa?KXU)?oW>p~c#9b}3f$d2Nlb z+rK3DRLSOXypuAbWD;rS$L;6;06DScI9?ZngzY&jK?Fo*80>89fzpNS{QTv3Dx|QR z*286m+1a|qAVy*sbpnp0X=V{szgfG-X&WTBoz!zH2$&*WFm2^3kP{Pm8FQ0zG#m3u z0N5`kn>gUJ`7dCZ&dfiAloeXyWW#zcM!@?YLZY zH$;Cgt)}SaRT$n$AC;1l;@)nUYTmwXr2F?7y%L(bvRPX5fp*sN@Ui`UetzPa+_f+tTBvQ%E&KB-rDv5_f_<=5^JB#Y4GCX zzYIud79UBnAj!AU)Z@wJf=_pIr#_n8I^x|@J8h4exwx!%9Kya{RhX)@-idspUjIur z0wJbGQBrDet<|N|Xo{bZrY3X_EHla9+}P-9eK4~#W7@oErkeTZeb}quiZ?{W0Er)P z^@F$jdQvcsn7_krbs-@E*S)G@UeQ}ORV&*tCdT3SS4}m~l)$NpiELn?RU}=m=TUj- z(|zsp{hy27c@!@-f{AQuxm<{Xfhoy7tOjP9R~oWi z0R#oEEq;d$AwU^ILTj6w-QUA1*oV@gyA0?AAUOUW1PnLuHPO}0m{^!L zQB=xu7xS9C;c4fsL+e%Q^nkIeQ_04bsa8Y=%1`jQ31W)Yb!#GHc{~!K8qJ}qHVq9q z1zeEpTkUQ4*p6r|e`w$+=|Y6^m-QW)(aHy5aLEYxldm1jsxN z`XpMHQY>P_R83VnygL7*YNt(5z`T2M@<}&UE-^wr<#U>OdC|Ik^XhRJj_hX*3d*QV z&rdl^jn6&3f&st6H=Kuad~Q$QkdTZ6bV0@RmCd#)NQn^CHQIKYNVRyLMkgO(f{?#&dyGWz)q4>MEHe;*H7JnhB+Wh1>UU26ldn> zNv3|f(~w*r`@+LwquN{GxxUu=eDoLO0jOoVP{!kAiJgZ>yLR!kbOhk0$Yg^+U{y@j zG6bRWGTBP)DFa}ubhQSwX7%QAKycV$wLN>Mh`?@Y$NOkH?p35_?-;WI3gS!!A+vO> zJf#661Bz-eUlb~}_-|0}i+rZIa3)2+S}>6mFmJa)Ter#WMo? z$+C0BYrnC6TVtm$eZE|q%g57S(6yN8dgW*GpWfWw-~WTZe^(}r$4NyT%~*`TW5Ngy zGS~6wMyHQ`_v2fSb-zVS8He2TY^(409V(KG($^6YtXXqizBE(7ncq<`zMolcumt1+ zIXIZi6&B>=Y^blFIdr`gietB*%d9+dTQmfu-3g5q1Ohgl$i@GVS_tVmIgclnqOiRr z75mLDzr`9utxbh$ZG@f)bKS|QDHRo!JYYf`pfBLbQ7+9Cu07bP)c&1@ndnf(e4j)7 zQTToBktwLErsn(VDbT2TL~h%p2h@>CNxQBl1q1F&1Mck{eDqVz-zag+H!rmSb(Rhm z*{+72GLC-nSBbnts8P!n>T7PtXJmfEn2V>Gqie6@;N|dq;%f?v^2D}KSVE(IdH2!u zh|mVoOYPGWi=olG*`b1ml|C{TxQW0cxfk?>zf1@K<^deD$-xuGFxHJr)6hkbJ*7IRyu z(}?p*`3GM!xnOZ}a%!cL;J&#IQ}L}`tXxr+KpB`@{Pl+HRMgdEYIW0p^BuNuquC;< zGG1UrB@J(r4Q=gHQNUpLUS7b{9Y8W|KFyVi%pbZ|TubqKPvp1&eFzc_%WDmmK-qf( z#wmKm3B+szLqif0lAO%U`$EzCLV%9bvO73+hXJJW%5I!!7yFS>OfjJpoQYY+EKc8k zfxFhCQA!q_T%x&dTg|i;7ZE096#Gl51PI{p0Fqj(gN0Hnt*ruZa`nvZ>-H$X;d%n# z0$^y*Pme&k^i3^zNd*`~*5Mz)C;cK+!G@VTk|jtzx~6$4f4LC04kIHHt#@Ea(ug-e zC3n)rOdRN-c9&NV-7J#aS(wx_fhXTfNvR;nmdgN1fx~U!rftBaW2&JXUj#65K+61T zbCg~ZA44h_a~7M8NcdF!VnAW!k+Oc7>J^Ci_~hg}b9XJ-H+?lha01z?BTv78tg-CZ z2M(Eln%I^stB)}vw5qH{)B6&L<;Wd5LH~t(baT^;ACGiY@lxfy+^saYWfNkXZ-7F6d4#xZuRGPIJ zRI?y`{W=2(Gk|M4ZQk?;NKa#rbvG^aJHTC4H*W}Vb2kC?3>h-N-#}->4q#!GcfV~+ zI?!r?l81MnLLC?KIbzCq(w8}$sS?H?R6xj5 zA$aA991(EHD4z?^B9HyvVr8S*U+5a)SqacpWrfp{cq5+)Qf0G#oo_|m ziLu{RKq;)}bFeeU%W9BmZ#fH1lhWaThjZp} z8^BMm+k2R~zX?g0PWX|TUsh23R!C!c{7VO*vvz#z z=n&%Jafh8Y$Hl~GZN4XwYnmw!{ma~W(*uw$IUy8}$V}eEP|nJJ)#7&R5gF=zjN;L) z>z=CTr}V?i?qaH`VOCm+zs$zo>oC>$u9-)Rjt_3EsoDu1O9GC7L<`Orl^_rq1;thO zVr;y*vr9$qI6znQ+tGL|Tq%Vty+I<^u}}(+|H+fz`c$s55Rb-@>P{E}aXdiXqazn5NJ}hP=zfIK~;UN(v$O_O#_n$A_Er5hVLqoT>x1XM#4BOr9mg~(weX5G; zfZgAxw*u)_SPgAgrT0rMrCC=XVgM@g*z~&v42Z>`#c^jK(rh^PEenhG3wBVt7to3W zX!_$vz&`&zuCA_DR#qQB7A=3$jybK+yIwNsL@vps8TJ;wA7U(&Qq#=voPXp1@OFjA zn$z&*B|azNG-F~ieJ==t zkG+UMA`KG*ag_Hb8TV1{FKG|6J~ zKdxF3CfWPn9GAw~b{!q>ioGnOCJQp)XGEoj%YOWnzWATafZD^J%G006+f5Au{seRi zWyR?0+uKrWG}YQPe7V%(PF45dkJdYhde@Mys#+gytzLV@HNRUHZ5^FiF27^_P4C?p zUTs5&b>@N%H`H%l*{B#o5u#UpgWXg(@G8dzSdO>RV5y>;Dy8<@yA!8Rn#Q|YTLH)) zpxLV}`sht+o%NM9yquz)y?6p8c%)ilB%>z-HFb+4H803&S%VTCJ^Y%Cd%9HQS7O(X@h+Y**dC9z_h>R0|)DkP@wg zx`KNPYft;cULSXcYDA*P1Is3DXD^x-cuInbT)7h{r>xFygz+~;WCN~Fixt$ga@zE8 z<<-kV#nes-jDu+w3)HJDuJ97w8NJIW&70zp0nBP0`>c1?%YCsGNDj-d=xk z8P=Ja8d$<6#iJ$yftP{{51Q)!TkvrfdLDY-iz45ey*!OOMYCL-He|l>fV3|qm<@2Y zerFbsqY*YrHOUnv$y2Gp2y$C@k+RtPvT0}Ec?G6W5$hikgd@*==`wy zv)R3rb<*hM1?j#O1NRH_Qq|Dn!vpSbh_nCOpY!*?c{Qj~pM1Hw{1YMS{kU|X)VrHF z%OfLgMTt?)Mb-K%YDBzt{ZmWu>^&Rra6DGZ%1Hq$Bq%X6U*HyVFR+1wrigaiXBR8>`ey$gP7d=>{i{>J_ojFi|;GqV0P$hbOOpJjP%3l7S@DWD%)N z3~d>3RY55gp*G-%eC{g6MuBD$(#ZI>mj(2JHh9?}nVpVr_|EXL`La0L`w>k6 z1e$MU1UwXx73U1L-&vBtBI5K`kNzUi*+ZB{p zF{VUS6o1c!dks&w#kj3auUQa?mrUWCa{QT5PI7A?&5MAhqM@`kvUmRY)*=Z(N=YXt zSv6|@`>Ewf2hxAat3%nKvvwX>Yo~q7Px6YSa#iEGErJ@C5sb)03{w3aDM0r1MzZjh zTSjxZxEi6sL0Eu2ec#+cO|3<7+uM=EFvJ@umU~%p_4w4S z@AuywS%^d6ab&5+hzr2Q1&WtH%P>#2pZeob36C+ML@Ua>&O4giTBkDg<=o#z^IsQI zZAO$y72z6*NvPsUX$~-I(jk_&k5T7wv72pMQI>=v?2)34RbOpY}~!F z4IYr6`Cr%@ zuT-8kYDq6{G|t=dZR8EE>jNagAlx7vv-osNd$-Nl1J%Nhc7ikSQTXB6Uy&PPSHa;V zpC?Mmm_M2UH%#phHIEqGrWG4$Wf8H+zah|7bV*5p8R#>$Q=;m;I#Q@p@80*6ZwhzG`D ze_wzXYKuvlsaU_AZj5(^cO7VRIQ^b`1f&`Y`U&Dw4e{3Y7<}!l{;ei$T{BCa&+*4q z*Sh|2IAI#3J%nh^)b&d5A8zMwd|2dNN@Hbt`K$@M1$qGk?l#YeFTpXV8Y=#~k@yW? zf(YB*nhfTWTxFvEx)iso4x7+QhYJ;Zchvv=$MW_gLWXgS`4kg1yhvyX8g_g<8sa{^ zgd!-vN}jSYH5WfwHS};^L?d4+IS`Q`)EQ|mDEUQ`0jFG;feSh}?`PpgFj{^U()tT! zDekfoZkyPJd!8m8mWX83{g9^Z`y+eJT0Ht!j_;3CTN&pSK$_Q8_z@r+%A?$&``OR! zbVeHB~vtCldCVt<`(F2SXYwPcH3LQEarD4`VdjG zD{W;1C42i<ZNW5?zWU(ahEG#KhrI-pN+VwyiL{GNIQ@mRD8Q1i>o>lYh;fqf0z+ zR~`akC+Fi4fIi^Np?k&4yrzG>T_@b(D4x0+i>8iLo>&6~%d7I`+sIm$RdqU_caq`9 z<0G@tGvY_UNk>F}!CVxq5BOc%&A!gGI`DYB&OOv2{~uoDKq-*!maNU5vC#P-@0{G~ z6SP1MnY`otaPzKZ@YjLfb6}9>3j#RAI`R*fILK;c-Y=lz+MR1no!z>|hfS>WdIX3k z$92fVk$6D&U^2K!BBGHURt>PY(CDwV=1X9-Dm&~KQ4%y|CduHiL~x*uwLs<^k2tb8 zMumVr8Zg5^wnIS{0JmlP$R2-&P??P-Mhb8n6BhBOy-njP9K*yA)ttDs4y&rrXms;F zsl3`7>)39?fA?b)H{j4fuo`n;eDozTckMox8FtXWtqgD?y^ns6V9>=w>u#|y=>ZXy zn`TN$72*QX*8vdJrVgWAC#v$ZpVMqh_=L}y8nbRjawJ}$xK@%Um?8Na50a6eT40OO z(O3AGuWI}i2=JbfUem2o!%VS)vCatw`HDsoefIIT_z_CvT9T+zS}82%X$B@pBbDCQ zepX8AE)x7&DDQ)=McgSPaDvh!#Hkg77PN6Xcg!T1V_)RcS4n{RWH#h74v+ToPnOo4 zSEyoiTK&t}pK-GOeI)?!7Om2rem%ScCUIe{2XhEz+QcvDWf2t}V-s;c*S-+*884ZB z@&`CGyihQ0iR=Vvg&3Gpb?_I~ymu~j8Jd}9eufnPYXq5F#iezofHNa}ifSrlvByO2HdV0350o=B>?k~-Nm-i$F@J|a zIxhHQ@qTLfebiG}l{crvJu%WFTs8u?Vzk+R8|j*b!@#>&(S^{n|mLEF#?n z#8;|;FR;L>)RMt?5j_OLJs~l#gz*T#^p)z=WZbB-;0*P#vIM{)&eecA^Ris#E%Alb zLi3Aib~grt3Kkl$dQ_*czjxa@=I4G5xxyOK3T5j0@v?xg#7lFAM5l;TThSayq47TO zu!^!yYFvnc{N#(hnujvBkREY4O57lVTvO`glXvUYvDn4$9uM!78?9Zhi2i>C%t&&B zP;m$<0?R7k#g1B;zgYA)Wuk$5%Hd6_Dc$fSz{x2Er~^sfqVP^D^xkzn%MzDegBW3`{iaH9H+QgpP zY*EV9%?%OWLglN$?{uzf@{s!WxkDDYWjncAIsV`BE_-MwpW!0#D)D+$;ZeDY)?UB1 z!nmGa8>}$dNY|PAzk)dX&_mBoq{q{Y$_DQw2)Y7=>xo%|)jr!j_vx9IK;>XMK5nWHeDW{-u4$_8fIn) z!yb4=A2&rF>7F0;32QBSXYNydHei!7q%FI#ok_b?8O&40LLQe)d5>!{A~&tIO5F#! zHwWK6gdVoyHhjkIeCUQ`?q`1L8l(%~O>i3DJukOI+1e|P9JV%_ZulYJ4>NvC;Nf{g zrBEcr#l)>m3w3ecJe8pZN2yB+L<9$-)TtXED#cU21 zB2-d0&ocKzBG5qRx7f=0vCHGf3hU!>S9iBi_4@6B2tBXo1VrR&pXz4CTJpI!#(Hs@ z!((O7lGJS6ybNX>NNMg5b372wqg`4SJ&V*{UC>L)cMScE&N+~ z*hYoy%yn-nmgL3WX6w~aZm@>?-c#QFm=iKt<751X&qVb#w#yH?yLr#U)gD43{;m4Q zEB$aj#Lh>ASbUzh)iO7=)jKVAQnQV64#F4Dqz_l32TeM;#)tks(ZavV`fo_so+@UC z-(HgSB3@FANJJwekdi|Y$!U>@scI_6_v^tCGGd?}5J;v>k%ADuKYR~f797O{#}$~H zo&iFNCNCn-8si4f`|-Dj%Eb_ruS1Y zyhB<%y=XPNeSbIn=SQoDFne)1p6~ts={z!t-+9gJOa1J->wp}WXTa2SWreqW>9}K z|DTcFCukF_)+^s@FI|QBDbg-n3mM$q7mG3cmeJt>eZUd^LNdj?fsXIhZZFSGYT!MQ zM&1=19*T#|#5p+#K2ctQ$4!M__w*ehJUe1YRU}b==C*h@u54T|iEJ6IX^$A_{Zhyh z6-LLEoCFJaz~Wj!J6RwazZ)pTLc=48w|Lu5Md_}bfo>$9*4DQMbXJhO3gwJ?cu);(BIcR)coql zk1uI#fv$#TewpOo8;YB3&EGW_!7$maj?SLnc5$CQ`*$uI__0NDA-g;d}28eKfu-Dk&`cyYB9v(*`Skd;Ow9vkzQstnMa9zZ&iQV+u zK0D#sp z^m&c{T=j<)q3&Fwm;UgyoJ`c7vuhoXZO5EsM|`}6tyGI<`26Ib>SV<%J*n9gf-KcB zz=JOKV-G^Vq)zDnY;=^$KH~I*2z#uxsmOlVM40+>_hVcc)<;HI{e3WfBJi!u0@Q1+ zwK>nD=OsgMOKgd*gNlC3H%v^b=2gqmr+G#3?)Ay;C)lir&t3mpXq$q%t+%V##Qf>EdZ9ep5dcI^QC;t{CK8Dwx zk1u9|!1vCnjgfv%>kU&KKK6|6q0PEAFd6ZG{F;3Ev!49{x3SOx5lGf=+avDj>>Jmz z7jK^H5sgEwwWG|#!jJB@%bv{#S7=2T0^lNahRHk@D>#kHHn%rBPp%#@?!N2z2OQWn zByLnw`k%G=-Lzo^E{CKHgc878xvd@*mQJs;*57kEF8xOLq1kkxkF^~#jqHu{G@V)5T5t}3r~ z#eSxc@xNf=?R0!RxeeK#sWZ7jYvwHxxw)l#a^9Ssn*8NE6*}?hBJ>Mu>r+UAZp|Cm zDJ!Yt)cjO6Px!%8UgvLKV}SO0VK81qSKGd=;vvFaTJ3|_yY*S6{Wy&ERBgO>OT`cR z$0=^(vWr4=K0G_%>DFVcZpkaoz-cWbP8rHSSk%1X`KR{w`R-(V$j<@d9p>P5I`-uZ zXhEC-Oo7E9RYfEb{bQNrC!u$*hBUVLarmhFoF+z8dA|A%?I94Ll2`eDoSRj^0`-BI z!8nxZXVynJ5p=k0Th-06ieWRDET5vs`Q1Up^tezkhC}*{v^ox@d_)wp`JVwnxadDW z1uR~{k5LY#p`hXiiA&KKYeq!V>{AOFM>t_rstY`IK6 z+(!ghQq4iP6#TtMOx|^!#*7E}PR)HR%-;NTyI-liNh`CH`fxR&5zu54jRhK=8TNPT zy;EuOR`m|wWfl0a1#5W2c^|FNRd1U*@b(#o2zfG@PksqH2`;r4y4WF1^HKG#oSk|+ zc}YeK+kP9{bs*z&`$2Zb73wAW=kgjFGYyxV*7*QAjuUxU75#H8YMk>uOl~vzY&PCq zVd(kjxRlg;A&)epYYd$7aalvhz<;;sJxJb8*rL1b7LqwSx9Ph(aC#&9c--x~b$C1Y z3lw#A)^&cVU!o5;(Ibqt`~j2XD*?u9ZZ69-QJ;S7VPcojYn7VlX}Be+sg29^O(iCD zv1yjPrRpgkou2;KKfTik2*LX2Bf6sZ9?=_0D@HB%J9$F0+i*3jHe9sb=LaYJz(37< zgm|=}&~RzQm;*}*SHxkXicW8B{=hCS8`8#0ZLY#B$p)4u&vE?WI1aCyDbB#et;=Om z&i)oNp*EJ9@DG6;3j6vYWh4$=2@mRhOPP3|jfylpDhFwKBBsFj2TO(=s60e)w%8Oi z?Pzw;fHu}9yZm-$n8uIth)`C`s*nDZ|C39vslr?GX7R3H5fK@U6o%DwN;4_{*7Nm6 zqGC5>qSDCWVyjJ<_0JuoxvGe24su24|J)K3<_qK0F}iNgu;0xVf{kj#uJJ3K8%}MU zAN%MC<_-X$mm6DA9&F&&;}jn4?ck}weXx||E{p36`x4Od3#y>w^AHSk==O_x;dt5= zPR3h*yRBmLTuag&z%72#0jm+dg(}%Hi$kIX16;2S(H9&23SB#4=ZC|2KFgd6+MHQK zKYV_b1A{0sDBdA=h@z)GR54twF4VJr6ndb~oDtUedp#X# zvprrAmc9oOU=eej2s7n(ncXZ4O9lGfLa{|w>sH#0yr)_qseFO9SOTuMYXQFgW=7;< z7}SB_z{6!Cg0fG9j2o}8`g>kI;RMxzOpteR-eYBd_%Ky~t)zyA?l&$-ugKf+%ATPJ zaRzAs*4GEk54&rBkNeN8f=3)xIEXN=XL7k}?4fKgpx&IXAf_dpq38 zehE_v{ypavw-N&d`OFyO;F)aC<$)GI(hrYa7?EXy(v}uV;`8@2kobQqs93~)ZNf>% z@ZnP>GB5G@4`V+!`p-zdH__vnG9eZ&&9Vcr1KxoZM#7S&5`GN`I%@sVH z7zhmV;Qg#Hb%<(2{3hz_&vc{B4A*YLS29EOa_KpIScXIPOiimCe!1#GC7wCA)R zDc1-_6wmP-nSRc9l9Yji2}~rCu#==pI>^6$`RrMDsMm9<)YvgvWrcOg>U5Ije+lU?STKcqL zG}6JXja~a`t1$^eqT&POSw9ai;?~}dy(7-hL*#z@v(n@ox3)*~*IF;_aK7f77u2If z+Bjh)mpIvmS0tW?HL-3`Y;WEJM0n5#6dj^bij-@e4RUx3w9oMw)9pIqvLLt!@JWOa zY7)MVvYfg!uoE4=M`^PM3!;f@MuY(|AzJQ6v2h!KW{i`Vk*{tNta zgAw)&XZ}Naue7h4WDfVz?>zQ<1&fP$q*_gvv&1Ae4^x#t<=yJd2rv~*vN?tgvQfz; z*07{G@TzkpRO#Qp4g5_!#^f`Diu1Tp`rja%?-HF%5Sr-c(d~ZH)7I&KQEI3TEF9n2 z9 zwFS4-u>B4_)$29dWbBF!n`qblB7R@BOe_b8y4!OUR?_@w0)5WUK;>Qqgn)q)L=Idl zloH!WB4j5!a>Dnbq<9(cmO4;^5(b}O%HQ4iK00CYOT@ePu?UVb@uTb>@KWS2M^VT{ z0_B!|Z0)^Bz9cVEr?d-oo*wAxEe@M2{;X+8HijpLJA*`l7^Xx#H2!H3BXNJ>Kuv%^4!prE z6>qM`^GwWg;}`-m7Y-=>LwJt+?1xT)lC~1>{o#^;&90Q)@aWcG73`h-*%g)Et>48F z-Z1IEXEACVu-{SWzg{KvoYBD&J@_f?ew23*$MTRo$l4{suxuAMa^m?r0k-DduQ2$` zY_*PSEaVsgS9CmRx#_tH0Z!kM(YDW~mRXXTujk} zK$26%{xM*UnTM_FIHku42EmX({ii?c&w3qB;i9TMS(KoiaYMs9qnN-ORK!Z+yh&Fw zV=JbcBhN^m*CgsJX%*Cmcd-w&*+IQAf&nl(%iODFHB52y{lrGrjLVxwIp{>LfXhZz z>z8rlY%l0-Gdl0&^5aCfz4yb?YOD>045`a*u}0kUv_``wr=4&^zZ}Ha|6^g$z${tE z#WauCGvbCPVVN`hBK})gt{e>pc27hggEP-XZX|}toKX(t&==lZDRnj4^NrP?6kqa# z`nqV>(-r1RsyNlCBTVz;N~I-``W7W-$l-|-UVuw%9Plwrb&!M%B$g#q>+`GLaUX@X zxyGcEf57))n%q~!Q4O$P<2S3sln<_NmdYadG;=6_D$*?!v05)_k%L?x(c{B0^zFk; zHRU`~{(qjb8qae%%YZJyWbVgq*Qe0{zsCa|^fwnF3)+`IW_BTDelwqou>*W>P0sp6 z{hJ;SRS0>;R_NuWvTX7jUwe-z?M^=Lj1a)7>)jmnW5=~WAIcczF5W}mr-z-sau|3a zdyF93Z8PCcm?y-@eYAxBT(=(N@o;!(Nz3v+p$Iv8WqVeJ>~X&Coo%}Bah6W@ZMaSp z*&*QUr~?CEY0AwAiy4Wb4EU6k88EM=)02E9^l_8FeVHwBj?NZf`TFjKOkuyXp2lLyO5Zi!K|j}wBZ@H?sL*Y+01QEOwCRhl4fo0&BxM>SE6I7)4sgd{f=zuT{M(QZ@n}t_2)m!Bg=D&@yvm^blgbMfKCaRyP1m~r zr9&}p#CN3tVQJaxXuu|!`L@2)z)IqC<0EpqS}J_e;8N3RroLU+DFy=7lY=l?axvfO z3b8AiiWBT#ITgfzJ=%zogXXrdAjJ+Q@!jN($eI%CgfG8U+?||jdF#o<@SEy_4GS)T z59JFsN=m~3SSA87^{WjTQ83N-d~gO){>e5;Waz*zJQhS*{23#7+}-${-=Ihd@Unzy zKZ>}jNn^gdYQ-;K%PiJr({<@$d|VJEMg2nRm@@U8gO`opb6x?B>c82Sx#9Tb%k;{r z^@bptT(8aM*vDmu(v;Azb}IbPuPT~$jV^6oSD9n*J<%H$<5ncGdEHh<%%I=|eS0#y zUrj#@(g{Hp~P*W~C5=Q|2qNJfP8Oj*>+r~5+ z=#?PHa2OzRV3KPqz{n6##{Rm7LT3L#4H}csctIhg`vKRJ0yn;D?M^d9lA47glBVu^ zbP)lq++>@#EiA&0d=-a=JEMisj8jYQy`7SPQ+9HMJjz%q8qXz-gpaQLKFZ8{t?qYj zr?S2yIU1Wf%-?VmBq;KrM|ik16o)pCR{y~Z#F246G%9qnm&DR!Jj3!Hp6<-?Yg^89 zM`;SImKIrsfxe(OOis3WY+e(FIkGL!QpBf?u!cJU!u-f1zyl|+Rmiq(UeQ>Ue!KII}aRI@4b59kqrLhy;? zU`ld4{8l#S!x1f+8un9IX_ENzWsiZEYzZIzkxc|zhNdE|(?|4p<#%?J3QMdpEy6TX z%EXBn1+@hNM_R57)Lr$)jIv+}_!|(eA~}lS)h|YB|NVDbHirL2vb-fD{*1ipdwN24 zs`10r@^OD<{AnJMT=Xfn!68o#4=tR`Yd-E4+Tc|0Dhj=ZSn9(CZ=0zIk>3`O#Tfry zQ@Fy13#O3C`)2tgtX!H`_hDt$VHiH$A34|gV|QGKUmEg_g9&Jc-*(}WduoWbPuhqG zTi~YB3<(j;3oB@+tNx=peLU151|r4<7Zm=K+M7-FT~4NPrAV38#OU+YCuTl6GEOD} zlLrpOW83MHJMJ;lrQ!$CV1HL+35k=Hz{3$52_m6%FBs7LHtNj4%HeLLmrArKp3O&? zChr9A92k$&L2VB0ET!N6q<9Ga=(nuEoE*sP8{86DgrXnzz6b7QqF9tzZ_@iDhQc;x zEya0;DK+(pWWBg7t(maE{Y3$9|%{-UE%oaWncK^6^Bw>>AWKQ zW{G|(uXB9WDXx$YAZRTNtP{}i@sE~EuiJpUj@co=Ei)cWc zmVVZ{e!wGa91(6JzEDNfXKF$(ZtC=R3i`9}LTso1%gN{699C|hz)DfKh1*!NmhW>B zZ<<%lLYDK36HM!vLG*^kX-2cwuz;PpH!7?CyJs-E!G)Vd5Q<0JudXcUpHUqZA=lw) zzpop@WIO=6X08j2R<+VNp|s834_SJ%#5GJzAZXWE*4Z_#9VDAgLq{DZ6ttA&aY8Ie zfegwWeIpC{5D14yIi-11$Bkv+x=*_)^1@K#o!-Zy7z2txbVV@P-9Qf!JUja9@eg=N zJhG9IW5h2Qn8}&Rf5A7y|H!vEM|0#<PomTo*@ZD9Q zKXcSk6a0Se8?+=|4>0?9=zrE3&|)jioIl57{Lufyc*XBJ>7(G2(FO(6q%=n<%5C*qV~ipv2B5Zqp9^*3Z- zqOlm>N+Pz&4BWDW{%~T(XkvNSDaoQhZ?z|L*i9PB%YGf!;}0Y(DP zhhOmhoGMs5cCV5QhgZK}zg@iyv-Rue>9*JDu+WM2sCHxlSb|feEb~H#` zpk3se=TZ8NZtMmX+TgjePRkpX^;Ua<6pex(G7^OM^%cSAj?tnoeP8qi%*H9<8mSDc z^Thtw*iK0d^}v5KSFOe-4;$PC6%MC|x!78)GKfjqENkoRgZ0{%hP0H=ZC%R;i^g7+ z=H^T`Ewjy&!nU`>kvT4#n1s&_SAN13p}c1T$Ekj#B4$}9J#}f1C;N+CR|9>R8-pu% zL#&e|&5#z2+bUEf(%Bw&Njlz2+Tgit6QbW zoJNan)n*+>;lWtRw(`Yuy5 zYL^$R`R#-3C{}Z~({qls)TlurTjHr@9R6XUBwx!4IdxlF_%DLUsb4)xmoJ3>tL`;N z+wk!a?QQU1PyL$=>5csAZa}Bom+kJ;+EzXc3J-ur?b7CYP9i;Dw-8_o3XK<=RUsMTod){PnCKp ze7|e#XF8k*7OJrvoY)A)4u$s zu0_kbz?Gs0eI;GtFNlo7U~Gr|=oA5zW>soIStKyUOyNqgKiB3}2ty)(VHjdkm~uwU z-sDfX6z*(eJp#QylP#66ie`Yzco^$dO(vm1P=7SjFG^OmK1`!-DjLN{%W%_|kPfrS z+A~#O>R=Yw*B}LH&|}t%mM}6@AV~{>Ks25c0NzZYrO38al5}_D;Z=eUb;A|DS305V-fY{C^Vl!$aSZF)GO*hhjXQq zp6YtCKyJg(VwK-Tn(Os8s_`FTvO`PI((%~nS0{n>Qd@?*B} z^t<2TLL=VWY{;4tdTDi7!p8GVJI{?UjQ!^IMEZqK#1MoUah-VeET&S{=y$sX@4Z|M zo>Kk0Qy1a4w|OV=?;vOX9X&mL5nZ?$xVLA?3%8LNyzC6r^z}U_hLrMsR$ULpT8FmXOs^cma zAq&D*0(9U*fSEP6$ks8W6KBr@&NI4|MbhLoCNyBxptWV0dN8Ax1-2902ek@mfL5Rd zA1VaYM=Sk^Nq$;BJTd7JsSNtkJhp+R)w}N>Hhpy-J-7gBFs`FNAy+!ZK@aloN`BI* z?L_pEf(NS59MiDRZlkQ95@*so9IQq^XrO*k`sMplX?jhGHH_Ou)S|pBskaWlVZU() z`l|^+x@DzX?LE~et47Bb?&as*Pc*aFFftV2V^yL0(cn+x$Fs^KwbWkn4-P8Lwr;at zg#owZg@Lt&RUTUnc8VFbwY7g{JQ?5G^|1SDI^nQAnsriv$P-tzr#th-^440>~=%(dK9oAvSP>7U;s8A zCYDhE#E9CV`#tTS&25!Tv0GMy>dICSo0*;y$!po))<+Scx$LwQ)vd&W7XE}-F{Sav z2h88J=#qOP^ZZ5dUM7{y)qI%AZvW%;CN+G89a|0MIko)FF7e4ohFl8025g)iy7UZu z65!K9`AZdDE00y2mIgnNw_rV|{)?30nUo_!Urise$!dvrmf-~ z@NR3*?L*|0pW8n?LvTz?C1i5h#f%$^GqR@M4s%sZ90S^SBiuhU)ATa7Oy;~%}T zSlJ9(sC7BozVB`N%>P82bow zh6rm0S?TpH)gBSku!5ekLoqY3#EjVb7JC#609Y*$6W8Y$f1d&NNtGTK= zFQgD-X8qDkOCc#f{KX-Lur>hK1Qnli~SWIe%kRP^{g-4YbMk5wj5r3bF?e z3iUCF4Nux$A~A3+{k27yb3#R#8B0DxdW={MI(UxU8`a1i7>$R8f(N9=KThCn2~tMp zr;xJwEcCTpTA561G$MVVhQFawSqGbdAh)p)Xm$F%oDfSAIk`hXOo=f{8Bg~7TE?hr zP2X5Z?j3~n>uzUgoz*vN^Xt6r&>Y8G3dh)-M#!9QkuT_2FzV|unK($@@U)5`pRHH- zv(J+k_!T&^nme+8{dzUey)WH=oxd$%toZ5E*<;Dx7XU8jgO_gozKi|VXBWpcI9+%- z0vqj^C_jOIUdNH0v6d{4?fO3&PBOE8N3#ISG<3w39?>24WoV1g zfE9$mR3ezG!D-PaW`ep)J=SR05O&ztJp6)JOAPFE1S)hg*e;3k;o+Bb%Gm8;5(Dbm za@tQQg4>W9j?tcw?}@-8N@H5pP?U;Ny%Ai{NYL&ao0jy)?I}@+c$JQYhX34Sm?ktt=#elY9sojk+V#nA5AV zjD8+QQlcVD(1V+^AH7ji^-__T;?fZ#dmZ z$|H2p#fxS2-=EF4yjN$?q$HMmCGlF{9)-y)d*jpbP zoSeQ1j#a0RckGzg#lIb+sxoj^e2Dy4F;-Q(AbVi=jdmI9JVC1S?G*(>JxwbvBl@|E z5iV&1r@4&~v#b4^bZfh}2~}fj`|6Gf09jL39ca+lYh` zl_r24tOM(M`bG&A6%uURXpBX@iq~Lf@K~G?bU`@f&)}+G{Lv6!wpE6{3xu5(7Ho5l z8YY5;+`qH{a8yav6s7RAN)f(OoXm!;Q(!qsnnVbyy#8OAjytxQVKGD71V>? zE+!!{SNOp(?W`aNUh#S_y^H4#Kf(H{usPR>+x$$=#&OYyBDTqT z#K3hWrkpKn&Pj2D9p7DsZs>mF@5x)YS&!4`rJ(E4jbRwxnn_u<%jGQ0iLRM@se5BS zW26jAD!3F={8daP@_k`dlrR8ZbPJ|GyMs0lT4EJTCcpKT&`iD+Iai)ups7C`${Pr! zz@p_j#reKFiUn-X5Si=W15?@?nQS>yI4#pr_icP6(*y7IdK*W!er6|Rqi$p;#Rq^; z&{joJk0r#IzdP5XZ7P<*jG;cdWtX;W!KFU0R4uo3C~NwwY%9bTNTtvR?eU{gK&5RQ zT|ppJf9kxACV{7_Jg+;9K6k6p=@~r9=Si?&Sxye&OTuqA`3xjnQj3cby>BfXOo47f^RR-QN%mS-KZ0iBWhn|+A9^-;!B<1YVK{$Zqf=uA!uPg#Kt`z)A$Gg8FVJawLjO#M`r2{y`rI_&_f3OADBwU`0G)ea zG%?=>I<34YGBUWfYps_0fwhX3GP%V)FC&aK$4P(GbNH|Ho>KZ<8J-ZclJc1O|K*O> z(fs{g)Vv0v!LF}4m`5QepVeL*%V6(CYCQvOB= z6DUe6RRc04-BL6G;e!L6>9_nvfS@BnnIX^;k)4vYkB4e+x%WH9MG|vqQ28$cY8sBK zRplM=^Fj@z5#b5X{ASm%}Ev_@2=QInw} z3?bmYx{sT?v~|A?w1iw#_y^9|(DPm-+6+Bn#mGP-Cml@PD15x#9Q=1X{$c57vyl3$ zgesf|3-`N+#cj3_Y3*!{&@Vcs_{y@lzoa+azkRxPl(gQbl}M=Ye3%qB03|J-?=jEH zM_400{purs^yp|X7_Su{_^n)7o8f461;p$y)|Pk(n@DWpZYQc!`ZJm!rq~wC>mk;c zA(li#yyZ_^C8Y4f_51q={V}~Nm+NTMhjP82m-}F6h3GOo&(;b*HL4-`a>edRfF2IQ z3WVm2*L6u)$_M8bbN$$s^SRFd!Nr{GC_^m^FidQ*ZLz7dpnM~aIUxTAe+RR%2XdTo zxg}Akjkqp-?h1&*?Un{p1JtFO?6vvM=!nX(vdzlVn;hEuE&?pp2lqbO*Dcv%*@&2! zh`n%!%##p5iHj~;JBt0aYgPPOR`Y>x#3hYFTZc+}3(ba9EWt?gh!8F*hMy!83~u)j zR}#t<;0Ad*JPq(?B!u7?1eSB_2j{%Ww4<18b`{AKiUF0l=#n#k(Kvq%QbYct%t+g=uq z^c4Gk?LP~L1rylAIzuv0iAkwEfrBYIg)aFc`pC_7L4R=7zV7{bIJoSu#rB)86RvaZ z9)7NakvkefuMi6)2GCMfcD8;7ZkWcwnjDv z^-~d$=s8g~CIB@JoSwmw3s>^6_6DXnDsyE|32^%^UAXCbd)jMpe>Fp!5WJrw@K$m! z8NC|L_$TbNk)naRtLX5q zOzS?OpePOsMHJf>0X07)L7kQbQTpa8n0S)F>F8jj6qs;;=wCR!5@qmE;+T-D?OcA& zeV?LLe;(Y~+v~#mk>S#r!}WzKiDzvrKC!zA2l%l+J*H@!bJf7VAY-FB?%9b`yc<^e zMN%B{0J7$d(+XA((`9v}!mvs|<&@>c_V1C16xkhFwL-I$QPHQSs;PXf1{Jy`C;!nF z5f&8PS(h-kSxM<|9P(~hlm-kA=_nk+uYqbmV$=6#lyV6(h65JU;8Q**L-<%{7s;uo!dicyEsD z7Z#9Czyqx6w>4rvL1Z9ZsOVVT8(m|N?@Vj(td>?*{j!d*y*MWy&R_;xt&X>$8J|x3 zbLc5nMIw<~Vc=sAYTd+1$IaS<*u<10f*!WU$)mFuaV3;f#@Q0!2n9kuyOY)B=t)fE z5TjraSPXqg=h*Sx@YwXf#x`<3o#T8C<`l*69TD1gMSXlQYyK&1H#PQPmvy;RP}j}Y$&=X$2wVcpcRh;t5uYF5dx=o#Ks@A2jkfL zAG`@VEeZuZ?g|oUB?y2*78}11*a@}>ViZOE5o|@+AUByrrSw3c(tH_WS3oz=Vvsom z9prwN*c}4n+iWPBJYVZx3(e5yw9Gr=)~#`wyX`2Nk%~fMkCZE@ZPc} zbZf`$F$A9wRkCOs^o`q3)^}re#L}@k7y?yw_S$sGX)l@v=kKOvBt8m zffow5tfqDTUsv%mg~w+gV(J9RCG4%{tp^=-|A8!)WNA^MKgRypZ!%%l4L%zSZ8p{IOQc zAB4TJzKbEtdw2)vzUsALK9eWZLJd ztoD|STq;jw0>nUoN2vRj9ByszyEHzekPl{IJdMGi&G;M^rf>e~sRxZADb`CP{QZGi zED)x+RtIK;^x~Vt7ksA4;L|Xu{Mc0=(K~%^y8(p^Z_6Y3xapMXav(SVfQ~2$*>U&d zg7CYp+;PRf66?h4a+P*ur$AbY~19waU z=OtLb)7;mevNabV)wL~OCCWkf=du?m>ihwgJC5=xy<8hE&P1vzKMXT}8E-i!uq7=% ziI;;sHIZv8Q>IykKwib^x2!&sl>v&N$_JR!JPrV{$`-l2|L(Q^nH?ev1z8?zA5&ww z9SF%0#rqevocDd<5Yo`-L+BGtC?u;~?Zj1Ny4!X(o`s0Lp3TK@`(^Bvl_rM)!@Ts? zHEK(^PWh=Ri^Pd_?mwVMEM%!iQhDB7GOAfn)GmCQvXOfF4T*f)>L;DUQNFHo9>VaS z@ND_QETr4XV>He*PaMR~lf@V>l9$=;Kjk!c3hShmk1cml6<-7CB__2S&X)(~ZZ)OqOA2Qcrmc1(3^&?<0crh62CWTEC`;?m4;A#O1 zMHgk$i(yC!_y2AL)qW>N!ofyT~IMrK-cy4G+ zW9+8Bo~?-xIU>Md-9WeS&-PHr7-vzwr@fQMX81ja?^VUZZK|K=KFs2}YOekELVu+7 zrJI`rKikf&v0hbq+B0sQ2swUS|5zM=9i5@q*^J-S=|a;^*zfu4eR>5nfG@hwS!VO; zPV>pN-+5Ff?~}!6%KHl;SDsa)zSV*=MVi0ye_PDl)_bn5+8~w@noTD+;k=*VoVaED z{55`+ypbxVyJh>uXWy$L{#c*R>s}i?i^}cz#HuC{0mp&I7xbqV?CIEYNEEBck8aZH zL^SB=h8ce@|H9d+bv1uA@M2`Ut=wORe!H8&g9{2Ojz<9Zk;??byRL)V{olS@#C`(| zfJNz!X78hgyTz!?yAvg!yz@_FE#z6}*OQ(zlLPO|bg%9RH#Yc$lWr+FaAsWU$}}_H z&Ntt6WbXwX2>Nb!2jL2PAj_~{Q0z_&CvMrmcnh4yJ=E8Bg(YhiX(z|;C#?EHmE&OjeXf3G| z$d(=hO5Qiw%?R>lPxn$gGQgpD*~~j7zilqRi|*!&wxnhg)Ooz3z&WKJdNnbZg%EgKU_$nf25hKHoRe&(qvU zsU+W^wrnF#lEtAutU{kzF!5utBxBVmiO#N4S;{w@GB*L-4LjQj zw)A~?Is5{#u~BH)d|hRi-gr27xxQDPTGDYb`FeD&cJ62Oh!xkf87SkGs%}wYy}`B> zBYwO3uWMvLELPDI!mtH6{NT29v03AHG9h$y6xDQcRFnD`AizF|d?zUCZj}w$(8SN@ zWKA~@MF4PKmGj$^QnPomhZA>1z-Gg^X4G7V$3<`N8HNjKkDhf=SHemm9OBxhE2GtX6S7j$U`*Z z$#Q?OpXqqAr1CY8H|&-3r=Qu`oi%%HEaoi|IO=5cTbo8CDLlR~u8X3DpKJ9D$+2)GO^%fpbBxW0eDCF~uHLpS`E48z zH}GQ1Z|4u0HWdon`m~k5GfDX~@dV@cV%GlXqEdLD>gU<}+=0}( zy~MJ}+);B&dW-y;ePmbT^6T*`M1S1a?DkaNr@XQxCl?oE;=+PXJvl155+ADuB6$iO z2~r(WT?(B7c*n3|s)SuGVp=yIO5HZ5@7~V11wbB$boRpXo~QbICqpz>lUI|bHa=P= zf<-ex`Ea7D(X6EUVjo`S;>2k$?e*bl1C|}t?edOtavj|S&iLV;$``C^3yI^J=6YjU z)j;_J`4Sg~_93r6TUgR2VtEvIgVD1{PXGM7{EoTadij>adrh^7nY#39t!=IBsFiZc z4TRNHVeb#-DrvjiD$W|?Pq_#nes=5t8ao-v!{TmoNIm0oCE};EPdD-985<0;&kVjv zMrqOLglQp$b)&|!6M*6eF8lZ#@y1o7$=MR8<4NY^aAvslmWn*1pd4Eb5=_gz!Wn@o=cY{$9>02@TD+ z3my+Zyz|34E@ah0DBJynyWvU6+0x#^@6MqHFRiZckR`sSchk%7_XVZn$pn!)6AE0= zU71hN^c@14*VW|SP0#e4yXt(4`jh>OpXS@`1V78SF{)Z_NuNEZS6c#@NSr-9r5Pi# zhJ&i4DRSa&;?bH*3Cymjv1u;Ye*kU0+VtTUfM}KBe+UA~&Ov+lEFvX~@o@H!Knmo; zK}t*U&zbY@B>`rC7Y^u(koxC);VZeV5P&fA!2j?6kP7YL_@CeSzY74m{-eQvG(ZZ` oe>nJ$1`o>gKOFq;q5R7U;t=g%9vO20o& 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