[auto ekmett@gmail.com**20090402045716] { addfile ./doc/html/monoids/Data-Field.html addfile ./doc/html/monoids/Data-Group-Multiplicative-Sugar.html addfile ./doc/html/monoids/Data-Group-Multiplicative.html addfile ./doc/html/monoids/src/Data-Field.html addfile ./doc/html/monoids/src/Data-Group-Multiplicative-Sugar.html addfile ./doc/html/monoids/src/Data-Group-Multiplicative.html hunk ./doc/html/monoids/Data-Field.html 1 + + +Data.Field
 monoids-0.1.22: Monoids, specialized containers and a general map/reduce frameworkSource codeContentsIndex
Data.Field
Portabilityportable
Stabilityexperimental
Maintainerekmett@gmail.com
Description
Documentation
module Data.Group.Multiplicative
module Data.Ring
class (Ring a, MultiplicativeGroup a) => Field a Source
Produced by Haddock version 2.3.0
hunk ./doc/html/monoids/Data-Group-Combinators.html 22 ->monoids-0.1.21: Monoids, specialized containers and a general map/reduce frameworkmonoids-0.1.22: Monoids, specialized containers and a general map/reduce framework + +Data.Group.Multiplicative.Sugar
 monoids-0.1.22: Monoids, specialized containers and a general map/reduce frameworkSource codeContentsIndex
Data.Group.Multiplicative.Sugar
Portabilityportable
Stabilityexperimental
Maintainerekmett@gmail.com
Description

Syntactic sugar for working with groups that conflicts with names from the Prelude. +

 import Prelude hiding ((-), (+), (*), (/), negate, subtract, recip)
+ import Data.Group.Multiplicative.Sugar
+
Documentation
module Data.Monoid.Multiplicative.Sugar
module Data.Group.Multiplicative
module Data.Group.Sugar
(/) :: MultiplicativeGroup g => g -> g -> gSource
(\\) :: MultiplicativeGroup g => g -> g -> gSource
recip :: MultiplicativeGroup g => g -> gSource
Produced by Haddock version 2.3.0
hunk ./doc/html/monoids/Data-Group-Multiplicative.html 1 + + +Data.Group.Multiplicative
 monoids-0.1.22: Monoids, specialized containers and a general map/reduce frameworkSource codeContentsIndex
Data.Group.Multiplicative
Portabilityportable
Stabilityexperimental
Maintainerekmett@gmail.com
Description
Synopsis
module Data.Monoid.Multiplicative
class Multiplicative g => MultiplicativeGroup g where
over :: g -> g -> g
under :: g -> g -> g
grecip :: g -> g
over :: MultiplicativeGroup g => g -> g -> g
under :: MultiplicativeGroup g => g -> g -> g
grecip :: MultiplicativeGroup g => g -> g
Documentation
module Data.Monoid.Multiplicative
class Multiplicative g => MultiplicativeGroup g whereSource
Minimal definition over or grecip +
Methods
over :: g -> g -> gSource
x / y
under :: g -> g -> gSource
x  y
grecip :: g -> gSource
over :: MultiplicativeGroup g => g -> g -> gSource
x / y
under :: MultiplicativeGroup g => g -> g -> gSource
x  y
grecip :: MultiplicativeGroup g => g -> gSource
Produced by Haddock version 2.3.0
hunk ./doc/html/monoids/Data-Group-Sugar.html 22 ->monoids-0.1.21: Monoids, specialized containers and a general map/reduce frameworkmonoids-0.1.22: Monoids, specialized containers and a general map/reduce frameworkmonoids-0.1.21: Monoids, specialized containers and a general map/reduce frameworkmonoids-0.1.22: Monoids, specialized containers and a general map/reduce framework r m) s r m)monoids-0.1.21: Monoids, specialized containers and a general map/reduce frameworkmonoids-0.1.22: Monoids, specialized containers and a general map/reduce frameworkmonoids-0.1.21: Monoids, specialized containers and a general map/reduce frameworkmonoids-0.1.22: Monoids, specialized containers and a general map/reduce frameworkmonoids-0.1.21: Monoids, specialized containers and a general map/reduce frameworkmonoids-0.1.22: Monoids, specialized containers and a general map/reduce frameworkLeftSemiNearRingRightSemiNearRing a) => LeftSemiNearRing a) => RightSemiNearRingmonoids-0.1.21: Monoids, specialized containers and a general map/reduce frameworkmonoids-0.1.22: Monoids, specialized containers and a general map/reduce frameworkmonoids-0.1.21: Monoids, specialized containers and a general map/reduce frameworkmonoids-0.1.22: Monoids, specialized containers and a general map/reduce frameworkmonoids-0.1.21: Monoids, specialized containers and a general map/reduce frameworkmonoids-0.1.22: Monoids, specialized containers and a general map/reduce frameworkmonoids-0.1.21: Monoids, specialized containers and a general map/reduce frameworkmonoids-0.1.22: Monoids, specialized containers and a general map/reduce frameworkmonoids-0.1.21: Monoids, specialized containers and a general map/reduce frameworkmonoids-0.1.22: Monoids, specialized containers and a general map/reduce frameworkmonoids-0.1.21: Monoids, specialized containers and a general map/reduce frameworkmonoids-0.1.22: Monoids, specialized containers and a general map/reduce frameworkmonoids-0.1.21: Monoids, specialized containers and a general map/reduce frameworkmonoids-0.1.22: Monoids, specialized containers and a general map/reduce frameworkmonoids-0.1.21: Monoids, specialized containers and a general map/reduce frameworkmonoids-0.1.22: Monoids, specialized containers and a general map/reduce frameworkmonoids-0.1.21: Monoids, specialized containers and a general map/reduce frameworkmonoids-0.1.22: Monoids, specialized containers and a general map/reduce frameworkmonoids-0.1.21: Monoids, specialized containers and a general map/reduce frameworkmonoids-0.1.22: Monoids, specialized containers and a general map/reduce frameworkmonoids-0.1.21: Monoids, specialized containers and a general map/reduce frameworkmonoids-0.1.22: Monoids, specialized containers and a general map/reduce frameworkmonoids-0.1.21: Monoids, specialized containers and a general map/reduce frameworkmonoids-0.1.22: Monoids, specialized containers and a general map/reduce frameworkLeftSemiNearRingRightSemiNearRing a) => LeftSemiNearRing a) => RightSemiNearRingmonoids-0.1.21: Monoids, specialized containers and a general map/reduce frameworkmonoids-0.1.22: Monoids, specialized containers and a general map/reduce frameworkmonoids-0.1.21: Monoids, specialized containers and a general map/reduce frameworkmonoids-0.1.22: Monoids, specialized containers and a general map/reduce framework to yield a LeftSemiNearRing +> to yield a RightSemiNearRing hunk ./doc/html/monoids/Data-Monoid-Multiplicative.html 201 - yield a LeftSemiNearRing + yield a RightSemiNearRing hunk ./doc/html/monoids/Data-Monoid-Multiplicative.html 774 ->Module r m => Multiplicative (D r m)Module r m => Multiplicative (D s r m)monoids-0.1.21: Monoids, specialized containers and a general map/reduce frameworkmonoids-0.1.22: Monoids, specialized containers and a general map/reduce frameworkmonoids-0.1.21: Monoids, specialized containers and a general map/reduce frameworkmonoids-0.1.22: Monoids, specialized containers and a general map/reduce frameworkmonoids-0.1.21: Monoids, specialized containers and a general map/reduce frameworkmonoids-0.1.22: Monoids, specialized containers and a general map/reduce frameworkmonoids-0.1.21: Monoids, specialized containers and a general map/reduce frameworkmonoids-0.1.22: Monoids, specialized containers and a general map/reduce framework c r, Reducer c m) => Reducer c (D r m)(Reducer(Reducer c r, Reducer c m) => Reducer c (D s r m)monoids-0.1.21: Monoids, specialized containers and a general map/reduce frameworkmonoids-0.1.22: Monoids, specialized containers and a general map/reduce frameworkmonoids-0.1.21: Monoids, specialized containers and a general map/reduce frameworkmonoids-0.1.22: Monoids, specialized containers and a general map/reduce frameworkmonoids-0.1.21: Monoids, specialized containers and a general map/reduce frameworkmonoids-0.1.22: Monoids, specialized containers and a general map/reduce frameworkmonoids-0.1.21: Monoids, specialized containers and a general map/reduce frameworkmonoids-0.1.22: Monoids, specialized containers and a general map/reduce frameworkmonoids-0.1.21: Monoids, specialized containers and a general map/reduce frameworkmonoids-0.1.22: Monoids, specialized containers and a general map/reduce frameworkmonoids-0.1.21: Monoids, specialized containers and a general map/reduce frameworkmonoids-0.1.22: Monoids, specialized containers and a general map/reduce framework
Portabilityportable (instances use MPTCs)
Stabilityexperimental
Maintainerekmett@gmail.com
Description r m s r m r m) s r m)Eq r => Eq (D s r m)Fractional a => Fractional (D s a a)Num a => Num (D s a a)Ord r => Ord (D s r m)(Read r, Read m) => Read (D s r m)(Show r, Show m) => Show (D s r m) r m) s r m) r m) s r m) r m) s r m) r m) s r m) r m) s r m) r m) s r m) r m) s r m) r m) s r m) r m) s r m)
d :: (Monoid r, Multiplicative m) => (forall s. D s r m -> D s r m) -> (r, m)Source
monoids-0.1.21: Monoids, specialized containers and a general map/reduce frameworkmonoids-0.1.22: Monoids, specialized containers and a general map/reduce frameworkmonoids-0.1.21: Monoids, specialized containers and a general map/reduce frameworkmonoids-0.1.22: Monoids, specialized containers and a general map/reduce frameworkmonoids-0.1.21: Monoids, specialized containers and a general map/reduce frameworkmonoids-0.1.22: Monoids, specialized containers and a general map/reduce frameworkMonoid m => LeftSemiNearRing ([] m) s r m)Monoid m => RightSemiNearRing ([] m) s r m)monoids-0.1.21: Monoids, specialized containers and a general map/reduce frameworkmonoids-0.1.22: Monoids, specialized containers and a general map/reduce frameworkmonoids-0.1.21: Monoids, specialized containers and a general map/reduce frameworkmonoids-0.1.22: Monoids, specialized containers and a general map/reduce frameworkmonoids-0.1.21: Monoids, specialized containers and a general map/reduce frameworkmonoids-0.1.22: Monoids, specialized containers and a general map/reduce framework r m) s r m)monoids-0.1.21: Monoids, specialized containers and a general map/reduce frameworkmonoids-0.1.22: Monoids, specialized containers and a general map/reduce frameworkmonoids-0.1.21: Monoids, specialized containers and a general map/reduce frameworkmonoids-0.1.22: Monoids, specialized containers and a general map/reduce framework r m) s r m)monoids-0.1.21: Monoids, specialized containers and a general map/reduce framework (Index)monoids-0.1.22: Monoids, specialized containers and a general map/reduce framework (Index)monoids-0.1.21: Monoids, specialized containers and a general map/reduce frameworkmonoids-0.1.22: Monoids, specialized containers and a general map/reduce framework, Data.Ring.Sugar, Data.Ring.Sugar, Data.Group.Multiplicative.Sugar, Data.Monoid.Multiplicative.Sugar, Data.Ring.Sugar, Data.Group.Sugar, Data.Monoid.Multiplicative.Sugar, Data.Ring.Sugar, Data.Group.Sugar, Data.Group.Multiplicative.Sugar, Data.Group.Multiplicative.Sugar/Data.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Monoid.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Monoid.Generator.LZ78, Data.Monoid.FromString, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Group.Multiplicative, Data.Group, Data.Group.Combinators, Data.Group.Sugar, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Monoid.Combinators, Data.Monoid.Generator.Free, Data.Monoid.Generator.RLE, Data.Ring.Semi.Natural, Data.Ring.Module.AutomaticDifferentiation, Data.FieldData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Monoid.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Monoid.Generator.LZ78, Data.Monoid.FromString, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Group, Data.Group.Combinators, Data.Group.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Monoid.Combinators, Data.Monoid.Generator.Free, Data.Monoid.Generator.RLE, Data.Ring.Semi.Natural, Data.Ring.Module.AutomaticDifferentiationData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Monoid.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Monoid.Generator.LZ78, Data.Monoid.FromString, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Group.Multiplicative, Data.Group, Data.Group.Combinators, Data.Group.Sugar, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Monoid.Combinators, Data.Monoid.Generator.Free, Data.Monoid.Generator.RLE, Data.Ring.Semi.Natural, Data.Ring.Module.AutomaticDifferentiation, Data.FieldData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Monoid.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Monoid.Generator.LZ78, Data.Monoid.FromString, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Group, Data.Group.Combinators, Data.Group.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Monoid.Combinators, Data.Monoid.Generator.Free, Data.Monoid.Generator.RLE, Data.Ring.Semi.Natural, Data.Ring.Module.AutomaticDifferentiationData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Monoid.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Monoid.Generator.LZ78, Data.Monoid.FromString, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Group.Multiplicative, Data.Group, Data.Group.Combinators, Data.Group.Sugar, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Monoid.Combinators, Data.Monoid.Generator.Free, Data.Monoid.Generator.RLE, Data.Ring.Semi.Natural, Data.Ring.Module.AutomaticDifferentiation, Data.FieldData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Monoid.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Monoid.Generator.LZ78, Data.Monoid.FromString, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Group, Data.Group.Combinators, Data.Group.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Monoid.Combinators, Data.Monoid.Generator.Free, Data.Monoid.Generator.RLE, Data.Ring.Semi.Natural, Data.Ring.Module.AutomaticDifferentiationData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Monoid.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Monoid.Generator.LZ78, Data.Monoid.FromString, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Group.Multiplicative, Data.Group, Data.Group.Combinators, Data.Group.Sugar, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Monoid.Combinators, Data.Monoid.Generator.Free, Data.Monoid.Generator.RLE, Data.Ring.Semi.Natural, Data.Ring.Module.AutomaticDifferentiation, Data.FieldData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Monoid.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Monoid.Generator.LZ78, Data.Monoid.FromString, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Group, Data.Group.Combinators, Data.Group.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Monoid.Combinators, Data.Monoid.Generator.Free, Data.Monoid.Generator.RLE, Data.Ring.Semi.Natural, Data.Ring.Module.AutomaticDifferentiationData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Monoid.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Monoid.Generator.LZ78, Data.Monoid.FromString, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Group.Multiplicative, Data.Group, Data.Group.Combinators, Data.Group.Sugar, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Monoid.Combinators, Data.Monoid.Generator.Free, Data.Monoid.Generator.RLE, Data.Ring.Semi.Natural, Data.Ring.Module.AutomaticDifferentiation, Data.FieldData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Monoid.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Monoid.Generator.LZ78, Data.Monoid.FromString, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Group, Data.Group.Combinators, Data.Group.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Monoid.Combinators, Data.Monoid.Generator.Free, Data.Monoid.Generator.RLE, Data.Ring.Semi.Natural, Data.Ring.Module.AutomaticDifferentiationData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Monoid.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Monoid.Generator.LZ78, Data.Monoid.FromString, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Group.Multiplicative, Data.Group, Data.Group.Combinators, Data.Group.Sugar, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Monoid.Combinators, Data.Monoid.Generator.Free, Data.Monoid.Generator.RLE, Data.Ring.Semi.Natural, Data.Ring.Module.AutomaticDifferentiation, Data.FieldData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Monoid.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Monoid.Generator.LZ78, Data.Monoid.FromString, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Group, Data.Group.Combinators, Data.Group.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Monoid.Combinators, Data.Monoid.Generator.Free, Data.Monoid.Generator.RLE, Data.Ring.Semi.Natural, Data.Ring.Module.AutomaticDifferentiationData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Monoid.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Monoid.Generator.LZ78, Data.Monoid.FromString, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Group.Multiplicative, Data.Group, Data.Group.Combinators, Data.Group.Sugar, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Monoid.Combinators, Data.Monoid.Generator.Free, Data.Monoid.Generator.RLE, Data.Ring.Semi.Natural, Data.Ring.Module.AutomaticDifferentiation, Data.FieldData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Monoid.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Monoid.Generator.LZ78, Data.Monoid.FromString, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Group, Data.Group.Combinators, Data.Group.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Monoid.Combinators, Data.Monoid.Generator.Free, Data.Monoid.Generator.RLE, Data.Ring.Semi.Natural, Data.Ring.Module.AutomaticDifferentiationData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Monoid.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Monoid.Generator.LZ78, Data.Monoid.FromString, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Group.Multiplicative, Data.Group, Data.Group.Combinators, Data.Group.Sugar, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Monoid.Combinators, Data.Monoid.Generator.Free, Data.Monoid.Generator.RLE, Data.Ring.Semi.Natural, Data.Ring.Module.AutomaticDifferentiation, Data.FieldData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Monoid.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Monoid.Generator.LZ78, Data.Monoid.FromString, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Group, Data.Group.Combinators, Data.Group.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Monoid.Combinators, Data.Monoid.Generator.Free, Data.Monoid.Generator.RLE, Data.Ring.Semi.Natural, Data.Ring.Module.AutomaticDifferentiationData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Monoid.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Monoid.Generator.LZ78, Data.Monoid.FromString, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Group.Multiplicative, Data.Group, Data.Group.Combinators, Data.Group.Sugar, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Monoid.Combinators, Data.Monoid.Generator.Free, Data.Monoid.Generator.RLE, Data.Ring.Semi.Natural, Data.Ring.Module.AutomaticDifferentiation, Data.Field, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Ring.Semi.Natural, Data.Ring.Module.AutomaticDifferentiation, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Group.Multiplicative, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Ring.Semi.Natural, Data.Ring.Module.AutomaticDifferentiation, Data.Field, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Ring.Semi.Natural, Data.Ring.Module.AutomaticDifferentiation, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Group.Multiplicative, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Ring.Semi.Natural, Data.Ring.Module.AutomaticDifferentiation, Data.FieldData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Monoid.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Monoid.Generator.LZ78, Data.Monoid.FromString, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Group, Data.Group.Combinators, Data.Group.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Monoid.Combinators, Data.Monoid.Generator.Free, Data.Monoid.Generator.RLE, Data.Ring.Semi.Natural, Data.Ring.Module.AutomaticDifferentiationData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Monoid.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Monoid.Generator.LZ78, Data.Monoid.FromString, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Group.Multiplicative, Data.Group, Data.Group.Combinators, Data.Group.Sugar, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Monoid.Combinators, Data.Monoid.Generator.Free, Data.Monoid.Generator.RLE, Data.Ring.Semi.Natural, Data.Ring.Module.AutomaticDifferentiation, Data.FieldData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Monoid.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Monoid.Generator.LZ78, Data.Monoid.FromString, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Group, Data.Group.Combinators, Data.Group.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Monoid.Combinators, Data.Monoid.Generator.Free, Data.Monoid.Generator.RLE, Data.Ring.Semi.Natural, Data.Ring.Module.AutomaticDifferentiationData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Monoid.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Monoid.Generator.LZ78, Data.Monoid.FromString, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Group.Multiplicative, Data.Group, Data.Group.Combinators, Data.Group.Sugar, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Monoid.Combinators, Data.Monoid.Generator.Free, Data.Monoid.Generator.RLE, Data.Ring.Semi.Natural, Data.Ring.Module.AutomaticDifferentiation, Data.FieldData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Monoid.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Monoid.Generator.LZ78, Data.Monoid.FromString, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Group, Data.Group.Combinators, Data.Group.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Monoid.Combinators, Data.Monoid.Generator.Free, Data.Monoid.Generator.RLE, Data.Ring.Semi.Natural, Data.Ring.Module.AutomaticDifferentiationData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Monoid.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Monoid.Generator.LZ78, Data.Monoid.FromString, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Group.Multiplicative, Data.Group, Data.Group.Combinators, Data.Group.Sugar, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Monoid.Combinators, Data.Monoid.Generator.Free, Data.Monoid.Generator.RLE, Data.Ring.Semi.Natural, Data.Ring.Module.AutomaticDifferentiation, Data.FieldData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Monoid.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Monoid.Generator.LZ78, Data.Monoid.FromString, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Group, Data.Group.Combinators, Data.Group.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Monoid.Combinators, Data.Monoid.Generator.Free, Data.Monoid.Generator.RLE, Data.Ring.Semi.Natural, Data.Ring.Module.AutomaticDifferentiationData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Monoid.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Monoid.Generator.LZ78, Data.Monoid.FromString, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Group.Multiplicative, Data.Group, Data.Group.Combinators, Data.Group.Sugar, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Monoid.Combinators, Data.Monoid.Generator.Free, Data.Monoid.Generator.RLE, Data.Ring.Semi.Natural, Data.Ring.Module.AutomaticDifferentiation, Data.FieldData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Monoid.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Monoid.Generator.LZ78, Data.Monoid.FromString, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Group, Data.Group.Combinators, Data.Group.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Monoid.Combinators, Data.Monoid.Generator.Free, Data.Monoid.Generator.RLE, Data.Ring.Semi.Natural, Data.Ring.Module.AutomaticDifferentiationData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Monoid.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Monoid.Generator.LZ78, Data.Monoid.FromString, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Group.Multiplicative, Data.Group, Data.Group.Combinators, Data.Group.Sugar, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Monoid.Combinators, Data.Monoid.Generator.Free, Data.Monoid.Generator.RLE, Data.Ring.Semi.Natural, Data.Ring.Module.AutomaticDifferentiation, Data.Field, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Ring.Semi.Natural, Data.Ring.Module.AutomaticDifferentiation, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Group.Multiplicative, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Ring.Semi.Natural, Data.Ring.Module.AutomaticDifferentiation, Data.FieldData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Monoid.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Monoid.Generator.LZ78, Data.Monoid.FromString, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Group, Data.Group.Combinators, Data.Group.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Monoid.Combinators, Data.Monoid.Generator.Free, Data.Monoid.Generator.RLE, Data.Ring.Semi.Natural, Data.Ring.Module.AutomaticDifferentiationData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Monoid.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Monoid.Generator.LZ78, Data.Monoid.FromString, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Group.Multiplicative, Data.Group, Data.Group.Combinators, Data.Group.Sugar, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Monoid.Combinators, Data.Monoid.Generator.Free, Data.Monoid.Generator.RLE, Data.Ring.Semi.Natural, Data.Ring.Module.AutomaticDifferentiation, Data.FieldData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Monoid.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Monoid.Generator.LZ78, Data.Monoid.FromString, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Group, Data.Group.Combinators, Data.Group.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Monoid.Combinators, Data.Monoid.Generator.Free, Data.Monoid.Generator.RLE, Data.Ring.Semi.Natural, Data.Ring.Module.AutomaticDifferentiationData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Monoid.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Monoid.Generator.LZ78, Data.Monoid.FromString, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Group.Multiplicative, Data.Group, Data.Group.Combinators, Data.Group.Sugar, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Monoid.Combinators, Data.Monoid.Generator.Free, Data.Monoid.Generator.RLE, Data.Ring.Semi.Natural, Data.Ring.Module.AutomaticDifferentiation, Data.Field, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Ring.Semi.Natural, Data.Ring.Module.AutomaticDifferentiation, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Group.Multiplicative, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Ring.Semi.Natural, Data.Ring.Module.AutomaticDifferentiation, Data.FieldData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Monoid.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Monoid.Generator.LZ78, Data.Monoid.FromString, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Group, Data.Group.Combinators, Data.Group.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Monoid.Combinators, Data.Monoid.Generator.Free, Data.Monoid.Generator.RLE, Data.Ring.Semi.Natural, Data.Ring.Module.AutomaticDifferentiationData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Monoid.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Monoid.Generator.LZ78, Data.Monoid.FromString, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Group.Multiplicative, Data.Group, Data.Group.Combinators, Data.Group.Sugar, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Monoid.Combinators, Data.Monoid.Generator.Free, Data.Monoid.Generator.RLE, Data.Ring.Semi.Natural, Data.Ring.Module.AutomaticDifferentiation, Data.FieldData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Monoid.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Monoid.Generator.LZ78, Data.Monoid.FromString, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Group, Data.Group.Combinators, Data.Group.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Monoid.Combinators, Data.Monoid.Generator.Free, Data.Monoid.Generator.RLE, Data.Ring.Semi.Natural, Data.Ring.Module.AutomaticDifferentiationData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Monoid.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Monoid.Generator.LZ78, Data.Monoid.FromString, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Group.Multiplicative, Data.Group, Data.Group.Combinators, Data.Group.Sugar, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Monoid.Combinators, Data.Monoid.Generator.Free, Data.Monoid.Generator.RLE, Data.Ring.Semi.Natural, Data.Ring.Module.AutomaticDifferentiation, Data.Field, Data.Group.Combinators, Data.Group.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Ring.Module.AutomaticDifferentiation, Data.Group.Combinators, Data.Group.Sugar, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Ring.Module.AutomaticDifferentiation, Data.Field, Data.Group.Combinators, Data.Group.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Ring.Module.AutomaticDifferentiation, Data.Group.Combinators, Data.Group.Sugar, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Ring.Module.AutomaticDifferentiation, Data.Field, Data.Group.Combinators, Data.Group.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Ring.Module.AutomaticDifferentiation, Data.Group.Combinators, Data.Group.Sugar, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Ring.Module.AutomaticDifferentiation, Data.FieldData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Monoid.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Monoid.Generator.LZ78, Data.Monoid.FromString, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Group, Data.Group.Combinators, Data.Group.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Monoid.Combinators, Data.Monoid.Generator.Free, Data.Monoid.Generator.RLE, Data.Ring.Semi.Natural, Data.Ring.Module.AutomaticDifferentiationData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Monoid.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Monoid.Generator.LZ78, Data.Monoid.FromString, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Group.Multiplicative, Data.Group, Data.Group.Combinators, Data.Group.Sugar, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Monoid.Combinators, Data.Monoid.Generator.Free, Data.Monoid.Generator.RLE, Data.Ring.Semi.Natural, Data.Ring.Module.AutomaticDifferentiation, Data.FieldData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Monoid.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Monoid.Generator.LZ78, Data.Monoid.FromString, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Group, Data.Group.Combinators, Data.Group.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Monoid.Combinators, Data.Monoid.Generator.Free, Data.Monoid.Generator.RLE, Data.Ring.Semi.Natural, Data.Ring.Module.AutomaticDifferentiationData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Monoid.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Monoid.Generator.LZ78, Data.Monoid.FromString, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Group.Multiplicative, Data.Group, Data.Group.Combinators, Data.Group.Sugar, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Monoid.Combinators, Data.Monoid.Generator.Free, Data.Monoid.Generator.RLE, Data.Ring.Semi.Natural, Data.Ring.Module.AutomaticDifferentiation, Data.Field, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Ring.Semi.Natural, Data.Ring.Module.AutomaticDifferentiation, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Ring.Semi.Natural, Data.Ring.Module.AutomaticDifferentiation, Data.Field, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Ring.Semi.Natural, Data.Ring.Module.AutomaticDifferentiation, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Group.Multiplicative, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Ring.Semi.Natural, Data.Ring.Module.AutomaticDifferentiation, Data.Field, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Ring.Semi.Natural, Data.Ring.Module.AutomaticDifferentiation, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Group.Multiplicative, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Ring.Semi.Natural, Data.Ring.Module.AutomaticDifferentiation, Data.FieldData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Monoid.Union, Data.Monoid.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Monoid.Generator.LZ78, Data.Monoid.FromString, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Monoid.Ord, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Group, Data.Group.Combinators, Data.Group.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Monoid.Combinators, Data.Monoid.Generator.Free, Data.Monoid.Generator.RLE, Data.Ring.Semi.Natural, Data.Ring.Module.AutomaticDifferentiationData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Monoid.Union, Data.Monoid.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Monoid.Generator.LZ78, Data.Monoid.FromString, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Monoid.Ord, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Group.Multiplicative, Data.Group, Data.Group.Combinators, Data.Group.Sugar, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Monoid.Combinators, Data.Monoid.Generator.Free, Data.Monoid.Generator.RLE, Data.Ring.Semi.Natural, Data.Ring.Module.AutomaticDifferentiation, Data.FieldData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Monoid.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Monoid.Generator.LZ78, Data.Monoid.FromString, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Group, Data.Group.Combinators, Data.Group.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Monoid.Combinators, Data.Monoid.Generator.Free, Data.Monoid.Generator.RLE, Data.Ring.Semi.Natural, Data.Ring.Module.AutomaticDifferentiationData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Monoid.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Monoid.Generator.LZ78, Data.Monoid.FromString, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Group.Multiplicative, Data.Group, Data.Group.Combinators, Data.Group.Sugar, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Monoid.Combinators, Data.Monoid.Generator.Free, Data.Monoid.Generator.RLE, Data.Ring.Semi.Natural, Data.Ring.Module.AutomaticDifferentiation, Data.FieldData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Monoid.Union, Data.Monoid.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Monoid.Generator.LZ78, Data.Monoid.FromString, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Monoid.Ord, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Group, Data.Group.Combinators, Data.Group.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Monoid.Combinators, Data.Monoid.Generator.Free, Data.Monoid.Generator.RLE, Data.Ring.Semi.Natural, Data.Ring.Module.AutomaticDifferentiationData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Monoid.Union, Data.Monoid.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Monoid.Generator.LZ78, Data.Monoid.FromString, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Monoid.Ord, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Group.Multiplicative, Data.Group, Data.Group.Combinators, Data.Group.Sugar, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Monoid.Combinators, Data.Monoid.Generator.Free, Data.Monoid.Generator.RLE, Data.Ring.Semi.Natural, Data.Ring.Module.AutomaticDifferentiation, Data.Field, Data.Group.Combinators, Data.Group.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Ring.Module.AutomaticDifferentiation, Data.Group.Combinators, Data.Group.Sugar, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Ring.Module.AutomaticDifferentiation, Data.FieldData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Monoid.Union, Data.Monoid.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Monoid.Generator.LZ78, Data.Monoid.FromString, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Monoid.Ord, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Group, Data.Group.Combinators, Data.Group.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Monoid.Combinators, Data.Monoid.Generator.Free, Data.Monoid.Generator.RLE, Data.Ring.Semi.Natural, Data.Ring.Module.AutomaticDifferentiationData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Monoid.Union, Data.Monoid.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Monoid.Generator.LZ78, Data.Monoid.FromString, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Monoid.Ord, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Group.Multiplicative, Data.Group, Data.Group.Combinators, Data.Group.Sugar, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Monoid.Combinators, Data.Monoid.Generator.Free, Data.Monoid.Generator.RLE, Data.Ring.Semi.Natural, Data.Ring.Module.AutomaticDifferentiation, Data.Field, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Ring.Semi.Natural, Data.Ring.Module.AutomaticDifferentiation, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Group.Multiplicative, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Ring.Semi.Natural, Data.Ring.Module.AutomaticDifferentiation, Data.Field, Data.Group.Multiplicative.Sugar, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Ring.Semi.Natural, Data.Ring.Module.AutomaticDifferentiation, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Group.Multiplicative, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Ring.Semi.Natural, Data.Ring.Module.AutomaticDifferentiation, Data.Fieldover, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Group.Multiplicative, Data.Group, Data.Group.Combinators, Data.Group.Sugar, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Ring.Semi.Natural, Data.Ring.Module.AutomaticDifferentiation, Data.FieldData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Monoid.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Monoid.Generator.LZ78, Data.Monoid.FromString, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Group, Data.Group.Combinators, Data.Group.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Monoid.Combinators, Data.Monoid.Generator.Free, Data.Monoid.Generator.RLE, Data.Ring.Semi.Natural, Data.Ring.Module.AutomaticDifferentiationData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Monoid.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Monoid.Generator.LZ78, Data.Monoid.FromString, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Group.Multiplicative, Data.Group, Data.Group.Combinators, Data.Group.Sugar, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Monoid.Combinators, Data.Monoid.Generator.Free, Data.Monoid.Generator.RLE, Data.Ring.Semi.Natural, Data.Ring.Module.AutomaticDifferentiation, Data.FieldData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Monoid.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Monoid.Generator.LZ78, Data.Monoid.FromString, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Group, Data.Group.Combinators, Data.Group.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Monoid.Combinators, Data.Monoid.Generator.Free, Data.Monoid.Generator.RLE, Data.Ring.Semi.Natural, Data.Ring.Module.AutomaticDifferentiationData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Monoid.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Monoid.Generator.LZ78, Data.Monoid.FromString, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Group.Multiplicative, Data.Group, Data.Group.Combinators, Data.Group.Sugar, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Monoid.Combinators, Data.Monoid.Generator.Free, Data.Monoid.Generator.RLE, Data.Ring.Semi.Natural, Data.Ring.Module.AutomaticDifferentiation, Data.Fieldrecip, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Ring.Semi.Natural, Data.Ring.Module.AutomaticDifferentiation, Data.Field, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Ring.Module.AutomaticDifferentiation, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Ring.Module.AutomaticDifferentiation, Data.Field, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Ring.Semi.Natural, Data.Ring.Module.AutomaticDifferentiation, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Ring.Semi.Natural, Data.Ring.Module.AutomaticDifferentiation, Data.Field, Data.Group.Multiplicative.SugarData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Monoid.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Monoid.Generator.LZ78, Data.Monoid.FromString, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Group, Data.Group.Combinators, Data.Group.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Monoid.Combinators, Data.Monoid.Generator.Free, Data.Monoid.Generator.RLE, Data.Ring.Semi.Natural, Data.Ring.Module.AutomaticDifferentiationData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Monoid.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Monoid.Generator.LZ78, Data.Monoid.FromString, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Group.Multiplicative, Data.Group, Data.Group.Combinators, Data.Group.Sugar, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Monoid.Combinators, Data.Monoid.Generator.Free, Data.Monoid.Generator.RLE, Data.Ring.Semi.Natural, Data.Ring.Module.AutomaticDifferentiation, Data.FieldData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Monoid.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Monoid.Generator.LZ78, Data.Monoid.FromString, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Group, Data.Group.Combinators, Data.Group.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Monoid.Combinators, Data.Monoid.Generator.Free, Data.Monoid.Generator.RLE, Data.Ring.Semi.Natural, Data.Ring.Module.AutomaticDifferentiationData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Monoid.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Monoid.Generator.LZ78, Data.Monoid.FromString, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Group.Multiplicative, Data.Group, Data.Group.Combinators, Data.Group.Sugar, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Monoid.Combinators, Data.Monoid.Generator.Free, Data.Monoid.Generator.RLE, Data.Ring.Semi.Natural, Data.Ring.Module.AutomaticDifferentiation, Data.Field, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Ring.Semi.Natural, Data.Ring.Module.AutomaticDifferentiation, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Group.Multiplicative, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Ring.Semi.Natural, Data.Ring.Module.AutomaticDifferentiation, Data.Field, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Group, Data.Group.Combinators, Data.Group.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Ring.Semi.Natural, Data.Ring.Module.AutomaticDifferentiation, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Group.Multiplicative, Data.Group, Data.Group.Combinators, Data.Group.Sugar, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Ring.Semi.Natural, Data.Ring.Module.AutomaticDifferentiation, Data.Fieldmonoids-0.1.21: Monoids, specialized containers and a general map/reduce frameworkmonoids-0.1.22: Monoids, specialized containers and a general map/reduce frameworkmonoids-0.1.21: Monoids, specialized containers and a general map/reduce frameworkmonoids-0.1.22: Monoids, specialized containers and a general map/reduce frameworkmonoids-0.1.21: Monoids, specialized containers and a general map/reduce frameworkmonoids-0.1.22: Monoids, specialized containers and a general map/reduce frameworkshow/hideshow/hide
lift :: Monoid m => r -> D s r mSource
Monoid m => LeftSemiNearRing (Maybe m)
Monoid m => LeftSemiNearRing (Seq m)
(Measured v m, Monoid m) => LeftSemiNearRing (FingerTree v m)
(Alternative f, Monoid a) => LeftSemiNearRing (Alt f a)
(MonadPlus m, Monoid a) => LeftSemiNearRing (MonadSum m a)
r m)
(MonadPlus m, Monoid w, Monoid n) => LeftSemiNearRing (WriterT w m n)
(MonadPlus m, Monoid w, Monoid n) => LeftSemiNearRing (WriterT w m n)
(MonadPlus m, Monoid n) => LeftSemiNearRing (StateT s m n)
(MonadPlus m, Monoid n) => LeftSemiNearRing (StateT s m n)
(MonadPlus m, Monoid n) => LeftSemiNearRing (ReaderT e m n)
(Stream s m t, Monoid a) => LeftSemiNearRing (ParsecT s u m a)
(MonadPlus m, Monoid w, Monoid n) => LeftSemiNearRing (RWST r w s m n)
(MonadPlus m, Monoid w, Monoid n) => LeftSemiNearRing (RWST r w s m n)
Monoid m => RightSemiNearRing (Maybe m)
Monoid m => RightSemiNearRing (Seq m)
(Measured v m, Monoid m) => RightSemiNearRing (FingerTree v m)
(Alternative f, Monoid a) => RightSemiNearRing (Alt f a)
(MonadPlus m, Monoid a) => RightSemiNearRing (MonadSum m a)
(MonadPlus m, Monoid w, Monoid n) => RightSemiNearRing (WriterT w m n)
(MonadPlus m, Monoid w, Monoid n) => RightSemiNearRing (WriterT w m n)
(MonadPlus m, Monoid n) => RightSemiNearRing (StateT s m n)
(MonadPlus m, Monoid n) => RightSemiNearRing (StateT s m n)
(MonadPlus m, Monoid n) => RightSemiNearRing (ReaderT e m n)
r m)
(Stream s m t, Monoid a) => RightSemiNearRing (ParsecT s u m a)
(MonadPlus m, Monoid w, Monoid n) => RightSemiNearRing (RWST r w s m n)
(MonadPlus m, Monoid w, Monoid n) => RightSemiNearRing (RWST r w s m n)
Data.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Monoid.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Monoid.Generator.LZ78, Data.Monoid.FromString, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Group, Data.Group.Combinators, Data.Group.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Monoid.Combinators, Data.Monoid.Generator.Free, Data.Monoid.Generator.RLE, Data.Ring.Semi.Natural, Data.Ring.Module.AutomaticDifferentiationd
Field
grecip
lift
MultiplicativeGroup
, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Group, Data.Group.Combinators, Data.Group.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Ring.Semi.Natural, Data.Ring.Module.AutomaticDifferentiation
, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Ring.Semi.Natural, Data.Ring.Module.AutomaticDifferentiationunder
\\Data.Field
show/hideData.Group.Multiplicative
Data.Group.Multiplicative.Sugar
show/hideshow/hide
show/hideshow/hide
show/hideshow/hide
show/hideshow/hide
show/hideshow/hide
show/hideshow/hide
show/hideshow/hide
show/hideshow/hide
show/hideshow/hide
+ + + +Data/Field.hs + + + +
-----------------------------------------------------------------------------
+-- |
+-- Module      :  Data.Field
+-- Copyright   :  (c) Edward Kmett 2009
+-- License     :  BSD-style
+-- Maintainer  :  ekmett@gmail.com
+-- Stability   :  experimental
+-- Portability :  portable
+--
+-----------------------------------------------------------------------------
+
+module Data.Field
+    ( module Data.Group.Multiplicative
+    , module Data.Ring
+    , Field
+    ) where
+
+import Data.Group.Multiplicative
+import Data.Ring
+
+class (Ring a, MultiplicativeGroup a) => Field a
+
+ hunk ./doc/html/monoids/src/Data-Group-Multiplicative-Sugar.html 1 + + + + +Data/Group/Multiplicative/Sugar.hs + + + +
-----------------------------------------------------------------------------
+-- |
+-- Module      :  Data.Group.Multiplicative.Sugar
+-- Copyright   :  (c) Edward Kmett 2009
+-- License     :  BSD-style
+-- Maintainer  :  ekmett@gmail.com
+-- Stability   :  experimental
+-- Portability :  portable
+--
+-- Syntactic sugar for working with groups that conflicts with names from the "Prelude".
+--
+-- > import Prelude hiding ((-), (+), (*), (/), negate, subtract, recip)
+-- > import Data.Group.Multiplicative.Sugar
+--
+-----------------------------------------------------------------------------
+
+module Data.Group.Multiplicative.Sugar 
+    ( module Data.Monoid.Multiplicative.Sugar
+    , module Data.Group.Multiplicative
+    , module Data.Group.Sugar
+    , (/)
+    , (\\)
+    , recip
+    ) where
+
+import Data.Group.Multiplicative
+import Data.Monoid.Multiplicative.Sugar
+import Data.Group.Sugar
+import Prelude hiding ((-), (+), (*), (/), negate, subtract, recip)
+
+infixl 7 /
+infixr 7 \\
+
+(/) :: MultiplicativeGroup g => g -> g -> g
+(/) = over
+
+(\\) :: MultiplicativeGroup g => g -> g -> g
+(\\) = under
+
+recip :: MultiplicativeGroup g => g -> g
+recip = grecip
+
+ hunk ./doc/html/monoids/src/Data-Group-Multiplicative.html 1 + + + + +Data/Group/Multiplicative.hs + + + +
-----------------------------------------------------------------------------
+-- |
+-- Module      :  Data.Group.Multiplicative
+-- Copyright   :  (c) Edward Kmett 2009
+-- License     :  BSD-style
+-- Maintainer  :  ekmett@gmail.com
+-- Stability   :  experimental
+-- Portability :  portable
+--
+-----------------------------------------------------------------------------
+
+module Data.Group.Multiplicative 
+    ( module Data.Monoid.Multiplicative
+    , MultiplicativeGroup
+    , over
+    , under
+    , grecip
+    ) where
+
+import Data.Monoid.Multiplicative
+    
+-- | Minimal definition over or grecip
+class Multiplicative g => MultiplicativeGroup g where
+    -- | @x / y@
+    over :: g -> g -> g
+    -- | @x \ y@
+    under :: g -> g -> g
+    grecip :: g -> g
+
+    x `under` y = grecip x `times` y
+    x `over` y = x `times` grecip y
+    grecip x = one `over` x
+
+ hunk ./doc/html/monoids/src/Data-Monoid-Applicative.html 64 --- and asserts that any 'Alternative' applied to a 'Monoid' forms a 'LeftSemiNearRing' +-- and asserts that any 'Alternative' applied to a 'Monoid' forms a 'RightSemiNearRing' hunk ./doc/html/monoids/src/Data-Monoid-Applicative.html 84 -instance(Alternativef,Monoida)=>LeftSemiNearRing(Altfa) +instance(Alternativef,Monoida)=>RightSemiNearRing(Altfa) hunk ./doc/html/monoids/src/Data-Monoid-Monad.html 67 --- and asserts that any 'MonadPlus' applied to a 'Monoid' forms a 'LeftSemiNearRing' +-- and asserts that any 'MonadPlus' applied to a 'Monoid' forms a 'RightSemiNearRing' hunk ./doc/html/monoids/src/Data-Monoid-Monad.html 94 -instance(MonadPlusm,Monoida)=>LeftSemiNearRing(MonadSumma) +instance(MonadPlusm,Monoida)=>RightSemiNearRing(MonadSumma) hunk ./doc/html/monoids/src/Data-Monoid-Multiplicative.html 33 --- which can be extended if the 'Monad' is a 'MonadPlus' to yield a 'LeftSemiNearRing' +-- which can be extended if the 'Monad' is a 'MonadPlus' to yield a 'RightSemiNearRing' hunk ./doc/html/monoids/src/Data-Monoid-Multiplicative.html 37 --- yield a 'LeftSemiNearRing' +-- yield a 'RightSemiNearRing' hunk ./doc/html/monoids/src/Data-Monoid-Multiplicative.html 233 - --- Numeric instances - -instanceMultiplicativeIntwhere -one=1 -times=(*) - - -instanceMultiplicativeIntegerwhere -one=1 -times=(*) - -instanceIntegralm=>Multiplicative(Ratiom)where -one=1 -times=(*) - +-- Numeric instances +instanceMultiplicativeIntwhere +one=1 +times=(*) + +instanceMultiplicativeIntegerwhere +one=1 +times=(*) + +instanceIntegralm=>Multiplicative(Ratiom)where +one=1 +times=(*) + hunk ./doc/html/monoids/src/Data-Ring-Module-AutomaticDifferentiation.html 9 -
{-# LANGUAGE FlexibleInstances, MultiParamTypeClasses #-}
-module Data.Ring.Module.AutomaticDifferentiation 
-    ( module Data.Ring.Module
-    , D
-    ) where
-
-import Prelude hiding ((*),(+),(-),subtract,negate)
-import Data.Ring.Sugar
-import Data.Ring.Module
-import Data.Monoid.Reducer
-import Test.QuickCheck
-import Control.Monad
+
{-# LANGUAGE FlexibleInstances, MultiParamTypeClasses, RankNTypes, FunctionalDependencies, UndecidableInstances, FlexibleContexts #-}
+
+-----------------------------------------------------------------------------
+-- |
+-- Module      :  Data.Ring.Module.AutomaticDifferentiation
+-- Copyright   :  (c) Edward Kmett 2009
+-- License     :  BSD-style
+-- Maintainer  :  ekmett@gmail.com
+-- Stability   :  experimental
+-- Portability :  portable (instances use MPTCs)
+--
+-----------------------------------------------------------------------------
hunk ./doc/html/monoids/src/Data-Ring-Module-AutomaticDifferentiation.html 22
-data D r m = D r m
-
-instance (Monoid r, Monoid m) => Monoid (D r m) where
-    mempty = D mempty mempty
-    D x m `mappend` D y n = D (x + y) (m + n)
-
-instance (Module r m) => Multiplicative (D r m) where
-    one = D one zero
-    D x m `times` D y n = D (x * y) (x *. n + m .* y)
-
-instance (Group r, Module r m, Group m) => Group (D r m) where
-    gnegate (D x m) = D (gnegate x) (gnegate m)
-    D x m `minus` D y n = D (x `minus` y) (m `minus` n)
-    D x m `gsubtract` D y n = D (x `gsubtract` y) (m `gsubtract` n)
+module Data.Ring.Module.AutomaticDifferentiation 
+    ( module Data.Ring.Module
+    , D
+    , d
+    , lift
+    ) where
+
+import Prelude
+import Data.Ring.Module
+import Data.Monoid.Reducer
+import Test.QuickCheck
+import Control.Monad
+
+data D s r m = D r m deriving (Show,Read)
hunk ./doc/html/monoids/src/Data-Ring-Module-AutomaticDifferentiation.html 37
-instance (LeftSemiNearRing r, Module r m) => LeftSemiNearRing (D r m)
-instance (RightSemiNearRing r, Module r m) => RightSemiNearRing (D r m)
-instance (SemiRing r, Module r m) => SemiRing (D r m)
-instance (Ring r, Module r m, Group m) => Ring (D r m)
-
-instance (c `Reducer` r, c `Reducer` m) => Reducer c (D r m) where
-    unit c = D (unit c) (unit c)
-    c `cons` D x m = D (c `cons` x) (c `cons` m)
-    D x m `snoc` c = D (x `snoc` c) (m `snoc` c)
-
-instance (Arbitrary r, Arbitrary m) => Arbitrary (D r m) where
-    arbitrary = liftM2 D arbitrary arbitrary
-    shrink (D r m) = liftM2 D (shrink r) (shrink m)
-
-instance (CoArbitrary r, CoArbitrary m) => CoArbitrary (D r m) where
-    coarbitrary (D r m) = coarbitrary r >< coarbitrary m
-
-{--
-infix 0 ><
+lift :: Monoid m => r -> D s r m
+lift x = D x zero
+
+infinitesimal :: (Monoid r, Multiplicative m) => D s r m
+infinitesimal = D zero one
+
+instance Eq r => Eq (D s r m) where
+    D x _ == D y _ = x == y
+
+instance Ord r => Ord (D s r m) where
+    D x _ `compare` D y _ = compare x y
+
+instance (Monoid r, Monoid m) => Monoid (D s r m) where
+    mempty = D mempty mempty
+    D x m `mappend` D y n = D (x `mappend` y) (m `mappend` n)
+
+instance (r `Module` m) => Multiplicative (D s r m) where
+    one = D one zero
+    D x m `times` D y n = D (x `times` y) (x *. n `plus` m .* y)
hunk ./doc/html/monoids/src/Data-Ring-Module-AutomaticDifferentiation.html 57
-(><) :: Multiplicatve a => (a -> a) -> (AD a -> AD a) -> AD a -> AD a
-(f >< f') a@(AD a0 a') = D (f a0) (a' * f' a)
-
-data AD r = AD r (Maybe (AD r))
+instance (Group r, r `Module` m, Group m) => Group (D s r m) where
+    gnegate (D x m) = D (gnegate x) (gnegate m)
+    D x m `minus` D y n = D (x `minus` y) (m `minus` n)
+    D x m `gsubtract` D y n = D (x `gsubtract` y) (m `gsubtract` n)
hunk ./doc/html/monoids/src/Data-Ring-Module-AutomaticDifferentiation.html 62
-instance (Monoid r) => Monoid (AD r) where
-    mempty = K mempty
-    AD x m + AD y n = D (x + y) (m + n)
-
-instance (c `Reducer` r) => Reducer c (AD r) where
-    unit c = c' where c' = AD (unit c) c'
---}
+instance Num a => Num (D s a a) where
+    D x x' + D y y' = D (x + y) (x' + y')
+    D x x' * D y y' = D (x * y) (x * y' + x' * y)
+    D x x' - D y y' = D (x - y) (x' - y')
+    negate (D x x') = D (negate x) (negate x')
+    abs (D x x') = D (abs x) (signum x * x')
+    signum (D x _) = D (signum x) 0
+    fromInteger x = D (fromInteger x) 0
+
+instance Fractional a => Fractional (D s a a) where
+    recip (D x x') = D (recip x) (-x'/x/x)
+    fromRational x = D (fromRational x) 0
+
+instance (LeftSemiNearRing r, Module r m) => LeftSemiNearRing (D s r m)
+instance (RightSemiNearRing r, Module r m) => RightSemiNearRing (D s r m)
+instance (SemiRing r, Module r m) => SemiRing (D s r m)
+instance (Ring r, Module r m, Group m) => Ring (D s r m)
+
+instance (c `Reducer` r, c `Reducer` m) => Reducer c (D s r m) where
+    unit c = D (unit c) (unit c)
+    c `cons` D x m = D (c `cons` x) (c `cons` m)
+    D x m `snoc` c = D (x `snoc` c) (m `snoc` c)
+
+instance (Arbitrary r, Arbitrary m) => Arbitrary (D s r m) where
+    arbitrary = liftM2 D arbitrary arbitrary
+    shrink (D r m) = liftM2 D (shrink r) (shrink m)
+
+instance (CoArbitrary r, CoArbitrary m) => CoArbitrary (D s r m) where
+    coarbitrary (D r m) = coarbitrary r >< coarbitrary m
+
+d :: (Monoid r, Multiplicative m) => (forall s. D s r m -> D s r m) -> (r,m)
+d f = (y,y') where D y y' = f infinitesimal
+
hunk ./doc/html/monoids/src/Data-Ring-Semi-Near.html 71
-instance (Measured v m, Monoid m) => LeftSemiNearRing (FingerTree v m)
+instance (Measured v m, Monoid m) => RightSemiNearRing (FingerTree v m)
hunk ./doc/html/monoids/src/Data-Ring-Semi-Near.html 75
--- for 'liftM2 mappend' is a 'LeftSemiNearRing' by 'MonadPlus' left-distributivity
+-- for 'liftM2 mappend' is a 'RightSemiNearRing' by 'MonadPlus' left-distributivity
hunk ./doc/html/monoids/src/Data-Ring-Semi-Near.html 77
-instance Monoid m => LeftSemiNearRing [m]
+instance Monoid m => RightSemiNearRing [m]
hunk ./doc/html/monoids/src/Data-Ring-Semi-Near.html 79
-instance Monoid m => LeftSemiNearRing (Maybe m)
+instance Monoid m => RightSemiNearRing (Maybe m)
hunk ./doc/html/monoids/src/Data-Ring-Semi-Near.html 81
-instance Monoid m => LeftSemiNearRing (Seq m)
+instance Monoid m => RightSemiNearRing (Seq m)
hunk ./doc/html/monoids/src/Data-Ring-Semi-Near.html 83
-instance (Stream s m t, Monoid a) => LeftSemiNearRing (ParsecT s u m a)
+instance (Stream s m t, Monoid a) => RightSemiNearRing (ParsecT s u m a)
hunk ./doc/html/monoids/src/Data-Ring-Semi-Near.html 85
-instance (MonadPlus m, Monoid n) => LeftSemiNearRing (SState.StateT s m n)
+instance (MonadPlus m, Monoid n) => RightSemiNearRing (SState.StateT s m n)
hunk ./doc/html/monoids/src/Data-Ring-Semi-Near.html 87
-instance (MonadPlus m, Monoid n) => LeftSemiNearRing (LState.StateT s m n)
+instance (MonadPlus m, Monoid n) => RightSemiNearRing (LState.StateT s m n)
hunk ./doc/html/monoids/src/Data-Ring-Semi-Near.html 89
-instance (MonadPlus m, Monoid n) => LeftSemiNearRing (ReaderT e m n)
+instance (MonadPlus m, Monoid n) => RightSemiNearRing (ReaderT e m n)
hunk ./doc/html/monoids/src/Data-Ring-Semi-Near.html 91
-instance (MonadPlus m, Monoid w, Monoid n) => LeftSemiNearRing (SRWS.RWST r w s m n)
+instance (MonadPlus m, Monoid w, Monoid n) => RightSemiNearRing (SRWS.RWST r w s m n)
hunk ./doc/html/monoids/src/Data-Ring-Semi-Near.html 93
-instance (MonadPlus m, Monoid w, Monoid n) => LeftSemiNearRing (LRWS.RWST r w s m n)
+instance (MonadPlus m, Monoid w, Monoid n) => RightSemiNearRing (LRWS.RWST r w s m n)
hunk ./doc/html/monoids/src/Data-Ring-Semi-Near.html 95
-instance (MonadPlus m, Monoid w, Monoid n) => LeftSemiNearRing (SWriter.WriterT w m n)
+instance (MonadPlus m, Monoid w, Monoid n) => RightSemiNearRing (SWriter.WriterT w m n)
hunk ./doc/html/monoids/src/Data-Ring-Semi-Near.html 97
-instance (MonadPlus m, Monoid w, Monoid n) => LeftSemiNearRing (LWriter.WriterT w m n)
+instance (MonadPlus m, Monoid w, Monoid n) => RightSemiNearRing (LWriter.WriterT w m n)
hunk ./doc/html/monoids/src/Data-Ring.html 9
-
{-# OPTIONS_GHC -fno-warn-orphans #-}
-{-# LANGUAGE FlexibleInstances, MultiParamTypeClasses, UndecidableInstances #-}
-
------------------------------------------------------------------------------
--- |
--- Module      :  Data.Ring
--- Copyright   :  (c) Edward Kmett 2009
--- License     :  BSD-style
--- Maintainer  :  ekmett@gmail.com
--- Stability   :  experimental
--- Portability :  portable (instances use MPTCs)
---
------------------------------------------------------------------------------
-
-module Data.Ring
-    ( module Data.Group
-    , module Data.Ring.Semi
-    , Ring
-    ) where
+
-----------------------------------------------------------------------------
+-- |
+-- Module      :  Data.Ring
+-- Copyright   :  (c) Edward Kmett 2009
+-- License     :  BSD-style
+-- Maintainer  :  ekmett@gmail.com
+-- Stability   :  experimental
+-- Portability :  portable (instances use MPTCs)
+--
+-----------------------------------------------------------------------------
+
+module Data.Ring
+    ( module Data.Group
+    , module Data.Ring.Semi
+    , Ring
+    ) where
+
+import Data.Group
+import Data.Ring.Semi
hunk ./doc/html/monoids/src/Data-Ring.html 29
-import Data.Group
-import Data.Ring.Semi
-
-class (Group a, SemiRing a) => Ring a
+class (Group a, SemiRing a) => Ring a
binary ./monoids-0.1.21.tar.gz
oldhex
*1f8b0800000000000003ecbd6b7bdb389228bc5f8f7e05363bcf484acb8a6f71b279e33c713b4e
*c7bb7692b19de977a64f6f424994cd35452a2415dbdd99fdeda72eb89220253b8e929eb5663a26
*09a050000a4055a150354993341ae52babfdb5fefada837ff91abf55f83d7af890fec2affc979e
*d7d6d6b636b7b61e6e3e5afb97d5b5b5cdcdcd7f110fbf0a36a5df2c2f820c50f95238e5c6fd41
*7e1377fc0ff677f75e1fefdd6e1dd81f5b30a035e3bffee8e1a3d2f8af6f6ec1f82fa513ff978f
*ff6e3abdcaa2d3b34274865db1bebafaef626f74116423f19f93b0285a3b712c283d17599887d9
*a770d46fb58ec251941759349815519a88201989591e8a2811793acb86217d194449905d89719a
*4df29eb8888a339166f4379d15ad493a8ac6d13040003d1164a19886d9242a8a7024a659fa291a
*c143711614f04f0840e238bd889253314c93518485722cd402249fb45a027ef7858b552ed2b142
*67988e423181a186461401a089308341fa0993640710102192b48886610f7244b988011e82b12b
*4d46258ca0d2611c449330ebd76102355abda13081668e66809d4646a2a051ba3e3212824149c8
*c68ed2e16c122645a006ec018c450a29999804459845419ceb7e975068c8a8b0d518ddc6d76144
*c53143124c42446d3f0f82a1f88f340973c0dda4d158506dba8909434cb31c10b812831029085a
*938a3019c1d7108905109aa44528b8a780064780e9278de01892b96ff2745c5c201149f212f934
*1c227d41d108a92e43ca4a98c6f29cdb71f26aff581cbf7979f2f3ced19e80e7b7476ffebaff62
*ef85f8f16fe2e4d59ed87df3f66f47fb3fbd3a11afde1cbcd83b3a163baf5fc0d7d72747fb3fbe
*3b797374dcbab7730c25ef51c2ceebbf89bdffffedd1def1b1787324f60fdf1eec0330807eb4f3
*fa647fefb827f65fef1ebc7bb1fffaa79e0000e2f59b93d6c1fee1fe09643b79d3a34aabc5c49b
*97e270ef68f715bceefcb87fb07ff237aaefe5fec96bacebe59ba3d68e78bb7374b2bffbee60e7
*48bc7d77f4f6cdf19ec066bdd83fde3dd8d93fdc7bd187daa146b1f7d7bdd727e2f8d5cec181db
*cad69b9f5fef1d21ea7613c58f7be2607fe7c7833dac881af962ff686ff7045b639e76a1e300bd
*835eebf8eddeee3e3c405fec415b768efed693308ff7fef20e3241a278b173b8f31334ad33a747
*604876df1ded1d22cad00dc7ef7e3c3ed93f7977b2277e7af3e605f5f3f1ded15f61db3afeffc4
*c19b63eaac77c77bbdd68b9d931daa1840404f41323cfff8ee789ffa6cfff5c9ded1d1bbb727fb
*6f5e7761787f865e011c77a0e80beadc37afb1a940237b6f8efe8640b10fa8ef7be2e7577bf0fd
*08fb937a6a07bbe0187a6cf7c4ce06f541079eb44c1bc5ebbd9f0ef67fda7bbdbb87a96f10cacf
*fbc77b5d18aafd63ccb04fd5c2e0439defa8c9384480558b1e2d82edd1408afd9762e7c55ff711
*6d991986fe785f920975d9ee2bd9ddfd5665fd2fedffc761319bf6e3b3fc36f79879fcdfdad6c3
*d2febfb1beb576b7ff2fe3f76ffffa6096670f60777a90cd92b3203f0fe3b8f54cc0f63c8b4371
*889b656702ff76c5052cdf610bd2a2c934cd0af1c2de158ee1634ca998593c7922f6df884e57bd
*6fc3ca3d0e66718100ab5478f7fb56bfd2fc97affd613008e2dbaa630effbff168ab2cff6daead
*6eddcdff65fc903b7bf27ffe0f725372ec5b9fc20c19a427f491e9a215031b9ae4217ffbf1f8c5
*86fab2328ee2f0097c9492632b9801039649905294d8e94b6902d702e4bfc3ec892f5d3c0dcff1
*eff353c818f787e9e4590b866710c55171c525c24b60e122e264e3d6593a09a7c1a944ebac28a6
*4f1e3c805269128cb0f4832c0c80636c8194119ea69904f1222882567e95a4d33ccaf9d32137bd
*c76c631047bf012b8a3c2ae1ca7c76204e4378096258d1a6009958f77106fd779166e7ad51980f
*b3688a8be1935b02a9e58027ccee962534ddad8359148f568aab69c839e5624c9378450da710cf
*b6612c5b3072830c4411e0a1b9dc289c02cb9d3f11c4550f0260bd9f6d8b4df1e73f8ba762b3bf
*de6b298e5da20ea9abfd754e5fed6ff4b860115e169cb4a692d665d234007e7e88891bfd554edc
*e8af31dc31482d61566461c8855755e1355978705584b8d180a44519fe9d33acf557650635ba2b
*80401648f41e6e28385bab068b208ec31833ac2924d734929342a6ac9653f2628229ebaaccba4e
*1944451e16a5620af1bfcca2e1f9ee59383caf291d6419483ee5dea4a42c1cc7e19064b55297b6
*680ea4202badf01e9d3f6929aaeeff94a5b369e9b5bf9b4e50f84451ab9c743c3b0d32f39169b6
*bf3342f9528aa3be84ba72d3694c12bda7e82e0f1224c7d5341f8232ed258878c734fa95a49f68
*ee40a9fa14281e567131c9077f7ff4b821f9e860af92ba9fc08a940cc32aaa07e12536af7f4c3a
*87b7694e427a6db677272f1ff75f84a89aa8b64065fa39cd46d59a0e7181ab7e05f62aaa1f0137
*b96608df6455b847b42e55f3caeffddd330f2095f833c8e395c4e3301e573ebe4b9cde3a72861c
*dffa3fa6691c06a53c4421af6793d2d7439c1b41b60372ff19ac91d1d0971e7a3ff67766453a81
*5e1abe88c663e07993220a8a0a72d08a49e4f9d47f1ddafd617d0f8a596693bf4972badd7c3ec9
*d2a93b63384d0f1dfc737a365c4969db81157ce56758e1c4ca3849576087485646331ef07005d7
*8cacc82bac7789ffc34a6efd10e0fafafff58db58777faff65fc7ce3cf7bc3ede900e6f1fff0bf
*b2fcff68f34efe5fca6fe5167fad9515f119ffe1759458d12736630249e6bc019280997db4523d
*73806c072c5d300490375a0cfd50cb0ff8dd2ee4131da0c0b1921e0890233c40ea5b581255fa13
*31a537d814b8aebdcb02d962d1e6fda98daae97c3625d5479bdad316e91439055c7b5bb7d9912b
*ad96d4bf98ce6396b123ec041fbfd6138609ec89d3243c85e55fbde5b301b0c8c342be4fa264c6
*dc85d6ee28dd8e0fbc278d7672cf778b6d6b45c938ba8cc596f840f57d68119d88c328892620fa
*c05081b05284a821824f2c40b525e26d3c056853b9766b1807792e052b909db69f7153e19191c7
*8600e840e22ba204651ffe2ee1a1622a102bcf44c03c3f0236df4c82eea952a26839d0b62584df
*c22c65965e35520c2011dea631bea8fc03a172e90a38a7caa04b0cb0df98d314c0ddd8cded1ce3
*7bd76ab4410793fa42bef641bc2c8e256b44853476f83690f93bd03431e83243a12b7d89c8c158
*c008d975bfe59398bafa55b28b83fc4a7935008d8bfa32b0ca034e0faa38a9e136e8bc98217e7e
*5c28adaf3f1026f8add5041009bab67331ad0450b3b25cd07430be0e54a18e4517ddc6facdc4a9
*c3c2ca51c2a5242bd9a074f5d6c7810bccc5f15bef4b77bfe5fc7cfc1f0919b778043487ff036e
*7fa3ccffc1df3bfe6f19bfdf57fe4dbca153d0e3f73fbddab564c7349b9e05492efe6de51f2dcc
*75b0f3faa7773b3fed8997717819019fa435213d41ba85b741164c4eaea6e12eeed3f8f95d320a
*87d128b03313bc5be6963c7c27f073961ec1653c310d75a90eff886c6889f3c47cc07baee4c515
*718525f6539439ce2ac33987e3d42ca7e844ba7fd090e6f0edc96ede6546f4363bca612bb586c5
*652a6df6b19cdde83c7a4217f7f28e0cc5fe62ca4b46ae2377bf9ec0af4772cb83ad901fefb6a0
*65fc7ceb3f73d8b7a706babefe07d6fff53bfdcf327e0de36ff4e05fc80b34efff6b0f3737caf6
*9f5bab1b77e7bf4bf9393bbb6fbfee09dcd2df4c9914e0556dffbb6982477ef5bbbf874fc0f497
*c104f6bfe533029553a3ef9d29907aa81dd1d638b7c5f3e17311e520d04dd33c87debd5af19e2f
*f7604f8e8667ea432e3e05f18ccd3011261e158bf65e1c4e08628f4ea3b9c479925ee4e22cbd20
*53ccf1381a4680687c2582e914ff156d79b4430a313a721d92ca2e40b3d2fc02ad6019f1e30845
*dcc0413f42bbd002908faf26c860464334508d8a9c30858a8048a202b34172689f9d13dac0908a
*7b349a2fd398e8543fdcebc92375831fda95a2c60ed0d60d1171382e568a74856d7e09ef115b38
*e3574c1574104f67af39b4ae084f915ac914d96d0cc20f3ec138630350cc4fc7fdafc9b079cf3d
*bd1a41fbc80e9a785fe832b952123a407a026941317dc194cb9bf793d43ca3cac003589c6430fc
*68de1cea4afe33bcca3bf84f0fd513f8d095297f2572ecf01f4ae547958e678a8f3bf42fa5d253
*d7545b3e32eef1a085e526e8e34795417ff072ad3b7422ef7cc21358d1c17fa17e3be104ed1d3a
*f8affb5d11a4e88ce1a987ff1c06539de7e30ce8791cc1643550825ce0df9a2c3f5e15a1d2e3e4
*029f504166bef6d0fc7b14b7ebaa3039e9a8f6b181f298715ca8e841f0db1596a4bf4eed45ba7b
*364bcef305811824f00d509857fe38fc380b692901bcc38f6e6793f5c8095a8f740ec3209fc128
*c3cea3bfba43a32175e0a9beba826b2a4a650b2c56d415db4f0a59929f9cc232b1c37f1b4000a5
*4810f0540681891dfe5b0742962f17a692544c7dc6dd3b4be3fe5b6914d33fd64b9d4f9faf1614
*56dd4fa4eade68ec455b4f39a9b2c74543a9eccd2231b4549ab409e1ba035f9f3c8149cd2a7905
*07bf7542f14156fd414c4838ecc8122bcf44d8c57fe971a2ca9ea4bc492f56766200e8da717d5b
*1cc2508399b44af88ff17880301a8b49389916571692f08993d1f64aa0d2de2ae8a032b6f2b9b9
*2c3db2ee609ed8f69ae1ebf06aae6d414b9c83e1b6cac78b84e8fc5f3a04c99374083b615f8cbb
*5e146892cf41a09ca754bdd5835837d4350d3224e2ece22c19a341b2ced2854482a696112f4eb4
*ccfa10a1846da16d584cdb31e59a2dff65f8abb712fcbe2d8635adcb80efc4cb3c0856118a81ae
*5635f14984744ea06beb588bdf2724475fd5954cdb22acc183168919cce7fa06e2ba29863535c9
*b4fa862e50815c287df065d2363ef8679a7eebcbcc401307515ed435a5748ae53485d2b6d53161
*434df3aa91ebf6a79a9a4cf236bdf43e7517691c9469ac15619ed756aa53a1ce73a8b1bcf256ab
*f4d6b77f29a21249320315d552a3950e7547bd707e6b61034987b9dc795c06bc302ca7e4cff373
*90719298eed9d1edb373603a51ea01c12102e9f6d216925a497841b821670a2bf9363ffcae9855
*dc0386e21fc2dfc594c38c5f4d832bb916a65fec72c2beaff069c2430d69231a26d3b6385f68cc
*6b11f08c3dd76146b811153bdbb688e62203237d8ac79c8374864619164a37a30b290f2b5a18a1
*18da48237f95050033f9f8bb115b9a2945e6994b2b9e7cdbe2d3a2b412020cd9310ca819993904
*53cdb6082af3f0f0508daa682eddf832fa373317270f3e8b904c918541918b36f1256d64aadbc8
*24b4b1f0095dc70d21f92a9dd1810d0033dc0ce50e647e7505595d4c3d4d91df29ceb274767a86
*b9b4799185411c9d87a28d16c26d4d802c360d25b3f298c98f1f1ba98fb35438be9a5eaecdede1
*91269a437c5ccf28116fab306dc2b0c41236e257c9eb62770df611d258b720d9c8c79a8f74d026
*8ad9a968c04651160e513956a4b4aa20ada1128b761c9bbe5a9991692c69a8a7e49fb29c21851a
*59ca26e96844a7b1f292edfedff784059a88b502accaed93cca20e76af03aaccb72f00087bb002
*a786ccbe10de0db0ab763d32eb0b14ace7c37ba22a37ba596edc4c925616285c450099f385ea85
*dda45258b2de0b940e3c15176c3b37afa8e47e7d95d36eb8108c731f04b987ddb4f525166e1130
*e7354034e3bd008c4f151815fee0cbc0549169397ad3ea62e5d18790ea2321187edd4852023a16
*28ed8f1d55c629e1bffffa60fff59eabbb65b4b2069c6a16501b3189476623c12848a5b1557be6
*56fdad8fe7befaafe1fc575de1f9624bb039e7bf1b5b6b65fb2ff8b37177febb8cdfdcf35f513d
*f1153547bec273e6ab8f9ae810ef35f3b22fd08b0b6ed0dfe6085829b3bfd703e0244d568c6598
*6d0b2676f0b876c530a07414ac450872d81388610010f0de18e98db19fc9510e1e1d4b3e557684
*9665daa89503b1055dec80203c09922b71115ce55210c9c26296256d129eb9ba006a1bcce8a036
*8e265121cf675348cea142c01bc7b9ff952dd83ca79dbee35065b06665eb096c718f04951e4afb
*ea1851ea299d0350fce67c98ceb2f01d94d7278bd83dfa43f964511db5d8d7634b49d4a3c277fb
*c27718632657a7dbf29e3dd69c91b56e70c2563a33bbe9a1d96d9c9addc6b1d9fc73b339076774
*2cf0962eb4f7dfc224c6f5abe6dc33526de32793d14eeef0dfae9431693a92bc2bbd620d42f215
*16a0866a1c5df66909b0d99de7a545e0397c210d064c7ebc9664997e105c5a06a4fae139ce025a
*15ca9926cffb95c586ec1de23c45a0d2aec25c8092e62345303c5f210f63ec5c4c2e3a41028b5e
*9417b8183998a6ec9e0ced2e102c2c30b41cf7a123c2dc3100316619da6318d98818d30e723f37
*8142b056075994e6cabc031d839177319898091ab264e9348be842ce952ba753bdd265591b9785
*360168e33a01eb2b7a650098582a09e2f4540bfee84e22b99aa4b3dcee12e97b8d1cb74df492ab
*575d3e1c1d857134c022212a173e213726c6b3445ebe91de19600646682891a73cb69d2eaef2d8
*07010d92b5a5d1221dc7c6ae07cad0820e7b11202139dc2c2700d822917e422f707c3d9c17eebc
*476094b2a687705f46193403011e04d81e180229660c60a8c5f3e03977d561703508dbf8def79a
*009d91720c4819c643ea4b9449528fba2b4aa6b0b3c88e95d8228d4b5f19d04b68a3c45e07a5fd
*91dee3b008f7340cf80c33236c741037d3640290a176093d8766f35e65db9410c590690fedc1d8
*1793141aad294b2ef1649304d0a55913821c0679d8338ef9c20ba804dd9e90efc200b924397067
*9027863e00629ae564dc817304b788a830465a4102800376bc27ef40560edf9fa8fd1b0fde8952
*ddab721332aa961d398457e7badc67dc858002504ca7550006803672354f29231ddb919ed11c96
*2ba5584876575cd629491d271d433a7657662e132052170270eb38de54f0360b9d1ad2c45fc768
*463a9f1a532e8247c7aca611dc12d3bc6d46848f6085c1ac7c523f533b3dc1b34fe729a54e59c8
*68ab2dba6d1beb05e3821c3132b7466424cde1d460e4b3a850b438a136eba6f55b0ed34222b236
*421a7ba5f6c008e963a99d2901a93bb35db06daa2961007b829ce57ad7616a6d19b66a0194c752
*7b6597321872bf1b3e8c00325335e939da81c452af8a44d865b62523a7c751b17904cde2de10c3
*1a9863919862dbc4286a705af5ddb1e662cf9a980cc7bc7726bdc45683d3305ce2c1293ff5f80f
*1fa172e60f48b01f38d344bff5a0a5ea99735f8a0f48bc1f6431c8adbf004afa39e92e82b6fd92
*7adad04b1768454f945b83c5e6b7a727d2a6b62190dad659cfe9f55b6abf4cbdcdee4dafd1705f
*072080eb75010827cddd812017ea10eb796a778e69a46bee32b3e790bd3c769e484472bb2df0f6
*c30fe297cb5fbda03b958e7b8f9018d07b05c7fdc6b8ca6f55a0e83d46eca0605b46193ed6e607
*46aa9a3f8e3df979510dbaa2b3978c52d7b44416c404dbb4c7bac9aea004be3bcdb2385d5ec677
*cfd570ab7ce57ab82c8e37c19b4b7a2f77cbd2ea0eb7a7e1c4f151cb258fe8294e299ec2c1dc42
*b07efec7cc5bd6aa9858521f084cf057db58a45aa9658755ee36e770c70791552245ea4e8ba79f
*bb86c780f7cfcfbaf6116ee7188fa02702a41d51b81b4e505e6d581e3d81bc33e11ffcd2d6e6eb
*103c22f2d24df8b1ef6f01a6945b81dfa0259e2af06ca562df25eb90f65ade6a641ac00326d5ae
*6b1c475337153946e2fb06114819519601ebf12948ec06bfc9aa33ae620aa65b5e8352091fa875
*1a8ea09e68888ebc417a49b311fbde46965fb4f73eb6c5280df3a45d08f2cd47fc505e6430a3d0
*2794084977202d44a97938ec9fa922e04707c81d0aac3967be54ff3eb35bed8b280f1dbc30bb6f
*cac84336af599a6c35c89eb32cbb527625de0e28e5a9199bbeced77773d2f9ca9f08588127daee
*f09cdbc3c3477a3e83b612ba73715d10d1062c7f5f3188ee259e0554a97c2a68a208c189667ce4
*3b1b7c7eabb3a686f39f92c3b89b1f03cd39ffd95a5bdb2a9dff3c5a7d7477ff6f29bf3ff0cd7e
*bfdbc3eff550c71ce8d0b949ed757ff133ea2847216c07683bcf273aed23322bd3211bd4ce11f6
*c8022d1d636c83240c716b9b0651a6eef9692589a98fed21412c1dc6698e2a47d82383221ce1c2
*77cebe629e4b93b3e7a467489350ead066490e7d9c8faf585b35125751188fd0952d2425ecdd10
*43359c02b54c300ff5665f988b8cee58958faf08b588541ea8f21cd9eaa340ebdee445c042e9d1
*c24b99bb48c559f029d4aa670d378f53520e936674c4b133faa482455800158605cd43497b85f5
*494d6959f386c243a509120be4aec88ad4554eb1660f153aed831446f022435d51e64294796b20
*95eab320ee5d4e2b10cd6cc431262d7d247b52b68ad422a4e9d72e8aa97fc7417e863779108abc
*3c5aeae068ccf5caf33f3d78c1e86d3ccb49094414819f0f800b43b70ee80c9388d78b1f9e2678
*91b4b42d555449cb2db16dc6d40243f8b677e222cc12f9a1205a6a44f936d732dfd1a53bba8bfa
*78a32b90a5a2b287e491a4c7176c0f29bc270a58a2f25a283084ce9929106d07fea33b98f0d7ba
*812985572ce0ab0b68b303ff5141f8db5df864b49c067f91338365b57f7c72584926f2c34c853f
*657f84ee5be9468d2ff9881d84574f054bd97e3e361720e16591fcf2a2269e8a62897945603729
*425309bd2e56c6aa884bcd2bf67316c12c3075f1fb82a5acda64b9b9589e58cd3a5920b7dda093
*d6bcb3ec455d155aded13ca9e63ef4bc03f73a2f88aeb31bdc386ef1b8bd7aea2c4f78dce96b1f
*ede07e86672a6c418db35e1fb1a8fb8aa5d39feaf6ecee66c02224e1044d4b9e88e7b01a40d20f
*b842902739fcdb09606118749fb746d014fa329129bfcb058451f887ad5729b7000d36796de910
*045b969247330c131913fcc8987c90a7301fca187da0b6b3e3bd4a83357be4dd6c9d06c32a26b0
*7df817c1e3df0ef6806e307e99c894dfe5c2e769b07528576a7c8720744b83c800ad1ba48c896a
*57091fd30fb2c139291cd4a9a87dcb4033857346a384247934f46049dff191b731e51051a25975
*88688dcbb5eab77c167ab0b0521581b88e1065b5cd8e105d9a415ee23405e616cd23e4792fb1a0
*fbc4794c8273b6601039b00f09b00f0807f89659c157cfae4a8c07f36c689780b79900291e1c62
*b313bcab504443f45e4e8e3180211dcf62c91ca9180c8bd1d32f935f2bfd2315811639f1dab02d
*60892a0ed7d569e682148b4a43cf282c5e8b34d1806ec52e538c7d1b17cd080d34d07c804ff2a0
*6b5ec9f84446496aa965273d8d69d74b37b69ad683b3561ed9685fc222aba8e12ac70648a79fe2
*4f96017387b44863f8d0a65c7dd5be2e02a04692d4c7424b805e4850c94cf114f9b29065b367a1
*9d4aa1052888839a88c5468515e35f342e0bd5a3b8ab5baaaad3387ec82788ec96abba984334c8
*bb213b07155fa04e76a9951f7c8dca1b67b3e228d1366a19151e2cbb4266f8c56d4d8e85c94872
*cffc074673c984f4f5aa67130b597b523b714f70e68a644eb5e286f55eccc140cde21335933426
*62d9a81c2c0f959abeb0a6dc8983c05288e1e0db56cff3ff041780af55f15c627426e309cec66f
*36310ebe1e2eaa5e2fdff0e6963abfa99263542520897dfdaa0e9657d5f1c9e16d11ae6b60d048
*27ae81c117d58f6a6fcb96ce08a18bb5ffefd114dd90f870206bbb1a0c76aecb28ecd2a96fc998
*c2aa07043734c095b1a84b5599446aefeb1988dbe4ead0d356b75e349228d7b7e654d1b90f4269
*53f9f014b7f8f9308c57062c435108bd2b26ca213e86c103f25b9f66defdaefb6b38ff4729f756
*c200349fffafae6fad6f96e3bf3ebabbffb99cdf0dcfffbfbb3b9da482ffdecffef541b8d4c97a
*7dbfb0f799e03c74cec627a4259b921126a524e1055ea052377fe8ced248b4b11fe8661556a46f
*1a455a8d4837a0d066808fcae5a59a22558e9262bc6a7665fc06f3fa007b83ba2096d11d2bdc01
*e4b96dae34a4b0bfaa5b3b52d92cef3fd19505f288a2ee3509a8f28cdb9ab0feeb9e6cc73dbd49
*f6c5df004dd497fd375a624225cfdb52f7d6167df1816f067d788e283929b62bcaf1734622cdad
*6b61ea72d920844e88d4759f301906d37c46c6108255b1b2356dbc66202f82c91b07787bc3dc16
*8a9457e2c34a40d37b78c7688aa15c3f85f1d5922ec4eaa044739d03f7481d4f2afd9ed26caab3
*da9ac3da97388669d67f9ba29d86f782aaaaa1f19c4d3b36e2f3047532f0bb56b0f2c98918a985
*452a3bba350c9c9a0813df098536e88c6db799b2295cb1c98c7a5c3196602ebbfacc025facd2b2
*03caa5a7f8b95a172c4cfefcf20a9bd12c2f958b6ad8ff2920eb6d300073f6ff2dd8fbcbfe1fd6
*b61edeedffcbf839fbffe28efce7ecff9e55c784f75dcc6339e527db9f5d73eac54bd6ab2037d0
*7ac2087c7485467fa73c1dfab707538b1ebacd1558a646a5ba2c47e2549ff53e2ba5ebfc1dfda4
*ebc717bf2dcc57b8d47e1b97ebad8bf1cdf7e26fc92100c9f66829c2ae469bb79e86bd47dfe152
*9e1ed08a5bf97be0ac3da511e849a581bede6828c2b977c9cc008d63dbdc8e65430c4527c259da
*495d06fb18efc625274d443798aac61aad32bccf38a59a0068a379b692a7c29ec77960f63eb241
*fb2f017940b3fe2c8240e078fb2a3dcc03603c8c559e54519d77cc172df11f6b7fd503a0ae3638
*8a1b6537a27c65ea2583a1ea045e3f3cd7110c78d99b3ee87ed03eb8aaab3558ece52ac05f7e75
*20e1a4f0a2e8c2aade6751f0cc7d031b2c7e2d43d5c02a3776acaef483930912a2f46a61093bcf
*3b6d4a6bf7da54b8dd7dae79413587b6e5137183efccc8ff8395cf8627dcfbd8830ee81d9fa517
*3dd4ed3bd738cda4ecda6645fa9bc7b088d34ca3f8dd36abe12f039d17cd45a83d25539672ed6a
*611a7b11900ceabbd230280e954b545954895ed76083d14b3d4caa0540386c6ab946c3a796eb74
*18d577d6e8beb5a2b918131516282f4212e1a4bb1078d2ee31d85e1b7d2030e5e464ec5e5a4ea5
*b73683846f01d18ee1ac40bddddac574d1855541d54b4005fc62ab6d338af2fabdf963e6982a33
*a6b0c3959949c9b225d6b89aa275ab9d9b68b89786558f8af0cad7adabacbea652350d4b021590
*33cd5a1e4ac64f623c8bc9164b0a2f7d77f990343351c44def662131dd3a99bf9cf4e404ecc979
*d4a30336ef34e76acb07f1f692a310ab5f782887cb5f9aef954588be0e9cb29d4a374231ffb2e4
*c557734f84663ddaf672c5a3faad0599bbdf8d7e0df23f4c84db89023c4ffedf5cade8ffb7d6ef
*eeff2de57723fd3fed6db7abc6c47f48c9dface6079ae43c0beaf99b35fd0be9fae76afb1bf5fd
*aa69c7e898acee3a5e7e96ce62d2ee0fa018b9362ba994eff50dacdbeb749f9e06f7fe6ba8690e
*834ba9f68027e0102e51d5017fec9b4291d2c8c05307fea32c91ad8b81026fb328cda0ff9ee00b
*19529f5278e08b0778670ffd64a545914e4c65aa40c77a9695ab57154d6e82aef31275bd5e2165
*d5889ee3aa3516e9d4206eaa33cfb221e5ea9cdaeaee3c2dae46afa8326ad51735e196bdfcd624
*b8040e0b7ae647b441b76530ecff80d8b64b669bf00118a6c051c65738258213babc11c9a63d21
*93a4df0ac513513d5e5e085314669c227919f4b57539b702eb427ea50ec9b81c3a60949485b92d
*ee5609591208e3552760e9b28e74e5d663642b37b723595191ea909d469fc2049dc5e1d845283c
*435754c78eae726ed35f1ebb28f92a631725756347fe632fbd631725d71abb721d6aec229f848c
*b9abf2b184c168d50e9d53540f5de4178bdddceed06111bdd860bf5b8b1188762669db49799dd2
*f587c6992af3a03444fe1a9f2b478bc17349b33a0b5f4f09e58aa99d2c5af3dbe054c244cd77fd
*81da405e761a29a8eb53485913dd545837e12b9dd134ef2b4e5c2c5740b5b599a9afd2fd4b802e
*ed212717b68b7847e6aa5b1e3c70ad6542a71acf431619994d06c8c8a6222b610e15d19a71032a
*825db04a42363e2534d4b2b3000935930f3e749c9aecd1f4b45ca00fb0c934c8c20ffee46db1f7
*97450abf179edfb6f8e9840a7b53e7d67c7052a9b983038dadf217e6e40185a1b3b20c1aa75a5d
*77d9ebf3bca91679d5cbbea956579b59a99ba69a55dabb7297a69add358d53cd0bd75ad6cb53ed
*5bcb60dff2d720ffabcbd45fac049823ffafad6f96fdff3cdcda58bf93ff97f1bb5d817201433d
*7d45ff0f62ac77483ec6833c02b91c19d52c2fd21496c4382267cea899be27d7ce7b6422768f97
*da7bcaedcd33d1e4a8602932bde33cc427d70b29b94ee399327cf82dcc52af006b07272056e432
*165be20316fdd06ae11fdaf12dcb2ccbe780e00cdbc6181feba916e0cfdbca9aff5bcf927fde5f
*c3fa6faec47fe10e30cffefbd1da7a69fddf5a7b74b7fe2fe5e7d5ffaa403f5ed3afefdf23dc77
*bfc5b8017e50108bd3007520394d37ec64db23dc89b20e6757121c56d48a019470808df67eaee2
*8f6a9e384f95d381013585a260e8a895e45dae52bd88f12e6010e74bb256b65c6f2c6ab46c8a58
*de40501b6bde9a3d4e2da07d6df408d460e1ec7316f4d3abddfe1e4ca8163b8ab13d98b8be4748
*78b6dea50d74dd9d3529f5d57944d1429f9dc19cd1bb7e51f4d972b36714c7bd8c51e679c3552a
*9191126bb154ce9e4d72d563be17bca2f77ad063f3bd54818cfc57951ead5c55e1d1f221e5530d
*7acb3a1a422f0025107b8b2b79d84a2493747b58c830fd66eb7fc3febf1b14e12908cac320fe32
*0660cefebf01fb7e79ffdf58dfbcdbff97f173f6ff9f765e9c5c63d3ff46dbbb4597dfed0eef0a
*91b7d941be1dd4ee9105775099417b596408d601a965e1cf710bb8dc4ff8dca17fe9c2103d55dc
*42e668c2adb00a9548b97b68bb961cca2a4f52e7332f4827a98351791b7f9b85f16c148ab36844
*0b60a7dfede1cda0f93b75a5c11e6d79cade4361974bd9ac319fe4ac2ea7f062e9e0bf817d224f
*a4f0ff6c10c1fa9e215f2641b6fbbccb53d79029e0b67cfe5df7186eec9812b89bbb02c1d6777a
*7fd790bc9b3ba7ca0ee497b1b54ff397539db183816f4f8dadbb314ac8e9a61d45ae574d912c62
*a25acd6e73c598ae27b281279ba6e1d2c1cdded51c4a22525b61ef550b98dcd01912a73db96316
*f6a050782ff4879685d32ccc71e2911529dd1e3408b7ca6485b59a4a265a0f51c9d73924b6424c
*ec70c0955c72c9f346cdaa7a1444fac8d20b9966114899cae7f40dfeaf5a661bfad4899c5cce40
*c87a39479da5a32bb1692b1a11708b573c8406f4e1df0125d433823ef6d469879784a3f251314c
*689bfdabc677b6825fd48257a710557ed2776fb00c675286a40944fc13e9a31af83f32755dc2fd
*bf47f0bfcafdbfcdd53bfe6f19bf5bbfff5f0d17dd1358f4cd94a5e96fa614b27c4c7faf5c6343
*e0678fe9201e3d60fc4e3b4e00cdd9f672b84ef635754d86d3b54deba3af75c33cee7078575982
*df3afc07953bfca4acecf02adf8e89eda8b84f7646ef7a31a7cfc7b349473d10ebaa5e2ceef520
*1a532c51a6a3dc14c7923d2eb3b82bf3dbb9385feaac4a12e3ea756fae78bc44b4b9a7307c0050
*ce29b972285268900a94800efd03195d9788a9f3ec19d21e32038974ef9020a503738c0e160edf
*4b96ec9e1378fa5e9f621a486711ec148a639c322c56bb8c7455e8786114e5439878e1c8dce360
*6c4939261f897596cfa414eb742b7ab1a0c47728285e96432676a4e3aa4e97c7557eb6f91bf969
*60150ac4b36715be27283314e43cca8b05f11341196009954085b46b40c04599a3e255f3958013
*cf78f4ee60ef58dc434c38f33d1dde8ecbe2326d6534d3ed9e0a9d643e6166a1b8771568578533
*a6c024309b720a3632889291d470253298858cae9cb240c5001d6f248c3b2954898a76e0cb057a
*ac1319ae29c1ac482730e586141c3860af24eca8996a99a6798e1b52cb421868c81a27e8157ba0
*6010350592b4d0a1bb5aea9b0d27306799c421cb15c916ae6891690b6e4220237ea898199a80ca
*bed6b9a5fb05c7c89866e9a768245dc254bcb44b10e42a58cfe68a93697d639920535cec1c4351
*a9983025cc021995a3126d77927ba365c8194e67e4b860c0a6694261f78dbb0fd52324f26d9bd7
*dfed3599e778b0c0052d2ad1d37857e624ed06ceb26023e05d1a26faecdb328aa2a3f1064f8b81
*d76f5e5d5d5fe21a50ad334a6d6c55d22d2b8e25243f00db0d5f0d107275e704f5ec3cbdff8c4c
*d2a67ea04a8f5e07506ad225c4dac12a2da275fda8443c995c192006581aa432e996c0cbc91b8d
*2940bd8a72839b6c5b1a4d661ceafcf9f8b91d04070318c16af37c2c3e1ce26de04ae100d623f4
*5e6e4f057951f1506d7187eaa6f34d2e278a86c9a07d6bcb5ca53bd11a69ef8ca812aa9919f5fe
*257fa2eb14a50af9a3bfbed3243c4547d012a87ae70aa36466cf0c7ce542f96ca04e5864a2fe54
*ab437071b294095ebce6c4d0ec204149d1232bc376d2fce02fc5fd3e5101b7ba83ef5de110f311
*8a2a7555b889354329faf7c595a903df4a75d481f741fe27d280fceffe35e87fb416e04b7540f3
*f43f6b9be5fb9f5bab1b77fe1f97f2bbc5f88f3df1469b92f0c974ae8588376f4ff6dfbc3e7eff
*d3ab5db1324ed2958b204b56f0702548be95464823feddea832a7e2387691c872c78801ccedd67
*f87f189238900c370903ea30ceba648a70c24f50e18c84a541082c5e7e86227a303c17a3f42251
*3e1cf3749601d0297c0f4e43650c24f6608cafd457864c3a05e6f88d762a4a86784427e530951f
*f9942cc1aa4dc042cef744bedfaf5375d9a1072d7f9939ab21484351c4aa220d6ca70ace40935e
*addb1a2e819ad2d7958dbec1a86a5925719a4d630e506865a1a09915a32af48002c3d95f0c3313
*aba6adbd68d2a702c3d7a8de9cd765edfda468f7e80f3a858647f261491e9d5524c9e79d1f7aab
*dde7cad40c074baaea907975246b39a42324a0ec8aaf0bd1e82ab79e14c21acb65e1c759948544
*6da84da226183260d79ef2d6739a0068f2460a8427b5588585c615d0618e2e13812147c7a50433
*488a0ac5618b31b3402206c105c47e26dbdb5c577c8a5063f1e5d7091efef3871af4850afce280
*82ec314e594bd546d7ab0b0c588d99079423d7cc43e5a0d6261e667a4facb5658e3879e1885073
*e33adc40c1d058e1d22a9a173ee5b6eb9b1723e55af5d568816a0381dc06f03931566ea38a3971
*5416a9424f879e0ca32b5764763f519e5606211372cdb97be8c457f36bd67cfa83ceb3a7dd79b8
*f02c3628d8912b6c14dc3015f3b47b8e1103a41419de667dfaf919deb1b410021eed2c98e69eee
*51f144356d6b93d4a067cc5307256bd5a037a83152458568c77eef39a98e3ec75f95f53cac56db
*1bdeace22f42c37a1ef950ea8d6e03a95b43d17a0efde8f6c2db47b81e7d49db6e60104dcdabe5
*d9f483bf6c2928c882e54b9141d4d2598d08d208ef5bcbb877bffa5f83fec7f262ff35edbfd71e
*ad6f6c54ecbfb7eeecbf97f273f43f7ead8e63bde333ef59dc6d38a6bf0c26111dd07e23eb7143
*d5dfaddec7b503a2a3a2b1ecb5d2d5b07705168a7cd6408ef2679826e318c52c4ac2582196dee4
*9e34a7bed7439025838e9eb8e7886df730de4618e7212dfe7dda2212f696459c11c95ef0aaa53e
*a5f170ef41d331903d18e4655c5e465e8ed1bc450874b0e9b3613297c0308bb1318a867c68a4cd
*8fc81bd7e17bf90c83a19f27f96c6299385967ae650845167c02a133b4a0a8c7c00172909e52a8
*e032802051164f69a63f29d7f8411c97cdf43d20647c13eb4d2197926b76db562a2f560ea2f36a
*3b80d8a085060a7a8f5100238c83edbc589ef3c7916e806a6f4fc6bc29e45b92167b0a5c090d49
*3d6f39bf41270ba761509817eaff50e17a358c4303ed2fb36878be7b160ecf110e4cd2c25c5f00
*44a6ef75f9f7b46abc1f45a8df1bccf4f5fa795715884c685cb863543758dd460389634883467d
*a1bb41f780d514d90ad5d2ee356cd258e5614472ef158ac69b901ee09550349eef6c9fa6353579
*d1375def3124b263fa04a2ad31525a4c529a9ef0fc09e2b63485ef63a8a5296c69f21e0ba64add
*39de24a0651063b7fb0cd9e4aaf59cad5a848301461b329571363d79c9cdb34610650b7bcef391
*6a0747500cd9e5f3808c8be44ba76b41da3621c6c909af5dad6df86f4a28a7d3d6158504ba1055
*cb2af452807b055a04691793f56dc6b0e6d05c0d5fb61517a6459a496df2b4959a4940b605454e
*372b9fd52aca60ee5be0151d98091c48ca3d0891d6843d19cd0a069bccca7842b54bad6a67ba43
*792477e282db255ab8cc7a1a16d3a10537ac47feb8ff4770ab4c33d1753715df1699336250da6e
*15e531adba36912b43ce2fa770f656e26eee8894d3590e01cafe620c6497d17a56ed33691154a6
*f6894ded685727cb7b285d5ad2d9f75b286be906ce35c8bba6c15e926713574deef39a58a674d5
*ce89a4f4434deacc26b8647ef835e8bc4ae8da1691b34dbcc4ee6867275e529fa02b431fa96b33
*2c7bd0be90de39aadbd75ccf4d07515d6acc890fa2fe319653564f5528dba26b5dda43d6b4213a
*c3cf592d02407e5f373350837f4fe604321ea4b0d96a760171b4102be1f5cbe0578319bc58e5b6
*35b767df78d3c93583967db3112bd37369b8eac7aa27491868d99aae3c4c1522f60d90efda1f9a
*cb5a1d4066b231b2c8b26d18af00ba2cef8be3ca58aa4e6c49aeba3a823c5c8cf6af2a9b42d5d9
*fb39e95a83a544420ef1a8223b8e05499aed1fd3349ebf98ecc48af3c155b5b28ce80e4768a6cf
*f18d0a54774987a3c12ccb6f5272259b046db8568b2047a5412078590d821c0b2c82259a1a2237
*4cf32a157918e20938669104261b39098ae1195b6ccca4c9f614506121678145cfb41a6137ae25
*dcf215772cafbc9bb7db7acc753bcde7c01fb7d97c43c700fbdacd8732bee697a81972f99b4f1b
*fd2736984725fa4006a12b75c5fca550efeade4dfd357c940de91ad2e50f2ddf4e5edac4ebf770
*0c544bc84bf9149127f310d91a6663aed31429bfcbe628b0d76b922a556e96846d374d65b55678
*12ff0dcdb56130da56736893b3c89428902da00c0d1275b650c0f7ac241f5dcc0d8519c2a292db
*44077dd1d9deeeda3853a207e1090e069ecdca20c21584d0362749f1ea516d735a52bf7033b455
*e14bc01d2bea33ae9736f62acf224c613e1be461a13d32b01be25cdea7b790661d4aeda25dbe3d
*5e3ba9270a92c51d39f1a7c6d0b4cf908a0d24b3700e7f80bfcf22c5eb7417511e1acf853623c1
*904db36195482fa031a3888dac3c4c9f2c33b8e21b4074c6a8451de97f01169741c89ebdd0744f
*3b0bc31e4b67c57456b48ca66df12ea2ab4f49b724d8b8dd95081bf4987b0d065d7562b5f994d1
*ea024f9bdb9cd3e1295f46595e98a08ba8210be2f4349de13546d1d6a123fba842acae31a66e5e
*63189c641d23e65f165df7d9fdb19a095c7cdb6e9d82ef36de6168768c04679a6d1aa1357bcc56
*3a5e46d4fd30b1330aa6a86827d619c13e3d2b8ae993070f82d9e92c2ff2bc3f801ecaa7698187
*100fd657571f3f587df4204ef36205d8ab15929257a2f14ab44277e956d6561faf4449ffac98c4
*cf5a1a851257ad4f8493aef65391f0cc31452e57c5d52aab8a3fe3d353b1aa6704ea59c32c43b7
*a974bb03952a71989c1667f74c81ed6dab44ab3ab9c65c05a598b9a9e6e795d0af5c140d5ee9f2
*c3182f5718a38fcbaee85c890f1f6769f141ac774ba5ae108d352875594ab03139ad4204902b62
*ad6be05a004e09bddf6a11f480b31014bfd5a268152a67ba36ba4e96df9c9dc78cf1c2c44cbae9
*2642860925c64114d3ea1566133c9461535872b723f93c0cd182aff2c0badf22b87e57b332ed12
*ef0b5de66d693a864ff86eb73f6f2f3c23c3a0f80aad60c034c9c2ca1a1c4a5f3532d325a3af5a
*036f783f183ec373ab35f778822a814ddc58ddc1d38e6e4ad3e44ef4063fbf16dcfc79ce6e5be4
*3241aafa01ef1c6dbb9f6d5ab3bfdf39fd5dcaafc1fec3d2e77f55ff7f8f56371e55ec3f36efe2
*bf2de577e7ffe5bbb5fb700c3d943547d5e90b3af7985aee00daf256707b49ee7bed63bf5b7206
*e3c920bd9c70aa3e04ede8a79e7d36aa5cc4ecc44507feebf1299cfe3a9d76e03ffa3a9ddaee64
*cce12a7ebb868b97afe3c3a512ee5e722af64137ddbd021a28bb747148c275ec72bfdeb18b39e8
*fd8ace5d34f614e7dbbcfdee9c6ff32df8b29717e78cd9b649b5807aed524d7a877c1a28272be6
*bb6d0d6ebe0edcb281b85f72fc52c1c80aa18b9e0b6a10d31e60cac01decb40b98b90855da627c
*c154723bd5fc31bcb6386461f530396e71ba1846c02630696d807fadcf259865272eae9185e529
*47276867390688c75f8e95dd7299e316d1931acd106c273196d5c157701353de35c6d299c88dbc
*c638a87e2dbf315009995e6cd3d3efd2b44205485fdc5986d5ec9e85784fbbf17666b76dfae1f8
*96626cea6fb9303e98cdf12505ef03d9848ebc6bd2b517b88eb39eccf12ee341821dcbd0ecae71
*2bb3e3f3d55159c5b41b17aac3e7c105eb68eaa9d23ae8c155f99b8214a7075c739b39ae5b14dc
*1b786d712680f6dd025f3dbe5b0c88b21317c82f9db8e013d3e5747a73272ed7a24f4b335735bf
*b27cbb70a3bcd45aa615d7b38b975a8c67976aa5c6bf4bb54ee3df859c13d5b977d96972efb2b3
*987b972a62ae93972a72921aa93be6bb78a9c2af387a71aa304e5ea47b97a77f4245558387174f
*0b2a7e5edc2ab48f17e9dda55c4533741fe03b1dcc3ffbaf41ffa30f441e7c611da4e479f8b04e
*ff43cf25ffbf9b8f56ff453cbc9516cef9fd2fd7ff2c34fe2fb3f04b5480f3f47feb5b0fcbfabf
*476b8feef47fcbf8cdbdff25aa0a3d51170fc473e74b34eb0af72ea31cade4a220fecb2c80bf63
*da94d2e4bbb82ba667401f67c01f506d789bfde5d3fd953aa856fbe75ea3ea2d12e02b444920b9
*d2256f14cfcbf586bcf0d516a5f0ba66e42f1d77aee2f8a4e6de19dd79abbd35a362858518395b
*1ea8812cb94b0a21fe2c8fc6659e0fc7a4f3297f4563ee528177a47d922f7bd6213b88e968ac36
*ecd7193fb218660f8c185a7cf2de47f60981b6425ca3cd620778f8471124fad26c95bee8b781cc
*f5604eaeba60e1be1a9f56603df5d4f8ac92eb9927d753c85482253cb02ab99e79725901bdddcc
*5630705f8bb5b78d4a5bb544b7e791e5deba4e45943014f8004949e81d8940f88194570495f42f
*16f5504a404d38968f5c844ea607b2902c3230295c64573d7a83a1015ad530687a02505cf4b199
*1032c3a09c9be704e79641c3d5474f6e9e2ba5dcfcd15b01774557b590741d26c37bdd7e3324aa
*a43b85bab6152924db73ca44a6737a44e961de55429b0495bcd273a9cc2c0950f6a37806a47e2e
*787d3937ededc814ad89963de9e42707e39849953a37042efbb239bf5b0b77a755426345c9dc9b
*98fa5e58c9a673dd4e9570b695553f5dbe945d7c8eb65b3e273ba59e9bc840c4d69c92118c4b33
*4aed1915c2d546840eed32e663473968b20e3c453521cba23ad101e12daaa9bab1687ded8aca4d
*978fd596a4722952b77e8efd9605ad4af9877d936c53bec9e659a548f946fb924edc967462cfa4
*ba5ee773153be7c05bb6d4ed76b23e65a92b5beaf752598a983d0f836ad7cfdc85c6e49e37040e
*dc79cb0f1650a54e525265567a92e0ab7674ea7ab5eb01e374aaec1a99eceb54aba4d3a595920d
*5daa60943b543642d51958f9df4342a54b397f196ab93b5dccdceec4c89d3ec29c544853e61c58
*155a859d4e9c70853239c0e11868485d4f69a723270dd469902843297765b9014e7e0f754e9cae
*5450cb5de9b66cf8cf157eeb9bff16d2ff1cfcfdd1e3afa8ff4163af92fee7e1e65dfcf7a5fc1c
*fd8fad72f9be62be1a4503d2e277ab8929396c06511f6355d28dd720c658a8c5d984ed6250ca0e
*06e9ac4090711a51d82934a04946c0fa5cf5c5cf781e8967e957e86110800509d59ee4786463a2
*bfd331bb2a5848afcd3d8cfa3e09c8bff300da8427eb291db487566ccdbcc86643100c82d8aa99
*8ff5d1572f47d9ec8b3676799bcf4387a64584936a14971aa5402079da2343236c1bfb0156b738
*46117b09ceaea4b3a0693a9dc54161fc04abfb7d74a14cda7f58973903412a11e2fc66498c4e5f
*f0262082c8a875593886d1c4e111077fff99dd1db33bc933f40b105ee0f91f89d7510e6302e845
*99bc52349ab1cbbf64988e648f17e45d1bd2c2208329814567e8bf1a8a23fc478ffae238423ef5
*22c4314ddad0fd40a2b2b94073149b14210d000abbacc4961dfcfdf8d846155d79a3136455378b
*76741310a1a3d3e36106bdc138c18802a4f315ba33c042200d4d121622865c7d71db8abf66cd1f
*524783e19fc783d201f0a461bcf2f7e89350457b82e6b5cef22294c3c089237cb5dcf4ec254e32
*755ce8bcec7dbc86531f06ffde01534d9020cb2ac89296ef18489e3c52a043e3f0a3ebcb58a575
*e0a9d7f9fcacdbadd315822c84cac160eaaa07e17307fea92bc62aa49c9c22dd8eba9335912b32
*8c1c8db55e03d008ccdcc1d38e5bd9d139cc1a6552e6dce933b63d52c179929e871c474b3de19e
*f4eef5db9dddffa4b862ff8aae2fe75851b0f94730c685c05c1b53ba242d5072586739cb707d4c
*529833e8b61697a34994441358d72bba2846acaa8c5208e375099989ad5d12631e425d86ada307
*320fa1a7274fc42fb2fcaf8d5622d03492e15e447c0dd6beee0264046cb649dec62f7d6c7f1c16
*a90ed8e395a819b11a895a256e3b0211893a947499779584d3a6cf0687cbdca3cda342950e949d
*d2e7f70e7fed62786aee249f7aa50c492b0e8c9aa76fcb323a979341fa5120b14cb6c27f050744
*a59567e8087645de87a12e27e70c7af4e8ca91848232e37bf1cbafd83b2dab7f72452d4371f1e4
*827bcf52bee89c9f4427179f9f894f3030b93017dccc8db14f7294a364145e02dc0b0b8cd20d0c
*9539146f962b2890c1be1fa1b9ae76a0a067227703af75d80d9264b18dc1afeabbf63dc180d1d5
*02720fc89660fe15b52a600d15bf206848154cdb56f8879e8a1140d6cb7a98612b04baef03c927
*0a1bade2ff85bb9ab153193409f17b1b97cc3e2bc2d7c4aa82d37600d12a2a47af4b8e7501acfb
*47d6a5c758c3790fff9b8a5f8638c0bfa8119d9af411dd82ed0c9f0c698c611a8a422f0e90138d
*ae8701f00688679ca6e7b329641841c36914fe0303b0434721cdd910db62c83bd6eb14a3299c62
*06580d7426dc148022d03053a03ddca80b74341b0e713aad62591b7f499fbffc7ac3b1242f278b
*0ce5de473d927b1f7108d4f1906f2821ad34987b1fdb88a9358ef8c506a346b107c3d6fd75e161
*4430cd038939161e4aba21b8c0586aa0cda389d93a9da237ee3ea91946857f79202d4667ca8cce
*d513c93be94e15146dbdcaddf8a69ab9f1e766a5bb87126e477fa3ab7d97f93570a121f762e325
*971a7420970721faaa50fad652f6f7fb5b48ff7374b0f7253700e7e87fb61e3d5c2feb7f36b7ee
*e2bf2fe5775dfd4fad3b68ebce60c55ee85beb8c807eef5446cb54191dcd12e9d4c151a80c01a1
*510a15d21d1414bc44364b48b5138dd00a0c9d1a47c974562c256e934b200b6a307a023277e03f
*8a210f7fd50542687307feeb5655165e050589e8d7d641e852b7aa85e8759e7eeef6fe1a851707
*9d7e9f9f8ee80983b3f43ec16b4cff66dd8515071555c362d650d203f882372159d2452292ea43
*8ab606b4cac4d7670d0352234ae0fcd7a35df008ac98b72af0330412f7f1510bfb155b0db7386b
*e90c0a6be6d697c55e5f537dc25752a0e92bf64c83bab1cde6b62550a8bc36854fbf4ba295b72b
*099dd2154bd5036327c63481a984971e4bb05e091e2795478027b8961e422258a388d0a9beb37d
*63ca8014a02a2d7984c1247be0ccf93945b34522d47e273ee0601a41d8c559f564a35c9c04ecd0
*665ce0f2c9bb0d0f4ca68418e5f1b1c4dd227860e7033b17b1f79c607fee044f02924930a9a3a8
*ebc320846515da1060e0677eb1ebe13eb0a422faf06b2bb38e64350ca8b9fc03412383dccf4d67
*eadc9dc1930120f45959f8516eced6497e58b3720ef25605b0f573bdd564b04172eb060e842f97
*766ac6a046c2a0dcf3859e3749289268186a7478632c4f51dcb6f13822925728811c7163847d17
*e5ee192e1f13e99e3fbe627fc6e428cc6366a923f2001da062ca6f0f2853fbc61404bfc496de08
*dfd18525adf1941266a7d0d7b4f28bac34a33a3148e18a9e265d9d9b08632012f1e4a9c8da6577
*4a863414e1229ccf0a4e67f243d2ed8a67bea2862654d198329a7c645b70a431792ff3653ac37b
*9d46590f6486d8d3a9966da4b75fa57924af7baebeb5cfe46adb39128c0c272be90a548f4a1d81
*fa393de774965c193af66c7afab9d249f5d3c805b046e90840b80064b7787e0a80342254eb8dbc
*a24e16a0d4c8b84bdb8c6e261252a9998670b0b1be661a92187063afdbcc58189aa2c67a9a7974
*bd665acac8668f8843050469467b88d32b91da28fcca970540df401fc375d6eb401ae47f390fbe
*f4f6d78dee7fad61fcefbbfb5f5fffb7c0f8a353c32f72003547ffb3beb656f1ffb4b97a17ff7d
*29bf65c6fffa467a2049c77d0a34f4bdaa81bedd1d2ea77bb0ad0bf86fc2bcf24bc77aee49bb1f
*f9eabfb235ef32951dc999f8fc7dcba5c3f3e1f3957bb2d4bd1e3b6d9860d273740060a182e7b7
*5656f63142d1cd25afadfce57e4429023d7187186803aad06548493553663c76487686d69e7020
*dcb6e5a4c4c2804c55b79d2fbf0bb78370db1fbad277a7ea89573bd2a8b6106aa8f0a5f4a75fae
*a9b90a1dd277e2adc5962928635d3577072d7fb4df02fbffee59907dd5fd7f6b63b3e2fff1e1da
*ddfebf8cdf02fbff1f76c347c2bddbf06b377cea9e05377ccceb7e89924f411c8d34100e60ad5f
*afbbebff9ce2055efcf7b1b25d7a6b9c994dc2e1599044f984f6643c887a77f2f2b1f12e86aad6
*908049b404e4c7432b34a28544f48a050527a811d5ae975b43245cbdbd22ea6c556735d6d96055
*0371dba6bfec9dd949da969e83f0a3d54564ee47ad93e662e574f6e55c542df63a0e363d17b936
*eddeceb7cea4879f0dd6762d03541474dc2fbd528eeec29597dfebb0e951d2cd31ba450c2b1f9a
*70ee71faed21ded4101b835ff0e5d7a530534dfe9fa53b832f5600dd40ffb3fee84effb394df22
*e37f3c3bfd220e700effb7b6f1b072ffebd1dac33bfe6f19bfdb653716f1c32da9aa4f54f5ddb2
*6725b39ce32bc837a4183d88b6c70db7c58cd801d7f3e688eb95e0e8e570d19d1fba5d2743635f
*2ec3ddb75367c3c51fed0d87b94368c85cc6b0ec40c7db19b0658ea3cb586c891f44ab059ffc31
*40247386e9dab9ef9d7aa2f26b58ff5d6fb35fc0055c7fffdf7ab8f1f06eff5fc66ff1f1bf3917
*306fff7ff8b0e4ff6f1d28e0cefe7729bfdbdd3016d8ff5daafa27e4024a6ed7e504bb75aea0d7
*b9dfc019d4f4f212f8036fcd7399042b9fd73ba00b55b114f7176729640573bbaa96f5b86fb11e
*8fc47de03cee33e7e1fa64cf900321cd10ff43d9b6d901fbf7c87e34acff07e1251a647f1bfb8f
*f53bf97f29bf05c61fd596f9d7bbffb3b6befa68a3c2ffddedffcbf9dd30fe57f54ca8c9cb2f96
*8fe330463b5abce0d22bdd347af329cce2341885a3e302dd67c027af2be26f739c24e7011d51e4
*df2dabe2394ff274ac0a278657272653c8390a277c375c05bd2cf07a6bf49bbcb56d5d4fa0c833
*18e9314a8605b23dc0d4f025a3d103bccd036dc9f515614c5e9906193b89703423c170389b90db
*975ca027952888090eecad6936613cf89a13d7813e5cc8ce63308b62789f4df1563b5dc2659f2a
*4b8a73e690c1fc4867e6788d7c9030f148eb19eb399b25f6ebbb249f06c370d481efea59dd28a2
*ee403768962715ec74e540c57a86d2f6ebbb04474702a5470593464dc3f432524c39ce273abee8
*44f931e2d72d7928a1e8c813fc7342de6bbb0d4780dc498bdc1e9a1b13cd3a3f699b20d8145208
*888e5ce690190fe66bcf23ec9e1887e148ce015942030f83e119751c05509b6509df3262ba4093
*9fddb359728e57f2b12b262503e6cfe2383c25b73f3a83f865f26b29bbf104527271f259ec59d7
*f138f4fc48ce142d48b40917132ebba5a80c19568527de0099fc6a923a8cf684f5657af830b0b3
*cea2508fa17c56ce188b1f7e80eff88ff535abfa2e9ed85717243ade8b0b1223736f813fd83717
*f84b667add4e941668d552ba1d6d6c0839d4906362e78adb6860c593d86979b5feb60503b374ec
*3cca56bf0e868d4dbb0cab53e9510736e288e9f0276b7b1c3c9b536de78bafdbc9a26b88319478
*62631c74d331e4cda0c379ba5dbc1f648d8ba66dfbf68e1c10b7a0e7a219a352bd6c67d1a30425
*53265d279f42712226391f891bac7509f3985bcfedfaa3e46ed912c0d765f6712e19e197bacb4d
*77baad69a8f6735e74bd75e22c97c9a5bb67b7b80ad2be70bd55d05c39a4ad8756427e32adf02c
*6b3d5e085418acee356858d653a1e1f6ff4ddabaf23f794918b354a8584e0053721e05cfa3180f
*82158aa9c1f28b29c753773de5f8f61466e8cc9e4200dd3d85eb408f4172c4cd9e22479eff5ce2
*9cd4bbc8e5a2e48a7779a7b9405610c30c6a931e8de2e04a7c908bd5074d7d8a6d2202d42fbf0b
*8ba3429431345b5358366ee675c8d1543c77559db7746a508aea6a0c452ae64a3548b896463a4f
*dfb1e2aaaecc3a637571d649975d07df317cf0dc87f64032feeb39c96ea20a75e72ba7dc116cdb
*23bae0a4f0f7ce17aca8168902fdd194b10891586d4987fc2cc9905fbe1215ca5aeb9645df82a7
*0add80dc3cb595a98db3cc2736cee7a3354e91a42651ada5b43218436894524367e55225322b17
*6da6324fa7d413d9bb8285780ac14a5174535d3b33f652aa5682739aa121591e8dc2154c6737a7
*b304c0ac2450903eaa738796961a3d770c5550176c045bc6b941144b5f92ca97b4ab0fdce982e2
*2f9d492fe9a5dd5fad6a73a2b05f3a973d8bf4af7abfe175f14bf17445e4c3208975a8925cc439
*a4742807a466b9f8d5eac64e9cf7b29ceff1ff164d45c70827c63300da7f76bb0b74afa3b4f074
*2fa657ba97981ed5bd5a805e6ef79a6abf7ef7caadbcd2bddf5a7579f7bb85df02faff63f20ff4
*36cd239c3e37380898a3ff5fddda582b9fff6f6eded9ff2de57743fd7f45b1fc8d75f32e8dfe93
*28e9f793217b27274720a310449f09ee3d713a942e8022f472c0febbc4388ad1c17196ce4ecf28
*4b6cabd4111e5d7f0cc89708992e180f4359c8ae47f42900ed71ff2695efa46bd79592aff633ae
*4cd60a600721eea1e414142d243e8580f16c3a42e7ee28a619bfe851cef729d1cf511c9a9e5237
*0b51fbef5cb654c6102750db291f32a1b7b080fca7a47441534125c7ece4275e418bcad0d0f918
*39540fa84bb0b451a601b86916d23e09a5706128de8c5f4618ff9bec354c834dc72ec351590d95
*2f7e04d113c8b99c0403f9e602eac0438f76f9de6e1acf2649de83ac5d272f263b1f38a7fc9497
*f3e49e3ca63bd51710733c4d9a17e3919415f9821120bfe8d0c13eff801f4975a63b804942df61
*d6576eaffcae254875fa0584a9cebbaa675df573ba6fdd5d461f7b697c3549b3e9593424cd1b90
*e479948cc8879e051569fc02bdfb014d4fe432a6bc07a2e6cea980ce2fdc91603ad71a8a6d58c9
*72fe56f69f6675c8bf3add0068ff173a8d0f06397c2828a203c3a626aa95e33c492f80f585f528
*48c8a759c62637ff466bd02882b5892c6bd065d220c4533ff84723f659ea9e16c64a0846ece7b0
*0d407302984e425810a0e2e03494b1f2f2be55859c15359518c0e6675541a11da81eb33c61d3ec
*0a60ba3503af6b03f40a54011d374bce60ad8ef14e3bc042556e087486ab56bf74a0447a05d230
*ec7d5432d22e3b9e226a5294a8e270e0ca81933719e1e689cea1090790e44f13aeae2517171481
*8cff65fdf512a8e752fc203a8fc58ae85caea03b3058b43e88c7bed380121996b401803f11a288
*396819be744ed1e55c2ca36cc9c08b52f328b3e917278b1a56caa25f9c2c8cff15f9f7e7478fca
*a11665d63c8cd5ec116be8f9afdce2bf6380c1fa56cbf88315ddaf2c4d310beb4bcb5885cafedd
*1437da0acfbc5f446f618ef17dab5a355ee99c6acc999f1c8755be43a946fbbdb54d2b6df34877
*6c2706fac2f305a7ccd03ea793604d99185d1dfc20e451b8af8c1c71b3fc611945d554f8b20bff
*5c3104456375984a31dac154d3650da62addc6d457c6c65497a9c55493bab7566b0cec6a7d854c
*b5727ea8aa58bd885fde53a84e5f8f685427b2330cb41ab43843e7ca20e52b42dfdae2aa6d15d1
*5d81652fdbd417f250d64412352060a3321b1fbcd4e9fde61175f5340a57002ba5684b1c57e17f
*26e13dd7ac1acfee42f79311f9a864c5f305ec9da7494a2caeefc6b3be238d463878d7daa7cff5
*e24f68f0b61047e3c2c3abb822071d1c06ccde91b58f0bb42daf6c03ce98bd65b181ec8414636a
*94d070326d4b9f7a8c92d2dcd57352d8f2e12ccb50aee1bdaa27285692e496801d09657c02643d
*60cb3c0dd55e67b5ab65b3b088691949449c6d361c86d829469b154e01da62e8646f58cac174d1
*90037d19ca380137ea0362a392d96400031e8d7558ad96e1d917691df1f65611d93258ee34deb1
*9d5e8f35bb9196ec04234e2412589ca21c07c530b6aa92820767b94b213d31cbee2985337bdb23
*78b495bfbf7b2bf7dc85c09ecfde720e3f3246638c7b4feee11fcccd4631f687612da4f7a4751d
*515cb0a55d555b40ff87cbc8171981dfc0fe7b0bfdbfdcd97f7ffddfa2e34f01d9c2af71ff6b7d
*7d63ab6cfffde8cefe7b49bf1be97fbfb1b21709b22f09f28fa4ea557a5de2cb94b77660f8c85f
*abc5be490f75c4b98dc4007651dc20b141ac901d04c3737aeb21b43c5291ed886b425686343cd2
*620b3ddec518c0f20aa4c0ec3c1cf55995a4d552963db6df0c9b9809835d16ca300f801b62c332
*a1f265ed6a9c75f42fdb8a42050a0424fe1bf986c0b22a734dc5913f43cb407824d40a5269117f
*3b4a15339a88b66558d046cd4820c83003aa86ce2063d8c76d1546b450d0462906ec4474213fb3
*d03430baa94af1bc93b38299974a1e969cb2e58812b5010de5305b3811b3a90af5c95c386ee999
*0ec96175445fec69053c3a8c5f29d2152663ea567cc24fec4b3e0b3e41e707318702a17147053a
*8653c85369582fe2e0b72bd1fef1aa0899036a9748492bfc81180657046588266ea4ba2f989397
*0114e87bde93f4560ccf544c450b130a4080b48680a4bff9bc88acccc85be3709d8668dca43af4
*c7701868b57dc23d47f1602d270a582f3049b3782415720cef1239c83c98a09a2e87a509c165e1
*294c8638cc2990889c29a84fd4f344c89b0814e3647896a63961c5ddc20aba16872749138a4142
*842023cc4e5218df57417e1ec6b12d52e58a8e2f224818c4519e8f67b10405932a9c428fc63120
*178b20a66069a4c7a4b027ca11bc0c6b6b684ee8d30e3cd21816333afb194797e4076b9a161826
*0520b2ef2a289c87c0e8e39a03f5237d47529f99c35a1764519a3f91109f9e15c5f4c98307d32c
*bd0807231089e2748acbd7204e4f718d7b8071e0e0fdc1203a5dc1b13d0b66f1ca7f079f829559
*315e79bc42241f16cf24c0d73f3e112f66217624473dc03195eacd9c14cfc8f09f33d5c03a4a69
*a8a9040637cad17ecf58f4213c9e64c1158cf2593480917afea693fcd77af73990c659f0298211
*55374accc806d49d14778ee770aea29b2048c626c84eb504045f0657855a0730a40ef464349104
*2845448d6d6531b8cd1daff1a8c7dee3ae73d9a447246aae81e8375b8e71ce377ec408c79dfc0c
*64fd835ea7ff678cfad2ffdcef761bfcb3cdbd9531eff4a57abc291d959b3978f47277636bfddf
*b13d2b8f69dde40d88ca02413eb637258a8f54f05cddb413903cf0380a1526b8d4f06c872505cf
*4360c304611385cf0da901a08d1eddc4d1da061fa24c0532c2f9887b39538a3e8dc5a3c229ccb3
*2ca26ae2107a134f3b43b521e24a9c638ba05e495f1c8e73865dc6672faf40f47bb5aa0e043e8b
*57ebefd72a0702d4f9c2cab45197c9c9b35e03a892757301709bd701b7d1985595a0f364b2e002
*8e4ac515ae99853d666d06617181072aab978f5769a758bd1c8cf512820395c1fa9161a0713978
*b8b1e185b7688c6cd0b9aa82577258a766c81ec9a01b1a10ac940318f22b3c4d4e72a4203a6de1
*55097146650d463b004690d81e5c76e4108f03563101195db991ae987120e2c09891823699b5d5
*4bfaf169e2095a74b1b740ea9e63767e9c4b1371e54a00699877051929dddb63880d6f969844d3
*0c9b4f9b046e58d66ce9a9cb76869584e9885bb7c9449b935d3b2df67a596d181fa274da40d122
*f618a04cc4bfbe726e477d868f27d4e4713ccbcfc8ec9bf446f694a6d3c3333cc5c2252d318754
*663b8972e4edfc6810e457ca87a363dafa8a7d33ca1c9d57ab5d73f2a23fe2d4244b54dbccf597
*cb5f4d8e8d0572acab6325374fefcacab53917cee6827036484bfe9b2f5fefb75fed0eb73a91a8
*89a19c78bbcb716829f33915b45a181da4a1af792180870e1939d237a610137099df25a457ab62
*28ce95d7cdcff0f29487771bbe76ec88ca8335d4c8c94555651c7a323a1d32fcb55226e4321339
*f4c3ae933a36a91b9ed4873a75d34eb56dfd174087dbaeea17230429218dc4b36dee813fff195e
*ea1a3958078c4656db6e88c1868581988bc24492fa509dd77c41bdb201e16235bb8ddfc0b218c4
*fbfacdef8d5c4436afdd019b37ec806acdd7eb82899cf9dcf4ebd7de0bcbf5eb6e1cdf641036b9
*349ed5df64187a616fcc08b526208ca99bac8f9d6504cd0e28957defe3d9f51e30fe782e098c2d
*ae2aadd690220e8696b182535c2507742f94d96278d912c0135b003302b87ab931c6586b6bde25
*4ec39d608ea1bb5c698fc17d604e08e69f0c783e24287550697e40b5ebcdd5daf513ed004002f1
*5ebe5a587424121dd5fe8eecc7d5cb3518b19189c3d48414d02ca0b5b1205a367e92b60c86ea43
*238e55645709592052ebda7533c640e720d000795e13691b7b4ddb067ff369b116789af2483605
*a68c73897c5e7b60a2b45a7aa0bd138522499568012609cde4e13ace6420557c198d795abb737c
*9b58a9aeae65c35f8bb73a33b050e1f636efb0a68ec0ad035f42bbf650d72e3e7f160ef7483fd5
*8a70cd6a45d8d08a861a74fb36e7b4cfdb509b025453c77653ff7d5144f0656ca78ced4e68b90d
*1fdb0d1f6fdca4e10bd557ee756edf665d7d8f6f561faed749eee73f75af9f100b59e61e3b93f2
*8793d207c95a720d4331ccc519402eca0e1bac551b57695acbbd1b550e20fc8569472ca09b9e0c
*f38a43088bcf2471729897e3e6d9bf5f88e13e0344981faccdd8193d19e5928ffe93e400ebf01e
*d5e03dbe3e521b8d48fd32b273124e4d0d089f845613d4d251d388b0ae110fafdd88cd851b21d9
*32cf4aa433c30e6365578d686ef6f8c9d86ab8594a6a9a3eae34ddde228cf1a05564ae44e7e4e6
*50bb195d03230379e73a27bcb196beabeba2689bf592df8999a141d74c5f7e0e646994f672600c
*df977a0899c53f55261e97d152128ce67b31b5ca4ccd94296595334555c4e0e74e180564a3a9be
*0da73e9575e4e4d559793a9432eb59c0e849e4e64f050346ca0d0e82b575cacc9d2faa73b3a94b
*369d2ed96cea92cd127a3a334e299d5d67960896b35b13ea9cac6cce179d530650431fea15a09a
*7b412c4d9f7f21965a42b3f06ca85767efdca8de864be2caea576db61e43df130c6a8d5f4e5c9b
*52e2454fc894d4d8793a598ea5071d542272b6d872d443896ef6213bd6a102b12b6672670c310b
*e02b55665632fad5618bade79d6332e57bdf75b0a510dd794dd5270877dbae04a45cca667709fe
*ce11431f7e6d9679ebbb5abd3037e4e971ed816268b358165f7242e264edee6169de00f75f7eed
*da2e048e053ade39131f30d707c8a2e706173be35245576aac4e4441e9e5fc4dd8750a1c635409
*d5ee99f3b02eccc6845955b51f90f5a361ca25d6162f488d95c5708ac4781f9a3b0035c3273e48
*c75810fbc38174be26ced7c5f94679ccd7c4190f3ad4d391b4075facd1ef8a33937d5dd108669f
*d4e7db1005e72bd0bdd5993cf2abf85b4042a93a5bc001bd14675d06c06e16240c7d2902bb1307
*a6f0f95f70c19a2b1084f69888599e4b7ab9037940c0defb554655a55432172641d29f9d68f78b
*f5acfaf7eedebafdf3d9fffd94a5b3e997bbfdd5bfebdb7f6e6caeddd97f2ee5573ffe5f1af5c7
*fc9aed3fd1dbef5ad9fe7775e32efee3527eb76bd2d264c44954f54fe6efff14db74dbbefd57ba
*142d07ef6c9f0645d883ca077475c2e3eedfedd4af7915ddaa6981a03fb5fefc098cfc0e2dd5b7
*d3b1a5ea5ab86caef732f882befdb99aa61eae76aef1ee0f4d873cc89e101c718a8c09dd2ce17f
*2815d8fa2899e518fb19217973abb46d712a9bd852f53540d759a098ee8caf34ffebd7ff5d3a90
*a0a0ef5fb80bcc59ff37d61f95d7ffadf58d3bfbffa5fc6e77c598bffe5b54f547d905d8815814
*e6d5f5ff27cffabfd8f2bf8fa6b6230e418f86a7b452c1ebc7591047e3281c55f6097f27a2db13
*5e463a59c86148c2af1d47b83a92d5fdc0acf3e4a8bc9cb92734b626d35f66d1f07cf72c1c9e63
*ec5f1822ec74997d0a1fdeeb32ef8966dea3bbda2c1acc744c98f26e515ef9ad2eaadd2d4ec2bc
*e81b54c8382a3f83e1440bf3985cd9c461c2437b1026091acaedcc4e611dc9f33469a3878ebc78
*42e6c7d2e23a90a97db4b4cea76941d6d640da8f1fac3e7a1043f6952019ad8cd319fc1b8d57a2
*958b2c2ac295b5d5c72b51d23f2b2644a5c12898164c31cc7728037434f29fa2356ac1bb1ada62
*0389a7091078ded26d660f75442b931e11e029fad24938022e89dc096bfe4d91cb5571b5aa2c3d
*e0e9a920db05d191fb1964e8e2f56a7abe5aed9a9c781c281c6f93ae7e66ccb029c5558b8cc958
*ad6417483778afb8ee4b4baabfece2a5ee0f1f6769f141ac774ba5ae108d352875594ab03139ad
*4204902b02fd5428b8168053b6a5ab45d003ce4250fc568ba255a89ce9dae83a597e03de66eefc
*21ead8fb284e7b8a2de9891d6d467b5a2198534d2f893ef89e5fc9a919db6db304709b7e204346
*f7b3dd0cfbfbd59d16e7767e3efeef08d6ca5b54ffdc44ffb3beb679a7ff59c6af76fc99855b86
*fee7e15a25fed343900aeef8ff65fc6e7efff77619cc26c901e9b1cf09dfadccd070ddf700ef76
*5a773a259f2cef4fca7857793889e423e63c0ef16e11ba24834fe401ee2415c1273c53c5eb4629
*c808a189d934e461c19bbda1bad098851f6791ba8554108345b734c9cf06294ef0822f5435b102
*1822b8a902cc7e5b42d1c6fe6f7f6599c21a639f7a0993a52480dd298941aa91eef7951ee9083b
*d84decdf5789d677af56e9485ed195dfb424e6e89c4aa2177f951e4e9e2317731fb998fb7db23f
*c637e0cdee93e5f1f316dfd9ecc8b3f1ac57891dd9d3117288c5322d157838667969861623bf96
*9948d796d79ee77882dcbf8f9ce17de248e94da1767d34ac4e2de3d1e71898131def72e27405b5
*bbcf48d02b236663e1b6b157aeaccbc604ba6e3bf846b9a8f39e547b109d67dbe7e21963841fb7
*d1a01bd1edf1d7a4bb703da5f7d45f6f2ff5d68c9f2b75cbbfe9cd7128bd4feb70ea4d6bb0c284
*5abce4dfe9ede1577aff588f6fef632dc698341767f9f7a313c5a5447365224c3cb3a04c4bfc0e
*b48d46264ce5308d12fadbbd4655e50f694ddd2e3da92ffefa7b22fd723cca1fa6a2163397aacc
*b766ec7a00f2f6b12c7ff8d884b64b5cf6d7c550ef01786e82d5061bfd1249b9d434b78cf59c56
*cbf7d2eb41b09ea73e68bde9cde159cf1ffdb0a153ef24f8efe1572bffa142270c6ee2eebff29b
*23ffad3fda7a5489ffbc7927ff2de57743fffff5d17e97ed1b8a040749ac7f44e9704748e4a59c
*c552611b3fb6fbe842311417e87946c971a22d15a26d765911e524428a88ced3f2ab09e09a4543
*318ac6202292271494f292b4c0e87effad82e090d70174123ea1be42fc87451fa5ccd3b0304e92
*308774c383de5df0bff69b0ceaa6e38f7b66045060ed430afe1766f7d08d3fb7818e2b4289fa9f
*ffdc7ed0fefcb9bd3208d01f11b961b2d4c32b715014302ea28de094d8799b9454953915e934ca
*9c98095f3beaa1876d522fdd393265bd3394da332715434c5501cc877efcddae1bc52f7c16ff68
*0a23a615f9bddd543fdb6c8a14f834548fbdb64e7b19c439a7e94f81a5a6d71f0776a14e27c0fb
*7a832e5af72231c23b3c0d9c788a7cf0e041e254db51e8c43e41e9db7d61b7c715693d20d3c401
*7792cdaa6d2a6046e7b52d920db06a45910529f775186494476366fc07e3749b934711bfb7b8fd
*b9ea969848c1d35ab20137c81bdeab76ffa7097d1bdadff9f67febebe5fd7f7373f3d1ddfebf8c
*dfed2eaf73376aa4aa3fe02efdd57721ea17ff16c45b2b2e17723352cb43f3ae63156ba948247a
*57257f42e8334d2e1fe8be07dd4cb6dd7593ddf0699f7c54136dda42b4696d6c9bed5be9b3db18
*72a0dd57fabdea7a17f4aaeb644052a25ef7823bd97059bfdaf51f830bbe9e4d9621ff6d6d6dde
*c97fdfe8374ffe539fd0d35f7859fc61244249be7fc0bd0616ea8b0c9969193521569687288be1
*7a4c0e2b73f28d662fe06d682e2fec5292a463c39fcf5276a3db5330002c4a16c00f4ad10f0d97
*06a12840ca344e5e67c5d9bf2e63e393e334e7cc4fe6eac8bf247dc9e7af287c29dc02e09cd5f3
*ef56d5287b0565c18b842ec471aecc25419bcbb2ba3eef7d5994b8c9060b0883cde6d455fc6dbc
*2ee0032c0d43fd70d1781d8b4a237c236259c6f83e645dc9ca0f9c852b1b630e7b424c03567a9f
*234fc9487c02d690d9849c58e7614f003781296d6036b40b4672a08cba04a4e03c8cc71ed42a6c
*85859c277b953569ceafd99379604b596a3a52896caa87fc3d290537ab2b5bb7ca1cd5cb7fb776
*fd6baefcb7b1be5596ffb636eef6ffa5fc6e777d9f2ffffd535dffe2c8b75fe9f617ac910b5d01
*73faf5eb0baa732e80b9db43ed35308f60db74d3cb0bb541e2fdd6b3ea8ff36bb6ff0cb29d0cc8
*19e65534bcf95e3067fd7fb8ba5ebefff5686deb6efd5fcacf91ff8e82e4fc354a7596e037ff2c
*f078984ec3117efa6b9045b87ec2c73de45a919a5e84c318c1c983a7207e410196c36418613e2c
*f666ca6177bf9d5da94de79edda9b233f5c49b383c15ff1901277a957e22b16cf76c969cae0ccf
*a2f04c1c9f01530b1937595956fa5d735f736a7f5adee59edd8aec093b0c8d22c986f0c642c788
*c78e84a1540dd2d7be5d56332a8df22164ef805c067fbad2f624c8e486335337c8705f5677580e
*ad94c544c7a3701c8744c1463eec04e2c32106b2cdd1f2ec906543f8a0e442025f110ed1a521e9
*46259e0225f6cff02f3a3eb30534c61181711a548c4ee651c5429775acf2d6ed1c56a506e452cd
*e0671505014f3db74dbc39ab622b795e3512e9525d25203909d0879485e2feaa964156760a2f87
*03859f1cdb69598071b787234aeb09291f29932274a9ea16ee7afbf03ddd36225098af639a8dbd
*0b687888433a0896cd359d0a5c20860dc9fbce0042f285a106c877e185b9ed2343ff3078335670
*ba3023b03062b5d03befb1828baee84444c3e8116cdb5c74cbc2687ca5ab8f44e7ff728182e09a
*0b723c093ae4a359d56d8d520180ab2672351446c365cd33d33f87d0b81fe0df814dd198f70721
*63d7638e155f8e153bc77d5f8efb2a87d48a740e111f37974c9212beadec88dc8c4e12e7cea353
*f403bc2dc22c03a9e2de204bcfc30483d4c07281d14f688129d28b30bb4705820179a85aacc082
*7dabf44edeeed57aa7665d537305255d91b722d61579f4438bd521755c5ed05e9d5645f165b95b
*d0de1616acbcaa71b296c1c54078b450d78661345337a8be54ec5b33a477bfa5fee6dcffbb956b
*a0280f5deffee7e6e6e69dffafa5fce68dffceac48319ee3f085b4272c22ba1d761d6dc01cf97f
*636b73dd1dfff5b54777f2ff727e37bfffe997d9c27e1dc5d41df1a99b9d2ca5bd58c88f07ea46
*51498ada52b567f7788fef7af4827e75a1acf7fa0784a5e0775028184949e605dd52dbe6bf2e17
*a16fdbd977eb140bf6822fbb79d8af17ead1f2a4f1425c3aae2d5f882b91505ee546a13381bf49
*cd45142f6f56c180f9b217f4f7b7304bed9aa561a4532fddebe35b7f09542e6ffad91830ab9659
*b74326cad9c4c4e6e52aa8283eae43d577b946ed81a46b9ee569b0ea1fe4f44a58aa8fdc47ea2d
*71ca698eb05cd64a90e5ad2f6e6f573843a7d935cc2337bc7c016a0e180f035981a319c46a71c3
*3b7a6a2f977087cb2966951b8a0f72067dc0e2f6ab2c288f3e879eb196de8aa9cbf9b9ab1fa4c7
*5de96b97478b32ea6f480cfac5a506e570580da67ce771542f76338cf793cc7685c24d30efd526
*98e883db228ec6c5e13a54693eea279604cfb22839d750ac121d999475f5a3dbcf965d01a268bf
*3292f6972a9ac334a8a46e3b5f33f1eca9f30196b4df5756d8519e5885d456abf3ec29dd01b6d6
*934f21eb1d3a81e5de7fe705ab29f06f573da8bfadce18ab1ab7bb22784e595745d096137d0c6f
*d005411b9698711be56d5e6b775ed0a53cfad3390cae0621d59295950bbcf03acb2d65f3adb6ff
*692fb33b4c393fe0c3020bac43f6653a2fd7a8c97ca8ec2ac953f88e45f543bcfcf08faf2c9035
*da7fdf9213981bf0ff6b77fe7f97f36b1eff932c9d5238e22fb20399c3ff6f6e55fcbf6cad6f6c
*def1ffcbf87d9dfb7fb77b3c84ffd029debc9b057d45af9c77411b93e6d3b885ec4ce61ec135da
*9a2ce97e81e99daa2056127c5816abbfa540ee1a15386221c91446968b28c2bbdc447b3a5f473d
*f44ec3423dfbcd37e7485ce570e3f5221c9e20d1438f765c257df5943ebba7e23bf8ad497c90df
*00fd283954b5543a0f4e686c9f989e09cce76df3f5755a9cd1f52dba97717266df7714cf3b6d10
*4adabdf60fedee73be52f1bc0dbc4f78291d86927d515bc16d3feff319f3cf180af979f05c9c05
*78ec83e7269a35a122b6df1f3259cac21c2f7de622c52b9b14283ad111b41928707d498ea1ada1
*5ee8ea140017aa15ca63515fec1764764c369c2386bd8a5fd0f2290e83bc10614c81de19284695
*567650423c954e32cf609709b2e11908a3f94a3a83761761de1f670f46e9307fb0bafa606dedc1
*c6a3078ffefdc1db172fcdc6341d8d9f991359d3f1767fd3b9ac7e435e9598c5fa23da052f4d22
*2510a38b0f1d53b7cde795079d22854ca641167ef0a46d8bbdbfcc2d568e8625f860e8270e4852
*4d6daef0e0c4adb0f31fb023621b3cc5386d807c7960a50f7c7da2586d7fb76886db592bcc2113
*4c011f5035ab833ab8d25c5627f605a2dc044a4a0e00653190cdb0a2e46d16a5194ef88521f225
*56aba855850ad6a2f35603b6d87558403b323db029560569f180e3402d4d5d576b02ee6f25eb8f
*18ec9f3cd6eb1562545a2545c125e2f050a82ce0a34faed73e0d06b095027a1e94eab3a43a1a64
*dbf0a0aab6b1dadf54d0a3a859b0a4d1d1d8056e85ff6be6ff5f07c52cfb52f67f0effbfbebef9
*a87cff6b0bf2dff1ffcbf839fcff3b603086d128704500c744ef1a37c23cd204a6bf0c2611dd69
*fa16d7c2d84498a9fabb354377edf388b119cb4e83ceb6af8af126cbd7c3b09476ff1df1529b8b
*4e5bb616556b097171f2635b01410634e14c04095779c9fa13fb8917cd8067c39b6372b5e82f47
*5e51e35415575c6904964a2b674f3566a1932490053afdae66ff5fb33d0d7a8a0f462fc2610fbd
*9f5cc0c6d52dcb203b53bd03fa0f841a058aeb3897342e29292fc6f9f3dac8576a556152aa98d6
*dbd6fb72ec06404c299919f9928fe93656f53bde673a2eb29a4b7807b03820037f0c74350cdfa6
*3949264d3931e05b1fc6241d85992f1feb24502e7c9985de86981c47077b4e86e3f0e32c944725
*e81c509290b6b70bc9bba52233955aba97a5a490d73a593d9104f2ba0ad32780c0ee6fb36c288a
*683896eb43f89c03310f65a4c142488ab58aa228e3298a14ed1695345ee2f5aa25d517e4aad4f3
*c06aa6cd6e99bc2b4e5e9b1194a678a254e07e1d706d9587d670c0ae8d5c5b3a95b3af3ef5ad6e
*af18e95d82ec7d49010d98f99386750a0824dcd3268de6e7fae257992f6d5b410c7b206326c82f
*ef6bc09bfede4bbc1d9ecf86b016a9efe4a85477071eb2ae71774c33584874b6d56e436bdcac65
*882b0a6291124609b43791411fea20eaac1624ddcf5c89eefb3d1e283b99d242f88ecb450d6678
*d2fdc1644a9c3227a8b6b0cb99e769d758a54243a68074520b16e19ca49001f2adb69ac7bb5a92
*cab978a57eac26f52da3ea2795d63540d2cf690354d5b08948dd8525f6905c911e057c5103005a
*2fce5c3250f428fb20a9a9b65d9e8766aecb901535135ea65696940f5938a92f4489d532a3e853
*7d194aac96217bf5ba3294582d83381f95f1d303f5b1a79ed479a0f89fcec75e26952abaf0c083
*fe61199b45a1aab2b6a6462a68aae3b6a0e56f490b508533dfb0b7224a2b1a69709755c9a285e3
*2a715a2e84f5b8a9ee798f862ab83077baa5eaea4bf4ef574a54329356371a411fa60530f88a65
*6e446a07386ce95c073b6b55a1669d45bf573ec527cdd8964011cea5383c13d58e89a86d078269
*eec89d38be359c5d50cd38d7a31ccf1bfa9751c68aa35bc2db0bf086d81b58731a7110dc6e1b3c
*f06eda0409aab901e41f523ba7fbf206f8e0dd94ea152c9ac3b4efebe9dbd8a65f825f65f5e499
*1f43514753b9c0f64da0b3c6765830d0abfe7643f16ac9eab23e29b950b7f62d74d3dfbd16be36
*4c2f119580ce6f80815703caa777f63407e435cb63c682cd713d8094117001ce6b8ae5c4c50766
*e166bccde0cbb0f0378582582c887e0590fa401340b391005a257426e2bf9c8807b56d32b09be7
*03c8b1c928bdeeb0789b530274cda9a18acf9f1fa6c88b19b3d6b73a414a40bf64824850b446d9
*2a96851b680add7a33bda0bfa4b10e406af2b1e3fb676e6331fbad37b304f44b1a2841c9d10c43
*a17554de1966f74c18deca0c2b01baee0c93c5a90147077b303e1f2db5c6c7ca92674acadcd76d
*8482e96d4c15e6bcf62870f590a8698e0e5495951faff09a6ccdbafe13ad40e7d76da40bd9dbd4
*2ae4794d7581d6c35b9c9b109d5d9d6372ebd3cc0ffb4b669b0b910676272ec22c91ba6f05c352
*998b716ddb4fb2e05398e5f03cbe5ecb2be0bdcdf7819fd7f80ae446a0d6405bddd0d062c84526
*05d76b6d19b4b7b565d0735b5a865a0b1087d9b2eab7cbd507dcb2da3c45338ac5687bd18afc3d
*50aaa8a60716ada3163c758890c745d6ac09464d23cf6103ae49e816547f93cb501798dc0a603d
*ac5629ff5bf4bc50df34ca83ecfab529bb04dddb442ff4859a690037c374e9db2aba08751f6297
*dd80ba6baa69ea86eb12777d4b6a813369cb0343e1e5a02cc9d13979344458ab9248f0db6e1acf
*26492e2e214d3d97ce3b04c5de33450ea224cc454cd73df8b95a20ee8aa1d17b0052d0202e619e
*0dc4c2d377f031b149dfcfb9d6b4598e074b9b184fb196dfab42b0eadc3d0b32650c57cf33e041
*ee7599850a646ff34a90e7324465a075f0ead5deb57a9683f4fae29507b45f67975e4bbef280ad
*81d8a2f973f2e6c51b691be29834f4ef93b14a90e5e1f084041690cbc2ec044fdbe10de8b9a74e
*b67b820e8e4860730ff8514c001c83a1a99d9a4136ca793a09a5e22d495574d3d769f25ad9b504
*64988c2610798fe7524fbc4bf229801be1538c4e7430cbbb044a3fa07f7f06c8b0800453749d0f
*2886c5b0cf763b97f039c22866c1a5b2bda42fda86d3e8f1b1808e9e4162e8c77f0a571973ecff
*c2dbf0013be7fecfc3adadb2ffd7871b77f13f96f343fbbf376f4ff6dfbc3e7effd3ab5db1324e
*d2958b204b56d26c7a16246ca677c35b423e7bc26f68f617fe015ccfe29d12d553186dcb31f77b
*414ec28095284794ce9d70d1620f44bc2b8adbc10c545b7a941f89204b67092d908189eba18cd1
*72319aa10f29bab861c5e54214611dee3c7bb6dd95413e2632ca8774941b86fa1ec7304d2e82ab
*7e362bd0feb00fbbeb83ff190e7320a50717d179f46010a7a70fa6695ee40f70197f3d9b0c20df
*da8367cb0ab3623cce2ee0c0565a14960faae5e7cae9b4d7e4d0dd43d19e0b8dc52a8680a56c3f
*1ff70f82dfaed00ef0005e16c98f8a52d4cee7e2184bcc2b02045a84a6127a5dac8c5511979a57
*ec67d84dc3ccd4c5ef0b96b26a93e5ae69c668b129d73653ac336e346ada1a934e6d518878a34e
*b4c1da50df7abb2cfacc5ef58105d1b1b4a5591d4809280f901d1cac593f88ce809e4c44ef12a3
*e7533a38b614139697f44260ae7b657949902895f35f6750caec1b14ad2afaa1e1d85268e40fd8
*dc6d6500880d0faed5f08a99c962edf614f35effa8b47ad182d536a30d372fdb6d7d7bcfc2a873
*1806f90c2df83ecd6f64c7903d66efea26bbc0e16375bb60bb6f2bf293ba40389d66e9348b50dc
*acc48a523011241aa4b7a5270b1daf92639394116dffbff6aea5b76d1806dffb2b749b0da4419a
*add850349701bb35a7e516148533a4688024c392b8f180fdf889d483a42c4b1ee67597186891c8
*14493d2c8a8af951ada470b46ed2fc244ea4459b97bbd44fe1b27b4cdcd72e75da1d8ef38f0080
*430fdeba02d8d19df2a1a59d5142d66fd2d4b50a7e1a66471d34acfb0e3e5fdd1aacff2f507688
*f3d39fd7c380bc8c615ba8752f2ee77c3bc1a4e9bf853aa8734fddf25c1ffe09576b98acc55a68
*ce0369dbc177b8fd7fdaff8384ae7f9f0224e3ff7dfc701be23fdc4e27d38bfff716d75be5ff1a
*684bdfcfd3d3d3b6afa307b049f07af397ed76f3dd947d8a3b7fefa17818df0f0fd9eac33eccc1
*68522bdb407b8609607daeaab10919012060305fa9cb4d824e6c7b4961e415be3257e07f8075c0
*0fa5bde78ed1202cfa33f89d237fca36af1a2ce907ff4011503da2af52e0103960871418e0553b
*8b667ddc60a26098edef8e6a556fb6a7ebcd5e61d31032c18cedd8870661ff203a81f9848141e6
*632c99186471462c024425b06cf3c0048553a01a992075017e657510e1f814785f35f225f09d1d
*bb3cfb202a3c22c6bd050ed1fdf486f8cece052cca4989b80e4e50ae6adbbcf6ad49f1d77d6b30
*a082483f580000bc1309f63735da91fe9e939b3d4547787fc8c0c5f68702f502d951432ff51612
*dbcdcfd8fc3fbf6cbebd00aac811d724ec09b744d941c5fcef15841d5d6b43723c412fc2933036
*186e8496003f6158165a0c2bffa5dc62219f0dff5cf01e70835170180691f4ce70226176fe37be
*dccdc62e9c8f1867afb952f73306c1317379c57da5272020f299cfa6ce5a7c3fa36f2b0ce0d025
*ab3617a73489a1a25e045c51a3876c0bc0630abc11d16dacdc10b29a829035cd108ad6f92f85bb
*8d2135758b3ba93e53b56c8ba178e58abe6a8ab0355513211282804234a30ef5078a84fe701bf5
*7f6ab1e5facf69cd13cd0042d9dfede948988e558044199b9a1c8cf2f9600e9e7eaaa52a6ed4e8
*b03ec12ec435b88cc43b9a6ba4c92723b3109110323da97a24c6d97cf57845b8979e5d53f225e0
*8efae52e90ebc0309b92d8cce9c15e32ee737aae978f62e10b3a512065c6ba91a360b209829308
*b21e01d8c8c486f69601bd60c8e86f1cbd1a0bfa2a94473344c89b7a7909fc9d8e85f08f0c3e31
*0d6c7c9c79c6cc47f8464e4b88730c70a7bd0b4857200bcee912503e5557e3aced8e60f5e4e180
*121c05ad85a529839522466a206f9ab2e42b5193013c6afa6bc5688556dc7ab649b35ab9ad8ebf
*19ec769ef8a32bbac06d86e43345929f7d4216cb2762f2db3ba6881e6ed3e447fa7fbbea97eb72
*5daecb35e8f51b085ee8c8007e0200
newhex
*1f8b0800000000000003ecbd6b7bdb3892287cbe1efd0a6c769e91949615df72d9bc719eb81d27
*f1ae9d646c67fa9de9cd269444d95c53a44252b1dd9dd9df7eea822b0952b2e328e9596ba66392
*000a05a00054150a55933449a351beb2da5febafafddfb3fdfe2b70abf87f7efd35ff895ffd2f3
*dadada83cd070feedfdf5cfb3fab6b6b9b9bebff47dcff26d8947eb3bc083240e56be1941bf707
*f94ddcf1dfdfdbd97d7db47bb375607f3cd8dcac1bfff587f71f96c67f7df3018cff523af17ff9
*f8efa4d3cb2c3a392d4467d815ebababff267647e7413612ff31098ba2b51dc782d27391857998
*7d0e47fd56eb301c45799145835911a58908929198e5a1881291a7b36c18d297419404d9a518a7
*d924ef89f3a8381569467fd359d19aa4a3681c0d0304d01341168a69984da2a20847629aa59fa3
*113c14a74101ff8400248ed3f3283911c33419455828c7422d40f271ab25e07757b858e5221d2b
*7486e9281413186a684411009a083318a49f31497600011122498b6818f62047948b18e02118bb
*d26454c2082a1dc6413409b37e1d2650a3d51b0a1368e66806d86964240a1aa5ab232321189484
*6cec281dce266152046ac0eec158a49092894950845914c4b9ee770985868c0a5b8dd16d7c1d46
*541c3324c12444d4f6f220188a7f4f933007dc4d1a8d05d5a69b9830c434cb01814b31089182a0
*35a90893117c0d915800a1495a84827b0a687004987ed6088e2199fb264fc7c5391291242f914f
*c321d217148d90ea32a4ac84692ccfb91dc7aff68ec4d19b17c7bf6c1fee0a787e7bf8e6af7bcf
*779f8b9fff268e5fed8a9d376fff76b8f7f2d5b178f566fff9eee191d87efd1cbebe3e3edcfbf9
*ddf19bc3a3d69ded2328798712b65fff4decfeff6f0f778f8ec49b43b177f0767f0f8001f4c3ed
*d7c77bbb473db1f77a67ffddf3bdd72f7b020088d76f8e5bfb7b077bc790edf84d8f2aad16136f
*5e8883ddc39d57f0bafdf3defedef1dfa8be177bc7afb1ae176f0e5bdbe2edf6e1f1decebbfded
*43f1f6dde1db3747bb029bf57cef68677f7bef60f7791f6a871ac5ee5f775f1f8ba357dbfbfb6e
*2b5b6f7e79bd7b88a8db4d143fef8afdbded9ff777b1226ae4f3bdc3dd9d636c8d79da818e03f4
*f67bada3b7bb3b7bf0007db10b6dd93efc5b4fc23cdafdcb3bc80489e2f9f6c1f64b685a674e8f
*c090ecbc3bdc3d4094a11b8edefd7c74bc77fcee7857bc7cf3e639f5f3d1eee15f61db3afaffc4
*fe9b23eaac7747bbbdd6f3ede36daa1840404f41323cfffcee688ffa6ceff5f1eee1e1bbb7c77b
*6f5e7761787f815e011cb7a1e873eadc37afb1a94023bb6f0eff8640b10fa8ef7be29757bbf0fd
*10fb937a6a1bbbe0087a6ce7d8ce06f541071eb74c1bc5ebdd97fb7b2f775fefec62ea1b84f2cb
*ded16e17866aef0833ec51b530f850e73b6a320e1160d5a2478b607b349062ef85d87efed73d44
*5b6686a13fda9364425db6f34a7677bf5559ff4bfbff5158cca6fdf834bfc93d661effb7f6e07e
*69ffdf580796e076ff5fc2ef5fffe5de2ccfeec1ee742f9b25a7417e16c671eba980ed791687e2
*0037cbce04feed8a7358bec316a44593699a15e2b9bd2b1cc1c7985231b378fc58ecbd119dae7a
*df82957b1ccce2020156a9f0f6f7bd7ea5f92f5ffbc36010c43755c71cfe7fe3e183b2fcb7b9b6
*ba793bff97f143eeecf1fffdbfc84dc9b16f7d0e3364901ed347a68b560c6c689287fcede7a3e7
*1beacbca388ac3c7f0514a8ead60060c5826414a5162bb2fa5095c0b90ff0eb3c7be74f1243cc3
*bfcf4e2063dc1fa693a72d189e411447c52597082f80858b88938d5ba7e9249c062712add3a298
*3ebe770f4aa54930c2d2f7b230008eb105524678926612c4f3a0085af965924ef328e74f07dcf4
*1eb38d411cfd06ac28f2a8842bf3d9813809e1258861459b026462ddc719f4df799a9db546613e
*cca2292e868f6f08a496031e33bb5b96d074b70e66513c5a292ea721e7948b314de215359c423c
*dd82b16cc1c80d3210458087e672a3700a2c77fe5810573d0880f57eba2536c59fff2c9e88cdfe
*7aafa53876893aa4aef6d7397db5bfd1e38245785170d29a4a5a9749d300f8f921266ef4573971
*a3bfc670c720b58459918521175e5585d764e1c16511e24603921665f837ceb0d65f9519d4e8ae
*00025920d1bbbfa1e03c58355804711cc698614d21b9a6919c143265b59c9217134c595765d675
*ca202af2b028155388ff65160dcf764ec3e1594de920cb40f229f7262565e1380e8724ab95bab4
*45732005596985f7e8fc714b5175ff6596cea6a5d7fe4e3a41e11345ad72d2d1ec24c8cc47a6d9
*fef608e54b298efa12eaca4da73149f49ea23b3c48901c57d37c08cab41720e21dd1e857925ed2
*dc8152f529503cace26292f7fffef05143f2e1fe6e25752f81152919865554f7c30b6c5eff8874
*0e6fd39c84f4da6cef8e5f3cea3f0f5135516d81caf44b9a8daa351de00257fd0aec55543f026e
*72cd10bec9aa700f695daae695dffb3ba71e402af11790c72b8947613cae7c7c9738bd75e80c39
*bef57f4ed3380c4a7988425ecf26a5af073837826c1be4fe535823a3a12f3df47eec6fcf8a7402
*bd347c1e8dc7c0f32645141415e4a01593c8f3a9ff3ab4fbc3fa1e14b3cc267f93e474bbf97c9c
*a55377c6709a1e3af8e7e474b892d2b6032bf8ca2fb0c289957192aec00e91ac8c663ce0e10aae
*1959915758ef12ff8795dcf821c0d5f5ffeb1b6b1bb7faff65fc7ce3cf7bc3cde900e6f1fff0bf
*b2fcff70e356fe5fca6fe5067fad9515f105ffe1759458d1c736630249e6bc019280997db8523d
*73806cfb2c5d300490375a0cfd40cb0ff8dd2ee4131da0c091921e0890233c40ea5b581255fa63
*31a537d814b8aedd8b02d962d1e6fda98daae97c3625d5479bdad316e91439055c7b5b37d9912b
*ad96d4bf98ce6396b123ec041fbfd6138609ec8993243c81e55fbde5b301b0c8c342be4fa264c6
*dc85d6ee28dd8e0fbc278d7672cf778b6d6b45c938ba88c503f191eafbd8223a110751124d40f4
*81a10261a5085143049f58806a4bc4db780ad0a672edd6300ef25c0a56203b6d3de5a6c223238f
*0d01d081c4574409ca3efc5dc243c55420569e8a80797e046cbe9904dd53a544d172a06d4908bf
*8559ca2cbd6aa4184022bc4d637c51f90742e5d215704e9541971860bf31a72980bbb19bdb39c2
*f7aed568830e26f5857ced8378591c49d6880a69ecf06d20f377a06962d065864257fa029183b1
*8011b2eb7ecb273175f5ab641707f995f26a001a17f5656095079cee557152c36dd0793e43fcfc
*b8505a5f7f204cf05bab092012746de7625a09a06665b9a0e9607c1da8421d8b2eba8df59b8953
*878595a3844b4956b241e9eaad8f0317988be3f7de976e7fcbf9f9f83f12326ef008680eff07dc
*fe4699ffbbbf79ff96ff5bc6eff7957f156fe814f4e8c3cb573b96ec9866d3d320c9c5bfaefca3
*85b9f6b75fbf7cb7fd7257bc88c38b08f824ad09e909d22dbc0db260727c390d77709fc6cfef92
*51388c46819d99e0dd30b7e4e13b819fb3f4082ee38969a84b75f84764434b9c27e603de73252f
*2e892b2cb19fa2cc715619ce391ca766394527d2fd838634076f8f77f22e33a237d9510e5ba935
*2c2e5369b38fe5ec46e7d113bab897776428f617535e32721db9fbf5047e3d945b1e6c85fc78bb
*052de3e75bff99c3be3935d0d5f53fb0feafdeea7f96f16b187fa307ff4a5ea079ff5fbbbfb951
*b6ff7cb0ba717bfebb949fb3b3fbf6eb9ec02dfdcd9449015ed5f6bf932678e457bffb7bf8044c
*7f114c60ff5b3e23503935fad19902a987da166d8d735b3c1b3e13510e02dd34cd73e8ddcb15ef
*f9720ff6e46878aa3ee4e27310cfd80c1361e251b168efc6e18420f6e8349a4b9c25e9792e4ed3
*7332c51c8fa3610488c69722984ef15fd196473ba410a323d721a9ec02342bcdcfd10a96113f8a
*50c40d1cf423b40b2d00f9f872820c66344403d5a8c80953a80888242a301b2487f6d939a10d0c
*a9b843a3f9228d894ef5c39d9e3c5237f8a15d296aec006ddd101187e362a54857d8e697f01eb1
*85337ec5544107f174f69a43eb8af004a9954c91ddc620fce0338c333600c5fc74dcff960c9bf7
*dcd3ab11b48feca08977852e932b25a103a427901614d3174cb9bc793f4ecd33aa0c3c80c57106
*c38fe6cda1aee43fc2cbbc83fff4503d810f5d99f25722c70effa1547e54e978a6f8a843ff522a
*3d754db5e523e31e0f5a586e823e7e5419f4072fd7ba4d27f2ce273c81151dfc17eab7138ed1de
*a183ffbadf15418ace189e7af8cf4130d5793ecd809ec7114c560325c805feadc9f2f365112a3d
*4e2ef0091564e66b0fcdbf4771bbae0a93938e6a1f19288f18c7858aee07bf5d6249faebd45ea4
*3ba7b3e42c5f10884102df008579e58fc24fb3909612c03bfce47636598f1ca3f548e7200cf219
*8c32ec3cfaab3b341a52079eeaab2bb8a6a254b6c062455db1bda49025f9c9292c133bfcb70104
*508a04014f651098d8e1bf752064f972612a49c5d467dcbdb334eebf954631fd23bdd4f9f4f96a
*4161d5fd44aaee8dc65eb4f594932a7b5c3494cade2c12434ba5499b10ae3bf0f5f16398d4ac92
*5770f05b27141f65d51fc58484c38e2cb1f254845dfc971e27aaec71ca9bf46265270680ae1dd7
*b7c5210c359849ab84ff188f0708a3b198849369716921099f38196daf042aedad820e2a632b9f
*9bcbd223eb0ee6896daf19be0eafe6da12b4c439186ea97cbc4888ce7fd221489ea443d809fb62
*dcf5a240937c0e02e53ca5eaad1ec4baa1ae6990211167e7a7c9180d9275962e241234b58c7871
*a265d68708256c096dc362da8e29576cf9afc3f7de4af0fb9618d6b42e03be132ff32058452806
*ba5ad5c46711d23981aead632d7e9f911c7d5557326d89b0060f5a2466309feb1b88eba618d6d4
*24d3ea1bba400572a1f4c197495bf8e09f69faad2f33034dec477951d794d22996d3144adb52c7
*840d35cdab46aedb9f6b6a32c95bf4d2fbdc5da47150a6b1568479565ba94e853acfa0c6f2ca5b
*add25bdfde85884a24c90c54544b8d563ad41df5c2f9ad850d241de672e77119f0c2b09c923fcf
*cf40c64962ba6747b7cfce80e944a907048708a4db0b5b486a25e139e1869c29ace45bfcf0bb62
*56710f188a7f087f17530e337e350daee45a987eb1cb09fbbec2a7090f35a48d68984c5be26ca1
*31af45c033f65c8719e14654ec6c5b229a8b0c8cf4091e730ed2191a6558285d8f2ea43cac6861
*846268238dfc551600cce4e3ef466c69a61499672ead78f26d89cf8bd24a083064c730a06664e6
*104c35db22a8ccc3c34335aaa2b974e3cbe8dfcc5c9c3cf82c4232451606452edac497b491a96e
*2393d0c6c2c7741d3784e4cb7446073600cc7033943b90f9d515647531f524457ea738cdd2d9c9
*29e6d2e64516067174168a365a08b73501b2d83494ccca23263f7e6ca43ece52e1f86a7ab936b7
*87479a680ef1513da344bcadc2b409c3124bd8885f25af8bdd15d8474863dd8264231f693ed241
*9b2866bba2011b45593844e55891d2aa82b4864a2cda716cfa6a6546a6b1a4a19e927fca728614
*6a64299ba4a3119dc6ca4bb67b7fdf15166822d60ab02ab74f328b3ad8bd0aa832dfbe0020ecc1
*0a9c1a32fb4a78d7c0aedaf5c8ac2f50b09e0fef89aadce866b97633495a59a070150164ce17aa
*1776934a61c97a2f503af0545cb0eddcbca292fbf5554ebbe14230ce7c10e41e76ddd69758b845
*c09cd500d18cf702303e576054f883af035345a6e5e84dab8b95471f42aa8f8460f875234909e8
*58a0b43f7654192784ffdeebfdbdd7bbaeee96d1ca1a70aa59406dc4241e998d04a32095c656ed
*995bf5f73e9efbe6bf86f35f7585e7ab2dc1e69cff6e3c582bdb7fdddf7cb8767bfebb8cdfdcf3
*5f513df1153547bec273e6ab8f9ae810ef35f3b2cfd18b0b6ed0dfe7085829b37fd403e0244d56
*8c65986d0b26b6f1b876c530a07414ac450872d81388610010f0de18e98db19fc9510e1e1d4b3e
*5576849665daa89503b1055dec80203c09924b711e5ce65210c9c26296256d129eb9ba006a1bcc
*e8a0368e265121cf675348cea142c01bc7b9ff8d2dd83ca79dbee35065b06665eb096c718f0495
*1e4afbea1851ea299d0350fce67c98ceb2f01d94d7278bd83dfa43f964511db5d8d7634b49d4a3
*c277fbc27718632657a7dbf29e3dd69c91b5ae71c2563a33bbeea1d94d9c9addc4b1d9fc73b339
*0767742cf0962eb4f7dfc224c6f5abe6dc33526de32793d14eeef0dfae9431693a92bc2bbd620d
*42f21516a0866a1c5df46909b0d99d67a545e0197c210d064c7ebc9664997e105c5a06a4fae119
*ce025a15ca9926cffa95c586ec1de23c45a0d2aec25c8092e62345303c5b210f63ec5c4c2e3a41
*028b5e9417b8183998a6ec9e0ced2e102c2c30b41cf7a123c2dc3100316619da6318d98818d30e
*723f378142b056075994e6cabc031d839177319898091ab264e9348be842cea52ba753bdd26559
*1b9785360168e33a01eb2b7a650098582a09e2f4440bfee84e22b99ca4b3dcee12e97b8d1cb74d
*f492ab575d3e1c1d857134c022212a173e233726c6b3445ebe91de19600646682891a73cb69d2e
*aef2d807010d92b5a5d1221dc7c6ae07cad0820e7b11202139dc2c2700d822917e462f707c3d9c
*17eebc476094b2a687705f4419340301ee07d81e180229660c60a8c5b3e01977d541703908dbf8
*def79a009d92720c4819c643ea4b9449528fba2b4aa6b0b3c88e95d8228d4b5f19d04b68a3c45e
*07a5fd91dee3b008f7340cf80c33236c741037d3640290a176093d8766f35e65db9410c590690f
*edc1d81793141aad294b2ef1649304d0a55913821c0679d8338ef9c273a804dd9e90efc200b924
*3970a79027863e00629ae564dc817304b788a830465a4102800376bc27ef40560edf1fabfd1b0f
*de8952ddab721332aa961d398457e7badc17dc858002504ca7550006803672354f29231ddb919e
*d11c962ba5584876575cd629491d271d433a7657662e132052170270eb38de54f0360b9d1ad2c4
*5fc768463a9f1a532e8247c7aca611dc12d3bc2d46848f6085c1ac7c523f533b3dc1b34fe729a5
*4e59c868ab2dba6d1beb05e3821c3132b7466424cde1d460e4b3a850b438a136eba6f55b0ed342
*22b236421a7ba5f6c008e963a99d2901a93bb35db06daa2961007b829ce57ad7616a6d19b66a01
*94c7527b6597321872bf1b3e8c00325335e939da81c452af8a44d865b62423a7c751b17904cde2
*de10c31a98639198625bc4286a705af5ddb1e662cf9a980cc7bc7726bdc45683d3305ce0c1293f
*f5f80f1fa172e68f48b01f39d344bff5a0a5ea99735f888f48bc1f6531c8adbf004afa39e92e82
*b6fd927adad04b1768454f945b83c5e6b7a727d2a6b62190dad659cfe9d55b6abf4cbdcdee4daf
*d0705f072080ab75010827cddd812017ea10eb796a778e69a46bee32b3e790bd3c761e4b4472bb
*2df0f6d34fe2d78bf75ed09d4ac77d40480ce88382e37e635ce5b72a50f41e23b651b02da30c1f
*6bf3032355cd1fc79efcbca8065dd1d94d46a96b5a220b62826dda63dd64575002df9d66599c2e
*2fe3bbe76ab855be723d5c16c79be0cd25bd97bb65697587dbd370e2f8a8e59247f414a7144fe1
*606e21583fff7de62d6b554c2ca90f0426f8ab6d2c52add4b2c32a779b73b8e383c82a912275a7
*c5932f5dc363c0fb97a75dfb08b7738447d01301d28e28dc0d2728af362c8f1e43de99f00f7e69
*6bf375081e1179e926fcd4f7b70053caadc06fd0124f1578b652b1ef9275487b2d6f35320de001
*936ad7358ea3a99b8a1c23f17d8308a48c28cb80f5f81c247683df64d519573105d32daf41a984
*0fd43a0d47504f344447de20bda4d9887d6f23cb2fdabb9fda62948679d22e04f9e6237e282f32
*9851e8134a84a43b9016a2d43c1cf62f5411f0a303e40e05d69c335faa7f5fd8adf67994870e5e
*98dd3765e4219bd72c4db61a64cf59965d2abb126f0794f2d48c4d5fe7ebbb39e97ce54f04acc0
*136d7778ceece1e1233d9f415b09ddb9b82e88680396bfaf18447713cf02aa543e15345184e044
*333ef29d0d3ebfd75953c3f94fc961dcf58f81e69cff3c585b7b503aff79b8faf0f6fedf527e7f
*e09bfd7eb7873feaa18e39d0a17393daebfee217d4518e42d80ed0769e4f74da876456a64336a8
*9d23ec91055a3ac6d8064918e2d6360da24cddf3d34a12531fdb4382583a8cd31c558eb0470645
*38c285ef8c7dc53c932667cf48cf9026a1d4a1cd921cfa381f5fb2b66a242ea3301ea12b5b484a
*d8bb21866a38016a99601eeacdbe301719ddb12a1f5f116a11a93c50e539b2d54781d6bdc98b80
*85d2a385173277918ad3e073a855cf1a6e1ea7a41c26cde8886367f449058bb0002a0c0b9a8792
*f60aeb939ad2b2e60d85874a132416c85d9115a9ab9c62cd1e2a74dafb298ce07986baa2cc8528
*f3d6402ad56741dcbd9856209ad988634c5afa48f6a46c15a94548d3af5d1453ff8e83fc146ff2
*20147979b4d4c1d198eb95e77f7af082d1db789693128828023fef0317866e1dd0192611af173f
*3c4df02269695baaa892965b62db8ca90586f06d6fc7459825f24341b4d488f24dae65bea34b77
*7417f5f14657204b45650fc923498f2fd81e52784f14b044e5b55060089d335320da0efc477730
*e1af7503530aaf58c05717d06607fea382f0b7bbf0c968390dfe226706cb6affe8f8a0924ce487
*990a7fcade08ddb7d28d1a5ff2213b08af9e0a96b2fd72642e40c2cb22f9e5454d3c15c512f38a
*c06e5284a6127a5dac8c5511979a57ec972c825960eae2f7054b59b5c97273b13cb69a75bc406e
*bb41c7ad7967d98bba2ab4bca37952cd7de87907ee755e105d6737b871dce0717bf5d4599ef0b8
*d3d73edac1fd0ccf54d8821a67bd3e6251f7154ba73fd5edd9ddcd804548c2099a963c16cf6035
*80a49f7085204f72f8b713c0c230e83e6b8da029f46522537e970b08a3f00f5baf526e011a6cf2
*dad22108b62c258f6618263226f89131f9284f613e9631fa486d67c77b95066bf6c8bbd93a0d86
*554c60fbf02f82c7bf1dec01dd60fc329129bfcb85cfd360eb50aed4f80e41e8960691015a3748
*1913d5ae123ea61f6483735238a85351fb9681660ae78c460949f268e8c192bee3236f63ca21a2
*44b3ea10d11a972bd56ff92cf46061a52a02711d21ca6a9b1d21ba3483bcc4490acc2d9a47c8f3
*5e6241f788f39804676cc12072601f12601f100ef02db382af9e5d96180fe6d9d02e016f330152
*3c38c466277857a18886e8bd9c1c6300433a9ec5923952311816a3a75f27ef2bfd2315811639f1
*dab02560892a0ed6d569e682148b4a43cf282c5e8b34d1806ec52e538c7d1b17cd080d34d07c80
*4ff2a06b5ec9f84446496aa965273d8d69d74b37b69ad683b3561ed9685fc022aba8e132c70648
*a79fe24f96017387b44863f8d0a65c7dd5be2e02a04692d4c7424b805e4850c94cf114f9b29065
*b367a19d4aa1052888839a88c5468515e35f352e0bd5a3b8ab1baaaad3387ec82788ec86ab3a9f
*4334c8bb213b07159fa34e76a995ef7f8bca1b67b3e228d1366a1915ee2fbb4266f8c54d4d8e85
*c94872cffc074673c984f4edaa67130b597b523b718f71e68a644eb5e29af59ecfc140cde26335
*93342662d9a8ec2f0f959abeb0a6dcb183c0528861fffb56cff3ff1817806f55f15c627426e331
*cec6ef3631f6bf1d2eaa5e2fdff0e6863abfa99223542520897dfbaaf69757d5d1f1c14d11ae6b
*60d04827ae81c157d58f6a6fcb96ce08a18bb5ffefd114dd90f870206bbb1a0cb6afca28ecd0a9
*6fc998c2aa07043734c095b1a84b5599446aefeb1988dbe4ead0d356b75e349228d7b7e654d1b9
*0b426953f9f004b7f8f9308c57062c435108bd2b26ca213e86c103f27b9f66defeaefa6b38ff47
*29f746c200349fffafae3f58df2cc77f7d787bff7339bf6b9effff70773a4905ffa39ffdeb8370
*a993f5fa7e61ef33c159e89c8d4f484b3625234c4a49c273bc40a56efed09da59168633fd0cd2a
*ac48df348ab41a916e40a1cd001f95cb4b3545aa1c25c578d5ecd2f80de6f501f60675412ca33b
*56b803c873db5c6948617f55b776a4b259de7fa22b0be41145dd6b1250e529b73561fdd71dd98e
*3b7a93ec8bbf019aa82ffb6fb4c4844a9eb5a5eead2dfae223df0cfaf80c5172526c5794e3678c
*449a5bd7c2d4e5b241089d10a9eb3e61320ca6f98c8c2104ab62656bda78cd405e0493370ef0f6
*86b92d1429afc4079580a677f08ed11443b97e0ee3cb255d88d54189e63a07ee913a9e54fa3da5
*d95467b53587b52f700cd3acff36453b0def05555543e3399b766cc4e709ea64e077ad60e59313
*31520b8b5476746b1838351126be130a6dd019db6e336553b8629319f5b8622cc15c74f59905be
*58a56507944b4ff173b52e5898fcf9e51536a3595e2a17d5b0ff5340d69b6000e6ecff0f60ef2f
*fb7f587bb071bbff2fe3e7ecff8b3bf29fb3ff7b561d13de77318fe5949f6c7f76cca9172f59af
*82dc40eb0923f0d1151afd9df274e8df1e4c2d7ae8365760991a95eab21c89537dd6fbac94aef3
*77f493ae1f5ffcb630dfe052fb4d5caeb72ec637df8bbf21870024dba3a508bb1a6dde7a1af61e
*7d874b797a402b6ee5ef81b3f69446a0279506fa7aa3a108e7de253303348e6d733b960d31149d
*086769277519ec63bc1b979c3411dd60aa1a6bb4caf03ee3946a02a08de6d94a9e0a7b1ee781d9
*fdc406edbf06e401cdfab3080281e3edabf4300f80f1305679524575de315fb4c47facfd550f80
*badae0286e94dd88f295a9970c86aa1378fdf05c4730e0656ffaa0fb41fbe0aaaed660b197ab00
*7f7def40c249e145d18555bdcfa2e099fb063658fc5a86aa81556eec585de90727132444e9d5c2
*12769e75da94d6eeb5a970bbfb4cf3826a0e6dc927e206df9991ff072b9f0d4fb8fba9071dd03b
*3a4dcf7ba8db77ae719a49d9b5cd8af4378f6111a79946f1bb6d56c35f063a2f9a8b507b4aa62c
*e5dad5c234f6222019d477a561501c2a97a8b2a812bdaec106a3977a98540b8070d8d4728d864f
*2dd7e930aaefacd17d6b457331262a2c509e8724c2497721f0a4dd63b0bd36fa4060cac9c9d8bd
*b49c4a6f6d0609df02a21dc359817abbb58be9a20bab82aa97800af8c556db6614e5f57bf3c7cc
*3155664c61872b339392654bac713545eb563b37d1702f0dab1e15e195af5b57597d4da56a1a96
*042a20679ab53c948c9fc47816932d96145efaeef2216966a2889bdecd4262ba75327f39e9c909
*d893f3a847076cde69ced5960fe2ed25472156bff0500e97bf34df2b8b107d1d38653b956e8462
*fe65c98bafe69e08cd7ab4ede58a47f57b0b32b7bf6bfd1ae47f9808371305789efcbfb95ad1ff
*e391c0adfcbf84dfb5f4ffb4b7ddac1a13ff21257fb39a1f6892f32ca8e76fd6f42fa4eb9fabed
*6fd4f7aba61da163b2baeb78f9693a8b49bb3f8062e4daaca452bed337b06eaed37d7a1adcfbaf
*a0a639082ea4da039e8043b8405507fcb16f0a454a23034f1df88fb244b62e060abccda23483fe
*7b8c2f64487d42e181cfefe19d3df4939516453a3195a9021deb5956ae5e5534b909bace4bd4f5
*7a859455237a8eabd658a45383b8a9ce3ccb8694ab736aabbbf3b4b81abda2caa8555fd4845bf6
*f25b93e002382ce8999fd106dd96c1b0ff0362db2e986dc20760980247195fe194084ee8f24624
*9bf6844c927e2b144f44f57879214c5198718ae465d0d7d6c5dc0aac0bf9953a24e372e0805152
*16e6b6b85b256449208c579d80a5cb3ad2955b8f91addcdc8e644545aa4376127d0e1374168763
*17a1f00c5d511d3bbacab9457f79eca2e49b8c5d94d48d1df98fbdf08e5d945c69ecca75a8b18b
*7c1232e6aecac71206a3553b744e513d74915f2c7673bb438745f46283fd6e2d4620da99a42d27
*e5754ad71f1a67aacc83d210f96b7ca61c2d06cf24cdea2c7c3d25942ba676b268cd6f83530913
*35dff5076a0379d969a4a0ae4f21654d745361dd84af7446d3bcaf3871b15c01d5d666a6be4af7
*2f01bab4879c5cd82ee21d99ab6e79f0c0b596099d6a3c0f596464361920239b8aac843954446b
*c635a80876c12a09d9f894d050cbce0224d44c3ef8d0716ab247d3d372813ec026d3200b3ffa93
*b7c4ee5f1629fc41787e5be2e53115f6a6cead79ffb8527307071a5be52fccc9030a4367651934
*4eb5baeeb2d7e779532df2aa977d53adae36b352374d35abb477e52e4d35bb6b1aa79a17aeb5ac
*97a7daf796c1bee7af41fe5797a9bf5a093047fe5f5bdf2cfbffb9ff6063f556fe5fc6ef6605ca
*050cf5f415fd3f88b1de01f9180ff208e4726454b3bc48535812e3889c39a366fa8e5c3bef9089
*d81d5e6aef28b7374f4593a382a5c8f48ef3109f5c2fa4e43a8d67caf0e1b7304bbd02ac1d9c80
*58918b583c101fb1e8c7560bffd08e6f5966593e070467d832c6f8584fb5007fde52d6fcdf7b96
*fcf3fe1ad67f7325fe2b778079f6df0fd7d64bebff83b587b7ebff527e5efdaf0af4e335fdfaf1
*3dc2fdf05b8c1be00705b1380d500792d374c34eb63dc21d2beb707625c16145ad18400907d868
*efe52afea8e689f354391d185053280a868e5a49dee52ad58b18ef020671be246b65cbf5c6a246
*cba688e50d04b5b1e6add9e3d402dad7468f400d16ce3e67412f5fedf4776142b5d8518cedc1c4
*f53d42c2b3f52e6da0ebeeac49a9afce238a16faec0ce68cdef58ba2cf969b3da338ee658c32cf
*1bae52898c94588ba572f66c92ab1ef3bde015bdd7831e9befa50a64e4bfaaf468e5aa0a8f960f
*299f6ad05bd6d1107a012881d85b5cc9c3562299a4dbc34286e9d75bff1bf6ff9da0084f40501e
*06f1d7310073f6ff0dd8f7cbfbffc6fafaedfebf8c9fb3ffbfdc7e7e7c854dff3b6def165dfeb0
*3bbc2b44de6407f97650bb4716dc416506ed6591215807a496853fc72de0722ff1b943ffd28521
*7aaab885ccd1845b61152a9172e7c0762d3994551ea7ce675e908e5307a3f236fe360be3d92814
*a7d18816c04ebfdbc39b41f377ea4a833ddaf294bd87c22e97b259633ec9595d4ee1c5d2c17f03
*fb449e48e1ffd92082f53d43be4c826cf77997a7ae2153c02df9fcbbee31dcd831257037770582
*adeff4feae217937774e951dc82f636b9fe62f273a630703df9e185b77639490d34d3b8a5caf9a
*2259c444b59adde68a315d4f64034f364dc3a5839bbda3399444a4b6c2deab1630b9a133244ebb
*72c72cec41a1f05ee80f2d0ba75998e3c4232b52ba3d68106e95c90a6b35954cb41ea292af7340
*6c8598d8e1802bb9e492e78d9a55f52888f491a5e732cd22903295cfe91bfc5fb5cc16f4a91339
*b99c8190f5728e3a4b475762d3563422e016af78000de8c3bf034aa867047deca9d30e2f0947e5
*a36298d036fb578def6c05bfa805af4e21aafca4efde6019cea40c491388f827d24735f07f64ea
*ba84fb7f0fe17f95fb7f1b0f6ef9bf65fc6efcfe7f355c744f60d1375396a6bf9b52c8f231fda3
*728d0d819f3da68378f480f13bed38013467dbcbe13ad9d7d415194ed736ad8fbed60df3b8cde1
*5d65097eebf01f54eef093b2b2c3ab7cdb26b6a3e23ed919bdebc59c3e1fcd261df540acab7ab1
*b8d7fd684cb144998e72531c4bf6b8cce2aecc6fe6e27ca9b32a498cabd7bdb9e2f112d1e69ec2
*f001403927e4caa148a1412a50023af40f64745d22a6ced3a7487bc80c24d2bd4382940ecc313a
*5838f82059b23b4ee0e93b7d8a69209d45b053288e71cab058ed32d255a1e38551940f61e28523
*738f83b125e5987c24d6593e9352acd3ade8c58212dfa1a078590e99d8918eab3a5d1e57f9d9e6
*6fe4a7815528104f9f56f89ea0cc5090f3282f16c44f04658025540215d2ae010117658e8a57cd
*57024e3ce3e1bbfddd23710731e1cc7774783b2e8bcbb495d14cb73b2a7492f9849985e2de55a0
*5d15ce980293c06cca29d8c8204a4652c395c8601632ba72ca02150374bc9130eea450252ada86
*2fe7e8b14e64b8a604b3229dc0941b5270e080bd92b0a366aa659ae6396e482d0b61a0216b9ca0
*57ec818241d41448d24287ee6aa96f369cc09c6512872c57245bb8a245a62db809818cf8a16266
*68022afb5ae796ee151c23639aa59fa391740953f1d22e4190ab603d9b2b4ea6f58d65824c71b1
*730c45a562c294300b64548e4ab4dd49ee8d962167389d91e382019ba60985dd37ee3e548f90c8
*b7655e7fb7d7649ee3c10217b4a8444fe35d9993b41b38cb828d80776998e8b36fcb288a8ec61b
*3c2d065ebf7975757d8d6b40b5ce28b5b15549b7ac389690fc006c377c3540c8d59d13d4b3f3e4
*ee5332499bfa812a3d7a1d40a94997106b07abb488d6f5a312f16472658018606990caa45b022f
*276f34a600f52aca0d6eb26d69349971a8f367e36776101c0c6004abcdb3b1f87880b7812b8503
*588fd07bb93d15e445c503b5c51da89bced7b99c281a2683f6ad2d7395ee446ba4bd33a24aa866
*66d4fb977c49d7294a15f2477f7d274978828ea02550f5ce1546c9cc9e19f8ca85f2d9409db0c8
*44fda95687e0e2642913bc78cd89a1d9418292a2475686eda4f9c15f88bb7da2026e7507dfbbc2
*21e6431455eaaa70136b8652f4ef8a4b5307be95eaa803ef83fc4fa401f9dffd6bd0ff682dc0d7
*ea80e6e97fd636cbf73f1fac6edcfa7f5ccaef06e33ff6c41b6d4ac227d3b91622debc3dde7bf3
*fae8c3cb573b62659ca42be74196ace0e14a907c2f8d9046fc87d50755fc460ed3380e59f00039
*9cbbcff0ff30247120196e1206d4619c75c914e1849fa1c219094b831058bcfc1445f460782646
*e979a27c38e6e92c03a053f81e9c84ca1848ecc2185faaaf0c99740accf11bed54940cf1884eca
*612a3ff2295982559b80859cefb17cbf5ba7eab2430f5afe327356439086a28855451ad876159c
*8126bd5ab7355c0235a5af2b1b7d8351d5b24ae2349bc61ca0d0ca4241332b4655e8010586b3bf
*186626564d5b7bd1a44f0586af51bd39afcbda7b49d1eed11f740a0d8fe4c3923c3aab4892cf3a
*3ff556bbcf94a9190e9654d521f3ea48d67248474840d9255f17a2d1556e3d29843596cbc24fb3
*280b89da509b444d3064c0ae3de5ade73401d0e48d14084f6ab10a0b8d4ba0c31c5d2602438e8e
*4b09669014158ac316636681440c820b88fd4cb637b9aef814a1c6e2cbaf133cf8e70f35e80b15
*f8d50105d9639cb296aa8dae571718b01a330f2847ae9907ca41ad4d3cccf41e5b6bcb1c71f2dc
*11a1e6c675b88682a1b1c2a555342f7cca4dd7372f46ca95eaabd102d50602b909e07362acdc44
*1573e2a82c52859e0e3d194657aec8ec7ea23cad0c4226e49a73f7d089afe6d7acf9f4079da74f
*baf370e1596c50b02357d828b8612ae669f71c2306482932bccdfae4cb53bc636921043cda6930
*cd3ddda3e2896adad626a941cf98a70e4ad6aa416f5063a48a0ad18efdde73521d7d8ebf2aeb79
*58adb637bc5ec55f8586f53cf2a1d41bdd04523786a2f51cfad1ed85378f703dfa92b6ddc0209a
*9a57cbb3e9277fd952509005cb972283a8a5b31a11a411def796716f7ff5bf06fd8fe5c5fe5bda
*7faf3d5cdfd8a8d87f3fb8b5ff5ecacfd1fff8b53a8ef58ecfbc6771b7e198fe2298447440fb9d
*acc70d55ffb07a1fd70e888e8ac6b2d74a57c3de155828f2590339ca9f619a8c6314b328096385
*587a933bd29cfa4e0f41960c3a7ae28e23b6ddc1781b619c87b4f8f7698b48d85b167146247bc1
*ab96fa94c6c3bd074dc740f6609097717919793946f31621d0c1a6cf86c95c02c32cc6c6281af2
*a191363f226f5c071fe4330c867e9ee4b38965e2649db996211459f01984ced082a21e0307c87e
*7a42a182cb008244593ca599fea45ce307715c36d3f78090f14dac37855c4aaed96d5ba9bc58d9
*8fceaaed006283161a28e83d46018c300eb6f36279ce1f47ba01aabd3d19f3a6906f495aec2a70
*253424f5bce5fc069d2c9c8641615ea8ff4385ebe5300e0db4bfcca2e1d9ce69383c433830490b
*737d0110997ed0e53fd0aaf16114a17e6f30d3d7ebe75d552032a171e18e51dd60751b0d248e21
*0d1af585ee06dd035653642b544bbb57b04963958711c9bd57281a6f427a805742d178beb37d9a
*d6d4e445df74bdc790c88ee91388b6c648693149697accf32788dbd214be8fa196a6b0a5c97b2c
*982a75e778938096418cddee336493abd633b66a110e06186dc854c6d9f4e42537cf1a41942dec
*39cf47aa1d1c41316497cf03322e922f9dae0569cb84182727bc76b5b6e1bf29a19c4e5b571412
*e842542dabd04b01ee156811a45d4cd6b719c39a4373357cd9565c98166926b5c9d3566a2601d9
*121439ddac7c56ab2883b96f8157746026702029f720445a13f664342b186c322be309d52eb5aa
*9de90ee591dc8e0b6e9768e132eb69584c8716dcb01ef9e3fe1fc1ad32cd44d7dd547c4b64ce88
*4169bb5594c7b4eaca44ae0c39bf9ec2d95b89bbb923524e67390428fb8b31905d46eb59b5cfa4
*455099da2736b5a35d9d2cefa174694967df6fa1aca51b385720ef9a067b499e4d5c35b9cf6b62
*99d2553b2792d20f34a9339be092f9c1b7a0f32aa16b5b44ce36f112bba39d9d78497d82ae0c7d
*a4aecdb0ec41fb4a7ae7a86edf723d371d4475a931273e88fac7584e593d55a16c8bae75690f59
*d386e80c3f67b50800f97dddcc400dfe1d9913c87890c266abd905c4d142ac84d7af83f7063378
*b1ca6d696ecfbef1a6936b062dfb6e2356a6e7d270d58f554f9230d0b2355d79982a44ec1b20df
*b53f3497b53a80cc6463649165db305e017459de174795b1549dd8925c75750479b818edf72a9b
*42d5d9fb39e94a83a544420ef1a8223b8e05499aed9fd3349ebf986cc78af3c155b5b28ce80e47
*68a6cff18d0a54774987a3c12ccb6f5272299b046db8528b2047a5412078590d821c0b2c82259a
*1a22374cf32a157918e20938669104261b39098ae1295b6ccca4c9f614506121678145cfb41a61
*37ae25dcf215772c2fbd9bb7db7acc7533cde7c01f37d97c43c700fbcacd8732bee697a81972f9
*9b4f1bfd6736984725fa4006a12b75c5fca550efeade4dfd357c940de91ad2e50f2ddf4e5edac4
*ebf7700c544bc84bf9149127f310d91a6663aed21429bfcbe628b0576b922a556e96846d374d65
*b5567812ff0dcdb56130da56736893b3c89428902da00c0d1275b650c0f7ac249f5ccc0d8519c2
*a2925b44077dd1d9daeada3853a207e1090e069ecdca20c21584d0362749f1ea516d735a52bf70
*3db455e10bc01d2bea33ae1736f62acf224c613e1be461a13d32b01be25cdea7b790661d4aeda2
*5dbe3d5e3ba9270a92c51d39f1a7c6d0b42f908a0d24b3700e7f80bf2f22c5eb74e7511e1acf85
*3623c1904db3619548cfa131a3888dac3c4c9f2c33b8e41b4074c6a8451de97f01169741c89ebd
*d0744f3b0bc31e4b67c57456b48ca66df12ea2ab4f49b724d8b8dd95081bf4987b0d065d7562b5
*f994d1ea024f9bdb9cd3e1295f44595e98a08ba8210be2f4249de13546d1d6a123fba842acae31
*a66e5e63189c641d23e65f165df7d9fdb19a095c7ccb6e9d82ef36de6168b68d04679a6d1aa135
*7bcc563a5e46d4fd30b13d0aa6a86827d619c13e392d8ae9e37bf782d9c92c2ff2bc3f801ecaa7
*69818710f7d657571fdd5b7d782f4ef36205d8ab15929257a2f14ab44277e956d6561fad4449ff
*b498c44f5b1a851257ad4f8493aef65391f0cc31452e56c5e52aab8abfe0d313b1aa6704ea59c3
*2c43b7a974bb03952a71989c14a7774c81ad2dab44ab3ab9c65c05a598b9a9e6e7a5d0af5c140d
*5ee9f2c3182f5718a38f8baee85c8a8f9f6669f151ac774ba52e118d352875514ab03139a94204
*902b62ad6be05a004e08bddf6a11f480b31014bfd5a268152a67ba32ba4e96df9c9dc78cf1c2c4
*4cbae92642860925c64114d3ea1566133c9461535872b723f93c0cd182aff2c0badf22b87e57b3
*32ed02ef0b5de46d693a864ff86eb73f6f2f3c23c3a0f806ad60c034c9c2ca1a1c4a5f3532d305
*a3af5a036f783f183ec373ab35f778822a814ddc58ddc1d3b66e4ad3e44ef4063fbf16dcfc79ce
*6e59e43241aafa09ef1c6db99f6d5ab3bfdf3afd5dcaafc1fec3d2e77f53ff7f0f57371e56ec3f
*366fe3bf2de577ebffe587b5fb700c3d943547d5e90b3af7985aee00daf256707b49ee7bed63bf
*1b7206e3c920bd9c70aa3e04ede8a79e7d36aa5cc46cc74507feebf1299cfe3a9d76e03ffa3a9d
*daee64cce12a7ebb828b976fe3c3a512ee5e722af64137ddbd021a28bb747148c275ec72b7deb1
*8b39e8fd86ce5d34f614e7dbbcfdee9c6ff32df8b29717e78cd9b649b5807aed524d7a877c1a28
*272be6bb6d0d6ebe0edcb281b85b72fc52c1c80aa18b9e0b6a10d31e60cac01decb40b98b90855
*da627cc154723bd5fc31bcb6386461f530396e71ba1846c02630696d807fadcf259865272eae91
*85e52947276867390688c75f8e95dd7299e316d1931acd106c273196d5c137701353de35c6d299
*c8b5bcc638a87e2bbf315009995e6cd1d3efd2b44205485fdc5986d5ec9e85784fbbf17666b76d
*fae1f896626cea6fb9303e98cdf12505ef03d9848ebc6bd2b517b88eb39eccf12ee341821dcbd0
*ecae712bb3edf3d55159c5b41b17aac3e7c105eb68eaa9d23ae8c155f99b8214a7075c739b39ae
*5b14dc6b786d712680f6dd025f3dbe5b0c88b21317c82f9db8e013d3e5747a7d272e57a24f4b33
*5735bfb27cbb70a3bcd45aa615d7b38b975a8c67976aa5c6bf4bb54ee3df859c13d5b977d96e72
*efb2bd987b972a62ae93972a72921aa93be6bb78a9c2af387a71aa304e5ea47b97277f42455583
*87174f0b2a7e5edc2ab48f17e9dda55c4533741fe05b1dcc3ffbaf41ffa30f44ee7d651da4e4b9
*7fbf4eff43cf25ffbf181242dcbf9116cef9fd2fd7ff2c34fe2fb2f06b5480f3f47feb0fee97f5
*7f0fd7eedfeaff96f19b7bff4b54157aa22e1e88e7ce9768d615ee5e44395ac94541fc9759007f
*c7b429a5c90f71574ccf803ece803fa0daf026fbcba7fb2b7550adf6cfbd46d55b24c057889240
*72a94b5e2b9e97eb0d79e1ab2d4ae175c5c85f3aee5cc5f149cdbd33baf3567b6b46c50a0b3172
*b63c50035972871442fc591e8dcb3c1f8f48e753fe8ac6dca502ef48fb245f76ad437610d3d158
*6dd8af337e6431cc1e1831b4f8e4dd4fec13026d85b8469bc50ef0f08f2248f4a5d92a7dd16f03
*99ebde9c5c75c1c27d353ea9c07ae2a9f16925d7534fae2790a9044b786055723df5e4b2027abb
*99ad60e0be166b6f1b95b66a896ed723cbbd759d8a286128f0019292d03b1281f00329af082ae9
*5f2ceaa194809a70241fb9089d4c0f642159646052b8c88e7af4064303b4aa61d0f404a0b8e863
*33216486413937cf09ce2d8386ab8f9edc3c574ab9f9a3b702ee8aae6a21e93a4c860fbafd6648
*5449770a756d2b5248b6e794894ce7f488d2c3bcab8436092a79a5e752995912a0ec47f11448fd
*4cf0fa7266dadb91295a132d7bd2c94f0ec631932a7566085cf665737eb716ee4eab84c68a92b9
*3731f583b0924de7ba9d2ae16c29ab7eba7c29bbf80c6db77c4e764a3d37918188ad3925231897
*6694da332a84ab8d081dda65ccc78e72d0641d788a6a42964575a203c25b54537563d1fada1595
*9b2e1fab2d49e552a46efd1cfb2d0b5a95f20ffa26d9a67c93cdb34a91f28df6259db825e9c49e
*4975bdcee72a76ce81b76ca9dbed647dca5257b6d4efa5b214317b1e06d5ae9fb90b8dc93d6f08
*1cb8f3961f2ca04a1da7a4caacf424c157ede8d4f56ad703c6e954d93532d9d7a95649a74b2b25
*1bba54c12877a86c84aa33b0f27f80844a9772fe32d47277ba98b9dd89913b7d8439a990a6cc39
*b02ab40a3b9d38e10a657280c331d090ba9ed24e474e1aa8d320518652eeca72039cfc1eea9c38
*5da9a096bbd26dd9f09f2bfcd677ff2da4ffd9fffbc347df50ffb3b15989ff7a7ff336fefb527e
*8efec756b9fc58315f8da20169f187d5c4941c3683a88fb12ae9c66b10632cd4e274c276312865
*0783745620c8388d28ec141ad02423607d2efbe2173c8fc4b3f44bf43008c082846a4f723cb231
*d1dfe9985d152ca4d7e61e467d9f04e4df79006dc293f5940eda432bb6665e64b3210806416cd5
*ccc7fae8ab97a36cf6451bbbbccde7a143d322c249358a4b8d5220903ced91a111b68dfd00ab5b
*1ca388bd046797d259d0349dcee2a0307e82d5fd3eba5026ed3faccb9c81209508717eb32446a7
*2f7813104164d4ba2c1cc368e2f088fdbfffc2ee8ed99de429fa0508cff1fc8fc4eb28873101f4
*a24c5e291acdd8e55f324c47b2c70bf2ae0d696190c194c0a233f45f0dc511fec3877d7114219f
*7a1ee298266de87e2051d95ca0398a4d8a900600855d5662cbf6ff7e7464a38aaebcd109b2aa9b
*453bba0988d0d1e9f13083de609c604401d2d90add196021908626090b1143aebeb869c55fb3e6
*0fa9a3c1f0cfe341691f78d2305ef97bf459a8a23d41f35a67791eca61e0c411be5a6e7a761327
*993a2e745e763f5dc1a90f83ffe080a926489065156449cb7704244f1e29d0a171f8c9f565acd2
*3af0d4eb7c79daedd6e90a411642e5603075d583f0b903ffd4156315524e4e916e46ddc99ac815
*19468ec65aaf01680466eee069c7adece81c668d322973eef419db1ea9e03c4ecf428ea3a59e70
*4f7af7faedf6ce7f505cb17f41d79773ac28d8fc2318e34260ae8d295d92162839acb39c65b83e
*2629cc19745b8bcbd1244aa209aceb155d14235655462984f1ba84ccc4d62e89310fa12ec3d6d1
*039987d0d3e3c7e25759fe7da39508348d64b8e7115f83b5afbb0019019b6d92b7f04b1fdb1f87
*45aa03f678256a46ac46a256895b8e4044a20e255de45d25e1b4e9b3c1e122f768f3a850a50365
*a7f4f9bdc35fbb189e9a3bc9a75e2943d28a03a3e6e9dbb28ccee564907e14482c93adf05fc101
*5169e5293a825d91f761a8cbc939831e3dba7224a1a0ccf841fcfa1e7ba765f54faea86528ce1f
*9f73ef59ca179df3b3e8e4e2cb53f119062617e6829bb931f6598e72948cc20b807b6e8151ba81
*a13287e2cd72050532d8f72334d7d50e14f44ce46ee0b50ebb41922cb63178afbe6bdf130c185d
*2d20f7806c09e65f51ab02d650f10b828654c1b46d857fe8a9180164bdac8719b642a0fb3e907c
*a2b0d12afe5fb9ab193b95419310bfb771c9ecb3227c4dac2a386d0710ada272f4bae45817c0ba
*7f645d7a8c359c0ff0bfa9f8758803fcab1ad1a9491fd12dd8cef0f190c618a6a128f4e20039d1
*e87a18006f8078c6697a369b428611349c46e1df31003b7414d29c0db12d86bc63bd4e319ac209
*6680d54067c24d0128020d3305dac38dba4047b3e110a7d32a96b5f197f4f9ebfb6b8e25793959
*6428773fe991dcfd8443a08e877c430969a5c1dcfdd4464cad71c42f3618358a3d18b6eefb8587
*11c1340f24e6587828e986e00263a981368f2666eb748adeb8fbb8661815fee581b4189d29333a
*978f25efa43b5550b4f52a77e39b6ae6c69f9b95ee1e4ab81dfd8daef65de457c08586dc8b8d97
*5c6ad0815c1e84e8ab42e97b4bd93fee6f21fdcfe1feeed7dc009ca3ff79f0f0fe7a59ffb379ff
*36fefb527e57d5ffd4ba83b6ee0c56ec85beb7ce08e8f75665b44c95d1e12c914e1d1c85ca1010
*1aa55021dd4141c14b64b384543bd108adc0d0a971944c67c552e236b904b2a006a327207307fe
*a318f2f0575d20843677e0bf6e5565e1555090887e651d842e75a35a885ee7c9976eefaf5178be
*dfe9f7f9e9909e30384bef33bcc6f46fd65d58715051352c660d253d802f781392255d2422a93e
*a4686b40ab4c7c7dd6302035a204ce7f3dda058fc08a79ab023f4320711f1fb5b05fb1d5708bb3
*96cea0b0666e7d59ecf515d5277c25059abe62cf34a81bdb6c6e5b0285ca6b53f8f4bb245a79bb
*92d0295db1543d3076624c13984a78e9b104eb95e07152790478826be9212482358a089dea3bdb
*37a60c4801aad29247184cb207ce9c9f53345b2442ed77e2230ea611845d9c554f36cac549c00e
*6dc6052e9fbcdbf0c0644a88511e1f4bdc2d8207763eb073117bcf09f6e74ef038209904933a8a
*ba3e0e425856a10d01067ee617bb1eee034b2aa20fef5b997524ab6140cde51f081a19e47e663a
*53e7ee0c1e0f00a12fcac28f7273b64ef2d39a957390b72a80ad9febad26830d925b3770207cbd
*b4533306351206e59e2ff4bc49429144c350a3c31b63798ae2b68dc71191bc4209e4881b23ecbb
*2877cf70f99848f7fcf125fb332647611e334b1d9107e80015537e7b4099da37a620f825b6f446
*f88e2e2c698da794303b81bea6955f64a519d589410a57f434e9eadc4418039188c74f44d62ebb
*5332a4a10817e17c51703a939f926e573cf5153534a18ac694d1e423db82438dc907992fd3193e
*e834caba2f33c49e4eb56c23bdfd2acd2379dd73f5ad7d2657dbce91606438594957a07a54ea08
*d4cfe939a7b3e4cad0b167d3932f954eaa9f462e80354a4700c20520bbc5f35300a411a15a6fe4
*1575b200a546c65dda66743391904acd3484838df535d390c4801b7bd566c6c2d01435d6d3ccc3
*ab35d35246367b441c2a204833da439c5e89d446e157be2c00fa1afa18aeb35e07d220ffcb79f0
*b5b7bfae75ff6b0de37fdfdefffaf6bf05c61f9d1a7e9503a839fa9ff5b5b58affa7cdd5dbf8ef
*4bf92d33fed777d203493aee53a0a11f550df4fdee7039dd836d5dc07f13e6955f3ad6734fdafd
*c857ff95ad7997a9ec48cec4e7ef592e1d9e0d9faddc91a5eef4d869c304939ea103000b153cbf
*b5b2b28f118a6e2e796de52ff7134a11e8893bc4401b50852e434aaa9932e3b143b233b4f68403
*e1b62d2725160664aabae57cf95db81d84dbfed095be3b554fbcda9146b5855043852fa53ffd72
*4dcd55e890be136f2db64c4119ebaab93d68f9a3fd16d8ff774e83ec9beeff0f3636abfe1f1fde
*eeffcbf82db0ffff61377c24dcdb0dbf76c3a7ee5970c3c7bcee9728f91cc4d14803e100d6faf5
*aabbfe2f295ee0c57f1f29dba5b7c699d9241c9e0649944f684fc683a877c72f1e19ef62a86a0d
*0998444b407e3cb442235a4844af585070821a51ed7ab93544c2d5db2ba2ce567556639d0d5635
*10b76dfacbde999da42de939083f5a5d44e67ed43a692e564e675fce45d562afe360d373916bd3
*eeed7ceb4c7af8d9606dd732404541c7fdd22be5e82e5c79f9bd0e9b1e255d1fa31bc4b0f2a109
*e71ea7df1ce24d0db131f8155fde2f85996af2ff2cdd197cb502e81afa9ff587b7fa9fa5fc1619
*ffa3d9c957718073f8bfb58dfb95fb5f0fd7366ef9bf65fc6e96dd58c40fb7a4aa3e51d50fcb9e
*95cc728e2e21df9062f420da1e37dc163362075ccf9b23ae5782a397c345777eea769d0c8d7db9
*0c77df4e9d0d177fb4371ce60ea1217319c3b2031d6f67c096398e2e62f140fc245a2df8e48f01
*2299334cd7ce7d6fd513955fc3faef7a9bfd0a2ee0eafbff83fb1b1bb7fbff327e8b8ffff5b980
*79fbfffdfb25ff7febf0edd6fe7729bf9bdd3016d8ff5daafa27e4024a6ed7e504bb71aea0d7b9
*dbc019d4f4f212f8036fcd7399042b9fd73ba00b55b11477176729640573bbaa96f5b86bb11e0f
*c55de03cee32e7e1fa64cf900321cd10ff43d9b6d801fb8fc87e34acfffbe1051a647f1ffb8ff5
*5bf97f29bf05c61fd596f9b7bbffb3b6befa70a3c2ffddeeffcbf95d33fe57f54ca8c9cb2f968f
*e330463b5abce0d22bdd347af339cce2341885a3a302dd67c027af2be2ef739c24e7011d51e43f
*2cabe2394ff274ac0a278657272653c8390a277c375c05bd2cf07a6bf49bbcb56d5d4fa0c83318
*e9314a8605b23dc0d4f025a3d13dbccd036dc9f515614c5e9906193b89703423c170389b90db97
*5ca027952888090eecad6936613cf89a13d7813e5cc8ce63308b62789f4df1563b5dc2659f2a4b
*8a73e690c1fc4867e6788d7c9030f148eb19eb399b25f6ebbb249f06c370d481efea59dd28a2ee
*403768962715ec74e540c57a86d2f6ebbb04474702a5470593464dc3f432524c39ce273abee844
*f911e2d72d7928a1e8c813fc734cde6bbb0d4780dc498bdc1e9a1b13cd3a3f699b20d814520888
*8e5ce690190fe66bcf23ec9e1887e148ce015942030f83e129751c05509b6509df3262ba40939f
*9dd359728657f2b12b262503e62fe2283c21b73f3a83f875f2be94dd780229b938f92276adeb78
*1c7a7e24678a1624da848b0997dd5254860cabc2136f804cde9ba40ea33d617d991e3e0cecacb3
*28d463289f9533c6e2a79fe03bfe637dcdaabe8b27f6d505898ef7e282c4c8dc5be00ff6cd05fe
*92995eb713a5055ab5946e471b1b420e35e498d8b9e2361a58f124765a5eadbf6dc1c02c1d3b8f
*b2d5af836163d32ec3ea547ad4818d38623afcc9da1e07cfe654dbf9e2eb76b2e81a620c259ed8
*1807dd740c7933e8709e6e17ef0759e3a269dbbebd2307c42de8b968c6a8542fdb59f42841c994
*49d7c9a7509c8849ce47e2066b5dc23ce6d673bbfe28b95bb604f075997d9c4b46f8a5ee72d39d
*6e6b1aaabd9c175d6f9d38cb6572e9eed90dae82b42f5c6d1534570e69eba195909f4c2b3ccb5a
*8f17021506ab7b051a96f55468b8fd9f495b57fe272f0963960a15cb09604acea3e07914e341b0
*423135587e35e578eaaea71cdf9ec20c9dd95308a0bba7701de831488eb8d953e4c8f39f0b9c93
*7a17b958945cf12eef3417c80a6298416dd2a3511c5c8a8f72b1faa8a94fb14d4480fae5776171
*54883286666b0acbc6cdbc0a399a8ae7aeaaf3964e0d4a515d8da148c55ca90609d7d248e7e93b
*565cd5955967ac2ece3ae9a2ebe03b860f9efbd01e48c67f3d27d94d54a1ee7ce5943b822d7b44
*179c14fedef98a15d52251a03f9a32162112ab2de9909f2519f2cb37a242596bddb2e85bf054a1
*6b909ba7b632b57196f9c4c6f97cb4c62992d424aab594560663088d526ae8ac5caa4466e5a2cd
*54e6e9947a227b57b0104f2158298a6eaa6b67c65e4ad54a704e333424cba351b882e9ece67496
*009895040ad24775eed0d252a3e78ea10aea828d60cb38378862e94b52f99276f5813b5d50fcb5
*33e925bdb4fbdeaa36270afbb573d1b348ffb2f71b5e17bf104f56443e0c9258872ac9459c434a
*8772406a968bf7563776e2bc97e57c8fffb7682a3a4638319e01d0feb3db5da07b1da585a77b31
*bdd2bdc4f4a8eed502f472bbd754fbedbb576ee595eefddeaacbdbdf0dfc16d0ff1f917fa0b769
*1ee1f4b9c641c01cfdffea838db5f2f9ffe6e6adfddf527ed7d4ff5714cbdf5937efd2e83f8992
*7e2f19b277727204320a41f499e0de13a743e90228422f07ecbf4b8ca3181d1c67e9ece494b2c4
*b64a1de1d1f5c7807c8990e982f1309485ec7a449f02d01ef7af52f94eba765d29f96a3fe5ca64
*ad007610e21e4a4e41d142e2730818cfa62374ee8e629af18b1ee57c9f12fd1cc5a1e92975b310
*b5ffce654b650c710cb59df021137a0b0bc87f4a4a1734155472cc4e7ee215b4a80c0d9d8f9143
*f580ba044b1b651a809b6621ed93500a1786e2cdf84584f1bfc95ec334d874ec321c95d550f9e2
*47103d819ccb7130906f2ea00e3cf46897efeda4f16c92e43dc8da75f262b2f38173ca4f79394f
*eec963ba537d0131c7d3a479311e4959912f1801f2ab0e1decf30ff8915467ba039824f41d667d
*e5f6caef5a8254a75f4098eabcab7ad6553fa7fbd6dd65f4b197c69793349b9e4643d2bc01499e
*45c9887ce8595091c6cfd1bb1fd0f4442e63ca7b206aee9c0ae8fcc21d09a673ada1d882952ce7
*6f65ff695687fc8bd30d80f67fa1d3f86090c38782223a306c6aa25a39ce92f41c585f588f8284
*7c9a656c72f3afb4068d22589bc8b2065d260d423cf5837f34625fa4ee6961ac8460c47e09db00
*342780e9248405012a0e4e42192b2fef5b55c859515389016c7e561514da81ea31cb1336cdae00
*a65b33f0ba3640af4015d071b3e414d6ea18efb4032c54e5864067b86af54b074aa457200dc3ee
*272523edb0e329a22645892a0e07ae1c387993116e9ee81c9a700049fe24e1ea5a72714111c8f8
*5fd65f2f807a2ec44fa2f348ac88cec50aba038345eba378e43b0d289161491b00f813218a9883
*96e14be7045dcec532ca960cbc28358f329b7e71b2a861a52cfac5c9c2f85f927f7f7ef4a81c6a
*5166cdc358cd1eb1869effca2dfe3b0618ac6fb58c3f58d1fdcad214b3b0beb48c55a8ecdf4d71
*a3adf0ccfb45f416e618dfb7aa55e395cea9c69cf9c97158e53b946ab43f58dbb4d2368f74c776
*62a02f3c5f70ca0ced733a09d69489d1d5c14f421e85fbcac81137cb1f9651544d852fbaf0cf25
*4350345687a914a31d4c355dd660aad26d4c7d656c4c75995a4c35a97b6bb5c6c0aed657c8542b
*e787aa8ad58bf8e50385eaf4f5884675223bc340ab418b33742e0d52be22f4ad2d2edb5611dd15
*58f6a24d7d210f654d24510302362ab3f1c14b9dde6f1e51574fa37005b0528ab6c47115fe6712
*3e70cdaaf1ec2e742f19918f4a563c9fc3de7992a4c4e2fa6e3ceb3bd268848377ad7dfa5c2ffe
*84066f0b71342e3cbc8a2b72d0c161c0ec1d59fbb840dbf2ca36e08cd95b161bc84e4831a64609
*0d27d396f4a9c72829cd5d3d27852d1fceb20ce51adeab7a826225496e09d89150c62740d603b6
*cc9350ed7556bb5a360b8b98969144c4d966c361889d62b459e114a02d864ef686a51c4c170d39
*d097a18c1370ad3e20362a994d0630e0d15887d56a199e7d91d6116f6f15912d83e54ee31ddbe9
*f558b31b69c94e30e2442281c529ca71500c63ab2a29787096bb14d213b3ec9e5238b3b73c8247
*5bf9fbbbb372c75d08ecf9ec2de7f0236334c6b8f3f80efec1dc6c14637f18d642fa405ad711c5
*055bda55b505f47fb88c7c9511f835ecbf1fa0ff975bfbef6fff5b74fc29205bf82dee7fadaf6f
*3c28db7f3fbcb5ff5ed2ef5afadfefacec4582ec4b82fc23a97a955e97f832e5ad1d183ef2d76a
*b16fd2431d716e2331805d1437486c102b6407c1f08cde7a082d8f54643be29a9095210d8fb4d8
*428f773106b0bc0429303b0b477d562569b594658fed37c32666c260978532cc03e086d8b04ca8
*7c59bb1a671dfdcbb6a25081020189ff46be21b0acca5c5371e4cfd032101e09b582545ac4df8e
*52c58c26a26d1916b45133120832cc80aaa133c818f6515b85112d14b4518a013b115dc8cf2c34
*0d8c6eaa523c6fe7ac60e6a5928725a76c39a2446d404339cc164ec46caa427d32178e5b7aa643
*72581dd117bb5a018f0ee3578a7485c998ba159ff013fb92cf82cfd0f941cca14068dc51818ee1
*14f2541ad68b38f8ed52b47fbe2c42e680da2552d20a7f2086c1254119a2891ba9ee0be6e46500
*05fa9ef724bd15c3531553d1c284021020ad2120e96f3e2f222b33f2d6385c27211a37a90efd39
*1c065a6d9f70cf513c58cb8902d60b4cd22c1e49851cc3bb400e320f26a8a6cb61694270597802
*93210e730a2422670aea13f53c11f22602c538199ea6694e5871b7b082aec5e149d28462901021
*c808b39314c6f755909f85716c8b54b9a2e3f30812067194e7e3592c41c1a40aa7d0a3710cc8c5
*228829581ae93129ec8972042fc3da1a9a13fab4038f3486c58cce7ec6d105f9c19aa605864901
*88ecbb0a0ae72130fab8e640fd48df91d467e6b0d6055994e68f25c427a745317d7cefde344bcf
*c3c10844a2389de2f23588d3135ce3ee611c3878bf37884e56706c4f8359bcf2dfc1e76065568c
*571ead10c987c55309f0f5cf8fc5f359881dc9510f704ca57a3327c53332fc674c35b08e521a6a
*2a81c18d72b4df33167d088f27597009a37c1a0d60a49ebde924ffb5de7d06a4711a7c8e6044d5
*8d1233b2017527c59de3399cabe8260892b109b2132d01c197c165a1d6010ca9033d194d24014a
*1151635b590c6e72c76b3ceab1f7b8ab5c36e911899a6b20facd96639cf38d9f31c271273f0559
*7fbfd7e9ff19a3bef4bff4bbdd06ff6c736f65cc3b7da91e6f4a47e5660e1ebed8d978b0fe6fd8
*9e9547b46ef206446581201fd99b12c5472a78ae6eda09481e781c850a135c6a78b6c39282e721
*b06182b089c2e786d400d0468f6ee2686d830f51a60219e17cc4bd9c29459fc6e251e114e65916
*51357108bd89a79da1da107125ceb14550afa42f0ec739c32ee3b3975720fabd5a5507025fc4ab
*f50f6b950301ea7c6165daa8cbe4e459af0154c9bab900b8cdab80db68ccaa4ad0793259700147
*a5e20ad7ccc21eb33683b038c70395d58b47abb453ac5e0cc67a09c181ca60fdc830d0b81c3cdc
*d8f0c25b344636e84c55c12b39ac5333648f64d00d0d0856ca010cf9259e26273952109db6f0aa
*8438a3b206a31d0023486c0f2e3b7288c701ab98808c2edd4857cc38107160cc48419bccdaea05
*fdf834f1182dbad85b2075cf113b3fcea589b872258034ccbb828c94eeed31c486374b4ca26986
*cda74d02372c6bb6f4d4653bc34ac274c4addb64a2cdc9ae9d167bbdac368c0f513a6da068117b
*045026e25f5e39b7a3bec0c7636af2389ee5a764f64d7a237b4ad3e9e1299e62e1929698432ab3
*9d4439f2767e3408f22be5c3d1316d7dc5be19658eceabd5ae3979d11f716a9225aa6de6faebc5
*7b936363811cebea58c9cdd3bbb4726dce85b3b9209c0dd292ffe6cbd7fbedbddde15627123531
*94636f77390e2d653ea782560ba38334f4352f04f0d0212347fac61462022ef3bb84f46a550cc5
*99f2baf9055e9ef0f06ec1d78e1d5179b0861a39b9a8aa8c434f46a74386ef2b65422e3391433f
*ec3aa96393bae149bdaf5337ed54dbd67f0174b8edaa7e31429012d2483cdde21ef8f39fe1a5ae
*918375c06864b5ed9a186c581888b9284c24a90fd579cd57d42b1b102e56b3dbf80d2c8b41bcaf
*defcdec84564f3ca1db079cd0ea8d67cb52e98c899cf4dbf7aedbdb05cbfeec6f1750661934be3
*59fd7586a117f6c68c506b02c298bac9fac85946d0ec8052d9f73e9e5def02e38fe792c0d8e2aa
*d26a0d29e26068192b38c5557240f742992d8697070278620b604600572f36c6186b6dcdbbc469
*b813cc3174972bed31b80fcc09c1fc9301cf8704a50e2acd0fa876bdb95abb7ea21d0048203ec8
*570b8b8e44a2a3dadf91fdb87ab10623363271989a90029a05b4361644cbc64fd296c1507d68c4
*b18aec2a210b446a5dbb6ec618e81c041a20cf2b226d63af69dbe06f3e2dd6024f531ecaa6c094
*712e91cf6b0f4c94564b0fb477a25024a9122dc024a1993c5cc7990ca48a2fa3314f6b778e6f11
*2bd5d5b56cf86bf1566706162adcdae21dd6d411b875e04b68d71eeadac5972fc2e11ee9a75a11
*ae59ad081b5ad150836edfe69cf6791b6a53806aead86eeabf2d8a08be8ced94b1dd092db7e163
*bbe1e38deb347ca1facabdceeddbacabefd1f5eac3f53ac9fdfca7eef5636221cbdc636752fe70
*5cfa20594bae612886b93805c845d96183b56ae32a4d6bb977a3ca0184bf30ed880574d3e3615e
*710861f199244e0ef372dc3cfbf72b31dca78008f383b5193ba3c7a35cf2d17f921c601ddea31a
*bcc757476aa311a95f47764ec2a9a901e1e3d06a825a3a6a1a11d635e2fe951bb1b97023245be6
*59897466d861acecaa11cdcd1e3f1e5b0d374b494dd3c795a6db5b84311eb48acc95e89cdc1c6a
*37a36b606420ef5ce78437d6d277755d146db35ef23b363334e89ae9cbcf812c8dd25e0e8ce187
*520f21b3f8a7cac4e3325a4a82d1fc20a65699a99932a5ac72a6a88a18fcdc09a3806c34d5b7e1
*d4a7b28e9cbc3a2b4f8752663d0b183d89dcfca960c048b9c141b0b64e99b9f355756e3675c9a6
*d3259b4d5db259424f67c629a5b3ebcc12c172766b429d9195cdd9a273ca006ae843bd0254732f
*88a5e9f3afc4524b68169e0df5eaec9d6bd5db70495c59fdaacdd663e87b8c41adf1cbb16b534a
*bce83199921a3b4f27cb91f4a0834a44ce165b8e7a28d1cd3e64c73a542076c54cee8c2166017c
*a5cacc4a46bf3a6cb1f5ac7344a67c1fba0eb614a23bafa9fa18e16ed99580944bd9ec2ec1df19
*62e8c3afcd326f7d57ab17e6863c3dae3d500c6d16cbe24b8e499cacdd3d2ccd1be0feebfbaeed
*42e048a0e39d53f111737d842c7a6e70b1532e5574a5c6ea5814945ecedf845da7c031469550ed
*9e390febc26c4c985555fb11593f1aa65c626df182d458590ca7488cf7a1b90350337cec837484
*05b13f1c48676be26c5d9c6d94c77c4d9cf2a0433d1d497bf0c51afdae3835d9d7158d60f6497d
*be0d5170be02dd5b9dca23bf8abf052494aab3051cd00b71da6500ec6641c2d09722b03b71600a
*9fff0517acb90241688f8998e5b9a4973b900704ecbd5f6554554a2573611224fdd98976bf58cf
*aa7f6fefaddb3f9ffddfcb2c9d4dbfdeedaffe5dddfe736373f5d6fe7329bffaf1ffdaa83fe6d7
*6cff89de7ed7caf6bfabebb7f11f97f2bb59939626234ea2aa7f327fff27d8a69bf6edbfd2a568
*397867fb2428c21e543ea0ab131e77ff6ea77ecbabe8564d0b04fda9f5e74f60e47768a9be9d8e
*2d55d7c26573bd97c117f4edcfd534f570b5738d777f683ae441f684e08813644ce86609ff43a9
*c0d647c92cc7d8cf08c99b5ba56d8913d9c496aaaf01bace02c574677ca3f95fbffeefd0810405
*7dffca5d60cefabf81c1fe4afedfd7d76fedff97f2bbd91563fefa6f51d51f6517600762519857
*d7ff979ef57fb1e57f0f4d6d471c821e0d4f69a582d74fb3208ec65138aaec13fe4e44b727bc8c
*74b290c39084df3a8e707524abfb8159e7c9517939734f686c4da6bfcca2e1d9ce69383cc3d8bf
*3044d8e932fb143e7cd0653e10cd7c4077b5593498e99830e5dda2bcf25b5d54bb5b1c8779d137
*a89071547e0ac38916e631b9b289c38487763f4c123494db9e9dc03a92e769d2460f1d79f198cc
*8fa5c5752053fb68699d4fd382acad81b41fdd5b7d782f86ec2b41325a19a733f8371aaf442be7
*5954842b6bab8f56a2a47f5a4c884a8351302d986298ef5006e868e43f456bd4827735b4c50612
*4f1320f0bca5dbcc1eea8856263d22c013f4a59370045c12b913d6fc9b2217abe27255597ac0d3
*1341b60ba223f733c8d0c5ebd5f47cb9da3539f1385038de265dfdcc9861538aab161993b15ac9
*2e906ef05e72dd1796547fd1c54bdd1f3fcdd2e2a358ef964a5d221a6b50eaa294606372528508
*205704faa950702d00276c4b578ba0079c85a0f8ad1645ab5039d395d175b2fc06bccddcf943d4
*b1fb499cf4145bd213dbda8cf6a44230279a5e127df03dbf921333b65b6609e036fd44868cee67
*bb19f6f7cb5b2dcecdfc7cfcdf21ac9537a8feb98efe677d6dfd56ffb38c5fedf8330bb70cfdcf
*fdb54afca7fbabab6bb7fcff327ed7bfff7bb30c6693e480f4d8e7841f566668b8eebb8f773bad
*3b9d924f96f72765bcab3c9c44f211731e8578b7085d92c127f200779c8ae0339ea9e275a31464
*84d0c46c1af2b0e0cdde505d68ccc24fb348dd422a88c1a25b9ae46783142778c117aa9a58010c
*11dc540166bf2da16863ffb7bfb14c618db14fbd84c95212c0ee94c420d54877fb4a8f74881dec
*26f6efaa44ebbb57ab7428afe8ca6f5a1273744e25d18bbf4a0f27cf908bb98b5cccdd3ed91fe3
*1bf06677c9f2f8598bef6c76e4d978d6abc48eece90839c46299960a3c1cb3bc34438b915fcb4c
*a46bcb6bcf333c41eedf45cef02e71a4f4a650bb3a1a56a796f1e8730ccc898e773971ba82dadd
*6724e89511b3b170dbd82b57d66563025db71d7ca35cd4794faa3d88ceb3ed73f18c31c28f5b68
*d08de8f6f86bd25db89ed27beaafb7977a6bc6cf95bae5dff4fa3894dea77538f5a6355861422d
*5ef2eff4e6f02bbd7faac7b7f7a916634c9a8bb3fcfbc989e252a2b93211269e5950a6257e07da
*462313a672984609fded5ea1aaf287b4a66e979ed4177ffd3d917e3d1ee50f53518b994b55e65b
*33763d0079f358963f7c6a42db252efbeb62a8f7003c37c16a838d7e89a45c6a9a5bc67a4eabe5
*7be9d52058cf531fb4def4faf0ace74f7ed8d0a9b712fc8ff0ab95ff50a11306d771f75ff9cd91
*ffd61f3e785889ffbc792bff2de5774dfffff5d17e97ed1b8a040749ac7f44e9705b48e4a59cc5
*52611b3fb6fbe8423114e7e87946c971a22d15a26d765911e524428a88ced3f2cb09e09a454331
*8ac6202292271494f292b4c0e87effad82e090d70174123ea1be42fc87451fa5cc93b0304e9230
*8774c383de5df0bff69b0ceaa6e38f3b66045060ed430afe176677d08d3fb7818e2b4289fa9fff
*dcbed7fef2a5bd3208d01f11b961b2d4c32b715014302ea28de094d879939454953915e934ca9c
*98095f3beaa1876d522fdd393265bd3394da332715434c5501cc877efcddae1bc52f7c16ff680a
*23a615f9bd9d543fdb6c8a14f834548fbdb64e7b11c439a7e94f81a5a6d71f0776a14e27c0fb7a
*832e5af72231c23b3c0d9c788a7cf0e041e244db51e8c43e41e9db7d61b7c715693d20d3c40177
*9ccdaa6d2a6046e7b52d920db06a45910529f775186494476366fc07e3749b934711bfb7b8fdb9
*ea969848c1d35ab20137c81bdeab76ffa7097d13dadff9f67febebe5fd7f7373f3feedfebf8cdf
*cd2eaf73376aa4aa3fe02efdcd7721ea17ff16c45b2b2e17723352cb43f3ae63156ba948247a57
*257f42e8334d2e1fe8be07dd4cb6dd7593ddf0699f7c54136dda42b4696d6c9bed5be9b3db1872
*a0dd57fabdea7a17f4aaeb644052a25ef7825bd97059bfdaf51f830bbe9e4d9621ff3d78b0792b
*ff7da7df3cf94f7d424f7fe145f187910825f9fe01f71a58a8cf3364a665d48458591ea22c86eb
*3139acccc9379abd80b7a1b9bcb04b49928e0d7f394dd98d6e4fc100b02859003f28453f345c1a
*84a20029d338799d15a7ffb28c8d4f8ed39c333f99ab23ff92f4259fbfa1f0a5700b807356cfbf
*5b55a3ec1594052f12ba10c7b93297046d2ecbeafabcf76551e2261b2c200c369b5357f1b7f0ba
*800fb0340cf5c345e3752c2a8df08d886519e3fb9075252b3f7016ae6c8c39ec09310d58e95d8e
*3c2523f1095843661372629d873d01dc04a6b481d9d02e18c98132ea129082f3301e7b50abb015
*16729eec55d6a439bf664fe6812d65a9e94825b2a91ef2f7a414dcacae6cdd2873542fffddd8f5
*afb9f2dfc6fa83b2fc8721616ff7ff25fc6e767d9f2ffffd535dffe2c8b7dfe8f617ac910b5d01
*73faf5db0baa732e80b9db43ed35308f60db74d3cb0bb541e2fddeb3ea8ff36bb6ff0cb2ed0cc8
*19e65534bcfe5e3067fdbfbfba5ebefff570edc1edfabf949f23ff1d06c9d96b94ea2cc16ffe59
*e0d1309d8623fcf4d7208b70fd848fbbc8b522353d0f87318293074f41fc9c022c87c930c27c58
*eccd94c3ee7e3fbb529bce3dbb536567ea8937717822fe23024ef432fd4c62d9cee92c3959199e
*46e1a9383a05a616326eb2b2acf4bbe2bee6d4fea4bccb3dbd11d91376181a45920de18d858e11
*8f1d0943a91aa46f7dbbac66541ae543c8de01b90cfe74a5ed4990c90d67a66e90e1beaceeb01c
*58298b898e87e1380e89828d7cd809c4c7030c649ba3e5d901cb86f041c98504be221ca24b43d2
*8d4a3c054aec5fe05f747c660b688c2302e334a8189dcca38a852eeb58e5addb39ac4a0dc8a59a
*c1cf2a0a029e7a6e9b787356c556f2bc6a24d2a5ba4a407212a00f280bc5fd552d83acec145e0e
*070a3f39b6d3b200e36e0f4794d613523e522645e852d52ddcf5f6e107ba6d44a0305fc7341b7b
*17d0f0108774102c9b6b3a15b8400c1b92f79d0184e473430d90efdc0b73cb4786fe61f066ace0
*746e466061c46aa1773e6005e75dd1898886d123d896b9e89685d1f852571f89ce7f728182e09a
*0b723c093ae4a359d56d8d520180ab2672351446c365cd33d33f07d0b89fe0df814dd198f72721
*63d7638e155f8e153bc75d5f8ebb2a87d48a740e101f37974c9212beadec88dc8c4e12e7cea313
*f403bc25c22c03a9e2ce204bcfc20483d4c07281d14f688129d2f330bb4305820179a85aacc082
*7dabf44edeeed57aa7665d537305255d91b722d61579f4438bd521755c5ed05e9d5645f165b95b
*d0de1616acbcaa71b296c1c54078b4505786613453d7a8be54ec7b33a4b7bfa5fee6dcffbb916b
*a0280f5dedfee7e6e6c6adffafa5fce68dfff6ac48319ee3f0b9b4272c22ba1d76156dc01cf97f
*e3c1e6ba3bfeeb6b0f6fe5ffe5fcae7fffd32fb385fd3a8aa93be253373b594a7bbe901f0fd48d
*a29214b5a56acfeef11edff5e805fdea4259efd50f084bc1efa050309292cc73baa5b6c57f5d2e
*42dfb6b3efd62916ec395f76f3b05fcfd5a3e549e3b9b8705c5b3e179722a1bcca8d4267027f93
*9a8b285edeac8201f365cfe9ef6f6196da354bc348a75ebad7c7b7fe12a85cdef4b33160562db3
*6e874c94b38989cdcb5550517c5c87aaef728dda0349d73ccbd360d53fc8e995b0541fb98fd45b
*e294d31c61b9ac9520cb5b5fdcdeae70864eb36b98476e78f902d41c301e06b202473388d5e286
*77f4d45e2ee10e9753cc2a37141fe50cfa88c5ed5759501e7d0e3d632dbd155397f373573f488f
*bbd2d72e8f1665d4df9018f48b4b0dcae1b01a4cf9cee3a85eec6618ef2799ed0a859b60deab4d
*30d107b7441c8d8b8375a8d27cd44f2c099e665172a6a158253a3229ebea47b79f2dbb0244d17e
*6524ed2f553487695049dd72be66e2e913e7032c69bfafacb0a33cb10aa9ad56e7e913ba036cad
*279f43d63b7402cbbdfff6735653e0dfae7a507f5b9d3156356e7745f08cb2ae8aa02d27fa18de
*a00b82362c31e336cadbbcd66e3fa74b79f4a773105c0e42aa252b2b1778e175965bcae65b6dff
*c35e66b799727ec28705165887eccb745eae5193f950d95592a7f06d8bea8778f9e11fdf58206b
*b4ffbe212730d7e0ffd76efdff2ee7d73cfec7593aa570c45f65073287ffdf7c50f1fff2607d63
*fd96ff5fc6efdbdcffbbd9e321fc874ef1e6dd2ce82b7ae5bc0bda98349fc62d646732f708aed1
*d66449f70b4cef5405b192e0c3b258fd2d0572d7a8c0110b49a630b25c4411dee526dad3f93aea
*a1771216ead96fbe3947e22a871baf17e1f004891e7ab4e32ae9aba7f4d93d15dfc16f4de283fc
*06e847c9a1aaa5d279704263fbd8f44c603e6f99afafd3e294ae6fd1bd8ce353fbbea378d66983
*50d2eeb57f6a779ff1958a676de07dc20be93094ec8bda0a6efb599fcf987fc150c8cf8267e234
*c0631f3c37d1ac0915b1fdfe90c95216e678e93317295ed9a440d1898ea0cd4081eb4b720c6d0d
*f54257a700b850ad501e8bfa62af20b363b2e11c31ec55fc82964f7118e48508630af4ce4031aa
*b4b28312e2897492790abb4c900d4f4118cd57d219b4bb08f3fe38bb374a87f9bdd5d57b6b6bf7
*361ede7bf86ff7de3e7f6136a6e968fcd49cc89a8eb7fb9bce65f51bf2aac42cd61fd12e786912
*2981185d7ce898ba6d3eaf3ce8142964320db2f0a3276d4becfe656eb172342cc107432f392049
*35b5b9c2fd63b7c2cebfc38e886df014e3b401f2e581953ef0f58962b5fddda2196e67ad30874c
*30057c40d5ac0eeae04a73599dd8178872132829390094c54036c38a92b759946638e11786c897
*58ada256152a588bce5b0dd862d76101edc8f4c0a65815a4c5038e03b534755dad09b8bf95ac3f
*62b07ff258af578851699514059788c343a1b2808f3eb95efb3418c0560ae87950aacf92ea6890
*6dc383aadac66a7f53418fa266c19246476317b811feaf99ff7f1d14b3ec6bd9ff39fcfffafae6
*c3f2fdaf07ab0f6ef9ffa5fc1cfeff1d3018c36814b8228063a277851b611e6902d35f049388ee
*347d8f6b616c22cc54fdc39aa1bbf679c4d88c65a74167db57c57893e5eb61584abbff8e78a9cd
*45a72d5b8baab584b838f9b1ad8020039a70268284abbc64fd89fdc48b66c0b3e1cd31b95af497
*23afa871aa8a2bae34024ba595b3a71ab3d04912c8029d7e57b3ffafd99e063dc507a3e7e1b087
*de4fce61e3ea966590eda9de01fd07428d02c5559c4b1a97949417e3fc796de42bb5aa3029554c
*eb6deb7d39760220a694cc8c7cc947741babfa1def331d1559cd25bc7d581c90813f02ba1a866f
*d39c2493a69c18f0ad0f63928ec2cc978f75122817bec8426f434c8ec3fd5d27c351f86916caa3
*12740e284948dbdb85e4dd5291994a2dddcb5252c86b9dac9e4802795d85e9134060f7b7593614
*45341ccbf5217cce81988732d2602124c55a455194f114458a768b4a1a2ff17ad592ea0b7255ea
*796035d366b74cde1527afcd084a533c512a70b70eb8b6ca436b3860d746ae2d9dcad9579ffa56
*b7578cf42e40f6bea08006ccfc49c33a050412ee689346f3737df1abcc17b6ad20863d903113e4
*970f35e04d7fef26de0ecf6743588bd4777254aabb030f59d7b83ba6192c243adb6ab7a1356ed6
*32c41505b14809a304da9bc8a00f751075560b92ee67ae44f7fd2e0f949d4c69217cc7e5a20633
*3ce9fe6832254e9963545bd8e5ccf3b46bac52a12153403aa9058b708e53c800f9565bcde35d2d
*49e55cbc523f5693fa9651f5934aeb1a20e9e7b401aa6ad844a4eec2127b48ae480f03bea80100
*ad17672e19287a947d90d454db2acf4333d765c88a9a092f532b4bcac72c9cd417a2c46a9951f4
*b9be0c2556cb90bd7a5d194aac96419c0fcbf8e981fad4534fea3c50fc4fe7532f934a155d78e0
*41ffa08ccda25055595b53231534d5715bd0f2b7a405a8c2996fd85b11a5158d34b8cbaa64d1c2
*7195382d17c27adc54f77c4043155c983bdd5275f525fa772b252a9949ab1b8da00fd302187cc5
*323722b50d1cb674ae839db5aa50b3cea23f289fe293666c4ba008e7521c9e896ac744d4b603c1
*3477e4761cdf18ce2ea8669ceb518ee70dfd8b2863c5d10de1ed05784dec0dac398dd80f6eb60d
*1e78d76d8204d5dc00f20fa99dd37d7d037cf0ae4bf50a16cd61daf7f5f46d6cd3afc17b593d79
*e6c750d4d1542eb07d13e8acb11d160cf4aabfd550bc5ab2baac4f4a2ed4ad7d0bddf477af84af
*0dd34b4425a0f31b60e0d580f2e99d3dcd0179cdf298b160735c0f2065045c80f39a623971f181
*59b8196f33f8322cfc4da120160ba25f01a43ed004d06c248056099d89f82f27e2416d9b0cece6
*f900726c324aaf3a2cdee694005d716aa8e2f3e78729f27cc6acf58d4e9012d0af99201214ad51
*b68a65e1069a4237de4c2fe8af69ac03909a7ce4f8fe99db58cc7ee3cd2c01fd9a064a507234c3
*50681d957786d93d13863732c34a80ae3ac364716ac0e1fe2e8ccf274badf1a9b2e4999232f755
*1ba1607a1b538539af3d0a5c3d246a9aa3035565e5c74bbc265bb3aebfa415e8ecaa8d74217b9b
*5a853cafa92ed07a788b7313a2b3a3734c6e7c9af9617fcd6c7321d2c06ec745982552f7ad6058
*2a7331ae6dfb71167c0eb31c9ec7576b7905bcb7f93ef0f31a5f81dc08d41a68ab1b1a5a0cb9c8
*a4e06aad2d83f6b6b60c7a6e4bcb506b01e2305b56fd76b9fa805b569ba76846b1186d2f5a91bf
*074a15d5f4c0a275d482a70e11f2b8c89a35c1a869e4396cc01509dd82ea6f7219ea02935b01ac
*87d52ae57f8b9e17ea9b4679905dbf326597a07b9be885be50330de066982e7d5b4517a1ee03ec
*b26b50774d354ddd7055e2ae6f492d70266d796028bc1c9425393a278f86086b5512097edb49e3
*d924c9c505a4a9e7d27987a0d87ba6c87e9484b988e9ba073f570bc45d31347a0f400a1ac425cc
*b3815878fa0e3e2636e9fb39d79a36cbf1606913e329d6f27b5508569d3ba741a68ce1ea79063c
*c8bd2ab35081ec6d5e09f25c86a80cb40e5ebddabb56cfb29f5e5dbcf280f6ebecd22bc9571eb0
*35105b347f8edf3c7f236d431c9386fe5d325609b23c1c1e93c0027259981de3693bbc013df7d4
*c9764fd0c111096cee013f8a0980633034b55333c846394f27a154bc25a98a6efa3a4d5e2bbb96
*800c93d10422eff15cea8977493e0570237c8ad1890e66799740e97bf4ef2f00191690608aaef3
*01c5b018f6d96ee7023e4718c52cb850b697f445db701a3d3e16d0d133480cfdf44fe12a638efd
*5f78133e60e7dcffb9ffe041d9ffebfd8ddbf81fcbf9a1fddf9bb7c77b6f5e1f7d78f96a47ac8c
*9374e53cc89295349b9e06099be95df39690cf9ef03b9afd857f00d7b378a744f51446db72ccfd
*9e9393306025ca11a573275cb4d80511ef92e2763003d5961ee54722c8d259420b6460e27a2863
*b45c8c66e8438a2e6e5871b9104558873b4f9f6e7565908f898cf2211de586a1bec7314c93f3e0
*b29fcd0ab43fecc3ee7aef7f86c31c48e9de797416dd1bc4e9c9bd699a17f93d5cc65fcf2603c8
*b776efe9b2c2ac188fb30b38b0951685e5836af9b9723aed353974f750b4e74263b18a216029db
*2f47fdfde0b74bb403dc879745f2a3a214b5f3b938c212f38a008116a1a9845e172b6355c4a5e6
*15fb0576d3303375f1fb82a5acda64b92b9a315a6cca95cd14eb8c1b8d9ab6c6a4535b1422dea8
*136db036d4b7de2e8a3eb3577d6041742c6d6956075202ca036407076bd64fa233a02713d1bbc4
*e8f9940e8e2dc584e525bd1098eb5e595e12244ae5fcd7199432fb1a45ab8a7e6838b6141af913
*36774b190062c3832b35bc6266b258bb3dc5bcd73f2aad5eb460b5cd68c3cdcb765bdfdeb330ea
*1c84413e430bbecff31bd931648fd9bbbac92e70f858dd2ed8eedb8afca42e104ea7593acd2214
*372bb1a2144c048906e96de9c942c7abe4d8246544dbffafbd6be96d1b86c1f7fe0add660369d0
*6e2b5614cd65c06ecd69b90545e00c291a2049d1246e3c603f7e22f52029cb928779dd25065a24
*3245520f8ba2627e544b291cad9b343f891369d1e6f936f553b8ec1e13f7b54d9d7687e3fc1a00
*70e8c15b55003bba553eb4b4334ac8fa4d9aba56c14fc3eca8838675d7c1e7bb5b83f5ff19ca0e
*717efaf37a189097316c33b5eac5e5946f279834fd37537b75eaa95b9eebc33fe16a0d93b55833
*cd79206d3bf80eb7ff4ffb7f90d0f5ef538064fcbf2f9f6f42fc871bbd073ffb7fef71bd57feaf
*81b6f4fd3c3d3d6dfb3a7a009b04af377fdb6cd62fa6ec36eefc7d82e2617c3f3c64abf7bb3007
*a349ad6c03ed192680f5b9aac62664048080c17ca52e37093ab1ed25859157f8ca5c81ff01d601
*3f94f69e3b4683b0e8afe0778efc29dbb46ab0a41ffc034540f588be4a8143e4801d52608017ed
*2c9af5618d898261b67f38a865bdde1c2fd73b854d43c80433b6631f1a84fd83e804e613060699
*8fb1646290c519b1081095c0b2cd0313144e816a6482d405f895d54184e353e07dd5c897c0b776
*ecf2ec83a8f08818f7163844f7d31be25b3b17b0282725e23a3841b9aa6df3dab726c55ff7adc1
*800a22fd600100f04e24d8dfd46847fa7b4e6ef6141de1fd210317db1f0ad40b64470dbdd45b48
*6c373f63f3fff4bcfef10ca822075c93b027dc12650715f3bf57107674a90dc9e108bd084fc2d8
*60b8115a02fc8461596831acfc97728b857c36fc73c17bc00d46c1611844d23bc38984d9f9dff8
*72371bbb703e629cbde64add4f1804c7c4e515f795164040e4139f4d9db5f87e42df9618c0a14b
*966d2e4e69124345bd08b8a2460fd91680c7147823a2db58b921643505216b9a2114adf35f0a77
*1b436aea1677527da26ad91643f1c6157dd314616baa26422404018568461dea0f1409fde136ea
*bf68b1e5fa4f69cd13cd0042d9dfede948988e558044199b9a1c8cf2696f0e9e7eaab92aaed568
*bf3ac22ec435b88cc43b9a6ba4c9af4666212221647a52f5488cb3f9eaf182702f3dbba6e44bc0
*1df5cb5d20d781613625b199d2833d67dca7f45ccf1fc5c21774a240ca8c752347c16413042711
*643d02b0912b1bda5b06f48221a3bf76f46a2ce8ab501ecd1021efa39797c0dfe95808ffc8e013
*d3c0c6c79967cc7c846fe4b48438c70077dabb807405b2e09c2e01e5537535cedaee08564f1e0e
*28c151d05a589a32582962a406f2a6294bbe123519c0a3a6bf568c5668c5ad679b34ab95dbeaf8
*9bc16e67c11f5dd1056e33249f2992fce413b2583e1193dfde3145f4709b263fd2ffdb553f5fe7
*eb7c9daf41afdf806a54d7007e0200
}